diff --git a/assets/cssMode-5b60e482.js b/assets/cssMode-f58d3439.js similarity index 99% rename from assets/cssMode-5b60e482.js rename to assets/cssMode-f58d3439.js index 82b5b963..cb8a759d 100644 --- a/assets/cssMode-5b60e482.js +++ b/assets/cssMode-f58d3439.js @@ -1,4 +1,4 @@ -import{m as De}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as De}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/flink-c6e91e25.js b/assets/flink-6893ef49.js similarity index 98% rename from assets/flink-c6e91e25.js rename to assets/flink-6893ef49.js index 3cd7fb6e..b610189e 100644 --- a/assets/flink-c6e91e25.js +++ b/assets/flink-6893ef49.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const A={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],folding:{markers:{start:/((EXECUTE\s+)?BEGIN\s+STATEMENT\s+SET\b)|((EXECUTE\s+)?STATEMENT\s+SET\s+BEGIN\b)/i,end:/END\b/i}}},R={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ABS","ADA","ADD","ALL","ALTER","AND","ANY","ARRAY","AS","ASC","BEFORE","BEGIN","BETWEEN","BINARY","BOOLEAN","BY","CALL","CALLED","CASCADE","CASE","CAST","CATALOG","CHAR","COLUMN","COMMENT","CONSTRAINT","CONSTRAINTS","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DATE","DAY","DEC","DECIMAL","DEFINE","DELETE","DESC","DESCRIBE","DISTINCT","DOUBLE","DROP","ELSE","END","EQUALS","ESCAPE","EVERY","EXCEPT","EXISTS","EXPLAIN","FALSE","FLOAT","FROM","FULL","FUNCTION","GET","GRANT","GRANTED","GROUP","GROUPING","HAVING","HOUR","IF","IMPORT","IN","INCLUDING","INCREMENT","INOUT","INPUT","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","INVOKER","IS","JAVA","JOIN","KEY","LANGUAGE","LAST","LATERAL","LEFT","LIKE","LIMIT","LOAD","LOCAL","MAP","MATCH","MATCHED","MAX","MAXVALUE","MEMBER","MIN","MINUTE","MODULE","MODULES","MONTH","MORE","MULTISET","NATURAL","NEXT","NONE","NOT","NULL","NULLABLE","NULLS","OF","OFFSET","ON","OPEN","OPTIONS","OR","ORDER","OUTER","OVER","PARAMETER","PARTITION","PATH","PATTERN","PERCENT_RANK","PLAN","POSITION","POWER","PRECEDING","PREPARE","PRIMARY","QUARTER","RANGE","RANK","RAW","REMOVE","RENAME","RESET","RESTRICT","RIGHT","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SESSION","SET","SETS","SHOW","SIMILAR","SIMPLE","SMALLINT","STATEMENT","STREAM","STRING","STYLE","SUBSTRING","SUM","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","THEN","TIME","TIMESTAMP","TINYINT","TO","TRIM","TRUE","TYPE","UNION","UNIQUE","UNKNOWN","UNLOAD","UNNEST","USE","USAGE","USING","VALUE","VALUES","VARBINARY","VARCHAR","VIEW","WEEK","WHEN","WHENEVER","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],operators:["EXCEPT","INTERSECT","UNION","AND","OR","NOT","DIV","LEFT","RIGHT","FULL","INNER","CROSS","OUTER","JOIN","NATURAL","EXISTS","IS","ALL","DISTINCT","ANY","BETWEEN","IN","LIKE","RLIKE","SIMILAR","TO","ESCAPE"],builtinFunctions:["POWER","ABS","SORT","LN","LOG10","LOG2","LOG","EXP","CEIL","CEILING","FLOOR","SIN","SINH","COS","TAN","TANH","COT","ASIN","ACOS","ATAN","ATAN2","COSH","DEGREES","RADIANS","SIGN","ROUND","PI","E","RAND","RAND_INTEGER","UUID","BIN","HEX","TRUNCATE","CHAR_LENGTH","CHARACTER_LENGTH","UPPER","LOWER","POSITION","TRIM","LTRIM","RTRIM","REPEAT","REGEXP_REPLACE","OVERLAY","SUBSTRING","REPLACE","REGEXP_EXTRACT","INITCAP","CONCAT","CONCAT_WS","LPAD","RPAD","FROM_BASE64","TO_BASE64","ASCII","CHR","DECODE","ENCODE","INSTR","LOCATE","PARSE_URL","REGEXP","REVERSE","SPLIT_INDEX","STR_TO_MAP","SUBSTR","NOW","CURRENT_ROW_TIMESTAMP","EXTRACT","YEAR","QUARTER","MONTH","WEEK","DAYOFYEAR","DAYOFMONTH","DAYOFWEEK","HOUR","MINUTE","SECOND","FLOOR","DATE_FORMAT","TIMESTAMPADD","TIMESTAMPDIFF","CONVERT_TZ","FROM_UNIXTIME","UNIX_TIMESTAMP","TO_DATE","TO_TIMESTAMP_LTZ","TO_TIMESTAMP","CURRENT_WATERMARK","COALESCE","IF","IFNULL","IS_ALPHA","IS_DECIMAL","IS_DIGIT","GREATEST","LEAST","CAST","TRY_CAST","TYPEOF","CARDINALITY","ELEMENT","ARRAY_CONTAINS","JSON_EXISTS","JSON_STRING","JSON_VALUE","JSON_QUERY","JSON_OBJECT","JSON_OBJECTAGG","JSON_ARRAY","JSON_ARRAYAGG","GROUP_ID","GROUPING","MD5","SHA1","SHA224","SHA256","SHA384","SHA512","SHA2","COUNT","AVG","SUM","MAX","MIN","STDDEV_POP","STDDEV_SAMP","VAR_POP","VAR_SAMP","COLLECT","VARIANCE","RANK","DENSE_RANK","ROW_NUMBER","LEAD","LAG","FIRST_VALUE","LAST_VALUE","LISTAGG","CUME_DIST","PERCENT_RANK","NTILE"],builtinVariables:[],typeKeywords:["CHAR","VARCHAR","STRING","BOOLEAN","BINARY","VARBINARY","BYTES","DECIMAL","TINYINT","SMALLINT","INTEGER","BIGINT","FLOAT","DOUBLE","DATE","TIME","TIMESTAMP","TIMESTAMP_LTZ","INTERVAL","ARRAY","MULTISET","MAP","ROW","RAW","DEC","NUMERIC","INTERVAL"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[[/(EXECUTE\s+)?BEGIN\s+STATEMENT\s+SET/i,E.KEYWORD_SCOPE],[/(EXECUTE\s+)?STATEMENT\s+SET\s+BEGIN/i,E.KEYWORD_SCOPE]],complexDataTypes:[[/DOUBLE\s+PRECISION\b/i,{token:E.TYPE}],[/WITHOUT\s+TIME\s+ZONE\b/i,{token:E.TYPE}],[/WITH\s+LOCAL\s+TIME\s+ZONE\b/i,{token:E.TYPE}]]}};export{A as conf,R as language}; +import{T as E}from"./index-e7f600bf.js";const A={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],folding:{markers:{start:/((EXECUTE\s+)?BEGIN\s+STATEMENT\s+SET\b)|((EXECUTE\s+)?STATEMENT\s+SET\s+BEGIN\b)/i,end:/END\b/i}}},R={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ABS","ADA","ADD","ALL","ALTER","AND","ANY","ARRAY","AS","ASC","BEFORE","BEGIN","BETWEEN","BINARY","BOOLEAN","BY","CALL","CALLED","CASCADE","CASE","CAST","CATALOG","CHAR","COLUMN","COMMENT","CONSTRAINT","CONSTRAINTS","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DATE","DAY","DEC","DECIMAL","DEFINE","DELETE","DESC","DESCRIBE","DISTINCT","DOUBLE","DROP","ELSE","END","EQUALS","ESCAPE","EVERY","EXCEPT","EXISTS","EXPLAIN","FALSE","FLOAT","FROM","FULL","FUNCTION","GET","GRANT","GRANTED","GROUP","GROUPING","HAVING","HOUR","IF","IMPORT","IN","INCLUDING","INCREMENT","INOUT","INPUT","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","INVOKER","IS","JAVA","JOIN","KEY","LANGUAGE","LAST","LATERAL","LEFT","LIKE","LIMIT","LOAD","LOCAL","MAP","MATCH","MATCHED","MAX","MAXVALUE","MEMBER","MIN","MINUTE","MODULE","MODULES","MONTH","MORE","MULTISET","NATURAL","NEXT","NONE","NOT","NULL","NULLABLE","NULLS","OF","OFFSET","ON","OPEN","OPTIONS","OR","ORDER","OUTER","OVER","PARAMETER","PARTITION","PATH","PATTERN","PERCENT_RANK","PLAN","POSITION","POWER","PRECEDING","PREPARE","PRIMARY","QUARTER","RANGE","RANK","RAW","REMOVE","RENAME","RESET","RESTRICT","RIGHT","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SESSION","SET","SETS","SHOW","SIMILAR","SIMPLE","SMALLINT","STATEMENT","STREAM","STRING","STYLE","SUBSTRING","SUM","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","THEN","TIME","TIMESTAMP","TINYINT","TO","TRIM","TRUE","TYPE","UNION","UNIQUE","UNKNOWN","UNLOAD","UNNEST","USE","USAGE","USING","VALUE","VALUES","VARBINARY","VARCHAR","VIEW","WEEK","WHEN","WHENEVER","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],operators:["EXCEPT","INTERSECT","UNION","AND","OR","NOT","DIV","LEFT","RIGHT","FULL","INNER","CROSS","OUTER","JOIN","NATURAL","EXISTS","IS","ALL","DISTINCT","ANY","BETWEEN","IN","LIKE","RLIKE","SIMILAR","TO","ESCAPE"],builtinFunctions:["POWER","ABS","SORT","LN","LOG10","LOG2","LOG","EXP","CEIL","CEILING","FLOOR","SIN","SINH","COS","TAN","TANH","COT","ASIN","ACOS","ATAN","ATAN2","COSH","DEGREES","RADIANS","SIGN","ROUND","PI","E","RAND","RAND_INTEGER","UUID","BIN","HEX","TRUNCATE","CHAR_LENGTH","CHARACTER_LENGTH","UPPER","LOWER","POSITION","TRIM","LTRIM","RTRIM","REPEAT","REGEXP_REPLACE","OVERLAY","SUBSTRING","REPLACE","REGEXP_EXTRACT","INITCAP","CONCAT","CONCAT_WS","LPAD","RPAD","FROM_BASE64","TO_BASE64","ASCII","CHR","DECODE","ENCODE","INSTR","LOCATE","PARSE_URL","REGEXP","REVERSE","SPLIT_INDEX","STR_TO_MAP","SUBSTR","NOW","CURRENT_ROW_TIMESTAMP","EXTRACT","YEAR","QUARTER","MONTH","WEEK","DAYOFYEAR","DAYOFMONTH","DAYOFWEEK","HOUR","MINUTE","SECOND","FLOOR","DATE_FORMAT","TIMESTAMPADD","TIMESTAMPDIFF","CONVERT_TZ","FROM_UNIXTIME","UNIX_TIMESTAMP","TO_DATE","TO_TIMESTAMP_LTZ","TO_TIMESTAMP","CURRENT_WATERMARK","COALESCE","IF","IFNULL","IS_ALPHA","IS_DECIMAL","IS_DIGIT","GREATEST","LEAST","CAST","TRY_CAST","TYPEOF","CARDINALITY","ELEMENT","ARRAY_CONTAINS","JSON_EXISTS","JSON_STRING","JSON_VALUE","JSON_QUERY","JSON_OBJECT","JSON_OBJECTAGG","JSON_ARRAY","JSON_ARRAYAGG","GROUP_ID","GROUPING","MD5","SHA1","SHA224","SHA256","SHA384","SHA512","SHA2","COUNT","AVG","SUM","MAX","MIN","STDDEV_POP","STDDEV_SAMP","VAR_POP","VAR_SAMP","COLLECT","VARIANCE","RANK","DENSE_RANK","ROW_NUMBER","LEAD","LAG","FIRST_VALUE","LAST_VALUE","LISTAGG","CUME_DIST","PERCENT_RANK","NTILE"],builtinVariables:[],typeKeywords:["CHAR","VARCHAR","STRING","BOOLEAN","BINARY","VARBINARY","BYTES","DECIMAL","TINYINT","SMALLINT","INTEGER","BIGINT","FLOAT","DOUBLE","DATE","TIME","TIMESTAMP","TIMESTAMP_LTZ","INTERVAL","ARRAY","MULTISET","MAP","ROW","RAW","DEC","NUMERIC","INTERVAL"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[[/(EXECUTE\s+)?BEGIN\s+STATEMENT\s+SET/i,E.KEYWORD_SCOPE],[/(EXECUTE\s+)?STATEMENT\s+SET\s+BEGIN/i,E.KEYWORD_SCOPE]],complexDataTypes:[[/DOUBLE\s+PRECISION\b/i,{token:E.TYPE}],[/WITHOUT\s+TIME\s+ZONE\b/i,{token:E.TYPE}],[/WITH\s+LOCAL\s+TIME\s+ZONE\b/i,{token:E.TYPE}]]}};export{A as conf,R as language}; diff --git a/assets/flink.worker-cf34d75e.js b/assets/flink.worker-cf34d75e.js new file mode 100644 index 00000000..144c1dea --- /dev/null +++ b/assets/flink.worker-cf34d75e.js @@ -0,0 +1,22 @@ +var $4=Object.defineProperty;var z4=(rt,et,lt)=>et in rt?$4(rt,et,{enumerable:!0,configurable:!0,writable:!0,value:lt}):rt[et]=lt;var E=(rt,et,lt)=>(z4(rt,typeof et!="symbol"?et+"":et,lt),lt),On=(rt,et,lt)=>{if(!et.has(rt))throw TypeError("Cannot "+lt)};var L=(rt,et,lt)=>(On(rt,et,"read from private field"),lt?lt.call(rt):et.get(rt)),Q=(rt,et,lt)=>{if(et.has(rt))throw TypeError("Cannot add the same private member more than once");et instanceof WeakSet?et.add(rt):et.set(rt,lt)},V=(rt,et,lt,V1)=>(On(rt,et,"write to private field"),V1?V1.call(rt,lt):et.set(rt,lt),lt);var Dn=(rt,et,lt)=>(On(rt,et,"access private method"),lt);(function(){var x1,A0,m0,le,e1,g1,C0,Xt,Ie,Oe,s1,at,W0,i1,p0,Pt,re,K0,De,ne,r1,S1,L0,n1,Me,N0,x0,g0,wt,S0,I0,a1,O0,I1,O1,D1,D0,Ue,M0,U0,M1,y0,U1,ce,w0,pt,v0,b0,H0,J,Rt,it,k0,ye,P0,B0,G0,we,y1,ve,V0,Y0,F0,X0,Q0,J0,j0,$0,z0,Z0,q0,ts,es,ss,is,rs,ns,as,os,o1,w1,v1,h1,b1,H1,u1,k1,be,hs,us,Kt,y,ls,cs,Es,_s,ds,Rs,Ts,Ee,_e,fs,As,ms,P1,Cs,Ws,l1,ps,Mn,Ks,Ls,Ns,xs,b,gs,Ss,Is,Os,Ds,Ms,Us,ys,He,ws,vs,bs,Hs,ks,Ps,Bs,Gs,Vs,Ys,Fs,Xs,Qs,Js,nr,js,$s,zs,Zs,Qt,qs,ti,ei,ar,B1,si,Ut,ii,ri,ni,ai,ut,oi,hi,ui,Z,ae,Bt,li,ci,Ei,_i,di,Ri,Ti,fi,vt,Ai,mi,Ci,Wi,pi,Ki,Jt,Li;"use strict";class rt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` + +`+t.stack):t},0)}}emit(t){this.listeners.forEach(e=>{e(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const et=new rt;function lt(r){Oh(r)||et.onUnexpectedError(r)}function V1(r){if(r instanceof Error){let{name:t,message:e}=r;const i=r.stacktrace||r.stack;return{$isError:!0,name:t,message:e,stack:i}}return r}const Un="Canceled";function Oh(r){return r instanceof Error&&r.name===Un&&r.message===Un}function Dh(r){const t=this;let e=!1,i;return function(){return e||(e=!0,i=r.apply(t,arguments)),i}}var or;(function(r){function t(W){return W&&typeof W=="object"&&typeof W[Symbol.iterator]=="function"}r.is=t;const e=Object.freeze([]);function i(){return e}r.empty=i;function*n(W){yield W}r.single=n;function a(W){return W||e}r.from=a;function o(W){return!W||W[Symbol.iterator]().next().done===!0}r.isEmpty=o;function h(W){return W[Symbol.iterator]().next().value}r.first=h;function u(W,m){for(const N of W)if(m(N))return!0;return!1}r.some=u;function c(W,m){for(const N of W)if(m(N))return N}r.find=c;function*_(W,m){for(const N of W)m(N)&&(yield N)}r.filter=_;function*d(W,m){let N=0;for(const x of W)yield m(x,N++)}r.map=d;function*R(...W){for(const m of W)for(const N of m)yield N}r.concat=R;function*C(W){for(const m of W)for(const N of m)yield N}r.concatNested=C;function K(W,m,N){let x=N;for(const U of W)x=m(x,U);return x}r.reduce=K;function*g(W,m,N=W.length){for(m<0&&(m+=W.length),N<0?N+=W.length:N>W.length&&(N=W.length);mx===U){const x=W[Symbol.iterator](),U=m[Symbol.iterator]();for(;;){const D=x.next(),I=U.next();if(D.done!==I.done)return!1;if(D.done)return!0;if(!N(D.value,I.value))return!1}}r.equals=O})(or||(or={}));function Z4(r){return r}function q4(r,t){}class Mh extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function yn(r){if(or.is(r)){let t=[];for(const e of r)if(e)try{e.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new Mh(t);return Array.isArray(r)?[]:r}else if(r)return r.dispose(),r}function Uh(...r){return wn(()=>yn(r))}function wn(r){return{dispose:Dh(()=>{r()})}}class Y1{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{yn(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Y1.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}Y1.DISABLE_DISPOSED_WARNING=!1;class vn{constructor(){this._store=new Y1,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}vn.None=Object.freeze({dispose(){}});class j{constructor(t){this.element=t,this.next=j.Undefined,this.prev=j.Undefined}}j.Undefined=new j(void 0);class bn{constructor(){this._first=j.Undefined,this._last=j.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===j.Undefined}clear(){let t=this._first;for(;t!==j.Undefined;){const e=t.next;t.prev=j.Undefined,t.next=j.Undefined,t=e}this._first=j.Undefined,this._last=j.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){const i=new j(t);if(this._first===j.Undefined)this._first=i,this._last=i;else if(e){const a=this._last;this._last=i,i.prev=a,a.next=i}else{const a=this._first;this._first=i,i.next=a,a.prev=i}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(i))}}shift(){if(this._first!==j.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==j.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==j.Undefined&&t.next!==j.Undefined){const e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===j.Undefined&&t.next===j.Undefined?(this._first=j.Undefined,this._last=j.Undefined):t.next===j.Undefined?(this._last=this._last.prev,this._last.next=j.Undefined):t.prev===j.Undefined&&(this._first=this._first.next,this._first.prev=j.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==j.Undefined;)yield t.element,t=t.next}}var hr;const Ni="en";let ur=!1,lr=!1,cr=!1,F1,xi=Ni,yh,ke;const mt=typeof self=="object"?self:typeof global=="object"?global:{};let Lt;typeof mt.vscode<"u"&&typeof mt.vscode.process<"u"?Lt=mt.vscode.process:typeof process<"u"&&(Lt=process);const wh=typeof((hr=Lt==null?void 0:Lt.versions)===null||hr===void 0?void 0:hr.electron)=="string"&&(Lt==null?void 0:Lt.type)==="renderer";if(typeof navigator=="object"&&!wh)ke=navigator.userAgent,ur=ke.indexOf("Windows")>=0,lr=ke.indexOf("Macintosh")>=0,(ke.indexOf("Macintosh")>=0||ke.indexOf("iPad")>=0||ke.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,cr=ke.indexOf("Linux")>=0,F1=navigator.language,xi=F1;else if(typeof Lt=="object"){ur=Lt.platform==="win32",lr=Lt.platform==="darwin",cr=Lt.platform==="linux",cr&&Lt.env.SNAP&&Lt.env.SNAP_REVISION,F1=Ni,xi=Ni;const r=Lt.env.VSCODE_NLS_CONFIG;if(r)try{const t=JSON.parse(r),e=t.availableLanguages["*"];F1=t.locale,xi=e||Ni,yh=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const X1=ur,vh=lr,bh=xi,Hh=F1;(()=>{if(typeof mt.postMessage=="function"&&!mt.importScripts){let r=[];mt.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let i=0,n=r.length;i{const i=++t;r.push({id:i,callback:e}),mt.postMessage({vscodeScheduleAsyncWork:i},"*")}}return r=>setTimeout(r)})();const kh=mt.performance&&typeof mt.performance.now=="function";class gi{constructor(t){this._highResolution=kh&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new gi(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?mt.performance.now():Date.now()}}var Er;(function(r){r.None=()=>vn.None;function t(W){return(m,N=null,x)=>{let U=!1,D;return D=W(I=>{if(!U)return D?D.dispose():U=!0,m.call(N,I)},null,x),U&&D.dispose(),D}}r.once=t;function e(W,m){return u((N,x=null,U)=>W(D=>N.call(x,m(D)),null,U))}r.map=e;function i(W,m){return u((N,x=null,U)=>W(D=>{m(D),N.call(x,D)},null,U))}r.forEach=i;function n(W,m){return u((N,x=null,U)=>W(D=>m(D)&&N.call(x,D),null,U))}r.filter=n;function a(W){return W}r.signal=a;function o(...W){return(m,N=null,x)=>Uh(...W.map(U=>U(D=>m.call(N,D),null,x)))}r.any=o;function h(W,m,N){let x=N;return e(W,U=>(x=m(x,U),x))}r.reduce=h;function u(W){let m;const N=new de({onFirstListenerAdd(){m=W(N.fire,N)},onLastListenerRemove(){m.dispose()}});return N.event}function c(W,m,N=100,x=!1,U){let D,I,k,Et=0;const X=new de({leakWarningThreshold:U,onFirstListenerAdd(){D=W(w=>{Et++,I=m(I,w),x&&!k&&(X.fire(I),I=void 0),clearTimeout(k),k=setTimeout(()=>{const jt=I;I=void 0,k=void 0,(!x||Et>1)&&X.fire(jt),Et=0},N)})},onLastListenerRemove(){D.dispose()}});return X.event}r.debounce=c;function _(W,m=(N,x)=>N===x){let N=!0,x;return n(W,U=>{const D=N||!m(U,x);return N=!1,x=U,D})}r.latch=_;function d(W,m){return[r.filter(W,m),r.filter(W,N=>!m(N))]}r.split=d;function R(W,m=!1,N=[]){let x=N.slice(),U=W(k=>{x?x.push(k):I.fire(k)});const D=()=>{x&&x.forEach(k=>I.fire(k)),x=null},I=new de({onFirstListenerAdd(){U||(U=W(k=>I.fire(k)))},onFirstListenerDidAdd(){x&&(m?setTimeout(D):D())},onLastListenerRemove(){U&&U.dispose(),U=null}});return I.event}r.buffer=R;class C{constructor(m){this.event=m}map(m){return new C(e(this.event,m))}forEach(m){return new C(i(this.event,m))}filter(m){return new C(n(this.event,m))}reduce(m,N){return new C(h(this.event,m,N))}latch(){return new C(_(this.event))}debounce(m,N=100,x=!1,U){return new C(c(this.event,m,N,x,U))}on(m,N,x){return this.event(m,N,x)}once(m,N,x){return t(this.event)(m,N,x)}}function K(W){return new C(W)}r.chain=K;function g(W,m,N=x=>x){const x=(...k)=>I.fire(N(...k)),U=()=>W.on(m,x),D=()=>W.removeListener(m,x),I=new de({onFirstListenerAdd:U,onLastListenerRemove:D});return I.event}r.fromNodeEventEmitter=g;function S(W,m,N=x=>x){const x=(...k)=>I.fire(N(...k)),U=()=>W.addEventListener(m,x),D=()=>W.removeEventListener(m,x),I=new de({onFirstListenerAdd:U,onLastListenerRemove:D});return I.event}r.fromDOMEventEmitter=S;function O(W){return new Promise(m=>t(W)(m))}r.toPromise=O})(Er||(Er={}));class Si{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${Si._idPool++}`}start(t){this._stopWatch=new gi(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Si._idPool=0;class de{constructor(t){var e;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((e=this._options)===null||e===void 0)&&e._profName?new Si(this._options._profName):void 0}get event(){return this._event||(this._event=(t,e,i)=>{var n;this._listeners||(this._listeners=new bn);const a=this._listeners.isEmpty();a&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(e?[t,e]:t);a&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,e);const h=(n=this._leakageMon)===null||n===void 0?void 0:n.check(this._listeners.size),u=wn(()=>{h&&h(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return i instanceof Y1?i.add(u):Array.isArray(i)&&i.push(u),u}),this._event}fire(t){var e,i;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new bn);for(let n of this._listeners)this._deliveryQueue.push([n,t]);for((e=this._perfMon)===null||e===void 0||e.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[n,a]=this._deliveryQueue.shift();try{typeof n=="function"?n.call(void 0,a):n[0].call(n[1],a)}catch(o){lt(o)}}(i=this._perfMon)===null||i===void 0||i.stop()}}dispose(){var t,e,i,n,a;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(e=this._deliveryQueue)===null||e===void 0||e.clear(),(n=(i=this._options)===null||i===void 0?void 0:i.onLastListenerRemove)===null||n===void 0||n.call(i),(a=this._leakageMon)===null||a===void 0||a.dispose())}}function Ph(r){let t=[],e=Object.getPrototypeOf(r);for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}function _r(r){const t=[];for(const e of Ph(r))typeof r[e]=="function"&&t.push(e);return t}function Bh(r,t){const e=n=>function(){const a=Array.prototype.slice.call(arguments,0);return t(n,a)};let i={};for(const n of r)i[n]=e(n);return i}function Gh(r,t="Unreachable"){throw new Error(t)}function Vh(r){return r.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Yh(r){return r.split(/\r\n|\r|\n/)}function Fh(r){for(let t=0,e=r.length;t=0;e--){const i=r.charCodeAt(e);if(i!==32&&i!==9)return e}return-1}function Hn(r){return r>=65&&r<=90}function dr(r){return 55296<=r&&r<=56319}function Qh(r){return 56320<=r&&r<=57343}function Jh(r,t){return(r-55296<<10)+(t-56320)+65536}function jh(r,t,e){const i=r.charCodeAt(e);if(dr(i)&&e+1{this._pendingReplies[i]={resolve:n,reject:a},this._send(new zh(this._workerId,i,t,e))})}listen(t,e){let i=null;const n=new de({onFirstListenerAdd:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,n),this._send(new Zh(this._workerId,i,t,e))},onLastListenerRemove:()=>{this._pendingEmitters.delete(i),this._send(new t7(this._workerId,i)),i=null}});return n.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let e=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let i=t.err;t.err.$isError&&(i=new Error,i.name=t.err.name,i.message=t.err.message,i.stack=t.err.stack),e.reject(i);return}e.resolve(t.res)}_handleRequestMessage(t){let e=t.req;this._handler.handleMessage(t.method,t.args).then(n=>{this._send(new kn(this._workerId,e,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=V1(n.detail)),this._send(new kn(this._workerId,e,void 0,V1(n)))})}_handleSubscribeEventMessage(t){const e=t.req,i=this._handler.handleEvent(t.eventName,t.arg)(n=>{this._send(new qh(this._workerId,e,n))});this._pendingEvents.set(e,i)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let e=[];if(t.type===0)for(let i=0;ifunction(){const h=Array.prototype.slice.call(arguments,0);return t(o,h)},n=o=>function(h){return e(o,h)};let a={};for(const o of r){if(Bn(o)){a[o]=n(o);continue}if(Pn(o)){a[o]=e(o,void 0);continue}a[o]=i(o)}return a}class i7{constructor(t,e){this._requestHandlerFactory=e,this._requestHandler=null,this._protocol=new e7({sendMessage:(i,n)=>{t(i,n)},handleMessage:(i,n)=>this._handleMessage(i,n),handleEvent:(i,n)=>this._handleEvent(i,n)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,e){if(t===$h)return this.initialize(e[0],e[1],e[2],e[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,e))}catch(i){return Promise.reject(i)}}_handleEvent(t,e){if(!this._requestHandler)throw new Error("Missing requestHandler");if(Bn(t)){const i=this._requestHandler[t].call(this._requestHandler,e);if(typeof i!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return i}if(Pn(t)){const i=this._requestHandler[t];if(typeof i!="function")throw new Error(`Missing event ${t} on request handler.`);return i}throw new Error(`Malformed event name ${t}`)}initialize(t,e,i,n){this._protocol.setWorkerId(t);const h=s7(n,(u,c)=>this._protocol.sendMessage(u,c),(u,c)=>this._protocol.listen(u,c));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(h),Promise.resolve(_r(this._requestHandler))):(e&&(typeof e.baseUrl<"u"&&delete e.baseUrl,typeof e.paths<"u"&&typeof e.paths.vs<"u"&&delete e.paths.vs,typeof e.trustedTypesPolicy!==void 0&&delete e.trustedTypesPolicy,e.catchError=!0,mt.require.config(e)),new Promise((u,c)=>{const _=mt.require;_([i],d=>{if(this._requestHandler=d.create(h),!this._requestHandler){c(new Error("No RequestHandler!"));return}u(_r(this._requestHandler))},c)}))}}class Re{constructor(t,e,i,n){this.originalStart=t,this.originalLength=e,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Gn(r,t){return(t<<5)-t+r|0}function r7(r,t){t=Gn(149417,t);for(let e=0,i=r.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new Re(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_originalCount++}AddModifiedElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Te{constructor(t,e,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=t,this._modifiedSequence=e;const[n,a,o]=Te._getElements(t),[h,u,c]=Te._getElements(e);this._hasStrings=o&&c,this._originalStringElements=n,this._originalElementsOrHash=a,this._modifiedStringElements=h,this._modifiedElementsOrHash=u,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const e=t.getElements();if(Te._isStringArray(e)){const i=new Int32Array(e.length);for(let n=0,a=e.length;n=t&&n>=i&&this.ElementsAreEqual(e,n);)e--,n--;if(t>e||i>n){let d;return i<=n?(_1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),d=[new Re(t,0,i,n-i+1)]):t<=e?(_1.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),d=[new Re(t,e-t+1,i,0)]):(_1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),_1.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const o=[0],h=[0],u=this.ComputeRecursionPoint(t,e,i,n,o,h,a),c=o[0],_=h[0];if(u!==null)return u;if(!a[0]){const d=this.ComputeDiffRecursive(t,c,i,_,a);let R=[];return a[0]?R=[new Re(c+1,e-(c+1)+1,_+1,n-(_+1)+1)]:R=this.ComputeDiffRecursive(c+1,e,_+1,n,a),this.ConcatenateChanges(d,R)}return[new Re(t,e-t+1,i,n-i+1)]}WALKTRACE(t,e,i,n,a,o,h,u,c,_,d,R,C,K,g,S,O,W){let m=null,N=null,x=new Yn,U=e,D=i,I=C[0]-S[0]-n,k=-1073741824,Et=this.m_forwardHistory.length-1;do{const X=I+t;X===U||X=0&&(c=this.m_forwardHistory[Et],t=c[0],U=1,D=c.length-1)}while(--Et>=-1);if(m=x.getReverseChanges(),W[0]){let X=C[0]+1,w=S[0]+1;if(m!==null&&m.length>0){const jt=m[m.length-1];X=Math.max(X,jt.getOriginalEnd()),w=Math.max(w,jt.getModifiedEnd())}N=[new Re(X,R-X+1,w,g-w+1)]}else{x=new Yn,U=o,D=h,I=C[0]-S[0]-u,k=1073741824,Et=O?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const X=I+a;X===U||X=_[X+1]?(d=_[X+1]-1,K=d-I-u,d>k&&x.MarkNextChange(),k=d+1,x.AddOriginalElement(d+1,K+1),I=X+1-a):(d=_[X-1],K=d-I-u,d>k&&x.MarkNextChange(),k=d,x.AddModifiedElement(d+1,K+1),I=X-1-a),Et>=0&&(_=this.m_reverseHistory[Et],a=_[0],U=1,D=_.length-1)}while(--Et>=-1);N=x.getChanges()}return this.ConcatenateChanges(m,N)}ComputeRecursionPoint(t,e,i,n,a,o,h){let u=0,c=0,_=0,d=0,R=0,C=0;t--,i--,a[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const K=e-t+(n-i),g=K+1,S=new Int32Array(g),O=new Int32Array(g),W=n-i,m=e-t,N=t-i,x=e-n,D=(m-W)%2===0;S[W]=t,O[m]=e,h[0]=!1;for(let I=1;I<=K/2+1;I++){let k=0,Et=0;_=this.ClipDiagonalBound(W-I,I,W,g),d=this.ClipDiagonalBound(W+I,I,W,g);for(let w=_;w<=d;w+=2){w===_||wk+Et&&(k=u,Et=c),!D&&Math.abs(w-m)<=I-1&&u>=O[w])return a[0]=u,o[0]=c,jt<=O[w]&&1447>0&&I<=1447+1?this.WALKTRACE(W,_,d,N,m,R,C,x,S,O,u,e,a,c,n,o,D,h):null}const X=(k-t+(Et-i)-I)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(k,X))return h[0]=!0,a[0]=k,o[0]=Et,X>0&&1447>0&&I<=1447+1?this.WALKTRACE(W,_,d,N,m,R,C,x,S,O,u,e,a,c,n,o,D,h):(t++,i++,[new Re(t,e-t+1,i,n-i+1)]);R=this.ClipDiagonalBound(m-I,I,m,g),C=this.ClipDiagonalBound(m+I,I,m,g);for(let w=R;w<=C;w+=2){w===R||w=O[w+1]?u=O[w+1]-1:u=O[w-1],c=u-(w-m)-x;const jt=u;for(;u>t&&c>i&&this.ElementsAreEqual(u,c);)u--,c--;if(O[w]=u,D&&Math.abs(w-W)<=I&&u<=S[w])return a[0]=u,o[0]=c,jt>=S[w]&&1447>0&&I<=1447+1?this.WALKTRACE(W,_,d,N,m,R,C,x,S,O,u,e,a,c,n,o,D,h):null}if(I<=1447){let w=new Int32Array(d-_+2);w[0]=W-_+1,d1.Copy2(S,_,w,1,d-_+1),this.m_forwardHistory.push(w),w=new Int32Array(C-R+2),w[0]=m-R+1,d1.Copy2(O,R,w,1,C-R+1),this.m_reverseHistory.push(w)}}return this.WALKTRACE(W,_,d,N,m,R,C,x,S,O,u,e,a,c,n,o,D,h)}PrettifyChanges(t){for(let e=0;e0,h=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;e--){const i=t[e];let n=0,a=0;if(e>0){const d=t[e-1];n=d.originalStart+d.originalLength,a=d.modifiedStart+d.modifiedLength}const o=i.originalLength>0,h=i.modifiedLength>0;let u=0,c=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let d=1;;d++){const R=i.originalStart-d,C=i.modifiedStart-d;if(Rc&&(c=g,u=d)}i.originalStart-=u,i.modifiedStart-=u;const _=[null];if(e>0&&this.ChangesOverlap(t[e-1],t[e],_)){t[e-1]=_[0],t.splice(e,1),e++;continue}}if(this._hasStrings)for(let e=1,i=t.length;e0&&C>u&&(u=C,c=d,_=R)}return u>0?[c,_]:null}_contiguousSequenceScore(t,e,i){let n=0;for(let a=0;a=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,e){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,e){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(t,e,i,n){const a=this._OriginalRegionIsBoundary(t,e)?1:0,o=this._ModifiedRegionIsBoundary(i,n)?1:0;return a+o}ConcatenateChanges(t,e){let i=[];if(t.length===0||e.length===0)return e.length>0?e:t;if(this.ChangesOverlap(t[t.length-1],e[0],i)){const n=new Array(t.length+e.length-1);return d1.Copy(t,0,n,0,t.length-1),n[t.length-1]=i[0],d1.Copy(e,1,n,t.length,e.length-1),n}else{const n=new Array(t.length+e.length);return d1.Copy(t,0,n,0,t.length),d1.Copy(e,0,n,t.length,e.length),n}}ChangesOverlap(t,e,i){if(_1.Assert(t.originalStart<=e.originalStart,"Left change is not less than or equal to right change"),_1.Assert(t.modifiedStart<=e.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=e.originalStart||t.modifiedStart+t.modifiedLength>=e.modifiedStart){const n=t.originalStart;let a=t.originalLength;const o=t.modifiedStart;let h=t.modifiedLength;return t.originalStart+t.originalLength>=e.originalStart&&(a=e.originalStart+e.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=e.modifiedStart&&(h=e.modifiedStart+e.modifiedLength-t.modifiedStart),i[0]=new Re(n,a,o,h),!0}else return i[0]=null,!1}ClipDiagonalBound(t,e,i,n){if(t>=0&&t=o7&&r<=u7||r>=h7&&r<=l7}function Ii(r,t,e,i){let n="",a=0,o=-1,h=0,u=0;for(let c=0;c<=r.length;++c){if(c2){const _=n.lastIndexOf(e);_===-1?(n="",a=0):(n=n.slice(0,_),a=n.length-1-n.lastIndexOf(e)),o=c,h=0;continue}else if(n.length!==0){n="",a=0,o=c,h=0;continue}}t&&(n+=n.length>0?`${e}..`:"..",a=2)}else n.length>0?n+=`${e}${r.slice(o+1,c)}`:n=r.slice(o+1,c),a=c-o-1;o=c,h=0}else u===fe&&h!==-1?++h:h=-1}return n}function Xn(r,t){if(t===null||typeof t!="object")throw new Fn("pathObject","Object",t);const e=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return e?e===t.root?`${e}${i}`:`${e}${r}${i}`:i}const Nt={resolve(...r){let t="",e="",i=!1;for(let n=r.length-1;n>=-1;n--){let a;if(n>=0){if(a=r[n],ot(a,"path"),a.length===0)continue}else t.length===0?a=Rr():(a=a7[`=${t}`]||Rr(),(a===void 0||a.slice(0,2).toLowerCase()!==t.toLowerCase()&&a.charCodeAt(2)===It)&&(a=`${t}\\`));const o=a.length;let h=0,u="",c=!1;const _=a.charCodeAt(0);if(o===1)v(_)&&(h=1,c=!0);else if(v(_))if(c=!0,v(a.charCodeAt(1))){let d=2,R=d;for(;d2&&v(a.charCodeAt(2))&&(c=!0,h=3));if(u.length>0)if(t.length>0){if(u.toLowerCase()!==t.toLowerCase())continue}else t=u;if(i){if(t.length>0)break}else if(e=`${a.slice(h)}\\${e}`,i=c,c&&t.length>0)break}return e=Ii(e,!i,"\\",v),i?`${t}\\${e}`:`${t}${e}`||"."},normalize(r){ot(r,"path");const t=r.length;if(t===0)return".";let e=0,i,n=!1;const a=r.charCodeAt(0);if(t===1)return Tr(a)?"\\":r;if(v(a))if(n=!0,v(r.charCodeAt(1))){let h=2,u=h;for(;h2&&v(r.charCodeAt(2))&&(n=!0,e=3));let o=e0&&v(r.charCodeAt(t-1))&&(o+="\\"),i===void 0?n?`\\${o}`:o:n?`${i}\\${o}`:`${i}${o}`},isAbsolute(r){ot(r,"path");const t=r.length;if(t===0)return!1;const e=r.charCodeAt(0);return v(e)||t>2&&me(e)&&r.charCodeAt(1)===Ae&&v(r.charCodeAt(2))},join(...r){if(r.length===0)return".";let t,e;for(let a=0;a0&&(t===void 0?t=e=o:t+=`\\${o}`)}if(t===void 0)return".";let i=!0,n=0;if(typeof e=="string"&&v(e.charCodeAt(0))){++n;const a=e.length;a>1&&v(e.charCodeAt(1))&&(++n,a>2&&(v(e.charCodeAt(2))?++n:i=!1))}if(i){for(;n=2&&(t=`\\${t.slice(n)}`)}return Nt.normalize(t)},relative(r,t){if(ot(r,"from"),ot(t,"to"),r===t)return"";const e=Nt.resolve(r),i=Nt.resolve(t);if(e===i||(r=e.toLowerCase(),t=i.toLowerCase(),r===t))return"";let n=0;for(;nn&&r.charCodeAt(a-1)===It;)a--;const o=a-n;let h=0;for(;hh&&t.charCodeAt(u-1)===It;)u--;const c=u-h,_=o_){if(t.charCodeAt(h+R)===It)return i.slice(h+R+1);if(R===2)return i.slice(h+R)}o>_&&(r.charCodeAt(n+R)===It?d=R:R===2&&(d=3)),d===-1&&(d=0)}let C="";for(R=n+d+1;R<=a;++R)(R===a||r.charCodeAt(R)===It)&&(C+=C.length===0?"..":"\\..");return h+=d,C.length>0?`${C}${i.slice(h,u)}`:(i.charCodeAt(h)===It&&++h,i.slice(h,u))},toNamespacedPath(r){if(typeof r!="string")return r;if(r.length===0)return"";const t=Nt.resolve(r);if(t.length<=2)return r;if(t.charCodeAt(0)===It){if(t.charCodeAt(1)===It){const e=t.charCodeAt(2);if(e!==c7&&e!==fe)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(me(t.charCodeAt(0))&&t.charCodeAt(1)===Ae&&t.charCodeAt(2)===It)return`\\\\?\\${t}`;return r},dirname(r){ot(r,"path");const t=r.length;if(t===0)return".";let e=-1,i=0;const n=r.charCodeAt(0);if(t===1)return v(n)?r:".";if(v(n)){if(e=i=1,v(r.charCodeAt(1))){let h=2,u=h;for(;h2&&v(r.charCodeAt(2))?3:2,i=e);let a=-1,o=!0;for(let h=t-1;h>=i;--h)if(v(r.charCodeAt(h))){if(!o){a=h;break}}else o=!1;if(a===-1){if(e===-1)return".";a=e}return r.slice(0,a)},basename(r,t){t!==void 0&&ot(t,"ext"),ot(r,"path");let e=0,i=-1,n=!0,a;if(r.length>=2&&me(r.charCodeAt(0))&&r.charCodeAt(1)===Ae&&(e=2),t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let o=t.length-1,h=-1;for(a=r.length-1;a>=e;--a){const u=r.charCodeAt(a);if(v(u)){if(!n){e=a+1;break}}else h===-1&&(n=!1,h=a+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=a):(o=-1,i=h))}return e===i?i=h:i===-1&&(i=r.length),r.slice(e,i)}for(a=r.length-1;a>=e;--a)if(v(r.charCodeAt(a))){if(!n){e=a+1;break}}else i===-1&&(n=!1,i=a+1);return i===-1?"":r.slice(e,i)},extname(r){ot(r,"path");let t=0,e=-1,i=0,n=-1,a=!0,o=0;r.length>=2&&r.charCodeAt(1)===Ae&&me(r.charCodeAt(0))&&(t=i=2);for(let h=r.length-1;h>=t;--h){const u=r.charCodeAt(h);if(v(u)){if(!a){i=h+1;break}continue}n===-1&&(a=!1,n=h+1),u===fe?e===-1?e=h:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||n===-1||o===0||o===1&&e===n-1&&e===i+1?"":r.slice(e,n)},format:Xn.bind(null,"\\"),parse(r){ot(r,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;const e=r.length;let i=0,n=r.charCodeAt(0);if(e===1)return v(n)?(t.root=t.dir=r,t):(t.base=t.name=r,t);if(v(n)){if(i=1,v(r.charCodeAt(1))){let d=2,R=d;for(;d0&&(t.root=r.slice(0,i));let a=-1,o=i,h=-1,u=!0,c=r.length-1,_=0;for(;c>=i;--c){if(n=r.charCodeAt(c),v(n)){if(!u){o=c+1;break}continue}h===-1&&(u=!1,h=c+1),n===fe?a===-1?a=c:_!==1&&(_=1):a!==-1&&(_=-1)}return h!==-1&&(a===-1||_===0||_===1&&a===h-1&&a===o+1?t.base=t.name=r.slice(o,h):(t.name=r.slice(o,a),t.base=r.slice(o,h),t.ext=r.slice(a,h))),o>0&&o!==i?t.dir=r.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},Ot={resolve(...r){let t="",e=!1;for(let i=r.length-1;i>=-1&&!e;i--){const n=i>=0?r[i]:Rr();ot(n,"path"),n.length!==0&&(t=`${n}/${t}`,e=n.charCodeAt(0)===Tt)}return t=Ii(t,!e,"/",Tr),e?`/${t}`:t.length>0?t:"."},normalize(r){if(ot(r,"path"),r.length===0)return".";const t=r.charCodeAt(0)===Tt,e=r.charCodeAt(r.length-1)===Tt;return r=Ii(r,!t,"/",Tr),r.length===0?t?"/":e?"./":".":(e&&(r+="/"),t?`/${r}`:r)},isAbsolute(r){return ot(r,"path"),r.length>0&&r.charCodeAt(0)===Tt},join(...r){if(r.length===0)return".";let t;for(let e=0;e0&&(t===void 0?t=i:t+=`/${i}`)}return t===void 0?".":Ot.normalize(t)},relative(r,t){if(ot(r,"from"),ot(t,"to"),r===t||(r=Ot.resolve(r),t=Ot.resolve(t),r===t))return"";const e=1,i=r.length,n=i-e,a=1,o=t.length-a,h=nh){if(t.charCodeAt(a+c)===Tt)return t.slice(a+c+1);if(c===0)return t.slice(a+c)}else n>h&&(r.charCodeAt(e+c)===Tt?u=c:c===0&&(u=0));let _="";for(c=e+u+1;c<=i;++c)(c===i||r.charCodeAt(c)===Tt)&&(_+=_.length===0?"..":"/..");return`${_}${t.slice(a+u)}`},toNamespacedPath(r){return r},dirname(r){if(ot(r,"path"),r.length===0)return".";const t=r.charCodeAt(0)===Tt;let e=-1,i=!0;for(let n=r.length-1;n>=1;--n)if(r.charCodeAt(n)===Tt){if(!i){e=n;break}}else i=!1;return e===-1?t?"/":".":t&&e===1?"//":r.slice(0,e)},basename(r,t){t!==void 0&&ot(t,"ext"),ot(r,"path");let e=0,i=-1,n=!0,a;if(t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let o=t.length-1,h=-1;for(a=r.length-1;a>=0;--a){const u=r.charCodeAt(a);if(u===Tt){if(!n){e=a+1;break}}else h===-1&&(n=!1,h=a+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=a):(o=-1,i=h))}return e===i?i=h:i===-1&&(i=r.length),r.slice(e,i)}for(a=r.length-1;a>=0;--a)if(r.charCodeAt(a)===Tt){if(!n){e=a+1;break}}else i===-1&&(n=!1,i=a+1);return i===-1?"":r.slice(e,i)},extname(r){ot(r,"path");let t=-1,e=0,i=-1,n=!0,a=0;for(let o=r.length-1;o>=0;--o){const h=r.charCodeAt(o);if(h===Tt){if(!n){e=o+1;break}continue}i===-1&&(n=!1,i=o+1),h===fe?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||i===-1||a===0||a===1&&t===i-1&&t===e+1?"":r.slice(t,i)},format:Xn.bind(null,"/"),parse(r){ot(r,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;const e=r.charCodeAt(0)===Tt;let i;e?(t.root="/",i=1):i=0;let n=-1,a=0,o=-1,h=!0,u=r.length-1,c=0;for(;u>=i;--u){const _=r.charCodeAt(u);if(_===Tt){if(!h){a=u+1;break}continue}o===-1&&(h=!1,o=u+1),_===fe?n===-1?n=u:c!==1&&(c=1):n!==-1&&(c=-1)}if(o!==-1){const _=a===0&&e?1:a;n===-1||c===0||c===1&&n===o-1&&n===a+1?t.base=t.name=r.slice(_,o):(t.name=r.slice(_,n),t.base=r.slice(_,o),t.ext=r.slice(n,o))}return a>0?t.dir=r.slice(0,a-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ot.win32=Nt.win32=Nt,Ot.posix=Nt.posix=Ot,Be==="win32"?Nt.normalize:Ot.normalize,Be==="win32"?Nt.resolve:Ot.resolve,Be==="win32"?Nt.relative:Ot.relative,Be==="win32"?Nt.dirname:Ot.dirname,Be==="win32"?Nt.basename:Ot.basename,Be==="win32"?Nt.extname:Ot.extname,Be==="win32"?Nt.sep:Ot.sep;const E7=/^\w[\w\d+.-]*$/,_7=/^\//,d7=/^\/\//;function Qn(r,t){if(!r.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${r.authority}", path: "${r.path}", query: "${r.query}", fragment: "${r.fragment}"}`);if(r.scheme&&!E7.test(r.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(r.path){if(r.authority){if(!_7.test(r.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(d7.test(r.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function R7(r,t){return!r&&!t?"file":r}function T7(r,t){switch(r){case"https":case"http":case"file":t?t[0]!==Vt&&(t=Vt+t):t=Vt;break}return t}const $="",Vt="/",f7=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Ge{constructor(t,e,i,n,a,o=!1){typeof t=="object"?(this.scheme=t.scheme||$,this.authority=t.authority||$,this.path=t.path||$,this.query=t.query||$,this.fragment=t.fragment||$):(this.scheme=R7(t,o),this.authority=e||$,this.path=T7(this.scheme,i||$),this.query=n||$,this.fragment=a||$,Qn(this,o))}static isUri(t){return t instanceof Ge?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return fr(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:i,path:n,query:a,fragment:o}=t;return e===void 0?e=this.scheme:e===null&&(e=$),i===void 0?i=this.authority:i===null&&(i=$),n===void 0?n=this.path:n===null&&(n=$),a===void 0?a=this.query:a===null&&(a=$),o===void 0?o=this.fragment:o===null&&(o=$),e===this.scheme&&i===this.authority&&n===this.path&&a===this.query&&o===this.fragment?this:new T1(e,i,n,a,o)}static parse(t,e=!1){const i=f7.exec(t);return i?new T1(i[2]||$,Oi(i[4]||$),Oi(i[5]||$),Oi(i[7]||$),Oi(i[9]||$),e):new T1($,$,$,$,$)}static file(t){let e=$;if(X1&&(t=t.replace(/\\/g,Vt)),t[0]===Vt&&t[1]===Vt){const i=t.indexOf(Vt,2);i===-1?(e=t.substring(2),t=Vt):(e=t.substring(2,i),t=t.substring(i)||Vt)}return new T1("file",e,t,$,$)}static from(t){const e=new T1(t.scheme,t.authority,t.path,t.query,t.fragment);return Qn(e,!0),e}static joinPath(t,...e){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return X1&&t.scheme==="file"?i=Ge.file(Nt.join(fr(t,!0),...e)).path:i=Ot.join(t.path,...e),t.with({path:i})}toString(t=!1){return Ar(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof Ge)return t;{const e=new T1(t);return e._formatted=t.external,e._fsPath=t._sep===Jn?t.fsPath:null,e}}else return t}}const Jn=X1?1:void 0;class T1 extends Ge{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=fr(this,!1)),this._fsPath}toString(t=!1){return t?Ar(this,!0):(this._formatted||(this._formatted=Ar(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Jn),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const jn={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function $n(r,t){let e,i=-1;for(let n=0;n=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||a===45||a===46||a===95||a===126||t&&a===47)i!==-1&&(e+=encodeURIComponent(r.substring(i,n)),i=-1),e!==void 0&&(e+=r.charAt(n));else{e===void 0&&(e=r.substr(0,n));const o=jn[a];o!==void 0?(i!==-1&&(e+=encodeURIComponent(r.substring(i,n)),i=-1),e+=o):i===-1&&(i=n)}}return i!==-1&&(e+=encodeURIComponent(r.substring(i))),e!==void 0?e:r}function A7(r){let t;for(let e=0;e1&&r.scheme==="file"?e=`//${r.authority}${r.path}`:r.path.charCodeAt(0)===47&&(r.path.charCodeAt(1)>=65&&r.path.charCodeAt(1)<=90||r.path.charCodeAt(1)>=97&&r.path.charCodeAt(1)<=122)&&r.path.charCodeAt(2)===58?t?e=r.path.substr(1):e=r.path[1].toLowerCase()+r.path.substr(2):e=r.path,X1&&(e=e.replace(/\//g,"\\")),e}function Ar(r,t){const e=t?A7:$n;let i="",{scheme:n,authority:a,path:o,query:h,fragment:u}=r;if(n&&(i+=n,i+=":"),(a||n==="file")&&(i+=Vt,i+=Vt),a){let c=a.indexOf("@");if(c!==-1){const _=a.substr(0,c);a=a.substr(c+1),c=_.indexOf(":"),c===-1?i+=e(_,!1):(i+=e(_.substr(0,c),!1),i+=":",i+=e(_.substr(c+1),!1)),i+="@"}a=a.toLowerCase(),c=a.indexOf(":"),c===-1?i+=e(a,!1):(i+=e(a.substr(0,c),!1),i+=a.substr(c))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const c=o.charCodeAt(1);c>=65&&c<=90&&(o=`/${String.fromCharCode(c+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const c=o.charCodeAt(0);c>=65&&c<=90&&(o=`${String.fromCharCode(c+32)}:${o.substr(2)}`)}i+=e(o,!0)}return h&&(i+="?",i+=e(h,!1)),u&&(i+="#",i+=t?u:$n(u,!1)),i}function zn(r){try{return decodeURIComponent(r)}catch{return r.length>3?r.substr(0,3)+zn(r.substr(3)):r}}const Zn=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Oi(r){return r.match(Zn)?r.replace(Zn,t=>zn(t)):r}class Dt{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new Dt(t,e)}delta(t=0,e=0){return this.with(this.lineNumber+t,this.column+e)}equals(t){return Dt.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return Dt.isBefore(this,t)}static isBefore(t,e){return t.lineNumberi||t===i&&e>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return tt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return tt.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.columnt.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return tt.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumnt.endColumn)}strictContainsRange(t){return tt.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return tt.plusRange(this,t)}static plusRange(t,e){let i,n,a,o;return e.startLineNumbert.endLineNumber?(a=e.endLineNumber,o=e.endColumn):e.endLineNumber===t.endLineNumber?(a=e.endLineNumber,o=Math.max(e.endColumn,t.endColumn)):(a=t.endLineNumber,o=t.endColumn),new tt(i,n,a,o)}intersectRanges(t){return tt.intersectRanges(this,t)}static intersectRanges(t,e){let i=t.startLineNumber,n=t.startColumn,a=t.endLineNumber,o=t.endColumn,h=e.startLineNumber,u=e.startColumn,c=e.endLineNumber,_=e.endColumn;return ic?(a=c,o=_):a===c&&(o=Math.min(o,_)),i>a||i===a&&n>o?null:new tt(i,n,a,o)}equalsRange(t){return tt.equalsRange(this,t)}static equalsRange(t,e){return!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return tt.getEndPosition(this)}static getEndPosition(t){return new Dt(t.endLineNumber,t.endColumn)}getStartPosition(){return tt.getStartPosition(this)}static getStartPosition(t){return new Dt(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new tt(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new tt(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return tt.collapseToStart(this)}static collapseToStart(t){return new tt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,e=t){return new tt(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new tt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumbert.startLineNumber}}const m7=3;function qn(r,t,e,i){return new Te(r,t,e).ComputeDiff(i)}class t2{constructor(t){const e=[],i=[];for(let n=0,a=t.length;n0&&e.originalLength<20&&e.modifiedLength>0&&e.modifiedLength<20&&a()){const C=i.createCharSequence(t,e.originalStart,e.originalStart+e.originalLength-1),K=n.createCharSequence(t,e.modifiedStart,e.modifiedStart+e.modifiedLength-1);let g=qn(C,K,a,!0).changes;h&&(g=W7(g)),R=[];for(let S=0,O=g.length;S1&&g>1;){const S=R.charCodeAt(K-2),O=C.charCodeAt(g-2);if(S!==O)break;K--,g--}(K>1||g>1)&&this._pushTrimWhitespaceCharChange(n,a+1,1,K,o+1,1,g)}{let K=Cr(R,1),g=Cr(C,1);const S=R.length+1,O=C.length+1;for(;K!0;const t=Date.now();return()=>Date.now()-t255?255:r|0}function f1(r){return r<0?0:r>4294967295?4294967295:r|0}class K7{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,e){t=f1(t);const i=this.values,n=this.prefixSum,a=e.length;return a===0?!1:(this.values=new Uint32Array(i.length+a),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t),t+a),this.values.set(e,t),t-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,e){return t=f1(t),e=f1(e),this.values[t]===e?!1:(this.values[t]=e,t-1=i.length)return!1;let a=i.length-t;return e>=a&&(e=a),e===0?!1:(this.values=new Uint32Array(i.length-e),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t+e),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=f1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let e=this.prefixSumValidIndex[0]+1;e===0&&(this.prefixSum[0]=this.values[0],e++),t>=this.values.length&&(t=this.values.length-1);for(let i=e;i<=t;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let e=0,i=this.values.length-1,n=0,a=0,o=0;for(;e<=i;)if(n=e+(i-e)/2|0,a=this.prefixSum[n],o=a-this.values[n],t=a)e=n+1;else break;return new L7(n,t-o)}}class L7{constructor(t,e){this.index=t,this.remainder=e,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=e}}class N7{constructor(t,e,i,n){this._uri=t,this._lines=e,this._eol=i,this._versionId=n,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const e=t.changes;for(const i of e)this._acceptDeleteRange(i.range),this._acceptInsertText(new Dt(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,e=this._lines.length,i=new Uint32Array(e);for(let n=0;n/?";function g7(r=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const e of x7)r.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}const S7=g7();function I7(r){let t=S7;if(r&&r instanceof RegExp)if(r.global)t=r;else{let e="g";r.ignoreCase&&(e+="i"),r.multiline&&(e+="m"),r.unicode&&(e+="u"),t=new RegExp(r.source,e)}return t.lastIndex=0,t}const O7={maxLen:1e3,windowSize:15,timeBudget:150};function i2(r,t,e,i,n=O7){if(e.length>n.maxLen){let c=r-n.maxLen/2;return c<0?c=0:i+=c,e=e.substring(c,r+n.maxLen/2),i2(r,t,e,i,n)}const a=Date.now(),o=r-1-i;let h=-1,u=null;for(let c=1;!(Date.now()-a>=n.timeBudget);c++){const _=o-n.windowSize*c;t.lastIndex=Math.max(0,_);const d=D7(t,e,o,h);if(!d&&u||(u=d,_<=0))break;h=_}if(u){let c={word:u[0],startColumn:i+1+u.index,endColumn:i+1+u.index+u[0].length};return t.lastIndex=0,c}return null}function D7(r,t,e,i){let n;for(;n=r.exec(t);){const a=n.index||0;if(a<=e&&r.lastIndex>=e)return n;if(i>0&&a>i)return null}return null}class Wr{constructor(t){let e=s2(t);this._defaultValue=e,this._asciiMap=Wr._createAsciiMap(e),this._map=new Map}static _createAsciiMap(t){let e=new Uint8Array(256);for(let i=0;i<256;i++)e[i]=t;return e}set(t,e){let i=s2(e);t>=0&&t<256?this._asciiMap[t]=i:this._map.set(t,i)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class M7{constructor(t,e,i){const n=new Uint8Array(t*e);for(let a=0,o=t*e;ae&&(e=u),h>i&&(i=h),c>i&&(i=c)}e++,i++;let n=new M7(i,e,0);for(let a=0,o=t.length;a=this._maxCharCode?0:this._states.get(t,e)}}let pr=null;function y7(){return pr===null&&(pr=new U7([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),pr}let j1=null;function w7(){if(j1===null){j1=new Wr(0);const r=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let e=0;en);if(n>0){const h=e.charCodeAt(n-1),u=e.charCodeAt(o);(h===40&&u===41||h===91&&u===93||h===123&&u===125)&&o--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:o+2},url:e.substring(n,o+1)}}static computeLinks(t,e=y7()){const i=w7();let n=[];for(let a=1,o=t.getLineCount();a<=o;a++){const h=t.getLineContent(a),u=h.length;let c=0,_=0,d=0,R=1,C=!1,K=!1,g=!1,S=!1;for(;c=0?(n+=i?1:-1,n<0?n=t.length-1:n%=t.length,t[n]):null}}Kr.INSTANCE=new Kr;const r2=Object.freeze(function(r,t){const e=setTimeout(r.bind(t),0);return{dispose(){clearTimeout(e)}}});var Mi;(function(r){function t(e){return e===r.None||e===r.Cancelled||e instanceof Ui?!0:!e||typeof e!="object"?!1:typeof e.isCancellationRequested=="boolean"&&typeof e.onCancellationRequested=="function"}r.isCancellationToken=t,r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Er.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r2})})(Mi||(Mi={}));class Ui{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?r2:(this._emitter||(this._emitter=new de),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class b7{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ui),this._token}cancel(){this._token?this._token instanceof Ui&&this._token.cancel():this._token=Mi.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Ui&&this._token.dispose():this._token=Mi.None}}class Lr{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const yi=new Lr,Nr=new Lr,xr=new Lr,H7=new Array(230),k7=Object.create(null),P7=Object.create(null);(function(){const r="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",r,r],[0,1,1,"Hyper",0,r,0,r,r,r],[0,1,2,"Super",0,r,0,r,r,r],[0,1,3,"Fn",0,r,0,r,r,r],[0,1,4,"FnLock",0,r,0,r,r,r],[0,1,5,"Suspend",0,r,0,r,r,r],[0,1,6,"Resume",0,r,0,r,r,r],[0,1,7,"Turbo",0,r,0,r,r,r],[0,1,8,"Sleep",0,r,0,"VK_SLEEP",r,r],[0,1,9,"WakeUp",0,r,0,r,r,r],[31,0,10,"KeyA",31,"A",65,"VK_A",r,r],[32,0,11,"KeyB",32,"B",66,"VK_B",r,r],[33,0,12,"KeyC",33,"C",67,"VK_C",r,r],[34,0,13,"KeyD",34,"D",68,"VK_D",r,r],[35,0,14,"KeyE",35,"E",69,"VK_E",r,r],[36,0,15,"KeyF",36,"F",70,"VK_F",r,r],[37,0,16,"KeyG",37,"G",71,"VK_G",r,r],[38,0,17,"KeyH",38,"H",72,"VK_H",r,r],[39,0,18,"KeyI",39,"I",73,"VK_I",r,r],[40,0,19,"KeyJ",40,"J",74,"VK_J",r,r],[41,0,20,"KeyK",41,"K",75,"VK_K",r,r],[42,0,21,"KeyL",42,"L",76,"VK_L",r,r],[43,0,22,"KeyM",43,"M",77,"VK_M",r,r],[44,0,23,"KeyN",44,"N",78,"VK_N",r,r],[45,0,24,"KeyO",45,"O",79,"VK_O",r,r],[46,0,25,"KeyP",46,"P",80,"VK_P",r,r],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",r,r],[48,0,27,"KeyR",48,"R",82,"VK_R",r,r],[49,0,28,"KeyS",49,"S",83,"VK_S",r,r],[50,0,29,"KeyT",50,"T",84,"VK_T",r,r],[51,0,30,"KeyU",51,"U",85,"VK_U",r,r],[52,0,31,"KeyV",52,"V",86,"VK_V",r,r],[53,0,32,"KeyW",53,"W",87,"VK_W",r,r],[54,0,33,"KeyX",54,"X",88,"VK_X",r,r],[55,0,34,"KeyY",55,"Y",89,"VK_Y",r,r],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",r,r],[22,0,36,"Digit1",22,"1",49,"VK_1",r,r],[23,0,37,"Digit2",23,"2",50,"VK_2",r,r],[24,0,38,"Digit3",24,"3",51,"VK_3",r,r],[25,0,39,"Digit4",25,"4",52,"VK_4",r,r],[26,0,40,"Digit5",26,"5",53,"VK_5",r,r],[27,0,41,"Digit6",27,"6",54,"VK_6",r,r],[28,0,42,"Digit7",28,"7",55,"VK_7",r,r],[29,0,43,"Digit8",29,"8",56,"VK_8",r,r],[30,0,44,"Digit9",30,"9",57,"VK_9",r,r],[21,0,45,"Digit0",21,"0",48,"VK_0",r,r],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",r,r],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",r,r],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",r,r],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",r,r],[10,1,50,"Space",10,"Space",32,"VK_SPACE",r,r],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,r,0,r,r,r],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",r,r],[59,1,64,"F1",59,"F1",112,"VK_F1",r,r],[60,1,65,"F2",60,"F2",113,"VK_F2",r,r],[61,1,66,"F3",61,"F3",114,"VK_F3",r,r],[62,1,67,"F4",62,"F4",115,"VK_F4",r,r],[63,1,68,"F5",63,"F5",116,"VK_F5",r,r],[64,1,69,"F6",64,"F6",117,"VK_F6",r,r],[65,1,70,"F7",65,"F7",118,"VK_F7",r,r],[66,1,71,"F8",66,"F8",119,"VK_F8",r,r],[67,1,72,"F9",67,"F9",120,"VK_F9",r,r],[68,1,73,"F10",68,"F10",121,"VK_F10",r,r],[69,1,74,"F11",69,"F11",122,"VK_F11",r,r],[70,1,75,"F12",70,"F12",123,"VK_F12",r,r],[0,1,76,"PrintScreen",0,r,0,r,r,r],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",r,r],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",r,r],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",r,r],[14,1,80,"Home",14,"Home",36,"VK_HOME",r,r],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",r,r],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",r,r],[13,1,83,"End",13,"End",35,"VK_END",r,r],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",r,r],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",r],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",r],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",r],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",r],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",r,r],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",r,r],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",r,r],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",r,r],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",r,r],[3,1,94,"NumpadEnter",3,r,0,r,r,r],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",r,r],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",r,r],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",r,r],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",r,r],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",r,r],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",r,r],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",r,r],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",r,r],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",r,r],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",r,r],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",r,r],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",r,r],[58,1,107,"ContextMenu",58,"ContextMenu",93,r,r,r],[0,1,108,"Power",0,r,0,r,r,r],[0,1,109,"NumpadEqual",0,r,0,r,r,r],[71,1,110,"F13",71,"F13",124,"VK_F13",r,r],[72,1,111,"F14",72,"F14",125,"VK_F14",r,r],[73,1,112,"F15",73,"F15",126,"VK_F15",r,r],[74,1,113,"F16",74,"F16",127,"VK_F16",r,r],[75,1,114,"F17",75,"F17",128,"VK_F17",r,r],[76,1,115,"F18",76,"F18",129,"VK_F18",r,r],[77,1,116,"F19",77,"F19",130,"VK_F19",r,r],[0,1,117,"F20",0,r,0,"VK_F20",r,r],[0,1,118,"F21",0,r,0,"VK_F21",r,r],[0,1,119,"F22",0,r,0,"VK_F22",r,r],[0,1,120,"F23",0,r,0,"VK_F23",r,r],[0,1,121,"F24",0,r,0,"VK_F24",r,r],[0,1,122,"Open",0,r,0,r,r,r],[0,1,123,"Help",0,r,0,r,r,r],[0,1,124,"Select",0,r,0,r,r,r],[0,1,125,"Again",0,r,0,r,r,r],[0,1,126,"Undo",0,r,0,r,r,r],[0,1,127,"Cut",0,r,0,r,r,r],[0,1,128,"Copy",0,r,0,r,r,r],[0,1,129,"Paste",0,r,0,r,r,r],[0,1,130,"Find",0,r,0,r,r,r],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",r,r],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",r,r],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",r,r],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",r,r],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",r,r],[0,1,136,"KanaMode",0,r,0,r,r,r],[0,0,137,"IntlYen",0,r,0,r,r,r],[0,1,138,"Convert",0,r,0,r,r,r],[0,1,139,"NonConvert",0,r,0,r,r,r],[0,1,140,"Lang1",0,r,0,r,r,r],[0,1,141,"Lang2",0,r,0,r,r,r],[0,1,142,"Lang3",0,r,0,r,r,r],[0,1,143,"Lang4",0,r,0,r,r,r],[0,1,144,"Lang5",0,r,0,r,r,r],[0,1,145,"Abort",0,r,0,r,r,r],[0,1,146,"Props",0,r,0,r,r,r],[0,1,147,"NumpadParenLeft",0,r,0,r,r,r],[0,1,148,"NumpadParenRight",0,r,0,r,r,r],[0,1,149,"NumpadBackspace",0,r,0,r,r,r],[0,1,150,"NumpadMemoryStore",0,r,0,r,r,r],[0,1,151,"NumpadMemoryRecall",0,r,0,r,r,r],[0,1,152,"NumpadMemoryClear",0,r,0,r,r,r],[0,1,153,"NumpadMemoryAdd",0,r,0,r,r,r],[0,1,154,"NumpadMemorySubtract",0,r,0,r,r,r],[0,1,155,"NumpadClear",0,r,0,r,r,r],[0,1,156,"NumpadClearEntry",0,r,0,r,r,r],[5,1,0,r,5,"Ctrl",17,"VK_CONTROL",r,r],[4,1,0,r,4,"Shift",16,"VK_SHIFT",r,r],[6,1,0,r,6,"Alt",18,"VK_MENU",r,r],[57,1,0,r,57,"Meta",0,"VK_COMMAND",r,r],[5,1,157,"ControlLeft",5,r,0,"VK_LCONTROL",r,r],[4,1,158,"ShiftLeft",4,r,0,"VK_LSHIFT",r,r],[6,1,159,"AltLeft",6,r,0,"VK_LMENU",r,r],[57,1,160,"MetaLeft",57,r,0,"VK_LWIN",r,r],[5,1,161,"ControlRight",5,r,0,"VK_RCONTROL",r,r],[4,1,162,"ShiftRight",4,r,0,"VK_RSHIFT",r,r],[6,1,163,"AltRight",6,r,0,"VK_RMENU",r,r],[57,1,164,"MetaRight",57,r,0,"VK_RWIN",r,r],[0,1,165,"BrightnessUp",0,r,0,r,r,r],[0,1,166,"BrightnessDown",0,r,0,r,r,r],[0,1,167,"MediaPlay",0,r,0,r,r,r],[0,1,168,"MediaRecord",0,r,0,r,r,r],[0,1,169,"MediaFastForward",0,r,0,r,r,r],[0,1,170,"MediaRewind",0,r,0,r,r,r],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",r,r],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",r,r],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",r,r],[0,1,174,"Eject",0,r,0,r,r,r],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",r,r],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",r,r],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",r,r],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",r,r],[0,1,179,"LaunchApp1",0,r,0,"VK_MEDIA_LAUNCH_APP1",r,r],[0,1,180,"SelectTask",0,r,0,r,r,r],[0,1,181,"LaunchScreenSaver",0,r,0,r,r,r],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",r,r],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",r,r],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",r,r],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",r,r],[0,1,186,"BrowserStop",0,r,0,"VK_BROWSER_STOP",r,r],[0,1,187,"BrowserRefresh",0,r,0,"VK_BROWSER_REFRESH",r,r],[0,1,188,"BrowserFavorites",0,r,0,"VK_BROWSER_FAVORITES",r,r],[0,1,189,"ZoomToggle",0,r,0,r,r,r],[0,1,190,"MailReply",0,r,0,r,r,r],[0,1,191,"MailForward",0,r,0,r,r,r],[0,1,192,"MailSend",0,r,0,r,r,r],[109,1,0,r,109,"KeyInComposition",229,r,r,r],[111,1,0,r,111,"ABNT_C2",194,"VK_ABNT_C2",r,r],[91,1,0,r,91,"OEM_8",223,"VK_OEM_8",r,r],[0,1,0,r,0,r,0,"VK_CLEAR",r,r],[0,1,0,r,0,r,0,"VK_KANA",r,r],[0,1,0,r,0,r,0,"VK_HANGUL",r,r],[0,1,0,r,0,r,0,"VK_JUNJA",r,r],[0,1,0,r,0,r,0,"VK_FINAL",r,r],[0,1,0,r,0,r,0,"VK_HANJA",r,r],[0,1,0,r,0,r,0,"VK_KANJI",r,r],[0,1,0,r,0,r,0,"VK_CONVERT",r,r],[0,1,0,r,0,r,0,"VK_NONCONVERT",r,r],[0,1,0,r,0,r,0,"VK_ACCEPT",r,r],[0,1,0,r,0,r,0,"VK_MODECHANGE",r,r],[0,1,0,r,0,r,0,"VK_SELECT",r,r],[0,1,0,r,0,r,0,"VK_PRINT",r,r],[0,1,0,r,0,r,0,"VK_EXECUTE",r,r],[0,1,0,r,0,r,0,"VK_SNAPSHOT",r,r],[0,1,0,r,0,r,0,"VK_HELP",r,r],[0,1,0,r,0,r,0,"VK_APPS",r,r],[0,1,0,r,0,r,0,"VK_PROCESSKEY",r,r],[0,1,0,r,0,r,0,"VK_PACKET",r,r],[0,1,0,r,0,r,0,"VK_DBE_SBCSCHAR",r,r],[0,1,0,r,0,r,0,"VK_DBE_DBCSCHAR",r,r],[0,1,0,r,0,r,0,"VK_ATTN",r,r],[0,1,0,r,0,r,0,"VK_CRSEL",r,r],[0,1,0,r,0,r,0,"VK_EXSEL",r,r],[0,1,0,r,0,r,0,"VK_EREOF",r,r],[0,1,0,r,0,r,0,"VK_PLAY",r,r],[0,1,0,r,0,r,0,"VK_ZOOM",r,r],[0,1,0,r,0,r,0,"VK_NONAME",r,r],[0,1,0,r,0,r,0,"VK_PA1",r,r],[0,1,0,r,0,r,0,"VK_OEM_CLEAR",r,r]];let e=[],i=[];for(const n of t){const[a,o,h,u,c,_,d,R,C,K]=n;if(i[h]||(i[h]=!0,k7[u]=h,P7[u.toLowerCase()]=h),!e[c]){if(e[c]=!0,!_)throw new Error(`String representation missing for key code ${c} around scan code ${u}`);yi.define(c,_),Nr.define(c,C||_),xr.define(c,K||C||_)}d&&(H7[d]=c)}})();var n2;(function(r){function t(h){return yi.keyCodeToStr(h)}r.toString=t;function e(h){return yi.strToKeyCode(h)}r.fromString=e;function i(h){return Nr.keyCodeToStr(h)}r.toUserSettingsUS=i;function n(h){return xr.keyCodeToStr(h)}r.toUserSettingsGeneral=n;function a(h){return Nr.strToKeyCode(h)||xr.strToKeyCode(h)}r.fromUserSettings=a;function o(h){if(h>=93&&h<=108)return null;switch(h){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return yi.keyCodeToStr(h)}r.toElectronAccelerator=o})(n2||(n2={}));function B7(r,t){const e=(t&65535)<<16>>>0;return(r|e)>>>0}class yt extends tt{constructor(t,e,i,n){super(t,e,i,n),this.selectionStartLineNumber=t,this.selectionStartColumn=e,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return yt.selectionsEqual(this,t)}static selectionsEqual(t,e){return t.selectionStartLineNumber===e.selectionStartLineNumber&&t.selectionStartColumn===e.selectionStartColumn&&t.positionLineNumber===e.positionLineNumber&&t.positionColumn===e.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,e){return this.getDirection()===0?new yt(this.startLineNumber,this.startColumn,t,e):new yt(t,e,this.startLineNumber,this.startColumn)}getPosition(){return new Dt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Dt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,e){return this.getDirection()===0?new yt(t,e,this.endLineNumber,this.endColumn):new yt(this.endLineNumber,this.endColumn,t,e)}static fromPositions(t,e=t){return new yt(t.lineNumber,t.column,e.lineNumber,e.column)}static fromRange(t,e){return e===0?new yt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new yt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new yt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,e){if(t&&!e||!t&&e)return!1;if(!t&&!e)return!0;if(t.length!==e.length)return!1;for(let i=0,n=t.length;i0){const o=t.charCodeAt(i);if(r.get(o)!==0)return!0}return!1}function F7(r,t,e,i,n){if(i+n===e)return!0;const a=t.charCodeAt(i+n);if(r.get(a)!==0||a===13||a===10)return!0;if(n>0){const o=t.charCodeAt(i+n-1);if(r.get(o)!==0)return!0}return!1}function X7(r,t,e,i,n){return Y7(r,t,e,i,n)&&F7(r,t,e,i,n)}class Q7{constructor(t,e){this._wordSeparators=t,this._searchRegex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const e=t.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===e||(i=this._searchRegex.exec(t),!i))return null;const n=i.index,a=i[0].length;if(n===this._prevMatchStartIndex&&a===this._prevMatchLength){if(a===0){jh(t,e,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=a,!this._wordSeparators||X7(this._wordSeparators,t,e,n,a))return i}while(i);return null}}class J7{static computeUnicodeHighlights(t,e,i){const n=i?i.startLineNumber:1,a=i?i.endLineNumber:t.getLineCount(),o=new P2(e),h=o.getCandidateCodePoints();let u;h==="allNonBasicAscii"?u=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):u=new RegExp(`${j7(Array.from(h))}`,"g");const c=new Q7(null,u),_=[];let d=!1,R,C=0,K=0,g=0;t:for(let S=n,O=a;S<=O;S++){const W=t.getLineContent(S),m=W.length;c.reset(0);do if(R=c.next(W),R){let N=R.index,x=R.index+R[0].length;if(N>0){const I=W.charCodeAt(N-1);dr(I)&&N--}if(x+1=I){d=!0;break t}_.push(new tt(S,N+1,S,x+1))}}while(R)}return{ranges:_,hasMore:d,ambiguousCharacterCount:C,invisibleCharacterCount:K,nonBasicAsciiCharacterCount:g}}static computeUnicodeHighlightReason(t,e){switch(new P2(e).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const a=Gt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(a)};case 1:return{kind:2}}}}function j7(r,t){return`[${Vh(r.map(i=>String.fromCodePoint(i)).join(""))}]`}class P2{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const e of Pe.codePoints)t.add(e);if(this.options.ambiguousCharacters)for(const e of Gt.getPrimaryConfusableCodePoints())t.add(e);for(const e of this.allowedCodePoints)t.delete(e);return t}shouldHighlightNonBasicASCII(t){const e=t.codePointAt(0);return this.allowedCodePoints.has(e)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` +`||t===" ")&&Pe.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&Gt.isAmbiguous(e)?3:0}}var Ve=function(r,t,e,i){function n(a){return a instanceof e?a:new e(function(o){o(a)})}return new(e||(e=Promise))(function(a,o){function h(_){try{c(i.next(_))}catch(d){o(d)}}function u(_){try{c(i.throw(_))}catch(d){o(d)}}function c(_){_.done?a(_.value):n(_.value).then(h,u)}c((i=i.apply(r,t||[])).next())})};class $7 extends N7{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,e){let i=i2(t.column,I7(e),this._lines[t.lineNumber-1],0);return i?new tt(t.lineNumber,i.startColumn,t.lineNumber,i.endColumn):null}words(t){const e=this._lines,i=this._wordenize.bind(this);let n=0,a="",o=0,h=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)e=this._lines.length,i=this._lines[e-1].length+1,n=!0;else{let a=this._lines[e-1].length+1;i<1?(i=1,n=!0):i>a&&(i=a,n=!0)}return n?{lineNumber:e,column:i}:t}}class A1{constructor(t,e){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=e,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(e=>t.push(this._models[e])),t}acceptNewModel(t){this._models[t.url]=new $7(Ge.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,e){if(!this._models[t])return;this._models[t].onEvents(e)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,e,i){return Ve(this,void 0,void 0,function*(){const n=this._getModel(t);return n?J7.computeUnicodeHighlights(n,e,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,e,i,n){return Ve(this,void 0,void 0,function*(){const a=this._getModel(t),o=this._getModel(e);if(!a||!o)return null;const h=a.getLinesContent(),u=o.getLinesContent(),_=new p7(h,u,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:i,shouldMakePrettyDiff:!0,maxComputationTime:n}).computeDiff(),d=_.changes.length>0?!1:this._modelsAreIdentical(a,o);return{quitEarly:_.quitEarly,identical:d,changes:_.changes}})}_modelsAreIdentical(t,e){const i=t.getLineCount(),n=e.getLineCount();if(i!==n)return!1;for(let a=1;a<=i;a++){const o=t.getLineContent(a),h=e.getLineContent(a);if(o!==h)return!1}return!0}computeMoreMinimalEdits(t,e){return Ve(this,void 0,void 0,function*(){const i=this._getModel(t);if(!i)return e;const n=[];let a;e=e.slice(0).sort((o,h)=>{if(o.range&&h.range)return tt.compareRangesUsingStarts(o.range,h.range);let u=o.range?0:1,c=h.range?0:1;return u-c});for(let{range:o,text:h,eol:u}of e){if(typeof u=="number"&&(a=u),tt.isEmpty(o)&&!h)continue;const c=i.getValueInRange(o);if(h=h.replace(/\r\n|\n|\r/g,i.eol),c===h)continue;if(Math.max(h.length,c.length)>A1._diffLimit){n.push({range:o,text:h});continue}const _=n7(c,h,!1),d=i.offsetAt(tt.lift(o).getStartPosition());for(const R of _){const C=i.positionAt(d+R.originalStart),K=i.positionAt(d+R.originalStart+R.originalLength),g={text:h.substr(R.modifiedStart,R.modifiedLength),range:{startLineNumber:C.lineNumber,startColumn:C.column,endLineNumber:K.lineNumber,endColumn:K.column}};i.getValueInRange(g.range)!==g.text&&n.push(g)}}return typeof a=="number"&&n.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),n})}computeLinks(t){return Ve(this,void 0,void 0,function*(){let e=this._getModel(t);return e?v7(e):null})}textualSuggest(t,e,i,n){return Ve(this,void 0,void 0,function*(){const a=new gi(!0),o=new RegExp(i,n),h=new Set;t:for(let u of t){const c=this._getModel(u);if(c){for(let _ of c.words(o))if(!(_===e||!isNaN(Number(_)))&&(h.add(_),h.size>A1._suggestionsLimit))break t}}return{words:Array.from(h),duration:a.elapsed()}})}computeWordRanges(t,e,i,n){return Ve(this,void 0,void 0,function*(){let a=this._getModel(t);if(!a)return Object.create(null);const o=new RegExp(i,n),h=Object.create(null);for(let u=e.startLineNumber;uthis._host.fhr(h,u)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,e),Promise.resolve(_r(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,e){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,e))}catch(i){return Promise.reject(i)}}}A1._diffLimit=1e5,A1._suggestionsLimit=1e4,typeof importScripts=="function"&&(mt.monaco=V7());let Dr=!1;function B2(r){if(Dr)return;Dr=!0;const t=new i7(e=>{self.postMessage(e)},e=>new A1(e,r));self.onmessage=e=>{t.onmessage(e.data)}}self.onmessage=r=>{Dr||B2(null)};var z7=Object.defineProperty,A=(r,t)=>z7(r,"name",{value:t,configurable:!0}),Ce=(x1=class{constructor(t){E(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},A(x1,"Transition"),E(x1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),x1),Mr=(A0=class extends Ce{constructor(t){super(t)}},A(A0,"AbstractPredicateTransition"),A0),M={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},G2=(m0=class extends Ce{constructor(e,i,n,a){super(e);E(this,"ruleIndex");E(this,"actionIndex");E(this,"isCtxDependent");this.ruleIndex=i,this.actionIndex=n===void 0?-1:n,this.isCtxDependent=a===void 0?!1:a}get isEpsilon(){return!0}get serializationType(){return M.ACTION}matches(e,i,n){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},A(m0,"ActionTransition"),m0),Y=(le=class{constructor(t){E(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===le.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},A(le,"PredictionContext"),E(le,"EMPTY_RETURN_STATE",2147483647),E(le,"EMPTY"),E(le,"trace_atn_sim",!1),le),V2=3432918353,Y2=461845907,wi=15,vi=13,F2=5,X2=3864292196,$t=(e1=class{constructor(){E(this,"count");E(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const e=new e1;return e.update(t),e.finish()}static hashString(t=0,e){let i=3735928559^t,n=1103547991^t;for(const a of e){const o=a.charCodeAt(0);i=Math.imul(i^o,2654435761),n=Math.imul(n^o,1597334677)}return i=Math.imul(i^i>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),Math.imul(4294967296,2097151&n)+(i>>>0)}update(...t){for(const e of t)if(e!=null)if(Array.isArray(e))this.update(...e);else{let i=0;switch(typeof e){case"undefined":case"function":continue;case"number":{i=e;break}case"boolean":{i=e?1237:4327;break}case"string":{i=e1.hashString(this.hash,e);break}default:{e.updateHashCode(this);continue}}this.count=this.count+1,i=Math.imul(i,V2),i=i<>>32-wi,i=Math.imul(i,Y2);let n=this.hash^i;n=n<>>32-vi,this.hash=Math.imul(n,F2)+X2}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,V2),t=t<>>32-wi,t=Math.imul(t,Y2);let e=this.hash^t;e=e<>>32-vi,this.hash=Math.imul(e,F2)+X2}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},A(e1,"HashCode"),e1),Z7=A(r=>typeof r.equals=="function","isComparable"),q7=A(r=>r===null?"null":r,"valueToString"),Ye=A(r=>Array.isArray(r)?"["+r.map(q7).join(", ")+"]":"null","arrayToString"),z1=A((r,t)=>{if(r===t)return!0;if(r.length!==t.length)return!1;for(let e=0;e(r=r.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(r=r.replace(/ /g,"·")),r),"escapeWhitespace"),Q2=A((r,t)=>r?r.equals(t):r===t,"standardEqualsFunction"),e3=Math.round(Math.random()*Math.pow(2,32)),s3=A(r=>{let t,e;const i=r.length&3,n=r.length-i;let a=e3;const o=3432918353,h=461845907;let u=0;for(;u>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*h+(((e>>>16)*h&65535)<<16)&4294967295,a^=e,a=a<<13|a>>>19,t=(a&65535)*5+(((a>>>16)*5&65535)<<16)&4294967295,a=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(e=0,i){case 3:e^=(r.charCodeAt(u+2)&255)<<16;case 2:e^=(r.charCodeAt(u+1)&255)<<8;case 1:e^=r.charCodeAt(u)&255,e=(e&65535)*o+(((e>>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*h+(((e>>>16)*h&65535)<<16)&4294967295,a^=e}return a^=r.length,a^=a>>>16,a=(a&65535)*2246822507+(((a>>>16)*2246822507&65535)<<16)&4294967295,a^=a>>>13,a=(a&65535)*3266489909+(((a>>>16)*3266489909&65535)<<16)&4294967295,a^=a>>>16,a>>>0},"stringHashCode"),J2=A(r=>r?typeof r=="string"?s3(r):r.hashCode():-1,"standardHashCodeFunction"),We=(g1=class extends Y{constructor(e,i){const n=new $t;n.update(e,i);const a=n.finish();super(a);E(this,"parents",[]);E(this,"returnStates",[]);return this.parents=e,this.returnStates=i,this}isEmpty(){return this.returnStates[0]===Y.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(e){return this===e?!0:!(e instanceof g1)||this.hashCode()!==e.hashCode()?!1:z1(this.returnStates,e.returnStates)&&z1(this.parents,e.parents)}toString(){if(this.isEmpty())return"[]";{let e="[";for(let i=0;i0&&(e=e+", "),this.returnStates[i]===Y.EMPTY_RETURN_STATE){e=e+"$";continue}e=e+this.returnStates[i],this.parents[i]!==null?e=e+" "+this.parents[i]:e=e+"null"}return e+"]"}}get length(){return this.returnStates.length}},A(g1,"ArrayPredictionContext"),g1),bi;(r=>{r.EOF=-1,r.UNKNOWN_SOURCE_NAME=""})(bi||(bi={}));var p;(r=>{r.INVALID_TYPE=0,r.EPSILON=-2,r.MIN_USER_TOKEN_TYPE=1,r.EOF=bi.EOF,r.DEFAULT_CHANNEL=0,r.HIDDEN_CHANNEL=1,r.MIN_USER_CHANNEL_VALUE=2})(p||(p={}));var j2=A(r=>{const t=r;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),bt=(C0=class{constructor(t,e){E(this,"data");E(this,"hashFunction");E(this,"equalsFunction");this.data={},this.hashFunction=t??J2,this.equalsFunction=e??Q2}add(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const n of i)if(this.equalsFunction(t,n))return n;return i.push(t),t}else return this.data[e]=[t],t}has(t){return this.get(t)!=null}get(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const n of i)if(this.equalsFunction(t,n))return n}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return Ye(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},A(C0,"HashSet"),C0),z=(Xt=class{static andContext(t,e){if(t===null||t===Xt.NONE)return e;if(e===null||e===Xt.NONE)return t;const i=new i3(t,e);return i.opnds.length===1?i.opnds[0]:i}static orContext(t,e){if(t===null)return e;if(e===null)return t;if(t===Xt.NONE||e===Xt.NONE)return Xt.NONE;const i=new r3(t,e);return i.opnds.length===1?i.opnds[0]:i}static filterPrecedencePredicates(t){const e=[];return t.values().forEach(i=>{i instanceof Xt.PrecedencePredicate&&e.push(i)}),e}hashCode(){const t=new $t;return this.updateHashCode(t),t.finish()}evalPrecedence(t,e){return this}},A(Xt,"SemanticContext"),Xt),i3=(Ie=class extends z{constructor(e,i){super();E(this,"opnds");const n=new bt;e instanceof Ie?e.opnds.forEach(o=>{n.add(o)}):n.add(e),i instanceof Ie?i.opnds.forEach(o=>{n.add(o)}):n.add(i);const a=z.filterPrecedencePredicates(n);if(a.length>0){let o=null;a.forEach(h=>{(o===null||h.precedence{o=o===null?h:z.andContext(o,h)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("&&")}},A(Ie,"AND"),Ie),r3=(Oe=class extends z{constructor(e,i){super();E(this,"opnds");const n=new bt;e instanceof Oe?e.opnds.forEach(o=>{n.add(o)}):n.add(e),i instanceof Oe?i.opnds.forEach(o=>{n.add(o)}):n.add(i);const a=z.filterPrecedencePredicates(n);if(a.length>0){const o=a.sort((u,c)=>u.compareTo(c)),h=o[o.length-1];n.add(h)}this.opnds=Array.from(n.values())}equals(e){return this===e?!0:e instanceof Oe?z1(this.opnds,e.opnds):!1}updateHashCode(e){e.update(this.opnds),e.updateWithHashCode(3383313031)}evaluate(e,i){for(const n of this.opnds)if(n.evaluate(e,i))return!0;return!1}evalPrecedence(e,i){let n=!1;const a=[];for(const h of this.opnds){const u=h.evalPrecedence(e,i);if(n||(n=u!==h),u===z.NONE)return z.NONE;u!==null&&a.push(u)}if(!n)return this;if(a.length===0)return null;let o=null;return a.forEach(h=>{o=o===null?h:z.orContext(o,h)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("||")}},A(Oe,"OR"),Oe);(r=>{const i=class i extends r{constructor(h,u,c){super();E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=h??-1,this.predIndex=u??-1,this.isCtxDependent=c??!1}evaluate(h,u){const c=this.isCtxDependent?u:null;return h.sempred(c,this.ruleIndex,this.predIndex)}updateHashCode(h){h.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(h){return this===h?!0:h instanceof i?this.ruleIndex===h.ruleIndex&&this.predIndex===h.predIndex&&this.isCtxDependent===h.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};A(i,"Predicate");let t=i;r.Predicate=t;const n=class n extends r{constructor(h){super();E(this,"precedence");this.precedence=h??0}evaluate(h,u){return h.precpred(u,this.precedence)}evalPrecedence(h,u){return h.precpred(u,this.precedence)?r.NONE:null}compareTo(h){return this.precedence-h.precedence}updateHashCode(h){h.update(this.precedence)}equals(h){return this===h?!0:h instanceof n?this.precedence===h.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};A(n,"PrecedencePredicate");let e=n;r.PrecedencePredicate=e,r.NONE=new t})(z||(z={}));var n3=A(r=>r===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:r.state??null,alt:r.alt??null,context:r.context??null,semanticContext:r.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),a3=A(r=>r===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:r.state??null,alt:r.alt??null,context:r.context??null,semanticContext:r.semanticContext??null,reachesIntoOuterContext:r.reachesIntoOuterContext??0,precedenceFilterSuppressed:r.precedenceFilterSuppressed??!1},"checkConfig"),_t=(s1=class{constructor(t,e){E(this,"state");E(this,"alt");E(this,"context");E(this,"reachesIntoOuterContext");E(this,"precedenceFilterSuppressed",!1);E(this,"semanticContext");this.checkContext(t,e);const i=n3(t),n=a3(e);this.state=i.state??n.state,this.alt=i.alt??n.alt??0,this.context=i.context??n.context,this.semanticContext=i.semanticContext??n.semanticContext??z.NONE,this.reachesIntoOuterContext=n.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=n.precedenceFilterSuppressed??!1}hashCode(){const t=new $t;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof s1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new $t;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof s1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,e=!0){let i="";return e&&(i=","+this.alt),"("+this.state+i+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==z.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,e){(t.context===null||t.context===void 0)&&(e===null||e.context===null||e.context===void 0)&&(this.context=null)}},A(s1,"ATNConfig"),s1),F=(at=class{constructor(t,e){E(this,"start");E(this,"stop");this.start=t,this.stop=e}static of(t,e){return t!==e||t<0||t>at.INTERVAL_POOL_MAX_VALUE?new at(t,e):(at.cache[t]===null&&(at.cache[t]=new at(t,t)),at.cache[t])}equals(t){return t instanceof at?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return at.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return at.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let e=null;return t.startsBeforeNonDisjoint(this)?e=at.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(e=at.of(this.start,t.start-1)),e}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{h.syntaxError(t,e,i,n,a,o)})}reportAmbiguity(t,e,i,n,a,o,h){this.delegates.forEach(u=>{u.reportAmbiguity(t,e,i,n,a,o,h)})}reportAttemptingFullContext(t,e,i,n,a,o){this.delegates.forEach(h=>{h.reportAttemptingFullContext(t,e,i,n,a,o)})}reportContextSensitivity(t,e,i,n,a,o){this.delegates.forEach(h=>{h.reportContextSensitivity(t,e,i,n,a,o)})}},A(p0,"ProxyErrorListener"),p0),$2=(Pt=class{constructor(){E(this,"interpreter");Q(this,re,[o3.INSTANCE]);Q(this,K0,-1)}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){L(this,re).push(t)}removeErrorListeners(){V(this,re,[])}removeErrorListener(t){for(let e=0;ee.set(i,n)),Pt.ruleIndexMapCache.set(t,e)),e}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||p.INVALID_TYPE}getErrorHeader(t){var n,a;const e=(n=t.offendingToken)==null?void 0:n.line,i=(a=t.offendingToken)==null?void 0:a.column;return"line "+e+":"+i}getErrorListenerDispatch(){return new h3(L(this,re))}sempred(t,e,i){return!0}precpred(t,e){return!0}action(t,e,i){}get atn(){return this.interpreter.atn}get state(){return L(this,K0)}set state(t){V(this,K0,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},re=new WeakMap,K0=new WeakMap,A(Pt,"Recognizer"),E(Pt,"EOF",-1),E(Pt,"tokenTypeMapCache",new Map),E(Pt,"ruleIndexMapCache",new Map),Pt),u3=(De=class{constructor(t,e,i,n,a){E(this,"source");E(this,"tokenIndex",-1);E(this,"start",0);E(this,"stop",0);E(this,"type",0);E(this,"line",0);E(this,"column",-1);E(this,"channel",p.DEFAULT_CHANNEL);Q(this,ne,null);this.source=t,this.type=e,this.channel=i??p.DEFAULT_CHANNEL,this.start=n,this.stop=a,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new De(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,V(t,ne,L(this,ne)),t}cloneWithType(t){const e=new De(this.source,t,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,t===p.EOF&&V(e,ne,""),e}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let i=this.text;i?(i=i.replace(/\n/g,"\\n"),i=i.replace(/\r/g,"\\r"),i=i.replace(/\t/g,"\\t")):i="";let n=String(this.type);return t&&(n=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+i+"',<"+n+">"+e+","+this.line+":"+this.column+"]"}get text(){if(L(this,ne)!==null)return L(this,ne);const t=this.inputStream;if(t===null)return null;const e=t.size;return this.start"}set text(t){V(this,ne,t)}setText(t){V(this,ne,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},ne=new WeakMap,A(De,"CommonToken"),E(De,"EMPTY_SOURCE",[null,null]),De),l3=(r1=class{constructor(t){E(this,"copyText",!1);this.copyText=t??!1}create(t,e,i,n,a,o,h,u){const c=new u3(t,e,n,a,o);return c.line=h,c.column=u,i!==null?c.text=i:this.copyText&&t[1]!==null&&(c.text=t[1].getText(a,o)),c}},A(r1,"CommonTokenFactory"),E(r1,"DEFAULT",new r1),r1),f=(S1=class extends Error{constructor(e){super(e.message);E(this,"ctx");E(this,"offendingToken",null);E(this,"offendingState",-1);E(this,"recognizer");E(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,S1),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},A(S1,"RecognitionException"),S1),Z1=(L0=class extends f{constructor(e,i,n,a){super({message:"",recognizer:e,input:i,ctx:null});E(this,"startIndex");E(this,"deadEndConfigs");this.startIndex=n,this.deadEndConfigs=a}toString(){let e="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(e=>"{"+e.key+":"+e.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},A(N0,"HashMap"),N0),oe=(x0=class{constructor(t){E(this,"parent",null);E(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return F.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new F(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,e;return((t=this.symbol)==null?void 0:t.type)===p.EOF?"":((e=this.symbol)==null?void 0:e.text)??""}toStringTree(){return this.toString()}},A(x0,"TerminalNode"),x0),q1=(g0=class extends oe{accept(t){return t.visitErrorNode(this)}},A(g0,"ErrorNode"),g0),pe=(wt=class{static toStringTree(t,e,i){e=e??null,i=i??null,i!==null&&(e=i.ruleNames);let n=wt.getNodeText(t,e);n=t3(n,!1);const a=t.getChildCount();if(a===0)return n;let o="("+n+" ";a>0&&(n=wt.toStringTree(t.getChild(0),e),o=o.concat(n));for(let h=1;ht.getText()).join("")}getAltNumber(){return P.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?pe.toStringTree(this,null,t[0]):pe.toStringTree(this,t[0],t[1])}toString(t,e){t=t??null,e=e??null;let i=this,n="[";for(;i!==null&&i!==e;){if(t===null)i.isEmpty()||(n+=i.invokingState);else{const a=i.ruleIndex,o=a>=0&&a{super(...o5);E(this,"start",null);E(this,"stop",null);E(this,"exception",null)};e?t(e,i):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(e){super.parent=e}copyFrom(e){this.parent=e.parent,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.forEach(i=>{i instanceof q1&&(this.children.push(i),i.parent=this)},this))}enterRule(e){}exitRule(e){}addAnyChild(e){return this.children==null&&(this.children=[]),this.children.push(e),e}addChild(e){return this.addAnyChild(e)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const i=new oe(e);return this.addAnyChild(i),i.parent=this,i}addErrorNode(e){return e.parent=this,this.addAnyChild(e)}getChild(e,i){if(this.children===null||e<0||e>=this.children.length)return null;if(i){for(const n of this.children)if(n instanceof i){if(e===0)return n;e-=1}return null}else return this.children[e]}getToken(e,i){var n;if(this.children===null||i<0||i>=this.children.length)return null;for(const a of this.children)if(a instanceof oe&&((n=a.symbol)==null?void 0:n.type)===e){if(i===0)return a;i-=1}return null}getTokens(e){var i;if(this.children===null)return[];{const n=[];for(const a of this.children)a instanceof oe&&((i=a.symbol)==null?void 0:i.type)===e&&n.push(a);return n}}getRuleContext(e,i){return this.getChild(e,i)}getRuleContexts(e){if(this.children===null)return[];{const i=[];for(const n of this.children)n instanceof e&&i.push(n);return i}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?F.INVALID_INTERVAL:new F(this.start.tokenIndex,this.stop.tokenIndex)}},A(a1,"ParserRuleContext"),E(a1,"EMPTY",new a1),a1),yr=A((r,t)=>{if(t==null&&(t=T.EMPTY),t.parent===null||t===T.EMPTY)return Y.EMPTY;const e=yr(r,t.parent),n=r.states[t.invokingState].transitions[0];return Ht.create(e,n.followState.stateNumber)},"predictionContextFromRuleContext"),Z2=A((r,t,e)=>{if(r.isEmpty())return r;let i=e.get(r)||null;if(i!==null)return i;if(i=t.get(r),i!==null)return e.set(r,i),i;let n=!1,a=[];for(let h=0;h{if(r===t)return r;if(r instanceof Ht&&t instanceof Ht)return _3(r,t,e,i);if(e){if(r instanceof z2)return r;if(t instanceof z2)return t}return r instanceof Ht&&(r=new We([r.parent],[r.returnState])),t instanceof Ht&&(t=new We([t.parent],[t.returnState])),c3(r,t,e,i)},"merge"),c3=A((r,t,e,i)=>{if(i!==null){let _=i.get(r,t);if(_!==null||(_=i.get(t,r),_!==null))return _}let n=0,a=0,o=0,h=new Array(r.returnStates.length+t.returnStates.length).fill(0),u=new Array(r.returnStates.length+t.returnStates.length).fill(null);for(;n{const t=new Fe;for(const e of r)e&&(t.containsKey(e)||t.set(e,e));for(let e=0;e{if(i!==null){let a=i.get(r,t);if(a!==null||(a=i.get(t,r),a!==null))return a}const n=d3(r,t,e);if(n!==null)return i!==null&&i.set(r,t,n),n;if(r.returnState===t.returnState){const a=wr(r.parent,t.parent,e,i);if(a===r.parent)return r;if(a===t.parent)return t;const o=Ht.create(a,r.returnState);return i!==null&&i.set(r,t,o),o}else{let a=null;if((r===t||r.parent!==null&&r.parent===t.parent)&&(a=r.parent),a!==null){const c=[r.returnState,t.returnState];r.returnState>t.returnState&&(c[0]=t.returnState,c[1]=r.returnState);const _=[a,a],d=new We(_,c);return i!==null&&i.set(r,t,d),d}const o=[r.returnState,t.returnState];let h=[r.parent,t.parent];r.returnState>t.returnState&&(o[0]=t.returnState,o[1]=r.returnState,h=[t.parent,r.parent]);const u=new We(h,o);return i!==null&&i.set(r,t,u),u}},"mergeSingletons"),d3=A((r,t,e)=>{if(e){if(r===Y.EMPTY||t===Y.EMPTY)return Y.EMPTY}else{if(r===Y.EMPTY&&t===Y.EMPTY)return Y.EMPTY;if(r===Y.EMPTY){const i=[t.returnState,Y.EMPTY_RETURN_STATE],n=[t.parent,null];return new We(n,i)}else if(t===Y.EMPTY){const i=[r.returnState,Y.EMPTY_RETURN_STATE],n=[r.parent,null];return new We(n,i)}}return null},"mergeRoot"),zt=(O0=class{constructor(t){E(this,"data");t?this.data=new Uint32Array(t.map(e=>e>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,i=this.data[e];const n=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return e>=this.data.length?!1:(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const i=new Uint32Array(e);i.set(this.data),i.fill(0,this.data.length),this.data=i}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},A(O0,"BitSet"),O0),R3=A(r=>r.hashCodeForConfigSet(),"hashATNConfig"),T3=A((r,t)=>r===t?!0:r===null||t===null?!1:r.equalsForConfigSet(t),"equalATNConfigs"),Yt=(I1=class{constructor(t){E(this,"configs",[]);E(this,"hasSemanticContext",!1);E(this,"dipsIntoOuterContext",!1);E(this,"fullCtx");E(this,"uniqueAlt",0);E(this,"configLookup",new bt(R3,T3));E(this,"conflictingAlts",null);E(this,"readOnly",!1);E(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,e){if(e===void 0&&(e=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==z.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const i=this.configLookup.add(t);if(i===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const n=!this.fullCtx,a=wr(i.context,t.context,n,e);return i.reachesIntoOuterContext=Math.max(i.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(i.precedenceFilterSuppressed=!0),i.context=a,!0}getStates(){const t=new bt;for(const e of this.configs)t.add(e.state);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==z.NONE&&t.push(e.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e,null);return!1}equals(t){return this===t||t instanceof I1&&z1(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new $t;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new bt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new bt)}toString(){return Ye(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==P.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new zt;for(let e of this.configs)t.set(e.alt);return t}},A(I1,"ATNConfigSet"),I1),he=(O1=class{constructor(t){E(this,"stateNumber",-1);E(this,"configs",new Yt);E(this,"edges",null);E(this,"isAcceptState",!1);E(this,"prediction",-1);E(this,"lexerActionExecutor",null);E(this,"requiresFullContext",!1);E(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new $t;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof O1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=Ye(this.predicates):t+=this.prediction),t.toString()}},A(O1,"DFAState"),O1);(r=>{const e=class e{constructor(n,a){E(this,"pred");E(this,"alt");this.alt=a,this.pred=n}toString(){return`(${this.pred}, ${this.alt})`}};A(e,"PredPrediction");let t=e;r.PredPrediction=t})(he||(he={}));var Zt=(D1=class{constructor(t,e){E(this,"atn");E(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=e,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const e=new Fe;return Z2(t,this.sharedContextCache,e)}getSharedContextCache(){return this.sharedContextCache}},A(D1,"ATNSimulator"),E(D1,"ERROR",new he(2147483647)),D1),q2=(D0=class extends Yt{constructor(){super(),this.configLookup=new bt}},A(D0,"OrderedATNConfigSet"),D0),qt=(Ue=class{constructor(){E(this,"atn");E(this,"stateNumber");E(this,"ruleIndex");E(this,"epsilonOnlyTransitions");E(this,"nextTokenWithinRule");E(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Ue.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Ue?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,e){e===void 0&&(e=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),e===-1?this.transitions.push(t):this.transitions.splice(e,1,t)}},A(Ue,"ATNState"),E(Ue,"INVALID_STATE_NUMBER",-1),Ue),H={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},xt=(M0=class extends qt{get stateType(){return H.RULE_STOP}},A(M0,"RuleStopState"),M0),Xe=(U0=class extends qt{constructor(){super(...arguments);E(this,"decision",-1);E(this,"nonGreedy",!1)}},A(U0,"DecisionState"),U0),te=(M1=class extends _t{constructor(e,i){super(e,i);E(this,"lexerActionExecutor");E(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=e.lexerActionExecutor??(i==null?void 0:i.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=i!==null?this.checkNonGreedyDecision(i,this.state):!1,this}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(e){return this===e||e instanceof M1&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&super.equals(e)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(e){return this.equals(e)}checkNonGreedyDecision(e,i){return e.passedThroughNonGreedyDecision||i instanceof Xe&&i.nonGreedy}},A(M1,"LexerATNConfig"),M1),ee=(y0=class{constructor(t){E(this,"actionType");E(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new $t;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},A(y0,"LexerAction"),y0),vr=(U1=class extends ee{constructor(e,i){super(i.actionType);E(this,"offset");E(this,"action");this.offset=e,this.action=i,this.isPositionDependent=!0}execute(e){this.action.execute(e)}updateHashCode(e){e.update(this.actionType,this.offset,this.action)}equals(e){return this===e?!0:e instanceof U1?this.offset===e.offset&&this.action===e.action:!1}},A(U1,"LexerIndexedCustomAction"),U1),f3=(ce=class extends ee{constructor(e){super(-1);E(this,"lexerActions");E(this,"cachedHashCode");return this.lexerActions=e===null?[]:e,this.cachedHashCode=$t.hashStuff(e),this}static append(e,i){if(e===null)return new ce([i]);const n=e.lexerActions.concat([i]);return new ce(n)}fixOffsetBeforeMatch(e){let i=null;for(let n=0;n",t+=this.getStateString(o),t+=` +`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const e=t.stateNumber,i=(t.isAcceptState?":":"")+"s"+e+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${i}=>${t.predicates.toString()}`:`${i}=>${t.prediction}`:`${i}`}},A(w0,"DFASerializer"),w0),se=(pt=class{constructor(t,e,i){E(this,"maxTokenType");E(this,"literalNames");E(this,"symbolicNames");E(this,"displayNames");this.literalNames=t??pt.EMPTY_NAMES,this.symbolicNames=e??pt.EMPTY_NAMES,this.displayNames=i??pt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return pt.EMPTY_VOCABULARY;const e=[...t],i=[...t];for(let n=0;n0){const o=a.charAt(0);if(o==="'"){i[n]=null;continue}else if(o.toUpperCase()===o){e[n]=null;continue}}e[n]=null,i[n]=null}}return new pt(e,i,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(e)+"'")}},A(v0,"LexerDFASerializer"),v0),Ke=(b0=class extends Xe{constructor(){super();E(this,"loopBackState");E(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return H.STAR_LOOP_ENTRY}},A(b0,"StarLoopEntryState"),b0),Qe=(H0=class{constructor(t,e){E(this,"states",new bt);E(this,"s0",null);E(this,"decision");E(this,"atnStartState");E(this,"precedenceDfa");E(this,"isPrecedenceDfa",()=>this.precedenceDfa);E(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});E(this,"setPrecedenceStartState",(t,e)=>{var i;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((i=this.s0)!=null&&i.edges))){if(t>=this.s0.edges.length){const n=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,n,t)}this.s0.edges[t]=e}});this.atnStartState=t,this.decision=e??0;let i=!1;if(t instanceof Ke&&t.precedenceRuleDecision){i=!0;const n=new he;n.edges=[],n.isAcceptState=!1,n.requiresFullContext=!1,this.s0=n}this.precedenceDfa=i}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((e,i)=>e.stateNumber-i.stateNumber),t}toString(t){return t?this.s0===null?"":new ta(this,t).toString()??"":this.toString(se.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new A3(this).toString()??""}},A(H0,"DFA"),H0),Je=(J=class extends Zt{constructor(e,i,n,a){super(i,a);E(this,"decisionToDFA");E(this,"recog",null);E(this,"startIndex",-1);E(this,"line",1);E(this,"column",0);E(this,"mode",kt.DEFAULT_MODE);E(this,"prevAccept",new J.SimState);this.decisionToDFA=n,this.recog=e}copyState(e){this.column=e.column,this.line=e.line,this.mode=e.mode,this.startIndex=e.startIndex}match(e,i){this.mode=i;const n=e.mark();try{this.startIndex=e.index,this.prevAccept.reset();const a=this.decisionToDFA[i];return a.s0===null?this.matchATN(e):this.execATN(e,a.s0)}finally{e.release(n)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=kt.DEFAULT_MODE}getDFA(e){return this.decisionToDFA[e]}getText(e){return e.getText(this.startIndex,e.index-1)}consume(e){e.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,e.consume()}getTokenName(e){return e===-1?"EOF":"'"+String.fromCharCode(e)+"'"}clearDFA(){for(let e=0;eJ.MAX_DFA_EDGE)return null;let n=e.edges[i-J.MIN_DFA_EDGE];return n===void 0&&(n=null),J.debug&&n!==null&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}computeTargetState(e,i,n){const a=new q2;return this.getReachableConfigSet(e,i.configs,a,n),a.items.length===0?(a.hasSemanticContext||this.addDFAEdge(i,n,Zt.ERROR),Zt.ERROR):this.addDFAEdge(i,n,null,a)}failOrAccept(e,i,n,a){if(e.dfaState!==null){const o=e.dfaState.lexerActionExecutor;return this.accept(i,o,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}else{if(a===p.EOF&&i.index===this.startIndex)return p.EOF;throw new Z1(this.recog,i,this.startIndex,n)}}getReachableConfigSet(e,i,n,a){let o=P.INVALID_ALT_NUMBER;for(const h of i.items){const u=h.alt===o;if(!(u&&h.passedThroughNonGreedyDecision)){J.debug&&console.log(`testing %s at %s +`,this.getTokenName(a),h.toString(this.recog,!0));for(const c of h.state.transitions){const _=this.getReachableTarget(c,a);if(_!==null){let d=h.lexerActionExecutor;d!==null&&(d=d.fixOffsetBeforeMatch(e.index-this.startIndex));const R=a===p.EOF,C=new te({state:_,lexerActionExecutor:d},h);this.closure(e,C,n,u,!0,R)&&(o=h.alt)}}}}}accept(e,i,n,a,o,h){J.debug&&console.log(`ACTION %s +`,i),e.seek(a),this.line=o,this.column=h,i!==null&&this.recog!==null&&i.execute(this.recog,e,n)}getReachableTarget(e,i){return e.matches(i,0,kt.MAX_CHAR_VALUE)?e.target:null}computeStartState(e,i){const n=Y.EMPTY,a=new q2;for(let o=0;oJ.MAX_DFA_EDGE||(J.debug&&console.log("EDGE "+e+" -> "+n+" upon "+i),e.edges===null&&(e.edges=new Array(J.MAX_DFA_EDGE-J.MIN_DFA_EDGE+1),e.edges.fill(null)),e.edges[i-J.MIN_DFA_EDGE]=n),n}addDFAState(e){const i=new he(e);let n=null;for(const u of e.items)if(u.state instanceof xt){n=u;break}n!==null&&(i.isAcceptState=!0,i.lexerActionExecutor=n.lexerActionExecutor,i.prediction=this.atn.ruleToTokenType[n.state.ruleIndex]);const a=this.decisionToDFA[this.mode],o=a.states.get(i);if(o!==null)return o;const h=i;return h.stateNumber=a.states.length,e.setReadonly(!0),h.configs=e,a.states.add(h),h}},A(J,"LexerATNSimulator"),E(J,"MIN_DFA_EDGE",0),E(J,"MAX_DFA_EDGE",127),E(J,"debug",!1),E(J,"dfa_debug",!1),J);(r=>{const e=class e{constructor(){E(this,"index",-1);E(this,"line",0);E(this,"column",-1);E(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};A(e,"SimState");let t=e;r.SimState=t})(Je||(Je={}));var kt=(Rt=class extends $2{constructor(e){super();E(this,"_input");E(this,"_token",null);E(this,"_tokenStartCharIndex",-1);E(this,"_tokenStartLine",0);E(this,"_tokenStartColumn",0);E(this,"_hitEOF",!1);E(this,"_channel",0);E(this,"_type",0);E(this,"_modeStack",[]);E(this,"_mode",Rt.DEFAULT_MODE);E(this,"_text",null);E(this,"_factory");this._input=e,this._factory=l3.DEFAULT}reset(e=!0){e&&this._input.seek(0),this._token=null,this._type=p.INVALID_TYPE,this._channel=p.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Rt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const e=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=p.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let i=!1;for(;;){this._type=p.INVALID_TYPE;let n=Rt.SKIP;try{n=this.interpreter.match(this._input,this._mode)}catch(a){if(a instanceof Z1)this.notifyListeners(a),this.recover(a);else throw a}if(this._input.LA(1)===p.EOF&&(this._hitEOF=!0),this._type===p.INVALID_TYPE&&(this._type=n),this._type===Rt.SKIP){i=!0;break}if(this._type!==Rt.MORE)break}if(!i)return this._token===null&&this.emit(),this._token}}finally{this._input.release(e)}}skip(){this._type=Rt.SKIP}more(){this._type=Rt.MORE}mode(e){this._mode=e}pushMode(e){Je.debug&&console.log("pushMode "+e),this._modeStack.push(this._mode),this.mode(e)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return Je.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(e){this._token=e}emit(){const e=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(e),e}emitEOF(){const e=this.column,i=this.line,n=this._factory.create([this,this._input],p.EOF,null,p.DEFAULT_CHANNEL,this._input.index,this._input.index-1,i,e);return this.emitToken(n),n}getCharIndex(){return this._input.index}getAllTokens(){const e=[];let i=this.nextToken();for(;i.type!==p.EOF;)e.push(i),i=this.nextToken();return e}notifyListeners(e){const i=this._tokenStartCharIndex,n=this._input.index,a=this._input.getText(i,n),o="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,e)}getErrorDisplay(e){return e}getErrorDisplayForChar(e){return e.charCodeAt(0)===p.EOF?"":e===` +`?"\\n":e===" "?"\\t":e==="\r"?"\\r":e}getCharErrorDisplay(e){return"'"+this.getErrorDisplayForChar(e)+"'"}recover(e){this._input.LA(1)!==p.EOF&&(e instanceof Z1?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this.reset(!1),this._input=e}set tokenFactory(e){this._factory=e}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(e){this._type=e}get line(){return this.interpreter.line}set line(e){this.interpreter.line=e}get column(){return this.interpreter.column}set column(e){this.interpreter.column=e}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(e){this._text=e}},A(Rt,"Lexer"),E(Rt,"DEFAULT_MODE",0),E(Rt,"MORE",-2),E(Rt,"SKIP",-3),E(Rt,"DEFAULT_TOKEN_CHANNEL",p.DEFAULT_CHANNEL),E(Rt,"HIDDEN",p.HIDDEN_CHANNEL),E(Rt,"MIN_CHAR_VALUE",0),E(Rt,"MAX_CHAR_VALUE",1114111),Rt),Ct=(it=class{constructor(t){E(this,"intervals",[]);E(this,"readOnly",!1);t&&this.addSet(t)}static of(t,e){const i=new it;return i.addRange(t,e),i}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?p.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?p.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new F(t,t))}addRange(t,e){this.addInterval(new F(t,e))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let e=0;ethis.addInterval(e),this),this}complement(t,e){if(!t)return new it;const i=new it;if(t instanceof it){if(t.isNil)return new it;i.addSet(t)}else i.addInterval(new F(t,e??0));return i.subtract(this)}or(t){const e=new it;return e.addSet(this),t.forEach(i=>e.addSet(i)),e}and(t){if(t.isNil)return new it;const e=this.intervals,i=t.intervals;let n;const a=e.length,o=i.length;let h=0,u=0;for(;ha.stop){i++;continue}let h=null,u=null;if(o.start>a.start&&(h=new F(a.start,o.start-1)),o.stopt)n=a-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let e=0;for(const i of this.intervals){if(t.stop<=i.start)return;if(t.start>i.start&&t.stop=i.stop?(this.intervals.splice(e,1),e=e-1):t.start1&&(e+="{");let i=!1,n;t instanceof se?n=t:Array.isArray(t)?n=se.fromTokenNames(t):i=t??!1;for(let a=0;a":i?e+="'"+String.fromCodePoint(h)+"'":n?e+=this.elementName(n,h):e+=h;else if(i)e+="'"+String.fromCodePoint(h)+"'..'"+String.fromCodePoint(u)+"'";else if(n)for(let c=h;c<=u;++c)c>h&&(e+=", "),e+=this.elementName(n,c);else e+=h+".."+u;a1&&(e+="}"),e}toArray(){const t=[];for(const e of this.intervals)for(let i=e.start;i<=e.stop;i++)t.push(i);return t}get length(){let t=0;if(this.intervals.length===1){const i=this.intervals[0];return i.stop-i.start+1}for(const i of this.intervals)t+=i.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,e){return e===p.EOF?"":e===p.EPSILON?"":t.getDisplayName(e)}},A(it,"IntervalSet"),E(it,"COMPLETE_CHAR_SET",it.of(kt.MIN_CHAR_VALUE,kt.MAX_CHAR_VALUE)),E(it,"EMPTY_SET",new it),it.COMPLETE_CHAR_SET.readOnly=!0,it.EMPTY_SET.readOnly=!0,it),ki=(k0=class extends Ce{constructor(e,i,n,a){super(e);E(this,"ruleIndex");E(this,"precedence");E(this,"followState");this.ruleIndex=i,this.precedence=n,this.followState=a}get isEpsilon(){return!0}get serializationType(){return M.RULE}matches(e,i,n){return!1}},A(k0,"RuleTransition"),k0),br=(P0=class extends Ce{constructor(e,i){super(e);Q(this,ye,void 0);i!=null?V(this,ye,i):(V(this,ye,new Ct),L(this,ye).addOne(p.INVALID_TYPE))}get label(){return L(this,ye)}get serializationType(){return M.SET}matches(e,i,n){return this.label.contains(e)}toString(){return L(this,ye).toString()}},ye=new WeakMap,A(P0,"SetTransition"),P0),Hr=(B0=class extends br{constructor(t,e){super(t,e)}get serializationType(){return M.NOT_SET}matches(t,e,i){return t>=e&&t<=i&&!super.matches(t,e,i)}toString(){return"~"+super.toString()}},A(B0,"NotSetTransition"),B0),ea=(G0=class extends Ce{constructor(t){super(t)}get serializationType(){return M.WILDCARD}matches(t,e,i){return t>=e&&t<=i}toString(){return"."}},A(G0,"WildcardTransition"),G0),m3=(we=class{constructor(t){E(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const e=t.transitions.length,i=new Array(e);i.fill(null);for(let n=0;n=this.states.length)throw new Error("Invalid state number.");const i=this.states[t];let n=this.nextTokens(i);if(!n.contains(p.EPSILON))return n;let a=e;const o=new Ct;for(o.addSet(n),o.removeOne(p.EPSILON);a!==null&&a.invokingState>=0&&n.contains(p.EPSILON);){const u=this.states[a.invokingState].transitions[0];n=this.nextTokens(u.followState),o.addSet(n),o.removeOne(p.EPSILON),a=a.parent}return n.contains(p.EPSILON)&&o.addOne(p.EOF),o}nextTokens(t,e){return e===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new m3(this).LOOK(t,null,e)}},A(y1,"ATN"),E(y1,"INVALID_ALT_NUMBER",0),y1),sa=(ve=class{constructor(t){E(this,"readOnly",!1);E(this,"verifyATN");E(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},A(ve,"ATNDeserializationOptions"),E(ve,"defaultOptions",new ve),ve.defaultOptions.readOnly=!0,ve),t0={LEXER:0,PARSER:1},ia=(V0=class extends qt{get stateType(){return H.BASIC}},A(V0,"BasicState"),V0),m1=(Y0=class extends Xe{constructor(){super();E(this,"endState");this.endState=null}},A(Y0,"BlockStartState"),Y0),kr=(F0=class extends qt{constructor(){super(...arguments);E(this,"startState",null)}get stateType(){return H.BLOCK_END}},A(F0,"BlockEndState"),F0),je=(X0=class extends qt{constructor(){super(...arguments);E(this,"loopBackState",null)}get stateType(){return H.LOOP_END}},A(X0,"LoopEndState"),X0),ra=(Q0=class extends qt{constructor(){super();E(this,"stopState");E(this,"isLeftRecursiveRule");E(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return H.RULE_START}},A(Q0,"RuleStartState"),Q0),C3=(J0=class extends Xe{get stateType(){return H.TOKEN_START}},A(J0,"TokensStartState"),J0),na=(j0=class extends Xe{get stateType(){return H.PLUS_LOOP_BACK}},A(j0,"PlusLoopbackState"),j0),Pr=($0=class extends qt{get stateType(){return H.STAR_LOOP_BACK}},A($0,"StarLoopbackState"),$0),Br=(z0=class extends m1{constructor(){super(...arguments);E(this,"loopBackState")}get stateType(){return H.PLUS_BLOCK_START}},A(z0,"PlusBlockStartState"),z0),Gr=(Z0=class extends m1{get stateType(){return H.STAR_BLOCK_START}},A(Z0,"StarBlockStartState"),Z0),aa=(q0=class extends m1{get stateType(){return H.BLOCK_START}},A(q0,"BasicBlockStartState"),q0),Pi=(es=class extends Ce{constructor(e,i){super(e);E(this,"labelValue");Q(this,ts,void 0);this.labelValue=i,V(this,ts,Ct.of(i,i))}get label(){return L(this,ts)}matches(e,i,n){return this.labelValue===e}get serializationType(){return M.ATOM}toString(){return this.labelValue.toString()}},ts=new WeakMap,A(es,"AtomTransition"),es),oa=(is=class extends Ce{constructor(e,i,n){super(e);E(this,"start");E(this,"stop");Q(this,ss,new Ct);this.start=i,this.stop=n,L(this,ss).addRange(i,n)}get label(){return L(this,ss)}get serializationType(){return M.RANGE}matches(e,i,n){return e>=this.start&&e<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ss=new WeakMap,A(is,"RangeTransition"),is),e0=(ns=class extends Ce{constructor(e,i=-1){super(e);Q(this,rs,void 0);V(this,rs,i)}get isEpsilon(){return!0}matches(e,i,n){return!1}get outermostPrecedenceReturn(){return L(this,rs)}get serializationType(){return M.EPSILON}toString(){return"epsilon"}},rs=new WeakMap,A(ns,"EpsilonTransition"),ns),ha=(as=class extends Mr{constructor(e,i,n,a){super(e);E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=i,this.predIndex=n,this.isCtxDependent=a}get isEpsilon(){return!0}matches(e,i,n){return!1}get serializationType(){return M.PREDICATE}getPredicate(){return new z.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},A(as,"PredicateTransition"),as),W3=(os=class extends Mr{constructor(e,i){super(e);E(this,"precedence");this.precedence=i}get isEpsilon(){return!0}matches(e,i,n){return!1}getPredicate(){return new z.PrecedencePredicate(this.precedence)}get serializationType(){return M.PRECEDENCE}toString(){return this.precedence+" >= _p"}},A(os,"PrecedencePredicateTransition"),os),Wt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},p3=(o1=class extends ee{constructor(){super(Wt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},A(o1,"LexerSkipAction"),E(o1,"INSTANCE",new o1),o1),K3=(w1=class extends ee{constructor(e){super(Wt.CHANNEL);E(this,"channel");this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(e){return this===e?!0:e instanceof w1?this.channel===e.channel:!1}toString(){return"channel("+this.channel+")"}},A(w1,"LexerChannelAction"),w1),L3=(v1=class extends ee{constructor(e,i){super(Wt.CUSTOM);E(this,"ruleIndex");E(this,"actionIndex");this.ruleIndex=e,this.actionIndex=i,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(e){return this===e?!0:e instanceof v1?this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex:!1}},A(v1,"LexerCustomAction"),v1),N3=(h1=class extends ee{constructor(){super(Wt.MORE)}execute(t){t.more()}toString(){return"more"}},A(h1,"LexerMoreAction"),E(h1,"INSTANCE",new h1),h1),x3=(b1=class extends ee{constructor(e){super(Wt.TYPE);E(this,"type");this.type=e}execute(e){e._type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(e){return this===e?!0:e instanceof b1?this.type===e.type:!1}toString(){return"type("+this.type+")"}},A(b1,"LexerTypeAction"),b1),g3=(H1=class extends ee{constructor(e){super(Wt.PUSH_MODE);E(this,"mode");this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof H1?this.mode===e.mode:!1}toString(){return"pushMode("+this.mode+")"}},A(H1,"LexerPushModeAction"),H1),S3=(u1=class extends ee{constructor(){super(Wt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},A(u1,"LexerPopModeAction"),E(u1,"INSTANCE",new u1),u1),I3=(k1=class extends ee{constructor(e){super(Wt.MODE);E(this,"mode");this.mode=e}execute(e){e.mode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof k1?this.mode===e.mode:!1}toString(){return"mode("+this.mode+")"}},A(k1,"LexerModeAction"),k1),Vr=A((r,t)=>{const e=new Array(r-1);return e[r-1]=t,e.map(()=>t)},"initArray"),s0=(be=class{constructor(t){E(this,"data",[]);E(this,"pos",0);E(this,"deserializationOptions");E(this,"stateFactories",null);E(this,"actionFactories",null);t||(t=sa.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const i=[];return this.readSets(e,i),this.readEdges(e,i),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===t0.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==be.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+be.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),e=this.readInt();return new P(t,e)}readStates(t){let e,i;const n=[],a=[],o=this.readInt();for(let c=0;c0;)a.addTransition(c.transitions[_-1]),c.transitions=c.transitions.slice(-1);t.ruleToStartState[e].addTransition(new e0(a)),u&&o.addTransition(new e0(u));const d=new ia;t.addState(d),d.addTransition(new Pi(o,t.ruleToTokenType[e])),a.addTransition(new e0(d))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e||!(t instanceof Ke))return null;const i=t.transitions[t.transitions.length-1].target;return i instanceof je&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof xt?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof Ke&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const i=e.transitions[e.transitions.length-1].target;i instanceof je&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof xt&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const e of t.states)if(e!==null)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof Br)this.checkCondition(e.loopBackState!==null);else if(e instanceof Ke)if(this.checkCondition(e.loopBackState!==null),this.checkCondition(e.transitions.length===2),e.transitions[0].target instanceof Gr)this.checkCondition(e.transitions[1].target instanceof je),this.checkCondition(!e.nonGreedy);else if(e.transitions[0].target instanceof je)this.checkCondition(e.transitions[1].target instanceof Gr),this.checkCondition(e.nonGreedy);else throw new Error("IllegalState");else e instanceof Pr?(this.checkCondition(e.transitions.length===1),this.checkCondition(e.transitions[0].target instanceof Ke)):e instanceof je?this.checkCondition(e.loopBackState!==null):e instanceof ra?this.checkCondition(e.stopState!==null):e instanceof m1?this.checkCondition(e.endState!==null):e instanceof kr?this.checkCondition(e.startState!==null):e instanceof Xe?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof xt)}}checkCondition(t,e){if(!t)throw e==null&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}edgeFactory(t,e,i,n,a,o,h){const u=t.states[i];switch(e){case M.EPSILON:return new e0(u);case M.RANGE:return o!==0?new oa(u,p.EOF,a):new oa(u,n,a);case M.RULE:return new ki(t.states[n],a,o,u);case M.PREDICATE:return new ha(u,n,a,o!==0);case M.PRECEDENCE:return new W3(u,n);case M.ATOM:return o!==0?new Pi(u,p.EOF):new Pi(u,n);case M.ACTION:return new G2(u,n,a,o!==0);case M.SET:return new br(u,h[n]);case M.NOT_SET:return new Hr(u,h[n]);case M.WILDCARD:return new ea(u);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(t,e){var i,n;if(this.stateFactories===null){const a=[];a[H.INVALID_TYPE]=null,a[H.BASIC]=()=>new ia,a[H.RULE_START]=()=>new ra,a[H.BLOCK_START]=()=>new aa,a[H.PLUS_BLOCK_START]=()=>new Br,a[H.STAR_BLOCK_START]=()=>new Gr,a[H.TOKEN_START]=()=>new C3,a[H.RULE_STOP]=()=>new xt,a[H.BLOCK_END]=()=>new kr,a[H.STAR_LOOP_BACK]=()=>new Pr,a[H.STAR_LOOP_ENTRY]=()=>new Ke,a[H.PLUS_LOOP_BACK]=()=>new na,a[H.LOOP_END]=()=>new je,this.stateFactories=a}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const a=((n=(i=this.stateFactories)[t])==null?void 0:n.call(i))??null;if(a!==null)return a.ruleIndex=e,a}return null}lexerActionFactory(t,e,i){if(this.actionFactories===null){const n=[];n[Wt.CHANNEL]=(a,o)=>new K3(a),n[Wt.CUSTOM]=(a,o)=>new L3(a,o),n[Wt.MODE]=(a,o)=>new I3(a),n[Wt.MORE]=(a,o)=>N3.INSTANCE,n[Wt.POP_MODE]=(a,o)=>S3.INSTANCE,n[Wt.PUSH_MODE]=(a,o)=>new g3(a),n[Wt.SKIP]=(a,o)=>p3.INSTANCE,n[Wt.TYPE]=(a,o)=>new x3(a),this.actionFactories=n}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](e,i)}},A(be,"ATNDeserializer"),E(be,"SERIALIZED_VERSION",4),be),ht=(hs=class extends f{constructor(e,i=null,n=null,a=null,o=null,h=null){h=h??e.context,a=a??e.getCurrentToken(),n=n??e.getCurrentToken(),i=i??e.inputStream;super({message:"",recognizer:e,input:i,ctx:h});E(this,"deadEndConfigs",null);E(this,"startToken");this.deadEndConfigs=o,this.startToken=n,this.offendingToken=a}},A(hs,"NoViableAltException"),hs),O3=(us=class{constructor(){E(this,"cacheMap");this.cacheMap=new Fe}get(t,e){const i=this.cacheMap.get(t)??null;return i===null?null:i.get(e)??null}set(t,e,i){let n=this.cacheMap.get(t)??null;n===null&&(n=new Fe,this.cacheMap.set(t,n)),n.set(e,i)}},A(us,"DoubleDict"),us),dt=(Kt=class{static hasSLLConflictTerminatingPrediction(t,e){if(Kt.allConfigsInRuleStopStates(e))return!0;if(t===Kt.SLL&&e.hasSemanticContext){const n=new Yt;for(let a of e.items)a=new _t({semanticContext:z.NONE},a),n.add(a);e=n}const i=Kt.getConflictingAltSubsets(e);return Kt.hasConflictingAltSet(i)&&!Kt.hasStateAssociatedWithOneAlt(e)}static hasConfigInRuleStopState(t){for(const e of t.items)if(e.state instanceof xt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const e of t.items)if(!(e.state instanceof xt))return!1;return!0}static resolvesToJustOneViableAlt(t){return Kt.getSingleViableAlt(t)}static allSubsetsConflict(t){return!Kt.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const e of t)if(e.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const e of t)if(e.length>1)return!0;return!1}static allSubsetsEqual(t){let e=null;for(const i of t)if(e===null)e=i;else if(i!==e)return!1;return!0}static getUniqueAlt(t){const e=Kt.getAlts(t);return e.length===1?e.nextSetBit(0):P.INVALID_ALT_NUMBER}static getAlts(t){const e=new zt;return t.forEach(i=>{e.or(i)}),e}static getConflictingAltSubsets(t){const e=new Fe(i=>$t.hashStuff(i.state.stateNumber,i.context),(i,n)=>{var a;return i.state.stateNumber===n.state.stateNumber&&(((a=i.context)==null?void 0:a.equals(n.context))??!0)});return t.items.forEach(i=>{let n=e.get(i);n===null&&(n=new zt,e.set(i,n)),n.set(i.alt)}),e.getValues()}static getStateToAltMap(t){const e=new Fe;return t.items.forEach(i=>{let n=e.get(i.state);n||(n=new zt,e.set(i.state,n)),n.set(i.alt)}),e}static hasStateAssociatedWithOneAlt(t){const e={};return t.items.forEach(i=>{const n=i.state.stateNumber;e[n]||(e[n]=0),e[n]++}),Object.values(e).some(i=>i===1)}static getSingleViableAlt(t){let e=null;for(const i of t){const n=i.nextSetBit(0);if(e===null)e=n;else if(e!==n)return P.INVALID_ALT_NUMBER}return e??0}},A(Kt,"PredictionMode"),E(Kt,"SLL",0),E(Kt,"LL",1),E(Kt,"LL_EXACT_AMBIG_DETECTION",2),Kt),Bi=(y=class extends Zt{constructor(e,i,n,a){super(i,a);E(this,"predictionMode");E(this,"decisionToDFA");E(this,"parser");E(this,"mergeCache",null);E(this,"_input",null);E(this,"_startIndex",0);E(this,"_outerContext",null);E(this,"_dfa",null);this.parser=e,this.decisionToDFA=n}static getUniqueAlt(e){let i=P.INVALID_ALT_NUMBER;for(const n of e.items)if(i===P.INVALID_ALT_NUMBER)i=n.alt;else if(n.alt!==i)return P.INVALID_ALT_NUMBER;return i}reset(){}clearDFA(){for(let e=0;e"}getTokenName(e){if(e===p.EOF)return"EOF";const n=(this.parser!=null?this.parser.vocabulary:se.EMPTY_VOCABULARY).getDisplayName(e);return n===e.toString()?n:n+"<"+e+">"}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const i=e.deadEndConfigs.items;for(const n of i){let a="no edges";if(n.state.transitions.length>0){const o=n.state.transitions[0];o instanceof Pi?a="Atom "+this.getTokenName(o.labelValue):o instanceof br&&(a=(o instanceof Hr?"~":"")+"Set "+o.label)}console.error(n.toString(this.parser,!0)+":"+a)}}predicateDFAState(e,i){const n=i.transitions.length,a=this.getConflictingAltsOrUniqueAlt(e.configs),o=this.getPredsForAmbigAlts(a,e.configs,n);o!==null?(e.predicates=this.getPredicatePredictions(a,o),e.prediction=P.INVALID_ALT_NUMBER):e.prediction=a.nextSetBit(0)}execATNWithFullContext(e,i,n,a,o,h){(y.debug||y.trace_atn_sim)&&console.log("execATNWithFullContext "+n);const u=!0;let c=!1,_,d=n;a.seek(o);let R=a.LA(1),C=-1;for(;;){if(_=this.computeReachSet(d,R,u),_===null){const g=this.noViableAlt(a,h,d,o);a.seek(o);const S=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(d,h);if(S!==P.INVALID_ALT_NUMBER)return S;throw g}const K=dt.getConflictingAltSubsets(_);if(y.debug&&console.log("LL altSubSets="+K+", predict="+dt.getUniqueAlt(K)+", resolvesToJustOneViableAlt="+dt.resolvesToJustOneViableAlt(K)),_.uniqueAlt=y.getUniqueAlt(_),_.uniqueAlt!==P.INVALID_ALT_NUMBER){C=_.uniqueAlt;break}else if(this.predictionMode!==dt.LL_EXACT_AMBIG_DETECTION){if(C=dt.resolvesToJustOneViableAlt(K),C!==P.INVALID_ALT_NUMBER)break}else if(dt.allSubsetsConflict(K)&&dt.allSubsetsEqual(K)){c=!0,C=dt.getSingleViableAlt(K);break}d=_,R!==p.EOF&&(a.consume(),R=a.LA(1))}return _.uniqueAlt!==P.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,C,_,o,a.index),C):(this.reportAmbiguity(e,i,o,a.index,c,null,_),C)}computeReachSet(e,i,n){y.debug&&console.log("in computeReachSet, starting closure: "+e),this.mergeCache===null&&(this.mergeCache=new O3);const a=new Yt(n);let o=null;for(const u of e.items){if(y.debug&&console.log("testing "+this.getTokenName(i)+" at "+u),u.state instanceof xt){(n||i===p.EOF)&&(o===null&&(o=[]),o.push(u));continue}for(const c of u.state.transitions){const _=this.getReachableTarget(c,i);if(_!==null){const d=new _t({state:_},u);a.add(d,this.mergeCache)}}}let h=null;if(o===null&&i!==p.EOF&&(a.items.length===1||y.getUniqueAlt(a)!==P.INVALID_ALT_NUMBER)&&(h=a),h===null){h=new Yt(n);const u=new bt,c=i===p.EOF;for(const _ of a.items)this.closure(_,h,u,!1,n,c)}if(i===p.EOF&&(h=this.removeAllConfigsNotInRuleStopState(h,h===a)),o!==null&&(!n||!dt.hasConfigInRuleStopState(h)))for(const u of o)h.add(u,this.mergeCache);return h.items.length===0?null:h}removeAllConfigsNotInRuleStopState(e,i){if(dt.allConfigsInRuleStopStates(e))return e;const n=new Yt(e.fullCtx);for(const a of e.items){if(a.state instanceof xt){n.add(a,this.mergeCache);continue}if(i&&a.state.epsilonOnlyTransitions&&this.atn.nextTokens(a.state).contains(p.EPSILON)){const h=this.atn.ruleToStopState[a.state.ruleIndex];n.add(new _t({state:h},a),this.mergeCache)}}return n}computeStartState(e,i,n){const a=yr(this.atn,i),o=new Yt(n);for(let h=0;h0&&(h=this.getAltThatFinishedDecisionEntryRule(o),h!==P.INVALID_ALT_NUMBER)?h:P.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const i=[];for(const n of e.items)(n.reachesIntoOuterContext>0||n.state instanceof xt&&n.context.hasEmptyPath())&&i.indexOf(n.alt)<0&&i.push(n.alt);return i.length===0?P.INVALID_ALT_NUMBER:Math.min(...i)}splitAccordingToSemanticValidity(e,i){const n=new Yt(e.fullCtx),a=new Yt(e.fullCtx);for(const o of e.items)o.semanticContext!==z.NONE?o.semanticContext.evaluate(this.parser,i)?n.add(o):a.add(o):n.add(o);return[n,a]}evalSemanticContext(e,i,n){const a=new zt;for(const o of e){if(o.pred===z.NONE){if(a.set(o.alt),!n)break;continue}const h=o.pred.evaluate(this.parser,i);if((y.debug||y.dfa_debug)&&console.log("eval pred "+o+"="+h),h&&((y.debug||y.dfa_debug)&&console.log("PREDICT "+o.alt),a.set(o.alt),!n))break}return a}closure(e,i,n,a,o,h){this.closureCheckingStopState(e,i,n,a,o,0,h)}closureCheckingStopState(e,i,n,a,o,h,u){if(e.state instanceof xt)if(e.context&&!e.context.isEmpty()){for(let c=0;c=0&&(g+=1)}this.closureCheckingStopState(K,i,n,C,o,g,u)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const i=e.state;if(i.stateType!==H.STAR_LOOP_ENTRY||!e.context||!i.precedenceRuleDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const n=e.context.length;for(let u=0;u=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+Ye(this.parser.getRuleInvocationStack())));let h=null;if(n&&a)if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(h=new _t({state:i.target},e))}else{const u=z.andContext(e.semanticContext,i.getPredicate());h=new _t({state:i.target,semanticContext:u},e)}else h=new _t({state:i.target},e);return y.debug&&console.log("config from pred transition="+h),h}predTransition(e,i,n,a,o){y.debug&&(console.log("PRED (collectPredicates="+n+") "+i.ruleIndex+":"+i.predIndex+", ctx dependent="+i.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+Ye(this.parser.getRuleInvocationStack())));let h=null;if(n&&(i.isCtxDependent&&a||!i.isCtxDependent))if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(h=new _t({state:i.target},e))}else{const u=z.andContext(e.semanticContext,i.getPredicate());h=new _t({state:i.target,semanticContext:u},e)}else h=new _t({state:i.target},e);return y.debug&&console.log("config from pred transition="+h),h}ruleTransition(e,i){y.debug&&console.log("CALL rule "+this.getRuleName(i.target.ruleIndex)+", ctx="+e.context);const n=i.followState,a=Ht.create(e.context,n.stateNumber);return new _t({state:i.target,context:a},e)}getConflictingAlts(e){const i=dt.getConflictingAltSubsets(e);return dt.getAlts(i)}getConflictingAltsOrUniqueAlt(e){let i;return e.uniqueAlt!==P.INVALID_ALT_NUMBER?(i=new zt,i.set(e.uniqueAlt)):i=e.conflictingAlts,i}noViableAlt(e,i,n,a){return new ht(this.parser,e,e.get(a),e.LT(1),n,i)}addDFAEdge(e,i,n,a){return y.debug&&console.log("EDGE "+i+" -> "+a+" upon "+this.getTokenName(n)),a===null?null:(a=this.addDFAState(e,a),i===null||n<-1||n>this.atn.maxTokenType||(i.edges===null&&(i.edges=new Array(this.atn.maxTokenType+2),i.edges.fill(null)),i.edges[n+1]=a,y.debug&&console.log(`DFA= +`+e.toString(this.parser!=null?this.parser.vocabulary:se.EMPTY_VOCABULARY))),a)}addDFAState(e,i){if(i===Zt.ERROR)return i;const n=e.states.get(i);return n!==null?n:(i.stateNumber=e.states.length,i.configs.readOnly||(i.configs.optimizeConfigs(this),i.configs.setReadonly(!0)),e.states.add(i),y.debug&&console.log("adding new DFA state: "+i),i)}reportAttemptingFullContext(e,i,n,a,o){if(y.debug||y.retry_debug){const h=new F(a,o+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.tokenStream.getText(h))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,a,o,i,n)}reportContextSensitivity(e,i,n,a,o){if(y.debug||y.retry_debug){const h=new F(a,o+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.tokenStream.getText(h))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,a,o,i,n)}reportAmbiguity(e,i,n,a,o,h,u){if(y.debug||y.retry_debug){const c=new F(n,a+1);console.log("reportAmbiguity "+h+":"+u+", input="+this.parser.tokenStream.getText(c))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,a,o,h,u)}},A(y,"ParserATNSimulator"),E(y,"debug"),E(y,"trace_atn_sim",!1),E(y,"debug_add",!1),E(y,"debug_closure",!1),E(y,"dfa_debug",!1),E(y,"retry_debug",!1),y),i0=(ls=class{constructor(){E(this,"cache",new Fe)}add(t){if(t===Y.EMPTY)return Y.EMPTY;const e=this.cache.get(t)||null;return e!==null?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},A(ls,"PredictionContextCache"),ls),r0=(cs=class{constructor(t,e,i,n,a,o){E(this,"decision");E(this,"configs");E(this,"input");E(this,"startIndex");E(this,"stopIndex");E(this,"fullCtx");this.decision=t,this.configs=e,this.input=i,this.startIndex=n,this.stopIndex=a,this.fullCtx=o}},A(cs,"DecisionEventInfo"),cs),D3=(Es=class extends r0{constructor(e,i,n,a,o,h,u){super(e,i,a,o,h,u);E(this,"ambigAlts");this.ambigAlts=n}},A(Es,"AmbiguityInfo"),Es),ua=(_s=class extends r0{constructor(t,e,i,n,a){super(t,e,i,n,a,!0)}},A(_s,"ContextSensitivityInfo"),_s),M3=(ds=class{constructor(t){E(this,"decision",0);E(this,"invocations",0);E(this,"timeInPrediction",0);E(this,"SLL_TotalLook",0);E(this,"SLL_MinLook",0);E(this,"SLL_MaxLook",0);E(this,"SLL_MaxLookEvent");E(this,"LL_TotalLook",0);E(this,"LL_MinLook",0);E(this,"LL_MaxLook",0);E(this,"LL_MaxLookEvent");E(this,"contextSensitivities");E(this,"errors");E(this,"ambiguities");E(this,"predicateEvals");E(this,"SLL_ATNTransitions",0);E(this,"SLL_DFATransitions",0);E(this,"LL_Fallback",0);E(this,"LL_ATNTransitions",0);E(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},A(ds,"DecisionInfo"),ds),Yr=(Rs=class extends r0{constructor(t,e,i,n,a,o){super(t,e,i,n,a,o)}},A(Rs,"ErrorInfo"),Rs),la=(Ts=class extends r0{constructor(e,i,n,a,o,h,u){super(e,i,a,o,h,u);E(this,"predictedAlt");this.predictedAlt=n}},A(Ts,"LookaheadEventInfo"),Ts),Fr=(fs=class extends Bi{constructor(e){const i=e.interpreter.getSharedContextCache();super(e,e.interpreter.atn,e.interpreter.decisionToDFA,i);E(this,"decisions");E(this,"numDecisions",0);E(this,"currentDecision",0);E(this,"currentState");E(this,"conflictingAltResolvedBySLL");Q(this,Ee,0);Q(this,_e,0);if(i){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let n=0;nthis.decisions[i].SLL_MaxLook&&(this.decisions[i].SLL_MaxLook=u,this.decisions[i].SLL_MaxLookEvent=new la(i,null,o,e,this._startIndex,L(this,Ee),!1)),L(this,_e)>=0){const c=L(this,_e)-this._startIndex+1;this.decisions[i].LL_TotalLook+=c,this.decisions[i].LL_MinLook=this.decisions[i].LL_MinLook===0?c:Math.min(this.decisions[i].LL_MinLook,c),c>this.decisions[i].LL_MaxLook&&(this.decisions[i].LL_MaxLook=c,this.decisions[i].LL_MaxLookEvent=new la(i,null,o,e,this._startIndex,L(this,_e),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(e,i){if(this._input){V(this,Ee,this._input.index);const n=super.getExistingTargetState(e,i);return n!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,n===Zt.ERROR&&this.decisions[this.currentDecision].errors.push(new Yr(this.currentDecision,e.configs,this._input,this._startIndex,L(this,Ee),!1))),this.currentState=n,n}return null}computeTargetState(e,i,n){const a=super.computeTargetState(e,i,n);return this.currentState=a,a}computeReachSet(e,i,n){n&&this._input&&V(this,_e,this._input.index);const a=super.computeReachSet(e,i,n);return this._input&&(n?(this.decisions[this.currentDecision].LL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new Yr(this.currentDecision,e,this._input,this._startIndex,L(this,_e),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new Yr(this.currentDecision,e,this._input,this._startIndex,L(this,Ee),!1)))),a}reportAttemptingFullContext(e,i,n,a,o){i!==null?this.conflictingAltResolvedBySLL=i.nextSetBit(0):this.conflictingAltResolvedBySLL=n.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,i&&super.reportAttemptingFullContext(e,i,n,a,o)}reportContextSensitivity(e,i,n,a,o){i!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new ua(this.currentDecision,n,this._input,a,o)),super.reportContextSensitivity(e,i,n,a,o)}reportAmbiguity(e,i,n,a,o,h,u){let c;h!==null?c=h.nextSetBit(0):c=u.getAlts().nextSetBit(0),this._input&&(u.fullCtx&&c!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new ua(this.currentDecision,u,this._input,n,a)),this.decisions[this.currentDecision].ambiguities.push(new D3(this.currentDecision,u,h,this._input,n,a,u.fullCtx))),super.reportAmbiguity(e,i,n,a,o,h,u)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ee=new WeakMap,_e=new WeakMap,A(fs,"ProfilingATNSimulator"),fs);As=class{constructor(t){E(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),e=[];for(let i=0;i0&&e.push(i);return e}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(let i=0;i0?i:void 0,modes:n.length>0?n:void 0}}},A(Cs,"InterpreterDataReader"),Ws=class{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult();const i=t.getChildCount();for(let n=0;n=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const e=this.index+t-1;return e<0||e>=this.data.length?p.EOF:this.data[e]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,e){let i,n;return t instanceof F?(i=t.start,n=t.stop):(i=t,n=e??this.data.length-1),n>=this.data.length&&(n=this.data.length-1),i>=this.data.length?"":Dn(this,ps,Mn).call(this,i,n+1)}toString(){return Dn(this,ps,Mn).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:bi.UNKNOWN_SOURCE_NAME}},ps=new WeakSet,Mn=function(t,e){const i=this.data.slice(t,e);let n="";return i.forEach(a=>{n+=String.fromCodePoint(a)}),n},A(Ks,"CharStreamImpl"),Ks),Xr=(Ls=class{static fromString(t){return new y3(t)}},A(Ls,"CharStreams"),Ls),w3=(Ns=class{constructor(t){E(this,"tokenSource");E(this,"tokens",[]);E(this,"p",-1);E(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(e)>=e:!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(i===void 0)return this.tokens.slice(t,e+1);const n=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let a=t;a=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let i=this.tokens[t];for(;i.channel!==e;){if(i.type===p.EOF)return-1;t+=1,this.sync(t),i=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.nextTokenOnChannel(t+1,kt.DEFAULT_TOKEN_CHANNEL),n=t+1,a=i===-1?this.tokens.length-1:i;return this.filterForChannel(n,a,e)}getHiddenTokensToLeft(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.previousTokenOnChannel(t-1,kt.DEFAULT_TOKEN_CHANNEL);if(i===t-1)return null;const n=i+1,a=t-1;return this.filterForChannel(n,a,e)}filterForChannel(t,e,i){const n=[];for(let a=t;a=this.tokens.length&&(n=this.tokens.length-1);let a="";for(let o=i;o<=n;o++){const h=this.tokens[o];if(h.type===p.EOF)break;a+=h.text}return a.toString()}else{const e=t[0];return this.getText(e.getSourceInterval())}case 2:{const e=t[0],i=t[1];return e!==null&&i!==null?this.getText(F.of(e.tokenIndex,i.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},A(Ns,"BufferedTokenStream"),Ns),Gi=(xs=class extends w3{constructor(e,i){super(e);E(this,"channel",p.DEFAULT_CHANNEL);this.channel=i??p.DEFAULT_CHANNEL}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let i=this.index,n=1;for(;n<=e;)i=this.previousTokenOnChannel(i-1,this.channel),n+=1;return i<0?null:this.tokens[i]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let i=this.index,n=1;for(;nnew Qe(t,e))),b),v3=(gs=class extends Hi{syntaxError(t,e,i,n,a,o){}},A(gs,"XPathLexerErrorListener"),gs),C1=(Ss=class{constructor(t){E(this,"invert");E(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ss,"XPathElement"),Ss),b3=(Is=class extends C1{constructor(e,i){super(e);E(this,"ruleIndex");this.ruleIndex=i}evaluate(e){return pe.findAllRuleNodes(e,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Is,"XPathRuleAnywhereElement"),Is),H3=(Os=class extends C1{constructor(e,i){super(e);E(this,"ruleIndex");this.ruleIndex=i}evaluate(e){const i=[];for(const n of pe.getChildren(e))n instanceof T&&(n.ruleIndex===this.ruleIndex&&!this.invert||n.ruleIndex!==this.ruleIndex&&this.invert)&&i.push(n);return i}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Os,"XPathRuleElement"),Os),k3=(Ds=class extends C1{constructor(e,i){super(e);E(this,"tokenType");this.tokenType=i}evaluate(e){return pe.findAllTokenNodes(e,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ds,"XPathTokenAnywhereElement"),Ds),P3=(Ms=class extends C1{constructor(e,i){super(e);E(this,"tokenType");this.tokenType=i}evaluate(e){const i=[];for(const n of pe.getChildren(e))n instanceof oe&&n.symbol&&(n.symbol.type===this.tokenType&&!this.invert||n.symbol.type!==this.tokenType&&this.invert)&&i.push(n);return i}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ms,"XPathTokenElement"),Ms),B3=(Us=class extends C1{constructor(){super(Ea.WILDCARD)}evaluate(t){return this.invert?[]:pe.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Us,"XPathWildcardAnywhereElement"),Us),G3=(ys=class extends C1{constructor(){super(Ea.WILDCARD)}evaluate(t){const e=[];if(this.invert)return e;for(const i of pe.getChildren(t))e.push(i);return e}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(ys,"XPathWildcardElement"),ys),Ea=(He=class{constructor(t,e){E(this,"path");E(this,"elements");E(this,"parser");this.parser=t,this.path=e,this.elements=this.split(e)}static findAll(t,e,i){return new He(i,e).evaluate(t)}split(t){const e=new Ft(Xr.fromString(t));e.recover=u=>{throw u},e.removeErrorListeners(),e.addErrorListener(new v3);const i=new Gi(e);try{i.fill()}catch(u){if(u instanceof Z1){const _="Invalid tokens or characters at index "+e.column+" in path '"+t+"' -- "+u.message;throw new RangeError(_)}throw u}const n=i.getTokens(),a=[],o=n.length;let h=0;t:for(;h0&&this.elements[n].evaluate(o).forEach(u=>{a.add(u)},a);n++,i=a}return i}getXPathElement(t,e){if(t.type===p.EOF)throw new Error("Missing path element at end of path");const i=t.text;if(i==null)throw new Error("Expected wordToken to have text content.");const n=this.parser.getTokenType(i),a=this.parser.getRuleIndex(i);switch(t.type){case Ft.WILDCARD:return e?new B3:new G3;case Ft.TOKEN_REF:case Ft.STRING:if(n===p.INVALID_TYPE)throw new Error(i+" at index "+t.start+" isn't a valid token name");return e?new k3(i,n):new P3(i,n);default:if(a===-1)throw new Error(i+" at index "+t.start+" isn't a valid rule name");return e?new b3(i,a):new H3(i,a)}}},A(He,"XPath"),E(He,"WILDCARD","*"),E(He,"NOT","!"),He),Le=(ws=class extends f{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},A(ws,"InputMismatchException"),ws),Vi=(vs=class extends f{constructor(e,i,n=null){super({message:V3(i??"no predicate",n??null),recognizer:e,input:e.inputStream,ctx:e.context});E(this,"ruleIndex",0);E(this,"predicateIndex",0);E(this,"predicate");const o=e.atn.states[e.state].transitions[0];o instanceof ha?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=i,this.offendingToken=e.getCurrentToken()}},A(vs,"FailedPredicateException"),vs),V3=A((r,t)=>t!==null?t:"failed predicate: {"+r+"}?","formatMessage"),Qr=(bs=class{constructor(){E(this,"errorRecoveryMode",!1);E(this,"lastErrorIndex",-1);E(this,"lastErrorStates",new Ct);E(this,"nextTokensContext",null);E(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Ct,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof ht?this.reportNoViableAlternative(t,e):e instanceof Le?this.reportInputMismatch(t,e):e instanceof Vi?this.reportFailedPredicate(t,e):t.notifyErrorListeners(e.message,e.offendingToken,e))}recover(t,e){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const i=this.getErrorRecoverySet(t);this.consumeUntil(t,i)}sync(t){if(this.inErrorRecoveryMode(t))return;const e=t.atn.states[t.state],i=t.tokenStream.LA(1),n=t.atn.nextTokens(e);if(n.contains(i)){this.nextTokensContext=null,this.nextTokenState=qt.INVALID_STATE_NUMBER;return}else if(n.contains(p.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(e.stateType){case H.BLOCK_START:case H.STAR_BLOCK_START:case H.PLUS_BLOCK_START:case H.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new Le(t);case H.PLUS_LOOP_BACK:case H.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const a=new Ct;a.addSet(t.getExpectedTokens());const o=a.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i=t.tokenStream;let n;i!==null&&e.startToken?e.startToken.type===p.EOF?n="":n=i.getText(new F(e.startToken.tokenIndex,e.offendingToken.tokenIndex)):n="";const a="no viable alternative at input "+this.escapeWSAndQuote(n);t.notifyErrorListeners(a,e.offendingToken,e)}reportInputMismatch(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(i,e.offendingToken,e)}reportFailedPredicate(t,e){const n="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;t.notifyErrorListeners(n,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),i=this.getTokenErrorDisplay(e),n=this.getExpectedTokens(t),a="extraneous input "+i+" expecting "+n.toString(t.vocabulary);t.notifyErrorListeners(a,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),n="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(n,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(e!==null)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Le(t)}singleTokenInsertion(t){const e=t.tokenStream.LA(1),i=t.atn,a=i.states[t.state].transitions[0].target;return i.nextTokens(a,t.context).contains(e)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const e=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();const n=t.getCurrentToken();return this.reportMatch(t),n}else return null}getMissingSymbol(t){const e=t.getCurrentToken(),i=this.getExpectedTokens(t);let n=p.INVALID_TYPE;i.isNil||(n=i.minElement);let a;n===p.EOF?a="":a="";let o=e;const h=t.tokenStream.LT(-1);return o.type===p.EOF&&h!==null&&(o=h),t.getTokenFactory().create(o.source,n,a,p.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let e=t.text;return e===null&&(t.type===p.EOF?e="":e="<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const e=t.atn;let i=t.context;const n=new Ct;for(;i!==null&&i.invokingState>=0;){const o=e.states[i.invokingState].transitions[0],h=e.nextTokens(o.followState);n.addSet(h),i=i.parent}return n.removeOne(p.EPSILON),n}consumeUntil(t,e){let i=t.tokenStream.LA(1);for(;i!==p.EOF&&!e.contains(i);)t.consume(),i=t.tokenStream.LA(1)}},A(bs,"DefaultErrorStrategy"),bs);Hs=class extends Qr{recover(t,e){let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new ca(e)}recoverInline(t){const e=new Le(t);let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new ca(e)}sync(t){}},A(Hs,"BailErrorStrategy"),ks=class extends Hi{constructor(e){super();E(this,"exactOnly");E(this,"reportAmbiguity",(e,i,n,a,o,h,u)=>{if(this.exactOnly&&!o)return;const c=this.getDecisionDescription(e,i),_=this.getConflictingAlts(h,u),d=e.tokenStream.getText(F.of(n,a)),R=`reportAmbiguity d=${c}: ambigAlts=${_}, input='${d}'`;e.notifyErrorListeners(R,null,null)});E(this,"reportAttemptingFullContext",(e,i,n,a,o,h)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText(F.of(n,a)),_=`reportAttemptingFullContext d=${u}, input='${c}'`;e.notifyErrorListeners(_,null,null)});E(this,"reportContextSensitivity",(e,i,n,a,o,h)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText(F.of(n,a)),_=`reportContextSensitivity d=${u}, input='${c}'`;e.notifyErrorListeners(_,null,null)});E(this,"getDecisionDescription",(e,i)=>{const n=i.decision,a=i.atnStartState.ruleIndex,o=e.ruleNames;if(a<0||a>=o.length)return n.toString();const h=o[a];return h.length===0?n.toString():`${n} (${h})`});E(this,"getConflictingAlts",(e,i)=>{if(e!==null)return e;const n=new zt;for(let a=0;a{super(...u5);Q(this,Ps,void 0)};n!==void 0?r(i,n):r(),V(this,Ps,e)}get ruleIndex(){return L(this,Ps)}},Ps=new WeakMap,A(Bs,"InterpreterRuleContext"),Bs);js=class extends kt{constructor(e,i,n,a,o,h,u){super(u);Q(this,Gs,void 0);Q(this,Vs,void 0);Q(this,Ys,void 0);Q(this,Fs,void 0);Q(this,Xs,void 0);Q(this,Qs,void 0);Q(this,Js,void 0);Q(this,nr,new i0);if(h.grammarType!==t0.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");V(this,Gs,e),V(this,Vs,h),V(this,Ys,n.slice(0)),V(this,Fs,a.slice(0)),V(this,Xs,o.slice(0)),V(this,Qs,i),V(this,Js,h.decisionToState.map((c,_)=>new Qe(c,_))),this.interpreter=new Je(this,h,L(this,Js),L(this,nr))}get atn(){return L(this,Vs)}get grammarFileName(){return L(this,Gs)}get ruleNames(){return L(this,Ys)}get channelNames(){return L(this,Fs)}get modeNames(){return L(this,Xs)}get vocabulary(){return L(this,Qs)}},Gs=new WeakMap,Vs=new WeakMap,Ys=new WeakMap,Fs=new WeakMap,Xs=new WeakMap,Qs=new WeakMap,Js=new WeakMap,nr=new WeakMap,A(js,"LexerInterpreter");var F3=($s=class{constructor(t){E(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},A($s,"TraceListener"),$s),_a=(zs=class extends $2{constructor(e){super();E(this,"printer",null);E(this,"buildParseTrees",!0);E(this,"errorHandler",new Qr);E(this,"context",null);E(this,"_input",null);E(this,"_precedenceStack",[]);E(this,"_parseListeners",null);E(this,"_syntaxErrors",0);E(this,"matchedEOF",!1);E(this,"_tracer",null);E(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=e}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(e){let i=this.getCurrentToken();return i.type===e?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this.errorHandler.reportMatch(this),this.consume()):(e=this.errorHandler.recoverInline(this),this.buildParseTrees&&e.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,e))),e}getParseListeners(){return this._parseListeners??[]}addParseListener(e){if(e===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null&&e!==null){const i=this._parseListeners.indexOf(e);i>=0&&this._parseListeners.splice(i,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.forEach(i=>{i.enterEveryRule(e),e.enterRule(i)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.slice(0).reverse().forEach(i=>{e.exitRule(i),i.exitEveryRule(e)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(e){this._input.getTokenSource().tokenFactory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const i=new sa;return i.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new s0(i).deserialize(e),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(e){this._input=null,this.reset(),this._input=e}get inputStream(){return this._input}set inputStream(e){this.tokenStream=e}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,i,n){i=i??null,n=n??null,i===null&&(i=this.getCurrentToken()),this._syntaxErrors+=1;const a=i.line,o=i.column;this.getErrorListenerDispatch().syntaxError(this,i,a,o,e,n)}consume(){const e=this.getCurrentToken();e.type!==p.EOF&&this.tokenStream.consume();const i=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||i){let n;this.errorHandler.inErrorRecoveryMode(this)?n=this.context.addErrorNode(this.createErrorNode(this.context,e)):n=this.context.addTokenNode(e),i&&this._parseListeners.forEach(a=>{n instanceof q1?a.visitErrorNode(n):a.visitTerminal(n)})}return e}addContextToParseTree(){var e;((e=this.context)==null?void 0:e.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(e,i,n){this.state=i,this.context=e,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(e,i){e.setAltNumber(i),this.buildParseTrees&&this.context!==e&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(e)),this.context=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,i,n,a){this.state=i,this._precedenceStack.push(a),this.context=e,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,i,n){const a=this.context;a.parent=e,a.invokingState=i,a.stop=this._input.LT(-1),this.context=e,this.context.start=a.start,this.buildParseTrees&&this.context.addChild(a),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const i=this.context,n=this.getParseListeners();if(n!==null&&n.length>0)for(;this.context!==e;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=e;i.parent=e,this.buildParseTrees&&e!==null&&e.addChild(i)}getInvokingContext(e){let i=this.context;for(;i!==null;){if(i.ruleIndex===e)return i;i=i.parent}return null}precpred(e,i){return i>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const i=this.interpreter.atn;let n=this.context;const a=i.states[this.state];let o=i.nextTokens(a);if(o.contains(e))return!0;if(!o.contains(p.EPSILON))return!1;for(;n!==null&&n.invokingState>=0&&o.contains(p.EPSILON);){const u=i.states[n.invokingState].transitions[0];if(o=i.nextTokens(u.followState),o.contains(e))return!0;n=n.parent}return!!(o.contains(p.EPSILON)&&e===p.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const e=this.interpreter.atn,i=e.states[this.state];return e.nextTokens(i)}getRuleIndex(e){const i=this.getRuleIndexMap().get(e);return i??-1}getRuleInvocationStack(e){e=e??null,e===null&&(e=this.context);const i=[];for(;e!==null;){const n=e.ruleIndex;n<0?i.push("n/a"):i.push(this.ruleNames[n]),e=e.parent}return i}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let e=!1;for(const i of this.interpreter.decisionToDFA)i.states.length>0&&(e&&console.log(),this.printer&&(this.printer.println("Decision "+i.decision+":"),this.printer.print(i.toString(this.vocabulary))),e=!0)}getSourceName(){return this._input.getSourceName()}setProfile(e){const i=this.interpreter,n=i.predictionMode;if(e)i instanceof Fr||(this.interpreter=new Fr(this));else if(i instanceof Fr){const a=i.getSharedContextCache();if(a){const o=new Bi(this,this.atn,i.decisionToDFA,a);this.interpreter=o}}this.interpreter.predictionMode=n}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new F3(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(e,i){return new oe(i)}createErrorNode(e,i){return new q1(i)}},A(zs,"Parser"),zs);si=class extends _a{constructor(e,i,n,a,o){super(o);E(this,"_rootContext");E(this,"_parentContextStack",[]);E(this,"overrideDecision",-1);E(this,"overrideDecisionInputIndex",-1);E(this,"overrideDecisionAlt",-1);E(this,"overrideDecisionReached",!1);E(this,"_overrideDecisionRoot",null);Q(this,Zs,void 0);Q(this,Qt,void 0);Q(this,qs,void 0);Q(this,ti,void 0);Q(this,ei,void 0);Q(this,ar,new i0);Q(this,B1,void 0);V(this,Zs,e),V(this,Qt,a),V(this,qs,n.slice(0)),V(this,ti,i),V(this,B1,new zt);for(const h of a.states)h instanceof Ke&&h.precedenceRuleDecision&&L(this,B1).set(h.stateNumber);V(this,ei,a.decisionToState.map((h,u)=>new Qe(h,u))),this.interpreter=new Bi(this,a,L(this,ei),L(this,ar))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return L(this,Qt)}get vocabulary(){return L(this,ti)}get ruleNames(){return L(this,qs)}get grammarFileName(){return L(this,Zs)}get atnState(){return L(this,Qt).states[this.state]}parse(e){var n;const i=L(this,Qt).ruleToStartState[e];for(this._rootContext=this.createInterpreterRuleContext(null,qt.INVALID_STATE_NUMBER,e),i.isPrecedenceRule?this.enterRecursionRule(this._rootContext,i.stateNumber,e,0):this.enterRule(this._rootContext,i.stateNumber,e);;){const a=this.atnState;switch(a.stateType){case H.RULE_STOP:if((n=this.context)!=null&&n.isEmpty)if(i.isPrecedenceRule){const o=this.context,h=this._parentContextStack.pop();return this.unrollRecursionContexts(h[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(a);break;default:try{this.visitState(a)}catch(o){if(o instanceof f)this.state=L(this,Qt).ruleToStopState[a.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(e,i,n){this.overrideDecision=e,this.overrideDecisionInputIndex=i,this.overrideDecisionAlt=n}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(e,i,n,a){this._parentContextStack.push([this.context,e.invokingState]),super.enterRecursionRule(e,i,n,a)}visitState(e){let i=1;e instanceof Xe&&(i=this.visitDecisionState(e));const n=e.transitions[i-1];switch(n.serializationType){case M.EPSILON:if(L(this,B1).get(e.stateNumber)&&!(n.target instanceof je)){const _=this._parentContextStack[this._parentContextStack.length-1],d=this.createInterpreterRuleContext(_[0],_[1],this.context.ruleIndex);this.pushNewRecursionContext(d,L(this,Qt).ruleToStartState[e.ruleIndex].stateNumber,this.context.ruleIndex)}break;case M.ATOM:this.match(n.label.minElement);break;case M.RANGE:case M.SET:case M.NOT_SET:n.matches(this._input.LA(1),p.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case M.WILDCARD:this.matchWildcard();break;case M.RULE:const a=n.target,o=a.ruleIndex,h=this.createInterpreterRuleContext(this.context,e.stateNumber,o);a.isPrecedenceRule?this.enterRecursionRule(h,a.stateNumber,o,n.precedence):this.enterRule(h,n.target.stateNumber,o);break;case M.PREDICATE:const u=n;if(!this.sempred(this.context,u.ruleIndex,u.predIndex))throw new Vi(this);break;case M.ACTION:const c=n;this.action(this.context,c.ruleIndex,c.actionIndex);break;case M.PRECEDENCE:if(!this.precpred(this.context,n.precedence)){const _=n.precedence;throw new Vi(this,`precpred(_ctx, ${_})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=n.target.stateNumber}visitDecisionState(e){let i=1;if(e.transitions.length>1){this.errorHandler.sync(this);const n=e.decision;n===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(i=this.overrideDecisionAlt,this.overrideDecisionReached=!0):i=this.interpreter.adaptivePredict(this._input,n,this.context)}return i}createInterpreterRuleContext(e,i,n){return new Y3(n,e,i)}visitRuleStopState(e){if(L(this,Qt).ruleToStartState[e.ruleIndex].isPrecedenceRule){const[a,o]=this._parentContextStack.pop();this.unrollRecursionContexts(a),this.state=o}else this.exitRule();const n=L(this,Qt).states[this.state].transitions[0];this.state=n.followState.stateNumber}recover(e){const i=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===i){const n=e.offendingToken;if(!n)throw new Error("Expected exception to have an offending token");const a=n.tokenSource,o=(a==null?void 0:a.inputStream)??null,h=[a,o];if(e instanceof Le){const u=e.getExpectedTokens();if(!u)throw new Error("Expected the exception to provide expected tokens");let c=p.INVALID_TYPE;u.isNil||(c=u.minElement);const _=this.getTokenFactory().create(h,c,n.text,p.DEFAULT_CHANNEL,-1,-1,n.line,n.column);this.context.addErrorNode(this.createErrorNode(this.context,_))}else{const u=this.getTokenFactory().create(h,p.INVALID_TYPE,n.text,p.DEFAULT_CHANNEL,-1,-1,n.line,n.column);this.context.addErrorNode(this.createErrorNode(this.context,u))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},Zs=new WeakMap,Qt=new WeakMap,qs=new WeakMap,ti=new WeakMap,ei=new WeakMap,ar=new WeakMap,B1=new WeakMap,A(si,"ParserInterpreter"),Ut=class{constructor(t){E(this,"tokens");E(this,"programs",new Map);E(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,e,i=Ut.DEFAULT_PROGRAM_NAME){let n;typeof t=="number"?n=t:n=t.tokenIndex;const a=this.getProgram(i),o=new Ra(this.tokens,n,a.length,e);a.push(o)}insertBefore(t,e,i=Ut.DEFAULT_PROGRAM_NAME){let n;typeof t=="number"?n=t:n=t.tokenIndex;const a=this.getProgram(i),o=new W1(this.tokens,n,a.length,e);a.push(o)}replaceSingle(t,e,i=Ut.DEFAULT_PROGRAM_NAME){this.replace(t,t,e,i)}replace(t,e,i,n=Ut.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof e!="number"&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);const a=this.getProgram(n),o=new Yi(this.tokens,t,e,a.length,i);a.push(o)}delete(t,e,i=Ut.DEFAULT_PROGRAM_NAME){e==null&&(e=t),this.replace(t,e,null,i)}getProgram(t){let e=this.programs.get(t);return e==null&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(t,e=Ut.DEFAULT_PROGRAM_NAME){let i;t instanceof F?i=t:i=new F(0,this.tokens.size-1),typeof t=="string"&&(e=t);const n=this.programs.get(e);let a=i.start,o=i.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),a<0&&(a=0),n==null||n.length===0)return this.tokens.getText(new F(a,o));const h=[],u=this.reduceToSingleOperationPerIndex(n);let c=a;for(;c<=o&&c=this.tokens.size-1&&h.push(String(_.text));return h.join("")}reduceToSingleOperationPerIndex(t){for(let i=0;ia.index&&u.index<=a.lastIndex&&(t[u.instructionIndex]=null);const h=this.getKindOfOps(t,Yi,i);for(const u of h){if(u.index>=a.index&&u.lastIndex<=a.lastIndex){t[u.instructionIndex]=null;continue}const c=u.lastIndexa.lastIndex;if(u.text==null&&a.text==null&&!c)t[u.instructionIndex]=null,a.index=Math.min(u.index,a.index),a.lastIndex=Math.max(u.lastIndex,a.lastIndex);else if(!c)throw new Error(`replace op boundaries of ${a} overlap with previous ${u}`)}}for(let i=0;i=u.index&&a.index<=u.lastIndex)throw new Error(`insert op ${a} within boundaries of previous ${u}`)}}const e=new Map;for(const i of t)if(i!=null){if(e.get(i.index)!=null)throw new Error("should only be one op per index");e.set(i.index,i)}return e}catOpText(t,e){let i="",n="";return t!=null&&(i=t.toString()),e!=null&&(n=e.toString()),i+n}getKindOfOps(t,e,i){return t.slice(0,i).filter(n=>n&&n instanceof e)}},A(Ut,"TokenStreamRewriter"),E(Ut,"DEFAULT_PROGRAM_NAME","default"),E(Ut,"PROGRAM_INIT_SIZE",100),E(Ut,"MIN_TOKEN_INDEX",0);var da=(ii=class{constructor(t,e,i,n){E(this,"instructionIndex");E(this,"index");E(this,"text");E(this,"tokens");this.tokens=t,this.instructionIndex=i,this.index=e,this.text=n===void 0?"":n}execute(t){return this.index}toString(){return"'}},A(ii,"RewriteOperation"),ii),W1=(ri=class extends da{constructor(t,e,i,n){super(t,e,i,n)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==p.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},A(ri,"InsertBeforeOp"),ri),Ra=(ni=class extends W1{constructor(t,e,i,n){super(t,e+1,i,n)}toString(){return"'}},A(ni,"InsertAfterOp"),ni),Yi=(ai=class extends da{constructor(e,i,n,a,o){super(e,i,a,o);E(this,"lastIndex");this.lastIndex=n}execute(e){return this.text&&e.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},A(ai,"ReplaceOp"),ai);class l extends kt{constructor(t){super(t),this.interpreter=new Je(this,l._ATN,l.decisionsToDFA,new i0)}get grammarFileName(){return"FlinkSqlLexer.g4"}get literalNames(){return l.literalNames}get symbolicNames(){return l.symbolicNames}get ruleNames(){return l.ruleNames}get serializedATN(){return l._serializedATN}get channelNames(){return l.channelNames}get modeNames(){return l.modeNames}static get _ATN(){return l.__ATN||(l.__ATN=new s0().deserialize(l._serializedATN)),l.__ATN}get vocabulary(){return l.vocabulary}}l.SPACE=1,l.COMMENT_INPUT=2,l.LINE_COMMENT=3,l.KW_ABS=4,l.KW_ALL=5,l.KW_ALLOCATE=6,l.KW_ALLOW=7,l.KW_ALTER=8,l.KW_ANALYZE=9,l.KW_AND=10,l.KW_ANY=11,l.KW_ARE=12,l.KW_ARRAY=13,l.KW_ARRAY_AGG=14,l.KW_ARRAY_CONCAT_AGG=15,l.KW_ARRAY_MAX_CARDINALITY=16,l.KW_AS=17,l.KW_ASENSITIVE=18,l.KW_ASYMMETRIC=19,l.KW_AT=20,l.KW_ATOMIC=21,l.KW_AUTHORIZATION=22,l.KW_AVG=23,l.KW_BEGIN=24,l.KW_BEGIN_FRAME=25,l.KW_BEGIN_PARTITION=26,l.KW_BETWEEN=27,l.KW_BIGINT=28,l.KW_BINARY=29,l.KW_BIT=30,l.KW_BLOB=31,l.KW_BOOLEAN=32,l.KW_BOTH=33,l.KW_BY=34,l.KW_BYTES=35,l.KW_CALL=36,l.KW_CALLED=37,l.KW_CARDINALITY=38,l.KW_CASCADED=39,l.KW_CASE=40,l.KW_CAST=41,l.KW_CATALOGS=42,l.KW_CEIL=43,l.KW_CEILING=44,l.KW_CHANGELOG_MODE=45,l.KW_CHAR=46,l.KW_CHARACTER=47,l.KW_CHARACTER_LENGTH=48,l.KW_CHAR_LENGTH=49,l.KW_CHECK=50,l.KW_CLASSIFIER=51,l.KW_CLOB=52,l.KW_CLOSE=53,l.KW_COALESCE=54,l.KW_COLLATE=55,l.KW_COLLECT=56,l.KW_COLUMN=57,l.KW_COLUMNS=58,l.KW_COMMENT=59,l.KW_COMMIT=60,l.KW_COMPUTE=61,l.KW_CONDITION=62,l.KW_CONNECT=63,l.KW_CONSTRAINT=64,l.KW_CONTAINS=65,l.KW_CONVERT=66,l.KW_CORR=67,l.KW_CORRESPONDING=68,l.KW_COUNT=69,l.KW_COVAR_POP=70,l.KW_COVAR_SAMP=71,l.KW_CREATE=72,l.KW_CROSS=73,l.KW_CUBE=74,l.KW_CUME_DIST=75,l.KW_CURRENT=76,l.KW_CURRENT_CATALOG=77,l.KW_CURRENT_DATE=78,l.KW_CURRENT_DEFAULT_TRANSFORM_GROUP=79,l.KW_CURRENT_PATH=80,l.KW_CURRENT_ROLE=81,l.KW_CURRENT_ROW=82,l.KW_CURRENT_SCHEMA=83,l.KW_CURRENT_TIME=84,l.KW_CURRENT_TIMESTAMP=85,l.KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE=86,l.KW_CURRENT_USER=87,l.KW_CURSOR=88,l.KW_CYCLE=89,l.KW_DATABASES=90,l.KW_DATE=91,l.KW_DATETIME=92,l.KW_DATETIME_DIFF=93,l.KW_DATETIME_TRUNC=94,l.KW_DATE_DIFF=95,l.KW_DATE_TRUNC=96,l.KW_DAY=97,l.KW_DAYOFWEEK=98,l.KW_DAYOFYEAR=99,l.KW_DEALLOCATE=100,l.KW_DEC=101,l.KW_DECIMAL=102,l.KW_DECLARE=103,l.KW_DEFAULT=104,l.KW_DEFINE=105,l.KW_DELETE=106,l.KW_DENSE_RANK=107,l.KW_DEREF=108,l.KW_DESCRIBE=109,l.KW_DETERMINISTIC=110,l.KW_DISALLOW=111,l.KW_DISCONNECT=112,l.KW_DISTINCT=113,l.KW_DOT=114,l.KW_DOUBLE=115,l.KW_DROP=116,l.KW_DYNAMIC=117,l.KW_EACH=118,l.KW_ELEMENT=119,l.KW_ELSE=120,l.KW_EMPTY=121,l.KW_END=122,l.KW_END_FRAME=123,l.KW_END_PARTITION=124,l.KW_ENFORCED=125,l.KW_EQUALS=126,l.KW_ESCAPE=127,l.KW_ESTIMATED_COST=128,l.KW_EVERY=129,l.KW_EXCEPT=130,l.KW_EXEC=131,l.KW_EXECUTE=132,l.KW_EXISTS=133,l.KW_EXP=134,l.KW_EXPLAIN=135,l.KW_EXTEND=136,l.KW_EXTENDED=137,l.KW_EXTERNAL=138,l.KW_EXTRACT=139,l.KW_FALSE=140,l.KW_FETCH=141,l.KW_FILTER=142,l.KW_FIRST_VALUE=143,l.KW_FLOAT=144,l.KW_FLOOR=145,l.KW_FOR=146,l.KW_FOREIGN=147,l.KW_FRAME_ROW=148,l.KW_FREE=149,l.KW_FRIDAY=150,l.KW_FROM=151,l.KW_FULL=152,l.KW_FUNCTION=153,l.KW_FUNCTIONS=154,l.KW_FUSION=155,l.KW_GET=156,l.KW_GLOBAL=157,l.KW_GRANT=158,l.KW_GROUP=159,l.KW_GROUPING=160,l.KW_GROUPS=161,l.KW_GROUP_CONCAT=162,l.KW_HAVING=163,l.KW_HOLD=164,l.KW_HOUR=165,l.KW_IDENTITY=166,l.KW_IF=167,l.KW_ILIKE=168,l.KW_IMPORT=169,l.KW_IN=170,l.KW_INCLUDE=171,l.KW_INDICATOR=172,l.KW_INITIAL=173,l.KW_INNER=174,l.KW_INOUT=175,l.KW_INSENSITIVE=176,l.KW_INSERT=177,l.KW_INT=178,l.KW_INTEGER=179,l.KW_INTERSECT=180,l.KW_INTERSECTION=181,l.KW_INTERVAL=182,l.KW_INTO=183,l.KW_IS=184,l.KW_JOIN=185,l.KW_JSON_ARRAY=186,l.KW_JSON_ARRAYAGG=187,l.KW_JSON_EXECUTION_PLAN=188,l.KW_JSON_EXISTS=189,l.KW_JSON_OBJECT=190,l.KW_JSON_OBJECTAGG=191,l.KW_JSON_QUERY=192,l.KW_JSON_VALUE=193,l.KW_LAG=194,l.KW_LANGUAGE=195,l.KW_LARGE=196,l.KW_LAST_VALUE=197,l.KW_LATERAL=198,l.KW_LEAD=199,l.KW_LEADING=200,l.KW_LEFT=201,l.KW_LIKE=202,l.KW_LIKE_REGEX=203,l.KW_LIMIT=204,l.KW_LN=205,l.KW_LOCAL=206,l.KW_LOCALTIME=207,l.KW_LOCALTIMESTAMP=208,l.KW_LOWER=209,l.KW_MATCH=210,l.KW_MATCHES=211,l.KW_MATCH_NUMBER=212,l.KW_MATCH_RECOGNIZE=213,l.KW_MAX=214,l.KW_MEASURES=215,l.KW_MEMBER=216,l.KW_MERGE=217,l.KW_METADATA=218,l.KW_METHOD=219,l.KW_MIN=220,l.KW_MINUS=221,l.KW_MINUTE=222,l.KW_MOD=223,l.KW_MODIFIES=224,l.KW_MODIFY=225,l.KW_MODULE=226,l.KW_MODULES=227,l.KW_MONDAY=228,l.KW_MONTH=229,l.KW_MORE=230,l.KW_MULTISET=231,l.KW_NATIONAL=232,l.KW_NATURAL=233,l.KW_NCHAR=234,l.KW_NCLOB=235,l.KW_NEW=236,l.KW_NEXT=237,l.KW_NO=238,l.KW_NONE=239,l.KW_NORMALIZE=240,l.KW_NOT=241,l.KW_NTH_VALUE=242,l.KW_NTILE=243,l.KW_NULL=244,l.KW_NULLIF=245,l.KW_NUMERIC=246,l.KW_OCCURRENCES_REGEX=247,l.KW_OCTET_LENGTH=248,l.KW_OF=249,l.KW_OFFSET=250,l.KW_OLD=251,l.KW_OMIT=252,l.KW_ON=253,l.KW_ONE=254,l.KW_ONLY=255,l.KW_OPEN=256,l.KW_OR=257,l.KW_ORDER=258,l.KW_ORDINAL=259,l.KW_OUT=260,l.KW_OUTER=261,l.KW_OVER=262,l.KW_OVERLAPS=263,l.KW_OVERLAY=264,l.KW_OVERWRITE=265,l.KW_OVERWRITING=266,l.KW_PARAMETER=267,l.KW_PARTITION=268,l.KW_PARTITIONED=269,l.KW_PARTITIONS=270,l.KW_PATTERN=271,l.KW_PER=272,l.KW_PERCENT=273,l.KW_PERCENTILE_CONT=274,l.KW_PERCENTILE_DISC=275,l.KW_PERCENT_RANK=276,l.KW_PERIOD=277,l.KW_PERMUTE=278,l.KW_PIVOT=279,l.KW_PORTION=280,l.KW_POSITION=281,l.KW_POSITION_REGEX=282,l.KW_POWER=283,l.KW_PRECEDES=284,l.KW_PRECISION=285,l.KW_PREPARE=286,l.KW_PREV=287,l.KW_PRIMARY=288,l.KW_PROCEDURE=289,l.KW_QUALIFY=290,l.KW_QUARTERS=291,l.KW_RANGE=292,l.KW_RANK=293,l.KW_RAW=294,l.KW_READS=295,l.KW_REAL=296,l.KW_RECURSIVE=297,l.KW_REF=298,l.KW_REFERENCES=299,l.KW_REFERENCING=300,l.KW_REGR_AVGX=301,l.KW_REGR_AVGY=302,l.KW_REGR_COUNT=303,l.KW_REGR_INTERCEPT=304,l.KW_REGR_R2=305,l.KW_REGR_SLOPE=306,l.KW_REGR_SXX=307,l.KW_REGR_SXY=308,l.KW_REGR_SYY=309,l.KW_RELEASE=310,l.KW_RENAME=311,l.KW_RESET=312,l.KW_RESULT=313,l.KW_RETURN=314,l.KW_RETURNS=315,l.KW_REVOKE=316,l.KW_RIGHT=317,l.KW_RLIKE=318,l.KW_ROLLBACK=319,l.KW_ROLLUP=320,l.KW_ROW=321,l.KW_ROWS=322,l.KW_ROW_NUMBER=323,l.KW_RUNNING=324,l.KW_SAFE_CAST=325,l.KW_SAFE_OFFSET=326,l.KW_SAFE_ORDINAL=327,l.KW_SATURDAY=328,l.KW_SAVEPOINT=329,l.KW_SCALA=330,l.KW_SCOPE=331,l.KW_SCROLL=332,l.KW_SEARCH=333,l.KW_SECOND=334,l.KW_SEEK=335,l.KW_SELECT=336,l.KW_SENSITIVE=337,l.KW_SEPARATOR=338,l.KW_SESSION_USER=339,l.KW_SET=340,l.KW_SHOW=341,l.KW_SIMILAR=342,l.KW_SKIP=343,l.KW_SMALLINT=344,l.KW_SOME=345,l.KW_SPECIFIC=346,l.KW_SPECIFICTYPE=347,l.KW_SQL=348,l.KW_SQLEXCEPTION=349,l.KW_SQLSTATE=350,l.KW_SQLWARNING=351,l.KW_SQRT=352,l.KW_START=353,l.KW_STATEMENT=354,l.KW_STATIC=355,l.KW_STATISTICS=356,l.KW_STDDEV_POP=357,l.KW_STDDEV_SAMP=358,l.KW_STREAM=359,l.KW_STRING=360,l.KW_STRING_AGG=361,l.KW_SUBMULTISET=362,l.KW_SUBSET=363,l.KW_SUBSTRING=364,l.KW_SUBSTRING_REGEX=365,l.KW_SUCCEEDS=366,l.KW_SUM=367,l.KW_SUNDAY=368,l.KW_SYMMETRIC=369,l.KW_SYSTEM=370,l.KW_SYSTEM_TIME=371,l.KW_SYSTEM_USER=372,l.KW_TABLE=373,l.KW_TABLES=374,l.KW_TABLESAMPLE=375,l.KW_THEN=376,l.KW_THURSDAY=377,l.KW_TIME=378,l.KW_TIMESTAMP=379,l.KW_TIMESTAMP_DIFF=380,l.KW_TIMESTAMP_LTZ=381,l.KW_TIMESTAMP_TRUNC=382,l.KW_TIMEZONE_HOUR=383,l.KW_TIMEZONE_MINUTE=384,l.KW_TIME_DIFF=385,l.KW_TIME_TRUNC=386,l.KW_TINYINT=387,l.KW_TO=388,l.KW_TRAILING=389,l.KW_TRANSLATE=390,l.KW_TRANSLATE_REGEX=391,l.KW_TRANSLATION=392,l.KW_TREAT=393,l.KW_TRIGGER=394,l.KW_TRIM=395,l.KW_TRIM_ARRAY=396,l.KW_TRUE=397,l.KW_TRUNCATE=398,l.KW_TRY_CAST=399,l.KW_TUESDAY=400,l.KW_UESCAPE=401,l.KW_UNION=402,l.KW_UNIQUE=403,l.KW_UNKNOWN=404,l.KW_UNNEST=405,l.KW_UNPIVOT=406,l.KW_UPDATE=407,l.KW_UPPER=408,l.KW_UPSERT=409,l.KW_USE=410,l.KW_USER=411,l.KW_USING=412,l.KW_VALUE=413,l.KW_VALUES=414,l.KW_VALUE_OF=415,l.KW_VARBINARY=416,l.KW_VARCHAR=417,l.KW_VARYING=418,l.KW_VAR_POP=419,l.KW_VAR_SAMP=420,l.KW_VERSIONING=421,l.KW_VIEWS=422,l.KW_VIRTUAL=423,l.KW_WATERMARK=424,l.KW_WATERMARKS=425,l.KW_WEDNESDAY=426,l.KW_WEEKS=427,l.KW_WHEN=428,l.KW_WHENEVER=429,l.KW_WHERE=430,l.KW_WIDTH_BUCKET=431,l.KW_WINDOW=432,l.KW_WITH=433,l.KW_WITHIN=434,l.KW_WITHOUT=435,l.KW_YEAR=436,l.KW_ADD=437,l.KW_AFTER=438,l.KW_ASC=439,l.KW_CASCADE=440,l.KW_CATALOG=441,l.KW_CENTURY=442,l.KW_CONFIG=443,l.KW_CONSTRAINTS=444,l.KW_CUMULATE=445,l.KW_DATA=446,l.KW_DATABASE=447,l.KW_DAYS=448,l.KW_DECADE=449,l.KW_DESC=450,l.KW_DESCRIPTOR=451,l.KW_DIV=452,l.KW_ENGINE=453,l.KW_EPOCH=454,l.KW_EXCLUDING=455,l.KW_FILE=456,l.KW_FIRST=457,l.KW_GENERATED=458,l.KW_HOP=459,l.KW_HOURS=460,l.KW_IGNORE=461,l.KW_INCLUDING=462,l.KW_JAR=463,l.KW_JARS=464,l.KW_JAVA=465,l.KW_KEY=466,l.KW_LAST=467,l.KW_LOAD=468,l.KW_MAP=469,l.KW_MICROSECOND=470,l.KW_MILLENNIUM=471,l.KW_MILLISECOND=472,l.KW_MINUTES=473,l.KW_MONTHS=474,l.KW_NANOSECOND=475,l.KW_NULLS=476,l.KW_OPTIONS=477,l.KW_PAST=478,l.KW_PLAN=479,l.KW_PRECEDING=480,l.KW_PYTHON=481,l.KW_PYTHON_ARCHIVES=482,l.KW_PYTHON_DEPENDENCIES=483,l.KW_PYTHON_FILES=484,l.KW_PYTHON_JAR=485,l.KW_PYTHON_PARAMETER=486,l.KW_PYTHON_REQUIREMENTS=487,l.KW_QUARTER=488,l.KW_REMOVE=489,l.KW_RESTRICT=490,l.KW_SECONDS=491,l.KW_SESSION=492,l.KW_SETS=493,l.KW_SIZE=494,l.KW_SLIDE=495,l.KW_STEP=496,l.KW_TEMPORARY=497,l.KW_TIMECOL=498,l.KW_TUMBLE=499,l.KW_UNLOAD=500,l.KW_VIEW=501,l.KW_WEEK=502,l.KW_YEARS=503,l.KW_ZONE=504,l.EQUAL_SYMBOL=505,l.GREATER_SYMBOL=506,l.LESS_SYMBOL=507,l.EXCLAMATION_SYMBOL=508,l.BIT_NOT_OP=509,l.BIT_OR_OP=510,l.BIT_AND_OP=511,l.BIT_XOR_OP=512,l.DOT=513,l.LS_BRACKET=514,l.RS_BRACKET=515,l.LR_BRACKET=516,l.RR_BRACKET=517,l.LB_BRACKET=518,l.RB_BRACKET=519,l.COMMA=520,l.SEMICOLON=521,l.AT_SIGN=522,l.SINGLE_QUOTE_SYMB=523,l.DOUBLE_QUOTE_SYMB=524,l.REVERSE_QUOTE_SYMB=525,l.COLON_SYMB=526,l.ASTERISK_SIGN=527,l.UNDERLINE_SIGN=528,l.HYPNEN_SIGN=529,l.ADD_SIGN=530,l.PENCENT_SIGN=531,l.DOUBLE_VERTICAL_SIGN=532,l.DOUBLE_HYPNEN_SIGN=533,l.SLASH_SIGN=534,l.QUESTION_MARK_SIGN=535,l.DOUBLE_RIGHT_ARROW=536,l.STRING_LITERAL=537,l.DIG_LITERAL=538,l.REAL_LITERAL=539,l.BIT_STRING=540,l.ID_LITERAL=541,l.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],l.literalNames=[null,null,null,null,"'ABS'","'ALL'","'ALLOCATE'","'ALLOW'","'ALTER'","'ANALYZE'","'AND'","'ANY'","'ARE'","'ARRAY'","'ARRAY_AGG'","'ARRAY_CONCAT_AGG'","'ARRAY_MAX_CARDINALITY'","'AS'","'ASENSITIVE'","'ASYMMETRIC'","'AT'","'ATOMIC'","'AUTHORIZATION'","'AVG'","'BEGIN'","'BEGIN_FRAME'","'BEGIN_PARTITION'","'BETWEEN'","'BIGINT'","'BINARY'","'BIT'","'BLOB'","'BOOLEAN'","'BOTH'","'BY'","'BYTES'","'CALL'","'CALLED'","'CARDINALITY'","'CASCADED'","'CASE'","'CAST'","'CATALOGS'","'CEIL'","'CEILING'","'CHANGELOG_MODE'","'CHAR'","'CHARACTER'","'CHARACTER_LENGTH'","'CHAR_LENGTH'","'CHECK'","'CLASSIFIER'","'CLOB'","'CLOSE'","'COALESCE'","'COLLATE'","'COLLECT'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMPUTE'","'CONDITION'","'CONNECT'","'CONSTRAINT'","'CONTAINS'","'CONVERT'","'CORR'","'CORRESPONDING'","'COUNT'","'COVAR_POP'","'COVAR_SAMP'","'CREATE'","'CROSS'","'CUBE'","'CUME_DIST'","'CURRENT'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_DEFAULT_TRANSFORM_GROUP'","'CURRENT_PATH'","'CURRENT_ROLE'","'CURRENT_ROW'","'CURRENT_SCHEMA'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_TRANSFORM_GROUP_FOR_TYPE'","'CURRENT_USER'","'CURSOR'","'CYCLE'","'DATABASES'","'DATE'","'DATETIME'","'DATETIME_DIFF'","'DATETIME_TRUNC'","'DATE_DIFF'","'DATE_TRUNC'","'DAY'","'DAYOFWEEK'","'DAYOFYEAR'","'DEALLOCATE'","'DEC'","'DECIMAL'","'DECLARE'","'DEFAULT'","'DEFINE'","'DELETE'","'DENSE_RANK'","'DEREF'","'DESCRIBE'","'DETERMINISTIC'","'DISALLOW'","'DISCONNECT'","'DISTINCT'","'DOT'","'DOUBLE'","'DROP'","'DYNAMIC'","'EACH'","'ELEMENT'","'ELSE'","'EMPTY'","'END'","'END_FRAME'","'END_PARTITION'","'ENFORCED'","'EQUALS'","'ESCAPE'","'ESTIMATED_COST'","'EVERY'","'EXCEPT'","'EXEC'","'EXECUTE'","'EXISTS'","'EXP'","'EXPLAIN'","'EXTEND'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FILTER'","'FIRST_VALUE'","'FLOAT'","'FLOOR'","'FOR'","'FOREIGN'","'FRAME_ROW'","'FREE'","'FRIDAY'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'FUSION'","'GET'","'GLOBAL'","'GRANT'","'GROUP'","'GROUPING'","'GROUPS'","'GROUP_CONCAT'","'HAVING'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'ILIKE'","'IMPORT'","'IN'","'INCLUDE'","'INDICATOR'","'INITIAL'","'INNER'","'INOUT'","'INSENSITIVE'","'INSERT'","'INT'","'INTEGER'","'INTERSECT'","'INTERSECTION'","'INTERVAL'","'INTO'","'IS'","'JOIN'","'JSON_ARRAY'","'JSON_ARRAYAGG'","'JSON_EXECUTION_PLAN'","'JSON_EXISTS'","'JSON_OBJECT'","'JSON_OBJECTAGG'","'JSON_QUERY'","'JSON_VALUE'","'LAG'","'LANGUAGE'","'LARGE'","'LAST_VALUE'","'LATERAL'","'LEAD'","'LEADING'","'LEFT'","'LIKE'","'LIKE_REGEX'","'LIMIT'","'LN'","'LOCAL'","'LOCALTIME'","'LOCALTIMESTAMP'","'LOWER'","'MATCH'","'MATCHES'","'MATCH_NUMBER'","'MATCH_RECOGNIZE'","'MAX'","'MEASURES'","'MEMBER'","'MERGE'","'METADATA'","'METHOD'","'MIN'","'MINUS'","'MINUTE'","'MOD'","'MODIFIES'","'MODIFY'","'MODULE'","'MODULES'","'MONDAY'","'MONTH'","'MORE'","'MULTISET'","'NATIONAL'","'NATURAL'","'NCHAR'","'NCLOB'","'NEW'","'NEXT'","'NO'","'NONE'","'NORMALIZE'","'NOT'","'NTH_VALUE'","'NTILE'","'NULL'","'NULLIF'","'NUMERIC'","'OCCURRENCES_REGEX'","'OCTET_LENGTH'","'OF'","'OFFSET'","'OLD'","'OMIT'","'ON'","'ONE'","'ONLY'","'OPEN'","'OR'","'ORDER'","'ORDINAL'","'OUT'","'OUTER'","'OVER'","'OVERLAPS'","'OVERLAY'","'OVERWRITE'","'OVERWRITING'","'PARAMETER'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PATTERN'","'PER'","'PERCENT'","'PERCENTILE_CONT'","'PERCENTILE_DISC'","'PERCENT_RANK'","'PERIOD'","'PERMUTE'","'PIVOT'","'PORTION'","'POSITION'","'POSITION_REGEX'","'POWER'","'PRECEDES'","'PRECISION'","'PREPARE'","'PREV'","'PRIMARY'","'PROCEDURE'","'QUALIFY'","'QUARTERS'","'RANGE'","'RANK'","'RAW'","'READS'","'REAL'","'RECURSIVE'","'REF'","'REFERENCES'","'REFERENCING'","'REGR_AVGX'","'REGR_AVGY'","'REGR_COUNT'","'REGR_INTERCEPT'","'REGR_R2'","'REGR_SLOPE'","'REGR_SXX'","'REGR_SXY'","'REGR_SYY'","'RELEASE'","'RENAME'","'RESET'","'RESULT'","'RETURN'","'RETURNS'","'REVOKE'","'RIGHT'","'RLIKE'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'ROW_NUMBER'","'RUNNING'","'SAFE_CAST'","'SAFE_OFFSET'","'SAFE_ORDINAL'","'SATURDAY'","'SAVEPOINT'","'SCALA'","'SCOPE'","'SCROLL'","'SEARCH'","'SECOND'","'SEEK'","'SELECT'","'SENSITIVE'","'SEPARATOR'","'SESSION_USER'","'SET'","'SHOW'","'SIMILAR'","'SKIP'","'SMALLINT'","'SOME'","'SPECIFIC'","'SPECIFICTYPE'","'SQL'","'SQLEXCEPTION'","'SQLSTATE'","'SQLWARNING'","'SQRT'","'START'","'STATEMENT'","'STATIC'","'STATISTICS'","'STDDEV_POP'","'STDDEV_SAMP'","'STREAM'","'STRING'","'STRING_AGG'","'SUBMULTISET'","'SUBSET'","'SUBSTRING'","'SUBSTRING_REGEX'","'SUCCEEDS'","'SUM'","'SUNDAY'","'SYMMETRIC'","'SYSTEM'","'SYSTEM_TIME'","'SYSTEM_USER'","'TABLE'","'TABLES'","'TABLESAMPLE'","'THEN'","'THURSDAY'","'TIME'","'TIMESTAMP'","'TIMESTAMP_DIFF'","'TIMESTAMP_LTZ'","'TIMESTAMP_TRUNC'","'TIMEZONE_HOUR'","'TIMEZONE_MINUTE'","'TIME_DIFF'","'TIME_TRUNC'","'TINYINT'","'TO'","'TRAILING'","'TRANSLATE'","'TRANSLATE_REGEX'","'TRANSLATION'","'TREAT'","'TRIGGER'","'TRIM'","'TRIM_ARRAY'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TUESDAY'","'UESCAPE'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNNEST'","'UNPIVOT'","'UPDATE'","'UPPER'","'UPSERT'","'USE'","'USER'","'USING'","'VALUE'","'VALUES'","'VALUE_OF'","'VARBINARY'","'VARCHAR'","'VARYING'","'VAR_POP'","'VAR_SAMP'","'VERSIONING'","'VIEWS'","'VIRTUAL'","'WATERMARK'","'WATERMARKS'","'WEDNESDAY'","'WEEKS'","'WHEN'","'WHENEVER'","'WHERE'","'WIDTH_BUCKET'","'WINDOW'","'WITH'","'WITHIN'","'WITHOUT'","'YEAR'","'ADD'","'AFTER'","'ASC'","'CASCADE'","'CATALOG'","'CENTURY'","'CONFIG'","'CONSTRAINTS'","'CUMULATE'","'DATA'","'DATABASE'","'DAYS'","'DECADE'","'DESC'","'DESCRIPTOR'","'DIV'","'ENGINE'","'EPOCH'","'EXCLUDING'","'FILE'","'FIRST'","'GENERATED'","'HOP'","'HOURS'","'IGNORE'","'INCLUDING'","'JAR'","'JARS'","'JAVA'","'KEY'","'LAST'","'LOAD'","'MAP'","'MICROSECOND'","'MILLENNIUM'","'MILLISECOND'","'MINUTES'","'MONTHS'","'NANOSECOND'","'NULLS'","'OPTIONS'","'PAST'","'PLAN'","'PRECEDING'","'PYTHON'","'PYTHON_ARCHIVES'","'PYTHON_DEPENDENCIES'","'PYTHON_FILES'","'PYTHON_JAR'","'PYTHON_PARAMETER'","'PYTHON_REQUIREMENTS'","'QUARTER'","'REMOVE'","'RESTRICT'","'SECONDS'","'SESSION'","'SETS'","'SIZE'","'SLIDE'","'STEP'","'TEMPORARY'","'TIMECOL'","'TUMBLE'","'UNLOAD'","'VIEW'","'WEEK'","'YEARS'","'ZONE'","'='","'>'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'['","']'","'('","')'","'{'","'}'","','","';'","'@'","'''",`'"'`,"'`'","':'","'*'","'_'","'-'","'+'","'%'","'||'","'--'","'/'","'?'","'=>'"],l.symbolicNames=[null,"SPACE","COMMENT_INPUT","LINE_COMMENT","KW_ABS","KW_ALL","KW_ALLOCATE","KW_ALLOW","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARE","KW_ARRAY","KW_ARRAY_AGG","KW_ARRAY_CONCAT_AGG","KW_ARRAY_MAX_CARDINALITY","KW_AS","KW_ASENSITIVE","KW_ASYMMETRIC","KW_AT","KW_ATOMIC","KW_AUTHORIZATION","KW_AVG","KW_BEGIN","KW_BEGIN_FRAME","KW_BEGIN_PARTITION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BIT","KW_BLOB","KW_BOOLEAN","KW_BOTH","KW_BY","KW_BYTES","KW_CALL","KW_CALLED","KW_CARDINALITY","KW_CASCADED","KW_CASE","KW_CAST","KW_CATALOGS","KW_CEIL","KW_CEILING","KW_CHANGELOG_MODE","KW_CHAR","KW_CHARACTER","KW_CHARACTER_LENGTH","KW_CHAR_LENGTH","KW_CHECK","KW_CLASSIFIER","KW_CLOB","KW_CLOSE","KW_COALESCE","KW_COLLATE","KW_COLLECT","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPUTE","KW_CONDITION","KW_CONNECT","KW_CONSTRAINT","KW_CONTAINS","KW_CONVERT","KW_CORR","KW_CORRESPONDING","KW_COUNT","KW_COVAR_POP","KW_COVAR_SAMP","KW_CREATE","KW_CROSS","KW_CUBE","KW_CUME_DIST","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_DEFAULT_TRANSFORM_GROUP","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_ROW","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE","KW_CURRENT_USER","KW_CURSOR","KW_CYCLE","KW_DATABASES","KW_DATE","KW_DATETIME","KW_DATETIME_DIFF","KW_DATETIME_TRUNC","KW_DATE_DIFF","KW_DATE_TRUNC","KW_DAY","KW_DAYOFWEEK","KW_DAYOFYEAR","KW_DEALLOCATE","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DELETE","KW_DENSE_RANK","KW_DEREF","KW_DESCRIBE","KW_DETERMINISTIC","KW_DISALLOW","KW_DISCONNECT","KW_DISTINCT","KW_DOT","KW_DOUBLE","KW_DROP","KW_DYNAMIC","KW_EACH","KW_ELEMENT","KW_ELSE","KW_EMPTY","KW_END","KW_END_FRAME","KW_END_PARTITION","KW_ENFORCED","KW_EQUALS","KW_ESCAPE","KW_ESTIMATED_COST","KW_EVERY","KW_EXCEPT","KW_EXEC","KW_EXECUTE","KW_EXISTS","KW_EXP","KW_EXPLAIN","KW_EXTEND","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FIRST_VALUE","KW_FLOAT","KW_FLOOR","KW_FOR","KW_FOREIGN","KW_FRAME_ROW","KW_FREE","KW_FRIDAY","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_FUSION","KW_GET","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_GROUP_CONCAT","KW_HAVING","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_ILIKE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDICATOR","KW_INITIAL","KW_INNER","KW_INOUT","KW_INSENSITIVE","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERSECTION","KW_INTERVAL","KW_INTO","KW_IS","KW_JOIN","KW_JSON_ARRAY","KW_JSON_ARRAYAGG","KW_JSON_EXECUTION_PLAN","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_OBJECTAGG","KW_JSON_QUERY","KW_JSON_VALUE","KW_LAG","KW_LANGUAGE","KW_LARGE","KW_LAST_VALUE","KW_LATERAL","KW_LEAD","KW_LEADING","KW_LEFT","KW_LIKE","KW_LIKE_REGEX","KW_LIMIT","KW_LN","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOWER","KW_MATCH","KW_MATCHES","KW_MATCH_NUMBER","KW_MATCH_RECOGNIZE","KW_MAX","KW_MEASURES","KW_MEMBER","KW_MERGE","KW_METADATA","KW_METHOD","KW_MIN","KW_MINUS","KW_MINUTE","KW_MOD","KW_MODIFIES","KW_MODIFY","KW_MODULE","KW_MODULES","KW_MONDAY","KW_MONTH","KW_MORE","KW_MULTISET","KW_NATIONAL","KW_NATURAL","KW_NCHAR","KW_NCLOB","KW_NEW","KW_NEXT","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NTH_VALUE","KW_NTILE","KW_NULL","KW_NULLIF","KW_NUMERIC","KW_OCCURRENCES_REGEX","KW_OCTET_LENGTH","KW_OF","KW_OFFSET","KW_OLD","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPEN","KW_OR","KW_ORDER","KW_ORDINAL","KW_OUT","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_OVERWRITING","KW_PARAMETER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATTERN","KW_PER","KW_PERCENT","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENT_RANK","KW_PERIOD","KW_PERMUTE","KW_PIVOT","KW_PORTION","KW_POSITION","KW_POSITION_REGEX","KW_POWER","KW_PRECEDES","KW_PRECISION","KW_PREPARE","KW_PREV","KW_PRIMARY","KW_PROCEDURE","KW_QUALIFY","KW_QUARTERS","KW_RANGE","KW_RANK","KW_RAW","KW_READS","KW_REAL","KW_RECURSIVE","KW_REF","KW_REFERENCES","KW_REFERENCING","KW_REGR_AVGX","KW_REGR_AVGY","KW_REGR_COUNT","KW_REGR_INTERCEPT","KW_REGR_R2","KW_REGR_SLOPE","KW_REGR_SXX","KW_REGR_SXY","KW_REGR_SYY","KW_RELEASE","KW_RENAME","KW_RESET","KW_RESULT","KW_RETURN","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_ROW_NUMBER","KW_RUNNING","KW_SAFE_CAST","KW_SAFE_OFFSET","KW_SAFE_ORDINAL","KW_SATURDAY","KW_SAVEPOINT","KW_SCALA","KW_SCOPE","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SEEK","KW_SELECT","KW_SENSITIVE","KW_SEPARATOR","KW_SESSION_USER","KW_SET","KW_SHOW","KW_SIMILAR","KW_SKIP","KW_SMALLINT","KW_SOME","KW_SPECIFIC","KW_SPECIFICTYPE","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQRT","KW_START","KW_STATEMENT","KW_STATIC","KW_STATISTICS","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_STREAM","KW_STRING","KW_STRING_AGG","KW_SUBMULTISET","KW_SUBSET","KW_SUBSTRING","KW_SUBSTRING_REGEX","KW_SUCCEEDS","KW_SUM","KW_SUNDAY","KW_SYMMETRIC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_USER","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_THEN","KW_THURSDAY","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMP_DIFF","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_TRUNC","KW_TIMEZONE_HOUR","KW_TIMEZONE_MINUTE","KW_TIME_DIFF","KW_TIME_TRUNC","KW_TINYINT","KW_TO","KW_TRAILING","KW_TRANSLATE","KW_TRANSLATE_REGEX","KW_TRANSLATION","KW_TREAT","KW_TRIGGER","KW_TRIM","KW_TRIM_ARRAY","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TUESDAY","KW_UESCAPE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNNEST","KW_UNPIVOT","KW_UPDATE","KW_UPPER","KW_UPSERT","KW_USE","KW_USER","KW_USING","KW_VALUE","KW_VALUES","KW_VALUE_OF","KW_VARBINARY","KW_VARCHAR","KW_VARYING","KW_VAR_POP","KW_VAR_SAMP","KW_VERSIONING","KW_VIEWS","KW_VIRTUAL","KW_WATERMARK","KW_WATERMARKS","KW_WEDNESDAY","KW_WEEKS","KW_WHEN","KW_WHENEVER","KW_WHERE","KW_WIDTH_BUCKET","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_YEAR","KW_ADD","KW_AFTER","KW_ASC","KW_CASCADE","KW_CATALOG","KW_CENTURY","KW_CONFIG","KW_CONSTRAINTS","KW_CUMULATE","KW_DATA","KW_DATABASE","KW_DAYS","KW_DECADE","KW_DESC","KW_DESCRIPTOR","KW_DIV","KW_ENGINE","KW_EPOCH","KW_EXCLUDING","KW_FILE","KW_FIRST","KW_GENERATED","KW_HOP","KW_HOURS","KW_IGNORE","KW_INCLUDING","KW_JAR","KW_JARS","KW_JAVA","KW_KEY","KW_LAST","KW_LOAD","KW_MAP","KW_MICROSECOND","KW_MILLENNIUM","KW_MILLISECOND","KW_MINUTES","KW_MONTHS","KW_NANOSECOND","KW_NULLS","KW_OPTIONS","KW_PAST","KW_PLAN","KW_PRECEDING","KW_PYTHON","KW_PYTHON_ARCHIVES","KW_PYTHON_DEPENDENCIES","KW_PYTHON_FILES","KW_PYTHON_JAR","KW_PYTHON_PARAMETER","KW_PYTHON_REQUIREMENTS","KW_QUARTER","KW_REMOVE","KW_RESTRICT","KW_SECONDS","KW_SESSION","KW_SETS","KW_SIZE","KW_SLIDE","KW_STEP","KW_TEMPORARY","KW_TIMECOL","KW_TUMBLE","KW_UNLOAD","KW_VIEW","KW_WEEK","KW_YEARS","KW_ZONE","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LS_BRACKET","RS_BRACKET","LR_BRACKET","RR_BRACKET","LB_BRACKET","RB_BRACKET","COMMA","SEMICOLON","AT_SIGN","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","ASTERISK_SIGN","UNDERLINE_SIGN","HYPNEN_SIGN","ADD_SIGN","PENCENT_SIGN","DOUBLE_VERTICAL_SIGN","DOUBLE_HYPNEN_SIGN","SLASH_SIGN","QUESTION_MARK_SIGN","DOUBLE_RIGHT_ARROW","STRING_LITERAL","DIG_LITERAL","REAL_LITERAL","BIT_STRING","ID_LITERAL"],l.modeNames=["DEFAULT_MODE"],l.ruleNames=["SPACE","COMMENT_INPUT","LINE_COMMENT","KW_ABS","KW_ALL","KW_ALLOCATE","KW_ALLOW","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARE","KW_ARRAY","KW_ARRAY_AGG","KW_ARRAY_CONCAT_AGG","KW_ARRAY_MAX_CARDINALITY","KW_AS","KW_ASENSITIVE","KW_ASYMMETRIC","KW_AT","KW_ATOMIC","KW_AUTHORIZATION","KW_AVG","KW_BEGIN","KW_BEGIN_FRAME","KW_BEGIN_PARTITION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BIT","KW_BLOB","KW_BOOLEAN","KW_BOTH","KW_BY","KW_BYTES","KW_CALL","KW_CALLED","KW_CARDINALITY","KW_CASCADED","KW_CASE","KW_CAST","KW_CATALOGS","KW_CEIL","KW_CEILING","KW_CHANGELOG_MODE","KW_CHAR","KW_CHARACTER","KW_CHARACTER_LENGTH","KW_CHAR_LENGTH","KW_CHECK","KW_CLASSIFIER","KW_CLOB","KW_CLOSE","KW_COALESCE","KW_COLLATE","KW_COLLECT","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPUTE","KW_CONDITION","KW_CONNECT","KW_CONSTRAINT","KW_CONTAINS","KW_CONVERT","KW_CORR","KW_CORRESPONDING","KW_COUNT","KW_COVAR_POP","KW_COVAR_SAMP","KW_CREATE","KW_CROSS","KW_CUBE","KW_CUME_DIST","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_DEFAULT_TRANSFORM_GROUP","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_ROW","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE","KW_CURRENT_USER","KW_CURSOR","KW_CYCLE","KW_DATABASES","KW_DATE","KW_DATETIME","KW_DATETIME_DIFF","KW_DATETIME_TRUNC","KW_DATE_DIFF","KW_DATE_TRUNC","KW_DAY","KW_DAYOFWEEK","KW_DAYOFYEAR","KW_DEALLOCATE","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DELETE","KW_DENSE_RANK","KW_DEREF","KW_DESCRIBE","KW_DETERMINISTIC","KW_DISALLOW","KW_DISCONNECT","KW_DISTINCT","KW_DOT","KW_DOUBLE","KW_DROP","KW_DYNAMIC","KW_EACH","KW_ELEMENT","KW_ELSE","KW_EMPTY","KW_END","KW_END_FRAME","KW_END_PARTITION","KW_ENFORCED","KW_EQUALS","KW_ESCAPE","KW_ESTIMATED_COST","KW_EVERY","KW_EXCEPT","KW_EXEC","KW_EXECUTE","KW_EXISTS","KW_EXP","KW_EXPLAIN","KW_EXTEND","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FIRST_VALUE","KW_FLOAT","KW_FLOOR","KW_FOR","KW_FOREIGN","KW_FRAME_ROW","KW_FREE","KW_FRIDAY","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_FUSION","KW_GET","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_GROUP_CONCAT","KW_HAVING","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_ILIKE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDICATOR","KW_INITIAL","KW_INNER","KW_INOUT","KW_INSENSITIVE","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERSECTION","KW_INTERVAL","KW_INTO","KW_IS","KW_JOIN","KW_JSON_ARRAY","KW_JSON_ARRAYAGG","KW_JSON_EXECUTION_PLAN","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_OBJECTAGG","KW_JSON_QUERY","KW_JSON_VALUE","KW_LAG","KW_LANGUAGE","KW_LARGE","KW_LAST_VALUE","KW_LATERAL","KW_LEAD","KW_LEADING","KW_LEFT","KW_LIKE","KW_LIKE_REGEX","KW_LIMIT","KW_LN","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOWER","KW_MATCH","KW_MATCHES","KW_MATCH_NUMBER","KW_MATCH_RECOGNIZE","KW_MAX","KW_MEASURES","KW_MEMBER","KW_MERGE","KW_METADATA","KW_METHOD","KW_MIN","KW_MINUS","KW_MINUTE","KW_MOD","KW_MODIFIES","KW_MODIFY","KW_MODULE","KW_MODULES","KW_MONDAY","KW_MONTH","KW_MORE","KW_MULTISET","KW_NATIONAL","KW_NATURAL","KW_NCHAR","KW_NCLOB","KW_NEW","KW_NEXT","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NTH_VALUE","KW_NTILE","KW_NULL","KW_NULLIF","KW_NUMERIC","KW_OCCURRENCES_REGEX","KW_OCTET_LENGTH","KW_OF","KW_OFFSET","KW_OLD","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPEN","KW_OR","KW_ORDER","KW_ORDINAL","KW_OUT","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_OVERWRITING","KW_PARAMETER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATTERN","KW_PER","KW_PERCENT","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENT_RANK","KW_PERIOD","KW_PERMUTE","KW_PIVOT","KW_PORTION","KW_POSITION","KW_POSITION_REGEX","KW_POWER","KW_PRECEDES","KW_PRECISION","KW_PREPARE","KW_PREV","KW_PRIMARY","KW_PROCEDURE","KW_QUALIFY","KW_QUARTERS","KW_RANGE","KW_RANK","KW_RAW","KW_READS","KW_REAL","KW_RECURSIVE","KW_REF","KW_REFERENCES","KW_REFERENCING","KW_REGR_AVGX","KW_REGR_AVGY","KW_REGR_COUNT","KW_REGR_INTERCEPT","KW_REGR_R2","KW_REGR_SLOPE","KW_REGR_SXX","KW_REGR_SXY","KW_REGR_SYY","KW_RELEASE","KW_RENAME","KW_RESET","KW_RESULT","KW_RETURN","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_ROW_NUMBER","KW_RUNNING","KW_SAFE_CAST","KW_SAFE_OFFSET","KW_SAFE_ORDINAL","KW_SATURDAY","KW_SAVEPOINT","KW_SCALA","KW_SCOPE","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SEEK","KW_SELECT","KW_SENSITIVE","KW_SEPARATOR","KW_SESSION_USER","KW_SET","KW_SHOW","KW_SIMILAR","KW_SKIP","KW_SMALLINT","KW_SOME","KW_SPECIFIC","KW_SPECIFICTYPE","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQRT","KW_START","KW_STATEMENT","KW_STATIC","KW_STATISTICS","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_STREAM","KW_STRING","KW_STRING_AGG","KW_SUBMULTISET","KW_SUBSET","KW_SUBSTRING","KW_SUBSTRING_REGEX","KW_SUCCEEDS","KW_SUM","KW_SUNDAY","KW_SYMMETRIC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_USER","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_THEN","KW_THURSDAY","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMP_DIFF","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_TRUNC","KW_TIMEZONE_HOUR","KW_TIMEZONE_MINUTE","KW_TIME_DIFF","KW_TIME_TRUNC","KW_TINYINT","KW_TO","KW_TRAILING","KW_TRANSLATE","KW_TRANSLATE_REGEX","KW_TRANSLATION","KW_TREAT","KW_TRIGGER","KW_TRIM","KW_TRIM_ARRAY","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TUESDAY","KW_UESCAPE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNNEST","KW_UNPIVOT","KW_UPDATE","KW_UPPER","KW_UPSERT","KW_USE","KW_USER","KW_USING","KW_VALUE","KW_VALUES","KW_VALUE_OF","KW_VARBINARY","KW_VARCHAR","KW_VARYING","KW_VAR_POP","KW_VAR_SAMP","KW_VERSIONING","KW_VIEWS","KW_VIRTUAL","KW_WATERMARK","KW_WATERMARKS","KW_WEDNESDAY","KW_WEEKS","KW_WHEN","KW_WHENEVER","KW_WHERE","KW_WIDTH_BUCKET","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_YEAR","KW_ADD","KW_AFTER","KW_ASC","KW_CASCADE","KW_CATALOG","KW_CENTURY","KW_CONFIG","KW_CONSTRAINTS","KW_CUMULATE","KW_DATA","KW_DATABASE","KW_DAYS","KW_DECADE","KW_DESC","KW_DESCRIPTOR","KW_DIV","KW_ENGINE","KW_EPOCH","KW_EXCLUDING","KW_FILE","KW_FIRST","KW_GENERATED","KW_HOP","KW_HOURS","KW_IGNORE","KW_INCLUDING","KW_JAR","KW_JARS","KW_JAVA","KW_KEY","KW_LAST","KW_LOAD","KW_MAP","KW_MICROSECOND","KW_MILLENNIUM","KW_MILLISECOND","KW_MINUTES","KW_MONTHS","KW_NANOSECOND","KW_NULLS","KW_OPTIONS","KW_PAST","KW_PLAN","KW_PRECEDING","KW_PYTHON","KW_PYTHON_ARCHIVES","KW_PYTHON_DEPENDENCIES","KW_PYTHON_FILES","KW_PYTHON_JAR","KW_PYTHON_PARAMETER","KW_PYTHON_REQUIREMENTS","KW_QUARTER","KW_REMOVE","KW_RESTRICT","KW_SECONDS","KW_SESSION","KW_SETS","KW_SIZE","KW_SLIDE","KW_STEP","KW_TEMPORARY","KW_TIMECOL","KW_TUMBLE","KW_UNLOAD","KW_VIEW","KW_WEEK","KW_YEARS","KW_ZONE","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LS_BRACKET","RS_BRACKET","LR_BRACKET","RR_BRACKET","LB_BRACKET","RB_BRACKET","COMMA","SEMICOLON","AT_SIGN","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","ASTERISK_SIGN","UNDERLINE_SIGN","HYPNEN_SIGN","ADD_SIGN","PENCENT_SIGN","DOUBLE_VERTICAL_SIGN","DOUBLE_HYPNEN_SIGN","SLASH_SIGN","QUESTION_MARK_SIGN","DOUBLE_RIGHT_ARROW","STRING_LITERAL","DIG_LITERAL","REAL_LITERAL","BIT_STRING","ID_LITERAL","JAR_FILE_PARTTARN","EXPONENT_NUM_PART","ID_LITERAL_FRAG","DEC_DIGIT","DEC_LETTER","DQUOTA_STRING","SQUOTA_STRING","BIT_STRING_L","BQUOTA_STRING"],l._serializedATN=[4,0,541,5503,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,1,0,4,0,1103,8,0,11,0,12,0,1104,1,0,1,0,1,1,1,1,1,1,1,1,5,1,1113,8,1,10,1,12,1,1116,9,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,3,2,1126,8,2,1,2,5,2,1129,8,2,10,2,12,2,1132,9,2,1,2,3,2,1135,8,2,1,2,1,2,3,2,1139,8,2,1,2,1,2,1,2,1,2,3,2,1145,8,2,1,2,1,2,3,2,1149,8,2,3,2,1151,8,2,1,2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,505,1,505,1,506,1,506,1,507,1,507,1,508,1,508,1,509,1,509,1,510,1,510,1,511,1,511,1,512,1,512,1,513,1,513,1,514,1,514,1,515,1,515,1,516,1,516,1,517,1,517,1,518,1,518,1,519,1,519,1,520,1,520,1,521,1,521,1,522,1,522,1,523,1,523,1,524,1,524,1,525,1,525,1,526,1,526,1,527,1,527,1,528,1,528,1,529,1,529,1,530,1,530,1,531,1,531,1,531,1,532,1,532,1,532,1,533,1,533,1,534,1,534,1,535,1,535,1,535,1,536,1,536,1,536,3,536,5357,8,536,1,537,4,537,5360,8,537,11,537,12,537,5361,1,538,4,538,5365,8,538,11,538,12,538,5366,3,538,5369,8,538,1,538,1,538,4,538,5373,8,538,11,538,12,538,5374,1,538,4,538,5378,8,538,11,538,12,538,5379,1,538,1,538,1,538,1,538,4,538,5386,8,538,11,538,12,538,5387,3,538,5390,8,538,1,538,1,538,4,538,5394,8,538,11,538,12,538,5395,1,538,1,538,1,538,4,538,5401,8,538,11,538,12,538,5402,1,538,1,538,3,538,5407,8,538,1,539,1,539,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,541,5,541,5419,8,541,10,541,12,541,5422,9,541,1,541,1,541,1,542,1,542,3,542,5428,8,542,1,542,4,542,5431,8,542,11,542,12,542,5432,1,543,5,543,5436,8,543,10,543,12,543,5439,9,543,1,543,4,543,5442,8,543,11,543,12,543,5443,1,543,5,543,5447,8,543,10,543,12,543,5450,9,543,1,544,1,544,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,5,546,5462,8,546,10,546,12,546,5465,9,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,5,547,5475,8,547,10,547,12,547,5478,9,547,1,547,1,547,1,548,1,548,1,548,4,548,5485,8,548,11,548,12,548,5486,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,549,5,549,5497,8,549,10,549,12,549,5500,9,549,1,549,1,549,3,1114,5437,5443,0,550,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,433,867,434,869,435,871,436,873,437,875,438,877,439,879,440,881,441,883,442,885,443,887,444,889,445,891,446,893,447,895,448,897,449,899,450,901,451,903,452,905,453,907,454,909,455,911,456,913,457,915,458,917,459,919,460,921,461,923,462,925,463,927,464,929,465,931,466,933,467,935,468,937,469,939,470,941,471,943,472,945,473,947,474,949,475,951,476,953,477,955,478,957,479,959,480,961,481,963,482,965,483,967,484,969,485,971,486,973,487,975,488,977,489,979,490,981,491,983,492,985,493,987,494,989,495,991,496,993,497,995,498,997,499,999,500,1001,501,1003,502,1005,503,1007,504,1009,505,1011,506,1013,507,1015,508,1017,509,1019,510,1021,511,1023,512,1025,513,1027,514,1029,515,1031,516,1033,517,1035,518,1037,519,1039,520,1041,521,1043,522,1045,523,1047,524,1049,525,1051,526,1053,527,1055,528,1057,529,1059,530,1061,531,1063,532,1065,533,1067,534,1069,535,1071,536,1073,537,1075,538,1077,539,1079,540,1081,541,1083,0,1085,0,1087,0,1089,0,1091,0,1093,0,1095,0,1097,0,1099,0,1,0,37,3,0,9,10,13,13,32,32,2,0,10,10,13,13,2,0,65,65,97,97,2,0,66,66,98,98,2,0,83,83,115,115,2,0,76,76,108,108,2,0,79,79,111,111,2,0,67,67,99,99,2,0,84,84,116,116,2,0,69,69,101,101,2,0,87,87,119,119,2,0,82,82,114,114,2,0,78,78,110,110,2,0,89,89,121,121,2,0,90,90,122,122,2,0,68,68,100,100,2,0,71,71,103,103,2,0,77,77,109,109,2,0,88,88,120,120,2,0,73,73,105,105,2,0,86,86,118,118,2,0,85,85,117,117,2,0,72,72,104,104,2,0,70,70,102,102,2,0,80,80,112,112,2,0,75,75,107,107,2,0,81,81,113,113,2,0,74,74,106,106,2,0,92,92,96,96,2,0,43,43,45,45,4,0,48,57,65,90,95,95,97,122,3,0,65,90,95,95,97,122,1,0,48,57,2,0,65,90,97,122,2,0,34,34,92,92,2,0,39,39,92,92,1,0,48,49,5534,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,1,1102,1,0,0,0,3,1108,1,0,0,0,5,1150,1,0,0,0,7,1154,1,0,0,0,9,1158,1,0,0,0,11,1162,1,0,0,0,13,1171,1,0,0,0,15,1177,1,0,0,0,17,1183,1,0,0,0,19,1191,1,0,0,0,21,1195,1,0,0,0,23,1199,1,0,0,0,25,1203,1,0,0,0,27,1209,1,0,0,0,29,1219,1,0,0,0,31,1236,1,0,0,0,33,1258,1,0,0,0,35,1261,1,0,0,0,37,1272,1,0,0,0,39,1283,1,0,0,0,41,1286,1,0,0,0,43,1293,1,0,0,0,45,1307,1,0,0,0,47,1311,1,0,0,0,49,1317,1,0,0,0,51,1329,1,0,0,0,53,1345,1,0,0,0,55,1353,1,0,0,0,57,1360,1,0,0,0,59,1367,1,0,0,0,61,1371,1,0,0,0,63,1376,1,0,0,0,65,1384,1,0,0,0,67,1389,1,0,0,0,69,1392,1,0,0,0,71,1398,1,0,0,0,73,1403,1,0,0,0,75,1410,1,0,0,0,77,1422,1,0,0,0,79,1431,1,0,0,0,81,1436,1,0,0,0,83,1441,1,0,0,0,85,1450,1,0,0,0,87,1455,1,0,0,0,89,1463,1,0,0,0,91,1478,1,0,0,0,93,1483,1,0,0,0,95,1493,1,0,0,0,97,1510,1,0,0,0,99,1522,1,0,0,0,101,1528,1,0,0,0,103,1539,1,0,0,0,105,1544,1,0,0,0,107,1550,1,0,0,0,109,1559,1,0,0,0,111,1567,1,0,0,0,113,1575,1,0,0,0,115,1582,1,0,0,0,117,1590,1,0,0,0,119,1598,1,0,0,0,121,1605,1,0,0,0,123,1613,1,0,0,0,125,1623,1,0,0,0,127,1631,1,0,0,0,129,1642,1,0,0,0,131,1651,1,0,0,0,133,1659,1,0,0,0,135,1664,1,0,0,0,137,1678,1,0,0,0,139,1684,1,0,0,0,141,1694,1,0,0,0,143,1705,1,0,0,0,145,1712,1,0,0,0,147,1718,1,0,0,0,149,1723,1,0,0,0,151,1733,1,0,0,0,153,1741,1,0,0,0,155,1757,1,0,0,0,157,1770,1,0,0,0,159,1802,1,0,0,0,161,1815,1,0,0,0,163,1828,1,0,0,0,165,1840,1,0,0,0,167,1855,1,0,0,0,169,1868,1,0,0,0,171,1886,1,0,0,0,173,1919,1,0,0,0,175,1932,1,0,0,0,177,1939,1,0,0,0,179,1945,1,0,0,0,181,1955,1,0,0,0,183,1960,1,0,0,0,185,1969,1,0,0,0,187,1983,1,0,0,0,189,1998,1,0,0,0,191,2008,1,0,0,0,193,2019,1,0,0,0,195,2023,1,0,0,0,197,2033,1,0,0,0,199,2043,1,0,0,0,201,2054,1,0,0,0,203,2058,1,0,0,0,205,2066,1,0,0,0,207,2074,1,0,0,0,209,2082,1,0,0,0,211,2089,1,0,0,0,213,2096,1,0,0,0,215,2107,1,0,0,0,217,2113,1,0,0,0,219,2122,1,0,0,0,221,2136,1,0,0,0,223,2145,1,0,0,0,225,2156,1,0,0,0,227,2165,1,0,0,0,229,2169,1,0,0,0,231,2176,1,0,0,0,233,2181,1,0,0,0,235,2189,1,0,0,0,237,2194,1,0,0,0,239,2202,1,0,0,0,241,2207,1,0,0,0,243,2213,1,0,0,0,245,2217,1,0,0,0,247,2227,1,0,0,0,249,2241,1,0,0,0,251,2250,1,0,0,0,253,2257,1,0,0,0,255,2264,1,0,0,0,257,2279,1,0,0,0,259,2285,1,0,0,0,261,2292,1,0,0,0,263,2297,1,0,0,0,265,2305,1,0,0,0,267,2312,1,0,0,0,269,2316,1,0,0,0,271,2324,1,0,0,0,273,2331,1,0,0,0,275,2340,1,0,0,0,277,2349,1,0,0,0,279,2357,1,0,0,0,281,2363,1,0,0,0,283,2369,1,0,0,0,285,2376,1,0,0,0,287,2388,1,0,0,0,289,2394,1,0,0,0,291,2400,1,0,0,0,293,2404,1,0,0,0,295,2412,1,0,0,0,297,2422,1,0,0,0,299,2427,1,0,0,0,301,2434,1,0,0,0,303,2439,1,0,0,0,305,2444,1,0,0,0,307,2453,1,0,0,0,309,2463,1,0,0,0,311,2470,1,0,0,0,313,2474,1,0,0,0,315,2481,1,0,0,0,317,2487,1,0,0,0,319,2493,1,0,0,0,321,2502,1,0,0,0,323,2509,1,0,0,0,325,2522,1,0,0,0,327,2529,1,0,0,0,329,2534,1,0,0,0,331,2539,1,0,0,0,333,2548,1,0,0,0,335,2551,1,0,0,0,337,2557,1,0,0,0,339,2564,1,0,0,0,341,2567,1,0,0,0,343,2575,1,0,0,0,345,2585,1,0,0,0,347,2593,1,0,0,0,349,2599,1,0,0,0,351,2605,1,0,0,0,353,2617,1,0,0,0,355,2624,1,0,0,0,357,2628,1,0,0,0,359,2636,1,0,0,0,361,2646,1,0,0,0,363,2659,1,0,0,0,365,2668,1,0,0,0,367,2673,1,0,0,0,369,2676,1,0,0,0,371,2681,1,0,0,0,373,2692,1,0,0,0,375,2706,1,0,0,0,377,2726,1,0,0,0,379,2738,1,0,0,0,381,2750,1,0,0,0,383,2765,1,0,0,0,385,2776,1,0,0,0,387,2787,1,0,0,0,389,2791,1,0,0,0,391,2800,1,0,0,0,393,2806,1,0,0,0,395,2817,1,0,0,0,397,2825,1,0,0,0,399,2830,1,0,0,0,401,2838,1,0,0,0,403,2843,1,0,0,0,405,2848,1,0,0,0,407,2859,1,0,0,0,409,2865,1,0,0,0,411,2868,1,0,0,0,413,2874,1,0,0,0,415,2884,1,0,0,0,417,2899,1,0,0,0,419,2905,1,0,0,0,421,2911,1,0,0,0,423,2919,1,0,0,0,425,2932,1,0,0,0,427,2948,1,0,0,0,429,2952,1,0,0,0,431,2961,1,0,0,0,433,2968,1,0,0,0,435,2974,1,0,0,0,437,2983,1,0,0,0,439,2990,1,0,0,0,441,2994,1,0,0,0,443,3e3,1,0,0,0,445,3007,1,0,0,0,447,3011,1,0,0,0,449,3020,1,0,0,0,451,3027,1,0,0,0,453,3034,1,0,0,0,455,3042,1,0,0,0,457,3049,1,0,0,0,459,3055,1,0,0,0,461,3060,1,0,0,0,463,3069,1,0,0,0,465,3078,1,0,0,0,467,3086,1,0,0,0,469,3092,1,0,0,0,471,3098,1,0,0,0,473,3102,1,0,0,0,475,3107,1,0,0,0,477,3110,1,0,0,0,479,3115,1,0,0,0,481,3125,1,0,0,0,483,3129,1,0,0,0,485,3139,1,0,0,0,487,3145,1,0,0,0,489,3150,1,0,0,0,491,3157,1,0,0,0,493,3165,1,0,0,0,495,3183,1,0,0,0,497,3196,1,0,0,0,499,3199,1,0,0,0,501,3206,1,0,0,0,503,3210,1,0,0,0,505,3215,1,0,0,0,507,3218,1,0,0,0,509,3222,1,0,0,0,511,3227,1,0,0,0,513,3232,1,0,0,0,515,3235,1,0,0,0,517,3241,1,0,0,0,519,3249,1,0,0,0,521,3253,1,0,0,0,523,3259,1,0,0,0,525,3264,1,0,0,0,527,3273,1,0,0,0,529,3281,1,0,0,0,531,3291,1,0,0,0,533,3303,1,0,0,0,535,3313,1,0,0,0,537,3323,1,0,0,0,539,3335,1,0,0,0,541,3346,1,0,0,0,543,3354,1,0,0,0,545,3358,1,0,0,0,547,3366,1,0,0,0,549,3382,1,0,0,0,551,3398,1,0,0,0,553,3411,1,0,0,0,555,3418,1,0,0,0,557,3426,1,0,0,0,559,3432,1,0,0,0,561,3440,1,0,0,0,563,3449,1,0,0,0,565,3464,1,0,0,0,567,3470,1,0,0,0,569,3479,1,0,0,0,571,3489,1,0,0,0,573,3497,1,0,0,0,575,3502,1,0,0,0,577,3510,1,0,0,0,579,3520,1,0,0,0,581,3528,1,0,0,0,583,3537,1,0,0,0,585,3543,1,0,0,0,587,3548,1,0,0,0,589,3552,1,0,0,0,591,3558,1,0,0,0,593,3563,1,0,0,0,595,3573,1,0,0,0,597,3577,1,0,0,0,599,3588,1,0,0,0,601,3600,1,0,0,0,603,3610,1,0,0,0,605,3620,1,0,0,0,607,3631,1,0,0,0,609,3646,1,0,0,0,611,3654,1,0,0,0,613,3665,1,0,0,0,615,3674,1,0,0,0,617,3683,1,0,0,0,619,3692,1,0,0,0,621,3700,1,0,0,0,623,3707,1,0,0,0,625,3713,1,0,0,0,627,3720,1,0,0,0,629,3727,1,0,0,0,631,3735,1,0,0,0,633,3742,1,0,0,0,635,3748,1,0,0,0,637,3754,1,0,0,0,639,3763,1,0,0,0,641,3770,1,0,0,0,643,3774,1,0,0,0,645,3779,1,0,0,0,647,3790,1,0,0,0,649,3798,1,0,0,0,651,3808,1,0,0,0,653,3820,1,0,0,0,655,3833,1,0,0,0,657,3842,1,0,0,0,659,3852,1,0,0,0,661,3858,1,0,0,0,663,3864,1,0,0,0,665,3871,1,0,0,0,667,3878,1,0,0,0,669,3885,1,0,0,0,671,3890,1,0,0,0,673,3897,1,0,0,0,675,3907,1,0,0,0,677,3917,1,0,0,0,679,3930,1,0,0,0,681,3934,1,0,0,0,683,3939,1,0,0,0,685,3947,1,0,0,0,687,3952,1,0,0,0,689,3961,1,0,0,0,691,3966,1,0,0,0,693,3975,1,0,0,0,695,3988,1,0,0,0,697,3992,1,0,0,0,699,4005,1,0,0,0,701,4014,1,0,0,0,703,4025,1,0,0,0,705,4030,1,0,0,0,707,4036,1,0,0,0,709,4046,1,0,0,0,711,4053,1,0,0,0,713,4064,1,0,0,0,715,4075,1,0,0,0,717,4087,1,0,0,0,719,4094,1,0,0,0,721,4101,1,0,0,0,723,4112,1,0,0,0,725,4124,1,0,0,0,727,4131,1,0,0,0,729,4141,1,0,0,0,731,4157,1,0,0,0,733,4166,1,0,0,0,735,4170,1,0,0,0,737,4177,1,0,0,0,739,4187,1,0,0,0,741,4194,1,0,0,0,743,4206,1,0,0,0,745,4218,1,0,0,0,747,4224,1,0,0,0,749,4231,1,0,0,0,751,4243,1,0,0,0,753,4248,1,0,0,0,755,4257,1,0,0,0,757,4262,1,0,0,0,759,4272,1,0,0,0,761,4287,1,0,0,0,763,4301,1,0,0,0,765,4317,1,0,0,0,767,4331,1,0,0,0,769,4347,1,0,0,0,771,4357,1,0,0,0,773,4368,1,0,0,0,775,4376,1,0,0,0,777,4379,1,0,0,0,779,4388,1,0,0,0,781,4398,1,0,0,0,783,4414,1,0,0,0,785,4426,1,0,0,0,787,4432,1,0,0,0,789,4440,1,0,0,0,791,4445,1,0,0,0,793,4456,1,0,0,0,795,4461,1,0,0,0,797,4470,1,0,0,0,799,4479,1,0,0,0,801,4487,1,0,0,0,803,4495,1,0,0,0,805,4501,1,0,0,0,807,4508,1,0,0,0,809,4516,1,0,0,0,811,4523,1,0,0,0,813,4531,1,0,0,0,815,4538,1,0,0,0,817,4544,1,0,0,0,819,4551,1,0,0,0,821,4555,1,0,0,0,823,4560,1,0,0,0,825,4566,1,0,0,0,827,4572,1,0,0,0,829,4579,1,0,0,0,831,4588,1,0,0,0,833,4598,1,0,0,0,835,4606,1,0,0,0,837,4614,1,0,0,0,839,4622,1,0,0,0,841,4631,1,0,0,0,843,4642,1,0,0,0,845,4648,1,0,0,0,847,4656,1,0,0,0,849,4666,1,0,0,0,851,4677,1,0,0,0,853,4687,1,0,0,0,855,4693,1,0,0,0,857,4698,1,0,0,0,859,4707,1,0,0,0,861,4713,1,0,0,0,863,4726,1,0,0,0,865,4733,1,0,0,0,867,4738,1,0,0,0,869,4745,1,0,0,0,871,4753,1,0,0,0,873,4758,1,0,0,0,875,4762,1,0,0,0,877,4768,1,0,0,0,879,4772,1,0,0,0,881,4780,1,0,0,0,883,4788,1,0,0,0,885,4796,1,0,0,0,887,4803,1,0,0,0,889,4815,1,0,0,0,891,4824,1,0,0,0,893,4829,1,0,0,0,895,4838,1,0,0,0,897,4843,1,0,0,0,899,4850,1,0,0,0,901,4855,1,0,0,0,903,4866,1,0,0,0,905,4870,1,0,0,0,907,4877,1,0,0,0,909,4883,1,0,0,0,911,4893,1,0,0,0,913,4898,1,0,0,0,915,4904,1,0,0,0,917,4914,1,0,0,0,919,4918,1,0,0,0,921,4924,1,0,0,0,923,4931,1,0,0,0,925,4941,1,0,0,0,927,4945,1,0,0,0,929,4950,1,0,0,0,931,4955,1,0,0,0,933,4959,1,0,0,0,935,4964,1,0,0,0,937,4969,1,0,0,0,939,4973,1,0,0,0,941,4985,1,0,0,0,943,4996,1,0,0,0,945,5008,1,0,0,0,947,5016,1,0,0,0,949,5023,1,0,0,0,951,5034,1,0,0,0,953,5040,1,0,0,0,955,5048,1,0,0,0,957,5053,1,0,0,0,959,5058,1,0,0,0,961,5068,1,0,0,0,963,5075,1,0,0,0,965,5091,1,0,0,0,967,5111,1,0,0,0,969,5124,1,0,0,0,971,5135,1,0,0,0,973,5152,1,0,0,0,975,5172,1,0,0,0,977,5180,1,0,0,0,979,5187,1,0,0,0,981,5196,1,0,0,0,983,5204,1,0,0,0,985,5212,1,0,0,0,987,5217,1,0,0,0,989,5222,1,0,0,0,991,5228,1,0,0,0,993,5233,1,0,0,0,995,5243,1,0,0,0,997,5251,1,0,0,0,999,5258,1,0,0,0,1001,5265,1,0,0,0,1003,5270,1,0,0,0,1005,5275,1,0,0,0,1007,5281,1,0,0,0,1009,5286,1,0,0,0,1011,5288,1,0,0,0,1013,5290,1,0,0,0,1015,5292,1,0,0,0,1017,5294,1,0,0,0,1019,5296,1,0,0,0,1021,5298,1,0,0,0,1023,5300,1,0,0,0,1025,5302,1,0,0,0,1027,5304,1,0,0,0,1029,5306,1,0,0,0,1031,5308,1,0,0,0,1033,5310,1,0,0,0,1035,5312,1,0,0,0,1037,5314,1,0,0,0,1039,5316,1,0,0,0,1041,5318,1,0,0,0,1043,5320,1,0,0,0,1045,5322,1,0,0,0,1047,5324,1,0,0,0,1049,5326,1,0,0,0,1051,5328,1,0,0,0,1053,5330,1,0,0,0,1055,5332,1,0,0,0,1057,5334,1,0,0,0,1059,5336,1,0,0,0,1061,5338,1,0,0,0,1063,5340,1,0,0,0,1065,5343,1,0,0,0,1067,5346,1,0,0,0,1069,5348,1,0,0,0,1071,5350,1,0,0,0,1073,5356,1,0,0,0,1075,5359,1,0,0,0,1077,5406,1,0,0,0,1079,5408,1,0,0,0,1081,5410,1,0,0,0,1083,5412,1,0,0,0,1085,5425,1,0,0,0,1087,5437,1,0,0,0,1089,5451,1,0,0,0,1091,5453,1,0,0,0,1093,5455,1,0,0,0,1095,5468,1,0,0,0,1097,5481,1,0,0,0,1099,5490,1,0,0,0,1101,1103,7,0,0,0,1102,1101,1,0,0,0,1103,1104,1,0,0,0,1104,1102,1,0,0,0,1104,1105,1,0,0,0,1105,1106,1,0,0,0,1106,1107,6,0,0,0,1107,2,1,0,0,0,1108,1109,5,47,0,0,1109,1110,5,42,0,0,1110,1114,1,0,0,0,1111,1113,9,0,0,0,1112,1111,1,0,0,0,1113,1116,1,0,0,0,1114,1115,1,0,0,0,1114,1112,1,0,0,0,1115,1117,1,0,0,0,1116,1114,1,0,0,0,1117,1118,5,42,0,0,1118,1119,5,47,0,0,1119,1120,1,0,0,0,1120,1121,6,1,0,0,1121,4,1,0,0,0,1122,1123,5,45,0,0,1123,1126,5,45,0,0,1124,1126,5,35,0,0,1125,1122,1,0,0,0,1125,1124,1,0,0,0,1126,1130,1,0,0,0,1127,1129,8,1,0,0,1128,1127,1,0,0,0,1129,1132,1,0,0,0,1130,1128,1,0,0,0,1130,1131,1,0,0,0,1131,1138,1,0,0,0,1132,1130,1,0,0,0,1133,1135,5,13,0,0,1134,1133,1,0,0,0,1134,1135,1,0,0,0,1135,1136,1,0,0,0,1136,1139,5,10,0,0,1137,1139,5,0,0,1,1138,1134,1,0,0,0,1138,1137,1,0,0,0,1139,1151,1,0,0,0,1140,1141,5,45,0,0,1141,1142,5,45,0,0,1142,1148,1,0,0,0,1143,1145,5,13,0,0,1144,1143,1,0,0,0,1144,1145,1,0,0,0,1145,1146,1,0,0,0,1146,1149,5,10,0,0,1147,1149,5,0,0,1,1148,1144,1,0,0,0,1148,1147,1,0,0,0,1149,1151,1,0,0,0,1150,1125,1,0,0,0,1150,1140,1,0,0,0,1151,1152,1,0,0,0,1152,1153,6,2,0,0,1153,6,1,0,0,0,1154,1155,7,2,0,0,1155,1156,7,3,0,0,1156,1157,7,4,0,0,1157,8,1,0,0,0,1158,1159,7,2,0,0,1159,1160,7,5,0,0,1160,1161,7,5,0,0,1161,10,1,0,0,0,1162,1163,7,2,0,0,1163,1164,7,5,0,0,1164,1165,7,5,0,0,1165,1166,7,6,0,0,1166,1167,7,7,0,0,1167,1168,7,2,0,0,1168,1169,7,8,0,0,1169,1170,7,9,0,0,1170,12,1,0,0,0,1171,1172,7,2,0,0,1172,1173,7,5,0,0,1173,1174,7,5,0,0,1174,1175,7,6,0,0,1175,1176,7,10,0,0,1176,14,1,0,0,0,1177,1178,7,2,0,0,1178,1179,7,5,0,0,1179,1180,7,8,0,0,1180,1181,7,9,0,0,1181,1182,7,11,0,0,1182,16,1,0,0,0,1183,1184,7,2,0,0,1184,1185,7,12,0,0,1185,1186,7,2,0,0,1186,1187,7,5,0,0,1187,1188,7,13,0,0,1188,1189,7,14,0,0,1189,1190,7,9,0,0,1190,18,1,0,0,0,1191,1192,7,2,0,0,1192,1193,7,12,0,0,1193,1194,7,15,0,0,1194,20,1,0,0,0,1195,1196,7,2,0,0,1196,1197,7,12,0,0,1197,1198,7,13,0,0,1198,22,1,0,0,0,1199,1200,7,2,0,0,1200,1201,7,11,0,0,1201,1202,7,9,0,0,1202,24,1,0,0,0,1203,1204,7,2,0,0,1204,1205,7,11,0,0,1205,1206,7,11,0,0,1206,1207,7,2,0,0,1207,1208,7,13,0,0,1208,26,1,0,0,0,1209,1210,7,2,0,0,1210,1211,7,11,0,0,1211,1212,7,11,0,0,1212,1213,7,2,0,0,1213,1214,7,13,0,0,1214,1215,5,95,0,0,1215,1216,7,2,0,0,1216,1217,7,16,0,0,1217,1218,7,16,0,0,1218,28,1,0,0,0,1219,1220,7,2,0,0,1220,1221,7,11,0,0,1221,1222,7,11,0,0,1222,1223,7,2,0,0,1223,1224,7,13,0,0,1224,1225,5,95,0,0,1225,1226,7,7,0,0,1226,1227,7,6,0,0,1227,1228,7,12,0,0,1228,1229,7,7,0,0,1229,1230,7,2,0,0,1230,1231,7,8,0,0,1231,1232,5,95,0,0,1232,1233,7,2,0,0,1233,1234,7,16,0,0,1234,1235,7,16,0,0,1235,30,1,0,0,0,1236,1237,7,2,0,0,1237,1238,7,11,0,0,1238,1239,7,11,0,0,1239,1240,7,2,0,0,1240,1241,7,13,0,0,1241,1242,5,95,0,0,1242,1243,7,17,0,0,1243,1244,7,2,0,0,1244,1245,7,18,0,0,1245,1246,5,95,0,0,1246,1247,7,7,0,0,1247,1248,7,2,0,0,1248,1249,7,11,0,0,1249,1250,7,15,0,0,1250,1251,7,19,0,0,1251,1252,7,12,0,0,1252,1253,7,2,0,0,1253,1254,7,5,0,0,1254,1255,7,19,0,0,1255,1256,7,8,0,0,1256,1257,7,13,0,0,1257,32,1,0,0,0,1258,1259,7,2,0,0,1259,1260,7,4,0,0,1260,34,1,0,0,0,1261,1262,7,2,0,0,1262,1263,7,4,0,0,1263,1264,7,9,0,0,1264,1265,7,12,0,0,1265,1266,7,4,0,0,1266,1267,7,19,0,0,1267,1268,7,8,0,0,1268,1269,7,19,0,0,1269,1270,7,20,0,0,1270,1271,7,9,0,0,1271,36,1,0,0,0,1272,1273,7,2,0,0,1273,1274,7,4,0,0,1274,1275,7,13,0,0,1275,1276,7,17,0,0,1276,1277,7,17,0,0,1277,1278,7,9,0,0,1278,1279,7,8,0,0,1279,1280,7,11,0,0,1280,1281,7,19,0,0,1281,1282,7,7,0,0,1282,38,1,0,0,0,1283,1284,7,2,0,0,1284,1285,7,8,0,0,1285,40,1,0,0,0,1286,1287,7,2,0,0,1287,1288,7,8,0,0,1288,1289,7,6,0,0,1289,1290,7,17,0,0,1290,1291,7,19,0,0,1291,1292,7,7,0,0,1292,42,1,0,0,0,1293,1294,7,2,0,0,1294,1295,7,21,0,0,1295,1296,7,8,0,0,1296,1297,7,22,0,0,1297,1298,7,6,0,0,1298,1299,7,11,0,0,1299,1300,7,19,0,0,1300,1301,7,14,0,0,1301,1302,7,2,0,0,1302,1303,7,8,0,0,1303,1304,7,19,0,0,1304,1305,7,6,0,0,1305,1306,7,12,0,0,1306,44,1,0,0,0,1307,1308,7,2,0,0,1308,1309,7,20,0,0,1309,1310,7,16,0,0,1310,46,1,0,0,0,1311,1312,7,3,0,0,1312,1313,7,9,0,0,1313,1314,7,16,0,0,1314,1315,7,19,0,0,1315,1316,7,12,0,0,1316,48,1,0,0,0,1317,1318,7,3,0,0,1318,1319,7,9,0,0,1319,1320,7,16,0,0,1320,1321,7,19,0,0,1321,1322,7,12,0,0,1322,1323,5,95,0,0,1323,1324,7,23,0,0,1324,1325,7,11,0,0,1325,1326,7,2,0,0,1326,1327,7,17,0,0,1327,1328,7,9,0,0,1328,50,1,0,0,0,1329,1330,7,3,0,0,1330,1331,7,9,0,0,1331,1332,7,16,0,0,1332,1333,7,19,0,0,1333,1334,7,12,0,0,1334,1335,5,95,0,0,1335,1336,7,24,0,0,1336,1337,7,2,0,0,1337,1338,7,11,0,0,1338,1339,7,8,0,0,1339,1340,7,19,0,0,1340,1341,7,8,0,0,1341,1342,7,19,0,0,1342,1343,7,6,0,0,1343,1344,7,12,0,0,1344,52,1,0,0,0,1345,1346,7,3,0,0,1346,1347,7,9,0,0,1347,1348,7,8,0,0,1348,1349,7,10,0,0,1349,1350,7,9,0,0,1350,1351,7,9,0,0,1351,1352,7,12,0,0,1352,54,1,0,0,0,1353,1354,7,3,0,0,1354,1355,7,19,0,0,1355,1356,7,16,0,0,1356,1357,7,19,0,0,1357,1358,7,12,0,0,1358,1359,7,8,0,0,1359,56,1,0,0,0,1360,1361,7,3,0,0,1361,1362,7,19,0,0,1362,1363,7,12,0,0,1363,1364,7,2,0,0,1364,1365,7,11,0,0,1365,1366,7,13,0,0,1366,58,1,0,0,0,1367,1368,7,3,0,0,1368,1369,7,19,0,0,1369,1370,7,8,0,0,1370,60,1,0,0,0,1371,1372,7,3,0,0,1372,1373,7,5,0,0,1373,1374,7,6,0,0,1374,1375,7,3,0,0,1375,62,1,0,0,0,1376,1377,7,3,0,0,1377,1378,7,6,0,0,1378,1379,7,6,0,0,1379,1380,7,5,0,0,1380,1381,7,9,0,0,1381,1382,7,2,0,0,1382,1383,7,12,0,0,1383,64,1,0,0,0,1384,1385,7,3,0,0,1385,1386,7,6,0,0,1386,1387,7,8,0,0,1387,1388,7,22,0,0,1388,66,1,0,0,0,1389,1390,7,3,0,0,1390,1391,7,13,0,0,1391,68,1,0,0,0,1392,1393,7,3,0,0,1393,1394,7,13,0,0,1394,1395,7,8,0,0,1395,1396,7,9,0,0,1396,1397,7,4,0,0,1397,70,1,0,0,0,1398,1399,7,7,0,0,1399,1400,7,2,0,0,1400,1401,7,5,0,0,1401,1402,7,5,0,0,1402,72,1,0,0,0,1403,1404,7,7,0,0,1404,1405,7,2,0,0,1405,1406,7,5,0,0,1406,1407,7,5,0,0,1407,1408,7,9,0,0,1408,1409,7,15,0,0,1409,74,1,0,0,0,1410,1411,7,7,0,0,1411,1412,7,2,0,0,1412,1413,7,11,0,0,1413,1414,7,15,0,0,1414,1415,7,19,0,0,1415,1416,7,12,0,0,1416,1417,7,2,0,0,1417,1418,7,5,0,0,1418,1419,7,19,0,0,1419,1420,7,8,0,0,1420,1421,7,13,0,0,1421,76,1,0,0,0,1422,1423,7,7,0,0,1423,1424,7,2,0,0,1424,1425,7,4,0,0,1425,1426,7,7,0,0,1426,1427,7,2,0,0,1427,1428,7,15,0,0,1428,1429,7,9,0,0,1429,1430,7,15,0,0,1430,78,1,0,0,0,1431,1432,7,7,0,0,1432,1433,7,2,0,0,1433,1434,7,4,0,0,1434,1435,7,9,0,0,1435,80,1,0,0,0,1436,1437,7,7,0,0,1437,1438,7,2,0,0,1438,1439,7,4,0,0,1439,1440,7,8,0,0,1440,82,1,0,0,0,1441,1442,7,7,0,0,1442,1443,7,2,0,0,1443,1444,7,8,0,0,1444,1445,7,2,0,0,1445,1446,7,5,0,0,1446,1447,7,6,0,0,1447,1448,7,16,0,0,1448,1449,7,4,0,0,1449,84,1,0,0,0,1450,1451,7,7,0,0,1451,1452,7,9,0,0,1452,1453,7,19,0,0,1453,1454,7,5,0,0,1454,86,1,0,0,0,1455,1456,7,7,0,0,1456,1457,7,9,0,0,1457,1458,7,19,0,0,1458,1459,7,5,0,0,1459,1460,7,19,0,0,1460,1461,7,12,0,0,1461,1462,7,16,0,0,1462,88,1,0,0,0,1463,1464,7,7,0,0,1464,1465,7,22,0,0,1465,1466,7,2,0,0,1466,1467,7,12,0,0,1467,1468,7,16,0,0,1468,1469,7,9,0,0,1469,1470,7,5,0,0,1470,1471,7,6,0,0,1471,1472,7,16,0,0,1472,1473,5,95,0,0,1473,1474,7,17,0,0,1474,1475,7,6,0,0,1475,1476,7,15,0,0,1476,1477,7,9,0,0,1477,90,1,0,0,0,1478,1479,7,7,0,0,1479,1480,7,22,0,0,1480,1481,7,2,0,0,1481,1482,7,11,0,0,1482,92,1,0,0,0,1483,1484,7,7,0,0,1484,1485,7,22,0,0,1485,1486,7,2,0,0,1486,1487,7,11,0,0,1487,1488,7,2,0,0,1488,1489,7,7,0,0,1489,1490,7,8,0,0,1490,1491,7,9,0,0,1491,1492,7,11,0,0,1492,94,1,0,0,0,1493,1494,7,7,0,0,1494,1495,7,22,0,0,1495,1496,7,2,0,0,1496,1497,7,11,0,0,1497,1498,7,2,0,0,1498,1499,7,7,0,0,1499,1500,7,8,0,0,1500,1501,7,9,0,0,1501,1502,7,11,0,0,1502,1503,5,95,0,0,1503,1504,7,5,0,0,1504,1505,7,9,0,0,1505,1506,7,12,0,0,1506,1507,7,16,0,0,1507,1508,7,8,0,0,1508,1509,7,22,0,0,1509,96,1,0,0,0,1510,1511,7,7,0,0,1511,1512,7,22,0,0,1512,1513,7,2,0,0,1513,1514,7,11,0,0,1514,1515,5,95,0,0,1515,1516,7,5,0,0,1516,1517,7,9,0,0,1517,1518,7,12,0,0,1518,1519,7,16,0,0,1519,1520,7,8,0,0,1520,1521,7,22,0,0,1521,98,1,0,0,0,1522,1523,7,7,0,0,1523,1524,7,22,0,0,1524,1525,7,9,0,0,1525,1526,7,7,0,0,1526,1527,7,25,0,0,1527,100,1,0,0,0,1528,1529,7,7,0,0,1529,1530,7,5,0,0,1530,1531,7,2,0,0,1531,1532,7,4,0,0,1532,1533,7,4,0,0,1533,1534,7,19,0,0,1534,1535,7,23,0,0,1535,1536,7,19,0,0,1536,1537,7,9,0,0,1537,1538,7,11,0,0,1538,102,1,0,0,0,1539,1540,7,7,0,0,1540,1541,7,5,0,0,1541,1542,7,6,0,0,1542,1543,7,3,0,0,1543,104,1,0,0,0,1544,1545,7,7,0,0,1545,1546,7,5,0,0,1546,1547,7,6,0,0,1547,1548,7,4,0,0,1548,1549,7,9,0,0,1549,106,1,0,0,0,1550,1551,7,7,0,0,1551,1552,7,6,0,0,1552,1553,7,2,0,0,1553,1554,7,5,0,0,1554,1555,7,9,0,0,1555,1556,7,4,0,0,1556,1557,7,7,0,0,1557,1558,7,9,0,0,1558,108,1,0,0,0,1559,1560,7,7,0,0,1560,1561,7,6,0,0,1561,1562,7,5,0,0,1562,1563,7,5,0,0,1563,1564,7,2,0,0,1564,1565,7,8,0,0,1565,1566,7,9,0,0,1566,110,1,0,0,0,1567,1568,7,7,0,0,1568,1569,7,6,0,0,1569,1570,7,5,0,0,1570,1571,7,5,0,0,1571,1572,7,9,0,0,1572,1573,7,7,0,0,1573,1574,7,8,0,0,1574,112,1,0,0,0,1575,1576,7,7,0,0,1576,1577,7,6,0,0,1577,1578,7,5,0,0,1578,1579,7,21,0,0,1579,1580,7,17,0,0,1580,1581,7,12,0,0,1581,114,1,0,0,0,1582,1583,7,7,0,0,1583,1584,7,6,0,0,1584,1585,7,5,0,0,1585,1586,7,21,0,0,1586,1587,7,17,0,0,1587,1588,7,12,0,0,1588,1589,7,4,0,0,1589,116,1,0,0,0,1590,1591,7,7,0,0,1591,1592,7,6,0,0,1592,1593,7,17,0,0,1593,1594,7,17,0,0,1594,1595,7,9,0,0,1595,1596,7,12,0,0,1596,1597,7,8,0,0,1597,118,1,0,0,0,1598,1599,7,7,0,0,1599,1600,7,6,0,0,1600,1601,7,17,0,0,1601,1602,7,17,0,0,1602,1603,7,19,0,0,1603,1604,7,8,0,0,1604,120,1,0,0,0,1605,1606,7,7,0,0,1606,1607,7,6,0,0,1607,1608,7,17,0,0,1608,1609,7,24,0,0,1609,1610,7,21,0,0,1610,1611,7,8,0,0,1611,1612,7,9,0,0,1612,122,1,0,0,0,1613,1614,7,7,0,0,1614,1615,7,6,0,0,1615,1616,7,12,0,0,1616,1617,7,15,0,0,1617,1618,7,19,0,0,1618,1619,7,8,0,0,1619,1620,7,19,0,0,1620,1621,7,6,0,0,1621,1622,7,12,0,0,1622,124,1,0,0,0,1623,1624,7,7,0,0,1624,1625,7,6,0,0,1625,1626,7,12,0,0,1626,1627,7,12,0,0,1627,1628,7,9,0,0,1628,1629,7,7,0,0,1629,1630,7,8,0,0,1630,126,1,0,0,0,1631,1632,7,7,0,0,1632,1633,7,6,0,0,1633,1634,7,12,0,0,1634,1635,7,4,0,0,1635,1636,7,8,0,0,1636,1637,7,11,0,0,1637,1638,7,2,0,0,1638,1639,7,19,0,0,1639,1640,7,12,0,0,1640,1641,7,8,0,0,1641,128,1,0,0,0,1642,1643,7,7,0,0,1643,1644,7,6,0,0,1644,1645,7,12,0,0,1645,1646,7,8,0,0,1646,1647,7,2,0,0,1647,1648,7,19,0,0,1648,1649,7,12,0,0,1649,1650,7,4,0,0,1650,130,1,0,0,0,1651,1652,7,7,0,0,1652,1653,7,6,0,0,1653,1654,7,12,0,0,1654,1655,7,20,0,0,1655,1656,7,9,0,0,1656,1657,7,11,0,0,1657,1658,7,8,0,0,1658,132,1,0,0,0,1659,1660,7,7,0,0,1660,1661,7,6,0,0,1661,1662,7,11,0,0,1662,1663,7,11,0,0,1663,134,1,0,0,0,1664,1665,7,7,0,0,1665,1666,7,6,0,0,1666,1667,7,11,0,0,1667,1668,7,11,0,0,1668,1669,7,9,0,0,1669,1670,7,4,0,0,1670,1671,7,24,0,0,1671,1672,7,6,0,0,1672,1673,7,12,0,0,1673,1674,7,15,0,0,1674,1675,7,19,0,0,1675,1676,7,12,0,0,1676,1677,7,16,0,0,1677,136,1,0,0,0,1678,1679,7,7,0,0,1679,1680,7,6,0,0,1680,1681,7,21,0,0,1681,1682,7,12,0,0,1682,1683,7,8,0,0,1683,138,1,0,0,0,1684,1685,7,7,0,0,1685,1686,7,6,0,0,1686,1687,7,20,0,0,1687,1688,7,2,0,0,1688,1689,7,11,0,0,1689,1690,5,95,0,0,1690,1691,7,24,0,0,1691,1692,7,6,0,0,1692,1693,7,24,0,0,1693,140,1,0,0,0,1694,1695,7,7,0,0,1695,1696,7,6,0,0,1696,1697,7,20,0,0,1697,1698,7,2,0,0,1698,1699,7,11,0,0,1699,1700,5,95,0,0,1700,1701,7,4,0,0,1701,1702,7,2,0,0,1702,1703,7,17,0,0,1703,1704,7,24,0,0,1704,142,1,0,0,0,1705,1706,7,7,0,0,1706,1707,7,11,0,0,1707,1708,7,9,0,0,1708,1709,7,2,0,0,1709,1710,7,8,0,0,1710,1711,7,9,0,0,1711,144,1,0,0,0,1712,1713,7,7,0,0,1713,1714,7,11,0,0,1714,1715,7,6,0,0,1715,1716,7,4,0,0,1716,1717,7,4,0,0,1717,146,1,0,0,0,1718,1719,7,7,0,0,1719,1720,7,21,0,0,1720,1721,7,3,0,0,1721,1722,7,9,0,0,1722,148,1,0,0,0,1723,1724,7,7,0,0,1724,1725,7,21,0,0,1725,1726,7,17,0,0,1726,1727,7,9,0,0,1727,1728,5,95,0,0,1728,1729,7,15,0,0,1729,1730,7,19,0,0,1730,1731,7,4,0,0,1731,1732,7,8,0,0,1732,150,1,0,0,0,1733,1734,7,7,0,0,1734,1735,7,21,0,0,1735,1736,7,11,0,0,1736,1737,7,11,0,0,1737,1738,7,9,0,0,1738,1739,7,12,0,0,1739,1740,7,8,0,0,1740,152,1,0,0,0,1741,1742,7,7,0,0,1742,1743,7,21,0,0,1743,1744,7,11,0,0,1744,1745,7,11,0,0,1745,1746,7,9,0,0,1746,1747,7,12,0,0,1747,1748,7,8,0,0,1748,1749,5,95,0,0,1749,1750,7,7,0,0,1750,1751,7,2,0,0,1751,1752,7,8,0,0,1752,1753,7,2,0,0,1753,1754,7,5,0,0,1754,1755,7,6,0,0,1755,1756,7,16,0,0,1756,154,1,0,0,0,1757,1758,7,7,0,0,1758,1759,7,21,0,0,1759,1760,7,11,0,0,1760,1761,7,11,0,0,1761,1762,7,9,0,0,1762,1763,7,12,0,0,1763,1764,7,8,0,0,1764,1765,5,95,0,0,1765,1766,7,15,0,0,1766,1767,7,2,0,0,1767,1768,7,8,0,0,1768,1769,7,9,0,0,1769,156,1,0,0,0,1770,1771,7,7,0,0,1771,1772,7,21,0,0,1772,1773,7,11,0,0,1773,1774,7,11,0,0,1774,1775,7,9,0,0,1775,1776,7,12,0,0,1776,1777,7,8,0,0,1777,1778,5,95,0,0,1778,1779,7,15,0,0,1779,1780,7,9,0,0,1780,1781,7,23,0,0,1781,1782,7,2,0,0,1782,1783,7,21,0,0,1783,1784,7,5,0,0,1784,1785,7,8,0,0,1785,1786,5,95,0,0,1786,1787,7,8,0,0,1787,1788,7,11,0,0,1788,1789,7,2,0,0,1789,1790,7,12,0,0,1790,1791,7,4,0,0,1791,1792,7,23,0,0,1792,1793,7,6,0,0,1793,1794,7,11,0,0,1794,1795,7,17,0,0,1795,1796,5,95,0,0,1796,1797,7,16,0,0,1797,1798,7,11,0,0,1798,1799,7,6,0,0,1799,1800,7,21,0,0,1800,1801,7,24,0,0,1801,158,1,0,0,0,1802,1803,7,7,0,0,1803,1804,7,21,0,0,1804,1805,7,11,0,0,1805,1806,7,11,0,0,1806,1807,7,9,0,0,1807,1808,7,12,0,0,1808,1809,7,8,0,0,1809,1810,5,95,0,0,1810,1811,7,24,0,0,1811,1812,7,2,0,0,1812,1813,7,8,0,0,1813,1814,7,22,0,0,1814,160,1,0,0,0,1815,1816,7,7,0,0,1816,1817,7,21,0,0,1817,1818,7,11,0,0,1818,1819,7,11,0,0,1819,1820,7,9,0,0,1820,1821,7,12,0,0,1821,1822,7,8,0,0,1822,1823,5,95,0,0,1823,1824,7,11,0,0,1824,1825,7,6,0,0,1825,1826,7,5,0,0,1826,1827,7,9,0,0,1827,162,1,0,0,0,1828,1829,7,7,0,0,1829,1830,7,21,0,0,1830,1831,7,11,0,0,1831,1832,7,11,0,0,1832,1833,7,9,0,0,1833,1834,7,12,0,0,1834,1835,7,8,0,0,1835,1836,5,95,0,0,1836,1837,7,11,0,0,1837,1838,7,6,0,0,1838,1839,7,10,0,0,1839,164,1,0,0,0,1840,1841,7,7,0,0,1841,1842,7,21,0,0,1842,1843,7,11,0,0,1843,1844,7,11,0,0,1844,1845,7,9,0,0,1845,1846,7,12,0,0,1846,1847,7,8,0,0,1847,1848,5,95,0,0,1848,1849,7,4,0,0,1849,1850,7,7,0,0,1850,1851,7,22,0,0,1851,1852,7,9,0,0,1852,1853,7,17,0,0,1853,1854,7,2,0,0,1854,166,1,0,0,0,1855,1856,7,7,0,0,1856,1857,7,21,0,0,1857,1858,7,11,0,0,1858,1859,7,11,0,0,1859,1860,7,9,0,0,1860,1861,7,12,0,0,1861,1862,7,8,0,0,1862,1863,5,95,0,0,1863,1864,7,8,0,0,1864,1865,7,19,0,0,1865,1866,7,17,0,0,1866,1867,7,9,0,0,1867,168,1,0,0,0,1868,1869,7,7,0,0,1869,1870,7,21,0,0,1870,1871,7,11,0,0,1871,1872,7,11,0,0,1872,1873,7,9,0,0,1873,1874,7,12,0,0,1874,1875,7,8,0,0,1875,1876,5,95,0,0,1876,1877,7,8,0,0,1877,1878,7,19,0,0,1878,1879,7,17,0,0,1879,1880,7,9,0,0,1880,1881,7,4,0,0,1881,1882,7,8,0,0,1882,1883,7,2,0,0,1883,1884,7,17,0,0,1884,1885,7,24,0,0,1885,170,1,0,0,0,1886,1887,7,7,0,0,1887,1888,7,21,0,0,1888,1889,7,11,0,0,1889,1890,7,11,0,0,1890,1891,7,9,0,0,1891,1892,7,12,0,0,1892,1893,7,8,0,0,1893,1894,5,95,0,0,1894,1895,7,8,0,0,1895,1896,7,11,0,0,1896,1897,7,2,0,0,1897,1898,7,12,0,0,1898,1899,7,4,0,0,1899,1900,7,23,0,0,1900,1901,7,6,0,0,1901,1902,7,11,0,0,1902,1903,7,17,0,0,1903,1904,5,95,0,0,1904,1905,7,16,0,0,1905,1906,7,11,0,0,1906,1907,7,6,0,0,1907,1908,7,21,0,0,1908,1909,7,24,0,0,1909,1910,5,95,0,0,1910,1911,7,23,0,0,1911,1912,7,6,0,0,1912,1913,7,11,0,0,1913,1914,5,95,0,0,1914,1915,7,8,0,0,1915,1916,7,13,0,0,1916,1917,7,24,0,0,1917,1918,7,9,0,0,1918,172,1,0,0,0,1919,1920,7,7,0,0,1920,1921,7,21,0,0,1921,1922,7,11,0,0,1922,1923,7,11,0,0,1923,1924,7,9,0,0,1924,1925,7,12,0,0,1925,1926,7,8,0,0,1926,1927,5,95,0,0,1927,1928,7,21,0,0,1928,1929,7,4,0,0,1929,1930,7,9,0,0,1930,1931,7,11,0,0,1931,174,1,0,0,0,1932,1933,7,7,0,0,1933,1934,7,21,0,0,1934,1935,7,11,0,0,1935,1936,7,4,0,0,1936,1937,7,6,0,0,1937,1938,7,11,0,0,1938,176,1,0,0,0,1939,1940,7,7,0,0,1940,1941,7,13,0,0,1941,1942,7,7,0,0,1942,1943,7,5,0,0,1943,1944,7,9,0,0,1944,178,1,0,0,0,1945,1946,7,15,0,0,1946,1947,7,2,0,0,1947,1948,7,8,0,0,1948,1949,7,2,0,0,1949,1950,7,3,0,0,1950,1951,7,2,0,0,1951,1952,7,4,0,0,1952,1953,7,9,0,0,1953,1954,7,4,0,0,1954,180,1,0,0,0,1955,1956,7,15,0,0,1956,1957,7,2,0,0,1957,1958,7,8,0,0,1958,1959,7,9,0,0,1959,182,1,0,0,0,1960,1961,7,15,0,0,1961,1962,7,2,0,0,1962,1963,7,8,0,0,1963,1964,7,9,0,0,1964,1965,7,8,0,0,1965,1966,7,19,0,0,1966,1967,7,17,0,0,1967,1968,7,9,0,0,1968,184,1,0,0,0,1969,1970,7,15,0,0,1970,1971,7,2,0,0,1971,1972,7,8,0,0,1972,1973,7,9,0,0,1973,1974,7,8,0,0,1974,1975,7,19,0,0,1975,1976,7,17,0,0,1976,1977,7,9,0,0,1977,1978,5,95,0,0,1978,1979,7,15,0,0,1979,1980,7,19,0,0,1980,1981,7,23,0,0,1981,1982,7,23,0,0,1982,186,1,0,0,0,1983,1984,7,15,0,0,1984,1985,7,2,0,0,1985,1986,7,8,0,0,1986,1987,7,9,0,0,1987,1988,7,8,0,0,1988,1989,7,19,0,0,1989,1990,7,17,0,0,1990,1991,7,9,0,0,1991,1992,5,95,0,0,1992,1993,7,8,0,0,1993,1994,7,11,0,0,1994,1995,7,21,0,0,1995,1996,7,12,0,0,1996,1997,7,7,0,0,1997,188,1,0,0,0,1998,1999,7,15,0,0,1999,2e3,7,2,0,0,2e3,2001,7,8,0,0,2001,2002,7,9,0,0,2002,2003,5,95,0,0,2003,2004,7,15,0,0,2004,2005,7,19,0,0,2005,2006,7,23,0,0,2006,2007,7,23,0,0,2007,190,1,0,0,0,2008,2009,7,15,0,0,2009,2010,7,2,0,0,2010,2011,7,8,0,0,2011,2012,7,9,0,0,2012,2013,5,95,0,0,2013,2014,7,8,0,0,2014,2015,7,11,0,0,2015,2016,7,21,0,0,2016,2017,7,12,0,0,2017,2018,7,7,0,0,2018,192,1,0,0,0,2019,2020,7,15,0,0,2020,2021,7,2,0,0,2021,2022,7,13,0,0,2022,194,1,0,0,0,2023,2024,7,15,0,0,2024,2025,7,2,0,0,2025,2026,7,13,0,0,2026,2027,7,6,0,0,2027,2028,7,23,0,0,2028,2029,7,10,0,0,2029,2030,7,9,0,0,2030,2031,7,9,0,0,2031,2032,7,25,0,0,2032,196,1,0,0,0,2033,2034,7,15,0,0,2034,2035,7,2,0,0,2035,2036,7,13,0,0,2036,2037,7,6,0,0,2037,2038,7,23,0,0,2038,2039,7,13,0,0,2039,2040,7,9,0,0,2040,2041,7,2,0,0,2041,2042,7,11,0,0,2042,198,1,0,0,0,2043,2044,7,15,0,0,2044,2045,7,9,0,0,2045,2046,7,2,0,0,2046,2047,7,5,0,0,2047,2048,7,5,0,0,2048,2049,7,6,0,0,2049,2050,7,7,0,0,2050,2051,7,2,0,0,2051,2052,7,8,0,0,2052,2053,7,9,0,0,2053,200,1,0,0,0,2054,2055,7,15,0,0,2055,2056,7,9,0,0,2056,2057,7,7,0,0,2057,202,1,0,0,0,2058,2059,7,15,0,0,2059,2060,7,9,0,0,2060,2061,7,7,0,0,2061,2062,7,19,0,0,2062,2063,7,17,0,0,2063,2064,7,2,0,0,2064,2065,7,5,0,0,2065,204,1,0,0,0,2066,2067,7,15,0,0,2067,2068,7,9,0,0,2068,2069,7,7,0,0,2069,2070,7,5,0,0,2070,2071,7,2,0,0,2071,2072,7,11,0,0,2072,2073,7,9,0,0,2073,206,1,0,0,0,2074,2075,7,15,0,0,2075,2076,7,9,0,0,2076,2077,7,23,0,0,2077,2078,7,2,0,0,2078,2079,7,21,0,0,2079,2080,7,5,0,0,2080,2081,7,8,0,0,2081,208,1,0,0,0,2082,2083,7,15,0,0,2083,2084,7,9,0,0,2084,2085,7,23,0,0,2085,2086,7,19,0,0,2086,2087,7,12,0,0,2087,2088,7,9,0,0,2088,210,1,0,0,0,2089,2090,7,15,0,0,2090,2091,7,9,0,0,2091,2092,7,5,0,0,2092,2093,7,9,0,0,2093,2094,7,8,0,0,2094,2095,7,9,0,0,2095,212,1,0,0,0,2096,2097,7,15,0,0,2097,2098,7,9,0,0,2098,2099,7,12,0,0,2099,2100,7,4,0,0,2100,2101,7,9,0,0,2101,2102,5,95,0,0,2102,2103,7,11,0,0,2103,2104,7,2,0,0,2104,2105,7,12,0,0,2105,2106,7,25,0,0,2106,214,1,0,0,0,2107,2108,7,15,0,0,2108,2109,7,9,0,0,2109,2110,7,11,0,0,2110,2111,7,9,0,0,2111,2112,7,23,0,0,2112,216,1,0,0,0,2113,2114,7,15,0,0,2114,2115,7,9,0,0,2115,2116,7,4,0,0,2116,2117,7,7,0,0,2117,2118,7,11,0,0,2118,2119,7,19,0,0,2119,2120,7,3,0,0,2120,2121,7,9,0,0,2121,218,1,0,0,0,2122,2123,7,15,0,0,2123,2124,7,9,0,0,2124,2125,7,8,0,0,2125,2126,7,9,0,0,2126,2127,7,11,0,0,2127,2128,7,17,0,0,2128,2129,7,19,0,0,2129,2130,7,12,0,0,2130,2131,7,19,0,0,2131,2132,7,4,0,0,2132,2133,7,8,0,0,2133,2134,7,19,0,0,2134,2135,7,7,0,0,2135,220,1,0,0,0,2136,2137,7,15,0,0,2137,2138,7,19,0,0,2138,2139,7,4,0,0,2139,2140,7,2,0,0,2140,2141,7,5,0,0,2141,2142,7,5,0,0,2142,2143,7,6,0,0,2143,2144,7,10,0,0,2144,222,1,0,0,0,2145,2146,7,15,0,0,2146,2147,7,19,0,0,2147,2148,7,4,0,0,2148,2149,7,7,0,0,2149,2150,7,6,0,0,2150,2151,7,12,0,0,2151,2152,7,12,0,0,2152,2153,7,9,0,0,2153,2154,7,7,0,0,2154,2155,7,8,0,0,2155,224,1,0,0,0,2156,2157,7,15,0,0,2157,2158,7,19,0,0,2158,2159,7,4,0,0,2159,2160,7,8,0,0,2160,2161,7,19,0,0,2161,2162,7,12,0,0,2162,2163,7,7,0,0,2163,2164,7,8,0,0,2164,226,1,0,0,0,2165,2166,7,15,0,0,2166,2167,7,6,0,0,2167,2168,7,8,0,0,2168,228,1,0,0,0,2169,2170,7,15,0,0,2170,2171,7,6,0,0,2171,2172,7,21,0,0,2172,2173,7,3,0,0,2173,2174,7,5,0,0,2174,2175,7,9,0,0,2175,230,1,0,0,0,2176,2177,7,15,0,0,2177,2178,7,11,0,0,2178,2179,7,6,0,0,2179,2180,7,24,0,0,2180,232,1,0,0,0,2181,2182,7,15,0,0,2182,2183,7,13,0,0,2183,2184,7,12,0,0,2184,2185,7,2,0,0,2185,2186,7,17,0,0,2186,2187,7,19,0,0,2187,2188,7,7,0,0,2188,234,1,0,0,0,2189,2190,7,9,0,0,2190,2191,7,2,0,0,2191,2192,7,7,0,0,2192,2193,7,22,0,0,2193,236,1,0,0,0,2194,2195,7,9,0,0,2195,2196,7,5,0,0,2196,2197,7,9,0,0,2197,2198,7,17,0,0,2198,2199,7,9,0,0,2199,2200,7,12,0,0,2200,2201,7,8,0,0,2201,238,1,0,0,0,2202,2203,7,9,0,0,2203,2204,7,5,0,0,2204,2205,7,4,0,0,2205,2206,7,9,0,0,2206,240,1,0,0,0,2207,2208,7,9,0,0,2208,2209,7,17,0,0,2209,2210,7,24,0,0,2210,2211,7,8,0,0,2211,2212,7,13,0,0,2212,242,1,0,0,0,2213,2214,7,9,0,0,2214,2215,7,12,0,0,2215,2216,7,15,0,0,2216,244,1,0,0,0,2217,2218,7,9,0,0,2218,2219,7,12,0,0,2219,2220,7,15,0,0,2220,2221,5,95,0,0,2221,2222,7,23,0,0,2222,2223,7,11,0,0,2223,2224,7,2,0,0,2224,2225,7,17,0,0,2225,2226,7,9,0,0,2226,246,1,0,0,0,2227,2228,7,9,0,0,2228,2229,7,12,0,0,2229,2230,7,15,0,0,2230,2231,5,95,0,0,2231,2232,7,24,0,0,2232,2233,7,2,0,0,2233,2234,7,11,0,0,2234,2235,7,8,0,0,2235,2236,7,19,0,0,2236,2237,7,8,0,0,2237,2238,7,19,0,0,2238,2239,7,6,0,0,2239,2240,7,12,0,0,2240,248,1,0,0,0,2241,2242,7,9,0,0,2242,2243,7,12,0,0,2243,2244,7,23,0,0,2244,2245,7,6,0,0,2245,2246,7,11,0,0,2246,2247,7,7,0,0,2247,2248,7,9,0,0,2248,2249,7,15,0,0,2249,250,1,0,0,0,2250,2251,7,9,0,0,2251,2252,7,26,0,0,2252,2253,7,21,0,0,2253,2254,7,2,0,0,2254,2255,7,5,0,0,2255,2256,7,4,0,0,2256,252,1,0,0,0,2257,2258,7,9,0,0,2258,2259,7,4,0,0,2259,2260,7,7,0,0,2260,2261,7,2,0,0,2261,2262,7,24,0,0,2262,2263,7,9,0,0,2263,254,1,0,0,0,2264,2265,7,9,0,0,2265,2266,7,4,0,0,2266,2267,7,8,0,0,2267,2268,7,19,0,0,2268,2269,7,17,0,0,2269,2270,7,2,0,0,2270,2271,7,8,0,0,2271,2272,7,9,0,0,2272,2273,7,15,0,0,2273,2274,5,95,0,0,2274,2275,7,7,0,0,2275,2276,7,6,0,0,2276,2277,7,4,0,0,2277,2278,7,8,0,0,2278,256,1,0,0,0,2279,2280,7,9,0,0,2280,2281,7,20,0,0,2281,2282,7,9,0,0,2282,2283,7,11,0,0,2283,2284,7,13,0,0,2284,258,1,0,0,0,2285,2286,7,9,0,0,2286,2287,7,18,0,0,2287,2288,7,7,0,0,2288,2289,7,9,0,0,2289,2290,7,24,0,0,2290,2291,7,8,0,0,2291,260,1,0,0,0,2292,2293,7,9,0,0,2293,2294,7,18,0,0,2294,2295,7,9,0,0,2295,2296,7,7,0,0,2296,262,1,0,0,0,2297,2298,7,9,0,0,2298,2299,7,18,0,0,2299,2300,7,9,0,0,2300,2301,7,7,0,0,2301,2302,7,21,0,0,2302,2303,7,8,0,0,2303,2304,7,9,0,0,2304,264,1,0,0,0,2305,2306,7,9,0,0,2306,2307,7,18,0,0,2307,2308,7,19,0,0,2308,2309,7,4,0,0,2309,2310,7,8,0,0,2310,2311,7,4,0,0,2311,266,1,0,0,0,2312,2313,7,9,0,0,2313,2314,7,18,0,0,2314,2315,7,24,0,0,2315,268,1,0,0,0,2316,2317,7,9,0,0,2317,2318,7,18,0,0,2318,2319,7,24,0,0,2319,2320,7,5,0,0,2320,2321,7,2,0,0,2321,2322,7,19,0,0,2322,2323,7,12,0,0,2323,270,1,0,0,0,2324,2325,7,9,0,0,2325,2326,7,18,0,0,2326,2327,7,8,0,0,2327,2328,7,9,0,0,2328,2329,7,12,0,0,2329,2330,7,15,0,0,2330,272,1,0,0,0,2331,2332,7,9,0,0,2332,2333,7,18,0,0,2333,2334,7,8,0,0,2334,2335,7,9,0,0,2335,2336,7,12,0,0,2336,2337,7,15,0,0,2337,2338,7,9,0,0,2338,2339,7,15,0,0,2339,274,1,0,0,0,2340,2341,7,9,0,0,2341,2342,7,18,0,0,2342,2343,7,8,0,0,2343,2344,7,9,0,0,2344,2345,7,11,0,0,2345,2346,7,12,0,0,2346,2347,7,2,0,0,2347,2348,7,5,0,0,2348,276,1,0,0,0,2349,2350,7,9,0,0,2350,2351,7,18,0,0,2351,2352,7,8,0,0,2352,2353,7,11,0,0,2353,2354,7,2,0,0,2354,2355,7,7,0,0,2355,2356,7,8,0,0,2356,278,1,0,0,0,2357,2358,7,23,0,0,2358,2359,7,2,0,0,2359,2360,7,5,0,0,2360,2361,7,4,0,0,2361,2362,7,9,0,0,2362,280,1,0,0,0,2363,2364,7,23,0,0,2364,2365,7,9,0,0,2365,2366,7,8,0,0,2366,2367,7,7,0,0,2367,2368,7,22,0,0,2368,282,1,0,0,0,2369,2370,7,23,0,0,2370,2371,7,19,0,0,2371,2372,7,5,0,0,2372,2373,7,8,0,0,2373,2374,7,9,0,0,2374,2375,7,11,0,0,2375,284,1,0,0,0,2376,2377,7,23,0,0,2377,2378,7,19,0,0,2378,2379,7,11,0,0,2379,2380,7,4,0,0,2380,2381,7,8,0,0,2381,2382,5,95,0,0,2382,2383,7,20,0,0,2383,2384,7,2,0,0,2384,2385,7,5,0,0,2385,2386,7,21,0,0,2386,2387,7,9,0,0,2387,286,1,0,0,0,2388,2389,7,23,0,0,2389,2390,7,5,0,0,2390,2391,7,6,0,0,2391,2392,7,2,0,0,2392,2393,7,8,0,0,2393,288,1,0,0,0,2394,2395,7,23,0,0,2395,2396,7,5,0,0,2396,2397,7,6,0,0,2397,2398,7,6,0,0,2398,2399,7,11,0,0,2399,290,1,0,0,0,2400,2401,7,23,0,0,2401,2402,7,6,0,0,2402,2403,7,11,0,0,2403,292,1,0,0,0,2404,2405,7,23,0,0,2405,2406,7,6,0,0,2406,2407,7,11,0,0,2407,2408,7,9,0,0,2408,2409,7,19,0,0,2409,2410,7,16,0,0,2410,2411,7,12,0,0,2411,294,1,0,0,0,2412,2413,7,23,0,0,2413,2414,7,11,0,0,2414,2415,7,2,0,0,2415,2416,7,17,0,0,2416,2417,7,9,0,0,2417,2418,5,95,0,0,2418,2419,7,11,0,0,2419,2420,7,6,0,0,2420,2421,7,10,0,0,2421,296,1,0,0,0,2422,2423,7,23,0,0,2423,2424,7,11,0,0,2424,2425,7,9,0,0,2425,2426,7,9,0,0,2426,298,1,0,0,0,2427,2428,7,23,0,0,2428,2429,7,11,0,0,2429,2430,7,19,0,0,2430,2431,7,15,0,0,2431,2432,7,2,0,0,2432,2433,7,13,0,0,2433,300,1,0,0,0,2434,2435,7,23,0,0,2435,2436,7,11,0,0,2436,2437,7,6,0,0,2437,2438,7,17,0,0,2438,302,1,0,0,0,2439,2440,7,23,0,0,2440,2441,7,21,0,0,2441,2442,7,5,0,0,2442,2443,7,5,0,0,2443,304,1,0,0,0,2444,2445,7,23,0,0,2445,2446,7,21,0,0,2446,2447,7,12,0,0,2447,2448,7,7,0,0,2448,2449,7,8,0,0,2449,2450,7,19,0,0,2450,2451,7,6,0,0,2451,2452,7,12,0,0,2452,306,1,0,0,0,2453,2454,7,23,0,0,2454,2455,7,21,0,0,2455,2456,7,12,0,0,2456,2457,7,7,0,0,2457,2458,7,8,0,0,2458,2459,7,19,0,0,2459,2460,7,6,0,0,2460,2461,7,12,0,0,2461,2462,7,4,0,0,2462,308,1,0,0,0,2463,2464,7,23,0,0,2464,2465,7,21,0,0,2465,2466,7,4,0,0,2466,2467,7,19,0,0,2467,2468,7,6,0,0,2468,2469,7,12,0,0,2469,310,1,0,0,0,2470,2471,7,16,0,0,2471,2472,7,9,0,0,2472,2473,7,8,0,0,2473,312,1,0,0,0,2474,2475,7,16,0,0,2475,2476,7,5,0,0,2476,2477,7,6,0,0,2477,2478,7,3,0,0,2478,2479,7,2,0,0,2479,2480,7,5,0,0,2480,314,1,0,0,0,2481,2482,7,16,0,0,2482,2483,7,11,0,0,2483,2484,7,2,0,0,2484,2485,7,12,0,0,2485,2486,7,8,0,0,2486,316,1,0,0,0,2487,2488,7,16,0,0,2488,2489,7,11,0,0,2489,2490,7,6,0,0,2490,2491,7,21,0,0,2491,2492,7,24,0,0,2492,318,1,0,0,0,2493,2494,7,16,0,0,2494,2495,7,11,0,0,2495,2496,7,6,0,0,2496,2497,7,21,0,0,2497,2498,7,24,0,0,2498,2499,7,19,0,0,2499,2500,7,12,0,0,2500,2501,7,16,0,0,2501,320,1,0,0,0,2502,2503,7,16,0,0,2503,2504,7,11,0,0,2504,2505,7,6,0,0,2505,2506,7,21,0,0,2506,2507,7,24,0,0,2507,2508,7,4,0,0,2508,322,1,0,0,0,2509,2510,7,16,0,0,2510,2511,7,11,0,0,2511,2512,7,6,0,0,2512,2513,7,21,0,0,2513,2514,7,24,0,0,2514,2515,5,95,0,0,2515,2516,7,7,0,0,2516,2517,7,6,0,0,2517,2518,7,12,0,0,2518,2519,7,7,0,0,2519,2520,7,2,0,0,2520,2521,7,8,0,0,2521,324,1,0,0,0,2522,2523,7,22,0,0,2523,2524,7,2,0,0,2524,2525,7,20,0,0,2525,2526,7,19,0,0,2526,2527,7,12,0,0,2527,2528,7,16,0,0,2528,326,1,0,0,0,2529,2530,7,22,0,0,2530,2531,7,6,0,0,2531,2532,7,5,0,0,2532,2533,7,15,0,0,2533,328,1,0,0,0,2534,2535,7,22,0,0,2535,2536,7,6,0,0,2536,2537,7,21,0,0,2537,2538,7,11,0,0,2538,330,1,0,0,0,2539,2540,7,19,0,0,2540,2541,7,15,0,0,2541,2542,7,9,0,0,2542,2543,7,12,0,0,2543,2544,7,8,0,0,2544,2545,7,19,0,0,2545,2546,7,8,0,0,2546,2547,7,13,0,0,2547,332,1,0,0,0,2548,2549,7,19,0,0,2549,2550,7,23,0,0,2550,334,1,0,0,0,2551,2552,7,19,0,0,2552,2553,7,5,0,0,2553,2554,7,19,0,0,2554,2555,7,25,0,0,2555,2556,7,9,0,0,2556,336,1,0,0,0,2557,2558,7,19,0,0,2558,2559,7,17,0,0,2559,2560,7,24,0,0,2560,2561,7,6,0,0,2561,2562,7,11,0,0,2562,2563,7,8,0,0,2563,338,1,0,0,0,2564,2565,7,19,0,0,2565,2566,7,12,0,0,2566,340,1,0,0,0,2567,2568,7,19,0,0,2568,2569,7,12,0,0,2569,2570,7,7,0,0,2570,2571,7,5,0,0,2571,2572,7,21,0,0,2572,2573,7,15,0,0,2573,2574,7,9,0,0,2574,342,1,0,0,0,2575,2576,7,19,0,0,2576,2577,7,12,0,0,2577,2578,7,15,0,0,2578,2579,7,19,0,0,2579,2580,7,7,0,0,2580,2581,7,2,0,0,2581,2582,7,8,0,0,2582,2583,7,6,0,0,2583,2584,7,11,0,0,2584,344,1,0,0,0,2585,2586,7,19,0,0,2586,2587,7,12,0,0,2587,2588,7,19,0,0,2588,2589,7,8,0,0,2589,2590,7,19,0,0,2590,2591,7,2,0,0,2591,2592,7,5,0,0,2592,346,1,0,0,0,2593,2594,7,19,0,0,2594,2595,7,12,0,0,2595,2596,7,12,0,0,2596,2597,7,9,0,0,2597,2598,7,11,0,0,2598,348,1,0,0,0,2599,2600,7,19,0,0,2600,2601,7,12,0,0,2601,2602,7,6,0,0,2602,2603,7,21,0,0,2603,2604,7,8,0,0,2604,350,1,0,0,0,2605,2606,7,19,0,0,2606,2607,7,12,0,0,2607,2608,7,4,0,0,2608,2609,7,9,0,0,2609,2610,7,12,0,0,2610,2611,7,4,0,0,2611,2612,7,19,0,0,2612,2613,7,8,0,0,2613,2614,7,19,0,0,2614,2615,7,20,0,0,2615,2616,7,9,0,0,2616,352,1,0,0,0,2617,2618,7,19,0,0,2618,2619,7,12,0,0,2619,2620,7,4,0,0,2620,2621,7,9,0,0,2621,2622,7,11,0,0,2622,2623,7,8,0,0,2623,354,1,0,0,0,2624,2625,7,19,0,0,2625,2626,7,12,0,0,2626,2627,7,8,0,0,2627,356,1,0,0,0,2628,2629,7,19,0,0,2629,2630,7,12,0,0,2630,2631,7,8,0,0,2631,2632,7,9,0,0,2632,2633,7,16,0,0,2633,2634,7,9,0,0,2634,2635,7,11,0,0,2635,358,1,0,0,0,2636,2637,7,19,0,0,2637,2638,7,12,0,0,2638,2639,7,8,0,0,2639,2640,7,9,0,0,2640,2641,7,11,0,0,2641,2642,7,4,0,0,2642,2643,7,9,0,0,2643,2644,7,7,0,0,2644,2645,7,8,0,0,2645,360,1,0,0,0,2646,2647,7,19,0,0,2647,2648,7,12,0,0,2648,2649,7,8,0,0,2649,2650,7,9,0,0,2650,2651,7,11,0,0,2651,2652,7,4,0,0,2652,2653,7,9,0,0,2653,2654,7,7,0,0,2654,2655,7,8,0,0,2655,2656,7,19,0,0,2656,2657,7,6,0,0,2657,2658,7,12,0,0,2658,362,1,0,0,0,2659,2660,7,19,0,0,2660,2661,7,12,0,0,2661,2662,7,8,0,0,2662,2663,7,9,0,0,2663,2664,7,11,0,0,2664,2665,7,20,0,0,2665,2666,7,2,0,0,2666,2667,7,5,0,0,2667,364,1,0,0,0,2668,2669,7,19,0,0,2669,2670,7,12,0,0,2670,2671,7,8,0,0,2671,2672,7,6,0,0,2672,366,1,0,0,0,2673,2674,7,19,0,0,2674,2675,7,4,0,0,2675,368,1,0,0,0,2676,2677,7,27,0,0,2677,2678,7,6,0,0,2678,2679,7,19,0,0,2679,2680,7,12,0,0,2680,370,1,0,0,0,2681,2682,7,27,0,0,2682,2683,7,4,0,0,2683,2684,7,6,0,0,2684,2685,7,12,0,0,2685,2686,5,95,0,0,2686,2687,7,2,0,0,2687,2688,7,11,0,0,2688,2689,7,11,0,0,2689,2690,7,2,0,0,2690,2691,7,13,0,0,2691,372,1,0,0,0,2692,2693,7,27,0,0,2693,2694,7,4,0,0,2694,2695,7,6,0,0,2695,2696,7,12,0,0,2696,2697,5,95,0,0,2697,2698,7,2,0,0,2698,2699,7,11,0,0,2699,2700,7,11,0,0,2700,2701,7,2,0,0,2701,2702,7,13,0,0,2702,2703,7,2,0,0,2703,2704,7,16,0,0,2704,2705,7,16,0,0,2705,374,1,0,0,0,2706,2707,7,27,0,0,2707,2708,7,4,0,0,2708,2709,7,6,0,0,2709,2710,7,12,0,0,2710,2711,5,95,0,0,2711,2712,7,9,0,0,2712,2713,7,18,0,0,2713,2714,7,9,0,0,2714,2715,7,7,0,0,2715,2716,7,21,0,0,2716,2717,7,8,0,0,2717,2718,7,19,0,0,2718,2719,7,6,0,0,2719,2720,7,12,0,0,2720,2721,5,95,0,0,2721,2722,7,24,0,0,2722,2723,7,5,0,0,2723,2724,7,2,0,0,2724,2725,7,12,0,0,2725,376,1,0,0,0,2726,2727,7,27,0,0,2727,2728,7,4,0,0,2728,2729,7,6,0,0,2729,2730,7,12,0,0,2730,2731,5,95,0,0,2731,2732,7,9,0,0,2732,2733,7,18,0,0,2733,2734,7,19,0,0,2734,2735,7,4,0,0,2735,2736,7,8,0,0,2736,2737,7,4,0,0,2737,378,1,0,0,0,2738,2739,7,27,0,0,2739,2740,7,4,0,0,2740,2741,7,6,0,0,2741,2742,7,12,0,0,2742,2743,5,95,0,0,2743,2744,7,6,0,0,2744,2745,7,3,0,0,2745,2746,7,27,0,0,2746,2747,7,9,0,0,2747,2748,7,7,0,0,2748,2749,7,8,0,0,2749,380,1,0,0,0,2750,2751,7,27,0,0,2751,2752,7,4,0,0,2752,2753,7,6,0,0,2753,2754,7,12,0,0,2754,2755,5,95,0,0,2755,2756,7,6,0,0,2756,2757,7,3,0,0,2757,2758,7,27,0,0,2758,2759,7,9,0,0,2759,2760,7,7,0,0,2760,2761,7,8,0,0,2761,2762,7,2,0,0,2762,2763,7,16,0,0,2763,2764,7,16,0,0,2764,382,1,0,0,0,2765,2766,7,27,0,0,2766,2767,7,4,0,0,2767,2768,7,6,0,0,2768,2769,7,12,0,0,2769,2770,5,95,0,0,2770,2771,7,26,0,0,2771,2772,7,21,0,0,2772,2773,7,9,0,0,2773,2774,7,11,0,0,2774,2775,7,13,0,0,2775,384,1,0,0,0,2776,2777,7,27,0,0,2777,2778,7,4,0,0,2778,2779,7,6,0,0,2779,2780,7,12,0,0,2780,2781,5,95,0,0,2781,2782,7,20,0,0,2782,2783,7,2,0,0,2783,2784,7,5,0,0,2784,2785,7,21,0,0,2785,2786,7,9,0,0,2786,386,1,0,0,0,2787,2788,7,5,0,0,2788,2789,7,2,0,0,2789,2790,7,16,0,0,2790,388,1,0,0,0,2791,2792,7,5,0,0,2792,2793,7,2,0,0,2793,2794,7,12,0,0,2794,2795,7,16,0,0,2795,2796,7,21,0,0,2796,2797,7,2,0,0,2797,2798,7,16,0,0,2798,2799,7,9,0,0,2799,390,1,0,0,0,2800,2801,7,5,0,0,2801,2802,7,2,0,0,2802,2803,7,11,0,0,2803,2804,7,16,0,0,2804,2805,7,9,0,0,2805,392,1,0,0,0,2806,2807,7,5,0,0,2807,2808,7,2,0,0,2808,2809,7,4,0,0,2809,2810,7,8,0,0,2810,2811,5,95,0,0,2811,2812,7,20,0,0,2812,2813,7,2,0,0,2813,2814,7,5,0,0,2814,2815,7,21,0,0,2815,2816,7,9,0,0,2816,394,1,0,0,0,2817,2818,7,5,0,0,2818,2819,7,2,0,0,2819,2820,7,8,0,0,2820,2821,7,9,0,0,2821,2822,7,11,0,0,2822,2823,7,2,0,0,2823,2824,7,5,0,0,2824,396,1,0,0,0,2825,2826,7,5,0,0,2826,2827,7,9,0,0,2827,2828,7,2,0,0,2828,2829,7,15,0,0,2829,398,1,0,0,0,2830,2831,7,5,0,0,2831,2832,7,9,0,0,2832,2833,7,2,0,0,2833,2834,7,15,0,0,2834,2835,7,19,0,0,2835,2836,7,12,0,0,2836,2837,7,16,0,0,2837,400,1,0,0,0,2838,2839,7,5,0,0,2839,2840,7,9,0,0,2840,2841,7,23,0,0,2841,2842,7,8,0,0,2842,402,1,0,0,0,2843,2844,7,5,0,0,2844,2845,7,19,0,0,2845,2846,7,25,0,0,2846,2847,7,9,0,0,2847,404,1,0,0,0,2848,2849,7,5,0,0,2849,2850,7,19,0,0,2850,2851,7,25,0,0,2851,2852,7,9,0,0,2852,2853,5,95,0,0,2853,2854,7,11,0,0,2854,2855,7,9,0,0,2855,2856,7,16,0,0,2856,2857,7,9,0,0,2857,2858,7,18,0,0,2858,406,1,0,0,0,2859,2860,7,5,0,0,2860,2861,7,19,0,0,2861,2862,7,17,0,0,2862,2863,7,19,0,0,2863,2864,7,8,0,0,2864,408,1,0,0,0,2865,2866,7,5,0,0,2866,2867,7,12,0,0,2867,410,1,0,0,0,2868,2869,7,5,0,0,2869,2870,7,6,0,0,2870,2871,7,7,0,0,2871,2872,7,2,0,0,2872,2873,7,5,0,0,2873,412,1,0,0,0,2874,2875,7,5,0,0,2875,2876,7,6,0,0,2876,2877,7,7,0,0,2877,2878,7,2,0,0,2878,2879,7,5,0,0,2879,2880,7,8,0,0,2880,2881,7,19,0,0,2881,2882,7,17,0,0,2882,2883,7,9,0,0,2883,414,1,0,0,0,2884,2885,7,5,0,0,2885,2886,7,6,0,0,2886,2887,7,7,0,0,2887,2888,7,2,0,0,2888,2889,7,5,0,0,2889,2890,7,8,0,0,2890,2891,7,19,0,0,2891,2892,7,17,0,0,2892,2893,7,9,0,0,2893,2894,7,4,0,0,2894,2895,7,8,0,0,2895,2896,7,2,0,0,2896,2897,7,17,0,0,2897,2898,7,24,0,0,2898,416,1,0,0,0,2899,2900,7,5,0,0,2900,2901,7,6,0,0,2901,2902,7,10,0,0,2902,2903,7,9,0,0,2903,2904,7,11,0,0,2904,418,1,0,0,0,2905,2906,7,17,0,0,2906,2907,7,2,0,0,2907,2908,7,8,0,0,2908,2909,7,7,0,0,2909,2910,7,22,0,0,2910,420,1,0,0,0,2911,2912,7,17,0,0,2912,2913,7,2,0,0,2913,2914,7,8,0,0,2914,2915,7,7,0,0,2915,2916,7,22,0,0,2916,2917,7,9,0,0,2917,2918,7,4,0,0,2918,422,1,0,0,0,2919,2920,7,17,0,0,2920,2921,7,2,0,0,2921,2922,7,8,0,0,2922,2923,7,7,0,0,2923,2924,7,22,0,0,2924,2925,5,95,0,0,2925,2926,7,12,0,0,2926,2927,7,21,0,0,2927,2928,7,17,0,0,2928,2929,7,3,0,0,2929,2930,7,9,0,0,2930,2931,7,11,0,0,2931,424,1,0,0,0,2932,2933,7,17,0,0,2933,2934,7,2,0,0,2934,2935,7,8,0,0,2935,2936,7,7,0,0,2936,2937,7,22,0,0,2937,2938,5,95,0,0,2938,2939,7,11,0,0,2939,2940,7,9,0,0,2940,2941,7,7,0,0,2941,2942,7,6,0,0,2942,2943,7,16,0,0,2943,2944,7,12,0,0,2944,2945,7,19,0,0,2945,2946,7,14,0,0,2946,2947,7,9,0,0,2947,426,1,0,0,0,2948,2949,7,17,0,0,2949,2950,7,2,0,0,2950,2951,7,18,0,0,2951,428,1,0,0,0,2952,2953,7,17,0,0,2953,2954,7,9,0,0,2954,2955,7,2,0,0,2955,2956,7,4,0,0,2956,2957,7,21,0,0,2957,2958,7,11,0,0,2958,2959,7,9,0,0,2959,2960,7,4,0,0,2960,430,1,0,0,0,2961,2962,7,17,0,0,2962,2963,7,9,0,0,2963,2964,7,17,0,0,2964,2965,7,3,0,0,2965,2966,7,9,0,0,2966,2967,7,11,0,0,2967,432,1,0,0,0,2968,2969,7,17,0,0,2969,2970,7,9,0,0,2970,2971,7,11,0,0,2971,2972,7,16,0,0,2972,2973,7,9,0,0,2973,434,1,0,0,0,2974,2975,7,17,0,0,2975,2976,7,9,0,0,2976,2977,7,8,0,0,2977,2978,7,2,0,0,2978,2979,7,15,0,0,2979,2980,7,2,0,0,2980,2981,7,8,0,0,2981,2982,7,2,0,0,2982,436,1,0,0,0,2983,2984,7,17,0,0,2984,2985,7,9,0,0,2985,2986,7,8,0,0,2986,2987,7,22,0,0,2987,2988,7,6,0,0,2988,2989,7,15,0,0,2989,438,1,0,0,0,2990,2991,7,17,0,0,2991,2992,7,19,0,0,2992,2993,7,12,0,0,2993,440,1,0,0,0,2994,2995,7,17,0,0,2995,2996,7,19,0,0,2996,2997,7,12,0,0,2997,2998,7,21,0,0,2998,2999,7,4,0,0,2999,442,1,0,0,0,3e3,3001,7,17,0,0,3001,3002,7,19,0,0,3002,3003,7,12,0,0,3003,3004,7,21,0,0,3004,3005,7,8,0,0,3005,3006,7,9,0,0,3006,444,1,0,0,0,3007,3008,7,17,0,0,3008,3009,7,6,0,0,3009,3010,7,15,0,0,3010,446,1,0,0,0,3011,3012,7,17,0,0,3012,3013,7,6,0,0,3013,3014,7,15,0,0,3014,3015,7,19,0,0,3015,3016,7,23,0,0,3016,3017,7,19,0,0,3017,3018,7,9,0,0,3018,3019,7,4,0,0,3019,448,1,0,0,0,3020,3021,7,17,0,0,3021,3022,7,6,0,0,3022,3023,7,15,0,0,3023,3024,7,19,0,0,3024,3025,7,23,0,0,3025,3026,7,13,0,0,3026,450,1,0,0,0,3027,3028,7,17,0,0,3028,3029,7,6,0,0,3029,3030,7,15,0,0,3030,3031,7,21,0,0,3031,3032,7,5,0,0,3032,3033,7,9,0,0,3033,452,1,0,0,0,3034,3035,7,17,0,0,3035,3036,7,6,0,0,3036,3037,7,15,0,0,3037,3038,7,21,0,0,3038,3039,7,5,0,0,3039,3040,7,9,0,0,3040,3041,7,4,0,0,3041,454,1,0,0,0,3042,3043,7,17,0,0,3043,3044,7,6,0,0,3044,3045,7,12,0,0,3045,3046,7,15,0,0,3046,3047,7,2,0,0,3047,3048,7,13,0,0,3048,456,1,0,0,0,3049,3050,7,17,0,0,3050,3051,7,6,0,0,3051,3052,7,12,0,0,3052,3053,7,8,0,0,3053,3054,7,22,0,0,3054,458,1,0,0,0,3055,3056,7,17,0,0,3056,3057,7,6,0,0,3057,3058,7,11,0,0,3058,3059,7,9,0,0,3059,460,1,0,0,0,3060,3061,7,17,0,0,3061,3062,7,21,0,0,3062,3063,7,5,0,0,3063,3064,7,8,0,0,3064,3065,7,19,0,0,3065,3066,7,4,0,0,3066,3067,7,9,0,0,3067,3068,7,8,0,0,3068,462,1,0,0,0,3069,3070,7,12,0,0,3070,3071,7,2,0,0,3071,3072,7,8,0,0,3072,3073,7,19,0,0,3073,3074,7,6,0,0,3074,3075,7,12,0,0,3075,3076,7,2,0,0,3076,3077,7,5,0,0,3077,464,1,0,0,0,3078,3079,7,12,0,0,3079,3080,7,2,0,0,3080,3081,7,8,0,0,3081,3082,7,21,0,0,3082,3083,7,11,0,0,3083,3084,7,2,0,0,3084,3085,7,5,0,0,3085,466,1,0,0,0,3086,3087,7,12,0,0,3087,3088,7,7,0,0,3088,3089,7,22,0,0,3089,3090,7,2,0,0,3090,3091,7,11,0,0,3091,468,1,0,0,0,3092,3093,7,12,0,0,3093,3094,7,7,0,0,3094,3095,7,5,0,0,3095,3096,7,6,0,0,3096,3097,7,3,0,0,3097,470,1,0,0,0,3098,3099,7,12,0,0,3099,3100,7,9,0,0,3100,3101,7,10,0,0,3101,472,1,0,0,0,3102,3103,7,12,0,0,3103,3104,7,9,0,0,3104,3105,7,18,0,0,3105,3106,7,8,0,0,3106,474,1,0,0,0,3107,3108,7,12,0,0,3108,3109,7,6,0,0,3109,476,1,0,0,0,3110,3111,7,12,0,0,3111,3112,7,6,0,0,3112,3113,7,12,0,0,3113,3114,7,9,0,0,3114,478,1,0,0,0,3115,3116,7,12,0,0,3116,3117,7,6,0,0,3117,3118,7,11,0,0,3118,3119,7,17,0,0,3119,3120,7,2,0,0,3120,3121,7,5,0,0,3121,3122,7,19,0,0,3122,3123,7,14,0,0,3123,3124,7,9,0,0,3124,480,1,0,0,0,3125,3126,7,12,0,0,3126,3127,7,6,0,0,3127,3128,7,8,0,0,3128,482,1,0,0,0,3129,3130,7,12,0,0,3130,3131,7,8,0,0,3131,3132,7,22,0,0,3132,3133,5,95,0,0,3133,3134,7,20,0,0,3134,3135,7,2,0,0,3135,3136,7,5,0,0,3136,3137,7,21,0,0,3137,3138,7,9,0,0,3138,484,1,0,0,0,3139,3140,7,12,0,0,3140,3141,7,8,0,0,3141,3142,7,19,0,0,3142,3143,7,5,0,0,3143,3144,7,9,0,0,3144,486,1,0,0,0,3145,3146,7,12,0,0,3146,3147,7,21,0,0,3147,3148,7,5,0,0,3148,3149,7,5,0,0,3149,488,1,0,0,0,3150,3151,7,12,0,0,3151,3152,7,21,0,0,3152,3153,7,5,0,0,3153,3154,7,5,0,0,3154,3155,7,19,0,0,3155,3156,7,23,0,0,3156,490,1,0,0,0,3157,3158,7,12,0,0,3158,3159,7,21,0,0,3159,3160,7,17,0,0,3160,3161,7,9,0,0,3161,3162,7,11,0,0,3162,3163,7,19,0,0,3163,3164,7,7,0,0,3164,492,1,0,0,0,3165,3166,7,6,0,0,3166,3167,7,7,0,0,3167,3168,7,7,0,0,3168,3169,7,21,0,0,3169,3170,7,11,0,0,3170,3171,7,11,0,0,3171,3172,7,9,0,0,3172,3173,7,12,0,0,3173,3174,7,7,0,0,3174,3175,7,9,0,0,3175,3176,7,4,0,0,3176,3177,5,95,0,0,3177,3178,7,11,0,0,3178,3179,7,9,0,0,3179,3180,7,16,0,0,3180,3181,7,9,0,0,3181,3182,7,18,0,0,3182,494,1,0,0,0,3183,3184,7,6,0,0,3184,3185,7,7,0,0,3185,3186,7,8,0,0,3186,3187,7,9,0,0,3187,3188,7,8,0,0,3188,3189,5,95,0,0,3189,3190,7,5,0,0,3190,3191,7,9,0,0,3191,3192,7,12,0,0,3192,3193,7,16,0,0,3193,3194,7,8,0,0,3194,3195,7,22,0,0,3195,496,1,0,0,0,3196,3197,7,6,0,0,3197,3198,7,23,0,0,3198,498,1,0,0,0,3199,3200,7,6,0,0,3200,3201,7,23,0,0,3201,3202,7,23,0,0,3202,3203,7,4,0,0,3203,3204,7,9,0,0,3204,3205,7,8,0,0,3205,500,1,0,0,0,3206,3207,7,6,0,0,3207,3208,7,5,0,0,3208,3209,7,15,0,0,3209,502,1,0,0,0,3210,3211,7,6,0,0,3211,3212,7,17,0,0,3212,3213,7,19,0,0,3213,3214,7,8,0,0,3214,504,1,0,0,0,3215,3216,7,6,0,0,3216,3217,7,12,0,0,3217,506,1,0,0,0,3218,3219,7,6,0,0,3219,3220,7,12,0,0,3220,3221,7,9,0,0,3221,508,1,0,0,0,3222,3223,7,6,0,0,3223,3224,7,12,0,0,3224,3225,7,5,0,0,3225,3226,7,13,0,0,3226,510,1,0,0,0,3227,3228,7,6,0,0,3228,3229,7,24,0,0,3229,3230,7,9,0,0,3230,3231,7,12,0,0,3231,512,1,0,0,0,3232,3233,7,6,0,0,3233,3234,7,11,0,0,3234,514,1,0,0,0,3235,3236,7,6,0,0,3236,3237,7,11,0,0,3237,3238,7,15,0,0,3238,3239,7,9,0,0,3239,3240,7,11,0,0,3240,516,1,0,0,0,3241,3242,7,6,0,0,3242,3243,7,11,0,0,3243,3244,7,15,0,0,3244,3245,7,19,0,0,3245,3246,7,12,0,0,3246,3247,7,2,0,0,3247,3248,7,5,0,0,3248,518,1,0,0,0,3249,3250,7,6,0,0,3250,3251,7,21,0,0,3251,3252,7,8,0,0,3252,520,1,0,0,0,3253,3254,7,6,0,0,3254,3255,7,21,0,0,3255,3256,7,8,0,0,3256,3257,7,9,0,0,3257,3258,7,11,0,0,3258,522,1,0,0,0,3259,3260,7,6,0,0,3260,3261,7,20,0,0,3261,3262,7,9,0,0,3262,3263,7,11,0,0,3263,524,1,0,0,0,3264,3265,7,6,0,0,3265,3266,7,20,0,0,3266,3267,7,9,0,0,3267,3268,7,11,0,0,3268,3269,7,5,0,0,3269,3270,7,2,0,0,3270,3271,7,24,0,0,3271,3272,7,4,0,0,3272,526,1,0,0,0,3273,3274,7,6,0,0,3274,3275,7,20,0,0,3275,3276,7,9,0,0,3276,3277,7,11,0,0,3277,3278,7,5,0,0,3278,3279,7,2,0,0,3279,3280,7,13,0,0,3280,528,1,0,0,0,3281,3282,7,6,0,0,3282,3283,7,20,0,0,3283,3284,7,9,0,0,3284,3285,7,11,0,0,3285,3286,7,10,0,0,3286,3287,7,11,0,0,3287,3288,7,19,0,0,3288,3289,7,8,0,0,3289,3290,7,9,0,0,3290,530,1,0,0,0,3291,3292,7,6,0,0,3292,3293,7,20,0,0,3293,3294,7,9,0,0,3294,3295,7,11,0,0,3295,3296,7,10,0,0,3296,3297,7,11,0,0,3297,3298,7,19,0,0,3298,3299,7,8,0,0,3299,3300,7,19,0,0,3300,3301,7,12,0,0,3301,3302,7,16,0,0,3302,532,1,0,0,0,3303,3304,7,24,0,0,3304,3305,7,2,0,0,3305,3306,7,11,0,0,3306,3307,7,2,0,0,3307,3308,7,17,0,0,3308,3309,7,9,0,0,3309,3310,7,8,0,0,3310,3311,7,9,0,0,3311,3312,7,11,0,0,3312,534,1,0,0,0,3313,3314,7,24,0,0,3314,3315,7,2,0,0,3315,3316,7,11,0,0,3316,3317,7,8,0,0,3317,3318,7,19,0,0,3318,3319,7,8,0,0,3319,3320,7,19,0,0,3320,3321,7,6,0,0,3321,3322,7,12,0,0,3322,536,1,0,0,0,3323,3324,7,24,0,0,3324,3325,7,2,0,0,3325,3326,7,11,0,0,3326,3327,7,8,0,0,3327,3328,7,19,0,0,3328,3329,7,8,0,0,3329,3330,7,19,0,0,3330,3331,7,6,0,0,3331,3332,7,12,0,0,3332,3333,7,9,0,0,3333,3334,7,15,0,0,3334,538,1,0,0,0,3335,3336,7,24,0,0,3336,3337,7,2,0,0,3337,3338,7,11,0,0,3338,3339,7,8,0,0,3339,3340,7,19,0,0,3340,3341,7,8,0,0,3341,3342,7,19,0,0,3342,3343,7,6,0,0,3343,3344,7,12,0,0,3344,3345,7,4,0,0,3345,540,1,0,0,0,3346,3347,7,24,0,0,3347,3348,7,2,0,0,3348,3349,7,8,0,0,3349,3350,7,8,0,0,3350,3351,7,9,0,0,3351,3352,7,11,0,0,3352,3353,7,12,0,0,3353,542,1,0,0,0,3354,3355,7,24,0,0,3355,3356,7,9,0,0,3356,3357,7,11,0,0,3357,544,1,0,0,0,3358,3359,7,24,0,0,3359,3360,7,9,0,0,3360,3361,7,11,0,0,3361,3362,7,7,0,0,3362,3363,7,9,0,0,3363,3364,7,12,0,0,3364,3365,7,8,0,0,3365,546,1,0,0,0,3366,3367,7,24,0,0,3367,3368,7,9,0,0,3368,3369,7,11,0,0,3369,3370,7,7,0,0,3370,3371,7,9,0,0,3371,3372,7,12,0,0,3372,3373,7,8,0,0,3373,3374,7,19,0,0,3374,3375,7,5,0,0,3375,3376,7,9,0,0,3376,3377,5,95,0,0,3377,3378,7,7,0,0,3378,3379,7,6,0,0,3379,3380,7,12,0,0,3380,3381,7,8,0,0,3381,548,1,0,0,0,3382,3383,7,24,0,0,3383,3384,7,9,0,0,3384,3385,7,11,0,0,3385,3386,7,7,0,0,3386,3387,7,9,0,0,3387,3388,7,12,0,0,3388,3389,7,8,0,0,3389,3390,7,19,0,0,3390,3391,7,5,0,0,3391,3392,7,9,0,0,3392,3393,5,95,0,0,3393,3394,7,15,0,0,3394,3395,7,19,0,0,3395,3396,7,4,0,0,3396,3397,7,7,0,0,3397,550,1,0,0,0,3398,3399,7,24,0,0,3399,3400,7,9,0,0,3400,3401,7,11,0,0,3401,3402,7,7,0,0,3402,3403,7,9,0,0,3403,3404,7,12,0,0,3404,3405,7,8,0,0,3405,3406,5,95,0,0,3406,3407,7,11,0,0,3407,3408,7,2,0,0,3408,3409,7,12,0,0,3409,3410,7,25,0,0,3410,552,1,0,0,0,3411,3412,7,24,0,0,3412,3413,7,9,0,0,3413,3414,7,11,0,0,3414,3415,7,19,0,0,3415,3416,7,6,0,0,3416,3417,7,15,0,0,3417,554,1,0,0,0,3418,3419,7,24,0,0,3419,3420,7,9,0,0,3420,3421,7,11,0,0,3421,3422,7,17,0,0,3422,3423,7,21,0,0,3423,3424,7,8,0,0,3424,3425,7,9,0,0,3425,556,1,0,0,0,3426,3427,7,24,0,0,3427,3428,7,19,0,0,3428,3429,7,20,0,0,3429,3430,7,6,0,0,3430,3431,7,8,0,0,3431,558,1,0,0,0,3432,3433,7,24,0,0,3433,3434,7,6,0,0,3434,3435,7,11,0,0,3435,3436,7,8,0,0,3436,3437,7,19,0,0,3437,3438,7,6,0,0,3438,3439,7,12,0,0,3439,560,1,0,0,0,3440,3441,7,24,0,0,3441,3442,7,6,0,0,3442,3443,7,4,0,0,3443,3444,7,19,0,0,3444,3445,7,8,0,0,3445,3446,7,19,0,0,3446,3447,7,6,0,0,3447,3448,7,12,0,0,3448,562,1,0,0,0,3449,3450,7,24,0,0,3450,3451,7,6,0,0,3451,3452,7,4,0,0,3452,3453,7,19,0,0,3453,3454,7,8,0,0,3454,3455,7,19,0,0,3455,3456,7,6,0,0,3456,3457,7,12,0,0,3457,3458,5,95,0,0,3458,3459,7,11,0,0,3459,3460,7,9,0,0,3460,3461,7,16,0,0,3461,3462,7,9,0,0,3462,3463,7,18,0,0,3463,564,1,0,0,0,3464,3465,7,24,0,0,3465,3466,7,6,0,0,3466,3467,7,10,0,0,3467,3468,7,9,0,0,3468,3469,7,11,0,0,3469,566,1,0,0,0,3470,3471,7,24,0,0,3471,3472,7,11,0,0,3472,3473,7,9,0,0,3473,3474,7,7,0,0,3474,3475,7,9,0,0,3475,3476,7,15,0,0,3476,3477,7,9,0,0,3477,3478,7,4,0,0,3478,568,1,0,0,0,3479,3480,7,24,0,0,3480,3481,7,11,0,0,3481,3482,7,9,0,0,3482,3483,7,7,0,0,3483,3484,7,19,0,0,3484,3485,7,4,0,0,3485,3486,7,19,0,0,3486,3487,7,6,0,0,3487,3488,7,12,0,0,3488,570,1,0,0,0,3489,3490,7,24,0,0,3490,3491,7,11,0,0,3491,3492,7,9,0,0,3492,3493,7,24,0,0,3493,3494,7,2,0,0,3494,3495,7,11,0,0,3495,3496,7,9,0,0,3496,572,1,0,0,0,3497,3498,7,24,0,0,3498,3499,7,11,0,0,3499,3500,7,9,0,0,3500,3501,7,20,0,0,3501,574,1,0,0,0,3502,3503,7,24,0,0,3503,3504,7,11,0,0,3504,3505,7,19,0,0,3505,3506,7,17,0,0,3506,3507,7,2,0,0,3507,3508,7,11,0,0,3508,3509,7,13,0,0,3509,576,1,0,0,0,3510,3511,7,24,0,0,3511,3512,7,11,0,0,3512,3513,7,6,0,0,3513,3514,7,7,0,0,3514,3515,7,9,0,0,3515,3516,7,15,0,0,3516,3517,7,21,0,0,3517,3518,7,11,0,0,3518,3519,7,9,0,0,3519,578,1,0,0,0,3520,3521,7,26,0,0,3521,3522,7,21,0,0,3522,3523,7,2,0,0,3523,3524,7,5,0,0,3524,3525,7,19,0,0,3525,3526,7,23,0,0,3526,3527,7,13,0,0,3527,580,1,0,0,0,3528,3529,7,26,0,0,3529,3530,7,21,0,0,3530,3531,7,2,0,0,3531,3532,7,11,0,0,3532,3533,7,8,0,0,3533,3534,7,9,0,0,3534,3535,7,11,0,0,3535,3536,7,4,0,0,3536,582,1,0,0,0,3537,3538,7,11,0,0,3538,3539,7,2,0,0,3539,3540,7,12,0,0,3540,3541,7,16,0,0,3541,3542,7,9,0,0,3542,584,1,0,0,0,3543,3544,7,11,0,0,3544,3545,7,2,0,0,3545,3546,7,12,0,0,3546,3547,7,25,0,0,3547,586,1,0,0,0,3548,3549,7,11,0,0,3549,3550,7,2,0,0,3550,3551,7,10,0,0,3551,588,1,0,0,0,3552,3553,7,11,0,0,3553,3554,7,9,0,0,3554,3555,7,2,0,0,3555,3556,7,15,0,0,3556,3557,7,4,0,0,3557,590,1,0,0,0,3558,3559,7,11,0,0,3559,3560,7,9,0,0,3560,3561,7,2,0,0,3561,3562,7,5,0,0,3562,592,1,0,0,0,3563,3564,7,11,0,0,3564,3565,7,9,0,0,3565,3566,7,7,0,0,3566,3567,7,21,0,0,3567,3568,7,11,0,0,3568,3569,7,4,0,0,3569,3570,7,19,0,0,3570,3571,7,20,0,0,3571,3572,7,9,0,0,3572,594,1,0,0,0,3573,3574,7,11,0,0,3574,3575,7,9,0,0,3575,3576,7,23,0,0,3576,596,1,0,0,0,3577,3578,7,11,0,0,3578,3579,7,9,0,0,3579,3580,7,23,0,0,3580,3581,7,9,0,0,3581,3582,7,11,0,0,3582,3583,7,9,0,0,3583,3584,7,12,0,0,3584,3585,7,7,0,0,3585,3586,7,9,0,0,3586,3587,7,4,0,0,3587,598,1,0,0,0,3588,3589,7,11,0,0,3589,3590,7,9,0,0,3590,3591,7,23,0,0,3591,3592,7,9,0,0,3592,3593,7,11,0,0,3593,3594,7,9,0,0,3594,3595,7,12,0,0,3595,3596,7,7,0,0,3596,3597,7,19,0,0,3597,3598,7,12,0,0,3598,3599,7,16,0,0,3599,600,1,0,0,0,3600,3601,7,11,0,0,3601,3602,7,9,0,0,3602,3603,7,16,0,0,3603,3604,7,11,0,0,3604,3605,5,95,0,0,3605,3606,7,2,0,0,3606,3607,7,20,0,0,3607,3608,7,16,0,0,3608,3609,7,18,0,0,3609,602,1,0,0,0,3610,3611,7,11,0,0,3611,3612,7,9,0,0,3612,3613,7,16,0,0,3613,3614,7,11,0,0,3614,3615,5,95,0,0,3615,3616,7,2,0,0,3616,3617,7,20,0,0,3617,3618,7,16,0,0,3618,3619,7,13,0,0,3619,604,1,0,0,0,3620,3621,7,11,0,0,3621,3622,7,9,0,0,3622,3623,7,16,0,0,3623,3624,7,11,0,0,3624,3625,5,95,0,0,3625,3626,7,7,0,0,3626,3627,7,6,0,0,3627,3628,7,21,0,0,3628,3629,7,12,0,0,3629,3630,7,8,0,0,3630,606,1,0,0,0,3631,3632,7,11,0,0,3632,3633,7,9,0,0,3633,3634,7,16,0,0,3634,3635,7,11,0,0,3635,3636,5,95,0,0,3636,3637,7,19,0,0,3637,3638,7,12,0,0,3638,3639,7,8,0,0,3639,3640,7,9,0,0,3640,3641,7,11,0,0,3641,3642,7,7,0,0,3642,3643,7,9,0,0,3643,3644,7,24,0,0,3644,3645,7,8,0,0,3645,608,1,0,0,0,3646,3647,7,11,0,0,3647,3648,7,9,0,0,3648,3649,7,16,0,0,3649,3650,7,11,0,0,3650,3651,5,95,0,0,3651,3652,7,11,0,0,3652,3653,5,50,0,0,3653,610,1,0,0,0,3654,3655,7,11,0,0,3655,3656,7,9,0,0,3656,3657,7,16,0,0,3657,3658,7,11,0,0,3658,3659,5,95,0,0,3659,3660,7,4,0,0,3660,3661,7,5,0,0,3661,3662,7,6,0,0,3662,3663,7,24,0,0,3663,3664,7,9,0,0,3664,612,1,0,0,0,3665,3666,7,11,0,0,3666,3667,7,9,0,0,3667,3668,7,16,0,0,3668,3669,7,11,0,0,3669,3670,5,95,0,0,3670,3671,7,4,0,0,3671,3672,7,18,0,0,3672,3673,7,18,0,0,3673,614,1,0,0,0,3674,3675,7,11,0,0,3675,3676,7,9,0,0,3676,3677,7,16,0,0,3677,3678,7,11,0,0,3678,3679,5,95,0,0,3679,3680,7,4,0,0,3680,3681,7,18,0,0,3681,3682,7,13,0,0,3682,616,1,0,0,0,3683,3684,7,11,0,0,3684,3685,7,9,0,0,3685,3686,7,16,0,0,3686,3687,7,11,0,0,3687,3688,5,95,0,0,3688,3689,7,4,0,0,3689,3690,7,13,0,0,3690,3691,7,13,0,0,3691,618,1,0,0,0,3692,3693,7,11,0,0,3693,3694,7,9,0,0,3694,3695,7,5,0,0,3695,3696,7,9,0,0,3696,3697,7,2,0,0,3697,3698,7,4,0,0,3698,3699,7,9,0,0,3699,620,1,0,0,0,3700,3701,7,11,0,0,3701,3702,7,9,0,0,3702,3703,7,12,0,0,3703,3704,7,2,0,0,3704,3705,7,17,0,0,3705,3706,7,9,0,0,3706,622,1,0,0,0,3707,3708,7,11,0,0,3708,3709,7,9,0,0,3709,3710,7,4,0,0,3710,3711,7,9,0,0,3711,3712,7,8,0,0,3712,624,1,0,0,0,3713,3714,7,11,0,0,3714,3715,7,9,0,0,3715,3716,7,4,0,0,3716,3717,7,21,0,0,3717,3718,7,5,0,0,3718,3719,7,8,0,0,3719,626,1,0,0,0,3720,3721,7,11,0,0,3721,3722,7,9,0,0,3722,3723,7,8,0,0,3723,3724,7,21,0,0,3724,3725,7,11,0,0,3725,3726,7,12,0,0,3726,628,1,0,0,0,3727,3728,7,11,0,0,3728,3729,7,9,0,0,3729,3730,7,8,0,0,3730,3731,7,21,0,0,3731,3732,7,11,0,0,3732,3733,7,12,0,0,3733,3734,7,4,0,0,3734,630,1,0,0,0,3735,3736,7,11,0,0,3736,3737,7,9,0,0,3737,3738,7,20,0,0,3738,3739,7,6,0,0,3739,3740,7,25,0,0,3740,3741,7,9,0,0,3741,632,1,0,0,0,3742,3743,7,11,0,0,3743,3744,7,19,0,0,3744,3745,7,16,0,0,3745,3746,7,22,0,0,3746,3747,7,8,0,0,3747,634,1,0,0,0,3748,3749,7,11,0,0,3749,3750,7,5,0,0,3750,3751,7,19,0,0,3751,3752,7,25,0,0,3752,3753,7,9,0,0,3753,636,1,0,0,0,3754,3755,7,11,0,0,3755,3756,7,6,0,0,3756,3757,7,5,0,0,3757,3758,7,5,0,0,3758,3759,7,3,0,0,3759,3760,7,2,0,0,3760,3761,7,7,0,0,3761,3762,7,25,0,0,3762,638,1,0,0,0,3763,3764,7,11,0,0,3764,3765,7,6,0,0,3765,3766,7,5,0,0,3766,3767,7,5,0,0,3767,3768,7,21,0,0,3768,3769,7,24,0,0,3769,640,1,0,0,0,3770,3771,7,11,0,0,3771,3772,7,6,0,0,3772,3773,7,10,0,0,3773,642,1,0,0,0,3774,3775,7,11,0,0,3775,3776,7,6,0,0,3776,3777,7,10,0,0,3777,3778,7,4,0,0,3778,644,1,0,0,0,3779,3780,7,11,0,0,3780,3781,7,6,0,0,3781,3782,7,10,0,0,3782,3783,5,95,0,0,3783,3784,7,12,0,0,3784,3785,7,21,0,0,3785,3786,7,17,0,0,3786,3787,7,3,0,0,3787,3788,7,9,0,0,3788,3789,7,11,0,0,3789,646,1,0,0,0,3790,3791,7,11,0,0,3791,3792,7,21,0,0,3792,3793,7,12,0,0,3793,3794,7,12,0,0,3794,3795,7,19,0,0,3795,3796,7,12,0,0,3796,3797,7,16,0,0,3797,648,1,0,0,0,3798,3799,7,4,0,0,3799,3800,7,2,0,0,3800,3801,7,23,0,0,3801,3802,7,9,0,0,3802,3803,5,95,0,0,3803,3804,7,7,0,0,3804,3805,7,2,0,0,3805,3806,7,4,0,0,3806,3807,7,8,0,0,3807,650,1,0,0,0,3808,3809,7,4,0,0,3809,3810,7,2,0,0,3810,3811,7,23,0,0,3811,3812,7,9,0,0,3812,3813,5,95,0,0,3813,3814,7,6,0,0,3814,3815,7,23,0,0,3815,3816,7,23,0,0,3816,3817,7,4,0,0,3817,3818,7,9,0,0,3818,3819,7,8,0,0,3819,652,1,0,0,0,3820,3821,7,4,0,0,3821,3822,7,2,0,0,3822,3823,7,23,0,0,3823,3824,7,9,0,0,3824,3825,5,95,0,0,3825,3826,7,6,0,0,3826,3827,7,11,0,0,3827,3828,7,15,0,0,3828,3829,7,19,0,0,3829,3830,7,12,0,0,3830,3831,7,2,0,0,3831,3832,7,5,0,0,3832,654,1,0,0,0,3833,3834,7,4,0,0,3834,3835,7,2,0,0,3835,3836,7,8,0,0,3836,3837,7,21,0,0,3837,3838,7,11,0,0,3838,3839,7,15,0,0,3839,3840,7,2,0,0,3840,3841,7,13,0,0,3841,656,1,0,0,0,3842,3843,7,4,0,0,3843,3844,7,2,0,0,3844,3845,7,20,0,0,3845,3846,7,9,0,0,3846,3847,7,24,0,0,3847,3848,7,6,0,0,3848,3849,7,19,0,0,3849,3850,7,12,0,0,3850,3851,7,8,0,0,3851,658,1,0,0,0,3852,3853,7,4,0,0,3853,3854,7,7,0,0,3854,3855,7,2,0,0,3855,3856,7,5,0,0,3856,3857,7,2,0,0,3857,660,1,0,0,0,3858,3859,7,4,0,0,3859,3860,7,7,0,0,3860,3861,7,6,0,0,3861,3862,7,24,0,0,3862,3863,7,9,0,0,3863,662,1,0,0,0,3864,3865,7,4,0,0,3865,3866,7,7,0,0,3866,3867,7,11,0,0,3867,3868,7,6,0,0,3868,3869,7,5,0,0,3869,3870,7,5,0,0,3870,664,1,0,0,0,3871,3872,7,4,0,0,3872,3873,7,9,0,0,3873,3874,7,2,0,0,3874,3875,7,11,0,0,3875,3876,7,7,0,0,3876,3877,7,22,0,0,3877,666,1,0,0,0,3878,3879,7,4,0,0,3879,3880,7,9,0,0,3880,3881,7,7,0,0,3881,3882,7,6,0,0,3882,3883,7,12,0,0,3883,3884,7,15,0,0,3884,668,1,0,0,0,3885,3886,7,4,0,0,3886,3887,7,9,0,0,3887,3888,7,9,0,0,3888,3889,7,25,0,0,3889,670,1,0,0,0,3890,3891,7,4,0,0,3891,3892,7,9,0,0,3892,3893,7,5,0,0,3893,3894,7,9,0,0,3894,3895,7,7,0,0,3895,3896,7,8,0,0,3896,672,1,0,0,0,3897,3898,7,4,0,0,3898,3899,7,9,0,0,3899,3900,7,12,0,0,3900,3901,7,4,0,0,3901,3902,7,19,0,0,3902,3903,7,8,0,0,3903,3904,7,19,0,0,3904,3905,7,20,0,0,3905,3906,7,9,0,0,3906,674,1,0,0,0,3907,3908,7,4,0,0,3908,3909,7,9,0,0,3909,3910,7,24,0,0,3910,3911,7,2,0,0,3911,3912,7,11,0,0,3912,3913,7,2,0,0,3913,3914,7,8,0,0,3914,3915,7,6,0,0,3915,3916,7,11,0,0,3916,676,1,0,0,0,3917,3918,7,4,0,0,3918,3919,7,9,0,0,3919,3920,7,4,0,0,3920,3921,7,4,0,0,3921,3922,7,19,0,0,3922,3923,7,6,0,0,3923,3924,7,12,0,0,3924,3925,5,95,0,0,3925,3926,7,21,0,0,3926,3927,7,4,0,0,3927,3928,7,9,0,0,3928,3929,7,11,0,0,3929,678,1,0,0,0,3930,3931,7,4,0,0,3931,3932,7,9,0,0,3932,3933,7,8,0,0,3933,680,1,0,0,0,3934,3935,7,4,0,0,3935,3936,7,22,0,0,3936,3937,7,6,0,0,3937,3938,7,10,0,0,3938,682,1,0,0,0,3939,3940,7,4,0,0,3940,3941,7,19,0,0,3941,3942,7,17,0,0,3942,3943,7,19,0,0,3943,3944,7,5,0,0,3944,3945,7,2,0,0,3945,3946,7,11,0,0,3946,684,1,0,0,0,3947,3948,7,4,0,0,3948,3949,7,25,0,0,3949,3950,7,19,0,0,3950,3951,7,24,0,0,3951,686,1,0,0,0,3952,3953,7,4,0,0,3953,3954,7,17,0,0,3954,3955,7,2,0,0,3955,3956,7,5,0,0,3956,3957,7,5,0,0,3957,3958,7,19,0,0,3958,3959,7,12,0,0,3959,3960,7,8,0,0,3960,688,1,0,0,0,3961,3962,7,4,0,0,3962,3963,7,6,0,0,3963,3964,7,17,0,0,3964,3965,7,9,0,0,3965,690,1,0,0,0,3966,3967,7,4,0,0,3967,3968,7,24,0,0,3968,3969,7,9,0,0,3969,3970,7,7,0,0,3970,3971,7,19,0,0,3971,3972,7,23,0,0,3972,3973,7,19,0,0,3973,3974,7,7,0,0,3974,692,1,0,0,0,3975,3976,7,4,0,0,3976,3977,7,24,0,0,3977,3978,7,9,0,0,3978,3979,7,7,0,0,3979,3980,7,19,0,0,3980,3981,7,23,0,0,3981,3982,7,19,0,0,3982,3983,7,7,0,0,3983,3984,7,8,0,0,3984,3985,7,13,0,0,3985,3986,7,24,0,0,3986,3987,7,9,0,0,3987,694,1,0,0,0,3988,3989,7,4,0,0,3989,3990,7,26,0,0,3990,3991,7,5,0,0,3991,696,1,0,0,0,3992,3993,7,4,0,0,3993,3994,7,26,0,0,3994,3995,7,5,0,0,3995,3996,7,9,0,0,3996,3997,7,18,0,0,3997,3998,7,7,0,0,3998,3999,7,9,0,0,3999,4e3,7,24,0,0,4e3,4001,7,8,0,0,4001,4002,7,19,0,0,4002,4003,7,6,0,0,4003,4004,7,12,0,0,4004,698,1,0,0,0,4005,4006,7,4,0,0,4006,4007,7,26,0,0,4007,4008,7,5,0,0,4008,4009,7,4,0,0,4009,4010,7,8,0,0,4010,4011,7,2,0,0,4011,4012,7,8,0,0,4012,4013,7,9,0,0,4013,700,1,0,0,0,4014,4015,7,4,0,0,4015,4016,7,26,0,0,4016,4017,7,5,0,0,4017,4018,7,10,0,0,4018,4019,7,2,0,0,4019,4020,7,11,0,0,4020,4021,7,12,0,0,4021,4022,7,19,0,0,4022,4023,7,12,0,0,4023,4024,7,16,0,0,4024,702,1,0,0,0,4025,4026,7,4,0,0,4026,4027,7,26,0,0,4027,4028,7,11,0,0,4028,4029,7,8,0,0,4029,704,1,0,0,0,4030,4031,7,4,0,0,4031,4032,7,8,0,0,4032,4033,7,2,0,0,4033,4034,7,11,0,0,4034,4035,7,8,0,0,4035,706,1,0,0,0,4036,4037,7,4,0,0,4037,4038,7,8,0,0,4038,4039,7,2,0,0,4039,4040,7,8,0,0,4040,4041,7,9,0,0,4041,4042,7,17,0,0,4042,4043,7,9,0,0,4043,4044,7,12,0,0,4044,4045,7,8,0,0,4045,708,1,0,0,0,4046,4047,7,4,0,0,4047,4048,7,8,0,0,4048,4049,7,2,0,0,4049,4050,7,8,0,0,4050,4051,7,19,0,0,4051,4052,7,7,0,0,4052,710,1,0,0,0,4053,4054,7,4,0,0,4054,4055,7,8,0,0,4055,4056,7,2,0,0,4056,4057,7,8,0,0,4057,4058,7,19,0,0,4058,4059,7,4,0,0,4059,4060,7,8,0,0,4060,4061,7,19,0,0,4061,4062,7,7,0,0,4062,4063,7,4,0,0,4063,712,1,0,0,0,4064,4065,7,4,0,0,4065,4066,7,8,0,0,4066,4067,7,15,0,0,4067,4068,7,15,0,0,4068,4069,7,9,0,0,4069,4070,7,20,0,0,4070,4071,5,95,0,0,4071,4072,7,24,0,0,4072,4073,7,6,0,0,4073,4074,7,24,0,0,4074,714,1,0,0,0,4075,4076,7,4,0,0,4076,4077,7,8,0,0,4077,4078,7,15,0,0,4078,4079,7,15,0,0,4079,4080,7,9,0,0,4080,4081,7,20,0,0,4081,4082,5,95,0,0,4082,4083,7,4,0,0,4083,4084,7,2,0,0,4084,4085,7,17,0,0,4085,4086,7,24,0,0,4086,716,1,0,0,0,4087,4088,7,4,0,0,4088,4089,7,8,0,0,4089,4090,7,11,0,0,4090,4091,7,9,0,0,4091,4092,7,2,0,0,4092,4093,7,17,0,0,4093,718,1,0,0,0,4094,4095,7,4,0,0,4095,4096,7,8,0,0,4096,4097,7,11,0,0,4097,4098,7,19,0,0,4098,4099,7,12,0,0,4099,4100,7,16,0,0,4100,720,1,0,0,0,4101,4102,7,4,0,0,4102,4103,7,8,0,0,4103,4104,7,11,0,0,4104,4105,7,19,0,0,4105,4106,7,12,0,0,4106,4107,7,16,0,0,4107,4108,5,95,0,0,4108,4109,7,2,0,0,4109,4110,7,16,0,0,4110,4111,7,16,0,0,4111,722,1,0,0,0,4112,4113,7,4,0,0,4113,4114,7,21,0,0,4114,4115,7,3,0,0,4115,4116,7,17,0,0,4116,4117,7,21,0,0,4117,4118,7,5,0,0,4118,4119,7,8,0,0,4119,4120,7,19,0,0,4120,4121,7,4,0,0,4121,4122,7,9,0,0,4122,4123,7,8,0,0,4123,724,1,0,0,0,4124,4125,7,4,0,0,4125,4126,7,21,0,0,4126,4127,7,3,0,0,4127,4128,7,4,0,0,4128,4129,7,9,0,0,4129,4130,7,8,0,0,4130,726,1,0,0,0,4131,4132,7,4,0,0,4132,4133,7,21,0,0,4133,4134,7,3,0,0,4134,4135,7,4,0,0,4135,4136,7,8,0,0,4136,4137,7,11,0,0,4137,4138,7,19,0,0,4138,4139,7,12,0,0,4139,4140,7,16,0,0,4140,728,1,0,0,0,4141,4142,7,4,0,0,4142,4143,7,21,0,0,4143,4144,7,3,0,0,4144,4145,7,4,0,0,4145,4146,7,8,0,0,4146,4147,7,11,0,0,4147,4148,7,19,0,0,4148,4149,7,12,0,0,4149,4150,7,16,0,0,4150,4151,5,95,0,0,4151,4152,7,11,0,0,4152,4153,7,9,0,0,4153,4154,7,16,0,0,4154,4155,7,9,0,0,4155,4156,7,18,0,0,4156,730,1,0,0,0,4157,4158,7,4,0,0,4158,4159,7,21,0,0,4159,4160,7,7,0,0,4160,4161,7,7,0,0,4161,4162,7,9,0,0,4162,4163,7,9,0,0,4163,4164,7,15,0,0,4164,4165,7,4,0,0,4165,732,1,0,0,0,4166,4167,7,4,0,0,4167,4168,7,21,0,0,4168,4169,7,17,0,0,4169,734,1,0,0,0,4170,4171,7,4,0,0,4171,4172,7,21,0,0,4172,4173,7,12,0,0,4173,4174,7,15,0,0,4174,4175,7,2,0,0,4175,4176,7,13,0,0,4176,736,1,0,0,0,4177,4178,7,4,0,0,4178,4179,7,13,0,0,4179,4180,7,17,0,0,4180,4181,7,17,0,0,4181,4182,7,9,0,0,4182,4183,7,8,0,0,4183,4184,7,11,0,0,4184,4185,7,19,0,0,4185,4186,7,7,0,0,4186,738,1,0,0,0,4187,4188,7,4,0,0,4188,4189,7,13,0,0,4189,4190,7,4,0,0,4190,4191,7,8,0,0,4191,4192,7,9,0,0,4192,4193,7,17,0,0,4193,740,1,0,0,0,4194,4195,7,4,0,0,4195,4196,7,13,0,0,4196,4197,7,4,0,0,4197,4198,7,8,0,0,4198,4199,7,9,0,0,4199,4200,7,17,0,0,4200,4201,5,95,0,0,4201,4202,7,8,0,0,4202,4203,7,19,0,0,4203,4204,7,17,0,0,4204,4205,7,9,0,0,4205,742,1,0,0,0,4206,4207,7,4,0,0,4207,4208,7,13,0,0,4208,4209,7,4,0,0,4209,4210,7,8,0,0,4210,4211,7,9,0,0,4211,4212,7,17,0,0,4212,4213,5,95,0,0,4213,4214,7,21,0,0,4214,4215,7,4,0,0,4215,4216,7,9,0,0,4216,4217,7,11,0,0,4217,744,1,0,0,0,4218,4219,7,8,0,0,4219,4220,7,2,0,0,4220,4221,7,3,0,0,4221,4222,7,5,0,0,4222,4223,7,9,0,0,4223,746,1,0,0,0,4224,4225,7,8,0,0,4225,4226,7,2,0,0,4226,4227,7,3,0,0,4227,4228,7,5,0,0,4228,4229,7,9,0,0,4229,4230,7,4,0,0,4230,748,1,0,0,0,4231,4232,7,8,0,0,4232,4233,7,2,0,0,4233,4234,7,3,0,0,4234,4235,7,5,0,0,4235,4236,7,9,0,0,4236,4237,7,4,0,0,4237,4238,7,2,0,0,4238,4239,7,17,0,0,4239,4240,7,24,0,0,4240,4241,7,5,0,0,4241,4242,7,9,0,0,4242,750,1,0,0,0,4243,4244,7,8,0,0,4244,4245,7,22,0,0,4245,4246,7,9,0,0,4246,4247,7,12,0,0,4247,752,1,0,0,0,4248,4249,7,8,0,0,4249,4250,7,22,0,0,4250,4251,7,21,0,0,4251,4252,7,11,0,0,4252,4253,7,4,0,0,4253,4254,7,15,0,0,4254,4255,7,2,0,0,4255,4256,7,13,0,0,4256,754,1,0,0,0,4257,4258,7,8,0,0,4258,4259,7,19,0,0,4259,4260,7,17,0,0,4260,4261,7,9,0,0,4261,756,1,0,0,0,4262,4263,7,8,0,0,4263,4264,7,19,0,0,4264,4265,7,17,0,0,4265,4266,7,9,0,0,4266,4267,7,4,0,0,4267,4268,7,8,0,0,4268,4269,7,2,0,0,4269,4270,7,17,0,0,4270,4271,7,24,0,0,4271,758,1,0,0,0,4272,4273,7,8,0,0,4273,4274,7,19,0,0,4274,4275,7,17,0,0,4275,4276,7,9,0,0,4276,4277,7,4,0,0,4277,4278,7,8,0,0,4278,4279,7,2,0,0,4279,4280,7,17,0,0,4280,4281,7,24,0,0,4281,4282,5,95,0,0,4282,4283,7,15,0,0,4283,4284,7,19,0,0,4284,4285,7,23,0,0,4285,4286,7,23,0,0,4286,760,1,0,0,0,4287,4288,7,8,0,0,4288,4289,7,19,0,0,4289,4290,7,17,0,0,4290,4291,7,9,0,0,4291,4292,7,4,0,0,4292,4293,7,8,0,0,4293,4294,7,2,0,0,4294,4295,7,17,0,0,4295,4296,7,24,0,0,4296,4297,5,95,0,0,4297,4298,7,5,0,0,4298,4299,7,8,0,0,4299,4300,7,14,0,0,4300,762,1,0,0,0,4301,4302,7,8,0,0,4302,4303,7,19,0,0,4303,4304,7,17,0,0,4304,4305,7,9,0,0,4305,4306,7,4,0,0,4306,4307,7,8,0,0,4307,4308,7,2,0,0,4308,4309,7,17,0,0,4309,4310,7,24,0,0,4310,4311,5,95,0,0,4311,4312,7,8,0,0,4312,4313,7,11,0,0,4313,4314,7,21,0,0,4314,4315,7,12,0,0,4315,4316,7,7,0,0,4316,764,1,0,0,0,4317,4318,7,8,0,0,4318,4319,7,19,0,0,4319,4320,7,17,0,0,4320,4321,7,9,0,0,4321,4322,7,14,0,0,4322,4323,7,6,0,0,4323,4324,7,12,0,0,4324,4325,7,9,0,0,4325,4326,5,95,0,0,4326,4327,7,22,0,0,4327,4328,7,6,0,0,4328,4329,7,21,0,0,4329,4330,7,11,0,0,4330,766,1,0,0,0,4331,4332,7,8,0,0,4332,4333,7,19,0,0,4333,4334,7,17,0,0,4334,4335,7,9,0,0,4335,4336,7,14,0,0,4336,4337,7,6,0,0,4337,4338,7,12,0,0,4338,4339,7,9,0,0,4339,4340,5,95,0,0,4340,4341,7,17,0,0,4341,4342,7,19,0,0,4342,4343,7,12,0,0,4343,4344,7,21,0,0,4344,4345,7,8,0,0,4345,4346,7,9,0,0,4346,768,1,0,0,0,4347,4348,7,8,0,0,4348,4349,7,19,0,0,4349,4350,7,17,0,0,4350,4351,7,9,0,0,4351,4352,5,95,0,0,4352,4353,7,15,0,0,4353,4354,7,19,0,0,4354,4355,7,23,0,0,4355,4356,7,23,0,0,4356,770,1,0,0,0,4357,4358,7,8,0,0,4358,4359,7,19,0,0,4359,4360,7,17,0,0,4360,4361,7,9,0,0,4361,4362,5,95,0,0,4362,4363,7,8,0,0,4363,4364,7,11,0,0,4364,4365,7,21,0,0,4365,4366,7,12,0,0,4366,4367,7,7,0,0,4367,772,1,0,0,0,4368,4369,7,8,0,0,4369,4370,7,19,0,0,4370,4371,7,12,0,0,4371,4372,7,13,0,0,4372,4373,7,19,0,0,4373,4374,7,12,0,0,4374,4375,7,8,0,0,4375,774,1,0,0,0,4376,4377,7,8,0,0,4377,4378,7,6,0,0,4378,776,1,0,0,0,4379,4380,7,8,0,0,4380,4381,7,11,0,0,4381,4382,7,2,0,0,4382,4383,7,19,0,0,4383,4384,7,5,0,0,4384,4385,7,19,0,0,4385,4386,7,12,0,0,4386,4387,7,16,0,0,4387,778,1,0,0,0,4388,4389,7,8,0,0,4389,4390,7,11,0,0,4390,4391,7,2,0,0,4391,4392,7,12,0,0,4392,4393,7,4,0,0,4393,4394,7,5,0,0,4394,4395,7,2,0,0,4395,4396,7,8,0,0,4396,4397,7,9,0,0,4397,780,1,0,0,0,4398,4399,7,8,0,0,4399,4400,7,11,0,0,4400,4401,7,2,0,0,4401,4402,7,12,0,0,4402,4403,7,4,0,0,4403,4404,7,5,0,0,4404,4405,7,2,0,0,4405,4406,7,8,0,0,4406,4407,7,9,0,0,4407,4408,5,95,0,0,4408,4409,7,11,0,0,4409,4410,7,9,0,0,4410,4411,7,16,0,0,4411,4412,7,9,0,0,4412,4413,7,18,0,0,4413,782,1,0,0,0,4414,4415,7,8,0,0,4415,4416,7,11,0,0,4416,4417,7,2,0,0,4417,4418,7,12,0,0,4418,4419,7,4,0,0,4419,4420,7,5,0,0,4420,4421,7,2,0,0,4421,4422,7,8,0,0,4422,4423,7,19,0,0,4423,4424,7,6,0,0,4424,4425,7,12,0,0,4425,784,1,0,0,0,4426,4427,7,8,0,0,4427,4428,7,11,0,0,4428,4429,7,9,0,0,4429,4430,7,2,0,0,4430,4431,7,8,0,0,4431,786,1,0,0,0,4432,4433,7,8,0,0,4433,4434,7,11,0,0,4434,4435,7,19,0,0,4435,4436,7,16,0,0,4436,4437,7,16,0,0,4437,4438,7,9,0,0,4438,4439,7,11,0,0,4439,788,1,0,0,0,4440,4441,7,8,0,0,4441,4442,7,11,0,0,4442,4443,7,19,0,0,4443,4444,7,17,0,0,4444,790,1,0,0,0,4445,4446,7,8,0,0,4446,4447,7,11,0,0,4447,4448,7,19,0,0,4448,4449,7,17,0,0,4449,4450,5,95,0,0,4450,4451,7,2,0,0,4451,4452,7,11,0,0,4452,4453,7,11,0,0,4453,4454,7,2,0,0,4454,4455,7,13,0,0,4455,792,1,0,0,0,4456,4457,7,8,0,0,4457,4458,7,11,0,0,4458,4459,7,21,0,0,4459,4460,7,9,0,0,4460,794,1,0,0,0,4461,4462,7,8,0,0,4462,4463,7,11,0,0,4463,4464,7,21,0,0,4464,4465,7,12,0,0,4465,4466,7,7,0,0,4466,4467,7,2,0,0,4467,4468,7,8,0,0,4468,4469,7,9,0,0,4469,796,1,0,0,0,4470,4471,7,8,0,0,4471,4472,7,11,0,0,4472,4473,7,13,0,0,4473,4474,5,95,0,0,4474,4475,7,7,0,0,4475,4476,7,2,0,0,4476,4477,7,4,0,0,4477,4478,7,8,0,0,4478,798,1,0,0,0,4479,4480,7,8,0,0,4480,4481,7,21,0,0,4481,4482,7,9,0,0,4482,4483,7,4,0,0,4483,4484,7,15,0,0,4484,4485,7,2,0,0,4485,4486,7,13,0,0,4486,800,1,0,0,0,4487,4488,7,21,0,0,4488,4489,7,9,0,0,4489,4490,7,4,0,0,4490,4491,7,7,0,0,4491,4492,7,2,0,0,4492,4493,7,24,0,0,4493,4494,7,9,0,0,4494,802,1,0,0,0,4495,4496,7,21,0,0,4496,4497,7,12,0,0,4497,4498,7,19,0,0,4498,4499,7,6,0,0,4499,4500,7,12,0,0,4500,804,1,0,0,0,4501,4502,7,21,0,0,4502,4503,7,12,0,0,4503,4504,7,19,0,0,4504,4505,7,26,0,0,4505,4506,7,21,0,0,4506,4507,7,9,0,0,4507,806,1,0,0,0,4508,4509,7,21,0,0,4509,4510,7,12,0,0,4510,4511,7,25,0,0,4511,4512,7,12,0,0,4512,4513,7,6,0,0,4513,4514,7,10,0,0,4514,4515,7,12,0,0,4515,808,1,0,0,0,4516,4517,7,21,0,0,4517,4518,7,12,0,0,4518,4519,7,12,0,0,4519,4520,7,9,0,0,4520,4521,7,4,0,0,4521,4522,7,8,0,0,4522,810,1,0,0,0,4523,4524,7,21,0,0,4524,4525,7,12,0,0,4525,4526,7,24,0,0,4526,4527,7,19,0,0,4527,4528,7,20,0,0,4528,4529,7,6,0,0,4529,4530,7,8,0,0,4530,812,1,0,0,0,4531,4532,7,21,0,0,4532,4533,7,24,0,0,4533,4534,7,15,0,0,4534,4535,7,2,0,0,4535,4536,7,8,0,0,4536,4537,7,9,0,0,4537,814,1,0,0,0,4538,4539,7,21,0,0,4539,4540,7,24,0,0,4540,4541,7,24,0,0,4541,4542,7,9,0,0,4542,4543,7,11,0,0,4543,816,1,0,0,0,4544,4545,7,21,0,0,4545,4546,7,24,0,0,4546,4547,7,4,0,0,4547,4548,7,9,0,0,4548,4549,7,11,0,0,4549,4550,7,8,0,0,4550,818,1,0,0,0,4551,4552,7,21,0,0,4552,4553,7,4,0,0,4553,4554,7,9,0,0,4554,820,1,0,0,0,4555,4556,7,21,0,0,4556,4557,7,4,0,0,4557,4558,7,9,0,0,4558,4559,7,11,0,0,4559,822,1,0,0,0,4560,4561,7,21,0,0,4561,4562,7,4,0,0,4562,4563,7,19,0,0,4563,4564,7,12,0,0,4564,4565,7,16,0,0,4565,824,1,0,0,0,4566,4567,7,20,0,0,4567,4568,7,2,0,0,4568,4569,7,5,0,0,4569,4570,7,21,0,0,4570,4571,7,9,0,0,4571,826,1,0,0,0,4572,4573,7,20,0,0,4573,4574,7,2,0,0,4574,4575,7,5,0,0,4575,4576,7,21,0,0,4576,4577,7,9,0,0,4577,4578,7,4,0,0,4578,828,1,0,0,0,4579,4580,7,20,0,0,4580,4581,7,2,0,0,4581,4582,7,5,0,0,4582,4583,7,21,0,0,4583,4584,7,9,0,0,4584,4585,5,95,0,0,4585,4586,7,6,0,0,4586,4587,7,23,0,0,4587,830,1,0,0,0,4588,4589,7,20,0,0,4589,4590,7,2,0,0,4590,4591,7,11,0,0,4591,4592,7,3,0,0,4592,4593,7,19,0,0,4593,4594,7,12,0,0,4594,4595,7,2,0,0,4595,4596,7,11,0,0,4596,4597,7,13,0,0,4597,832,1,0,0,0,4598,4599,7,20,0,0,4599,4600,7,2,0,0,4600,4601,7,11,0,0,4601,4602,7,7,0,0,4602,4603,7,22,0,0,4603,4604,7,2,0,0,4604,4605,7,11,0,0,4605,834,1,0,0,0,4606,4607,7,20,0,0,4607,4608,7,2,0,0,4608,4609,7,11,0,0,4609,4610,7,13,0,0,4610,4611,7,19,0,0,4611,4612,7,12,0,0,4612,4613,7,16,0,0,4613,836,1,0,0,0,4614,4615,7,20,0,0,4615,4616,7,2,0,0,4616,4617,7,11,0,0,4617,4618,5,95,0,0,4618,4619,7,24,0,0,4619,4620,7,6,0,0,4620,4621,7,24,0,0,4621,838,1,0,0,0,4622,4623,7,20,0,0,4623,4624,7,2,0,0,4624,4625,7,11,0,0,4625,4626,5,95,0,0,4626,4627,7,4,0,0,4627,4628,7,2,0,0,4628,4629,7,17,0,0,4629,4630,7,24,0,0,4630,840,1,0,0,0,4631,4632,7,20,0,0,4632,4633,7,9,0,0,4633,4634,7,11,0,0,4634,4635,7,4,0,0,4635,4636,7,19,0,0,4636,4637,7,6,0,0,4637,4638,7,12,0,0,4638,4639,7,19,0,0,4639,4640,7,12,0,0,4640,4641,7,16,0,0,4641,842,1,0,0,0,4642,4643,7,20,0,0,4643,4644,7,19,0,0,4644,4645,7,9,0,0,4645,4646,7,10,0,0,4646,4647,7,4,0,0,4647,844,1,0,0,0,4648,4649,7,20,0,0,4649,4650,7,19,0,0,4650,4651,7,11,0,0,4651,4652,7,8,0,0,4652,4653,7,21,0,0,4653,4654,7,2,0,0,4654,4655,7,5,0,0,4655,846,1,0,0,0,4656,4657,7,10,0,0,4657,4658,7,2,0,0,4658,4659,7,8,0,0,4659,4660,7,9,0,0,4660,4661,7,11,0,0,4661,4662,7,17,0,0,4662,4663,7,2,0,0,4663,4664,7,11,0,0,4664,4665,7,25,0,0,4665,848,1,0,0,0,4666,4667,7,10,0,0,4667,4668,7,2,0,0,4668,4669,7,8,0,0,4669,4670,7,9,0,0,4670,4671,7,11,0,0,4671,4672,7,17,0,0,4672,4673,7,2,0,0,4673,4674,7,11,0,0,4674,4675,7,25,0,0,4675,4676,7,4,0,0,4676,850,1,0,0,0,4677,4678,7,10,0,0,4678,4679,7,9,0,0,4679,4680,7,15,0,0,4680,4681,7,12,0,0,4681,4682,7,9,0,0,4682,4683,7,4,0,0,4683,4684,7,15,0,0,4684,4685,7,2,0,0,4685,4686,7,13,0,0,4686,852,1,0,0,0,4687,4688,7,10,0,0,4688,4689,7,9,0,0,4689,4690,7,9,0,0,4690,4691,7,25,0,0,4691,4692,7,4,0,0,4692,854,1,0,0,0,4693,4694,7,10,0,0,4694,4695,7,22,0,0,4695,4696,7,9,0,0,4696,4697,7,12,0,0,4697,856,1,0,0,0,4698,4699,7,10,0,0,4699,4700,7,22,0,0,4700,4701,7,9,0,0,4701,4702,7,12,0,0,4702,4703,7,9,0,0,4703,4704,7,20,0,0,4704,4705,7,9,0,0,4705,4706,7,11,0,0,4706,858,1,0,0,0,4707,4708,7,10,0,0,4708,4709,7,22,0,0,4709,4710,7,9,0,0,4710,4711,7,11,0,0,4711,4712,7,9,0,0,4712,860,1,0,0,0,4713,4714,7,10,0,0,4714,4715,7,19,0,0,4715,4716,7,15,0,0,4716,4717,7,8,0,0,4717,4718,7,22,0,0,4718,4719,5,95,0,0,4719,4720,7,3,0,0,4720,4721,7,21,0,0,4721,4722,7,7,0,0,4722,4723,7,25,0,0,4723,4724,7,9,0,0,4724,4725,7,8,0,0,4725,862,1,0,0,0,4726,4727,7,10,0,0,4727,4728,7,19,0,0,4728,4729,7,12,0,0,4729,4730,7,15,0,0,4730,4731,7,6,0,0,4731,4732,7,10,0,0,4732,864,1,0,0,0,4733,4734,7,10,0,0,4734,4735,7,19,0,0,4735,4736,7,8,0,0,4736,4737,7,22,0,0,4737,866,1,0,0,0,4738,4739,7,10,0,0,4739,4740,7,19,0,0,4740,4741,7,8,0,0,4741,4742,7,22,0,0,4742,4743,7,19,0,0,4743,4744,7,12,0,0,4744,868,1,0,0,0,4745,4746,7,10,0,0,4746,4747,7,19,0,0,4747,4748,7,8,0,0,4748,4749,7,22,0,0,4749,4750,7,6,0,0,4750,4751,7,21,0,0,4751,4752,7,8,0,0,4752,870,1,0,0,0,4753,4754,7,13,0,0,4754,4755,7,9,0,0,4755,4756,7,2,0,0,4756,4757,7,11,0,0,4757,872,1,0,0,0,4758,4759,7,2,0,0,4759,4760,7,15,0,0,4760,4761,7,15,0,0,4761,874,1,0,0,0,4762,4763,7,2,0,0,4763,4764,7,23,0,0,4764,4765,7,8,0,0,4765,4766,7,9,0,0,4766,4767,7,11,0,0,4767,876,1,0,0,0,4768,4769,7,2,0,0,4769,4770,7,4,0,0,4770,4771,7,7,0,0,4771,878,1,0,0,0,4772,4773,7,7,0,0,4773,4774,7,2,0,0,4774,4775,7,4,0,0,4775,4776,7,7,0,0,4776,4777,7,2,0,0,4777,4778,7,15,0,0,4778,4779,7,9,0,0,4779,880,1,0,0,0,4780,4781,7,7,0,0,4781,4782,7,2,0,0,4782,4783,7,8,0,0,4783,4784,7,2,0,0,4784,4785,7,5,0,0,4785,4786,7,6,0,0,4786,4787,7,16,0,0,4787,882,1,0,0,0,4788,4789,7,7,0,0,4789,4790,7,9,0,0,4790,4791,7,12,0,0,4791,4792,7,8,0,0,4792,4793,7,21,0,0,4793,4794,7,11,0,0,4794,4795,7,13,0,0,4795,884,1,0,0,0,4796,4797,7,7,0,0,4797,4798,7,6,0,0,4798,4799,7,12,0,0,4799,4800,7,23,0,0,4800,4801,7,19,0,0,4801,4802,7,16,0,0,4802,886,1,0,0,0,4803,4804,7,7,0,0,4804,4805,7,6,0,0,4805,4806,7,12,0,0,4806,4807,7,4,0,0,4807,4808,7,8,0,0,4808,4809,7,11,0,0,4809,4810,7,2,0,0,4810,4811,7,19,0,0,4811,4812,7,12,0,0,4812,4813,7,8,0,0,4813,4814,7,4,0,0,4814,888,1,0,0,0,4815,4816,7,7,0,0,4816,4817,7,21,0,0,4817,4818,7,17,0,0,4818,4819,7,21,0,0,4819,4820,7,5,0,0,4820,4821,7,2,0,0,4821,4822,7,8,0,0,4822,4823,7,9,0,0,4823,890,1,0,0,0,4824,4825,7,15,0,0,4825,4826,7,2,0,0,4826,4827,7,8,0,0,4827,4828,7,2,0,0,4828,892,1,0,0,0,4829,4830,7,15,0,0,4830,4831,7,2,0,0,4831,4832,7,8,0,0,4832,4833,7,2,0,0,4833,4834,7,3,0,0,4834,4835,7,2,0,0,4835,4836,7,4,0,0,4836,4837,7,9,0,0,4837,894,1,0,0,0,4838,4839,7,15,0,0,4839,4840,7,2,0,0,4840,4841,7,13,0,0,4841,4842,7,4,0,0,4842,896,1,0,0,0,4843,4844,7,15,0,0,4844,4845,7,9,0,0,4845,4846,7,7,0,0,4846,4847,7,2,0,0,4847,4848,7,15,0,0,4848,4849,7,9,0,0,4849,898,1,0,0,0,4850,4851,7,15,0,0,4851,4852,7,9,0,0,4852,4853,7,4,0,0,4853,4854,7,7,0,0,4854,900,1,0,0,0,4855,4856,7,15,0,0,4856,4857,7,9,0,0,4857,4858,7,4,0,0,4858,4859,7,7,0,0,4859,4860,7,11,0,0,4860,4861,7,19,0,0,4861,4862,7,24,0,0,4862,4863,7,8,0,0,4863,4864,7,6,0,0,4864,4865,7,11,0,0,4865,902,1,0,0,0,4866,4867,7,15,0,0,4867,4868,7,19,0,0,4868,4869,7,20,0,0,4869,904,1,0,0,0,4870,4871,7,9,0,0,4871,4872,7,12,0,0,4872,4873,7,16,0,0,4873,4874,7,19,0,0,4874,4875,7,12,0,0,4875,4876,7,9,0,0,4876,906,1,0,0,0,4877,4878,7,9,0,0,4878,4879,7,24,0,0,4879,4880,7,6,0,0,4880,4881,7,7,0,0,4881,4882,7,22,0,0,4882,908,1,0,0,0,4883,4884,7,9,0,0,4884,4885,7,18,0,0,4885,4886,7,7,0,0,4886,4887,7,5,0,0,4887,4888,7,21,0,0,4888,4889,7,15,0,0,4889,4890,7,19,0,0,4890,4891,7,12,0,0,4891,4892,7,16,0,0,4892,910,1,0,0,0,4893,4894,7,23,0,0,4894,4895,7,19,0,0,4895,4896,7,5,0,0,4896,4897,7,9,0,0,4897,912,1,0,0,0,4898,4899,7,23,0,0,4899,4900,7,19,0,0,4900,4901,7,11,0,0,4901,4902,7,4,0,0,4902,4903,7,8,0,0,4903,914,1,0,0,0,4904,4905,7,16,0,0,4905,4906,7,9,0,0,4906,4907,7,12,0,0,4907,4908,7,9,0,0,4908,4909,7,11,0,0,4909,4910,7,2,0,0,4910,4911,7,8,0,0,4911,4912,7,9,0,0,4912,4913,7,15,0,0,4913,916,1,0,0,0,4914,4915,7,22,0,0,4915,4916,7,6,0,0,4916,4917,7,24,0,0,4917,918,1,0,0,0,4918,4919,7,22,0,0,4919,4920,7,6,0,0,4920,4921,7,21,0,0,4921,4922,7,11,0,0,4922,4923,7,4,0,0,4923,920,1,0,0,0,4924,4925,7,19,0,0,4925,4926,7,16,0,0,4926,4927,7,12,0,0,4927,4928,7,6,0,0,4928,4929,7,11,0,0,4929,4930,7,9,0,0,4930,922,1,0,0,0,4931,4932,7,19,0,0,4932,4933,7,12,0,0,4933,4934,7,7,0,0,4934,4935,7,5,0,0,4935,4936,7,21,0,0,4936,4937,7,15,0,0,4937,4938,7,19,0,0,4938,4939,7,12,0,0,4939,4940,7,16,0,0,4940,924,1,0,0,0,4941,4942,7,27,0,0,4942,4943,7,2,0,0,4943,4944,7,11,0,0,4944,926,1,0,0,0,4945,4946,7,27,0,0,4946,4947,7,2,0,0,4947,4948,7,11,0,0,4948,4949,7,4,0,0,4949,928,1,0,0,0,4950,4951,7,27,0,0,4951,4952,7,2,0,0,4952,4953,7,20,0,0,4953,4954,7,2,0,0,4954,930,1,0,0,0,4955,4956,7,25,0,0,4956,4957,7,9,0,0,4957,4958,7,13,0,0,4958,932,1,0,0,0,4959,4960,7,5,0,0,4960,4961,7,2,0,0,4961,4962,7,4,0,0,4962,4963,7,8,0,0,4963,934,1,0,0,0,4964,4965,7,5,0,0,4965,4966,7,6,0,0,4966,4967,7,2,0,0,4967,4968,7,15,0,0,4968,936,1,0,0,0,4969,4970,7,17,0,0,4970,4971,7,2,0,0,4971,4972,7,24,0,0,4972,938,1,0,0,0,4973,4974,7,17,0,0,4974,4975,7,19,0,0,4975,4976,7,7,0,0,4976,4977,7,11,0,0,4977,4978,7,6,0,0,4978,4979,7,4,0,0,4979,4980,7,9,0,0,4980,4981,7,7,0,0,4981,4982,7,6,0,0,4982,4983,7,12,0,0,4983,4984,7,15,0,0,4984,940,1,0,0,0,4985,4986,7,17,0,0,4986,4987,7,19,0,0,4987,4988,7,5,0,0,4988,4989,7,5,0,0,4989,4990,7,9,0,0,4990,4991,7,12,0,0,4991,4992,7,12,0,0,4992,4993,7,19,0,0,4993,4994,7,21,0,0,4994,4995,7,17,0,0,4995,942,1,0,0,0,4996,4997,7,17,0,0,4997,4998,7,19,0,0,4998,4999,7,5,0,0,4999,5e3,7,5,0,0,5e3,5001,7,19,0,0,5001,5002,7,4,0,0,5002,5003,7,9,0,0,5003,5004,7,7,0,0,5004,5005,7,6,0,0,5005,5006,7,12,0,0,5006,5007,7,15,0,0,5007,944,1,0,0,0,5008,5009,7,17,0,0,5009,5010,7,19,0,0,5010,5011,7,12,0,0,5011,5012,7,21,0,0,5012,5013,7,8,0,0,5013,5014,7,9,0,0,5014,5015,7,4,0,0,5015,946,1,0,0,0,5016,5017,7,17,0,0,5017,5018,7,6,0,0,5018,5019,7,12,0,0,5019,5020,7,8,0,0,5020,5021,7,22,0,0,5021,5022,7,4,0,0,5022,948,1,0,0,0,5023,5024,7,12,0,0,5024,5025,7,2,0,0,5025,5026,7,12,0,0,5026,5027,7,6,0,0,5027,5028,7,4,0,0,5028,5029,7,9,0,0,5029,5030,7,7,0,0,5030,5031,7,6,0,0,5031,5032,7,12,0,0,5032,5033,7,15,0,0,5033,950,1,0,0,0,5034,5035,7,12,0,0,5035,5036,7,21,0,0,5036,5037,7,5,0,0,5037,5038,7,5,0,0,5038,5039,7,4,0,0,5039,952,1,0,0,0,5040,5041,7,6,0,0,5041,5042,7,24,0,0,5042,5043,7,8,0,0,5043,5044,7,19,0,0,5044,5045,7,6,0,0,5045,5046,7,12,0,0,5046,5047,7,4,0,0,5047,954,1,0,0,0,5048,5049,7,24,0,0,5049,5050,7,2,0,0,5050,5051,7,4,0,0,5051,5052,7,8,0,0,5052,956,1,0,0,0,5053,5054,7,24,0,0,5054,5055,7,5,0,0,5055,5056,7,2,0,0,5056,5057,7,12,0,0,5057,958,1,0,0,0,5058,5059,7,24,0,0,5059,5060,7,11,0,0,5060,5061,7,9,0,0,5061,5062,7,7,0,0,5062,5063,7,9,0,0,5063,5064,7,15,0,0,5064,5065,7,19,0,0,5065,5066,7,12,0,0,5066,5067,7,16,0,0,5067,960,1,0,0,0,5068,5069,7,24,0,0,5069,5070,7,13,0,0,5070,5071,7,8,0,0,5071,5072,7,22,0,0,5072,5073,7,6,0,0,5073,5074,7,12,0,0,5074,962,1,0,0,0,5075,5076,7,24,0,0,5076,5077,7,13,0,0,5077,5078,7,8,0,0,5078,5079,7,22,0,0,5079,5080,7,6,0,0,5080,5081,7,12,0,0,5081,5082,5,95,0,0,5082,5083,7,2,0,0,5083,5084,7,11,0,0,5084,5085,7,7,0,0,5085,5086,7,22,0,0,5086,5087,7,19,0,0,5087,5088,7,20,0,0,5088,5089,7,9,0,0,5089,5090,7,4,0,0,5090,964,1,0,0,0,5091,5092,7,24,0,0,5092,5093,7,13,0,0,5093,5094,7,8,0,0,5094,5095,7,22,0,0,5095,5096,7,6,0,0,5096,5097,7,12,0,0,5097,5098,5,95,0,0,5098,5099,7,15,0,0,5099,5100,7,9,0,0,5100,5101,7,24,0,0,5101,5102,7,9,0,0,5102,5103,7,12,0,0,5103,5104,7,15,0,0,5104,5105,7,9,0,0,5105,5106,7,12,0,0,5106,5107,7,7,0,0,5107,5108,7,19,0,0,5108,5109,7,9,0,0,5109,5110,7,4,0,0,5110,966,1,0,0,0,5111,5112,7,24,0,0,5112,5113,7,13,0,0,5113,5114,7,8,0,0,5114,5115,7,22,0,0,5115,5116,7,6,0,0,5116,5117,7,12,0,0,5117,5118,5,95,0,0,5118,5119,7,23,0,0,5119,5120,7,19,0,0,5120,5121,7,5,0,0,5121,5122,7,9,0,0,5122,5123,7,4,0,0,5123,968,1,0,0,0,5124,5125,7,24,0,0,5125,5126,7,13,0,0,5126,5127,7,8,0,0,5127,5128,7,22,0,0,5128,5129,7,6,0,0,5129,5130,7,12,0,0,5130,5131,5,95,0,0,5131,5132,7,27,0,0,5132,5133,7,2,0,0,5133,5134,7,11,0,0,5134,970,1,0,0,0,5135,5136,7,24,0,0,5136,5137,7,13,0,0,5137,5138,7,8,0,0,5138,5139,7,22,0,0,5139,5140,7,6,0,0,5140,5141,7,12,0,0,5141,5142,5,95,0,0,5142,5143,7,24,0,0,5143,5144,7,2,0,0,5144,5145,7,11,0,0,5145,5146,7,2,0,0,5146,5147,7,17,0,0,5147,5148,7,9,0,0,5148,5149,7,8,0,0,5149,5150,7,9,0,0,5150,5151,7,11,0,0,5151,972,1,0,0,0,5152,5153,7,24,0,0,5153,5154,7,13,0,0,5154,5155,7,8,0,0,5155,5156,7,22,0,0,5156,5157,7,6,0,0,5157,5158,7,12,0,0,5158,5159,5,95,0,0,5159,5160,7,11,0,0,5160,5161,7,9,0,0,5161,5162,7,26,0,0,5162,5163,7,21,0,0,5163,5164,7,19,0,0,5164,5165,7,11,0,0,5165,5166,7,9,0,0,5166,5167,7,17,0,0,5167,5168,7,9,0,0,5168,5169,7,12,0,0,5169,5170,7,8,0,0,5170,5171,7,4,0,0,5171,974,1,0,0,0,5172,5173,7,26,0,0,5173,5174,7,21,0,0,5174,5175,7,2,0,0,5175,5176,7,11,0,0,5176,5177,7,8,0,0,5177,5178,7,9,0,0,5178,5179,7,11,0,0,5179,976,1,0,0,0,5180,5181,7,11,0,0,5181,5182,7,9,0,0,5182,5183,7,17,0,0,5183,5184,7,6,0,0,5184,5185,7,20,0,0,5185,5186,7,9,0,0,5186,978,1,0,0,0,5187,5188,7,11,0,0,5188,5189,7,9,0,0,5189,5190,7,4,0,0,5190,5191,7,8,0,0,5191,5192,7,11,0,0,5192,5193,7,19,0,0,5193,5194,7,7,0,0,5194,5195,7,8,0,0,5195,980,1,0,0,0,5196,5197,7,4,0,0,5197,5198,7,9,0,0,5198,5199,7,7,0,0,5199,5200,7,6,0,0,5200,5201,7,12,0,0,5201,5202,7,15,0,0,5202,5203,7,4,0,0,5203,982,1,0,0,0,5204,5205,7,4,0,0,5205,5206,7,9,0,0,5206,5207,7,4,0,0,5207,5208,7,4,0,0,5208,5209,7,19,0,0,5209,5210,7,6,0,0,5210,5211,7,12,0,0,5211,984,1,0,0,0,5212,5213,7,4,0,0,5213,5214,7,9,0,0,5214,5215,7,8,0,0,5215,5216,7,4,0,0,5216,986,1,0,0,0,5217,5218,7,4,0,0,5218,5219,7,19,0,0,5219,5220,7,14,0,0,5220,5221,7,9,0,0,5221,988,1,0,0,0,5222,5223,7,4,0,0,5223,5224,7,5,0,0,5224,5225,7,19,0,0,5225,5226,7,15,0,0,5226,5227,7,9,0,0,5227,990,1,0,0,0,5228,5229,7,4,0,0,5229,5230,7,8,0,0,5230,5231,7,9,0,0,5231,5232,7,24,0,0,5232,992,1,0,0,0,5233,5234,7,8,0,0,5234,5235,7,9,0,0,5235,5236,7,17,0,0,5236,5237,7,24,0,0,5237,5238,7,6,0,0,5238,5239,7,11,0,0,5239,5240,7,2,0,0,5240,5241,7,11,0,0,5241,5242,7,13,0,0,5242,994,1,0,0,0,5243,5244,7,8,0,0,5244,5245,7,19,0,0,5245,5246,7,17,0,0,5246,5247,7,9,0,0,5247,5248,7,7,0,0,5248,5249,7,6,0,0,5249,5250,7,5,0,0,5250,996,1,0,0,0,5251,5252,7,8,0,0,5252,5253,7,21,0,0,5253,5254,7,17,0,0,5254,5255,7,3,0,0,5255,5256,7,5,0,0,5256,5257,7,9,0,0,5257,998,1,0,0,0,5258,5259,7,21,0,0,5259,5260,7,12,0,0,5260,5261,7,5,0,0,5261,5262,7,6,0,0,5262,5263,7,2,0,0,5263,5264,7,15,0,0,5264,1e3,1,0,0,0,5265,5266,7,20,0,0,5266,5267,7,19,0,0,5267,5268,7,9,0,0,5268,5269,7,10,0,0,5269,1002,1,0,0,0,5270,5271,7,10,0,0,5271,5272,7,9,0,0,5272,5273,7,9,0,0,5273,5274,7,25,0,0,5274,1004,1,0,0,0,5275,5276,7,13,0,0,5276,5277,7,9,0,0,5277,5278,7,2,0,0,5278,5279,7,11,0,0,5279,5280,7,4,0,0,5280,1006,1,0,0,0,5281,5282,7,14,0,0,5282,5283,7,6,0,0,5283,5284,7,12,0,0,5284,5285,7,9,0,0,5285,1008,1,0,0,0,5286,5287,5,61,0,0,5287,1010,1,0,0,0,5288,5289,5,62,0,0,5289,1012,1,0,0,0,5290,5291,5,60,0,0,5291,1014,1,0,0,0,5292,5293,5,33,0,0,5293,1016,1,0,0,0,5294,5295,5,126,0,0,5295,1018,1,0,0,0,5296,5297,5,124,0,0,5297,1020,1,0,0,0,5298,5299,5,38,0,0,5299,1022,1,0,0,0,5300,5301,5,94,0,0,5301,1024,1,0,0,0,5302,5303,5,46,0,0,5303,1026,1,0,0,0,5304,5305,5,91,0,0,5305,1028,1,0,0,0,5306,5307,5,93,0,0,5307,1030,1,0,0,0,5308,5309,5,40,0,0,5309,1032,1,0,0,0,5310,5311,5,41,0,0,5311,1034,1,0,0,0,5312,5313,5,123,0,0,5313,1036,1,0,0,0,5314,5315,5,125,0,0,5315,1038,1,0,0,0,5316,5317,5,44,0,0,5317,1040,1,0,0,0,5318,5319,5,59,0,0,5319,1042,1,0,0,0,5320,5321,5,64,0,0,5321,1044,1,0,0,0,5322,5323,5,39,0,0,5323,1046,1,0,0,0,5324,5325,5,34,0,0,5325,1048,1,0,0,0,5326,5327,5,96,0,0,5327,1050,1,0,0,0,5328,5329,5,58,0,0,5329,1052,1,0,0,0,5330,5331,5,42,0,0,5331,1054,1,0,0,0,5332,5333,5,95,0,0,5333,1056,1,0,0,0,5334,5335,5,45,0,0,5335,1058,1,0,0,0,5336,5337,5,43,0,0,5337,1060,1,0,0,0,5338,5339,5,37,0,0,5339,1062,1,0,0,0,5340,5341,5,124,0,0,5341,5342,5,124,0,0,5342,1064,1,0,0,0,5343,5344,5,45,0,0,5344,5345,5,45,0,0,5345,1066,1,0,0,0,5346,5347,5,47,0,0,5347,1068,1,0,0,0,5348,5349,5,63,0,0,5349,1070,1,0,0,0,5350,5351,5,61,0,0,5351,5352,5,62,0,0,5352,1072,1,0,0,0,5353,5357,3,1093,546,0,5354,5357,3,1095,547,0,5355,5357,3,1099,549,0,5356,5353,1,0,0,0,5356,5354,1,0,0,0,5356,5355,1,0,0,0,5357,1074,1,0,0,0,5358,5360,3,1089,544,0,5359,5358,1,0,0,0,5360,5361,1,0,0,0,5361,5359,1,0,0,0,5361,5362,1,0,0,0,5362,1076,1,0,0,0,5363,5365,3,1089,544,0,5364,5363,1,0,0,0,5365,5366,1,0,0,0,5366,5364,1,0,0,0,5366,5367,1,0,0,0,5367,5369,1,0,0,0,5368,5364,1,0,0,0,5368,5369,1,0,0,0,5369,5370,1,0,0,0,5370,5372,5,46,0,0,5371,5373,3,1089,544,0,5372,5371,1,0,0,0,5373,5374,1,0,0,0,5374,5372,1,0,0,0,5374,5375,1,0,0,0,5375,5407,1,0,0,0,5376,5378,3,1089,544,0,5377,5376,1,0,0,0,5378,5379,1,0,0,0,5379,5377,1,0,0,0,5379,5380,1,0,0,0,5380,5381,1,0,0,0,5381,5382,5,46,0,0,5382,5383,3,1085,542,0,5383,5407,1,0,0,0,5384,5386,3,1089,544,0,5385,5384,1,0,0,0,5386,5387,1,0,0,0,5387,5385,1,0,0,0,5387,5388,1,0,0,0,5388,5390,1,0,0,0,5389,5385,1,0,0,0,5389,5390,1,0,0,0,5390,5391,1,0,0,0,5391,5393,5,46,0,0,5392,5394,3,1089,544,0,5393,5392,1,0,0,0,5394,5395,1,0,0,0,5395,5393,1,0,0,0,5395,5396,1,0,0,0,5396,5397,1,0,0,0,5397,5398,3,1085,542,0,5398,5407,1,0,0,0,5399,5401,3,1089,544,0,5400,5399,1,0,0,0,5401,5402,1,0,0,0,5402,5400,1,0,0,0,5402,5403,1,0,0,0,5403,5404,1,0,0,0,5404,5405,3,1085,542,0,5405,5407,1,0,0,0,5406,5368,1,0,0,0,5406,5377,1,0,0,0,5406,5389,1,0,0,0,5406,5400,1,0,0,0,5407,1078,1,0,0,0,5408,5409,3,1097,548,0,5409,1080,1,0,0,0,5410,5411,3,1087,543,0,5411,1082,1,0,0,0,5412,5420,5,96,0,0,5413,5414,5,92,0,0,5414,5419,9,0,0,0,5415,5416,5,96,0,0,5416,5419,5,96,0,0,5417,5419,8,28,0,0,5418,5413,1,0,0,0,5418,5415,1,0,0,0,5418,5417,1,0,0,0,5419,5422,1,0,0,0,5420,5418,1,0,0,0,5420,5421,1,0,0,0,5421,5423,1,0,0,0,5422,5420,1,0,0,0,5423,5424,5,96,0,0,5424,1084,1,0,0,0,5425,5427,7,9,0,0,5426,5428,7,29,0,0,5427,5426,1,0,0,0,5427,5428,1,0,0,0,5428,5430,1,0,0,0,5429,5431,3,1089,544,0,5430,5429,1,0,0,0,5431,5432,1,0,0,0,5432,5430,1,0,0,0,5432,5433,1,0,0,0,5433,1086,1,0,0,0,5434,5436,7,30,0,0,5435,5434,1,0,0,0,5436,5439,1,0,0,0,5437,5438,1,0,0,0,5437,5435,1,0,0,0,5438,5441,1,0,0,0,5439,5437,1,0,0,0,5440,5442,7,31,0,0,5441,5440,1,0,0,0,5442,5443,1,0,0,0,5443,5444,1,0,0,0,5443,5441,1,0,0,0,5444,5448,1,0,0,0,5445,5447,7,30,0,0,5446,5445,1,0,0,0,5447,5450,1,0,0,0,5448,5446,1,0,0,0,5448,5449,1,0,0,0,5449,1088,1,0,0,0,5450,5448,1,0,0,0,5451,5452,7,32,0,0,5452,1090,1,0,0,0,5453,5454,7,33,0,0,5454,1092,1,0,0,0,5455,5463,5,34,0,0,5456,5457,5,92,0,0,5457,5462,9,0,0,0,5458,5459,5,34,0,0,5459,5462,5,34,0,0,5460,5462,8,34,0,0,5461,5456,1,0,0,0,5461,5458,1,0,0,0,5461,5460,1,0,0,0,5462,5465,1,0,0,0,5463,5461,1,0,0,0,5463,5464,1,0,0,0,5464,5466,1,0,0,0,5465,5463,1,0,0,0,5466,5467,5,34,0,0,5467,1094,1,0,0,0,5468,5476,5,39,0,0,5469,5470,5,92,0,0,5470,5475,9,0,0,0,5471,5472,5,39,0,0,5472,5475,5,39,0,0,5473,5475,8,35,0,0,5474,5469,1,0,0,0,5474,5471,1,0,0,0,5474,5473,1,0,0,0,5475,5478,1,0,0,0,5476,5474,1,0,0,0,5476,5477,1,0,0,0,5477,5479,1,0,0,0,5478,5476,1,0,0,0,5479,5480,5,39,0,0,5480,1096,1,0,0,0,5481,5482,7,3,0,0,5482,5484,5,39,0,0,5483,5485,7,36,0,0,5484,5483,1,0,0,0,5485,5486,1,0,0,0,5486,5484,1,0,0,0,5486,5487,1,0,0,0,5487,5488,1,0,0,0,5488,5489,5,39,0,0,5489,1098,1,0,0,0,5490,5498,5,96,0,0,5491,5492,5,92,0,0,5492,5497,9,0,0,0,5493,5494,5,96,0,0,5494,5497,5,96,0,0,5495,5497,8,28,0,0,5496,5491,1,0,0,0,5496,5493,1,0,0,0,5496,5495,1,0,0,0,5497,5500,1,0,0,0,5498,5496,1,0,0,0,5498,5499,1,0,0,0,5499,5501,1,0,0,0,5500,5498,1,0,0,0,5501,5502,5,96,0,0,5502,1100,1,0,0,0,35,0,1104,1114,1125,1130,1134,1138,1144,1148,1150,5356,5361,5366,5368,5374,5379,5387,5389,5395,5402,5406,5418,5420,5427,5432,5437,5443,5448,5461,5463,5474,5476,5486,5496,5498,1,0,1,0],l.vocabulary=new se(l.literalNames,l.symbolicNames,[]),l.decisionsToDFA=l._ATN.decisionToState.map((r,t)=>new Qe(r,t));class X3 extends _a{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,e,i,n;return this.entityCollecting&&((e=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&e!==void 0?e:1/0)<=this.caretTokenIndex&&((n=(i=this.tokenStream.LT(1))===null||i===void 0?void 0:i.tokenIndex)!==null&&n!==void 0?n:-1/0)>=this.caretTokenIndex}}class s extends X3{get grammarFileName(){return"FlinkSqlParser.g4"}get literalNames(){return s.literalNames}get symbolicNames(){return s.symbolicNames}get ruleNames(){return s.ruleNames}get serializedATN(){return s._serializedATN}createFailedPredicateException(t,e){return new Vi(this,t,e)}constructor(t){super(t),this.interpreter=new Bi(this,s._ATN,s.decisionsToDFA,new i0)}program(){let t=new Q3(this.context,this.state);this.enterRule(t,0,s.RULE_program);let e;try{this.enterOuterAlt(t,1);{for(this.state=377,this.errorHandler.sync(this),e=this.tokenStream.LA(1);e===8||e===24||e===72||!(e-109&-32)&&1<'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'['","']'","'('","')'","'{'","'}'","','","';'","'@'","'''",`'"'`,"'`'","':'","'*'","'_'","'-'","'+'","'%'","'||'","'--'","'/'","'?'","'=>'"],s.symbolicNames=[null,"SPACE","COMMENT_INPUT","LINE_COMMENT","KW_ABS","KW_ALL","KW_ALLOCATE","KW_ALLOW","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARE","KW_ARRAY","KW_ARRAY_AGG","KW_ARRAY_CONCAT_AGG","KW_ARRAY_MAX_CARDINALITY","KW_AS","KW_ASENSITIVE","KW_ASYMMETRIC","KW_AT","KW_ATOMIC","KW_AUTHORIZATION","KW_AVG","KW_BEGIN","KW_BEGIN_FRAME","KW_BEGIN_PARTITION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BIT","KW_BLOB","KW_BOOLEAN","KW_BOTH","KW_BY","KW_BYTES","KW_CALL","KW_CALLED","KW_CARDINALITY","KW_CASCADED","KW_CASE","KW_CAST","KW_CATALOGS","KW_CEIL","KW_CEILING","KW_CHANGELOG_MODE","KW_CHAR","KW_CHARACTER","KW_CHARACTER_LENGTH","KW_CHAR_LENGTH","KW_CHECK","KW_CLASSIFIER","KW_CLOB","KW_CLOSE","KW_COALESCE","KW_COLLATE","KW_COLLECT","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPUTE","KW_CONDITION","KW_CONNECT","KW_CONSTRAINT","KW_CONTAINS","KW_CONVERT","KW_CORR","KW_CORRESPONDING","KW_COUNT","KW_COVAR_POP","KW_COVAR_SAMP","KW_CREATE","KW_CROSS","KW_CUBE","KW_CUME_DIST","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_DEFAULT_TRANSFORM_GROUP","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_ROW","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE","KW_CURRENT_USER","KW_CURSOR","KW_CYCLE","KW_DATABASES","KW_DATE","KW_DATETIME","KW_DATETIME_DIFF","KW_DATETIME_TRUNC","KW_DATE_DIFF","KW_DATE_TRUNC","KW_DAY","KW_DAYOFWEEK","KW_DAYOFYEAR","KW_DEALLOCATE","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DELETE","KW_DENSE_RANK","KW_DEREF","KW_DESCRIBE","KW_DETERMINISTIC","KW_DISALLOW","KW_DISCONNECT","KW_DISTINCT","KW_DOT","KW_DOUBLE","KW_DROP","KW_DYNAMIC","KW_EACH","KW_ELEMENT","KW_ELSE","KW_EMPTY","KW_END","KW_END_FRAME","KW_END_PARTITION","KW_ENFORCED","KW_EQUALS","KW_ESCAPE","KW_ESTIMATED_COST","KW_EVERY","KW_EXCEPT","KW_EXEC","KW_EXECUTE","KW_EXISTS","KW_EXP","KW_EXPLAIN","KW_EXTEND","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FIRST_VALUE","KW_FLOAT","KW_FLOOR","KW_FOR","KW_FOREIGN","KW_FRAME_ROW","KW_FREE","KW_FRIDAY","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_FUSION","KW_GET","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_GROUP_CONCAT","KW_HAVING","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_ILIKE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDICATOR","KW_INITIAL","KW_INNER","KW_INOUT","KW_INSENSITIVE","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERSECTION","KW_INTERVAL","KW_INTO","KW_IS","KW_JOIN","KW_JSON_ARRAY","KW_JSON_ARRAYAGG","KW_JSON_EXECUTION_PLAN","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_OBJECTAGG","KW_JSON_QUERY","KW_JSON_VALUE","KW_LAG","KW_LANGUAGE","KW_LARGE","KW_LAST_VALUE","KW_LATERAL","KW_LEAD","KW_LEADING","KW_LEFT","KW_LIKE","KW_LIKE_REGEX","KW_LIMIT","KW_LN","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOWER","KW_MATCH","KW_MATCHES","KW_MATCH_NUMBER","KW_MATCH_RECOGNIZE","KW_MAX","KW_MEASURES","KW_MEMBER","KW_MERGE","KW_METADATA","KW_METHOD","KW_MIN","KW_MINUS","KW_MINUTE","KW_MOD","KW_MODIFIES","KW_MODIFY","KW_MODULE","KW_MODULES","KW_MONDAY","KW_MONTH","KW_MORE","KW_MULTISET","KW_NATIONAL","KW_NATURAL","KW_NCHAR","KW_NCLOB","KW_NEW","KW_NEXT","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NTH_VALUE","KW_NTILE","KW_NULL","KW_NULLIF","KW_NUMERIC","KW_OCCURRENCES_REGEX","KW_OCTET_LENGTH","KW_OF","KW_OFFSET","KW_OLD","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPEN","KW_OR","KW_ORDER","KW_ORDINAL","KW_OUT","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_OVERWRITING","KW_PARAMETER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATTERN","KW_PER","KW_PERCENT","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENT_RANK","KW_PERIOD","KW_PERMUTE","KW_PIVOT","KW_PORTION","KW_POSITION","KW_POSITION_REGEX","KW_POWER","KW_PRECEDES","KW_PRECISION","KW_PREPARE","KW_PREV","KW_PRIMARY","KW_PROCEDURE","KW_QUALIFY","KW_QUARTERS","KW_RANGE","KW_RANK","KW_RAW","KW_READS","KW_REAL","KW_RECURSIVE","KW_REF","KW_REFERENCES","KW_REFERENCING","KW_REGR_AVGX","KW_REGR_AVGY","KW_REGR_COUNT","KW_REGR_INTERCEPT","KW_REGR_R2","KW_REGR_SLOPE","KW_REGR_SXX","KW_REGR_SXY","KW_REGR_SYY","KW_RELEASE","KW_RENAME","KW_RESET","KW_RESULT","KW_RETURN","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_ROW_NUMBER","KW_RUNNING","KW_SAFE_CAST","KW_SAFE_OFFSET","KW_SAFE_ORDINAL","KW_SATURDAY","KW_SAVEPOINT","KW_SCALA","KW_SCOPE","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SEEK","KW_SELECT","KW_SENSITIVE","KW_SEPARATOR","KW_SESSION_USER","KW_SET","KW_SHOW","KW_SIMILAR","KW_SKIP","KW_SMALLINT","KW_SOME","KW_SPECIFIC","KW_SPECIFICTYPE","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQRT","KW_START","KW_STATEMENT","KW_STATIC","KW_STATISTICS","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_STREAM","KW_STRING","KW_STRING_AGG","KW_SUBMULTISET","KW_SUBSET","KW_SUBSTRING","KW_SUBSTRING_REGEX","KW_SUCCEEDS","KW_SUM","KW_SUNDAY","KW_SYMMETRIC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_USER","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_THEN","KW_THURSDAY","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMP_DIFF","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_TRUNC","KW_TIMEZONE_HOUR","KW_TIMEZONE_MINUTE","KW_TIME_DIFF","KW_TIME_TRUNC","KW_TINYINT","KW_TO","KW_TRAILING","KW_TRANSLATE","KW_TRANSLATE_REGEX","KW_TRANSLATION","KW_TREAT","KW_TRIGGER","KW_TRIM","KW_TRIM_ARRAY","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TUESDAY","KW_UESCAPE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNNEST","KW_UNPIVOT","KW_UPDATE","KW_UPPER","KW_UPSERT","KW_USE","KW_USER","KW_USING","KW_VALUE","KW_VALUES","KW_VALUE_OF","KW_VARBINARY","KW_VARCHAR","KW_VARYING","KW_VAR_POP","KW_VAR_SAMP","KW_VERSIONING","KW_VIEWS","KW_VIRTUAL","KW_WATERMARK","KW_WATERMARKS","KW_WEDNESDAY","KW_WEEKS","KW_WHEN","KW_WHENEVER","KW_WHERE","KW_WIDTH_BUCKET","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_YEAR","KW_ADD","KW_AFTER","KW_ASC","KW_CASCADE","KW_CATALOG","KW_CENTURY","KW_CONFIG","KW_CONSTRAINTS","KW_CUMULATE","KW_DATA","KW_DATABASE","KW_DAYS","KW_DECADE","KW_DESC","KW_DESCRIPTOR","KW_DIV","KW_ENGINE","KW_EPOCH","KW_EXCLUDING","KW_FILE","KW_FIRST","KW_GENERATED","KW_HOP","KW_HOURS","KW_IGNORE","KW_INCLUDING","KW_JAR","KW_JARS","KW_JAVA","KW_KEY","KW_LAST","KW_LOAD","KW_MAP","KW_MICROSECOND","KW_MILLENNIUM","KW_MILLISECOND","KW_MINUTES","KW_MONTHS","KW_NANOSECOND","KW_NULLS","KW_OPTIONS","KW_PAST","KW_PLAN","KW_PRECEDING","KW_PYTHON","KW_PYTHON_ARCHIVES","KW_PYTHON_DEPENDENCIES","KW_PYTHON_FILES","KW_PYTHON_JAR","KW_PYTHON_PARAMETER","KW_PYTHON_REQUIREMENTS","KW_QUARTER","KW_REMOVE","KW_RESTRICT","KW_SECONDS","KW_SESSION","KW_SETS","KW_SIZE","KW_SLIDE","KW_STEP","KW_TEMPORARY","KW_TIMECOL","KW_TUMBLE","KW_UNLOAD","KW_VIEW","KW_WEEK","KW_YEARS","KW_ZONE","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LS_BRACKET","RS_BRACKET","LR_BRACKET","RR_BRACKET","LB_BRACKET","RB_BRACKET","COMMA","SEMICOLON","AT_SIGN","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","ASTERISK_SIGN","UNDERLINE_SIGN","HYPNEN_SIGN","ADD_SIGN","PENCENT_SIGN","DOUBLE_VERTICAL_SIGN","DOUBLE_HYPNEN_SIGN","SLASH_SIGN","QUESTION_MARK_SIGN","DOUBLE_RIGHT_ARROW","STRING_LITERAL","DIG_LITERAL","REAL_LITERAL","BIT_STRING","ID_LITERAL"],s.ruleNames=["program","singleStatement","sqlStatement","emptyStatement","ddlStatement","dmlStatement","describeStatement","explainStatement","explainDetails","explainDetail","useStatement","useModuleStatement","showStatememt","loadStatement","unloadStatememt","setStatememt","resetStatememt","jarStatememt","dtAddStatement","dtFilePath","createTable","simpleCreateTable","createTableAsSelect","columnOptionDefinition","physicalColumnDefinition","columnNameCreate","columnName","columnNameList","columnType","lengthOneDimension","lengthTwoOptionalDimension","lengthTwoStringDimension","lengthOneTypeDimension","mapTypeDimension","rowTypeDimension","columnConstraint","metadataColumnDefinition","metadataKey","computedColumnDefinition","computedColumnExpression","watermarkDefinition","tableConstraint","constraintName","selfDefinitionClause","partitionDefinition","transformList","transform","transformArgument","likeDefinition","likeOption","createCatalog","createDatabase","createView","createFunction","usingClause","jarFileName","alterTable","renameDefinition","setKeyValueDefinition","addConstraint","dropConstraint","addUnique","notForced","alterView","alterDatabase","alterFunction","dropCatalog","dropTable","dropDatabase","dropView","dropFunction","insertStatement","insertSimpleStatement","insertPartitionDefinition","valuesDefinition","valuesRowDefinition","insertMulStatementCompatibility","insertMulStatement","queryStatement","valuesCaluse","withClause","withItem","withItemName","selectStatement","selectClause","projectItemDefinition","overWindowItem","fromClause","tableExpression","tableReference","tablePrimary","systemTimePeriod","dateTimeExpression","inlineDataValueClause","windoTVFClause","windowTVFExression","windoTVFName","windowTVFParam","timeIntervalParamName","columnDescriptor","joinCondition","whereClause","groupByClause","groupItemDefinition","groupingSets","groupingSetsNotaionName","groupWindowFunction","groupWindowFunctionName","timeAttrColumn","havingClause","windowClause","namedWindow","windowSpec","matchRecognizeClause","orderByCaluse","orderItemDefition","limitClause","partitionByClause","quantifiers","measuresClause","patternDefination","patternVariable","outputMode","afterMatchStrategy","patternVariablesDefination","windowFrame","frameBound","withinClause","expression","booleanExpression","predicate","likePredicate","valueExpression","primaryExpression","functionNameCreate","functionName","functionParam","dereferenceDefinition","correlationName","qualifiedName","timeIntervalExpression","errorCapturingMultiUnitsInterval","multiUnitsInterval","errorCapturingUnitToUnitInterval","unitToUnitInterval","intervalValue","tableAlias","errorCapturingIdentifier","errorCapturingIdentifierExtra","identifierList","identifierSeq","identifier","unquotedIdentifier","quotedIdentifier","whenClause","catalogPath","catalogPathCreate","databasePath","databasePathCreate","tablePathCreate","tablePath","viewPath","viewPathCreate","uid","withOption","ifNotExists","ifExists","tablePropertyList","tableProperty","tablePropertyKey","tablePropertyValue","logicalOperator","comparisonOperator","bitOperator","mathOperator","unaryOperator","constant","timePointLiteral","stringLiteral","decimalLiteral","booleanLiteral","setQuantifier","timePointUnit","timeIntervalUnit","reservedKeywordsUsedAsFuncParam","reservedKeywordsUsedAsFuncName","nonReservedKeywords"],s._serializedATN=[4,1,541,2260,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,1,0,5,0,376,8,0,10,0,12,0,379,9,0,1,0,1,0,1,1,1,1,3,1,385,8,1,1,1,3,1,388,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,402,8,2,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,420,8,4,1,5,1,5,3,5,424,8,5,1,6,1,6,1,6,1,7,1,7,1,7,1,7,3,7,433,8,7,1,7,1,7,1,7,3,7,438,8,7,1,8,1,8,1,8,5,8,443,8,8,10,8,12,8,446,9,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,3,10,456,8,10,1,11,1,11,1,11,1,11,1,11,5,11,463,8,11,10,11,12,11,466,9,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,477,8,12,1,12,3,12,480,8,12,1,12,1,12,1,12,1,12,1,12,3,12,487,8,12,1,12,3,12,490,8,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,498,8,12,1,12,1,12,3,12,502,8,12,1,12,1,12,1,12,3,12,507,8,12,1,12,3,12,510,8,12,1,13,1,13,1,13,1,13,1,13,3,13,517,8,13,1,14,1,14,1,14,1,14,1,15,1,15,3,15,525,8,15,1,16,1,16,3,16,529,8,16,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,3,18,541,8,18,1,18,1,18,1,18,1,18,1,18,1,18,3,18,549,8,18,1,18,1,18,3,18,553,8,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,3,18,585,8,18,1,19,3,19,588,8,19,1,19,4,19,591,8,19,11,19,12,19,592,1,20,1,20,3,20,597,8,20,1,21,1,21,3,21,601,8,21,1,21,1,21,3,21,605,8,21,1,21,1,21,1,21,1,21,1,21,5,21,612,8,21,10,21,12,21,615,9,21,1,21,1,21,3,21,619,8,21,1,21,1,21,3,21,623,8,21,1,21,1,21,3,21,627,8,21,1,21,1,21,1,21,3,21,632,8,21,1,21,3,21,635,8,21,1,21,1,21,3,21,639,8,21,1,22,1,22,1,22,3,22,644,8,22,1,22,1,22,1,22,1,22,3,22,650,8,22,1,23,1,23,1,23,3,23,655,8,23,1,24,1,24,1,24,3,24,660,8,24,1,24,1,24,3,24,664,8,24,1,25,1,25,3,25,668,8,25,1,26,1,26,3,26,672,8,26,1,27,1,27,1,27,1,27,5,27,678,8,27,10,27,12,27,681,9,27,1,27,1,27,1,28,1,28,1,28,3,28,688,8,28,1,28,1,28,3,28,692,8,28,1,28,1,28,3,28,696,8,28,1,28,1,28,3,28,700,8,28,1,28,1,28,3,28,704,8,28,1,28,1,28,3,28,708,8,28,1,28,1,28,3,28,712,8,28,1,28,1,28,3,28,716,8,28,1,28,1,28,3,28,720,8,28,3,28,722,8,28,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,3,30,732,8,30,1,30,1,30,1,31,1,31,1,31,1,31,3,31,740,8,31,1,31,1,31,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,5,34,762,8,34,10,34,12,34,765,9,34,1,34,1,34,1,35,1,35,3,35,771,8,35,1,35,1,35,1,35,1,35,3,35,777,8,35,1,35,3,35,780,8,35,1,35,3,35,783,8,35,1,36,1,36,1,36,1,36,1,36,3,36,790,8,36,1,36,3,36,793,8,36,1,37,1,37,1,38,1,38,1,38,1,38,1,38,3,38,802,8,38,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,3,41,814,8,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,5,45,836,8,45,10,45,12,45,839,9,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,5,46,848,8,46,10,46,12,46,851,9,46,1,46,1,46,3,46,855,8,46,1,47,1,47,3,47,859,8,47,1,48,1,48,1,48,1,48,5,48,865,8,48,10,48,12,48,868,9,48,1,48,3,48,871,8,48,1,49,1,49,1,49,1,49,3,49,877,8,49,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,3,51,887,8,51,1,51,1,51,1,51,3,51,892,8,51,1,51,1,51,1,52,1,52,3,52,898,8,52,1,52,1,52,3,52,902,8,52,1,52,1,52,3,52,906,8,52,1,52,1,52,3,52,910,8,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,3,53,919,8,53,1,53,1,53,3,53,923,8,53,1,53,1,53,1,53,1,53,1,53,3,53,930,8,53,1,53,3,53,933,8,53,1,54,1,54,1,54,1,54,1,54,1,54,5,54,941,8,54,10,54,12,54,944,9,54,1,55,1,55,1,56,1,56,1,56,3,56,951,8,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,959,8,56,1,57,1,57,3,57,963,8,57,1,57,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,3,59,978,8,59,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,3,63,997,8,63,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,3,65,1008,8,65,1,65,1,65,3,65,1012,8,65,1,65,1,65,1,65,1,65,1,65,3,65,1019,8,65,1,66,1,66,1,66,3,66,1024,8,66,1,66,1,66,1,67,1,67,3,67,1030,8,67,1,67,1,67,3,67,1034,8,67,1,67,1,67,1,68,1,68,1,68,3,68,1041,8,68,1,68,1,68,3,68,1045,8,68,1,69,1,69,3,69,1049,8,69,1,69,1,69,3,69,1053,8,69,1,69,1,69,1,70,1,70,1,70,1,70,3,70,1061,8,70,1,70,1,70,3,70,1065,8,70,1,70,1,70,1,71,3,71,1070,8,71,1,71,1,71,1,71,1,71,3,71,1076,8,71,1,72,1,72,1,72,1,72,3,72,1082,8,72,1,72,3,72,1085,8,72,1,72,1,72,3,72,1089,8,72,1,73,1,73,1,73,1,74,1,74,1,74,1,74,5,74,1098,8,74,10,74,12,74,1101,9,74,1,75,1,75,1,75,1,75,5,75,1107,8,75,10,75,12,75,1110,9,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,4,76,1121,8,76,11,76,12,76,1122,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,4,77,1133,8,77,11,77,12,77,1134,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,3,78,1150,8,78,1,78,3,78,1153,8,78,1,78,1,78,3,78,1157,8,78,1,78,3,78,1160,8,78,3,78,1162,8,78,1,78,1,78,1,78,3,78,1167,8,78,1,78,1,78,3,78,1171,8,78,1,78,3,78,1174,8,78,5,78,1176,8,78,10,78,12,78,1179,9,78,1,79,1,79,1,79,1,79,5,79,1185,8,79,10,79,12,79,1188,9,79,1,80,1,80,1,80,1,80,5,80,1194,8,80,10,80,12,80,1197,9,80,1,81,1,81,1,81,1,81,1,81,5,81,1204,8,81,10,81,12,81,1207,9,81,1,81,1,81,3,81,1211,8,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,83,1,83,3,83,1222,8,83,1,83,3,83,1225,8,83,1,83,3,83,1228,8,83,1,83,3,83,1231,8,83,1,83,3,83,1234,8,83,1,83,1,83,1,83,1,83,3,83,1240,8,83,1,84,1,84,3,84,1244,8,84,1,84,1,84,1,84,1,84,5,84,1250,8,84,10,84,12,84,1253,9,84,3,84,1255,8,84,1,85,1,85,1,85,3,85,1260,8,85,1,85,3,85,1263,8,85,1,85,1,85,3,85,1267,8,85,1,85,3,85,1270,8,85,3,85,1272,8,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,3,86,1286,8,86,1,87,1,87,1,87,1,88,1,88,1,88,1,88,5,88,1295,8,88,10,88,12,88,1298,9,88,1,88,1,88,3,88,1302,8,88,1,88,1,88,1,88,1,88,1,88,1,88,3,88,1310,8,88,1,88,3,88,1313,8,88,1,88,3,88,1316,8,88,1,88,1,88,1,88,3,88,1321,8,88,5,88,1323,8,88,10,88,12,88,1326,9,88,1,89,1,89,3,89,1330,8,89,1,90,3,90,1333,8,90,1,90,1,90,3,90,1337,8,90,1,90,1,90,3,90,1341,8,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,5,90,1351,8,90,10,90,12,90,1354,9,90,1,90,1,90,1,90,1,90,3,90,1360,8,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,3,90,1371,8,90,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,5,95,1396,8,95,10,95,12,95,1399,9,95,1,95,1,95,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,3,97,1420,8,97,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,3,100,1433,8,100,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,5,102,1443,8,102,10,102,12,102,1446,9,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,5,103,1456,8,103,10,103,12,103,1459,9,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,5,103,1468,8,103,10,103,12,103,1471,9,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,5,103,1480,8,103,10,103,12,103,1483,9,103,1,103,1,103,1,103,3,103,1488,8,103,1,104,1,104,1,104,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,108,1,108,1,109,1,109,1,109,1,110,1,110,1,110,1,110,5,110,1513,8,110,10,110,12,110,1516,9,110,1,111,1,111,1,111,1,111,1,112,3,112,1523,8,112,1,112,1,112,3,112,1527,8,112,1,112,3,112,1530,8,112,1,112,3,112,1533,8,112,1,112,1,112,1,113,1,113,1,113,3,113,1540,8,113,1,113,3,113,1543,8,113,1,113,3,113,1546,8,113,1,113,3,113,1549,8,113,1,113,3,113,1552,8,113,1,113,3,113,1555,8,113,1,113,1,113,1,113,3,113,1560,8,113,1,113,3,113,1563,8,113,1,114,1,114,1,114,1,114,1,114,5,114,1570,8,114,10,114,12,114,1573,9,114,1,115,1,115,3,115,1577,8,115,1,115,1,115,3,115,1581,8,115,1,116,1,116,1,116,3,116,1586,8,116,1,117,1,117,1,117,1,117,1,117,5,117,1593,8,117,10,117,12,117,1596,9,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,1614,8,118,1,119,1,119,1,119,1,119,5,119,1620,8,119,10,119,12,119,1623,9,119,1,120,1,120,1,120,4,120,1628,8,120,11,120,12,120,1629,1,120,1,120,3,120,1634,8,120,1,121,1,121,3,121,1638,8,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,1648,8,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,1674,8,123,1,124,1,124,1,124,1,124,5,124,1680,8,124,10,124,12,124,1683,9,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,3,125,1694,8,125,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,3,129,1716,8,129,3,129,1718,8,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,3,129,1729,8,129,1,129,5,129,1732,8,129,10,129,12,129,1735,9,129,1,130,3,130,1738,8,130,1,130,1,130,3,130,1742,8,130,1,130,1,130,1,130,1,130,1,130,3,130,1749,8,130,1,130,1,130,1,130,1,130,1,130,5,130,1756,8,130,10,130,12,130,1759,9,130,1,130,1,130,1,130,3,130,1764,8,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,3,130,1777,8,130,1,130,1,130,1,130,1,130,1,130,3,130,1784,8,130,1,130,1,130,1,130,3,130,1789,8,130,1,130,1,130,1,130,1,130,3,130,1795,8,130,1,130,1,130,1,130,1,130,1,130,3,130,1802,8,130,3,130,1804,8,130,1,131,3,131,1807,8,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,5,131,1817,8,131,10,131,12,131,1820,9,131,1,131,1,131,3,131,1824,8,131,1,131,3,131,1827,8,131,1,131,1,131,1,131,1,131,3,131,1833,8,131,3,131,1835,8,131,1,132,1,132,1,132,1,132,3,132,1841,8,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,5,132,1862,8,132,10,132,12,132,1865,9,132,1,133,1,133,1,133,4,133,1870,8,133,11,133,12,133,1871,1,133,1,133,3,133,1876,8,133,1,133,1,133,1,133,1,133,1,133,4,133,1883,8,133,11,133,12,133,1884,1,133,1,133,3,133,1889,8,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,3,133,1905,8,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,3,133,1914,8,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,3,133,1938,8,133,1,133,1,133,1,133,5,133,1943,8,133,10,133,12,133,1946,9,133,3,133,1948,8,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,3,133,1959,8,133,1,133,1,133,1,133,1,133,1,133,5,133,1966,8,133,10,133,12,133,1969,9,133,1,134,1,134,1,135,1,135,3,135,1975,8,135,1,136,1,136,1,136,1,136,3,136,1981,8,136,1,137,1,137,1,138,1,138,1,139,1,139,3,139,1989,8,139,1,140,1,140,1,140,3,140,1994,8,140,1,141,1,141,3,141,1998,8,141,1,142,1,142,1,142,4,142,2003,8,142,11,142,12,142,2004,1,143,1,143,1,143,3,143,2010,8,143,1,144,1,144,1,144,1,144,1,144,1,145,3,145,2018,8,145,1,145,1,145,3,145,2022,8,145,1,146,3,146,2025,8,146,1,146,1,146,3,146,2029,8,146,1,147,1,147,1,147,1,148,1,148,4,148,2036,8,148,11,148,12,148,2037,1,148,3,148,2041,8,148,1,149,1,149,1,149,1,149,1,150,1,150,1,150,5,150,2050,8,150,10,150,12,150,2053,9,150,1,151,1,151,1,151,3,151,2058,8,151,1,152,1,152,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,156,1,156,1,157,1,157,1,157,3,157,2076,8,157,1,158,1,158,1,158,3,158,2081,8,158,1,159,1,159,1,159,3,159,2086,8,159,1,159,1,159,1,159,1,159,1,159,3,159,2093,8,159,3,159,2095,8,159,1,160,1,160,1,160,3,160,2100,8,160,1,160,1,160,1,160,1,160,1,160,3,160,2107,8,160,3,160,2109,8,160,1,161,1,161,1,161,3,161,2114,8,161,1,161,1,161,1,161,1,161,1,161,3,161,2121,8,161,3,161,2123,8,161,1,162,1,162,1,162,3,162,2128,8,162,1,162,1,162,1,162,1,162,1,162,3,162,2135,8,162,3,162,2137,8,162,1,163,1,163,1,163,5,163,2142,8,163,10,163,12,163,2145,9,163,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,5,167,2161,8,167,10,167,12,167,2164,9,167,1,167,1,167,1,168,1,168,3,168,2170,8,168,1,168,3,168,2173,8,168,1,169,1,169,1,169,3,169,2178,8,169,1,170,1,170,1,170,1,170,3,170,2184,8,170,1,171,1,171,1,171,1,171,1,171,1,171,3,171,2192,8,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,3,172,2208,8,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,3,173,2217,8,173,1,174,1,174,1,175,1,175,1,176,1,176,1,176,1,176,3,176,2227,8,176,1,176,1,176,1,176,1,176,1,176,3,176,2234,8,176,1,176,3,176,2237,8,176,1,177,1,177,1,177,1,178,1,178,1,179,1,179,1,180,1,180,1,181,1,181,1,182,1,182,1,183,1,183,1,184,1,184,1,185,1,185,1,186,1,186,1,186,1,2143,5,156,176,258,264,266,187,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,0,45,2,0,109,109,450,450,3,0,45,45,128,128,188,188,4,0,42,42,90,90,422,422,464,464,2,0,441,441,447,447,2,0,151,151,170,170,2,0,437,437,489,489,2,0,482,485,487,487,3,0,32,32,91,91,244,244,11,0,28,29,35,35,46,46,92,92,178,179,344,344,360,360,378,378,381,381,387,387,416,417,2,0,433,433,435,435,4,0,101,102,115,115,144,144,246,246,2,0,13,13,231,231,2,0,455,455,462,462,3,0,5,5,270,270,444,444,3,0,266,266,455,455,462,462,3,0,425,425,458,458,477,477,3,0,330,330,465,465,481,481,2,0,440,440,490,490,2,0,183,183,265,265,3,0,130,130,180,180,402,402,4,0,152,152,174,174,201,201,317,317,3,0,445,445,459,459,499,499,4,0,250,250,446,446,494,496,498,498,2,0,74,74,320,320,3,0,459,459,492,492,499,499,2,0,439,439,450,450,2,0,457,457,467,467,4,0,140,140,244,244,397,397,404,404,2,0,19,19,369,369,2,0,5,5,11,11,2,0,509,509,529,530,4,0,452,452,527,527,531,531,534,534,2,0,529,530,532,532,1,0,529,530,1,0,538,539,2,0,538,538,541,541,4,0,452,452,527,527,529,531,533,534,3,0,241,241,508,509,529,530,2,0,140,140,397,397,2,0,5,5,113,113,10,0,97,97,165,165,222,222,229,229,334,334,436,436,470,470,472,472,488,488,502,502,15,0,97,97,165,165,222,222,229,229,334,334,427,427,436,436,442,442,448,449,454,454,460,460,470,475,488,488,491,491,502,503,11,0,5,5,13,13,33,33,78,78,84,85,113,113,200,200,207,208,389,389,413,413,527,527,55,0,4,4,13,13,23,23,38,38,41,41,43,44,54,54,56,56,69,69,75,75,78,78,84,85,91,91,98,99,107,107,119,119,134,134,139,139,143,143,145,145,160,160,165,165,167,167,194,194,197,197,199,199,201,201,205,205,207,209,214,214,220,220,222,223,229,229,243,243,245,245,264,264,276,276,281,281,283,283,293,293,317,317,321,323,334,334,357,358,364,364,367,367,378,380,395,395,398,399,408,408,419,420,436,436,469,469,488,488,502,502,1,0,437,504,2460,0,377,1,0,0,0,2,387,1,0,0,0,4,401,1,0,0,0,6,403,1,0,0,0,8,419,1,0,0,0,10,423,1,0,0,0,12,425,1,0,0,0,14,428,1,0,0,0,16,439,1,0,0,0,18,447,1,0,0,0,20,455,1,0,0,0,22,457,1,0,0,0,24,509,1,0,0,0,26,511,1,0,0,0,28,518,1,0,0,0,30,522,1,0,0,0,32,526,1,0,0,0,34,530,1,0,0,0,36,584,1,0,0,0,38,590,1,0,0,0,40,596,1,0,0,0,42,598,1,0,0,0,44,640,1,0,0,0,46,654,1,0,0,0,48,656,1,0,0,0,50,667,1,0,0,0,52,671,1,0,0,0,54,673,1,0,0,0,56,721,1,0,0,0,58,723,1,0,0,0,60,727,1,0,0,0,62,735,1,0,0,0,64,743,1,0,0,0,66,747,1,0,0,0,68,754,1,0,0,0,70,782,1,0,0,0,72,784,1,0,0,0,74,794,1,0,0,0,76,796,1,0,0,0,78,803,1,0,0,0,80,805,1,0,0,0,82,813,1,0,0,0,84,821,1,0,0,0,86,823,1,0,0,0,88,827,1,0,0,0,90,831,1,0,0,0,92,854,1,0,0,0,94,858,1,0,0,0,96,860,1,0,0,0,98,876,1,0,0,0,100,878,1,0,0,0,102,883,1,0,0,0,104,895,1,0,0,0,106,914,1,0,0,0,108,934,1,0,0,0,110,945,1,0,0,0,112,947,1,0,0,0,114,960,1,0,0,0,116,967,1,0,0,0,118,970,1,0,0,0,120,979,1,0,0,0,122,983,1,0,0,0,124,987,1,0,0,0,126,990,1,0,0,0,128,998,1,0,0,0,130,1003,1,0,0,0,132,1020,1,0,0,0,134,1027,1,0,0,0,136,1037,1,0,0,0,138,1046,1,0,0,0,140,1056,1,0,0,0,142,1075,1,0,0,0,144,1077,1,0,0,0,146,1090,1,0,0,0,148,1093,1,0,0,0,150,1102,1,0,0,0,152,1113,1,0,0,0,154,1126,1,0,0,0,156,1161,1,0,0,0,158,1180,1,0,0,0,160,1189,1,0,0,0,162,1198,1,0,0,0,164,1217,1,0,0,0,166,1239,1,0,0,0,168,1241,1,0,0,0,170,1271,1,0,0,0,172,1285,1,0,0,0,174,1287,1,0,0,0,176,1301,1,0,0,0,178,1327,1,0,0,0,180,1370,1,0,0,0,182,1372,1,0,0,0,184,1378,1,0,0,0,186,1380,1,0,0,0,188,1385,1,0,0,0,190,1390,1,0,0,0,192,1402,1,0,0,0,194,1419,1,0,0,0,196,1421,1,0,0,0,198,1423,1,0,0,0,200,1432,1,0,0,0,202,1434,1,0,0,0,204,1437,1,0,0,0,206,1487,1,0,0,0,208,1489,1,0,0,0,210,1492,1,0,0,0,212,1494,1,0,0,0,214,1501,1,0,0,0,216,1503,1,0,0,0,218,1505,1,0,0,0,220,1508,1,0,0,0,222,1517,1,0,0,0,224,1522,1,0,0,0,226,1536,1,0,0,0,228,1564,1,0,0,0,230,1574,1,0,0,0,232,1582,1,0,0,0,234,1587,1,0,0,0,236,1613,1,0,0,0,238,1615,1,0,0,0,240,1624,1,0,0,0,242,1635,1,0,0,0,244,1647,1,0,0,0,246,1673,1,0,0,0,248,1675,1,0,0,0,250,1693,1,0,0,0,252,1695,1,0,0,0,254,1700,1,0,0,0,256,1703,1,0,0,0,258,1717,1,0,0,0,260,1803,1,0,0,0,262,1834,1,0,0,0,264,1840,1,0,0,0,266,1958,1,0,0,0,268,1970,1,0,0,0,270,1974,1,0,0,0,272,1980,1,0,0,0,274,1982,1,0,0,0,276,1984,1,0,0,0,278,1988,1,0,0,0,280,1990,1,0,0,0,282,1995,1,0,0,0,284,2002,1,0,0,0,286,2006,1,0,0,0,288,2011,1,0,0,0,290,2021,1,0,0,0,292,2024,1,0,0,0,294,2030,1,0,0,0,296,2040,1,0,0,0,298,2042,1,0,0,0,300,2046,1,0,0,0,302,2057,1,0,0,0,304,2059,1,0,0,0,306,2061,1,0,0,0,308,2063,1,0,0,0,310,2068,1,0,0,0,312,2070,1,0,0,0,314,2072,1,0,0,0,316,2077,1,0,0,0,318,2094,1,0,0,0,320,2108,1,0,0,0,322,2122,1,0,0,0,324,2136,1,0,0,0,326,2138,1,0,0,0,328,2146,1,0,0,0,330,2149,1,0,0,0,332,2153,1,0,0,0,334,2156,1,0,0,0,336,2167,1,0,0,0,338,2177,1,0,0,0,340,2183,1,0,0,0,342,2191,1,0,0,0,344,2207,1,0,0,0,346,2216,1,0,0,0,348,2218,1,0,0,0,350,2220,1,0,0,0,352,2236,1,0,0,0,354,2238,1,0,0,0,356,2241,1,0,0,0,358,2243,1,0,0,0,360,2245,1,0,0,0,362,2247,1,0,0,0,364,2249,1,0,0,0,366,2251,1,0,0,0,368,2253,1,0,0,0,370,2255,1,0,0,0,372,2257,1,0,0,0,374,376,3,2,1,0,375,374,1,0,0,0,376,379,1,0,0,0,377,375,1,0,0,0,377,378,1,0,0,0,378,380,1,0,0,0,379,377,1,0,0,0,380,381,5,0,0,1,381,1,1,0,0,0,382,384,3,4,2,0,383,385,5,521,0,0,384,383,1,0,0,0,384,385,1,0,0,0,385,388,1,0,0,0,386,388,3,6,3,0,387,382,1,0,0,0,387,386,1,0,0,0,388,3,1,0,0,0,389,402,3,8,4,0,390,402,3,10,5,0,391,402,3,12,6,0,392,402,3,14,7,0,393,402,3,20,10,0,394,402,3,24,12,0,395,402,3,26,13,0,396,402,3,28,14,0,397,402,3,30,15,0,398,402,3,32,16,0,399,402,3,34,17,0,400,402,3,36,18,0,401,389,1,0,0,0,401,390,1,0,0,0,401,391,1,0,0,0,401,392,1,0,0,0,401,393,1,0,0,0,401,394,1,0,0,0,401,395,1,0,0,0,401,396,1,0,0,0,401,397,1,0,0,0,401,398,1,0,0,0,401,399,1,0,0,0,401,400,1,0,0,0,402,5,1,0,0,0,403,404,5,521,0,0,404,7,1,0,0,0,405,420,3,40,20,0,406,420,3,102,51,0,407,420,3,104,52,0,408,420,3,106,53,0,409,420,3,100,50,0,410,420,3,112,56,0,411,420,3,126,63,0,412,420,3,128,64,0,413,420,3,130,65,0,414,420,3,132,66,0,415,420,3,134,67,0,416,420,3,136,68,0,417,420,3,138,69,0,418,420,3,140,70,0,419,405,1,0,0,0,419,406,1,0,0,0,419,407,1,0,0,0,419,408,1,0,0,0,419,409,1,0,0,0,419,410,1,0,0,0,419,411,1,0,0,0,419,412,1,0,0,0,419,413,1,0,0,0,419,414,1,0,0,0,419,415,1,0,0,0,419,416,1,0,0,0,419,417,1,0,0,0,419,418,1,0,0,0,420,9,1,0,0,0,421,424,3,156,78,0,422,424,3,142,71,0,423,421,1,0,0,0,423,422,1,0,0,0,424,11,1,0,0,0,425,426,7,0,0,0,426,427,3,320,160,0,427,13,1,0,0,0,428,432,5,135,0,0,429,433,3,16,8,0,430,431,5,479,0,0,431,433,5,146,0,0,432,429,1,0,0,0,432,430,1,0,0,0,432,433,1,0,0,0,433,437,1,0,0,0,434,438,3,10,5,0,435,438,3,144,72,0,436,438,3,154,77,0,437,434,1,0,0,0,437,435,1,0,0,0,437,436,1,0,0,0,438,15,1,0,0,0,439,444,3,18,9,0,440,441,5,520,0,0,441,443,3,18,9,0,442,440,1,0,0,0,443,446,1,0,0,0,444,442,1,0,0,0,444,445,1,0,0,0,445,17,1,0,0,0,446,444,1,0,0,0,447,448,7,1,0,0,448,19,1,0,0,0,449,450,5,410,0,0,450,451,5,441,0,0,451,456,3,310,155,0,452,453,5,410,0,0,453,456,3,314,157,0,454,456,3,22,11,0,455,449,1,0,0,0,455,452,1,0,0,0,455,454,1,0,0,0,456,21,1,0,0,0,457,458,5,410,0,0,458,459,5,227,0,0,459,464,3,326,163,0,460,461,5,520,0,0,461,463,3,326,163,0,462,460,1,0,0,0,463,466,1,0,0,0,464,462,1,0,0,0,464,465,1,0,0,0,465,23,1,0,0,0,466,464,1,0,0,0,467,468,5,341,0,0,468,510,7,2,0,0,469,470,5,341,0,0,470,471,5,76,0,0,471,510,7,3,0,0,472,473,5,341,0,0,473,476,5,374,0,0,474,475,7,4,0,0,475,477,3,314,157,0,476,474,1,0,0,0,476,477,1,0,0,0,477,479,1,0,0,0,478,480,3,262,131,0,479,478,1,0,0,0,479,480,1,0,0,0,480,510,1,0,0,0,481,482,5,341,0,0,482,483,5,58,0,0,483,486,7,4,0,0,484,487,3,322,161,0,485,487,3,320,160,0,486,484,1,0,0,0,486,485,1,0,0,0,487,489,1,0,0,0,488,490,3,262,131,0,489,488,1,0,0,0,489,490,1,0,0,0,490,510,1,0,0,0,491,492,5,341,0,0,492,497,5,72,0,0,493,494,5,373,0,0,494,498,3,320,160,0,495,496,5,501,0,0,496,498,3,322,161,0,497,493,1,0,0,0,497,495,1,0,0,0,498,510,1,0,0,0,499,501,5,341,0,0,500,502,5,411,0,0,501,500,1,0,0,0,501,502,1,0,0,0,502,503,1,0,0,0,503,510,5,154,0,0,504,506,5,341,0,0,505,507,5,152,0,0,506,505,1,0,0,0,506,507,1,0,0,0,507,508,1,0,0,0,508,510,5,227,0,0,509,467,1,0,0,0,509,469,1,0,0,0,509,472,1,0,0,0,509,481,1,0,0,0,509,491,1,0,0,0,509,499,1,0,0,0,509,504,1,0,0,0,510,25,1,0,0,0,511,512,5,468,0,0,512,513,5,226,0,0,513,516,3,326,163,0,514,515,5,433,0,0,515,517,3,334,167,0,516,514,1,0,0,0,516,517,1,0,0,0,517,27,1,0,0,0,518,519,5,500,0,0,519,520,5,226,0,0,520,521,3,326,163,0,521,29,1,0,0,0,522,524,5,340,0,0,523,525,3,336,168,0,524,523,1,0,0,0,524,525,1,0,0,0,525,31,1,0,0,0,526,528,5,312,0,0,527,529,3,338,169,0,528,527,1,0,0,0,528,529,1,0,0,0,529,33,1,0,0,0,530,531,7,5,0,0,531,532,5,463,0,0,532,533,3,110,55,0,533,35,1,0,0,0,534,535,5,437,0,0,535,536,5,463,0,0,536,537,5,433,0,0,537,540,3,38,19,0,538,539,5,17,0,0,539,541,3,326,163,0,540,538,1,0,0,0,540,541,1,0,0,0,541,585,1,0,0,0,542,543,5,437,0,0,543,544,5,456,0,0,544,545,5,433,0,0,545,548,3,38,19,0,546,547,5,17,0,0,547,549,3,326,163,0,548,546,1,0,0,0,548,549,1,0,0,0,549,552,1,0,0,0,550,551,5,311,0,0,551,553,3,326,163,0,552,550,1,0,0,0,552,553,1,0,0,0,553,585,1,0,0,0,554,555,5,437,0,0,555,556,7,6,0,0,556,557,5,433,0,0,557,558,3,38,19,0,558,559,5,311,0,0,559,560,3,326,163,0,560,585,1,0,0,0,561,562,5,437,0,0,562,563,5,486,0,0,563,585,3,38,19,0,564,565,5,437,0,0,565,566,5,453,0,0,566,567,5,456,0,0,567,568,5,433,0,0,568,569,3,38,19,0,569,570,5,311,0,0,570,571,3,326,163,0,571,572,5,466,0,0,572,573,3,326,163,0,573,585,1,0,0,0,574,575,5,437,0,0,575,576,5,443,0,0,576,577,5,456,0,0,577,578,5,433,0,0,578,579,3,38,19,0,579,580,5,146,0,0,580,581,3,326,163,0,581,582,5,17,0,0,582,583,3,326,163,0,583,585,1,0,0,0,584,534,1,0,0,0,584,542,1,0,0,0,584,554,1,0,0,0,584,561,1,0,0,0,584,564,1,0,0,0,584,574,1,0,0,0,585,37,1,0,0,0,586,588,5,534,0,0,587,586,1,0,0,0,587,588,1,0,0,0,588,589,1,0,0,0,589,591,3,326,163,0,590,587,1,0,0,0,591,592,1,0,0,0,592,590,1,0,0,0,592,593,1,0,0,0,593,39,1,0,0,0,594,597,3,42,21,0,595,597,3,44,22,0,596,594,1,0,0,0,596,595,1,0,0,0,597,41,1,0,0,0,598,600,5,72,0,0,599,601,5,497,0,0,600,599,1,0,0,0,600,601,1,0,0,0,601,602,1,0,0,0,602,604,5,373,0,0,603,605,3,330,165,0,604,603,1,0,0,0,604,605,1,0,0,0,605,606,1,0,0,0,606,607,3,318,159,0,607,608,5,516,0,0,608,613,3,46,23,0,609,610,5,520,0,0,610,612,3,46,23,0,611,609,1,0,0,0,612,615,1,0,0,0,613,611,1,0,0,0,613,614,1,0,0,0,614,618,1,0,0,0,615,613,1,0,0,0,616,617,5,520,0,0,617,619,3,80,40,0,618,616,1,0,0,0,618,619,1,0,0,0,619,622,1,0,0,0,620,621,5,520,0,0,621,623,3,82,41,0,622,620,1,0,0,0,622,623,1,0,0,0,623,626,1,0,0,0,624,625,5,520,0,0,625,627,3,86,43,0,626,624,1,0,0,0,626,627,1,0,0,0,627,628,1,0,0,0,628,631,5,517,0,0,629,630,5,59,0,0,630,632,5,537,0,0,631,629,1,0,0,0,631,632,1,0,0,0,632,634,1,0,0,0,633,635,3,88,44,0,634,633,1,0,0,0,634,635,1,0,0,0,635,636,1,0,0,0,636,638,3,328,164,0,637,639,3,96,48,0,638,637,1,0,0,0,638,639,1,0,0,0,639,43,1,0,0,0,640,641,5,72,0,0,641,643,5,373,0,0,642,644,3,330,165,0,643,642,1,0,0,0,643,644,1,0,0,0,644,645,1,0,0,0,645,646,3,318,159,0,646,649,3,328,164,0,647,648,5,17,0,0,648,650,3,156,78,0,649,647,1,0,0,0,649,650,1,0,0,0,650,45,1,0,0,0,651,655,3,48,24,0,652,655,3,72,36,0,653,655,3,76,38,0,654,651,1,0,0,0,654,652,1,0,0,0,654,653,1,0,0,0,655,47,1,0,0,0,656,657,3,50,25,0,657,659,3,56,28,0,658,660,3,70,35,0,659,658,1,0,0,0,659,660,1,0,0,0,660,663,1,0,0,0,661,662,5,59,0,0,662,664,5,537,0,0,663,661,1,0,0,0,663,664,1,0,0,0,664,49,1,0,0,0,665,668,3,326,163,0,666,668,3,256,128,0,667,665,1,0,0,0,667,666,1,0,0,0,668,51,1,0,0,0,669,672,3,326,163,0,670,672,4,26,0,0,671,669,1,0,0,0,671,670,1,0,0,0,672,53,1,0,0,0,673,674,5,516,0,0,674,679,3,52,26,0,675,676,5,520,0,0,676,678,3,52,26,0,677,675,1,0,0,0,678,681,1,0,0,0,679,677,1,0,0,0,679,680,1,0,0,0,680,682,1,0,0,0,681,679,1,0,0,0,682,683,5,517,0,0,683,55,1,0,0,0,684,722,7,7,0,0,685,687,7,8,0,0,686,688,3,58,29,0,687,686,1,0,0,0,687,688,1,0,0,0,688,722,1,0,0,0,689,691,5,379,0,0,690,692,3,58,29,0,691,690,1,0,0,0,691,692,1,0,0,0,692,699,1,0,0,0,693,695,7,9,0,0,694,696,5,206,0,0,695,694,1,0,0,0,695,696,1,0,0,0,696,697,1,0,0,0,697,698,5,378,0,0,698,700,5,504,0,0,699,693,1,0,0,0,699,700,1,0,0,0,700,722,1,0,0,0,701,703,7,10,0,0,702,704,3,60,30,0,703,702,1,0,0,0,703,704,1,0,0,0,704,722,1,0,0,0,705,707,7,11,0,0,706,708,3,64,32,0,707,706,1,0,0,0,707,708,1,0,0,0,708,722,1,0,0,0,709,711,5,469,0,0,710,712,3,66,33,0,711,710,1,0,0,0,711,712,1,0,0,0,712,722,1,0,0,0,713,715,5,321,0,0,714,716,3,68,34,0,715,714,1,0,0,0,715,716,1,0,0,0,716,722,1,0,0,0,717,719,5,294,0,0,718,720,3,62,31,0,719,718,1,0,0,0,719,720,1,0,0,0,720,722,1,0,0,0,721,684,1,0,0,0,721,685,1,0,0,0,721,689,1,0,0,0,721,701,1,0,0,0,721,705,1,0,0,0,721,709,1,0,0,0,721,713,1,0,0,0,721,717,1,0,0,0,722,57,1,0,0,0,723,724,5,516,0,0,724,725,3,358,179,0,725,726,5,517,0,0,726,59,1,0,0,0,727,728,5,516,0,0,728,731,3,358,179,0,729,730,5,520,0,0,730,732,3,358,179,0,731,729,1,0,0,0,731,732,1,0,0,0,732,733,1,0,0,0,733,734,5,517,0,0,734,61,1,0,0,0,735,736,5,516,0,0,736,739,3,356,178,0,737,738,5,520,0,0,738,740,3,356,178,0,739,737,1,0,0,0,739,740,1,0,0,0,740,741,1,0,0,0,741,742,5,517,0,0,742,63,1,0,0,0,743,744,5,507,0,0,744,745,3,56,28,0,745,746,5,506,0,0,746,65,1,0,0,0,747,748,5,507,0,0,748,749,3,56,28,0,749,750,5,520,0,0,750,751,3,56,28,0,751,752,1,0,0,0,752,753,5,506,0,0,753,67,1,0,0,0,754,755,5,507,0,0,755,756,3,52,26,0,756,763,3,56,28,0,757,758,5,520,0,0,758,759,3,52,26,0,759,760,3,56,28,0,760,762,1,0,0,0,761,757,1,0,0,0,762,765,1,0,0,0,763,761,1,0,0,0,763,764,1,0,0,0,764,766,1,0,0,0,765,763,1,0,0,0,766,767,5,506,0,0,767,69,1,0,0,0,768,769,5,64,0,0,769,771,3,84,42,0,770,768,1,0,0,0,770,771,1,0,0,0,771,772,1,0,0,0,772,773,5,288,0,0,773,776,5,466,0,0,774,775,5,241,0,0,775,777,5,125,0,0,776,774,1,0,0,0,776,777,1,0,0,0,777,783,1,0,0,0,778,780,5,241,0,0,779,778,1,0,0,0,779,780,1,0,0,0,780,781,1,0,0,0,781,783,5,244,0,0,782,770,1,0,0,0,782,779,1,0,0,0,783,71,1,0,0,0,784,785,3,50,25,0,785,786,3,56,28,0,786,789,5,218,0,0,787,788,5,151,0,0,788,790,3,74,37,0,789,787,1,0,0,0,789,790,1,0,0,0,790,792,1,0,0,0,791,793,5,423,0,0,792,791,1,0,0,0,792,793,1,0,0,0,793,73,1,0,0,0,794,795,5,537,0,0,795,75,1,0,0,0,796,797,3,50,25,0,797,798,5,17,0,0,798,801,3,78,39,0,799,800,5,59,0,0,800,802,5,537,0,0,801,799,1,0,0,0,801,802,1,0,0,0,802,77,1,0,0,0,803,804,3,256,128,0,804,79,1,0,0,0,805,806,5,424,0,0,806,807,5,146,0,0,807,808,3,52,26,0,808,809,5,17,0,0,809,810,3,256,128,0,810,81,1,0,0,0,811,812,5,64,0,0,812,814,3,84,42,0,813,811,1,0,0,0,813,814,1,0,0,0,814,815,1,0,0,0,815,816,5,288,0,0,816,817,5,466,0,0,817,818,3,54,27,0,818,819,5,241,0,0,819,820,5,125,0,0,820,83,1,0,0,0,821,822,3,302,151,0,822,85,1,0,0,0,823,824,5,277,0,0,824,825,5,146,0,0,825,826,5,371,0,0,826,87,1,0,0,0,827,828,5,269,0,0,828,829,5,34,0,0,829,830,3,90,45,0,830,89,1,0,0,0,831,832,5,516,0,0,832,837,3,92,46,0,833,834,5,520,0,0,834,836,3,92,46,0,835,833,1,0,0,0,836,839,1,0,0,0,837,835,1,0,0,0,837,838,1,0,0,0,838,840,1,0,0,0,839,837,1,0,0,0,840,841,5,517,0,0,841,91,1,0,0,0,842,855,3,52,26,0,843,844,5,516,0,0,844,849,3,94,47,0,845,846,5,520,0,0,846,848,3,94,47,0,847,845,1,0,0,0,848,851,1,0,0,0,849,847,1,0,0,0,849,850,1,0,0,0,850,852,1,0,0,0,851,849,1,0,0,0,852,853,5,517,0,0,853,855,1,0,0,0,854,842,1,0,0,0,854,843,1,0,0,0,855,93,1,0,0,0,856,859,3,278,139,0,857,859,3,352,176,0,858,856,1,0,0,0,858,857,1,0,0,0,859,95,1,0,0,0,860,861,5,202,0,0,861,870,3,320,160,0,862,866,5,516,0,0,863,865,3,98,49,0,864,863,1,0,0,0,865,868,1,0,0,0,866,864,1,0,0,0,866,867,1,0,0,0,867,869,1,0,0,0,868,866,1,0,0,0,869,871,5,517,0,0,870,862,1,0,0,0,870,871,1,0,0,0,871,97,1,0,0,0,872,873,7,12,0,0,873,877,7,13,0,0,874,875,7,14,0,0,875,877,7,15,0,0,876,872,1,0,0,0,876,874,1,0,0,0,877,99,1,0,0,0,878,879,5,72,0,0,879,880,5,441,0,0,880,881,3,312,156,0,881,882,3,328,164,0,882,101,1,0,0,0,883,884,5,72,0,0,884,886,5,447,0,0,885,887,3,330,165,0,886,885,1,0,0,0,886,887,1,0,0,0,887,888,1,0,0,0,888,891,3,316,158,0,889,890,5,59,0,0,890,892,5,537,0,0,891,889,1,0,0,0,891,892,1,0,0,0,892,893,1,0,0,0,893,894,3,328,164,0,894,103,1,0,0,0,895,897,5,72,0,0,896,898,5,497,0,0,897,896,1,0,0,0,897,898,1,0,0,0,898,899,1,0,0,0,899,901,5,501,0,0,900,902,3,330,165,0,901,900,1,0,0,0,901,902,1,0,0,0,902,903,1,0,0,0,903,905,3,324,162,0,904,906,3,54,27,0,905,904,1,0,0,0,905,906,1,0,0,0,906,909,1,0,0,0,907,908,5,59,0,0,908,910,5,537,0,0,909,907,1,0,0,0,909,910,1,0,0,0,910,911,1,0,0,0,911,912,5,17,0,0,912,913,3,156,78,0,913,105,1,0,0,0,914,918,5,72,0,0,915,919,5,497,0,0,916,917,5,497,0,0,917,919,5,370,0,0,918,915,1,0,0,0,918,916,1,0,0,0,918,919,1,0,0,0,919,920,1,0,0,0,920,922,5,153,0,0,921,923,3,330,165,0,922,921,1,0,0,0,922,923,1,0,0,0,923,924,1,0,0,0,924,925,3,268,134,0,925,926,5,17,0,0,926,929,3,302,151,0,927,928,5,195,0,0,928,930,7,16,0,0,929,927,1,0,0,0,929,930,1,0,0,0,930,932,1,0,0,0,931,933,3,108,54,0,932,931,1,0,0,0,932,933,1,0,0,0,933,107,1,0,0,0,934,935,5,412,0,0,935,936,5,463,0,0,936,942,3,110,55,0,937,938,5,520,0,0,938,939,5,463,0,0,939,941,3,110,55,0,940,937,1,0,0,0,941,944,1,0,0,0,942,940,1,0,0,0,942,943,1,0,0,0,943,109,1,0,0,0,944,942,1,0,0,0,945,946,5,537,0,0,946,111,1,0,0,0,947,948,5,8,0,0,948,950,5,373,0,0,949,951,3,332,166,0,950,949,1,0,0,0,950,951,1,0,0,0,951,952,1,0,0,0,952,958,3,320,160,0,953,959,3,114,57,0,954,959,3,116,58,0,955,959,3,118,59,0,956,959,3,120,60,0,957,959,3,122,61,0,958,953,1,0,0,0,958,954,1,0,0,0,958,955,1,0,0,0,958,956,1,0,0,0,958,957,1,0,0,0,959,113,1,0,0,0,960,962,5,311,0,0,961,963,3,326,163,0,962,961,1,0,0,0,962,963,1,0,0,0,963,964,1,0,0,0,964,965,5,388,0,0,965,966,3,326,163,0,966,115,1,0,0,0,967,968,5,340,0,0,968,969,3,334,167,0,969,117,1,0,0,0,970,971,5,437,0,0,971,972,5,64,0,0,972,973,3,84,42,0,973,974,5,288,0,0,974,975,5,466,0,0,975,977,3,54,27,0,976,978,3,124,62,0,977,976,1,0,0,0,977,978,1,0,0,0,978,119,1,0,0,0,979,980,5,116,0,0,980,981,5,64,0,0,981,982,3,84,42,0,982,121,1,0,0,0,983,984,5,437,0,0,984,985,5,403,0,0,985,986,3,54,27,0,986,123,1,0,0,0,987,988,5,241,0,0,988,989,5,125,0,0,989,125,1,0,0,0,990,991,5,8,0,0,991,992,5,501,0,0,992,996,3,322,161,0,993,997,3,114,57,0,994,995,5,17,0,0,995,997,3,156,78,0,996,993,1,0,0,0,996,994,1,0,0,0,997,127,1,0,0,0,998,999,5,8,0,0,999,1e3,5,447,0,0,1e3,1001,3,314,157,0,1001,1002,3,116,58,0,1002,129,1,0,0,0,1003,1007,5,8,0,0,1004,1008,5,497,0,0,1005,1006,5,497,0,0,1006,1008,5,370,0,0,1007,1004,1,0,0,0,1007,1005,1,0,0,0,1007,1008,1,0,0,0,1008,1009,1,0,0,0,1009,1011,5,153,0,0,1010,1012,3,332,166,0,1011,1010,1,0,0,0,1011,1012,1,0,0,0,1012,1013,1,0,0,0,1013,1014,3,270,135,0,1014,1015,5,17,0,0,1015,1018,3,302,151,0,1016,1017,5,195,0,0,1017,1019,7,16,0,0,1018,1016,1,0,0,0,1018,1019,1,0,0,0,1019,131,1,0,0,0,1020,1021,5,116,0,0,1021,1023,5,441,0,0,1022,1024,3,332,166,0,1023,1022,1,0,0,0,1023,1024,1,0,0,0,1024,1025,1,0,0,0,1025,1026,3,310,155,0,1026,133,1,0,0,0,1027,1029,5,116,0,0,1028,1030,5,497,0,0,1029,1028,1,0,0,0,1029,1030,1,0,0,0,1030,1031,1,0,0,0,1031,1033,5,373,0,0,1032,1034,3,332,166,0,1033,1032,1,0,0,0,1033,1034,1,0,0,0,1034,1035,1,0,0,0,1035,1036,3,320,160,0,1036,135,1,0,0,0,1037,1038,5,116,0,0,1038,1040,5,447,0,0,1039,1041,3,332,166,0,1040,1039,1,0,0,0,1040,1041,1,0,0,0,1041,1042,1,0,0,0,1042,1044,3,314,157,0,1043,1045,7,17,0,0,1044,1043,1,0,0,0,1044,1045,1,0,0,0,1045,137,1,0,0,0,1046,1048,5,116,0,0,1047,1049,5,497,0,0,1048,1047,1,0,0,0,1048,1049,1,0,0,0,1049,1050,1,0,0,0,1050,1052,5,501,0,0,1051,1053,3,332,166,0,1052,1051,1,0,0,0,1052,1053,1,0,0,0,1053,1054,1,0,0,0,1054,1055,3,322,161,0,1055,139,1,0,0,0,1056,1060,5,116,0,0,1057,1061,5,497,0,0,1058,1059,5,497,0,0,1059,1061,5,370,0,0,1060,1057,1,0,0,0,1060,1058,1,0,0,0,1060,1061,1,0,0,0,1061,1062,1,0,0,0,1062,1064,5,153,0,0,1063,1065,3,332,166,0,1064,1063,1,0,0,0,1064,1065,1,0,0,0,1065,1066,1,0,0,0,1066,1067,3,270,135,0,1067,141,1,0,0,0,1068,1070,5,132,0,0,1069,1068,1,0,0,0,1069,1070,1,0,0,0,1070,1071,1,0,0,0,1071,1076,3,144,72,0,1072,1076,3,152,76,0,1073,1074,5,132,0,0,1074,1076,3,154,77,0,1075,1069,1,0,0,0,1075,1072,1,0,0,0,1075,1073,1,0,0,0,1076,143,1,0,0,0,1077,1078,5,177,0,0,1078,1079,7,18,0,0,1079,1088,3,320,160,0,1080,1082,3,146,73,0,1081,1080,1,0,0,0,1081,1082,1,0,0,0,1082,1084,1,0,0,0,1083,1085,3,54,27,0,1084,1083,1,0,0,0,1084,1085,1,0,0,0,1085,1086,1,0,0,0,1086,1089,3,156,78,0,1087,1089,3,148,74,0,1088,1081,1,0,0,0,1088,1087,1,0,0,0,1089,145,1,0,0,0,1090,1091,5,268,0,0,1091,1092,3,334,167,0,1092,147,1,0,0,0,1093,1094,5,414,0,0,1094,1099,3,150,75,0,1095,1096,5,520,0,0,1096,1098,3,150,75,0,1097,1095,1,0,0,0,1098,1101,1,0,0,0,1099,1097,1,0,0,0,1099,1100,1,0,0,0,1100,149,1,0,0,0,1101,1099,1,0,0,0,1102,1103,5,516,0,0,1103,1108,3,352,176,0,1104,1105,5,520,0,0,1105,1107,3,352,176,0,1106,1104,1,0,0,0,1107,1110,1,0,0,0,1108,1106,1,0,0,0,1108,1109,1,0,0,0,1109,1111,1,0,0,0,1110,1108,1,0,0,0,1111,1112,5,517,0,0,1112,151,1,0,0,0,1113,1114,5,24,0,0,1114,1115,5,354,0,0,1115,1116,5,340,0,0,1116,1120,5,521,0,0,1117,1118,3,144,72,0,1118,1119,5,521,0,0,1119,1121,1,0,0,0,1120,1117,1,0,0,0,1121,1122,1,0,0,0,1122,1120,1,0,0,0,1122,1123,1,0,0,0,1123,1124,1,0,0,0,1124,1125,5,122,0,0,1125,153,1,0,0,0,1126,1127,5,354,0,0,1127,1128,5,340,0,0,1128,1132,5,24,0,0,1129,1130,3,144,72,0,1130,1131,5,521,0,0,1131,1133,1,0,0,0,1132,1129,1,0,0,0,1133,1134,1,0,0,0,1134,1132,1,0,0,0,1134,1135,1,0,0,0,1135,1136,1,0,0,0,1136,1137,5,122,0,0,1137,155,1,0,0,0,1138,1139,6,78,-1,0,1139,1162,3,158,79,0,1140,1141,3,160,80,0,1141,1142,3,156,78,5,1142,1162,1,0,0,0,1143,1144,5,516,0,0,1144,1145,3,156,78,0,1145,1146,5,517,0,0,1146,1162,1,0,0,0,1147,1149,3,168,84,0,1148,1150,3,228,114,0,1149,1148,1,0,0,0,1149,1150,1,0,0,0,1150,1152,1,0,0,0,1151,1153,3,232,116,0,1152,1151,1,0,0,0,1152,1153,1,0,0,0,1153,1162,1,0,0,0,1154,1156,3,166,83,0,1155,1157,3,228,114,0,1156,1155,1,0,0,0,1156,1157,1,0,0,0,1157,1159,1,0,0,0,1158,1160,3,232,116,0,1159,1158,1,0,0,0,1159,1160,1,0,0,0,1160,1162,1,0,0,0,1161,1138,1,0,0,0,1161,1140,1,0,0,0,1161,1143,1,0,0,0,1161,1147,1,0,0,0,1161,1154,1,0,0,0,1162,1177,1,0,0,0,1163,1164,10,3,0,0,1164,1166,7,19,0,0,1165,1167,5,5,0,0,1166,1165,1,0,0,0,1166,1167,1,0,0,0,1167,1168,1,0,0,0,1168,1170,3,156,78,0,1169,1171,3,228,114,0,1170,1169,1,0,0,0,1170,1171,1,0,0,0,1171,1173,1,0,0,0,1172,1174,3,232,116,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1176,1,0,0,0,1175,1163,1,0,0,0,1176,1179,1,0,0,0,1177,1175,1,0,0,0,1177,1178,1,0,0,0,1178,157,1,0,0,0,1179,1177,1,0,0,0,1180,1181,5,414,0,0,1181,1186,3,256,128,0,1182,1183,5,520,0,0,1183,1185,3,256,128,0,1184,1182,1,0,0,0,1185,1188,1,0,0,0,1186,1184,1,0,0,0,1186,1187,1,0,0,0,1187,159,1,0,0,0,1188,1186,1,0,0,0,1189,1190,5,433,0,0,1190,1195,3,162,81,0,1191,1192,5,520,0,0,1192,1194,3,162,81,0,1193,1191,1,0,0,0,1194,1197,1,0,0,0,1195,1193,1,0,0,0,1195,1196,1,0,0,0,1196,161,1,0,0,0,1197,1195,1,0,0,0,1198,1210,3,164,82,0,1199,1200,5,516,0,0,1200,1205,3,52,26,0,1201,1202,5,520,0,0,1202,1204,3,52,26,0,1203,1201,1,0,0,0,1204,1207,1,0,0,0,1205,1203,1,0,0,0,1205,1206,1,0,0,0,1206,1208,1,0,0,0,1207,1205,1,0,0,0,1208,1209,5,517,0,0,1209,1211,1,0,0,0,1210,1199,1,0,0,0,1210,1211,1,0,0,0,1211,1212,1,0,0,0,1212,1213,5,17,0,0,1213,1214,5,516,0,0,1214,1215,3,156,78,0,1215,1216,5,517,0,0,1216,163,1,0,0,0,1217,1218,3,302,151,0,1218,165,1,0,0,0,1219,1221,3,168,84,0,1220,1222,3,174,87,0,1221,1220,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,0,0,1223,1225,3,202,101,0,1224,1223,1,0,0,0,1224,1225,1,0,0,0,1225,1227,1,0,0,0,1226,1228,3,204,102,0,1227,1226,1,0,0,0,1227,1228,1,0,0,0,1228,1230,1,0,0,0,1229,1231,3,218,109,0,1230,1229,1,0,0,0,1230,1231,1,0,0,0,1231,1233,1,0,0,0,1232,1234,3,220,110,0,1233,1232,1,0,0,0,1233,1234,1,0,0,0,1234,1240,1,0,0,0,1235,1236,3,168,84,0,1236,1237,3,174,87,0,1237,1238,3,226,113,0,1238,1240,1,0,0,0,1239,1219,1,0,0,0,1239,1235,1,0,0,0,1240,167,1,0,0,0,1241,1243,5,336,0,0,1242,1244,3,362,181,0,1243,1242,1,0,0,0,1243,1244,1,0,0,0,1244,1254,1,0,0,0,1245,1255,5,527,0,0,1246,1251,3,170,85,0,1247,1248,5,520,0,0,1248,1250,3,170,85,0,1249,1247,1,0,0,0,1250,1253,1,0,0,0,1251,1249,1,0,0,0,1251,1252,1,0,0,0,1252,1255,1,0,0,0,1253,1251,1,0,0,0,1254,1245,1,0,0,0,1254,1246,1,0,0,0,1255,169,1,0,0,0,1256,1272,3,172,86,0,1257,1262,3,52,26,0,1258,1260,5,17,0,0,1259,1258,1,0,0,0,1259,1260,1,0,0,0,1260,1261,1,0,0,0,1261,1263,3,256,128,0,1262,1259,1,0,0,0,1262,1263,1,0,0,0,1263,1272,1,0,0,0,1264,1269,3,256,128,0,1265,1267,5,17,0,0,1266,1265,1,0,0,0,1266,1267,1,0,0,0,1267,1268,1,0,0,0,1268,1270,3,52,26,0,1269,1266,1,0,0,0,1269,1270,1,0,0,0,1270,1272,1,0,0,0,1271,1256,1,0,0,0,1271,1257,1,0,0,0,1271,1264,1,0,0,0,1272,171,1,0,0,0,1273,1274,3,266,133,0,1274,1275,5,262,0,0,1275,1276,3,224,112,0,1276,1277,5,17,0,0,1277,1278,3,302,151,0,1278,1286,1,0,0,0,1279,1280,3,266,133,0,1280,1281,5,262,0,0,1281,1282,3,294,147,0,1282,1283,5,17,0,0,1283,1284,3,302,151,0,1284,1286,1,0,0,0,1285,1273,1,0,0,0,1285,1279,1,0,0,0,1286,173,1,0,0,0,1287,1288,5,151,0,0,1288,1289,3,176,88,0,1289,175,1,0,0,0,1290,1291,6,88,-1,0,1291,1296,3,178,89,0,1292,1293,5,520,0,0,1293,1295,3,178,89,0,1294,1292,1,0,0,0,1295,1298,1,0,0,0,1296,1294,1,0,0,0,1296,1297,1,0,0,0,1297,1302,1,0,0,0,1298,1296,1,0,0,0,1299,1302,3,186,93,0,1300,1302,3,188,94,0,1301,1290,1,0,0,0,1301,1299,1,0,0,0,1301,1300,1,0,0,0,1302,1324,1,0,0,0,1303,1304,10,3,0,0,1304,1305,5,73,0,0,1305,1306,5,185,0,0,1306,1323,3,176,88,4,1307,1309,10,4,0,0,1308,1310,5,233,0,0,1309,1308,1,0,0,0,1309,1310,1,0,0,0,1310,1312,1,0,0,0,1311,1313,7,20,0,0,1312,1311,1,0,0,0,1312,1313,1,0,0,0,1313,1315,1,0,0,0,1314,1316,5,261,0,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1317,1,0,0,0,1317,1318,5,185,0,0,1318,1320,3,176,88,0,1319,1321,3,200,100,0,1320,1319,1,0,0,0,1320,1321,1,0,0,0,1321,1323,1,0,0,0,1322,1303,1,0,0,0,1322,1307,1,0,0,0,1323,1326,1,0,0,0,1324,1322,1,0,0,0,1324,1325,1,0,0,0,1325,177,1,0,0,0,1326,1324,1,0,0,0,1327,1329,3,180,90,0,1328,1330,3,292,146,0,1329,1328,1,0,0,0,1329,1330,1,0,0,0,1330,179,1,0,0,0,1331,1333,5,373,0,0,1332,1331,1,0,0,0,1332,1333,1,0,0,0,1333,1334,1,0,0,0,1334,1336,3,320,160,0,1335,1337,3,182,91,0,1336,1335,1,0,0,0,1336,1337,1,0,0,0,1337,1371,1,0,0,0,1338,1340,3,322,161,0,1339,1341,3,182,91,0,1340,1339,1,0,0,0,1340,1341,1,0,0,0,1341,1371,1,0,0,0,1342,1343,5,198,0,0,1343,1344,5,373,0,0,1344,1345,5,516,0,0,1345,1346,3,270,135,0,1346,1347,5,516,0,0,1347,1352,3,272,136,0,1348,1349,5,520,0,0,1349,1351,3,272,136,0,1350,1348,1,0,0,0,1351,1354,1,0,0,0,1352,1350,1,0,0,0,1352,1353,1,0,0,0,1353,1355,1,0,0,0,1354,1352,1,0,0,0,1355,1356,5,517,0,0,1356,1357,5,517,0,0,1357,1371,1,0,0,0,1358,1360,5,198,0,0,1359,1358,1,0,0,0,1359,1360,1,0,0,0,1360,1361,1,0,0,0,1361,1362,5,516,0,0,1362,1363,3,156,78,0,1363,1364,5,517,0,0,1364,1371,1,0,0,0,1365,1366,5,405,0,0,1366,1367,5,516,0,0,1367,1368,3,256,128,0,1368,1369,5,517,0,0,1369,1371,1,0,0,0,1370,1332,1,0,0,0,1370,1338,1,0,0,0,1370,1342,1,0,0,0,1370,1359,1,0,0,0,1370,1365,1,0,0,0,1371,181,1,0,0,0,1372,1373,5,146,0,0,1373,1374,5,371,0,0,1374,1375,5,17,0,0,1375,1376,5,249,0,0,1376,1377,3,184,92,0,1377,183,1,0,0,0,1378,1379,3,256,128,0,1379,185,1,0,0,0,1380,1381,5,516,0,0,1381,1382,3,148,74,0,1382,1383,5,517,0,0,1383,1384,3,292,146,0,1384,187,1,0,0,0,1385,1386,5,373,0,0,1386,1387,5,516,0,0,1387,1388,3,190,95,0,1388,1389,5,517,0,0,1389,189,1,0,0,0,1390,1391,3,192,96,0,1391,1392,5,516,0,0,1392,1397,3,194,97,0,1393,1394,5,520,0,0,1394,1396,3,194,97,0,1395,1393,1,0,0,0,1396,1399,1,0,0,0,1397,1395,1,0,0,0,1397,1398,1,0,0,0,1398,1400,1,0,0,0,1399,1397,1,0,0,0,1400,1401,5,517,0,0,1401,191,1,0,0,0,1402,1403,7,21,0,0,1403,193,1,0,0,0,1404,1405,5,373,0,0,1405,1420,3,216,108,0,1406,1420,3,198,99,0,1407,1420,3,280,140,0,1408,1409,5,446,0,0,1409,1410,5,536,0,0,1410,1411,5,373,0,0,1411,1420,3,216,108,0,1412,1413,5,498,0,0,1413,1414,5,536,0,0,1414,1420,3,198,99,0,1415,1416,3,196,98,0,1416,1417,5,536,0,0,1417,1418,3,280,140,0,1418,1420,1,0,0,0,1419,1404,1,0,0,0,1419,1406,1,0,0,0,1419,1407,1,0,0,0,1419,1408,1,0,0,0,1419,1412,1,0,0,0,1419,1415,1,0,0,0,1420,195,1,0,0,0,1421,1422,7,22,0,0,1422,197,1,0,0,0,1423,1424,5,451,0,0,1424,1425,5,516,0,0,1425,1426,3,52,26,0,1426,1427,5,517,0,0,1427,199,1,0,0,0,1428,1429,5,253,0,0,1429,1433,3,258,129,0,1430,1431,5,412,0,0,1431,1433,3,54,27,0,1432,1428,1,0,0,0,1432,1430,1,0,0,0,1433,201,1,0,0,0,1434,1435,5,430,0,0,1435,1436,3,258,129,0,1436,203,1,0,0,0,1437,1438,5,159,0,0,1438,1439,5,34,0,0,1439,1444,3,206,103,0,1440,1441,5,520,0,0,1441,1443,3,206,103,0,1442,1440,1,0,0,0,1443,1446,1,0,0,0,1444,1442,1,0,0,0,1444,1445,1,0,0,0,1445,205,1,0,0,0,1446,1444,1,0,0,0,1447,1488,3,52,26,0,1448,1488,3,212,106,0,1449,1450,5,516,0,0,1450,1488,5,517,0,0,1451,1452,5,516,0,0,1452,1457,3,256,128,0,1453,1454,5,520,0,0,1454,1456,3,256,128,0,1455,1453,1,0,0,0,1456,1459,1,0,0,0,1457,1455,1,0,0,0,1457,1458,1,0,0,0,1458,1460,1,0,0,0,1459,1457,1,0,0,0,1460,1461,5,517,0,0,1461,1488,1,0,0,0,1462,1463,3,210,105,0,1463,1464,5,516,0,0,1464,1469,3,256,128,0,1465,1466,5,520,0,0,1466,1468,3,256,128,0,1467,1465,1,0,0,0,1468,1471,1,0,0,0,1469,1467,1,0,0,0,1469,1470,1,0,0,0,1470,1472,1,0,0,0,1471,1469,1,0,0,0,1472,1473,5,517,0,0,1473,1488,1,0,0,0,1474,1475,3,208,104,0,1475,1476,5,516,0,0,1476,1481,3,206,103,0,1477,1478,5,520,0,0,1478,1480,3,206,103,0,1479,1477,1,0,0,0,1480,1483,1,0,0,0,1481,1479,1,0,0,0,1481,1482,1,0,0,0,1482,1484,1,0,0,0,1483,1481,1,0,0,0,1484,1485,5,517,0,0,1485,1488,1,0,0,0,1486,1488,3,256,128,0,1487,1447,1,0,0,0,1487,1448,1,0,0,0,1487,1449,1,0,0,0,1487,1451,1,0,0,0,1487,1462,1,0,0,0,1487,1474,1,0,0,0,1487,1486,1,0,0,0,1488,207,1,0,0,0,1489,1490,5,160,0,0,1490,1491,5,493,0,0,1491,209,1,0,0,0,1492,1493,7,23,0,0,1493,211,1,0,0,0,1494,1495,3,214,107,0,1495,1496,5,516,0,0,1496,1497,3,216,108,0,1497,1498,5,520,0,0,1498,1499,3,280,140,0,1499,1500,5,517,0,0,1500,213,1,0,0,0,1501,1502,7,24,0,0,1502,215,1,0,0,0,1503,1504,3,326,163,0,1504,217,1,0,0,0,1505,1506,5,163,0,0,1506,1507,3,258,129,0,1507,219,1,0,0,0,1508,1509,5,432,0,0,1509,1514,3,222,111,0,1510,1511,5,520,0,0,1511,1513,3,222,111,0,1512,1510,1,0,0,0,1513,1516,1,0,0,0,1514,1512,1,0,0,0,1514,1515,1,0,0,0,1515,221,1,0,0,0,1516,1514,1,0,0,0,1517,1518,3,294,147,0,1518,1519,5,17,0,0,1519,1520,3,224,112,0,1520,223,1,0,0,0,1521,1523,3,294,147,0,1522,1521,1,0,0,0,1522,1523,1,0,0,0,1523,1524,1,0,0,0,1524,1526,5,516,0,0,1525,1527,3,234,117,0,1526,1525,1,0,0,0,1526,1527,1,0,0,0,1527,1529,1,0,0,0,1528,1530,3,228,114,0,1529,1528,1,0,0,0,1529,1530,1,0,0,0,1530,1532,1,0,0,0,1531,1533,3,250,125,0,1532,1531,1,0,0,0,1532,1533,1,0,0,0,1533,1534,1,0,0,0,1534,1535,5,517,0,0,1535,225,1,0,0,0,1536,1537,5,213,0,0,1537,1539,5,516,0,0,1538,1540,3,234,117,0,1539,1538,1,0,0,0,1539,1540,1,0,0,0,1540,1542,1,0,0,0,1541,1543,3,228,114,0,1542,1541,1,0,0,0,1542,1543,1,0,0,0,1543,1545,1,0,0,0,1544,1546,3,238,119,0,1545,1544,1,0,0,0,1545,1546,1,0,0,0,1546,1548,1,0,0,0,1547,1549,3,244,122,0,1548,1547,1,0,0,0,1548,1549,1,0,0,0,1549,1551,1,0,0,0,1550,1552,3,246,123,0,1551,1550,1,0,0,0,1551,1552,1,0,0,0,1552,1554,1,0,0,0,1553,1555,3,240,120,0,1554,1553,1,0,0,0,1554,1555,1,0,0,0,1555,1556,1,0,0,0,1556,1557,3,248,124,0,1557,1562,5,517,0,0,1558,1560,5,17,0,0,1559,1558,1,0,0,0,1559,1560,1,0,0,0,1560,1561,1,0,0,0,1561,1563,3,302,151,0,1562,1559,1,0,0,0,1562,1563,1,0,0,0,1563,227,1,0,0,0,1564,1565,5,258,0,0,1565,1566,5,34,0,0,1566,1571,3,230,115,0,1567,1568,5,520,0,0,1568,1570,3,230,115,0,1569,1567,1,0,0,0,1570,1573,1,0,0,0,1571,1569,1,0,0,0,1571,1572,1,0,0,0,1572,229,1,0,0,0,1573,1571,1,0,0,0,1574,1576,3,52,26,0,1575,1577,7,25,0,0,1576,1575,1,0,0,0,1576,1577,1,0,0,0,1577,1580,1,0,0,0,1578,1579,5,476,0,0,1579,1581,7,26,0,0,1580,1578,1,0,0,0,1580,1581,1,0,0,0,1581,231,1,0,0,0,1582,1585,5,204,0,0,1583,1586,5,5,0,0,1584,1586,3,256,128,0,1585,1583,1,0,0,0,1585,1584,1,0,0,0,1586,233,1,0,0,0,1587,1588,5,268,0,0,1588,1589,5,34,0,0,1589,1594,3,52,26,0,1590,1591,5,520,0,0,1591,1593,3,52,26,0,1592,1590,1,0,0,0,1593,1596,1,0,0,0,1594,1592,1,0,0,0,1594,1595,1,0,0,0,1595,235,1,0,0,0,1596,1594,1,0,0,0,1597,1614,5,527,0,0,1598,1614,5,530,0,0,1599,1614,5,535,0,0,1600,1601,5,518,0,0,1601,1602,5,538,0,0,1602,1603,5,520,0,0,1603,1604,5,538,0,0,1604,1614,5,519,0,0,1605,1606,5,518,0,0,1606,1607,5,538,0,0,1607,1608,5,520,0,0,1608,1614,5,519,0,0,1609,1610,5,518,0,0,1610,1611,5,520,0,0,1611,1612,5,538,0,0,1612,1614,5,519,0,0,1613,1597,1,0,0,0,1613,1598,1,0,0,0,1613,1599,1,0,0,0,1613,1600,1,0,0,0,1613,1605,1,0,0,0,1613,1609,1,0,0,0,1614,237,1,0,0,0,1615,1616,5,215,0,0,1616,1621,3,170,85,0,1617,1618,5,520,0,0,1618,1620,3,170,85,0,1619,1617,1,0,0,0,1620,1623,1,0,0,0,1621,1619,1,0,0,0,1621,1622,1,0,0,0,1622,239,1,0,0,0,1623,1621,1,0,0,0,1624,1625,5,271,0,0,1625,1627,5,516,0,0,1626,1628,3,242,121,0,1627,1626,1,0,0,0,1628,1629,1,0,0,0,1629,1627,1,0,0,0,1629,1630,1,0,0,0,1630,1631,1,0,0,0,1631,1633,5,517,0,0,1632,1634,3,254,127,0,1633,1632,1,0,0,0,1633,1634,1,0,0,0,1634,241,1,0,0,0,1635,1637,3,304,152,0,1636,1638,3,236,118,0,1637,1636,1,0,0,0,1637,1638,1,0,0,0,1638,243,1,0,0,0,1639,1640,5,5,0,0,1640,1641,5,322,0,0,1641,1642,5,272,0,0,1642,1648,5,210,0,0,1643,1644,5,254,0,0,1644,1645,5,321,0,0,1645,1646,5,272,0,0,1646,1648,5,210,0,0,1647,1639,1,0,0,0,1647,1643,1,0,0,0,1648,245,1,0,0,0,1649,1650,5,438,0,0,1650,1651,5,210,0,0,1651,1652,5,343,0,0,1652,1653,5,478,0,0,1653,1654,5,467,0,0,1654,1674,5,321,0,0,1655,1656,5,438,0,0,1656,1657,5,210,0,0,1657,1658,5,343,0,0,1658,1659,5,388,0,0,1659,1660,5,237,0,0,1660,1674,5,321,0,0,1661,1662,5,438,0,0,1662,1663,5,210,0,0,1663,1664,5,343,0,0,1664,1665,5,388,0,0,1665,1666,5,467,0,0,1666,1674,3,304,152,0,1667,1668,5,438,0,0,1668,1669,5,210,0,0,1669,1670,5,343,0,0,1670,1671,5,388,0,0,1671,1672,5,457,0,0,1672,1674,3,304,152,0,1673,1649,1,0,0,0,1673,1655,1,0,0,0,1673,1661,1,0,0,0,1673,1667,1,0,0,0,1674,247,1,0,0,0,1675,1676,5,105,0,0,1676,1681,3,170,85,0,1677,1678,5,520,0,0,1678,1680,3,170,85,0,1679,1677,1,0,0,0,1680,1683,1,0,0,0,1681,1679,1,0,0,0,1681,1682,1,0,0,0,1682,249,1,0,0,0,1683,1681,1,0,0,0,1684,1685,5,292,0,0,1685,1686,5,27,0,0,1686,1687,3,280,140,0,1687,1688,3,252,126,0,1688,1694,1,0,0,0,1689,1690,5,322,0,0,1690,1691,5,27,0,0,1691,1692,5,538,0,0,1692,1694,3,252,126,0,1693,1684,1,0,0,0,1693,1689,1,0,0,0,1694,251,1,0,0,0,1695,1696,5,480,0,0,1696,1697,5,10,0,0,1697,1698,5,76,0,0,1698,1699,5,321,0,0,1699,253,1,0,0,0,1700,1701,5,434,0,0,1701,1702,3,280,140,0,1702,255,1,0,0,0,1703,1704,3,258,129,0,1704,257,1,0,0,0,1705,1706,6,129,-1,0,1706,1707,5,241,0,0,1707,1718,3,258,129,6,1708,1709,5,133,0,0,1709,1710,5,516,0,0,1710,1711,3,156,78,0,1711,1712,5,517,0,0,1712,1718,1,0,0,0,1713,1715,3,264,132,0,1714,1716,3,260,130,0,1715,1714,1,0,0,0,1715,1716,1,0,0,0,1716,1718,1,0,0,0,1717,1705,1,0,0,0,1717,1708,1,0,0,0,1717,1713,1,0,0,0,1718,1733,1,0,0,0,1719,1720,10,3,0,0,1720,1721,5,10,0,0,1721,1732,3,258,129,4,1722,1723,10,2,0,0,1723,1724,5,257,0,0,1724,1732,3,258,129,3,1725,1726,10,1,0,0,1726,1728,5,184,0,0,1727,1729,5,241,0,0,1728,1727,1,0,0,0,1728,1729,1,0,0,0,1729,1730,1,0,0,0,1730,1732,7,27,0,0,1731,1719,1,0,0,0,1731,1722,1,0,0,0,1731,1725,1,0,0,0,1732,1735,1,0,0,0,1733,1731,1,0,0,0,1733,1734,1,0,0,0,1734,259,1,0,0,0,1735,1733,1,0,0,0,1736,1738,5,241,0,0,1737,1736,1,0,0,0,1737,1738,1,0,0,0,1738,1739,1,0,0,0,1739,1741,5,27,0,0,1740,1742,7,28,0,0,1741,1740,1,0,0,0,1741,1742,1,0,0,0,1742,1743,1,0,0,0,1743,1744,3,264,132,0,1744,1745,5,10,0,0,1745,1746,3,264,132,0,1746,1804,1,0,0,0,1747,1749,5,241,0,0,1748,1747,1,0,0,0,1748,1749,1,0,0,0,1749,1750,1,0,0,0,1750,1751,5,170,0,0,1751,1752,5,516,0,0,1752,1757,3,256,128,0,1753,1754,5,520,0,0,1754,1756,3,256,128,0,1755,1753,1,0,0,0,1756,1759,1,0,0,0,1757,1755,1,0,0,0,1757,1758,1,0,0,0,1758,1760,1,0,0,0,1759,1757,1,0,0,0,1760,1761,5,517,0,0,1761,1804,1,0,0,0,1762,1764,5,241,0,0,1763,1762,1,0,0,0,1763,1764,1,0,0,0,1764,1765,1,0,0,0,1765,1766,5,170,0,0,1766,1767,5,516,0,0,1767,1768,3,156,78,0,1768,1769,5,517,0,0,1769,1804,1,0,0,0,1770,1771,5,133,0,0,1771,1772,5,516,0,0,1772,1773,3,156,78,0,1773,1774,5,517,0,0,1774,1804,1,0,0,0,1775,1777,5,241,0,0,1776,1775,1,0,0,0,1776,1777,1,0,0,0,1777,1778,1,0,0,0,1778,1779,5,318,0,0,1779,1804,3,264,132,0,1780,1804,3,262,131,0,1781,1783,5,184,0,0,1782,1784,5,241,0,0,1783,1782,1,0,0,0,1783,1784,1,0,0,0,1784,1785,1,0,0,0,1785,1804,7,27,0,0,1786,1788,5,184,0,0,1787,1789,5,241,0,0,1788,1787,1,0,0,0,1788,1789,1,0,0,0,1789,1790,1,0,0,0,1790,1791,5,113,0,0,1791,1792,5,151,0,0,1792,1804,3,264,132,0,1793,1795,5,241,0,0,1794,1793,1,0,0,0,1794,1795,1,0,0,0,1795,1796,1,0,0,0,1796,1797,5,342,0,0,1797,1798,5,388,0,0,1798,1801,3,264,132,0,1799,1800,5,127,0,0,1800,1802,3,356,178,0,1801,1799,1,0,0,0,1801,1802,1,0,0,0,1802,1804,1,0,0,0,1803,1737,1,0,0,0,1803,1748,1,0,0,0,1803,1763,1,0,0,0,1803,1770,1,0,0,0,1803,1776,1,0,0,0,1803,1780,1,0,0,0,1803,1781,1,0,0,0,1803,1786,1,0,0,0,1803,1794,1,0,0,0,1804,261,1,0,0,0,1805,1807,5,241,0,0,1806,1805,1,0,0,0,1806,1807,1,0,0,0,1807,1808,1,0,0,0,1808,1809,5,202,0,0,1809,1823,7,29,0,0,1810,1811,5,516,0,0,1811,1824,5,517,0,0,1812,1813,5,516,0,0,1813,1818,3,256,128,0,1814,1815,5,520,0,0,1815,1817,3,256,128,0,1816,1814,1,0,0,0,1817,1820,1,0,0,0,1818,1816,1,0,0,0,1818,1819,1,0,0,0,1819,1821,1,0,0,0,1820,1818,1,0,0,0,1821,1822,5,517,0,0,1822,1824,1,0,0,0,1823,1810,1,0,0,0,1823,1812,1,0,0,0,1824,1835,1,0,0,0,1825,1827,5,241,0,0,1826,1825,1,0,0,0,1826,1827,1,0,0,0,1827,1828,1,0,0,0,1828,1829,5,202,0,0,1829,1832,3,264,132,0,1830,1831,5,127,0,0,1831,1833,3,356,178,0,1832,1830,1,0,0,0,1832,1833,1,0,0,0,1833,1835,1,0,0,0,1834,1806,1,0,0,0,1834,1826,1,0,0,0,1835,263,1,0,0,0,1836,1837,6,132,-1,0,1837,1841,3,266,133,0,1838,1839,7,30,0,0,1839,1841,3,264,132,7,1840,1836,1,0,0,0,1840,1838,1,0,0,0,1841,1863,1,0,0,0,1842,1843,10,6,0,0,1843,1844,7,31,0,0,1844,1862,3,264,132,7,1845,1846,10,5,0,0,1846,1847,7,32,0,0,1847,1862,3,264,132,6,1848,1849,10,4,0,0,1849,1850,5,511,0,0,1850,1862,3,264,132,5,1851,1852,10,3,0,0,1852,1853,5,512,0,0,1853,1862,3,264,132,4,1854,1855,10,2,0,0,1855,1856,5,510,0,0,1856,1862,3,264,132,3,1857,1858,10,1,0,0,1858,1859,3,344,172,0,1859,1860,3,264,132,2,1860,1862,1,0,0,0,1861,1842,1,0,0,0,1861,1845,1,0,0,0,1861,1848,1,0,0,0,1861,1851,1,0,0,0,1861,1854,1,0,0,0,1861,1857,1,0,0,0,1862,1865,1,0,0,0,1863,1861,1,0,0,0,1863,1864,1,0,0,0,1864,265,1,0,0,0,1865,1863,1,0,0,0,1866,1867,6,133,-1,0,1867,1869,5,40,0,0,1868,1870,3,308,154,0,1869,1868,1,0,0,0,1870,1871,1,0,0,0,1871,1869,1,0,0,0,1871,1872,1,0,0,0,1872,1875,1,0,0,0,1873,1874,5,120,0,0,1874,1876,3,256,128,0,1875,1873,1,0,0,0,1875,1876,1,0,0,0,1876,1877,1,0,0,0,1877,1878,5,122,0,0,1878,1959,1,0,0,0,1879,1880,5,40,0,0,1880,1882,3,256,128,0,1881,1883,3,308,154,0,1882,1881,1,0,0,0,1883,1884,1,0,0,0,1884,1882,1,0,0,0,1884,1885,1,0,0,0,1885,1888,1,0,0,0,1886,1887,5,120,0,0,1887,1889,3,256,128,0,1888,1886,1,0,0,0,1888,1889,1,0,0,0,1889,1890,1,0,0,0,1890,1891,5,122,0,0,1891,1959,1,0,0,0,1892,1893,5,41,0,0,1893,1894,5,516,0,0,1894,1895,3,256,128,0,1895,1896,5,17,0,0,1896,1897,3,56,28,0,1897,1898,5,517,0,0,1898,1959,1,0,0,0,1899,1900,5,457,0,0,1900,1901,5,516,0,0,1901,1904,3,256,128,0,1902,1903,5,461,0,0,1903,1905,5,476,0,0,1904,1902,1,0,0,0,1904,1905,1,0,0,0,1905,1906,1,0,0,0,1906,1907,5,517,0,0,1907,1959,1,0,0,0,1908,1909,5,467,0,0,1909,1910,5,516,0,0,1910,1913,3,256,128,0,1911,1912,5,461,0,0,1912,1914,5,476,0,0,1913,1911,1,0,0,0,1913,1914,1,0,0,0,1914,1915,1,0,0,0,1915,1916,5,517,0,0,1916,1959,1,0,0,0,1917,1918,5,281,0,0,1918,1919,5,516,0,0,1919,1920,3,264,132,0,1920,1921,5,170,0,0,1921,1922,3,264,132,0,1922,1923,5,517,0,0,1923,1959,1,0,0,0,1924,1959,3,352,176,0,1925,1959,5,527,0,0,1926,1927,3,326,163,0,1927,1928,5,513,0,0,1928,1929,5,527,0,0,1929,1959,1,0,0,0,1930,1931,5,516,0,0,1931,1932,3,156,78,0,1932,1933,5,517,0,0,1933,1959,1,0,0,0,1934,1935,3,270,135,0,1935,1947,5,516,0,0,1936,1938,3,362,181,0,1937,1936,1,0,0,0,1937,1938,1,0,0,0,1938,1939,1,0,0,0,1939,1944,3,272,136,0,1940,1941,5,520,0,0,1941,1943,3,272,136,0,1942,1940,1,0,0,0,1943,1946,1,0,0,0,1944,1942,1,0,0,0,1944,1945,1,0,0,0,1945,1948,1,0,0,0,1946,1944,1,0,0,0,1947,1937,1,0,0,0,1947,1948,1,0,0,0,1948,1949,1,0,0,0,1949,1950,5,517,0,0,1950,1959,1,0,0,0,1951,1959,3,302,151,0,1952,1959,3,274,137,0,1953,1954,5,516,0,0,1954,1955,3,256,128,0,1955,1956,5,517,0,0,1956,1959,1,0,0,0,1957,1959,5,85,0,0,1958,1866,1,0,0,0,1958,1879,1,0,0,0,1958,1892,1,0,0,0,1958,1899,1,0,0,0,1958,1908,1,0,0,0,1958,1917,1,0,0,0,1958,1924,1,0,0,0,1958,1925,1,0,0,0,1958,1926,1,0,0,0,1958,1930,1,0,0,0,1958,1934,1,0,0,0,1958,1951,1,0,0,0,1958,1952,1,0,0,0,1958,1953,1,0,0,0,1958,1957,1,0,0,0,1959,1967,1,0,0,0,1960,1961,10,5,0,0,1961,1962,5,514,0,0,1962,1963,3,264,132,0,1963,1964,5,515,0,0,1964,1966,1,0,0,0,1965,1960,1,0,0,0,1966,1969,1,0,0,0,1967,1965,1,0,0,0,1967,1968,1,0,0,0,1968,267,1,0,0,0,1969,1967,1,0,0,0,1970,1971,3,326,163,0,1971,269,1,0,0,0,1972,1975,3,370,185,0,1973,1975,3,326,163,0,1974,1972,1,0,0,0,1974,1973,1,0,0,0,1975,271,1,0,0,0,1976,1981,3,368,184,0,1977,1981,3,366,183,0,1978,1981,3,364,182,0,1979,1981,3,256,128,0,1980,1976,1,0,0,0,1980,1977,1,0,0,0,1980,1978,1,0,0,0,1980,1979,1,0,0,0,1981,273,1,0,0,0,1982,1983,3,326,163,0,1983,275,1,0,0,0,1984,1985,3,302,151,0,1985,277,1,0,0,0,1986,1989,3,302,151,0,1987,1989,3,274,137,0,1988,1986,1,0,0,0,1988,1987,1,0,0,0,1989,279,1,0,0,0,1990,1993,5,182,0,0,1991,1994,3,282,141,0,1992,1994,3,286,143,0,1993,1991,1,0,0,0,1993,1992,1,0,0,0,1993,1994,1,0,0,0,1994,281,1,0,0,0,1995,1997,3,284,142,0,1996,1998,3,288,144,0,1997,1996,1,0,0,0,1997,1998,1,0,0,0,1998,283,1,0,0,0,1999,2e3,3,290,145,0,2e3,2001,3,366,183,0,2001,2003,1,0,0,0,2002,1999,1,0,0,0,2003,2004,1,0,0,0,2004,2002,1,0,0,0,2004,2005,1,0,0,0,2005,285,1,0,0,0,2006,2009,3,288,144,0,2007,2010,3,284,142,0,2008,2010,3,288,144,0,2009,2007,1,0,0,0,2009,2008,1,0,0,0,2009,2010,1,0,0,0,2010,287,1,0,0,0,2011,2012,3,290,145,0,2012,2013,3,366,183,0,2013,2014,5,388,0,0,2014,2015,3,366,183,0,2015,289,1,0,0,0,2016,2018,7,33,0,0,2017,2016,1,0,0,0,2017,2018,1,0,0,0,2018,2019,1,0,0,0,2019,2022,7,34,0,0,2020,2022,5,537,0,0,2021,2017,1,0,0,0,2021,2020,1,0,0,0,2022,291,1,0,0,0,2023,2025,5,17,0,0,2024,2023,1,0,0,0,2024,2025,1,0,0,0,2025,2026,1,0,0,0,2026,2028,3,302,151,0,2027,2029,3,298,149,0,2028,2027,1,0,0,0,2028,2029,1,0,0,0,2029,293,1,0,0,0,2030,2031,3,302,151,0,2031,2032,3,296,148,0,2032,295,1,0,0,0,2033,2034,5,221,0,0,2034,2036,3,302,151,0,2035,2033,1,0,0,0,2036,2037,1,0,0,0,2037,2035,1,0,0,0,2037,2038,1,0,0,0,2038,2041,1,0,0,0,2039,2041,1,0,0,0,2040,2035,1,0,0,0,2040,2039,1,0,0,0,2041,297,1,0,0,0,2042,2043,5,516,0,0,2043,2044,3,300,150,0,2044,2045,5,517,0,0,2045,299,1,0,0,0,2046,2051,3,302,151,0,2047,2048,5,520,0,0,2048,2050,3,302,151,0,2049,2047,1,0,0,0,2050,2053,1,0,0,0,2051,2049,1,0,0,0,2051,2052,1,0,0,0,2052,301,1,0,0,0,2053,2051,1,0,0,0,2054,2058,3,304,152,0,2055,2058,3,306,153,0,2056,2058,3,372,186,0,2057,2054,1,0,0,0,2057,2055,1,0,0,0,2057,2056,1,0,0,0,2058,303,1,0,0,0,2059,2060,7,35,0,0,2060,305,1,0,0,0,2061,2062,5,537,0,0,2062,307,1,0,0,0,2063,2064,5,428,0,0,2064,2065,3,256,128,0,2065,2066,5,376,0,0,2066,2067,3,256,128,0,2067,309,1,0,0,0,2068,2069,3,302,151,0,2069,311,1,0,0,0,2070,2071,3,302,151,0,2071,313,1,0,0,0,2072,2075,3,302,151,0,2073,2074,5,513,0,0,2074,2076,3,302,151,0,2075,2073,1,0,0,0,2075,2076,1,0,0,0,2076,315,1,0,0,0,2077,2080,3,302,151,0,2078,2079,5,513,0,0,2079,2081,3,302,151,0,2080,2078,1,0,0,0,2080,2081,1,0,0,0,2081,317,1,0,0,0,2082,2085,3,302,151,0,2083,2084,5,513,0,0,2084,2086,3,302,151,0,2085,2083,1,0,0,0,2085,2086,1,0,0,0,2086,2095,1,0,0,0,2087,2088,3,302,151,0,2088,2089,5,513,0,0,2089,2092,3,302,151,0,2090,2091,5,513,0,0,2091,2093,3,302,151,0,2092,2090,1,0,0,0,2092,2093,1,0,0,0,2093,2095,1,0,0,0,2094,2082,1,0,0,0,2094,2087,1,0,0,0,2095,319,1,0,0,0,2096,2099,3,302,151,0,2097,2098,5,513,0,0,2098,2100,3,302,151,0,2099,2097,1,0,0,0,2099,2100,1,0,0,0,2100,2109,1,0,0,0,2101,2102,3,302,151,0,2102,2103,5,513,0,0,2103,2106,3,302,151,0,2104,2105,5,513,0,0,2105,2107,3,302,151,0,2106,2104,1,0,0,0,2106,2107,1,0,0,0,2107,2109,1,0,0,0,2108,2096,1,0,0,0,2108,2101,1,0,0,0,2109,321,1,0,0,0,2110,2113,3,302,151,0,2111,2112,5,513,0,0,2112,2114,3,302,151,0,2113,2111,1,0,0,0,2113,2114,1,0,0,0,2114,2123,1,0,0,0,2115,2116,3,302,151,0,2116,2117,5,513,0,0,2117,2120,3,302,151,0,2118,2119,5,513,0,0,2119,2121,3,302,151,0,2120,2118,1,0,0,0,2120,2121,1,0,0,0,2121,2123,1,0,0,0,2122,2110,1,0,0,0,2122,2115,1,0,0,0,2123,323,1,0,0,0,2124,2127,3,302,151,0,2125,2126,5,513,0,0,2126,2128,3,302,151,0,2127,2125,1,0,0,0,2127,2128,1,0,0,0,2128,2137,1,0,0,0,2129,2130,3,302,151,0,2130,2131,5,513,0,0,2131,2134,3,302,151,0,2132,2133,5,513,0,0,2133,2135,3,302,151,0,2134,2132,1,0,0,0,2134,2135,1,0,0,0,2135,2137,1,0,0,0,2136,2124,1,0,0,0,2136,2129,1,0,0,0,2137,325,1,0,0,0,2138,2143,3,302,151,0,2139,2140,5,513,0,0,2140,2142,3,302,151,0,2141,2139,1,0,0,0,2142,2145,1,0,0,0,2143,2144,1,0,0,0,2143,2141,1,0,0,0,2144,327,1,0,0,0,2145,2143,1,0,0,0,2146,2147,5,433,0,0,2147,2148,3,334,167,0,2148,329,1,0,0,0,2149,2150,5,167,0,0,2150,2151,5,241,0,0,2151,2152,5,133,0,0,2152,331,1,0,0,0,2153,2154,5,167,0,0,2154,2155,5,133,0,0,2155,333,1,0,0,0,2156,2157,5,516,0,0,2157,2162,3,336,168,0,2158,2159,5,520,0,0,2159,2161,3,336,168,0,2160,2158,1,0,0,0,2161,2164,1,0,0,0,2162,2160,1,0,0,0,2162,2163,1,0,0,0,2163,2165,1,0,0,0,2164,2162,1,0,0,0,2165,2166,5,517,0,0,2166,335,1,0,0,0,2167,2172,3,338,169,0,2168,2170,5,505,0,0,2169,2168,1,0,0,0,2169,2170,1,0,0,0,2170,2171,1,0,0,0,2171,2173,3,340,170,0,2172,2169,1,0,0,0,2172,2173,1,0,0,0,2173,337,1,0,0,0,2174,2178,3,302,151,0,2175,2178,3,274,137,0,2176,2178,5,537,0,0,2177,2174,1,0,0,0,2177,2175,1,0,0,0,2177,2176,1,0,0,0,2178,339,1,0,0,0,2179,2184,5,538,0,0,2180,2184,5,539,0,0,2181,2184,3,360,180,0,2182,2184,5,537,0,0,2183,2179,1,0,0,0,2183,2180,1,0,0,0,2183,2181,1,0,0,0,2183,2182,1,0,0,0,2184,341,1,0,0,0,2185,2192,5,10,0,0,2186,2187,5,511,0,0,2187,2192,5,511,0,0,2188,2192,5,257,0,0,2189,2190,5,510,0,0,2190,2192,5,510,0,0,2191,2185,1,0,0,0,2191,2186,1,0,0,0,2191,2188,1,0,0,0,2191,2189,1,0,0,0,2192,343,1,0,0,0,2193,2208,5,505,0,0,2194,2208,5,506,0,0,2195,2208,5,507,0,0,2196,2197,5,507,0,0,2197,2208,5,505,0,0,2198,2199,5,506,0,0,2199,2208,5,505,0,0,2200,2201,5,507,0,0,2201,2208,5,506,0,0,2202,2203,5,508,0,0,2203,2208,5,505,0,0,2204,2205,5,507,0,0,2205,2206,5,505,0,0,2206,2208,5,506,0,0,2207,2193,1,0,0,0,2207,2194,1,0,0,0,2207,2195,1,0,0,0,2207,2196,1,0,0,0,2207,2198,1,0,0,0,2207,2200,1,0,0,0,2207,2202,1,0,0,0,2207,2204,1,0,0,0,2208,345,1,0,0,0,2209,2210,5,507,0,0,2210,2217,5,507,0,0,2211,2212,5,506,0,0,2212,2217,5,506,0,0,2213,2217,5,511,0,0,2214,2217,5,512,0,0,2215,2217,5,510,0,0,2216,2209,1,0,0,0,2216,2211,1,0,0,0,2216,2213,1,0,0,0,2216,2214,1,0,0,0,2216,2215,1,0,0,0,2217,347,1,0,0,0,2218,2219,7,36,0,0,2219,349,1,0,0,0,2220,2221,7,37,0,0,2221,351,1,0,0,0,2222,2237,3,280,140,0,2223,2237,3,354,177,0,2224,2237,3,356,178,0,2225,2227,5,529,0,0,2226,2225,1,0,0,0,2226,2227,1,0,0,0,2227,2228,1,0,0,0,2228,2237,3,358,179,0,2229,2237,3,360,180,0,2230,2237,5,539,0,0,2231,2237,5,540,0,0,2232,2234,5,241,0,0,2233,2232,1,0,0,0,2233,2234,1,0,0,0,2234,2235,1,0,0,0,2235,2237,5,244,0,0,2236,2222,1,0,0,0,2236,2223,1,0,0,0,2236,2224,1,0,0,0,2236,2226,1,0,0,0,2236,2229,1,0,0,0,2236,2230,1,0,0,0,2236,2231,1,0,0,0,2236,2233,1,0,0,0,2237,353,1,0,0,0,2238,2239,3,364,182,0,2239,2240,3,356,178,0,2240,355,1,0,0,0,2241,2242,5,537,0,0,2242,357,1,0,0,0,2243,2244,5,538,0,0,2244,359,1,0,0,0,2245,2246,7,38,0,0,2246,361,1,0,0,0,2247,2248,7,39,0,0,2248,363,1,0,0,0,2249,2250,7,40,0,0,2250,365,1,0,0,0,2251,2252,7,41,0,0,2252,367,1,0,0,0,2253,2254,7,42,0,0,2254,369,1,0,0,0,2255,2256,7,43,0,0,2256,371,1,0,0,0,2257,2258,7,44,0,0,2258,373,1,0,0,0,266,377,384,387,401,419,423,432,437,444,455,464,476,479,486,489,497,501,506,509,516,524,528,540,548,552,584,587,592,596,600,604,613,618,622,626,631,634,638,643,649,654,659,663,667,671,679,687,691,695,699,703,707,711,715,719,721,731,739,763,770,776,779,782,789,792,801,813,837,849,854,858,866,870,876,886,891,897,901,905,909,918,922,929,932,942,950,958,962,977,996,1007,1011,1018,1023,1029,1033,1040,1044,1048,1052,1060,1064,1069,1075,1081,1084,1088,1099,1108,1122,1134,1149,1152,1156,1159,1161,1166,1170,1173,1177,1186,1195,1205,1210,1221,1224,1227,1230,1233,1239,1243,1251,1254,1259,1262,1266,1269,1271,1285,1296,1301,1309,1312,1315,1320,1322,1324,1329,1332,1336,1340,1352,1359,1370,1397,1419,1432,1444,1457,1469,1481,1487,1514,1522,1526,1529,1532,1539,1542,1545,1548,1551,1554,1559,1562,1571,1576,1580,1585,1594,1613,1621,1629,1633,1637,1647,1673,1681,1693,1715,1717,1728,1731,1733,1737,1741,1748,1757,1763,1776,1783,1788,1794,1801,1803,1806,1818,1823,1826,1832,1834,1840,1861,1863,1871,1875,1884,1888,1904,1913,1937,1944,1947,1958,1967,1974,1980,1988,1993,1997,2004,2009,2017,2021,2024,2028,2037,2040,2051,2057,2075,2080,2085,2092,2094,2099,2106,2108,2113,2120,2122,2127,2134,2136,2143,2162,2169,2172,2177,2183,2191,2207,2216,2226,2233,2236],s.vocabulary=new se(s.literalNames,s.symbolicNames,[]),s.decisionsToDFA=s._ATN.decisionToState.map((r,t)=>new Qe(r,t));class Q3 extends T{constructor(t,e){super(t,e)}EOF(){return this.getToken(s.EOF,0)}singleStatement(t){return t===void 0?this.getRuleContexts(Jr):this.getRuleContext(t,Jr)}get ruleIndex(){return s.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class Jr extends T{constructor(t,e){super(t,e)}sqlStatement(){return this.getRuleContext(0,Ta)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}emptyStatement(){return this.getRuleContext(0,fa)}get ruleIndex(){return s.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class Ta extends T{constructor(t,e){super(t,e)}ddlStatement(){return this.getRuleContext(0,Aa)}dmlStatement(){return this.getRuleContext(0,jr)}describeStatement(){return this.getRuleContext(0,ma)}explainStatement(){return this.getRuleContext(0,Ca)}useStatement(){return this.getRuleContext(0,pa)}showStatememt(){return this.getRuleContext(0,La)}loadStatement(){return this.getRuleContext(0,Na)}unloadStatememt(){return this.getRuleContext(0,xa)}setStatememt(){return this.getRuleContext(0,ga)}resetStatememt(){return this.getRuleContext(0,Sa)}jarStatememt(){return this.getRuleContext(0,Ia)}dtAddStatement(){return this.getRuleContext(0,Oa)}get ruleIndex(){return s.RULE_sqlStatement}enterRule(t){t.enterSqlStatement&&t.enterSqlStatement(this)}exitRule(t){t.exitSqlStatement&&t.exitSqlStatement(this)}accept(t){return t.visitSqlStatement?t.visitSqlStatement(this):t.visitChildren(this)}}class fa extends T{constructor(t,e){super(t,e)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_emptyStatement}enterRule(t){t.enterEmptyStatement&&t.enterEmptyStatement(this)}exitRule(t){t.exitEmptyStatement&&t.exitEmptyStatement(this)}accept(t){return t.visitEmptyStatement?t.visitEmptyStatement(this):t.visitChildren(this)}}class Aa extends T{constructor(t,e){super(t,e)}createTable(){return this.getRuleContext(0,zr)}createDatabase(){return this.getRuleContext(0,en)}createView(){return this.getRuleContext(0,sn)}createFunction(){return this.getRuleContext(0,Za)}createCatalog(){return this.getRuleContext(0,za)}alterTable(){return this.getRuleContext(0,to)}alterView(){return this.getRuleContext(0,no)}alterDatabase(){return this.getRuleContext(0,ao)}alterFunction(){return this.getRuleContext(0,oo)}dropCatalog(){return this.getRuleContext(0,ho)}dropTable(){return this.getRuleContext(0,uo)}dropDatabase(){return this.getRuleContext(0,lo)}dropView(){return this.getRuleContext(0,co)}dropFunction(){return this.getRuleContext(0,Eo)}get ruleIndex(){return s.RULE_ddlStatement}enterRule(t){t.enterDdlStatement&&t.enterDdlStatement(this)}exitRule(t){t.exitDdlStatement&&t.exitDdlStatement(this)}accept(t){return t.visitDdlStatement?t.visitDdlStatement(this):t.visitChildren(this)}}class jr extends T{constructor(t,e){super(t,e)}queryStatement(){return this.getRuleContext(0,St)}insertStatement(){return this.getRuleContext(0,_o)}get ruleIndex(){return s.RULE_dmlStatement}enterRule(t){t.enterDmlStatement&&t.enterDmlStatement(this)}exitRule(t){t.exitDmlStatement&&t.exitDmlStatement(this)}accept(t){return t.visitDmlStatement?t.visitDmlStatement(this):t.visitChildren(this)}}class ma extends T{constructor(t,e){super(t,e)}tablePath(){return this.getRuleContext(0,Ne)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}get ruleIndex(){return s.RULE_describeStatement}enterRule(t){t.enterDescribeStatement&&t.enterDescribeStatement(this)}exitRule(t){t.exitDescribeStatement&&t.exitDescribeStatement(this)}accept(t){return t.visitDescribeStatement?t.visitDescribeStatement(this):t.visitChildren(this)}}class Ca extends T{constructor(t,e){super(t,e)}KW_EXPLAIN(){return this.getToken(s.KW_EXPLAIN,0)}dmlStatement(){return this.getRuleContext(0,jr)}insertSimpleStatement(){return this.getRuleContext(0,ze)}insertMulStatement(){return this.getRuleContext(0,hn)}explainDetails(){return this.getRuleContext(0,Wa)}KW_PLAN(){return this.getToken(s.KW_PLAN,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}get ruleIndex(){return s.RULE_explainStatement}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class Wa extends T{constructor(t,e){super(t,e)}explainDetail(t){return t===void 0?this.getRuleContexts($r):this.getRuleContext(t,$r)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_explainDetails}enterRule(t){t.enterExplainDetails&&t.enterExplainDetails(this)}exitRule(t){t.exitExplainDetails&&t.exitExplainDetails(this)}accept(t){return t.visitExplainDetails?t.visitExplainDetails(this):t.visitChildren(this)}}class $r extends T{constructor(t,e){super(t,e)}KW_CHANGELOG_MODE(){return this.getToken(s.KW_CHANGELOG_MODE,0)}KW_JSON_EXECUTION_PLAN(){return this.getToken(s.KW_JSON_EXECUTION_PLAN,0)}KW_ESTIMATED_COST(){return this.getToken(s.KW_ESTIMATED_COST,0)}get ruleIndex(){return s.RULE_explainDetail}enterRule(t){t.enterExplainDetail&&t.enterExplainDetail(this)}exitRule(t){t.exitExplainDetail&&t.exitExplainDetail(this)}accept(t){return t.visitExplainDetail?t.visitExplainDetail(this):t.visitChildren(this)}}class pa extends T{constructor(t,e){super(t,e)}KW_USE(){return this.getToken(s.KW_USE,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}catalogPath(){return this.getRuleContext(0,Wn)}databasePath(){return this.getRuleContext(0,c0)}useModuleStatement(){return this.getRuleContext(0,Ka)}get ruleIndex(){return s.RULE_useStatement}enterRule(t){t.enterUseStatement&&t.enterUseStatement(this)}exitRule(t){t.exitUseStatement&&t.exitUseStatement(this)}accept(t){return t.visitUseStatement?t.visitUseStatement(this):t.visitChildren(this)}}class Ka extends T{constructor(t,e){super(t,e)}KW_USE(){return this.getToken(s.KW_USE,0)}KW_MODULES(){return this.getToken(s.KW_MODULES,0)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_useModuleStatement}enterRule(t){t.enterUseModuleStatement&&t.enterUseModuleStatement(this)}exitRule(t){t.exitUseModuleStatement&&t.exitUseModuleStatement(this)}accept(t){return t.visitUseModuleStatement?t.visitUseModuleStatement(this):t.visitChildren(this)}}class La extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CATALOGS(){return this.getToken(s.KW_CATALOGS,0)}KW_DATABASES(){return this.getToken(s.KW_DATABASES,0)}KW_VIEWS(){return this.getToken(s.KW_VIEWS,0)}KW_JARS(){return this.getToken(s.KW_JARS,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_TABLES(){return this.getToken(s.KW_TABLES,0)}databasePath(){return this.getRuleContext(0,c0)}likePredicate(){return this.getRuleContext(0,An)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}KW_COLUMNS(){return this.getToken(s.KW_COLUMNS,0)}viewPath(){return this.getRuleContext(0,E0)}tablePath(){return this.getRuleContext(0,Ne)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_MODULES(){return this.getToken(s.KW_MODULES,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}get ruleIndex(){return s.RULE_showStatememt}enterRule(t){t.enterShowStatememt&&t.enterShowStatememt(this)}exitRule(t){t.exitShowStatememt&&t.exitShowStatememt(this)}accept(t){return t.visitShowStatememt?t.visitShowStatememt(this):t.visitChildren(this)}}class Na extends T{constructor(t,e){super(t,e)}KW_LOAD(){return this.getToken(s.KW_LOAD,0)}KW_MODULE(){return this.getToken(s.KW_MODULE,0)}uid(){return this.getRuleContext(0,ft)}KW_WITH(){return this.getToken(s.KW_WITH,0)}tablePropertyList(){return this.getRuleContext(0,d0)}get ruleIndex(){return s.RULE_loadStatement}enterRule(t){t.enterLoadStatement&&t.enterLoadStatement(this)}exitRule(t){t.exitLoadStatement&&t.exitLoadStatement(this)}accept(t){return t.visitLoadStatement?t.visitLoadStatement(this):t.visitChildren(this)}}class xa extends T{constructor(t,e){super(t,e)}KW_UNLOAD(){return this.getToken(s.KW_UNLOAD,0)}KW_MODULE(){return this.getToken(s.KW_MODULE,0)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_unloadStatememt}enterRule(t){t.enterUnloadStatememt&&t.enterUnloadStatememt(this)}exitRule(t){t.exitUnloadStatememt&&t.exitUnloadStatememt(this)}accept(t){return t.visitUnloadStatememt?t.visitUnloadStatememt(this):t.visitChildren(this)}}class ga extends T{constructor(t,e){super(t,e)}KW_SET(){return this.getToken(s.KW_SET,0)}tableProperty(){return this.getRuleContext(0,sr)}get ruleIndex(){return s.RULE_setStatememt}enterRule(t){t.enterSetStatememt&&t.enterSetStatememt(this)}exitRule(t){t.exitSetStatememt&&t.exitSetStatememt(this)}accept(t){return t.visitSetStatememt?t.visitSetStatememt(this):t.visitChildren(this)}}class Sa extends T{constructor(t,e){super(t,e)}KW_RESET(){return this.getToken(s.KW_RESET,0)}tablePropertyKey(){return this.getRuleContext(0,Kn)}get ruleIndex(){return s.RULE_resetStatememt}enterRule(t){t.enterResetStatememt&&t.enterResetStatememt(this)}exitRule(t){t.exitResetStatememt&&t.exitResetStatememt(this)}accept(t){return t.visitResetStatememt?t.visitResetStatememt(this):t.visitChildren(this)}}class Ia extends T{constructor(t,e){super(t,e)}KW_JAR(){return this.getToken(s.KW_JAR,0)}jarFileName(){return this.getRuleContext(0,Qi)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_REMOVE(){return this.getToken(s.KW_REMOVE,0)}get ruleIndex(){return s.RULE_jarStatememt}enterRule(t){t.enterJarStatememt&&t.enterJarStatememt(this)}exitRule(t){t.exitJarStatememt&&t.exitJarStatememt(this)}accept(t){return t.visitJarStatememt?t.visitJarStatememt(this):t.visitChildren(this)}}class Oa extends T{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_JAR(){return this.getToken(s.KW_JAR,0)}KW_WITH(){return this.getToken(s.KW_WITH,0)}dtFilePath(){return this.getRuleContext(0,Da)}KW_AS(){return this.getToken(s.KW_AS,0)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}KW_FILE(){return this.getToken(s.KW_FILE,0)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_PYTHON_FILES(){return this.getToken(s.KW_PYTHON_FILES,0)}KW_PYTHON_REQUIREMENTS(){return this.getToken(s.KW_PYTHON_REQUIREMENTS,0)}KW_PYTHON_DEPENDENCIES(){return this.getToken(s.KW_PYTHON_DEPENDENCIES,0)}KW_PYTHON_JAR(){return this.getToken(s.KW_PYTHON_JAR,0)}KW_PYTHON_ARCHIVES(){return this.getToken(s.KW_PYTHON_ARCHIVES,0)}KW_PYTHON_PARAMETER(){return this.getToken(s.KW_PYTHON_PARAMETER,0)}KW_ENGINE(){return this.getToken(s.KW_ENGINE,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_CONFIG(){return this.getToken(s.KW_CONFIG,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}get ruleIndex(){return s.RULE_dtAddStatement}enterRule(t){t.enterDtAddStatement&&t.enterDtAddStatement(this)}exitRule(t){t.exitDtAddStatement&&t.exitDtAddStatement(this)}accept(t){return t.visitDtAddStatement?t.visitDtAddStatement(this):t.visitChildren(this)}}class Da extends T{constructor(t,e){super(t,e)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}SLASH_SIGN(t){return t===void 0?this.getTokens(s.SLASH_SIGN):this.getToken(s.SLASH_SIGN,t)}get ruleIndex(){return s.RULE_dtFilePath}enterRule(t){t.enterDtFilePath&&t.enterDtFilePath(this)}exitRule(t){t.exitDtFilePath&&t.exitDtFilePath(this)}accept(t){return t.visitDtFilePath?t.visitDtFilePath(this):t.visitChildren(this)}}class zr extends T{constructor(t,e){super(t,e)}simpleCreateTable(){return this.getRuleContext(0,Ma)}createTableAsSelect(){return this.getRuleContext(0,Ua)}get ruleIndex(){return s.RULE_createTable}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}class Ma extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePathCreate(){return this.getRuleContext(0,pn)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}columnOptionDefinition(t){return t===void 0?this.getRuleContexts(Zr):this.getRuleContext(t,Zr)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}withOption(){return this.getRuleContext(0,_0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,L1)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}watermarkDefinition(){return this.getRuleContext(0,Fa)}tableConstraint(){return this.getRuleContext(0,Xa)}selfDefinitionClause(){return this.getRuleContext(0,Qa)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}partitionDefinition(){return this.getRuleContext(0,Ja)}likeDefinition(){return this.getRuleContext(0,$a)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_simpleCreateTable}enterRule(t){t.enterSimpleCreateTable&&t.enterSimpleCreateTable(this)}exitRule(t){t.exitSimpleCreateTable&&t.exitSimpleCreateTable(this)}accept(t){return t.visitSimpleCreateTable?t.visitSimpleCreateTable(this):t.visitChildren(this)}}class Ua extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePathCreate(){return this.getRuleContext(0,pn)}withOption(){return this.getRuleContext(0,_0)}ifNotExists(){return this.getRuleContext(0,L1)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,St)}get ruleIndex(){return s.RULE_createTableAsSelect}enterRule(t){t.enterCreateTableAsSelect&&t.enterCreateTableAsSelect(this)}exitRule(t){t.exitCreateTableAsSelect&&t.exitCreateTableAsSelect(this)}accept(t){return t.visitCreateTableAsSelect?t.visitCreateTableAsSelect(this):t.visitChildren(this)}}class Zr extends T{constructor(t,e){super(t,e)}physicalColumnDefinition(){return this.getRuleContext(0,Fi)}metadataColumnDefinition(){return this.getRuleContext(0,Ba)}computedColumnDefinition(){return this.getRuleContext(0,Va)}get ruleIndex(){return s.RULE_columnOptionDefinition}enterRule(t){t.enterColumnOptionDefinition&&t.enterColumnOptionDefinition(this)}exitRule(t){t.exitColumnOptionDefinition&&t.exitColumnOptionDefinition(this)}accept(t){return t.visitColumnOptionDefinition?t.visitColumnOptionDefinition(this):t.visitChildren(this)}}class Fi extends T{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,Xi)}columnType(){return this.getRuleContext(0,ue)}columnConstraint(){return this.getRuleContext(0,Pa)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_physicalColumnDefinition}enterRule(t){t.enterPhysicalColumnDefinition&&t.enterPhysicalColumnDefinition(this)}exitRule(t){t.exitPhysicalColumnDefinition&&t.exitPhysicalColumnDefinition(this)}accept(t){return t.visitPhysicalColumnDefinition?t.visitPhysicalColumnDefinition(this):t.visitChildren(this)}}class Xi extends T{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class gt extends T{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class $e extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}columnName(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_columnNameList}enterRule(t){t.enterColumnNameList&&t.enterColumnNameList(this)}exitRule(t){t.exitColumnNameList&&t.exitColumnNameList(this)}accept(t){return t.visitColumnNameList?t.visitColumnNameList(this):t.visitChildren(this)}}class ue extends T{constructor(t,e){super(t,e)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_BOOLEAN(){return this.getToken(s.KW_BOOLEAN,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_CHAR(){return this.getToken(s.KW_CHAR,0)}KW_VARCHAR(){return this.getToken(s.KW_VARCHAR,0)}KW_STRING(){return this.getToken(s.KW_STRING,0)}KW_BINARY(){return this.getToken(s.KW_BINARY,0)}KW_VARBINARY(){return this.getToken(s.KW_VARBINARY,0)}KW_BYTES(){return this.getToken(s.KW_BYTES,0)}KW_TINYINT(){return this.getToken(s.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(s.KW_SMALLINT,0)}KW_INT(){return this.getToken(s.KW_INT,0)}KW_INTEGER(){return this.getToken(s.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(s.KW_BIGINT,0)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_TIMESTAMP_LTZ(){return this.getToken(s.KW_TIMESTAMP_LTZ,0)}KW_DATETIME(){return this.getToken(s.KW_DATETIME,0)}lengthOneDimension(){return this.getRuleContext(0,ya)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}KW_WITHOUT(){return this.getToken(s.KW_WITHOUT,0)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_LOCAL(){return this.getToken(s.KW_LOCAL,0)}KW_DECIMAL(){return this.getToken(s.KW_DECIMAL,0)}KW_DEC(){return this.getToken(s.KW_DEC,0)}KW_NUMERIC(){return this.getToken(s.KW_NUMERIC,0)}KW_FLOAT(){return this.getToken(s.KW_FLOAT,0)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}lengthTwoOptionalDimension(){return this.getRuleContext(0,wa)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_MULTISET(){return this.getToken(s.KW_MULTISET,0)}lengthOneTypeDimension(){return this.getRuleContext(0,ba)}KW_MAP(){return this.getToken(s.KW_MAP,0)}mapTypeDimension(){return this.getRuleContext(0,Ha)}KW_ROW(){return this.getToken(s.KW_ROW,0)}rowTypeDimension(){return this.getRuleContext(0,ka)}KW_RAW(){return this.getToken(s.KW_RAW,0)}lengthTwoStringDimension(){return this.getRuleContext(0,va)}get ruleIndex(){return s.RULE_columnType}enterRule(t){t.enterColumnType&&t.enterColumnType(this)}exitRule(t){t.exitColumnType&&t.exitColumnType(this)}accept(t){return t.visitColumnType?t.visitColumnType(this):t.visitChildren(this)}}class ya extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,T0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_lengthOneDimension}enterRule(t){t.enterLengthOneDimension&&t.enterLengthOneDimension(this)}exitRule(t){t.exitLengthOneDimension&&t.exitLengthOneDimension(this)}accept(t){return t.visitLengthOneDimension?t.visitLengthOneDimension(this):t.visitChildren(this)}}class wa extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}decimalLiteral(t){return t===void 0?this.getRuleContexts(T0):this.getRuleContext(t,T0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_lengthTwoOptionalDimension}enterRule(t){t.enterLengthTwoOptionalDimension&&t.enterLengthTwoOptionalDimension(this)}exitRule(t){t.exitLengthTwoOptionalDimension&&t.exitLengthTwoOptionalDimension(this)}accept(t){return t.visitLengthTwoOptionalDimension?t.visitLengthTwoOptionalDimension(this):t.visitChildren(this)}}class va extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(t1):this.getRuleContext(t,t1)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_lengthTwoStringDimension}enterRule(t){t.enterLengthTwoStringDimension&&t.enterLengthTwoStringDimension(this)}exitRule(t){t.exitLengthTwoStringDimension&&t.exitLengthTwoStringDimension(this)}accept(t){return t.visitLengthTwoStringDimension?t.visitLengthTwoStringDimension(this):t.visitChildren(this)}}class ba extends T{constructor(t,e){super(t,e)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}columnType(){return this.getRuleContext(0,ue)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}get ruleIndex(){return s.RULE_lengthOneTypeDimension}enterRule(t){t.enterLengthOneTypeDimension&&t.enterLengthOneTypeDimension(this)}exitRule(t){t.exitLengthOneTypeDimension&&t.exitLengthOneTypeDimension(this)}accept(t){return t.visitLengthOneTypeDimension?t.visitLengthOneTypeDimension(this):t.visitChildren(this)}}class Ha extends T{constructor(t,e){super(t,e)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}columnType(t){return t===void 0?this.getRuleContexts(ue):this.getRuleContext(t,ue)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_mapTypeDimension}enterRule(t){t.enterMapTypeDimension&&t.enterMapTypeDimension(this)}exitRule(t){t.exitMapTypeDimension&&t.exitMapTypeDimension(this)}accept(t){return t.visitMapTypeDimension?t.visitMapTypeDimension(this):t.visitChildren(this)}}class ka extends T{constructor(t,e){super(t,e)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}columnName(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}columnType(t){return t===void 0?this.getRuleContexts(ue):this.getRuleContext(t,ue)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_rowTypeDimension}enterRule(t){t.enterRowTypeDimension&&t.enterRowTypeDimension(this)}exitRule(t){t.exitRowTypeDimension&&t.exitRowTypeDimension(this)}accept(t){return t.visitRowTypeDimension?t.visitRowTypeDimension(this):t.visitChildren(this)}}class Pa extends T{constructor(t,e){super(t,e)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,n0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ENFORCED(){return this.getToken(s.KW_ENFORCED,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_columnConstraint}enterRule(t){t.enterColumnConstraint&&t.enterColumnConstraint(this)}exitRule(t){t.exitColumnConstraint&&t.exitColumnConstraint(this)}accept(t){return t.visitColumnConstraint?t.visitColumnConstraint(this):t.visitChildren(this)}}class Ba extends T{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,Xi)}columnType(){return this.getRuleContext(0,ue)}KW_METADATA(){return this.getToken(s.KW_METADATA,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}metadataKey(){return this.getRuleContext(0,Ga)}KW_VIRTUAL(){return this.getToken(s.KW_VIRTUAL,0)}get ruleIndex(){return s.RULE_metadataColumnDefinition}enterRule(t){t.enterMetadataColumnDefinition&&t.enterMetadataColumnDefinition(this)}exitRule(t){t.exitMetadataColumnDefinition&&t.exitMetadataColumnDefinition(this)}accept(t){return t.visitMetadataColumnDefinition?t.visitMetadataColumnDefinition(this):t.visitChildren(this)}}class Ga extends T{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_metadataKey}enterRule(t){t.enterMetadataKey&&t.enterMetadataKey(this)}exitRule(t){t.exitMetadataKey&&t.exitMetadataKey(this)}accept(t){return t.visitMetadataKey?t.visitMetadataKey(this):t.visitChildren(this)}}class Va extends T{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,Xi)}KW_AS(){return this.getToken(s.KW_AS,0)}computedColumnExpression(){return this.getRuleContext(0,Ya)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_computedColumnDefinition}enterRule(t){t.enterComputedColumnDefinition&&t.enterComputedColumnDefinition(this)}exitRule(t){t.exitComputedColumnDefinition&&t.exitComputedColumnDefinition(this)}accept(t){return t.visitComputedColumnDefinition?t.visitComputedColumnDefinition(this):t.visitChildren(this)}}class Ya extends T{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_computedColumnExpression}enterRule(t){t.enterComputedColumnExpression&&t.enterComputedColumnExpression(this)}exitRule(t){t.exitComputedColumnExpression&&t.exitComputedColumnExpression(this)}accept(t){return t.visitComputedColumnExpression?t.visitComputedColumnExpression(this):t.visitChildren(this)}}class Fa extends T{constructor(t,e){super(t,e)}KW_WATERMARK(){return this.getToken(s.KW_WATERMARK,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}columnName(){return this.getRuleContext(0,gt)}KW_AS(){return this.getToken(s.KW_AS,0)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_watermarkDefinition}enterRule(t){t.enterWatermarkDefinition&&t.enterWatermarkDefinition(this)}exitRule(t){t.exitWatermarkDefinition&&t.exitWatermarkDefinition(this)}accept(t){return t.visitWatermarkDefinition?t.visitWatermarkDefinition(this):t.visitChildren(this)}}class Xa extends T{constructor(t,e){super(t,e)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnNameList(){return this.getRuleContext(0,$e)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ENFORCED(){return this.getToken(s.KW_ENFORCED,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,n0)}get ruleIndex(){return s.RULE_tableConstraint}enterRule(t){t.enterTableConstraint&&t.enterTableConstraint(this)}exitRule(t){t.exitTableConstraint&&t.exitTableConstraint(this)}accept(t){return t.visitTableConstraint?t.visitTableConstraint(this):t.visitChildren(this)}}class n0 extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_constraintName}enterRule(t){t.enterConstraintName&&t.enterConstraintName(this)}exitRule(t){t.exitConstraintName&&t.exitConstraintName(this)}accept(t){return t.visitConstraintName?t.visitConstraintName(this):t.visitChildren(this)}}class Qa extends T{constructor(t,e){super(t,e)}KW_PERIOD(){return this.getToken(s.KW_PERIOD,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}KW_SYSTEM_TIME(){return this.getToken(s.KW_SYSTEM_TIME,0)}get ruleIndex(){return s.RULE_selfDefinitionClause}enterRule(t){t.enterSelfDefinitionClause&&t.enterSelfDefinitionClause(this)}exitRule(t){t.exitSelfDefinitionClause&&t.exitSelfDefinitionClause(this)}accept(t){return t.visitSelfDefinitionClause?t.visitSelfDefinitionClause(this):t.visitChildren(this)}}class Ja extends T{constructor(t,e){super(t,e)}KW_PARTITIONED(){return this.getToken(s.KW_PARTITIONED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}transformList(){return this.getRuleContext(0,ja)}get ruleIndex(){return s.RULE_partitionDefinition}enterRule(t){t.enterPartitionDefinition&&t.enterPartitionDefinition(this)}exitRule(t){t.exitPartitionDefinition&&t.exitPartitionDefinition(this)}accept(t){return t.visitPartitionDefinition?t.visitPartitionDefinition(this):t.visitChildren(this)}}class ja extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}transform(t){return t===void 0?this.getRuleContexts(a0):this.getRuleContext(t,a0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_transformList}enterRule(t){t.enterTransformList&&t.enterTransformList(this)}exitRule(t){t.exitTransformList&&t.exitTransformList(this)}accept(t){return t.visitTransformList?t.visitTransformList(this):t.visitChildren(this)}}class a0 extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_transform}copyFrom(t){super.copyFrom(t)}}class J3 extends a0{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnName(){return this.getRuleContext(0,gt)}enterRule(t){t.enterIdentityTransform&&t.enterIdentityTransform(this)}exitRule(t){t.exitIdentityTransform&&t.exitIdentityTransform(this)}accept(t){return t.visitIdentityTransform?t.visitIdentityTransform(this):t.visitChildren(this)}}class j3 extends a0{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}transformArgument(t){return t===void 0?this.getRuleContexts(qr):this.getRuleContext(t,qr)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterApplyTransform&&t.enterApplyTransform(this)}exitRule(t){t.exitApplyTransform&&t.exitApplyTransform(this)}accept(t){return t.visitApplyTransform?t.visitApplyTransform(this):t.visitChildren(this)}}class qr extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,sh)}constant(){return this.getRuleContext(0,R0)}get ruleIndex(){return s.RULE_transformArgument}enterRule(t){t.enterTransformArgument&&t.enterTransformArgument(this)}exitRule(t){t.exitTransformArgument&&t.exitTransformArgument(this)}accept(t){return t.visitTransformArgument?t.visitTransformArgument(this):t.visitChildren(this)}}class $a extends T{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}tablePath(){return this.getRuleContext(0,Ne)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}likeOption(t){return t===void 0?this.getRuleContexts(tn):this.getRuleContext(t,tn)}get ruleIndex(){return s.RULE_likeDefinition}enterRule(t){t.enterLikeDefinition&&t.enterLikeDefinition(this)}exitRule(t){t.exitLikeDefinition&&t.exitLikeDefinition(this)}accept(t){return t.visitLikeDefinition?t.visitLikeDefinition(this):t.visitChildren(this)}}class tn extends T{constructor(t,e){super(t,e)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_CONSTRAINTS(){return this.getToken(s.KW_CONSTRAINTS,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}KW_OVERWRITING(){return this.getToken(s.KW_OVERWRITING,0)}KW_GENERATED(){return this.getToken(s.KW_GENERATED,0)}KW_OPTIONS(){return this.getToken(s.KW_OPTIONS,0)}KW_WATERMARKS(){return this.getToken(s.KW_WATERMARKS,0)}get ruleIndex(){return s.RULE_likeOption}enterRule(t){t.enterLikeOption&&t.enterLikeOption(this)}exitRule(t){t.exitLikeOption&&t.exitLikeOption(this)}accept(t){return t.visitLikeOption?t.visitLikeOption(this):t.visitChildren(this)}}class za extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}catalogPathCreate(){return this.getRuleContext(0,hh)}withOption(){return this.getRuleContext(0,_0)}get ruleIndex(){return s.RULE_createCatalog}enterRule(t){t.enterCreateCatalog&&t.enterCreateCatalog(this)}exitRule(t){t.exitCreateCatalog&&t.exitCreateCatalog(this)}accept(t){return t.visitCreateCatalog?t.visitCreateCatalog(this):t.visitChildren(this)}}class en extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databasePathCreate(){return this.getRuleContext(0,uh)}withOption(){return this.getRuleContext(0,_0)}ifNotExists(){return this.getRuleContext(0,L1)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_createDatabase}enterRule(t){t.enterCreateDatabase&&t.enterCreateDatabase(this)}exitRule(t){t.exitCreateDatabase&&t.exitCreateDatabase(this)}accept(t){return t.visitCreateDatabase?t.visitCreateDatabase(this):t.visitChildren(this)}}class sn extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewPathCreate(){return this.getRuleContext(0,lh)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,St)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,L1)}columnNameList(){return this.getRuleContext(0,$e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_createView}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class Za extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,eh)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,B)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}ifNotExists(){return this.getRuleContext(0,L1)}KW_LANGUAGE(){return this.getToken(s.KW_LANGUAGE,0)}usingClause(){return this.getRuleContext(0,qa)}KW_JAVA(){return this.getToken(s.KW_JAVA,0)}KW_SCALA(){return this.getToken(s.KW_SCALA,0)}KW_PYTHON(){return this.getToken(s.KW_PYTHON,0)}get ruleIndex(){return s.RULE_createFunction}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class qa extends T{constructor(t,e){super(t,e)}KW_USING(){return this.getToken(s.KW_USING,0)}KW_JAR(t){return t===void 0?this.getTokens(s.KW_JAR):this.getToken(s.KW_JAR,t)}jarFileName(t){return t===void 0?this.getRuleContexts(Qi):this.getRuleContext(t,Qi)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_usingClause}enterRule(t){t.enterUsingClause&&t.enterUsingClause(this)}exitRule(t){t.exitUsingClause&&t.exitUsingClause(this)}accept(t){return t.visitUsingClause?t.visitUsingClause(this):t.visitChildren(this)}}class Qi extends T{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_jarFileName}enterRule(t){t.enterJarFileName&&t.enterJarFileName(this)}exitRule(t){t.exitJarFileName&&t.exitJarFileName(this)}accept(t){return t.visitJarFileName?t.visitJarFileName(this):t.visitChildren(this)}}class to extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePath(){return this.getRuleContext(0,Ne)}renameDefinition(){return this.getRuleContext(0,rn)}setKeyValueDefinition(){return this.getRuleContext(0,nn)}addConstraint(){return this.getRuleContext(0,eo)}dropConstraint(){return this.getRuleContext(0,so)}addUnique(){return this.getRuleContext(0,io)}ifExists(){return this.getRuleContext(0,xe)}get ruleIndex(){return s.RULE_alterTable}enterRule(t){t.enterAlterTable&&t.enterAlterTable(this)}exitRule(t){t.exitAlterTable&&t.exitAlterTable(this)}accept(t){return t.visitAlterTable?t.visitAlterTable(this):t.visitChildren(this)}}class rn extends T{constructor(t,e){super(t,e)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}get ruleIndex(){return s.RULE_renameDefinition}enterRule(t){t.enterRenameDefinition&&t.enterRenameDefinition(this)}exitRule(t){t.exitRenameDefinition&&t.exitRenameDefinition(this)}accept(t){return t.visitRenameDefinition?t.visitRenameDefinition(this):t.visitChildren(this)}}class nn extends T{constructor(t,e){super(t,e)}KW_SET(){return this.getToken(s.KW_SET,0)}tablePropertyList(){return this.getRuleContext(0,d0)}get ruleIndex(){return s.RULE_setKeyValueDefinition}enterRule(t){t.enterSetKeyValueDefinition&&t.enterSetKeyValueDefinition(this)}exitRule(t){t.exitSetKeyValueDefinition&&t.exitSetKeyValueDefinition(this)}accept(t){return t.visitSetKeyValueDefinition?t.visitSetKeyValueDefinition(this):t.visitChildren(this)}}class eo extends T{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,n0)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnNameList(){return this.getRuleContext(0,$e)}notForced(){return this.getRuleContext(0,ro)}get ruleIndex(){return s.RULE_addConstraint}enterRule(t){t.enterAddConstraint&&t.enterAddConstraint(this)}exitRule(t){t.exitAddConstraint&&t.exitAddConstraint(this)}accept(t){return t.visitAddConstraint?t.visitAddConstraint(this):t.visitChildren(this)}}class so extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,n0)}get ruleIndex(){return s.RULE_dropConstraint}enterRule(t){t.enterDropConstraint&&t.enterDropConstraint(this)}exitRule(t){t.exitDropConstraint&&t.exitDropConstraint(this)}accept(t){return t.visitDropConstraint?t.visitDropConstraint(this):t.visitChildren(this)}}class io extends T{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_UNIQUE(){return this.getToken(s.KW_UNIQUE,0)}columnNameList(){return this.getRuleContext(0,$e)}get ruleIndex(){return s.RULE_addUnique}enterRule(t){t.enterAddUnique&&t.enterAddUnique(this)}exitRule(t){t.exitAddUnique&&t.exitAddUnique(this)}accept(t){return t.visitAddUnique?t.visitAddUnique(this):t.visitChildren(this)}}class ro extends T{constructor(t,e){super(t,e)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ENFORCED(){return this.getToken(s.KW_ENFORCED,0)}get ruleIndex(){return s.RULE_notForced}enterRule(t){t.enterNotForced&&t.enterNotForced(this)}exitRule(t){t.exitNotForced&&t.exitNotForced(this)}accept(t){return t.visitNotForced?t.visitNotForced(this):t.visitChildren(this)}}class no extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewPath(){return this.getRuleContext(0,E0)}renameDefinition(){return this.getRuleContext(0,rn)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,St)}get ruleIndex(){return s.RULE_alterView}enterRule(t){t.enterAlterView&&t.enterAlterView(this)}exitRule(t){t.exitAlterView&&t.exitAlterView(this)}accept(t){return t.visitAlterView?t.visitAlterView(this):t.visitChildren(this)}}class ao extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databasePath(){return this.getRuleContext(0,c0)}setKeyValueDefinition(){return this.getRuleContext(0,nn)}get ruleIndex(){return s.RULE_alterDatabase}enterRule(t){t.enterAlterDatabase&&t.enterAlterDatabase(this)}exitRule(t){t.exitAlterDatabase&&t.exitAlterDatabase(this)}accept(t){return t.visitAlterDatabase?t.visitAlterDatabase(this):t.visitChildren(this)}}class oo extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,h0)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,B)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}ifExists(){return this.getRuleContext(0,xe)}KW_LANGUAGE(){return this.getToken(s.KW_LANGUAGE,0)}KW_JAVA(){return this.getToken(s.KW_JAVA,0)}KW_SCALA(){return this.getToken(s.KW_SCALA,0)}KW_PYTHON(){return this.getToken(s.KW_PYTHON,0)}get ruleIndex(){return s.RULE_alterFunction}enterRule(t){t.enterAlterFunction&&t.enterAlterFunction(this)}exitRule(t){t.exitAlterFunction&&t.exitAlterFunction(this)}accept(t){return t.visitAlterFunction?t.visitAlterFunction(this):t.visitChildren(this)}}class ho extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}catalogPath(){return this.getRuleContext(0,Wn)}ifExists(){return this.getRuleContext(0,xe)}get ruleIndex(){return s.RULE_dropCatalog}enterRule(t){t.enterDropCatalog&&t.enterDropCatalog(this)}exitRule(t){t.exitDropCatalog&&t.exitDropCatalog(this)}accept(t){return t.visitDropCatalog?t.visitDropCatalog(this):t.visitChildren(this)}}class uo extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePath(){return this.getRuleContext(0,Ne)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,xe)}get ruleIndex(){return s.RULE_dropTable}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class lo extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databasePath(){return this.getRuleContext(0,c0)}ifExists(){return this.getRuleContext(0,xe)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}get ruleIndex(){return s.RULE_dropDatabase}enterRule(t){t.enterDropDatabase&&t.enterDropDatabase(this)}exitRule(t){t.exitDropDatabase&&t.exitDropDatabase(this)}accept(t){return t.visitDropDatabase?t.visitDropDatabase(this):t.visitChildren(this)}}class co extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewPath(){return this.getRuleContext(0,E0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,xe)}get ruleIndex(){return s.RULE_dropView}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Eo extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,h0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}ifExists(){return this.getRuleContext(0,xe)}get ruleIndex(){return s.RULE_dropFunction}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class _o extends T{constructor(t,e){super(t,e)}insertSimpleStatement(){return this.getRuleContext(0,ze)}KW_EXECUTE(){return this.getToken(s.KW_EXECUTE,0)}insertMulStatementCompatibility(){return this.getRuleContext(0,To)}insertMulStatement(){return this.getRuleContext(0,hn)}get ruleIndex(){return s.RULE_insertStatement}enterRule(t){t.enterInsertStatement&&t.enterInsertStatement(this)}exitRule(t){t.exitInsertStatement&&t.exitInsertStatement(this)}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}}class ze extends T{constructor(t,e){super(t,e)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}tablePath(){return this.getRuleContext(0,Ne)}KW_INTO(){return this.getToken(s.KW_INTO,0)}KW_OVERWRITE(){return this.getToken(s.KW_OVERWRITE,0)}queryStatement(){return this.getRuleContext(0,St)}valuesDefinition(){return this.getRuleContext(0,an)}insertPartitionDefinition(){return this.getRuleContext(0,Ro)}columnNameList(){return this.getRuleContext(0,$e)}get ruleIndex(){return s.RULE_insertSimpleStatement}enterRule(t){t.enterInsertSimpleStatement&&t.enterInsertSimpleStatement(this)}exitRule(t){t.exitInsertSimpleStatement&&t.exitInsertSimpleStatement(this)}accept(t){return t.visitInsertSimpleStatement?t.visitInsertSimpleStatement(this):t.visitChildren(this)}}class Ro extends T{constructor(t,e){super(t,e)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}tablePropertyList(){return this.getRuleContext(0,d0)}get ruleIndex(){return s.RULE_insertPartitionDefinition}enterRule(t){t.enterInsertPartitionDefinition&&t.enterInsertPartitionDefinition(this)}exitRule(t){t.exitInsertPartitionDefinition&&t.exitInsertPartitionDefinition(this)}accept(t){return t.visitInsertPartitionDefinition?t.visitInsertPartitionDefinition(this):t.visitChildren(this)}}class an extends T{constructor(t,e){super(t,e)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}valuesRowDefinition(t){return t===void 0?this.getRuleContexts(on):this.getRuleContext(t,on)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_valuesDefinition}enterRule(t){t.enterValuesDefinition&&t.enterValuesDefinition(this)}exitRule(t){t.exitValuesDefinition&&t.exitValuesDefinition(this)}accept(t){return t.visitValuesDefinition?t.visitValuesDefinition(this):t.visitChildren(this)}}class on extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}constant(t){return t===void 0?this.getRuleContexts(R0):this.getRuleContext(t,R0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_valuesRowDefinition}enterRule(t){t.enterValuesRowDefinition&&t.enterValuesRowDefinition(this)}exitRule(t){t.exitValuesRowDefinition&&t.exitValuesRowDefinition(this)}accept(t){return t.visitValuesRowDefinition?t.visitValuesRowDefinition(this):t.visitChildren(this)}}class To extends T{constructor(t,e){super(t,e)}KW_BEGIN(){return this.getToken(s.KW_BEGIN,0)}KW_STATEMENT(){return this.getToken(s.KW_STATEMENT,0)}KW_SET(){return this.getToken(s.KW_SET,0)}SEMICOLON(t){return t===void 0?this.getTokens(s.SEMICOLON):this.getToken(s.SEMICOLON,t)}KW_END(){return this.getToken(s.KW_END,0)}insertSimpleStatement(t){return t===void 0?this.getRuleContexts(ze):this.getRuleContext(t,ze)}get ruleIndex(){return s.RULE_insertMulStatementCompatibility}enterRule(t){t.enterInsertMulStatementCompatibility&&t.enterInsertMulStatementCompatibility(this)}exitRule(t){t.exitInsertMulStatementCompatibility&&t.exitInsertMulStatementCompatibility(this)}accept(t){return t.visitInsertMulStatementCompatibility?t.visitInsertMulStatementCompatibility(this):t.visitChildren(this)}}class hn extends T{constructor(t,e){super(t,e)}KW_STATEMENT(){return this.getToken(s.KW_STATEMENT,0)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_BEGIN(){return this.getToken(s.KW_BEGIN,0)}KW_END(){return this.getToken(s.KW_END,0)}insertSimpleStatement(t){return t===void 0?this.getRuleContexts(ze):this.getRuleContext(t,ze)}SEMICOLON(t){return t===void 0?this.getTokens(s.SEMICOLON):this.getToken(s.SEMICOLON,t)}get ruleIndex(){return s.RULE_insertMulStatement}enterRule(t){t.enterInsertMulStatement&&t.enterInsertMulStatement(this)}exitRule(t){t.exitInsertMulStatement&&t.exitInsertMulStatement(this)}accept(t){return t.visitInsertMulStatement?t.visitInsertMulStatement(this):t.visitChildren(this)}}class St extends T{constructor(t,e){super(t,e)}valuesCaluse(){return this.getRuleContext(0,fo)}withClause(){return this.getRuleContext(0,Ao)}queryStatement(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}selectClause(){return this.getRuleContext(0,ln)}orderByCaluse(){return this.getRuleContext(0,ji)}limitClause(){return this.getRuleContext(0,Go)}selectStatement(){return this.getRuleContext(0,Co)}KW_INTERSECT(){return this.getToken(s.KW_INTERSECT,0)}KW_UNION(){return this.getToken(s.KW_UNION,0)}KW_EXCEPT(){return this.getToken(s.KW_EXCEPT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_queryStatement}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class fo extends T{constructor(t,e){super(t,e)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_valuesCaluse}enterRule(t){t.enterValuesCaluse&&t.enterValuesCaluse(this)}exitRule(t){t.exitValuesCaluse&&t.exitValuesCaluse(this)}accept(t){return t.visitValuesCaluse?t.visitValuesCaluse(this):t.visitChildren(this)}}class Ao extends T{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}withItem(t){return t===void 0?this.getRuleContexts(un):this.getRuleContext(t,un)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_withClause}enterRule(t){t.enterWithClause&&t.enterWithClause(this)}exitRule(t){t.exitWithClause&&t.exitWithClause(this)}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}}class un extends T{constructor(t,e){super(t,e)}withItemName(){return this.getRuleContext(0,mo)}KW_AS(){return this.getToken(s.KW_AS,0)}LR_BRACKET(t){return t===void 0?this.getTokens(s.LR_BRACKET):this.getToken(s.LR_BRACKET,t)}queryStatement(){return this.getRuleContext(0,St)}RR_BRACKET(t){return t===void 0?this.getTokens(s.RR_BRACKET):this.getToken(s.RR_BRACKET,t)}columnName(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_withItem}enterRule(t){t.enterWithItem&&t.enterWithItem(this)}exitRule(t){t.exitWithItem&&t.exitWithItem(this)}accept(t){return t.visitWithItem?t.visitWithItem(this):t.visitChildren(this)}}class mo extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_withItemName}enterRule(t){t.enterWithItemName&&t.enterWithItemName(this)}exitRule(t){t.exitWithItemName&&t.exitWithItemName(this)}accept(t){return t.visitWithItemName?t.visitWithItemName(this):t.visitChildren(this)}}class Co extends T{constructor(t,e){super(t,e)}selectClause(){return this.getRuleContext(0,ln)}fromClause(){return this.getRuleContext(0,po)}whereClause(){return this.getRuleContext(0,Uo)}groupByClause(){return this.getRuleContext(0,yo)}havingClause(){return this.getRuleContext(0,ko)}windowClause(){return this.getRuleContext(0,Po)}matchRecognizeClause(){return this.getRuleContext(0,Bo)}get ruleIndex(){return s.RULE_selectStatement}enterRule(t){t.enterSelectStatement&&t.enterSelectStatement(this)}exitRule(t){t.exitSelectStatement&&t.exitSelectStatement(this)}accept(t){return t.visitSelectStatement?t.visitSelectStatement(this):t.visitChildren(this)}}class ln extends T{constructor(t,e){super(t,e)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}projectItemDefinition(t){return t===void 0?this.getRuleContexts(Ze):this.getRuleContext(t,Ze)}setQuantifier(){return this.getRuleContext(0,Nn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}class Ze extends T{constructor(t,e){super(t,e)}overWindowItem(){return this.getRuleContext(0,Wo)}columnName(){return this.getRuleContext(0,gt)}expression(){return this.getRuleContext(0,q)}KW_AS(){return this.getToken(s.KW_AS,0)}get ruleIndex(){return s.RULE_projectItemDefinition}enterRule(t){t.enterProjectItemDefinition&&t.enterProjectItemDefinition(this)}exitRule(t){t.exitProjectItemDefinition&&t.exitProjectItemDefinition(this)}accept(t){return t.visitProjectItemDefinition?t.visitProjectItemDefinition(this):t.visitChildren(this)}}class Wo extends T{constructor(t,e){super(t,e)}primaryExpression(){return this.getRuleContext(0,ct)}KW_OVER(){return this.getToken(s.KW_OVER,0)}windowSpec(){return this.getRuleContext(0,dn)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,B)}errorCapturingIdentifier(){return this.getRuleContext(0,qi)}get ruleIndex(){return s.RULE_overWindowItem}enterRule(t){t.enterOverWindowItem&&t.enterOverWindowItem(this)}exitRule(t){t.exitOverWindowItem&&t.exitOverWindowItem(this)}accept(t){return t.visitOverWindowItem?t.visitOverWindowItem(this):t.visitChildren(this)}}class po extends T{constructor(t,e){super(t,e)}KW_FROM(){return this.getToken(s.KW_FROM,0)}tableExpression(){return this.getRuleContext(0,qe)}get ruleIndex(){return s.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}class qe extends T{constructor(t,e){super(t,e)}tableReference(t){return t===void 0?this.getRuleContexts(Ji):this.getRuleContext(t,Ji)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}inlineDataValueClause(){return this.getRuleContext(0,xo)}windoTVFClause(){return this.getRuleContext(0,go)}tableExpression(t){return t===void 0?this.getRuleContexts(qe):this.getRuleContext(t,qe)}KW_CROSS(){return this.getToken(s.KW_CROSS,0)}KW_JOIN(){return this.getToken(s.KW_JOIN,0)}KW_NATURAL(){return this.getToken(s.KW_NATURAL,0)}KW_OUTER(){return this.getToken(s.KW_OUTER,0)}joinCondition(){return this.getRuleContext(0,Mo)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}KW_INNER(){return this.getToken(s.KW_INNER,0)}get ruleIndex(){return s.RULE_tableExpression}enterRule(t){t.enterTableExpression&&t.enterTableExpression(this)}exitRule(t){t.exitTableExpression&&t.exitTableExpression(this)}accept(t){return t.visitTableExpression?t.visitTableExpression(this):t.visitChildren(this)}}class Ji extends T{constructor(t,e){super(t,e)}tablePrimary(){return this.getRuleContext(0,Ko)}tableAlias(){return this.getRuleContext(0,Cn)}get ruleIndex(){return s.RULE_tableReference}enterRule(t){t.enterTableReference&&t.enterTableReference(this)}exitRule(t){t.exitTableReference&&t.exitTableReference(this)}accept(t){return t.visitTableReference?t.visitTableReference(this):t.visitChildren(this)}}class Ko extends T{constructor(t,e){super(t,e)}tablePath(){return this.getRuleContext(0,Ne)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}systemTimePeriod(){return this.getRuleContext(0,Lo)}viewPath(){return this.getRuleContext(0,E0)}KW_LATERAL(){return this.getToken(s.KW_LATERAL,0)}LR_BRACKET(t){return t===void 0?this.getTokens(s.LR_BRACKET):this.getToken(s.LR_BRACKET,t)}functionName(){return this.getRuleContext(0,h0)}functionParam(t){return t===void 0?this.getRuleContexts(u0):this.getRuleContext(t,u0)}RR_BRACKET(t){return t===void 0?this.getTokens(s.RR_BRACKET):this.getToken(s.RR_BRACKET,t)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}queryStatement(){return this.getRuleContext(0,St)}KW_UNNEST(){return this.getToken(s.KW_UNNEST,0)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_tablePrimary}enterRule(t){t.enterTablePrimary&&t.enterTablePrimary(this)}exitRule(t){t.exitTablePrimary&&t.exitTablePrimary(this)}accept(t){return t.visitTablePrimary?t.visitTablePrimary(this):t.visitChildren(this)}}class Lo extends T{constructor(t,e){super(t,e)}KW_FOR(){return this.getToken(s.KW_FOR,0)}KW_SYSTEM_TIME(){return this.getToken(s.KW_SYSTEM_TIME,0)}KW_AS(){return this.getToken(s.KW_AS,0)}KW_OF(){return this.getToken(s.KW_OF,0)}dateTimeExpression(){return this.getRuleContext(0,No)}get ruleIndex(){return s.RULE_systemTimePeriod}enterRule(t){t.enterSystemTimePeriod&&t.enterSystemTimePeriod(this)}exitRule(t){t.exitSystemTimePeriod&&t.exitSystemTimePeriod(this)}accept(t){return t.visitSystemTimePeriod?t.visitSystemTimePeriod(this):t.visitChildren(this)}}class No extends T{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_dateTimeExpression}enterRule(t){t.enterDateTimeExpression&&t.enterDateTimeExpression(this)}exitRule(t){t.exitDateTimeExpression&&t.exitDateTimeExpression(this)}accept(t){return t.visitDateTimeExpression?t.visitDateTimeExpression(this):t.visitChildren(this)}}class xo extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}valuesDefinition(){return this.getRuleContext(0,an)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}tableAlias(){return this.getRuleContext(0,Cn)}get ruleIndex(){return s.RULE_inlineDataValueClause}enterRule(t){t.enterInlineDataValueClause&&t.enterInlineDataValueClause(this)}exitRule(t){t.exitInlineDataValueClause&&t.exitInlineDataValueClause(this)}accept(t){return t.visitInlineDataValueClause?t.visitInlineDataValueClause(this):t.visitChildren(this)}}class go extends T{constructor(t,e){super(t,e)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}windowTVFExression(){return this.getRuleContext(0,So)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_windoTVFClause}enterRule(t){t.enterWindoTVFClause&&t.enterWindoTVFClause(this)}exitRule(t){t.exitWindoTVFClause&&t.exitWindoTVFClause(this)}accept(t){return t.visitWindoTVFClause?t.visitWindoTVFClause(this):t.visitChildren(this)}}class So extends T{constructor(t,e){super(t,e)}windoTVFName(){return this.getRuleContext(0,Io)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}windowTVFParam(t){return t===void 0?this.getRuleContexts(cn):this.getRuleContext(t,cn)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_windowTVFExression}enterRule(t){t.enterWindowTVFExression&&t.enterWindowTVFExression(this)}exitRule(t){t.exitWindowTVFExression&&t.exitWindowTVFExression(this)}accept(t){return t.visitWindowTVFExression?t.visitWindowTVFExression(this):t.visitChildren(this)}}class Io extends T{constructor(t,e){super(t,e)}KW_TUMBLE(){return this.getToken(s.KW_TUMBLE,0)}KW_HOP(){return this.getToken(s.KW_HOP,0)}KW_CUMULATE(){return this.getToken(s.KW_CUMULATE,0)}get ruleIndex(){return s.RULE_windoTVFName}enterRule(t){t.enterWindoTVFName&&t.enterWindoTVFName(this)}exitRule(t){t.exitWindoTVFName&&t.exitWindoTVFName(this)}accept(t){return t.visitWindoTVFName?t.visitWindoTVFName(this):t.visitChildren(this)}}class cn extends T{constructor(t,e){super(t,e)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}timeAttrColumn(){return this.getRuleContext(0,En)}columnDescriptor(){return this.getRuleContext(0,Do)}timeIntervalExpression(){return this.getRuleContext(0,K1)}KW_DATA(){return this.getToken(s.KW_DATA,0)}DOUBLE_RIGHT_ARROW(){return this.getToken(s.DOUBLE_RIGHT_ARROW,0)}KW_TIMECOL(){return this.getToken(s.KW_TIMECOL,0)}timeIntervalParamName(){return this.getRuleContext(0,Oo)}get ruleIndex(){return s.RULE_windowTVFParam}enterRule(t){t.enterWindowTVFParam&&t.enterWindowTVFParam(this)}exitRule(t){t.exitWindowTVFParam&&t.exitWindowTVFParam(this)}accept(t){return t.visitWindowTVFParam?t.visitWindowTVFParam(this):t.visitChildren(this)}}class Oo extends T{constructor(t,e){super(t,e)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_TIMECOL(){return this.getToken(s.KW_TIMECOL,0)}KW_SIZE(){return this.getToken(s.KW_SIZE,0)}KW_OFFSET(){return this.getToken(s.KW_OFFSET,0)}KW_STEP(){return this.getToken(s.KW_STEP,0)}KW_SLIDE(){return this.getToken(s.KW_SLIDE,0)}get ruleIndex(){return s.RULE_timeIntervalParamName}enterRule(t){t.enterTimeIntervalParamName&&t.enterTimeIntervalParamName(this)}exitRule(t){t.exitTimeIntervalParamName&&t.exitTimeIntervalParamName(this)}accept(t){return t.visitTimeIntervalParamName?t.visitTimeIntervalParamName(this):t.visitChildren(this)}}class Do extends T{constructor(t,e){super(t,e)}KW_DESCRIPTOR(){return this.getToken(s.KW_DESCRIPTOR,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}columnName(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_columnDescriptor}enterRule(t){t.enterColumnDescriptor&&t.enterColumnDescriptor(this)}exitRule(t){t.exitColumnDescriptor&&t.exitColumnDescriptor(this)}accept(t){return t.visitColumnDescriptor?t.visitColumnDescriptor(this):t.visitChildren(this)}}class Mo extends T{constructor(t,e){super(t,e)}KW_ON(){return this.getToken(s.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,At)}KW_USING(){return this.getToken(s.KW_USING,0)}columnNameList(){return this.getRuleContext(0,$e)}get ruleIndex(){return s.RULE_joinCondition}enterRule(t){t.enterJoinCondition&&t.enterJoinCondition(this)}exitRule(t){t.exitJoinCondition&&t.exitJoinCondition(this)}accept(t){return t.visitJoinCondition?t.visitJoinCondition(this):t.visitChildren(this)}}class Uo extends T{constructor(t,e){super(t,e)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,At)}get ruleIndex(){return s.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}class yo extends T{constructor(t,e){super(t,e)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_BY(){return this.getToken(s.KW_BY,0)}groupItemDefinition(t){return t===void 0?this.getRuleContexts(p1):this.getRuleContext(t,p1)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}class p1 extends T{constructor(t,e){super(t,e)}columnName(){return this.getRuleContext(0,gt)}groupWindowFunction(){return this.getRuleContext(0,bo)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}groupingSetsNotaionName(){return this.getRuleContext(0,vo)}groupingSets(){return this.getRuleContext(0,wo)}groupItemDefinition(t){return t===void 0?this.getRuleContexts(p1):this.getRuleContext(t,p1)}get ruleIndex(){return s.RULE_groupItemDefinition}enterRule(t){t.enterGroupItemDefinition&&t.enterGroupItemDefinition(this)}exitRule(t){t.exitGroupItemDefinition&&t.exitGroupItemDefinition(this)}accept(t){return t.visitGroupItemDefinition?t.visitGroupItemDefinition(this):t.visitChildren(this)}}class wo extends T{constructor(t,e){super(t,e)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}KW_SETS(){return this.getToken(s.KW_SETS,0)}get ruleIndex(){return s.RULE_groupingSets}enterRule(t){t.enterGroupingSets&&t.enterGroupingSets(this)}exitRule(t){t.exitGroupingSets&&t.exitGroupingSets(this)}accept(t){return t.visitGroupingSets?t.visitGroupingSets(this):t.visitChildren(this)}}class vo extends T{constructor(t,e){super(t,e)}KW_CUBE(){return this.getToken(s.KW_CUBE,0)}KW_ROLLUP(){return this.getToken(s.KW_ROLLUP,0)}get ruleIndex(){return s.RULE_groupingSetsNotaionName}enterRule(t){t.enterGroupingSetsNotaionName&&t.enterGroupingSetsNotaionName(this)}exitRule(t){t.exitGroupingSetsNotaionName&&t.exitGroupingSetsNotaionName(this)}accept(t){return t.visitGroupingSetsNotaionName?t.visitGroupingSetsNotaionName(this):t.visitChildren(this)}}class bo extends T{constructor(t,e){super(t,e)}groupWindowFunctionName(){return this.getRuleContext(0,Ho)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}timeAttrColumn(){return this.getRuleContext(0,En)}COMMA(){return this.getToken(s.COMMA,0)}timeIntervalExpression(){return this.getRuleContext(0,K1)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_groupWindowFunction}enterRule(t){t.enterGroupWindowFunction&&t.enterGroupWindowFunction(this)}exitRule(t){t.exitGroupWindowFunction&&t.exitGroupWindowFunction(this)}accept(t){return t.visitGroupWindowFunction?t.visitGroupWindowFunction(this):t.visitChildren(this)}}class Ho extends T{constructor(t,e){super(t,e)}KW_TUMBLE(){return this.getToken(s.KW_TUMBLE,0)}KW_HOP(){return this.getToken(s.KW_HOP,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}get ruleIndex(){return s.RULE_groupWindowFunctionName}enterRule(t){t.enterGroupWindowFunctionName&&t.enterGroupWindowFunctionName(this)}exitRule(t){t.exitGroupWindowFunctionName&&t.exitGroupWindowFunctionName(this)}accept(t){return t.visitGroupWindowFunctionName?t.visitGroupWindowFunctionName(this):t.visitChildren(this)}}class En extends T{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_timeAttrColumn}enterRule(t){t.enterTimeAttrColumn&&t.enterTimeAttrColumn(this)}exitRule(t){t.exitTimeAttrColumn&&t.exitTimeAttrColumn(this)}accept(t){return t.visitTimeAttrColumn?t.visitTimeAttrColumn(this):t.visitChildren(this)}}class ko extends T{constructor(t,e){super(t,e)}KW_HAVING(){return this.getToken(s.KW_HAVING,0)}booleanExpression(){return this.getRuleContext(0,At)}get ruleIndex(){return s.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}class Po extends T{constructor(t,e){super(t,e)}KW_WINDOW(){return this.getToken(s.KW_WINDOW,0)}namedWindow(t){return t===void 0?this.getRuleContexts(_n):this.getRuleContext(t,_n)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_windowClause}enterRule(t){t.enterWindowClause&&t.enterWindowClause(this)}exitRule(t){t.exitWindowClause&&t.exitWindowClause(this)}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}}class _n extends T{constructor(t,e){super(t,e)}KW_AS(){return this.getToken(s.KW_AS,0)}windowSpec(){return this.getRuleContext(0,dn)}errorCapturingIdentifier(){return this.getRuleContext(0,qi)}get ruleIndex(){return s.RULE_namedWindow}enterRule(t){t.enterNamedWindow&&t.enterNamedWindow(this)}exitRule(t){t.exitNamedWindow&&t.exitNamedWindow(this)}accept(t){return t.visitNamedWindow?t.visitNamedWindow(this):t.visitChildren(this)}}class dn extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}partitionByClause(){return this.getRuleContext(0,Tn)}orderByCaluse(){return this.getRuleContext(0,ji)}windowFrame(){return this.getRuleContext(0,jo)}errorCapturingIdentifier(){return this.getRuleContext(0,qi)}get ruleIndex(){return s.RULE_windowSpec}enterRule(t){t.enterWindowSpec&&t.enterWindowSpec(this)}exitRule(t){t.exitWindowSpec&&t.exitWindowSpec(this)}accept(t){return t.visitWindowSpec?t.visitWindowSpec(this):t.visitChildren(this)}}class Bo extends T{constructor(t,e){super(t,e)}KW_MATCH_RECOGNIZE(){return this.getToken(s.KW_MATCH_RECOGNIZE,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}patternVariablesDefination(){return this.getRuleContext(0,Jo)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}partitionByClause(){return this.getRuleContext(0,Tn)}orderByCaluse(){return this.getRuleContext(0,ji)}measuresClause(){return this.getRuleContext(0,Yo)}outputMode(){return this.getRuleContext(0,Xo)}afterMatchStrategy(){return this.getRuleContext(0,Qo)}patternDefination(){return this.getRuleContext(0,Fo)}identifier(){return this.getRuleContext(0,B)}KW_AS(){return this.getToken(s.KW_AS,0)}get ruleIndex(){return s.RULE_matchRecognizeClause}enterRule(t){t.enterMatchRecognizeClause&&t.enterMatchRecognizeClause(this)}exitRule(t){t.exitMatchRecognizeClause&&t.exitMatchRecognizeClause(this)}accept(t){return t.visitMatchRecognizeClause?t.visitMatchRecognizeClause(this):t.visitChildren(this)}}class ji extends T{constructor(t,e){super(t,e)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}orderItemDefition(t){return t===void 0?this.getRuleContexts(Rn):this.getRuleContext(t,Rn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_orderByCaluse}enterRule(t){t.enterOrderByCaluse&&t.enterOrderByCaluse(this)}exitRule(t){t.exitOrderByCaluse&&t.exitOrderByCaluse(this)}accept(t){return t.visitOrderByCaluse?t.visitOrderByCaluse(this):t.visitChildren(this)}}class Rn extends T{constructor(t,e){super(t,e)}columnName(){return this.getRuleContext(0,gt)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}get ruleIndex(){return s.RULE_orderItemDefition}enterRule(t){t.enterOrderItemDefition&&t.enterOrderItemDefition(this)}exitRule(t){t.exitOrderItemDefition&&t.exitOrderItemDefition(this)}accept(t){return t.visitOrderItemDefition?t.visitOrderItemDefition(this):t.visitChildren(this)}}class Go extends T{constructor(t,e){super(t,e)}KW_LIMIT(){return this.getToken(s.KW_LIMIT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_limitClause}enterRule(t){t.enterLimitClause&&t.enterLimitClause(this)}exitRule(t){t.exitLimitClause&&t.exitLimitClause(this)}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}}class Tn extends T{constructor(t,e){super(t,e)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(){return this.getToken(s.KW_BY,0)}columnName(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_partitionByClause}enterRule(t){t.enterPartitionByClause&&t.enterPartitionByClause(this)}exitRule(t){t.exitPartitionByClause&&t.exitPartitionByClause(this)}accept(t){return t.visitPartitionByClause?t.visitPartitionByClause(this):t.visitChildren(this)}}class Vo extends T{constructor(t,e){super(t,e)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}QUESTION_MARK_SIGN(){return this.getToken(s.QUESTION_MARK_SIGN,0)}LB_BRACKET(){return this.getToken(s.LB_BRACKET,0)}DIG_LITERAL(t){return t===void 0?this.getTokens(s.DIG_LITERAL):this.getToken(s.DIG_LITERAL,t)}COMMA(){return this.getToken(s.COMMA,0)}RB_BRACKET(){return this.getToken(s.RB_BRACKET,0)}get ruleIndex(){return s.RULE_quantifiers}enterRule(t){t.enterQuantifiers&&t.enterQuantifiers(this)}exitRule(t){t.exitQuantifiers&&t.exitQuantifiers(this)}accept(t){return t.visitQuantifiers?t.visitQuantifiers(this):t.visitChildren(this)}}class Yo extends T{constructor(t,e){super(t,e)}KW_MEASURES(){return this.getToken(s.KW_MEASURES,0)}projectItemDefinition(t){return t===void 0?this.getRuleContexts(Ze):this.getRuleContext(t,Ze)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_measuresClause}enterRule(t){t.enterMeasuresClause&&t.enterMeasuresClause(this)}exitRule(t){t.exitMeasuresClause&&t.exitMeasuresClause(this)}accept(t){return t.visitMeasuresClause?t.visitMeasuresClause(this):t.visitChildren(this)}}class Fo extends T{constructor(t,e){super(t,e)}KW_PATTERN(){return this.getToken(s.KW_PATTERN,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}patternVariable(t){return t===void 0?this.getRuleContexts(fn):this.getRuleContext(t,fn)}withinClause(){return this.getRuleContext(0,zo)}get ruleIndex(){return s.RULE_patternDefination}enterRule(t){t.enterPatternDefination&&t.enterPatternDefination(this)}exitRule(t){t.exitPatternDefination&&t.exitPatternDefination(this)}accept(t){return t.visitPatternDefination?t.visitPatternDefination(this):t.visitChildren(this)}}class fn extends T{constructor(t,e){super(t,e)}unquotedIdentifier(){return this.getRuleContext(0,er)}quantifiers(){return this.getRuleContext(0,Vo)}get ruleIndex(){return s.RULE_patternVariable}enterRule(t){t.enterPatternVariable&&t.enterPatternVariable(this)}exitRule(t){t.exitPatternVariable&&t.exitPatternVariable(this)}accept(t){return t.visitPatternVariable?t.visitPatternVariable(this):t.visitChildren(this)}}class Xo extends T{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_PER(){return this.getToken(s.KW_PER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}KW_ONE(){return this.getToken(s.KW_ONE,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}get ruleIndex(){return s.RULE_outputMode}enterRule(t){t.enterOutputMode&&t.enterOutputMode(this)}exitRule(t){t.exitOutputMode&&t.exitOutputMode(this)}accept(t){return t.visitOutputMode?t.visitOutputMode(this):t.visitChildren(this)}}class Qo extends T{constructor(t,e){super(t,e)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}KW_SKIP(){return this.getToken(s.KW_SKIP,0)}KW_PAST(){return this.getToken(s.KW_PAST,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_NEXT(){return this.getToken(s.KW_NEXT,0)}unquotedIdentifier(){return this.getRuleContext(0,er)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}get ruleIndex(){return s.RULE_afterMatchStrategy}enterRule(t){t.enterAfterMatchStrategy&&t.enterAfterMatchStrategy(this)}exitRule(t){t.exitAfterMatchStrategy&&t.exitAfterMatchStrategy(this)}accept(t){return t.visitAfterMatchStrategy?t.visitAfterMatchStrategy(this):t.visitChildren(this)}}class Jo extends T{constructor(t,e){super(t,e)}KW_DEFINE(){return this.getToken(s.KW_DEFINE,0)}projectItemDefinition(t){return t===void 0?this.getRuleContexts(Ze):this.getRuleContext(t,Ze)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_patternVariablesDefination}enterRule(t){t.enterPatternVariablesDefination&&t.enterPatternVariablesDefination(this)}exitRule(t){t.exitPatternVariablesDefination&&t.exitPatternVariablesDefination(this)}accept(t){return t.visitPatternVariablesDefination?t.visitPatternVariablesDefination(this):t.visitChildren(this)}}class jo extends T{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}timeIntervalExpression(){return this.getRuleContext(0,K1)}frameBound(){return this.getRuleContext(0,$o)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}get ruleIndex(){return s.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class $o extends T{constructor(t,e){super(t,e)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}get ruleIndex(){return s.RULE_frameBound}enterRule(t){t.enterFrameBound&&t.enterFrameBound(this)}exitRule(t){t.exitFrameBound&&t.exitFrameBound(this)}accept(t){return t.visitFrameBound?t.visitFrameBound(this):t.visitChildren(this)}}class zo extends T{constructor(t,e){super(t,e)}KW_WITHIN(){return this.getToken(s.KW_WITHIN,0)}timeIntervalExpression(){return this.getRuleContext(0,K1)}get ruleIndex(){return s.RULE_withinClause}enterRule(t){t.enterWithinClause&&t.enterWithinClause(this)}exitRule(t){t.exitWithinClause&&t.exitWithinClause(this)}accept(t){return t.visitWithinClause?t.visitWithinClause(this):t.visitChildren(this)}}class q extends T{constructor(t,e){super(t,e)}booleanExpression(){return this.getRuleContext(0,At)}get ruleIndex(){return s.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class At extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}class $3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NOT(){return this.getToken(s.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,At)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}class z3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,nt)}predicate(){return this.getRuleContext(0,qo)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}class Z3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}queryStatement(){return this.getRuleContext(0,St)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}class q3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(){return this.getRuleContext(0,At)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(s.KW_UNKNOWN,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterLogicalNested&&t.enterLogicalNested(this)}exitRule(t){t.exitLogicalNested&&t.exitLogicalNested(this)}accept(t){return t.visitLogicalNested?t.visitLogicalNested(this):t.visitChildren(this)}}class Zo extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_OR(){return this.getToken(s.KW_OR,0)}enterRule(t){t.enterLogicalBinary&&t.enterLogicalBinary(this)}exitRule(t){t.exitLogicalBinary&&t.exitLogicalBinary(this)}accept(t){return t.visitLogicalBinary?t.visitLogicalBinary(this):t.visitChildren(this)}}class qo extends T{constructor(t,e){super(t,e)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ASYMMETRIC(){return this.getToken(s.KW_ASYMMETRIC,0)}KW_SYMMETRIC(){return this.getToken(s.KW_SYMMETRIC,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}KW_IN(){return this.getToken(s.KW_IN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}queryStatement(){return this.getRuleContext(0,St)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}KW_RLIKE(){return this.getToken(s.KW_RLIKE,0)}likePredicate(){return this.getRuleContext(0,An)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(s.KW_UNKNOWN,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_SIMILAR(){return this.getToken(s.KW_SIMILAR,0)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}stringLiteral(){return this.getRuleContext(0,t1)}get ruleIndex(){return s.RULE_predicate}enterRule(t){t.enterPredicate&&t.enterPredicate(this)}exitRule(t){t.exitPredicate&&t.exitPredicate(this)}accept(t){return t.visitPredicate?t.visitPredicate(this):t.visitChildren(this)}}class An extends T{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_ANY(){return this.getToken(s.KW_ANY,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}KW_NOT(){return this.getToken(s.KW_NOT,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}valueExpression(){return this.getRuleContext(0,nt)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}stringLiteral(){return this.getRuleContext(0,t1)}get ruleIndex(){return s.RULE_likePredicate}enterRule(t){t.enterLikePredicate&&t.enterLikePredicate(this)}exitRule(t){t.exitLikePredicate&&t.exitLikePredicate(this)}accept(t){return t.visitLikePredicate?t.visitLikePredicate(this):t.visitChildren(this)}}class nt extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}class t4 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,ct)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}class e4 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,Eh)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}class o0 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}SLASH_SIGN(){return this.getToken(s.SLASH_SIGN,0)}PENCENT_SIGN(){return this.getToken(s.PENCENT_SIGN,0)}KW_DIV(){return this.getToken(s.KW_DIV,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}DOUBLE_VERTICAL_SIGN(){return this.getToken(s.DOUBLE_VERTICAL_SIGN,0)}BIT_AND_OP(){return this.getToken(s.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(s.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(s.BIT_OR_OP,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}class s4 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,nt)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}BIT_NOT_OP(){return this.getToken(s.BIT_NOT_OP,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}class ct extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}class i4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}dereferenceDefinition(){return this.getRuleContext(0,$i)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}class r4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}whenClause(t){return t===void 0?this.getRuleContexts(l0):this.getRuleContext(t,l0)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}class n4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,B)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}class a4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LAST(){return this.getToken(s.KW_LAST,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}enterRule(t){t.enterLast&&t.enterLast(this)}exitRule(t){t.exitLast&&t.exitLast(this)}accept(t){return t.visitLast?t.visitLast(this):t.visitChildren(this)}}class th extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}uid(){return this.getRuleContext(0,ft)}DOT(){return this.getToken(s.DOT,0)}enterRule(t){t.enterStar&&t.enterStar(this)}exitRule(t){t.exitStar&&t.exitStar(this)}accept(t){return t.visitStar?t.visitStar(this):t.visitChildren(this)}}class o4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LS_BRACKET(){return this.getToken(s.LS_BRACKET,0)}RS_BRACKET(){return this.getToken(s.RS_BRACKET,0)}primaryExpression(){return this.getRuleContext(0,ct)}valueExpression(){return this.getRuleContext(0,nt)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}class h4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}queryStatement(){return this.getRuleContext(0,St)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}class u4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CAST(){return this.getToken(s.KW_CAST,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}KW_AS(){return this.getToken(s.KW_AS,0)}columnType(){return this.getRuleContext(0,ue)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}class l4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}constant(){return this.getRuleContext(0,R0)}enterRule(t){t.enterConstantDefault&&t.enterConstantDefault(this)}exitRule(t){t.exitConstantDefault&&t.exitConstantDefault(this)}accept(t){return t.visitConstantDefault?t.visitConstantDefault(this):t.visitChildren(this)}}class c4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}class E4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionName(){return this.getRuleContext(0,h0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}functionParam(t){return t===void 0?this.getRuleContexts(u0):this.getRuleContext(t,u0)}setQuantifier(){return this.getRuleContext(0,Nn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}class _4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(l0):this.getRuleContext(t,l0)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,q)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}class d4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}KW_IN(){return this.getToken(s.KW_IN,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}class R4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}enterRule(t){t.enterDateFunctionExpression&&t.enterDateFunctionExpression(this)}exitRule(t){t.exitDateFunctionExpression&&t.exitDateFunctionExpression(this)}accept(t){return t.visitDateFunctionExpression?t.visitDateFunctionExpression(this):t.visitChildren(this)}}class T4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}enterRule(t){t.enterFirst&&t.enterFirst(this)}exitRule(t){t.exitFirst&&t.exitFirst(this)}accept(t){return t.visitFirst?t.visitFirst(this):t.visitChildren(this)}}class eh extends T{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class h0 extends T{constructor(t,e){super(t,e)}reservedKeywordsUsedAsFuncName(){return this.getRuleContext(0,Rh)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}class u0 extends T{constructor(t,e){super(t,e)}reservedKeywordsUsedAsFuncParam(){return this.getRuleContext(0,dh)}timeIntervalUnit(){return this.getRuleContext(0,N1)}timePointUnit(){return this.getRuleContext(0,xn)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_functionParam}enterRule(t){t.enterFunctionParam&&t.enterFunctionParam(this)}exitRule(t){t.exitFunctionParam&&t.exitFunctionParam(this)}accept(t){return t.visitFunctionParam?t.visitFunctionParam(this):t.visitChildren(this)}}class $i extends T{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_dereferenceDefinition}enterRule(t){t.enterDereferenceDefinition&&t.enterDereferenceDefinition(this)}exitRule(t){t.exitDereferenceDefinition&&t.exitDereferenceDefinition(this)}accept(t){return t.visitDereferenceDefinition?t.visitDereferenceDefinition(this):t.visitChildren(this)}}class f4 extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_correlationName}enterRule(t){t.enterCorrelationName&&t.enterCorrelationName(this)}exitRule(t){t.exitCorrelationName&&t.exitCorrelationName(this)}accept(t){return t.visitCorrelationName?t.visitCorrelationName(this):t.visitChildren(this)}}class sh extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}dereferenceDefinition(){return this.getRuleContext(0,$i)}get ruleIndex(){return s.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class K1 extends T{constructor(t,e){super(t,e)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}errorCapturingMultiUnitsInterval(){return this.getRuleContext(0,ih)}errorCapturingUnitToUnitInterval(){return this.getRuleContext(0,rh)}get ruleIndex(){return s.RULE_timeIntervalExpression}enterRule(t){t.enterTimeIntervalExpression&&t.enterTimeIntervalExpression(this)}exitRule(t){t.exitTimeIntervalExpression&&t.exitTimeIntervalExpression(this)}accept(t){return t.visitTimeIntervalExpression?t.visitTimeIntervalExpression(this):t.visitChildren(this)}}class ih extends T{constructor(t,e){super(t,e)}multiUnitsInterval(){return this.getRuleContext(0,mn)}unitToUnitInterval(){return this.getRuleContext(0,zi)}get ruleIndex(){return s.RULE_errorCapturingMultiUnitsInterval}enterRule(t){t.enterErrorCapturingMultiUnitsInterval&&t.enterErrorCapturingMultiUnitsInterval(this)}exitRule(t){t.exitErrorCapturingMultiUnitsInterval&&t.exitErrorCapturingMultiUnitsInterval(this)}accept(t){return t.visitErrorCapturingMultiUnitsInterval?t.visitErrorCapturingMultiUnitsInterval(this):t.visitChildren(this)}}class mn extends T{constructor(t,e){super(t,e)}intervalValue(t){return t===void 0?this.getRuleContexts(Zi):this.getRuleContext(t,Zi)}timeIntervalUnit(t){return t===void 0?this.getRuleContexts(N1):this.getRuleContext(t,N1)}get ruleIndex(){return s.RULE_multiUnitsInterval}enterRule(t){t.enterMultiUnitsInterval&&t.enterMultiUnitsInterval(this)}exitRule(t){t.exitMultiUnitsInterval&&t.exitMultiUnitsInterval(this)}accept(t){return t.visitMultiUnitsInterval?t.visitMultiUnitsInterval(this):t.visitChildren(this)}}class rh extends T{constructor(t,e){super(t,e)}unitToUnitInterval(t){return t===void 0?this.getRuleContexts(zi):this.getRuleContext(t,zi)}multiUnitsInterval(){return this.getRuleContext(0,mn)}get ruleIndex(){return s.RULE_errorCapturingUnitToUnitInterval}enterRule(t){t.enterErrorCapturingUnitToUnitInterval&&t.enterErrorCapturingUnitToUnitInterval(this)}exitRule(t){t.exitErrorCapturingUnitToUnitInterval&&t.exitErrorCapturingUnitToUnitInterval(this)}accept(t){return t.visitErrorCapturingUnitToUnitInterval?t.visitErrorCapturingUnitToUnitInterval(this):t.visitChildren(this)}}class zi extends T{constructor(t,e){super(t,e)}KW_TO(){return this.getToken(s.KW_TO,0)}intervalValue(){return this.getRuleContext(0,Zi)}timeIntervalUnit(t){return t===void 0?this.getRuleContexts(N1):this.getRuleContext(t,N1)}get ruleIndex(){return s.RULE_unitToUnitInterval}enterRule(t){t.enterUnitToUnitInterval&&t.enterUnitToUnitInterval(this)}exitRule(t){t.exitUnitToUnitInterval&&t.exitUnitToUnitInterval(this)}accept(t){return t.visitUnitToUnitInterval?t.visitUnitToUnitInterval(this):t.visitChildren(this)}}class Zi extends T{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}REAL_LITERAL(){return this.getToken(s.REAL_LITERAL,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}class Cn extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}KW_AS(){return this.getToken(s.KW_AS,0)}identifierList(){return this.getRuleContext(0,nh)}get ruleIndex(){return s.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}class qi extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}errorCapturingIdentifierExtra(){return this.getRuleContext(0,tr)}get ruleIndex(){return s.RULE_errorCapturingIdentifier}enterRule(t){t.enterErrorCapturingIdentifier&&t.enterErrorCapturingIdentifier(this)}exitRule(t){t.exitErrorCapturingIdentifier&&t.exitErrorCapturingIdentifier(this)}accept(t){return t.visitErrorCapturingIdentifier?t.visitErrorCapturingIdentifier(this):t.visitChildren(this)}}class tr extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_errorCapturingIdentifierExtra}copyFrom(t){super.copyFrom(t)}}class A4 extends tr{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MINUS(t){return t===void 0?this.getTokens(s.KW_MINUS):this.getToken(s.KW_MINUS,t)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}enterRule(t){t.enterErrorIdent&&t.enterErrorIdent(this)}exitRule(t){t.exitErrorIdent&&t.exitErrorIdent(this)}accept(t){return t.visitErrorIdent?t.visitErrorIdent(this):t.visitChildren(this)}}class m4 extends tr{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterRealIdent&&t.enterRealIdent(this)}exitRule(t){t.exitRealIdent&&t.exitRealIdent(this)}accept(t){return t.visitRealIdent?t.visitRealIdent(this):t.visitChildren(this)}}class nh extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}identifierSeq(){return this.getRuleContext(0,ah)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_identifierList}enterRule(t){t.enterIdentifierList&&t.enterIdentifierList(this)}exitRule(t){t.exitIdentifierList&&t.exitIdentifierList(this)}accept(t){return t.visitIdentifierList?t.visitIdentifierList(this):t.visitChildren(this)}}class ah extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_identifierSeq}enterRule(t){t.enterIdentifierSeq&&t.enterIdentifierSeq(this)}exitRule(t){t.exitIdentifierSeq&&t.exitIdentifierSeq(this)}accept(t){return t.visitIdentifierSeq?t.visitIdentifierSeq(this):t.visitChildren(this)}}class B extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_identifier}copyFrom(t){super.copyFrom(t)}}class C4 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}quotedIdentifier(){return this.getRuleContext(0,oh)}enterRule(t){t.enterQuotedIdentifierAlternative&&t.enterQuotedIdentifierAlternative(this)}exitRule(t){t.exitQuotedIdentifierAlternative&&t.exitQuotedIdentifierAlternative(this)}accept(t){return t.visitQuotedIdentifierAlternative?t.visitQuotedIdentifierAlternative(this):t.visitChildren(this)}}class W4 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}nonReservedKeywords(){return this.getRuleContext(0,Th)}enterRule(t){t.enterNonReservedKeywordsAlternative&&t.enterNonReservedKeywordsAlternative(this)}exitRule(t){t.exitNonReservedKeywordsAlternative&&t.exitNonReservedKeywordsAlternative(this)}accept(t){return t.visitNonReservedKeywordsAlternative?t.visitNonReservedKeywordsAlternative(this):t.visitChildren(this)}}class p4 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}unquotedIdentifier(){return this.getRuleContext(0,er)}enterRule(t){t.enterUnquotedIdentifierAlternative&&t.enterUnquotedIdentifierAlternative(this)}exitRule(t){t.exitUnquotedIdentifierAlternative&&t.exitUnquotedIdentifierAlternative(this)}accept(t){return t.visitUnquotedIdentifierAlternative?t.visitUnquotedIdentifierAlternative(this):t.visitChildren(this)}}class er extends T{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}ID_LITERAL(){return this.getToken(s.ID_LITERAL,0)}get ruleIndex(){return s.RULE_unquotedIdentifier}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}class oh extends T{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_quotedIdentifier}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class l0 extends T{constructor(t,e){super(t,e)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}get ruleIndex(){return s.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class Wn extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_catalogPath}enterRule(t){t.enterCatalogPath&&t.enterCatalogPath(this)}exitRule(t){t.exitCatalogPath&&t.exitCatalogPath(this)}accept(t){return t.visitCatalogPath?t.visitCatalogPath(this):t.visitChildren(this)}}class hh extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_catalogPathCreate}enterRule(t){t.enterCatalogPathCreate&&t.enterCatalogPathCreate(this)}exitRule(t){t.exitCatalogPathCreate&&t.exitCatalogPathCreate(this)}accept(t){return t.visitCatalogPathCreate?t.visitCatalogPathCreate(this):t.visitChildren(this)}}class c0 extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(){return this.getToken(s.DOT,0)}get ruleIndex(){return s.RULE_databasePath}enterRule(t){t.enterDatabasePath&&t.enterDatabasePath(this)}exitRule(t){t.exitDatabasePath&&t.exitDatabasePath(this)}accept(t){return t.visitDatabasePath?t.visitDatabasePath(this):t.visitChildren(this)}}class uh extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(){return this.getToken(s.DOT,0)}get ruleIndex(){return s.RULE_databasePathCreate}enterRule(t){t.enterDatabasePathCreate&&t.enterDatabasePathCreate(this)}exitRule(t){t.exitDatabasePathCreate&&t.exitDatabasePathCreate(this)}accept(t){return t.visitDatabasePathCreate?t.visitDatabasePathCreate(this):t.visitChildren(this)}}class pn extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_tablePathCreate}enterRule(t){t.enterTablePathCreate&&t.enterTablePathCreate(this)}exitRule(t){t.exitTablePathCreate&&t.exitTablePathCreate(this)}accept(t){return t.visitTablePathCreate?t.visitTablePathCreate(this):t.visitChildren(this)}}class Ne extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_tablePath}enterRule(t){t.enterTablePath&&t.enterTablePath(this)}exitRule(t){t.exitTablePath&&t.exitTablePath(this)}accept(t){return t.visitTablePath?t.visitTablePath(this):t.visitChildren(this)}}class E0 extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_viewPath}enterRule(t){t.enterViewPath&&t.enterViewPath(this)}exitRule(t){t.exitViewPath&&t.exitViewPath(this)}accept(t){return t.visitViewPath?t.visitViewPath(this):t.visitChildren(this)}}class lh extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_viewPathCreate}enterRule(t){t.enterViewPathCreate&&t.enterViewPathCreate(this)}exitRule(t){t.exitViewPathCreate&&t.exitViewPathCreate(this)}accept(t){return t.visitViewPathCreate?t.visitViewPathCreate(this):t.visitChildren(this)}}class ft extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_uid}enterRule(t){t.enterUid&&t.enterUid(this)}exitRule(t){t.exitUid&&t.exitUid(this)}accept(t){return t.visitUid?t.visitUid(this):t.visitChildren(this)}}class _0 extends T{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}tablePropertyList(){return this.getRuleContext(0,d0)}get ruleIndex(){return s.RULE_withOption}enterRule(t){t.enterWithOption&&t.enterWithOption(this)}exitRule(t){t.exitWithOption&&t.exitWithOption(this)}accept(t){return t.visitWithOption?t.visitWithOption(this):t.visitChildren(this)}}class L1 extends T{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class xe extends T{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class d0 extends T{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}tableProperty(t){return t===void 0?this.getRuleContexts(sr):this.getRuleContext(t,sr)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_tablePropertyList}enterRule(t){t.enterTablePropertyList&&t.enterTablePropertyList(this)}exitRule(t){t.exitTablePropertyList&&t.exitTablePropertyList(this)}accept(t){return t.visitTablePropertyList?t.visitTablePropertyList(this):t.visitChildren(this)}}class sr extends T{constructor(t,e){super(t,e)}tablePropertyKey(){return this.getRuleContext(0,Kn)}tablePropertyValue(){return this.getRuleContext(0,ch)}EQUAL_SYMBOL(){return this.getToken(s.EQUAL_SYMBOL,0)}get ruleIndex(){return s.RULE_tableProperty}enterRule(t){t.enterTableProperty&&t.enterTableProperty(this)}exitRule(t){t.exitTableProperty&&t.exitTableProperty(this)}accept(t){return t.visitTableProperty?t.visitTableProperty(this):t.visitChildren(this)}}class Kn extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}dereferenceDefinition(){return this.getRuleContext(0,$i)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_tablePropertyKey}enterRule(t){t.enterTablePropertyKey&&t.enterTablePropertyKey(this)}exitRule(t){t.exitTablePropertyKey&&t.exitTablePropertyKey(this)}accept(t){return t.visitTablePropertyKey?t.visitTablePropertyKey(this):t.visitChildren(this)}}class ch extends T{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}REAL_LITERAL(){return this.getToken(s.REAL_LITERAL,0)}booleanLiteral(){return this.getRuleContext(0,Ln)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_tablePropertyValue}enterRule(t){t.enterTablePropertyValue&&t.enterTablePropertyValue(this)}exitRule(t){t.exitTablePropertyValue&&t.exitTablePropertyValue(this)}accept(t){return t.visitTablePropertyValue?t.visitTablePropertyValue(this):t.visitChildren(this)}}class K4 extends T{constructor(t,e){super(t,e)}KW_AND(){return this.getToken(s.KW_AND,0)}BIT_AND_OP(t){return t===void 0?this.getTokens(s.BIT_AND_OP):this.getToken(s.BIT_AND_OP,t)}KW_OR(){return this.getToken(s.KW_OR,0)}BIT_OR_OP(t){return t===void 0?this.getTokens(s.BIT_OR_OP):this.getToken(s.BIT_OR_OP,t)}get ruleIndex(){return s.RULE_logicalOperator}enterRule(t){t.enterLogicalOperator&&t.enterLogicalOperator(this)}exitRule(t){t.exitLogicalOperator&&t.exitLogicalOperator(this)}accept(t){return t.visitLogicalOperator?t.visitLogicalOperator(this):t.visitChildren(this)}}class Eh extends T{constructor(t,e){super(t,e)}EQUAL_SYMBOL(){return this.getToken(s.EQUAL_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}EXCLAMATION_SYMBOL(){return this.getToken(s.EXCLAMATION_SYMBOL,0)}get ruleIndex(){return s.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class L4 extends T{constructor(t,e){super(t,e)}LESS_SYMBOL(t){return t===void 0?this.getTokens(s.LESS_SYMBOL):this.getToken(s.LESS_SYMBOL,t)}GREATER_SYMBOL(t){return t===void 0?this.getTokens(s.GREATER_SYMBOL):this.getToken(s.GREATER_SYMBOL,t)}BIT_AND_OP(){return this.getToken(s.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(s.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(s.BIT_OR_OP,0)}get ruleIndex(){return s.RULE_bitOperator}enterRule(t){t.enterBitOperator&&t.enterBitOperator(this)}exitRule(t){t.exitBitOperator&&t.exitBitOperator(this)}accept(t){return t.visitBitOperator?t.visitBitOperator(this):t.visitChildren(this)}}class N4 extends T{constructor(t,e){super(t,e)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}SLASH_SIGN(){return this.getToken(s.SLASH_SIGN,0)}PENCENT_SIGN(){return this.getToken(s.PENCENT_SIGN,0)}KW_DIV(){return this.getToken(s.KW_DIV,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}DOUBLE_HYPNEN_SIGN(){return this.getToken(s.DOUBLE_HYPNEN_SIGN,0)}get ruleIndex(){return s.RULE_mathOperator}enterRule(t){t.enterMathOperator&&t.enterMathOperator(this)}exitRule(t){t.exitMathOperator&&t.exitMathOperator(this)}accept(t){return t.visitMathOperator?t.visitMathOperator(this):t.visitChildren(this)}}class x4 extends T{constructor(t,e){super(t,e)}EXCLAMATION_SYMBOL(){return this.getToken(s.EXCLAMATION_SYMBOL,0)}BIT_NOT_OP(){return this.getToken(s.BIT_NOT_OP,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}get ruleIndex(){return s.RULE_unaryOperator}enterRule(t){t.enterUnaryOperator&&t.enterUnaryOperator(this)}exitRule(t){t.exitUnaryOperator&&t.exitUnaryOperator(this)}accept(t){return t.visitUnaryOperator?t.visitUnaryOperator(this):t.visitChildren(this)}}class R0 extends T{constructor(t,e){super(t,e)}timeIntervalExpression(){return this.getRuleContext(0,K1)}timePointLiteral(){return this.getRuleContext(0,_h)}stringLiteral(){return this.getRuleContext(0,t1)}decimalLiteral(){return this.getRuleContext(0,T0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}booleanLiteral(){return this.getRuleContext(0,Ln)}REAL_LITERAL(){return this.getToken(s.REAL_LITERAL,0)}BIT_STRING(){return this.getToken(s.BIT_STRING,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}get ruleIndex(){return s.RULE_constant}enterRule(t){t.enterConstant&&t.enterConstant(this)}exitRule(t){t.exitConstant&&t.exitConstant(this)}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}}class _h extends T{constructor(t,e){super(t,e)}timePointUnit(){return this.getRuleContext(0,xn)}stringLiteral(){return this.getRuleContext(0,t1)}get ruleIndex(){return s.RULE_timePointLiteral}enterRule(t){t.enterTimePointLiteral&&t.enterTimePointLiteral(this)}exitRule(t){t.exitTimePointLiteral&&t.exitTimePointLiteral(this)}accept(t){return t.visitTimePointLiteral?t.visitTimePointLiteral(this):t.visitChildren(this)}}class t1 extends T{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_stringLiteral}enterRule(t){t.enterStringLiteral&&t.enterStringLiteral(this)}exitRule(t){t.exitStringLiteral&&t.exitStringLiteral(this)}accept(t){return t.visitStringLiteral?t.visitStringLiteral(this):t.visitChildren(this)}}class T0 extends T{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}get ruleIndex(){return s.RULE_decimalLiteral}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}class Ln extends T{constructor(t,e){super(t,e)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}get ruleIndex(){return s.RULE_booleanLiteral}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}class Nn extends T{constructor(t,e){super(t,e)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class xn extends T{constructor(t,e){super(t,e)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_MILLISECOND(){return this.getToken(s.KW_MILLISECOND,0)}KW_MICROSECOND(){return this.getToken(s.KW_MICROSECOND,0)}get ruleIndex(){return s.RULE_timePointUnit}enterRule(t){t.enterTimePointUnit&&t.enterTimePointUnit(this)}exitRule(t){t.exitTimePointUnit&&t.exitTimePointUnit(this)}accept(t){return t.visitTimePointUnit?t.visitTimePointUnit(this):t.visitChildren(this)}}class N1 extends T{constructor(t,e){super(t,e)}KW_MILLENNIUM(){return this.getToken(s.KW_MILLENNIUM,0)}KW_CENTURY(){return this.getToken(s.KW_CENTURY,0)}KW_DECADE(){return this.getToken(s.KW_DECADE,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_YEARS(){return this.getToken(s.KW_YEARS,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_WEEKS(){return this.getToken(s.KW_WEEKS,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_HOURS(){return this.getToken(s.KW_HOURS,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}KW_MILLISECOND(){return this.getToken(s.KW_MILLISECOND,0)}KW_MICROSECOND(){return this.getToken(s.KW_MICROSECOND,0)}KW_NANOSECOND(){return this.getToken(s.KW_NANOSECOND,0)}KW_EPOCH(){return this.getToken(s.KW_EPOCH,0)}get ruleIndex(){return s.RULE_timeIntervalUnit}enterRule(t){t.enterTimeIntervalUnit&&t.enterTimeIntervalUnit(this)}exitRule(t){t.exitTimeIntervalUnit&&t.exitTimeIntervalUnit(this)}accept(t){return t.visitTimeIntervalUnit?t.visitTimeIntervalUnit(this):t.visitChildren(this)}}class dh extends T{constructor(t,e){super(t,e)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_BOTH(){return this.getToken(s.KW_BOTH,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(s.KW_CURRENT_TIME,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(s.KW_LOCALTIMESTAMP,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_LEADING(){return this.getToken(s.KW_LEADING,0)}KW_TRAILING(){return this.getToken(s.KW_TRAILING,0)}KW_VALUE(){return this.getToken(s.KW_VALUE,0)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}get ruleIndex(){return s.RULE_reservedKeywordsUsedAsFuncParam}enterRule(t){t.enterReservedKeywordsUsedAsFuncParam&&t.enterReservedKeywordsUsedAsFuncParam(this)}exitRule(t){t.exitReservedKeywordsUsedAsFuncParam&&t.exitReservedKeywordsUsedAsFuncParam(this)}accept(t){return t.visitReservedKeywordsUsedAsFuncParam?t.visitReservedKeywordsUsedAsFuncParam(this):t.visitChildren(this)}}class Rh extends T{constructor(t,e){super(t,e)}KW_ABS(){return this.getToken(s.KW_ABS,0)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_AVG(){return this.getToken(s.KW_AVG,0)}KW_CARDINALITY(){return this.getToken(s.KW_CARDINALITY,0)}KW_CAST(){return this.getToken(s.KW_CAST,0)}KW_CEIL(){return this.getToken(s.KW_CEIL,0)}KW_CEILING(){return this.getToken(s.KW_CEILING,0)}KW_COALESCE(){return this.getToken(s.KW_COALESCE,0)}KW_COLLECT(){return this.getToken(s.KW_COLLECT,0)}KW_COUNT(){return this.getToken(s.KW_COUNT,0)}KW_CUME_DIST(){return this.getToken(s.KW_CUME_DIST,0)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(s.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DAYOFWEEK(){return this.getToken(s.KW_DAYOFWEEK,0)}KW_DAYOFYEAR(){return this.getToken(s.KW_DAYOFYEAR,0)}KW_DENSE_RANK(){return this.getToken(s.KW_DENSE_RANK,0)}KW_ELEMENT(){return this.getToken(s.KW_ELEMENT,0)}KW_EXP(){return this.getToken(s.KW_EXP,0)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}KW_FIRST_VALUE(){return this.getToken(s.KW_FIRST_VALUE,0)}KW_FLOOR(){return this.getToken(s.KW_FLOOR,0)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_LAG(){return this.getToken(s.KW_LAG,0)}KW_LAST_VALUE(){return this.getToken(s.KW_LAST_VALUE,0)}KW_LEAD(){return this.getToken(s.KW_LEAD,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_LN(){return this.getToken(s.KW_LN,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(s.KW_LOCALTIMESTAMP,0)}KW_LOWER(){return this.getToken(s.KW_LOWER,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_MAX(){return this.getToken(s.KW_MAX,0)}KW_MIN(){return this.getToken(s.KW_MIN,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MOD(){return this.getToken(s.KW_MOD,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_NULLIF(){return this.getToken(s.KW_NULLIF,0)}KW_NTILE(){return this.getToken(s.KW_NTILE,0)}KW_OVERLAY(){return this.getToken(s.KW_OVERLAY,0)}KW_PERCENT_RANK(){return this.getToken(s.KW_PERCENT_RANK,0)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}KW_POWER(){return this.getToken(s.KW_POWER,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_ROW_NUMBER(){return this.getToken(s.KW_ROW_NUMBER,0)}KW_RANK(){return this.getToken(s.KW_RANK,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_STDDEV_POP(){return this.getToken(s.KW_STDDEV_POP,0)}KW_STDDEV_SAMP(){return this.getToken(s.KW_STDDEV_SAMP,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_SUM(){return this.getToken(s.KW_SUM,0)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_TIMESTAMP_DIFF(){return this.getToken(s.KW_TIMESTAMP_DIFF,0)}KW_TRIM(){return this.getToken(s.KW_TRIM,0)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}KW_UPPER(){return this.getToken(s.KW_UPPER,0)}KW_VAR_POP(){return this.getToken(s.KW_VAR_POP,0)}KW_VAR_SAMP(){return this.getToken(s.KW_VAR_SAMP,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}get ruleIndex(){return s.RULE_reservedKeywordsUsedAsFuncName}enterRule(t){t.enterReservedKeywordsUsedAsFuncName&&t.enterReservedKeywordsUsedAsFuncName(this)}exitRule(t){t.exitReservedKeywordsUsedAsFuncName&&t.exitReservedKeywordsUsedAsFuncName(this)}accept(t){return t.visitReservedKeywordsUsedAsFuncName?t.visitReservedKeywordsUsedAsFuncName(this):t.visitChildren(this)}}class Th extends T{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}KW_CENTURY(){return this.getToken(s.KW_CENTURY,0)}KW_CONFIG(){return this.getToken(s.KW_CONFIG,0)}KW_CONSTRAINTS(){return this.getToken(s.KW_CONSTRAINTS,0)}KW_CUMULATE(){return this.getToken(s.KW_CUMULATE,0)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_DECADE(){return this.getToken(s.KW_DECADE,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_DESCRIPTOR(){return this.getToken(s.KW_DESCRIPTOR,0)}KW_DIV(){return this.getToken(s.KW_DIV,0)}KW_ENGINE(){return this.getToken(s.KW_ENGINE,0)}KW_EPOCH(){return this.getToken(s.KW_EPOCH,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_FILE(){return this.getToken(s.KW_FILE,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_GENERATED(){return this.getToken(s.KW_GENERATED,0)}KW_HOP(){return this.getToken(s.KW_HOP,0)}KW_HOURS(){return this.getToken(s.KW_HOURS,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_JAR(){return this.getToken(s.KW_JAR,0)}KW_JARS(){return this.getToken(s.KW_JARS,0)}KW_JAVA(){return this.getToken(s.KW_JAVA,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_LOAD(){return this.getToken(s.KW_LOAD,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_MICROSECOND(){return this.getToken(s.KW_MICROSECOND,0)}KW_MILLENNIUM(){return this.getToken(s.KW_MILLENNIUM,0)}KW_MILLISECOND(){return this.getToken(s.KW_MILLISECOND,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_NANOSECOND(){return this.getToken(s.KW_NANOSECOND,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_OPTIONS(){return this.getToken(s.KW_OPTIONS,0)}KW_PAST(){return this.getToken(s.KW_PAST,0)}KW_PLAN(){return this.getToken(s.KW_PLAN,0)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_PYTHON(){return this.getToken(s.KW_PYTHON,0)}KW_PYTHON_ARCHIVES(){return this.getToken(s.KW_PYTHON_ARCHIVES,0)}KW_PYTHON_DEPENDENCIES(){return this.getToken(s.KW_PYTHON_DEPENDENCIES,0)}KW_PYTHON_FILES(){return this.getToken(s.KW_PYTHON_FILES,0)}KW_PYTHON_JAR(){return this.getToken(s.KW_PYTHON_JAR,0)}KW_PYTHON_PARAMETER(){return this.getToken(s.KW_PYTHON_PARAMETER,0)}KW_PYTHON_REQUIREMENTS(){return this.getToken(s.KW_PYTHON_REQUIREMENTS,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_REMOVE(){return this.getToken(s.KW_REMOVE,0)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}KW_SETS(){return this.getToken(s.KW_SETS,0)}KW_SIZE(){return this.getToken(s.KW_SIZE,0)}KW_SLIDE(){return this.getToken(s.KW_SLIDE,0)}KW_STEP(){return this.getToken(s.KW_STEP,0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_TIMECOL(){return this.getToken(s.KW_TIMECOL,0)}KW_TUMBLE(){return this.getToken(s.KW_TUMBLE,0)}KW_UNLOAD(){return this.getToken(s.KW_UNLOAD,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_YEARS(){return this.getToken(s.KW_YEARS,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}get ruleIndex(){return s.RULE_nonReservedKeywords}enterRule(t){t.enterNonReservedKeywords&&t.enterNonReservedKeywords(this)}exitRule(t){t.exitNonReservedKeywords&&t.exitNonReservedKeywords(this)}accept(t){return t.visitNonReservedKeywords?t.visitNonReservedKeywords(this):t.visitChildren(this)}}var G;(function(r){r.CATALOG="catalog",r.CATALOG_CREATE="catalogCreate",r.DATABASE="database",r.DATABASE_CREATE="databaseCreate",r.TABLE="table",r.TABLE_CREATE="tableCreate",r.VIEW="view",r.VIEW_CREATE="viewCreate",r.FUNCTION="function",r.FUNCTION_CREATE="functionCreate",r.PROCEDURE="procedure",r.PROCEDURE_CREATE="procedureCreate",r.COLUMN="column",r.COLUMN_CREATE="columnCreate"})(G||(G={}));var g4=Object.defineProperty,st=(r,t)=>g4(r,"name",{value:t,configurable:!0}),ge=(oi=class{constructor(t=""){E(this,"name");E(this,"context");E(this,"modifiers",new Set);E(this,"visibility",0);Q(this,ut,void 0);this.name=t}get parent(){return L(this,ut)}get firstSibling(){var t;if(L(this,ut))return(t=L(this,ut))==null?void 0:t.firstChild}get previousSibling(){if(L(this,ut))return L(this,ut)?L(this,ut).previousSiblingOf(this):this}get nextSibling(){var t;return(t=L(this,ut))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=L(this,ut))==null?void 0:t.lastChild}get next(){var t;return(t=L(this,ut))==null?void 0:t.nextOf(this)}get root(){let t=L(this,ut);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=L(this,ut);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),!!e.parent);)e=e.parent;return t}setParent(t){V(this,ut,t)}removeFromParent(){var t;(t=L(this,ut))==null||t.removeSymbol(this),V(this,ut,void 0)}async resolve(t,e=!1){var i;return(i=L(this,ut))==null?void 0:i.resolve(t,e)}resolveSync(t,e=!1){var i;return(i=L(this,ut))==null?void 0:i.resolveSync(t,e)}getParentOfType(t){let e=L(this,ut);for(;e;){if(e instanceof t)return e;e=e.parent}}qualifiedName(t=".",e=!1,i=!1){if(!i&&this.name.length===0)return"";let n=this.name.length===0?"":this.name,a=L(this,ut);for(;a&&((i||a.name.length>0)&&(n=(a.name.length===0?"":a.name)+t+n),!(!e||!a.parent));)a=a.parent;return n}isSymbolTable(t){return t.info!==void 0}},ut=new WeakMap,st(oi,"BaseSymbol"),oi);hi=class extends ge{constructor(e,i,n,a=0){super(e);E(this,"elementType");E(this,"size");E(this,"referenceKind");this.referenceKind=i,this.elementType=n,this.size=a}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},st(hi,"ArrayType");var fh=(ui=class extends Error{},st(ui,"DuplicateSymbolError"),ui),Se=(Bt=class extends ge{constructor(e=""){super(e);Q(this,Z,[]);Q(this,ae,new Map)}get directScopes(){return this.getSymbolsOfType(Bt)}get children(){return L(this,Z)}get firstChild(){if(L(this,Z).length>0)return L(this,Z)[0]}get lastChild(){if(L(this,Z).length>0)return L(this,Z)[L(this,Z).length-1]}clear(){V(this,Z,[]),L(this,ae).clear()}addSymbol(e){e.removeFromParent();const i=this.symbolTable,n=L(this,ae).get(e.name);if(!i||!i.options.allowDuplicateSymbols){if(n!==void 0)throw new fh("Attempt to add duplicate symbol '"+(e.name??"")+"'");if(L(this,ae).set(e.name,1),L(this,Z).indexOf(e)>-1)throw new fh("Attempt to add duplicate symbol '"+(e.name??"")+"'")}else L(this,ae).set(e.name,n===void 0?1:n+1);L(this,Z).push(e),e.setParent(this)}removeSymbol(e){const i=L(this,Z).indexOf(e);if(i>-1){L(this,Z).splice(i,1),e.setParent(void 0);const n=L(this,ae).get(e.name);n!==void 0&&(n===1?L(this,ae).delete(e.name):L(this,ae).set(e.name,n-1))}}async getNestedSymbolsOfType(e){const i=[],n=[];return L(this,Z).forEach(o=>{o instanceof e&&i.push(o),o instanceof Bt&&n.push(o.getNestedSymbolsOfType(e))}),(await Promise.all(n)).forEach(o=>{i.push(...o)}),i}getNestedSymbolsOfTypeSync(e){const i=[];return L(this,Z).forEach(n=>{n instanceof e&&i.push(n),n instanceof Bt&&i.push(...n.getNestedSymbolsOfTypeSync(e))}),i}async getAllNestedSymbols(e){const i=[],n=[];return L(this,Z).forEach(o=>{(!e||o.name===e)&&i.push(o),o instanceof Bt&&n.push(o.getAllNestedSymbols(e))}),(await Promise.all(n)).forEach(o=>{i.push(...o)}),i}getAllNestedSymbolsSync(e){const i=[];return L(this,Z).forEach(n=>{(!e||n.name===e)&&i.push(n),n instanceof Bt&&i.push(...n.getAllNestedSymbolsSync(e))}),i}getSymbolsOfType(e){return new Promise(i=>{const n=[];L(this,Z).forEach(a=>{a instanceof e&&n.push(a)}),i(n)})}async getAllSymbols(e,i=!1){const n=[];for(const a of L(this,Z))if(a instanceof e&&n.push(a),this.isNamespace(a)){const o=await a.getAllSymbols(e,!0);n.push(...o)}if(!i&&this.parent){const a=await this.getAllSymbols(e,!0);n.push(...a)}return n}getAllSymbolsSync(e,i=!1){const n=[];for(const a of L(this,Z))if(a instanceof e&&n.push(a),this.isNamespace(a)){const o=a.getAllSymbolsSync(e,!0);n.push(...o)}if(!i&&this.parent){const a=this.getAllSymbolsSync(e,!0);n.push(...a)}return n}async resolve(e,i=!1){return new Promise(n=>{for(const a of L(this,Z))if(a.name===e){n(a);return}if(!i&&this.parent){n(this.parent.resolve(e,!1));return}n(void 0)})}resolveSync(e,i=!1){for(const n of L(this,Z))if(n.name===e)return n;if(!i&&this.parent)return this.parent.resolveSync(e,!1)}symbolFromPath(e,i="."){const n=e.split(i);let a=0;(n[0]===this.name||n[0].length===0)&&++a;let o=this;for(;au.name===n[a]);if(!h)return;o=h,++a}return o}indexOfChild(e){return L(this,Z).findIndex(i=>i===e)}nextSiblingOf(e){const i=this.indexOfChild(e);if(!(i===-1||i>=L(this,Z).length-1))return L(this,Z)[i+1]}previousSiblingOf(e){const i=this.indexOfChild(e);if(!(i<1))return L(this,Z)[i-1]}nextOf(e){if(!e.parent)return;if(e.parent!==this)return e.parent.nextOf(e);if(e instanceof Bt&&e.children.length>0)return e.children[0];const i=this.nextSiblingOf(e);return i||this.parent.nextOf(this)}isNamespace(e){return e.inline!==void 0&&e.attributes!==void 0}},Z=new WeakMap,ae=new WeakMap,st(Bt,"ScopedSymbol"),Bt);li=class extends Se{},st(li,"BlockSymbol");var Ah=(ci=class extends ge{constructor(e,i){super(e);E(this,"type");this.type=i}},st(ci,"TypedSymbol"),ci),gn=(Ei=class extends Ah{constructor(e,i,n){super(e,n);E(this,"value");this.value=i}},st(Ei,"VariableSymbol"),Ei),mh=(_i=class extends gn{constructor(){super(...arguments);E(this,"setter");E(this,"getter")}},st(_i,"FieldSymbol"),_i),S4=(di=class extends gn{},st(di,"ParameterSymbol"),di),I4=(Ri=class extends Se{constructor(e,i){super(e);E(this,"returnType");this.returnType=i}getVariables(e=!0){return this.getSymbolsOfType(gn)}getParameters(e=!0){return this.getSymbolsOfType(S4)}},st(Ri,"RoutineSymbol"),Ri),Ch=(Ti=class extends I4{constructor(){super(...arguments);E(this,"methodFlags",0)}},st(Ti,"MethodSymbol"),Ti);fi=class extends Se{constructor(e,i,n){super(e);E(this,"isStruct",!1);E(this,"reference",0);E(this,"extends");E(this,"implements");this.extends=i,this.implements=n}get baseTypes(){return this.extends}get kind(){return 7}getMethods(e=!1){return this.getSymbolsOfType(Ch)}getFields(e=!1){return this.getSymbolsOfType(mh)}},st(fi,"ClassSymbol"),vt=class{constructor(t,e=0,i=0){E(this,"name");E(this,"typeKind");E(this,"referenceKind");this.name=t,this.typeKind=e,this.referenceKind=i}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},st(vt,"FundamentalType"),E(vt,"integerType",new vt("int",1,3)),E(vt,"floatType",new vt("float",2,3)),E(vt,"stringType",new vt("string",4,3)),E(vt,"boolType",new vt("bool",6,3)),Ai=class extends Se{constructor(e,i){super(e);E(this,"reference",0);E(this,"extends");this.extends=i}get baseTypes(){return this.extends}get kind(){return 8}getMethods(e=!1){return this.getSymbolsOfType(Ch)}getFields(e=!1){return this.getSymbolsOfType(mh)}},st(Ai,"InterfaceSymbol"),mi=class extends Ah{constructor(e,i,n){super(e,n);E(this,"value");this.value=i}},st(mi,"LiteralSymbol");var ir=(Ci=class extends Se{constructor(e,i=!1,n=[]){super(e);E(this,"inline");E(this,"attributes");this.inline=i,this.attributes=n}},st(Ci,"NamespaceSymbol"),Ci);Wi=class extends ge{constructor(e,i){super(e);E(this,"targetType");this.targetType=i}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},st(Wi,"TypeAlias");var O4=st((r,t)=>{if(!r||!t)return[];let e;for(e=0;e=t||h.type===p.EOF)||h.type===p.EOF)break}const a=[],o=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,a,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const u of this.candidates.rules){let c="";for(const _ of u[1].ruleList)c+=this.ruleNames[_]+" ";console.log(this.ruleNames[u[0]]+", path: ",c)}const h=new Set;for(const u of this.candidates.tokens){let c=this.vocabulary.getDisplayName(u[0])??"";for(const _ of u[1])c+=" "+this.vocabulary.getDisplayName(_);h.add(c)}console.log(` + +Collected tokens: +`);for(const u of h)console.log(u);console.log(` + +`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,T.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;eh);let o=!0;for(const h of this.candidates.rules)if(!(h[0]!==i||h[1].ruleList.length!==a.length)&&a.every((u,c)=>u===h[1].ruleList[c])){o=!1;break}return o&&(this.candidates.rules.set(i,{startTokenIndex:n,ruleList:a}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[i])),!0}return!1}getFollowingTokens(t){const e=[],i=[t.target];for(;i.length>0;){const n=i.pop();n&&n.transitions.forEach(a=>{if(a.serializationType===M.ATOM)if(a.isEpsilon)i.push(a.target);else{const o=a.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(e.push(o[0]),i.push(a.target))}})}return e}determineFollowSets(t,e){const i=[],n=[],a=[],o=this.collectFollowSets(t,e,i,n,a),h=new Ct;for(const u of i)h.addSet(u.intervals);return{sets:i,isExhaustive:o,combined:h}}collectFollowSets(t,e,i,n,a){if(n.find(h=>h===t))return!0;if(n.push(t),t===e||t.stateType===H.RULE_STOP)return n.pop(),!1;let o=!0;for(const h of t.transitions)if(h.serializationType===M.RULE){const u=h;if(a.indexOf(u.target.ruleIndex)!==-1)continue;a.push(u.target.ruleIndex);const c=this.collectFollowSets(h.target,e,i,n,a);if(a.pop(),!c){const _=this.collectFollowSets(u.followState,e,i,n,a);o&&(o=_)}}else if(h.serializationType===M.PREDICATE){if(this.checkPredicate(h)){const u=this.collectFollowSets(h.target,e,i,n,a);o&&(o=u)}}else if(h.isEpsilon){const u=this.collectFollowSets(h.target,e,i,n,a);o&&(o=u)}else if(h.serializationType===M.WILDCARD){const u=new Wh;u.intervals=Ct.of(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),u.path=a.slice(),i.push(u)}else{let u=h.label;if(u&&u.length>0){h.serializationType===M.NOT_SET&&(u=u.complement(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const c=new Wh;c.intervals=u??new Ct,c.path=a.slice(),c.following=this.getFollowingTokens(h),i.push(c)}}return n.pop(),o}processRule(t,e,i,n,a){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(e))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(e);const h=new Set;let u=Jt.followSetsByATN.get(this.parser.constructor.name);u||(u=new Map,Jt.followSetsByATN.set(this.parser.constructor.name,u));let c=u.get(t.stateNumber);if(!c){const C=this.atn.ruleToStopState[t.ruleIndex];c=this.determineFollowSets(t,C),u.set(t.stateNumber,c)}const _=this.tokens[e].tokenIndex;if(i.push({startTokenIndex:_,ruleIndex:t.ruleIndex}),e>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(i);else for(const C of c.sets){const K=i.slice(),g=C.path.map(S=>({startTokenIndex:_,ruleIndex:S}));if(K.push(...g),!this.translateStackToRuleIndex(K))for(const S of C.intervals.toArray())this.ignoredTokens.has(S)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(S)),this.candidates.tokens.has(S)?this.candidates.tokens.get(S)!==C.following&&this.candidates.tokens.set(S,[]):this.candidates.tokens.set(S,C.following))}return c.isExhaustive||h.add(e),i.pop(),h}else{const C=this.tokens[e].type;if(c.isExhaustive&&!c.combined.contains(C))return i.pop(),h}t.isPrecedenceRule&&this.precedenceStack.push(n);const d=[];let R;for(d.push({state:t,tokenListIndex:e});d.length>0;){R=d.pop(),++this.statesProcessed;const C=this.tokens[R.tokenListIndex].type,K=R.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(a,R.state,this.generateBaseDescription(R.state),R.tokenListIndex),this.showRuleStack&&this.printRuleState(i)),R.state.stateType===H.RULE_STOP){h.add(R.tokenListIndex);continue}const g=R.state.transitions;for(const S of g)switch(S.serializationType){case M.RULE:{const O=S,W=this.processRule(S.target,R.tokenListIndex,i,O.precedence,a+1);for(const m of W)d.push({state:S.followState,tokenListIndex:m});break}case M.PREDICATE:{this.checkPredicate(S)&&d.push({state:S.target,tokenListIndex:R.tokenListIndex});break}case M.PRECEDENCE:{S.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&d.push({state:S.target,tokenListIndex:R.tokenListIndex});break}case M.WILDCARD:{if(K){if(!this.translateStackToRuleIndex(i))for(const O of Ct.of(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(O)||this.candidates.tokens.set(O,[])}else d.push({state:S.target,tokenListIndex:R.tokenListIndex+1});break}default:{if(S.isEpsilon){d.push({state:S.target,tokenListIndex:R.tokenListIndex});continue}let O=S.label;if(O&&O.length>0)if(S.serializationType===M.NOT_SET&&(O=O.complement(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),K){if(!this.translateStackToRuleIndex(i)){const W=O.toArray(),m=W.length===1;for(const N of W)if(!this.ignoredTokens.has(N)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(N));const x=m?this.getFollowingTokens(S):[];this.candidates.tokens.has(N)?this.candidates.tokens.set(N,O4(x,this.candidates.tokens.get(N))):this.candidates.tokens.set(N,x)}}}else O.contains(C)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(C)),d.push({state:S.target,tokenListIndex:R.tokenListIndex+1}))}}}return i.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(e,h),h}generateBaseDescription(t){return`[${t.stateNumber===qt.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${Jt.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,e,i,n){const a=" ".repeat(t);let o=a,h="";if(this.debugOutputWithTransitions)for(const u of e.transitions){let c="";const _=u.label?u.label.toArray():[];if(_.length>2)c=this.vocabulary.getDisplayName(_[0])+" .. "+this.vocabulary.getDisplayName(_[_.length-1]);else for(const d of _)c.length>0&&(c+=", "),c+=this.vocabulary.getDisplayName(d);c.length===0&&(c="ε"),h+=` +${a} (${c}) [${u.target.stateNumber} ${Jt.atnStateTypeMap[u.target.stateType]}] in ${this.ruleNames[u.target.ruleIndex]}`}n>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+n}>> `:o+=`<${this.tokenStartIndex+n}> `,console.log(o+"Current state: "+i+h)}printRuleState(t){if(t.length===0){console.log("");return}for(const e of t)console.log(this.ruleNames[e.ruleIndex])}},st(Jt,"CodeCompletionCore"),E(Jt,"followSetsByATN",new Map),E(Jt,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),Jt);Li=class extends Se{constructor(e,i){super(e);E(this,"dependencies",new Set);this.options=i}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...e){e.forEach(i=>{this.dependencies.add(i)})}removeDependency(e){this.dependencies.has(e)&&this.dependencies.delete(e)}addNewSymbolOfType(e,i,...n){const a=new e(...n);return!i||i===this?this.addSymbol(a):i.addSymbol(a),a}async addNewNamespaceFromPath(e,i,n="."){const a=i.split(n);let o=0,h=e===void 0?this:e;for(;oo.getAllSymbols(e,i)))).forEach(o=>{n.push(...o)}),n}getAllSymbolsSync(e,i=!1){const n=super.getAllSymbolsSync(e,i);return i||this.dependencies.forEach(a=>{n.push(...a.getAllSymbolsSync(e,i))}),n}async symbolWithContext(e){const i=st(a=>{if(a.context===e)return a;if(a instanceof Se)for(const o of a.children){const h=i(o);if(h)return h}},"findRecursive");let n=await this.getAllSymbols(ge);for(const a of n){const o=i(a);if(o)return o}for(const a of this.dependencies){n=await a.getAllSymbols(ge);for(const o of n){const h=i(o);if(h)return h}}}symbolWithContextSync(e){const i=st(a=>{if(a.context===e)return a;if(a instanceof Se)for(const o of a.children){const h=i(o);if(h)return h}},"findRecursive");let n=this.getAllSymbolsSync(ge);for(const a of n){const o=i(a);if(o)return o}for(const a of this.dependencies){n=a.getAllSymbolsSync(ge);for(const o of n){const h=i(o);if(h)return h}}}async resolve(e,i=!1){let n=await super.resolve(e,i);if(!n&&!i){for(const a of this.dependencies)if(n=await a.resolve(e,!1),n)return n}return n}resolveSync(e,i=!1){let n=super.resolveSync(e,i);if(!n&&!i){for(const a of this.dependencies)if(n=a.resolveSync(e,!1),n)return n}return n}},st(Li,"SymbolTable");function Kh(r,t){var e,i;const{lineNumber:n,column:a}=r;let o=0,h=t.length-1;for(;o<=h;){const u=o+(h-o>>1),c=t[u];if(c.line>n||c.line===n&&c.column+1>=a)h=u-1;else if(c.line{this._parseErrors.push(t)},this.locale="en_US"}createLexer(t,e){const i=Xr.fromString(t),n=this.createLexerFromCharStream(i);return e&&(n.removeErrorListeners(),n.addErrorListener(this.createErrorListener(e))),n}createParser(t,e){const i=this.createLexer(t,e),n=new Gi(i),a=this.createParserFromTokenStream(n);return a.interpreter.predictionMode=dt.SLL,e&&(a.removeErrorListeners(),a.addErrorListener(this.createErrorListener(e))),a}parse(t,e){const i=this.createParser(t,e);return i.buildParseTrees=!0,i.errorHandler=new Sn,i.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=Xr.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new Gi(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=dt.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new Sn,this._parser}parseWithCache(t,e){if(this._parsedInput===t&&!e&&this._parseTree)return this._parseTree;this._parseErrors=[];const i=this.createParserWithCache(t);return this._parsedInput=t,i.removeErrorListeners(),i.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=i.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let e=this._tokenStream.getTokens();return e[e.length-1].text===""&&(e=e.slice(0,-1)),e}listen(t,e){U3.DEFAULT.walk(t,e)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const i=this.splitListener;return this.listen(i,this._parseTree),i.statementsContext.map(a=>rr(a,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(t,e){var i,n,a,o,h,u,c,_,d;const R=this.splitListener;if(this.parseWithCache(t),!this._parseTree)return null;let C=this._parser;const K=this.getAllTokens(t);let g=Kh(e,K),S=this._parseTree,O=0;if(!g&&g!==0)return null;this.listen(R,this._parseTree);const W=(i=R.statementsContext)===null||i===void 0?void 0:i.length,m=R.statementsContext;if(W>1){let I=null,k=null;for(let c1=0;c1g&&j4){k=E1;break}}const Et=(h=(o=I==null?void 0:I.start)===null||o===void 0?void 0:o.start)!==null&&h!==void 0?h:0,X=(c=(u=k==null?void 0:k.stop)===null||u===void 0?void 0:u.stop)!==null&&c!==void 0?c:t.length-1;O=(d=(_=I==null?void 0:I.start)===null||_===void 0?void 0:_.tokenIndex)!==null&&d!==void 0?d:0,g=g-O;const w=t.slice(Et,X),jt=this.createLexer(w);jt.removeErrorListeners();const Ih=new Gi(jt);Ih.fill();const G1=this.createParserFromTokenStream(Ih);G1.interpreter.predictionMode=dt.SLL,G1.removeErrorListeners(),G1.buildParseTrees=!0,G1.errorHandler=new Sn,C=G1,S=G1.program()}const N=new ph(C);N.preferredRules=this.preferredRules;const x=N.collectCandidates(g,S),U=this.processCandidates(x,K,g,O);return{syntax:U.syntax.map(I=>{const k=I.wordRanges.map(Et=>Lh(Et,this._parsedInput));return{syntaxContextType:I.syntaxContextType,wordRanges:k}}),keywords:U.keywords}}getAllEntities(t,e){const i=this.getAllTokens(t),n=e?Kh(e,i):void 0,a=this.createEntityCollector(t,n),o=this.parseWithCache(t);return this.listen(a,o),a.getEntities()}}class y4{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class w4 extends y4{exitSingleStatement(t){this._statementsContext.push(t)}}class Nh{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var In=function(r,t){var e={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.indexOf(i)<0&&(e[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n=0&&(n=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const a=v4(t,e,this._input,this._rootStmt,this._stmtStack.peek(),n);return a&&((this._stmtStack.isEmpty()||((i=this._stmtStack.peek())===null||i===void 0?void 0:i.stmtContextType)===Mt.COMMON_STMT)&&(this._rootStmt=a),this._stmtStack.push(a)),a}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,e,i){const n=H4(t,e,this._input,this._stmtStack.peek(),i);return n&&(this._stmtStack.isEmpty()?this._entitiesSet.add(n):this._entityStack.push(n)),n}combineEntitiesAndAdd(t){const e=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)e.unshift(this._entityStack.pop());const i=this.combineRootStmtEntities(t,e);for(;i.length;){const n=i.shift();n&&this._entitiesSet.add(n)}}combineRootStmtEntities(t,e){return t.stmtContextType===Mt.CREATE_VIEW_STMT||t.stmtContextType===Mt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,e):e}combineCreateTableOrViewStmtEntities(t,e){const i=[],n=[];let a=null;const o=e.reduce((h,u)=>{if(u.belongStmt!==t)return u.entityContextType!==G.COLUMN&&u.entityContextType!==G.COLUMN_CREATE&&(n.push(u),h.push(u)),h;if(u.entityContextType===G.COLUMN_CREATE)i.push(u);else{if(u.entityContextType===G.TABLE_CREATE||u.entityContextType===G.VIEW_CREATE)return a=u,h.push(u),h;u.entityContextType!==G.COLUMN&&(n.push(u),h.push(u))}return h},[]);return a&&i.length&&xh(a)&&(a=Object.assign(a,{columns:i})),a&&n.length&&(xh(a)||b4(a))&&(a=Object.assign(a,{relatedEntities:n})),o}}class P4 extends k4{exitCatalogPathCreate(t){this.pushEntity(t,G.CATALOG_CREATE)}exitCatalogPath(t){this.pushEntity(t,G.CATALOG)}exitDatabasePathCreate(t){this.pushEntity(t,G.DATABASE_CREATE,[{attrName:ie.comment,endContextList:[en.name]}])}exitDatabasePath(t){this.pushEntity(t,G.DATABASE)}exitTablePath(t){var e;const i=((e=this.getRootStmt())===null||e===void 0?void 0:e.stmtContextType)===Mt.SELECT_STMT;this.pushEntity(t,G.TABLE,i?[{attrName:ie.alias,endContextList:[Ji.name]}]:void 0)}exitTablePathCreate(t){this.pushEntity(t,G.TABLE_CREATE,[{attrName:ie.comment,endContextList:[zr.name]}])}exitViewPath(t){this.pushEntity(t,G.VIEW)}exitViewPathCreate(t){this.pushEntity(t,G.VIEW_CREATE,[{attrName:ie.comment,endContextList:[sn.name]}])}exitColumnNameCreate(t){this.pushEntity(t,G.COLUMN_CREATE,[{attrName:ie.comment,endContextList:[Fi.name]},{attrName:ie.colType,endContextList:[Fi.name]}])}exitFunctionNameCreate(t){this.pushEntity(t,G.FUNCTION_CREATE)}enterSqlStatement(t){this.pushStmt(t,Mt.COMMON_STMT)}exitSqlStatement(t){this.popStmt()}enterCreateCatalog(t){this.pushStmt(t,Mt.CREATE_CATALOG_STMT)}exitCreateCatalog(t){this.popStmt()}enterCreateDatabase(t){this.pushStmt(t,Mt.CREATE_DATABASE_STMT)}exitCreateDatabase(t){this.popStmt()}enterCreateTable(t){this.pushStmt(t,Mt.CREATE_TABLE_STMT)}exitCreateTable(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,Mt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,Mt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterCreateFunction(t){this.pushStmt(t,Mt.CREATE_FUNCTION_STMT)}exitCreateFunction(t){this.popStmt()}enterInsertStatement(t){this.pushStmt(t,Mt.INSERT_STMT)}exitInsertStatement(t){this.popStmt()}}const B4={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function G4(r,t){const e=/{([^}]+)}/g;return r.replace(e,(i,n)=>B4[t][n]||"")}class V4{constructor(t,e="en_US"){this.locale=e,this._errorListener=t}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(t,e,i,n,a,o){var h;let u="";if(e){let _=e;const d=t,R=_.type===p.EOF;R&&(_=d.tokenStream.get(_.tokenIndex-1));const C=(h=_.text)!==null&&h!==void 0?h:"",g=R&&C!==" "?"":this.getExpectedText(d,_);if(o)o instanceof Le||o instanceof ht?(R?u="{stmtInComplete}":u=`'${C}' {noValidPosition}`,g.length>0&&(u+=`{expecting}${g}`)):u=a;else if(u=a,a.includes("extraneous")&&(u=`'${C}' {noValidPosition}${g.length?`{expecting}${g}`:""}`),a.includes("missing")){const S=/missing\s+'([^']+)'/,O=a.match(S);if(u="{missing}",O){const W=O[1];u+=`'${W}'`}else u+="{keyword}";u+=`{at}'${C}'`}}else if(o instanceof Z1){const _=t,d=_.inputStream;let R=_.getErrorDisplay(d.getText(_._tokenStartCharIndex,d.index));switch(R[0]){case"/":u="{unfinishedMultilineComment}";break;case'"':u="{unfinishedDoubleQuoted}";break;case"'":u="{unfinishedSingleQuoted}";break;case"`":u="{unfinishedTickQuoted}";break;default:u='"'+R+'" {noValidInput}';break}}u=G4(u,this.locale);let c=n+1;e&&e.text!==null&&(c=n+e.text.length),this._errorListener&&this._errorListener({startLine:i,endLine:i,startColumn:n+1,endColumn:c+1,message:u},{e:o,line:i,msg:a,recognizer:t,offendingSymbol:e,charPositionInLine:n})}}class Y4 extends V4{constructor(t,e,i){super(t,i),this.objectNames=new Map([[s.RULE_catalogPath,"catalog"],[s.RULE_catalogPathCreate,"catalog"],[s.RULE_databasePath,"database"],[s.RULE_databasePathCreate,"database"],[s.RULE_tablePath,"table"],[s.RULE_tablePathCreate,"table"],[s.RULE_viewPath,"view"],[s.RULE_viewPathCreate,"view"],[s.RULE_functionName,"function"],[s.RULE_functionNameCreate,"function"],[s.RULE_columnName,"column"],[s.RULE_columnNameCreate,"column"]]),this.preferredRules=e}getExpectedText(t,e){var i;let n="",a=(i=t.context)!==null&&i!==void 0?i:void 0;for(;a!=null&&a.parent;)a=a.parent;const o=new ph(t);o.preferredRules=this.preferredRules;const h=o.collectCandidates(e.tokenIndex,a);if(h.rules.size){const u=[];for(const c of h.rules){const[_]=c,d=this.objectNames.get(_);switch(_){case s.RULE_databasePath:case s.RULE_tablePath:case s.RULE_viewPath:case s.RULE_functionName:case s.RULE_columnName:case s.RULE_catalogPath:{u.push(`{existing}${d}`);break}case s.RULE_databasePathCreate:case s.RULE_tablePathCreate:case s.RULE_functionNameCreate:case s.RULE_viewPathCreate:case s.RULE_columnNameCreate:case s.RULE_catalogPathCreate:{u.push(`{new}${d}`);break}}}n=u.join("{or}")}return h.tokens.size&&(n+=n?"{orKeyword}":"{keyword}"),n}}class F4 extends U4{constructor(){super(...arguments),this.preferredRules=new Set([s.RULE_catalogPath,s.RULE_databasePath,s.RULE_databasePathCreate,s.RULE_tablePath,s.RULE_tablePathCreate,s.RULE_viewPath,s.RULE_viewPathCreate,s.RULE_functionName,s.RULE_functionNameCreate,s.RULE_columnName,s.RULE_columnNameCreate])}createLexerFromCharStream(t){return new l(t)}createParserFromTokenStream(t){return new s(t)}get splitListener(){return new w4}createErrorListener(t){return new Y4(t,this.preferredRules,this.locale)}createEntityCollector(t,e){return new P4(t,e)}processCandidates(t,e,i,n){const a=[],o=[];for(let h of t.rules){const[u,c]=h,_=c.startTokenIndex+n,d=e.slice(_,i+n+1);let R;switch(u){case s.RULE_catalogPath:{R=G.CATALOG;break}case s.RULE_databasePath:{R=G.DATABASE;break}case s.RULE_databasePathCreate:{R=G.DATABASE_CREATE;break}case s.RULE_tablePath:{R=G.TABLE;break}case s.RULE_tablePathCreate:{R=G.TABLE_CREATE;break}case s.RULE_viewPath:{R=G.VIEW;break}case s.RULE_viewPathCreate:{R=G.VIEW_CREATE;break}case s.RULE_functionName:{R=G.FUNCTION;break}case s.RULE_functionNameCreate:{R=G.FUNCTION_CREATE;break}case s.RULE_columnName:{R=G.COLUMN;break}case s.RULE_columnNameCreate:{R=G.COLUMN_CREATE;break}}R&&a.push({syntaxContextType:R,wordRanges:d})}for(let h of t.tokens){const u=this._parser.vocabulary.getSymbolicName(h[0]),c=this._parser.vocabulary.getDisplayName(h[0]);if(c&&u&&u.startsWith("KW_")){const _=c.startsWith("'")&&c.endsWith("'")?c.slice(1,-1):c;o.push(_)}}return{syntax:a,keywords:o}}}var f0=function(r,t,e,i){function n(a){return a instanceof e?a:new e(function(o){o(a)})}return new(e||(e=Promise))(function(a,o){function h(_){try{c(i.next(_))}catch(d){o(d)}}function u(_){try{c(i.throw(_))}catch(d){o(d)}}function c(_){_.done?a(_.value):n(_.value).then(h,u)}c((i=i.apply(r,t||[])).next())})};class X4{constructor(t,e){this.keywords=[]}doValidation(t){return f0(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const e=this.parser.validate(t);return Promise.resolve(e)}return Promise.resolve([])})}parserTreeToString(t){return f0(this,void 0,void 0,function*(){if(t){const e=this.parser.createParser(t),n=e.program().toStringTree(e);return Promise.resolve(n)}return Promise.resolve("")})}doCompletion(t,e){return f0(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getSuggestionAtCaretPosition(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}doCompletionWithEntities(t,e){return f0(this,void 0,void 0,function*(){var i;if(t=t||this.getTextDocument(),t){const n=this.parser.getSuggestionAtCaretPosition(t,e);let a=null;return!((i=n==null?void 0:n.syntax)===null||i===void 0)&&i.length&&(a=this.parser.getAllEntities(t,e)),Promise.resolve([n,a])}return Promise.resolve([null,null])})}getAllEntities(t,e){return f0(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getAllEntities(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class Q4 extends X4{constructor(t,e){super(t,e),this._ctx=t,this.parser=new F4}}self.onmessage=()=>{B2((r,t)=>new Q4(r,t))}})(); diff --git a/assets/flink.worker-f0146eaf.js b/assets/flink.worker-f0146eaf.js deleted file mode 100644 index a97fae96..00000000 --- a/assets/flink.worker-f0146eaf.js +++ /dev/null @@ -1,22 +0,0 @@ -var Y4=Object.defineProperty;var F4=(rt,et,lt)=>et in rt?Y4(rt,et,{enumerable:!0,configurable:!0,writable:!0,value:lt}):rt[et]=lt;var E=(rt,et,lt)=>(F4(rt,typeof et!="symbol"?et+"":et,lt),lt),Ln=(rt,et,lt)=>{if(!et.has(rt))throw TypeError("Cannot "+lt)};var K=(rt,et,lt)=>(Ln(rt,et,"read from private field"),lt?lt.call(rt):et.get(rt)),X=(rt,et,lt)=>{if(et.has(rt))throw TypeError("Cannot add the same private member more than once");et instanceof WeakSet?et.add(rt):et.set(rt,lt)},G=(rt,et,lt,V1)=>(Ln(rt,et,"write to private field"),V1?V1.call(rt,lt):et.set(rt,lt),lt);var xn=(rt,et,lt)=>(Ln(rt,et,"access private method"),lt);(function(){var x1,f0,A0,ue,t1,S1,m0,Xt,Se,ge,e1,at,C0,s1,W0,Pt,ie,p0,Ie,re,i1,g1,K0,r1,Oe,N0,L0,x0,wt,S0,g0,n1,I0,I1,O1,D1,O0,De,D0,M0,M1,U0,U1,le,y0,pt,w0,v0,b0,J,Rt,it,H0,Me,k0,P0,B0,Ue,y1,ye,G0,V0,Y0,F0,X0,Q0,J0,j0,$0,z0,Z0,q0,ts,es,ss,is,rs,ns,as,a1,w1,v1,o1,b1,H1,h1,k1,we,os,hs,Kt,M,us,ls,cs,Es,_s,ds,Rs,ce,Ee,Ts,fs,As,P1,ms,Cs,u1,Ws,Sn,ps,Ks,Ns,Ls,b,xs,Ss,gs,Is,Os,Ds,Ms,Us,ve,ys,ws,vs,bs,Hs,ks,Ps,Bs,Gs,Vs,Ys,Fs,Xs,Qs,ir,Js,js,$s,zs,Qt,Zs,qs,ti,rr,B1,ei,Mt,si,ii,ri,ni,ut,ai,oi,hi,Z,ne,Bt,ui,li,ci,Ei,_i,di,Ri,Ti,vt,fi,Ai,mi,Ci,Wi,pi,Jt,Ki;"use strict";class rt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` - -`+t.stack):t},0)}}emit(t){this.listeners.forEach(e=>{e(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const et=new rt;function lt(r){x7(r)||et.onUnexpectedError(r)}function V1(r){if(r instanceof Error){let{name:t,message:e}=r;const i=r.stacktrace||r.stack;return{$isError:!0,name:t,message:e,stack:i}}return r}const gn="Canceled";function x7(r){return r instanceof Error&&r.name===gn&&r.message===gn}function S7(r){const t=this;let e=!1,i;return function(){return e||(e=!0,i=r.apply(t,arguments)),i}}var nr;(function(r){function t(C){return C&&typeof C=="object"&&typeof C[Symbol.iterator]=="function"}r.is=t;const e=Object.freeze([]);function i(){return e}r.empty=i;function*n(C){yield C}r.single=n;function a(C){return C||e}r.from=a;function o(C){return!C||C[Symbol.iterator]().next().done===!0}r.isEmpty=o;function h(C){return C[Symbol.iterator]().next().value}r.first=h;function u(C,m){for(const N of C)if(m(N))return!0;return!1}r.some=u;function c(C,m){for(const N of C)if(m(N))return N}r.find=c;function*_(C,m){for(const N of C)m(N)&&(yield N)}r.filter=_;function*d(C,m){let N=0;for(const x of C)yield m(x,N++)}r.map=d;function*f(...C){for(const m of C)for(const N of m)yield N}r.concat=f;function*W(C){for(const m of C)for(const N of m)yield N}r.concatNested=W;function L(C,m,N){let x=N;for(const y of C)x=m(x,y);return x}r.reduce=L;function*S(C,m,N=C.length){for(m<0&&(m+=C.length),N<0?N+=C.length:N>C.length&&(N=C.length);mx===y){const x=C[Symbol.iterator](),y=m[Symbol.iterator]();for(;;){const D=x.next(),I=y.next();if(D.done!==I.done)return!1;if(D.done)return!0;if(!N(D.value,I.value))return!1}}r.equals=U})(nr||(nr={}));function X4(r){return r}function Q4(r,t){}class g7 extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function In(r){if(nr.is(r)){let t=[];for(const e of r)if(e)try{e.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new g7(t);return Array.isArray(r)?[]:r}else if(r)return r.dispose(),r}function I7(...r){return On(()=>In(r))}function On(r){return{dispose:S7(()=>{r()})}}class Y1{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{In(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Y1.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}Y1.DISABLE_DISPOSED_WARNING=!1;class Dn{constructor(){this._store=new Y1,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Dn.None=Object.freeze({dispose(){}});class j{constructor(t){this.element=t,this.next=j.Undefined,this.prev=j.Undefined}}j.Undefined=new j(void 0);class Mn{constructor(){this._first=j.Undefined,this._last=j.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===j.Undefined}clear(){let t=this._first;for(;t!==j.Undefined;){const e=t.next;t.prev=j.Undefined,t.next=j.Undefined,t=e}this._first=j.Undefined,this._last=j.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){const i=new j(t);if(this._first===j.Undefined)this._first=i,this._last=i;else if(e){const a=this._last;this._last=i,i.prev=a,a.next=i}else{const a=this._first;this._first=i,i.next=a,a.prev=i}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(i))}}shift(){if(this._first!==j.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==j.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==j.Undefined&&t.next!==j.Undefined){const e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===j.Undefined&&t.next===j.Undefined?(this._first=j.Undefined,this._last=j.Undefined):t.next===j.Undefined?(this._last=this._last.prev,this._last.next=j.Undefined):t.prev===j.Undefined&&(this._first=this._first.next,this._first.prev=j.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==j.Undefined;)yield t.element,t=t.next}}var ar;const Ni="en";let or=!1,hr=!1,ur=!1,F1,Li=Ni,O7,be;const mt=typeof self=="object"?self:typeof global=="object"?global:{};let Nt;typeof mt.vscode<"u"&&typeof mt.vscode.process<"u"?Nt=mt.vscode.process:typeof process<"u"&&(Nt=process);const D7=typeof((ar=Nt==null?void 0:Nt.versions)===null||ar===void 0?void 0:ar.electron)=="string"&&(Nt==null?void 0:Nt.type)==="renderer";if(typeof navigator=="object"&&!D7)be=navigator.userAgent,or=be.indexOf("Windows")>=0,hr=be.indexOf("Macintosh")>=0,(be.indexOf("Macintosh")>=0||be.indexOf("iPad")>=0||be.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ur=be.indexOf("Linux")>=0,F1=navigator.language,Li=F1;else if(typeof Nt=="object"){or=Nt.platform==="win32",hr=Nt.platform==="darwin",ur=Nt.platform==="linux",ur&&Nt.env.SNAP&&Nt.env.SNAP_REVISION,F1=Ni,Li=Ni;const r=Nt.env.VSCODE_NLS_CONFIG;if(r)try{const t=JSON.parse(r),e=t.availableLanguages["*"];F1=t.locale,Li=e||Ni,O7=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const X1=or,M7=hr,U7=Li,y7=F1;(()=>{if(typeof mt.postMessage=="function"&&!mt.importScripts){let r=[];mt.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let i=0,n=r.length;i{const i=++t;r.push({id:i,callback:e}),mt.postMessage({vscodeScheduleAsyncWork:i},"*")}}return r=>setTimeout(r)})();const w7=mt.performance&&typeof mt.performance.now=="function";class xi{constructor(t){this._highResolution=w7&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new xi(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?mt.performance.now():Date.now()}}var lr;(function(r){r.None=()=>Dn.None;function t(C){return(m,N=null,x)=>{let y=!1,D;return D=C(I=>{if(!y)return D?D.dispose():y=!0,m.call(N,I)},null,x),y&&D.dispose(),D}}r.once=t;function e(C,m){return u((N,x=null,y)=>C(D=>N.call(x,m(D)),null,y))}r.map=e;function i(C,m){return u((N,x=null,y)=>C(D=>{m(D),N.call(x,D)},null,y))}r.forEach=i;function n(C,m){return u((N,x=null,y)=>C(D=>m(D)&&N.call(x,D),null,y))}r.filter=n;function a(C){return C}r.signal=a;function o(...C){return(m,N=null,x)=>I7(...C.map(y=>y(D=>m.call(N,D),null,x)))}r.any=o;function h(C,m,N){let x=N;return e(C,y=>(x=m(x,y),x))}r.reduce=h;function u(C){let m;const N=new _e({onFirstListenerAdd(){m=C(N.fire,N)},onLastListenerRemove(){m.dispose()}});return N.event}function c(C,m,N=100,x=!1,y){let D,I,k,Et=0;const F=new _e({leakWarningThreshold:y,onFirstListenerAdd(){D=C(w=>{Et++,I=m(I,w),x&&!k&&(F.fire(I),I=void 0),clearTimeout(k),k=setTimeout(()=>{const jt=I;I=void 0,k=void 0,(!x||Et>1)&&F.fire(jt),Et=0},N)})},onLastListenerRemove(){D.dispose()}});return F.event}r.debounce=c;function _(C,m=(N,x)=>N===x){let N=!0,x;return n(C,y=>{const D=N||!m(y,x);return N=!1,x=y,D})}r.latch=_;function d(C,m){return[r.filter(C,m),r.filter(C,N=>!m(N))]}r.split=d;function f(C,m=!1,N=[]){let x=N.slice(),y=C(k=>{x?x.push(k):I.fire(k)});const D=()=>{x&&x.forEach(k=>I.fire(k)),x=null},I=new _e({onFirstListenerAdd(){y||(y=C(k=>I.fire(k)))},onFirstListenerDidAdd(){x&&(m?setTimeout(D):D())},onLastListenerRemove(){y&&y.dispose(),y=null}});return I.event}r.buffer=f;class W{constructor(m){this.event=m}map(m){return new W(e(this.event,m))}forEach(m){return new W(i(this.event,m))}filter(m){return new W(n(this.event,m))}reduce(m,N){return new W(h(this.event,m,N))}latch(){return new W(_(this.event))}debounce(m,N=100,x=!1,y){return new W(c(this.event,m,N,x,y))}on(m,N,x){return this.event(m,N,x)}once(m,N,x){return t(this.event)(m,N,x)}}function L(C){return new W(C)}r.chain=L;function S(C,m,N=x=>x){const x=(...k)=>I.fire(N(...k)),y=()=>C.on(m,x),D=()=>C.removeListener(m,x),I=new _e({onFirstListenerAdd:y,onLastListenerRemove:D});return I.event}r.fromNodeEventEmitter=S;function g(C,m,N=x=>x){const x=(...k)=>I.fire(N(...k)),y=()=>C.addEventListener(m,x),D=()=>C.removeEventListener(m,x),I=new _e({onFirstListenerAdd:y,onLastListenerRemove:D});return I.event}r.fromDOMEventEmitter=g;function U(C){return new Promise(m=>t(C)(m))}r.toPromise=U})(lr||(lr={}));class Si{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${Si._idPool++}`}start(t){this._stopWatch=new xi(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Si._idPool=0;class _e{constructor(t){var e;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((e=this._options)===null||e===void 0)&&e._profName?new Si(this._options._profName):void 0}get event(){return this._event||(this._event=(t,e,i)=>{var n;this._listeners||(this._listeners=new Mn);const a=this._listeners.isEmpty();a&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(e?[t,e]:t);a&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,e);const h=(n=this._leakageMon)===null||n===void 0?void 0:n.check(this._listeners.size),u=On(()=>{h&&h(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return i instanceof Y1?i.add(u):Array.isArray(i)&&i.push(u),u}),this._event}fire(t){var e,i;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new Mn);for(let n of this._listeners)this._deliveryQueue.push([n,t]);for((e=this._perfMon)===null||e===void 0||e.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[n,a]=this._deliveryQueue.shift();try{typeof n=="function"?n.call(void 0,a):n[0].call(n[1],a)}catch(o){lt(o)}}(i=this._perfMon)===null||i===void 0||i.stop()}}dispose(){var t,e,i,n,a;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(e=this._deliveryQueue)===null||e===void 0||e.clear(),(n=(i=this._options)===null||i===void 0?void 0:i.onLastListenerRemove)===null||n===void 0||n.call(i),(a=this._leakageMon)===null||a===void 0||a.dispose())}}function v7(r){let t=[],e=Object.getPrototypeOf(r);for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}function cr(r){const t=[];for(const e of v7(r))typeof r[e]=="function"&&t.push(e);return t}function b7(r,t){const e=n=>function(){const a=Array.prototype.slice.call(arguments,0);return t(n,a)};let i={};for(const n of r)i[n]=e(n);return i}function H7(r,t="Unreachable"){throw new Error(t)}function k7(r){return r.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function P7(r){return r.split(/\r\n|\r|\n/)}function B7(r){for(let t=0,e=r.length;t=0;e--){const i=r.charCodeAt(e);if(i!==32&&i!==9)return e}return-1}function Un(r){return r>=65&&r<=90}function Er(r){return 55296<=r&&r<=56319}function V7(r){return 56320<=r&&r<=57343}function Y7(r,t){return(r-55296<<10)+(t-56320)+65536}function F7(r,t,e){const i=r.charCodeAt(e);if(Er(i)&&e+1{this._pendingReplies[i]={resolve:n,reject:a},this._send(new Q7(this._workerId,i,t,e))})}listen(t,e){let i=null;const n=new _e({onFirstListenerAdd:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,n),this._send(new J7(this._workerId,i,t,e))},onLastListenerRemove:()=>{this._pendingEmitters.delete(i),this._send(new $7(this._workerId,i)),i=null}});return n.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let e=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let i=t.err;t.err.$isError&&(i=new Error,i.name=t.err.name,i.message=t.err.message,i.stack=t.err.stack),e.reject(i);return}e.resolve(t.res)}_handleRequestMessage(t){let e=t.req;this._handler.handleMessage(t.method,t.args).then(n=>{this._send(new yn(this._workerId,e,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=V1(n.detail)),this._send(new yn(this._workerId,e,void 0,V1(n)))})}_handleSubscribeEventMessage(t){const e=t.req,i=this._handler.handleEvent(t.eventName,t.arg)(n=>{this._send(new j7(this._workerId,e,n))});this._pendingEvents.set(e,i)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let e=[];if(t.type===0)for(let i=0;ifunction(){const h=Array.prototype.slice.call(arguments,0);return t(o,h)},n=o=>function(h){return e(o,h)};let a={};for(const o of r){if(vn(o)){a[o]=n(o);continue}if(wn(o)){a[o]=e(o,void 0);continue}a[o]=i(o)}return a}class q7{constructor(t,e){this._requestHandlerFactory=e,this._requestHandler=null,this._protocol=new z7({sendMessage:(i,n)=>{t(i,n)},handleMessage:(i,n)=>this._handleMessage(i,n),handleEvent:(i,n)=>this._handleEvent(i,n)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,e){if(t===X7)return this.initialize(e[0],e[1],e[2],e[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,e))}catch(i){return Promise.reject(i)}}_handleEvent(t,e){if(!this._requestHandler)throw new Error("Missing requestHandler");if(vn(t)){const i=this._requestHandler[t].call(this._requestHandler,e);if(typeof i!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return i}if(wn(t)){const i=this._requestHandler[t];if(typeof i!="function")throw new Error(`Missing event ${t} on request handler.`);return i}throw new Error(`Malformed event name ${t}`)}initialize(t,e,i,n){this._protocol.setWorkerId(t);const h=Z7(n,(u,c)=>this._protocol.sendMessage(u,c),(u,c)=>this._protocol.listen(u,c));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(h),Promise.resolve(cr(this._requestHandler))):(e&&(typeof e.baseUrl<"u"&&delete e.baseUrl,typeof e.paths<"u"&&typeof e.paths.vs<"u"&&delete e.paths.vs,typeof e.trustedTypesPolicy!==void 0&&delete e.trustedTypesPolicy,e.catchError=!0,mt.require.config(e)),new Promise((u,c)=>{const _=mt.require;_([i],d=>{if(this._requestHandler=d.create(h),!this._requestHandler){c(new Error("No RequestHandler!"));return}u(cr(this._requestHandler))},c)}))}}class de{constructor(t,e,i,n){this.originalStart=t,this.originalLength=e,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function bn(r,t){return(t<<5)-t+r|0}function th(r,t){t=bn(149417,t);for(let e=0,i=r.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new de(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_originalCount++}AddModifiedElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Re{constructor(t,e,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=t,this._modifiedSequence=e;const[n,a,o]=Re._getElements(t),[h,u,c]=Re._getElements(e);this._hasStrings=o&&c,this._originalStringElements=n,this._originalElementsOrHash=a,this._modifiedStringElements=h,this._modifiedElementsOrHash=u,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const e=t.getElements();if(Re._isStringArray(e)){const i=new Int32Array(e.length);for(let n=0,a=e.length;n=t&&n>=i&&this.ElementsAreEqual(e,n);)e--,n--;if(t>e||i>n){let d;return i<=n?(E1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),d=[new de(t,0,i,n-i+1)]):t<=e?(E1.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),d=[new de(t,e-t+1,i,0)]):(E1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),E1.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const o=[0],h=[0],u=this.ComputeRecursionPoint(t,e,i,n,o,h,a),c=o[0],_=h[0];if(u!==null)return u;if(!a[0]){const d=this.ComputeDiffRecursive(t,c,i,_,a);let f=[];return a[0]?f=[new de(c+1,e-(c+1)+1,_+1,n-(_+1)+1)]:f=this.ComputeDiffRecursive(c+1,e,_+1,n,a),this.ConcatenateChanges(d,f)}return[new de(t,e-t+1,i,n-i+1)]}WALKTRACE(t,e,i,n,a,o,h,u,c,_,d,f,W,L,S,g,U,C){let m=null,N=null,x=new kn,y=e,D=i,I=W[0]-g[0]-n,k=-1073741824,Et=this.m_forwardHistory.length-1;do{const F=I+t;F===y||F=0&&(c=this.m_forwardHistory[Et],t=c[0],y=1,D=c.length-1)}while(--Et>=-1);if(m=x.getReverseChanges(),C[0]){let F=W[0]+1,w=g[0]+1;if(m!==null&&m.length>0){const jt=m[m.length-1];F=Math.max(F,jt.getOriginalEnd()),w=Math.max(w,jt.getModifiedEnd())}N=[new de(F,f-F+1,w,S-w+1)]}else{x=new kn,y=o,D=h,I=W[0]-g[0]-u,k=1073741824,Et=U?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const F=I+a;F===y||F=_[F+1]?(d=_[F+1]-1,L=d-I-u,d>k&&x.MarkNextChange(),k=d+1,x.AddOriginalElement(d+1,L+1),I=F+1-a):(d=_[F-1],L=d-I-u,d>k&&x.MarkNextChange(),k=d,x.AddModifiedElement(d+1,L+1),I=F-1-a),Et>=0&&(_=this.m_reverseHistory[Et],a=_[0],y=1,D=_.length-1)}while(--Et>=-1);N=x.getChanges()}return this.ConcatenateChanges(m,N)}ComputeRecursionPoint(t,e,i,n,a,o,h){let u=0,c=0,_=0,d=0,f=0,W=0;t--,i--,a[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const L=e-t+(n-i),S=L+1,g=new Int32Array(S),U=new Int32Array(S),C=n-i,m=e-t,N=t-i,x=e-n,D=(m-C)%2===0;g[C]=t,U[m]=e,h[0]=!1;for(let I=1;I<=L/2+1;I++){let k=0,Et=0;_=this.ClipDiagonalBound(C-I,I,C,S),d=this.ClipDiagonalBound(C+I,I,C,S);for(let w=_;w<=d;w+=2){w===_||wk+Et&&(k=u,Et=c),!D&&Math.abs(w-m)<=I-1&&u>=U[w])return a[0]=u,o[0]=c,jt<=U[w]&&1447>0&&I<=1447+1?this.WALKTRACE(C,_,d,N,m,f,W,x,g,U,u,e,a,c,n,o,D,h):null}const F=(k-t+(Et-i)-I)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(k,F))return h[0]=!0,a[0]=k,o[0]=Et,F>0&&1447>0&&I<=1447+1?this.WALKTRACE(C,_,d,N,m,f,W,x,g,U,u,e,a,c,n,o,D,h):(t++,i++,[new de(t,e-t+1,i,n-i+1)]);f=this.ClipDiagonalBound(m-I,I,m,S),W=this.ClipDiagonalBound(m+I,I,m,S);for(let w=f;w<=W;w+=2){w===f||w=U[w+1]?u=U[w+1]-1:u=U[w-1],c=u-(w-m)-x;const jt=u;for(;u>t&&c>i&&this.ElementsAreEqual(u,c);)u--,c--;if(U[w]=u,D&&Math.abs(w-C)<=I&&u<=g[w])return a[0]=u,o[0]=c,jt>=g[w]&&1447>0&&I<=1447+1?this.WALKTRACE(C,_,d,N,m,f,W,x,g,U,u,e,a,c,n,o,D,h):null}if(I<=1447){let w=new Int32Array(d-_+2);w[0]=C-_+1,_1.Copy2(g,_,w,1,d-_+1),this.m_forwardHistory.push(w),w=new Int32Array(W-f+2),w[0]=m-f+1,_1.Copy2(U,f,w,1,W-f+1),this.m_reverseHistory.push(w)}}return this.WALKTRACE(C,_,d,N,m,f,W,x,g,U,u,e,a,c,n,o,D,h)}PrettifyChanges(t){for(let e=0;e0,h=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;e--){const i=t[e];let n=0,a=0;if(e>0){const d=t[e-1];n=d.originalStart+d.originalLength,a=d.modifiedStart+d.modifiedLength}const o=i.originalLength>0,h=i.modifiedLength>0;let u=0,c=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let d=1;;d++){const f=i.originalStart-d,W=i.modifiedStart-d;if(fc&&(c=S,u=d)}i.originalStart-=u,i.modifiedStart-=u;const _=[null];if(e>0&&this.ChangesOverlap(t[e-1],t[e],_)){t[e-1]=_[0],t.splice(e,1),e++;continue}}if(this._hasStrings)for(let e=1,i=t.length;e0&&W>u&&(u=W,c=d,_=f)}return u>0?[c,_]:null}_contiguousSequenceScore(t,e,i){let n=0;for(let a=0;a=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,e){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,e){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(t,e,i,n){const a=this._OriginalRegionIsBoundary(t,e)?1:0,o=this._ModifiedRegionIsBoundary(i,n)?1:0;return a+o}ConcatenateChanges(t,e){let i=[];if(t.length===0||e.length===0)return e.length>0?e:t;if(this.ChangesOverlap(t[t.length-1],e[0],i)){const n=new Array(t.length+e.length-1);return _1.Copy(t,0,n,0,t.length-1),n[t.length-1]=i[0],_1.Copy(e,1,n,t.length,e.length-1),n}else{const n=new Array(t.length+e.length);return _1.Copy(t,0,n,0,t.length),_1.Copy(e,0,n,t.length,e.length),n}}ChangesOverlap(t,e,i){if(E1.Assert(t.originalStart<=e.originalStart,"Left change is not less than or equal to right change"),E1.Assert(t.modifiedStart<=e.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=e.originalStart||t.modifiedStart+t.modifiedLength>=e.modifiedStart){const n=t.originalStart;let a=t.originalLength;const o=t.modifiedStart;let h=t.modifiedLength;return t.originalStart+t.originalLength>=e.originalStart&&(a=e.originalStart+e.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=e.modifiedStart&&(h=e.modifiedStart+e.modifiedLength-t.modifiedStart),i[0]=new de(n,a,o,h),!0}else return i[0]=null,!1}ClipDiagonalBound(t,e,i,n){if(t>=0&&t=ih&&r<=nh||r>=rh&&r<=ah}function gi(r,t,e,i){let n="",a=0,o=-1,h=0,u=0;for(let c=0;c<=r.length;++c){if(c2){const _=n.lastIndexOf(e);_===-1?(n="",a=0):(n=n.slice(0,_),a=n.length-1-n.lastIndexOf(e)),o=c,h=0;continue}else if(n.length!==0){n="",a=0,o=c,h=0;continue}}t&&(n+=n.length>0?`${e}..`:"..",a=2)}else n.length>0?n+=`${e}${r.slice(o+1,c)}`:n=r.slice(o+1,c),a=c-o-1;o=c,h=0}else u===Te&&h!==-1?++h:h=-1}return n}function Bn(r,t){if(t===null||typeof t!="object")throw new Pn("pathObject","Object",t);const e=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return e?e===t.root?`${e}${i}`:`${e}${r}${i}`:i}const Lt={resolve(...r){let t="",e="",i=!1;for(let n=r.length-1;n>=-1;n--){let a;if(n>=0){if(a=r[n],ot(a,"path"),a.length===0)continue}else t.length===0?a=_r():(a=sh[`=${t}`]||_r(),(a===void 0||a.slice(0,2).toLowerCase()!==t.toLowerCase()&&a.charCodeAt(2)===It)&&(a=`${t}\\`));const o=a.length;let h=0,u="",c=!1;const _=a.charCodeAt(0);if(o===1)v(_)&&(h=1,c=!0);else if(v(_))if(c=!0,v(a.charCodeAt(1))){let d=2,f=d;for(;d2&&v(a.charCodeAt(2))&&(c=!0,h=3));if(u.length>0)if(t.length>0){if(u.toLowerCase()!==t.toLowerCase())continue}else t=u;if(i){if(t.length>0)break}else if(e=`${a.slice(h)}\\${e}`,i=c,c&&t.length>0)break}return e=gi(e,!i,"\\",v),i?`${t}\\${e}`:`${t}${e}`||"."},normalize(r){ot(r,"path");const t=r.length;if(t===0)return".";let e=0,i,n=!1;const a=r.charCodeAt(0);if(t===1)return dr(a)?"\\":r;if(v(a))if(n=!0,v(r.charCodeAt(1))){let h=2,u=h;for(;h2&&v(r.charCodeAt(2))&&(n=!0,e=3));let o=e0&&v(r.charCodeAt(t-1))&&(o+="\\"),i===void 0?n?`\\${o}`:o:n?`${i}\\${o}`:`${i}${o}`},isAbsolute(r){ot(r,"path");const t=r.length;if(t===0)return!1;const e=r.charCodeAt(0);return v(e)||t>2&&Ae(e)&&r.charCodeAt(1)===fe&&v(r.charCodeAt(2))},join(...r){if(r.length===0)return".";let t,e;for(let a=0;a0&&(t===void 0?t=e=o:t+=`\\${o}`)}if(t===void 0)return".";let i=!0,n=0;if(typeof e=="string"&&v(e.charCodeAt(0))){++n;const a=e.length;a>1&&v(e.charCodeAt(1))&&(++n,a>2&&(v(e.charCodeAt(2))?++n:i=!1))}if(i){for(;n=2&&(t=`\\${t.slice(n)}`)}return Lt.normalize(t)},relative(r,t){if(ot(r,"from"),ot(t,"to"),r===t)return"";const e=Lt.resolve(r),i=Lt.resolve(t);if(e===i||(r=e.toLowerCase(),t=i.toLowerCase(),r===t))return"";let n=0;for(;nn&&r.charCodeAt(a-1)===It;)a--;const o=a-n;let h=0;for(;hh&&t.charCodeAt(u-1)===It;)u--;const c=u-h,_=o_){if(t.charCodeAt(h+f)===It)return i.slice(h+f+1);if(f===2)return i.slice(h+f)}o>_&&(r.charCodeAt(n+f)===It?d=f:f===2&&(d=3)),d===-1&&(d=0)}let W="";for(f=n+d+1;f<=a;++f)(f===a||r.charCodeAt(f)===It)&&(W+=W.length===0?"..":"\\..");return h+=d,W.length>0?`${W}${i.slice(h,u)}`:(i.charCodeAt(h)===It&&++h,i.slice(h,u))},toNamespacedPath(r){if(typeof r!="string")return r;if(r.length===0)return"";const t=Lt.resolve(r);if(t.length<=2)return r;if(t.charCodeAt(0)===It){if(t.charCodeAt(1)===It){const e=t.charCodeAt(2);if(e!==oh&&e!==Te)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Ae(t.charCodeAt(0))&&t.charCodeAt(1)===fe&&t.charCodeAt(2)===It)return`\\\\?\\${t}`;return r},dirname(r){ot(r,"path");const t=r.length;if(t===0)return".";let e=-1,i=0;const n=r.charCodeAt(0);if(t===1)return v(n)?r:".";if(v(n)){if(e=i=1,v(r.charCodeAt(1))){let h=2,u=h;for(;h2&&v(r.charCodeAt(2))?3:2,i=e);let a=-1,o=!0;for(let h=t-1;h>=i;--h)if(v(r.charCodeAt(h))){if(!o){a=h;break}}else o=!1;if(a===-1){if(e===-1)return".";a=e}return r.slice(0,a)},basename(r,t){t!==void 0&&ot(t,"ext"),ot(r,"path");let e=0,i=-1,n=!0,a;if(r.length>=2&&Ae(r.charCodeAt(0))&&r.charCodeAt(1)===fe&&(e=2),t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let o=t.length-1,h=-1;for(a=r.length-1;a>=e;--a){const u=r.charCodeAt(a);if(v(u)){if(!n){e=a+1;break}}else h===-1&&(n=!1,h=a+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=a):(o=-1,i=h))}return e===i?i=h:i===-1&&(i=r.length),r.slice(e,i)}for(a=r.length-1;a>=e;--a)if(v(r.charCodeAt(a))){if(!n){e=a+1;break}}else i===-1&&(n=!1,i=a+1);return i===-1?"":r.slice(e,i)},extname(r){ot(r,"path");let t=0,e=-1,i=0,n=-1,a=!0,o=0;r.length>=2&&r.charCodeAt(1)===fe&&Ae(r.charCodeAt(0))&&(t=i=2);for(let h=r.length-1;h>=t;--h){const u=r.charCodeAt(h);if(v(u)){if(!a){i=h+1;break}continue}n===-1&&(a=!1,n=h+1),u===Te?e===-1?e=h:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||n===-1||o===0||o===1&&e===n-1&&e===i+1?"":r.slice(e,n)},format:Bn.bind(null,"\\"),parse(r){ot(r,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;const e=r.length;let i=0,n=r.charCodeAt(0);if(e===1)return v(n)?(t.root=t.dir=r,t):(t.base=t.name=r,t);if(v(n)){if(i=1,v(r.charCodeAt(1))){let d=2,f=d;for(;d0&&(t.root=r.slice(0,i));let a=-1,o=i,h=-1,u=!0,c=r.length-1,_=0;for(;c>=i;--c){if(n=r.charCodeAt(c),v(n)){if(!u){o=c+1;break}continue}h===-1&&(u=!1,h=c+1),n===Te?a===-1?a=c:_!==1&&(_=1):a!==-1&&(_=-1)}return h!==-1&&(a===-1||_===0||_===1&&a===h-1&&a===o+1?t.base=t.name=r.slice(o,h):(t.name=r.slice(o,a),t.base=r.slice(o,h),t.ext=r.slice(a,h))),o>0&&o!==i?t.dir=r.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},Ot={resolve(...r){let t="",e=!1;for(let i=r.length-1;i>=-1&&!e;i--){const n=i>=0?r[i]:_r();ot(n,"path"),n.length!==0&&(t=`${n}/${t}`,e=n.charCodeAt(0)===Tt)}return t=gi(t,!e,"/",dr),e?`/${t}`:t.length>0?t:"."},normalize(r){if(ot(r,"path"),r.length===0)return".";const t=r.charCodeAt(0)===Tt,e=r.charCodeAt(r.length-1)===Tt;return r=gi(r,!t,"/",dr),r.length===0?t?"/":e?"./":".":(e&&(r+="/"),t?`/${r}`:r)},isAbsolute(r){return ot(r,"path"),r.length>0&&r.charCodeAt(0)===Tt},join(...r){if(r.length===0)return".";let t;for(let e=0;e0&&(t===void 0?t=i:t+=`/${i}`)}return t===void 0?".":Ot.normalize(t)},relative(r,t){if(ot(r,"from"),ot(t,"to"),r===t||(r=Ot.resolve(r),t=Ot.resolve(t),r===t))return"";const e=1,i=r.length,n=i-e,a=1,o=t.length-a,h=nh){if(t.charCodeAt(a+c)===Tt)return t.slice(a+c+1);if(c===0)return t.slice(a+c)}else n>h&&(r.charCodeAt(e+c)===Tt?u=c:c===0&&(u=0));let _="";for(c=e+u+1;c<=i;++c)(c===i||r.charCodeAt(c)===Tt)&&(_+=_.length===0?"..":"/..");return`${_}${t.slice(a+u)}`},toNamespacedPath(r){return r},dirname(r){if(ot(r,"path"),r.length===0)return".";const t=r.charCodeAt(0)===Tt;let e=-1,i=!0;for(let n=r.length-1;n>=1;--n)if(r.charCodeAt(n)===Tt){if(!i){e=n;break}}else i=!1;return e===-1?t?"/":".":t&&e===1?"//":r.slice(0,e)},basename(r,t){t!==void 0&&ot(t,"ext"),ot(r,"path");let e=0,i=-1,n=!0,a;if(t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let o=t.length-1,h=-1;for(a=r.length-1;a>=0;--a){const u=r.charCodeAt(a);if(u===Tt){if(!n){e=a+1;break}}else h===-1&&(n=!1,h=a+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=a):(o=-1,i=h))}return e===i?i=h:i===-1&&(i=r.length),r.slice(e,i)}for(a=r.length-1;a>=0;--a)if(r.charCodeAt(a)===Tt){if(!n){e=a+1;break}}else i===-1&&(n=!1,i=a+1);return i===-1?"":r.slice(e,i)},extname(r){ot(r,"path");let t=-1,e=0,i=-1,n=!0,a=0;for(let o=r.length-1;o>=0;--o){const h=r.charCodeAt(o);if(h===Tt){if(!n){e=o+1;break}continue}i===-1&&(n=!1,i=o+1),h===Te?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||i===-1||a===0||a===1&&t===i-1&&t===e+1?"":r.slice(t,i)},format:Bn.bind(null,"/"),parse(r){ot(r,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;const e=r.charCodeAt(0)===Tt;let i;e?(t.root="/",i=1):i=0;let n=-1,a=0,o=-1,h=!0,u=r.length-1,c=0;for(;u>=i;--u){const _=r.charCodeAt(u);if(_===Tt){if(!h){a=u+1;break}continue}o===-1&&(h=!1,o=u+1),_===Te?n===-1?n=u:c!==1&&(c=1):n!==-1&&(c=-1)}if(o!==-1){const _=a===0&&e?1:a;n===-1||c===0||c===1&&n===o-1&&n===a+1?t.base=t.name=r.slice(_,o):(t.name=r.slice(_,n),t.base=r.slice(_,o),t.ext=r.slice(n,o))}return a>0?t.dir=r.slice(0,a-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ot.win32=Lt.win32=Lt,Ot.posix=Lt.posix=Ot,ke==="win32"?Lt.normalize:Ot.normalize,ke==="win32"?Lt.resolve:Ot.resolve,ke==="win32"?Lt.relative:Ot.relative,ke==="win32"?Lt.dirname:Ot.dirname,ke==="win32"?Lt.basename:Ot.basename,ke==="win32"?Lt.extname:Ot.extname,ke==="win32"?Lt.sep:Ot.sep;const hh=/^\w[\w\d+.-]*$/,uh=/^\//,lh=/^\/\//;function Gn(r,t){if(!r.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${r.authority}", path: "${r.path}", query: "${r.query}", fragment: "${r.fragment}"}`);if(r.scheme&&!hh.test(r.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(r.path){if(r.authority){if(!uh.test(r.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(lh.test(r.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function ch(r,t){return!r&&!t?"file":r}function Eh(r,t){switch(r){case"https":case"http":case"file":t?t[0]!==Vt&&(t=Vt+t):t=Vt;break}return t}const $="",Vt="/",_h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Pe{constructor(t,e,i,n,a,o=!1){typeof t=="object"?(this.scheme=t.scheme||$,this.authority=t.authority||$,this.path=t.path||$,this.query=t.query||$,this.fragment=t.fragment||$):(this.scheme=ch(t,o),this.authority=e||$,this.path=Eh(this.scheme,i||$),this.query=n||$,this.fragment=a||$,Gn(this,o))}static isUri(t){return t instanceof Pe?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return Rr(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:i,path:n,query:a,fragment:o}=t;return e===void 0?e=this.scheme:e===null&&(e=$),i===void 0?i=this.authority:i===null&&(i=$),n===void 0?n=this.path:n===null&&(n=$),a===void 0?a=this.query:a===null&&(a=$),o===void 0?o=this.fragment:o===null&&(o=$),e===this.scheme&&i===this.authority&&n===this.path&&a===this.query&&o===this.fragment?this:new R1(e,i,n,a,o)}static parse(t,e=!1){const i=_h.exec(t);return i?new R1(i[2]||$,Ii(i[4]||$),Ii(i[5]||$),Ii(i[7]||$),Ii(i[9]||$),e):new R1($,$,$,$,$)}static file(t){let e=$;if(X1&&(t=t.replace(/\\/g,Vt)),t[0]===Vt&&t[1]===Vt){const i=t.indexOf(Vt,2);i===-1?(e=t.substring(2),t=Vt):(e=t.substring(2,i),t=t.substring(i)||Vt)}return new R1("file",e,t,$,$)}static from(t){const e=new R1(t.scheme,t.authority,t.path,t.query,t.fragment);return Gn(e,!0),e}static joinPath(t,...e){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return X1&&t.scheme==="file"?i=Pe.file(Lt.join(Rr(t,!0),...e)).path:i=Ot.join(t.path,...e),t.with({path:i})}toString(t=!1){return Tr(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof Pe)return t;{const e=new R1(t);return e._formatted=t.external,e._fsPath=t._sep===Vn?t.fsPath:null,e}}else return t}}const Vn=X1?1:void 0;class R1 extends Pe{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Rr(this,!1)),this._fsPath}toString(t=!1){return t?Tr(this,!0):(this._formatted||(this._formatted=Tr(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Vn),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const Yn={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Fn(r,t){let e,i=-1;for(let n=0;n=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||a===45||a===46||a===95||a===126||t&&a===47)i!==-1&&(e+=encodeURIComponent(r.substring(i,n)),i=-1),e!==void 0&&(e+=r.charAt(n));else{e===void 0&&(e=r.substr(0,n));const o=Yn[a];o!==void 0?(i!==-1&&(e+=encodeURIComponent(r.substring(i,n)),i=-1),e+=o):i===-1&&(i=n)}}return i!==-1&&(e+=encodeURIComponent(r.substring(i))),e!==void 0?e:r}function dh(r){let t;for(let e=0;e1&&r.scheme==="file"?e=`//${r.authority}${r.path}`:r.path.charCodeAt(0)===47&&(r.path.charCodeAt(1)>=65&&r.path.charCodeAt(1)<=90||r.path.charCodeAt(1)>=97&&r.path.charCodeAt(1)<=122)&&r.path.charCodeAt(2)===58?t?e=r.path.substr(1):e=r.path[1].toLowerCase()+r.path.substr(2):e=r.path,X1&&(e=e.replace(/\//g,"\\")),e}function Tr(r,t){const e=t?dh:Fn;let i="",{scheme:n,authority:a,path:o,query:h,fragment:u}=r;if(n&&(i+=n,i+=":"),(a||n==="file")&&(i+=Vt,i+=Vt),a){let c=a.indexOf("@");if(c!==-1){const _=a.substr(0,c);a=a.substr(c+1),c=_.indexOf(":"),c===-1?i+=e(_,!1):(i+=e(_.substr(0,c),!1),i+=":",i+=e(_.substr(c+1),!1)),i+="@"}a=a.toLowerCase(),c=a.indexOf(":"),c===-1?i+=e(a,!1):(i+=e(a.substr(0,c),!1),i+=a.substr(c))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const c=o.charCodeAt(1);c>=65&&c<=90&&(o=`/${String.fromCharCode(c+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const c=o.charCodeAt(0);c>=65&&c<=90&&(o=`${String.fromCharCode(c+32)}:${o.substr(2)}`)}i+=e(o,!0)}return h&&(i+="?",i+=e(h,!1)),u&&(i+="#",i+=t?u:Fn(u,!1)),i}function Xn(r){try{return decodeURIComponent(r)}catch{return r.length>3?r.substr(0,3)+Xn(r.substr(3)):r}}const Qn=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Ii(r){return r.match(Qn)?r.replace(Qn,t=>Xn(t)):r}class Dt{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new Dt(t,e)}delta(t=0,e=0){return this.with(this.lineNumber+t,this.column+e)}equals(t){return Dt.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return Dt.isBefore(this,t)}static isBefore(t,e){return t.lineNumberi||t===i&&e>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return tt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return tt.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.columnt.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return tt.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumnt.endColumn)}strictContainsRange(t){return tt.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return tt.plusRange(this,t)}static plusRange(t,e){let i,n,a,o;return e.startLineNumbert.endLineNumber?(a=e.endLineNumber,o=e.endColumn):e.endLineNumber===t.endLineNumber?(a=e.endLineNumber,o=Math.max(e.endColumn,t.endColumn)):(a=t.endLineNumber,o=t.endColumn),new tt(i,n,a,o)}intersectRanges(t){return tt.intersectRanges(this,t)}static intersectRanges(t,e){let i=t.startLineNumber,n=t.startColumn,a=t.endLineNumber,o=t.endColumn,h=e.startLineNumber,u=e.startColumn,c=e.endLineNumber,_=e.endColumn;return ic?(a=c,o=_):a===c&&(o=Math.min(o,_)),i>a||i===a&&n>o?null:new tt(i,n,a,o)}equalsRange(t){return tt.equalsRange(this,t)}static equalsRange(t,e){return!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return tt.getEndPosition(this)}static getEndPosition(t){return new Dt(t.endLineNumber,t.endColumn)}getStartPosition(){return tt.getStartPosition(this)}static getStartPosition(t){return new Dt(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new tt(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new tt(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return tt.collapseToStart(this)}static collapseToStart(t){return new tt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,e=t){return new tt(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new tt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumbert.startLineNumber}}const Rh=3;function Jn(r,t,e,i){return new Re(r,t,e).ComputeDiff(i)}class jn{constructor(t){const e=[],i=[];for(let n=0,a=t.length;n0&&e.originalLength<20&&e.modifiedLength>0&&e.modifiedLength<20&&a()){const W=i.createCharSequence(t,e.originalStart,e.originalStart+e.originalLength-1),L=n.createCharSequence(t,e.modifiedStart,e.modifiedStart+e.modifiedLength-1);let S=Jn(W,L,a,!0).changes;h&&(S=fh(S)),f=[];for(let g=0,U=S.length;g1&&S>1;){const g=f.charCodeAt(L-2),U=W.charCodeAt(S-2);if(g!==U)break;L--,S--}(L>1||S>1)&&this._pushTrimWhitespaceCharChange(n,a+1,1,L,o+1,1,S)}{let L=Ar(f,1),S=Ar(W,1);const g=f.length+1,U=W.length+1;for(;L!0;const t=Date.now();return()=>Date.now()-t255?255:r|0}function T1(r){return r<0?0:r>4294967295?4294967295:r|0}class mh{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,e){t=T1(t);const i=this.values,n=this.prefixSum,a=e.length;return a===0?!1:(this.values=new Uint32Array(i.length+a),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t),t+a),this.values.set(e,t),t-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,e){return t=T1(t),e=T1(e),this.values[t]===e?!1:(this.values[t]=e,t-1=i.length)return!1;let a=i.length-t;return e>=a&&(e=a),e===0?!1:(this.values=new Uint32Array(i.length-e),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t+e),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=T1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let e=this.prefixSumValidIndex[0]+1;e===0&&(this.prefixSum[0]=this.values[0],e++),t>=this.values.length&&(t=this.values.length-1);for(let i=e;i<=t;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let e=0,i=this.values.length-1,n=0,a=0,o=0;for(;e<=i;)if(n=e+(i-e)/2|0,a=this.prefixSum[n],o=a-this.values[n],t=a)e=n+1;else break;return new Ch(n,t-o)}}class Ch{constructor(t,e){this.index=t,this.remainder=e,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=e}}class Wh{constructor(t,e,i,n){this._uri=t,this._lines=e,this._eol=i,this._versionId=n,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const e=t.changes;for(const i of e)this._acceptDeleteRange(i.range),this._acceptInsertText(new Dt(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,e=this._lines.length,i=new Uint32Array(e);for(let n=0;n/?";function Kh(r=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const e of ph)r.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}const Nh=Kh();function Lh(r){let t=Nh;if(r&&r instanceof RegExp)if(r.global)t=r;else{let e="g";r.ignoreCase&&(e+="i"),r.multiline&&(e+="m"),r.unicode&&(e+="u"),t=new RegExp(r.source,e)}return t.lastIndex=0,t}const xh={maxLen:1e3,windowSize:15,timeBudget:150};function Zn(r,t,e,i,n=xh){if(e.length>n.maxLen){let c=r-n.maxLen/2;return c<0?c=0:i+=c,e=e.substring(c,r+n.maxLen/2),Zn(r,t,e,i,n)}const a=Date.now(),o=r-1-i;let h=-1,u=null;for(let c=1;!(Date.now()-a>=n.timeBudget);c++){const _=o-n.windowSize*c;t.lastIndex=Math.max(0,_);const d=Sh(t,e,o,h);if(!d&&u||(u=d,_<=0))break;h=_}if(u){let c={word:u[0],startColumn:i+1+u.index,endColumn:i+1+u.index+u[0].length};return t.lastIndex=0,c}return null}function Sh(r,t,e,i){let n;for(;n=r.exec(t);){const a=n.index||0;if(a<=e&&r.lastIndex>=e)return n;if(i>0&&a>i)return null}return null}class mr{constructor(t){let e=zn(t);this._defaultValue=e,this._asciiMap=mr._createAsciiMap(e),this._map=new Map}static _createAsciiMap(t){let e=new Uint8Array(256);for(let i=0;i<256;i++)e[i]=t;return e}set(t,e){let i=zn(e);t>=0&&t<256?this._asciiMap[t]=i:this._map.set(t,i)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class gh{constructor(t,e,i){const n=new Uint8Array(t*e);for(let a=0,o=t*e;ae&&(e=u),h>i&&(i=h),c>i&&(i=c)}e++,i++;let n=new gh(i,e,0);for(let a=0,o=t.length;a=this._maxCharCode?0:this._states.get(t,e)}}let Cr=null;function Oh(){return Cr===null&&(Cr=new Ih([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Cr}let j1=null;function Dh(){if(j1===null){j1=new mr(0);const r=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let e=0;en);if(n>0){const h=e.charCodeAt(n-1),u=e.charCodeAt(o);(h===40&&u===41||h===91&&u===93||h===123&&u===125)&&o--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:o+2},url:e.substring(n,o+1)}}static computeLinks(t,e=Oh()){const i=Dh();let n=[];for(let a=1,o=t.getLineCount();a<=o;a++){const h=t.getLineContent(a),u=h.length;let c=0,_=0,d=0,f=1,W=!1,L=!1,S=!1,g=!1;for(;c=0?(n+=i?1:-1,n<0?n=t.length-1:n%=t.length,t[n]):null}}Wr.INSTANCE=new Wr;const qn=Object.freeze(function(r,t){const e=setTimeout(r.bind(t),0);return{dispose(){clearTimeout(e)}}});var Di;(function(r){function t(e){return e===r.None||e===r.Cancelled||e instanceof Mi?!0:!e||typeof e!="object"?!1:typeof e.isCancellationRequested=="boolean"&&typeof e.onCancellationRequested=="function"}r.isCancellationToken=t,r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:lr.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qn})})(Di||(Di={}));class Mi{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qn:(this._emitter||(this._emitter=new _e),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Uh{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Mi),this._token}cancel(){this._token?this._token instanceof Mi&&this._token.cancel():this._token=Di.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Mi&&this._token.dispose():this._token=Di.None}}class pr{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Ui=new pr,Kr=new pr,Nr=new pr,yh=new Array(230),wh=Object.create(null),vh=Object.create(null);(function(){const r="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",r,r],[0,1,1,"Hyper",0,r,0,r,r,r],[0,1,2,"Super",0,r,0,r,r,r],[0,1,3,"Fn",0,r,0,r,r,r],[0,1,4,"FnLock",0,r,0,r,r,r],[0,1,5,"Suspend",0,r,0,r,r,r],[0,1,6,"Resume",0,r,0,r,r,r],[0,1,7,"Turbo",0,r,0,r,r,r],[0,1,8,"Sleep",0,r,0,"VK_SLEEP",r,r],[0,1,9,"WakeUp",0,r,0,r,r,r],[31,0,10,"KeyA",31,"A",65,"VK_A",r,r],[32,0,11,"KeyB",32,"B",66,"VK_B",r,r],[33,0,12,"KeyC",33,"C",67,"VK_C",r,r],[34,0,13,"KeyD",34,"D",68,"VK_D",r,r],[35,0,14,"KeyE",35,"E",69,"VK_E",r,r],[36,0,15,"KeyF",36,"F",70,"VK_F",r,r],[37,0,16,"KeyG",37,"G",71,"VK_G",r,r],[38,0,17,"KeyH",38,"H",72,"VK_H",r,r],[39,0,18,"KeyI",39,"I",73,"VK_I",r,r],[40,0,19,"KeyJ",40,"J",74,"VK_J",r,r],[41,0,20,"KeyK",41,"K",75,"VK_K",r,r],[42,0,21,"KeyL",42,"L",76,"VK_L",r,r],[43,0,22,"KeyM",43,"M",77,"VK_M",r,r],[44,0,23,"KeyN",44,"N",78,"VK_N",r,r],[45,0,24,"KeyO",45,"O",79,"VK_O",r,r],[46,0,25,"KeyP",46,"P",80,"VK_P",r,r],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",r,r],[48,0,27,"KeyR",48,"R",82,"VK_R",r,r],[49,0,28,"KeyS",49,"S",83,"VK_S",r,r],[50,0,29,"KeyT",50,"T",84,"VK_T",r,r],[51,0,30,"KeyU",51,"U",85,"VK_U",r,r],[52,0,31,"KeyV",52,"V",86,"VK_V",r,r],[53,0,32,"KeyW",53,"W",87,"VK_W",r,r],[54,0,33,"KeyX",54,"X",88,"VK_X",r,r],[55,0,34,"KeyY",55,"Y",89,"VK_Y",r,r],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",r,r],[22,0,36,"Digit1",22,"1",49,"VK_1",r,r],[23,0,37,"Digit2",23,"2",50,"VK_2",r,r],[24,0,38,"Digit3",24,"3",51,"VK_3",r,r],[25,0,39,"Digit4",25,"4",52,"VK_4",r,r],[26,0,40,"Digit5",26,"5",53,"VK_5",r,r],[27,0,41,"Digit6",27,"6",54,"VK_6",r,r],[28,0,42,"Digit7",28,"7",55,"VK_7",r,r],[29,0,43,"Digit8",29,"8",56,"VK_8",r,r],[30,0,44,"Digit9",30,"9",57,"VK_9",r,r],[21,0,45,"Digit0",21,"0",48,"VK_0",r,r],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",r,r],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",r,r],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",r,r],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",r,r],[10,1,50,"Space",10,"Space",32,"VK_SPACE",r,r],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,r,0,r,r,r],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",r,r],[59,1,64,"F1",59,"F1",112,"VK_F1",r,r],[60,1,65,"F2",60,"F2",113,"VK_F2",r,r],[61,1,66,"F3",61,"F3",114,"VK_F3",r,r],[62,1,67,"F4",62,"F4",115,"VK_F4",r,r],[63,1,68,"F5",63,"F5",116,"VK_F5",r,r],[64,1,69,"F6",64,"F6",117,"VK_F6",r,r],[65,1,70,"F7",65,"F7",118,"VK_F7",r,r],[66,1,71,"F8",66,"F8",119,"VK_F8",r,r],[67,1,72,"F9",67,"F9",120,"VK_F9",r,r],[68,1,73,"F10",68,"F10",121,"VK_F10",r,r],[69,1,74,"F11",69,"F11",122,"VK_F11",r,r],[70,1,75,"F12",70,"F12",123,"VK_F12",r,r],[0,1,76,"PrintScreen",0,r,0,r,r,r],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",r,r],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",r,r],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",r,r],[14,1,80,"Home",14,"Home",36,"VK_HOME",r,r],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",r,r],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",r,r],[13,1,83,"End",13,"End",35,"VK_END",r,r],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",r,r],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",r],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",r],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",r],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",r],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",r,r],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",r,r],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",r,r],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",r,r],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",r,r],[3,1,94,"NumpadEnter",3,r,0,r,r,r],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",r,r],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",r,r],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",r,r],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",r,r],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",r,r],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",r,r],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",r,r],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",r,r],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",r,r],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",r,r],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",r,r],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",r,r],[58,1,107,"ContextMenu",58,"ContextMenu",93,r,r,r],[0,1,108,"Power",0,r,0,r,r,r],[0,1,109,"NumpadEqual",0,r,0,r,r,r],[71,1,110,"F13",71,"F13",124,"VK_F13",r,r],[72,1,111,"F14",72,"F14",125,"VK_F14",r,r],[73,1,112,"F15",73,"F15",126,"VK_F15",r,r],[74,1,113,"F16",74,"F16",127,"VK_F16",r,r],[75,1,114,"F17",75,"F17",128,"VK_F17",r,r],[76,1,115,"F18",76,"F18",129,"VK_F18",r,r],[77,1,116,"F19",77,"F19",130,"VK_F19",r,r],[0,1,117,"F20",0,r,0,"VK_F20",r,r],[0,1,118,"F21",0,r,0,"VK_F21",r,r],[0,1,119,"F22",0,r,0,"VK_F22",r,r],[0,1,120,"F23",0,r,0,"VK_F23",r,r],[0,1,121,"F24",0,r,0,"VK_F24",r,r],[0,1,122,"Open",0,r,0,r,r,r],[0,1,123,"Help",0,r,0,r,r,r],[0,1,124,"Select",0,r,0,r,r,r],[0,1,125,"Again",0,r,0,r,r,r],[0,1,126,"Undo",0,r,0,r,r,r],[0,1,127,"Cut",0,r,0,r,r,r],[0,1,128,"Copy",0,r,0,r,r,r],[0,1,129,"Paste",0,r,0,r,r,r],[0,1,130,"Find",0,r,0,r,r,r],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",r,r],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",r,r],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",r,r],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",r,r],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",r,r],[0,1,136,"KanaMode",0,r,0,r,r,r],[0,0,137,"IntlYen",0,r,0,r,r,r],[0,1,138,"Convert",0,r,0,r,r,r],[0,1,139,"NonConvert",0,r,0,r,r,r],[0,1,140,"Lang1",0,r,0,r,r,r],[0,1,141,"Lang2",0,r,0,r,r,r],[0,1,142,"Lang3",0,r,0,r,r,r],[0,1,143,"Lang4",0,r,0,r,r,r],[0,1,144,"Lang5",0,r,0,r,r,r],[0,1,145,"Abort",0,r,0,r,r,r],[0,1,146,"Props",0,r,0,r,r,r],[0,1,147,"NumpadParenLeft",0,r,0,r,r,r],[0,1,148,"NumpadParenRight",0,r,0,r,r,r],[0,1,149,"NumpadBackspace",0,r,0,r,r,r],[0,1,150,"NumpadMemoryStore",0,r,0,r,r,r],[0,1,151,"NumpadMemoryRecall",0,r,0,r,r,r],[0,1,152,"NumpadMemoryClear",0,r,0,r,r,r],[0,1,153,"NumpadMemoryAdd",0,r,0,r,r,r],[0,1,154,"NumpadMemorySubtract",0,r,0,r,r,r],[0,1,155,"NumpadClear",0,r,0,r,r,r],[0,1,156,"NumpadClearEntry",0,r,0,r,r,r],[5,1,0,r,5,"Ctrl",17,"VK_CONTROL",r,r],[4,1,0,r,4,"Shift",16,"VK_SHIFT",r,r],[6,1,0,r,6,"Alt",18,"VK_MENU",r,r],[57,1,0,r,57,"Meta",0,"VK_COMMAND",r,r],[5,1,157,"ControlLeft",5,r,0,"VK_LCONTROL",r,r],[4,1,158,"ShiftLeft",4,r,0,"VK_LSHIFT",r,r],[6,1,159,"AltLeft",6,r,0,"VK_LMENU",r,r],[57,1,160,"MetaLeft",57,r,0,"VK_LWIN",r,r],[5,1,161,"ControlRight",5,r,0,"VK_RCONTROL",r,r],[4,1,162,"ShiftRight",4,r,0,"VK_RSHIFT",r,r],[6,1,163,"AltRight",6,r,0,"VK_RMENU",r,r],[57,1,164,"MetaRight",57,r,0,"VK_RWIN",r,r],[0,1,165,"BrightnessUp",0,r,0,r,r,r],[0,1,166,"BrightnessDown",0,r,0,r,r,r],[0,1,167,"MediaPlay",0,r,0,r,r,r],[0,1,168,"MediaRecord",0,r,0,r,r,r],[0,1,169,"MediaFastForward",0,r,0,r,r,r],[0,1,170,"MediaRewind",0,r,0,r,r,r],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",r,r],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",r,r],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",r,r],[0,1,174,"Eject",0,r,0,r,r,r],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",r,r],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",r,r],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",r,r],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",r,r],[0,1,179,"LaunchApp1",0,r,0,"VK_MEDIA_LAUNCH_APP1",r,r],[0,1,180,"SelectTask",0,r,0,r,r,r],[0,1,181,"LaunchScreenSaver",0,r,0,r,r,r],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",r,r],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",r,r],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",r,r],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",r,r],[0,1,186,"BrowserStop",0,r,0,"VK_BROWSER_STOP",r,r],[0,1,187,"BrowserRefresh",0,r,0,"VK_BROWSER_REFRESH",r,r],[0,1,188,"BrowserFavorites",0,r,0,"VK_BROWSER_FAVORITES",r,r],[0,1,189,"ZoomToggle",0,r,0,r,r,r],[0,1,190,"MailReply",0,r,0,r,r,r],[0,1,191,"MailForward",0,r,0,r,r,r],[0,1,192,"MailSend",0,r,0,r,r,r],[109,1,0,r,109,"KeyInComposition",229,r,r,r],[111,1,0,r,111,"ABNT_C2",194,"VK_ABNT_C2",r,r],[91,1,0,r,91,"OEM_8",223,"VK_OEM_8",r,r],[0,1,0,r,0,r,0,"VK_CLEAR",r,r],[0,1,0,r,0,r,0,"VK_KANA",r,r],[0,1,0,r,0,r,0,"VK_HANGUL",r,r],[0,1,0,r,0,r,0,"VK_JUNJA",r,r],[0,1,0,r,0,r,0,"VK_FINAL",r,r],[0,1,0,r,0,r,0,"VK_HANJA",r,r],[0,1,0,r,0,r,0,"VK_KANJI",r,r],[0,1,0,r,0,r,0,"VK_CONVERT",r,r],[0,1,0,r,0,r,0,"VK_NONCONVERT",r,r],[0,1,0,r,0,r,0,"VK_ACCEPT",r,r],[0,1,0,r,0,r,0,"VK_MODECHANGE",r,r],[0,1,0,r,0,r,0,"VK_SELECT",r,r],[0,1,0,r,0,r,0,"VK_PRINT",r,r],[0,1,0,r,0,r,0,"VK_EXECUTE",r,r],[0,1,0,r,0,r,0,"VK_SNAPSHOT",r,r],[0,1,0,r,0,r,0,"VK_HELP",r,r],[0,1,0,r,0,r,0,"VK_APPS",r,r],[0,1,0,r,0,r,0,"VK_PROCESSKEY",r,r],[0,1,0,r,0,r,0,"VK_PACKET",r,r],[0,1,0,r,0,r,0,"VK_DBE_SBCSCHAR",r,r],[0,1,0,r,0,r,0,"VK_DBE_DBCSCHAR",r,r],[0,1,0,r,0,r,0,"VK_ATTN",r,r],[0,1,0,r,0,r,0,"VK_CRSEL",r,r],[0,1,0,r,0,r,0,"VK_EXSEL",r,r],[0,1,0,r,0,r,0,"VK_EREOF",r,r],[0,1,0,r,0,r,0,"VK_PLAY",r,r],[0,1,0,r,0,r,0,"VK_ZOOM",r,r],[0,1,0,r,0,r,0,"VK_NONAME",r,r],[0,1,0,r,0,r,0,"VK_PA1",r,r],[0,1,0,r,0,r,0,"VK_OEM_CLEAR",r,r]];let e=[],i=[];for(const n of t){const[a,o,h,u,c,_,d,f,W,L]=n;if(i[h]||(i[h]=!0,wh[u]=h,vh[u.toLowerCase()]=h),!e[c]){if(e[c]=!0,!_)throw new Error(`String representation missing for key code ${c} around scan code ${u}`);Ui.define(c,_),Kr.define(c,W||_),Nr.define(c,L||W||_)}d&&(yh[d]=c)}})();var t2;(function(r){function t(h){return Ui.keyCodeToStr(h)}r.toString=t;function e(h){return Ui.strToKeyCode(h)}r.fromString=e;function i(h){return Kr.keyCodeToStr(h)}r.toUserSettingsUS=i;function n(h){return Nr.keyCodeToStr(h)}r.toUserSettingsGeneral=n;function a(h){return Kr.strToKeyCode(h)||Nr.strToKeyCode(h)}r.fromUserSettings=a;function o(h){if(h>=93&&h<=108)return null;switch(h){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ui.keyCodeToStr(h)}r.toElectronAccelerator=o})(t2||(t2={}));function bh(r,t){const e=(t&65535)<<16>>>0;return(r|e)>>>0}class Ut extends tt{constructor(t,e,i,n){super(t,e,i,n),this.selectionStartLineNumber=t,this.selectionStartColumn=e,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Ut.selectionsEqual(this,t)}static selectionsEqual(t,e){return t.selectionStartLineNumber===e.selectionStartLineNumber&&t.selectionStartColumn===e.selectionStartColumn&&t.positionLineNumber===e.positionLineNumber&&t.positionColumn===e.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,e){return this.getDirection()===0?new Ut(this.startLineNumber,this.startColumn,t,e):new Ut(t,e,this.startLineNumber,this.startColumn)}getPosition(){return new Dt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Dt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,e){return this.getDirection()===0?new Ut(t,e,this.endLineNumber,this.endColumn):new Ut(this.endLineNumber,this.endColumn,t,e)}static fromPositions(t,e=t){return new Ut(t.lineNumber,t.column,e.lineNumber,e.column)}static fromRange(t,e){return e===0?new Ut(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Ut(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Ut(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,e){if(t&&!e||!t&&e)return!1;if(!t&&!e)return!0;if(t.length!==e.length)return!1;for(let i=0,n=t.length;i0){const o=t.charCodeAt(i);if(r.get(o)!==0)return!0}return!1}function Bh(r,t,e,i,n){if(i+n===e)return!0;const a=t.charCodeAt(i+n);if(r.get(a)!==0||a===13||a===10)return!0;if(n>0){const o=t.charCodeAt(i+n-1);if(r.get(o)!==0)return!0}return!1}function Gh(r,t,e,i,n){return Ph(r,t,e,i,n)&&Bh(r,t,e,i,n)}class Vh{constructor(t,e){this._wordSeparators=t,this._searchRegex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const e=t.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===e||(i=this._searchRegex.exec(t),!i))return null;const n=i.index,a=i[0].length;if(n===this._prevMatchStartIndex&&a===this._prevMatchLength){if(a===0){F7(t,e,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=a,!this._wordSeparators||Gh(this._wordSeparators,t,e,n,a))return i}while(i);return null}}class Yh{static computeUnicodeHighlights(t,e,i){const n=i?i.startLineNumber:1,a=i?i.endLineNumber:t.getLineCount(),o=new w2(e),h=o.getCandidateCodePoints();let u;h==="allNonBasicAscii"?u=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):u=new RegExp(`${Fh(Array.from(h))}`,"g");const c=new Vh(null,u),_=[];let d=!1,f,W=0,L=0,S=0;t:for(let g=n,U=a;g<=U;g++){const C=t.getLineContent(g),m=C.length;c.reset(0);do if(f=c.next(C),f){let N=f.index,x=f.index+f[0].length;if(N>0){const I=C.charCodeAt(N-1);Er(I)&&N--}if(x+1=I){d=!0;break t}_.push(new tt(g,N+1,g,x+1))}}while(f)}return{ranges:_,hasMore:d,ambiguousCharacterCount:W,invisibleCharacterCount:L,nonBasicAsciiCharacterCount:S}}static computeUnicodeHighlightReason(t,e){switch(new w2(e).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const a=Gt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(a)};case 1:return{kind:2}}}}function Fh(r,t){return`[${k7(r.map(i=>String.fromCodePoint(i)).join(""))}]`}class w2{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const e of He.codePoints)t.add(e);if(this.options.ambiguousCharacters)for(const e of Gt.getPrimaryConfusableCodePoints())t.add(e);for(const e of this.allowedCodePoints)t.delete(e);return t}shouldHighlightNonBasicASCII(t){const e=t.codePointAt(0);return this.allowedCodePoints.has(e)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` -`||t===" ")&&He.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&Gt.isAmbiguous(e)?3:0}}var Be=function(r,t,e,i){function n(a){return a instanceof e?a:new e(function(o){o(a)})}return new(e||(e=Promise))(function(a,o){function h(_){try{c(i.next(_))}catch(d){o(d)}}function u(_){try{c(i.throw(_))}catch(d){o(d)}}function c(_){_.done?a(_.value):n(_.value).then(h,u)}c((i=i.apply(r,t||[])).next())})};class Xh extends Wh{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,e){let i=Zn(t.column,Lh(e),this._lines[t.lineNumber-1],0);return i?new tt(t.lineNumber,i.startColumn,t.lineNumber,i.endColumn):null}words(t){const e=this._lines,i=this._wordenize.bind(this);let n=0,a="",o=0,h=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)e=this._lines.length,i=this._lines[e-1].length+1,n=!0;else{let a=this._lines[e-1].length+1;i<1?(i=1,n=!0):i>a&&(i=a,n=!0)}return n?{lineNumber:e,column:i}:t}}class f1{constructor(t,e){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=e,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(e=>t.push(this._models[e])),t}acceptNewModel(t){this._models[t.url]=new Xh(Pe.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,e){if(!this._models[t])return;this._models[t].onEvents(e)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,e,i){return Be(this,void 0,void 0,function*(){const n=this._getModel(t);return n?Yh.computeUnicodeHighlights(n,e,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,e,i,n){return Be(this,void 0,void 0,function*(){const a=this._getModel(t),o=this._getModel(e);if(!a||!o)return null;const h=a.getLinesContent(),u=o.getLinesContent(),_=new Ah(h,u,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:i,shouldMakePrettyDiff:!0,maxComputationTime:n}).computeDiff(),d=_.changes.length>0?!1:this._modelsAreIdentical(a,o);return{quitEarly:_.quitEarly,identical:d,changes:_.changes}})}_modelsAreIdentical(t,e){const i=t.getLineCount(),n=e.getLineCount();if(i!==n)return!1;for(let a=1;a<=i;a++){const o=t.getLineContent(a),h=e.getLineContent(a);if(o!==h)return!1}return!0}computeMoreMinimalEdits(t,e){return Be(this,void 0,void 0,function*(){const i=this._getModel(t);if(!i)return e;const n=[];let a;e=e.slice(0).sort((o,h)=>{if(o.range&&h.range)return tt.compareRangesUsingStarts(o.range,h.range);let u=o.range?0:1,c=h.range?0:1;return u-c});for(let{range:o,text:h,eol:u}of e){if(typeof u=="number"&&(a=u),tt.isEmpty(o)&&!h)continue;const c=i.getValueInRange(o);if(h=h.replace(/\r\n|\n|\r/g,i.eol),c===h)continue;if(Math.max(h.length,c.length)>f1._diffLimit){n.push({range:o,text:h});continue}const _=eh(c,h,!1),d=i.offsetAt(tt.lift(o).getStartPosition());for(const f of _){const W=i.positionAt(d+f.originalStart),L=i.positionAt(d+f.originalStart+f.originalLength),S={text:h.substr(f.modifiedStart,f.modifiedLength),range:{startLineNumber:W.lineNumber,startColumn:W.column,endLineNumber:L.lineNumber,endColumn:L.column}};i.getValueInRange(S.range)!==S.text&&n.push(S)}}return typeof a=="number"&&n.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),n})}computeLinks(t){return Be(this,void 0,void 0,function*(){let e=this._getModel(t);return e?Mh(e):null})}textualSuggest(t,e,i,n){return Be(this,void 0,void 0,function*(){const a=new xi(!0),o=new RegExp(i,n),h=new Set;t:for(let u of t){const c=this._getModel(u);if(c){for(let _ of c.words(o))if(!(_===e||!isNaN(Number(_)))&&(h.add(_),h.size>f1._suggestionsLimit))break t}}return{words:Array.from(h),duration:a.elapsed()}})}computeWordRanges(t,e,i,n){return Be(this,void 0,void 0,function*(){let a=this._getModel(t);if(!a)return Object.create(null);const o=new RegExp(i,n),h=Object.create(null);for(let u=e.startLineNumber;uthis._host.fhr(h,u)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,e),Promise.resolve(cr(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,e){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,e))}catch(i){return Promise.reject(i)}}}f1._diffLimit=1e5,f1._suggestionsLimit=1e4,typeof importScripts=="function"&&(mt.monaco=kh());let Ir=!1;function v2(r){if(Ir)return;Ir=!0;const t=new q7(e=>{self.postMessage(e)},e=>new f1(e,r));self.onmessage=e=>{t.onmessage(e.data)}}self.onmessage=r=>{Ir||v2(null)};var Qh=Object.defineProperty,A=(r,t)=>Qh(r,"name",{value:t,configurable:!0}),me=(x1=class{constructor(t){E(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},A(x1,"Transition"),E(x1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),x1),Or=(f0=class extends me{constructor(t){super(t)}},A(f0,"AbstractPredicateTransition"),f0),O={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},b2=(A0=class extends me{constructor(e,i,n,a){super(e);E(this,"ruleIndex");E(this,"actionIndex");E(this,"isCtxDependent");this.ruleIndex=i,this.actionIndex=n===void 0?-1:n,this.isCtxDependent=a===void 0?!1:a}get isEpsilon(){return!0}get serializationType(){return O.ACTION}matches(e,i,n){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},A(A0,"ActionTransition"),A0),V=(ue=class{constructor(t){E(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===ue.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},A(ue,"PredictionContext"),E(ue,"EMPTY_RETURN_STATE",2147483647),E(ue,"EMPTY"),E(ue,"trace_atn_sim",!1),ue),H2=3432918353,k2=461845907,yi=15,wi=13,P2=5,B2=3864292196,$t=(t1=class{constructor(){E(this,"count");E(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const e=new t1;return e.update(t),e.finish()}static hashString(t=0,e){let i=3735928559^t,n=1103547991^t;for(const a of e){const o=a.charCodeAt(0);i=Math.imul(i^o,2654435761),n=Math.imul(n^o,1597334677)}return i=Math.imul(i^i>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),Math.imul(4294967296,2097151&n)+(i>>>0)}update(...t){for(const e of t)if(e!=null)if(Array.isArray(e))this.update(...e);else{let i=0;switch(typeof e){case"undefined":case"function":continue;case"number":{i=e;break}case"boolean":{i=e?1237:4327;break}case"string":{i=t1.hashString(this.hash,e);break}default:{e.updateHashCode(this);continue}}this.count=this.count+1,i=Math.imul(i,H2),i=i<>>32-yi,i=Math.imul(i,k2);let n=this.hash^i;n=n<>>32-wi,this.hash=Math.imul(n,P2)+B2}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,H2),t=t<>>32-yi,t=Math.imul(t,k2);let e=this.hash^t;e=e<>>32-wi,this.hash=Math.imul(e,P2)+B2}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},A(t1,"HashCode"),t1),Jh=A(r=>typeof r.equals=="function","isComparable"),jh=A(r=>r===null?"null":r,"valueToString"),Ge=A(r=>Array.isArray(r)?"["+r.map(jh).join(", ")+"]":"null","arrayToString"),z1=A((r,t)=>{if(r===t)return!0;if(r.length!==t.length)return!1;for(let e=0;e(r=r.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(r=r.replace(/ /g,"·")),r),"escapeWhitespace"),G2=A((r,t)=>r?r.equals(t):r===t,"standardEqualsFunction"),zh=Math.round(Math.random()*Math.pow(2,32)),Zh=A(r=>{let t,e;const i=r.length&3,n=r.length-i;let a=zh;const o=3432918353,h=461845907;let u=0;for(;u>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*h+(((e>>>16)*h&65535)<<16)&4294967295,a^=e,a=a<<13|a>>>19,t=(a&65535)*5+(((a>>>16)*5&65535)<<16)&4294967295,a=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(e=0,i){case 3:e^=(r.charCodeAt(u+2)&255)<<16;case 2:e^=(r.charCodeAt(u+1)&255)<<8;case 1:e^=r.charCodeAt(u)&255,e=(e&65535)*o+(((e>>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*h+(((e>>>16)*h&65535)<<16)&4294967295,a^=e}return a^=r.length,a^=a>>>16,a=(a&65535)*2246822507+(((a>>>16)*2246822507&65535)<<16)&4294967295,a^=a>>>13,a=(a&65535)*3266489909+(((a>>>16)*3266489909&65535)<<16)&4294967295,a^=a>>>16,a>>>0},"stringHashCode"),V2=A(r=>r?typeof r=="string"?Zh(r):r.hashCode():-1,"standardHashCodeFunction"),Ce=(S1=class extends V{constructor(e,i){const n=new $t;n.update(e,i);const a=n.finish();super(a);E(this,"parents",[]);E(this,"returnStates",[]);return this.parents=e,this.returnStates=i,this}isEmpty(){return this.returnStates[0]===V.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(e){return this===e?!0:!(e instanceof S1)||this.hashCode()!==e.hashCode()?!1:z1(this.returnStates,e.returnStates)&&z1(this.parents,e.parents)}toString(){if(this.isEmpty())return"[]";{let e="[";for(let i=0;i0&&(e=e+", "),this.returnStates[i]===V.EMPTY_RETURN_STATE){e=e+"$";continue}e=e+this.returnStates[i],this.parents[i]!==null?e=e+" "+this.parents[i]:e=e+"null"}return e+"]"}}get length(){return this.returnStates.length}},A(S1,"ArrayPredictionContext"),S1),vi;(r=>{r.EOF=-1,r.UNKNOWN_SOURCE_NAME=""})(vi||(vi={}));var p;(r=>{r.INVALID_TYPE=0,r.EPSILON=-2,r.MIN_USER_TOKEN_TYPE=1,r.EOF=vi.EOF,r.DEFAULT_CHANNEL=0,r.HIDDEN_CHANNEL=1,r.MIN_USER_CHANNEL_VALUE=2})(p||(p={}));var qh=A(r=>{const t=r;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),bt=(m0=class{constructor(t,e){E(this,"data");E(this,"hashFunction");E(this,"equalsFunction");this.data={},this.hashFunction=t??V2,this.equalsFunction=e??G2}add(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const n of i)if(this.equalsFunction(t,n))return n;return i.push(t),t}else return this.data[e]=[t],t}has(t){return this.get(t)!=null}get(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const n of i)if(this.equalsFunction(t,n))return n}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return Ge(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},A(m0,"HashSet"),m0),z=(Xt=class{static andContext(t,e){if(t===null||t===Xt.NONE)return e;if(e===null||e===Xt.NONE)return t;const i=new t3(t,e);return i.opnds.length===1?i.opnds[0]:i}static orContext(t,e){if(t===null)return e;if(e===null)return t;if(t===Xt.NONE||e===Xt.NONE)return Xt.NONE;const i=new e3(t,e);return i.opnds.length===1?i.opnds[0]:i}static filterPrecedencePredicates(t){const e=[];return t.values().forEach(i=>{i instanceof Xt.PrecedencePredicate&&e.push(i)}),e}hashCode(){const t=new $t;return this.updateHashCode(t),t.finish()}evalPrecedence(t,e){return this}},A(Xt,"SemanticContext"),Xt),t3=(Se=class extends z{constructor(e,i){super();E(this,"opnds");const n=new bt;e instanceof Se?e.opnds.forEach(o=>{n.add(o)}):n.add(e),i instanceof Se?i.opnds.forEach(o=>{n.add(o)}):n.add(i);const a=z.filterPrecedencePredicates(n);if(a.length>0){let o=null;a.forEach(h=>{(o===null||h.precedence{o=o===null?h:z.andContext(o,h)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("&&")}},A(Se,"AND"),Se),e3=(ge=class extends z{constructor(e,i){super();E(this,"opnds");const n=new bt;e instanceof ge?e.opnds.forEach(o=>{n.add(o)}):n.add(e),i instanceof ge?i.opnds.forEach(o=>{n.add(o)}):n.add(i);const a=z.filterPrecedencePredicates(n);if(a.length>0){const o=a.sort((u,c)=>u.compareTo(c)),h=o[o.length-1];n.add(h)}this.opnds=Array.from(n.values())}equals(e){return this===e?!0:e instanceof ge?z1(this.opnds,e.opnds):!1}updateHashCode(e){e.update(this.opnds),e.updateWithHashCode(3383313031)}evaluate(e,i){for(const n of this.opnds)if(n.evaluate(e,i))return!0;return!1}evalPrecedence(e,i){let n=!1;const a=[];for(const h of this.opnds){const u=h.evalPrecedence(e,i);if(n||(n=u!==h),u===z.NONE)return z.NONE;u!==null&&a.push(u)}if(!n)return this;if(a.length===0)return null;let o=null;return a.forEach(h=>{o=o===null?h:z.orContext(o,h)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("||")}},A(ge,"OR"),ge);(r=>{const i=class i extends r{constructor(h,u,c){super();E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=h??-1,this.predIndex=u??-1,this.isCtxDependent=c??!1}evaluate(h,u){const c=this.isCtxDependent?u:null;return h.sempred(c,this.ruleIndex,this.predIndex)}updateHashCode(h){h.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(h){return this===h?!0:h instanceof i?this.ruleIndex===h.ruleIndex&&this.predIndex===h.predIndex&&this.isCtxDependent===h.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};A(i,"Predicate");let t=i;r.Predicate=t;const n=class n extends r{constructor(h){super();E(this,"precedence");this.precedence=h??0}evaluate(h,u){return h.precpred(u,this.precedence)}evalPrecedence(h,u){return h.precpred(u,this.precedence)?r.NONE:null}compareTo(h){return this.precedence-h.precedence}updateHashCode(h){h.update(this.precedence)}equals(h){return this===h?!0:h instanceof n?this.precedence===h.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};A(n,"PrecedencePredicate");let e=n;r.PrecedencePredicate=e,r.NONE=new t})(z||(z={}));var s3=A(r=>r===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:r.state??null,alt:r.alt??null,context:r.context??null,semanticContext:r.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),i3=A(r=>r===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:r.state??null,alt:r.alt??null,context:r.context??null,semanticContext:r.semanticContext??null,reachesIntoOuterContext:r.reachesIntoOuterContext??0,precedenceFilterSuppressed:r.precedenceFilterSuppressed??!1},"checkConfig"),_t=(e1=class{constructor(t,e){E(this,"state");E(this,"alt");E(this,"context");E(this,"reachesIntoOuterContext");E(this,"precedenceFilterSuppressed",!1);E(this,"semanticContext");this.checkContext(t,e);const i=s3(t),n=i3(e);this.state=i.state??n.state,this.alt=i.alt??n.alt??0,this.context=i.context??n.context,this.semanticContext=i.semanticContext??n.semanticContext??z.NONE,this.reachesIntoOuterContext=n.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=n.precedenceFilterSuppressed??!1}hashCode(){const t=new $t;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof e1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new $t;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof e1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,e=!0){let i="";return e&&(i=","+this.alt),"("+this.state+i+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==z.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,e){(t.context===null||t.context===void 0)&&(e===null||e.context===null||e.context===void 0)&&(this.context=null)}},A(e1,"ATNConfig"),e1),Y=(at=class{constructor(t,e){E(this,"start");E(this,"stop");this.start=t,this.stop=e}static of(t,e){return t!==e||t<0||t>at.INTERVAL_POOL_MAX_VALUE?new at(t,e):(at.cache[t]===null&&(at.cache[t]=new at(t,t)),at.cache[t])}equals(t){return t instanceof at?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return at.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return at.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let e=null;return t.startsBeforeNonDisjoint(this)?e=at.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(e=at.of(this.start,t.start-1)),e}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{h.syntaxError(t,e,i,n,a,o)})}reportAmbiguity(t,e,i,n,a,o,h){this.delegates.forEach(u=>{u.reportAmbiguity(t,e,i,n,a,o,h)})}reportAttemptingFullContext(t,e,i,n,a,o){this.delegates.forEach(h=>{h.reportAttemptingFullContext(t,e,i,n,a,o)})}reportContextSensitivity(t,e,i,n,a,o){this.delegates.forEach(h=>{h.reportContextSensitivity(t,e,i,n,a,o)})}},A(W0,"ProxyErrorListener"),W0),Y2=(Pt=class{constructor(){E(this,"interpreter");X(this,ie,[r3.INSTANCE]);X(this,p0,-1)}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){K(this,ie).push(t)}removeErrorListeners(){G(this,ie,[])}removeErrorListener(t){for(let e=0;ee.set(i,n)),Pt.ruleIndexMapCache.set(t,e)),e}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||p.INVALID_TYPE}getErrorHeader(t){var n,a;const e=(n=t.offendingToken)==null?void 0:n.line,i=(a=t.offendingToken)==null?void 0:a.column;return"line "+e+":"+i}getErrorListenerDispatch(){return new n3(K(this,ie))}sempred(t,e,i){return!0}precpred(t,e){return!0}action(t,e,i){}get atn(){return this.interpreter.atn}get state(){return K(this,p0)}set state(t){G(this,p0,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},ie=new WeakMap,p0=new WeakMap,A(Pt,"Recognizer"),E(Pt,"EOF",-1),E(Pt,"tokenTypeMapCache",new Map),E(Pt,"ruleIndexMapCache",new Map),Pt),a3=(Ie=class{constructor(t,e,i,n,a){E(this,"source");E(this,"tokenIndex",-1);E(this,"start",0);E(this,"stop",0);E(this,"type",0);E(this,"line",0);E(this,"column",-1);E(this,"channel",p.DEFAULT_CHANNEL);X(this,re,null);this.source=t,this.type=e,this.channel=i??p.DEFAULT_CHANNEL,this.start=n,this.stop=a,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new Ie(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,G(t,re,K(this,re)),t}cloneWithType(t){const e=new Ie(this.source,t,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,t===p.EOF&&G(e,re,""),e}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let i=this.text;i?(i=i.replace(/\n/g,"\\n"),i=i.replace(/\r/g,"\\r"),i=i.replace(/\t/g,"\\t")):i="";let n=String(this.type);return t&&(n=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+i+"',<"+n+">"+e+","+this.line+":"+this.column+"]"}get text(){if(K(this,re)!==null)return K(this,re);const t=this.inputStream;if(t===null)return null;const e=t.size;return this.start"}set text(t){G(this,re,t)}setText(t){G(this,re,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},re=new WeakMap,A(Ie,"CommonToken"),E(Ie,"EMPTY_SOURCE",[null,null]),Ie),o3=(i1=class{constructor(t){E(this,"copyText",!1);this.copyText=t??!1}create(t,e,i,n,a,o,h,u){const c=new a3(t,e,n,a,o);return c.line=h,c.column=u,i!==null?c.text=i:this.copyText&&t[1]!==null&&(c.text=t[1].getText(a,o)),c}},A(i1,"CommonTokenFactory"),E(i1,"DEFAULT",new i1),i1),T=(g1=class extends Error{constructor(e){super(e.message);E(this,"ctx");E(this,"offendingToken",null);E(this,"offendingState",-1);E(this,"recognizer");E(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,g1),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},A(g1,"RecognitionException"),g1),Hi=(K0=class extends T{constructor(e,i,n,a){super({message:"",recognizer:e,input:i,ctx:null});E(this,"startIndex");E(this,"deadEndConfigs");this.startIndex=n,this.deadEndConfigs=a}toString(){let e="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(e=>"{"+e.key+":"+e.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},A(N0,"HashMap"),N0),ae=(L0=class{constructor(t){E(this,"parent",null);E(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return Y.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new Y(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,e;return((t=this.symbol)==null?void 0:t.type)===p.EOF?"":((e=this.symbol)==null?void 0:e.text)??""}toStringTree(){return this.toString()}},A(L0,"TerminalNode"),L0),Z1=(x0=class extends ae{accept(t){return t.visitErrorNode(this)}},A(x0,"ErrorNode"),x0),We=(wt=class{static toStringTree(t,e,i){e=e??null,i=i??null,i!==null&&(e=i.ruleNames);let n=wt.getNodeText(t,e);n=$h(n,!1);const a=t.getChildCount();if(a===0)return n;let o="("+n+" ";a>0&&(n=wt.toStringTree(t.getChild(0),e),o=o.concat(n));for(let h=1;ht.getText()).join("")}getAltNumber(){return P.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?We.toStringTree(this,null,t[0]):We.toStringTree(this,t[0],t[1])}toString(t,e){t=t??null,e=e??null;let i=this,n="[";for(;i!==null&&i!==e;){if(t===null)i.isEmpty()||(n+=i.invokingState);else{const a=i.ruleIndex,o=a>=0&&a{super(...q4);E(this,"start",null);E(this,"stop",null);E(this,"exception",null)};e?t(e,i):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(e){super.parent=e}copyFrom(e){this.parent=e.parent,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.forEach(i=>{i instanceof Z1&&(this.children.push(i),i.parent=this)},this))}enterRule(e){}exitRule(e){}addAnyChild(e){return this.children==null&&(this.children=[]),this.children.push(e),e}addChild(e){return this.addAnyChild(e)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const i=new ae(e);return this.addAnyChild(i),i.parent=this,i}addErrorNode(e){return e.parent=this,this.addAnyChild(e)}getChild(e,i){if(this.children===null||e<0||e>=this.children.length)return null;if(i){for(const n of this.children)if(n instanceof i){if(e===0)return n;e-=1}return null}else return this.children[e]}getToken(e,i){var n;if(this.children===null||i<0||i>=this.children.length)return null;for(const a of this.children)if(a instanceof ae&&((n=a.symbol)==null?void 0:n.type)===e){if(i===0)return a;i-=1}return null}getTokens(e){var i;if(this.children===null)return[];{const n=[];for(const a of this.children)a instanceof ae&&((i=a.symbol)==null?void 0:i.type)===e&&n.push(a);return n}}getRuleContext(e,i){return this.getChild(e,i)}getRuleContexts(e){if(this.children===null)return[];{const i=[];for(const n of this.children)n instanceof e&&i.push(n);return i}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?Y.INVALID_INTERVAL:new Y(this.start.tokenIndex,this.stop.tokenIndex)}},A(n1,"ParserRuleContext"),E(n1,"EMPTY",new n1),n1),Mr=A((r,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return V.EMPTY;const e=Mr(r,t.parent),n=r.states[t.invokingState].transitions[0];return Ht.create(e,n.followState.stateNumber)},"predictionContextFromRuleContext"),X2=A((r,t,e)=>{if(r.isEmpty())return r;let i=e.get(r)||null;if(i!==null)return i;if(i=t.get(r),i!==null)return e.set(r,i),i;let n=!1,a=[];for(let h=0;h{if(r===t)return r;if(r instanceof Ht&&t instanceof Ht)return l3(r,t,e,i);if(e){if(r instanceof F2)return r;if(t instanceof F2)return t}return r instanceof Ht&&(r=new Ce([r.parent],[r.returnState])),t instanceof Ht&&(t=new Ce([t.parent],[t.returnState])),h3(r,t,e,i)},"merge"),h3=A((r,t,e,i)=>{if(i!==null){let _=i.get(r,t);if(_!==null||(_=i.get(t,r),_!==null))return _}let n=0,a=0,o=0,h=new Array(r.returnStates.length+t.returnStates.length).fill(0),u=new Array(r.returnStates.length+t.returnStates.length).fill(null);for(;n{const t=new Ve;for(const e of r)e&&(t.containsKey(e)||t.set(e,e));for(let e=0;e{if(i!==null){let a=i.get(r,t);if(a!==null||(a=i.get(t,r),a!==null))return a}const n=c3(r,t,e);if(n!==null)return i!==null&&i.set(r,t,n),n;if(r.returnState===t.returnState){const a=Ur(r.parent,t.parent,e,i);if(a===r.parent)return r;if(a===t.parent)return t;const o=Ht.create(a,r.returnState);return i!==null&&i.set(r,t,o),o}else{let a=null;if((r===t||r.parent!==null&&r.parent===t.parent)&&(a=r.parent),a!==null){const c=[r.returnState,t.returnState];r.returnState>t.returnState&&(c[0]=t.returnState,c[1]=r.returnState);const _=[a,a],d=new Ce(_,c);return i!==null&&i.set(r,t,d),d}const o=[r.returnState,t.returnState];let h=[r.parent,t.parent];r.returnState>t.returnState&&(o[0]=t.returnState,o[1]=r.returnState,h=[t.parent,r.parent]);const u=new Ce(h,o);return i!==null&&i.set(r,t,u),u}},"mergeSingletons"),c3=A((r,t,e)=>{if(e){if(r===V.EMPTY||t===V.EMPTY)return V.EMPTY}else{if(r===V.EMPTY&&t===V.EMPTY)return V.EMPTY;if(r===V.EMPTY){const i=[t.returnState,V.EMPTY_RETURN_STATE],n=[t.parent,null];return new Ce(n,i)}else if(t===V.EMPTY){const i=[r.returnState,V.EMPTY_RETURN_STATE],n=[r.parent,null];return new Ce(n,i)}}return null},"mergeRoot"),zt=(I0=class{constructor(t){E(this,"data");t?this.data=new Uint32Array(t.map(e=>e>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,i=this.data[e];const n=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return e>=this.data.length?!1:(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const i=new Uint32Array(e);i.set(this.data),i.fill(0,this.data.length),this.data=i}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},A(I0,"BitSet"),I0),E3=A(r=>r.hashCodeForConfigSet(),"hashATNConfig"),_3=A((r,t)=>r===t?!0:r===null||t===null?!1:r.equalsForConfigSet(t),"equalATNConfigs"),Yt=(I1=class{constructor(t){E(this,"configs",[]);E(this,"hasSemanticContext",!1);E(this,"dipsIntoOuterContext",!1);E(this,"fullCtx");E(this,"uniqueAlt",0);E(this,"configLookup",new bt(E3,_3));E(this,"conflictingAlts",null);E(this,"readOnly",!1);E(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,e){if(e===void 0&&(e=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==z.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const i=this.configLookup.add(t);if(i===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const n=!this.fullCtx,a=Ur(i.context,t.context,n,e);return i.reachesIntoOuterContext=Math.max(i.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(i.precedenceFilterSuppressed=!0),i.context=a,!0}getStates(){const t=new bt;for(const e of this.configs)t.add(e.state);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==z.NONE&&t.push(e.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e,null);return!1}equals(t){return this===t||t instanceof I1&&z1(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new $t;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new bt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new bt)}toString(){return Ge(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==P.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new zt;for(let e of this.configs)t.set(e.alt);return t}},A(I1,"ATNConfigSet"),I1),oe=(O1=class{constructor(t){E(this,"stateNumber",-1);E(this,"configs",new Yt);E(this,"edges",null);E(this,"isAcceptState",!1);E(this,"prediction",-1);E(this,"lexerActionExecutor",null);E(this,"requiresFullContext",!1);E(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new $t;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof O1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=Ge(this.predicates):t+=this.prediction),t.toString()}},A(O1,"DFAState"),O1);(r=>{const e=class e{constructor(n,a){E(this,"pred");E(this,"alt");this.alt=a,this.pred=n}toString(){return`(${this.pred}, ${this.alt})`}};A(e,"PredPrediction");let t=e;r.PredPrediction=t})(oe||(oe={}));var Zt=(D1=class{constructor(t,e){E(this,"atn");E(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=e,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const e=new Ve;return X2(t,this.sharedContextCache,e)}getSharedContextCache(){return this.sharedContextCache}},A(D1,"ATNSimulator"),E(D1,"ERROR",new oe(2147483647)),D1),Q2=(O0=class extends Yt{constructor(){super(),this.configLookup=new bt}},A(O0,"OrderedATNConfigSet"),O0),qt=(De=class{constructor(){E(this,"atn");E(this,"stateNumber");E(this,"ruleIndex");E(this,"epsilonOnlyTransitions");E(this,"nextTokenWithinRule");E(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return De.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof De?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,e){e===void 0&&(e=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),e===-1?this.transitions.push(t):this.transitions.splice(e,1,t)}},A(De,"ATNState"),E(De,"INVALID_STATE_NUMBER",-1),De),H={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},xt=(D0=class extends qt{get stateType(){return H.RULE_STOP}},A(D0,"RuleStopState"),D0),Ye=(M0=class extends qt{constructor(){super(...arguments);E(this,"decision",-1);E(this,"nonGreedy",!1)}},A(M0,"DecisionState"),M0),te=(M1=class extends _t{constructor(e,i){super(e,i);E(this,"lexerActionExecutor");E(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=e.lexerActionExecutor??(i==null?void 0:i.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=i!==null?this.checkNonGreedyDecision(i,this.state):!1,this}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(e){return this===e||e instanceof M1&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&super.equals(e)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(e){return this.equals(e)}checkNonGreedyDecision(e,i){return e.passedThroughNonGreedyDecision||i instanceof Ye&&i.nonGreedy}},A(M1,"LexerATNConfig"),M1),ee=(U0=class{constructor(t){E(this,"actionType");E(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new $t;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},A(U0,"LexerAction"),U0),yr=(U1=class extends ee{constructor(e,i){super(i.actionType);E(this,"offset");E(this,"action");this.offset=e,this.action=i,this.isPositionDependent=!0}execute(e){this.action.execute(e)}updateHashCode(e){e.update(this.actionType,this.offset,this.action)}equals(e){return this===e?!0:e instanceof U1?this.offset===e.offset&&this.action===e.action:!1}},A(U1,"LexerIndexedCustomAction"),U1),d3=(le=class extends ee{constructor(e){super(-1);E(this,"lexerActions");E(this,"cachedHashCode");return this.lexerActions=e===null?[]:e,this.cachedHashCode=$t.hashStuff(e),this}static append(e,i){if(e===null)return new le([i]);const n=e.lexerActions.concat([i]);return new le(n)}fixOffsetBeforeMatch(e){let i=null;for(let n=0;n",t+=this.getStateString(o),t+=` -`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const e=t.stateNumber,i=(t.isAcceptState?":":"")+"s"+e+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${i}=>${t.predicates.toString()}`:`${i}=>${t.prediction}`:`${i}`}},A(y0,"DFASerializer"),y0),se=(pt=class{constructor(t,e,i){E(this,"maxTokenType");E(this,"literalNames");E(this,"symbolicNames");E(this,"displayNames");this.literalNames=t??pt.EMPTY_NAMES,this.symbolicNames=e??pt.EMPTY_NAMES,this.displayNames=i??pt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return pt.EMPTY_VOCABULARY;const e=[...t],i=[...t];for(let n=0;n0){const o=a.charAt(0);if(o==="'"){i[n]=null;continue}else if(o.toUpperCase()===o){e[n]=null;continue}}e[n]=null,i[n]=null}}return new pt(e,i,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(e)+"'")}},A(w0,"LexerDFASerializer"),w0),pe=(v0=class extends Ye{constructor(){super();E(this,"loopBackState");E(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return H.STAR_LOOP_ENTRY}},A(v0,"StarLoopEntryState"),v0),Fe=(b0=class{constructor(t,e){E(this,"states",new bt);E(this,"s0",null);E(this,"decision");E(this,"atnStartState");E(this,"precedenceDfa");E(this,"isPrecedenceDfa",()=>this.precedenceDfa);E(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});E(this,"setPrecedenceStartState",(t,e)=>{var i;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((i=this.s0)!=null&&i.edges))){if(t>=this.s0.edges.length){const n=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,n,t)}this.s0.edges[t]=e}});this.atnStartState=t,this.decision=e??0;let i=!1;if(t instanceof pe&&t.precedenceRuleDecision){i=!0;const n=new oe;n.edges=[],n.isAcceptState=!1,n.requiresFullContext=!1,this.s0=n}this.precedenceDfa=i}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((e,i)=>e.stateNumber-i.stateNumber),t}toString(t){return t?this.s0===null?"":new J2(this,t).toString()??"":this.toString(se.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new R3(this).toString()??""}},A(b0,"DFA"),b0),Xe=(J=class extends Zt{constructor(e,i,n,a){super(i,a);E(this,"decisionToDFA");E(this,"recog",null);E(this,"startIndex",-1);E(this,"line",1);E(this,"column",0);E(this,"mode",kt.DEFAULT_MODE);E(this,"prevAccept",new J.SimState);this.decisionToDFA=n,this.recog=e}copyState(e){this.column=e.column,this.line=e.line,this.mode=e.mode,this.startIndex=e.startIndex}match(e,i){this.mode=i;const n=e.mark();try{this.startIndex=e.index,this.prevAccept.reset();const a=this.decisionToDFA[i];return a.s0===null?this.matchATN(e):this.execATN(e,a.s0)}finally{e.release(n)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=kt.DEFAULT_MODE}getDFA(e){return this.decisionToDFA[e]}getText(e){return e.getText(this.startIndex,e.index-1)}consume(e){e.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,e.consume()}getTokenName(e){return e===-1?"EOF":"'"+String.fromCharCode(e)+"'"}clearDFA(){for(let e=0;eJ.MAX_DFA_EDGE)return null;let n=e.edges[i-J.MIN_DFA_EDGE];return n===void 0&&(n=null),J.debug&&n!==null&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}computeTargetState(e,i,n){const a=new Q2;return this.getReachableConfigSet(e,i.configs,a,n),a.items.length===0?(a.hasSemanticContext||this.addDFAEdge(i,n,Zt.ERROR),Zt.ERROR):this.addDFAEdge(i,n,null,a)}failOrAccept(e,i,n,a){if(e.dfaState!==null){const o=e.dfaState.lexerActionExecutor;return this.accept(i,o,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}else{if(a===p.EOF&&i.index===this.startIndex)return p.EOF;throw new Hi(this.recog,i,this.startIndex,n)}}getReachableConfigSet(e,i,n,a){let o=P.INVALID_ALT_NUMBER;for(const h of i.items){const u=h.alt===o;if(!(u&&h.passedThroughNonGreedyDecision)){J.debug&&console.log(`testing %s at %s -`,this.getTokenName(a),h.toString(this.recog,!0));for(const c of h.state.transitions){const _=this.getReachableTarget(c,a);if(_!==null){let d=h.lexerActionExecutor;d!==null&&(d=d.fixOffsetBeforeMatch(e.index-this.startIndex));const f=a===p.EOF,W=new te({state:_,lexerActionExecutor:d},h);this.closure(e,W,n,u,!0,f)&&(o=h.alt)}}}}}accept(e,i,n,a,o,h){J.debug&&console.log(`ACTION %s -`,i),e.seek(a),this.line=o,this.column=h,i!==null&&this.recog!==null&&i.execute(this.recog,e,n)}getReachableTarget(e,i){return e.matches(i,0,kt.MAX_CHAR_VALUE)?e.target:null}computeStartState(e,i){const n=V.EMPTY,a=new Q2;for(let o=0;oJ.MAX_DFA_EDGE||(J.debug&&console.log("EDGE "+e+" -> "+n+" upon "+i),e.edges===null&&(e.edges=new Array(J.MAX_DFA_EDGE-J.MIN_DFA_EDGE+1),e.edges.fill(null)),e.edges[i-J.MIN_DFA_EDGE]=n),n}addDFAState(e){const i=new oe(e);let n=null;for(const u of e.items)if(u.state instanceof xt){n=u;break}n!==null&&(i.isAcceptState=!0,i.lexerActionExecutor=n.lexerActionExecutor,i.prediction=this.atn.ruleToTokenType[n.state.ruleIndex]);const a=this.decisionToDFA[this.mode],o=a.states.get(i);if(o!==null)return o;const h=i;return h.stateNumber=a.states.length,e.setReadonly(!0),h.configs=e,a.states.add(h),h}},A(J,"LexerATNSimulator"),E(J,"MIN_DFA_EDGE",0),E(J,"MAX_DFA_EDGE",127),E(J,"debug",!1),E(J,"dfa_debug",!1),J);(r=>{const e=class e{constructor(){E(this,"index",-1);E(this,"line",0);E(this,"column",-1);E(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};A(e,"SimState");let t=e;r.SimState=t})(Xe||(Xe={}));var kt=(Rt=class extends Y2{constructor(e){super();E(this,"_input");E(this,"_token",null);E(this,"_tokenStartCharIndex",-1);E(this,"_tokenStartLine",0);E(this,"_tokenStartColumn",0);E(this,"_hitEOF",!1);E(this,"_channel",0);E(this,"_type",0);E(this,"_modeStack",[]);E(this,"_mode",Rt.DEFAULT_MODE);E(this,"_text",null);E(this,"_factory");this._input=e,this._factory=o3.DEFAULT}reset(e=!0){e&&this._input.seek(0),this._token=null,this._type=p.INVALID_TYPE,this._channel=p.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Rt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const e=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=p.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let i=!1;for(;;){this._type=p.INVALID_TYPE;let n=Rt.SKIP;try{n=this.interpreter.match(this._input,this._mode)}catch(a){if(a instanceof Hi)this.notifyListeners(a),this.recover(a);else throw a}if(this._input.LA(1)===p.EOF&&(this._hitEOF=!0),this._type===p.INVALID_TYPE&&(this._type=n),this._type===Rt.SKIP){i=!0;break}if(this._type!==Rt.MORE)break}if(!i)return this._token===null&&this.emit(),this._token}}finally{this._input.release(e)}}skip(){this._type=Rt.SKIP}more(){this._type=Rt.MORE}mode(e){this._mode=e}pushMode(e){Xe.debug&&console.log("pushMode "+e),this._modeStack.push(this._mode),this.mode(e)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return Xe.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(e){this._token=e}emit(){const e=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(e),e}emitEOF(){const e=this.column,i=this.line,n=this._factory.create([this,this._input],p.EOF,null,p.DEFAULT_CHANNEL,this._input.index,this._input.index-1,i,e);return this.emitToken(n),n}getCharIndex(){return this._input.index}getAllTokens(){const e=[];let i=this.nextToken();for(;i.type!==p.EOF;)e.push(i),i=this.nextToken();return e}notifyListeners(e){const i=this._tokenStartCharIndex,n=this._input.index,a=this._input.getText(i,n),o="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,e)}getErrorDisplay(e){return e}getErrorDisplayForChar(e){return e.charCodeAt(0)===p.EOF?"":e===` -`?"\\n":e===" "?"\\t":e==="\r"?"\\r":e}getCharErrorDisplay(e){return"'"+this.getErrorDisplayForChar(e)+"'"}recover(e){this._input.LA(1)!==p.EOF&&(e instanceof Hi?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this.reset(!1),this._input=e}set tokenFactory(e){this._factory=e}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(e){this._type=e}get line(){return this.interpreter.line}set line(e){this.interpreter.line=e}get column(){return this.interpreter.column}set column(e){this.interpreter.column=e}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(e){this._text=e}},A(Rt,"Lexer"),E(Rt,"DEFAULT_MODE",0),E(Rt,"MORE",-2),E(Rt,"SKIP",-3),E(Rt,"DEFAULT_TOKEN_CHANNEL",p.DEFAULT_CHANNEL),E(Rt,"HIDDEN",p.HIDDEN_CHANNEL),E(Rt,"MIN_CHAR_VALUE",0),E(Rt,"MAX_CHAR_VALUE",1114111),Rt),Ct=(it=class{constructor(t){E(this,"intervals",[]);E(this,"readOnly",!1);t&&this.addSet(t)}static of(t,e){const i=new it;return i.addRange(t,e),i}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?p.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?p.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new Y(t,t))}addRange(t,e){this.addInterval(new Y(t,e))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let e=0;ethis.addInterval(e),this),this}complement(t,e){if(!t)return new it;const i=new it;if(t instanceof it){if(t.isNil)return new it;i.addSet(t)}else i.addInterval(new Y(t,e??0));return i.subtract(this)}or(t){const e=new it;return e.addSet(this),t.forEach(i=>e.addSet(i)),e}and(t){if(t.isNil)return new it;const e=this.intervals,i=t.intervals;let n;const a=e.length,o=i.length;let h=0,u=0;for(;ha.stop){i++;continue}let h=null,u=null;if(o.start>a.start&&(h=new Y(a.start,o.start-1)),o.stopt)n=a-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let e=0;for(const i of this.intervals){if(t.stop<=i.start)return;if(t.start>i.start&&t.stop=i.stop?(this.intervals.splice(e,1),e=e-1):t.start1&&(e+="{");let i=!1,n;t instanceof se?n=t:Array.isArray(t)?n=se.fromTokenNames(t):i=t??!1;for(let a=0;a":i?e+="'"+String.fromCodePoint(h)+"'":n?e+=this.elementName(n,h):e+=h;else if(i)e+="'"+String.fromCodePoint(h)+"'..'"+String.fromCodePoint(u)+"'";else if(n)for(let c=h;c<=u;++c)c>h&&(e+=", "),e+=this.elementName(n,c);else e+=h+".."+u;a1&&(e+="}"),e}toArray(){const t=[];for(const e of this.intervals)for(let i=e.start;i<=e.stop;i++)t.push(i);return t}get length(){let t=0;if(this.intervals.length===1){const i=this.intervals[0];return i.stop-i.start+1}for(const i of this.intervals)t+=i.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,e){return e===p.EOF?"":e===p.EPSILON?"":t.getDisplayName(e)}},A(it,"IntervalSet"),E(it,"COMPLETE_CHAR_SET",it.of(kt.MIN_CHAR_VALUE,kt.MAX_CHAR_VALUE)),E(it,"EMPTY_SET",new it),it.COMPLETE_CHAR_SET.readOnly=!0,it.EMPTY_SET.readOnly=!0,it),ki=(H0=class extends me{constructor(e,i,n,a){super(e);E(this,"ruleIndex");E(this,"precedence");E(this,"followState");this.ruleIndex=i,this.precedence=n,this.followState=a}get isEpsilon(){return!0}get serializationType(){return O.RULE}matches(e,i,n){return!1}},A(H0,"RuleTransition"),H0),wr=(k0=class extends me{constructor(e,i){super(e);X(this,Me,void 0);i!=null?G(this,Me,i):(G(this,Me,new Ct),K(this,Me).addOne(p.INVALID_TYPE))}get label(){return K(this,Me)}get serializationType(){return O.SET}matches(e,i,n){return this.label.contains(e)}toString(){return K(this,Me).toString()}},Me=new WeakMap,A(k0,"SetTransition"),k0),vr=(P0=class extends wr{constructor(t,e){super(t,e)}get serializationType(){return O.NOT_SET}matches(t,e,i){return t>=e&&t<=i&&!super.matches(t,e,i)}toString(){return"~"+super.toString()}},A(P0,"NotSetTransition"),P0),j2=(B0=class extends me{constructor(t){super(t)}get serializationType(){return O.WILDCARD}matches(t,e,i){return t>=e&&t<=i}toString(){return"."}},A(B0,"WildcardTransition"),B0),T3=(Ue=class{constructor(t){E(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const e=t.transitions.length,i=new Array(e);i.fill(null);for(let n=0;n=this.states.length)throw new Error("Invalid state number.");const i=this.states[t];let n=this.nextTokens(i);if(!n.contains(p.EPSILON))return n;let a=e;const o=new Ct;for(o.addSet(n),o.removeOne(p.EPSILON);a!==null&&a.invokingState>=0&&n.contains(p.EPSILON);){const u=this.states[a.invokingState].transitions[0];n=this.nextTokens(u.followState),o.addSet(n),o.removeOne(p.EPSILON),a=a.parent}return n.contains(p.EPSILON)&&o.addOne(p.EOF),o}nextTokens(t,e){return e===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new T3(this).LOOK(t,null,e)}},A(y1,"ATN"),E(y1,"INVALID_ALT_NUMBER",0),y1),$2=(ye=class{constructor(t){E(this,"readOnly",!1);E(this,"verifyATN");E(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},A(ye,"ATNDeserializationOptions"),E(ye,"defaultOptions",new ye),ye.defaultOptions.readOnly=!0,ye),q1={LEXER:0,PARSER:1},z2=(G0=class extends qt{get stateType(){return H.BASIC}},A(G0,"BasicState"),G0),A1=(V0=class extends Ye{constructor(){super();E(this,"endState");this.endState=null}},A(V0,"BlockStartState"),V0),br=(Y0=class extends qt{constructor(){super(...arguments);E(this,"startState",null)}get stateType(){return H.BLOCK_END}},A(Y0,"BlockEndState"),Y0),Qe=(F0=class extends qt{constructor(){super(...arguments);E(this,"loopBackState",null)}get stateType(){return H.LOOP_END}},A(F0,"LoopEndState"),F0),Z2=(X0=class extends qt{constructor(){super();E(this,"stopState");E(this,"isLeftRecursiveRule");E(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return H.RULE_START}},A(X0,"RuleStartState"),X0),f3=(Q0=class extends Ye{get stateType(){return H.TOKEN_START}},A(Q0,"TokensStartState"),Q0),q2=(J0=class extends Ye{get stateType(){return H.PLUS_LOOP_BACK}},A(J0,"PlusLoopbackState"),J0),Hr=(j0=class extends qt{get stateType(){return H.STAR_LOOP_BACK}},A(j0,"StarLoopbackState"),j0),kr=($0=class extends A1{constructor(){super(...arguments);E(this,"loopBackState")}get stateType(){return H.PLUS_BLOCK_START}},A($0,"PlusBlockStartState"),$0),Pr=(z0=class extends A1{get stateType(){return H.STAR_BLOCK_START}},A(z0,"StarBlockStartState"),z0),ta=(Z0=class extends A1{get stateType(){return H.BLOCK_START}},A(Z0,"BasicBlockStartState"),Z0),Pi=(ts=class extends me{constructor(e,i){super(e);E(this,"labelValue");X(this,q0,void 0);this.labelValue=i,G(this,q0,Ct.of(i,i))}get label(){return K(this,q0)}matches(e,i,n){return this.labelValue===e}get serializationType(){return O.ATOM}toString(){return this.labelValue.toString()}},q0=new WeakMap,A(ts,"AtomTransition"),ts),ea=(ss=class extends me{constructor(e,i,n){super(e);E(this,"start");E(this,"stop");X(this,es,new Ct);this.start=i,this.stop=n,K(this,es).addRange(i,n)}get label(){return K(this,es)}get serializationType(){return O.RANGE}matches(e,i,n){return e>=this.start&&e<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},es=new WeakMap,A(ss,"RangeTransition"),ss),t0=(rs=class extends me{constructor(e,i=-1){super(e);X(this,is,void 0);G(this,is,i)}get isEpsilon(){return!0}matches(e,i,n){return!1}get outermostPrecedenceReturn(){return K(this,is)}get serializationType(){return O.EPSILON}toString(){return"epsilon"}},is=new WeakMap,A(rs,"EpsilonTransition"),rs),sa=(ns=class extends Or{constructor(e,i,n,a){super(e);E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=i,this.predIndex=n,this.isCtxDependent=a}get isEpsilon(){return!0}matches(e,i,n){return!1}get serializationType(){return O.PREDICATE}getPredicate(){return new z.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},A(ns,"PredicateTransition"),ns),A3=(as=class extends Or{constructor(e,i){super(e);E(this,"precedence");this.precedence=i}get isEpsilon(){return!0}matches(e,i,n){return!1}getPredicate(){return new z.PrecedencePredicate(this.precedence)}get serializationType(){return O.PRECEDENCE}toString(){return this.precedence+" >= _p"}},A(as,"PrecedencePredicateTransition"),as),Wt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},m3=(a1=class extends ee{constructor(){super(Wt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},A(a1,"LexerSkipAction"),E(a1,"INSTANCE",new a1),a1),C3=(w1=class extends ee{constructor(e){super(Wt.CHANNEL);E(this,"channel");this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(e){return this===e?!0:e instanceof w1?this.channel===e.channel:!1}toString(){return"channel("+this.channel+")"}},A(w1,"LexerChannelAction"),w1),W3=(v1=class extends ee{constructor(e,i){super(Wt.CUSTOM);E(this,"ruleIndex");E(this,"actionIndex");this.ruleIndex=e,this.actionIndex=i,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(e){return this===e?!0:e instanceof v1?this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex:!1}},A(v1,"LexerCustomAction"),v1),p3=(o1=class extends ee{constructor(){super(Wt.MORE)}execute(t){t.more()}toString(){return"more"}},A(o1,"LexerMoreAction"),E(o1,"INSTANCE",new o1),o1),K3=(b1=class extends ee{constructor(e){super(Wt.TYPE);E(this,"type");this.type=e}execute(e){e._type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(e){return this===e?!0:e instanceof b1?this.type===e.type:!1}toString(){return"type("+this.type+")"}},A(b1,"LexerTypeAction"),b1),N3=(H1=class extends ee{constructor(e){super(Wt.PUSH_MODE);E(this,"mode");this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof H1?this.mode===e.mode:!1}toString(){return"pushMode("+this.mode+")"}},A(H1,"LexerPushModeAction"),H1),L3=(h1=class extends ee{constructor(){super(Wt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},A(h1,"LexerPopModeAction"),E(h1,"INSTANCE",new h1),h1),x3=(k1=class extends ee{constructor(e){super(Wt.MODE);E(this,"mode");this.mode=e}execute(e){e.mode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof k1?this.mode===e.mode:!1}toString(){return"mode("+this.mode+")"}},A(k1,"LexerModeAction"),k1),Br=A((r,t)=>{const e=new Array(r-1);return e[r-1]=t,e.map(()=>t)},"initArray"),e0=(we=class{constructor(t){E(this,"data",[]);E(this,"pos",0);E(this,"deserializationOptions");E(this,"stateFactories",null);E(this,"actionFactories",null);t||(t=$2.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const i=[];return this.readSets(e,i),this.readEdges(e,i),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===q1.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==we.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+we.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),e=this.readInt();return new P(t,e)}readStates(t){let e,i;const n=[],a=[],o=this.readInt();for(let c=0;c0;)a.addTransition(c.transitions[_-1]),c.transitions=c.transitions.slice(-1);t.ruleToStartState[e].addTransition(new t0(a)),u&&o.addTransition(new t0(u));const d=new z2;t.addState(d),d.addTransition(new Pi(o,t.ruleToTokenType[e])),a.addTransition(new t0(d))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e||!(t instanceof pe))return null;const i=t.transitions[t.transitions.length-1].target;return i instanceof Qe&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof xt?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof pe&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const i=e.transitions[e.transitions.length-1].target;i instanceof Qe&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof xt&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const e of t.states)if(e!==null)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof kr)this.checkCondition(e.loopBackState!==null);else if(e instanceof pe)if(this.checkCondition(e.loopBackState!==null),this.checkCondition(e.transitions.length===2),e.transitions[0].target instanceof Pr)this.checkCondition(e.transitions[1].target instanceof Qe),this.checkCondition(!e.nonGreedy);else if(e.transitions[0].target instanceof Qe)this.checkCondition(e.transitions[1].target instanceof Pr),this.checkCondition(e.nonGreedy);else throw new Error("IllegalState");else e instanceof Hr?(this.checkCondition(e.transitions.length===1),this.checkCondition(e.transitions[0].target instanceof pe)):e instanceof Qe?this.checkCondition(e.loopBackState!==null):e instanceof Z2?this.checkCondition(e.stopState!==null):e instanceof A1?this.checkCondition(e.endState!==null):e instanceof br?this.checkCondition(e.startState!==null):e instanceof Ye?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof xt)}}checkCondition(t,e){if(!t)throw e==null&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}edgeFactory(t,e,i,n,a,o,h){const u=t.states[i];switch(e){case O.EPSILON:return new t0(u);case O.RANGE:return o!==0?new ea(u,p.EOF,a):new ea(u,n,a);case O.RULE:return new ki(t.states[n],a,o,u);case O.PREDICATE:return new sa(u,n,a,o!==0);case O.PRECEDENCE:return new A3(u,n);case O.ATOM:return o!==0?new Pi(u,p.EOF):new Pi(u,n);case O.ACTION:return new b2(u,n,a,o!==0);case O.SET:return new wr(u,h[n]);case O.NOT_SET:return new vr(u,h[n]);case O.WILDCARD:return new j2(u);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(t,e){var i,n;if(this.stateFactories===null){const a=[];a[H.INVALID_TYPE]=null,a[H.BASIC]=()=>new z2,a[H.RULE_START]=()=>new Z2,a[H.BLOCK_START]=()=>new ta,a[H.PLUS_BLOCK_START]=()=>new kr,a[H.STAR_BLOCK_START]=()=>new Pr,a[H.TOKEN_START]=()=>new f3,a[H.RULE_STOP]=()=>new xt,a[H.BLOCK_END]=()=>new br,a[H.STAR_LOOP_BACK]=()=>new Hr,a[H.STAR_LOOP_ENTRY]=()=>new pe,a[H.PLUS_LOOP_BACK]=()=>new q2,a[H.LOOP_END]=()=>new Qe,this.stateFactories=a}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const a=((n=(i=this.stateFactories)[t])==null?void 0:n.call(i))??null;if(a!==null)return a.ruleIndex=e,a}return null}lexerActionFactory(t,e,i){if(this.actionFactories===null){const n=[];n[Wt.CHANNEL]=(a,o)=>new C3(a),n[Wt.CUSTOM]=(a,o)=>new W3(a,o),n[Wt.MODE]=(a,o)=>new x3(a),n[Wt.MORE]=(a,o)=>p3.INSTANCE,n[Wt.POP_MODE]=(a,o)=>L3.INSTANCE,n[Wt.PUSH_MODE]=(a,o)=>new N3(a),n[Wt.SKIP]=(a,o)=>m3.INSTANCE,n[Wt.TYPE]=(a,o)=>new K3(a),this.actionFactories=n}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](e,i)}},A(we,"ATNDeserializer"),E(we,"SERIALIZED_VERSION",4),we),ht=(os=class extends T{constructor(e,i=null,n=null,a=null,o=null,h=null){h=h??e.context,a=a??e.getCurrentToken(),n=n??e.getCurrentToken(),i=i??e.inputStream;super({message:"",recognizer:e,input:i,ctx:h});E(this,"deadEndConfigs",null);E(this,"startToken");this.deadEndConfigs=o,this.startToken=n,this.offendingToken=a}},A(os,"NoViableAltException"),os),S3=(hs=class{constructor(){E(this,"cacheMap");this.cacheMap=new Ve}get(t,e){const i=this.cacheMap.get(t)??null;return i===null?null:i.get(e)??null}set(t,e,i){let n=this.cacheMap.get(t)??null;n===null&&(n=new Ve,this.cacheMap.set(t,n)),n.set(e,i)}},A(hs,"DoubleDict"),hs),dt=(Kt=class{static hasSLLConflictTerminatingPrediction(t,e){if(Kt.allConfigsInRuleStopStates(e))return!0;if(t===Kt.SLL&&e.hasSemanticContext){const n=new Yt;for(let a of e.items)a=new _t({semanticContext:z.NONE},a),n.add(a);e=n}const i=Kt.getConflictingAltSubsets(e);return Kt.hasConflictingAltSet(i)&&!Kt.hasStateAssociatedWithOneAlt(e)}static hasConfigInRuleStopState(t){for(const e of t.items)if(e.state instanceof xt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const e of t.items)if(!(e.state instanceof xt))return!1;return!0}static resolvesToJustOneViableAlt(t){return Kt.getSingleViableAlt(t)}static allSubsetsConflict(t){return!Kt.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const e of t)if(e.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const e of t)if(e.length>1)return!0;return!1}static allSubsetsEqual(t){let e=null;for(const i of t)if(e===null)e=i;else if(i!==e)return!1;return!0}static getUniqueAlt(t){const e=Kt.getAlts(t);return e.length===1?e.nextSetBit(0):P.INVALID_ALT_NUMBER}static getAlts(t){const e=new zt;return t.forEach(i=>{e.or(i)}),e}static getConflictingAltSubsets(t){const e=new Ve(i=>$t.hashStuff(i.state.stateNumber,i.context),(i,n)=>{var a;return i.state.stateNumber===n.state.stateNumber&&(((a=i.context)==null?void 0:a.equals(n.context))??!0)});return t.items.forEach(i=>{let n=e.get(i);n===null&&(n=new zt,e.set(i,n)),n.set(i.alt)}),e.getValues()}static getStateToAltMap(t){const e=new Ve;return t.items.forEach(i=>{let n=e.get(i.state);n||(n=new zt,e.set(i.state,n)),n.set(i.alt)}),e}static hasStateAssociatedWithOneAlt(t){const e={};return t.items.forEach(i=>{const n=i.state.stateNumber;e[n]||(e[n]=0),e[n]++}),Object.values(e).some(i=>i===1)}static getSingleViableAlt(t){let e=null;for(const i of t){const n=i.nextSetBit(0);if(e===null)e=n;else if(e!==n)return P.INVALID_ALT_NUMBER}return e??0}},A(Kt,"PredictionMode"),E(Kt,"SLL",0),E(Kt,"LL",1),E(Kt,"LL_EXACT_AMBIG_DETECTION",2),Kt),Bi=(M=class extends Zt{constructor(e,i,n,a){super(i,a);E(this,"predictionMode");E(this,"decisionToDFA");E(this,"parser");E(this,"mergeCache",null);E(this,"_input",null);E(this,"_startIndex",0);E(this,"_outerContext",null);E(this,"_dfa",null);this.parser=e,this.decisionToDFA=n}static getUniqueAlt(e){let i=P.INVALID_ALT_NUMBER;for(const n of e.items)if(i===P.INVALID_ALT_NUMBER)i=n.alt;else if(n.alt!==i)return P.INVALID_ALT_NUMBER;return i}reset(){}clearDFA(){for(let e=0;e"}getTokenName(e){if(e===p.EOF)return"EOF";const n=(this.parser!=null?this.parser.vocabulary:se.EMPTY_VOCABULARY).getDisplayName(e);return n===e.toString()?n:n+"<"+e+">"}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const i=e.deadEndConfigs.items;for(const n of i){let a="no edges";if(n.state.transitions.length>0){const o=n.state.transitions[0];o instanceof Pi?a="Atom "+this.getTokenName(o.labelValue):o instanceof wr&&(a=(o instanceof vr?"~":"")+"Set "+o.label)}console.error(n.toString(this.parser,!0)+":"+a)}}predicateDFAState(e,i){const n=i.transitions.length,a=this.getConflictingAltsOrUniqueAlt(e.configs),o=this.getPredsForAmbigAlts(a,e.configs,n);o!==null?(e.predicates=this.getPredicatePredictions(a,o),e.prediction=P.INVALID_ALT_NUMBER):e.prediction=a.nextSetBit(0)}execATNWithFullContext(e,i,n,a,o,h){(M.debug||M.trace_atn_sim)&&console.log("execATNWithFullContext "+n);const u=!0;let c=!1,_,d=n;a.seek(o);let f=a.LA(1),W=-1;for(;;){if(_=this.computeReachSet(d,f,u),_===null){const S=this.noViableAlt(a,h,d,o);a.seek(o);const g=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(d,h);if(g!==P.INVALID_ALT_NUMBER)return g;throw S}const L=dt.getConflictingAltSubsets(_);if(M.debug&&console.log("LL altSubSets="+L+", predict="+dt.getUniqueAlt(L)+", resolvesToJustOneViableAlt="+dt.resolvesToJustOneViableAlt(L)),_.uniqueAlt=M.getUniqueAlt(_),_.uniqueAlt!==P.INVALID_ALT_NUMBER){W=_.uniqueAlt;break}else if(this.predictionMode!==dt.LL_EXACT_AMBIG_DETECTION){if(W=dt.resolvesToJustOneViableAlt(L),W!==P.INVALID_ALT_NUMBER)break}else if(dt.allSubsetsConflict(L)&&dt.allSubsetsEqual(L)){c=!0,W=dt.getSingleViableAlt(L);break}d=_,f!==p.EOF&&(a.consume(),f=a.LA(1))}return _.uniqueAlt!==P.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,W,_,o,a.index),W):(this.reportAmbiguity(e,i,o,a.index,c,null,_),W)}computeReachSet(e,i,n){M.debug&&console.log("in computeReachSet, starting closure: "+e),this.mergeCache===null&&(this.mergeCache=new S3);const a=new Yt(n);let o=null;for(const u of e.items){if(M.debug&&console.log("testing "+this.getTokenName(i)+" at "+u),u.state instanceof xt){(n||i===p.EOF)&&(o===null&&(o=[]),o.push(u));continue}for(const c of u.state.transitions){const _=this.getReachableTarget(c,i);if(_!==null){const d=new _t({state:_},u);a.add(d,this.mergeCache)}}}let h=null;if(o===null&&i!==p.EOF&&(a.items.length===1||M.getUniqueAlt(a)!==P.INVALID_ALT_NUMBER)&&(h=a),h===null){h=new Yt(n);const u=new bt,c=i===p.EOF;for(const _ of a.items)this.closure(_,h,u,!1,n,c)}if(i===p.EOF&&(h=this.removeAllConfigsNotInRuleStopState(h,h===a)),o!==null&&(!n||!dt.hasConfigInRuleStopState(h)))for(const u of o)h.add(u,this.mergeCache);return h.items.length===0?null:h}removeAllConfigsNotInRuleStopState(e,i){if(dt.allConfigsInRuleStopStates(e))return e;const n=new Yt(e.fullCtx);for(const a of e.items){if(a.state instanceof xt){n.add(a,this.mergeCache);continue}if(i&&a.state.epsilonOnlyTransitions&&this.atn.nextTokens(a.state).contains(p.EPSILON)){const h=this.atn.ruleToStopState[a.state.ruleIndex];n.add(new _t({state:h},a),this.mergeCache)}}return n}computeStartState(e,i,n){const a=Mr(this.atn,i),o=new Yt(n);for(let h=0;h0&&(h=this.getAltThatFinishedDecisionEntryRule(o),h!==P.INVALID_ALT_NUMBER)?h:P.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const i=[];for(const n of e.items)(n.reachesIntoOuterContext>0||n.state instanceof xt&&n.context.hasEmptyPath())&&i.indexOf(n.alt)<0&&i.push(n.alt);return i.length===0?P.INVALID_ALT_NUMBER:Math.min(...i)}splitAccordingToSemanticValidity(e,i){const n=new Yt(e.fullCtx),a=new Yt(e.fullCtx);for(const o of e.items)o.semanticContext!==z.NONE?o.semanticContext.evaluate(this.parser,i)?n.add(o):a.add(o):n.add(o);return[n,a]}evalSemanticContext(e,i,n){const a=new zt;for(const o of e){if(o.pred===z.NONE){if(a.set(o.alt),!n)break;continue}const h=o.pred.evaluate(this.parser,i);if((M.debug||M.dfa_debug)&&console.log("eval pred "+o+"="+h),h&&((M.debug||M.dfa_debug)&&console.log("PREDICT "+o.alt),a.set(o.alt),!n))break}return a}closure(e,i,n,a,o,h){this.closureCheckingStopState(e,i,n,a,o,0,h)}closureCheckingStopState(e,i,n,a,o,h,u){if(e.state instanceof xt)if(e.context&&!e.context.isEmpty()){for(let c=0;c=0&&(S+=1)}this.closureCheckingStopState(L,i,n,W,o,S,u)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const i=e.state;if(i.stateType!==H.STAR_LOOP_ENTRY||!e.context||!i.precedenceRuleDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const n=e.context.length;for(let u=0;u=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+Ge(this.parser.getRuleInvocationStack())));let h=null;if(n&&a)if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(h=new _t({state:i.target},e))}else{const u=z.andContext(e.semanticContext,i.getPredicate());h=new _t({state:i.target,semanticContext:u},e)}else h=new _t({state:i.target},e);return M.debug&&console.log("config from pred transition="+h),h}predTransition(e,i,n,a,o){M.debug&&(console.log("PRED (collectPredicates="+n+") "+i.ruleIndex+":"+i.predIndex+", ctx dependent="+i.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+Ge(this.parser.getRuleInvocationStack())));let h=null;if(n&&(i.isCtxDependent&&a||!i.isCtxDependent))if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(h=new _t({state:i.target},e))}else{const u=z.andContext(e.semanticContext,i.getPredicate());h=new _t({state:i.target,semanticContext:u},e)}else h=new _t({state:i.target},e);return M.debug&&console.log("config from pred transition="+h),h}ruleTransition(e,i){M.debug&&console.log("CALL rule "+this.getRuleName(i.target.ruleIndex)+", ctx="+e.context);const n=i.followState,a=Ht.create(e.context,n.stateNumber);return new _t({state:i.target,context:a},e)}getConflictingAlts(e){const i=dt.getConflictingAltSubsets(e);return dt.getAlts(i)}getConflictingAltsOrUniqueAlt(e){let i;return e.uniqueAlt!==P.INVALID_ALT_NUMBER?(i=new zt,i.set(e.uniqueAlt)):i=e.conflictingAlts,i}noViableAlt(e,i,n,a){return new ht(this.parser,e,e.get(a),e.LT(1),n,i)}addDFAEdge(e,i,n,a){return M.debug&&console.log("EDGE "+i+" -> "+a+" upon "+this.getTokenName(n)),a===null?null:(a=this.addDFAState(e,a),i===null||n<-1||n>this.atn.maxTokenType||(i.edges===null&&(i.edges=new Array(this.atn.maxTokenType+2),i.edges.fill(null)),i.edges[n+1]=a,M.debug&&console.log(`DFA= -`+e.toString(this.parser!=null?this.parser.vocabulary:se.EMPTY_VOCABULARY))),a)}addDFAState(e,i){if(i===Zt.ERROR)return i;const n=e.states.get(i);return n!==null?n:(i.stateNumber=e.states.length,i.configs.readOnly||(i.configs.optimizeConfigs(this),i.configs.setReadonly(!0)),e.states.add(i),M.debug&&console.log("adding new DFA state: "+i),i)}reportAttemptingFullContext(e,i,n,a,o){if(M.debug||M.retry_debug){const h=new Y(a,o+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.tokenStream.getText(h))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,a,o,i,n)}reportContextSensitivity(e,i,n,a,o){if(M.debug||M.retry_debug){const h=new Y(a,o+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.tokenStream.getText(h))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,a,o,i,n)}reportAmbiguity(e,i,n,a,o,h,u){if(M.debug||M.retry_debug){const c=new Y(n,a+1);console.log("reportAmbiguity "+h+":"+u+", input="+this.parser.tokenStream.getText(c))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,a,o,h,u)}},A(M,"ParserATNSimulator"),E(M,"debug"),E(M,"trace_atn_sim",!1),E(M,"debug_add",!1),E(M,"debug_closure",!1),E(M,"dfa_debug",!1),E(M,"retry_debug",!1),M),s0=(us=class{constructor(){E(this,"cache",new Ve)}add(t){if(t===V.EMPTY)return V.EMPTY;const e=this.cache.get(t)||null;return e!==null?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},A(us,"PredictionContextCache"),us),i0=(ls=class{constructor(t,e,i,n,a,o){E(this,"decision");E(this,"configs");E(this,"input");E(this,"startIndex");E(this,"stopIndex");E(this,"fullCtx");this.decision=t,this.configs=e,this.input=i,this.startIndex=n,this.stopIndex=a,this.fullCtx=o}},A(ls,"DecisionEventInfo"),ls),g3=(cs=class extends i0{constructor(e,i,n,a,o,h,u){super(e,i,a,o,h,u);E(this,"ambigAlts");this.ambigAlts=n}},A(cs,"AmbiguityInfo"),cs),ia=(Es=class extends i0{constructor(t,e,i,n,a){super(t,e,i,n,a,!0)}},A(Es,"ContextSensitivityInfo"),Es),I3=(_s=class{constructor(t){E(this,"decision",0);E(this,"invocations",0);E(this,"timeInPrediction",0);E(this,"SLL_TotalLook",0);E(this,"SLL_MinLook",0);E(this,"SLL_MaxLook",0);E(this,"SLL_MaxLookEvent");E(this,"LL_TotalLook",0);E(this,"LL_MinLook",0);E(this,"LL_MaxLook",0);E(this,"LL_MaxLookEvent");E(this,"contextSensitivities");E(this,"errors");E(this,"ambiguities");E(this,"predicateEvals");E(this,"SLL_ATNTransitions",0);E(this,"SLL_DFATransitions",0);E(this,"LL_Fallback",0);E(this,"LL_ATNTransitions",0);E(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},A(_s,"DecisionInfo"),_s),Gr=(ds=class extends i0{constructor(t,e,i,n,a,o){super(t,e,i,n,a,o)}},A(ds,"ErrorInfo"),ds),ra=(Rs=class extends i0{constructor(e,i,n,a,o,h,u){super(e,i,a,o,h,u);E(this,"predictedAlt");this.predictedAlt=n}},A(Rs,"LookaheadEventInfo"),Rs),Vr=(Ts=class extends Bi{constructor(e){const i=e.interpreter.getSharedContextCache();super(e,e.interpreter.atn,e.interpreter.decisionToDFA,i);E(this,"decisions");E(this,"numDecisions",0);E(this,"currentDecision",0);E(this,"currentState");E(this,"conflictingAltResolvedBySLL");X(this,ce,0);X(this,Ee,0);if(i){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let n=0;nthis.decisions[i].SLL_MaxLook&&(this.decisions[i].SLL_MaxLook=u,this.decisions[i].SLL_MaxLookEvent=new ra(i,null,o,e,this._startIndex,K(this,ce),!1)),K(this,Ee)>=0){const c=K(this,Ee)-this._startIndex+1;this.decisions[i].LL_TotalLook+=c,this.decisions[i].LL_MinLook=this.decisions[i].LL_MinLook===0?c:Math.min(this.decisions[i].LL_MinLook,c),c>this.decisions[i].LL_MaxLook&&(this.decisions[i].LL_MaxLook=c,this.decisions[i].LL_MaxLookEvent=new ra(i,null,o,e,this._startIndex,K(this,Ee),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(e,i){if(this._input){G(this,ce,this._input.index);const n=super.getExistingTargetState(e,i);return n!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,n===Zt.ERROR&&this.decisions[this.currentDecision].errors.push(new Gr(this.currentDecision,e.configs,this._input,this._startIndex,K(this,ce),!1))),this.currentState=n,n}return null}computeTargetState(e,i,n){const a=super.computeTargetState(e,i,n);return this.currentState=a,a}computeReachSet(e,i,n){n&&this._input&&G(this,Ee,this._input.index);const a=super.computeReachSet(e,i,n);return this._input&&(n?(this.decisions[this.currentDecision].LL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new Gr(this.currentDecision,e,this._input,this._startIndex,K(this,Ee),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new Gr(this.currentDecision,e,this._input,this._startIndex,K(this,ce),!1)))),a}reportAttemptingFullContext(e,i,n,a,o){i!==null?this.conflictingAltResolvedBySLL=i.nextSetBit(0):this.conflictingAltResolvedBySLL=n.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,i&&super.reportAttemptingFullContext(e,i,n,a,o)}reportContextSensitivity(e,i,n,a,o){i!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new ia(this.currentDecision,n,this._input,a,o)),super.reportContextSensitivity(e,i,n,a,o)}reportAmbiguity(e,i,n,a,o,h,u){let c;h!==null?c=h.nextSetBit(0):c=u.getAlts().nextSetBit(0),this._input&&(u.fullCtx&&c!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new ia(this.currentDecision,u,this._input,n,a)),this.decisions[this.currentDecision].ambiguities.push(new g3(this.currentDecision,u,h,this._input,n,a,u.fullCtx))),super.reportAmbiguity(e,i,n,a,o,h,u)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},ce=new WeakMap,Ee=new WeakMap,A(Ts,"ProfilingATNSimulator"),Ts);fs=class{constructor(t){E(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),e=[];for(let i=0;i0&&e.push(i);return e}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(let i=0;i0?i:void 0,modes:n.length>0?n:void 0}}},A(ms,"InterpreterDataReader"),Cs=class{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult();const i=t.getChildCount();for(let n=0;n=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const e=this.index+t-1;return e<0||e>=this.data.length?p.EOF:this.data[e]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,e){let i,n;return t instanceof Y?(i=t.start,n=t.stop):(i=t,n=e??this.data.length-1),n>=this.data.length&&(n=this.data.length-1),i>=this.data.length?"":xn(this,Ws,Sn).call(this,i,n+1)}toString(){return xn(this,Ws,Sn).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:vi.UNKNOWN_SOURCE_NAME}},Ws=new WeakSet,Sn=function(t,e){const i=this.data.slice(t,e);let n="";return i.forEach(a=>{n+=String.fromCodePoint(a)}),n},A(ps,"CharStreamImpl"),ps),Yr=(Ks=class{static fromString(t){return new D3(t)}},A(Ks,"CharStreams"),Ks),M3=(Ns=class{constructor(t){E(this,"tokenSource");E(this,"tokens",[]);E(this,"p",-1);E(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(e)>=e:!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(i===void 0)return this.tokens.slice(t,e+1);const n=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let a=t;a=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let i=this.tokens[t];for(;i.channel!==e;){if(i.type===p.EOF)return-1;t+=1,this.sync(t),i=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.nextTokenOnChannel(t+1,kt.DEFAULT_TOKEN_CHANNEL),n=t+1,a=i===-1?this.tokens.length-1:i;return this.filterForChannel(n,a,e)}getHiddenTokensToLeft(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.previousTokenOnChannel(t-1,kt.DEFAULT_TOKEN_CHANNEL);if(i===t-1)return null;const n=i+1,a=t-1;return this.filterForChannel(n,a,e)}filterForChannel(t,e,i){const n=[];for(let a=t;a=this.tokens.length&&(n=this.tokens.length-1);let a="";for(let o=i;o<=n;o++){const h=this.tokens[o];if(h.type===p.EOF)break;a+=h.text}return a.toString()}else{const e=t[0];return this.getText(e.getSourceInterval())}case 2:{const e=t[0],i=t[1];return e!==null&&i!==null?this.getText(Y.of(e.tokenIndex,i.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},A(Ns,"BufferedTokenStream"),Ns),Gi=(Ls=class extends M3{constructor(e,i){super(e);E(this,"channel",p.DEFAULT_CHANNEL);this.channel=i??p.DEFAULT_CHANNEL}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let i=this.index,n=1;for(;n<=e;)i=this.previousTokenOnChannel(i-1,this.channel),n+=1;return i<0?null:this.tokens[i]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let i=this.index,n=1;for(;nnew Fe(t,e))),b),U3=(xs=class extends bi{syntaxError(t,e,i,n,a,o){}},A(xs,"XPathLexerErrorListener"),xs),m1=(Ss=class{constructor(t){E(this,"invert");E(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ss,"XPathElement"),Ss),y3=(gs=class extends m1{constructor(e,i){super(e);E(this,"ruleIndex");this.ruleIndex=i}evaluate(e){return We.findAllRuleNodes(e,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(gs,"XPathRuleAnywhereElement"),gs),w3=(Is=class extends m1{constructor(e,i){super(e);E(this,"ruleIndex");this.ruleIndex=i}evaluate(e){const i=[];for(const n of We.getChildren(e))n instanceof R&&(n.ruleIndex===this.ruleIndex&&!this.invert||n.ruleIndex!==this.ruleIndex&&this.invert)&&i.push(n);return i}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Is,"XPathRuleElement"),Is),v3=(Os=class extends m1{constructor(e,i){super(e);E(this,"tokenType");this.tokenType=i}evaluate(e){return We.findAllTokenNodes(e,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Os,"XPathTokenAnywhereElement"),Os),b3=(Ds=class extends m1{constructor(e,i){super(e);E(this,"tokenType");this.tokenType=i}evaluate(e){const i=[];for(const n of We.getChildren(e))n instanceof ae&&n.symbol&&(n.symbol.type===this.tokenType&&!this.invert||n.symbol.type!==this.tokenType&&this.invert)&&i.push(n);return i}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ds,"XPathTokenElement"),Ds),H3=(Ms=class extends m1{constructor(){super(aa.WILDCARD)}evaluate(t){return this.invert?[]:We.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ms,"XPathWildcardAnywhereElement"),Ms),k3=(Us=class extends m1{constructor(){super(aa.WILDCARD)}evaluate(t){const e=[];if(this.invert)return e;for(const i of We.getChildren(t))e.push(i);return e}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Us,"XPathWildcardElement"),Us),aa=(ve=class{constructor(t,e){E(this,"path");E(this,"elements");E(this,"parser");this.parser=t,this.path=e,this.elements=this.split(e)}static findAll(t,e,i){return new ve(i,e).evaluate(t)}split(t){const e=new Ft(Yr.fromString(t));e.recover=u=>{throw u},e.removeErrorListeners(),e.addErrorListener(new U3);const i=new Gi(e);try{i.fill()}catch(u){if(u instanceof Hi){const _="Invalid tokens or characters at index "+e.column+" in path '"+t+"' -- "+u.message;throw new RangeError(_)}throw u}const n=i.getTokens(),a=[],o=n.length;let h=0;t:for(;h0&&this.elements[n].evaluate(o).forEach(u=>{a.add(u)},a);n++,i=a}return i}getXPathElement(t,e){if(t.type===p.EOF)throw new Error("Missing path element at end of path");const i=t.text;if(i==null)throw new Error("Expected wordToken to have text content.");const n=this.parser.getTokenType(i),a=this.parser.getRuleIndex(i);switch(t.type){case Ft.WILDCARD:return e?new H3:new k3;case Ft.TOKEN_REF:case Ft.STRING:if(n===p.INVALID_TYPE)throw new Error(i+" at index "+t.start+" isn't a valid token name");return e?new v3(i,n):new b3(i,n);default:if(a===-1)throw new Error(i+" at index "+t.start+" isn't a valid rule name");return e?new y3(i,a):new w3(i,a)}}},A(ve,"XPath"),E(ve,"WILDCARD","*"),E(ve,"NOT","!"),ve),Je=(ys=class extends T{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},A(ys,"InputMismatchException"),ys),Vi=(ws=class extends T{constructor(e,i,n=null){super({message:P3(i??"no predicate",n??null),recognizer:e,input:e.inputStream,ctx:e.context});E(this,"ruleIndex",0);E(this,"predicateIndex",0);E(this,"predicate");const o=e.atn.states[e.state].transitions[0];o instanceof sa?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=i,this.offendingToken=e.getCurrentToken()}},A(ws,"FailedPredicateException"),ws),P3=A((r,t)=>t!==null?t:"failed predicate: {"+r+"}?","formatMessage"),Fr=(vs=class{constructor(){E(this,"errorRecoveryMode",!1);E(this,"lastErrorIndex",-1);E(this,"lastErrorStates",new Ct);E(this,"nextTokensContext",null);E(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Ct,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof ht?this.reportNoViableAlternative(t,e):e instanceof Je?this.reportInputMismatch(t,e):e instanceof Vi?this.reportFailedPredicate(t,e):t.notifyErrorListeners(e.message,e.offendingToken,e))}recover(t,e){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const i=this.getErrorRecoverySet(t);this.consumeUntil(t,i)}sync(t){if(this.inErrorRecoveryMode(t))return;const e=t.atn.states[t.state],i=t.tokenStream.LA(1),n=t.atn.nextTokens(e);if(n.contains(i)){this.nextTokensContext=null,this.nextTokenState=qt.INVALID_STATE_NUMBER;return}else if(n.contains(p.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(e.stateType){case H.BLOCK_START:case H.STAR_BLOCK_START:case H.PLUS_BLOCK_START:case H.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new Je(t);case H.PLUS_LOOP_BACK:case H.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const a=new Ct;a.addSet(t.getExpectedTokens());const o=a.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i=t.tokenStream;let n;i!==null&&e.startToken?e.startToken.type===p.EOF?n="":n=i.getText(new Y(e.startToken.tokenIndex,e.offendingToken.tokenIndex)):n="";const a="no viable alternative at input "+this.escapeWSAndQuote(n);t.notifyErrorListeners(a,e.offendingToken,e)}reportInputMismatch(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(i,e.offendingToken,e)}reportFailedPredicate(t,e){const n="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;t.notifyErrorListeners(n,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),i=this.getTokenErrorDisplay(e),n=this.getExpectedTokens(t),a="extraneous input "+i+" expecting "+n.toString(t.vocabulary);t.notifyErrorListeners(a,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),n="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(n,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(e!==null)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Je(t)}singleTokenInsertion(t){const e=t.tokenStream.LA(1),i=t.atn,a=i.states[t.state].transitions[0].target;return i.nextTokens(a,t.context).contains(e)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const e=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();const n=t.getCurrentToken();return this.reportMatch(t),n}else return null}getMissingSymbol(t){const e=t.getCurrentToken(),i=this.getExpectedTokens(t);let n=p.INVALID_TYPE;i.isNil||(n=i.minElement);let a;n===p.EOF?a="":a="";let o=e;const h=t.tokenStream.LT(-1);return o.type===p.EOF&&h!==null&&(o=h),t.getTokenFactory().create(o.source,n,a,p.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let e=t.text;return e===null&&(t.type===p.EOF?e="":e="<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const e=t.atn;let i=t.context;const n=new Ct;for(;i!==null&&i.invokingState>=0;){const o=e.states[i.invokingState].transitions[0],h=e.nextTokens(o.followState);n.addSet(h),i=i.parent}return n.removeOne(p.EPSILON),n}consumeUntil(t,e){let i=t.tokenStream.LA(1);for(;i!==p.EOF&&!e.contains(i);)t.consume(),i=t.tokenStream.LA(1)}},A(vs,"DefaultErrorStrategy"),vs);bs=class extends Fr{recover(t,e){let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new na(e)}recoverInline(t){const e=new Je(t);let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new na(e)}sync(t){}},A(bs,"BailErrorStrategy"),Hs=class extends bi{constructor(e){super();E(this,"exactOnly");E(this,"reportAmbiguity",(e,i,n,a,o,h,u)=>{if(this.exactOnly&&!o)return;const c=this.getDecisionDescription(e,i),_=this.getConflictingAlts(h,u),d=e.tokenStream.getText(Y.of(n,a)),f=`reportAmbiguity d=${c}: ambigAlts=${_}, input='${d}'`;e.notifyErrorListeners(f,null,null)});E(this,"reportAttemptingFullContext",(e,i,n,a,o,h)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText(Y.of(n,a)),_=`reportAttemptingFullContext d=${u}, input='${c}'`;e.notifyErrorListeners(_,null,null)});E(this,"reportContextSensitivity",(e,i,n,a,o,h)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText(Y.of(n,a)),_=`reportContextSensitivity d=${u}, input='${c}'`;e.notifyErrorListeners(_,null,null)});E(this,"getDecisionDescription",(e,i)=>{const n=i.decision,a=i.atnStartState.ruleIndex,o=e.ruleNames;if(a<0||a>=o.length)return n.toString();const h=o[a];return h.length===0?n.toString():`${n} (${h})`});E(this,"getConflictingAlts",(e,i)=>{if(e!==null)return e;const n=new zt;for(let a=0;a{super(...e5);X(this,ks,void 0)};n!==void 0?r(i,n):r(),G(this,ks,e)}get ruleIndex(){return K(this,ks)}},ks=new WeakMap,A(Ps,"InterpreterRuleContext"),Ps);Js=class extends kt{constructor(e,i,n,a,o,h,u){super(u);X(this,Bs,void 0);X(this,Gs,void 0);X(this,Vs,void 0);X(this,Ys,void 0);X(this,Fs,void 0);X(this,Xs,void 0);X(this,Qs,void 0);X(this,ir,new s0);if(h.grammarType!==q1.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");G(this,Bs,e),G(this,Gs,h),G(this,Vs,n.slice(0)),G(this,Ys,a.slice(0)),G(this,Fs,o.slice(0)),G(this,Xs,i),G(this,Qs,h.decisionToState.map((c,_)=>new Fe(c,_))),this.interpreter=new Xe(this,h,K(this,Qs),K(this,ir))}get atn(){return K(this,Gs)}get grammarFileName(){return K(this,Bs)}get ruleNames(){return K(this,Vs)}get channelNames(){return K(this,Ys)}get modeNames(){return K(this,Fs)}get vocabulary(){return K(this,Xs)}},Bs=new WeakMap,Gs=new WeakMap,Vs=new WeakMap,Ys=new WeakMap,Fs=new WeakMap,Xs=new WeakMap,Qs=new WeakMap,ir=new WeakMap,A(Js,"LexerInterpreter");var G3=(js=class{constructor(t){E(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},A(js,"TraceListener"),js),oa=($s=class extends Y2{constructor(e){super();E(this,"printer",null);E(this,"buildParseTrees",!0);E(this,"errorHandler",new Fr);E(this,"context",null);E(this,"_input",null);E(this,"_precedenceStack",[]);E(this,"_parseListeners",null);E(this,"_syntaxErrors",0);E(this,"matchedEOF",!1);E(this,"_tracer",null);E(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=e}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(e){let i=this.getCurrentToken();return i.type===e?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this.errorHandler.reportMatch(this),this.consume()):(e=this.errorHandler.recoverInline(this),this.buildParseTrees&&e.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,e))),e}getParseListeners(){return this._parseListeners??[]}addParseListener(e){if(e===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null&&e!==null){const i=this._parseListeners.indexOf(e);i>=0&&this._parseListeners.splice(i,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.forEach(i=>{i.enterEveryRule(e),e.enterRule(i)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.slice(0).reverse().forEach(i=>{e.exitRule(i),i.exitEveryRule(e)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(e){this._input.getTokenSource().tokenFactory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const i=new $2;return i.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new e0(i).deserialize(e),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(e){this._input=null,this.reset(),this._input=e}get inputStream(){return this._input}set inputStream(e){this.tokenStream=e}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,i,n){i=i??null,n=n??null,i===null&&(i=this.getCurrentToken()),this._syntaxErrors+=1;const a=i.line,o=i.column;this.getErrorListenerDispatch().syntaxError(this,i,a,o,e,n)}consume(){const e=this.getCurrentToken();e.type!==p.EOF&&this.tokenStream.consume();const i=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||i){let n;this.errorHandler.inErrorRecoveryMode(this)?n=this.context.addErrorNode(this.createErrorNode(this.context,e)):n=this.context.addTokenNode(e),i&&this._parseListeners.forEach(a=>{n instanceof Z1?a.visitErrorNode(n):a.visitTerminal(n)})}return e}addContextToParseTree(){var e;((e=this.context)==null?void 0:e.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(e,i,n){this.state=i,this.context=e,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(e,i){e.setAltNumber(i),this.buildParseTrees&&this.context!==e&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(e)),this.context=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,i,n,a){this.state=i,this._precedenceStack.push(a),this.context=e,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,i,n){const a=this.context;a.parent=e,a.invokingState=i,a.stop=this._input.LT(-1),this.context=e,this.context.start=a.start,this.buildParseTrees&&this.context.addChild(a),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const i=this.context,n=this.getParseListeners();if(n!==null&&n.length>0)for(;this.context!==e;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=e;i.parent=e,this.buildParseTrees&&e!==null&&e.addChild(i)}getInvokingContext(e){let i=this.context;for(;i!==null;){if(i.ruleIndex===e)return i;i=i.parent}return null}precpred(e,i){return i>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const i=this.interpreter.atn;let n=this.context;const a=i.states[this.state];let o=i.nextTokens(a);if(o.contains(e))return!0;if(!o.contains(p.EPSILON))return!1;for(;n!==null&&n.invokingState>=0&&o.contains(p.EPSILON);){const u=i.states[n.invokingState].transitions[0];if(o=i.nextTokens(u.followState),o.contains(e))return!0;n=n.parent}return!!(o.contains(p.EPSILON)&&e===p.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const e=this.interpreter.atn,i=e.states[this.state];return e.nextTokens(i)}getRuleIndex(e){const i=this.getRuleIndexMap().get(e);return i??-1}getRuleInvocationStack(e){e=e??null,e===null&&(e=this.context);const i=[];for(;e!==null;){const n=e.ruleIndex;n<0?i.push("n/a"):i.push(this.ruleNames[n]),e=e.parent}return i}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let e=!1;for(const i of this.interpreter.decisionToDFA)i.states.length>0&&(e&&console.log(),this.printer&&(this.printer.println("Decision "+i.decision+":"),this.printer.print(i.toString(this.vocabulary))),e=!0)}getSourceName(){return this._input.getSourceName()}setProfile(e){const i=this.interpreter,n=i.predictionMode;if(e)i instanceof Vr||(this.interpreter=new Vr(this));else if(i instanceof Vr){const a=i.getSharedContextCache();if(a){const o=new Bi(this,this.atn,i.decisionToDFA,a);this.interpreter=o}}this.interpreter.predictionMode=n}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new G3(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(e,i){return new ae(i)}createErrorNode(e,i){return new Z1(i)}},A($s,"Parser"),$s);ei=class extends oa{constructor(e,i,n,a,o){super(o);E(this,"_rootContext");E(this,"_parentContextStack",[]);E(this,"overrideDecision",-1);E(this,"overrideDecisionInputIndex",-1);E(this,"overrideDecisionAlt",-1);E(this,"overrideDecisionReached",!1);E(this,"_overrideDecisionRoot",null);X(this,zs,void 0);X(this,Qt,void 0);X(this,Zs,void 0);X(this,qs,void 0);X(this,ti,void 0);X(this,rr,new s0);X(this,B1,void 0);G(this,zs,e),G(this,Qt,a),G(this,Zs,n.slice(0)),G(this,qs,i),G(this,B1,new zt);for(const h of a.states)h instanceof pe&&h.precedenceRuleDecision&&K(this,B1).set(h.stateNumber);G(this,ti,a.decisionToState.map((h,u)=>new Fe(h,u))),this.interpreter=new Bi(this,a,K(this,ti),K(this,rr))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return K(this,Qt)}get vocabulary(){return K(this,qs)}get ruleNames(){return K(this,Zs)}get grammarFileName(){return K(this,zs)}get atnState(){return K(this,Qt).states[this.state]}parse(e){var n;const i=K(this,Qt).ruleToStartState[e];for(this._rootContext=this.createInterpreterRuleContext(null,qt.INVALID_STATE_NUMBER,e),i.isPrecedenceRule?this.enterRecursionRule(this._rootContext,i.stateNumber,e,0):this.enterRule(this._rootContext,i.stateNumber,e);;){const a=this.atnState;switch(a.stateType){case H.RULE_STOP:if((n=this.context)!=null&&n.isEmpty)if(i.isPrecedenceRule){const o=this.context,h=this._parentContextStack.pop();return this.unrollRecursionContexts(h[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(a);break;default:try{this.visitState(a)}catch(o){if(o instanceof T)this.state=K(this,Qt).ruleToStopState[a.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(e,i,n){this.overrideDecision=e,this.overrideDecisionInputIndex=i,this.overrideDecisionAlt=n}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(e,i,n,a){this._parentContextStack.push([this.context,e.invokingState]),super.enterRecursionRule(e,i,n,a)}visitState(e){let i=1;e instanceof Ye&&(i=this.visitDecisionState(e));const n=e.transitions[i-1];switch(n.serializationType){case O.EPSILON:if(K(this,B1).get(e.stateNumber)&&!(n.target instanceof Qe)){const _=this._parentContextStack[this._parentContextStack.length-1],d=this.createInterpreterRuleContext(_[0],_[1],this.context.ruleIndex);this.pushNewRecursionContext(d,K(this,Qt).ruleToStartState[e.ruleIndex].stateNumber,this.context.ruleIndex)}break;case O.ATOM:this.match(n.label.minElement);break;case O.RANGE:case O.SET:case O.NOT_SET:n.matches(this._input.LA(1),p.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case O.WILDCARD:this.matchWildcard();break;case O.RULE:const a=n.target,o=a.ruleIndex,h=this.createInterpreterRuleContext(this.context,e.stateNumber,o);a.isPrecedenceRule?this.enterRecursionRule(h,a.stateNumber,o,n.precedence):this.enterRule(h,n.target.stateNumber,o);break;case O.PREDICATE:const u=n;if(!this.sempred(this.context,u.ruleIndex,u.predIndex))throw new Vi(this);break;case O.ACTION:const c=n;this.action(this.context,c.ruleIndex,c.actionIndex);break;case O.PRECEDENCE:if(!this.precpred(this.context,n.precedence)){const _=n.precedence;throw new Vi(this,`precpred(_ctx, ${_})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=n.target.stateNumber}visitDecisionState(e){let i=1;if(e.transitions.length>1){this.errorHandler.sync(this);const n=e.decision;n===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(i=this.overrideDecisionAlt,this.overrideDecisionReached=!0):i=this.interpreter.adaptivePredict(this._input,n,this.context)}return i}createInterpreterRuleContext(e,i,n){return new B3(n,e,i)}visitRuleStopState(e){if(K(this,Qt).ruleToStartState[e.ruleIndex].isPrecedenceRule){const[a,o]=this._parentContextStack.pop();this.unrollRecursionContexts(a),this.state=o}else this.exitRule();const n=K(this,Qt).states[this.state].transitions[0];this.state=n.followState.stateNumber}recover(e){const i=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===i){const n=e.offendingToken;if(!n)throw new Error("Expected exception to have an offending token");const a=n.tokenSource,o=(a==null?void 0:a.inputStream)??null,h=[a,o];if(e instanceof Je){const u=e.getExpectedTokens();if(!u)throw new Error("Expected the exception to provide expected tokens");let c=p.INVALID_TYPE;u.isNil||(c=u.minElement);const _=this.getTokenFactory().create(h,c,n.text,p.DEFAULT_CHANNEL,-1,-1,n.line,n.column);this.context.addErrorNode(this.createErrorNode(this.context,_))}else{const u=this.getTokenFactory().create(h,p.INVALID_TYPE,n.text,p.DEFAULT_CHANNEL,-1,-1,n.line,n.column);this.context.addErrorNode(this.createErrorNode(this.context,u))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},zs=new WeakMap,Qt=new WeakMap,Zs=new WeakMap,qs=new WeakMap,ti=new WeakMap,rr=new WeakMap,B1=new WeakMap,A(ei,"ParserInterpreter"),Mt=class{constructor(t){E(this,"tokens");E(this,"programs",new Map);E(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,e,i=Mt.DEFAULT_PROGRAM_NAME){let n;typeof t=="number"?n=t:n=t.tokenIndex;const a=this.getProgram(i),o=new ua(this.tokens,n,a.length,e);a.push(o)}insertBefore(t,e,i=Mt.DEFAULT_PROGRAM_NAME){let n;typeof t=="number"?n=t:n=t.tokenIndex;const a=this.getProgram(i),o=new C1(this.tokens,n,a.length,e);a.push(o)}replaceSingle(t,e,i=Mt.DEFAULT_PROGRAM_NAME){this.replace(t,t,e,i)}replace(t,e,i,n=Mt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof e!="number"&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);const a=this.getProgram(n),o=new Yi(this.tokens,t,e,a.length,i);a.push(o)}delete(t,e,i=Mt.DEFAULT_PROGRAM_NAME){e==null&&(e=t),this.replace(t,e,null,i)}getProgram(t){let e=this.programs.get(t);return e==null&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(t,e=Mt.DEFAULT_PROGRAM_NAME){let i;t instanceof Y?i=t:i=new Y(0,this.tokens.size-1),typeof t=="string"&&(e=t);const n=this.programs.get(e);let a=i.start,o=i.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),a<0&&(a=0),n==null||n.length===0)return this.tokens.getText(new Y(a,o));const h=[],u=this.reduceToSingleOperationPerIndex(n);let c=a;for(;c<=o&&c=this.tokens.size-1&&h.push(String(_.text));return h.join("")}reduceToSingleOperationPerIndex(t){for(let i=0;ia.index&&u.index<=a.lastIndex&&(t[u.instructionIndex]=null);const h=this.getKindOfOps(t,Yi,i);for(const u of h){if(u.index>=a.index&&u.lastIndex<=a.lastIndex){t[u.instructionIndex]=null;continue}const c=u.lastIndexa.lastIndex;if(u.text==null&&a.text==null&&!c)t[u.instructionIndex]=null,a.index=Math.min(u.index,a.index),a.lastIndex=Math.max(u.lastIndex,a.lastIndex);else if(!c)throw new Error(`replace op boundaries of ${a} overlap with previous ${u}`)}}for(let i=0;i=u.index&&a.index<=u.lastIndex)throw new Error(`insert op ${a} within boundaries of previous ${u}`)}}const e=new Map;for(const i of t)if(i!=null){if(e.get(i.index)!=null)throw new Error("should only be one op per index");e.set(i.index,i)}return e}catOpText(t,e){let i="",n="";return t!=null&&(i=t.toString()),e!=null&&(n=e.toString()),i+n}getKindOfOps(t,e,i){return t.slice(0,i).filter(n=>n&&n instanceof e)}},A(Mt,"TokenStreamRewriter"),E(Mt,"DEFAULT_PROGRAM_NAME","default"),E(Mt,"PROGRAM_INIT_SIZE",100),E(Mt,"MIN_TOKEN_INDEX",0);var ha=(si=class{constructor(t,e,i,n){E(this,"instructionIndex");E(this,"index");E(this,"text");E(this,"tokens");this.tokens=t,this.instructionIndex=i,this.index=e,this.text=n===void 0?"":n}execute(t){return this.index}toString(){return"'}},A(si,"RewriteOperation"),si),C1=(ii=class extends ha{constructor(t,e,i,n){super(t,e,i,n)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==p.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},A(ii,"InsertBeforeOp"),ii),ua=(ri=class extends C1{constructor(t,e,i,n){super(t,e+1,i,n)}toString(){return"'}},A(ri,"InsertAfterOp"),ri),Yi=(ni=class extends ha{constructor(e,i,n,a,o){super(e,i,a,o);E(this,"lastIndex");this.lastIndex=n}execute(e){return this.text&&e.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},A(ni,"ReplaceOp"),ni);class l extends kt{constructor(t){super(t),this.interpreter=new Xe(this,l._ATN,l.decisionsToDFA,new s0)}get grammarFileName(){return"FlinkSqlLexer.g4"}get literalNames(){return l.literalNames}get symbolicNames(){return l.symbolicNames}get ruleNames(){return l.ruleNames}get serializedATN(){return l._serializedATN}get channelNames(){return l.channelNames}get modeNames(){return l.modeNames}static get _ATN(){return l.__ATN||(l.__ATN=new e0().deserialize(l._serializedATN)),l.__ATN}get vocabulary(){return l.vocabulary}}l.SPACE=1,l.COMMENT_INPUT=2,l.LINE_COMMENT=3,l.KW_ABS=4,l.KW_ALL=5,l.KW_ALLOCATE=6,l.KW_ALLOW=7,l.KW_ALTER=8,l.KW_ANALYZE=9,l.KW_AND=10,l.KW_ANY=11,l.KW_ARE=12,l.KW_ARRAY=13,l.KW_ARRAY_AGG=14,l.KW_ARRAY_CONCAT_AGG=15,l.KW_ARRAY_MAX_CARDINALITY=16,l.KW_AS=17,l.KW_ASENSITIVE=18,l.KW_ASYMMETRIC=19,l.KW_AT=20,l.KW_ATOMIC=21,l.KW_AUTHORIZATION=22,l.KW_AVG=23,l.KW_BEGIN=24,l.KW_BEGIN_FRAME=25,l.KW_BEGIN_PARTITION=26,l.KW_BETWEEN=27,l.KW_BIGINT=28,l.KW_BINARY=29,l.KW_BIT=30,l.KW_BLOB=31,l.KW_BOOLEAN=32,l.KW_BOTH=33,l.KW_BY=34,l.KW_BYTES=35,l.KW_CALL=36,l.KW_CALLED=37,l.KW_CARDINALITY=38,l.KW_CASCADED=39,l.KW_CASE=40,l.KW_CAST=41,l.KW_CATALOGS=42,l.KW_CEIL=43,l.KW_CEILING=44,l.KW_CHANGELOG_MODE=45,l.KW_CHAR=46,l.KW_CHARACTER=47,l.KW_CHARACTER_LENGTH=48,l.KW_CHAR_LENGTH=49,l.KW_CHECK=50,l.KW_CLASSIFIER=51,l.KW_CLOB=52,l.KW_CLOSE=53,l.KW_COALESCE=54,l.KW_COLLATE=55,l.KW_COLLECT=56,l.KW_COLUMN=57,l.KW_COLUMNS=58,l.KW_COMMENT=59,l.KW_COMMIT=60,l.KW_COMPUTE=61,l.KW_CONDITION=62,l.KW_CONNECT=63,l.KW_CONSTRAINT=64,l.KW_CONTAINS=65,l.KW_CONVERT=66,l.KW_CORR=67,l.KW_CORRESPONDING=68,l.KW_COUNT=69,l.KW_COVAR_POP=70,l.KW_COVAR_SAMP=71,l.KW_CREATE=72,l.KW_CROSS=73,l.KW_CUBE=74,l.KW_CUME_DIST=75,l.KW_CURRENT=76,l.KW_CURRENT_CATALOG=77,l.KW_CURRENT_DATE=78,l.KW_CURRENT_DEFAULT_TRANSFORM_GROUP=79,l.KW_CURRENT_PATH=80,l.KW_CURRENT_ROLE=81,l.KW_CURRENT_ROW=82,l.KW_CURRENT_SCHEMA=83,l.KW_CURRENT_TIME=84,l.KW_CURRENT_TIMESTAMP=85,l.KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE=86,l.KW_CURRENT_USER=87,l.KW_CURSOR=88,l.KW_CYCLE=89,l.KW_DATABASES=90,l.KW_DATE=91,l.KW_DATETIME=92,l.KW_DATETIME_DIFF=93,l.KW_DATETIME_TRUNC=94,l.KW_DATE_DIFF=95,l.KW_DATE_TRUNC=96,l.KW_DAY=97,l.KW_DAYOFWEEK=98,l.KW_DAYOFYEAR=99,l.KW_DEALLOCATE=100,l.KW_DEC=101,l.KW_DECIMAL=102,l.KW_DECLARE=103,l.KW_DEFAULT=104,l.KW_DEFINE=105,l.KW_DELETE=106,l.KW_DENSE_RANK=107,l.KW_DEREF=108,l.KW_DESCRIBE=109,l.KW_DETERMINISTIC=110,l.KW_DISALLOW=111,l.KW_DISCONNECT=112,l.KW_DISTINCT=113,l.KW_DOT=114,l.KW_DOUBLE=115,l.KW_DROP=116,l.KW_DYNAMIC=117,l.KW_EACH=118,l.KW_ELEMENT=119,l.KW_ELSE=120,l.KW_EMPTY=121,l.KW_END=122,l.KW_END_FRAME=123,l.KW_END_PARTITION=124,l.KW_ENFORCED=125,l.KW_EQUALS=126,l.KW_ESCAPE=127,l.KW_ESTIMATED_COST=128,l.KW_EVERY=129,l.KW_EXCEPT=130,l.KW_EXEC=131,l.KW_EXECUTE=132,l.KW_EXISTS=133,l.KW_EXP=134,l.KW_EXPLAIN=135,l.KW_EXTEND=136,l.KW_EXTENDED=137,l.KW_EXTERNAL=138,l.KW_EXTRACT=139,l.KW_FALSE=140,l.KW_FETCH=141,l.KW_FILTER=142,l.KW_FIRST_VALUE=143,l.KW_FLOAT=144,l.KW_FLOOR=145,l.KW_FOR=146,l.KW_FOREIGN=147,l.KW_FRAME_ROW=148,l.KW_FREE=149,l.KW_FRIDAY=150,l.KW_FROM=151,l.KW_FULL=152,l.KW_FUNCTION=153,l.KW_FUNCTIONS=154,l.KW_FUSION=155,l.KW_GET=156,l.KW_GLOBAL=157,l.KW_GRANT=158,l.KW_GROUP=159,l.KW_GROUPING=160,l.KW_GROUPS=161,l.KW_GROUP_CONCAT=162,l.KW_HAVING=163,l.KW_HOLD=164,l.KW_HOUR=165,l.KW_IDENTITY=166,l.KW_IF=167,l.KW_ILIKE=168,l.KW_IMPORT=169,l.KW_IN=170,l.KW_INCLUDE=171,l.KW_INDICATOR=172,l.KW_INITIAL=173,l.KW_INNER=174,l.KW_INOUT=175,l.KW_INSENSITIVE=176,l.KW_INSERT=177,l.KW_INT=178,l.KW_INTEGER=179,l.KW_INTERSECT=180,l.KW_INTERSECTION=181,l.KW_INTERVAL=182,l.KW_INTO=183,l.KW_IS=184,l.KW_JOIN=185,l.KW_JSON_ARRAY=186,l.KW_JSON_ARRAYAGG=187,l.KW_JSON_EXECUTION_PLAN=188,l.KW_JSON_EXISTS=189,l.KW_JSON_OBJECT=190,l.KW_JSON_OBJECTAGG=191,l.KW_JSON_QUERY=192,l.KW_JSON_VALUE=193,l.KW_LAG=194,l.KW_LANGUAGE=195,l.KW_LARGE=196,l.KW_LAST_VALUE=197,l.KW_LATERAL=198,l.KW_LEAD=199,l.KW_LEADING=200,l.KW_LEFT=201,l.KW_LIKE=202,l.KW_LIKE_REGEX=203,l.KW_LIMIT=204,l.KW_LN=205,l.KW_LOCAL=206,l.KW_LOCALTIME=207,l.KW_LOCALTIMESTAMP=208,l.KW_LOWER=209,l.KW_MATCH=210,l.KW_MATCHES=211,l.KW_MATCH_NUMBER=212,l.KW_MATCH_RECOGNIZE=213,l.KW_MAX=214,l.KW_MEASURES=215,l.KW_MEMBER=216,l.KW_MERGE=217,l.KW_METADATA=218,l.KW_METHOD=219,l.KW_MIN=220,l.KW_MINUS=221,l.KW_MINUTE=222,l.KW_MOD=223,l.KW_MODIFIES=224,l.KW_MODIFY=225,l.KW_MODULE=226,l.KW_MODULES=227,l.KW_MONDAY=228,l.KW_MONTH=229,l.KW_MORE=230,l.KW_MULTISET=231,l.KW_NATIONAL=232,l.KW_NATURAL=233,l.KW_NCHAR=234,l.KW_NCLOB=235,l.KW_NEW=236,l.KW_NEXT=237,l.KW_NO=238,l.KW_NONE=239,l.KW_NORMALIZE=240,l.KW_NOT=241,l.KW_NTH_VALUE=242,l.KW_NTILE=243,l.KW_NULL=244,l.KW_NULLIF=245,l.KW_NUMERIC=246,l.KW_OCCURRENCES_REGEX=247,l.KW_OCTET_LENGTH=248,l.KW_OF=249,l.KW_OFFSET=250,l.KW_OLD=251,l.KW_OMIT=252,l.KW_ON=253,l.KW_ONE=254,l.KW_ONLY=255,l.KW_OPEN=256,l.KW_OR=257,l.KW_ORDER=258,l.KW_ORDINAL=259,l.KW_OUT=260,l.KW_OUTER=261,l.KW_OVER=262,l.KW_OVERLAPS=263,l.KW_OVERLAY=264,l.KW_OVERWRITE=265,l.KW_OVERWRITING=266,l.KW_PARAMETER=267,l.KW_PARTITION=268,l.KW_PARTITIONED=269,l.KW_PARTITIONS=270,l.KW_PATTERN=271,l.KW_PER=272,l.KW_PERCENT=273,l.KW_PERCENTILE_CONT=274,l.KW_PERCENTILE_DISC=275,l.KW_PERCENT_RANK=276,l.KW_PERIOD=277,l.KW_PERMUTE=278,l.KW_PIVOT=279,l.KW_PORTION=280,l.KW_POSITION=281,l.KW_POSITION_REGEX=282,l.KW_POWER=283,l.KW_PRECEDES=284,l.KW_PRECISION=285,l.KW_PREPARE=286,l.KW_PREV=287,l.KW_PRIMARY=288,l.KW_PROCEDURE=289,l.KW_QUALIFY=290,l.KW_QUARTERS=291,l.KW_RANGE=292,l.KW_RANK=293,l.KW_RAW=294,l.KW_READS=295,l.KW_REAL=296,l.KW_RECURSIVE=297,l.KW_REF=298,l.KW_REFERENCES=299,l.KW_REFERENCING=300,l.KW_REGR_AVGX=301,l.KW_REGR_AVGY=302,l.KW_REGR_COUNT=303,l.KW_REGR_INTERCEPT=304,l.KW_REGR_R2=305,l.KW_REGR_SLOPE=306,l.KW_REGR_SXX=307,l.KW_REGR_SXY=308,l.KW_REGR_SYY=309,l.KW_RELEASE=310,l.KW_RENAME=311,l.KW_RESET=312,l.KW_RESULT=313,l.KW_RETURN=314,l.KW_RETURNS=315,l.KW_REVOKE=316,l.KW_RIGHT=317,l.KW_RLIKE=318,l.KW_ROLLBACK=319,l.KW_ROLLUP=320,l.KW_ROW=321,l.KW_ROWS=322,l.KW_ROW_NUMBER=323,l.KW_RUNNING=324,l.KW_SAFE_CAST=325,l.KW_SAFE_OFFSET=326,l.KW_SAFE_ORDINAL=327,l.KW_SATURDAY=328,l.KW_SAVEPOINT=329,l.KW_SCALA=330,l.KW_SCOPE=331,l.KW_SCROLL=332,l.KW_SEARCH=333,l.KW_SECOND=334,l.KW_SEEK=335,l.KW_SELECT=336,l.KW_SENSITIVE=337,l.KW_SEPARATOR=338,l.KW_SESSION_USER=339,l.KW_SET=340,l.KW_SHOW=341,l.KW_SIMILAR=342,l.KW_SKIP=343,l.KW_SMALLINT=344,l.KW_SOME=345,l.KW_SPECIFIC=346,l.KW_SPECIFICTYPE=347,l.KW_SQL=348,l.KW_SQLEXCEPTION=349,l.KW_SQLSTATE=350,l.KW_SQLWARNING=351,l.KW_SQRT=352,l.KW_START=353,l.KW_STATEMENT=354,l.KW_STATIC=355,l.KW_STATISTICS=356,l.KW_STDDEV_POP=357,l.KW_STDDEV_SAMP=358,l.KW_STREAM=359,l.KW_STRING=360,l.KW_STRING_AGG=361,l.KW_SUBMULTISET=362,l.KW_SUBSET=363,l.KW_SUBSTRING=364,l.KW_SUBSTRING_REGEX=365,l.KW_SUCCEEDS=366,l.KW_SUM=367,l.KW_SUNDAY=368,l.KW_SYMMETRIC=369,l.KW_SYSTEM=370,l.KW_SYSTEM_TIME=371,l.KW_SYSTEM_USER=372,l.KW_TABLE=373,l.KW_TABLES=374,l.KW_TABLESAMPLE=375,l.KW_THEN=376,l.KW_THURSDAY=377,l.KW_TIME=378,l.KW_TIMESTAMP=379,l.KW_TIMESTAMP_DIFF=380,l.KW_TIMESTAMP_LTZ=381,l.KW_TIMESTAMP_TRUNC=382,l.KW_TIMEZONE_HOUR=383,l.KW_TIMEZONE_MINUTE=384,l.KW_TIME_DIFF=385,l.KW_TIME_TRUNC=386,l.KW_TINYINT=387,l.KW_TO=388,l.KW_TRAILING=389,l.KW_TRANSLATE=390,l.KW_TRANSLATE_REGEX=391,l.KW_TRANSLATION=392,l.KW_TREAT=393,l.KW_TRIGGER=394,l.KW_TRIM=395,l.KW_TRIM_ARRAY=396,l.KW_TRUE=397,l.KW_TRUNCATE=398,l.KW_TRY_CAST=399,l.KW_TUESDAY=400,l.KW_UESCAPE=401,l.KW_UNION=402,l.KW_UNIQUE=403,l.KW_UNKNOWN=404,l.KW_UNNEST=405,l.KW_UNPIVOT=406,l.KW_UPDATE=407,l.KW_UPPER=408,l.KW_UPSERT=409,l.KW_USE=410,l.KW_USER=411,l.KW_USING=412,l.KW_VALUE=413,l.KW_VALUES=414,l.KW_VALUE_OF=415,l.KW_VARBINARY=416,l.KW_VARCHAR=417,l.KW_VARYING=418,l.KW_VAR_POP=419,l.KW_VAR_SAMP=420,l.KW_VERSIONING=421,l.KW_VIEWS=422,l.KW_VIRTUAL=423,l.KW_WATERMARK=424,l.KW_WATERMARKS=425,l.KW_WEDNESDAY=426,l.KW_WEEKS=427,l.KW_WHEN=428,l.KW_WHENEVER=429,l.KW_WHERE=430,l.KW_WIDTH_BUCKET=431,l.KW_WINDOW=432,l.KW_WITH=433,l.KW_WITHIN=434,l.KW_WITHOUT=435,l.KW_YEAR=436,l.KW_ADD=437,l.KW_AFTER=438,l.KW_ASC=439,l.KW_CASCADE=440,l.KW_CATALOG=441,l.KW_CENTURY=442,l.KW_CONFIG=443,l.KW_CONSTRAINTS=444,l.KW_CUMULATE=445,l.KW_DATA=446,l.KW_DATABASE=447,l.KW_DAYS=448,l.KW_DECADE=449,l.KW_DESC=450,l.KW_DESCRIPTOR=451,l.KW_DIV=452,l.KW_ENGINE=453,l.KW_EPOCH=454,l.KW_EXCLUDING=455,l.KW_FILE=456,l.KW_FIRST=457,l.KW_GENERATED=458,l.KW_HOP=459,l.KW_HOURS=460,l.KW_IGNORE=461,l.KW_INCLUDING=462,l.KW_JAR=463,l.KW_JARS=464,l.KW_JAVA=465,l.KW_KEY=466,l.KW_LAST=467,l.KW_LOAD=468,l.KW_MAP=469,l.KW_MICROSECOND=470,l.KW_MILLENNIUM=471,l.KW_MILLISECOND=472,l.KW_MINUTES=473,l.KW_MONTHS=474,l.KW_NANOSECOND=475,l.KW_NULLS=476,l.KW_OPTIONS=477,l.KW_PAST=478,l.KW_PLAN=479,l.KW_PRECEDING=480,l.KW_PYTHON=481,l.KW_PYTHON_ARCHIVES=482,l.KW_PYTHON_DEPENDENCIES=483,l.KW_PYTHON_FILES=484,l.KW_PYTHON_JAR=485,l.KW_PYTHON_PARAMETER=486,l.KW_PYTHON_REQUIREMENTS=487,l.KW_QUARTER=488,l.KW_REMOVE=489,l.KW_RESTRICT=490,l.KW_SECONDS=491,l.KW_SESSION=492,l.KW_SETS=493,l.KW_SIZE=494,l.KW_SLIDE=495,l.KW_STEP=496,l.KW_TEMPORARY=497,l.KW_TIMECOL=498,l.KW_TUMBLE=499,l.KW_UNLOAD=500,l.KW_VIEW=501,l.KW_WEEK=502,l.KW_YEARS=503,l.KW_ZONE=504,l.EQUAL_SYMBOL=505,l.GREATER_SYMBOL=506,l.LESS_SYMBOL=507,l.EXCLAMATION_SYMBOL=508,l.BIT_NOT_OP=509,l.BIT_OR_OP=510,l.BIT_AND_OP=511,l.BIT_XOR_OP=512,l.DOT=513,l.LS_BRACKET=514,l.RS_BRACKET=515,l.LR_BRACKET=516,l.RR_BRACKET=517,l.LB_BRACKET=518,l.RB_BRACKET=519,l.COMMA=520,l.SEMICOLON=521,l.AT_SIGN=522,l.SINGLE_QUOTE_SYMB=523,l.DOUBLE_QUOTE_SYMB=524,l.REVERSE_QUOTE_SYMB=525,l.COLON_SYMB=526,l.ASTERISK_SIGN=527,l.UNDERLINE_SIGN=528,l.HYPNEN_SIGN=529,l.ADD_SIGN=530,l.PENCENT_SIGN=531,l.DOUBLE_VERTICAL_SIGN=532,l.DOUBLE_HYPNEN_SIGN=533,l.SLASH_SIGN=534,l.QUESTION_MARK_SIGN=535,l.DOUBLE_RIGHT_ARROW=536,l.STRING_LITERAL=537,l.DIG_LITERAL=538,l.REAL_LITERAL=539,l.BIT_STRING=540,l.ID_LITERAL=541,l.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],l.literalNames=[null,null,null,null,"'ABS'","'ALL'","'ALLOCATE'","'ALLOW'","'ALTER'","'ANALYZE'","'AND'","'ANY'","'ARE'","'ARRAY'","'ARRAY_AGG'","'ARRAY_CONCAT_AGG'","'ARRAY_MAX_CARDINALITY'","'AS'","'ASENSITIVE'","'ASYMMETRIC'","'AT'","'ATOMIC'","'AUTHORIZATION'","'AVG'","'BEGIN'","'BEGIN_FRAME'","'BEGIN_PARTITION'","'BETWEEN'","'BIGINT'","'BINARY'","'BIT'","'BLOB'","'BOOLEAN'","'BOTH'","'BY'","'BYTES'","'CALL'","'CALLED'","'CARDINALITY'","'CASCADED'","'CASE'","'CAST'","'CATALOGS'","'CEIL'","'CEILING'","'CHANGELOG_MODE'","'CHAR'","'CHARACTER'","'CHARACTER_LENGTH'","'CHAR_LENGTH'","'CHECK'","'CLASSIFIER'","'CLOB'","'CLOSE'","'COALESCE'","'COLLATE'","'COLLECT'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMPUTE'","'CONDITION'","'CONNECT'","'CONSTRAINT'","'CONTAINS'","'CONVERT'","'CORR'","'CORRESPONDING'","'COUNT'","'COVAR_POP'","'COVAR_SAMP'","'CREATE'","'CROSS'","'CUBE'","'CUME_DIST'","'CURRENT'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_DEFAULT_TRANSFORM_GROUP'","'CURRENT_PATH'","'CURRENT_ROLE'","'CURRENT_ROW'","'CURRENT_SCHEMA'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_TRANSFORM_GROUP_FOR_TYPE'","'CURRENT_USER'","'CURSOR'","'CYCLE'","'DATABASES'","'DATE'","'DATETIME'","'DATETIME_DIFF'","'DATETIME_TRUNC'","'DATE_DIFF'","'DATE_TRUNC'","'DAY'","'DAYOFWEEK'","'DAYOFYEAR'","'DEALLOCATE'","'DEC'","'DECIMAL'","'DECLARE'","'DEFAULT'","'DEFINE'","'DELETE'","'DENSE_RANK'","'DEREF'","'DESCRIBE'","'DETERMINISTIC'","'DISALLOW'","'DISCONNECT'","'DISTINCT'","'DOT'","'DOUBLE'","'DROP'","'DYNAMIC'","'EACH'","'ELEMENT'","'ELSE'","'EMPTY'","'END'","'END_FRAME'","'END_PARTITION'","'ENFORCED'","'EQUALS'","'ESCAPE'","'ESTIMATED_COST'","'EVERY'","'EXCEPT'","'EXEC'","'EXECUTE'","'EXISTS'","'EXP'","'EXPLAIN'","'EXTEND'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FILTER'","'FIRST_VALUE'","'FLOAT'","'FLOOR'","'FOR'","'FOREIGN'","'FRAME_ROW'","'FREE'","'FRIDAY'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'FUSION'","'GET'","'GLOBAL'","'GRANT'","'GROUP'","'GROUPING'","'GROUPS'","'GROUP_CONCAT'","'HAVING'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'ILIKE'","'IMPORT'","'IN'","'INCLUDE'","'INDICATOR'","'INITIAL'","'INNER'","'INOUT'","'INSENSITIVE'","'INSERT'","'INT'","'INTEGER'","'INTERSECT'","'INTERSECTION'","'INTERVAL'","'INTO'","'IS'","'JOIN'","'JSON_ARRAY'","'JSON_ARRAYAGG'","'JSON_EXECUTION_PLAN'","'JSON_EXISTS'","'JSON_OBJECT'","'JSON_OBJECTAGG'","'JSON_QUERY'","'JSON_VALUE'","'LAG'","'LANGUAGE'","'LARGE'","'LAST_VALUE'","'LATERAL'","'LEAD'","'LEADING'","'LEFT'","'LIKE'","'LIKE_REGEX'","'LIMIT'","'LN'","'LOCAL'","'LOCALTIME'","'LOCALTIMESTAMP'","'LOWER'","'MATCH'","'MATCHES'","'MATCH_NUMBER'","'MATCH_RECOGNIZE'","'MAX'","'MEASURES'","'MEMBER'","'MERGE'","'METADATA'","'METHOD'","'MIN'","'MINUS'","'MINUTE'","'MOD'","'MODIFIES'","'MODIFY'","'MODULE'","'MODULES'","'MONDAY'","'MONTH'","'MORE'","'MULTISET'","'NATIONAL'","'NATURAL'","'NCHAR'","'NCLOB'","'NEW'","'NEXT'","'NO'","'NONE'","'NORMALIZE'","'NOT'","'NTH_VALUE'","'NTILE'","'NULL'","'NULLIF'","'NUMERIC'","'OCCURRENCES_REGEX'","'OCTET_LENGTH'","'OF'","'OFFSET'","'OLD'","'OMIT'","'ON'","'ONE'","'ONLY'","'OPEN'","'OR'","'ORDER'","'ORDINAL'","'OUT'","'OUTER'","'OVER'","'OVERLAPS'","'OVERLAY'","'OVERWRITE'","'OVERWRITING'","'PARAMETER'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PATTERN'","'PER'","'PERCENT'","'PERCENTILE_CONT'","'PERCENTILE_DISC'","'PERCENT_RANK'","'PERIOD'","'PERMUTE'","'PIVOT'","'PORTION'","'POSITION'","'POSITION_REGEX'","'POWER'","'PRECEDES'","'PRECISION'","'PREPARE'","'PREV'","'PRIMARY'","'PROCEDURE'","'QUALIFY'","'QUARTERS'","'RANGE'","'RANK'","'RAW'","'READS'","'REAL'","'RECURSIVE'","'REF'","'REFERENCES'","'REFERENCING'","'REGR_AVGX'","'REGR_AVGY'","'REGR_COUNT'","'REGR_INTERCEPT'","'REGR_R2'","'REGR_SLOPE'","'REGR_SXX'","'REGR_SXY'","'REGR_SYY'","'RELEASE'","'RENAME'","'RESET'","'RESULT'","'RETURN'","'RETURNS'","'REVOKE'","'RIGHT'","'RLIKE'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'ROW_NUMBER'","'RUNNING'","'SAFE_CAST'","'SAFE_OFFSET'","'SAFE_ORDINAL'","'SATURDAY'","'SAVEPOINT'","'SCALA'","'SCOPE'","'SCROLL'","'SEARCH'","'SECOND'","'SEEK'","'SELECT'","'SENSITIVE'","'SEPARATOR'","'SESSION_USER'","'SET'","'SHOW'","'SIMILAR'","'SKIP'","'SMALLINT'","'SOME'","'SPECIFIC'","'SPECIFICTYPE'","'SQL'","'SQLEXCEPTION'","'SQLSTATE'","'SQLWARNING'","'SQRT'","'START'","'STATEMENT'","'STATIC'","'STATISTICS'","'STDDEV_POP'","'STDDEV_SAMP'","'STREAM'","'STRING'","'STRING_AGG'","'SUBMULTISET'","'SUBSET'","'SUBSTRING'","'SUBSTRING_REGEX'","'SUCCEEDS'","'SUM'","'SUNDAY'","'SYMMETRIC'","'SYSTEM'","'SYSTEM_TIME'","'SYSTEM_USER'","'TABLE'","'TABLES'","'TABLESAMPLE'","'THEN'","'THURSDAY'","'TIME'","'TIMESTAMP'","'TIMESTAMP_DIFF'","'TIMESTAMP_LTZ'","'TIMESTAMP_TRUNC'","'TIMEZONE_HOUR'","'TIMEZONE_MINUTE'","'TIME_DIFF'","'TIME_TRUNC'","'TINYINT'","'TO'","'TRAILING'","'TRANSLATE'","'TRANSLATE_REGEX'","'TRANSLATION'","'TREAT'","'TRIGGER'","'TRIM'","'TRIM_ARRAY'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TUESDAY'","'UESCAPE'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNNEST'","'UNPIVOT'","'UPDATE'","'UPPER'","'UPSERT'","'USE'","'USER'","'USING'","'VALUE'","'VALUES'","'VALUE_OF'","'VARBINARY'","'VARCHAR'","'VARYING'","'VAR_POP'","'VAR_SAMP'","'VERSIONING'","'VIEWS'","'VIRTUAL'","'WATERMARK'","'WATERMARKS'","'WEDNESDAY'","'WEEKS'","'WHEN'","'WHENEVER'","'WHERE'","'WIDTH_BUCKET'","'WINDOW'","'WITH'","'WITHIN'","'WITHOUT'","'YEAR'","'ADD'","'AFTER'","'ASC'","'CASCADE'","'CATALOG'","'CENTURY'","'CONFIG'","'CONSTRAINTS'","'CUMULATE'","'DATA'","'DATABASE'","'DAYS'","'DECADE'","'DESC'","'DESCRIPTOR'","'DIV'","'ENGINE'","'EPOCH'","'EXCLUDING'","'FILE'","'FIRST'","'GENERATED'","'HOP'","'HOURS'","'IGNORE'","'INCLUDING'","'JAR'","'JARS'","'JAVA'","'KEY'","'LAST'","'LOAD'","'MAP'","'MICROSECOND'","'MILLENNIUM'","'MILLISECOND'","'MINUTES'","'MONTHS'","'NANOSECOND'","'NULLS'","'OPTIONS'","'PAST'","'PLAN'","'PRECEDING'","'PYTHON'","'PYTHON_ARCHIVES'","'PYTHON_DEPENDENCIES'","'PYTHON_FILES'","'PYTHON_JAR'","'PYTHON_PARAMETER'","'PYTHON_REQUIREMENTS'","'QUARTER'","'REMOVE'","'RESTRICT'","'SECONDS'","'SESSION'","'SETS'","'SIZE'","'SLIDE'","'STEP'","'TEMPORARY'","'TIMECOL'","'TUMBLE'","'UNLOAD'","'VIEW'","'WEEK'","'YEARS'","'ZONE'","'='","'>'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'['","']'","'('","')'","'{'","'}'","','","';'","'@'","'''",`'"'`,"'`'","':'","'*'","'_'","'-'","'+'","'%'","'||'","'--'","'/'","'?'","'=>'"],l.symbolicNames=[null,"SPACE","COMMENT_INPUT","LINE_COMMENT","KW_ABS","KW_ALL","KW_ALLOCATE","KW_ALLOW","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARE","KW_ARRAY","KW_ARRAY_AGG","KW_ARRAY_CONCAT_AGG","KW_ARRAY_MAX_CARDINALITY","KW_AS","KW_ASENSITIVE","KW_ASYMMETRIC","KW_AT","KW_ATOMIC","KW_AUTHORIZATION","KW_AVG","KW_BEGIN","KW_BEGIN_FRAME","KW_BEGIN_PARTITION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BIT","KW_BLOB","KW_BOOLEAN","KW_BOTH","KW_BY","KW_BYTES","KW_CALL","KW_CALLED","KW_CARDINALITY","KW_CASCADED","KW_CASE","KW_CAST","KW_CATALOGS","KW_CEIL","KW_CEILING","KW_CHANGELOG_MODE","KW_CHAR","KW_CHARACTER","KW_CHARACTER_LENGTH","KW_CHAR_LENGTH","KW_CHECK","KW_CLASSIFIER","KW_CLOB","KW_CLOSE","KW_COALESCE","KW_COLLATE","KW_COLLECT","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPUTE","KW_CONDITION","KW_CONNECT","KW_CONSTRAINT","KW_CONTAINS","KW_CONVERT","KW_CORR","KW_CORRESPONDING","KW_COUNT","KW_COVAR_POP","KW_COVAR_SAMP","KW_CREATE","KW_CROSS","KW_CUBE","KW_CUME_DIST","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_DEFAULT_TRANSFORM_GROUP","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_ROW","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE","KW_CURRENT_USER","KW_CURSOR","KW_CYCLE","KW_DATABASES","KW_DATE","KW_DATETIME","KW_DATETIME_DIFF","KW_DATETIME_TRUNC","KW_DATE_DIFF","KW_DATE_TRUNC","KW_DAY","KW_DAYOFWEEK","KW_DAYOFYEAR","KW_DEALLOCATE","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DELETE","KW_DENSE_RANK","KW_DEREF","KW_DESCRIBE","KW_DETERMINISTIC","KW_DISALLOW","KW_DISCONNECT","KW_DISTINCT","KW_DOT","KW_DOUBLE","KW_DROP","KW_DYNAMIC","KW_EACH","KW_ELEMENT","KW_ELSE","KW_EMPTY","KW_END","KW_END_FRAME","KW_END_PARTITION","KW_ENFORCED","KW_EQUALS","KW_ESCAPE","KW_ESTIMATED_COST","KW_EVERY","KW_EXCEPT","KW_EXEC","KW_EXECUTE","KW_EXISTS","KW_EXP","KW_EXPLAIN","KW_EXTEND","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FIRST_VALUE","KW_FLOAT","KW_FLOOR","KW_FOR","KW_FOREIGN","KW_FRAME_ROW","KW_FREE","KW_FRIDAY","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_FUSION","KW_GET","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_GROUP_CONCAT","KW_HAVING","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_ILIKE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDICATOR","KW_INITIAL","KW_INNER","KW_INOUT","KW_INSENSITIVE","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERSECTION","KW_INTERVAL","KW_INTO","KW_IS","KW_JOIN","KW_JSON_ARRAY","KW_JSON_ARRAYAGG","KW_JSON_EXECUTION_PLAN","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_OBJECTAGG","KW_JSON_QUERY","KW_JSON_VALUE","KW_LAG","KW_LANGUAGE","KW_LARGE","KW_LAST_VALUE","KW_LATERAL","KW_LEAD","KW_LEADING","KW_LEFT","KW_LIKE","KW_LIKE_REGEX","KW_LIMIT","KW_LN","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOWER","KW_MATCH","KW_MATCHES","KW_MATCH_NUMBER","KW_MATCH_RECOGNIZE","KW_MAX","KW_MEASURES","KW_MEMBER","KW_MERGE","KW_METADATA","KW_METHOD","KW_MIN","KW_MINUS","KW_MINUTE","KW_MOD","KW_MODIFIES","KW_MODIFY","KW_MODULE","KW_MODULES","KW_MONDAY","KW_MONTH","KW_MORE","KW_MULTISET","KW_NATIONAL","KW_NATURAL","KW_NCHAR","KW_NCLOB","KW_NEW","KW_NEXT","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NTH_VALUE","KW_NTILE","KW_NULL","KW_NULLIF","KW_NUMERIC","KW_OCCURRENCES_REGEX","KW_OCTET_LENGTH","KW_OF","KW_OFFSET","KW_OLD","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPEN","KW_OR","KW_ORDER","KW_ORDINAL","KW_OUT","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_OVERWRITING","KW_PARAMETER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATTERN","KW_PER","KW_PERCENT","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENT_RANK","KW_PERIOD","KW_PERMUTE","KW_PIVOT","KW_PORTION","KW_POSITION","KW_POSITION_REGEX","KW_POWER","KW_PRECEDES","KW_PRECISION","KW_PREPARE","KW_PREV","KW_PRIMARY","KW_PROCEDURE","KW_QUALIFY","KW_QUARTERS","KW_RANGE","KW_RANK","KW_RAW","KW_READS","KW_REAL","KW_RECURSIVE","KW_REF","KW_REFERENCES","KW_REFERENCING","KW_REGR_AVGX","KW_REGR_AVGY","KW_REGR_COUNT","KW_REGR_INTERCEPT","KW_REGR_R2","KW_REGR_SLOPE","KW_REGR_SXX","KW_REGR_SXY","KW_REGR_SYY","KW_RELEASE","KW_RENAME","KW_RESET","KW_RESULT","KW_RETURN","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_ROW_NUMBER","KW_RUNNING","KW_SAFE_CAST","KW_SAFE_OFFSET","KW_SAFE_ORDINAL","KW_SATURDAY","KW_SAVEPOINT","KW_SCALA","KW_SCOPE","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SEEK","KW_SELECT","KW_SENSITIVE","KW_SEPARATOR","KW_SESSION_USER","KW_SET","KW_SHOW","KW_SIMILAR","KW_SKIP","KW_SMALLINT","KW_SOME","KW_SPECIFIC","KW_SPECIFICTYPE","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQRT","KW_START","KW_STATEMENT","KW_STATIC","KW_STATISTICS","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_STREAM","KW_STRING","KW_STRING_AGG","KW_SUBMULTISET","KW_SUBSET","KW_SUBSTRING","KW_SUBSTRING_REGEX","KW_SUCCEEDS","KW_SUM","KW_SUNDAY","KW_SYMMETRIC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_USER","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_THEN","KW_THURSDAY","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMP_DIFF","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_TRUNC","KW_TIMEZONE_HOUR","KW_TIMEZONE_MINUTE","KW_TIME_DIFF","KW_TIME_TRUNC","KW_TINYINT","KW_TO","KW_TRAILING","KW_TRANSLATE","KW_TRANSLATE_REGEX","KW_TRANSLATION","KW_TREAT","KW_TRIGGER","KW_TRIM","KW_TRIM_ARRAY","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TUESDAY","KW_UESCAPE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNNEST","KW_UNPIVOT","KW_UPDATE","KW_UPPER","KW_UPSERT","KW_USE","KW_USER","KW_USING","KW_VALUE","KW_VALUES","KW_VALUE_OF","KW_VARBINARY","KW_VARCHAR","KW_VARYING","KW_VAR_POP","KW_VAR_SAMP","KW_VERSIONING","KW_VIEWS","KW_VIRTUAL","KW_WATERMARK","KW_WATERMARKS","KW_WEDNESDAY","KW_WEEKS","KW_WHEN","KW_WHENEVER","KW_WHERE","KW_WIDTH_BUCKET","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_YEAR","KW_ADD","KW_AFTER","KW_ASC","KW_CASCADE","KW_CATALOG","KW_CENTURY","KW_CONFIG","KW_CONSTRAINTS","KW_CUMULATE","KW_DATA","KW_DATABASE","KW_DAYS","KW_DECADE","KW_DESC","KW_DESCRIPTOR","KW_DIV","KW_ENGINE","KW_EPOCH","KW_EXCLUDING","KW_FILE","KW_FIRST","KW_GENERATED","KW_HOP","KW_HOURS","KW_IGNORE","KW_INCLUDING","KW_JAR","KW_JARS","KW_JAVA","KW_KEY","KW_LAST","KW_LOAD","KW_MAP","KW_MICROSECOND","KW_MILLENNIUM","KW_MILLISECOND","KW_MINUTES","KW_MONTHS","KW_NANOSECOND","KW_NULLS","KW_OPTIONS","KW_PAST","KW_PLAN","KW_PRECEDING","KW_PYTHON","KW_PYTHON_ARCHIVES","KW_PYTHON_DEPENDENCIES","KW_PYTHON_FILES","KW_PYTHON_JAR","KW_PYTHON_PARAMETER","KW_PYTHON_REQUIREMENTS","KW_QUARTER","KW_REMOVE","KW_RESTRICT","KW_SECONDS","KW_SESSION","KW_SETS","KW_SIZE","KW_SLIDE","KW_STEP","KW_TEMPORARY","KW_TIMECOL","KW_TUMBLE","KW_UNLOAD","KW_VIEW","KW_WEEK","KW_YEARS","KW_ZONE","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LS_BRACKET","RS_BRACKET","LR_BRACKET","RR_BRACKET","LB_BRACKET","RB_BRACKET","COMMA","SEMICOLON","AT_SIGN","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","ASTERISK_SIGN","UNDERLINE_SIGN","HYPNEN_SIGN","ADD_SIGN","PENCENT_SIGN","DOUBLE_VERTICAL_SIGN","DOUBLE_HYPNEN_SIGN","SLASH_SIGN","QUESTION_MARK_SIGN","DOUBLE_RIGHT_ARROW","STRING_LITERAL","DIG_LITERAL","REAL_LITERAL","BIT_STRING","ID_LITERAL"],l.modeNames=["DEFAULT_MODE"],l.ruleNames=["SPACE","COMMENT_INPUT","LINE_COMMENT","KW_ABS","KW_ALL","KW_ALLOCATE","KW_ALLOW","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARE","KW_ARRAY","KW_ARRAY_AGG","KW_ARRAY_CONCAT_AGG","KW_ARRAY_MAX_CARDINALITY","KW_AS","KW_ASENSITIVE","KW_ASYMMETRIC","KW_AT","KW_ATOMIC","KW_AUTHORIZATION","KW_AVG","KW_BEGIN","KW_BEGIN_FRAME","KW_BEGIN_PARTITION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BIT","KW_BLOB","KW_BOOLEAN","KW_BOTH","KW_BY","KW_BYTES","KW_CALL","KW_CALLED","KW_CARDINALITY","KW_CASCADED","KW_CASE","KW_CAST","KW_CATALOGS","KW_CEIL","KW_CEILING","KW_CHANGELOG_MODE","KW_CHAR","KW_CHARACTER","KW_CHARACTER_LENGTH","KW_CHAR_LENGTH","KW_CHECK","KW_CLASSIFIER","KW_CLOB","KW_CLOSE","KW_COALESCE","KW_COLLATE","KW_COLLECT","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPUTE","KW_CONDITION","KW_CONNECT","KW_CONSTRAINT","KW_CONTAINS","KW_CONVERT","KW_CORR","KW_CORRESPONDING","KW_COUNT","KW_COVAR_POP","KW_COVAR_SAMP","KW_CREATE","KW_CROSS","KW_CUBE","KW_CUME_DIST","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_DEFAULT_TRANSFORM_GROUP","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_ROW","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE","KW_CURRENT_USER","KW_CURSOR","KW_CYCLE","KW_DATABASES","KW_DATE","KW_DATETIME","KW_DATETIME_DIFF","KW_DATETIME_TRUNC","KW_DATE_DIFF","KW_DATE_TRUNC","KW_DAY","KW_DAYOFWEEK","KW_DAYOFYEAR","KW_DEALLOCATE","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DELETE","KW_DENSE_RANK","KW_DEREF","KW_DESCRIBE","KW_DETERMINISTIC","KW_DISALLOW","KW_DISCONNECT","KW_DISTINCT","KW_DOT","KW_DOUBLE","KW_DROP","KW_DYNAMIC","KW_EACH","KW_ELEMENT","KW_ELSE","KW_EMPTY","KW_END","KW_END_FRAME","KW_END_PARTITION","KW_ENFORCED","KW_EQUALS","KW_ESCAPE","KW_ESTIMATED_COST","KW_EVERY","KW_EXCEPT","KW_EXEC","KW_EXECUTE","KW_EXISTS","KW_EXP","KW_EXPLAIN","KW_EXTEND","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FIRST_VALUE","KW_FLOAT","KW_FLOOR","KW_FOR","KW_FOREIGN","KW_FRAME_ROW","KW_FREE","KW_FRIDAY","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_FUSION","KW_GET","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_GROUP_CONCAT","KW_HAVING","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_ILIKE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDICATOR","KW_INITIAL","KW_INNER","KW_INOUT","KW_INSENSITIVE","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERSECTION","KW_INTERVAL","KW_INTO","KW_IS","KW_JOIN","KW_JSON_ARRAY","KW_JSON_ARRAYAGG","KW_JSON_EXECUTION_PLAN","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_OBJECTAGG","KW_JSON_QUERY","KW_JSON_VALUE","KW_LAG","KW_LANGUAGE","KW_LARGE","KW_LAST_VALUE","KW_LATERAL","KW_LEAD","KW_LEADING","KW_LEFT","KW_LIKE","KW_LIKE_REGEX","KW_LIMIT","KW_LN","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOWER","KW_MATCH","KW_MATCHES","KW_MATCH_NUMBER","KW_MATCH_RECOGNIZE","KW_MAX","KW_MEASURES","KW_MEMBER","KW_MERGE","KW_METADATA","KW_METHOD","KW_MIN","KW_MINUS","KW_MINUTE","KW_MOD","KW_MODIFIES","KW_MODIFY","KW_MODULE","KW_MODULES","KW_MONDAY","KW_MONTH","KW_MORE","KW_MULTISET","KW_NATIONAL","KW_NATURAL","KW_NCHAR","KW_NCLOB","KW_NEW","KW_NEXT","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NTH_VALUE","KW_NTILE","KW_NULL","KW_NULLIF","KW_NUMERIC","KW_OCCURRENCES_REGEX","KW_OCTET_LENGTH","KW_OF","KW_OFFSET","KW_OLD","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPEN","KW_OR","KW_ORDER","KW_ORDINAL","KW_OUT","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_OVERWRITING","KW_PARAMETER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATTERN","KW_PER","KW_PERCENT","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENT_RANK","KW_PERIOD","KW_PERMUTE","KW_PIVOT","KW_PORTION","KW_POSITION","KW_POSITION_REGEX","KW_POWER","KW_PRECEDES","KW_PRECISION","KW_PREPARE","KW_PREV","KW_PRIMARY","KW_PROCEDURE","KW_QUALIFY","KW_QUARTERS","KW_RANGE","KW_RANK","KW_RAW","KW_READS","KW_REAL","KW_RECURSIVE","KW_REF","KW_REFERENCES","KW_REFERENCING","KW_REGR_AVGX","KW_REGR_AVGY","KW_REGR_COUNT","KW_REGR_INTERCEPT","KW_REGR_R2","KW_REGR_SLOPE","KW_REGR_SXX","KW_REGR_SXY","KW_REGR_SYY","KW_RELEASE","KW_RENAME","KW_RESET","KW_RESULT","KW_RETURN","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_ROW_NUMBER","KW_RUNNING","KW_SAFE_CAST","KW_SAFE_OFFSET","KW_SAFE_ORDINAL","KW_SATURDAY","KW_SAVEPOINT","KW_SCALA","KW_SCOPE","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SEEK","KW_SELECT","KW_SENSITIVE","KW_SEPARATOR","KW_SESSION_USER","KW_SET","KW_SHOW","KW_SIMILAR","KW_SKIP","KW_SMALLINT","KW_SOME","KW_SPECIFIC","KW_SPECIFICTYPE","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQRT","KW_START","KW_STATEMENT","KW_STATIC","KW_STATISTICS","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_STREAM","KW_STRING","KW_STRING_AGG","KW_SUBMULTISET","KW_SUBSET","KW_SUBSTRING","KW_SUBSTRING_REGEX","KW_SUCCEEDS","KW_SUM","KW_SUNDAY","KW_SYMMETRIC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_USER","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_THEN","KW_THURSDAY","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMP_DIFF","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_TRUNC","KW_TIMEZONE_HOUR","KW_TIMEZONE_MINUTE","KW_TIME_DIFF","KW_TIME_TRUNC","KW_TINYINT","KW_TO","KW_TRAILING","KW_TRANSLATE","KW_TRANSLATE_REGEX","KW_TRANSLATION","KW_TREAT","KW_TRIGGER","KW_TRIM","KW_TRIM_ARRAY","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TUESDAY","KW_UESCAPE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNNEST","KW_UNPIVOT","KW_UPDATE","KW_UPPER","KW_UPSERT","KW_USE","KW_USER","KW_USING","KW_VALUE","KW_VALUES","KW_VALUE_OF","KW_VARBINARY","KW_VARCHAR","KW_VARYING","KW_VAR_POP","KW_VAR_SAMP","KW_VERSIONING","KW_VIEWS","KW_VIRTUAL","KW_WATERMARK","KW_WATERMARKS","KW_WEDNESDAY","KW_WEEKS","KW_WHEN","KW_WHENEVER","KW_WHERE","KW_WIDTH_BUCKET","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_YEAR","KW_ADD","KW_AFTER","KW_ASC","KW_CASCADE","KW_CATALOG","KW_CENTURY","KW_CONFIG","KW_CONSTRAINTS","KW_CUMULATE","KW_DATA","KW_DATABASE","KW_DAYS","KW_DECADE","KW_DESC","KW_DESCRIPTOR","KW_DIV","KW_ENGINE","KW_EPOCH","KW_EXCLUDING","KW_FILE","KW_FIRST","KW_GENERATED","KW_HOP","KW_HOURS","KW_IGNORE","KW_INCLUDING","KW_JAR","KW_JARS","KW_JAVA","KW_KEY","KW_LAST","KW_LOAD","KW_MAP","KW_MICROSECOND","KW_MILLENNIUM","KW_MILLISECOND","KW_MINUTES","KW_MONTHS","KW_NANOSECOND","KW_NULLS","KW_OPTIONS","KW_PAST","KW_PLAN","KW_PRECEDING","KW_PYTHON","KW_PYTHON_ARCHIVES","KW_PYTHON_DEPENDENCIES","KW_PYTHON_FILES","KW_PYTHON_JAR","KW_PYTHON_PARAMETER","KW_PYTHON_REQUIREMENTS","KW_QUARTER","KW_REMOVE","KW_RESTRICT","KW_SECONDS","KW_SESSION","KW_SETS","KW_SIZE","KW_SLIDE","KW_STEP","KW_TEMPORARY","KW_TIMECOL","KW_TUMBLE","KW_UNLOAD","KW_VIEW","KW_WEEK","KW_YEARS","KW_ZONE","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LS_BRACKET","RS_BRACKET","LR_BRACKET","RR_BRACKET","LB_BRACKET","RB_BRACKET","COMMA","SEMICOLON","AT_SIGN","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","ASTERISK_SIGN","UNDERLINE_SIGN","HYPNEN_SIGN","ADD_SIGN","PENCENT_SIGN","DOUBLE_VERTICAL_SIGN","DOUBLE_HYPNEN_SIGN","SLASH_SIGN","QUESTION_MARK_SIGN","DOUBLE_RIGHT_ARROW","STRING_LITERAL","DIG_LITERAL","REAL_LITERAL","BIT_STRING","ID_LITERAL","JAR_FILE_PARTTARN","EXPONENT_NUM_PART","ID_LITERAL_FRAG","DEC_DIGIT","DEC_LETTER","DQUOTA_STRING","SQUOTA_STRING","BIT_STRING_L","BQUOTA_STRING"],l._serializedATN=[4,0,541,5503,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,1,0,4,0,1103,8,0,11,0,12,0,1104,1,0,1,0,1,1,1,1,1,1,1,1,5,1,1113,8,1,10,1,12,1,1116,9,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,3,2,1126,8,2,1,2,5,2,1129,8,2,10,2,12,2,1132,9,2,1,2,3,2,1135,8,2,1,2,1,2,3,2,1139,8,2,1,2,1,2,1,2,1,2,3,2,1145,8,2,1,2,1,2,3,2,1149,8,2,3,2,1151,8,2,1,2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,505,1,505,1,506,1,506,1,507,1,507,1,508,1,508,1,509,1,509,1,510,1,510,1,511,1,511,1,512,1,512,1,513,1,513,1,514,1,514,1,515,1,515,1,516,1,516,1,517,1,517,1,518,1,518,1,519,1,519,1,520,1,520,1,521,1,521,1,522,1,522,1,523,1,523,1,524,1,524,1,525,1,525,1,526,1,526,1,527,1,527,1,528,1,528,1,529,1,529,1,530,1,530,1,531,1,531,1,531,1,532,1,532,1,532,1,533,1,533,1,534,1,534,1,535,1,535,1,535,1,536,1,536,1,536,3,536,5357,8,536,1,537,4,537,5360,8,537,11,537,12,537,5361,1,538,4,538,5365,8,538,11,538,12,538,5366,3,538,5369,8,538,1,538,1,538,4,538,5373,8,538,11,538,12,538,5374,1,538,4,538,5378,8,538,11,538,12,538,5379,1,538,1,538,1,538,1,538,4,538,5386,8,538,11,538,12,538,5387,3,538,5390,8,538,1,538,1,538,4,538,5394,8,538,11,538,12,538,5395,1,538,1,538,1,538,4,538,5401,8,538,11,538,12,538,5402,1,538,1,538,3,538,5407,8,538,1,539,1,539,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,541,5,541,5419,8,541,10,541,12,541,5422,9,541,1,541,1,541,1,542,1,542,3,542,5428,8,542,1,542,4,542,5431,8,542,11,542,12,542,5432,1,543,5,543,5436,8,543,10,543,12,543,5439,9,543,1,543,4,543,5442,8,543,11,543,12,543,5443,1,543,5,543,5447,8,543,10,543,12,543,5450,9,543,1,544,1,544,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,5,546,5462,8,546,10,546,12,546,5465,9,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,5,547,5475,8,547,10,547,12,547,5478,9,547,1,547,1,547,1,548,1,548,1,548,4,548,5485,8,548,11,548,12,548,5486,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,549,5,549,5497,8,549,10,549,12,549,5500,9,549,1,549,1,549,3,1114,5437,5443,0,550,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,433,867,434,869,435,871,436,873,437,875,438,877,439,879,440,881,441,883,442,885,443,887,444,889,445,891,446,893,447,895,448,897,449,899,450,901,451,903,452,905,453,907,454,909,455,911,456,913,457,915,458,917,459,919,460,921,461,923,462,925,463,927,464,929,465,931,466,933,467,935,468,937,469,939,470,941,471,943,472,945,473,947,474,949,475,951,476,953,477,955,478,957,479,959,480,961,481,963,482,965,483,967,484,969,485,971,486,973,487,975,488,977,489,979,490,981,491,983,492,985,493,987,494,989,495,991,496,993,497,995,498,997,499,999,500,1001,501,1003,502,1005,503,1007,504,1009,505,1011,506,1013,507,1015,508,1017,509,1019,510,1021,511,1023,512,1025,513,1027,514,1029,515,1031,516,1033,517,1035,518,1037,519,1039,520,1041,521,1043,522,1045,523,1047,524,1049,525,1051,526,1053,527,1055,528,1057,529,1059,530,1061,531,1063,532,1065,533,1067,534,1069,535,1071,536,1073,537,1075,538,1077,539,1079,540,1081,541,1083,0,1085,0,1087,0,1089,0,1091,0,1093,0,1095,0,1097,0,1099,0,1,0,37,3,0,9,10,13,13,32,32,2,0,10,10,13,13,2,0,65,65,97,97,2,0,66,66,98,98,2,0,83,83,115,115,2,0,76,76,108,108,2,0,79,79,111,111,2,0,67,67,99,99,2,0,84,84,116,116,2,0,69,69,101,101,2,0,87,87,119,119,2,0,82,82,114,114,2,0,78,78,110,110,2,0,89,89,121,121,2,0,90,90,122,122,2,0,68,68,100,100,2,0,71,71,103,103,2,0,77,77,109,109,2,0,88,88,120,120,2,0,73,73,105,105,2,0,86,86,118,118,2,0,85,85,117,117,2,0,72,72,104,104,2,0,70,70,102,102,2,0,80,80,112,112,2,0,75,75,107,107,2,0,81,81,113,113,2,0,74,74,106,106,2,0,92,92,96,96,2,0,43,43,45,45,4,0,48,57,65,90,95,95,97,122,3,0,65,90,95,95,97,122,1,0,48,57,2,0,65,90,97,122,2,0,34,34,92,92,2,0,39,39,92,92,1,0,48,49,5534,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,1,1102,1,0,0,0,3,1108,1,0,0,0,5,1150,1,0,0,0,7,1154,1,0,0,0,9,1158,1,0,0,0,11,1162,1,0,0,0,13,1171,1,0,0,0,15,1177,1,0,0,0,17,1183,1,0,0,0,19,1191,1,0,0,0,21,1195,1,0,0,0,23,1199,1,0,0,0,25,1203,1,0,0,0,27,1209,1,0,0,0,29,1219,1,0,0,0,31,1236,1,0,0,0,33,1258,1,0,0,0,35,1261,1,0,0,0,37,1272,1,0,0,0,39,1283,1,0,0,0,41,1286,1,0,0,0,43,1293,1,0,0,0,45,1307,1,0,0,0,47,1311,1,0,0,0,49,1317,1,0,0,0,51,1329,1,0,0,0,53,1345,1,0,0,0,55,1353,1,0,0,0,57,1360,1,0,0,0,59,1367,1,0,0,0,61,1371,1,0,0,0,63,1376,1,0,0,0,65,1384,1,0,0,0,67,1389,1,0,0,0,69,1392,1,0,0,0,71,1398,1,0,0,0,73,1403,1,0,0,0,75,1410,1,0,0,0,77,1422,1,0,0,0,79,1431,1,0,0,0,81,1436,1,0,0,0,83,1441,1,0,0,0,85,1450,1,0,0,0,87,1455,1,0,0,0,89,1463,1,0,0,0,91,1478,1,0,0,0,93,1483,1,0,0,0,95,1493,1,0,0,0,97,1510,1,0,0,0,99,1522,1,0,0,0,101,1528,1,0,0,0,103,1539,1,0,0,0,105,1544,1,0,0,0,107,1550,1,0,0,0,109,1559,1,0,0,0,111,1567,1,0,0,0,113,1575,1,0,0,0,115,1582,1,0,0,0,117,1590,1,0,0,0,119,1598,1,0,0,0,121,1605,1,0,0,0,123,1613,1,0,0,0,125,1623,1,0,0,0,127,1631,1,0,0,0,129,1642,1,0,0,0,131,1651,1,0,0,0,133,1659,1,0,0,0,135,1664,1,0,0,0,137,1678,1,0,0,0,139,1684,1,0,0,0,141,1694,1,0,0,0,143,1705,1,0,0,0,145,1712,1,0,0,0,147,1718,1,0,0,0,149,1723,1,0,0,0,151,1733,1,0,0,0,153,1741,1,0,0,0,155,1757,1,0,0,0,157,1770,1,0,0,0,159,1802,1,0,0,0,161,1815,1,0,0,0,163,1828,1,0,0,0,165,1840,1,0,0,0,167,1855,1,0,0,0,169,1868,1,0,0,0,171,1886,1,0,0,0,173,1919,1,0,0,0,175,1932,1,0,0,0,177,1939,1,0,0,0,179,1945,1,0,0,0,181,1955,1,0,0,0,183,1960,1,0,0,0,185,1969,1,0,0,0,187,1983,1,0,0,0,189,1998,1,0,0,0,191,2008,1,0,0,0,193,2019,1,0,0,0,195,2023,1,0,0,0,197,2033,1,0,0,0,199,2043,1,0,0,0,201,2054,1,0,0,0,203,2058,1,0,0,0,205,2066,1,0,0,0,207,2074,1,0,0,0,209,2082,1,0,0,0,211,2089,1,0,0,0,213,2096,1,0,0,0,215,2107,1,0,0,0,217,2113,1,0,0,0,219,2122,1,0,0,0,221,2136,1,0,0,0,223,2145,1,0,0,0,225,2156,1,0,0,0,227,2165,1,0,0,0,229,2169,1,0,0,0,231,2176,1,0,0,0,233,2181,1,0,0,0,235,2189,1,0,0,0,237,2194,1,0,0,0,239,2202,1,0,0,0,241,2207,1,0,0,0,243,2213,1,0,0,0,245,2217,1,0,0,0,247,2227,1,0,0,0,249,2241,1,0,0,0,251,2250,1,0,0,0,253,2257,1,0,0,0,255,2264,1,0,0,0,257,2279,1,0,0,0,259,2285,1,0,0,0,261,2292,1,0,0,0,263,2297,1,0,0,0,265,2305,1,0,0,0,267,2312,1,0,0,0,269,2316,1,0,0,0,271,2324,1,0,0,0,273,2331,1,0,0,0,275,2340,1,0,0,0,277,2349,1,0,0,0,279,2357,1,0,0,0,281,2363,1,0,0,0,283,2369,1,0,0,0,285,2376,1,0,0,0,287,2388,1,0,0,0,289,2394,1,0,0,0,291,2400,1,0,0,0,293,2404,1,0,0,0,295,2412,1,0,0,0,297,2422,1,0,0,0,299,2427,1,0,0,0,301,2434,1,0,0,0,303,2439,1,0,0,0,305,2444,1,0,0,0,307,2453,1,0,0,0,309,2463,1,0,0,0,311,2470,1,0,0,0,313,2474,1,0,0,0,315,2481,1,0,0,0,317,2487,1,0,0,0,319,2493,1,0,0,0,321,2502,1,0,0,0,323,2509,1,0,0,0,325,2522,1,0,0,0,327,2529,1,0,0,0,329,2534,1,0,0,0,331,2539,1,0,0,0,333,2548,1,0,0,0,335,2551,1,0,0,0,337,2557,1,0,0,0,339,2564,1,0,0,0,341,2567,1,0,0,0,343,2575,1,0,0,0,345,2585,1,0,0,0,347,2593,1,0,0,0,349,2599,1,0,0,0,351,2605,1,0,0,0,353,2617,1,0,0,0,355,2624,1,0,0,0,357,2628,1,0,0,0,359,2636,1,0,0,0,361,2646,1,0,0,0,363,2659,1,0,0,0,365,2668,1,0,0,0,367,2673,1,0,0,0,369,2676,1,0,0,0,371,2681,1,0,0,0,373,2692,1,0,0,0,375,2706,1,0,0,0,377,2726,1,0,0,0,379,2738,1,0,0,0,381,2750,1,0,0,0,383,2765,1,0,0,0,385,2776,1,0,0,0,387,2787,1,0,0,0,389,2791,1,0,0,0,391,2800,1,0,0,0,393,2806,1,0,0,0,395,2817,1,0,0,0,397,2825,1,0,0,0,399,2830,1,0,0,0,401,2838,1,0,0,0,403,2843,1,0,0,0,405,2848,1,0,0,0,407,2859,1,0,0,0,409,2865,1,0,0,0,411,2868,1,0,0,0,413,2874,1,0,0,0,415,2884,1,0,0,0,417,2899,1,0,0,0,419,2905,1,0,0,0,421,2911,1,0,0,0,423,2919,1,0,0,0,425,2932,1,0,0,0,427,2948,1,0,0,0,429,2952,1,0,0,0,431,2961,1,0,0,0,433,2968,1,0,0,0,435,2974,1,0,0,0,437,2983,1,0,0,0,439,2990,1,0,0,0,441,2994,1,0,0,0,443,3e3,1,0,0,0,445,3007,1,0,0,0,447,3011,1,0,0,0,449,3020,1,0,0,0,451,3027,1,0,0,0,453,3034,1,0,0,0,455,3042,1,0,0,0,457,3049,1,0,0,0,459,3055,1,0,0,0,461,3060,1,0,0,0,463,3069,1,0,0,0,465,3078,1,0,0,0,467,3086,1,0,0,0,469,3092,1,0,0,0,471,3098,1,0,0,0,473,3102,1,0,0,0,475,3107,1,0,0,0,477,3110,1,0,0,0,479,3115,1,0,0,0,481,3125,1,0,0,0,483,3129,1,0,0,0,485,3139,1,0,0,0,487,3145,1,0,0,0,489,3150,1,0,0,0,491,3157,1,0,0,0,493,3165,1,0,0,0,495,3183,1,0,0,0,497,3196,1,0,0,0,499,3199,1,0,0,0,501,3206,1,0,0,0,503,3210,1,0,0,0,505,3215,1,0,0,0,507,3218,1,0,0,0,509,3222,1,0,0,0,511,3227,1,0,0,0,513,3232,1,0,0,0,515,3235,1,0,0,0,517,3241,1,0,0,0,519,3249,1,0,0,0,521,3253,1,0,0,0,523,3259,1,0,0,0,525,3264,1,0,0,0,527,3273,1,0,0,0,529,3281,1,0,0,0,531,3291,1,0,0,0,533,3303,1,0,0,0,535,3313,1,0,0,0,537,3323,1,0,0,0,539,3335,1,0,0,0,541,3346,1,0,0,0,543,3354,1,0,0,0,545,3358,1,0,0,0,547,3366,1,0,0,0,549,3382,1,0,0,0,551,3398,1,0,0,0,553,3411,1,0,0,0,555,3418,1,0,0,0,557,3426,1,0,0,0,559,3432,1,0,0,0,561,3440,1,0,0,0,563,3449,1,0,0,0,565,3464,1,0,0,0,567,3470,1,0,0,0,569,3479,1,0,0,0,571,3489,1,0,0,0,573,3497,1,0,0,0,575,3502,1,0,0,0,577,3510,1,0,0,0,579,3520,1,0,0,0,581,3528,1,0,0,0,583,3537,1,0,0,0,585,3543,1,0,0,0,587,3548,1,0,0,0,589,3552,1,0,0,0,591,3558,1,0,0,0,593,3563,1,0,0,0,595,3573,1,0,0,0,597,3577,1,0,0,0,599,3588,1,0,0,0,601,3600,1,0,0,0,603,3610,1,0,0,0,605,3620,1,0,0,0,607,3631,1,0,0,0,609,3646,1,0,0,0,611,3654,1,0,0,0,613,3665,1,0,0,0,615,3674,1,0,0,0,617,3683,1,0,0,0,619,3692,1,0,0,0,621,3700,1,0,0,0,623,3707,1,0,0,0,625,3713,1,0,0,0,627,3720,1,0,0,0,629,3727,1,0,0,0,631,3735,1,0,0,0,633,3742,1,0,0,0,635,3748,1,0,0,0,637,3754,1,0,0,0,639,3763,1,0,0,0,641,3770,1,0,0,0,643,3774,1,0,0,0,645,3779,1,0,0,0,647,3790,1,0,0,0,649,3798,1,0,0,0,651,3808,1,0,0,0,653,3820,1,0,0,0,655,3833,1,0,0,0,657,3842,1,0,0,0,659,3852,1,0,0,0,661,3858,1,0,0,0,663,3864,1,0,0,0,665,3871,1,0,0,0,667,3878,1,0,0,0,669,3885,1,0,0,0,671,3890,1,0,0,0,673,3897,1,0,0,0,675,3907,1,0,0,0,677,3917,1,0,0,0,679,3930,1,0,0,0,681,3934,1,0,0,0,683,3939,1,0,0,0,685,3947,1,0,0,0,687,3952,1,0,0,0,689,3961,1,0,0,0,691,3966,1,0,0,0,693,3975,1,0,0,0,695,3988,1,0,0,0,697,3992,1,0,0,0,699,4005,1,0,0,0,701,4014,1,0,0,0,703,4025,1,0,0,0,705,4030,1,0,0,0,707,4036,1,0,0,0,709,4046,1,0,0,0,711,4053,1,0,0,0,713,4064,1,0,0,0,715,4075,1,0,0,0,717,4087,1,0,0,0,719,4094,1,0,0,0,721,4101,1,0,0,0,723,4112,1,0,0,0,725,4124,1,0,0,0,727,4131,1,0,0,0,729,4141,1,0,0,0,731,4157,1,0,0,0,733,4166,1,0,0,0,735,4170,1,0,0,0,737,4177,1,0,0,0,739,4187,1,0,0,0,741,4194,1,0,0,0,743,4206,1,0,0,0,745,4218,1,0,0,0,747,4224,1,0,0,0,749,4231,1,0,0,0,751,4243,1,0,0,0,753,4248,1,0,0,0,755,4257,1,0,0,0,757,4262,1,0,0,0,759,4272,1,0,0,0,761,4287,1,0,0,0,763,4301,1,0,0,0,765,4317,1,0,0,0,767,4331,1,0,0,0,769,4347,1,0,0,0,771,4357,1,0,0,0,773,4368,1,0,0,0,775,4376,1,0,0,0,777,4379,1,0,0,0,779,4388,1,0,0,0,781,4398,1,0,0,0,783,4414,1,0,0,0,785,4426,1,0,0,0,787,4432,1,0,0,0,789,4440,1,0,0,0,791,4445,1,0,0,0,793,4456,1,0,0,0,795,4461,1,0,0,0,797,4470,1,0,0,0,799,4479,1,0,0,0,801,4487,1,0,0,0,803,4495,1,0,0,0,805,4501,1,0,0,0,807,4508,1,0,0,0,809,4516,1,0,0,0,811,4523,1,0,0,0,813,4531,1,0,0,0,815,4538,1,0,0,0,817,4544,1,0,0,0,819,4551,1,0,0,0,821,4555,1,0,0,0,823,4560,1,0,0,0,825,4566,1,0,0,0,827,4572,1,0,0,0,829,4579,1,0,0,0,831,4588,1,0,0,0,833,4598,1,0,0,0,835,4606,1,0,0,0,837,4614,1,0,0,0,839,4622,1,0,0,0,841,4631,1,0,0,0,843,4642,1,0,0,0,845,4648,1,0,0,0,847,4656,1,0,0,0,849,4666,1,0,0,0,851,4677,1,0,0,0,853,4687,1,0,0,0,855,4693,1,0,0,0,857,4698,1,0,0,0,859,4707,1,0,0,0,861,4713,1,0,0,0,863,4726,1,0,0,0,865,4733,1,0,0,0,867,4738,1,0,0,0,869,4745,1,0,0,0,871,4753,1,0,0,0,873,4758,1,0,0,0,875,4762,1,0,0,0,877,4768,1,0,0,0,879,4772,1,0,0,0,881,4780,1,0,0,0,883,4788,1,0,0,0,885,4796,1,0,0,0,887,4803,1,0,0,0,889,4815,1,0,0,0,891,4824,1,0,0,0,893,4829,1,0,0,0,895,4838,1,0,0,0,897,4843,1,0,0,0,899,4850,1,0,0,0,901,4855,1,0,0,0,903,4866,1,0,0,0,905,4870,1,0,0,0,907,4877,1,0,0,0,909,4883,1,0,0,0,911,4893,1,0,0,0,913,4898,1,0,0,0,915,4904,1,0,0,0,917,4914,1,0,0,0,919,4918,1,0,0,0,921,4924,1,0,0,0,923,4931,1,0,0,0,925,4941,1,0,0,0,927,4945,1,0,0,0,929,4950,1,0,0,0,931,4955,1,0,0,0,933,4959,1,0,0,0,935,4964,1,0,0,0,937,4969,1,0,0,0,939,4973,1,0,0,0,941,4985,1,0,0,0,943,4996,1,0,0,0,945,5008,1,0,0,0,947,5016,1,0,0,0,949,5023,1,0,0,0,951,5034,1,0,0,0,953,5040,1,0,0,0,955,5048,1,0,0,0,957,5053,1,0,0,0,959,5058,1,0,0,0,961,5068,1,0,0,0,963,5075,1,0,0,0,965,5091,1,0,0,0,967,5111,1,0,0,0,969,5124,1,0,0,0,971,5135,1,0,0,0,973,5152,1,0,0,0,975,5172,1,0,0,0,977,5180,1,0,0,0,979,5187,1,0,0,0,981,5196,1,0,0,0,983,5204,1,0,0,0,985,5212,1,0,0,0,987,5217,1,0,0,0,989,5222,1,0,0,0,991,5228,1,0,0,0,993,5233,1,0,0,0,995,5243,1,0,0,0,997,5251,1,0,0,0,999,5258,1,0,0,0,1001,5265,1,0,0,0,1003,5270,1,0,0,0,1005,5275,1,0,0,0,1007,5281,1,0,0,0,1009,5286,1,0,0,0,1011,5288,1,0,0,0,1013,5290,1,0,0,0,1015,5292,1,0,0,0,1017,5294,1,0,0,0,1019,5296,1,0,0,0,1021,5298,1,0,0,0,1023,5300,1,0,0,0,1025,5302,1,0,0,0,1027,5304,1,0,0,0,1029,5306,1,0,0,0,1031,5308,1,0,0,0,1033,5310,1,0,0,0,1035,5312,1,0,0,0,1037,5314,1,0,0,0,1039,5316,1,0,0,0,1041,5318,1,0,0,0,1043,5320,1,0,0,0,1045,5322,1,0,0,0,1047,5324,1,0,0,0,1049,5326,1,0,0,0,1051,5328,1,0,0,0,1053,5330,1,0,0,0,1055,5332,1,0,0,0,1057,5334,1,0,0,0,1059,5336,1,0,0,0,1061,5338,1,0,0,0,1063,5340,1,0,0,0,1065,5343,1,0,0,0,1067,5346,1,0,0,0,1069,5348,1,0,0,0,1071,5350,1,0,0,0,1073,5356,1,0,0,0,1075,5359,1,0,0,0,1077,5406,1,0,0,0,1079,5408,1,0,0,0,1081,5410,1,0,0,0,1083,5412,1,0,0,0,1085,5425,1,0,0,0,1087,5437,1,0,0,0,1089,5451,1,0,0,0,1091,5453,1,0,0,0,1093,5455,1,0,0,0,1095,5468,1,0,0,0,1097,5481,1,0,0,0,1099,5490,1,0,0,0,1101,1103,7,0,0,0,1102,1101,1,0,0,0,1103,1104,1,0,0,0,1104,1102,1,0,0,0,1104,1105,1,0,0,0,1105,1106,1,0,0,0,1106,1107,6,0,0,0,1107,2,1,0,0,0,1108,1109,5,47,0,0,1109,1110,5,42,0,0,1110,1114,1,0,0,0,1111,1113,9,0,0,0,1112,1111,1,0,0,0,1113,1116,1,0,0,0,1114,1115,1,0,0,0,1114,1112,1,0,0,0,1115,1117,1,0,0,0,1116,1114,1,0,0,0,1117,1118,5,42,0,0,1118,1119,5,47,0,0,1119,1120,1,0,0,0,1120,1121,6,1,0,0,1121,4,1,0,0,0,1122,1123,5,45,0,0,1123,1126,5,45,0,0,1124,1126,5,35,0,0,1125,1122,1,0,0,0,1125,1124,1,0,0,0,1126,1130,1,0,0,0,1127,1129,8,1,0,0,1128,1127,1,0,0,0,1129,1132,1,0,0,0,1130,1128,1,0,0,0,1130,1131,1,0,0,0,1131,1138,1,0,0,0,1132,1130,1,0,0,0,1133,1135,5,13,0,0,1134,1133,1,0,0,0,1134,1135,1,0,0,0,1135,1136,1,0,0,0,1136,1139,5,10,0,0,1137,1139,5,0,0,1,1138,1134,1,0,0,0,1138,1137,1,0,0,0,1139,1151,1,0,0,0,1140,1141,5,45,0,0,1141,1142,5,45,0,0,1142,1148,1,0,0,0,1143,1145,5,13,0,0,1144,1143,1,0,0,0,1144,1145,1,0,0,0,1145,1146,1,0,0,0,1146,1149,5,10,0,0,1147,1149,5,0,0,1,1148,1144,1,0,0,0,1148,1147,1,0,0,0,1149,1151,1,0,0,0,1150,1125,1,0,0,0,1150,1140,1,0,0,0,1151,1152,1,0,0,0,1152,1153,6,2,0,0,1153,6,1,0,0,0,1154,1155,7,2,0,0,1155,1156,7,3,0,0,1156,1157,7,4,0,0,1157,8,1,0,0,0,1158,1159,7,2,0,0,1159,1160,7,5,0,0,1160,1161,7,5,0,0,1161,10,1,0,0,0,1162,1163,7,2,0,0,1163,1164,7,5,0,0,1164,1165,7,5,0,0,1165,1166,7,6,0,0,1166,1167,7,7,0,0,1167,1168,7,2,0,0,1168,1169,7,8,0,0,1169,1170,7,9,0,0,1170,12,1,0,0,0,1171,1172,7,2,0,0,1172,1173,7,5,0,0,1173,1174,7,5,0,0,1174,1175,7,6,0,0,1175,1176,7,10,0,0,1176,14,1,0,0,0,1177,1178,7,2,0,0,1178,1179,7,5,0,0,1179,1180,7,8,0,0,1180,1181,7,9,0,0,1181,1182,7,11,0,0,1182,16,1,0,0,0,1183,1184,7,2,0,0,1184,1185,7,12,0,0,1185,1186,7,2,0,0,1186,1187,7,5,0,0,1187,1188,7,13,0,0,1188,1189,7,14,0,0,1189,1190,7,9,0,0,1190,18,1,0,0,0,1191,1192,7,2,0,0,1192,1193,7,12,0,0,1193,1194,7,15,0,0,1194,20,1,0,0,0,1195,1196,7,2,0,0,1196,1197,7,12,0,0,1197,1198,7,13,0,0,1198,22,1,0,0,0,1199,1200,7,2,0,0,1200,1201,7,11,0,0,1201,1202,7,9,0,0,1202,24,1,0,0,0,1203,1204,7,2,0,0,1204,1205,7,11,0,0,1205,1206,7,11,0,0,1206,1207,7,2,0,0,1207,1208,7,13,0,0,1208,26,1,0,0,0,1209,1210,7,2,0,0,1210,1211,7,11,0,0,1211,1212,7,11,0,0,1212,1213,7,2,0,0,1213,1214,7,13,0,0,1214,1215,5,95,0,0,1215,1216,7,2,0,0,1216,1217,7,16,0,0,1217,1218,7,16,0,0,1218,28,1,0,0,0,1219,1220,7,2,0,0,1220,1221,7,11,0,0,1221,1222,7,11,0,0,1222,1223,7,2,0,0,1223,1224,7,13,0,0,1224,1225,5,95,0,0,1225,1226,7,7,0,0,1226,1227,7,6,0,0,1227,1228,7,12,0,0,1228,1229,7,7,0,0,1229,1230,7,2,0,0,1230,1231,7,8,0,0,1231,1232,5,95,0,0,1232,1233,7,2,0,0,1233,1234,7,16,0,0,1234,1235,7,16,0,0,1235,30,1,0,0,0,1236,1237,7,2,0,0,1237,1238,7,11,0,0,1238,1239,7,11,0,0,1239,1240,7,2,0,0,1240,1241,7,13,0,0,1241,1242,5,95,0,0,1242,1243,7,17,0,0,1243,1244,7,2,0,0,1244,1245,7,18,0,0,1245,1246,5,95,0,0,1246,1247,7,7,0,0,1247,1248,7,2,0,0,1248,1249,7,11,0,0,1249,1250,7,15,0,0,1250,1251,7,19,0,0,1251,1252,7,12,0,0,1252,1253,7,2,0,0,1253,1254,7,5,0,0,1254,1255,7,19,0,0,1255,1256,7,8,0,0,1256,1257,7,13,0,0,1257,32,1,0,0,0,1258,1259,7,2,0,0,1259,1260,7,4,0,0,1260,34,1,0,0,0,1261,1262,7,2,0,0,1262,1263,7,4,0,0,1263,1264,7,9,0,0,1264,1265,7,12,0,0,1265,1266,7,4,0,0,1266,1267,7,19,0,0,1267,1268,7,8,0,0,1268,1269,7,19,0,0,1269,1270,7,20,0,0,1270,1271,7,9,0,0,1271,36,1,0,0,0,1272,1273,7,2,0,0,1273,1274,7,4,0,0,1274,1275,7,13,0,0,1275,1276,7,17,0,0,1276,1277,7,17,0,0,1277,1278,7,9,0,0,1278,1279,7,8,0,0,1279,1280,7,11,0,0,1280,1281,7,19,0,0,1281,1282,7,7,0,0,1282,38,1,0,0,0,1283,1284,7,2,0,0,1284,1285,7,8,0,0,1285,40,1,0,0,0,1286,1287,7,2,0,0,1287,1288,7,8,0,0,1288,1289,7,6,0,0,1289,1290,7,17,0,0,1290,1291,7,19,0,0,1291,1292,7,7,0,0,1292,42,1,0,0,0,1293,1294,7,2,0,0,1294,1295,7,21,0,0,1295,1296,7,8,0,0,1296,1297,7,22,0,0,1297,1298,7,6,0,0,1298,1299,7,11,0,0,1299,1300,7,19,0,0,1300,1301,7,14,0,0,1301,1302,7,2,0,0,1302,1303,7,8,0,0,1303,1304,7,19,0,0,1304,1305,7,6,0,0,1305,1306,7,12,0,0,1306,44,1,0,0,0,1307,1308,7,2,0,0,1308,1309,7,20,0,0,1309,1310,7,16,0,0,1310,46,1,0,0,0,1311,1312,7,3,0,0,1312,1313,7,9,0,0,1313,1314,7,16,0,0,1314,1315,7,19,0,0,1315,1316,7,12,0,0,1316,48,1,0,0,0,1317,1318,7,3,0,0,1318,1319,7,9,0,0,1319,1320,7,16,0,0,1320,1321,7,19,0,0,1321,1322,7,12,0,0,1322,1323,5,95,0,0,1323,1324,7,23,0,0,1324,1325,7,11,0,0,1325,1326,7,2,0,0,1326,1327,7,17,0,0,1327,1328,7,9,0,0,1328,50,1,0,0,0,1329,1330,7,3,0,0,1330,1331,7,9,0,0,1331,1332,7,16,0,0,1332,1333,7,19,0,0,1333,1334,7,12,0,0,1334,1335,5,95,0,0,1335,1336,7,24,0,0,1336,1337,7,2,0,0,1337,1338,7,11,0,0,1338,1339,7,8,0,0,1339,1340,7,19,0,0,1340,1341,7,8,0,0,1341,1342,7,19,0,0,1342,1343,7,6,0,0,1343,1344,7,12,0,0,1344,52,1,0,0,0,1345,1346,7,3,0,0,1346,1347,7,9,0,0,1347,1348,7,8,0,0,1348,1349,7,10,0,0,1349,1350,7,9,0,0,1350,1351,7,9,0,0,1351,1352,7,12,0,0,1352,54,1,0,0,0,1353,1354,7,3,0,0,1354,1355,7,19,0,0,1355,1356,7,16,0,0,1356,1357,7,19,0,0,1357,1358,7,12,0,0,1358,1359,7,8,0,0,1359,56,1,0,0,0,1360,1361,7,3,0,0,1361,1362,7,19,0,0,1362,1363,7,12,0,0,1363,1364,7,2,0,0,1364,1365,7,11,0,0,1365,1366,7,13,0,0,1366,58,1,0,0,0,1367,1368,7,3,0,0,1368,1369,7,19,0,0,1369,1370,7,8,0,0,1370,60,1,0,0,0,1371,1372,7,3,0,0,1372,1373,7,5,0,0,1373,1374,7,6,0,0,1374,1375,7,3,0,0,1375,62,1,0,0,0,1376,1377,7,3,0,0,1377,1378,7,6,0,0,1378,1379,7,6,0,0,1379,1380,7,5,0,0,1380,1381,7,9,0,0,1381,1382,7,2,0,0,1382,1383,7,12,0,0,1383,64,1,0,0,0,1384,1385,7,3,0,0,1385,1386,7,6,0,0,1386,1387,7,8,0,0,1387,1388,7,22,0,0,1388,66,1,0,0,0,1389,1390,7,3,0,0,1390,1391,7,13,0,0,1391,68,1,0,0,0,1392,1393,7,3,0,0,1393,1394,7,13,0,0,1394,1395,7,8,0,0,1395,1396,7,9,0,0,1396,1397,7,4,0,0,1397,70,1,0,0,0,1398,1399,7,7,0,0,1399,1400,7,2,0,0,1400,1401,7,5,0,0,1401,1402,7,5,0,0,1402,72,1,0,0,0,1403,1404,7,7,0,0,1404,1405,7,2,0,0,1405,1406,7,5,0,0,1406,1407,7,5,0,0,1407,1408,7,9,0,0,1408,1409,7,15,0,0,1409,74,1,0,0,0,1410,1411,7,7,0,0,1411,1412,7,2,0,0,1412,1413,7,11,0,0,1413,1414,7,15,0,0,1414,1415,7,19,0,0,1415,1416,7,12,0,0,1416,1417,7,2,0,0,1417,1418,7,5,0,0,1418,1419,7,19,0,0,1419,1420,7,8,0,0,1420,1421,7,13,0,0,1421,76,1,0,0,0,1422,1423,7,7,0,0,1423,1424,7,2,0,0,1424,1425,7,4,0,0,1425,1426,7,7,0,0,1426,1427,7,2,0,0,1427,1428,7,15,0,0,1428,1429,7,9,0,0,1429,1430,7,15,0,0,1430,78,1,0,0,0,1431,1432,7,7,0,0,1432,1433,7,2,0,0,1433,1434,7,4,0,0,1434,1435,7,9,0,0,1435,80,1,0,0,0,1436,1437,7,7,0,0,1437,1438,7,2,0,0,1438,1439,7,4,0,0,1439,1440,7,8,0,0,1440,82,1,0,0,0,1441,1442,7,7,0,0,1442,1443,7,2,0,0,1443,1444,7,8,0,0,1444,1445,7,2,0,0,1445,1446,7,5,0,0,1446,1447,7,6,0,0,1447,1448,7,16,0,0,1448,1449,7,4,0,0,1449,84,1,0,0,0,1450,1451,7,7,0,0,1451,1452,7,9,0,0,1452,1453,7,19,0,0,1453,1454,7,5,0,0,1454,86,1,0,0,0,1455,1456,7,7,0,0,1456,1457,7,9,0,0,1457,1458,7,19,0,0,1458,1459,7,5,0,0,1459,1460,7,19,0,0,1460,1461,7,12,0,0,1461,1462,7,16,0,0,1462,88,1,0,0,0,1463,1464,7,7,0,0,1464,1465,7,22,0,0,1465,1466,7,2,0,0,1466,1467,7,12,0,0,1467,1468,7,16,0,0,1468,1469,7,9,0,0,1469,1470,7,5,0,0,1470,1471,7,6,0,0,1471,1472,7,16,0,0,1472,1473,5,95,0,0,1473,1474,7,17,0,0,1474,1475,7,6,0,0,1475,1476,7,15,0,0,1476,1477,7,9,0,0,1477,90,1,0,0,0,1478,1479,7,7,0,0,1479,1480,7,22,0,0,1480,1481,7,2,0,0,1481,1482,7,11,0,0,1482,92,1,0,0,0,1483,1484,7,7,0,0,1484,1485,7,22,0,0,1485,1486,7,2,0,0,1486,1487,7,11,0,0,1487,1488,7,2,0,0,1488,1489,7,7,0,0,1489,1490,7,8,0,0,1490,1491,7,9,0,0,1491,1492,7,11,0,0,1492,94,1,0,0,0,1493,1494,7,7,0,0,1494,1495,7,22,0,0,1495,1496,7,2,0,0,1496,1497,7,11,0,0,1497,1498,7,2,0,0,1498,1499,7,7,0,0,1499,1500,7,8,0,0,1500,1501,7,9,0,0,1501,1502,7,11,0,0,1502,1503,5,95,0,0,1503,1504,7,5,0,0,1504,1505,7,9,0,0,1505,1506,7,12,0,0,1506,1507,7,16,0,0,1507,1508,7,8,0,0,1508,1509,7,22,0,0,1509,96,1,0,0,0,1510,1511,7,7,0,0,1511,1512,7,22,0,0,1512,1513,7,2,0,0,1513,1514,7,11,0,0,1514,1515,5,95,0,0,1515,1516,7,5,0,0,1516,1517,7,9,0,0,1517,1518,7,12,0,0,1518,1519,7,16,0,0,1519,1520,7,8,0,0,1520,1521,7,22,0,0,1521,98,1,0,0,0,1522,1523,7,7,0,0,1523,1524,7,22,0,0,1524,1525,7,9,0,0,1525,1526,7,7,0,0,1526,1527,7,25,0,0,1527,100,1,0,0,0,1528,1529,7,7,0,0,1529,1530,7,5,0,0,1530,1531,7,2,0,0,1531,1532,7,4,0,0,1532,1533,7,4,0,0,1533,1534,7,19,0,0,1534,1535,7,23,0,0,1535,1536,7,19,0,0,1536,1537,7,9,0,0,1537,1538,7,11,0,0,1538,102,1,0,0,0,1539,1540,7,7,0,0,1540,1541,7,5,0,0,1541,1542,7,6,0,0,1542,1543,7,3,0,0,1543,104,1,0,0,0,1544,1545,7,7,0,0,1545,1546,7,5,0,0,1546,1547,7,6,0,0,1547,1548,7,4,0,0,1548,1549,7,9,0,0,1549,106,1,0,0,0,1550,1551,7,7,0,0,1551,1552,7,6,0,0,1552,1553,7,2,0,0,1553,1554,7,5,0,0,1554,1555,7,9,0,0,1555,1556,7,4,0,0,1556,1557,7,7,0,0,1557,1558,7,9,0,0,1558,108,1,0,0,0,1559,1560,7,7,0,0,1560,1561,7,6,0,0,1561,1562,7,5,0,0,1562,1563,7,5,0,0,1563,1564,7,2,0,0,1564,1565,7,8,0,0,1565,1566,7,9,0,0,1566,110,1,0,0,0,1567,1568,7,7,0,0,1568,1569,7,6,0,0,1569,1570,7,5,0,0,1570,1571,7,5,0,0,1571,1572,7,9,0,0,1572,1573,7,7,0,0,1573,1574,7,8,0,0,1574,112,1,0,0,0,1575,1576,7,7,0,0,1576,1577,7,6,0,0,1577,1578,7,5,0,0,1578,1579,7,21,0,0,1579,1580,7,17,0,0,1580,1581,7,12,0,0,1581,114,1,0,0,0,1582,1583,7,7,0,0,1583,1584,7,6,0,0,1584,1585,7,5,0,0,1585,1586,7,21,0,0,1586,1587,7,17,0,0,1587,1588,7,12,0,0,1588,1589,7,4,0,0,1589,116,1,0,0,0,1590,1591,7,7,0,0,1591,1592,7,6,0,0,1592,1593,7,17,0,0,1593,1594,7,17,0,0,1594,1595,7,9,0,0,1595,1596,7,12,0,0,1596,1597,7,8,0,0,1597,118,1,0,0,0,1598,1599,7,7,0,0,1599,1600,7,6,0,0,1600,1601,7,17,0,0,1601,1602,7,17,0,0,1602,1603,7,19,0,0,1603,1604,7,8,0,0,1604,120,1,0,0,0,1605,1606,7,7,0,0,1606,1607,7,6,0,0,1607,1608,7,17,0,0,1608,1609,7,24,0,0,1609,1610,7,21,0,0,1610,1611,7,8,0,0,1611,1612,7,9,0,0,1612,122,1,0,0,0,1613,1614,7,7,0,0,1614,1615,7,6,0,0,1615,1616,7,12,0,0,1616,1617,7,15,0,0,1617,1618,7,19,0,0,1618,1619,7,8,0,0,1619,1620,7,19,0,0,1620,1621,7,6,0,0,1621,1622,7,12,0,0,1622,124,1,0,0,0,1623,1624,7,7,0,0,1624,1625,7,6,0,0,1625,1626,7,12,0,0,1626,1627,7,12,0,0,1627,1628,7,9,0,0,1628,1629,7,7,0,0,1629,1630,7,8,0,0,1630,126,1,0,0,0,1631,1632,7,7,0,0,1632,1633,7,6,0,0,1633,1634,7,12,0,0,1634,1635,7,4,0,0,1635,1636,7,8,0,0,1636,1637,7,11,0,0,1637,1638,7,2,0,0,1638,1639,7,19,0,0,1639,1640,7,12,0,0,1640,1641,7,8,0,0,1641,128,1,0,0,0,1642,1643,7,7,0,0,1643,1644,7,6,0,0,1644,1645,7,12,0,0,1645,1646,7,8,0,0,1646,1647,7,2,0,0,1647,1648,7,19,0,0,1648,1649,7,12,0,0,1649,1650,7,4,0,0,1650,130,1,0,0,0,1651,1652,7,7,0,0,1652,1653,7,6,0,0,1653,1654,7,12,0,0,1654,1655,7,20,0,0,1655,1656,7,9,0,0,1656,1657,7,11,0,0,1657,1658,7,8,0,0,1658,132,1,0,0,0,1659,1660,7,7,0,0,1660,1661,7,6,0,0,1661,1662,7,11,0,0,1662,1663,7,11,0,0,1663,134,1,0,0,0,1664,1665,7,7,0,0,1665,1666,7,6,0,0,1666,1667,7,11,0,0,1667,1668,7,11,0,0,1668,1669,7,9,0,0,1669,1670,7,4,0,0,1670,1671,7,24,0,0,1671,1672,7,6,0,0,1672,1673,7,12,0,0,1673,1674,7,15,0,0,1674,1675,7,19,0,0,1675,1676,7,12,0,0,1676,1677,7,16,0,0,1677,136,1,0,0,0,1678,1679,7,7,0,0,1679,1680,7,6,0,0,1680,1681,7,21,0,0,1681,1682,7,12,0,0,1682,1683,7,8,0,0,1683,138,1,0,0,0,1684,1685,7,7,0,0,1685,1686,7,6,0,0,1686,1687,7,20,0,0,1687,1688,7,2,0,0,1688,1689,7,11,0,0,1689,1690,5,95,0,0,1690,1691,7,24,0,0,1691,1692,7,6,0,0,1692,1693,7,24,0,0,1693,140,1,0,0,0,1694,1695,7,7,0,0,1695,1696,7,6,0,0,1696,1697,7,20,0,0,1697,1698,7,2,0,0,1698,1699,7,11,0,0,1699,1700,5,95,0,0,1700,1701,7,4,0,0,1701,1702,7,2,0,0,1702,1703,7,17,0,0,1703,1704,7,24,0,0,1704,142,1,0,0,0,1705,1706,7,7,0,0,1706,1707,7,11,0,0,1707,1708,7,9,0,0,1708,1709,7,2,0,0,1709,1710,7,8,0,0,1710,1711,7,9,0,0,1711,144,1,0,0,0,1712,1713,7,7,0,0,1713,1714,7,11,0,0,1714,1715,7,6,0,0,1715,1716,7,4,0,0,1716,1717,7,4,0,0,1717,146,1,0,0,0,1718,1719,7,7,0,0,1719,1720,7,21,0,0,1720,1721,7,3,0,0,1721,1722,7,9,0,0,1722,148,1,0,0,0,1723,1724,7,7,0,0,1724,1725,7,21,0,0,1725,1726,7,17,0,0,1726,1727,7,9,0,0,1727,1728,5,95,0,0,1728,1729,7,15,0,0,1729,1730,7,19,0,0,1730,1731,7,4,0,0,1731,1732,7,8,0,0,1732,150,1,0,0,0,1733,1734,7,7,0,0,1734,1735,7,21,0,0,1735,1736,7,11,0,0,1736,1737,7,11,0,0,1737,1738,7,9,0,0,1738,1739,7,12,0,0,1739,1740,7,8,0,0,1740,152,1,0,0,0,1741,1742,7,7,0,0,1742,1743,7,21,0,0,1743,1744,7,11,0,0,1744,1745,7,11,0,0,1745,1746,7,9,0,0,1746,1747,7,12,0,0,1747,1748,7,8,0,0,1748,1749,5,95,0,0,1749,1750,7,7,0,0,1750,1751,7,2,0,0,1751,1752,7,8,0,0,1752,1753,7,2,0,0,1753,1754,7,5,0,0,1754,1755,7,6,0,0,1755,1756,7,16,0,0,1756,154,1,0,0,0,1757,1758,7,7,0,0,1758,1759,7,21,0,0,1759,1760,7,11,0,0,1760,1761,7,11,0,0,1761,1762,7,9,0,0,1762,1763,7,12,0,0,1763,1764,7,8,0,0,1764,1765,5,95,0,0,1765,1766,7,15,0,0,1766,1767,7,2,0,0,1767,1768,7,8,0,0,1768,1769,7,9,0,0,1769,156,1,0,0,0,1770,1771,7,7,0,0,1771,1772,7,21,0,0,1772,1773,7,11,0,0,1773,1774,7,11,0,0,1774,1775,7,9,0,0,1775,1776,7,12,0,0,1776,1777,7,8,0,0,1777,1778,5,95,0,0,1778,1779,7,15,0,0,1779,1780,7,9,0,0,1780,1781,7,23,0,0,1781,1782,7,2,0,0,1782,1783,7,21,0,0,1783,1784,7,5,0,0,1784,1785,7,8,0,0,1785,1786,5,95,0,0,1786,1787,7,8,0,0,1787,1788,7,11,0,0,1788,1789,7,2,0,0,1789,1790,7,12,0,0,1790,1791,7,4,0,0,1791,1792,7,23,0,0,1792,1793,7,6,0,0,1793,1794,7,11,0,0,1794,1795,7,17,0,0,1795,1796,5,95,0,0,1796,1797,7,16,0,0,1797,1798,7,11,0,0,1798,1799,7,6,0,0,1799,1800,7,21,0,0,1800,1801,7,24,0,0,1801,158,1,0,0,0,1802,1803,7,7,0,0,1803,1804,7,21,0,0,1804,1805,7,11,0,0,1805,1806,7,11,0,0,1806,1807,7,9,0,0,1807,1808,7,12,0,0,1808,1809,7,8,0,0,1809,1810,5,95,0,0,1810,1811,7,24,0,0,1811,1812,7,2,0,0,1812,1813,7,8,0,0,1813,1814,7,22,0,0,1814,160,1,0,0,0,1815,1816,7,7,0,0,1816,1817,7,21,0,0,1817,1818,7,11,0,0,1818,1819,7,11,0,0,1819,1820,7,9,0,0,1820,1821,7,12,0,0,1821,1822,7,8,0,0,1822,1823,5,95,0,0,1823,1824,7,11,0,0,1824,1825,7,6,0,0,1825,1826,7,5,0,0,1826,1827,7,9,0,0,1827,162,1,0,0,0,1828,1829,7,7,0,0,1829,1830,7,21,0,0,1830,1831,7,11,0,0,1831,1832,7,11,0,0,1832,1833,7,9,0,0,1833,1834,7,12,0,0,1834,1835,7,8,0,0,1835,1836,5,95,0,0,1836,1837,7,11,0,0,1837,1838,7,6,0,0,1838,1839,7,10,0,0,1839,164,1,0,0,0,1840,1841,7,7,0,0,1841,1842,7,21,0,0,1842,1843,7,11,0,0,1843,1844,7,11,0,0,1844,1845,7,9,0,0,1845,1846,7,12,0,0,1846,1847,7,8,0,0,1847,1848,5,95,0,0,1848,1849,7,4,0,0,1849,1850,7,7,0,0,1850,1851,7,22,0,0,1851,1852,7,9,0,0,1852,1853,7,17,0,0,1853,1854,7,2,0,0,1854,166,1,0,0,0,1855,1856,7,7,0,0,1856,1857,7,21,0,0,1857,1858,7,11,0,0,1858,1859,7,11,0,0,1859,1860,7,9,0,0,1860,1861,7,12,0,0,1861,1862,7,8,0,0,1862,1863,5,95,0,0,1863,1864,7,8,0,0,1864,1865,7,19,0,0,1865,1866,7,17,0,0,1866,1867,7,9,0,0,1867,168,1,0,0,0,1868,1869,7,7,0,0,1869,1870,7,21,0,0,1870,1871,7,11,0,0,1871,1872,7,11,0,0,1872,1873,7,9,0,0,1873,1874,7,12,0,0,1874,1875,7,8,0,0,1875,1876,5,95,0,0,1876,1877,7,8,0,0,1877,1878,7,19,0,0,1878,1879,7,17,0,0,1879,1880,7,9,0,0,1880,1881,7,4,0,0,1881,1882,7,8,0,0,1882,1883,7,2,0,0,1883,1884,7,17,0,0,1884,1885,7,24,0,0,1885,170,1,0,0,0,1886,1887,7,7,0,0,1887,1888,7,21,0,0,1888,1889,7,11,0,0,1889,1890,7,11,0,0,1890,1891,7,9,0,0,1891,1892,7,12,0,0,1892,1893,7,8,0,0,1893,1894,5,95,0,0,1894,1895,7,8,0,0,1895,1896,7,11,0,0,1896,1897,7,2,0,0,1897,1898,7,12,0,0,1898,1899,7,4,0,0,1899,1900,7,23,0,0,1900,1901,7,6,0,0,1901,1902,7,11,0,0,1902,1903,7,17,0,0,1903,1904,5,95,0,0,1904,1905,7,16,0,0,1905,1906,7,11,0,0,1906,1907,7,6,0,0,1907,1908,7,21,0,0,1908,1909,7,24,0,0,1909,1910,5,95,0,0,1910,1911,7,23,0,0,1911,1912,7,6,0,0,1912,1913,7,11,0,0,1913,1914,5,95,0,0,1914,1915,7,8,0,0,1915,1916,7,13,0,0,1916,1917,7,24,0,0,1917,1918,7,9,0,0,1918,172,1,0,0,0,1919,1920,7,7,0,0,1920,1921,7,21,0,0,1921,1922,7,11,0,0,1922,1923,7,11,0,0,1923,1924,7,9,0,0,1924,1925,7,12,0,0,1925,1926,7,8,0,0,1926,1927,5,95,0,0,1927,1928,7,21,0,0,1928,1929,7,4,0,0,1929,1930,7,9,0,0,1930,1931,7,11,0,0,1931,174,1,0,0,0,1932,1933,7,7,0,0,1933,1934,7,21,0,0,1934,1935,7,11,0,0,1935,1936,7,4,0,0,1936,1937,7,6,0,0,1937,1938,7,11,0,0,1938,176,1,0,0,0,1939,1940,7,7,0,0,1940,1941,7,13,0,0,1941,1942,7,7,0,0,1942,1943,7,5,0,0,1943,1944,7,9,0,0,1944,178,1,0,0,0,1945,1946,7,15,0,0,1946,1947,7,2,0,0,1947,1948,7,8,0,0,1948,1949,7,2,0,0,1949,1950,7,3,0,0,1950,1951,7,2,0,0,1951,1952,7,4,0,0,1952,1953,7,9,0,0,1953,1954,7,4,0,0,1954,180,1,0,0,0,1955,1956,7,15,0,0,1956,1957,7,2,0,0,1957,1958,7,8,0,0,1958,1959,7,9,0,0,1959,182,1,0,0,0,1960,1961,7,15,0,0,1961,1962,7,2,0,0,1962,1963,7,8,0,0,1963,1964,7,9,0,0,1964,1965,7,8,0,0,1965,1966,7,19,0,0,1966,1967,7,17,0,0,1967,1968,7,9,0,0,1968,184,1,0,0,0,1969,1970,7,15,0,0,1970,1971,7,2,0,0,1971,1972,7,8,0,0,1972,1973,7,9,0,0,1973,1974,7,8,0,0,1974,1975,7,19,0,0,1975,1976,7,17,0,0,1976,1977,7,9,0,0,1977,1978,5,95,0,0,1978,1979,7,15,0,0,1979,1980,7,19,0,0,1980,1981,7,23,0,0,1981,1982,7,23,0,0,1982,186,1,0,0,0,1983,1984,7,15,0,0,1984,1985,7,2,0,0,1985,1986,7,8,0,0,1986,1987,7,9,0,0,1987,1988,7,8,0,0,1988,1989,7,19,0,0,1989,1990,7,17,0,0,1990,1991,7,9,0,0,1991,1992,5,95,0,0,1992,1993,7,8,0,0,1993,1994,7,11,0,0,1994,1995,7,21,0,0,1995,1996,7,12,0,0,1996,1997,7,7,0,0,1997,188,1,0,0,0,1998,1999,7,15,0,0,1999,2e3,7,2,0,0,2e3,2001,7,8,0,0,2001,2002,7,9,0,0,2002,2003,5,95,0,0,2003,2004,7,15,0,0,2004,2005,7,19,0,0,2005,2006,7,23,0,0,2006,2007,7,23,0,0,2007,190,1,0,0,0,2008,2009,7,15,0,0,2009,2010,7,2,0,0,2010,2011,7,8,0,0,2011,2012,7,9,0,0,2012,2013,5,95,0,0,2013,2014,7,8,0,0,2014,2015,7,11,0,0,2015,2016,7,21,0,0,2016,2017,7,12,0,0,2017,2018,7,7,0,0,2018,192,1,0,0,0,2019,2020,7,15,0,0,2020,2021,7,2,0,0,2021,2022,7,13,0,0,2022,194,1,0,0,0,2023,2024,7,15,0,0,2024,2025,7,2,0,0,2025,2026,7,13,0,0,2026,2027,7,6,0,0,2027,2028,7,23,0,0,2028,2029,7,10,0,0,2029,2030,7,9,0,0,2030,2031,7,9,0,0,2031,2032,7,25,0,0,2032,196,1,0,0,0,2033,2034,7,15,0,0,2034,2035,7,2,0,0,2035,2036,7,13,0,0,2036,2037,7,6,0,0,2037,2038,7,23,0,0,2038,2039,7,13,0,0,2039,2040,7,9,0,0,2040,2041,7,2,0,0,2041,2042,7,11,0,0,2042,198,1,0,0,0,2043,2044,7,15,0,0,2044,2045,7,9,0,0,2045,2046,7,2,0,0,2046,2047,7,5,0,0,2047,2048,7,5,0,0,2048,2049,7,6,0,0,2049,2050,7,7,0,0,2050,2051,7,2,0,0,2051,2052,7,8,0,0,2052,2053,7,9,0,0,2053,200,1,0,0,0,2054,2055,7,15,0,0,2055,2056,7,9,0,0,2056,2057,7,7,0,0,2057,202,1,0,0,0,2058,2059,7,15,0,0,2059,2060,7,9,0,0,2060,2061,7,7,0,0,2061,2062,7,19,0,0,2062,2063,7,17,0,0,2063,2064,7,2,0,0,2064,2065,7,5,0,0,2065,204,1,0,0,0,2066,2067,7,15,0,0,2067,2068,7,9,0,0,2068,2069,7,7,0,0,2069,2070,7,5,0,0,2070,2071,7,2,0,0,2071,2072,7,11,0,0,2072,2073,7,9,0,0,2073,206,1,0,0,0,2074,2075,7,15,0,0,2075,2076,7,9,0,0,2076,2077,7,23,0,0,2077,2078,7,2,0,0,2078,2079,7,21,0,0,2079,2080,7,5,0,0,2080,2081,7,8,0,0,2081,208,1,0,0,0,2082,2083,7,15,0,0,2083,2084,7,9,0,0,2084,2085,7,23,0,0,2085,2086,7,19,0,0,2086,2087,7,12,0,0,2087,2088,7,9,0,0,2088,210,1,0,0,0,2089,2090,7,15,0,0,2090,2091,7,9,0,0,2091,2092,7,5,0,0,2092,2093,7,9,0,0,2093,2094,7,8,0,0,2094,2095,7,9,0,0,2095,212,1,0,0,0,2096,2097,7,15,0,0,2097,2098,7,9,0,0,2098,2099,7,12,0,0,2099,2100,7,4,0,0,2100,2101,7,9,0,0,2101,2102,5,95,0,0,2102,2103,7,11,0,0,2103,2104,7,2,0,0,2104,2105,7,12,0,0,2105,2106,7,25,0,0,2106,214,1,0,0,0,2107,2108,7,15,0,0,2108,2109,7,9,0,0,2109,2110,7,11,0,0,2110,2111,7,9,0,0,2111,2112,7,23,0,0,2112,216,1,0,0,0,2113,2114,7,15,0,0,2114,2115,7,9,0,0,2115,2116,7,4,0,0,2116,2117,7,7,0,0,2117,2118,7,11,0,0,2118,2119,7,19,0,0,2119,2120,7,3,0,0,2120,2121,7,9,0,0,2121,218,1,0,0,0,2122,2123,7,15,0,0,2123,2124,7,9,0,0,2124,2125,7,8,0,0,2125,2126,7,9,0,0,2126,2127,7,11,0,0,2127,2128,7,17,0,0,2128,2129,7,19,0,0,2129,2130,7,12,0,0,2130,2131,7,19,0,0,2131,2132,7,4,0,0,2132,2133,7,8,0,0,2133,2134,7,19,0,0,2134,2135,7,7,0,0,2135,220,1,0,0,0,2136,2137,7,15,0,0,2137,2138,7,19,0,0,2138,2139,7,4,0,0,2139,2140,7,2,0,0,2140,2141,7,5,0,0,2141,2142,7,5,0,0,2142,2143,7,6,0,0,2143,2144,7,10,0,0,2144,222,1,0,0,0,2145,2146,7,15,0,0,2146,2147,7,19,0,0,2147,2148,7,4,0,0,2148,2149,7,7,0,0,2149,2150,7,6,0,0,2150,2151,7,12,0,0,2151,2152,7,12,0,0,2152,2153,7,9,0,0,2153,2154,7,7,0,0,2154,2155,7,8,0,0,2155,224,1,0,0,0,2156,2157,7,15,0,0,2157,2158,7,19,0,0,2158,2159,7,4,0,0,2159,2160,7,8,0,0,2160,2161,7,19,0,0,2161,2162,7,12,0,0,2162,2163,7,7,0,0,2163,2164,7,8,0,0,2164,226,1,0,0,0,2165,2166,7,15,0,0,2166,2167,7,6,0,0,2167,2168,7,8,0,0,2168,228,1,0,0,0,2169,2170,7,15,0,0,2170,2171,7,6,0,0,2171,2172,7,21,0,0,2172,2173,7,3,0,0,2173,2174,7,5,0,0,2174,2175,7,9,0,0,2175,230,1,0,0,0,2176,2177,7,15,0,0,2177,2178,7,11,0,0,2178,2179,7,6,0,0,2179,2180,7,24,0,0,2180,232,1,0,0,0,2181,2182,7,15,0,0,2182,2183,7,13,0,0,2183,2184,7,12,0,0,2184,2185,7,2,0,0,2185,2186,7,17,0,0,2186,2187,7,19,0,0,2187,2188,7,7,0,0,2188,234,1,0,0,0,2189,2190,7,9,0,0,2190,2191,7,2,0,0,2191,2192,7,7,0,0,2192,2193,7,22,0,0,2193,236,1,0,0,0,2194,2195,7,9,0,0,2195,2196,7,5,0,0,2196,2197,7,9,0,0,2197,2198,7,17,0,0,2198,2199,7,9,0,0,2199,2200,7,12,0,0,2200,2201,7,8,0,0,2201,238,1,0,0,0,2202,2203,7,9,0,0,2203,2204,7,5,0,0,2204,2205,7,4,0,0,2205,2206,7,9,0,0,2206,240,1,0,0,0,2207,2208,7,9,0,0,2208,2209,7,17,0,0,2209,2210,7,24,0,0,2210,2211,7,8,0,0,2211,2212,7,13,0,0,2212,242,1,0,0,0,2213,2214,7,9,0,0,2214,2215,7,12,0,0,2215,2216,7,15,0,0,2216,244,1,0,0,0,2217,2218,7,9,0,0,2218,2219,7,12,0,0,2219,2220,7,15,0,0,2220,2221,5,95,0,0,2221,2222,7,23,0,0,2222,2223,7,11,0,0,2223,2224,7,2,0,0,2224,2225,7,17,0,0,2225,2226,7,9,0,0,2226,246,1,0,0,0,2227,2228,7,9,0,0,2228,2229,7,12,0,0,2229,2230,7,15,0,0,2230,2231,5,95,0,0,2231,2232,7,24,0,0,2232,2233,7,2,0,0,2233,2234,7,11,0,0,2234,2235,7,8,0,0,2235,2236,7,19,0,0,2236,2237,7,8,0,0,2237,2238,7,19,0,0,2238,2239,7,6,0,0,2239,2240,7,12,0,0,2240,248,1,0,0,0,2241,2242,7,9,0,0,2242,2243,7,12,0,0,2243,2244,7,23,0,0,2244,2245,7,6,0,0,2245,2246,7,11,0,0,2246,2247,7,7,0,0,2247,2248,7,9,0,0,2248,2249,7,15,0,0,2249,250,1,0,0,0,2250,2251,7,9,0,0,2251,2252,7,26,0,0,2252,2253,7,21,0,0,2253,2254,7,2,0,0,2254,2255,7,5,0,0,2255,2256,7,4,0,0,2256,252,1,0,0,0,2257,2258,7,9,0,0,2258,2259,7,4,0,0,2259,2260,7,7,0,0,2260,2261,7,2,0,0,2261,2262,7,24,0,0,2262,2263,7,9,0,0,2263,254,1,0,0,0,2264,2265,7,9,0,0,2265,2266,7,4,0,0,2266,2267,7,8,0,0,2267,2268,7,19,0,0,2268,2269,7,17,0,0,2269,2270,7,2,0,0,2270,2271,7,8,0,0,2271,2272,7,9,0,0,2272,2273,7,15,0,0,2273,2274,5,95,0,0,2274,2275,7,7,0,0,2275,2276,7,6,0,0,2276,2277,7,4,0,0,2277,2278,7,8,0,0,2278,256,1,0,0,0,2279,2280,7,9,0,0,2280,2281,7,20,0,0,2281,2282,7,9,0,0,2282,2283,7,11,0,0,2283,2284,7,13,0,0,2284,258,1,0,0,0,2285,2286,7,9,0,0,2286,2287,7,18,0,0,2287,2288,7,7,0,0,2288,2289,7,9,0,0,2289,2290,7,24,0,0,2290,2291,7,8,0,0,2291,260,1,0,0,0,2292,2293,7,9,0,0,2293,2294,7,18,0,0,2294,2295,7,9,0,0,2295,2296,7,7,0,0,2296,262,1,0,0,0,2297,2298,7,9,0,0,2298,2299,7,18,0,0,2299,2300,7,9,0,0,2300,2301,7,7,0,0,2301,2302,7,21,0,0,2302,2303,7,8,0,0,2303,2304,7,9,0,0,2304,264,1,0,0,0,2305,2306,7,9,0,0,2306,2307,7,18,0,0,2307,2308,7,19,0,0,2308,2309,7,4,0,0,2309,2310,7,8,0,0,2310,2311,7,4,0,0,2311,266,1,0,0,0,2312,2313,7,9,0,0,2313,2314,7,18,0,0,2314,2315,7,24,0,0,2315,268,1,0,0,0,2316,2317,7,9,0,0,2317,2318,7,18,0,0,2318,2319,7,24,0,0,2319,2320,7,5,0,0,2320,2321,7,2,0,0,2321,2322,7,19,0,0,2322,2323,7,12,0,0,2323,270,1,0,0,0,2324,2325,7,9,0,0,2325,2326,7,18,0,0,2326,2327,7,8,0,0,2327,2328,7,9,0,0,2328,2329,7,12,0,0,2329,2330,7,15,0,0,2330,272,1,0,0,0,2331,2332,7,9,0,0,2332,2333,7,18,0,0,2333,2334,7,8,0,0,2334,2335,7,9,0,0,2335,2336,7,12,0,0,2336,2337,7,15,0,0,2337,2338,7,9,0,0,2338,2339,7,15,0,0,2339,274,1,0,0,0,2340,2341,7,9,0,0,2341,2342,7,18,0,0,2342,2343,7,8,0,0,2343,2344,7,9,0,0,2344,2345,7,11,0,0,2345,2346,7,12,0,0,2346,2347,7,2,0,0,2347,2348,7,5,0,0,2348,276,1,0,0,0,2349,2350,7,9,0,0,2350,2351,7,18,0,0,2351,2352,7,8,0,0,2352,2353,7,11,0,0,2353,2354,7,2,0,0,2354,2355,7,7,0,0,2355,2356,7,8,0,0,2356,278,1,0,0,0,2357,2358,7,23,0,0,2358,2359,7,2,0,0,2359,2360,7,5,0,0,2360,2361,7,4,0,0,2361,2362,7,9,0,0,2362,280,1,0,0,0,2363,2364,7,23,0,0,2364,2365,7,9,0,0,2365,2366,7,8,0,0,2366,2367,7,7,0,0,2367,2368,7,22,0,0,2368,282,1,0,0,0,2369,2370,7,23,0,0,2370,2371,7,19,0,0,2371,2372,7,5,0,0,2372,2373,7,8,0,0,2373,2374,7,9,0,0,2374,2375,7,11,0,0,2375,284,1,0,0,0,2376,2377,7,23,0,0,2377,2378,7,19,0,0,2378,2379,7,11,0,0,2379,2380,7,4,0,0,2380,2381,7,8,0,0,2381,2382,5,95,0,0,2382,2383,7,20,0,0,2383,2384,7,2,0,0,2384,2385,7,5,0,0,2385,2386,7,21,0,0,2386,2387,7,9,0,0,2387,286,1,0,0,0,2388,2389,7,23,0,0,2389,2390,7,5,0,0,2390,2391,7,6,0,0,2391,2392,7,2,0,0,2392,2393,7,8,0,0,2393,288,1,0,0,0,2394,2395,7,23,0,0,2395,2396,7,5,0,0,2396,2397,7,6,0,0,2397,2398,7,6,0,0,2398,2399,7,11,0,0,2399,290,1,0,0,0,2400,2401,7,23,0,0,2401,2402,7,6,0,0,2402,2403,7,11,0,0,2403,292,1,0,0,0,2404,2405,7,23,0,0,2405,2406,7,6,0,0,2406,2407,7,11,0,0,2407,2408,7,9,0,0,2408,2409,7,19,0,0,2409,2410,7,16,0,0,2410,2411,7,12,0,0,2411,294,1,0,0,0,2412,2413,7,23,0,0,2413,2414,7,11,0,0,2414,2415,7,2,0,0,2415,2416,7,17,0,0,2416,2417,7,9,0,0,2417,2418,5,95,0,0,2418,2419,7,11,0,0,2419,2420,7,6,0,0,2420,2421,7,10,0,0,2421,296,1,0,0,0,2422,2423,7,23,0,0,2423,2424,7,11,0,0,2424,2425,7,9,0,0,2425,2426,7,9,0,0,2426,298,1,0,0,0,2427,2428,7,23,0,0,2428,2429,7,11,0,0,2429,2430,7,19,0,0,2430,2431,7,15,0,0,2431,2432,7,2,0,0,2432,2433,7,13,0,0,2433,300,1,0,0,0,2434,2435,7,23,0,0,2435,2436,7,11,0,0,2436,2437,7,6,0,0,2437,2438,7,17,0,0,2438,302,1,0,0,0,2439,2440,7,23,0,0,2440,2441,7,21,0,0,2441,2442,7,5,0,0,2442,2443,7,5,0,0,2443,304,1,0,0,0,2444,2445,7,23,0,0,2445,2446,7,21,0,0,2446,2447,7,12,0,0,2447,2448,7,7,0,0,2448,2449,7,8,0,0,2449,2450,7,19,0,0,2450,2451,7,6,0,0,2451,2452,7,12,0,0,2452,306,1,0,0,0,2453,2454,7,23,0,0,2454,2455,7,21,0,0,2455,2456,7,12,0,0,2456,2457,7,7,0,0,2457,2458,7,8,0,0,2458,2459,7,19,0,0,2459,2460,7,6,0,0,2460,2461,7,12,0,0,2461,2462,7,4,0,0,2462,308,1,0,0,0,2463,2464,7,23,0,0,2464,2465,7,21,0,0,2465,2466,7,4,0,0,2466,2467,7,19,0,0,2467,2468,7,6,0,0,2468,2469,7,12,0,0,2469,310,1,0,0,0,2470,2471,7,16,0,0,2471,2472,7,9,0,0,2472,2473,7,8,0,0,2473,312,1,0,0,0,2474,2475,7,16,0,0,2475,2476,7,5,0,0,2476,2477,7,6,0,0,2477,2478,7,3,0,0,2478,2479,7,2,0,0,2479,2480,7,5,0,0,2480,314,1,0,0,0,2481,2482,7,16,0,0,2482,2483,7,11,0,0,2483,2484,7,2,0,0,2484,2485,7,12,0,0,2485,2486,7,8,0,0,2486,316,1,0,0,0,2487,2488,7,16,0,0,2488,2489,7,11,0,0,2489,2490,7,6,0,0,2490,2491,7,21,0,0,2491,2492,7,24,0,0,2492,318,1,0,0,0,2493,2494,7,16,0,0,2494,2495,7,11,0,0,2495,2496,7,6,0,0,2496,2497,7,21,0,0,2497,2498,7,24,0,0,2498,2499,7,19,0,0,2499,2500,7,12,0,0,2500,2501,7,16,0,0,2501,320,1,0,0,0,2502,2503,7,16,0,0,2503,2504,7,11,0,0,2504,2505,7,6,0,0,2505,2506,7,21,0,0,2506,2507,7,24,0,0,2507,2508,7,4,0,0,2508,322,1,0,0,0,2509,2510,7,16,0,0,2510,2511,7,11,0,0,2511,2512,7,6,0,0,2512,2513,7,21,0,0,2513,2514,7,24,0,0,2514,2515,5,95,0,0,2515,2516,7,7,0,0,2516,2517,7,6,0,0,2517,2518,7,12,0,0,2518,2519,7,7,0,0,2519,2520,7,2,0,0,2520,2521,7,8,0,0,2521,324,1,0,0,0,2522,2523,7,22,0,0,2523,2524,7,2,0,0,2524,2525,7,20,0,0,2525,2526,7,19,0,0,2526,2527,7,12,0,0,2527,2528,7,16,0,0,2528,326,1,0,0,0,2529,2530,7,22,0,0,2530,2531,7,6,0,0,2531,2532,7,5,0,0,2532,2533,7,15,0,0,2533,328,1,0,0,0,2534,2535,7,22,0,0,2535,2536,7,6,0,0,2536,2537,7,21,0,0,2537,2538,7,11,0,0,2538,330,1,0,0,0,2539,2540,7,19,0,0,2540,2541,7,15,0,0,2541,2542,7,9,0,0,2542,2543,7,12,0,0,2543,2544,7,8,0,0,2544,2545,7,19,0,0,2545,2546,7,8,0,0,2546,2547,7,13,0,0,2547,332,1,0,0,0,2548,2549,7,19,0,0,2549,2550,7,23,0,0,2550,334,1,0,0,0,2551,2552,7,19,0,0,2552,2553,7,5,0,0,2553,2554,7,19,0,0,2554,2555,7,25,0,0,2555,2556,7,9,0,0,2556,336,1,0,0,0,2557,2558,7,19,0,0,2558,2559,7,17,0,0,2559,2560,7,24,0,0,2560,2561,7,6,0,0,2561,2562,7,11,0,0,2562,2563,7,8,0,0,2563,338,1,0,0,0,2564,2565,7,19,0,0,2565,2566,7,12,0,0,2566,340,1,0,0,0,2567,2568,7,19,0,0,2568,2569,7,12,0,0,2569,2570,7,7,0,0,2570,2571,7,5,0,0,2571,2572,7,21,0,0,2572,2573,7,15,0,0,2573,2574,7,9,0,0,2574,342,1,0,0,0,2575,2576,7,19,0,0,2576,2577,7,12,0,0,2577,2578,7,15,0,0,2578,2579,7,19,0,0,2579,2580,7,7,0,0,2580,2581,7,2,0,0,2581,2582,7,8,0,0,2582,2583,7,6,0,0,2583,2584,7,11,0,0,2584,344,1,0,0,0,2585,2586,7,19,0,0,2586,2587,7,12,0,0,2587,2588,7,19,0,0,2588,2589,7,8,0,0,2589,2590,7,19,0,0,2590,2591,7,2,0,0,2591,2592,7,5,0,0,2592,346,1,0,0,0,2593,2594,7,19,0,0,2594,2595,7,12,0,0,2595,2596,7,12,0,0,2596,2597,7,9,0,0,2597,2598,7,11,0,0,2598,348,1,0,0,0,2599,2600,7,19,0,0,2600,2601,7,12,0,0,2601,2602,7,6,0,0,2602,2603,7,21,0,0,2603,2604,7,8,0,0,2604,350,1,0,0,0,2605,2606,7,19,0,0,2606,2607,7,12,0,0,2607,2608,7,4,0,0,2608,2609,7,9,0,0,2609,2610,7,12,0,0,2610,2611,7,4,0,0,2611,2612,7,19,0,0,2612,2613,7,8,0,0,2613,2614,7,19,0,0,2614,2615,7,20,0,0,2615,2616,7,9,0,0,2616,352,1,0,0,0,2617,2618,7,19,0,0,2618,2619,7,12,0,0,2619,2620,7,4,0,0,2620,2621,7,9,0,0,2621,2622,7,11,0,0,2622,2623,7,8,0,0,2623,354,1,0,0,0,2624,2625,7,19,0,0,2625,2626,7,12,0,0,2626,2627,7,8,0,0,2627,356,1,0,0,0,2628,2629,7,19,0,0,2629,2630,7,12,0,0,2630,2631,7,8,0,0,2631,2632,7,9,0,0,2632,2633,7,16,0,0,2633,2634,7,9,0,0,2634,2635,7,11,0,0,2635,358,1,0,0,0,2636,2637,7,19,0,0,2637,2638,7,12,0,0,2638,2639,7,8,0,0,2639,2640,7,9,0,0,2640,2641,7,11,0,0,2641,2642,7,4,0,0,2642,2643,7,9,0,0,2643,2644,7,7,0,0,2644,2645,7,8,0,0,2645,360,1,0,0,0,2646,2647,7,19,0,0,2647,2648,7,12,0,0,2648,2649,7,8,0,0,2649,2650,7,9,0,0,2650,2651,7,11,0,0,2651,2652,7,4,0,0,2652,2653,7,9,0,0,2653,2654,7,7,0,0,2654,2655,7,8,0,0,2655,2656,7,19,0,0,2656,2657,7,6,0,0,2657,2658,7,12,0,0,2658,362,1,0,0,0,2659,2660,7,19,0,0,2660,2661,7,12,0,0,2661,2662,7,8,0,0,2662,2663,7,9,0,0,2663,2664,7,11,0,0,2664,2665,7,20,0,0,2665,2666,7,2,0,0,2666,2667,7,5,0,0,2667,364,1,0,0,0,2668,2669,7,19,0,0,2669,2670,7,12,0,0,2670,2671,7,8,0,0,2671,2672,7,6,0,0,2672,366,1,0,0,0,2673,2674,7,19,0,0,2674,2675,7,4,0,0,2675,368,1,0,0,0,2676,2677,7,27,0,0,2677,2678,7,6,0,0,2678,2679,7,19,0,0,2679,2680,7,12,0,0,2680,370,1,0,0,0,2681,2682,7,27,0,0,2682,2683,7,4,0,0,2683,2684,7,6,0,0,2684,2685,7,12,0,0,2685,2686,5,95,0,0,2686,2687,7,2,0,0,2687,2688,7,11,0,0,2688,2689,7,11,0,0,2689,2690,7,2,0,0,2690,2691,7,13,0,0,2691,372,1,0,0,0,2692,2693,7,27,0,0,2693,2694,7,4,0,0,2694,2695,7,6,0,0,2695,2696,7,12,0,0,2696,2697,5,95,0,0,2697,2698,7,2,0,0,2698,2699,7,11,0,0,2699,2700,7,11,0,0,2700,2701,7,2,0,0,2701,2702,7,13,0,0,2702,2703,7,2,0,0,2703,2704,7,16,0,0,2704,2705,7,16,0,0,2705,374,1,0,0,0,2706,2707,7,27,0,0,2707,2708,7,4,0,0,2708,2709,7,6,0,0,2709,2710,7,12,0,0,2710,2711,5,95,0,0,2711,2712,7,9,0,0,2712,2713,7,18,0,0,2713,2714,7,9,0,0,2714,2715,7,7,0,0,2715,2716,7,21,0,0,2716,2717,7,8,0,0,2717,2718,7,19,0,0,2718,2719,7,6,0,0,2719,2720,7,12,0,0,2720,2721,5,95,0,0,2721,2722,7,24,0,0,2722,2723,7,5,0,0,2723,2724,7,2,0,0,2724,2725,7,12,0,0,2725,376,1,0,0,0,2726,2727,7,27,0,0,2727,2728,7,4,0,0,2728,2729,7,6,0,0,2729,2730,7,12,0,0,2730,2731,5,95,0,0,2731,2732,7,9,0,0,2732,2733,7,18,0,0,2733,2734,7,19,0,0,2734,2735,7,4,0,0,2735,2736,7,8,0,0,2736,2737,7,4,0,0,2737,378,1,0,0,0,2738,2739,7,27,0,0,2739,2740,7,4,0,0,2740,2741,7,6,0,0,2741,2742,7,12,0,0,2742,2743,5,95,0,0,2743,2744,7,6,0,0,2744,2745,7,3,0,0,2745,2746,7,27,0,0,2746,2747,7,9,0,0,2747,2748,7,7,0,0,2748,2749,7,8,0,0,2749,380,1,0,0,0,2750,2751,7,27,0,0,2751,2752,7,4,0,0,2752,2753,7,6,0,0,2753,2754,7,12,0,0,2754,2755,5,95,0,0,2755,2756,7,6,0,0,2756,2757,7,3,0,0,2757,2758,7,27,0,0,2758,2759,7,9,0,0,2759,2760,7,7,0,0,2760,2761,7,8,0,0,2761,2762,7,2,0,0,2762,2763,7,16,0,0,2763,2764,7,16,0,0,2764,382,1,0,0,0,2765,2766,7,27,0,0,2766,2767,7,4,0,0,2767,2768,7,6,0,0,2768,2769,7,12,0,0,2769,2770,5,95,0,0,2770,2771,7,26,0,0,2771,2772,7,21,0,0,2772,2773,7,9,0,0,2773,2774,7,11,0,0,2774,2775,7,13,0,0,2775,384,1,0,0,0,2776,2777,7,27,0,0,2777,2778,7,4,0,0,2778,2779,7,6,0,0,2779,2780,7,12,0,0,2780,2781,5,95,0,0,2781,2782,7,20,0,0,2782,2783,7,2,0,0,2783,2784,7,5,0,0,2784,2785,7,21,0,0,2785,2786,7,9,0,0,2786,386,1,0,0,0,2787,2788,7,5,0,0,2788,2789,7,2,0,0,2789,2790,7,16,0,0,2790,388,1,0,0,0,2791,2792,7,5,0,0,2792,2793,7,2,0,0,2793,2794,7,12,0,0,2794,2795,7,16,0,0,2795,2796,7,21,0,0,2796,2797,7,2,0,0,2797,2798,7,16,0,0,2798,2799,7,9,0,0,2799,390,1,0,0,0,2800,2801,7,5,0,0,2801,2802,7,2,0,0,2802,2803,7,11,0,0,2803,2804,7,16,0,0,2804,2805,7,9,0,0,2805,392,1,0,0,0,2806,2807,7,5,0,0,2807,2808,7,2,0,0,2808,2809,7,4,0,0,2809,2810,7,8,0,0,2810,2811,5,95,0,0,2811,2812,7,20,0,0,2812,2813,7,2,0,0,2813,2814,7,5,0,0,2814,2815,7,21,0,0,2815,2816,7,9,0,0,2816,394,1,0,0,0,2817,2818,7,5,0,0,2818,2819,7,2,0,0,2819,2820,7,8,0,0,2820,2821,7,9,0,0,2821,2822,7,11,0,0,2822,2823,7,2,0,0,2823,2824,7,5,0,0,2824,396,1,0,0,0,2825,2826,7,5,0,0,2826,2827,7,9,0,0,2827,2828,7,2,0,0,2828,2829,7,15,0,0,2829,398,1,0,0,0,2830,2831,7,5,0,0,2831,2832,7,9,0,0,2832,2833,7,2,0,0,2833,2834,7,15,0,0,2834,2835,7,19,0,0,2835,2836,7,12,0,0,2836,2837,7,16,0,0,2837,400,1,0,0,0,2838,2839,7,5,0,0,2839,2840,7,9,0,0,2840,2841,7,23,0,0,2841,2842,7,8,0,0,2842,402,1,0,0,0,2843,2844,7,5,0,0,2844,2845,7,19,0,0,2845,2846,7,25,0,0,2846,2847,7,9,0,0,2847,404,1,0,0,0,2848,2849,7,5,0,0,2849,2850,7,19,0,0,2850,2851,7,25,0,0,2851,2852,7,9,0,0,2852,2853,5,95,0,0,2853,2854,7,11,0,0,2854,2855,7,9,0,0,2855,2856,7,16,0,0,2856,2857,7,9,0,0,2857,2858,7,18,0,0,2858,406,1,0,0,0,2859,2860,7,5,0,0,2860,2861,7,19,0,0,2861,2862,7,17,0,0,2862,2863,7,19,0,0,2863,2864,7,8,0,0,2864,408,1,0,0,0,2865,2866,7,5,0,0,2866,2867,7,12,0,0,2867,410,1,0,0,0,2868,2869,7,5,0,0,2869,2870,7,6,0,0,2870,2871,7,7,0,0,2871,2872,7,2,0,0,2872,2873,7,5,0,0,2873,412,1,0,0,0,2874,2875,7,5,0,0,2875,2876,7,6,0,0,2876,2877,7,7,0,0,2877,2878,7,2,0,0,2878,2879,7,5,0,0,2879,2880,7,8,0,0,2880,2881,7,19,0,0,2881,2882,7,17,0,0,2882,2883,7,9,0,0,2883,414,1,0,0,0,2884,2885,7,5,0,0,2885,2886,7,6,0,0,2886,2887,7,7,0,0,2887,2888,7,2,0,0,2888,2889,7,5,0,0,2889,2890,7,8,0,0,2890,2891,7,19,0,0,2891,2892,7,17,0,0,2892,2893,7,9,0,0,2893,2894,7,4,0,0,2894,2895,7,8,0,0,2895,2896,7,2,0,0,2896,2897,7,17,0,0,2897,2898,7,24,0,0,2898,416,1,0,0,0,2899,2900,7,5,0,0,2900,2901,7,6,0,0,2901,2902,7,10,0,0,2902,2903,7,9,0,0,2903,2904,7,11,0,0,2904,418,1,0,0,0,2905,2906,7,17,0,0,2906,2907,7,2,0,0,2907,2908,7,8,0,0,2908,2909,7,7,0,0,2909,2910,7,22,0,0,2910,420,1,0,0,0,2911,2912,7,17,0,0,2912,2913,7,2,0,0,2913,2914,7,8,0,0,2914,2915,7,7,0,0,2915,2916,7,22,0,0,2916,2917,7,9,0,0,2917,2918,7,4,0,0,2918,422,1,0,0,0,2919,2920,7,17,0,0,2920,2921,7,2,0,0,2921,2922,7,8,0,0,2922,2923,7,7,0,0,2923,2924,7,22,0,0,2924,2925,5,95,0,0,2925,2926,7,12,0,0,2926,2927,7,21,0,0,2927,2928,7,17,0,0,2928,2929,7,3,0,0,2929,2930,7,9,0,0,2930,2931,7,11,0,0,2931,424,1,0,0,0,2932,2933,7,17,0,0,2933,2934,7,2,0,0,2934,2935,7,8,0,0,2935,2936,7,7,0,0,2936,2937,7,22,0,0,2937,2938,5,95,0,0,2938,2939,7,11,0,0,2939,2940,7,9,0,0,2940,2941,7,7,0,0,2941,2942,7,6,0,0,2942,2943,7,16,0,0,2943,2944,7,12,0,0,2944,2945,7,19,0,0,2945,2946,7,14,0,0,2946,2947,7,9,0,0,2947,426,1,0,0,0,2948,2949,7,17,0,0,2949,2950,7,2,0,0,2950,2951,7,18,0,0,2951,428,1,0,0,0,2952,2953,7,17,0,0,2953,2954,7,9,0,0,2954,2955,7,2,0,0,2955,2956,7,4,0,0,2956,2957,7,21,0,0,2957,2958,7,11,0,0,2958,2959,7,9,0,0,2959,2960,7,4,0,0,2960,430,1,0,0,0,2961,2962,7,17,0,0,2962,2963,7,9,0,0,2963,2964,7,17,0,0,2964,2965,7,3,0,0,2965,2966,7,9,0,0,2966,2967,7,11,0,0,2967,432,1,0,0,0,2968,2969,7,17,0,0,2969,2970,7,9,0,0,2970,2971,7,11,0,0,2971,2972,7,16,0,0,2972,2973,7,9,0,0,2973,434,1,0,0,0,2974,2975,7,17,0,0,2975,2976,7,9,0,0,2976,2977,7,8,0,0,2977,2978,7,2,0,0,2978,2979,7,15,0,0,2979,2980,7,2,0,0,2980,2981,7,8,0,0,2981,2982,7,2,0,0,2982,436,1,0,0,0,2983,2984,7,17,0,0,2984,2985,7,9,0,0,2985,2986,7,8,0,0,2986,2987,7,22,0,0,2987,2988,7,6,0,0,2988,2989,7,15,0,0,2989,438,1,0,0,0,2990,2991,7,17,0,0,2991,2992,7,19,0,0,2992,2993,7,12,0,0,2993,440,1,0,0,0,2994,2995,7,17,0,0,2995,2996,7,19,0,0,2996,2997,7,12,0,0,2997,2998,7,21,0,0,2998,2999,7,4,0,0,2999,442,1,0,0,0,3e3,3001,7,17,0,0,3001,3002,7,19,0,0,3002,3003,7,12,0,0,3003,3004,7,21,0,0,3004,3005,7,8,0,0,3005,3006,7,9,0,0,3006,444,1,0,0,0,3007,3008,7,17,0,0,3008,3009,7,6,0,0,3009,3010,7,15,0,0,3010,446,1,0,0,0,3011,3012,7,17,0,0,3012,3013,7,6,0,0,3013,3014,7,15,0,0,3014,3015,7,19,0,0,3015,3016,7,23,0,0,3016,3017,7,19,0,0,3017,3018,7,9,0,0,3018,3019,7,4,0,0,3019,448,1,0,0,0,3020,3021,7,17,0,0,3021,3022,7,6,0,0,3022,3023,7,15,0,0,3023,3024,7,19,0,0,3024,3025,7,23,0,0,3025,3026,7,13,0,0,3026,450,1,0,0,0,3027,3028,7,17,0,0,3028,3029,7,6,0,0,3029,3030,7,15,0,0,3030,3031,7,21,0,0,3031,3032,7,5,0,0,3032,3033,7,9,0,0,3033,452,1,0,0,0,3034,3035,7,17,0,0,3035,3036,7,6,0,0,3036,3037,7,15,0,0,3037,3038,7,21,0,0,3038,3039,7,5,0,0,3039,3040,7,9,0,0,3040,3041,7,4,0,0,3041,454,1,0,0,0,3042,3043,7,17,0,0,3043,3044,7,6,0,0,3044,3045,7,12,0,0,3045,3046,7,15,0,0,3046,3047,7,2,0,0,3047,3048,7,13,0,0,3048,456,1,0,0,0,3049,3050,7,17,0,0,3050,3051,7,6,0,0,3051,3052,7,12,0,0,3052,3053,7,8,0,0,3053,3054,7,22,0,0,3054,458,1,0,0,0,3055,3056,7,17,0,0,3056,3057,7,6,0,0,3057,3058,7,11,0,0,3058,3059,7,9,0,0,3059,460,1,0,0,0,3060,3061,7,17,0,0,3061,3062,7,21,0,0,3062,3063,7,5,0,0,3063,3064,7,8,0,0,3064,3065,7,19,0,0,3065,3066,7,4,0,0,3066,3067,7,9,0,0,3067,3068,7,8,0,0,3068,462,1,0,0,0,3069,3070,7,12,0,0,3070,3071,7,2,0,0,3071,3072,7,8,0,0,3072,3073,7,19,0,0,3073,3074,7,6,0,0,3074,3075,7,12,0,0,3075,3076,7,2,0,0,3076,3077,7,5,0,0,3077,464,1,0,0,0,3078,3079,7,12,0,0,3079,3080,7,2,0,0,3080,3081,7,8,0,0,3081,3082,7,21,0,0,3082,3083,7,11,0,0,3083,3084,7,2,0,0,3084,3085,7,5,0,0,3085,466,1,0,0,0,3086,3087,7,12,0,0,3087,3088,7,7,0,0,3088,3089,7,22,0,0,3089,3090,7,2,0,0,3090,3091,7,11,0,0,3091,468,1,0,0,0,3092,3093,7,12,0,0,3093,3094,7,7,0,0,3094,3095,7,5,0,0,3095,3096,7,6,0,0,3096,3097,7,3,0,0,3097,470,1,0,0,0,3098,3099,7,12,0,0,3099,3100,7,9,0,0,3100,3101,7,10,0,0,3101,472,1,0,0,0,3102,3103,7,12,0,0,3103,3104,7,9,0,0,3104,3105,7,18,0,0,3105,3106,7,8,0,0,3106,474,1,0,0,0,3107,3108,7,12,0,0,3108,3109,7,6,0,0,3109,476,1,0,0,0,3110,3111,7,12,0,0,3111,3112,7,6,0,0,3112,3113,7,12,0,0,3113,3114,7,9,0,0,3114,478,1,0,0,0,3115,3116,7,12,0,0,3116,3117,7,6,0,0,3117,3118,7,11,0,0,3118,3119,7,17,0,0,3119,3120,7,2,0,0,3120,3121,7,5,0,0,3121,3122,7,19,0,0,3122,3123,7,14,0,0,3123,3124,7,9,0,0,3124,480,1,0,0,0,3125,3126,7,12,0,0,3126,3127,7,6,0,0,3127,3128,7,8,0,0,3128,482,1,0,0,0,3129,3130,7,12,0,0,3130,3131,7,8,0,0,3131,3132,7,22,0,0,3132,3133,5,95,0,0,3133,3134,7,20,0,0,3134,3135,7,2,0,0,3135,3136,7,5,0,0,3136,3137,7,21,0,0,3137,3138,7,9,0,0,3138,484,1,0,0,0,3139,3140,7,12,0,0,3140,3141,7,8,0,0,3141,3142,7,19,0,0,3142,3143,7,5,0,0,3143,3144,7,9,0,0,3144,486,1,0,0,0,3145,3146,7,12,0,0,3146,3147,7,21,0,0,3147,3148,7,5,0,0,3148,3149,7,5,0,0,3149,488,1,0,0,0,3150,3151,7,12,0,0,3151,3152,7,21,0,0,3152,3153,7,5,0,0,3153,3154,7,5,0,0,3154,3155,7,19,0,0,3155,3156,7,23,0,0,3156,490,1,0,0,0,3157,3158,7,12,0,0,3158,3159,7,21,0,0,3159,3160,7,17,0,0,3160,3161,7,9,0,0,3161,3162,7,11,0,0,3162,3163,7,19,0,0,3163,3164,7,7,0,0,3164,492,1,0,0,0,3165,3166,7,6,0,0,3166,3167,7,7,0,0,3167,3168,7,7,0,0,3168,3169,7,21,0,0,3169,3170,7,11,0,0,3170,3171,7,11,0,0,3171,3172,7,9,0,0,3172,3173,7,12,0,0,3173,3174,7,7,0,0,3174,3175,7,9,0,0,3175,3176,7,4,0,0,3176,3177,5,95,0,0,3177,3178,7,11,0,0,3178,3179,7,9,0,0,3179,3180,7,16,0,0,3180,3181,7,9,0,0,3181,3182,7,18,0,0,3182,494,1,0,0,0,3183,3184,7,6,0,0,3184,3185,7,7,0,0,3185,3186,7,8,0,0,3186,3187,7,9,0,0,3187,3188,7,8,0,0,3188,3189,5,95,0,0,3189,3190,7,5,0,0,3190,3191,7,9,0,0,3191,3192,7,12,0,0,3192,3193,7,16,0,0,3193,3194,7,8,0,0,3194,3195,7,22,0,0,3195,496,1,0,0,0,3196,3197,7,6,0,0,3197,3198,7,23,0,0,3198,498,1,0,0,0,3199,3200,7,6,0,0,3200,3201,7,23,0,0,3201,3202,7,23,0,0,3202,3203,7,4,0,0,3203,3204,7,9,0,0,3204,3205,7,8,0,0,3205,500,1,0,0,0,3206,3207,7,6,0,0,3207,3208,7,5,0,0,3208,3209,7,15,0,0,3209,502,1,0,0,0,3210,3211,7,6,0,0,3211,3212,7,17,0,0,3212,3213,7,19,0,0,3213,3214,7,8,0,0,3214,504,1,0,0,0,3215,3216,7,6,0,0,3216,3217,7,12,0,0,3217,506,1,0,0,0,3218,3219,7,6,0,0,3219,3220,7,12,0,0,3220,3221,7,9,0,0,3221,508,1,0,0,0,3222,3223,7,6,0,0,3223,3224,7,12,0,0,3224,3225,7,5,0,0,3225,3226,7,13,0,0,3226,510,1,0,0,0,3227,3228,7,6,0,0,3228,3229,7,24,0,0,3229,3230,7,9,0,0,3230,3231,7,12,0,0,3231,512,1,0,0,0,3232,3233,7,6,0,0,3233,3234,7,11,0,0,3234,514,1,0,0,0,3235,3236,7,6,0,0,3236,3237,7,11,0,0,3237,3238,7,15,0,0,3238,3239,7,9,0,0,3239,3240,7,11,0,0,3240,516,1,0,0,0,3241,3242,7,6,0,0,3242,3243,7,11,0,0,3243,3244,7,15,0,0,3244,3245,7,19,0,0,3245,3246,7,12,0,0,3246,3247,7,2,0,0,3247,3248,7,5,0,0,3248,518,1,0,0,0,3249,3250,7,6,0,0,3250,3251,7,21,0,0,3251,3252,7,8,0,0,3252,520,1,0,0,0,3253,3254,7,6,0,0,3254,3255,7,21,0,0,3255,3256,7,8,0,0,3256,3257,7,9,0,0,3257,3258,7,11,0,0,3258,522,1,0,0,0,3259,3260,7,6,0,0,3260,3261,7,20,0,0,3261,3262,7,9,0,0,3262,3263,7,11,0,0,3263,524,1,0,0,0,3264,3265,7,6,0,0,3265,3266,7,20,0,0,3266,3267,7,9,0,0,3267,3268,7,11,0,0,3268,3269,7,5,0,0,3269,3270,7,2,0,0,3270,3271,7,24,0,0,3271,3272,7,4,0,0,3272,526,1,0,0,0,3273,3274,7,6,0,0,3274,3275,7,20,0,0,3275,3276,7,9,0,0,3276,3277,7,11,0,0,3277,3278,7,5,0,0,3278,3279,7,2,0,0,3279,3280,7,13,0,0,3280,528,1,0,0,0,3281,3282,7,6,0,0,3282,3283,7,20,0,0,3283,3284,7,9,0,0,3284,3285,7,11,0,0,3285,3286,7,10,0,0,3286,3287,7,11,0,0,3287,3288,7,19,0,0,3288,3289,7,8,0,0,3289,3290,7,9,0,0,3290,530,1,0,0,0,3291,3292,7,6,0,0,3292,3293,7,20,0,0,3293,3294,7,9,0,0,3294,3295,7,11,0,0,3295,3296,7,10,0,0,3296,3297,7,11,0,0,3297,3298,7,19,0,0,3298,3299,7,8,0,0,3299,3300,7,19,0,0,3300,3301,7,12,0,0,3301,3302,7,16,0,0,3302,532,1,0,0,0,3303,3304,7,24,0,0,3304,3305,7,2,0,0,3305,3306,7,11,0,0,3306,3307,7,2,0,0,3307,3308,7,17,0,0,3308,3309,7,9,0,0,3309,3310,7,8,0,0,3310,3311,7,9,0,0,3311,3312,7,11,0,0,3312,534,1,0,0,0,3313,3314,7,24,0,0,3314,3315,7,2,0,0,3315,3316,7,11,0,0,3316,3317,7,8,0,0,3317,3318,7,19,0,0,3318,3319,7,8,0,0,3319,3320,7,19,0,0,3320,3321,7,6,0,0,3321,3322,7,12,0,0,3322,536,1,0,0,0,3323,3324,7,24,0,0,3324,3325,7,2,0,0,3325,3326,7,11,0,0,3326,3327,7,8,0,0,3327,3328,7,19,0,0,3328,3329,7,8,0,0,3329,3330,7,19,0,0,3330,3331,7,6,0,0,3331,3332,7,12,0,0,3332,3333,7,9,0,0,3333,3334,7,15,0,0,3334,538,1,0,0,0,3335,3336,7,24,0,0,3336,3337,7,2,0,0,3337,3338,7,11,0,0,3338,3339,7,8,0,0,3339,3340,7,19,0,0,3340,3341,7,8,0,0,3341,3342,7,19,0,0,3342,3343,7,6,0,0,3343,3344,7,12,0,0,3344,3345,7,4,0,0,3345,540,1,0,0,0,3346,3347,7,24,0,0,3347,3348,7,2,0,0,3348,3349,7,8,0,0,3349,3350,7,8,0,0,3350,3351,7,9,0,0,3351,3352,7,11,0,0,3352,3353,7,12,0,0,3353,542,1,0,0,0,3354,3355,7,24,0,0,3355,3356,7,9,0,0,3356,3357,7,11,0,0,3357,544,1,0,0,0,3358,3359,7,24,0,0,3359,3360,7,9,0,0,3360,3361,7,11,0,0,3361,3362,7,7,0,0,3362,3363,7,9,0,0,3363,3364,7,12,0,0,3364,3365,7,8,0,0,3365,546,1,0,0,0,3366,3367,7,24,0,0,3367,3368,7,9,0,0,3368,3369,7,11,0,0,3369,3370,7,7,0,0,3370,3371,7,9,0,0,3371,3372,7,12,0,0,3372,3373,7,8,0,0,3373,3374,7,19,0,0,3374,3375,7,5,0,0,3375,3376,7,9,0,0,3376,3377,5,95,0,0,3377,3378,7,7,0,0,3378,3379,7,6,0,0,3379,3380,7,12,0,0,3380,3381,7,8,0,0,3381,548,1,0,0,0,3382,3383,7,24,0,0,3383,3384,7,9,0,0,3384,3385,7,11,0,0,3385,3386,7,7,0,0,3386,3387,7,9,0,0,3387,3388,7,12,0,0,3388,3389,7,8,0,0,3389,3390,7,19,0,0,3390,3391,7,5,0,0,3391,3392,7,9,0,0,3392,3393,5,95,0,0,3393,3394,7,15,0,0,3394,3395,7,19,0,0,3395,3396,7,4,0,0,3396,3397,7,7,0,0,3397,550,1,0,0,0,3398,3399,7,24,0,0,3399,3400,7,9,0,0,3400,3401,7,11,0,0,3401,3402,7,7,0,0,3402,3403,7,9,0,0,3403,3404,7,12,0,0,3404,3405,7,8,0,0,3405,3406,5,95,0,0,3406,3407,7,11,0,0,3407,3408,7,2,0,0,3408,3409,7,12,0,0,3409,3410,7,25,0,0,3410,552,1,0,0,0,3411,3412,7,24,0,0,3412,3413,7,9,0,0,3413,3414,7,11,0,0,3414,3415,7,19,0,0,3415,3416,7,6,0,0,3416,3417,7,15,0,0,3417,554,1,0,0,0,3418,3419,7,24,0,0,3419,3420,7,9,0,0,3420,3421,7,11,0,0,3421,3422,7,17,0,0,3422,3423,7,21,0,0,3423,3424,7,8,0,0,3424,3425,7,9,0,0,3425,556,1,0,0,0,3426,3427,7,24,0,0,3427,3428,7,19,0,0,3428,3429,7,20,0,0,3429,3430,7,6,0,0,3430,3431,7,8,0,0,3431,558,1,0,0,0,3432,3433,7,24,0,0,3433,3434,7,6,0,0,3434,3435,7,11,0,0,3435,3436,7,8,0,0,3436,3437,7,19,0,0,3437,3438,7,6,0,0,3438,3439,7,12,0,0,3439,560,1,0,0,0,3440,3441,7,24,0,0,3441,3442,7,6,0,0,3442,3443,7,4,0,0,3443,3444,7,19,0,0,3444,3445,7,8,0,0,3445,3446,7,19,0,0,3446,3447,7,6,0,0,3447,3448,7,12,0,0,3448,562,1,0,0,0,3449,3450,7,24,0,0,3450,3451,7,6,0,0,3451,3452,7,4,0,0,3452,3453,7,19,0,0,3453,3454,7,8,0,0,3454,3455,7,19,0,0,3455,3456,7,6,0,0,3456,3457,7,12,0,0,3457,3458,5,95,0,0,3458,3459,7,11,0,0,3459,3460,7,9,0,0,3460,3461,7,16,0,0,3461,3462,7,9,0,0,3462,3463,7,18,0,0,3463,564,1,0,0,0,3464,3465,7,24,0,0,3465,3466,7,6,0,0,3466,3467,7,10,0,0,3467,3468,7,9,0,0,3468,3469,7,11,0,0,3469,566,1,0,0,0,3470,3471,7,24,0,0,3471,3472,7,11,0,0,3472,3473,7,9,0,0,3473,3474,7,7,0,0,3474,3475,7,9,0,0,3475,3476,7,15,0,0,3476,3477,7,9,0,0,3477,3478,7,4,0,0,3478,568,1,0,0,0,3479,3480,7,24,0,0,3480,3481,7,11,0,0,3481,3482,7,9,0,0,3482,3483,7,7,0,0,3483,3484,7,19,0,0,3484,3485,7,4,0,0,3485,3486,7,19,0,0,3486,3487,7,6,0,0,3487,3488,7,12,0,0,3488,570,1,0,0,0,3489,3490,7,24,0,0,3490,3491,7,11,0,0,3491,3492,7,9,0,0,3492,3493,7,24,0,0,3493,3494,7,2,0,0,3494,3495,7,11,0,0,3495,3496,7,9,0,0,3496,572,1,0,0,0,3497,3498,7,24,0,0,3498,3499,7,11,0,0,3499,3500,7,9,0,0,3500,3501,7,20,0,0,3501,574,1,0,0,0,3502,3503,7,24,0,0,3503,3504,7,11,0,0,3504,3505,7,19,0,0,3505,3506,7,17,0,0,3506,3507,7,2,0,0,3507,3508,7,11,0,0,3508,3509,7,13,0,0,3509,576,1,0,0,0,3510,3511,7,24,0,0,3511,3512,7,11,0,0,3512,3513,7,6,0,0,3513,3514,7,7,0,0,3514,3515,7,9,0,0,3515,3516,7,15,0,0,3516,3517,7,21,0,0,3517,3518,7,11,0,0,3518,3519,7,9,0,0,3519,578,1,0,0,0,3520,3521,7,26,0,0,3521,3522,7,21,0,0,3522,3523,7,2,0,0,3523,3524,7,5,0,0,3524,3525,7,19,0,0,3525,3526,7,23,0,0,3526,3527,7,13,0,0,3527,580,1,0,0,0,3528,3529,7,26,0,0,3529,3530,7,21,0,0,3530,3531,7,2,0,0,3531,3532,7,11,0,0,3532,3533,7,8,0,0,3533,3534,7,9,0,0,3534,3535,7,11,0,0,3535,3536,7,4,0,0,3536,582,1,0,0,0,3537,3538,7,11,0,0,3538,3539,7,2,0,0,3539,3540,7,12,0,0,3540,3541,7,16,0,0,3541,3542,7,9,0,0,3542,584,1,0,0,0,3543,3544,7,11,0,0,3544,3545,7,2,0,0,3545,3546,7,12,0,0,3546,3547,7,25,0,0,3547,586,1,0,0,0,3548,3549,7,11,0,0,3549,3550,7,2,0,0,3550,3551,7,10,0,0,3551,588,1,0,0,0,3552,3553,7,11,0,0,3553,3554,7,9,0,0,3554,3555,7,2,0,0,3555,3556,7,15,0,0,3556,3557,7,4,0,0,3557,590,1,0,0,0,3558,3559,7,11,0,0,3559,3560,7,9,0,0,3560,3561,7,2,0,0,3561,3562,7,5,0,0,3562,592,1,0,0,0,3563,3564,7,11,0,0,3564,3565,7,9,0,0,3565,3566,7,7,0,0,3566,3567,7,21,0,0,3567,3568,7,11,0,0,3568,3569,7,4,0,0,3569,3570,7,19,0,0,3570,3571,7,20,0,0,3571,3572,7,9,0,0,3572,594,1,0,0,0,3573,3574,7,11,0,0,3574,3575,7,9,0,0,3575,3576,7,23,0,0,3576,596,1,0,0,0,3577,3578,7,11,0,0,3578,3579,7,9,0,0,3579,3580,7,23,0,0,3580,3581,7,9,0,0,3581,3582,7,11,0,0,3582,3583,7,9,0,0,3583,3584,7,12,0,0,3584,3585,7,7,0,0,3585,3586,7,9,0,0,3586,3587,7,4,0,0,3587,598,1,0,0,0,3588,3589,7,11,0,0,3589,3590,7,9,0,0,3590,3591,7,23,0,0,3591,3592,7,9,0,0,3592,3593,7,11,0,0,3593,3594,7,9,0,0,3594,3595,7,12,0,0,3595,3596,7,7,0,0,3596,3597,7,19,0,0,3597,3598,7,12,0,0,3598,3599,7,16,0,0,3599,600,1,0,0,0,3600,3601,7,11,0,0,3601,3602,7,9,0,0,3602,3603,7,16,0,0,3603,3604,7,11,0,0,3604,3605,5,95,0,0,3605,3606,7,2,0,0,3606,3607,7,20,0,0,3607,3608,7,16,0,0,3608,3609,7,18,0,0,3609,602,1,0,0,0,3610,3611,7,11,0,0,3611,3612,7,9,0,0,3612,3613,7,16,0,0,3613,3614,7,11,0,0,3614,3615,5,95,0,0,3615,3616,7,2,0,0,3616,3617,7,20,0,0,3617,3618,7,16,0,0,3618,3619,7,13,0,0,3619,604,1,0,0,0,3620,3621,7,11,0,0,3621,3622,7,9,0,0,3622,3623,7,16,0,0,3623,3624,7,11,0,0,3624,3625,5,95,0,0,3625,3626,7,7,0,0,3626,3627,7,6,0,0,3627,3628,7,21,0,0,3628,3629,7,12,0,0,3629,3630,7,8,0,0,3630,606,1,0,0,0,3631,3632,7,11,0,0,3632,3633,7,9,0,0,3633,3634,7,16,0,0,3634,3635,7,11,0,0,3635,3636,5,95,0,0,3636,3637,7,19,0,0,3637,3638,7,12,0,0,3638,3639,7,8,0,0,3639,3640,7,9,0,0,3640,3641,7,11,0,0,3641,3642,7,7,0,0,3642,3643,7,9,0,0,3643,3644,7,24,0,0,3644,3645,7,8,0,0,3645,608,1,0,0,0,3646,3647,7,11,0,0,3647,3648,7,9,0,0,3648,3649,7,16,0,0,3649,3650,7,11,0,0,3650,3651,5,95,0,0,3651,3652,7,11,0,0,3652,3653,5,50,0,0,3653,610,1,0,0,0,3654,3655,7,11,0,0,3655,3656,7,9,0,0,3656,3657,7,16,0,0,3657,3658,7,11,0,0,3658,3659,5,95,0,0,3659,3660,7,4,0,0,3660,3661,7,5,0,0,3661,3662,7,6,0,0,3662,3663,7,24,0,0,3663,3664,7,9,0,0,3664,612,1,0,0,0,3665,3666,7,11,0,0,3666,3667,7,9,0,0,3667,3668,7,16,0,0,3668,3669,7,11,0,0,3669,3670,5,95,0,0,3670,3671,7,4,0,0,3671,3672,7,18,0,0,3672,3673,7,18,0,0,3673,614,1,0,0,0,3674,3675,7,11,0,0,3675,3676,7,9,0,0,3676,3677,7,16,0,0,3677,3678,7,11,0,0,3678,3679,5,95,0,0,3679,3680,7,4,0,0,3680,3681,7,18,0,0,3681,3682,7,13,0,0,3682,616,1,0,0,0,3683,3684,7,11,0,0,3684,3685,7,9,0,0,3685,3686,7,16,0,0,3686,3687,7,11,0,0,3687,3688,5,95,0,0,3688,3689,7,4,0,0,3689,3690,7,13,0,0,3690,3691,7,13,0,0,3691,618,1,0,0,0,3692,3693,7,11,0,0,3693,3694,7,9,0,0,3694,3695,7,5,0,0,3695,3696,7,9,0,0,3696,3697,7,2,0,0,3697,3698,7,4,0,0,3698,3699,7,9,0,0,3699,620,1,0,0,0,3700,3701,7,11,0,0,3701,3702,7,9,0,0,3702,3703,7,12,0,0,3703,3704,7,2,0,0,3704,3705,7,17,0,0,3705,3706,7,9,0,0,3706,622,1,0,0,0,3707,3708,7,11,0,0,3708,3709,7,9,0,0,3709,3710,7,4,0,0,3710,3711,7,9,0,0,3711,3712,7,8,0,0,3712,624,1,0,0,0,3713,3714,7,11,0,0,3714,3715,7,9,0,0,3715,3716,7,4,0,0,3716,3717,7,21,0,0,3717,3718,7,5,0,0,3718,3719,7,8,0,0,3719,626,1,0,0,0,3720,3721,7,11,0,0,3721,3722,7,9,0,0,3722,3723,7,8,0,0,3723,3724,7,21,0,0,3724,3725,7,11,0,0,3725,3726,7,12,0,0,3726,628,1,0,0,0,3727,3728,7,11,0,0,3728,3729,7,9,0,0,3729,3730,7,8,0,0,3730,3731,7,21,0,0,3731,3732,7,11,0,0,3732,3733,7,12,0,0,3733,3734,7,4,0,0,3734,630,1,0,0,0,3735,3736,7,11,0,0,3736,3737,7,9,0,0,3737,3738,7,20,0,0,3738,3739,7,6,0,0,3739,3740,7,25,0,0,3740,3741,7,9,0,0,3741,632,1,0,0,0,3742,3743,7,11,0,0,3743,3744,7,19,0,0,3744,3745,7,16,0,0,3745,3746,7,22,0,0,3746,3747,7,8,0,0,3747,634,1,0,0,0,3748,3749,7,11,0,0,3749,3750,7,5,0,0,3750,3751,7,19,0,0,3751,3752,7,25,0,0,3752,3753,7,9,0,0,3753,636,1,0,0,0,3754,3755,7,11,0,0,3755,3756,7,6,0,0,3756,3757,7,5,0,0,3757,3758,7,5,0,0,3758,3759,7,3,0,0,3759,3760,7,2,0,0,3760,3761,7,7,0,0,3761,3762,7,25,0,0,3762,638,1,0,0,0,3763,3764,7,11,0,0,3764,3765,7,6,0,0,3765,3766,7,5,0,0,3766,3767,7,5,0,0,3767,3768,7,21,0,0,3768,3769,7,24,0,0,3769,640,1,0,0,0,3770,3771,7,11,0,0,3771,3772,7,6,0,0,3772,3773,7,10,0,0,3773,642,1,0,0,0,3774,3775,7,11,0,0,3775,3776,7,6,0,0,3776,3777,7,10,0,0,3777,3778,7,4,0,0,3778,644,1,0,0,0,3779,3780,7,11,0,0,3780,3781,7,6,0,0,3781,3782,7,10,0,0,3782,3783,5,95,0,0,3783,3784,7,12,0,0,3784,3785,7,21,0,0,3785,3786,7,17,0,0,3786,3787,7,3,0,0,3787,3788,7,9,0,0,3788,3789,7,11,0,0,3789,646,1,0,0,0,3790,3791,7,11,0,0,3791,3792,7,21,0,0,3792,3793,7,12,0,0,3793,3794,7,12,0,0,3794,3795,7,19,0,0,3795,3796,7,12,0,0,3796,3797,7,16,0,0,3797,648,1,0,0,0,3798,3799,7,4,0,0,3799,3800,7,2,0,0,3800,3801,7,23,0,0,3801,3802,7,9,0,0,3802,3803,5,95,0,0,3803,3804,7,7,0,0,3804,3805,7,2,0,0,3805,3806,7,4,0,0,3806,3807,7,8,0,0,3807,650,1,0,0,0,3808,3809,7,4,0,0,3809,3810,7,2,0,0,3810,3811,7,23,0,0,3811,3812,7,9,0,0,3812,3813,5,95,0,0,3813,3814,7,6,0,0,3814,3815,7,23,0,0,3815,3816,7,23,0,0,3816,3817,7,4,0,0,3817,3818,7,9,0,0,3818,3819,7,8,0,0,3819,652,1,0,0,0,3820,3821,7,4,0,0,3821,3822,7,2,0,0,3822,3823,7,23,0,0,3823,3824,7,9,0,0,3824,3825,5,95,0,0,3825,3826,7,6,0,0,3826,3827,7,11,0,0,3827,3828,7,15,0,0,3828,3829,7,19,0,0,3829,3830,7,12,0,0,3830,3831,7,2,0,0,3831,3832,7,5,0,0,3832,654,1,0,0,0,3833,3834,7,4,0,0,3834,3835,7,2,0,0,3835,3836,7,8,0,0,3836,3837,7,21,0,0,3837,3838,7,11,0,0,3838,3839,7,15,0,0,3839,3840,7,2,0,0,3840,3841,7,13,0,0,3841,656,1,0,0,0,3842,3843,7,4,0,0,3843,3844,7,2,0,0,3844,3845,7,20,0,0,3845,3846,7,9,0,0,3846,3847,7,24,0,0,3847,3848,7,6,0,0,3848,3849,7,19,0,0,3849,3850,7,12,0,0,3850,3851,7,8,0,0,3851,658,1,0,0,0,3852,3853,7,4,0,0,3853,3854,7,7,0,0,3854,3855,7,2,0,0,3855,3856,7,5,0,0,3856,3857,7,2,0,0,3857,660,1,0,0,0,3858,3859,7,4,0,0,3859,3860,7,7,0,0,3860,3861,7,6,0,0,3861,3862,7,24,0,0,3862,3863,7,9,0,0,3863,662,1,0,0,0,3864,3865,7,4,0,0,3865,3866,7,7,0,0,3866,3867,7,11,0,0,3867,3868,7,6,0,0,3868,3869,7,5,0,0,3869,3870,7,5,0,0,3870,664,1,0,0,0,3871,3872,7,4,0,0,3872,3873,7,9,0,0,3873,3874,7,2,0,0,3874,3875,7,11,0,0,3875,3876,7,7,0,0,3876,3877,7,22,0,0,3877,666,1,0,0,0,3878,3879,7,4,0,0,3879,3880,7,9,0,0,3880,3881,7,7,0,0,3881,3882,7,6,0,0,3882,3883,7,12,0,0,3883,3884,7,15,0,0,3884,668,1,0,0,0,3885,3886,7,4,0,0,3886,3887,7,9,0,0,3887,3888,7,9,0,0,3888,3889,7,25,0,0,3889,670,1,0,0,0,3890,3891,7,4,0,0,3891,3892,7,9,0,0,3892,3893,7,5,0,0,3893,3894,7,9,0,0,3894,3895,7,7,0,0,3895,3896,7,8,0,0,3896,672,1,0,0,0,3897,3898,7,4,0,0,3898,3899,7,9,0,0,3899,3900,7,12,0,0,3900,3901,7,4,0,0,3901,3902,7,19,0,0,3902,3903,7,8,0,0,3903,3904,7,19,0,0,3904,3905,7,20,0,0,3905,3906,7,9,0,0,3906,674,1,0,0,0,3907,3908,7,4,0,0,3908,3909,7,9,0,0,3909,3910,7,24,0,0,3910,3911,7,2,0,0,3911,3912,7,11,0,0,3912,3913,7,2,0,0,3913,3914,7,8,0,0,3914,3915,7,6,0,0,3915,3916,7,11,0,0,3916,676,1,0,0,0,3917,3918,7,4,0,0,3918,3919,7,9,0,0,3919,3920,7,4,0,0,3920,3921,7,4,0,0,3921,3922,7,19,0,0,3922,3923,7,6,0,0,3923,3924,7,12,0,0,3924,3925,5,95,0,0,3925,3926,7,21,0,0,3926,3927,7,4,0,0,3927,3928,7,9,0,0,3928,3929,7,11,0,0,3929,678,1,0,0,0,3930,3931,7,4,0,0,3931,3932,7,9,0,0,3932,3933,7,8,0,0,3933,680,1,0,0,0,3934,3935,7,4,0,0,3935,3936,7,22,0,0,3936,3937,7,6,0,0,3937,3938,7,10,0,0,3938,682,1,0,0,0,3939,3940,7,4,0,0,3940,3941,7,19,0,0,3941,3942,7,17,0,0,3942,3943,7,19,0,0,3943,3944,7,5,0,0,3944,3945,7,2,0,0,3945,3946,7,11,0,0,3946,684,1,0,0,0,3947,3948,7,4,0,0,3948,3949,7,25,0,0,3949,3950,7,19,0,0,3950,3951,7,24,0,0,3951,686,1,0,0,0,3952,3953,7,4,0,0,3953,3954,7,17,0,0,3954,3955,7,2,0,0,3955,3956,7,5,0,0,3956,3957,7,5,0,0,3957,3958,7,19,0,0,3958,3959,7,12,0,0,3959,3960,7,8,0,0,3960,688,1,0,0,0,3961,3962,7,4,0,0,3962,3963,7,6,0,0,3963,3964,7,17,0,0,3964,3965,7,9,0,0,3965,690,1,0,0,0,3966,3967,7,4,0,0,3967,3968,7,24,0,0,3968,3969,7,9,0,0,3969,3970,7,7,0,0,3970,3971,7,19,0,0,3971,3972,7,23,0,0,3972,3973,7,19,0,0,3973,3974,7,7,0,0,3974,692,1,0,0,0,3975,3976,7,4,0,0,3976,3977,7,24,0,0,3977,3978,7,9,0,0,3978,3979,7,7,0,0,3979,3980,7,19,0,0,3980,3981,7,23,0,0,3981,3982,7,19,0,0,3982,3983,7,7,0,0,3983,3984,7,8,0,0,3984,3985,7,13,0,0,3985,3986,7,24,0,0,3986,3987,7,9,0,0,3987,694,1,0,0,0,3988,3989,7,4,0,0,3989,3990,7,26,0,0,3990,3991,7,5,0,0,3991,696,1,0,0,0,3992,3993,7,4,0,0,3993,3994,7,26,0,0,3994,3995,7,5,0,0,3995,3996,7,9,0,0,3996,3997,7,18,0,0,3997,3998,7,7,0,0,3998,3999,7,9,0,0,3999,4e3,7,24,0,0,4e3,4001,7,8,0,0,4001,4002,7,19,0,0,4002,4003,7,6,0,0,4003,4004,7,12,0,0,4004,698,1,0,0,0,4005,4006,7,4,0,0,4006,4007,7,26,0,0,4007,4008,7,5,0,0,4008,4009,7,4,0,0,4009,4010,7,8,0,0,4010,4011,7,2,0,0,4011,4012,7,8,0,0,4012,4013,7,9,0,0,4013,700,1,0,0,0,4014,4015,7,4,0,0,4015,4016,7,26,0,0,4016,4017,7,5,0,0,4017,4018,7,10,0,0,4018,4019,7,2,0,0,4019,4020,7,11,0,0,4020,4021,7,12,0,0,4021,4022,7,19,0,0,4022,4023,7,12,0,0,4023,4024,7,16,0,0,4024,702,1,0,0,0,4025,4026,7,4,0,0,4026,4027,7,26,0,0,4027,4028,7,11,0,0,4028,4029,7,8,0,0,4029,704,1,0,0,0,4030,4031,7,4,0,0,4031,4032,7,8,0,0,4032,4033,7,2,0,0,4033,4034,7,11,0,0,4034,4035,7,8,0,0,4035,706,1,0,0,0,4036,4037,7,4,0,0,4037,4038,7,8,0,0,4038,4039,7,2,0,0,4039,4040,7,8,0,0,4040,4041,7,9,0,0,4041,4042,7,17,0,0,4042,4043,7,9,0,0,4043,4044,7,12,0,0,4044,4045,7,8,0,0,4045,708,1,0,0,0,4046,4047,7,4,0,0,4047,4048,7,8,0,0,4048,4049,7,2,0,0,4049,4050,7,8,0,0,4050,4051,7,19,0,0,4051,4052,7,7,0,0,4052,710,1,0,0,0,4053,4054,7,4,0,0,4054,4055,7,8,0,0,4055,4056,7,2,0,0,4056,4057,7,8,0,0,4057,4058,7,19,0,0,4058,4059,7,4,0,0,4059,4060,7,8,0,0,4060,4061,7,19,0,0,4061,4062,7,7,0,0,4062,4063,7,4,0,0,4063,712,1,0,0,0,4064,4065,7,4,0,0,4065,4066,7,8,0,0,4066,4067,7,15,0,0,4067,4068,7,15,0,0,4068,4069,7,9,0,0,4069,4070,7,20,0,0,4070,4071,5,95,0,0,4071,4072,7,24,0,0,4072,4073,7,6,0,0,4073,4074,7,24,0,0,4074,714,1,0,0,0,4075,4076,7,4,0,0,4076,4077,7,8,0,0,4077,4078,7,15,0,0,4078,4079,7,15,0,0,4079,4080,7,9,0,0,4080,4081,7,20,0,0,4081,4082,5,95,0,0,4082,4083,7,4,0,0,4083,4084,7,2,0,0,4084,4085,7,17,0,0,4085,4086,7,24,0,0,4086,716,1,0,0,0,4087,4088,7,4,0,0,4088,4089,7,8,0,0,4089,4090,7,11,0,0,4090,4091,7,9,0,0,4091,4092,7,2,0,0,4092,4093,7,17,0,0,4093,718,1,0,0,0,4094,4095,7,4,0,0,4095,4096,7,8,0,0,4096,4097,7,11,0,0,4097,4098,7,19,0,0,4098,4099,7,12,0,0,4099,4100,7,16,0,0,4100,720,1,0,0,0,4101,4102,7,4,0,0,4102,4103,7,8,0,0,4103,4104,7,11,0,0,4104,4105,7,19,0,0,4105,4106,7,12,0,0,4106,4107,7,16,0,0,4107,4108,5,95,0,0,4108,4109,7,2,0,0,4109,4110,7,16,0,0,4110,4111,7,16,0,0,4111,722,1,0,0,0,4112,4113,7,4,0,0,4113,4114,7,21,0,0,4114,4115,7,3,0,0,4115,4116,7,17,0,0,4116,4117,7,21,0,0,4117,4118,7,5,0,0,4118,4119,7,8,0,0,4119,4120,7,19,0,0,4120,4121,7,4,0,0,4121,4122,7,9,0,0,4122,4123,7,8,0,0,4123,724,1,0,0,0,4124,4125,7,4,0,0,4125,4126,7,21,0,0,4126,4127,7,3,0,0,4127,4128,7,4,0,0,4128,4129,7,9,0,0,4129,4130,7,8,0,0,4130,726,1,0,0,0,4131,4132,7,4,0,0,4132,4133,7,21,0,0,4133,4134,7,3,0,0,4134,4135,7,4,0,0,4135,4136,7,8,0,0,4136,4137,7,11,0,0,4137,4138,7,19,0,0,4138,4139,7,12,0,0,4139,4140,7,16,0,0,4140,728,1,0,0,0,4141,4142,7,4,0,0,4142,4143,7,21,0,0,4143,4144,7,3,0,0,4144,4145,7,4,0,0,4145,4146,7,8,0,0,4146,4147,7,11,0,0,4147,4148,7,19,0,0,4148,4149,7,12,0,0,4149,4150,7,16,0,0,4150,4151,5,95,0,0,4151,4152,7,11,0,0,4152,4153,7,9,0,0,4153,4154,7,16,0,0,4154,4155,7,9,0,0,4155,4156,7,18,0,0,4156,730,1,0,0,0,4157,4158,7,4,0,0,4158,4159,7,21,0,0,4159,4160,7,7,0,0,4160,4161,7,7,0,0,4161,4162,7,9,0,0,4162,4163,7,9,0,0,4163,4164,7,15,0,0,4164,4165,7,4,0,0,4165,732,1,0,0,0,4166,4167,7,4,0,0,4167,4168,7,21,0,0,4168,4169,7,17,0,0,4169,734,1,0,0,0,4170,4171,7,4,0,0,4171,4172,7,21,0,0,4172,4173,7,12,0,0,4173,4174,7,15,0,0,4174,4175,7,2,0,0,4175,4176,7,13,0,0,4176,736,1,0,0,0,4177,4178,7,4,0,0,4178,4179,7,13,0,0,4179,4180,7,17,0,0,4180,4181,7,17,0,0,4181,4182,7,9,0,0,4182,4183,7,8,0,0,4183,4184,7,11,0,0,4184,4185,7,19,0,0,4185,4186,7,7,0,0,4186,738,1,0,0,0,4187,4188,7,4,0,0,4188,4189,7,13,0,0,4189,4190,7,4,0,0,4190,4191,7,8,0,0,4191,4192,7,9,0,0,4192,4193,7,17,0,0,4193,740,1,0,0,0,4194,4195,7,4,0,0,4195,4196,7,13,0,0,4196,4197,7,4,0,0,4197,4198,7,8,0,0,4198,4199,7,9,0,0,4199,4200,7,17,0,0,4200,4201,5,95,0,0,4201,4202,7,8,0,0,4202,4203,7,19,0,0,4203,4204,7,17,0,0,4204,4205,7,9,0,0,4205,742,1,0,0,0,4206,4207,7,4,0,0,4207,4208,7,13,0,0,4208,4209,7,4,0,0,4209,4210,7,8,0,0,4210,4211,7,9,0,0,4211,4212,7,17,0,0,4212,4213,5,95,0,0,4213,4214,7,21,0,0,4214,4215,7,4,0,0,4215,4216,7,9,0,0,4216,4217,7,11,0,0,4217,744,1,0,0,0,4218,4219,7,8,0,0,4219,4220,7,2,0,0,4220,4221,7,3,0,0,4221,4222,7,5,0,0,4222,4223,7,9,0,0,4223,746,1,0,0,0,4224,4225,7,8,0,0,4225,4226,7,2,0,0,4226,4227,7,3,0,0,4227,4228,7,5,0,0,4228,4229,7,9,0,0,4229,4230,7,4,0,0,4230,748,1,0,0,0,4231,4232,7,8,0,0,4232,4233,7,2,0,0,4233,4234,7,3,0,0,4234,4235,7,5,0,0,4235,4236,7,9,0,0,4236,4237,7,4,0,0,4237,4238,7,2,0,0,4238,4239,7,17,0,0,4239,4240,7,24,0,0,4240,4241,7,5,0,0,4241,4242,7,9,0,0,4242,750,1,0,0,0,4243,4244,7,8,0,0,4244,4245,7,22,0,0,4245,4246,7,9,0,0,4246,4247,7,12,0,0,4247,752,1,0,0,0,4248,4249,7,8,0,0,4249,4250,7,22,0,0,4250,4251,7,21,0,0,4251,4252,7,11,0,0,4252,4253,7,4,0,0,4253,4254,7,15,0,0,4254,4255,7,2,0,0,4255,4256,7,13,0,0,4256,754,1,0,0,0,4257,4258,7,8,0,0,4258,4259,7,19,0,0,4259,4260,7,17,0,0,4260,4261,7,9,0,0,4261,756,1,0,0,0,4262,4263,7,8,0,0,4263,4264,7,19,0,0,4264,4265,7,17,0,0,4265,4266,7,9,0,0,4266,4267,7,4,0,0,4267,4268,7,8,0,0,4268,4269,7,2,0,0,4269,4270,7,17,0,0,4270,4271,7,24,0,0,4271,758,1,0,0,0,4272,4273,7,8,0,0,4273,4274,7,19,0,0,4274,4275,7,17,0,0,4275,4276,7,9,0,0,4276,4277,7,4,0,0,4277,4278,7,8,0,0,4278,4279,7,2,0,0,4279,4280,7,17,0,0,4280,4281,7,24,0,0,4281,4282,5,95,0,0,4282,4283,7,15,0,0,4283,4284,7,19,0,0,4284,4285,7,23,0,0,4285,4286,7,23,0,0,4286,760,1,0,0,0,4287,4288,7,8,0,0,4288,4289,7,19,0,0,4289,4290,7,17,0,0,4290,4291,7,9,0,0,4291,4292,7,4,0,0,4292,4293,7,8,0,0,4293,4294,7,2,0,0,4294,4295,7,17,0,0,4295,4296,7,24,0,0,4296,4297,5,95,0,0,4297,4298,7,5,0,0,4298,4299,7,8,0,0,4299,4300,7,14,0,0,4300,762,1,0,0,0,4301,4302,7,8,0,0,4302,4303,7,19,0,0,4303,4304,7,17,0,0,4304,4305,7,9,0,0,4305,4306,7,4,0,0,4306,4307,7,8,0,0,4307,4308,7,2,0,0,4308,4309,7,17,0,0,4309,4310,7,24,0,0,4310,4311,5,95,0,0,4311,4312,7,8,0,0,4312,4313,7,11,0,0,4313,4314,7,21,0,0,4314,4315,7,12,0,0,4315,4316,7,7,0,0,4316,764,1,0,0,0,4317,4318,7,8,0,0,4318,4319,7,19,0,0,4319,4320,7,17,0,0,4320,4321,7,9,0,0,4321,4322,7,14,0,0,4322,4323,7,6,0,0,4323,4324,7,12,0,0,4324,4325,7,9,0,0,4325,4326,5,95,0,0,4326,4327,7,22,0,0,4327,4328,7,6,0,0,4328,4329,7,21,0,0,4329,4330,7,11,0,0,4330,766,1,0,0,0,4331,4332,7,8,0,0,4332,4333,7,19,0,0,4333,4334,7,17,0,0,4334,4335,7,9,0,0,4335,4336,7,14,0,0,4336,4337,7,6,0,0,4337,4338,7,12,0,0,4338,4339,7,9,0,0,4339,4340,5,95,0,0,4340,4341,7,17,0,0,4341,4342,7,19,0,0,4342,4343,7,12,0,0,4343,4344,7,21,0,0,4344,4345,7,8,0,0,4345,4346,7,9,0,0,4346,768,1,0,0,0,4347,4348,7,8,0,0,4348,4349,7,19,0,0,4349,4350,7,17,0,0,4350,4351,7,9,0,0,4351,4352,5,95,0,0,4352,4353,7,15,0,0,4353,4354,7,19,0,0,4354,4355,7,23,0,0,4355,4356,7,23,0,0,4356,770,1,0,0,0,4357,4358,7,8,0,0,4358,4359,7,19,0,0,4359,4360,7,17,0,0,4360,4361,7,9,0,0,4361,4362,5,95,0,0,4362,4363,7,8,0,0,4363,4364,7,11,0,0,4364,4365,7,21,0,0,4365,4366,7,12,0,0,4366,4367,7,7,0,0,4367,772,1,0,0,0,4368,4369,7,8,0,0,4369,4370,7,19,0,0,4370,4371,7,12,0,0,4371,4372,7,13,0,0,4372,4373,7,19,0,0,4373,4374,7,12,0,0,4374,4375,7,8,0,0,4375,774,1,0,0,0,4376,4377,7,8,0,0,4377,4378,7,6,0,0,4378,776,1,0,0,0,4379,4380,7,8,0,0,4380,4381,7,11,0,0,4381,4382,7,2,0,0,4382,4383,7,19,0,0,4383,4384,7,5,0,0,4384,4385,7,19,0,0,4385,4386,7,12,0,0,4386,4387,7,16,0,0,4387,778,1,0,0,0,4388,4389,7,8,0,0,4389,4390,7,11,0,0,4390,4391,7,2,0,0,4391,4392,7,12,0,0,4392,4393,7,4,0,0,4393,4394,7,5,0,0,4394,4395,7,2,0,0,4395,4396,7,8,0,0,4396,4397,7,9,0,0,4397,780,1,0,0,0,4398,4399,7,8,0,0,4399,4400,7,11,0,0,4400,4401,7,2,0,0,4401,4402,7,12,0,0,4402,4403,7,4,0,0,4403,4404,7,5,0,0,4404,4405,7,2,0,0,4405,4406,7,8,0,0,4406,4407,7,9,0,0,4407,4408,5,95,0,0,4408,4409,7,11,0,0,4409,4410,7,9,0,0,4410,4411,7,16,0,0,4411,4412,7,9,0,0,4412,4413,7,18,0,0,4413,782,1,0,0,0,4414,4415,7,8,0,0,4415,4416,7,11,0,0,4416,4417,7,2,0,0,4417,4418,7,12,0,0,4418,4419,7,4,0,0,4419,4420,7,5,0,0,4420,4421,7,2,0,0,4421,4422,7,8,0,0,4422,4423,7,19,0,0,4423,4424,7,6,0,0,4424,4425,7,12,0,0,4425,784,1,0,0,0,4426,4427,7,8,0,0,4427,4428,7,11,0,0,4428,4429,7,9,0,0,4429,4430,7,2,0,0,4430,4431,7,8,0,0,4431,786,1,0,0,0,4432,4433,7,8,0,0,4433,4434,7,11,0,0,4434,4435,7,19,0,0,4435,4436,7,16,0,0,4436,4437,7,16,0,0,4437,4438,7,9,0,0,4438,4439,7,11,0,0,4439,788,1,0,0,0,4440,4441,7,8,0,0,4441,4442,7,11,0,0,4442,4443,7,19,0,0,4443,4444,7,17,0,0,4444,790,1,0,0,0,4445,4446,7,8,0,0,4446,4447,7,11,0,0,4447,4448,7,19,0,0,4448,4449,7,17,0,0,4449,4450,5,95,0,0,4450,4451,7,2,0,0,4451,4452,7,11,0,0,4452,4453,7,11,0,0,4453,4454,7,2,0,0,4454,4455,7,13,0,0,4455,792,1,0,0,0,4456,4457,7,8,0,0,4457,4458,7,11,0,0,4458,4459,7,21,0,0,4459,4460,7,9,0,0,4460,794,1,0,0,0,4461,4462,7,8,0,0,4462,4463,7,11,0,0,4463,4464,7,21,0,0,4464,4465,7,12,0,0,4465,4466,7,7,0,0,4466,4467,7,2,0,0,4467,4468,7,8,0,0,4468,4469,7,9,0,0,4469,796,1,0,0,0,4470,4471,7,8,0,0,4471,4472,7,11,0,0,4472,4473,7,13,0,0,4473,4474,5,95,0,0,4474,4475,7,7,0,0,4475,4476,7,2,0,0,4476,4477,7,4,0,0,4477,4478,7,8,0,0,4478,798,1,0,0,0,4479,4480,7,8,0,0,4480,4481,7,21,0,0,4481,4482,7,9,0,0,4482,4483,7,4,0,0,4483,4484,7,15,0,0,4484,4485,7,2,0,0,4485,4486,7,13,0,0,4486,800,1,0,0,0,4487,4488,7,21,0,0,4488,4489,7,9,0,0,4489,4490,7,4,0,0,4490,4491,7,7,0,0,4491,4492,7,2,0,0,4492,4493,7,24,0,0,4493,4494,7,9,0,0,4494,802,1,0,0,0,4495,4496,7,21,0,0,4496,4497,7,12,0,0,4497,4498,7,19,0,0,4498,4499,7,6,0,0,4499,4500,7,12,0,0,4500,804,1,0,0,0,4501,4502,7,21,0,0,4502,4503,7,12,0,0,4503,4504,7,19,0,0,4504,4505,7,26,0,0,4505,4506,7,21,0,0,4506,4507,7,9,0,0,4507,806,1,0,0,0,4508,4509,7,21,0,0,4509,4510,7,12,0,0,4510,4511,7,25,0,0,4511,4512,7,12,0,0,4512,4513,7,6,0,0,4513,4514,7,10,0,0,4514,4515,7,12,0,0,4515,808,1,0,0,0,4516,4517,7,21,0,0,4517,4518,7,12,0,0,4518,4519,7,12,0,0,4519,4520,7,9,0,0,4520,4521,7,4,0,0,4521,4522,7,8,0,0,4522,810,1,0,0,0,4523,4524,7,21,0,0,4524,4525,7,12,0,0,4525,4526,7,24,0,0,4526,4527,7,19,0,0,4527,4528,7,20,0,0,4528,4529,7,6,0,0,4529,4530,7,8,0,0,4530,812,1,0,0,0,4531,4532,7,21,0,0,4532,4533,7,24,0,0,4533,4534,7,15,0,0,4534,4535,7,2,0,0,4535,4536,7,8,0,0,4536,4537,7,9,0,0,4537,814,1,0,0,0,4538,4539,7,21,0,0,4539,4540,7,24,0,0,4540,4541,7,24,0,0,4541,4542,7,9,0,0,4542,4543,7,11,0,0,4543,816,1,0,0,0,4544,4545,7,21,0,0,4545,4546,7,24,0,0,4546,4547,7,4,0,0,4547,4548,7,9,0,0,4548,4549,7,11,0,0,4549,4550,7,8,0,0,4550,818,1,0,0,0,4551,4552,7,21,0,0,4552,4553,7,4,0,0,4553,4554,7,9,0,0,4554,820,1,0,0,0,4555,4556,7,21,0,0,4556,4557,7,4,0,0,4557,4558,7,9,0,0,4558,4559,7,11,0,0,4559,822,1,0,0,0,4560,4561,7,21,0,0,4561,4562,7,4,0,0,4562,4563,7,19,0,0,4563,4564,7,12,0,0,4564,4565,7,16,0,0,4565,824,1,0,0,0,4566,4567,7,20,0,0,4567,4568,7,2,0,0,4568,4569,7,5,0,0,4569,4570,7,21,0,0,4570,4571,7,9,0,0,4571,826,1,0,0,0,4572,4573,7,20,0,0,4573,4574,7,2,0,0,4574,4575,7,5,0,0,4575,4576,7,21,0,0,4576,4577,7,9,0,0,4577,4578,7,4,0,0,4578,828,1,0,0,0,4579,4580,7,20,0,0,4580,4581,7,2,0,0,4581,4582,7,5,0,0,4582,4583,7,21,0,0,4583,4584,7,9,0,0,4584,4585,5,95,0,0,4585,4586,7,6,0,0,4586,4587,7,23,0,0,4587,830,1,0,0,0,4588,4589,7,20,0,0,4589,4590,7,2,0,0,4590,4591,7,11,0,0,4591,4592,7,3,0,0,4592,4593,7,19,0,0,4593,4594,7,12,0,0,4594,4595,7,2,0,0,4595,4596,7,11,0,0,4596,4597,7,13,0,0,4597,832,1,0,0,0,4598,4599,7,20,0,0,4599,4600,7,2,0,0,4600,4601,7,11,0,0,4601,4602,7,7,0,0,4602,4603,7,22,0,0,4603,4604,7,2,0,0,4604,4605,7,11,0,0,4605,834,1,0,0,0,4606,4607,7,20,0,0,4607,4608,7,2,0,0,4608,4609,7,11,0,0,4609,4610,7,13,0,0,4610,4611,7,19,0,0,4611,4612,7,12,0,0,4612,4613,7,16,0,0,4613,836,1,0,0,0,4614,4615,7,20,0,0,4615,4616,7,2,0,0,4616,4617,7,11,0,0,4617,4618,5,95,0,0,4618,4619,7,24,0,0,4619,4620,7,6,0,0,4620,4621,7,24,0,0,4621,838,1,0,0,0,4622,4623,7,20,0,0,4623,4624,7,2,0,0,4624,4625,7,11,0,0,4625,4626,5,95,0,0,4626,4627,7,4,0,0,4627,4628,7,2,0,0,4628,4629,7,17,0,0,4629,4630,7,24,0,0,4630,840,1,0,0,0,4631,4632,7,20,0,0,4632,4633,7,9,0,0,4633,4634,7,11,0,0,4634,4635,7,4,0,0,4635,4636,7,19,0,0,4636,4637,7,6,0,0,4637,4638,7,12,0,0,4638,4639,7,19,0,0,4639,4640,7,12,0,0,4640,4641,7,16,0,0,4641,842,1,0,0,0,4642,4643,7,20,0,0,4643,4644,7,19,0,0,4644,4645,7,9,0,0,4645,4646,7,10,0,0,4646,4647,7,4,0,0,4647,844,1,0,0,0,4648,4649,7,20,0,0,4649,4650,7,19,0,0,4650,4651,7,11,0,0,4651,4652,7,8,0,0,4652,4653,7,21,0,0,4653,4654,7,2,0,0,4654,4655,7,5,0,0,4655,846,1,0,0,0,4656,4657,7,10,0,0,4657,4658,7,2,0,0,4658,4659,7,8,0,0,4659,4660,7,9,0,0,4660,4661,7,11,0,0,4661,4662,7,17,0,0,4662,4663,7,2,0,0,4663,4664,7,11,0,0,4664,4665,7,25,0,0,4665,848,1,0,0,0,4666,4667,7,10,0,0,4667,4668,7,2,0,0,4668,4669,7,8,0,0,4669,4670,7,9,0,0,4670,4671,7,11,0,0,4671,4672,7,17,0,0,4672,4673,7,2,0,0,4673,4674,7,11,0,0,4674,4675,7,25,0,0,4675,4676,7,4,0,0,4676,850,1,0,0,0,4677,4678,7,10,0,0,4678,4679,7,9,0,0,4679,4680,7,15,0,0,4680,4681,7,12,0,0,4681,4682,7,9,0,0,4682,4683,7,4,0,0,4683,4684,7,15,0,0,4684,4685,7,2,0,0,4685,4686,7,13,0,0,4686,852,1,0,0,0,4687,4688,7,10,0,0,4688,4689,7,9,0,0,4689,4690,7,9,0,0,4690,4691,7,25,0,0,4691,4692,7,4,0,0,4692,854,1,0,0,0,4693,4694,7,10,0,0,4694,4695,7,22,0,0,4695,4696,7,9,0,0,4696,4697,7,12,0,0,4697,856,1,0,0,0,4698,4699,7,10,0,0,4699,4700,7,22,0,0,4700,4701,7,9,0,0,4701,4702,7,12,0,0,4702,4703,7,9,0,0,4703,4704,7,20,0,0,4704,4705,7,9,0,0,4705,4706,7,11,0,0,4706,858,1,0,0,0,4707,4708,7,10,0,0,4708,4709,7,22,0,0,4709,4710,7,9,0,0,4710,4711,7,11,0,0,4711,4712,7,9,0,0,4712,860,1,0,0,0,4713,4714,7,10,0,0,4714,4715,7,19,0,0,4715,4716,7,15,0,0,4716,4717,7,8,0,0,4717,4718,7,22,0,0,4718,4719,5,95,0,0,4719,4720,7,3,0,0,4720,4721,7,21,0,0,4721,4722,7,7,0,0,4722,4723,7,25,0,0,4723,4724,7,9,0,0,4724,4725,7,8,0,0,4725,862,1,0,0,0,4726,4727,7,10,0,0,4727,4728,7,19,0,0,4728,4729,7,12,0,0,4729,4730,7,15,0,0,4730,4731,7,6,0,0,4731,4732,7,10,0,0,4732,864,1,0,0,0,4733,4734,7,10,0,0,4734,4735,7,19,0,0,4735,4736,7,8,0,0,4736,4737,7,22,0,0,4737,866,1,0,0,0,4738,4739,7,10,0,0,4739,4740,7,19,0,0,4740,4741,7,8,0,0,4741,4742,7,22,0,0,4742,4743,7,19,0,0,4743,4744,7,12,0,0,4744,868,1,0,0,0,4745,4746,7,10,0,0,4746,4747,7,19,0,0,4747,4748,7,8,0,0,4748,4749,7,22,0,0,4749,4750,7,6,0,0,4750,4751,7,21,0,0,4751,4752,7,8,0,0,4752,870,1,0,0,0,4753,4754,7,13,0,0,4754,4755,7,9,0,0,4755,4756,7,2,0,0,4756,4757,7,11,0,0,4757,872,1,0,0,0,4758,4759,7,2,0,0,4759,4760,7,15,0,0,4760,4761,7,15,0,0,4761,874,1,0,0,0,4762,4763,7,2,0,0,4763,4764,7,23,0,0,4764,4765,7,8,0,0,4765,4766,7,9,0,0,4766,4767,7,11,0,0,4767,876,1,0,0,0,4768,4769,7,2,0,0,4769,4770,7,4,0,0,4770,4771,7,7,0,0,4771,878,1,0,0,0,4772,4773,7,7,0,0,4773,4774,7,2,0,0,4774,4775,7,4,0,0,4775,4776,7,7,0,0,4776,4777,7,2,0,0,4777,4778,7,15,0,0,4778,4779,7,9,0,0,4779,880,1,0,0,0,4780,4781,7,7,0,0,4781,4782,7,2,0,0,4782,4783,7,8,0,0,4783,4784,7,2,0,0,4784,4785,7,5,0,0,4785,4786,7,6,0,0,4786,4787,7,16,0,0,4787,882,1,0,0,0,4788,4789,7,7,0,0,4789,4790,7,9,0,0,4790,4791,7,12,0,0,4791,4792,7,8,0,0,4792,4793,7,21,0,0,4793,4794,7,11,0,0,4794,4795,7,13,0,0,4795,884,1,0,0,0,4796,4797,7,7,0,0,4797,4798,7,6,0,0,4798,4799,7,12,0,0,4799,4800,7,23,0,0,4800,4801,7,19,0,0,4801,4802,7,16,0,0,4802,886,1,0,0,0,4803,4804,7,7,0,0,4804,4805,7,6,0,0,4805,4806,7,12,0,0,4806,4807,7,4,0,0,4807,4808,7,8,0,0,4808,4809,7,11,0,0,4809,4810,7,2,0,0,4810,4811,7,19,0,0,4811,4812,7,12,0,0,4812,4813,7,8,0,0,4813,4814,7,4,0,0,4814,888,1,0,0,0,4815,4816,7,7,0,0,4816,4817,7,21,0,0,4817,4818,7,17,0,0,4818,4819,7,21,0,0,4819,4820,7,5,0,0,4820,4821,7,2,0,0,4821,4822,7,8,0,0,4822,4823,7,9,0,0,4823,890,1,0,0,0,4824,4825,7,15,0,0,4825,4826,7,2,0,0,4826,4827,7,8,0,0,4827,4828,7,2,0,0,4828,892,1,0,0,0,4829,4830,7,15,0,0,4830,4831,7,2,0,0,4831,4832,7,8,0,0,4832,4833,7,2,0,0,4833,4834,7,3,0,0,4834,4835,7,2,0,0,4835,4836,7,4,0,0,4836,4837,7,9,0,0,4837,894,1,0,0,0,4838,4839,7,15,0,0,4839,4840,7,2,0,0,4840,4841,7,13,0,0,4841,4842,7,4,0,0,4842,896,1,0,0,0,4843,4844,7,15,0,0,4844,4845,7,9,0,0,4845,4846,7,7,0,0,4846,4847,7,2,0,0,4847,4848,7,15,0,0,4848,4849,7,9,0,0,4849,898,1,0,0,0,4850,4851,7,15,0,0,4851,4852,7,9,0,0,4852,4853,7,4,0,0,4853,4854,7,7,0,0,4854,900,1,0,0,0,4855,4856,7,15,0,0,4856,4857,7,9,0,0,4857,4858,7,4,0,0,4858,4859,7,7,0,0,4859,4860,7,11,0,0,4860,4861,7,19,0,0,4861,4862,7,24,0,0,4862,4863,7,8,0,0,4863,4864,7,6,0,0,4864,4865,7,11,0,0,4865,902,1,0,0,0,4866,4867,7,15,0,0,4867,4868,7,19,0,0,4868,4869,7,20,0,0,4869,904,1,0,0,0,4870,4871,7,9,0,0,4871,4872,7,12,0,0,4872,4873,7,16,0,0,4873,4874,7,19,0,0,4874,4875,7,12,0,0,4875,4876,7,9,0,0,4876,906,1,0,0,0,4877,4878,7,9,0,0,4878,4879,7,24,0,0,4879,4880,7,6,0,0,4880,4881,7,7,0,0,4881,4882,7,22,0,0,4882,908,1,0,0,0,4883,4884,7,9,0,0,4884,4885,7,18,0,0,4885,4886,7,7,0,0,4886,4887,7,5,0,0,4887,4888,7,21,0,0,4888,4889,7,15,0,0,4889,4890,7,19,0,0,4890,4891,7,12,0,0,4891,4892,7,16,0,0,4892,910,1,0,0,0,4893,4894,7,23,0,0,4894,4895,7,19,0,0,4895,4896,7,5,0,0,4896,4897,7,9,0,0,4897,912,1,0,0,0,4898,4899,7,23,0,0,4899,4900,7,19,0,0,4900,4901,7,11,0,0,4901,4902,7,4,0,0,4902,4903,7,8,0,0,4903,914,1,0,0,0,4904,4905,7,16,0,0,4905,4906,7,9,0,0,4906,4907,7,12,0,0,4907,4908,7,9,0,0,4908,4909,7,11,0,0,4909,4910,7,2,0,0,4910,4911,7,8,0,0,4911,4912,7,9,0,0,4912,4913,7,15,0,0,4913,916,1,0,0,0,4914,4915,7,22,0,0,4915,4916,7,6,0,0,4916,4917,7,24,0,0,4917,918,1,0,0,0,4918,4919,7,22,0,0,4919,4920,7,6,0,0,4920,4921,7,21,0,0,4921,4922,7,11,0,0,4922,4923,7,4,0,0,4923,920,1,0,0,0,4924,4925,7,19,0,0,4925,4926,7,16,0,0,4926,4927,7,12,0,0,4927,4928,7,6,0,0,4928,4929,7,11,0,0,4929,4930,7,9,0,0,4930,922,1,0,0,0,4931,4932,7,19,0,0,4932,4933,7,12,0,0,4933,4934,7,7,0,0,4934,4935,7,5,0,0,4935,4936,7,21,0,0,4936,4937,7,15,0,0,4937,4938,7,19,0,0,4938,4939,7,12,0,0,4939,4940,7,16,0,0,4940,924,1,0,0,0,4941,4942,7,27,0,0,4942,4943,7,2,0,0,4943,4944,7,11,0,0,4944,926,1,0,0,0,4945,4946,7,27,0,0,4946,4947,7,2,0,0,4947,4948,7,11,0,0,4948,4949,7,4,0,0,4949,928,1,0,0,0,4950,4951,7,27,0,0,4951,4952,7,2,0,0,4952,4953,7,20,0,0,4953,4954,7,2,0,0,4954,930,1,0,0,0,4955,4956,7,25,0,0,4956,4957,7,9,0,0,4957,4958,7,13,0,0,4958,932,1,0,0,0,4959,4960,7,5,0,0,4960,4961,7,2,0,0,4961,4962,7,4,0,0,4962,4963,7,8,0,0,4963,934,1,0,0,0,4964,4965,7,5,0,0,4965,4966,7,6,0,0,4966,4967,7,2,0,0,4967,4968,7,15,0,0,4968,936,1,0,0,0,4969,4970,7,17,0,0,4970,4971,7,2,0,0,4971,4972,7,24,0,0,4972,938,1,0,0,0,4973,4974,7,17,0,0,4974,4975,7,19,0,0,4975,4976,7,7,0,0,4976,4977,7,11,0,0,4977,4978,7,6,0,0,4978,4979,7,4,0,0,4979,4980,7,9,0,0,4980,4981,7,7,0,0,4981,4982,7,6,0,0,4982,4983,7,12,0,0,4983,4984,7,15,0,0,4984,940,1,0,0,0,4985,4986,7,17,0,0,4986,4987,7,19,0,0,4987,4988,7,5,0,0,4988,4989,7,5,0,0,4989,4990,7,9,0,0,4990,4991,7,12,0,0,4991,4992,7,12,0,0,4992,4993,7,19,0,0,4993,4994,7,21,0,0,4994,4995,7,17,0,0,4995,942,1,0,0,0,4996,4997,7,17,0,0,4997,4998,7,19,0,0,4998,4999,7,5,0,0,4999,5e3,7,5,0,0,5e3,5001,7,19,0,0,5001,5002,7,4,0,0,5002,5003,7,9,0,0,5003,5004,7,7,0,0,5004,5005,7,6,0,0,5005,5006,7,12,0,0,5006,5007,7,15,0,0,5007,944,1,0,0,0,5008,5009,7,17,0,0,5009,5010,7,19,0,0,5010,5011,7,12,0,0,5011,5012,7,21,0,0,5012,5013,7,8,0,0,5013,5014,7,9,0,0,5014,5015,7,4,0,0,5015,946,1,0,0,0,5016,5017,7,17,0,0,5017,5018,7,6,0,0,5018,5019,7,12,0,0,5019,5020,7,8,0,0,5020,5021,7,22,0,0,5021,5022,7,4,0,0,5022,948,1,0,0,0,5023,5024,7,12,0,0,5024,5025,7,2,0,0,5025,5026,7,12,0,0,5026,5027,7,6,0,0,5027,5028,7,4,0,0,5028,5029,7,9,0,0,5029,5030,7,7,0,0,5030,5031,7,6,0,0,5031,5032,7,12,0,0,5032,5033,7,15,0,0,5033,950,1,0,0,0,5034,5035,7,12,0,0,5035,5036,7,21,0,0,5036,5037,7,5,0,0,5037,5038,7,5,0,0,5038,5039,7,4,0,0,5039,952,1,0,0,0,5040,5041,7,6,0,0,5041,5042,7,24,0,0,5042,5043,7,8,0,0,5043,5044,7,19,0,0,5044,5045,7,6,0,0,5045,5046,7,12,0,0,5046,5047,7,4,0,0,5047,954,1,0,0,0,5048,5049,7,24,0,0,5049,5050,7,2,0,0,5050,5051,7,4,0,0,5051,5052,7,8,0,0,5052,956,1,0,0,0,5053,5054,7,24,0,0,5054,5055,7,5,0,0,5055,5056,7,2,0,0,5056,5057,7,12,0,0,5057,958,1,0,0,0,5058,5059,7,24,0,0,5059,5060,7,11,0,0,5060,5061,7,9,0,0,5061,5062,7,7,0,0,5062,5063,7,9,0,0,5063,5064,7,15,0,0,5064,5065,7,19,0,0,5065,5066,7,12,0,0,5066,5067,7,16,0,0,5067,960,1,0,0,0,5068,5069,7,24,0,0,5069,5070,7,13,0,0,5070,5071,7,8,0,0,5071,5072,7,22,0,0,5072,5073,7,6,0,0,5073,5074,7,12,0,0,5074,962,1,0,0,0,5075,5076,7,24,0,0,5076,5077,7,13,0,0,5077,5078,7,8,0,0,5078,5079,7,22,0,0,5079,5080,7,6,0,0,5080,5081,7,12,0,0,5081,5082,5,95,0,0,5082,5083,7,2,0,0,5083,5084,7,11,0,0,5084,5085,7,7,0,0,5085,5086,7,22,0,0,5086,5087,7,19,0,0,5087,5088,7,20,0,0,5088,5089,7,9,0,0,5089,5090,7,4,0,0,5090,964,1,0,0,0,5091,5092,7,24,0,0,5092,5093,7,13,0,0,5093,5094,7,8,0,0,5094,5095,7,22,0,0,5095,5096,7,6,0,0,5096,5097,7,12,0,0,5097,5098,5,95,0,0,5098,5099,7,15,0,0,5099,5100,7,9,0,0,5100,5101,7,24,0,0,5101,5102,7,9,0,0,5102,5103,7,12,0,0,5103,5104,7,15,0,0,5104,5105,7,9,0,0,5105,5106,7,12,0,0,5106,5107,7,7,0,0,5107,5108,7,19,0,0,5108,5109,7,9,0,0,5109,5110,7,4,0,0,5110,966,1,0,0,0,5111,5112,7,24,0,0,5112,5113,7,13,0,0,5113,5114,7,8,0,0,5114,5115,7,22,0,0,5115,5116,7,6,0,0,5116,5117,7,12,0,0,5117,5118,5,95,0,0,5118,5119,7,23,0,0,5119,5120,7,19,0,0,5120,5121,7,5,0,0,5121,5122,7,9,0,0,5122,5123,7,4,0,0,5123,968,1,0,0,0,5124,5125,7,24,0,0,5125,5126,7,13,0,0,5126,5127,7,8,0,0,5127,5128,7,22,0,0,5128,5129,7,6,0,0,5129,5130,7,12,0,0,5130,5131,5,95,0,0,5131,5132,7,27,0,0,5132,5133,7,2,0,0,5133,5134,7,11,0,0,5134,970,1,0,0,0,5135,5136,7,24,0,0,5136,5137,7,13,0,0,5137,5138,7,8,0,0,5138,5139,7,22,0,0,5139,5140,7,6,0,0,5140,5141,7,12,0,0,5141,5142,5,95,0,0,5142,5143,7,24,0,0,5143,5144,7,2,0,0,5144,5145,7,11,0,0,5145,5146,7,2,0,0,5146,5147,7,17,0,0,5147,5148,7,9,0,0,5148,5149,7,8,0,0,5149,5150,7,9,0,0,5150,5151,7,11,0,0,5151,972,1,0,0,0,5152,5153,7,24,0,0,5153,5154,7,13,0,0,5154,5155,7,8,0,0,5155,5156,7,22,0,0,5156,5157,7,6,0,0,5157,5158,7,12,0,0,5158,5159,5,95,0,0,5159,5160,7,11,0,0,5160,5161,7,9,0,0,5161,5162,7,26,0,0,5162,5163,7,21,0,0,5163,5164,7,19,0,0,5164,5165,7,11,0,0,5165,5166,7,9,0,0,5166,5167,7,17,0,0,5167,5168,7,9,0,0,5168,5169,7,12,0,0,5169,5170,7,8,0,0,5170,5171,7,4,0,0,5171,974,1,0,0,0,5172,5173,7,26,0,0,5173,5174,7,21,0,0,5174,5175,7,2,0,0,5175,5176,7,11,0,0,5176,5177,7,8,0,0,5177,5178,7,9,0,0,5178,5179,7,11,0,0,5179,976,1,0,0,0,5180,5181,7,11,0,0,5181,5182,7,9,0,0,5182,5183,7,17,0,0,5183,5184,7,6,0,0,5184,5185,7,20,0,0,5185,5186,7,9,0,0,5186,978,1,0,0,0,5187,5188,7,11,0,0,5188,5189,7,9,0,0,5189,5190,7,4,0,0,5190,5191,7,8,0,0,5191,5192,7,11,0,0,5192,5193,7,19,0,0,5193,5194,7,7,0,0,5194,5195,7,8,0,0,5195,980,1,0,0,0,5196,5197,7,4,0,0,5197,5198,7,9,0,0,5198,5199,7,7,0,0,5199,5200,7,6,0,0,5200,5201,7,12,0,0,5201,5202,7,15,0,0,5202,5203,7,4,0,0,5203,982,1,0,0,0,5204,5205,7,4,0,0,5205,5206,7,9,0,0,5206,5207,7,4,0,0,5207,5208,7,4,0,0,5208,5209,7,19,0,0,5209,5210,7,6,0,0,5210,5211,7,12,0,0,5211,984,1,0,0,0,5212,5213,7,4,0,0,5213,5214,7,9,0,0,5214,5215,7,8,0,0,5215,5216,7,4,0,0,5216,986,1,0,0,0,5217,5218,7,4,0,0,5218,5219,7,19,0,0,5219,5220,7,14,0,0,5220,5221,7,9,0,0,5221,988,1,0,0,0,5222,5223,7,4,0,0,5223,5224,7,5,0,0,5224,5225,7,19,0,0,5225,5226,7,15,0,0,5226,5227,7,9,0,0,5227,990,1,0,0,0,5228,5229,7,4,0,0,5229,5230,7,8,0,0,5230,5231,7,9,0,0,5231,5232,7,24,0,0,5232,992,1,0,0,0,5233,5234,7,8,0,0,5234,5235,7,9,0,0,5235,5236,7,17,0,0,5236,5237,7,24,0,0,5237,5238,7,6,0,0,5238,5239,7,11,0,0,5239,5240,7,2,0,0,5240,5241,7,11,0,0,5241,5242,7,13,0,0,5242,994,1,0,0,0,5243,5244,7,8,0,0,5244,5245,7,19,0,0,5245,5246,7,17,0,0,5246,5247,7,9,0,0,5247,5248,7,7,0,0,5248,5249,7,6,0,0,5249,5250,7,5,0,0,5250,996,1,0,0,0,5251,5252,7,8,0,0,5252,5253,7,21,0,0,5253,5254,7,17,0,0,5254,5255,7,3,0,0,5255,5256,7,5,0,0,5256,5257,7,9,0,0,5257,998,1,0,0,0,5258,5259,7,21,0,0,5259,5260,7,12,0,0,5260,5261,7,5,0,0,5261,5262,7,6,0,0,5262,5263,7,2,0,0,5263,5264,7,15,0,0,5264,1e3,1,0,0,0,5265,5266,7,20,0,0,5266,5267,7,19,0,0,5267,5268,7,9,0,0,5268,5269,7,10,0,0,5269,1002,1,0,0,0,5270,5271,7,10,0,0,5271,5272,7,9,0,0,5272,5273,7,9,0,0,5273,5274,7,25,0,0,5274,1004,1,0,0,0,5275,5276,7,13,0,0,5276,5277,7,9,0,0,5277,5278,7,2,0,0,5278,5279,7,11,0,0,5279,5280,7,4,0,0,5280,1006,1,0,0,0,5281,5282,7,14,0,0,5282,5283,7,6,0,0,5283,5284,7,12,0,0,5284,5285,7,9,0,0,5285,1008,1,0,0,0,5286,5287,5,61,0,0,5287,1010,1,0,0,0,5288,5289,5,62,0,0,5289,1012,1,0,0,0,5290,5291,5,60,0,0,5291,1014,1,0,0,0,5292,5293,5,33,0,0,5293,1016,1,0,0,0,5294,5295,5,126,0,0,5295,1018,1,0,0,0,5296,5297,5,124,0,0,5297,1020,1,0,0,0,5298,5299,5,38,0,0,5299,1022,1,0,0,0,5300,5301,5,94,0,0,5301,1024,1,0,0,0,5302,5303,5,46,0,0,5303,1026,1,0,0,0,5304,5305,5,91,0,0,5305,1028,1,0,0,0,5306,5307,5,93,0,0,5307,1030,1,0,0,0,5308,5309,5,40,0,0,5309,1032,1,0,0,0,5310,5311,5,41,0,0,5311,1034,1,0,0,0,5312,5313,5,123,0,0,5313,1036,1,0,0,0,5314,5315,5,125,0,0,5315,1038,1,0,0,0,5316,5317,5,44,0,0,5317,1040,1,0,0,0,5318,5319,5,59,0,0,5319,1042,1,0,0,0,5320,5321,5,64,0,0,5321,1044,1,0,0,0,5322,5323,5,39,0,0,5323,1046,1,0,0,0,5324,5325,5,34,0,0,5325,1048,1,0,0,0,5326,5327,5,96,0,0,5327,1050,1,0,0,0,5328,5329,5,58,0,0,5329,1052,1,0,0,0,5330,5331,5,42,0,0,5331,1054,1,0,0,0,5332,5333,5,95,0,0,5333,1056,1,0,0,0,5334,5335,5,45,0,0,5335,1058,1,0,0,0,5336,5337,5,43,0,0,5337,1060,1,0,0,0,5338,5339,5,37,0,0,5339,1062,1,0,0,0,5340,5341,5,124,0,0,5341,5342,5,124,0,0,5342,1064,1,0,0,0,5343,5344,5,45,0,0,5344,5345,5,45,0,0,5345,1066,1,0,0,0,5346,5347,5,47,0,0,5347,1068,1,0,0,0,5348,5349,5,63,0,0,5349,1070,1,0,0,0,5350,5351,5,61,0,0,5351,5352,5,62,0,0,5352,1072,1,0,0,0,5353,5357,3,1093,546,0,5354,5357,3,1095,547,0,5355,5357,3,1099,549,0,5356,5353,1,0,0,0,5356,5354,1,0,0,0,5356,5355,1,0,0,0,5357,1074,1,0,0,0,5358,5360,3,1089,544,0,5359,5358,1,0,0,0,5360,5361,1,0,0,0,5361,5359,1,0,0,0,5361,5362,1,0,0,0,5362,1076,1,0,0,0,5363,5365,3,1089,544,0,5364,5363,1,0,0,0,5365,5366,1,0,0,0,5366,5364,1,0,0,0,5366,5367,1,0,0,0,5367,5369,1,0,0,0,5368,5364,1,0,0,0,5368,5369,1,0,0,0,5369,5370,1,0,0,0,5370,5372,5,46,0,0,5371,5373,3,1089,544,0,5372,5371,1,0,0,0,5373,5374,1,0,0,0,5374,5372,1,0,0,0,5374,5375,1,0,0,0,5375,5407,1,0,0,0,5376,5378,3,1089,544,0,5377,5376,1,0,0,0,5378,5379,1,0,0,0,5379,5377,1,0,0,0,5379,5380,1,0,0,0,5380,5381,1,0,0,0,5381,5382,5,46,0,0,5382,5383,3,1085,542,0,5383,5407,1,0,0,0,5384,5386,3,1089,544,0,5385,5384,1,0,0,0,5386,5387,1,0,0,0,5387,5385,1,0,0,0,5387,5388,1,0,0,0,5388,5390,1,0,0,0,5389,5385,1,0,0,0,5389,5390,1,0,0,0,5390,5391,1,0,0,0,5391,5393,5,46,0,0,5392,5394,3,1089,544,0,5393,5392,1,0,0,0,5394,5395,1,0,0,0,5395,5393,1,0,0,0,5395,5396,1,0,0,0,5396,5397,1,0,0,0,5397,5398,3,1085,542,0,5398,5407,1,0,0,0,5399,5401,3,1089,544,0,5400,5399,1,0,0,0,5401,5402,1,0,0,0,5402,5400,1,0,0,0,5402,5403,1,0,0,0,5403,5404,1,0,0,0,5404,5405,3,1085,542,0,5405,5407,1,0,0,0,5406,5368,1,0,0,0,5406,5377,1,0,0,0,5406,5389,1,0,0,0,5406,5400,1,0,0,0,5407,1078,1,0,0,0,5408,5409,3,1097,548,0,5409,1080,1,0,0,0,5410,5411,3,1087,543,0,5411,1082,1,0,0,0,5412,5420,5,96,0,0,5413,5414,5,92,0,0,5414,5419,9,0,0,0,5415,5416,5,96,0,0,5416,5419,5,96,0,0,5417,5419,8,28,0,0,5418,5413,1,0,0,0,5418,5415,1,0,0,0,5418,5417,1,0,0,0,5419,5422,1,0,0,0,5420,5418,1,0,0,0,5420,5421,1,0,0,0,5421,5423,1,0,0,0,5422,5420,1,0,0,0,5423,5424,5,96,0,0,5424,1084,1,0,0,0,5425,5427,7,9,0,0,5426,5428,7,29,0,0,5427,5426,1,0,0,0,5427,5428,1,0,0,0,5428,5430,1,0,0,0,5429,5431,3,1089,544,0,5430,5429,1,0,0,0,5431,5432,1,0,0,0,5432,5430,1,0,0,0,5432,5433,1,0,0,0,5433,1086,1,0,0,0,5434,5436,7,30,0,0,5435,5434,1,0,0,0,5436,5439,1,0,0,0,5437,5438,1,0,0,0,5437,5435,1,0,0,0,5438,5441,1,0,0,0,5439,5437,1,0,0,0,5440,5442,7,31,0,0,5441,5440,1,0,0,0,5442,5443,1,0,0,0,5443,5444,1,0,0,0,5443,5441,1,0,0,0,5444,5448,1,0,0,0,5445,5447,7,30,0,0,5446,5445,1,0,0,0,5447,5450,1,0,0,0,5448,5446,1,0,0,0,5448,5449,1,0,0,0,5449,1088,1,0,0,0,5450,5448,1,0,0,0,5451,5452,7,32,0,0,5452,1090,1,0,0,0,5453,5454,7,33,0,0,5454,1092,1,0,0,0,5455,5463,5,34,0,0,5456,5457,5,92,0,0,5457,5462,9,0,0,0,5458,5459,5,34,0,0,5459,5462,5,34,0,0,5460,5462,8,34,0,0,5461,5456,1,0,0,0,5461,5458,1,0,0,0,5461,5460,1,0,0,0,5462,5465,1,0,0,0,5463,5461,1,0,0,0,5463,5464,1,0,0,0,5464,5466,1,0,0,0,5465,5463,1,0,0,0,5466,5467,5,34,0,0,5467,1094,1,0,0,0,5468,5476,5,39,0,0,5469,5470,5,92,0,0,5470,5475,9,0,0,0,5471,5472,5,39,0,0,5472,5475,5,39,0,0,5473,5475,8,35,0,0,5474,5469,1,0,0,0,5474,5471,1,0,0,0,5474,5473,1,0,0,0,5475,5478,1,0,0,0,5476,5474,1,0,0,0,5476,5477,1,0,0,0,5477,5479,1,0,0,0,5478,5476,1,0,0,0,5479,5480,5,39,0,0,5480,1096,1,0,0,0,5481,5482,7,3,0,0,5482,5484,5,39,0,0,5483,5485,7,36,0,0,5484,5483,1,0,0,0,5485,5486,1,0,0,0,5486,5484,1,0,0,0,5486,5487,1,0,0,0,5487,5488,1,0,0,0,5488,5489,5,39,0,0,5489,1098,1,0,0,0,5490,5498,5,96,0,0,5491,5492,5,92,0,0,5492,5497,9,0,0,0,5493,5494,5,96,0,0,5494,5497,5,96,0,0,5495,5497,8,28,0,0,5496,5491,1,0,0,0,5496,5493,1,0,0,0,5496,5495,1,0,0,0,5497,5500,1,0,0,0,5498,5496,1,0,0,0,5498,5499,1,0,0,0,5499,5501,1,0,0,0,5500,5498,1,0,0,0,5501,5502,5,96,0,0,5502,1100,1,0,0,0,35,0,1104,1114,1125,1130,1134,1138,1144,1148,1150,5356,5361,5366,5368,5374,5379,5387,5389,5395,5402,5406,5418,5420,5427,5432,5437,5443,5448,5461,5463,5474,5476,5486,5496,5498,1,0,1,0],l.vocabulary=new se(l.literalNames,l.symbolicNames,[]),l.decisionsToDFA=l._ATN.decisionToState.map((r,t)=>new Fe(r,t));class V3 extends oa{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,e,i,n;return this.entityCollecting&&((e=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&e!==void 0?e:1/0)<=this.caretTokenIndex&&((n=(i=this.tokenStream.LT(1))===null||i===void 0?void 0:i.tokenIndex)!==null&&n!==void 0?n:-1/0)>=this.caretTokenIndex}}class s extends V3{get grammarFileName(){return"FlinkSqlParser.g4"}get literalNames(){return s.literalNames}get symbolicNames(){return s.symbolicNames}get ruleNames(){return s.ruleNames}get serializedATN(){return s._serializedATN}createFailedPredicateException(t,e){return new Vi(this,t,e)}constructor(t){super(t),this.interpreter=new Bi(this,s._ATN,s.decisionsToDFA,new s0)}program(){let t=new Y3(this.context,this.state);this.enterRule(t,0,s.RULE_program);let e;try{this.enterOuterAlt(t,1);{for(this.state=379,this.errorHandler.sync(this),e=this.tokenStream.LA(1);e===8||e===24||e===72||!(e-109&-32)&&1<'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'['","']'","'('","')'","'{'","'}'","','","';'","'@'","'''",`'"'`,"'`'","':'","'*'","'_'","'-'","'+'","'%'","'||'","'--'","'/'","'?'","'=>'"],s.symbolicNames=[null,"SPACE","COMMENT_INPUT","LINE_COMMENT","KW_ABS","KW_ALL","KW_ALLOCATE","KW_ALLOW","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARE","KW_ARRAY","KW_ARRAY_AGG","KW_ARRAY_CONCAT_AGG","KW_ARRAY_MAX_CARDINALITY","KW_AS","KW_ASENSITIVE","KW_ASYMMETRIC","KW_AT","KW_ATOMIC","KW_AUTHORIZATION","KW_AVG","KW_BEGIN","KW_BEGIN_FRAME","KW_BEGIN_PARTITION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BIT","KW_BLOB","KW_BOOLEAN","KW_BOTH","KW_BY","KW_BYTES","KW_CALL","KW_CALLED","KW_CARDINALITY","KW_CASCADED","KW_CASE","KW_CAST","KW_CATALOGS","KW_CEIL","KW_CEILING","KW_CHANGELOG_MODE","KW_CHAR","KW_CHARACTER","KW_CHARACTER_LENGTH","KW_CHAR_LENGTH","KW_CHECK","KW_CLASSIFIER","KW_CLOB","KW_CLOSE","KW_COALESCE","KW_COLLATE","KW_COLLECT","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPUTE","KW_CONDITION","KW_CONNECT","KW_CONSTRAINT","KW_CONTAINS","KW_CONVERT","KW_CORR","KW_CORRESPONDING","KW_COUNT","KW_COVAR_POP","KW_COVAR_SAMP","KW_CREATE","KW_CROSS","KW_CUBE","KW_CUME_DIST","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_DEFAULT_TRANSFORM_GROUP","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_ROW","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_TRANSFORM_GROUP_FOR_TYPE","KW_CURRENT_USER","KW_CURSOR","KW_CYCLE","KW_DATABASES","KW_DATE","KW_DATETIME","KW_DATETIME_DIFF","KW_DATETIME_TRUNC","KW_DATE_DIFF","KW_DATE_TRUNC","KW_DAY","KW_DAYOFWEEK","KW_DAYOFYEAR","KW_DEALLOCATE","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DELETE","KW_DENSE_RANK","KW_DEREF","KW_DESCRIBE","KW_DETERMINISTIC","KW_DISALLOW","KW_DISCONNECT","KW_DISTINCT","KW_DOT","KW_DOUBLE","KW_DROP","KW_DYNAMIC","KW_EACH","KW_ELEMENT","KW_ELSE","KW_EMPTY","KW_END","KW_END_FRAME","KW_END_PARTITION","KW_ENFORCED","KW_EQUALS","KW_ESCAPE","KW_ESTIMATED_COST","KW_EVERY","KW_EXCEPT","KW_EXEC","KW_EXECUTE","KW_EXISTS","KW_EXP","KW_EXPLAIN","KW_EXTEND","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FIRST_VALUE","KW_FLOAT","KW_FLOOR","KW_FOR","KW_FOREIGN","KW_FRAME_ROW","KW_FREE","KW_FRIDAY","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_FUSION","KW_GET","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_GROUP_CONCAT","KW_HAVING","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_ILIKE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDICATOR","KW_INITIAL","KW_INNER","KW_INOUT","KW_INSENSITIVE","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERSECTION","KW_INTERVAL","KW_INTO","KW_IS","KW_JOIN","KW_JSON_ARRAY","KW_JSON_ARRAYAGG","KW_JSON_EXECUTION_PLAN","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_OBJECTAGG","KW_JSON_QUERY","KW_JSON_VALUE","KW_LAG","KW_LANGUAGE","KW_LARGE","KW_LAST_VALUE","KW_LATERAL","KW_LEAD","KW_LEADING","KW_LEFT","KW_LIKE","KW_LIKE_REGEX","KW_LIMIT","KW_LN","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOWER","KW_MATCH","KW_MATCHES","KW_MATCH_NUMBER","KW_MATCH_RECOGNIZE","KW_MAX","KW_MEASURES","KW_MEMBER","KW_MERGE","KW_METADATA","KW_METHOD","KW_MIN","KW_MINUS","KW_MINUTE","KW_MOD","KW_MODIFIES","KW_MODIFY","KW_MODULE","KW_MODULES","KW_MONDAY","KW_MONTH","KW_MORE","KW_MULTISET","KW_NATIONAL","KW_NATURAL","KW_NCHAR","KW_NCLOB","KW_NEW","KW_NEXT","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NTH_VALUE","KW_NTILE","KW_NULL","KW_NULLIF","KW_NUMERIC","KW_OCCURRENCES_REGEX","KW_OCTET_LENGTH","KW_OF","KW_OFFSET","KW_OLD","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPEN","KW_OR","KW_ORDER","KW_ORDINAL","KW_OUT","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_OVERWRITING","KW_PARAMETER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATTERN","KW_PER","KW_PERCENT","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENT_RANK","KW_PERIOD","KW_PERMUTE","KW_PIVOT","KW_PORTION","KW_POSITION","KW_POSITION_REGEX","KW_POWER","KW_PRECEDES","KW_PRECISION","KW_PREPARE","KW_PREV","KW_PRIMARY","KW_PROCEDURE","KW_QUALIFY","KW_QUARTERS","KW_RANGE","KW_RANK","KW_RAW","KW_READS","KW_REAL","KW_RECURSIVE","KW_REF","KW_REFERENCES","KW_REFERENCING","KW_REGR_AVGX","KW_REGR_AVGY","KW_REGR_COUNT","KW_REGR_INTERCEPT","KW_REGR_R2","KW_REGR_SLOPE","KW_REGR_SXX","KW_REGR_SXY","KW_REGR_SYY","KW_RELEASE","KW_RENAME","KW_RESET","KW_RESULT","KW_RETURN","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_ROW_NUMBER","KW_RUNNING","KW_SAFE_CAST","KW_SAFE_OFFSET","KW_SAFE_ORDINAL","KW_SATURDAY","KW_SAVEPOINT","KW_SCALA","KW_SCOPE","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SEEK","KW_SELECT","KW_SENSITIVE","KW_SEPARATOR","KW_SESSION_USER","KW_SET","KW_SHOW","KW_SIMILAR","KW_SKIP","KW_SMALLINT","KW_SOME","KW_SPECIFIC","KW_SPECIFICTYPE","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQRT","KW_START","KW_STATEMENT","KW_STATIC","KW_STATISTICS","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_STREAM","KW_STRING","KW_STRING_AGG","KW_SUBMULTISET","KW_SUBSET","KW_SUBSTRING","KW_SUBSTRING_REGEX","KW_SUCCEEDS","KW_SUM","KW_SUNDAY","KW_SYMMETRIC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_USER","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_THEN","KW_THURSDAY","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMP_DIFF","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_TRUNC","KW_TIMEZONE_HOUR","KW_TIMEZONE_MINUTE","KW_TIME_DIFF","KW_TIME_TRUNC","KW_TINYINT","KW_TO","KW_TRAILING","KW_TRANSLATE","KW_TRANSLATE_REGEX","KW_TRANSLATION","KW_TREAT","KW_TRIGGER","KW_TRIM","KW_TRIM_ARRAY","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TUESDAY","KW_UESCAPE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNNEST","KW_UNPIVOT","KW_UPDATE","KW_UPPER","KW_UPSERT","KW_USE","KW_USER","KW_USING","KW_VALUE","KW_VALUES","KW_VALUE_OF","KW_VARBINARY","KW_VARCHAR","KW_VARYING","KW_VAR_POP","KW_VAR_SAMP","KW_VERSIONING","KW_VIEWS","KW_VIRTUAL","KW_WATERMARK","KW_WATERMARKS","KW_WEDNESDAY","KW_WEEKS","KW_WHEN","KW_WHENEVER","KW_WHERE","KW_WIDTH_BUCKET","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_YEAR","KW_ADD","KW_AFTER","KW_ASC","KW_CASCADE","KW_CATALOG","KW_CENTURY","KW_CONFIG","KW_CONSTRAINTS","KW_CUMULATE","KW_DATA","KW_DATABASE","KW_DAYS","KW_DECADE","KW_DESC","KW_DESCRIPTOR","KW_DIV","KW_ENGINE","KW_EPOCH","KW_EXCLUDING","KW_FILE","KW_FIRST","KW_GENERATED","KW_HOP","KW_HOURS","KW_IGNORE","KW_INCLUDING","KW_JAR","KW_JARS","KW_JAVA","KW_KEY","KW_LAST","KW_LOAD","KW_MAP","KW_MICROSECOND","KW_MILLENNIUM","KW_MILLISECOND","KW_MINUTES","KW_MONTHS","KW_NANOSECOND","KW_NULLS","KW_OPTIONS","KW_PAST","KW_PLAN","KW_PRECEDING","KW_PYTHON","KW_PYTHON_ARCHIVES","KW_PYTHON_DEPENDENCIES","KW_PYTHON_FILES","KW_PYTHON_JAR","KW_PYTHON_PARAMETER","KW_PYTHON_REQUIREMENTS","KW_QUARTER","KW_REMOVE","KW_RESTRICT","KW_SECONDS","KW_SESSION","KW_SETS","KW_SIZE","KW_SLIDE","KW_STEP","KW_TEMPORARY","KW_TIMECOL","KW_TUMBLE","KW_UNLOAD","KW_VIEW","KW_WEEK","KW_YEARS","KW_ZONE","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LS_BRACKET","RS_BRACKET","LR_BRACKET","RR_BRACKET","LB_BRACKET","RB_BRACKET","COMMA","SEMICOLON","AT_SIGN","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","ASTERISK_SIGN","UNDERLINE_SIGN","HYPNEN_SIGN","ADD_SIGN","PENCENT_SIGN","DOUBLE_VERTICAL_SIGN","DOUBLE_HYPNEN_SIGN","SLASH_SIGN","QUESTION_MARK_SIGN","DOUBLE_RIGHT_ARROW","STRING_LITERAL","DIG_LITERAL","REAL_LITERAL","BIT_STRING","ID_LITERAL"],s.ruleNames=["program","singleStatement","sqlStatement","emptyStatement","ddlStatement","dmlStatement","describeStatement","explainStatement","explainDetails","explainDetail","useStatement","useModuleStatement","showStatememt","loadStatement","unloadStatememt","setStatememt","resetStatememt","jarStatememt","dtAddStatement","dtFilePath","createTable","simpleCreateTable","createTableAsSelect","columnOptionDefinition","physicalColumnDefinition","columnNameCreate","columnName","columnNameList","columnType","lengthOneDimension","lengthTwoOptionalDimension","lengthTwoStringDimension","lengthOneTypeDimension","mapTypeDimension","rowTypeDimension","columnConstraint","commentSpec","metadataColumnDefinition","metadataKey","computedColumnDefinition","computedColumnExpression","watermarkDefinition","tableConstraint","constraintName","selfDefinitionClause","partitionDefinition","transformList","transform","transformArgument","likeDefinition","likeOption","createCatalog","createDatabase","createView","createFunction","usingClause","jarFileName","alterTable","renameDefinition","setKeyValueDefinition","addConstraint","dropConstraint","addUnique","notForced","alertView","alterDatabase","alterFunction","dropCatalog","dropTable","dropDatabase","dropView","dropFunction","insertStatement","insertSimpleStatement","insertPartitionDefinition","valuesDefinition","valuesRowDefinition","insertMulStatementCompatibility","insertMulStatement","queryStatement","valuesCaluse","withClause","withItem","withItemName","selectStatement","selectClause","projectItemDefinition","overWindowItem","fromClause","tableExpression","tableReference","tablePrimary","systemTimePeriod","dateTimeExpression","inlineDataValueClause","windoTVFClause","windowTVFExression","windoTVFName","windowTVFParam","timeIntervalParamName","columnDescriptor","joinCondition","whereClause","groupByClause","groupItemDefinition","groupingSets","groupingSetsNotaionName","groupWindowFunction","groupWindowFunctionName","timeAttrColumn","havingClause","windowClause","namedWindow","windowSpec","matchRecognizeClause","orderByCaluse","orderItemDefition","limitClause","partitionByClause","quantifiers","measuresClause","patternDefination","patternVariable","outputMode","afterMatchStrategy","patternVariablesDefination","windowFrame","frameBound","withinClause","expression","booleanExpression","predicate","likePredicate","valueExpression","primaryExpression","functionNameCreate","functionName","functionParam","dereferenceDefinition","correlationName","qualifiedName","timeIntervalExpression","errorCapturingMultiUnitsInterval","multiUnitsInterval","errorCapturingUnitToUnitInterval","unitToUnitInterval","intervalValue","tableAlias","errorCapturingIdentifier","errorCapturingIdentifierExtra","identifierList","identifierSeq","identifier","unquotedIdentifier","quotedIdentifier","whenClause","catalogPath","catalogPathCreate","databasePath","databasePathCreate","tablePathCreate","tablePath","viewPath","viewPathCreate","uid","withOption","ifNotExists","ifExists","tablePropertyList","tableProperty","tablePropertyKey","tablePropertyValue","logicalOperator","comparisonOperator","bitOperator","mathOperator","unaryOperator","constant","timePointLiteral","stringLiteral","decimalLiteral","booleanLiteral","setQuantifier","timePointUnit","timeIntervalUnit","reservedKeywordsUsedAsFuncParam","reservedKeywordsUsedAsFuncName","nonReservedKeywords"],s._serializedATN=[4,1,541,2272,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,1,0,5,0,378,8,0,10,0,12,0,381,9,0,1,0,1,0,1,1,1,1,3,1,387,8,1,1,1,3,1,390,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,404,8,2,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,422,8,4,1,5,1,5,3,5,426,8,5,1,6,1,6,1,6,1,7,1,7,1,7,1,7,3,7,435,8,7,1,7,1,7,1,7,3,7,440,8,7,1,8,1,8,1,8,5,8,445,8,8,10,8,12,8,448,9,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,3,10,458,8,10,1,11,1,11,1,11,1,11,1,11,5,11,465,8,11,10,11,12,11,468,9,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,479,8,12,1,12,3,12,482,8,12,1,12,1,12,1,12,1,12,1,12,3,12,489,8,12,1,12,3,12,492,8,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,500,8,12,1,12,1,12,3,12,504,8,12,1,12,1,12,1,12,3,12,509,8,12,1,12,3,12,512,8,12,1,13,1,13,1,13,1,13,1,13,3,13,519,8,13,1,14,1,14,1,14,1,14,1,15,1,15,3,15,527,8,15,1,16,1,16,3,16,531,8,16,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,3,18,543,8,18,1,18,1,18,1,18,1,18,1,18,1,18,3,18,551,8,18,1,18,1,18,3,18,555,8,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,3,18,587,8,18,1,19,3,19,590,8,19,1,19,4,19,593,8,19,11,19,12,19,594,1,20,1,20,3,20,599,8,20,1,21,1,21,3,21,603,8,21,1,21,1,21,3,21,607,8,21,1,21,1,21,1,21,1,21,1,21,5,21,614,8,21,10,21,12,21,617,9,21,1,21,1,21,3,21,621,8,21,1,21,1,21,3,21,625,8,21,1,21,1,21,3,21,629,8,21,1,21,1,21,3,21,633,8,21,1,21,3,21,636,8,21,1,21,1,21,3,21,640,8,21,1,22,1,22,1,22,3,22,645,8,22,1,22,1,22,1,22,1,22,3,22,651,8,22,1,23,1,23,1,23,3,23,656,8,23,1,24,1,24,1,24,3,24,661,8,24,1,24,3,24,664,8,24,1,25,1,25,3,25,668,8,25,1,26,1,26,3,26,672,8,26,1,27,1,27,1,27,1,27,5,27,678,8,27,10,27,12,27,681,9,27,1,27,1,27,1,28,1,28,1,28,3,28,688,8,28,1,28,1,28,3,28,692,8,28,1,28,1,28,3,28,696,8,28,1,28,1,28,3,28,700,8,28,1,28,1,28,3,28,704,8,28,1,28,1,28,3,28,708,8,28,1,28,1,28,3,28,712,8,28,1,28,1,28,3,28,716,8,28,1,28,1,28,3,28,720,8,28,3,28,722,8,28,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,3,30,732,8,30,1,30,1,30,1,31,1,31,1,31,1,31,3,31,740,8,31,1,31,1,31,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,5,34,762,8,34,10,34,12,34,765,9,34,1,34,1,34,1,35,1,35,3,35,771,8,35,1,35,1,35,1,35,1,35,3,35,777,8,35,1,35,3,35,780,8,35,1,35,3,35,783,8,35,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,3,37,793,8,37,1,37,3,37,796,8,37,1,38,1,38,1,39,1,39,1,39,1,39,3,39,804,8,39,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,3,42,816,8,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,5,46,838,8,46,10,46,12,46,841,9,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,5,47,850,8,47,10,47,12,47,853,9,47,1,47,1,47,3,47,857,8,47,1,48,1,48,3,48,861,8,48,1,49,1,49,1,49,1,49,5,49,867,8,49,10,49,12,49,870,9,49,1,49,3,49,873,8,49,1,50,1,50,1,50,1,50,3,50,879,8,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,3,52,889,8,52,1,52,1,52,3,52,893,8,52,1,52,1,52,1,53,1,53,3,53,899,8,53,1,53,1,53,3,53,903,8,53,1,53,1,53,3,53,907,8,53,1,53,3,53,910,8,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,3,54,919,8,54,1,54,1,54,3,54,923,8,54,1,54,1,54,1,54,1,54,1,54,3,54,930,8,54,1,54,3,54,933,8,54,1,55,1,55,1,55,1,55,1,55,1,55,5,55,941,8,55,10,55,12,55,944,9,55,1,56,1,56,1,57,1,57,1,57,3,57,951,8,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,959,8,57,1,58,1,58,3,58,963,8,58,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,978,8,60,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,3,64,997,8,64,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,3,66,1008,8,66,1,66,1,66,3,66,1012,8,66,1,66,1,66,1,66,1,66,1,66,3,66,1019,8,66,1,67,1,67,1,67,3,67,1024,8,67,1,67,1,67,1,68,1,68,3,68,1030,8,68,1,68,1,68,3,68,1034,8,68,1,68,1,68,1,69,1,69,1,69,3,69,1041,8,69,1,69,1,69,3,69,1045,8,69,1,70,1,70,3,70,1049,8,70,1,70,1,70,3,70,1053,8,70,1,70,1,70,1,71,1,71,1,71,1,71,3,71,1061,8,71,1,71,1,71,3,71,1065,8,71,1,71,1,71,1,72,3,72,1070,8,72,1,72,1,72,1,72,1,72,3,72,1076,8,72,1,73,1,73,1,73,1,73,3,73,1082,8,73,1,73,3,73,1085,8,73,1,73,1,73,3,73,1089,8,73,1,74,1,74,1,74,1,75,1,75,1,75,1,75,5,75,1098,8,75,10,75,12,75,1101,9,75,1,76,1,76,1,76,1,76,5,76,1107,8,76,10,76,12,76,1110,9,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,4,77,1121,8,77,11,77,12,77,1122,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,4,78,1133,8,78,11,78,12,78,1134,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,3,79,1150,8,79,1,79,3,79,1153,8,79,1,79,1,79,3,79,1157,8,79,1,79,3,79,1160,8,79,3,79,1162,8,79,1,79,1,79,1,79,3,79,1167,8,79,1,79,1,79,3,79,1171,8,79,1,79,3,79,1174,8,79,5,79,1176,8,79,10,79,12,79,1179,9,79,1,80,1,80,1,80,1,80,5,80,1185,8,80,10,80,12,80,1188,9,80,1,81,1,81,1,81,1,81,5,81,1194,8,81,10,81,12,81,1197,9,81,1,82,1,82,1,82,1,82,1,82,5,82,1204,8,82,10,82,12,82,1207,9,82,1,82,1,82,3,82,1211,8,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,84,1,84,3,84,1222,8,84,1,84,3,84,1225,8,84,1,84,3,84,1228,8,84,1,84,3,84,1231,8,84,1,84,3,84,1234,8,84,1,84,1,84,1,84,1,84,3,84,1240,8,84,1,85,1,85,3,85,1244,8,85,1,85,1,85,1,85,1,85,5,85,1250,8,85,10,85,12,85,1253,9,85,3,85,1255,8,85,1,86,1,86,1,86,3,86,1260,8,86,1,86,3,86,1263,8,86,1,86,1,86,3,86,1267,8,86,1,86,3,86,1270,8,86,3,86,1272,8,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,3,87,1286,8,87,1,88,1,88,1,88,1,89,1,89,1,89,1,89,5,89,1295,8,89,10,89,12,89,1298,9,89,1,89,1,89,3,89,1302,8,89,1,89,1,89,1,89,1,89,1,89,1,89,3,89,1310,8,89,1,89,3,89,1313,8,89,1,89,3,89,1316,8,89,1,89,1,89,1,89,3,89,1321,8,89,5,89,1323,8,89,10,89,12,89,1326,9,89,1,90,1,90,3,90,1330,8,90,1,91,3,91,1333,8,91,1,91,1,91,3,91,1337,8,91,1,91,3,91,1340,8,91,1,91,3,91,1343,8,91,1,91,1,91,3,91,1347,8,91,1,91,3,91,1350,8,91,1,91,3,91,1353,8,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,5,91,1363,8,91,10,91,12,91,1366,9,91,1,91,1,91,1,91,1,91,3,91,1372,8,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,1383,8,91,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,5,96,1408,8,96,10,96,12,96,1411,9,96,1,96,1,96,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,1432,8,98,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,3,101,1445,8,101,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,5,103,1455,8,103,10,103,12,103,1458,9,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,5,104,1468,8,104,10,104,12,104,1471,9,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,5,104,1480,8,104,10,104,12,104,1483,9,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,5,104,1492,8,104,10,104,12,104,1495,9,104,1,104,1,104,1,104,3,104,1500,8,104,1,105,1,105,1,105,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,109,1,109,1,110,1,110,1,110,1,111,1,111,1,111,1,111,5,111,1525,8,111,10,111,12,111,1528,9,111,1,112,1,112,1,112,1,112,1,113,3,113,1535,8,113,1,113,1,113,3,113,1539,8,113,1,113,3,113,1542,8,113,1,113,3,113,1545,8,113,1,113,1,113,1,114,1,114,1,114,3,114,1552,8,114,1,114,3,114,1555,8,114,1,114,3,114,1558,8,114,1,114,3,114,1561,8,114,1,114,3,114,1564,8,114,1,114,3,114,1567,8,114,1,114,1,114,1,114,3,114,1572,8,114,1,114,3,114,1575,8,114,1,115,1,115,1,115,1,115,1,115,5,115,1582,8,115,10,115,12,115,1585,9,115,1,116,1,116,3,116,1589,8,116,1,116,1,116,3,116,1593,8,116,1,117,1,117,1,117,3,117,1598,8,117,1,118,1,118,1,118,1,118,1,118,5,118,1605,8,118,10,118,12,118,1608,9,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,3,119,1626,8,119,1,120,1,120,1,120,1,120,5,120,1632,8,120,10,120,12,120,1635,9,120,1,121,1,121,1,121,4,121,1640,8,121,11,121,12,121,1641,1,121,1,121,3,121,1646,8,121,1,122,1,122,3,122,1650,8,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,1660,8,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,3,124,1686,8,124,1,125,1,125,1,125,1,125,5,125,1692,8,125,10,125,12,125,1695,9,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,3,126,1706,8,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,3,130,1728,8,130,3,130,1730,8,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,3,130,1741,8,130,1,130,5,130,1744,8,130,10,130,12,130,1747,9,130,1,131,3,131,1750,8,131,1,131,1,131,3,131,1754,8,131,1,131,1,131,1,131,1,131,1,131,3,131,1761,8,131,1,131,1,131,1,131,1,131,1,131,5,131,1768,8,131,10,131,12,131,1771,9,131,1,131,1,131,1,131,3,131,1776,8,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,3,131,1789,8,131,1,131,1,131,1,131,1,131,1,131,3,131,1796,8,131,1,131,1,131,1,131,3,131,1801,8,131,1,131,1,131,1,131,1,131,3,131,1807,8,131,1,131,1,131,1,131,1,131,1,131,3,131,1814,8,131,3,131,1816,8,131,1,132,3,132,1819,8,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,5,132,1829,8,132,10,132,12,132,1832,9,132,1,132,1,132,3,132,1836,8,132,1,132,3,132,1839,8,132,1,132,1,132,1,132,1,132,3,132,1845,8,132,3,132,1847,8,132,1,133,1,133,1,133,1,133,3,133,1853,8,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,5,133,1874,8,133,10,133,12,133,1877,9,133,1,134,1,134,1,134,4,134,1882,8,134,11,134,12,134,1883,1,134,1,134,3,134,1888,8,134,1,134,1,134,1,134,1,134,1,134,4,134,1895,8,134,11,134,12,134,1896,1,134,1,134,3,134,1901,8,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,3,134,1917,8,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,3,134,1926,8,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,3,134,1950,8,134,1,134,1,134,1,134,5,134,1955,8,134,10,134,12,134,1958,9,134,3,134,1960,8,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,3,134,1971,8,134,1,134,1,134,1,134,1,134,1,134,5,134,1978,8,134,10,134,12,134,1981,9,134,1,135,1,135,1,136,1,136,3,136,1987,8,136,1,137,1,137,1,137,1,137,3,137,1993,8,137,1,138,1,138,1,139,1,139,1,140,1,140,3,140,2001,8,140,1,141,1,141,1,141,3,141,2006,8,141,1,142,1,142,3,142,2010,8,142,1,143,1,143,1,143,4,143,2015,8,143,11,143,12,143,2016,1,144,1,144,1,144,3,144,2022,8,144,1,145,1,145,1,145,1,145,1,145,1,146,3,146,2030,8,146,1,146,1,146,3,146,2034,8,146,1,147,3,147,2037,8,147,1,147,1,147,3,147,2041,8,147,1,148,1,148,1,148,1,149,1,149,4,149,2048,8,149,11,149,12,149,2049,1,149,3,149,2053,8,149,1,150,1,150,1,150,1,150,1,151,1,151,1,151,5,151,2062,8,151,10,151,12,151,2065,9,151,1,152,1,152,1,152,3,152,2070,8,152,1,153,1,153,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,157,1,157,1,158,1,158,1,158,3,158,2088,8,158,1,159,1,159,1,159,3,159,2093,8,159,1,160,1,160,1,160,3,160,2098,8,160,1,160,1,160,1,160,1,160,1,160,3,160,2105,8,160,3,160,2107,8,160,1,161,1,161,1,161,3,161,2112,8,161,1,161,1,161,1,161,1,161,1,161,3,161,2119,8,161,3,161,2121,8,161,1,162,1,162,1,162,3,162,2126,8,162,1,162,1,162,1,162,1,162,1,162,3,162,2133,8,162,3,162,2135,8,162,1,163,1,163,1,163,3,163,2140,8,163,1,163,1,163,1,163,1,163,1,163,3,163,2147,8,163,3,163,2149,8,163,1,164,1,164,1,164,5,164,2154,8,164,10,164,12,164,2157,9,164,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,168,1,168,1,168,1,168,5,168,2173,8,168,10,168,12,168,2176,9,168,1,168,1,168,1,169,1,169,3,169,2182,8,169,1,169,3,169,2185,8,169,1,170,1,170,1,170,3,170,2190,8,170,1,171,1,171,1,171,1,171,3,171,2196,8,171,1,172,1,172,1,172,1,172,1,172,1,172,3,172,2204,8,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,3,173,2220,8,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2229,8,174,1,175,1,175,1,176,1,176,1,177,1,177,1,177,1,177,3,177,2239,8,177,1,177,1,177,1,177,1,177,1,177,3,177,2246,8,177,1,177,3,177,2249,8,177,1,178,1,178,1,178,1,179,1,179,1,180,1,180,1,181,1,181,1,182,1,182,1,183,1,183,1,184,1,184,1,185,1,185,1,186,1,186,1,187,1,187,1,187,1,2155,5,158,178,260,266,268,188,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,0,45,2,0,109,109,450,450,3,0,45,45,128,128,188,188,4,0,42,42,90,90,422,422,464,464,2,0,441,441,447,447,2,0,151,151,170,170,2,0,437,437,489,489,2,0,482,485,487,487,3,0,32,32,91,91,244,244,11,0,28,29,35,35,46,46,92,92,178,179,344,344,360,360,378,378,381,381,387,387,416,417,2,0,433,433,435,435,4,0,101,102,115,115,144,144,246,246,2,0,13,13,231,231,2,0,455,455,462,462,3,0,5,5,270,270,444,444,3,0,266,266,455,455,462,462,3,0,425,425,458,458,477,477,3,0,330,330,465,465,481,481,2,0,440,440,490,490,2,0,183,183,265,265,3,0,130,130,180,180,402,402,4,0,152,152,174,174,201,201,317,317,3,0,445,445,459,459,499,499,4,0,250,250,446,446,494,496,498,498,2,0,74,74,320,320,3,0,459,459,492,492,499,499,2,0,439,439,450,450,2,0,457,457,467,467,4,0,140,140,244,244,397,397,404,404,2,0,19,19,369,369,2,0,5,5,11,11,2,0,509,509,529,530,4,0,452,452,527,527,531,531,534,534,2,0,529,530,532,532,1,0,529,530,1,0,538,539,2,0,538,538,541,541,4,0,452,452,527,527,529,531,533,534,3,0,241,241,508,509,529,530,2,0,140,140,397,397,2,0,5,5,113,113,10,0,97,97,165,165,222,222,229,229,334,334,436,436,470,470,472,472,488,488,502,502,15,0,97,97,165,165,222,222,229,229,334,334,427,427,436,436,442,442,448,449,454,454,460,460,470,475,488,488,491,491,502,503,9,0,5,5,13,13,33,33,85,85,113,113,200,200,389,389,413,413,527,527,55,0,4,4,13,13,23,23,38,38,41,41,43,44,54,54,56,56,69,69,75,75,78,78,84,85,91,91,98,99,107,107,119,119,134,134,139,139,143,143,145,145,160,160,165,165,167,167,194,194,197,197,199,199,201,201,205,205,207,209,214,214,220,220,222,223,229,229,243,243,245,245,264,264,276,276,281,281,283,283,293,293,317,317,321,323,334,334,357,358,364,364,367,367,378,380,395,395,398,399,408,408,419,420,436,436,469,469,488,488,502,502,1,0,437,504,2475,0,379,1,0,0,0,2,389,1,0,0,0,4,403,1,0,0,0,6,405,1,0,0,0,8,421,1,0,0,0,10,425,1,0,0,0,12,427,1,0,0,0,14,430,1,0,0,0,16,441,1,0,0,0,18,449,1,0,0,0,20,457,1,0,0,0,22,459,1,0,0,0,24,511,1,0,0,0,26,513,1,0,0,0,28,520,1,0,0,0,30,524,1,0,0,0,32,528,1,0,0,0,34,532,1,0,0,0,36,586,1,0,0,0,38,592,1,0,0,0,40,598,1,0,0,0,42,600,1,0,0,0,44,641,1,0,0,0,46,655,1,0,0,0,48,657,1,0,0,0,50,667,1,0,0,0,52,671,1,0,0,0,54,673,1,0,0,0,56,721,1,0,0,0,58,723,1,0,0,0,60,727,1,0,0,0,62,735,1,0,0,0,64,743,1,0,0,0,66,747,1,0,0,0,68,754,1,0,0,0,70,782,1,0,0,0,72,784,1,0,0,0,74,787,1,0,0,0,76,797,1,0,0,0,78,799,1,0,0,0,80,805,1,0,0,0,82,807,1,0,0,0,84,815,1,0,0,0,86,823,1,0,0,0,88,825,1,0,0,0,90,829,1,0,0,0,92,833,1,0,0,0,94,856,1,0,0,0,96,860,1,0,0,0,98,862,1,0,0,0,100,878,1,0,0,0,102,880,1,0,0,0,104,885,1,0,0,0,106,896,1,0,0,0,108,914,1,0,0,0,110,934,1,0,0,0,112,945,1,0,0,0,114,947,1,0,0,0,116,960,1,0,0,0,118,967,1,0,0,0,120,970,1,0,0,0,122,979,1,0,0,0,124,983,1,0,0,0,126,987,1,0,0,0,128,990,1,0,0,0,130,998,1,0,0,0,132,1003,1,0,0,0,134,1020,1,0,0,0,136,1027,1,0,0,0,138,1037,1,0,0,0,140,1046,1,0,0,0,142,1056,1,0,0,0,144,1075,1,0,0,0,146,1077,1,0,0,0,148,1090,1,0,0,0,150,1093,1,0,0,0,152,1102,1,0,0,0,154,1113,1,0,0,0,156,1126,1,0,0,0,158,1161,1,0,0,0,160,1180,1,0,0,0,162,1189,1,0,0,0,164,1198,1,0,0,0,166,1217,1,0,0,0,168,1239,1,0,0,0,170,1241,1,0,0,0,172,1271,1,0,0,0,174,1285,1,0,0,0,176,1287,1,0,0,0,178,1301,1,0,0,0,180,1327,1,0,0,0,182,1382,1,0,0,0,184,1384,1,0,0,0,186,1390,1,0,0,0,188,1392,1,0,0,0,190,1397,1,0,0,0,192,1402,1,0,0,0,194,1414,1,0,0,0,196,1431,1,0,0,0,198,1433,1,0,0,0,200,1435,1,0,0,0,202,1444,1,0,0,0,204,1446,1,0,0,0,206,1449,1,0,0,0,208,1499,1,0,0,0,210,1501,1,0,0,0,212,1504,1,0,0,0,214,1506,1,0,0,0,216,1513,1,0,0,0,218,1515,1,0,0,0,220,1517,1,0,0,0,222,1520,1,0,0,0,224,1529,1,0,0,0,226,1534,1,0,0,0,228,1548,1,0,0,0,230,1576,1,0,0,0,232,1586,1,0,0,0,234,1594,1,0,0,0,236,1599,1,0,0,0,238,1625,1,0,0,0,240,1627,1,0,0,0,242,1636,1,0,0,0,244,1647,1,0,0,0,246,1659,1,0,0,0,248,1685,1,0,0,0,250,1687,1,0,0,0,252,1705,1,0,0,0,254,1707,1,0,0,0,256,1712,1,0,0,0,258,1715,1,0,0,0,260,1729,1,0,0,0,262,1815,1,0,0,0,264,1846,1,0,0,0,266,1852,1,0,0,0,268,1970,1,0,0,0,270,1982,1,0,0,0,272,1986,1,0,0,0,274,1992,1,0,0,0,276,1994,1,0,0,0,278,1996,1,0,0,0,280,2e3,1,0,0,0,282,2002,1,0,0,0,284,2007,1,0,0,0,286,2014,1,0,0,0,288,2018,1,0,0,0,290,2023,1,0,0,0,292,2033,1,0,0,0,294,2036,1,0,0,0,296,2042,1,0,0,0,298,2052,1,0,0,0,300,2054,1,0,0,0,302,2058,1,0,0,0,304,2069,1,0,0,0,306,2071,1,0,0,0,308,2073,1,0,0,0,310,2075,1,0,0,0,312,2080,1,0,0,0,314,2082,1,0,0,0,316,2084,1,0,0,0,318,2089,1,0,0,0,320,2106,1,0,0,0,322,2120,1,0,0,0,324,2134,1,0,0,0,326,2148,1,0,0,0,328,2150,1,0,0,0,330,2158,1,0,0,0,332,2161,1,0,0,0,334,2165,1,0,0,0,336,2168,1,0,0,0,338,2179,1,0,0,0,340,2189,1,0,0,0,342,2195,1,0,0,0,344,2203,1,0,0,0,346,2219,1,0,0,0,348,2228,1,0,0,0,350,2230,1,0,0,0,352,2232,1,0,0,0,354,2248,1,0,0,0,356,2250,1,0,0,0,358,2253,1,0,0,0,360,2255,1,0,0,0,362,2257,1,0,0,0,364,2259,1,0,0,0,366,2261,1,0,0,0,368,2263,1,0,0,0,370,2265,1,0,0,0,372,2267,1,0,0,0,374,2269,1,0,0,0,376,378,3,2,1,0,377,376,1,0,0,0,378,381,1,0,0,0,379,377,1,0,0,0,379,380,1,0,0,0,380,382,1,0,0,0,381,379,1,0,0,0,382,383,5,0,0,1,383,1,1,0,0,0,384,386,3,4,2,0,385,387,5,521,0,0,386,385,1,0,0,0,386,387,1,0,0,0,387,390,1,0,0,0,388,390,3,6,3,0,389,384,1,0,0,0,389,388,1,0,0,0,390,3,1,0,0,0,391,404,3,8,4,0,392,404,3,10,5,0,393,404,3,12,6,0,394,404,3,14,7,0,395,404,3,20,10,0,396,404,3,24,12,0,397,404,3,26,13,0,398,404,3,28,14,0,399,404,3,30,15,0,400,404,3,32,16,0,401,404,3,34,17,0,402,404,3,36,18,0,403,391,1,0,0,0,403,392,1,0,0,0,403,393,1,0,0,0,403,394,1,0,0,0,403,395,1,0,0,0,403,396,1,0,0,0,403,397,1,0,0,0,403,398,1,0,0,0,403,399,1,0,0,0,403,400,1,0,0,0,403,401,1,0,0,0,403,402,1,0,0,0,404,5,1,0,0,0,405,406,5,521,0,0,406,7,1,0,0,0,407,422,3,40,20,0,408,422,3,104,52,0,409,422,3,106,53,0,410,422,3,108,54,0,411,422,3,102,51,0,412,422,3,114,57,0,413,422,3,128,64,0,414,422,3,130,65,0,415,422,3,132,66,0,416,422,3,134,67,0,417,422,3,136,68,0,418,422,3,138,69,0,419,422,3,140,70,0,420,422,3,142,71,0,421,407,1,0,0,0,421,408,1,0,0,0,421,409,1,0,0,0,421,410,1,0,0,0,421,411,1,0,0,0,421,412,1,0,0,0,421,413,1,0,0,0,421,414,1,0,0,0,421,415,1,0,0,0,421,416,1,0,0,0,421,417,1,0,0,0,421,418,1,0,0,0,421,419,1,0,0,0,421,420,1,0,0,0,422,9,1,0,0,0,423,426,3,158,79,0,424,426,3,144,72,0,425,423,1,0,0,0,425,424,1,0,0,0,426,11,1,0,0,0,427,428,7,0,0,0,428,429,3,322,161,0,429,13,1,0,0,0,430,434,5,135,0,0,431,435,3,16,8,0,432,433,5,479,0,0,433,435,5,146,0,0,434,431,1,0,0,0,434,432,1,0,0,0,434,435,1,0,0,0,435,439,1,0,0,0,436,440,3,10,5,0,437,440,3,146,73,0,438,440,3,156,78,0,439,436,1,0,0,0,439,437,1,0,0,0,439,438,1,0,0,0,440,15,1,0,0,0,441,446,3,18,9,0,442,443,5,520,0,0,443,445,3,18,9,0,444,442,1,0,0,0,445,448,1,0,0,0,446,444,1,0,0,0,446,447,1,0,0,0,447,17,1,0,0,0,448,446,1,0,0,0,449,450,7,1,0,0,450,19,1,0,0,0,451,452,5,410,0,0,452,453,5,441,0,0,453,458,3,312,156,0,454,455,5,410,0,0,455,458,3,316,158,0,456,458,3,22,11,0,457,451,1,0,0,0,457,454,1,0,0,0,457,456,1,0,0,0,458,21,1,0,0,0,459,460,5,410,0,0,460,461,5,227,0,0,461,466,3,328,164,0,462,463,5,520,0,0,463,465,3,328,164,0,464,462,1,0,0,0,465,468,1,0,0,0,466,464,1,0,0,0,466,467,1,0,0,0,467,23,1,0,0,0,468,466,1,0,0,0,469,470,5,341,0,0,470,512,7,2,0,0,471,472,5,341,0,0,472,473,5,76,0,0,473,512,7,3,0,0,474,475,5,341,0,0,475,478,5,374,0,0,476,477,7,4,0,0,477,479,3,316,158,0,478,476,1,0,0,0,478,479,1,0,0,0,479,481,1,0,0,0,480,482,3,264,132,0,481,480,1,0,0,0,481,482,1,0,0,0,482,512,1,0,0,0,483,484,5,341,0,0,484,485,5,58,0,0,485,488,7,4,0,0,486,489,3,324,162,0,487,489,3,322,161,0,488,486,1,0,0,0,488,487,1,0,0,0,489,491,1,0,0,0,490,492,3,264,132,0,491,490,1,0,0,0,491,492,1,0,0,0,492,512,1,0,0,0,493,494,5,341,0,0,494,499,5,72,0,0,495,496,5,373,0,0,496,500,3,322,161,0,497,498,5,501,0,0,498,500,3,324,162,0,499,495,1,0,0,0,499,497,1,0,0,0,500,512,1,0,0,0,501,503,5,341,0,0,502,504,5,411,0,0,503,502,1,0,0,0,503,504,1,0,0,0,504,505,1,0,0,0,505,512,5,154,0,0,506,508,5,341,0,0,507,509,5,152,0,0,508,507,1,0,0,0,508,509,1,0,0,0,509,510,1,0,0,0,510,512,5,227,0,0,511,469,1,0,0,0,511,471,1,0,0,0,511,474,1,0,0,0,511,483,1,0,0,0,511,493,1,0,0,0,511,501,1,0,0,0,511,506,1,0,0,0,512,25,1,0,0,0,513,514,5,468,0,0,514,515,5,226,0,0,515,518,3,328,164,0,516,517,5,433,0,0,517,519,3,336,168,0,518,516,1,0,0,0,518,519,1,0,0,0,519,27,1,0,0,0,520,521,5,500,0,0,521,522,5,226,0,0,522,523,3,328,164,0,523,29,1,0,0,0,524,526,5,340,0,0,525,527,3,338,169,0,526,525,1,0,0,0,526,527,1,0,0,0,527,31,1,0,0,0,528,530,5,312,0,0,529,531,3,340,170,0,530,529,1,0,0,0,530,531,1,0,0,0,531,33,1,0,0,0,532,533,7,5,0,0,533,534,5,463,0,0,534,535,3,112,56,0,535,35,1,0,0,0,536,537,5,437,0,0,537,538,5,463,0,0,538,539,5,433,0,0,539,542,3,38,19,0,540,541,5,17,0,0,541,543,3,328,164,0,542,540,1,0,0,0,542,543,1,0,0,0,543,587,1,0,0,0,544,545,5,437,0,0,545,546,5,456,0,0,546,547,5,433,0,0,547,550,3,38,19,0,548,549,5,17,0,0,549,551,3,328,164,0,550,548,1,0,0,0,550,551,1,0,0,0,551,554,1,0,0,0,552,553,5,311,0,0,553,555,3,328,164,0,554,552,1,0,0,0,554,555,1,0,0,0,555,587,1,0,0,0,556,557,5,437,0,0,557,558,7,6,0,0,558,559,5,433,0,0,559,560,3,38,19,0,560,561,5,311,0,0,561,562,3,328,164,0,562,587,1,0,0,0,563,564,5,437,0,0,564,565,5,486,0,0,565,587,3,38,19,0,566,567,5,437,0,0,567,568,5,453,0,0,568,569,5,456,0,0,569,570,5,433,0,0,570,571,3,38,19,0,571,572,5,311,0,0,572,573,3,328,164,0,573,574,5,466,0,0,574,575,3,328,164,0,575,587,1,0,0,0,576,577,5,437,0,0,577,578,5,443,0,0,578,579,5,456,0,0,579,580,5,433,0,0,580,581,3,38,19,0,581,582,5,146,0,0,582,583,3,328,164,0,583,584,5,17,0,0,584,585,3,328,164,0,585,587,1,0,0,0,586,536,1,0,0,0,586,544,1,0,0,0,586,556,1,0,0,0,586,563,1,0,0,0,586,566,1,0,0,0,586,576,1,0,0,0,587,37,1,0,0,0,588,590,5,534,0,0,589,588,1,0,0,0,589,590,1,0,0,0,590,591,1,0,0,0,591,593,3,328,164,0,592,589,1,0,0,0,593,594,1,0,0,0,594,592,1,0,0,0,594,595,1,0,0,0,595,39,1,0,0,0,596,599,3,42,21,0,597,599,3,44,22,0,598,596,1,0,0,0,598,597,1,0,0,0,599,41,1,0,0,0,600,602,5,72,0,0,601,603,5,497,0,0,602,601,1,0,0,0,602,603,1,0,0,0,603,604,1,0,0,0,604,606,5,373,0,0,605,607,3,332,166,0,606,605,1,0,0,0,606,607,1,0,0,0,607,608,1,0,0,0,608,609,3,320,160,0,609,610,5,516,0,0,610,615,3,46,23,0,611,612,5,520,0,0,612,614,3,46,23,0,613,611,1,0,0,0,614,617,1,0,0,0,615,613,1,0,0,0,615,616,1,0,0,0,616,620,1,0,0,0,617,615,1,0,0,0,618,619,5,520,0,0,619,621,3,82,41,0,620,618,1,0,0,0,620,621,1,0,0,0,621,624,1,0,0,0,622,623,5,520,0,0,623,625,3,84,42,0,624,622,1,0,0,0,624,625,1,0,0,0,625,628,1,0,0,0,626,627,5,520,0,0,627,629,3,88,44,0,628,626,1,0,0,0,628,629,1,0,0,0,629,630,1,0,0,0,630,632,5,517,0,0,631,633,3,72,36,0,632,631,1,0,0,0,632,633,1,0,0,0,633,635,1,0,0,0,634,636,3,90,45,0,635,634,1,0,0,0,635,636,1,0,0,0,636,637,1,0,0,0,637,639,3,330,165,0,638,640,3,98,49,0,639,638,1,0,0,0,639,640,1,0,0,0,640,43,1,0,0,0,641,642,5,72,0,0,642,644,5,373,0,0,643,645,3,332,166,0,644,643,1,0,0,0,644,645,1,0,0,0,645,646,1,0,0,0,646,647,3,320,160,0,647,650,3,330,165,0,648,649,5,17,0,0,649,651,3,158,79,0,650,648,1,0,0,0,650,651,1,0,0,0,651,45,1,0,0,0,652,656,3,48,24,0,653,656,3,74,37,0,654,656,3,78,39,0,655,652,1,0,0,0,655,653,1,0,0,0,655,654,1,0,0,0,656,47,1,0,0,0,657,658,3,50,25,0,658,660,3,56,28,0,659,661,3,70,35,0,660,659,1,0,0,0,660,661,1,0,0,0,661,663,1,0,0,0,662,664,3,72,36,0,663,662,1,0,0,0,663,664,1,0,0,0,664,49,1,0,0,0,665,668,3,328,164,0,666,668,3,258,129,0,667,665,1,0,0,0,667,666,1,0,0,0,668,51,1,0,0,0,669,672,3,328,164,0,670,672,4,26,0,0,671,669,1,0,0,0,671,670,1,0,0,0,672,53,1,0,0,0,673,674,5,516,0,0,674,679,3,52,26,0,675,676,5,520,0,0,676,678,3,52,26,0,677,675,1,0,0,0,678,681,1,0,0,0,679,677,1,0,0,0,679,680,1,0,0,0,680,682,1,0,0,0,681,679,1,0,0,0,682,683,5,517,0,0,683,55,1,0,0,0,684,722,7,7,0,0,685,687,7,8,0,0,686,688,3,58,29,0,687,686,1,0,0,0,687,688,1,0,0,0,688,722,1,0,0,0,689,691,5,379,0,0,690,692,3,58,29,0,691,690,1,0,0,0,691,692,1,0,0,0,692,699,1,0,0,0,693,695,7,9,0,0,694,696,5,206,0,0,695,694,1,0,0,0,695,696,1,0,0,0,696,697,1,0,0,0,697,698,5,378,0,0,698,700,5,504,0,0,699,693,1,0,0,0,699,700,1,0,0,0,700,722,1,0,0,0,701,703,7,10,0,0,702,704,3,60,30,0,703,702,1,0,0,0,703,704,1,0,0,0,704,722,1,0,0,0,705,707,7,11,0,0,706,708,3,64,32,0,707,706,1,0,0,0,707,708,1,0,0,0,708,722,1,0,0,0,709,711,5,469,0,0,710,712,3,66,33,0,711,710,1,0,0,0,711,712,1,0,0,0,712,722,1,0,0,0,713,715,5,321,0,0,714,716,3,68,34,0,715,714,1,0,0,0,715,716,1,0,0,0,716,722,1,0,0,0,717,719,5,294,0,0,718,720,3,62,31,0,719,718,1,0,0,0,719,720,1,0,0,0,720,722,1,0,0,0,721,684,1,0,0,0,721,685,1,0,0,0,721,689,1,0,0,0,721,701,1,0,0,0,721,705,1,0,0,0,721,709,1,0,0,0,721,713,1,0,0,0,721,717,1,0,0,0,722,57,1,0,0,0,723,724,5,516,0,0,724,725,3,360,180,0,725,726,5,517,0,0,726,59,1,0,0,0,727,728,5,516,0,0,728,731,3,360,180,0,729,730,5,520,0,0,730,732,3,360,180,0,731,729,1,0,0,0,731,732,1,0,0,0,732,733,1,0,0,0,733,734,5,517,0,0,734,61,1,0,0,0,735,736,5,516,0,0,736,739,3,358,179,0,737,738,5,520,0,0,738,740,3,358,179,0,739,737,1,0,0,0,739,740,1,0,0,0,740,741,1,0,0,0,741,742,5,517,0,0,742,63,1,0,0,0,743,744,5,507,0,0,744,745,3,56,28,0,745,746,5,506,0,0,746,65,1,0,0,0,747,748,5,507,0,0,748,749,3,56,28,0,749,750,5,520,0,0,750,751,3,56,28,0,751,752,1,0,0,0,752,753,5,506,0,0,753,67,1,0,0,0,754,755,5,507,0,0,755,756,3,52,26,0,756,763,3,56,28,0,757,758,5,520,0,0,758,759,3,52,26,0,759,760,3,56,28,0,760,762,1,0,0,0,761,757,1,0,0,0,762,765,1,0,0,0,763,761,1,0,0,0,763,764,1,0,0,0,764,766,1,0,0,0,765,763,1,0,0,0,766,767,5,506,0,0,767,69,1,0,0,0,768,769,5,64,0,0,769,771,3,86,43,0,770,768,1,0,0,0,770,771,1,0,0,0,771,772,1,0,0,0,772,773,5,288,0,0,773,776,5,466,0,0,774,775,5,241,0,0,775,777,5,125,0,0,776,774,1,0,0,0,776,777,1,0,0,0,777,783,1,0,0,0,778,780,5,241,0,0,779,778,1,0,0,0,779,780,1,0,0,0,780,781,1,0,0,0,781,783,5,244,0,0,782,770,1,0,0,0,782,779,1,0,0,0,783,71,1,0,0,0,784,785,5,59,0,0,785,786,5,537,0,0,786,73,1,0,0,0,787,788,3,50,25,0,788,789,3,56,28,0,789,792,5,218,0,0,790,791,5,151,0,0,791,793,3,76,38,0,792,790,1,0,0,0,792,793,1,0,0,0,793,795,1,0,0,0,794,796,5,423,0,0,795,794,1,0,0,0,795,796,1,0,0,0,796,75,1,0,0,0,797,798,5,537,0,0,798,77,1,0,0,0,799,800,3,50,25,0,800,801,5,17,0,0,801,803,3,80,40,0,802,804,3,72,36,0,803,802,1,0,0,0,803,804,1,0,0,0,804,79,1,0,0,0,805,806,3,258,129,0,806,81,1,0,0,0,807,808,5,424,0,0,808,809,5,146,0,0,809,810,3,52,26,0,810,811,5,17,0,0,811,812,3,258,129,0,812,83,1,0,0,0,813,814,5,64,0,0,814,816,3,86,43,0,815,813,1,0,0,0,815,816,1,0,0,0,816,817,1,0,0,0,817,818,5,288,0,0,818,819,5,466,0,0,819,820,3,54,27,0,820,821,5,241,0,0,821,822,5,125,0,0,822,85,1,0,0,0,823,824,3,304,152,0,824,87,1,0,0,0,825,826,5,277,0,0,826,827,5,146,0,0,827,828,5,371,0,0,828,89,1,0,0,0,829,830,5,269,0,0,830,831,5,34,0,0,831,832,3,92,46,0,832,91,1,0,0,0,833,834,5,516,0,0,834,839,3,94,47,0,835,836,5,520,0,0,836,838,3,94,47,0,837,835,1,0,0,0,838,841,1,0,0,0,839,837,1,0,0,0,839,840,1,0,0,0,840,842,1,0,0,0,841,839,1,0,0,0,842,843,5,517,0,0,843,93,1,0,0,0,844,857,3,52,26,0,845,846,5,516,0,0,846,851,3,96,48,0,847,848,5,520,0,0,848,850,3,96,48,0,849,847,1,0,0,0,850,853,1,0,0,0,851,849,1,0,0,0,851,852,1,0,0,0,852,854,1,0,0,0,853,851,1,0,0,0,854,855,5,517,0,0,855,857,1,0,0,0,856,844,1,0,0,0,856,845,1,0,0,0,857,95,1,0,0,0,858,861,3,280,140,0,859,861,3,354,177,0,860,858,1,0,0,0,860,859,1,0,0,0,861,97,1,0,0,0,862,863,5,202,0,0,863,872,3,322,161,0,864,868,5,516,0,0,865,867,3,100,50,0,866,865,1,0,0,0,867,870,1,0,0,0,868,866,1,0,0,0,868,869,1,0,0,0,869,871,1,0,0,0,870,868,1,0,0,0,871,873,5,517,0,0,872,864,1,0,0,0,872,873,1,0,0,0,873,99,1,0,0,0,874,875,7,12,0,0,875,879,7,13,0,0,876,877,7,14,0,0,877,879,7,15,0,0,878,874,1,0,0,0,878,876,1,0,0,0,879,101,1,0,0,0,880,881,5,72,0,0,881,882,5,441,0,0,882,883,3,314,157,0,883,884,3,330,165,0,884,103,1,0,0,0,885,886,5,72,0,0,886,888,5,447,0,0,887,889,3,332,166,0,888,887,1,0,0,0,888,889,1,0,0,0,889,890,1,0,0,0,890,892,3,318,159,0,891,893,3,72,36,0,892,891,1,0,0,0,892,893,1,0,0,0,893,894,1,0,0,0,894,895,3,330,165,0,895,105,1,0,0,0,896,898,5,72,0,0,897,899,5,497,0,0,898,897,1,0,0,0,898,899,1,0,0,0,899,900,1,0,0,0,900,902,5,501,0,0,901,903,3,332,166,0,902,901,1,0,0,0,902,903,1,0,0,0,903,904,1,0,0,0,904,906,3,326,163,0,905,907,3,54,27,0,906,905,1,0,0,0,906,907,1,0,0,0,907,909,1,0,0,0,908,910,3,72,36,0,909,908,1,0,0,0,909,910,1,0,0,0,910,911,1,0,0,0,911,912,5,17,0,0,912,913,3,158,79,0,913,107,1,0,0,0,914,918,5,72,0,0,915,919,5,497,0,0,916,917,5,497,0,0,917,919,5,370,0,0,918,915,1,0,0,0,918,916,1,0,0,0,918,919,1,0,0,0,919,920,1,0,0,0,920,922,5,153,0,0,921,923,3,332,166,0,922,921,1,0,0,0,922,923,1,0,0,0,923,924,1,0,0,0,924,925,3,270,135,0,925,926,5,17,0,0,926,929,3,304,152,0,927,928,5,195,0,0,928,930,7,16,0,0,929,927,1,0,0,0,929,930,1,0,0,0,930,932,1,0,0,0,931,933,3,110,55,0,932,931,1,0,0,0,932,933,1,0,0,0,933,109,1,0,0,0,934,935,5,412,0,0,935,936,5,463,0,0,936,942,3,112,56,0,937,938,5,520,0,0,938,939,5,463,0,0,939,941,3,112,56,0,940,937,1,0,0,0,941,944,1,0,0,0,942,940,1,0,0,0,942,943,1,0,0,0,943,111,1,0,0,0,944,942,1,0,0,0,945,946,5,537,0,0,946,113,1,0,0,0,947,948,5,8,0,0,948,950,5,373,0,0,949,951,3,334,167,0,950,949,1,0,0,0,950,951,1,0,0,0,951,952,1,0,0,0,952,958,3,322,161,0,953,959,3,116,58,0,954,959,3,118,59,0,955,959,3,120,60,0,956,959,3,122,61,0,957,959,3,124,62,0,958,953,1,0,0,0,958,954,1,0,0,0,958,955,1,0,0,0,958,956,1,0,0,0,958,957,1,0,0,0,959,115,1,0,0,0,960,962,5,311,0,0,961,963,3,328,164,0,962,961,1,0,0,0,962,963,1,0,0,0,963,964,1,0,0,0,964,965,5,388,0,0,965,966,3,328,164,0,966,117,1,0,0,0,967,968,5,340,0,0,968,969,3,336,168,0,969,119,1,0,0,0,970,971,5,437,0,0,971,972,5,64,0,0,972,973,3,86,43,0,973,974,5,288,0,0,974,975,5,466,0,0,975,977,3,54,27,0,976,978,3,126,63,0,977,976,1,0,0,0,977,978,1,0,0,0,978,121,1,0,0,0,979,980,5,116,0,0,980,981,5,64,0,0,981,982,3,86,43,0,982,123,1,0,0,0,983,984,5,437,0,0,984,985,5,403,0,0,985,986,3,54,27,0,986,125,1,0,0,0,987,988,5,241,0,0,988,989,5,125,0,0,989,127,1,0,0,0,990,991,5,8,0,0,991,992,5,501,0,0,992,996,3,324,162,0,993,997,3,116,58,0,994,995,5,17,0,0,995,997,3,158,79,0,996,993,1,0,0,0,996,994,1,0,0,0,997,129,1,0,0,0,998,999,5,8,0,0,999,1e3,5,447,0,0,1e3,1001,3,316,158,0,1001,1002,3,118,59,0,1002,131,1,0,0,0,1003,1007,5,8,0,0,1004,1008,5,497,0,0,1005,1006,5,497,0,0,1006,1008,5,370,0,0,1007,1004,1,0,0,0,1007,1005,1,0,0,0,1007,1008,1,0,0,0,1008,1009,1,0,0,0,1009,1011,5,153,0,0,1010,1012,3,334,167,0,1011,1010,1,0,0,0,1011,1012,1,0,0,0,1012,1013,1,0,0,0,1013,1014,3,272,136,0,1014,1015,5,17,0,0,1015,1018,3,304,152,0,1016,1017,5,195,0,0,1017,1019,7,16,0,0,1018,1016,1,0,0,0,1018,1019,1,0,0,0,1019,133,1,0,0,0,1020,1021,5,116,0,0,1021,1023,5,441,0,0,1022,1024,3,334,167,0,1023,1022,1,0,0,0,1023,1024,1,0,0,0,1024,1025,1,0,0,0,1025,1026,3,312,156,0,1026,135,1,0,0,0,1027,1029,5,116,0,0,1028,1030,5,497,0,0,1029,1028,1,0,0,0,1029,1030,1,0,0,0,1030,1031,1,0,0,0,1031,1033,5,373,0,0,1032,1034,3,334,167,0,1033,1032,1,0,0,0,1033,1034,1,0,0,0,1034,1035,1,0,0,0,1035,1036,3,322,161,0,1036,137,1,0,0,0,1037,1038,5,116,0,0,1038,1040,5,447,0,0,1039,1041,3,334,167,0,1040,1039,1,0,0,0,1040,1041,1,0,0,0,1041,1042,1,0,0,0,1042,1044,3,316,158,0,1043,1045,7,17,0,0,1044,1043,1,0,0,0,1044,1045,1,0,0,0,1045,139,1,0,0,0,1046,1048,5,116,0,0,1047,1049,5,497,0,0,1048,1047,1,0,0,0,1048,1049,1,0,0,0,1049,1050,1,0,0,0,1050,1052,5,501,0,0,1051,1053,3,334,167,0,1052,1051,1,0,0,0,1052,1053,1,0,0,0,1053,1054,1,0,0,0,1054,1055,3,324,162,0,1055,141,1,0,0,0,1056,1060,5,116,0,0,1057,1061,5,497,0,0,1058,1059,5,497,0,0,1059,1061,5,370,0,0,1060,1057,1,0,0,0,1060,1058,1,0,0,0,1060,1061,1,0,0,0,1061,1062,1,0,0,0,1062,1064,5,153,0,0,1063,1065,3,334,167,0,1064,1063,1,0,0,0,1064,1065,1,0,0,0,1065,1066,1,0,0,0,1066,1067,3,272,136,0,1067,143,1,0,0,0,1068,1070,5,132,0,0,1069,1068,1,0,0,0,1069,1070,1,0,0,0,1070,1071,1,0,0,0,1071,1076,3,146,73,0,1072,1076,3,154,77,0,1073,1074,5,132,0,0,1074,1076,3,156,78,0,1075,1069,1,0,0,0,1075,1072,1,0,0,0,1075,1073,1,0,0,0,1076,145,1,0,0,0,1077,1078,5,177,0,0,1078,1079,7,18,0,0,1079,1088,3,322,161,0,1080,1082,3,148,74,0,1081,1080,1,0,0,0,1081,1082,1,0,0,0,1082,1084,1,0,0,0,1083,1085,3,54,27,0,1084,1083,1,0,0,0,1084,1085,1,0,0,0,1085,1086,1,0,0,0,1086,1089,3,158,79,0,1087,1089,3,150,75,0,1088,1081,1,0,0,0,1088,1087,1,0,0,0,1089,147,1,0,0,0,1090,1091,5,268,0,0,1091,1092,3,336,168,0,1092,149,1,0,0,0,1093,1094,5,414,0,0,1094,1099,3,152,76,0,1095,1096,5,520,0,0,1096,1098,3,152,76,0,1097,1095,1,0,0,0,1098,1101,1,0,0,0,1099,1097,1,0,0,0,1099,1100,1,0,0,0,1100,151,1,0,0,0,1101,1099,1,0,0,0,1102,1103,5,516,0,0,1103,1108,3,354,177,0,1104,1105,5,520,0,0,1105,1107,3,354,177,0,1106,1104,1,0,0,0,1107,1110,1,0,0,0,1108,1106,1,0,0,0,1108,1109,1,0,0,0,1109,1111,1,0,0,0,1110,1108,1,0,0,0,1111,1112,5,517,0,0,1112,153,1,0,0,0,1113,1114,5,24,0,0,1114,1115,5,354,0,0,1115,1116,5,340,0,0,1116,1120,5,521,0,0,1117,1118,3,146,73,0,1118,1119,5,521,0,0,1119,1121,1,0,0,0,1120,1117,1,0,0,0,1121,1122,1,0,0,0,1122,1120,1,0,0,0,1122,1123,1,0,0,0,1123,1124,1,0,0,0,1124,1125,5,122,0,0,1125,155,1,0,0,0,1126,1127,5,354,0,0,1127,1128,5,340,0,0,1128,1132,5,24,0,0,1129,1130,3,146,73,0,1130,1131,5,521,0,0,1131,1133,1,0,0,0,1132,1129,1,0,0,0,1133,1134,1,0,0,0,1134,1132,1,0,0,0,1134,1135,1,0,0,0,1135,1136,1,0,0,0,1136,1137,5,122,0,0,1137,157,1,0,0,0,1138,1139,6,79,-1,0,1139,1162,3,160,80,0,1140,1141,3,162,81,0,1141,1142,3,158,79,5,1142,1162,1,0,0,0,1143,1144,5,516,0,0,1144,1145,3,158,79,0,1145,1146,5,517,0,0,1146,1162,1,0,0,0,1147,1149,3,170,85,0,1148,1150,3,230,115,0,1149,1148,1,0,0,0,1149,1150,1,0,0,0,1150,1152,1,0,0,0,1151,1153,3,234,117,0,1152,1151,1,0,0,0,1152,1153,1,0,0,0,1153,1162,1,0,0,0,1154,1156,3,168,84,0,1155,1157,3,230,115,0,1156,1155,1,0,0,0,1156,1157,1,0,0,0,1157,1159,1,0,0,0,1158,1160,3,234,117,0,1159,1158,1,0,0,0,1159,1160,1,0,0,0,1160,1162,1,0,0,0,1161,1138,1,0,0,0,1161,1140,1,0,0,0,1161,1143,1,0,0,0,1161,1147,1,0,0,0,1161,1154,1,0,0,0,1162,1177,1,0,0,0,1163,1164,10,3,0,0,1164,1166,7,19,0,0,1165,1167,5,5,0,0,1166,1165,1,0,0,0,1166,1167,1,0,0,0,1167,1168,1,0,0,0,1168,1170,3,158,79,0,1169,1171,3,230,115,0,1170,1169,1,0,0,0,1170,1171,1,0,0,0,1171,1173,1,0,0,0,1172,1174,3,234,117,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1176,1,0,0,0,1175,1163,1,0,0,0,1176,1179,1,0,0,0,1177,1175,1,0,0,0,1177,1178,1,0,0,0,1178,159,1,0,0,0,1179,1177,1,0,0,0,1180,1181,5,414,0,0,1181,1186,3,258,129,0,1182,1183,5,520,0,0,1183,1185,3,258,129,0,1184,1182,1,0,0,0,1185,1188,1,0,0,0,1186,1184,1,0,0,0,1186,1187,1,0,0,0,1187,161,1,0,0,0,1188,1186,1,0,0,0,1189,1190,5,433,0,0,1190,1195,3,164,82,0,1191,1192,5,520,0,0,1192,1194,3,164,82,0,1193,1191,1,0,0,0,1194,1197,1,0,0,0,1195,1193,1,0,0,0,1195,1196,1,0,0,0,1196,163,1,0,0,0,1197,1195,1,0,0,0,1198,1210,3,166,83,0,1199,1200,5,516,0,0,1200,1205,3,52,26,0,1201,1202,5,520,0,0,1202,1204,3,52,26,0,1203,1201,1,0,0,0,1204,1207,1,0,0,0,1205,1203,1,0,0,0,1205,1206,1,0,0,0,1206,1208,1,0,0,0,1207,1205,1,0,0,0,1208,1209,5,517,0,0,1209,1211,1,0,0,0,1210,1199,1,0,0,0,1210,1211,1,0,0,0,1211,1212,1,0,0,0,1212,1213,5,17,0,0,1213,1214,5,516,0,0,1214,1215,3,158,79,0,1215,1216,5,517,0,0,1216,165,1,0,0,0,1217,1218,3,304,152,0,1218,167,1,0,0,0,1219,1221,3,170,85,0,1220,1222,3,176,88,0,1221,1220,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,0,0,1223,1225,3,204,102,0,1224,1223,1,0,0,0,1224,1225,1,0,0,0,1225,1227,1,0,0,0,1226,1228,3,206,103,0,1227,1226,1,0,0,0,1227,1228,1,0,0,0,1228,1230,1,0,0,0,1229,1231,3,220,110,0,1230,1229,1,0,0,0,1230,1231,1,0,0,0,1231,1233,1,0,0,0,1232,1234,3,222,111,0,1233,1232,1,0,0,0,1233,1234,1,0,0,0,1234,1240,1,0,0,0,1235,1236,3,170,85,0,1236,1237,3,176,88,0,1237,1238,3,228,114,0,1238,1240,1,0,0,0,1239,1219,1,0,0,0,1239,1235,1,0,0,0,1240,169,1,0,0,0,1241,1243,5,336,0,0,1242,1244,3,364,182,0,1243,1242,1,0,0,0,1243,1244,1,0,0,0,1244,1254,1,0,0,0,1245,1255,5,527,0,0,1246,1251,3,172,86,0,1247,1248,5,520,0,0,1248,1250,3,172,86,0,1249,1247,1,0,0,0,1250,1253,1,0,0,0,1251,1249,1,0,0,0,1251,1252,1,0,0,0,1252,1255,1,0,0,0,1253,1251,1,0,0,0,1254,1245,1,0,0,0,1254,1246,1,0,0,0,1255,171,1,0,0,0,1256,1272,3,174,87,0,1257,1262,3,52,26,0,1258,1260,5,17,0,0,1259,1258,1,0,0,0,1259,1260,1,0,0,0,1260,1261,1,0,0,0,1261,1263,3,258,129,0,1262,1259,1,0,0,0,1262,1263,1,0,0,0,1263,1272,1,0,0,0,1264,1269,3,258,129,0,1265,1267,5,17,0,0,1266,1265,1,0,0,0,1266,1267,1,0,0,0,1267,1268,1,0,0,0,1268,1270,3,52,26,0,1269,1266,1,0,0,0,1269,1270,1,0,0,0,1270,1272,1,0,0,0,1271,1256,1,0,0,0,1271,1257,1,0,0,0,1271,1264,1,0,0,0,1272,173,1,0,0,0,1273,1274,3,268,134,0,1274,1275,5,262,0,0,1275,1276,3,226,113,0,1276,1277,5,17,0,0,1277,1278,3,304,152,0,1278,1286,1,0,0,0,1279,1280,3,268,134,0,1280,1281,5,262,0,0,1281,1282,3,296,148,0,1282,1283,5,17,0,0,1283,1284,3,304,152,0,1284,1286,1,0,0,0,1285,1273,1,0,0,0,1285,1279,1,0,0,0,1286,175,1,0,0,0,1287,1288,5,151,0,0,1288,1289,3,178,89,0,1289,177,1,0,0,0,1290,1291,6,89,-1,0,1291,1296,3,180,90,0,1292,1293,5,520,0,0,1293,1295,3,180,90,0,1294,1292,1,0,0,0,1295,1298,1,0,0,0,1296,1294,1,0,0,0,1296,1297,1,0,0,0,1297,1302,1,0,0,0,1298,1296,1,0,0,0,1299,1302,3,188,94,0,1300,1302,3,190,95,0,1301,1290,1,0,0,0,1301,1299,1,0,0,0,1301,1300,1,0,0,0,1302,1324,1,0,0,0,1303,1304,10,3,0,0,1304,1305,5,73,0,0,1305,1306,5,185,0,0,1306,1323,3,178,89,4,1307,1309,10,4,0,0,1308,1310,5,233,0,0,1309,1308,1,0,0,0,1309,1310,1,0,0,0,1310,1312,1,0,0,0,1311,1313,7,20,0,0,1312,1311,1,0,0,0,1312,1313,1,0,0,0,1313,1315,1,0,0,0,1314,1316,5,261,0,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1317,1,0,0,0,1317,1318,5,185,0,0,1318,1320,3,178,89,0,1319,1321,3,202,101,0,1320,1319,1,0,0,0,1320,1321,1,0,0,0,1321,1323,1,0,0,0,1322,1303,1,0,0,0,1322,1307,1,0,0,0,1323,1326,1,0,0,0,1324,1322,1,0,0,0,1324,1325,1,0,0,0,1325,179,1,0,0,0,1326,1324,1,0,0,0,1327,1329,3,182,91,0,1328,1330,3,294,147,0,1329,1328,1,0,0,0,1329,1330,1,0,0,0,1330,181,1,0,0,0,1331,1333,5,373,0,0,1332,1331,1,0,0,0,1332,1333,1,0,0,0,1333,1334,1,0,0,0,1334,1336,3,322,161,0,1335,1337,3,184,92,0,1336,1335,1,0,0,0,1336,1337,1,0,0,0,1337,1342,1,0,0,0,1338,1340,5,17,0,0,1339,1338,1,0,0,0,1339,1340,1,0,0,0,1340,1341,1,0,0,0,1341,1343,3,278,139,0,1342,1339,1,0,0,0,1342,1343,1,0,0,0,1343,1383,1,0,0,0,1344,1346,3,324,162,0,1345,1347,3,184,92,0,1346,1345,1,0,0,0,1346,1347,1,0,0,0,1347,1352,1,0,0,0,1348,1350,5,17,0,0,1349,1348,1,0,0,0,1349,1350,1,0,0,0,1350,1351,1,0,0,0,1351,1353,3,278,139,0,1352,1349,1,0,0,0,1352,1353,1,0,0,0,1353,1383,1,0,0,0,1354,1355,5,198,0,0,1355,1356,5,373,0,0,1356,1357,5,516,0,0,1357,1358,3,272,136,0,1358,1359,5,516,0,0,1359,1364,3,274,137,0,1360,1361,5,520,0,0,1361,1363,3,274,137,0,1362,1360,1,0,0,0,1363,1366,1,0,0,0,1364,1362,1,0,0,0,1364,1365,1,0,0,0,1365,1367,1,0,0,0,1366,1364,1,0,0,0,1367,1368,5,517,0,0,1368,1369,5,517,0,0,1369,1383,1,0,0,0,1370,1372,5,198,0,0,1371,1370,1,0,0,0,1371,1372,1,0,0,0,1372,1373,1,0,0,0,1373,1374,5,516,0,0,1374,1375,3,158,79,0,1375,1376,5,517,0,0,1376,1383,1,0,0,0,1377,1378,5,405,0,0,1378,1379,5,516,0,0,1379,1380,3,258,129,0,1380,1381,5,517,0,0,1381,1383,1,0,0,0,1382,1332,1,0,0,0,1382,1344,1,0,0,0,1382,1354,1,0,0,0,1382,1371,1,0,0,0,1382,1377,1,0,0,0,1383,183,1,0,0,0,1384,1385,5,146,0,0,1385,1386,5,371,0,0,1386,1387,5,17,0,0,1387,1388,5,249,0,0,1388,1389,3,186,93,0,1389,185,1,0,0,0,1390,1391,3,258,129,0,1391,187,1,0,0,0,1392,1393,5,516,0,0,1393,1394,3,150,75,0,1394,1395,5,517,0,0,1395,1396,3,294,147,0,1396,189,1,0,0,0,1397,1398,5,373,0,0,1398,1399,5,516,0,0,1399,1400,3,192,96,0,1400,1401,5,517,0,0,1401,191,1,0,0,0,1402,1403,3,194,97,0,1403,1404,5,516,0,0,1404,1409,3,196,98,0,1405,1406,5,520,0,0,1406,1408,3,196,98,0,1407,1405,1,0,0,0,1408,1411,1,0,0,0,1409,1407,1,0,0,0,1409,1410,1,0,0,0,1410,1412,1,0,0,0,1411,1409,1,0,0,0,1412,1413,5,517,0,0,1413,193,1,0,0,0,1414,1415,7,21,0,0,1415,195,1,0,0,0,1416,1417,5,373,0,0,1417,1432,3,218,109,0,1418,1432,3,200,100,0,1419,1432,3,282,141,0,1420,1421,5,446,0,0,1421,1422,5,536,0,0,1422,1423,5,373,0,0,1423,1432,3,218,109,0,1424,1425,5,498,0,0,1425,1426,5,536,0,0,1426,1432,3,200,100,0,1427,1428,3,198,99,0,1428,1429,5,536,0,0,1429,1430,3,282,141,0,1430,1432,1,0,0,0,1431,1416,1,0,0,0,1431,1418,1,0,0,0,1431,1419,1,0,0,0,1431,1420,1,0,0,0,1431,1424,1,0,0,0,1431,1427,1,0,0,0,1432,197,1,0,0,0,1433,1434,7,22,0,0,1434,199,1,0,0,0,1435,1436,5,451,0,0,1436,1437,5,516,0,0,1437,1438,3,52,26,0,1438,1439,5,517,0,0,1439,201,1,0,0,0,1440,1441,5,253,0,0,1441,1445,3,260,130,0,1442,1443,5,412,0,0,1443,1445,3,54,27,0,1444,1440,1,0,0,0,1444,1442,1,0,0,0,1445,203,1,0,0,0,1446,1447,5,430,0,0,1447,1448,3,260,130,0,1448,205,1,0,0,0,1449,1450,5,159,0,0,1450,1451,5,34,0,0,1451,1456,3,208,104,0,1452,1453,5,520,0,0,1453,1455,3,208,104,0,1454,1452,1,0,0,0,1455,1458,1,0,0,0,1456,1454,1,0,0,0,1456,1457,1,0,0,0,1457,207,1,0,0,0,1458,1456,1,0,0,0,1459,1500,3,52,26,0,1460,1500,3,214,107,0,1461,1462,5,516,0,0,1462,1500,5,517,0,0,1463,1464,5,516,0,0,1464,1469,3,258,129,0,1465,1466,5,520,0,0,1466,1468,3,258,129,0,1467,1465,1,0,0,0,1468,1471,1,0,0,0,1469,1467,1,0,0,0,1469,1470,1,0,0,0,1470,1472,1,0,0,0,1471,1469,1,0,0,0,1472,1473,5,517,0,0,1473,1500,1,0,0,0,1474,1475,3,212,106,0,1475,1476,5,516,0,0,1476,1481,3,258,129,0,1477,1478,5,520,0,0,1478,1480,3,258,129,0,1479,1477,1,0,0,0,1480,1483,1,0,0,0,1481,1479,1,0,0,0,1481,1482,1,0,0,0,1482,1484,1,0,0,0,1483,1481,1,0,0,0,1484,1485,5,517,0,0,1485,1500,1,0,0,0,1486,1487,3,210,105,0,1487,1488,5,516,0,0,1488,1493,3,208,104,0,1489,1490,5,520,0,0,1490,1492,3,208,104,0,1491,1489,1,0,0,0,1492,1495,1,0,0,0,1493,1491,1,0,0,0,1493,1494,1,0,0,0,1494,1496,1,0,0,0,1495,1493,1,0,0,0,1496,1497,5,517,0,0,1497,1500,1,0,0,0,1498,1500,3,258,129,0,1499,1459,1,0,0,0,1499,1460,1,0,0,0,1499,1461,1,0,0,0,1499,1463,1,0,0,0,1499,1474,1,0,0,0,1499,1486,1,0,0,0,1499,1498,1,0,0,0,1500,209,1,0,0,0,1501,1502,5,160,0,0,1502,1503,5,493,0,0,1503,211,1,0,0,0,1504,1505,7,23,0,0,1505,213,1,0,0,0,1506,1507,3,216,108,0,1507,1508,5,516,0,0,1508,1509,3,218,109,0,1509,1510,5,520,0,0,1510,1511,3,282,141,0,1511,1512,5,517,0,0,1512,215,1,0,0,0,1513,1514,7,24,0,0,1514,217,1,0,0,0,1515,1516,3,328,164,0,1516,219,1,0,0,0,1517,1518,5,163,0,0,1518,1519,3,260,130,0,1519,221,1,0,0,0,1520,1521,5,432,0,0,1521,1526,3,224,112,0,1522,1523,5,520,0,0,1523,1525,3,224,112,0,1524,1522,1,0,0,0,1525,1528,1,0,0,0,1526,1524,1,0,0,0,1526,1527,1,0,0,0,1527,223,1,0,0,0,1528,1526,1,0,0,0,1529,1530,3,296,148,0,1530,1531,5,17,0,0,1531,1532,3,226,113,0,1532,225,1,0,0,0,1533,1535,3,296,148,0,1534,1533,1,0,0,0,1534,1535,1,0,0,0,1535,1536,1,0,0,0,1536,1538,5,516,0,0,1537,1539,3,236,118,0,1538,1537,1,0,0,0,1538,1539,1,0,0,0,1539,1541,1,0,0,0,1540,1542,3,230,115,0,1541,1540,1,0,0,0,1541,1542,1,0,0,0,1542,1544,1,0,0,0,1543,1545,3,252,126,0,1544,1543,1,0,0,0,1544,1545,1,0,0,0,1545,1546,1,0,0,0,1546,1547,5,517,0,0,1547,227,1,0,0,0,1548,1549,5,213,0,0,1549,1551,5,516,0,0,1550,1552,3,236,118,0,1551,1550,1,0,0,0,1551,1552,1,0,0,0,1552,1554,1,0,0,0,1553,1555,3,230,115,0,1554,1553,1,0,0,0,1554,1555,1,0,0,0,1555,1557,1,0,0,0,1556,1558,3,240,120,0,1557,1556,1,0,0,0,1557,1558,1,0,0,0,1558,1560,1,0,0,0,1559,1561,3,246,123,0,1560,1559,1,0,0,0,1560,1561,1,0,0,0,1561,1563,1,0,0,0,1562,1564,3,248,124,0,1563,1562,1,0,0,0,1563,1564,1,0,0,0,1564,1566,1,0,0,0,1565,1567,3,242,121,0,1566,1565,1,0,0,0,1566,1567,1,0,0,0,1567,1568,1,0,0,0,1568,1569,3,250,125,0,1569,1574,5,517,0,0,1570,1572,5,17,0,0,1571,1570,1,0,0,0,1571,1572,1,0,0,0,1572,1573,1,0,0,0,1573,1575,3,304,152,0,1574,1571,1,0,0,0,1574,1575,1,0,0,0,1575,229,1,0,0,0,1576,1577,5,258,0,0,1577,1578,5,34,0,0,1578,1583,3,232,116,0,1579,1580,5,520,0,0,1580,1582,3,232,116,0,1581,1579,1,0,0,0,1582,1585,1,0,0,0,1583,1581,1,0,0,0,1583,1584,1,0,0,0,1584,231,1,0,0,0,1585,1583,1,0,0,0,1586,1588,3,52,26,0,1587,1589,7,25,0,0,1588,1587,1,0,0,0,1588,1589,1,0,0,0,1589,1592,1,0,0,0,1590,1591,5,476,0,0,1591,1593,7,26,0,0,1592,1590,1,0,0,0,1592,1593,1,0,0,0,1593,233,1,0,0,0,1594,1597,5,204,0,0,1595,1598,5,5,0,0,1596,1598,3,258,129,0,1597,1595,1,0,0,0,1597,1596,1,0,0,0,1598,235,1,0,0,0,1599,1600,5,268,0,0,1600,1601,5,34,0,0,1601,1606,3,52,26,0,1602,1603,5,520,0,0,1603,1605,3,52,26,0,1604,1602,1,0,0,0,1605,1608,1,0,0,0,1606,1604,1,0,0,0,1606,1607,1,0,0,0,1607,237,1,0,0,0,1608,1606,1,0,0,0,1609,1626,5,527,0,0,1610,1626,5,530,0,0,1611,1626,5,535,0,0,1612,1613,5,518,0,0,1613,1614,5,538,0,0,1614,1615,5,520,0,0,1615,1616,5,538,0,0,1616,1626,5,519,0,0,1617,1618,5,518,0,0,1618,1619,5,538,0,0,1619,1620,5,520,0,0,1620,1626,5,519,0,0,1621,1622,5,518,0,0,1622,1623,5,520,0,0,1623,1624,5,538,0,0,1624,1626,5,519,0,0,1625,1609,1,0,0,0,1625,1610,1,0,0,0,1625,1611,1,0,0,0,1625,1612,1,0,0,0,1625,1617,1,0,0,0,1625,1621,1,0,0,0,1626,239,1,0,0,0,1627,1628,5,215,0,0,1628,1633,3,172,86,0,1629,1630,5,520,0,0,1630,1632,3,172,86,0,1631,1629,1,0,0,0,1632,1635,1,0,0,0,1633,1631,1,0,0,0,1633,1634,1,0,0,0,1634,241,1,0,0,0,1635,1633,1,0,0,0,1636,1637,5,271,0,0,1637,1639,5,516,0,0,1638,1640,3,244,122,0,1639,1638,1,0,0,0,1640,1641,1,0,0,0,1641,1639,1,0,0,0,1641,1642,1,0,0,0,1642,1643,1,0,0,0,1643,1645,5,517,0,0,1644,1646,3,256,128,0,1645,1644,1,0,0,0,1645,1646,1,0,0,0,1646,243,1,0,0,0,1647,1649,3,306,153,0,1648,1650,3,238,119,0,1649,1648,1,0,0,0,1649,1650,1,0,0,0,1650,245,1,0,0,0,1651,1652,5,5,0,0,1652,1653,5,322,0,0,1653,1654,5,272,0,0,1654,1660,5,210,0,0,1655,1656,5,254,0,0,1656,1657,5,321,0,0,1657,1658,5,272,0,0,1658,1660,5,210,0,0,1659,1651,1,0,0,0,1659,1655,1,0,0,0,1660,247,1,0,0,0,1661,1662,5,438,0,0,1662,1663,5,210,0,0,1663,1664,5,343,0,0,1664,1665,5,478,0,0,1665,1666,5,467,0,0,1666,1686,5,321,0,0,1667,1668,5,438,0,0,1668,1669,5,210,0,0,1669,1670,5,343,0,0,1670,1671,5,388,0,0,1671,1672,5,237,0,0,1672,1686,5,321,0,0,1673,1674,5,438,0,0,1674,1675,5,210,0,0,1675,1676,5,343,0,0,1676,1677,5,388,0,0,1677,1678,5,467,0,0,1678,1686,3,306,153,0,1679,1680,5,438,0,0,1680,1681,5,210,0,0,1681,1682,5,343,0,0,1682,1683,5,388,0,0,1683,1684,5,457,0,0,1684,1686,3,306,153,0,1685,1661,1,0,0,0,1685,1667,1,0,0,0,1685,1673,1,0,0,0,1685,1679,1,0,0,0,1686,249,1,0,0,0,1687,1688,5,105,0,0,1688,1693,3,172,86,0,1689,1690,5,520,0,0,1690,1692,3,172,86,0,1691,1689,1,0,0,0,1692,1695,1,0,0,0,1693,1691,1,0,0,0,1693,1694,1,0,0,0,1694,251,1,0,0,0,1695,1693,1,0,0,0,1696,1697,5,292,0,0,1697,1698,5,27,0,0,1698,1699,3,282,141,0,1699,1700,3,254,127,0,1700,1706,1,0,0,0,1701,1702,5,322,0,0,1702,1703,5,27,0,0,1703,1704,5,538,0,0,1704,1706,3,254,127,0,1705,1696,1,0,0,0,1705,1701,1,0,0,0,1706,253,1,0,0,0,1707,1708,5,480,0,0,1708,1709,5,10,0,0,1709,1710,5,76,0,0,1710,1711,5,321,0,0,1711,255,1,0,0,0,1712,1713,5,434,0,0,1713,1714,3,282,141,0,1714,257,1,0,0,0,1715,1716,3,260,130,0,1716,259,1,0,0,0,1717,1718,6,130,-1,0,1718,1719,5,241,0,0,1719,1730,3,260,130,6,1720,1721,5,133,0,0,1721,1722,5,516,0,0,1722,1723,3,158,79,0,1723,1724,5,517,0,0,1724,1730,1,0,0,0,1725,1727,3,266,133,0,1726,1728,3,262,131,0,1727,1726,1,0,0,0,1727,1728,1,0,0,0,1728,1730,1,0,0,0,1729,1717,1,0,0,0,1729,1720,1,0,0,0,1729,1725,1,0,0,0,1730,1745,1,0,0,0,1731,1732,10,3,0,0,1732,1733,5,10,0,0,1733,1744,3,260,130,4,1734,1735,10,2,0,0,1735,1736,5,257,0,0,1736,1744,3,260,130,3,1737,1738,10,1,0,0,1738,1740,5,184,0,0,1739,1741,5,241,0,0,1740,1739,1,0,0,0,1740,1741,1,0,0,0,1741,1742,1,0,0,0,1742,1744,7,27,0,0,1743,1731,1,0,0,0,1743,1734,1,0,0,0,1743,1737,1,0,0,0,1744,1747,1,0,0,0,1745,1743,1,0,0,0,1745,1746,1,0,0,0,1746,261,1,0,0,0,1747,1745,1,0,0,0,1748,1750,5,241,0,0,1749,1748,1,0,0,0,1749,1750,1,0,0,0,1750,1751,1,0,0,0,1751,1753,5,27,0,0,1752,1754,7,28,0,0,1753,1752,1,0,0,0,1753,1754,1,0,0,0,1754,1755,1,0,0,0,1755,1756,3,266,133,0,1756,1757,5,10,0,0,1757,1758,3,266,133,0,1758,1816,1,0,0,0,1759,1761,5,241,0,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761,1762,1,0,0,0,1762,1763,5,170,0,0,1763,1764,5,516,0,0,1764,1769,3,258,129,0,1765,1766,5,520,0,0,1766,1768,3,258,129,0,1767,1765,1,0,0,0,1768,1771,1,0,0,0,1769,1767,1,0,0,0,1769,1770,1,0,0,0,1770,1772,1,0,0,0,1771,1769,1,0,0,0,1772,1773,5,517,0,0,1773,1816,1,0,0,0,1774,1776,5,241,0,0,1775,1774,1,0,0,0,1775,1776,1,0,0,0,1776,1777,1,0,0,0,1777,1778,5,170,0,0,1778,1779,5,516,0,0,1779,1780,3,158,79,0,1780,1781,5,517,0,0,1781,1816,1,0,0,0,1782,1783,5,133,0,0,1783,1784,5,516,0,0,1784,1785,3,158,79,0,1785,1786,5,517,0,0,1786,1816,1,0,0,0,1787,1789,5,241,0,0,1788,1787,1,0,0,0,1788,1789,1,0,0,0,1789,1790,1,0,0,0,1790,1791,5,318,0,0,1791,1816,3,266,133,0,1792,1816,3,264,132,0,1793,1795,5,184,0,0,1794,1796,5,241,0,0,1795,1794,1,0,0,0,1795,1796,1,0,0,0,1796,1797,1,0,0,0,1797,1816,7,27,0,0,1798,1800,5,184,0,0,1799,1801,5,241,0,0,1800,1799,1,0,0,0,1800,1801,1,0,0,0,1801,1802,1,0,0,0,1802,1803,5,113,0,0,1803,1804,5,151,0,0,1804,1816,3,266,133,0,1805,1807,5,241,0,0,1806,1805,1,0,0,0,1806,1807,1,0,0,0,1807,1808,1,0,0,0,1808,1809,5,342,0,0,1809,1810,5,388,0,0,1810,1813,3,266,133,0,1811,1812,5,127,0,0,1812,1814,3,358,179,0,1813,1811,1,0,0,0,1813,1814,1,0,0,0,1814,1816,1,0,0,0,1815,1749,1,0,0,0,1815,1760,1,0,0,0,1815,1775,1,0,0,0,1815,1782,1,0,0,0,1815,1788,1,0,0,0,1815,1792,1,0,0,0,1815,1793,1,0,0,0,1815,1798,1,0,0,0,1815,1806,1,0,0,0,1816,263,1,0,0,0,1817,1819,5,241,0,0,1818,1817,1,0,0,0,1818,1819,1,0,0,0,1819,1820,1,0,0,0,1820,1821,5,202,0,0,1821,1835,7,29,0,0,1822,1823,5,516,0,0,1823,1836,5,517,0,0,1824,1825,5,516,0,0,1825,1830,3,258,129,0,1826,1827,5,520,0,0,1827,1829,3,258,129,0,1828,1826,1,0,0,0,1829,1832,1,0,0,0,1830,1828,1,0,0,0,1830,1831,1,0,0,0,1831,1833,1,0,0,0,1832,1830,1,0,0,0,1833,1834,5,517,0,0,1834,1836,1,0,0,0,1835,1822,1,0,0,0,1835,1824,1,0,0,0,1836,1847,1,0,0,0,1837,1839,5,241,0,0,1838,1837,1,0,0,0,1838,1839,1,0,0,0,1839,1840,1,0,0,0,1840,1841,5,202,0,0,1841,1844,3,266,133,0,1842,1843,5,127,0,0,1843,1845,3,358,179,0,1844,1842,1,0,0,0,1844,1845,1,0,0,0,1845,1847,1,0,0,0,1846,1818,1,0,0,0,1846,1838,1,0,0,0,1847,265,1,0,0,0,1848,1849,6,133,-1,0,1849,1853,3,268,134,0,1850,1851,7,30,0,0,1851,1853,3,266,133,7,1852,1848,1,0,0,0,1852,1850,1,0,0,0,1853,1875,1,0,0,0,1854,1855,10,6,0,0,1855,1856,7,31,0,0,1856,1874,3,266,133,7,1857,1858,10,5,0,0,1858,1859,7,32,0,0,1859,1874,3,266,133,6,1860,1861,10,4,0,0,1861,1862,5,511,0,0,1862,1874,3,266,133,5,1863,1864,10,3,0,0,1864,1865,5,512,0,0,1865,1874,3,266,133,4,1866,1867,10,2,0,0,1867,1868,5,510,0,0,1868,1874,3,266,133,3,1869,1870,10,1,0,0,1870,1871,3,346,173,0,1871,1872,3,266,133,2,1872,1874,1,0,0,0,1873,1854,1,0,0,0,1873,1857,1,0,0,0,1873,1860,1,0,0,0,1873,1863,1,0,0,0,1873,1866,1,0,0,0,1873,1869,1,0,0,0,1874,1877,1,0,0,0,1875,1873,1,0,0,0,1875,1876,1,0,0,0,1876,267,1,0,0,0,1877,1875,1,0,0,0,1878,1879,6,134,-1,0,1879,1881,5,40,0,0,1880,1882,3,310,155,0,1881,1880,1,0,0,0,1882,1883,1,0,0,0,1883,1881,1,0,0,0,1883,1884,1,0,0,0,1884,1887,1,0,0,0,1885,1886,5,120,0,0,1886,1888,3,258,129,0,1887,1885,1,0,0,0,1887,1888,1,0,0,0,1888,1889,1,0,0,0,1889,1890,5,122,0,0,1890,1971,1,0,0,0,1891,1892,5,40,0,0,1892,1894,3,258,129,0,1893,1895,3,310,155,0,1894,1893,1,0,0,0,1895,1896,1,0,0,0,1896,1894,1,0,0,0,1896,1897,1,0,0,0,1897,1900,1,0,0,0,1898,1899,5,120,0,0,1899,1901,3,258,129,0,1900,1898,1,0,0,0,1900,1901,1,0,0,0,1901,1902,1,0,0,0,1902,1903,5,122,0,0,1903,1971,1,0,0,0,1904,1905,5,41,0,0,1905,1906,5,516,0,0,1906,1907,3,258,129,0,1907,1908,5,17,0,0,1908,1909,3,56,28,0,1909,1910,5,517,0,0,1910,1971,1,0,0,0,1911,1912,5,457,0,0,1912,1913,5,516,0,0,1913,1916,3,258,129,0,1914,1915,5,461,0,0,1915,1917,5,476,0,0,1916,1914,1,0,0,0,1916,1917,1,0,0,0,1917,1918,1,0,0,0,1918,1919,5,517,0,0,1919,1971,1,0,0,0,1920,1921,5,467,0,0,1921,1922,5,516,0,0,1922,1925,3,258,129,0,1923,1924,5,461,0,0,1924,1926,5,476,0,0,1925,1923,1,0,0,0,1925,1926,1,0,0,0,1926,1927,1,0,0,0,1927,1928,5,517,0,0,1928,1971,1,0,0,0,1929,1930,5,281,0,0,1930,1931,5,516,0,0,1931,1932,3,266,133,0,1932,1933,5,170,0,0,1933,1934,3,266,133,0,1934,1935,5,517,0,0,1935,1971,1,0,0,0,1936,1971,3,354,177,0,1937,1971,5,527,0,0,1938,1939,3,328,164,0,1939,1940,5,513,0,0,1940,1941,5,527,0,0,1941,1971,1,0,0,0,1942,1943,5,516,0,0,1943,1944,3,158,79,0,1944,1945,5,517,0,0,1945,1971,1,0,0,0,1946,1947,3,272,136,0,1947,1959,5,516,0,0,1948,1950,3,364,182,0,1949,1948,1,0,0,0,1949,1950,1,0,0,0,1950,1951,1,0,0,0,1951,1956,3,274,137,0,1952,1953,5,520,0,0,1953,1955,3,274,137,0,1954,1952,1,0,0,0,1955,1958,1,0,0,0,1956,1954,1,0,0,0,1956,1957,1,0,0,0,1957,1960,1,0,0,0,1958,1956,1,0,0,0,1959,1949,1,0,0,0,1959,1960,1,0,0,0,1960,1961,1,0,0,0,1961,1962,5,517,0,0,1962,1971,1,0,0,0,1963,1971,3,304,152,0,1964,1971,3,276,138,0,1965,1966,5,516,0,0,1966,1967,3,258,129,0,1967,1968,5,517,0,0,1968,1971,1,0,0,0,1969,1971,5,85,0,0,1970,1878,1,0,0,0,1970,1891,1,0,0,0,1970,1904,1,0,0,0,1970,1911,1,0,0,0,1970,1920,1,0,0,0,1970,1929,1,0,0,0,1970,1936,1,0,0,0,1970,1937,1,0,0,0,1970,1938,1,0,0,0,1970,1942,1,0,0,0,1970,1946,1,0,0,0,1970,1963,1,0,0,0,1970,1964,1,0,0,0,1970,1965,1,0,0,0,1970,1969,1,0,0,0,1971,1979,1,0,0,0,1972,1973,10,5,0,0,1973,1974,5,514,0,0,1974,1975,3,266,133,0,1975,1976,5,515,0,0,1976,1978,1,0,0,0,1977,1972,1,0,0,0,1978,1981,1,0,0,0,1979,1977,1,0,0,0,1979,1980,1,0,0,0,1980,269,1,0,0,0,1981,1979,1,0,0,0,1982,1983,3,328,164,0,1983,271,1,0,0,0,1984,1987,3,372,186,0,1985,1987,3,328,164,0,1986,1984,1,0,0,0,1986,1985,1,0,0,0,1987,273,1,0,0,0,1988,1993,3,370,185,0,1989,1993,3,368,184,0,1990,1993,3,366,183,0,1991,1993,3,258,129,0,1992,1988,1,0,0,0,1992,1989,1,0,0,0,1992,1990,1,0,0,0,1992,1991,1,0,0,0,1993,275,1,0,0,0,1994,1995,3,328,164,0,1995,277,1,0,0,0,1996,1997,3,304,152,0,1997,279,1,0,0,0,1998,2001,3,304,152,0,1999,2001,3,276,138,0,2e3,1998,1,0,0,0,2e3,1999,1,0,0,0,2001,281,1,0,0,0,2002,2005,5,182,0,0,2003,2006,3,284,142,0,2004,2006,3,288,144,0,2005,2003,1,0,0,0,2005,2004,1,0,0,0,2005,2006,1,0,0,0,2006,283,1,0,0,0,2007,2009,3,286,143,0,2008,2010,3,290,145,0,2009,2008,1,0,0,0,2009,2010,1,0,0,0,2010,285,1,0,0,0,2011,2012,3,292,146,0,2012,2013,3,368,184,0,2013,2015,1,0,0,0,2014,2011,1,0,0,0,2015,2016,1,0,0,0,2016,2014,1,0,0,0,2016,2017,1,0,0,0,2017,287,1,0,0,0,2018,2021,3,290,145,0,2019,2022,3,286,143,0,2020,2022,3,290,145,0,2021,2019,1,0,0,0,2021,2020,1,0,0,0,2021,2022,1,0,0,0,2022,289,1,0,0,0,2023,2024,3,292,146,0,2024,2025,3,368,184,0,2025,2026,5,388,0,0,2026,2027,3,368,184,0,2027,291,1,0,0,0,2028,2030,7,33,0,0,2029,2028,1,0,0,0,2029,2030,1,0,0,0,2030,2031,1,0,0,0,2031,2034,7,34,0,0,2032,2034,5,537,0,0,2033,2029,1,0,0,0,2033,2032,1,0,0,0,2034,293,1,0,0,0,2035,2037,5,17,0,0,2036,2035,1,0,0,0,2036,2037,1,0,0,0,2037,2038,1,0,0,0,2038,2040,3,304,152,0,2039,2041,3,300,150,0,2040,2039,1,0,0,0,2040,2041,1,0,0,0,2041,295,1,0,0,0,2042,2043,3,304,152,0,2043,2044,3,298,149,0,2044,297,1,0,0,0,2045,2046,5,221,0,0,2046,2048,3,304,152,0,2047,2045,1,0,0,0,2048,2049,1,0,0,0,2049,2047,1,0,0,0,2049,2050,1,0,0,0,2050,2053,1,0,0,0,2051,2053,1,0,0,0,2052,2047,1,0,0,0,2052,2051,1,0,0,0,2053,299,1,0,0,0,2054,2055,5,516,0,0,2055,2056,3,302,151,0,2056,2057,5,517,0,0,2057,301,1,0,0,0,2058,2063,3,304,152,0,2059,2060,5,520,0,0,2060,2062,3,304,152,0,2061,2059,1,0,0,0,2062,2065,1,0,0,0,2063,2061,1,0,0,0,2063,2064,1,0,0,0,2064,303,1,0,0,0,2065,2063,1,0,0,0,2066,2070,3,306,153,0,2067,2070,3,308,154,0,2068,2070,3,374,187,0,2069,2066,1,0,0,0,2069,2067,1,0,0,0,2069,2068,1,0,0,0,2070,305,1,0,0,0,2071,2072,7,35,0,0,2072,307,1,0,0,0,2073,2074,5,537,0,0,2074,309,1,0,0,0,2075,2076,5,428,0,0,2076,2077,3,258,129,0,2077,2078,5,376,0,0,2078,2079,3,258,129,0,2079,311,1,0,0,0,2080,2081,3,304,152,0,2081,313,1,0,0,0,2082,2083,3,304,152,0,2083,315,1,0,0,0,2084,2087,3,304,152,0,2085,2086,5,513,0,0,2086,2088,3,304,152,0,2087,2085,1,0,0,0,2087,2088,1,0,0,0,2088,317,1,0,0,0,2089,2092,3,304,152,0,2090,2091,5,513,0,0,2091,2093,3,304,152,0,2092,2090,1,0,0,0,2092,2093,1,0,0,0,2093,319,1,0,0,0,2094,2097,3,304,152,0,2095,2096,5,513,0,0,2096,2098,3,304,152,0,2097,2095,1,0,0,0,2097,2098,1,0,0,0,2098,2107,1,0,0,0,2099,2100,3,304,152,0,2100,2101,5,513,0,0,2101,2104,3,304,152,0,2102,2103,5,513,0,0,2103,2105,3,304,152,0,2104,2102,1,0,0,0,2104,2105,1,0,0,0,2105,2107,1,0,0,0,2106,2094,1,0,0,0,2106,2099,1,0,0,0,2107,321,1,0,0,0,2108,2111,3,304,152,0,2109,2110,5,513,0,0,2110,2112,3,304,152,0,2111,2109,1,0,0,0,2111,2112,1,0,0,0,2112,2121,1,0,0,0,2113,2114,3,304,152,0,2114,2115,5,513,0,0,2115,2118,3,304,152,0,2116,2117,5,513,0,0,2117,2119,3,304,152,0,2118,2116,1,0,0,0,2118,2119,1,0,0,0,2119,2121,1,0,0,0,2120,2108,1,0,0,0,2120,2113,1,0,0,0,2121,323,1,0,0,0,2122,2125,3,304,152,0,2123,2124,5,513,0,0,2124,2126,3,304,152,0,2125,2123,1,0,0,0,2125,2126,1,0,0,0,2126,2135,1,0,0,0,2127,2128,3,304,152,0,2128,2129,5,513,0,0,2129,2132,3,304,152,0,2130,2131,5,513,0,0,2131,2133,3,304,152,0,2132,2130,1,0,0,0,2132,2133,1,0,0,0,2133,2135,1,0,0,0,2134,2122,1,0,0,0,2134,2127,1,0,0,0,2135,325,1,0,0,0,2136,2139,3,304,152,0,2137,2138,5,513,0,0,2138,2140,3,304,152,0,2139,2137,1,0,0,0,2139,2140,1,0,0,0,2140,2149,1,0,0,0,2141,2142,3,304,152,0,2142,2143,5,513,0,0,2143,2146,3,304,152,0,2144,2145,5,513,0,0,2145,2147,3,304,152,0,2146,2144,1,0,0,0,2146,2147,1,0,0,0,2147,2149,1,0,0,0,2148,2136,1,0,0,0,2148,2141,1,0,0,0,2149,327,1,0,0,0,2150,2155,3,304,152,0,2151,2152,5,513,0,0,2152,2154,3,304,152,0,2153,2151,1,0,0,0,2154,2157,1,0,0,0,2155,2156,1,0,0,0,2155,2153,1,0,0,0,2156,329,1,0,0,0,2157,2155,1,0,0,0,2158,2159,5,433,0,0,2159,2160,3,336,168,0,2160,331,1,0,0,0,2161,2162,5,167,0,0,2162,2163,5,241,0,0,2163,2164,5,133,0,0,2164,333,1,0,0,0,2165,2166,5,167,0,0,2166,2167,5,133,0,0,2167,335,1,0,0,0,2168,2169,5,516,0,0,2169,2174,3,338,169,0,2170,2171,5,520,0,0,2171,2173,3,338,169,0,2172,2170,1,0,0,0,2173,2176,1,0,0,0,2174,2172,1,0,0,0,2174,2175,1,0,0,0,2175,2177,1,0,0,0,2176,2174,1,0,0,0,2177,2178,5,517,0,0,2178,337,1,0,0,0,2179,2184,3,340,170,0,2180,2182,5,505,0,0,2181,2180,1,0,0,0,2181,2182,1,0,0,0,2182,2183,1,0,0,0,2183,2185,3,342,171,0,2184,2181,1,0,0,0,2184,2185,1,0,0,0,2185,339,1,0,0,0,2186,2190,3,304,152,0,2187,2190,3,276,138,0,2188,2190,5,537,0,0,2189,2186,1,0,0,0,2189,2187,1,0,0,0,2189,2188,1,0,0,0,2190,341,1,0,0,0,2191,2196,5,538,0,0,2192,2196,5,539,0,0,2193,2196,3,362,181,0,2194,2196,5,537,0,0,2195,2191,1,0,0,0,2195,2192,1,0,0,0,2195,2193,1,0,0,0,2195,2194,1,0,0,0,2196,343,1,0,0,0,2197,2204,5,10,0,0,2198,2199,5,511,0,0,2199,2204,5,511,0,0,2200,2204,5,257,0,0,2201,2202,5,510,0,0,2202,2204,5,510,0,0,2203,2197,1,0,0,0,2203,2198,1,0,0,0,2203,2200,1,0,0,0,2203,2201,1,0,0,0,2204,345,1,0,0,0,2205,2220,5,505,0,0,2206,2220,5,506,0,0,2207,2220,5,507,0,0,2208,2209,5,507,0,0,2209,2220,5,505,0,0,2210,2211,5,506,0,0,2211,2220,5,505,0,0,2212,2213,5,507,0,0,2213,2220,5,506,0,0,2214,2215,5,508,0,0,2215,2220,5,505,0,0,2216,2217,5,507,0,0,2217,2218,5,505,0,0,2218,2220,5,506,0,0,2219,2205,1,0,0,0,2219,2206,1,0,0,0,2219,2207,1,0,0,0,2219,2208,1,0,0,0,2219,2210,1,0,0,0,2219,2212,1,0,0,0,2219,2214,1,0,0,0,2219,2216,1,0,0,0,2220,347,1,0,0,0,2221,2222,5,507,0,0,2222,2229,5,507,0,0,2223,2224,5,506,0,0,2224,2229,5,506,0,0,2225,2229,5,511,0,0,2226,2229,5,512,0,0,2227,2229,5,510,0,0,2228,2221,1,0,0,0,2228,2223,1,0,0,0,2228,2225,1,0,0,0,2228,2226,1,0,0,0,2228,2227,1,0,0,0,2229,349,1,0,0,0,2230,2231,7,36,0,0,2231,351,1,0,0,0,2232,2233,7,37,0,0,2233,353,1,0,0,0,2234,2249,3,282,141,0,2235,2249,3,356,178,0,2236,2249,3,358,179,0,2237,2239,5,529,0,0,2238,2237,1,0,0,0,2238,2239,1,0,0,0,2239,2240,1,0,0,0,2240,2249,3,360,180,0,2241,2249,3,362,181,0,2242,2249,5,539,0,0,2243,2249,5,540,0,0,2244,2246,5,241,0,0,2245,2244,1,0,0,0,2245,2246,1,0,0,0,2246,2247,1,0,0,0,2247,2249,5,244,0,0,2248,2234,1,0,0,0,2248,2235,1,0,0,0,2248,2236,1,0,0,0,2248,2238,1,0,0,0,2248,2241,1,0,0,0,2248,2242,1,0,0,0,2248,2243,1,0,0,0,2248,2245,1,0,0,0,2249,355,1,0,0,0,2250,2251,3,366,183,0,2251,2252,3,358,179,0,2252,357,1,0,0,0,2253,2254,5,537,0,0,2254,359,1,0,0,0,2255,2256,5,538,0,0,2256,361,1,0,0,0,2257,2258,7,38,0,0,2258,363,1,0,0,0,2259,2260,7,39,0,0,2260,365,1,0,0,0,2261,2262,7,40,0,0,2262,367,1,0,0,0,2263,2264,7,41,0,0,2264,369,1,0,0,0,2265,2266,7,42,0,0,2266,371,1,0,0,0,2267,2268,7,43,0,0,2268,373,1,0,0,0,2269,2270,7,44,0,0,2270,375,1,0,0,0,270,379,386,389,403,421,425,434,439,446,457,466,478,481,488,491,499,503,508,511,518,526,530,542,550,554,586,589,594,598,602,606,615,620,624,628,632,635,639,644,650,655,660,663,667,671,679,687,691,695,699,703,707,711,715,719,721,731,739,763,770,776,779,782,792,795,803,815,839,851,856,860,868,872,878,888,892,898,902,906,909,918,922,929,932,942,950,958,962,977,996,1007,1011,1018,1023,1029,1033,1040,1044,1048,1052,1060,1064,1069,1075,1081,1084,1088,1099,1108,1122,1134,1149,1152,1156,1159,1161,1166,1170,1173,1177,1186,1195,1205,1210,1221,1224,1227,1230,1233,1239,1243,1251,1254,1259,1262,1266,1269,1271,1285,1296,1301,1309,1312,1315,1320,1322,1324,1329,1332,1336,1339,1342,1346,1349,1352,1364,1371,1382,1409,1431,1444,1456,1469,1481,1493,1499,1526,1534,1538,1541,1544,1551,1554,1557,1560,1563,1566,1571,1574,1583,1588,1592,1597,1606,1625,1633,1641,1645,1649,1659,1685,1693,1705,1727,1729,1740,1743,1745,1749,1753,1760,1769,1775,1788,1795,1800,1806,1813,1815,1818,1830,1835,1838,1844,1846,1852,1873,1875,1883,1887,1896,1900,1916,1925,1949,1956,1959,1970,1979,1986,1992,2e3,2005,2009,2016,2021,2029,2033,2036,2040,2049,2052,2063,2069,2087,2092,2097,2104,2106,2111,2118,2120,2125,2132,2134,2139,2146,2148,2155,2174,2181,2184,2189,2195,2203,2219,2228,2238,2245,2248],s.vocabulary=new se(s.literalNames,s.symbolicNames,[]),s.decisionsToDFA=s._ATN.decisionToState.map((r,t)=>new Fe(r,t));class Y3 extends R{constructor(t,e){super(t,e)}EOF(){return this.getToken(s.EOF,0)}singleStatement(t){return t===void 0?this.getRuleContexts(Xr):this.getRuleContext(t,Xr)}get ruleIndex(){return s.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class Xr extends R{constructor(t,e){super(t,e)}sqlStatement(){return this.getRuleContext(0,la)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}emptyStatement(){return this.getRuleContext(0,ca)}get ruleIndex(){return s.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class la extends R{constructor(t,e){super(t,e)}ddlStatement(){return this.getRuleContext(0,Ea)}dmlStatement(){return this.getRuleContext(0,Qr)}describeStatement(){return this.getRuleContext(0,_a)}explainStatement(){return this.getRuleContext(0,da)}useStatement(){return this.getRuleContext(0,Ta)}showStatememt(){return this.getRuleContext(0,Aa)}loadStatement(){return this.getRuleContext(0,ma)}unloadStatememt(){return this.getRuleContext(0,Ca)}setStatememt(){return this.getRuleContext(0,Wa)}resetStatememt(){return this.getRuleContext(0,pa)}jarStatememt(){return this.getRuleContext(0,Ka)}dtAddStatement(){return this.getRuleContext(0,Na)}get ruleIndex(){return s.RULE_sqlStatement}enterRule(t){t.enterSqlStatement&&t.enterSqlStatement(this)}exitRule(t){t.exitSqlStatement&&t.exitSqlStatement(this)}accept(t){return t.visitSqlStatement?t.visitSqlStatement(this):t.visitChildren(this)}}class ca extends R{constructor(t,e){super(t,e)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_emptyStatement}enterRule(t){t.enterEmptyStatement&&t.enterEmptyStatement(this)}exitRule(t){t.exitEmptyStatement&&t.exitEmptyStatement(this)}accept(t){return t.visitEmptyStatement?t.visitEmptyStatement(this):t.visitChildren(this)}}class Ea extends R{constructor(t,e){super(t,e)}createTable(){return this.getRuleContext(0,xa)}createDatabase(){return this.getRuleContext(0,Ja)}createView(){return this.getRuleContext(0,ja)}createFunction(){return this.getRuleContext(0,$a)}createCatalog(){return this.getRuleContext(0,Qa)}alterTable(){return this.getRuleContext(0,Za)}alertView(){return this.getRuleContext(0,io)}alterDatabase(){return this.getRuleContext(0,ro)}alterFunction(){return this.getRuleContext(0,no)}dropCatalog(){return this.getRuleContext(0,ao)}dropTable(){return this.getRuleContext(0,oo)}dropDatabase(){return this.getRuleContext(0,ho)}dropView(){return this.getRuleContext(0,uo)}dropFunction(){return this.getRuleContext(0,lo)}get ruleIndex(){return s.RULE_ddlStatement}enterRule(t){t.enterDdlStatement&&t.enterDdlStatement(this)}exitRule(t){t.exitDdlStatement&&t.exitDdlStatement(this)}accept(t){return t.visitDdlStatement?t.visitDdlStatement(this):t.visitChildren(this)}}class Qr extends R{constructor(t,e){super(t,e)}queryStatement(){return this.getRuleContext(0,gt)}insertStatement(){return this.getRuleContext(0,co)}get ruleIndex(){return s.RULE_dmlStatement}enterRule(t){t.enterDmlStatement&&t.enterDmlStatement(this)}exitRule(t){t.exitDmlStatement&&t.exitDmlStatement(this)}accept(t){return t.visitDmlStatement?t.visitDmlStatement(this):t.visitChildren(this)}}class _a extends R{constructor(t,e){super(t,e)}tablePath(){return this.getRuleContext(0,Ke)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}get ruleIndex(){return s.RULE_describeStatement}enterRule(t){t.enterDescribeStatement&&t.enterDescribeStatement(this)}exitRule(t){t.exitDescribeStatement&&t.exitDescribeStatement(this)}accept(t){return t.visitDescribeStatement?t.visitDescribeStatement(this):t.visitChildren(this)}}class da extends R{constructor(t,e){super(t,e)}KW_EXPLAIN(){return this.getToken(s.KW_EXPLAIN,0)}dmlStatement(){return this.getRuleContext(0,Qr)}insertSimpleStatement(){return this.getRuleContext(0,$e)}insertMulStatement(){return this.getRuleContext(0,sn)}explainDetails(){return this.getRuleContext(0,Ra)}KW_PLAN(){return this.getToken(s.KW_PLAN,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}get ruleIndex(){return s.RULE_explainStatement}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class Ra extends R{constructor(t,e){super(t,e)}explainDetail(t){return t===void 0?this.getRuleContexts(Jr):this.getRuleContext(t,Jr)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_explainDetails}enterRule(t){t.enterExplainDetails&&t.enterExplainDetails(this)}exitRule(t){t.exitExplainDetails&&t.exitExplainDetails(this)}accept(t){return t.visitExplainDetails?t.visitExplainDetails(this):t.visitChildren(this)}}class Jr extends R{constructor(t,e){super(t,e)}KW_CHANGELOG_MODE(){return this.getToken(s.KW_CHANGELOG_MODE,0)}KW_JSON_EXECUTION_PLAN(){return this.getToken(s.KW_JSON_EXECUTION_PLAN,0)}KW_ESTIMATED_COST(){return this.getToken(s.KW_ESTIMATED_COST,0)}get ruleIndex(){return s.RULE_explainDetail}enterRule(t){t.enterExplainDetail&&t.enterExplainDetail(this)}exitRule(t){t.exitExplainDetail&&t.exitExplainDetail(this)}accept(t){return t.visitExplainDetail?t.visitExplainDetail(this):t.visitChildren(this)}}class Ta extends R{constructor(t,e){super(t,e)}KW_USE(){return this.getToken(s.KW_USE,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}catalogPath(){return this.getRuleContext(0,fn)}databasePath(){return this.getRuleContext(0,l0)}useModuleStatement(){return this.getRuleContext(0,fa)}get ruleIndex(){return s.RULE_useStatement}enterRule(t){t.enterUseStatement&&t.enterUseStatement(this)}exitRule(t){t.exitUseStatement&&t.exitUseStatement(this)}accept(t){return t.visitUseStatement?t.visitUseStatement(this):t.visitChildren(this)}}class fa extends R{constructor(t,e){super(t,e)}KW_USE(){return this.getToken(s.KW_USE,0)}KW_MODULES(){return this.getToken(s.KW_MODULES,0)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_useModuleStatement}enterRule(t){t.enterUseModuleStatement&&t.enterUseModuleStatement(this)}exitRule(t){t.exitUseModuleStatement&&t.exitUseModuleStatement(this)}accept(t){return t.visitUseModuleStatement?t.visitUseModuleStatement(this):t.visitChildren(this)}}class Aa extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CATALOGS(){return this.getToken(s.KW_CATALOGS,0)}KW_DATABASES(){return this.getToken(s.KW_DATABASES,0)}KW_VIEWS(){return this.getToken(s.KW_VIEWS,0)}KW_JARS(){return this.getToken(s.KW_JARS,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_TABLES(){return this.getToken(s.KW_TABLES,0)}databasePath(){return this.getRuleContext(0,l0)}likePredicate(){return this.getRuleContext(0,dn)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}KW_COLUMNS(){return this.getToken(s.KW_COLUMNS,0)}viewPath(){return this.getRuleContext(0,c0)}tablePath(){return this.getRuleContext(0,Ke)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_MODULES(){return this.getToken(s.KW_MODULES,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}get ruleIndex(){return s.RULE_showStatememt}enterRule(t){t.enterShowStatememt&&t.enterShowStatememt(this)}exitRule(t){t.exitShowStatememt&&t.exitShowStatememt(this)}accept(t){return t.visitShowStatememt?t.visitShowStatememt(this):t.visitChildren(this)}}class ma extends R{constructor(t,e){super(t,e)}KW_LOAD(){return this.getToken(s.KW_LOAD,0)}KW_MODULE(){return this.getToken(s.KW_MODULE,0)}uid(){return this.getRuleContext(0,ft)}KW_WITH(){return this.getToken(s.KW_WITH,0)}tablePropertyList(){return this.getRuleContext(0,_0)}get ruleIndex(){return s.RULE_loadStatement}enterRule(t){t.enterLoadStatement&&t.enterLoadStatement(this)}exitRule(t){t.exitLoadStatement&&t.exitLoadStatement(this)}accept(t){return t.visitLoadStatement?t.visitLoadStatement(this):t.visitChildren(this)}}class Ca extends R{constructor(t,e){super(t,e)}KW_UNLOAD(){return this.getToken(s.KW_UNLOAD,0)}KW_MODULE(){return this.getToken(s.KW_MODULE,0)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_unloadStatememt}enterRule(t){t.enterUnloadStatememt&&t.enterUnloadStatememt(this)}exitRule(t){t.exitUnloadStatememt&&t.exitUnloadStatememt(this)}accept(t){return t.visitUnloadStatememt?t.visitUnloadStatememt(this):t.visitChildren(this)}}class Wa extends R{constructor(t,e){super(t,e)}KW_SET(){return this.getToken(s.KW_SET,0)}tableProperty(){return this.getRuleContext(0,tr)}get ruleIndex(){return s.RULE_setStatememt}enterRule(t){t.enterSetStatememt&&t.enterSetStatememt(this)}exitRule(t){t.exitSetStatememt&&t.exitSetStatememt(this)}accept(t){return t.visitSetStatememt?t.visitSetStatememt(this):t.visitChildren(this)}}class pa extends R{constructor(t,e){super(t,e)}KW_RESET(){return this.getToken(s.KW_RESET,0)}tablePropertyKey(){return this.getRuleContext(0,mn)}get ruleIndex(){return s.RULE_resetStatememt}enterRule(t){t.enterResetStatememt&&t.enterResetStatememt(this)}exitRule(t){t.exitResetStatememt&&t.exitResetStatememt(this)}accept(t){return t.visitResetStatememt?t.visitResetStatememt(this):t.visitChildren(this)}}class Ka extends R{constructor(t,e){super(t,e)}KW_JAR(){return this.getToken(s.KW_JAR,0)}jarFileName(){return this.getRuleContext(0,Xi)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_REMOVE(){return this.getToken(s.KW_REMOVE,0)}get ruleIndex(){return s.RULE_jarStatememt}enterRule(t){t.enterJarStatememt&&t.enterJarStatememt(this)}exitRule(t){t.exitJarStatememt&&t.exitJarStatememt(this)}accept(t){return t.visitJarStatememt?t.visitJarStatememt(this):t.visitChildren(this)}}class Na extends R{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_JAR(){return this.getToken(s.KW_JAR,0)}KW_WITH(){return this.getToken(s.KW_WITH,0)}dtFilePath(){return this.getRuleContext(0,La)}KW_AS(){return this.getToken(s.KW_AS,0)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}KW_FILE(){return this.getToken(s.KW_FILE,0)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_PYTHON_FILES(){return this.getToken(s.KW_PYTHON_FILES,0)}KW_PYTHON_REQUIREMENTS(){return this.getToken(s.KW_PYTHON_REQUIREMENTS,0)}KW_PYTHON_DEPENDENCIES(){return this.getToken(s.KW_PYTHON_DEPENDENCIES,0)}KW_PYTHON_JAR(){return this.getToken(s.KW_PYTHON_JAR,0)}KW_PYTHON_ARCHIVES(){return this.getToken(s.KW_PYTHON_ARCHIVES,0)}KW_PYTHON_PARAMETER(){return this.getToken(s.KW_PYTHON_PARAMETER,0)}KW_ENGINE(){return this.getToken(s.KW_ENGINE,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_CONFIG(){return this.getToken(s.KW_CONFIG,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}get ruleIndex(){return s.RULE_dtAddStatement}enterRule(t){t.enterDtAddStatement&&t.enterDtAddStatement(this)}exitRule(t){t.exitDtAddStatement&&t.exitDtAddStatement(this)}accept(t){return t.visitDtAddStatement?t.visitDtAddStatement(this):t.visitChildren(this)}}class La extends R{constructor(t,e){super(t,e)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}SLASH_SIGN(t){return t===void 0?this.getTokens(s.SLASH_SIGN):this.getToken(s.SLASH_SIGN,t)}get ruleIndex(){return s.RULE_dtFilePath}enterRule(t){t.enterDtFilePath&&t.enterDtFilePath(this)}exitRule(t){t.exitDtFilePath&&t.exitDtFilePath(this)}accept(t){return t.visitDtFilePath?t.visitDtFilePath(this):t.visitChildren(this)}}class xa extends R{constructor(t,e){super(t,e)}simpleCreateTable(){return this.getRuleContext(0,Sa)}createTableAsSelect(){return this.getRuleContext(0,ga)}get ruleIndex(){return s.RULE_createTable}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}class Sa extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePathCreate(){return this.getRuleContext(0,An)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}columnOptionDefinition(t){return t===void 0?this.getRuleContexts(jr):this.getRuleContext(t,jr)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}withOption(){return this.getRuleContext(0,E0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,N1)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}watermarkDefinition(){return this.getRuleContext(0,Ba)}tableConstraint(){return this.getRuleContext(0,Ga)}selfDefinitionClause(){return this.getRuleContext(0,Va)}commentSpec(){return this.getRuleContext(0,W1)}partitionDefinition(){return this.getRuleContext(0,Ya)}likeDefinition(){return this.getRuleContext(0,Xa)}get ruleIndex(){return s.RULE_simpleCreateTable}enterRule(t){t.enterSimpleCreateTable&&t.enterSimpleCreateTable(this)}exitRule(t){t.exitSimpleCreateTable&&t.exitSimpleCreateTable(this)}accept(t){return t.visitSimpleCreateTable?t.visitSimpleCreateTable(this):t.visitChildren(this)}}class ga extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePathCreate(){return this.getRuleContext(0,An)}withOption(){return this.getRuleContext(0,E0)}ifNotExists(){return this.getRuleContext(0,N1)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,gt)}get ruleIndex(){return s.RULE_createTableAsSelect}enterRule(t){t.enterCreateTableAsSelect&&t.enterCreateTableAsSelect(this)}exitRule(t){t.exitCreateTableAsSelect&&t.exitCreateTableAsSelect(this)}accept(t){return t.visitCreateTableAsSelect?t.visitCreateTableAsSelect(this):t.visitChildren(this)}}class jr extends R{constructor(t,e){super(t,e)}physicalColumnDefinition(){return this.getRuleContext(0,Ia)}metadataColumnDefinition(){return this.getRuleContext(0,ba)}computedColumnDefinition(){return this.getRuleContext(0,ka)}get ruleIndex(){return s.RULE_columnOptionDefinition}enterRule(t){t.enterColumnOptionDefinition&&t.enterColumnOptionDefinition(this)}exitRule(t){t.exitColumnOptionDefinition&&t.exitColumnOptionDefinition(this)}accept(t){return t.visitColumnOptionDefinition?t.visitColumnOptionDefinition(this):t.visitChildren(this)}}class Ia extends R{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,Fi)}columnType(){return this.getRuleContext(0,he)}columnConstraint(){return this.getRuleContext(0,va)}commentSpec(){return this.getRuleContext(0,W1)}get ruleIndex(){return s.RULE_physicalColumnDefinition}enterRule(t){t.enterPhysicalColumnDefinition&&t.enterPhysicalColumnDefinition(this)}exitRule(t){t.exitPhysicalColumnDefinition&&t.exitPhysicalColumnDefinition(this)}accept(t){return t.visitPhysicalColumnDefinition?t.visitPhysicalColumnDefinition(this):t.visitChildren(this)}}class Fi extends R{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class St extends R{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class je extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}columnName(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_columnNameList}enterRule(t){t.enterColumnNameList&&t.enterColumnNameList(this)}exitRule(t){t.exitColumnNameList&&t.exitColumnNameList(this)}accept(t){return t.visitColumnNameList?t.visitColumnNameList(this):t.visitChildren(this)}}class he extends R{constructor(t,e){super(t,e)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_BOOLEAN(){return this.getToken(s.KW_BOOLEAN,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_CHAR(){return this.getToken(s.KW_CHAR,0)}KW_VARCHAR(){return this.getToken(s.KW_VARCHAR,0)}KW_STRING(){return this.getToken(s.KW_STRING,0)}KW_BINARY(){return this.getToken(s.KW_BINARY,0)}KW_VARBINARY(){return this.getToken(s.KW_VARBINARY,0)}KW_BYTES(){return this.getToken(s.KW_BYTES,0)}KW_TINYINT(){return this.getToken(s.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(s.KW_SMALLINT,0)}KW_INT(){return this.getToken(s.KW_INT,0)}KW_INTEGER(){return this.getToken(s.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(s.KW_BIGINT,0)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_TIMESTAMP_LTZ(){return this.getToken(s.KW_TIMESTAMP_LTZ,0)}KW_DATETIME(){return this.getToken(s.KW_DATETIME,0)}lengthOneDimension(){return this.getRuleContext(0,Oa)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}KW_WITHOUT(){return this.getToken(s.KW_WITHOUT,0)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_LOCAL(){return this.getToken(s.KW_LOCAL,0)}KW_DECIMAL(){return this.getToken(s.KW_DECIMAL,0)}KW_DEC(){return this.getToken(s.KW_DEC,0)}KW_NUMERIC(){return this.getToken(s.KW_NUMERIC,0)}KW_FLOAT(){return this.getToken(s.KW_FLOAT,0)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}lengthTwoOptionalDimension(){return this.getRuleContext(0,Da)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_MULTISET(){return this.getToken(s.KW_MULTISET,0)}lengthOneTypeDimension(){return this.getRuleContext(0,Ua)}KW_MAP(){return this.getToken(s.KW_MAP,0)}mapTypeDimension(){return this.getRuleContext(0,ya)}KW_ROW(){return this.getToken(s.KW_ROW,0)}rowTypeDimension(){return this.getRuleContext(0,wa)}KW_RAW(){return this.getToken(s.KW_RAW,0)}lengthTwoStringDimension(){return this.getRuleContext(0,Ma)}get ruleIndex(){return s.RULE_columnType}enterRule(t){t.enterColumnType&&t.enterColumnType(this)}exitRule(t){t.exitColumnType&&t.exitColumnType(this)}accept(t){return t.visitColumnType?t.visitColumnType(this):t.visitChildren(this)}}class Oa extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,R0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_lengthOneDimension}enterRule(t){t.enterLengthOneDimension&&t.enterLengthOneDimension(this)}exitRule(t){t.exitLengthOneDimension&&t.exitLengthOneDimension(this)}accept(t){return t.visitLengthOneDimension?t.visitLengthOneDimension(this):t.visitChildren(this)}}class Da extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}decimalLiteral(t){return t===void 0?this.getRuleContexts(R0):this.getRuleContext(t,R0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_lengthTwoOptionalDimension}enterRule(t){t.enterLengthTwoOptionalDimension&&t.enterLengthTwoOptionalDimension(this)}exitRule(t){t.exitLengthTwoOptionalDimension&&t.exitLengthTwoOptionalDimension(this)}accept(t){return t.visitLengthTwoOptionalDimension?t.visitLengthTwoOptionalDimension(this):t.visitChildren(this)}}class Ma extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(qe):this.getRuleContext(t,qe)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_lengthTwoStringDimension}enterRule(t){t.enterLengthTwoStringDimension&&t.enterLengthTwoStringDimension(this)}exitRule(t){t.exitLengthTwoStringDimension&&t.exitLengthTwoStringDimension(this)}accept(t){return t.visitLengthTwoStringDimension?t.visitLengthTwoStringDimension(this):t.visitChildren(this)}}class Ua extends R{constructor(t,e){super(t,e)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}columnType(){return this.getRuleContext(0,he)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}get ruleIndex(){return s.RULE_lengthOneTypeDimension}enterRule(t){t.enterLengthOneTypeDimension&&t.enterLengthOneTypeDimension(this)}exitRule(t){t.exitLengthOneTypeDimension&&t.exitLengthOneTypeDimension(this)}accept(t){return t.visitLengthOneTypeDimension?t.visitLengthOneTypeDimension(this):t.visitChildren(this)}}class ya extends R{constructor(t,e){super(t,e)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}columnType(t){return t===void 0?this.getRuleContexts(he):this.getRuleContext(t,he)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_mapTypeDimension}enterRule(t){t.enterMapTypeDimension&&t.enterMapTypeDimension(this)}exitRule(t){t.exitMapTypeDimension&&t.exitMapTypeDimension(this)}accept(t){return t.visitMapTypeDimension?t.visitMapTypeDimension(this):t.visitChildren(this)}}class wa extends R{constructor(t,e){super(t,e)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}columnName(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}columnType(t){return t===void 0?this.getRuleContexts(he):this.getRuleContext(t,he)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_rowTypeDimension}enterRule(t){t.enterRowTypeDimension&&t.enterRowTypeDimension(this)}exitRule(t){t.exitRowTypeDimension&&t.exitRowTypeDimension(this)}accept(t){return t.visitRowTypeDimension?t.visitRowTypeDimension(this):t.visitChildren(this)}}class va extends R{constructor(t,e){super(t,e)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,r0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ENFORCED(){return this.getToken(s.KW_ENFORCED,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_columnConstraint}enterRule(t){t.enterColumnConstraint&&t.enterColumnConstraint(this)}exitRule(t){t.exitColumnConstraint&&t.exitColumnConstraint(this)}accept(t){return t.visitColumnConstraint?t.visitColumnConstraint(this):t.visitChildren(this)}}class W1 extends R{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_commentSpec}enterRule(t){t.enterCommentSpec&&t.enterCommentSpec(this)}exitRule(t){t.exitCommentSpec&&t.exitCommentSpec(this)}accept(t){return t.visitCommentSpec?t.visitCommentSpec(this):t.visitChildren(this)}}class ba extends R{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,Fi)}columnType(){return this.getRuleContext(0,he)}KW_METADATA(){return this.getToken(s.KW_METADATA,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}metadataKey(){return this.getRuleContext(0,Ha)}KW_VIRTUAL(){return this.getToken(s.KW_VIRTUAL,0)}get ruleIndex(){return s.RULE_metadataColumnDefinition}enterRule(t){t.enterMetadataColumnDefinition&&t.enterMetadataColumnDefinition(this)}exitRule(t){t.exitMetadataColumnDefinition&&t.exitMetadataColumnDefinition(this)}accept(t){return t.visitMetadataColumnDefinition?t.visitMetadataColumnDefinition(this):t.visitChildren(this)}}class Ha extends R{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_metadataKey}enterRule(t){t.enterMetadataKey&&t.enterMetadataKey(this)}exitRule(t){t.exitMetadataKey&&t.exitMetadataKey(this)}accept(t){return t.visitMetadataKey?t.visitMetadataKey(this):t.visitChildren(this)}}class ka extends R{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,Fi)}KW_AS(){return this.getToken(s.KW_AS,0)}computedColumnExpression(){return this.getRuleContext(0,Pa)}commentSpec(){return this.getRuleContext(0,W1)}get ruleIndex(){return s.RULE_computedColumnDefinition}enterRule(t){t.enterComputedColumnDefinition&&t.enterComputedColumnDefinition(this)}exitRule(t){t.exitComputedColumnDefinition&&t.exitComputedColumnDefinition(this)}accept(t){return t.visitComputedColumnDefinition?t.visitComputedColumnDefinition(this):t.visitChildren(this)}}class Pa extends R{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_computedColumnExpression}enterRule(t){t.enterComputedColumnExpression&&t.enterComputedColumnExpression(this)}exitRule(t){t.exitComputedColumnExpression&&t.exitComputedColumnExpression(this)}accept(t){return t.visitComputedColumnExpression?t.visitComputedColumnExpression(this):t.visitChildren(this)}}class Ba extends R{constructor(t,e){super(t,e)}KW_WATERMARK(){return this.getToken(s.KW_WATERMARK,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}columnName(){return this.getRuleContext(0,St)}KW_AS(){return this.getToken(s.KW_AS,0)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_watermarkDefinition}enterRule(t){t.enterWatermarkDefinition&&t.enterWatermarkDefinition(this)}exitRule(t){t.exitWatermarkDefinition&&t.exitWatermarkDefinition(this)}accept(t){return t.visitWatermarkDefinition?t.visitWatermarkDefinition(this):t.visitChildren(this)}}class Ga extends R{constructor(t,e){super(t,e)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnNameList(){return this.getRuleContext(0,je)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ENFORCED(){return this.getToken(s.KW_ENFORCED,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,r0)}get ruleIndex(){return s.RULE_tableConstraint}enterRule(t){t.enterTableConstraint&&t.enterTableConstraint(this)}exitRule(t){t.exitTableConstraint&&t.exitTableConstraint(this)}accept(t){return t.visitTableConstraint?t.visitTableConstraint(this):t.visitChildren(this)}}class r0 extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_constraintName}enterRule(t){t.enterConstraintName&&t.enterConstraintName(this)}exitRule(t){t.exitConstraintName&&t.exitConstraintName(this)}accept(t){return t.visitConstraintName?t.visitConstraintName(this):t.visitChildren(this)}}class Va extends R{constructor(t,e){super(t,e)}KW_PERIOD(){return this.getToken(s.KW_PERIOD,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}KW_SYSTEM_TIME(){return this.getToken(s.KW_SYSTEM_TIME,0)}get ruleIndex(){return s.RULE_selfDefinitionClause}enterRule(t){t.enterSelfDefinitionClause&&t.enterSelfDefinitionClause(this)}exitRule(t){t.exitSelfDefinitionClause&&t.exitSelfDefinitionClause(this)}accept(t){return t.visitSelfDefinitionClause?t.visitSelfDefinitionClause(this):t.visitChildren(this)}}class Ya extends R{constructor(t,e){super(t,e)}KW_PARTITIONED(){return this.getToken(s.KW_PARTITIONED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}transformList(){return this.getRuleContext(0,Fa)}get ruleIndex(){return s.RULE_partitionDefinition}enterRule(t){t.enterPartitionDefinition&&t.enterPartitionDefinition(this)}exitRule(t){t.exitPartitionDefinition&&t.exitPartitionDefinition(this)}accept(t){return t.visitPartitionDefinition?t.visitPartitionDefinition(this):t.visitChildren(this)}}class Fa extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}transform(t){return t===void 0?this.getRuleContexts(n0):this.getRuleContext(t,n0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_transformList}enterRule(t){t.enterTransformList&&t.enterTransformList(this)}exitRule(t){t.exitTransformList&&t.exitTransformList(this)}accept(t){return t.visitTransformList?t.visitTransformList(this):t.visitChildren(this)}}class n0 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_transform}copyFrom(t){super.copyFrom(t)}}class F3 extends n0{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnName(){return this.getRuleContext(0,St)}enterRule(t){t.enterIdentityTransform&&t.enterIdentityTransform(this)}exitRule(t){t.exitIdentityTransform&&t.exitIdentityTransform(this)}accept(t){return t.visitIdentityTransform?t.visitIdentityTransform(this):t.visitChildren(this)}}class X3 extends n0{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}transformArgument(t){return t===void 0?this.getRuleContexts($r):this.getRuleContext(t,$r)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterApplyTransform&&t.enterApplyTransform(this)}exitRule(t){t.exitApplyTransform&&t.exitApplyTransform(this)}accept(t){return t.visitApplyTransform?t.visitApplyTransform(this):t.visitChildren(this)}}class $r extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,e7)}constant(){return this.getRuleContext(0,d0)}get ruleIndex(){return s.RULE_transformArgument}enterRule(t){t.enterTransformArgument&&t.enterTransformArgument(this)}exitRule(t){t.exitTransformArgument&&t.exitTransformArgument(this)}accept(t){return t.visitTransformArgument?t.visitTransformArgument(this):t.visitChildren(this)}}class Xa extends R{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}tablePath(){return this.getRuleContext(0,Ke)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}likeOption(t){return t===void 0?this.getRuleContexts(zr):this.getRuleContext(t,zr)}get ruleIndex(){return s.RULE_likeDefinition}enterRule(t){t.enterLikeDefinition&&t.enterLikeDefinition(this)}exitRule(t){t.exitLikeDefinition&&t.exitLikeDefinition(this)}accept(t){return t.visitLikeDefinition?t.visitLikeDefinition(this):t.visitChildren(this)}}class zr extends R{constructor(t,e){super(t,e)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_CONSTRAINTS(){return this.getToken(s.KW_CONSTRAINTS,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}KW_OVERWRITING(){return this.getToken(s.KW_OVERWRITING,0)}KW_GENERATED(){return this.getToken(s.KW_GENERATED,0)}KW_OPTIONS(){return this.getToken(s.KW_OPTIONS,0)}KW_WATERMARKS(){return this.getToken(s.KW_WATERMARKS,0)}get ruleIndex(){return s.RULE_likeOption}enterRule(t){t.enterLikeOption&&t.enterLikeOption(this)}exitRule(t){t.exitLikeOption&&t.exitLikeOption(this)}accept(t){return t.visitLikeOption?t.visitLikeOption(this):t.visitChildren(this)}}class Qa extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}catalogPathCreate(){return this.getRuleContext(0,o7)}withOption(){return this.getRuleContext(0,E0)}get ruleIndex(){return s.RULE_createCatalog}enterRule(t){t.enterCreateCatalog&&t.enterCreateCatalog(this)}exitRule(t){t.exitCreateCatalog&&t.exitCreateCatalog(this)}accept(t){return t.visitCreateCatalog?t.visitCreateCatalog(this):t.visitChildren(this)}}class Ja extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databasePathCreate(){return this.getRuleContext(0,h7)}withOption(){return this.getRuleContext(0,E0)}ifNotExists(){return this.getRuleContext(0,N1)}commentSpec(){return this.getRuleContext(0,W1)}get ruleIndex(){return s.RULE_createDatabase}enterRule(t){t.enterCreateDatabase&&t.enterCreateDatabase(this)}exitRule(t){t.exitCreateDatabase&&t.exitCreateDatabase(this)}accept(t){return t.visitCreateDatabase?t.visitCreateDatabase(this):t.visitChildren(this)}}class ja extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewPathCreate(){return this.getRuleContext(0,u7)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,gt)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,N1)}columnNameList(){return this.getRuleContext(0,je)}commentSpec(){return this.getRuleContext(0,W1)}get ruleIndex(){return s.RULE_createView}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class $a extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,qo)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,B)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}ifNotExists(){return this.getRuleContext(0,N1)}KW_LANGUAGE(){return this.getToken(s.KW_LANGUAGE,0)}usingClause(){return this.getRuleContext(0,za)}KW_JAVA(){return this.getToken(s.KW_JAVA,0)}KW_SCALA(){return this.getToken(s.KW_SCALA,0)}KW_PYTHON(){return this.getToken(s.KW_PYTHON,0)}get ruleIndex(){return s.RULE_createFunction}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class za extends R{constructor(t,e){super(t,e)}KW_USING(){return this.getToken(s.KW_USING,0)}KW_JAR(t){return t===void 0?this.getTokens(s.KW_JAR):this.getToken(s.KW_JAR,t)}jarFileName(t){return t===void 0?this.getRuleContexts(Xi):this.getRuleContext(t,Xi)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_usingClause}enterRule(t){t.enterUsingClause&&t.enterUsingClause(this)}exitRule(t){t.exitUsingClause&&t.exitUsingClause(this)}accept(t){return t.visitUsingClause?t.visitUsingClause(this):t.visitChildren(this)}}class Xi extends R{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_jarFileName}enterRule(t){t.enterJarFileName&&t.enterJarFileName(this)}exitRule(t){t.exitJarFileName&&t.exitJarFileName(this)}accept(t){return t.visitJarFileName?t.visitJarFileName(this):t.visitChildren(this)}}class Za extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePath(){return this.getRuleContext(0,Ke)}renameDefinition(){return this.getRuleContext(0,Zr)}setKeyValueDefinition(){return this.getRuleContext(0,qr)}addConstraint(){return this.getRuleContext(0,qa)}dropConstraint(){return this.getRuleContext(0,to)}addUnique(){return this.getRuleContext(0,eo)}ifExists(){return this.getRuleContext(0,Ne)}get ruleIndex(){return s.RULE_alterTable}enterRule(t){t.enterAlterTable&&t.enterAlterTable(this)}exitRule(t){t.exitAlterTable&&t.exitAlterTable(this)}accept(t){return t.visitAlterTable?t.visitAlterTable(this):t.visitChildren(this)}}class Zr extends R{constructor(t,e){super(t,e)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}uid(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}get ruleIndex(){return s.RULE_renameDefinition}enterRule(t){t.enterRenameDefinition&&t.enterRenameDefinition(this)}exitRule(t){t.exitRenameDefinition&&t.exitRenameDefinition(this)}accept(t){return t.visitRenameDefinition?t.visitRenameDefinition(this):t.visitChildren(this)}}class qr extends R{constructor(t,e){super(t,e)}KW_SET(){return this.getToken(s.KW_SET,0)}tablePropertyList(){return this.getRuleContext(0,_0)}get ruleIndex(){return s.RULE_setKeyValueDefinition}enterRule(t){t.enterSetKeyValueDefinition&&t.enterSetKeyValueDefinition(this)}exitRule(t){t.exitSetKeyValueDefinition&&t.exitSetKeyValueDefinition(this)}accept(t){return t.visitSetKeyValueDefinition?t.visitSetKeyValueDefinition(this):t.visitChildren(this)}}class qa extends R{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,r0)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnNameList(){return this.getRuleContext(0,je)}notForced(){return this.getRuleContext(0,so)}get ruleIndex(){return s.RULE_addConstraint}enterRule(t){t.enterAddConstraint&&t.enterAddConstraint(this)}exitRule(t){t.exitAddConstraint&&t.exitAddConstraint(this)}accept(t){return t.visitAddConstraint?t.visitAddConstraint(this):t.visitChildren(this)}}class to extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_CONSTRAINT(){return this.getToken(s.KW_CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,r0)}get ruleIndex(){return s.RULE_dropConstraint}enterRule(t){t.enterDropConstraint&&t.enterDropConstraint(this)}exitRule(t){t.exitDropConstraint&&t.exitDropConstraint(this)}accept(t){return t.visitDropConstraint?t.visitDropConstraint(this):t.visitChildren(this)}}class eo extends R{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_UNIQUE(){return this.getToken(s.KW_UNIQUE,0)}columnNameList(){return this.getRuleContext(0,je)}get ruleIndex(){return s.RULE_addUnique}enterRule(t){t.enterAddUnique&&t.enterAddUnique(this)}exitRule(t){t.exitAddUnique&&t.exitAddUnique(this)}accept(t){return t.visitAddUnique?t.visitAddUnique(this):t.visitChildren(this)}}class so extends R{constructor(t,e){super(t,e)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ENFORCED(){return this.getToken(s.KW_ENFORCED,0)}get ruleIndex(){return s.RULE_notForced}enterRule(t){t.enterNotForced&&t.enterNotForced(this)}exitRule(t){t.exitNotForced&&t.exitNotForced(this)}accept(t){return t.visitNotForced?t.visitNotForced(this):t.visitChildren(this)}}class io extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewPath(){return this.getRuleContext(0,c0)}renameDefinition(){return this.getRuleContext(0,Zr)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,gt)}get ruleIndex(){return s.RULE_alertView}enterRule(t){t.enterAlertView&&t.enterAlertView(this)}exitRule(t){t.exitAlertView&&t.exitAlertView(this)}accept(t){return t.visitAlertView?t.visitAlertView(this):t.visitChildren(this)}}class ro extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databasePath(){return this.getRuleContext(0,l0)}setKeyValueDefinition(){return this.getRuleContext(0,qr)}get ruleIndex(){return s.RULE_alterDatabase}enterRule(t){t.enterAlterDatabase&&t.enterAlterDatabase(this)}exitRule(t){t.exitAlterDatabase&&t.exitAlterDatabase(this)}accept(t){return t.visitAlterDatabase?t.visitAlterDatabase(this):t.visitChildren(this)}}class no extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,o0)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,B)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}ifExists(){return this.getRuleContext(0,Ne)}KW_LANGUAGE(){return this.getToken(s.KW_LANGUAGE,0)}KW_JAVA(){return this.getToken(s.KW_JAVA,0)}KW_SCALA(){return this.getToken(s.KW_SCALA,0)}KW_PYTHON(){return this.getToken(s.KW_PYTHON,0)}get ruleIndex(){return s.RULE_alterFunction}enterRule(t){t.enterAlterFunction&&t.enterAlterFunction(this)}exitRule(t){t.exitAlterFunction&&t.exitAlterFunction(this)}accept(t){return t.visitAlterFunction?t.visitAlterFunction(this):t.visitChildren(this)}}class ao extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}catalogPath(){return this.getRuleContext(0,fn)}ifExists(){return this.getRuleContext(0,Ne)}get ruleIndex(){return s.RULE_dropCatalog}enterRule(t){t.enterDropCatalog&&t.enterDropCatalog(this)}exitRule(t){t.exitDropCatalog&&t.exitDropCatalog(this)}accept(t){return t.visitDropCatalog?t.visitDropCatalog(this):t.visitChildren(this)}}class oo extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tablePath(){return this.getRuleContext(0,Ke)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,Ne)}get ruleIndex(){return s.RULE_dropTable}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class ho extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databasePath(){return this.getRuleContext(0,l0)}ifExists(){return this.getRuleContext(0,Ne)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}get ruleIndex(){return s.RULE_dropDatabase}enterRule(t){t.enterDropDatabase&&t.enterDropDatabase(this)}exitRule(t){t.exitDropDatabase&&t.exitDropDatabase(this)}accept(t){return t.visitDropDatabase?t.visitDropDatabase(this):t.visitChildren(this)}}class uo extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewPath(){return this.getRuleContext(0,c0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,Ne)}get ruleIndex(){return s.RULE_dropView}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class lo extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,o0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}ifExists(){return this.getRuleContext(0,Ne)}get ruleIndex(){return s.RULE_dropFunction}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class co extends R{constructor(t,e){super(t,e)}insertSimpleStatement(){return this.getRuleContext(0,$e)}KW_EXECUTE(){return this.getToken(s.KW_EXECUTE,0)}insertMulStatementCompatibility(){return this.getRuleContext(0,_o)}insertMulStatement(){return this.getRuleContext(0,sn)}get ruleIndex(){return s.RULE_insertStatement}enterRule(t){t.enterInsertStatement&&t.enterInsertStatement(this)}exitRule(t){t.exitInsertStatement&&t.exitInsertStatement(this)}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}}class $e extends R{constructor(t,e){super(t,e)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}tablePath(){return this.getRuleContext(0,Ke)}KW_INTO(){return this.getToken(s.KW_INTO,0)}KW_OVERWRITE(){return this.getToken(s.KW_OVERWRITE,0)}queryStatement(){return this.getRuleContext(0,gt)}valuesDefinition(){return this.getRuleContext(0,tn)}insertPartitionDefinition(){return this.getRuleContext(0,Eo)}columnNameList(){return this.getRuleContext(0,je)}get ruleIndex(){return s.RULE_insertSimpleStatement}enterRule(t){t.enterInsertSimpleStatement&&t.enterInsertSimpleStatement(this)}exitRule(t){t.exitInsertSimpleStatement&&t.exitInsertSimpleStatement(this)}accept(t){return t.visitInsertSimpleStatement?t.visitInsertSimpleStatement(this):t.visitChildren(this)}}class Eo extends R{constructor(t,e){super(t,e)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}tablePropertyList(){return this.getRuleContext(0,_0)}get ruleIndex(){return s.RULE_insertPartitionDefinition}enterRule(t){t.enterInsertPartitionDefinition&&t.enterInsertPartitionDefinition(this)}exitRule(t){t.exitInsertPartitionDefinition&&t.exitInsertPartitionDefinition(this)}accept(t){return t.visitInsertPartitionDefinition?t.visitInsertPartitionDefinition(this):t.visitChildren(this)}}class tn extends R{constructor(t,e){super(t,e)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}valuesRowDefinition(t){return t===void 0?this.getRuleContexts(en):this.getRuleContext(t,en)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_valuesDefinition}enterRule(t){t.enterValuesDefinition&&t.enterValuesDefinition(this)}exitRule(t){t.exitValuesDefinition&&t.exitValuesDefinition(this)}accept(t){return t.visitValuesDefinition?t.visitValuesDefinition(this):t.visitChildren(this)}}class en extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}constant(t){return t===void 0?this.getRuleContexts(d0):this.getRuleContext(t,d0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_valuesRowDefinition}enterRule(t){t.enterValuesRowDefinition&&t.enterValuesRowDefinition(this)}exitRule(t){t.exitValuesRowDefinition&&t.exitValuesRowDefinition(this)}accept(t){return t.visitValuesRowDefinition?t.visitValuesRowDefinition(this):t.visitChildren(this)}}class _o extends R{constructor(t,e){super(t,e)}KW_BEGIN(){return this.getToken(s.KW_BEGIN,0)}KW_STATEMENT(){return this.getToken(s.KW_STATEMENT,0)}KW_SET(){return this.getToken(s.KW_SET,0)}SEMICOLON(t){return t===void 0?this.getTokens(s.SEMICOLON):this.getToken(s.SEMICOLON,t)}KW_END(){return this.getToken(s.KW_END,0)}insertSimpleStatement(t){return t===void 0?this.getRuleContexts($e):this.getRuleContext(t,$e)}get ruleIndex(){return s.RULE_insertMulStatementCompatibility}enterRule(t){t.enterInsertMulStatementCompatibility&&t.enterInsertMulStatementCompatibility(this)}exitRule(t){t.exitInsertMulStatementCompatibility&&t.exitInsertMulStatementCompatibility(this)}accept(t){return t.visitInsertMulStatementCompatibility?t.visitInsertMulStatementCompatibility(this):t.visitChildren(this)}}class sn extends R{constructor(t,e){super(t,e)}KW_STATEMENT(){return this.getToken(s.KW_STATEMENT,0)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_BEGIN(){return this.getToken(s.KW_BEGIN,0)}KW_END(){return this.getToken(s.KW_END,0)}insertSimpleStatement(t){return t===void 0?this.getRuleContexts($e):this.getRuleContext(t,$e)}SEMICOLON(t){return t===void 0?this.getTokens(s.SEMICOLON):this.getToken(s.SEMICOLON,t)}get ruleIndex(){return s.RULE_insertMulStatement}enterRule(t){t.enterInsertMulStatement&&t.enterInsertMulStatement(this)}exitRule(t){t.exitInsertMulStatement&&t.exitInsertMulStatement(this)}accept(t){return t.visitInsertMulStatement?t.visitInsertMulStatement(this):t.visitChildren(this)}}class gt extends R{constructor(t,e){super(t,e)}valuesCaluse(){return this.getRuleContext(0,Ro)}withClause(){return this.getRuleContext(0,To)}queryStatement(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}selectClause(){return this.getRuleContext(0,nn)}orderByCaluse(){return this.getRuleContext(0,Qi)}limitClause(){return this.getRuleContext(0,Po)}selectStatement(){return this.getRuleContext(0,Ao)}KW_INTERSECT(){return this.getToken(s.KW_INTERSECT,0)}KW_UNION(){return this.getToken(s.KW_UNION,0)}KW_EXCEPT(){return this.getToken(s.KW_EXCEPT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_queryStatement}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class Ro extends R{constructor(t,e){super(t,e)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_valuesCaluse}enterRule(t){t.enterValuesCaluse&&t.enterValuesCaluse(this)}exitRule(t){t.exitValuesCaluse&&t.exitValuesCaluse(this)}accept(t){return t.visitValuesCaluse?t.visitValuesCaluse(this):t.visitChildren(this)}}class To extends R{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}withItem(t){return t===void 0?this.getRuleContexts(rn):this.getRuleContext(t,rn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_withClause}enterRule(t){t.enterWithClause&&t.enterWithClause(this)}exitRule(t){t.exitWithClause&&t.exitWithClause(this)}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}}class rn extends R{constructor(t,e){super(t,e)}withItemName(){return this.getRuleContext(0,fo)}KW_AS(){return this.getToken(s.KW_AS,0)}LR_BRACKET(t){return t===void 0?this.getTokens(s.LR_BRACKET):this.getToken(s.LR_BRACKET,t)}queryStatement(){return this.getRuleContext(0,gt)}RR_BRACKET(t){return t===void 0?this.getTokens(s.RR_BRACKET):this.getToken(s.RR_BRACKET,t)}columnName(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_withItem}enterRule(t){t.enterWithItem&&t.enterWithItem(this)}exitRule(t){t.exitWithItem&&t.exitWithItem(this)}accept(t){return t.visitWithItem?t.visitWithItem(this):t.visitChildren(this)}}class fo extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_withItemName}enterRule(t){t.enterWithItemName&&t.enterWithItemName(this)}exitRule(t){t.exitWithItemName&&t.exitWithItemName(this)}accept(t){return t.visitWithItemName?t.visitWithItemName(this):t.visitChildren(this)}}class Ao extends R{constructor(t,e){super(t,e)}selectClause(){return this.getRuleContext(0,nn)}fromClause(){return this.getRuleContext(0,Co)}whereClause(){return this.getRuleContext(0,Do)}groupByClause(){return this.getRuleContext(0,Mo)}havingClause(){return this.getRuleContext(0,bo)}windowClause(){return this.getRuleContext(0,Ho)}matchRecognizeClause(){return this.getRuleContext(0,ko)}get ruleIndex(){return s.RULE_selectStatement}enterRule(t){t.enterSelectStatement&&t.enterSelectStatement(this)}exitRule(t){t.exitSelectStatement&&t.exitSelectStatement(this)}accept(t){return t.visitSelectStatement?t.visitSelectStatement(this):t.visitChildren(this)}}class nn extends R{constructor(t,e){super(t,e)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}projectItemDefinition(t){return t===void 0?this.getRuleContexts(ze):this.getRuleContext(t,ze)}setQuantifier(){return this.getRuleContext(0,Wn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}class ze extends R{constructor(t,e){super(t,e)}overWindowItem(){return this.getRuleContext(0,mo)}columnName(){return this.getRuleContext(0,St)}expression(){return this.getRuleContext(0,q)}KW_AS(){return this.getToken(s.KW_AS,0)}get ruleIndex(){return s.RULE_projectItemDefinition}enterRule(t){t.enterProjectItemDefinition&&t.enterProjectItemDefinition(this)}exitRule(t){t.exitProjectItemDefinition&&t.exitProjectItemDefinition(this)}accept(t){return t.visitProjectItemDefinition?t.visitProjectItemDefinition(this):t.visitChildren(this)}}class mo extends R{constructor(t,e){super(t,e)}primaryExpression(){return this.getRuleContext(0,ct)}KW_OVER(){return this.getToken(s.KW_OVER,0)}windowSpec(){return this.getRuleContext(0,ln)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,B)}errorCapturingIdentifier(){return this.getRuleContext(0,zi)}get ruleIndex(){return s.RULE_overWindowItem}enterRule(t){t.enterOverWindowItem&&t.enterOverWindowItem(this)}exitRule(t){t.exitOverWindowItem&&t.exitOverWindowItem(this)}accept(t){return t.visitOverWindowItem?t.visitOverWindowItem(this):t.visitChildren(this)}}class Co extends R{constructor(t,e){super(t,e)}KW_FROM(){return this.getToken(s.KW_FROM,0)}tableExpression(){return this.getRuleContext(0,Ze)}get ruleIndex(){return s.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}class Ze extends R{constructor(t,e){super(t,e)}tableReference(t){return t===void 0?this.getRuleContexts(an):this.getRuleContext(t,an)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}inlineDataValueClause(){return this.getRuleContext(0,No)}windoTVFClause(){return this.getRuleContext(0,Lo)}tableExpression(t){return t===void 0?this.getRuleContexts(Ze):this.getRuleContext(t,Ze)}KW_CROSS(){return this.getToken(s.KW_CROSS,0)}KW_JOIN(){return this.getToken(s.KW_JOIN,0)}KW_NATURAL(){return this.getToken(s.KW_NATURAL,0)}KW_OUTER(){return this.getToken(s.KW_OUTER,0)}joinCondition(){return this.getRuleContext(0,Oo)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}KW_INNER(){return this.getToken(s.KW_INNER,0)}get ruleIndex(){return s.RULE_tableExpression}enterRule(t){t.enterTableExpression&&t.enterTableExpression(this)}exitRule(t){t.exitTableExpression&&t.exitTableExpression(this)}accept(t){return t.visitTableExpression?t.visitTableExpression(this):t.visitChildren(this)}}class an extends R{constructor(t,e){super(t,e)}tablePrimary(){return this.getRuleContext(0,Wo)}tableAlias(){return this.getRuleContext(0,Tn)}get ruleIndex(){return s.RULE_tableReference}enterRule(t){t.enterTableReference&&t.enterTableReference(this)}exitRule(t){t.exitTableReference&&t.exitTableReference(this)}accept(t){return t.visitTableReference?t.visitTableReference(this):t.visitChildren(this)}}class Wo extends R{constructor(t,e){super(t,e)}tablePath(){return this.getRuleContext(0,Ke)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}systemTimePeriod(){return this.getRuleContext(0,po)}correlationName(){return this.getRuleContext(0,t7)}KW_AS(){return this.getToken(s.KW_AS,0)}viewPath(){return this.getRuleContext(0,c0)}KW_LATERAL(){return this.getToken(s.KW_LATERAL,0)}LR_BRACKET(t){return t===void 0?this.getTokens(s.LR_BRACKET):this.getToken(s.LR_BRACKET,t)}functionName(){return this.getRuleContext(0,o0)}functionParam(t){return t===void 0?this.getRuleContexts(h0):this.getRuleContext(t,h0)}RR_BRACKET(t){return t===void 0?this.getTokens(s.RR_BRACKET):this.getToken(s.RR_BRACKET,t)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}queryStatement(){return this.getRuleContext(0,gt)}KW_UNNEST(){return this.getToken(s.KW_UNNEST,0)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_tablePrimary}enterRule(t){t.enterTablePrimary&&t.enterTablePrimary(this)}exitRule(t){t.exitTablePrimary&&t.exitTablePrimary(this)}accept(t){return t.visitTablePrimary?t.visitTablePrimary(this):t.visitChildren(this)}}class po extends R{constructor(t,e){super(t,e)}KW_FOR(){return this.getToken(s.KW_FOR,0)}KW_SYSTEM_TIME(){return this.getToken(s.KW_SYSTEM_TIME,0)}KW_AS(){return this.getToken(s.KW_AS,0)}KW_OF(){return this.getToken(s.KW_OF,0)}dateTimeExpression(){return this.getRuleContext(0,Ko)}get ruleIndex(){return s.RULE_systemTimePeriod}enterRule(t){t.enterSystemTimePeriod&&t.enterSystemTimePeriod(this)}exitRule(t){t.exitSystemTimePeriod&&t.exitSystemTimePeriod(this)}accept(t){return t.visitSystemTimePeriod?t.visitSystemTimePeriod(this):t.visitChildren(this)}}class Ko extends R{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_dateTimeExpression}enterRule(t){t.enterDateTimeExpression&&t.enterDateTimeExpression(this)}exitRule(t){t.exitDateTimeExpression&&t.exitDateTimeExpression(this)}accept(t){return t.visitDateTimeExpression?t.visitDateTimeExpression(this):t.visitChildren(this)}}class No extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}valuesDefinition(){return this.getRuleContext(0,tn)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}tableAlias(){return this.getRuleContext(0,Tn)}get ruleIndex(){return s.RULE_inlineDataValueClause}enterRule(t){t.enterInlineDataValueClause&&t.enterInlineDataValueClause(this)}exitRule(t){t.exitInlineDataValueClause&&t.exitInlineDataValueClause(this)}accept(t){return t.visitInlineDataValueClause?t.visitInlineDataValueClause(this):t.visitChildren(this)}}class Lo extends R{constructor(t,e){super(t,e)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}windowTVFExression(){return this.getRuleContext(0,xo)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_windoTVFClause}enterRule(t){t.enterWindoTVFClause&&t.enterWindoTVFClause(this)}exitRule(t){t.exitWindoTVFClause&&t.exitWindoTVFClause(this)}accept(t){return t.visitWindoTVFClause?t.visitWindoTVFClause(this):t.visitChildren(this)}}class xo extends R{constructor(t,e){super(t,e)}windoTVFName(){return this.getRuleContext(0,So)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}windowTVFParam(t){return t===void 0?this.getRuleContexts(on):this.getRuleContext(t,on)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_windowTVFExression}enterRule(t){t.enterWindowTVFExression&&t.enterWindowTVFExression(this)}exitRule(t){t.exitWindowTVFExression&&t.exitWindowTVFExression(this)}accept(t){return t.visitWindowTVFExression?t.visitWindowTVFExression(this):t.visitChildren(this)}}class So extends R{constructor(t,e){super(t,e)}KW_TUMBLE(){return this.getToken(s.KW_TUMBLE,0)}KW_HOP(){return this.getToken(s.KW_HOP,0)}KW_CUMULATE(){return this.getToken(s.KW_CUMULATE,0)}get ruleIndex(){return s.RULE_windoTVFName}enterRule(t){t.enterWindoTVFName&&t.enterWindoTVFName(this)}exitRule(t){t.exitWindoTVFName&&t.exitWindoTVFName(this)}accept(t){return t.visitWindoTVFName?t.visitWindoTVFName(this):t.visitChildren(this)}}class on extends R{constructor(t,e){super(t,e)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}timeAttrColumn(){return this.getRuleContext(0,hn)}columnDescriptor(){return this.getRuleContext(0,Io)}timeIntervalExpression(){return this.getRuleContext(0,K1)}KW_DATA(){return this.getToken(s.KW_DATA,0)}DOUBLE_RIGHT_ARROW(){return this.getToken(s.DOUBLE_RIGHT_ARROW,0)}KW_TIMECOL(){return this.getToken(s.KW_TIMECOL,0)}timeIntervalParamName(){return this.getRuleContext(0,go)}get ruleIndex(){return s.RULE_windowTVFParam}enterRule(t){t.enterWindowTVFParam&&t.enterWindowTVFParam(this)}exitRule(t){t.exitWindowTVFParam&&t.exitWindowTVFParam(this)}accept(t){return t.visitWindowTVFParam?t.visitWindowTVFParam(this):t.visitChildren(this)}}class go extends R{constructor(t,e){super(t,e)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_TIMECOL(){return this.getToken(s.KW_TIMECOL,0)}KW_SIZE(){return this.getToken(s.KW_SIZE,0)}KW_OFFSET(){return this.getToken(s.KW_OFFSET,0)}KW_STEP(){return this.getToken(s.KW_STEP,0)}KW_SLIDE(){return this.getToken(s.KW_SLIDE,0)}get ruleIndex(){return s.RULE_timeIntervalParamName}enterRule(t){t.enterTimeIntervalParamName&&t.enterTimeIntervalParamName(this)}exitRule(t){t.exitTimeIntervalParamName&&t.exitTimeIntervalParamName(this)}accept(t){return t.visitTimeIntervalParamName?t.visitTimeIntervalParamName(this):t.visitChildren(this)}}class Io extends R{constructor(t,e){super(t,e)}KW_DESCRIPTOR(){return this.getToken(s.KW_DESCRIPTOR,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}columnName(){return this.getRuleContext(0,St)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_columnDescriptor}enterRule(t){t.enterColumnDescriptor&&t.enterColumnDescriptor(this)}exitRule(t){t.exitColumnDescriptor&&t.exitColumnDescriptor(this)}accept(t){return t.visitColumnDescriptor?t.visitColumnDescriptor(this):t.visitChildren(this)}}class Oo extends R{constructor(t,e){super(t,e)}KW_ON(){return this.getToken(s.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,At)}KW_USING(){return this.getToken(s.KW_USING,0)}columnNameList(){return this.getRuleContext(0,je)}get ruleIndex(){return s.RULE_joinCondition}enterRule(t){t.enterJoinCondition&&t.enterJoinCondition(this)}exitRule(t){t.exitJoinCondition&&t.exitJoinCondition(this)}accept(t){return t.visitJoinCondition?t.visitJoinCondition(this):t.visitChildren(this)}}class Do extends R{constructor(t,e){super(t,e)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,At)}get ruleIndex(){return s.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}class Mo extends R{constructor(t,e){super(t,e)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_BY(){return this.getToken(s.KW_BY,0)}groupItemDefinition(t){return t===void 0?this.getRuleContexts(p1):this.getRuleContext(t,p1)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}class p1 extends R{constructor(t,e){super(t,e)}columnName(){return this.getRuleContext(0,St)}groupWindowFunction(){return this.getRuleContext(0,wo)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}groupingSetsNotaionName(){return this.getRuleContext(0,yo)}groupingSets(){return this.getRuleContext(0,Uo)}groupItemDefinition(t){return t===void 0?this.getRuleContexts(p1):this.getRuleContext(t,p1)}get ruleIndex(){return s.RULE_groupItemDefinition}enterRule(t){t.enterGroupItemDefinition&&t.enterGroupItemDefinition(this)}exitRule(t){t.exitGroupItemDefinition&&t.exitGroupItemDefinition(this)}accept(t){return t.visitGroupItemDefinition?t.visitGroupItemDefinition(this):t.visitChildren(this)}}class Uo extends R{constructor(t,e){super(t,e)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}KW_SETS(){return this.getToken(s.KW_SETS,0)}get ruleIndex(){return s.RULE_groupingSets}enterRule(t){t.enterGroupingSets&&t.enterGroupingSets(this)}exitRule(t){t.exitGroupingSets&&t.exitGroupingSets(this)}accept(t){return t.visitGroupingSets?t.visitGroupingSets(this):t.visitChildren(this)}}class yo extends R{constructor(t,e){super(t,e)}KW_CUBE(){return this.getToken(s.KW_CUBE,0)}KW_ROLLUP(){return this.getToken(s.KW_ROLLUP,0)}get ruleIndex(){return s.RULE_groupingSetsNotaionName}enterRule(t){t.enterGroupingSetsNotaionName&&t.enterGroupingSetsNotaionName(this)}exitRule(t){t.exitGroupingSetsNotaionName&&t.exitGroupingSetsNotaionName(this)}accept(t){return t.visitGroupingSetsNotaionName?t.visitGroupingSetsNotaionName(this):t.visitChildren(this)}}class wo extends R{constructor(t,e){super(t,e)}groupWindowFunctionName(){return this.getRuleContext(0,vo)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}timeAttrColumn(){return this.getRuleContext(0,hn)}COMMA(){return this.getToken(s.COMMA,0)}timeIntervalExpression(){return this.getRuleContext(0,K1)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_groupWindowFunction}enterRule(t){t.enterGroupWindowFunction&&t.enterGroupWindowFunction(this)}exitRule(t){t.exitGroupWindowFunction&&t.exitGroupWindowFunction(this)}accept(t){return t.visitGroupWindowFunction?t.visitGroupWindowFunction(this):t.visitChildren(this)}}class vo extends R{constructor(t,e){super(t,e)}KW_TUMBLE(){return this.getToken(s.KW_TUMBLE,0)}KW_HOP(){return this.getToken(s.KW_HOP,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}get ruleIndex(){return s.RULE_groupWindowFunctionName}enterRule(t){t.enterGroupWindowFunctionName&&t.enterGroupWindowFunctionName(this)}exitRule(t){t.exitGroupWindowFunctionName&&t.exitGroupWindowFunctionName(this)}accept(t){return t.visitGroupWindowFunctionName?t.visitGroupWindowFunctionName(this):t.visitChildren(this)}}class hn extends R{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_timeAttrColumn}enterRule(t){t.enterTimeAttrColumn&&t.enterTimeAttrColumn(this)}exitRule(t){t.exitTimeAttrColumn&&t.exitTimeAttrColumn(this)}accept(t){return t.visitTimeAttrColumn?t.visitTimeAttrColumn(this):t.visitChildren(this)}}class bo extends R{constructor(t,e){super(t,e)}KW_HAVING(){return this.getToken(s.KW_HAVING,0)}booleanExpression(){return this.getRuleContext(0,At)}get ruleIndex(){return s.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}class Ho extends R{constructor(t,e){super(t,e)}KW_WINDOW(){return this.getToken(s.KW_WINDOW,0)}namedWindow(t){return t===void 0?this.getRuleContexts(un):this.getRuleContext(t,un)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_windowClause}enterRule(t){t.enterWindowClause&&t.enterWindowClause(this)}exitRule(t){t.exitWindowClause&&t.exitWindowClause(this)}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}}class un extends R{constructor(t,e){super(t,e)}KW_AS(){return this.getToken(s.KW_AS,0)}windowSpec(){return this.getRuleContext(0,ln)}errorCapturingIdentifier(){return this.getRuleContext(0,zi)}get ruleIndex(){return s.RULE_namedWindow}enterRule(t){t.enterNamedWindow&&t.enterNamedWindow(this)}exitRule(t){t.exitNamedWindow&&t.exitNamedWindow(this)}accept(t){return t.visitNamedWindow?t.visitNamedWindow(this):t.visitChildren(this)}}class ln extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}partitionByClause(){return this.getRuleContext(0,En)}orderByCaluse(){return this.getRuleContext(0,Qi)}windowFrame(){return this.getRuleContext(0,Qo)}errorCapturingIdentifier(){return this.getRuleContext(0,zi)}get ruleIndex(){return s.RULE_windowSpec}enterRule(t){t.enterWindowSpec&&t.enterWindowSpec(this)}exitRule(t){t.exitWindowSpec&&t.exitWindowSpec(this)}accept(t){return t.visitWindowSpec?t.visitWindowSpec(this):t.visitChildren(this)}}class ko extends R{constructor(t,e){super(t,e)}KW_MATCH_RECOGNIZE(){return this.getToken(s.KW_MATCH_RECOGNIZE,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}patternVariablesDefination(){return this.getRuleContext(0,Xo)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}partitionByClause(){return this.getRuleContext(0,En)}orderByCaluse(){return this.getRuleContext(0,Qi)}measuresClause(){return this.getRuleContext(0,Go)}outputMode(){return this.getRuleContext(0,Yo)}afterMatchStrategy(){return this.getRuleContext(0,Fo)}patternDefination(){return this.getRuleContext(0,Vo)}identifier(){return this.getRuleContext(0,B)}KW_AS(){return this.getToken(s.KW_AS,0)}get ruleIndex(){return s.RULE_matchRecognizeClause}enterRule(t){t.enterMatchRecognizeClause&&t.enterMatchRecognizeClause(this)}exitRule(t){t.exitMatchRecognizeClause&&t.exitMatchRecognizeClause(this)}accept(t){return t.visitMatchRecognizeClause?t.visitMatchRecognizeClause(this):t.visitChildren(this)}}class Qi extends R{constructor(t,e){super(t,e)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}orderItemDefition(t){return t===void 0?this.getRuleContexts(cn):this.getRuleContext(t,cn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_orderByCaluse}enterRule(t){t.enterOrderByCaluse&&t.enterOrderByCaluse(this)}exitRule(t){t.exitOrderByCaluse&&t.exitOrderByCaluse(this)}accept(t){return t.visitOrderByCaluse?t.visitOrderByCaluse(this):t.visitChildren(this)}}class cn extends R{constructor(t,e){super(t,e)}columnName(){return this.getRuleContext(0,St)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}get ruleIndex(){return s.RULE_orderItemDefition}enterRule(t){t.enterOrderItemDefition&&t.enterOrderItemDefition(this)}exitRule(t){t.exitOrderItemDefition&&t.exitOrderItemDefition(this)}accept(t){return t.visitOrderItemDefition?t.visitOrderItemDefition(this):t.visitChildren(this)}}class Po extends R{constructor(t,e){super(t,e)}KW_LIMIT(){return this.getToken(s.KW_LIMIT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_limitClause}enterRule(t){t.enterLimitClause&&t.enterLimitClause(this)}exitRule(t){t.exitLimitClause&&t.exitLimitClause(this)}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}}class En extends R{constructor(t,e){super(t,e)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(){return this.getToken(s.KW_BY,0)}columnName(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_partitionByClause}enterRule(t){t.enterPartitionByClause&&t.enterPartitionByClause(this)}exitRule(t){t.exitPartitionByClause&&t.exitPartitionByClause(this)}accept(t){return t.visitPartitionByClause?t.visitPartitionByClause(this):t.visitChildren(this)}}class Bo extends R{constructor(t,e){super(t,e)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}QUESTION_MARK_SIGN(){return this.getToken(s.QUESTION_MARK_SIGN,0)}LB_BRACKET(){return this.getToken(s.LB_BRACKET,0)}DIG_LITERAL(t){return t===void 0?this.getTokens(s.DIG_LITERAL):this.getToken(s.DIG_LITERAL,t)}COMMA(){return this.getToken(s.COMMA,0)}RB_BRACKET(){return this.getToken(s.RB_BRACKET,0)}get ruleIndex(){return s.RULE_quantifiers}enterRule(t){t.enterQuantifiers&&t.enterQuantifiers(this)}exitRule(t){t.exitQuantifiers&&t.exitQuantifiers(this)}accept(t){return t.visitQuantifiers?t.visitQuantifiers(this):t.visitChildren(this)}}class Go extends R{constructor(t,e){super(t,e)}KW_MEASURES(){return this.getToken(s.KW_MEASURES,0)}projectItemDefinition(t){return t===void 0?this.getRuleContexts(ze):this.getRuleContext(t,ze)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_measuresClause}enterRule(t){t.enterMeasuresClause&&t.enterMeasuresClause(this)}exitRule(t){t.exitMeasuresClause&&t.exitMeasuresClause(this)}accept(t){return t.visitMeasuresClause?t.visitMeasuresClause(this):t.visitChildren(this)}}class Vo extends R{constructor(t,e){super(t,e)}KW_PATTERN(){return this.getToken(s.KW_PATTERN,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}patternVariable(t){return t===void 0?this.getRuleContexts(_n):this.getRuleContext(t,_n)}withinClause(){return this.getRuleContext(0,jo)}get ruleIndex(){return s.RULE_patternDefination}enterRule(t){t.enterPatternDefination&&t.enterPatternDefination(this)}exitRule(t){t.exitPatternDefination&&t.exitPatternDefination(this)}accept(t){return t.visitPatternDefination?t.visitPatternDefination(this):t.visitChildren(this)}}class _n extends R{constructor(t,e){super(t,e)}unquotedIdentifier(){return this.getRuleContext(0,qi)}quantifiers(){return this.getRuleContext(0,Bo)}get ruleIndex(){return s.RULE_patternVariable}enterRule(t){t.enterPatternVariable&&t.enterPatternVariable(this)}exitRule(t){t.exitPatternVariable&&t.exitPatternVariable(this)}accept(t){return t.visitPatternVariable?t.visitPatternVariable(this):t.visitChildren(this)}}class Yo extends R{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_PER(){return this.getToken(s.KW_PER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}KW_ONE(){return this.getToken(s.KW_ONE,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}get ruleIndex(){return s.RULE_outputMode}enterRule(t){t.enterOutputMode&&t.enterOutputMode(this)}exitRule(t){t.exitOutputMode&&t.exitOutputMode(this)}accept(t){return t.visitOutputMode?t.visitOutputMode(this):t.visitChildren(this)}}class Fo extends R{constructor(t,e){super(t,e)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}KW_SKIP(){return this.getToken(s.KW_SKIP,0)}KW_PAST(){return this.getToken(s.KW_PAST,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_NEXT(){return this.getToken(s.KW_NEXT,0)}unquotedIdentifier(){return this.getRuleContext(0,qi)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}get ruleIndex(){return s.RULE_afterMatchStrategy}enterRule(t){t.enterAfterMatchStrategy&&t.enterAfterMatchStrategy(this)}exitRule(t){t.exitAfterMatchStrategy&&t.exitAfterMatchStrategy(this)}accept(t){return t.visitAfterMatchStrategy?t.visitAfterMatchStrategy(this):t.visitChildren(this)}}class Xo extends R{constructor(t,e){super(t,e)}KW_DEFINE(){return this.getToken(s.KW_DEFINE,0)}projectItemDefinition(t){return t===void 0?this.getRuleContexts(ze):this.getRuleContext(t,ze)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_patternVariablesDefination}enterRule(t){t.enterPatternVariablesDefination&&t.enterPatternVariablesDefination(this)}exitRule(t){t.exitPatternVariablesDefination&&t.exitPatternVariablesDefination(this)}accept(t){return t.visitPatternVariablesDefination?t.visitPatternVariablesDefination(this):t.visitChildren(this)}}class Qo extends R{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}timeIntervalExpression(){return this.getRuleContext(0,K1)}frameBound(){return this.getRuleContext(0,Jo)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}get ruleIndex(){return s.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class Jo extends R{constructor(t,e){super(t,e)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}get ruleIndex(){return s.RULE_frameBound}enterRule(t){t.enterFrameBound&&t.enterFrameBound(this)}exitRule(t){t.exitFrameBound&&t.exitFrameBound(this)}accept(t){return t.visitFrameBound?t.visitFrameBound(this):t.visitChildren(this)}}class jo extends R{constructor(t,e){super(t,e)}KW_WITHIN(){return this.getToken(s.KW_WITHIN,0)}timeIntervalExpression(){return this.getRuleContext(0,K1)}get ruleIndex(){return s.RULE_withinClause}enterRule(t){t.enterWithinClause&&t.enterWithinClause(this)}exitRule(t){t.exitWithinClause&&t.exitWithinClause(this)}accept(t){return t.visitWithinClause?t.visitWithinClause(this):t.visitChildren(this)}}class q extends R{constructor(t,e){super(t,e)}booleanExpression(){return this.getRuleContext(0,At)}get ruleIndex(){return s.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class At extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}class Q3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NOT(){return this.getToken(s.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,At)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}class J3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,nt)}predicate(){return this.getRuleContext(0,zo)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}class j3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}queryStatement(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}class $3 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(){return this.getRuleContext(0,At)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(s.KW_UNKNOWN,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterLogicalNested&&t.enterLogicalNested(this)}exitRule(t){t.exitLogicalNested&&t.exitLogicalNested(this)}accept(t){return t.visitLogicalNested?t.visitLogicalNested(this):t.visitChildren(this)}}class $o extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_OR(){return this.getToken(s.KW_OR,0)}enterRule(t){t.enterLogicalBinary&&t.enterLogicalBinary(this)}exitRule(t){t.exitLogicalBinary&&t.exitLogicalBinary(this)}accept(t){return t.visitLogicalBinary?t.visitLogicalBinary(this):t.visitChildren(this)}}class zo extends R{constructor(t,e){super(t,e)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ASYMMETRIC(){return this.getToken(s.KW_ASYMMETRIC,0)}KW_SYMMETRIC(){return this.getToken(s.KW_SYMMETRIC,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}KW_IN(){return this.getToken(s.KW_IN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}queryStatement(){return this.getRuleContext(0,gt)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}KW_RLIKE(){return this.getToken(s.KW_RLIKE,0)}likePredicate(){return this.getRuleContext(0,dn)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(s.KW_UNKNOWN,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_SIMILAR(){return this.getToken(s.KW_SIMILAR,0)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}stringLiteral(){return this.getRuleContext(0,qe)}get ruleIndex(){return s.RULE_predicate}enterRule(t){t.enterPredicate&&t.enterPredicate(this)}exitRule(t){t.exitPredicate&&t.exitPredicate(this)}accept(t){return t.visitPredicate?t.visitPredicate(this):t.visitChildren(this)}}class dn extends R{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_ANY(){return this.getToken(s.KW_ANY,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}KW_NOT(){return this.getToken(s.KW_NOT,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}valueExpression(){return this.getRuleContext(0,nt)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}stringLiteral(){return this.getRuleContext(0,qe)}get ruleIndex(){return s.RULE_likePredicate}enterRule(t){t.enterLikePredicate&&t.enterLikePredicate(this)}exitRule(t){t.exitLikePredicate&&t.exitLikePredicate(this)}accept(t){return t.visitLikePredicate?t.visitLikePredicate(this):t.visitChildren(this)}}class nt extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}class z3 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,ct)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}class Z3 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,c7)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}class a0 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}SLASH_SIGN(){return this.getToken(s.SLASH_SIGN,0)}PENCENT_SIGN(){return this.getToken(s.PENCENT_SIGN,0)}KW_DIV(){return this.getToken(s.KW_DIV,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}DOUBLE_VERTICAL_SIGN(){return this.getToken(s.DOUBLE_VERTICAL_SIGN,0)}BIT_AND_OP(){return this.getToken(s.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(s.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(s.BIT_OR_OP,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}class q3 extends nt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,nt)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}BIT_NOT_OP(){return this.getToken(s.BIT_NOT_OP,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}class ct extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}class t4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}dereferenceDefinition(){return this.getRuleContext(0,Ji)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}class e4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}whenClause(t){return t===void 0?this.getRuleContexts(u0):this.getRuleContext(t,u0)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}class s4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,B)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}class i4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LAST(){return this.getToken(s.KW_LAST,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}enterRule(t){t.enterLast&&t.enterLast(this)}exitRule(t){t.exitLast&&t.exitLast(this)}accept(t){return t.visitLast?t.visitLast(this):t.visitChildren(this)}}class Zo extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}uid(){return this.getRuleContext(0,ft)}DOT(){return this.getToken(s.DOT,0)}enterRule(t){t.enterStar&&t.enterStar(this)}exitRule(t){t.exitStar&&t.exitStar(this)}accept(t){return t.visitStar?t.visitStar(this):t.visitChildren(this)}}class r4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LS_BRACKET(){return this.getToken(s.LS_BRACKET,0)}RS_BRACKET(){return this.getToken(s.RS_BRACKET,0)}primaryExpression(){return this.getRuleContext(0,ct)}valueExpression(){return this.getRuleContext(0,nt)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}class n4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}queryStatement(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}class a4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CAST(){return this.getToken(s.KW_CAST,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}KW_AS(){return this.getToken(s.KW_AS,0)}columnType(){return this.getRuleContext(0,he)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}class o4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}constant(){return this.getRuleContext(0,d0)}enterRule(t){t.enterConstantDefault&&t.enterConstantDefault(this)}exitRule(t){t.exitConstantDefault&&t.exitConstantDefault(this)}accept(t){return t.visitConstantDefault?t.visitConstantDefault(this):t.visitChildren(this)}}class h4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}class u4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionName(){return this.getRuleContext(0,o0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}functionParam(t){return t===void 0?this.getRuleContexts(h0):this.getRuleContext(t,h0)}setQuantifier(){return this.getRuleContext(0,Wn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}class l4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(u0):this.getRuleContext(t,u0)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,q)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}class c4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}KW_IN(){return this.getToken(s.KW_IN,0)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}valueExpression(t){return t===void 0?this.getRuleContexts(nt):this.getRuleContext(t,nt)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}class E4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}enterRule(t){t.enterDateFunctionExpression&&t.enterDateFunctionExpression(this)}exitRule(t){t.exitDateFunctionExpression&&t.exitDateFunctionExpression(this)}accept(t){return t.visitDateFunctionExpression?t.visitDateFunctionExpression(this):t.visitChildren(this)}}class _4 extends ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}expression(){return this.getRuleContext(0,q)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}enterRule(t){t.enterFirst&&t.enterFirst(this)}exitRule(t){t.exitFirst&&t.exitFirst(this)}accept(t){return t.visitFirst?t.visitFirst(this):t.visitChildren(this)}}class qo extends R{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class o0 extends R{constructor(t,e){super(t,e)}reservedKeywordsUsedAsFuncName(){return this.getRuleContext(0,d7)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}class h0 extends R{constructor(t,e){super(t,e)}reservedKeywordsUsedAsFuncParam(){return this.getRuleContext(0,_7)}timeIntervalUnit(){return this.getRuleContext(0,L1)}timePointUnit(){return this.getRuleContext(0,pn)}expression(){return this.getRuleContext(0,q)}get ruleIndex(){return s.RULE_functionParam}enterRule(t){t.enterFunctionParam&&t.enterFunctionParam(this)}exitRule(t){t.exitFunctionParam&&t.exitFunctionParam(this)}accept(t){return t.visitFunctionParam?t.visitFunctionParam(this):t.visitChildren(this)}}class Ji extends R{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_dereferenceDefinition}enterRule(t){t.enterDereferenceDefinition&&t.enterDereferenceDefinition(this)}exitRule(t){t.exitDereferenceDefinition&&t.exitDereferenceDefinition(this)}accept(t){return t.visitDereferenceDefinition?t.visitDereferenceDefinition(this):t.visitChildren(this)}}class t7 extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_correlationName}enterRule(t){t.enterCorrelationName&&t.enterCorrelationName(this)}exitRule(t){t.exitCorrelationName&&t.exitCorrelationName(this)}accept(t){return t.visitCorrelationName?t.visitCorrelationName(this):t.visitChildren(this)}}class e7 extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}dereferenceDefinition(){return this.getRuleContext(0,Ji)}get ruleIndex(){return s.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class K1 extends R{constructor(t,e){super(t,e)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}errorCapturingMultiUnitsInterval(){return this.getRuleContext(0,s7)}errorCapturingUnitToUnitInterval(){return this.getRuleContext(0,i7)}get ruleIndex(){return s.RULE_timeIntervalExpression}enterRule(t){t.enterTimeIntervalExpression&&t.enterTimeIntervalExpression(this)}exitRule(t){t.exitTimeIntervalExpression&&t.exitTimeIntervalExpression(this)}accept(t){return t.visitTimeIntervalExpression?t.visitTimeIntervalExpression(this):t.visitChildren(this)}}class s7 extends R{constructor(t,e){super(t,e)}multiUnitsInterval(){return this.getRuleContext(0,Rn)}unitToUnitInterval(){return this.getRuleContext(0,ji)}get ruleIndex(){return s.RULE_errorCapturingMultiUnitsInterval}enterRule(t){t.enterErrorCapturingMultiUnitsInterval&&t.enterErrorCapturingMultiUnitsInterval(this)}exitRule(t){t.exitErrorCapturingMultiUnitsInterval&&t.exitErrorCapturingMultiUnitsInterval(this)}accept(t){return t.visitErrorCapturingMultiUnitsInterval?t.visitErrorCapturingMultiUnitsInterval(this):t.visitChildren(this)}}class Rn extends R{constructor(t,e){super(t,e)}intervalValue(t){return t===void 0?this.getRuleContexts($i):this.getRuleContext(t,$i)}timeIntervalUnit(t){return t===void 0?this.getRuleContexts(L1):this.getRuleContext(t,L1)}get ruleIndex(){return s.RULE_multiUnitsInterval}enterRule(t){t.enterMultiUnitsInterval&&t.enterMultiUnitsInterval(this)}exitRule(t){t.exitMultiUnitsInterval&&t.exitMultiUnitsInterval(this)}accept(t){return t.visitMultiUnitsInterval?t.visitMultiUnitsInterval(this):t.visitChildren(this)}}class i7 extends R{constructor(t,e){super(t,e)}unitToUnitInterval(t){return t===void 0?this.getRuleContexts(ji):this.getRuleContext(t,ji)}multiUnitsInterval(){return this.getRuleContext(0,Rn)}get ruleIndex(){return s.RULE_errorCapturingUnitToUnitInterval}enterRule(t){t.enterErrorCapturingUnitToUnitInterval&&t.enterErrorCapturingUnitToUnitInterval(this)}exitRule(t){t.exitErrorCapturingUnitToUnitInterval&&t.exitErrorCapturingUnitToUnitInterval(this)}accept(t){return t.visitErrorCapturingUnitToUnitInterval?t.visitErrorCapturingUnitToUnitInterval(this):t.visitChildren(this)}}class ji extends R{constructor(t,e){super(t,e)}KW_TO(){return this.getToken(s.KW_TO,0)}intervalValue(){return this.getRuleContext(0,$i)}timeIntervalUnit(t){return t===void 0?this.getRuleContexts(L1):this.getRuleContext(t,L1)}get ruleIndex(){return s.RULE_unitToUnitInterval}enterRule(t){t.enterUnitToUnitInterval&&t.enterUnitToUnitInterval(this)}exitRule(t){t.exitUnitToUnitInterval&&t.exitUnitToUnitInterval(this)}accept(t){return t.visitUnitToUnitInterval?t.visitUnitToUnitInterval(this):t.visitChildren(this)}}class $i extends R{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}REAL_LITERAL(){return this.getToken(s.REAL_LITERAL,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}class Tn extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}KW_AS(){return this.getToken(s.KW_AS,0)}identifierList(){return this.getRuleContext(0,r7)}get ruleIndex(){return s.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}class zi extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}errorCapturingIdentifierExtra(){return this.getRuleContext(0,Zi)}get ruleIndex(){return s.RULE_errorCapturingIdentifier}enterRule(t){t.enterErrorCapturingIdentifier&&t.enterErrorCapturingIdentifier(this)}exitRule(t){t.exitErrorCapturingIdentifier&&t.exitErrorCapturingIdentifier(this)}accept(t){return t.visitErrorCapturingIdentifier?t.visitErrorCapturingIdentifier(this):t.visitChildren(this)}}class Zi extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_errorCapturingIdentifierExtra}copyFrom(t){super.copyFrom(t)}}class d4 extends Zi{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MINUS(t){return t===void 0?this.getTokens(s.KW_MINUS):this.getToken(s.KW_MINUS,t)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}enterRule(t){t.enterErrorIdent&&t.enterErrorIdent(this)}exitRule(t){t.exitErrorIdent&&t.exitErrorIdent(this)}accept(t){return t.visitErrorIdent?t.visitErrorIdent(this):t.visitChildren(this)}}class R4 extends Zi{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterRealIdent&&t.enterRealIdent(this)}exitRule(t){t.exitRealIdent&&t.exitRealIdent(this)}accept(t){return t.visitRealIdent?t.visitRealIdent(this):t.visitChildren(this)}}class r7 extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}identifierSeq(){return this.getRuleContext(0,n7)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}get ruleIndex(){return s.RULE_identifierList}enterRule(t){t.enterIdentifierList&&t.enterIdentifierList(this)}exitRule(t){t.exitIdentifierList&&t.exitIdentifierList(this)}accept(t){return t.visitIdentifierList?t.visitIdentifierList(this):t.visitChildren(this)}}class n7 extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_identifierSeq}enterRule(t){t.enterIdentifierSeq&&t.enterIdentifierSeq(this)}exitRule(t){t.exitIdentifierSeq&&t.exitIdentifierSeq(this)}accept(t){return t.visitIdentifierSeq?t.visitIdentifierSeq(this):t.visitChildren(this)}}class B extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_identifier}copyFrom(t){super.copyFrom(t)}}class T4 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}quotedIdentifier(){return this.getRuleContext(0,a7)}enterRule(t){t.enterQuotedIdentifierAlternative&&t.enterQuotedIdentifierAlternative(this)}exitRule(t){t.exitQuotedIdentifierAlternative&&t.exitQuotedIdentifierAlternative(this)}accept(t){return t.visitQuotedIdentifierAlternative?t.visitQuotedIdentifierAlternative(this):t.visitChildren(this)}}class f4 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}nonReservedKeywords(){return this.getRuleContext(0,R7)}enterRule(t){t.enterNonReservedKeywordsAlternative&&t.enterNonReservedKeywordsAlternative(this)}exitRule(t){t.exitNonReservedKeywordsAlternative&&t.exitNonReservedKeywordsAlternative(this)}accept(t){return t.visitNonReservedKeywordsAlternative?t.visitNonReservedKeywordsAlternative(this):t.visitChildren(this)}}class A4 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}unquotedIdentifier(){return this.getRuleContext(0,qi)}enterRule(t){t.enterUnquotedIdentifierAlternative&&t.enterUnquotedIdentifierAlternative(this)}exitRule(t){t.exitUnquotedIdentifierAlternative&&t.exitUnquotedIdentifierAlternative(this)}accept(t){return t.visitUnquotedIdentifierAlternative?t.visitUnquotedIdentifierAlternative(this):t.visitChildren(this)}}class qi extends R{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}ID_LITERAL(){return this.getToken(s.ID_LITERAL,0)}get ruleIndex(){return s.RULE_unquotedIdentifier}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}class a7 extends R{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_quotedIdentifier}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class u0 extends R{constructor(t,e){super(t,e)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}get ruleIndex(){return s.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class fn extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_catalogPath}enterRule(t){t.enterCatalogPath&&t.enterCatalogPath(this)}exitRule(t){t.exitCatalogPath&&t.exitCatalogPath(this)}accept(t){return t.visitCatalogPath?t.visitCatalogPath(this):t.visitChildren(this)}}class o7 extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}get ruleIndex(){return s.RULE_catalogPathCreate}enterRule(t){t.enterCatalogPathCreate&&t.enterCatalogPathCreate(this)}exitRule(t){t.exitCatalogPathCreate&&t.exitCatalogPathCreate(this)}accept(t){return t.visitCatalogPathCreate?t.visitCatalogPathCreate(this):t.visitChildren(this)}}class l0 extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(){return this.getToken(s.DOT,0)}get ruleIndex(){return s.RULE_databasePath}enterRule(t){t.enterDatabasePath&&t.enterDatabasePath(this)}exitRule(t){t.exitDatabasePath&&t.exitDatabasePath(this)}accept(t){return t.visitDatabasePath?t.visitDatabasePath(this):t.visitChildren(this)}}class h7 extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(){return this.getToken(s.DOT,0)}get ruleIndex(){return s.RULE_databasePathCreate}enterRule(t){t.enterDatabasePathCreate&&t.enterDatabasePathCreate(this)}exitRule(t){t.exitDatabasePathCreate&&t.exitDatabasePathCreate(this)}accept(t){return t.visitDatabasePathCreate?t.visitDatabasePathCreate(this):t.visitChildren(this)}}class An extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_tablePathCreate}enterRule(t){t.enterTablePathCreate&&t.enterTablePathCreate(this)}exitRule(t){t.exitTablePathCreate&&t.exitTablePathCreate(this)}accept(t){return t.visitTablePathCreate?t.visitTablePathCreate(this):t.visitChildren(this)}}class Ke extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_tablePath}enterRule(t){t.enterTablePath&&t.enterTablePath(this)}exitRule(t){t.exitTablePath&&t.exitTablePath(this)}accept(t){return t.visitTablePath?t.visitTablePath(this):t.visitChildren(this)}}class c0 extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_viewPath}enterRule(t){t.enterViewPath&&t.enterViewPath(this)}exitRule(t){t.exitViewPath&&t.exitViewPath(this)}accept(t){return t.visitViewPath?t.visitViewPath(this):t.visitChildren(this)}}class u7 extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_viewPathCreate}enterRule(t){t.enterViewPathCreate&&t.enterViewPathCreate(this)}exitRule(t){t.exitViewPathCreate&&t.exitViewPathCreate(this)}accept(t){return t.visitViewPathCreate?t.visitViewPathCreate(this):t.visitChildren(this)}}class ft extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(B):this.getRuleContext(t,B)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_uid}enterRule(t){t.enterUid&&t.enterUid(this)}exitRule(t){t.exitUid&&t.exitUid(this)}accept(t){return t.visitUid?t.visitUid(this):t.visitChildren(this)}}class E0 extends R{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}tablePropertyList(){return this.getRuleContext(0,_0)}get ruleIndex(){return s.RULE_withOption}enterRule(t){t.enterWithOption&&t.enterWithOption(this)}exitRule(t){t.exitWithOption&&t.exitWithOption(this)}accept(t){return t.visitWithOption?t.visitWithOption(this):t.visitChildren(this)}}class N1 extends R{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class Ne extends R{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class _0 extends R{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(s.LR_BRACKET,0)}tableProperty(t){return t===void 0?this.getRuleContexts(tr):this.getRuleContext(t,tr)}RR_BRACKET(){return this.getToken(s.RR_BRACKET,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_tablePropertyList}enterRule(t){t.enterTablePropertyList&&t.enterTablePropertyList(this)}exitRule(t){t.exitTablePropertyList&&t.exitTablePropertyList(this)}accept(t){return t.visitTablePropertyList?t.visitTablePropertyList(this):t.visitChildren(this)}}class tr extends R{constructor(t,e){super(t,e)}tablePropertyKey(){return this.getRuleContext(0,mn)}tablePropertyValue(){return this.getRuleContext(0,l7)}EQUAL_SYMBOL(){return this.getToken(s.EQUAL_SYMBOL,0)}get ruleIndex(){return s.RULE_tableProperty}enterRule(t){t.enterTableProperty&&t.enterTableProperty(this)}exitRule(t){t.exitTableProperty&&t.exitTableProperty(this)}accept(t){return t.visitTableProperty?t.visitTableProperty(this):t.visitChildren(this)}}class mn extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,B)}dereferenceDefinition(){return this.getRuleContext(0,Ji)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_tablePropertyKey}enterRule(t){t.enterTablePropertyKey&&t.enterTablePropertyKey(this)}exitRule(t){t.exitTablePropertyKey&&t.exitTablePropertyKey(this)}accept(t){return t.visitTablePropertyKey?t.visitTablePropertyKey(this):t.visitChildren(this)}}class l7 extends R{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}REAL_LITERAL(){return this.getToken(s.REAL_LITERAL,0)}booleanLiteral(){return this.getRuleContext(0,Cn)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_tablePropertyValue}enterRule(t){t.enterTablePropertyValue&&t.enterTablePropertyValue(this)}exitRule(t){t.exitTablePropertyValue&&t.exitTablePropertyValue(this)}accept(t){return t.visitTablePropertyValue?t.visitTablePropertyValue(this):t.visitChildren(this)}}class m4 extends R{constructor(t,e){super(t,e)}KW_AND(){return this.getToken(s.KW_AND,0)}BIT_AND_OP(t){return t===void 0?this.getTokens(s.BIT_AND_OP):this.getToken(s.BIT_AND_OP,t)}KW_OR(){return this.getToken(s.KW_OR,0)}BIT_OR_OP(t){return t===void 0?this.getTokens(s.BIT_OR_OP):this.getToken(s.BIT_OR_OP,t)}get ruleIndex(){return s.RULE_logicalOperator}enterRule(t){t.enterLogicalOperator&&t.enterLogicalOperator(this)}exitRule(t){t.exitLogicalOperator&&t.exitLogicalOperator(this)}accept(t){return t.visitLogicalOperator?t.visitLogicalOperator(this):t.visitChildren(this)}}class c7 extends R{constructor(t,e){super(t,e)}EQUAL_SYMBOL(){return this.getToken(s.EQUAL_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(s.GREATER_SYMBOL,0)}LESS_SYMBOL(){return this.getToken(s.LESS_SYMBOL,0)}EXCLAMATION_SYMBOL(){return this.getToken(s.EXCLAMATION_SYMBOL,0)}get ruleIndex(){return s.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class C4 extends R{constructor(t,e){super(t,e)}LESS_SYMBOL(t){return t===void 0?this.getTokens(s.LESS_SYMBOL):this.getToken(s.LESS_SYMBOL,t)}GREATER_SYMBOL(t){return t===void 0?this.getTokens(s.GREATER_SYMBOL):this.getToken(s.GREATER_SYMBOL,t)}BIT_AND_OP(){return this.getToken(s.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(s.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(s.BIT_OR_OP,0)}get ruleIndex(){return s.RULE_bitOperator}enterRule(t){t.enterBitOperator&&t.enterBitOperator(this)}exitRule(t){t.exitBitOperator&&t.exitBitOperator(this)}accept(t){return t.visitBitOperator?t.visitBitOperator(this):t.visitChildren(this)}}class W4 extends R{constructor(t,e){super(t,e)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}SLASH_SIGN(){return this.getToken(s.SLASH_SIGN,0)}PENCENT_SIGN(){return this.getToken(s.PENCENT_SIGN,0)}KW_DIV(){return this.getToken(s.KW_DIV,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}DOUBLE_HYPNEN_SIGN(){return this.getToken(s.DOUBLE_HYPNEN_SIGN,0)}get ruleIndex(){return s.RULE_mathOperator}enterRule(t){t.enterMathOperator&&t.enterMathOperator(this)}exitRule(t){t.exitMathOperator&&t.exitMathOperator(this)}accept(t){return t.visitMathOperator?t.visitMathOperator(this):t.visitChildren(this)}}class p4 extends R{constructor(t,e){super(t,e)}EXCLAMATION_SYMBOL(){return this.getToken(s.EXCLAMATION_SYMBOL,0)}BIT_NOT_OP(){return this.getToken(s.BIT_NOT_OP,0)}ADD_SIGN(){return this.getToken(s.ADD_SIGN,0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}get ruleIndex(){return s.RULE_unaryOperator}enterRule(t){t.enterUnaryOperator&&t.enterUnaryOperator(this)}exitRule(t){t.exitUnaryOperator&&t.exitUnaryOperator(this)}accept(t){return t.visitUnaryOperator?t.visitUnaryOperator(this):t.visitChildren(this)}}class d0 extends R{constructor(t,e){super(t,e)}timeIntervalExpression(){return this.getRuleContext(0,K1)}timePointLiteral(){return this.getRuleContext(0,E7)}stringLiteral(){return this.getRuleContext(0,qe)}decimalLiteral(){return this.getRuleContext(0,R0)}HYPNEN_SIGN(){return this.getToken(s.HYPNEN_SIGN,0)}booleanLiteral(){return this.getRuleContext(0,Cn)}REAL_LITERAL(){return this.getToken(s.REAL_LITERAL,0)}BIT_STRING(){return this.getToken(s.BIT_STRING,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}get ruleIndex(){return s.RULE_constant}enterRule(t){t.enterConstant&&t.enterConstant(this)}exitRule(t){t.exitConstant&&t.exitConstant(this)}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}}class E7 extends R{constructor(t,e){super(t,e)}timePointUnit(){return this.getRuleContext(0,pn)}stringLiteral(){return this.getRuleContext(0,qe)}get ruleIndex(){return s.RULE_timePointLiteral}enterRule(t){t.enterTimePointLiteral&&t.enterTimePointLiteral(this)}exitRule(t){t.exitTimePointLiteral&&t.exitTimePointLiteral(this)}accept(t){return t.visitTimePointLiteral?t.visitTimePointLiteral(this):t.visitChildren(this)}}class qe extends R{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(s.STRING_LITERAL,0)}get ruleIndex(){return s.RULE_stringLiteral}enterRule(t){t.enterStringLiteral&&t.enterStringLiteral(this)}exitRule(t){t.exitStringLiteral&&t.exitStringLiteral(this)}accept(t){return t.visitStringLiteral?t.visitStringLiteral(this):t.visitChildren(this)}}class R0 extends R{constructor(t,e){super(t,e)}DIG_LITERAL(){return this.getToken(s.DIG_LITERAL,0)}get ruleIndex(){return s.RULE_decimalLiteral}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}class Cn extends R{constructor(t,e){super(t,e)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}get ruleIndex(){return s.RULE_booleanLiteral}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}class Wn extends R{constructor(t,e){super(t,e)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class pn extends R{constructor(t,e){super(t,e)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_MILLISECOND(){return this.getToken(s.KW_MILLISECOND,0)}KW_MICROSECOND(){return this.getToken(s.KW_MICROSECOND,0)}get ruleIndex(){return s.RULE_timePointUnit}enterRule(t){t.enterTimePointUnit&&t.enterTimePointUnit(this)}exitRule(t){t.exitTimePointUnit&&t.exitTimePointUnit(this)}accept(t){return t.visitTimePointUnit?t.visitTimePointUnit(this):t.visitChildren(this)}}class L1 extends R{constructor(t,e){super(t,e)}KW_MILLENNIUM(){return this.getToken(s.KW_MILLENNIUM,0)}KW_CENTURY(){return this.getToken(s.KW_CENTURY,0)}KW_DECADE(){return this.getToken(s.KW_DECADE,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_YEARS(){return this.getToken(s.KW_YEARS,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_WEEKS(){return this.getToken(s.KW_WEEKS,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_HOURS(){return this.getToken(s.KW_HOURS,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}KW_MILLISECOND(){return this.getToken(s.KW_MILLISECOND,0)}KW_MICROSECOND(){return this.getToken(s.KW_MICROSECOND,0)}KW_NANOSECOND(){return this.getToken(s.KW_NANOSECOND,0)}KW_EPOCH(){return this.getToken(s.KW_EPOCH,0)}get ruleIndex(){return s.RULE_timeIntervalUnit}enterRule(t){t.enterTimeIntervalUnit&&t.enterTimeIntervalUnit(this)}exitRule(t){t.exitTimeIntervalUnit&&t.exitTimeIntervalUnit(this)}accept(t){return t.visitTimeIntervalUnit?t.visitTimeIntervalUnit(this):t.visitChildren(this)}}class _7 extends R{constructor(t,e){super(t,e)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_BOTH(){return this.getToken(s.KW_BOTH,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_LEADING(){return this.getToken(s.KW_LEADING,0)}KW_TRAILING(){return this.getToken(s.KW_TRAILING,0)}KW_VALUE(){return this.getToken(s.KW_VALUE,0)}ASTERISK_SIGN(){return this.getToken(s.ASTERISK_SIGN,0)}get ruleIndex(){return s.RULE_reservedKeywordsUsedAsFuncParam}enterRule(t){t.enterReservedKeywordsUsedAsFuncParam&&t.enterReservedKeywordsUsedAsFuncParam(this)}exitRule(t){t.exitReservedKeywordsUsedAsFuncParam&&t.exitReservedKeywordsUsedAsFuncParam(this)}accept(t){return t.visitReservedKeywordsUsedAsFuncParam?t.visitReservedKeywordsUsedAsFuncParam(this):t.visitChildren(this)}}class d7 extends R{constructor(t,e){super(t,e)}KW_ABS(){return this.getToken(s.KW_ABS,0)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_AVG(){return this.getToken(s.KW_AVG,0)}KW_CARDINALITY(){return this.getToken(s.KW_CARDINALITY,0)}KW_CAST(){return this.getToken(s.KW_CAST,0)}KW_CEIL(){return this.getToken(s.KW_CEIL,0)}KW_CEILING(){return this.getToken(s.KW_CEILING,0)}KW_COALESCE(){return this.getToken(s.KW_COALESCE,0)}KW_COLLECT(){return this.getToken(s.KW_COLLECT,0)}KW_COUNT(){return this.getToken(s.KW_COUNT,0)}KW_CUME_DIST(){return this.getToken(s.KW_CUME_DIST,0)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(s.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DAYOFWEEK(){return this.getToken(s.KW_DAYOFWEEK,0)}KW_DAYOFYEAR(){return this.getToken(s.KW_DAYOFYEAR,0)}KW_DENSE_RANK(){return this.getToken(s.KW_DENSE_RANK,0)}KW_ELEMENT(){return this.getToken(s.KW_ELEMENT,0)}KW_EXP(){return this.getToken(s.KW_EXP,0)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}KW_FIRST_VALUE(){return this.getToken(s.KW_FIRST_VALUE,0)}KW_FLOOR(){return this.getToken(s.KW_FLOOR,0)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_LAG(){return this.getToken(s.KW_LAG,0)}KW_LAST_VALUE(){return this.getToken(s.KW_LAST_VALUE,0)}KW_LEAD(){return this.getToken(s.KW_LEAD,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_LN(){return this.getToken(s.KW_LN,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(s.KW_LOCALTIMESTAMP,0)}KW_LOWER(){return this.getToken(s.KW_LOWER,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_MAX(){return this.getToken(s.KW_MAX,0)}KW_MIN(){return this.getToken(s.KW_MIN,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MOD(){return this.getToken(s.KW_MOD,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_NULLIF(){return this.getToken(s.KW_NULLIF,0)}KW_NTILE(){return this.getToken(s.KW_NTILE,0)}KW_OVERLAY(){return this.getToken(s.KW_OVERLAY,0)}KW_PERCENT_RANK(){return this.getToken(s.KW_PERCENT_RANK,0)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}KW_POWER(){return this.getToken(s.KW_POWER,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_ROW_NUMBER(){return this.getToken(s.KW_ROW_NUMBER,0)}KW_RANK(){return this.getToken(s.KW_RANK,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_STDDEV_POP(){return this.getToken(s.KW_STDDEV_POP,0)}KW_STDDEV_SAMP(){return this.getToken(s.KW_STDDEV_SAMP,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_SUM(){return this.getToken(s.KW_SUM,0)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_TIMESTAMP_DIFF(){return this.getToken(s.KW_TIMESTAMP_DIFF,0)}KW_TRIM(){return this.getToken(s.KW_TRIM,0)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}KW_UPPER(){return this.getToken(s.KW_UPPER,0)}KW_VAR_POP(){return this.getToken(s.KW_VAR_POP,0)}KW_VAR_SAMP(){return this.getToken(s.KW_VAR_SAMP,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}get ruleIndex(){return s.RULE_reservedKeywordsUsedAsFuncName}enterRule(t){t.enterReservedKeywordsUsedAsFuncName&&t.enterReservedKeywordsUsedAsFuncName(this)}exitRule(t){t.exitReservedKeywordsUsedAsFuncName&&t.exitReservedKeywordsUsedAsFuncName(this)}accept(t){return t.visitReservedKeywordsUsedAsFuncName?t.visitReservedKeywordsUsedAsFuncName(this):t.visitChildren(this)}}class R7 extends R{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}KW_CATALOG(){return this.getToken(s.KW_CATALOG,0)}KW_CENTURY(){return this.getToken(s.KW_CENTURY,0)}KW_CONFIG(){return this.getToken(s.KW_CONFIG,0)}KW_CONSTRAINTS(){return this.getToken(s.KW_CONSTRAINTS,0)}KW_CUMULATE(){return this.getToken(s.KW_CUMULATE,0)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_DECADE(){return this.getToken(s.KW_DECADE,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_DESCRIPTOR(){return this.getToken(s.KW_DESCRIPTOR,0)}KW_DIV(){return this.getToken(s.KW_DIV,0)}KW_ENGINE(){return this.getToken(s.KW_ENGINE,0)}KW_EPOCH(){return this.getToken(s.KW_EPOCH,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_FILE(){return this.getToken(s.KW_FILE,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_GENERATED(){return this.getToken(s.KW_GENERATED,0)}KW_HOP(){return this.getToken(s.KW_HOP,0)}KW_HOURS(){return this.getToken(s.KW_HOURS,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_JAR(){return this.getToken(s.KW_JAR,0)}KW_JARS(){return this.getToken(s.KW_JARS,0)}KW_JAVA(){return this.getToken(s.KW_JAVA,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_LOAD(){return this.getToken(s.KW_LOAD,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_MICROSECOND(){return this.getToken(s.KW_MICROSECOND,0)}KW_MILLENNIUM(){return this.getToken(s.KW_MILLENNIUM,0)}KW_MILLISECOND(){return this.getToken(s.KW_MILLISECOND,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_NANOSECOND(){return this.getToken(s.KW_NANOSECOND,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_OPTIONS(){return this.getToken(s.KW_OPTIONS,0)}KW_PAST(){return this.getToken(s.KW_PAST,0)}KW_PLAN(){return this.getToken(s.KW_PLAN,0)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_PYTHON(){return this.getToken(s.KW_PYTHON,0)}KW_PYTHON_ARCHIVES(){return this.getToken(s.KW_PYTHON_ARCHIVES,0)}KW_PYTHON_DEPENDENCIES(){return this.getToken(s.KW_PYTHON_DEPENDENCIES,0)}KW_PYTHON_FILES(){return this.getToken(s.KW_PYTHON_FILES,0)}KW_PYTHON_JAR(){return this.getToken(s.KW_PYTHON_JAR,0)}KW_PYTHON_PARAMETER(){return this.getToken(s.KW_PYTHON_PARAMETER,0)}KW_PYTHON_REQUIREMENTS(){return this.getToken(s.KW_PYTHON_REQUIREMENTS,0)}KW_QUARTER(){return this.getToken(s.KW_QUARTER,0)}KW_REMOVE(){return this.getToken(s.KW_REMOVE,0)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}KW_SETS(){return this.getToken(s.KW_SETS,0)}KW_SIZE(){return this.getToken(s.KW_SIZE,0)}KW_SLIDE(){return this.getToken(s.KW_SLIDE,0)}KW_STEP(){return this.getToken(s.KW_STEP,0)}KW_TEMPORARY(){return this.getToken(s.KW_TEMPORARY,0)}KW_TIMECOL(){return this.getToken(s.KW_TIMECOL,0)}KW_TUMBLE(){return this.getToken(s.KW_TUMBLE,0)}KW_UNLOAD(){return this.getToken(s.KW_UNLOAD,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_WEEK(){return this.getToken(s.KW_WEEK,0)}KW_YEARS(){return this.getToken(s.KW_YEARS,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}get ruleIndex(){return s.RULE_nonReservedKeywords}enterRule(t){t.enterNonReservedKeywords&&t.enterNonReservedKeywords(this)}exitRule(t){t.exitNonReservedKeywords&&t.exitNonReservedKeywords(this)}accept(t){return t.visitNonReservedKeywords?t.visitNonReservedKeywords(this):t.visitChildren(this)}}var Q;(function(r){r.CATALOG="catalog",r.CATALOG_CREATE="catalogCreate",r.DATABASE="database",r.DATABASE_CREATE="databaseCreate",r.TABLE="table",r.TABLE_CREATE="tableCreate",r.VIEW="view",r.VIEW_CREATE="viewCreate",r.FUNCTION="function",r.FUNCTION_CREATE="functionCreate",r.PROCEDURE="procedure",r.PROCEDURE_CREATE="procedureCreate",r.COLUMN="column",r.COLUMN_CREATE="columnCreate"})(Q||(Q={}));var K4=Object.defineProperty,st=(r,t)=>K4(r,"name",{value:t,configurable:!0}),Le=(ai=class{constructor(t=""){E(this,"name");E(this,"context");E(this,"modifiers",new Set);E(this,"visibility",0);X(this,ut,void 0);this.name=t}get parent(){return K(this,ut)}get firstSibling(){var t;if(K(this,ut))return(t=K(this,ut))==null?void 0:t.firstChild}get previousSibling(){if(K(this,ut))return K(this,ut)?K(this,ut).previousSiblingOf(this):this}get nextSibling(){var t;return(t=K(this,ut))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=K(this,ut))==null?void 0:t.lastChild}get next(){var t;return(t=K(this,ut))==null?void 0:t.nextOf(this)}get root(){let t=K(this,ut);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=K(this,ut);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),!!e.parent);)e=e.parent;return t}setParent(t){G(this,ut,t)}removeFromParent(){var t;(t=K(this,ut))==null||t.removeSymbol(this),G(this,ut,void 0)}async resolve(t,e=!1){var i;return(i=K(this,ut))==null?void 0:i.resolve(t,e)}resolveSync(t,e=!1){var i;return(i=K(this,ut))==null?void 0:i.resolveSync(t,e)}getParentOfType(t){let e=K(this,ut);for(;e;){if(e instanceof t)return e;e=e.parent}}qualifiedName(t=".",e=!1,i=!1){if(!i&&this.name.length===0)return"";let n=this.name.length===0?"":this.name,a=K(this,ut);for(;a&&((i||a.name.length>0)&&(n=(a.name.length===0?"":a.name)+t+n),!(!e||!a.parent));)a=a.parent;return n}isSymbolTable(t){return t.info!==void 0}},ut=new WeakMap,st(ai,"BaseSymbol"),ai);oi=class extends Le{constructor(e,i,n,a=0){super(e);E(this,"elementType");E(this,"size");E(this,"referenceKind");this.referenceKind=i,this.elementType=n,this.size=a}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},st(oi,"ArrayType");var T7=(hi=class extends Error{},st(hi,"DuplicateSymbolError"),hi),xe=(Bt=class extends Le{constructor(e=""){super(e);X(this,Z,[]);X(this,ne,new Map)}get directScopes(){return this.getSymbolsOfType(Bt)}get children(){return K(this,Z)}get firstChild(){if(K(this,Z).length>0)return K(this,Z)[0]}get lastChild(){if(K(this,Z).length>0)return K(this,Z)[K(this,Z).length-1]}clear(){G(this,Z,[]),K(this,ne).clear()}addSymbol(e){e.removeFromParent();const i=this.symbolTable,n=K(this,ne).get(e.name);if(!i||!i.options.allowDuplicateSymbols){if(n!==void 0)throw new T7("Attempt to add duplicate symbol '"+(e.name??"")+"'");if(K(this,ne).set(e.name,1),K(this,Z).indexOf(e)>-1)throw new T7("Attempt to add duplicate symbol '"+(e.name??"")+"'")}else K(this,ne).set(e.name,n===void 0?1:n+1);K(this,Z).push(e),e.setParent(this)}removeSymbol(e){const i=K(this,Z).indexOf(e);if(i>-1){K(this,Z).splice(i,1),e.setParent(void 0);const n=K(this,ne).get(e.name);n!==void 0&&(n===1?K(this,ne).delete(e.name):K(this,ne).set(e.name,n-1))}}async getNestedSymbolsOfType(e){const i=[],n=[];return K(this,Z).forEach(o=>{o instanceof e&&i.push(o),o instanceof Bt&&n.push(o.getNestedSymbolsOfType(e))}),(await Promise.all(n)).forEach(o=>{i.push(...o)}),i}getNestedSymbolsOfTypeSync(e){const i=[];return K(this,Z).forEach(n=>{n instanceof e&&i.push(n),n instanceof Bt&&i.push(...n.getNestedSymbolsOfTypeSync(e))}),i}async getAllNestedSymbols(e){const i=[],n=[];return K(this,Z).forEach(o=>{(!e||o.name===e)&&i.push(o),o instanceof Bt&&n.push(o.getAllNestedSymbols(e))}),(await Promise.all(n)).forEach(o=>{i.push(...o)}),i}getAllNestedSymbolsSync(e){const i=[];return K(this,Z).forEach(n=>{(!e||n.name===e)&&i.push(n),n instanceof Bt&&i.push(...n.getAllNestedSymbolsSync(e))}),i}getSymbolsOfType(e){return new Promise(i=>{const n=[];K(this,Z).forEach(a=>{a instanceof e&&n.push(a)}),i(n)})}async getAllSymbols(e,i=!1){const n=[];for(const a of K(this,Z))if(a instanceof e&&n.push(a),this.isNamespace(a)){const o=await a.getAllSymbols(e,!0);n.push(...o)}if(!i&&this.parent){const a=await this.getAllSymbols(e,!0);n.push(...a)}return n}getAllSymbolsSync(e,i=!1){const n=[];for(const a of K(this,Z))if(a instanceof e&&n.push(a),this.isNamespace(a)){const o=a.getAllSymbolsSync(e,!0);n.push(...o)}if(!i&&this.parent){const a=this.getAllSymbolsSync(e,!0);n.push(...a)}return n}async resolve(e,i=!1){return new Promise(n=>{for(const a of K(this,Z))if(a.name===e){n(a);return}if(!i&&this.parent){n(this.parent.resolve(e,!1));return}n(void 0)})}resolveSync(e,i=!1){for(const n of K(this,Z))if(n.name===e)return n;if(!i&&this.parent)return this.parent.resolveSync(e,!1)}symbolFromPath(e,i="."){const n=e.split(i);let a=0;(n[0]===this.name||n[0].length===0)&&++a;let o=this;for(;au.name===n[a]);if(!h)return;o=h,++a}return o}indexOfChild(e){return K(this,Z).findIndex(i=>i===e)}nextSiblingOf(e){const i=this.indexOfChild(e);if(!(i===-1||i>=K(this,Z).length-1))return K(this,Z)[i+1]}previousSiblingOf(e){const i=this.indexOfChild(e);if(!(i<1))return K(this,Z)[i-1]}nextOf(e){if(!e.parent)return;if(e.parent!==this)return e.parent.nextOf(e);if(e instanceof Bt&&e.children.length>0)return e.children[0];const i=this.nextSiblingOf(e);return i||this.parent.nextOf(this)}isNamespace(e){return e.inline!==void 0&&e.attributes!==void 0}},Z=new WeakMap,ne=new WeakMap,st(Bt,"ScopedSymbol"),Bt);ui=class extends xe{},st(ui,"BlockSymbol");var f7=(li=class extends Le{constructor(e,i){super(e);E(this,"type");this.type=i}},st(li,"TypedSymbol"),li),Kn=(ci=class extends f7{constructor(e,i,n){super(e,n);E(this,"value");this.value=i}},st(ci,"VariableSymbol"),ci),A7=(Ei=class extends Kn{constructor(){super(...arguments);E(this,"setter");E(this,"getter")}},st(Ei,"FieldSymbol"),Ei),N4=(_i=class extends Kn{},st(_i,"ParameterSymbol"),_i),L4=(di=class extends xe{constructor(e,i){super(e);E(this,"returnType");this.returnType=i}getVariables(e=!0){return this.getSymbolsOfType(Kn)}getParameters(e=!0){return this.getSymbolsOfType(N4)}},st(di,"RoutineSymbol"),di),m7=(Ri=class extends L4{constructor(){super(...arguments);E(this,"methodFlags",0)}},st(Ri,"MethodSymbol"),Ri);Ti=class extends xe{constructor(e,i,n){super(e);E(this,"isStruct",!1);E(this,"reference",0);E(this,"extends");E(this,"implements");this.extends=i,this.implements=n}get baseTypes(){return this.extends}get kind(){return 7}getMethods(e=!1){return this.getSymbolsOfType(m7)}getFields(e=!1){return this.getSymbolsOfType(A7)}},st(Ti,"ClassSymbol"),vt=class{constructor(t,e=0,i=0){E(this,"name");E(this,"typeKind");E(this,"referenceKind");this.name=t,this.typeKind=e,this.referenceKind=i}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},st(vt,"FundamentalType"),E(vt,"integerType",new vt("int",1,3)),E(vt,"floatType",new vt("float",2,3)),E(vt,"stringType",new vt("string",4,3)),E(vt,"boolType",new vt("bool",6,3)),fi=class extends xe{constructor(e,i){super(e);E(this,"reference",0);E(this,"extends");this.extends=i}get baseTypes(){return this.extends}get kind(){return 8}getMethods(e=!1){return this.getSymbolsOfType(m7)}getFields(e=!1){return this.getSymbolsOfType(A7)}},st(fi,"InterfaceSymbol"),Ai=class extends f7{constructor(e,i,n){super(e,n);E(this,"value");this.value=i}},st(Ai,"LiteralSymbol");var er=(mi=class extends xe{constructor(e,i=!1,n=[]){super(e);E(this,"inline");E(this,"attributes");this.inline=i,this.attributes=n}},st(mi,"NamespaceSymbol"),mi);Ci=class extends Le{constructor(e,i){super(e);E(this,"targetType");this.targetType=i}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},st(Ci,"TypeAlias");var x4=st((r,t)=>{if(!r||!t)return[];let e;for(e=0;e=t||h.type===p.EOF)||h.type===p.EOF)break}const a=[],o=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,a,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const u of this.candidates.rules){let c="";for(const _ of u[1].ruleList)c+=this.ruleNames[_]+" ";console.log(this.ruleNames[u[0]]+", path: ",c)}const h=new Set;for(const u of this.candidates.tokens){let c=this.vocabulary.getDisplayName(u[0])??"";for(const _ of u[1])c+=" "+this.vocabulary.getDisplayName(_);h.add(c)}console.log(` - -Collected tokens: -`);for(const u of h)console.log(u);console.log(` - -`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;eh);let o=!0;for(const h of this.candidates.rules)if(!(h[0]!==i||h[1].ruleList.length!==a.length)&&a.every((u,c)=>u===h[1].ruleList[c])){o=!1;break}return o&&(this.candidates.rules.set(i,{startTokenIndex:n,ruleList:a}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[i])),!0}return!1}getFollowingTokens(t){const e=[],i=[t.target];for(;i.length>0;){const n=i.pop();n&&n.transitions.forEach(a=>{if(a.serializationType===O.ATOM)if(a.isEpsilon)i.push(a.target);else{const o=a.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(e.push(o[0]),i.push(a.target))}})}return e}determineFollowSets(t,e){const i=[],n=[],a=[],o=this.collectFollowSets(t,e,i,n,a),h=new Ct;for(const u of i)h.addSet(u.intervals);return{sets:i,isExhaustive:o,combined:h}}collectFollowSets(t,e,i,n,a){if(n.find(h=>h===t))return!0;if(n.push(t),t===e||t.stateType===H.RULE_STOP)return n.pop(),!1;let o=!0;for(const h of t.transitions)if(h.serializationType===O.RULE){const u=h;if(a.indexOf(u.target.ruleIndex)!==-1)continue;a.push(u.target.ruleIndex);const c=this.collectFollowSets(h.target,e,i,n,a);if(a.pop(),!c){const _=this.collectFollowSets(u.followState,e,i,n,a);o&&(o=_)}}else if(h.serializationType===O.PREDICATE){if(this.checkPredicate(h)){const u=this.collectFollowSets(h.target,e,i,n,a);o&&(o=u)}}else if(h.isEpsilon){const u=this.collectFollowSets(h.target,e,i,n,a);o&&(o=u)}else if(h.serializationType===O.WILDCARD){const u=new C7;u.intervals=Ct.of(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),u.path=a.slice(),i.push(u)}else{let u=h.label;if(u&&u.length>0){h.serializationType===O.NOT_SET&&(u=u.complement(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const c=new C7;c.intervals=u??new Ct,c.path=a.slice(),c.following=this.getFollowingTokens(h),i.push(c)}}return n.pop(),o}processRule(t,e,i,n,a){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(e))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(e);const h=new Set;let u=Jt.followSetsByATN.get(this.parser.constructor.name);u||(u=new Map,Jt.followSetsByATN.set(this.parser.constructor.name,u));let c=u.get(t.stateNumber);if(!c){const W=this.atn.ruleToStopState[t.ruleIndex];c=this.determineFollowSets(t,W),u.set(t.stateNumber,c)}const _=this.tokens[e].tokenIndex;if(i.push({startTokenIndex:_,ruleIndex:t.ruleIndex}),e>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(i);else for(const W of c.sets){const L=i.slice(),S=W.path.map(g=>({startTokenIndex:_,ruleIndex:g}));if(L.push(...S),!this.translateStackToRuleIndex(L))for(const g of W.intervals.toArray())this.ignoredTokens.has(g)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(g)),this.candidates.tokens.has(g)?this.candidates.tokens.get(g)!==W.following&&this.candidates.tokens.set(g,[]):this.candidates.tokens.set(g,W.following))}return c.isExhaustive||h.add(e),i.pop(),h}else{const W=this.tokens[e].type;if(c.isExhaustive&&!c.combined.contains(W))return i.pop(),h}t.isPrecedenceRule&&this.precedenceStack.push(n);const d=[];let f;for(d.push({state:t,tokenListIndex:e});d.length>0;){f=d.pop(),++this.statesProcessed;const W=this.tokens[f.tokenListIndex].type,L=f.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(a,f.state,this.generateBaseDescription(f.state),f.tokenListIndex),this.showRuleStack&&this.printRuleState(i)),f.state.stateType===H.RULE_STOP){h.add(f.tokenListIndex);continue}const S=f.state.transitions;for(const g of S)switch(g.serializationType){case O.RULE:{const U=g,C=this.processRule(g.target,f.tokenListIndex,i,U.precedence,a+1);for(const m of C)d.push({state:g.followState,tokenListIndex:m});break}case O.PREDICATE:{this.checkPredicate(g)&&d.push({state:g.target,tokenListIndex:f.tokenListIndex});break}case O.PRECEDENCE:{g.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&d.push({state:g.target,tokenListIndex:f.tokenListIndex});break}case O.WILDCARD:{if(L){if(!this.translateStackToRuleIndex(i))for(const U of Ct.of(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(U)||this.candidates.tokens.set(U,[])}else d.push({state:g.target,tokenListIndex:f.tokenListIndex+1});break}default:{if(g.isEpsilon){d.push({state:g.target,tokenListIndex:f.tokenListIndex});continue}let U=g.label;if(U&&U.length>0)if(g.serializationType===O.NOT_SET&&(U=U.complement(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),L){if(!this.translateStackToRuleIndex(i)){const C=U.toArray(),m=C.length===1;for(const N of C)if(!this.ignoredTokens.has(N)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(N));const x=m?this.getFollowingTokens(g):[];this.candidates.tokens.has(N)?this.candidates.tokens.set(N,x4(x,this.candidates.tokens.get(N))):this.candidates.tokens.set(N,x)}}}else U.contains(W)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(W)),d.push({state:g.target,tokenListIndex:f.tokenListIndex+1}))}}}return i.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(e,h),h}generateBaseDescription(t){return`[${t.stateNumber===qt.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${Jt.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,e,i,n){const a=" ".repeat(t);let o=a,h="";if(this.debugOutputWithTransitions)for(const u of e.transitions){let c="";const _=u.label?u.label.toArray():[];if(_.length>2)c=this.vocabulary.getDisplayName(_[0])+" .. "+this.vocabulary.getDisplayName(_[_.length-1]);else for(const d of _)c.length>0&&(c+=", "),c+=this.vocabulary.getDisplayName(d);c.length===0&&(c="ε"),h+=` -${a} (${c}) [${u.target.stateNumber} ${Jt.atnStateTypeMap[u.target.stateType]}] in ${this.ruleNames[u.target.ruleIndex]}`}n>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+n}>> `:o+=`<${this.tokenStartIndex+n}> `,console.log(o+"Current state: "+i+h)}printRuleState(t){if(t.length===0){console.log("");return}for(const e of t)console.log(this.ruleNames[e.ruleIndex])}},st(Jt,"CodeCompletionCore"),E(Jt,"followSetsByATN",new Map),E(Jt,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),Jt);Ki=class extends xe{constructor(e,i){super(e);E(this,"dependencies",new Set);this.options=i}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...e){e.forEach(i=>{this.dependencies.add(i)})}removeDependency(e){this.dependencies.has(e)&&this.dependencies.delete(e)}addNewSymbolOfType(e,i,...n){const a=new e(...n);return!i||i===this?this.addSymbol(a):i.addSymbol(a),a}async addNewNamespaceFromPath(e,i,n="."){const a=i.split(n);let o=0,h=e===void 0?this:e;for(;oo.getAllSymbols(e,i)))).forEach(o=>{n.push(...o)}),n}getAllSymbolsSync(e,i=!1){const n=super.getAllSymbolsSync(e,i);return i||this.dependencies.forEach(a=>{n.push(...a.getAllSymbolsSync(e,i))}),n}async symbolWithContext(e){const i=st(a=>{if(a.context===e)return a;if(a instanceof xe)for(const o of a.children){const h=i(o);if(h)return h}},"findRecursive");let n=await this.getAllSymbols(Le);for(const a of n){const o=i(a);if(o)return o}for(const a of this.dependencies){n=await a.getAllSymbols(Le);for(const o of n){const h=i(o);if(h)return h}}}symbolWithContextSync(e){const i=st(a=>{if(a.context===e)return a;if(a instanceof xe)for(const o of a.children){const h=i(o);if(h)return h}},"findRecursive");let n=this.getAllSymbolsSync(Le);for(const a of n){const o=i(a);if(o)return o}for(const a of this.dependencies){n=a.getAllSymbolsSync(Le);for(const o of n){const h=i(o);if(h)return h}}}async resolve(e,i=!1){let n=await super.resolve(e,i);if(!n&&!i){for(const a of this.dependencies)if(n=await a.resolve(e,!1),n)return n}return n}resolveSync(e,i=!1){let n=super.resolveSync(e,i);if(!n&&!i){for(const a of this.dependencies)if(n=a.resolveSync(e,!1),n)return n}return n}},st(Ki,"SymbolTable");function W7(r,t){var e,i;const{lineNumber:n,column:a}=r;let o=0,h=t.length-1;for(;o<=h;){const u=o+(h-o>>1),c=t[u];if(c.line>n||c.line===n&&c.column+1>=a)h=u-1;else if(c.line{this._parseErrors.push(t)}}createLexer(t,e){const i=Yr.fromString(t),n=this.createLexerFromCharStream(i);return e&&(n.removeErrorListeners(),n.addErrorListener(new sr(e))),n}createParser(t,e){const i=this.createLexer(t,e),n=new Gi(i),a=this.createParserFromTokenStream(n);return a.interpreter.predictionMode=dt.SLL,e&&(a.removeErrorListeners(),a.addErrorListener(new sr(e))),a}parse(t,e){const i=this.createParser(t,e);return i.buildParseTrees=!0,i.errorHandler=new Nn,i.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=Yr.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new sr(this._errorListener)),this._tokenStream=new Gi(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=dt.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new Nn,this._parser}parseWithCache(t,e){if(this._parsedInput===t&&!e&&this._parseTree)return this._parseTree;this._parseErrors=[];const i=this.createParserWithCache(t);return this._parsedInput=t,i.removeErrorListeners(),i.addErrorListener(new sr(this._errorListener)),this._parseTree=i.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let e=this._tokenStream.getTokens();return e[e.length-1].text===""&&(e=e.slice(0,-1)),e}listen(t,e){O3.DEFAULT.walk(t,e)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const i=this.splitListener;return i?(this.listen(i,this._parseTree),i.statementsContext.map(a=>p7(a,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(t,e){var i,n,a,o,h,u,c,_,d;const f=this.splitListener;if(!f||(this.parseWithCache(t),!this._parseTree))return null;let W=this._parser;const L=this.getAllTokens(t);let S=W7(e,L),g=this._parseTree,U=0;if(!S&&S!==0)return null;this.listen(f,this._parseTree);const C=(i=f.statementsContext)===null||i===void 0?void 0:i.length,m=f.statementsContext;if(C>1){let I=null,k=null;for(let l1=0;l1S&&V4){k=c1;break}}const Et=(h=(o=I==null?void 0:I.start)===null||o===void 0?void 0:o.start)!==null&&h!==void 0?h:0,F=(c=(u=k==null?void 0:k.stop)===null||u===void 0?void 0:u.stop)!==null&&c!==void 0?c:t.length-1;U=(d=(_=I==null?void 0:I.start)===null||_===void 0?void 0:_.tokenIndex)!==null&&d!==void 0?d:0,S=S-U;const w=t.slice(Et,F),jt=this.createLexer(w);jt.removeErrorListeners();const L7=new Gi(jt);L7.fill();const G1=this.createParserFromTokenStream(L7);G1.interpreter.predictionMode=dt.SLL,G1.removeErrorListeners(),G1.buildParseTrees=!0,G1.errorHandler=new Nn,W=G1,g=G1.program()}const N=new g4(W);N.preferredRules=this.preferredRules;const x=N.collectCandidates(S,g),y=this.processCandidates(x,L,S,U);return{syntax:y.syntax.map(I=>{const k=I.wordRanges.map(Et=>I4(Et,this._parsedInput));return{syntaxContextType:I.syntaxContextType,wordRanges:k}}),keywords:y.keywords}}getAllEntities(t,e){const i=this.getAllTokens(t),n=e?W7(e,i):void 0,a=this.createEntityCollector(t,n);if(!a)return null;const o=this.parseWithCache(t);return this.listen(a,o),a.getEntities()}}class M4{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class U4 extends M4{exitSingleStatement(t){this._statementsContext.push(t)}}class K7{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var N7=function(r,t){var e={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&t.indexOf(i)<0&&(e[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n=0&&(n=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const a=y4(t,e,this._input,this._rootStmt,this._stmtStack.peek(),n);return a&&((this._stmtStack.isEmpty()||((i=this._stmtStack.peek())===null||i===void 0?void 0:i.stmtContextType)===yt.COMMON_STMT)&&(this._rootStmt=a),this._stmtStack.push(a)),a}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,e,i){const n=v4(t,e,this._input,this._stmtStack.peek(),i);return n&&(this._stmtStack.isEmpty()?this._entitiesSet.add(n):this._entityStack.push(n)),n}combineEntitiesAndAdd(t){const e=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)e.unshift(this._entityStack.pop());const i=this.combineRootStmtEntities(t,e);for(;i.length;){const n=i.shift();n&&this._entitiesSet.add(n)}}combineRootStmtEntities(t,e){return t.stmtContextType===yt.CREATE_VIEW_STMT||t.stmtContextType===yt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,e):e}combineCreateTableOrViewStmtEntities(t,e){const i=[],n=[];let a=null;const o=e.reduce((h,u)=>{if(u.belongStmt!==t)return u.entityContextType!==Q.COLUMN&&u.entityContextType!==Q.COLUMN_CREATE&&(n.push(u),h.push(u)),h;if(u.entityContextType===Q.COLUMN_CREATE)i.push(u);else{if(u.entityContextType===Q.TABLE_CREATE||u.entityContextType===Q.VIEW_CREATE)return a=u,h.push(u),h;u.entityContextType!==Q.COLUMN&&(n.push(u),h.push(u))}return h},[]);return a&&i.length&&(a.columns=i),a&&n.length&&(a.relatedEntities=n),o}}class H4 extends b4{exitCatalogPathCreate(t){this.pushEntity(t,Q.CATALOG_CREATE)}exitCatalogPath(t){this.pushEntity(t,Q.CATALOG)}exitDatabasePathCreate(t){this.pushEntity(t,Q.DATABASE_CREATE)}exitDatabasePath(t){this.pushEntity(t,Q.DATABASE)}exitTablePath(t){this.pushEntity(t,Q.TABLE)}exitTablePathCreate(t){this.pushEntity(t,Q.TABLE_CREATE)}exitViewPath(t){this.pushEntity(t,Q.VIEW)}exitViewPathCreate(t){this.pushEntity(t,Q.VIEW_CREATE)}exitColumnNameCreate(t){this.pushEntity(t,Q.COLUMN_CREATE)}exitFunctionNameCreate(t){this.pushEntity(t,Q.FUNCTION_CREATE)}enterSqlStatement(t){this.pushStmt(t,yt.COMMON_STMT)}exitSqlStatement(t){this.popStmt()}enterCreateCatalog(t){this.pushStmt(t,yt.CREATE_CATALOG_STMT)}exitCreateCatalog(t){this.popStmt()}enterCreateDatabase(t){this.pushStmt(t,yt.CREATE_DATABASE_STMT)}exitCreateDatabase(t){this.popStmt()}enterCreateTable(t){this.pushStmt(t,yt.CREATE_TABLE_STMT)}exitCreateTable(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,yt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,yt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterCreateFunction(t){this.pushStmt(t,yt.CREATE_FUNCTION_STMT)}exitCreateFunction(t){this.popStmt()}enterInsertStatement(t){this.pushStmt(t,yt.INSERT_STMT)}exitInsertStatement(t){this.popStmt()}}class k4 extends D4{constructor(){super(...arguments),this.preferredRules=new Set([s.RULE_catalogPath,s.RULE_databasePath,s.RULE_databasePathCreate,s.RULE_tablePath,s.RULE_tablePathCreate,s.RULE_viewPath,s.RULE_viewPathCreate,s.RULE_functionName,s.RULE_functionNameCreate,s.RULE_columnName,s.RULE_columnNameCreate])}createLexerFromCharStream(t){return new l(t)}createParserFromTokenStream(t){return new s(t)}get splitListener(){return new U4}createEntityCollector(t,e){return new H4(t,e)}processCandidates(t,e,i,n){const a=[],o=[];for(let h of t.rules){const[u,c]=h,_=c.startTokenIndex+n,d=e.slice(_,i+n+1);let f;switch(u){case s.RULE_catalogPath:{f=Q.CATALOG;break}case s.RULE_databasePath:{f=Q.DATABASE;break}case s.RULE_databasePathCreate:{f=Q.DATABASE_CREATE;break}case s.RULE_tablePath:{f=Q.TABLE;break}case s.RULE_tablePathCreate:{f=Q.TABLE_CREATE;break}case s.RULE_viewPath:{f=Q.VIEW;break}case s.RULE_viewPathCreate:{f=Q.VIEW_CREATE;break}case s.RULE_functionName:{f=Q.FUNCTION;break}case s.RULE_functionNameCreate:{f=Q.FUNCTION_CREATE;break}case s.RULE_columnName:{f=Q.COLUMN;break}case s.RULE_columnNameCreate:{f=Q.COLUMN_CREATE;break}}f&&a.push({syntaxContextType:f,wordRanges:d})}for(let h of t.tokens){const u=this._parser.vocabulary.getSymbolicName(h[0]),c=this._parser.vocabulary.getDisplayName(h[0]);if(c&&u&&u.startsWith("KW_")){const _=c.startsWith("'")&&c.endsWith("'")?c.slice(1,-1):c;o.push(_)}}return{syntax:a,keywords:o}}}var T0=function(r,t,e,i){function n(a){return a instanceof e?a:new e(function(o){o(a)})}return new(e||(e=Promise))(function(a,o){function h(_){try{c(i.next(_))}catch(d){o(d)}}function u(_){try{c(i.throw(_))}catch(d){o(d)}}function c(_){_.done?a(_.value):n(_.value).then(h,u)}c((i=i.apply(r,t||[])).next())})};class P4{constructor(t,e){this.keywords=[]}doValidation(t){return T0(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const e=this.parser.validate(t);return Promise.resolve(e)}return Promise.resolve([])})}parserTreeToString(t){return T0(this,void 0,void 0,function*(){if(t){const e=this.parser.createParser(t),n=e.program().toStringTree(e);return Promise.resolve(n)}return Promise.resolve("")})}doCompletion(t,e){return T0(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getSuggestionAtCaretPosition(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}doCompletionWithEntities(t,e){return T0(this,void 0,void 0,function*(){var i;if(t=t||this.getTextDocument(),t){const n=this.parser.getSuggestionAtCaretPosition(t,e);let a=null;return!((i=n==null?void 0:n.syntax)===null||i===void 0)&&i.length&&(a=this.parser.getAllEntities(t,e)),Promise.resolve([n,a])}return Promise.resolve([null,null])})}getAllEntities(t,e){return T0(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getAllEntities(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class B4 extends P4{constructor(t,e){super(t,e),this._ctx=t,this.parser=new k4}}self.onmessage=()=>{v2((r,t)=>new B4(r,t))}})(); diff --git a/assets/handlebars-e15b1ca7.js b/assets/handlebars-9843eaf2.js similarity index 99% rename from assets/handlebars-e15b1ca7.js rename to assets/handlebars-9843eaf2.js index a2d51b29..a3b2ed06 100644 --- a/assets/handlebars-e15b1ca7.js +++ b/assets/handlebars-9843eaf2.js @@ -1,4 +1,4 @@ -import{m as i}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as i}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/hive-e09638dc.js b/assets/hive-a26fc1da.js similarity index 99% rename from assets/hive-e09638dc.js rename to assets/hive-a26fc1da.js index bd5d4aff..1937e065 100644 --- a/assets/hive-e09638dc.js +++ b/assets/hive-a26fc1da.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ALTER","AND","ANTI","ANY","APPLICATION","ARRAY","AS","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BY","CASE","CAST","CHAR","COLUMN","COMMIT","COMPACTIONID","CONF","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","CONNECTOR","CONNECTORS","DATE","DDL","DEC","DECIMAL","NUMERIC","DELETE","DESCRIBE","DISTINCT","DOUBLE","DROP","RECOVER","ELSE","END","EXCEPT","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FLOAT","FLOOR","FOLLOWING","FOR","FORCE","FOREIGN","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","JOIN","$KEY$","LATERAL","LEADING","LEFT","LESS","LIKE","LOCAL","MACRO","MAP","MERGE","MINUS","MORE","NONE","NOT","NULL","OF","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","PARTITION","PERCENT","PKFK_JOIN","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PROCEDURE","QUALIFY","RANGE","READS","REAL","REDUCE","REFERENCES","REGEXP","REVOKE","RIGHT","RLIKE","ROLLBACK","ROLLUP","ROW","ROWS","SELECT","SET","SMALLINT","SOME","START","SYNC","TABLE","TABLESAMPLE","THEN","TIME","TIMESTAMP","TIMESTAMPLOCALTZ","TO","TRAILING","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUE","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","VARCHAR","WHEN","WHERE","WINDOW","WITH","ADD","ANALYZE","ASC","AT","CASCADE","CHANGE","COMMENT","COMPUTE","DEFAULT","DESC","DISABLE","EVERY","EXECUTE","EXPLAIN","FILE","FILEFORMAT","FORMAT","FORMATTED","INDEX","KEY","KEYS","LIMIT","LOAD","LOCATION","OFFSET","OVERWRITE","PARTITIONED","PURGE","RELOAD","RENAME","REPLACE","REWRITE","ROLE","SCHEMA","SHOW","SORT","SORTED","STRING","TOUCH","USE","UNLOCK","VIEW"],operators:["BETWEEN","IS","LIKE","RLIKE","REGEXP","DIV","NOT","AND","OR","NOT","IN","EXISTS","JOIN","INNER","OUTER","LEFT","RIGHT","FULL","CROSS","SEMI","EXCEPT","INTERSECT","UNION","MINUS"],builtinFunctions:["ROUND","BROUND","FLOOR","CEIL","RAND","EXP","LN","LOG10","LOG2","LOG","POW","POWER","SQRT","BIN","HEX","UNHEX","CONV","ABS","PMOD","SIN","ASIN","COS","ACOS","TAN","ATAN","DEGREES","RADIANS","POSITIVE","NEGATIVE","SIGN","E","PI","FACTORIAL","CBRT","SHIFTLEFT","SHIFTRIGHT","GREATEST","LEAST","WIDTH_BUCKET","SIZE","MAP_KEYS","MAP_VALUES","ARRAY_CONTAINS","SORT_ARRAY","BINARY","CAST","FROM_UNIXTIME","UNIX_TIMESTAMP","TO_DATE","YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","SECOND","WEEKOFYEAR","EXTRACT","DATEDIFF","DATE_ADD","DATE_SUB","FROM_UTC_TIMESTAMP","TO_UTC_TIMESTAMP","CURRENT_DATE","CURRENT_TIMESTAMP","ADD_MONTHS","LAST_DAY","NEXT_DAY","TRUNC","MONTHS_BETWEEN","DATE_FORMAT","ASSERT_TRUE","COALESCE","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONTEXT_NGRAMS","CONCAT_WS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INSTR","LENGTH","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RPAD","RTRIM","SENTENCES","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TRANSLATE","TRIM","UNBASE64","UPPER","INITCAP","LEVENSHTEIN","SOUNDEX","MASK","MASK_FIRST_N","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","MASK_HASH","JAVA_METHOD","REFLECT","HASH","CURRENT_USER","LOGGED_IN_USER","CURRENT_DATABASE","MD5","SHA1","SHA","CRC32","SHA2","AES_ENCRYPT","VERSION","SURROGATE_KEY","COUNT","SUM","AVG","MIN","MAX","VARIANCE","VAR_POP","VAR_SAMP","STDDEV_POP","STDDEV_SAMP","COVAR_POP","COVAR_SAMP","CORR","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","HISTOGRAM_NUMERIC","COLLECT_SET","COLLECT_LIST","NTILE","EXPLODE","POSEXPLODE","INLINE","STACK","JSON_TUPLE","PARSE_URL_TUPLE"],builtinVariables:[],typeKeywords:["TINYINT","SMALLINT","INT","INTEGER","BIGINT","FLOAT","DOUBLE","DECIMAL","NUMERIC","TIMESTAMP","DATE","INTERVAL","STRING","VARCHAR","CHAR","BOOLEAN","BINARY","ARRAY","MAP","STRUCT","UNIONTYPE"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string_single"}],[/"/,{token:E.STRING,next:"@string_double"}]],string_single:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],string_double:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[[/DOUBLE\s+PRECISION\b/i,{token:E.TYPE}]]}};export{R as conf,A as language}; +import{T as E}from"./index-e7f600bf.js";const R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ALTER","AND","ANTI","ANY","APPLICATION","ARRAY","AS","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BY","CASE","CAST","CHAR","COLUMN","COMMIT","COMPACTIONID","CONF","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","CONNECTOR","CONNECTORS","DATE","DDL","DEC","DECIMAL","NUMERIC","DELETE","DESCRIBE","DISTINCT","DOUBLE","DROP","RECOVER","ELSE","END","EXCEPT","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FLOAT","FLOOR","FOLLOWING","FOR","FORCE","FOREIGN","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","JOIN","$KEY$","LATERAL","LEADING","LEFT","LESS","LIKE","LOCAL","MACRO","MAP","MERGE","MINUS","MORE","NONE","NOT","NULL","OF","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","PARTITION","PERCENT","PKFK_JOIN","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PROCEDURE","QUALIFY","RANGE","READS","REAL","REDUCE","REFERENCES","REGEXP","REVOKE","RIGHT","RLIKE","ROLLBACK","ROLLUP","ROW","ROWS","SELECT","SET","SMALLINT","SOME","START","SYNC","TABLE","TABLESAMPLE","THEN","TIME","TIMESTAMP","TIMESTAMPLOCALTZ","TO","TRAILING","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUE","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","VARCHAR","WHEN","WHERE","WINDOW","WITH","ADD","ANALYZE","ASC","AT","CASCADE","CHANGE","COMMENT","COMPUTE","DEFAULT","DESC","DISABLE","EVERY","EXECUTE","EXPLAIN","FILE","FILEFORMAT","FORMAT","FORMATTED","INDEX","KEY","KEYS","LIMIT","LOAD","LOCATION","OFFSET","OVERWRITE","PARTITIONED","PURGE","RELOAD","RENAME","REPLACE","REWRITE","ROLE","SCHEMA","SHOW","SORT","SORTED","STRING","TOUCH","USE","UNLOCK","VIEW"],operators:["BETWEEN","IS","LIKE","RLIKE","REGEXP","DIV","NOT","AND","OR","NOT","IN","EXISTS","JOIN","INNER","OUTER","LEFT","RIGHT","FULL","CROSS","SEMI","EXCEPT","INTERSECT","UNION","MINUS"],builtinFunctions:["ROUND","BROUND","FLOOR","CEIL","RAND","EXP","LN","LOG10","LOG2","LOG","POW","POWER","SQRT","BIN","HEX","UNHEX","CONV","ABS","PMOD","SIN","ASIN","COS","ACOS","TAN","ATAN","DEGREES","RADIANS","POSITIVE","NEGATIVE","SIGN","E","PI","FACTORIAL","CBRT","SHIFTLEFT","SHIFTRIGHT","GREATEST","LEAST","WIDTH_BUCKET","SIZE","MAP_KEYS","MAP_VALUES","ARRAY_CONTAINS","SORT_ARRAY","BINARY","CAST","FROM_UNIXTIME","UNIX_TIMESTAMP","TO_DATE","YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","SECOND","WEEKOFYEAR","EXTRACT","DATEDIFF","DATE_ADD","DATE_SUB","FROM_UTC_TIMESTAMP","TO_UTC_TIMESTAMP","CURRENT_DATE","CURRENT_TIMESTAMP","ADD_MONTHS","LAST_DAY","NEXT_DAY","TRUNC","MONTHS_BETWEEN","DATE_FORMAT","ASSERT_TRUE","COALESCE","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONTEXT_NGRAMS","CONCAT_WS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INSTR","LENGTH","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RPAD","RTRIM","SENTENCES","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TRANSLATE","TRIM","UNBASE64","UPPER","INITCAP","LEVENSHTEIN","SOUNDEX","MASK","MASK_FIRST_N","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","MASK_HASH","JAVA_METHOD","REFLECT","HASH","CURRENT_USER","LOGGED_IN_USER","CURRENT_DATABASE","MD5","SHA1","SHA","CRC32","SHA2","AES_ENCRYPT","VERSION","SURROGATE_KEY","COUNT","SUM","AVG","MIN","MAX","VARIANCE","VAR_POP","VAR_SAMP","STDDEV_POP","STDDEV_SAMP","COVAR_POP","COVAR_SAMP","CORR","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","HISTOGRAM_NUMERIC","COLLECT_SET","COLLECT_LIST","NTILE","EXPLODE","POSEXPLODE","INLINE","STACK","JSON_TUPLE","PARSE_URL_TUPLE"],builtinVariables:[],typeKeywords:["TINYINT","SMALLINT","INT","INTEGER","BIGINT","FLOAT","DOUBLE","DECIMAL","NUMERIC","TIMESTAMP","DATE","INTERVAL","STRING","VARCHAR","CHAR","BOOLEAN","BINARY","ARRAY","MAP","STRUCT","UNIONTYPE"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string_single"}],[/"/,{token:E.STRING,next:"@string_double"}]],string_single:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],string_double:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[[/DOUBLE\s+PRECISION\b/i,{token:E.TYPE}]]}};export{R as conf,A as language}; diff --git a/assets/hive.worker-de0221f4.js b/assets/hive.worker-de0221f4.js new file mode 100644 index 00000000..c1183fc1 --- /dev/null +++ b/assets/hive.worker-de0221f4.js @@ -0,0 +1,22 @@ +var Cl=Object.defineProperty;var fl=(rt,st,ct)=>st in rt?Cl(rt,st,{enumerable:!0,configurable:!0,writable:!0,value:ct}):rt[st]=ct;var E=(rt,st,ct)=>(fl(rt,typeof st!="symbol"?st+"":st,ct),ct),ph=(rt,st,ct)=>{if(!st.has(rt))throw TypeError("Cannot "+ct)};var x=(rt,st,ct)=>(ph(rt,st,"read from private field"),ct?ct.call(rt):st.get(rt)),$=(rt,st,ct)=>{if(st.has(rt))throw TypeError("Cannot add the same private member more than once");st instanceof WeakSet?st.add(rt):st.set(rt,ct)},X=(rt,st,ct,J0)=>(ph(rt,st,"write to private field"),J0?J0.call(rt,ct):st.set(rt,ct),ct);var Nh=(rt,st,ct)=>(ph(rt,st,"access private method"),ct);(function(){var U0,b1,F1,We,r0,S0,B1,$t,we,be,h0,ht,V1,a0,Y1,Vt,ce,G1,Fe,ue,o0,y0,Q1,c0,Be,X1,Z1,j1,yt,z1,$1,u0,J1,M0,w0,b0,P1,Ve,H1,v1,F0,q1,B0,de,ts,Ct,es,ss,ns,P,Rt,it,is,Ye,rs,hs,as,Ge,V0,Qe,os,cs,us,ls,Es,Rs,Ts,Ws,ds,Ks,As,ms,Cs,fs,_s,Ls,xs,ps,Ns,l0,Y0,G0,E0,Q0,X0,R0,Z0,Xe,Os,gs,ft,w,Is,ks,Ds,Us,Ss,ys,Ms,Ke,Ae,ws,bs,Fs,j0,Bs,Vs,T0,Ys,Oh,Gs,Qs,Xs,Zs,B,js,zs,$s,Js,Ps,Hs,vs,qs,Ze,tn,en,sn,nn,rn,hn,an,on,cn,un,ln,En,Rn,Tn,qi,Wn,dn,Kn,An,Jt,mn,Cn,fn,tr,z0,_n,kt,Ln,xn,pn,Nn,ot,On,gn,In,tt,le,Yt,kn,Dn,Un,Sn,yn,Mn,wn,bn,Mt,Fn,Bn,Vn,Yn,Gn,Qn,Pt,Xn;"use strict";class rt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` + +`+t.stack):t},0)}}emit(t){this.listeners.forEach(s=>{s(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const st=new rt;function ct(i){I4(i)||st.onUnexpectedError(i)}function J0(i){if(i instanceof Error){let{name:t,message:s}=i;const n=i.stacktrace||i.stack;return{$isError:!0,name:t,message:s,stack:n}}return i}const gh="Canceled";function I4(i){return i instanceof Error&&i.name===gh&&i.message===gh}function k4(i){const t=this;let s=!1,n;return function(){return s||(s=!0,n=i.apply(t,arguments)),n}}var er;(function(i){function t(f){return f&&typeof f=="object"&&typeof f[Symbol.iterator]=="function"}i.is=t;const s=Object.freeze([]);function n(){return s}i.empty=n;function*r(f){yield f}i.single=r;function h(f){return f||s}i.from=h;function a(f){return!f||f[Symbol.iterator]().next().done===!0}i.isEmpty=a;function o(f){return f[Symbol.iterator]().next().value}i.first=o;function c(f,m){for(const p of f)if(m(p))return!0;return!1}i.some=c;function u(f,m){for(const p of f)if(m(p))return p}i.find=u;function*W(f,m){for(const p of f)m(p)&&(yield p)}i.filter=W;function*d(f,m){let p=0;for(const O of f)yield m(O,p++)}i.map=d;function*K(...f){for(const m of f)for(const p of m)yield p}i.concat=K;function*C(f){for(const m of f)for(const p of m)yield p}i.concatNested=C;function L(f,m,p){let O=p;for(const M of f)O=m(O,M);return O}i.reduce=L;function*I(f,m,p=f.length){for(m<0&&(m+=f.length),p<0?p+=f.length:p>f.length&&(p=f.length);mO===M){const O=f[Symbol.iterator](),M=m[Symbol.iterator]();for(;;){const S=O.next(),D=M.next();if(S.done!==D.done)return!1;if(S.done)return!0;if(!p(S.value,D.value))return!1}}i.equals=U})(er||(er={}));function _l(i){return i}function Ll(i,t){}class D4 extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function Ih(i){if(er.is(i)){let t=[];for(const s of i)if(s)try{s.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new D4(t);return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function U4(...i){return kh(()=>Ih(i))}function kh(i){return{dispose:k4(()=>{i()})}}class P0{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{Ih(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?P0.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}P0.DISABLE_DISPOSED_WARNING=!1;class Dh{constructor(){this._store=new P0,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Dh.None=Object.freeze({dispose(){}});class H{constructor(t){this.element=t,this.next=H.Undefined,this.prev=H.Undefined}}H.Undefined=new H(void 0);class Uh{constructor(){this._first=H.Undefined,this._last=H.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===H.Undefined}clear(){let t=this._first;for(;t!==H.Undefined;){const s=t.next;t.prev=H.Undefined,t.next=H.Undefined,t=s}this._first=H.Undefined,this._last=H.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,s){const n=new H(t);if(this._first===H.Undefined)this._first=n,this._last=n;else if(s){const h=this._last;this._last=n,n.prev=h,h.next=n}else{const h=this._first;this._first=n,n.next=h,h.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==H.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==H.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==H.Undefined&&t.next!==H.Undefined){const s=t.prev;s.next=t.next,t.next.prev=s}else t.prev===H.Undefined&&t.next===H.Undefined?(this._first=H.Undefined,this._last=H.Undefined):t.next===H.Undefined?(this._last=this._last.prev,this._last.next=H.Undefined):t.prev===H.Undefined&&(this._first=this._first.next,this._first.prev=H.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==H.Undefined;)yield t.element,t=t.next}}var sr;const Zn="en";let nr=!1,ir=!1,rr=!1,H0,jn=Zn,S4,je;const dt=typeof self=="object"?self:typeof global=="object"?global:{};let _t;typeof dt.vscode<"u"&&typeof dt.vscode.process<"u"?_t=dt.vscode.process:typeof process<"u"&&(_t=process);const y4=typeof((sr=_t==null?void 0:_t.versions)===null||sr===void 0?void 0:sr.electron)=="string"&&(_t==null?void 0:_t.type)==="renderer";if(typeof navigator=="object"&&!y4)je=navigator.userAgent,nr=je.indexOf("Windows")>=0,ir=je.indexOf("Macintosh")>=0,(je.indexOf("Macintosh")>=0||je.indexOf("iPad")>=0||je.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,rr=je.indexOf("Linux")>=0,H0=navigator.language,jn=H0;else if(typeof _t=="object"){nr=_t.platform==="win32",ir=_t.platform==="darwin",rr=_t.platform==="linux",rr&&_t.env.SNAP&&_t.env.SNAP_REVISION,H0=Zn,jn=Zn;const i=_t.env.VSCODE_NLS_CONFIG;if(i)try{const t=JSON.parse(i),s=t.availableLanguages["*"];H0=t.locale,jn=s||Zn,S4=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const v0=nr,M4=ir,w4=jn,b4=H0;(()=>{if(typeof dt.postMessage=="function"&&!dt.importScripts){let i=[];dt.addEventListener("message",s=>{if(s.data&&s.data.vscodeScheduleAsyncWork)for(let n=0,r=i.length;n{const n=++t;i.push({id:n,callback:s}),dt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return i=>setTimeout(i)})();const F4=dt.performance&&typeof dt.performance.now=="function";class zn{constructor(t){this._highResolution=F4&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new zn(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?dt.performance.now():Date.now()}}var hr;(function(i){i.None=()=>Dh.None;function t(f){return(m,p=null,O)=>{let M=!1,S;return S=f(D=>{if(!M)return S?S.dispose():M=!0,m.call(p,D)},null,O),M&&S.dispose(),S}}i.once=t;function s(f,m){return c((p,O=null,M)=>f(S=>p.call(O,m(S)),null,M))}i.map=s;function n(f,m){return c((p,O=null,M)=>f(S=>{m(S),p.call(O,S)},null,M))}i.forEach=n;function r(f,m){return c((p,O=null,M)=>f(S=>m(S)&&p.call(O,S),null,M))}i.filter=r;function h(f){return f}i.signal=h;function a(...f){return(m,p=null,O)=>U4(...f.map(M=>M(S=>m.call(p,S),null,O)))}i.any=a;function o(f,m,p){let O=p;return s(f,M=>(O=m(O,M),O))}i.reduce=o;function c(f){let m;const p=new me({onFirstListenerAdd(){m=f(p.fire,p)},onLastListenerRemove(){m.dispose()}});return p.event}function u(f,m,p=100,O=!1,M){let S,D,Y,ut=0;const z=new me({leakWarningThreshold:M,onFirstListenerAdd(){S=f(b=>{ut++,D=m(D,b),O&&!Y&&(z.fire(D),D=void 0),clearTimeout(Y),Y=setTimeout(()=>{const Ht=D;D=void 0,Y=void 0,(!O||ut>1)&&z.fire(Ht),ut=0},p)})},onLastListenerRemove(){S.dispose()}});return z.event}i.debounce=u;function W(f,m=(p,O)=>p===O){let p=!0,O;return r(f,M=>{const S=p||!m(M,O);return p=!1,O=M,S})}i.latch=W;function d(f,m){return[i.filter(f,m),i.filter(f,p=>!m(p))]}i.split=d;function K(f,m=!1,p=[]){let O=p.slice(),M=f(Y=>{O?O.push(Y):D.fire(Y)});const S=()=>{O&&O.forEach(Y=>D.fire(Y)),O=null},D=new me({onFirstListenerAdd(){M||(M=f(Y=>D.fire(Y)))},onFirstListenerDidAdd(){O&&(m?setTimeout(S):S())},onLastListenerRemove(){M&&M.dispose(),M=null}});return D.event}i.buffer=K;class C{constructor(m){this.event=m}map(m){return new C(s(this.event,m))}forEach(m){return new C(n(this.event,m))}filter(m){return new C(r(this.event,m))}reduce(m,p){return new C(o(this.event,m,p))}latch(){return new C(W(this.event))}debounce(m,p=100,O=!1,M){return new C(u(this.event,m,p,O,M))}on(m,p,O){return this.event(m,p,O)}once(m,p,O){return t(this.event)(m,p,O)}}function L(f){return new C(f)}i.chain=L;function I(f,m,p=O=>O){const O=(...Y)=>D.fire(p(...Y)),M=()=>f.on(m,O),S=()=>f.removeListener(m,O),D=new me({onFirstListenerAdd:M,onLastListenerRemove:S});return D.event}i.fromNodeEventEmitter=I;function k(f,m,p=O=>O){const O=(...Y)=>D.fire(p(...Y)),M=()=>f.addEventListener(m,O),S=()=>f.removeEventListener(m,O),D=new me({onFirstListenerAdd:M,onLastListenerRemove:S});return D.event}i.fromDOMEventEmitter=k;function U(f){return new Promise(m=>t(f)(m))}i.toPromise=U})(hr||(hr={}));class $n{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${$n._idPool++}`}start(t){this._stopWatch=new zn(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}$n._idPool=0;class me{constructor(t){var s;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((s=this._options)===null||s===void 0)&&s._profName?new $n(this._options._profName):void 0}get event(){return this._event||(this._event=(t,s,n)=>{var r;this._listeners||(this._listeners=new Uh);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const a=this._listeners.push(s?[t,s]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,s);const o=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),c=kh(()=>{o&&o(),this._disposed||(a(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return n instanceof P0?n.add(c):Array.isArray(n)&&n.push(c),c}),this._event}fire(t){var s,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new Uh);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((s=this._perfMon)===null||s===void 0||s.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(a){ct(a)}}(n=this._perfMon)===null||n===void 0||n.stop()}}dispose(){var t,s,n,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(s=this._deliveryQueue)===null||s===void 0||s.clear(),(r=(n=this._options)===null||n===void 0?void 0:n.onLastListenerRemove)===null||r===void 0||r.call(n),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function B4(i){let t=[],s=Object.getPrototypeOf(i);for(;Object.prototype!==s;)t=t.concat(Object.getOwnPropertyNames(s)),s=Object.getPrototypeOf(s);return t}function ar(i){const t=[];for(const s of B4(i))typeof i[s]=="function"&&t.push(s);return t}function V4(i,t){const s=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let n={};for(const r of i)n[r]=s(r);return n}function Y4(i,t="Unreachable"){throw new Error(t)}function G4(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Q4(i){return i.split(/\r\n|\r|\n/)}function X4(i){for(let t=0,s=i.length;t=0;s--){const n=i.charCodeAt(s);if(n!==32&&n!==9)return s}return-1}function Sh(i){return i>=65&&i<=90}function or(i){return 55296<=i&&i<=56319}function j4(i){return 56320<=i&&i<=57343}function z4(i,t){return(i-55296<<10)+(t-56320)+65536}function $4(i,t,s){const n=i.charCodeAt(s);if(or(n)&&s+1{this._pendingReplies[n]={resolve:r,reject:h},this._send(new P4(this._workerId,n,t,s))})}listen(t,s){let n=null;const r=new me({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new H4(this._workerId,n,t,s))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new q4(this._workerId,n)),n=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let s=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let n=t.err;t.err.$isError&&(n=new Error,n.name=t.err.name,n.message=t.err.message,n.stack=t.err.stack),s.reject(n);return}s.resolve(t.res)}_handleRequestMessage(t){let s=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new yh(this._workerId,s,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=J0(r.detail)),this._send(new yh(this._workerId,s,void 0,J0(r)))})}_handleSubscribeEventMessage(t){const s=t.req,n=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new v4(this._workerId,s,r))});this._pendingEvents.set(s,n)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let s=[];if(t.type===0)for(let n=0;nfunction(){const o=Array.prototype.slice.call(arguments,0);return t(a,o)},r=a=>function(o){return s(a,o)};let h={};for(const a of i){if(wh(a)){h[a]=r(a);continue}if(Mh(a)){h[a]=s(a,void 0);continue}h[a]=n(a)}return h}class su{constructor(t,s){this._requestHandlerFactory=s,this._requestHandler=null,this._protocol=new tu({sendMessage:(n,r)=>{t(n,r)},handleMessage:(n,r)=>this._handleMessage(n,r),handleEvent:(n,r)=>this._handleEvent(n,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,s){if(t===J4)return this.initialize(s[0],s[1],s[2],s[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,s))}catch(n){return Promise.reject(n)}}_handleEvent(t,s){if(!this._requestHandler)throw new Error("Missing requestHandler");if(wh(t)){const n=this._requestHandler[t].call(this._requestHandler,s);if(typeof n!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return n}if(Mh(t)){const n=this._requestHandler[t];if(typeof n!="function")throw new Error(`Missing event ${t} on request handler.`);return n}throw new Error(`Malformed event name ${t}`)}initialize(t,s,n,r){this._protocol.setWorkerId(t);const o=eu(r,(c,u)=>this._protocol.sendMessage(c,u),(c,u)=>this._protocol.listen(c,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(o),Promise.resolve(ar(this._requestHandler))):(s&&(typeof s.baseUrl<"u"&&delete s.baseUrl,typeof s.paths<"u"&&typeof s.paths.vs<"u"&&delete s.paths.vs,typeof s.trustedTypesPolicy!==void 0&&delete s.trustedTypesPolicy,s.catchError=!0,dt.require.config(s)),new Promise((c,u)=>{const W=dt.require;W([n],d=>{if(this._requestHandler=d.create(o),!this._requestHandler){u(new Error("No RequestHandler!"));return}c(ar(this._requestHandler))},u)}))}}class Ce{constructor(t,s,n,r){this.originalStart=t,this.originalLength=s,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function bh(i,t){return(t<<5)-t+i|0}function nu(i,t){t=bh(149417,t);for(let s=0,n=i.length;s0||this.m_modifiedCount>0)&&this.m_changes.push(new Ce(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,s){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,s),this.m_originalCount++}AddModifiedElement(t,s){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,s),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class fe{constructor(t,s,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=t,this._modifiedSequence=s;const[r,h,a]=fe._getElements(t),[o,c,u]=fe._getElements(s);this._hasStrings=a&&u,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=o,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const s=t.getElements();if(fe._isStringArray(s)){const n=new Int32Array(s.length);for(let r=0,h=s.length;r=t&&r>=n&&this.ElementsAreEqual(s,r);)s--,r--;if(t>s||n>r){let d;return n<=r?(K0.Assert(t===s+1,"originalStart should only be one more than originalEnd"),d=[new Ce(t,0,n,r-n+1)]):t<=s?(K0.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[new Ce(t,s-t+1,n,0)]):(K0.Assert(t===s+1,"originalStart should only be one more than originalEnd"),K0.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const a=[0],o=[0],c=this.ComputeRecursionPoint(t,s,n,r,a,o,h),u=a[0],W=o[0];if(c!==null)return c;if(!h[0]){const d=this.ComputeDiffRecursive(t,u,n,W,h);let K=[];return h[0]?K=[new Ce(u+1,s-(u+1)+1,W+1,r-(W+1)+1)]:K=this.ComputeDiffRecursive(u+1,s,W+1,r,h),this.ConcatenateChanges(d,K)}return[new Ce(t,s-t+1,n,r-n+1)]}WALKTRACE(t,s,n,r,h,a,o,c,u,W,d,K,C,L,I,k,U,f){let m=null,p=null,O=new Bh,M=s,S=n,D=C[0]-k[0]-r,Y=-1073741824,ut=this.m_forwardHistory.length-1;do{const z=D+t;z===M||z=0&&(u=this.m_forwardHistory[ut],t=u[0],M=1,S=u.length-1)}while(--ut>=-1);if(m=O.getReverseChanges(),f[0]){let z=C[0]+1,b=k[0]+1;if(m!==null&&m.length>0){const Ht=m[m.length-1];z=Math.max(z,Ht.getOriginalEnd()),b=Math.max(b,Ht.getModifiedEnd())}p=[new Ce(z,K-z+1,b,I-b+1)]}else{O=new Bh,M=a,S=o,D=C[0]-k[0]-c,Y=1073741824,ut=U?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const z=D+h;z===M||z=W[z+1]?(d=W[z+1]-1,L=d-D-c,d>Y&&O.MarkNextChange(),Y=d+1,O.AddOriginalElement(d+1,L+1),D=z+1-h):(d=W[z-1],L=d-D-c,d>Y&&O.MarkNextChange(),Y=d,O.AddModifiedElement(d+1,L+1),D=z-1-h),ut>=0&&(W=this.m_reverseHistory[ut],h=W[0],M=1,S=W.length-1)}while(--ut>=-1);p=O.getChanges()}return this.ConcatenateChanges(m,p)}ComputeRecursionPoint(t,s,n,r,h,a,o){let c=0,u=0,W=0,d=0,K=0,C=0;t--,n--,h[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const L=s-t+(r-n),I=L+1,k=new Int32Array(I),U=new Int32Array(I),f=r-n,m=s-t,p=t-n,O=s-r,S=(m-f)%2===0;k[f]=t,U[m]=s,o[0]=!1;for(let D=1;D<=L/2+1;D++){let Y=0,ut=0;W=this.ClipDiagonalBound(f-D,D,f,I),d=this.ClipDiagonalBound(f+D,D,f,I);for(let b=W;b<=d;b+=2){b===W||bY+ut&&(Y=c,ut=u),!S&&Math.abs(b-m)<=D-1&&c>=U[b])return h[0]=c,a[0]=u,Ht<=U[b]&&1447>0&&D<=1447+1?this.WALKTRACE(f,W,d,p,m,K,C,O,k,U,c,s,h,u,r,a,S,o):null}const z=(Y-t+(ut-n)-D)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(Y,z))return o[0]=!0,h[0]=Y,a[0]=ut,z>0&&1447>0&&D<=1447+1?this.WALKTRACE(f,W,d,p,m,K,C,O,k,U,c,s,h,u,r,a,S,o):(t++,n++,[new Ce(t,s-t+1,n,r-n+1)]);K=this.ClipDiagonalBound(m-D,D,m,I),C=this.ClipDiagonalBound(m+D,D,m,I);for(let b=K;b<=C;b+=2){b===K||b=U[b+1]?c=U[b+1]-1:c=U[b-1],u=c-(b-m)-O;const Ht=c;for(;c>t&&u>n&&this.ElementsAreEqual(c,u);)c--,u--;if(U[b]=c,S&&Math.abs(b-f)<=D&&c<=k[b])return h[0]=c,a[0]=u,Ht>=k[b]&&1447>0&&D<=1447+1?this.WALKTRACE(f,W,d,p,m,K,C,O,k,U,c,s,h,u,r,a,S,o):null}if(D<=1447){let b=new Int32Array(d-W+2);b[0]=f-W+1,A0.Copy2(k,W,b,1,d-W+1),this.m_forwardHistory.push(b),b=new Int32Array(C-K+2),b[0]=m-K+1,A0.Copy2(U,K,b,1,C-K+1),this.m_reverseHistory.push(b)}}return this.WALKTRACE(f,W,d,p,m,K,C,O,k,U,c,s,h,u,r,a,S,o)}PrettifyChanges(t){for(let s=0;s0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;s--){const n=t[s];let r=0,h=0;if(s>0){const d=t[s-1];r=d.originalStart+d.originalLength,h=d.modifiedStart+d.modifiedLength}const a=n.originalLength>0,o=n.modifiedLength>0;let c=0,u=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let d=1;;d++){const K=n.originalStart-d,C=n.modifiedStart-d;if(Ku&&(u=I,c=d)}n.originalStart-=c,n.modifiedStart-=c;const W=[null];if(s>0&&this.ChangesOverlap(t[s-1],t[s],W)){t[s-1]=W[0],t.splice(s,1),s++;continue}}if(this._hasStrings)for(let s=1,n=t.length;s0&&C>c&&(c=C,u=d,W=K)}return c>0?[u,W]:null}_contiguousSequenceScore(t,s,n){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,s){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(s>0){const n=t+s;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,s){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(s>0){const n=t+s;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(t,s,n,r){const h=this._OriginalRegionIsBoundary(t,s)?1:0,a=this._ModifiedRegionIsBoundary(n,r)?1:0;return h+a}ConcatenateChanges(t,s){let n=[];if(t.length===0||s.length===0)return s.length>0?s:t;if(this.ChangesOverlap(t[t.length-1],s[0],n)){const r=new Array(t.length+s.length-1);return A0.Copy(t,0,r,0,t.length-1),r[t.length-1]=n[0],A0.Copy(s,1,r,t.length,s.length-1),r}else{const r=new Array(t.length+s.length);return A0.Copy(t,0,r,0,t.length),A0.Copy(s,0,r,t.length,s.length),r}}ChangesOverlap(t,s,n){if(K0.Assert(t.originalStart<=s.originalStart,"Left change is not less than or equal to right change"),K0.Assert(t.modifiedStart<=s.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=s.originalStart||t.modifiedStart+t.modifiedLength>=s.modifiedStart){const r=t.originalStart;let h=t.originalLength;const a=t.modifiedStart;let o=t.modifiedLength;return t.originalStart+t.originalLength>=s.originalStart&&(h=s.originalStart+s.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=s.modifiedStart&&(o=s.modifiedStart+s.modifiedLength-t.modifiedStart),n[0]=new Ce(r,h,a,o),!0}else return n[0]=null,!1}ClipDiagonalBound(t,s,n,r){if(t>=0&&t=hu&&i<=ou||i>=au&&i<=cu}function Jn(i,t,s,n){let r="",h=0,a=-1,o=0,c=0;for(let u=0;u<=i.length;++u){if(u2){const W=r.lastIndexOf(s);W===-1?(r="",h=0):(r=r.slice(0,W),h=r.length-1-r.lastIndexOf(s)),a=u,o=0;continue}else if(r.length!==0){r="",h=0,a=u,o=0;continue}}t&&(r+=r.length>0?`${s}..`:"..",h=2)}else r.length>0?r+=`${s}${i.slice(a+1,u)}`:r=i.slice(a+1,u),h=u-a-1;a=u,o=0}else c===_e&&o!==-1?++o:o=-1}return r}function Yh(i,t){if(t===null||typeof t!="object")throw new Vh("pathObject","Object",t);const s=t.dir||t.root,n=t.base||`${t.name||""}${t.ext||""}`;return s?s===t.root?`${s}${n}`:`${s}${i}${n}`:n}const Lt={resolve(...i){let t="",s="",n=!1;for(let r=i.length-1;r>=-1;r--){let h;if(r>=0){if(h=i[r],at(h,"path"),h.length===0)continue}else t.length===0?h=cr():(h=ru[`=${t}`]||cr(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===Ot)&&(h=`${t}\\`));const a=h.length;let o=0,c="",u=!1;const W=h.charCodeAt(0);if(a===1)F(W)&&(o=1,u=!0);else if(F(W))if(u=!0,F(h.charCodeAt(1))){let d=2,K=d;for(;d2&&F(h.charCodeAt(2))&&(u=!0,o=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(n){if(t.length>0)break}else if(s=`${h.slice(o)}\\${s}`,n=u,u&&t.length>0)break}return s=Jn(s,!n,"\\",F),n?`${t}\\${s}`:`${t}${s}`||"."},normalize(i){at(i,"path");const t=i.length;if(t===0)return".";let s=0,n,r=!1;const h=i.charCodeAt(0);if(t===1)return ur(h)?"\\":i;if(F(h))if(r=!0,F(i.charCodeAt(1))){let o=2,c=o;for(;o2&&F(i.charCodeAt(2))&&(r=!0,s=3));let a=s0&&F(i.charCodeAt(t-1))&&(a+="\\"),n===void 0?r?`\\${a}`:a:r?`${n}\\${a}`:`${n}${a}`},isAbsolute(i){at(i,"path");const t=i.length;if(t===0)return!1;const s=i.charCodeAt(0);return F(s)||t>2&&xe(s)&&i.charCodeAt(1)===Le&&F(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let t,s;for(let h=0;h0&&(t===void 0?t=s=a:t+=`\\${a}`)}if(t===void 0)return".";let n=!0,r=0;if(typeof s=="string"&&F(s.charCodeAt(0))){++r;const h=s.length;h>1&&F(s.charCodeAt(1))&&(++r,h>2&&(F(s.charCodeAt(2))?++r:n=!1))}if(n){for(;r=2&&(t=`\\${t.slice(r)}`)}return Lt.normalize(t)},relative(i,t){if(at(i,"from"),at(t,"to"),i===t)return"";const s=Lt.resolve(i),n=Lt.resolve(t);if(s===n||(i=s.toLowerCase(),t=n.toLowerCase(),i===t))return"";let r=0;for(;rr&&i.charCodeAt(h-1)===Ot;)h--;const a=h-r;let o=0;for(;oo&&t.charCodeAt(c-1)===Ot;)c--;const u=c-o,W=aW){if(t.charCodeAt(o+K)===Ot)return n.slice(o+K+1);if(K===2)return n.slice(o+K)}a>W&&(i.charCodeAt(r+K)===Ot?d=K:K===2&&(d=3)),d===-1&&(d=0)}let C="";for(K=r+d+1;K<=h;++K)(K===h||i.charCodeAt(K)===Ot)&&(C+=C.length===0?"..":"\\..");return o+=d,C.length>0?`${C}${n.slice(o,c)}`:(n.charCodeAt(o)===Ot&&++o,n.slice(o,c))},toNamespacedPath(i){if(typeof i!="string")return i;if(i.length===0)return"";const t=Lt.resolve(i);if(t.length<=2)return i;if(t.charCodeAt(0)===Ot){if(t.charCodeAt(1)===Ot){const s=t.charCodeAt(2);if(s!==uu&&s!==_e)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(xe(t.charCodeAt(0))&&t.charCodeAt(1)===Le&&t.charCodeAt(2)===Ot)return`\\\\?\\${t}`;return i},dirname(i){at(i,"path");const t=i.length;if(t===0)return".";let s=-1,n=0;const r=i.charCodeAt(0);if(t===1)return F(r)?i:".";if(F(r)){if(s=n=1,F(i.charCodeAt(1))){let o=2,c=o;for(;o2&&F(i.charCodeAt(2))?3:2,n=s);let h=-1,a=!0;for(let o=t-1;o>=n;--o)if(F(i.charCodeAt(o))){if(!a){h=o;break}}else a=!1;if(h===-1){if(s===-1)return".";h=s}return i.slice(0,h)},basename(i,t){t!==void 0&&at(t,"ext"),at(i,"path");let s=0,n=-1,r=!0,h;if(i.length>=2&&xe(i.charCodeAt(0))&&i.charCodeAt(1)===Le&&(s=2),t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let a=t.length-1,o=-1;for(h=i.length-1;h>=s;--h){const c=i.charCodeAt(h);if(F(c)){if(!r){s=h+1;break}}else o===-1&&(r=!1,o=h+1),a>=0&&(c===t.charCodeAt(a)?--a===-1&&(n=h):(a=-1,n=o))}return s===n?n=o:n===-1&&(n=i.length),i.slice(s,n)}for(h=i.length-1;h>=s;--h)if(F(i.charCodeAt(h))){if(!r){s=h+1;break}}else n===-1&&(r=!1,n=h+1);return n===-1?"":i.slice(s,n)},extname(i){at(i,"path");let t=0,s=-1,n=0,r=-1,h=!0,a=0;i.length>=2&&i.charCodeAt(1)===Le&&xe(i.charCodeAt(0))&&(t=n=2);for(let o=i.length-1;o>=t;--o){const c=i.charCodeAt(o);if(F(c)){if(!h){n=o+1;break}continue}r===-1&&(h=!1,r=o+1),c===_e?s===-1?s=o:a!==1&&(a=1):s!==-1&&(a=-1)}return s===-1||r===-1||a===0||a===1&&s===r-1&&s===n+1?"":i.slice(s,r)},format:Yh.bind(null,"\\"),parse(i){at(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const s=i.length;let n=0,r=i.charCodeAt(0);if(s===1)return F(r)?(t.root=t.dir=i,t):(t.base=t.name=i,t);if(F(r)){if(n=1,F(i.charCodeAt(1))){let d=2,K=d;for(;d0&&(t.root=i.slice(0,n));let h=-1,a=n,o=-1,c=!0,u=i.length-1,W=0;for(;u>=n;--u){if(r=i.charCodeAt(u),F(r)){if(!c){a=u+1;break}continue}o===-1&&(c=!1,o=u+1),r===_e?h===-1?h=u:W!==1&&(W=1):h!==-1&&(W=-1)}return o!==-1&&(h===-1||W===0||W===1&&h===o-1&&h===a+1?t.base=t.name=i.slice(a,o):(t.name=i.slice(a,h),t.base=i.slice(a,o),t.ext=i.slice(h,o))),a>0&&a!==n?t.dir=i.slice(0,a-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},gt={resolve(...i){let t="",s=!1;for(let n=i.length-1;n>=-1&&!s;n--){const r=n>=0?i[n]:cr();at(r,"path"),r.length!==0&&(t=`${r}/${t}`,s=r.charCodeAt(0)===Tt)}return t=Jn(t,!s,"/",ur),s?`/${t}`:t.length>0?t:"."},normalize(i){if(at(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===Tt,s=i.charCodeAt(i.length-1)===Tt;return i=Jn(i,!t,"/",ur),i.length===0?t?"/":s?"./":".":(s&&(i+="/"),t?`/${i}`:i)},isAbsolute(i){return at(i,"path"),i.length>0&&i.charCodeAt(0)===Tt},join(...i){if(i.length===0)return".";let t;for(let s=0;s0&&(t===void 0?t=n:t+=`/${n}`)}return t===void 0?".":gt.normalize(t)},relative(i,t){if(at(i,"from"),at(t,"to"),i===t||(i=gt.resolve(i),t=gt.resolve(t),i===t))return"";const s=1,n=i.length,r=n-s,h=1,a=t.length-h,o=ro){if(t.charCodeAt(h+u)===Tt)return t.slice(h+u+1);if(u===0)return t.slice(h+u)}else r>o&&(i.charCodeAt(s+u)===Tt?c=u:u===0&&(c=0));let W="";for(u=s+c+1;u<=n;++u)(u===n||i.charCodeAt(u)===Tt)&&(W+=W.length===0?"..":"/..");return`${W}${t.slice(h+c)}`},toNamespacedPath(i){return i},dirname(i){if(at(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===Tt;let s=-1,n=!0;for(let r=i.length-1;r>=1;--r)if(i.charCodeAt(r)===Tt){if(!n){s=r;break}}else n=!1;return s===-1?t?"/":".":t&&s===1?"//":i.slice(0,s)},basename(i,t){t!==void 0&&at(t,"ext"),at(i,"path");let s=0,n=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let a=t.length-1,o=-1;for(h=i.length-1;h>=0;--h){const c=i.charCodeAt(h);if(c===Tt){if(!r){s=h+1;break}}else o===-1&&(r=!1,o=h+1),a>=0&&(c===t.charCodeAt(a)?--a===-1&&(n=h):(a=-1,n=o))}return s===n?n=o:n===-1&&(n=i.length),i.slice(s,n)}for(h=i.length-1;h>=0;--h)if(i.charCodeAt(h)===Tt){if(!r){s=h+1;break}}else n===-1&&(r=!1,n=h+1);return n===-1?"":i.slice(s,n)},extname(i){at(i,"path");let t=-1,s=0,n=-1,r=!0,h=0;for(let a=i.length-1;a>=0;--a){const o=i.charCodeAt(a);if(o===Tt){if(!r){s=a+1;break}continue}n===-1&&(r=!1,n=a+1),o===_e?t===-1?t=a:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||n===-1||h===0||h===1&&t===n-1&&t===s+1?"":i.slice(t,n)},format:Yh.bind(null,"/"),parse(i){at(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const s=i.charCodeAt(0)===Tt;let n;s?(t.root="/",n=1):n=0;let r=-1,h=0,a=-1,o=!0,c=i.length-1,u=0;for(;c>=n;--c){const W=i.charCodeAt(c);if(W===Tt){if(!o){h=c+1;break}continue}a===-1&&(o=!1,a=c+1),W===_e?r===-1?r=c:u!==1&&(u=1):r!==-1&&(u=-1)}if(a!==-1){const W=h===0&&s?1:h;r===-1||u===0||u===1&&r===a-1&&r===h+1?t.base=t.name=i.slice(W,a):(t.name=i.slice(W,r),t.base=i.slice(W,a),t.ext=i.slice(r,a))}return h>0?t.dir=i.slice(0,h-1):s&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};gt.win32=Lt.win32=Lt,gt.posix=Lt.posix=gt,$e==="win32"?Lt.normalize:gt.normalize,$e==="win32"?Lt.resolve:gt.resolve,$e==="win32"?Lt.relative:gt.relative,$e==="win32"?Lt.dirname:gt.dirname,$e==="win32"?Lt.basename:gt.basename,$e==="win32"?Lt.extname:gt.extname,$e==="win32"?Lt.sep:gt.sep;const lu=/^\w[\w\d+.-]*$/,Eu=/^\//,Ru=/^\/\//;function Gh(i,t){if(!i.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!lu.test(i.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(i.path){if(i.authority){if(!Eu.test(i.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Ru.test(i.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Tu(i,t){return!i&&!t?"file":i}function Wu(i,t){switch(i){case"https":case"http":case"file":t?t[0]!==Qt&&(t=Qt+t):t=Qt;break}return t}const v="",Qt="/",du=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Je{constructor(t,s,n,r,h,a=!1){typeof t=="object"?(this.scheme=t.scheme||v,this.authority=t.authority||v,this.path=t.path||v,this.query=t.query||v,this.fragment=t.fragment||v):(this.scheme=Tu(t,a),this.authority=s||v,this.path=Wu(this.scheme,n||v),this.query=r||v,this.fragment=h||v,Gh(this,a))}static isUri(t){return t instanceof Je?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return lr(this,!1)}with(t){if(!t)return this;let{scheme:s,authority:n,path:r,query:h,fragment:a}=t;return s===void 0?s=this.scheme:s===null&&(s=v),n===void 0?n=this.authority:n===null&&(n=v),r===void 0?r=this.path:r===null&&(r=v),h===void 0?h=this.query:h===null&&(h=v),a===void 0?a=this.fragment:a===null&&(a=v),s===this.scheme&&n===this.authority&&r===this.path&&h===this.query&&a===this.fragment?this:new C0(s,n,r,h,a)}static parse(t,s=!1){const n=du.exec(t);return n?new C0(n[2]||v,Pn(n[4]||v),Pn(n[5]||v),Pn(n[7]||v),Pn(n[9]||v),s):new C0(v,v,v,v,v)}static file(t){let s=v;if(v0&&(t=t.replace(/\\/g,Qt)),t[0]===Qt&&t[1]===Qt){const n=t.indexOf(Qt,2);n===-1?(s=t.substring(2),t=Qt):(s=t.substring(2,n),t=t.substring(n)||Qt)}return new C0("file",s,t,v,v)}static from(t){const s=new C0(t.scheme,t.authority,t.path,t.query,t.fragment);return Gh(s,!0),s}static joinPath(t,...s){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return v0&&t.scheme==="file"?n=Je.file(Lt.join(lr(t,!0),...s)).path:n=gt.join(t.path,...s),t.with({path:n})}toString(t=!1){return Er(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof Je)return t;{const s=new C0(t);return s._formatted=t.external,s._fsPath=t._sep===Qh?t.fsPath:null,s}}else return t}}const Qh=v0?1:void 0;class C0 extends Je{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=lr(this,!1)),this._fsPath}toString(t=!1){return t?Er(this,!0):(this._formatted||(this._formatted=Er(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Qh),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const Xh={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Zh(i,t){let s,n=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)n!==-1&&(s+=encodeURIComponent(i.substring(n,r)),n=-1),s!==void 0&&(s+=i.charAt(r));else{s===void 0&&(s=i.substr(0,r));const a=Xh[h];a!==void 0?(n!==-1&&(s+=encodeURIComponent(i.substring(n,r)),n=-1),s+=a):n===-1&&(n=r)}}return n!==-1&&(s+=encodeURIComponent(i.substring(n))),s!==void 0?s:i}function Ku(i){let t;for(let s=0;s1&&i.scheme==="file"?s=`//${i.authority}${i.path}`:i.path.charCodeAt(0)===47&&(i.path.charCodeAt(1)>=65&&i.path.charCodeAt(1)<=90||i.path.charCodeAt(1)>=97&&i.path.charCodeAt(1)<=122)&&i.path.charCodeAt(2)===58?t?s=i.path.substr(1):s=i.path[1].toLowerCase()+i.path.substr(2):s=i.path,v0&&(s=s.replace(/\//g,"\\")),s}function Er(i,t){const s=t?Ku:Zh;let n="",{scheme:r,authority:h,path:a,query:o,fragment:c}=i;if(r&&(n+=r,n+=":"),(h||r==="file")&&(n+=Qt,n+=Qt),h){let u=h.indexOf("@");if(u!==-1){const W=h.substr(0,u);h=h.substr(u+1),u=W.indexOf(":"),u===-1?n+=s(W,!1):(n+=s(W.substr(0,u),!1),n+=":",n+=s(W.substr(u+1),!1)),n+="@"}h=h.toLowerCase(),u=h.indexOf(":"),u===-1?n+=s(h,!1):(n+=s(h.substr(0,u),!1),n+=h.substr(u))}if(a){if(a.length>=3&&a.charCodeAt(0)===47&&a.charCodeAt(2)===58){const u=a.charCodeAt(1);u>=65&&u<=90&&(a=`/${String.fromCharCode(u+32)}:${a.substr(3)}`)}else if(a.length>=2&&a.charCodeAt(1)===58){const u=a.charCodeAt(0);u>=65&&u<=90&&(a=`${String.fromCharCode(u+32)}:${a.substr(2)}`)}n+=s(a,!0)}return o&&(n+="?",n+=s(o,!1)),c&&(n+="#",n+=t?c:Zh(c,!1)),n}function jh(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+jh(i.substr(3)):i}}const zh=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Pn(i){return i.match(zh)?i.replace(zh,t=>jh(t)):i}class It{constructor(t,s){this.lineNumber=t,this.column=s}with(t=this.lineNumber,s=this.column){return t===this.lineNumber&&s===this.column?this:new It(t,s)}delta(t=0,s=0){return this.with(this.lineNumber+t,this.column+s)}equals(t){return It.equals(this,t)}static equals(t,s){return!t&&!s?!0:!!t&&!!s&&t.lineNumber===s.lineNumber&&t.column===s.column}isBefore(t){return It.isBefore(this,t)}static isBefore(t,s){return t.lineNumbern||t===n&&s>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=t,this.endColumn=s):(this.startLineNumber=t,this.startColumn=s,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return et.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return et.containsPosition(this,t)}static containsPosition(t,s){return!(s.lineNumbert.endLineNumber||s.lineNumber===t.startLineNumber&&s.columnt.endColumn)}static strictContainsPosition(t,s){return!(s.lineNumbert.endLineNumber||s.lineNumber===t.startLineNumber&&s.column<=t.startColumn||s.lineNumber===t.endLineNumber&&s.column>=t.endColumn)}containsRange(t){return et.containsRange(this,t)}static containsRange(t,s){return!(s.startLineNumbert.endLineNumber||s.endLineNumber>t.endLineNumber||s.startLineNumber===t.startLineNumber&&s.startColumnt.endColumn)}strictContainsRange(t){return et.strictContainsRange(this,t)}static strictContainsRange(t,s){return!(s.startLineNumbert.endLineNumber||s.endLineNumber>t.endLineNumber||s.startLineNumber===t.startLineNumber&&s.startColumn<=t.startColumn||s.endLineNumber===t.endLineNumber&&s.endColumn>=t.endColumn)}plusRange(t){return et.plusRange(this,t)}static plusRange(t,s){let n,r,h,a;return s.startLineNumbert.endLineNumber?(h=s.endLineNumber,a=s.endColumn):s.endLineNumber===t.endLineNumber?(h=s.endLineNumber,a=Math.max(s.endColumn,t.endColumn)):(h=t.endLineNumber,a=t.endColumn),new et(n,r,h,a)}intersectRanges(t){return et.intersectRanges(this,t)}static intersectRanges(t,s){let n=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,a=t.endColumn,o=s.startLineNumber,c=s.startColumn,u=s.endLineNumber,W=s.endColumn;return nu?(h=u,a=W):h===u&&(a=Math.min(a,W)),n>h||n===h&&r>a?null:new et(n,r,h,a)}equalsRange(t){return et.equalsRange(this,t)}static equalsRange(t,s){return!!t&&!!s&&t.startLineNumber===s.startLineNumber&&t.startColumn===s.startColumn&&t.endLineNumber===s.endLineNumber&&t.endColumn===s.endColumn}getEndPosition(){return et.getEndPosition(this)}static getEndPosition(t){return new It(t.endLineNumber,t.endColumn)}getStartPosition(){return et.getStartPosition(this)}static getStartPosition(t){return new It(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,s){return new et(this.startLineNumber,this.startColumn,t,s)}setStartPosition(t,s){return new et(t,s,this.endLineNumber,this.endColumn)}collapseToStart(){return et.collapseToStart(this)}static collapseToStart(t){return new et(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,s=t){return new et(t.lineNumber,t.column,s.lineNumber,s.column)}static lift(t){return t?new et(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,s){return!(t.endLineNumbert.startLineNumber}}const Au=3;function $h(i,t,s,n){return new fe(i,t,s).ComputeDiff(n)}class Jh{constructor(t){const s=[],n=[];for(let r=0,h=t.length;r0&&s.originalLength<20&&s.modifiedLength>0&&s.modifiedLength<20&&h()){const C=n.createCharSequence(t,s.originalStart,s.originalStart+s.originalLength-1),L=r.createCharSequence(t,s.modifiedStart,s.modifiedStart+s.modifiedLength-1);let I=$h(C,L,h,!0).changes;o&&(I=Cu(I)),K=[];for(let k=0,U=I.length;k1&&I>1;){const k=K.charCodeAt(L-2),U=C.charCodeAt(I-2);if(k!==U)break;L--,I--}(L>1||I>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,L,a+1,1,I)}{let L=Tr(K,1),I=Tr(C,1);const k=K.length+1,U=C.length+1;for(;L!0;const t=Date.now();return()=>Date.now()-t255?255:i|0}function f0(i){return i<0?0:i>4294967295?4294967295:i|0}class _u{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,s){t=f0(t);const n=this.values,r=this.prefixSum,h=s.length;return h===0?!1:(this.values=new Uint32Array(n.length+h),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t),t+h),this.values.set(s,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,s){return t=f0(t),s=f0(s),this.values[t]===s?!1:(this.values[t]=s,t-1=n.length)return!1;let h=n.length-t;return s>=h&&(s=h),s===0?!1:(this.values=new Uint32Array(n.length-s),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t+s),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=f0(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let s=this.prefixSumValidIndex[0]+1;s===0&&(this.prefixSum[0]=this.values[0],s++),t>=this.values.length&&(t=this.values.length-1);for(let n=s;n<=t;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let s=0,n=this.values.length-1,r=0,h=0,a=0;for(;s<=n;)if(r=s+(n-s)/2|0,h=this.prefixSum[r],a=h-this.values[r],t=h)s=r+1;else break;return new Lu(r,t-a)}}class Lu{constructor(t,s){this.index=t,this.remainder=s,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=s}}class xu{constructor(t,s,n,r){this._uri=t,this._lines=s,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const s=t.changes;for(const n of s)this._acceptDeleteRange(n.range),this._acceptInsertText(new It(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,s=this._lines.length,n=new Uint32Array(s);for(let r=0;r/?";function Nu(i=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const s of pu)i.indexOf(s)>=0||(t+="\\"+s);return t+="\\s]+)",new RegExp(t,"g")}const Ou=Nu();function gu(i){let t=Ou;if(i&&i instanceof RegExp)if(i.global)t=i;else{let s="g";i.ignoreCase&&(s+="i"),i.multiline&&(s+="m"),i.unicode&&(s+="u"),t=new RegExp(i.source,s)}return t.lastIndex=0,t}const Iu={maxLen:1e3,windowSize:15,timeBudget:150};function vh(i,t,s,n,r=Iu){if(s.length>r.maxLen){let u=i-r.maxLen/2;return u<0?u=0:n+=u,s=s.substring(u,i+r.maxLen/2),vh(i,t,s,n,r)}const h=Date.now(),a=i-1-n;let o=-1,c=null;for(let u=1;!(Date.now()-h>=r.timeBudget);u++){const W=a-r.windowSize*u;t.lastIndex=Math.max(0,W);const d=ku(t,s,a,o);if(!d&&c||(c=d,W<=0))break;o=W}if(c){let u={word:c[0],startColumn:n+1+c.index,endColumn:n+1+c.index+c[0].length};return t.lastIndex=0,u}return null}function ku(i,t,s,n){let r;for(;r=i.exec(t);){const h=r.index||0;if(h<=s&&i.lastIndex>=s)return r;if(n>0&&h>n)return null}return null}class Wr{constructor(t){let s=Hh(t);this._defaultValue=s,this._asciiMap=Wr._createAsciiMap(s),this._map=new Map}static _createAsciiMap(t){let s=new Uint8Array(256);for(let n=0;n<256;n++)s[n]=t;return s}set(t,s){let n=Hh(s);t>=0&&t<256?this._asciiMap[t]=n:this._map.set(t,n)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class Du{constructor(t,s,n){const r=new Uint8Array(t*s);for(let h=0,a=t*s;hs&&(s=c),o>n&&(n=o),u>n&&(n=u)}s++,n++;let r=new Du(n,s,0);for(let h=0,a=t.length;h=this._maxCharCode?0:this._states.get(t,s)}}let dr=null;function Su(){return dr===null&&(dr=new Uu([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),dr}let e1=null;function yu(){if(e1===null){e1=new Wr(0);const i=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let s=0;sr);if(r>0){const o=s.charCodeAt(r-1),c=s.charCodeAt(a);(o===40&&c===41||o===91&&c===93||o===123&&c===125)&&a--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:a+2},url:s.substring(r,a+1)}}static computeLinks(t,s=Su()){const n=yu();let r=[];for(let h=1,a=t.getLineCount();h<=a;h++){const o=t.getLineContent(h),c=o.length;let u=0,W=0,d=0,K=1,C=!1,L=!1,I=!1,k=!1;for(;u=0?(r+=n?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}Kr.INSTANCE=new Kr;const qh=Object.freeze(function(i,t){const s=setTimeout(i.bind(t),0);return{dispose(){clearTimeout(s)}}});var vn;(function(i){function t(s){return s===i.None||s===i.Cancelled||s instanceof qn?!0:!s||typeof s!="object"?!1:typeof s.isCancellationRequested=="boolean"&&typeof s.onCancellationRequested=="function"}i.isCancellationToken=t,i.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:hr.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qh})})(vn||(vn={}));class qn{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qh:(this._emitter||(this._emitter=new me),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class wu{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new qn),this._token}cancel(){this._token?this._token instanceof qn&&this._token.cancel():this._token=vn.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof qn&&this._token.dispose():this._token=vn.None}}class Ar{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,s){this._keyCodeToStr[t]=s,this._strToKeyCode[s.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const ti=new Ar,mr=new Ar,Cr=new Ar,bu=new Array(230),Fu=Object.create(null),Bu=Object.create(null);(function(){const i="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",i,i],[0,1,1,"Hyper",0,i,0,i,i,i],[0,1,2,"Super",0,i,0,i,i,i],[0,1,3,"Fn",0,i,0,i,i,i],[0,1,4,"FnLock",0,i,0,i,i,i],[0,1,5,"Suspend",0,i,0,i,i,i],[0,1,6,"Resume",0,i,0,i,i,i],[0,1,7,"Turbo",0,i,0,i,i,i],[0,1,8,"Sleep",0,i,0,"VK_SLEEP",i,i],[0,1,9,"WakeUp",0,i,0,i,i,i],[31,0,10,"KeyA",31,"A",65,"VK_A",i,i],[32,0,11,"KeyB",32,"B",66,"VK_B",i,i],[33,0,12,"KeyC",33,"C",67,"VK_C",i,i],[34,0,13,"KeyD",34,"D",68,"VK_D",i,i],[35,0,14,"KeyE",35,"E",69,"VK_E",i,i],[36,0,15,"KeyF",36,"F",70,"VK_F",i,i],[37,0,16,"KeyG",37,"G",71,"VK_G",i,i],[38,0,17,"KeyH",38,"H",72,"VK_H",i,i],[39,0,18,"KeyI",39,"I",73,"VK_I",i,i],[40,0,19,"KeyJ",40,"J",74,"VK_J",i,i],[41,0,20,"KeyK",41,"K",75,"VK_K",i,i],[42,0,21,"KeyL",42,"L",76,"VK_L",i,i],[43,0,22,"KeyM",43,"M",77,"VK_M",i,i],[44,0,23,"KeyN",44,"N",78,"VK_N",i,i],[45,0,24,"KeyO",45,"O",79,"VK_O",i,i],[46,0,25,"KeyP",46,"P",80,"VK_P",i,i],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",i,i],[48,0,27,"KeyR",48,"R",82,"VK_R",i,i],[49,0,28,"KeyS",49,"S",83,"VK_S",i,i],[50,0,29,"KeyT",50,"T",84,"VK_T",i,i],[51,0,30,"KeyU",51,"U",85,"VK_U",i,i],[52,0,31,"KeyV",52,"V",86,"VK_V",i,i],[53,0,32,"KeyW",53,"W",87,"VK_W",i,i],[54,0,33,"KeyX",54,"X",88,"VK_X",i,i],[55,0,34,"KeyY",55,"Y",89,"VK_Y",i,i],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",i,i],[22,0,36,"Digit1",22,"1",49,"VK_1",i,i],[23,0,37,"Digit2",23,"2",50,"VK_2",i,i],[24,0,38,"Digit3",24,"3",51,"VK_3",i,i],[25,0,39,"Digit4",25,"4",52,"VK_4",i,i],[26,0,40,"Digit5",26,"5",53,"VK_5",i,i],[27,0,41,"Digit6",27,"6",54,"VK_6",i,i],[28,0,42,"Digit7",28,"7",55,"VK_7",i,i],[29,0,43,"Digit8",29,"8",56,"VK_8",i,i],[30,0,44,"Digit9",30,"9",57,"VK_9",i,i],[21,0,45,"Digit0",21,"0",48,"VK_0",i,i],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",i,i],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",i,i],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",i,i],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",i,i],[10,1,50,"Space",10,"Space",32,"VK_SPACE",i,i],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,i,0,i,i,i],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",i,i],[59,1,64,"F1",59,"F1",112,"VK_F1",i,i],[60,1,65,"F2",60,"F2",113,"VK_F2",i,i],[61,1,66,"F3",61,"F3",114,"VK_F3",i,i],[62,1,67,"F4",62,"F4",115,"VK_F4",i,i],[63,1,68,"F5",63,"F5",116,"VK_F5",i,i],[64,1,69,"F6",64,"F6",117,"VK_F6",i,i],[65,1,70,"F7",65,"F7",118,"VK_F7",i,i],[66,1,71,"F8",66,"F8",119,"VK_F8",i,i],[67,1,72,"F9",67,"F9",120,"VK_F9",i,i],[68,1,73,"F10",68,"F10",121,"VK_F10",i,i],[69,1,74,"F11",69,"F11",122,"VK_F11",i,i],[70,1,75,"F12",70,"F12",123,"VK_F12",i,i],[0,1,76,"PrintScreen",0,i,0,i,i,i],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",i,i],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",i,i],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",i,i],[14,1,80,"Home",14,"Home",36,"VK_HOME",i,i],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",i,i],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",i,i],[13,1,83,"End",13,"End",35,"VK_END",i,i],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",i,i],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",i],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",i],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",i],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",i],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",i,i],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",i,i],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",i,i],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",i,i],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",i,i],[3,1,94,"NumpadEnter",3,i,0,i,i,i],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",i,i],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",i,i],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",i,i],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",i,i],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",i,i],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",i,i],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",i,i],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",i,i],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",i,i],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",i,i],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",i,i],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",i,i],[58,1,107,"ContextMenu",58,"ContextMenu",93,i,i,i],[0,1,108,"Power",0,i,0,i,i,i],[0,1,109,"NumpadEqual",0,i,0,i,i,i],[71,1,110,"F13",71,"F13",124,"VK_F13",i,i],[72,1,111,"F14",72,"F14",125,"VK_F14",i,i],[73,1,112,"F15",73,"F15",126,"VK_F15",i,i],[74,1,113,"F16",74,"F16",127,"VK_F16",i,i],[75,1,114,"F17",75,"F17",128,"VK_F17",i,i],[76,1,115,"F18",76,"F18",129,"VK_F18",i,i],[77,1,116,"F19",77,"F19",130,"VK_F19",i,i],[0,1,117,"F20",0,i,0,"VK_F20",i,i],[0,1,118,"F21",0,i,0,"VK_F21",i,i],[0,1,119,"F22",0,i,0,"VK_F22",i,i],[0,1,120,"F23",0,i,0,"VK_F23",i,i],[0,1,121,"F24",0,i,0,"VK_F24",i,i],[0,1,122,"Open",0,i,0,i,i,i],[0,1,123,"Help",0,i,0,i,i,i],[0,1,124,"Select",0,i,0,i,i,i],[0,1,125,"Again",0,i,0,i,i,i],[0,1,126,"Undo",0,i,0,i,i,i],[0,1,127,"Cut",0,i,0,i,i,i],[0,1,128,"Copy",0,i,0,i,i,i],[0,1,129,"Paste",0,i,0,i,i,i],[0,1,130,"Find",0,i,0,i,i,i],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",i,i],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",i,i],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",i,i],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",i,i],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",i,i],[0,1,136,"KanaMode",0,i,0,i,i,i],[0,0,137,"IntlYen",0,i,0,i,i,i],[0,1,138,"Convert",0,i,0,i,i,i],[0,1,139,"NonConvert",0,i,0,i,i,i],[0,1,140,"Lang1",0,i,0,i,i,i],[0,1,141,"Lang2",0,i,0,i,i,i],[0,1,142,"Lang3",0,i,0,i,i,i],[0,1,143,"Lang4",0,i,0,i,i,i],[0,1,144,"Lang5",0,i,0,i,i,i],[0,1,145,"Abort",0,i,0,i,i,i],[0,1,146,"Props",0,i,0,i,i,i],[0,1,147,"NumpadParenLeft",0,i,0,i,i,i],[0,1,148,"NumpadParenRight",0,i,0,i,i,i],[0,1,149,"NumpadBackspace",0,i,0,i,i,i],[0,1,150,"NumpadMemoryStore",0,i,0,i,i,i],[0,1,151,"NumpadMemoryRecall",0,i,0,i,i,i],[0,1,152,"NumpadMemoryClear",0,i,0,i,i,i],[0,1,153,"NumpadMemoryAdd",0,i,0,i,i,i],[0,1,154,"NumpadMemorySubtract",0,i,0,i,i,i],[0,1,155,"NumpadClear",0,i,0,i,i,i],[0,1,156,"NumpadClearEntry",0,i,0,i,i,i],[5,1,0,i,5,"Ctrl",17,"VK_CONTROL",i,i],[4,1,0,i,4,"Shift",16,"VK_SHIFT",i,i],[6,1,0,i,6,"Alt",18,"VK_MENU",i,i],[57,1,0,i,57,"Meta",0,"VK_COMMAND",i,i],[5,1,157,"ControlLeft",5,i,0,"VK_LCONTROL",i,i],[4,1,158,"ShiftLeft",4,i,0,"VK_LSHIFT",i,i],[6,1,159,"AltLeft",6,i,0,"VK_LMENU",i,i],[57,1,160,"MetaLeft",57,i,0,"VK_LWIN",i,i],[5,1,161,"ControlRight",5,i,0,"VK_RCONTROL",i,i],[4,1,162,"ShiftRight",4,i,0,"VK_RSHIFT",i,i],[6,1,163,"AltRight",6,i,0,"VK_RMENU",i,i],[57,1,164,"MetaRight",57,i,0,"VK_RWIN",i,i],[0,1,165,"BrightnessUp",0,i,0,i,i,i],[0,1,166,"BrightnessDown",0,i,0,i,i,i],[0,1,167,"MediaPlay",0,i,0,i,i,i],[0,1,168,"MediaRecord",0,i,0,i,i,i],[0,1,169,"MediaFastForward",0,i,0,i,i,i],[0,1,170,"MediaRewind",0,i,0,i,i,i],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",i,i],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",i,i],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",i,i],[0,1,174,"Eject",0,i,0,i,i,i],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",i,i],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",i,i],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",i,i],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",i,i],[0,1,179,"LaunchApp1",0,i,0,"VK_MEDIA_LAUNCH_APP1",i,i],[0,1,180,"SelectTask",0,i,0,i,i,i],[0,1,181,"LaunchScreenSaver",0,i,0,i,i,i],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",i,i],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",i,i],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",i,i],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",i,i],[0,1,186,"BrowserStop",0,i,0,"VK_BROWSER_STOP",i,i],[0,1,187,"BrowserRefresh",0,i,0,"VK_BROWSER_REFRESH",i,i],[0,1,188,"BrowserFavorites",0,i,0,"VK_BROWSER_FAVORITES",i,i],[0,1,189,"ZoomToggle",0,i,0,i,i,i],[0,1,190,"MailReply",0,i,0,i,i,i],[0,1,191,"MailForward",0,i,0,i,i,i],[0,1,192,"MailSend",0,i,0,i,i,i],[109,1,0,i,109,"KeyInComposition",229,i,i,i],[111,1,0,i,111,"ABNT_C2",194,"VK_ABNT_C2",i,i],[91,1,0,i,91,"OEM_8",223,"VK_OEM_8",i,i],[0,1,0,i,0,i,0,"VK_CLEAR",i,i],[0,1,0,i,0,i,0,"VK_KANA",i,i],[0,1,0,i,0,i,0,"VK_HANGUL",i,i],[0,1,0,i,0,i,0,"VK_JUNJA",i,i],[0,1,0,i,0,i,0,"VK_FINAL",i,i],[0,1,0,i,0,i,0,"VK_HANJA",i,i],[0,1,0,i,0,i,0,"VK_KANJI",i,i],[0,1,0,i,0,i,0,"VK_CONVERT",i,i],[0,1,0,i,0,i,0,"VK_NONCONVERT",i,i],[0,1,0,i,0,i,0,"VK_ACCEPT",i,i],[0,1,0,i,0,i,0,"VK_MODECHANGE",i,i],[0,1,0,i,0,i,0,"VK_SELECT",i,i],[0,1,0,i,0,i,0,"VK_PRINT",i,i],[0,1,0,i,0,i,0,"VK_EXECUTE",i,i],[0,1,0,i,0,i,0,"VK_SNAPSHOT",i,i],[0,1,0,i,0,i,0,"VK_HELP",i,i],[0,1,0,i,0,i,0,"VK_APPS",i,i],[0,1,0,i,0,i,0,"VK_PROCESSKEY",i,i],[0,1,0,i,0,i,0,"VK_PACKET",i,i],[0,1,0,i,0,i,0,"VK_DBE_SBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_DBE_DBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_ATTN",i,i],[0,1,0,i,0,i,0,"VK_CRSEL",i,i],[0,1,0,i,0,i,0,"VK_EXSEL",i,i],[0,1,0,i,0,i,0,"VK_EREOF",i,i],[0,1,0,i,0,i,0,"VK_PLAY",i,i],[0,1,0,i,0,i,0,"VK_ZOOM",i,i],[0,1,0,i,0,i,0,"VK_NONAME",i,i],[0,1,0,i,0,i,0,"VK_PA1",i,i],[0,1,0,i,0,i,0,"VK_OEM_CLEAR",i,i]];let s=[],n=[];for(const r of t){const[h,a,o,c,u,W,d,K,C,L]=r;if(n[o]||(n[o]=!0,Fu[c]=o,Bu[c.toLowerCase()]=o),!s[u]){if(s[u]=!0,!W)throw new Error(`String representation missing for key code ${u} around scan code ${c}`);ti.define(u,W),mr.define(u,C||W),Cr.define(u,L||C||W)}d&&(bu[d]=u)}})();var ta;(function(i){function t(o){return ti.keyCodeToStr(o)}i.toString=t;function s(o){return ti.strToKeyCode(o)}i.fromString=s;function n(o){return mr.keyCodeToStr(o)}i.toUserSettingsUS=n;function r(o){return Cr.keyCodeToStr(o)}i.toUserSettingsGeneral=r;function h(o){return mr.strToKeyCode(o)||Cr.strToKeyCode(o)}i.fromUserSettings=h;function a(o){if(o>=93&&o<=108)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return ti.keyCodeToStr(o)}i.toElectronAccelerator=a})(ta||(ta={}));function Vu(i,t){const s=(t&65535)<<16>>>0;return(i|s)>>>0}class Dt extends et{constructor(t,s,n,r){super(t,s,n,r),this.selectionStartLineNumber=t,this.selectionStartColumn=s,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Dt.selectionsEqual(this,t)}static selectionsEqual(t,s){return t.selectionStartLineNumber===s.selectionStartLineNumber&&t.selectionStartColumn===s.selectionStartColumn&&t.positionLineNumber===s.positionLineNumber&&t.positionColumn===s.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,s){return this.getDirection()===0?new Dt(this.startLineNumber,this.startColumn,t,s):new Dt(t,s,this.startLineNumber,this.startColumn)}getPosition(){return new It(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new It(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,s){return this.getDirection()===0?new Dt(t,s,this.endLineNumber,this.endColumn):new Dt(this.endLineNumber,this.endColumn,t,s)}static fromPositions(t,s=t){return new Dt(t.lineNumber,t.column,s.lineNumber,s.column)}static fromRange(t,s){return s===0?new Dt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Dt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Dt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,s){if(t&&!s||!t&&s)return!1;if(!t&&!s)return!0;if(t.length!==s.length)return!1;for(let n=0,r=t.length;n0){const a=t.charCodeAt(n);if(i.get(a)!==0)return!0}return!1}function Xu(i,t,s,n,r){if(n+r===s)return!0;const h=t.charCodeAt(n+r);if(i.get(h)!==0||h===13||h===10)return!0;if(r>0){const a=t.charCodeAt(n+r-1);if(i.get(a)!==0)return!0}return!1}function Zu(i,t,s,n,r){return Qu(i,t,s,n,r)&&Xu(i,t,s,n,r)}class ju{constructor(t,s){this._wordSeparators=t,this._searchRegex=s,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const s=t.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===s||(n=this._searchRegex.exec(t),!n))return null;const r=n.index,h=n[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){$4(t,s,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||Zu(this._wordSeparators,t,s,r,h))return n}while(n);return null}}class zu{static computeUnicodeHighlights(t,s,n){const r=n?n.startLineNumber:1,h=n?n.endLineNumber:t.getLineCount(),a=new Ma(s),o=a.getCandidateCodePoints();let c;o==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${$u(Array.from(o))}`,"g");const u=new ju(null,c),W=[];let d=!1,K,C=0,L=0,I=0;t:for(let k=r,U=h;k<=U;k++){const f=t.getLineContent(k),m=f.length;u.reset(0);do if(K=u.next(f),K){let p=K.index,O=K.index+K[0].length;if(p>0){const D=f.charCodeAt(p-1);or(D)&&p--}if(O+1=D){d=!0;break t}W.push(new et(k,p+1,k,O+1))}}while(K)}return{ranges:W,hasMore:d,ambiguousCharacterCount:C,invisibleCharacterCount:L,nonBasicAsciiCharacterCount:I}}static computeUnicodeHighlightReason(t,s){switch(new Ma(s).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=Gt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function $u(i,t){return`[${G4(i.map(n=>String.fromCodePoint(n)).join(""))}]`}class Ma{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const s of ze.codePoints)t.add(s);if(this.options.ambiguousCharacters)for(const s of Gt.getPrimaryConfusableCodePoints())t.add(s);for(const s of this.allowedCodePoints)t.delete(s);return t}shouldHighlightNonBasicASCII(t){const s=t.codePointAt(0);return this.allowedCodePoints.has(s)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` +`||t===" ")&&ze.isInvisibleCharacter(s)?2:this.options.ambiguousCharacters&&Gt.isAmbiguous(s)?3:0}}var Pe=function(i,t,s,n){function r(h){return h instanceof s?h:new s(function(a){a(h)})}return new(s||(s=Promise))(function(h,a){function o(W){try{u(n.next(W))}catch(d){a(d)}}function c(W){try{u(n.throw(W))}catch(d){a(d)}}function u(W){W.done?h(W.value):r(W.value).then(o,c)}u((n=n.apply(i,t||[])).next())})};class Ju extends xu{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,s){let n=vh(t.column,gu(s),this._lines[t.lineNumber-1],0);return n?new et(t.lineNumber,n.startColumn,t.lineNumber,n.endColumn):null}words(t){const s=this._lines,n=this._wordenize.bind(this);let r=0,h="",a=0,o=[];return{*[Symbol.iterator](){for(;;)if(athis._lines.length)s=this._lines.length,n=this._lines[s-1].length+1,r=!0;else{let h=this._lines[s-1].length+1;n<1?(n=1,r=!0):n>h&&(n=h,r=!0)}return r?{lineNumber:s,column:n}:t}}class _0{constructor(t,s){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=s,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(s=>t.push(this._models[s])),t}acceptNewModel(t){this._models[t.url]=new Ju(Je.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,s){if(!this._models[t])return;this._models[t].onEvents(s)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,s,n){return Pe(this,void 0,void 0,function*(){const r=this._getModel(t);return r?zu.computeUnicodeHighlights(r,s,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,s,n,r){return Pe(this,void 0,void 0,function*(){const h=this._getModel(t),a=this._getModel(s);if(!h||!a)return null;const o=h.getLinesContent(),c=a.getLinesContent(),W=new fu(o,c,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),d=W.changes.length>0?!1:this._modelsAreIdentical(h,a);return{quitEarly:W.quitEarly,identical:d,changes:W.changes}})}_modelsAreIdentical(t,s){const n=t.getLineCount(),r=s.getLineCount();if(n!==r)return!1;for(let h=1;h<=n;h++){const a=t.getLineContent(h),o=s.getLineContent(h);if(a!==o)return!1}return!0}computeMoreMinimalEdits(t,s){return Pe(this,void 0,void 0,function*(){const n=this._getModel(t);if(!n)return s;const r=[];let h;s=s.slice(0).sort((a,o)=>{if(a.range&&o.range)return et.compareRangesUsingStarts(a.range,o.range);let c=a.range?0:1,u=o.range?0:1;return c-u});for(let{range:a,text:o,eol:c}of s){if(typeof c=="number"&&(h=c),et.isEmpty(a)&&!o)continue;const u=n.getValueInRange(a);if(o=o.replace(/\r\n|\n|\r/g,n.eol),u===o)continue;if(Math.max(o.length,u.length)>_0._diffLimit){r.push({range:a,text:o});continue}const W=iu(u,o,!1),d=n.offsetAt(et.lift(a).getStartPosition());for(const K of W){const C=n.positionAt(d+K.originalStart),L=n.positionAt(d+K.originalStart+K.originalLength),I={text:o.substr(K.modifiedStart,K.modifiedLength),range:{startLineNumber:C.lineNumber,startColumn:C.column,endLineNumber:L.lineNumber,endColumn:L.column}};n.getValueInRange(I.range)!==I.text&&r.push(I)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return Pe(this,void 0,void 0,function*(){let s=this._getModel(t);return s?Mu(s):null})}textualSuggest(t,s,n,r){return Pe(this,void 0,void 0,function*(){const h=new zn(!0),a=new RegExp(n,r),o=new Set;t:for(let c of t){const u=this._getModel(c);if(u){for(let W of u.words(a))if(!(W===s||!isNaN(Number(W)))&&(o.add(W),o.size>_0._suggestionsLimit))break t}}return{words:Array.from(o),duration:h.elapsed()}})}computeWordRanges(t,s,n,r){return Pe(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const a=new RegExp(n,r),o=Object.create(null);for(let c=s.startLineNumber;cthis._host.fhr(o,c)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(a,s),Promise.resolve(ar(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,s){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,s))}catch(n){return Promise.reject(n)}}}_0._diffLimit=1e5,_0._suggestionsLimit=1e4,typeof importScripts=="function"&&(dt.monaco=Gu());let pr=!1;function wa(i){if(pr)return;pr=!0;const t=new su(s=>{self.postMessage(s)},s=>new _0(s,i));self.onmessage=s=>{t.onmessage(s.data)}}self.onmessage=i=>{pr||wa(null)};var Pu=Object.defineProperty,A=(i,t)=>Pu(i,"name",{value:t,configurable:!0}),pe=(U0=class{constructor(t){E(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},A(U0,"Transition"),E(U0,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),U0),Nr=(b1=class extends pe{constructor(t){super(t)}},A(b1,"AbstractPredicateTransition"),b1),y={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},ba=(F1=class extends pe{constructor(s,n,r,h){super(s);E(this,"ruleIndex");E(this,"actionIndex");E(this,"isCtxDependent");this.ruleIndex=n,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return y.ACTION}matches(s,n,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},A(F1,"ActionTransition"),F1),Z=(We=class{constructor(t){E(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===We.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},A(We,"PredictionContext"),E(We,"EMPTY_RETURN_STATE",2147483647),E(We,"EMPTY"),E(We,"trace_atn_sim",!1),We),Fa=3432918353,Ba=461845907,ei=15,si=13,Va=5,Ya=3864292196,vt=(r0=class{constructor(){E(this,"count");E(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const s=new r0;return s.update(t),s.finish()}static hashString(t=0,s){let n=3735928559^t,r=1103547991^t;for(const h of s){const a=h.charCodeAt(0);n=Math.imul(n^a,2654435761),r=Math.imul(r^a,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),Math.imul(4294967296,2097151&r)+(n>>>0)}update(...t){for(const s of t)if(s!=null)if(Array.isArray(s))this.update(...s);else{let n=0;switch(typeof s){case"undefined":case"function":continue;case"number":{n=s;break}case"boolean":{n=s?1237:4327;break}case"string":{n=r0.hashString(this.hash,s);break}default:{s.updateHashCode(this);continue}}this.count=this.count+1,n=Math.imul(n,Fa),n=n<>>32-ei,n=Math.imul(n,Ba);let r=this.hash^n;r=r<>>32-si,this.hash=Math.imul(r,Va)+Ya}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,Fa),t=t<>>32-ei,t=Math.imul(t,Ba);let s=this.hash^t;s=s<>>32-si,this.hash=Math.imul(s,Va)+Ya}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},A(r0,"HashCode"),r0),Hu=A(i=>typeof i.equals=="function","isComparable"),vu=A(i=>i===null?"null":i,"valueToString"),He=A(i=>Array.isArray(i)?"["+i.map(vu).join(", ")+"]":"null","arrayToString"),n1=A((i,t)=>{if(i===t)return!0;if(i.length!==t.length)return!1;for(let s=0;s(i=i.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(i=i.replace(/ /g,"·")),i),"escapeWhitespace"),Ga=A((i,t)=>i?i.equals(t):i===t,"standardEqualsFunction"),t7=Math.round(Math.random()*Math.pow(2,32)),e7=A(i=>{let t,s;const n=i.length&3,r=i.length-n;let h=t7;const a=3432918353,o=461845907;let c=0;for(;c>>16)*a&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(s&65535)*o+(((s>>>16)*o&65535)<<16)&4294967295,h^=s,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(s=0,n){case 3:s^=(i.charCodeAt(c+2)&255)<<16;case 2:s^=(i.charCodeAt(c+1)&255)<<8;case 1:s^=i.charCodeAt(c)&255,s=(s&65535)*a+(((s>>>16)*a&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(s&65535)*o+(((s>>>16)*o&65535)<<16)&4294967295,h^=s}return h^=i.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),Qa=A(i=>i?typeof i=="string"?e7(i):i.hashCode():-1,"standardHashCodeFunction"),Ne=(S0=class extends Z{constructor(s,n){const r=new vt;r.update(s,n);const h=r.finish();super(h);E(this,"parents",[]);E(this,"returnStates",[]);return this.parents=s,this.returnStates=n,this}isEmpty(){return this.returnStates[0]===Z.EMPTY_RETURN_STATE}getParent(s){return this.parents[s]}getReturnState(s){return this.returnStates[s]}equals(s){return this===s?!0:!(s instanceof S0)||this.hashCode()!==s.hashCode()?!1:n1(this.returnStates,s.returnStates)&&n1(this.parents,s.parents)}toString(){if(this.isEmpty())return"[]";{let s="[";for(let n=0;n0&&(s=s+", "),this.returnStates[n]===Z.EMPTY_RETURN_STATE){s=s+"$";continue}s=s+this.returnStates[n],this.parents[n]!==null?s=s+" "+this.parents[n]:s=s+"null"}return s+"]"}}get length(){return this.returnStates.length}},A(S0,"ArrayPredictionContext"),S0),ni;(i=>{i.EOF=-1,i.UNKNOWN_SOURCE_NAME=""})(ni||(ni={}));var _;(i=>{i.INVALID_TYPE=0,i.EPSILON=-2,i.MIN_USER_TOKEN_TYPE=1,i.EOF=ni.EOF,i.DEFAULT_CHANNEL=0,i.HIDDEN_CHANNEL=1,i.MIN_USER_CHANNEL_VALUE=2})(_||(_={}));var Xa=A(i=>{const t=i;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),wt=(B1=class{constructor(t,s){E(this,"data");E(this,"hashFunction");E(this,"equalsFunction");this.data={},this.hashFunction=t??Qa,this.equalsFunction=s??Ga}add(t){const s=this.hashFunction(t);if(s in this.data){const n=this.data[s];for(const r of n)if(this.equalsFunction(t,r))return r;return n.push(t),t}else return this.data[s]=[t],t}has(t){return this.get(t)!=null}get(t){const s=this.hashFunction(t);if(s in this.data){const n=this.data[s];for(const r of n)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return He(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,s)=>t+s,0)}},A(B1,"HashSet"),B1),q=($t=class{static andContext(t,s){if(t===null||t===$t.NONE)return s;if(s===null||s===$t.NONE)return t;const n=new s7(t,s);return n.opnds.length===1?n.opnds[0]:n}static orContext(t,s){if(t===null)return s;if(s===null)return t;if(t===$t.NONE||s===$t.NONE)return $t.NONE;const n=new n7(t,s);return n.opnds.length===1?n.opnds[0]:n}static filterPrecedencePredicates(t){const s=[];return t.values().forEach(n=>{n instanceof $t.PrecedencePredicate&&s.push(n)}),s}hashCode(){const t=new vt;return this.updateHashCode(t),t.finish()}evalPrecedence(t,s){return this}},A($t,"SemanticContext"),$t),s7=(we=class extends q{constructor(s,n){super();E(this,"opnds");const r=new wt;s instanceof we?s.opnds.forEach(a=>{r.add(a)}):r.add(s),n instanceof we?n.opnds.forEach(a=>{r.add(a)}):r.add(n);const h=q.filterPrecedencePredicates(r);if(h.length>0){let a=null;h.forEach(o=>{(a===null||o.precedence{a=a===null?o:q.andContext(a,o)}),a}toString(){const s=this.opnds.map(n=>n.toString());return(s.length>3?s.slice(3):s).join("&&")}},A(we,"AND"),we),n7=(be=class extends q{constructor(s,n){super();E(this,"opnds");const r=new wt;s instanceof be?s.opnds.forEach(a=>{r.add(a)}):r.add(s),n instanceof be?n.opnds.forEach(a=>{r.add(a)}):r.add(n);const h=q.filterPrecedencePredicates(r);if(h.length>0){const a=h.sort((c,u)=>c.compareTo(u)),o=a[a.length-1];r.add(o)}this.opnds=Array.from(r.values())}equals(s){return this===s?!0:s instanceof be?n1(this.opnds,s.opnds):!1}updateHashCode(s){s.update(this.opnds),s.updateWithHashCode(3383313031)}evaluate(s,n){for(const r of this.opnds)if(r.evaluate(s,n))return!0;return!1}evalPrecedence(s,n){let r=!1;const h=[];for(const o of this.opnds){const c=o.evalPrecedence(s,n);if(r||(r=c!==o),c===q.NONE)return q.NONE;c!==null&&h.push(c)}if(!r)return this;if(h.length===0)return null;let a=null;return h.forEach(o=>{a=a===null?o:q.orContext(a,o)}),a}toString(){const s=this.opnds.map(n=>n.toString());return(s.length>3?s.slice(3):s).join("||")}},A(be,"OR"),be);(i=>{const n=class n extends i{constructor(o,c,u){super();E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=o??-1,this.predIndex=c??-1,this.isCtxDependent=u??!1}evaluate(o,c){const u=this.isCtxDependent?c:null;return o.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(o){o.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(o){return this===o?!0:o instanceof n?this.ruleIndex===o.ruleIndex&&this.predIndex===o.predIndex&&this.isCtxDependent===o.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};A(n,"Predicate");let t=n;i.Predicate=t;const r=class r extends i{constructor(o){super();E(this,"precedence");this.precedence=o??0}evaluate(o,c){return o.precpred(c,this.precedence)}evalPrecedence(o,c){return o.precpred(c,this.precedence)?i.NONE:null}compareTo(o){return this.precedence-o.precedence}updateHashCode(o){o.update(this.precedence)}equals(o){return this===o?!0:o instanceof r?this.precedence===o.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};A(r,"PrecedencePredicate");let s=r;i.PrecedencePredicate=s,i.NONE=new t})(q||(q={}));var i7=A(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),r7=A(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:i.reachesIntoOuterContext??0,precedenceFilterSuppressed:i.precedenceFilterSuppressed??!1},"checkConfig"),lt=(h0=class{constructor(t,s){E(this,"state");E(this,"alt");E(this,"context");E(this,"reachesIntoOuterContext");E(this,"precedenceFilterSuppressed",!1);E(this,"semanticContext");this.checkContext(t,s);const n=i7(t),r=r7(s);this.state=n.state??r.state,this.alt=n.alt??r.alt??0,this.context=n.context??r.context,this.semanticContext=n.semanticContext??r.semanticContext??q.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new vt;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof h0?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new vt;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof h0?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,s=!0){let n="";return s&&(n=","+this.alt),"("+this.state+n+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==q.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,s){(t.context===null||t.context===void 0)&&(s===null||s.context===null||s.context===void 0)&&(this.context=null)}},A(h0,"ATNConfig"),h0),j=(ht=class{constructor(t,s){E(this,"start");E(this,"stop");this.start=t,this.stop=s}static of(t,s){return t!==s||t<0||t>ht.INTERVAL_POOL_MAX_VALUE?new ht(t,s):(ht.cache[t]===null&&(ht.cache[t]=new ht(t,t)),ht.cache[t])}equals(t){return t instanceof ht?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return ht.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return ht.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let s=null;return t.startsBeforeNonDisjoint(this)?s=ht.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(s=ht.of(this.start,t.start-1)),s}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{o.syntaxError(t,s,n,r,h,a)})}reportAmbiguity(t,s,n,r,h,a,o){this.delegates.forEach(c=>{c.reportAmbiguity(t,s,n,r,h,a,o)})}reportAttemptingFullContext(t,s,n,r,h,a){this.delegates.forEach(o=>{o.reportAttemptingFullContext(t,s,n,r,h,a)})}reportContextSensitivity(t,s,n,r,h,a){this.delegates.forEach(o=>{o.reportContextSensitivity(t,s,n,r,h,a)})}},A(Y1,"ProxyErrorListener"),Y1),Za=(Vt=class{constructor(){E(this,"interpreter");$(this,ce,[h7.INSTANCE]);$(this,G1,-1)}checkVersion(t){const s="4.13.1";s!==t&&console.error("ANTLR runtime and generated code versions disagree: "+s+"!="+t)}addErrorListener(t){x(this,ce).push(t)}removeErrorListeners(){X(this,ce,[])}removeErrorListener(t){for(let s=0;ss.set(n,r)),Vt.ruleIndexMapCache.set(t,s)),s}getTokenType(t){const s=this.getTokenTypeMap().get(t);return s||_.INVALID_TYPE}getErrorHeader(t){var r,h;const s=(r=t.offendingToken)==null?void 0:r.line,n=(h=t.offendingToken)==null?void 0:h.column;return"line "+s+":"+n}getErrorListenerDispatch(){return new a7(x(this,ce))}sempred(t,s,n){return!0}precpred(t,s){return!0}action(t,s,n){}get atn(){return this.interpreter.atn}get state(){return x(this,G1)}set state(t){X(this,G1,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},ce=new WeakMap,G1=new WeakMap,A(Vt,"Recognizer"),E(Vt,"EOF",-1),E(Vt,"tokenTypeMapCache",new Map),E(Vt,"ruleIndexMapCache",new Map),Vt),o7=(Fe=class{constructor(t,s,n,r,h){E(this,"source");E(this,"tokenIndex",-1);E(this,"start",0);E(this,"stop",0);E(this,"type",0);E(this,"line",0);E(this,"column",-1);E(this,"channel",_.DEFAULT_CHANNEL);$(this,ue,null);this.source=t,this.type=s,this.channel=n??_.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new Fe(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,X(t,ue,x(this,ue)),t}cloneWithType(t){const s=new Fe(this.source,t,this.channel,this.start,this.stop);return s.tokenIndex=this.tokenIndex,s.line=this.line,s.column=this.column,t===_.EOF&&X(s,ue,""),s}toString(t){let s="";this.channel>0&&(s=",channel="+this.channel);let n=this.text;n?(n=n.replace(/\n/g,"\\n"),n=n.replace(/\r/g,"\\r"),n=n.replace(/\t/g,"\\t")):n="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+n+"',<"+r+">"+s+","+this.line+":"+this.column+"]"}get text(){if(x(this,ue)!==null)return x(this,ue);const t=this.inputStream;if(t===null)return null;const s=t.size;return this.start"}set text(t){X(this,ue,t)}setText(t){X(this,ue,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},ue=new WeakMap,A(Fe,"CommonToken"),E(Fe,"EMPTY_SOURCE",[null,null]),Fe),c7=(o0=class{constructor(t){E(this,"copyText",!1);this.copyText=t??!1}create(t,s,n,r,h,a,o,c){const u=new o7(t,s,r,h,a);return u.line=o,u.column=c,n!==null?u.text=n:this.copyText&&t[1]!==null&&(u.text=t[1].getText(h,a)),u}},A(o0,"CommonTokenFactory"),E(o0,"DEFAULT",new o0),o0),T=(y0=class extends Error{constructor(s){super(s.message);E(this,"ctx");E(this,"offendingToken",null);E(this,"offendingState",-1);E(this,"recognizer");E(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,y0),this.message=s.message,this.recognizer=s.recognizer,this.input=s.input,this.ctx=s.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},A(y0,"RecognitionException"),y0),i1=(Q1=class extends T{constructor(s,n,r,h){super({message:"",recognizer:s,input:n,ctx:null});E(this,"startIndex");E(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let s="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(s=>"{"+s.key+":"+s.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,s)=>t+s,0)}},A(X1,"HashMap"),X1),Ee=(Z1=class{constructor(t){E(this,"parent",null);E(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return j.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new j(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,s;return((t=this.symbol)==null?void 0:t.type)===_.EOF?"":((s=this.symbol)==null?void 0:s.text)??""}toStringTree(){return this.toString()}},A(Z1,"TerminalNode"),Z1),r1=(j1=class extends Ee{accept(t){return t.visitErrorNode(this)}},A(j1,"ErrorNode"),j1),Oe=(yt=class{static toStringTree(t,s,n){s=s??null,n=n??null,n!==null&&(s=n.ruleNames);let r=yt.getNodeText(t,s);r=qu(r,!1);const h=t.getChildCount();if(h===0)return r;let a="("+r+" ";h>0&&(r=yt.toStringTree(t.getChild(0),s),a=a.concat(r));for(let o=1;ot.getText()).join("")}getAltNumber(){return G.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?Oe.toStringTree(this,null,t[0]):Oe.toStringTree(this,t[0],t[1])}toString(t,s){t=t??null,s=s??null;let n=this,r="[";for(;n!==null&&n!==s;){if(t===null)n.isEmpty()||(r+=n.invokingState);else{const h=n.ruleIndex,a=h>=0&&h{super(...Dl);E(this,"start",null);E(this,"stop",null);E(this,"exception",null)};s?t(s,n):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(s){super.parent=s}copyFrom(s){this.parent=s.parent,this.invokingState=s.invokingState,this.children=null,this.start=s.start,this.stop=s.stop,s.children&&(this.children=[],s.children.forEach(n=>{n instanceof r1&&(this.children.push(n),n.parent=this)},this))}enterRule(s){}exitRule(s){}addAnyChild(s){return this.children==null&&(this.children=[]),this.children.push(s),s}addChild(s){return this.addAnyChild(s)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(s){const n=new Ee(s);return this.addAnyChild(n),n.parent=this,n}addErrorNode(s){return s.parent=this,this.addAnyChild(s)}getChild(s,n){if(this.children===null||s<0||s>=this.children.length)return null;if(n){for(const r of this.children)if(r instanceof n){if(s===0)return r;s-=1}return null}else return this.children[s]}getToken(s,n){var r;if(this.children===null||n<0||n>=this.children.length)return null;for(const h of this.children)if(h instanceof Ee&&((r=h.symbol)==null?void 0:r.type)===s){if(n===0)return h;n-=1}return null}getTokens(s){var n;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof Ee&&((n=h.symbol)==null?void 0:n.type)===s&&r.push(h);return r}}getRuleContext(s,n){return this.getChild(s,n)}getRuleContexts(s){if(this.children===null)return[];{const n=[];for(const r of this.children)r instanceof s&&n.push(r);return n}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?j.INVALID_INTERVAL:new j(this.start.tokenIndex,this.stop.tokenIndex)}},A(u0,"ParserRuleContext"),E(u0,"EMPTY",new u0),u0),gr=A((i,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return Z.EMPTY;const s=gr(i,t.parent),r=i.states[t.invokingState].transitions[0];return bt.create(s,r.followState.stateNumber)},"predictionContextFromRuleContext"),za=A((i,t,s)=>{if(i.isEmpty())return i;let n=s.get(i)||null;if(n!==null)return n;if(n=t.get(i),n!==null)return s.set(i,n),n;let r=!1,h=[];for(let o=0;o{if(i===t)return i;if(i instanceof bt&&t instanceof bt)return E7(i,t,s,n);if(s){if(i instanceof ja)return i;if(t instanceof ja)return t}return i instanceof bt&&(i=new Ne([i.parent],[i.returnState])),t instanceof bt&&(t=new Ne([t.parent],[t.returnState])),u7(i,t,s,n)},"merge"),u7=A((i,t,s,n)=>{if(n!==null){let W=n.get(i,t);if(W!==null||(W=n.get(t,i),W!==null))return W}let r=0,h=0,a=0,o=new Array(i.returnStates.length+t.returnStates.length).fill(0),c=new Array(i.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new ve;for(const s of i)s&&(t.containsKey(s)||t.set(s,s));for(let s=0;s{if(n!==null){let h=n.get(i,t);if(h!==null||(h=n.get(t,i),h!==null))return h}const r=R7(i,t,s);if(r!==null)return n!==null&&n.set(i,t,r),r;if(i.returnState===t.returnState){const h=Ir(i.parent,t.parent,s,n);if(h===i.parent)return i;if(h===t.parent)return t;const a=bt.create(h,i.returnState);return n!==null&&n.set(i,t,a),a}else{let h=null;if((i===t||i.parent!==null&&i.parent===t.parent)&&(h=i.parent),h!==null){const u=[i.returnState,t.returnState];i.returnState>t.returnState&&(u[0]=t.returnState,u[1]=i.returnState);const W=[h,h],d=new Ne(W,u);return n!==null&&n.set(i,t,d),d}const a=[i.returnState,t.returnState];let o=[i.parent,t.parent];i.returnState>t.returnState&&(a[0]=t.returnState,a[1]=i.returnState,o=[t.parent,i.parent]);const c=new Ne(o,a);return n!==null&&n.set(i,t,c),c}},"mergeSingletons"),R7=A((i,t,s)=>{if(s){if(i===Z.EMPTY||t===Z.EMPTY)return Z.EMPTY}else{if(i===Z.EMPTY&&t===Z.EMPTY)return Z.EMPTY;if(i===Z.EMPTY){const n=[t.returnState,Z.EMPTY_RETURN_STATE],r=[t.parent,null];return new Ne(r,n)}else if(t===Z.EMPTY){const n=[i.returnState,Z.EMPTY_RETURN_STATE],r=[i.parent,null];return new Ne(r,n)}}return null},"mergeRoot"),qt=(J1=class{constructor(t){E(this,"data");t?this.data=new Uint32Array(t.map(s=>s>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let s=0,n=this.data[s];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;s>>5]&=~(1<>>5;return s>=this.data.length?!1:(this.data[s]&1<t)return s}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(s<=this.data.length)return;const n=new Uint32Array(s);n.set(this.data),n.fill(0,this.data.length),this.data=n}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},A(J1,"BitSet"),J1),T7=A(i=>i.hashCodeForConfigSet(),"hashATNConfig"),W7=A((i,t)=>i===t?!0:i===null||t===null?!1:i.equalsForConfigSet(t),"equalATNConfigs"),Xt=(M0=class{constructor(t){E(this,"configs",[]);E(this,"hasSemanticContext",!1);E(this,"dipsIntoOuterContext",!1);E(this,"fullCtx");E(this,"uniqueAlt",0);E(this,"configLookup",new wt(T7,W7));E(this,"conflictingAlts",null);E(this,"readOnly",!1);E(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,s){if(s===void 0&&(s=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==q.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(t);if(n===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=Ir(n.context,t.context,r,s);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=h,!0}getStates(){const t=new wt;for(const s of this.configs)t.add(s.state);return t}getPredicates(){const t=[];for(const s of this.configs)s.semanticContext!==q.NONE&&t.push(s.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const s of this.configs)s.context=t.getCachedContext(s.context)}addAll(t){for(const s of t)this.add(s,null);return!1}equals(t){return this===t||t instanceof M0&&n1(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new vt;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new wt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new wt)}toString(){return He(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==G.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new qt;for(let s of this.configs)t.set(s.alt);return t}},A(M0,"ATNConfigSet"),M0),Re=(w0=class{constructor(t){E(this,"stateNumber",-1);E(this,"configs",new Xt);E(this,"edges",null);E(this,"isAcceptState",!1);E(this,"prediction",-1);E(this,"lexerActionExecutor",null);E(this,"requiresFullContext",!1);E(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new vt;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof w0?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=He(this.predicates):t+=this.prediction),t.toString()}},A(w0,"DFAState"),w0);(i=>{const s=class s{constructor(r,h){E(this,"pred");E(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};A(s,"PredPrediction");let t=s;i.PredPrediction=t})(Re||(Re={}));var te=(b0=class{constructor(t,s){E(this,"atn");E(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=s,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const s=new ve;return za(t,this.sharedContextCache,s)}getSharedContextCache(){return this.sharedContextCache}},A(b0,"ATNSimulator"),E(b0,"ERROR",new Re(2147483647)),b0),$a=(P1=class extends Xt{constructor(){super(),this.configLookup=new wt}},A(P1,"OrderedATNConfigSet"),P1),ee=(Ve=class{constructor(){E(this,"atn");E(this,"stateNumber");E(this,"ruleIndex");E(this,"epsilonOnlyTransitions");E(this,"nextTokenWithinRule");E(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Ve.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Ve?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,s){s===void 0&&(s=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),s===-1?this.transitions.push(t):this.transitions.splice(s,1,t)}},A(Ve,"ATNState"),E(Ve,"INVALID_STATE_NUMBER",-1),Ve),V={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},xt=(H1=class extends ee{get stateType(){return V.RULE_STOP}},A(H1,"RuleStopState"),H1),qe=(v1=class extends ee{constructor(){super(...arguments);E(this,"decision",-1);E(this,"nonGreedy",!1)}},A(v1,"DecisionState"),v1),se=(F0=class extends lt{constructor(s,n){super(s,n);E(this,"lexerActionExecutor");E(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=s.lexerActionExecutor??(n==null?void 0:n.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=n!==null?this.checkNonGreedyDecision(n,this.state):!1,this}updateHashCode(s){s.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(s){return this===s||s instanceof F0&&this.passedThroughNonGreedyDecision===s.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(s.lexerActionExecutor):!s.lexerActionExecutor)&&super.equals(s)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(s){return this.equals(s)}checkNonGreedyDecision(s,n){return s.passedThroughNonGreedyDecision||n instanceof qe&&n.nonGreedy}},A(F0,"LexerATNConfig"),F0),ne=(q1=class{constructor(t){E(this,"actionType");E(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new vt;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},A(q1,"LexerAction"),q1),kr=(B0=class extends ne{constructor(s,n){super(n.actionType);E(this,"offset");E(this,"action");this.offset=s,this.action=n,this.isPositionDependent=!0}execute(s){this.action.execute(s)}updateHashCode(s){s.update(this.actionType,this.offset,this.action)}equals(s){return this===s?!0:s instanceof B0?this.offset===s.offset&&this.action===s.action:!1}},A(B0,"LexerIndexedCustomAction"),B0),d7=(de=class extends ne{constructor(s){super(-1);E(this,"lexerActions");E(this,"cachedHashCode");return this.lexerActions=s===null?[]:s,this.cachedHashCode=vt.hashStuff(s),this}static append(s,n){if(s===null)return new de([n]);const r=s.lexerActions.concat([n]);return new de(r)}fixOffsetBeforeMatch(s){let n=null;for(let r=0;r",t+=this.getStateString(a),t+=` +`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const s=t.stateNumber,n=(t.isAcceptState?":":"")+"s"+s+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${n}=>${t.predicates.toString()}`:`${n}=>${t.prediction}`:`${n}`}},A(ts,"DFASerializer"),ts),ie=(Ct=class{constructor(t,s,n){E(this,"maxTokenType");E(this,"literalNames");E(this,"symbolicNames");E(this,"displayNames");this.literalNames=t??Ct.EMPTY_NAMES,this.symbolicNames=s??Ct.EMPTY_NAMES,this.displayNames=n??Ct.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return Ct.EMPTY_VOCABULARY;const s=[...t],n=[...t];for(let r=0;r0){const a=h.charAt(0);if(a==="'"){n[r]=null;continue}else if(a.toUpperCase()===a){s[r]=null;continue}}s[r]=null,n[r]=null}}return new Ct(s,n,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(s)+"'")}},A(es,"LexerDFASerializer"),es),ge=(ss=class extends qe{constructor(){super();E(this,"loopBackState");E(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return V.STAR_LOOP_ENTRY}},A(ss,"StarLoopEntryState"),ss),t0=(ns=class{constructor(t,s){E(this,"states",new wt);E(this,"s0",null);E(this,"decision");E(this,"atnStartState");E(this,"precedenceDfa");E(this,"isPrecedenceDfa",()=>this.precedenceDfa);E(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});E(this,"setPrecedenceStartState",(t,s)=>{var n;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((n=this.s0)!=null&&n.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=s}});this.atnStartState=t,this.decision=s??0;let n=!1;if(t instanceof ge&&t.precedenceRuleDecision){n=!0;const r=new Re;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=n}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((s,n)=>s.stateNumber-n.stateNumber),t}toString(t){return t?this.s0===null?"":new Ja(this,t).toString()??"":this.toString(ie.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new K7(this).toString()??""}},A(ns,"DFA"),ns),e0=(P=class extends te{constructor(s,n,r,h){super(n,h);E(this,"decisionToDFA");E(this,"recog",null);E(this,"startIndex",-1);E(this,"line",1);E(this,"column",0);E(this,"mode",Ft.DEFAULT_MODE);E(this,"prevAccept",new P.SimState);this.decisionToDFA=r,this.recog=s}copyState(s){this.column=s.column,this.line=s.line,this.mode=s.mode,this.startIndex=s.startIndex}match(s,n){this.mode=n;const r=s.mark();try{this.startIndex=s.index,this.prevAccept.reset();const h=this.decisionToDFA[n];return h.s0===null?this.matchATN(s):this.execATN(s,h.s0)}finally{s.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Ft.DEFAULT_MODE}getDFA(s){return this.decisionToDFA[s]}getText(s){return s.getText(this.startIndex,s.index-1)}consume(s){s.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,s.consume()}getTokenName(s){return s===-1?"EOF":"'"+String.fromCharCode(s)+"'"}clearDFA(){for(let s=0;sP.MAX_DFA_EDGE)return null;let r=s.edges[n-P.MIN_DFA_EDGE];return r===void 0&&(r=null),P.debug&&r!==null&&console.log("reuse state "+s.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(s,n,r){const h=new $a;return this.getReachableConfigSet(s,n.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(n,r,te.ERROR),te.ERROR):this.addDFAEdge(n,r,null,h)}failOrAccept(s,n,r,h){if(s.dfaState!==null){const a=s.dfaState.lexerActionExecutor;return this.accept(n,a,this.startIndex,s.index,s.line,s.column),s.dfaState.prediction}else{if(h===_.EOF&&n.index===this.startIndex)return _.EOF;throw new i1(this.recog,n,this.startIndex,r)}}getReachableConfigSet(s,n,r,h){let a=G.INVALID_ALT_NUMBER;for(const o of n.items){const c=o.alt===a;if(!(c&&o.passedThroughNonGreedyDecision)){P.debug&&console.log(`testing %s at %s +`,this.getTokenName(h),o.toString(this.recog,!0));for(const u of o.state.transitions){const W=this.getReachableTarget(u,h);if(W!==null){let d=o.lexerActionExecutor;d!==null&&(d=d.fixOffsetBeforeMatch(s.index-this.startIndex));const K=h===_.EOF,C=new se({state:W,lexerActionExecutor:d},o);this.closure(s,C,r,c,!0,K)&&(a=o.alt)}}}}}accept(s,n,r,h,a,o){P.debug&&console.log(`ACTION %s +`,n),s.seek(h),this.line=a,this.column=o,n!==null&&this.recog!==null&&n.execute(this.recog,s,r)}getReachableTarget(s,n){return s.matches(n,0,Ft.MAX_CHAR_VALUE)?s.target:null}computeStartState(s,n){const r=Z.EMPTY,h=new $a;for(let a=0;aP.MAX_DFA_EDGE||(P.debug&&console.log("EDGE "+s+" -> "+r+" upon "+n),s.edges===null&&(s.edges=new Array(P.MAX_DFA_EDGE-P.MIN_DFA_EDGE+1),s.edges.fill(null)),s.edges[n-P.MIN_DFA_EDGE]=r),r}addDFAState(s){const n=new Re(s);let r=null;for(const c of s.items)if(c.state instanceof xt){r=c;break}r!==null&&(n.isAcceptState=!0,n.lexerActionExecutor=r.lexerActionExecutor,n.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],a=h.states.get(n);if(a!==null)return a;const o=n;return o.stateNumber=h.states.length,s.setReadonly(!0),o.configs=s,h.states.add(o),o}},A(P,"LexerATNSimulator"),E(P,"MIN_DFA_EDGE",0),E(P,"MAX_DFA_EDGE",127),E(P,"debug",!1),E(P,"dfa_debug",!1),P);(i=>{const s=class s{constructor(){E(this,"index",-1);E(this,"line",0);E(this,"column",-1);E(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};A(s,"SimState");let t=s;i.SimState=t})(e0||(e0={}));var Ft=(Rt=class extends Za{constructor(s){super();E(this,"_input");E(this,"_token",null);E(this,"_tokenStartCharIndex",-1);E(this,"_tokenStartLine",0);E(this,"_tokenStartColumn",0);E(this,"_hitEOF",!1);E(this,"_channel",0);E(this,"_type",0);E(this,"_modeStack",[]);E(this,"_mode",Rt.DEFAULT_MODE);E(this,"_text",null);E(this,"_factory");this._input=s,this._factory=c7.DEFAULT}reset(s=!0){s&&this._input.seek(0),this._token=null,this._type=_.INVALID_TYPE,this._channel=_.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Rt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const s=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=_.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let n=!1;for(;;){this._type=_.INVALID_TYPE;let r=Rt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof i1)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===_.EOF&&(this._hitEOF=!0),this._type===_.INVALID_TYPE&&(this._type=r),this._type===Rt.SKIP){n=!0;break}if(this._type!==Rt.MORE)break}if(!n)return this._token===null&&this.emit(),this._token}}finally{this._input.release(s)}}skip(){this._type=Rt.SKIP}more(){this._type=Rt.MORE}mode(s){this._mode=s}pushMode(s){e0.debug&&console.log("pushMode "+s),this._modeStack.push(this._mode),this.mode(s)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return e0.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(s){this._token=s}emit(){const s=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(s),s}emitEOF(){const s=this.column,n=this.line,r=this._factory.create([this,this._input],_.EOF,null,_.DEFAULT_CHANNEL,this._input.index,this._input.index-1,n,s);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const s=[];let n=this.nextToken();for(;n.type!==_.EOF;)s.push(n),n=this.nextToken();return s}notifyListeners(s){const n=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(n,r),a="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,a,s)}getErrorDisplay(s){return s}getErrorDisplayForChar(s){return s.charCodeAt(0)===_.EOF?"":s===` +`?"\\n":s===" "?"\\t":s==="\r"?"\\r":s}getCharErrorDisplay(s){return"'"+this.getErrorDisplayForChar(s)+"'"}recover(s){this._input.LA(1)!==_.EOF&&(s instanceof i1?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(s){this.reset(!1),this._input=s}set tokenFactory(s){this._factory=s}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(s){this._type=s}get line(){return this.interpreter.line}set line(s){this.interpreter.line=s}get column(){return this.interpreter.column}set column(s){this.interpreter.column=s}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(s){this._text=s}},A(Rt,"Lexer"),E(Rt,"DEFAULT_MODE",0),E(Rt,"MORE",-2),E(Rt,"SKIP",-3),E(Rt,"DEFAULT_TOKEN_CHANNEL",_.DEFAULT_CHANNEL),E(Rt,"HIDDEN",_.HIDDEN_CHANNEL),E(Rt,"MIN_CHAR_VALUE",0),E(Rt,"MAX_CHAR_VALUE",1114111),Rt),Kt=(it=class{constructor(t){E(this,"intervals",[]);E(this,"readOnly",!1);t&&this.addSet(t)}static of(t,s){const n=new it;return n.addRange(t,s),n}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?_.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?_.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new j(t,t))}addRange(t,s){this.addInterval(new j(t,s))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let s=0;sthis.addInterval(s),this),this}complement(t,s){if(!t)return new it;const n=new it;if(t instanceof it){if(t.isNil)return new it;n.addSet(t)}else n.addInterval(new j(t,s??0));return n.subtract(this)}or(t){const s=new it;return s.addSet(this),t.forEach(n=>s.addSet(n)),s}and(t){if(t.isNil)return new it;const s=this.intervals,n=t.intervals;let r;const h=s.length,a=n.length;let o=0,c=0;for(;oh.stop){n++;continue}let o=null,c=null;if(a.start>h.start&&(o=new j(h.start,a.start-1)),a.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let s=0;for(const n of this.intervals){if(t.stop<=n.start)return;if(t.start>n.start&&t.stop=n.stop?(this.intervals.splice(s,1),s=s-1):t.start1&&(s+="{");let n=!1,r;t instanceof ie?r=t:Array.isArray(t)?r=ie.fromTokenNames(t):n=t??!1;for(let h=0;h":n?s+="'"+String.fromCodePoint(o)+"'":r?s+=this.elementName(r,o):s+=o;else if(n)s+="'"+String.fromCodePoint(o)+"'..'"+String.fromCodePoint(c)+"'";else if(r)for(let u=o;u<=c;++u)u>o&&(s+=", "),s+=this.elementName(r,u);else s+=o+".."+c;h1&&(s+="}"),s}toArray(){const t=[];for(const s of this.intervals)for(let n=s.start;n<=s.stop;n++)t.push(n);return t}get length(){let t=0;if(this.intervals.length===1){const n=this.intervals[0];return n.stop-n.start+1}for(const n of this.intervals)t+=n.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,s){return s===_.EOF?"":s===_.EPSILON?"":t.getDisplayName(s)}},A(it,"IntervalSet"),E(it,"COMPLETE_CHAR_SET",it.of(Ft.MIN_CHAR_VALUE,Ft.MAX_CHAR_VALUE)),E(it,"EMPTY_SET",new it),it.COMPLETE_CHAR_SET.readOnly=!0,it.EMPTY_SET.readOnly=!0,it),ri=(is=class extends pe{constructor(s,n,r,h){super(s);E(this,"ruleIndex");E(this,"precedence");E(this,"followState");this.ruleIndex=n,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return y.RULE}matches(s,n,r){return!1}},A(is,"RuleTransition"),is),Dr=(rs=class extends pe{constructor(s,n){super(s);$(this,Ye,void 0);n!=null?X(this,Ye,n):(X(this,Ye,new Kt),x(this,Ye).addOne(_.INVALID_TYPE))}get label(){return x(this,Ye)}get serializationType(){return y.SET}matches(s,n,r){return this.label.contains(s)}toString(){return x(this,Ye).toString()}},Ye=new WeakMap,A(rs,"SetTransition"),rs),Ur=(hs=class extends Dr{constructor(t,s){super(t,s)}get serializationType(){return y.NOT_SET}matches(t,s,n){return t>=s&&t<=n&&!super.matches(t,s,n)}toString(){return"~"+super.toString()}},A(hs,"NotSetTransition"),hs),Pa=(as=class extends pe{constructor(t){super(t)}get serializationType(){return y.WILDCARD}matches(t,s,n){return t>=s&&t<=n}toString(){return"."}},A(as,"WildcardTransition"),as),A7=(Ge=class{constructor(t){E(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const s=t.transitions.length,n=new Array(s);n.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const n=this.states[t];let r=this.nextTokens(n);if(!r.contains(_.EPSILON))return r;let h=s;const a=new Kt;for(a.addSet(r),a.removeOne(_.EPSILON);h!==null&&h.invokingState>=0&&r.contains(_.EPSILON);){const c=this.states[h.invokingState].transitions[0];r=this.nextTokens(c.followState),a.addSet(r),a.removeOne(_.EPSILON),h=h.parent}return r.contains(_.EPSILON)&&a.addOne(_.EOF),a}nextTokens(t,s){return s===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new A7(this).LOOK(t,null,s)}},A(V0,"ATN"),E(V0,"INVALID_ALT_NUMBER",0),V0),Ha=(Qe=class{constructor(t){E(this,"readOnly",!1);E(this,"verifyATN");E(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},A(Qe,"ATNDeserializationOptions"),E(Qe,"defaultOptions",new Qe),Qe.defaultOptions.readOnly=!0,Qe),h1={LEXER:0,PARSER:1},va=(os=class extends ee{get stateType(){return V.BASIC}},A(os,"BasicState"),os),L0=(cs=class extends qe{constructor(){super();E(this,"endState");this.endState=null}},A(cs,"BlockStartState"),cs),Sr=(us=class extends ee{constructor(){super(...arguments);E(this,"startState",null)}get stateType(){return V.BLOCK_END}},A(us,"BlockEndState"),us),s0=(ls=class extends ee{constructor(){super(...arguments);E(this,"loopBackState",null)}get stateType(){return V.LOOP_END}},A(ls,"LoopEndState"),ls),qa=(Es=class extends ee{constructor(){super();E(this,"stopState");E(this,"isLeftRecursiveRule");E(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return V.RULE_START}},A(Es,"RuleStartState"),Es),m7=(Rs=class extends qe{get stateType(){return V.TOKEN_START}},A(Rs,"TokensStartState"),Rs),t3=(Ts=class extends qe{get stateType(){return V.PLUS_LOOP_BACK}},A(Ts,"PlusLoopbackState"),Ts),yr=(Ws=class extends ee{get stateType(){return V.STAR_LOOP_BACK}},A(Ws,"StarLoopbackState"),Ws),Mr=(ds=class extends L0{constructor(){super(...arguments);E(this,"loopBackState")}get stateType(){return V.PLUS_BLOCK_START}},A(ds,"PlusBlockStartState"),ds),wr=(Ks=class extends L0{get stateType(){return V.STAR_BLOCK_START}},A(Ks,"StarBlockStartState"),Ks),e3=(As=class extends L0{get stateType(){return V.BLOCK_START}},A(As,"BasicBlockStartState"),As),hi=(Cs=class extends pe{constructor(s,n){super(s);E(this,"labelValue");$(this,ms,void 0);this.labelValue=n,X(this,ms,Kt.of(n,n))}get label(){return x(this,ms)}matches(s,n,r){return this.labelValue===s}get serializationType(){return y.ATOM}toString(){return this.labelValue.toString()}},ms=new WeakMap,A(Cs,"AtomTransition"),Cs),s3=(_s=class extends pe{constructor(s,n,r){super(s);E(this,"start");E(this,"stop");$(this,fs,new Kt);this.start=n,this.stop=r,x(this,fs).addRange(n,r)}get label(){return x(this,fs)}get serializationType(){return y.RANGE}matches(s,n,r){return s>=this.start&&s<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},fs=new WeakMap,A(_s,"RangeTransition"),_s),a1=(xs=class extends pe{constructor(s,n=-1){super(s);$(this,Ls,void 0);X(this,Ls,n)}get isEpsilon(){return!0}matches(s,n,r){return!1}get outermostPrecedenceReturn(){return x(this,Ls)}get serializationType(){return y.EPSILON}toString(){return"epsilon"}},Ls=new WeakMap,A(xs,"EpsilonTransition"),xs),n3=(ps=class extends Nr{constructor(s,n,r,h){super(s);E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=n,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(s,n,r){return!1}get serializationType(){return y.PREDICATE}getPredicate(){return new q.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},A(ps,"PredicateTransition"),ps),C7=(Ns=class extends Nr{constructor(s,n){super(s);E(this,"precedence");this.precedence=n}get isEpsilon(){return!0}matches(s,n,r){return!1}getPredicate(){return new q.PrecedencePredicate(this.precedence)}get serializationType(){return y.PRECEDENCE}toString(){return this.precedence+" >= _p"}},A(Ns,"PrecedencePredicateTransition"),Ns),At={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},f7=(l0=class extends ne{constructor(){super(At.SKIP)}execute(t){t.skip()}toString(){return"skip"}},A(l0,"LexerSkipAction"),E(l0,"INSTANCE",new l0),l0),_7=(Y0=class extends ne{constructor(s){super(At.CHANNEL);E(this,"channel");this.channel=s}execute(s){s._channel=this.channel}updateHashCode(s){s.update(this.actionType,this.channel)}equals(s){return this===s?!0:s instanceof Y0?this.channel===s.channel:!1}toString(){return"channel("+this.channel+")"}},A(Y0,"LexerChannelAction"),Y0),L7=(G0=class extends ne{constructor(s,n){super(At.CUSTOM);E(this,"ruleIndex");E(this,"actionIndex");this.ruleIndex=s,this.actionIndex=n,this.isPositionDependent=!0}execute(s){s.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(s){s.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(s){return this===s?!0:s instanceof G0?this.ruleIndex===s.ruleIndex&&this.actionIndex===s.actionIndex:!1}},A(G0,"LexerCustomAction"),G0),x7=(E0=class extends ne{constructor(){super(At.MORE)}execute(t){t.more()}toString(){return"more"}},A(E0,"LexerMoreAction"),E(E0,"INSTANCE",new E0),E0),p7=(Q0=class extends ne{constructor(s){super(At.TYPE);E(this,"type");this.type=s}execute(s){s._type=this.type}updateHashCode(s){s.update(this.actionType,this.type)}equals(s){return this===s?!0:s instanceof Q0?this.type===s.type:!1}toString(){return"type("+this.type+")"}},A(Q0,"LexerTypeAction"),Q0),N7=(X0=class extends ne{constructor(s){super(At.PUSH_MODE);E(this,"mode");this.mode=s}execute(s){s.pushMode(this.mode)}updateHashCode(s){s.update(this.actionType,this.mode)}equals(s){return this===s?!0:s instanceof X0?this.mode===s.mode:!1}toString(){return"pushMode("+this.mode+")"}},A(X0,"LexerPushModeAction"),X0),O7=(R0=class extends ne{constructor(){super(At.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},A(R0,"LexerPopModeAction"),E(R0,"INSTANCE",new R0),R0),g7=(Z0=class extends ne{constructor(s){super(At.MODE);E(this,"mode");this.mode=s}execute(s){s.mode(this.mode)}updateHashCode(s){s.update(this.actionType,this.mode)}equals(s){return this===s?!0:s instanceof Z0?this.mode===s.mode:!1}toString(){return"mode("+this.mode+")"}},A(Z0,"LexerModeAction"),Z0),br=A((i,t)=>{const s=new Array(i-1);return s[i-1]=t,s.map(()=>t)},"initArray"),o1=(Xe=class{constructor(t){E(this,"data",[]);E(this,"pos",0);E(this,"deserializationOptions");E(this,"stateFactories",null);E(this,"actionFactories",null);t||(t=Ha.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const s=this.readATN();this.readStates(s),this.readRules(s),this.readModes(s);const n=[];return this.readSets(s,n),this.readEdges(s,n),this.readDecisions(s),this.readLexerActions(s),this.markPrecedenceDecisions(s),this.verifyATN(s),this.deserializationOptions.generateRuleBypassTransitions&&s.grammarType===h1.PARSER&&(this.generateRuleBypassTransitions(s),this.verifyATN(s)),s}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==Xe.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+Xe.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),s=this.readInt();return new G(t,s)}readStates(t){let s,n;const r=[],h=[],a=this.readInt();for(let u=0;u0;)h.addTransition(u.transitions[W-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[s].addTransition(new a1(h)),c&&a.addTransition(new a1(c));const d=new va;t.addState(d),d.addTransition(new hi(a,t.ruleToTokenType[s])),h.addTransition(new a1(d))}stateIsEndStateFor(t,s){if(t.ruleIndex!==s||!(t instanceof ge))return null;const n=t.transitions[t.transitions.length-1].target;return n instanceof s0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof xt?t:null}markPrecedenceDecisions(t){for(const s of t.states)if(s instanceof ge&&t.ruleToStartState[s.ruleIndex].isPrecedenceRule){const n=s.transitions[s.transitions.length-1].target;n instanceof s0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof xt&&(s.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const s of t.states)if(s!==null)if(this.checkCondition(s.epsilonOnlyTransitions||s.transitions.length<=1),s instanceof Mr)this.checkCondition(s.loopBackState!==null);else if(s instanceof ge)if(this.checkCondition(s.loopBackState!==null),this.checkCondition(s.transitions.length===2),s.transitions[0].target instanceof wr)this.checkCondition(s.transitions[1].target instanceof s0),this.checkCondition(!s.nonGreedy);else if(s.transitions[0].target instanceof s0)this.checkCondition(s.transitions[1].target instanceof wr),this.checkCondition(s.nonGreedy);else throw new Error("IllegalState");else s instanceof yr?(this.checkCondition(s.transitions.length===1),this.checkCondition(s.transitions[0].target instanceof ge)):s instanceof s0?this.checkCondition(s.loopBackState!==null):s instanceof qa?this.checkCondition(s.stopState!==null):s instanceof L0?this.checkCondition(s.endState!==null):s instanceof Sr?this.checkCondition(s.startState!==null):s instanceof qe?this.checkCondition(s.transitions.length<=1||s.decision>=0):this.checkCondition(s.transitions.length<=1||s instanceof xt)}}checkCondition(t,s){if(!t)throw s==null&&(s="IllegalState"),s}readInt(){return this.data[this.pos++]}edgeFactory(t,s,n,r,h,a,o){const c=t.states[n];switch(s){case y.EPSILON:return new a1(c);case y.RANGE:return a!==0?new s3(c,_.EOF,h):new s3(c,r,h);case y.RULE:return new ri(t.states[r],h,a,c);case y.PREDICATE:return new n3(c,r,h,a!==0);case y.PRECEDENCE:return new C7(c,r);case y.ATOM:return a!==0?new hi(c,_.EOF):new hi(c,r);case y.ACTION:return new ba(c,r,h,a!==0);case y.SET:return new Dr(c,o[r]);case y.NOT_SET:return new Ur(c,o[r]);case y.WILDCARD:return new Pa(c);default:throw new Error("The specified transition type: "+s+" is not valid.")}}stateFactory(t,s){var n,r;if(this.stateFactories===null){const h=[];h[V.INVALID_TYPE]=null,h[V.BASIC]=()=>new va,h[V.RULE_START]=()=>new qa,h[V.BLOCK_START]=()=>new e3,h[V.PLUS_BLOCK_START]=()=>new Mr,h[V.STAR_BLOCK_START]=()=>new wr,h[V.TOKEN_START]=()=>new m7,h[V.RULE_STOP]=()=>new xt,h[V.BLOCK_END]=()=>new Sr,h[V.STAR_LOOP_BACK]=()=>new yr,h[V.STAR_LOOP_ENTRY]=()=>new ge,h[V.PLUS_LOOP_BACK]=()=>new t3,h[V.LOOP_END]=()=>new s0,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(n=this.stateFactories)[t])==null?void 0:r.call(n))??null;if(h!==null)return h.ruleIndex=s,h}return null}lexerActionFactory(t,s,n){if(this.actionFactories===null){const r=[];r[At.CHANNEL]=(h,a)=>new _7(h),r[At.CUSTOM]=(h,a)=>new L7(h,a),r[At.MODE]=(h,a)=>new g7(h),r[At.MORE]=(h,a)=>x7.INSTANCE,r[At.POP_MODE]=(h,a)=>O7.INSTANCE,r[At.PUSH_MODE]=(h,a)=>new N7(h),r[At.SKIP]=(h,a)=>f7.INSTANCE,r[At.TYPE]=(h,a)=>new p7(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](s,n)}},A(Xe,"ATNDeserializer"),E(Xe,"SERIALIZED_VERSION",4),Xe),g=(Os=class extends T{constructor(s,n=null,r=null,h=null,a=null,o=null){o=o??s.context,h=h??s.getCurrentToken(),r=r??s.getCurrentToken(),n=n??s.inputStream;super({message:"",recognizer:s,input:n,ctx:o});E(this,"deadEndConfigs",null);E(this,"startToken");this.deadEndConfigs=a,this.startToken=r,this.offendingToken=h}},A(Os,"NoViableAltException"),Os),I7=(gs=class{constructor(){E(this,"cacheMap");this.cacheMap=new ve}get(t,s){const n=this.cacheMap.get(t)??null;return n===null?null:n.get(s)??null}set(t,s,n){let r=this.cacheMap.get(t)??null;r===null&&(r=new ve,this.cacheMap.set(t,r)),r.set(s,n)}},A(gs,"DoubleDict"),gs),Et=(ft=class{static hasSLLConflictTerminatingPrediction(t,s){if(ft.allConfigsInRuleStopStates(s))return!0;if(t===ft.SLL&&s.hasSemanticContext){const r=new Xt;for(let h of s.items)h=new lt({semanticContext:q.NONE},h),r.add(h);s=r}const n=ft.getConflictingAltSubsets(s);return ft.hasConflictingAltSet(n)&&!ft.hasStateAssociatedWithOneAlt(s)}static hasConfigInRuleStopState(t){for(const s of t.items)if(s.state instanceof xt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const s of t.items)if(!(s.state instanceof xt))return!1;return!0}static resolvesToJustOneViableAlt(t){return ft.getSingleViableAlt(t)}static allSubsetsConflict(t){return!ft.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const s of t)if(s.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const s of t)if(s.length>1)return!0;return!1}static allSubsetsEqual(t){let s=null;for(const n of t)if(s===null)s=n;else if(n!==s)return!1;return!0}static getUniqueAlt(t){const s=ft.getAlts(t);return s.length===1?s.nextSetBit(0):G.INVALID_ALT_NUMBER}static getAlts(t){const s=new qt;return t.forEach(n=>{s.or(n)}),s}static getConflictingAltSubsets(t){const s=new ve(n=>vt.hashStuff(n.state.stateNumber,n.context),(n,r)=>{var h;return n.state.stateNumber===r.state.stateNumber&&(((h=n.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(n=>{let r=s.get(n);r===null&&(r=new qt,s.set(n,r)),r.set(n.alt)}),s.getValues()}static getStateToAltMap(t){const s=new ve;return t.items.forEach(n=>{let r=s.get(n.state);r||(r=new qt,s.set(n.state,r)),r.set(n.alt)}),s}static hasStateAssociatedWithOneAlt(t){const s={};return t.items.forEach(n=>{const r=n.state.stateNumber;s[r]||(s[r]=0),s[r]++}),Object.values(s).some(n=>n===1)}static getSingleViableAlt(t){let s=null;for(const n of t){const r=n.nextSetBit(0);if(s===null)s=r;else if(s!==r)return G.INVALID_ALT_NUMBER}return s??0}},A(ft,"PredictionMode"),E(ft,"SLL",0),E(ft,"LL",1),E(ft,"LL_EXACT_AMBIG_DETECTION",2),ft),ai=(w=class extends te{constructor(s,n,r,h){super(n,h);E(this,"predictionMode");E(this,"decisionToDFA");E(this,"parser");E(this,"mergeCache",null);E(this,"_input",null);E(this,"_startIndex",0);E(this,"_outerContext",null);E(this,"_dfa",null);this.parser=s,this.decisionToDFA=r}static getUniqueAlt(s){let n=G.INVALID_ALT_NUMBER;for(const r of s.items)if(n===G.INVALID_ALT_NUMBER)n=r.alt;else if(r.alt!==n)return G.INVALID_ALT_NUMBER;return n}reset(){}clearDFA(){for(let s=0;s"}getTokenName(s){if(s===_.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:ie.EMPTY_VOCABULARY).getDisplayName(s);return r===s.toString()?r:r+"<"+s+">"}getLookaheadName(s){return this.getTokenName(s.LA(1))}dumpDeadEndConfigs(s){console.log("dead end configs: ");const n=s.deadEndConfigs.items;for(const r of n){let h="no edges";if(r.state.transitions.length>0){const a=r.state.transitions[0];a instanceof hi?h="Atom "+this.getTokenName(a.labelValue):a instanceof Dr&&(h=(a instanceof Ur?"~":"")+"Set "+a.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(s,n){const r=n.transitions.length,h=this.getConflictingAltsOrUniqueAlt(s.configs),a=this.getPredsForAmbigAlts(h,s.configs,r);a!==null?(s.predicates=this.getPredicatePredictions(h,a),s.prediction=G.INVALID_ALT_NUMBER):s.prediction=h.nextSetBit(0)}execATNWithFullContext(s,n,r,h,a,o){(w.debug||w.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const c=!0;let u=!1,W,d=r;h.seek(a);let K=h.LA(1),C=-1;for(;;){if(W=this.computeReachSet(d,K,c),W===null){const I=this.noViableAlt(h,o,d,a);h.seek(a);const k=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(d,o);if(k!==G.INVALID_ALT_NUMBER)return k;throw I}const L=Et.getConflictingAltSubsets(W);if(w.debug&&console.log("LL altSubSets="+L+", predict="+Et.getUniqueAlt(L)+", resolvesToJustOneViableAlt="+Et.resolvesToJustOneViableAlt(L)),W.uniqueAlt=w.getUniqueAlt(W),W.uniqueAlt!==G.INVALID_ALT_NUMBER){C=W.uniqueAlt;break}else if(this.predictionMode!==Et.LL_EXACT_AMBIG_DETECTION){if(C=Et.resolvesToJustOneViableAlt(L),C!==G.INVALID_ALT_NUMBER)break}else if(Et.allSubsetsConflict(L)&&Et.allSubsetsEqual(L)){u=!0,C=Et.getSingleViableAlt(L);break}d=W,K!==_.EOF&&(h.consume(),K=h.LA(1))}return W.uniqueAlt!==G.INVALID_ALT_NUMBER?(this.reportContextSensitivity(s,C,W,a,h.index),C):(this.reportAmbiguity(s,n,a,h.index,u,null,W),C)}computeReachSet(s,n,r){w.debug&&console.log("in computeReachSet, starting closure: "+s),this.mergeCache===null&&(this.mergeCache=new I7);const h=new Xt(r);let a=null;for(const c of s.items){if(w.debug&&console.log("testing "+this.getTokenName(n)+" at "+c),c.state instanceof xt){(r||n===_.EOF)&&(a===null&&(a=[]),a.push(c));continue}for(const u of c.state.transitions){const W=this.getReachableTarget(u,n);if(W!==null){const d=new lt({state:W},c);h.add(d,this.mergeCache)}}}let o=null;if(a===null&&n!==_.EOF&&(h.items.length===1||w.getUniqueAlt(h)!==G.INVALID_ALT_NUMBER)&&(o=h),o===null){o=new Xt(r);const c=new wt,u=n===_.EOF;for(const W of h.items)this.closure(W,o,c,!1,r,u)}if(n===_.EOF&&(o=this.removeAllConfigsNotInRuleStopState(o,o===h)),a!==null&&(!r||!Et.hasConfigInRuleStopState(o)))for(const c of a)o.add(c,this.mergeCache);return o.items.length===0?null:o}removeAllConfigsNotInRuleStopState(s,n){if(Et.allConfigsInRuleStopStates(s))return s;const r=new Xt(s.fullCtx);for(const h of s.items){if(h.state instanceof xt){r.add(h,this.mergeCache);continue}if(n&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(_.EPSILON)){const o=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new lt({state:o},h),this.mergeCache)}}return r}computeStartState(s,n,r){const h=gr(this.atn,n),a=new Xt(r);for(let o=0;o0&&(o=this.getAltThatFinishedDecisionEntryRule(a),o!==G.INVALID_ALT_NUMBER)?o:G.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(s){const n=[];for(const r of s.items)(r.reachesIntoOuterContext>0||r.state instanceof xt&&r.context.hasEmptyPath())&&n.indexOf(r.alt)<0&&n.push(r.alt);return n.length===0?G.INVALID_ALT_NUMBER:Math.min(...n)}splitAccordingToSemanticValidity(s,n){const r=new Xt(s.fullCtx),h=new Xt(s.fullCtx);for(const a of s.items)a.semanticContext!==q.NONE?a.semanticContext.evaluate(this.parser,n)?r.add(a):h.add(a):r.add(a);return[r,h]}evalSemanticContext(s,n,r){const h=new qt;for(const a of s){if(a.pred===q.NONE){if(h.set(a.alt),!r)break;continue}const o=a.pred.evaluate(this.parser,n);if((w.debug||w.dfa_debug)&&console.log("eval pred "+a+"="+o),o&&((w.debug||w.dfa_debug)&&console.log("PREDICT "+a.alt),h.set(a.alt),!r))break}return h}closure(s,n,r,h,a,o){this.closureCheckingStopState(s,n,r,h,a,0,o)}closureCheckingStopState(s,n,r,h,a,o,c){if(s.state instanceof xt)if(s.context&&!s.context.isEmpty()){for(let u=0;u=0&&(I+=1)}this.closureCheckingStopState(L,n,r,C,a,I,c)}}}canDropLoopEntryEdgeInLeftRecursiveRule(s){const n=s.state;if(n.stateType!==V.STAR_LOOP_ENTRY||!s.context||!n.precedenceRuleDecision||s.context.isEmpty()||s.context.hasEmptyPath())return!1;const r=s.context.length;for(let c=0;c=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+He(this.parser.getRuleInvocationStack())));let o=null;if(r&&h)if(a&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(o=new lt({state:n.target},s))}else{const c=q.andContext(s.semanticContext,n.getPredicate());o=new lt({state:n.target,semanticContext:c},s)}else o=new lt({state:n.target},s);return w.debug&&console.log("config from pred transition="+o),o}predTransition(s,n,r,h,a){w.debug&&(console.log("PRED (collectPredicates="+r+") "+n.ruleIndex+":"+n.predIndex+", ctx dependent="+n.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+He(this.parser.getRuleInvocationStack())));let o=null;if(r&&(n.isCtxDependent&&h||!n.isCtxDependent))if(a&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(o=new lt({state:n.target},s))}else{const c=q.andContext(s.semanticContext,n.getPredicate());o=new lt({state:n.target,semanticContext:c},s)}else o=new lt({state:n.target},s);return w.debug&&console.log("config from pred transition="+o),o}ruleTransition(s,n){w.debug&&console.log("CALL rule "+this.getRuleName(n.target.ruleIndex)+", ctx="+s.context);const r=n.followState,h=bt.create(s.context,r.stateNumber);return new lt({state:n.target,context:h},s)}getConflictingAlts(s){const n=Et.getConflictingAltSubsets(s);return Et.getAlts(n)}getConflictingAltsOrUniqueAlt(s){let n;return s.uniqueAlt!==G.INVALID_ALT_NUMBER?(n=new qt,n.set(s.uniqueAlt)):n=s.conflictingAlts,n}noViableAlt(s,n,r,h){return new g(this.parser,s,s.get(h),s.LT(1),r,n)}addDFAEdge(s,n,r,h){return w.debug&&console.log("EDGE "+n+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(s,h),n===null||r<-1||r>this.atn.maxTokenType||(n.edges===null&&(n.edges=new Array(this.atn.maxTokenType+2),n.edges.fill(null)),n.edges[r+1]=h,w.debug&&console.log(`DFA= +`+s.toString(this.parser!=null?this.parser.vocabulary:ie.EMPTY_VOCABULARY))),h)}addDFAState(s,n){if(n===te.ERROR)return n;const r=s.states.get(n);return r!==null?r:(n.stateNumber=s.states.length,n.configs.readOnly||(n.configs.optimizeConfigs(this),n.configs.setReadonly(!0)),s.states.add(n),w.debug&&console.log("adding new DFA state: "+n),n)}reportAttemptingFullContext(s,n,r,h,a){if(w.debug||w.retry_debug){const o=new j(h,a+1);console.log("reportAttemptingFullContext decision="+s.decision+":"+r+", input="+this.parser.tokenStream.getText(o))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,s,h,a,n,r)}reportContextSensitivity(s,n,r,h,a){if(w.debug||w.retry_debug){const o=new j(h,a+1);console.log("reportContextSensitivity decision="+s.decision+":"+r+", input="+this.parser.tokenStream.getText(o))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,s,h,a,n,r)}reportAmbiguity(s,n,r,h,a,o,c){if(w.debug||w.retry_debug){const u=new j(r,h+1);console.log("reportAmbiguity "+o+":"+c+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,s,r,h,a,o,c)}},A(w,"ParserATNSimulator"),E(w,"debug"),E(w,"trace_atn_sim",!1),E(w,"debug_add",!1),E(w,"debug_closure",!1),E(w,"dfa_debug",!1),E(w,"retry_debug",!1),w),c1=(Is=class{constructor(){E(this,"cache",new ve)}add(t){if(t===Z.EMPTY)return Z.EMPTY;const s=this.cache.get(t)||null;return s!==null?s:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},A(Is,"PredictionContextCache"),Is),u1=(ks=class{constructor(t,s,n,r,h,a){E(this,"decision");E(this,"configs");E(this,"input");E(this,"startIndex");E(this,"stopIndex");E(this,"fullCtx");this.decision=t,this.configs=s,this.input=n,this.startIndex=r,this.stopIndex=h,this.fullCtx=a}},A(ks,"DecisionEventInfo"),ks),k7=(Ds=class extends u1{constructor(s,n,r,h,a,o,c){super(s,n,h,a,o,c);E(this,"ambigAlts");this.ambigAlts=r}},A(Ds,"AmbiguityInfo"),Ds),i3=(Us=class extends u1{constructor(t,s,n,r,h){super(t,s,n,r,h,!0)}},A(Us,"ContextSensitivityInfo"),Us),D7=(Ss=class{constructor(t){E(this,"decision",0);E(this,"invocations",0);E(this,"timeInPrediction",0);E(this,"SLL_TotalLook",0);E(this,"SLL_MinLook",0);E(this,"SLL_MaxLook",0);E(this,"SLL_MaxLookEvent");E(this,"LL_TotalLook",0);E(this,"LL_MinLook",0);E(this,"LL_MaxLook",0);E(this,"LL_MaxLookEvent");E(this,"contextSensitivities");E(this,"errors");E(this,"ambiguities");E(this,"predicateEvals");E(this,"SLL_ATNTransitions",0);E(this,"SLL_DFATransitions",0);E(this,"LL_Fallback",0);E(this,"LL_ATNTransitions",0);E(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},A(Ss,"DecisionInfo"),Ss),Fr=(ys=class extends u1{constructor(t,s,n,r,h,a){super(t,s,n,r,h,a)}},A(ys,"ErrorInfo"),ys),r3=(Ms=class extends u1{constructor(s,n,r,h,a,o,c){super(s,n,h,a,o,c);E(this,"predictedAlt");this.predictedAlt=r}},A(Ms,"LookaheadEventInfo"),Ms),Br=(ws=class extends ai{constructor(s){const n=s.interpreter.getSharedContextCache();super(s,s.interpreter.atn,s.interpreter.decisionToDFA,n);E(this,"decisions");E(this,"numDecisions",0);E(this,"currentDecision",0);E(this,"currentState");E(this,"conflictingAltResolvedBySLL");$(this,Ke,0);$(this,Ae,0);if(n){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[n].SLL_MaxLook&&(this.decisions[n].SLL_MaxLook=c,this.decisions[n].SLL_MaxLookEvent=new r3(n,null,a,s,this._startIndex,x(this,Ke),!1)),x(this,Ae)>=0){const u=x(this,Ae)-this._startIndex+1;this.decisions[n].LL_TotalLook+=u,this.decisions[n].LL_MinLook=this.decisions[n].LL_MinLook===0?u:Math.min(this.decisions[n].LL_MinLook,u),u>this.decisions[n].LL_MaxLook&&(this.decisions[n].LL_MaxLook=u,this.decisions[n].LL_MaxLookEvent=new r3(n,null,a,s,this._startIndex,x(this,Ae),!0))}return a}finally{this.currentDecision=-1}}getExistingTargetState(s,n){if(this._input){X(this,Ke,this._input.index);const r=super.getExistingTargetState(s,n);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===te.ERROR&&this.decisions[this.currentDecision].errors.push(new Fr(this.currentDecision,s.configs,this._input,this._startIndex,x(this,Ke),!1))),this.currentState=r,r}return null}computeTargetState(s,n,r){const h=super.computeTargetState(s,n,r);return this.currentState=h,h}computeReachSet(s,n,r){r&&this._input&&X(this,Ae,this._input.index);const h=super.computeReachSet(s,n,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Fr(this.currentDecision,s,this._input,this._startIndex,x(this,Ae),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Fr(this.currentDecision,s,this._input,this._startIndex,x(this,Ke),!1)))),h}reportAttemptingFullContext(s,n,r,h,a){n!==null?this.conflictingAltResolvedBySLL=n.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,n&&super.reportAttemptingFullContext(s,n,r,h,a)}reportContextSensitivity(s,n,r,h,a){n!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new i3(this.currentDecision,r,this._input,h,a)),super.reportContextSensitivity(s,n,r,h,a)}reportAmbiguity(s,n,r,h,a,o,c){let u;o!==null?u=o.nextSetBit(0):u=c.getAlts().nextSetBit(0),this._input&&(c.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new i3(this.currentDecision,c,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new k7(this.currentDecision,c,o,this._input,r,h,c.fullCtx))),super.reportAmbiguity(s,n,r,h,a,o,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ke=new WeakMap,Ae=new WeakMap,A(ws,"ProfilingATNSimulator"),ws);bs=class{constructor(t){E(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),s=[];for(let n=0;n0&&s.push(n);return s}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let s=0;for(let n=0;n0?n:void 0,modes:r.length>0?r:void 0}}},A(Bs,"InterpreterDataReader"),Vs=class{visit(t){return t.accept(this)}visitChildren(t){let s=this.defaultResult();const n=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const s=this.index+t-1;return s<0||s>=this.data.length?_.EOF:this.data[s]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,s){let n,r;return t instanceof j?(n=t.start,r=t.stop):(n=t,r=s??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),n>=this.data.length?"":Nh(this,Ys,Oh).call(this,n,r+1)}toString(){return Nh(this,Ys,Oh).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:ni.UNKNOWN_SOURCE_NAME}},Ys=new WeakSet,Oh=function(t,s){const n=this.data.slice(t,s);let r="";return n.forEach(h=>{r+=String.fromCodePoint(h)}),r},A(Gs,"CharStreamImpl"),Gs),Vr=(Qs=class{static fromString(t){return new S7(t)}},A(Qs,"CharStreams"),Qs),y7=(Xs=class{constructor(t){E(this,"tokenSource");E(this,"tokens",[]);E(this,"p",-1);E(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(s)>=s:!0}fetch(t){if(this.fetchedEOF)return 0;for(let s=0;s=this.tokens.length||s<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+s+" not in 0.."+(this.tokens.length-1));if(t>s)return[];if(n===void 0)return this.tokens.slice(t,s+1);const r=[];s>=this.tokens.length&&(s=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[s]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,s){if(this.sync(t),t>=this.tokens.length)return-1;let n=this.tokens[t];for(;n.channel!==s;){if(n.type===_.EOF)return-1;t+=1,this.sync(t),n=this.tokens[t]}return t}previousTokenOnChannel(t,s){for(;t>=0&&this.tokens[t].channel!==s;)t-=1;return t}getHiddenTokensToRight(t,s){if(s===void 0&&(s=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.nextTokenOnChannel(t+1,Ft.DEFAULT_TOKEN_CHANNEL),r=t+1,h=n===-1?this.tokens.length-1:n;return this.filterForChannel(r,h,s)}getHiddenTokensToLeft(t,s){if(s===void 0&&(s=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.previousTokenOnChannel(t-1,Ft.DEFAULT_TOKEN_CHANNEL);if(n===t-1)return null;const r=n+1,h=t-1;return this.filterForChannel(r,h,s)}filterForChannel(t,s,n){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let a=n;a<=r;a++){const o=this.tokens[a];if(o.type===_.EOF)break;h+=o.text}return h.toString()}else{const s=t[0];return this.getText(s.getSourceInterval())}case 2:{const s=t[0],n=t[1];return s!==null&&n!==null?this.getText(j.of(s.tokenIndex,n.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},A(Xs,"BufferedTokenStream"),Xs),oi=(Zs=class extends y7{constructor(s,n){super(s);E(this,"channel",_.DEFAULT_CHANNEL);this.channel=n??_.DEFAULT_CHANNEL}adjustSeekIndex(s){return this.nextTokenOnChannel(s,this.channel)}LB(s){if(s===0||this.index-s<0)return null;let n=this.index,r=1;for(;r<=s;)n=this.previousTokenOnChannel(n-1,this.channel),r+=1;return n<0?null:this.tokens[n]}LT(s){if(this.lazyInit(),s===0)return null;if(s<0)return this.LB(-s);let n=this.index,r=1;for(;rnew t0(t,s))),B),M7=(js=class extends ii{syntaxError(t,s,n,r,h,a){}},A(js,"XPathLexerErrorListener"),js),x0=(zs=class{constructor(t){E(this,"invert");E(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(zs,"XPathElement"),zs),w7=($s=class extends x0{constructor(s,n){super(s);E(this,"ruleIndex");this.ruleIndex=n}evaluate(s){return Oe.findAllRuleNodes(s,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A($s,"XPathRuleAnywhereElement"),$s),b7=(Js=class extends x0{constructor(s,n){super(s);E(this,"ruleIndex");this.ruleIndex=n}evaluate(s){const n=[];for(const r of Oe.getChildren(s))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&n.push(r);return n}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Js,"XPathRuleElement"),Js),F7=(Ps=class extends x0{constructor(s,n){super(s);E(this,"tokenType");this.tokenType=n}evaluate(s){return Oe.findAllTokenNodes(s,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Ps,"XPathTokenAnywhereElement"),Ps),B7=(Hs=class extends x0{constructor(s,n){super(s);E(this,"tokenType");this.tokenType=n}evaluate(s){const n=[];for(const r of Oe.getChildren(s))r instanceof Ee&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&n.push(r);return n}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Hs,"XPathTokenElement"),Hs),V7=(vs=class extends x0{constructor(){super(a3.WILDCARD)}evaluate(t){return this.invert?[]:Oe.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(vs,"XPathWildcardAnywhereElement"),vs),Y7=(qs=class extends x0{constructor(){super(a3.WILDCARD)}evaluate(t){const s=[];if(this.invert)return s;for(const n of Oe.getChildren(t))s.push(n);return s}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(qs,"XPathWildcardElement"),qs),a3=(Ze=class{constructor(t,s){E(this,"path");E(this,"elements");E(this,"parser");this.parser=t,this.path=s,this.elements=this.split(s)}static findAll(t,s,n){return new Ze(n,s).evaluate(t)}split(t){const s=new Zt(Vr.fromString(t));s.recover=c=>{throw c},s.removeErrorListeners(),s.addErrorListener(new M7);const n=new oi(s);try{n.fill()}catch(c){if(c instanceof i1){const W="Invalid tokens or characters at index "+s.column+" in path '"+t+"' -- "+c.message;throw new RangeError(W)}throw c}const r=n.getTokens(),h=[],a=r.length;let o=0;t:for(;o0&&this.elements[r].evaluate(a).forEach(c=>{h.add(c)},h);r++,n=h}return n}getXPathElement(t,s){if(t.type===_.EOF)throw new Error("Missing path element at end of path");const n=t.text;if(n==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(n),h=this.parser.getRuleIndex(n);switch(t.type){case Zt.WILDCARD:return s?new V7:new Y7;case Zt.TOKEN_REF:case Zt.STRING:if(r===_.INVALID_TYPE)throw new Error(n+" at index "+t.start+" isn't a valid token name");return s?new F7(n,r):new B7(n,r);default:if(h===-1)throw new Error(n+" at index "+t.start+" isn't a valid rule name");return s?new w7(n,h):new b7(n,h)}}},A(Ze,"XPath"),E(Ze,"WILDCARD","*"),E(Ze,"NOT","!"),Ze),Ie=(tn=class extends T{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},A(tn,"InputMismatchException"),tn),ci=(en=class extends T{constructor(s,n,r=null){super({message:G7(n??"no predicate",r??null),recognizer:s,input:s.inputStream,ctx:s.context});E(this,"ruleIndex",0);E(this,"predicateIndex",0);E(this,"predicate");const a=s.atn.states[s.state].transitions[0];a instanceof n3?(this.ruleIndex=a.ruleIndex,this.predicateIndex=a.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=n,this.offendingToken=s.getCurrentToken()}},A(en,"FailedPredicateException"),en),G7=A((i,t)=>t!==null?t:"failed predicate: {"+i+"}?","formatMessage"),Yr=(sn=class{constructor(){E(this,"errorRecoveryMode",!1);E(this,"lastErrorIndex",-1);E(this,"lastErrorStates",new Kt);E(this,"nextTokensContext",null);E(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Kt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,s){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),s instanceof g?this.reportNoViableAlternative(t,s):s instanceof Ie?this.reportInputMismatch(t,s):s instanceof ci?this.reportFailedPredicate(t,s):t.notifyErrorListeners(s.message,s.offendingToken,s))}recover(t,s){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const n=this.getErrorRecoverySet(t);this.consumeUntil(t,n)}sync(t){if(this.inErrorRecoveryMode(t))return;const s=t.atn.states[t.state],n=t.tokenStream.LA(1),r=t.atn.nextTokens(s);if(r.contains(n)){this.nextTokensContext=null,this.nextTokenState=ee.INVALID_STATE_NUMBER;return}else if(r.contains(_.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(s.stateType){case V.BLOCK_START:case V.STAR_BLOCK_START:case V.PLUS_BLOCK_START:case V.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new Ie(t);case V.PLUS_LOOP_BACK:case V.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new Kt;h.addSet(t.getExpectedTokens());const a=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,a)}break}}reportNoViableAlternative(t,s){if(s.message.length>0){t.notifyErrorListeners(s.message,s.offendingToken,s);return}const n=t.tokenStream;let r;n!==null&&s.startToken?s.startToken.type===_.EOF?r="":r=n.getText(new j(s.startToken.tokenIndex,s.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,s.offendingToken,s)}reportInputMismatch(t,s){if(s.message.length>0){t.notifyErrorListeners(s.message,s.offendingToken,s);return}const n="mismatched input "+this.getTokenErrorDisplay(s.offendingToken)+" expecting "+s.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(n,s.offendingToken,s)}reportFailedPredicate(t,s){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+s.message;t.notifyErrorListeners(r,s.offendingToken,s)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const s=t.getCurrentToken(),n=this.getTokenErrorDisplay(s),r=this.getExpectedTokens(t),h="extraneous input "+n+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,s,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const s=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(s);t.notifyErrorListeners(r,s,null)}recoverInline(t){const s=this.singleTokenDeletion(t);if(s!==null)return t.consume(),s;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Ie(t)}singleTokenInsertion(t){const s=t.tokenStream.LA(1),n=t.atn,h=n.states[t.state].transitions[0].target;return n.nextTokens(h,t.context).contains(s)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const s=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(s)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const s=t.getCurrentToken(),n=this.getExpectedTokens(t);let r=_.INVALID_TYPE;n.isNil||(r=n.minElement);let h;r===_.EOF?h="":h="";let a=s;const o=t.tokenStream.LT(-1);return a.type===_.EOF&&o!==null&&(a=o),t.getTokenFactory().create(a.source,r,h,_.DEFAULT_CHANNEL,-1,-1,a.line,a.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let s=t.text;return s===null&&(t.type===_.EOF?s="":s="<"+t.type+">"),this.escapeWSAndQuote(s)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const s=t.atn;let n=t.context;const r=new Kt;for(;n!==null&&n.invokingState>=0;){const a=s.states[n.invokingState].transitions[0],o=s.nextTokens(a.followState);r.addSet(o),n=n.parent}return r.removeOne(_.EPSILON),r}consumeUntil(t,s){let n=t.tokenStream.LA(1);for(;n!==_.EOF&&!s.contains(n);)t.consume(),n=t.tokenStream.LA(1)}},A(sn,"DefaultErrorStrategy"),sn);nn=class extends Yr{recover(t,s){let n=t.context;for(;n!==null;)n.exception=s,n=n.parent;throw new h3(s)}recoverInline(t){const s=new Ie(t);let n=t.context;for(;n!==null;)n.exception=s,n=n.parent;throw new h3(s)}sync(t){}},A(nn,"BailErrorStrategy"),rn=class extends ii{constructor(s){super();E(this,"exactOnly");E(this,"reportAmbiguity",(s,n,r,h,a,o,c)=>{if(this.exactOnly&&!a)return;const u=this.getDecisionDescription(s,n),W=this.getConflictingAlts(o,c),d=s.tokenStream.getText(j.of(r,h)),K=`reportAmbiguity d=${u}: ambigAlts=${W}, input='${d}'`;s.notifyErrorListeners(K,null,null)});E(this,"reportAttemptingFullContext",(s,n,r,h,a,o)=>{const c=this.getDecisionDescription(s,n),u=s.tokenStream.getText(j.of(r,h)),W=`reportAttemptingFullContext d=${c}, input='${u}'`;s.notifyErrorListeners(W,null,null)});E(this,"reportContextSensitivity",(s,n,r,h,a,o)=>{const c=this.getDecisionDescription(s,n),u=s.tokenStream.getText(j.of(r,h)),W=`reportContextSensitivity d=${c}, input='${u}'`;s.notifyErrorListeners(W,null,null)});E(this,"getDecisionDescription",(s,n)=>{const r=n.decision,h=n.atnStartState.ruleIndex,a=s.ruleNames;if(h<0||h>=a.length)return r.toString();const o=a[h];return o.length===0?r.toString():`${r} (${o})`});E(this,"getConflictingAlts",(s,n)=>{if(s!==null)return s;const r=new qt;for(let h=0;h{super(...Sl);$(this,hn,void 0)};r!==void 0?i(n,r):i(),X(this,hn,s)}get ruleIndex(){return x(this,hn)}},hn=new WeakMap,A(an,"InterpreterRuleContext"),an);Wn=class extends Ft{constructor(s,n,r,h,a,o,c){super(c);$(this,on,void 0);$(this,cn,void 0);$(this,un,void 0);$(this,ln,void 0);$(this,En,void 0);$(this,Rn,void 0);$(this,Tn,void 0);$(this,qi,new c1);if(o.grammarType!==h1.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");X(this,on,s),X(this,cn,o),X(this,un,r.slice(0)),X(this,ln,h.slice(0)),X(this,En,a.slice(0)),X(this,Rn,n),X(this,Tn,o.decisionToState.map((u,W)=>new t0(u,W))),this.interpreter=new e0(this,o,x(this,Tn),x(this,qi))}get atn(){return x(this,cn)}get grammarFileName(){return x(this,on)}get ruleNames(){return x(this,un)}get channelNames(){return x(this,ln)}get modeNames(){return x(this,En)}get vocabulary(){return x(this,Rn)}},on=new WeakMap,cn=new WeakMap,un=new WeakMap,ln=new WeakMap,En=new WeakMap,Rn=new WeakMap,Tn=new WeakMap,qi=new WeakMap,A(Wn,"LexerInterpreter");var X7=(dn=class{constructor(t){E(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},A(dn,"TraceListener"),dn),o3=(Kn=class extends Za{constructor(s){super();E(this,"printer",null);E(this,"buildParseTrees",!0);E(this,"errorHandler",new Yr);E(this,"context",null);E(this,"_input",null);E(this,"_precedenceStack",[]);E(this,"_parseListeners",null);E(this,"_syntaxErrors",0);E(this,"matchedEOF",!1);E(this,"_tracer",null);E(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=s}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(s){let n=this.getCurrentToken();return n.type===s?(this.errorHandler.reportMatch(this),this.consume()):(n=this.errorHandler.recoverInline(this),this.buildParseTrees&&n.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,n))),n}matchWildcard(){let s=this.getCurrentToken();return s.type>0?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}getParseListeners(){return this._parseListeners??[]}addParseListener(s){if(s===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(s)}removeParseListener(s){if(this._parseListeners!==null&&s!==null){const n=this._parseListeners.indexOf(s);n>=0&&this._parseListeners.splice(n,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const s=this.context;this._parseListeners.forEach(n=>{n.enterEveryRule(s),s.enterRule(n)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const s=this.context;this._parseListeners.slice(0).reverse().forEach(n=>{s.exitRule(n),n.exitEveryRule(s)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(s){this._input.getTokenSource().tokenFactory=s}getATNWithBypassAlts(){const s=this.getSerializedATN();if(s===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const n=new Ha;return n.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new o1(n).deserialize(s),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(s){this._input=null,this.reset(),this._input=s}get inputStream(){return this._input}set inputStream(s){this.tokenStream=s}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(s,n,r){n=n??null,r=r??null,n===null&&(n=this.getCurrentToken()),this._syntaxErrors+=1;const h=n.line,a=n.column;this.getErrorListenerDispatch().syntaxError(this,n,h,a,s,r)}consume(){const s=this.getCurrentToken();s.type!==_.EOF&&this.tokenStream.consume();const n=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||n){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,s)):r=this.context.addTokenNode(s),n&&this._parseListeners.forEach(h=>{r instanceof r1?h.visitErrorNode(r):h.visitTerminal(r)})}return s}addContextToParseTree(){var s;((s=this.context)==null?void 0:s.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(s,n,r){this.state=n,this.context=s,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(s,n){s.setAltNumber(n),this.buildParseTrees&&this.context!==s&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(s)),this.context=s}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(s,n,r,h){this.state=n,this._precedenceStack.push(h),this.context=s,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(s,n,r){const h=this.context;h.parent=s,h.invokingState=n,h.stop=this._input.LT(-1),this.context=s,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(s){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const n=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==s;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=s;n.parent=s,this.buildParseTrees&&s!==null&&s.addChild(n)}getInvokingContext(s){let n=this.context;for(;n!==null;){if(n.ruleIndex===s)return n;n=n.parent}return null}precpred(s,n){return n>=this._precedenceStack[this._precedenceStack.length-1]}inContext(s){return!1}isExpectedToken(s){const n=this.interpreter.atn;let r=this.context;const h=n.states[this.state];let a=n.nextTokens(h);if(a.contains(s))return!0;if(!a.contains(_.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&a.contains(_.EPSILON);){const c=n.states[r.invokingState].transitions[0];if(a=n.nextTokens(c.followState),a.contains(s))return!0;r=r.parent}return!!(a.contains(_.EPSILON)&&s===_.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const s=this.interpreter.atn,n=s.states[this.state];return s.nextTokens(n)}getRuleIndex(s){const n=this.getRuleIndexMap().get(s);return n??-1}getRuleInvocationStack(s){s=s??null,s===null&&(s=this.context);const n=[];for(;s!==null;){const r=s.ruleIndex;r<0?n.push("n/a"):n.push(this.ruleNames[r]),s=s.parent}return n}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let s=!1;for(const n of this.interpreter.decisionToDFA)n.states.length>0&&(s&&console.log(),this.printer&&(this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.vocabulary))),s=!0)}getSourceName(){return this._input.getSourceName()}setProfile(s){const n=this.interpreter,r=n.predictionMode;if(s)n instanceof Br||(this.interpreter=new Br(this));else if(n instanceof Br){const h=n.getSharedContextCache();if(h){const a=new ai(this,this.atn,n.decisionToDFA,h);this.interpreter=a}}this.interpreter.predictionMode=r}setTrace(s){s?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new X7(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(s,n){return new Ee(n)}createErrorNode(s,n){return new r1(n)}},A(Kn,"Parser"),Kn);_n=class extends o3{constructor(s,n,r,h,a){super(a);E(this,"_rootContext");E(this,"_parentContextStack",[]);E(this,"overrideDecision",-1);E(this,"overrideDecisionInputIndex",-1);E(this,"overrideDecisionAlt",-1);E(this,"overrideDecisionReached",!1);E(this,"_overrideDecisionRoot",null);$(this,An,void 0);$(this,Jt,void 0);$(this,mn,void 0);$(this,Cn,void 0);$(this,fn,void 0);$(this,tr,new c1);$(this,z0,void 0);X(this,An,s),X(this,Jt,h),X(this,mn,r.slice(0)),X(this,Cn,n),X(this,z0,new qt);for(const o of h.states)o instanceof ge&&o.precedenceRuleDecision&&x(this,z0).set(o.stateNumber);X(this,fn,h.decisionToState.map((o,c)=>new t0(o,c))),this.interpreter=new ai(this,h,x(this,fn),x(this,tr))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return x(this,Jt)}get vocabulary(){return x(this,Cn)}get ruleNames(){return x(this,mn)}get grammarFileName(){return x(this,An)}get atnState(){return x(this,Jt).states[this.state]}parse(s){var r;const n=x(this,Jt).ruleToStartState[s];for(this._rootContext=this.createInterpreterRuleContext(null,ee.INVALID_STATE_NUMBER,s),n.isPrecedenceRule?this.enterRecursionRule(this._rootContext,n.stateNumber,s,0):this.enterRule(this._rootContext,n.stateNumber,s);;){const h=this.atnState;switch(h.stateType){case V.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(n.isPrecedenceRule){const a=this.context,o=this._parentContextStack.pop();return this.unrollRecursionContexts(o[0]),a}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(a){if(a instanceof T)this.state=x(this,Jt).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=a,this.errorHandler.reportError(this,a),this.recover(a);else throw a}break}}}addDecisionOverride(s,n,r){this.overrideDecision=s,this.overrideDecisionInputIndex=n,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(s,n,r,h){this._parentContextStack.push([this.context,s.invokingState]),super.enterRecursionRule(s,n,r,h)}visitState(s){let n=1;s instanceof qe&&(n=this.visitDecisionState(s));const r=s.transitions[n-1];switch(r.serializationType){case y.EPSILON:if(x(this,z0).get(s.stateNumber)&&!(r.target instanceof s0)){const W=this._parentContextStack[this._parentContextStack.length-1],d=this.createInterpreterRuleContext(W[0],W[1],this.context.ruleIndex);this.pushNewRecursionContext(d,x(this,Jt).ruleToStartState[s.ruleIndex].stateNumber,this.context.ruleIndex)}break;case y.ATOM:this.match(r.label.minElement);break;case y.RANGE:case y.SET:case y.NOT_SET:r.matches(this._input.LA(1),_.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case y.WILDCARD:this.matchWildcard();break;case y.RULE:const h=r.target,a=h.ruleIndex,o=this.createInterpreterRuleContext(this.context,s.stateNumber,a);h.isPrecedenceRule?this.enterRecursionRule(o,h.stateNumber,a,r.precedence):this.enterRule(o,r.target.stateNumber,a);break;case y.PREDICATE:const c=r;if(!this.sempred(this.context,c.ruleIndex,c.predIndex))throw new ci(this);break;case y.ACTION:const u=r;this.action(this.context,u.ruleIndex,u.actionIndex);break;case y.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const W=r.precedence;throw new ci(this,`precpred(_ctx, ${W})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(s){let n=1;if(s.transitions.length>1){this.errorHandler.sync(this);const r=s.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(n=this.overrideDecisionAlt,this.overrideDecisionReached=!0):n=this.interpreter.adaptivePredict(this._input,r,this.context)}return n}createInterpreterRuleContext(s,n,r){return new Q7(r,s,n)}visitRuleStopState(s){if(x(this,Jt).ruleToStartState[s.ruleIndex].isPrecedenceRule){const[h,a]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=a}else this.exitRule();const r=x(this,Jt).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(s){const n=this._input.index;if(this.errorHandler.recover(this,s),this._input.index===n){const r=s.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,a=(h==null?void 0:h.inputStream)??null,o=[h,a];if(s instanceof Ie){const c=s.getExpectedTokens();if(!c)throw new Error("Expected the exception to provide expected tokens");let u=_.INVALID_TYPE;c.isNil||(u=c.minElement);const W=this.getTokenFactory().create(o,u,r.text,_.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,W))}else{const c=this.getTokenFactory().create(o,_.INVALID_TYPE,r.text,_.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,c))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},An=new WeakMap,Jt=new WeakMap,mn=new WeakMap,Cn=new WeakMap,fn=new WeakMap,tr=new WeakMap,z0=new WeakMap,A(_n,"ParserInterpreter"),kt=class{constructor(t){E(this,"tokens");E(this,"programs",new Map);E(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,s,n=kt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(n),a=new u3(this.tokens,r,h.length,s);h.push(a)}insertBefore(t,s,n=kt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(n),a=new p0(this.tokens,r,h.length,s);h.push(a)}replaceSingle(t,s,n=kt.DEFAULT_PROGRAM_NAME){this.replace(t,t,s,n)}replace(t,s,n,r=kt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof s!="number"&&(s=s.tokenIndex),t>s||t<0||s<0||s>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${s}(size=${this.tokens.size})`);const h=this.getProgram(r),a=new ui(this.tokens,t,s,h.length,n);h.push(a)}delete(t,s,n=kt.DEFAULT_PROGRAM_NAME){s==null&&(s=t),this.replace(t,s,null,n)}getProgram(t){let s=this.programs.get(t);return s==null&&(s=this.initializeProgram(t)),s}initializeProgram(t){const s=[];return this.programs.set(t,s),s}getText(t,s=kt.DEFAULT_PROGRAM_NAME){let n;t instanceof j?n=t:n=new j(0,this.tokens.size-1),typeof t=="string"&&(s=t);const r=this.programs.get(s);let h=n.start,a=n.stop;if(a>this.tokens.size-1&&(a=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new j(h,a));const o=[],c=this.reduceToSingleOperationPerIndex(r);let u=h;for(;u<=a&&u=this.tokens.size-1&&o.push(String(W.text));return o.join("")}reduceToSingleOperationPerIndex(t){for(let n=0;nh.index&&c.index<=h.lastIndex&&(t[c.instructionIndex]=null);const o=this.getKindOfOps(t,ui,n);for(const c of o){if(c.index>=h.index&&c.lastIndex<=h.lastIndex){t[c.instructionIndex]=null;continue}const u=c.lastIndexh.lastIndex;if(c.text==null&&h.text==null&&!u)t[c.instructionIndex]=null,h.index=Math.min(c.index,h.index),h.lastIndex=Math.max(c.lastIndex,h.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${h} overlap with previous ${c}`)}}for(let n=0;n=c.index&&h.index<=c.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${c}`)}}const s=new Map;for(const n of t)if(n!=null){if(s.get(n.index)!=null)throw new Error("should only be one op per index");s.set(n.index,n)}return s}catOpText(t,s){let n="",r="";return t!=null&&(n=t.toString()),s!=null&&(r=s.toString()),n+r}getKindOfOps(t,s,n){return t.slice(0,n).filter(r=>r&&r instanceof s)}},A(kt,"TokenStreamRewriter"),E(kt,"DEFAULT_PROGRAM_NAME","default"),E(kt,"PROGRAM_INIT_SIZE",100),E(kt,"MIN_TOKEN_INDEX",0);var c3=(Ln=class{constructor(t,s,n,r){E(this,"instructionIndex");E(this,"index");E(this,"text");E(this,"tokens");this.tokens=t,this.instructionIndex=n,this.index=s,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},A(Ln,"RewriteOperation"),Ln),p0=(xn=class extends c3{constructor(t,s,n,r){super(t,s,n,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==_.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},A(xn,"InsertBeforeOp"),xn),u3=(pn=class extends p0{constructor(t,s,n,r){super(t,s+1,n,r)}toString(){return"'}},A(pn,"InsertAfterOp"),pn),ui=(Nn=class extends c3{constructor(s,n,r,h,a){super(s,n,h,a);E(this,"lastIndex");this.lastIndex=r}execute(s){return this.text&&s.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},A(Nn,"ReplaceOp"),Nn);class l extends Ft{constructor(t){super(t),this.interpreter=new e0(this,l._ATN,l.decisionsToDFA,new c1)}get grammarFileName(){return"HiveSqlLexer.g4"}get literalNames(){return l.literalNames}get symbolicNames(){return l.symbolicNames}get ruleNames(){return l.ruleNames}get serializedATN(){return l._serializedATN}get channelNames(){return l.channelNames}get modeNames(){return l.modeNames}static get _ATN(){return l.__ATN||(l.__ATN=new o1().deserialize(l._serializedATN)),l.__ATN}get vocabulary(){return l.vocabulary}}l.KW_ABORT=1,l.KW_ACTIVATE=2,l.KW_ACTIVE=3,l.KW_ADD=4,l.KW_ADMIN=5,l.KW_AFTER=6,l.KW_ALL=7,l.KW_ALLOC_FRACTION=8,l.KW_ALTER=9,l.KW_ANALYZE=10,l.KW_AND=11,l.KW_ANTI=12,l.KW_ANY=13,l.KW_APPLICATION=14,l.KW_ARCHIVE=15,l.KW_ARRAY=16,l.KW_AS=17,l.KW_ASC=18,l.KW_AST=19,l.KW_AT=20,l.KW_AUTHORIZATION=21,l.KW_AUTOCOMMIT=22,l.KW_BATCH=23,l.KW_BEFORE=24,l.KW_BETWEEN=25,l.KW_BIGINT=26,l.KW_BINARY=27,l.KW_BOOLEAN=28,l.KW_BOTH=29,l.KW_BUCKET=30,l.KW_BUCKETS=31,l.KW_BY=32,l.KW_CACHE=33,l.KW_CASCADE=34,l.KW_CASE=35,l.KW_CAST=36,l.KW_CBO=37,l.KW_CHANGE=38,l.KW_CHAR=39,l.KW_CHECK=40,l.KW_CLUSTER=41,l.KW_CLUSTERED=42,l.KW_CLUSTERSTATUS=43,l.KW_COLLECTION=44,l.KW_COLUMN=45,l.KW_COLUMNS=46,l.KW_COMMENT=47,l.KW_COMMIT=48,l.KW_COMPACT=49,l.KW_COMPACTIONS=50,l.KW_COMPACT_ID=51,l.KW_COMPUTE=52,l.KW_CONCATENATE=53,l.KW_CONF=54,l.KW_CONSTRAINT=55,l.KW_CONTINUE=56,l.KW_COST=57,l.KW_CREATE=58,l.KW_CRON=59,l.KW_CROSS=60,l.KW_CUBE=61,l.KW_CURRENT=62,l.KW_CURRENT_DATE=63,l.KW_CURRENT_TIMESTAMP=64,l.KW_CURSOR=65,l.KW_DATA=66,l.KW_DATABASE=67,l.KW_DATABASES=68,l.KW_DATACONNECTOR=69,l.KW_DATACONNECTORS=70,l.KW_DATE=71,l.KW_DATETIME=72,l.KW_DAY=73,l.KW_DAYS=74,l.KW_DAYOFWEEK=75,l.KW_DBPROPERTIES=76,l.KW_DCPROPERTIES=77,l.KW_DDL=78,l.KW_DEBUG=79,l.KW_DEC=80,l.KW_DECIMAL=81,l.KW_NUMERIC=82,l.KW_DEFAULT=83,l.KW_DEFERRED=84,l.KW_DEFINED=85,l.KW_DELETE=86,l.KW_DELIMITED=87,l.KW_DEPENDENCY=88,l.KW_DESC=89,l.KW_DESCRIBE=90,l.KW_DETAIL=91,l.KW_DIRECTORIES=92,l.KW_DIRECTORY=93,l.KW_DISABLE=94,l.KW_DISABLED=95,l.KW_DISTINCT=96,l.KW_DISTRIBUTE=97,l.KW_DISTRIBUTED=98,l.KW_DO=99,l.KW_DOUBLE=100,l.KW_DROP=101,l.KW_RECOVER=102,l.KW_DUMP=103,l.KW_ELEM_TYPE=104,l.KW_ELSE=105,l.KW_ENABLE=106,l.KW_ENABLED=107,l.KW_END=108,l.KW_ENFORCED=109,l.KW_ESCAPED=110,l.KW_EVERY=111,l.KW_EXCEPT=112,l.KW_EXCHANGE=113,l.KW_EXCLUSIVE=114,l.KW_EXECUTE=115,l.KW_EXECUTED=116,l.KW_EXISTS=117,l.KW_EXPIRE_SNAPSHOTS=118,l.KW_EXPLAIN=119,l.KW_EXPORT=120,l.KW_EXPRESSION=121,l.KW_EXTENDED=122,l.KW_EXTERNAL=123,l.KW_EXTRACT=124,l.KW_FALSE=125,l.KW_FETCH=126,l.KW_FIELDS=127,l.KW_FILE=128,l.KW_FILEFORMAT=129,l.KW_FIRST=130,l.KW_FLOAT=131,l.KW_FLOOR=132,l.KW_FOLLOWING=133,l.KW_FOR=134,l.KW_FORCE=135,l.KW_FOREIGN=136,l.KW_FORMAT=137,l.KW_FORMATTED=138,l.KW_FROM=139,l.KW_FULL=140,l.KW_FUNCTION=141,l.KW_FUNCTIONS=142,l.KW_GRANT=143,l.KW_GROUP=144,l.KW_GROUPING=145,l.KW_HAVING=146,l.KW_HOLD_DDLTIME=147,l.KW_HOUR=148,l.KW_HOURS=149,l.KW_IDXPROPERTIES=150,l.KW_IF=151,l.KW_IGNORE=152,l.KW_IMPORT=153,l.KW_IN=154,l.KW_INDEX=155,l.KW_INDEXES=156,l.KW_INNER=157,l.KW_INPATH=158,l.KW_INPUTDRIVER=159,l.KW_INPUTFORMAT=160,l.KW_INSERT=161,l.KW_INT=162,l.KW_INTEGER=163,l.KW_INTERSECT=164,l.KW_INTERVAL=165,l.KW_INTO=166,l.KW_IS=167,l.KW_ISOLATION=168,l.KW_ITEMS=169,l.KW_JAR=170,l.KW_JOIN=171,l.KW_JOINCOST=172,l.KW_KEY=173,l.KW_KEYS=174,l.KW_KEY_TYPE=175,l.KW_KILL=176,l.KW_LAST=177,l.KW_LATERAL=178,l.KW_LEADING=179,l.KW_LEFT=180,l.KW_LESS=181,l.KW_LEVEL=182,l.KW_LIFECYCLE=183,l.KW_LIKE=184,l.KW_LIMIT=185,l.KW_LINES=186,l.KW_LOAD=187,l.KW_LOCAL=188,l.KW_LOCATION=189,l.KW_LOCK=190,l.KW_LOCKS=191,l.KW_LOGICAL=192,l.KW_LONG=193,l.KW_MACRO=194,l.KW_MANAGED=195,l.KW_MANAGEDLOCATION=196,l.KW_MANAGEMENT=197,l.KW_MAP=198,l.KW_MAPJOIN=199,l.KW_MAPPING=200,l.KW_MATCHED=201,l.KW_MATERIALIZED=202,l.KW_MERGE=203,l.KW_METADATA=204,l.KW_MINUS=205,l.KW_MINUTE=206,l.KW_MINUTES=207,l.KW_MONTH=208,l.KW_MONTHS=209,l.KW_MORE=210,l.KW_MOVE=211,l.KW_MSCK=212,l.KW_NONE=213,l.KW_NORELY=214,l.KW_NOSCAN=215,l.KW_NOT=216,l.KW_NOVALIDATE=217,l.KW_NO_DROP=218,l.KW_NULL=219,l.KW_NULLS=220,l.KW_OF=221,l.KW_OFFLINE=222,l.KW_OFFSET=223,l.KW_ON=224,l.KW_ONLY=225,l.KW_OPERATOR=226,l.KW_OPTION=227,l.KW_OR=228,l.KW_ORDER=229,l.KW_OUT=230,l.KW_OUTER=231,l.KW_OUTPUTDRIVER=232,l.KW_OUTPUTFORMAT=233,l.KW_OVER=234,l.KW_OVERWRITE=235,l.KW_OWNER=236,l.KW_PARTITION=237,l.KW_PARTITIONED=238,l.KW_PARTITIONS=239,l.KW_PATH=240,l.KW_PERCENT=241,l.KW_PKFK_JOIN=242,l.KW_PLAN=243,l.KW_PLANS=244,l.KW_PLUS=245,l.KW_POOL=246,l.KW_PRECEDING=247,l.KW_PRECISION=248,l.KW_PREPARE=249,l.KW_PRESERVE=250,l.KW_PRIMARY=251,l.KW_PRINCIPALS=252,l.KW_PROCEDURE=253,l.KW_PROTECTION=254,l.KW_PURGE=255,l.KW_QUALIFY=256,l.KW_QUARTER=257,l.KW_QUERY=258,l.KW_QUERY_PARALLELISM=259,l.KW_RANGE=260,l.KW_READ=261,l.KW_READONLY=262,l.KW_READS=263,l.KW_REAL=264,l.KW_REBUILD=265,l.KW_RECORDREADER=266,l.KW_RECORDWRITER=267,l.KW_REDUCE=268,l.KW_REFERENCES=269,l.KW_REGEXP=270,l.KW_RELOAD=271,l.KW_RELY=272,l.KW_REMOTE=273,l.KW_RENAME=274,l.KW_REOPTIMIZATION=275,l.KW_REPAIR=276,l.KW_REPL=277,l.KW_REPLACE=278,l.KW_REPLICATION=279,l.KW_RESOURCE=280,l.KW_RESPECT=281,l.KW_RESTRICT=282,l.KW_REVOKE=283,l.KW_REWRITE=284,l.KW_RIGHT=285,l.KW_RLIKE=286,l.KW_ROLE=287,l.KW_ROLES=288,l.KW_ROLLBACK=289,l.KW_ROLLUP=290,l.KW_ROW=291,l.KW_ROWS=292,l.KW_SCHEDULED=293,l.KW_SCHEDULING_POLICY=294,l.KW_SCHEMA=295,l.KW_SCHEMAS=296,l.KW_SECOND=297,l.KW_SECONDS=298,l.KW_SELECT=299,l.KW_SEMI=300,l.KW_SERDE=301,l.KW_SERDEPROPERTIES=302,l.KW_SERVER=303,l.KW_SET=304,l.KW_SETS=305,l.KW_SET_CURRENT_SNAPSHOT=306,l.KW_SHARED=307,l.KW_SHOW=308,l.KW_SHOW_DATABASE=309,l.KW_SKEWED=310,l.KW_SMALLINT=311,l.KW_SNAPSHOT=312,l.KW_SOME=313,l.KW_SORT=314,l.KW_SORTED=315,l.KW_SPEC=316,l.KW_SSL=317,l.KW_START=318,l.KW_STATISTICS=319,l.KW_STATUS=320,l.KW_STORED=321,l.KW_STREAMTABLE=322,l.KW_STRING=323,l.KW_STRUCT=324,l.KW_SUMMARY=325,l.KW_SYNC=326,l.KW_SYSTEM_TIME=327,l.KW_SYSTEM_VERSION=328,l.KW_TABLE=329,l.KW_TABLES=330,l.KW_TABLESAMPLE=331,l.KW_TBLPROPERTIES=332,l.KW_TEMPORARY=333,l.KW_TERMINATED=334,l.KW_THEN=335,l.KW_TIME=336,l.KW_TIMESTAMP=337,l.KW_TIMESTAMPLOCALTZ=338,l.KW_TIMESTAMPTZ=339,l.KW_TINYINT=340,l.KW_TO=341,l.KW_TOUCH=342,l.KW_TRAILING=343,l.KW_TRANSACTION=344,l.KW_TRANSACTIONAL=345,l.KW_TRANSACTIONS=346,l.KW_TRANSFORM=347,l.KW_TRIGGER=348,l.KW_TRIM=349,l.KW_TRUE=350,l.KW_TRUNCATE=351,l.KW_TYPE=352,l.KW_UNARCHIVE=353,l.KW_UNBOUNDED=354,l.KW_UNDO=355,l.KW_UNION=356,l.KW_UNIONTYPE=357,l.KW_UNIQUE=358,l.KW_UNIQUEJOIN=359,l.KW_UNKNOWN=360,l.KW_UNLOCK=361,l.KW_UNMANAGED=362,l.KW_UNSET=363,l.KW_UNSIGNED=364,l.KW_UPDATE=365,l.KW_URI=366,l.KW_URL=367,l.KW_USE=368,l.KW_USER=369,l.KW_USING=370,l.KW_UTC=371,l.KW_UTCTIMESTAMP=372,l.KW_VALIDATE=373,l.KW_VALUES=374,l.KW_VALUE_TYPE=375,l.KW_VARCHAR=376,l.KW_VECTORIZATION=377,l.KW_VIEW=378,l.KW_VIEWS=379,l.KW_WAIT=380,l.KW_WEEK=381,l.KW_WEEKS=382,l.KW_WHEN=383,l.KW_WHERE=384,l.KW_WHILE=385,l.KW_WINDOW=386,l.KW_WITH=387,l.KW_WITHIN=388,l.KW_WORK=389,l.KW_WORKLOAD=390,l.KW_WRITE=391,l.KW_YEAR=392,l.KW_YEARS=393,l.KW_ZONE=394,l.DOT=395,l.COLON=396,l.COMMA=397,l.SEMICOLON=398,l.LPAREN=399,l.RPAREN=400,l.LSQUARE=401,l.RSQUARE=402,l.LCURLY=403,l.RCURLY=404,l.EQUAL=405,l.EQUAL_NS=406,l.NOTEQUAL=407,l.LESSTHANOREQUALTO=408,l.LESSTHAN=409,l.GREATERTHANOREQUALTO=410,l.GREATERTHAN=411,l.DIVIDE=412,l.PLUS=413,l.MINUS=414,l.STAR=415,l.MOD=416,l.DIV=417,l.BITWISENOT=418,l.AMPERSAND=419,l.TILDE=420,l.BITWISEOR=421,l.CONCATENATE=422,l.BITWISEXOR=423,l.QUESTION=424,l.DOLLAR=425,l.StringLiteral=426,l.CharSetLiteral=427,l.IntegralLiteral=428,l.NumberLiteral=429,l.ByteLengthLiteral=430,l.Number=431,l.Identifier=432,l.CharSetName=433,l.WHITE_SPACE=434,l.LINE_COMMENT=435,l.QUERY_HINT=436,l.SHOW_HINT=437,l.HIDDEN_HINT=438,l.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],l.literalNames=[null,"'ABORT'","'ACTIVATE'","'ACTIVE'","'ADD'","'ADMIN'","'AFTER'","'ALL'","'ALLOC_FRACTION'","'ALTER'","'ANALYZE'","'AND'","'ANTI'","'ANY'","'APPLICATION'","'ARCHIVE'","'ARRAY'","'AS'","'ASC'","'AST'","'AT'","'AUTHORIZATION'","'AUTOCOMMIT'","'BATCH'","'BEFORE'","'BETWEEN'","'BIGINT'","'BINARY'","'BOOLEAN'","'BOTH'","'BUCKET'","'BUCKETS'","'BY'","'CACHE'","'CASCADE'","'CASE'","'CAST'","'CBO'","'CHANGE'","'CHAR'","'CHECK'","'CLUSTER'","'CLUSTERED'","'CLUSTERSTATUS'","'COLLECTION'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPACTIONS'","'COMPACTIONID'","'COMPUTE'","'CONCATENATE'","'CONF'","'CONSTRAINT'","'CONTINUE'","'COST'","'CREATE'","'CRON'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_DATE'","'CURRENT_TIMESTAMP'","'CURSOR'","'DATA'","'DATABASE'","'DATABASES'","'CONNECTOR'","'CONNECTORS'","'DATE'","'DATETIME'","'DAY'","'DAYS'","'DAYOFWEEK'","'DBPROPERTIES'","'DCPROPERTIES'","'DDL'","'DEBUG'","'DEC'","'DECIMAL'","'NUMERIC'","'DEFAULT'","'DEFERRED'","'DEFINED'","'DELETE'","'DELIMITED'","'DEPENDENCY'","'DESC'","'DESCRIBE'","'DETAIL'","'DIRECTORIES'","'DIRECTORY'","'DISABLE'","'DISABLED'","'DISTINCT'","'DISTRIBUTE'","'DISTRIBUTED'","'DO'","'DOUBLE'","'DROP'","'RECOVER'","'DUMP'","'$ELEM$'","'ELSE'","'ENABLE'","'ENABLED'","'END'","'ENFORCED'","'ESCAPED'","'EVERY'","'EXCEPT'","'EXCHANGE'","'EXCLUSIVE'","'EXECUTE'","'EXECUTED'","'EXISTS'","'EXPIRE_SNAPSHOTS'","'EXPLAIN'","'EXPORT'","'EXPRESSION'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FIELDS'","'FILE'","'FILEFORMAT'","'FIRST'","'FLOAT'","'FLOOR'","'FOLLOWING'","'FOR'","'FORCE'","'FOREIGN'","'FORMAT'","'FORMATTED'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GRANT'","'GROUP'","'GROUPING'","'HAVING'","'HOLD_DDLTIME'","'HOUR'","'HOURS'","'IDXPROPERTIES'","'IF'","'IGNORE'","'IMPORT'","'IN'","'INDEX'","'INDEXES'","'INNER'","'INPATH'","'INPUTDRIVER'","'INPUTFORMAT'","'INSERT'","'INT'","'INTEGER'","'INTERSECT'","'INTERVAL'","'INTO'","'IS'","'ISOLATION'","'ITEMS'","'JAR'","'JOIN'","'JOINCOST'","'KEY'","'KEYS'","'$KEY$'","'KILL'","'LAST'","'LATERAL'","'LEADING'","'LEFT'","'LESS'","'LEVEL'","'LIFECYCLE'","'LIKE'","'LIMIT'","'LINES'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'LOCKS'","'LOGICAL'","'LONG'","'MACRO'","'MANAGED'","'MANAGEDLOCATION'","'MANAGEMENT'","'MAP'","'MAPJOIN'","'MAPPING'","'MATCHED'","'MATERIALIZED'","'MERGE'","'METADATA'","'MINUS'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MORE'","'MOVE'","'MSCK'","'NONE'","'NORELY'","'NOSCAN'","'NOT'","'NOVALIDATE'","'NO_DROP'","'NULL'","'NULLS'","'OF'","'OFFLINE'","'OFFSET'","'ON'","'ONLY'","'OPERATOR'","'OPTION'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTPUTDRIVER'","'OUTPUTFORMAT'","'OVER'","'OVERWRITE'","'OWNER'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PATH'","'PERCENT'","'PKFK_JOIN'","'PLAN'","'PLANS'","'PLUS'","'POOL'","'PRECEDING'","'PRECISION'","'PREPARE'","'PRESERVE'","'PRIMARY'","'PRINCIPALS'","'PROCEDURE'","'PROTECTION'","'PURGE'","'QUALIFY'","'QUARTER'","'QUERY'","'QUERY_PARALLELISM'","'RANGE'","'READ'","'READONLY'","'READS'","'REAL'","'REBUILD'","'RECORDREADER'","'RECORDWRITER'","'REDUCE'","'REFERENCES'","'REGEXP'","'RELOAD'","'RELY'","'REMOTE'","'RENAME'","'REOPTIMIZATION'","'REPAIR'","'REPL'","'REPLACE'","'REPLICATION'","'RESOURCE'","'RESPECT'","'RESTRICT'","'REVOKE'","'REWRITE'","'RIGHT'","'RLIKE'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'SCHEDULED'","'SCHEDULING_POLICY'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECONDS'","'SELECT'","'SEMI'","'SERDE'","'SERDEPROPERTIES'","'SERVER'","'SET'","'SETS'","'SET_CURRENT_SNAPSHOT'","'SHARED'","'SHOW'","'SHOW_DATABASE'","'SKEWED'","'SMALLINT'","'SNAPSHOT'","'SOME'","'SORT'","'SORTED'","'SPEC'","'SSL'","'START'","'STATISTICS'","'STATUS'","'STORED'","'STREAMTABLE'","'STRING'","'STRUCT'","'SUMMARY'","'SYNC'","'SYSTEM_TIME'","'SYSTEM_VERSION'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TBLPROPERTIES'","'TEMPORARY'","'TERMINATED'","'THEN'","'TIME'","'TIMESTAMP'","'TIMESTAMPLOCALTZ'","'TIMESTAMPTZ'","'TINYINT'","'TO'","'TOUCH'","'TRAILING'","'TRANSACTION'","'TRANSACTIONAL'","'TRANSACTIONS'","'TRANSFORM'","'TRIGGER'","'TRIM'","'TRUE'","'TRUNCATE'","'TYPE'","'UNARCHIVE'","'UNBOUNDED'","'UNDO'","'UNION'","'UNIONTYPE'","'UNIQUE'","'UNIQUEJOIN'","'UNKNOWN'","'UNLOCK'","'UNMANAGED'","'UNSET'","'UNSIGNED'","'UPDATE'","'URI'","'URL'","'USE'","'USER'","'USING'","'UTC'","'UTC_TMESTAMP'","'VALIDATE'","'VALUES'","'$VALUE$'","'VARCHAR'","'VECTORIZATION'","'VIEW'","'VIEWS'","'WAIT'","'WEEK'","'WEEKS'","'WHEN'","'WHERE'","'WHILE'","'WINDOW'","'WITH'","'WITHIN'","'WORK'","'WORKLOAD'","'WRITE'","'YEAR'","'YEARS'","'ZONE'","'.'","':'","','","';'","'('","')'","'['","']'","'{'","'}'",null,"'<=>'",null,"'<='","'<'","'>='","'>'","'/'","'+'","'-'","'*'","'%'","'DIV'","'!'","'&'","'~'","'|'","'||'","'^'","'?'","'$'"],l.symbolicNames=[null,"KW_ABORT","KW_ACTIVATE","KW_ACTIVE","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALLOC_FRACTION","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_APPLICATION","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AST","KW_AT","KW_AUTHORIZATION","KW_AUTOCOMMIT","KW_BATCH","KW_BEFORE","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CBO","KW_CHANGE","KW_CHAR","KW_CHECK","KW_CLUSTER","KW_CLUSTERED","KW_CLUSTERSTATUS","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPACT_ID","KW_COMPUTE","KW_CONCATENATE","KW_CONF","KW_CONSTRAINT","KW_CONTINUE","KW_COST","KW_CREATE","KW_CRON","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIMESTAMP","KW_CURSOR","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DATACONNECTOR","KW_DATACONNECTORS","KW_DATE","KW_DATETIME","KW_DAY","KW_DAYS","KW_DAYOFWEEK","KW_DBPROPERTIES","KW_DCPROPERTIES","KW_DDL","KW_DEBUG","KW_DEC","KW_DECIMAL","KW_NUMERIC","KW_DEFAULT","KW_DEFERRED","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DEPENDENCY","KW_DESC","KW_DESCRIBE","KW_DETAIL","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISABLED","KW_DISTINCT","KW_DISTRIBUTE","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_RECOVER","KW_DUMP","KW_ELEM_TYPE","KW_ELSE","KW_ENABLE","KW_ENABLED","KW_END","KW_ENFORCED","KW_ESCAPED","KW_EVERY","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXECUTE","KW_EXECUTED","KW_EXISTS","KW_EXPIRE_SNAPSHOTS","KW_EXPLAIN","KW_EXPORT","KW_EXPRESSION","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILE","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FLOOR","KW_FOLLOWING","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_HOLD_DDLTIME","KW_HOUR","KW_HOURS","KW_IDXPROPERTIES","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTDRIVER","KW_INPUTFORMAT","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_IS","KW_ISOLATION","KW_ITEMS","KW_JAR","KW_JOIN","KW_JOINCOST","KW_KEY","KW_KEYS","KW_KEY_TYPE","KW_KILL","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEFT","KW_LESS","KW_LEVEL","KW_LIFECYCLE","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MANAGED","KW_MANAGEDLOCATION","KW_MANAGEMENT","KW_MAP","KW_MAPJOIN","KW_MAPPING","KW_MATCHED","KW_MATERIALIZED","KW_MERGE","KW_METADATA","KW_MINUS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MORE","KW_MOVE","KW_MSCK","KW_NONE","KW_NORELY","KW_NOSCAN","KW_NOT","KW_NOVALIDATE","KW_NO_DROP","KW_NULL","KW_NULLS","KW_OF","KW_OFFLINE","KW_OFFSET","KW_ON","KW_ONLY","KW_OPERATOR","KW_OPTION","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTDRIVER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERWRITE","KW_OWNER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATH","KW_PERCENT","KW_PKFK_JOIN","KW_PLAN","KW_PLANS","KW_PLUS","KW_POOL","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRESERVE","KW_PRIMARY","KW_PRINCIPALS","KW_PROCEDURE","KW_PROTECTION","KW_PURGE","KW_QUALIFY","KW_QUARTER","KW_QUERY","KW_QUERY_PARALLELISM","KW_RANGE","KW_READ","KW_READONLY","KW_READS","KW_REAL","KW_REBUILD","KW_RECORDREADER","KW_RECORDWRITER","KW_REDUCE","KW_REFERENCES","KW_REGEXP","KW_RELOAD","KW_RELY","KW_REMOTE","KW_RENAME","KW_REOPTIMIZATION","KW_REPAIR","KW_REPL","KW_REPLACE","KW_REPLICATION","KW_RESOURCE","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_REWRITE","KW_RIGHT","KW_RLIKE","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SCHEDULED","KW_SCHEDULING_POLICY","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SEMI","KW_SERDE","KW_SERDEPROPERTIES","KW_SERVER","KW_SET","KW_SETS","KW_SET_CURRENT_SNAPSHOT","KW_SHARED","KW_SHOW","KW_SHOW_DATABASE","KW_SKEWED","KW_SMALLINT","KW_SNAPSHOT","KW_SOME","KW_SORT","KW_SORTED","KW_SPEC","KW_SSL","KW_START","KW_STATISTICS","KW_STATUS","KW_STORED","KW_STREAMTABLE","KW_STRING","KW_STRUCT","KW_SUMMARY","KW_SYNC","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMPLOCALTZ","KW_TIMESTAMPTZ","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIGGER","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNDO","KW_UNION","KW_UNIONTYPE","KW_UNIQUE","KW_UNIQUEJOIN","KW_UNKNOWN","KW_UNLOCK","KW_UNMANAGED","KW_UNSET","KW_UNSIGNED","KW_UPDATE","KW_URI","KW_URL","KW_USE","KW_USER","KW_USING","KW_UTC","KW_UTCTIMESTAMP","KW_VALIDATE","KW_VALUES","KW_VALUE_TYPE","KW_VARCHAR","KW_VECTORIZATION","KW_VIEW","KW_VIEWS","KW_WAIT","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WORK","KW_WORKLOAD","KW_WRITE","KW_YEAR","KW_YEARS","KW_ZONE","DOT","COLON","COMMA","SEMICOLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","EQUAL","EQUAL_NS","NOTEQUAL","LESSTHANOREQUALTO","LESSTHAN","GREATERTHANOREQUALTO","GREATERTHAN","DIVIDE","PLUS","MINUS","STAR","MOD","DIV","BITWISENOT","AMPERSAND","TILDE","BITWISEOR","CONCATENATE","BITWISEXOR","QUESTION","DOLLAR","StringLiteral","CharSetLiteral","IntegralLiteral","NumberLiteral","ByteLengthLiteral","Number","Identifier","CharSetName","WHITE_SPACE","LINE_COMMENT","QUERY_HINT","SHOW_HINT","HIDDEN_HINT"],l.modeNames=["DEFAULT_MODE"],l.ruleNames=["KW_ABORT","KW_ACTIVATE","KW_ACTIVE","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALLOC_FRACTION","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_APPLICATION","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AST","KW_AT","KW_AUTHORIZATION","KW_AUTOCOMMIT","KW_BATCH","KW_BEFORE","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CBO","KW_CHANGE","KW_CHAR","KW_CHECK","KW_CLUSTER","KW_CLUSTERED","KW_CLUSTERSTATUS","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPACT_ID","KW_COMPUTE","KW_CONCATENATE","KW_CONF","KW_CONSTRAINT","KW_CONTINUE","KW_COST","KW_CREATE","KW_CRON","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIMESTAMP","KW_CURSOR","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DATACONNECTOR","KW_DATACONNECTORS","KW_DATE","KW_DATETIME","KW_DAY","KW_DAYS","KW_DAYOFWEEK","KW_DBPROPERTIES","KW_DCPROPERTIES","KW_DDL","KW_DEBUG","KW_DEC","KW_DECIMAL","KW_NUMERIC","KW_DEFAULT","KW_DEFERRED","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DEPENDENCY","KW_DESC","KW_DESCRIBE","KW_DETAIL","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISABLED","KW_DISTINCT","KW_DISTRIBUTE","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_RECOVER","KW_DUMP","KW_ELEM_TYPE","KW_ELSE","KW_ENABLE","KW_ENABLED","KW_END","KW_ENFORCED","KW_ESCAPED","KW_EVERY","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXECUTE","KW_EXECUTED","KW_EXISTS","KW_EXPIRE_SNAPSHOTS","KW_EXPLAIN","KW_EXPORT","KW_EXPRESSION","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILE","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FLOOR","KW_FOLLOWING","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_HOLD_DDLTIME","KW_HOUR","KW_HOURS","KW_IDXPROPERTIES","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTDRIVER","KW_INPUTFORMAT","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_IS","KW_ISOLATION","KW_ITEMS","KW_JAR","KW_JOIN","KW_JOINCOST","KW_KEY","KW_KEYS","KW_KEY_TYPE","KW_KILL","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEFT","KW_LESS","KW_LEVEL","KW_LIFECYCLE","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MANAGED","KW_MANAGEDLOCATION","KW_MANAGEMENT","KW_MAP","KW_MAPJOIN","KW_MAPPING","KW_MATCHED","KW_MATERIALIZED","KW_MERGE","KW_METADATA","KW_MINUS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MORE","KW_MOVE","KW_MSCK","KW_NONE","KW_NORELY","KW_NOSCAN","KW_NOT","KW_NOVALIDATE","KW_NO_DROP","KW_NULL","KW_NULLS","KW_OF","KW_OFFLINE","KW_OFFSET","KW_ON","KW_ONLY","KW_OPERATOR","KW_OPTION","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTDRIVER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERWRITE","KW_OWNER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATH","KW_PERCENT","KW_PKFK_JOIN","KW_PLAN","KW_PLANS","KW_PLUS","KW_POOL","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRESERVE","KW_PRIMARY","KW_PRINCIPALS","KW_PROCEDURE","KW_PROTECTION","KW_PURGE","KW_QUALIFY","KW_QUARTER","KW_QUERY","KW_QUERY_PARALLELISM","KW_RANGE","KW_READ","KW_READONLY","KW_READS","KW_REAL","KW_REBUILD","KW_RECORDREADER","KW_RECORDWRITER","KW_REDUCE","KW_REFERENCES","KW_REGEXP","KW_RELOAD","KW_RELY","KW_REMOTE","KW_RENAME","KW_REOPTIMIZATION","KW_REPAIR","KW_REPL","KW_REPLACE","KW_REPLICATION","KW_RESOURCE","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_REWRITE","KW_RIGHT","KW_RLIKE","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SCHEDULED","KW_SCHEDULING_POLICY","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SEMI","KW_SERDE","KW_SERDEPROPERTIES","KW_SERVER","KW_SET","KW_SETS","KW_SET_CURRENT_SNAPSHOT","KW_SHARED","KW_SHOW","KW_SHOW_DATABASE","KW_SKEWED","KW_SMALLINT","KW_SNAPSHOT","KW_SOME","KW_SORT","KW_SORTED","KW_SPEC","KW_SSL","KW_START","KW_STATISTICS","KW_STATUS","KW_STORED","KW_STREAMTABLE","KW_STRING","KW_STRUCT","KW_SUMMARY","KW_SYNC","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMPLOCALTZ","KW_TIMESTAMPTZ","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIGGER","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNDO","KW_UNION","KW_UNIONTYPE","KW_UNIQUE","KW_UNIQUEJOIN","KW_UNKNOWN","KW_UNLOCK","KW_UNMANAGED","KW_UNSET","KW_UNSIGNED","KW_UPDATE","KW_URI","KW_URL","KW_USE","KW_USER","KW_USING","KW_UTC","KW_UTCTIMESTAMP","KW_VALIDATE","KW_VALUES","KW_VALUE_TYPE","KW_VARCHAR","KW_VECTORIZATION","KW_VIEW","KW_VIEWS","KW_WAIT","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WORK","KW_WORKLOAD","KW_WRITE","KW_YEAR","KW_YEARS","KW_ZONE","DOT","COLON","COMMA","SEMICOLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","EQUAL","EQUAL_NS","NOTEQUAL","LESSTHANOREQUALTO","LESSTHAN","GREATERTHANOREQUALTO","GREATERTHAN","DIVIDE","PLUS","MINUS","STAR","MOD","DIV","BITWISENOT","AMPERSAND","TILDE","BITWISEOR","CONCATENATE","BITWISEXOR","QUESTION","DOLLAR","StringLiteral","CharSetLiteral","IntegralLiteral","NumberLiteral","ByteLengthLiteral","Number","Identifier","QuotedIdentifier","Letter","HexDigit","Digit","Exponent","RegexComponent","CharSetName","WHITE_SPACE","LINE_COMMENT","QUERY_HINT","SHOW_HINT","HIDDEN_HINT"],l._serializedATN=[4,0,438,4171,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,395,1,395,1,396,1,396,1,397,1,397,1,398,1,398,1,399,1,399,1,400,1,400,1,401,1,401,1,402,1,402,1,403,1,403,1,404,1,404,1,404,3,404,3920,8,404,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,3,406,3930,8,406,1,407,1,407,1,407,1,408,1,408,1,409,1,409,1,409,1,410,1,410,1,411,1,411,1,412,1,412,1,413,1,413,1,414,1,414,1,415,1,415,1,416,1,416,1,416,1,416,1,417,1,417,1,418,1,418,1,419,1,419,1,420,1,420,1,421,1,421,1,421,1,422,1,422,1,423,1,423,1,424,1,424,1,425,1,425,1,425,1,425,5,425,3977,8,425,10,425,12,425,3980,9,425,1,425,1,425,1,425,1,425,1,425,5,425,3987,8,425,10,425,12,425,3990,9,425,1,425,4,425,3993,8,425,11,425,12,425,3994,1,426,1,426,1,426,1,426,1,426,4,426,4002,8,426,11,426,12,426,4003,3,426,4006,8,426,1,427,4,427,4009,8,427,11,427,12,427,4010,1,427,1,427,1,428,1,428,3,428,4017,8,428,1,428,1,428,1,429,4,429,4022,8,429,11,429,12,429,4023,1,429,1,429,1,430,4,430,4029,8,430,11,430,12,430,4030,1,430,1,430,5,430,4035,8,430,10,430,12,430,4038,9,430,1,430,3,430,4041,8,430,1,430,3,430,4044,8,430,1,431,1,431,3,431,4048,8,431,1,431,1,431,1,431,5,431,4053,8,431,10,431,12,431,4056,9,431,1,431,1,431,1,431,4,431,4061,8,431,11,431,12,431,4062,1,431,1,431,3,431,4067,8,431,1,432,1,432,1,432,1,432,5,432,4073,8,432,10,432,12,432,4076,9,432,1,432,1,432,1,433,1,433,1,434,1,434,1,435,1,435,1,436,1,436,1,436,3,436,4089,8,436,1,436,4,436,4092,8,436,11,436,12,436,4093,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,3,437,4112,8,437,1,438,1,438,1,438,1,438,4,438,4118,8,438,11,438,12,438,4119,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,5,440,4130,8,440,10,440,12,440,4133,9,440,1,440,1,440,1,441,1,441,3,441,4139,8,441,1,442,1,442,1,442,1,442,1,442,1,442,5,442,4147,8,442,10,442,12,442,4150,9,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,5,443,4162,8,443,10,443,12,443,4165,9,443,1,443,1,443,1,443,1,443,1,443,2,4148,4163,0,444,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,0,867,0,869,0,871,0,873,0,875,0,877,433,879,434,881,435,883,436,885,437,887,438,1,0,37,2,0,65,65,97,97,2,0,66,66,98,98,2,0,79,79,111,111,2,0,82,82,114,114,2,0,84,84,116,116,2,0,67,67,99,99,2,0,73,73,105,105,2,0,86,86,118,118,2,0,69,69,101,101,2,0,68,68,100,100,2,0,77,77,109,109,2,0,78,78,110,110,2,0,70,70,102,102,2,0,76,76,108,108,2,0,89,89,121,121,2,0,90,90,122,122,2,0,80,80,112,112,2,0,72,72,104,104,2,0,83,83,115,115,2,0,85,85,117,117,2,0,87,87,119,119,2,0,71,71,103,103,2,0,75,75,107,107,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,2,0,39,39,92,92,2,0,34,34,92,92,6,0,76,76,83,83,89,89,108,108,115,115,121,121,8,0,66,66,71,71,75,75,77,77,98,98,103,103,107,107,109,109,1,0,96,96,2,0,65,90,97,122,2,0,65,70,97,102,4,0,48,57,65,90,95,95,97,122,3,0,45,46,58,58,95,95,3,0,9,10,13,13,32,32,2,0,10,10,13,13,4219,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,1,889,1,0,0,0,3,895,1,0,0,0,5,904,1,0,0,0,7,911,1,0,0,0,9,915,1,0,0,0,11,921,1,0,0,0,13,927,1,0,0,0,15,931,1,0,0,0,17,946,1,0,0,0,19,952,1,0,0,0,21,960,1,0,0,0,23,964,1,0,0,0,25,969,1,0,0,0,27,973,1,0,0,0,29,985,1,0,0,0,31,993,1,0,0,0,33,999,1,0,0,0,35,1002,1,0,0,0,37,1006,1,0,0,0,39,1010,1,0,0,0,41,1013,1,0,0,0,43,1027,1,0,0,0,45,1038,1,0,0,0,47,1044,1,0,0,0,49,1051,1,0,0,0,51,1059,1,0,0,0,53,1066,1,0,0,0,55,1073,1,0,0,0,57,1081,1,0,0,0,59,1086,1,0,0,0,61,1093,1,0,0,0,63,1101,1,0,0,0,65,1104,1,0,0,0,67,1110,1,0,0,0,69,1118,1,0,0,0,71,1123,1,0,0,0,73,1128,1,0,0,0,75,1132,1,0,0,0,77,1139,1,0,0,0,79,1144,1,0,0,0,81,1150,1,0,0,0,83,1158,1,0,0,0,85,1168,1,0,0,0,87,1182,1,0,0,0,89,1193,1,0,0,0,91,1200,1,0,0,0,93,1208,1,0,0,0,95,1216,1,0,0,0,97,1223,1,0,0,0,99,1231,1,0,0,0,101,1243,1,0,0,0,103,1256,1,0,0,0,105,1264,1,0,0,0,107,1276,1,0,0,0,109,1281,1,0,0,0,111,1292,1,0,0,0,113,1301,1,0,0,0,115,1306,1,0,0,0,117,1313,1,0,0,0,119,1318,1,0,0,0,121,1324,1,0,0,0,123,1329,1,0,0,0,125,1337,1,0,0,0,127,1350,1,0,0,0,129,1368,1,0,0,0,131,1375,1,0,0,0,133,1380,1,0,0,0,135,1389,1,0,0,0,137,1399,1,0,0,0,139,1409,1,0,0,0,141,1420,1,0,0,0,143,1425,1,0,0,0,145,1434,1,0,0,0,147,1438,1,0,0,0,149,1443,1,0,0,0,151,1453,1,0,0,0,153,1466,1,0,0,0,155,1479,1,0,0,0,157,1483,1,0,0,0,159,1489,1,0,0,0,161,1493,1,0,0,0,163,1501,1,0,0,0,165,1509,1,0,0,0,167,1517,1,0,0,0,169,1526,1,0,0,0,171,1534,1,0,0,0,173,1541,1,0,0,0,175,1551,1,0,0,0,177,1562,1,0,0,0,179,1567,1,0,0,0,181,1576,1,0,0,0,183,1583,1,0,0,0,185,1595,1,0,0,0,187,1605,1,0,0,0,189,1613,1,0,0,0,191,1622,1,0,0,0,193,1631,1,0,0,0,195,1642,1,0,0,0,197,1654,1,0,0,0,199,1657,1,0,0,0,201,1664,1,0,0,0,203,1669,1,0,0,0,205,1677,1,0,0,0,207,1682,1,0,0,0,209,1689,1,0,0,0,211,1694,1,0,0,0,213,1701,1,0,0,0,215,1709,1,0,0,0,217,1713,1,0,0,0,219,1722,1,0,0,0,221,1730,1,0,0,0,223,1736,1,0,0,0,225,1743,1,0,0,0,227,1752,1,0,0,0,229,1762,1,0,0,0,231,1770,1,0,0,0,233,1779,1,0,0,0,235,1786,1,0,0,0,237,1803,1,0,0,0,239,1811,1,0,0,0,241,1818,1,0,0,0,243,1829,1,0,0,0,245,1838,1,0,0,0,247,1847,1,0,0,0,249,1855,1,0,0,0,251,1861,1,0,0,0,253,1867,1,0,0,0,255,1874,1,0,0,0,257,1879,1,0,0,0,259,1890,1,0,0,0,261,1896,1,0,0,0,263,1902,1,0,0,0,265,1908,1,0,0,0,267,1918,1,0,0,0,269,1922,1,0,0,0,271,1928,1,0,0,0,273,1936,1,0,0,0,275,1943,1,0,0,0,277,1953,1,0,0,0,279,1958,1,0,0,0,281,1963,1,0,0,0,283,1972,1,0,0,0,285,1982,1,0,0,0,287,1988,1,0,0,0,289,1994,1,0,0,0,291,2003,1,0,0,0,293,2010,1,0,0,0,295,2023,1,0,0,0,297,2028,1,0,0,0,299,2034,1,0,0,0,301,2048,1,0,0,0,303,2051,1,0,0,0,305,2058,1,0,0,0,307,2065,1,0,0,0,309,2068,1,0,0,0,311,2074,1,0,0,0,313,2082,1,0,0,0,315,2088,1,0,0,0,317,2095,1,0,0,0,319,2107,1,0,0,0,321,2119,1,0,0,0,323,2126,1,0,0,0,325,2130,1,0,0,0,327,2138,1,0,0,0,329,2148,1,0,0,0,331,2157,1,0,0,0,333,2162,1,0,0,0,335,2165,1,0,0,0,337,2175,1,0,0,0,339,2181,1,0,0,0,341,2185,1,0,0,0,343,2190,1,0,0,0,345,2199,1,0,0,0,347,2203,1,0,0,0,349,2208,1,0,0,0,351,2214,1,0,0,0,353,2219,1,0,0,0,355,2224,1,0,0,0,357,2232,1,0,0,0,359,2240,1,0,0,0,361,2245,1,0,0,0,363,2250,1,0,0,0,365,2256,1,0,0,0,367,2266,1,0,0,0,369,2271,1,0,0,0,371,2277,1,0,0,0,373,2283,1,0,0,0,375,2288,1,0,0,0,377,2294,1,0,0,0,379,2303,1,0,0,0,381,2308,1,0,0,0,383,2314,1,0,0,0,385,2322,1,0,0,0,387,2327,1,0,0,0,389,2333,1,0,0,0,391,2341,1,0,0,0,393,2357,1,0,0,0,395,2368,1,0,0,0,397,2372,1,0,0,0,399,2380,1,0,0,0,401,2388,1,0,0,0,403,2396,1,0,0,0,405,2409,1,0,0,0,407,2415,1,0,0,0,409,2424,1,0,0,0,411,2430,1,0,0,0,413,2437,1,0,0,0,415,2445,1,0,0,0,417,2451,1,0,0,0,419,2458,1,0,0,0,421,2463,1,0,0,0,423,2468,1,0,0,0,425,2473,1,0,0,0,427,2478,1,0,0,0,429,2485,1,0,0,0,431,2492,1,0,0,0,433,2496,1,0,0,0,435,2507,1,0,0,0,437,2515,1,0,0,0,439,2520,1,0,0,0,441,2526,1,0,0,0,443,2529,1,0,0,0,445,2537,1,0,0,0,447,2544,1,0,0,0,449,2547,1,0,0,0,451,2552,1,0,0,0,453,2561,1,0,0,0,455,2568,1,0,0,0,457,2571,1,0,0,0,459,2577,1,0,0,0,461,2581,1,0,0,0,463,2587,1,0,0,0,465,2600,1,0,0,0,467,2613,1,0,0,0,469,2618,1,0,0,0,471,2628,1,0,0,0,473,2634,1,0,0,0,475,2644,1,0,0,0,477,2656,1,0,0,0,479,2667,1,0,0,0,481,2672,1,0,0,0,483,2680,1,0,0,0,485,2690,1,0,0,0,487,2695,1,0,0,0,489,2701,1,0,0,0,491,2706,1,0,0,0,493,2711,1,0,0,0,495,2721,1,0,0,0,497,2731,1,0,0,0,499,2739,1,0,0,0,501,2748,1,0,0,0,503,2756,1,0,0,0,505,2767,1,0,0,0,507,2777,1,0,0,0,509,2788,1,0,0,0,511,2794,1,0,0,0,513,2802,1,0,0,0,515,2810,1,0,0,0,517,2816,1,0,0,0,519,2834,1,0,0,0,521,2840,1,0,0,0,523,2845,1,0,0,0,525,2854,1,0,0,0,527,2860,1,0,0,0,529,2865,1,0,0,0,531,2873,1,0,0,0,533,2886,1,0,0,0,535,2899,1,0,0,0,537,2906,1,0,0,0,539,2917,1,0,0,0,541,2924,1,0,0,0,543,2931,1,0,0,0,545,2936,1,0,0,0,547,2943,1,0,0,0,549,2950,1,0,0,0,551,2965,1,0,0,0,553,2972,1,0,0,0,555,2977,1,0,0,0,557,2985,1,0,0,0,559,2997,1,0,0,0,561,3006,1,0,0,0,563,3014,1,0,0,0,565,3023,1,0,0,0,567,3030,1,0,0,0,569,3038,1,0,0,0,571,3044,1,0,0,0,573,3050,1,0,0,0,575,3055,1,0,0,0,577,3061,1,0,0,0,579,3070,1,0,0,0,581,3077,1,0,0,0,583,3081,1,0,0,0,585,3086,1,0,0,0,587,3096,1,0,0,0,589,3114,1,0,0,0,591,3121,1,0,0,0,593,3129,1,0,0,0,595,3136,1,0,0,0,597,3144,1,0,0,0,599,3151,1,0,0,0,601,3156,1,0,0,0,603,3162,1,0,0,0,605,3178,1,0,0,0,607,3185,1,0,0,0,609,3189,1,0,0,0,611,3194,1,0,0,0,613,3215,1,0,0,0,615,3222,1,0,0,0,617,3227,1,0,0,0,619,3241,1,0,0,0,621,3248,1,0,0,0,623,3257,1,0,0,0,625,3266,1,0,0,0,627,3271,1,0,0,0,629,3276,1,0,0,0,631,3283,1,0,0,0,633,3288,1,0,0,0,635,3292,1,0,0,0,637,3298,1,0,0,0,639,3309,1,0,0,0,641,3316,1,0,0,0,643,3323,1,0,0,0,645,3335,1,0,0,0,647,3342,1,0,0,0,649,3349,1,0,0,0,651,3357,1,0,0,0,653,3362,1,0,0,0,655,3374,1,0,0,0,657,3389,1,0,0,0,659,3395,1,0,0,0,661,3402,1,0,0,0,663,3414,1,0,0,0,665,3428,1,0,0,0,667,3438,1,0,0,0,669,3449,1,0,0,0,671,3454,1,0,0,0,673,3459,1,0,0,0,675,3469,1,0,0,0,677,3486,1,0,0,0,679,3498,1,0,0,0,681,3506,1,0,0,0,683,3509,1,0,0,0,685,3515,1,0,0,0,687,3524,1,0,0,0,689,3536,1,0,0,0,691,3550,1,0,0,0,693,3563,1,0,0,0,695,3573,1,0,0,0,697,3581,1,0,0,0,699,3586,1,0,0,0,701,3591,1,0,0,0,703,3600,1,0,0,0,705,3605,1,0,0,0,707,3615,1,0,0,0,709,3625,1,0,0,0,711,3630,1,0,0,0,713,3636,1,0,0,0,715,3646,1,0,0,0,717,3653,1,0,0,0,719,3664,1,0,0,0,721,3672,1,0,0,0,723,3679,1,0,0,0,725,3689,1,0,0,0,727,3695,1,0,0,0,729,3704,1,0,0,0,731,3711,1,0,0,0,733,3715,1,0,0,0,735,3719,1,0,0,0,737,3723,1,0,0,0,739,3728,1,0,0,0,741,3734,1,0,0,0,743,3738,1,0,0,0,745,3751,1,0,0,0,747,3760,1,0,0,0,749,3767,1,0,0,0,751,3775,1,0,0,0,753,3783,1,0,0,0,755,3797,1,0,0,0,757,3802,1,0,0,0,759,3808,1,0,0,0,761,3813,1,0,0,0,763,3818,1,0,0,0,765,3824,1,0,0,0,767,3829,1,0,0,0,769,3835,1,0,0,0,771,3841,1,0,0,0,773,3848,1,0,0,0,775,3853,1,0,0,0,777,3860,1,0,0,0,779,3865,1,0,0,0,781,3874,1,0,0,0,783,3880,1,0,0,0,785,3885,1,0,0,0,787,3891,1,0,0,0,789,3896,1,0,0,0,791,3898,1,0,0,0,793,3900,1,0,0,0,795,3902,1,0,0,0,797,3904,1,0,0,0,799,3906,1,0,0,0,801,3908,1,0,0,0,803,3910,1,0,0,0,805,3912,1,0,0,0,807,3914,1,0,0,0,809,3919,1,0,0,0,811,3921,1,0,0,0,813,3929,1,0,0,0,815,3931,1,0,0,0,817,3934,1,0,0,0,819,3936,1,0,0,0,821,3939,1,0,0,0,823,3941,1,0,0,0,825,3943,1,0,0,0,827,3945,1,0,0,0,829,3947,1,0,0,0,831,3949,1,0,0,0,833,3951,1,0,0,0,835,3955,1,0,0,0,837,3957,1,0,0,0,839,3959,1,0,0,0,841,3961,1,0,0,0,843,3963,1,0,0,0,845,3966,1,0,0,0,847,3968,1,0,0,0,849,3970,1,0,0,0,851,3992,1,0,0,0,853,4005,1,0,0,0,855,4008,1,0,0,0,857,4014,1,0,0,0,859,4021,1,0,0,0,861,4028,1,0,0,0,863,4066,1,0,0,0,865,4068,1,0,0,0,867,4079,1,0,0,0,869,4081,1,0,0,0,871,4083,1,0,0,0,873,4085,1,0,0,0,875,4111,1,0,0,0,877,4113,1,0,0,0,879,4121,1,0,0,0,881,4125,1,0,0,0,883,4138,1,0,0,0,885,4140,1,0,0,0,887,4156,1,0,0,0,889,890,7,0,0,0,890,891,7,1,0,0,891,892,7,2,0,0,892,893,7,3,0,0,893,894,7,4,0,0,894,2,1,0,0,0,895,896,7,0,0,0,896,897,7,5,0,0,897,898,7,4,0,0,898,899,7,6,0,0,899,900,7,7,0,0,900,901,7,0,0,0,901,902,7,4,0,0,902,903,7,8,0,0,903,4,1,0,0,0,904,905,7,0,0,0,905,906,7,5,0,0,906,907,7,4,0,0,907,908,7,6,0,0,908,909,7,7,0,0,909,910,7,8,0,0,910,6,1,0,0,0,911,912,7,0,0,0,912,913,7,9,0,0,913,914,7,9,0,0,914,8,1,0,0,0,915,916,7,0,0,0,916,917,7,9,0,0,917,918,7,10,0,0,918,919,7,6,0,0,919,920,7,11,0,0,920,10,1,0,0,0,921,922,7,0,0,0,922,923,7,12,0,0,923,924,7,4,0,0,924,925,7,8,0,0,925,926,7,3,0,0,926,12,1,0,0,0,927,928,7,0,0,0,928,929,7,13,0,0,929,930,7,13,0,0,930,14,1,0,0,0,931,932,7,0,0,0,932,933,7,13,0,0,933,934,7,13,0,0,934,935,7,2,0,0,935,936,7,5,0,0,936,937,5,95,0,0,937,938,7,12,0,0,938,939,7,3,0,0,939,940,7,0,0,0,940,941,7,5,0,0,941,942,7,4,0,0,942,943,7,6,0,0,943,944,7,2,0,0,944,945,7,11,0,0,945,16,1,0,0,0,946,947,7,0,0,0,947,948,7,13,0,0,948,949,7,4,0,0,949,950,7,8,0,0,950,951,7,3,0,0,951,18,1,0,0,0,952,953,7,0,0,0,953,954,7,11,0,0,954,955,7,0,0,0,955,956,7,13,0,0,956,957,7,14,0,0,957,958,7,15,0,0,958,959,7,8,0,0,959,20,1,0,0,0,960,961,7,0,0,0,961,962,7,11,0,0,962,963,7,9,0,0,963,22,1,0,0,0,964,965,7,0,0,0,965,966,7,11,0,0,966,967,7,4,0,0,967,968,7,6,0,0,968,24,1,0,0,0,969,970,7,0,0,0,970,971,7,11,0,0,971,972,7,14,0,0,972,26,1,0,0,0,973,974,7,0,0,0,974,975,7,16,0,0,975,976,7,16,0,0,976,977,7,13,0,0,977,978,7,6,0,0,978,979,7,5,0,0,979,980,7,0,0,0,980,981,7,4,0,0,981,982,7,6,0,0,982,983,7,2,0,0,983,984,7,11,0,0,984,28,1,0,0,0,985,986,7,0,0,0,986,987,7,3,0,0,987,988,7,5,0,0,988,989,7,17,0,0,989,990,7,6,0,0,990,991,7,7,0,0,991,992,7,8,0,0,992,30,1,0,0,0,993,994,7,0,0,0,994,995,7,3,0,0,995,996,7,3,0,0,996,997,7,0,0,0,997,998,7,14,0,0,998,32,1,0,0,0,999,1e3,7,0,0,0,1e3,1001,7,18,0,0,1001,34,1,0,0,0,1002,1003,7,0,0,0,1003,1004,7,18,0,0,1004,1005,7,5,0,0,1005,36,1,0,0,0,1006,1007,7,0,0,0,1007,1008,7,18,0,0,1008,1009,7,4,0,0,1009,38,1,0,0,0,1010,1011,7,0,0,0,1011,1012,7,4,0,0,1012,40,1,0,0,0,1013,1014,7,0,0,0,1014,1015,7,19,0,0,1015,1016,7,4,0,0,1016,1017,7,17,0,0,1017,1018,7,2,0,0,1018,1019,7,3,0,0,1019,1020,7,6,0,0,1020,1021,7,15,0,0,1021,1022,7,0,0,0,1022,1023,7,4,0,0,1023,1024,7,6,0,0,1024,1025,7,2,0,0,1025,1026,7,11,0,0,1026,42,1,0,0,0,1027,1028,7,0,0,0,1028,1029,7,19,0,0,1029,1030,7,4,0,0,1030,1031,7,2,0,0,1031,1032,7,5,0,0,1032,1033,7,2,0,0,1033,1034,7,10,0,0,1034,1035,7,10,0,0,1035,1036,7,6,0,0,1036,1037,7,4,0,0,1037,44,1,0,0,0,1038,1039,7,1,0,0,1039,1040,7,0,0,0,1040,1041,7,4,0,0,1041,1042,7,5,0,0,1042,1043,7,17,0,0,1043,46,1,0,0,0,1044,1045,7,1,0,0,1045,1046,7,8,0,0,1046,1047,7,12,0,0,1047,1048,7,2,0,0,1048,1049,7,3,0,0,1049,1050,7,8,0,0,1050,48,1,0,0,0,1051,1052,7,1,0,0,1052,1053,7,8,0,0,1053,1054,7,4,0,0,1054,1055,7,20,0,0,1055,1056,7,8,0,0,1056,1057,7,8,0,0,1057,1058,7,11,0,0,1058,50,1,0,0,0,1059,1060,7,1,0,0,1060,1061,7,6,0,0,1061,1062,7,21,0,0,1062,1063,7,6,0,0,1063,1064,7,11,0,0,1064,1065,7,4,0,0,1065,52,1,0,0,0,1066,1067,7,1,0,0,1067,1068,7,6,0,0,1068,1069,7,11,0,0,1069,1070,7,0,0,0,1070,1071,7,3,0,0,1071,1072,7,14,0,0,1072,54,1,0,0,0,1073,1074,7,1,0,0,1074,1075,7,2,0,0,1075,1076,7,2,0,0,1076,1077,7,13,0,0,1077,1078,7,8,0,0,1078,1079,7,0,0,0,1079,1080,7,11,0,0,1080,56,1,0,0,0,1081,1082,7,1,0,0,1082,1083,7,2,0,0,1083,1084,7,4,0,0,1084,1085,7,17,0,0,1085,58,1,0,0,0,1086,1087,7,1,0,0,1087,1088,7,19,0,0,1088,1089,7,5,0,0,1089,1090,7,22,0,0,1090,1091,7,8,0,0,1091,1092,7,4,0,0,1092,60,1,0,0,0,1093,1094,7,1,0,0,1094,1095,7,19,0,0,1095,1096,7,5,0,0,1096,1097,7,22,0,0,1097,1098,7,8,0,0,1098,1099,7,4,0,0,1099,1100,7,18,0,0,1100,62,1,0,0,0,1101,1102,7,1,0,0,1102,1103,7,14,0,0,1103,64,1,0,0,0,1104,1105,7,5,0,0,1105,1106,7,0,0,0,1106,1107,7,5,0,0,1107,1108,7,17,0,0,1108,1109,7,8,0,0,1109,66,1,0,0,0,1110,1111,7,5,0,0,1111,1112,7,0,0,0,1112,1113,7,18,0,0,1113,1114,7,5,0,0,1114,1115,7,0,0,0,1115,1116,7,9,0,0,1116,1117,7,8,0,0,1117,68,1,0,0,0,1118,1119,7,5,0,0,1119,1120,7,0,0,0,1120,1121,7,18,0,0,1121,1122,7,8,0,0,1122,70,1,0,0,0,1123,1124,7,5,0,0,1124,1125,7,0,0,0,1125,1126,7,18,0,0,1126,1127,7,4,0,0,1127,72,1,0,0,0,1128,1129,7,5,0,0,1129,1130,7,1,0,0,1130,1131,7,2,0,0,1131,74,1,0,0,0,1132,1133,7,5,0,0,1133,1134,7,17,0,0,1134,1135,7,0,0,0,1135,1136,7,11,0,0,1136,1137,7,21,0,0,1137,1138,7,8,0,0,1138,76,1,0,0,0,1139,1140,7,5,0,0,1140,1141,7,17,0,0,1141,1142,7,0,0,0,1142,1143,7,3,0,0,1143,78,1,0,0,0,1144,1145,7,5,0,0,1145,1146,7,17,0,0,1146,1147,7,8,0,0,1147,1148,7,5,0,0,1148,1149,7,22,0,0,1149,80,1,0,0,0,1150,1151,7,5,0,0,1151,1152,7,13,0,0,1152,1153,7,19,0,0,1153,1154,7,18,0,0,1154,1155,7,4,0,0,1155,1156,7,8,0,0,1156,1157,7,3,0,0,1157,82,1,0,0,0,1158,1159,7,5,0,0,1159,1160,7,13,0,0,1160,1161,7,19,0,0,1161,1162,7,18,0,0,1162,1163,7,4,0,0,1163,1164,7,8,0,0,1164,1165,7,3,0,0,1165,1166,7,8,0,0,1166,1167,7,9,0,0,1167,84,1,0,0,0,1168,1169,7,5,0,0,1169,1170,7,13,0,0,1170,1171,7,19,0,0,1171,1172,7,18,0,0,1172,1173,7,4,0,0,1173,1174,7,8,0,0,1174,1175,7,3,0,0,1175,1176,7,18,0,0,1176,1177,7,4,0,0,1177,1178,7,0,0,0,1178,1179,7,4,0,0,1179,1180,7,19,0,0,1180,1181,7,18,0,0,1181,86,1,0,0,0,1182,1183,7,5,0,0,1183,1184,7,2,0,0,1184,1185,7,13,0,0,1185,1186,7,13,0,0,1186,1187,7,8,0,0,1187,1188,7,5,0,0,1188,1189,7,4,0,0,1189,1190,7,6,0,0,1190,1191,7,2,0,0,1191,1192,7,11,0,0,1192,88,1,0,0,0,1193,1194,7,5,0,0,1194,1195,7,2,0,0,1195,1196,7,13,0,0,1196,1197,7,19,0,0,1197,1198,7,10,0,0,1198,1199,7,11,0,0,1199,90,1,0,0,0,1200,1201,7,5,0,0,1201,1202,7,2,0,0,1202,1203,7,13,0,0,1203,1204,7,19,0,0,1204,1205,7,10,0,0,1205,1206,7,11,0,0,1206,1207,7,18,0,0,1207,92,1,0,0,0,1208,1209,7,5,0,0,1209,1210,7,2,0,0,1210,1211,7,10,0,0,1211,1212,7,10,0,0,1212,1213,7,8,0,0,1213,1214,7,11,0,0,1214,1215,7,4,0,0,1215,94,1,0,0,0,1216,1217,7,5,0,0,1217,1218,7,2,0,0,1218,1219,7,10,0,0,1219,1220,7,10,0,0,1220,1221,7,6,0,0,1221,1222,7,4,0,0,1222,96,1,0,0,0,1223,1224,7,5,0,0,1224,1225,7,2,0,0,1225,1226,7,10,0,0,1226,1227,7,16,0,0,1227,1228,7,0,0,0,1228,1229,7,5,0,0,1229,1230,7,4,0,0,1230,98,1,0,0,0,1231,1232,7,5,0,0,1232,1233,7,2,0,0,1233,1234,7,10,0,0,1234,1235,7,16,0,0,1235,1236,7,0,0,0,1236,1237,7,5,0,0,1237,1238,7,4,0,0,1238,1239,7,6,0,0,1239,1240,7,2,0,0,1240,1241,7,11,0,0,1241,1242,7,18,0,0,1242,100,1,0,0,0,1243,1244,7,5,0,0,1244,1245,7,2,0,0,1245,1246,7,10,0,0,1246,1247,7,16,0,0,1247,1248,7,0,0,0,1248,1249,7,5,0,0,1249,1250,7,4,0,0,1250,1251,7,6,0,0,1251,1252,7,2,0,0,1252,1253,7,11,0,0,1253,1254,7,6,0,0,1254,1255,7,9,0,0,1255,102,1,0,0,0,1256,1257,7,5,0,0,1257,1258,7,2,0,0,1258,1259,7,10,0,0,1259,1260,7,16,0,0,1260,1261,7,19,0,0,1261,1262,7,4,0,0,1262,1263,7,8,0,0,1263,104,1,0,0,0,1264,1265,7,5,0,0,1265,1266,7,2,0,0,1266,1267,7,11,0,0,1267,1268,7,5,0,0,1268,1269,7,0,0,0,1269,1270,7,4,0,0,1270,1271,7,8,0,0,1271,1272,7,11,0,0,1272,1273,7,0,0,0,1273,1274,7,4,0,0,1274,1275,7,8,0,0,1275,106,1,0,0,0,1276,1277,7,5,0,0,1277,1278,7,2,0,0,1278,1279,7,11,0,0,1279,1280,7,12,0,0,1280,108,1,0,0,0,1281,1282,7,5,0,0,1282,1283,7,2,0,0,1283,1284,7,11,0,0,1284,1285,7,18,0,0,1285,1286,7,4,0,0,1286,1287,7,3,0,0,1287,1288,7,0,0,0,1288,1289,7,6,0,0,1289,1290,7,11,0,0,1290,1291,7,4,0,0,1291,110,1,0,0,0,1292,1293,7,5,0,0,1293,1294,7,2,0,0,1294,1295,7,11,0,0,1295,1296,7,4,0,0,1296,1297,7,6,0,0,1297,1298,7,11,0,0,1298,1299,7,19,0,0,1299,1300,7,8,0,0,1300,112,1,0,0,0,1301,1302,7,5,0,0,1302,1303,7,2,0,0,1303,1304,7,18,0,0,1304,1305,7,4,0,0,1305,114,1,0,0,0,1306,1307,7,5,0,0,1307,1308,7,3,0,0,1308,1309,7,8,0,0,1309,1310,7,0,0,0,1310,1311,7,4,0,0,1311,1312,7,8,0,0,1312,116,1,0,0,0,1313,1314,7,5,0,0,1314,1315,7,3,0,0,1315,1316,7,2,0,0,1316,1317,7,11,0,0,1317,118,1,0,0,0,1318,1319,7,5,0,0,1319,1320,7,3,0,0,1320,1321,7,2,0,0,1321,1322,7,18,0,0,1322,1323,7,18,0,0,1323,120,1,0,0,0,1324,1325,7,5,0,0,1325,1326,7,19,0,0,1326,1327,7,1,0,0,1327,1328,7,8,0,0,1328,122,1,0,0,0,1329,1330,7,5,0,0,1330,1331,7,19,0,0,1331,1332,7,3,0,0,1332,1333,7,3,0,0,1333,1334,7,8,0,0,1334,1335,7,11,0,0,1335,1336,7,4,0,0,1336,124,1,0,0,0,1337,1338,7,5,0,0,1338,1339,7,19,0,0,1339,1340,7,3,0,0,1340,1341,7,3,0,0,1341,1342,7,8,0,0,1342,1343,7,11,0,0,1343,1344,7,4,0,0,1344,1345,5,95,0,0,1345,1346,7,9,0,0,1346,1347,7,0,0,0,1347,1348,7,4,0,0,1348,1349,7,8,0,0,1349,126,1,0,0,0,1350,1351,7,5,0,0,1351,1352,7,19,0,0,1352,1353,7,3,0,0,1353,1354,7,3,0,0,1354,1355,7,8,0,0,1355,1356,7,11,0,0,1356,1357,7,4,0,0,1357,1358,5,95,0,0,1358,1359,7,4,0,0,1359,1360,7,6,0,0,1360,1361,7,10,0,0,1361,1362,7,8,0,0,1362,1363,7,18,0,0,1363,1364,7,4,0,0,1364,1365,7,0,0,0,1365,1366,7,10,0,0,1366,1367,7,16,0,0,1367,128,1,0,0,0,1368,1369,7,5,0,0,1369,1370,7,19,0,0,1370,1371,7,3,0,0,1371,1372,7,18,0,0,1372,1373,7,2,0,0,1373,1374,7,3,0,0,1374,130,1,0,0,0,1375,1376,7,9,0,0,1376,1377,7,0,0,0,1377,1378,7,4,0,0,1378,1379,7,0,0,0,1379,132,1,0,0,0,1380,1381,7,9,0,0,1381,1382,7,0,0,0,1382,1383,7,4,0,0,1383,1384,7,0,0,0,1384,1385,7,1,0,0,1385,1386,7,0,0,0,1386,1387,7,18,0,0,1387,1388,7,8,0,0,1388,134,1,0,0,0,1389,1390,7,9,0,0,1390,1391,7,0,0,0,1391,1392,7,4,0,0,1392,1393,7,0,0,0,1393,1394,7,1,0,0,1394,1395,7,0,0,0,1395,1396,7,18,0,0,1396,1397,7,8,0,0,1397,1398,7,18,0,0,1398,136,1,0,0,0,1399,1400,7,5,0,0,1400,1401,7,2,0,0,1401,1402,7,11,0,0,1402,1403,7,11,0,0,1403,1404,7,8,0,0,1404,1405,7,5,0,0,1405,1406,7,4,0,0,1406,1407,7,2,0,0,1407,1408,7,3,0,0,1408,138,1,0,0,0,1409,1410,7,5,0,0,1410,1411,7,2,0,0,1411,1412,7,11,0,0,1412,1413,7,11,0,0,1413,1414,7,8,0,0,1414,1415,7,5,0,0,1415,1416,7,4,0,0,1416,1417,7,2,0,0,1417,1418,7,3,0,0,1418,1419,7,18,0,0,1419,140,1,0,0,0,1420,1421,7,9,0,0,1421,1422,7,0,0,0,1422,1423,7,4,0,0,1423,1424,7,8,0,0,1424,142,1,0,0,0,1425,1426,7,9,0,0,1426,1427,7,0,0,0,1427,1428,7,4,0,0,1428,1429,7,8,0,0,1429,1430,7,4,0,0,1430,1431,7,6,0,0,1431,1432,7,10,0,0,1432,1433,7,8,0,0,1433,144,1,0,0,0,1434,1435,7,9,0,0,1435,1436,7,0,0,0,1436,1437,7,14,0,0,1437,146,1,0,0,0,1438,1439,7,9,0,0,1439,1440,7,0,0,0,1440,1441,7,14,0,0,1441,1442,7,18,0,0,1442,148,1,0,0,0,1443,1444,7,9,0,0,1444,1445,7,0,0,0,1445,1446,7,14,0,0,1446,1447,7,2,0,0,1447,1448,7,12,0,0,1448,1449,7,20,0,0,1449,1450,7,8,0,0,1450,1451,7,8,0,0,1451,1452,7,22,0,0,1452,150,1,0,0,0,1453,1454,7,9,0,0,1454,1455,7,1,0,0,1455,1456,7,16,0,0,1456,1457,7,3,0,0,1457,1458,7,2,0,0,1458,1459,7,16,0,0,1459,1460,7,8,0,0,1460,1461,7,3,0,0,1461,1462,7,4,0,0,1462,1463,7,6,0,0,1463,1464,7,8,0,0,1464,1465,7,18,0,0,1465,152,1,0,0,0,1466,1467,7,9,0,0,1467,1468,7,5,0,0,1468,1469,7,16,0,0,1469,1470,7,3,0,0,1470,1471,7,2,0,0,1471,1472,7,16,0,0,1472,1473,7,8,0,0,1473,1474,7,3,0,0,1474,1475,7,4,0,0,1475,1476,7,6,0,0,1476,1477,7,8,0,0,1477,1478,7,18,0,0,1478,154,1,0,0,0,1479,1480,7,9,0,0,1480,1481,7,9,0,0,1481,1482,7,13,0,0,1482,156,1,0,0,0,1483,1484,7,9,0,0,1484,1485,7,8,0,0,1485,1486,7,1,0,0,1486,1487,7,19,0,0,1487,1488,7,21,0,0,1488,158,1,0,0,0,1489,1490,7,9,0,0,1490,1491,7,8,0,0,1491,1492,7,5,0,0,1492,160,1,0,0,0,1493,1494,7,9,0,0,1494,1495,7,8,0,0,1495,1496,7,5,0,0,1496,1497,7,6,0,0,1497,1498,7,10,0,0,1498,1499,7,0,0,0,1499,1500,7,13,0,0,1500,162,1,0,0,0,1501,1502,7,11,0,0,1502,1503,7,19,0,0,1503,1504,7,10,0,0,1504,1505,7,8,0,0,1505,1506,7,3,0,0,1506,1507,7,6,0,0,1507,1508,7,5,0,0,1508,164,1,0,0,0,1509,1510,7,9,0,0,1510,1511,7,8,0,0,1511,1512,7,12,0,0,1512,1513,7,0,0,0,1513,1514,7,19,0,0,1514,1515,7,13,0,0,1515,1516,7,4,0,0,1516,166,1,0,0,0,1517,1518,7,9,0,0,1518,1519,7,8,0,0,1519,1520,7,12,0,0,1520,1521,7,8,0,0,1521,1522,7,3,0,0,1522,1523,7,3,0,0,1523,1524,7,8,0,0,1524,1525,7,9,0,0,1525,168,1,0,0,0,1526,1527,7,9,0,0,1527,1528,7,8,0,0,1528,1529,7,12,0,0,1529,1530,7,6,0,0,1530,1531,7,11,0,0,1531,1532,7,8,0,0,1532,1533,7,9,0,0,1533,170,1,0,0,0,1534,1535,7,9,0,0,1535,1536,7,8,0,0,1536,1537,7,13,0,0,1537,1538,7,8,0,0,1538,1539,7,4,0,0,1539,1540,7,8,0,0,1540,172,1,0,0,0,1541,1542,7,9,0,0,1542,1543,7,8,0,0,1543,1544,7,13,0,0,1544,1545,7,6,0,0,1545,1546,7,10,0,0,1546,1547,7,6,0,0,1547,1548,7,4,0,0,1548,1549,7,8,0,0,1549,1550,7,9,0,0,1550,174,1,0,0,0,1551,1552,7,9,0,0,1552,1553,7,8,0,0,1553,1554,7,16,0,0,1554,1555,7,8,0,0,1555,1556,7,11,0,0,1556,1557,7,9,0,0,1557,1558,7,8,0,0,1558,1559,7,11,0,0,1559,1560,7,5,0,0,1560,1561,7,14,0,0,1561,176,1,0,0,0,1562,1563,7,9,0,0,1563,1564,7,8,0,0,1564,1565,7,18,0,0,1565,1566,7,5,0,0,1566,178,1,0,0,0,1567,1568,7,9,0,0,1568,1569,7,8,0,0,1569,1570,7,18,0,0,1570,1571,7,5,0,0,1571,1572,7,3,0,0,1572,1573,7,6,0,0,1573,1574,7,1,0,0,1574,1575,7,8,0,0,1575,180,1,0,0,0,1576,1577,7,9,0,0,1577,1578,7,8,0,0,1578,1579,7,4,0,0,1579,1580,7,0,0,0,1580,1581,7,6,0,0,1581,1582,7,13,0,0,1582,182,1,0,0,0,1583,1584,7,9,0,0,1584,1585,7,6,0,0,1585,1586,7,3,0,0,1586,1587,7,8,0,0,1587,1588,7,5,0,0,1588,1589,7,4,0,0,1589,1590,7,2,0,0,1590,1591,7,3,0,0,1591,1592,7,6,0,0,1592,1593,7,8,0,0,1593,1594,7,18,0,0,1594,184,1,0,0,0,1595,1596,7,9,0,0,1596,1597,7,6,0,0,1597,1598,7,3,0,0,1598,1599,7,8,0,0,1599,1600,7,5,0,0,1600,1601,7,4,0,0,1601,1602,7,2,0,0,1602,1603,7,3,0,0,1603,1604,7,14,0,0,1604,186,1,0,0,0,1605,1606,7,9,0,0,1606,1607,7,6,0,0,1607,1608,7,18,0,0,1608,1609,7,0,0,0,1609,1610,7,1,0,0,1610,1611,7,13,0,0,1611,1612,7,8,0,0,1612,188,1,0,0,0,1613,1614,7,9,0,0,1614,1615,7,6,0,0,1615,1616,7,18,0,0,1616,1617,7,0,0,0,1617,1618,7,1,0,0,1618,1619,7,13,0,0,1619,1620,7,8,0,0,1620,1621,7,9,0,0,1621,190,1,0,0,0,1622,1623,7,9,0,0,1623,1624,7,6,0,0,1624,1625,7,18,0,0,1625,1626,7,4,0,0,1626,1627,7,6,0,0,1627,1628,7,11,0,0,1628,1629,7,5,0,0,1629,1630,7,4,0,0,1630,192,1,0,0,0,1631,1632,7,9,0,0,1632,1633,7,6,0,0,1633,1634,7,18,0,0,1634,1635,7,4,0,0,1635,1636,7,3,0,0,1636,1637,7,6,0,0,1637,1638,7,1,0,0,1638,1639,7,19,0,0,1639,1640,7,4,0,0,1640,1641,7,8,0,0,1641,194,1,0,0,0,1642,1643,7,9,0,0,1643,1644,7,6,0,0,1644,1645,7,18,0,0,1645,1646,7,4,0,0,1646,1647,7,3,0,0,1647,1648,7,6,0,0,1648,1649,7,1,0,0,1649,1650,7,19,0,0,1650,1651,7,4,0,0,1651,1652,7,8,0,0,1652,1653,7,9,0,0,1653,196,1,0,0,0,1654,1655,7,9,0,0,1655,1656,7,2,0,0,1656,198,1,0,0,0,1657,1658,7,9,0,0,1658,1659,7,2,0,0,1659,1660,7,19,0,0,1660,1661,7,1,0,0,1661,1662,7,13,0,0,1662,1663,7,8,0,0,1663,200,1,0,0,0,1664,1665,7,9,0,0,1665,1666,7,3,0,0,1666,1667,7,2,0,0,1667,1668,7,16,0,0,1668,202,1,0,0,0,1669,1670,7,3,0,0,1670,1671,7,8,0,0,1671,1672,7,5,0,0,1672,1673,7,2,0,0,1673,1674,7,7,0,0,1674,1675,7,8,0,0,1675,1676,7,3,0,0,1676,204,1,0,0,0,1677,1678,7,9,0,0,1678,1679,7,19,0,0,1679,1680,7,10,0,0,1680,1681,7,16,0,0,1681,206,1,0,0,0,1682,1683,5,36,0,0,1683,1684,7,8,0,0,1684,1685,7,13,0,0,1685,1686,7,8,0,0,1686,1687,7,10,0,0,1687,1688,5,36,0,0,1688,208,1,0,0,0,1689,1690,7,8,0,0,1690,1691,7,13,0,0,1691,1692,7,18,0,0,1692,1693,7,8,0,0,1693,210,1,0,0,0,1694,1695,7,8,0,0,1695,1696,7,11,0,0,1696,1697,7,0,0,0,1697,1698,7,1,0,0,1698,1699,7,13,0,0,1699,1700,7,8,0,0,1700,212,1,0,0,0,1701,1702,7,8,0,0,1702,1703,7,11,0,0,1703,1704,7,0,0,0,1704,1705,7,1,0,0,1705,1706,7,13,0,0,1706,1707,7,8,0,0,1707,1708,7,9,0,0,1708,214,1,0,0,0,1709,1710,7,8,0,0,1710,1711,7,11,0,0,1711,1712,7,9,0,0,1712,216,1,0,0,0,1713,1714,7,8,0,0,1714,1715,7,11,0,0,1715,1716,7,12,0,0,1716,1717,7,2,0,0,1717,1718,7,3,0,0,1718,1719,7,5,0,0,1719,1720,7,8,0,0,1720,1721,7,9,0,0,1721,218,1,0,0,0,1722,1723,7,8,0,0,1723,1724,7,18,0,0,1724,1725,7,5,0,0,1725,1726,7,0,0,0,1726,1727,7,16,0,0,1727,1728,7,8,0,0,1728,1729,7,9,0,0,1729,220,1,0,0,0,1730,1731,7,8,0,0,1731,1732,7,7,0,0,1732,1733,7,8,0,0,1733,1734,7,3,0,0,1734,1735,7,14,0,0,1735,222,1,0,0,0,1736,1737,7,8,0,0,1737,1738,7,23,0,0,1738,1739,7,5,0,0,1739,1740,7,8,0,0,1740,1741,7,16,0,0,1741,1742,7,4,0,0,1742,224,1,0,0,0,1743,1744,7,8,0,0,1744,1745,7,23,0,0,1745,1746,7,5,0,0,1746,1747,7,17,0,0,1747,1748,7,0,0,0,1748,1749,7,11,0,0,1749,1750,7,21,0,0,1750,1751,7,8,0,0,1751,226,1,0,0,0,1752,1753,7,8,0,0,1753,1754,7,23,0,0,1754,1755,7,5,0,0,1755,1756,7,13,0,0,1756,1757,7,19,0,0,1757,1758,7,18,0,0,1758,1759,7,6,0,0,1759,1760,7,7,0,0,1760,1761,7,8,0,0,1761,228,1,0,0,0,1762,1763,7,8,0,0,1763,1764,7,23,0,0,1764,1765,7,8,0,0,1765,1766,7,5,0,0,1766,1767,7,19,0,0,1767,1768,7,4,0,0,1768,1769,7,8,0,0,1769,230,1,0,0,0,1770,1771,7,8,0,0,1771,1772,7,23,0,0,1772,1773,7,8,0,0,1773,1774,7,5,0,0,1774,1775,7,19,0,0,1775,1776,7,4,0,0,1776,1777,7,8,0,0,1777,1778,7,9,0,0,1778,232,1,0,0,0,1779,1780,7,8,0,0,1780,1781,7,23,0,0,1781,1782,7,6,0,0,1782,1783,7,18,0,0,1783,1784,7,4,0,0,1784,1785,7,18,0,0,1785,234,1,0,0,0,1786,1787,7,8,0,0,1787,1788,7,23,0,0,1788,1789,7,16,0,0,1789,1790,7,6,0,0,1790,1791,7,3,0,0,1791,1792,7,8,0,0,1792,1793,5,95,0,0,1793,1794,7,18,0,0,1794,1795,7,11,0,0,1795,1796,7,0,0,0,1796,1797,7,16,0,0,1797,1798,7,18,0,0,1798,1799,7,17,0,0,1799,1800,7,2,0,0,1800,1801,7,4,0,0,1801,1802,7,18,0,0,1802,236,1,0,0,0,1803,1804,7,8,0,0,1804,1805,7,23,0,0,1805,1806,7,16,0,0,1806,1807,7,13,0,0,1807,1808,7,0,0,0,1808,1809,7,6,0,0,1809,1810,7,11,0,0,1810,238,1,0,0,0,1811,1812,7,8,0,0,1812,1813,7,23,0,0,1813,1814,7,16,0,0,1814,1815,7,2,0,0,1815,1816,7,3,0,0,1816,1817,7,4,0,0,1817,240,1,0,0,0,1818,1819,7,8,0,0,1819,1820,7,23,0,0,1820,1821,7,16,0,0,1821,1822,7,3,0,0,1822,1823,7,8,0,0,1823,1824,7,18,0,0,1824,1825,7,18,0,0,1825,1826,7,6,0,0,1826,1827,7,2,0,0,1827,1828,7,11,0,0,1828,242,1,0,0,0,1829,1830,7,8,0,0,1830,1831,7,23,0,0,1831,1832,7,4,0,0,1832,1833,7,8,0,0,1833,1834,7,11,0,0,1834,1835,7,9,0,0,1835,1836,7,8,0,0,1836,1837,7,9,0,0,1837,244,1,0,0,0,1838,1839,7,8,0,0,1839,1840,7,23,0,0,1840,1841,7,4,0,0,1841,1842,7,8,0,0,1842,1843,7,3,0,0,1843,1844,7,11,0,0,1844,1845,7,0,0,0,1845,1846,7,13,0,0,1846,246,1,0,0,0,1847,1848,7,8,0,0,1848,1849,7,23,0,0,1849,1850,7,4,0,0,1850,1851,7,3,0,0,1851,1852,7,0,0,0,1852,1853,7,5,0,0,1853,1854,7,4,0,0,1854,248,1,0,0,0,1855,1856,7,12,0,0,1856,1857,7,0,0,0,1857,1858,7,13,0,0,1858,1859,7,18,0,0,1859,1860,7,8,0,0,1860,250,1,0,0,0,1861,1862,7,12,0,0,1862,1863,7,8,0,0,1863,1864,7,4,0,0,1864,1865,7,5,0,0,1865,1866,7,17,0,0,1866,252,1,0,0,0,1867,1868,7,12,0,0,1868,1869,7,6,0,0,1869,1870,7,8,0,0,1870,1871,7,13,0,0,1871,1872,7,9,0,0,1872,1873,7,18,0,0,1873,254,1,0,0,0,1874,1875,7,12,0,0,1875,1876,7,6,0,0,1876,1877,7,13,0,0,1877,1878,7,8,0,0,1878,256,1,0,0,0,1879,1880,7,12,0,0,1880,1881,7,6,0,0,1881,1882,7,13,0,0,1882,1883,7,8,0,0,1883,1884,7,12,0,0,1884,1885,7,2,0,0,1885,1886,7,3,0,0,1886,1887,7,10,0,0,1887,1888,7,0,0,0,1888,1889,7,4,0,0,1889,258,1,0,0,0,1890,1891,7,12,0,0,1891,1892,7,6,0,0,1892,1893,7,3,0,0,1893,1894,7,18,0,0,1894,1895,7,4,0,0,1895,260,1,0,0,0,1896,1897,7,12,0,0,1897,1898,7,13,0,0,1898,1899,7,2,0,0,1899,1900,7,0,0,0,1900,1901,7,4,0,0,1901,262,1,0,0,0,1902,1903,7,12,0,0,1903,1904,7,13,0,0,1904,1905,7,2,0,0,1905,1906,7,2,0,0,1906,1907,7,3,0,0,1907,264,1,0,0,0,1908,1909,7,12,0,0,1909,1910,7,2,0,0,1910,1911,7,13,0,0,1911,1912,7,13,0,0,1912,1913,7,2,0,0,1913,1914,7,20,0,0,1914,1915,7,6,0,0,1915,1916,7,11,0,0,1916,1917,7,21,0,0,1917,266,1,0,0,0,1918,1919,7,12,0,0,1919,1920,7,2,0,0,1920,1921,7,3,0,0,1921,268,1,0,0,0,1922,1923,7,12,0,0,1923,1924,7,2,0,0,1924,1925,7,3,0,0,1925,1926,7,5,0,0,1926,1927,7,8,0,0,1927,270,1,0,0,0,1928,1929,7,12,0,0,1929,1930,7,2,0,0,1930,1931,7,3,0,0,1931,1932,7,8,0,0,1932,1933,7,6,0,0,1933,1934,7,21,0,0,1934,1935,7,11,0,0,1935,272,1,0,0,0,1936,1937,7,12,0,0,1937,1938,7,2,0,0,1938,1939,7,3,0,0,1939,1940,7,10,0,0,1940,1941,7,0,0,0,1941,1942,7,4,0,0,1942,274,1,0,0,0,1943,1944,7,12,0,0,1944,1945,7,2,0,0,1945,1946,7,3,0,0,1946,1947,7,10,0,0,1947,1948,7,0,0,0,1948,1949,7,4,0,0,1949,1950,7,4,0,0,1950,1951,7,8,0,0,1951,1952,7,9,0,0,1952,276,1,0,0,0,1953,1954,7,12,0,0,1954,1955,7,3,0,0,1955,1956,7,2,0,0,1956,1957,7,10,0,0,1957,278,1,0,0,0,1958,1959,7,12,0,0,1959,1960,7,19,0,0,1960,1961,7,13,0,0,1961,1962,7,13,0,0,1962,280,1,0,0,0,1963,1964,7,12,0,0,1964,1965,7,19,0,0,1965,1966,7,11,0,0,1966,1967,7,5,0,0,1967,1968,7,4,0,0,1968,1969,7,6,0,0,1969,1970,7,2,0,0,1970,1971,7,11,0,0,1971,282,1,0,0,0,1972,1973,7,12,0,0,1973,1974,7,19,0,0,1974,1975,7,11,0,0,1975,1976,7,5,0,0,1976,1977,7,4,0,0,1977,1978,7,6,0,0,1978,1979,7,2,0,0,1979,1980,7,11,0,0,1980,1981,7,18,0,0,1981,284,1,0,0,0,1982,1983,7,21,0,0,1983,1984,7,3,0,0,1984,1985,7,0,0,0,1985,1986,7,11,0,0,1986,1987,7,4,0,0,1987,286,1,0,0,0,1988,1989,7,21,0,0,1989,1990,7,3,0,0,1990,1991,7,2,0,0,1991,1992,7,19,0,0,1992,1993,7,16,0,0,1993,288,1,0,0,0,1994,1995,7,21,0,0,1995,1996,7,3,0,0,1996,1997,7,2,0,0,1997,1998,7,19,0,0,1998,1999,7,16,0,0,1999,2e3,7,6,0,0,2e3,2001,7,11,0,0,2001,2002,7,21,0,0,2002,290,1,0,0,0,2003,2004,7,17,0,0,2004,2005,7,0,0,0,2005,2006,7,7,0,0,2006,2007,7,6,0,0,2007,2008,7,11,0,0,2008,2009,7,21,0,0,2009,292,1,0,0,0,2010,2011,7,17,0,0,2011,2012,7,2,0,0,2012,2013,7,13,0,0,2013,2014,7,9,0,0,2014,2015,5,95,0,0,2015,2016,7,9,0,0,2016,2017,7,9,0,0,2017,2018,7,13,0,0,2018,2019,7,4,0,0,2019,2020,7,6,0,0,2020,2021,7,10,0,0,2021,2022,7,8,0,0,2022,294,1,0,0,0,2023,2024,7,17,0,0,2024,2025,7,2,0,0,2025,2026,7,19,0,0,2026,2027,7,3,0,0,2027,296,1,0,0,0,2028,2029,7,17,0,0,2029,2030,7,2,0,0,2030,2031,7,19,0,0,2031,2032,7,3,0,0,2032,2033,7,18,0,0,2033,298,1,0,0,0,2034,2035,7,6,0,0,2035,2036,7,9,0,0,2036,2037,7,23,0,0,2037,2038,7,16,0,0,2038,2039,7,3,0,0,2039,2040,7,2,0,0,2040,2041,7,16,0,0,2041,2042,7,8,0,0,2042,2043,7,3,0,0,2043,2044,7,4,0,0,2044,2045,7,6,0,0,2045,2046,7,8,0,0,2046,2047,7,18,0,0,2047,300,1,0,0,0,2048,2049,7,6,0,0,2049,2050,7,12,0,0,2050,302,1,0,0,0,2051,2052,7,6,0,0,2052,2053,7,21,0,0,2053,2054,7,11,0,0,2054,2055,7,2,0,0,2055,2056,7,3,0,0,2056,2057,7,8,0,0,2057,304,1,0,0,0,2058,2059,7,6,0,0,2059,2060,7,10,0,0,2060,2061,7,16,0,0,2061,2062,7,2,0,0,2062,2063,7,3,0,0,2063,2064,7,4,0,0,2064,306,1,0,0,0,2065,2066,7,6,0,0,2066,2067,7,11,0,0,2067,308,1,0,0,0,2068,2069,7,6,0,0,2069,2070,7,11,0,0,2070,2071,7,9,0,0,2071,2072,7,8,0,0,2072,2073,7,23,0,0,2073,310,1,0,0,0,2074,2075,7,6,0,0,2075,2076,7,11,0,0,2076,2077,7,9,0,0,2077,2078,7,8,0,0,2078,2079,7,23,0,0,2079,2080,7,8,0,0,2080,2081,7,18,0,0,2081,312,1,0,0,0,2082,2083,7,6,0,0,2083,2084,7,11,0,0,2084,2085,7,11,0,0,2085,2086,7,8,0,0,2086,2087,7,3,0,0,2087,314,1,0,0,0,2088,2089,7,6,0,0,2089,2090,7,11,0,0,2090,2091,7,16,0,0,2091,2092,7,0,0,0,2092,2093,7,4,0,0,2093,2094,7,17,0,0,2094,316,1,0,0,0,2095,2096,7,6,0,0,2096,2097,7,11,0,0,2097,2098,7,16,0,0,2098,2099,7,19,0,0,2099,2100,7,4,0,0,2100,2101,7,9,0,0,2101,2102,7,3,0,0,2102,2103,7,6,0,0,2103,2104,7,7,0,0,2104,2105,7,8,0,0,2105,2106,7,3,0,0,2106,318,1,0,0,0,2107,2108,7,6,0,0,2108,2109,7,11,0,0,2109,2110,7,16,0,0,2110,2111,7,19,0,0,2111,2112,7,4,0,0,2112,2113,7,12,0,0,2113,2114,7,2,0,0,2114,2115,7,3,0,0,2115,2116,7,10,0,0,2116,2117,7,0,0,0,2117,2118,7,4,0,0,2118,320,1,0,0,0,2119,2120,7,6,0,0,2120,2121,7,11,0,0,2121,2122,7,18,0,0,2122,2123,7,8,0,0,2123,2124,7,3,0,0,2124,2125,7,4,0,0,2125,322,1,0,0,0,2126,2127,7,6,0,0,2127,2128,7,11,0,0,2128,2129,7,4,0,0,2129,324,1,0,0,0,2130,2131,7,6,0,0,2131,2132,7,11,0,0,2132,2133,7,4,0,0,2133,2134,7,8,0,0,2134,2135,7,21,0,0,2135,2136,7,8,0,0,2136,2137,7,3,0,0,2137,326,1,0,0,0,2138,2139,7,6,0,0,2139,2140,7,11,0,0,2140,2141,7,4,0,0,2141,2142,7,8,0,0,2142,2143,7,3,0,0,2143,2144,7,18,0,0,2144,2145,7,8,0,0,2145,2146,7,5,0,0,2146,2147,7,4,0,0,2147,328,1,0,0,0,2148,2149,7,6,0,0,2149,2150,7,11,0,0,2150,2151,7,4,0,0,2151,2152,7,8,0,0,2152,2153,7,3,0,0,2153,2154,7,7,0,0,2154,2155,7,0,0,0,2155,2156,7,13,0,0,2156,330,1,0,0,0,2157,2158,7,6,0,0,2158,2159,7,11,0,0,2159,2160,7,4,0,0,2160,2161,7,2,0,0,2161,332,1,0,0,0,2162,2163,7,6,0,0,2163,2164,7,18,0,0,2164,334,1,0,0,0,2165,2166,7,6,0,0,2166,2167,7,18,0,0,2167,2168,7,2,0,0,2168,2169,7,13,0,0,2169,2170,7,0,0,0,2170,2171,7,4,0,0,2171,2172,7,6,0,0,2172,2173,7,2,0,0,2173,2174,7,11,0,0,2174,336,1,0,0,0,2175,2176,7,6,0,0,2176,2177,7,4,0,0,2177,2178,7,8,0,0,2178,2179,7,10,0,0,2179,2180,7,18,0,0,2180,338,1,0,0,0,2181,2182,7,24,0,0,2182,2183,7,0,0,0,2183,2184,7,3,0,0,2184,340,1,0,0,0,2185,2186,7,24,0,0,2186,2187,7,2,0,0,2187,2188,7,6,0,0,2188,2189,7,11,0,0,2189,342,1,0,0,0,2190,2191,7,24,0,0,2191,2192,7,2,0,0,2192,2193,7,6,0,0,2193,2194,7,11,0,0,2194,2195,7,5,0,0,2195,2196,7,2,0,0,2196,2197,7,18,0,0,2197,2198,7,4,0,0,2198,344,1,0,0,0,2199,2200,7,22,0,0,2200,2201,7,8,0,0,2201,2202,7,14,0,0,2202,346,1,0,0,0,2203,2204,7,22,0,0,2204,2205,7,8,0,0,2205,2206,7,14,0,0,2206,2207,7,18,0,0,2207,348,1,0,0,0,2208,2209,5,36,0,0,2209,2210,7,22,0,0,2210,2211,7,8,0,0,2211,2212,7,14,0,0,2212,2213,5,36,0,0,2213,350,1,0,0,0,2214,2215,7,22,0,0,2215,2216,7,6,0,0,2216,2217,7,13,0,0,2217,2218,7,13,0,0,2218,352,1,0,0,0,2219,2220,7,13,0,0,2220,2221,7,0,0,0,2221,2222,7,18,0,0,2222,2223,7,4,0,0,2223,354,1,0,0,0,2224,2225,7,13,0,0,2225,2226,7,0,0,0,2226,2227,7,4,0,0,2227,2228,7,8,0,0,2228,2229,7,3,0,0,2229,2230,7,0,0,0,2230,2231,7,13,0,0,2231,356,1,0,0,0,2232,2233,7,13,0,0,2233,2234,7,8,0,0,2234,2235,7,0,0,0,2235,2236,7,9,0,0,2236,2237,7,6,0,0,2237,2238,7,11,0,0,2238,2239,7,21,0,0,2239,358,1,0,0,0,2240,2241,7,13,0,0,2241,2242,7,8,0,0,2242,2243,7,12,0,0,2243,2244,7,4,0,0,2244,360,1,0,0,0,2245,2246,7,13,0,0,2246,2247,7,8,0,0,2247,2248,7,18,0,0,2248,2249,7,18,0,0,2249,362,1,0,0,0,2250,2251,7,13,0,0,2251,2252,7,8,0,0,2252,2253,7,7,0,0,2253,2254,7,8,0,0,2254,2255,7,13,0,0,2255,364,1,0,0,0,2256,2257,7,13,0,0,2257,2258,7,6,0,0,2258,2259,7,12,0,0,2259,2260,7,8,0,0,2260,2261,7,5,0,0,2261,2262,7,14,0,0,2262,2263,7,5,0,0,2263,2264,7,13,0,0,2264,2265,7,8,0,0,2265,366,1,0,0,0,2266,2267,7,13,0,0,2267,2268,7,6,0,0,2268,2269,7,22,0,0,2269,2270,7,8,0,0,2270,368,1,0,0,0,2271,2272,7,13,0,0,2272,2273,7,6,0,0,2273,2274,7,10,0,0,2274,2275,7,6,0,0,2275,2276,7,4,0,0,2276,370,1,0,0,0,2277,2278,7,13,0,0,2278,2279,7,6,0,0,2279,2280,7,11,0,0,2280,2281,7,8,0,0,2281,2282,7,18,0,0,2282,372,1,0,0,0,2283,2284,7,13,0,0,2284,2285,7,2,0,0,2285,2286,7,0,0,0,2286,2287,7,9,0,0,2287,374,1,0,0,0,2288,2289,7,13,0,0,2289,2290,7,2,0,0,2290,2291,7,5,0,0,2291,2292,7,0,0,0,2292,2293,7,13,0,0,2293,376,1,0,0,0,2294,2295,7,13,0,0,2295,2296,7,2,0,0,2296,2297,7,5,0,0,2297,2298,7,0,0,0,2298,2299,7,4,0,0,2299,2300,7,6,0,0,2300,2301,7,2,0,0,2301,2302,7,11,0,0,2302,378,1,0,0,0,2303,2304,7,13,0,0,2304,2305,7,2,0,0,2305,2306,7,5,0,0,2306,2307,7,22,0,0,2307,380,1,0,0,0,2308,2309,7,13,0,0,2309,2310,7,2,0,0,2310,2311,7,5,0,0,2311,2312,7,22,0,0,2312,2313,7,18,0,0,2313,382,1,0,0,0,2314,2315,7,13,0,0,2315,2316,7,2,0,0,2316,2317,7,21,0,0,2317,2318,7,6,0,0,2318,2319,7,5,0,0,2319,2320,7,0,0,0,2320,2321,7,13,0,0,2321,384,1,0,0,0,2322,2323,7,13,0,0,2323,2324,7,2,0,0,2324,2325,7,11,0,0,2325,2326,7,21,0,0,2326,386,1,0,0,0,2327,2328,7,10,0,0,2328,2329,7,0,0,0,2329,2330,7,5,0,0,2330,2331,7,3,0,0,2331,2332,7,2,0,0,2332,388,1,0,0,0,2333,2334,7,10,0,0,2334,2335,7,0,0,0,2335,2336,7,11,0,0,2336,2337,7,0,0,0,2337,2338,7,21,0,0,2338,2339,7,8,0,0,2339,2340,7,9,0,0,2340,390,1,0,0,0,2341,2342,7,10,0,0,2342,2343,7,0,0,0,2343,2344,7,11,0,0,2344,2345,7,0,0,0,2345,2346,7,21,0,0,2346,2347,7,8,0,0,2347,2348,7,9,0,0,2348,2349,7,13,0,0,2349,2350,7,2,0,0,2350,2351,7,5,0,0,2351,2352,7,0,0,0,2352,2353,7,4,0,0,2353,2354,7,6,0,0,2354,2355,7,2,0,0,2355,2356,7,11,0,0,2356,392,1,0,0,0,2357,2358,7,10,0,0,2358,2359,7,0,0,0,2359,2360,7,11,0,0,2360,2361,7,0,0,0,2361,2362,7,21,0,0,2362,2363,7,8,0,0,2363,2364,7,10,0,0,2364,2365,7,8,0,0,2365,2366,7,11,0,0,2366,2367,7,4,0,0,2367,394,1,0,0,0,2368,2369,7,10,0,0,2369,2370,7,0,0,0,2370,2371,7,16,0,0,2371,396,1,0,0,0,2372,2373,7,10,0,0,2373,2374,7,0,0,0,2374,2375,7,16,0,0,2375,2376,7,24,0,0,2376,2377,7,2,0,0,2377,2378,7,6,0,0,2378,2379,7,11,0,0,2379,398,1,0,0,0,2380,2381,7,10,0,0,2381,2382,7,0,0,0,2382,2383,7,16,0,0,2383,2384,7,16,0,0,2384,2385,7,6,0,0,2385,2386,7,11,0,0,2386,2387,7,21,0,0,2387,400,1,0,0,0,2388,2389,7,10,0,0,2389,2390,7,0,0,0,2390,2391,7,4,0,0,2391,2392,7,5,0,0,2392,2393,7,17,0,0,2393,2394,7,8,0,0,2394,2395,7,9,0,0,2395,402,1,0,0,0,2396,2397,7,10,0,0,2397,2398,7,0,0,0,2398,2399,7,4,0,0,2399,2400,7,8,0,0,2400,2401,7,3,0,0,2401,2402,7,6,0,0,2402,2403,7,0,0,0,2403,2404,7,13,0,0,2404,2405,7,6,0,0,2405,2406,7,15,0,0,2406,2407,7,8,0,0,2407,2408,7,9,0,0,2408,404,1,0,0,0,2409,2410,7,10,0,0,2410,2411,7,8,0,0,2411,2412,7,3,0,0,2412,2413,7,21,0,0,2413,2414,7,8,0,0,2414,406,1,0,0,0,2415,2416,7,10,0,0,2416,2417,7,8,0,0,2417,2418,7,4,0,0,2418,2419,7,0,0,0,2419,2420,7,9,0,0,2420,2421,7,0,0,0,2421,2422,7,4,0,0,2422,2423,7,0,0,0,2423,408,1,0,0,0,2424,2425,7,10,0,0,2425,2426,7,6,0,0,2426,2427,7,11,0,0,2427,2428,7,19,0,0,2428,2429,7,18,0,0,2429,410,1,0,0,0,2430,2431,7,10,0,0,2431,2432,7,6,0,0,2432,2433,7,11,0,0,2433,2434,7,19,0,0,2434,2435,7,4,0,0,2435,2436,7,8,0,0,2436,412,1,0,0,0,2437,2438,7,10,0,0,2438,2439,7,6,0,0,2439,2440,7,11,0,0,2440,2441,7,19,0,0,2441,2442,7,4,0,0,2442,2443,7,8,0,0,2443,2444,7,18,0,0,2444,414,1,0,0,0,2445,2446,7,10,0,0,2446,2447,7,2,0,0,2447,2448,7,11,0,0,2448,2449,7,4,0,0,2449,2450,7,17,0,0,2450,416,1,0,0,0,2451,2452,7,10,0,0,2452,2453,7,2,0,0,2453,2454,7,11,0,0,2454,2455,7,4,0,0,2455,2456,7,17,0,0,2456,2457,7,18,0,0,2457,418,1,0,0,0,2458,2459,7,10,0,0,2459,2460,7,2,0,0,2460,2461,7,3,0,0,2461,2462,7,8,0,0,2462,420,1,0,0,0,2463,2464,7,10,0,0,2464,2465,7,2,0,0,2465,2466,7,7,0,0,2466,2467,7,8,0,0,2467,422,1,0,0,0,2468,2469,7,10,0,0,2469,2470,7,18,0,0,2470,2471,7,5,0,0,2471,2472,7,22,0,0,2472,424,1,0,0,0,2473,2474,7,11,0,0,2474,2475,7,2,0,0,2475,2476,7,11,0,0,2476,2477,7,8,0,0,2477,426,1,0,0,0,2478,2479,7,11,0,0,2479,2480,7,2,0,0,2480,2481,7,3,0,0,2481,2482,7,8,0,0,2482,2483,7,13,0,0,2483,2484,7,14,0,0,2484,428,1,0,0,0,2485,2486,7,11,0,0,2486,2487,7,2,0,0,2487,2488,7,18,0,0,2488,2489,7,5,0,0,2489,2490,7,0,0,0,2490,2491,7,11,0,0,2491,430,1,0,0,0,2492,2493,7,11,0,0,2493,2494,7,2,0,0,2494,2495,7,4,0,0,2495,432,1,0,0,0,2496,2497,7,11,0,0,2497,2498,7,2,0,0,2498,2499,7,7,0,0,2499,2500,7,0,0,0,2500,2501,7,13,0,0,2501,2502,7,6,0,0,2502,2503,7,9,0,0,2503,2504,7,0,0,0,2504,2505,7,4,0,0,2505,2506,7,8,0,0,2506,434,1,0,0,0,2507,2508,7,11,0,0,2508,2509,7,2,0,0,2509,2510,5,95,0,0,2510,2511,7,9,0,0,2511,2512,7,3,0,0,2512,2513,7,2,0,0,2513,2514,7,16,0,0,2514,436,1,0,0,0,2515,2516,7,11,0,0,2516,2517,7,19,0,0,2517,2518,7,13,0,0,2518,2519,7,13,0,0,2519,438,1,0,0,0,2520,2521,7,11,0,0,2521,2522,7,19,0,0,2522,2523,7,13,0,0,2523,2524,7,13,0,0,2524,2525,7,18,0,0,2525,440,1,0,0,0,2526,2527,7,2,0,0,2527,2528,7,12,0,0,2528,442,1,0,0,0,2529,2530,7,2,0,0,2530,2531,7,12,0,0,2531,2532,7,12,0,0,2532,2533,7,13,0,0,2533,2534,7,6,0,0,2534,2535,7,11,0,0,2535,2536,7,8,0,0,2536,444,1,0,0,0,2537,2538,7,2,0,0,2538,2539,7,12,0,0,2539,2540,7,12,0,0,2540,2541,7,18,0,0,2541,2542,7,8,0,0,2542,2543,7,4,0,0,2543,446,1,0,0,0,2544,2545,7,2,0,0,2545,2546,7,11,0,0,2546,448,1,0,0,0,2547,2548,7,2,0,0,2548,2549,7,11,0,0,2549,2550,7,13,0,0,2550,2551,7,14,0,0,2551,450,1,0,0,0,2552,2553,7,2,0,0,2553,2554,7,16,0,0,2554,2555,7,8,0,0,2555,2556,7,3,0,0,2556,2557,7,0,0,0,2557,2558,7,4,0,0,2558,2559,7,2,0,0,2559,2560,7,3,0,0,2560,452,1,0,0,0,2561,2562,7,2,0,0,2562,2563,7,16,0,0,2563,2564,7,4,0,0,2564,2565,7,6,0,0,2565,2566,7,2,0,0,2566,2567,7,11,0,0,2567,454,1,0,0,0,2568,2569,7,2,0,0,2569,2570,7,3,0,0,2570,456,1,0,0,0,2571,2572,7,2,0,0,2572,2573,7,3,0,0,2573,2574,7,9,0,0,2574,2575,7,8,0,0,2575,2576,7,3,0,0,2576,458,1,0,0,0,2577,2578,7,2,0,0,2578,2579,7,19,0,0,2579,2580,7,4,0,0,2580,460,1,0,0,0,2581,2582,7,2,0,0,2582,2583,7,19,0,0,2583,2584,7,4,0,0,2584,2585,7,8,0,0,2585,2586,7,3,0,0,2586,462,1,0,0,0,2587,2588,7,2,0,0,2588,2589,7,19,0,0,2589,2590,7,4,0,0,2590,2591,7,16,0,0,2591,2592,7,19,0,0,2592,2593,7,4,0,0,2593,2594,7,9,0,0,2594,2595,7,3,0,0,2595,2596,7,6,0,0,2596,2597,7,7,0,0,2597,2598,7,8,0,0,2598,2599,7,3,0,0,2599,464,1,0,0,0,2600,2601,7,2,0,0,2601,2602,7,19,0,0,2602,2603,7,4,0,0,2603,2604,7,16,0,0,2604,2605,7,19,0,0,2605,2606,7,4,0,0,2606,2607,7,12,0,0,2607,2608,7,2,0,0,2608,2609,7,3,0,0,2609,2610,7,10,0,0,2610,2611,7,0,0,0,2611,2612,7,4,0,0,2612,466,1,0,0,0,2613,2614,7,2,0,0,2614,2615,7,7,0,0,2615,2616,7,8,0,0,2616,2617,7,3,0,0,2617,468,1,0,0,0,2618,2619,7,2,0,0,2619,2620,7,7,0,0,2620,2621,7,8,0,0,2621,2622,7,3,0,0,2622,2623,7,20,0,0,2623,2624,7,3,0,0,2624,2625,7,6,0,0,2625,2626,7,4,0,0,2626,2627,7,8,0,0,2627,470,1,0,0,0,2628,2629,7,2,0,0,2629,2630,7,20,0,0,2630,2631,7,11,0,0,2631,2632,7,8,0,0,2632,2633,7,3,0,0,2633,472,1,0,0,0,2634,2635,7,16,0,0,2635,2636,7,0,0,0,2636,2637,7,3,0,0,2637,2638,7,4,0,0,2638,2639,7,6,0,0,2639,2640,7,4,0,0,2640,2641,7,6,0,0,2641,2642,7,2,0,0,2642,2643,7,11,0,0,2643,474,1,0,0,0,2644,2645,7,16,0,0,2645,2646,7,0,0,0,2646,2647,7,3,0,0,2647,2648,7,4,0,0,2648,2649,7,6,0,0,2649,2650,7,4,0,0,2650,2651,7,6,0,0,2651,2652,7,2,0,0,2652,2653,7,11,0,0,2653,2654,7,8,0,0,2654,2655,7,9,0,0,2655,476,1,0,0,0,2656,2657,7,16,0,0,2657,2658,7,0,0,0,2658,2659,7,3,0,0,2659,2660,7,4,0,0,2660,2661,7,6,0,0,2661,2662,7,4,0,0,2662,2663,7,6,0,0,2663,2664,7,2,0,0,2664,2665,7,11,0,0,2665,2666,7,18,0,0,2666,478,1,0,0,0,2667,2668,7,16,0,0,2668,2669,7,0,0,0,2669,2670,7,4,0,0,2670,2671,7,17,0,0,2671,480,1,0,0,0,2672,2673,7,16,0,0,2673,2674,7,8,0,0,2674,2675,7,3,0,0,2675,2676,7,5,0,0,2676,2677,7,8,0,0,2677,2678,7,11,0,0,2678,2679,7,4,0,0,2679,482,1,0,0,0,2680,2681,7,16,0,0,2681,2682,7,22,0,0,2682,2683,7,12,0,0,2683,2684,7,22,0,0,2684,2685,5,95,0,0,2685,2686,7,24,0,0,2686,2687,7,2,0,0,2687,2688,7,6,0,0,2688,2689,7,11,0,0,2689,484,1,0,0,0,2690,2691,7,16,0,0,2691,2692,7,13,0,0,2692,2693,7,0,0,0,2693,2694,7,11,0,0,2694,486,1,0,0,0,2695,2696,7,16,0,0,2696,2697,7,13,0,0,2697,2698,7,0,0,0,2698,2699,7,11,0,0,2699,2700,7,18,0,0,2700,488,1,0,0,0,2701,2702,7,16,0,0,2702,2703,7,13,0,0,2703,2704,7,19,0,0,2704,2705,7,18,0,0,2705,490,1,0,0,0,2706,2707,7,16,0,0,2707,2708,7,2,0,0,2708,2709,7,2,0,0,2709,2710,7,13,0,0,2710,492,1,0,0,0,2711,2712,7,16,0,0,2712,2713,7,3,0,0,2713,2714,7,8,0,0,2714,2715,7,5,0,0,2715,2716,7,8,0,0,2716,2717,7,9,0,0,2717,2718,7,6,0,0,2718,2719,7,11,0,0,2719,2720,7,21,0,0,2720,494,1,0,0,0,2721,2722,7,16,0,0,2722,2723,7,3,0,0,2723,2724,7,8,0,0,2724,2725,7,5,0,0,2725,2726,7,6,0,0,2726,2727,7,18,0,0,2727,2728,7,6,0,0,2728,2729,7,2,0,0,2729,2730,7,11,0,0,2730,496,1,0,0,0,2731,2732,7,16,0,0,2732,2733,7,3,0,0,2733,2734,7,8,0,0,2734,2735,7,16,0,0,2735,2736,7,0,0,0,2736,2737,7,3,0,0,2737,2738,7,8,0,0,2738,498,1,0,0,0,2739,2740,7,16,0,0,2740,2741,7,3,0,0,2741,2742,7,8,0,0,2742,2743,7,18,0,0,2743,2744,7,8,0,0,2744,2745,7,3,0,0,2745,2746,7,7,0,0,2746,2747,7,8,0,0,2747,500,1,0,0,0,2748,2749,7,16,0,0,2749,2750,7,3,0,0,2750,2751,7,6,0,0,2751,2752,7,10,0,0,2752,2753,7,0,0,0,2753,2754,7,3,0,0,2754,2755,7,14,0,0,2755,502,1,0,0,0,2756,2757,7,16,0,0,2757,2758,7,3,0,0,2758,2759,7,6,0,0,2759,2760,7,11,0,0,2760,2761,7,5,0,0,2761,2762,7,6,0,0,2762,2763,7,16,0,0,2763,2764,7,0,0,0,2764,2765,7,13,0,0,2765,2766,7,18,0,0,2766,504,1,0,0,0,2767,2768,7,16,0,0,2768,2769,7,3,0,0,2769,2770,7,2,0,0,2770,2771,7,5,0,0,2771,2772,7,8,0,0,2772,2773,7,9,0,0,2773,2774,7,19,0,0,2774,2775,7,3,0,0,2775,2776,7,8,0,0,2776,506,1,0,0,0,2777,2778,7,16,0,0,2778,2779,7,3,0,0,2779,2780,7,2,0,0,2780,2781,7,4,0,0,2781,2782,7,8,0,0,2782,2783,7,5,0,0,2783,2784,7,4,0,0,2784,2785,7,6,0,0,2785,2786,7,2,0,0,2786,2787,7,11,0,0,2787,508,1,0,0,0,2788,2789,7,16,0,0,2789,2790,7,19,0,0,2790,2791,7,3,0,0,2791,2792,7,21,0,0,2792,2793,7,8,0,0,2793,510,1,0,0,0,2794,2795,7,25,0,0,2795,2796,7,19,0,0,2796,2797,7,0,0,0,2797,2798,7,13,0,0,2798,2799,7,6,0,0,2799,2800,7,12,0,0,2800,2801,7,14,0,0,2801,512,1,0,0,0,2802,2803,7,25,0,0,2803,2804,7,19,0,0,2804,2805,7,0,0,0,2805,2806,7,3,0,0,2806,2807,7,4,0,0,2807,2808,7,8,0,0,2808,2809,7,3,0,0,2809,514,1,0,0,0,2810,2811,7,25,0,0,2811,2812,7,19,0,0,2812,2813,7,8,0,0,2813,2814,7,3,0,0,2814,2815,7,14,0,0,2815,516,1,0,0,0,2816,2817,7,25,0,0,2817,2818,7,19,0,0,2818,2819,7,8,0,0,2819,2820,7,3,0,0,2820,2821,7,14,0,0,2821,2822,5,95,0,0,2822,2823,7,16,0,0,2823,2824,7,0,0,0,2824,2825,7,3,0,0,2825,2826,7,0,0,0,2826,2827,7,13,0,0,2827,2828,7,13,0,0,2828,2829,7,8,0,0,2829,2830,7,13,0,0,2830,2831,7,6,0,0,2831,2832,7,18,0,0,2832,2833,7,10,0,0,2833,518,1,0,0,0,2834,2835,7,3,0,0,2835,2836,7,0,0,0,2836,2837,7,11,0,0,2837,2838,7,21,0,0,2838,2839,7,8,0,0,2839,520,1,0,0,0,2840,2841,7,3,0,0,2841,2842,7,8,0,0,2842,2843,7,0,0,0,2843,2844,7,9,0,0,2844,522,1,0,0,0,2845,2846,7,3,0,0,2846,2847,7,8,0,0,2847,2848,7,0,0,0,2848,2849,7,9,0,0,2849,2850,7,2,0,0,2850,2851,7,11,0,0,2851,2852,7,13,0,0,2852,2853,7,14,0,0,2853,524,1,0,0,0,2854,2855,7,3,0,0,2855,2856,7,8,0,0,2856,2857,7,0,0,0,2857,2858,7,9,0,0,2858,2859,7,18,0,0,2859,526,1,0,0,0,2860,2861,7,3,0,0,2861,2862,7,8,0,0,2862,2863,7,0,0,0,2863,2864,7,13,0,0,2864,528,1,0,0,0,2865,2866,7,3,0,0,2866,2867,7,8,0,0,2867,2868,7,1,0,0,2868,2869,7,19,0,0,2869,2870,7,6,0,0,2870,2871,7,13,0,0,2871,2872,7,9,0,0,2872,530,1,0,0,0,2873,2874,7,3,0,0,2874,2875,7,8,0,0,2875,2876,7,5,0,0,2876,2877,7,2,0,0,2877,2878,7,3,0,0,2878,2879,7,9,0,0,2879,2880,7,3,0,0,2880,2881,7,8,0,0,2881,2882,7,0,0,0,2882,2883,7,9,0,0,2883,2884,7,8,0,0,2884,2885,7,3,0,0,2885,532,1,0,0,0,2886,2887,7,3,0,0,2887,2888,7,8,0,0,2888,2889,7,5,0,0,2889,2890,7,2,0,0,2890,2891,7,3,0,0,2891,2892,7,9,0,0,2892,2893,7,20,0,0,2893,2894,7,3,0,0,2894,2895,7,6,0,0,2895,2896,7,4,0,0,2896,2897,7,8,0,0,2897,2898,7,3,0,0,2898,534,1,0,0,0,2899,2900,7,3,0,0,2900,2901,7,8,0,0,2901,2902,7,9,0,0,2902,2903,7,19,0,0,2903,2904,7,5,0,0,2904,2905,7,8,0,0,2905,536,1,0,0,0,2906,2907,7,3,0,0,2907,2908,7,8,0,0,2908,2909,7,12,0,0,2909,2910,7,8,0,0,2910,2911,7,3,0,0,2911,2912,7,8,0,0,2912,2913,7,11,0,0,2913,2914,7,5,0,0,2914,2915,7,8,0,0,2915,2916,7,18,0,0,2916,538,1,0,0,0,2917,2918,7,3,0,0,2918,2919,7,8,0,0,2919,2920,7,21,0,0,2920,2921,7,8,0,0,2921,2922,7,23,0,0,2922,2923,7,16,0,0,2923,540,1,0,0,0,2924,2925,7,3,0,0,2925,2926,7,8,0,0,2926,2927,7,13,0,0,2927,2928,7,2,0,0,2928,2929,7,0,0,0,2929,2930,7,9,0,0,2930,542,1,0,0,0,2931,2932,7,3,0,0,2932,2933,7,8,0,0,2933,2934,7,13,0,0,2934,2935,7,14,0,0,2935,544,1,0,0,0,2936,2937,7,3,0,0,2937,2938,7,8,0,0,2938,2939,7,10,0,0,2939,2940,7,2,0,0,2940,2941,7,4,0,0,2941,2942,7,8,0,0,2942,546,1,0,0,0,2943,2944,7,3,0,0,2944,2945,7,8,0,0,2945,2946,7,11,0,0,2946,2947,7,0,0,0,2947,2948,7,10,0,0,2948,2949,7,8,0,0,2949,548,1,0,0,0,2950,2951,7,3,0,0,2951,2952,7,8,0,0,2952,2953,7,2,0,0,2953,2954,7,16,0,0,2954,2955,7,4,0,0,2955,2956,7,6,0,0,2956,2957,7,10,0,0,2957,2958,7,6,0,0,2958,2959,7,15,0,0,2959,2960,7,0,0,0,2960,2961,7,4,0,0,2961,2962,7,6,0,0,2962,2963,7,2,0,0,2963,2964,7,11,0,0,2964,550,1,0,0,0,2965,2966,7,3,0,0,2966,2967,7,8,0,0,2967,2968,7,16,0,0,2968,2969,7,0,0,0,2969,2970,7,6,0,0,2970,2971,7,3,0,0,2971,552,1,0,0,0,2972,2973,7,3,0,0,2973,2974,7,8,0,0,2974,2975,7,16,0,0,2975,2976,7,13,0,0,2976,554,1,0,0,0,2977,2978,7,3,0,0,2978,2979,7,8,0,0,2979,2980,7,16,0,0,2980,2981,7,13,0,0,2981,2982,7,0,0,0,2982,2983,7,5,0,0,2983,2984,7,8,0,0,2984,556,1,0,0,0,2985,2986,7,3,0,0,2986,2987,7,8,0,0,2987,2988,7,16,0,0,2988,2989,7,13,0,0,2989,2990,7,6,0,0,2990,2991,7,5,0,0,2991,2992,7,0,0,0,2992,2993,7,4,0,0,2993,2994,7,6,0,0,2994,2995,7,2,0,0,2995,2996,7,11,0,0,2996,558,1,0,0,0,2997,2998,7,3,0,0,2998,2999,7,8,0,0,2999,3e3,7,18,0,0,3e3,3001,7,2,0,0,3001,3002,7,19,0,0,3002,3003,7,3,0,0,3003,3004,7,5,0,0,3004,3005,7,8,0,0,3005,560,1,0,0,0,3006,3007,7,3,0,0,3007,3008,7,8,0,0,3008,3009,7,18,0,0,3009,3010,7,16,0,0,3010,3011,7,8,0,0,3011,3012,7,5,0,0,3012,3013,7,4,0,0,3013,562,1,0,0,0,3014,3015,7,3,0,0,3015,3016,7,8,0,0,3016,3017,7,18,0,0,3017,3018,7,4,0,0,3018,3019,7,3,0,0,3019,3020,7,6,0,0,3020,3021,7,5,0,0,3021,3022,7,4,0,0,3022,564,1,0,0,0,3023,3024,7,3,0,0,3024,3025,7,8,0,0,3025,3026,7,7,0,0,3026,3027,7,2,0,0,3027,3028,7,22,0,0,3028,3029,7,8,0,0,3029,566,1,0,0,0,3030,3031,7,3,0,0,3031,3032,7,8,0,0,3032,3033,7,20,0,0,3033,3034,7,3,0,0,3034,3035,7,6,0,0,3035,3036,7,4,0,0,3036,3037,7,8,0,0,3037,568,1,0,0,0,3038,3039,7,3,0,0,3039,3040,7,6,0,0,3040,3041,7,21,0,0,3041,3042,7,17,0,0,3042,3043,7,4,0,0,3043,570,1,0,0,0,3044,3045,7,3,0,0,3045,3046,7,13,0,0,3046,3047,7,6,0,0,3047,3048,7,22,0,0,3048,3049,7,8,0,0,3049,572,1,0,0,0,3050,3051,7,3,0,0,3051,3052,7,2,0,0,3052,3053,7,13,0,0,3053,3054,7,8,0,0,3054,574,1,0,0,0,3055,3056,7,3,0,0,3056,3057,7,2,0,0,3057,3058,7,13,0,0,3058,3059,7,8,0,0,3059,3060,7,18,0,0,3060,576,1,0,0,0,3061,3062,7,3,0,0,3062,3063,7,2,0,0,3063,3064,7,13,0,0,3064,3065,7,13,0,0,3065,3066,7,1,0,0,3066,3067,7,0,0,0,3067,3068,7,5,0,0,3068,3069,7,22,0,0,3069,578,1,0,0,0,3070,3071,7,3,0,0,3071,3072,7,2,0,0,3072,3073,7,13,0,0,3073,3074,7,13,0,0,3074,3075,7,19,0,0,3075,3076,7,16,0,0,3076,580,1,0,0,0,3077,3078,7,3,0,0,3078,3079,7,2,0,0,3079,3080,7,20,0,0,3080,582,1,0,0,0,3081,3082,7,3,0,0,3082,3083,7,2,0,0,3083,3084,7,20,0,0,3084,3085,7,18,0,0,3085,584,1,0,0,0,3086,3087,7,18,0,0,3087,3088,7,5,0,0,3088,3089,7,17,0,0,3089,3090,7,8,0,0,3090,3091,7,9,0,0,3091,3092,7,19,0,0,3092,3093,7,13,0,0,3093,3094,7,8,0,0,3094,3095,7,9,0,0,3095,586,1,0,0,0,3096,3097,7,18,0,0,3097,3098,7,5,0,0,3098,3099,7,17,0,0,3099,3100,7,8,0,0,3100,3101,7,9,0,0,3101,3102,7,19,0,0,3102,3103,7,13,0,0,3103,3104,7,6,0,0,3104,3105,7,11,0,0,3105,3106,7,21,0,0,3106,3107,5,95,0,0,3107,3108,7,16,0,0,3108,3109,7,2,0,0,3109,3110,7,13,0,0,3110,3111,7,6,0,0,3111,3112,7,5,0,0,3112,3113,7,14,0,0,3113,588,1,0,0,0,3114,3115,7,18,0,0,3115,3116,7,5,0,0,3116,3117,7,17,0,0,3117,3118,7,8,0,0,3118,3119,7,10,0,0,3119,3120,7,0,0,0,3120,590,1,0,0,0,3121,3122,7,18,0,0,3122,3123,7,5,0,0,3123,3124,7,17,0,0,3124,3125,7,8,0,0,3125,3126,7,10,0,0,3126,3127,7,0,0,0,3127,3128,7,18,0,0,3128,592,1,0,0,0,3129,3130,7,18,0,0,3130,3131,7,8,0,0,3131,3132,7,5,0,0,3132,3133,7,2,0,0,3133,3134,7,11,0,0,3134,3135,7,9,0,0,3135,594,1,0,0,0,3136,3137,7,18,0,0,3137,3138,7,8,0,0,3138,3139,7,5,0,0,3139,3140,7,2,0,0,3140,3141,7,11,0,0,3141,3142,7,9,0,0,3142,3143,7,18,0,0,3143,596,1,0,0,0,3144,3145,7,18,0,0,3145,3146,7,8,0,0,3146,3147,7,13,0,0,3147,3148,7,8,0,0,3148,3149,7,5,0,0,3149,3150,7,4,0,0,3150,598,1,0,0,0,3151,3152,7,18,0,0,3152,3153,7,8,0,0,3153,3154,7,10,0,0,3154,3155,7,6,0,0,3155,600,1,0,0,0,3156,3157,7,18,0,0,3157,3158,7,8,0,0,3158,3159,7,3,0,0,3159,3160,7,9,0,0,3160,3161,7,8,0,0,3161,602,1,0,0,0,3162,3163,7,18,0,0,3163,3164,7,8,0,0,3164,3165,7,3,0,0,3165,3166,7,9,0,0,3166,3167,7,8,0,0,3167,3168,7,16,0,0,3168,3169,7,3,0,0,3169,3170,7,2,0,0,3170,3171,7,16,0,0,3171,3172,7,8,0,0,3172,3173,7,3,0,0,3173,3174,7,4,0,0,3174,3175,7,6,0,0,3175,3176,7,8,0,0,3176,3177,7,18,0,0,3177,604,1,0,0,0,3178,3179,7,18,0,0,3179,3180,7,8,0,0,3180,3181,7,3,0,0,3181,3182,7,7,0,0,3182,3183,7,8,0,0,3183,3184,7,3,0,0,3184,606,1,0,0,0,3185,3186,7,18,0,0,3186,3187,7,8,0,0,3187,3188,7,4,0,0,3188,608,1,0,0,0,3189,3190,7,18,0,0,3190,3191,7,8,0,0,3191,3192,7,4,0,0,3192,3193,7,18,0,0,3193,610,1,0,0,0,3194,3195,7,18,0,0,3195,3196,7,8,0,0,3196,3197,7,4,0,0,3197,3198,5,95,0,0,3198,3199,7,5,0,0,3199,3200,7,19,0,0,3200,3201,7,3,0,0,3201,3202,7,3,0,0,3202,3203,7,8,0,0,3203,3204,7,11,0,0,3204,3205,7,4,0,0,3205,3206,5,95,0,0,3206,3207,7,18,0,0,3207,3208,7,11,0,0,3208,3209,7,0,0,0,3209,3210,7,16,0,0,3210,3211,7,18,0,0,3211,3212,7,17,0,0,3212,3213,7,2,0,0,3213,3214,7,4,0,0,3214,612,1,0,0,0,3215,3216,7,18,0,0,3216,3217,7,17,0,0,3217,3218,7,0,0,0,3218,3219,7,3,0,0,3219,3220,7,8,0,0,3220,3221,7,9,0,0,3221,614,1,0,0,0,3222,3223,7,18,0,0,3223,3224,7,17,0,0,3224,3225,7,2,0,0,3225,3226,7,20,0,0,3226,616,1,0,0,0,3227,3228,7,18,0,0,3228,3229,7,17,0,0,3229,3230,7,2,0,0,3230,3231,7,20,0,0,3231,3232,5,95,0,0,3232,3233,7,9,0,0,3233,3234,7,0,0,0,3234,3235,7,4,0,0,3235,3236,7,0,0,0,3236,3237,7,1,0,0,3237,3238,7,0,0,0,3238,3239,7,18,0,0,3239,3240,7,8,0,0,3240,618,1,0,0,0,3241,3242,7,18,0,0,3242,3243,7,22,0,0,3243,3244,7,8,0,0,3244,3245,7,20,0,0,3245,3246,7,8,0,0,3246,3247,7,9,0,0,3247,620,1,0,0,0,3248,3249,7,18,0,0,3249,3250,7,10,0,0,3250,3251,7,0,0,0,3251,3252,7,13,0,0,3252,3253,7,13,0,0,3253,3254,7,6,0,0,3254,3255,7,11,0,0,3255,3256,7,4,0,0,3256,622,1,0,0,0,3257,3258,7,18,0,0,3258,3259,7,11,0,0,3259,3260,7,0,0,0,3260,3261,7,16,0,0,3261,3262,7,18,0,0,3262,3263,7,17,0,0,3263,3264,7,2,0,0,3264,3265,7,4,0,0,3265,624,1,0,0,0,3266,3267,7,18,0,0,3267,3268,7,2,0,0,3268,3269,7,10,0,0,3269,3270,7,8,0,0,3270,626,1,0,0,0,3271,3272,7,18,0,0,3272,3273,7,2,0,0,3273,3274,7,3,0,0,3274,3275,7,4,0,0,3275,628,1,0,0,0,3276,3277,7,18,0,0,3277,3278,7,2,0,0,3278,3279,7,3,0,0,3279,3280,7,4,0,0,3280,3281,7,8,0,0,3281,3282,7,9,0,0,3282,630,1,0,0,0,3283,3284,7,18,0,0,3284,3285,7,16,0,0,3285,3286,7,8,0,0,3286,3287,7,5,0,0,3287,632,1,0,0,0,3288,3289,7,18,0,0,3289,3290,7,18,0,0,3290,3291,7,13,0,0,3291,634,1,0,0,0,3292,3293,7,18,0,0,3293,3294,7,4,0,0,3294,3295,7,0,0,0,3295,3296,7,3,0,0,3296,3297,7,4,0,0,3297,636,1,0,0,0,3298,3299,7,18,0,0,3299,3300,7,4,0,0,3300,3301,7,0,0,0,3301,3302,7,4,0,0,3302,3303,7,6,0,0,3303,3304,7,18,0,0,3304,3305,7,4,0,0,3305,3306,7,6,0,0,3306,3307,7,5,0,0,3307,3308,7,18,0,0,3308,638,1,0,0,0,3309,3310,7,18,0,0,3310,3311,7,4,0,0,3311,3312,7,0,0,0,3312,3313,7,4,0,0,3313,3314,7,19,0,0,3314,3315,7,18,0,0,3315,640,1,0,0,0,3316,3317,7,18,0,0,3317,3318,7,4,0,0,3318,3319,7,2,0,0,3319,3320,7,3,0,0,3320,3321,7,8,0,0,3321,3322,7,9,0,0,3322,642,1,0,0,0,3323,3324,7,18,0,0,3324,3325,7,4,0,0,3325,3326,7,3,0,0,3326,3327,7,8,0,0,3327,3328,7,0,0,0,3328,3329,7,10,0,0,3329,3330,7,4,0,0,3330,3331,7,0,0,0,3331,3332,7,1,0,0,3332,3333,7,13,0,0,3333,3334,7,8,0,0,3334,644,1,0,0,0,3335,3336,7,18,0,0,3336,3337,7,4,0,0,3337,3338,7,3,0,0,3338,3339,7,6,0,0,3339,3340,7,11,0,0,3340,3341,7,21,0,0,3341,646,1,0,0,0,3342,3343,7,18,0,0,3343,3344,7,4,0,0,3344,3345,7,3,0,0,3345,3346,7,19,0,0,3346,3347,7,5,0,0,3347,3348,7,4,0,0,3348,648,1,0,0,0,3349,3350,7,18,0,0,3350,3351,7,19,0,0,3351,3352,7,10,0,0,3352,3353,7,10,0,0,3353,3354,7,0,0,0,3354,3355,7,3,0,0,3355,3356,7,14,0,0,3356,650,1,0,0,0,3357,3358,7,18,0,0,3358,3359,7,14,0,0,3359,3360,7,11,0,0,3360,3361,7,5,0,0,3361,652,1,0,0,0,3362,3363,7,18,0,0,3363,3364,7,14,0,0,3364,3365,7,18,0,0,3365,3366,7,4,0,0,3366,3367,7,8,0,0,3367,3368,7,10,0,0,3368,3369,5,95,0,0,3369,3370,7,4,0,0,3370,3371,7,6,0,0,3371,3372,7,10,0,0,3372,3373,7,8,0,0,3373,654,1,0,0,0,3374,3375,7,18,0,0,3375,3376,7,14,0,0,3376,3377,7,18,0,0,3377,3378,7,4,0,0,3378,3379,7,8,0,0,3379,3380,7,10,0,0,3380,3381,5,95,0,0,3381,3382,7,7,0,0,3382,3383,7,8,0,0,3383,3384,7,3,0,0,3384,3385,7,18,0,0,3385,3386,7,6,0,0,3386,3387,7,2,0,0,3387,3388,7,11,0,0,3388,656,1,0,0,0,3389,3390,7,4,0,0,3390,3391,7,0,0,0,3391,3392,7,1,0,0,3392,3393,7,13,0,0,3393,3394,7,8,0,0,3394,658,1,0,0,0,3395,3396,7,4,0,0,3396,3397,7,0,0,0,3397,3398,7,1,0,0,3398,3399,7,13,0,0,3399,3400,7,8,0,0,3400,3401,7,18,0,0,3401,660,1,0,0,0,3402,3403,7,4,0,0,3403,3404,7,0,0,0,3404,3405,7,1,0,0,3405,3406,7,13,0,0,3406,3407,7,8,0,0,3407,3408,7,18,0,0,3408,3409,7,0,0,0,3409,3410,7,10,0,0,3410,3411,7,16,0,0,3411,3412,7,13,0,0,3412,3413,7,8,0,0,3413,662,1,0,0,0,3414,3415,7,4,0,0,3415,3416,7,1,0,0,3416,3417,7,13,0,0,3417,3418,7,16,0,0,3418,3419,7,3,0,0,3419,3420,7,2,0,0,3420,3421,7,16,0,0,3421,3422,7,8,0,0,3422,3423,7,3,0,0,3423,3424,7,4,0,0,3424,3425,7,6,0,0,3425,3426,7,8,0,0,3426,3427,7,18,0,0,3427,664,1,0,0,0,3428,3429,7,4,0,0,3429,3430,7,8,0,0,3430,3431,7,10,0,0,3431,3432,7,16,0,0,3432,3433,7,2,0,0,3433,3434,7,3,0,0,3434,3435,7,0,0,0,3435,3436,7,3,0,0,3436,3437,7,14,0,0,3437,666,1,0,0,0,3438,3439,7,4,0,0,3439,3440,7,8,0,0,3440,3441,7,3,0,0,3441,3442,7,10,0,0,3442,3443,7,6,0,0,3443,3444,7,11,0,0,3444,3445,7,0,0,0,3445,3446,7,4,0,0,3446,3447,7,8,0,0,3447,3448,7,9,0,0,3448,668,1,0,0,0,3449,3450,7,4,0,0,3450,3451,7,17,0,0,3451,3452,7,8,0,0,3452,3453,7,11,0,0,3453,670,1,0,0,0,3454,3455,7,4,0,0,3455,3456,7,6,0,0,3456,3457,7,10,0,0,3457,3458,7,8,0,0,3458,672,1,0,0,0,3459,3460,7,4,0,0,3460,3461,7,6,0,0,3461,3462,7,10,0,0,3462,3463,7,8,0,0,3463,3464,7,18,0,0,3464,3465,7,4,0,0,3465,3466,7,0,0,0,3466,3467,7,10,0,0,3467,3468,7,16,0,0,3468,674,1,0,0,0,3469,3470,7,4,0,0,3470,3471,7,6,0,0,3471,3472,7,10,0,0,3472,3473,7,8,0,0,3473,3474,7,18,0,0,3474,3475,7,4,0,0,3475,3476,7,0,0,0,3476,3477,7,10,0,0,3477,3478,7,16,0,0,3478,3479,7,13,0,0,3479,3480,7,2,0,0,3480,3481,7,5,0,0,3481,3482,7,0,0,0,3482,3483,7,13,0,0,3483,3484,7,4,0,0,3484,3485,7,15,0,0,3485,676,1,0,0,0,3486,3487,7,4,0,0,3487,3488,7,6,0,0,3488,3489,7,10,0,0,3489,3490,7,8,0,0,3490,3491,7,18,0,0,3491,3492,7,4,0,0,3492,3493,7,0,0,0,3493,3494,7,10,0,0,3494,3495,7,16,0,0,3495,3496,7,4,0,0,3496,3497,7,15,0,0,3497,678,1,0,0,0,3498,3499,7,4,0,0,3499,3500,7,6,0,0,3500,3501,7,11,0,0,3501,3502,7,14,0,0,3502,3503,7,6,0,0,3503,3504,7,11,0,0,3504,3505,7,4,0,0,3505,680,1,0,0,0,3506,3507,7,4,0,0,3507,3508,7,2,0,0,3508,682,1,0,0,0,3509,3510,7,4,0,0,3510,3511,7,2,0,0,3511,3512,7,19,0,0,3512,3513,7,5,0,0,3513,3514,7,17,0,0,3514,684,1,0,0,0,3515,3516,7,4,0,0,3516,3517,7,3,0,0,3517,3518,7,0,0,0,3518,3519,7,6,0,0,3519,3520,7,13,0,0,3520,3521,7,6,0,0,3521,3522,7,11,0,0,3522,3523,7,21,0,0,3523,686,1,0,0,0,3524,3525,7,4,0,0,3525,3526,7,3,0,0,3526,3527,7,0,0,0,3527,3528,7,11,0,0,3528,3529,7,18,0,0,3529,3530,7,0,0,0,3530,3531,7,5,0,0,3531,3532,7,4,0,0,3532,3533,7,6,0,0,3533,3534,7,2,0,0,3534,3535,7,11,0,0,3535,688,1,0,0,0,3536,3537,7,4,0,0,3537,3538,7,3,0,0,3538,3539,7,0,0,0,3539,3540,7,11,0,0,3540,3541,7,18,0,0,3541,3542,7,0,0,0,3542,3543,7,5,0,0,3543,3544,7,4,0,0,3544,3545,7,6,0,0,3545,3546,7,2,0,0,3546,3547,7,11,0,0,3547,3548,7,0,0,0,3548,3549,7,13,0,0,3549,690,1,0,0,0,3550,3551,7,4,0,0,3551,3552,7,3,0,0,3552,3553,7,0,0,0,3553,3554,7,11,0,0,3554,3555,7,18,0,0,3555,3556,7,0,0,0,3556,3557,7,5,0,0,3557,3558,7,4,0,0,3558,3559,7,6,0,0,3559,3560,7,2,0,0,3560,3561,7,11,0,0,3561,3562,7,18,0,0,3562,692,1,0,0,0,3563,3564,7,4,0,0,3564,3565,7,3,0,0,3565,3566,7,0,0,0,3566,3567,7,11,0,0,3567,3568,7,18,0,0,3568,3569,7,12,0,0,3569,3570,7,2,0,0,3570,3571,7,3,0,0,3571,3572,7,10,0,0,3572,694,1,0,0,0,3573,3574,7,4,0,0,3574,3575,7,3,0,0,3575,3576,7,6,0,0,3576,3577,7,21,0,0,3577,3578,7,21,0,0,3578,3579,7,8,0,0,3579,3580,7,3,0,0,3580,696,1,0,0,0,3581,3582,7,4,0,0,3582,3583,7,3,0,0,3583,3584,7,6,0,0,3584,3585,7,10,0,0,3585,698,1,0,0,0,3586,3587,7,4,0,0,3587,3588,7,3,0,0,3588,3589,7,19,0,0,3589,3590,7,8,0,0,3590,700,1,0,0,0,3591,3592,7,4,0,0,3592,3593,7,3,0,0,3593,3594,7,19,0,0,3594,3595,7,11,0,0,3595,3596,7,5,0,0,3596,3597,7,0,0,0,3597,3598,7,4,0,0,3598,3599,7,8,0,0,3599,702,1,0,0,0,3600,3601,7,4,0,0,3601,3602,7,14,0,0,3602,3603,7,16,0,0,3603,3604,7,8,0,0,3604,704,1,0,0,0,3605,3606,7,19,0,0,3606,3607,7,11,0,0,3607,3608,7,0,0,0,3608,3609,7,3,0,0,3609,3610,7,5,0,0,3610,3611,7,17,0,0,3611,3612,7,6,0,0,3612,3613,7,7,0,0,3613,3614,7,8,0,0,3614,706,1,0,0,0,3615,3616,7,19,0,0,3616,3617,7,11,0,0,3617,3618,7,1,0,0,3618,3619,7,2,0,0,3619,3620,7,19,0,0,3620,3621,7,11,0,0,3621,3622,7,9,0,0,3622,3623,7,8,0,0,3623,3624,7,9,0,0,3624,708,1,0,0,0,3625,3626,7,19,0,0,3626,3627,7,11,0,0,3627,3628,7,9,0,0,3628,3629,7,2,0,0,3629,710,1,0,0,0,3630,3631,7,19,0,0,3631,3632,7,11,0,0,3632,3633,7,6,0,0,3633,3634,7,2,0,0,3634,3635,7,11,0,0,3635,712,1,0,0,0,3636,3637,7,19,0,0,3637,3638,7,11,0,0,3638,3639,7,6,0,0,3639,3640,7,2,0,0,3640,3641,7,11,0,0,3641,3642,7,4,0,0,3642,3643,7,14,0,0,3643,3644,7,16,0,0,3644,3645,7,8,0,0,3645,714,1,0,0,0,3646,3647,7,19,0,0,3647,3648,7,11,0,0,3648,3649,7,6,0,0,3649,3650,7,25,0,0,3650,3651,7,19,0,0,3651,3652,7,8,0,0,3652,716,1,0,0,0,3653,3654,7,19,0,0,3654,3655,7,11,0,0,3655,3656,7,6,0,0,3656,3657,7,25,0,0,3657,3658,7,19,0,0,3658,3659,7,8,0,0,3659,3660,7,24,0,0,3660,3661,7,2,0,0,3661,3662,7,6,0,0,3662,3663,7,11,0,0,3663,718,1,0,0,0,3664,3665,7,19,0,0,3665,3666,7,11,0,0,3666,3667,7,22,0,0,3667,3668,7,11,0,0,3668,3669,7,2,0,0,3669,3670,7,20,0,0,3670,3671,7,11,0,0,3671,720,1,0,0,0,3672,3673,7,19,0,0,3673,3674,7,11,0,0,3674,3675,7,13,0,0,3675,3676,7,2,0,0,3676,3677,7,5,0,0,3677,3678,7,22,0,0,3678,722,1,0,0,0,3679,3680,7,19,0,0,3680,3681,7,11,0,0,3681,3682,7,10,0,0,3682,3683,7,0,0,0,3683,3684,7,11,0,0,3684,3685,7,0,0,0,3685,3686,7,21,0,0,3686,3687,7,8,0,0,3687,3688,7,9,0,0,3688,724,1,0,0,0,3689,3690,7,19,0,0,3690,3691,7,11,0,0,3691,3692,7,18,0,0,3692,3693,7,8,0,0,3693,3694,7,4,0,0,3694,726,1,0,0,0,3695,3696,7,19,0,0,3696,3697,7,11,0,0,3697,3698,7,18,0,0,3698,3699,7,6,0,0,3699,3700,7,21,0,0,3700,3701,7,11,0,0,3701,3702,7,8,0,0,3702,3703,7,9,0,0,3703,728,1,0,0,0,3704,3705,7,19,0,0,3705,3706,7,16,0,0,3706,3707,7,9,0,0,3707,3708,7,0,0,0,3708,3709,7,4,0,0,3709,3710,7,8,0,0,3710,730,1,0,0,0,3711,3712,7,19,0,0,3712,3713,7,3,0,0,3713,3714,7,6,0,0,3714,732,1,0,0,0,3715,3716,7,19,0,0,3716,3717,7,3,0,0,3717,3718,7,13,0,0,3718,734,1,0,0,0,3719,3720,7,19,0,0,3720,3721,7,18,0,0,3721,3722,7,8,0,0,3722,736,1,0,0,0,3723,3724,7,19,0,0,3724,3725,7,18,0,0,3725,3726,7,8,0,0,3726,3727,7,3,0,0,3727,738,1,0,0,0,3728,3729,7,19,0,0,3729,3730,7,18,0,0,3730,3731,7,6,0,0,3731,3732,7,11,0,0,3732,3733,7,21,0,0,3733,740,1,0,0,0,3734,3735,7,19,0,0,3735,3736,7,4,0,0,3736,3737,7,5,0,0,3737,742,1,0,0,0,3738,3739,7,19,0,0,3739,3740,7,4,0,0,3740,3741,7,5,0,0,3741,3742,5,95,0,0,3742,3743,7,4,0,0,3743,3744,7,10,0,0,3744,3745,7,8,0,0,3745,3746,7,18,0,0,3746,3747,7,4,0,0,3747,3748,7,0,0,0,3748,3749,7,10,0,0,3749,3750,7,16,0,0,3750,744,1,0,0,0,3751,3752,7,7,0,0,3752,3753,7,0,0,0,3753,3754,7,13,0,0,3754,3755,7,6,0,0,3755,3756,7,9,0,0,3756,3757,7,0,0,0,3757,3758,7,4,0,0,3758,3759,7,8,0,0,3759,746,1,0,0,0,3760,3761,7,7,0,0,3761,3762,7,0,0,0,3762,3763,7,13,0,0,3763,3764,7,19,0,0,3764,3765,7,8,0,0,3765,3766,7,18,0,0,3766,748,1,0,0,0,3767,3768,5,36,0,0,3768,3769,7,7,0,0,3769,3770,7,0,0,0,3770,3771,7,13,0,0,3771,3772,7,19,0,0,3772,3773,7,8,0,0,3773,3774,5,36,0,0,3774,750,1,0,0,0,3775,3776,7,7,0,0,3776,3777,7,0,0,0,3777,3778,7,3,0,0,3778,3779,7,5,0,0,3779,3780,7,17,0,0,3780,3781,7,0,0,0,3781,3782,7,3,0,0,3782,752,1,0,0,0,3783,3784,7,7,0,0,3784,3785,7,8,0,0,3785,3786,7,5,0,0,3786,3787,7,4,0,0,3787,3788,7,2,0,0,3788,3789,7,3,0,0,3789,3790,7,6,0,0,3790,3791,7,15,0,0,3791,3792,7,0,0,0,3792,3793,7,4,0,0,3793,3794,7,6,0,0,3794,3795,7,2,0,0,3795,3796,7,11,0,0,3796,754,1,0,0,0,3797,3798,7,7,0,0,3798,3799,7,6,0,0,3799,3800,7,8,0,0,3800,3801,7,20,0,0,3801,756,1,0,0,0,3802,3803,7,7,0,0,3803,3804,7,6,0,0,3804,3805,7,8,0,0,3805,3806,7,20,0,0,3806,3807,7,18,0,0,3807,758,1,0,0,0,3808,3809,7,20,0,0,3809,3810,7,0,0,0,3810,3811,7,6,0,0,3811,3812,7,4,0,0,3812,760,1,0,0,0,3813,3814,7,20,0,0,3814,3815,7,8,0,0,3815,3816,7,8,0,0,3816,3817,7,22,0,0,3817,762,1,0,0,0,3818,3819,7,20,0,0,3819,3820,7,8,0,0,3820,3821,7,8,0,0,3821,3822,7,22,0,0,3822,3823,7,18,0,0,3823,764,1,0,0,0,3824,3825,7,20,0,0,3825,3826,7,17,0,0,3826,3827,7,8,0,0,3827,3828,7,11,0,0,3828,766,1,0,0,0,3829,3830,7,20,0,0,3830,3831,7,17,0,0,3831,3832,7,8,0,0,3832,3833,7,3,0,0,3833,3834,7,8,0,0,3834,768,1,0,0,0,3835,3836,7,20,0,0,3836,3837,7,17,0,0,3837,3838,7,6,0,0,3838,3839,7,13,0,0,3839,3840,7,8,0,0,3840,770,1,0,0,0,3841,3842,7,20,0,0,3842,3843,7,6,0,0,3843,3844,7,11,0,0,3844,3845,7,9,0,0,3845,3846,7,2,0,0,3846,3847,7,20,0,0,3847,772,1,0,0,0,3848,3849,7,20,0,0,3849,3850,7,6,0,0,3850,3851,7,4,0,0,3851,3852,7,17,0,0,3852,774,1,0,0,0,3853,3854,7,20,0,0,3854,3855,7,6,0,0,3855,3856,7,4,0,0,3856,3857,7,17,0,0,3857,3858,7,6,0,0,3858,3859,7,11,0,0,3859,776,1,0,0,0,3860,3861,7,20,0,0,3861,3862,7,2,0,0,3862,3863,7,3,0,0,3863,3864,7,22,0,0,3864,778,1,0,0,0,3865,3866,7,20,0,0,3866,3867,7,2,0,0,3867,3868,7,3,0,0,3868,3869,7,22,0,0,3869,3870,7,13,0,0,3870,3871,7,2,0,0,3871,3872,7,0,0,0,3872,3873,7,9,0,0,3873,780,1,0,0,0,3874,3875,7,20,0,0,3875,3876,7,3,0,0,3876,3877,7,6,0,0,3877,3878,7,4,0,0,3878,3879,7,8,0,0,3879,782,1,0,0,0,3880,3881,7,14,0,0,3881,3882,7,8,0,0,3882,3883,7,0,0,0,3883,3884,7,3,0,0,3884,784,1,0,0,0,3885,3886,7,14,0,0,3886,3887,7,8,0,0,3887,3888,7,0,0,0,3888,3889,7,3,0,0,3889,3890,7,18,0,0,3890,786,1,0,0,0,3891,3892,7,15,0,0,3892,3893,7,2,0,0,3893,3894,7,11,0,0,3894,3895,7,8,0,0,3895,788,1,0,0,0,3896,3897,5,46,0,0,3897,790,1,0,0,0,3898,3899,5,58,0,0,3899,792,1,0,0,0,3900,3901,5,44,0,0,3901,794,1,0,0,0,3902,3903,5,59,0,0,3903,796,1,0,0,0,3904,3905,5,40,0,0,3905,798,1,0,0,0,3906,3907,5,41,0,0,3907,800,1,0,0,0,3908,3909,5,91,0,0,3909,802,1,0,0,0,3910,3911,5,93,0,0,3911,804,1,0,0,0,3912,3913,5,123,0,0,3913,806,1,0,0,0,3914,3915,5,125,0,0,3915,808,1,0,0,0,3916,3920,5,61,0,0,3917,3918,5,61,0,0,3918,3920,5,61,0,0,3919,3916,1,0,0,0,3919,3917,1,0,0,0,3920,810,1,0,0,0,3921,3922,5,60,0,0,3922,3923,5,61,0,0,3923,3924,5,62,0,0,3924,812,1,0,0,0,3925,3926,5,60,0,0,3926,3930,5,62,0,0,3927,3928,5,33,0,0,3928,3930,5,61,0,0,3929,3925,1,0,0,0,3929,3927,1,0,0,0,3930,814,1,0,0,0,3931,3932,5,60,0,0,3932,3933,5,61,0,0,3933,816,1,0,0,0,3934,3935,5,60,0,0,3935,818,1,0,0,0,3936,3937,5,62,0,0,3937,3938,5,61,0,0,3938,820,1,0,0,0,3939,3940,5,62,0,0,3940,822,1,0,0,0,3941,3942,5,47,0,0,3942,824,1,0,0,0,3943,3944,5,43,0,0,3944,826,1,0,0,0,3945,3946,5,45,0,0,3946,828,1,0,0,0,3947,3948,5,42,0,0,3948,830,1,0,0,0,3949,3950,5,37,0,0,3950,832,1,0,0,0,3951,3952,7,9,0,0,3952,3953,7,6,0,0,3953,3954,7,7,0,0,3954,834,1,0,0,0,3955,3956,5,33,0,0,3956,836,1,0,0,0,3957,3958,5,38,0,0,3958,838,1,0,0,0,3959,3960,5,126,0,0,3960,840,1,0,0,0,3961,3962,5,124,0,0,3962,842,1,0,0,0,3963,3964,5,124,0,0,3964,3965,5,124,0,0,3965,844,1,0,0,0,3966,3967,5,94,0,0,3967,846,1,0,0,0,3968,3969,5,63,0,0,3969,848,1,0,0,0,3970,3971,5,36,0,0,3971,850,1,0,0,0,3972,3978,5,39,0,0,3973,3977,8,26,0,0,3974,3975,5,92,0,0,3975,3977,9,0,0,0,3976,3973,1,0,0,0,3976,3974,1,0,0,0,3977,3980,1,0,0,0,3978,3976,1,0,0,0,3978,3979,1,0,0,0,3979,3981,1,0,0,0,3980,3978,1,0,0,0,3981,3993,5,39,0,0,3982,3988,5,34,0,0,3983,3987,8,27,0,0,3984,3985,5,92,0,0,3985,3987,9,0,0,0,3986,3983,1,0,0,0,3986,3984,1,0,0,0,3987,3990,1,0,0,0,3988,3986,1,0,0,0,3988,3989,1,0,0,0,3989,3991,1,0,0,0,3990,3988,1,0,0,0,3991,3993,5,34,0,0,3992,3972,1,0,0,0,3992,3982,1,0,0,0,3993,3994,1,0,0,0,3994,3992,1,0,0,0,3994,3995,1,0,0,0,3995,852,1,0,0,0,3996,4006,3,851,425,0,3997,3998,5,48,0,0,3998,4001,7,23,0,0,3999,4002,3,869,434,0,4e3,4002,3,871,435,0,4001,3999,1,0,0,0,4001,4e3,1,0,0,0,4002,4003,1,0,0,0,4003,4001,1,0,0,0,4003,4004,1,0,0,0,4004,4006,1,0,0,0,4005,3996,1,0,0,0,4005,3997,1,0,0,0,4006,854,1,0,0,0,4007,4009,3,871,435,0,4008,4007,1,0,0,0,4009,4010,1,0,0,0,4010,4008,1,0,0,0,4010,4011,1,0,0,0,4011,4012,1,0,0,0,4012,4013,7,28,0,0,4013,856,1,0,0,0,4014,4016,3,861,430,0,4015,4017,7,1,0,0,4016,4015,1,0,0,0,4016,4017,1,0,0,0,4017,4018,1,0,0,0,4018,4019,7,9,0,0,4019,858,1,0,0,0,4020,4022,3,871,435,0,4021,4020,1,0,0,0,4022,4023,1,0,0,0,4023,4021,1,0,0,0,4023,4024,1,0,0,0,4024,4025,1,0,0,0,4025,4026,7,29,0,0,4026,860,1,0,0,0,4027,4029,3,871,435,0,4028,4027,1,0,0,0,4029,4030,1,0,0,0,4030,4028,1,0,0,0,4030,4031,1,0,0,0,4031,4043,1,0,0,0,4032,4036,3,789,394,0,4033,4035,3,871,435,0,4034,4033,1,0,0,0,4035,4038,1,0,0,0,4036,4034,1,0,0,0,4036,4037,1,0,0,0,4037,4040,1,0,0,0,4038,4036,1,0,0,0,4039,4041,3,873,436,0,4040,4039,1,0,0,0,4040,4041,1,0,0,0,4041,4044,1,0,0,0,4042,4044,3,873,436,0,4043,4032,1,0,0,0,4043,4042,1,0,0,0,4043,4044,1,0,0,0,4044,862,1,0,0,0,4045,4048,3,867,433,0,4046,4048,3,871,435,0,4047,4045,1,0,0,0,4047,4046,1,0,0,0,4048,4054,1,0,0,0,4049,4053,3,867,433,0,4050,4053,3,871,435,0,4051,4053,5,95,0,0,4052,4049,1,0,0,0,4052,4050,1,0,0,0,4052,4051,1,0,0,0,4053,4056,1,0,0,0,4054,4052,1,0,0,0,4054,4055,1,0,0,0,4055,4067,1,0,0,0,4056,4054,1,0,0,0,4057,4067,3,865,432,0,4058,4060,5,96,0,0,4059,4061,3,875,437,0,4060,4059,1,0,0,0,4061,4062,1,0,0,0,4062,4060,1,0,0,0,4062,4063,1,0,0,0,4063,4064,1,0,0,0,4064,4065,5,96,0,0,4065,4067,1,0,0,0,4066,4047,1,0,0,0,4066,4057,1,0,0,0,4066,4058,1,0,0,0,4067,864,1,0,0,0,4068,4074,5,96,0,0,4069,4070,5,96,0,0,4070,4073,5,96,0,0,4071,4073,8,30,0,0,4072,4069,1,0,0,0,4072,4071,1,0,0,0,4073,4076,1,0,0,0,4074,4072,1,0,0,0,4074,4075,1,0,0,0,4075,4077,1,0,0,0,4076,4074,1,0,0,0,4077,4078,5,96,0,0,4078,866,1,0,0,0,4079,4080,7,31,0,0,4080,868,1,0,0,0,4081,4082,7,32,0,0,4082,870,1,0,0,0,4083,4084,2,48,57,0,4084,872,1,0,0,0,4085,4088,7,8,0,0,4086,4089,3,825,412,0,4087,4089,3,827,413,0,4088,4086,1,0,0,0,4088,4087,1,0,0,0,4088,4089,1,0,0,0,4089,4091,1,0,0,0,4090,4092,3,871,435,0,4091,4090,1,0,0,0,4092,4093,1,0,0,0,4093,4091,1,0,0,0,4093,4094,1,0,0,0,4094,874,1,0,0,0,4095,4112,7,33,0,0,4096,4112,3,825,412,0,4097,4112,3,829,414,0,4098,4112,3,847,423,0,4099,4112,3,827,413,0,4100,4112,3,789,394,0,4101,4112,3,797,398,0,4102,4112,3,799,399,0,4103,4112,3,801,400,0,4104,4112,3,803,401,0,4105,4112,3,805,402,0,4106,4112,3,807,403,0,4107,4112,3,845,422,0,4108,4112,3,841,420,0,4109,4112,3,849,424,0,4110,4112,3,835,417,0,4111,4095,1,0,0,0,4111,4096,1,0,0,0,4111,4097,1,0,0,0,4111,4098,1,0,0,0,4111,4099,1,0,0,0,4111,4100,1,0,0,0,4111,4101,1,0,0,0,4111,4102,1,0,0,0,4111,4103,1,0,0,0,4111,4104,1,0,0,0,4111,4105,1,0,0,0,4111,4106,1,0,0,0,4111,4107,1,0,0,0,4111,4108,1,0,0,0,4111,4109,1,0,0,0,4111,4110,1,0,0,0,4112,876,1,0,0,0,4113,4117,5,95,0,0,4114,4118,3,867,433,0,4115,4118,3,871,435,0,4116,4118,7,34,0,0,4117,4114,1,0,0,0,4117,4115,1,0,0,0,4117,4116,1,0,0,0,4118,4119,1,0,0,0,4119,4117,1,0,0,0,4119,4120,1,0,0,0,4120,878,1,0,0,0,4121,4122,7,35,0,0,4122,4123,1,0,0,0,4123,4124,6,439,0,0,4124,880,1,0,0,0,4125,4126,5,45,0,0,4126,4127,5,45,0,0,4127,4131,1,0,0,0,4128,4130,8,36,0,0,4129,4128,1,0,0,0,4130,4133,1,0,0,0,4131,4129,1,0,0,0,4131,4132,1,0,0,0,4132,4134,1,0,0,0,4133,4131,1,0,0,0,4134,4135,6,440,0,0,4135,882,1,0,0,0,4136,4139,3,885,442,0,4137,4139,3,887,443,0,4138,4136,1,0,0,0,4138,4137,1,0,0,0,4139,884,1,0,0,0,4140,4141,5,47,0,0,4141,4142,5,42,0,0,4142,4143,5,43,0,0,4143,4148,1,0,0,0,4144,4147,3,883,441,0,4145,4147,9,0,0,0,4146,4144,1,0,0,0,4146,4145,1,0,0,0,4147,4150,1,0,0,0,4148,4149,1,0,0,0,4148,4146,1,0,0,0,4149,4151,1,0,0,0,4150,4148,1,0,0,0,4151,4152,5,42,0,0,4152,4153,5,47,0,0,4153,4154,1,0,0,0,4154,4155,6,442,0,0,4155,886,1,0,0,0,4156,4157,5,47,0,0,4157,4158,5,42,0,0,4158,4163,1,0,0,0,4159,4162,3,883,441,0,4160,4162,9,0,0,0,4161,4159,1,0,0,0,4161,4160,1,0,0,0,4162,4165,1,0,0,0,4163,4164,1,0,0,0,4163,4161,1,0,0,0,4164,4166,1,0,0,0,4165,4163,1,0,0,0,4166,4167,5,42,0,0,4167,4168,5,47,0,0,4168,4169,1,0,0,0,4169,4170,6,443,0,0,4170,888,1,0,0,0,37,0,3919,3929,3976,3978,3986,3988,3992,3994,4001,4003,4005,4010,4016,4023,4030,4036,4040,4043,4047,4052,4054,4062,4066,4072,4074,4088,4093,4111,4117,4119,4131,4138,4146,4148,4161,4163,1,0,1,0],l.vocabulary=new ie(l.literalNames,l.symbolicNames,[]),l.decisionsToDFA=l._ATN.decisionToState.map((i,t)=>new t0(i,t));class Z7 extends o3{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,s,n,r;return this.entityCollecting&&((s=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&s!==void 0?s:1/0)<=this.caretTokenIndex&&((r=(n=this.tokenStream.LT(1))===null||n===void 0?void 0:n.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class e extends Z7{get grammarFileName(){return"HiveSqlParser.g4"}get literalNames(){return e.literalNames}get symbolicNames(){return e.symbolicNames}get ruleNames(){return e.ruleNames}get serializedATN(){return e._serializedATN}createFailedPredicateException(t,s){return new ci(this,t,s)}constructor(t){super(t),this.interpreter=new ai(this,e._ATN,e.decisionsToDFA,new c1)}program(){let t=new j7(this.context,this.state);this.enterRule(t,0,e.RULE_program);let s;try{this.enterOuterAlt(t,1);{for(this.state=695,this.errorHandler.sync(this),s=this.tokenStream.LA(1);!(s&-32)&&1<'",null,"'<='","'<'","'>='","'>'","'/'","'+'","'-'","'*'","'%'","'DIV'","'!'","'&'","'~'","'|'","'||'","'^'","'?'","'$'"],e.symbolicNames=[null,"KW_ABORT","KW_ACTIVATE","KW_ACTIVE","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALLOC_FRACTION","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_APPLICATION","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AST","KW_AT","KW_AUTHORIZATION","KW_AUTOCOMMIT","KW_BATCH","KW_BEFORE","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CBO","KW_CHANGE","KW_CHAR","KW_CHECK","KW_CLUSTER","KW_CLUSTERED","KW_CLUSTERSTATUS","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPACT_ID","KW_COMPUTE","KW_CONCATENATE","KW_CONF","KW_CONSTRAINT","KW_CONTINUE","KW_COST","KW_CREATE","KW_CRON","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIMESTAMP","KW_CURSOR","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DATACONNECTOR","KW_DATACONNECTORS","KW_DATE","KW_DATETIME","KW_DAY","KW_DAYS","KW_DAYOFWEEK","KW_DBPROPERTIES","KW_DCPROPERTIES","KW_DDL","KW_DEBUG","KW_DEC","KW_DECIMAL","KW_NUMERIC","KW_DEFAULT","KW_DEFERRED","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DEPENDENCY","KW_DESC","KW_DESCRIBE","KW_DETAIL","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISABLED","KW_DISTINCT","KW_DISTRIBUTE","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_RECOVER","KW_DUMP","KW_ELEM_TYPE","KW_ELSE","KW_ENABLE","KW_ENABLED","KW_END","KW_ENFORCED","KW_ESCAPED","KW_EVERY","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXECUTE","KW_EXECUTED","KW_EXISTS","KW_EXPIRE_SNAPSHOTS","KW_EXPLAIN","KW_EXPORT","KW_EXPRESSION","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILE","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FLOOR","KW_FOLLOWING","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_HOLD_DDLTIME","KW_HOUR","KW_HOURS","KW_IDXPROPERTIES","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTDRIVER","KW_INPUTFORMAT","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_IS","KW_ISOLATION","KW_ITEMS","KW_JAR","KW_JOIN","KW_JOINCOST","KW_KEY","KW_KEYS","KW_KEY_TYPE","KW_KILL","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEFT","KW_LESS","KW_LEVEL","KW_LIFECYCLE","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MANAGED","KW_MANAGEDLOCATION","KW_MANAGEMENT","KW_MAP","KW_MAPJOIN","KW_MAPPING","KW_MATCHED","KW_MATERIALIZED","KW_MERGE","KW_METADATA","KW_MINUS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MORE","KW_MOVE","KW_MSCK","KW_NONE","KW_NORELY","KW_NOSCAN","KW_NOT","KW_NOVALIDATE","KW_NO_DROP","KW_NULL","KW_NULLS","KW_OF","KW_OFFLINE","KW_OFFSET","KW_ON","KW_ONLY","KW_OPERATOR","KW_OPTION","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTDRIVER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERWRITE","KW_OWNER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATH","KW_PERCENT","KW_PKFK_JOIN","KW_PLAN","KW_PLANS","KW_PLUS","KW_POOL","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRESERVE","KW_PRIMARY","KW_PRINCIPALS","KW_PROCEDURE","KW_PROTECTION","KW_PURGE","KW_QUALIFY","KW_QUARTER","KW_QUERY","KW_QUERY_PARALLELISM","KW_RANGE","KW_READ","KW_READONLY","KW_READS","KW_REAL","KW_REBUILD","KW_RECORDREADER","KW_RECORDWRITER","KW_REDUCE","KW_REFERENCES","KW_REGEXP","KW_RELOAD","KW_RELY","KW_REMOTE","KW_RENAME","KW_REOPTIMIZATION","KW_REPAIR","KW_REPL","KW_REPLACE","KW_REPLICATION","KW_RESOURCE","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_REWRITE","KW_RIGHT","KW_RLIKE","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SCHEDULED","KW_SCHEDULING_POLICY","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SEMI","KW_SERDE","KW_SERDEPROPERTIES","KW_SERVER","KW_SET","KW_SETS","KW_SET_CURRENT_SNAPSHOT","KW_SHARED","KW_SHOW","KW_SHOW_DATABASE","KW_SKEWED","KW_SMALLINT","KW_SNAPSHOT","KW_SOME","KW_SORT","KW_SORTED","KW_SPEC","KW_SSL","KW_START","KW_STATISTICS","KW_STATUS","KW_STORED","KW_STREAMTABLE","KW_STRING","KW_STRUCT","KW_SUMMARY","KW_SYNC","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMPLOCALTZ","KW_TIMESTAMPTZ","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIGGER","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNDO","KW_UNION","KW_UNIONTYPE","KW_UNIQUE","KW_UNIQUEJOIN","KW_UNKNOWN","KW_UNLOCK","KW_UNMANAGED","KW_UNSET","KW_UNSIGNED","KW_UPDATE","KW_URI","KW_URL","KW_USE","KW_USER","KW_USING","KW_UTC","KW_UTCTIMESTAMP","KW_VALIDATE","KW_VALUES","KW_VALUE_TYPE","KW_VARCHAR","KW_VECTORIZATION","KW_VIEW","KW_VIEWS","KW_WAIT","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WORK","KW_WORKLOAD","KW_WRITE","KW_YEAR","KW_YEARS","KW_ZONE","DOT","COLON","COMMA","SEMICOLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","EQUAL","EQUAL_NS","NOTEQUAL","LESSTHANOREQUALTO","LESSTHAN","GREATERTHANOREQUALTO","GREATERTHAN","DIVIDE","PLUS","MINUS","STAR","MOD","DIV","BITWISENOT","AMPERSAND","TILDE","BITWISEOR","CONCATENATE","BITWISEXOR","QUESTION","DOLLAR","StringLiteral","CharSetLiteral","IntegralLiteral","NumberLiteral","ByteLengthLiteral","Number","Identifier","CharSetName","WHITE_SPACE","LINE_COMMENT","QUERY_HINT","SHOW_HINT","HIDDEN_HINT"],e.ruleNames=["program","statement","explainStatement","explainOption","vectorizatonDetail","execStatement","loadStatement","replicationClause","exportStatement","importStatement","replDumpStatement","replDbPolicy","replLoadStatement","replTableLevelPolicy","ddlStatement","ifExists","ifNotExists","restrictOrCascade","rewriteEnabled","rewriteDisabled","storedAsDirs","createDatabaseStatement","dbConnectorName","switchDatabaseStatement","dropDatabaseStatement","databaseComment","truncateTableStatement","dropTableStatement","inputFileFormat","tabTypeExpr","partTypeExpr","tabPartColTypeExpr","descStatement","analyzeStatement","from_in","db_schema","showStatement","showTablesFilterExpr","lockStatement","lockDatabase","lockMode","unlockStatement","unlockDatabase","createRoleStatement","dropRoleStatement","grantPrivileges","revokePrivileges","grantRole","revokeRole","showRoleGrants","showRoles","showCurrentRole","setRole","showGrants","showRolePrincipals","privilegeIncludeColObject","privilegeObject","privObject","privObjectCols","privilegeList","privlegeDef","privilegeType","principalSpecification","principalName","principalAlterName","withGrantOption","grantOptionFor","adminOptionFor","withAdminOption","metastoreCheck","resourceList","resource","resourceType","createFunctionStatement","dropFunctionStatement","reloadFunctionsStatement","createMacroStatement","dropMacroStatement","createIndexStatement","dropIndexStatement","createViewStatement","viewPartition","viewOrganization","viewClusterSpec","viewComplexSpec","viewDistSpec","viewSortSpec","dropViewStatement","createMaterializedViewStatement","dropMaterializedViewStatement","createScheduledQueryStatement","dropScheduledQueryStatement","alterScheduledQueryStatement","alterScheduledQueryChange","scheduleSpec","executedAsSpec","definedAsSpec","showStmtIdentifier","tableComment","tableLifecycle","createTablePartitionSpec","createTablePartitionColumnTypeSpec","partitionTransformSpec","partitionTransformType","tableBuckets","tableSkewed","rowFormat","recordReader","recordWriter","rowFormatSerde","rowFormatDelimited","tableRowFormat","tablePropertiesPrefixed","tableProperties","tablePropertiesList","keyValueProperties","keyValuePropertyList","keyValueProperty","tableRowFormatFieldIdentifier","tableRowFormatCollItemsIdentifier","tableRowFormatMapKeysIdentifier","tableRowFormatLinesIdentifier","tableRowNullFormat","tableFileFormat","columnNameTypeList","columnNameTypeOrConstraintList","columnNameColonTypeList","columnNameList","columnName","columnNameCreate","extColumnName","columnNameOrderList","columnParenthesesList","enableValidateSpecification","enableSpecification","validateSpecification","enforcedSpecification","relySpecification","createConstraint","alterConstraintWithName","tableLevelConstraint","pkUkConstraint","checkConstraint","createForeignKey","alterForeignKeyWithName","skewedValueElement","skewedColumnValuePairList","skewedColumnValuePair","constantList","orderSpecification","nullOrdering","columnNameOrder","columnNameCommentList","columnNameComment","columnRefOrder","columnNameType","columnNameTypeOrConstraint","tableConstraint","columnNameTypeConstraint","columnConstraint","foreignKeyConstraint","colConstraint","alterColumnConstraint","alterForeignKeyConstraint","alterColConstraint","columnConstraintType","defaultVal","tableConstraintType","constraintOptsCreate","constraintOptsAlter","columnNameColonType","columnType","columnTypeList","type","primitiveType","listType","structType","mapType","unionType","setOperator","queryStatementExpression","queryStatementExpressionBody","withClause","cteStatement","fromStatement","singleFromStatement","regularBody","atomSelectStatement","selectStatement","setOpSelectStatement","selectStatementWithCTE","insertClause","destination","limitClause","columnAssignmentClause","precedencePlusExpressionOrDefault","setColumnsClause","sqlTransactionStatement","transactionMode","whenClauses","whenNotMatchedClause","whenMatchedAndClause","whenMatchedThenClause","compactionPool","compactionType","compactionStatus","alterStatement","alterTableStatementSuffix","alterTblPartitionStatementSuffix","alterViewStatementSuffix","alterDatabaseStatementSuffix","alterDataConnectorStatementSuffix","locationPath","alterStatementSuffixDropPartitions","skewedLocationMap","alterStatementSuffixExecute","fileFormat","likeTableOrFile","createTableStatement","createDataConnectorStatement","dropDataConnectorStatement","tableAllColumns","expressionList","aliasList","fromClause","fromSource","atomjoinSource","joinSource","joinSourcePart","uniqueJoinSource","joinToken","lateralView","tableAlias","tableSample","tableSource","asOfClause","dbSchemaName","dbSchemaNameCreate","tableOrView","tableName","tableNameCreate","viewName","viewNameCreate","subQuerySource","partitioningSpec","partitionTableFunctionSource","partitionedTableFunction","whereClause","valuesClause","virtualTableSource","selectClause","selectTrfmClause","selectItem","trfmClause","selectExpression","selectExpressionList","window_clause","window_specification","window_frame","window_frame_boundary","groupByClause","rollupStandard","rollupOldSyntax","groupingSetExpression","havingClause","qualifyClause","expressionOrDefault","firstExpressionsWithAlias","expressions","expressionsInParenthesis","expressionsNotInParenthesis","orderByClause","clusterByClause","distributeByClause","sortByClause","function_","null_treatment","functionNameCreate","functionNameForDDL","functionNameForInvoke","castExpression","caseExpression","whenExpression","floorExpression","extractExpression","timeQualifiers","constant","intervalValue","intervalExpression","intervalQualifiers","expression","atomExpression","precedenceUnaryPrefixExpression","precedenceBitwiseXorExpression","precedenceStarExpression","precedencePlusExpression","precedenceConcatenateExpression","precedenceAmpersandExpression","precedenceBitwiseOrExpression","precedenceSimilarOperator","subQueryExpression","precedenceSimilarExpression","precedenceSimilarExpressionPart","precedenceSimilarExpressionAtom","precedenceSimilarExpressionIn","precedenceSimilarExpressionPartNot","precedenceDistinctOperator","precedenceEqualOperator","precedenceEqualExpression","isCondition","precedenceNotExpression","precedenceAndExpression","tableOrPartition","partitionSpec","partitionVal","partitionSelectorSpec","partitionSelectorVal","subQuerySelectorOperator","sysFuncNames","id_","functionIdentifier","principalIdentifier","nonReserved","sql11ReservedKeywordsUsedAsFunctionName","configPropertiesItem","resourcePlanDdlStatements","mappingTypes","rpAssign","rpAssignList","rpUnassign","activate","enable","disable","year","month","week","day","hour","minute","second","decimal","poolPath","triggerAtomExpression","triggerActionExpression","poolAssign","poolAssignList"],e._serializedATN=[4,1,438,4801,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,1,0,5,0,694,8,0,10,0,12,0,697,9,0,1,0,1,0,1,1,1,1,3,1,703,8,1,1,1,3,1,706,8,1,1,2,1,2,5,2,710,8,2,10,2,12,2,713,9,2,1,2,1,2,1,2,3,2,718,8,2,1,3,1,3,1,3,1,3,1,3,3,3,725,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,735,8,3,1,3,3,3,738,8,3,1,3,1,3,3,3,742,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,757,8,5,1,5,1,5,1,5,1,5,1,5,3,5,764,8,5,1,5,1,5,1,5,1,5,3,5,770,8,5,1,5,1,5,1,5,3,5,775,8,5,1,5,1,5,1,5,3,5,780,8,5,1,5,3,5,783,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,805,8,5,10,5,12,5,808,9,5,1,5,1,5,5,5,812,8,5,10,5,12,5,815,9,5,3,5,817,8,5,1,6,1,6,1,6,3,6,822,8,6,1,6,1,6,1,6,3,6,827,8,6,1,6,1,6,1,6,1,6,3,6,833,8,6,1,7,1,7,3,7,837,8,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,3,8,850,8,8,1,9,1,9,3,9,854,8,9,1,9,1,9,3,9,858,8,9,1,9,1,9,1,9,3,9,863,8,9,1,10,1,10,1,10,1,10,1,10,3,10,870,8,10,1,10,1,10,3,10,874,8,10,1,11,1,11,1,11,3,11,879,8,11,1,12,1,12,1,12,1,12,1,12,3,12,886,8,12,1,12,1,12,3,12,890,8,12,1,13,1,13,1,13,3,13,895,8,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,4,14,941,8,14,11,14,12,14,942,1,14,1,14,1,14,4,14,948,8,14,11,14,12,14,949,1,14,1,14,1,14,3,14,955,8,14,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,3,21,978,8,21,1,21,1,21,3,21,982,8,21,1,21,1,21,3,21,986,8,21,1,21,3,21,989,8,21,1,21,1,21,3,21,993,8,21,1,21,1,21,1,21,3,21,998,8,21,1,21,1,21,1,21,1,21,3,21,1004,8,21,1,21,1,21,3,21,1008,8,21,1,21,1,21,1,21,1,21,3,21,1014,8,21,3,21,1016,8,21,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,3,24,1027,8,24,1,24,1,24,3,24,1031,8,24,1,25,1,25,1,25,1,26,1,26,3,26,1038,8,26,1,26,1,26,1,26,1,26,1,26,1,26,3,26,1046,8,26,1,26,3,26,1049,8,26,1,27,1,27,1,27,3,27,1054,8,27,1,27,1,27,3,27,1058,8,27,1,27,3,27,1061,8,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,3,29,1071,8,29,1,29,1,29,1,29,1,29,1,29,1,29,3,29,1079,8,29,5,29,1081,8,29,10,29,12,29,1084,9,29,3,29,1086,8,29,1,30,1,30,3,30,1090,8,30,1,31,1,31,3,31,1094,8,31,1,31,3,31,1097,8,31,1,32,1,32,1,32,3,32,1102,8,32,1,32,1,32,1,32,1,32,3,32,1108,8,32,1,32,1,32,1,32,3,32,1113,8,32,1,32,1,32,1,32,3,32,1118,8,32,1,32,1,32,3,32,1122,8,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,1133,8,33,3,33,1135,8,33,1,33,1,33,3,33,1139,8,33,1,34,1,34,1,35,1,35,1,36,1,36,1,36,1,36,3,36,1149,8,36,1,36,1,36,3,36,1153,8,36,1,36,1,36,1,36,1,36,3,36,1159,8,36,1,36,3,36,1162,8,36,1,36,1,36,1,36,1,36,1,36,3,36,1169,8,36,1,36,1,36,1,36,3,36,1174,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1182,8,36,1,36,1,36,1,36,3,36,1187,8,36,1,36,1,36,3,36,1191,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1199,8,36,1,36,1,36,1,36,3,36,1204,8,36,1,36,1,36,1,36,1,36,3,36,1210,8,36,1,36,1,36,1,36,1,36,3,36,1216,8,36,1,36,3,36,1219,8,36,1,36,3,36,1222,8,36,1,36,3,36,1225,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1234,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1242,8,36,1,36,1,36,1,36,3,36,1247,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1255,8,36,1,36,1,36,1,36,1,36,1,36,3,36,1262,8,36,1,36,3,36,1265,8,36,1,36,3,36,1268,8,36,3,36,1270,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1281,8,36,3,36,1283,8,36,1,36,3,36,1286,8,36,1,36,3,36,1289,8,36,1,36,3,36,1292,8,36,1,36,3,36,1295,8,36,1,36,3,36,1298,8,36,3,36,1300,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1312,8,36,1,36,1,36,1,36,1,36,3,36,1318,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1326,8,36,3,36,1328,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,1338,8,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,3,45,1371,8,45,1,45,1,45,1,45,3,45,1376,8,45,1,46,1,46,3,46,1380,8,46,1,46,1,46,3,46,1384,8,46,1,46,1,46,1,46,1,47,1,47,3,47,1391,8,47,1,47,1,47,1,47,5,47,1396,8,47,10,47,12,47,1399,9,47,1,47,1,47,1,47,3,47,1404,8,47,1,48,1,48,3,48,1408,8,48,1,48,3,48,1411,8,48,1,48,1,48,1,48,5,48,1416,8,48,10,48,12,48,1419,9,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,3,52,1441,8,52,1,53,1,53,1,53,3,53,1446,8,53,1,53,1,53,3,53,1450,8,53,1,54,1,54,1,54,1,54,1,55,1,55,3,55,1458,8,55,1,56,1,56,1,56,1,57,1,57,1,57,1,57,3,57,1467,8,57,1,57,1,57,1,57,1,57,1,57,3,57,1474,8,57,1,58,1,58,1,58,1,58,3,58,1480,8,58,1,58,1,58,1,58,1,58,1,58,3,58,1487,8,58,1,58,3,58,1490,8,58,1,58,1,58,1,58,1,58,3,58,1496,8,58,1,59,1,59,1,59,5,59,1501,8,59,10,59,12,59,1504,9,59,1,60,1,60,1,60,1,60,1,60,3,60,1511,8,60,1,61,1,61,1,62,1,62,1,62,5,62,1518,8,62,10,62,12,62,1521,9,62,1,63,1,63,1,63,1,63,1,63,1,63,3,63,1529,8,63,1,64,1,64,1,64,1,64,1,64,3,64,1536,8,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,69,1,69,3,69,1556,8,69,1,69,1,69,1,69,1,69,1,69,3,69,1563,8,69,3,69,1565,8,69,1,70,1,70,1,70,5,70,1570,8,70,10,70,12,70,1573,9,70,1,71,1,71,1,71,1,72,1,72,1,73,1,73,3,73,1582,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,1590,8,73,1,74,1,74,3,74,1594,8,74,1,74,1,74,3,74,1598,8,74,1,74,1,74,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,3,76,1611,8,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,3,77,1620,8,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,3,78,1636,8,78,1,78,1,78,3,78,1640,8,78,1,78,1,78,1,78,3,78,1645,8,78,1,78,1,78,1,78,3,78,1650,8,78,1,78,3,78,1653,8,78,1,78,3,78,1656,8,78,1,78,3,78,1659,8,78,1,78,3,78,1662,8,78,1,78,3,78,1665,8,78,1,79,1,79,1,79,3,79,1670,8,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,3,80,1679,8,80,1,80,1,80,3,80,1683,8,80,1,80,1,80,1,80,1,80,1,80,3,80,1690,8,80,1,80,3,80,1693,8,80,1,80,3,80,1696,8,80,1,80,3,80,1699,8,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,3,81,1711,8,81,1,81,1,81,1,82,1,82,3,82,1717,8,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,3,87,1743,8,87,1,87,1,87,1,88,1,88,1,88,1,88,3,88,1751,8,88,1,88,1,88,3,88,1755,8,88,1,88,3,88,1758,8,88,1,88,3,88,1761,8,88,1,88,3,88,1764,8,88,1,88,3,88,1767,8,88,1,88,3,88,1770,8,88,1,88,3,88,1773,8,88,1,88,3,88,1776,8,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,3,89,1785,8,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,3,90,1795,8,90,1,90,3,90,1798,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,3,93,1818,8,93,1,94,1,94,1,94,1,94,3,94,1824,8,94,1,94,1,94,1,94,1,94,3,94,1830,8,94,1,94,3,94,1833,8,94,3,94,1835,8,94,1,95,1,95,1,95,1,95,1,96,3,96,1842,8,96,1,96,1,96,1,96,1,97,1,97,3,97,1849,8,97,1,98,1,98,1,98,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,3,100,1862,8,100,1,100,1,100,1,100,3,100,1867,8,100,1,100,1,100,1,101,1,101,1,101,5,101,1874,8,101,10,101,12,101,1877,9,101,1,102,1,102,1,102,5,102,1882,8,102,10,102,12,102,1885,9,102,1,103,1,103,1,103,1,103,1,103,3,103,1892,8,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,3,103,1905,8,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,3,104,1918,8,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,1934,8,105,1,106,1,106,3,106,1938,8,106,1,107,1,107,1,107,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,3,109,1953,8,109,1,110,1,110,1,110,1,110,3,110,1959,8,110,1,110,3,110,1962,8,110,1,110,3,110,1965,8,110,1,110,3,110,1968,8,110,1,110,3,110,1971,8,110,1,111,1,111,3,111,1975,8,111,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,5,114,1988,8,114,10,114,12,114,1991,9,114,3,114,1993,8,114,1,115,1,115,1,115,1,115,1,116,1,116,1,116,5,116,2002,8,116,10,116,12,116,2005,9,116,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,2018,8,118,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,2052,8,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,2060,8,123,1,123,1,123,1,123,3,123,2065,8,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,2073,8,123,1,123,1,123,1,123,3,123,2078,8,123,1,123,1,123,1,123,3,123,2083,8,123,1,124,1,124,1,124,5,124,2088,8,124,10,124,12,124,2091,9,124,1,125,1,125,1,125,5,125,2096,8,125,10,125,12,125,2099,9,125,1,126,1,126,1,126,5,126,2104,8,126,10,126,12,126,2107,9,126,1,127,1,127,1,127,5,127,2112,8,127,10,127,12,127,2115,9,127,1,128,1,128,3,128,2119,8,128,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,3,130,2129,8,130,5,130,2131,8,130,10,130,12,130,2134,9,130,1,131,1,131,1,131,5,131,2139,8,131,10,131,12,131,2142,9,131,1,132,1,132,1,132,1,132,1,133,1,133,3,133,2150,8,133,1,133,3,133,2153,8,133,1,134,1,134,3,134,2157,8,134,1,135,1,135,1,136,1,136,1,136,3,136,2164,8,136,1,137,1,137,1,138,1,138,3,138,2170,8,138,1,138,1,138,3,138,2174,8,138,1,139,1,139,1,139,1,139,3,139,2180,8,139,1,140,1,140,3,140,2184,8,140,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,3,143,2196,8,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,2205,8,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,3,144,2216,8,144,1,145,1,145,3,145,2220,8,145,1,146,1,146,1,146,5,146,2225,8,146,10,146,12,146,2228,9,146,1,147,1,147,1,147,1,147,1,148,1,148,1,148,5,148,2237,8,148,10,148,12,148,2240,9,148,1,149,1,149,1,150,1,150,1,150,1,151,1,151,3,151,2249,8,151,1,151,3,151,2252,8,151,1,152,1,152,1,152,5,152,2257,8,152,10,152,12,152,2260,9,152,1,153,1,153,1,153,3,153,2265,8,153,1,154,1,154,3,154,2269,8,154,1,154,3,154,2272,8,154,1,154,3,154,2275,8,154,1,155,1,155,1,155,1,155,3,155,2281,8,155,1,156,1,156,3,156,2285,8,156,1,157,1,157,3,157,2289,8,157,1,158,1,158,1,158,3,158,2294,8,158,1,158,1,158,3,158,2298,8,158,1,159,1,159,3,159,2302,8,159,1,160,1,160,3,160,2306,8,160,1,160,1,160,1,160,1,160,1,160,1,160,3,160,2314,8,160,1,161,1,161,3,161,2318,8,161,1,161,1,161,3,161,2322,8,161,1,162,1,162,3,162,2326,8,162,1,163,1,163,3,163,2330,8,163,1,163,1,163,1,163,1,163,1,163,1,163,3,163,2338,8,163,1,164,1,164,3,164,2342,8,164,1,164,1,164,3,164,2346,8,164,1,165,1,165,1,165,1,165,1,165,1,165,3,165,2354,8,165,1,166,1,166,1,166,3,166,2359,8,166,1,167,1,167,1,167,3,167,2364,8,167,1,168,1,168,3,168,2368,8,168,1,169,1,169,3,169,2372,8,169,1,170,1,170,1,170,1,170,1,170,3,170,2379,8,170,1,171,1,171,1,172,1,172,1,172,5,172,2386,8,172,10,172,12,172,2389,9,172,1,173,1,173,1,173,1,173,1,173,3,173,2396,8,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2408,8,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2426,8,174,1,174,3,174,2429,8,174,1,174,1,174,1,174,1,174,3,174,2435,8,174,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,3,179,2461,8,179,1,180,3,180,2464,8,180,1,180,1,180,1,181,1,181,3,181,2470,8,181,1,182,1,182,1,182,1,182,5,182,2476,8,182,10,182,12,182,2479,9,182,1,183,1,183,1,183,1,183,1,183,3,183,2486,8,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,5,184,2497,8,184,10,184,12,184,2500,9,184,1,185,1,185,1,185,1,185,3,185,2506,8,185,1,185,3,185,2509,8,185,1,185,3,185,2512,8,185,1,185,3,185,2515,8,185,1,185,3,185,2518,8,185,1,185,3,185,2521,8,185,1,185,3,185,2524,8,185,1,185,3,185,2527,8,185,1,185,3,185,2530,8,185,1,185,3,185,2533,8,185,1,185,3,185,2536,8,185,1,185,1,185,1,185,3,185,2541,8,185,1,185,3,185,2544,8,185,1,185,3,185,2547,8,185,1,185,3,185,2550,8,185,1,185,3,185,2553,8,185,1,185,3,185,2556,8,185,1,185,3,185,2559,8,185,1,185,3,185,2562,8,185,1,185,3,185,2565,8,185,1,185,3,185,2568,8,185,1,185,3,185,2571,8,185,3,185,2573,8,185,1,186,1,186,1,186,1,186,3,186,2579,8,186,1,187,1,187,3,187,2583,8,187,1,187,3,187,2586,8,187,1,187,3,187,2589,8,187,1,187,3,187,2592,8,187,1,187,3,187,2595,8,187,1,187,3,187,2598,8,187,1,187,1,187,1,187,1,187,1,187,3,187,2605,8,187,1,188,1,188,3,188,2609,8,188,1,188,3,188,2612,8,188,1,188,3,188,2615,8,188,1,188,3,188,2618,8,188,1,188,3,188,2621,8,188,1,188,3,188,2624,8,188,1,189,1,189,1,189,4,189,2629,8,189,11,189,12,189,2630,1,190,3,190,2634,8,190,1,190,1,190,1,191,1,191,1,191,1,191,3,191,2642,8,191,1,191,1,191,3,191,2646,8,191,1,191,1,191,1,191,1,191,1,191,3,191,2653,8,191,3,191,2655,8,191,1,192,3,192,2658,8,192,1,192,1,192,1,192,3,192,2663,8,192,1,192,3,192,2666,8,192,1,192,1,192,3,192,2670,8,192,1,193,1,193,1,193,3,193,2675,8,193,1,193,1,193,1,193,1,193,3,193,2681,8,193,1,194,1,194,1,194,1,194,1,195,1,195,3,195,2689,8,195,1,196,1,196,1,196,1,196,5,196,2695,8,196,10,196,12,196,2698,9,196,1,197,1,197,1,197,1,197,1,197,5,197,2705,8,197,10,197,12,197,2708,9,197,3,197,2710,8,197,1,197,1,197,3,197,2714,8,197,1,197,1,197,3,197,2718,8,197,1,197,1,197,1,197,3,197,2723,8,197,1,198,1,198,1,198,1,198,1,198,3,198,2730,8,198,1,199,1,199,5,199,2734,8,199,10,199,12,199,2737,9,199,1,199,3,199,2740,8,199,1,200,1,200,1,200,1,200,1,200,3,200,2747,8,200,1,200,1,200,1,200,3,200,2752,8,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,3,201,2765,8,201,1,202,1,202,1,202,1,202,1,202,1,202,3,202,2773,8,202,1,203,1,203,1,203,1,204,1,204,1,204,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,2792,8,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,2802,8,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,2815,8,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2825,8,207,1,207,1,207,3,207,2829,8,207,4,207,2831,8,207,11,207,12,207,2832,1,207,1,207,5,207,2837,8,207,10,207,12,207,2840,9,207,1,207,1,207,5,207,2844,8,207,10,207,12,207,2847,9,207,1,207,1,207,5,207,2851,8,207,10,207,12,207,2854,9,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2862,8,207,1,207,1,207,1,207,1,207,1,207,3,207,2869,8,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2889,8,207,1,207,3,207,2892,8,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2906,8,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,2921,8,208,1,208,1,208,3,208,2925,8,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,5,208,2943,8,208,10,208,12,208,2946,9,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,2957,8,208,1,208,1,208,1,208,1,208,3,208,2963,8,208,1,208,3,208,2966,8,208,1,208,3,208,2969,8,208,1,208,1,208,1,208,1,208,3,208,2975,8,208,1,208,1,208,1,208,1,208,3,208,2981,8,208,1,208,1,208,1,208,1,208,1,208,3,208,2988,8,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,2996,8,208,1,208,1,208,1,208,1,208,3,208,3002,8,208,1,208,1,208,3,208,3006,8,208,1,208,1,208,1,208,3,208,3011,8,208,1,208,3,208,3014,8,208,1,208,1,208,3,208,3018,8,208,1,208,1,208,1,208,1,208,1,208,3,208,3025,8,208,1,208,1,208,1,208,3,208,3030,8,208,1,208,1,208,1,208,3,208,3035,8,208,1,208,3,208,3038,8,208,3,208,3040,8,208,1,209,1,209,1,209,1,209,1,209,1,209,3,209,3048,8,209,1,209,1,209,1,209,1,209,1,209,1,209,3,209,3056,8,209,1,209,1,209,3,209,3060,8,209,4,209,3062,8,209,11,209,12,209,3063,1,209,1,209,3,209,3068,8,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,3,210,3085,8,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,3,211,3102,8,211,1,212,1,212,1,212,1,213,1,213,3,213,3109,8,213,1,213,1,213,1,213,1,213,1,213,5,213,3116,8,213,10,213,12,213,3119,9,213,1,213,1,213,3,213,3123,8,213,1,213,3,213,3126,8,213,1,213,3,213,3129,8,213,1,214,1,214,3,214,3133,8,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,3,215,3148,8,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,3162,8,216,1,216,3,216,3165,8,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,3,217,3176,8,217,1,218,1,218,3,218,3180,8,218,1,218,3,218,3183,8,218,1,218,3,218,3186,8,218,1,218,1,218,3,218,3190,8,218,1,218,1,218,1,218,3,218,3195,8,218,1,218,3,218,3198,8,218,1,218,3,218,3201,8,218,1,218,3,218,3204,8,218,1,218,3,218,3207,8,218,1,218,3,218,3210,8,218,1,218,1,218,1,218,1,218,3,218,3216,8,218,1,218,3,218,3219,8,218,1,218,3,218,3222,8,218,1,218,3,218,3225,8,218,1,218,3,218,3228,8,218,1,218,3,218,3231,8,218,1,218,3,218,3234,8,218,1,218,3,218,3237,8,218,1,218,3,218,3240,8,218,1,218,3,218,3243,8,218,1,218,1,218,3,218,3247,8,218,3,218,3249,8,218,1,218,1,218,1,218,1,218,3,218,3255,8,218,1,218,1,218,1,218,3,218,3260,8,218,1,218,3,218,3263,8,218,1,218,3,218,3266,8,218,1,218,3,218,3269,8,218,1,218,3,218,3272,8,218,1,218,1,218,1,218,1,218,3,218,3278,8,218,1,218,3,218,3281,8,218,1,218,3,218,3284,8,218,1,218,3,218,3287,8,218,1,218,3,218,3290,8,218,1,218,3,218,3293,8,218,1,218,3,218,3296,8,218,1,218,3,218,3299,8,218,1,218,3,218,3302,8,218,1,218,3,218,3305,8,218,1,218,1,218,3,218,3309,8,218,3,218,3311,8,218,3,218,3313,8,218,1,219,1,219,1,219,3,219,3318,8,219,1,219,1,219,1,219,3,219,3323,8,219,1,219,1,219,3,219,3327,8,219,1,219,1,219,3,219,3331,8,219,1,219,1,219,1,219,3,219,3336,8,219,1,220,1,220,1,220,3,220,3341,8,220,1,220,1,220,1,221,1,221,1,221,5,221,3348,8,221,10,221,12,221,3351,9,221,1,221,1,221,1,222,1,222,1,222,5,222,3358,8,222,10,222,12,222,3361,9,222,1,223,1,223,1,223,5,223,3366,8,223,10,223,12,223,3369,9,223,1,224,1,224,1,224,1,225,1,225,1,225,1,225,4,225,3378,8,225,11,225,12,225,3379,1,225,3,225,3383,8,225,1,226,1,226,5,226,3387,8,226,10,226,12,226,3390,9,226,1,226,1,226,5,226,3394,8,226,10,226,12,226,3397,9,226,1,226,1,226,5,226,3401,8,226,10,226,12,226,3404,9,226,1,226,1,226,5,226,3408,8,226,10,226,12,226,3411,9,226,1,226,1,226,1,226,1,226,3,226,3417,8,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,3,227,3426,8,227,5,227,3428,8,227,10,227,12,227,3431,9,227,1,228,1,228,1,228,1,228,3,228,3437,8,228,1,228,5,228,3440,8,228,10,228,12,228,3443,9,228,1,229,3,229,3446,8,229,1,229,1,229,3,229,3450,8,229,1,229,3,229,3453,8,229,1,229,3,229,3456,8,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,3,230,3467,8,230,1,230,1,230,3,230,3471,8,230,3,230,3473,8,230,1,230,3,230,3476,8,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,5,231,3487,8,231,10,231,12,231,3490,9,231,3,231,3492,8,231,1,231,3,231,3495,8,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,5,231,3505,8,231,10,231,12,231,3508,9,231,3,231,3510,8,231,1,231,1,231,1,231,1,231,1,231,3,231,3517,8,231,1,231,1,231,1,231,1,231,1,231,5,231,3524,8,231,10,231,12,231,3527,9,231,1,231,1,231,3,231,3531,8,231,3,231,3533,8,231,3,231,3535,8,231,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,5,233,3550,8,233,10,233,12,233,3553,9,233,3,233,3555,8,233,1,233,1,233,1,233,1,233,1,233,1,233,3,233,3563,8,233,1,233,3,233,3566,8,233,1,234,1,234,3,234,3570,8,234,1,234,3,234,3573,8,234,1,234,3,234,3576,8,234,1,234,3,234,3579,8,234,1,234,3,234,3582,8,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,3,235,3594,8,235,1,236,1,236,1,237,1,237,1,238,1,238,3,238,3602,8,238,1,239,1,239,1,239,1,239,1,239,3,239,3609,8,239,1,239,3,239,3612,8,239,1,240,1,240,1,240,1,240,1,240,3,240,3619,8,240,1,240,3,240,3622,8,240,1,241,1,241,1,241,3,241,3627,8,241,1,241,1,241,1,242,1,242,1,242,3,242,3634,8,242,1,242,1,242,1,243,1,243,1,243,1,243,3,243,3642,8,243,1,243,1,243,1,244,1,244,1,244,1,244,3,244,3650,8,244,1,244,1,244,1,244,3,244,3655,8,244,1,244,1,244,3,244,3659,8,244,1,245,1,245,1,245,3,245,3664,8,245,1,246,1,246,1,246,1,246,1,246,3,246,3671,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,5,246,3683,8,246,10,246,12,246,3686,9,246,3,246,3688,8,246,1,246,1,246,3,246,3692,8,246,1,247,1,247,1,247,1,248,1,248,1,248,1,248,5,248,3701,8,248,10,248,12,248,3704,9,248,1,248,1,248,1,248,1,248,1,248,5,248,3711,8,248,10,248,12,248,3714,9,248,3,248,3716,8,248,1,249,1,249,1,249,1,249,1,249,3,249,3723,8,249,1,249,1,249,1,249,1,249,1,249,5,249,3730,8,249,10,249,12,249,3733,9,249,3,249,3735,8,249,1,249,1,249,1,250,1,250,3,250,3741,8,250,1,250,3,250,3744,8,250,1,250,1,250,1,250,5,250,3749,8,250,10,250,12,250,3752,9,250,1,250,1,250,3,250,3756,8,250,1,250,3,250,3759,8,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,3,251,3772,8,251,1,251,1,251,1,251,1,251,3,251,3778,8,251,3,251,3780,8,251,1,251,1,251,1,251,1,252,1,252,1,252,3,252,3788,8,252,1,252,3,252,3791,8,252,1,252,1,252,1,252,1,252,1,252,1,252,5,252,3799,8,252,10,252,12,252,3802,9,252,1,252,1,252,3,252,3806,8,252,3,252,3808,8,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,3,253,3820,8,253,1,253,1,253,1,253,1,253,3,253,3826,8,253,3,253,3828,8,253,1,253,1,253,1,253,1,254,1,254,3,254,3835,8,254,1,255,1,255,1,255,5,255,3840,8,255,10,255,12,255,3843,9,255,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,5,256,3854,8,256,10,256,12,256,3857,9,256,1,257,1,257,1,257,3,257,3862,8,257,1,257,3,257,3865,8,257,1,257,3,257,3868,8,257,1,257,3,257,3871,8,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,3,258,3880,8,258,1,258,1,258,1,258,1,258,1,258,3,258,3887,8,258,1,259,1,259,1,259,1,259,3,259,3893,8,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,3,260,3902,8,260,1,261,1,261,3,261,3906,8,261,1,261,1,261,1,261,1,261,5,261,3912,8,261,10,261,12,261,3915,9,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,3,262,3924,8,262,1,262,1,262,1,262,1,262,1,262,1,262,5,262,3932,8,262,10,262,12,262,3935,9,262,1,262,1,262,3,262,3939,8,262,1,263,1,263,3,263,3943,8,263,1,263,1,263,5,263,3947,8,263,10,263,12,263,3950,9,263,1,263,1,263,3,263,3954,8,263,1,264,1,264,1,264,1,265,1,265,1,265,1,266,1,266,3,266,3964,8,266,1,267,1,267,3,267,3968,8,267,1,267,3,267,3971,8,267,1,267,1,267,1,267,3,267,3976,8,267,1,267,3,267,3979,8,267,5,267,3981,8,267,10,267,12,267,3984,9,267,1,268,1,268,3,268,3988,8,268,1,269,1,269,1,269,1,269,1,270,1,270,1,270,4,270,3997,8,270,11,270,12,270,3998,3,270,4001,8,270,1,271,1,271,1,271,1,271,1,271,5,271,4008,8,271,10,271,12,271,4011,9,271,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,5,274,4027,8,274,10,274,12,274,4030,9,274,1,274,1,274,1,274,1,274,1,274,5,274,4037,8,274,10,274,12,274,4040,9,274,3,274,4042,8,274,1,275,1,275,1,275,1,275,1,275,3,275,4049,8,275,1,275,3,275,4052,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,4062,8,275,1,275,1,275,1,275,5,275,4067,8,275,10,275,12,275,4070,9,275,3,275,4072,8,275,3,275,4074,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,4085,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,4095,8,275,3,275,4097,8,275,1,276,1,276,1,276,1,277,1,277,1,278,1,278,3,278,4106,8,278,1,279,1,279,1,279,3,279,4111,8,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,3,280,4120,8,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,4,281,4131,8,281,11,281,12,281,4132,1,281,1,281,3,281,4137,8,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,4,282,4147,8,282,11,282,12,282,4148,1,282,1,282,3,282,4153,8,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,3,283,4162,8,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,3,285,4181,8,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,5,286,4197,8,286,10,286,12,286,4200,9,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,4211,8,286,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,3,288,4226,8,288,1,288,1,288,3,288,4230,8,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,3,289,4246,8,289,1,290,1,290,1,290,5,290,4251,8,290,10,290,12,290,4254,9,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,3,291,4267,8,291,1,292,5,292,4270,8,292,10,292,12,292,4273,9,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,5,292,4282,8,292,10,292,12,292,4285,9,292,1,293,1,293,1,293,5,293,4290,8,293,10,293,12,293,4293,9,293,1,294,1,294,1,294,5,294,4298,8,294,10,294,12,294,4301,9,294,1,295,1,295,1,295,5,295,4306,8,295,10,295,12,295,4309,9,295,1,296,1,296,1,296,5,296,4314,8,296,10,296,12,296,4317,9,296,1,297,1,297,1,297,5,297,4322,8,297,10,297,12,297,4325,9,297,1,298,1,298,1,298,5,298,4330,8,298,10,298,12,298,4333,9,298,1,299,1,299,1,300,1,300,1,300,1,300,1,301,1,301,3,301,4343,8,301,1,301,1,301,3,301,4347,8,301,1,302,1,302,1,302,1,302,1,302,1,302,3,302,4355,8,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,3,303,4371,8,303,1,304,1,304,3,304,4375,8,304,1,305,1,305,1,305,3,305,4380,8,305,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,3,307,4393,8,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,5,308,4402,8,308,10,308,12,308,4405,9,308,1,309,1,309,1,309,1,309,1,309,1,309,3,309,4413,8,309,1,310,5,310,4416,8,310,10,310,12,310,4419,9,310,1,310,1,310,1,310,3,310,4424,8,310,1,311,1,311,1,311,5,311,4429,8,311,10,311,12,311,4432,9,311,1,312,1,312,3,312,4436,8,312,1,313,1,313,1,313,1,313,1,313,5,313,4443,8,313,10,313,12,313,4446,9,313,1,313,1,313,1,314,1,314,1,314,3,314,4453,8,314,1,315,1,315,1,315,1,315,5,315,4459,8,315,10,315,12,315,4462,9,315,1,315,1,315,1,316,1,316,1,316,3,316,4469,8,316,1,316,1,316,1,317,1,317,1,318,1,318,1,319,1,319,3,319,4479,8,319,1,320,1,320,1,320,3,320,4484,8,320,1,321,1,321,1,322,1,322,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,3,324,4543,8,324,1,325,1,325,1,325,1,325,3,325,4549,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4558,8,325,3,325,4560,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,5,325,4574,8,325,10,325,12,325,4577,9,325,1,325,1,325,1,325,1,325,1,325,3,325,4584,8,325,1,325,1,325,3,325,4588,8,325,3,325,4590,8,325,1,325,1,325,1,325,1,325,3,325,4596,8,325,1,325,1,325,1,325,3,325,4601,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4618,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4644,8,325,1,325,1,325,1,325,3,325,4649,8,325,3,325,4651,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4679,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4696,8,325,1,325,1,325,1,325,3,325,4701,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4710,8,325,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,3,327,4721,8,327,1,328,1,328,1,328,5,328,4726,8,328,10,328,12,328,4729,9,328,1,329,1,329,1,329,3,329,4734,8,329,1,330,1,330,1,330,3,330,4739,8,330,1,331,1,331,1,332,1,332,1,333,1,333,1,334,1,334,1,335,1,335,1,336,1,336,1,337,1,337,1,338,1,338,1,339,1,339,1,340,1,340,1,341,1,341,1,341,5,341,4764,8,341,10,341,12,341,4767,9,341,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,3,343,4777,8,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,3,344,4791,8,344,1,345,1,345,1,345,5,345,4796,8,345,10,345,12,345,4799,9,345,1,345,1,813,0,346,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,0,61,2,0,57,57,172,172,4,0,91,91,121,121,226,226,325,325,1,0,395,396,2,0,50,50,346,346,2,0,34,34,282,282,1,0,89,90,2,0,139,139,154,154,2,0,67,67,295,295,2,0,68,68,296,296,1,0,155,156,2,0,114,114,307,307,11,0,7,7,9,9,58,58,86,86,101,101,155,155,161,161,190,190,299,299,309,309,365,365,3,0,4,4,101,101,326,326,3,0,15,15,128,128,170,170,1,0,141,142,2,0,30,30,351,351,2,0,217,217,373,373,2,0,214,214,272,272,2,0,18,18,89,89,2,0,130,130,177,177,2,0,39,39,376,376,4,0,112,112,164,164,205,205,356,356,2,0,7,7,96,96,2,0,125,125,350,350,2,0,225,225,391,391,2,0,42,42,315,315,2,0,189,189,196,196,2,0,426,426,431,431,2,0,140,140,285,285,3,0,12,12,231,231,300,300,2,0,241,241,292,292,2,0,198,198,268,268,2,0,260,260,292,292,2,0,354,354,431,431,2,0,133,133,247,247,2,0,152,152,281,281,3,0,413,414,418,418,420,420,2,0,412,412,415,417,1,0,413,414,4,0,184,184,270,270,286,286,408,411,2,0,7,7,13,13,3,0,7,7,13,13,313,313,3,0,184,184,270,270,286,286,4,0,125,125,219,219,350,350,360,360,2,0,405,405,407,411,24,0,11,11,16,16,25,28,35,35,100,100,131,132,151,151,154,154,162,163,184,184,198,198,216,216,228,228,264,264,270,270,286,286,311,311,323,324,340,340,357,357,383,383,405,417,419,421,423,423,85,0,1,6,8,8,10,10,15,15,18,20,22,24,30,31,33,34,37,38,40,44,46,47,49,50,52,53,56,57,59,59,66,66,68,68,72,77,79,79,83,85,87,89,91,95,97,99,103,104,106,107,109,111,114,116,118,121,127,130,137,138,142,142,147,150,152,152,155,156,158,160,168,170,172,177,182,183,185,187,189,193,195,197,199,202,204,204,206,209,211,212,214,215,217,218,220,220,222,223,226,227,232,233,235,236,238,240,243,246,252,252,254,255,257,259,261,262,265,267,271,282,284,284,287,288,293,298,300,303,305,310,312,312,314,317,319,325,327,328,330,330,332,334,339,340,342,342,344,346,349,349,352,353,355,355,357,357,360,364,366,368,371,373,375,375,377,382,385,385,388,394,13,0,16,16,26,28,63,64,71,71,100,100,131,131,145,145,151,151,162,163,198,198,264,264,311,311,337,337,2,0,4,4,101,101,2,0,9,9,58,58,3,0,14,14,144,144,369,369,1,0,106,107,1,0,94,95,1,0,392,393,1,0,208,209,1,0,381,382,1,0,73,74,1,0,148,149,1,0,206,207,1,0,297,298,1,0,80,82,5392,0,695,1,0,0,0,2,702,1,0,0,0,4,707,1,0,0,0,6,741,1,0,0,0,8,743,1,0,0,0,10,816,1,0,0,0,12,818,1,0,0,0,14,834,1,0,0,0,16,843,1,0,0,0,18,851,1,0,0,0,20,864,1,0,0,0,22,875,1,0,0,0,24,880,1,0,0,0,26,891,1,0,0,0,28,954,1,0,0,0,30,956,1,0,0,0,32,959,1,0,0,0,34,963,1,0,0,0,36,965,1,0,0,0,38,968,1,0,0,0,40,971,1,0,0,0,42,1015,1,0,0,0,44,1017,1,0,0,0,46,1020,1,0,0,0,48,1023,1,0,0,0,50,1032,1,0,0,0,52,1035,1,0,0,0,54,1050,1,0,0,0,56,1062,1,0,0,0,58,1067,1,0,0,0,60,1087,1,0,0,0,62,1091,1,0,0,0,64,1098,1,0,0,0,66,1123,1,0,0,0,68,1140,1,0,0,0,70,1142,1,0,0,0,72,1327,1,0,0,0,74,1337,1,0,0,0,76,1339,1,0,0,0,78,1344,1,0,0,0,80,1349,1,0,0,0,82,1351,1,0,0,0,84,1355,1,0,0,0,86,1359,1,0,0,0,88,1363,1,0,0,0,90,1367,1,0,0,0,92,1377,1,0,0,0,94,1388,1,0,0,0,96,1405,1,0,0,0,98,1423,1,0,0,0,100,1428,1,0,0,0,102,1431,1,0,0,0,104,1435,1,0,0,0,106,1442,1,0,0,0,108,1451,1,0,0,0,110,1457,1,0,0,0,112,1459,1,0,0,0,114,1473,1,0,0,0,116,1495,1,0,0,0,118,1497,1,0,0,0,120,1505,1,0,0,0,122,1512,1,0,0,0,124,1514,1,0,0,0,126,1528,1,0,0,0,128,1535,1,0,0,0,130,1537,1,0,0,0,132,1541,1,0,0,0,134,1545,1,0,0,0,136,1549,1,0,0,0,138,1553,1,0,0,0,140,1566,1,0,0,0,142,1574,1,0,0,0,144,1577,1,0,0,0,146,1579,1,0,0,0,148,1591,1,0,0,0,150,1601,1,0,0,0,152,1604,1,0,0,0,154,1615,1,0,0,0,156,1623,1,0,0,0,158,1666,1,0,0,0,160,1675,1,0,0,0,162,1703,1,0,0,0,164,1716,1,0,0,0,166,1718,1,0,0,0,168,1724,1,0,0,0,170,1727,1,0,0,0,172,1733,1,0,0,0,174,1739,1,0,0,0,176,1746,1,0,0,0,178,1780,1,0,0,0,180,1788,1,0,0,0,182,1801,1,0,0,0,184,1806,1,0,0,0,186,1817,1,0,0,0,188,1834,1,0,0,0,190,1836,1,0,0,0,192,1841,1,0,0,0,194,1848,1,0,0,0,196,1850,1,0,0,0,198,1853,1,0,0,0,200,1856,1,0,0,0,202,1870,1,0,0,0,204,1878,1,0,0,0,206,1904,1,0,0,0,208,1906,1,0,0,0,210,1923,1,0,0,0,212,1937,1,0,0,0,214,1939,1,0,0,0,216,1942,1,0,0,0,218,1945,1,0,0,0,220,1954,1,0,0,0,222,1974,1,0,0,0,224,1976,1,0,0,0,226,1979,1,0,0,0,228,1992,1,0,0,0,230,1994,1,0,0,0,232,1998,1,0,0,0,234,2006,1,0,0,0,236,2010,1,0,0,0,238,2019,1,0,0,0,240,2025,1,0,0,0,242,2031,1,0,0,0,244,2036,1,0,0,0,246,2082,1,0,0,0,248,2084,1,0,0,0,250,2092,1,0,0,0,252,2100,1,0,0,0,254,2108,1,0,0,0,256,2118,1,0,0,0,258,2120,1,0,0,0,260,2122,1,0,0,0,262,2135,1,0,0,0,264,2143,1,0,0,0,266,2152,1,0,0,0,268,2156,1,0,0,0,270,2158,1,0,0,0,272,2163,1,0,0,0,274,2165,1,0,0,0,276,2169,1,0,0,0,278,2175,1,0,0,0,280,2183,1,0,0,0,282,2185,1,0,0,0,284,2188,1,0,0,0,286,2195,1,0,0,0,288,2206,1,0,0,0,290,2219,1,0,0,0,292,2221,1,0,0,0,294,2229,1,0,0,0,296,2233,1,0,0,0,298,2241,1,0,0,0,300,2243,1,0,0,0,302,2246,1,0,0,0,304,2253,1,0,0,0,306,2261,1,0,0,0,308,2268,1,0,0,0,310,2276,1,0,0,0,312,2284,1,0,0,0,314,2288,1,0,0,0,316,2290,1,0,0,0,318,2301,1,0,0,0,320,2305,1,0,0,0,322,2317,1,0,0,0,324,2325,1,0,0,0,326,2329,1,0,0,0,328,2341,1,0,0,0,330,2353,1,0,0,0,332,2358,1,0,0,0,334,2363,1,0,0,0,336,2365,1,0,0,0,338,2369,1,0,0,0,340,2373,1,0,0,0,342,2380,1,0,0,0,344,2382,1,0,0,0,346,2395,1,0,0,0,348,2434,1,0,0,0,350,2436,1,0,0,0,352,2441,1,0,0,0,354,2446,1,0,0,0,356,2453,1,0,0,0,358,2458,1,0,0,0,360,2463,1,0,0,0,362,2469,1,0,0,0,364,2471,1,0,0,0,366,2480,1,0,0,0,368,2492,1,0,0,0,370,2572,1,0,0,0,372,2578,1,0,0,0,374,2604,1,0,0,0,376,2606,1,0,0,0,378,2628,1,0,0,0,380,2633,1,0,0,0,382,2637,1,0,0,0,384,2669,1,0,0,0,386,2671,1,0,0,0,388,2682,1,0,0,0,390,2688,1,0,0,0,392,2690,1,0,0,0,394,2722,1,0,0,0,396,2729,1,0,0,0,398,2735,1,0,0,0,400,2741,1,0,0,0,402,2756,1,0,0,0,404,2766,1,0,0,0,406,2774,1,0,0,0,408,2777,1,0,0,0,410,2780,1,0,0,0,412,2783,1,0,0,0,414,2905,1,0,0,0,416,3039,1,0,0,0,418,3067,1,0,0,0,420,3084,1,0,0,0,422,3101,1,0,0,0,424,3103,1,0,0,0,426,3106,1,0,0,0,428,3132,1,0,0,0,430,3137,1,0,0,0,432,3164,1,0,0,0,434,3175,1,0,0,0,436,3312,1,0,0,0,438,3314,1,0,0,0,440,3337,1,0,0,0,442,3349,1,0,0,0,444,3354,1,0,0,0,446,3362,1,0,0,0,448,3370,1,0,0,0,450,3382,1,0,0,0,452,3416,1,0,0,0,454,3418,1,0,0,0,456,3436,1,0,0,0,458,3445,1,0,0,0,460,3475,1,0,0,0,462,3534,1,0,0,0,464,3536,1,0,0,0,466,3565,1,0,0,0,468,3567,1,0,0,0,470,3583,1,0,0,0,472,3595,1,0,0,0,474,3597,1,0,0,0,476,3601,1,0,0,0,478,3611,1,0,0,0,480,3621,1,0,0,0,482,3626,1,0,0,0,484,3633,1,0,0,0,486,3637,1,0,0,0,488,3658,1,0,0,0,490,3663,1,0,0,0,492,3665,1,0,0,0,494,3693,1,0,0,0,496,3696,1,0,0,0,498,3717,1,0,0,0,500,3758,1,0,0,0,502,3760,1,0,0,0,504,3807,1,0,0,0,506,3809,1,0,0,0,508,3834,1,0,0,0,510,3836,1,0,0,0,512,3844,1,0,0,0,514,3870,1,0,0,0,516,3872,1,0,0,0,518,3892,1,0,0,0,520,3894,1,0,0,0,522,3905,1,0,0,0,524,3918,1,0,0,0,526,3953,1,0,0,0,528,3955,1,0,0,0,530,3958,1,0,0,0,532,3963,1,0,0,0,534,3965,1,0,0,0,536,3987,1,0,0,0,538,3989,1,0,0,0,540,3993,1,0,0,0,542,4002,1,0,0,0,544,4012,1,0,0,0,546,4016,1,0,0,0,548,4020,1,0,0,0,550,4096,1,0,0,0,552,4098,1,0,0,0,554,4101,1,0,0,0,556,4105,1,0,0,0,558,4110,1,0,0,0,560,4112,1,0,0,0,562,4123,1,0,0,0,564,4140,1,0,0,0,566,4156,1,0,0,0,568,4165,1,0,0,0,570,4180,1,0,0,0,572,4210,1,0,0,0,574,4212,1,0,0,0,576,4229,1,0,0,0,578,4245,1,0,0,0,580,4247,1,0,0,0,582,4266,1,0,0,0,584,4271,1,0,0,0,586,4286,1,0,0,0,588,4294,1,0,0,0,590,4302,1,0,0,0,592,4310,1,0,0,0,594,4318,1,0,0,0,596,4326,1,0,0,0,598,4334,1,0,0,0,600,4336,1,0,0,0,602,4346,1,0,0,0,604,4354,1,0,0,0,606,4370,1,0,0,0,608,4374,1,0,0,0,610,4379,1,0,0,0,612,4381,1,0,0,0,614,4392,1,0,0,0,616,4394,1,0,0,0,618,4412,1,0,0,0,620,4417,1,0,0,0,622,4425,1,0,0,0,624,4433,1,0,0,0,626,4437,1,0,0,0,628,4449,1,0,0,0,630,4454,1,0,0,0,632,4465,1,0,0,0,634,4472,1,0,0,0,636,4474,1,0,0,0,638,4478,1,0,0,0,640,4480,1,0,0,0,642,4485,1,0,0,0,644,4487,1,0,0,0,646,4489,1,0,0,0,648,4542,1,0,0,0,650,4709,1,0,0,0,652,4711,1,0,0,0,654,4720,1,0,0,0,656,4722,1,0,0,0,658,4733,1,0,0,0,660,4735,1,0,0,0,662,4740,1,0,0,0,664,4742,1,0,0,0,666,4744,1,0,0,0,668,4746,1,0,0,0,670,4748,1,0,0,0,672,4750,1,0,0,0,674,4752,1,0,0,0,676,4754,1,0,0,0,678,4756,1,0,0,0,680,4758,1,0,0,0,682,4760,1,0,0,0,684,4768,1,0,0,0,686,4776,1,0,0,0,688,4790,1,0,0,0,690,4792,1,0,0,0,692,694,3,2,1,0,693,692,1,0,0,0,694,697,1,0,0,0,695,693,1,0,0,0,695,696,1,0,0,0,696,698,1,0,0,0,697,695,1,0,0,0,698,699,5,0,0,1,699,1,1,0,0,0,700,703,3,4,2,0,701,703,3,10,5,0,702,700,1,0,0,0,702,701,1,0,0,0,703,705,1,0,0,0,704,706,5,398,0,0,705,704,1,0,0,0,705,706,1,0,0,0,706,3,1,0,0,0,707,717,5,119,0,0,708,710,3,6,3,0,709,708,1,0,0,0,710,713,1,0,0,0,711,709,1,0,0,0,711,712,1,0,0,0,712,714,1,0,0,0,713,711,1,0,0,0,714,718,3,10,5,0,715,716,5,284,0,0,716,718,3,360,180,0,717,711,1,0,0,0,717,715,1,0,0,0,718,5,1,0,0,0,719,742,5,122,0,0,720,742,5,138,0,0,721,742,5,88,0,0,722,724,5,37,0,0,723,725,7,0,0,0,724,723,1,0,0,0,724,725,1,0,0,0,725,742,1,0,0,0,726,742,5,192,0,0,727,742,5,21,0,0,728,742,5,10,0,0,729,742,5,275,0,0,730,742,5,191,0,0,731,742,5,19,0,0,732,734,5,377,0,0,733,735,5,225,0,0,734,733,1,0,0,0,734,735,1,0,0,0,735,737,1,0,0,0,736,738,3,8,4,0,737,736,1,0,0,0,737,738,1,0,0,0,738,742,1,0,0,0,739,742,5,79,0,0,740,742,5,78,0,0,741,719,1,0,0,0,741,720,1,0,0,0,741,721,1,0,0,0,741,722,1,0,0,0,741,726,1,0,0,0,741,727,1,0,0,0,741,728,1,0,0,0,741,729,1,0,0,0,741,730,1,0,0,0,741,731,1,0,0,0,741,732,1,0,0,0,741,739,1,0,0,0,741,740,1,0,0,0,742,7,1,0,0,0,743,744,7,1,0,0,744,9,1,0,0,0,745,817,3,360,180,0,746,817,3,12,6,0,747,817,3,16,8,0,748,817,3,18,9,0,749,817,3,20,10,0,750,817,3,24,12,0,751,752,5,277,0,0,752,753,5,320,0,0,753,756,3,472,236,0,754,755,5,387,0,0,755,757,3,230,115,0,756,754,1,0,0,0,756,757,1,0,0,0,757,817,1,0,0,0,758,817,3,28,14,0,759,760,5,86,0,0,760,761,5,139,0,0,761,763,3,478,239,0,762,764,3,494,247,0,763,762,1,0,0,0,763,764,1,0,0,0,764,817,1,0,0,0,765,766,5,365,0,0,766,767,3,478,239,0,767,769,3,392,196,0,768,770,3,494,247,0,769,768,1,0,0,0,769,770,1,0,0,0,770,817,1,0,0,0,771,817,3,394,197,0,772,774,5,203,0,0,773,775,5,436,0,0,774,773,1,0,0,0,774,775,1,0,0,0,775,776,1,0,0,0,776,777,5,166,0,0,777,782,3,478,239,0,778,780,5,17,0,0,779,778,1,0,0,0,779,780,1,0,0,0,780,781,1,0,0,0,781,783,3,638,319,0,782,779,1,0,0,0,782,783,1,0,0,0,783,784,1,0,0,0,784,785,5,370,0,0,785,786,3,456,228,0,786,787,5,224,0,0,787,788,3,580,290,0,788,789,3,398,199,0,789,817,1,0,0,0,790,791,5,249,0,0,791,792,3,638,319,0,792,793,5,139,0,0,793,794,3,360,180,0,794,817,1,0,0,0,795,796,5,115,0,0,796,797,3,638,319,0,797,798,5,370,0,0,798,799,3,296,148,0,799,817,1,0,0,0,800,801,5,304,0,0,801,806,3,648,324,0,802,803,7,2,0,0,803,805,3,648,324,0,804,802,1,0,0,0,805,808,1,0,0,0,806,804,1,0,0,0,806,807,1,0,0,0,807,809,1,0,0,0,808,806,1,0,0,0,809,813,5,405,0,0,810,812,9,0,0,0,811,810,1,0,0,0,812,815,1,0,0,0,813,814,1,0,0,0,813,811,1,0,0,0,814,817,1,0,0,0,815,813,1,0,0,0,816,745,1,0,0,0,816,746,1,0,0,0,816,747,1,0,0,0,816,748,1,0,0,0,816,749,1,0,0,0,816,750,1,0,0,0,816,751,1,0,0,0,816,758,1,0,0,0,816,759,1,0,0,0,816,765,1,0,0,0,816,771,1,0,0,0,816,772,1,0,0,0,816,790,1,0,0,0,816,795,1,0,0,0,816,800,1,0,0,0,817,11,1,0,0,0,818,819,5,187,0,0,819,821,5,66,0,0,820,822,5,188,0,0,821,820,1,0,0,0,821,822,1,0,0,0,822,823,1,0,0,0,823,824,5,158,0,0,824,826,5,426,0,0,825,827,5,235,0,0,826,825,1,0,0,0,826,827,1,0,0,0,827,828,1,0,0,0,828,829,5,166,0,0,829,830,5,329,0,0,830,832,3,624,312,0,831,833,3,56,28,0,832,831,1,0,0,0,832,833,1,0,0,0,833,13,1,0,0,0,834,836,5,134,0,0,835,837,5,204,0,0,836,835,1,0,0,0,836,837,1,0,0,0,837,838,1,0,0,0,838,839,5,279,0,0,839,840,5,399,0,0,840,841,5,426,0,0,841,842,5,400,0,0,842,15,1,0,0,0,843,844,5,120,0,0,844,845,5,329,0,0,845,846,3,624,312,0,846,847,5,341,0,0,847,849,5,426,0,0,848,850,3,14,7,0,849,848,1,0,0,0,849,850,1,0,0,0,850,17,1,0,0,0,851,857,5,153,0,0,852,854,5,123,0,0,853,852,1,0,0,0,853,854,1,0,0,0,854,855,1,0,0,0,855,856,5,329,0,0,856,858,3,624,312,0,857,853,1,0,0,0,857,858,1,0,0,0,858,859,1,0,0,0,859,860,5,139,0,0,860,862,5,426,0,0,861,863,3,424,212,0,862,861,1,0,0,0,862,863,1,0,0,0,863,19,1,0,0,0,864,865,5,277,0,0,865,866,5,103,0,0,866,869,3,22,11,0,867,868,5,278,0,0,868,870,3,22,11,0,869,867,1,0,0,0,869,870,1,0,0,0,870,873,1,0,0,0,871,872,5,387,0,0,872,874,3,230,115,0,873,871,1,0,0,0,873,874,1,0,0,0,874,21,1,0,0,0,875,878,3,472,236,0,876,877,5,395,0,0,877,879,3,26,13,0,878,876,1,0,0,0,878,879,1,0,0,0,879,23,1,0,0,0,880,881,5,277,0,0,881,882,5,187,0,0,882,885,3,22,11,0,883,884,5,166,0,0,884,886,3,472,236,0,885,883,1,0,0,0,885,886,1,0,0,0,886,889,1,0,0,0,887,888,5,387,0,0,888,890,3,230,115,0,889,887,1,0,0,0,889,890,1,0,0,0,890,25,1,0,0,0,891,894,5,426,0,0,892,893,5,395,0,0,893,895,5,426,0,0,894,892,1,0,0,0,894,895,1,0,0,0,895,27,1,0,0,0,896,955,3,42,21,0,897,955,3,46,23,0,898,955,3,48,24,0,899,955,3,436,218,0,900,955,3,54,27,0,901,955,3,52,26,0,902,955,3,412,206,0,903,955,3,64,32,0,904,955,3,72,36,0,905,955,3,138,69,0,906,955,3,160,80,0,907,955,3,176,88,0,908,955,3,180,90,0,909,955,3,184,92,0,910,955,3,182,91,0,911,955,3,174,87,0,912,955,3,178,89,0,913,955,3,146,73,0,914,955,3,152,76,0,915,955,3,148,74,0,916,955,3,150,75,0,917,955,3,154,77,0,918,955,3,156,78,0,919,955,3,158,79,0,920,955,3,66,33,0,921,955,3,76,38,0,922,955,3,82,41,0,923,955,3,78,39,0,924,955,3,84,42,0,925,955,3,86,43,0,926,955,3,88,44,0,927,955,3,90,45,0,928,955,3,92,46,0,929,955,3,106,53,0,930,955,3,98,49,0,931,955,3,108,54,0,932,955,3,100,50,0,933,955,3,94,47,0,934,955,3,96,48,0,935,955,3,104,52,0,936,955,3,102,51,0,937,938,5,1,0,0,938,940,7,3,0,0,939,941,5,431,0,0,940,939,1,0,0,0,941,942,1,0,0,0,942,940,1,0,0,0,942,943,1,0,0,0,943,955,1,0,0,0,944,945,5,176,0,0,945,947,5,258,0,0,946,948,5,426,0,0,947,946,1,0,0,0,948,949,1,0,0,0,949,947,1,0,0,0,949,950,1,0,0,0,950,955,1,0,0,0,951,955,3,650,325,0,952,955,3,438,219,0,953,955,3,440,220,0,954,896,1,0,0,0,954,897,1,0,0,0,954,898,1,0,0,0,954,899,1,0,0,0,954,900,1,0,0,0,954,901,1,0,0,0,954,902,1,0,0,0,954,903,1,0,0,0,954,904,1,0,0,0,954,905,1,0,0,0,954,906,1,0,0,0,954,907,1,0,0,0,954,908,1,0,0,0,954,909,1,0,0,0,954,910,1,0,0,0,954,911,1,0,0,0,954,912,1,0,0,0,954,913,1,0,0,0,954,914,1,0,0,0,954,915,1,0,0,0,954,916,1,0,0,0,954,917,1,0,0,0,954,918,1,0,0,0,954,919,1,0,0,0,954,920,1,0,0,0,954,921,1,0,0,0,954,922,1,0,0,0,954,923,1,0,0,0,954,924,1,0,0,0,954,925,1,0,0,0,954,926,1,0,0,0,954,927,1,0,0,0,954,928,1,0,0,0,954,929,1,0,0,0,954,930,1,0,0,0,954,931,1,0,0,0,954,932,1,0,0,0,954,933,1,0,0,0,954,934,1,0,0,0,954,935,1,0,0,0,954,936,1,0,0,0,954,937,1,0,0,0,954,944,1,0,0,0,954,951,1,0,0,0,954,952,1,0,0,0,954,953,1,0,0,0,955,29,1,0,0,0,956,957,5,151,0,0,957,958,5,117,0,0,958,31,1,0,0,0,959,960,5,151,0,0,960,961,5,216,0,0,961,962,5,117,0,0,962,33,1,0,0,0,963,964,7,4,0,0,964,35,1,0,0,0,965,966,3,662,331,0,966,967,5,284,0,0,967,37,1,0,0,0,968,969,3,664,332,0,969,970,5,284,0,0,970,39,1,0,0,0,971,972,5,321,0,0,972,973,5,17,0,0,973,974,5,92,0,0,974,41,1,0,0,0,975,977,5,58,0,0,976,978,5,273,0,0,977,976,1,0,0,0,977,978,1,0,0,0,978,979,1,0,0,0,979,981,3,70,35,0,980,982,3,32,16,0,981,980,1,0,0,0,981,982,1,0,0,0,982,983,1,0,0,0,983,985,3,474,237,0,984,986,3,50,25,0,985,984,1,0,0,0,985,986,1,0,0,0,986,988,1,0,0,0,987,989,3,424,212,0,988,987,1,0,0,0,988,989,1,0,0,0,989,992,1,0,0,0,990,991,5,196,0,0,991,993,5,426,0,0,992,990,1,0,0,0,992,993,1,0,0,0,993,997,1,0,0,0,994,995,5,387,0,0,995,996,5,76,0,0,996,998,3,230,115,0,997,994,1,0,0,0,997,998,1,0,0,0,998,1016,1,0,0,0,999,1e3,5,58,0,0,1e3,1001,5,273,0,0,1001,1003,3,70,35,0,1002,1004,3,32,16,0,1003,1002,1,0,0,0,1003,1004,1,0,0,0,1004,1005,1,0,0,0,1005,1007,3,474,237,0,1006,1008,3,50,25,0,1007,1006,1,0,0,0,1007,1008,1,0,0,0,1008,1009,1,0,0,0,1009,1013,3,44,22,0,1010,1011,5,387,0,0,1011,1012,5,76,0,0,1012,1014,3,230,115,0,1013,1010,1,0,0,0,1013,1014,1,0,0,0,1014,1016,1,0,0,0,1015,975,1,0,0,0,1015,999,1,0,0,0,1016,43,1,0,0,0,1017,1018,5,370,0,0,1018,1019,3,472,236,0,1019,45,1,0,0,0,1020,1021,5,368,0,0,1021,1022,3,472,236,0,1022,47,1,0,0,0,1023,1024,5,101,0,0,1024,1026,3,70,35,0,1025,1027,3,30,15,0,1026,1025,1,0,0,0,1026,1027,1,0,0,0,1027,1028,1,0,0,0,1028,1030,3,472,236,0,1029,1031,3,34,17,0,1030,1029,1,0,0,0,1030,1031,1,0,0,0,1031,49,1,0,0,0,1032,1033,5,47,0,0,1033,1034,5,426,0,0,1034,51,1,0,0,0,1035,1037,5,351,0,0,1036,1038,5,329,0,0,1037,1036,1,0,0,0,1037,1038,1,0,0,0,1038,1039,1,0,0,0,1039,1045,3,624,312,0,1040,1041,5,46,0,0,1041,1042,5,399,0,0,1042,1043,3,254,127,0,1043,1044,5,400,0,0,1044,1046,1,0,0,0,1045,1040,1,0,0,0,1045,1046,1,0,0,0,1046,1048,1,0,0,0,1047,1049,5,135,0,0,1048,1047,1,0,0,0,1048,1049,1,0,0,0,1049,53,1,0,0,0,1050,1051,5,101,0,0,1051,1053,5,329,0,0,1052,1054,3,30,15,0,1053,1052,1,0,0,0,1053,1054,1,0,0,0,1054,1055,1,0,0,0,1055,1057,3,478,239,0,1056,1058,5,255,0,0,1057,1056,1,0,0,0,1057,1058,1,0,0,0,1058,1060,1,0,0,0,1059,1061,3,14,7,0,1060,1059,1,0,0,0,1060,1061,1,0,0,0,1061,55,1,0,0,0,1062,1063,5,160,0,0,1063,1064,5,426,0,0,1064,1065,5,301,0,0,1065,1066,5,426,0,0,1066,57,1,0,0,0,1067,1070,3,638,319,0,1068,1069,5,395,0,0,1069,1071,3,638,319,0,1070,1068,1,0,0,0,1070,1071,1,0,0,0,1071,1085,1,0,0,0,1072,1082,3,638,319,0,1073,1078,5,395,0,0,1074,1079,5,104,0,0,1075,1079,5,175,0,0,1076,1079,5,375,0,0,1077,1079,3,638,319,0,1078,1074,1,0,0,0,1078,1075,1,0,0,0,1078,1076,1,0,0,0,1078,1077,1,0,0,0,1079,1081,1,0,0,0,1080,1073,1,0,0,0,1081,1084,1,0,0,0,1082,1080,1,0,0,0,1082,1083,1,0,0,0,1083,1086,1,0,0,0,1084,1082,1,0,0,0,1085,1072,1,0,0,0,1085,1086,1,0,0,0,1086,59,1,0,0,0,1087,1089,3,58,29,0,1088,1090,3,626,313,0,1089,1088,1,0,0,0,1089,1090,1,0,0,0,1090,61,1,0,0,0,1091,1093,3,476,238,0,1092,1094,3,626,313,0,1093,1092,1,0,0,0,1093,1094,1,0,0,0,1094,1096,1,0,0,0,1095,1097,3,260,130,0,1096,1095,1,0,0,0,1096,1097,1,0,0,0,1097,63,1,0,0,0,1098,1121,7,5,0,0,1099,1101,3,70,35,0,1100,1102,5,122,0,0,1101,1100,1,0,0,0,1101,1102,1,0,0,0,1102,1103,1,0,0,0,1103,1104,3,472,236,0,1104,1122,1,0,0,0,1105,1107,5,69,0,0,1106,1108,5,122,0,0,1107,1106,1,0,0,0,1107,1108,1,0,0,0,1108,1109,1,0,0,0,1109,1122,3,472,236,0,1110,1112,5,141,0,0,1111,1113,5,122,0,0,1112,1111,1,0,0,0,1112,1113,1,0,0,0,1113,1114,1,0,0,0,1114,1122,3,556,278,0,1115,1118,5,138,0,0,1116,1118,5,122,0,0,1117,1115,1,0,0,0,1117,1116,1,0,0,0,1118,1119,1,0,0,0,1119,1122,3,62,31,0,1120,1122,3,62,31,0,1121,1099,1,0,0,0,1121,1105,1,0,0,0,1121,1110,1,0,0,0,1121,1117,1,0,0,0,1121,1120,1,0,0,0,1122,65,1,0,0,0,1123,1124,5,10,0,0,1124,1125,5,329,0,0,1125,1138,3,624,312,0,1126,1127,5,52,0,0,1127,1134,5,319,0,0,1128,1135,5,215,0,0,1129,1130,5,134,0,0,1130,1132,5,46,0,0,1131,1133,3,254,127,0,1132,1131,1,0,0,0,1132,1133,1,0,0,0,1133,1135,1,0,0,0,1134,1128,1,0,0,0,1134,1129,1,0,0,0,1134,1135,1,0,0,0,1135,1139,1,0,0,0,1136,1137,5,33,0,0,1137,1139,5,204,0,0,1138,1126,1,0,0,0,1138,1136,1,0,0,0,1139,67,1,0,0,0,1140,1141,7,6,0,0,1141,69,1,0,0,0,1142,1143,7,7,0,0,1143,71,1,0,0,0,1144,1145,5,308,0,0,1145,1148,7,8,0,0,1146,1147,5,184,0,0,1147,1149,3,194,97,0,1148,1146,1,0,0,0,1148,1149,1,0,0,0,1149,1328,1,0,0,0,1150,1152,5,308,0,0,1151,1153,5,122,0,0,1152,1151,1,0,0,0,1152,1153,1,0,0,0,1153,1154,1,0,0,0,1154,1158,5,330,0,0,1155,1156,3,68,34,0,1156,1157,3,472,236,0,1157,1159,1,0,0,0,1158,1155,1,0,0,0,1158,1159,1,0,0,0,1159,1161,1,0,0,0,1160,1162,3,74,37,0,1161,1160,1,0,0,0,1161,1162,1,0,0,0,1162,1328,1,0,0,0,1163,1164,5,308,0,0,1164,1168,5,379,0,0,1165,1166,3,68,34,0,1166,1167,3,472,236,0,1167,1169,1,0,0,0,1168,1165,1,0,0,0,1168,1169,1,0,0,0,1169,1173,1,0,0,0,1170,1171,5,184,0,0,1171,1174,3,194,97,0,1172,1174,3,194,97,0,1173,1170,1,0,0,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1328,1,0,0,0,1175,1176,5,308,0,0,1176,1177,5,202,0,0,1177,1181,5,379,0,0,1178,1179,3,68,34,0,1179,1180,3,472,236,0,1180,1182,1,0,0,0,1181,1178,1,0,0,0,1181,1182,1,0,0,0,1182,1186,1,0,0,0,1183,1184,5,184,0,0,1184,1187,3,194,97,0,1185,1187,3,194,97,0,1186,1183,1,0,0,0,1186,1185,1,0,0,0,1186,1187,1,0,0,0,1187,1328,1,0,0,0,1188,1190,5,308,0,0,1189,1191,5,315,0,0,1190,1189,1,0,0,0,1190,1191,1,0,0,0,1191,1192,1,0,0,0,1192,1193,5,46,0,0,1193,1194,3,68,34,0,1194,1198,3,476,238,0,1195,1196,3,68,34,0,1196,1197,3,472,236,0,1197,1199,1,0,0,0,1198,1195,1,0,0,0,1198,1199,1,0,0,0,1199,1203,1,0,0,0,1200,1201,5,184,0,0,1201,1204,3,194,97,0,1202,1204,3,194,97,0,1203,1200,1,0,0,0,1203,1202,1,0,0,0,1203,1204,1,0,0,0,1204,1328,1,0,0,0,1205,1206,5,308,0,0,1206,1209,5,142,0,0,1207,1208,5,184,0,0,1208,1210,3,556,278,0,1209,1207,1,0,0,0,1209,1210,1,0,0,0,1210,1328,1,0,0,0,1211,1212,5,308,0,0,1212,1213,5,239,0,0,1213,1215,3,476,238,0,1214,1216,3,626,313,0,1215,1214,1,0,0,0,1215,1216,1,0,0,0,1216,1218,1,0,0,0,1217,1219,3,494,247,0,1218,1217,1,0,0,0,1218,1219,1,0,0,0,1219,1221,1,0,0,0,1220,1222,3,542,271,0,1221,1220,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,0,0,1223,1225,3,386,193,0,1224,1223,1,0,0,0,1224,1225,1,0,0,0,1225,1328,1,0,0,0,1226,1227,5,308,0,0,1227,1233,5,58,0,0,1228,1229,3,70,35,0,1229,1230,3,472,236,0,1230,1234,1,0,0,0,1231,1232,5,329,0,0,1232,1234,3,478,239,0,1233,1228,1,0,0,0,1233,1231,1,0,0,0,1234,1328,1,0,0,0,1235,1236,5,308,0,0,1236,1237,5,329,0,0,1237,1241,5,122,0,0,1238,1239,3,68,34,0,1239,1240,3,472,236,0,1240,1242,1,0,0,0,1241,1238,1,0,0,0,1241,1242,1,0,0,0,1242,1243,1,0,0,0,1243,1244,5,184,0,0,1244,1246,3,194,97,0,1245,1247,3,626,313,0,1246,1245,1,0,0,0,1246,1247,1,0,0,0,1247,1328,1,0,0,0,1248,1249,5,308,0,0,1249,1250,5,332,0,0,1250,1254,3,478,239,0,1251,1252,5,399,0,0,1252,1253,5,426,0,0,1253,1255,5,400,0,0,1254,1251,1,0,0,0,1254,1255,1,0,0,0,1255,1328,1,0,0,0,1256,1257,5,308,0,0,1257,1269,5,191,0,0,1258,1259,3,70,35,0,1259,1261,3,472,236,0,1260,1262,5,122,0,0,1261,1260,1,0,0,0,1261,1262,1,0,0,0,1262,1270,1,0,0,0,1263,1265,3,60,30,0,1264,1263,1,0,0,0,1264,1265,1,0,0,0,1265,1267,1,0,0,0,1266,1268,5,122,0,0,1267,1266,1,0,0,0,1267,1268,1,0,0,0,1268,1270,1,0,0,0,1269,1258,1,0,0,0,1269,1264,1,0,0,0,1270,1328,1,0,0,0,1271,1272,5,308,0,0,1272,1299,5,50,0,0,1273,1274,5,51,0,0,1274,1275,5,405,0,0,1275,1300,5,431,0,0,1276,1277,3,70,35,0,1277,1278,3,472,236,0,1278,1283,1,0,0,0,1279,1281,3,60,30,0,1280,1279,1,0,0,0,1280,1281,1,0,0,0,1281,1283,1,0,0,0,1282,1276,1,0,0,0,1282,1280,1,0,0,0,1283,1285,1,0,0,0,1284,1286,3,406,203,0,1285,1284,1,0,0,0,1285,1286,1,0,0,0,1286,1288,1,0,0,0,1287,1289,3,408,204,0,1288,1287,1,0,0,0,1288,1289,1,0,0,0,1289,1291,1,0,0,0,1290,1292,3,410,205,0,1291,1290,1,0,0,0,1291,1292,1,0,0,0,1292,1294,1,0,0,0,1293,1295,3,542,271,0,1294,1293,1,0,0,0,1294,1295,1,0,0,0,1295,1297,1,0,0,0,1296,1298,3,386,193,0,1297,1296,1,0,0,0,1297,1298,1,0,0,0,1298,1300,1,0,0,0,1299,1273,1,0,0,0,1299,1282,1,0,0,0,1300,1328,1,0,0,0,1301,1302,5,308,0,0,1302,1328,5,346,0,0,1303,1304,5,308,0,0,1304,1305,5,54,0,0,1305,1328,5,426,0,0,1306,1307,5,308,0,0,1307,1311,5,280,0,0,1308,1309,5,243,0,0,1309,1312,3,638,319,0,1310,1312,5,244,0,0,1311,1308,1,0,0,0,1311,1310,1,0,0,0,1312,1328,1,0,0,0,1313,1314,5,308,0,0,1314,1328,5,70,0,0,1315,1317,5,308,0,0,1316,1318,5,138,0,0,1317,1316,1,0,0,0,1317,1318,1,0,0,0,1318,1319,1,0,0,0,1319,1320,7,9,0,0,1320,1321,5,224,0,0,1321,1325,3,478,239,0,1322,1323,3,68,34,0,1323,1324,3,472,236,0,1324,1326,1,0,0,0,1325,1322,1,0,0,0,1325,1326,1,0,0,0,1326,1328,1,0,0,0,1327,1144,1,0,0,0,1327,1150,1,0,0,0,1327,1163,1,0,0,0,1327,1175,1,0,0,0,1327,1188,1,0,0,0,1327,1205,1,0,0,0,1327,1211,1,0,0,0,1327,1226,1,0,0,0,1327,1235,1,0,0,0,1327,1248,1,0,0,0,1327,1256,1,0,0,0,1327,1271,1,0,0,0,1327,1301,1,0,0,0,1327,1303,1,0,0,0,1327,1306,1,0,0,0,1327,1313,1,0,0,0,1327,1315,1,0,0,0,1328,73,1,0,0,0,1329,1330,5,384,0,0,1330,1331,3,638,319,0,1331,1332,5,405,0,0,1332,1333,5,426,0,0,1333,1338,1,0,0,0,1334,1335,5,184,0,0,1335,1338,3,194,97,0,1336,1338,3,194,97,0,1337,1329,1,0,0,0,1337,1334,1,0,0,0,1337,1336,1,0,0,0,1338,75,1,0,0,0,1339,1340,5,190,0,0,1340,1341,5,329,0,0,1341,1342,3,624,312,0,1342,1343,3,80,40,0,1343,77,1,0,0,0,1344,1345,5,190,0,0,1345,1346,3,70,35,0,1346,1347,3,472,236,0,1347,1348,3,80,40,0,1348,79,1,0,0,0,1349,1350,7,10,0,0,1350,81,1,0,0,0,1351,1352,5,361,0,0,1352,1353,5,329,0,0,1353,1354,3,624,312,0,1354,83,1,0,0,0,1355,1356,5,361,0,0,1356,1357,3,70,35,0,1357,1358,3,472,236,0,1358,85,1,0,0,0,1359,1360,5,58,0,0,1360,1361,5,287,0,0,1361,1362,3,638,319,0,1362,87,1,0,0,0,1363,1364,5,101,0,0,1364,1365,5,287,0,0,1365,1366,3,638,319,0,1366,89,1,0,0,0,1367,1368,5,143,0,0,1368,1370,3,118,59,0,1369,1371,3,112,56,0,1370,1369,1,0,0,0,1370,1371,1,0,0,0,1371,1372,1,0,0,0,1372,1373,5,341,0,0,1373,1375,3,124,62,0,1374,1376,3,130,65,0,1375,1374,1,0,0,0,1375,1376,1,0,0,0,1376,91,1,0,0,0,1377,1379,5,283,0,0,1378,1380,3,132,66,0,1379,1378,1,0,0,0,1379,1380,1,0,0,0,1380,1381,1,0,0,0,1381,1383,3,118,59,0,1382,1384,3,112,56,0,1383,1382,1,0,0,0,1383,1384,1,0,0,0,1384,1385,1,0,0,0,1385,1386,5,139,0,0,1386,1387,3,124,62,0,1387,93,1,0,0,0,1388,1390,5,143,0,0,1389,1391,5,287,0,0,1390,1389,1,0,0,0,1390,1391,1,0,0,0,1391,1392,1,0,0,0,1392,1397,3,638,319,0,1393,1394,5,397,0,0,1394,1396,3,638,319,0,1395,1393,1,0,0,0,1396,1399,1,0,0,0,1397,1395,1,0,0,0,1397,1398,1,0,0,0,1398,1400,1,0,0,0,1399,1397,1,0,0,0,1400,1401,5,341,0,0,1401,1403,3,124,62,0,1402,1404,3,136,68,0,1403,1402,1,0,0,0,1403,1404,1,0,0,0,1404,95,1,0,0,0,1405,1407,5,283,0,0,1406,1408,3,134,67,0,1407,1406,1,0,0,0,1407,1408,1,0,0,0,1408,1410,1,0,0,0,1409,1411,5,287,0,0,1410,1409,1,0,0,0,1410,1411,1,0,0,0,1411,1412,1,0,0,0,1412,1417,3,638,319,0,1413,1414,5,397,0,0,1414,1416,3,638,319,0,1415,1413,1,0,0,0,1416,1419,1,0,0,0,1417,1415,1,0,0,0,1417,1418,1,0,0,0,1418,1420,1,0,0,0,1419,1417,1,0,0,0,1420,1421,5,139,0,0,1421,1422,3,124,62,0,1422,97,1,0,0,0,1423,1424,5,308,0,0,1424,1425,5,287,0,0,1425,1426,5,143,0,0,1426,1427,3,126,63,0,1427,99,1,0,0,0,1428,1429,5,308,0,0,1429,1430,5,288,0,0,1430,101,1,0,0,0,1431,1432,5,308,0,0,1432,1433,5,62,0,0,1433,1434,5,288,0,0,1434,103,1,0,0,0,1435,1436,5,304,0,0,1436,1440,5,287,0,0,1437,1441,5,7,0,0,1438,1441,5,213,0,0,1439,1441,3,638,319,0,1440,1437,1,0,0,0,1440,1438,1,0,0,0,1440,1439,1,0,0,0,1441,105,1,0,0,0,1442,1443,5,308,0,0,1443,1445,5,143,0,0,1444,1446,3,126,63,0,1445,1444,1,0,0,0,1445,1446,1,0,0,0,1446,1449,1,0,0,0,1447,1448,5,224,0,0,1448,1450,3,110,55,0,1449,1447,1,0,0,0,1449,1450,1,0,0,0,1450,107,1,0,0,0,1451,1452,5,308,0,0,1452,1453,5,252,0,0,1453,1454,3,638,319,0,1454,109,1,0,0,0,1455,1458,5,7,0,0,1456,1458,3,116,58,0,1457,1455,1,0,0,0,1457,1456,1,0,0,0,1458,111,1,0,0,0,1459,1460,5,224,0,0,1460,1461,3,114,57,0,1461,113,1,0,0,0,1462,1463,3,70,35,0,1463,1464,3,472,236,0,1464,1474,1,0,0,0,1465,1467,5,329,0,0,1466,1465,1,0,0,0,1466,1467,1,0,0,0,1467,1468,1,0,0,0,1468,1474,3,624,312,0,1469,1470,5,366,0,0,1470,1474,5,426,0,0,1471,1472,5,303,0,0,1472,1474,3,638,319,0,1473,1462,1,0,0,0,1473,1466,1,0,0,0,1473,1469,1,0,0,0,1473,1471,1,0,0,0,1474,115,1,0,0,0,1475,1476,3,70,35,0,1476,1477,3,472,236,0,1477,1496,1,0,0,0,1478,1480,5,329,0,0,1479,1478,1,0,0,0,1479,1480,1,0,0,0,1480,1481,1,0,0,0,1481,1486,3,478,239,0,1482,1483,5,399,0,0,1483,1484,3,254,127,0,1484,1485,5,400,0,0,1485,1487,1,0,0,0,1486,1482,1,0,0,0,1486,1487,1,0,0,0,1487,1489,1,0,0,0,1488,1490,3,626,313,0,1489,1488,1,0,0,0,1489,1490,1,0,0,0,1490,1496,1,0,0,0,1491,1492,5,366,0,0,1492,1496,5,426,0,0,1493,1494,5,303,0,0,1494,1496,3,638,319,0,1495,1475,1,0,0,0,1495,1479,1,0,0,0,1495,1491,1,0,0,0,1495,1493,1,0,0,0,1496,117,1,0,0,0,1497,1502,3,120,60,0,1498,1499,5,397,0,0,1499,1501,3,120,60,0,1500,1498,1,0,0,0,1501,1504,1,0,0,0,1502,1500,1,0,0,0,1502,1503,1,0,0,0,1503,119,1,0,0,0,1504,1502,1,0,0,0,1505,1510,3,122,61,0,1506,1507,5,399,0,0,1507,1508,3,254,127,0,1508,1509,5,400,0,0,1509,1511,1,0,0,0,1510,1506,1,0,0,0,1510,1511,1,0,0,0,1511,121,1,0,0,0,1512,1513,7,11,0,0,1513,123,1,0,0,0,1514,1519,3,126,63,0,1515,1516,5,397,0,0,1516,1518,3,126,63,0,1517,1515,1,0,0,0,1518,1521,1,0,0,0,1519,1517,1,0,0,0,1519,1520,1,0,0,0,1520,125,1,0,0,0,1521,1519,1,0,0,0,1522,1523,5,369,0,0,1523,1529,3,642,321,0,1524,1525,5,144,0,0,1525,1529,3,642,321,0,1526,1527,5,287,0,0,1527,1529,3,638,319,0,1528,1522,1,0,0,0,1528,1524,1,0,0,0,1528,1526,1,0,0,0,1529,127,1,0,0,0,1530,1531,5,369,0,0,1531,1536,3,642,321,0,1532,1533,5,287,0,0,1533,1536,3,638,319,0,1534,1536,3,638,319,0,1535,1530,1,0,0,0,1535,1532,1,0,0,0,1535,1534,1,0,0,0,1536,129,1,0,0,0,1537,1538,5,387,0,0,1538,1539,5,143,0,0,1539,1540,5,227,0,0,1540,131,1,0,0,0,1541,1542,5,143,0,0,1542,1543,5,227,0,0,1543,1544,5,134,0,0,1544,133,1,0,0,0,1545,1546,5,5,0,0,1546,1547,5,227,0,0,1547,1548,5,134,0,0,1548,135,1,0,0,0,1549,1550,5,387,0,0,1550,1551,5,5,0,0,1551,1552,5,227,0,0,1552,137,1,0,0,0,1553,1555,5,212,0,0,1554,1556,5,276,0,0,1555,1554,1,0,0,0,1555,1556,1,0,0,0,1556,1557,1,0,0,0,1557,1558,5,329,0,0,1558,1564,3,478,239,0,1559,1560,7,12,0,0,1560,1562,5,239,0,0,1561,1563,3,630,315,0,1562,1561,1,0,0,0,1562,1563,1,0,0,0,1563,1565,1,0,0,0,1564,1559,1,0,0,0,1564,1565,1,0,0,0,1565,139,1,0,0,0,1566,1571,3,142,71,0,1567,1568,5,397,0,0,1568,1570,3,142,71,0,1569,1567,1,0,0,0,1570,1573,1,0,0,0,1571,1569,1,0,0,0,1571,1572,1,0,0,0,1572,141,1,0,0,0,1573,1571,1,0,0,0,1574,1575,3,144,72,0,1575,1576,5,426,0,0,1576,143,1,0,0,0,1577,1578,7,13,0,0,1578,145,1,0,0,0,1579,1581,5,58,0,0,1580,1582,5,333,0,0,1581,1580,1,0,0,0,1581,1582,1,0,0,0,1582,1583,1,0,0,0,1583,1584,5,141,0,0,1584,1585,3,554,277,0,1585,1586,5,17,0,0,1586,1589,5,426,0,0,1587,1588,5,370,0,0,1588,1590,3,140,70,0,1589,1587,1,0,0,0,1589,1590,1,0,0,0,1590,147,1,0,0,0,1591,1593,5,101,0,0,1592,1594,5,333,0,0,1593,1592,1,0,0,0,1593,1594,1,0,0,0,1594,1595,1,0,0,0,1595,1597,5,141,0,0,1596,1598,3,30,15,0,1597,1596,1,0,0,0,1597,1598,1,0,0,0,1598,1599,1,0,0,0,1599,1600,3,556,278,0,1600,149,1,0,0,0,1601,1602,5,271,0,0,1602,1603,7,14,0,0,1603,151,1,0,0,0,1604,1605,5,58,0,0,1605,1606,5,333,0,0,1606,1607,5,194,0,0,1607,1608,5,432,0,0,1608,1610,5,399,0,0,1609,1611,3,248,124,0,1610,1609,1,0,0,0,1610,1611,1,0,0,0,1611,1612,1,0,0,0,1612,1613,5,400,0,0,1613,1614,3,580,290,0,1614,153,1,0,0,0,1615,1616,5,101,0,0,1616,1617,5,333,0,0,1617,1619,5,194,0,0,1618,1620,3,30,15,0,1619,1618,1,0,0,0,1619,1620,1,0,0,0,1620,1621,1,0,0,0,1621,1622,5,432,0,0,1622,155,1,0,0,0,1623,1624,5,58,0,0,1624,1625,5,155,0,0,1625,1626,3,638,319,0,1626,1627,5,224,0,0,1627,1628,5,329,0,0,1628,1629,3,478,239,0,1629,1630,3,264,132,0,1630,1631,5,17,0,0,1631,1635,5,426,0,0,1632,1633,5,387,0,0,1633,1634,5,84,0,0,1634,1636,5,265,0,0,1635,1632,1,0,0,0,1635,1636,1,0,0,0,1636,1639,1,0,0,0,1637,1638,5,150,0,0,1638,1640,3,226,113,0,1639,1637,1,0,0,0,1639,1640,1,0,0,0,1640,1644,1,0,0,0,1641,1642,5,154,0,0,1642,1643,5,329,0,0,1643,1645,3,478,239,0,1644,1641,1,0,0,0,1644,1645,1,0,0,0,1645,1649,1,0,0,0,1646,1647,5,238,0,0,1647,1648,5,32,0,0,1648,1650,3,264,132,0,1649,1646,1,0,0,0,1649,1650,1,0,0,0,1650,1655,1,0,0,0,1651,1653,3,222,111,0,1652,1651,1,0,0,0,1652,1653,1,0,0,0,1653,1654,1,0,0,0,1654,1656,3,246,123,0,1655,1652,1,0,0,0,1655,1656,1,0,0,0,1656,1658,1,0,0,0,1657,1659,3,424,212,0,1658,1657,1,0,0,0,1658,1659,1,0,0,0,1659,1661,1,0,0,0,1660,1662,3,224,112,0,1661,1660,1,0,0,0,1661,1662,1,0,0,0,1662,1664,1,0,0,0,1663,1665,3,196,98,0,1664,1663,1,0,0,0,1664,1665,1,0,0,0,1665,157,1,0,0,0,1666,1667,5,101,0,0,1667,1669,5,155,0,0,1668,1670,3,30,15,0,1669,1668,1,0,0,0,1669,1670,1,0,0,0,1670,1671,1,0,0,0,1671,1672,3,638,319,0,1672,1673,5,224,0,0,1673,1674,3,478,239,0,1674,159,1,0,0,0,1675,1678,5,58,0,0,1676,1677,5,228,0,0,1677,1679,5,278,0,0,1678,1676,1,0,0,0,1678,1679,1,0,0,0,1679,1680,1,0,0,0,1680,1682,5,378,0,0,1681,1683,3,32,16,0,1682,1681,1,0,0,0,1682,1683,1,0,0,0,1683,1684,1,0,0,0,1684,1689,3,484,242,0,1685,1686,5,399,0,0,1686,1687,3,304,152,0,1687,1688,5,400,0,0,1688,1690,1,0,0,0,1689,1685,1,0,0,0,1689,1690,1,0,0,0,1690,1692,1,0,0,0,1691,1693,3,196,98,0,1692,1691,1,0,0,0,1692,1693,1,0,0,0,1693,1695,1,0,0,0,1694,1696,3,162,81,0,1695,1694,1,0,0,0,1695,1696,1,0,0,0,1696,1698,1,0,0,0,1697,1699,3,224,112,0,1698,1697,1,0,0,0,1698,1699,1,0,0,0,1699,1700,1,0,0,0,1700,1701,5,17,0,0,1701,1702,3,380,190,0,1702,161,1,0,0,0,1703,1704,5,238,0,0,1704,1710,5,224,0,0,1705,1706,5,399,0,0,1706,1711,3,254,127,0,1707,1708,5,316,0,0,1708,1709,5,399,0,0,1709,1711,3,204,102,0,1710,1705,1,0,0,0,1710,1707,1,0,0,0,1711,1712,1,0,0,0,1712,1713,5,400,0,0,1713,163,1,0,0,0,1714,1717,3,166,83,0,1715,1717,3,168,84,0,1716,1714,1,0,0,0,1716,1715,1,0,0,0,1717,165,1,0,0,0,1718,1719,5,42,0,0,1719,1720,5,224,0,0,1720,1721,5,399,0,0,1721,1722,3,254,127,0,1722,1723,5,400,0,0,1723,167,1,0,0,0,1724,1725,3,170,85,0,1725,1726,3,172,86,0,1726,169,1,0,0,0,1727,1728,5,98,0,0,1728,1729,5,224,0,0,1729,1730,5,399,0,0,1730,1731,3,254,127,0,1731,1732,5,400,0,0,1732,171,1,0,0,0,1733,1734,5,315,0,0,1734,1735,5,224,0,0,1735,1736,5,399,0,0,1736,1737,3,254,127,0,1737,1738,5,400,0,0,1738,173,1,0,0,0,1739,1740,5,101,0,0,1740,1742,5,378,0,0,1741,1743,3,30,15,0,1742,1741,1,0,0,0,1742,1743,1,0,0,0,1743,1744,1,0,0,0,1744,1745,3,482,241,0,1745,175,1,0,0,0,1746,1747,5,58,0,0,1747,1748,5,202,0,0,1748,1750,5,378,0,0,1749,1751,3,32,16,0,1750,1749,1,0,0,0,1750,1751,1,0,0,0,1751,1752,1,0,0,0,1752,1754,3,484,242,0,1753,1755,3,38,19,0,1754,1753,1,0,0,0,1754,1755,1,0,0,0,1755,1757,1,0,0,0,1756,1758,3,196,98,0,1757,1756,1,0,0,0,1757,1758,1,0,0,0,1758,1760,1,0,0,0,1759,1761,3,162,81,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761,1763,1,0,0,0,1762,1764,3,164,82,0,1763,1762,1,0,0,0,1763,1764,1,0,0,0,1764,1766,1,0,0,0,1765,1767,3,222,111,0,1766,1765,1,0,0,0,1766,1767,1,0,0,0,1767,1769,1,0,0,0,1768,1770,3,246,123,0,1769,1768,1,0,0,0,1769,1770,1,0,0,0,1770,1772,1,0,0,0,1771,1773,3,424,212,0,1772,1771,1,0,0,0,1772,1773,1,0,0,0,1773,1775,1,0,0,0,1774,1776,3,224,112,0,1775,1774,1,0,0,0,1775,1776,1,0,0,0,1776,1777,1,0,0,0,1777,1778,5,17,0,0,1778,1779,3,380,190,0,1779,177,1,0,0,0,1780,1781,5,101,0,0,1781,1782,5,202,0,0,1782,1784,5,378,0,0,1783,1785,3,30,15,0,1784,1783,1,0,0,0,1784,1785,1,0,0,0,1785,1786,1,0,0,0,1786,1787,3,482,241,0,1787,179,1,0,0,0,1788,1789,5,58,0,0,1789,1790,5,293,0,0,1790,1791,5,258,0,0,1791,1792,3,638,319,0,1792,1794,3,188,94,0,1793,1795,3,190,95,0,1794,1793,1,0,0,0,1794,1795,1,0,0,0,1795,1797,1,0,0,0,1796,1798,3,268,134,0,1797,1796,1,0,0,0,1797,1798,1,0,0,0,1798,1799,1,0,0,0,1799,1800,3,192,96,0,1800,181,1,0,0,0,1801,1802,5,101,0,0,1802,1803,5,293,0,0,1803,1804,5,258,0,0,1804,1805,3,638,319,0,1805,183,1,0,0,0,1806,1807,5,9,0,0,1807,1808,5,293,0,0,1808,1809,5,258,0,0,1809,1810,3,638,319,0,1810,1811,3,186,93,0,1811,185,1,0,0,0,1812,1818,3,188,94,0,1813,1818,3,190,95,0,1814,1818,3,268,134,0,1815,1818,3,192,96,0,1816,1818,5,115,0,0,1817,1812,1,0,0,0,1817,1813,1,0,0,0,1817,1814,1,0,0,0,1817,1815,1,0,0,0,1817,1816,1,0,0,0,1818,187,1,0,0,0,1819,1820,5,59,0,0,1820,1835,5,426,0,0,1821,1823,5,111,0,0,1822,1824,5,431,0,0,1823,1822,1,0,0,0,1823,1824,1,0,0,0,1824,1825,1,0,0,0,1825,1832,3,578,289,0,1826,1830,5,20,0,0,1827,1828,5,223,0,0,1828,1830,5,32,0,0,1829,1826,1,0,0,0,1829,1827,1,0,0,0,1830,1831,1,0,0,0,1831,1833,5,426,0,0,1832,1829,1,0,0,0,1832,1833,1,0,0,0,1833,1835,1,0,0,0,1834,1819,1,0,0,0,1834,1821,1,0,0,0,1835,189,1,0,0,0,1836,1837,5,116,0,0,1837,1838,5,17,0,0,1838,1839,5,426,0,0,1839,191,1,0,0,0,1840,1842,5,85,0,0,1841,1840,1,0,0,0,1841,1842,1,0,0,0,1842,1843,1,0,0,0,1843,1844,5,17,0,0,1844,1845,3,2,1,0,1845,193,1,0,0,0,1846,1849,3,638,319,0,1847,1849,5,426,0,0,1848,1846,1,0,0,0,1848,1847,1,0,0,0,1849,195,1,0,0,0,1850,1851,5,47,0,0,1851,1852,5,426,0,0,1852,197,1,0,0,0,1853,1854,5,183,0,0,1854,1855,5,431,0,0,1855,199,1,0,0,0,1856,1857,5,238,0,0,1857,1866,5,32,0,0,1858,1861,5,399,0,0,1859,1862,3,202,101,0,1860,1862,3,254,127,0,1861,1859,1,0,0,0,1861,1860,1,0,0,0,1862,1867,1,0,0,0,1863,1864,5,316,0,0,1864,1865,5,399,0,0,1865,1867,3,204,102,0,1866,1858,1,0,0,0,1866,1863,1,0,0,0,1867,1868,1,0,0,0,1868,1869,5,400,0,0,1869,201,1,0,0,0,1870,1875,3,316,158,0,1871,1872,5,397,0,0,1872,1874,3,316,158,0,1873,1871,1,0,0,0,1874,1877,1,0,0,0,1875,1873,1,0,0,0,1875,1876,1,0,0,0,1876,203,1,0,0,0,1877,1875,1,0,0,0,1878,1883,3,206,103,0,1879,1880,5,397,0,0,1880,1882,3,206,103,0,1881,1879,1,0,0,0,1882,1885,1,0,0,0,1883,1881,1,0,0,0,1883,1884,1,0,0,0,1884,205,1,0,0,0,1885,1883,1,0,0,0,1886,1905,3,256,128,0,1887,1892,3,666,333,0,1888,1892,3,668,334,0,1889,1892,3,672,336,0,1890,1892,3,674,337,0,1891,1887,1,0,0,0,1891,1888,1,0,0,0,1891,1889,1,0,0,0,1891,1890,1,0,0,0,1892,1893,1,0,0,0,1893,1894,5,399,0,0,1894,1895,3,256,128,0,1895,1896,5,400,0,0,1896,1905,1,0,0,0,1897,1898,7,15,0,0,1898,1899,5,399,0,0,1899,1900,5,431,0,0,1900,1901,5,397,0,0,1901,1902,3,256,128,0,1902,1903,5,400,0,0,1903,1905,1,0,0,0,1904,1886,1,0,0,0,1904,1891,1,0,0,0,1904,1897,1,0,0,0,1905,207,1,0,0,0,1906,1907,5,42,0,0,1907,1908,5,32,0,0,1908,1909,5,399,0,0,1909,1910,3,254,127,0,1910,1917,5,400,0,0,1911,1912,5,315,0,0,1912,1913,5,32,0,0,1913,1914,5,399,0,0,1914,1915,3,262,131,0,1915,1916,5,400,0,0,1916,1918,1,0,0,0,1917,1911,1,0,0,0,1917,1918,1,0,0,0,1918,1919,1,0,0,0,1919,1920,5,166,0,0,1920,1921,5,431,0,0,1921,1922,5,31,0,0,1922,209,1,0,0,0,1923,1924,5,310,0,0,1924,1925,5,32,0,0,1925,1926,5,399,0,0,1926,1927,3,254,127,0,1927,1928,5,400,0,0,1928,1929,5,224,0,0,1929,1930,5,399,0,0,1930,1931,3,290,145,0,1931,1933,5,400,0,0,1932,1934,3,40,20,0,1933,1932,1,0,0,0,1933,1934,1,0,0,0,1934,211,1,0,0,0,1935,1938,3,218,109,0,1936,1938,3,220,110,0,1937,1935,1,0,0,0,1937,1936,1,0,0,0,1938,213,1,0,0,0,1939,1940,5,266,0,0,1940,1941,5,426,0,0,1941,215,1,0,0,0,1942,1943,5,267,0,0,1943,1944,5,426,0,0,1944,217,1,0,0,0,1945,1946,5,291,0,0,1946,1947,5,137,0,0,1947,1948,5,301,0,0,1948,1952,5,426,0,0,1949,1950,5,387,0,0,1950,1951,5,302,0,0,1951,1953,3,226,113,0,1952,1949,1,0,0,0,1952,1953,1,0,0,0,1953,219,1,0,0,0,1954,1955,5,291,0,0,1955,1956,5,137,0,0,1956,1958,5,87,0,0,1957,1959,3,236,118,0,1958,1957,1,0,0,0,1958,1959,1,0,0,0,1959,1961,1,0,0,0,1960,1962,3,238,119,0,1961,1960,1,0,0,0,1961,1962,1,0,0,0,1962,1964,1,0,0,0,1963,1965,3,240,120,0,1964,1963,1,0,0,0,1964,1965,1,0,0,0,1965,1967,1,0,0,0,1966,1968,3,242,121,0,1967,1966,1,0,0,0,1967,1968,1,0,0,0,1968,1970,1,0,0,0,1969,1971,3,244,122,0,1970,1969,1,0,0,0,1970,1971,1,0,0,0,1971,221,1,0,0,0,1972,1975,3,220,110,0,1973,1975,3,218,109,0,1974,1972,1,0,0,0,1974,1973,1,0,0,0,1975,223,1,0,0,0,1976,1977,5,332,0,0,1977,1978,3,226,113,0,1978,225,1,0,0,0,1979,1980,5,399,0,0,1980,1981,3,228,114,0,1981,1982,5,400,0,0,1982,227,1,0,0,0,1983,1993,3,232,116,0,1984,1989,5,426,0,0,1985,1986,5,397,0,0,1986,1988,5,426,0,0,1987,1985,1,0,0,0,1988,1991,1,0,0,0,1989,1987,1,0,0,0,1989,1990,1,0,0,0,1990,1993,1,0,0,0,1991,1989,1,0,0,0,1992,1983,1,0,0,0,1992,1984,1,0,0,0,1993,229,1,0,0,0,1994,1995,5,399,0,0,1995,1996,3,232,116,0,1996,1997,5,400,0,0,1997,231,1,0,0,0,1998,2003,3,234,117,0,1999,2e3,5,397,0,0,2e3,2002,3,234,117,0,2001,1999,1,0,0,0,2002,2005,1,0,0,0,2003,2001,1,0,0,0,2003,2004,1,0,0,0,2004,233,1,0,0,0,2005,2003,1,0,0,0,2006,2007,5,426,0,0,2007,2008,5,405,0,0,2008,2009,5,426,0,0,2009,235,1,0,0,0,2010,2011,5,127,0,0,2011,2012,5,334,0,0,2012,2013,5,32,0,0,2013,2017,5,426,0,0,2014,2015,5,110,0,0,2015,2016,5,32,0,0,2016,2018,5,426,0,0,2017,2014,1,0,0,0,2017,2018,1,0,0,0,2018,237,1,0,0,0,2019,2020,5,44,0,0,2020,2021,5,169,0,0,2021,2022,5,334,0,0,2022,2023,5,32,0,0,2023,2024,5,426,0,0,2024,239,1,0,0,0,2025,2026,5,198,0,0,2026,2027,5,174,0,0,2027,2028,5,334,0,0,2028,2029,5,32,0,0,2029,2030,5,426,0,0,2030,241,1,0,0,0,2031,2032,5,186,0,0,2032,2033,5,334,0,0,2033,2034,5,32,0,0,2034,2035,5,426,0,0,2035,243,1,0,0,0,2036,2037,5,219,0,0,2037,2038,5,85,0,0,2038,2039,5,17,0,0,2039,2040,5,426,0,0,2040,245,1,0,0,0,2041,2042,5,321,0,0,2042,2043,5,17,0,0,2043,2044,5,160,0,0,2044,2045,5,426,0,0,2045,2046,5,233,0,0,2046,2051,5,426,0,0,2047,2048,5,159,0,0,2048,2049,5,426,0,0,2049,2050,5,232,0,0,2050,2052,5,426,0,0,2051,2047,1,0,0,0,2051,2052,1,0,0,0,2052,2083,1,0,0,0,2053,2054,5,321,0,0,2054,2055,5,32,0,0,2055,2059,5,426,0,0,2056,2057,5,387,0,0,2057,2058,5,302,0,0,2058,2060,3,226,113,0,2059,2056,1,0,0,0,2059,2060,1,0,0,0,2060,2064,1,0,0,0,2061,2062,5,321,0,0,2062,2063,5,17,0,0,2063,2065,3,638,319,0,2064,2061,1,0,0,0,2064,2065,1,0,0,0,2065,2083,1,0,0,0,2066,2067,5,321,0,0,2067,2068,5,32,0,0,2068,2072,3,638,319,0,2069,2070,5,387,0,0,2070,2071,5,302,0,0,2071,2073,3,226,113,0,2072,2069,1,0,0,0,2072,2073,1,0,0,0,2073,2077,1,0,0,0,2074,2075,5,321,0,0,2075,2076,5,17,0,0,2076,2078,3,638,319,0,2077,2074,1,0,0,0,2077,2078,1,0,0,0,2078,2083,1,0,0,0,2079,2080,5,321,0,0,2080,2081,5,17,0,0,2081,2083,3,638,319,0,2082,2041,1,0,0,0,2082,2053,1,0,0,0,2082,2066,1,0,0,0,2082,2079,1,0,0,0,2083,247,1,0,0,0,2084,2089,3,310,155,0,2085,2086,5,397,0,0,2086,2088,3,310,155,0,2087,2085,1,0,0,0,2088,2091,1,0,0,0,2089,2087,1,0,0,0,2089,2090,1,0,0,0,2090,249,1,0,0,0,2091,2089,1,0,0,0,2092,2097,3,312,156,0,2093,2094,5,397,0,0,2094,2096,3,312,156,0,2095,2093,1,0,0,0,2096,2099,1,0,0,0,2097,2095,1,0,0,0,2097,2098,1,0,0,0,2098,251,1,0,0,0,2099,2097,1,0,0,0,2100,2105,3,340,170,0,2101,2102,5,397,0,0,2102,2104,3,340,170,0,2103,2101,1,0,0,0,2104,2107,1,0,0,0,2105,2103,1,0,0,0,2105,2106,1,0,0,0,2106,253,1,0,0,0,2107,2105,1,0,0,0,2108,2113,3,256,128,0,2109,2110,5,397,0,0,2110,2112,3,256,128,0,2111,2109,1,0,0,0,2112,2115,1,0,0,0,2113,2111,1,0,0,0,2113,2114,1,0,0,0,2114,255,1,0,0,0,2115,2113,1,0,0,0,2116,2119,3,682,341,0,2117,2119,4,128,0,0,2118,2116,1,0,0,0,2118,2117,1,0,0,0,2119,257,1,0,0,0,2120,2121,3,638,319,0,2121,259,1,0,0,0,2122,2132,3,256,128,0,2123,2128,5,395,0,0,2124,2129,5,104,0,0,2125,2129,5,175,0,0,2126,2129,5,375,0,0,2127,2129,3,638,319,0,2128,2124,1,0,0,0,2128,2125,1,0,0,0,2128,2126,1,0,0,0,2128,2127,1,0,0,0,2129,2131,1,0,0,0,2130,2123,1,0,0,0,2131,2134,1,0,0,0,2132,2130,1,0,0,0,2132,2133,1,0,0,0,2133,261,1,0,0,0,2134,2132,1,0,0,0,2135,2140,3,302,151,0,2136,2137,5,397,0,0,2137,2139,3,302,151,0,2138,2136,1,0,0,0,2139,2142,1,0,0,0,2140,2138,1,0,0,0,2140,2141,1,0,0,0,2141,263,1,0,0,0,2142,2140,1,0,0,0,2143,2144,5,399,0,0,2144,2145,3,254,127,0,2145,2146,5,400,0,0,2146,265,1,0,0,0,2147,2149,3,268,134,0,2148,2150,3,270,135,0,2149,2148,1,0,0,0,2149,2150,1,0,0,0,2150,2153,1,0,0,0,2151,2153,3,272,136,0,2152,2147,1,0,0,0,2152,2151,1,0,0,0,2153,267,1,0,0,0,2154,2157,3,662,331,0,2155,2157,3,664,332,0,2156,2154,1,0,0,0,2156,2155,1,0,0,0,2157,269,1,0,0,0,2158,2159,7,16,0,0,2159,271,1,0,0,0,2160,2164,5,109,0,0,2161,2162,5,216,0,0,2162,2164,5,109,0,0,2163,2160,1,0,0,0,2163,2161,1,0,0,0,2164,273,1,0,0,0,2165,2166,7,17,0,0,2166,275,1,0,0,0,2167,2168,5,55,0,0,2168,2170,3,638,319,0,2169,2167,1,0,0,0,2169,2170,1,0,0,0,2170,2171,1,0,0,0,2171,2173,3,280,140,0,2172,2174,3,336,168,0,2173,2172,1,0,0,0,2173,2174,1,0,0,0,2174,277,1,0,0,0,2175,2176,5,55,0,0,2176,2177,3,638,319,0,2177,2179,3,280,140,0,2178,2180,3,338,169,0,2179,2178,1,0,0,0,2179,2180,1,0,0,0,2180,279,1,0,0,0,2181,2184,3,282,141,0,2182,2184,3,284,142,0,2183,2181,1,0,0,0,2183,2182,1,0,0,0,2184,281,1,0,0,0,2185,2186,3,334,167,0,2186,2187,3,264,132,0,2187,283,1,0,0,0,2188,2189,5,40,0,0,2189,2190,5,399,0,0,2190,2191,3,580,290,0,2191,2192,5,400,0,0,2192,285,1,0,0,0,2193,2194,5,55,0,0,2194,2196,3,638,319,0,2195,2193,1,0,0,0,2195,2196,1,0,0,0,2196,2197,1,0,0,0,2197,2198,5,136,0,0,2198,2199,5,173,0,0,2199,2200,3,264,132,0,2200,2201,5,269,0,0,2201,2202,3,478,239,0,2202,2204,3,264,132,0,2203,2205,3,336,168,0,2204,2203,1,0,0,0,2204,2205,1,0,0,0,2205,287,1,0,0,0,2206,2207,5,55,0,0,2207,2208,3,638,319,0,2208,2209,5,136,0,0,2209,2210,5,173,0,0,2210,2211,3,264,132,0,2211,2212,5,269,0,0,2212,2213,3,478,239,0,2213,2215,3,264,132,0,2214,2216,3,338,169,0,2215,2214,1,0,0,0,2215,2216,1,0,0,0,2216,289,1,0,0,0,2217,2220,3,296,148,0,2218,2220,3,292,146,0,2219,2217,1,0,0,0,2219,2218,1,0,0,0,2220,291,1,0,0,0,2221,2226,3,294,147,0,2222,2223,5,397,0,0,2223,2225,3,294,147,0,2224,2222,1,0,0,0,2225,2228,1,0,0,0,2226,2224,1,0,0,0,2226,2227,1,0,0,0,2227,293,1,0,0,0,2228,2226,1,0,0,0,2229,2230,5,399,0,0,2230,2231,3,296,148,0,2231,2232,5,400,0,0,2232,295,1,0,0,0,2233,2238,3,572,286,0,2234,2235,5,397,0,0,2235,2237,3,572,286,0,2236,2234,1,0,0,0,2237,2240,1,0,0,0,2238,2236,1,0,0,0,2238,2239,1,0,0,0,2239,297,1,0,0,0,2240,2238,1,0,0,0,2241,2242,7,18,0,0,2242,299,1,0,0,0,2243,2244,5,220,0,0,2244,2245,7,19,0,0,2245,301,1,0,0,0,2246,2248,3,256,128,0,2247,2249,3,298,149,0,2248,2247,1,0,0,0,2248,2249,1,0,0,0,2249,2251,1,0,0,0,2250,2252,3,300,150,0,2251,2250,1,0,0,0,2251,2252,1,0,0,0,2252,303,1,0,0,0,2253,2258,3,306,153,0,2254,2255,5,397,0,0,2255,2257,3,306,153,0,2256,2254,1,0,0,0,2257,2260,1,0,0,0,2258,2256,1,0,0,0,2258,2259,1,0,0,0,2259,305,1,0,0,0,2260,2258,1,0,0,0,2261,2264,3,258,129,0,2262,2263,5,47,0,0,2263,2265,5,426,0,0,2264,2262,1,0,0,0,2264,2265,1,0,0,0,2265,307,1,0,0,0,2266,2269,3,256,128,0,2267,2269,3,580,290,0,2268,2266,1,0,0,0,2268,2267,1,0,0,0,2269,2271,1,0,0,0,2270,2272,3,298,149,0,2271,2270,1,0,0,0,2271,2272,1,0,0,0,2272,2274,1,0,0,0,2273,2275,3,300,150,0,2274,2273,1,0,0,0,2274,2275,1,0,0,0,2275,309,1,0,0,0,2276,2277,3,258,129,0,2277,2280,3,342,171,0,2278,2279,5,47,0,0,2279,2281,5,426,0,0,2280,2278,1,0,0,0,2280,2281,1,0,0,0,2281,311,1,0,0,0,2282,2285,3,314,157,0,2283,2285,3,316,158,0,2284,2282,1,0,0,0,2284,2283,1,0,0,0,2285,313,1,0,0,0,2286,2289,3,286,143,0,2287,2289,3,276,138,0,2288,2286,1,0,0,0,2288,2287,1,0,0,0,2289,315,1,0,0,0,2290,2291,3,258,129,0,2291,2293,3,342,171,0,2292,2294,3,318,159,0,2293,2292,1,0,0,0,2293,2294,1,0,0,0,2294,2297,1,0,0,0,2295,2296,5,47,0,0,2296,2298,5,426,0,0,2297,2295,1,0,0,0,2297,2298,1,0,0,0,2298,317,1,0,0,0,2299,2302,3,320,160,0,2300,2302,3,322,161,0,2301,2299,1,0,0,0,2301,2300,1,0,0,0,2302,319,1,0,0,0,2303,2304,5,55,0,0,2304,2306,3,638,319,0,2305,2303,1,0,0,0,2305,2306,1,0,0,0,2306,2307,1,0,0,0,2307,2308,5,269,0,0,2308,2309,3,478,239,0,2309,2310,5,399,0,0,2310,2311,3,256,128,0,2311,2313,5,400,0,0,2312,2314,3,336,168,0,2313,2312,1,0,0,0,2313,2314,1,0,0,0,2314,321,1,0,0,0,2315,2316,5,55,0,0,2316,2318,3,638,319,0,2317,2315,1,0,0,0,2317,2318,1,0,0,0,2318,2319,1,0,0,0,2319,2321,3,330,165,0,2320,2322,3,336,168,0,2321,2320,1,0,0,0,2321,2322,1,0,0,0,2322,323,1,0,0,0,2323,2326,3,326,163,0,2324,2326,3,328,164,0,2325,2323,1,0,0,0,2325,2324,1,0,0,0,2326,325,1,0,0,0,2327,2328,5,55,0,0,2328,2330,3,638,319,0,2329,2327,1,0,0,0,2329,2330,1,0,0,0,2330,2331,1,0,0,0,2331,2332,5,269,0,0,2332,2333,3,478,239,0,2333,2334,5,399,0,0,2334,2335,3,256,128,0,2335,2337,5,400,0,0,2336,2338,3,338,169,0,2337,2336,1,0,0,0,2337,2338,1,0,0,0,2338,327,1,0,0,0,2339,2340,5,55,0,0,2340,2342,3,638,319,0,2341,2339,1,0,0,0,2341,2342,1,0,0,0,2342,2343,1,0,0,0,2343,2345,3,330,165,0,2344,2346,3,338,169,0,2345,2344,1,0,0,0,2345,2346,1,0,0,0,2346,329,1,0,0,0,2347,2348,5,216,0,0,2348,2354,5,219,0,0,2349,2350,5,83,0,0,2350,2354,3,332,166,0,2351,2354,3,284,142,0,2352,2354,3,334,167,0,2353,2347,1,0,0,0,2353,2349,1,0,0,0,2353,2351,1,0,0,0,2353,2352,1,0,0,0,2354,331,1,0,0,0,2355,2359,3,572,286,0,2356,2359,3,550,275,0,2357,2359,3,560,280,0,2358,2355,1,0,0,0,2358,2356,1,0,0,0,2358,2357,1,0,0,0,2359,333,1,0,0,0,2360,2361,5,251,0,0,2361,2364,5,173,0,0,2362,2364,5,358,0,0,2363,2360,1,0,0,0,2363,2362,1,0,0,0,2364,335,1,0,0,0,2365,2367,3,266,133,0,2366,2368,3,274,137,0,2367,2366,1,0,0,0,2367,2368,1,0,0,0,2368,337,1,0,0,0,2369,2371,3,266,133,0,2370,2372,3,274,137,0,2371,2370,1,0,0,0,2371,2372,1,0,0,0,2372,339,1,0,0,0,2373,2374,3,258,129,0,2374,2375,5,396,0,0,2375,2378,3,342,171,0,2376,2377,5,47,0,0,2377,2379,5,426,0,0,2378,2376,1,0,0,0,2378,2379,1,0,0,0,2379,341,1,0,0,0,2380,2381,3,346,173,0,2381,343,1,0,0,0,2382,2387,3,342,171,0,2383,2384,5,397,0,0,2384,2386,3,342,171,0,2385,2383,1,0,0,0,2386,2389,1,0,0,0,2387,2385,1,0,0,0,2387,2388,1,0,0,0,2388,345,1,0,0,0,2389,2387,1,0,0,0,2390,2396,3,348,174,0,2391,2396,3,350,175,0,2392,2396,3,352,176,0,2393,2396,3,354,177,0,2394,2396,3,356,178,0,2395,2390,1,0,0,0,2395,2391,1,0,0,0,2395,2392,1,0,0,0,2395,2393,1,0,0,0,2395,2394,1,0,0,0,2396,347,1,0,0,0,2397,2435,5,340,0,0,2398,2435,5,311,0,0,2399,2435,5,162,0,0,2400,2435,5,163,0,0,2401,2435,5,26,0,0,2402,2435,5,28,0,0,2403,2435,5,131,0,0,2404,2435,5,264,0,0,2405,2407,5,100,0,0,2406,2408,5,248,0,0,2407,2406,1,0,0,0,2407,2408,1,0,0,0,2408,2435,1,0,0,0,2409,2435,5,71,0,0,2410,2435,5,72,0,0,2411,2435,5,337,0,0,2412,2435,5,338,0,0,2413,2414,5,337,0,0,2414,2415,5,387,0,0,2415,2416,5,188,0,0,2416,2417,5,336,0,0,2417,2435,5,394,0,0,2418,2435,5,323,0,0,2419,2435,5,27,0,0,2420,2428,3,680,340,0,2421,2422,5,399,0,0,2422,2425,5,431,0,0,2423,2424,5,397,0,0,2424,2426,5,431,0,0,2425,2423,1,0,0,0,2425,2426,1,0,0,0,2426,2427,1,0,0,0,2427,2429,5,400,0,0,2428,2421,1,0,0,0,2428,2429,1,0,0,0,2429,2435,1,0,0,0,2430,2431,7,20,0,0,2431,2432,5,399,0,0,2432,2433,5,431,0,0,2433,2435,5,400,0,0,2434,2397,1,0,0,0,2434,2398,1,0,0,0,2434,2399,1,0,0,0,2434,2400,1,0,0,0,2434,2401,1,0,0,0,2434,2402,1,0,0,0,2434,2403,1,0,0,0,2434,2404,1,0,0,0,2434,2405,1,0,0,0,2434,2409,1,0,0,0,2434,2410,1,0,0,0,2434,2411,1,0,0,0,2434,2412,1,0,0,0,2434,2413,1,0,0,0,2434,2418,1,0,0,0,2434,2419,1,0,0,0,2434,2420,1,0,0,0,2434,2430,1,0,0,0,2435,349,1,0,0,0,2436,2437,5,16,0,0,2437,2438,5,409,0,0,2438,2439,3,346,173,0,2439,2440,5,411,0,0,2440,351,1,0,0,0,2441,2442,5,324,0,0,2442,2443,5,409,0,0,2443,2444,3,252,126,0,2444,2445,5,411,0,0,2445,353,1,0,0,0,2446,2447,5,198,0,0,2447,2448,5,409,0,0,2448,2449,3,348,174,0,2449,2450,5,397,0,0,2450,2451,3,346,173,0,2451,2452,5,411,0,0,2452,355,1,0,0,0,2453,2454,5,357,0,0,2454,2455,5,409,0,0,2455,2456,3,344,172,0,2456,2457,5,411,0,0,2457,357,1,0,0,0,2458,2460,7,21,0,0,2459,2461,7,22,0,0,2460,2459,1,0,0,0,2460,2461,1,0,0,0,2461,359,1,0,0,0,2462,2464,3,364,182,0,2463,2462,1,0,0,0,2463,2464,1,0,0,0,2464,2465,1,0,0,0,2465,2466,3,362,181,0,2466,361,1,0,0,0,2467,2470,3,368,184,0,2468,2470,3,372,186,0,2469,2467,1,0,0,0,2469,2468,1,0,0,0,2470,363,1,0,0,0,2471,2472,5,387,0,0,2472,2477,3,366,183,0,2473,2474,5,397,0,0,2474,2476,3,366,183,0,2475,2473,1,0,0,0,2476,2479,1,0,0,0,2477,2475,1,0,0,0,2477,2478,1,0,0,0,2478,365,1,0,0,0,2479,2477,1,0,0,0,2480,2485,3,638,319,0,2481,2482,5,399,0,0,2482,2483,3,254,127,0,2483,2484,5,400,0,0,2484,2486,1,0,0,0,2485,2481,1,0,0,0,2485,2486,1,0,0,0,2486,2487,1,0,0,0,2487,2488,5,17,0,0,2488,2489,5,399,0,0,2489,2490,3,360,180,0,2490,2491,5,400,0,0,2491,367,1,0,0,0,2492,2498,3,370,185,0,2493,2494,3,358,179,0,2494,2495,3,370,185,0,2495,2497,1,0,0,0,2496,2493,1,0,0,0,2497,2500,1,0,0,0,2498,2496,1,0,0,0,2498,2499,1,0,0,0,2499,369,1,0,0,0,2500,2498,1,0,0,0,2501,2502,3,448,224,0,2502,2503,3,382,191,0,2503,2505,3,500,250,0,2504,2506,3,462,231,0,2505,2504,1,0,0,0,2505,2506,1,0,0,0,2506,2508,1,0,0,0,2507,2509,3,494,247,0,2508,2507,1,0,0,0,2508,2509,1,0,0,0,2509,2511,1,0,0,0,2510,2512,3,520,260,0,2511,2510,1,0,0,0,2511,2512,1,0,0,0,2512,2514,1,0,0,0,2513,2515,3,528,264,0,2514,2513,1,0,0,0,2514,2515,1,0,0,0,2515,2517,1,0,0,0,2516,2518,3,512,256,0,2517,2516,1,0,0,0,2517,2518,1,0,0,0,2518,2520,1,0,0,0,2519,2521,3,530,265,0,2520,2519,1,0,0,0,2520,2521,1,0,0,0,2521,2523,1,0,0,0,2522,2524,3,542,271,0,2523,2522,1,0,0,0,2523,2524,1,0,0,0,2524,2526,1,0,0,0,2525,2527,3,544,272,0,2526,2525,1,0,0,0,2526,2527,1,0,0,0,2527,2529,1,0,0,0,2528,2530,3,546,273,0,2529,2528,1,0,0,0,2529,2530,1,0,0,0,2530,2532,1,0,0,0,2531,2533,3,548,274,0,2532,2531,1,0,0,0,2532,2533,1,0,0,0,2533,2535,1,0,0,0,2534,2536,3,386,193,0,2535,2534,1,0,0,0,2535,2536,1,0,0,0,2536,2573,1,0,0,0,2537,2538,3,448,224,0,2538,2540,3,500,250,0,2539,2541,3,462,231,0,2540,2539,1,0,0,0,2540,2541,1,0,0,0,2541,2543,1,0,0,0,2542,2544,3,494,247,0,2543,2542,1,0,0,0,2543,2544,1,0,0,0,2544,2546,1,0,0,0,2545,2547,3,520,260,0,2546,2545,1,0,0,0,2546,2547,1,0,0,0,2547,2549,1,0,0,0,2548,2550,3,528,264,0,2549,2548,1,0,0,0,2549,2550,1,0,0,0,2550,2552,1,0,0,0,2551,2553,3,512,256,0,2552,2551,1,0,0,0,2552,2553,1,0,0,0,2553,2555,1,0,0,0,2554,2556,3,530,265,0,2555,2554,1,0,0,0,2555,2556,1,0,0,0,2556,2558,1,0,0,0,2557,2559,3,542,271,0,2558,2557,1,0,0,0,2558,2559,1,0,0,0,2559,2561,1,0,0,0,2560,2562,3,544,272,0,2561,2560,1,0,0,0,2561,2562,1,0,0,0,2562,2564,1,0,0,0,2563,2565,3,546,273,0,2564,2563,1,0,0,0,2564,2565,1,0,0,0,2565,2567,1,0,0,0,2566,2568,3,548,274,0,2567,2566,1,0,0,0,2567,2568,1,0,0,0,2568,2570,1,0,0,0,2569,2571,3,386,193,0,2570,2569,1,0,0,0,2570,2571,1,0,0,0,2571,2573,1,0,0,0,2572,2501,1,0,0,0,2572,2537,1,0,0,0,2573,371,1,0,0,0,2574,2575,3,382,191,0,2575,2576,3,376,188,0,2576,2579,1,0,0,0,2577,2579,3,376,188,0,2578,2574,1,0,0,0,2578,2577,1,0,0,0,2579,373,1,0,0,0,2580,2582,3,500,250,0,2581,2583,3,448,224,0,2582,2581,1,0,0,0,2582,2583,1,0,0,0,2583,2585,1,0,0,0,2584,2586,3,494,247,0,2585,2584,1,0,0,0,2585,2586,1,0,0,0,2586,2588,1,0,0,0,2587,2589,3,520,260,0,2588,2587,1,0,0,0,2588,2589,1,0,0,0,2589,2591,1,0,0,0,2590,2592,3,528,264,0,2591,2590,1,0,0,0,2591,2592,1,0,0,0,2592,2594,1,0,0,0,2593,2595,3,512,256,0,2594,2593,1,0,0,0,2594,2595,1,0,0,0,2595,2597,1,0,0,0,2596,2598,3,530,265,0,2597,2596,1,0,0,0,2597,2598,1,0,0,0,2598,2605,1,0,0,0,2599,2600,5,399,0,0,2600,2601,3,376,188,0,2601,2602,5,400,0,0,2602,2605,1,0,0,0,2603,2605,3,496,248,0,2604,2580,1,0,0,0,2604,2599,1,0,0,0,2604,2603,1,0,0,0,2605,375,1,0,0,0,2606,2608,3,374,187,0,2607,2609,3,378,189,0,2608,2607,1,0,0,0,2608,2609,1,0,0,0,2609,2611,1,0,0,0,2610,2612,3,542,271,0,2611,2610,1,0,0,0,2611,2612,1,0,0,0,2612,2614,1,0,0,0,2613,2615,3,544,272,0,2614,2613,1,0,0,0,2614,2615,1,0,0,0,2615,2617,1,0,0,0,2616,2618,3,546,273,0,2617,2616,1,0,0,0,2617,2618,1,0,0,0,2618,2620,1,0,0,0,2619,2621,3,548,274,0,2620,2619,1,0,0,0,2620,2621,1,0,0,0,2621,2623,1,0,0,0,2622,2624,3,386,193,0,2623,2622,1,0,0,0,2623,2624,1,0,0,0,2624,377,1,0,0,0,2625,2626,3,358,179,0,2626,2627,3,374,187,0,2627,2629,1,0,0,0,2628,2625,1,0,0,0,2629,2630,1,0,0,0,2630,2628,1,0,0,0,2630,2631,1,0,0,0,2631,379,1,0,0,0,2632,2634,3,364,182,0,2633,2632,1,0,0,0,2633,2634,1,0,0,0,2634,2635,1,0,0,0,2635,2636,3,376,188,0,2636,381,1,0,0,0,2637,2654,5,161,0,0,2638,2639,5,235,0,0,2639,2641,3,384,192,0,2640,2642,3,32,16,0,2641,2640,1,0,0,0,2641,2642,1,0,0,0,2642,2655,1,0,0,0,2643,2645,5,166,0,0,2644,2646,5,329,0,0,2645,2644,1,0,0,0,2645,2646,1,0,0,0,2646,2647,1,0,0,0,2647,2652,3,624,312,0,2648,2649,5,399,0,0,2649,2650,3,254,127,0,2650,2651,5,400,0,0,2651,2653,1,0,0,0,2652,2648,1,0,0,0,2652,2653,1,0,0,0,2653,2655,1,0,0,0,2654,2638,1,0,0,0,2654,2643,1,0,0,0,2655,383,1,0,0,0,2656,2658,5,188,0,0,2657,2656,1,0,0,0,2657,2658,1,0,0,0,2658,2659,1,0,0,0,2659,2660,5,93,0,0,2660,2662,5,426,0,0,2661,2663,3,222,111,0,2662,2661,1,0,0,0,2662,2663,1,0,0,0,2663,2665,1,0,0,0,2664,2666,3,246,123,0,2665,2664,1,0,0,0,2665,2666,1,0,0,0,2666,2670,1,0,0,0,2667,2668,5,329,0,0,2668,2670,3,624,312,0,2669,2657,1,0,0,0,2669,2667,1,0,0,0,2670,385,1,0,0,0,2671,2680,5,185,0,0,2672,2673,5,431,0,0,2673,2675,5,397,0,0,2674,2672,1,0,0,0,2674,2675,1,0,0,0,2675,2676,1,0,0,0,2676,2681,5,431,0,0,2677,2678,5,431,0,0,2678,2679,5,223,0,0,2679,2681,5,431,0,0,2680,2674,1,0,0,0,2680,2677,1,0,0,0,2681,387,1,0,0,0,2682,2683,3,256,128,0,2683,2684,5,405,0,0,2684,2685,3,390,195,0,2685,389,1,0,0,0,2686,2689,5,83,0,0,2687,2689,3,590,295,0,2688,2686,1,0,0,0,2688,2687,1,0,0,0,2689,391,1,0,0,0,2690,2691,5,304,0,0,2691,2696,3,388,194,0,2692,2693,5,397,0,0,2693,2695,3,388,194,0,2694,2692,1,0,0,0,2695,2698,1,0,0,0,2696,2694,1,0,0,0,2696,2697,1,0,0,0,2697,393,1,0,0,0,2698,2696,1,0,0,0,2699,2700,5,318,0,0,2700,2709,5,344,0,0,2701,2706,3,396,198,0,2702,2703,5,397,0,0,2703,2705,3,396,198,0,2704,2702,1,0,0,0,2705,2708,1,0,0,0,2706,2704,1,0,0,0,2706,2707,1,0,0,0,2707,2710,1,0,0,0,2708,2706,1,0,0,0,2709,2701,1,0,0,0,2709,2710,1,0,0,0,2710,2723,1,0,0,0,2711,2713,5,48,0,0,2712,2714,5,389,0,0,2713,2712,1,0,0,0,2713,2714,1,0,0,0,2714,2723,1,0,0,0,2715,2717,5,289,0,0,2716,2718,5,389,0,0,2717,2716,1,0,0,0,2717,2718,1,0,0,0,2718,2723,1,0,0,0,2719,2720,5,304,0,0,2720,2721,5,22,0,0,2721,2723,7,23,0,0,2722,2699,1,0,0,0,2722,2711,1,0,0,0,2722,2715,1,0,0,0,2722,2719,1,0,0,0,2723,395,1,0,0,0,2724,2725,5,168,0,0,2725,2726,5,182,0,0,2726,2730,5,312,0,0,2727,2728,5,261,0,0,2728,2730,7,24,0,0,2729,2724,1,0,0,0,2729,2727,1,0,0,0,2730,397,1,0,0,0,2731,2734,3,402,201,0,2732,2734,3,404,202,0,2733,2731,1,0,0,0,2733,2732,1,0,0,0,2734,2737,1,0,0,0,2735,2733,1,0,0,0,2735,2736,1,0,0,0,2736,2739,1,0,0,0,2737,2735,1,0,0,0,2738,2740,3,400,200,0,2739,2738,1,0,0,0,2739,2740,1,0,0,0,2740,399,1,0,0,0,2741,2742,5,383,0,0,2742,2743,5,216,0,0,2743,2746,5,201,0,0,2744,2745,5,11,0,0,2745,2747,3,580,290,0,2746,2744,1,0,0,0,2746,2747,1,0,0,0,2747,2748,1,0,0,0,2748,2749,5,335,0,0,2749,2751,5,161,0,0,2750,2752,3,264,132,0,2751,2750,1,0,0,0,2751,2752,1,0,0,0,2752,2753,1,0,0,0,2753,2754,5,374,0,0,2754,2755,3,538,269,0,2755,401,1,0,0,0,2756,2757,5,383,0,0,2757,2758,5,201,0,0,2758,2759,5,11,0,0,2759,2760,3,580,290,0,2760,2764,5,335,0,0,2761,2762,5,365,0,0,2762,2765,3,392,196,0,2763,2765,5,86,0,0,2764,2761,1,0,0,0,2764,2763,1,0,0,0,2765,403,1,0,0,0,2766,2767,5,383,0,0,2767,2768,5,201,0,0,2768,2772,5,335,0,0,2769,2770,5,365,0,0,2770,2773,3,392,196,0,2771,2773,5,86,0,0,2772,2769,1,0,0,0,2772,2771,1,0,0,0,2773,405,1,0,0,0,2774,2775,5,246,0,0,2775,2776,5,426,0,0,2776,407,1,0,0,0,2777,2778,5,352,0,0,2778,2779,5,426,0,0,2779,409,1,0,0,0,2780,2781,5,320,0,0,2781,2782,5,426,0,0,2782,411,1,0,0,0,2783,2814,5,9,0,0,2784,2785,5,329,0,0,2785,2786,3,478,239,0,2786,2787,3,414,207,0,2787,2815,1,0,0,0,2788,2789,5,378,0,0,2789,2791,3,482,241,0,2790,2792,5,17,0,0,2791,2790,1,0,0,0,2791,2792,1,0,0,0,2792,2793,1,0,0,0,2793,2794,3,418,209,0,2794,2815,1,0,0,0,2795,2796,5,202,0,0,2796,2797,5,378,0,0,2797,2801,3,482,241,0,2798,2802,3,36,18,0,2799,2802,3,38,19,0,2800,2802,5,265,0,0,2801,2798,1,0,0,0,2801,2799,1,0,0,0,2801,2800,1,0,0,0,2802,2815,1,0,0,0,2803,2804,3,70,35,0,2804,2805,3,420,210,0,2805,2815,1,0,0,0,2806,2807,5,69,0,0,2807,2815,3,422,211,0,2808,2809,5,155,0,0,2809,2810,3,638,319,0,2810,2811,5,224,0,0,2811,2812,3,624,312,0,2812,2813,5,265,0,0,2813,2815,1,0,0,0,2814,2784,1,0,0,0,2814,2788,1,0,0,0,2814,2795,1,0,0,0,2814,2803,1,0,0,0,2814,2806,1,0,0,0,2814,2808,1,0,0,0,2815,413,1,0,0,0,2816,2817,5,274,0,0,2817,2818,5,341,0,0,2818,2906,3,480,240,0,2819,2820,5,102,0,0,2820,2906,5,239,0,0,2821,2906,3,426,213,0,2822,2824,5,4,0,0,2823,2825,3,32,16,0,2824,2823,1,0,0,0,2824,2825,1,0,0,0,2825,2830,1,0,0,0,2826,2828,3,626,313,0,2827,2829,3,424,212,0,2828,2827,1,0,0,0,2828,2829,1,0,0,0,2829,2831,1,0,0,0,2830,2826,1,0,0,0,2831,2832,1,0,0,0,2832,2830,1,0,0,0,2832,2833,1,0,0,0,2833,2906,1,0,0,0,2834,2838,5,342,0,0,2835,2837,3,626,313,0,2836,2835,1,0,0,0,2837,2840,1,0,0,0,2838,2836,1,0,0,0,2838,2839,1,0,0,0,2839,2906,1,0,0,0,2840,2838,1,0,0,0,2841,2845,5,15,0,0,2842,2844,3,626,313,0,2843,2842,1,0,0,0,2844,2847,1,0,0,0,2845,2843,1,0,0,0,2845,2846,1,0,0,0,2846,2906,1,0,0,0,2847,2845,1,0,0,0,2848,2852,5,353,0,0,2849,2851,3,626,313,0,2850,2849,1,0,0,0,2851,2854,1,0,0,0,2852,2850,1,0,0,0,2852,2853,1,0,0,0,2853,2906,1,0,0,0,2854,2852,1,0,0,0,2855,2856,5,304,0,0,2856,2857,5,332,0,0,2857,2906,3,226,113,0,2858,2859,5,363,0,0,2859,2861,5,332,0,0,2860,2862,3,30,15,0,2861,2860,1,0,0,0,2861,2862,1,0,0,0,2862,2863,1,0,0,0,2863,2906,3,226,113,0,2864,2906,3,210,105,0,2865,2868,5,216,0,0,2866,2869,5,310,0,0,2867,2869,3,40,20,0,2868,2866,1,0,0,0,2868,2867,1,0,0,0,2869,2906,1,0,0,0,2870,2871,5,113,0,0,2871,2872,3,626,313,0,2872,2873,5,387,0,0,2873,2874,5,329,0,0,2874,2875,3,478,239,0,2875,2906,1,0,0,0,2876,2877,5,237,0,0,2877,2878,5,45,0,0,2878,2879,5,399,0,0,2879,2880,3,310,155,0,2880,2881,5,400,0,0,2881,2906,1,0,0,0,2882,2883,5,101,0,0,2883,2884,5,55,0,0,2884,2906,3,638,319,0,2885,2888,5,4,0,0,2886,2889,3,288,144,0,2887,2889,3,278,139,0,2888,2886,1,0,0,0,2888,2887,1,0,0,0,2889,2906,1,0,0,0,2890,2892,3,626,313,0,2891,2890,1,0,0,0,2891,2892,1,0,0,0,2892,2893,1,0,0,0,2893,2906,3,416,208,0,2894,2895,5,304,0,0,2895,2896,5,236,0,0,2896,2906,3,126,63,0,2897,2898,5,304,0,0,2898,2899,5,237,0,0,2899,2900,5,316,0,0,2900,2901,5,399,0,0,2901,2902,3,204,102,0,2902,2903,5,400,0,0,2903,2906,1,0,0,0,2904,2906,3,430,215,0,2905,2816,1,0,0,0,2905,2819,1,0,0,0,2905,2821,1,0,0,0,2905,2822,1,0,0,0,2905,2834,1,0,0,0,2905,2841,1,0,0,0,2905,2848,1,0,0,0,2905,2855,1,0,0,0,2905,2858,1,0,0,0,2905,2864,1,0,0,0,2905,2865,1,0,0,0,2905,2870,1,0,0,0,2905,2876,1,0,0,0,2905,2882,1,0,0,0,2905,2885,1,0,0,0,2905,2891,1,0,0,0,2905,2894,1,0,0,0,2905,2897,1,0,0,0,2905,2904,1,0,0,0,2906,415,1,0,0,0,2907,2908,5,304,0,0,2908,2909,5,129,0,0,2909,3040,3,432,216,0,2910,2911,5,304,0,0,2911,2912,5,189,0,0,2912,3040,5,426,0,0,2913,3040,5,53,0,0,2914,2924,5,304,0,0,2915,2916,5,301,0,0,2916,2920,5,426,0,0,2917,2918,5,387,0,0,2918,2919,5,302,0,0,2919,2921,3,226,113,0,2920,2917,1,0,0,0,2920,2921,1,0,0,0,2921,2925,1,0,0,0,2922,2923,5,302,0,0,2923,2925,3,226,113,0,2924,2915,1,0,0,0,2924,2922,1,0,0,0,2925,3040,1,0,0,0,2926,2927,5,363,0,0,2927,2928,5,302,0,0,2928,3040,3,226,113,0,2929,2930,5,274,0,0,2930,2931,5,341,0,0,2931,3040,3,626,313,0,2932,2933,5,166,0,0,2933,2934,5,431,0,0,2934,3040,5,31,0,0,2935,2936,5,304,0,0,2936,2937,5,310,0,0,2937,2938,5,189,0,0,2938,2939,5,399,0,0,2939,2944,3,428,214,0,2940,2941,5,397,0,0,2941,2943,3,428,214,0,2942,2940,1,0,0,0,2943,2946,1,0,0,0,2944,2942,1,0,0,0,2944,2945,1,0,0,0,2945,2947,1,0,0,0,2946,2944,1,0,0,0,2947,2948,5,400,0,0,2948,3040,1,0,0,0,2949,2950,5,216,0,0,2950,3040,7,25,0,0,2951,3040,3,208,104,0,2952,2953,5,49,0,0,2953,2956,5,426,0,0,2954,2955,5,11,0,0,2955,2957,5,380,0,0,2956,2954,1,0,0,0,2956,2957,1,0,0,0,2957,2962,1,0,0,0,2958,2959,5,42,0,0,2959,2960,5,166,0,0,2960,2961,5,431,0,0,2961,2963,5,31,0,0,2962,2958,1,0,0,0,2962,2963,1,0,0,0,2963,2965,1,0,0,0,2964,2966,3,542,271,0,2965,2964,1,0,0,0,2965,2966,1,0,0,0,2966,2968,1,0,0,0,2967,2969,3,406,203,0,2968,2967,1,0,0,0,2968,2969,1,0,0,0,2969,2974,1,0,0,0,2970,2971,5,387,0,0,2971,2972,5,235,0,0,2972,2973,5,332,0,0,2973,2975,3,226,113,0,2974,2970,1,0,0,0,2974,2975,1,0,0,0,2975,3040,1,0,0,0,2976,2977,5,365,0,0,2977,2978,5,319,0,0,2978,2980,5,134,0,0,2979,2981,5,45,0,0,2980,2979,1,0,0,0,2980,2981,1,0,0,0,2981,2982,1,0,0,0,2982,2983,3,256,128,0,2983,2984,5,304,0,0,2984,2987,3,226,113,0,2985,2986,5,47,0,0,2986,2988,5,426,0,0,2987,2985,1,0,0,0,2987,2988,1,0,0,0,2988,3040,1,0,0,0,2989,2990,5,365,0,0,2990,2991,5,319,0,0,2991,2992,5,304,0,0,2992,3040,3,226,113,0,2993,2995,5,38,0,0,2994,2996,5,45,0,0,2995,2994,1,0,0,0,2995,2996,1,0,0,0,2996,2997,1,0,0,0,2997,2998,3,256,128,0,2998,2999,3,258,129,0,2999,3001,3,342,171,0,3e3,3002,3,324,162,0,3001,3e3,1,0,0,0,3001,3002,1,0,0,0,3002,3005,1,0,0,0,3003,3004,5,47,0,0,3004,3006,5,426,0,0,3005,3003,1,0,0,0,3005,3006,1,0,0,0,3006,3010,1,0,0,0,3007,3011,5,130,0,0,3008,3009,5,6,0,0,3009,3011,3,638,319,0,3010,3007,1,0,0,0,3010,3008,1,0,0,0,3010,3011,1,0,0,0,3011,3013,1,0,0,0,3012,3014,3,34,17,0,3013,3012,1,0,0,0,3013,3014,1,0,0,0,3014,3040,1,0,0,0,3015,3018,5,4,0,0,3016,3018,5,278,0,0,3017,3015,1,0,0,0,3017,3016,1,0,0,0,3018,3019,1,0,0,0,3019,3020,5,46,0,0,3020,3021,5,399,0,0,3021,3022,3,248,124,0,3022,3024,5,400,0,0,3023,3025,3,34,17,0,3024,3023,1,0,0,0,3024,3025,1,0,0,0,3025,3040,1,0,0,0,3026,3027,5,365,0,0,3027,3029,5,46,0,0,3028,3030,3,34,17,0,3029,3028,1,0,0,0,3029,3030,1,0,0,0,3030,3040,1,0,0,0,3031,3037,3,268,134,0,3032,3034,5,218,0,0,3033,3035,5,34,0,0,3034,3033,1,0,0,0,3034,3035,1,0,0,0,3035,3038,1,0,0,0,3036,3038,5,222,0,0,3037,3032,1,0,0,0,3037,3036,1,0,0,0,3038,3040,1,0,0,0,3039,2907,1,0,0,0,3039,2910,1,0,0,0,3039,2913,1,0,0,0,3039,2914,1,0,0,0,3039,2926,1,0,0,0,3039,2929,1,0,0,0,3039,2932,1,0,0,0,3039,2935,1,0,0,0,3039,2949,1,0,0,0,3039,2951,1,0,0,0,3039,2952,1,0,0,0,3039,2976,1,0,0,0,3039,2989,1,0,0,0,3039,2993,1,0,0,0,3039,3017,1,0,0,0,3039,3026,1,0,0,0,3039,3031,1,0,0,0,3040,417,1,0,0,0,3041,3042,5,304,0,0,3042,3043,5,332,0,0,3043,3068,3,226,113,0,3044,3045,5,363,0,0,3045,3047,5,332,0,0,3046,3048,3,30,15,0,3047,3046,1,0,0,0,3047,3048,1,0,0,0,3048,3049,1,0,0,0,3049,3068,3,226,113,0,3050,3051,5,274,0,0,3051,3052,5,341,0,0,3052,3068,3,480,240,0,3053,3055,5,4,0,0,3054,3056,3,32,16,0,3055,3054,1,0,0,0,3055,3056,1,0,0,0,3056,3061,1,0,0,0,3057,3059,3,626,313,0,3058,3060,3,424,212,0,3059,3058,1,0,0,0,3059,3060,1,0,0,0,3060,3062,1,0,0,0,3061,3057,1,0,0,0,3062,3063,1,0,0,0,3063,3061,1,0,0,0,3063,3064,1,0,0,0,3064,3068,1,0,0,0,3065,3068,3,426,213,0,3066,3068,3,380,190,0,3067,3041,1,0,0,0,3067,3044,1,0,0,0,3067,3050,1,0,0,0,3067,3053,1,0,0,0,3067,3065,1,0,0,0,3067,3066,1,0,0,0,3068,419,1,0,0,0,3069,3070,3,472,236,0,3070,3071,5,304,0,0,3071,3072,5,76,0,0,3072,3073,3,230,115,0,3073,3085,1,0,0,0,3074,3075,3,472,236,0,3075,3076,5,304,0,0,3076,3077,5,236,0,0,3077,3078,3,128,64,0,3078,3085,1,0,0,0,3079,3080,3,472,236,0,3080,3081,5,304,0,0,3081,3082,7,26,0,0,3082,3083,5,426,0,0,3083,3085,1,0,0,0,3084,3069,1,0,0,0,3084,3074,1,0,0,0,3084,3079,1,0,0,0,3085,421,1,0,0,0,3086,3087,3,472,236,0,3087,3088,5,304,0,0,3088,3089,5,77,0,0,3089,3090,3,230,115,0,3090,3102,1,0,0,0,3091,3092,3,472,236,0,3092,3093,5,304,0,0,3093,3094,5,236,0,0,3094,3095,3,128,64,0,3095,3102,1,0,0,0,3096,3097,3,472,236,0,3097,3098,5,304,0,0,3098,3099,5,367,0,0,3099,3100,5,426,0,0,3100,3102,1,0,0,0,3101,3086,1,0,0,0,3101,3091,1,0,0,0,3101,3096,1,0,0,0,3102,423,1,0,0,0,3103,3104,5,189,0,0,3104,3105,5,426,0,0,3105,425,1,0,0,0,3106,3108,5,101,0,0,3107,3109,3,30,15,0,3108,3107,1,0,0,0,3108,3109,1,0,0,0,3109,3110,1,0,0,0,3110,3111,5,237,0,0,3111,3117,3,630,315,0,3112,3113,5,397,0,0,3113,3114,5,237,0,0,3114,3116,3,630,315,0,3115,3112,1,0,0,0,3116,3119,1,0,0,0,3117,3115,1,0,0,0,3117,3118,1,0,0,0,3118,3122,1,0,0,0,3119,3117,1,0,0,0,3120,3121,5,152,0,0,3121,3123,5,254,0,0,3122,3120,1,0,0,0,3122,3123,1,0,0,0,3123,3125,1,0,0,0,3124,3126,5,255,0,0,3125,3124,1,0,0,0,3125,3126,1,0,0,0,3126,3128,1,0,0,0,3127,3129,3,14,7,0,3128,3127,1,0,0,0,3128,3129,1,0,0,0,3129,427,1,0,0,0,3130,3133,3,572,286,0,3131,3133,3,294,147,0,3132,3130,1,0,0,0,3132,3131,1,0,0,0,3133,3134,1,0,0,0,3134,3135,5,405,0,0,3135,3136,5,426,0,0,3136,429,1,0,0,0,3137,3147,5,115,0,0,3138,3139,5,289,0,0,3139,3140,5,399,0,0,3140,3148,7,27,0,0,3141,3142,5,118,0,0,3142,3143,5,399,0,0,3143,3148,5,426,0,0,3144,3145,5,306,0,0,3145,3146,5,399,0,0,3146,3148,5,431,0,0,3147,3138,1,0,0,0,3147,3141,1,0,0,0,3147,3144,1,0,0,0,3148,3149,1,0,0,0,3149,3150,5,400,0,0,3150,431,1,0,0,0,3151,3152,5,160,0,0,3152,3153,5,426,0,0,3153,3154,5,233,0,0,3154,3155,5,426,0,0,3155,3156,5,301,0,0,3156,3161,5,426,0,0,3157,3158,5,159,0,0,3158,3159,5,426,0,0,3159,3160,5,232,0,0,3160,3162,5,426,0,0,3161,3157,1,0,0,0,3161,3162,1,0,0,0,3162,3165,1,0,0,0,3163,3165,3,638,319,0,3164,3151,1,0,0,0,3164,3163,1,0,0,0,3165,433,1,0,0,0,3166,3167,5,184,0,0,3167,3176,5,128,0,0,3168,3169,5,184,0,0,3169,3170,5,128,0,0,3170,3171,3,638,319,0,3171,3172,5,426,0,0,3172,3176,1,0,0,0,3173,3174,5,184,0,0,3174,3176,3,478,239,0,3175,3166,1,0,0,0,3175,3168,1,0,0,0,3175,3173,1,0,0,0,3176,435,1,0,0,0,3177,3179,5,58,0,0,3178,3180,5,333,0,0,3179,3178,1,0,0,0,3179,3180,1,0,0,0,3180,3182,1,0,0,0,3181,3183,5,345,0,0,3182,3181,1,0,0,0,3182,3183,1,0,0,0,3183,3185,1,0,0,0,3184,3186,5,123,0,0,3185,3184,1,0,0,0,3185,3186,1,0,0,0,3186,3187,1,0,0,0,3187,3189,5,329,0,0,3188,3190,3,32,16,0,3189,3188,1,0,0,0,3189,3190,1,0,0,0,3190,3191,1,0,0,0,3191,3248,3,480,240,0,3192,3194,3,434,217,0,3193,3195,3,200,100,0,3194,3193,1,0,0,0,3194,3195,1,0,0,0,3195,3197,1,0,0,0,3196,3198,3,222,111,0,3197,3196,1,0,0,0,3197,3198,1,0,0,0,3198,3200,1,0,0,0,3199,3201,3,246,123,0,3200,3199,1,0,0,0,3200,3201,1,0,0,0,3201,3203,1,0,0,0,3202,3204,3,424,212,0,3203,3202,1,0,0,0,3203,3204,1,0,0,0,3204,3206,1,0,0,0,3205,3207,3,224,112,0,3206,3205,1,0,0,0,3206,3207,1,0,0,0,3207,3209,1,0,0,0,3208,3210,3,198,99,0,3209,3208,1,0,0,0,3209,3210,1,0,0,0,3210,3249,1,0,0,0,3211,3212,5,399,0,0,3212,3213,3,250,125,0,3213,3214,5,400,0,0,3214,3216,1,0,0,0,3215,3211,1,0,0,0,3215,3216,1,0,0,0,3216,3218,1,0,0,0,3217,3219,3,196,98,0,3218,3217,1,0,0,0,3218,3219,1,0,0,0,3219,3221,1,0,0,0,3220,3222,3,200,100,0,3221,3220,1,0,0,0,3221,3222,1,0,0,0,3222,3224,1,0,0,0,3223,3225,3,208,104,0,3224,3223,1,0,0,0,3224,3225,1,0,0,0,3225,3227,1,0,0,0,3226,3228,3,210,105,0,3227,3226,1,0,0,0,3227,3228,1,0,0,0,3228,3230,1,0,0,0,3229,3231,3,222,111,0,3230,3229,1,0,0,0,3230,3231,1,0,0,0,3231,3233,1,0,0,0,3232,3234,3,246,123,0,3233,3232,1,0,0,0,3233,3234,1,0,0,0,3234,3236,1,0,0,0,3235,3237,3,424,212,0,3236,3235,1,0,0,0,3236,3237,1,0,0,0,3237,3239,1,0,0,0,3238,3240,3,224,112,0,3239,3238,1,0,0,0,3239,3240,1,0,0,0,3240,3242,1,0,0,0,3241,3243,3,198,99,0,3242,3241,1,0,0,0,3242,3243,1,0,0,0,3243,3246,1,0,0,0,3244,3245,5,17,0,0,3245,3247,3,380,190,0,3246,3244,1,0,0,0,3246,3247,1,0,0,0,3247,3249,1,0,0,0,3248,3192,1,0,0,0,3248,3215,1,0,0,0,3249,3313,1,0,0,0,3250,3251,5,58,0,0,3251,3252,5,195,0,0,3252,3254,5,329,0,0,3253,3255,3,32,16,0,3254,3253,1,0,0,0,3254,3255,1,0,0,0,3255,3256,1,0,0,0,3256,3310,3,480,240,0,3257,3259,3,434,217,0,3258,3260,3,222,111,0,3259,3258,1,0,0,0,3259,3260,1,0,0,0,3260,3262,1,0,0,0,3261,3263,3,246,123,0,3262,3261,1,0,0,0,3262,3263,1,0,0,0,3263,3265,1,0,0,0,3264,3266,3,424,212,0,3265,3264,1,0,0,0,3265,3266,1,0,0,0,3266,3268,1,0,0,0,3267,3269,3,224,112,0,3268,3267,1,0,0,0,3268,3269,1,0,0,0,3269,3271,1,0,0,0,3270,3272,3,198,99,0,3271,3270,1,0,0,0,3271,3272,1,0,0,0,3272,3311,1,0,0,0,3273,3274,5,399,0,0,3274,3275,3,250,125,0,3275,3276,5,400,0,0,3276,3278,1,0,0,0,3277,3273,1,0,0,0,3277,3278,1,0,0,0,3278,3280,1,0,0,0,3279,3281,3,196,98,0,3280,3279,1,0,0,0,3280,3281,1,0,0,0,3281,3283,1,0,0,0,3282,3284,3,200,100,0,3283,3282,1,0,0,0,3283,3284,1,0,0,0,3284,3286,1,0,0,0,3285,3287,3,208,104,0,3286,3285,1,0,0,0,3286,3287,1,0,0,0,3287,3289,1,0,0,0,3288,3290,3,210,105,0,3289,3288,1,0,0,0,3289,3290,1,0,0,0,3290,3292,1,0,0,0,3291,3293,3,222,111,0,3292,3291,1,0,0,0,3292,3293,1,0,0,0,3293,3295,1,0,0,0,3294,3296,3,246,123,0,3295,3294,1,0,0,0,3295,3296,1,0,0,0,3296,3298,1,0,0,0,3297,3299,3,424,212,0,3298,3297,1,0,0,0,3298,3299,1,0,0,0,3299,3301,1,0,0,0,3300,3302,3,224,112,0,3301,3300,1,0,0,0,3301,3302,1,0,0,0,3302,3304,1,0,0,0,3303,3305,3,198,99,0,3304,3303,1,0,0,0,3304,3305,1,0,0,0,3305,3308,1,0,0,0,3306,3307,5,17,0,0,3307,3309,3,380,190,0,3308,3306,1,0,0,0,3308,3309,1,0,0,0,3309,3311,1,0,0,0,3310,3257,1,0,0,0,3310,3277,1,0,0,0,3311,3313,1,0,0,0,3312,3177,1,0,0,0,3312,3250,1,0,0,0,3313,437,1,0,0,0,3314,3315,5,58,0,0,3315,3317,5,69,0,0,3316,3318,3,32,16,0,3317,3316,1,0,0,0,3317,3318,1,0,0,0,3318,3319,1,0,0,0,3319,3322,3,638,319,0,3320,3321,5,352,0,0,3321,3323,5,426,0,0,3322,3320,1,0,0,0,3322,3323,1,0,0,0,3323,3326,1,0,0,0,3324,3325,5,367,0,0,3325,3327,5,426,0,0,3326,3324,1,0,0,0,3326,3327,1,0,0,0,3327,3330,1,0,0,0,3328,3329,5,47,0,0,3329,3331,5,426,0,0,3330,3328,1,0,0,0,3330,3331,1,0,0,0,3331,3335,1,0,0,0,3332,3333,5,387,0,0,3333,3334,5,77,0,0,3334,3336,3,230,115,0,3335,3332,1,0,0,0,3335,3336,1,0,0,0,3336,439,1,0,0,0,3337,3338,5,101,0,0,3338,3340,5,69,0,0,3339,3341,3,30,15,0,3340,3339,1,0,0,0,3340,3341,1,0,0,0,3341,3342,1,0,0,0,3342,3343,3,638,319,0,3343,441,1,0,0,0,3344,3345,3,638,319,0,3345,3346,5,395,0,0,3346,3348,1,0,0,0,3347,3344,1,0,0,0,3348,3351,1,0,0,0,3349,3347,1,0,0,0,3349,3350,1,0,0,0,3350,3352,1,0,0,0,3351,3349,1,0,0,0,3352,3353,5,415,0,0,3353,443,1,0,0,0,3354,3359,3,580,290,0,3355,3356,5,397,0,0,3356,3358,3,580,290,0,3357,3355,1,0,0,0,3358,3361,1,0,0,0,3359,3357,1,0,0,0,3359,3360,1,0,0,0,3360,445,1,0,0,0,3361,3359,1,0,0,0,3362,3367,3,638,319,0,3363,3364,5,397,0,0,3364,3366,3,638,319,0,3365,3363,1,0,0,0,3366,3369,1,0,0,0,3367,3365,1,0,0,0,3367,3368,1,0,0,0,3368,447,1,0,0,0,3369,3367,1,0,0,0,3370,3371,5,139,0,0,3371,3372,3,450,225,0,3372,449,1,0,0,0,3373,3374,5,359,0,0,3374,3377,3,458,229,0,3375,3376,5,397,0,0,3376,3378,3,458,229,0,3377,3375,1,0,0,0,3378,3379,1,0,0,0,3379,3377,1,0,0,0,3379,3380,1,0,0,0,3380,3383,1,0,0,0,3381,3383,3,454,227,0,3382,3373,1,0,0,0,3382,3381,1,0,0,0,3383,451,1,0,0,0,3384,3388,3,468,234,0,3385,3387,3,462,231,0,3386,3385,1,0,0,0,3387,3390,1,0,0,0,3388,3386,1,0,0,0,3388,3389,1,0,0,0,3389,3417,1,0,0,0,3390,3388,1,0,0,0,3391,3395,3,498,249,0,3392,3394,3,462,231,0,3393,3392,1,0,0,0,3394,3397,1,0,0,0,3395,3393,1,0,0,0,3395,3396,1,0,0,0,3396,3417,1,0,0,0,3397,3395,1,0,0,0,3398,3402,3,486,243,0,3399,3401,3,462,231,0,3400,3399,1,0,0,0,3401,3404,1,0,0,0,3402,3400,1,0,0,0,3402,3403,1,0,0,0,3403,3417,1,0,0,0,3404,3402,1,0,0,0,3405,3409,3,492,246,0,3406,3408,3,462,231,0,3407,3406,1,0,0,0,3408,3411,1,0,0,0,3409,3407,1,0,0,0,3409,3410,1,0,0,0,3410,3417,1,0,0,0,3411,3409,1,0,0,0,3412,3413,5,399,0,0,3413,3414,3,454,227,0,3414,3415,5,400,0,0,3415,3417,1,0,0,0,3416,3384,1,0,0,0,3416,3391,1,0,0,0,3416,3398,1,0,0,0,3416,3405,1,0,0,0,3416,3412,1,0,0,0,3417,453,1,0,0,0,3418,3429,3,452,226,0,3419,3420,3,460,230,0,3420,3425,3,456,228,0,3421,3422,5,224,0,0,3422,3426,3,580,290,0,3423,3424,5,370,0,0,3424,3426,3,264,132,0,3425,3421,1,0,0,0,3425,3423,1,0,0,0,3425,3426,1,0,0,0,3426,3428,1,0,0,0,3427,3419,1,0,0,0,3428,3431,1,0,0,0,3429,3427,1,0,0,0,3429,3430,1,0,0,0,3430,455,1,0,0,0,3431,3429,1,0,0,0,3432,3437,3,468,234,0,3433,3437,3,498,249,0,3434,3437,3,486,243,0,3435,3437,3,492,246,0,3436,3432,1,0,0,0,3436,3433,1,0,0,0,3436,3434,1,0,0,0,3436,3435,1,0,0,0,3437,3441,1,0,0,0,3438,3440,3,462,231,0,3439,3438,1,0,0,0,3440,3443,1,0,0,0,3441,3439,1,0,0,0,3441,3442,1,0,0,0,3442,457,1,0,0,0,3443,3441,1,0,0,0,3444,3446,5,250,0,0,3445,3444,1,0,0,0,3445,3446,1,0,0,0,3446,3447,1,0,0,0,3447,3449,3,476,238,0,3448,3450,3,466,233,0,3449,3448,1,0,0,0,3449,3450,1,0,0,0,3450,3455,1,0,0,0,3451,3453,5,17,0,0,3452,3451,1,0,0,0,3452,3453,1,0,0,0,3453,3454,1,0,0,0,3454,3456,3,638,319,0,3455,3452,1,0,0,0,3455,3456,1,0,0,0,3456,3457,1,0,0,0,3457,3458,5,399,0,0,3458,3459,3,444,222,0,3459,3460,5,400,0,0,3460,459,1,0,0,0,3461,3476,5,397,0,0,3462,3473,5,157,0,0,3463,3473,5,60,0,0,3464,3466,7,28,0,0,3465,3467,5,231,0,0,3466,3465,1,0,0,0,3466,3467,1,0,0,0,3467,3473,1,0,0,0,3468,3470,5,180,0,0,3469,3471,7,29,0,0,3470,3469,1,0,0,0,3470,3471,1,0,0,0,3471,3473,1,0,0,0,3472,3462,1,0,0,0,3472,3463,1,0,0,0,3472,3464,1,0,0,0,3472,3468,1,0,0,0,3472,3473,1,0,0,0,3473,3474,1,0,0,0,3474,3476,5,171,0,0,3475,3461,1,0,0,0,3475,3472,1,0,0,0,3476,461,1,0,0,0,3477,3478,5,178,0,0,3478,3479,5,378,0,0,3479,3480,5,231,0,0,3480,3481,3,550,275,0,3481,3491,3,464,232,0,3482,3483,5,17,0,0,3483,3488,3,638,319,0,3484,3485,5,397,0,0,3485,3487,3,638,319,0,3486,3484,1,0,0,0,3487,3490,1,0,0,0,3488,3486,1,0,0,0,3488,3489,1,0,0,0,3489,3492,1,0,0,0,3490,3488,1,0,0,0,3491,3482,1,0,0,0,3491,3492,1,0,0,0,3492,3535,1,0,0,0,3493,3495,5,397,0,0,3494,3493,1,0,0,0,3494,3495,1,0,0,0,3495,3496,1,0,0,0,3496,3532,5,178,0,0,3497,3498,5,378,0,0,3498,3499,3,550,275,0,3499,3509,3,464,232,0,3500,3501,5,17,0,0,3501,3506,3,638,319,0,3502,3503,5,397,0,0,3503,3505,3,638,319,0,3504,3502,1,0,0,0,3505,3508,1,0,0,0,3506,3504,1,0,0,0,3506,3507,1,0,0,0,3507,3510,1,0,0,0,3508,3506,1,0,0,0,3509,3500,1,0,0,0,3509,3510,1,0,0,0,3510,3533,1,0,0,0,3511,3512,5,329,0,0,3512,3513,5,399,0,0,3513,3514,3,496,248,0,3514,3516,5,400,0,0,3515,3517,5,17,0,0,3516,3515,1,0,0,0,3516,3517,1,0,0,0,3517,3518,1,0,0,0,3518,3530,3,464,232,0,3519,3520,5,399,0,0,3520,3525,3,638,319,0,3521,3522,5,397,0,0,3522,3524,3,638,319,0,3523,3521,1,0,0,0,3524,3527,1,0,0,0,3525,3523,1,0,0,0,3525,3526,1,0,0,0,3526,3528,1,0,0,0,3527,3525,1,0,0,0,3528,3529,5,400,0,0,3529,3531,1,0,0,0,3530,3519,1,0,0,0,3530,3531,1,0,0,0,3531,3533,1,0,0,0,3532,3497,1,0,0,0,3532,3511,1,0,0,0,3533,3535,1,0,0,0,3534,3477,1,0,0,0,3534,3494,1,0,0,0,3535,463,1,0,0,0,3536,3537,3,638,319,0,3537,465,1,0,0,0,3538,3539,5,331,0,0,3539,3540,5,399,0,0,3540,3541,5,30,0,0,3541,3542,5,431,0,0,3542,3543,5,230,0,0,3543,3544,5,221,0,0,3544,3554,5,431,0,0,3545,3546,5,224,0,0,3546,3551,3,580,290,0,3547,3548,5,397,0,0,3548,3550,3,580,290,0,3549,3547,1,0,0,0,3550,3553,1,0,0,0,3551,3549,1,0,0,0,3551,3552,1,0,0,0,3552,3555,1,0,0,0,3553,3551,1,0,0,0,3554,3545,1,0,0,0,3554,3555,1,0,0,0,3555,3556,1,0,0,0,3556,3566,5,400,0,0,3557,3558,5,331,0,0,3558,3562,5,399,0,0,3559,3560,5,431,0,0,3560,3563,7,30,0,0,3561,3563,5,430,0,0,3562,3559,1,0,0,0,3562,3561,1,0,0,0,3563,3564,1,0,0,0,3564,3566,5,400,0,0,3565,3538,1,0,0,0,3565,3557,1,0,0,0,3566,467,1,0,0,0,3567,3569,3,476,238,0,3568,3570,3,226,113,0,3569,3568,1,0,0,0,3569,3570,1,0,0,0,3570,3572,1,0,0,0,3571,3573,3,466,233,0,3572,3571,1,0,0,0,3572,3573,1,0,0,0,3573,3575,1,0,0,0,3574,3576,3,470,235,0,3575,3574,1,0,0,0,3575,3576,1,0,0,0,3576,3581,1,0,0,0,3577,3579,5,17,0,0,3578,3577,1,0,0,0,3578,3579,1,0,0,0,3579,3580,1,0,0,0,3580,3582,3,638,319,0,3581,3578,1,0,0,0,3581,3582,1,0,0,0,3582,469,1,0,0,0,3583,3593,5,134,0,0,3584,3585,5,327,0,0,3585,3586,5,17,0,0,3586,3587,5,221,0,0,3587,3594,3,580,290,0,3588,3589,5,134,0,0,3589,3590,5,328,0,0,3590,3591,5,17,0,0,3591,3592,5,221,0,0,3592,3594,5,431,0,0,3593,3584,1,0,0,0,3593,3588,1,0,0,0,3594,471,1,0,0,0,3595,3596,3,638,319,0,3596,473,1,0,0,0,3597,3598,3,638,319,0,3598,475,1,0,0,0,3599,3602,3,478,239,0,3600,3602,3,482,241,0,3601,3599,1,0,0,0,3601,3600,1,0,0,0,3602,477,1,0,0,0,3603,3604,3,638,319,0,3604,3605,5,395,0,0,3605,3608,3,638,319,0,3606,3607,5,395,0,0,3607,3609,3,638,319,0,3608,3606,1,0,0,0,3608,3609,1,0,0,0,3609,3612,1,0,0,0,3610,3612,3,638,319,0,3611,3603,1,0,0,0,3611,3610,1,0,0,0,3612,479,1,0,0,0,3613,3614,3,638,319,0,3614,3615,5,395,0,0,3615,3618,3,638,319,0,3616,3617,5,395,0,0,3617,3619,3,638,319,0,3618,3616,1,0,0,0,3618,3619,1,0,0,0,3619,3622,1,0,0,0,3620,3622,3,638,319,0,3621,3613,1,0,0,0,3621,3620,1,0,0,0,3622,481,1,0,0,0,3623,3624,3,638,319,0,3624,3625,5,395,0,0,3625,3627,1,0,0,0,3626,3623,1,0,0,0,3626,3627,1,0,0,0,3627,3628,1,0,0,0,3628,3629,3,638,319,0,3629,483,1,0,0,0,3630,3631,3,638,319,0,3631,3632,5,395,0,0,3632,3634,1,0,0,0,3633,3630,1,0,0,0,3633,3634,1,0,0,0,3634,3635,1,0,0,0,3635,3636,3,638,319,0,3636,485,1,0,0,0,3637,3638,5,399,0,0,3638,3639,3,360,180,0,3639,3641,5,400,0,0,3640,3642,5,17,0,0,3641,3640,1,0,0,0,3641,3642,1,0,0,0,3642,3643,1,0,0,0,3643,3644,3,638,319,0,3644,487,1,0,0,0,3645,3646,5,237,0,0,3646,3647,5,32,0,0,3647,3649,3,536,268,0,3648,3650,3,542,271,0,3649,3648,1,0,0,0,3649,3650,1,0,0,0,3650,3659,1,0,0,0,3651,3659,3,542,271,0,3652,3654,3,546,273,0,3653,3655,3,548,274,0,3654,3653,1,0,0,0,3654,3655,1,0,0,0,3655,3659,1,0,0,0,3656,3659,3,548,274,0,3657,3659,3,544,272,0,3658,3645,1,0,0,0,3658,3651,1,0,0,0,3658,3652,1,0,0,0,3658,3656,1,0,0,0,3658,3657,1,0,0,0,3659,489,1,0,0,0,3660,3664,3,486,243,0,3661,3664,3,468,234,0,3662,3664,3,492,246,0,3663,3660,1,0,0,0,3663,3661,1,0,0,0,3663,3662,1,0,0,0,3664,491,1,0,0,0,3665,3666,3,638,319,0,3666,3667,5,399,0,0,3667,3668,5,224,0,0,3668,3670,3,490,245,0,3669,3671,3,488,244,0,3670,3669,1,0,0,0,3670,3671,1,0,0,0,3671,3687,1,0,0,0,3672,3673,5,432,0,0,3673,3674,5,399,0,0,3674,3675,3,580,290,0,3675,3684,5,400,0,0,3676,3677,5,397,0,0,3677,3678,5,432,0,0,3678,3679,5,399,0,0,3679,3680,3,580,290,0,3680,3681,5,400,0,0,3681,3683,1,0,0,0,3682,3676,1,0,0,0,3683,3686,1,0,0,0,3684,3682,1,0,0,0,3684,3685,1,0,0,0,3685,3688,1,0,0,0,3686,3684,1,0,0,0,3687,3672,1,0,0,0,3687,3688,1,0,0,0,3688,3689,1,0,0,0,3689,3691,5,400,0,0,3690,3692,3,638,319,0,3691,3690,1,0,0,0,3691,3692,1,0,0,0,3692,493,1,0,0,0,3693,3694,5,384,0,0,3694,3695,3,580,290,0,3695,495,1,0,0,0,3696,3715,5,374,0,0,3697,3702,3,538,269,0,3698,3699,5,397,0,0,3699,3701,3,538,269,0,3700,3698,1,0,0,0,3701,3704,1,0,0,0,3702,3700,1,0,0,0,3702,3703,1,0,0,0,3703,3716,1,0,0,0,3704,3702,1,0,0,0,3705,3706,5,399,0,0,3706,3707,3,534,267,0,3707,3712,5,400,0,0,3708,3709,5,397,0,0,3709,3711,3,538,269,0,3710,3708,1,0,0,0,3711,3714,1,0,0,0,3712,3710,1,0,0,0,3712,3713,1,0,0,0,3713,3716,1,0,0,0,3714,3712,1,0,0,0,3715,3697,1,0,0,0,3715,3705,1,0,0,0,3716,497,1,0,0,0,3717,3718,5,329,0,0,3718,3719,5,399,0,0,3719,3720,3,496,248,0,3720,3722,5,400,0,0,3721,3723,5,17,0,0,3722,3721,1,0,0,0,3722,3723,1,0,0,0,3723,3724,1,0,0,0,3724,3734,3,464,232,0,3725,3726,5,399,0,0,3726,3731,3,638,319,0,3727,3728,5,397,0,0,3728,3730,3,638,319,0,3729,3727,1,0,0,0,3730,3733,1,0,0,0,3731,3729,1,0,0,0,3731,3732,1,0,0,0,3732,3735,1,0,0,0,3733,3731,1,0,0,0,3734,3725,1,0,0,0,3734,3735,1,0,0,0,3735,3736,1,0,0,0,3736,3737,5,400,0,0,3737,499,1,0,0,0,3738,3740,5,299,0,0,3739,3741,5,436,0,0,3740,3739,1,0,0,0,3740,3741,1,0,0,0,3741,3755,1,0,0,0,3742,3744,7,22,0,0,3743,3742,1,0,0,0,3743,3744,1,0,0,0,3744,3745,1,0,0,0,3745,3750,3,504,252,0,3746,3747,5,397,0,0,3747,3749,3,504,252,0,3748,3746,1,0,0,0,3749,3752,1,0,0,0,3750,3748,1,0,0,0,3750,3751,1,0,0,0,3751,3756,1,0,0,0,3752,3750,1,0,0,0,3753,3754,5,347,0,0,3754,3756,3,502,251,0,3755,3743,1,0,0,0,3755,3753,1,0,0,0,3756,3759,1,0,0,0,3757,3759,3,506,253,0,3758,3738,1,0,0,0,3758,3757,1,0,0,0,3759,501,1,0,0,0,3760,3761,5,399,0,0,3761,3762,3,510,255,0,3762,3763,5,400,0,0,3763,3764,3,212,106,0,3764,3765,3,216,108,0,3765,3766,5,370,0,0,3766,3779,5,426,0,0,3767,3777,5,17,0,0,3768,3771,5,399,0,0,3769,3772,3,446,223,0,3770,3772,3,248,124,0,3771,3769,1,0,0,0,3771,3770,1,0,0,0,3772,3773,1,0,0,0,3773,3774,5,400,0,0,3774,3778,1,0,0,0,3775,3778,3,446,223,0,3776,3778,3,248,124,0,3777,3768,1,0,0,0,3777,3775,1,0,0,0,3777,3776,1,0,0,0,3778,3780,1,0,0,0,3779,3767,1,0,0,0,3779,3780,1,0,0,0,3780,3781,1,0,0,0,3781,3782,3,212,106,0,3782,3783,3,214,107,0,3783,503,1,0,0,0,3784,3808,3,442,221,0,3785,3788,3,256,128,0,3786,3788,3,580,290,0,3787,3785,1,0,0,0,3787,3786,1,0,0,0,3788,3805,1,0,0,0,3789,3791,5,17,0,0,3790,3789,1,0,0,0,3790,3791,1,0,0,0,3791,3792,1,0,0,0,3792,3806,3,638,319,0,3793,3794,5,17,0,0,3794,3795,5,399,0,0,3795,3800,3,638,319,0,3796,3797,5,397,0,0,3797,3799,3,638,319,0,3798,3796,1,0,0,0,3799,3802,1,0,0,0,3800,3798,1,0,0,0,3800,3801,1,0,0,0,3801,3803,1,0,0,0,3802,3800,1,0,0,0,3803,3804,5,400,0,0,3804,3806,1,0,0,0,3805,3790,1,0,0,0,3805,3793,1,0,0,0,3805,3806,1,0,0,0,3806,3808,1,0,0,0,3807,3784,1,0,0,0,3807,3787,1,0,0,0,3808,505,1,0,0,0,3809,3810,7,31,0,0,3810,3811,3,510,255,0,3811,3812,3,212,106,0,3812,3813,3,216,108,0,3813,3814,5,370,0,0,3814,3827,5,426,0,0,3815,3825,5,17,0,0,3816,3819,5,399,0,0,3817,3820,3,446,223,0,3818,3820,3,248,124,0,3819,3817,1,0,0,0,3819,3818,1,0,0,0,3820,3821,1,0,0,0,3821,3822,5,400,0,0,3822,3826,1,0,0,0,3823,3826,3,446,223,0,3824,3826,3,248,124,0,3825,3816,1,0,0,0,3825,3823,1,0,0,0,3825,3824,1,0,0,0,3826,3828,1,0,0,0,3827,3815,1,0,0,0,3827,3828,1,0,0,0,3828,3829,1,0,0,0,3829,3830,3,212,106,0,3830,3831,3,214,107,0,3831,507,1,0,0,0,3832,3835,3,442,221,0,3833,3835,3,580,290,0,3834,3832,1,0,0,0,3834,3833,1,0,0,0,3835,509,1,0,0,0,3836,3841,3,508,254,0,3837,3838,5,397,0,0,3838,3840,3,508,254,0,3839,3837,1,0,0,0,3840,3843,1,0,0,0,3841,3839,1,0,0,0,3841,3842,1,0,0,0,3842,511,1,0,0,0,3843,3841,1,0,0,0,3844,3845,5,386,0,0,3845,3846,3,638,319,0,3846,3847,5,17,0,0,3847,3855,3,514,257,0,3848,3849,5,397,0,0,3849,3850,3,638,319,0,3850,3851,5,17,0,0,3851,3852,3,514,257,0,3852,3854,1,0,0,0,3853,3848,1,0,0,0,3854,3857,1,0,0,0,3855,3853,1,0,0,0,3855,3856,1,0,0,0,3856,513,1,0,0,0,3857,3855,1,0,0,0,3858,3871,3,638,319,0,3859,3861,5,399,0,0,3860,3862,3,638,319,0,3861,3860,1,0,0,0,3861,3862,1,0,0,0,3862,3864,1,0,0,0,3863,3865,3,488,244,0,3864,3863,1,0,0,0,3864,3865,1,0,0,0,3865,3867,1,0,0,0,3866,3868,3,516,258,0,3867,3866,1,0,0,0,3867,3868,1,0,0,0,3868,3869,1,0,0,0,3869,3871,5,400,0,0,3870,3858,1,0,0,0,3870,3859,1,0,0,0,3871,515,1,0,0,0,3872,3886,7,32,0,0,3873,3874,5,354,0,0,3874,3880,5,247,0,0,3875,3876,5,62,0,0,3876,3880,5,291,0,0,3877,3878,5,431,0,0,3878,3880,5,247,0,0,3879,3873,1,0,0,0,3879,3875,1,0,0,0,3879,3877,1,0,0,0,3880,3887,1,0,0,0,3881,3882,5,25,0,0,3882,3883,3,518,259,0,3883,3884,5,11,0,0,3884,3885,3,518,259,0,3885,3887,1,0,0,0,3886,3879,1,0,0,0,3886,3881,1,0,0,0,3887,517,1,0,0,0,3888,3889,7,33,0,0,3889,3893,7,34,0,0,3890,3891,5,62,0,0,3891,3893,5,291,0,0,3892,3888,1,0,0,0,3892,3890,1,0,0,0,3893,519,1,0,0,0,3894,3895,5,144,0,0,3895,3901,5,32,0,0,3896,3902,3,256,128,0,3897,3902,3,522,261,0,3898,3902,3,524,262,0,3899,3900,5,399,0,0,3900,3902,5,400,0,0,3901,3896,1,0,0,0,3901,3897,1,0,0,0,3901,3898,1,0,0,0,3901,3899,1,0,0,0,3902,521,1,0,0,0,3903,3906,5,290,0,0,3904,3906,5,61,0,0,3905,3903,1,0,0,0,3905,3904,1,0,0,0,3906,3907,1,0,0,0,3907,3908,5,399,0,0,3908,3913,3,580,290,0,3909,3910,5,397,0,0,3910,3912,3,580,290,0,3911,3909,1,0,0,0,3912,3915,1,0,0,0,3913,3911,1,0,0,0,3913,3914,1,0,0,0,3914,3916,1,0,0,0,3915,3913,1,0,0,0,3916,3917,5,400,0,0,3917,523,1,0,0,0,3918,3923,3,540,270,0,3919,3920,5,387,0,0,3920,3924,5,290,0,0,3921,3922,5,387,0,0,3922,3924,5,61,0,0,3923,3919,1,0,0,0,3923,3921,1,0,0,0,3923,3924,1,0,0,0,3924,3938,1,0,0,0,3925,3926,5,145,0,0,3926,3927,5,305,0,0,3927,3928,5,399,0,0,3928,3933,3,526,263,0,3929,3930,5,397,0,0,3930,3932,3,526,263,0,3931,3929,1,0,0,0,3932,3935,1,0,0,0,3933,3931,1,0,0,0,3933,3934,1,0,0,0,3934,3936,1,0,0,0,3935,3933,1,0,0,0,3936,3937,5,400,0,0,3937,3939,1,0,0,0,3938,3925,1,0,0,0,3938,3939,1,0,0,0,3939,525,1,0,0,0,3940,3942,5,399,0,0,3941,3943,3,580,290,0,3942,3941,1,0,0,0,3942,3943,1,0,0,0,3943,3948,1,0,0,0,3944,3945,5,397,0,0,3945,3947,3,580,290,0,3946,3944,1,0,0,0,3947,3950,1,0,0,0,3948,3946,1,0,0,0,3948,3949,1,0,0,0,3949,3951,1,0,0,0,3950,3948,1,0,0,0,3951,3954,5,400,0,0,3952,3954,3,580,290,0,3953,3940,1,0,0,0,3953,3952,1,0,0,0,3954,527,1,0,0,0,3955,3956,5,146,0,0,3956,3957,3,580,290,0,3957,529,1,0,0,0,3958,3959,5,256,0,0,3959,3960,3,580,290,0,3960,531,1,0,0,0,3961,3964,5,83,0,0,3962,3964,3,580,290,0,3963,3961,1,0,0,0,3963,3962,1,0,0,0,3964,533,1,0,0,0,3965,3967,3,580,290,0,3966,3968,5,17,0,0,3967,3966,1,0,0,0,3967,3968,1,0,0,0,3968,3970,1,0,0,0,3969,3971,3,638,319,0,3970,3969,1,0,0,0,3970,3971,1,0,0,0,3971,3982,1,0,0,0,3972,3973,5,397,0,0,3973,3975,3,580,290,0,3974,3976,5,17,0,0,3975,3974,1,0,0,0,3975,3976,1,0,0,0,3976,3978,1,0,0,0,3977,3979,3,638,319,0,3978,3977,1,0,0,0,3978,3979,1,0,0,0,3979,3981,1,0,0,0,3980,3972,1,0,0,0,3981,3984,1,0,0,0,3982,3980,1,0,0,0,3982,3983,1,0,0,0,3983,535,1,0,0,0,3984,3982,1,0,0,0,3985,3988,3,538,269,0,3986,3988,3,540,270,0,3987,3985,1,0,0,0,3987,3986,1,0,0,0,3988,537,1,0,0,0,3989,3990,5,399,0,0,3990,3991,3,540,270,0,3991,3992,5,400,0,0,3992,539,1,0,0,0,3993,4e3,3,532,266,0,3994,3995,5,397,0,0,3995,3997,3,532,266,0,3996,3994,1,0,0,0,3997,3998,1,0,0,0,3998,3996,1,0,0,0,3998,3999,1,0,0,0,3999,4001,1,0,0,0,4e3,3996,1,0,0,0,4e3,4001,1,0,0,0,4001,541,1,0,0,0,4002,4003,5,229,0,0,4003,4004,5,32,0,0,4004,4009,3,308,154,0,4005,4006,5,397,0,0,4006,4008,3,308,154,0,4007,4005,1,0,0,0,4008,4011,1,0,0,0,4009,4007,1,0,0,0,4009,4010,1,0,0,0,4010,543,1,0,0,0,4011,4009,1,0,0,0,4012,4013,5,41,0,0,4013,4014,5,32,0,0,4014,4015,3,536,268,0,4015,545,1,0,0,0,4016,4017,5,97,0,0,4017,4018,5,32,0,0,4018,4019,3,536,268,0,4019,547,1,0,0,0,4020,4021,5,314,0,0,4021,4041,5,32,0,0,4022,4023,5,399,0,0,4023,4028,3,308,154,0,4024,4025,5,397,0,0,4025,4027,3,308,154,0,4026,4024,1,0,0,0,4027,4030,1,0,0,0,4028,4026,1,0,0,0,4028,4029,1,0,0,0,4029,4031,1,0,0,0,4030,4028,1,0,0,0,4031,4032,5,400,0,0,4032,4042,1,0,0,0,4033,4038,3,308,154,0,4034,4035,5,397,0,0,4035,4037,3,308,154,0,4036,4034,1,0,0,0,4037,4040,1,0,0,0,4038,4036,1,0,0,0,4038,4039,1,0,0,0,4039,4042,1,0,0,0,4040,4038,1,0,0,0,4041,4022,1,0,0,0,4041,4033,1,0,0,0,4042,549,1,0,0,0,4043,4044,5,349,0,0,4044,4048,5,399,0,0,4045,4049,5,179,0,0,4046,4049,5,343,0,0,4047,4049,5,29,0,0,4048,4045,1,0,0,0,4048,4046,1,0,0,0,4048,4047,1,0,0,0,4048,4049,1,0,0,0,4049,4051,1,0,0,0,4050,4052,3,508,254,0,4051,4050,1,0,0,0,4051,4052,1,0,0,0,4052,4053,1,0,0,0,4053,4054,5,139,0,0,4054,4055,3,508,254,0,4055,4056,5,400,0,0,4056,4097,1,0,0,0,4057,4058,3,558,279,0,4058,4073,5,399,0,0,4059,4074,5,415,0,0,4060,4062,7,22,0,0,4061,4060,1,0,0,0,4061,4062,1,0,0,0,4062,4071,1,0,0,0,4063,4068,3,508,254,0,4064,4065,5,397,0,0,4065,4067,3,508,254,0,4066,4064,1,0,0,0,4067,4070,1,0,0,0,4068,4066,1,0,0,0,4068,4069,1,0,0,0,4069,4072,1,0,0,0,4070,4068,1,0,0,0,4071,4063,1,0,0,0,4071,4072,1,0,0,0,4072,4074,1,0,0,0,4073,4059,1,0,0,0,4073,4061,1,0,0,0,4074,4094,1,0,0,0,4075,4076,5,400,0,0,4076,4077,5,388,0,0,4077,4078,5,144,0,0,4078,4079,5,399,0,0,4079,4080,3,542,271,0,4080,4081,5,400,0,0,4081,4095,1,0,0,0,4082,4084,5,400,0,0,4083,4085,3,552,276,0,4084,4083,1,0,0,0,4084,4085,1,0,0,0,4085,4086,1,0,0,0,4086,4087,5,234,0,0,4087,4095,3,514,257,0,4088,4089,3,552,276,0,4089,4090,5,400,0,0,4090,4091,5,234,0,0,4091,4092,3,514,257,0,4092,4095,1,0,0,0,4093,4095,5,400,0,0,4094,4075,1,0,0,0,4094,4082,1,0,0,0,4094,4088,1,0,0,0,4094,4093,1,0,0,0,4095,4097,1,0,0,0,4096,4043,1,0,0,0,4096,4057,1,0,0,0,4097,551,1,0,0,0,4098,4099,7,35,0,0,4099,4100,5,220,0,0,4100,553,1,0,0,0,4101,4102,3,640,320,0,4102,555,1,0,0,0,4103,4106,3,640,320,0,4104,4106,5,426,0,0,4105,4103,1,0,0,0,4105,4104,1,0,0,0,4106,557,1,0,0,0,4107,4111,3,640,320,0,4108,4111,3,646,323,0,4109,4111,3,636,318,0,4110,4107,1,0,0,0,4110,4108,1,0,0,0,4110,4109,1,0,0,0,4111,559,1,0,0,0,4112,4113,5,36,0,0,4113,4114,5,399,0,0,4114,4115,3,580,290,0,4115,4116,5,17,0,0,4116,4119,3,348,174,0,4117,4118,5,137,0,0,4118,4120,5,426,0,0,4119,4117,1,0,0,0,4119,4120,1,0,0,0,4120,4121,1,0,0,0,4121,4122,5,400,0,0,4122,561,1,0,0,0,4123,4124,5,35,0,0,4124,4130,3,580,290,0,4125,4126,5,383,0,0,4126,4127,3,580,290,0,4127,4128,5,335,0,0,4128,4129,3,580,290,0,4129,4131,1,0,0,0,4130,4125,1,0,0,0,4131,4132,1,0,0,0,4132,4130,1,0,0,0,4132,4133,1,0,0,0,4133,4136,1,0,0,0,4134,4135,5,105,0,0,4135,4137,3,580,290,0,4136,4134,1,0,0,0,4136,4137,1,0,0,0,4137,4138,1,0,0,0,4138,4139,5,108,0,0,4139,563,1,0,0,0,4140,4146,5,35,0,0,4141,4142,5,383,0,0,4142,4143,3,580,290,0,4143,4144,5,335,0,0,4144,4145,3,580,290,0,4145,4147,1,0,0,0,4146,4141,1,0,0,0,4147,4148,1,0,0,0,4148,4146,1,0,0,0,4148,4149,1,0,0,0,4149,4152,1,0,0,0,4150,4151,5,105,0,0,4151,4153,3,580,290,0,4152,4150,1,0,0,0,4152,4153,1,0,0,0,4153,4154,1,0,0,0,4154,4155,5,108,0,0,4155,565,1,0,0,0,4156,4157,5,132,0,0,4157,4158,5,399,0,0,4158,4161,3,580,290,0,4159,4160,5,341,0,0,4160,4162,3,570,285,0,4161,4159,1,0,0,0,4161,4162,1,0,0,0,4162,4163,1,0,0,0,4163,4164,5,400,0,0,4164,567,1,0,0,0,4165,4166,5,124,0,0,4166,4167,5,399,0,0,4167,4168,3,570,285,0,4168,4169,5,139,0,0,4169,4170,3,580,290,0,4170,4171,5,400,0,0,4171,569,1,0,0,0,4172,4181,3,666,333,0,4173,4181,5,257,0,0,4174,4181,3,668,334,0,4175,4181,3,670,335,0,4176,4181,3,672,336,0,4177,4181,3,674,337,0,4178,4181,3,676,338,0,4179,4181,3,678,339,0,4180,4172,1,0,0,0,4180,4173,1,0,0,0,4180,4174,1,0,0,0,4180,4175,1,0,0,0,4180,4176,1,0,0,0,4180,4177,1,0,0,0,4180,4178,1,0,0,0,4180,4179,1,0,0,0,4181,571,1,0,0,0,4182,4183,3,574,287,0,4183,4184,3,578,289,0,4184,4211,1,0,0,0,4185,4211,5,431,0,0,4186,4187,5,71,0,0,4187,4211,5,426,0,0,4188,4211,5,63,0,0,4189,4190,5,337,0,0,4190,4211,5,426,0,0,4191,4211,5,64,0,0,4192,4193,5,338,0,0,4193,4211,5,426,0,0,4194,4198,5,426,0,0,4195,4197,5,426,0,0,4196,4195,1,0,0,0,4197,4200,1,0,0,0,4198,4196,1,0,0,0,4198,4199,1,0,0,0,4199,4211,1,0,0,0,4200,4198,1,0,0,0,4201,4211,5,428,0,0,4202,4211,5,429,0,0,4203,4204,5,433,0,0,4204,4211,5,427,0,0,4205,4211,5,350,0,0,4206,4211,5,125,0,0,4207,4211,5,219,0,0,4208,4211,5,424,0,0,4209,4211,5,432,0,0,4210,4182,1,0,0,0,4210,4185,1,0,0,0,4210,4186,1,0,0,0,4210,4188,1,0,0,0,4210,4189,1,0,0,0,4210,4191,1,0,0,0,4210,4192,1,0,0,0,4210,4194,1,0,0,0,4210,4201,1,0,0,0,4210,4202,1,0,0,0,4210,4203,1,0,0,0,4210,4205,1,0,0,0,4210,4206,1,0,0,0,4210,4207,1,0,0,0,4210,4208,1,0,0,0,4210,4209,1,0,0,0,4211,573,1,0,0,0,4212,4213,7,27,0,0,4213,575,1,0,0,0,4214,4215,5,399,0,0,4215,4216,3,574,287,0,4216,4217,5,400,0,0,4217,4218,3,578,289,0,4218,4230,1,0,0,0,4219,4225,5,165,0,0,4220,4226,3,574,287,0,4221,4222,5,399,0,0,4222,4223,3,580,290,0,4223,4224,5,400,0,0,4224,4226,1,0,0,0,4225,4220,1,0,0,0,4225,4221,1,0,0,0,4226,4227,1,0,0,0,4227,4228,3,578,289,0,4228,4230,1,0,0,0,4229,4214,1,0,0,0,4229,4219,1,0,0,0,4230,577,1,0,0,0,4231,4232,3,666,333,0,4232,4233,5,341,0,0,4233,4234,3,668,334,0,4234,4246,1,0,0,0,4235,4236,3,672,336,0,4236,4237,5,341,0,0,4237,4238,3,678,339,0,4238,4246,1,0,0,0,4239,4246,3,666,333,0,4240,4246,3,668,334,0,4241,4246,3,672,336,0,4242,4246,3,674,337,0,4243,4246,3,676,338,0,4244,4246,3,678,339,0,4245,4231,1,0,0,0,4245,4235,1,0,0,0,4245,4239,1,0,0,0,4245,4240,1,0,0,0,4245,4241,1,0,0,0,4245,4242,1,0,0,0,4245,4243,1,0,0,0,4245,4244,1,0,0,0,4246,579,1,0,0,0,4247,4252,3,622,311,0,4248,4249,5,228,0,0,4249,4251,3,622,311,0,4250,4248,1,0,0,0,4251,4254,1,0,0,0,4252,4250,1,0,0,0,4252,4253,1,0,0,0,4253,581,1,0,0,0,4254,4252,1,0,0,0,4255,4267,3,572,286,0,4256,4267,3,576,288,0,4257,4267,3,560,280,0,4258,4267,3,568,284,0,4259,4267,3,566,283,0,4260,4267,3,562,281,0,4261,4267,3,564,282,0,4262,4267,3,600,300,0,4263,4267,3,550,275,0,4264,4267,3,538,269,0,4265,4267,3,638,319,0,4266,4255,1,0,0,0,4266,4256,1,0,0,0,4266,4257,1,0,0,0,4266,4258,1,0,0,0,4266,4259,1,0,0,0,4266,4260,1,0,0,0,4266,4261,1,0,0,0,4266,4262,1,0,0,0,4266,4263,1,0,0,0,4266,4264,1,0,0,0,4266,4265,1,0,0,0,4267,583,1,0,0,0,4268,4270,7,36,0,0,4269,4268,1,0,0,0,4270,4273,1,0,0,0,4271,4269,1,0,0,0,4271,4272,1,0,0,0,4272,4274,1,0,0,0,4273,4271,1,0,0,0,4274,4283,3,582,291,0,4275,4276,5,401,0,0,4276,4277,3,580,290,0,4277,4278,5,402,0,0,4278,4282,1,0,0,0,4279,4280,5,395,0,0,4280,4282,3,638,319,0,4281,4275,1,0,0,0,4281,4279,1,0,0,0,4282,4285,1,0,0,0,4283,4281,1,0,0,0,4283,4284,1,0,0,0,4284,585,1,0,0,0,4285,4283,1,0,0,0,4286,4291,3,584,292,0,4287,4288,5,423,0,0,4288,4290,3,584,292,0,4289,4287,1,0,0,0,4290,4293,1,0,0,0,4291,4289,1,0,0,0,4291,4292,1,0,0,0,4292,587,1,0,0,0,4293,4291,1,0,0,0,4294,4299,3,586,293,0,4295,4296,7,37,0,0,4296,4298,3,586,293,0,4297,4295,1,0,0,0,4298,4301,1,0,0,0,4299,4297,1,0,0,0,4299,4300,1,0,0,0,4300,589,1,0,0,0,4301,4299,1,0,0,0,4302,4307,3,588,294,0,4303,4304,7,38,0,0,4304,4306,3,588,294,0,4305,4303,1,0,0,0,4306,4309,1,0,0,0,4307,4305,1,0,0,0,4307,4308,1,0,0,0,4308,591,1,0,0,0,4309,4307,1,0,0,0,4310,4315,3,590,295,0,4311,4312,5,422,0,0,4312,4314,3,590,295,0,4313,4311,1,0,0,0,4314,4317,1,0,0,0,4315,4313,1,0,0,0,4315,4316,1,0,0,0,4316,593,1,0,0,0,4317,4315,1,0,0,0,4318,4323,3,592,296,0,4319,4320,5,419,0,0,4320,4322,3,592,296,0,4321,4319,1,0,0,0,4322,4325,1,0,0,0,4323,4321,1,0,0,0,4323,4324,1,0,0,0,4324,595,1,0,0,0,4325,4323,1,0,0,0,4326,4331,3,594,297,0,4327,4328,5,421,0,0,4328,4330,3,594,297,0,4329,4327,1,0,0,0,4330,4333,1,0,0,0,4331,4329,1,0,0,0,4331,4332,1,0,0,0,4332,597,1,0,0,0,4333,4331,1,0,0,0,4334,4335,7,39,0,0,4335,599,1,0,0,0,4336,4337,5,399,0,0,4337,4338,3,376,188,0,4338,4339,5,400,0,0,4339,601,1,0,0,0,4340,4342,3,596,298,0,4341,4343,3,604,302,0,4342,4341,1,0,0,0,4342,4343,1,0,0,0,4343,4347,1,0,0,0,4344,4345,5,117,0,0,4345,4347,3,600,300,0,4346,4340,1,0,0,0,4346,4344,1,0,0,0,4347,603,1,0,0,0,4348,4349,3,598,299,0,4349,4350,3,596,298,0,4350,4355,1,0,0,0,4351,4355,3,606,303,0,4352,4353,5,216,0,0,4353,4355,3,610,305,0,4354,4348,1,0,0,0,4354,4351,1,0,0,0,4354,4352,1,0,0,0,4355,605,1,0,0,0,4356,4357,5,154,0,0,4357,4371,3,608,304,0,4358,4359,5,25,0,0,4359,4360,3,596,298,0,4360,4361,5,11,0,0,4361,4362,3,596,298,0,4362,4371,1,0,0,0,4363,4364,5,184,0,0,4364,4365,7,40,0,0,4365,4371,3,538,269,0,4366,4367,3,634,317,0,4367,4368,7,41,0,0,4368,4369,3,600,300,0,4369,4371,1,0,0,0,4370,4356,1,0,0,0,4370,4358,1,0,0,0,4370,4363,1,0,0,0,4370,4366,1,0,0,0,4371,607,1,0,0,0,4372,4375,3,600,300,0,4373,4375,3,538,269,0,4374,4372,1,0,0,0,4374,4373,1,0,0,0,4375,609,1,0,0,0,4376,4377,7,42,0,0,4377,4380,3,596,298,0,4378,4380,3,606,303,0,4379,4376,1,0,0,0,4379,4378,1,0,0,0,4380,611,1,0,0,0,4381,4382,5,167,0,0,4382,4383,5,96,0,0,4383,4384,5,139,0,0,4384,613,1,0,0,0,4385,4393,5,405,0,0,4386,4393,5,406,0,0,4387,4393,5,407,0,0,4388,4389,5,167,0,0,4389,4390,5,216,0,0,4390,4391,5,96,0,0,4391,4393,5,139,0,0,4392,4385,1,0,0,0,4392,4386,1,0,0,0,4392,4387,1,0,0,0,4392,4388,1,0,0,0,4393,615,1,0,0,0,4394,4403,3,602,301,0,4395,4396,3,614,307,0,4396,4397,3,602,301,0,4397,4402,1,0,0,0,4398,4399,3,612,306,0,4399,4400,3,602,301,0,4400,4402,1,0,0,0,4401,4395,1,0,0,0,4401,4398,1,0,0,0,4402,4405,1,0,0,0,4403,4401,1,0,0,0,4403,4404,1,0,0,0,4404,617,1,0,0,0,4405,4403,1,0,0,0,4406,4413,5,219,0,0,4407,4413,5,350,0,0,4408,4413,5,125,0,0,4409,4413,5,360,0,0,4410,4411,5,216,0,0,4411,4413,7,43,0,0,4412,4406,1,0,0,0,4412,4407,1,0,0,0,4412,4408,1,0,0,0,4412,4409,1,0,0,0,4412,4410,1,0,0,0,4413,619,1,0,0,0,4414,4416,5,216,0,0,4415,4414,1,0,0,0,4416,4419,1,0,0,0,4417,4415,1,0,0,0,4417,4418,1,0,0,0,4418,4420,1,0,0,0,4419,4417,1,0,0,0,4420,4423,3,616,308,0,4421,4422,5,167,0,0,4422,4424,3,618,309,0,4423,4421,1,0,0,0,4423,4424,1,0,0,0,4424,621,1,0,0,0,4425,4430,3,620,310,0,4426,4427,5,11,0,0,4427,4429,3,620,310,0,4428,4426,1,0,0,0,4429,4432,1,0,0,0,4430,4428,1,0,0,0,4430,4431,1,0,0,0,4431,623,1,0,0,0,4432,4430,1,0,0,0,4433,4435,3,478,239,0,4434,4436,3,626,313,0,4435,4434,1,0,0,0,4435,4436,1,0,0,0,4436,625,1,0,0,0,4437,4438,5,237,0,0,4438,4439,5,399,0,0,4439,4444,3,628,314,0,4440,4441,5,397,0,0,4441,4443,3,628,314,0,4442,4440,1,0,0,0,4443,4446,1,0,0,0,4444,4442,1,0,0,0,4444,4445,1,0,0,0,4445,4447,1,0,0,0,4446,4444,1,0,0,0,4447,4448,5,400,0,0,4448,627,1,0,0,0,4449,4452,3,638,319,0,4450,4451,5,405,0,0,4451,4453,3,572,286,0,4452,4450,1,0,0,0,4452,4453,1,0,0,0,4453,629,1,0,0,0,4454,4455,5,399,0,0,4455,4460,3,632,316,0,4456,4457,5,397,0,0,4457,4459,3,632,316,0,4458,4456,1,0,0,0,4459,4462,1,0,0,0,4460,4458,1,0,0,0,4460,4461,1,0,0,0,4461,4463,1,0,0,0,4462,4460,1,0,0,0,4463,4464,5,400,0,0,4464,631,1,0,0,0,4465,4468,3,638,319,0,4466,4469,5,184,0,0,4467,4469,3,634,317,0,4468,4466,1,0,0,0,4468,4467,1,0,0,0,4469,4470,1,0,0,0,4470,4471,3,572,286,0,4471,633,1,0,0,0,4472,4473,7,44,0,0,4473,635,1,0,0,0,4474,4475,7,45,0,0,4475,637,1,0,0,0,4476,4479,5,432,0,0,4477,4479,3,644,322,0,4478,4476,1,0,0,0,4478,4477,1,0,0,0,4479,639,1,0,0,0,4480,4483,3,638,319,0,4481,4482,5,395,0,0,4482,4484,3,638,319,0,4483,4481,1,0,0,0,4483,4484,1,0,0,0,4484,641,1,0,0,0,4485,4486,3,638,319,0,4486,643,1,0,0,0,4487,4488,7,46,0,0,4488,645,1,0,0,0,4489,4490,7,47,0,0,4490,647,1,0,0,0,4491,4543,3,638,319,0,4492,4543,5,299,0,0,4493,4543,5,171,0,0,4494,4543,5,237,0,0,4495,4543,5,198,0,0,4496,4543,5,268,0,0,4497,4543,5,369,0,0,4498,4543,5,241,0,0,4499,4543,5,165,0,0,4500,4543,5,292,0,0,4501,4543,5,356,0,0,4502,4543,5,144,0,0,4503,4543,5,203,0,0,4504,4543,5,219,0,0,4505,4543,5,126,0,0,4506,4543,5,188,0,0,4507,4543,5,101,0,0,4508,4543,5,329,0,0,4509,4543,5,224,0,0,4510,4543,5,291,0,0,4511,4543,5,145,0,0,4512,4543,5,304,0,0,4513,4543,5,135,0,0,4514,4543,5,318,0,0,4515,4543,5,161,0,0,4516,4543,5,54,0,0,4517,4543,5,166,0,0,4518,4543,5,358,0,0,4519,4543,5,45,0,0,4520,4543,5,347,0,0,4521,4543,5,96,0,0,4522,4543,5,154,0,0,4523,4543,5,269,0,0,4524,4543,5,337,0,0,4525,4543,5,225,0,0,4526,4543,5,108,0,0,4527,4543,5,141,0,0,4528,4543,5,365,0,0,4529,4543,5,21,0,0,4530,4543,5,78,0,0,4531,4543,5,374,0,0,4532,4543,5,336,0,0,4533,4543,5,167,0,0,4534,4543,5,134,0,0,4535,4543,5,216,0,0,4536,4543,5,27,0,0,4537,4543,5,370,0,0,4538,4543,5,263,0,0,4539,4543,5,25,0,0,4540,4543,5,62,0,0,4541,4543,5,17,0,0,4542,4491,1,0,0,0,4542,4492,1,0,0,0,4542,4493,1,0,0,0,4542,4494,1,0,0,0,4542,4495,1,0,0,0,4542,4496,1,0,0,0,4542,4497,1,0,0,0,4542,4498,1,0,0,0,4542,4499,1,0,0,0,4542,4500,1,0,0,0,4542,4501,1,0,0,0,4542,4502,1,0,0,0,4542,4503,1,0,0,0,4542,4504,1,0,0,0,4542,4505,1,0,0,0,4542,4506,1,0,0,0,4542,4507,1,0,0,0,4542,4508,1,0,0,0,4542,4509,1,0,0,0,4542,4510,1,0,0,0,4542,4511,1,0,0,0,4542,4512,1,0,0,0,4542,4513,1,0,0,0,4542,4514,1,0,0,0,4542,4515,1,0,0,0,4542,4516,1,0,0,0,4542,4517,1,0,0,0,4542,4518,1,0,0,0,4542,4519,1,0,0,0,4542,4520,1,0,0,0,4542,4521,1,0,0,0,4542,4522,1,0,0,0,4542,4523,1,0,0,0,4542,4524,1,0,0,0,4542,4525,1,0,0,0,4542,4526,1,0,0,0,4542,4527,1,0,0,0,4542,4528,1,0,0,0,4542,4529,1,0,0,0,4542,4530,1,0,0,0,4542,4531,1,0,0,0,4542,4532,1,0,0,0,4542,4533,1,0,0,0,4542,4534,1,0,0,0,4542,4535,1,0,0,0,4542,4536,1,0,0,0,4542,4537,1,0,0,0,4542,4538,1,0,0,0,4542,4539,1,0,0,0,4542,4540,1,0,0,0,4542,4541,1,0,0,0,4543,649,1,0,0,0,4544,4545,5,58,0,0,4545,4546,5,280,0,0,4546,4548,5,243,0,0,4547,4549,3,32,16,0,4548,4547,1,0,0,0,4548,4549,1,0,0,0,4549,4559,1,0,0,0,4550,4551,3,638,319,0,4551,4552,5,184,0,0,4552,4553,3,638,319,0,4553,4560,1,0,0,0,4554,4557,3,638,319,0,4555,4556,5,387,0,0,4556,4558,3,656,328,0,4557,4555,1,0,0,0,4557,4558,1,0,0,0,4558,4560,1,0,0,0,4559,4550,1,0,0,0,4559,4554,1,0,0,0,4560,4710,1,0,0,0,4561,4562,5,9,0,0,4562,4563,5,280,0,0,4563,4564,5,243,0,0,4564,4589,3,638,319,0,4565,4590,5,373,0,0,4566,4590,3,664,332,0,4567,4568,5,304,0,0,4568,4590,3,656,328,0,4569,4570,5,363,0,0,4570,4575,3,658,329,0,4571,4572,5,397,0,0,4572,4574,3,658,329,0,4573,4571,1,0,0,0,4574,4577,1,0,0,0,4575,4573,1,0,0,0,4575,4576,1,0,0,0,4576,4590,1,0,0,0,4577,4575,1,0,0,0,4578,4579,5,274,0,0,4579,4580,5,341,0,0,4580,4590,3,638,319,0,4581,4583,3,660,330,0,4582,4584,3,662,331,0,4583,4582,1,0,0,0,4583,4584,1,0,0,0,4584,4590,1,0,0,0,4585,4587,3,662,331,0,4586,4588,3,660,330,0,4587,4586,1,0,0,0,4587,4588,1,0,0,0,4588,4590,1,0,0,0,4589,4565,1,0,0,0,4589,4566,1,0,0,0,4589,4567,1,0,0,0,4589,4569,1,0,0,0,4589,4578,1,0,0,0,4589,4581,1,0,0,0,4589,4585,1,0,0,0,4590,4710,1,0,0,0,4591,4592,5,101,0,0,4592,4593,5,280,0,0,4593,4595,5,243,0,0,4594,4596,3,30,15,0,4595,4594,1,0,0,0,4595,4596,1,0,0,0,4596,4597,1,0,0,0,4597,4710,3,638,319,0,4598,4601,3,662,331,0,4599,4601,3,664,332,0,4600,4598,1,0,0,0,4600,4599,1,0,0,0,4601,4602,1,0,0,0,4602,4603,5,390,0,0,4603,4604,5,197,0,0,4604,4710,1,0,0,0,4605,4617,5,278,0,0,4606,4607,5,3,0,0,4607,4608,5,280,0,0,4608,4609,5,243,0,0,4609,4610,5,387,0,0,4610,4618,3,638,319,0,4611,4612,5,280,0,0,4612,4613,5,243,0,0,4613,4614,3,638,319,0,4614,4615,5,387,0,0,4615,4616,3,638,319,0,4616,4618,1,0,0,0,4617,4606,1,0,0,0,4617,4611,1,0,0,0,4618,4710,1,0,0,0,4619,4620,5,58,0,0,4620,4621,5,348,0,0,4621,4622,3,638,319,0,4622,4623,5,395,0,0,4623,4624,3,638,319,0,4624,4625,5,383,0,0,4625,4626,3,684,342,0,4626,4627,5,99,0,0,4627,4628,3,686,343,0,4628,4710,1,0,0,0,4629,4630,5,9,0,0,4630,4631,5,348,0,0,4631,4632,3,638,319,0,4632,4633,5,395,0,0,4633,4650,3,638,319,0,4634,4635,5,383,0,0,4635,4636,3,684,342,0,4636,4637,5,99,0,0,4637,4638,3,686,343,0,4638,4651,1,0,0,0,4639,4640,5,4,0,0,4640,4644,5,341,0,0,4641,4642,5,101,0,0,4642,4644,5,139,0,0,4643,4639,1,0,0,0,4643,4641,1,0,0,0,4644,4648,1,0,0,0,4645,4646,5,246,0,0,4646,4649,3,682,341,0,4647,4649,5,362,0,0,4648,4645,1,0,0,0,4648,4647,1,0,0,0,4649,4651,1,0,0,0,4650,4634,1,0,0,0,4650,4643,1,0,0,0,4651,4710,1,0,0,0,4652,4653,5,101,0,0,4653,4654,5,348,0,0,4654,4655,3,638,319,0,4655,4656,5,395,0,0,4656,4657,3,638,319,0,4657,4710,1,0,0,0,4658,4659,5,58,0,0,4659,4660,5,246,0,0,4660,4661,3,638,319,0,4661,4662,5,395,0,0,4662,4663,3,682,341,0,4663,4664,5,387,0,0,4664,4665,3,690,345,0,4665,4710,1,0,0,0,4666,4667,5,9,0,0,4667,4668,5,246,0,0,4668,4669,3,638,319,0,4669,4670,5,395,0,0,4670,4678,3,682,341,0,4671,4672,5,304,0,0,4672,4679,3,690,345,0,4673,4674,5,363,0,0,4674,4679,5,294,0,0,4675,4676,7,48,0,0,4676,4677,5,348,0,0,4677,4679,3,638,319,0,4678,4671,1,0,0,0,4678,4673,1,0,0,0,4678,4675,1,0,0,0,4679,4710,1,0,0,0,4680,4681,5,101,0,0,4681,4682,5,246,0,0,4682,4683,3,638,319,0,4683,4684,5,395,0,0,4684,4685,3,682,341,0,4685,4710,1,0,0,0,4686,4687,7,49,0,0,4687,4688,3,652,326,0,4688,4689,5,200,0,0,4689,4690,5,426,0,0,4690,4691,5,154,0,0,4691,4695,3,638,319,0,4692,4693,5,341,0,0,4693,4696,3,682,341,0,4694,4696,5,362,0,0,4695,4692,1,0,0,0,4695,4694,1,0,0,0,4696,4700,1,0,0,0,4697,4698,5,387,0,0,4698,4699,5,229,0,0,4699,4701,5,431,0,0,4700,4697,1,0,0,0,4700,4701,1,0,0,0,4701,4710,1,0,0,0,4702,4703,5,101,0,0,4703,4704,3,652,326,0,4704,4705,5,200,0,0,4705,4706,5,426,0,0,4706,4707,5,154,0,0,4707,4708,3,638,319,0,4708,4710,1,0,0,0,4709,4544,1,0,0,0,4709,4561,1,0,0,0,4709,4591,1,0,0,0,4709,4600,1,0,0,0,4709,4605,1,0,0,0,4709,4619,1,0,0,0,4709,4629,1,0,0,0,4709,4652,1,0,0,0,4709,4658,1,0,0,0,4709,4666,1,0,0,0,4709,4680,1,0,0,0,4709,4686,1,0,0,0,4709,4702,1,0,0,0,4710,651,1,0,0,0,4711,4712,7,50,0,0,4712,653,1,0,0,0,4713,4714,5,259,0,0,4714,4715,5,405,0,0,4715,4721,5,431,0,0,4716,4717,5,83,0,0,4717,4718,5,246,0,0,4718,4719,5,405,0,0,4719,4721,3,682,341,0,4720,4713,1,0,0,0,4720,4716,1,0,0,0,4721,655,1,0,0,0,4722,4727,3,654,327,0,4723,4724,5,397,0,0,4724,4726,3,654,327,0,4725,4723,1,0,0,0,4726,4729,1,0,0,0,4727,4725,1,0,0,0,4727,4728,1,0,0,0,4728,657,1,0,0,0,4729,4727,1,0,0,0,4730,4734,5,259,0,0,4731,4732,5,83,0,0,4732,4734,5,246,0,0,4733,4730,1,0,0,0,4733,4731,1,0,0,0,4734,659,1,0,0,0,4735,4738,5,2,0,0,4736,4737,5,387,0,0,4737,4739,5,278,0,0,4738,4736,1,0,0,0,4738,4739,1,0,0,0,4739,661,1,0,0,0,4740,4741,7,51,0,0,4741,663,1,0,0,0,4742,4743,7,52,0,0,4743,665,1,0,0,0,4744,4745,7,53,0,0,4745,667,1,0,0,0,4746,4747,7,54,0,0,4747,669,1,0,0,0,4748,4749,7,55,0,0,4749,671,1,0,0,0,4750,4751,7,56,0,0,4751,673,1,0,0,0,4752,4753,7,57,0,0,4753,675,1,0,0,0,4754,4755,7,58,0,0,4755,677,1,0,0,0,4756,4757,7,59,0,0,4757,679,1,0,0,0,4758,4759,7,60,0,0,4759,681,1,0,0,0,4760,4765,3,638,319,0,4761,4762,5,395,0,0,4762,4764,3,638,319,0,4763,4761,1,0,0,0,4764,4767,1,0,0,0,4765,4763,1,0,0,0,4765,4766,1,0,0,0,4766,683,1,0,0,0,4767,4765,1,0,0,0,4768,4769,3,638,319,0,4769,4770,5,411,0,0,4770,4771,7,27,0,0,4771,685,1,0,0,0,4772,4777,5,176,0,0,4773,4774,5,211,0,0,4774,4775,5,341,0,0,4775,4777,3,682,341,0,4776,4772,1,0,0,0,4776,4773,1,0,0,0,4777,687,1,0,0,0,4778,4779,5,8,0,0,4779,4780,5,405,0,0,4780,4791,5,431,0,0,4781,4782,5,259,0,0,4782,4783,5,405,0,0,4783,4791,5,431,0,0,4784,4785,5,294,0,0,4785,4786,5,405,0,0,4786,4791,5,426,0,0,4787,4788,5,240,0,0,4788,4789,5,405,0,0,4789,4791,3,682,341,0,4790,4778,1,0,0,0,4790,4781,1,0,0,0,4790,4784,1,0,0,0,4790,4787,1,0,0,0,4791,689,1,0,0,0,4792,4797,3,688,344,0,4793,4794,5,397,0,0,4794,4796,3,688,344,0,4795,4793,1,0,0,0,4796,4799,1,0,0,0,4797,4795,1,0,0,0,4797,4798,1,0,0,0,4798,691,1,0,0,0,4799,4797,1,0,0,0,621,695,702,705,711,717,724,734,737,741,756,763,769,774,779,782,806,813,816,821,826,832,836,849,853,857,862,869,873,878,885,889,894,942,949,954,977,981,985,988,992,997,1003,1007,1013,1015,1026,1030,1037,1045,1048,1053,1057,1060,1070,1078,1082,1085,1089,1093,1096,1101,1107,1112,1117,1121,1132,1134,1138,1148,1152,1158,1161,1168,1173,1181,1186,1190,1198,1203,1209,1215,1218,1221,1224,1233,1241,1246,1254,1261,1264,1267,1269,1280,1282,1285,1288,1291,1294,1297,1299,1311,1317,1325,1327,1337,1370,1375,1379,1383,1390,1397,1403,1407,1410,1417,1440,1445,1449,1457,1466,1473,1479,1486,1489,1495,1502,1510,1519,1528,1535,1555,1562,1564,1571,1581,1589,1593,1597,1610,1619,1635,1639,1644,1649,1652,1655,1658,1661,1664,1669,1678,1682,1689,1692,1695,1698,1710,1716,1742,1750,1754,1757,1760,1763,1766,1769,1772,1775,1784,1794,1797,1817,1823,1829,1832,1834,1841,1848,1861,1866,1875,1883,1891,1904,1917,1933,1937,1952,1958,1961,1964,1967,1970,1974,1989,1992,2003,2017,2051,2059,2064,2072,2077,2082,2089,2097,2105,2113,2118,2128,2132,2140,2149,2152,2156,2163,2169,2173,2179,2183,2195,2204,2215,2219,2226,2238,2248,2251,2258,2264,2268,2271,2274,2280,2284,2288,2293,2297,2301,2305,2313,2317,2321,2325,2329,2337,2341,2345,2353,2358,2363,2367,2371,2378,2387,2395,2407,2425,2428,2434,2460,2463,2469,2477,2485,2498,2505,2508,2511,2514,2517,2520,2523,2526,2529,2532,2535,2540,2543,2546,2549,2552,2555,2558,2561,2564,2567,2570,2572,2578,2582,2585,2588,2591,2594,2597,2604,2608,2611,2614,2617,2620,2623,2630,2633,2641,2645,2652,2654,2657,2662,2665,2669,2674,2680,2688,2696,2706,2709,2713,2717,2722,2729,2733,2735,2739,2746,2751,2764,2772,2791,2801,2814,2824,2828,2832,2838,2845,2852,2861,2868,2888,2891,2905,2920,2924,2944,2956,2962,2965,2968,2974,2980,2987,2995,3001,3005,3010,3013,3017,3024,3029,3034,3037,3039,3047,3055,3059,3063,3067,3084,3101,3108,3117,3122,3125,3128,3132,3147,3161,3164,3175,3179,3182,3185,3189,3194,3197,3200,3203,3206,3209,3215,3218,3221,3224,3227,3230,3233,3236,3239,3242,3246,3248,3254,3259,3262,3265,3268,3271,3277,3280,3283,3286,3289,3292,3295,3298,3301,3304,3308,3310,3312,3317,3322,3326,3330,3335,3340,3349,3359,3367,3379,3382,3388,3395,3402,3409,3416,3425,3429,3436,3441,3445,3449,3452,3455,3466,3470,3472,3475,3488,3491,3494,3506,3509,3516,3525,3530,3532,3534,3551,3554,3562,3565,3569,3572,3575,3578,3581,3593,3601,3608,3611,3618,3621,3626,3633,3641,3649,3654,3658,3663,3670,3684,3687,3691,3702,3712,3715,3722,3731,3734,3740,3743,3750,3755,3758,3771,3777,3779,3787,3790,3800,3805,3807,3819,3825,3827,3834,3841,3855,3861,3864,3867,3870,3879,3886,3892,3901,3905,3913,3923,3933,3938,3942,3948,3953,3963,3967,3970,3975,3978,3982,3987,3998,4e3,4009,4028,4038,4041,4048,4051,4061,4068,4071,4073,4084,4094,4096,4105,4110,4119,4132,4136,4148,4152,4161,4180,4198,4210,4225,4229,4245,4252,4266,4271,4281,4283,4291,4299,4307,4315,4323,4331,4342,4346,4354,4370,4374,4379,4392,4401,4403,4412,4417,4423,4430,4435,4444,4452,4460,4468,4478,4483,4542,4548,4557,4559,4575,4583,4587,4589,4595,4600,4617,4643,4648,4650,4678,4695,4700,4709,4720,4727,4733,4738,4765,4776,4790,4797],e.vocabulary=new ie(e.literalNames,e.symbolicNames,[]),e.decisionsToDFA=e._ATN.decisionToState.map((i,t)=>new t0(i,t));class j7 extends R{constructor(t,s){super(t,s)}EOF(){return this.getToken(e.EOF,0)}statement(t){return t===void 0?this.getRuleContexts(li):this.getRuleContext(t,li)}get ruleIndex(){return e.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class li extends R{constructor(t,s){super(t,s)}explainStatement(){return this.getRuleContext(0,l3)}execStatement(){return this.getRuleContext(0,Qr)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_statement}enterRule(t){t.enterStatement&&t.enterStatement(this)}exitRule(t){t.exitStatement&&t.exitStatement(this)}accept(t){return t.visitStatement?t.visitStatement(this):t.visitChildren(this)}}class l3 extends R{constructor(t,s){super(t,s)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}execStatement(){return this.getRuleContext(0,Qr)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}queryStatementExpression(){return this.getRuleContext(0,x1)}explainOption(t){return t===void 0?this.getRuleContexts(Gr):this.getRuleContext(t,Gr)}get ruleIndex(){return e.RULE_explainStatement}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class Gr extends R{constructor(t,s){super(t,s)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_DEPENDENCY(){return this.getToken(e.KW_DEPENDENCY,0)}KW_CBO(){return this.getToken(e.KW_CBO,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_JOINCOST(){return this.getToken(e.KW_JOINCOST,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_REOPTIMIZATION(){return this.getToken(e.KW_REOPTIMIZATION,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_AST(){return this.getToken(e.KW_AST,0)}KW_VECTORIZATION(){return this.getToken(e.KW_VECTORIZATION,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}vectorizatonDetail(){return this.getRuleContext(0,E3)}KW_DEBUG(){return this.getToken(e.KW_DEBUG,0)}KW_DDL(){return this.getToken(e.KW_DDL,0)}get ruleIndex(){return e.RULE_explainOption}enterRule(t){t.enterExplainOption&&t.enterExplainOption(this)}exitRule(t){t.exitExplainOption&&t.exitExplainOption(this)}accept(t){return t.visitExplainOption?t.visitExplainOption(this):t.visitChildren(this)}}class E3 extends R{constructor(t,s){super(t,s)}KW_SUMMARY(){return this.getToken(e.KW_SUMMARY,0)}KW_OPERATOR(){return this.getToken(e.KW_OPERATOR,0)}KW_EXPRESSION(){return this.getToken(e.KW_EXPRESSION,0)}KW_DETAIL(){return this.getToken(e.KW_DETAIL,0)}get ruleIndex(){return e.RULE_vectorizatonDetail}enterRule(t){t.enterVectorizatonDetail&&t.enterVectorizatonDetail(this)}exitRule(t){t.exitVectorizatonDetail&&t.exitVectorizatonDetail(this)}accept(t){return t.visitVectorizatonDetail?t.visitVectorizatonDetail(this):t.visitChildren(this)}}class Qr extends R{constructor(t,s){super(t,s)}queryStatementExpression(){return this.getRuleContext(0,x1)}loadStatement(){return this.getRuleContext(0,R3)}exportStatement(){return this.getRuleContext(0,T3)}importStatement(){return this.getRuleContext(0,W3)}replDumpStatement(){return this.getRuleContext(0,d3)}replLoadStatement(){return this.getRuleContext(0,K3)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_STATUS(){return this.getToken(e.KW_STATUS,0)}dbSchemaName(){return this.getRuleContext(0,Nt)}KW_WITH(){return this.getToken(e.KW_WITH,0)}keyValueProperties(){return this.getRuleContext(0,ke)}ddlStatement(){return this.getRuleContext(0,m3)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}tableName(){return this.getRuleContext(0,Wt)}whereClause(){return this.getRuleContext(0,I0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}setColumnsClause(){return this.getRuleContext(0,Li)}sqlTransactionStatement(){return this.getRuleContext(0,Wc)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_USING(){return this.getToken(e.KW_USING,0)}joinSourcePart(){return this.getRuleContext(0,pi)}KW_ON(){return this.getToken(e.KW_ON,0)}expression(){return this.getRuleContext(0,Q)}whenClauses(){return this.getRuleContext(0,dc)}QUERY_HINT(){return this.getToken(e.QUERY_HINT,0)}id_(){return this.getRuleContext(0,N)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_PREPARE(){return this.getToken(e.KW_PREPARE,0)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}constantList(){return this.getRuleContext(0,di)}KW_SET(){return this.getToken(e.KW_SET,0)}configPropertiesItem(t){return t===void 0?this.getRuleContexts(dh):this.getRuleContext(t,dh)}EQUAL(){return this.getToken(e.EQUAL,0)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}COLON(t){return t===void 0?this.getTokens(e.COLON):this.getToken(e.COLON,t)}get ruleIndex(){return e.RULE_execStatement}enterRule(t){t.enterExecStatement&&t.enterExecStatement(this)}exitRule(t){t.exitExecStatement&&t.exitExecStatement(this)}accept(t){return t.visitExecStatement?t.visitExecStatement(this):t.visitChildren(this)}}class R3 extends R{constructor(t,s){super(t,s)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}inputFileFormat(){return this.getRuleContext(0,O3)}get ruleIndex(){return e.RULE_loadStatement}enterRule(t){t.enterLoadStatement&&t.enterLoadStatement(this)}exitRule(t){t.exitLoadStatement&&t.exitLoadStatement(this)}accept(t){return t.visitLoadStatement?t.visitLoadStatement(this):t.visitChildren(this)}}class Ei extends R{constructor(t,s){super(t,s)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_REPLICATION(){return this.getToken(e.KW_REPLICATION,0)}LPAREN(){return this.getToken(e.LPAREN,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_METADATA(){return this.getToken(e.KW_METADATA,0)}get ruleIndex(){return e.RULE_replicationClause}enterRule(t){t.enterReplicationClause&&t.enterReplicationClause(this)}exitRule(t){t.exitReplicationClause&&t.exitReplicationClause(this)}accept(t){return t.visitReplicationClause?t.visitReplicationClause(this):t.visitChildren(this)}}class T3 extends R{constructor(t,s){super(t,s)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_TO(){return this.getToken(e.KW_TO,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}replicationClause(){return this.getRuleContext(0,Ei)}get ruleIndex(){return e.RULE_exportStatement}enterRule(t){t.enterExportStatement&&t.enterExportStatement(this)}exitRule(t){t.exitExportStatement&&t.exitExportStatement(this)}accept(t){return t.visitExportStatement?t.visitExportStatement(this):t.visitChildren(this)}}class W3 extends R{constructor(t,s){super(t,s)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}locationPath(){return this.getRuleContext(0,ae)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}get ruleIndex(){return e.RULE_importStatement}enterRule(t){t.enterImportStatement&&t.enterImportStatement(this)}exitRule(t){t.exitImportStatement&&t.exitImportStatement(this)}accept(t){return t.visitImportStatement?t.visitImportStatement(this):t.visitChildren(this)}}class d3 extends R{constructor(t,s){super(t,s)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_DUMP(){return this.getToken(e.KW_DUMP,0)}replDbPolicy(t){return t===void 0?this.getRuleContexts(Ri):this.getRuleContext(t,Ri)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}keyValueProperties(){return this.getRuleContext(0,ke)}get ruleIndex(){return e.RULE_replDumpStatement}enterRule(t){t.enterReplDumpStatement&&t.enterReplDumpStatement(this)}exitRule(t){t.exitReplDumpStatement&&t.exitReplDumpStatement(this)}accept(t){return t.visitReplDumpStatement?t.visitReplDumpStatement(this):t.visitChildren(this)}}class Ri extends R{constructor(t,s){super(t,s)}dbSchemaName(){return this.getRuleContext(0,Nt)}DOT(){return this.getToken(e.DOT,0)}replTableLevelPolicy(){return this.getRuleContext(0,A3)}get ruleIndex(){return e.RULE_replDbPolicy}enterRule(t){t.enterReplDbPolicy&&t.enterReplDbPolicy(this)}exitRule(t){t.exitReplDbPolicy&&t.exitReplDbPolicy(this)}accept(t){return t.visitReplDbPolicy?t.visitReplDbPolicy(this):t.visitChildren(this)}}class K3 extends R{constructor(t,s){super(t,s)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}replDbPolicy(){return this.getRuleContext(0,Ri)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}dbSchemaName(){return this.getRuleContext(0,Nt)}keyValueProperties(){return this.getRuleContext(0,ke)}get ruleIndex(){return e.RULE_replLoadStatement}enterRule(t){t.enterReplLoadStatement&&t.enterReplLoadStatement(this)}exitRule(t){t.exitReplLoadStatement&&t.exitReplLoadStatement(this)}accept(t){return t.visitReplLoadStatement?t.visitReplLoadStatement(this):t.visitChildren(this)}}class A3 extends R{constructor(t,s){super(t,s)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_replTableLevelPolicy}enterRule(t){t.enterReplTableLevelPolicy&&t.enterReplTableLevelPolicy(this)}exitRule(t){t.exitReplTableLevelPolicy&&t.exitReplTableLevelPolicy(this)}accept(t){return t.visitReplTableLevelPolicy?t.visitReplTableLevelPolicy(this):t.visitChildren(this)}}class m3 extends R{constructor(t,s){super(t,s)}createDatabaseStatement(){return this.getRuleContext(0,zr)}switchDatabaseStatement(){return this.getRuleContext(0,_3)}dropDatabaseStatement(){return this.getRuleContext(0,L3)}createTableStatement(){return this.getRuleContext(0,b2)}dropTableStatement(){return this.getRuleContext(0,N3)}truncateTableStatement(){return this.getRuleContext(0,p3)}alterStatement(){return this.getRuleContext(0,Cc)}descStatement(){return this.getRuleContext(0,D3)}showStatement(){return this.getRuleContext(0,S3)}metastoreCheck(){return this.getRuleContext(0,ro)}createViewStatement(){return this.getRuleContext(0,e2)}createMaterializedViewStatement(){return this.getRuleContext(0,_o)}createScheduledQueryStatement(){return this.getRuleContext(0,xo)}alterScheduledQueryStatement(){return this.getRuleContext(0,No)}dropScheduledQueryStatement(){return this.getRuleContext(0,po)}dropViewStatement(){return this.getRuleContext(0,fo)}dropMaterializedViewStatement(){return this.getRuleContext(0,Lo)}createFunctionStatement(){return this.getRuleContext(0,oo)}createMacroStatement(){return this.getRuleContext(0,lo)}dropFunctionStatement(){return this.getRuleContext(0,co)}reloadFunctionsStatement(){return this.getRuleContext(0,uo)}dropMacroStatement(){return this.getRuleContext(0,Eo)}createIndexStatement(){return this.getRuleContext(0,Ro)}dropIndexStatement(){return this.getRuleContext(0,To)}analyzeStatement(){return this.getRuleContext(0,U3)}lockStatement(){return this.getRuleContext(0,M3)}unlockStatement(){return this.getRuleContext(0,b3)}lockDatabase(){return this.getRuleContext(0,w3)}unlockDatabase(){return this.getRuleContext(0,F3)}createRoleStatement(){return this.getRuleContext(0,B3)}dropRoleStatement(){return this.getRuleContext(0,V3)}grantPrivileges(){return this.getRuleContext(0,Y3)}revokePrivileges(){return this.getRuleContext(0,G3)}showGrants(){return this.getRuleContext(0,J3)}showRoleGrants(){return this.getRuleContext(0,Z3)}showRolePrincipals(){return this.getRuleContext(0,P3)}showRoles(){return this.getRuleContext(0,j3)}grantRole(){return this.getRuleContext(0,Q3)}revokeRole(){return this.getRuleContext(0,X3)}setRole(){return this.getRuleContext(0,$3)}showCurrentRole(){return this.getRuleContext(0,z3)}KW_ABORT(){return this.getToken(e.KW_ABORT,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}KW_KILL(){return this.getToken(e.KW_KILL,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}resourcePlanDdlStatements(){return this.getRuleContext(0,a4)}createDataConnectorStatement(){return this.getRuleContext(0,Ic)}dropDataConnectorStatement(){return this.getRuleContext(0,kc)}get ruleIndex(){return e.RULE_ddlStatement}enterRule(t){t.enterDdlStatement&&t.enterDdlStatement(this)}exitRule(t){t.exitDdlStatement&&t.exitDdlStatement(this)}accept(t){return t.visitDdlStatement?t.visitDdlStatement(this):t.visitChildren(this)}}class Ut extends R{constructor(t,s){super(t,s)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class re extends R{constructor(t,s){super(t,s)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class Xr extends R{constructor(t,s){super(t,s)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}get ruleIndex(){return e.RULE_restrictOrCascade}enterRule(t){t.enterRestrictOrCascade&&t.enterRestrictOrCascade(this)}exitRule(t){t.exitRestrictOrCascade&&t.exitRestrictOrCascade(this)}accept(t){return t.visitRestrictOrCascade?t.visitRestrictOrCascade(this):t.visitChildren(this)}}class C3 extends R{constructor(t,s){super(t,s)}enable(){return this.getRuleContext(0,Zi)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}get ruleIndex(){return e.RULE_rewriteEnabled}enterRule(t){t.enterRewriteEnabled&&t.enterRewriteEnabled(this)}exitRule(t){t.exitRewriteEnabled&&t.exitRewriteEnabled(this)}accept(t){return t.visitRewriteEnabled?t.visitRewriteEnabled(this):t.visitChildren(this)}}class Zr extends R{constructor(t,s){super(t,s)}disable(){return this.getRuleContext(0,ji)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}get ruleIndex(){return e.RULE_rewriteDisabled}enterRule(t){t.enterRewriteDisabled&&t.enterRewriteDisabled(this)}exitRule(t){t.exitRewriteDisabled&&t.exitRewriteDisabled(this)}accept(t){return t.visitRewriteDisabled?t.visitRewriteDisabled(this):t.visitChildren(this)}}class jr extends R{constructor(t,s){super(t,s)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}get ruleIndex(){return e.RULE_storedAsDirs}enterRule(t){t.enterStoredAsDirs&&t.enterStoredAsDirs(this)}exitRule(t){t.exitStoredAsDirs&&t.exitStoredAsDirs(this)}accept(t){return t.visitStoredAsDirs?t.visitStoredAsDirs(this):t.visitChildren(this)}}class zr extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}db_schema(){return this.getRuleContext(0,he)}dbSchemaNameCreate(){return this.getRuleContext(0,Mc)}KW_REMOTE(){return this.getToken(e.KW_REMOTE,0)}ifNotExists(){return this.getRuleContext(0,re)}databaseComment(){return this.getRuleContext(0,x3)}locationPath(){return this.getRuleContext(0,ae)}KW_MANAGEDLOCATION(){return this.getToken(e.KW_MANAGEDLOCATION,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}keyValueProperties(){return this.getRuleContext(0,ke)}dbConnectorName(){return this.getRuleContext(0,f3)}get ruleIndex(){return e.RULE_createDatabaseStatement}enterRule(t){t.enterCreateDatabaseStatement&&t.enterCreateDatabaseStatement(this)}exitRule(t){t.exitCreateDatabaseStatement&&t.exitCreateDatabaseStatement(this)}accept(t){return t.visitCreateDatabaseStatement?t.visitCreateDatabaseStatement(this):t.visitChildren(this)}}class f3 extends R{constructor(t,s){super(t,s)}KW_USING(){return this.getToken(e.KW_USING,0)}dbSchemaName(){return this.getRuleContext(0,Nt)}get ruleIndex(){return e.RULE_dbConnectorName}enterRule(t){t.enterDbConnectorName&&t.enterDbConnectorName(this)}exitRule(t){t.exitDbConnectorName&&t.exitDbConnectorName(this)}accept(t){return t.visitDbConnectorName?t.visitDbConnectorName(this):t.visitChildren(this)}}class _3 extends R{constructor(t,s){super(t,s)}KW_USE(){return this.getToken(e.KW_USE,0)}dbSchemaName(){return this.getRuleContext(0,Nt)}get ruleIndex(){return e.RULE_switchDatabaseStatement}enterRule(t){t.enterSwitchDatabaseStatement&&t.enterSwitchDatabaseStatement(this)}exitRule(t){t.exitSwitchDatabaseStatement&&t.exitSwitchDatabaseStatement(this)}accept(t){return t.visitSwitchDatabaseStatement?t.visitSwitchDatabaseStatement(this):t.visitChildren(this)}}class L3 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,Nt)}ifExists(){return this.getRuleContext(0,Ut)}restrictOrCascade(){return this.getRuleContext(0,Xr)}get ruleIndex(){return e.RULE_dropDatabaseStatement}enterRule(t){t.enterDropDatabaseStatement&&t.enterDropDatabaseStatement(this)}exitRule(t){t.exitDropDatabaseStatement&&t.exitDropDatabaseStatement(this)}accept(t){return t.visitDropDatabaseStatement?t.visitDropDatabaseStatement(this):t.visitChildren(this)}}class x3 extends R{constructor(t,s){super(t,s)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_databaseComment}enterRule(t){t.enterDatabaseComment&&t.enterDatabaseComment(this)}exitRule(t){t.exitDatabaseComment&&t.exitDatabaseComment(this)}accept(t){return t.visitDatabaseComment?t.visitDatabaseComment(this):t.visitChildren(this)}}class p3 extends R{constructor(t,s){super(t,s)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_FORCE(){return this.getToken(e.KW_FORCE,0)}get ruleIndex(){return e.RULE_truncateTableStatement}enterRule(t){t.enterTruncateTableStatement&&t.enterTruncateTableStatement(this)}exitRule(t){t.exitTruncateTableStatement&&t.exitTruncateTableStatement(this)}accept(t){return t.visitTruncateTableStatement?t.visitTruncateTableStatement(this):t.visitChildren(this)}}class N3 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}ifExists(){return this.getRuleContext(0,Ut)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}replicationClause(){return this.getRuleContext(0,Ei)}get ruleIndex(){return e.RULE_dropTableStatement}enterRule(t){t.enterDropTableStatement&&t.enterDropTableStatement(this)}exitRule(t){t.exitDropTableStatement&&t.exitDropTableStatement(this)}accept(t){return t.visitDropTableStatement?t.visitDropTableStatement(this):t.visitChildren(this)}}class O3 extends R{constructor(t,s){super(t,s)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}get ruleIndex(){return e.RULE_inputFileFormat}enterRule(t){t.enterInputFileFormat&&t.enterInputFileFormat(this)}exitRule(t){t.exitInputFileFormat&&t.exitInputFileFormat(this)}accept(t){return t.visitInputFileFormat?t.visitInputFileFormat(this):t.visitChildren(this)}}class g3 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}KW_ELEM_TYPE(t){return t===void 0?this.getTokens(e.KW_ELEM_TYPE):this.getToken(e.KW_ELEM_TYPE,t)}KW_KEY_TYPE(t){return t===void 0?this.getTokens(e.KW_KEY_TYPE):this.getToken(e.KW_KEY_TYPE,t)}KW_VALUE_TYPE(t){return t===void 0?this.getTokens(e.KW_VALUE_TYPE):this.getToken(e.KW_VALUE_TYPE,t)}get ruleIndex(){return e.RULE_tabTypeExpr}enterRule(t){t.enterTabTypeExpr&&t.enterTabTypeExpr(this)}exitRule(t){t.exitTabTypeExpr&&t.exitTabTypeExpr(this)}accept(t){return t.visitTabTypeExpr?t.visitTabTypeExpr(this):t.visitChildren(this)}}class I3 extends R{constructor(t,s){super(t,s)}tabTypeExpr(){return this.getRuleContext(0,g3)}partitionSpec(){return this.getRuleContext(0,zt)}get ruleIndex(){return e.RULE_partTypeExpr}enterRule(t){t.enterPartTypeExpr&&t.enterPartTypeExpr(this)}exitRule(t){t.exitPartTypeExpr&&t.exitPartTypeExpr(this)}accept(t){return t.visitPartTypeExpr?t.visitPartTypeExpr(this):t.visitChildren(this)}}class k3 extends R{constructor(t,s){super(t,s)}tableOrView(){return this.getRuleContext(0,I1)}partitionSpec(){return this.getRuleContext(0,zt)}extColumnName(){return this.getRuleContext(0,Bo)}get ruleIndex(){return e.RULE_tabPartColTypeExpr}enterRule(t){t.enterTabPartColTypeExpr&&t.enterTabPartColTypeExpr(this)}exitRule(t){t.exitTabPartColTypeExpr&&t.exitTabPartColTypeExpr(this)}accept(t){return t.visitTabPartColTypeExpr?t.visitTabPartColTypeExpr(this):t.visitChildren(this)}}class D3 extends R{constructor(t,s){super(t,s)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}db_schema(){return this.getRuleContext(0,he)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}dbSchemaName(){return this.getRuleContext(0,Nt)}functionNameForDDL(){return this.getRuleContext(0,Vi)}tabPartColTypeExpr(){return this.getRuleContext(0,k3)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}get ruleIndex(){return e.RULE_descStatement}enterRule(t){t.enterDescStatement&&t.enterDescStatement(this)}exitRule(t){t.exitDescStatement&&t.exitDescStatement(this)}accept(t){return t.visitDescStatement?t.visitDescStatement(this):t.visitChildren(this)}}class U3 extends R{constructor(t,s){super(t,s)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_METADATA(){return this.getToken(e.KW_METADATA,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_analyzeStatement}enterRule(t){t.enterAnalyzeStatement&&t.enterAnalyzeStatement(this)}exitRule(t){t.exitAnalyzeStatement&&t.exitAnalyzeStatement(this)}accept(t){return t.visitAnalyzeStatement?t.visitAnalyzeStatement(this):t.visitChildren(this)}}class $r extends R{constructor(t,s){super(t,s)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}get ruleIndex(){return e.RULE_from_in}enterRule(t){t.enterFrom_in&&t.enterFrom_in(this)}exitRule(t){t.exitFrom_in&&t.exitFrom_in(this)}accept(t){return t.visitFrom_in?t.visitFrom_in(this):t.visitChildren(this)}}class he extends R{constructor(t,s){super(t,s)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}get ruleIndex(){return e.RULE_db_schema}enterRule(t){t.enterDb_schema&&t.enterDb_schema(this)}exitRule(t){t.exitDb_schema&&t.exitDb_schema(this)}accept(t){return t.visitDb_schema?t.visitDb_schema(this):t.visitChildren(this)}}class S3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}showStmtIdentifier(){return this.getRuleContext(0,h2)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}from_in(t){return t===void 0?this.getRuleContexts($r):this.getRuleContext(t,$r)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}dbSchemaName(){return this.getRuleContext(0,Nt)}showTablesFilterExpr(){return this.getRuleContext(0,y3)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}tableOrView(){return this.getRuleContext(0,I1)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}functionNameForDDL(){return this.getRuleContext(0,Vi)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}partitionSpec(){return this.getRuleContext(0,zt)}whereClause(){return this.getRuleContext(0,I0)}orderByClause(){return this.getRuleContext(0,Ue)}limitClause(){return this.getRuleContext(0,O1)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}db_schema(){return this.getRuleContext(0,he)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}partTypeExpr(){return this.getRuleContext(0,I3)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPACT_ID(){return this.getToken(e.KW_COMPACT_ID,0)}EQUAL(){return this.getToken(e.EQUAL,0)}Number(){return this.getToken(e.Number,0)}compactionPool(){return this.getRuleContext(0,y2)}compactionType(){return this.getRuleContext(0,Ac)}compactionStatus(){return this.getRuleContext(0,mc)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_CONF(){return this.getToken(e.KW_CONF,0)}KW_RESOURCE(){return this.getToken(e.KW_RESOURCE,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_PLANS(){return this.getToken(e.KW_PLANS,0)}id_(){return this.getRuleContext(0,N)}KW_DATACONNECTORS(){return this.getToken(e.KW_DATACONNECTORS,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}get ruleIndex(){return e.RULE_showStatement}enterRule(t){t.enterShowStatement&&t.enterShowStatement(this)}exitRule(t){t.exitShowStatement&&t.exitShowStatement(this)}accept(t){return t.visitShowStatement?t.visitShowStatement(this):t.visitChildren(this)}}class y3 extends R{constructor(t,s){super(t,s)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}id_(){return this.getRuleContext(0,N)}EQUAL(){return this.getToken(e.EQUAL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}showStmtIdentifier(){return this.getRuleContext(0,h2)}get ruleIndex(){return e.RULE_showTablesFilterExpr}enterRule(t){t.enterShowTablesFilterExpr&&t.enterShowTablesFilterExpr(this)}exitRule(t){t.exitShowTablesFilterExpr&&t.exitShowTablesFilterExpr(this)}accept(t){return t.visitShowTablesFilterExpr?t.visitShowTablesFilterExpr(this):t.visitChildren(this)}}class M3 extends R{constructor(t,s){super(t,s)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}lockMode(){return this.getRuleContext(0,Jr)}get ruleIndex(){return e.RULE_lockStatement}enterRule(t){t.enterLockStatement&&t.enterLockStatement(this)}exitRule(t){t.exitLockStatement&&t.exitLockStatement(this)}accept(t){return t.visitLockStatement?t.visitLockStatement(this):t.visitChildren(this)}}class w3 extends R{constructor(t,s){super(t,s)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}db_schema(){return this.getRuleContext(0,he)}lockMode(){return this.getRuleContext(0,Jr)}dbSchemaName(){return this.getRuleContext(0,Nt)}get ruleIndex(){return e.RULE_lockDatabase}enterRule(t){t.enterLockDatabase&&t.enterLockDatabase(this)}exitRule(t){t.exitLockDatabase&&t.exitLockDatabase(this)}accept(t){return t.visitLockDatabase?t.visitLockDatabase(this):t.visitChildren(this)}}class Jr extends R{constructor(t,s){super(t,s)}KW_SHARED(){return this.getToken(e.KW_SHARED,0)}KW_EXCLUSIVE(){return this.getToken(e.KW_EXCLUSIVE,0)}get ruleIndex(){return e.RULE_lockMode}enterRule(t){t.enterLockMode&&t.enterLockMode(this)}exitRule(t){t.exitLockMode&&t.exitLockMode(this)}accept(t){return t.visitLockMode?t.visitLockMode(this):t.visitChildren(this)}}class b3 extends R{constructor(t,s){super(t,s)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}get ruleIndex(){return e.RULE_unlockStatement}enterRule(t){t.enterUnlockStatement&&t.enterUnlockStatement(this)}exitRule(t){t.exitUnlockStatement&&t.exitUnlockStatement(this)}accept(t){return t.visitUnlockStatement?t.visitUnlockStatement(this):t.visitChildren(this)}}class F3 extends R{constructor(t,s){super(t,s)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,Nt)}get ruleIndex(){return e.RULE_unlockDatabase}enterRule(t){t.enterUnlockDatabase&&t.enterUnlockDatabase(this)}exitRule(t){t.exitUnlockDatabase&&t.exitUnlockDatabase(this)}accept(t){return t.visitUnlockDatabase?t.visitUnlockDatabase(this):t.visitChildren(this)}}class B3 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_createRoleStatement}enterRule(t){t.enterCreateRoleStatement&&t.enterCreateRoleStatement(this)}exitRule(t){t.exitCreateRoleStatement&&t.exitCreateRoleStatement(this)}accept(t){return t.visitCreateRoleStatement?t.visitCreateRoleStatement(this):t.visitChildren(this)}}class V3 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_dropRoleStatement}enterRule(t){t.enterDropRoleStatement&&t.enterDropRoleStatement(this)}exitRule(t){t.exitDropRoleStatement&&t.exitDropRoleStatement(this)}accept(t){return t.visitDropRoleStatement?t.visitDropRoleStatement(this):t.visitChildren(this)}}class Y3 extends R{constructor(t,s){super(t,s)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_TO(){return this.getToken(e.KW_TO,0)}principalSpecification(){return this.getRuleContext(0,l1)}privilegeList(){return this.getRuleContext(0,Hr)}privilegeObject(){return this.getRuleContext(0,Pr)}withGrantOption(){return this.getRuleContext(0,eo)}get ruleIndex(){return e.RULE_grantPrivileges}enterRule(t){t.enterGrantPrivileges&&t.enterGrantPrivileges(this)}exitRule(t){t.exitGrantPrivileges&&t.exitGrantPrivileges(this)}accept(t){return t.visitGrantPrivileges?t.visitGrantPrivileges(this):t.visitChildren(this)}}class G3 extends R{constructor(t,s){super(t,s)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}privilegeList(){return this.getRuleContext(0,Hr)}KW_FROM(){return this.getToken(e.KW_FROM,0)}principalSpecification(){return this.getRuleContext(0,l1)}grantOptionFor(){return this.getRuleContext(0,so)}privilegeObject(){return this.getRuleContext(0,Pr)}get ruleIndex(){return e.RULE_revokePrivileges}enterRule(t){t.enterRevokePrivileges&&t.enterRevokePrivileges(this)}exitRule(t){t.exitRevokePrivileges&&t.exitRevokePrivileges(this)}accept(t){return t.visitRevokePrivileges?t.visitRevokePrivileges(this):t.visitChildren(this)}}class Q3 extends R{constructor(t,s){super(t,s)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}KW_TO(){return this.getToken(e.KW_TO,0)}principalSpecification(){return this.getRuleContext(0,l1)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}withAdminOption(){return this.getRuleContext(0,io)}get ruleIndex(){return e.RULE_grantRole}enterRule(t){t.enterGrantRole&&t.enterGrantRole(this)}exitRule(t){t.exitGrantRole&&t.exitGrantRole(this)}accept(t){return t.visitGrantRole?t.visitGrantRole(this):t.visitChildren(this)}}class X3 extends R{constructor(t,s){super(t,s)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}KW_FROM(){return this.getToken(e.KW_FROM,0)}principalSpecification(){return this.getRuleContext(0,l1)}adminOptionFor(){return this.getRuleContext(0,no)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_revokeRole}enterRule(t){t.enterRevokeRole&&t.enterRevokeRole(this)}exitRule(t){t.exitRevokeRole&&t.exitRevokeRole(this)}accept(t){return t.visitRevokeRole?t.visitRevokeRole(this):t.visitChildren(this)}}class Z3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}principalName(){return this.getRuleContext(0,N0)}get ruleIndex(){return e.RULE_showRoleGrants}enterRule(t){t.enterShowRoleGrants&&t.enterShowRoleGrants(this)}exitRule(t){t.exitShowRoleGrants&&t.exitShowRoleGrants(this)}accept(t){return t.visitShowRoleGrants?t.visitShowRoleGrants(this):t.visitChildren(this)}}class j3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}get ruleIndex(){return e.RULE_showRoles}enterRule(t){t.enterShowRoles&&t.enterShowRoles(this)}exitRule(t){t.exitShowRoles&&t.exitShowRoles(this)}accept(t){return t.visitShowRoles?t.visitShowRoles(this):t.visitChildren(this)}}class z3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}get ruleIndex(){return e.RULE_showCurrentRole}enterRule(t){t.enterShowCurrentRole&&t.enterShowCurrentRole(this)}exitRule(t){t.exitShowCurrentRole&&t.exitShowCurrentRole(this)}accept(t){return t.visitShowCurrentRole?t.visitShowCurrentRole(this):t.visitChildren(this)}}class $3 extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,N)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_NONE(){return this.getToken(e.KW_NONE,0)}get ruleIndex(){return e.RULE_setRole}enterRule(t){t.enterSetRole&&t.enterSetRole(this)}exitRule(t){t.exitSetRole&&t.exitSetRole(this)}accept(t){return t.visitSetRole?t.visitSetRole(this):t.visitChildren(this)}}class J3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}principalName(){return this.getRuleContext(0,N0)}KW_ON(){return this.getToken(e.KW_ON,0)}privilegeIncludeColObject(){return this.getRuleContext(0,H3)}get ruleIndex(){return e.RULE_showGrants}enterRule(t){t.enterShowGrants&&t.enterShowGrants(this)}exitRule(t){t.exitShowGrants&&t.exitShowGrants(this)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}}class P3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_showRolePrincipals}enterRule(t){t.enterShowRolePrincipals&&t.enterShowRolePrincipals(this)}exitRule(t){t.exitShowRolePrincipals&&t.exitShowRolePrincipals(this)}accept(t){return t.visitShowRolePrincipals?t.visitShowRolePrincipals(this):t.visitChildren(this)}}class H3 extends R{constructor(t,s){super(t,s)}KW_ALL(){return this.getToken(e.KW_ALL,0)}privObjectCols(){return this.getRuleContext(0,q3)}get ruleIndex(){return e.RULE_privilegeIncludeColObject}enterRule(t){t.enterPrivilegeIncludeColObject&&t.enterPrivilegeIncludeColObject(this)}exitRule(t){t.exitPrivilegeIncludeColObject&&t.exitPrivilegeIncludeColObject(this)}accept(t){return t.visitPrivilegeIncludeColObject?t.visitPrivilegeIncludeColObject(this):t.visitChildren(this)}}class Pr extends R{constructor(t,s){super(t,s)}KW_ON(){return this.getToken(e.KW_ON,0)}privObject(){return this.getRuleContext(0,v3)}get ruleIndex(){return e.RULE_privilegeObject}enterRule(t){t.enterPrivilegeObject&&t.enterPrivilegeObject(this)}exitRule(t){t.exitPrivilegeObject&&t.exitPrivilegeObject(this)}accept(t){return t.visitPrivilegeObject?t.visitPrivilegeObject(this):t.visitChildren(this)}}class v3 extends R{constructor(t,s){super(t,s)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,Nt)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_URI(){return this.getToken(e.KW_URI,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_SERVER(){return this.getToken(e.KW_SERVER,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_privObject}enterRule(t){t.enterPrivObject&&t.enterPrivObject(this)}exitRule(t){t.exitPrivObject&&t.exitPrivObject(this)}accept(t){return t.visitPrivObject?t.visitPrivObject(this):t.visitChildren(this)}}class q3 extends R{constructor(t,s){super(t,s)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,Nt)}tableName(){return this.getRuleContext(0,Wt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}partitionSpec(){return this.getRuleContext(0,zt)}columnNameList(){return this.getRuleContext(0,pt)}KW_URI(){return this.getToken(e.KW_URI,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_SERVER(){return this.getToken(e.KW_SERVER,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_privObjectCols}enterRule(t){t.enterPrivObjectCols&&t.enterPrivObjectCols(this)}exitRule(t){t.exitPrivObjectCols&&t.exitPrivObjectCols(this)}accept(t){return t.visitPrivObjectCols?t.visitPrivObjectCols(this):t.visitChildren(this)}}class Hr extends R{constructor(t,s){super(t,s)}privlegeDef(t){return t===void 0?this.getRuleContexts(vr):this.getRuleContext(t,vr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_privilegeList}enterRule(t){t.enterPrivilegeList&&t.enterPrivilegeList(this)}exitRule(t){t.exitPrivilegeList&&t.exitPrivilegeList(this)}accept(t){return t.visitPrivilegeList?t.visitPrivilegeList(this):t.visitChildren(this)}}class vr extends R{constructor(t,s){super(t,s)}privilegeType(){return this.getRuleContext(0,to)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_privlegeDef}enterRule(t){t.enterPrivlegeDef&&t.enterPrivlegeDef(this)}exitRule(t){t.exitPrivlegeDef&&t.exitPrivlegeDef(this)}accept(t){return t.visitPrivlegeDef?t.visitPrivlegeDef(this):t.visitChildren(this)}}class to extends R{constructor(t,s){super(t,s)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}KW_SHOW_DATABASE(){return this.getToken(e.KW_SHOW_DATABASE,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}get ruleIndex(){return e.RULE_privilegeType}enterRule(t){t.enterPrivilegeType&&t.enterPrivilegeType(this)}exitRule(t){t.exitPrivilegeType&&t.exitPrivilegeType(this)}accept(t){return t.visitPrivilegeType?t.visitPrivilegeType(this):t.visitChildren(this)}}class l1 extends R{constructor(t,s){super(t,s)}principalName(t){return t===void 0?this.getRuleContexts(N0):this.getRuleContext(t,N0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_principalSpecification}enterRule(t){t.enterPrincipalSpecification&&t.enterPrincipalSpecification(this)}exitRule(t){t.exitPrincipalSpecification&&t.exitPrincipalSpecification(this)}accept(t){return t.visitPrincipalSpecification?t.visitPrincipalSpecification(this):t.visitChildren(this)}}class N0 extends R{constructor(t,s){super(t,s)}KW_USER(){return this.getToken(e.KW_USER,0)}principalIdentifier(){return this.getRuleContext(0,Wh)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_principalName}enterRule(t){t.enterPrincipalName&&t.enterPrincipalName(this)}exitRule(t){t.exitPrincipalName&&t.exitPrincipalName(this)}accept(t){return t.visitPrincipalName?t.visitPrincipalName(this):t.visitChildren(this)}}class qr extends R{constructor(t,s){super(t,s)}KW_USER(){return this.getToken(e.KW_USER,0)}principalIdentifier(){return this.getRuleContext(0,Wh)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_principalAlterName}enterRule(t){t.enterPrincipalAlterName&&t.enterPrincipalAlterName(this)}exitRule(t){t.exitPrincipalAlterName&&t.exitPrincipalAlterName(this)}accept(t){return t.visitPrincipalAlterName?t.visitPrincipalAlterName(this):t.visitChildren(this)}}class eo extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}get ruleIndex(){return e.RULE_withGrantOption}enterRule(t){t.enterWithGrantOption&&t.enterWithGrantOption(this)}exitRule(t){t.exitWithGrantOption&&t.exitWithGrantOption(this)}accept(t){return t.visitWithGrantOption?t.visitWithGrantOption(this):t.visitChildren(this)}}class so extends R{constructor(t,s){super(t,s)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}get ruleIndex(){return e.RULE_grantOptionFor}enterRule(t){t.enterGrantOptionFor&&t.enterGrantOptionFor(this)}exitRule(t){t.exitGrantOptionFor&&t.exitGrantOptionFor(this)}accept(t){return t.visitGrantOptionFor?t.visitGrantOptionFor(this):t.visitChildren(this)}}class no extends R{constructor(t,s){super(t,s)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}get ruleIndex(){return e.RULE_adminOptionFor}enterRule(t){t.enterAdminOptionFor&&t.enterAdminOptionFor(this)}exitRule(t){t.exitAdminOptionFor&&t.exitAdminOptionFor(this)}accept(t){return t.visitAdminOptionFor?t.visitAdminOptionFor(this):t.visitChildren(this)}}class io extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}get ruleIndex(){return e.RULE_withAdminOption}enterRule(t){t.enterWithAdminOption&&t.enterWithAdminOption(this)}exitRule(t){t.exitWithAdminOption&&t.exitWithAdminOption(this)}accept(t){return t.visitWithAdminOption?t.visitWithAdminOption(this):t.visitChildren(this)}}class ro extends R{constructor(t,s){super(t,s)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}partitionSelectorSpec(){return this.getRuleContext(0,Qi)}get ruleIndex(){return e.RULE_metastoreCheck}enterRule(t){t.enterMetastoreCheck&&t.enterMetastoreCheck(this)}exitRule(t){t.exitMetastoreCheck&&t.exitMetastoreCheck(this)}accept(t){return t.visitMetastoreCheck?t.visitMetastoreCheck(this):t.visitChildren(this)}}class ho extends R{constructor(t,s){super(t,s)}resource(t){return t===void 0?this.getRuleContexts(t2):this.getRuleContext(t,t2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_resourceList}enterRule(t){t.enterResourceList&&t.enterResourceList(this)}exitRule(t){t.exitResourceList&&t.exitResourceList(this)}accept(t){return t.visitResourceList?t.visitResourceList(this):t.visitChildren(this)}}class t2 extends R{constructor(t,s){super(t,s)}resourceType(){return this.getRuleContext(0,ao)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_resource}enterRule(t){t.enterResource&&t.enterResource(this)}exitRule(t){t.exitResource&&t.exitResource(this)}accept(t){return t.visitResource?t.visitResource(this):t.visitChildren(this)}}class ao extends R{constructor(t,s){super(t,s)}KW_JAR(){return this.getToken(e.KW_JAR,0)}KW_FILE(){return this.getToken(e.KW_FILE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}get ruleIndex(){return e.RULE_resourceType}enterRule(t){t.enterResourceType&&t.enterResourceType(this)}exitRule(t){t.exitResourceType&&t.exitResourceType(this)}accept(t){return t.visitResourceType?t.visitResourceType(this):t.visitChildren(this)}}class oo extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Xc)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}resourceList(){return this.getRuleContext(0,ho)}get ruleIndex(){return e.RULE_createFunctionStatement}enterRule(t){t.enterCreateFunctionStatement&&t.enterCreateFunctionStatement(this)}exitRule(t){t.exitCreateFunctionStatement&&t.exitCreateFunctionStatement(this)}accept(t){return t.visitCreateFunctionStatement?t.visitCreateFunctionStatement(this):t.visitChildren(this)}}class co extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionNameForDDL(){return this.getRuleContext(0,Vi)}ifExists(){return this.getRuleContext(0,Ut)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}get ruleIndex(){return e.RULE_dropFunctionStatement}enterRule(t){t.enterDropFunctionStatement&&t.enterDropFunctionStatement(this)}exitRule(t){t.exitDropFunctionStatement&&t.exitDropFunctionStatement(this)}accept(t){return t.visitDropFunctionStatement?t.visitDropFunctionStatement(this):t.visitChildren(this)}}class uo extends R{constructor(t,s){super(t,s)}KW_RELOAD(){return this.getToken(e.KW_RELOAD,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}get ruleIndex(){return e.RULE_reloadFunctionsStatement}enterRule(t){t.enterReloadFunctionsStatement&&t.enterReloadFunctionsStatement(this)}exitRule(t){t.exitReloadFunctionsStatement&&t.exitReloadFunctionsStatement(this)}accept(t){return t.visitReloadFunctionsStatement?t.visitReloadFunctionsStatement(this):t.visitChildren(this)}}class lo extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}Identifier(){return this.getToken(e.Identifier,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}expression(){return this.getRuleContext(0,Q)}columnNameTypeList(){return this.getRuleContext(0,K1)}get ruleIndex(){return e.RULE_createMacroStatement}enterRule(t){t.enterCreateMacroStatement&&t.enterCreateMacroStatement(this)}exitRule(t){t.exitCreateMacroStatement&&t.exitCreateMacroStatement(this)}accept(t){return t.visitCreateMacroStatement?t.visitCreateMacroStatement(this):t.visitChildren(this)}}class Eo extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}Identifier(){return this.getToken(e.Identifier,0)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropMacroStatement}enterRule(t){t.enterDropMacroStatement&&t.enterDropMacroStatement(this)}exitRule(t){t.exitDropMacroStatement&&t.exitDropMacroStatement(this)}accept(t){return t.visitDropMacroStatement?t.visitDropMacroStatement(this):t.visitChildren(this)}}class Ro extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}id_(){return this.getRuleContext(0,N)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_TABLE(t){return t===void 0?this.getTokens(e.KW_TABLE):this.getToken(e.KW_TABLE,t)}tableName(t){return t===void 0?this.getRuleContexts(Wt):this.getRuleContext(t,Wt)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_DEFERRED(){return this.getToken(e.KW_DEFERRED,0)}KW_REBUILD(){return this.getToken(e.KW_REBUILD,0)}KW_IDXPROPERTIES(){return this.getToken(e.KW_IDXPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}tableFileFormat(){return this.getRuleContext(0,d1)}locationPath(){return this.getRuleContext(0,ae)}tablePropertiesPrefixed(){return this.getRuleContext(0,W1)}tableComment(){return this.getRuleContext(0,E1)}tableRowFormat(){return this.getRuleContext(0,T1)}get ruleIndex(){return e.RULE_createIndexStatement}enterRule(t){t.enterCreateIndexStatement&&t.enterCreateIndexStatement(this)}exitRule(t){t.exitCreateIndexStatement&&t.exitCreateIndexStatement(this)}accept(t){return t.visitCreateIndexStatement?t.visitCreateIndexStatement(this):t.visitChildren(this)}}class To extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}id_(){return this.getRuleContext(0,N)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,Wt)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropIndexStatement}enterRule(t){t.enterDropIndexStatement&&t.enterDropIndexStatement(this)}exitRule(t){t.exitDropIndexStatement&&t.exitDropIndexStatement(this)}accept(t){return t.visitDropIndexStatement?t.visitDropIndexStatement(this):t.visitChildren(this)}}class e2 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_AS(){return this.getToken(e.KW_AS,0)}selectStatementWithCTE(){return this.getRuleContext(0,N1)}viewNameCreate(){return this.getRuleContext(0,X2)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}ifNotExists(){return this.getRuleContext(0,re)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameCommentList(){return this.getRuleContext(0,Po)}RPAREN(){return this.getToken(e.RPAREN,0)}tableComment(){return this.getRuleContext(0,E1)}viewPartition(){return this.getRuleContext(0,s2)}tablePropertiesPrefixed(){return this.getRuleContext(0,W1)}get ruleIndex(){return e.RULE_createViewStatement}enterRule(t){t.enterCreateViewStatement&&t.enterCreateViewStatement(this)}exitRule(t){t.exitCreateViewStatement&&t.exitCreateViewStatement(this)}accept(t){return t.visitCreateViewStatement?t.visitCreateViewStatement(this):t.visitChildren(this)}}class s2 extends R{constructor(t,s){super(t,s)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}RPAREN(){return this.getToken(e.RPAREN,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}partitionTransformSpec(){return this.getRuleContext(0,Ti)}get ruleIndex(){return e.RULE_viewPartition}enterRule(t){t.enterViewPartition&&t.enterViewPartition(this)}exitRule(t){t.exitViewPartition&&t.exitViewPartition(this)}accept(t){return t.visitViewPartition?t.visitViewPartition(this):t.visitChildren(this)}}class Wo extends R{constructor(t,s){super(t,s)}viewClusterSpec(){return this.getRuleContext(0,Ko)}viewComplexSpec(){return this.getRuleContext(0,Ao)}get ruleIndex(){return e.RULE_viewOrganization}enterRule(t){t.enterViewOrganization&&t.enterViewOrganization(this)}exitRule(t){t.exitViewOrganization&&t.exitViewOrganization(this)}accept(t){return t.visitViewOrganization?t.visitViewOrganization(this):t.visitChildren(this)}}class Ko extends R{constructor(t,s){super(t,s)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_viewClusterSpec}enterRule(t){t.enterViewClusterSpec&&t.enterViewClusterSpec(this)}exitRule(t){t.exitViewClusterSpec&&t.exitViewClusterSpec(this)}accept(t){return t.visitViewClusterSpec?t.visitViewClusterSpec(this):t.visitChildren(this)}}class Ao extends R{constructor(t,s){super(t,s)}viewDistSpec(){return this.getRuleContext(0,mo)}viewSortSpec(){return this.getRuleContext(0,Co)}get ruleIndex(){return e.RULE_viewComplexSpec}enterRule(t){t.enterViewComplexSpec&&t.enterViewComplexSpec(this)}exitRule(t){t.exitViewComplexSpec&&t.exitViewComplexSpec(this)}accept(t){return t.visitViewComplexSpec?t.visitViewComplexSpec(this):t.visitChildren(this)}}class mo extends R{constructor(t,s){super(t,s)}KW_DISTRIBUTED(){return this.getToken(e.KW_DISTRIBUTED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_viewDistSpec}enterRule(t){t.enterViewDistSpec&&t.enterViewDistSpec(this)}exitRule(t){t.exitViewDistSpec&&t.exitViewDistSpec(this)}accept(t){return t.visitViewDistSpec?t.visitViewDistSpec(this):t.visitChildren(this)}}class Co extends R{constructor(t,s){super(t,s)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_viewSortSpec}enterRule(t){t.enterViewSortSpec&&t.enterViewSortSpec(this)}exitRule(t){t.exitViewSortSpec&&t.exitViewSortSpec(this)}accept(t){return t.visitViewSortSpec?t.visitViewSortSpec(this):t.visitChildren(this)}}class fo extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,k1)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropViewStatement}enterRule(t){t.enterDropViewStatement&&t.enterDropViewStatement(this)}exitRule(t){t.exitDropViewStatement&&t.exitDropViewStatement(this)}accept(t){return t.visitDropViewStatement?t.visitDropViewStatement(this):t.visitChildren(this)}}class _o extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_AS(){return this.getToken(e.KW_AS,0)}selectStatementWithCTE(){return this.getRuleContext(0,N1)}viewNameCreate(){return this.getRuleContext(0,X2)}ifNotExists(){return this.getRuleContext(0,re)}rewriteDisabled(){return this.getRuleContext(0,Zr)}tableComment(){return this.getRuleContext(0,E1)}viewPartition(){return this.getRuleContext(0,s2)}viewOrganization(){return this.getRuleContext(0,Wo)}tableRowFormat(){return this.getRuleContext(0,T1)}tableFileFormat(){return this.getRuleContext(0,d1)}locationPath(){return this.getRuleContext(0,ae)}tablePropertiesPrefixed(){return this.getRuleContext(0,W1)}get ruleIndex(){return e.RULE_createMaterializedViewStatement}enterRule(t){t.enterCreateMaterializedViewStatement&&t.enterCreateMaterializedViewStatement(this)}exitRule(t){t.exitCreateMaterializedViewStatement&&t.exitCreateMaterializedViewStatement(this)}accept(t){return t.visitCreateMaterializedViewStatement?t.visitCreateMaterializedViewStatement(this):t.visitChildren(this)}}class Lo extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,k1)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropMaterializedViewStatement}enterRule(t){t.enterDropMaterializedViewStatement&&t.enterDropMaterializedViewStatement(this)}exitRule(t){t.exitDropMaterializedViewStatement&&t.exitDropMaterializedViewStatement(this)}accept(t){return t.visitDropMaterializedViewStatement?t.visitDropMaterializedViewStatement(this):t.visitChildren(this)}}class xo extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}scheduleSpec(){return this.getRuleContext(0,n2)}definedAsSpec(){return this.getRuleContext(0,r2)}id_(){return this.getRuleContext(0,N)}executedAsSpec(){return this.getRuleContext(0,i2)}enableSpecification(){return this.getRuleContext(0,A1)}get ruleIndex(){return e.RULE_createScheduledQueryStatement}enterRule(t){t.enterCreateScheduledQueryStatement&&t.enterCreateScheduledQueryStatement(this)}exitRule(t){t.exitCreateScheduledQueryStatement&&t.exitCreateScheduledQueryStatement(this)}accept(t){return t.visitCreateScheduledQueryStatement?t.visitCreateScheduledQueryStatement(this):t.visitChildren(this)}}class po extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_dropScheduledQueryStatement}enterRule(t){t.enterDropScheduledQueryStatement&&t.enterDropScheduledQueryStatement(this)}exitRule(t){t.exitDropScheduledQueryStatement&&t.exitDropScheduledQueryStatement(this)}accept(t){return t.visitDropScheduledQueryStatement?t.visitDropScheduledQueryStatement(this):t.visitChildren(this)}}class No extends R{constructor(t,s){super(t,s)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}id_(){return this.getRuleContext(0,N)}alterScheduledQueryChange(){return this.getRuleContext(0,Oo)}get ruleIndex(){return e.RULE_alterScheduledQueryStatement}enterRule(t){t.enterAlterScheduledQueryStatement&&t.enterAlterScheduledQueryStatement(this)}exitRule(t){t.exitAlterScheduledQueryStatement&&t.exitAlterScheduledQueryStatement(this)}accept(t){return t.visitAlterScheduledQueryStatement?t.visitAlterScheduledQueryStatement(this):t.visitChildren(this)}}class Oo extends R{constructor(t,s){super(t,s)}scheduleSpec(){return this.getRuleContext(0,n2)}executedAsSpec(){return this.getRuleContext(0,i2)}enableSpecification(){return this.getRuleContext(0,A1)}definedAsSpec(){return this.getRuleContext(0,r2)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}get ruleIndex(){return e.RULE_alterScheduledQueryChange}enterRule(t){t.enterAlterScheduledQueryChange&&t.enterAlterScheduledQueryChange(this)}exitRule(t){t.exitAlterScheduledQueryChange&&t.exitAlterScheduledQueryChange(this)}accept(t){return t.visitAlterScheduledQueryChange?t.visitAlterScheduledQueryChange(this):t.visitChildren(this)}}class n2 extends R{constructor(t,s){super(t,s)}KW_CRON(){return this.getToken(e.KW_CRON,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_EVERY(){return this.getToken(e.KW_EVERY,0)}intervalQualifiers(){return this.getRuleContext(0,Yi)}Number(){return this.getToken(e.Number,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_BY(){return this.getToken(e.KW_BY,0)}get ruleIndex(){return e.RULE_scheduleSpec}enterRule(t){t.enterScheduleSpec&&t.enterScheduleSpec(this)}exitRule(t){t.exitScheduleSpec&&t.exitScheduleSpec(this)}accept(t){return t.visitScheduleSpec?t.visitScheduleSpec(this):t.visitChildren(this)}}class i2 extends R{constructor(t,s){super(t,s)}KW_EXECUTED(){return this.getToken(e.KW_EXECUTED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_executedAsSpec}enterRule(t){t.enterExecutedAsSpec&&t.enterExecutedAsSpec(this)}exitRule(t){t.exitExecutedAsSpec&&t.exitExecutedAsSpec(this)}accept(t){return t.visitExecutedAsSpec?t.visitExecutedAsSpec(this):t.visitChildren(this)}}class r2 extends R{constructor(t,s){super(t,s)}KW_AS(){return this.getToken(e.KW_AS,0)}statement(){return this.getRuleContext(0,li)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}get ruleIndex(){return e.RULE_definedAsSpec}enterRule(t){t.enterDefinedAsSpec&&t.enterDefinedAsSpec(this)}exitRule(t){t.exitDefinedAsSpec&&t.exitDefinedAsSpec(this)}accept(t){return t.visitDefinedAsSpec?t.visitDefinedAsSpec(this):t.visitChildren(this)}}class h2 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_showStmtIdentifier}enterRule(t){t.enterShowStmtIdentifier&&t.enterShowStmtIdentifier(this)}exitRule(t){t.exitShowStmtIdentifier&&t.exitShowStmtIdentifier(this)}accept(t){return t.visitShowStmtIdentifier?t.visitShowStmtIdentifier(this):t.visitChildren(this)}}class E1 extends R{constructor(t,s){super(t,s)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableComment}enterRule(t){t.enterTableComment&&t.enterTableComment(this)}exitRule(t){t.exitTableComment&&t.exitTableComment(this)}accept(t){return t.visitTableComment?t.visitTableComment(this):t.visitChildren(this)}}class go extends R{constructor(t,s){super(t,s)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_tableLifecycle}enterRule(t){t.enterTableLifecycle&&t.enterTableLifecycle(this)}exitRule(t){t.exitTableLifecycle&&t.exitTableLifecycle(this)}accept(t){return t.visitTableLifecycle?t.visitTableLifecycle(this):t.visitChildren(this)}}class Io extends R{constructor(t,s){super(t,s)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}RPAREN(){return this.getToken(e.RPAREN,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}partitionTransformSpec(){return this.getRuleContext(0,Ti)}createTablePartitionColumnTypeSpec(){return this.getRuleContext(0,ko)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_createTablePartitionSpec}enterRule(t){t.enterCreateTablePartitionSpec&&t.enterCreateTablePartitionSpec(this)}exitRule(t){t.exitCreateTablePartitionSpec&&t.exitCreateTablePartitionSpec(this)}accept(t){return t.visitCreateTablePartitionSpec?t.visitCreateTablePartitionSpec(this):t.visitChildren(this)}}class ko extends R{constructor(t,s){super(t,s)}columnNameTypeConstraint(t){return t===void 0?this.getRuleContexts(C1):this.getRuleContext(t,C1)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_createTablePartitionColumnTypeSpec}enterRule(t){t.enterCreateTablePartitionColumnTypeSpec&&t.enterCreateTablePartitionColumnTypeSpec(this)}exitRule(t){t.exitCreateTablePartitionColumnTypeSpec&&t.exitCreateTablePartitionColumnTypeSpec(this)}accept(t){return t.visitCreateTablePartitionColumnTypeSpec?t.visitCreateTablePartitionColumnTypeSpec(this):t.visitChildren(this)}}class Ti extends R{constructor(t,s){super(t,s)}partitionTransformType(t){return t===void 0?this.getRuleContexts(a2):this.getRuleContext(t,a2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionTransformSpec}enterRule(t){t.enterPartitionTransformSpec&&t.enterPartitionTransformSpec(this)}exitRule(t){t.exitPartitionTransformSpec&&t.exitPartitionTransformSpec(this)}accept(t){return t.visitPartitionTransformSpec?t.visitPartitionTransformSpec(this):t.visitChildren(this)}}class a2 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}year(){return this.getRuleContext(0,zi)}month(){return this.getRuleContext(0,$i)}day(){return this.getRuleContext(0,Ji)}hour(){return this.getRuleContext(0,Pi)}COMMA(){return this.getToken(e.COMMA,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_partitionTransformType}enterRule(t){t.enterPartitionTransformType&&t.enterPartitionTransformType(this)}exitRule(t){t.exitPartitionTransformType&&t.exitPartitionTransformType(this)}accept(t){return t.visitPartitionTransformType?t.visitPartitionTransformType(this):t.visitChildren(this)}}class o2 extends R{constructor(t,s){super(t,s)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}columnNameList(){return this.getRuleContext(0,pt)}Number(){return this.getToken(e.Number,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}columnNameOrderList(){return this.getRuleContext(0,Vo)}get ruleIndex(){return e.RULE_tableBuckets}enterRule(t){t.enterTableBuckets&&t.enterTableBuckets(this)}exitRule(t){t.exitTableBuckets&&t.exitTableBuckets(this)}accept(t){return t.visitTableBuckets?t.visitTableBuckets(this):t.visitChildren(this)}}class c2 extends R{constructor(t,s){super(t,s)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}KW_ON(){return this.getToken(e.KW_ON,0)}columnNameList(){return this.getRuleContext(0,pt)}skewedValueElement(){return this.getRuleContext(0,$o)}storedAsDirs(){return this.getRuleContext(0,jr)}get ruleIndex(){return e.RULE_tableSkewed}enterRule(t){t.enterTableSkewed&&t.enterTableSkewed(this)}exitRule(t){t.exitTableSkewed&&t.exitTableSkewed(this)}accept(t){return t.visitTableSkewed?t.visitTableSkewed(this):t.visitChildren(this)}}class R1 extends R{constructor(t,s){super(t,s)}rowFormatSerde(){return this.getRuleContext(0,E2)}rowFormatDelimited(){return this.getRuleContext(0,R2)}get ruleIndex(){return e.RULE_rowFormat}enterRule(t){t.enterRowFormat&&t.enterRowFormat(this)}exitRule(t){t.exitRowFormat&&t.exitRowFormat(this)}accept(t){return t.visitRowFormat?t.visitRowFormat(this):t.visitChildren(this)}}class u2 extends R{constructor(t,s){super(t,s)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_recordReader}enterRule(t){t.enterRecordReader&&t.enterRecordReader(this)}exitRule(t){t.exitRecordReader&&t.exitRecordReader(this)}accept(t){return t.visitRecordReader?t.visitRecordReader(this):t.visitChildren(this)}}class l2 extends R{constructor(t,s){super(t,s)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_recordWriter}enterRule(t){t.enterRecordWriter&&t.enterRecordWriter(this)}exitRule(t){t.exitRecordWriter&&t.exitRecordWriter(this)}accept(t){return t.visitRecordWriter?t.visitRecordWriter(this):t.visitChildren(this)}}class E2 extends R{constructor(t,s){super(t,s)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}get ruleIndex(){return e.RULE_rowFormatSerde}enterRule(t){t.enterRowFormatSerde&&t.enterRowFormatSerde(this)}exitRule(t){t.exitRowFormatSerde&&t.exitRowFormatSerde(this)}accept(t){return t.visitRowFormatSerde?t.visitRowFormatSerde(this):t.visitChildren(this)}}class R2 extends R{constructor(t,s){super(t,s)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}tableRowFormatFieldIdentifier(){return this.getRuleContext(0,Uo)}tableRowFormatCollItemsIdentifier(){return this.getRuleContext(0,So)}tableRowFormatMapKeysIdentifier(){return this.getRuleContext(0,yo)}tableRowFormatLinesIdentifier(){return this.getRuleContext(0,Mo)}tableRowNullFormat(){return this.getRuleContext(0,wo)}get ruleIndex(){return e.RULE_rowFormatDelimited}enterRule(t){t.enterRowFormatDelimited&&t.enterRowFormatDelimited(this)}exitRule(t){t.exitRowFormatDelimited&&t.exitRowFormatDelimited(this)}accept(t){return t.visitRowFormatDelimited?t.visitRowFormatDelimited(this):t.visitChildren(this)}}class T1 extends R{constructor(t,s){super(t,s)}rowFormatDelimited(){return this.getRuleContext(0,R2)}rowFormatSerde(){return this.getRuleContext(0,E2)}get ruleIndex(){return e.RULE_tableRowFormat}enterRule(t){t.enterTableRowFormat&&t.enterTableRowFormat(this)}exitRule(t){t.exitTableRowFormat&&t.exitTableRowFormat(this)}accept(t){return t.visitTableRowFormat?t.visitTableRowFormat(this):t.visitChildren(this)}}class W1 extends R{constructor(t,s){super(t,s)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}get ruleIndex(){return e.RULE_tablePropertiesPrefixed}enterRule(t){t.enterTablePropertiesPrefixed&&t.enterTablePropertiesPrefixed(this)}exitRule(t){t.exitTablePropertiesPrefixed&&t.exitTablePropertiesPrefixed(this)}accept(t){return t.visitTablePropertiesPrefixed?t.visitTablePropertiesPrefixed(this):t.visitChildren(this)}}class Te extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}tablePropertiesList(){return this.getRuleContext(0,Do)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_tableProperties}enterRule(t){t.enterTableProperties&&t.enterTableProperties(this)}exitRule(t){t.exitTableProperties&&t.exitTableProperties(this)}accept(t){return t.visitTableProperties?t.visitTableProperties(this):t.visitChildren(this)}}class Do extends R{constructor(t,s){super(t,s)}keyValuePropertyList(){return this.getRuleContext(0,T2)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_tablePropertiesList}enterRule(t){t.enterTablePropertiesList&&t.enterTablePropertiesList(this)}exitRule(t){t.exitTablePropertiesList&&t.exitTablePropertiesList(this)}accept(t){return t.visitTablePropertiesList?t.visitTablePropertiesList(this):t.visitChildren(this)}}class ke extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}keyValuePropertyList(){return this.getRuleContext(0,T2)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_keyValueProperties}enterRule(t){t.enterKeyValueProperties&&t.enterKeyValueProperties(this)}exitRule(t){t.exitKeyValueProperties&&t.exitKeyValueProperties(this)}accept(t){return t.visitKeyValueProperties?t.visitKeyValueProperties(this):t.visitChildren(this)}}class T2 extends R{constructor(t,s){super(t,s)}keyValueProperty(t){return t===void 0?this.getRuleContexts(W2):this.getRuleContext(t,W2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_keyValuePropertyList}enterRule(t){t.enterKeyValuePropertyList&&t.enterKeyValuePropertyList(this)}exitRule(t){t.exitKeyValuePropertyList&&t.exitKeyValuePropertyList(this)}accept(t){return t.visitKeyValuePropertyList?t.visitKeyValuePropertyList(this):t.visitChildren(this)}}class W2 extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}get ruleIndex(){return e.RULE_keyValueProperty}enterRule(t){t.enterKeyValueProperty&&t.enterKeyValueProperty(this)}exitRule(t){t.exitKeyValueProperty&&t.exitKeyValueProperty(this)}accept(t){return t.visitKeyValueProperty?t.visitKeyValueProperty(this):t.visitChildren(this)}}class Uo extends R{constructor(t,s){super(t,s)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}get ruleIndex(){return e.RULE_tableRowFormatFieldIdentifier}enterRule(t){t.enterTableRowFormatFieldIdentifier&&t.enterTableRowFormatFieldIdentifier(this)}exitRule(t){t.exitTableRowFormatFieldIdentifier&&t.exitTableRowFormatFieldIdentifier(this)}accept(t){return t.visitTableRowFormatFieldIdentifier?t.visitTableRowFormatFieldIdentifier(this):t.visitChildren(this)}}class So extends R{constructor(t,s){super(t,s)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowFormatCollItemsIdentifier}enterRule(t){t.enterTableRowFormatCollItemsIdentifier&&t.enterTableRowFormatCollItemsIdentifier(this)}exitRule(t){t.exitTableRowFormatCollItemsIdentifier&&t.exitTableRowFormatCollItemsIdentifier(this)}accept(t){return t.visitTableRowFormatCollItemsIdentifier?t.visitTableRowFormatCollItemsIdentifier(this):t.visitChildren(this)}}class yo extends R{constructor(t,s){super(t,s)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowFormatMapKeysIdentifier}enterRule(t){t.enterTableRowFormatMapKeysIdentifier&&t.enterTableRowFormatMapKeysIdentifier(this)}exitRule(t){t.exitTableRowFormatMapKeysIdentifier&&t.exitTableRowFormatMapKeysIdentifier(this)}accept(t){return t.visitTableRowFormatMapKeysIdentifier?t.visitTableRowFormatMapKeysIdentifier(this):t.visitChildren(this)}}class Mo extends R{constructor(t,s){super(t,s)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowFormatLinesIdentifier}enterRule(t){t.enterTableRowFormatLinesIdentifier&&t.enterTableRowFormatLinesIdentifier(this)}exitRule(t){t.exitTableRowFormatLinesIdentifier&&t.exitTableRowFormatLinesIdentifier(this)}accept(t){return t.visitTableRowFormatLinesIdentifier?t.visitTableRowFormatLinesIdentifier(this):t.visitChildren(this)}}class wo extends R{constructor(t,s){super(t,s)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowNullFormat}enterRule(t){t.enterTableRowNullFormat&&t.enterTableRowNullFormat(this)}exitRule(t){t.exitTableRowNullFormat&&t.exitTableRowNullFormat(this)}accept(t){return t.visitTableRowNullFormat?t.visitTableRowNullFormat(this):t.visitChildren(this)}}class d1 extends R{constructor(t,s){super(t,s)}KW_STORED(t){return t===void 0?this.getTokens(e.KW_STORED):this.getToken(e.KW_STORED,t)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_INPUTDRIVER(){return this.getToken(e.KW_INPUTDRIVER,0)}KW_OUTPUTDRIVER(){return this.getToken(e.KW_OUTPUTDRIVER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}get ruleIndex(){return e.RULE_tableFileFormat}enterRule(t){t.enterTableFileFormat&&t.enterTableFileFormat(this)}exitRule(t){t.exitTableFileFormat&&t.exitTableFileFormat(this)}accept(t){return t.visitTableFileFormat?t.visitTableFileFormat(this):t.visitChildren(this)}}class K1 extends R{constructor(t,s){super(t,s)}columnNameType(t){return t===void 0?this.getRuleContexts(Ai):this.getRuleContext(t,Ai)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameTypeList}enterRule(t){t.enterColumnNameTypeList&&t.enterColumnNameTypeList(this)}exitRule(t){t.exitColumnNameTypeList&&t.exitColumnNameTypeList(this)}accept(t){return t.visitColumnNameTypeList?t.visitColumnNameTypeList(this):t.visitChildren(this)}}class bo extends R{constructor(t,s){super(t,s)}columnNameTypeOrConstraint(t){return t===void 0?this.getRuleContexts(L2):this.getRuleContext(t,L2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameTypeOrConstraintList}enterRule(t){t.enterColumnNameTypeOrConstraintList&&t.enterColumnNameTypeOrConstraintList(this)}exitRule(t){t.exitColumnNameTypeOrConstraintList&&t.exitColumnNameTypeOrConstraintList(this)}accept(t){return t.visitColumnNameTypeOrConstraintList?t.visitColumnNameTypeOrConstraintList(this):t.visitChildren(this)}}class Fo extends R{constructor(t,s){super(t,s)}columnNameColonType(t){return t===void 0?this.getRuleContexts(N2):this.getRuleContext(t,N2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameColonTypeList}enterRule(t){t.enterColumnNameColonTypeList&&t.enterColumnNameColonTypeList(this)}exitRule(t){t.exitColumnNameColonTypeList&&t.exitColumnNameColonTypeList(this)}accept(t){return t.visitColumnNameColonTypeList?t.visitColumnNameColonTypeList(this):t.visitChildren(this)}}class pt extends R{constructor(t,s){super(t,s)}columnName(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameList}enterRule(t){t.enterColumnNameList&&t.enterColumnNameList(this)}exitRule(t){t.exitColumnNameList&&t.exitColumnNameList(this)}accept(t){return t.visitColumnNameList?t.visitColumnNameList(this):t.visitChildren(this)}}class St extends R{constructor(t,s){super(t,s)}poolPath(){return this.getRuleContext(0,D0)}get ruleIndex(){return e.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class O0 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class Bo extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}KW_ELEM_TYPE(t){return t===void 0?this.getTokens(e.KW_ELEM_TYPE):this.getToken(e.KW_ELEM_TYPE,t)}KW_KEY_TYPE(t){return t===void 0?this.getTokens(e.KW_KEY_TYPE):this.getToken(e.KW_KEY_TYPE,t)}KW_VALUE_TYPE(t){return t===void 0?this.getTokens(e.KW_VALUE_TYPE):this.getToken(e.KW_VALUE_TYPE,t)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}get ruleIndex(){return e.RULE_extColumnName}enterRule(t){t.enterExtColumnName&&t.enterExtColumnName(this)}exitRule(t){t.exitExtColumnName&&t.exitExtColumnName(this)}accept(t){return t.visitExtColumnName?t.visitExtColumnName(this):t.visitChildren(this)}}class Vo extends R{constructor(t,s){super(t,s)}columnNameOrder(t){return t===void 0?this.getRuleContexts(_2):this.getRuleContext(t,_2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameOrderList}enterRule(t){t.enterColumnNameOrderList&&t.enterColumnNameOrderList(this)}exitRule(t){t.exitColumnNameOrderList&&t.exitColumnNameOrderList(this)}accept(t){return t.visitColumnNameOrderList?t.visitColumnNameOrderList(this):t.visitChildren(this)}}class jt extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_columnParenthesesList}enterRule(t){t.enterColumnParenthesesList&&t.enterColumnParenthesesList(this)}exitRule(t){t.exitColumnParenthesesList&&t.exitColumnParenthesesList(this)}accept(t){return t.visitColumnParenthesesList?t.visitColumnParenthesesList(this):t.visitChildren(this)}}class d2 extends R{constructor(t,s){super(t,s)}enableSpecification(){return this.getRuleContext(0,A1)}validateSpecification(){return this.getRuleContext(0,Yo)}enforcedSpecification(){return this.getRuleContext(0,Go)}get ruleIndex(){return e.RULE_enableValidateSpecification}enterRule(t){t.enterEnableValidateSpecification&&t.enterEnableValidateSpecification(this)}exitRule(t){t.exitEnableValidateSpecification&&t.exitEnableValidateSpecification(this)}accept(t){return t.visitEnableValidateSpecification?t.visitEnableValidateSpecification(this):t.visitChildren(this)}}class A1 extends R{constructor(t,s){super(t,s)}enable(){return this.getRuleContext(0,Zi)}disable(){return this.getRuleContext(0,ji)}get ruleIndex(){return e.RULE_enableSpecification}enterRule(t){t.enterEnableSpecification&&t.enterEnableSpecification(this)}exitRule(t){t.exitEnableSpecification&&t.exitEnableSpecification(this)}accept(t){return t.visitEnableSpecification?t.visitEnableSpecification(this):t.visitChildren(this)}}class Yo extends R{constructor(t,s){super(t,s)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}KW_NOVALIDATE(){return this.getToken(e.KW_NOVALIDATE,0)}get ruleIndex(){return e.RULE_validateSpecification}enterRule(t){t.enterValidateSpecification&&t.enterValidateSpecification(this)}exitRule(t){t.exitValidateSpecification&&t.exitValidateSpecification(this)}accept(t){return t.visitValidateSpecification?t.visitValidateSpecification(this):t.visitChildren(this)}}class Go extends R{constructor(t,s){super(t,s)}KW_ENFORCED(){return this.getToken(e.KW_ENFORCED,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}get ruleIndex(){return e.RULE_enforcedSpecification}enterRule(t){t.enterEnforcedSpecification&&t.enterEnforcedSpecification(this)}exitRule(t){t.exitEnforcedSpecification&&t.exitEnforcedSpecification(this)}accept(t){return t.visitEnforcedSpecification?t.visitEnforcedSpecification(this):t.visitChildren(this)}}class K2 extends R{constructor(t,s){super(t,s)}KW_RELY(){return this.getToken(e.KW_RELY,0)}KW_NORELY(){return this.getToken(e.KW_NORELY,0)}get ruleIndex(){return e.RULE_relySpecification}enterRule(t){t.enterRelySpecification&&t.enterRelySpecification(this)}exitRule(t){t.exitRelySpecification&&t.exitRelySpecification(this)}accept(t){return t.visitRelySpecification?t.visitRelySpecification(this):t.visitChildren(this)}}class Qo extends R{constructor(t,s){super(t,s)}tableLevelConstraint(){return this.getRuleContext(0,A2)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,f1)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_createConstraint}enterRule(t){t.enterCreateConstraint&&t.enterCreateConstraint(this)}exitRule(t){t.exitCreateConstraint&&t.exitCreateConstraint(this)}accept(t){return t.visitCreateConstraint?t.visitCreateConstraint(this):t.visitChildren(this)}}class Xo extends R{constructor(t,s){super(t,s)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}tableLevelConstraint(){return this.getRuleContext(0,A2)}id_(){return this.getRuleContext(0,N)}constraintOptsAlter(){return this.getRuleContext(0,_1)}get ruleIndex(){return e.RULE_alterConstraintWithName}enterRule(t){t.enterAlterConstraintWithName&&t.enterAlterConstraintWithName(this)}exitRule(t){t.exitAlterConstraintWithName&&t.exitAlterConstraintWithName(this)}accept(t){return t.visitAlterConstraintWithName?t.visitAlterConstraintWithName(this):t.visitChildren(this)}}class A2 extends R{constructor(t,s){super(t,s)}pkUkConstraint(){return this.getRuleContext(0,Zo)}checkConstraint(){return this.getRuleContext(0,m2)}get ruleIndex(){return e.RULE_tableLevelConstraint}enterRule(t){t.enterTableLevelConstraint&&t.enterTableLevelConstraint(this)}exitRule(t){t.exitTableLevelConstraint&&t.exitTableLevelConstraint(this)}accept(t){return t.visitTableLevelConstraint?t.visitTableLevelConstraint(this):t.visitChildren(this)}}class Zo extends R{constructor(t,s){super(t,s)}tableConstraintType(){return this.getRuleContext(0,p2)}columnParenthesesList(){return this.getRuleContext(0,jt)}get ruleIndex(){return e.RULE_pkUkConstraint}enterRule(t){t.enterPkUkConstraint&&t.enterPkUkConstraint(this)}exitRule(t){t.exitPkUkConstraint&&t.exitPkUkConstraint(this)}accept(t){return t.visitPkUkConstraint?t.visitPkUkConstraint(this):t.visitChildren(this)}}class m2 extends R{constructor(t,s){super(t,s)}KW_CHECK(){return this.getToken(e.KW_CHECK,0)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(){return this.getRuleContext(0,Q)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_checkConstraint}enterRule(t){t.enterCheckConstraint&&t.enterCheckConstraint(this)}exitRule(t){t.exitCheckConstraint&&t.exitCheckConstraint(this)}accept(t){return t.visitCheckConstraint?t.visitCheckConstraint(this):t.visitChildren(this)}}class jo extends R{constructor(t,s){super(t,s)}KW_FOREIGN(){return this.getToken(e.KW_FOREIGN,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}tableName(){return this.getRuleContext(0,Wt)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,f1)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_createForeignKey}enterRule(t){t.enterCreateForeignKey&&t.enterCreateForeignKey(this)}exitRule(t){t.exitCreateForeignKey&&t.exitCreateForeignKey(this)}accept(t){return t.visitCreateForeignKey?t.visitCreateForeignKey(this):t.visitChildren(this)}}class zo extends R{constructor(t,s){super(t,s)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}KW_FOREIGN(){return this.getToken(e.KW_FOREIGN,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}id_(){return this.getRuleContext(0,N)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}tableName(){return this.getRuleContext(0,Wt)}constraintOptsAlter(){return this.getRuleContext(0,_1)}get ruleIndex(){return e.RULE_alterForeignKeyWithName}enterRule(t){t.enterAlterForeignKeyWithName&&t.enterAlterForeignKeyWithName(this)}exitRule(t){t.exitAlterForeignKeyWithName&&t.exitAlterForeignKeyWithName(this)}accept(t){return t.visitAlterForeignKeyWithName?t.visitAlterForeignKeyWithName(this):t.visitChildren(this)}}class $o extends R{constructor(t,s){super(t,s)}constantList(){return this.getRuleContext(0,di)}skewedColumnValuePairList(){return this.getRuleContext(0,Jo)}get ruleIndex(){return e.RULE_skewedValueElement}enterRule(t){t.enterSkewedValueElement&&t.enterSkewedValueElement(this)}exitRule(t){t.exitSkewedValueElement&&t.exitSkewedValueElement(this)}accept(t){return t.visitSkewedValueElement?t.visitSkewedValueElement(this):t.visitChildren(this)}}class Jo extends R{constructor(t,s){super(t,s)}skewedColumnValuePair(t){return t===void 0?this.getRuleContexts(Wi):this.getRuleContext(t,Wi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_skewedColumnValuePairList}enterRule(t){t.enterSkewedColumnValuePairList&&t.enterSkewedColumnValuePairList(this)}exitRule(t){t.exitSkewedColumnValuePairList&&t.exitSkewedColumnValuePairList(this)}accept(t){return t.visitSkewedColumnValuePairList?t.visitSkewedColumnValuePairList(this):t.visitChildren(this)}}class Wi extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}constantList(){return this.getRuleContext(0,di)}get ruleIndex(){return e.RULE_skewedColumnValuePair}enterRule(t){t.enterSkewedColumnValuePair&&t.enterSkewedColumnValuePair(this)}exitRule(t){t.exitSkewedColumnValuePair&&t.exitSkewedColumnValuePair(this)}accept(t){return t.visitSkewedColumnValuePair?t.visitSkewedColumnValuePair(this):t.visitChildren(this)}}class di extends R{constructor(t,s){super(t,s)}constant(t){return t===void 0?this.getRuleContexts(Se):this.getRuleContext(t,Se)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_constantList}enterRule(t){t.enterConstantList&&t.enterConstantList(this)}exitRule(t){t.exitConstantList&&t.exitConstantList(this)}accept(t){return t.visitConstantList?t.visitConstantList(this):t.visitChildren(this)}}class C2 extends R{constructor(t,s){super(t,s)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}get ruleIndex(){return e.RULE_orderSpecification}enterRule(t){t.enterOrderSpecification&&t.enterOrderSpecification(this)}exitRule(t){t.exitOrderSpecification&&t.exitOrderSpecification(this)}accept(t){return t.visitOrderSpecification?t.visitOrderSpecification(this):t.visitChildren(this)}}class f2 extends R{constructor(t,s){super(t,s)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}get ruleIndex(){return e.RULE_nullOrdering}enterRule(t){t.enterNullOrdering&&t.enterNullOrdering(this)}exitRule(t){t.exitNullOrdering&&t.exitNullOrdering(this)}accept(t){return t.visitNullOrdering?t.visitNullOrdering(this):t.visitChildren(this)}}class _2 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}orderSpecification(){return this.getRuleContext(0,C2)}nullOrdering(){return this.getRuleContext(0,f2)}get ruleIndex(){return e.RULE_columnNameOrder}enterRule(t){t.enterColumnNameOrder&&t.enterColumnNameOrder(this)}exitRule(t){t.exitColumnNameOrder&&t.exitColumnNameOrder(this)}accept(t){return t.visitColumnNameOrder?t.visitColumnNameOrder(this):t.visitChildren(this)}}class Po extends R{constructor(t,s){super(t,s)}columnNameComment(t){return t===void 0?this.getRuleContexts(Ki):this.getRuleContext(t,Ki)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameCommentList}enterRule(t){t.enterColumnNameCommentList&&t.enterColumnNameCommentList(this)}exitRule(t){t.exitColumnNameCommentList&&t.exitColumnNameCommentList(this)}accept(t){return t.visitColumnNameCommentList?t.visitColumnNameCommentList(this):t.visitChildren(this)}}class Ki extends R{constructor(t,s){super(t,s)}columnNameCreate(){return this.getRuleContext(0,O0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameComment}enterRule(t){t.enterColumnNameComment&&t.enterColumnNameComment(this)}exitRule(t){t.exitColumnNameComment&&t.exitColumnNameComment(this)}accept(t){return t.visitColumnNameComment?t.visitColumnNameComment(this):t.visitChildren(this)}}class m1 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}expression(){return this.getRuleContext(0,Q)}orderSpecification(){return this.getRuleContext(0,C2)}nullOrdering(){return this.getRuleContext(0,f2)}get ruleIndex(){return e.RULE_columnRefOrder}enterRule(t){t.enterColumnRefOrder&&t.enterColumnRefOrder(this)}exitRule(t){t.exitColumnRefOrder&&t.exitColumnRefOrder(this)}accept(t){return t.visitColumnRefOrder?t.visitColumnRefOrder(this):t.visitChildren(this)}}class Ai extends R{constructor(t,s){super(t,s)}columnType(){return this.getRuleContext(0,n0)}columnNameCreate(){return this.getRuleContext(0,O0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameType}enterRule(t){t.enterColumnNameType&&t.enterColumnNameType(this)}exitRule(t){t.exitColumnNameType&&t.exitColumnNameType(this)}accept(t){return t.visitColumnNameType?t.visitColumnNameType(this):t.visitChildren(this)}}class L2 extends R{constructor(t,s){super(t,s)}tableConstraint(){return this.getRuleContext(0,Ho)}columnNameTypeConstraint(){return this.getRuleContext(0,C1)}get ruleIndex(){return e.RULE_columnNameTypeOrConstraint}enterRule(t){t.enterColumnNameTypeOrConstraint&&t.enterColumnNameTypeOrConstraint(this)}exitRule(t){t.exitColumnNameTypeOrConstraint&&t.exitColumnNameTypeOrConstraint(this)}accept(t){return t.visitColumnNameTypeOrConstraint?t.visitColumnNameTypeOrConstraint(this):t.visitChildren(this)}}class Ho extends R{constructor(t,s){super(t,s)}createForeignKey(){return this.getRuleContext(0,jo)}createConstraint(){return this.getRuleContext(0,Qo)}get ruleIndex(){return e.RULE_tableConstraint}enterRule(t){t.enterTableConstraint&&t.enterTableConstraint(this)}exitRule(t){t.exitTableConstraint&&t.exitTableConstraint(this)}accept(t){return t.visitTableConstraint?t.visitTableConstraint(this):t.visitChildren(this)}}class C1 extends R{constructor(t,s){super(t,s)}columnNameCreate(){return this.getRuleContext(0,O0)}columnType(){return this.getRuleContext(0,n0)}columnConstraint(){return this.getRuleContext(0,vo)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameTypeConstraint}enterRule(t){t.enterColumnNameTypeConstraint&&t.enterColumnNameTypeConstraint(this)}exitRule(t){t.exitColumnNameTypeConstraint&&t.exitColumnNameTypeConstraint(this)}accept(t){return t.visitColumnNameTypeConstraint?t.visitColumnNameTypeConstraint(this):t.visitChildren(this)}}class vo extends R{constructor(t,s){super(t,s)}foreignKeyConstraint(){return this.getRuleContext(0,qo)}colConstraint(){return this.getRuleContext(0,tc)}get ruleIndex(){return e.RULE_columnConstraint}enterRule(t){t.enterColumnConstraint&&t.enterColumnConstraint(this)}exitRule(t){t.exitColumnConstraint&&t.exitColumnConstraint(this)}accept(t){return t.visitColumnConstraint?t.visitColumnConstraint(this):t.visitChildren(this)}}class qo extends R{constructor(t,s){super(t,s)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}tableName(){return this.getRuleContext(0,Wt)}columnName(){return this.getRuleContext(0,St)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,f1)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_foreignKeyConstraint}enterRule(t){t.enterForeignKeyConstraint&&t.enterForeignKeyConstraint(this)}exitRule(t){t.exitForeignKeyConstraint&&t.exitForeignKeyConstraint(this)}accept(t){return t.visitForeignKeyConstraint?t.visitForeignKeyConstraint(this):t.visitChildren(this)}}class tc extends R{constructor(t,s){super(t,s)}columnConstraintType(){return this.getRuleContext(0,x2)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,f1)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_colConstraint}enterRule(t){t.enterColConstraint&&t.enterColConstraint(this)}exitRule(t){t.exitColConstraint&&t.exitColConstraint(this)}accept(t){return t.visitColConstraint?t.visitColConstraint(this):t.visitChildren(this)}}class ec extends R{constructor(t,s){super(t,s)}alterForeignKeyConstraint(){return this.getRuleContext(0,sc)}alterColConstraint(){return this.getRuleContext(0,nc)}get ruleIndex(){return e.RULE_alterColumnConstraint}enterRule(t){t.enterAlterColumnConstraint&&t.enterAlterColumnConstraint(this)}exitRule(t){t.exitAlterColumnConstraint&&t.exitAlterColumnConstraint(this)}accept(t){return t.visitAlterColumnConstraint?t.visitAlterColumnConstraint(this):t.visitChildren(this)}}class sc extends R{constructor(t,s){super(t,s)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}tableName(){return this.getRuleContext(0,Wt)}columnName(){return this.getRuleContext(0,St)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsAlter(){return this.getRuleContext(0,_1)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_alterForeignKeyConstraint}enterRule(t){t.enterAlterForeignKeyConstraint&&t.enterAlterForeignKeyConstraint(this)}exitRule(t){t.exitAlterForeignKeyConstraint&&t.exitAlterForeignKeyConstraint(this)}accept(t){return t.visitAlterForeignKeyConstraint?t.visitAlterForeignKeyConstraint(this):t.visitChildren(this)}}class nc extends R{constructor(t,s){super(t,s)}columnConstraintType(){return this.getRuleContext(0,x2)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsAlter(){return this.getRuleContext(0,_1)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_alterColConstraint}enterRule(t){t.enterAlterColConstraint&&t.enterAlterColConstraint(this)}exitRule(t){t.exitAlterColConstraint&&t.exitAlterColConstraint(this)}accept(t){return t.visitAlterColConstraint?t.visitAlterColConstraint(this):t.visitChildren(this)}}class x2 extends R{constructor(t,s){super(t,s)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}defaultVal(){return this.getRuleContext(0,ic)}checkConstraint(){return this.getRuleContext(0,m2)}tableConstraintType(){return this.getRuleContext(0,p2)}get ruleIndex(){return e.RULE_columnConstraintType}enterRule(t){t.enterColumnConstraintType&&t.enterColumnConstraintType(this)}exitRule(t){t.exitColumnConstraintType&&t.exitColumnConstraintType(this)}accept(t){return t.visitColumnConstraintType?t.visitColumnConstraintType(this):t.visitChildren(this)}}class ic extends R{constructor(t,s){super(t,s)}constant(){return this.getRuleContext(0,Se)}function_(){return this.getRuleContext(0,Bi)}castExpression(){return this.getRuleContext(0,v2)}get ruleIndex(){return e.RULE_defaultVal}enterRule(t){t.enterDefaultVal&&t.enterDefaultVal(this)}exitRule(t){t.exitDefaultVal&&t.exitDefaultVal(this)}accept(t){return t.visitDefaultVal?t.visitDefaultVal(this):t.visitChildren(this)}}class p2 extends R{constructor(t,s){super(t,s)}KW_PRIMARY(){return this.getToken(e.KW_PRIMARY,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}get ruleIndex(){return e.RULE_tableConstraintType}enterRule(t){t.enterTableConstraintType&&t.enterTableConstraintType(this)}exitRule(t){t.exitTableConstraintType&&t.exitTableConstraintType(this)}accept(t){return t.visitTableConstraintType?t.visitTableConstraintType(this):t.visitChildren(this)}}class f1 extends R{constructor(t,s){super(t,s)}enableValidateSpecification(){return this.getRuleContext(0,d2)}relySpecification(){return this.getRuleContext(0,K2)}get ruleIndex(){return e.RULE_constraintOptsCreate}enterRule(t){t.enterConstraintOptsCreate&&t.enterConstraintOptsCreate(this)}exitRule(t){t.exitConstraintOptsCreate&&t.exitConstraintOptsCreate(this)}accept(t){return t.visitConstraintOptsCreate?t.visitConstraintOptsCreate(this):t.visitChildren(this)}}class _1 extends R{constructor(t,s){super(t,s)}enableValidateSpecification(){return this.getRuleContext(0,d2)}relySpecification(){return this.getRuleContext(0,K2)}get ruleIndex(){return e.RULE_constraintOptsAlter}enterRule(t){t.enterConstraintOptsAlter&&t.enterConstraintOptsAlter(this)}exitRule(t){t.exitConstraintOptsAlter&&t.exitConstraintOptsAlter(this)}accept(t){return t.visitConstraintOptsAlter?t.visitConstraintOptsAlter(this):t.visitChildren(this)}}class N2 extends R{constructor(t,s){super(t,s)}COLON(){return this.getToken(e.COLON,0)}columnType(){return this.getRuleContext(0,n0)}columnNameCreate(){return this.getRuleContext(0,O0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameColonType}enterRule(t){t.enterColumnNameColonType&&t.enterColumnNameColonType(this)}exitRule(t){t.exitColumnNameColonType&&t.exitColumnNameColonType(this)}accept(t){return t.visitColumnNameColonType?t.visitColumnNameColonType(this):t.visitChildren(this)}}class n0 extends R{constructor(t,s){super(t,s)}type(){return this.getRuleContext(0,mi)}get ruleIndex(){return e.RULE_columnType}enterRule(t){t.enterColumnType&&t.enterColumnType(this)}exitRule(t){t.exitColumnType&&t.exitColumnType(this)}accept(t){return t.visitColumnType?t.visitColumnType(this):t.visitChildren(this)}}class rc extends R{constructor(t,s){super(t,s)}columnType(t){return t===void 0?this.getRuleContexts(n0):this.getRuleContext(t,n0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnTypeList}enterRule(t){t.enterColumnTypeList&&t.enterColumnTypeList(this)}exitRule(t){t.exitColumnTypeList&&t.exitColumnTypeList(this)}accept(t){return t.visitColumnTypeList?t.visitColumnTypeList(this):t.visitChildren(this)}}class mi extends R{constructor(t,s){super(t,s)}primitiveType(){return this.getRuleContext(0,Ci)}listType(){return this.getRuleContext(0,hc)}structType(){return this.getRuleContext(0,ac)}mapType(){return this.getRuleContext(0,oc)}unionType(){return this.getRuleContext(0,cc)}get ruleIndex(){return e.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}class Ci extends R{constructor(t,s){super(t,s)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(e.KW_PRECISION,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DATETIME(){return this.getToken(e.KW_DATETIME,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMPLOCALTZ(){return this.getToken(e.KW_TIMESTAMPLOCALTZ,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}decimal(){return this.getRuleContext(0,E4)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}COMMA(){return this.getToken(e.COMMA,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}get ruleIndex(){return e.RULE_primitiveType}enterRule(t){t.enterPrimitiveType&&t.enterPrimitiveType(this)}exitRule(t){t.exitPrimitiveType&&t.exitPrimitiveType(this)}accept(t){return t.visitPrimitiveType?t.visitPrimitiveType(this):t.visitChildren(this)}}class hc extends R{constructor(t,s){super(t,s)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}type(){return this.getRuleContext(0,mi)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_listType}enterRule(t){t.enterListType&&t.enterListType(this)}exitRule(t){t.exitListType&&t.exitListType(this)}accept(t){return t.visitListType?t.visitListType(this):t.visitChildren(this)}}class ac extends R{constructor(t,s){super(t,s)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}columnNameColonTypeList(){return this.getRuleContext(0,Fo)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_structType}enterRule(t){t.enterStructType&&t.enterStructType(this)}exitRule(t){t.exitStructType&&t.exitStructType(this)}accept(t){return t.visitStructType?t.visitStructType(this):t.visitChildren(this)}}class oc extends R{constructor(t,s){super(t,s)}KW_MAP(){return this.getToken(e.KW_MAP,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}COMMA(){return this.getToken(e.COMMA,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}primitiveType(){return this.getRuleContext(0,Ci)}type(){return this.getRuleContext(0,mi)}get ruleIndex(){return e.RULE_mapType}enterRule(t){t.enterMapType&&t.enterMapType(this)}exitRule(t){t.exitMapType&&t.exitMapType(this)}accept(t){return t.visitMapType?t.visitMapType(this):t.visitChildren(this)}}class cc extends R{constructor(t,s){super(t,s)}KW_UNIONTYPE(){return this.getToken(e.KW_UNIONTYPE,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}columnTypeList(){return this.getRuleContext(0,rc)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_unionType}enterRule(t){t.enterUnionType&&t.enterUnionType(this)}exitRule(t){t.exitUnionType&&t.exitUnionType(this)}accept(t){return t.visitUnionType?t.visitUnionType(this):t.visitChildren(this)}}class L1 extends R{constructor(t,s){super(t,s)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}get ruleIndex(){return e.RULE_setOperator}enterRule(t){t.enterSetOperator&&t.enterSetOperator(this)}exitRule(t){t.exitSetOperator&&t.exitSetOperator(this)}accept(t){return t.visitSetOperator?t.visitSetOperator(this):t.visitChildren(this)}}class x1 extends R{constructor(t,s){super(t,s)}queryStatementExpressionBody(){return this.getRuleContext(0,uc)}withClause(){return this.getRuleContext(0,O2)}get ruleIndex(){return e.RULE_queryStatementExpression}enterRule(t){t.enterQueryStatementExpression&&t.enterQueryStatementExpression(this)}exitRule(t){t.exitQueryStatementExpression&&t.exitQueryStatementExpression(this)}accept(t){return t.visitQueryStatementExpression?t.visitQueryStatementExpression(this):t.visitChildren(this)}}class uc extends R{constructor(t,s){super(t,s)}fromStatement(){return this.getRuleContext(0,lc)}regularBody(){return this.getRuleContext(0,fi)}get ruleIndex(){return e.RULE_queryStatementExpressionBody}enterRule(t){t.enterQueryStatementExpressionBody&&t.enterQueryStatementExpressionBody(this)}exitRule(t){t.exitQueryStatementExpressionBody&&t.exitQueryStatementExpressionBody(this)}accept(t){return t.visitQueryStatementExpressionBody?t.visitQueryStatementExpressionBody(this):t.visitChildren(this)}}class O2 extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}cteStatement(t){return t===void 0?this.getRuleContexts(g2):this.getRuleContext(t,g2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_withClause}enterRule(t){t.enterWithClause&&t.enterWithClause(this)}exitRule(t){t.exitWithClause&&t.exitWithClause(this)}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}}class g2 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}KW_AS(){return this.getToken(e.KW_AS,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}queryStatementExpression(){return this.getRuleContext(0,x1)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_cteStatement}enterRule(t){t.enterCteStatement&&t.enterCteStatement(this)}exitRule(t){t.exitCteStatement&&t.exitCteStatement(this)}accept(t){return t.visitCteStatement?t.visitCteStatement(this):t.visitChildren(this)}}class lc extends R{constructor(t,s){super(t,s)}singleFromStatement(t){return t===void 0?this.getRuleContexts(p1):this.getRuleContext(t,p1)}setOperator(t){return t===void 0?this.getRuleContexts(L1):this.getRuleContext(t,L1)}get ruleIndex(){return e.RULE_fromStatement}enterRule(t){t.enterFromStatement&&t.enterFromStatement(this)}exitRule(t){t.exitFromStatement&&t.exitFromStatement(this)}accept(t){return t.visitFromStatement?t.visitFromStatement(this):t.visitChildren(this)}}class p1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_singleFromStatement}copyFrom(t){super.copyFrom(t)}}class z7 extends p1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fromClause(){return this.getRuleContext(0,xi)}selectClause(){return this.getRuleContext(0,Di)}lateralView(){return this.getRuleContext(0,i0)}whereClause(){return this.getRuleContext(0,I0)}groupByClause(){return this.getRuleContext(0,yi)}havingClause(){return this.getRuleContext(0,Mi)}window_clause(){return this.getRuleContext(0,Ui)}qualifyClause(){return this.getRuleContext(0,wi)}orderByClause(){return this.getRuleContext(0,Ue)}clusterByClause(){return this.getRuleContext(0,U1)}distributeByClause(){return this.getRuleContext(0,S1)}sortByClause(){return this.getRuleContext(0,y1)}limitClause(){return this.getRuleContext(0,O1)}enterRule(t){t.enterFromSelectStmt&&t.enterFromSelectStmt(this)}exitRule(t){t.exitFromSelectStmt&&t.exitFromSelectStmt(this)}accept(t){return t.visitFromSelectStmt?t.visitFromSelectStmt(this):t.visitChildren(this)}}class $7 extends p1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fromClause(){return this.getRuleContext(0,xi)}insertClause(){return this.getRuleContext(0,I2)}selectClause(){return this.getRuleContext(0,Di)}lateralView(){return this.getRuleContext(0,i0)}whereClause(){return this.getRuleContext(0,I0)}groupByClause(){return this.getRuleContext(0,yi)}havingClause(){return this.getRuleContext(0,Mi)}window_clause(){return this.getRuleContext(0,Ui)}qualifyClause(){return this.getRuleContext(0,wi)}orderByClause(){return this.getRuleContext(0,Ue)}clusterByClause(){return this.getRuleContext(0,U1)}distributeByClause(){return this.getRuleContext(0,S1)}sortByClause(){return this.getRuleContext(0,y1)}limitClause(){return this.getRuleContext(0,O1)}enterRule(t){t.enterFromInsertStmt&&t.enterFromInsertStmt(this)}exitRule(t){t.exitFromInsertStmt&&t.exitFromInsertStmt(this)}accept(t){return t.visitFromInsertStmt?t.visitFromInsertStmt(this):t.visitChildren(this)}}class fi extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_regularBody}copyFrom(t){super.copyFrom(t)}}class J7 extends fi{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}insertClause(){return this.getRuleContext(0,I2)}selectStatement(){return this.getRuleContext(0,g0)}enterRule(t){t.enterInsertStmt&&t.enterInsertStmt(this)}exitRule(t){t.exitInsertStmt&&t.exitInsertStmt(this)}accept(t){return t.visitInsertStmt?t.visitInsertStmt(this):t.visitChildren(this)}}class P7 extends fi{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}selectStatement(){return this.getRuleContext(0,g0)}enterRule(t){t.enterSelectStmt&&t.enterSelectStmt(this)}exitRule(t){t.exitSelectStmt&&t.exitSelectStmt(this)}accept(t){return t.visitSelectStmt?t.visitSelectStmt(this):t.visitChildren(this)}}class _i extends R{constructor(t,s){super(t,s)}selectClause(){return this.getRuleContext(0,Di)}fromClause(){return this.getRuleContext(0,xi)}whereClause(){return this.getRuleContext(0,I0)}groupByClause(){return this.getRuleContext(0,yi)}havingClause(){return this.getRuleContext(0,Mi)}window_clause(){return this.getRuleContext(0,Ui)}qualifyClause(){return this.getRuleContext(0,wi)}LPAREN(){return this.getToken(e.LPAREN,0)}selectStatement(){return this.getRuleContext(0,g0)}RPAREN(){return this.getToken(e.RPAREN,0)}valuesClause(){return this.getRuleContext(0,ki)}get ruleIndex(){return e.RULE_atomSelectStatement}enterRule(t){t.enterAtomSelectStatement&&t.enterAtomSelectStatement(this)}exitRule(t){t.exitAtomSelectStatement&&t.exitAtomSelectStatement(this)}accept(t){return t.visitAtomSelectStatement?t.visitAtomSelectStatement(this):t.visitChildren(this)}}class g0 extends R{constructor(t,s){super(t,s)}atomSelectStatement(){return this.getRuleContext(0,_i)}setOpSelectStatement(){return this.getRuleContext(0,Ec)}orderByClause(){return this.getRuleContext(0,Ue)}clusterByClause(){return this.getRuleContext(0,U1)}distributeByClause(){return this.getRuleContext(0,S1)}sortByClause(){return this.getRuleContext(0,y1)}limitClause(){return this.getRuleContext(0,O1)}get ruleIndex(){return e.RULE_selectStatement}enterRule(t){t.enterSelectStatement&&t.enterSelectStatement(this)}exitRule(t){t.exitSelectStatement&&t.exitSelectStatement(this)}accept(t){return t.visitSelectStatement?t.visitSelectStatement(this):t.visitChildren(this)}}class Ec extends R{constructor(t,s){super(t,s)}setOperator(t){return t===void 0?this.getRuleContexts(L1):this.getRuleContext(t,L1)}atomSelectStatement(t){return t===void 0?this.getRuleContexts(_i):this.getRuleContext(t,_i)}get ruleIndex(){return e.RULE_setOpSelectStatement}enterRule(t){t.enterSetOpSelectStatement&&t.enterSetOpSelectStatement(this)}exitRule(t){t.exitSetOpSelectStatement&&t.exitSetOpSelectStatement(this)}accept(t){return t.visitSetOpSelectStatement?t.visitSetOpSelectStatement(this):t.visitChildren(this)}}class N1 extends R{constructor(t,s){super(t,s)}selectStatement(){return this.getRuleContext(0,g0)}withClause(){return this.getRuleContext(0,O2)}get ruleIndex(){return e.RULE_selectStatementWithCTE}enterRule(t){t.enterSelectStatementWithCTE&&t.enterSelectStatementWithCTE(this)}exitRule(t){t.exitSelectStatementWithCTE&&t.exitSelectStatementWithCTE(this)}accept(t){return t.visitSelectStatementWithCTE?t.visitSelectStatementWithCTE(this):t.visitChildren(this)}}class I2 extends R{constructor(t,s){super(t,s)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}destination(){return this.getRuleContext(0,Rc)}KW_INTO(){return this.getToken(e.KW_INTO,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}ifNotExists(){return this.getRuleContext(0,re)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_insertClause}enterRule(t){t.enterInsertClause&&t.enterInsertClause(this)}exitRule(t){t.exitInsertClause&&t.exitInsertClause(this)}accept(t){return t.visitInsertClause?t.visitInsertClause(this):t.visitChildren(this)}}class Rc extends R{constructor(t,s){super(t,s)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}tableRowFormat(){return this.getRuleContext(0,T1)}tableFileFormat(){return this.getRuleContext(0,d1)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}get ruleIndex(){return e.RULE_destination}enterRule(t){t.enterDestination&&t.enterDestination(this)}exitRule(t){t.exitDestination&&t.exitDestination(this)}accept(t){return t.visitDestination?t.visitDestination(this):t.visitChildren(this)}}class O1 extends R{constructor(t,s){super(t,s)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}COMMA(){return this.getToken(e.COMMA,0)}get ruleIndex(){return e.RULE_limitClause}enterRule(t){t.enterLimitClause&&t.enterLimitClause(this)}exitRule(t){t.exitLimitClause&&t.exitLimitClause(this)}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}}class k2 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}EQUAL(){return this.getToken(e.EQUAL,0)}precedencePlusExpressionOrDefault(){return this.getRuleContext(0,Tc)}get ruleIndex(){return e.RULE_columnAssignmentClause}enterRule(t){t.enterColumnAssignmentClause&&t.enterColumnAssignmentClause(this)}exitRule(t){t.exitColumnAssignmentClause&&t.exitColumnAssignmentClause(this)}accept(t){return t.visitColumnAssignmentClause?t.visitColumnAssignmentClause(this):t.visitChildren(this)}}class Tc extends R{constructor(t,s){super(t,s)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}precedencePlusExpression(){return this.getRuleContext(0,Gi)}get ruleIndex(){return e.RULE_precedencePlusExpressionOrDefault}enterRule(t){t.enterPrecedencePlusExpressionOrDefault&&t.enterPrecedencePlusExpressionOrDefault(this)}exitRule(t){t.exitPrecedencePlusExpressionOrDefault&&t.exitPrecedencePlusExpressionOrDefault(this)}accept(t){return t.visitPrecedencePlusExpressionOrDefault?t.visitPrecedencePlusExpressionOrDefault(this):t.visitChildren(this)}}class Li extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}columnAssignmentClause(t){return t===void 0?this.getRuleContexts(k2):this.getRuleContext(t,k2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_setColumnsClause}enterRule(t){t.enterSetColumnsClause&&t.enterSetColumnsClause(this)}exitRule(t){t.exitSetColumnsClause&&t.exitSetColumnsClause(this)}accept(t){return t.visitSetColumnsClause?t.visitSetColumnsClause(this):t.visitChildren(this)}}class Wc extends R{constructor(t,s){super(t,s)}KW_START(){return this.getToken(e.KW_START,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}transactionMode(t){return t===void 0?this.getRuleContexts(D2):this.getRuleContext(t,D2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_AUTOCOMMIT(){return this.getToken(e.KW_AUTOCOMMIT,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}get ruleIndex(){return e.RULE_sqlTransactionStatement}enterRule(t){t.enterSqlTransactionStatement&&t.enterSqlTransactionStatement(this)}exitRule(t){t.exitSqlTransactionStatement&&t.exitSqlTransactionStatement(this)}accept(t){return t.visitSqlTransactionStatement?t.visitSqlTransactionStatement(this):t.visitChildren(this)}}class D2 extends R{constructor(t,s){super(t,s)}KW_ISOLATION(){return this.getToken(e.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(e.KW_LEVEL,0)}KW_SNAPSHOT(){return this.getToken(e.KW_SNAPSHOT,0)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_WRITE(){return this.getToken(e.KW_WRITE,0)}get ruleIndex(){return e.RULE_transactionMode}enterRule(t){t.enterTransactionMode&&t.enterTransactionMode(this)}exitRule(t){t.exitTransactionMode&&t.exitTransactionMode(this)}accept(t){return t.visitTransactionMode?t.visitTransactionMode(this):t.visitChildren(this)}}class dc extends R{constructor(t,s){super(t,s)}whenMatchedAndClause(t){return t===void 0?this.getRuleContexts(U2):this.getRuleContext(t,U2)}whenMatchedThenClause(t){return t===void 0?this.getRuleContexts(S2):this.getRuleContext(t,S2)}whenNotMatchedClause(){return this.getRuleContext(0,Kc)}get ruleIndex(){return e.RULE_whenClauses}enterRule(t){t.enterWhenClauses&&t.enterWhenClauses(this)}exitRule(t){t.exitWhenClauses&&t.exitWhenClauses(this)}accept(t){return t.visitWhenClauses?t.visitWhenClauses(this):t.visitChildren(this)}}class Kc extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expressionsInParenthesis(){return this.getRuleContext(0,De)}KW_AND(){return this.getToken(e.KW_AND,0)}expression(){return this.getRuleContext(0,Q)}columnParenthesesList(){return this.getRuleContext(0,jt)}get ruleIndex(){return e.RULE_whenNotMatchedClause}enterRule(t){t.enterWhenNotMatchedClause&&t.enterWhenNotMatchedClause(this)}exitRule(t){t.exitWhenNotMatchedClause&&t.exitWhenNotMatchedClause(this)}accept(t){return t.visitWhenNotMatchedClause?t.visitWhenNotMatchedClause(this):t.visitChildren(this)}}class U2 extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_AND(){return this.getToken(e.KW_AND,0)}expression(){return this.getRuleContext(0,Q)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}setColumnsClause(){return this.getRuleContext(0,Li)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}get ruleIndex(){return e.RULE_whenMatchedAndClause}enterRule(t){t.enterWhenMatchedAndClause&&t.enterWhenMatchedAndClause(this)}exitRule(t){t.exitWhenMatchedAndClause&&t.exitWhenMatchedAndClause(this)}accept(t){return t.visitWhenMatchedAndClause?t.visitWhenMatchedAndClause(this):t.visitChildren(this)}}class S2 extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}setColumnsClause(){return this.getRuleContext(0,Li)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}get ruleIndex(){return e.RULE_whenMatchedThenClause}enterRule(t){t.enterWhenMatchedThenClause&&t.enterWhenMatchedThenClause(this)}exitRule(t){t.exitWhenMatchedThenClause&&t.exitWhenMatchedThenClause(this)}accept(t){return t.visitWhenMatchedThenClause?t.visitWhenMatchedThenClause(this):t.visitChildren(this)}}class y2 extends R{constructor(t,s){super(t,s)}KW_POOL(){return this.getToken(e.KW_POOL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_compactionPool}enterRule(t){t.enterCompactionPool&&t.enterCompactionPool(this)}exitRule(t){t.exitCompactionPool&&t.exitCompactionPool(this)}accept(t){return t.visitCompactionPool?t.visitCompactionPool(this):t.visitChildren(this)}}class Ac extends R{constructor(t,s){super(t,s)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_compactionType}enterRule(t){t.enterCompactionType&&t.enterCompactionType(this)}exitRule(t){t.exitCompactionType&&t.exitCompactionType(this)}accept(t){return t.visitCompactionType?t.visitCompactionType(this):t.visitChildren(this)}}class mc extends R{constructor(t,s){super(t,s)}KW_STATUS(){return this.getToken(e.KW_STATUS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_compactionStatus}enterRule(t){t.enterCompactionStatus&&t.enterCompactionStatus(this)}exitRule(t){t.exitCompactionStatus&&t.exitCompactionStatus(this)}accept(t){return t.visitCompactionStatus?t.visitCompactionStatus(this):t.visitChildren(this)}}class Cc extends R{constructor(t,s){super(t,s)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}alterTableStatementSuffix(){return this.getRuleContext(0,fc)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,k1)}alterViewStatementSuffix(){return this.getRuleContext(0,Lc)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}db_schema(){return this.getRuleContext(0,he)}alterDatabaseStatementSuffix(){return this.getRuleContext(0,xc)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}alterDataConnectorStatementSuffix(){return this.getRuleContext(0,pc)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}id_(){return this.getRuleContext(0,N)}KW_ON(){return this.getToken(e.KW_ON,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_REBUILD(){return this.getToken(e.KW_REBUILD,0)}KW_AS(){return this.getToken(e.KW_AS,0)}rewriteEnabled(){return this.getRuleContext(0,C3)}rewriteDisabled(){return this.getRuleContext(0,Zr)}get ruleIndex(){return e.RULE_alterStatement}enterRule(t){t.enterAlterStatement&&t.enterAlterStatement(this)}exitRule(t){t.exitAlterStatement&&t.exitAlterStatement(this)}accept(t){return t.visitAlterStatement?t.visitAlterStatement(this):t.visitChildren(this)}}class fc extends R{constructor(t,s){super(t,s)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}tableNameCreate(){return this.getRuleContext(0,Oi)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}alterStatementSuffixDropPartitions(){return this.getRuleContext(0,M2)}KW_ADD(){return this.getToken(e.KW_ADD,0)}ifNotExists(){return this.getRuleContext(0,re)}partitionSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}locationPath(t){return t===void 0?this.getRuleContexts(ae):this.getRuleContext(t,ae)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}ifExists(){return this.getRuleContext(0,Ut)}tableSkewed(){return this.getRuleContext(0,c2)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}storedAsDirs(){return this.getRuleContext(0,jr)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameType(){return this.getRuleContext(0,Ai)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}id_(){return this.getRuleContext(0,N)}alterConstraintWithName(){return this.getRuleContext(0,Xo)}alterForeignKeyWithName(){return this.getRuleContext(0,zo)}alterTblPartitionStatementSuffix(){return this.getRuleContext(0,_c)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}principalName(){return this.getRuleContext(0,N0)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}partitionTransformSpec(){return this.getRuleContext(0,Ti)}alterStatementSuffixExecute(){return this.getRuleContext(0,Nc)}get ruleIndex(){return e.RULE_alterTableStatementSuffix}enterRule(t){t.enterAlterTableStatementSuffix&&t.enterAlterTableStatementSuffix(this)}exitRule(t){t.exitAlterTableStatementSuffix&&t.exitAlterTableStatementSuffix(this)}accept(t){return t.visitAlterTableStatementSuffix?t.visitAlterTableStatementSuffix(this):t.visitChildren(this)}}class _c extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}fileFormat(){return this.getRuleContext(0,Oc)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}partitionSpec(){return this.getRuleContext(0,zt)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}Number(){return this.getToken(e.Number,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}LPAREN(){return this.getToken(e.LPAREN,0)}skewedLocationMap(t){return t===void 0?this.getRuleContexts(w2):this.getRuleContext(t,w2)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}tableBuckets(){return this.getRuleContext(0,o2)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_WAIT(){return this.getToken(e.KW_WAIT,0)}orderByClause(){return this.getRuleContext(0,Ue)}compactionPool(){return this.getRuleContext(0,y2)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}columnName(){return this.getRuleContext(0,St)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}columnType(){return this.getRuleContext(0,n0)}columnNameCreate(){return this.getRuleContext(0,O0)}alterColumnConstraint(){return this.getRuleContext(0,ec)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}restrictOrCascade(){return this.getRuleContext(0,Xr)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}id_(){return this.getRuleContext(0,N)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}columnNameTypeList(){return this.getRuleContext(0,K1)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}enableSpecification(){return this.getRuleContext(0,A1)}KW_OFFLINE(){return this.getToken(e.KW_OFFLINE,0)}KW_NO_DROP(){return this.getToken(e.KW_NO_DROP,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}get ruleIndex(){return e.RULE_alterTblPartitionStatementSuffix}enterRule(t){t.enterAlterTblPartitionStatementSuffix&&t.enterAlterTblPartitionStatementSuffix(this)}exitRule(t){t.exitAlterTblPartitionStatementSuffix&&t.exitAlterTblPartitionStatementSuffix(this)}accept(t){return t.visitAlterTblPartitionStatementSuffix?t.visitAlterTblPartitionStatementSuffix(this):t.visitChildren(this)}}class Lc extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Te)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}ifExists(){return this.getRuleContext(0,Ut)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}tableNameCreate(){return this.getRuleContext(0,Oi)}KW_ADD(){return this.getToken(e.KW_ADD,0)}ifNotExists(){return this.getRuleContext(0,re)}partitionSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}locationPath(t){return t===void 0?this.getRuleContexts(ae):this.getRuleContext(t,ae)}alterStatementSuffixDropPartitions(){return this.getRuleContext(0,M2)}selectStatementWithCTE(){return this.getRuleContext(0,N1)}get ruleIndex(){return e.RULE_alterViewStatementSuffix}enterRule(t){t.enterAlterViewStatementSuffix&&t.enterAlterViewStatementSuffix(this)}exitRule(t){t.exitAlterViewStatementSuffix&&t.exitAlterViewStatementSuffix(this)}accept(t){return t.visitAlterViewStatementSuffix?t.visitAlterViewStatementSuffix(this):t.visitChildren(this)}}class xc extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}keyValueProperties(){return this.getRuleContext(0,ke)}dbSchemaName(){return this.getRuleContext(0,Nt)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}principalAlterName(){return this.getRuleContext(0,qr)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_MANAGEDLOCATION(){return this.getToken(e.KW_MANAGEDLOCATION,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_alterDatabaseStatementSuffix}enterRule(t){t.enterAlterDatabaseStatementSuffix&&t.enterAlterDatabaseStatementSuffix(this)}exitRule(t){t.exitAlterDatabaseStatementSuffix&&t.exitAlterDatabaseStatementSuffix(this)}accept(t){return t.visitAlterDatabaseStatementSuffix?t.visitAlterDatabaseStatementSuffix(this):t.visitChildren(this)}}class pc extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DCPROPERTIES(){return this.getToken(e.KW_DCPROPERTIES,0)}keyValueProperties(){return this.getRuleContext(0,ke)}dbSchemaName(){return this.getRuleContext(0,Nt)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}principalAlterName(){return this.getRuleContext(0,qr)}KW_URL(){return this.getToken(e.KW_URL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_alterDataConnectorStatementSuffix}enterRule(t){t.enterAlterDataConnectorStatementSuffix&&t.enterAlterDataConnectorStatementSuffix(this)}exitRule(t){t.exitAlterDataConnectorStatementSuffix&&t.exitAlterDataConnectorStatementSuffix(this)}accept(t){return t.visitAlterDataConnectorStatementSuffix?t.visitAlterDataConnectorStatementSuffix(this):t.visitChildren(this)}}class ae extends R{constructor(t,s){super(t,s)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_locationPath}enterRule(t){t.enterLocationPath&&t.enterLocationPath(this)}exitRule(t){t.exitLocationPath&&t.exitLocationPath(this)}accept(t){return t.visitLocationPath?t.visitLocationPath(this):t.visitChildren(this)}}class M2 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_PARTITION(t){return t===void 0?this.getTokens(e.KW_PARTITION):this.getToken(e.KW_PARTITION,t)}partitionSelectorSpec(t){return t===void 0?this.getRuleContexts(Qi):this.getRuleContext(t,Qi)}ifExists(){return this.getRuleContext(0,Ut)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_PROTECTION(){return this.getToken(e.KW_PROTECTION,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}replicationClause(){return this.getRuleContext(0,Ei)}get ruleIndex(){return e.RULE_alterStatementSuffixDropPartitions}enterRule(t){t.enterAlterStatementSuffixDropPartitions&&t.enterAlterStatementSuffixDropPartitions(this)}exitRule(t){t.exitAlterStatementSuffixDropPartitions&&t.exitAlterStatementSuffixDropPartitions(this)}accept(t){return t.visitAlterStatementSuffixDropPartitions?t.visitAlterStatementSuffixDropPartitions(this):t.visitChildren(this)}}class w2 extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}constant(){return this.getRuleContext(0,Se)}skewedColumnValuePair(){return this.getRuleContext(0,Wi)}get ruleIndex(){return e.RULE_skewedLocationMap}enterRule(t){t.enterSkewedLocationMap&&t.enterSkewedLocationMap(this)}exitRule(t){t.exitSkewedLocationMap&&t.exitSkewedLocationMap(this)}accept(t){return t.visitSkewedLocationMap?t.visitSkewedLocationMap(this):t.visitChildren(this)}}class Nc extends R{constructor(t,s){super(t,s)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_EXPIRE_SNAPSHOTS(){return this.getToken(e.KW_EXPIRE_SNAPSHOTS,0)}KW_SET_CURRENT_SNAPSHOT(){return this.getToken(e.KW_SET_CURRENT_SNAPSHOT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_alterStatementSuffixExecute}enterRule(t){t.enterAlterStatementSuffixExecute&&t.enterAlterStatementSuffixExecute(this)}exitRule(t){t.exitAlterStatementSuffixExecute&&t.exitAlterStatementSuffixExecute(this)}accept(t){return t.visitAlterStatementSuffixExecute?t.visitAlterStatementSuffixExecute(this):t.visitChildren(this)}}class Oc extends R{constructor(t,s){super(t,s)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_INPUTDRIVER(){return this.getToken(e.KW_INPUTDRIVER,0)}KW_OUTPUTDRIVER(){return this.getToken(e.KW_OUTPUTDRIVER,0)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_fileFormat}enterRule(t){t.enterFileFormat&&t.enterFileFormat(this)}exitRule(t){t.exitFileFormat&&t.exitFileFormat(this)}accept(t){return t.visitFileFormat?t.visitFileFormat(this):t.visitChildren(this)}}class gc extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_FILE(){return this.getToken(e.KW_FILE,0)}id_(){return this.getRuleContext(0,N)}StringLiteral(){return this.getToken(e.StringLiteral,0)}tableName(){return this.getRuleContext(0,Wt)}get ruleIndex(){return e.RULE_likeTableOrFile}enterRule(t){t.enterLikeTableOrFile&&t.enterLikeTableOrFile(this)}exitRule(t){t.exitLikeTableOrFile&&t.exitLikeTableOrFile(this)}accept(t){return t.visitLikeTableOrFile?t.visitLikeTableOrFile(this):t.visitChildren(this)}}class b2 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,Oi)}likeTableOrFile(){return this.getRuleContext(0,gc)}ifNotExists(){return this.getRuleContext(0,re)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TRANSACTIONAL(){return this.getToken(e.KW_TRANSACTIONAL,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}createTablePartitionSpec(){return this.getRuleContext(0,Io)}tableRowFormat(){return this.getRuleContext(0,T1)}tableFileFormat(){return this.getRuleContext(0,d1)}locationPath(){return this.getRuleContext(0,ae)}tablePropertiesPrefixed(){return this.getRuleContext(0,W1)}tableLifecycle(){return this.getRuleContext(0,go)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameTypeOrConstraintList(){return this.getRuleContext(0,bo)}RPAREN(){return this.getToken(e.RPAREN,0)}tableComment(){return this.getRuleContext(0,E1)}tableBuckets(){return this.getRuleContext(0,o2)}tableSkewed(){return this.getRuleContext(0,c2)}KW_AS(){return this.getToken(e.KW_AS,0)}selectStatementWithCTE(){return this.getRuleContext(0,N1)}KW_MANAGED(){return this.getToken(e.KW_MANAGED,0)}get ruleIndex(){return e.RULE_createTableStatement}enterRule(t){t.enterCreateTableStatement&&t.enterCreateTableStatement(this)}exitRule(t){t.exitCreateTableStatement&&t.exitCreateTableStatement(this)}accept(t){return t.visitCreateTableStatement?t.visitCreateTableStatement(this):t.visitChildren(this)}}class Ic extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}id_(){return this.getRuleContext(0,N)}ifNotExists(){return this.getRuleContext(0,re)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_URL(){return this.getToken(e.KW_URL,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_DCPROPERTIES(){return this.getToken(e.KW_DCPROPERTIES,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}keyValueProperties(){return this.getRuleContext(0,ke)}get ruleIndex(){return e.RULE_createDataConnectorStatement}enterRule(t){t.enterCreateDataConnectorStatement&&t.enterCreateDataConnectorStatement(this)}exitRule(t){t.exitCreateDataConnectorStatement&&t.exitCreateDataConnectorStatement(this)}accept(t){return t.visitCreateDataConnectorStatement?t.visitCreateDataConnectorStatement(this):t.visitChildren(this)}}class kc extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}id_(){return this.getRuleContext(0,N)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropDataConnectorStatement}enterRule(t){t.enterDropDataConnectorStatement&&t.enterDropDataConnectorStatement(this)}exitRule(t){t.exitDropDataConnectorStatement&&t.exitDropDataConnectorStatement(this)}accept(t){return t.visitDropDataConnectorStatement?t.visitDropDataConnectorStatement(this):t.visitChildren(this)}}class F2 extends R{constructor(t,s){super(t,s)}STAR(){return this.getToken(e.STAR,0)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_tableAllColumns}enterRule(t){t.enterTableAllColumns&&t.enterTableAllColumns(this)}exitRule(t){t.exitTableAllColumns&&t.exitTableAllColumns(this)}accept(t){return t.visitTableAllColumns?t.visitTableAllColumns(this):t.visitChildren(this)}}class Dc extends R{constructor(t,s){super(t,s)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionList}enterRule(t){t.enterExpressionList&&t.enterExpressionList(this)}exitRule(t){t.exitExpressionList&&t.exitExpressionList(this)}accept(t){return t.visitExpressionList?t.visitExpressionList(this):t.visitChildren(this)}}class B2 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_aliasList}enterRule(t){t.enterAliasList&&t.enterAliasList(this)}exitRule(t){t.exitAliasList&&t.exitAliasList(this)}accept(t){return t.visitAliasList?t.visitAliasList(this):t.visitChildren(this)}}class xi extends R{constructor(t,s){super(t,s)}KW_FROM(){return this.getToken(e.KW_FROM,0)}fromSource(){return this.getRuleContext(0,Uc)}get ruleIndex(){return e.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}class Uc extends R{constructor(t,s){super(t,s)}KW_UNIQUEJOIN(){return this.getToken(e.KW_UNIQUEJOIN,0)}uniqueJoinSource(t){return t===void 0?this.getRuleContexts(Ni):this.getRuleContext(t,Ni)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}joinSource(){return this.getRuleContext(0,V2)}get ruleIndex(){return e.RULE_fromSource}enterRule(t){t.enterFromSource&&t.enterFromSource(this)}exitRule(t){t.exitFromSource&&t.exitFromSource(this)}accept(t){return t.visitFromSource?t.visitFromSource(this):t.visitChildren(this)}}class Sc extends R{constructor(t,s){super(t,s)}tableSource(){return this.getRuleContext(0,g1)}lateralView(t){return t===void 0?this.getRuleContexts(i0):this.getRuleContext(t,i0)}virtualTableSource(){return this.getRuleContext(0,j2)}subQuerySource(){return this.getRuleContext(0,gi)}partitionedTableFunction(){return this.getRuleContext(0,Ii)}LPAREN(){return this.getToken(e.LPAREN,0)}joinSource(){return this.getRuleContext(0,V2)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_atomjoinSource}enterRule(t){t.enterAtomjoinSource&&t.enterAtomjoinSource(this)}exitRule(t){t.exitAtomjoinSource&&t.exitAtomjoinSource(this)}accept(t){return t.visitAtomjoinSource?t.visitAtomjoinSource(this):t.visitChildren(this)}}class V2 extends R{constructor(t,s){super(t,s)}atomjoinSource(){return this.getRuleContext(0,Sc)}joinToken(t){return t===void 0?this.getRuleContexts(Y2):this.getRuleContext(t,Y2)}joinSourcePart(t){return t===void 0?this.getRuleContexts(pi):this.getRuleContext(t,pi)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_USING(t){return t===void 0?this.getTokens(e.KW_USING):this.getToken(e.KW_USING,t)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}get ruleIndex(){return e.RULE_joinSource}enterRule(t){t.enterJoinSource&&t.enterJoinSource(this)}exitRule(t){t.exitJoinSource&&t.exitJoinSource(this)}accept(t){return t.visitJoinSource?t.visitJoinSource(this):t.visitChildren(this)}}class pi extends R{constructor(t,s){super(t,s)}tableSource(){return this.getRuleContext(0,g1)}virtualTableSource(){return this.getRuleContext(0,j2)}subQuerySource(){return this.getRuleContext(0,gi)}partitionedTableFunction(){return this.getRuleContext(0,Ii)}lateralView(t){return t===void 0?this.getRuleContexts(i0):this.getRuleContext(t,i0)}get ruleIndex(){return e.RULE_joinSourcePart}enterRule(t){t.enterJoinSourcePart&&t.enterJoinSourcePart(this)}exitRule(t){t.exitJoinSourcePart&&t.exitJoinSourcePart(this)}accept(t){return t.visitJoinSourcePart?t.visitJoinSourcePart(this):t.visitChildren(this)}}class Ni extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}expressionList(){return this.getRuleContext(0,Dc)}RPAREN(){return this.getToken(e.RPAREN,0)}tableOrView(){return this.getRuleContext(0,I1)}KW_PRESERVE(){return this.getToken(e.KW_PRESERVE,0)}tableSample(){return this.getRuleContext(0,Q2)}id_(){return this.getRuleContext(0,N)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_uniqueJoinSource}enterRule(t){t.enterUniqueJoinSource&&t.enterUniqueJoinSource(this)}exitRule(t){t.exitUniqueJoinSource&&t.exitUniqueJoinSource(this)}accept(t){return t.visitUniqueJoinSource?t.visitUniqueJoinSource(this):t.visitChildren(this)}}class Y2 extends R{constructor(t,s){super(t,s)}COMMA(){return this.getToken(e.COMMA,0)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}get ruleIndex(){return e.RULE_joinToken}enterRule(t){t.enterJoinToken&&t.enterJoinToken(this)}exitRule(t){t.exitJoinToken&&t.exitJoinToken(this)}accept(t){return t.visitJoinToken?t.visitJoinToken(this):t.visitChildren(this)}}class i0 extends R{constructor(t,s){super(t,s)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}function_(){return this.getRuleContext(0,Bi)}tableAlias(){return this.getRuleContext(0,G2)}KW_AS(){return this.getToken(e.KW_AS,0)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}valuesClause(){return this.getRuleContext(0,ki)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}get ruleIndex(){return e.RULE_lateralView}enterRule(t){t.enterLateralView&&t.enterLateralView(this)}exitRule(t){t.exitLateralView&&t.exitLateralView(this)}accept(t){return t.visitLateralView?t.visitLateralView(this):t.visitChildren(this)}}class G2 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}class Q2 extends R{constructor(t,s){super(t,s),this._expr=[]}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OF(){return this.getToken(e.KW_OF,0)}RPAREN(){return this.getToken(e.RPAREN,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}KW_ON(){return this.getToken(e.KW_ON,0)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}ByteLengthLiteral(){return this.getToken(e.ByteLengthLiteral,0)}KW_PERCENT(){return this.getToken(e.KW_PERCENT,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}get ruleIndex(){return e.RULE_tableSample}enterRule(t){t.enterTableSample&&t.enterTableSample(this)}exitRule(t){t.exitTableSample&&t.exitTableSample(this)}accept(t){return t.visitTableSample?t.visitTableSample(this):t.visitChildren(this)}}class g1 extends R{constructor(t,s){super(t,s)}tableOrView(){return this.getRuleContext(0,I1)}tableProperties(){return this.getRuleContext(0,Te)}tableSample(){return this.getRuleContext(0,Q2)}asOfClause(){return this.getRuleContext(0,yc)}id_(){return this.getRuleContext(0,N)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_tableSource}enterRule(t){t.enterTableSource&&t.enterTableSource(this)}exitRule(t){t.exitTableSource&&t.exitTableSource(this)}accept(t){return t.visitTableSource?t.visitTableSource(this):t.visitChildren(this)}}class yc extends R{constructor(t,s){super(t,s)}KW_FOR(t){return t===void 0?this.getTokens(e.KW_FOR):this.getToken(e.KW_FOR,t)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}expression(){return this.getRuleContext(0,Q)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_asOfClause}enterRule(t){t.enterAsOfClause&&t.enterAsOfClause(this)}exitRule(t){t.exitAsOfClause&&t.exitAsOfClause(this)}accept(t){return t.visitAsOfClause?t.visitAsOfClause(this):t.visitChildren(this)}}class Nt extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_dbSchemaName}enterRule(t){t.enterDbSchemaName&&t.enterDbSchemaName(this)}exitRule(t){t.exitDbSchemaName&&t.exitDbSchemaName(this)}accept(t){return t.visitDbSchemaName?t.visitDbSchemaName(this):t.visitChildren(this)}}class Mc extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_dbSchemaNameCreate}enterRule(t){t.enterDbSchemaNameCreate&&t.enterDbSchemaNameCreate(this)}exitRule(t){t.exitDbSchemaNameCreate&&t.exitDbSchemaNameCreate(this)}accept(t){return t.visitDbSchemaNameCreate?t.visitDbSchemaNameCreate(this):t.visitChildren(this)}}class I1 extends R{constructor(t,s){super(t,s)}tableName(){return this.getRuleContext(0,Wt)}viewName(){return this.getRuleContext(0,k1)}get ruleIndex(){return e.RULE_tableOrView}enterRule(t){t.enterTableOrView&&t.enterTableOrView(this)}exitRule(t){t.exitTableOrView&&t.exitTableOrView(this)}accept(t){return t.visitTableOrView?t.visitTableOrView(this):t.visitChildren(this)}}class Wt extends R{constructor(t,s){super(t,s)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}get ruleIndex(){return e.RULE_tableName}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}class Oi extends R{constructor(t,s){super(t,s)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}get ruleIndex(){return e.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class k1 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_viewName}enterRule(t){t.enterViewName&&t.enterViewName(this)}exitRule(t){t.exitViewName&&t.exitViewName(this)}accept(t){return t.visitViewName?t.visitViewName(this):t.visitChildren(this)}}class X2 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class gi extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}queryStatementExpression(){return this.getRuleContext(0,x1)}RPAREN(){return this.getToken(e.RPAREN,0)}id_(){return this.getRuleContext(0,N)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_subQuerySource}enterRule(t){t.enterSubQuerySource&&t.enterSubQuerySource(this)}exitRule(t){t.exitSubQuerySource&&t.exitSubQuerySource(this)}accept(t){return t.visitSubQuerySource?t.visitSubQuerySource(this):t.visitChildren(this)}}class Z2 extends R{constructor(t,s){super(t,s)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_BY(){return this.getToken(e.KW_BY,0)}expressions(){return this.getRuleContext(0,bi)}orderByClause(){return this.getRuleContext(0,Ue)}distributeByClause(){return this.getRuleContext(0,S1)}sortByClause(){return this.getRuleContext(0,y1)}clusterByClause(){return this.getRuleContext(0,U1)}get ruleIndex(){return e.RULE_partitioningSpec}enterRule(t){t.enterPartitioningSpec&&t.enterPartitioningSpec(this)}exitRule(t){t.exitPartitioningSpec&&t.exitPartitioningSpec(this)}accept(t){return t.visitPartitioningSpec?t.visitPartitioningSpec(this):t.visitChildren(this)}}class wc extends R{constructor(t,s){super(t,s)}subQuerySource(){return this.getRuleContext(0,gi)}tableSource(){return this.getRuleContext(0,g1)}partitionedTableFunction(){return this.getRuleContext(0,Ii)}get ruleIndex(){return e.RULE_partitionTableFunctionSource}enterRule(t){t.enterPartitionTableFunctionSource&&t.enterPartitionTableFunctionSource(this)}exitRule(t){t.exitPartitionTableFunctionSource&&t.exitPartitionTableFunctionSource(this)}accept(t){return t.visitPartitionTableFunctionSource?t.visitPartitionTableFunctionSource(this):t.visitChildren(this)}}class Ii extends R{constructor(t,s){super(t,s)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}KW_ON(){return this.getToken(e.KW_ON,0)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}partitionTableFunctionSource(){return this.getRuleContext(0,wc)}Identifier(t){return t===void 0?this.getTokens(e.Identifier):this.getToken(e.Identifier,t)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}partitioningSpec(){return this.getRuleContext(0,Z2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionedTableFunction}enterRule(t){t.enterPartitionedTableFunction&&t.enterPartitionedTableFunction(this)}exitRule(t){t.exitPartitionedTableFunction&&t.exitPartitionedTableFunction(this)}accept(t){return t.visitPartitionedTableFunction?t.visitPartitionedTableFunction(this):t.visitChildren(this)}}class I0 extends R{constructor(t,s){super(t,s)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}expression(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}class ki extends R{constructor(t,s){super(t,s)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expressionsInParenthesis(t){return t===void 0?this.getRuleContexts(De):this.getRuleContext(t,De)}LPAREN(){return this.getToken(e.LPAREN,0)}firstExpressionsWithAlias(){return this.getRuleContext(0,Gc)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_valuesClause}enterRule(t){t.enterValuesClause&&t.enterValuesClause(this)}exitRule(t){t.exitValuesClause&&t.exitValuesClause(this)}accept(t){return t.visitValuesClause?t.visitValuesClause(this):t.visitChildren(this)}}class j2 extends R{constructor(t,s){super(t,s)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}valuesClause(){return this.getRuleContext(0,ki)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}tableAlias(){return this.getRuleContext(0,G2)}KW_AS(){return this.getToken(e.KW_AS,0)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_virtualTableSource}enterRule(t){t.enterVirtualTableSource&&t.enterVirtualTableSource(this)}exitRule(t){t.exitVirtualTableSource&&t.exitVirtualTableSource(this)}accept(t){return t.visitVirtualTableSource?t.visitVirtualTableSource(this):t.visitChildren(this)}}class Di extends R{constructor(t,s){super(t,s)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}selectItem(t){return t===void 0?this.getRuleContexts(z2):this.getRuleContext(t,z2)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}selectTrfmClause(){return this.getRuleContext(0,bc)}QUERY_HINT(){return this.getToken(e.QUERY_HINT,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}trfmClause(){return this.getRuleContext(0,Fc)}get ruleIndex(){return e.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}class bc extends R{constructor(t,s){super(t,s)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}selectExpressionList(){return this.getRuleContext(0,$2)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}rowFormat(t){return t===void 0?this.getRuleContexts(R1):this.getRuleContext(t,R1)}recordWriter(){return this.getRuleContext(0,l2)}KW_USING(){return this.getToken(e.KW_USING,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}recordReader(){return this.getRuleContext(0,u2)}KW_AS(){return this.getToken(e.KW_AS,0)}aliasList(){return this.getRuleContext(0,B2)}columnNameTypeList(){return this.getRuleContext(0,K1)}get ruleIndex(){return e.RULE_selectTrfmClause}enterRule(t){t.enterSelectTrfmClause&&t.enterSelectTrfmClause(this)}exitRule(t){t.exitSelectTrfmClause&&t.exitSelectTrfmClause(this)}accept(t){return t.visitSelectTrfmClause?t.visitSelectTrfmClause(this):t.visitChildren(this)}}class z2 extends R{constructor(t,s){super(t,s)}tableAllColumns(){return this.getRuleContext(0,F2)}columnName(){return this.getRuleContext(0,St)}expression(){return this.getRuleContext(0,Q)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}KW_AS(){return this.getToken(e.KW_AS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_selectItem}enterRule(t){t.enterSelectItem&&t.enterSelectItem(this)}exitRule(t){t.exitSelectItem&&t.exitSelectItem(this)}accept(t){return t.visitSelectItem?t.visitSelectItem(this):t.visitChildren(this)}}class Fc extends R{constructor(t,s){super(t,s)}selectExpressionList(){return this.getRuleContext(0,$2)}rowFormat(t){return t===void 0?this.getRuleContexts(R1):this.getRuleContext(t,R1)}recordWriter(){return this.getRuleContext(0,l2)}KW_USING(){return this.getToken(e.KW_USING,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}recordReader(){return this.getRuleContext(0,u2)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_AS(){return this.getToken(e.KW_AS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}aliasList(){return this.getRuleContext(0,B2)}columnNameTypeList(){return this.getRuleContext(0,K1)}get ruleIndex(){return e.RULE_trfmClause}enterRule(t){t.enterTrfmClause&&t.enterTrfmClause(this)}exitRule(t){t.exitTrfmClause&&t.exitTrfmClause(this)}accept(t){return t.visitTrfmClause?t.visitTrfmClause(this):t.visitChildren(this)}}class D1 extends R{constructor(t,s){super(t,s)}tableAllColumns(){return this.getRuleContext(0,F2)}expression(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_selectExpression}enterRule(t){t.enterSelectExpression&&t.enterSelectExpression(this)}exitRule(t){t.exitSelectExpression&&t.exitSelectExpression(this)}accept(t){return t.visitSelectExpression?t.visitSelectExpression(this):t.visitChildren(this)}}class $2 extends R{constructor(t,s){super(t,s)}selectExpression(t){return t===void 0?this.getRuleContexts(D1):this.getRuleContext(t,D1)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_selectExpressionList}enterRule(t){t.enterSelectExpressionList&&t.enterSelectExpressionList(this)}exitRule(t){t.exitSelectExpressionList&&t.exitSelectExpressionList(this)}accept(t){return t.visitSelectExpressionList?t.visitSelectExpressionList(this):t.visitChildren(this)}}class Ui extends R{constructor(t,s){super(t,s)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}KW_AS(t){return t===void 0?this.getTokens(e.KW_AS):this.getToken(e.KW_AS,t)}window_specification(t){return t===void 0?this.getRuleContexts(Si):this.getRuleContext(t,Si)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_window_clause}enterRule(t){t.enterWindow_clause&&t.enterWindow_clause(this)}exitRule(t){t.exitWindow_clause&&t.exitWindow_clause(this)}accept(t){return t.visitWindow_clause?t.visitWindow_clause(this):t.visitChildren(this)}}class Si extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}partitioningSpec(){return this.getRuleContext(0,Z2)}window_frame(){return this.getRuleContext(0,Bc)}get ruleIndex(){return e.RULE_window_specification}enterRule(t){t.enterWindow_specification&&t.enterWindow_specification(this)}exitRule(t){t.exitWindow_specification&&t.exitWindow_specification(this)}accept(t){return t.visitWindow_specification?t.visitWindow_specification(this):t.visitChildren(this)}}class Bc extends R{constructor(t,s){super(t,s)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}window_frame_boundary(t){return t===void 0?this.getRuleContexts(J2):this.getRuleContext(t,J2)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_window_frame}enterRule(t){t.enterWindow_frame&&t.enterWindow_frame(this)}exitRule(t){t.exitWindow_frame&&t.exitWindow_frame(this)}accept(t){return t.visitWindow_frame?t.visitWindow_frame(this):t.visitChildren(this)}}class J2 extends R{constructor(t,s){super(t,s)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}Number(){return this.getToken(e.Number,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}get ruleIndex(){return e.RULE_window_frame_boundary}enterRule(t){t.enterWindow_frame_boundary&&t.enterWindow_frame_boundary(this)}exitRule(t){t.exitWindow_frame_boundary&&t.exitWindow_frame_boundary(this)}accept(t){return t.visitWindow_frame_boundary?t.visitWindow_frame_boundary(this):t.visitChildren(this)}}class yi extends R{constructor(t,s){super(t,s)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_BY(){return this.getToken(e.KW_BY,0)}columnName(){return this.getRuleContext(0,St)}rollupStandard(){return this.getRuleContext(0,Vc)}rollupOldSyntax(){return this.getRuleContext(0,Yc)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}class Vc extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_rollupStandard}enterRule(t){t.enterRollupStandard&&t.enterRollupStandard(this)}exitRule(t){t.exitRollupStandard&&t.exitRollupStandard(this)}accept(t){return t.visitRollupStandard?t.visitRollupStandard(this):t.visitChildren(this)}}class Yc extends R{constructor(t,s){super(t,s)}expressionsNotInParenthesis(){return this.getRuleContext(0,Fi)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}groupingSetExpression(t){return t===void 0?this.getRuleContexts(P2):this.getRuleContext(t,P2)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_rollupOldSyntax}enterRule(t){t.enterRollupOldSyntax&&t.enterRollupOldSyntax(this)}exitRule(t){t.exitRollupOldSyntax&&t.exitRollupOldSyntax(this)}accept(t){return t.visitRollupOldSyntax?t.visitRollupOldSyntax(this):t.visitChildren(this)}}class P2 extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_groupingSetExpression}enterRule(t){t.enterGroupingSetExpression&&t.enterGroupingSetExpression(this)}exitRule(t){t.exitGroupingSetExpression&&t.exitGroupingSetExpression(this)}accept(t){return t.visitGroupingSetExpression?t.visitGroupingSetExpression(this):t.visitChildren(this)}}class Mi extends R{constructor(t,s){super(t,s)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}expression(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}class wi extends R{constructor(t,s){super(t,s)}KW_QUALIFY(){return this.getToken(e.KW_QUALIFY,0)}expression(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_qualifyClause}enterRule(t){t.enterQualifyClause&&t.enterQualifyClause(this)}exitRule(t){t.exitQualifyClause&&t.exitQualifyClause(this)}accept(t){return t.visitQualifyClause?t.visitQualifyClause(this):t.visitChildren(this)}}class H2 extends R{constructor(t,s){super(t,s)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_expressionOrDefault}enterRule(t){t.enterExpressionOrDefault&&t.enterExpressionOrDefault(this)}exitRule(t){t.exitExpressionOrDefault&&t.exitExpressionOrDefault(this)}accept(t){return t.visitExpressionOrDefault?t.visitExpressionOrDefault(this):t.visitChildren(this)}}class Gc extends R{constructor(t,s){super(t,s)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_AS(t){return t===void 0?this.getTokens(e.KW_AS):this.getToken(e.KW_AS,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}get ruleIndex(){return e.RULE_firstExpressionsWithAlias}enterRule(t){t.enterFirstExpressionsWithAlias&&t.enterFirstExpressionsWithAlias(this)}exitRule(t){t.exitFirstExpressionsWithAlias&&t.exitFirstExpressionsWithAlias(this)}accept(t){return t.visitFirstExpressionsWithAlias?t.visitFirstExpressionsWithAlias(this):t.visitChildren(this)}}class bi extends R{constructor(t,s){super(t,s)}expressionsInParenthesis(){return this.getRuleContext(0,De)}expressionsNotInParenthesis(){return this.getRuleContext(0,Fi)}get ruleIndex(){return e.RULE_expressions}enterRule(t){t.enterExpressions&&t.enterExpressions(this)}exitRule(t){t.exitExpressions&&t.exitExpressions(this)}accept(t){return t.visitExpressions?t.visitExpressions(this):t.visitChildren(this)}}class De extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}expressionsNotInParenthesis(){return this.getRuleContext(0,Fi)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_expressionsInParenthesis}enterRule(t){t.enterExpressionsInParenthesis&&t.enterExpressionsInParenthesis(this)}exitRule(t){t.exitExpressionsInParenthesis&&t.exitExpressionsInParenthesis(this)}accept(t){return t.visitExpressionsInParenthesis?t.visitExpressionsInParenthesis(this):t.visitChildren(this)}}class Fi extends R{constructor(t,s){super(t,s)}expressionOrDefault(t){return t===void 0?this.getRuleContexts(H2):this.getRuleContext(t,H2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionsNotInParenthesis}enterRule(t){t.enterExpressionsNotInParenthesis&&t.enterExpressionsNotInParenthesis(this)}exitRule(t){t.exitExpressionsNotInParenthesis&&t.exitExpressionsNotInParenthesis(this)}accept(t){return t.visitExpressionsNotInParenthesis?t.visitExpressionsNotInParenthesis(this):t.visitChildren(this)}}class Ue extends R{constructor(t,s){super(t,s)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}columnRefOrder(t){return t===void 0?this.getRuleContexts(m1):this.getRuleContext(t,m1)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_orderByClause}enterRule(t){t.enterOrderByClause&&t.enterOrderByClause(this)}exitRule(t){t.exitOrderByClause&&t.exitOrderByClause(this)}accept(t){return t.visitOrderByClause?t.visitOrderByClause(this):t.visitChildren(this)}}class U1 extends R{constructor(t,s){super(t,s)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}expressions(){return this.getRuleContext(0,bi)}get ruleIndex(){return e.RULE_clusterByClause}enterRule(t){t.enterClusterByClause&&t.enterClusterByClause(this)}exitRule(t){t.exitClusterByClause&&t.exitClusterByClause(this)}accept(t){return t.visitClusterByClause?t.visitClusterByClause(this):t.visitChildren(this)}}class S1 extends R{constructor(t,s){super(t,s)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_BY(){return this.getToken(e.KW_BY,0)}expressions(){return this.getRuleContext(0,bi)}get ruleIndex(){return e.RULE_distributeByClause}enterRule(t){t.enterDistributeByClause&&t.enterDistributeByClause(this)}exitRule(t){t.exitDistributeByClause&&t.exitDistributeByClause(this)}accept(t){return t.visitDistributeByClause?t.visitDistributeByClause(this):t.visitChildren(this)}}class y1 extends R{constructor(t,s){super(t,s)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_BY(){return this.getToken(e.KW_BY,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnRefOrder(t){return t===void 0?this.getRuleContexts(m1):this.getRuleContext(t,m1)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_sortByClause}enterRule(t){t.enterSortByClause&&t.enterSortByClause(this)}exitRule(t){t.exitSortByClause&&t.exitSortByClause(this)}accept(t){return t.visitSortByClause?t.visitSortByClause(this):t.visitChildren(this)}}class Bi extends R{constructor(t,s){super(t,s)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}KW_FROM(){return this.getToken(e.KW_FROM,0)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}selectExpression(t){return t===void 0?this.getRuleContexts(D1):this.getRuleContext(t,D1)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}functionNameForInvoke(){return this.getRuleContext(0,Zc)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}STAR(){return this.getToken(e.STAR,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}orderByClause(){return this.getRuleContext(0,Ue)}window_specification(){return this.getRuleContext(0,Si)}null_treatment(){return this.getRuleContext(0,Qc)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_function_}enterRule(t){t.enterFunction_&&t.enterFunction_(this)}exitRule(t){t.exitFunction_&&t.exitFunction_(this)}accept(t){return t.visitFunction_?t.visitFunction_(this):t.visitChildren(this)}}class Qc extends R{constructor(t,s){super(t,s)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}get ruleIndex(){return e.RULE_null_treatment}enterRule(t){t.enterNull_treatment&&t.enterNull_treatment(this)}exitRule(t){t.exitNull_treatment&&t.exitNull_treatment(this)}accept(t){return t.visitNull_treatment?t.visitNull_treatment(this):t.visitChildren(this)}}class Xc extends R{constructor(t,s){super(t,s)}functionIdentifier(){return this.getRuleContext(0,Xi)}get ruleIndex(){return e.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class Vi extends R{constructor(t,s){super(t,s)}functionIdentifier(){return this.getRuleContext(0,Xi)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_functionNameForDDL}enterRule(t){t.enterFunctionNameForDDL&&t.enterFunctionNameForDDL(this)}exitRule(t){t.exitFunctionNameForDDL&&t.exitFunctionNameForDDL(this)}accept(t){return t.visitFunctionNameForDDL?t.visitFunctionNameForDDL(this):t.visitChildren(this)}}class Zc extends R{constructor(t,s){super(t,s)}functionIdentifier(){return this.getRuleContext(0,Xi)}sql11ReservedKeywordsUsedAsFunctionName(){return this.getRuleContext(0,h4)}sysFuncNames(){return this.getRuleContext(0,i4)}get ruleIndex(){return e.RULE_functionNameForInvoke}enterRule(t){t.enterFunctionNameForInvoke&&t.enterFunctionNameForInvoke(this)}exitRule(t){t.exitFunctionNameForInvoke&&t.exitFunctionNameForInvoke(this)}accept(t){return t.visitFunctionNameForInvoke?t.visitFunctionNameForInvoke(this):t.visitChildren(this)}}class v2 extends R{constructor(t,s){super(t,s)}KW_CAST(){return this.getToken(e.KW_CAST,0)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(){return this.getRuleContext(0,Q)}KW_AS(){return this.getToken(e.KW_AS,0)}RPAREN(){return this.getToken(e.RPAREN,0)}primitiveType(){return this.getRuleContext(0,Ci)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}get ruleIndex(){return e.RULE_castExpression}enterRule(t){t.enterCastExpression&&t.enterCastExpression(this)}exitRule(t){t.exitCastExpression&&t.exitCastExpression(this)}accept(t){return t.visitCastExpression?t.visitCastExpression(this):t.visitChildren(this)}}class jc extends R{constructor(t,s){super(t,s)}KW_CASE(){return this.getToken(e.KW_CASE,0)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_END(){return this.getToken(e.KW_END,0)}KW_WHEN(t){return t===void 0?this.getTokens(e.KW_WHEN):this.getToken(e.KW_WHEN,t)}KW_THEN(t){return t===void 0?this.getTokens(e.KW_THEN):this.getToken(e.KW_THEN,t)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}get ruleIndex(){return e.RULE_caseExpression}enterRule(t){t.enterCaseExpression&&t.enterCaseExpression(this)}exitRule(t){t.exitCaseExpression&&t.exitCaseExpression(this)}accept(t){return t.visitCaseExpression?t.visitCaseExpression(this):t.visitChildren(this)}}class zc extends R{constructor(t,s){super(t,s)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_END(){return this.getToken(e.KW_END,0)}KW_WHEN(t){return t===void 0?this.getTokens(e.KW_WHEN):this.getToken(e.KW_WHEN,t)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_THEN(t){return t===void 0?this.getTokens(e.KW_THEN):this.getToken(e.KW_THEN,t)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}get ruleIndex(){return e.RULE_whenExpression}enterRule(t){t.enterWhenExpression&&t.enterWhenExpression(this)}exitRule(t){t.exitWhenExpression&&t.exitWhenExpression(this)}accept(t){return t.visitWhenExpression?t.visitWhenExpression(this):t.visitChildren(this)}}class $c extends R{constructor(t,s){super(t,s)}KW_FLOOR(){return this.getToken(e.KW_FLOOR,0)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(){return this.getRuleContext(0,Q)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_TO(){return this.getToken(e.KW_TO,0)}timeQualifiers(){return this.getRuleContext(0,q2)}get ruleIndex(){return e.RULE_floorExpression}enterRule(t){t.enterFloorExpression&&t.enterFloorExpression(this)}exitRule(t){t.exitFloorExpression&&t.exitFloorExpression(this)}accept(t){return t.visitFloorExpression?t.visitFloorExpression(this):t.visitChildren(this)}}class Jc extends R{constructor(t,s){super(t,s)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}expression(){return this.getRuleContext(0,Q)}RPAREN(){return this.getToken(e.RPAREN,0)}timeQualifiers(){return this.getRuleContext(0,q2)}get ruleIndex(){return e.RULE_extractExpression}enterRule(t){t.enterExtractExpression&&t.enterExtractExpression(this)}exitRule(t){t.exitExtractExpression&&t.exitExtractExpression(this)}accept(t){return t.visitExtractExpression?t.visitExtractExpression(this):t.visitChildren(this)}}class q2 extends R{constructor(t,s){super(t,s)}year(){return this.getRuleContext(0,zi)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}month(){return this.getRuleContext(0,$i)}week(){return this.getRuleContext(0,l4)}day(){return this.getRuleContext(0,Ji)}hour(){return this.getRuleContext(0,Pi)}minute(){return this.getRuleContext(0,mh)}second(){return this.getRuleContext(0,Ch)}get ruleIndex(){return e.RULE_timeQualifiers}enterRule(t){t.enterTimeQualifiers&&t.enterTimeQualifiers(this)}exitRule(t){t.exitTimeQualifiers&&t.exitTimeQualifiers(this)}accept(t){return t.visitTimeQualifiers?t.visitTimeQualifiers(this):t.visitChildren(this)}}class Se extends R{constructor(t,s){super(t,s)}intervalValue(){return this.getRuleContext(0,th)}intervalQualifiers(){return this.getRuleContext(0,Yi)}Number(){return this.getToken(e.Number,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_TIMESTAMPLOCALTZ(){return this.getToken(e.KW_TIMESTAMPLOCALTZ,0)}IntegralLiteral(){return this.getToken(e.IntegralLiteral,0)}NumberLiteral(){return this.getToken(e.NumberLiteral,0)}CharSetName(){return this.getToken(e.CharSetName,0)}CharSetLiteral(){return this.getToken(e.CharSetLiteral,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}QUESTION(){return this.getToken(e.QUESTION,0)}Identifier(){return this.getToken(e.Identifier,0)}get ruleIndex(){return e.RULE_constant}enterRule(t){t.enterConstant&&t.enterConstant(this)}exitRule(t){t.exitConstant&&t.exitConstant(this)}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}}class th extends R{constructor(t,s){super(t,s)}StringLiteral(){return this.getToken(e.StringLiteral,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}class Pc extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}intervalValue(){return this.getRuleContext(0,th)}intervalQualifiers(){return this.getRuleContext(0,Yi)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}expression(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_intervalExpression}enterRule(t){t.enterIntervalExpression&&t.enterIntervalExpression(this)}exitRule(t){t.exitIntervalExpression&&t.exitIntervalExpression(this)}accept(t){return t.visitIntervalExpression?t.visitIntervalExpression(this):t.visitChildren(this)}}class Yi extends R{constructor(t,s){super(t,s)}year(){return this.getRuleContext(0,zi)}KW_TO(){return this.getToken(e.KW_TO,0)}month(){return this.getRuleContext(0,$i)}day(){return this.getRuleContext(0,Ji)}second(){return this.getRuleContext(0,Ch)}hour(){return this.getRuleContext(0,Pi)}minute(){return this.getRuleContext(0,mh)}get ruleIndex(){return e.RULE_intervalQualifiers}enterRule(t){t.enterIntervalQualifiers&&t.enterIntervalQualifiers(this)}exitRule(t){t.exitIntervalQualifiers&&t.exitIntervalQualifiers(this)}accept(t){return t.visitIntervalQualifiers?t.visitIntervalQualifiers(this):t.visitChildren(this)}}class Q extends R{constructor(t,s){super(t,s)}precedenceAndExpression(t){return t===void 0?this.getRuleContexts(lh):this.getRuleContext(t,lh)}KW_OR(t){return t===void 0?this.getTokens(e.KW_OR):this.getToken(e.KW_OR,t)}get ruleIndex(){return e.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class Hc extends R{constructor(t,s){super(t,s)}constant(){return this.getRuleContext(0,Se)}intervalExpression(){return this.getRuleContext(0,Pc)}castExpression(){return this.getRuleContext(0,v2)}extractExpression(){return this.getRuleContext(0,Jc)}floorExpression(){return this.getRuleContext(0,$c)}caseExpression(){return this.getRuleContext(0,jc)}whenExpression(){return this.getRuleContext(0,zc)}subQueryExpression(){return this.getRuleContext(0,M1)}function_(){return this.getRuleContext(0,Bi)}expressionsInParenthesis(){return this.getRuleContext(0,De)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_atomExpression}enterRule(t){t.enterAtomExpression&&t.enterAtomExpression(this)}exitRule(t){t.exitAtomExpression&&t.exitAtomExpression(this)}accept(t){return t.visitAtomExpression?t.visitAtomExpression(this):t.visitChildren(this)}}class eh extends R{constructor(t,s){super(t,s)}atomExpression(){return this.getRuleContext(0,Hc)}LSQUARE(t){return t===void 0?this.getTokens(e.LSQUARE):this.getToken(e.LSQUARE,t)}expression(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}RSQUARE(t){return t===void 0?this.getTokens(e.RSQUARE):this.getToken(e.RSQUARE,t)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}PLUS(t){return t===void 0?this.getTokens(e.PLUS):this.getToken(e.PLUS,t)}MINUS(t){return t===void 0?this.getTokens(e.MINUS):this.getToken(e.MINUS,t)}TILDE(t){return t===void 0?this.getTokens(e.TILDE):this.getToken(e.TILDE,t)}BITWISENOT(t){return t===void 0?this.getTokens(e.BITWISENOT):this.getToken(e.BITWISENOT,t)}get ruleIndex(){return e.RULE_precedenceUnaryPrefixExpression}enterRule(t){t.enterPrecedenceUnaryPrefixExpression&&t.enterPrecedenceUnaryPrefixExpression(this)}exitRule(t){t.exitPrecedenceUnaryPrefixExpression&&t.exitPrecedenceUnaryPrefixExpression(this)}accept(t){return t.visitPrecedenceUnaryPrefixExpression?t.visitPrecedenceUnaryPrefixExpression(this):t.visitChildren(this)}}class sh extends R{constructor(t,s){super(t,s)}precedenceUnaryPrefixExpression(t){return t===void 0?this.getRuleContexts(eh):this.getRuleContext(t,eh)}BITWISEXOR(t){return t===void 0?this.getTokens(e.BITWISEXOR):this.getToken(e.BITWISEXOR,t)}get ruleIndex(){return e.RULE_precedenceBitwiseXorExpression}enterRule(t){t.enterPrecedenceBitwiseXorExpression&&t.enterPrecedenceBitwiseXorExpression(this)}exitRule(t){t.exitPrecedenceBitwiseXorExpression&&t.exitPrecedenceBitwiseXorExpression(this)}accept(t){return t.visitPrecedenceBitwiseXorExpression?t.visitPrecedenceBitwiseXorExpression(this):t.visitChildren(this)}}class nh extends R{constructor(t,s){super(t,s)}precedenceBitwiseXorExpression(t){return t===void 0?this.getRuleContexts(sh):this.getRuleContext(t,sh)}STAR(t){return t===void 0?this.getTokens(e.STAR):this.getToken(e.STAR,t)}DIVIDE(t){return t===void 0?this.getTokens(e.DIVIDE):this.getToken(e.DIVIDE,t)}MOD(t){return t===void 0?this.getTokens(e.MOD):this.getToken(e.MOD,t)}DIV(t){return t===void 0?this.getTokens(e.DIV):this.getToken(e.DIV,t)}get ruleIndex(){return e.RULE_precedenceStarExpression}enterRule(t){t.enterPrecedenceStarExpression&&t.enterPrecedenceStarExpression(this)}exitRule(t){t.exitPrecedenceStarExpression&&t.exitPrecedenceStarExpression(this)}accept(t){return t.visitPrecedenceStarExpression?t.visitPrecedenceStarExpression(this):t.visitChildren(this)}}class Gi extends R{constructor(t,s){super(t,s)}precedenceStarExpression(t){return t===void 0?this.getRuleContexts(nh):this.getRuleContext(t,nh)}PLUS(t){return t===void 0?this.getTokens(e.PLUS):this.getToken(e.PLUS,t)}MINUS(t){return t===void 0?this.getTokens(e.MINUS):this.getToken(e.MINUS,t)}get ruleIndex(){return e.RULE_precedencePlusExpression}enterRule(t){t.enterPrecedencePlusExpression&&t.enterPrecedencePlusExpression(this)}exitRule(t){t.exitPrecedencePlusExpression&&t.exitPrecedencePlusExpression(this)}accept(t){return t.visitPrecedencePlusExpression?t.visitPrecedencePlusExpression(this):t.visitChildren(this)}}class ih extends R{constructor(t,s){super(t,s)}precedencePlusExpression(t){return t===void 0?this.getRuleContexts(Gi):this.getRuleContext(t,Gi)}CONCATENATE(t){return t===void 0?this.getTokens(e.CONCATENATE):this.getToken(e.CONCATENATE,t)}get ruleIndex(){return e.RULE_precedenceConcatenateExpression}enterRule(t){t.enterPrecedenceConcatenateExpression&&t.enterPrecedenceConcatenateExpression(this)}exitRule(t){t.exitPrecedenceConcatenateExpression&&t.exitPrecedenceConcatenateExpression(this)}accept(t){return t.visitPrecedenceConcatenateExpression?t.visitPrecedenceConcatenateExpression(this):t.visitChildren(this)}}class rh extends R{constructor(t,s){super(t,s)}precedenceConcatenateExpression(t){return t===void 0?this.getRuleContexts(ih):this.getRuleContext(t,ih)}AMPERSAND(t){return t===void 0?this.getTokens(e.AMPERSAND):this.getToken(e.AMPERSAND,t)}get ruleIndex(){return e.RULE_precedenceAmpersandExpression}enterRule(t){t.enterPrecedenceAmpersandExpression&&t.enterPrecedenceAmpersandExpression(this)}exitRule(t){t.exitPrecedenceAmpersandExpression&&t.exitPrecedenceAmpersandExpression(this)}accept(t){return t.visitPrecedenceAmpersandExpression?t.visitPrecedenceAmpersandExpression(this):t.visitChildren(this)}}class k0 extends R{constructor(t,s){super(t,s)}precedenceAmpersandExpression(t){return t===void 0?this.getRuleContexts(rh):this.getRuleContext(t,rh)}BITWISEOR(t){return t===void 0?this.getTokens(e.BITWISEOR):this.getToken(e.BITWISEOR,t)}get ruleIndex(){return e.RULE_precedenceBitwiseOrExpression}enterRule(t){t.enterPrecedenceBitwiseOrExpression&&t.enterPrecedenceBitwiseOrExpression(this)}exitRule(t){t.exitPrecedenceBitwiseOrExpression&&t.exitPrecedenceBitwiseOrExpression(this)}accept(t){return t.visitPrecedenceBitwiseOrExpression?t.visitPrecedenceBitwiseOrExpression(this):t.visitChildren(this)}}class vc extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}LESSTHANOREQUALTO(){return this.getToken(e.LESSTHANOREQUALTO,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}GREATERTHANOREQUALTO(){return this.getToken(e.GREATERTHANOREQUALTO,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_precedenceSimilarOperator}enterRule(t){t.enterPrecedenceSimilarOperator&&t.enterPrecedenceSimilarOperator(this)}exitRule(t){t.exitPrecedenceSimilarOperator&&t.exitPrecedenceSimilarOperator(this)}accept(t){return t.visitPrecedenceSimilarOperator?t.visitPrecedenceSimilarOperator(this):t.visitChildren(this)}}class M1 extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}selectStatement(){return this.getRuleContext(0,g0)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_subQueryExpression}enterRule(t){t.enterSubQueryExpression&&t.enterSubQueryExpression(this)}exitRule(t){t.exitSubQueryExpression&&t.exitSubQueryExpression(this)}accept(t){return t.visitSubQueryExpression?t.visitSubQueryExpression(this):t.visitChildren(this)}}class hh extends R{constructor(t,s){super(t,s)}precedenceBitwiseOrExpression(){return this.getRuleContext(0,k0)}precedenceSimilarExpressionPart(){return this.getRuleContext(0,qc)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}subQueryExpression(){return this.getRuleContext(0,M1)}get ruleIndex(){return e.RULE_precedenceSimilarExpression}enterRule(t){t.enterPrecedenceSimilarExpression&&t.enterPrecedenceSimilarExpression(this)}exitRule(t){t.exitPrecedenceSimilarExpression&&t.exitPrecedenceSimilarExpression(this)}accept(t){return t.visitPrecedenceSimilarExpression?t.visitPrecedenceSimilarExpression(this):t.visitChildren(this)}}class qc extends R{constructor(t,s){super(t,s)}precedenceSimilarOperator(){return this.getRuleContext(0,vc)}precedenceBitwiseOrExpression(){return this.getRuleContext(0,k0)}precedenceSimilarExpressionAtom(){return this.getRuleContext(0,ah)}KW_NOT(){return this.getToken(e.KW_NOT,0)}precedenceSimilarExpressionPartNot(){return this.getRuleContext(0,e4)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionPart}enterRule(t){t.enterPrecedenceSimilarExpressionPart&&t.enterPrecedenceSimilarExpressionPart(this)}exitRule(t){t.exitPrecedenceSimilarExpressionPart&&t.exitPrecedenceSimilarExpressionPart(this)}accept(t){return t.visitPrecedenceSimilarExpressionPart?t.visitPrecedenceSimilarExpressionPart(this):t.visitChildren(this)}}class ah extends R{constructor(t,s){super(t,s)}KW_IN(){return this.getToken(e.KW_IN,0)}precedenceSimilarExpressionIn(){return this.getRuleContext(0,t4)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_AND(){return this.getToken(e.KW_AND,0)}precedenceBitwiseOrExpression(t){return t===void 0?this.getRuleContexts(k0):this.getRuleContext(t,k0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}expressionsInParenthesis(){return this.getRuleContext(0,De)}subQuerySelectorOperator(){return this.getRuleContext(0,Th)}subQueryExpression(){return this.getRuleContext(0,M1)}KW_SOME(){return this.getToken(e.KW_SOME,0)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionAtom}enterRule(t){t.enterPrecedenceSimilarExpressionAtom&&t.enterPrecedenceSimilarExpressionAtom(this)}exitRule(t){t.exitPrecedenceSimilarExpressionAtom&&t.exitPrecedenceSimilarExpressionAtom(this)}accept(t){return t.visitPrecedenceSimilarExpressionAtom?t.visitPrecedenceSimilarExpressionAtom(this):t.visitChildren(this)}}class t4 extends R{constructor(t,s){super(t,s)}subQueryExpression(){return this.getRuleContext(0,M1)}expressionsInParenthesis(){return this.getRuleContext(0,De)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionIn}enterRule(t){t.enterPrecedenceSimilarExpressionIn&&t.enterPrecedenceSimilarExpressionIn(this)}exitRule(t){t.exitPrecedenceSimilarExpressionIn&&t.exitPrecedenceSimilarExpressionIn(this)}accept(t){return t.visitPrecedenceSimilarExpressionIn?t.visitPrecedenceSimilarExpressionIn(this):t.visitChildren(this)}}class e4 extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}precedenceBitwiseOrExpression(){return this.getRuleContext(0,k0)}precedenceSimilarExpressionAtom(){return this.getRuleContext(0,ah)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionPartNot}enterRule(t){t.enterPrecedenceSimilarExpressionPartNot&&t.enterPrecedenceSimilarExpressionPartNot(this)}exitRule(t){t.exitPrecedenceSimilarExpressionPartNot&&t.exitPrecedenceSimilarExpressionPartNot(this)}accept(t){return t.visitPrecedenceSimilarExpressionPartNot?t.visitPrecedenceSimilarExpressionPartNot(this):t.visitChildren(this)}}class oh extends R{constructor(t,s){super(t,s)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}get ruleIndex(){return e.RULE_precedenceDistinctOperator}enterRule(t){t.enterPrecedenceDistinctOperator&&t.enterPrecedenceDistinctOperator(this)}exitRule(t){t.exitPrecedenceDistinctOperator&&t.exitPrecedenceDistinctOperator(this)}accept(t){return t.visitPrecedenceDistinctOperator?t.visitPrecedenceDistinctOperator(this):t.visitChildren(this)}}class ch extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}EQUAL_NS(){return this.getToken(e.EQUAL_NS,0)}NOTEQUAL(){return this.getToken(e.NOTEQUAL,0)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}get ruleIndex(){return e.RULE_precedenceEqualOperator}enterRule(t){t.enterPrecedenceEqualOperator&&t.enterPrecedenceEqualOperator(this)}exitRule(t){t.exitPrecedenceEqualOperator&&t.exitPrecedenceEqualOperator(this)}accept(t){return t.visitPrecedenceEqualOperator?t.visitPrecedenceEqualOperator(this):t.visitChildren(this)}}class s4 extends R{constructor(t,s){super(t,s),this._equal=[],this._p=[],this._dist=[]}precedenceSimilarExpression(t){return t===void 0?this.getRuleContexts(hh):this.getRuleContext(t,hh)}precedenceEqualOperator(t){return t===void 0?this.getRuleContexts(ch):this.getRuleContext(t,ch)}precedenceDistinctOperator(t){return t===void 0?this.getRuleContexts(oh):this.getRuleContext(t,oh)}get ruleIndex(){return e.RULE_precedenceEqualExpression}enterRule(t){t.enterPrecedenceEqualExpression&&t.enterPrecedenceEqualExpression(this)}exitRule(t){t.exitPrecedenceEqualExpression&&t.exitPrecedenceEqualExpression(this)}accept(t){return t.visitPrecedenceEqualExpression?t.visitPrecedenceEqualExpression(this):t.visitChildren(this)}}class n4 extends R{constructor(t,s){super(t,s)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}get ruleIndex(){return e.RULE_isCondition}enterRule(t){t.enterIsCondition&&t.enterIsCondition(this)}exitRule(t){t.exitIsCondition&&t.exitIsCondition(this)}accept(t){return t.visitIsCondition?t.visitIsCondition(this):t.visitChildren(this)}}class uh extends R{constructor(t,s){super(t,s)}precedenceEqualExpression(){return this.getRuleContext(0,s4)}KW_NOT(t){return t===void 0?this.getTokens(e.KW_NOT):this.getToken(e.KW_NOT,t)}isCondition(){return this.getRuleContext(0,n4)}KW_IS(){return this.getToken(e.KW_IS,0)}get ruleIndex(){return e.RULE_precedenceNotExpression}enterRule(t){t.enterPrecedenceNotExpression&&t.enterPrecedenceNotExpression(this)}exitRule(t){t.exitPrecedenceNotExpression&&t.exitPrecedenceNotExpression(this)}accept(t){return t.visitPrecedenceNotExpression?t.visitPrecedenceNotExpression(this):t.visitChildren(this)}}class lh extends R{constructor(t,s){super(t,s)}precedenceNotExpression(t){return t===void 0?this.getRuleContexts(uh):this.getRuleContext(t,uh)}KW_AND(t){return t===void 0?this.getTokens(e.KW_AND):this.getToken(e.KW_AND,t)}get ruleIndex(){return e.RULE_precedenceAndExpression}enterRule(t){t.enterPrecedenceAndExpression&&t.enterPrecedenceAndExpression(this)}exitRule(t){t.exitPrecedenceAndExpression&&t.exitPrecedenceAndExpression(this)}accept(t){return t.visitPrecedenceAndExpression?t.visitPrecedenceAndExpression(this):t.visitChildren(this)}}class Bt extends R{constructor(t,s){super(t,s)}tableName(){return this.getRuleContext(0,Wt)}partitionSpec(){return this.getRuleContext(0,zt)}get ruleIndex(){return e.RULE_tableOrPartition}enterRule(t){t.enterTableOrPartition&&t.enterTableOrPartition(this)}exitRule(t){t.exitTableOrPartition&&t.exitTableOrPartition(this)}accept(t){return t.visitTableOrPartition?t.visitTableOrPartition(this):t.visitChildren(this)}}class zt extends R{constructor(t,s){super(t,s)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}LPAREN(){return this.getToken(e.LPAREN,0)}partitionVal(t){return t===void 0?this.getRuleContexts(Eh):this.getRuleContext(t,Eh)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionSpec}enterRule(t){t.enterPartitionSpec&&t.enterPartitionSpec(this)}exitRule(t){t.exitPartitionSpec&&t.exitPartitionSpec(this)}accept(t){return t.visitPartitionSpec?t.visitPartitionSpec(this):t.visitChildren(this)}}class Eh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}EQUAL(){return this.getToken(e.EQUAL,0)}constant(){return this.getRuleContext(0,Se)}get ruleIndex(){return e.RULE_partitionVal}enterRule(t){t.enterPartitionVal&&t.enterPartitionVal(this)}exitRule(t){t.exitPartitionVal&&t.exitPartitionVal(this)}accept(t){return t.visitPartitionVal?t.visitPartitionVal(this):t.visitChildren(this)}}class Qi extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}partitionSelectorVal(t){return t===void 0?this.getRuleContexts(Rh):this.getRuleContext(t,Rh)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionSelectorSpec}enterRule(t){t.enterPartitionSelectorSpec&&t.enterPartitionSelectorSpec(this)}exitRule(t){t.exitPartitionSelectorSpec&&t.exitPartitionSelectorSpec(this)}accept(t){return t.visitPartitionSelectorSpec?t.visitPartitionSelectorSpec(this):t.visitChildren(this)}}class Rh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}constant(){return this.getRuleContext(0,Se)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}subQuerySelectorOperator(){return this.getRuleContext(0,Th)}get ruleIndex(){return e.RULE_partitionSelectorVal}enterRule(t){t.enterPartitionSelectorVal&&t.enterPartitionSelectorVal(this)}exitRule(t){t.exitPartitionSelectorVal&&t.exitPartitionSelectorVal(this)}accept(t){return t.visitPartitionSelectorVal?t.visitPartitionSelectorVal(this):t.visitChildren(this)}}class Th extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}NOTEQUAL(){return this.getToken(e.NOTEQUAL,0)}LESSTHANOREQUALTO(){return this.getToken(e.LESSTHANOREQUALTO,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}GREATERTHANOREQUALTO(){return this.getToken(e.GREATERTHANOREQUALTO,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_subQuerySelectorOperator}enterRule(t){t.enterSubQuerySelectorOperator&&t.enterSubQuerySelectorOperator(this)}exitRule(t){t.exitSubQuerySelectorOperator&&t.exitSubQuerySelectorOperator(this)}accept(t){return t.visitSubQuerySelectorOperator?t.visitSubQuerySelectorOperator(this):t.visitChildren(this)}}class i4 extends R{constructor(t,s){super(t,s)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_FLOOR(){return this.getToken(e.KW_FLOOR,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_UNIONTYPE(){return this.getToken(e.KW_UNIONTYPE,0)}EQUAL(){return this.getToken(e.EQUAL,0)}EQUAL_NS(){return this.getToken(e.EQUAL_NS,0)}NOTEQUAL(){return this.getToken(e.NOTEQUAL,0)}LESSTHANOREQUALTO(){return this.getToken(e.LESSTHANOREQUALTO,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}GREATERTHANOREQUALTO(){return this.getToken(e.GREATERTHANOREQUALTO,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}DIVIDE(){return this.getToken(e.DIVIDE,0)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}STAR(){return this.getToken(e.STAR,0)}MOD(){return this.getToken(e.MOD,0)}DIV(){return this.getToken(e.DIV,0)}AMPERSAND(){return this.getToken(e.AMPERSAND,0)}TILDE(){return this.getToken(e.TILDE,0)}BITWISEOR(){return this.getToken(e.BITWISEOR,0)}BITWISEXOR(){return this.getToken(e.BITWISEXOR,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}get ruleIndex(){return e.RULE_sysFuncNames}enterRule(t){t.enterSysFuncNames&&t.enterSysFuncNames(this)}exitRule(t){t.exitSysFuncNames&&t.exitSysFuncNames(this)}accept(t){return t.visitSysFuncNames?t.visitSysFuncNames(this):t.visitChildren(this)}}class N extends R{constructor(t,s){super(t,s)}Identifier(){return this.getToken(e.Identifier,0)}nonReserved(){return this.getRuleContext(0,r4)}get ruleIndex(){return e.RULE_id_}enterRule(t){t.enterId_&&t.enterId_(this)}exitRule(t){t.exitId_&&t.exitId_(this)}accept(t){return t.visitId_?t.visitId_(this):t.visitChildren(this)}}class Xi extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_functionIdentifier}enterRule(t){t.enterFunctionIdentifier&&t.enterFunctionIdentifier(this)}exitRule(t){t.exitFunctionIdentifier&&t.exitFunctionIdentifier(this)}accept(t){return t.visitFunctionIdentifier?t.visitFunctionIdentifier(this):t.visitChildren(this)}}class Wh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}get ruleIndex(){return e.RULE_principalIdentifier}enterRule(t){t.enterPrincipalIdentifier&&t.enterPrincipalIdentifier(this)}exitRule(t){t.exitPrincipalIdentifier&&t.exitPrincipalIdentifier(this)}accept(t){return t.visitPrincipalIdentifier?t.visitPrincipalIdentifier(this):t.visitChildren(this)}}class r4 extends R{constructor(t,s){super(t,s)}KW_ABORT(){return this.getToken(e.KW_ABORT,0)}KW_ACTIVATE(){return this.getToken(e.KW_ACTIVATE,0)}KW_ACTIVE(){return this.getToken(e.KW_ACTIVE,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALLOC_FRACTION(){return this.getToken(e.KW_ALLOC_FRACTION,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AST(){return this.getToken(e.KW_AST,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_AUTOCOMMIT(){return this.getToken(e.KW_AUTOCOMMIT,0)}KW_BATCH(){return this.getToken(e.KW_BATCH,0)}KW_BEFORE(){return this.getToken(e.KW_BEFORE,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CBO(){return this.getToken(e.KW_CBO,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}KW_CHECK(){return this.getToken(e.KW_CHECK,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_CLUSTERSTATUS(){return this.getToken(e.KW_CLUSTERSTATUS,0)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_CONTINUE(){return this.getToken(e.KW_CONTINUE,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_CRON(){return this.getToken(e.KW_CRON,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_DATETIME(){return this.getToken(e.KW_DATETIME,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_DAYOFWEEK(){return this.getToken(e.KW_DAYOFWEEK,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_DCPROPERTIES(){return this.getToken(e.KW_DCPROPERTIES,0)}KW_DEBUG(){return this.getToken(e.KW_DEBUG,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFERRED(){return this.getToken(e.KW_DEFERRED,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_DEPENDENCY(){return this.getToken(e.KW_DEPENDENCY,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DETAIL(){return this.getToken(e.KW_DETAIL,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISABLED(){return this.getToken(e.KW_DISABLED,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_DISTRIBUTED(){return this.getToken(e.KW_DISTRIBUTED,0)}KW_DO(){return this.getToken(e.KW_DO,0)}KW_DUMP(){return this.getToken(e.KW_DUMP,0)}KW_ELEM_TYPE(){return this.getToken(e.KW_ELEM_TYPE,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_ENABLED(){return this.getToken(e.KW_ENABLED,0)}KW_ENFORCED(){return this.getToken(e.KW_ENFORCED,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}KW_EVERY(){return this.getToken(e.KW_EVERY,0)}KW_EXCLUSIVE(){return this.getToken(e.KW_EXCLUSIVE,0)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}KW_EXECUTED(){return this.getToken(e.KW_EXECUTED,0)}KW_EXPIRE_SNAPSHOTS(){return this.getToken(e.KW_EXPIRE_SNAPSHOTS,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_EXPRESSION(){return this.getToken(e.KW_EXPRESSION,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_FILE(){return this.getToken(e.KW_FILE,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_HOLD_DDLTIME(){return this.getToken(e.KW_HOLD_DDLTIME,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_IDXPROPERTIES(){return this.getToken(e.KW_IDXPROPERTIES,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INPUTDRIVER(){return this.getToken(e.KW_INPUTDRIVER,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_ISOLATION(){return this.getToken(e.KW_ISOLATION,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_JAR(){return this.getToken(e.KW_JAR,0)}KW_JOINCOST(){return this.getToken(e.KW_JOINCOST,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_KEY_TYPE(){return this.getToken(e.KW_KEY_TYPE,0)}KW_KILL(){return this.getToken(e.KW_KILL,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LEVEL(){return this.getToken(e.KW_LEVEL,0)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_MANAGED(){return this.getToken(e.KW_MANAGED,0)}KW_MANAGEDLOCATION(){return this.getToken(e.KW_MANAGEDLOCATION,0)}KW_MANAGEMENT(){return this.getToken(e.KW_MANAGEMENT,0)}KW_MAPJOIN(){return this.getToken(e.KW_MAPJOIN,0)}KW_MAPPING(){return this.getToken(e.KW_MAPPING,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_METADATA(){return this.getToken(e.KW_METADATA,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_MOVE(){return this.getToken(e.KW_MOVE,0)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_NORELY(){return this.getToken(e.KW_NORELY,0)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}KW_NOVALIDATE(){return this.getToken(e.KW_NOVALIDATE,0)}KW_NO_DROP(){return this.getToken(e.KW_NO_DROP,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_OFFLINE(){return this.getToken(e.KW_OFFLINE,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_OPERATOR(){return this.getToken(e.KW_OPERATOR,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_OUTPUTDRIVER(){return this.getToken(e.KW_OUTPUTDRIVER,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PATH(){return this.getToken(e.KW_PATH,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_PLANS(){return this.getToken(e.KW_PLANS,0)}KW_PLUS(){return this.getToken(e.KW_PLUS,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_PROTECTION(){return this.getToken(e.KW_PROTECTION,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_READONLY(){return this.getToken(e.KW_READONLY,0)}KW_REBUILD(){return this.getToken(e.KW_REBUILD,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_RELOAD(){return this.getToken(e.KW_RELOAD,0)}KW_RELY(){return this.getToken(e.KW_RELY,0)}KW_REMOTE(){return this.getToken(e.KW_REMOTE,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REOPTIMIZATION(){return this.getToken(e.KW_REOPTIMIZATION,0)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_REPLICATION(){return this.getToken(e.KW_REPLICATION,0)}KW_RESOURCE(){return this.getToken(e.KW_RESOURCE,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_SCHEDULING_POLICY(){return this.getToken(e.KW_SCHEDULING_POLICY,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}KW_SERVER(){return this.getToken(e.KW_SERVER,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SET_CURRENT_SNAPSHOT(){return this.getToken(e.KW_SET_CURRENT_SNAPSHOT,0)}KW_SHARED(){return this.getToken(e.KW_SHARED,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SHOW_DATABASE(){return this.getToken(e.KW_SHOW_DATABASE,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_SNAPSHOT(){return this.getToken(e.KW_SNAPSHOT,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}KW_SSL(){return this.getToken(e.KW_SSL,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_STATUS(){return this.getToken(e.KW_STATUS,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_STREAMTABLE(){return this.getToken(e.KW_STREAMTABLE,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_SUMMARY(){return this.getToken(e.KW_SUMMARY,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_TIMESTAMPTZ(){return this.getToken(e.KW_TIMESTAMPTZ,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRANSACTIONAL(){return this.getToken(e.KW_TRANSACTIONAL,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_UNDO(){return this.getToken(e.KW_UNDO,0)}KW_UNIONTYPE(){return this.getToken(e.KW_UNIONTYPE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_UNMANAGED(){return this.getToken(e.KW_UNMANAGED,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_UNSIGNED(){return this.getToken(e.KW_UNSIGNED,0)}KW_URI(){return this.getToken(e.KW_URI,0)}KW_URL(){return this.getToken(e.KW_URL,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_UTC(){return this.getToken(e.KW_UTC,0)}KW_UTCTIMESTAMP(){return this.getToken(e.KW_UTCTIMESTAMP,0)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}KW_VALUE_TYPE(){return this.getToken(e.KW_VALUE_TYPE,0)}KW_VECTORIZATION(){return this.getToken(e.KW_VECTORIZATION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_WAIT(){return this.getToken(e.KW_WAIT,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_WHILE(){return this.getToken(e.KW_WHILE,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}KW_WORKLOAD(){return this.getToken(e.KW_WORKLOAD,0)}KW_WRITE(){return this.getToken(e.KW_WRITE,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}get ruleIndex(){return e.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}class h4 extends R{constructor(t,s){super(t,s)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}get ruleIndex(){return e.RULE_sql11ReservedKeywordsUsedAsFunctionName}enterRule(t){t.enterSql11ReservedKeywordsUsedAsFunctionName&&t.enterSql11ReservedKeywordsUsedAsFunctionName(this)}exitRule(t){t.exitSql11ReservedKeywordsUsedAsFunctionName&&t.exitSql11ReservedKeywordsUsedAsFunctionName(this)}accept(t){return t.visitSql11ReservedKeywordsUsedAsFunctionName?t.visitSql11ReservedKeywordsUsedAsFunctionName(this):t.visitChildren(this)}}class dh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_PERCENT(){return this.getToken(e.KW_PERCENT,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_FETCH(){return this.getToken(e.KW_FETCH,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_FORCE(){return this.getToken(e.KW_FORCE,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_CONF(){return this.getToken(e.KW_CONF,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_END(){return this.getToken(e.KW_END,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_DDL(){return this.getToken(e.KW_DDL,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_READS(){return this.getToken(e.KW_READS,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_configPropertiesItem}enterRule(t){t.enterConfigPropertiesItem&&t.enterConfigPropertiesItem(this)}exitRule(t){t.exitConfigPropertiesItem&&t.exitConfigPropertiesItem(this)}accept(t){return t.visitConfigPropertiesItem?t.visitConfigPropertiesItem(this):t.visitChildren(this)}}class a4 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_RESOURCE(){return this.getToken(e.KW_RESOURCE,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}ifNotExists(){return this.getRuleContext(0,re)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}KW_WITH(){return this.getToken(e.KW_WITH,0)}rpAssignList(){return this.getRuleContext(0,c4)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}disable(){return this.getRuleContext(0,ji)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}rpUnassign(t){return t===void 0?this.getRuleContexts(Ah):this.getRuleContext(t,Ah)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}activate(){return this.getRuleContext(0,u4)}enable(){return this.getRuleContext(0,Zi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}ifExists(){return this.getRuleContext(0,Ut)}KW_WORKLOAD(){return this.getToken(e.KW_WORKLOAD,0)}KW_MANAGEMENT(){return this.getToken(e.KW_MANAGEMENT,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_ACTIVE(){return this.getToken(e.KW_ACTIVE,0)}KW_TRIGGER(){return this.getToken(e.KW_TRIGGER,0)}DOT(){return this.getToken(e.DOT,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}triggerAtomExpression(){return this.getRuleContext(0,R4)}KW_DO(){return this.getToken(e.KW_DO,0)}triggerActionExpression(){return this.getRuleContext(0,T4)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}KW_UNMANAGED(){return this.getToken(e.KW_UNMANAGED,0)}poolPath(){return this.getRuleContext(0,D0)}poolAssignList(){return this.getRuleContext(0,W4)}KW_SCHEDULING_POLICY(){return this.getToken(e.KW_SCHEDULING_POLICY,0)}KW_MAPPING(){return this.getToken(e.KW_MAPPING,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_IN(){return this.getToken(e.KW_IN,0)}mappingTypes(){return this.getRuleContext(0,o4)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_resourcePlanDdlStatements}enterRule(t){t.enterResourcePlanDdlStatements&&t.enterResourcePlanDdlStatements(this)}exitRule(t){t.exitResourcePlanDdlStatements&&t.exitResourcePlanDdlStatements(this)}accept(t){return t.visitResourcePlanDdlStatements?t.visitResourcePlanDdlStatements(this):t.visitChildren(this)}}class o4 extends R{constructor(t,s){super(t,s)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_APPLICATION(){return this.getToken(e.KW_APPLICATION,0)}get ruleIndex(){return e.RULE_mappingTypes}enterRule(t){t.enterMappingTypes&&t.enterMappingTypes(this)}exitRule(t){t.exitMappingTypes&&t.exitMappingTypes(this)}accept(t){return t.visitMappingTypes?t.visitMappingTypes(this):t.visitChildren(this)}}class Kh extends R{constructor(t,s){super(t,s)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}EQUAL(){return this.getToken(e.EQUAL,0)}Number(){return this.getToken(e.Number,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}poolPath(){return this.getRuleContext(0,D0)}get ruleIndex(){return e.RULE_rpAssign}enterRule(t){t.enterRpAssign&&t.enterRpAssign(this)}exitRule(t){t.exitRpAssign&&t.exitRpAssign(this)}accept(t){return t.visitRpAssign?t.visitRpAssign(this):t.visitChildren(this)}}class c4 extends R{constructor(t,s){super(t,s)}rpAssign(t){return t===void 0?this.getRuleContexts(Kh):this.getRuleContext(t,Kh)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_rpAssignList}enterRule(t){t.enterRpAssignList&&t.enterRpAssignList(this)}exitRule(t){t.exitRpAssignList&&t.exitRpAssignList(this)}accept(t){return t.visitRpAssignList?t.visitRpAssignList(this):t.visitChildren(this)}}class Ah extends R{constructor(t,s){super(t,s)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}get ruleIndex(){return e.RULE_rpUnassign}enterRule(t){t.enterRpUnassign&&t.enterRpUnassign(this)}exitRule(t){t.exitRpUnassign&&t.exitRpUnassign(this)}accept(t){return t.visitRpUnassign?t.visitRpUnassign(this):t.visitChildren(this)}}class u4 extends R{constructor(t,s){super(t,s)}KW_ACTIVATE(){return this.getToken(e.KW_ACTIVATE,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}get ruleIndex(){return e.RULE_activate}enterRule(t){t.enterActivate&&t.enterActivate(this)}exitRule(t){t.exitActivate&&t.exitActivate(this)}accept(t){return t.visitActivate?t.visitActivate(this):t.visitChildren(this)}}class Zi extends R{constructor(t,s){super(t,s)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_ENABLED(){return this.getToken(e.KW_ENABLED,0)}get ruleIndex(){return e.RULE_enable}enterRule(t){t.enterEnable&&t.enterEnable(this)}exitRule(t){t.exitEnable&&t.exitEnable(this)}accept(t){return t.visitEnable?t.visitEnable(this):t.visitChildren(this)}}class ji extends R{constructor(t,s){super(t,s)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISABLED(){return this.getToken(e.KW_DISABLED,0)}get ruleIndex(){return e.RULE_disable}enterRule(t){t.enterDisable&&t.enterDisable(this)}exitRule(t){t.exitDisable&&t.exitDisable(this)}accept(t){return t.visitDisable?t.visitDisable(this):t.visitChildren(this)}}class zi extends R{constructor(t,s){super(t,s)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}get ruleIndex(){return e.RULE_year}enterRule(t){t.enterYear&&t.enterYear(this)}exitRule(t){t.exitYear&&t.exitYear(this)}accept(t){return t.visitYear?t.visitYear(this):t.visitChildren(this)}}class $i extends R{constructor(t,s){super(t,s)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}get ruleIndex(){return e.RULE_month}enterRule(t){t.enterMonth&&t.enterMonth(this)}exitRule(t){t.exitMonth&&t.exitMonth(this)}accept(t){return t.visitMonth?t.visitMonth(this):t.visitChildren(this)}}class l4 extends R{constructor(t,s){super(t,s)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}get ruleIndex(){return e.RULE_week}enterRule(t){t.enterWeek&&t.enterWeek(this)}exitRule(t){t.exitWeek&&t.exitWeek(this)}accept(t){return t.visitWeek?t.visitWeek(this):t.visitChildren(this)}}class Ji extends R{constructor(t,s){super(t,s)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}get ruleIndex(){return e.RULE_day}enterRule(t){t.enterDay&&t.enterDay(this)}exitRule(t){t.exitDay&&t.exitDay(this)}accept(t){return t.visitDay?t.visitDay(this):t.visitChildren(this)}}class Pi extends R{constructor(t,s){super(t,s)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}get ruleIndex(){return e.RULE_hour}enterRule(t){t.enterHour&&t.enterHour(this)}exitRule(t){t.exitHour&&t.exitHour(this)}accept(t){return t.visitHour?t.visitHour(this):t.visitChildren(this)}}class mh extends R{constructor(t,s){super(t,s)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}get ruleIndex(){return e.RULE_minute}enterRule(t){t.enterMinute&&t.enterMinute(this)}exitRule(t){t.exitMinute&&t.exitMinute(this)}accept(t){return t.visitMinute?t.visitMinute(this):t.visitChildren(this)}}class Ch extends R{constructor(t,s){super(t,s)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}get ruleIndex(){return e.RULE_second}enterRule(t){t.enterSecond&&t.enterSecond(this)}exitRule(t){t.exitSecond&&t.exitSecond(this)}accept(t){return t.visitSecond?t.visitSecond(this):t.visitChildren(this)}}class E4 extends R{constructor(t,s){super(t,s)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}get ruleIndex(){return e.RULE_decimal}enterRule(t){t.enterDecimal&&t.enterDecimal(this)}exitRule(t){t.exitDecimal&&t.exitDecimal(this)}accept(t){return t.visitDecimal?t.visitDecimal(this):t.visitChildren(this)}}class D0 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(N):this.getRuleContext(t,N)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_poolPath}enterRule(t){t.enterPoolPath&&t.enterPoolPath(this)}exitRule(t){t.exitPoolPath&&t.exitPoolPath(this)}accept(t){return t.visitPoolPath?t.visitPoolPath(this):t.visitChildren(this)}}class R4 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,N)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}Number(){return this.getToken(e.Number,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_triggerAtomExpression}enterRule(t){t.enterTriggerAtomExpression&&t.enterTriggerAtomExpression(this)}exitRule(t){t.exitTriggerAtomExpression&&t.exitTriggerAtomExpression(this)}accept(t){return t.visitTriggerAtomExpression?t.visitTriggerAtomExpression(this):t.visitChildren(this)}}class T4 extends R{constructor(t,s){super(t,s)}KW_KILL(){return this.getToken(e.KW_KILL,0)}KW_MOVE(){return this.getToken(e.KW_MOVE,0)}KW_TO(){return this.getToken(e.KW_TO,0)}poolPath(){return this.getRuleContext(0,D0)}get ruleIndex(){return e.RULE_triggerActionExpression}enterRule(t){t.enterTriggerActionExpression&&t.enterTriggerActionExpression(this)}exitRule(t){t.exitTriggerActionExpression&&t.exitTriggerActionExpression(this)}accept(t){return t.visitTriggerActionExpression?t.visitTriggerActionExpression(this):t.visitChildren(this)}}class fh extends R{constructor(t,s){super(t,s)}KW_ALLOC_FRACTION(){return this.getToken(e.KW_ALLOC_FRACTION,0)}EQUAL(){return this.getToken(e.EQUAL,0)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}KW_SCHEDULING_POLICY(){return this.getToken(e.KW_SCHEDULING_POLICY,0)}KW_PATH(){return this.getToken(e.KW_PATH,0)}Number(){return this.getToken(e.Number,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}poolPath(){return this.getRuleContext(0,D0)}get ruleIndex(){return e.RULE_poolAssign}enterRule(t){t.enterPoolAssign&&t.enterPoolAssign(this)}exitRule(t){t.exitPoolAssign&&t.exitPoolAssign(this)}accept(t){return t.visitPoolAssign?t.visitPoolAssign(this):t.visitChildren(this)}}class W4 extends R{constructor(t,s){super(t,s)}poolAssign(t){return t===void 0?this.getRuleContexts(fh):this.getRuleContext(t,fh)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_poolAssignList}enterRule(t){t.enterPoolAssignList&&t.enterPoolAssignList(this)}exitRule(t){t.exitPoolAssignList&&t.exitPoolAssignList(this)}accept(t){return t.visitPoolAssignList?t.visitPoolAssignList(this):t.visitChildren(this)}}var H7=Object.defineProperty,nt=(i,t)=>H7(i,"name",{value:t,configurable:!0}),ye=(On=class{constructor(t=""){E(this,"name");E(this,"context");E(this,"modifiers",new Set);E(this,"visibility",0);$(this,ot,void 0);this.name=t}get parent(){return x(this,ot)}get firstSibling(){var t;if(x(this,ot))return(t=x(this,ot))==null?void 0:t.firstChild}get previousSibling(){if(x(this,ot))return x(this,ot)?x(this,ot).previousSiblingOf(this):this}get nextSibling(){var t;return(t=x(this,ot))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=x(this,ot))==null?void 0:t.lastChild}get next(){var t;return(t=x(this,ot))==null?void 0:t.nextOf(this)}get root(){let t=x(this,ot);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=x(this,ot);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let s=this;for(;s&&(t.push(s),!!s.parent);)s=s.parent;return t}setParent(t){X(this,ot,t)}removeFromParent(){var t;(t=x(this,ot))==null||t.removeSymbol(this),X(this,ot,void 0)}async resolve(t,s=!1){var n;return(n=x(this,ot))==null?void 0:n.resolve(t,s)}resolveSync(t,s=!1){var n;return(n=x(this,ot))==null?void 0:n.resolveSync(t,s)}getParentOfType(t){let s=x(this,ot);for(;s;){if(s instanceof t)return s;s=s.parent}}qualifiedName(t=".",s=!1,n=!1){if(!n&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=x(this,ot);for(;h&&((n||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!s||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},ot=new WeakMap,nt(On,"BaseSymbol"),On);gn=class extends ye{constructor(s,n,r,h=0){super(s);E(this,"elementType");E(this,"size");E(this,"referenceKind");this.referenceKind=n,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},nt(gn,"ArrayType");var d4=(In=class extends Error{},nt(In,"DuplicateSymbolError"),In),Me=(Yt=class extends ye{constructor(s=""){super(s);$(this,tt,[]);$(this,le,new Map)}get directScopes(){return this.getSymbolsOfType(Yt)}get children(){return x(this,tt)}get firstChild(){if(x(this,tt).length>0)return x(this,tt)[0]}get lastChild(){if(x(this,tt).length>0)return x(this,tt)[x(this,tt).length-1]}clear(){X(this,tt,[]),x(this,le).clear()}addSymbol(s){s.removeFromParent();const n=this.symbolTable,r=x(this,le).get(s.name);if(!n||!n.options.allowDuplicateSymbols){if(r!==void 0)throw new d4("Attempt to add duplicate symbol '"+(s.name??"")+"'");if(x(this,le).set(s.name,1),x(this,tt).indexOf(s)>-1)throw new d4("Attempt to add duplicate symbol '"+(s.name??"")+"'")}else x(this,le).set(s.name,r===void 0?1:r+1);x(this,tt).push(s),s.setParent(this)}removeSymbol(s){const n=x(this,tt).indexOf(s);if(n>-1){x(this,tt).splice(n,1),s.setParent(void 0);const r=x(this,le).get(s.name);r!==void 0&&(r===1?x(this,le).delete(s.name):x(this,le).set(s.name,r-1))}}async getNestedSymbolsOfType(s){const n=[],r=[];return x(this,tt).forEach(a=>{a instanceof s&&n.push(a),a instanceof Yt&&r.push(a.getNestedSymbolsOfType(s))}),(await Promise.all(r)).forEach(a=>{n.push(...a)}),n}getNestedSymbolsOfTypeSync(s){const n=[];return x(this,tt).forEach(r=>{r instanceof s&&n.push(r),r instanceof Yt&&n.push(...r.getNestedSymbolsOfTypeSync(s))}),n}async getAllNestedSymbols(s){const n=[],r=[];return x(this,tt).forEach(a=>{(!s||a.name===s)&&n.push(a),a instanceof Yt&&r.push(a.getAllNestedSymbols(s))}),(await Promise.all(r)).forEach(a=>{n.push(...a)}),n}getAllNestedSymbolsSync(s){const n=[];return x(this,tt).forEach(r=>{(!s||r.name===s)&&n.push(r),r instanceof Yt&&n.push(...r.getAllNestedSymbolsSync(s))}),n}getSymbolsOfType(s){return new Promise(n=>{const r=[];x(this,tt).forEach(h=>{h instanceof s&&r.push(h)}),n(r)})}async getAllSymbols(s,n=!1){const r=[];for(const h of x(this,tt))if(h instanceof s&&r.push(h),this.isNamespace(h)){const a=await h.getAllSymbols(s,!0);r.push(...a)}if(!n&&this.parent){const h=await this.getAllSymbols(s,!0);r.push(...h)}return r}getAllSymbolsSync(s,n=!1){const r=[];for(const h of x(this,tt))if(h instanceof s&&r.push(h),this.isNamespace(h)){const a=h.getAllSymbolsSync(s,!0);r.push(...a)}if(!n&&this.parent){const h=this.getAllSymbolsSync(s,!0);r.push(...h)}return r}async resolve(s,n=!1){return new Promise(r=>{for(const h of x(this,tt))if(h.name===s){r(h);return}if(!n&&this.parent){r(this.parent.resolve(s,!1));return}r(void 0)})}resolveSync(s,n=!1){for(const r of x(this,tt))if(r.name===s)return r;if(!n&&this.parent)return this.parent.resolveSync(s,!1)}symbolFromPath(s,n="."){const r=s.split(n);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let a=this;for(;hc.name===r[h]);if(!o)return;a=o,++h}return a}indexOfChild(s){return x(this,tt).findIndex(n=>n===s)}nextSiblingOf(s){const n=this.indexOfChild(s);if(!(n===-1||n>=x(this,tt).length-1))return x(this,tt)[n+1]}previousSiblingOf(s){const n=this.indexOfChild(s);if(!(n<1))return x(this,tt)[n-1]}nextOf(s){if(!s.parent)return;if(s.parent!==this)return s.parent.nextOf(s);if(s instanceof Yt&&s.children.length>0)return s.children[0];const n=this.nextSiblingOf(s);return n||this.parent.nextOf(this)}isNamespace(s){return s.inline!==void 0&&s.attributes!==void 0}},tt=new WeakMap,le=new WeakMap,nt(Yt,"ScopedSymbol"),Yt);kn=class extends Me{},nt(kn,"BlockSymbol");var K4=(Dn=class extends ye{constructor(s,n){super(s);E(this,"type");this.type=n}},nt(Dn,"TypedSymbol"),Dn),_h=(Un=class extends K4{constructor(s,n,r){super(s,r);E(this,"value");this.value=n}},nt(Un,"VariableSymbol"),Un),A4=(Sn=class extends _h{constructor(){super(...arguments);E(this,"setter");E(this,"getter")}},nt(Sn,"FieldSymbol"),Sn),v7=(yn=class extends _h{},nt(yn,"ParameterSymbol"),yn),q7=(Mn=class extends Me{constructor(s,n){super(s);E(this,"returnType");this.returnType=n}getVariables(s=!0){return this.getSymbolsOfType(_h)}getParameters(s=!0){return this.getSymbolsOfType(v7)}},nt(Mn,"RoutineSymbol"),Mn),m4=(wn=class extends q7{constructor(){super(...arguments);E(this,"methodFlags",0)}},nt(wn,"MethodSymbol"),wn);bn=class extends Me{constructor(s,n,r){super(s);E(this,"isStruct",!1);E(this,"reference",0);E(this,"extends");E(this,"implements");this.extends=n,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(s=!1){return this.getSymbolsOfType(m4)}getFields(s=!1){return this.getSymbolsOfType(A4)}},nt(bn,"ClassSymbol"),Mt=class{constructor(t,s=0,n=0){E(this,"name");E(this,"typeKind");E(this,"referenceKind");this.name=t,this.typeKind=s,this.referenceKind=n}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},nt(Mt,"FundamentalType"),E(Mt,"integerType",new Mt("int",1,3)),E(Mt,"floatType",new Mt("float",2,3)),E(Mt,"stringType",new Mt("string",4,3)),E(Mt,"boolType",new Mt("bool",6,3)),Fn=class extends Me{constructor(s,n){super(s);E(this,"reference",0);E(this,"extends");this.extends=n}get baseTypes(){return this.extends}get kind(){return 8}getMethods(s=!1){return this.getSymbolsOfType(m4)}getFields(s=!1){return this.getSymbolsOfType(A4)}},nt(Fn,"InterfaceSymbol"),Bn=class extends K4{constructor(s,n,r){super(s,r);E(this,"value");this.value=n}},nt(Bn,"LiteralSymbol");var Hi=(Vn=class extends Me{constructor(s,n=!1,r=[]){super(s);E(this,"inline");E(this,"attributes");this.inline=n,this.attributes=r}},nt(Vn,"NamespaceSymbol"),Vn);Yn=class extends ye{constructor(s,n){super(s);E(this,"targetType");this.targetType=n}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},nt(Yn,"TypeAlias");var tl=nt((i,t)=>{if(!i||!t)return[];let s;for(s=0;s=t||o.type===_.EOF)||o.type===_.EOF)break}const h=[],a=s?s.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[a],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const c of this.candidates.rules){let u="";for(const W of c[1].ruleList)u+=this.ruleNames[W]+" ";console.log(this.ruleNames[c[0]]+", path: ",u)}const o=new Set;for(const c of this.candidates.tokens){let u=this.vocabulary.getDisplayName(c[0])??"";for(const W of c[1])u+=" "+this.vocabulary.getDisplayName(W);o.add(u)}console.log(` + +Collected tokens: +`);for(const c of o)console.log(c);console.log(` + +`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let s=t.length-1;s>=0;s--)if(this.translateToRuleIndex(s,t))return!0}else for(let s=0;so);let a=!0;for(const o of this.candidates.rules)if(!(o[0]!==n||o[1].ruleList.length!==h.length)&&h.every((c,u)=>c===o[1].ruleList[u])){a=!1;break}return a&&(this.candidates.rules.set(n,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[n])),!0}return!1}getFollowingTokens(t){const s=[],n=[t.target];for(;n.length>0;){const r=n.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===y.ATOM)if(h.isEpsilon)n.push(h.target);else{const a=h.label.toArray();a.length===1&&!this.ignoredTokens.has(a[0])&&(s.push(a[0]),n.push(h.target))}})}return s}determineFollowSets(t,s){const n=[],r=[],h=[],a=this.collectFollowSets(t,s,n,r,h),o=new Kt;for(const c of n)o.addSet(c.intervals);return{sets:n,isExhaustive:a,combined:o}}collectFollowSets(t,s,n,r,h){if(r.find(o=>o===t))return!0;if(r.push(t),t===s||t.stateType===V.RULE_STOP)return r.pop(),!1;let a=!0;for(const o of t.transitions)if(o.serializationType===y.RULE){const c=o;if(h.indexOf(c.target.ruleIndex)!==-1)continue;h.push(c.target.ruleIndex);const u=this.collectFollowSets(o.target,s,n,r,h);if(h.pop(),!u){const W=this.collectFollowSets(c.followState,s,n,r,h);a&&(a=W)}}else if(o.serializationType===y.PREDICATE){if(this.checkPredicate(o)){const c=this.collectFollowSets(o.target,s,n,r,h);a&&(a=c)}}else if(o.isEpsilon){const c=this.collectFollowSets(o.target,s,n,r,h);a&&(a=c)}else if(o.serializationType===y.WILDCARD){const c=new C4;c.intervals=Kt.of(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),c.path=h.slice(),n.push(c)}else{let c=o.label;if(c&&c.length>0){o.serializationType===y.NOT_SET&&(c=c.complement(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new C4;u.intervals=c??new Kt,u.path=h.slice(),u.following=this.getFollowingTokens(o),n.push(u)}}return r.pop(),a}processRule(t,s,n,r,h){let a=this.shortcutMap.get(t.ruleIndex);if(!a)a=new Map,this.shortcutMap.set(t.ruleIndex,a);else if(a.has(s))return this.showDebugOutput&&console.log("=====> shortcut"),a.get(s);const o=new Set;let c=Pt.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,Pt.followSetsByATN.set(this.parser.constructor.name,c));let u=c.get(t.stateNumber);if(!u){const C=this.atn.ruleToStopState[t.ruleIndex];u=this.determineFollowSets(t,C),c.set(t.stateNumber,u)}const W=this.tokens[s].tokenIndex;if(n.push({startTokenIndex:W,ruleIndex:t.ruleIndex}),s>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(n);else for(const C of u.sets){const L=n.slice(),I=C.path.map(k=>({startTokenIndex:W,ruleIndex:k}));if(L.push(...I),!this.translateStackToRuleIndex(L))for(const k of C.intervals.toArray())this.ignoredTokens.has(k)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(k)),this.candidates.tokens.has(k)?this.candidates.tokens.get(k)!==C.following&&this.candidates.tokens.set(k,[]):this.candidates.tokens.set(k,C.following))}return u.isExhaustive||o.add(s),n.pop(),o}else{const C=this.tokens[s].type;if(u.isExhaustive&&!u.combined.contains(C))return n.pop(),o}t.isPrecedenceRule&&this.precedenceStack.push(r);const d=[];let K;for(d.push({state:t,tokenListIndex:s});d.length>0;){K=d.pop(),++this.statesProcessed;const C=this.tokens[K.tokenListIndex].type,L=K.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,K.state,this.generateBaseDescription(K.state),K.tokenListIndex),this.showRuleStack&&this.printRuleState(n)),K.state.stateType===V.RULE_STOP){o.add(K.tokenListIndex);continue}const I=K.state.transitions;for(const k of I)switch(k.serializationType){case y.RULE:{const U=k,f=this.processRule(k.target,K.tokenListIndex,n,U.precedence,h+1);for(const m of f)d.push({state:k.followState,tokenListIndex:m});break}case y.PREDICATE:{this.checkPredicate(k)&&d.push({state:k.target,tokenListIndex:K.tokenListIndex});break}case y.PRECEDENCE:{k.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&d.push({state:k.target,tokenListIndex:K.tokenListIndex});break}case y.WILDCARD:{if(L){if(!this.translateStackToRuleIndex(n))for(const U of Kt.of(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(U)||this.candidates.tokens.set(U,[])}else d.push({state:k.target,tokenListIndex:K.tokenListIndex+1});break}default:{if(k.isEpsilon){d.push({state:k.target,tokenListIndex:K.tokenListIndex});continue}let U=k.label;if(U&&U.length>0)if(k.serializationType===y.NOT_SET&&(U=U.complement(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),L){if(!this.translateStackToRuleIndex(n)){const f=U.toArray(),m=f.length===1;for(const p of f)if(!this.ignoredTokens.has(p)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(p));const O=m?this.getFollowingTokens(k):[];this.candidates.tokens.has(p)?this.candidates.tokens.set(p,tl(O,this.candidates.tokens.get(p))):this.candidates.tokens.set(p,O)}}}else U.contains(C)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(C)),d.push({state:k.target,tokenListIndex:K.tokenListIndex+1}))}}}return n.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),a.set(s,o),o}generateBaseDescription(t){return`[${t.stateNumber===ee.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${Pt.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,s,n,r){const h=" ".repeat(t);let a=h,o="";if(this.debugOutputWithTransitions)for(const c of s.transitions){let u="";const W=c.label?c.label.toArray():[];if(W.length>2)u=this.vocabulary.getDisplayName(W[0])+" .. "+this.vocabulary.getDisplayName(W[W.length-1]);else for(const d of W)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(d);u.length===0&&(u="ε"),o+=` +${h} (${u}) [${c.target.stateNumber} ${Pt.atnStateTypeMap[c.target.stateType]}] in ${this.ruleNames[c.target.ruleIndex]}`}r>=this.tokens.length-1?a+=`<<${this.tokenStartIndex+r}>> `:a+=`<${this.tokenStartIndex+r}> `,console.log(a+"Current state: "+n+o)}printRuleState(t){if(t.length===0){console.log("");return}for(const s of t)console.log(this.ruleNames[s.ruleIndex])}},nt(Pt,"CodeCompletionCore"),E(Pt,"followSetsByATN",new Map),E(Pt,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),Pt);Xn=class extends Me{constructor(s,n){super(s);E(this,"dependencies",new Set);this.options=n}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...s){s.forEach(n=>{this.dependencies.add(n)})}removeDependency(s){this.dependencies.has(s)&&this.dependencies.delete(s)}addNewSymbolOfType(s,n,...r){const h=new s(...r);return!n||n===this?this.addSymbol(h):n.addSymbol(h),h}async addNewNamespaceFromPath(s,n,r="."){const h=n.split(r);let a=0,o=s===void 0?this:s;for(;aa.getAllSymbols(s,n)))).forEach(a=>{r.push(...a)}),r}getAllSymbolsSync(s,n=!1){const r=super.getAllSymbolsSync(s,n);return n||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(s,n))}),r}async symbolWithContext(s){const n=nt(h=>{if(h.context===s)return h;if(h instanceof Me)for(const a of h.children){const o=n(a);if(o)return o}},"findRecursive");let r=await this.getAllSymbols(ye);for(const h of r){const a=n(h);if(a)return a}for(const h of this.dependencies){r=await h.getAllSymbols(ye);for(const a of r){const o=n(a);if(o)return o}}}symbolWithContextSync(s){const n=nt(h=>{if(h.context===s)return h;if(h instanceof Me)for(const a of h.children){const o=n(a);if(o)return o}},"findRecursive");let r=this.getAllSymbolsSync(ye);for(const h of r){const a=n(h);if(a)return a}for(const h of this.dependencies){r=h.getAllSymbolsSync(ye);for(const a of r){const o=n(a);if(o)return o}}}async resolve(s,n=!1){let r=await super.resolve(s,n);if(!r&&!n){for(const h of this.dependencies)if(r=await h.resolve(s,!1),r)return r}return r}resolveSync(s,n=!1){let r=super.resolveSync(s,n);if(!r&&!n){for(const h of this.dependencies)if(r=h.resolveSync(s,!1),r)return r}return r}},nt(Xn,"SymbolTable");function _4(i,t){var s,n;const{lineNumber:r,column:h}=i;let a=0,o=t.length-1;for(;a<=o;){const c=a+(o-a>>1),u=t[c];if(u.line>r||u.line===r&&u.column+1>=h)o=c-1;else if(u.line{this._parseErrors.push(t)},this.locale="en_US"}createLexer(t,s){const n=Vr.fromString(t),r=this.createLexerFromCharStream(n);return s&&(r.removeErrorListeners(),r.addErrorListener(this.createErrorListener(s))),r}createParser(t,s){const n=this.createLexer(t,s),r=new oi(n),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=Et.SLL,s&&(h.removeErrorListeners(),h.addErrorListener(this.createErrorListener(s))),h}parse(t,s){const n=this.createParser(t,s);return n.buildParseTrees=!0,n.errorHandler=new Lh,n.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=Vr.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new oi(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=Et.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new Lh,this._parser}parseWithCache(t,s){if(this._parsedInput===t&&!s&&this._parseTree)return this._parseTree;this._parseErrors=[];const n=this.createParserWithCache(t);return this._parsedInput=t,n.removeErrorListeners(),n.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=n.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let s=this._tokenStream.getTokens();return s[s.length-1].text===""&&(s=s.slice(0,-1)),s}listen(t,s){U7.DEFAULT.walk(t,s)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const n=this.splitListener;return this.listen(n,this._parseTree),n.statementsContext.map(h=>vi(h,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(t,s){var n,r,h,a,o,c,u,W,d;const K=this.splitListener;if(this.parseWithCache(t),!this._parseTree)return null;let C=this._parser;const L=this.getAllTokens(t);let I=_4(s,L),k=this._parseTree,U=0;if(!I&&I!==0)return null;this.listen(K,this._parseTree);const f=(n=K.statementsContext)===null||n===void 0?void 0:n.length,m=K.statementsContext;if(f>1){let D=null,Y=null;for(let W0=0;W0I&&ml){Y=d0;break}}const ut=(o=(a=D==null?void 0:D.start)===null||a===void 0?void 0:a.start)!==null&&o!==void 0?o:0,z=(u=(c=Y==null?void 0:Y.stop)===null||c===void 0?void 0:c.stop)!==null&&u!==void 0?u:t.length-1;U=(d=(W=D==null?void 0:D.start)===null||W===void 0?void 0:W.tokenIndex)!==null&&d!==void 0?d:0,I=I-U;const b=t.slice(ut,z),Ht=this.createLexer(b);Ht.removeErrorListeners();const g4=new oi(Ht);g4.fill();const $0=this.createParserFromTokenStream(g4);$0.interpreter.predictionMode=Et.SLL,$0.removeErrorListeners(),$0.buildParseTrees=!0,$0.errorHandler=new Lh,C=$0,k=$0.program()}const p=new f4(C);p.preferredRules=this.preferredRules;const O=p.collectCandidates(I,k),M=this.processCandidates(O,L,I,U);return{syntax:M.syntax.map(D=>{const Y=D.wordRanges.map(ut=>L4(ut,this._parsedInput));return{syntaxContextType:D.syntaxContextType,wordRanges:Y}}),keywords:M.keywords}}getAllEntities(t,s){const n=this.getAllTokens(t),r=s?_4(s,n):void 0,h=this.createEntityCollector(t,r),a=this.parseWithCache(t);return this.listen(h,a),h.getEntities()}}var J;(function(i){i.CATALOG="catalog",i.CATALOG_CREATE="catalogCreate",i.DATABASE="database",i.DATABASE_CREATE="databaseCreate",i.TABLE="table",i.TABLE_CREATE="tableCreate",i.VIEW="view",i.VIEW_CREATE="viewCreate",i.FUNCTION="function",i.FUNCTION_CREATE="functionCreate",i.PROCEDURE="procedure",i.PROCEDURE_CREATE="procedureCreate",i.COLUMN="column",i.COLUMN_CREATE="columnCreate"})(J||(J={}));class il{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class rl extends il{exitStatement(t){this._statementsContext.push(t)}}class x4{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var xh=function(i,t){var s={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&t.indexOf(n)<0&&(s[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=hl(t,s,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((n=this._stmtStack.peek())===null||n===void 0?void 0:n.stmtContextType)===mt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,s,n){const r=ol(t,s,this._input,this._stmtStack.peek(),n);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const s=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)s.unshift(this._entityStack.pop());const n=this.combineRootStmtEntities(t,s);for(;n.length;){const r=n.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,s){return t.stmtContextType===mt.CREATE_VIEW_STMT||t.stmtContextType===mt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,s):s}combineCreateTableOrViewStmtEntities(t,s){const n=[],r=[];let h=null;const a=s.reduce((o,c)=>{if(c.belongStmt!==t)return c.entityContextType!==J.COLUMN&&c.entityContextType!==J.COLUMN_CREATE&&(r.push(c),o.push(c)),o;if(c.entityContextType===J.COLUMN_CREATE)n.push(c);else{if(c.entityContextType===J.TABLE_CREATE||c.entityContextType===J.VIEW_CREATE)return h=c,o.push(c),o;c.entityContextType!==J.COLUMN&&(r.push(c),o.push(c))}return o},[]);return h&&n.length&&p4(h)&&(h=Object.assign(h,{columns:n})),h&&r.length&&(p4(h)||al(h))&&(h=Object.assign(h,{relatedEntities:r})),a}}class ul extends cl{exitTableNameCreate(t){this.pushEntity(t,J.TABLE_CREATE,[{attrName:oe.comment,endContextList:[b2.name]}])}exitTableName(t){var s;const n=((s=this.getRootStmt())===null||s===void 0?void 0:s.stmtContextType)===mt.SELECT_STMT;this.pushEntity(t,J.TABLE,n?[{attrName:oe.alias,endContextList:[g1.name,Ni.name]}]:void 0)}exitColumnNameCreate(t){this.pushEntity(t,J.COLUMN_CREATE,[{attrName:oe.comment,endContextList:[Ki.name]},{attrName:oe.colType,endContextList:[C1.name]}])}exitViewNameCreate(t){this.pushEntity(t,J.VIEW_CREATE,[{attrName:oe.comment,endContextList:[e2.name]}])}exitViewName(t){this.pushEntity(t,J.VIEW)}exitDbSchemaNameCreate(t){this.pushEntity(t,J.DATABASE_CREATE,[{attrName:oe.comment,endContextList:[zr.name]}])}exitDbSchemaName(t){this.pushEntity(t,J.DATABASE)}exitFunctionNameCreate(t){this.pushEntity(t,J.FUNCTION_CREATE)}enterStatement(t){this.pushStmt(t,mt.COMMON_STMT)}exitStatement(){this.popStmt()}enterCreateTableStatement(t){this.pushStmt(t,mt.CREATE_TABLE_STMT)}exitCreateTableStatement(){this.popStmt()}enterSelectStatement(t){this.pushStmt(t,mt.SELECT_STMT)}exitSelectStatement(t){this.popStmt()}enterFromSelectStmt(t){this.pushStmt(t,mt.SELECT_STMT)}exitFromSelectStmt(t){this.popStmt()}enterCreateViewStatement(t){this.pushStmt(t,mt.CREATE_VIEW_STMT)}exitCreateViewStatement(t){this.popStmt()}enterCreateMaterializedViewStatement(t){this.pushStmt(t,mt.CREATE_VIEW_STMT)}exitCreateMaterializedViewStatement(t){this.popStmt()}enterInsertStmt(t){this.pushStmt(t,mt.INSERT_STMT)}exitInsertStmt(t){this.popStmt()}enterFromInsertStmt(t){this.pushStmt(t,mt.INSERT_STMT)}exitFromInsertStmt(t){this.popStmt()}enterCreateDatabaseStatement(t){this.pushStmt(t,mt.CREATE_DATABASE_STMT)}exitCreateDatabaseStatement(t){this.popStmt()}enterFunctionNameCreate(t){this.pushStmt(t,mt.CREATE_FUNCTION_STMT)}exitCreateFunctionStatement(t){this.popStmt()}}const ll={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function El(i,t){const s=/{([^}]+)}/g;return i.replace(s,(n,r)=>ll[t][r]||"")}class Rl{constructor(t,s="en_US"){this.locale=s,this._errorListener=t}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(t,s,n,r,h,a){var o;let c="";if(s){let W=s;const d=t,K=W.type===_.EOF;K&&(W=d.tokenStream.get(W.tokenIndex-1));const C=(o=W.text)!==null&&o!==void 0?o:"",I=K&&C!==" "?"":this.getExpectedText(d,W);if(a)a instanceof Ie||a instanceof g?(K?c="{stmtInComplete}":c=`'${C}' {noValidPosition}`,I.length>0&&(c+=`{expecting}${I}`)):c=h;else if(c=h,h.includes("extraneous")&&(c=`'${C}' {noValidPosition}${I.length?`{expecting}${I}`:""}`),h.includes("missing")){const k=/missing\s+'([^']+)'/,U=h.match(k);if(c="{missing}",U){const f=U[1];c+=`'${f}'`}else c+="{keyword}";c+=`{at}'${C}'`}}else if(a instanceof i1){const W=t,d=W.inputStream;let K=W.getErrorDisplay(d.getText(W._tokenStartCharIndex,d.index));switch(K[0]){case"/":c="{unfinishedMultilineComment}";break;case'"':c="{unfinishedDoubleQuoted}";break;case"'":c="{unfinishedSingleQuoted}";break;case"`":c="{unfinishedTickQuoted}";break;default:c='"'+K+'" {noValidInput}';break}}c=El(c,this.locale);let u=r+1;s&&s.text!==null&&(u=r+s.text.length),this._errorListener&&this._errorListener({startLine:n,endLine:n,startColumn:r+1,endColumn:u+1,message:c},{e:a,line:n,msg:h,recognizer:t,offendingSymbol:s,charPositionInLine:r})}}class Tl extends Rl{constructor(t,s,n){super(t,n),this.objectNames=new Map([[e.RULE_dbSchemaName,"database"],[e.RULE_dbSchemaNameCreate,"database"],[e.RULE_tableName,"table"],[e.RULE_tableNameCreate,"table"],[e.RULE_viewName,"view"],[e.RULE_viewNameCreate,"view"],[e.RULE_functionNameForDDL,"function"],[e.RULE_functionNameForInvoke,"function"],[e.RULE_functionNameCreate,"function"],[e.RULE_columnName,"column"],[e.RULE_columnNameCreate,"column"]]),this.preferredRules=s}getExpectedText(t,s){var n;let r="",h=(n=t.context)!==null&&n!==void 0?n:void 0;for(;h!=null&&h.parent;)h=h.parent;const a=new f4(t);a.preferredRules=this.preferredRules;const o=a.collectCandidates(s.tokenIndex,h);if(o.rules.size){const c=[];for(const u of o.rules){const[W]=u,d=this.objectNames.get(W);switch(W){case e.RULE_dbSchemaName:case e.RULE_tableName:case e.RULE_viewName:case e.RULE_functionNameForDDL:case e.RULE_functionNameForInvoke:case e.RULE_columnName:{c.push(`{existing}${d}`);break}case e.RULE_dbSchemaNameCreate:case e.RULE_tableNameCreate:case e.RULE_functionNameCreate:case e.RULE_viewNameCreate:case e.RULE_columnNameCreate:{c.push(`{new}${d}`);break}}}r=c.join("{or}")}return o.tokens.size&&(r+=r?"{orKeyword}":"{keyword}"),r}}class Wl extends nl{constructor(){super(...arguments),this.preferredRules=new Set([e.RULE_dbSchemaName,e.RULE_dbSchemaNameCreate,e.RULE_tableName,e.RULE_tableNameCreate,e.RULE_viewName,e.RULE_viewNameCreate,e.RULE_functionNameForDDL,e.RULE_functionNameForInvoke,e.RULE_functionNameCreate,e.RULE_columnName,e.RULE_columnNameCreate])}createLexerFromCharStream(t){return new l(t)}createParserFromTokenStream(t){return new e(t)}get splitListener(){return new rl}createErrorListener(t){return new Tl(t,this.preferredRules,this.locale)}createEntityCollector(t,s){return new ul(t,s)}processCandidates(t,s,n,r){const h=[],a=[];for(let o of t.rules){const[c,u]=o,W=u.startTokenIndex+r,d=s.slice(W,n+r+1);let K;switch(c){case e.RULE_dbSchemaName:{K=J.DATABASE;break}case e.RULE_dbSchemaNameCreate:{K=J.DATABASE_CREATE;break}case e.RULE_tableName:{K=J.TABLE;break}case e.RULE_tableNameCreate:{K=J.TABLE_CREATE;break}case e.RULE_viewName:{K=J.VIEW;break}case e.RULE_viewNameCreate:{K=J.VIEW_CREATE;break}case e.RULE_functionNameForDDL:case e.RULE_functionNameForInvoke:{K=J.FUNCTION;break}case e.RULE_functionNameCreate:{K=J.FUNCTION_CREATE;break}case e.RULE_columnName:{K=J.COLUMN;break}case e.RULE_columnNameCreate:{K=J.COLUMN_CREATE;break}}K&&h.push({syntaxContextType:K,wordRanges:d})}for(let o of t.tokens){const c=this._parser.vocabulary.getSymbolicName(o[0]),u=this._parser.vocabulary.getDisplayName(o[0]);if(u&&c&&c.startsWith("KW_")){const W=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;a.push(W)}}return{syntax:h,keywords:a}}}var w1=function(i,t,s,n){function r(h){return h instanceof s?h:new s(function(a){a(h)})}return new(s||(s=Promise))(function(h,a){function o(W){try{u(n.next(W))}catch(d){a(d)}}function c(W){try{u(n.throw(W))}catch(d){a(d)}}function u(W){W.done?h(W.value):r(W.value).then(o,c)}u((n=n.apply(i,t||[])).next())})};class dl{constructor(t,s){this.keywords=[]}doValidation(t){return w1(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.validate(t);return Promise.resolve(s)}return Promise.resolve([])})}parserTreeToString(t){return w1(this,void 0,void 0,function*(){if(t){const s=this.parser.createParser(t),r=s.program().toStringTree(s);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,s){return w1(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getSuggestionAtCaretPosition(t,s);return Promise.resolve(n)}return Promise.resolve(null)})}doCompletionWithEntities(t,s){return w1(this,void 0,void 0,function*(){var n;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,s);let h=null;return!((n=r==null?void 0:r.syntax)===null||n===void 0)&&n.length&&(h=this.parser.getAllEntities(t,s)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,s){return w1(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getAllEntities(t,s);return Promise.resolve(n)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class Kl extends dl{constructor(t,s){super(t,s),this._ctx=t,this.parser=new Wl}}self.onmessage=()=>{wa((i,t)=>new Kl(i,t))}})(); diff --git a/assets/hive.worker-f5c7977d.js b/assets/hive.worker-f5c7977d.js deleted file mode 100644 index 811e56b7..00000000 --- a/assets/hive.worker-f5c7977d.js +++ /dev/null @@ -1,22 +0,0 @@ -var Rl=Object.defineProperty;var Tl=(rt,st,ct)=>st in rt?Rl(rt,st,{enumerable:!0,configurable:!0,writable:!0,value:ct}):rt[st]=ct;var E=(rt,st,ct)=>(Tl(rt,typeof st!="symbol"?st+"":st,ct),ct),Ch=(rt,st,ct)=>{if(!st.has(rt))throw TypeError("Cannot "+ct)};var L=(rt,st,ct)=>(Ch(rt,st,"read from private field"),ct?ct.call(rt):st.get(rt)),J=(rt,st,ct)=>{if(st.has(rt))throw TypeError("Cannot add the same private member more than once");st instanceof WeakSet?st.add(rt):st.set(rt,ct)},Q=(rt,st,ct,J0)=>(Ch(rt,st,"write to private field"),J0?J0.call(rt,ct):st.set(rt,ct),ct);var fh=(rt,st,ct)=>(Ch(rt,st,"access private method"),ct);(function(){var D0,S1,y1,Te,i0,U0,M1,Jt,ye,Me,r0,ht,w1,h0,b1,Vt,oe,F1,we,ce,a0,S0,B1,o0,be,V1,Y1,G1,yt,X1,Q1,c0,Z1,y0,M0,w0,j1,Fe,z1,J1,b0,$1,F0,We,P1,mt,H1,v1,q1,$,Rt,it,ts,Be,es,ss,ns,Ve,B0,Ye,is,rs,hs,as,os,cs,us,ls,Es,Rs,Ts,Ws,Ks,ds,As,ms,Cs,fs,_s,u0,V0,Y0,l0,G0,X0,E0,Q0,Ge,Ls,xs,Ct,y,ps,Ns,Os,gs,Is,ks,Ds,Ke,de,Us,Ss,ys,Z0,Ms,ws,R0,bs,_h,Fs,Bs,Vs,Ys,B,Gs,Xs,Qs,Zs,js,zs,Js,$s,Xe,Ps,Hs,vs,qs,tn,en,sn,nn,rn,hn,an,on,cn,un,Pi,ln,En,Rn,Tn,$t,Wn,Kn,dn,Hi,j0,An,kt,mn,Cn,fn,_n,ot,Ln,xn,pn,q,ue,Yt,Nn,On,gn,In,kn,Dn,Un,Sn,Mt,yn,Mn,wn,bn,Fn,Bn,Pt,Vn;"use strict";class rt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` - -`+t.stack):t},0)}}emit(t){this.listeners.forEach(s=>{s(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const st=new rt;function ct(i){L4(i)||st.onUnexpectedError(i)}function J0(i){if(i instanceof Error){let{name:t,message:s}=i;const n=i.stacktrace||i.stack;return{$isError:!0,name:t,message:s,stack:n}}return i}const Lh="Canceled";function L4(i){return i instanceof Error&&i.name===Lh&&i.message===Lh}function x4(i){const t=this;let s=!1,n;return function(){return s||(s=!0,n=i.apply(t,arguments)),n}}var vi;(function(i){function t(C){return C&&typeof C=="object"&&typeof C[Symbol.iterator]=="function"}i.is=t;const s=Object.freeze([]);function n(){return s}i.empty=n;function*r(C){yield C}i.single=r;function h(C){return C||s}i.from=h;function a(C){return!C||C[Symbol.iterator]().next().done===!0}i.isEmpty=a;function o(C){return C[Symbol.iterator]().next().value}i.first=o;function c(C,m){for(const x of C)if(m(x))return!0;return!1}i.some=c;function u(C,m){for(const x of C)if(m(x))return x}i.find=u;function*W(C,m){for(const x of C)m(x)&&(yield x)}i.filter=W;function*K(C,m){let x=0;for(const g of C)yield m(g,x++)}i.map=K;function*d(...C){for(const m of C)for(const x of m)yield x}i.concat=d;function*f(C){for(const m of C)for(const x of m)yield x}i.concatNested=f;function N(C,m,x){let g=x;for(const w of C)g=m(g,w);return g}i.reduce=N;function*I(C,m,x=C.length){for(m<0&&(m+=C.length),x<0?x+=C.length:x>C.length&&(x=C.length);mg===w){const g=C[Symbol.iterator](),w=m[Symbol.iterator]();for(;;){const S=g.next(),D=w.next();if(S.done!==D.done)return!1;if(S.done)return!0;if(!x(S.value,D.value))return!1}}i.equals=M})(vi||(vi={}));function Wl(i){return i}function Kl(i,t){}class p4 extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function xh(i){if(vi.is(i)){let t=[];for(const s of i)if(s)try{s.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new p4(t);return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function N4(...i){return ph(()=>xh(i))}function ph(i){return{dispose:x4(()=>{i()})}}class $0{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{xh(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?$0.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}$0.DISABLE_DISPOSED_WARNING=!1;class Nh{constructor(){this._store=new $0,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Nh.None=Object.freeze({dispose(){}});class P{constructor(t){this.element=t,this.next=P.Undefined,this.prev=P.Undefined}}P.Undefined=new P(void 0);class Oh{constructor(){this._first=P.Undefined,this._last=P.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===P.Undefined}clear(){let t=this._first;for(;t!==P.Undefined;){const s=t.next;t.prev=P.Undefined,t.next=P.Undefined,t=s}this._first=P.Undefined,this._last=P.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,s){const n=new P(t);if(this._first===P.Undefined)this._first=n,this._last=n;else if(s){const h=this._last;this._last=n,n.prev=h,h.next=n}else{const h=this._first;this._first=n,n.next=h,h.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==P.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==P.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==P.Undefined&&t.next!==P.Undefined){const s=t.prev;s.next=t.next,t.next.prev=s}else t.prev===P.Undefined&&t.next===P.Undefined?(this._first=P.Undefined,this._last=P.Undefined):t.next===P.Undefined?(this._last=this._last.prev,this._last.next=P.Undefined):t.prev===P.Undefined&&(this._first=this._first.next,this._first.prev=P.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==P.Undefined;)yield t.element,t=t.next}}var qi;const Yn="en";let tr=!1,er=!1,sr=!1,P0,Gn=Yn,O4,Qe;const Kt=typeof self=="object"?self:typeof global=="object"?global:{};let ft;typeof Kt.vscode<"u"&&typeof Kt.vscode.process<"u"?ft=Kt.vscode.process:typeof process<"u"&&(ft=process);const g4=typeof((qi=ft==null?void 0:ft.versions)===null||qi===void 0?void 0:qi.electron)=="string"&&(ft==null?void 0:ft.type)==="renderer";if(typeof navigator=="object"&&!g4)Qe=navigator.userAgent,tr=Qe.indexOf("Windows")>=0,er=Qe.indexOf("Macintosh")>=0,(Qe.indexOf("Macintosh")>=0||Qe.indexOf("iPad")>=0||Qe.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,sr=Qe.indexOf("Linux")>=0,P0=navigator.language,Gn=P0;else if(typeof ft=="object"){tr=ft.platform==="win32",er=ft.platform==="darwin",sr=ft.platform==="linux",sr&&ft.env.SNAP&&ft.env.SNAP_REVISION,P0=Yn,Gn=Yn;const i=ft.env.VSCODE_NLS_CONFIG;if(i)try{const t=JSON.parse(i),s=t.availableLanguages["*"];P0=t.locale,Gn=s||Yn,O4=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const H0=tr,I4=er,k4=Gn,D4=P0;(()=>{if(typeof Kt.postMessage=="function"&&!Kt.importScripts){let i=[];Kt.addEventListener("message",s=>{if(s.data&&s.data.vscodeScheduleAsyncWork)for(let n=0,r=i.length;n{const n=++t;i.push({id:n,callback:s}),Kt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return i=>setTimeout(i)})();const U4=Kt.performance&&typeof Kt.performance.now=="function";class Xn{constructor(t){this._highResolution=U4&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new Xn(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?Kt.performance.now():Date.now()}}var nr;(function(i){i.None=()=>Nh.None;function t(C){return(m,x=null,g)=>{let w=!1,S;return S=C(D=>{if(!w)return S?S.dispose():w=!0,m.call(x,D)},null,g),w&&S.dispose(),S}}i.once=t;function s(C,m){return c((x,g=null,w)=>C(S=>x.call(g,m(S)),null,w))}i.map=s;function n(C,m){return c((x,g=null,w)=>C(S=>{m(S),x.call(g,S)},null,w))}i.forEach=n;function r(C,m){return c((x,g=null,w)=>C(S=>m(S)&&x.call(g,S),null,w))}i.filter=r;function h(C){return C}i.signal=h;function a(...C){return(m,x=null,g)=>N4(...C.map(w=>w(S=>m.call(x,S),null,g)))}i.any=a;function o(C,m,x){let g=x;return s(C,w=>(g=m(g,w),g))}i.reduce=o;function c(C){let m;const x=new Ae({onFirstListenerAdd(){m=C(x.fire,x)},onLastListenerRemove(){m.dispose()}});return x.event}function u(C,m,x=100,g=!1,w){let S,D,Y,ut=0;const z=new Ae({leakWarningThreshold:w,onFirstListenerAdd(){S=C(b=>{ut++,D=m(D,b),g&&!Y&&(z.fire(D),D=void 0),clearTimeout(Y),Y=setTimeout(()=>{const Ht=D;D=void 0,Y=void 0,(!g||ut>1)&&z.fire(Ht),ut=0},x)})},onLastListenerRemove(){S.dispose()}});return z.event}i.debounce=u;function W(C,m=(x,g)=>x===g){let x=!0,g;return r(C,w=>{const S=x||!m(w,g);return x=!1,g=w,S})}i.latch=W;function K(C,m){return[i.filter(C,m),i.filter(C,x=>!m(x))]}i.split=K;function d(C,m=!1,x=[]){let g=x.slice(),w=C(Y=>{g?g.push(Y):D.fire(Y)});const S=()=>{g&&g.forEach(Y=>D.fire(Y)),g=null},D=new Ae({onFirstListenerAdd(){w||(w=C(Y=>D.fire(Y)))},onFirstListenerDidAdd(){g&&(m?setTimeout(S):S())},onLastListenerRemove(){w&&w.dispose(),w=null}});return D.event}i.buffer=d;class f{constructor(m){this.event=m}map(m){return new f(s(this.event,m))}forEach(m){return new f(n(this.event,m))}filter(m){return new f(r(this.event,m))}reduce(m,x){return new f(o(this.event,m,x))}latch(){return new f(W(this.event))}debounce(m,x=100,g=!1,w){return new f(u(this.event,m,x,g,w))}on(m,x,g){return this.event(m,x,g)}once(m,x,g){return t(this.event)(m,x,g)}}function N(C){return new f(C)}i.chain=N;function I(C,m,x=g=>g){const g=(...Y)=>D.fire(x(...Y)),w=()=>C.on(m,g),S=()=>C.removeListener(m,g),D=new Ae({onFirstListenerAdd:w,onLastListenerRemove:S});return D.event}i.fromNodeEventEmitter=I;function k(C,m,x=g=>g){const g=(...Y)=>D.fire(x(...Y)),w=()=>C.addEventListener(m,g),S=()=>C.removeEventListener(m,g),D=new Ae({onFirstListenerAdd:w,onLastListenerRemove:S});return D.event}i.fromDOMEventEmitter=k;function M(C){return new Promise(m=>t(C)(m))}i.toPromise=M})(nr||(nr={}));class Qn{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${Qn._idPool++}`}start(t){this._stopWatch=new Xn(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Qn._idPool=0;class Ae{constructor(t){var s;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((s=this._options)===null||s===void 0)&&s._profName?new Qn(this._options._profName):void 0}get event(){return this._event||(this._event=(t,s,n)=>{var r;this._listeners||(this._listeners=new Oh);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const a=this._listeners.push(s?[t,s]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,s);const o=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),c=ph(()=>{o&&o(),this._disposed||(a(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return n instanceof $0?n.add(c):Array.isArray(n)&&n.push(c),c}),this._event}fire(t){var s,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new Oh);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((s=this._perfMon)===null||s===void 0||s.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(a){ct(a)}}(n=this._perfMon)===null||n===void 0||n.stop()}}dispose(){var t,s,n,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(s=this._deliveryQueue)===null||s===void 0||s.clear(),(r=(n=this._options)===null||n===void 0?void 0:n.onLastListenerRemove)===null||r===void 0||r.call(n),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function S4(i){let t=[],s=Object.getPrototypeOf(i);for(;Object.prototype!==s;)t=t.concat(Object.getOwnPropertyNames(s)),s=Object.getPrototypeOf(s);return t}function ir(i){const t=[];for(const s of S4(i))typeof i[s]=="function"&&t.push(s);return t}function y4(i,t){const s=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let n={};for(const r of i)n[r]=s(r);return n}function M4(i,t="Unreachable"){throw new Error(t)}function w4(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function b4(i){return i.split(/\r\n|\r|\n/)}function F4(i){for(let t=0,s=i.length;t=0;s--){const n=i.charCodeAt(s);if(n!==32&&n!==9)return s}return-1}function gh(i){return i>=65&&i<=90}function rr(i){return 55296<=i&&i<=56319}function V4(i){return 56320<=i&&i<=57343}function Y4(i,t){return(i-55296<<10)+(t-56320)+65536}function G4(i,t,s){const n=i.charCodeAt(s);if(rr(n)&&s+1{this._pendingReplies[n]={resolve:r,reject:h},this._send(new Q4(this._workerId,n,t,s))})}listen(t,s){let n=null;const r=new Ae({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new Z4(this._workerId,n,t,s))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new z4(this._workerId,n)),n=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let s=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let n=t.err;t.err.$isError&&(n=new Error,n.name=t.err.name,n.message=t.err.message,n.stack=t.err.stack),s.reject(n);return}s.resolve(t.res)}_handleRequestMessage(t){let s=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new Ih(this._workerId,s,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=J0(r.detail)),this._send(new Ih(this._workerId,s,void 0,J0(r)))})}_handleSubscribeEventMessage(t){const s=t.req,n=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new j4(this._workerId,s,r))});this._pendingEvents.set(s,n)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let s=[];if(t.type===0)for(let n=0;nfunction(){const o=Array.prototype.slice.call(arguments,0);return t(a,o)},r=a=>function(o){return s(a,o)};let h={};for(const a of i){if(Dh(a)){h[a]=r(a);continue}if(kh(a)){h[a]=s(a,void 0);continue}h[a]=n(a)}return h}class P4{constructor(t,s){this._requestHandlerFactory=s,this._requestHandler=null,this._protocol=new J4({sendMessage:(n,r)=>{t(n,r)},handleMessage:(n,r)=>this._handleMessage(n,r),handleEvent:(n,r)=>this._handleEvent(n,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,s){if(t===X4)return this.initialize(s[0],s[1],s[2],s[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,s))}catch(n){return Promise.reject(n)}}_handleEvent(t,s){if(!this._requestHandler)throw new Error("Missing requestHandler");if(Dh(t)){const n=this._requestHandler[t].call(this._requestHandler,s);if(typeof n!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return n}if(kh(t)){const n=this._requestHandler[t];if(typeof n!="function")throw new Error(`Missing event ${t} on request handler.`);return n}throw new Error(`Malformed event name ${t}`)}initialize(t,s,n,r){this._protocol.setWorkerId(t);const o=$4(r,(c,u)=>this._protocol.sendMessage(c,u),(c,u)=>this._protocol.listen(c,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(o),Promise.resolve(ir(this._requestHandler))):(s&&(typeof s.baseUrl<"u"&&delete s.baseUrl,typeof s.paths<"u"&&typeof s.paths.vs<"u"&&delete s.paths.vs,typeof s.trustedTypesPolicy!==void 0&&delete s.trustedTypesPolicy,s.catchError=!0,Kt.require.config(s)),new Promise((c,u)=>{const W=Kt.require;W([n],K=>{if(this._requestHandler=K.create(o),!this._requestHandler){u(new Error("No RequestHandler!"));return}c(ir(this._requestHandler))},u)}))}}class me{constructor(t,s,n,r){this.originalStart=t,this.originalLength=s,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Uh(i,t){return(t<<5)-t+i|0}function H4(i,t){t=Uh(149417,t);for(let s=0,n=i.length;s0||this.m_modifiedCount>0)&&this.m_changes.push(new me(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,s){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,s),this.m_originalCount++}AddModifiedElement(t,s){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,s),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Ce{constructor(t,s,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=t,this._modifiedSequence=s;const[r,h,a]=Ce._getElements(t),[o,c,u]=Ce._getElements(s);this._hasStrings=a&&u,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=o,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const s=t.getElements();if(Ce._isStringArray(s)){const n=new Int32Array(s.length);for(let r=0,h=s.length;r=t&&r>=n&&this.ElementsAreEqual(s,r);)s--,r--;if(t>s||n>r){let K;return n<=r?(K0.Assert(t===s+1,"originalStart should only be one more than originalEnd"),K=[new me(t,0,n,r-n+1)]):t<=s?(K0.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),K=[new me(t,s-t+1,n,0)]):(K0.Assert(t===s+1,"originalStart should only be one more than originalEnd"),K0.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),K=[]),K}const a=[0],o=[0],c=this.ComputeRecursionPoint(t,s,n,r,a,o,h),u=a[0],W=o[0];if(c!==null)return c;if(!h[0]){const K=this.ComputeDiffRecursive(t,u,n,W,h);let d=[];return h[0]?d=[new me(u+1,s-(u+1)+1,W+1,r-(W+1)+1)]:d=this.ComputeDiffRecursive(u+1,s,W+1,r,h),this.ConcatenateChanges(K,d)}return[new me(t,s-t+1,n,r-n+1)]}WALKTRACE(t,s,n,r,h,a,o,c,u,W,K,d,f,N,I,k,M,C){let m=null,x=null,g=new yh,w=s,S=n,D=f[0]-k[0]-r,Y=-1073741824,ut=this.m_forwardHistory.length-1;do{const z=D+t;z===w||z=0&&(u=this.m_forwardHistory[ut],t=u[0],w=1,S=u.length-1)}while(--ut>=-1);if(m=g.getReverseChanges(),C[0]){let z=f[0]+1,b=k[0]+1;if(m!==null&&m.length>0){const Ht=m[m.length-1];z=Math.max(z,Ht.getOriginalEnd()),b=Math.max(b,Ht.getModifiedEnd())}x=[new me(z,d-z+1,b,I-b+1)]}else{g=new yh,w=a,S=o,D=f[0]-k[0]-c,Y=1073741824,ut=M?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const z=D+h;z===w||z=W[z+1]?(K=W[z+1]-1,N=K-D-c,K>Y&&g.MarkNextChange(),Y=K+1,g.AddOriginalElement(K+1,N+1),D=z+1-h):(K=W[z-1],N=K-D-c,K>Y&&g.MarkNextChange(),Y=K,g.AddModifiedElement(K+1,N+1),D=z-1-h),ut>=0&&(W=this.m_reverseHistory[ut],h=W[0],w=1,S=W.length-1)}while(--ut>=-1);x=g.getChanges()}return this.ConcatenateChanges(m,x)}ComputeRecursionPoint(t,s,n,r,h,a,o){let c=0,u=0,W=0,K=0,d=0,f=0;t--,n--,h[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const N=s-t+(r-n),I=N+1,k=new Int32Array(I),M=new Int32Array(I),C=r-n,m=s-t,x=t-n,g=s-r,S=(m-C)%2===0;k[C]=t,M[m]=s,o[0]=!1;for(let D=1;D<=N/2+1;D++){let Y=0,ut=0;W=this.ClipDiagonalBound(C-D,D,C,I),K=this.ClipDiagonalBound(C+D,D,C,I);for(let b=W;b<=K;b+=2){b===W||bY+ut&&(Y=c,ut=u),!S&&Math.abs(b-m)<=D-1&&c>=M[b])return h[0]=c,a[0]=u,Ht<=M[b]&&1447>0&&D<=1447+1?this.WALKTRACE(C,W,K,x,m,d,f,g,k,M,c,s,h,u,r,a,S,o):null}const z=(Y-t+(ut-n)-D)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(Y,z))return o[0]=!0,h[0]=Y,a[0]=ut,z>0&&1447>0&&D<=1447+1?this.WALKTRACE(C,W,K,x,m,d,f,g,k,M,c,s,h,u,r,a,S,o):(t++,n++,[new me(t,s-t+1,n,r-n+1)]);d=this.ClipDiagonalBound(m-D,D,m,I),f=this.ClipDiagonalBound(m+D,D,m,I);for(let b=d;b<=f;b+=2){b===d||b=M[b+1]?c=M[b+1]-1:c=M[b-1],u=c-(b-m)-g;const Ht=c;for(;c>t&&u>n&&this.ElementsAreEqual(c,u);)c--,u--;if(M[b]=c,S&&Math.abs(b-C)<=D&&c<=k[b])return h[0]=c,a[0]=u,Ht>=k[b]&&1447>0&&D<=1447+1?this.WALKTRACE(C,W,K,x,m,d,f,g,k,M,c,s,h,u,r,a,S,o):null}if(D<=1447){let b=new Int32Array(K-W+2);b[0]=C-W+1,d0.Copy2(k,W,b,1,K-W+1),this.m_forwardHistory.push(b),b=new Int32Array(f-d+2),b[0]=m-d+1,d0.Copy2(M,d,b,1,f-d+1),this.m_reverseHistory.push(b)}}return this.WALKTRACE(C,W,K,x,m,d,f,g,k,M,c,s,h,u,r,a,S,o)}PrettifyChanges(t){for(let s=0;s0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;s--){const n=t[s];let r=0,h=0;if(s>0){const K=t[s-1];r=K.originalStart+K.originalLength,h=K.modifiedStart+K.modifiedLength}const a=n.originalLength>0,o=n.modifiedLength>0;let c=0,u=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let K=1;;K++){const d=n.originalStart-K,f=n.modifiedStart-K;if(du&&(u=I,c=K)}n.originalStart-=c,n.modifiedStart-=c;const W=[null];if(s>0&&this.ChangesOverlap(t[s-1],t[s],W)){t[s-1]=W[0],t.splice(s,1),s++;continue}}if(this._hasStrings)for(let s=1,n=t.length;s0&&f>c&&(c=f,u=K,W=d)}return c>0?[u,W]:null}_contiguousSequenceScore(t,s,n){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,s){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(s>0){const n=t+s;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,s){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(s>0){const n=t+s;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(t,s,n,r){const h=this._OriginalRegionIsBoundary(t,s)?1:0,a=this._ModifiedRegionIsBoundary(n,r)?1:0;return h+a}ConcatenateChanges(t,s){let n=[];if(t.length===0||s.length===0)return s.length>0?s:t;if(this.ChangesOverlap(t[t.length-1],s[0],n)){const r=new Array(t.length+s.length-1);return d0.Copy(t,0,r,0,t.length-1),r[t.length-1]=n[0],d0.Copy(s,1,r,t.length,s.length-1),r}else{const r=new Array(t.length+s.length);return d0.Copy(t,0,r,0,t.length),d0.Copy(s,0,r,t.length,s.length),r}}ChangesOverlap(t,s,n){if(K0.Assert(t.originalStart<=s.originalStart,"Left change is not less than or equal to right change"),K0.Assert(t.modifiedStart<=s.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=s.originalStart||t.modifiedStart+t.modifiedLength>=s.modifiedStart){const r=t.originalStart;let h=t.originalLength;const a=t.modifiedStart;let o=t.modifiedLength;return t.originalStart+t.originalLength>=s.originalStart&&(h=s.originalStart+s.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=s.modifiedStart&&(o=s.modifiedStart+s.modifiedLength-t.modifiedStart),n[0]=new me(r,h,a,o),!0}else return n[0]=null,!1}ClipDiagonalBound(t,s,n,r){if(t>=0&&t=tu&&i<=su||i>=eu&&i<=nu}function Zn(i,t,s,n){let r="",h=0,a=-1,o=0,c=0;for(let u=0;u<=i.length;++u){if(u2){const W=r.lastIndexOf(s);W===-1?(r="",h=0):(r=r.slice(0,W),h=r.length-1-r.lastIndexOf(s)),a=u,o=0;continue}else if(r.length!==0){r="",h=0,a=u,o=0;continue}}t&&(r+=r.length>0?`${s}..`:"..",h=2)}else r.length>0?r+=`${s}${i.slice(a+1,u)}`:r=i.slice(a+1,u),h=u-a-1;a=u,o=0}else c===fe&&o!==-1?++o:o=-1}return r}function wh(i,t){if(t===null||typeof t!="object")throw new Mh("pathObject","Object",t);const s=t.dir||t.root,n=t.base||`${t.name||""}${t.ext||""}`;return s?s===t.root?`${s}${n}`:`${s}${i}${n}`:n}const _t={resolve(...i){let t="",s="",n=!1;for(let r=i.length-1;r>=-1;r--){let h;if(r>=0){if(h=i[r],at(h,"path"),h.length===0)continue}else t.length===0?h=hr():(h=q4[`=${t}`]||hr(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===Ot)&&(h=`${t}\\`));const a=h.length;let o=0,c="",u=!1;const W=h.charCodeAt(0);if(a===1)F(W)&&(o=1,u=!0);else if(F(W))if(u=!0,F(h.charCodeAt(1))){let K=2,d=K;for(;K2&&F(h.charCodeAt(2))&&(u=!0,o=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(n){if(t.length>0)break}else if(s=`${h.slice(o)}\\${s}`,n=u,u&&t.length>0)break}return s=Zn(s,!n,"\\",F),n?`${t}\\${s}`:`${t}${s}`||"."},normalize(i){at(i,"path");const t=i.length;if(t===0)return".";let s=0,n,r=!1;const h=i.charCodeAt(0);if(t===1)return ar(h)?"\\":i;if(F(h))if(r=!0,F(i.charCodeAt(1))){let o=2,c=o;for(;o2&&F(i.charCodeAt(2))&&(r=!0,s=3));let a=s0&&F(i.charCodeAt(t-1))&&(a+="\\"),n===void 0?r?`\\${a}`:a:r?`${n}\\${a}`:`${n}${a}`},isAbsolute(i){at(i,"path");const t=i.length;if(t===0)return!1;const s=i.charCodeAt(0);return F(s)||t>2&&Le(s)&&i.charCodeAt(1)===_e&&F(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let t,s;for(let h=0;h0&&(t===void 0?t=s=a:t+=`\\${a}`)}if(t===void 0)return".";let n=!0,r=0;if(typeof s=="string"&&F(s.charCodeAt(0))){++r;const h=s.length;h>1&&F(s.charCodeAt(1))&&(++r,h>2&&(F(s.charCodeAt(2))?++r:n=!1))}if(n){for(;r=2&&(t=`\\${t.slice(r)}`)}return _t.normalize(t)},relative(i,t){if(at(i,"from"),at(t,"to"),i===t)return"";const s=_t.resolve(i),n=_t.resolve(t);if(s===n||(i=s.toLowerCase(),t=n.toLowerCase(),i===t))return"";let r=0;for(;rr&&i.charCodeAt(h-1)===Ot;)h--;const a=h-r;let o=0;for(;oo&&t.charCodeAt(c-1)===Ot;)c--;const u=c-o,W=aW){if(t.charCodeAt(o+d)===Ot)return n.slice(o+d+1);if(d===2)return n.slice(o+d)}a>W&&(i.charCodeAt(r+d)===Ot?K=d:d===2&&(K=3)),K===-1&&(K=0)}let f="";for(d=r+K+1;d<=h;++d)(d===h||i.charCodeAt(d)===Ot)&&(f+=f.length===0?"..":"\\..");return o+=K,f.length>0?`${f}${n.slice(o,c)}`:(n.charCodeAt(o)===Ot&&++o,n.slice(o,c))},toNamespacedPath(i){if(typeof i!="string")return i;if(i.length===0)return"";const t=_t.resolve(i);if(t.length<=2)return i;if(t.charCodeAt(0)===Ot){if(t.charCodeAt(1)===Ot){const s=t.charCodeAt(2);if(s!==iu&&s!==fe)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Le(t.charCodeAt(0))&&t.charCodeAt(1)===_e&&t.charCodeAt(2)===Ot)return`\\\\?\\${t}`;return i},dirname(i){at(i,"path");const t=i.length;if(t===0)return".";let s=-1,n=0;const r=i.charCodeAt(0);if(t===1)return F(r)?i:".";if(F(r)){if(s=n=1,F(i.charCodeAt(1))){let o=2,c=o;for(;o2&&F(i.charCodeAt(2))?3:2,n=s);let h=-1,a=!0;for(let o=t-1;o>=n;--o)if(F(i.charCodeAt(o))){if(!a){h=o;break}}else a=!1;if(h===-1){if(s===-1)return".";h=s}return i.slice(0,h)},basename(i,t){t!==void 0&&at(t,"ext"),at(i,"path");let s=0,n=-1,r=!0,h;if(i.length>=2&&Le(i.charCodeAt(0))&&i.charCodeAt(1)===_e&&(s=2),t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let a=t.length-1,o=-1;for(h=i.length-1;h>=s;--h){const c=i.charCodeAt(h);if(F(c)){if(!r){s=h+1;break}}else o===-1&&(r=!1,o=h+1),a>=0&&(c===t.charCodeAt(a)?--a===-1&&(n=h):(a=-1,n=o))}return s===n?n=o:n===-1&&(n=i.length),i.slice(s,n)}for(h=i.length-1;h>=s;--h)if(F(i.charCodeAt(h))){if(!r){s=h+1;break}}else n===-1&&(r=!1,n=h+1);return n===-1?"":i.slice(s,n)},extname(i){at(i,"path");let t=0,s=-1,n=0,r=-1,h=!0,a=0;i.length>=2&&i.charCodeAt(1)===_e&&Le(i.charCodeAt(0))&&(t=n=2);for(let o=i.length-1;o>=t;--o){const c=i.charCodeAt(o);if(F(c)){if(!h){n=o+1;break}continue}r===-1&&(h=!1,r=o+1),c===fe?s===-1?s=o:a!==1&&(a=1):s!==-1&&(a=-1)}return s===-1||r===-1||a===0||a===1&&s===r-1&&s===n+1?"":i.slice(s,r)},format:wh.bind(null,"\\"),parse(i){at(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const s=i.length;let n=0,r=i.charCodeAt(0);if(s===1)return F(r)?(t.root=t.dir=i,t):(t.base=t.name=i,t);if(F(r)){if(n=1,F(i.charCodeAt(1))){let K=2,d=K;for(;K0&&(t.root=i.slice(0,n));let h=-1,a=n,o=-1,c=!0,u=i.length-1,W=0;for(;u>=n;--u){if(r=i.charCodeAt(u),F(r)){if(!c){a=u+1;break}continue}o===-1&&(c=!1,o=u+1),r===fe?h===-1?h=u:W!==1&&(W=1):h!==-1&&(W=-1)}return o!==-1&&(h===-1||W===0||W===1&&h===o-1&&h===a+1?t.base=t.name=i.slice(a,o):(t.name=i.slice(a,h),t.base=i.slice(a,o),t.ext=i.slice(h,o))),a>0&&a!==n?t.dir=i.slice(0,a-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},gt={resolve(...i){let t="",s=!1;for(let n=i.length-1;n>=-1&&!s;n--){const r=n>=0?i[n]:hr();at(r,"path"),r.length!==0&&(t=`${r}/${t}`,s=r.charCodeAt(0)===Tt)}return t=Zn(t,!s,"/",ar),s?`/${t}`:t.length>0?t:"."},normalize(i){if(at(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===Tt,s=i.charCodeAt(i.length-1)===Tt;return i=Zn(i,!t,"/",ar),i.length===0?t?"/":s?"./":".":(s&&(i+="/"),t?`/${i}`:i)},isAbsolute(i){return at(i,"path"),i.length>0&&i.charCodeAt(0)===Tt},join(...i){if(i.length===0)return".";let t;for(let s=0;s0&&(t===void 0?t=n:t+=`/${n}`)}return t===void 0?".":gt.normalize(t)},relative(i,t){if(at(i,"from"),at(t,"to"),i===t||(i=gt.resolve(i),t=gt.resolve(t),i===t))return"";const s=1,n=i.length,r=n-s,h=1,a=t.length-h,o=ro){if(t.charCodeAt(h+u)===Tt)return t.slice(h+u+1);if(u===0)return t.slice(h+u)}else r>o&&(i.charCodeAt(s+u)===Tt?c=u:u===0&&(c=0));let W="";for(u=s+c+1;u<=n;++u)(u===n||i.charCodeAt(u)===Tt)&&(W+=W.length===0?"..":"/..");return`${W}${t.slice(h+c)}`},toNamespacedPath(i){return i},dirname(i){if(at(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===Tt;let s=-1,n=!0;for(let r=i.length-1;r>=1;--r)if(i.charCodeAt(r)===Tt){if(!n){s=r;break}}else n=!1;return s===-1?t?"/":".":t&&s===1?"//":i.slice(0,s)},basename(i,t){t!==void 0&&at(t,"ext"),at(i,"path");let s=0,n=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let a=t.length-1,o=-1;for(h=i.length-1;h>=0;--h){const c=i.charCodeAt(h);if(c===Tt){if(!r){s=h+1;break}}else o===-1&&(r=!1,o=h+1),a>=0&&(c===t.charCodeAt(a)?--a===-1&&(n=h):(a=-1,n=o))}return s===n?n=o:n===-1&&(n=i.length),i.slice(s,n)}for(h=i.length-1;h>=0;--h)if(i.charCodeAt(h)===Tt){if(!r){s=h+1;break}}else n===-1&&(r=!1,n=h+1);return n===-1?"":i.slice(s,n)},extname(i){at(i,"path");let t=-1,s=0,n=-1,r=!0,h=0;for(let a=i.length-1;a>=0;--a){const o=i.charCodeAt(a);if(o===Tt){if(!r){s=a+1;break}continue}n===-1&&(r=!1,n=a+1),o===fe?t===-1?t=a:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||n===-1||h===0||h===1&&t===n-1&&t===s+1?"":i.slice(t,n)},format:wh.bind(null,"/"),parse(i){at(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const s=i.charCodeAt(0)===Tt;let n;s?(t.root="/",n=1):n=0;let r=-1,h=0,a=-1,o=!0,c=i.length-1,u=0;for(;c>=n;--c){const W=i.charCodeAt(c);if(W===Tt){if(!o){h=c+1;break}continue}a===-1&&(o=!1,a=c+1),W===fe?r===-1?r=c:u!==1&&(u=1):r!==-1&&(u=-1)}if(a!==-1){const W=h===0&&s?1:h;r===-1||u===0||u===1&&r===a-1&&r===h+1?t.base=t.name=i.slice(W,a):(t.name=i.slice(W,r),t.base=i.slice(W,a),t.ext=i.slice(r,a))}return h>0?t.dir=i.slice(0,h-1):s&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};gt.win32=_t.win32=_t,gt.posix=_t.posix=gt,je==="win32"?_t.normalize:gt.normalize,je==="win32"?_t.resolve:gt.resolve,je==="win32"?_t.relative:gt.relative,je==="win32"?_t.dirname:gt.dirname,je==="win32"?_t.basename:gt.basename,je==="win32"?_t.extname:gt.extname,je==="win32"?_t.sep:gt.sep;const ru=/^\w[\w\d+.-]*$/,hu=/^\//,au=/^\/\//;function bh(i,t){if(!i.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!ru.test(i.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(i.path){if(i.authority){if(!hu.test(i.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(au.test(i.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function ou(i,t){return!i&&!t?"file":i}function cu(i,t){switch(i){case"https":case"http":case"file":t?t[0]!==Xt&&(t=Xt+t):t=Xt;break}return t}const H="",Xt="/",uu=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ze{constructor(t,s,n,r,h,a=!1){typeof t=="object"?(this.scheme=t.scheme||H,this.authority=t.authority||H,this.path=t.path||H,this.query=t.query||H,this.fragment=t.fragment||H):(this.scheme=ou(t,a),this.authority=s||H,this.path=cu(this.scheme,n||H),this.query=r||H,this.fragment=h||H,bh(this,a))}static isUri(t){return t instanceof ze?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return or(this,!1)}with(t){if(!t)return this;let{scheme:s,authority:n,path:r,query:h,fragment:a}=t;return s===void 0?s=this.scheme:s===null&&(s=H),n===void 0?n=this.authority:n===null&&(n=H),r===void 0?r=this.path:r===null&&(r=H),h===void 0?h=this.query:h===null&&(h=H),a===void 0?a=this.fragment:a===null&&(a=H),s===this.scheme&&n===this.authority&&r===this.path&&h===this.query&&a===this.fragment?this:new m0(s,n,r,h,a)}static parse(t,s=!1){const n=uu.exec(t);return n?new m0(n[2]||H,jn(n[4]||H),jn(n[5]||H),jn(n[7]||H),jn(n[9]||H),s):new m0(H,H,H,H,H)}static file(t){let s=H;if(H0&&(t=t.replace(/\\/g,Xt)),t[0]===Xt&&t[1]===Xt){const n=t.indexOf(Xt,2);n===-1?(s=t.substring(2),t=Xt):(s=t.substring(2,n),t=t.substring(n)||Xt)}return new m0("file",s,t,H,H)}static from(t){const s=new m0(t.scheme,t.authority,t.path,t.query,t.fragment);return bh(s,!0),s}static joinPath(t,...s){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return H0&&t.scheme==="file"?n=ze.file(_t.join(or(t,!0),...s)).path:n=gt.join(t.path,...s),t.with({path:n})}toString(t=!1){return cr(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof ze)return t;{const s=new m0(t);return s._formatted=t.external,s._fsPath=t._sep===Fh?t.fsPath:null,s}}else return t}}const Fh=H0?1:void 0;class m0 extends ze{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=or(this,!1)),this._fsPath}toString(t=!1){return t?cr(this,!0):(this._formatted||(this._formatted=cr(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Fh),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const Bh={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Vh(i,t){let s,n=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)n!==-1&&(s+=encodeURIComponent(i.substring(n,r)),n=-1),s!==void 0&&(s+=i.charAt(r));else{s===void 0&&(s=i.substr(0,r));const a=Bh[h];a!==void 0?(n!==-1&&(s+=encodeURIComponent(i.substring(n,r)),n=-1),s+=a):n===-1&&(n=r)}}return n!==-1&&(s+=encodeURIComponent(i.substring(n))),s!==void 0?s:i}function lu(i){let t;for(let s=0;s1&&i.scheme==="file"?s=`//${i.authority}${i.path}`:i.path.charCodeAt(0)===47&&(i.path.charCodeAt(1)>=65&&i.path.charCodeAt(1)<=90||i.path.charCodeAt(1)>=97&&i.path.charCodeAt(1)<=122)&&i.path.charCodeAt(2)===58?t?s=i.path.substr(1):s=i.path[1].toLowerCase()+i.path.substr(2):s=i.path,H0&&(s=s.replace(/\//g,"\\")),s}function cr(i,t){const s=t?lu:Vh;let n="",{scheme:r,authority:h,path:a,query:o,fragment:c}=i;if(r&&(n+=r,n+=":"),(h||r==="file")&&(n+=Xt,n+=Xt),h){let u=h.indexOf("@");if(u!==-1){const W=h.substr(0,u);h=h.substr(u+1),u=W.indexOf(":"),u===-1?n+=s(W,!1):(n+=s(W.substr(0,u),!1),n+=":",n+=s(W.substr(u+1),!1)),n+="@"}h=h.toLowerCase(),u=h.indexOf(":"),u===-1?n+=s(h,!1):(n+=s(h.substr(0,u),!1),n+=h.substr(u))}if(a){if(a.length>=3&&a.charCodeAt(0)===47&&a.charCodeAt(2)===58){const u=a.charCodeAt(1);u>=65&&u<=90&&(a=`/${String.fromCharCode(u+32)}:${a.substr(3)}`)}else if(a.length>=2&&a.charCodeAt(1)===58){const u=a.charCodeAt(0);u>=65&&u<=90&&(a=`${String.fromCharCode(u+32)}:${a.substr(2)}`)}n+=s(a,!0)}return o&&(n+="?",n+=s(o,!1)),c&&(n+="#",n+=t?c:Vh(c,!1)),n}function Yh(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+Yh(i.substr(3)):i}}const Gh=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function jn(i){return i.match(Gh)?i.replace(Gh,t=>Yh(t)):i}class It{constructor(t,s){this.lineNumber=t,this.column=s}with(t=this.lineNumber,s=this.column){return t===this.lineNumber&&s===this.column?this:new It(t,s)}delta(t=0,s=0){return this.with(this.lineNumber+t,this.column+s)}equals(t){return It.equals(this,t)}static equals(t,s){return!t&&!s?!0:!!t&&!!s&&t.lineNumber===s.lineNumber&&t.column===s.column}isBefore(t){return It.isBefore(this,t)}static isBefore(t,s){return t.lineNumbern||t===n&&s>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=t,this.endColumn=s):(this.startLineNumber=t,this.startColumn=s,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return et.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return et.containsPosition(this,t)}static containsPosition(t,s){return!(s.lineNumbert.endLineNumber||s.lineNumber===t.startLineNumber&&s.columnt.endColumn)}static strictContainsPosition(t,s){return!(s.lineNumbert.endLineNumber||s.lineNumber===t.startLineNumber&&s.column<=t.startColumn||s.lineNumber===t.endLineNumber&&s.column>=t.endColumn)}containsRange(t){return et.containsRange(this,t)}static containsRange(t,s){return!(s.startLineNumbert.endLineNumber||s.endLineNumber>t.endLineNumber||s.startLineNumber===t.startLineNumber&&s.startColumnt.endColumn)}strictContainsRange(t){return et.strictContainsRange(this,t)}static strictContainsRange(t,s){return!(s.startLineNumbert.endLineNumber||s.endLineNumber>t.endLineNumber||s.startLineNumber===t.startLineNumber&&s.startColumn<=t.startColumn||s.endLineNumber===t.endLineNumber&&s.endColumn>=t.endColumn)}plusRange(t){return et.plusRange(this,t)}static plusRange(t,s){let n,r,h,a;return s.startLineNumbert.endLineNumber?(h=s.endLineNumber,a=s.endColumn):s.endLineNumber===t.endLineNumber?(h=s.endLineNumber,a=Math.max(s.endColumn,t.endColumn)):(h=t.endLineNumber,a=t.endColumn),new et(n,r,h,a)}intersectRanges(t){return et.intersectRanges(this,t)}static intersectRanges(t,s){let n=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,a=t.endColumn,o=s.startLineNumber,c=s.startColumn,u=s.endLineNumber,W=s.endColumn;return nu?(h=u,a=W):h===u&&(a=Math.min(a,W)),n>h||n===h&&r>a?null:new et(n,r,h,a)}equalsRange(t){return et.equalsRange(this,t)}static equalsRange(t,s){return!!t&&!!s&&t.startLineNumber===s.startLineNumber&&t.startColumn===s.startColumn&&t.endLineNumber===s.endLineNumber&&t.endColumn===s.endColumn}getEndPosition(){return et.getEndPosition(this)}static getEndPosition(t){return new It(t.endLineNumber,t.endColumn)}getStartPosition(){return et.getStartPosition(this)}static getStartPosition(t){return new It(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,s){return new et(this.startLineNumber,this.startColumn,t,s)}setStartPosition(t,s){return new et(t,s,this.endLineNumber,this.endColumn)}collapseToStart(){return et.collapseToStart(this)}static collapseToStart(t){return new et(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,s=t){return new et(t.lineNumber,t.column,s.lineNumber,s.column)}static lift(t){return t?new et(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,s){return!(t.endLineNumbert.startLineNumber}}const Eu=3;function Xh(i,t,s,n){return new Ce(i,t,s).ComputeDiff(n)}class Qh{constructor(t){const s=[],n=[];for(let r=0,h=t.length;r0&&s.originalLength<20&&s.modifiedLength>0&&s.modifiedLength<20&&h()){const f=n.createCharSequence(t,s.originalStart,s.originalStart+s.originalLength-1),N=r.createCharSequence(t,s.modifiedStart,s.modifiedStart+s.modifiedLength-1);let I=Xh(f,N,h,!0).changes;o&&(I=Tu(I)),d=[];for(let k=0,M=I.length;k1&&I>1;){const k=d.charCodeAt(N-2),M=f.charCodeAt(I-2);if(k!==M)break;N--,I--}(N>1||I>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,N,a+1,1,I)}{let N=lr(d,1),I=lr(f,1);const k=d.length+1,M=f.length+1;for(;N!0;const t=Date.now();return()=>Date.now()-t255?255:i|0}function C0(i){return i<0?0:i>4294967295?4294967295:i|0}class Ku{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,s){t=C0(t);const n=this.values,r=this.prefixSum,h=s.length;return h===0?!1:(this.values=new Uint32Array(n.length+h),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t),t+h),this.values.set(s,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,s){return t=C0(t),s=C0(s),this.values[t]===s?!1:(this.values[t]=s,t-1=n.length)return!1;let h=n.length-t;return s>=h&&(s=h),s===0?!1:(this.values=new Uint32Array(n.length-s),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t+s),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=C0(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let s=this.prefixSumValidIndex[0]+1;s===0&&(this.prefixSum[0]=this.values[0],s++),t>=this.values.length&&(t=this.values.length-1);for(let n=s;n<=t;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let s=0,n=this.values.length-1,r=0,h=0,a=0;for(;s<=n;)if(r=s+(n-s)/2|0,h=this.prefixSum[r],a=h-this.values[r],t=h)s=r+1;else break;return new du(r,t-a)}}class du{constructor(t,s){this.index=t,this.remainder=s,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=s}}class Au{constructor(t,s,n,r){this._uri=t,this._lines=s,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const s=t.changes;for(const n of s)this._acceptDeleteRange(n.range),this._acceptInsertText(new It(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,s=this._lines.length,n=new Uint32Array(s);for(let r=0;r/?";function Cu(i=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const s of mu)i.indexOf(s)>=0||(t+="\\"+s);return t+="\\s]+)",new RegExp(t,"g")}const fu=Cu();function _u(i){let t=fu;if(i&&i instanceof RegExp)if(i.global)t=i;else{let s="g";i.ignoreCase&&(s+="i"),i.multiline&&(s+="m"),i.unicode&&(s+="u"),t=new RegExp(i.source,s)}return t.lastIndex=0,t}const Lu={maxLen:1e3,windowSize:15,timeBudget:150};function zh(i,t,s,n,r=Lu){if(s.length>r.maxLen){let u=i-r.maxLen/2;return u<0?u=0:n+=u,s=s.substring(u,i+r.maxLen/2),zh(i,t,s,n,r)}const h=Date.now(),a=i-1-n;let o=-1,c=null;for(let u=1;!(Date.now()-h>=r.timeBudget);u++){const W=a-r.windowSize*u;t.lastIndex=Math.max(0,W);const K=xu(t,s,a,o);if(!K&&c||(c=K,W<=0))break;o=W}if(c){let u={word:c[0],startColumn:n+1+c.index,endColumn:n+1+c.index+c[0].length};return t.lastIndex=0,u}return null}function xu(i,t,s,n){let r;for(;r=i.exec(t);){const h=r.index||0;if(h<=s&&i.lastIndex>=s)return r;if(n>0&&h>n)return null}return null}class Er{constructor(t){let s=jh(t);this._defaultValue=s,this._asciiMap=Er._createAsciiMap(s),this._map=new Map}static _createAsciiMap(t){let s=new Uint8Array(256);for(let n=0;n<256;n++)s[n]=t;return s}set(t,s){let n=jh(s);t>=0&&t<256?this._asciiMap[t]=n:this._map.set(t,n)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class pu{constructor(t,s,n){const r=new Uint8Array(t*s);for(let h=0,a=t*s;hs&&(s=c),o>n&&(n=o),u>n&&(n=u)}s++,n++;let r=new pu(n,s,0);for(let h=0,a=t.length;h=this._maxCharCode?0:this._states.get(t,s)}}let Rr=null;function Ou(){return Rr===null&&(Rr=new Nu([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Rr}let t1=null;function gu(){if(t1===null){t1=new Er(0);const i=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let s=0;sr);if(r>0){const o=s.charCodeAt(r-1),c=s.charCodeAt(a);(o===40&&c===41||o===91&&c===93||o===123&&c===125)&&a--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:a+2},url:s.substring(r,a+1)}}static computeLinks(t,s=Ou()){const n=gu();let r=[];for(let h=1,a=t.getLineCount();h<=a;h++){const o=t.getLineContent(h),c=o.length;let u=0,W=0,K=0,d=1,f=!1,N=!1,I=!1,k=!1;for(;u=0?(r+=n?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}Tr.INSTANCE=new Tr;const Jh=Object.freeze(function(i,t){const s=setTimeout(i.bind(t),0);return{dispose(){clearTimeout(s)}}});var Jn;(function(i){function t(s){return s===i.None||s===i.Cancelled||s instanceof $n?!0:!s||typeof s!="object"?!1:typeof s.isCancellationRequested=="boolean"&&typeof s.onCancellationRequested=="function"}i.isCancellationToken=t,i.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:nr.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Jh})})(Jn||(Jn={}));class $n{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Jh:(this._emitter||(this._emitter=new Ae),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class ku{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new $n),this._token}cancel(){this._token?this._token instanceof $n&&this._token.cancel():this._token=Jn.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof $n&&this._token.dispose():this._token=Jn.None}}class Wr{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,s){this._keyCodeToStr[t]=s,this._strToKeyCode[s.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Pn=new Wr,Kr=new Wr,dr=new Wr,Du=new Array(230),Uu=Object.create(null),Su=Object.create(null);(function(){const i="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",i,i],[0,1,1,"Hyper",0,i,0,i,i,i],[0,1,2,"Super",0,i,0,i,i,i],[0,1,3,"Fn",0,i,0,i,i,i],[0,1,4,"FnLock",0,i,0,i,i,i],[0,1,5,"Suspend",0,i,0,i,i,i],[0,1,6,"Resume",0,i,0,i,i,i],[0,1,7,"Turbo",0,i,0,i,i,i],[0,1,8,"Sleep",0,i,0,"VK_SLEEP",i,i],[0,1,9,"WakeUp",0,i,0,i,i,i],[31,0,10,"KeyA",31,"A",65,"VK_A",i,i],[32,0,11,"KeyB",32,"B",66,"VK_B",i,i],[33,0,12,"KeyC",33,"C",67,"VK_C",i,i],[34,0,13,"KeyD",34,"D",68,"VK_D",i,i],[35,0,14,"KeyE",35,"E",69,"VK_E",i,i],[36,0,15,"KeyF",36,"F",70,"VK_F",i,i],[37,0,16,"KeyG",37,"G",71,"VK_G",i,i],[38,0,17,"KeyH",38,"H",72,"VK_H",i,i],[39,0,18,"KeyI",39,"I",73,"VK_I",i,i],[40,0,19,"KeyJ",40,"J",74,"VK_J",i,i],[41,0,20,"KeyK",41,"K",75,"VK_K",i,i],[42,0,21,"KeyL",42,"L",76,"VK_L",i,i],[43,0,22,"KeyM",43,"M",77,"VK_M",i,i],[44,0,23,"KeyN",44,"N",78,"VK_N",i,i],[45,0,24,"KeyO",45,"O",79,"VK_O",i,i],[46,0,25,"KeyP",46,"P",80,"VK_P",i,i],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",i,i],[48,0,27,"KeyR",48,"R",82,"VK_R",i,i],[49,0,28,"KeyS",49,"S",83,"VK_S",i,i],[50,0,29,"KeyT",50,"T",84,"VK_T",i,i],[51,0,30,"KeyU",51,"U",85,"VK_U",i,i],[52,0,31,"KeyV",52,"V",86,"VK_V",i,i],[53,0,32,"KeyW",53,"W",87,"VK_W",i,i],[54,0,33,"KeyX",54,"X",88,"VK_X",i,i],[55,0,34,"KeyY",55,"Y",89,"VK_Y",i,i],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",i,i],[22,0,36,"Digit1",22,"1",49,"VK_1",i,i],[23,0,37,"Digit2",23,"2",50,"VK_2",i,i],[24,0,38,"Digit3",24,"3",51,"VK_3",i,i],[25,0,39,"Digit4",25,"4",52,"VK_4",i,i],[26,0,40,"Digit5",26,"5",53,"VK_5",i,i],[27,0,41,"Digit6",27,"6",54,"VK_6",i,i],[28,0,42,"Digit7",28,"7",55,"VK_7",i,i],[29,0,43,"Digit8",29,"8",56,"VK_8",i,i],[30,0,44,"Digit9",30,"9",57,"VK_9",i,i],[21,0,45,"Digit0",21,"0",48,"VK_0",i,i],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",i,i],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",i,i],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",i,i],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",i,i],[10,1,50,"Space",10,"Space",32,"VK_SPACE",i,i],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,i,0,i,i,i],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",i,i],[59,1,64,"F1",59,"F1",112,"VK_F1",i,i],[60,1,65,"F2",60,"F2",113,"VK_F2",i,i],[61,1,66,"F3",61,"F3",114,"VK_F3",i,i],[62,1,67,"F4",62,"F4",115,"VK_F4",i,i],[63,1,68,"F5",63,"F5",116,"VK_F5",i,i],[64,1,69,"F6",64,"F6",117,"VK_F6",i,i],[65,1,70,"F7",65,"F7",118,"VK_F7",i,i],[66,1,71,"F8",66,"F8",119,"VK_F8",i,i],[67,1,72,"F9",67,"F9",120,"VK_F9",i,i],[68,1,73,"F10",68,"F10",121,"VK_F10",i,i],[69,1,74,"F11",69,"F11",122,"VK_F11",i,i],[70,1,75,"F12",70,"F12",123,"VK_F12",i,i],[0,1,76,"PrintScreen",0,i,0,i,i,i],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",i,i],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",i,i],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",i,i],[14,1,80,"Home",14,"Home",36,"VK_HOME",i,i],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",i,i],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",i,i],[13,1,83,"End",13,"End",35,"VK_END",i,i],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",i,i],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",i],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",i],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",i],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",i],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",i,i],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",i,i],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",i,i],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",i,i],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",i,i],[3,1,94,"NumpadEnter",3,i,0,i,i,i],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",i,i],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",i,i],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",i,i],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",i,i],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",i,i],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",i,i],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",i,i],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",i,i],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",i,i],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",i,i],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",i,i],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",i,i],[58,1,107,"ContextMenu",58,"ContextMenu",93,i,i,i],[0,1,108,"Power",0,i,0,i,i,i],[0,1,109,"NumpadEqual",0,i,0,i,i,i],[71,1,110,"F13",71,"F13",124,"VK_F13",i,i],[72,1,111,"F14",72,"F14",125,"VK_F14",i,i],[73,1,112,"F15",73,"F15",126,"VK_F15",i,i],[74,1,113,"F16",74,"F16",127,"VK_F16",i,i],[75,1,114,"F17",75,"F17",128,"VK_F17",i,i],[76,1,115,"F18",76,"F18",129,"VK_F18",i,i],[77,1,116,"F19",77,"F19",130,"VK_F19",i,i],[0,1,117,"F20",0,i,0,"VK_F20",i,i],[0,1,118,"F21",0,i,0,"VK_F21",i,i],[0,1,119,"F22",0,i,0,"VK_F22",i,i],[0,1,120,"F23",0,i,0,"VK_F23",i,i],[0,1,121,"F24",0,i,0,"VK_F24",i,i],[0,1,122,"Open",0,i,0,i,i,i],[0,1,123,"Help",0,i,0,i,i,i],[0,1,124,"Select",0,i,0,i,i,i],[0,1,125,"Again",0,i,0,i,i,i],[0,1,126,"Undo",0,i,0,i,i,i],[0,1,127,"Cut",0,i,0,i,i,i],[0,1,128,"Copy",0,i,0,i,i,i],[0,1,129,"Paste",0,i,0,i,i,i],[0,1,130,"Find",0,i,0,i,i,i],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",i,i],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",i,i],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",i,i],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",i,i],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",i,i],[0,1,136,"KanaMode",0,i,0,i,i,i],[0,0,137,"IntlYen",0,i,0,i,i,i],[0,1,138,"Convert",0,i,0,i,i,i],[0,1,139,"NonConvert",0,i,0,i,i,i],[0,1,140,"Lang1",0,i,0,i,i,i],[0,1,141,"Lang2",0,i,0,i,i,i],[0,1,142,"Lang3",0,i,0,i,i,i],[0,1,143,"Lang4",0,i,0,i,i,i],[0,1,144,"Lang5",0,i,0,i,i,i],[0,1,145,"Abort",0,i,0,i,i,i],[0,1,146,"Props",0,i,0,i,i,i],[0,1,147,"NumpadParenLeft",0,i,0,i,i,i],[0,1,148,"NumpadParenRight",0,i,0,i,i,i],[0,1,149,"NumpadBackspace",0,i,0,i,i,i],[0,1,150,"NumpadMemoryStore",0,i,0,i,i,i],[0,1,151,"NumpadMemoryRecall",0,i,0,i,i,i],[0,1,152,"NumpadMemoryClear",0,i,0,i,i,i],[0,1,153,"NumpadMemoryAdd",0,i,0,i,i,i],[0,1,154,"NumpadMemorySubtract",0,i,0,i,i,i],[0,1,155,"NumpadClear",0,i,0,i,i,i],[0,1,156,"NumpadClearEntry",0,i,0,i,i,i],[5,1,0,i,5,"Ctrl",17,"VK_CONTROL",i,i],[4,1,0,i,4,"Shift",16,"VK_SHIFT",i,i],[6,1,0,i,6,"Alt",18,"VK_MENU",i,i],[57,1,0,i,57,"Meta",0,"VK_COMMAND",i,i],[5,1,157,"ControlLeft",5,i,0,"VK_LCONTROL",i,i],[4,1,158,"ShiftLeft",4,i,0,"VK_LSHIFT",i,i],[6,1,159,"AltLeft",6,i,0,"VK_LMENU",i,i],[57,1,160,"MetaLeft",57,i,0,"VK_LWIN",i,i],[5,1,161,"ControlRight",5,i,0,"VK_RCONTROL",i,i],[4,1,162,"ShiftRight",4,i,0,"VK_RSHIFT",i,i],[6,1,163,"AltRight",6,i,0,"VK_RMENU",i,i],[57,1,164,"MetaRight",57,i,0,"VK_RWIN",i,i],[0,1,165,"BrightnessUp",0,i,0,i,i,i],[0,1,166,"BrightnessDown",0,i,0,i,i,i],[0,1,167,"MediaPlay",0,i,0,i,i,i],[0,1,168,"MediaRecord",0,i,0,i,i,i],[0,1,169,"MediaFastForward",0,i,0,i,i,i],[0,1,170,"MediaRewind",0,i,0,i,i,i],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",i,i],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",i,i],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",i,i],[0,1,174,"Eject",0,i,0,i,i,i],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",i,i],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",i,i],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",i,i],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",i,i],[0,1,179,"LaunchApp1",0,i,0,"VK_MEDIA_LAUNCH_APP1",i,i],[0,1,180,"SelectTask",0,i,0,i,i,i],[0,1,181,"LaunchScreenSaver",0,i,0,i,i,i],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",i,i],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",i,i],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",i,i],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",i,i],[0,1,186,"BrowserStop",0,i,0,"VK_BROWSER_STOP",i,i],[0,1,187,"BrowserRefresh",0,i,0,"VK_BROWSER_REFRESH",i,i],[0,1,188,"BrowserFavorites",0,i,0,"VK_BROWSER_FAVORITES",i,i],[0,1,189,"ZoomToggle",0,i,0,i,i,i],[0,1,190,"MailReply",0,i,0,i,i,i],[0,1,191,"MailForward",0,i,0,i,i,i],[0,1,192,"MailSend",0,i,0,i,i,i],[109,1,0,i,109,"KeyInComposition",229,i,i,i],[111,1,0,i,111,"ABNT_C2",194,"VK_ABNT_C2",i,i],[91,1,0,i,91,"OEM_8",223,"VK_OEM_8",i,i],[0,1,0,i,0,i,0,"VK_CLEAR",i,i],[0,1,0,i,0,i,0,"VK_KANA",i,i],[0,1,0,i,0,i,0,"VK_HANGUL",i,i],[0,1,0,i,0,i,0,"VK_JUNJA",i,i],[0,1,0,i,0,i,0,"VK_FINAL",i,i],[0,1,0,i,0,i,0,"VK_HANJA",i,i],[0,1,0,i,0,i,0,"VK_KANJI",i,i],[0,1,0,i,0,i,0,"VK_CONVERT",i,i],[0,1,0,i,0,i,0,"VK_NONCONVERT",i,i],[0,1,0,i,0,i,0,"VK_ACCEPT",i,i],[0,1,0,i,0,i,0,"VK_MODECHANGE",i,i],[0,1,0,i,0,i,0,"VK_SELECT",i,i],[0,1,0,i,0,i,0,"VK_PRINT",i,i],[0,1,0,i,0,i,0,"VK_EXECUTE",i,i],[0,1,0,i,0,i,0,"VK_SNAPSHOT",i,i],[0,1,0,i,0,i,0,"VK_HELP",i,i],[0,1,0,i,0,i,0,"VK_APPS",i,i],[0,1,0,i,0,i,0,"VK_PROCESSKEY",i,i],[0,1,0,i,0,i,0,"VK_PACKET",i,i],[0,1,0,i,0,i,0,"VK_DBE_SBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_DBE_DBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_ATTN",i,i],[0,1,0,i,0,i,0,"VK_CRSEL",i,i],[0,1,0,i,0,i,0,"VK_EXSEL",i,i],[0,1,0,i,0,i,0,"VK_EREOF",i,i],[0,1,0,i,0,i,0,"VK_PLAY",i,i],[0,1,0,i,0,i,0,"VK_ZOOM",i,i],[0,1,0,i,0,i,0,"VK_NONAME",i,i],[0,1,0,i,0,i,0,"VK_PA1",i,i],[0,1,0,i,0,i,0,"VK_OEM_CLEAR",i,i]];let s=[],n=[];for(const r of t){const[h,a,o,c,u,W,K,d,f,N]=r;if(n[o]||(n[o]=!0,Uu[c]=o,Su[c.toLowerCase()]=o),!s[u]){if(s[u]=!0,!W)throw new Error(`String representation missing for key code ${u} around scan code ${c}`);Pn.define(u,W),Kr.define(u,f||W),dr.define(u,N||f||W)}K&&(Du[K]=u)}})();var $h;(function(i){function t(o){return Pn.keyCodeToStr(o)}i.toString=t;function s(o){return Pn.strToKeyCode(o)}i.fromString=s;function n(o){return Kr.keyCodeToStr(o)}i.toUserSettingsUS=n;function r(o){return dr.keyCodeToStr(o)}i.toUserSettingsGeneral=r;function h(o){return Kr.strToKeyCode(o)||dr.strToKeyCode(o)}i.fromUserSettings=h;function a(o){if(o>=93&&o<=108)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Pn.keyCodeToStr(o)}i.toElectronAccelerator=a})($h||($h={}));function yu(i,t){const s=(t&65535)<<16>>>0;return(i|s)>>>0}class Dt extends et{constructor(t,s,n,r){super(t,s,n,r),this.selectionStartLineNumber=t,this.selectionStartColumn=s,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Dt.selectionsEqual(this,t)}static selectionsEqual(t,s){return t.selectionStartLineNumber===s.selectionStartLineNumber&&t.selectionStartColumn===s.selectionStartColumn&&t.positionLineNumber===s.positionLineNumber&&t.positionColumn===s.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,s){return this.getDirection()===0?new Dt(this.startLineNumber,this.startColumn,t,s):new Dt(t,s,this.startLineNumber,this.startColumn)}getPosition(){return new It(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new It(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,s){return this.getDirection()===0?new Dt(t,s,this.endLineNumber,this.endColumn):new Dt(this.endLineNumber,this.endColumn,t,s)}static fromPositions(t,s=t){return new Dt(t.lineNumber,t.column,s.lineNumber,s.column)}static fromRange(t,s){return s===0?new Dt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Dt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Dt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,s){if(t&&!s||!t&&s)return!1;if(!t&&!s)return!0;if(t.length!==s.length)return!1;for(let n=0,r=t.length;n0){const a=t.charCodeAt(n);if(i.get(a)!==0)return!0}return!1}function Fu(i,t,s,n,r){if(n+r===s)return!0;const h=t.charCodeAt(n+r);if(i.get(h)!==0||h===13||h===10)return!0;if(r>0){const a=t.charCodeAt(n+r-1);if(i.get(a)!==0)return!0}return!1}function Bu(i,t,s,n,r){return bu(i,t,s,n,r)&&Fu(i,t,s,n,r)}class Vu{constructor(t,s){this._wordSeparators=t,this._searchRegex=s,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const s=t.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===s||(n=this._searchRegex.exec(t),!n))return null;const r=n.index,h=n[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){G4(t,s,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||Bu(this._wordSeparators,t,s,r,h))return n}while(n);return null}}class Yu{static computeUnicodeHighlights(t,s,n){const r=n?n.startLineNumber:1,h=n?n.endLineNumber:t.getLineCount(),a=new ka(s),o=a.getCandidateCodePoints();let c;o==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${Gu(Array.from(o))}`,"g");const u=new Vu(null,c),W=[];let K=!1,d,f=0,N=0,I=0;t:for(let k=r,M=h;k<=M;k++){const C=t.getLineContent(k),m=C.length;u.reset(0);do if(d=u.next(C),d){let x=d.index,g=d.index+d[0].length;if(x>0){const D=C.charCodeAt(x-1);rr(D)&&x--}if(g+1=D){K=!0;break t}W.push(new et(k,x+1,k,g+1))}}while(d)}return{ranges:W,hasMore:K,ambiguousCharacterCount:f,invisibleCharacterCount:N,nonBasicAsciiCharacterCount:I}}static computeUnicodeHighlightReason(t,s){switch(new ka(s).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=Gt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function Gu(i,t){return`[${w4(i.map(n=>String.fromCodePoint(n)).join(""))}]`}class ka{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const s of Ze.codePoints)t.add(s);if(this.options.ambiguousCharacters)for(const s of Gt.getPrimaryConfusableCodePoints())t.add(s);for(const s of this.allowedCodePoints)t.delete(s);return t}shouldHighlightNonBasicASCII(t){const s=t.codePointAt(0);return this.allowedCodePoints.has(s)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` -`||t===" ")&&Ze.isInvisibleCharacter(s)?2:this.options.ambiguousCharacters&&Gt.isAmbiguous(s)?3:0}}var Je=function(i,t,s,n){function r(h){return h instanceof s?h:new s(function(a){a(h)})}return new(s||(s=Promise))(function(h,a){function o(W){try{u(n.next(W))}catch(K){a(K)}}function c(W){try{u(n.throw(W))}catch(K){a(K)}}function u(W){W.done?h(W.value):r(W.value).then(o,c)}u((n=n.apply(i,t||[])).next())})};class Xu extends Au{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,s){let n=zh(t.column,_u(s),this._lines[t.lineNumber-1],0);return n?new et(t.lineNumber,n.startColumn,t.lineNumber,n.endColumn):null}words(t){const s=this._lines,n=this._wordenize.bind(this);let r=0,h="",a=0,o=[];return{*[Symbol.iterator](){for(;;)if(athis._lines.length)s=this._lines.length,n=this._lines[s-1].length+1,r=!0;else{let h=this._lines[s-1].length+1;n<1?(n=1,r=!0):n>h&&(n=h,r=!0)}return r?{lineNumber:s,column:n}:t}}class f0{constructor(t,s){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=s,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(s=>t.push(this._models[s])),t}acceptNewModel(t){this._models[t.url]=new Xu(ze.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,s){if(!this._models[t])return;this._models[t].onEvents(s)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,s,n){return Je(this,void 0,void 0,function*(){const r=this._getModel(t);return r?Yu.computeUnicodeHighlights(r,s,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,s,n,r){return Je(this,void 0,void 0,function*(){const h=this._getModel(t),a=this._getModel(s);if(!h||!a)return null;const o=h.getLinesContent(),c=a.getLinesContent(),W=new Wu(o,c,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),K=W.changes.length>0?!1:this._modelsAreIdentical(h,a);return{quitEarly:W.quitEarly,identical:K,changes:W.changes}})}_modelsAreIdentical(t,s){const n=t.getLineCount(),r=s.getLineCount();if(n!==r)return!1;for(let h=1;h<=n;h++){const a=t.getLineContent(h),o=s.getLineContent(h);if(a!==o)return!1}return!0}computeMoreMinimalEdits(t,s){return Je(this,void 0,void 0,function*(){const n=this._getModel(t);if(!n)return s;const r=[];let h;s=s.slice(0).sort((a,o)=>{if(a.range&&o.range)return et.compareRangesUsingStarts(a.range,o.range);let c=a.range?0:1,u=o.range?0:1;return c-u});for(let{range:a,text:o,eol:c}of s){if(typeof c=="number"&&(h=c),et.isEmpty(a)&&!o)continue;const u=n.getValueInRange(a);if(o=o.replace(/\r\n|\n|\r/g,n.eol),u===o)continue;if(Math.max(o.length,u.length)>f0._diffLimit){r.push({range:a,text:o});continue}const W=v4(u,o,!1),K=n.offsetAt(et.lift(a).getStartPosition());for(const d of W){const f=n.positionAt(K+d.originalStart),N=n.positionAt(K+d.originalStart+d.originalLength),I={text:o.substr(d.modifiedStart,d.modifiedLength),range:{startLineNumber:f.lineNumber,startColumn:f.column,endLineNumber:N.lineNumber,endColumn:N.column}};n.getValueInRange(I.range)!==I.text&&r.push(I)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return Je(this,void 0,void 0,function*(){let s=this._getModel(t);return s?Iu(s):null})}textualSuggest(t,s,n,r){return Je(this,void 0,void 0,function*(){const h=new Xn(!0),a=new RegExp(n,r),o=new Set;t:for(let c of t){const u=this._getModel(c);if(u){for(let W of u.words(a))if(!(W===s||!isNaN(Number(W)))&&(o.add(W),o.size>f0._suggestionsLimit))break t}}return{words:Array.from(o),duration:h.elapsed()}})}computeWordRanges(t,s,n,r){return Je(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const a=new RegExp(n,r),o=Object.create(null);for(let c=s.startLineNumber;cthis._host.fhr(o,c)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(a,s),Promise.resolve(ir(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,s){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,s))}catch(n){return Promise.reject(n)}}}f0._diffLimit=1e5,f0._suggestionsLimit=1e4,typeof importScripts=="function"&&(Kt.monaco=wu());let _r=!1;function Da(i){if(_r)return;_r=!0;const t=new P4(s=>{self.postMessage(s)},s=>new f0(s,i));self.onmessage=s=>{t.onmessage(s.data)}}self.onmessage=i=>{_r||Da(null)};var Qu=Object.defineProperty,A=(i,t)=>Qu(i,"name",{value:t,configurable:!0}),xe=(D0=class{constructor(t){E(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},A(D0,"Transition"),E(D0,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),D0),Lr=(S1=class extends xe{constructor(t){super(t)}},A(S1,"AbstractPredicateTransition"),S1),U={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},Ua=(y1=class extends xe{constructor(s,n,r,h){super(s);E(this,"ruleIndex");E(this,"actionIndex");E(this,"isCtxDependent");this.ruleIndex=n,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return U.ACTION}matches(s,n,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},A(y1,"ActionTransition"),y1),Z=(Te=class{constructor(t){E(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Te.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},A(Te,"PredictionContext"),E(Te,"EMPTY_RETURN_STATE",2147483647),E(Te,"EMPTY"),E(Te,"trace_atn_sim",!1),Te),Sa=3432918353,ya=461845907,Hn=15,vn=13,Ma=5,wa=3864292196,vt=(i0=class{constructor(){E(this,"count");E(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const s=new i0;return s.update(t),s.finish()}static hashString(t=0,s){let n=3735928559^t,r=1103547991^t;for(const h of s){const a=h.charCodeAt(0);n=Math.imul(n^a,2654435761),r=Math.imul(r^a,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),Math.imul(4294967296,2097151&r)+(n>>>0)}update(...t){for(const s of t)if(s!=null)if(Array.isArray(s))this.update(...s);else{let n=0;switch(typeof s){case"undefined":case"function":continue;case"number":{n=s;break}case"boolean":{n=s?1237:4327;break}case"string":{n=i0.hashString(this.hash,s);break}default:{s.updateHashCode(this);continue}}this.count=this.count+1,n=Math.imul(n,Sa),n=n<>>32-Hn,n=Math.imul(n,ya);let r=this.hash^n;r=r<>>32-vn,this.hash=Math.imul(r,Ma)+wa}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,Sa),t=t<>>32-Hn,t=Math.imul(t,ya);let s=this.hash^t;s=s<>>32-vn,this.hash=Math.imul(s,Ma)+wa}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},A(i0,"HashCode"),i0),Zu=A(i=>typeof i.equals=="function","isComparable"),ju=A(i=>i===null?"null":i,"valueToString"),$e=A(i=>Array.isArray(i)?"["+i.map(ju).join(", ")+"]":"null","arrayToString"),s1=A((i,t)=>{if(i===t)return!0;if(i.length!==t.length)return!1;for(let s=0;s(i=i.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(i=i.replace(/ /g,"·")),i),"escapeWhitespace"),ba=A((i,t)=>i?i.equals(t):i===t,"standardEqualsFunction"),Ju=Math.round(Math.random()*Math.pow(2,32)),$u=A(i=>{let t,s;const n=i.length&3,r=i.length-n;let h=Ju;const a=3432918353,o=461845907;let c=0;for(;c>>16)*a&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(s&65535)*o+(((s>>>16)*o&65535)<<16)&4294967295,h^=s,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(s=0,n){case 3:s^=(i.charCodeAt(c+2)&255)<<16;case 2:s^=(i.charCodeAt(c+1)&255)<<8;case 1:s^=i.charCodeAt(c)&255,s=(s&65535)*a+(((s>>>16)*a&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(s&65535)*o+(((s>>>16)*o&65535)<<16)&4294967295,h^=s}return h^=i.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),Fa=A(i=>i?typeof i=="string"?$u(i):i.hashCode():-1,"standardHashCodeFunction"),pe=(U0=class extends Z{constructor(s,n){const r=new vt;r.update(s,n);const h=r.finish();super(h);E(this,"parents",[]);E(this,"returnStates",[]);return this.parents=s,this.returnStates=n,this}isEmpty(){return this.returnStates[0]===Z.EMPTY_RETURN_STATE}getParent(s){return this.parents[s]}getReturnState(s){return this.returnStates[s]}equals(s){return this===s?!0:!(s instanceof U0)||this.hashCode()!==s.hashCode()?!1:s1(this.returnStates,s.returnStates)&&s1(this.parents,s.parents)}toString(){if(this.isEmpty())return"[]";{let s="[";for(let n=0;n0&&(s=s+", "),this.returnStates[n]===Z.EMPTY_RETURN_STATE){s=s+"$";continue}s=s+this.returnStates[n],this.parents[n]!==null?s=s+" "+this.parents[n]:s=s+"null"}return s+"]"}}get length(){return this.returnStates.length}},A(U0,"ArrayPredictionContext"),U0),qn;(i=>{i.EOF=-1,i.UNKNOWN_SOURCE_NAME=""})(qn||(qn={}));var _;(i=>{i.INVALID_TYPE=0,i.EPSILON=-2,i.MIN_USER_TOKEN_TYPE=1,i.EOF=qn.EOF,i.DEFAULT_CHANNEL=0,i.HIDDEN_CHANNEL=1,i.MIN_USER_CHANNEL_VALUE=2})(_||(_={}));var Pu=A(i=>{const t=i;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),wt=(M1=class{constructor(t,s){E(this,"data");E(this,"hashFunction");E(this,"equalsFunction");this.data={},this.hashFunction=t??Fa,this.equalsFunction=s??ba}add(t){const s=this.hashFunction(t);if(s in this.data){const n=this.data[s];for(const r of n)if(this.equalsFunction(t,r))return r;return n.push(t),t}else return this.data[s]=[t],t}has(t){return this.get(t)!=null}get(t){const s=this.hashFunction(t);if(s in this.data){const n=this.data[s];for(const r of n)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return $e(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,s)=>t+s,0)}},A(M1,"HashSet"),M1),v=(Jt=class{static andContext(t,s){if(t===null||t===Jt.NONE)return s;if(s===null||s===Jt.NONE)return t;const n=new Hu(t,s);return n.opnds.length===1?n.opnds[0]:n}static orContext(t,s){if(t===null)return s;if(s===null)return t;if(t===Jt.NONE||s===Jt.NONE)return Jt.NONE;const n=new vu(t,s);return n.opnds.length===1?n.opnds[0]:n}static filterPrecedencePredicates(t){const s=[];return t.values().forEach(n=>{n instanceof Jt.PrecedencePredicate&&s.push(n)}),s}hashCode(){const t=new vt;return this.updateHashCode(t),t.finish()}evalPrecedence(t,s){return this}},A(Jt,"SemanticContext"),Jt),Hu=(ye=class extends v{constructor(s,n){super();E(this,"opnds");const r=new wt;s instanceof ye?s.opnds.forEach(a=>{r.add(a)}):r.add(s),n instanceof ye?n.opnds.forEach(a=>{r.add(a)}):r.add(n);const h=v.filterPrecedencePredicates(r);if(h.length>0){let a=null;h.forEach(o=>{(a===null||o.precedence{a=a===null?o:v.andContext(a,o)}),a}toString(){const s=this.opnds.map(n=>n.toString());return(s.length>3?s.slice(3):s).join("&&")}},A(ye,"AND"),ye),vu=(Me=class extends v{constructor(s,n){super();E(this,"opnds");const r=new wt;s instanceof Me?s.opnds.forEach(a=>{r.add(a)}):r.add(s),n instanceof Me?n.opnds.forEach(a=>{r.add(a)}):r.add(n);const h=v.filterPrecedencePredicates(r);if(h.length>0){const a=h.sort((c,u)=>c.compareTo(u)),o=a[a.length-1];r.add(o)}this.opnds=Array.from(r.values())}equals(s){return this===s?!0:s instanceof Me?s1(this.opnds,s.opnds):!1}updateHashCode(s){s.update(this.opnds),s.updateWithHashCode(3383313031)}evaluate(s,n){for(const r of this.opnds)if(r.evaluate(s,n))return!0;return!1}evalPrecedence(s,n){let r=!1;const h=[];for(const o of this.opnds){const c=o.evalPrecedence(s,n);if(r||(r=c!==o),c===v.NONE)return v.NONE;c!==null&&h.push(c)}if(!r)return this;if(h.length===0)return null;let a=null;return h.forEach(o=>{a=a===null?o:v.orContext(a,o)}),a}toString(){const s=this.opnds.map(n=>n.toString());return(s.length>3?s.slice(3):s).join("||")}},A(Me,"OR"),Me);(i=>{const n=class n extends i{constructor(o,c,u){super();E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=o??-1,this.predIndex=c??-1,this.isCtxDependent=u??!1}evaluate(o,c){const u=this.isCtxDependent?c:null;return o.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(o){o.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(o){return this===o?!0:o instanceof n?this.ruleIndex===o.ruleIndex&&this.predIndex===o.predIndex&&this.isCtxDependent===o.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};A(n,"Predicate");let t=n;i.Predicate=t;const r=class r extends i{constructor(o){super();E(this,"precedence");this.precedence=o??0}evaluate(o,c){return o.precpred(c,this.precedence)}evalPrecedence(o,c){return o.precpred(c,this.precedence)?i.NONE:null}compareTo(o){return this.precedence-o.precedence}updateHashCode(o){o.update(this.precedence)}equals(o){return this===o?!0:o instanceof r?this.precedence===o.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};A(r,"PrecedencePredicate");let s=r;i.PrecedencePredicate=s,i.NONE=new t})(v||(v={}));var qu=A(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),t7=A(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:i.reachesIntoOuterContext??0,precedenceFilterSuppressed:i.precedenceFilterSuppressed??!1},"checkConfig"),lt=(r0=class{constructor(t,s){E(this,"state");E(this,"alt");E(this,"context");E(this,"reachesIntoOuterContext");E(this,"precedenceFilterSuppressed",!1);E(this,"semanticContext");this.checkContext(t,s);const n=qu(t),r=t7(s);this.state=n.state??r.state,this.alt=n.alt??r.alt??0,this.context=n.context??r.context,this.semanticContext=n.semanticContext??r.semanticContext??v.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new vt;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof r0?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new vt;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof r0?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,s=!0){let n="";return s&&(n=","+this.alt),"("+this.state+n+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==v.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,s){(t.context===null||t.context===void 0)&&(s===null||s.context===null||s.context===void 0)&&(this.context=null)}},A(r0,"ATNConfig"),r0),j=(ht=class{constructor(t,s){E(this,"start");E(this,"stop");this.start=t,this.stop=s}static of(t,s){return t!==s||t<0||t>ht.INTERVAL_POOL_MAX_VALUE?new ht(t,s):(ht.cache[t]===null&&(ht.cache[t]=new ht(t,t)),ht.cache[t])}equals(t){return t instanceof ht?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return ht.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return ht.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let s=null;return t.startsBeforeNonDisjoint(this)?s=ht.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(s=ht.of(this.start,t.start-1)),s}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{o.syntaxError(t,s,n,r,h,a)})}reportAmbiguity(t,s,n,r,h,a,o){this.delegates.forEach(c=>{c.reportAmbiguity(t,s,n,r,h,a,o)})}reportAttemptingFullContext(t,s,n,r,h,a){this.delegates.forEach(o=>{o.reportAttemptingFullContext(t,s,n,r,h,a)})}reportContextSensitivity(t,s,n,r,h,a){this.delegates.forEach(o=>{o.reportContextSensitivity(t,s,n,r,h,a)})}},A(b1,"ProxyErrorListener"),b1),Ba=(Vt=class{constructor(){E(this,"interpreter");J(this,oe,[e7.INSTANCE]);J(this,F1,-1)}checkVersion(t){const s="4.13.1";s!==t&&console.error("ANTLR runtime and generated code versions disagree: "+s+"!="+t)}addErrorListener(t){L(this,oe).push(t)}removeErrorListeners(){Q(this,oe,[])}removeErrorListener(t){for(let s=0;ss.set(n,r)),Vt.ruleIndexMapCache.set(t,s)),s}getTokenType(t){const s=this.getTokenTypeMap().get(t);return s||_.INVALID_TYPE}getErrorHeader(t){var r,h;const s=(r=t.offendingToken)==null?void 0:r.line,n=(h=t.offendingToken)==null?void 0:h.column;return"line "+s+":"+n}getErrorListenerDispatch(){return new s7(L(this,oe))}sempred(t,s,n){return!0}precpred(t,s){return!0}action(t,s,n){}get atn(){return this.interpreter.atn}get state(){return L(this,F1)}set state(t){Q(this,F1,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},oe=new WeakMap,F1=new WeakMap,A(Vt,"Recognizer"),E(Vt,"EOF",-1),E(Vt,"tokenTypeMapCache",new Map),E(Vt,"ruleIndexMapCache",new Map),Vt),n7=(we=class{constructor(t,s,n,r,h){E(this,"source");E(this,"tokenIndex",-1);E(this,"start",0);E(this,"stop",0);E(this,"type",0);E(this,"line",0);E(this,"column",-1);E(this,"channel",_.DEFAULT_CHANNEL);J(this,ce,null);this.source=t,this.type=s,this.channel=n??_.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new we(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Q(t,ce,L(this,ce)),t}cloneWithType(t){const s=new we(this.source,t,this.channel,this.start,this.stop);return s.tokenIndex=this.tokenIndex,s.line=this.line,s.column=this.column,t===_.EOF&&Q(s,ce,""),s}toString(t){let s="";this.channel>0&&(s=",channel="+this.channel);let n=this.text;n?(n=n.replace(/\n/g,"\\n"),n=n.replace(/\r/g,"\\r"),n=n.replace(/\t/g,"\\t")):n="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+n+"',<"+r+">"+s+","+this.line+":"+this.column+"]"}get text(){if(L(this,ce)!==null)return L(this,ce);const t=this.inputStream;if(t===null)return null;const s=t.size;return this.start"}set text(t){Q(this,ce,t)}setText(t){Q(this,ce,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},ce=new WeakMap,A(we,"CommonToken"),E(we,"EMPTY_SOURCE",[null,null]),we),i7=(a0=class{constructor(t){E(this,"copyText",!1);this.copyText=t??!1}create(t,s,n,r,h,a,o,c){const u=new n7(t,s,r,h,a);return u.line=o,u.column=c,n!==null?u.text=n:this.copyText&&t[1]!==null&&(u.text=t[1].getText(h,a)),u}},A(a0,"CommonTokenFactory"),E(a0,"DEFAULT",new a0),a0),T=(S0=class extends Error{constructor(s){super(s.message);E(this,"ctx");E(this,"offendingToken",null);E(this,"offendingState",-1);E(this,"recognizer");E(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,S0),this.message=s.message,this.recognizer=s.recognizer,this.input=s.input,this.ctx=s.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},A(S0,"RecognitionException"),S0),ei=(B1=class extends T{constructor(s,n,r,h){super({message:"",recognizer:s,input:n,ctx:null});E(this,"startIndex");E(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let s="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(s=>"{"+s.key+":"+s.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,s)=>t+s,0)}},A(V1,"HashMap"),V1),le=(Y1=class{constructor(t){E(this,"parent",null);E(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return j.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new j(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,s;return((t=this.symbol)==null?void 0:t.type)===_.EOF?"":((s=this.symbol)==null?void 0:s.text)??""}toStringTree(){return this.toString()}},A(Y1,"TerminalNode"),Y1),n1=(G1=class extends le{accept(t){return t.visitErrorNode(this)}},A(G1,"ErrorNode"),G1),Ne=(yt=class{static toStringTree(t,s,n){s=s??null,n=n??null,n!==null&&(s=n.ruleNames);let r=yt.getNodeText(t,s);r=zu(r,!1);const h=t.getChildCount();if(h===0)return r;let a="("+r+" ";h>0&&(r=yt.toStringTree(t.getChild(0),s),a=a.concat(r));for(let o=1;ot.getText()).join("")}getAltNumber(){return G.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?Ne.toStringTree(this,null,t[0]):Ne.toStringTree(this,t[0],t[1])}toString(t,s){t=t??null,s=s??null;let n=this,r="[";for(;n!==null&&n!==s;){if(t===null)n.isEmpty()||(r+=n.invokingState);else{const h=n.ruleIndex,a=h>=0&&h{super(..._l);E(this,"start",null);E(this,"stop",null);E(this,"exception",null)};s?t(s,n):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(s){super.parent=s}copyFrom(s){this.parent=s.parent,this.invokingState=s.invokingState,this.children=null,this.start=s.start,this.stop=s.stop,s.children&&(this.children=[],s.children.forEach(n=>{n instanceof n1&&(this.children.push(n),n.parent=this)},this))}enterRule(s){}exitRule(s){}addAnyChild(s){return this.children==null&&(this.children=[]),this.children.push(s),s}addChild(s){return this.addAnyChild(s)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(s){const n=new le(s);return this.addAnyChild(n),n.parent=this,n}addErrorNode(s){return s.parent=this,this.addAnyChild(s)}getChild(s,n){if(this.children===null||s<0||s>=this.children.length)return null;if(n){for(const r of this.children)if(r instanceof n){if(s===0)return r;s-=1}return null}else return this.children[s]}getToken(s,n){var r;if(this.children===null||n<0||n>=this.children.length)return null;for(const h of this.children)if(h instanceof le&&((r=h.symbol)==null?void 0:r.type)===s){if(n===0)return h;n-=1}return null}getTokens(s){var n;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof le&&((n=h.symbol)==null?void 0:n.type)===s&&r.push(h);return r}}getRuleContext(s,n){return this.getChild(s,n)}getRuleContexts(s){if(this.children===null)return[];{const n=[];for(const r of this.children)r instanceof s&&n.push(r);return n}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?j.INVALID_INTERVAL:new j(this.start.tokenIndex,this.stop.tokenIndex)}},A(c0,"ParserRuleContext"),E(c0,"EMPTY",new c0),c0),pr=A((i,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return Z.EMPTY;const s=pr(i,t.parent),r=i.states[t.invokingState].transitions[0];return bt.create(s,r.followState.stateNumber)},"predictionContextFromRuleContext"),Ya=A((i,t,s)=>{if(i.isEmpty())return i;let n=s.get(i)||null;if(n!==null)return n;if(n=t.get(i),n!==null)return s.set(i,n),n;let r=!1,h=[];for(let o=0;o{if(i===t)return i;if(i instanceof bt&&t instanceof bt)return a7(i,t,s,n);if(s){if(i instanceof Va)return i;if(t instanceof Va)return t}return i instanceof bt&&(i=new pe([i.parent],[i.returnState])),t instanceof bt&&(t=new pe([t.parent],[t.returnState])),r7(i,t,s,n)},"merge"),r7=A((i,t,s,n)=>{if(n!==null){let W=n.get(i,t);if(W!==null||(W=n.get(t,i),W!==null))return W}let r=0,h=0,a=0,o=new Array(i.returnStates.length+t.returnStates.length).fill(0),c=new Array(i.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new Pe;for(const s of i)s&&(t.containsKey(s)||t.set(s,s));for(let s=0;s{if(n!==null){let h=n.get(i,t);if(h!==null||(h=n.get(t,i),h!==null))return h}const r=o7(i,t,s);if(r!==null)return n!==null&&n.set(i,t,r),r;if(i.returnState===t.returnState){const h=Nr(i.parent,t.parent,s,n);if(h===i.parent)return i;if(h===t.parent)return t;const a=bt.create(h,i.returnState);return n!==null&&n.set(i,t,a),a}else{let h=null;if((i===t||i.parent!==null&&i.parent===t.parent)&&(h=i.parent),h!==null){const u=[i.returnState,t.returnState];i.returnState>t.returnState&&(u[0]=t.returnState,u[1]=i.returnState);const W=[h,h],K=new pe(W,u);return n!==null&&n.set(i,t,K),K}const a=[i.returnState,t.returnState];let o=[i.parent,t.parent];i.returnState>t.returnState&&(a[0]=t.returnState,a[1]=i.returnState,o=[t.parent,i.parent]);const c=new pe(o,a);return n!==null&&n.set(i,t,c),c}},"mergeSingletons"),o7=A((i,t,s)=>{if(s){if(i===Z.EMPTY||t===Z.EMPTY)return Z.EMPTY}else{if(i===Z.EMPTY&&t===Z.EMPTY)return Z.EMPTY;if(i===Z.EMPTY){const n=[t.returnState,Z.EMPTY_RETURN_STATE],r=[t.parent,null];return new pe(r,n)}else if(t===Z.EMPTY){const n=[i.returnState,Z.EMPTY_RETURN_STATE],r=[i.parent,null];return new pe(r,n)}}return null},"mergeRoot"),qt=(Z1=class{constructor(t){E(this,"data");t?this.data=new Uint32Array(t.map(s=>s>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let s=0,n=this.data[s];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;s>>5]&=~(1<>>5;return s>=this.data.length?!1:(this.data[s]&1<t)return s}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(s<=this.data.length)return;const n=new Uint32Array(s);n.set(this.data),n.fill(0,this.data.length),this.data=n}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},A(Z1,"BitSet"),Z1),c7=A(i=>i.hashCodeForConfigSet(),"hashATNConfig"),u7=A((i,t)=>i===t?!0:i===null||t===null?!1:i.equalsForConfigSet(t),"equalATNConfigs"),Qt=(y0=class{constructor(t){E(this,"configs",[]);E(this,"hasSemanticContext",!1);E(this,"dipsIntoOuterContext",!1);E(this,"fullCtx");E(this,"uniqueAlt",0);E(this,"configLookup",new wt(c7,u7));E(this,"conflictingAlts",null);E(this,"readOnly",!1);E(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,s){if(s===void 0&&(s=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==v.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(t);if(n===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=Nr(n.context,t.context,r,s);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=h,!0}getStates(){const t=new wt;for(const s of this.configs)t.add(s.state);return t}getPredicates(){const t=[];for(const s of this.configs)s.semanticContext!==v.NONE&&t.push(s.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const s of this.configs)s.context=t.getCachedContext(s.context)}addAll(t){for(const s of t)this.add(s,null);return!1}equals(t){return this===t||t instanceof y0&&s1(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new vt;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new wt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new wt)}toString(){return $e(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==G.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new qt;for(let s of this.configs)t.set(s.alt);return t}},A(y0,"ATNConfigSet"),y0),Ee=(M0=class{constructor(t){E(this,"stateNumber",-1);E(this,"configs",new Qt);E(this,"edges",null);E(this,"isAcceptState",!1);E(this,"prediction",-1);E(this,"lexerActionExecutor",null);E(this,"requiresFullContext",!1);E(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new vt;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof M0?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=$e(this.predicates):t+=this.prediction),t.toString()}},A(M0,"DFAState"),M0);(i=>{const s=class s{constructor(r,h){E(this,"pred");E(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};A(s,"PredPrediction");let t=s;i.PredPrediction=t})(Ee||(Ee={}));var te=(w0=class{constructor(t,s){E(this,"atn");E(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=s,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const s=new Pe;return Ya(t,this.sharedContextCache,s)}getSharedContextCache(){return this.sharedContextCache}},A(w0,"ATNSimulator"),E(w0,"ERROR",new Ee(2147483647)),w0),Ga=(j1=class extends Qt{constructor(){super(),this.configLookup=new wt}},A(j1,"OrderedATNConfigSet"),j1),ee=(Fe=class{constructor(){E(this,"atn");E(this,"stateNumber");E(this,"ruleIndex");E(this,"epsilonOnlyTransitions");E(this,"nextTokenWithinRule");E(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Fe.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Fe?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,s){s===void 0&&(s=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),s===-1?this.transitions.push(t):this.transitions.splice(s,1,t)}},A(Fe,"ATNState"),E(Fe,"INVALID_STATE_NUMBER",-1),Fe),V={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Lt=(z1=class extends ee{get stateType(){return V.RULE_STOP}},A(z1,"RuleStopState"),z1),He=(J1=class extends ee{constructor(){super(...arguments);E(this,"decision",-1);E(this,"nonGreedy",!1)}},A(J1,"DecisionState"),J1),se=(b0=class extends lt{constructor(s,n){super(s,n);E(this,"lexerActionExecutor");E(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=s.lexerActionExecutor??(n==null?void 0:n.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=n!==null?this.checkNonGreedyDecision(n,this.state):!1,this}updateHashCode(s){s.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(s){return this===s||s instanceof b0&&this.passedThroughNonGreedyDecision===s.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(s.lexerActionExecutor):!s.lexerActionExecutor)&&super.equals(s)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(s){return this.equals(s)}checkNonGreedyDecision(s,n){return s.passedThroughNonGreedyDecision||n instanceof He&&n.nonGreedy}},A(b0,"LexerATNConfig"),b0),ne=($1=class{constructor(t){E(this,"actionType");E(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new vt;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},A($1,"LexerAction"),$1),Or=(F0=class extends ne{constructor(s,n){super(n.actionType);E(this,"offset");E(this,"action");this.offset=s,this.action=n,this.isPositionDependent=!0}execute(s){this.action.execute(s)}updateHashCode(s){s.update(this.actionType,this.offset,this.action)}equals(s){return this===s?!0:s instanceof F0?this.offset===s.offset&&this.action===s.action:!1}},A(F0,"LexerIndexedCustomAction"),F0),l7=(We=class extends ne{constructor(s){super(-1);E(this,"lexerActions");E(this,"cachedHashCode");return this.lexerActions=s===null?[]:s,this.cachedHashCode=vt.hashStuff(s),this}static append(s,n){if(s===null)return new We([n]);const r=s.lexerActions.concat([n]);return new We(r)}fixOffsetBeforeMatch(s){let n=null;for(let r=0;r",t+=this.getStateString(a),t+=` -`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const s=t.stateNumber,n=(t.isAcceptState?":":"")+"s"+s+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${n}=>${t.predicates.toString()}`:`${n}=>${t.prediction}`:`${n}`}},A(P1,"DFASerializer"),P1),ie=(mt=class{constructor(t,s,n){E(this,"maxTokenType");E(this,"literalNames");E(this,"symbolicNames");E(this,"displayNames");this.literalNames=t??mt.EMPTY_NAMES,this.symbolicNames=s??mt.EMPTY_NAMES,this.displayNames=n??mt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return mt.EMPTY_VOCABULARY;const s=[...t],n=[...t];for(let r=0;r0){const a=h.charAt(0);if(a==="'"){n[r]=null;continue}else if(a.toUpperCase()===a){s[r]=null;continue}}s[r]=null,n[r]=null}}return new mt(s,n,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(s)+"'")}},A(H1,"LexerDFASerializer"),H1),Oe=(v1=class extends He{constructor(){super();E(this,"loopBackState");E(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return V.STAR_LOOP_ENTRY}},A(v1,"StarLoopEntryState"),v1),ve=(q1=class{constructor(t,s){E(this,"states",new wt);E(this,"s0",null);E(this,"decision");E(this,"atnStartState");E(this,"precedenceDfa");E(this,"isPrecedenceDfa",()=>this.precedenceDfa);E(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});E(this,"setPrecedenceStartState",(t,s)=>{var n;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((n=this.s0)!=null&&n.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=s}});this.atnStartState=t,this.decision=s??0;let n=!1;if(t instanceof Oe&&t.precedenceRuleDecision){n=!0;const r=new Ee;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=n}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((s,n)=>s.stateNumber-n.stateNumber),t}toString(t){return t?this.s0===null?"":new Xa(this,t).toString()??"":this.toString(ie.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new E7(this).toString()??""}},A(q1,"DFA"),q1),qe=($=class extends te{constructor(s,n,r,h){super(n,h);E(this,"decisionToDFA");E(this,"recog",null);E(this,"startIndex",-1);E(this,"line",1);E(this,"column",0);E(this,"mode",Ft.DEFAULT_MODE);E(this,"prevAccept",new $.SimState);this.decisionToDFA=r,this.recog=s}copyState(s){this.column=s.column,this.line=s.line,this.mode=s.mode,this.startIndex=s.startIndex}match(s,n){this.mode=n;const r=s.mark();try{this.startIndex=s.index,this.prevAccept.reset();const h=this.decisionToDFA[n];return h.s0===null?this.matchATN(s):this.execATN(s,h.s0)}finally{s.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Ft.DEFAULT_MODE}getDFA(s){return this.decisionToDFA[s]}getText(s){return s.getText(this.startIndex,s.index-1)}consume(s){s.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,s.consume()}getTokenName(s){return s===-1?"EOF":"'"+String.fromCharCode(s)+"'"}clearDFA(){for(let s=0;s$.MAX_DFA_EDGE)return null;let r=s.edges[n-$.MIN_DFA_EDGE];return r===void 0&&(r=null),$.debug&&r!==null&&console.log("reuse state "+s.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(s,n,r){const h=new Ga;return this.getReachableConfigSet(s,n.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(n,r,te.ERROR),te.ERROR):this.addDFAEdge(n,r,null,h)}failOrAccept(s,n,r,h){if(s.dfaState!==null){const a=s.dfaState.lexerActionExecutor;return this.accept(n,a,this.startIndex,s.index,s.line,s.column),s.dfaState.prediction}else{if(h===_.EOF&&n.index===this.startIndex)return _.EOF;throw new ei(this.recog,n,this.startIndex,r)}}getReachableConfigSet(s,n,r,h){let a=G.INVALID_ALT_NUMBER;for(const o of n.items){const c=o.alt===a;if(!(c&&o.passedThroughNonGreedyDecision)){$.debug&&console.log(`testing %s at %s -`,this.getTokenName(h),o.toString(this.recog,!0));for(const u of o.state.transitions){const W=this.getReachableTarget(u,h);if(W!==null){let K=o.lexerActionExecutor;K!==null&&(K=K.fixOffsetBeforeMatch(s.index-this.startIndex));const d=h===_.EOF,f=new se({state:W,lexerActionExecutor:K},o);this.closure(s,f,r,c,!0,d)&&(a=o.alt)}}}}}accept(s,n,r,h,a,o){$.debug&&console.log(`ACTION %s -`,n),s.seek(h),this.line=a,this.column=o,n!==null&&this.recog!==null&&n.execute(this.recog,s,r)}getReachableTarget(s,n){return s.matches(n,0,Ft.MAX_CHAR_VALUE)?s.target:null}computeStartState(s,n){const r=Z.EMPTY,h=new Ga;for(let a=0;a$.MAX_DFA_EDGE||($.debug&&console.log("EDGE "+s+" -> "+r+" upon "+n),s.edges===null&&(s.edges=new Array($.MAX_DFA_EDGE-$.MIN_DFA_EDGE+1),s.edges.fill(null)),s.edges[n-$.MIN_DFA_EDGE]=r),r}addDFAState(s){const n=new Ee(s);let r=null;for(const c of s.items)if(c.state instanceof Lt){r=c;break}r!==null&&(n.isAcceptState=!0,n.lexerActionExecutor=r.lexerActionExecutor,n.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],a=h.states.get(n);if(a!==null)return a;const o=n;return o.stateNumber=h.states.length,s.setReadonly(!0),o.configs=s,h.states.add(o),o}},A($,"LexerATNSimulator"),E($,"MIN_DFA_EDGE",0),E($,"MAX_DFA_EDGE",127),E($,"debug",!1),E($,"dfa_debug",!1),$);(i=>{const s=class s{constructor(){E(this,"index",-1);E(this,"line",0);E(this,"column",-1);E(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};A(s,"SimState");let t=s;i.SimState=t})(qe||(qe={}));var Ft=(Rt=class extends Ba{constructor(s){super();E(this,"_input");E(this,"_token",null);E(this,"_tokenStartCharIndex",-1);E(this,"_tokenStartLine",0);E(this,"_tokenStartColumn",0);E(this,"_hitEOF",!1);E(this,"_channel",0);E(this,"_type",0);E(this,"_modeStack",[]);E(this,"_mode",Rt.DEFAULT_MODE);E(this,"_text",null);E(this,"_factory");this._input=s,this._factory=i7.DEFAULT}reset(s=!0){s&&this._input.seek(0),this._token=null,this._type=_.INVALID_TYPE,this._channel=_.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Rt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const s=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=_.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let n=!1;for(;;){this._type=_.INVALID_TYPE;let r=Rt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof ei)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===_.EOF&&(this._hitEOF=!0),this._type===_.INVALID_TYPE&&(this._type=r),this._type===Rt.SKIP){n=!0;break}if(this._type!==Rt.MORE)break}if(!n)return this._token===null&&this.emit(),this._token}}finally{this._input.release(s)}}skip(){this._type=Rt.SKIP}more(){this._type=Rt.MORE}mode(s){this._mode=s}pushMode(s){qe.debug&&console.log("pushMode "+s),this._modeStack.push(this._mode),this.mode(s)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return qe.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(s){this._token=s}emit(){const s=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(s),s}emitEOF(){const s=this.column,n=this.line,r=this._factory.create([this,this._input],_.EOF,null,_.DEFAULT_CHANNEL,this._input.index,this._input.index-1,n,s);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const s=[];let n=this.nextToken();for(;n.type!==_.EOF;)s.push(n),n=this.nextToken();return s}notifyListeners(s){const n=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(n,r),a="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,a,s)}getErrorDisplay(s){return s}getErrorDisplayForChar(s){return s.charCodeAt(0)===_.EOF?"":s===` -`?"\\n":s===" "?"\\t":s==="\r"?"\\r":s}getCharErrorDisplay(s){return"'"+this.getErrorDisplayForChar(s)+"'"}recover(s){this._input.LA(1)!==_.EOF&&(s instanceof ei?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(s){this.reset(!1),this._input=s}set tokenFactory(s){this._factory=s}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(s){this._type=s}get line(){return this.interpreter.line}set line(s){this.interpreter.line=s}get column(){return this.interpreter.column}set column(s){this.interpreter.column=s}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(s){this._text=s}},A(Rt,"Lexer"),E(Rt,"DEFAULT_MODE",0),E(Rt,"MORE",-2),E(Rt,"SKIP",-3),E(Rt,"DEFAULT_TOKEN_CHANNEL",_.DEFAULT_CHANNEL),E(Rt,"HIDDEN",_.HIDDEN_CHANNEL),E(Rt,"MIN_CHAR_VALUE",0),E(Rt,"MAX_CHAR_VALUE",1114111),Rt),dt=(it=class{constructor(t){E(this,"intervals",[]);E(this,"readOnly",!1);t&&this.addSet(t)}static of(t,s){const n=new it;return n.addRange(t,s),n}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?_.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?_.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new j(t,t))}addRange(t,s){this.addInterval(new j(t,s))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let s=0;sthis.addInterval(s),this),this}complement(t,s){if(!t)return new it;const n=new it;if(t instanceof it){if(t.isNil)return new it;n.addSet(t)}else n.addInterval(new j(t,s??0));return n.subtract(this)}or(t){const s=new it;return s.addSet(this),t.forEach(n=>s.addSet(n)),s}and(t){if(t.isNil)return new it;const s=this.intervals,n=t.intervals;let r;const h=s.length,a=n.length;let o=0,c=0;for(;oh.stop){n++;continue}let o=null,c=null;if(a.start>h.start&&(o=new j(h.start,a.start-1)),a.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let s=0;for(const n of this.intervals){if(t.stop<=n.start)return;if(t.start>n.start&&t.stop=n.stop?(this.intervals.splice(s,1),s=s-1):t.start1&&(s+="{");let n=!1,r;t instanceof ie?r=t:Array.isArray(t)?r=ie.fromTokenNames(t):n=t??!1;for(let h=0;h":n?s+="'"+String.fromCodePoint(o)+"'":r?s+=this.elementName(r,o):s+=o;else if(n)s+="'"+String.fromCodePoint(o)+"'..'"+String.fromCodePoint(c)+"'";else if(r)for(let u=o;u<=c;++u)u>o&&(s+=", "),s+=this.elementName(r,u);else s+=o+".."+c;h1&&(s+="}"),s}toArray(){const t=[];for(const s of this.intervals)for(let n=s.start;n<=s.stop;n++)t.push(n);return t}get length(){let t=0;if(this.intervals.length===1){const n=this.intervals[0];return n.stop-n.start+1}for(const n of this.intervals)t+=n.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,s){return s===_.EOF?"":s===_.EPSILON?"":t.getDisplayName(s)}},A(it,"IntervalSet"),E(it,"COMPLETE_CHAR_SET",it.of(Ft.MIN_CHAR_VALUE,Ft.MAX_CHAR_VALUE)),E(it,"EMPTY_SET",new it),it.COMPLETE_CHAR_SET.readOnly=!0,it.EMPTY_SET.readOnly=!0,it),si=(ts=class extends xe{constructor(s,n,r,h){super(s);E(this,"ruleIndex");E(this,"precedence");E(this,"followState");this.ruleIndex=n,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return U.RULE}matches(s,n,r){return!1}},A(ts,"RuleTransition"),ts),gr=(es=class extends xe{constructor(s,n){super(s);J(this,Be,void 0);n!=null?Q(this,Be,n):(Q(this,Be,new dt),L(this,Be).addOne(_.INVALID_TYPE))}get label(){return L(this,Be)}get serializationType(){return U.SET}matches(s,n,r){return this.label.contains(s)}toString(){return L(this,Be).toString()}},Be=new WeakMap,A(es,"SetTransition"),es),Ir=(ss=class extends gr{constructor(t,s){super(t,s)}get serializationType(){return U.NOT_SET}matches(t,s,n){return t>=s&&t<=n&&!super.matches(t,s,n)}toString(){return"~"+super.toString()}},A(ss,"NotSetTransition"),ss),Qa=(ns=class extends xe{constructor(t){super(t)}get serializationType(){return U.WILDCARD}matches(t,s,n){return t>=s&&t<=n}toString(){return"."}},A(ns,"WildcardTransition"),ns),R7=(Ve=class{constructor(t){E(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const s=t.transitions.length,n=new Array(s);n.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const n=this.states[t];let r=this.nextTokens(n);if(!r.contains(_.EPSILON))return r;let h=s;const a=new dt;for(a.addSet(r),a.removeOne(_.EPSILON);h!==null&&h.invokingState>=0&&r.contains(_.EPSILON);){const c=this.states[h.invokingState].transitions[0];r=this.nextTokens(c.followState),a.addSet(r),a.removeOne(_.EPSILON),h=h.parent}return r.contains(_.EPSILON)&&a.addOne(_.EOF),a}nextTokens(t,s){return s===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new R7(this).LOOK(t,null,s)}},A(B0,"ATN"),E(B0,"INVALID_ALT_NUMBER",0),B0),Za=(Ye=class{constructor(t){E(this,"readOnly",!1);E(this,"verifyATN");E(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},A(Ye,"ATNDeserializationOptions"),E(Ye,"defaultOptions",new Ye),Ye.defaultOptions.readOnly=!0,Ye),i1={LEXER:0,PARSER:1},ja=(is=class extends ee{get stateType(){return V.BASIC}},A(is,"BasicState"),is),_0=(rs=class extends He{constructor(){super();E(this,"endState");this.endState=null}},A(rs,"BlockStartState"),rs),kr=(hs=class extends ee{constructor(){super(...arguments);E(this,"startState",null)}get stateType(){return V.BLOCK_END}},A(hs,"BlockEndState"),hs),t0=(as=class extends ee{constructor(){super(...arguments);E(this,"loopBackState",null)}get stateType(){return V.LOOP_END}},A(as,"LoopEndState"),as),za=(os=class extends ee{constructor(){super();E(this,"stopState");E(this,"isLeftRecursiveRule");E(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return V.RULE_START}},A(os,"RuleStartState"),os),T7=(cs=class extends He{get stateType(){return V.TOKEN_START}},A(cs,"TokensStartState"),cs),Ja=(us=class extends He{get stateType(){return V.PLUS_LOOP_BACK}},A(us,"PlusLoopbackState"),us),Dr=(ls=class extends ee{get stateType(){return V.STAR_LOOP_BACK}},A(ls,"StarLoopbackState"),ls),Ur=(Es=class extends _0{constructor(){super(...arguments);E(this,"loopBackState")}get stateType(){return V.PLUS_BLOCK_START}},A(Es,"PlusBlockStartState"),Es),Sr=(Rs=class extends _0{get stateType(){return V.STAR_BLOCK_START}},A(Rs,"StarBlockStartState"),Rs),$a=(Ts=class extends _0{get stateType(){return V.BLOCK_START}},A(Ts,"BasicBlockStartState"),Ts),ni=(Ks=class extends xe{constructor(s,n){super(s);E(this,"labelValue");J(this,Ws,void 0);this.labelValue=n,Q(this,Ws,dt.of(n,n))}get label(){return L(this,Ws)}matches(s,n,r){return this.labelValue===s}get serializationType(){return U.ATOM}toString(){return this.labelValue.toString()}},Ws=new WeakMap,A(Ks,"AtomTransition"),Ks),Pa=(As=class extends xe{constructor(s,n,r){super(s);E(this,"start");E(this,"stop");J(this,ds,new dt);this.start=n,this.stop=r,L(this,ds).addRange(n,r)}get label(){return L(this,ds)}get serializationType(){return U.RANGE}matches(s,n,r){return s>=this.start&&s<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ds=new WeakMap,A(As,"RangeTransition"),As),r1=(Cs=class extends xe{constructor(s,n=-1){super(s);J(this,ms,void 0);Q(this,ms,n)}get isEpsilon(){return!0}matches(s,n,r){return!1}get outermostPrecedenceReturn(){return L(this,ms)}get serializationType(){return U.EPSILON}toString(){return"epsilon"}},ms=new WeakMap,A(Cs,"EpsilonTransition"),Cs),Ha=(fs=class extends Lr{constructor(s,n,r,h){super(s);E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=n,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(s,n,r){return!1}get serializationType(){return U.PREDICATE}getPredicate(){return new v.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},A(fs,"PredicateTransition"),fs),W7=(_s=class extends Lr{constructor(s,n){super(s);E(this,"precedence");this.precedence=n}get isEpsilon(){return!0}matches(s,n,r){return!1}getPredicate(){return new v.PrecedencePredicate(this.precedence)}get serializationType(){return U.PRECEDENCE}toString(){return this.precedence+" >= _p"}},A(_s,"PrecedencePredicateTransition"),_s),At={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},K7=(u0=class extends ne{constructor(){super(At.SKIP)}execute(t){t.skip()}toString(){return"skip"}},A(u0,"LexerSkipAction"),E(u0,"INSTANCE",new u0),u0),d7=(V0=class extends ne{constructor(s){super(At.CHANNEL);E(this,"channel");this.channel=s}execute(s){s._channel=this.channel}updateHashCode(s){s.update(this.actionType,this.channel)}equals(s){return this===s?!0:s instanceof V0?this.channel===s.channel:!1}toString(){return"channel("+this.channel+")"}},A(V0,"LexerChannelAction"),V0),A7=(Y0=class extends ne{constructor(s,n){super(At.CUSTOM);E(this,"ruleIndex");E(this,"actionIndex");this.ruleIndex=s,this.actionIndex=n,this.isPositionDependent=!0}execute(s){s.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(s){s.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(s){return this===s?!0:s instanceof Y0?this.ruleIndex===s.ruleIndex&&this.actionIndex===s.actionIndex:!1}},A(Y0,"LexerCustomAction"),Y0),m7=(l0=class extends ne{constructor(){super(At.MORE)}execute(t){t.more()}toString(){return"more"}},A(l0,"LexerMoreAction"),E(l0,"INSTANCE",new l0),l0),C7=(G0=class extends ne{constructor(s){super(At.TYPE);E(this,"type");this.type=s}execute(s){s._type=this.type}updateHashCode(s){s.update(this.actionType,this.type)}equals(s){return this===s?!0:s instanceof G0?this.type===s.type:!1}toString(){return"type("+this.type+")"}},A(G0,"LexerTypeAction"),G0),f7=(X0=class extends ne{constructor(s){super(At.PUSH_MODE);E(this,"mode");this.mode=s}execute(s){s.pushMode(this.mode)}updateHashCode(s){s.update(this.actionType,this.mode)}equals(s){return this===s?!0:s instanceof X0?this.mode===s.mode:!1}toString(){return"pushMode("+this.mode+")"}},A(X0,"LexerPushModeAction"),X0),_7=(E0=class extends ne{constructor(){super(At.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},A(E0,"LexerPopModeAction"),E(E0,"INSTANCE",new E0),E0),L7=(Q0=class extends ne{constructor(s){super(At.MODE);E(this,"mode");this.mode=s}execute(s){s.mode(this.mode)}updateHashCode(s){s.update(this.actionType,this.mode)}equals(s){return this===s?!0:s instanceof Q0?this.mode===s.mode:!1}toString(){return"mode("+this.mode+")"}},A(Q0,"LexerModeAction"),Q0),yr=A((i,t)=>{const s=new Array(i-1);return s[i-1]=t,s.map(()=>t)},"initArray"),h1=(Ge=class{constructor(t){E(this,"data",[]);E(this,"pos",0);E(this,"deserializationOptions");E(this,"stateFactories",null);E(this,"actionFactories",null);t||(t=Za.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const s=this.readATN();this.readStates(s),this.readRules(s),this.readModes(s);const n=[];return this.readSets(s,n),this.readEdges(s,n),this.readDecisions(s),this.readLexerActions(s),this.markPrecedenceDecisions(s),this.verifyATN(s),this.deserializationOptions.generateRuleBypassTransitions&&s.grammarType===i1.PARSER&&(this.generateRuleBypassTransitions(s),this.verifyATN(s)),s}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==Ge.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+Ge.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),s=this.readInt();return new G(t,s)}readStates(t){let s,n;const r=[],h=[],a=this.readInt();for(let u=0;u0;)h.addTransition(u.transitions[W-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[s].addTransition(new r1(h)),c&&a.addTransition(new r1(c));const K=new ja;t.addState(K),K.addTransition(new ni(a,t.ruleToTokenType[s])),h.addTransition(new r1(K))}stateIsEndStateFor(t,s){if(t.ruleIndex!==s||!(t instanceof Oe))return null;const n=t.transitions[t.transitions.length-1].target;return n instanceof t0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Lt?t:null}markPrecedenceDecisions(t){for(const s of t.states)if(s instanceof Oe&&t.ruleToStartState[s.ruleIndex].isPrecedenceRule){const n=s.transitions[s.transitions.length-1].target;n instanceof t0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Lt&&(s.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const s of t.states)if(s!==null)if(this.checkCondition(s.epsilonOnlyTransitions||s.transitions.length<=1),s instanceof Ur)this.checkCondition(s.loopBackState!==null);else if(s instanceof Oe)if(this.checkCondition(s.loopBackState!==null),this.checkCondition(s.transitions.length===2),s.transitions[0].target instanceof Sr)this.checkCondition(s.transitions[1].target instanceof t0),this.checkCondition(!s.nonGreedy);else if(s.transitions[0].target instanceof t0)this.checkCondition(s.transitions[1].target instanceof Sr),this.checkCondition(s.nonGreedy);else throw new Error("IllegalState");else s instanceof Dr?(this.checkCondition(s.transitions.length===1),this.checkCondition(s.transitions[0].target instanceof Oe)):s instanceof t0?this.checkCondition(s.loopBackState!==null):s instanceof za?this.checkCondition(s.stopState!==null):s instanceof _0?this.checkCondition(s.endState!==null):s instanceof kr?this.checkCondition(s.startState!==null):s instanceof He?this.checkCondition(s.transitions.length<=1||s.decision>=0):this.checkCondition(s.transitions.length<=1||s instanceof Lt)}}checkCondition(t,s){if(!t)throw s==null&&(s="IllegalState"),s}readInt(){return this.data[this.pos++]}edgeFactory(t,s,n,r,h,a,o){const c=t.states[n];switch(s){case U.EPSILON:return new r1(c);case U.RANGE:return a!==0?new Pa(c,_.EOF,h):new Pa(c,r,h);case U.RULE:return new si(t.states[r],h,a,c);case U.PREDICATE:return new Ha(c,r,h,a!==0);case U.PRECEDENCE:return new W7(c,r);case U.ATOM:return a!==0?new ni(c,_.EOF):new ni(c,r);case U.ACTION:return new Ua(c,r,h,a!==0);case U.SET:return new gr(c,o[r]);case U.NOT_SET:return new Ir(c,o[r]);case U.WILDCARD:return new Qa(c);default:throw new Error("The specified transition type: "+s+" is not valid.")}}stateFactory(t,s){var n,r;if(this.stateFactories===null){const h=[];h[V.INVALID_TYPE]=null,h[V.BASIC]=()=>new ja,h[V.RULE_START]=()=>new za,h[V.BLOCK_START]=()=>new $a,h[V.PLUS_BLOCK_START]=()=>new Ur,h[V.STAR_BLOCK_START]=()=>new Sr,h[V.TOKEN_START]=()=>new T7,h[V.RULE_STOP]=()=>new Lt,h[V.BLOCK_END]=()=>new kr,h[V.STAR_LOOP_BACK]=()=>new Dr,h[V.STAR_LOOP_ENTRY]=()=>new Oe,h[V.PLUS_LOOP_BACK]=()=>new Ja,h[V.LOOP_END]=()=>new t0,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(n=this.stateFactories)[t])==null?void 0:r.call(n))??null;if(h!==null)return h.ruleIndex=s,h}return null}lexerActionFactory(t,s,n){if(this.actionFactories===null){const r=[];r[At.CHANNEL]=(h,a)=>new d7(h),r[At.CUSTOM]=(h,a)=>new A7(h,a),r[At.MODE]=(h,a)=>new L7(h),r[At.MORE]=(h,a)=>m7.INSTANCE,r[At.POP_MODE]=(h,a)=>_7.INSTANCE,r[At.PUSH_MODE]=(h,a)=>new f7(h),r[At.SKIP]=(h,a)=>K7.INSTANCE,r[At.TYPE]=(h,a)=>new C7(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](s,n)}},A(Ge,"ATNDeserializer"),E(Ge,"SERIALIZED_VERSION",4),Ge),O=(Ls=class extends T{constructor(s,n=null,r=null,h=null,a=null,o=null){o=o??s.context,h=h??s.getCurrentToken(),r=r??s.getCurrentToken(),n=n??s.inputStream;super({message:"",recognizer:s,input:n,ctx:o});E(this,"deadEndConfigs",null);E(this,"startToken");this.deadEndConfigs=a,this.startToken=r,this.offendingToken=h}},A(Ls,"NoViableAltException"),Ls),x7=(xs=class{constructor(){E(this,"cacheMap");this.cacheMap=new Pe}get(t,s){const n=this.cacheMap.get(t)??null;return n===null?null:n.get(s)??null}set(t,s,n){let r=this.cacheMap.get(t)??null;r===null&&(r=new Pe,this.cacheMap.set(t,r)),r.set(s,n)}},A(xs,"DoubleDict"),xs),Et=(Ct=class{static hasSLLConflictTerminatingPrediction(t,s){if(Ct.allConfigsInRuleStopStates(s))return!0;if(t===Ct.SLL&&s.hasSemanticContext){const r=new Qt;for(let h of s.items)h=new lt({semanticContext:v.NONE},h),r.add(h);s=r}const n=Ct.getConflictingAltSubsets(s);return Ct.hasConflictingAltSet(n)&&!Ct.hasStateAssociatedWithOneAlt(s)}static hasConfigInRuleStopState(t){for(const s of t.items)if(s.state instanceof Lt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const s of t.items)if(!(s.state instanceof Lt))return!1;return!0}static resolvesToJustOneViableAlt(t){return Ct.getSingleViableAlt(t)}static allSubsetsConflict(t){return!Ct.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const s of t)if(s.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const s of t)if(s.length>1)return!0;return!1}static allSubsetsEqual(t){let s=null;for(const n of t)if(s===null)s=n;else if(n!==s)return!1;return!0}static getUniqueAlt(t){const s=Ct.getAlts(t);return s.length===1?s.nextSetBit(0):G.INVALID_ALT_NUMBER}static getAlts(t){const s=new qt;return t.forEach(n=>{s.or(n)}),s}static getConflictingAltSubsets(t){const s=new Pe(n=>vt.hashStuff(n.state.stateNumber,n.context),(n,r)=>{var h;return n.state.stateNumber===r.state.stateNumber&&(((h=n.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(n=>{let r=s.get(n);r===null&&(r=new qt,s.set(n,r)),r.set(n.alt)}),s.getValues()}static getStateToAltMap(t){const s=new Pe;return t.items.forEach(n=>{let r=s.get(n.state);r||(r=new qt,s.set(n.state,r)),r.set(n.alt)}),s}static hasStateAssociatedWithOneAlt(t){const s={};return t.items.forEach(n=>{const r=n.state.stateNumber;s[r]||(s[r]=0),s[r]++}),Object.values(s).some(n=>n===1)}static getSingleViableAlt(t){let s=null;for(const n of t){const r=n.nextSetBit(0);if(s===null)s=r;else if(s!==r)return G.INVALID_ALT_NUMBER}return s??0}},A(Ct,"PredictionMode"),E(Ct,"SLL",0),E(Ct,"LL",1),E(Ct,"LL_EXACT_AMBIG_DETECTION",2),Ct),ii=(y=class extends te{constructor(s,n,r,h){super(n,h);E(this,"predictionMode");E(this,"decisionToDFA");E(this,"parser");E(this,"mergeCache",null);E(this,"_input",null);E(this,"_startIndex",0);E(this,"_outerContext",null);E(this,"_dfa",null);this.parser=s,this.decisionToDFA=r}static getUniqueAlt(s){let n=G.INVALID_ALT_NUMBER;for(const r of s.items)if(n===G.INVALID_ALT_NUMBER)n=r.alt;else if(r.alt!==n)return G.INVALID_ALT_NUMBER;return n}reset(){}clearDFA(){for(let s=0;s"}getTokenName(s){if(s===_.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:ie.EMPTY_VOCABULARY).getDisplayName(s);return r===s.toString()?r:r+"<"+s+">"}getLookaheadName(s){return this.getTokenName(s.LA(1))}dumpDeadEndConfigs(s){console.log("dead end configs: ");const n=s.deadEndConfigs.items;for(const r of n){let h="no edges";if(r.state.transitions.length>0){const a=r.state.transitions[0];a instanceof ni?h="Atom "+this.getTokenName(a.labelValue):a instanceof gr&&(h=(a instanceof Ir?"~":"")+"Set "+a.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(s,n){const r=n.transitions.length,h=this.getConflictingAltsOrUniqueAlt(s.configs),a=this.getPredsForAmbigAlts(h,s.configs,r);a!==null?(s.predicates=this.getPredicatePredictions(h,a),s.prediction=G.INVALID_ALT_NUMBER):s.prediction=h.nextSetBit(0)}execATNWithFullContext(s,n,r,h,a,o){(y.debug||y.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const c=!0;let u=!1,W,K=r;h.seek(a);let d=h.LA(1),f=-1;for(;;){if(W=this.computeReachSet(K,d,c),W===null){const I=this.noViableAlt(h,o,K,a);h.seek(a);const k=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(K,o);if(k!==G.INVALID_ALT_NUMBER)return k;throw I}const N=Et.getConflictingAltSubsets(W);if(y.debug&&console.log("LL altSubSets="+N+", predict="+Et.getUniqueAlt(N)+", resolvesToJustOneViableAlt="+Et.resolvesToJustOneViableAlt(N)),W.uniqueAlt=y.getUniqueAlt(W),W.uniqueAlt!==G.INVALID_ALT_NUMBER){f=W.uniqueAlt;break}else if(this.predictionMode!==Et.LL_EXACT_AMBIG_DETECTION){if(f=Et.resolvesToJustOneViableAlt(N),f!==G.INVALID_ALT_NUMBER)break}else if(Et.allSubsetsConflict(N)&&Et.allSubsetsEqual(N)){u=!0,f=Et.getSingleViableAlt(N);break}K=W,d!==_.EOF&&(h.consume(),d=h.LA(1))}return W.uniqueAlt!==G.INVALID_ALT_NUMBER?(this.reportContextSensitivity(s,f,W,a,h.index),f):(this.reportAmbiguity(s,n,a,h.index,u,null,W),f)}computeReachSet(s,n,r){y.debug&&console.log("in computeReachSet, starting closure: "+s),this.mergeCache===null&&(this.mergeCache=new x7);const h=new Qt(r);let a=null;for(const c of s.items){if(y.debug&&console.log("testing "+this.getTokenName(n)+" at "+c),c.state instanceof Lt){(r||n===_.EOF)&&(a===null&&(a=[]),a.push(c));continue}for(const u of c.state.transitions){const W=this.getReachableTarget(u,n);if(W!==null){const K=new lt({state:W},c);h.add(K,this.mergeCache)}}}let o=null;if(a===null&&n!==_.EOF&&(h.items.length===1||y.getUniqueAlt(h)!==G.INVALID_ALT_NUMBER)&&(o=h),o===null){o=new Qt(r);const c=new wt,u=n===_.EOF;for(const W of h.items)this.closure(W,o,c,!1,r,u)}if(n===_.EOF&&(o=this.removeAllConfigsNotInRuleStopState(o,o===h)),a!==null&&(!r||!Et.hasConfigInRuleStopState(o)))for(const c of a)o.add(c,this.mergeCache);return o.items.length===0?null:o}removeAllConfigsNotInRuleStopState(s,n){if(Et.allConfigsInRuleStopStates(s))return s;const r=new Qt(s.fullCtx);for(const h of s.items){if(h.state instanceof Lt){r.add(h,this.mergeCache);continue}if(n&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(_.EPSILON)){const o=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new lt({state:o},h),this.mergeCache)}}return r}computeStartState(s,n,r){const h=pr(this.atn,n),a=new Qt(r);for(let o=0;o0&&(o=this.getAltThatFinishedDecisionEntryRule(a),o!==G.INVALID_ALT_NUMBER)?o:G.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(s){const n=[];for(const r of s.items)(r.reachesIntoOuterContext>0||r.state instanceof Lt&&r.context.hasEmptyPath())&&n.indexOf(r.alt)<0&&n.push(r.alt);return n.length===0?G.INVALID_ALT_NUMBER:Math.min(...n)}splitAccordingToSemanticValidity(s,n){const r=new Qt(s.fullCtx),h=new Qt(s.fullCtx);for(const a of s.items)a.semanticContext!==v.NONE?a.semanticContext.evaluate(this.parser,n)?r.add(a):h.add(a):r.add(a);return[r,h]}evalSemanticContext(s,n,r){const h=new qt;for(const a of s){if(a.pred===v.NONE){if(h.set(a.alt),!r)break;continue}const o=a.pred.evaluate(this.parser,n);if((y.debug||y.dfa_debug)&&console.log("eval pred "+a+"="+o),o&&((y.debug||y.dfa_debug)&&console.log("PREDICT "+a.alt),h.set(a.alt),!r))break}return h}closure(s,n,r,h,a,o){this.closureCheckingStopState(s,n,r,h,a,0,o)}closureCheckingStopState(s,n,r,h,a,o,c){if(s.state instanceof Lt)if(s.context&&!s.context.isEmpty()){for(let u=0;u=0&&(I+=1)}this.closureCheckingStopState(N,n,r,f,a,I,c)}}}canDropLoopEntryEdgeInLeftRecursiveRule(s){const n=s.state;if(n.stateType!==V.STAR_LOOP_ENTRY||!s.context||!n.precedenceRuleDecision||s.context.isEmpty()||s.context.hasEmptyPath())return!1;const r=s.context.length;for(let c=0;c=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+$e(this.parser.getRuleInvocationStack())));let o=null;if(r&&h)if(a&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(o=new lt({state:n.target},s))}else{const c=v.andContext(s.semanticContext,n.getPredicate());o=new lt({state:n.target,semanticContext:c},s)}else o=new lt({state:n.target},s);return y.debug&&console.log("config from pred transition="+o),o}predTransition(s,n,r,h,a){y.debug&&(console.log("PRED (collectPredicates="+r+") "+n.ruleIndex+":"+n.predIndex+", ctx dependent="+n.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+$e(this.parser.getRuleInvocationStack())));let o=null;if(r&&(n.isCtxDependent&&h||!n.isCtxDependent))if(a&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(o=new lt({state:n.target},s))}else{const c=v.andContext(s.semanticContext,n.getPredicate());o=new lt({state:n.target,semanticContext:c},s)}else o=new lt({state:n.target},s);return y.debug&&console.log("config from pred transition="+o),o}ruleTransition(s,n){y.debug&&console.log("CALL rule "+this.getRuleName(n.target.ruleIndex)+", ctx="+s.context);const r=n.followState,h=bt.create(s.context,r.stateNumber);return new lt({state:n.target,context:h},s)}getConflictingAlts(s){const n=Et.getConflictingAltSubsets(s);return Et.getAlts(n)}getConflictingAltsOrUniqueAlt(s){let n;return s.uniqueAlt!==G.INVALID_ALT_NUMBER?(n=new qt,n.set(s.uniqueAlt)):n=s.conflictingAlts,n}noViableAlt(s,n,r,h){return new O(this.parser,s,s.get(h),s.LT(1),r,n)}addDFAEdge(s,n,r,h){return y.debug&&console.log("EDGE "+n+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(s,h),n===null||r<-1||r>this.atn.maxTokenType||(n.edges===null&&(n.edges=new Array(this.atn.maxTokenType+2),n.edges.fill(null)),n.edges[r+1]=h,y.debug&&console.log(`DFA= -`+s.toString(this.parser!=null?this.parser.vocabulary:ie.EMPTY_VOCABULARY))),h)}addDFAState(s,n){if(n===te.ERROR)return n;const r=s.states.get(n);return r!==null?r:(n.stateNumber=s.states.length,n.configs.readOnly||(n.configs.optimizeConfigs(this),n.configs.setReadonly(!0)),s.states.add(n),y.debug&&console.log("adding new DFA state: "+n),n)}reportAttemptingFullContext(s,n,r,h,a){if(y.debug||y.retry_debug){const o=new j(h,a+1);console.log("reportAttemptingFullContext decision="+s.decision+":"+r+", input="+this.parser.tokenStream.getText(o))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,s,h,a,n,r)}reportContextSensitivity(s,n,r,h,a){if(y.debug||y.retry_debug){const o=new j(h,a+1);console.log("reportContextSensitivity decision="+s.decision+":"+r+", input="+this.parser.tokenStream.getText(o))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,s,h,a,n,r)}reportAmbiguity(s,n,r,h,a,o,c){if(y.debug||y.retry_debug){const u=new j(r,h+1);console.log("reportAmbiguity "+o+":"+c+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,s,r,h,a,o,c)}},A(y,"ParserATNSimulator"),E(y,"debug"),E(y,"trace_atn_sim",!1),E(y,"debug_add",!1),E(y,"debug_closure",!1),E(y,"dfa_debug",!1),E(y,"retry_debug",!1),y),a1=(ps=class{constructor(){E(this,"cache",new Pe)}add(t){if(t===Z.EMPTY)return Z.EMPTY;const s=this.cache.get(t)||null;return s!==null?s:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},A(ps,"PredictionContextCache"),ps),o1=(Ns=class{constructor(t,s,n,r,h,a){E(this,"decision");E(this,"configs");E(this,"input");E(this,"startIndex");E(this,"stopIndex");E(this,"fullCtx");this.decision=t,this.configs=s,this.input=n,this.startIndex=r,this.stopIndex=h,this.fullCtx=a}},A(Ns,"DecisionEventInfo"),Ns),p7=(Os=class extends o1{constructor(s,n,r,h,a,o,c){super(s,n,h,a,o,c);E(this,"ambigAlts");this.ambigAlts=r}},A(Os,"AmbiguityInfo"),Os),va=(gs=class extends o1{constructor(t,s,n,r,h){super(t,s,n,r,h,!0)}},A(gs,"ContextSensitivityInfo"),gs),N7=(Is=class{constructor(t){E(this,"decision",0);E(this,"invocations",0);E(this,"timeInPrediction",0);E(this,"SLL_TotalLook",0);E(this,"SLL_MinLook",0);E(this,"SLL_MaxLook",0);E(this,"SLL_MaxLookEvent");E(this,"LL_TotalLook",0);E(this,"LL_MinLook",0);E(this,"LL_MaxLook",0);E(this,"LL_MaxLookEvent");E(this,"contextSensitivities");E(this,"errors");E(this,"ambiguities");E(this,"predicateEvals");E(this,"SLL_ATNTransitions",0);E(this,"SLL_DFATransitions",0);E(this,"LL_Fallback",0);E(this,"LL_ATNTransitions",0);E(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},A(Is,"DecisionInfo"),Is),Mr=(ks=class extends o1{constructor(t,s,n,r,h,a){super(t,s,n,r,h,a)}},A(ks,"ErrorInfo"),ks),qa=(Ds=class extends o1{constructor(s,n,r,h,a,o,c){super(s,n,h,a,o,c);E(this,"predictedAlt");this.predictedAlt=r}},A(Ds,"LookaheadEventInfo"),Ds),wr=(Us=class extends ii{constructor(s){const n=s.interpreter.getSharedContextCache();super(s,s.interpreter.atn,s.interpreter.decisionToDFA,n);E(this,"decisions");E(this,"numDecisions",0);E(this,"currentDecision",0);E(this,"currentState");E(this,"conflictingAltResolvedBySLL");J(this,Ke,0);J(this,de,0);if(n){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[n].SLL_MaxLook&&(this.decisions[n].SLL_MaxLook=c,this.decisions[n].SLL_MaxLookEvent=new qa(n,null,a,s,this._startIndex,L(this,Ke),!1)),L(this,de)>=0){const u=L(this,de)-this._startIndex+1;this.decisions[n].LL_TotalLook+=u,this.decisions[n].LL_MinLook=this.decisions[n].LL_MinLook===0?u:Math.min(this.decisions[n].LL_MinLook,u),u>this.decisions[n].LL_MaxLook&&(this.decisions[n].LL_MaxLook=u,this.decisions[n].LL_MaxLookEvent=new qa(n,null,a,s,this._startIndex,L(this,de),!0))}return a}finally{this.currentDecision=-1}}getExistingTargetState(s,n){if(this._input){Q(this,Ke,this._input.index);const r=super.getExistingTargetState(s,n);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===te.ERROR&&this.decisions[this.currentDecision].errors.push(new Mr(this.currentDecision,s.configs,this._input,this._startIndex,L(this,Ke),!1))),this.currentState=r,r}return null}computeTargetState(s,n,r){const h=super.computeTargetState(s,n,r);return this.currentState=h,h}computeReachSet(s,n,r){r&&this._input&&Q(this,de,this._input.index);const h=super.computeReachSet(s,n,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Mr(this.currentDecision,s,this._input,this._startIndex,L(this,de),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Mr(this.currentDecision,s,this._input,this._startIndex,L(this,Ke),!1)))),h}reportAttemptingFullContext(s,n,r,h,a){n!==null?this.conflictingAltResolvedBySLL=n.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,n&&super.reportAttemptingFullContext(s,n,r,h,a)}reportContextSensitivity(s,n,r,h,a){n!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new va(this.currentDecision,r,this._input,h,a)),super.reportContextSensitivity(s,n,r,h,a)}reportAmbiguity(s,n,r,h,a,o,c){let u;o!==null?u=o.nextSetBit(0):u=c.getAlts().nextSetBit(0),this._input&&(c.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new va(this.currentDecision,c,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new p7(this.currentDecision,c,o,this._input,r,h,c.fullCtx))),super.reportAmbiguity(s,n,r,h,a,o,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ke=new WeakMap,de=new WeakMap,A(Us,"ProfilingATNSimulator"),Us);Ss=class{constructor(t){E(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),s=[];for(let n=0;n0&&s.push(n);return s}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let s=0;for(let n=0;n0?n:void 0,modes:r.length>0?r:void 0}}},A(Ms,"InterpreterDataReader"),ws=class{visit(t){return t.accept(this)}visitChildren(t){let s=this.defaultResult();const n=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const s=this.index+t-1;return s<0||s>=this.data.length?_.EOF:this.data[s]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,s){let n,r;return t instanceof j?(n=t.start,r=t.stop):(n=t,r=s??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),n>=this.data.length?"":fh(this,bs,_h).call(this,n,r+1)}toString(){return fh(this,bs,_h).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:qn.UNKNOWN_SOURCE_NAME}},bs=new WeakSet,_h=function(t,s){const n=this.data.slice(t,s);let r="";return n.forEach(h=>{r+=String.fromCodePoint(h)}),r},A(Fs,"CharStreamImpl"),Fs),br=(Bs=class{static fromString(t){return new g7(t)}},A(Bs,"CharStreams"),Bs),I7=(Vs=class{constructor(t){E(this,"tokenSource");E(this,"tokens",[]);E(this,"p",-1);E(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(s)>=s:!0}fetch(t){if(this.fetchedEOF)return 0;for(let s=0;s=this.tokens.length||s<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+s+" not in 0.."+(this.tokens.length-1));if(t>s)return[];if(n===void 0)return this.tokens.slice(t,s+1);const r=[];s>=this.tokens.length&&(s=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[s]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,s){if(this.sync(t),t>=this.tokens.length)return-1;let n=this.tokens[t];for(;n.channel!==s;){if(n.type===_.EOF)return-1;t+=1,this.sync(t),n=this.tokens[t]}return t}previousTokenOnChannel(t,s){for(;t>=0&&this.tokens[t].channel!==s;)t-=1;return t}getHiddenTokensToRight(t,s){if(s===void 0&&(s=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.nextTokenOnChannel(t+1,Ft.DEFAULT_TOKEN_CHANNEL),r=t+1,h=n===-1?this.tokens.length-1:n;return this.filterForChannel(r,h,s)}getHiddenTokensToLeft(t,s){if(s===void 0&&(s=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.previousTokenOnChannel(t-1,Ft.DEFAULT_TOKEN_CHANNEL);if(n===t-1)return null;const r=n+1,h=t-1;return this.filterForChannel(r,h,s)}filterForChannel(t,s,n){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let a=n;a<=r;a++){const o=this.tokens[a];if(o.type===_.EOF)break;h+=o.text}return h.toString()}else{const s=t[0];return this.getText(s.getSourceInterval())}case 2:{const s=t[0],n=t[1];return s!==null&&n!==null?this.getText(j.of(s.tokenIndex,n.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},A(Vs,"BufferedTokenStream"),Vs),ri=(Ys=class extends I7{constructor(s,n){super(s);E(this,"channel",_.DEFAULT_CHANNEL);this.channel=n??_.DEFAULT_CHANNEL}adjustSeekIndex(s){return this.nextTokenOnChannel(s,this.channel)}LB(s){if(s===0||this.index-s<0)return null;let n=this.index,r=1;for(;r<=s;)n=this.previousTokenOnChannel(n-1,this.channel),r+=1;return n<0?null:this.tokens[n]}LT(s){if(this.lazyInit(),s===0)return null;if(s<0)return this.LB(-s);let n=this.index,r=1;for(;rnew ve(t,s))),B),k7=(Gs=class extends ti{syntaxError(t,s,n,r,h,a){}},A(Gs,"XPathLexerErrorListener"),Gs),L0=(Xs=class{constructor(t){E(this,"invert");E(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Xs,"XPathElement"),Xs),D7=(Qs=class extends L0{constructor(s,n){super(s);E(this,"ruleIndex");this.ruleIndex=n}evaluate(s){return Ne.findAllRuleNodes(s,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Qs,"XPathRuleAnywhereElement"),Qs),U7=(Zs=class extends L0{constructor(s,n){super(s);E(this,"ruleIndex");this.ruleIndex=n}evaluate(s){const n=[];for(const r of Ne.getChildren(s))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&n.push(r);return n}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Zs,"XPathRuleElement"),Zs),S7=(js=class extends L0{constructor(s,n){super(s);E(this,"tokenType");this.tokenType=n}evaluate(s){return Ne.findAllTokenNodes(s,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(js,"XPathTokenAnywhereElement"),js),y7=(zs=class extends L0{constructor(s,n){super(s);E(this,"tokenType");this.tokenType=n}evaluate(s){const n=[];for(const r of Ne.getChildren(s))r instanceof le&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&n.push(r);return n}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(zs,"XPathTokenElement"),zs),M7=(Js=class extends L0{constructor(){super(e3.WILDCARD)}evaluate(t){return this.invert?[]:Ne.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Js,"XPathWildcardAnywhereElement"),Js),w7=($s=class extends L0{constructor(){super(e3.WILDCARD)}evaluate(t){const s=[];if(this.invert)return s;for(const n of Ne.getChildren(t))s.push(n);return s}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},A($s,"XPathWildcardElement"),$s),e3=(Xe=class{constructor(t,s){E(this,"path");E(this,"elements");E(this,"parser");this.parser=t,this.path=s,this.elements=this.split(s)}static findAll(t,s,n){return new Xe(n,s).evaluate(t)}split(t){const s=new Zt(br.fromString(t));s.recover=c=>{throw c},s.removeErrorListeners(),s.addErrorListener(new k7);const n=new ri(s);try{n.fill()}catch(c){if(c instanceof ei){const W="Invalid tokens or characters at index "+s.column+" in path '"+t+"' -- "+c.message;throw new RangeError(W)}throw c}const r=n.getTokens(),h=[],a=r.length;let o=0;t:for(;o0&&this.elements[r].evaluate(a).forEach(c=>{h.add(c)},h);r++,n=h}return n}getXPathElement(t,s){if(t.type===_.EOF)throw new Error("Missing path element at end of path");const n=t.text;if(n==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(n),h=this.parser.getRuleIndex(n);switch(t.type){case Zt.WILDCARD:return s?new M7:new w7;case Zt.TOKEN_REF:case Zt.STRING:if(r===_.INVALID_TYPE)throw new Error(n+" at index "+t.start+" isn't a valid token name");return s?new S7(n,r):new y7(n,r);default:if(h===-1)throw new Error(n+" at index "+t.start+" isn't a valid rule name");return s?new D7(n,h):new U7(n,h)}}},A(Xe,"XPath"),E(Xe,"WILDCARD","*"),E(Xe,"NOT","!"),Xe),e0=(Ps=class extends T{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},A(Ps,"InputMismatchException"),Ps),hi=(Hs=class extends T{constructor(s,n,r=null){super({message:b7(n??"no predicate",r??null),recognizer:s,input:s.inputStream,ctx:s.context});E(this,"ruleIndex",0);E(this,"predicateIndex",0);E(this,"predicate");const a=s.atn.states[s.state].transitions[0];a instanceof Ha?(this.ruleIndex=a.ruleIndex,this.predicateIndex=a.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=n,this.offendingToken=s.getCurrentToken()}},A(Hs,"FailedPredicateException"),Hs),b7=A((i,t)=>t!==null?t:"failed predicate: {"+i+"}?","formatMessage"),Fr=(vs=class{constructor(){E(this,"errorRecoveryMode",!1);E(this,"lastErrorIndex",-1);E(this,"lastErrorStates",new dt);E(this,"nextTokensContext",null);E(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new dt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,s){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),s instanceof O?this.reportNoViableAlternative(t,s):s instanceof e0?this.reportInputMismatch(t,s):s instanceof hi?this.reportFailedPredicate(t,s):t.notifyErrorListeners(s.message,s.offendingToken,s))}recover(t,s){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const n=this.getErrorRecoverySet(t);this.consumeUntil(t,n)}sync(t){if(this.inErrorRecoveryMode(t))return;const s=t.atn.states[t.state],n=t.tokenStream.LA(1),r=t.atn.nextTokens(s);if(r.contains(n)){this.nextTokensContext=null,this.nextTokenState=ee.INVALID_STATE_NUMBER;return}else if(r.contains(_.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(s.stateType){case V.BLOCK_START:case V.STAR_BLOCK_START:case V.PLUS_BLOCK_START:case V.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new e0(t);case V.PLUS_LOOP_BACK:case V.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new dt;h.addSet(t.getExpectedTokens());const a=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,a)}break}}reportNoViableAlternative(t,s){if(s.message.length>0){t.notifyErrorListeners(s.message,s.offendingToken,s);return}const n=t.tokenStream;let r;n!==null&&s.startToken?s.startToken.type===_.EOF?r="":r=n.getText(new j(s.startToken.tokenIndex,s.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,s.offendingToken,s)}reportInputMismatch(t,s){if(s.message.length>0){t.notifyErrorListeners(s.message,s.offendingToken,s);return}const n="mismatched input "+this.getTokenErrorDisplay(s.offendingToken)+" expecting "+s.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(n,s.offendingToken,s)}reportFailedPredicate(t,s){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+s.message;t.notifyErrorListeners(r,s.offendingToken,s)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const s=t.getCurrentToken(),n=this.getTokenErrorDisplay(s),r=this.getExpectedTokens(t),h="extraneous input "+n+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,s,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const s=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(s);t.notifyErrorListeners(r,s,null)}recoverInline(t){const s=this.singleTokenDeletion(t);if(s!==null)return t.consume(),s;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new e0(t)}singleTokenInsertion(t){const s=t.tokenStream.LA(1),n=t.atn,h=n.states[t.state].transitions[0].target;return n.nextTokens(h,t.context).contains(s)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const s=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(s)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const s=t.getCurrentToken(),n=this.getExpectedTokens(t);let r=_.INVALID_TYPE;n.isNil||(r=n.minElement);let h;r===_.EOF?h="":h="";let a=s;const o=t.tokenStream.LT(-1);return a.type===_.EOF&&o!==null&&(a=o),t.getTokenFactory().create(a.source,r,h,_.DEFAULT_CHANNEL,-1,-1,a.line,a.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let s=t.text;return s===null&&(t.type===_.EOF?s="":s="<"+t.type+">"),this.escapeWSAndQuote(s)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const s=t.atn;let n=t.context;const r=new dt;for(;n!==null&&n.invokingState>=0;){const a=s.states[n.invokingState].transitions[0],o=s.nextTokens(a.followState);r.addSet(o),n=n.parent}return r.removeOne(_.EPSILON),r}consumeUntil(t,s){let n=t.tokenStream.LA(1);for(;n!==_.EOF&&!s.contains(n);)t.consume(),n=t.tokenStream.LA(1)}},A(vs,"DefaultErrorStrategy"),vs);qs=class extends Fr{recover(t,s){let n=t.context;for(;n!==null;)n.exception=s,n=n.parent;throw new t3(s)}recoverInline(t){const s=new e0(t);let n=t.context;for(;n!==null;)n.exception=s,n=n.parent;throw new t3(s)}sync(t){}},A(qs,"BailErrorStrategy"),tn=class extends ti{constructor(s){super();E(this,"exactOnly");E(this,"reportAmbiguity",(s,n,r,h,a,o,c)=>{if(this.exactOnly&&!a)return;const u=this.getDecisionDescription(s,n),W=this.getConflictingAlts(o,c),K=s.tokenStream.getText(j.of(r,h)),d=`reportAmbiguity d=${u}: ambigAlts=${W}, input='${K}'`;s.notifyErrorListeners(d,null,null)});E(this,"reportAttemptingFullContext",(s,n,r,h,a,o)=>{const c=this.getDecisionDescription(s,n),u=s.tokenStream.getText(j.of(r,h)),W=`reportAttemptingFullContext d=${c}, input='${u}'`;s.notifyErrorListeners(W,null,null)});E(this,"reportContextSensitivity",(s,n,r,h,a,o)=>{const c=this.getDecisionDescription(s,n),u=s.tokenStream.getText(j.of(r,h)),W=`reportContextSensitivity d=${c}, input='${u}'`;s.notifyErrorListeners(W,null,null)});E(this,"getDecisionDescription",(s,n)=>{const r=n.decision,h=n.atnStartState.ruleIndex,a=s.ruleNames;if(h<0||h>=a.length)return r.toString();const o=a[h];return o.length===0?r.toString():`${r} (${o})`});E(this,"getConflictingAlts",(s,n)=>{if(s!==null)return s;const r=new qt;for(let h=0;h{super(...xl);J(this,en,void 0)};r!==void 0?i(n,r):i(),Q(this,en,s)}get ruleIndex(){return L(this,en)}},en=new WeakMap,A(sn,"InterpreterRuleContext"),sn);ln=class extends Ft{constructor(s,n,r,h,a,o,c){super(c);J(this,nn,void 0);J(this,rn,void 0);J(this,hn,void 0);J(this,an,void 0);J(this,on,void 0);J(this,cn,void 0);J(this,un,void 0);J(this,Pi,new a1);if(o.grammarType!==i1.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Q(this,nn,s),Q(this,rn,o),Q(this,hn,r.slice(0)),Q(this,an,h.slice(0)),Q(this,on,a.slice(0)),Q(this,cn,n),Q(this,un,o.decisionToState.map((u,W)=>new ve(u,W))),this.interpreter=new qe(this,o,L(this,un),L(this,Pi))}get atn(){return L(this,rn)}get grammarFileName(){return L(this,nn)}get ruleNames(){return L(this,hn)}get channelNames(){return L(this,an)}get modeNames(){return L(this,on)}get vocabulary(){return L(this,cn)}},nn=new WeakMap,rn=new WeakMap,hn=new WeakMap,an=new WeakMap,on=new WeakMap,cn=new WeakMap,un=new WeakMap,Pi=new WeakMap,A(ln,"LexerInterpreter");var B7=(En=class{constructor(t){E(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},A(En,"TraceListener"),En),s3=(Rn=class extends Ba{constructor(s){super();E(this,"printer",null);E(this,"buildParseTrees",!0);E(this,"errorHandler",new Fr);E(this,"context",null);E(this,"_input",null);E(this,"_precedenceStack",[]);E(this,"_parseListeners",null);E(this,"_syntaxErrors",0);E(this,"matchedEOF",!1);E(this,"_tracer",null);E(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=s}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(s){let n=this.getCurrentToken();return n.type===s?(this.errorHandler.reportMatch(this),this.consume()):(n=this.errorHandler.recoverInline(this),this.buildParseTrees&&n.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,n))),n}matchWildcard(){let s=this.getCurrentToken();return s.type>0?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}getParseListeners(){return this._parseListeners??[]}addParseListener(s){if(s===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(s)}removeParseListener(s){if(this._parseListeners!==null&&s!==null){const n=this._parseListeners.indexOf(s);n>=0&&this._parseListeners.splice(n,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const s=this.context;this._parseListeners.forEach(n=>{n.enterEveryRule(s),s.enterRule(n)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const s=this.context;this._parseListeners.slice(0).reverse().forEach(n=>{s.exitRule(n),n.exitEveryRule(s)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(s){this._input.getTokenSource().tokenFactory=s}getATNWithBypassAlts(){const s=this.getSerializedATN();if(s===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const n=new Za;return n.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new h1(n).deserialize(s),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(s){this._input=null,this.reset(),this._input=s}get inputStream(){return this._input}set inputStream(s){this.tokenStream=s}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(s,n,r){n=n??null,r=r??null,n===null&&(n=this.getCurrentToken()),this._syntaxErrors+=1;const h=n.line,a=n.column;this.getErrorListenerDispatch().syntaxError(this,n,h,a,s,r)}consume(){const s=this.getCurrentToken();s.type!==_.EOF&&this.tokenStream.consume();const n=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||n){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,s)):r=this.context.addTokenNode(s),n&&this._parseListeners.forEach(h=>{r instanceof n1?h.visitErrorNode(r):h.visitTerminal(r)})}return s}addContextToParseTree(){var s;((s=this.context)==null?void 0:s.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(s,n,r){this.state=n,this.context=s,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(s,n){s.setAltNumber(n),this.buildParseTrees&&this.context!==s&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(s)),this.context=s}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(s,n,r,h){this.state=n,this._precedenceStack.push(h),this.context=s,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(s,n,r){const h=this.context;h.parent=s,h.invokingState=n,h.stop=this._input.LT(-1),this.context=s,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(s){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const n=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==s;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=s;n.parent=s,this.buildParseTrees&&s!==null&&s.addChild(n)}getInvokingContext(s){let n=this.context;for(;n!==null;){if(n.ruleIndex===s)return n;n=n.parent}return null}precpred(s,n){return n>=this._precedenceStack[this._precedenceStack.length-1]}inContext(s){return!1}isExpectedToken(s){const n=this.interpreter.atn;let r=this.context;const h=n.states[this.state];let a=n.nextTokens(h);if(a.contains(s))return!0;if(!a.contains(_.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&a.contains(_.EPSILON);){const c=n.states[r.invokingState].transitions[0];if(a=n.nextTokens(c.followState),a.contains(s))return!0;r=r.parent}return!!(a.contains(_.EPSILON)&&s===_.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const s=this.interpreter.atn,n=s.states[this.state];return s.nextTokens(n)}getRuleIndex(s){const n=this.getRuleIndexMap().get(s);return n??-1}getRuleInvocationStack(s){s=s??null,s===null&&(s=this.context);const n=[];for(;s!==null;){const r=s.ruleIndex;r<0?n.push("n/a"):n.push(this.ruleNames[r]),s=s.parent}return n}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let s=!1;for(const n of this.interpreter.decisionToDFA)n.states.length>0&&(s&&console.log(),this.printer&&(this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.vocabulary))),s=!0)}getSourceName(){return this._input.getSourceName()}setProfile(s){const n=this.interpreter,r=n.predictionMode;if(s)n instanceof wr||(this.interpreter=new wr(this));else if(n instanceof wr){const h=n.getSharedContextCache();if(h){const a=new ii(this,this.atn,n.decisionToDFA,h);this.interpreter=a}}this.interpreter.predictionMode=r}setTrace(s){s?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new B7(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(s,n){return new le(n)}createErrorNode(s,n){return new n1(n)}},A(Rn,"Parser"),Rn);An=class extends s3{constructor(s,n,r,h,a){super(a);E(this,"_rootContext");E(this,"_parentContextStack",[]);E(this,"overrideDecision",-1);E(this,"overrideDecisionInputIndex",-1);E(this,"overrideDecisionAlt",-1);E(this,"overrideDecisionReached",!1);E(this,"_overrideDecisionRoot",null);J(this,Tn,void 0);J(this,$t,void 0);J(this,Wn,void 0);J(this,Kn,void 0);J(this,dn,void 0);J(this,Hi,new a1);J(this,j0,void 0);Q(this,Tn,s),Q(this,$t,h),Q(this,Wn,r.slice(0)),Q(this,Kn,n),Q(this,j0,new qt);for(const o of h.states)o instanceof Oe&&o.precedenceRuleDecision&&L(this,j0).set(o.stateNumber);Q(this,dn,h.decisionToState.map((o,c)=>new ve(o,c))),this.interpreter=new ii(this,h,L(this,dn),L(this,Hi))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return L(this,$t)}get vocabulary(){return L(this,Kn)}get ruleNames(){return L(this,Wn)}get grammarFileName(){return L(this,Tn)}get atnState(){return L(this,$t).states[this.state]}parse(s){var r;const n=L(this,$t).ruleToStartState[s];for(this._rootContext=this.createInterpreterRuleContext(null,ee.INVALID_STATE_NUMBER,s),n.isPrecedenceRule?this.enterRecursionRule(this._rootContext,n.stateNumber,s,0):this.enterRule(this._rootContext,n.stateNumber,s);;){const h=this.atnState;switch(h.stateType){case V.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(n.isPrecedenceRule){const a=this.context,o=this._parentContextStack.pop();return this.unrollRecursionContexts(o[0]),a}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(a){if(a instanceof T)this.state=L(this,$t).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=a,this.errorHandler.reportError(this,a),this.recover(a);else throw a}break}}}addDecisionOverride(s,n,r){this.overrideDecision=s,this.overrideDecisionInputIndex=n,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(s,n,r,h){this._parentContextStack.push([this.context,s.invokingState]),super.enterRecursionRule(s,n,r,h)}visitState(s){let n=1;s instanceof He&&(n=this.visitDecisionState(s));const r=s.transitions[n-1];switch(r.serializationType){case U.EPSILON:if(L(this,j0).get(s.stateNumber)&&!(r.target instanceof t0)){const W=this._parentContextStack[this._parentContextStack.length-1],K=this.createInterpreterRuleContext(W[0],W[1],this.context.ruleIndex);this.pushNewRecursionContext(K,L(this,$t).ruleToStartState[s.ruleIndex].stateNumber,this.context.ruleIndex)}break;case U.ATOM:this.match(r.label.minElement);break;case U.RANGE:case U.SET:case U.NOT_SET:r.matches(this._input.LA(1),_.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case U.WILDCARD:this.matchWildcard();break;case U.RULE:const h=r.target,a=h.ruleIndex,o=this.createInterpreterRuleContext(this.context,s.stateNumber,a);h.isPrecedenceRule?this.enterRecursionRule(o,h.stateNumber,a,r.precedence):this.enterRule(o,r.target.stateNumber,a);break;case U.PREDICATE:const c=r;if(!this.sempred(this.context,c.ruleIndex,c.predIndex))throw new hi(this);break;case U.ACTION:const u=r;this.action(this.context,u.ruleIndex,u.actionIndex);break;case U.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const W=r.precedence;throw new hi(this,`precpred(_ctx, ${W})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(s){let n=1;if(s.transitions.length>1){this.errorHandler.sync(this);const r=s.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(n=this.overrideDecisionAlt,this.overrideDecisionReached=!0):n=this.interpreter.adaptivePredict(this._input,r,this.context)}return n}createInterpreterRuleContext(s,n,r){return new F7(r,s,n)}visitRuleStopState(s){if(L(this,$t).ruleToStartState[s.ruleIndex].isPrecedenceRule){const[h,a]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=a}else this.exitRule();const r=L(this,$t).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(s){const n=this._input.index;if(this.errorHandler.recover(this,s),this._input.index===n){const r=s.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,a=(h==null?void 0:h.inputStream)??null,o=[h,a];if(s instanceof e0){const c=s.getExpectedTokens();if(!c)throw new Error("Expected the exception to provide expected tokens");let u=_.INVALID_TYPE;c.isNil||(u=c.minElement);const W=this.getTokenFactory().create(o,u,r.text,_.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,W))}else{const c=this.getTokenFactory().create(o,_.INVALID_TYPE,r.text,_.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,c))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},Tn=new WeakMap,$t=new WeakMap,Wn=new WeakMap,Kn=new WeakMap,dn=new WeakMap,Hi=new WeakMap,j0=new WeakMap,A(An,"ParserInterpreter"),kt=class{constructor(t){E(this,"tokens");E(this,"programs",new Map);E(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,s,n=kt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(n),a=new i3(this.tokens,r,h.length,s);h.push(a)}insertBefore(t,s,n=kt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(n),a=new x0(this.tokens,r,h.length,s);h.push(a)}replaceSingle(t,s,n=kt.DEFAULT_PROGRAM_NAME){this.replace(t,t,s,n)}replace(t,s,n,r=kt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof s!="number"&&(s=s.tokenIndex),t>s||t<0||s<0||s>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${s}(size=${this.tokens.size})`);const h=this.getProgram(r),a=new ai(this.tokens,t,s,h.length,n);h.push(a)}delete(t,s,n=kt.DEFAULT_PROGRAM_NAME){s==null&&(s=t),this.replace(t,s,null,n)}getProgram(t){let s=this.programs.get(t);return s==null&&(s=this.initializeProgram(t)),s}initializeProgram(t){const s=[];return this.programs.set(t,s),s}getText(t,s=kt.DEFAULT_PROGRAM_NAME){let n;t instanceof j?n=t:n=new j(0,this.tokens.size-1),typeof t=="string"&&(s=t);const r=this.programs.get(s);let h=n.start,a=n.stop;if(a>this.tokens.size-1&&(a=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new j(h,a));const o=[],c=this.reduceToSingleOperationPerIndex(r);let u=h;for(;u<=a&&u=this.tokens.size-1&&o.push(String(W.text));return o.join("")}reduceToSingleOperationPerIndex(t){for(let n=0;nh.index&&c.index<=h.lastIndex&&(t[c.instructionIndex]=null);const o=this.getKindOfOps(t,ai,n);for(const c of o){if(c.index>=h.index&&c.lastIndex<=h.lastIndex){t[c.instructionIndex]=null;continue}const u=c.lastIndexh.lastIndex;if(c.text==null&&h.text==null&&!u)t[c.instructionIndex]=null,h.index=Math.min(c.index,h.index),h.lastIndex=Math.max(c.lastIndex,h.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${h} overlap with previous ${c}`)}}for(let n=0;n=c.index&&h.index<=c.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${c}`)}}const s=new Map;for(const n of t)if(n!=null){if(s.get(n.index)!=null)throw new Error("should only be one op per index");s.set(n.index,n)}return s}catOpText(t,s){let n="",r="";return t!=null&&(n=t.toString()),s!=null&&(r=s.toString()),n+r}getKindOfOps(t,s,n){return t.slice(0,n).filter(r=>r&&r instanceof s)}},A(kt,"TokenStreamRewriter"),E(kt,"DEFAULT_PROGRAM_NAME","default"),E(kt,"PROGRAM_INIT_SIZE",100),E(kt,"MIN_TOKEN_INDEX",0);var n3=(mn=class{constructor(t,s,n,r){E(this,"instructionIndex");E(this,"index");E(this,"text");E(this,"tokens");this.tokens=t,this.instructionIndex=n,this.index=s,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},A(mn,"RewriteOperation"),mn),x0=(Cn=class extends n3{constructor(t,s,n,r){super(t,s,n,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==_.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},A(Cn,"InsertBeforeOp"),Cn),i3=(fn=class extends x0{constructor(t,s,n,r){super(t,s+1,n,r)}toString(){return"'}},A(fn,"InsertAfterOp"),fn),ai=(_n=class extends n3{constructor(s,n,r,h,a){super(s,n,h,a);E(this,"lastIndex");this.lastIndex=r}execute(s){return this.text&&s.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},A(_n,"ReplaceOp"),_n);class l extends Ft{constructor(t){super(t),this.interpreter=new qe(this,l._ATN,l.decisionsToDFA,new a1)}get grammarFileName(){return"HiveSqlLexer.g4"}get literalNames(){return l.literalNames}get symbolicNames(){return l.symbolicNames}get ruleNames(){return l.ruleNames}get serializedATN(){return l._serializedATN}get channelNames(){return l.channelNames}get modeNames(){return l.modeNames}static get _ATN(){return l.__ATN||(l.__ATN=new h1().deserialize(l._serializedATN)),l.__ATN}get vocabulary(){return l.vocabulary}}l.KW_ABORT=1,l.KW_ACTIVATE=2,l.KW_ACTIVE=3,l.KW_ADD=4,l.KW_ADMIN=5,l.KW_AFTER=6,l.KW_ALL=7,l.KW_ALLOC_FRACTION=8,l.KW_ALTER=9,l.KW_ANALYZE=10,l.KW_AND=11,l.KW_ANTI=12,l.KW_ANY=13,l.KW_APPLICATION=14,l.KW_ARCHIVE=15,l.KW_ARRAY=16,l.KW_AS=17,l.KW_ASC=18,l.KW_AST=19,l.KW_AT=20,l.KW_AUTHORIZATION=21,l.KW_AUTOCOMMIT=22,l.KW_BATCH=23,l.KW_BEFORE=24,l.KW_BETWEEN=25,l.KW_BIGINT=26,l.KW_BINARY=27,l.KW_BOOLEAN=28,l.KW_BOTH=29,l.KW_BUCKET=30,l.KW_BUCKETS=31,l.KW_BY=32,l.KW_CACHE=33,l.KW_CASCADE=34,l.KW_CASE=35,l.KW_CAST=36,l.KW_CBO=37,l.KW_CHANGE=38,l.KW_CHAR=39,l.KW_CHECK=40,l.KW_CLUSTER=41,l.KW_CLUSTERED=42,l.KW_CLUSTERSTATUS=43,l.KW_COLLECTION=44,l.KW_COLUMN=45,l.KW_COLUMNS=46,l.KW_COMMENT=47,l.KW_COMMIT=48,l.KW_COMPACT=49,l.KW_COMPACTIONS=50,l.KW_COMPACT_ID=51,l.KW_COMPUTE=52,l.KW_CONCATENATE=53,l.KW_CONF=54,l.KW_CONSTRAINT=55,l.KW_CONTINUE=56,l.KW_COST=57,l.KW_CREATE=58,l.KW_CRON=59,l.KW_CROSS=60,l.KW_CUBE=61,l.KW_CURRENT=62,l.KW_CURRENT_DATE=63,l.KW_CURRENT_TIMESTAMP=64,l.KW_CURSOR=65,l.KW_DATA=66,l.KW_DATABASE=67,l.KW_DATABASES=68,l.KW_DATACONNECTOR=69,l.KW_DATACONNECTORS=70,l.KW_DATE=71,l.KW_DATETIME=72,l.KW_DAY=73,l.KW_DAYS=74,l.KW_DAYOFWEEK=75,l.KW_DBPROPERTIES=76,l.KW_DCPROPERTIES=77,l.KW_DDL=78,l.KW_DEBUG=79,l.KW_DEC=80,l.KW_DECIMAL=81,l.KW_NUMERIC=82,l.KW_DEFAULT=83,l.KW_DEFERRED=84,l.KW_DEFINED=85,l.KW_DELETE=86,l.KW_DELIMITED=87,l.KW_DEPENDENCY=88,l.KW_DESC=89,l.KW_DESCRIBE=90,l.KW_DETAIL=91,l.KW_DIRECTORIES=92,l.KW_DIRECTORY=93,l.KW_DISABLE=94,l.KW_DISABLED=95,l.KW_DISTINCT=96,l.KW_DISTRIBUTE=97,l.KW_DISTRIBUTED=98,l.KW_DO=99,l.KW_DOUBLE=100,l.KW_DROP=101,l.KW_RECOVER=102,l.KW_DUMP=103,l.KW_ELEM_TYPE=104,l.KW_ELSE=105,l.KW_ENABLE=106,l.KW_ENABLED=107,l.KW_END=108,l.KW_ENFORCED=109,l.KW_ESCAPED=110,l.KW_EVERY=111,l.KW_EXCEPT=112,l.KW_EXCHANGE=113,l.KW_EXCLUSIVE=114,l.KW_EXECUTE=115,l.KW_EXECUTED=116,l.KW_EXISTS=117,l.KW_EXPIRE_SNAPSHOTS=118,l.KW_EXPLAIN=119,l.KW_EXPORT=120,l.KW_EXPRESSION=121,l.KW_EXTENDED=122,l.KW_EXTERNAL=123,l.KW_EXTRACT=124,l.KW_FALSE=125,l.KW_FETCH=126,l.KW_FIELDS=127,l.KW_FILE=128,l.KW_FILEFORMAT=129,l.KW_FIRST=130,l.KW_FLOAT=131,l.KW_FLOOR=132,l.KW_FOLLOWING=133,l.KW_FOR=134,l.KW_FORCE=135,l.KW_FOREIGN=136,l.KW_FORMAT=137,l.KW_FORMATTED=138,l.KW_FROM=139,l.KW_FULL=140,l.KW_FUNCTION=141,l.KW_FUNCTIONS=142,l.KW_GRANT=143,l.KW_GROUP=144,l.KW_GROUPING=145,l.KW_HAVING=146,l.KW_HOLD_DDLTIME=147,l.KW_HOUR=148,l.KW_HOURS=149,l.KW_IDXPROPERTIES=150,l.KW_IF=151,l.KW_IGNORE=152,l.KW_IMPORT=153,l.KW_IN=154,l.KW_INDEX=155,l.KW_INDEXES=156,l.KW_INNER=157,l.KW_INPATH=158,l.KW_INPUTDRIVER=159,l.KW_INPUTFORMAT=160,l.KW_INSERT=161,l.KW_INT=162,l.KW_INTEGER=163,l.KW_INTERSECT=164,l.KW_INTERVAL=165,l.KW_INTO=166,l.KW_IS=167,l.KW_ISOLATION=168,l.KW_ITEMS=169,l.KW_JAR=170,l.KW_JOIN=171,l.KW_JOINCOST=172,l.KW_KEY=173,l.KW_KEYS=174,l.KW_KEY_TYPE=175,l.KW_KILL=176,l.KW_LAST=177,l.KW_LATERAL=178,l.KW_LEADING=179,l.KW_LEFT=180,l.KW_LESS=181,l.KW_LEVEL=182,l.KW_LIFECYCLE=183,l.KW_LIKE=184,l.KW_LIMIT=185,l.KW_LINES=186,l.KW_LOAD=187,l.KW_LOCAL=188,l.KW_LOCATION=189,l.KW_LOCK=190,l.KW_LOCKS=191,l.KW_LOGICAL=192,l.KW_LONG=193,l.KW_MACRO=194,l.KW_MANAGED=195,l.KW_MANAGEDLOCATION=196,l.KW_MANAGEMENT=197,l.KW_MAP=198,l.KW_MAPJOIN=199,l.KW_MAPPING=200,l.KW_MATCHED=201,l.KW_MATERIALIZED=202,l.KW_MERGE=203,l.KW_METADATA=204,l.KW_MINUS=205,l.KW_MINUTE=206,l.KW_MINUTES=207,l.KW_MONTH=208,l.KW_MONTHS=209,l.KW_MORE=210,l.KW_MOVE=211,l.KW_MSCK=212,l.KW_NONE=213,l.KW_NORELY=214,l.KW_NOSCAN=215,l.KW_NOT=216,l.KW_NOVALIDATE=217,l.KW_NO_DROP=218,l.KW_NULL=219,l.KW_NULLS=220,l.KW_OF=221,l.KW_OFFLINE=222,l.KW_OFFSET=223,l.KW_ON=224,l.KW_ONLY=225,l.KW_OPERATOR=226,l.KW_OPTION=227,l.KW_OR=228,l.KW_ORDER=229,l.KW_OUT=230,l.KW_OUTER=231,l.KW_OUTPUTDRIVER=232,l.KW_OUTPUTFORMAT=233,l.KW_OVER=234,l.KW_OVERWRITE=235,l.KW_OWNER=236,l.KW_PARTITION=237,l.KW_PARTITIONED=238,l.KW_PARTITIONS=239,l.KW_PATH=240,l.KW_PERCENT=241,l.KW_PKFK_JOIN=242,l.KW_PLAN=243,l.KW_PLANS=244,l.KW_PLUS=245,l.KW_POOL=246,l.KW_PRECEDING=247,l.KW_PRECISION=248,l.KW_PREPARE=249,l.KW_PRESERVE=250,l.KW_PRIMARY=251,l.KW_PRINCIPALS=252,l.KW_PROCEDURE=253,l.KW_PROTECTION=254,l.KW_PURGE=255,l.KW_QUALIFY=256,l.KW_QUARTER=257,l.KW_QUERY=258,l.KW_QUERY_PARALLELISM=259,l.KW_RANGE=260,l.KW_READ=261,l.KW_READONLY=262,l.KW_READS=263,l.KW_REAL=264,l.KW_REBUILD=265,l.KW_RECORDREADER=266,l.KW_RECORDWRITER=267,l.KW_REDUCE=268,l.KW_REFERENCES=269,l.KW_REGEXP=270,l.KW_RELOAD=271,l.KW_RELY=272,l.KW_REMOTE=273,l.KW_RENAME=274,l.KW_REOPTIMIZATION=275,l.KW_REPAIR=276,l.KW_REPL=277,l.KW_REPLACE=278,l.KW_REPLICATION=279,l.KW_RESOURCE=280,l.KW_RESPECT=281,l.KW_RESTRICT=282,l.KW_REVOKE=283,l.KW_REWRITE=284,l.KW_RIGHT=285,l.KW_RLIKE=286,l.KW_ROLE=287,l.KW_ROLES=288,l.KW_ROLLBACK=289,l.KW_ROLLUP=290,l.KW_ROW=291,l.KW_ROWS=292,l.KW_SCHEDULED=293,l.KW_SCHEDULING_POLICY=294,l.KW_SCHEMA=295,l.KW_SCHEMAS=296,l.KW_SECOND=297,l.KW_SECONDS=298,l.KW_SELECT=299,l.KW_SEMI=300,l.KW_SERDE=301,l.KW_SERDEPROPERTIES=302,l.KW_SERVER=303,l.KW_SET=304,l.KW_SETS=305,l.KW_SET_CURRENT_SNAPSHOT=306,l.KW_SHARED=307,l.KW_SHOW=308,l.KW_SHOW_DATABASE=309,l.KW_SKEWED=310,l.KW_SMALLINT=311,l.KW_SNAPSHOT=312,l.KW_SOME=313,l.KW_SORT=314,l.KW_SORTED=315,l.KW_SPEC=316,l.KW_SSL=317,l.KW_START=318,l.KW_STATISTICS=319,l.KW_STATUS=320,l.KW_STORED=321,l.KW_STREAMTABLE=322,l.KW_STRING=323,l.KW_STRUCT=324,l.KW_SUMMARY=325,l.KW_SYNC=326,l.KW_SYSTEM_TIME=327,l.KW_SYSTEM_VERSION=328,l.KW_TABLE=329,l.KW_TABLES=330,l.KW_TABLESAMPLE=331,l.KW_TBLPROPERTIES=332,l.KW_TEMPORARY=333,l.KW_TERMINATED=334,l.KW_THEN=335,l.KW_TIME=336,l.KW_TIMESTAMP=337,l.KW_TIMESTAMPLOCALTZ=338,l.KW_TIMESTAMPTZ=339,l.KW_TINYINT=340,l.KW_TO=341,l.KW_TOUCH=342,l.KW_TRAILING=343,l.KW_TRANSACTION=344,l.KW_TRANSACTIONAL=345,l.KW_TRANSACTIONS=346,l.KW_TRANSFORM=347,l.KW_TRIGGER=348,l.KW_TRIM=349,l.KW_TRUE=350,l.KW_TRUNCATE=351,l.KW_TYPE=352,l.KW_UNARCHIVE=353,l.KW_UNBOUNDED=354,l.KW_UNDO=355,l.KW_UNION=356,l.KW_UNIONTYPE=357,l.KW_UNIQUE=358,l.KW_UNIQUEJOIN=359,l.KW_UNKNOWN=360,l.KW_UNLOCK=361,l.KW_UNMANAGED=362,l.KW_UNSET=363,l.KW_UNSIGNED=364,l.KW_UPDATE=365,l.KW_URI=366,l.KW_URL=367,l.KW_USE=368,l.KW_USER=369,l.KW_USING=370,l.KW_UTC=371,l.KW_UTCTIMESTAMP=372,l.KW_VALIDATE=373,l.KW_VALUES=374,l.KW_VALUE_TYPE=375,l.KW_VARCHAR=376,l.KW_VECTORIZATION=377,l.KW_VIEW=378,l.KW_VIEWS=379,l.KW_WAIT=380,l.KW_WEEK=381,l.KW_WEEKS=382,l.KW_WHEN=383,l.KW_WHERE=384,l.KW_WHILE=385,l.KW_WINDOW=386,l.KW_WITH=387,l.KW_WITHIN=388,l.KW_WORK=389,l.KW_WORKLOAD=390,l.KW_WRITE=391,l.KW_YEAR=392,l.KW_YEARS=393,l.KW_ZONE=394,l.DOT=395,l.COLON=396,l.COMMA=397,l.SEMICOLON=398,l.LPAREN=399,l.RPAREN=400,l.LSQUARE=401,l.RSQUARE=402,l.LCURLY=403,l.RCURLY=404,l.EQUAL=405,l.EQUAL_NS=406,l.NOTEQUAL=407,l.LESSTHANOREQUALTO=408,l.LESSTHAN=409,l.GREATERTHANOREQUALTO=410,l.GREATERTHAN=411,l.DIVIDE=412,l.PLUS=413,l.MINUS=414,l.STAR=415,l.MOD=416,l.DIV=417,l.BITWISENOT=418,l.AMPERSAND=419,l.TILDE=420,l.BITWISEOR=421,l.CONCATENATE=422,l.BITWISEXOR=423,l.QUESTION=424,l.DOLLAR=425,l.StringLiteral=426,l.CharSetLiteral=427,l.IntegralLiteral=428,l.NumberLiteral=429,l.ByteLengthLiteral=430,l.Number=431,l.Identifier=432,l.CharSetName=433,l.WHITE_SPACE=434,l.LINE_COMMENT=435,l.QUERY_HINT=436,l.SHOW_HINT=437,l.HIDDEN_HINT=438,l.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],l.literalNames=[null,"'ABORT'","'ACTIVATE'","'ACTIVE'","'ADD'","'ADMIN'","'AFTER'","'ALL'","'ALLOC_FRACTION'","'ALTER'","'ANALYZE'","'AND'","'ANTI'","'ANY'","'APPLICATION'","'ARCHIVE'","'ARRAY'","'AS'","'ASC'","'AST'","'AT'","'AUTHORIZATION'","'AUTOCOMMIT'","'BATCH'","'BEFORE'","'BETWEEN'","'BIGINT'","'BINARY'","'BOOLEAN'","'BOTH'","'BUCKET'","'BUCKETS'","'BY'","'CACHE'","'CASCADE'","'CASE'","'CAST'","'CBO'","'CHANGE'","'CHAR'","'CHECK'","'CLUSTER'","'CLUSTERED'","'CLUSTERSTATUS'","'COLLECTION'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPACTIONS'","'COMPACTIONID'","'COMPUTE'","'CONCATENATE'","'CONF'","'CONSTRAINT'","'CONTINUE'","'COST'","'CREATE'","'CRON'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_DATE'","'CURRENT_TIMESTAMP'","'CURSOR'","'DATA'","'DATABASE'","'DATABASES'","'CONNECTOR'","'CONNECTORS'","'DATE'","'DATETIME'","'DAY'","'DAYS'","'DAYOFWEEK'","'DBPROPERTIES'","'DCPROPERTIES'","'DDL'","'DEBUG'","'DEC'","'DECIMAL'","'NUMERIC'","'DEFAULT'","'DEFERRED'","'DEFINED'","'DELETE'","'DELIMITED'","'DEPENDENCY'","'DESC'","'DESCRIBE'","'DETAIL'","'DIRECTORIES'","'DIRECTORY'","'DISABLE'","'DISABLED'","'DISTINCT'","'DISTRIBUTE'","'DISTRIBUTED'","'DO'","'DOUBLE'","'DROP'","'RECOVER'","'DUMP'","'$ELEM$'","'ELSE'","'ENABLE'","'ENABLED'","'END'","'ENFORCED'","'ESCAPED'","'EVERY'","'EXCEPT'","'EXCHANGE'","'EXCLUSIVE'","'EXECUTE'","'EXECUTED'","'EXISTS'","'EXPIRE_SNAPSHOTS'","'EXPLAIN'","'EXPORT'","'EXPRESSION'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FIELDS'","'FILE'","'FILEFORMAT'","'FIRST'","'FLOAT'","'FLOOR'","'FOLLOWING'","'FOR'","'FORCE'","'FOREIGN'","'FORMAT'","'FORMATTED'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GRANT'","'GROUP'","'GROUPING'","'HAVING'","'HOLD_DDLTIME'","'HOUR'","'HOURS'","'IDXPROPERTIES'","'IF'","'IGNORE'","'IMPORT'","'IN'","'INDEX'","'INDEXES'","'INNER'","'INPATH'","'INPUTDRIVER'","'INPUTFORMAT'","'INSERT'","'INT'","'INTEGER'","'INTERSECT'","'INTERVAL'","'INTO'","'IS'","'ISOLATION'","'ITEMS'","'JAR'","'JOIN'","'JOINCOST'","'KEY'","'KEYS'","'$KEY$'","'KILL'","'LAST'","'LATERAL'","'LEADING'","'LEFT'","'LESS'","'LEVEL'","'LIFECYCLE'","'LIKE'","'LIMIT'","'LINES'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'LOCKS'","'LOGICAL'","'LONG'","'MACRO'","'MANAGED'","'MANAGEDLOCATION'","'MANAGEMENT'","'MAP'","'MAPJOIN'","'MAPPING'","'MATCHED'","'MATERIALIZED'","'MERGE'","'METADATA'","'MINUS'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MORE'","'MOVE'","'MSCK'","'NONE'","'NORELY'","'NOSCAN'","'NOT'","'NOVALIDATE'","'NO_DROP'","'NULL'","'NULLS'","'OF'","'OFFLINE'","'OFFSET'","'ON'","'ONLY'","'OPERATOR'","'OPTION'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTPUTDRIVER'","'OUTPUTFORMAT'","'OVER'","'OVERWRITE'","'OWNER'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PATH'","'PERCENT'","'PKFK_JOIN'","'PLAN'","'PLANS'","'PLUS'","'POOL'","'PRECEDING'","'PRECISION'","'PREPARE'","'PRESERVE'","'PRIMARY'","'PRINCIPALS'","'PROCEDURE'","'PROTECTION'","'PURGE'","'QUALIFY'","'QUARTER'","'QUERY'","'QUERY_PARALLELISM'","'RANGE'","'READ'","'READONLY'","'READS'","'REAL'","'REBUILD'","'RECORDREADER'","'RECORDWRITER'","'REDUCE'","'REFERENCES'","'REGEXP'","'RELOAD'","'RELY'","'REMOTE'","'RENAME'","'REOPTIMIZATION'","'REPAIR'","'REPL'","'REPLACE'","'REPLICATION'","'RESOURCE'","'RESPECT'","'RESTRICT'","'REVOKE'","'REWRITE'","'RIGHT'","'RLIKE'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'SCHEDULED'","'SCHEDULING_POLICY'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECONDS'","'SELECT'","'SEMI'","'SERDE'","'SERDEPROPERTIES'","'SERVER'","'SET'","'SETS'","'SET_CURRENT_SNAPSHOT'","'SHARED'","'SHOW'","'SHOW_DATABASE'","'SKEWED'","'SMALLINT'","'SNAPSHOT'","'SOME'","'SORT'","'SORTED'","'SPEC'","'SSL'","'START'","'STATISTICS'","'STATUS'","'STORED'","'STREAMTABLE'","'STRING'","'STRUCT'","'SUMMARY'","'SYNC'","'SYSTEM_TIME'","'SYSTEM_VERSION'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TBLPROPERTIES'","'TEMPORARY'","'TERMINATED'","'THEN'","'TIME'","'TIMESTAMP'","'TIMESTAMPLOCALTZ'","'TIMESTAMPTZ'","'TINYINT'","'TO'","'TOUCH'","'TRAILING'","'TRANSACTION'","'TRANSACTIONAL'","'TRANSACTIONS'","'TRANSFORM'","'TRIGGER'","'TRIM'","'TRUE'","'TRUNCATE'","'TYPE'","'UNARCHIVE'","'UNBOUNDED'","'UNDO'","'UNION'","'UNIONTYPE'","'UNIQUE'","'UNIQUEJOIN'","'UNKNOWN'","'UNLOCK'","'UNMANAGED'","'UNSET'","'UNSIGNED'","'UPDATE'","'URI'","'URL'","'USE'","'USER'","'USING'","'UTC'","'UTC_TMESTAMP'","'VALIDATE'","'VALUES'","'$VALUE$'","'VARCHAR'","'VECTORIZATION'","'VIEW'","'VIEWS'","'WAIT'","'WEEK'","'WEEKS'","'WHEN'","'WHERE'","'WHILE'","'WINDOW'","'WITH'","'WITHIN'","'WORK'","'WORKLOAD'","'WRITE'","'YEAR'","'YEARS'","'ZONE'","'.'","':'","','","';'","'('","')'","'['","']'","'{'","'}'",null,"'<=>'",null,"'<='","'<'","'>='","'>'","'/'","'+'","'-'","'*'","'%'","'DIV'","'!'","'&'","'~'","'|'","'||'","'^'","'?'","'$'"],l.symbolicNames=[null,"KW_ABORT","KW_ACTIVATE","KW_ACTIVE","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALLOC_FRACTION","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_APPLICATION","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AST","KW_AT","KW_AUTHORIZATION","KW_AUTOCOMMIT","KW_BATCH","KW_BEFORE","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CBO","KW_CHANGE","KW_CHAR","KW_CHECK","KW_CLUSTER","KW_CLUSTERED","KW_CLUSTERSTATUS","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPACT_ID","KW_COMPUTE","KW_CONCATENATE","KW_CONF","KW_CONSTRAINT","KW_CONTINUE","KW_COST","KW_CREATE","KW_CRON","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIMESTAMP","KW_CURSOR","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DATACONNECTOR","KW_DATACONNECTORS","KW_DATE","KW_DATETIME","KW_DAY","KW_DAYS","KW_DAYOFWEEK","KW_DBPROPERTIES","KW_DCPROPERTIES","KW_DDL","KW_DEBUG","KW_DEC","KW_DECIMAL","KW_NUMERIC","KW_DEFAULT","KW_DEFERRED","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DEPENDENCY","KW_DESC","KW_DESCRIBE","KW_DETAIL","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISABLED","KW_DISTINCT","KW_DISTRIBUTE","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_RECOVER","KW_DUMP","KW_ELEM_TYPE","KW_ELSE","KW_ENABLE","KW_ENABLED","KW_END","KW_ENFORCED","KW_ESCAPED","KW_EVERY","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXECUTE","KW_EXECUTED","KW_EXISTS","KW_EXPIRE_SNAPSHOTS","KW_EXPLAIN","KW_EXPORT","KW_EXPRESSION","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILE","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FLOOR","KW_FOLLOWING","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_HOLD_DDLTIME","KW_HOUR","KW_HOURS","KW_IDXPROPERTIES","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTDRIVER","KW_INPUTFORMAT","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_IS","KW_ISOLATION","KW_ITEMS","KW_JAR","KW_JOIN","KW_JOINCOST","KW_KEY","KW_KEYS","KW_KEY_TYPE","KW_KILL","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEFT","KW_LESS","KW_LEVEL","KW_LIFECYCLE","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MANAGED","KW_MANAGEDLOCATION","KW_MANAGEMENT","KW_MAP","KW_MAPJOIN","KW_MAPPING","KW_MATCHED","KW_MATERIALIZED","KW_MERGE","KW_METADATA","KW_MINUS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MORE","KW_MOVE","KW_MSCK","KW_NONE","KW_NORELY","KW_NOSCAN","KW_NOT","KW_NOVALIDATE","KW_NO_DROP","KW_NULL","KW_NULLS","KW_OF","KW_OFFLINE","KW_OFFSET","KW_ON","KW_ONLY","KW_OPERATOR","KW_OPTION","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTDRIVER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERWRITE","KW_OWNER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATH","KW_PERCENT","KW_PKFK_JOIN","KW_PLAN","KW_PLANS","KW_PLUS","KW_POOL","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRESERVE","KW_PRIMARY","KW_PRINCIPALS","KW_PROCEDURE","KW_PROTECTION","KW_PURGE","KW_QUALIFY","KW_QUARTER","KW_QUERY","KW_QUERY_PARALLELISM","KW_RANGE","KW_READ","KW_READONLY","KW_READS","KW_REAL","KW_REBUILD","KW_RECORDREADER","KW_RECORDWRITER","KW_REDUCE","KW_REFERENCES","KW_REGEXP","KW_RELOAD","KW_RELY","KW_REMOTE","KW_RENAME","KW_REOPTIMIZATION","KW_REPAIR","KW_REPL","KW_REPLACE","KW_REPLICATION","KW_RESOURCE","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_REWRITE","KW_RIGHT","KW_RLIKE","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SCHEDULED","KW_SCHEDULING_POLICY","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SEMI","KW_SERDE","KW_SERDEPROPERTIES","KW_SERVER","KW_SET","KW_SETS","KW_SET_CURRENT_SNAPSHOT","KW_SHARED","KW_SHOW","KW_SHOW_DATABASE","KW_SKEWED","KW_SMALLINT","KW_SNAPSHOT","KW_SOME","KW_SORT","KW_SORTED","KW_SPEC","KW_SSL","KW_START","KW_STATISTICS","KW_STATUS","KW_STORED","KW_STREAMTABLE","KW_STRING","KW_STRUCT","KW_SUMMARY","KW_SYNC","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMPLOCALTZ","KW_TIMESTAMPTZ","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIGGER","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNDO","KW_UNION","KW_UNIONTYPE","KW_UNIQUE","KW_UNIQUEJOIN","KW_UNKNOWN","KW_UNLOCK","KW_UNMANAGED","KW_UNSET","KW_UNSIGNED","KW_UPDATE","KW_URI","KW_URL","KW_USE","KW_USER","KW_USING","KW_UTC","KW_UTCTIMESTAMP","KW_VALIDATE","KW_VALUES","KW_VALUE_TYPE","KW_VARCHAR","KW_VECTORIZATION","KW_VIEW","KW_VIEWS","KW_WAIT","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WORK","KW_WORKLOAD","KW_WRITE","KW_YEAR","KW_YEARS","KW_ZONE","DOT","COLON","COMMA","SEMICOLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","EQUAL","EQUAL_NS","NOTEQUAL","LESSTHANOREQUALTO","LESSTHAN","GREATERTHANOREQUALTO","GREATERTHAN","DIVIDE","PLUS","MINUS","STAR","MOD","DIV","BITWISENOT","AMPERSAND","TILDE","BITWISEOR","CONCATENATE","BITWISEXOR","QUESTION","DOLLAR","StringLiteral","CharSetLiteral","IntegralLiteral","NumberLiteral","ByteLengthLiteral","Number","Identifier","CharSetName","WHITE_SPACE","LINE_COMMENT","QUERY_HINT","SHOW_HINT","HIDDEN_HINT"],l.modeNames=["DEFAULT_MODE"],l.ruleNames=["KW_ABORT","KW_ACTIVATE","KW_ACTIVE","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALLOC_FRACTION","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_APPLICATION","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AST","KW_AT","KW_AUTHORIZATION","KW_AUTOCOMMIT","KW_BATCH","KW_BEFORE","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CBO","KW_CHANGE","KW_CHAR","KW_CHECK","KW_CLUSTER","KW_CLUSTERED","KW_CLUSTERSTATUS","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPACT_ID","KW_COMPUTE","KW_CONCATENATE","KW_CONF","KW_CONSTRAINT","KW_CONTINUE","KW_COST","KW_CREATE","KW_CRON","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIMESTAMP","KW_CURSOR","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DATACONNECTOR","KW_DATACONNECTORS","KW_DATE","KW_DATETIME","KW_DAY","KW_DAYS","KW_DAYOFWEEK","KW_DBPROPERTIES","KW_DCPROPERTIES","KW_DDL","KW_DEBUG","KW_DEC","KW_DECIMAL","KW_NUMERIC","KW_DEFAULT","KW_DEFERRED","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DEPENDENCY","KW_DESC","KW_DESCRIBE","KW_DETAIL","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISABLED","KW_DISTINCT","KW_DISTRIBUTE","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_RECOVER","KW_DUMP","KW_ELEM_TYPE","KW_ELSE","KW_ENABLE","KW_ENABLED","KW_END","KW_ENFORCED","KW_ESCAPED","KW_EVERY","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXECUTE","KW_EXECUTED","KW_EXISTS","KW_EXPIRE_SNAPSHOTS","KW_EXPLAIN","KW_EXPORT","KW_EXPRESSION","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILE","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FLOOR","KW_FOLLOWING","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_HOLD_DDLTIME","KW_HOUR","KW_HOURS","KW_IDXPROPERTIES","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTDRIVER","KW_INPUTFORMAT","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_IS","KW_ISOLATION","KW_ITEMS","KW_JAR","KW_JOIN","KW_JOINCOST","KW_KEY","KW_KEYS","KW_KEY_TYPE","KW_KILL","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEFT","KW_LESS","KW_LEVEL","KW_LIFECYCLE","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MANAGED","KW_MANAGEDLOCATION","KW_MANAGEMENT","KW_MAP","KW_MAPJOIN","KW_MAPPING","KW_MATCHED","KW_MATERIALIZED","KW_MERGE","KW_METADATA","KW_MINUS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MORE","KW_MOVE","KW_MSCK","KW_NONE","KW_NORELY","KW_NOSCAN","KW_NOT","KW_NOVALIDATE","KW_NO_DROP","KW_NULL","KW_NULLS","KW_OF","KW_OFFLINE","KW_OFFSET","KW_ON","KW_ONLY","KW_OPERATOR","KW_OPTION","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTDRIVER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERWRITE","KW_OWNER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATH","KW_PERCENT","KW_PKFK_JOIN","KW_PLAN","KW_PLANS","KW_PLUS","KW_POOL","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRESERVE","KW_PRIMARY","KW_PRINCIPALS","KW_PROCEDURE","KW_PROTECTION","KW_PURGE","KW_QUALIFY","KW_QUARTER","KW_QUERY","KW_QUERY_PARALLELISM","KW_RANGE","KW_READ","KW_READONLY","KW_READS","KW_REAL","KW_REBUILD","KW_RECORDREADER","KW_RECORDWRITER","KW_REDUCE","KW_REFERENCES","KW_REGEXP","KW_RELOAD","KW_RELY","KW_REMOTE","KW_RENAME","KW_REOPTIMIZATION","KW_REPAIR","KW_REPL","KW_REPLACE","KW_REPLICATION","KW_RESOURCE","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_REWRITE","KW_RIGHT","KW_RLIKE","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SCHEDULED","KW_SCHEDULING_POLICY","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SEMI","KW_SERDE","KW_SERDEPROPERTIES","KW_SERVER","KW_SET","KW_SETS","KW_SET_CURRENT_SNAPSHOT","KW_SHARED","KW_SHOW","KW_SHOW_DATABASE","KW_SKEWED","KW_SMALLINT","KW_SNAPSHOT","KW_SOME","KW_SORT","KW_SORTED","KW_SPEC","KW_SSL","KW_START","KW_STATISTICS","KW_STATUS","KW_STORED","KW_STREAMTABLE","KW_STRING","KW_STRUCT","KW_SUMMARY","KW_SYNC","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMPLOCALTZ","KW_TIMESTAMPTZ","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIGGER","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNDO","KW_UNION","KW_UNIONTYPE","KW_UNIQUE","KW_UNIQUEJOIN","KW_UNKNOWN","KW_UNLOCK","KW_UNMANAGED","KW_UNSET","KW_UNSIGNED","KW_UPDATE","KW_URI","KW_URL","KW_USE","KW_USER","KW_USING","KW_UTC","KW_UTCTIMESTAMP","KW_VALIDATE","KW_VALUES","KW_VALUE_TYPE","KW_VARCHAR","KW_VECTORIZATION","KW_VIEW","KW_VIEWS","KW_WAIT","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WORK","KW_WORKLOAD","KW_WRITE","KW_YEAR","KW_YEARS","KW_ZONE","DOT","COLON","COMMA","SEMICOLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","EQUAL","EQUAL_NS","NOTEQUAL","LESSTHANOREQUALTO","LESSTHAN","GREATERTHANOREQUALTO","GREATERTHAN","DIVIDE","PLUS","MINUS","STAR","MOD","DIV","BITWISENOT","AMPERSAND","TILDE","BITWISEOR","CONCATENATE","BITWISEXOR","QUESTION","DOLLAR","StringLiteral","CharSetLiteral","IntegralLiteral","NumberLiteral","ByteLengthLiteral","Number","Identifier","QuotedIdentifier","Letter","HexDigit","Digit","Exponent","RegexComponent","CharSetName","WHITE_SPACE","LINE_COMMENT","QUERY_HINT","SHOW_HINT","HIDDEN_HINT"],l._serializedATN=[4,0,438,4171,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,395,1,395,1,396,1,396,1,397,1,397,1,398,1,398,1,399,1,399,1,400,1,400,1,401,1,401,1,402,1,402,1,403,1,403,1,404,1,404,1,404,3,404,3920,8,404,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,3,406,3930,8,406,1,407,1,407,1,407,1,408,1,408,1,409,1,409,1,409,1,410,1,410,1,411,1,411,1,412,1,412,1,413,1,413,1,414,1,414,1,415,1,415,1,416,1,416,1,416,1,416,1,417,1,417,1,418,1,418,1,419,1,419,1,420,1,420,1,421,1,421,1,421,1,422,1,422,1,423,1,423,1,424,1,424,1,425,1,425,1,425,1,425,5,425,3977,8,425,10,425,12,425,3980,9,425,1,425,1,425,1,425,1,425,1,425,5,425,3987,8,425,10,425,12,425,3990,9,425,1,425,4,425,3993,8,425,11,425,12,425,3994,1,426,1,426,1,426,1,426,1,426,4,426,4002,8,426,11,426,12,426,4003,3,426,4006,8,426,1,427,4,427,4009,8,427,11,427,12,427,4010,1,427,1,427,1,428,1,428,3,428,4017,8,428,1,428,1,428,1,429,4,429,4022,8,429,11,429,12,429,4023,1,429,1,429,1,430,4,430,4029,8,430,11,430,12,430,4030,1,430,1,430,5,430,4035,8,430,10,430,12,430,4038,9,430,1,430,3,430,4041,8,430,1,430,3,430,4044,8,430,1,431,1,431,3,431,4048,8,431,1,431,1,431,1,431,5,431,4053,8,431,10,431,12,431,4056,9,431,1,431,1,431,1,431,4,431,4061,8,431,11,431,12,431,4062,1,431,1,431,3,431,4067,8,431,1,432,1,432,1,432,1,432,5,432,4073,8,432,10,432,12,432,4076,9,432,1,432,1,432,1,433,1,433,1,434,1,434,1,435,1,435,1,436,1,436,1,436,3,436,4089,8,436,1,436,4,436,4092,8,436,11,436,12,436,4093,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,3,437,4112,8,437,1,438,1,438,1,438,1,438,4,438,4118,8,438,11,438,12,438,4119,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,5,440,4130,8,440,10,440,12,440,4133,9,440,1,440,1,440,1,441,1,441,3,441,4139,8,441,1,442,1,442,1,442,1,442,1,442,1,442,5,442,4147,8,442,10,442,12,442,4150,9,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,5,443,4162,8,443,10,443,12,443,4165,9,443,1,443,1,443,1,443,1,443,1,443,2,4148,4163,0,444,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,0,867,0,869,0,871,0,873,0,875,0,877,433,879,434,881,435,883,436,885,437,887,438,1,0,37,2,0,65,65,97,97,2,0,66,66,98,98,2,0,79,79,111,111,2,0,82,82,114,114,2,0,84,84,116,116,2,0,67,67,99,99,2,0,73,73,105,105,2,0,86,86,118,118,2,0,69,69,101,101,2,0,68,68,100,100,2,0,77,77,109,109,2,0,78,78,110,110,2,0,70,70,102,102,2,0,76,76,108,108,2,0,89,89,121,121,2,0,90,90,122,122,2,0,80,80,112,112,2,0,72,72,104,104,2,0,83,83,115,115,2,0,85,85,117,117,2,0,87,87,119,119,2,0,71,71,103,103,2,0,75,75,107,107,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,2,0,39,39,92,92,2,0,34,34,92,92,6,0,76,76,83,83,89,89,108,108,115,115,121,121,8,0,66,66,71,71,75,75,77,77,98,98,103,103,107,107,109,109,1,0,96,96,2,0,65,90,97,122,2,0,65,70,97,102,4,0,48,57,65,90,95,95,97,122,3,0,45,46,58,58,95,95,3,0,9,10,13,13,32,32,2,0,10,10,13,13,4219,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,1,889,1,0,0,0,3,895,1,0,0,0,5,904,1,0,0,0,7,911,1,0,0,0,9,915,1,0,0,0,11,921,1,0,0,0,13,927,1,0,0,0,15,931,1,0,0,0,17,946,1,0,0,0,19,952,1,0,0,0,21,960,1,0,0,0,23,964,1,0,0,0,25,969,1,0,0,0,27,973,1,0,0,0,29,985,1,0,0,0,31,993,1,0,0,0,33,999,1,0,0,0,35,1002,1,0,0,0,37,1006,1,0,0,0,39,1010,1,0,0,0,41,1013,1,0,0,0,43,1027,1,0,0,0,45,1038,1,0,0,0,47,1044,1,0,0,0,49,1051,1,0,0,0,51,1059,1,0,0,0,53,1066,1,0,0,0,55,1073,1,0,0,0,57,1081,1,0,0,0,59,1086,1,0,0,0,61,1093,1,0,0,0,63,1101,1,0,0,0,65,1104,1,0,0,0,67,1110,1,0,0,0,69,1118,1,0,0,0,71,1123,1,0,0,0,73,1128,1,0,0,0,75,1132,1,0,0,0,77,1139,1,0,0,0,79,1144,1,0,0,0,81,1150,1,0,0,0,83,1158,1,0,0,0,85,1168,1,0,0,0,87,1182,1,0,0,0,89,1193,1,0,0,0,91,1200,1,0,0,0,93,1208,1,0,0,0,95,1216,1,0,0,0,97,1223,1,0,0,0,99,1231,1,0,0,0,101,1243,1,0,0,0,103,1256,1,0,0,0,105,1264,1,0,0,0,107,1276,1,0,0,0,109,1281,1,0,0,0,111,1292,1,0,0,0,113,1301,1,0,0,0,115,1306,1,0,0,0,117,1313,1,0,0,0,119,1318,1,0,0,0,121,1324,1,0,0,0,123,1329,1,0,0,0,125,1337,1,0,0,0,127,1350,1,0,0,0,129,1368,1,0,0,0,131,1375,1,0,0,0,133,1380,1,0,0,0,135,1389,1,0,0,0,137,1399,1,0,0,0,139,1409,1,0,0,0,141,1420,1,0,0,0,143,1425,1,0,0,0,145,1434,1,0,0,0,147,1438,1,0,0,0,149,1443,1,0,0,0,151,1453,1,0,0,0,153,1466,1,0,0,0,155,1479,1,0,0,0,157,1483,1,0,0,0,159,1489,1,0,0,0,161,1493,1,0,0,0,163,1501,1,0,0,0,165,1509,1,0,0,0,167,1517,1,0,0,0,169,1526,1,0,0,0,171,1534,1,0,0,0,173,1541,1,0,0,0,175,1551,1,0,0,0,177,1562,1,0,0,0,179,1567,1,0,0,0,181,1576,1,0,0,0,183,1583,1,0,0,0,185,1595,1,0,0,0,187,1605,1,0,0,0,189,1613,1,0,0,0,191,1622,1,0,0,0,193,1631,1,0,0,0,195,1642,1,0,0,0,197,1654,1,0,0,0,199,1657,1,0,0,0,201,1664,1,0,0,0,203,1669,1,0,0,0,205,1677,1,0,0,0,207,1682,1,0,0,0,209,1689,1,0,0,0,211,1694,1,0,0,0,213,1701,1,0,0,0,215,1709,1,0,0,0,217,1713,1,0,0,0,219,1722,1,0,0,0,221,1730,1,0,0,0,223,1736,1,0,0,0,225,1743,1,0,0,0,227,1752,1,0,0,0,229,1762,1,0,0,0,231,1770,1,0,0,0,233,1779,1,0,0,0,235,1786,1,0,0,0,237,1803,1,0,0,0,239,1811,1,0,0,0,241,1818,1,0,0,0,243,1829,1,0,0,0,245,1838,1,0,0,0,247,1847,1,0,0,0,249,1855,1,0,0,0,251,1861,1,0,0,0,253,1867,1,0,0,0,255,1874,1,0,0,0,257,1879,1,0,0,0,259,1890,1,0,0,0,261,1896,1,0,0,0,263,1902,1,0,0,0,265,1908,1,0,0,0,267,1918,1,0,0,0,269,1922,1,0,0,0,271,1928,1,0,0,0,273,1936,1,0,0,0,275,1943,1,0,0,0,277,1953,1,0,0,0,279,1958,1,0,0,0,281,1963,1,0,0,0,283,1972,1,0,0,0,285,1982,1,0,0,0,287,1988,1,0,0,0,289,1994,1,0,0,0,291,2003,1,0,0,0,293,2010,1,0,0,0,295,2023,1,0,0,0,297,2028,1,0,0,0,299,2034,1,0,0,0,301,2048,1,0,0,0,303,2051,1,0,0,0,305,2058,1,0,0,0,307,2065,1,0,0,0,309,2068,1,0,0,0,311,2074,1,0,0,0,313,2082,1,0,0,0,315,2088,1,0,0,0,317,2095,1,0,0,0,319,2107,1,0,0,0,321,2119,1,0,0,0,323,2126,1,0,0,0,325,2130,1,0,0,0,327,2138,1,0,0,0,329,2148,1,0,0,0,331,2157,1,0,0,0,333,2162,1,0,0,0,335,2165,1,0,0,0,337,2175,1,0,0,0,339,2181,1,0,0,0,341,2185,1,0,0,0,343,2190,1,0,0,0,345,2199,1,0,0,0,347,2203,1,0,0,0,349,2208,1,0,0,0,351,2214,1,0,0,0,353,2219,1,0,0,0,355,2224,1,0,0,0,357,2232,1,0,0,0,359,2240,1,0,0,0,361,2245,1,0,0,0,363,2250,1,0,0,0,365,2256,1,0,0,0,367,2266,1,0,0,0,369,2271,1,0,0,0,371,2277,1,0,0,0,373,2283,1,0,0,0,375,2288,1,0,0,0,377,2294,1,0,0,0,379,2303,1,0,0,0,381,2308,1,0,0,0,383,2314,1,0,0,0,385,2322,1,0,0,0,387,2327,1,0,0,0,389,2333,1,0,0,0,391,2341,1,0,0,0,393,2357,1,0,0,0,395,2368,1,0,0,0,397,2372,1,0,0,0,399,2380,1,0,0,0,401,2388,1,0,0,0,403,2396,1,0,0,0,405,2409,1,0,0,0,407,2415,1,0,0,0,409,2424,1,0,0,0,411,2430,1,0,0,0,413,2437,1,0,0,0,415,2445,1,0,0,0,417,2451,1,0,0,0,419,2458,1,0,0,0,421,2463,1,0,0,0,423,2468,1,0,0,0,425,2473,1,0,0,0,427,2478,1,0,0,0,429,2485,1,0,0,0,431,2492,1,0,0,0,433,2496,1,0,0,0,435,2507,1,0,0,0,437,2515,1,0,0,0,439,2520,1,0,0,0,441,2526,1,0,0,0,443,2529,1,0,0,0,445,2537,1,0,0,0,447,2544,1,0,0,0,449,2547,1,0,0,0,451,2552,1,0,0,0,453,2561,1,0,0,0,455,2568,1,0,0,0,457,2571,1,0,0,0,459,2577,1,0,0,0,461,2581,1,0,0,0,463,2587,1,0,0,0,465,2600,1,0,0,0,467,2613,1,0,0,0,469,2618,1,0,0,0,471,2628,1,0,0,0,473,2634,1,0,0,0,475,2644,1,0,0,0,477,2656,1,0,0,0,479,2667,1,0,0,0,481,2672,1,0,0,0,483,2680,1,0,0,0,485,2690,1,0,0,0,487,2695,1,0,0,0,489,2701,1,0,0,0,491,2706,1,0,0,0,493,2711,1,0,0,0,495,2721,1,0,0,0,497,2731,1,0,0,0,499,2739,1,0,0,0,501,2748,1,0,0,0,503,2756,1,0,0,0,505,2767,1,0,0,0,507,2777,1,0,0,0,509,2788,1,0,0,0,511,2794,1,0,0,0,513,2802,1,0,0,0,515,2810,1,0,0,0,517,2816,1,0,0,0,519,2834,1,0,0,0,521,2840,1,0,0,0,523,2845,1,0,0,0,525,2854,1,0,0,0,527,2860,1,0,0,0,529,2865,1,0,0,0,531,2873,1,0,0,0,533,2886,1,0,0,0,535,2899,1,0,0,0,537,2906,1,0,0,0,539,2917,1,0,0,0,541,2924,1,0,0,0,543,2931,1,0,0,0,545,2936,1,0,0,0,547,2943,1,0,0,0,549,2950,1,0,0,0,551,2965,1,0,0,0,553,2972,1,0,0,0,555,2977,1,0,0,0,557,2985,1,0,0,0,559,2997,1,0,0,0,561,3006,1,0,0,0,563,3014,1,0,0,0,565,3023,1,0,0,0,567,3030,1,0,0,0,569,3038,1,0,0,0,571,3044,1,0,0,0,573,3050,1,0,0,0,575,3055,1,0,0,0,577,3061,1,0,0,0,579,3070,1,0,0,0,581,3077,1,0,0,0,583,3081,1,0,0,0,585,3086,1,0,0,0,587,3096,1,0,0,0,589,3114,1,0,0,0,591,3121,1,0,0,0,593,3129,1,0,0,0,595,3136,1,0,0,0,597,3144,1,0,0,0,599,3151,1,0,0,0,601,3156,1,0,0,0,603,3162,1,0,0,0,605,3178,1,0,0,0,607,3185,1,0,0,0,609,3189,1,0,0,0,611,3194,1,0,0,0,613,3215,1,0,0,0,615,3222,1,0,0,0,617,3227,1,0,0,0,619,3241,1,0,0,0,621,3248,1,0,0,0,623,3257,1,0,0,0,625,3266,1,0,0,0,627,3271,1,0,0,0,629,3276,1,0,0,0,631,3283,1,0,0,0,633,3288,1,0,0,0,635,3292,1,0,0,0,637,3298,1,0,0,0,639,3309,1,0,0,0,641,3316,1,0,0,0,643,3323,1,0,0,0,645,3335,1,0,0,0,647,3342,1,0,0,0,649,3349,1,0,0,0,651,3357,1,0,0,0,653,3362,1,0,0,0,655,3374,1,0,0,0,657,3389,1,0,0,0,659,3395,1,0,0,0,661,3402,1,0,0,0,663,3414,1,0,0,0,665,3428,1,0,0,0,667,3438,1,0,0,0,669,3449,1,0,0,0,671,3454,1,0,0,0,673,3459,1,0,0,0,675,3469,1,0,0,0,677,3486,1,0,0,0,679,3498,1,0,0,0,681,3506,1,0,0,0,683,3509,1,0,0,0,685,3515,1,0,0,0,687,3524,1,0,0,0,689,3536,1,0,0,0,691,3550,1,0,0,0,693,3563,1,0,0,0,695,3573,1,0,0,0,697,3581,1,0,0,0,699,3586,1,0,0,0,701,3591,1,0,0,0,703,3600,1,0,0,0,705,3605,1,0,0,0,707,3615,1,0,0,0,709,3625,1,0,0,0,711,3630,1,0,0,0,713,3636,1,0,0,0,715,3646,1,0,0,0,717,3653,1,0,0,0,719,3664,1,0,0,0,721,3672,1,0,0,0,723,3679,1,0,0,0,725,3689,1,0,0,0,727,3695,1,0,0,0,729,3704,1,0,0,0,731,3711,1,0,0,0,733,3715,1,0,0,0,735,3719,1,0,0,0,737,3723,1,0,0,0,739,3728,1,0,0,0,741,3734,1,0,0,0,743,3738,1,0,0,0,745,3751,1,0,0,0,747,3760,1,0,0,0,749,3767,1,0,0,0,751,3775,1,0,0,0,753,3783,1,0,0,0,755,3797,1,0,0,0,757,3802,1,0,0,0,759,3808,1,0,0,0,761,3813,1,0,0,0,763,3818,1,0,0,0,765,3824,1,0,0,0,767,3829,1,0,0,0,769,3835,1,0,0,0,771,3841,1,0,0,0,773,3848,1,0,0,0,775,3853,1,0,0,0,777,3860,1,0,0,0,779,3865,1,0,0,0,781,3874,1,0,0,0,783,3880,1,0,0,0,785,3885,1,0,0,0,787,3891,1,0,0,0,789,3896,1,0,0,0,791,3898,1,0,0,0,793,3900,1,0,0,0,795,3902,1,0,0,0,797,3904,1,0,0,0,799,3906,1,0,0,0,801,3908,1,0,0,0,803,3910,1,0,0,0,805,3912,1,0,0,0,807,3914,1,0,0,0,809,3919,1,0,0,0,811,3921,1,0,0,0,813,3929,1,0,0,0,815,3931,1,0,0,0,817,3934,1,0,0,0,819,3936,1,0,0,0,821,3939,1,0,0,0,823,3941,1,0,0,0,825,3943,1,0,0,0,827,3945,1,0,0,0,829,3947,1,0,0,0,831,3949,1,0,0,0,833,3951,1,0,0,0,835,3955,1,0,0,0,837,3957,1,0,0,0,839,3959,1,0,0,0,841,3961,1,0,0,0,843,3963,1,0,0,0,845,3966,1,0,0,0,847,3968,1,0,0,0,849,3970,1,0,0,0,851,3992,1,0,0,0,853,4005,1,0,0,0,855,4008,1,0,0,0,857,4014,1,0,0,0,859,4021,1,0,0,0,861,4028,1,0,0,0,863,4066,1,0,0,0,865,4068,1,0,0,0,867,4079,1,0,0,0,869,4081,1,0,0,0,871,4083,1,0,0,0,873,4085,1,0,0,0,875,4111,1,0,0,0,877,4113,1,0,0,0,879,4121,1,0,0,0,881,4125,1,0,0,0,883,4138,1,0,0,0,885,4140,1,0,0,0,887,4156,1,0,0,0,889,890,7,0,0,0,890,891,7,1,0,0,891,892,7,2,0,0,892,893,7,3,0,0,893,894,7,4,0,0,894,2,1,0,0,0,895,896,7,0,0,0,896,897,7,5,0,0,897,898,7,4,0,0,898,899,7,6,0,0,899,900,7,7,0,0,900,901,7,0,0,0,901,902,7,4,0,0,902,903,7,8,0,0,903,4,1,0,0,0,904,905,7,0,0,0,905,906,7,5,0,0,906,907,7,4,0,0,907,908,7,6,0,0,908,909,7,7,0,0,909,910,7,8,0,0,910,6,1,0,0,0,911,912,7,0,0,0,912,913,7,9,0,0,913,914,7,9,0,0,914,8,1,0,0,0,915,916,7,0,0,0,916,917,7,9,0,0,917,918,7,10,0,0,918,919,7,6,0,0,919,920,7,11,0,0,920,10,1,0,0,0,921,922,7,0,0,0,922,923,7,12,0,0,923,924,7,4,0,0,924,925,7,8,0,0,925,926,7,3,0,0,926,12,1,0,0,0,927,928,7,0,0,0,928,929,7,13,0,0,929,930,7,13,0,0,930,14,1,0,0,0,931,932,7,0,0,0,932,933,7,13,0,0,933,934,7,13,0,0,934,935,7,2,0,0,935,936,7,5,0,0,936,937,5,95,0,0,937,938,7,12,0,0,938,939,7,3,0,0,939,940,7,0,0,0,940,941,7,5,0,0,941,942,7,4,0,0,942,943,7,6,0,0,943,944,7,2,0,0,944,945,7,11,0,0,945,16,1,0,0,0,946,947,7,0,0,0,947,948,7,13,0,0,948,949,7,4,0,0,949,950,7,8,0,0,950,951,7,3,0,0,951,18,1,0,0,0,952,953,7,0,0,0,953,954,7,11,0,0,954,955,7,0,0,0,955,956,7,13,0,0,956,957,7,14,0,0,957,958,7,15,0,0,958,959,7,8,0,0,959,20,1,0,0,0,960,961,7,0,0,0,961,962,7,11,0,0,962,963,7,9,0,0,963,22,1,0,0,0,964,965,7,0,0,0,965,966,7,11,0,0,966,967,7,4,0,0,967,968,7,6,0,0,968,24,1,0,0,0,969,970,7,0,0,0,970,971,7,11,0,0,971,972,7,14,0,0,972,26,1,0,0,0,973,974,7,0,0,0,974,975,7,16,0,0,975,976,7,16,0,0,976,977,7,13,0,0,977,978,7,6,0,0,978,979,7,5,0,0,979,980,7,0,0,0,980,981,7,4,0,0,981,982,7,6,0,0,982,983,7,2,0,0,983,984,7,11,0,0,984,28,1,0,0,0,985,986,7,0,0,0,986,987,7,3,0,0,987,988,7,5,0,0,988,989,7,17,0,0,989,990,7,6,0,0,990,991,7,7,0,0,991,992,7,8,0,0,992,30,1,0,0,0,993,994,7,0,0,0,994,995,7,3,0,0,995,996,7,3,0,0,996,997,7,0,0,0,997,998,7,14,0,0,998,32,1,0,0,0,999,1e3,7,0,0,0,1e3,1001,7,18,0,0,1001,34,1,0,0,0,1002,1003,7,0,0,0,1003,1004,7,18,0,0,1004,1005,7,5,0,0,1005,36,1,0,0,0,1006,1007,7,0,0,0,1007,1008,7,18,0,0,1008,1009,7,4,0,0,1009,38,1,0,0,0,1010,1011,7,0,0,0,1011,1012,7,4,0,0,1012,40,1,0,0,0,1013,1014,7,0,0,0,1014,1015,7,19,0,0,1015,1016,7,4,0,0,1016,1017,7,17,0,0,1017,1018,7,2,0,0,1018,1019,7,3,0,0,1019,1020,7,6,0,0,1020,1021,7,15,0,0,1021,1022,7,0,0,0,1022,1023,7,4,0,0,1023,1024,7,6,0,0,1024,1025,7,2,0,0,1025,1026,7,11,0,0,1026,42,1,0,0,0,1027,1028,7,0,0,0,1028,1029,7,19,0,0,1029,1030,7,4,0,0,1030,1031,7,2,0,0,1031,1032,7,5,0,0,1032,1033,7,2,0,0,1033,1034,7,10,0,0,1034,1035,7,10,0,0,1035,1036,7,6,0,0,1036,1037,7,4,0,0,1037,44,1,0,0,0,1038,1039,7,1,0,0,1039,1040,7,0,0,0,1040,1041,7,4,0,0,1041,1042,7,5,0,0,1042,1043,7,17,0,0,1043,46,1,0,0,0,1044,1045,7,1,0,0,1045,1046,7,8,0,0,1046,1047,7,12,0,0,1047,1048,7,2,0,0,1048,1049,7,3,0,0,1049,1050,7,8,0,0,1050,48,1,0,0,0,1051,1052,7,1,0,0,1052,1053,7,8,0,0,1053,1054,7,4,0,0,1054,1055,7,20,0,0,1055,1056,7,8,0,0,1056,1057,7,8,0,0,1057,1058,7,11,0,0,1058,50,1,0,0,0,1059,1060,7,1,0,0,1060,1061,7,6,0,0,1061,1062,7,21,0,0,1062,1063,7,6,0,0,1063,1064,7,11,0,0,1064,1065,7,4,0,0,1065,52,1,0,0,0,1066,1067,7,1,0,0,1067,1068,7,6,0,0,1068,1069,7,11,0,0,1069,1070,7,0,0,0,1070,1071,7,3,0,0,1071,1072,7,14,0,0,1072,54,1,0,0,0,1073,1074,7,1,0,0,1074,1075,7,2,0,0,1075,1076,7,2,0,0,1076,1077,7,13,0,0,1077,1078,7,8,0,0,1078,1079,7,0,0,0,1079,1080,7,11,0,0,1080,56,1,0,0,0,1081,1082,7,1,0,0,1082,1083,7,2,0,0,1083,1084,7,4,0,0,1084,1085,7,17,0,0,1085,58,1,0,0,0,1086,1087,7,1,0,0,1087,1088,7,19,0,0,1088,1089,7,5,0,0,1089,1090,7,22,0,0,1090,1091,7,8,0,0,1091,1092,7,4,0,0,1092,60,1,0,0,0,1093,1094,7,1,0,0,1094,1095,7,19,0,0,1095,1096,7,5,0,0,1096,1097,7,22,0,0,1097,1098,7,8,0,0,1098,1099,7,4,0,0,1099,1100,7,18,0,0,1100,62,1,0,0,0,1101,1102,7,1,0,0,1102,1103,7,14,0,0,1103,64,1,0,0,0,1104,1105,7,5,0,0,1105,1106,7,0,0,0,1106,1107,7,5,0,0,1107,1108,7,17,0,0,1108,1109,7,8,0,0,1109,66,1,0,0,0,1110,1111,7,5,0,0,1111,1112,7,0,0,0,1112,1113,7,18,0,0,1113,1114,7,5,0,0,1114,1115,7,0,0,0,1115,1116,7,9,0,0,1116,1117,7,8,0,0,1117,68,1,0,0,0,1118,1119,7,5,0,0,1119,1120,7,0,0,0,1120,1121,7,18,0,0,1121,1122,7,8,0,0,1122,70,1,0,0,0,1123,1124,7,5,0,0,1124,1125,7,0,0,0,1125,1126,7,18,0,0,1126,1127,7,4,0,0,1127,72,1,0,0,0,1128,1129,7,5,0,0,1129,1130,7,1,0,0,1130,1131,7,2,0,0,1131,74,1,0,0,0,1132,1133,7,5,0,0,1133,1134,7,17,0,0,1134,1135,7,0,0,0,1135,1136,7,11,0,0,1136,1137,7,21,0,0,1137,1138,7,8,0,0,1138,76,1,0,0,0,1139,1140,7,5,0,0,1140,1141,7,17,0,0,1141,1142,7,0,0,0,1142,1143,7,3,0,0,1143,78,1,0,0,0,1144,1145,7,5,0,0,1145,1146,7,17,0,0,1146,1147,7,8,0,0,1147,1148,7,5,0,0,1148,1149,7,22,0,0,1149,80,1,0,0,0,1150,1151,7,5,0,0,1151,1152,7,13,0,0,1152,1153,7,19,0,0,1153,1154,7,18,0,0,1154,1155,7,4,0,0,1155,1156,7,8,0,0,1156,1157,7,3,0,0,1157,82,1,0,0,0,1158,1159,7,5,0,0,1159,1160,7,13,0,0,1160,1161,7,19,0,0,1161,1162,7,18,0,0,1162,1163,7,4,0,0,1163,1164,7,8,0,0,1164,1165,7,3,0,0,1165,1166,7,8,0,0,1166,1167,7,9,0,0,1167,84,1,0,0,0,1168,1169,7,5,0,0,1169,1170,7,13,0,0,1170,1171,7,19,0,0,1171,1172,7,18,0,0,1172,1173,7,4,0,0,1173,1174,7,8,0,0,1174,1175,7,3,0,0,1175,1176,7,18,0,0,1176,1177,7,4,0,0,1177,1178,7,0,0,0,1178,1179,7,4,0,0,1179,1180,7,19,0,0,1180,1181,7,18,0,0,1181,86,1,0,0,0,1182,1183,7,5,0,0,1183,1184,7,2,0,0,1184,1185,7,13,0,0,1185,1186,7,13,0,0,1186,1187,7,8,0,0,1187,1188,7,5,0,0,1188,1189,7,4,0,0,1189,1190,7,6,0,0,1190,1191,7,2,0,0,1191,1192,7,11,0,0,1192,88,1,0,0,0,1193,1194,7,5,0,0,1194,1195,7,2,0,0,1195,1196,7,13,0,0,1196,1197,7,19,0,0,1197,1198,7,10,0,0,1198,1199,7,11,0,0,1199,90,1,0,0,0,1200,1201,7,5,0,0,1201,1202,7,2,0,0,1202,1203,7,13,0,0,1203,1204,7,19,0,0,1204,1205,7,10,0,0,1205,1206,7,11,0,0,1206,1207,7,18,0,0,1207,92,1,0,0,0,1208,1209,7,5,0,0,1209,1210,7,2,0,0,1210,1211,7,10,0,0,1211,1212,7,10,0,0,1212,1213,7,8,0,0,1213,1214,7,11,0,0,1214,1215,7,4,0,0,1215,94,1,0,0,0,1216,1217,7,5,0,0,1217,1218,7,2,0,0,1218,1219,7,10,0,0,1219,1220,7,10,0,0,1220,1221,7,6,0,0,1221,1222,7,4,0,0,1222,96,1,0,0,0,1223,1224,7,5,0,0,1224,1225,7,2,0,0,1225,1226,7,10,0,0,1226,1227,7,16,0,0,1227,1228,7,0,0,0,1228,1229,7,5,0,0,1229,1230,7,4,0,0,1230,98,1,0,0,0,1231,1232,7,5,0,0,1232,1233,7,2,0,0,1233,1234,7,10,0,0,1234,1235,7,16,0,0,1235,1236,7,0,0,0,1236,1237,7,5,0,0,1237,1238,7,4,0,0,1238,1239,7,6,0,0,1239,1240,7,2,0,0,1240,1241,7,11,0,0,1241,1242,7,18,0,0,1242,100,1,0,0,0,1243,1244,7,5,0,0,1244,1245,7,2,0,0,1245,1246,7,10,0,0,1246,1247,7,16,0,0,1247,1248,7,0,0,0,1248,1249,7,5,0,0,1249,1250,7,4,0,0,1250,1251,7,6,0,0,1251,1252,7,2,0,0,1252,1253,7,11,0,0,1253,1254,7,6,0,0,1254,1255,7,9,0,0,1255,102,1,0,0,0,1256,1257,7,5,0,0,1257,1258,7,2,0,0,1258,1259,7,10,0,0,1259,1260,7,16,0,0,1260,1261,7,19,0,0,1261,1262,7,4,0,0,1262,1263,7,8,0,0,1263,104,1,0,0,0,1264,1265,7,5,0,0,1265,1266,7,2,0,0,1266,1267,7,11,0,0,1267,1268,7,5,0,0,1268,1269,7,0,0,0,1269,1270,7,4,0,0,1270,1271,7,8,0,0,1271,1272,7,11,0,0,1272,1273,7,0,0,0,1273,1274,7,4,0,0,1274,1275,7,8,0,0,1275,106,1,0,0,0,1276,1277,7,5,0,0,1277,1278,7,2,0,0,1278,1279,7,11,0,0,1279,1280,7,12,0,0,1280,108,1,0,0,0,1281,1282,7,5,0,0,1282,1283,7,2,0,0,1283,1284,7,11,0,0,1284,1285,7,18,0,0,1285,1286,7,4,0,0,1286,1287,7,3,0,0,1287,1288,7,0,0,0,1288,1289,7,6,0,0,1289,1290,7,11,0,0,1290,1291,7,4,0,0,1291,110,1,0,0,0,1292,1293,7,5,0,0,1293,1294,7,2,0,0,1294,1295,7,11,0,0,1295,1296,7,4,0,0,1296,1297,7,6,0,0,1297,1298,7,11,0,0,1298,1299,7,19,0,0,1299,1300,7,8,0,0,1300,112,1,0,0,0,1301,1302,7,5,0,0,1302,1303,7,2,0,0,1303,1304,7,18,0,0,1304,1305,7,4,0,0,1305,114,1,0,0,0,1306,1307,7,5,0,0,1307,1308,7,3,0,0,1308,1309,7,8,0,0,1309,1310,7,0,0,0,1310,1311,7,4,0,0,1311,1312,7,8,0,0,1312,116,1,0,0,0,1313,1314,7,5,0,0,1314,1315,7,3,0,0,1315,1316,7,2,0,0,1316,1317,7,11,0,0,1317,118,1,0,0,0,1318,1319,7,5,0,0,1319,1320,7,3,0,0,1320,1321,7,2,0,0,1321,1322,7,18,0,0,1322,1323,7,18,0,0,1323,120,1,0,0,0,1324,1325,7,5,0,0,1325,1326,7,19,0,0,1326,1327,7,1,0,0,1327,1328,7,8,0,0,1328,122,1,0,0,0,1329,1330,7,5,0,0,1330,1331,7,19,0,0,1331,1332,7,3,0,0,1332,1333,7,3,0,0,1333,1334,7,8,0,0,1334,1335,7,11,0,0,1335,1336,7,4,0,0,1336,124,1,0,0,0,1337,1338,7,5,0,0,1338,1339,7,19,0,0,1339,1340,7,3,0,0,1340,1341,7,3,0,0,1341,1342,7,8,0,0,1342,1343,7,11,0,0,1343,1344,7,4,0,0,1344,1345,5,95,0,0,1345,1346,7,9,0,0,1346,1347,7,0,0,0,1347,1348,7,4,0,0,1348,1349,7,8,0,0,1349,126,1,0,0,0,1350,1351,7,5,0,0,1351,1352,7,19,0,0,1352,1353,7,3,0,0,1353,1354,7,3,0,0,1354,1355,7,8,0,0,1355,1356,7,11,0,0,1356,1357,7,4,0,0,1357,1358,5,95,0,0,1358,1359,7,4,0,0,1359,1360,7,6,0,0,1360,1361,7,10,0,0,1361,1362,7,8,0,0,1362,1363,7,18,0,0,1363,1364,7,4,0,0,1364,1365,7,0,0,0,1365,1366,7,10,0,0,1366,1367,7,16,0,0,1367,128,1,0,0,0,1368,1369,7,5,0,0,1369,1370,7,19,0,0,1370,1371,7,3,0,0,1371,1372,7,18,0,0,1372,1373,7,2,0,0,1373,1374,7,3,0,0,1374,130,1,0,0,0,1375,1376,7,9,0,0,1376,1377,7,0,0,0,1377,1378,7,4,0,0,1378,1379,7,0,0,0,1379,132,1,0,0,0,1380,1381,7,9,0,0,1381,1382,7,0,0,0,1382,1383,7,4,0,0,1383,1384,7,0,0,0,1384,1385,7,1,0,0,1385,1386,7,0,0,0,1386,1387,7,18,0,0,1387,1388,7,8,0,0,1388,134,1,0,0,0,1389,1390,7,9,0,0,1390,1391,7,0,0,0,1391,1392,7,4,0,0,1392,1393,7,0,0,0,1393,1394,7,1,0,0,1394,1395,7,0,0,0,1395,1396,7,18,0,0,1396,1397,7,8,0,0,1397,1398,7,18,0,0,1398,136,1,0,0,0,1399,1400,7,5,0,0,1400,1401,7,2,0,0,1401,1402,7,11,0,0,1402,1403,7,11,0,0,1403,1404,7,8,0,0,1404,1405,7,5,0,0,1405,1406,7,4,0,0,1406,1407,7,2,0,0,1407,1408,7,3,0,0,1408,138,1,0,0,0,1409,1410,7,5,0,0,1410,1411,7,2,0,0,1411,1412,7,11,0,0,1412,1413,7,11,0,0,1413,1414,7,8,0,0,1414,1415,7,5,0,0,1415,1416,7,4,0,0,1416,1417,7,2,0,0,1417,1418,7,3,0,0,1418,1419,7,18,0,0,1419,140,1,0,0,0,1420,1421,7,9,0,0,1421,1422,7,0,0,0,1422,1423,7,4,0,0,1423,1424,7,8,0,0,1424,142,1,0,0,0,1425,1426,7,9,0,0,1426,1427,7,0,0,0,1427,1428,7,4,0,0,1428,1429,7,8,0,0,1429,1430,7,4,0,0,1430,1431,7,6,0,0,1431,1432,7,10,0,0,1432,1433,7,8,0,0,1433,144,1,0,0,0,1434,1435,7,9,0,0,1435,1436,7,0,0,0,1436,1437,7,14,0,0,1437,146,1,0,0,0,1438,1439,7,9,0,0,1439,1440,7,0,0,0,1440,1441,7,14,0,0,1441,1442,7,18,0,0,1442,148,1,0,0,0,1443,1444,7,9,0,0,1444,1445,7,0,0,0,1445,1446,7,14,0,0,1446,1447,7,2,0,0,1447,1448,7,12,0,0,1448,1449,7,20,0,0,1449,1450,7,8,0,0,1450,1451,7,8,0,0,1451,1452,7,22,0,0,1452,150,1,0,0,0,1453,1454,7,9,0,0,1454,1455,7,1,0,0,1455,1456,7,16,0,0,1456,1457,7,3,0,0,1457,1458,7,2,0,0,1458,1459,7,16,0,0,1459,1460,7,8,0,0,1460,1461,7,3,0,0,1461,1462,7,4,0,0,1462,1463,7,6,0,0,1463,1464,7,8,0,0,1464,1465,7,18,0,0,1465,152,1,0,0,0,1466,1467,7,9,0,0,1467,1468,7,5,0,0,1468,1469,7,16,0,0,1469,1470,7,3,0,0,1470,1471,7,2,0,0,1471,1472,7,16,0,0,1472,1473,7,8,0,0,1473,1474,7,3,0,0,1474,1475,7,4,0,0,1475,1476,7,6,0,0,1476,1477,7,8,0,0,1477,1478,7,18,0,0,1478,154,1,0,0,0,1479,1480,7,9,0,0,1480,1481,7,9,0,0,1481,1482,7,13,0,0,1482,156,1,0,0,0,1483,1484,7,9,0,0,1484,1485,7,8,0,0,1485,1486,7,1,0,0,1486,1487,7,19,0,0,1487,1488,7,21,0,0,1488,158,1,0,0,0,1489,1490,7,9,0,0,1490,1491,7,8,0,0,1491,1492,7,5,0,0,1492,160,1,0,0,0,1493,1494,7,9,0,0,1494,1495,7,8,0,0,1495,1496,7,5,0,0,1496,1497,7,6,0,0,1497,1498,7,10,0,0,1498,1499,7,0,0,0,1499,1500,7,13,0,0,1500,162,1,0,0,0,1501,1502,7,11,0,0,1502,1503,7,19,0,0,1503,1504,7,10,0,0,1504,1505,7,8,0,0,1505,1506,7,3,0,0,1506,1507,7,6,0,0,1507,1508,7,5,0,0,1508,164,1,0,0,0,1509,1510,7,9,0,0,1510,1511,7,8,0,0,1511,1512,7,12,0,0,1512,1513,7,0,0,0,1513,1514,7,19,0,0,1514,1515,7,13,0,0,1515,1516,7,4,0,0,1516,166,1,0,0,0,1517,1518,7,9,0,0,1518,1519,7,8,0,0,1519,1520,7,12,0,0,1520,1521,7,8,0,0,1521,1522,7,3,0,0,1522,1523,7,3,0,0,1523,1524,7,8,0,0,1524,1525,7,9,0,0,1525,168,1,0,0,0,1526,1527,7,9,0,0,1527,1528,7,8,0,0,1528,1529,7,12,0,0,1529,1530,7,6,0,0,1530,1531,7,11,0,0,1531,1532,7,8,0,0,1532,1533,7,9,0,0,1533,170,1,0,0,0,1534,1535,7,9,0,0,1535,1536,7,8,0,0,1536,1537,7,13,0,0,1537,1538,7,8,0,0,1538,1539,7,4,0,0,1539,1540,7,8,0,0,1540,172,1,0,0,0,1541,1542,7,9,0,0,1542,1543,7,8,0,0,1543,1544,7,13,0,0,1544,1545,7,6,0,0,1545,1546,7,10,0,0,1546,1547,7,6,0,0,1547,1548,7,4,0,0,1548,1549,7,8,0,0,1549,1550,7,9,0,0,1550,174,1,0,0,0,1551,1552,7,9,0,0,1552,1553,7,8,0,0,1553,1554,7,16,0,0,1554,1555,7,8,0,0,1555,1556,7,11,0,0,1556,1557,7,9,0,0,1557,1558,7,8,0,0,1558,1559,7,11,0,0,1559,1560,7,5,0,0,1560,1561,7,14,0,0,1561,176,1,0,0,0,1562,1563,7,9,0,0,1563,1564,7,8,0,0,1564,1565,7,18,0,0,1565,1566,7,5,0,0,1566,178,1,0,0,0,1567,1568,7,9,0,0,1568,1569,7,8,0,0,1569,1570,7,18,0,0,1570,1571,7,5,0,0,1571,1572,7,3,0,0,1572,1573,7,6,0,0,1573,1574,7,1,0,0,1574,1575,7,8,0,0,1575,180,1,0,0,0,1576,1577,7,9,0,0,1577,1578,7,8,0,0,1578,1579,7,4,0,0,1579,1580,7,0,0,0,1580,1581,7,6,0,0,1581,1582,7,13,0,0,1582,182,1,0,0,0,1583,1584,7,9,0,0,1584,1585,7,6,0,0,1585,1586,7,3,0,0,1586,1587,7,8,0,0,1587,1588,7,5,0,0,1588,1589,7,4,0,0,1589,1590,7,2,0,0,1590,1591,7,3,0,0,1591,1592,7,6,0,0,1592,1593,7,8,0,0,1593,1594,7,18,0,0,1594,184,1,0,0,0,1595,1596,7,9,0,0,1596,1597,7,6,0,0,1597,1598,7,3,0,0,1598,1599,7,8,0,0,1599,1600,7,5,0,0,1600,1601,7,4,0,0,1601,1602,7,2,0,0,1602,1603,7,3,0,0,1603,1604,7,14,0,0,1604,186,1,0,0,0,1605,1606,7,9,0,0,1606,1607,7,6,0,0,1607,1608,7,18,0,0,1608,1609,7,0,0,0,1609,1610,7,1,0,0,1610,1611,7,13,0,0,1611,1612,7,8,0,0,1612,188,1,0,0,0,1613,1614,7,9,0,0,1614,1615,7,6,0,0,1615,1616,7,18,0,0,1616,1617,7,0,0,0,1617,1618,7,1,0,0,1618,1619,7,13,0,0,1619,1620,7,8,0,0,1620,1621,7,9,0,0,1621,190,1,0,0,0,1622,1623,7,9,0,0,1623,1624,7,6,0,0,1624,1625,7,18,0,0,1625,1626,7,4,0,0,1626,1627,7,6,0,0,1627,1628,7,11,0,0,1628,1629,7,5,0,0,1629,1630,7,4,0,0,1630,192,1,0,0,0,1631,1632,7,9,0,0,1632,1633,7,6,0,0,1633,1634,7,18,0,0,1634,1635,7,4,0,0,1635,1636,7,3,0,0,1636,1637,7,6,0,0,1637,1638,7,1,0,0,1638,1639,7,19,0,0,1639,1640,7,4,0,0,1640,1641,7,8,0,0,1641,194,1,0,0,0,1642,1643,7,9,0,0,1643,1644,7,6,0,0,1644,1645,7,18,0,0,1645,1646,7,4,0,0,1646,1647,7,3,0,0,1647,1648,7,6,0,0,1648,1649,7,1,0,0,1649,1650,7,19,0,0,1650,1651,7,4,0,0,1651,1652,7,8,0,0,1652,1653,7,9,0,0,1653,196,1,0,0,0,1654,1655,7,9,0,0,1655,1656,7,2,0,0,1656,198,1,0,0,0,1657,1658,7,9,0,0,1658,1659,7,2,0,0,1659,1660,7,19,0,0,1660,1661,7,1,0,0,1661,1662,7,13,0,0,1662,1663,7,8,0,0,1663,200,1,0,0,0,1664,1665,7,9,0,0,1665,1666,7,3,0,0,1666,1667,7,2,0,0,1667,1668,7,16,0,0,1668,202,1,0,0,0,1669,1670,7,3,0,0,1670,1671,7,8,0,0,1671,1672,7,5,0,0,1672,1673,7,2,0,0,1673,1674,7,7,0,0,1674,1675,7,8,0,0,1675,1676,7,3,0,0,1676,204,1,0,0,0,1677,1678,7,9,0,0,1678,1679,7,19,0,0,1679,1680,7,10,0,0,1680,1681,7,16,0,0,1681,206,1,0,0,0,1682,1683,5,36,0,0,1683,1684,7,8,0,0,1684,1685,7,13,0,0,1685,1686,7,8,0,0,1686,1687,7,10,0,0,1687,1688,5,36,0,0,1688,208,1,0,0,0,1689,1690,7,8,0,0,1690,1691,7,13,0,0,1691,1692,7,18,0,0,1692,1693,7,8,0,0,1693,210,1,0,0,0,1694,1695,7,8,0,0,1695,1696,7,11,0,0,1696,1697,7,0,0,0,1697,1698,7,1,0,0,1698,1699,7,13,0,0,1699,1700,7,8,0,0,1700,212,1,0,0,0,1701,1702,7,8,0,0,1702,1703,7,11,0,0,1703,1704,7,0,0,0,1704,1705,7,1,0,0,1705,1706,7,13,0,0,1706,1707,7,8,0,0,1707,1708,7,9,0,0,1708,214,1,0,0,0,1709,1710,7,8,0,0,1710,1711,7,11,0,0,1711,1712,7,9,0,0,1712,216,1,0,0,0,1713,1714,7,8,0,0,1714,1715,7,11,0,0,1715,1716,7,12,0,0,1716,1717,7,2,0,0,1717,1718,7,3,0,0,1718,1719,7,5,0,0,1719,1720,7,8,0,0,1720,1721,7,9,0,0,1721,218,1,0,0,0,1722,1723,7,8,0,0,1723,1724,7,18,0,0,1724,1725,7,5,0,0,1725,1726,7,0,0,0,1726,1727,7,16,0,0,1727,1728,7,8,0,0,1728,1729,7,9,0,0,1729,220,1,0,0,0,1730,1731,7,8,0,0,1731,1732,7,7,0,0,1732,1733,7,8,0,0,1733,1734,7,3,0,0,1734,1735,7,14,0,0,1735,222,1,0,0,0,1736,1737,7,8,0,0,1737,1738,7,23,0,0,1738,1739,7,5,0,0,1739,1740,7,8,0,0,1740,1741,7,16,0,0,1741,1742,7,4,0,0,1742,224,1,0,0,0,1743,1744,7,8,0,0,1744,1745,7,23,0,0,1745,1746,7,5,0,0,1746,1747,7,17,0,0,1747,1748,7,0,0,0,1748,1749,7,11,0,0,1749,1750,7,21,0,0,1750,1751,7,8,0,0,1751,226,1,0,0,0,1752,1753,7,8,0,0,1753,1754,7,23,0,0,1754,1755,7,5,0,0,1755,1756,7,13,0,0,1756,1757,7,19,0,0,1757,1758,7,18,0,0,1758,1759,7,6,0,0,1759,1760,7,7,0,0,1760,1761,7,8,0,0,1761,228,1,0,0,0,1762,1763,7,8,0,0,1763,1764,7,23,0,0,1764,1765,7,8,0,0,1765,1766,7,5,0,0,1766,1767,7,19,0,0,1767,1768,7,4,0,0,1768,1769,7,8,0,0,1769,230,1,0,0,0,1770,1771,7,8,0,0,1771,1772,7,23,0,0,1772,1773,7,8,0,0,1773,1774,7,5,0,0,1774,1775,7,19,0,0,1775,1776,7,4,0,0,1776,1777,7,8,0,0,1777,1778,7,9,0,0,1778,232,1,0,0,0,1779,1780,7,8,0,0,1780,1781,7,23,0,0,1781,1782,7,6,0,0,1782,1783,7,18,0,0,1783,1784,7,4,0,0,1784,1785,7,18,0,0,1785,234,1,0,0,0,1786,1787,7,8,0,0,1787,1788,7,23,0,0,1788,1789,7,16,0,0,1789,1790,7,6,0,0,1790,1791,7,3,0,0,1791,1792,7,8,0,0,1792,1793,5,95,0,0,1793,1794,7,18,0,0,1794,1795,7,11,0,0,1795,1796,7,0,0,0,1796,1797,7,16,0,0,1797,1798,7,18,0,0,1798,1799,7,17,0,0,1799,1800,7,2,0,0,1800,1801,7,4,0,0,1801,1802,7,18,0,0,1802,236,1,0,0,0,1803,1804,7,8,0,0,1804,1805,7,23,0,0,1805,1806,7,16,0,0,1806,1807,7,13,0,0,1807,1808,7,0,0,0,1808,1809,7,6,0,0,1809,1810,7,11,0,0,1810,238,1,0,0,0,1811,1812,7,8,0,0,1812,1813,7,23,0,0,1813,1814,7,16,0,0,1814,1815,7,2,0,0,1815,1816,7,3,0,0,1816,1817,7,4,0,0,1817,240,1,0,0,0,1818,1819,7,8,0,0,1819,1820,7,23,0,0,1820,1821,7,16,0,0,1821,1822,7,3,0,0,1822,1823,7,8,0,0,1823,1824,7,18,0,0,1824,1825,7,18,0,0,1825,1826,7,6,0,0,1826,1827,7,2,0,0,1827,1828,7,11,0,0,1828,242,1,0,0,0,1829,1830,7,8,0,0,1830,1831,7,23,0,0,1831,1832,7,4,0,0,1832,1833,7,8,0,0,1833,1834,7,11,0,0,1834,1835,7,9,0,0,1835,1836,7,8,0,0,1836,1837,7,9,0,0,1837,244,1,0,0,0,1838,1839,7,8,0,0,1839,1840,7,23,0,0,1840,1841,7,4,0,0,1841,1842,7,8,0,0,1842,1843,7,3,0,0,1843,1844,7,11,0,0,1844,1845,7,0,0,0,1845,1846,7,13,0,0,1846,246,1,0,0,0,1847,1848,7,8,0,0,1848,1849,7,23,0,0,1849,1850,7,4,0,0,1850,1851,7,3,0,0,1851,1852,7,0,0,0,1852,1853,7,5,0,0,1853,1854,7,4,0,0,1854,248,1,0,0,0,1855,1856,7,12,0,0,1856,1857,7,0,0,0,1857,1858,7,13,0,0,1858,1859,7,18,0,0,1859,1860,7,8,0,0,1860,250,1,0,0,0,1861,1862,7,12,0,0,1862,1863,7,8,0,0,1863,1864,7,4,0,0,1864,1865,7,5,0,0,1865,1866,7,17,0,0,1866,252,1,0,0,0,1867,1868,7,12,0,0,1868,1869,7,6,0,0,1869,1870,7,8,0,0,1870,1871,7,13,0,0,1871,1872,7,9,0,0,1872,1873,7,18,0,0,1873,254,1,0,0,0,1874,1875,7,12,0,0,1875,1876,7,6,0,0,1876,1877,7,13,0,0,1877,1878,7,8,0,0,1878,256,1,0,0,0,1879,1880,7,12,0,0,1880,1881,7,6,0,0,1881,1882,7,13,0,0,1882,1883,7,8,0,0,1883,1884,7,12,0,0,1884,1885,7,2,0,0,1885,1886,7,3,0,0,1886,1887,7,10,0,0,1887,1888,7,0,0,0,1888,1889,7,4,0,0,1889,258,1,0,0,0,1890,1891,7,12,0,0,1891,1892,7,6,0,0,1892,1893,7,3,0,0,1893,1894,7,18,0,0,1894,1895,7,4,0,0,1895,260,1,0,0,0,1896,1897,7,12,0,0,1897,1898,7,13,0,0,1898,1899,7,2,0,0,1899,1900,7,0,0,0,1900,1901,7,4,0,0,1901,262,1,0,0,0,1902,1903,7,12,0,0,1903,1904,7,13,0,0,1904,1905,7,2,0,0,1905,1906,7,2,0,0,1906,1907,7,3,0,0,1907,264,1,0,0,0,1908,1909,7,12,0,0,1909,1910,7,2,0,0,1910,1911,7,13,0,0,1911,1912,7,13,0,0,1912,1913,7,2,0,0,1913,1914,7,20,0,0,1914,1915,7,6,0,0,1915,1916,7,11,0,0,1916,1917,7,21,0,0,1917,266,1,0,0,0,1918,1919,7,12,0,0,1919,1920,7,2,0,0,1920,1921,7,3,0,0,1921,268,1,0,0,0,1922,1923,7,12,0,0,1923,1924,7,2,0,0,1924,1925,7,3,0,0,1925,1926,7,5,0,0,1926,1927,7,8,0,0,1927,270,1,0,0,0,1928,1929,7,12,0,0,1929,1930,7,2,0,0,1930,1931,7,3,0,0,1931,1932,7,8,0,0,1932,1933,7,6,0,0,1933,1934,7,21,0,0,1934,1935,7,11,0,0,1935,272,1,0,0,0,1936,1937,7,12,0,0,1937,1938,7,2,0,0,1938,1939,7,3,0,0,1939,1940,7,10,0,0,1940,1941,7,0,0,0,1941,1942,7,4,0,0,1942,274,1,0,0,0,1943,1944,7,12,0,0,1944,1945,7,2,0,0,1945,1946,7,3,0,0,1946,1947,7,10,0,0,1947,1948,7,0,0,0,1948,1949,7,4,0,0,1949,1950,7,4,0,0,1950,1951,7,8,0,0,1951,1952,7,9,0,0,1952,276,1,0,0,0,1953,1954,7,12,0,0,1954,1955,7,3,0,0,1955,1956,7,2,0,0,1956,1957,7,10,0,0,1957,278,1,0,0,0,1958,1959,7,12,0,0,1959,1960,7,19,0,0,1960,1961,7,13,0,0,1961,1962,7,13,0,0,1962,280,1,0,0,0,1963,1964,7,12,0,0,1964,1965,7,19,0,0,1965,1966,7,11,0,0,1966,1967,7,5,0,0,1967,1968,7,4,0,0,1968,1969,7,6,0,0,1969,1970,7,2,0,0,1970,1971,7,11,0,0,1971,282,1,0,0,0,1972,1973,7,12,0,0,1973,1974,7,19,0,0,1974,1975,7,11,0,0,1975,1976,7,5,0,0,1976,1977,7,4,0,0,1977,1978,7,6,0,0,1978,1979,7,2,0,0,1979,1980,7,11,0,0,1980,1981,7,18,0,0,1981,284,1,0,0,0,1982,1983,7,21,0,0,1983,1984,7,3,0,0,1984,1985,7,0,0,0,1985,1986,7,11,0,0,1986,1987,7,4,0,0,1987,286,1,0,0,0,1988,1989,7,21,0,0,1989,1990,7,3,0,0,1990,1991,7,2,0,0,1991,1992,7,19,0,0,1992,1993,7,16,0,0,1993,288,1,0,0,0,1994,1995,7,21,0,0,1995,1996,7,3,0,0,1996,1997,7,2,0,0,1997,1998,7,19,0,0,1998,1999,7,16,0,0,1999,2e3,7,6,0,0,2e3,2001,7,11,0,0,2001,2002,7,21,0,0,2002,290,1,0,0,0,2003,2004,7,17,0,0,2004,2005,7,0,0,0,2005,2006,7,7,0,0,2006,2007,7,6,0,0,2007,2008,7,11,0,0,2008,2009,7,21,0,0,2009,292,1,0,0,0,2010,2011,7,17,0,0,2011,2012,7,2,0,0,2012,2013,7,13,0,0,2013,2014,7,9,0,0,2014,2015,5,95,0,0,2015,2016,7,9,0,0,2016,2017,7,9,0,0,2017,2018,7,13,0,0,2018,2019,7,4,0,0,2019,2020,7,6,0,0,2020,2021,7,10,0,0,2021,2022,7,8,0,0,2022,294,1,0,0,0,2023,2024,7,17,0,0,2024,2025,7,2,0,0,2025,2026,7,19,0,0,2026,2027,7,3,0,0,2027,296,1,0,0,0,2028,2029,7,17,0,0,2029,2030,7,2,0,0,2030,2031,7,19,0,0,2031,2032,7,3,0,0,2032,2033,7,18,0,0,2033,298,1,0,0,0,2034,2035,7,6,0,0,2035,2036,7,9,0,0,2036,2037,7,23,0,0,2037,2038,7,16,0,0,2038,2039,7,3,0,0,2039,2040,7,2,0,0,2040,2041,7,16,0,0,2041,2042,7,8,0,0,2042,2043,7,3,0,0,2043,2044,7,4,0,0,2044,2045,7,6,0,0,2045,2046,7,8,0,0,2046,2047,7,18,0,0,2047,300,1,0,0,0,2048,2049,7,6,0,0,2049,2050,7,12,0,0,2050,302,1,0,0,0,2051,2052,7,6,0,0,2052,2053,7,21,0,0,2053,2054,7,11,0,0,2054,2055,7,2,0,0,2055,2056,7,3,0,0,2056,2057,7,8,0,0,2057,304,1,0,0,0,2058,2059,7,6,0,0,2059,2060,7,10,0,0,2060,2061,7,16,0,0,2061,2062,7,2,0,0,2062,2063,7,3,0,0,2063,2064,7,4,0,0,2064,306,1,0,0,0,2065,2066,7,6,0,0,2066,2067,7,11,0,0,2067,308,1,0,0,0,2068,2069,7,6,0,0,2069,2070,7,11,0,0,2070,2071,7,9,0,0,2071,2072,7,8,0,0,2072,2073,7,23,0,0,2073,310,1,0,0,0,2074,2075,7,6,0,0,2075,2076,7,11,0,0,2076,2077,7,9,0,0,2077,2078,7,8,0,0,2078,2079,7,23,0,0,2079,2080,7,8,0,0,2080,2081,7,18,0,0,2081,312,1,0,0,0,2082,2083,7,6,0,0,2083,2084,7,11,0,0,2084,2085,7,11,0,0,2085,2086,7,8,0,0,2086,2087,7,3,0,0,2087,314,1,0,0,0,2088,2089,7,6,0,0,2089,2090,7,11,0,0,2090,2091,7,16,0,0,2091,2092,7,0,0,0,2092,2093,7,4,0,0,2093,2094,7,17,0,0,2094,316,1,0,0,0,2095,2096,7,6,0,0,2096,2097,7,11,0,0,2097,2098,7,16,0,0,2098,2099,7,19,0,0,2099,2100,7,4,0,0,2100,2101,7,9,0,0,2101,2102,7,3,0,0,2102,2103,7,6,0,0,2103,2104,7,7,0,0,2104,2105,7,8,0,0,2105,2106,7,3,0,0,2106,318,1,0,0,0,2107,2108,7,6,0,0,2108,2109,7,11,0,0,2109,2110,7,16,0,0,2110,2111,7,19,0,0,2111,2112,7,4,0,0,2112,2113,7,12,0,0,2113,2114,7,2,0,0,2114,2115,7,3,0,0,2115,2116,7,10,0,0,2116,2117,7,0,0,0,2117,2118,7,4,0,0,2118,320,1,0,0,0,2119,2120,7,6,0,0,2120,2121,7,11,0,0,2121,2122,7,18,0,0,2122,2123,7,8,0,0,2123,2124,7,3,0,0,2124,2125,7,4,0,0,2125,322,1,0,0,0,2126,2127,7,6,0,0,2127,2128,7,11,0,0,2128,2129,7,4,0,0,2129,324,1,0,0,0,2130,2131,7,6,0,0,2131,2132,7,11,0,0,2132,2133,7,4,0,0,2133,2134,7,8,0,0,2134,2135,7,21,0,0,2135,2136,7,8,0,0,2136,2137,7,3,0,0,2137,326,1,0,0,0,2138,2139,7,6,0,0,2139,2140,7,11,0,0,2140,2141,7,4,0,0,2141,2142,7,8,0,0,2142,2143,7,3,0,0,2143,2144,7,18,0,0,2144,2145,7,8,0,0,2145,2146,7,5,0,0,2146,2147,7,4,0,0,2147,328,1,0,0,0,2148,2149,7,6,0,0,2149,2150,7,11,0,0,2150,2151,7,4,0,0,2151,2152,7,8,0,0,2152,2153,7,3,0,0,2153,2154,7,7,0,0,2154,2155,7,0,0,0,2155,2156,7,13,0,0,2156,330,1,0,0,0,2157,2158,7,6,0,0,2158,2159,7,11,0,0,2159,2160,7,4,0,0,2160,2161,7,2,0,0,2161,332,1,0,0,0,2162,2163,7,6,0,0,2163,2164,7,18,0,0,2164,334,1,0,0,0,2165,2166,7,6,0,0,2166,2167,7,18,0,0,2167,2168,7,2,0,0,2168,2169,7,13,0,0,2169,2170,7,0,0,0,2170,2171,7,4,0,0,2171,2172,7,6,0,0,2172,2173,7,2,0,0,2173,2174,7,11,0,0,2174,336,1,0,0,0,2175,2176,7,6,0,0,2176,2177,7,4,0,0,2177,2178,7,8,0,0,2178,2179,7,10,0,0,2179,2180,7,18,0,0,2180,338,1,0,0,0,2181,2182,7,24,0,0,2182,2183,7,0,0,0,2183,2184,7,3,0,0,2184,340,1,0,0,0,2185,2186,7,24,0,0,2186,2187,7,2,0,0,2187,2188,7,6,0,0,2188,2189,7,11,0,0,2189,342,1,0,0,0,2190,2191,7,24,0,0,2191,2192,7,2,0,0,2192,2193,7,6,0,0,2193,2194,7,11,0,0,2194,2195,7,5,0,0,2195,2196,7,2,0,0,2196,2197,7,18,0,0,2197,2198,7,4,0,0,2198,344,1,0,0,0,2199,2200,7,22,0,0,2200,2201,7,8,0,0,2201,2202,7,14,0,0,2202,346,1,0,0,0,2203,2204,7,22,0,0,2204,2205,7,8,0,0,2205,2206,7,14,0,0,2206,2207,7,18,0,0,2207,348,1,0,0,0,2208,2209,5,36,0,0,2209,2210,7,22,0,0,2210,2211,7,8,0,0,2211,2212,7,14,0,0,2212,2213,5,36,0,0,2213,350,1,0,0,0,2214,2215,7,22,0,0,2215,2216,7,6,0,0,2216,2217,7,13,0,0,2217,2218,7,13,0,0,2218,352,1,0,0,0,2219,2220,7,13,0,0,2220,2221,7,0,0,0,2221,2222,7,18,0,0,2222,2223,7,4,0,0,2223,354,1,0,0,0,2224,2225,7,13,0,0,2225,2226,7,0,0,0,2226,2227,7,4,0,0,2227,2228,7,8,0,0,2228,2229,7,3,0,0,2229,2230,7,0,0,0,2230,2231,7,13,0,0,2231,356,1,0,0,0,2232,2233,7,13,0,0,2233,2234,7,8,0,0,2234,2235,7,0,0,0,2235,2236,7,9,0,0,2236,2237,7,6,0,0,2237,2238,7,11,0,0,2238,2239,7,21,0,0,2239,358,1,0,0,0,2240,2241,7,13,0,0,2241,2242,7,8,0,0,2242,2243,7,12,0,0,2243,2244,7,4,0,0,2244,360,1,0,0,0,2245,2246,7,13,0,0,2246,2247,7,8,0,0,2247,2248,7,18,0,0,2248,2249,7,18,0,0,2249,362,1,0,0,0,2250,2251,7,13,0,0,2251,2252,7,8,0,0,2252,2253,7,7,0,0,2253,2254,7,8,0,0,2254,2255,7,13,0,0,2255,364,1,0,0,0,2256,2257,7,13,0,0,2257,2258,7,6,0,0,2258,2259,7,12,0,0,2259,2260,7,8,0,0,2260,2261,7,5,0,0,2261,2262,7,14,0,0,2262,2263,7,5,0,0,2263,2264,7,13,0,0,2264,2265,7,8,0,0,2265,366,1,0,0,0,2266,2267,7,13,0,0,2267,2268,7,6,0,0,2268,2269,7,22,0,0,2269,2270,7,8,0,0,2270,368,1,0,0,0,2271,2272,7,13,0,0,2272,2273,7,6,0,0,2273,2274,7,10,0,0,2274,2275,7,6,0,0,2275,2276,7,4,0,0,2276,370,1,0,0,0,2277,2278,7,13,0,0,2278,2279,7,6,0,0,2279,2280,7,11,0,0,2280,2281,7,8,0,0,2281,2282,7,18,0,0,2282,372,1,0,0,0,2283,2284,7,13,0,0,2284,2285,7,2,0,0,2285,2286,7,0,0,0,2286,2287,7,9,0,0,2287,374,1,0,0,0,2288,2289,7,13,0,0,2289,2290,7,2,0,0,2290,2291,7,5,0,0,2291,2292,7,0,0,0,2292,2293,7,13,0,0,2293,376,1,0,0,0,2294,2295,7,13,0,0,2295,2296,7,2,0,0,2296,2297,7,5,0,0,2297,2298,7,0,0,0,2298,2299,7,4,0,0,2299,2300,7,6,0,0,2300,2301,7,2,0,0,2301,2302,7,11,0,0,2302,378,1,0,0,0,2303,2304,7,13,0,0,2304,2305,7,2,0,0,2305,2306,7,5,0,0,2306,2307,7,22,0,0,2307,380,1,0,0,0,2308,2309,7,13,0,0,2309,2310,7,2,0,0,2310,2311,7,5,0,0,2311,2312,7,22,0,0,2312,2313,7,18,0,0,2313,382,1,0,0,0,2314,2315,7,13,0,0,2315,2316,7,2,0,0,2316,2317,7,21,0,0,2317,2318,7,6,0,0,2318,2319,7,5,0,0,2319,2320,7,0,0,0,2320,2321,7,13,0,0,2321,384,1,0,0,0,2322,2323,7,13,0,0,2323,2324,7,2,0,0,2324,2325,7,11,0,0,2325,2326,7,21,0,0,2326,386,1,0,0,0,2327,2328,7,10,0,0,2328,2329,7,0,0,0,2329,2330,7,5,0,0,2330,2331,7,3,0,0,2331,2332,7,2,0,0,2332,388,1,0,0,0,2333,2334,7,10,0,0,2334,2335,7,0,0,0,2335,2336,7,11,0,0,2336,2337,7,0,0,0,2337,2338,7,21,0,0,2338,2339,7,8,0,0,2339,2340,7,9,0,0,2340,390,1,0,0,0,2341,2342,7,10,0,0,2342,2343,7,0,0,0,2343,2344,7,11,0,0,2344,2345,7,0,0,0,2345,2346,7,21,0,0,2346,2347,7,8,0,0,2347,2348,7,9,0,0,2348,2349,7,13,0,0,2349,2350,7,2,0,0,2350,2351,7,5,0,0,2351,2352,7,0,0,0,2352,2353,7,4,0,0,2353,2354,7,6,0,0,2354,2355,7,2,0,0,2355,2356,7,11,0,0,2356,392,1,0,0,0,2357,2358,7,10,0,0,2358,2359,7,0,0,0,2359,2360,7,11,0,0,2360,2361,7,0,0,0,2361,2362,7,21,0,0,2362,2363,7,8,0,0,2363,2364,7,10,0,0,2364,2365,7,8,0,0,2365,2366,7,11,0,0,2366,2367,7,4,0,0,2367,394,1,0,0,0,2368,2369,7,10,0,0,2369,2370,7,0,0,0,2370,2371,7,16,0,0,2371,396,1,0,0,0,2372,2373,7,10,0,0,2373,2374,7,0,0,0,2374,2375,7,16,0,0,2375,2376,7,24,0,0,2376,2377,7,2,0,0,2377,2378,7,6,0,0,2378,2379,7,11,0,0,2379,398,1,0,0,0,2380,2381,7,10,0,0,2381,2382,7,0,0,0,2382,2383,7,16,0,0,2383,2384,7,16,0,0,2384,2385,7,6,0,0,2385,2386,7,11,0,0,2386,2387,7,21,0,0,2387,400,1,0,0,0,2388,2389,7,10,0,0,2389,2390,7,0,0,0,2390,2391,7,4,0,0,2391,2392,7,5,0,0,2392,2393,7,17,0,0,2393,2394,7,8,0,0,2394,2395,7,9,0,0,2395,402,1,0,0,0,2396,2397,7,10,0,0,2397,2398,7,0,0,0,2398,2399,7,4,0,0,2399,2400,7,8,0,0,2400,2401,7,3,0,0,2401,2402,7,6,0,0,2402,2403,7,0,0,0,2403,2404,7,13,0,0,2404,2405,7,6,0,0,2405,2406,7,15,0,0,2406,2407,7,8,0,0,2407,2408,7,9,0,0,2408,404,1,0,0,0,2409,2410,7,10,0,0,2410,2411,7,8,0,0,2411,2412,7,3,0,0,2412,2413,7,21,0,0,2413,2414,7,8,0,0,2414,406,1,0,0,0,2415,2416,7,10,0,0,2416,2417,7,8,0,0,2417,2418,7,4,0,0,2418,2419,7,0,0,0,2419,2420,7,9,0,0,2420,2421,7,0,0,0,2421,2422,7,4,0,0,2422,2423,7,0,0,0,2423,408,1,0,0,0,2424,2425,7,10,0,0,2425,2426,7,6,0,0,2426,2427,7,11,0,0,2427,2428,7,19,0,0,2428,2429,7,18,0,0,2429,410,1,0,0,0,2430,2431,7,10,0,0,2431,2432,7,6,0,0,2432,2433,7,11,0,0,2433,2434,7,19,0,0,2434,2435,7,4,0,0,2435,2436,7,8,0,0,2436,412,1,0,0,0,2437,2438,7,10,0,0,2438,2439,7,6,0,0,2439,2440,7,11,0,0,2440,2441,7,19,0,0,2441,2442,7,4,0,0,2442,2443,7,8,0,0,2443,2444,7,18,0,0,2444,414,1,0,0,0,2445,2446,7,10,0,0,2446,2447,7,2,0,0,2447,2448,7,11,0,0,2448,2449,7,4,0,0,2449,2450,7,17,0,0,2450,416,1,0,0,0,2451,2452,7,10,0,0,2452,2453,7,2,0,0,2453,2454,7,11,0,0,2454,2455,7,4,0,0,2455,2456,7,17,0,0,2456,2457,7,18,0,0,2457,418,1,0,0,0,2458,2459,7,10,0,0,2459,2460,7,2,0,0,2460,2461,7,3,0,0,2461,2462,7,8,0,0,2462,420,1,0,0,0,2463,2464,7,10,0,0,2464,2465,7,2,0,0,2465,2466,7,7,0,0,2466,2467,7,8,0,0,2467,422,1,0,0,0,2468,2469,7,10,0,0,2469,2470,7,18,0,0,2470,2471,7,5,0,0,2471,2472,7,22,0,0,2472,424,1,0,0,0,2473,2474,7,11,0,0,2474,2475,7,2,0,0,2475,2476,7,11,0,0,2476,2477,7,8,0,0,2477,426,1,0,0,0,2478,2479,7,11,0,0,2479,2480,7,2,0,0,2480,2481,7,3,0,0,2481,2482,7,8,0,0,2482,2483,7,13,0,0,2483,2484,7,14,0,0,2484,428,1,0,0,0,2485,2486,7,11,0,0,2486,2487,7,2,0,0,2487,2488,7,18,0,0,2488,2489,7,5,0,0,2489,2490,7,0,0,0,2490,2491,7,11,0,0,2491,430,1,0,0,0,2492,2493,7,11,0,0,2493,2494,7,2,0,0,2494,2495,7,4,0,0,2495,432,1,0,0,0,2496,2497,7,11,0,0,2497,2498,7,2,0,0,2498,2499,7,7,0,0,2499,2500,7,0,0,0,2500,2501,7,13,0,0,2501,2502,7,6,0,0,2502,2503,7,9,0,0,2503,2504,7,0,0,0,2504,2505,7,4,0,0,2505,2506,7,8,0,0,2506,434,1,0,0,0,2507,2508,7,11,0,0,2508,2509,7,2,0,0,2509,2510,5,95,0,0,2510,2511,7,9,0,0,2511,2512,7,3,0,0,2512,2513,7,2,0,0,2513,2514,7,16,0,0,2514,436,1,0,0,0,2515,2516,7,11,0,0,2516,2517,7,19,0,0,2517,2518,7,13,0,0,2518,2519,7,13,0,0,2519,438,1,0,0,0,2520,2521,7,11,0,0,2521,2522,7,19,0,0,2522,2523,7,13,0,0,2523,2524,7,13,0,0,2524,2525,7,18,0,0,2525,440,1,0,0,0,2526,2527,7,2,0,0,2527,2528,7,12,0,0,2528,442,1,0,0,0,2529,2530,7,2,0,0,2530,2531,7,12,0,0,2531,2532,7,12,0,0,2532,2533,7,13,0,0,2533,2534,7,6,0,0,2534,2535,7,11,0,0,2535,2536,7,8,0,0,2536,444,1,0,0,0,2537,2538,7,2,0,0,2538,2539,7,12,0,0,2539,2540,7,12,0,0,2540,2541,7,18,0,0,2541,2542,7,8,0,0,2542,2543,7,4,0,0,2543,446,1,0,0,0,2544,2545,7,2,0,0,2545,2546,7,11,0,0,2546,448,1,0,0,0,2547,2548,7,2,0,0,2548,2549,7,11,0,0,2549,2550,7,13,0,0,2550,2551,7,14,0,0,2551,450,1,0,0,0,2552,2553,7,2,0,0,2553,2554,7,16,0,0,2554,2555,7,8,0,0,2555,2556,7,3,0,0,2556,2557,7,0,0,0,2557,2558,7,4,0,0,2558,2559,7,2,0,0,2559,2560,7,3,0,0,2560,452,1,0,0,0,2561,2562,7,2,0,0,2562,2563,7,16,0,0,2563,2564,7,4,0,0,2564,2565,7,6,0,0,2565,2566,7,2,0,0,2566,2567,7,11,0,0,2567,454,1,0,0,0,2568,2569,7,2,0,0,2569,2570,7,3,0,0,2570,456,1,0,0,0,2571,2572,7,2,0,0,2572,2573,7,3,0,0,2573,2574,7,9,0,0,2574,2575,7,8,0,0,2575,2576,7,3,0,0,2576,458,1,0,0,0,2577,2578,7,2,0,0,2578,2579,7,19,0,0,2579,2580,7,4,0,0,2580,460,1,0,0,0,2581,2582,7,2,0,0,2582,2583,7,19,0,0,2583,2584,7,4,0,0,2584,2585,7,8,0,0,2585,2586,7,3,0,0,2586,462,1,0,0,0,2587,2588,7,2,0,0,2588,2589,7,19,0,0,2589,2590,7,4,0,0,2590,2591,7,16,0,0,2591,2592,7,19,0,0,2592,2593,7,4,0,0,2593,2594,7,9,0,0,2594,2595,7,3,0,0,2595,2596,7,6,0,0,2596,2597,7,7,0,0,2597,2598,7,8,0,0,2598,2599,7,3,0,0,2599,464,1,0,0,0,2600,2601,7,2,0,0,2601,2602,7,19,0,0,2602,2603,7,4,0,0,2603,2604,7,16,0,0,2604,2605,7,19,0,0,2605,2606,7,4,0,0,2606,2607,7,12,0,0,2607,2608,7,2,0,0,2608,2609,7,3,0,0,2609,2610,7,10,0,0,2610,2611,7,0,0,0,2611,2612,7,4,0,0,2612,466,1,0,0,0,2613,2614,7,2,0,0,2614,2615,7,7,0,0,2615,2616,7,8,0,0,2616,2617,7,3,0,0,2617,468,1,0,0,0,2618,2619,7,2,0,0,2619,2620,7,7,0,0,2620,2621,7,8,0,0,2621,2622,7,3,0,0,2622,2623,7,20,0,0,2623,2624,7,3,0,0,2624,2625,7,6,0,0,2625,2626,7,4,0,0,2626,2627,7,8,0,0,2627,470,1,0,0,0,2628,2629,7,2,0,0,2629,2630,7,20,0,0,2630,2631,7,11,0,0,2631,2632,7,8,0,0,2632,2633,7,3,0,0,2633,472,1,0,0,0,2634,2635,7,16,0,0,2635,2636,7,0,0,0,2636,2637,7,3,0,0,2637,2638,7,4,0,0,2638,2639,7,6,0,0,2639,2640,7,4,0,0,2640,2641,7,6,0,0,2641,2642,7,2,0,0,2642,2643,7,11,0,0,2643,474,1,0,0,0,2644,2645,7,16,0,0,2645,2646,7,0,0,0,2646,2647,7,3,0,0,2647,2648,7,4,0,0,2648,2649,7,6,0,0,2649,2650,7,4,0,0,2650,2651,7,6,0,0,2651,2652,7,2,0,0,2652,2653,7,11,0,0,2653,2654,7,8,0,0,2654,2655,7,9,0,0,2655,476,1,0,0,0,2656,2657,7,16,0,0,2657,2658,7,0,0,0,2658,2659,7,3,0,0,2659,2660,7,4,0,0,2660,2661,7,6,0,0,2661,2662,7,4,0,0,2662,2663,7,6,0,0,2663,2664,7,2,0,0,2664,2665,7,11,0,0,2665,2666,7,18,0,0,2666,478,1,0,0,0,2667,2668,7,16,0,0,2668,2669,7,0,0,0,2669,2670,7,4,0,0,2670,2671,7,17,0,0,2671,480,1,0,0,0,2672,2673,7,16,0,0,2673,2674,7,8,0,0,2674,2675,7,3,0,0,2675,2676,7,5,0,0,2676,2677,7,8,0,0,2677,2678,7,11,0,0,2678,2679,7,4,0,0,2679,482,1,0,0,0,2680,2681,7,16,0,0,2681,2682,7,22,0,0,2682,2683,7,12,0,0,2683,2684,7,22,0,0,2684,2685,5,95,0,0,2685,2686,7,24,0,0,2686,2687,7,2,0,0,2687,2688,7,6,0,0,2688,2689,7,11,0,0,2689,484,1,0,0,0,2690,2691,7,16,0,0,2691,2692,7,13,0,0,2692,2693,7,0,0,0,2693,2694,7,11,0,0,2694,486,1,0,0,0,2695,2696,7,16,0,0,2696,2697,7,13,0,0,2697,2698,7,0,0,0,2698,2699,7,11,0,0,2699,2700,7,18,0,0,2700,488,1,0,0,0,2701,2702,7,16,0,0,2702,2703,7,13,0,0,2703,2704,7,19,0,0,2704,2705,7,18,0,0,2705,490,1,0,0,0,2706,2707,7,16,0,0,2707,2708,7,2,0,0,2708,2709,7,2,0,0,2709,2710,7,13,0,0,2710,492,1,0,0,0,2711,2712,7,16,0,0,2712,2713,7,3,0,0,2713,2714,7,8,0,0,2714,2715,7,5,0,0,2715,2716,7,8,0,0,2716,2717,7,9,0,0,2717,2718,7,6,0,0,2718,2719,7,11,0,0,2719,2720,7,21,0,0,2720,494,1,0,0,0,2721,2722,7,16,0,0,2722,2723,7,3,0,0,2723,2724,7,8,0,0,2724,2725,7,5,0,0,2725,2726,7,6,0,0,2726,2727,7,18,0,0,2727,2728,7,6,0,0,2728,2729,7,2,0,0,2729,2730,7,11,0,0,2730,496,1,0,0,0,2731,2732,7,16,0,0,2732,2733,7,3,0,0,2733,2734,7,8,0,0,2734,2735,7,16,0,0,2735,2736,7,0,0,0,2736,2737,7,3,0,0,2737,2738,7,8,0,0,2738,498,1,0,0,0,2739,2740,7,16,0,0,2740,2741,7,3,0,0,2741,2742,7,8,0,0,2742,2743,7,18,0,0,2743,2744,7,8,0,0,2744,2745,7,3,0,0,2745,2746,7,7,0,0,2746,2747,7,8,0,0,2747,500,1,0,0,0,2748,2749,7,16,0,0,2749,2750,7,3,0,0,2750,2751,7,6,0,0,2751,2752,7,10,0,0,2752,2753,7,0,0,0,2753,2754,7,3,0,0,2754,2755,7,14,0,0,2755,502,1,0,0,0,2756,2757,7,16,0,0,2757,2758,7,3,0,0,2758,2759,7,6,0,0,2759,2760,7,11,0,0,2760,2761,7,5,0,0,2761,2762,7,6,0,0,2762,2763,7,16,0,0,2763,2764,7,0,0,0,2764,2765,7,13,0,0,2765,2766,7,18,0,0,2766,504,1,0,0,0,2767,2768,7,16,0,0,2768,2769,7,3,0,0,2769,2770,7,2,0,0,2770,2771,7,5,0,0,2771,2772,7,8,0,0,2772,2773,7,9,0,0,2773,2774,7,19,0,0,2774,2775,7,3,0,0,2775,2776,7,8,0,0,2776,506,1,0,0,0,2777,2778,7,16,0,0,2778,2779,7,3,0,0,2779,2780,7,2,0,0,2780,2781,7,4,0,0,2781,2782,7,8,0,0,2782,2783,7,5,0,0,2783,2784,7,4,0,0,2784,2785,7,6,0,0,2785,2786,7,2,0,0,2786,2787,7,11,0,0,2787,508,1,0,0,0,2788,2789,7,16,0,0,2789,2790,7,19,0,0,2790,2791,7,3,0,0,2791,2792,7,21,0,0,2792,2793,7,8,0,0,2793,510,1,0,0,0,2794,2795,7,25,0,0,2795,2796,7,19,0,0,2796,2797,7,0,0,0,2797,2798,7,13,0,0,2798,2799,7,6,0,0,2799,2800,7,12,0,0,2800,2801,7,14,0,0,2801,512,1,0,0,0,2802,2803,7,25,0,0,2803,2804,7,19,0,0,2804,2805,7,0,0,0,2805,2806,7,3,0,0,2806,2807,7,4,0,0,2807,2808,7,8,0,0,2808,2809,7,3,0,0,2809,514,1,0,0,0,2810,2811,7,25,0,0,2811,2812,7,19,0,0,2812,2813,7,8,0,0,2813,2814,7,3,0,0,2814,2815,7,14,0,0,2815,516,1,0,0,0,2816,2817,7,25,0,0,2817,2818,7,19,0,0,2818,2819,7,8,0,0,2819,2820,7,3,0,0,2820,2821,7,14,0,0,2821,2822,5,95,0,0,2822,2823,7,16,0,0,2823,2824,7,0,0,0,2824,2825,7,3,0,0,2825,2826,7,0,0,0,2826,2827,7,13,0,0,2827,2828,7,13,0,0,2828,2829,7,8,0,0,2829,2830,7,13,0,0,2830,2831,7,6,0,0,2831,2832,7,18,0,0,2832,2833,7,10,0,0,2833,518,1,0,0,0,2834,2835,7,3,0,0,2835,2836,7,0,0,0,2836,2837,7,11,0,0,2837,2838,7,21,0,0,2838,2839,7,8,0,0,2839,520,1,0,0,0,2840,2841,7,3,0,0,2841,2842,7,8,0,0,2842,2843,7,0,0,0,2843,2844,7,9,0,0,2844,522,1,0,0,0,2845,2846,7,3,0,0,2846,2847,7,8,0,0,2847,2848,7,0,0,0,2848,2849,7,9,0,0,2849,2850,7,2,0,0,2850,2851,7,11,0,0,2851,2852,7,13,0,0,2852,2853,7,14,0,0,2853,524,1,0,0,0,2854,2855,7,3,0,0,2855,2856,7,8,0,0,2856,2857,7,0,0,0,2857,2858,7,9,0,0,2858,2859,7,18,0,0,2859,526,1,0,0,0,2860,2861,7,3,0,0,2861,2862,7,8,0,0,2862,2863,7,0,0,0,2863,2864,7,13,0,0,2864,528,1,0,0,0,2865,2866,7,3,0,0,2866,2867,7,8,0,0,2867,2868,7,1,0,0,2868,2869,7,19,0,0,2869,2870,7,6,0,0,2870,2871,7,13,0,0,2871,2872,7,9,0,0,2872,530,1,0,0,0,2873,2874,7,3,0,0,2874,2875,7,8,0,0,2875,2876,7,5,0,0,2876,2877,7,2,0,0,2877,2878,7,3,0,0,2878,2879,7,9,0,0,2879,2880,7,3,0,0,2880,2881,7,8,0,0,2881,2882,7,0,0,0,2882,2883,7,9,0,0,2883,2884,7,8,0,0,2884,2885,7,3,0,0,2885,532,1,0,0,0,2886,2887,7,3,0,0,2887,2888,7,8,0,0,2888,2889,7,5,0,0,2889,2890,7,2,0,0,2890,2891,7,3,0,0,2891,2892,7,9,0,0,2892,2893,7,20,0,0,2893,2894,7,3,0,0,2894,2895,7,6,0,0,2895,2896,7,4,0,0,2896,2897,7,8,0,0,2897,2898,7,3,0,0,2898,534,1,0,0,0,2899,2900,7,3,0,0,2900,2901,7,8,0,0,2901,2902,7,9,0,0,2902,2903,7,19,0,0,2903,2904,7,5,0,0,2904,2905,7,8,0,0,2905,536,1,0,0,0,2906,2907,7,3,0,0,2907,2908,7,8,0,0,2908,2909,7,12,0,0,2909,2910,7,8,0,0,2910,2911,7,3,0,0,2911,2912,7,8,0,0,2912,2913,7,11,0,0,2913,2914,7,5,0,0,2914,2915,7,8,0,0,2915,2916,7,18,0,0,2916,538,1,0,0,0,2917,2918,7,3,0,0,2918,2919,7,8,0,0,2919,2920,7,21,0,0,2920,2921,7,8,0,0,2921,2922,7,23,0,0,2922,2923,7,16,0,0,2923,540,1,0,0,0,2924,2925,7,3,0,0,2925,2926,7,8,0,0,2926,2927,7,13,0,0,2927,2928,7,2,0,0,2928,2929,7,0,0,0,2929,2930,7,9,0,0,2930,542,1,0,0,0,2931,2932,7,3,0,0,2932,2933,7,8,0,0,2933,2934,7,13,0,0,2934,2935,7,14,0,0,2935,544,1,0,0,0,2936,2937,7,3,0,0,2937,2938,7,8,0,0,2938,2939,7,10,0,0,2939,2940,7,2,0,0,2940,2941,7,4,0,0,2941,2942,7,8,0,0,2942,546,1,0,0,0,2943,2944,7,3,0,0,2944,2945,7,8,0,0,2945,2946,7,11,0,0,2946,2947,7,0,0,0,2947,2948,7,10,0,0,2948,2949,7,8,0,0,2949,548,1,0,0,0,2950,2951,7,3,0,0,2951,2952,7,8,0,0,2952,2953,7,2,0,0,2953,2954,7,16,0,0,2954,2955,7,4,0,0,2955,2956,7,6,0,0,2956,2957,7,10,0,0,2957,2958,7,6,0,0,2958,2959,7,15,0,0,2959,2960,7,0,0,0,2960,2961,7,4,0,0,2961,2962,7,6,0,0,2962,2963,7,2,0,0,2963,2964,7,11,0,0,2964,550,1,0,0,0,2965,2966,7,3,0,0,2966,2967,7,8,0,0,2967,2968,7,16,0,0,2968,2969,7,0,0,0,2969,2970,7,6,0,0,2970,2971,7,3,0,0,2971,552,1,0,0,0,2972,2973,7,3,0,0,2973,2974,7,8,0,0,2974,2975,7,16,0,0,2975,2976,7,13,0,0,2976,554,1,0,0,0,2977,2978,7,3,0,0,2978,2979,7,8,0,0,2979,2980,7,16,0,0,2980,2981,7,13,0,0,2981,2982,7,0,0,0,2982,2983,7,5,0,0,2983,2984,7,8,0,0,2984,556,1,0,0,0,2985,2986,7,3,0,0,2986,2987,7,8,0,0,2987,2988,7,16,0,0,2988,2989,7,13,0,0,2989,2990,7,6,0,0,2990,2991,7,5,0,0,2991,2992,7,0,0,0,2992,2993,7,4,0,0,2993,2994,7,6,0,0,2994,2995,7,2,0,0,2995,2996,7,11,0,0,2996,558,1,0,0,0,2997,2998,7,3,0,0,2998,2999,7,8,0,0,2999,3e3,7,18,0,0,3e3,3001,7,2,0,0,3001,3002,7,19,0,0,3002,3003,7,3,0,0,3003,3004,7,5,0,0,3004,3005,7,8,0,0,3005,560,1,0,0,0,3006,3007,7,3,0,0,3007,3008,7,8,0,0,3008,3009,7,18,0,0,3009,3010,7,16,0,0,3010,3011,7,8,0,0,3011,3012,7,5,0,0,3012,3013,7,4,0,0,3013,562,1,0,0,0,3014,3015,7,3,0,0,3015,3016,7,8,0,0,3016,3017,7,18,0,0,3017,3018,7,4,0,0,3018,3019,7,3,0,0,3019,3020,7,6,0,0,3020,3021,7,5,0,0,3021,3022,7,4,0,0,3022,564,1,0,0,0,3023,3024,7,3,0,0,3024,3025,7,8,0,0,3025,3026,7,7,0,0,3026,3027,7,2,0,0,3027,3028,7,22,0,0,3028,3029,7,8,0,0,3029,566,1,0,0,0,3030,3031,7,3,0,0,3031,3032,7,8,0,0,3032,3033,7,20,0,0,3033,3034,7,3,0,0,3034,3035,7,6,0,0,3035,3036,7,4,0,0,3036,3037,7,8,0,0,3037,568,1,0,0,0,3038,3039,7,3,0,0,3039,3040,7,6,0,0,3040,3041,7,21,0,0,3041,3042,7,17,0,0,3042,3043,7,4,0,0,3043,570,1,0,0,0,3044,3045,7,3,0,0,3045,3046,7,13,0,0,3046,3047,7,6,0,0,3047,3048,7,22,0,0,3048,3049,7,8,0,0,3049,572,1,0,0,0,3050,3051,7,3,0,0,3051,3052,7,2,0,0,3052,3053,7,13,0,0,3053,3054,7,8,0,0,3054,574,1,0,0,0,3055,3056,7,3,0,0,3056,3057,7,2,0,0,3057,3058,7,13,0,0,3058,3059,7,8,0,0,3059,3060,7,18,0,0,3060,576,1,0,0,0,3061,3062,7,3,0,0,3062,3063,7,2,0,0,3063,3064,7,13,0,0,3064,3065,7,13,0,0,3065,3066,7,1,0,0,3066,3067,7,0,0,0,3067,3068,7,5,0,0,3068,3069,7,22,0,0,3069,578,1,0,0,0,3070,3071,7,3,0,0,3071,3072,7,2,0,0,3072,3073,7,13,0,0,3073,3074,7,13,0,0,3074,3075,7,19,0,0,3075,3076,7,16,0,0,3076,580,1,0,0,0,3077,3078,7,3,0,0,3078,3079,7,2,0,0,3079,3080,7,20,0,0,3080,582,1,0,0,0,3081,3082,7,3,0,0,3082,3083,7,2,0,0,3083,3084,7,20,0,0,3084,3085,7,18,0,0,3085,584,1,0,0,0,3086,3087,7,18,0,0,3087,3088,7,5,0,0,3088,3089,7,17,0,0,3089,3090,7,8,0,0,3090,3091,7,9,0,0,3091,3092,7,19,0,0,3092,3093,7,13,0,0,3093,3094,7,8,0,0,3094,3095,7,9,0,0,3095,586,1,0,0,0,3096,3097,7,18,0,0,3097,3098,7,5,0,0,3098,3099,7,17,0,0,3099,3100,7,8,0,0,3100,3101,7,9,0,0,3101,3102,7,19,0,0,3102,3103,7,13,0,0,3103,3104,7,6,0,0,3104,3105,7,11,0,0,3105,3106,7,21,0,0,3106,3107,5,95,0,0,3107,3108,7,16,0,0,3108,3109,7,2,0,0,3109,3110,7,13,0,0,3110,3111,7,6,0,0,3111,3112,7,5,0,0,3112,3113,7,14,0,0,3113,588,1,0,0,0,3114,3115,7,18,0,0,3115,3116,7,5,0,0,3116,3117,7,17,0,0,3117,3118,7,8,0,0,3118,3119,7,10,0,0,3119,3120,7,0,0,0,3120,590,1,0,0,0,3121,3122,7,18,0,0,3122,3123,7,5,0,0,3123,3124,7,17,0,0,3124,3125,7,8,0,0,3125,3126,7,10,0,0,3126,3127,7,0,0,0,3127,3128,7,18,0,0,3128,592,1,0,0,0,3129,3130,7,18,0,0,3130,3131,7,8,0,0,3131,3132,7,5,0,0,3132,3133,7,2,0,0,3133,3134,7,11,0,0,3134,3135,7,9,0,0,3135,594,1,0,0,0,3136,3137,7,18,0,0,3137,3138,7,8,0,0,3138,3139,7,5,0,0,3139,3140,7,2,0,0,3140,3141,7,11,0,0,3141,3142,7,9,0,0,3142,3143,7,18,0,0,3143,596,1,0,0,0,3144,3145,7,18,0,0,3145,3146,7,8,0,0,3146,3147,7,13,0,0,3147,3148,7,8,0,0,3148,3149,7,5,0,0,3149,3150,7,4,0,0,3150,598,1,0,0,0,3151,3152,7,18,0,0,3152,3153,7,8,0,0,3153,3154,7,10,0,0,3154,3155,7,6,0,0,3155,600,1,0,0,0,3156,3157,7,18,0,0,3157,3158,7,8,0,0,3158,3159,7,3,0,0,3159,3160,7,9,0,0,3160,3161,7,8,0,0,3161,602,1,0,0,0,3162,3163,7,18,0,0,3163,3164,7,8,0,0,3164,3165,7,3,0,0,3165,3166,7,9,0,0,3166,3167,7,8,0,0,3167,3168,7,16,0,0,3168,3169,7,3,0,0,3169,3170,7,2,0,0,3170,3171,7,16,0,0,3171,3172,7,8,0,0,3172,3173,7,3,0,0,3173,3174,7,4,0,0,3174,3175,7,6,0,0,3175,3176,7,8,0,0,3176,3177,7,18,0,0,3177,604,1,0,0,0,3178,3179,7,18,0,0,3179,3180,7,8,0,0,3180,3181,7,3,0,0,3181,3182,7,7,0,0,3182,3183,7,8,0,0,3183,3184,7,3,0,0,3184,606,1,0,0,0,3185,3186,7,18,0,0,3186,3187,7,8,0,0,3187,3188,7,4,0,0,3188,608,1,0,0,0,3189,3190,7,18,0,0,3190,3191,7,8,0,0,3191,3192,7,4,0,0,3192,3193,7,18,0,0,3193,610,1,0,0,0,3194,3195,7,18,0,0,3195,3196,7,8,0,0,3196,3197,7,4,0,0,3197,3198,5,95,0,0,3198,3199,7,5,0,0,3199,3200,7,19,0,0,3200,3201,7,3,0,0,3201,3202,7,3,0,0,3202,3203,7,8,0,0,3203,3204,7,11,0,0,3204,3205,7,4,0,0,3205,3206,5,95,0,0,3206,3207,7,18,0,0,3207,3208,7,11,0,0,3208,3209,7,0,0,0,3209,3210,7,16,0,0,3210,3211,7,18,0,0,3211,3212,7,17,0,0,3212,3213,7,2,0,0,3213,3214,7,4,0,0,3214,612,1,0,0,0,3215,3216,7,18,0,0,3216,3217,7,17,0,0,3217,3218,7,0,0,0,3218,3219,7,3,0,0,3219,3220,7,8,0,0,3220,3221,7,9,0,0,3221,614,1,0,0,0,3222,3223,7,18,0,0,3223,3224,7,17,0,0,3224,3225,7,2,0,0,3225,3226,7,20,0,0,3226,616,1,0,0,0,3227,3228,7,18,0,0,3228,3229,7,17,0,0,3229,3230,7,2,0,0,3230,3231,7,20,0,0,3231,3232,5,95,0,0,3232,3233,7,9,0,0,3233,3234,7,0,0,0,3234,3235,7,4,0,0,3235,3236,7,0,0,0,3236,3237,7,1,0,0,3237,3238,7,0,0,0,3238,3239,7,18,0,0,3239,3240,7,8,0,0,3240,618,1,0,0,0,3241,3242,7,18,0,0,3242,3243,7,22,0,0,3243,3244,7,8,0,0,3244,3245,7,20,0,0,3245,3246,7,8,0,0,3246,3247,7,9,0,0,3247,620,1,0,0,0,3248,3249,7,18,0,0,3249,3250,7,10,0,0,3250,3251,7,0,0,0,3251,3252,7,13,0,0,3252,3253,7,13,0,0,3253,3254,7,6,0,0,3254,3255,7,11,0,0,3255,3256,7,4,0,0,3256,622,1,0,0,0,3257,3258,7,18,0,0,3258,3259,7,11,0,0,3259,3260,7,0,0,0,3260,3261,7,16,0,0,3261,3262,7,18,0,0,3262,3263,7,17,0,0,3263,3264,7,2,0,0,3264,3265,7,4,0,0,3265,624,1,0,0,0,3266,3267,7,18,0,0,3267,3268,7,2,0,0,3268,3269,7,10,0,0,3269,3270,7,8,0,0,3270,626,1,0,0,0,3271,3272,7,18,0,0,3272,3273,7,2,0,0,3273,3274,7,3,0,0,3274,3275,7,4,0,0,3275,628,1,0,0,0,3276,3277,7,18,0,0,3277,3278,7,2,0,0,3278,3279,7,3,0,0,3279,3280,7,4,0,0,3280,3281,7,8,0,0,3281,3282,7,9,0,0,3282,630,1,0,0,0,3283,3284,7,18,0,0,3284,3285,7,16,0,0,3285,3286,7,8,0,0,3286,3287,7,5,0,0,3287,632,1,0,0,0,3288,3289,7,18,0,0,3289,3290,7,18,0,0,3290,3291,7,13,0,0,3291,634,1,0,0,0,3292,3293,7,18,0,0,3293,3294,7,4,0,0,3294,3295,7,0,0,0,3295,3296,7,3,0,0,3296,3297,7,4,0,0,3297,636,1,0,0,0,3298,3299,7,18,0,0,3299,3300,7,4,0,0,3300,3301,7,0,0,0,3301,3302,7,4,0,0,3302,3303,7,6,0,0,3303,3304,7,18,0,0,3304,3305,7,4,0,0,3305,3306,7,6,0,0,3306,3307,7,5,0,0,3307,3308,7,18,0,0,3308,638,1,0,0,0,3309,3310,7,18,0,0,3310,3311,7,4,0,0,3311,3312,7,0,0,0,3312,3313,7,4,0,0,3313,3314,7,19,0,0,3314,3315,7,18,0,0,3315,640,1,0,0,0,3316,3317,7,18,0,0,3317,3318,7,4,0,0,3318,3319,7,2,0,0,3319,3320,7,3,0,0,3320,3321,7,8,0,0,3321,3322,7,9,0,0,3322,642,1,0,0,0,3323,3324,7,18,0,0,3324,3325,7,4,0,0,3325,3326,7,3,0,0,3326,3327,7,8,0,0,3327,3328,7,0,0,0,3328,3329,7,10,0,0,3329,3330,7,4,0,0,3330,3331,7,0,0,0,3331,3332,7,1,0,0,3332,3333,7,13,0,0,3333,3334,7,8,0,0,3334,644,1,0,0,0,3335,3336,7,18,0,0,3336,3337,7,4,0,0,3337,3338,7,3,0,0,3338,3339,7,6,0,0,3339,3340,7,11,0,0,3340,3341,7,21,0,0,3341,646,1,0,0,0,3342,3343,7,18,0,0,3343,3344,7,4,0,0,3344,3345,7,3,0,0,3345,3346,7,19,0,0,3346,3347,7,5,0,0,3347,3348,7,4,0,0,3348,648,1,0,0,0,3349,3350,7,18,0,0,3350,3351,7,19,0,0,3351,3352,7,10,0,0,3352,3353,7,10,0,0,3353,3354,7,0,0,0,3354,3355,7,3,0,0,3355,3356,7,14,0,0,3356,650,1,0,0,0,3357,3358,7,18,0,0,3358,3359,7,14,0,0,3359,3360,7,11,0,0,3360,3361,7,5,0,0,3361,652,1,0,0,0,3362,3363,7,18,0,0,3363,3364,7,14,0,0,3364,3365,7,18,0,0,3365,3366,7,4,0,0,3366,3367,7,8,0,0,3367,3368,7,10,0,0,3368,3369,5,95,0,0,3369,3370,7,4,0,0,3370,3371,7,6,0,0,3371,3372,7,10,0,0,3372,3373,7,8,0,0,3373,654,1,0,0,0,3374,3375,7,18,0,0,3375,3376,7,14,0,0,3376,3377,7,18,0,0,3377,3378,7,4,0,0,3378,3379,7,8,0,0,3379,3380,7,10,0,0,3380,3381,5,95,0,0,3381,3382,7,7,0,0,3382,3383,7,8,0,0,3383,3384,7,3,0,0,3384,3385,7,18,0,0,3385,3386,7,6,0,0,3386,3387,7,2,0,0,3387,3388,7,11,0,0,3388,656,1,0,0,0,3389,3390,7,4,0,0,3390,3391,7,0,0,0,3391,3392,7,1,0,0,3392,3393,7,13,0,0,3393,3394,7,8,0,0,3394,658,1,0,0,0,3395,3396,7,4,0,0,3396,3397,7,0,0,0,3397,3398,7,1,0,0,3398,3399,7,13,0,0,3399,3400,7,8,0,0,3400,3401,7,18,0,0,3401,660,1,0,0,0,3402,3403,7,4,0,0,3403,3404,7,0,0,0,3404,3405,7,1,0,0,3405,3406,7,13,0,0,3406,3407,7,8,0,0,3407,3408,7,18,0,0,3408,3409,7,0,0,0,3409,3410,7,10,0,0,3410,3411,7,16,0,0,3411,3412,7,13,0,0,3412,3413,7,8,0,0,3413,662,1,0,0,0,3414,3415,7,4,0,0,3415,3416,7,1,0,0,3416,3417,7,13,0,0,3417,3418,7,16,0,0,3418,3419,7,3,0,0,3419,3420,7,2,0,0,3420,3421,7,16,0,0,3421,3422,7,8,0,0,3422,3423,7,3,0,0,3423,3424,7,4,0,0,3424,3425,7,6,0,0,3425,3426,7,8,0,0,3426,3427,7,18,0,0,3427,664,1,0,0,0,3428,3429,7,4,0,0,3429,3430,7,8,0,0,3430,3431,7,10,0,0,3431,3432,7,16,0,0,3432,3433,7,2,0,0,3433,3434,7,3,0,0,3434,3435,7,0,0,0,3435,3436,7,3,0,0,3436,3437,7,14,0,0,3437,666,1,0,0,0,3438,3439,7,4,0,0,3439,3440,7,8,0,0,3440,3441,7,3,0,0,3441,3442,7,10,0,0,3442,3443,7,6,0,0,3443,3444,7,11,0,0,3444,3445,7,0,0,0,3445,3446,7,4,0,0,3446,3447,7,8,0,0,3447,3448,7,9,0,0,3448,668,1,0,0,0,3449,3450,7,4,0,0,3450,3451,7,17,0,0,3451,3452,7,8,0,0,3452,3453,7,11,0,0,3453,670,1,0,0,0,3454,3455,7,4,0,0,3455,3456,7,6,0,0,3456,3457,7,10,0,0,3457,3458,7,8,0,0,3458,672,1,0,0,0,3459,3460,7,4,0,0,3460,3461,7,6,0,0,3461,3462,7,10,0,0,3462,3463,7,8,0,0,3463,3464,7,18,0,0,3464,3465,7,4,0,0,3465,3466,7,0,0,0,3466,3467,7,10,0,0,3467,3468,7,16,0,0,3468,674,1,0,0,0,3469,3470,7,4,0,0,3470,3471,7,6,0,0,3471,3472,7,10,0,0,3472,3473,7,8,0,0,3473,3474,7,18,0,0,3474,3475,7,4,0,0,3475,3476,7,0,0,0,3476,3477,7,10,0,0,3477,3478,7,16,0,0,3478,3479,7,13,0,0,3479,3480,7,2,0,0,3480,3481,7,5,0,0,3481,3482,7,0,0,0,3482,3483,7,13,0,0,3483,3484,7,4,0,0,3484,3485,7,15,0,0,3485,676,1,0,0,0,3486,3487,7,4,0,0,3487,3488,7,6,0,0,3488,3489,7,10,0,0,3489,3490,7,8,0,0,3490,3491,7,18,0,0,3491,3492,7,4,0,0,3492,3493,7,0,0,0,3493,3494,7,10,0,0,3494,3495,7,16,0,0,3495,3496,7,4,0,0,3496,3497,7,15,0,0,3497,678,1,0,0,0,3498,3499,7,4,0,0,3499,3500,7,6,0,0,3500,3501,7,11,0,0,3501,3502,7,14,0,0,3502,3503,7,6,0,0,3503,3504,7,11,0,0,3504,3505,7,4,0,0,3505,680,1,0,0,0,3506,3507,7,4,0,0,3507,3508,7,2,0,0,3508,682,1,0,0,0,3509,3510,7,4,0,0,3510,3511,7,2,0,0,3511,3512,7,19,0,0,3512,3513,7,5,0,0,3513,3514,7,17,0,0,3514,684,1,0,0,0,3515,3516,7,4,0,0,3516,3517,7,3,0,0,3517,3518,7,0,0,0,3518,3519,7,6,0,0,3519,3520,7,13,0,0,3520,3521,7,6,0,0,3521,3522,7,11,0,0,3522,3523,7,21,0,0,3523,686,1,0,0,0,3524,3525,7,4,0,0,3525,3526,7,3,0,0,3526,3527,7,0,0,0,3527,3528,7,11,0,0,3528,3529,7,18,0,0,3529,3530,7,0,0,0,3530,3531,7,5,0,0,3531,3532,7,4,0,0,3532,3533,7,6,0,0,3533,3534,7,2,0,0,3534,3535,7,11,0,0,3535,688,1,0,0,0,3536,3537,7,4,0,0,3537,3538,7,3,0,0,3538,3539,7,0,0,0,3539,3540,7,11,0,0,3540,3541,7,18,0,0,3541,3542,7,0,0,0,3542,3543,7,5,0,0,3543,3544,7,4,0,0,3544,3545,7,6,0,0,3545,3546,7,2,0,0,3546,3547,7,11,0,0,3547,3548,7,0,0,0,3548,3549,7,13,0,0,3549,690,1,0,0,0,3550,3551,7,4,0,0,3551,3552,7,3,0,0,3552,3553,7,0,0,0,3553,3554,7,11,0,0,3554,3555,7,18,0,0,3555,3556,7,0,0,0,3556,3557,7,5,0,0,3557,3558,7,4,0,0,3558,3559,7,6,0,0,3559,3560,7,2,0,0,3560,3561,7,11,0,0,3561,3562,7,18,0,0,3562,692,1,0,0,0,3563,3564,7,4,0,0,3564,3565,7,3,0,0,3565,3566,7,0,0,0,3566,3567,7,11,0,0,3567,3568,7,18,0,0,3568,3569,7,12,0,0,3569,3570,7,2,0,0,3570,3571,7,3,0,0,3571,3572,7,10,0,0,3572,694,1,0,0,0,3573,3574,7,4,0,0,3574,3575,7,3,0,0,3575,3576,7,6,0,0,3576,3577,7,21,0,0,3577,3578,7,21,0,0,3578,3579,7,8,0,0,3579,3580,7,3,0,0,3580,696,1,0,0,0,3581,3582,7,4,0,0,3582,3583,7,3,0,0,3583,3584,7,6,0,0,3584,3585,7,10,0,0,3585,698,1,0,0,0,3586,3587,7,4,0,0,3587,3588,7,3,0,0,3588,3589,7,19,0,0,3589,3590,7,8,0,0,3590,700,1,0,0,0,3591,3592,7,4,0,0,3592,3593,7,3,0,0,3593,3594,7,19,0,0,3594,3595,7,11,0,0,3595,3596,7,5,0,0,3596,3597,7,0,0,0,3597,3598,7,4,0,0,3598,3599,7,8,0,0,3599,702,1,0,0,0,3600,3601,7,4,0,0,3601,3602,7,14,0,0,3602,3603,7,16,0,0,3603,3604,7,8,0,0,3604,704,1,0,0,0,3605,3606,7,19,0,0,3606,3607,7,11,0,0,3607,3608,7,0,0,0,3608,3609,7,3,0,0,3609,3610,7,5,0,0,3610,3611,7,17,0,0,3611,3612,7,6,0,0,3612,3613,7,7,0,0,3613,3614,7,8,0,0,3614,706,1,0,0,0,3615,3616,7,19,0,0,3616,3617,7,11,0,0,3617,3618,7,1,0,0,3618,3619,7,2,0,0,3619,3620,7,19,0,0,3620,3621,7,11,0,0,3621,3622,7,9,0,0,3622,3623,7,8,0,0,3623,3624,7,9,0,0,3624,708,1,0,0,0,3625,3626,7,19,0,0,3626,3627,7,11,0,0,3627,3628,7,9,0,0,3628,3629,7,2,0,0,3629,710,1,0,0,0,3630,3631,7,19,0,0,3631,3632,7,11,0,0,3632,3633,7,6,0,0,3633,3634,7,2,0,0,3634,3635,7,11,0,0,3635,712,1,0,0,0,3636,3637,7,19,0,0,3637,3638,7,11,0,0,3638,3639,7,6,0,0,3639,3640,7,2,0,0,3640,3641,7,11,0,0,3641,3642,7,4,0,0,3642,3643,7,14,0,0,3643,3644,7,16,0,0,3644,3645,7,8,0,0,3645,714,1,0,0,0,3646,3647,7,19,0,0,3647,3648,7,11,0,0,3648,3649,7,6,0,0,3649,3650,7,25,0,0,3650,3651,7,19,0,0,3651,3652,7,8,0,0,3652,716,1,0,0,0,3653,3654,7,19,0,0,3654,3655,7,11,0,0,3655,3656,7,6,0,0,3656,3657,7,25,0,0,3657,3658,7,19,0,0,3658,3659,7,8,0,0,3659,3660,7,24,0,0,3660,3661,7,2,0,0,3661,3662,7,6,0,0,3662,3663,7,11,0,0,3663,718,1,0,0,0,3664,3665,7,19,0,0,3665,3666,7,11,0,0,3666,3667,7,22,0,0,3667,3668,7,11,0,0,3668,3669,7,2,0,0,3669,3670,7,20,0,0,3670,3671,7,11,0,0,3671,720,1,0,0,0,3672,3673,7,19,0,0,3673,3674,7,11,0,0,3674,3675,7,13,0,0,3675,3676,7,2,0,0,3676,3677,7,5,0,0,3677,3678,7,22,0,0,3678,722,1,0,0,0,3679,3680,7,19,0,0,3680,3681,7,11,0,0,3681,3682,7,10,0,0,3682,3683,7,0,0,0,3683,3684,7,11,0,0,3684,3685,7,0,0,0,3685,3686,7,21,0,0,3686,3687,7,8,0,0,3687,3688,7,9,0,0,3688,724,1,0,0,0,3689,3690,7,19,0,0,3690,3691,7,11,0,0,3691,3692,7,18,0,0,3692,3693,7,8,0,0,3693,3694,7,4,0,0,3694,726,1,0,0,0,3695,3696,7,19,0,0,3696,3697,7,11,0,0,3697,3698,7,18,0,0,3698,3699,7,6,0,0,3699,3700,7,21,0,0,3700,3701,7,11,0,0,3701,3702,7,8,0,0,3702,3703,7,9,0,0,3703,728,1,0,0,0,3704,3705,7,19,0,0,3705,3706,7,16,0,0,3706,3707,7,9,0,0,3707,3708,7,0,0,0,3708,3709,7,4,0,0,3709,3710,7,8,0,0,3710,730,1,0,0,0,3711,3712,7,19,0,0,3712,3713,7,3,0,0,3713,3714,7,6,0,0,3714,732,1,0,0,0,3715,3716,7,19,0,0,3716,3717,7,3,0,0,3717,3718,7,13,0,0,3718,734,1,0,0,0,3719,3720,7,19,0,0,3720,3721,7,18,0,0,3721,3722,7,8,0,0,3722,736,1,0,0,0,3723,3724,7,19,0,0,3724,3725,7,18,0,0,3725,3726,7,8,0,0,3726,3727,7,3,0,0,3727,738,1,0,0,0,3728,3729,7,19,0,0,3729,3730,7,18,0,0,3730,3731,7,6,0,0,3731,3732,7,11,0,0,3732,3733,7,21,0,0,3733,740,1,0,0,0,3734,3735,7,19,0,0,3735,3736,7,4,0,0,3736,3737,7,5,0,0,3737,742,1,0,0,0,3738,3739,7,19,0,0,3739,3740,7,4,0,0,3740,3741,7,5,0,0,3741,3742,5,95,0,0,3742,3743,7,4,0,0,3743,3744,7,10,0,0,3744,3745,7,8,0,0,3745,3746,7,18,0,0,3746,3747,7,4,0,0,3747,3748,7,0,0,0,3748,3749,7,10,0,0,3749,3750,7,16,0,0,3750,744,1,0,0,0,3751,3752,7,7,0,0,3752,3753,7,0,0,0,3753,3754,7,13,0,0,3754,3755,7,6,0,0,3755,3756,7,9,0,0,3756,3757,7,0,0,0,3757,3758,7,4,0,0,3758,3759,7,8,0,0,3759,746,1,0,0,0,3760,3761,7,7,0,0,3761,3762,7,0,0,0,3762,3763,7,13,0,0,3763,3764,7,19,0,0,3764,3765,7,8,0,0,3765,3766,7,18,0,0,3766,748,1,0,0,0,3767,3768,5,36,0,0,3768,3769,7,7,0,0,3769,3770,7,0,0,0,3770,3771,7,13,0,0,3771,3772,7,19,0,0,3772,3773,7,8,0,0,3773,3774,5,36,0,0,3774,750,1,0,0,0,3775,3776,7,7,0,0,3776,3777,7,0,0,0,3777,3778,7,3,0,0,3778,3779,7,5,0,0,3779,3780,7,17,0,0,3780,3781,7,0,0,0,3781,3782,7,3,0,0,3782,752,1,0,0,0,3783,3784,7,7,0,0,3784,3785,7,8,0,0,3785,3786,7,5,0,0,3786,3787,7,4,0,0,3787,3788,7,2,0,0,3788,3789,7,3,0,0,3789,3790,7,6,0,0,3790,3791,7,15,0,0,3791,3792,7,0,0,0,3792,3793,7,4,0,0,3793,3794,7,6,0,0,3794,3795,7,2,0,0,3795,3796,7,11,0,0,3796,754,1,0,0,0,3797,3798,7,7,0,0,3798,3799,7,6,0,0,3799,3800,7,8,0,0,3800,3801,7,20,0,0,3801,756,1,0,0,0,3802,3803,7,7,0,0,3803,3804,7,6,0,0,3804,3805,7,8,0,0,3805,3806,7,20,0,0,3806,3807,7,18,0,0,3807,758,1,0,0,0,3808,3809,7,20,0,0,3809,3810,7,0,0,0,3810,3811,7,6,0,0,3811,3812,7,4,0,0,3812,760,1,0,0,0,3813,3814,7,20,0,0,3814,3815,7,8,0,0,3815,3816,7,8,0,0,3816,3817,7,22,0,0,3817,762,1,0,0,0,3818,3819,7,20,0,0,3819,3820,7,8,0,0,3820,3821,7,8,0,0,3821,3822,7,22,0,0,3822,3823,7,18,0,0,3823,764,1,0,0,0,3824,3825,7,20,0,0,3825,3826,7,17,0,0,3826,3827,7,8,0,0,3827,3828,7,11,0,0,3828,766,1,0,0,0,3829,3830,7,20,0,0,3830,3831,7,17,0,0,3831,3832,7,8,0,0,3832,3833,7,3,0,0,3833,3834,7,8,0,0,3834,768,1,0,0,0,3835,3836,7,20,0,0,3836,3837,7,17,0,0,3837,3838,7,6,0,0,3838,3839,7,13,0,0,3839,3840,7,8,0,0,3840,770,1,0,0,0,3841,3842,7,20,0,0,3842,3843,7,6,0,0,3843,3844,7,11,0,0,3844,3845,7,9,0,0,3845,3846,7,2,0,0,3846,3847,7,20,0,0,3847,772,1,0,0,0,3848,3849,7,20,0,0,3849,3850,7,6,0,0,3850,3851,7,4,0,0,3851,3852,7,17,0,0,3852,774,1,0,0,0,3853,3854,7,20,0,0,3854,3855,7,6,0,0,3855,3856,7,4,0,0,3856,3857,7,17,0,0,3857,3858,7,6,0,0,3858,3859,7,11,0,0,3859,776,1,0,0,0,3860,3861,7,20,0,0,3861,3862,7,2,0,0,3862,3863,7,3,0,0,3863,3864,7,22,0,0,3864,778,1,0,0,0,3865,3866,7,20,0,0,3866,3867,7,2,0,0,3867,3868,7,3,0,0,3868,3869,7,22,0,0,3869,3870,7,13,0,0,3870,3871,7,2,0,0,3871,3872,7,0,0,0,3872,3873,7,9,0,0,3873,780,1,0,0,0,3874,3875,7,20,0,0,3875,3876,7,3,0,0,3876,3877,7,6,0,0,3877,3878,7,4,0,0,3878,3879,7,8,0,0,3879,782,1,0,0,0,3880,3881,7,14,0,0,3881,3882,7,8,0,0,3882,3883,7,0,0,0,3883,3884,7,3,0,0,3884,784,1,0,0,0,3885,3886,7,14,0,0,3886,3887,7,8,0,0,3887,3888,7,0,0,0,3888,3889,7,3,0,0,3889,3890,7,18,0,0,3890,786,1,0,0,0,3891,3892,7,15,0,0,3892,3893,7,2,0,0,3893,3894,7,11,0,0,3894,3895,7,8,0,0,3895,788,1,0,0,0,3896,3897,5,46,0,0,3897,790,1,0,0,0,3898,3899,5,58,0,0,3899,792,1,0,0,0,3900,3901,5,44,0,0,3901,794,1,0,0,0,3902,3903,5,59,0,0,3903,796,1,0,0,0,3904,3905,5,40,0,0,3905,798,1,0,0,0,3906,3907,5,41,0,0,3907,800,1,0,0,0,3908,3909,5,91,0,0,3909,802,1,0,0,0,3910,3911,5,93,0,0,3911,804,1,0,0,0,3912,3913,5,123,0,0,3913,806,1,0,0,0,3914,3915,5,125,0,0,3915,808,1,0,0,0,3916,3920,5,61,0,0,3917,3918,5,61,0,0,3918,3920,5,61,0,0,3919,3916,1,0,0,0,3919,3917,1,0,0,0,3920,810,1,0,0,0,3921,3922,5,60,0,0,3922,3923,5,61,0,0,3923,3924,5,62,0,0,3924,812,1,0,0,0,3925,3926,5,60,0,0,3926,3930,5,62,0,0,3927,3928,5,33,0,0,3928,3930,5,61,0,0,3929,3925,1,0,0,0,3929,3927,1,0,0,0,3930,814,1,0,0,0,3931,3932,5,60,0,0,3932,3933,5,61,0,0,3933,816,1,0,0,0,3934,3935,5,60,0,0,3935,818,1,0,0,0,3936,3937,5,62,0,0,3937,3938,5,61,0,0,3938,820,1,0,0,0,3939,3940,5,62,0,0,3940,822,1,0,0,0,3941,3942,5,47,0,0,3942,824,1,0,0,0,3943,3944,5,43,0,0,3944,826,1,0,0,0,3945,3946,5,45,0,0,3946,828,1,0,0,0,3947,3948,5,42,0,0,3948,830,1,0,0,0,3949,3950,5,37,0,0,3950,832,1,0,0,0,3951,3952,7,9,0,0,3952,3953,7,6,0,0,3953,3954,7,7,0,0,3954,834,1,0,0,0,3955,3956,5,33,0,0,3956,836,1,0,0,0,3957,3958,5,38,0,0,3958,838,1,0,0,0,3959,3960,5,126,0,0,3960,840,1,0,0,0,3961,3962,5,124,0,0,3962,842,1,0,0,0,3963,3964,5,124,0,0,3964,3965,5,124,0,0,3965,844,1,0,0,0,3966,3967,5,94,0,0,3967,846,1,0,0,0,3968,3969,5,63,0,0,3969,848,1,0,0,0,3970,3971,5,36,0,0,3971,850,1,0,0,0,3972,3978,5,39,0,0,3973,3977,8,26,0,0,3974,3975,5,92,0,0,3975,3977,9,0,0,0,3976,3973,1,0,0,0,3976,3974,1,0,0,0,3977,3980,1,0,0,0,3978,3976,1,0,0,0,3978,3979,1,0,0,0,3979,3981,1,0,0,0,3980,3978,1,0,0,0,3981,3993,5,39,0,0,3982,3988,5,34,0,0,3983,3987,8,27,0,0,3984,3985,5,92,0,0,3985,3987,9,0,0,0,3986,3983,1,0,0,0,3986,3984,1,0,0,0,3987,3990,1,0,0,0,3988,3986,1,0,0,0,3988,3989,1,0,0,0,3989,3991,1,0,0,0,3990,3988,1,0,0,0,3991,3993,5,34,0,0,3992,3972,1,0,0,0,3992,3982,1,0,0,0,3993,3994,1,0,0,0,3994,3992,1,0,0,0,3994,3995,1,0,0,0,3995,852,1,0,0,0,3996,4006,3,851,425,0,3997,3998,5,48,0,0,3998,4001,7,23,0,0,3999,4002,3,869,434,0,4e3,4002,3,871,435,0,4001,3999,1,0,0,0,4001,4e3,1,0,0,0,4002,4003,1,0,0,0,4003,4001,1,0,0,0,4003,4004,1,0,0,0,4004,4006,1,0,0,0,4005,3996,1,0,0,0,4005,3997,1,0,0,0,4006,854,1,0,0,0,4007,4009,3,871,435,0,4008,4007,1,0,0,0,4009,4010,1,0,0,0,4010,4008,1,0,0,0,4010,4011,1,0,0,0,4011,4012,1,0,0,0,4012,4013,7,28,0,0,4013,856,1,0,0,0,4014,4016,3,861,430,0,4015,4017,7,1,0,0,4016,4015,1,0,0,0,4016,4017,1,0,0,0,4017,4018,1,0,0,0,4018,4019,7,9,0,0,4019,858,1,0,0,0,4020,4022,3,871,435,0,4021,4020,1,0,0,0,4022,4023,1,0,0,0,4023,4021,1,0,0,0,4023,4024,1,0,0,0,4024,4025,1,0,0,0,4025,4026,7,29,0,0,4026,860,1,0,0,0,4027,4029,3,871,435,0,4028,4027,1,0,0,0,4029,4030,1,0,0,0,4030,4028,1,0,0,0,4030,4031,1,0,0,0,4031,4043,1,0,0,0,4032,4036,3,789,394,0,4033,4035,3,871,435,0,4034,4033,1,0,0,0,4035,4038,1,0,0,0,4036,4034,1,0,0,0,4036,4037,1,0,0,0,4037,4040,1,0,0,0,4038,4036,1,0,0,0,4039,4041,3,873,436,0,4040,4039,1,0,0,0,4040,4041,1,0,0,0,4041,4044,1,0,0,0,4042,4044,3,873,436,0,4043,4032,1,0,0,0,4043,4042,1,0,0,0,4043,4044,1,0,0,0,4044,862,1,0,0,0,4045,4048,3,867,433,0,4046,4048,3,871,435,0,4047,4045,1,0,0,0,4047,4046,1,0,0,0,4048,4054,1,0,0,0,4049,4053,3,867,433,0,4050,4053,3,871,435,0,4051,4053,5,95,0,0,4052,4049,1,0,0,0,4052,4050,1,0,0,0,4052,4051,1,0,0,0,4053,4056,1,0,0,0,4054,4052,1,0,0,0,4054,4055,1,0,0,0,4055,4067,1,0,0,0,4056,4054,1,0,0,0,4057,4067,3,865,432,0,4058,4060,5,96,0,0,4059,4061,3,875,437,0,4060,4059,1,0,0,0,4061,4062,1,0,0,0,4062,4060,1,0,0,0,4062,4063,1,0,0,0,4063,4064,1,0,0,0,4064,4065,5,96,0,0,4065,4067,1,0,0,0,4066,4047,1,0,0,0,4066,4057,1,0,0,0,4066,4058,1,0,0,0,4067,864,1,0,0,0,4068,4074,5,96,0,0,4069,4070,5,96,0,0,4070,4073,5,96,0,0,4071,4073,8,30,0,0,4072,4069,1,0,0,0,4072,4071,1,0,0,0,4073,4076,1,0,0,0,4074,4072,1,0,0,0,4074,4075,1,0,0,0,4075,4077,1,0,0,0,4076,4074,1,0,0,0,4077,4078,5,96,0,0,4078,866,1,0,0,0,4079,4080,7,31,0,0,4080,868,1,0,0,0,4081,4082,7,32,0,0,4082,870,1,0,0,0,4083,4084,2,48,57,0,4084,872,1,0,0,0,4085,4088,7,8,0,0,4086,4089,3,825,412,0,4087,4089,3,827,413,0,4088,4086,1,0,0,0,4088,4087,1,0,0,0,4088,4089,1,0,0,0,4089,4091,1,0,0,0,4090,4092,3,871,435,0,4091,4090,1,0,0,0,4092,4093,1,0,0,0,4093,4091,1,0,0,0,4093,4094,1,0,0,0,4094,874,1,0,0,0,4095,4112,7,33,0,0,4096,4112,3,825,412,0,4097,4112,3,829,414,0,4098,4112,3,847,423,0,4099,4112,3,827,413,0,4100,4112,3,789,394,0,4101,4112,3,797,398,0,4102,4112,3,799,399,0,4103,4112,3,801,400,0,4104,4112,3,803,401,0,4105,4112,3,805,402,0,4106,4112,3,807,403,0,4107,4112,3,845,422,0,4108,4112,3,841,420,0,4109,4112,3,849,424,0,4110,4112,3,835,417,0,4111,4095,1,0,0,0,4111,4096,1,0,0,0,4111,4097,1,0,0,0,4111,4098,1,0,0,0,4111,4099,1,0,0,0,4111,4100,1,0,0,0,4111,4101,1,0,0,0,4111,4102,1,0,0,0,4111,4103,1,0,0,0,4111,4104,1,0,0,0,4111,4105,1,0,0,0,4111,4106,1,0,0,0,4111,4107,1,0,0,0,4111,4108,1,0,0,0,4111,4109,1,0,0,0,4111,4110,1,0,0,0,4112,876,1,0,0,0,4113,4117,5,95,0,0,4114,4118,3,867,433,0,4115,4118,3,871,435,0,4116,4118,7,34,0,0,4117,4114,1,0,0,0,4117,4115,1,0,0,0,4117,4116,1,0,0,0,4118,4119,1,0,0,0,4119,4117,1,0,0,0,4119,4120,1,0,0,0,4120,878,1,0,0,0,4121,4122,7,35,0,0,4122,4123,1,0,0,0,4123,4124,6,439,0,0,4124,880,1,0,0,0,4125,4126,5,45,0,0,4126,4127,5,45,0,0,4127,4131,1,0,0,0,4128,4130,8,36,0,0,4129,4128,1,0,0,0,4130,4133,1,0,0,0,4131,4129,1,0,0,0,4131,4132,1,0,0,0,4132,4134,1,0,0,0,4133,4131,1,0,0,0,4134,4135,6,440,0,0,4135,882,1,0,0,0,4136,4139,3,885,442,0,4137,4139,3,887,443,0,4138,4136,1,0,0,0,4138,4137,1,0,0,0,4139,884,1,0,0,0,4140,4141,5,47,0,0,4141,4142,5,42,0,0,4142,4143,5,43,0,0,4143,4148,1,0,0,0,4144,4147,3,883,441,0,4145,4147,9,0,0,0,4146,4144,1,0,0,0,4146,4145,1,0,0,0,4147,4150,1,0,0,0,4148,4149,1,0,0,0,4148,4146,1,0,0,0,4149,4151,1,0,0,0,4150,4148,1,0,0,0,4151,4152,5,42,0,0,4152,4153,5,47,0,0,4153,4154,1,0,0,0,4154,4155,6,442,0,0,4155,886,1,0,0,0,4156,4157,5,47,0,0,4157,4158,5,42,0,0,4158,4163,1,0,0,0,4159,4162,3,883,441,0,4160,4162,9,0,0,0,4161,4159,1,0,0,0,4161,4160,1,0,0,0,4162,4165,1,0,0,0,4163,4164,1,0,0,0,4163,4161,1,0,0,0,4164,4166,1,0,0,0,4165,4163,1,0,0,0,4166,4167,5,42,0,0,4167,4168,5,47,0,0,4168,4169,1,0,0,0,4169,4170,6,443,0,0,4170,888,1,0,0,0,37,0,3919,3929,3976,3978,3986,3988,3992,3994,4001,4003,4005,4010,4016,4023,4030,4036,4040,4043,4047,4052,4054,4062,4066,4072,4074,4088,4093,4111,4117,4119,4131,4138,4146,4148,4161,4163,1,0,1,0],l.vocabulary=new ie(l.literalNames,l.symbolicNames,[]),l.decisionsToDFA=l._ATN.decisionToState.map((i,t)=>new ve(i,t));class V7 extends s3{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,s,n,r;return this.entityCollecting&&((s=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&s!==void 0?s:1/0)<=this.caretTokenIndex&&((r=(n=this.tokenStream.LT(1))===null||n===void 0?void 0:n.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class e extends V7{get grammarFileName(){return"HiveSqlParser.g4"}get literalNames(){return e.literalNames}get symbolicNames(){return e.symbolicNames}get ruleNames(){return e.ruleNames}get serializedATN(){return e._serializedATN}createFailedPredicateException(t,s){return new hi(this,t,s)}constructor(t){super(t),this.interpreter=new ii(this,e._ATN,e.decisionsToDFA,new a1)}program(){let t=new Y7(this.context,this.state);this.enterRule(t,0,e.RULE_program);let s;try{this.enterOuterAlt(t,1);{for(this.state=695,this.errorHandler.sync(this),s=this.tokenStream.LA(1);!(s&-32)&&1<'",null,"'<='","'<'","'>='","'>'","'/'","'+'","'-'","'*'","'%'","'DIV'","'!'","'&'","'~'","'|'","'||'","'^'","'?'","'$'"],e.symbolicNames=[null,"KW_ABORT","KW_ACTIVATE","KW_ACTIVE","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALLOC_FRACTION","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_APPLICATION","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AST","KW_AT","KW_AUTHORIZATION","KW_AUTOCOMMIT","KW_BATCH","KW_BEFORE","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CBO","KW_CHANGE","KW_CHAR","KW_CHECK","KW_CLUSTER","KW_CLUSTERED","KW_CLUSTERSTATUS","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPACT_ID","KW_COMPUTE","KW_CONCATENATE","KW_CONF","KW_CONSTRAINT","KW_CONTINUE","KW_COST","KW_CREATE","KW_CRON","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIMESTAMP","KW_CURSOR","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DATACONNECTOR","KW_DATACONNECTORS","KW_DATE","KW_DATETIME","KW_DAY","KW_DAYS","KW_DAYOFWEEK","KW_DBPROPERTIES","KW_DCPROPERTIES","KW_DDL","KW_DEBUG","KW_DEC","KW_DECIMAL","KW_NUMERIC","KW_DEFAULT","KW_DEFERRED","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DEPENDENCY","KW_DESC","KW_DESCRIBE","KW_DETAIL","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISABLED","KW_DISTINCT","KW_DISTRIBUTE","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_RECOVER","KW_DUMP","KW_ELEM_TYPE","KW_ELSE","KW_ENABLE","KW_ENABLED","KW_END","KW_ENFORCED","KW_ESCAPED","KW_EVERY","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXECUTE","KW_EXECUTED","KW_EXISTS","KW_EXPIRE_SNAPSHOTS","KW_EXPLAIN","KW_EXPORT","KW_EXPRESSION","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILE","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FLOOR","KW_FOLLOWING","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_HOLD_DDLTIME","KW_HOUR","KW_HOURS","KW_IDXPROPERTIES","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTDRIVER","KW_INPUTFORMAT","KW_INSERT","KW_INT","KW_INTEGER","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_IS","KW_ISOLATION","KW_ITEMS","KW_JAR","KW_JOIN","KW_JOINCOST","KW_KEY","KW_KEYS","KW_KEY_TYPE","KW_KILL","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEFT","KW_LESS","KW_LEVEL","KW_LIFECYCLE","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MANAGED","KW_MANAGEDLOCATION","KW_MANAGEMENT","KW_MAP","KW_MAPJOIN","KW_MAPPING","KW_MATCHED","KW_MATERIALIZED","KW_MERGE","KW_METADATA","KW_MINUS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MORE","KW_MOVE","KW_MSCK","KW_NONE","KW_NORELY","KW_NOSCAN","KW_NOT","KW_NOVALIDATE","KW_NO_DROP","KW_NULL","KW_NULLS","KW_OF","KW_OFFLINE","KW_OFFSET","KW_ON","KW_ONLY","KW_OPERATOR","KW_OPTION","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTDRIVER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERWRITE","KW_OWNER","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PATH","KW_PERCENT","KW_PKFK_JOIN","KW_PLAN","KW_PLANS","KW_PLUS","KW_POOL","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRESERVE","KW_PRIMARY","KW_PRINCIPALS","KW_PROCEDURE","KW_PROTECTION","KW_PURGE","KW_QUALIFY","KW_QUARTER","KW_QUERY","KW_QUERY_PARALLELISM","KW_RANGE","KW_READ","KW_READONLY","KW_READS","KW_REAL","KW_REBUILD","KW_RECORDREADER","KW_RECORDWRITER","KW_REDUCE","KW_REFERENCES","KW_REGEXP","KW_RELOAD","KW_RELY","KW_REMOTE","KW_RENAME","KW_REOPTIMIZATION","KW_REPAIR","KW_REPL","KW_REPLACE","KW_REPLICATION","KW_RESOURCE","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_REWRITE","KW_RIGHT","KW_RLIKE","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SCHEDULED","KW_SCHEDULING_POLICY","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SEMI","KW_SERDE","KW_SERDEPROPERTIES","KW_SERVER","KW_SET","KW_SETS","KW_SET_CURRENT_SNAPSHOT","KW_SHARED","KW_SHOW","KW_SHOW_DATABASE","KW_SKEWED","KW_SMALLINT","KW_SNAPSHOT","KW_SOME","KW_SORT","KW_SORTED","KW_SPEC","KW_SSL","KW_START","KW_STATISTICS","KW_STATUS","KW_STORED","KW_STREAMTABLE","KW_STRING","KW_STRUCT","KW_SUMMARY","KW_SYNC","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMESTAMP","KW_TIMESTAMPLOCALTZ","KW_TIMESTAMPTZ","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIGGER","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNDO","KW_UNION","KW_UNIONTYPE","KW_UNIQUE","KW_UNIQUEJOIN","KW_UNKNOWN","KW_UNLOCK","KW_UNMANAGED","KW_UNSET","KW_UNSIGNED","KW_UPDATE","KW_URI","KW_URL","KW_USE","KW_USER","KW_USING","KW_UTC","KW_UTCTIMESTAMP","KW_VALIDATE","KW_VALUES","KW_VALUE_TYPE","KW_VARCHAR","KW_VECTORIZATION","KW_VIEW","KW_VIEWS","KW_WAIT","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WORK","KW_WORKLOAD","KW_WRITE","KW_YEAR","KW_YEARS","KW_ZONE","DOT","COLON","COMMA","SEMICOLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","EQUAL","EQUAL_NS","NOTEQUAL","LESSTHANOREQUALTO","LESSTHAN","GREATERTHANOREQUALTO","GREATERTHAN","DIVIDE","PLUS","MINUS","STAR","MOD","DIV","BITWISENOT","AMPERSAND","TILDE","BITWISEOR","CONCATENATE","BITWISEXOR","QUESTION","DOLLAR","StringLiteral","CharSetLiteral","IntegralLiteral","NumberLiteral","ByteLengthLiteral","Number","Identifier","CharSetName","WHITE_SPACE","LINE_COMMENT","QUERY_HINT","SHOW_HINT","HIDDEN_HINT"],e.ruleNames=["program","statement","explainStatement","explainOption","vectorizatonDetail","execStatement","loadStatement","replicationClause","exportStatement","importStatement","replDumpStatement","replDbPolicy","replLoadStatement","replTableLevelPolicy","ddlStatement","ifExists","ifNotExists","restrictOrCascade","rewriteEnabled","rewriteDisabled","storedAsDirs","createDatabaseStatement","dbConnectorName","switchDatabaseStatement","dropDatabaseStatement","databaseComment","truncateTableStatement","dropTableStatement","inputFileFormat","tabTypeExpr","partTypeExpr","tabPartColTypeExpr","descStatement","analyzeStatement","from_in","db_schema","showStatement","showTablesFilterExpr","lockStatement","lockDatabase","lockMode","unlockStatement","unlockDatabase","createRoleStatement","dropRoleStatement","grantPrivileges","revokePrivileges","grantRole","revokeRole","showRoleGrants","showRoles","showCurrentRole","setRole","showGrants","showRolePrincipals","privilegeIncludeColObject","privilegeObject","privObject","privObjectCols","privilegeList","privlegeDef","privilegeType","principalSpecification","principalName","principalAlterName","withGrantOption","grantOptionFor","adminOptionFor","withAdminOption","metastoreCheck","resourceList","resource","resourceType","createFunctionStatement","dropFunctionStatement","reloadFunctionsStatement","createMacroStatement","dropMacroStatement","createIndexStatement","dropIndexStatement","createViewStatement","viewPartition","viewOrganization","viewClusterSpec","viewComplexSpec","viewDistSpec","viewSortSpec","dropViewStatement","createMaterializedViewStatement","dropMaterializedViewStatement","createScheduledQueryStatement","dropScheduledQueryStatement","alterScheduledQueryStatement","alterScheduledQueryChange","scheduleSpec","executedAsSpec","definedAsSpec","showStmtIdentifier","tableComment","tableLifecycle","createTablePartitionSpec","createTablePartitionColumnTypeSpec","partitionTransformSpec","partitionTransformType","tableBuckets","tableSkewed","rowFormat","recordReader","recordWriter","rowFormatSerde","rowFormatDelimited","tableRowFormat","tablePropertiesPrefixed","tableProperties","tablePropertiesList","keyValueProperties","keyValuePropertyList","keyValueProperty","tableRowFormatFieldIdentifier","tableRowFormatCollItemsIdentifier","tableRowFormatMapKeysIdentifier","tableRowFormatLinesIdentifier","tableRowNullFormat","tableFileFormat","columnNameTypeList","columnNameTypeOrConstraintList","columnNameColonTypeList","columnNameList","columnName","columnNameCreate","extColumnName","columnNameOrderList","columnParenthesesList","enableValidateSpecification","enableSpecification","validateSpecification","enforcedSpecification","relySpecification","createConstraint","alterConstraintWithName","tableLevelConstraint","pkUkConstraint","checkConstraint","createForeignKey","alterForeignKeyWithName","skewedValueElement","skewedColumnValuePairList","skewedColumnValuePair","constantList","orderSpecification","nullOrdering","columnNameOrder","columnNameCommentList","columnNameComment","columnRefOrder","columnNameType","columnNameTypeOrConstraint","tableConstraint","columnNameTypeConstraint","columnConstraint","foreignKeyConstraint","colConstraint","alterColumnConstraint","alterForeignKeyConstraint","alterColConstraint","columnConstraintType","defaultVal","tableConstraintType","constraintOptsCreate","constraintOptsAlter","columnNameColonType","columnType","columnTypeList","type","primitiveType","listType","structType","mapType","unionType","setOperator","queryStatementExpression","queryStatementExpressionBody","withClause","cteStatement","fromStatement","singleFromStatement","regularBody","atomSelectStatement","selectStatement","setOpSelectStatement","selectStatementWithCTE","insertClause","destination","limitClause","columnAssignmentClause","precedencePlusExpressionOrDefault","setColumnsClause","sqlTransactionStatement","transactionMode","whenClauses","whenNotMatchedClause","whenMatchedAndClause","whenMatchedThenClause","compactionPool","compactionType","compactionStatus","alterStatement","alterTableStatementSuffix","alterTblPartitionStatementSuffix","alterViewStatementSuffix","alterDatabaseStatementSuffix","alterDataConnectorStatementSuffix","locationPath","alterStatementSuffixDropPartitions","skewedLocationMap","alterStatementSuffixExecute","fileFormat","likeTableOrFile","createTableStatement","createDataConnectorStatement","dropDataConnectorStatement","tableAllColumns","expressionList","aliasList","fromClause","fromSource","atomjoinSource","joinSource","joinSourcePart","uniqueJoinSource","joinToken","lateralView","tableAlias","tableSample","tableSource","asOfClause","dbSchemaName","dbSchemaNameCreate","tableOrView","tableName","tableNameCreate","viewName","viewNameCreate","subQuerySource","partitioningSpec","partitionTableFunctionSource","partitionedTableFunction","whereClause","valuesClause","virtualTableSource","selectClause","selectTrfmClause","selectItem","trfmClause","selectExpression","selectExpressionList","window_clause","window_specification","window_frame","window_frame_boundary","groupByClause","rollupStandard","rollupOldSyntax","groupingSetExpression","havingClause","qualifyClause","expressionOrDefault","firstExpressionsWithAlias","expressions","expressionsInParenthesis","expressionsNotInParenthesis","orderByClause","clusterByClause","distributeByClause","sortByClause","function_","null_treatment","functionNameCreate","functionNameForDDL","functionNameForInvoke","castExpression","caseExpression","whenExpression","floorExpression","extractExpression","timeQualifiers","constant","intervalValue","intervalExpression","intervalQualifiers","expression","atomExpression","precedenceUnaryPrefixExpression","precedenceBitwiseXorExpression","precedenceStarExpression","precedencePlusExpression","precedenceConcatenateExpression","precedenceAmpersandExpression","precedenceBitwiseOrExpression","precedenceSimilarOperator","subQueryExpression","precedenceSimilarExpression","precedenceSimilarExpressionPart","precedenceSimilarExpressionAtom","precedenceSimilarExpressionIn","precedenceSimilarExpressionPartNot","precedenceDistinctOperator","precedenceEqualOperator","precedenceEqualExpression","isCondition","precedenceNotExpression","precedenceAndExpression","tableOrPartition","partitionSpec","partitionVal","partitionSelectorSpec","partitionSelectorVal","subQuerySelectorOperator","sysFuncNames","id_","functionIdentifier","principalIdentifier","nonReserved","sql11ReservedKeywordsUsedAsFunctionName","configPropertiesItem","resourcePlanDdlStatements","mappingTypes","rpAssign","rpAssignList","rpUnassign","activate","enable","disable","year","month","week","day","hour","minute","second","decimal","poolPath","triggerAtomExpression","triggerActionExpression","poolAssign","poolAssignList"],e._serializedATN=[4,1,438,4800,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,1,0,5,0,694,8,0,10,0,12,0,697,9,0,1,0,1,0,1,1,1,1,3,1,703,8,1,1,1,3,1,706,8,1,1,2,1,2,5,2,710,8,2,10,2,12,2,713,9,2,1,2,1,2,1,2,3,2,718,8,2,1,3,1,3,1,3,1,3,1,3,3,3,725,8,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,735,8,3,1,3,3,3,738,8,3,1,3,1,3,3,3,742,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,757,8,5,1,5,1,5,1,5,1,5,1,5,3,5,764,8,5,1,5,1,5,1,5,1,5,3,5,770,8,5,1,5,1,5,1,5,3,5,775,8,5,1,5,1,5,1,5,3,5,780,8,5,1,5,3,5,783,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,805,8,5,10,5,12,5,808,9,5,1,5,1,5,5,5,812,8,5,10,5,12,5,815,9,5,3,5,817,8,5,1,6,1,6,1,6,3,6,822,8,6,1,6,1,6,1,6,3,6,827,8,6,1,6,1,6,1,6,1,6,3,6,833,8,6,1,7,1,7,3,7,837,8,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,3,8,850,8,8,1,9,1,9,3,9,854,8,9,1,9,1,9,3,9,858,8,9,1,9,1,9,1,9,3,9,863,8,9,1,10,1,10,1,10,1,10,1,10,3,10,870,8,10,1,10,1,10,3,10,874,8,10,1,11,1,11,1,11,3,11,879,8,11,1,12,1,12,1,12,1,12,1,12,3,12,886,8,12,1,12,1,12,3,12,890,8,12,1,13,1,13,1,13,3,13,895,8,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,4,14,941,8,14,11,14,12,14,942,1,14,1,14,1,14,4,14,948,8,14,11,14,12,14,949,1,14,1,14,1,14,3,14,955,8,14,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,3,21,978,8,21,1,21,1,21,3,21,982,8,21,1,21,1,21,3,21,986,8,21,1,21,3,21,989,8,21,1,21,1,21,3,21,993,8,21,1,21,1,21,1,21,3,21,998,8,21,1,21,1,21,1,21,1,21,3,21,1004,8,21,1,21,1,21,3,21,1008,8,21,1,21,1,21,1,21,1,21,3,21,1014,8,21,3,21,1016,8,21,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,3,24,1027,8,24,1,24,1,24,3,24,1031,8,24,1,25,1,25,1,25,1,26,1,26,3,26,1038,8,26,1,26,1,26,1,26,1,26,1,26,1,26,3,26,1046,8,26,1,26,3,26,1049,8,26,1,27,1,27,1,27,3,27,1054,8,27,1,27,1,27,3,27,1058,8,27,1,27,3,27,1061,8,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,3,29,1071,8,29,1,29,1,29,1,29,1,29,1,29,1,29,3,29,1079,8,29,5,29,1081,8,29,10,29,12,29,1084,9,29,3,29,1086,8,29,1,30,1,30,3,30,1090,8,30,1,31,1,31,3,31,1094,8,31,1,31,3,31,1097,8,31,1,32,1,32,1,32,3,32,1102,8,32,1,32,1,32,1,32,1,32,3,32,1108,8,32,1,32,1,32,1,32,3,32,1113,8,32,1,32,1,32,1,32,3,32,1118,8,32,1,32,1,32,3,32,1122,8,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,1133,8,33,3,33,1135,8,33,1,33,1,33,3,33,1139,8,33,1,34,1,34,1,35,1,35,1,36,1,36,1,36,1,36,3,36,1149,8,36,1,36,1,36,3,36,1153,8,36,1,36,1,36,1,36,1,36,3,36,1159,8,36,1,36,3,36,1162,8,36,1,36,1,36,1,36,1,36,1,36,3,36,1169,8,36,1,36,1,36,1,36,3,36,1174,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1182,8,36,1,36,1,36,1,36,3,36,1187,8,36,1,36,1,36,3,36,1191,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1199,8,36,1,36,1,36,1,36,3,36,1204,8,36,1,36,1,36,1,36,1,36,3,36,1210,8,36,1,36,1,36,1,36,1,36,3,36,1216,8,36,1,36,3,36,1219,8,36,1,36,3,36,1222,8,36,1,36,3,36,1225,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1234,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1242,8,36,1,36,1,36,1,36,3,36,1247,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1255,8,36,1,36,1,36,1,36,1,36,1,36,3,36,1262,8,36,1,36,3,36,1265,8,36,1,36,3,36,1268,8,36,3,36,1270,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1281,8,36,3,36,1283,8,36,1,36,3,36,1286,8,36,1,36,3,36,1289,8,36,1,36,3,36,1292,8,36,1,36,3,36,1295,8,36,1,36,3,36,1298,8,36,3,36,1300,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1312,8,36,1,36,1,36,1,36,1,36,3,36,1318,8,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1326,8,36,3,36,1328,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,1338,8,37,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,3,45,1371,8,45,1,45,1,45,1,45,3,45,1376,8,45,1,46,1,46,3,46,1380,8,46,1,46,1,46,3,46,1384,8,46,1,46,1,46,1,46,1,47,1,47,3,47,1391,8,47,1,47,1,47,1,47,5,47,1396,8,47,10,47,12,47,1399,9,47,1,47,1,47,1,47,3,47,1404,8,47,1,48,1,48,3,48,1408,8,48,1,48,3,48,1411,8,48,1,48,1,48,1,48,5,48,1416,8,48,10,48,12,48,1419,9,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,3,52,1441,8,52,1,53,1,53,1,53,3,53,1446,8,53,1,53,1,53,3,53,1450,8,53,1,54,1,54,1,54,1,54,1,55,1,55,3,55,1458,8,55,1,56,1,56,1,56,1,57,1,57,1,57,1,57,3,57,1467,8,57,1,57,1,57,1,57,1,57,1,57,3,57,1474,8,57,1,58,1,58,1,58,1,58,3,58,1480,8,58,1,58,1,58,1,58,1,58,1,58,3,58,1487,8,58,1,58,3,58,1490,8,58,1,58,1,58,1,58,1,58,3,58,1496,8,58,1,59,1,59,1,59,5,59,1501,8,59,10,59,12,59,1504,9,59,1,60,1,60,1,60,1,60,1,60,3,60,1511,8,60,1,61,1,61,1,62,1,62,1,62,5,62,1518,8,62,10,62,12,62,1521,9,62,1,63,1,63,1,63,1,63,1,63,1,63,3,63,1529,8,63,1,64,1,64,1,64,1,64,1,64,3,64,1536,8,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,69,1,69,3,69,1556,8,69,1,69,1,69,1,69,1,69,1,69,3,69,1563,8,69,3,69,1565,8,69,1,70,1,70,1,70,5,70,1570,8,70,10,70,12,70,1573,9,70,1,71,1,71,1,71,1,72,1,72,1,73,1,73,3,73,1582,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,1590,8,73,1,74,1,74,3,74,1594,8,74,1,74,1,74,3,74,1598,8,74,1,74,1,74,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,3,76,1611,8,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,3,77,1620,8,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,3,78,1636,8,78,1,78,1,78,3,78,1640,8,78,1,78,1,78,1,78,3,78,1645,8,78,1,78,1,78,1,78,3,78,1650,8,78,1,78,3,78,1653,8,78,1,78,3,78,1656,8,78,1,78,3,78,1659,8,78,1,78,3,78,1662,8,78,1,78,3,78,1665,8,78,1,79,1,79,1,79,3,79,1670,8,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,3,80,1679,8,80,1,80,1,80,3,80,1683,8,80,1,80,1,80,1,80,1,80,1,80,3,80,1690,8,80,1,80,3,80,1693,8,80,1,80,3,80,1696,8,80,1,80,3,80,1699,8,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,3,81,1711,8,81,1,81,1,81,1,82,1,82,3,82,1717,8,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,3,87,1743,8,87,1,87,1,87,1,88,1,88,1,88,1,88,3,88,1751,8,88,1,88,1,88,3,88,1755,8,88,1,88,3,88,1758,8,88,1,88,3,88,1761,8,88,1,88,3,88,1764,8,88,1,88,3,88,1767,8,88,1,88,3,88,1770,8,88,1,88,3,88,1773,8,88,1,88,3,88,1776,8,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,3,89,1785,8,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,3,90,1795,8,90,1,90,3,90,1798,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,3,93,1818,8,93,1,94,1,94,1,94,1,94,3,94,1824,8,94,1,94,1,94,1,94,1,94,3,94,1830,8,94,1,94,3,94,1833,8,94,3,94,1835,8,94,1,95,1,95,1,95,1,95,1,96,3,96,1842,8,96,1,96,1,96,1,96,1,97,1,97,3,97,1849,8,97,1,98,1,98,1,98,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,3,100,1862,8,100,1,100,1,100,1,100,3,100,1867,8,100,1,100,1,100,1,101,1,101,1,101,5,101,1874,8,101,10,101,12,101,1877,9,101,1,102,1,102,1,102,5,102,1882,8,102,10,102,12,102,1885,9,102,1,103,1,103,1,103,1,103,1,103,3,103,1892,8,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,3,103,1905,8,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,3,104,1918,8,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,1934,8,105,1,106,1,106,3,106,1938,8,106,1,107,1,107,1,107,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,3,109,1953,8,109,1,110,1,110,1,110,1,110,3,110,1959,8,110,1,110,3,110,1962,8,110,1,110,3,110,1965,8,110,1,110,3,110,1968,8,110,1,110,3,110,1971,8,110,1,111,1,111,3,111,1975,8,111,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,5,114,1988,8,114,10,114,12,114,1991,9,114,3,114,1993,8,114,1,115,1,115,1,115,1,115,1,116,1,116,1,116,5,116,2002,8,116,10,116,12,116,2005,9,116,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,2018,8,118,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,2052,8,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,2060,8,123,1,123,1,123,1,123,3,123,2065,8,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,2073,8,123,1,123,1,123,1,123,3,123,2078,8,123,1,123,1,123,1,123,3,123,2083,8,123,1,124,1,124,1,124,5,124,2088,8,124,10,124,12,124,2091,9,124,1,125,1,125,1,125,5,125,2096,8,125,10,125,12,125,2099,9,125,1,126,1,126,1,126,5,126,2104,8,126,10,126,12,126,2107,9,126,1,127,1,127,1,127,5,127,2112,8,127,10,127,12,127,2115,9,127,1,128,1,128,3,128,2119,8,128,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,3,130,2129,8,130,5,130,2131,8,130,10,130,12,130,2134,9,130,1,131,1,131,1,131,5,131,2139,8,131,10,131,12,131,2142,9,131,1,132,1,132,1,132,1,132,1,133,1,133,3,133,2150,8,133,1,133,3,133,2153,8,133,1,134,1,134,3,134,2157,8,134,1,135,1,135,1,136,1,136,1,136,3,136,2164,8,136,1,137,1,137,1,138,1,138,3,138,2170,8,138,1,138,1,138,3,138,2174,8,138,1,139,1,139,1,139,1,139,3,139,2180,8,139,1,140,1,140,3,140,2184,8,140,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,3,143,2196,8,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,2205,8,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,3,144,2216,8,144,1,145,1,145,3,145,2220,8,145,1,146,1,146,1,146,5,146,2225,8,146,10,146,12,146,2228,9,146,1,147,1,147,1,147,1,147,1,148,1,148,1,148,5,148,2237,8,148,10,148,12,148,2240,9,148,1,149,1,149,1,150,1,150,1,150,1,151,1,151,3,151,2249,8,151,1,151,3,151,2252,8,151,1,152,1,152,1,152,5,152,2257,8,152,10,152,12,152,2260,9,152,1,153,1,153,1,153,3,153,2265,8,153,1,154,1,154,3,154,2269,8,154,1,154,3,154,2272,8,154,1,154,3,154,2275,8,154,1,155,1,155,1,155,1,155,3,155,2281,8,155,1,156,1,156,3,156,2285,8,156,1,157,1,157,3,157,2289,8,157,1,158,1,158,1,158,3,158,2294,8,158,1,158,1,158,3,158,2298,8,158,1,159,1,159,3,159,2302,8,159,1,160,1,160,3,160,2306,8,160,1,160,1,160,1,160,1,160,1,160,1,160,3,160,2314,8,160,1,161,1,161,3,161,2318,8,161,1,161,1,161,3,161,2322,8,161,1,162,1,162,3,162,2326,8,162,1,163,1,163,3,163,2330,8,163,1,163,1,163,1,163,1,163,1,163,1,163,3,163,2338,8,163,1,164,1,164,3,164,2342,8,164,1,164,1,164,3,164,2346,8,164,1,165,1,165,1,165,1,165,1,165,1,165,3,165,2354,8,165,1,166,1,166,1,166,3,166,2359,8,166,1,167,1,167,1,167,3,167,2364,8,167,1,168,1,168,3,168,2368,8,168,1,169,1,169,3,169,2372,8,169,1,170,1,170,1,170,1,170,1,170,3,170,2379,8,170,1,171,1,171,1,172,1,172,1,172,5,172,2386,8,172,10,172,12,172,2389,9,172,1,173,1,173,1,173,1,173,1,173,3,173,2396,8,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2408,8,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2426,8,174,1,174,3,174,2429,8,174,1,174,1,174,1,174,1,174,3,174,2435,8,174,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,3,179,2461,8,179,1,180,3,180,2464,8,180,1,180,1,180,1,181,1,181,3,181,2470,8,181,1,182,1,182,1,182,1,182,5,182,2476,8,182,10,182,12,182,2479,9,182,1,183,1,183,1,183,1,183,1,183,3,183,2486,8,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,5,184,2497,8,184,10,184,12,184,2500,9,184,1,185,1,185,1,185,1,185,3,185,2506,8,185,1,185,3,185,2509,8,185,1,185,3,185,2512,8,185,1,185,3,185,2515,8,185,1,185,3,185,2518,8,185,1,185,3,185,2521,8,185,1,185,3,185,2524,8,185,1,185,3,185,2527,8,185,1,185,3,185,2530,8,185,1,185,3,185,2533,8,185,1,185,3,185,2536,8,185,1,185,1,185,1,185,3,185,2541,8,185,1,185,3,185,2544,8,185,1,185,3,185,2547,8,185,1,185,3,185,2550,8,185,1,185,3,185,2553,8,185,1,185,3,185,2556,8,185,1,185,3,185,2559,8,185,1,185,3,185,2562,8,185,1,185,3,185,2565,8,185,1,185,3,185,2568,8,185,1,185,3,185,2571,8,185,3,185,2573,8,185,1,186,1,186,1,186,1,186,3,186,2579,8,186,1,187,1,187,3,187,2583,8,187,1,187,3,187,2586,8,187,1,187,3,187,2589,8,187,1,187,3,187,2592,8,187,1,187,3,187,2595,8,187,1,187,3,187,2598,8,187,1,187,1,187,1,187,1,187,1,187,3,187,2605,8,187,1,188,1,188,3,188,2609,8,188,1,188,3,188,2612,8,188,1,188,3,188,2615,8,188,1,188,3,188,2618,8,188,1,188,3,188,2621,8,188,1,188,3,188,2624,8,188,1,189,1,189,1,189,4,189,2629,8,189,11,189,12,189,2630,1,190,3,190,2634,8,190,1,190,1,190,1,191,1,191,1,191,1,191,3,191,2642,8,191,1,191,1,191,3,191,2646,8,191,1,191,1,191,1,191,1,191,1,191,3,191,2653,8,191,3,191,2655,8,191,1,192,3,192,2658,8,192,1,192,1,192,1,192,3,192,2663,8,192,1,192,3,192,2666,8,192,1,192,1,192,3,192,2670,8,192,1,193,1,193,1,193,3,193,2675,8,193,1,193,1,193,1,193,1,193,3,193,2681,8,193,1,194,1,194,1,194,1,194,1,195,1,195,3,195,2689,8,195,1,196,1,196,1,196,1,196,5,196,2695,8,196,10,196,12,196,2698,9,196,1,197,1,197,1,197,1,197,1,197,5,197,2705,8,197,10,197,12,197,2708,9,197,3,197,2710,8,197,1,197,1,197,3,197,2714,8,197,1,197,1,197,3,197,2718,8,197,1,197,1,197,1,197,3,197,2723,8,197,1,198,1,198,1,198,1,198,1,198,3,198,2730,8,198,1,199,1,199,5,199,2734,8,199,10,199,12,199,2737,9,199,1,199,3,199,2740,8,199,1,200,1,200,1,200,1,200,1,200,3,200,2747,8,200,1,200,1,200,1,200,3,200,2752,8,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,3,201,2765,8,201,1,202,1,202,1,202,1,202,1,202,1,202,3,202,2773,8,202,1,203,1,203,1,203,1,204,1,204,1,204,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,2792,8,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,2802,8,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,2815,8,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2825,8,207,1,207,1,207,3,207,2829,8,207,4,207,2831,8,207,11,207,12,207,2832,1,207,1,207,5,207,2837,8,207,10,207,12,207,2840,9,207,1,207,1,207,5,207,2844,8,207,10,207,12,207,2847,9,207,1,207,1,207,5,207,2851,8,207,10,207,12,207,2854,9,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2862,8,207,1,207,1,207,1,207,1,207,1,207,3,207,2869,8,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2889,8,207,1,207,3,207,2892,8,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,2906,8,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,2921,8,208,1,208,1,208,3,208,2925,8,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,5,208,2943,8,208,10,208,12,208,2946,9,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,2957,8,208,1,208,1,208,1,208,1,208,3,208,2963,8,208,1,208,3,208,2966,8,208,1,208,3,208,2969,8,208,1,208,1,208,1,208,1,208,3,208,2975,8,208,1,208,1,208,1,208,1,208,3,208,2981,8,208,1,208,1,208,1,208,1,208,1,208,3,208,2988,8,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,2996,8,208,1,208,1,208,1,208,1,208,3,208,3002,8,208,1,208,1,208,3,208,3006,8,208,1,208,1,208,1,208,3,208,3011,8,208,1,208,3,208,3014,8,208,1,208,1,208,3,208,3018,8,208,1,208,1,208,1,208,1,208,1,208,3,208,3025,8,208,1,208,1,208,1,208,3,208,3030,8,208,1,208,1,208,1,208,3,208,3035,8,208,1,208,3,208,3038,8,208,3,208,3040,8,208,1,209,1,209,1,209,1,209,1,209,1,209,3,209,3048,8,209,1,209,1,209,1,209,1,209,1,209,1,209,3,209,3056,8,209,1,209,1,209,3,209,3060,8,209,4,209,3062,8,209,11,209,12,209,3063,1,209,1,209,3,209,3068,8,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,3,210,3085,8,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,3,211,3102,8,211,1,212,1,212,1,212,1,213,1,213,3,213,3109,8,213,1,213,1,213,1,213,1,213,1,213,5,213,3116,8,213,10,213,12,213,3119,9,213,1,213,1,213,3,213,3123,8,213,1,213,3,213,3126,8,213,1,213,3,213,3129,8,213,1,214,1,214,3,214,3133,8,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,3,215,3148,8,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,3162,8,216,1,216,3,216,3165,8,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,3,217,3176,8,217,1,218,1,218,3,218,3180,8,218,1,218,3,218,3183,8,218,1,218,3,218,3186,8,218,1,218,1,218,3,218,3190,8,218,1,218,1,218,1,218,3,218,3195,8,218,1,218,3,218,3198,8,218,1,218,3,218,3201,8,218,1,218,3,218,3204,8,218,1,218,3,218,3207,8,218,1,218,3,218,3210,8,218,1,218,1,218,1,218,1,218,3,218,3216,8,218,1,218,3,218,3219,8,218,1,218,3,218,3222,8,218,1,218,3,218,3225,8,218,1,218,3,218,3228,8,218,1,218,3,218,3231,8,218,1,218,3,218,3234,8,218,1,218,3,218,3237,8,218,1,218,3,218,3240,8,218,1,218,3,218,3243,8,218,1,218,1,218,3,218,3247,8,218,3,218,3249,8,218,1,218,1,218,1,218,1,218,3,218,3255,8,218,1,218,1,218,1,218,3,218,3260,8,218,1,218,3,218,3263,8,218,1,218,3,218,3266,8,218,1,218,3,218,3269,8,218,1,218,3,218,3272,8,218,1,218,1,218,1,218,1,218,3,218,3278,8,218,1,218,3,218,3281,8,218,1,218,3,218,3284,8,218,1,218,3,218,3287,8,218,1,218,3,218,3290,8,218,1,218,3,218,3293,8,218,1,218,3,218,3296,8,218,1,218,3,218,3299,8,218,1,218,3,218,3302,8,218,1,218,3,218,3305,8,218,1,218,1,218,3,218,3309,8,218,3,218,3311,8,218,3,218,3313,8,218,1,219,1,219,1,219,3,219,3318,8,219,1,219,1,219,1,219,3,219,3323,8,219,1,219,1,219,3,219,3327,8,219,1,219,1,219,3,219,3331,8,219,1,219,1,219,1,219,3,219,3336,8,219,1,220,1,220,1,220,3,220,3341,8,220,1,220,1,220,1,221,1,221,1,221,5,221,3348,8,221,10,221,12,221,3351,9,221,1,221,1,221,1,222,1,222,1,222,5,222,3358,8,222,10,222,12,222,3361,9,222,1,223,1,223,1,223,5,223,3366,8,223,10,223,12,223,3369,9,223,1,224,1,224,1,224,1,225,1,225,1,225,1,225,4,225,3378,8,225,11,225,12,225,3379,1,225,3,225,3383,8,225,1,226,1,226,5,226,3387,8,226,10,226,12,226,3390,9,226,1,226,1,226,5,226,3394,8,226,10,226,12,226,3397,9,226,1,226,1,226,5,226,3401,8,226,10,226,12,226,3404,9,226,1,226,1,226,5,226,3408,8,226,10,226,12,226,3411,9,226,1,226,1,226,1,226,1,226,3,226,3417,8,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,3,227,3426,8,227,5,227,3428,8,227,10,227,12,227,3431,9,227,1,228,1,228,1,228,1,228,3,228,3437,8,228,1,228,5,228,3440,8,228,10,228,12,228,3443,9,228,1,229,3,229,3446,8,229,1,229,1,229,3,229,3450,8,229,1,229,3,229,3453,8,229,1,229,3,229,3456,8,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,3,230,3467,8,230,1,230,1,230,3,230,3471,8,230,3,230,3473,8,230,1,230,3,230,3476,8,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,5,231,3487,8,231,10,231,12,231,3490,9,231,3,231,3492,8,231,1,231,3,231,3495,8,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,5,231,3505,8,231,10,231,12,231,3508,9,231,3,231,3510,8,231,1,231,1,231,1,231,1,231,1,231,3,231,3517,8,231,1,231,1,231,1,231,1,231,1,231,5,231,3524,8,231,10,231,12,231,3527,9,231,1,231,1,231,3,231,3531,8,231,3,231,3533,8,231,3,231,3535,8,231,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,5,233,3550,8,233,10,233,12,233,3553,9,233,3,233,3555,8,233,1,233,1,233,1,233,1,233,1,233,1,233,3,233,3563,8,233,1,233,3,233,3566,8,233,1,234,1,234,3,234,3570,8,234,1,234,3,234,3573,8,234,1,234,3,234,3576,8,234,1,234,3,234,3579,8,234,1,234,3,234,3582,8,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,3,235,3594,8,235,1,236,1,236,1,237,1,237,1,238,1,238,3,238,3602,8,238,1,239,1,239,1,239,1,239,1,239,3,239,3609,8,239,1,239,3,239,3612,8,239,1,240,1,240,1,240,1,240,1,240,3,240,3619,8,240,1,240,3,240,3622,8,240,1,241,1,241,1,241,3,241,3627,8,241,1,241,1,241,1,242,1,242,1,242,3,242,3634,8,242,1,242,1,242,1,243,1,243,1,243,1,243,3,243,3642,8,243,1,243,1,243,1,244,1,244,1,244,1,244,3,244,3650,8,244,1,244,1,244,1,244,3,244,3655,8,244,1,244,1,244,3,244,3659,8,244,1,245,1,245,1,245,3,245,3664,8,245,1,246,1,246,1,246,1,246,1,246,3,246,3671,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,5,246,3683,8,246,10,246,12,246,3686,9,246,3,246,3688,8,246,1,246,1,246,3,246,3692,8,246,1,247,1,247,1,247,1,248,1,248,1,248,1,248,5,248,3701,8,248,10,248,12,248,3704,9,248,1,248,1,248,1,248,1,248,1,248,5,248,3711,8,248,10,248,12,248,3714,9,248,3,248,3716,8,248,1,249,1,249,1,249,1,249,1,249,3,249,3723,8,249,1,249,1,249,1,249,1,249,1,249,5,249,3730,8,249,10,249,12,249,3733,9,249,3,249,3735,8,249,1,249,1,249,1,250,1,250,3,250,3741,8,250,1,250,3,250,3744,8,250,1,250,1,250,1,250,5,250,3749,8,250,10,250,12,250,3752,9,250,1,250,1,250,3,250,3756,8,250,1,250,3,250,3759,8,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,3,251,3772,8,251,1,251,1,251,1,251,1,251,3,251,3778,8,251,3,251,3780,8,251,1,251,1,251,1,251,1,252,1,252,1,252,3,252,3788,8,252,1,252,3,252,3791,8,252,1,252,1,252,1,252,1,252,1,252,1,252,5,252,3799,8,252,10,252,12,252,3802,9,252,1,252,1,252,3,252,3806,8,252,3,252,3808,8,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,3,253,3820,8,253,1,253,1,253,1,253,1,253,3,253,3826,8,253,3,253,3828,8,253,1,253,1,253,1,253,1,254,1,254,3,254,3835,8,254,1,255,1,255,1,255,5,255,3840,8,255,10,255,12,255,3843,9,255,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,5,256,3854,8,256,10,256,12,256,3857,9,256,1,257,1,257,1,257,3,257,3862,8,257,1,257,3,257,3865,8,257,1,257,3,257,3868,8,257,1,257,3,257,3871,8,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,3,258,3880,8,258,1,258,1,258,1,258,1,258,1,258,3,258,3887,8,258,1,259,1,259,1,259,1,259,3,259,3893,8,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,3,260,3902,8,260,1,261,1,261,3,261,3906,8,261,1,261,1,261,1,261,1,261,5,261,3912,8,261,10,261,12,261,3915,9,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,3,262,3924,8,262,1,262,1,262,1,262,1,262,1,262,1,262,5,262,3932,8,262,10,262,12,262,3935,9,262,1,262,1,262,3,262,3939,8,262,1,263,1,263,3,263,3943,8,263,1,263,1,263,5,263,3947,8,263,10,263,12,263,3950,9,263,1,263,1,263,3,263,3954,8,263,1,264,1,264,1,264,1,265,1,265,1,265,1,266,1,266,3,266,3964,8,266,1,267,1,267,3,267,3968,8,267,1,267,3,267,3971,8,267,1,267,1,267,1,267,3,267,3976,8,267,1,267,3,267,3979,8,267,5,267,3981,8,267,10,267,12,267,3984,9,267,1,268,1,268,3,268,3988,8,268,1,269,1,269,1,269,1,269,1,270,1,270,1,270,4,270,3997,8,270,11,270,12,270,3998,3,270,4001,8,270,1,271,1,271,1,271,1,271,1,271,5,271,4008,8,271,10,271,12,271,4011,9,271,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,5,274,4027,8,274,10,274,12,274,4030,9,274,1,274,1,274,1,274,1,274,1,274,5,274,4037,8,274,10,274,12,274,4040,9,274,3,274,4042,8,274,1,275,1,275,1,275,1,275,1,275,3,275,4049,8,275,1,275,3,275,4052,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,4062,8,275,1,275,1,275,1,275,5,275,4067,8,275,10,275,12,275,4070,9,275,3,275,4072,8,275,3,275,4074,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,4085,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,4095,8,275,3,275,4097,8,275,1,276,1,276,1,276,1,277,1,277,1,278,1,278,3,278,4106,8,278,1,279,1,279,1,279,3,279,4111,8,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,3,280,4120,8,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,4,281,4131,8,281,11,281,12,281,4132,1,281,1,281,3,281,4137,8,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,4,282,4147,8,282,11,282,12,282,4148,1,282,1,282,3,282,4153,8,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,3,283,4162,8,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,3,285,4181,8,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,5,286,4197,8,286,10,286,12,286,4200,9,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,4211,8,286,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,3,288,4226,8,288,1,288,1,288,3,288,4230,8,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,3,289,4246,8,289,1,290,1,290,1,290,5,290,4251,8,290,10,290,12,290,4254,9,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,3,291,4267,8,291,1,292,5,292,4270,8,292,10,292,12,292,4273,9,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,5,292,4282,8,292,10,292,12,292,4285,9,292,1,293,1,293,1,293,5,293,4290,8,293,10,293,12,293,4293,9,293,1,294,1,294,1,294,5,294,4298,8,294,10,294,12,294,4301,9,294,1,295,1,295,1,295,5,295,4306,8,295,10,295,12,295,4309,9,295,1,296,1,296,1,296,5,296,4314,8,296,10,296,12,296,4317,9,296,1,297,1,297,1,297,5,297,4322,8,297,10,297,12,297,4325,9,297,1,298,1,298,1,298,5,298,4330,8,298,10,298,12,298,4333,9,298,1,299,1,299,1,300,1,300,1,300,1,300,1,301,1,301,3,301,4343,8,301,1,301,1,301,3,301,4347,8,301,1,302,1,302,1,302,1,302,1,302,1,302,3,302,4355,8,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,3,303,4371,8,303,1,304,1,304,3,304,4375,8,304,1,305,1,305,1,305,3,305,4380,8,305,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,3,307,4393,8,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,5,308,4402,8,308,10,308,12,308,4405,9,308,1,309,1,309,1,309,1,309,1,309,1,309,3,309,4413,8,309,1,310,5,310,4416,8,310,10,310,12,310,4419,9,310,1,310,1,310,1,310,3,310,4424,8,310,1,311,1,311,1,311,5,311,4429,8,311,10,311,12,311,4432,9,311,1,312,1,312,3,312,4436,8,312,1,313,1,313,1,313,1,313,1,313,5,313,4443,8,313,10,313,12,313,4446,9,313,1,313,1,313,1,314,1,314,1,314,3,314,4453,8,314,1,315,1,315,1,315,1,315,5,315,4459,8,315,10,315,12,315,4462,9,315,1,315,1,315,1,316,1,316,1,316,3,316,4469,8,316,1,316,1,316,1,317,1,317,1,318,1,318,1,319,1,319,3,319,4479,8,319,1,320,1,320,1,320,3,320,4484,8,320,1,321,1,321,1,322,1,322,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,3,324,4542,8,324,1,325,1,325,1,325,1,325,3,325,4548,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4557,8,325,3,325,4559,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,5,325,4573,8,325,10,325,12,325,4576,9,325,1,325,1,325,1,325,1,325,1,325,3,325,4583,8,325,1,325,1,325,3,325,4587,8,325,3,325,4589,8,325,1,325,1,325,1,325,1,325,3,325,4595,8,325,1,325,1,325,1,325,3,325,4600,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4617,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4643,8,325,1,325,1,325,1,325,3,325,4648,8,325,3,325,4650,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4678,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4695,8,325,1,325,1,325,1,325,3,325,4700,8,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,3,325,4709,8,325,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,3,327,4720,8,327,1,328,1,328,1,328,5,328,4725,8,328,10,328,12,328,4728,9,328,1,329,1,329,1,329,3,329,4733,8,329,1,330,1,330,1,330,3,330,4738,8,330,1,331,1,331,1,332,1,332,1,333,1,333,1,334,1,334,1,335,1,335,1,336,1,336,1,337,1,337,1,338,1,338,1,339,1,339,1,340,1,340,1,341,1,341,1,341,5,341,4763,8,341,10,341,12,341,4766,9,341,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,3,343,4776,8,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,3,344,4790,8,344,1,345,1,345,1,345,5,345,4795,8,345,10,345,12,345,4798,9,345,1,345,1,813,0,346,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,0,60,2,0,57,57,172,172,4,0,91,91,121,121,226,226,325,325,2,0,50,50,346,346,2,0,34,34,282,282,1,0,89,90,2,0,139,139,154,154,2,0,67,67,295,295,2,0,68,68,296,296,1,0,155,156,2,0,114,114,307,307,11,0,7,7,9,9,58,58,86,86,101,101,155,155,161,161,190,190,299,299,309,309,365,365,3,0,4,4,101,101,326,326,3,0,15,15,128,128,170,170,1,0,141,142,2,0,30,30,351,351,2,0,217,217,373,373,2,0,214,214,272,272,2,0,18,18,89,89,2,0,130,130,177,177,2,0,39,39,376,376,4,0,112,112,164,164,205,205,356,356,2,0,7,7,96,96,2,0,125,125,350,350,2,0,225,225,391,391,2,0,42,42,315,315,2,0,189,189,196,196,2,0,426,426,431,431,2,0,140,140,285,285,3,0,12,12,231,231,300,300,2,0,241,241,292,292,2,0,198,198,268,268,2,0,260,260,292,292,2,0,354,354,431,431,2,0,133,133,247,247,2,0,152,152,281,281,3,0,413,414,418,418,420,420,2,0,412,412,415,417,1,0,413,414,4,0,184,184,270,270,286,286,408,411,2,0,7,7,13,13,3,0,7,7,13,13,313,313,3,0,184,184,270,270,286,286,4,0,125,125,219,219,350,350,360,360,2,0,405,405,407,411,24,0,11,11,16,16,25,28,35,35,100,100,131,132,151,151,154,154,162,163,184,184,198,198,216,216,228,228,264,264,270,270,286,286,311,311,323,324,340,340,357,357,383,383,405,417,419,421,423,423,85,0,1,6,8,8,10,10,15,15,18,20,22,24,30,31,33,34,37,38,40,44,46,47,49,50,52,53,56,57,59,59,66,66,68,68,72,77,79,79,83,85,87,89,91,95,97,99,103,104,106,107,109,111,114,116,118,121,127,130,137,138,142,142,147,150,152,152,155,156,158,160,168,170,172,177,182,183,185,187,189,193,195,197,199,202,204,204,206,209,211,212,214,215,217,218,220,220,222,223,226,227,232,233,235,236,238,240,243,246,252,252,254,255,257,259,261,262,265,267,271,282,284,284,287,288,293,298,300,303,305,310,312,312,314,317,319,325,327,328,330,330,332,334,339,340,342,342,344,346,349,349,352,353,355,355,357,357,360,364,366,368,371,373,375,375,377,382,385,385,388,394,13,0,16,16,26,28,63,64,71,71,100,100,131,131,145,145,151,151,162,163,198,198,264,264,311,311,337,337,2,0,4,4,101,101,2,0,9,9,58,58,3,0,14,14,144,144,369,369,1,0,106,107,1,0,94,95,1,0,392,393,1,0,208,209,1,0,381,382,1,0,73,74,1,0,148,149,1,0,206,207,1,0,297,298,1,0,80,82,5390,0,695,1,0,0,0,2,702,1,0,0,0,4,707,1,0,0,0,6,741,1,0,0,0,8,743,1,0,0,0,10,816,1,0,0,0,12,818,1,0,0,0,14,834,1,0,0,0,16,843,1,0,0,0,18,851,1,0,0,0,20,864,1,0,0,0,22,875,1,0,0,0,24,880,1,0,0,0,26,891,1,0,0,0,28,954,1,0,0,0,30,956,1,0,0,0,32,959,1,0,0,0,34,963,1,0,0,0,36,965,1,0,0,0,38,968,1,0,0,0,40,971,1,0,0,0,42,1015,1,0,0,0,44,1017,1,0,0,0,46,1020,1,0,0,0,48,1023,1,0,0,0,50,1032,1,0,0,0,52,1035,1,0,0,0,54,1050,1,0,0,0,56,1062,1,0,0,0,58,1067,1,0,0,0,60,1087,1,0,0,0,62,1091,1,0,0,0,64,1098,1,0,0,0,66,1123,1,0,0,0,68,1140,1,0,0,0,70,1142,1,0,0,0,72,1327,1,0,0,0,74,1337,1,0,0,0,76,1339,1,0,0,0,78,1344,1,0,0,0,80,1349,1,0,0,0,82,1351,1,0,0,0,84,1355,1,0,0,0,86,1359,1,0,0,0,88,1363,1,0,0,0,90,1367,1,0,0,0,92,1377,1,0,0,0,94,1388,1,0,0,0,96,1405,1,0,0,0,98,1423,1,0,0,0,100,1428,1,0,0,0,102,1431,1,0,0,0,104,1435,1,0,0,0,106,1442,1,0,0,0,108,1451,1,0,0,0,110,1457,1,0,0,0,112,1459,1,0,0,0,114,1473,1,0,0,0,116,1495,1,0,0,0,118,1497,1,0,0,0,120,1505,1,0,0,0,122,1512,1,0,0,0,124,1514,1,0,0,0,126,1528,1,0,0,0,128,1535,1,0,0,0,130,1537,1,0,0,0,132,1541,1,0,0,0,134,1545,1,0,0,0,136,1549,1,0,0,0,138,1553,1,0,0,0,140,1566,1,0,0,0,142,1574,1,0,0,0,144,1577,1,0,0,0,146,1579,1,0,0,0,148,1591,1,0,0,0,150,1601,1,0,0,0,152,1604,1,0,0,0,154,1615,1,0,0,0,156,1623,1,0,0,0,158,1666,1,0,0,0,160,1675,1,0,0,0,162,1703,1,0,0,0,164,1716,1,0,0,0,166,1718,1,0,0,0,168,1724,1,0,0,0,170,1727,1,0,0,0,172,1733,1,0,0,0,174,1739,1,0,0,0,176,1746,1,0,0,0,178,1780,1,0,0,0,180,1788,1,0,0,0,182,1801,1,0,0,0,184,1806,1,0,0,0,186,1817,1,0,0,0,188,1834,1,0,0,0,190,1836,1,0,0,0,192,1841,1,0,0,0,194,1848,1,0,0,0,196,1850,1,0,0,0,198,1853,1,0,0,0,200,1856,1,0,0,0,202,1870,1,0,0,0,204,1878,1,0,0,0,206,1904,1,0,0,0,208,1906,1,0,0,0,210,1923,1,0,0,0,212,1937,1,0,0,0,214,1939,1,0,0,0,216,1942,1,0,0,0,218,1945,1,0,0,0,220,1954,1,0,0,0,222,1974,1,0,0,0,224,1976,1,0,0,0,226,1979,1,0,0,0,228,1992,1,0,0,0,230,1994,1,0,0,0,232,1998,1,0,0,0,234,2006,1,0,0,0,236,2010,1,0,0,0,238,2019,1,0,0,0,240,2025,1,0,0,0,242,2031,1,0,0,0,244,2036,1,0,0,0,246,2082,1,0,0,0,248,2084,1,0,0,0,250,2092,1,0,0,0,252,2100,1,0,0,0,254,2108,1,0,0,0,256,2118,1,0,0,0,258,2120,1,0,0,0,260,2122,1,0,0,0,262,2135,1,0,0,0,264,2143,1,0,0,0,266,2152,1,0,0,0,268,2156,1,0,0,0,270,2158,1,0,0,0,272,2163,1,0,0,0,274,2165,1,0,0,0,276,2169,1,0,0,0,278,2175,1,0,0,0,280,2183,1,0,0,0,282,2185,1,0,0,0,284,2188,1,0,0,0,286,2195,1,0,0,0,288,2206,1,0,0,0,290,2219,1,0,0,0,292,2221,1,0,0,0,294,2229,1,0,0,0,296,2233,1,0,0,0,298,2241,1,0,0,0,300,2243,1,0,0,0,302,2246,1,0,0,0,304,2253,1,0,0,0,306,2261,1,0,0,0,308,2268,1,0,0,0,310,2276,1,0,0,0,312,2284,1,0,0,0,314,2288,1,0,0,0,316,2290,1,0,0,0,318,2301,1,0,0,0,320,2305,1,0,0,0,322,2317,1,0,0,0,324,2325,1,0,0,0,326,2329,1,0,0,0,328,2341,1,0,0,0,330,2353,1,0,0,0,332,2358,1,0,0,0,334,2363,1,0,0,0,336,2365,1,0,0,0,338,2369,1,0,0,0,340,2373,1,0,0,0,342,2380,1,0,0,0,344,2382,1,0,0,0,346,2395,1,0,0,0,348,2434,1,0,0,0,350,2436,1,0,0,0,352,2441,1,0,0,0,354,2446,1,0,0,0,356,2453,1,0,0,0,358,2458,1,0,0,0,360,2463,1,0,0,0,362,2469,1,0,0,0,364,2471,1,0,0,0,366,2480,1,0,0,0,368,2492,1,0,0,0,370,2572,1,0,0,0,372,2578,1,0,0,0,374,2604,1,0,0,0,376,2606,1,0,0,0,378,2628,1,0,0,0,380,2633,1,0,0,0,382,2637,1,0,0,0,384,2669,1,0,0,0,386,2671,1,0,0,0,388,2682,1,0,0,0,390,2688,1,0,0,0,392,2690,1,0,0,0,394,2722,1,0,0,0,396,2729,1,0,0,0,398,2735,1,0,0,0,400,2741,1,0,0,0,402,2756,1,0,0,0,404,2766,1,0,0,0,406,2774,1,0,0,0,408,2777,1,0,0,0,410,2780,1,0,0,0,412,2783,1,0,0,0,414,2905,1,0,0,0,416,3039,1,0,0,0,418,3067,1,0,0,0,420,3084,1,0,0,0,422,3101,1,0,0,0,424,3103,1,0,0,0,426,3106,1,0,0,0,428,3132,1,0,0,0,430,3137,1,0,0,0,432,3164,1,0,0,0,434,3175,1,0,0,0,436,3312,1,0,0,0,438,3314,1,0,0,0,440,3337,1,0,0,0,442,3349,1,0,0,0,444,3354,1,0,0,0,446,3362,1,0,0,0,448,3370,1,0,0,0,450,3382,1,0,0,0,452,3416,1,0,0,0,454,3418,1,0,0,0,456,3436,1,0,0,0,458,3445,1,0,0,0,460,3475,1,0,0,0,462,3534,1,0,0,0,464,3536,1,0,0,0,466,3565,1,0,0,0,468,3567,1,0,0,0,470,3583,1,0,0,0,472,3595,1,0,0,0,474,3597,1,0,0,0,476,3601,1,0,0,0,478,3611,1,0,0,0,480,3621,1,0,0,0,482,3626,1,0,0,0,484,3633,1,0,0,0,486,3637,1,0,0,0,488,3658,1,0,0,0,490,3663,1,0,0,0,492,3665,1,0,0,0,494,3693,1,0,0,0,496,3696,1,0,0,0,498,3717,1,0,0,0,500,3758,1,0,0,0,502,3760,1,0,0,0,504,3807,1,0,0,0,506,3809,1,0,0,0,508,3834,1,0,0,0,510,3836,1,0,0,0,512,3844,1,0,0,0,514,3870,1,0,0,0,516,3872,1,0,0,0,518,3892,1,0,0,0,520,3894,1,0,0,0,522,3905,1,0,0,0,524,3918,1,0,0,0,526,3953,1,0,0,0,528,3955,1,0,0,0,530,3958,1,0,0,0,532,3963,1,0,0,0,534,3965,1,0,0,0,536,3987,1,0,0,0,538,3989,1,0,0,0,540,3993,1,0,0,0,542,4002,1,0,0,0,544,4012,1,0,0,0,546,4016,1,0,0,0,548,4020,1,0,0,0,550,4096,1,0,0,0,552,4098,1,0,0,0,554,4101,1,0,0,0,556,4105,1,0,0,0,558,4110,1,0,0,0,560,4112,1,0,0,0,562,4123,1,0,0,0,564,4140,1,0,0,0,566,4156,1,0,0,0,568,4165,1,0,0,0,570,4180,1,0,0,0,572,4210,1,0,0,0,574,4212,1,0,0,0,576,4229,1,0,0,0,578,4245,1,0,0,0,580,4247,1,0,0,0,582,4266,1,0,0,0,584,4271,1,0,0,0,586,4286,1,0,0,0,588,4294,1,0,0,0,590,4302,1,0,0,0,592,4310,1,0,0,0,594,4318,1,0,0,0,596,4326,1,0,0,0,598,4334,1,0,0,0,600,4336,1,0,0,0,602,4346,1,0,0,0,604,4354,1,0,0,0,606,4370,1,0,0,0,608,4374,1,0,0,0,610,4379,1,0,0,0,612,4381,1,0,0,0,614,4392,1,0,0,0,616,4394,1,0,0,0,618,4412,1,0,0,0,620,4417,1,0,0,0,622,4425,1,0,0,0,624,4433,1,0,0,0,626,4437,1,0,0,0,628,4449,1,0,0,0,630,4454,1,0,0,0,632,4465,1,0,0,0,634,4472,1,0,0,0,636,4474,1,0,0,0,638,4478,1,0,0,0,640,4480,1,0,0,0,642,4485,1,0,0,0,644,4487,1,0,0,0,646,4489,1,0,0,0,648,4541,1,0,0,0,650,4708,1,0,0,0,652,4710,1,0,0,0,654,4719,1,0,0,0,656,4721,1,0,0,0,658,4732,1,0,0,0,660,4734,1,0,0,0,662,4739,1,0,0,0,664,4741,1,0,0,0,666,4743,1,0,0,0,668,4745,1,0,0,0,670,4747,1,0,0,0,672,4749,1,0,0,0,674,4751,1,0,0,0,676,4753,1,0,0,0,678,4755,1,0,0,0,680,4757,1,0,0,0,682,4759,1,0,0,0,684,4767,1,0,0,0,686,4775,1,0,0,0,688,4789,1,0,0,0,690,4791,1,0,0,0,692,694,3,2,1,0,693,692,1,0,0,0,694,697,1,0,0,0,695,693,1,0,0,0,695,696,1,0,0,0,696,698,1,0,0,0,697,695,1,0,0,0,698,699,5,0,0,1,699,1,1,0,0,0,700,703,3,4,2,0,701,703,3,10,5,0,702,700,1,0,0,0,702,701,1,0,0,0,703,705,1,0,0,0,704,706,5,398,0,0,705,704,1,0,0,0,705,706,1,0,0,0,706,3,1,0,0,0,707,717,5,119,0,0,708,710,3,6,3,0,709,708,1,0,0,0,710,713,1,0,0,0,711,709,1,0,0,0,711,712,1,0,0,0,712,714,1,0,0,0,713,711,1,0,0,0,714,718,3,10,5,0,715,716,5,284,0,0,716,718,3,360,180,0,717,711,1,0,0,0,717,715,1,0,0,0,718,5,1,0,0,0,719,742,5,122,0,0,720,742,5,138,0,0,721,742,5,88,0,0,722,724,5,37,0,0,723,725,7,0,0,0,724,723,1,0,0,0,724,725,1,0,0,0,725,742,1,0,0,0,726,742,5,192,0,0,727,742,5,21,0,0,728,742,5,10,0,0,729,742,5,275,0,0,730,742,5,191,0,0,731,742,5,19,0,0,732,734,5,377,0,0,733,735,5,225,0,0,734,733,1,0,0,0,734,735,1,0,0,0,735,737,1,0,0,0,736,738,3,8,4,0,737,736,1,0,0,0,737,738,1,0,0,0,738,742,1,0,0,0,739,742,5,79,0,0,740,742,5,78,0,0,741,719,1,0,0,0,741,720,1,0,0,0,741,721,1,0,0,0,741,722,1,0,0,0,741,726,1,0,0,0,741,727,1,0,0,0,741,728,1,0,0,0,741,729,1,0,0,0,741,730,1,0,0,0,741,731,1,0,0,0,741,732,1,0,0,0,741,739,1,0,0,0,741,740,1,0,0,0,742,7,1,0,0,0,743,744,7,1,0,0,744,9,1,0,0,0,745,817,3,360,180,0,746,817,3,12,6,0,747,817,3,16,8,0,748,817,3,18,9,0,749,817,3,20,10,0,750,817,3,24,12,0,751,752,5,277,0,0,752,753,5,320,0,0,753,756,3,472,236,0,754,755,5,387,0,0,755,757,3,230,115,0,756,754,1,0,0,0,756,757,1,0,0,0,757,817,1,0,0,0,758,817,3,28,14,0,759,760,5,86,0,0,760,761,5,139,0,0,761,763,3,478,239,0,762,764,3,494,247,0,763,762,1,0,0,0,763,764,1,0,0,0,764,817,1,0,0,0,765,766,5,365,0,0,766,767,3,478,239,0,767,769,3,392,196,0,768,770,3,494,247,0,769,768,1,0,0,0,769,770,1,0,0,0,770,817,1,0,0,0,771,817,3,394,197,0,772,774,5,203,0,0,773,775,5,436,0,0,774,773,1,0,0,0,774,775,1,0,0,0,775,776,1,0,0,0,776,777,5,166,0,0,777,782,3,478,239,0,778,780,5,17,0,0,779,778,1,0,0,0,779,780,1,0,0,0,780,781,1,0,0,0,781,783,3,638,319,0,782,779,1,0,0,0,782,783,1,0,0,0,783,784,1,0,0,0,784,785,5,370,0,0,785,786,3,456,228,0,786,787,5,224,0,0,787,788,3,580,290,0,788,789,3,398,199,0,789,817,1,0,0,0,790,791,5,249,0,0,791,792,3,638,319,0,792,793,5,139,0,0,793,794,3,360,180,0,794,817,1,0,0,0,795,796,5,115,0,0,796,797,3,638,319,0,797,798,5,370,0,0,798,799,3,296,148,0,799,817,1,0,0,0,800,801,5,304,0,0,801,806,3,648,324,0,802,803,5,395,0,0,803,805,3,648,324,0,804,802,1,0,0,0,805,808,1,0,0,0,806,804,1,0,0,0,806,807,1,0,0,0,807,809,1,0,0,0,808,806,1,0,0,0,809,813,5,405,0,0,810,812,9,0,0,0,811,810,1,0,0,0,812,815,1,0,0,0,813,814,1,0,0,0,813,811,1,0,0,0,814,817,1,0,0,0,815,813,1,0,0,0,816,745,1,0,0,0,816,746,1,0,0,0,816,747,1,0,0,0,816,748,1,0,0,0,816,749,1,0,0,0,816,750,1,0,0,0,816,751,1,0,0,0,816,758,1,0,0,0,816,759,1,0,0,0,816,765,1,0,0,0,816,771,1,0,0,0,816,772,1,0,0,0,816,790,1,0,0,0,816,795,1,0,0,0,816,800,1,0,0,0,817,11,1,0,0,0,818,819,5,187,0,0,819,821,5,66,0,0,820,822,5,188,0,0,821,820,1,0,0,0,821,822,1,0,0,0,822,823,1,0,0,0,823,824,5,158,0,0,824,826,5,426,0,0,825,827,5,235,0,0,826,825,1,0,0,0,826,827,1,0,0,0,827,828,1,0,0,0,828,829,5,166,0,0,829,830,5,329,0,0,830,832,3,624,312,0,831,833,3,56,28,0,832,831,1,0,0,0,832,833,1,0,0,0,833,13,1,0,0,0,834,836,5,134,0,0,835,837,5,204,0,0,836,835,1,0,0,0,836,837,1,0,0,0,837,838,1,0,0,0,838,839,5,279,0,0,839,840,5,399,0,0,840,841,5,426,0,0,841,842,5,400,0,0,842,15,1,0,0,0,843,844,5,120,0,0,844,845,5,329,0,0,845,846,3,624,312,0,846,847,5,341,0,0,847,849,5,426,0,0,848,850,3,14,7,0,849,848,1,0,0,0,849,850,1,0,0,0,850,17,1,0,0,0,851,857,5,153,0,0,852,854,5,123,0,0,853,852,1,0,0,0,853,854,1,0,0,0,854,855,1,0,0,0,855,856,5,329,0,0,856,858,3,624,312,0,857,853,1,0,0,0,857,858,1,0,0,0,858,859,1,0,0,0,859,860,5,139,0,0,860,862,5,426,0,0,861,863,3,424,212,0,862,861,1,0,0,0,862,863,1,0,0,0,863,19,1,0,0,0,864,865,5,277,0,0,865,866,5,103,0,0,866,869,3,22,11,0,867,868,5,278,0,0,868,870,3,22,11,0,869,867,1,0,0,0,869,870,1,0,0,0,870,873,1,0,0,0,871,872,5,387,0,0,872,874,3,230,115,0,873,871,1,0,0,0,873,874,1,0,0,0,874,21,1,0,0,0,875,878,3,472,236,0,876,877,5,395,0,0,877,879,3,26,13,0,878,876,1,0,0,0,878,879,1,0,0,0,879,23,1,0,0,0,880,881,5,277,0,0,881,882,5,187,0,0,882,885,3,22,11,0,883,884,5,166,0,0,884,886,3,472,236,0,885,883,1,0,0,0,885,886,1,0,0,0,886,889,1,0,0,0,887,888,5,387,0,0,888,890,3,230,115,0,889,887,1,0,0,0,889,890,1,0,0,0,890,25,1,0,0,0,891,894,5,426,0,0,892,893,5,395,0,0,893,895,5,426,0,0,894,892,1,0,0,0,894,895,1,0,0,0,895,27,1,0,0,0,896,955,3,42,21,0,897,955,3,46,23,0,898,955,3,48,24,0,899,955,3,436,218,0,900,955,3,54,27,0,901,955,3,52,26,0,902,955,3,412,206,0,903,955,3,64,32,0,904,955,3,72,36,0,905,955,3,138,69,0,906,955,3,160,80,0,907,955,3,176,88,0,908,955,3,180,90,0,909,955,3,184,92,0,910,955,3,182,91,0,911,955,3,174,87,0,912,955,3,178,89,0,913,955,3,146,73,0,914,955,3,152,76,0,915,955,3,148,74,0,916,955,3,150,75,0,917,955,3,154,77,0,918,955,3,156,78,0,919,955,3,158,79,0,920,955,3,66,33,0,921,955,3,76,38,0,922,955,3,82,41,0,923,955,3,78,39,0,924,955,3,84,42,0,925,955,3,86,43,0,926,955,3,88,44,0,927,955,3,90,45,0,928,955,3,92,46,0,929,955,3,106,53,0,930,955,3,98,49,0,931,955,3,108,54,0,932,955,3,100,50,0,933,955,3,94,47,0,934,955,3,96,48,0,935,955,3,104,52,0,936,955,3,102,51,0,937,938,5,1,0,0,938,940,7,2,0,0,939,941,5,431,0,0,940,939,1,0,0,0,941,942,1,0,0,0,942,940,1,0,0,0,942,943,1,0,0,0,943,955,1,0,0,0,944,945,5,176,0,0,945,947,5,258,0,0,946,948,5,426,0,0,947,946,1,0,0,0,948,949,1,0,0,0,949,947,1,0,0,0,949,950,1,0,0,0,950,955,1,0,0,0,951,955,3,650,325,0,952,955,3,438,219,0,953,955,3,440,220,0,954,896,1,0,0,0,954,897,1,0,0,0,954,898,1,0,0,0,954,899,1,0,0,0,954,900,1,0,0,0,954,901,1,0,0,0,954,902,1,0,0,0,954,903,1,0,0,0,954,904,1,0,0,0,954,905,1,0,0,0,954,906,1,0,0,0,954,907,1,0,0,0,954,908,1,0,0,0,954,909,1,0,0,0,954,910,1,0,0,0,954,911,1,0,0,0,954,912,1,0,0,0,954,913,1,0,0,0,954,914,1,0,0,0,954,915,1,0,0,0,954,916,1,0,0,0,954,917,1,0,0,0,954,918,1,0,0,0,954,919,1,0,0,0,954,920,1,0,0,0,954,921,1,0,0,0,954,922,1,0,0,0,954,923,1,0,0,0,954,924,1,0,0,0,954,925,1,0,0,0,954,926,1,0,0,0,954,927,1,0,0,0,954,928,1,0,0,0,954,929,1,0,0,0,954,930,1,0,0,0,954,931,1,0,0,0,954,932,1,0,0,0,954,933,1,0,0,0,954,934,1,0,0,0,954,935,1,0,0,0,954,936,1,0,0,0,954,937,1,0,0,0,954,944,1,0,0,0,954,951,1,0,0,0,954,952,1,0,0,0,954,953,1,0,0,0,955,29,1,0,0,0,956,957,5,151,0,0,957,958,5,117,0,0,958,31,1,0,0,0,959,960,5,151,0,0,960,961,5,216,0,0,961,962,5,117,0,0,962,33,1,0,0,0,963,964,7,3,0,0,964,35,1,0,0,0,965,966,3,662,331,0,966,967,5,284,0,0,967,37,1,0,0,0,968,969,3,664,332,0,969,970,5,284,0,0,970,39,1,0,0,0,971,972,5,321,0,0,972,973,5,17,0,0,973,974,5,92,0,0,974,41,1,0,0,0,975,977,5,58,0,0,976,978,5,273,0,0,977,976,1,0,0,0,977,978,1,0,0,0,978,979,1,0,0,0,979,981,3,70,35,0,980,982,3,32,16,0,981,980,1,0,0,0,981,982,1,0,0,0,982,983,1,0,0,0,983,985,3,474,237,0,984,986,3,50,25,0,985,984,1,0,0,0,985,986,1,0,0,0,986,988,1,0,0,0,987,989,3,424,212,0,988,987,1,0,0,0,988,989,1,0,0,0,989,992,1,0,0,0,990,991,5,196,0,0,991,993,5,426,0,0,992,990,1,0,0,0,992,993,1,0,0,0,993,997,1,0,0,0,994,995,5,387,0,0,995,996,5,76,0,0,996,998,3,230,115,0,997,994,1,0,0,0,997,998,1,0,0,0,998,1016,1,0,0,0,999,1e3,5,58,0,0,1e3,1001,5,273,0,0,1001,1003,3,70,35,0,1002,1004,3,32,16,0,1003,1002,1,0,0,0,1003,1004,1,0,0,0,1004,1005,1,0,0,0,1005,1007,3,474,237,0,1006,1008,3,50,25,0,1007,1006,1,0,0,0,1007,1008,1,0,0,0,1008,1009,1,0,0,0,1009,1013,3,44,22,0,1010,1011,5,387,0,0,1011,1012,5,76,0,0,1012,1014,3,230,115,0,1013,1010,1,0,0,0,1013,1014,1,0,0,0,1014,1016,1,0,0,0,1015,975,1,0,0,0,1015,999,1,0,0,0,1016,43,1,0,0,0,1017,1018,5,370,0,0,1018,1019,3,472,236,0,1019,45,1,0,0,0,1020,1021,5,368,0,0,1021,1022,3,472,236,0,1022,47,1,0,0,0,1023,1024,5,101,0,0,1024,1026,3,70,35,0,1025,1027,3,30,15,0,1026,1025,1,0,0,0,1026,1027,1,0,0,0,1027,1028,1,0,0,0,1028,1030,3,472,236,0,1029,1031,3,34,17,0,1030,1029,1,0,0,0,1030,1031,1,0,0,0,1031,49,1,0,0,0,1032,1033,5,47,0,0,1033,1034,5,426,0,0,1034,51,1,0,0,0,1035,1037,5,351,0,0,1036,1038,5,329,0,0,1037,1036,1,0,0,0,1037,1038,1,0,0,0,1038,1039,1,0,0,0,1039,1045,3,624,312,0,1040,1041,5,46,0,0,1041,1042,5,399,0,0,1042,1043,3,254,127,0,1043,1044,5,400,0,0,1044,1046,1,0,0,0,1045,1040,1,0,0,0,1045,1046,1,0,0,0,1046,1048,1,0,0,0,1047,1049,5,135,0,0,1048,1047,1,0,0,0,1048,1049,1,0,0,0,1049,53,1,0,0,0,1050,1051,5,101,0,0,1051,1053,5,329,0,0,1052,1054,3,30,15,0,1053,1052,1,0,0,0,1053,1054,1,0,0,0,1054,1055,1,0,0,0,1055,1057,3,478,239,0,1056,1058,5,255,0,0,1057,1056,1,0,0,0,1057,1058,1,0,0,0,1058,1060,1,0,0,0,1059,1061,3,14,7,0,1060,1059,1,0,0,0,1060,1061,1,0,0,0,1061,55,1,0,0,0,1062,1063,5,160,0,0,1063,1064,5,426,0,0,1064,1065,5,301,0,0,1065,1066,5,426,0,0,1066,57,1,0,0,0,1067,1070,3,638,319,0,1068,1069,5,395,0,0,1069,1071,3,638,319,0,1070,1068,1,0,0,0,1070,1071,1,0,0,0,1071,1085,1,0,0,0,1072,1082,3,638,319,0,1073,1078,5,395,0,0,1074,1079,5,104,0,0,1075,1079,5,175,0,0,1076,1079,5,375,0,0,1077,1079,3,638,319,0,1078,1074,1,0,0,0,1078,1075,1,0,0,0,1078,1076,1,0,0,0,1078,1077,1,0,0,0,1079,1081,1,0,0,0,1080,1073,1,0,0,0,1081,1084,1,0,0,0,1082,1080,1,0,0,0,1082,1083,1,0,0,0,1083,1086,1,0,0,0,1084,1082,1,0,0,0,1085,1072,1,0,0,0,1085,1086,1,0,0,0,1086,59,1,0,0,0,1087,1089,3,58,29,0,1088,1090,3,626,313,0,1089,1088,1,0,0,0,1089,1090,1,0,0,0,1090,61,1,0,0,0,1091,1093,3,476,238,0,1092,1094,3,626,313,0,1093,1092,1,0,0,0,1093,1094,1,0,0,0,1094,1096,1,0,0,0,1095,1097,3,260,130,0,1096,1095,1,0,0,0,1096,1097,1,0,0,0,1097,63,1,0,0,0,1098,1121,7,4,0,0,1099,1101,3,70,35,0,1100,1102,5,122,0,0,1101,1100,1,0,0,0,1101,1102,1,0,0,0,1102,1103,1,0,0,0,1103,1104,3,472,236,0,1104,1122,1,0,0,0,1105,1107,5,69,0,0,1106,1108,5,122,0,0,1107,1106,1,0,0,0,1107,1108,1,0,0,0,1108,1109,1,0,0,0,1109,1122,3,472,236,0,1110,1112,5,141,0,0,1111,1113,5,122,0,0,1112,1111,1,0,0,0,1112,1113,1,0,0,0,1113,1114,1,0,0,0,1114,1122,3,556,278,0,1115,1118,5,138,0,0,1116,1118,5,122,0,0,1117,1115,1,0,0,0,1117,1116,1,0,0,0,1118,1119,1,0,0,0,1119,1122,3,62,31,0,1120,1122,3,62,31,0,1121,1099,1,0,0,0,1121,1105,1,0,0,0,1121,1110,1,0,0,0,1121,1117,1,0,0,0,1121,1120,1,0,0,0,1122,65,1,0,0,0,1123,1124,5,10,0,0,1124,1125,5,329,0,0,1125,1138,3,624,312,0,1126,1127,5,52,0,0,1127,1134,5,319,0,0,1128,1135,5,215,0,0,1129,1130,5,134,0,0,1130,1132,5,46,0,0,1131,1133,3,254,127,0,1132,1131,1,0,0,0,1132,1133,1,0,0,0,1133,1135,1,0,0,0,1134,1128,1,0,0,0,1134,1129,1,0,0,0,1134,1135,1,0,0,0,1135,1139,1,0,0,0,1136,1137,5,33,0,0,1137,1139,5,204,0,0,1138,1126,1,0,0,0,1138,1136,1,0,0,0,1139,67,1,0,0,0,1140,1141,7,5,0,0,1141,69,1,0,0,0,1142,1143,7,6,0,0,1143,71,1,0,0,0,1144,1145,5,308,0,0,1145,1148,7,7,0,0,1146,1147,5,184,0,0,1147,1149,3,194,97,0,1148,1146,1,0,0,0,1148,1149,1,0,0,0,1149,1328,1,0,0,0,1150,1152,5,308,0,0,1151,1153,5,122,0,0,1152,1151,1,0,0,0,1152,1153,1,0,0,0,1153,1154,1,0,0,0,1154,1158,5,330,0,0,1155,1156,3,68,34,0,1156,1157,3,472,236,0,1157,1159,1,0,0,0,1158,1155,1,0,0,0,1158,1159,1,0,0,0,1159,1161,1,0,0,0,1160,1162,3,74,37,0,1161,1160,1,0,0,0,1161,1162,1,0,0,0,1162,1328,1,0,0,0,1163,1164,5,308,0,0,1164,1168,5,379,0,0,1165,1166,3,68,34,0,1166,1167,3,472,236,0,1167,1169,1,0,0,0,1168,1165,1,0,0,0,1168,1169,1,0,0,0,1169,1173,1,0,0,0,1170,1171,5,184,0,0,1171,1174,3,194,97,0,1172,1174,3,194,97,0,1173,1170,1,0,0,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1328,1,0,0,0,1175,1176,5,308,0,0,1176,1177,5,202,0,0,1177,1181,5,379,0,0,1178,1179,3,68,34,0,1179,1180,3,472,236,0,1180,1182,1,0,0,0,1181,1178,1,0,0,0,1181,1182,1,0,0,0,1182,1186,1,0,0,0,1183,1184,5,184,0,0,1184,1187,3,194,97,0,1185,1187,3,194,97,0,1186,1183,1,0,0,0,1186,1185,1,0,0,0,1186,1187,1,0,0,0,1187,1328,1,0,0,0,1188,1190,5,308,0,0,1189,1191,5,315,0,0,1190,1189,1,0,0,0,1190,1191,1,0,0,0,1191,1192,1,0,0,0,1192,1193,5,46,0,0,1193,1194,3,68,34,0,1194,1198,3,476,238,0,1195,1196,3,68,34,0,1196,1197,3,472,236,0,1197,1199,1,0,0,0,1198,1195,1,0,0,0,1198,1199,1,0,0,0,1199,1203,1,0,0,0,1200,1201,5,184,0,0,1201,1204,3,194,97,0,1202,1204,3,194,97,0,1203,1200,1,0,0,0,1203,1202,1,0,0,0,1203,1204,1,0,0,0,1204,1328,1,0,0,0,1205,1206,5,308,0,0,1206,1209,5,142,0,0,1207,1208,5,184,0,0,1208,1210,3,556,278,0,1209,1207,1,0,0,0,1209,1210,1,0,0,0,1210,1328,1,0,0,0,1211,1212,5,308,0,0,1212,1213,5,239,0,0,1213,1215,3,476,238,0,1214,1216,3,626,313,0,1215,1214,1,0,0,0,1215,1216,1,0,0,0,1216,1218,1,0,0,0,1217,1219,3,494,247,0,1218,1217,1,0,0,0,1218,1219,1,0,0,0,1219,1221,1,0,0,0,1220,1222,3,542,271,0,1221,1220,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,0,0,1223,1225,3,386,193,0,1224,1223,1,0,0,0,1224,1225,1,0,0,0,1225,1328,1,0,0,0,1226,1227,5,308,0,0,1227,1233,5,58,0,0,1228,1229,3,70,35,0,1229,1230,3,472,236,0,1230,1234,1,0,0,0,1231,1232,5,329,0,0,1232,1234,3,478,239,0,1233,1228,1,0,0,0,1233,1231,1,0,0,0,1234,1328,1,0,0,0,1235,1236,5,308,0,0,1236,1237,5,329,0,0,1237,1241,5,122,0,0,1238,1239,3,68,34,0,1239,1240,3,472,236,0,1240,1242,1,0,0,0,1241,1238,1,0,0,0,1241,1242,1,0,0,0,1242,1243,1,0,0,0,1243,1244,5,184,0,0,1244,1246,3,194,97,0,1245,1247,3,626,313,0,1246,1245,1,0,0,0,1246,1247,1,0,0,0,1247,1328,1,0,0,0,1248,1249,5,308,0,0,1249,1250,5,332,0,0,1250,1254,3,478,239,0,1251,1252,5,399,0,0,1252,1253,5,426,0,0,1253,1255,5,400,0,0,1254,1251,1,0,0,0,1254,1255,1,0,0,0,1255,1328,1,0,0,0,1256,1257,5,308,0,0,1257,1269,5,191,0,0,1258,1259,3,70,35,0,1259,1261,3,472,236,0,1260,1262,5,122,0,0,1261,1260,1,0,0,0,1261,1262,1,0,0,0,1262,1270,1,0,0,0,1263,1265,3,60,30,0,1264,1263,1,0,0,0,1264,1265,1,0,0,0,1265,1267,1,0,0,0,1266,1268,5,122,0,0,1267,1266,1,0,0,0,1267,1268,1,0,0,0,1268,1270,1,0,0,0,1269,1258,1,0,0,0,1269,1264,1,0,0,0,1270,1328,1,0,0,0,1271,1272,5,308,0,0,1272,1299,5,50,0,0,1273,1274,5,51,0,0,1274,1275,5,405,0,0,1275,1300,5,431,0,0,1276,1277,3,70,35,0,1277,1278,3,472,236,0,1278,1283,1,0,0,0,1279,1281,3,60,30,0,1280,1279,1,0,0,0,1280,1281,1,0,0,0,1281,1283,1,0,0,0,1282,1276,1,0,0,0,1282,1280,1,0,0,0,1283,1285,1,0,0,0,1284,1286,3,406,203,0,1285,1284,1,0,0,0,1285,1286,1,0,0,0,1286,1288,1,0,0,0,1287,1289,3,408,204,0,1288,1287,1,0,0,0,1288,1289,1,0,0,0,1289,1291,1,0,0,0,1290,1292,3,410,205,0,1291,1290,1,0,0,0,1291,1292,1,0,0,0,1292,1294,1,0,0,0,1293,1295,3,542,271,0,1294,1293,1,0,0,0,1294,1295,1,0,0,0,1295,1297,1,0,0,0,1296,1298,3,386,193,0,1297,1296,1,0,0,0,1297,1298,1,0,0,0,1298,1300,1,0,0,0,1299,1273,1,0,0,0,1299,1282,1,0,0,0,1300,1328,1,0,0,0,1301,1302,5,308,0,0,1302,1328,5,346,0,0,1303,1304,5,308,0,0,1304,1305,5,54,0,0,1305,1328,5,426,0,0,1306,1307,5,308,0,0,1307,1311,5,280,0,0,1308,1309,5,243,0,0,1309,1312,3,638,319,0,1310,1312,5,244,0,0,1311,1308,1,0,0,0,1311,1310,1,0,0,0,1312,1328,1,0,0,0,1313,1314,5,308,0,0,1314,1328,5,70,0,0,1315,1317,5,308,0,0,1316,1318,5,138,0,0,1317,1316,1,0,0,0,1317,1318,1,0,0,0,1318,1319,1,0,0,0,1319,1320,7,8,0,0,1320,1321,5,224,0,0,1321,1325,3,478,239,0,1322,1323,3,68,34,0,1323,1324,3,472,236,0,1324,1326,1,0,0,0,1325,1322,1,0,0,0,1325,1326,1,0,0,0,1326,1328,1,0,0,0,1327,1144,1,0,0,0,1327,1150,1,0,0,0,1327,1163,1,0,0,0,1327,1175,1,0,0,0,1327,1188,1,0,0,0,1327,1205,1,0,0,0,1327,1211,1,0,0,0,1327,1226,1,0,0,0,1327,1235,1,0,0,0,1327,1248,1,0,0,0,1327,1256,1,0,0,0,1327,1271,1,0,0,0,1327,1301,1,0,0,0,1327,1303,1,0,0,0,1327,1306,1,0,0,0,1327,1313,1,0,0,0,1327,1315,1,0,0,0,1328,73,1,0,0,0,1329,1330,5,384,0,0,1330,1331,3,638,319,0,1331,1332,5,405,0,0,1332,1333,5,426,0,0,1333,1338,1,0,0,0,1334,1335,5,184,0,0,1335,1338,3,194,97,0,1336,1338,3,194,97,0,1337,1329,1,0,0,0,1337,1334,1,0,0,0,1337,1336,1,0,0,0,1338,75,1,0,0,0,1339,1340,5,190,0,0,1340,1341,5,329,0,0,1341,1342,3,624,312,0,1342,1343,3,80,40,0,1343,77,1,0,0,0,1344,1345,5,190,0,0,1345,1346,3,70,35,0,1346,1347,3,472,236,0,1347,1348,3,80,40,0,1348,79,1,0,0,0,1349,1350,7,9,0,0,1350,81,1,0,0,0,1351,1352,5,361,0,0,1352,1353,5,329,0,0,1353,1354,3,624,312,0,1354,83,1,0,0,0,1355,1356,5,361,0,0,1356,1357,3,70,35,0,1357,1358,3,472,236,0,1358,85,1,0,0,0,1359,1360,5,58,0,0,1360,1361,5,287,0,0,1361,1362,3,638,319,0,1362,87,1,0,0,0,1363,1364,5,101,0,0,1364,1365,5,287,0,0,1365,1366,3,638,319,0,1366,89,1,0,0,0,1367,1368,5,143,0,0,1368,1370,3,118,59,0,1369,1371,3,112,56,0,1370,1369,1,0,0,0,1370,1371,1,0,0,0,1371,1372,1,0,0,0,1372,1373,5,341,0,0,1373,1375,3,124,62,0,1374,1376,3,130,65,0,1375,1374,1,0,0,0,1375,1376,1,0,0,0,1376,91,1,0,0,0,1377,1379,5,283,0,0,1378,1380,3,132,66,0,1379,1378,1,0,0,0,1379,1380,1,0,0,0,1380,1381,1,0,0,0,1381,1383,3,118,59,0,1382,1384,3,112,56,0,1383,1382,1,0,0,0,1383,1384,1,0,0,0,1384,1385,1,0,0,0,1385,1386,5,139,0,0,1386,1387,3,124,62,0,1387,93,1,0,0,0,1388,1390,5,143,0,0,1389,1391,5,287,0,0,1390,1389,1,0,0,0,1390,1391,1,0,0,0,1391,1392,1,0,0,0,1392,1397,3,638,319,0,1393,1394,5,397,0,0,1394,1396,3,638,319,0,1395,1393,1,0,0,0,1396,1399,1,0,0,0,1397,1395,1,0,0,0,1397,1398,1,0,0,0,1398,1400,1,0,0,0,1399,1397,1,0,0,0,1400,1401,5,341,0,0,1401,1403,3,124,62,0,1402,1404,3,136,68,0,1403,1402,1,0,0,0,1403,1404,1,0,0,0,1404,95,1,0,0,0,1405,1407,5,283,0,0,1406,1408,3,134,67,0,1407,1406,1,0,0,0,1407,1408,1,0,0,0,1408,1410,1,0,0,0,1409,1411,5,287,0,0,1410,1409,1,0,0,0,1410,1411,1,0,0,0,1411,1412,1,0,0,0,1412,1417,3,638,319,0,1413,1414,5,397,0,0,1414,1416,3,638,319,0,1415,1413,1,0,0,0,1416,1419,1,0,0,0,1417,1415,1,0,0,0,1417,1418,1,0,0,0,1418,1420,1,0,0,0,1419,1417,1,0,0,0,1420,1421,5,139,0,0,1421,1422,3,124,62,0,1422,97,1,0,0,0,1423,1424,5,308,0,0,1424,1425,5,287,0,0,1425,1426,5,143,0,0,1426,1427,3,126,63,0,1427,99,1,0,0,0,1428,1429,5,308,0,0,1429,1430,5,288,0,0,1430,101,1,0,0,0,1431,1432,5,308,0,0,1432,1433,5,62,0,0,1433,1434,5,288,0,0,1434,103,1,0,0,0,1435,1436,5,304,0,0,1436,1440,5,287,0,0,1437,1441,5,7,0,0,1438,1441,5,213,0,0,1439,1441,3,638,319,0,1440,1437,1,0,0,0,1440,1438,1,0,0,0,1440,1439,1,0,0,0,1441,105,1,0,0,0,1442,1443,5,308,0,0,1443,1445,5,143,0,0,1444,1446,3,126,63,0,1445,1444,1,0,0,0,1445,1446,1,0,0,0,1446,1449,1,0,0,0,1447,1448,5,224,0,0,1448,1450,3,110,55,0,1449,1447,1,0,0,0,1449,1450,1,0,0,0,1450,107,1,0,0,0,1451,1452,5,308,0,0,1452,1453,5,252,0,0,1453,1454,3,638,319,0,1454,109,1,0,0,0,1455,1458,5,7,0,0,1456,1458,3,116,58,0,1457,1455,1,0,0,0,1457,1456,1,0,0,0,1458,111,1,0,0,0,1459,1460,5,224,0,0,1460,1461,3,114,57,0,1461,113,1,0,0,0,1462,1463,3,70,35,0,1463,1464,3,472,236,0,1464,1474,1,0,0,0,1465,1467,5,329,0,0,1466,1465,1,0,0,0,1466,1467,1,0,0,0,1467,1468,1,0,0,0,1468,1474,3,624,312,0,1469,1470,5,366,0,0,1470,1474,5,426,0,0,1471,1472,5,303,0,0,1472,1474,3,638,319,0,1473,1462,1,0,0,0,1473,1466,1,0,0,0,1473,1469,1,0,0,0,1473,1471,1,0,0,0,1474,115,1,0,0,0,1475,1476,3,70,35,0,1476,1477,3,472,236,0,1477,1496,1,0,0,0,1478,1480,5,329,0,0,1479,1478,1,0,0,0,1479,1480,1,0,0,0,1480,1481,1,0,0,0,1481,1486,3,478,239,0,1482,1483,5,399,0,0,1483,1484,3,254,127,0,1484,1485,5,400,0,0,1485,1487,1,0,0,0,1486,1482,1,0,0,0,1486,1487,1,0,0,0,1487,1489,1,0,0,0,1488,1490,3,626,313,0,1489,1488,1,0,0,0,1489,1490,1,0,0,0,1490,1496,1,0,0,0,1491,1492,5,366,0,0,1492,1496,5,426,0,0,1493,1494,5,303,0,0,1494,1496,3,638,319,0,1495,1475,1,0,0,0,1495,1479,1,0,0,0,1495,1491,1,0,0,0,1495,1493,1,0,0,0,1496,117,1,0,0,0,1497,1502,3,120,60,0,1498,1499,5,397,0,0,1499,1501,3,120,60,0,1500,1498,1,0,0,0,1501,1504,1,0,0,0,1502,1500,1,0,0,0,1502,1503,1,0,0,0,1503,119,1,0,0,0,1504,1502,1,0,0,0,1505,1510,3,122,61,0,1506,1507,5,399,0,0,1507,1508,3,254,127,0,1508,1509,5,400,0,0,1509,1511,1,0,0,0,1510,1506,1,0,0,0,1510,1511,1,0,0,0,1511,121,1,0,0,0,1512,1513,7,10,0,0,1513,123,1,0,0,0,1514,1519,3,126,63,0,1515,1516,5,397,0,0,1516,1518,3,126,63,0,1517,1515,1,0,0,0,1518,1521,1,0,0,0,1519,1517,1,0,0,0,1519,1520,1,0,0,0,1520,125,1,0,0,0,1521,1519,1,0,0,0,1522,1523,5,369,0,0,1523,1529,3,642,321,0,1524,1525,5,144,0,0,1525,1529,3,642,321,0,1526,1527,5,287,0,0,1527,1529,3,638,319,0,1528,1522,1,0,0,0,1528,1524,1,0,0,0,1528,1526,1,0,0,0,1529,127,1,0,0,0,1530,1531,5,369,0,0,1531,1536,3,642,321,0,1532,1533,5,287,0,0,1533,1536,3,638,319,0,1534,1536,3,638,319,0,1535,1530,1,0,0,0,1535,1532,1,0,0,0,1535,1534,1,0,0,0,1536,129,1,0,0,0,1537,1538,5,387,0,0,1538,1539,5,143,0,0,1539,1540,5,227,0,0,1540,131,1,0,0,0,1541,1542,5,143,0,0,1542,1543,5,227,0,0,1543,1544,5,134,0,0,1544,133,1,0,0,0,1545,1546,5,5,0,0,1546,1547,5,227,0,0,1547,1548,5,134,0,0,1548,135,1,0,0,0,1549,1550,5,387,0,0,1550,1551,5,5,0,0,1551,1552,5,227,0,0,1552,137,1,0,0,0,1553,1555,5,212,0,0,1554,1556,5,276,0,0,1555,1554,1,0,0,0,1555,1556,1,0,0,0,1556,1557,1,0,0,0,1557,1558,5,329,0,0,1558,1564,3,478,239,0,1559,1560,7,11,0,0,1560,1562,5,239,0,0,1561,1563,3,630,315,0,1562,1561,1,0,0,0,1562,1563,1,0,0,0,1563,1565,1,0,0,0,1564,1559,1,0,0,0,1564,1565,1,0,0,0,1565,139,1,0,0,0,1566,1571,3,142,71,0,1567,1568,5,397,0,0,1568,1570,3,142,71,0,1569,1567,1,0,0,0,1570,1573,1,0,0,0,1571,1569,1,0,0,0,1571,1572,1,0,0,0,1572,141,1,0,0,0,1573,1571,1,0,0,0,1574,1575,3,144,72,0,1575,1576,5,426,0,0,1576,143,1,0,0,0,1577,1578,7,12,0,0,1578,145,1,0,0,0,1579,1581,5,58,0,0,1580,1582,5,333,0,0,1581,1580,1,0,0,0,1581,1582,1,0,0,0,1582,1583,1,0,0,0,1583,1584,5,141,0,0,1584,1585,3,554,277,0,1585,1586,5,17,0,0,1586,1589,5,426,0,0,1587,1588,5,370,0,0,1588,1590,3,140,70,0,1589,1587,1,0,0,0,1589,1590,1,0,0,0,1590,147,1,0,0,0,1591,1593,5,101,0,0,1592,1594,5,333,0,0,1593,1592,1,0,0,0,1593,1594,1,0,0,0,1594,1595,1,0,0,0,1595,1597,5,141,0,0,1596,1598,3,30,15,0,1597,1596,1,0,0,0,1597,1598,1,0,0,0,1598,1599,1,0,0,0,1599,1600,3,556,278,0,1600,149,1,0,0,0,1601,1602,5,271,0,0,1602,1603,7,13,0,0,1603,151,1,0,0,0,1604,1605,5,58,0,0,1605,1606,5,333,0,0,1606,1607,5,194,0,0,1607,1608,5,432,0,0,1608,1610,5,399,0,0,1609,1611,3,248,124,0,1610,1609,1,0,0,0,1610,1611,1,0,0,0,1611,1612,1,0,0,0,1612,1613,5,400,0,0,1613,1614,3,580,290,0,1614,153,1,0,0,0,1615,1616,5,101,0,0,1616,1617,5,333,0,0,1617,1619,5,194,0,0,1618,1620,3,30,15,0,1619,1618,1,0,0,0,1619,1620,1,0,0,0,1620,1621,1,0,0,0,1621,1622,5,432,0,0,1622,155,1,0,0,0,1623,1624,5,58,0,0,1624,1625,5,155,0,0,1625,1626,3,638,319,0,1626,1627,5,224,0,0,1627,1628,5,329,0,0,1628,1629,3,478,239,0,1629,1630,3,264,132,0,1630,1631,5,17,0,0,1631,1635,5,426,0,0,1632,1633,5,387,0,0,1633,1634,5,84,0,0,1634,1636,5,265,0,0,1635,1632,1,0,0,0,1635,1636,1,0,0,0,1636,1639,1,0,0,0,1637,1638,5,150,0,0,1638,1640,3,226,113,0,1639,1637,1,0,0,0,1639,1640,1,0,0,0,1640,1644,1,0,0,0,1641,1642,5,154,0,0,1642,1643,5,329,0,0,1643,1645,3,478,239,0,1644,1641,1,0,0,0,1644,1645,1,0,0,0,1645,1649,1,0,0,0,1646,1647,5,238,0,0,1647,1648,5,32,0,0,1648,1650,3,264,132,0,1649,1646,1,0,0,0,1649,1650,1,0,0,0,1650,1655,1,0,0,0,1651,1653,3,222,111,0,1652,1651,1,0,0,0,1652,1653,1,0,0,0,1653,1654,1,0,0,0,1654,1656,3,246,123,0,1655,1652,1,0,0,0,1655,1656,1,0,0,0,1656,1658,1,0,0,0,1657,1659,3,424,212,0,1658,1657,1,0,0,0,1658,1659,1,0,0,0,1659,1661,1,0,0,0,1660,1662,3,224,112,0,1661,1660,1,0,0,0,1661,1662,1,0,0,0,1662,1664,1,0,0,0,1663,1665,3,196,98,0,1664,1663,1,0,0,0,1664,1665,1,0,0,0,1665,157,1,0,0,0,1666,1667,5,101,0,0,1667,1669,5,155,0,0,1668,1670,3,30,15,0,1669,1668,1,0,0,0,1669,1670,1,0,0,0,1670,1671,1,0,0,0,1671,1672,3,638,319,0,1672,1673,5,224,0,0,1673,1674,3,478,239,0,1674,159,1,0,0,0,1675,1678,5,58,0,0,1676,1677,5,228,0,0,1677,1679,5,278,0,0,1678,1676,1,0,0,0,1678,1679,1,0,0,0,1679,1680,1,0,0,0,1680,1682,5,378,0,0,1681,1683,3,32,16,0,1682,1681,1,0,0,0,1682,1683,1,0,0,0,1683,1684,1,0,0,0,1684,1689,3,484,242,0,1685,1686,5,399,0,0,1686,1687,3,304,152,0,1687,1688,5,400,0,0,1688,1690,1,0,0,0,1689,1685,1,0,0,0,1689,1690,1,0,0,0,1690,1692,1,0,0,0,1691,1693,3,196,98,0,1692,1691,1,0,0,0,1692,1693,1,0,0,0,1693,1695,1,0,0,0,1694,1696,3,162,81,0,1695,1694,1,0,0,0,1695,1696,1,0,0,0,1696,1698,1,0,0,0,1697,1699,3,224,112,0,1698,1697,1,0,0,0,1698,1699,1,0,0,0,1699,1700,1,0,0,0,1700,1701,5,17,0,0,1701,1702,3,380,190,0,1702,161,1,0,0,0,1703,1704,5,238,0,0,1704,1710,5,224,0,0,1705,1706,5,399,0,0,1706,1711,3,254,127,0,1707,1708,5,316,0,0,1708,1709,5,399,0,0,1709,1711,3,204,102,0,1710,1705,1,0,0,0,1710,1707,1,0,0,0,1711,1712,1,0,0,0,1712,1713,5,400,0,0,1713,163,1,0,0,0,1714,1717,3,166,83,0,1715,1717,3,168,84,0,1716,1714,1,0,0,0,1716,1715,1,0,0,0,1717,165,1,0,0,0,1718,1719,5,42,0,0,1719,1720,5,224,0,0,1720,1721,5,399,0,0,1721,1722,3,254,127,0,1722,1723,5,400,0,0,1723,167,1,0,0,0,1724,1725,3,170,85,0,1725,1726,3,172,86,0,1726,169,1,0,0,0,1727,1728,5,98,0,0,1728,1729,5,224,0,0,1729,1730,5,399,0,0,1730,1731,3,254,127,0,1731,1732,5,400,0,0,1732,171,1,0,0,0,1733,1734,5,315,0,0,1734,1735,5,224,0,0,1735,1736,5,399,0,0,1736,1737,3,254,127,0,1737,1738,5,400,0,0,1738,173,1,0,0,0,1739,1740,5,101,0,0,1740,1742,5,378,0,0,1741,1743,3,30,15,0,1742,1741,1,0,0,0,1742,1743,1,0,0,0,1743,1744,1,0,0,0,1744,1745,3,482,241,0,1745,175,1,0,0,0,1746,1747,5,58,0,0,1747,1748,5,202,0,0,1748,1750,5,378,0,0,1749,1751,3,32,16,0,1750,1749,1,0,0,0,1750,1751,1,0,0,0,1751,1752,1,0,0,0,1752,1754,3,484,242,0,1753,1755,3,38,19,0,1754,1753,1,0,0,0,1754,1755,1,0,0,0,1755,1757,1,0,0,0,1756,1758,3,196,98,0,1757,1756,1,0,0,0,1757,1758,1,0,0,0,1758,1760,1,0,0,0,1759,1761,3,162,81,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761,1763,1,0,0,0,1762,1764,3,164,82,0,1763,1762,1,0,0,0,1763,1764,1,0,0,0,1764,1766,1,0,0,0,1765,1767,3,222,111,0,1766,1765,1,0,0,0,1766,1767,1,0,0,0,1767,1769,1,0,0,0,1768,1770,3,246,123,0,1769,1768,1,0,0,0,1769,1770,1,0,0,0,1770,1772,1,0,0,0,1771,1773,3,424,212,0,1772,1771,1,0,0,0,1772,1773,1,0,0,0,1773,1775,1,0,0,0,1774,1776,3,224,112,0,1775,1774,1,0,0,0,1775,1776,1,0,0,0,1776,1777,1,0,0,0,1777,1778,5,17,0,0,1778,1779,3,380,190,0,1779,177,1,0,0,0,1780,1781,5,101,0,0,1781,1782,5,202,0,0,1782,1784,5,378,0,0,1783,1785,3,30,15,0,1784,1783,1,0,0,0,1784,1785,1,0,0,0,1785,1786,1,0,0,0,1786,1787,3,482,241,0,1787,179,1,0,0,0,1788,1789,5,58,0,0,1789,1790,5,293,0,0,1790,1791,5,258,0,0,1791,1792,3,638,319,0,1792,1794,3,188,94,0,1793,1795,3,190,95,0,1794,1793,1,0,0,0,1794,1795,1,0,0,0,1795,1797,1,0,0,0,1796,1798,3,268,134,0,1797,1796,1,0,0,0,1797,1798,1,0,0,0,1798,1799,1,0,0,0,1799,1800,3,192,96,0,1800,181,1,0,0,0,1801,1802,5,101,0,0,1802,1803,5,293,0,0,1803,1804,5,258,0,0,1804,1805,3,638,319,0,1805,183,1,0,0,0,1806,1807,5,9,0,0,1807,1808,5,293,0,0,1808,1809,5,258,0,0,1809,1810,3,638,319,0,1810,1811,3,186,93,0,1811,185,1,0,0,0,1812,1818,3,188,94,0,1813,1818,3,190,95,0,1814,1818,3,268,134,0,1815,1818,3,192,96,0,1816,1818,5,115,0,0,1817,1812,1,0,0,0,1817,1813,1,0,0,0,1817,1814,1,0,0,0,1817,1815,1,0,0,0,1817,1816,1,0,0,0,1818,187,1,0,0,0,1819,1820,5,59,0,0,1820,1835,5,426,0,0,1821,1823,5,111,0,0,1822,1824,5,431,0,0,1823,1822,1,0,0,0,1823,1824,1,0,0,0,1824,1825,1,0,0,0,1825,1832,3,578,289,0,1826,1830,5,20,0,0,1827,1828,5,223,0,0,1828,1830,5,32,0,0,1829,1826,1,0,0,0,1829,1827,1,0,0,0,1830,1831,1,0,0,0,1831,1833,5,426,0,0,1832,1829,1,0,0,0,1832,1833,1,0,0,0,1833,1835,1,0,0,0,1834,1819,1,0,0,0,1834,1821,1,0,0,0,1835,189,1,0,0,0,1836,1837,5,116,0,0,1837,1838,5,17,0,0,1838,1839,5,426,0,0,1839,191,1,0,0,0,1840,1842,5,85,0,0,1841,1840,1,0,0,0,1841,1842,1,0,0,0,1842,1843,1,0,0,0,1843,1844,5,17,0,0,1844,1845,3,2,1,0,1845,193,1,0,0,0,1846,1849,3,638,319,0,1847,1849,5,426,0,0,1848,1846,1,0,0,0,1848,1847,1,0,0,0,1849,195,1,0,0,0,1850,1851,5,47,0,0,1851,1852,5,426,0,0,1852,197,1,0,0,0,1853,1854,5,183,0,0,1854,1855,5,431,0,0,1855,199,1,0,0,0,1856,1857,5,238,0,0,1857,1866,5,32,0,0,1858,1861,5,399,0,0,1859,1862,3,202,101,0,1860,1862,3,254,127,0,1861,1859,1,0,0,0,1861,1860,1,0,0,0,1862,1867,1,0,0,0,1863,1864,5,316,0,0,1864,1865,5,399,0,0,1865,1867,3,204,102,0,1866,1858,1,0,0,0,1866,1863,1,0,0,0,1867,1868,1,0,0,0,1868,1869,5,400,0,0,1869,201,1,0,0,0,1870,1875,3,316,158,0,1871,1872,5,397,0,0,1872,1874,3,316,158,0,1873,1871,1,0,0,0,1874,1877,1,0,0,0,1875,1873,1,0,0,0,1875,1876,1,0,0,0,1876,203,1,0,0,0,1877,1875,1,0,0,0,1878,1883,3,206,103,0,1879,1880,5,397,0,0,1880,1882,3,206,103,0,1881,1879,1,0,0,0,1882,1885,1,0,0,0,1883,1881,1,0,0,0,1883,1884,1,0,0,0,1884,205,1,0,0,0,1885,1883,1,0,0,0,1886,1905,3,256,128,0,1887,1892,3,666,333,0,1888,1892,3,668,334,0,1889,1892,3,672,336,0,1890,1892,3,674,337,0,1891,1887,1,0,0,0,1891,1888,1,0,0,0,1891,1889,1,0,0,0,1891,1890,1,0,0,0,1892,1893,1,0,0,0,1893,1894,5,399,0,0,1894,1895,3,256,128,0,1895,1896,5,400,0,0,1896,1905,1,0,0,0,1897,1898,7,14,0,0,1898,1899,5,399,0,0,1899,1900,5,431,0,0,1900,1901,5,397,0,0,1901,1902,3,256,128,0,1902,1903,5,400,0,0,1903,1905,1,0,0,0,1904,1886,1,0,0,0,1904,1891,1,0,0,0,1904,1897,1,0,0,0,1905,207,1,0,0,0,1906,1907,5,42,0,0,1907,1908,5,32,0,0,1908,1909,5,399,0,0,1909,1910,3,254,127,0,1910,1917,5,400,0,0,1911,1912,5,315,0,0,1912,1913,5,32,0,0,1913,1914,5,399,0,0,1914,1915,3,262,131,0,1915,1916,5,400,0,0,1916,1918,1,0,0,0,1917,1911,1,0,0,0,1917,1918,1,0,0,0,1918,1919,1,0,0,0,1919,1920,5,166,0,0,1920,1921,5,431,0,0,1921,1922,5,31,0,0,1922,209,1,0,0,0,1923,1924,5,310,0,0,1924,1925,5,32,0,0,1925,1926,5,399,0,0,1926,1927,3,254,127,0,1927,1928,5,400,0,0,1928,1929,5,224,0,0,1929,1930,5,399,0,0,1930,1931,3,290,145,0,1931,1933,5,400,0,0,1932,1934,3,40,20,0,1933,1932,1,0,0,0,1933,1934,1,0,0,0,1934,211,1,0,0,0,1935,1938,3,218,109,0,1936,1938,3,220,110,0,1937,1935,1,0,0,0,1937,1936,1,0,0,0,1938,213,1,0,0,0,1939,1940,5,266,0,0,1940,1941,5,426,0,0,1941,215,1,0,0,0,1942,1943,5,267,0,0,1943,1944,5,426,0,0,1944,217,1,0,0,0,1945,1946,5,291,0,0,1946,1947,5,137,0,0,1947,1948,5,301,0,0,1948,1952,5,426,0,0,1949,1950,5,387,0,0,1950,1951,5,302,0,0,1951,1953,3,226,113,0,1952,1949,1,0,0,0,1952,1953,1,0,0,0,1953,219,1,0,0,0,1954,1955,5,291,0,0,1955,1956,5,137,0,0,1956,1958,5,87,0,0,1957,1959,3,236,118,0,1958,1957,1,0,0,0,1958,1959,1,0,0,0,1959,1961,1,0,0,0,1960,1962,3,238,119,0,1961,1960,1,0,0,0,1961,1962,1,0,0,0,1962,1964,1,0,0,0,1963,1965,3,240,120,0,1964,1963,1,0,0,0,1964,1965,1,0,0,0,1965,1967,1,0,0,0,1966,1968,3,242,121,0,1967,1966,1,0,0,0,1967,1968,1,0,0,0,1968,1970,1,0,0,0,1969,1971,3,244,122,0,1970,1969,1,0,0,0,1970,1971,1,0,0,0,1971,221,1,0,0,0,1972,1975,3,220,110,0,1973,1975,3,218,109,0,1974,1972,1,0,0,0,1974,1973,1,0,0,0,1975,223,1,0,0,0,1976,1977,5,332,0,0,1977,1978,3,226,113,0,1978,225,1,0,0,0,1979,1980,5,399,0,0,1980,1981,3,228,114,0,1981,1982,5,400,0,0,1982,227,1,0,0,0,1983,1993,3,232,116,0,1984,1989,5,426,0,0,1985,1986,5,397,0,0,1986,1988,5,426,0,0,1987,1985,1,0,0,0,1988,1991,1,0,0,0,1989,1987,1,0,0,0,1989,1990,1,0,0,0,1990,1993,1,0,0,0,1991,1989,1,0,0,0,1992,1983,1,0,0,0,1992,1984,1,0,0,0,1993,229,1,0,0,0,1994,1995,5,399,0,0,1995,1996,3,232,116,0,1996,1997,5,400,0,0,1997,231,1,0,0,0,1998,2003,3,234,117,0,1999,2e3,5,397,0,0,2e3,2002,3,234,117,0,2001,1999,1,0,0,0,2002,2005,1,0,0,0,2003,2001,1,0,0,0,2003,2004,1,0,0,0,2004,233,1,0,0,0,2005,2003,1,0,0,0,2006,2007,5,426,0,0,2007,2008,5,405,0,0,2008,2009,5,426,0,0,2009,235,1,0,0,0,2010,2011,5,127,0,0,2011,2012,5,334,0,0,2012,2013,5,32,0,0,2013,2017,5,426,0,0,2014,2015,5,110,0,0,2015,2016,5,32,0,0,2016,2018,5,426,0,0,2017,2014,1,0,0,0,2017,2018,1,0,0,0,2018,237,1,0,0,0,2019,2020,5,44,0,0,2020,2021,5,169,0,0,2021,2022,5,334,0,0,2022,2023,5,32,0,0,2023,2024,5,426,0,0,2024,239,1,0,0,0,2025,2026,5,198,0,0,2026,2027,5,174,0,0,2027,2028,5,334,0,0,2028,2029,5,32,0,0,2029,2030,5,426,0,0,2030,241,1,0,0,0,2031,2032,5,186,0,0,2032,2033,5,334,0,0,2033,2034,5,32,0,0,2034,2035,5,426,0,0,2035,243,1,0,0,0,2036,2037,5,219,0,0,2037,2038,5,85,0,0,2038,2039,5,17,0,0,2039,2040,5,426,0,0,2040,245,1,0,0,0,2041,2042,5,321,0,0,2042,2043,5,17,0,0,2043,2044,5,160,0,0,2044,2045,5,426,0,0,2045,2046,5,233,0,0,2046,2051,5,426,0,0,2047,2048,5,159,0,0,2048,2049,5,426,0,0,2049,2050,5,232,0,0,2050,2052,5,426,0,0,2051,2047,1,0,0,0,2051,2052,1,0,0,0,2052,2083,1,0,0,0,2053,2054,5,321,0,0,2054,2055,5,32,0,0,2055,2059,5,426,0,0,2056,2057,5,387,0,0,2057,2058,5,302,0,0,2058,2060,3,226,113,0,2059,2056,1,0,0,0,2059,2060,1,0,0,0,2060,2064,1,0,0,0,2061,2062,5,321,0,0,2062,2063,5,17,0,0,2063,2065,3,638,319,0,2064,2061,1,0,0,0,2064,2065,1,0,0,0,2065,2083,1,0,0,0,2066,2067,5,321,0,0,2067,2068,5,32,0,0,2068,2072,3,638,319,0,2069,2070,5,387,0,0,2070,2071,5,302,0,0,2071,2073,3,226,113,0,2072,2069,1,0,0,0,2072,2073,1,0,0,0,2073,2077,1,0,0,0,2074,2075,5,321,0,0,2075,2076,5,17,0,0,2076,2078,3,638,319,0,2077,2074,1,0,0,0,2077,2078,1,0,0,0,2078,2083,1,0,0,0,2079,2080,5,321,0,0,2080,2081,5,17,0,0,2081,2083,3,638,319,0,2082,2041,1,0,0,0,2082,2053,1,0,0,0,2082,2066,1,0,0,0,2082,2079,1,0,0,0,2083,247,1,0,0,0,2084,2089,3,310,155,0,2085,2086,5,397,0,0,2086,2088,3,310,155,0,2087,2085,1,0,0,0,2088,2091,1,0,0,0,2089,2087,1,0,0,0,2089,2090,1,0,0,0,2090,249,1,0,0,0,2091,2089,1,0,0,0,2092,2097,3,312,156,0,2093,2094,5,397,0,0,2094,2096,3,312,156,0,2095,2093,1,0,0,0,2096,2099,1,0,0,0,2097,2095,1,0,0,0,2097,2098,1,0,0,0,2098,251,1,0,0,0,2099,2097,1,0,0,0,2100,2105,3,340,170,0,2101,2102,5,397,0,0,2102,2104,3,340,170,0,2103,2101,1,0,0,0,2104,2107,1,0,0,0,2105,2103,1,0,0,0,2105,2106,1,0,0,0,2106,253,1,0,0,0,2107,2105,1,0,0,0,2108,2113,3,256,128,0,2109,2110,5,397,0,0,2110,2112,3,256,128,0,2111,2109,1,0,0,0,2112,2115,1,0,0,0,2113,2111,1,0,0,0,2113,2114,1,0,0,0,2114,255,1,0,0,0,2115,2113,1,0,0,0,2116,2119,3,682,341,0,2117,2119,4,128,0,0,2118,2116,1,0,0,0,2118,2117,1,0,0,0,2119,257,1,0,0,0,2120,2121,3,638,319,0,2121,259,1,0,0,0,2122,2132,3,256,128,0,2123,2128,5,395,0,0,2124,2129,5,104,0,0,2125,2129,5,175,0,0,2126,2129,5,375,0,0,2127,2129,3,638,319,0,2128,2124,1,0,0,0,2128,2125,1,0,0,0,2128,2126,1,0,0,0,2128,2127,1,0,0,0,2129,2131,1,0,0,0,2130,2123,1,0,0,0,2131,2134,1,0,0,0,2132,2130,1,0,0,0,2132,2133,1,0,0,0,2133,261,1,0,0,0,2134,2132,1,0,0,0,2135,2140,3,302,151,0,2136,2137,5,397,0,0,2137,2139,3,302,151,0,2138,2136,1,0,0,0,2139,2142,1,0,0,0,2140,2138,1,0,0,0,2140,2141,1,0,0,0,2141,263,1,0,0,0,2142,2140,1,0,0,0,2143,2144,5,399,0,0,2144,2145,3,254,127,0,2145,2146,5,400,0,0,2146,265,1,0,0,0,2147,2149,3,268,134,0,2148,2150,3,270,135,0,2149,2148,1,0,0,0,2149,2150,1,0,0,0,2150,2153,1,0,0,0,2151,2153,3,272,136,0,2152,2147,1,0,0,0,2152,2151,1,0,0,0,2153,267,1,0,0,0,2154,2157,3,662,331,0,2155,2157,3,664,332,0,2156,2154,1,0,0,0,2156,2155,1,0,0,0,2157,269,1,0,0,0,2158,2159,7,15,0,0,2159,271,1,0,0,0,2160,2164,5,109,0,0,2161,2162,5,216,0,0,2162,2164,5,109,0,0,2163,2160,1,0,0,0,2163,2161,1,0,0,0,2164,273,1,0,0,0,2165,2166,7,16,0,0,2166,275,1,0,0,0,2167,2168,5,55,0,0,2168,2170,3,638,319,0,2169,2167,1,0,0,0,2169,2170,1,0,0,0,2170,2171,1,0,0,0,2171,2173,3,280,140,0,2172,2174,3,336,168,0,2173,2172,1,0,0,0,2173,2174,1,0,0,0,2174,277,1,0,0,0,2175,2176,5,55,0,0,2176,2177,3,638,319,0,2177,2179,3,280,140,0,2178,2180,3,338,169,0,2179,2178,1,0,0,0,2179,2180,1,0,0,0,2180,279,1,0,0,0,2181,2184,3,282,141,0,2182,2184,3,284,142,0,2183,2181,1,0,0,0,2183,2182,1,0,0,0,2184,281,1,0,0,0,2185,2186,3,334,167,0,2186,2187,3,264,132,0,2187,283,1,0,0,0,2188,2189,5,40,0,0,2189,2190,5,399,0,0,2190,2191,3,580,290,0,2191,2192,5,400,0,0,2192,285,1,0,0,0,2193,2194,5,55,0,0,2194,2196,3,638,319,0,2195,2193,1,0,0,0,2195,2196,1,0,0,0,2196,2197,1,0,0,0,2197,2198,5,136,0,0,2198,2199,5,173,0,0,2199,2200,3,264,132,0,2200,2201,5,269,0,0,2201,2202,3,478,239,0,2202,2204,3,264,132,0,2203,2205,3,336,168,0,2204,2203,1,0,0,0,2204,2205,1,0,0,0,2205,287,1,0,0,0,2206,2207,5,55,0,0,2207,2208,3,638,319,0,2208,2209,5,136,0,0,2209,2210,5,173,0,0,2210,2211,3,264,132,0,2211,2212,5,269,0,0,2212,2213,3,478,239,0,2213,2215,3,264,132,0,2214,2216,3,338,169,0,2215,2214,1,0,0,0,2215,2216,1,0,0,0,2216,289,1,0,0,0,2217,2220,3,296,148,0,2218,2220,3,292,146,0,2219,2217,1,0,0,0,2219,2218,1,0,0,0,2220,291,1,0,0,0,2221,2226,3,294,147,0,2222,2223,5,397,0,0,2223,2225,3,294,147,0,2224,2222,1,0,0,0,2225,2228,1,0,0,0,2226,2224,1,0,0,0,2226,2227,1,0,0,0,2227,293,1,0,0,0,2228,2226,1,0,0,0,2229,2230,5,399,0,0,2230,2231,3,296,148,0,2231,2232,5,400,0,0,2232,295,1,0,0,0,2233,2238,3,572,286,0,2234,2235,5,397,0,0,2235,2237,3,572,286,0,2236,2234,1,0,0,0,2237,2240,1,0,0,0,2238,2236,1,0,0,0,2238,2239,1,0,0,0,2239,297,1,0,0,0,2240,2238,1,0,0,0,2241,2242,7,17,0,0,2242,299,1,0,0,0,2243,2244,5,220,0,0,2244,2245,7,18,0,0,2245,301,1,0,0,0,2246,2248,3,256,128,0,2247,2249,3,298,149,0,2248,2247,1,0,0,0,2248,2249,1,0,0,0,2249,2251,1,0,0,0,2250,2252,3,300,150,0,2251,2250,1,0,0,0,2251,2252,1,0,0,0,2252,303,1,0,0,0,2253,2258,3,306,153,0,2254,2255,5,397,0,0,2255,2257,3,306,153,0,2256,2254,1,0,0,0,2257,2260,1,0,0,0,2258,2256,1,0,0,0,2258,2259,1,0,0,0,2259,305,1,0,0,0,2260,2258,1,0,0,0,2261,2264,3,258,129,0,2262,2263,5,47,0,0,2263,2265,5,426,0,0,2264,2262,1,0,0,0,2264,2265,1,0,0,0,2265,307,1,0,0,0,2266,2269,3,256,128,0,2267,2269,3,580,290,0,2268,2266,1,0,0,0,2268,2267,1,0,0,0,2269,2271,1,0,0,0,2270,2272,3,298,149,0,2271,2270,1,0,0,0,2271,2272,1,0,0,0,2272,2274,1,0,0,0,2273,2275,3,300,150,0,2274,2273,1,0,0,0,2274,2275,1,0,0,0,2275,309,1,0,0,0,2276,2277,3,258,129,0,2277,2280,3,342,171,0,2278,2279,5,47,0,0,2279,2281,5,426,0,0,2280,2278,1,0,0,0,2280,2281,1,0,0,0,2281,311,1,0,0,0,2282,2285,3,314,157,0,2283,2285,3,316,158,0,2284,2282,1,0,0,0,2284,2283,1,0,0,0,2285,313,1,0,0,0,2286,2289,3,286,143,0,2287,2289,3,276,138,0,2288,2286,1,0,0,0,2288,2287,1,0,0,0,2289,315,1,0,0,0,2290,2291,3,258,129,0,2291,2293,3,342,171,0,2292,2294,3,318,159,0,2293,2292,1,0,0,0,2293,2294,1,0,0,0,2294,2297,1,0,0,0,2295,2296,5,47,0,0,2296,2298,5,426,0,0,2297,2295,1,0,0,0,2297,2298,1,0,0,0,2298,317,1,0,0,0,2299,2302,3,320,160,0,2300,2302,3,322,161,0,2301,2299,1,0,0,0,2301,2300,1,0,0,0,2302,319,1,0,0,0,2303,2304,5,55,0,0,2304,2306,3,638,319,0,2305,2303,1,0,0,0,2305,2306,1,0,0,0,2306,2307,1,0,0,0,2307,2308,5,269,0,0,2308,2309,3,478,239,0,2309,2310,5,399,0,0,2310,2311,3,256,128,0,2311,2313,5,400,0,0,2312,2314,3,336,168,0,2313,2312,1,0,0,0,2313,2314,1,0,0,0,2314,321,1,0,0,0,2315,2316,5,55,0,0,2316,2318,3,638,319,0,2317,2315,1,0,0,0,2317,2318,1,0,0,0,2318,2319,1,0,0,0,2319,2321,3,330,165,0,2320,2322,3,336,168,0,2321,2320,1,0,0,0,2321,2322,1,0,0,0,2322,323,1,0,0,0,2323,2326,3,326,163,0,2324,2326,3,328,164,0,2325,2323,1,0,0,0,2325,2324,1,0,0,0,2326,325,1,0,0,0,2327,2328,5,55,0,0,2328,2330,3,638,319,0,2329,2327,1,0,0,0,2329,2330,1,0,0,0,2330,2331,1,0,0,0,2331,2332,5,269,0,0,2332,2333,3,478,239,0,2333,2334,5,399,0,0,2334,2335,3,256,128,0,2335,2337,5,400,0,0,2336,2338,3,338,169,0,2337,2336,1,0,0,0,2337,2338,1,0,0,0,2338,327,1,0,0,0,2339,2340,5,55,0,0,2340,2342,3,638,319,0,2341,2339,1,0,0,0,2341,2342,1,0,0,0,2342,2343,1,0,0,0,2343,2345,3,330,165,0,2344,2346,3,338,169,0,2345,2344,1,0,0,0,2345,2346,1,0,0,0,2346,329,1,0,0,0,2347,2348,5,216,0,0,2348,2354,5,219,0,0,2349,2350,5,83,0,0,2350,2354,3,332,166,0,2351,2354,3,284,142,0,2352,2354,3,334,167,0,2353,2347,1,0,0,0,2353,2349,1,0,0,0,2353,2351,1,0,0,0,2353,2352,1,0,0,0,2354,331,1,0,0,0,2355,2359,3,572,286,0,2356,2359,3,550,275,0,2357,2359,3,560,280,0,2358,2355,1,0,0,0,2358,2356,1,0,0,0,2358,2357,1,0,0,0,2359,333,1,0,0,0,2360,2361,5,251,0,0,2361,2364,5,173,0,0,2362,2364,5,358,0,0,2363,2360,1,0,0,0,2363,2362,1,0,0,0,2364,335,1,0,0,0,2365,2367,3,266,133,0,2366,2368,3,274,137,0,2367,2366,1,0,0,0,2367,2368,1,0,0,0,2368,337,1,0,0,0,2369,2371,3,266,133,0,2370,2372,3,274,137,0,2371,2370,1,0,0,0,2371,2372,1,0,0,0,2372,339,1,0,0,0,2373,2374,3,258,129,0,2374,2375,5,396,0,0,2375,2378,3,342,171,0,2376,2377,5,47,0,0,2377,2379,5,426,0,0,2378,2376,1,0,0,0,2378,2379,1,0,0,0,2379,341,1,0,0,0,2380,2381,3,346,173,0,2381,343,1,0,0,0,2382,2387,3,342,171,0,2383,2384,5,397,0,0,2384,2386,3,342,171,0,2385,2383,1,0,0,0,2386,2389,1,0,0,0,2387,2385,1,0,0,0,2387,2388,1,0,0,0,2388,345,1,0,0,0,2389,2387,1,0,0,0,2390,2396,3,348,174,0,2391,2396,3,350,175,0,2392,2396,3,352,176,0,2393,2396,3,354,177,0,2394,2396,3,356,178,0,2395,2390,1,0,0,0,2395,2391,1,0,0,0,2395,2392,1,0,0,0,2395,2393,1,0,0,0,2395,2394,1,0,0,0,2396,347,1,0,0,0,2397,2435,5,340,0,0,2398,2435,5,311,0,0,2399,2435,5,162,0,0,2400,2435,5,163,0,0,2401,2435,5,26,0,0,2402,2435,5,28,0,0,2403,2435,5,131,0,0,2404,2435,5,264,0,0,2405,2407,5,100,0,0,2406,2408,5,248,0,0,2407,2406,1,0,0,0,2407,2408,1,0,0,0,2408,2435,1,0,0,0,2409,2435,5,71,0,0,2410,2435,5,72,0,0,2411,2435,5,337,0,0,2412,2435,5,338,0,0,2413,2414,5,337,0,0,2414,2415,5,387,0,0,2415,2416,5,188,0,0,2416,2417,5,336,0,0,2417,2435,5,394,0,0,2418,2435,5,323,0,0,2419,2435,5,27,0,0,2420,2428,3,680,340,0,2421,2422,5,399,0,0,2422,2425,5,431,0,0,2423,2424,5,397,0,0,2424,2426,5,431,0,0,2425,2423,1,0,0,0,2425,2426,1,0,0,0,2426,2427,1,0,0,0,2427,2429,5,400,0,0,2428,2421,1,0,0,0,2428,2429,1,0,0,0,2429,2435,1,0,0,0,2430,2431,7,19,0,0,2431,2432,5,399,0,0,2432,2433,5,431,0,0,2433,2435,5,400,0,0,2434,2397,1,0,0,0,2434,2398,1,0,0,0,2434,2399,1,0,0,0,2434,2400,1,0,0,0,2434,2401,1,0,0,0,2434,2402,1,0,0,0,2434,2403,1,0,0,0,2434,2404,1,0,0,0,2434,2405,1,0,0,0,2434,2409,1,0,0,0,2434,2410,1,0,0,0,2434,2411,1,0,0,0,2434,2412,1,0,0,0,2434,2413,1,0,0,0,2434,2418,1,0,0,0,2434,2419,1,0,0,0,2434,2420,1,0,0,0,2434,2430,1,0,0,0,2435,349,1,0,0,0,2436,2437,5,16,0,0,2437,2438,5,409,0,0,2438,2439,3,346,173,0,2439,2440,5,411,0,0,2440,351,1,0,0,0,2441,2442,5,324,0,0,2442,2443,5,409,0,0,2443,2444,3,252,126,0,2444,2445,5,411,0,0,2445,353,1,0,0,0,2446,2447,5,198,0,0,2447,2448,5,409,0,0,2448,2449,3,348,174,0,2449,2450,5,397,0,0,2450,2451,3,346,173,0,2451,2452,5,411,0,0,2452,355,1,0,0,0,2453,2454,5,357,0,0,2454,2455,5,409,0,0,2455,2456,3,344,172,0,2456,2457,5,411,0,0,2457,357,1,0,0,0,2458,2460,7,20,0,0,2459,2461,7,21,0,0,2460,2459,1,0,0,0,2460,2461,1,0,0,0,2461,359,1,0,0,0,2462,2464,3,364,182,0,2463,2462,1,0,0,0,2463,2464,1,0,0,0,2464,2465,1,0,0,0,2465,2466,3,362,181,0,2466,361,1,0,0,0,2467,2470,3,368,184,0,2468,2470,3,372,186,0,2469,2467,1,0,0,0,2469,2468,1,0,0,0,2470,363,1,0,0,0,2471,2472,5,387,0,0,2472,2477,3,366,183,0,2473,2474,5,397,0,0,2474,2476,3,366,183,0,2475,2473,1,0,0,0,2476,2479,1,0,0,0,2477,2475,1,0,0,0,2477,2478,1,0,0,0,2478,365,1,0,0,0,2479,2477,1,0,0,0,2480,2485,3,638,319,0,2481,2482,5,399,0,0,2482,2483,3,254,127,0,2483,2484,5,400,0,0,2484,2486,1,0,0,0,2485,2481,1,0,0,0,2485,2486,1,0,0,0,2486,2487,1,0,0,0,2487,2488,5,17,0,0,2488,2489,5,399,0,0,2489,2490,3,360,180,0,2490,2491,5,400,0,0,2491,367,1,0,0,0,2492,2498,3,370,185,0,2493,2494,3,358,179,0,2494,2495,3,370,185,0,2495,2497,1,0,0,0,2496,2493,1,0,0,0,2497,2500,1,0,0,0,2498,2496,1,0,0,0,2498,2499,1,0,0,0,2499,369,1,0,0,0,2500,2498,1,0,0,0,2501,2502,3,448,224,0,2502,2503,3,382,191,0,2503,2505,3,500,250,0,2504,2506,3,462,231,0,2505,2504,1,0,0,0,2505,2506,1,0,0,0,2506,2508,1,0,0,0,2507,2509,3,494,247,0,2508,2507,1,0,0,0,2508,2509,1,0,0,0,2509,2511,1,0,0,0,2510,2512,3,520,260,0,2511,2510,1,0,0,0,2511,2512,1,0,0,0,2512,2514,1,0,0,0,2513,2515,3,528,264,0,2514,2513,1,0,0,0,2514,2515,1,0,0,0,2515,2517,1,0,0,0,2516,2518,3,512,256,0,2517,2516,1,0,0,0,2517,2518,1,0,0,0,2518,2520,1,0,0,0,2519,2521,3,530,265,0,2520,2519,1,0,0,0,2520,2521,1,0,0,0,2521,2523,1,0,0,0,2522,2524,3,542,271,0,2523,2522,1,0,0,0,2523,2524,1,0,0,0,2524,2526,1,0,0,0,2525,2527,3,544,272,0,2526,2525,1,0,0,0,2526,2527,1,0,0,0,2527,2529,1,0,0,0,2528,2530,3,546,273,0,2529,2528,1,0,0,0,2529,2530,1,0,0,0,2530,2532,1,0,0,0,2531,2533,3,548,274,0,2532,2531,1,0,0,0,2532,2533,1,0,0,0,2533,2535,1,0,0,0,2534,2536,3,386,193,0,2535,2534,1,0,0,0,2535,2536,1,0,0,0,2536,2573,1,0,0,0,2537,2538,3,448,224,0,2538,2540,3,500,250,0,2539,2541,3,462,231,0,2540,2539,1,0,0,0,2540,2541,1,0,0,0,2541,2543,1,0,0,0,2542,2544,3,494,247,0,2543,2542,1,0,0,0,2543,2544,1,0,0,0,2544,2546,1,0,0,0,2545,2547,3,520,260,0,2546,2545,1,0,0,0,2546,2547,1,0,0,0,2547,2549,1,0,0,0,2548,2550,3,528,264,0,2549,2548,1,0,0,0,2549,2550,1,0,0,0,2550,2552,1,0,0,0,2551,2553,3,512,256,0,2552,2551,1,0,0,0,2552,2553,1,0,0,0,2553,2555,1,0,0,0,2554,2556,3,530,265,0,2555,2554,1,0,0,0,2555,2556,1,0,0,0,2556,2558,1,0,0,0,2557,2559,3,542,271,0,2558,2557,1,0,0,0,2558,2559,1,0,0,0,2559,2561,1,0,0,0,2560,2562,3,544,272,0,2561,2560,1,0,0,0,2561,2562,1,0,0,0,2562,2564,1,0,0,0,2563,2565,3,546,273,0,2564,2563,1,0,0,0,2564,2565,1,0,0,0,2565,2567,1,0,0,0,2566,2568,3,548,274,0,2567,2566,1,0,0,0,2567,2568,1,0,0,0,2568,2570,1,0,0,0,2569,2571,3,386,193,0,2570,2569,1,0,0,0,2570,2571,1,0,0,0,2571,2573,1,0,0,0,2572,2501,1,0,0,0,2572,2537,1,0,0,0,2573,371,1,0,0,0,2574,2575,3,382,191,0,2575,2576,3,376,188,0,2576,2579,1,0,0,0,2577,2579,3,376,188,0,2578,2574,1,0,0,0,2578,2577,1,0,0,0,2579,373,1,0,0,0,2580,2582,3,500,250,0,2581,2583,3,448,224,0,2582,2581,1,0,0,0,2582,2583,1,0,0,0,2583,2585,1,0,0,0,2584,2586,3,494,247,0,2585,2584,1,0,0,0,2585,2586,1,0,0,0,2586,2588,1,0,0,0,2587,2589,3,520,260,0,2588,2587,1,0,0,0,2588,2589,1,0,0,0,2589,2591,1,0,0,0,2590,2592,3,528,264,0,2591,2590,1,0,0,0,2591,2592,1,0,0,0,2592,2594,1,0,0,0,2593,2595,3,512,256,0,2594,2593,1,0,0,0,2594,2595,1,0,0,0,2595,2597,1,0,0,0,2596,2598,3,530,265,0,2597,2596,1,0,0,0,2597,2598,1,0,0,0,2598,2605,1,0,0,0,2599,2600,5,399,0,0,2600,2601,3,376,188,0,2601,2602,5,400,0,0,2602,2605,1,0,0,0,2603,2605,3,496,248,0,2604,2580,1,0,0,0,2604,2599,1,0,0,0,2604,2603,1,0,0,0,2605,375,1,0,0,0,2606,2608,3,374,187,0,2607,2609,3,378,189,0,2608,2607,1,0,0,0,2608,2609,1,0,0,0,2609,2611,1,0,0,0,2610,2612,3,542,271,0,2611,2610,1,0,0,0,2611,2612,1,0,0,0,2612,2614,1,0,0,0,2613,2615,3,544,272,0,2614,2613,1,0,0,0,2614,2615,1,0,0,0,2615,2617,1,0,0,0,2616,2618,3,546,273,0,2617,2616,1,0,0,0,2617,2618,1,0,0,0,2618,2620,1,0,0,0,2619,2621,3,548,274,0,2620,2619,1,0,0,0,2620,2621,1,0,0,0,2621,2623,1,0,0,0,2622,2624,3,386,193,0,2623,2622,1,0,0,0,2623,2624,1,0,0,0,2624,377,1,0,0,0,2625,2626,3,358,179,0,2626,2627,3,374,187,0,2627,2629,1,0,0,0,2628,2625,1,0,0,0,2629,2630,1,0,0,0,2630,2628,1,0,0,0,2630,2631,1,0,0,0,2631,379,1,0,0,0,2632,2634,3,364,182,0,2633,2632,1,0,0,0,2633,2634,1,0,0,0,2634,2635,1,0,0,0,2635,2636,3,376,188,0,2636,381,1,0,0,0,2637,2654,5,161,0,0,2638,2639,5,235,0,0,2639,2641,3,384,192,0,2640,2642,3,32,16,0,2641,2640,1,0,0,0,2641,2642,1,0,0,0,2642,2655,1,0,0,0,2643,2645,5,166,0,0,2644,2646,5,329,0,0,2645,2644,1,0,0,0,2645,2646,1,0,0,0,2646,2647,1,0,0,0,2647,2652,3,624,312,0,2648,2649,5,399,0,0,2649,2650,3,254,127,0,2650,2651,5,400,0,0,2651,2653,1,0,0,0,2652,2648,1,0,0,0,2652,2653,1,0,0,0,2653,2655,1,0,0,0,2654,2638,1,0,0,0,2654,2643,1,0,0,0,2655,383,1,0,0,0,2656,2658,5,188,0,0,2657,2656,1,0,0,0,2657,2658,1,0,0,0,2658,2659,1,0,0,0,2659,2660,5,93,0,0,2660,2662,5,426,0,0,2661,2663,3,222,111,0,2662,2661,1,0,0,0,2662,2663,1,0,0,0,2663,2665,1,0,0,0,2664,2666,3,246,123,0,2665,2664,1,0,0,0,2665,2666,1,0,0,0,2666,2670,1,0,0,0,2667,2668,5,329,0,0,2668,2670,3,624,312,0,2669,2657,1,0,0,0,2669,2667,1,0,0,0,2670,385,1,0,0,0,2671,2680,5,185,0,0,2672,2673,5,431,0,0,2673,2675,5,397,0,0,2674,2672,1,0,0,0,2674,2675,1,0,0,0,2675,2676,1,0,0,0,2676,2681,5,431,0,0,2677,2678,5,431,0,0,2678,2679,5,223,0,0,2679,2681,5,431,0,0,2680,2674,1,0,0,0,2680,2677,1,0,0,0,2681,387,1,0,0,0,2682,2683,3,256,128,0,2683,2684,5,405,0,0,2684,2685,3,390,195,0,2685,389,1,0,0,0,2686,2689,5,83,0,0,2687,2689,3,590,295,0,2688,2686,1,0,0,0,2688,2687,1,0,0,0,2689,391,1,0,0,0,2690,2691,5,304,0,0,2691,2696,3,388,194,0,2692,2693,5,397,0,0,2693,2695,3,388,194,0,2694,2692,1,0,0,0,2695,2698,1,0,0,0,2696,2694,1,0,0,0,2696,2697,1,0,0,0,2697,393,1,0,0,0,2698,2696,1,0,0,0,2699,2700,5,318,0,0,2700,2709,5,344,0,0,2701,2706,3,396,198,0,2702,2703,5,397,0,0,2703,2705,3,396,198,0,2704,2702,1,0,0,0,2705,2708,1,0,0,0,2706,2704,1,0,0,0,2706,2707,1,0,0,0,2707,2710,1,0,0,0,2708,2706,1,0,0,0,2709,2701,1,0,0,0,2709,2710,1,0,0,0,2710,2723,1,0,0,0,2711,2713,5,48,0,0,2712,2714,5,389,0,0,2713,2712,1,0,0,0,2713,2714,1,0,0,0,2714,2723,1,0,0,0,2715,2717,5,289,0,0,2716,2718,5,389,0,0,2717,2716,1,0,0,0,2717,2718,1,0,0,0,2718,2723,1,0,0,0,2719,2720,5,304,0,0,2720,2721,5,22,0,0,2721,2723,7,22,0,0,2722,2699,1,0,0,0,2722,2711,1,0,0,0,2722,2715,1,0,0,0,2722,2719,1,0,0,0,2723,395,1,0,0,0,2724,2725,5,168,0,0,2725,2726,5,182,0,0,2726,2730,5,312,0,0,2727,2728,5,261,0,0,2728,2730,7,23,0,0,2729,2724,1,0,0,0,2729,2727,1,0,0,0,2730,397,1,0,0,0,2731,2734,3,402,201,0,2732,2734,3,404,202,0,2733,2731,1,0,0,0,2733,2732,1,0,0,0,2734,2737,1,0,0,0,2735,2733,1,0,0,0,2735,2736,1,0,0,0,2736,2739,1,0,0,0,2737,2735,1,0,0,0,2738,2740,3,400,200,0,2739,2738,1,0,0,0,2739,2740,1,0,0,0,2740,399,1,0,0,0,2741,2742,5,383,0,0,2742,2743,5,216,0,0,2743,2746,5,201,0,0,2744,2745,5,11,0,0,2745,2747,3,580,290,0,2746,2744,1,0,0,0,2746,2747,1,0,0,0,2747,2748,1,0,0,0,2748,2749,5,335,0,0,2749,2751,5,161,0,0,2750,2752,3,264,132,0,2751,2750,1,0,0,0,2751,2752,1,0,0,0,2752,2753,1,0,0,0,2753,2754,5,374,0,0,2754,2755,3,538,269,0,2755,401,1,0,0,0,2756,2757,5,383,0,0,2757,2758,5,201,0,0,2758,2759,5,11,0,0,2759,2760,3,580,290,0,2760,2764,5,335,0,0,2761,2762,5,365,0,0,2762,2765,3,392,196,0,2763,2765,5,86,0,0,2764,2761,1,0,0,0,2764,2763,1,0,0,0,2765,403,1,0,0,0,2766,2767,5,383,0,0,2767,2768,5,201,0,0,2768,2772,5,335,0,0,2769,2770,5,365,0,0,2770,2773,3,392,196,0,2771,2773,5,86,0,0,2772,2769,1,0,0,0,2772,2771,1,0,0,0,2773,405,1,0,0,0,2774,2775,5,246,0,0,2775,2776,5,426,0,0,2776,407,1,0,0,0,2777,2778,5,352,0,0,2778,2779,5,426,0,0,2779,409,1,0,0,0,2780,2781,5,320,0,0,2781,2782,5,426,0,0,2782,411,1,0,0,0,2783,2814,5,9,0,0,2784,2785,5,329,0,0,2785,2786,3,478,239,0,2786,2787,3,414,207,0,2787,2815,1,0,0,0,2788,2789,5,378,0,0,2789,2791,3,482,241,0,2790,2792,5,17,0,0,2791,2790,1,0,0,0,2791,2792,1,0,0,0,2792,2793,1,0,0,0,2793,2794,3,418,209,0,2794,2815,1,0,0,0,2795,2796,5,202,0,0,2796,2797,5,378,0,0,2797,2801,3,482,241,0,2798,2802,3,36,18,0,2799,2802,3,38,19,0,2800,2802,5,265,0,0,2801,2798,1,0,0,0,2801,2799,1,0,0,0,2801,2800,1,0,0,0,2802,2815,1,0,0,0,2803,2804,3,70,35,0,2804,2805,3,420,210,0,2805,2815,1,0,0,0,2806,2807,5,69,0,0,2807,2815,3,422,211,0,2808,2809,5,155,0,0,2809,2810,3,638,319,0,2810,2811,5,224,0,0,2811,2812,3,624,312,0,2812,2813,5,265,0,0,2813,2815,1,0,0,0,2814,2784,1,0,0,0,2814,2788,1,0,0,0,2814,2795,1,0,0,0,2814,2803,1,0,0,0,2814,2806,1,0,0,0,2814,2808,1,0,0,0,2815,413,1,0,0,0,2816,2817,5,274,0,0,2817,2818,5,341,0,0,2818,2906,3,480,240,0,2819,2820,5,102,0,0,2820,2906,5,239,0,0,2821,2906,3,426,213,0,2822,2824,5,4,0,0,2823,2825,3,32,16,0,2824,2823,1,0,0,0,2824,2825,1,0,0,0,2825,2830,1,0,0,0,2826,2828,3,626,313,0,2827,2829,3,424,212,0,2828,2827,1,0,0,0,2828,2829,1,0,0,0,2829,2831,1,0,0,0,2830,2826,1,0,0,0,2831,2832,1,0,0,0,2832,2830,1,0,0,0,2832,2833,1,0,0,0,2833,2906,1,0,0,0,2834,2838,5,342,0,0,2835,2837,3,626,313,0,2836,2835,1,0,0,0,2837,2840,1,0,0,0,2838,2836,1,0,0,0,2838,2839,1,0,0,0,2839,2906,1,0,0,0,2840,2838,1,0,0,0,2841,2845,5,15,0,0,2842,2844,3,626,313,0,2843,2842,1,0,0,0,2844,2847,1,0,0,0,2845,2843,1,0,0,0,2845,2846,1,0,0,0,2846,2906,1,0,0,0,2847,2845,1,0,0,0,2848,2852,5,353,0,0,2849,2851,3,626,313,0,2850,2849,1,0,0,0,2851,2854,1,0,0,0,2852,2850,1,0,0,0,2852,2853,1,0,0,0,2853,2906,1,0,0,0,2854,2852,1,0,0,0,2855,2856,5,304,0,0,2856,2857,5,332,0,0,2857,2906,3,226,113,0,2858,2859,5,363,0,0,2859,2861,5,332,0,0,2860,2862,3,30,15,0,2861,2860,1,0,0,0,2861,2862,1,0,0,0,2862,2863,1,0,0,0,2863,2906,3,226,113,0,2864,2906,3,210,105,0,2865,2868,5,216,0,0,2866,2869,5,310,0,0,2867,2869,3,40,20,0,2868,2866,1,0,0,0,2868,2867,1,0,0,0,2869,2906,1,0,0,0,2870,2871,5,113,0,0,2871,2872,3,626,313,0,2872,2873,5,387,0,0,2873,2874,5,329,0,0,2874,2875,3,478,239,0,2875,2906,1,0,0,0,2876,2877,5,237,0,0,2877,2878,5,45,0,0,2878,2879,5,399,0,0,2879,2880,3,310,155,0,2880,2881,5,400,0,0,2881,2906,1,0,0,0,2882,2883,5,101,0,0,2883,2884,5,55,0,0,2884,2906,3,638,319,0,2885,2888,5,4,0,0,2886,2889,3,288,144,0,2887,2889,3,278,139,0,2888,2886,1,0,0,0,2888,2887,1,0,0,0,2889,2906,1,0,0,0,2890,2892,3,626,313,0,2891,2890,1,0,0,0,2891,2892,1,0,0,0,2892,2893,1,0,0,0,2893,2906,3,416,208,0,2894,2895,5,304,0,0,2895,2896,5,236,0,0,2896,2906,3,126,63,0,2897,2898,5,304,0,0,2898,2899,5,237,0,0,2899,2900,5,316,0,0,2900,2901,5,399,0,0,2901,2902,3,204,102,0,2902,2903,5,400,0,0,2903,2906,1,0,0,0,2904,2906,3,430,215,0,2905,2816,1,0,0,0,2905,2819,1,0,0,0,2905,2821,1,0,0,0,2905,2822,1,0,0,0,2905,2834,1,0,0,0,2905,2841,1,0,0,0,2905,2848,1,0,0,0,2905,2855,1,0,0,0,2905,2858,1,0,0,0,2905,2864,1,0,0,0,2905,2865,1,0,0,0,2905,2870,1,0,0,0,2905,2876,1,0,0,0,2905,2882,1,0,0,0,2905,2885,1,0,0,0,2905,2891,1,0,0,0,2905,2894,1,0,0,0,2905,2897,1,0,0,0,2905,2904,1,0,0,0,2906,415,1,0,0,0,2907,2908,5,304,0,0,2908,2909,5,129,0,0,2909,3040,3,432,216,0,2910,2911,5,304,0,0,2911,2912,5,189,0,0,2912,3040,5,426,0,0,2913,3040,5,53,0,0,2914,2924,5,304,0,0,2915,2916,5,301,0,0,2916,2920,5,426,0,0,2917,2918,5,387,0,0,2918,2919,5,302,0,0,2919,2921,3,226,113,0,2920,2917,1,0,0,0,2920,2921,1,0,0,0,2921,2925,1,0,0,0,2922,2923,5,302,0,0,2923,2925,3,226,113,0,2924,2915,1,0,0,0,2924,2922,1,0,0,0,2925,3040,1,0,0,0,2926,2927,5,363,0,0,2927,2928,5,302,0,0,2928,3040,3,226,113,0,2929,2930,5,274,0,0,2930,2931,5,341,0,0,2931,3040,3,626,313,0,2932,2933,5,166,0,0,2933,2934,5,431,0,0,2934,3040,5,31,0,0,2935,2936,5,304,0,0,2936,2937,5,310,0,0,2937,2938,5,189,0,0,2938,2939,5,399,0,0,2939,2944,3,428,214,0,2940,2941,5,397,0,0,2941,2943,3,428,214,0,2942,2940,1,0,0,0,2943,2946,1,0,0,0,2944,2942,1,0,0,0,2944,2945,1,0,0,0,2945,2947,1,0,0,0,2946,2944,1,0,0,0,2947,2948,5,400,0,0,2948,3040,1,0,0,0,2949,2950,5,216,0,0,2950,3040,7,24,0,0,2951,3040,3,208,104,0,2952,2953,5,49,0,0,2953,2956,5,426,0,0,2954,2955,5,11,0,0,2955,2957,5,380,0,0,2956,2954,1,0,0,0,2956,2957,1,0,0,0,2957,2962,1,0,0,0,2958,2959,5,42,0,0,2959,2960,5,166,0,0,2960,2961,5,431,0,0,2961,2963,5,31,0,0,2962,2958,1,0,0,0,2962,2963,1,0,0,0,2963,2965,1,0,0,0,2964,2966,3,542,271,0,2965,2964,1,0,0,0,2965,2966,1,0,0,0,2966,2968,1,0,0,0,2967,2969,3,406,203,0,2968,2967,1,0,0,0,2968,2969,1,0,0,0,2969,2974,1,0,0,0,2970,2971,5,387,0,0,2971,2972,5,235,0,0,2972,2973,5,332,0,0,2973,2975,3,226,113,0,2974,2970,1,0,0,0,2974,2975,1,0,0,0,2975,3040,1,0,0,0,2976,2977,5,365,0,0,2977,2978,5,319,0,0,2978,2980,5,134,0,0,2979,2981,5,45,0,0,2980,2979,1,0,0,0,2980,2981,1,0,0,0,2981,2982,1,0,0,0,2982,2983,3,256,128,0,2983,2984,5,304,0,0,2984,2987,3,226,113,0,2985,2986,5,47,0,0,2986,2988,5,426,0,0,2987,2985,1,0,0,0,2987,2988,1,0,0,0,2988,3040,1,0,0,0,2989,2990,5,365,0,0,2990,2991,5,319,0,0,2991,2992,5,304,0,0,2992,3040,3,226,113,0,2993,2995,5,38,0,0,2994,2996,5,45,0,0,2995,2994,1,0,0,0,2995,2996,1,0,0,0,2996,2997,1,0,0,0,2997,2998,3,256,128,0,2998,2999,3,258,129,0,2999,3001,3,342,171,0,3e3,3002,3,324,162,0,3001,3e3,1,0,0,0,3001,3002,1,0,0,0,3002,3005,1,0,0,0,3003,3004,5,47,0,0,3004,3006,5,426,0,0,3005,3003,1,0,0,0,3005,3006,1,0,0,0,3006,3010,1,0,0,0,3007,3011,5,130,0,0,3008,3009,5,6,0,0,3009,3011,3,638,319,0,3010,3007,1,0,0,0,3010,3008,1,0,0,0,3010,3011,1,0,0,0,3011,3013,1,0,0,0,3012,3014,3,34,17,0,3013,3012,1,0,0,0,3013,3014,1,0,0,0,3014,3040,1,0,0,0,3015,3018,5,4,0,0,3016,3018,5,278,0,0,3017,3015,1,0,0,0,3017,3016,1,0,0,0,3018,3019,1,0,0,0,3019,3020,5,46,0,0,3020,3021,5,399,0,0,3021,3022,3,248,124,0,3022,3024,5,400,0,0,3023,3025,3,34,17,0,3024,3023,1,0,0,0,3024,3025,1,0,0,0,3025,3040,1,0,0,0,3026,3027,5,365,0,0,3027,3029,5,46,0,0,3028,3030,3,34,17,0,3029,3028,1,0,0,0,3029,3030,1,0,0,0,3030,3040,1,0,0,0,3031,3037,3,268,134,0,3032,3034,5,218,0,0,3033,3035,5,34,0,0,3034,3033,1,0,0,0,3034,3035,1,0,0,0,3035,3038,1,0,0,0,3036,3038,5,222,0,0,3037,3032,1,0,0,0,3037,3036,1,0,0,0,3038,3040,1,0,0,0,3039,2907,1,0,0,0,3039,2910,1,0,0,0,3039,2913,1,0,0,0,3039,2914,1,0,0,0,3039,2926,1,0,0,0,3039,2929,1,0,0,0,3039,2932,1,0,0,0,3039,2935,1,0,0,0,3039,2949,1,0,0,0,3039,2951,1,0,0,0,3039,2952,1,0,0,0,3039,2976,1,0,0,0,3039,2989,1,0,0,0,3039,2993,1,0,0,0,3039,3017,1,0,0,0,3039,3026,1,0,0,0,3039,3031,1,0,0,0,3040,417,1,0,0,0,3041,3042,5,304,0,0,3042,3043,5,332,0,0,3043,3068,3,226,113,0,3044,3045,5,363,0,0,3045,3047,5,332,0,0,3046,3048,3,30,15,0,3047,3046,1,0,0,0,3047,3048,1,0,0,0,3048,3049,1,0,0,0,3049,3068,3,226,113,0,3050,3051,5,274,0,0,3051,3052,5,341,0,0,3052,3068,3,480,240,0,3053,3055,5,4,0,0,3054,3056,3,32,16,0,3055,3054,1,0,0,0,3055,3056,1,0,0,0,3056,3061,1,0,0,0,3057,3059,3,626,313,0,3058,3060,3,424,212,0,3059,3058,1,0,0,0,3059,3060,1,0,0,0,3060,3062,1,0,0,0,3061,3057,1,0,0,0,3062,3063,1,0,0,0,3063,3061,1,0,0,0,3063,3064,1,0,0,0,3064,3068,1,0,0,0,3065,3068,3,426,213,0,3066,3068,3,380,190,0,3067,3041,1,0,0,0,3067,3044,1,0,0,0,3067,3050,1,0,0,0,3067,3053,1,0,0,0,3067,3065,1,0,0,0,3067,3066,1,0,0,0,3068,419,1,0,0,0,3069,3070,3,472,236,0,3070,3071,5,304,0,0,3071,3072,5,76,0,0,3072,3073,3,230,115,0,3073,3085,1,0,0,0,3074,3075,3,472,236,0,3075,3076,5,304,0,0,3076,3077,5,236,0,0,3077,3078,3,128,64,0,3078,3085,1,0,0,0,3079,3080,3,472,236,0,3080,3081,5,304,0,0,3081,3082,7,25,0,0,3082,3083,5,426,0,0,3083,3085,1,0,0,0,3084,3069,1,0,0,0,3084,3074,1,0,0,0,3084,3079,1,0,0,0,3085,421,1,0,0,0,3086,3087,3,472,236,0,3087,3088,5,304,0,0,3088,3089,5,77,0,0,3089,3090,3,230,115,0,3090,3102,1,0,0,0,3091,3092,3,472,236,0,3092,3093,5,304,0,0,3093,3094,5,236,0,0,3094,3095,3,128,64,0,3095,3102,1,0,0,0,3096,3097,3,472,236,0,3097,3098,5,304,0,0,3098,3099,5,367,0,0,3099,3100,5,426,0,0,3100,3102,1,0,0,0,3101,3086,1,0,0,0,3101,3091,1,0,0,0,3101,3096,1,0,0,0,3102,423,1,0,0,0,3103,3104,5,189,0,0,3104,3105,5,426,0,0,3105,425,1,0,0,0,3106,3108,5,101,0,0,3107,3109,3,30,15,0,3108,3107,1,0,0,0,3108,3109,1,0,0,0,3109,3110,1,0,0,0,3110,3111,5,237,0,0,3111,3117,3,630,315,0,3112,3113,5,397,0,0,3113,3114,5,237,0,0,3114,3116,3,630,315,0,3115,3112,1,0,0,0,3116,3119,1,0,0,0,3117,3115,1,0,0,0,3117,3118,1,0,0,0,3118,3122,1,0,0,0,3119,3117,1,0,0,0,3120,3121,5,152,0,0,3121,3123,5,254,0,0,3122,3120,1,0,0,0,3122,3123,1,0,0,0,3123,3125,1,0,0,0,3124,3126,5,255,0,0,3125,3124,1,0,0,0,3125,3126,1,0,0,0,3126,3128,1,0,0,0,3127,3129,3,14,7,0,3128,3127,1,0,0,0,3128,3129,1,0,0,0,3129,427,1,0,0,0,3130,3133,3,572,286,0,3131,3133,3,294,147,0,3132,3130,1,0,0,0,3132,3131,1,0,0,0,3133,3134,1,0,0,0,3134,3135,5,405,0,0,3135,3136,5,426,0,0,3136,429,1,0,0,0,3137,3147,5,115,0,0,3138,3139,5,289,0,0,3139,3140,5,399,0,0,3140,3148,7,26,0,0,3141,3142,5,118,0,0,3142,3143,5,399,0,0,3143,3148,5,426,0,0,3144,3145,5,306,0,0,3145,3146,5,399,0,0,3146,3148,5,431,0,0,3147,3138,1,0,0,0,3147,3141,1,0,0,0,3147,3144,1,0,0,0,3148,3149,1,0,0,0,3149,3150,5,400,0,0,3150,431,1,0,0,0,3151,3152,5,160,0,0,3152,3153,5,426,0,0,3153,3154,5,233,0,0,3154,3155,5,426,0,0,3155,3156,5,301,0,0,3156,3161,5,426,0,0,3157,3158,5,159,0,0,3158,3159,5,426,0,0,3159,3160,5,232,0,0,3160,3162,5,426,0,0,3161,3157,1,0,0,0,3161,3162,1,0,0,0,3162,3165,1,0,0,0,3163,3165,3,638,319,0,3164,3151,1,0,0,0,3164,3163,1,0,0,0,3165,433,1,0,0,0,3166,3167,5,184,0,0,3167,3176,5,128,0,0,3168,3169,5,184,0,0,3169,3170,5,128,0,0,3170,3171,3,638,319,0,3171,3172,5,426,0,0,3172,3176,1,0,0,0,3173,3174,5,184,0,0,3174,3176,3,478,239,0,3175,3166,1,0,0,0,3175,3168,1,0,0,0,3175,3173,1,0,0,0,3176,435,1,0,0,0,3177,3179,5,58,0,0,3178,3180,5,333,0,0,3179,3178,1,0,0,0,3179,3180,1,0,0,0,3180,3182,1,0,0,0,3181,3183,5,345,0,0,3182,3181,1,0,0,0,3182,3183,1,0,0,0,3183,3185,1,0,0,0,3184,3186,5,123,0,0,3185,3184,1,0,0,0,3185,3186,1,0,0,0,3186,3187,1,0,0,0,3187,3189,5,329,0,0,3188,3190,3,32,16,0,3189,3188,1,0,0,0,3189,3190,1,0,0,0,3190,3191,1,0,0,0,3191,3248,3,480,240,0,3192,3194,3,434,217,0,3193,3195,3,200,100,0,3194,3193,1,0,0,0,3194,3195,1,0,0,0,3195,3197,1,0,0,0,3196,3198,3,222,111,0,3197,3196,1,0,0,0,3197,3198,1,0,0,0,3198,3200,1,0,0,0,3199,3201,3,246,123,0,3200,3199,1,0,0,0,3200,3201,1,0,0,0,3201,3203,1,0,0,0,3202,3204,3,424,212,0,3203,3202,1,0,0,0,3203,3204,1,0,0,0,3204,3206,1,0,0,0,3205,3207,3,224,112,0,3206,3205,1,0,0,0,3206,3207,1,0,0,0,3207,3209,1,0,0,0,3208,3210,3,198,99,0,3209,3208,1,0,0,0,3209,3210,1,0,0,0,3210,3249,1,0,0,0,3211,3212,5,399,0,0,3212,3213,3,250,125,0,3213,3214,5,400,0,0,3214,3216,1,0,0,0,3215,3211,1,0,0,0,3215,3216,1,0,0,0,3216,3218,1,0,0,0,3217,3219,3,196,98,0,3218,3217,1,0,0,0,3218,3219,1,0,0,0,3219,3221,1,0,0,0,3220,3222,3,200,100,0,3221,3220,1,0,0,0,3221,3222,1,0,0,0,3222,3224,1,0,0,0,3223,3225,3,208,104,0,3224,3223,1,0,0,0,3224,3225,1,0,0,0,3225,3227,1,0,0,0,3226,3228,3,210,105,0,3227,3226,1,0,0,0,3227,3228,1,0,0,0,3228,3230,1,0,0,0,3229,3231,3,222,111,0,3230,3229,1,0,0,0,3230,3231,1,0,0,0,3231,3233,1,0,0,0,3232,3234,3,246,123,0,3233,3232,1,0,0,0,3233,3234,1,0,0,0,3234,3236,1,0,0,0,3235,3237,3,424,212,0,3236,3235,1,0,0,0,3236,3237,1,0,0,0,3237,3239,1,0,0,0,3238,3240,3,224,112,0,3239,3238,1,0,0,0,3239,3240,1,0,0,0,3240,3242,1,0,0,0,3241,3243,3,198,99,0,3242,3241,1,0,0,0,3242,3243,1,0,0,0,3243,3246,1,0,0,0,3244,3245,5,17,0,0,3245,3247,3,380,190,0,3246,3244,1,0,0,0,3246,3247,1,0,0,0,3247,3249,1,0,0,0,3248,3192,1,0,0,0,3248,3215,1,0,0,0,3249,3313,1,0,0,0,3250,3251,5,58,0,0,3251,3252,5,195,0,0,3252,3254,5,329,0,0,3253,3255,3,32,16,0,3254,3253,1,0,0,0,3254,3255,1,0,0,0,3255,3256,1,0,0,0,3256,3310,3,480,240,0,3257,3259,3,434,217,0,3258,3260,3,222,111,0,3259,3258,1,0,0,0,3259,3260,1,0,0,0,3260,3262,1,0,0,0,3261,3263,3,246,123,0,3262,3261,1,0,0,0,3262,3263,1,0,0,0,3263,3265,1,0,0,0,3264,3266,3,424,212,0,3265,3264,1,0,0,0,3265,3266,1,0,0,0,3266,3268,1,0,0,0,3267,3269,3,224,112,0,3268,3267,1,0,0,0,3268,3269,1,0,0,0,3269,3271,1,0,0,0,3270,3272,3,198,99,0,3271,3270,1,0,0,0,3271,3272,1,0,0,0,3272,3311,1,0,0,0,3273,3274,5,399,0,0,3274,3275,3,250,125,0,3275,3276,5,400,0,0,3276,3278,1,0,0,0,3277,3273,1,0,0,0,3277,3278,1,0,0,0,3278,3280,1,0,0,0,3279,3281,3,196,98,0,3280,3279,1,0,0,0,3280,3281,1,0,0,0,3281,3283,1,0,0,0,3282,3284,3,200,100,0,3283,3282,1,0,0,0,3283,3284,1,0,0,0,3284,3286,1,0,0,0,3285,3287,3,208,104,0,3286,3285,1,0,0,0,3286,3287,1,0,0,0,3287,3289,1,0,0,0,3288,3290,3,210,105,0,3289,3288,1,0,0,0,3289,3290,1,0,0,0,3290,3292,1,0,0,0,3291,3293,3,222,111,0,3292,3291,1,0,0,0,3292,3293,1,0,0,0,3293,3295,1,0,0,0,3294,3296,3,246,123,0,3295,3294,1,0,0,0,3295,3296,1,0,0,0,3296,3298,1,0,0,0,3297,3299,3,424,212,0,3298,3297,1,0,0,0,3298,3299,1,0,0,0,3299,3301,1,0,0,0,3300,3302,3,224,112,0,3301,3300,1,0,0,0,3301,3302,1,0,0,0,3302,3304,1,0,0,0,3303,3305,3,198,99,0,3304,3303,1,0,0,0,3304,3305,1,0,0,0,3305,3308,1,0,0,0,3306,3307,5,17,0,0,3307,3309,3,380,190,0,3308,3306,1,0,0,0,3308,3309,1,0,0,0,3309,3311,1,0,0,0,3310,3257,1,0,0,0,3310,3277,1,0,0,0,3311,3313,1,0,0,0,3312,3177,1,0,0,0,3312,3250,1,0,0,0,3313,437,1,0,0,0,3314,3315,5,58,0,0,3315,3317,5,69,0,0,3316,3318,3,32,16,0,3317,3316,1,0,0,0,3317,3318,1,0,0,0,3318,3319,1,0,0,0,3319,3322,3,638,319,0,3320,3321,5,352,0,0,3321,3323,5,426,0,0,3322,3320,1,0,0,0,3322,3323,1,0,0,0,3323,3326,1,0,0,0,3324,3325,5,367,0,0,3325,3327,5,426,0,0,3326,3324,1,0,0,0,3326,3327,1,0,0,0,3327,3330,1,0,0,0,3328,3329,5,47,0,0,3329,3331,5,426,0,0,3330,3328,1,0,0,0,3330,3331,1,0,0,0,3331,3335,1,0,0,0,3332,3333,5,387,0,0,3333,3334,5,77,0,0,3334,3336,3,230,115,0,3335,3332,1,0,0,0,3335,3336,1,0,0,0,3336,439,1,0,0,0,3337,3338,5,101,0,0,3338,3340,5,69,0,0,3339,3341,3,30,15,0,3340,3339,1,0,0,0,3340,3341,1,0,0,0,3341,3342,1,0,0,0,3342,3343,3,638,319,0,3343,441,1,0,0,0,3344,3345,3,638,319,0,3345,3346,5,395,0,0,3346,3348,1,0,0,0,3347,3344,1,0,0,0,3348,3351,1,0,0,0,3349,3347,1,0,0,0,3349,3350,1,0,0,0,3350,3352,1,0,0,0,3351,3349,1,0,0,0,3352,3353,5,415,0,0,3353,443,1,0,0,0,3354,3359,3,580,290,0,3355,3356,5,397,0,0,3356,3358,3,580,290,0,3357,3355,1,0,0,0,3358,3361,1,0,0,0,3359,3357,1,0,0,0,3359,3360,1,0,0,0,3360,445,1,0,0,0,3361,3359,1,0,0,0,3362,3367,3,638,319,0,3363,3364,5,397,0,0,3364,3366,3,638,319,0,3365,3363,1,0,0,0,3366,3369,1,0,0,0,3367,3365,1,0,0,0,3367,3368,1,0,0,0,3368,447,1,0,0,0,3369,3367,1,0,0,0,3370,3371,5,139,0,0,3371,3372,3,450,225,0,3372,449,1,0,0,0,3373,3374,5,359,0,0,3374,3377,3,458,229,0,3375,3376,5,397,0,0,3376,3378,3,458,229,0,3377,3375,1,0,0,0,3378,3379,1,0,0,0,3379,3377,1,0,0,0,3379,3380,1,0,0,0,3380,3383,1,0,0,0,3381,3383,3,454,227,0,3382,3373,1,0,0,0,3382,3381,1,0,0,0,3383,451,1,0,0,0,3384,3388,3,468,234,0,3385,3387,3,462,231,0,3386,3385,1,0,0,0,3387,3390,1,0,0,0,3388,3386,1,0,0,0,3388,3389,1,0,0,0,3389,3417,1,0,0,0,3390,3388,1,0,0,0,3391,3395,3,498,249,0,3392,3394,3,462,231,0,3393,3392,1,0,0,0,3394,3397,1,0,0,0,3395,3393,1,0,0,0,3395,3396,1,0,0,0,3396,3417,1,0,0,0,3397,3395,1,0,0,0,3398,3402,3,486,243,0,3399,3401,3,462,231,0,3400,3399,1,0,0,0,3401,3404,1,0,0,0,3402,3400,1,0,0,0,3402,3403,1,0,0,0,3403,3417,1,0,0,0,3404,3402,1,0,0,0,3405,3409,3,492,246,0,3406,3408,3,462,231,0,3407,3406,1,0,0,0,3408,3411,1,0,0,0,3409,3407,1,0,0,0,3409,3410,1,0,0,0,3410,3417,1,0,0,0,3411,3409,1,0,0,0,3412,3413,5,399,0,0,3413,3414,3,454,227,0,3414,3415,5,400,0,0,3415,3417,1,0,0,0,3416,3384,1,0,0,0,3416,3391,1,0,0,0,3416,3398,1,0,0,0,3416,3405,1,0,0,0,3416,3412,1,0,0,0,3417,453,1,0,0,0,3418,3429,3,452,226,0,3419,3420,3,460,230,0,3420,3425,3,456,228,0,3421,3422,5,224,0,0,3422,3426,3,580,290,0,3423,3424,5,370,0,0,3424,3426,3,264,132,0,3425,3421,1,0,0,0,3425,3423,1,0,0,0,3425,3426,1,0,0,0,3426,3428,1,0,0,0,3427,3419,1,0,0,0,3428,3431,1,0,0,0,3429,3427,1,0,0,0,3429,3430,1,0,0,0,3430,455,1,0,0,0,3431,3429,1,0,0,0,3432,3437,3,468,234,0,3433,3437,3,498,249,0,3434,3437,3,486,243,0,3435,3437,3,492,246,0,3436,3432,1,0,0,0,3436,3433,1,0,0,0,3436,3434,1,0,0,0,3436,3435,1,0,0,0,3437,3441,1,0,0,0,3438,3440,3,462,231,0,3439,3438,1,0,0,0,3440,3443,1,0,0,0,3441,3439,1,0,0,0,3441,3442,1,0,0,0,3442,457,1,0,0,0,3443,3441,1,0,0,0,3444,3446,5,250,0,0,3445,3444,1,0,0,0,3445,3446,1,0,0,0,3446,3447,1,0,0,0,3447,3449,3,476,238,0,3448,3450,3,466,233,0,3449,3448,1,0,0,0,3449,3450,1,0,0,0,3450,3455,1,0,0,0,3451,3453,5,17,0,0,3452,3451,1,0,0,0,3452,3453,1,0,0,0,3453,3454,1,0,0,0,3454,3456,3,638,319,0,3455,3452,1,0,0,0,3455,3456,1,0,0,0,3456,3457,1,0,0,0,3457,3458,5,399,0,0,3458,3459,3,444,222,0,3459,3460,5,400,0,0,3460,459,1,0,0,0,3461,3476,5,397,0,0,3462,3473,5,157,0,0,3463,3473,5,60,0,0,3464,3466,7,27,0,0,3465,3467,5,231,0,0,3466,3465,1,0,0,0,3466,3467,1,0,0,0,3467,3473,1,0,0,0,3468,3470,5,180,0,0,3469,3471,7,28,0,0,3470,3469,1,0,0,0,3470,3471,1,0,0,0,3471,3473,1,0,0,0,3472,3462,1,0,0,0,3472,3463,1,0,0,0,3472,3464,1,0,0,0,3472,3468,1,0,0,0,3472,3473,1,0,0,0,3473,3474,1,0,0,0,3474,3476,5,171,0,0,3475,3461,1,0,0,0,3475,3472,1,0,0,0,3476,461,1,0,0,0,3477,3478,5,178,0,0,3478,3479,5,378,0,0,3479,3480,5,231,0,0,3480,3481,3,550,275,0,3481,3491,3,464,232,0,3482,3483,5,17,0,0,3483,3488,3,638,319,0,3484,3485,5,397,0,0,3485,3487,3,638,319,0,3486,3484,1,0,0,0,3487,3490,1,0,0,0,3488,3486,1,0,0,0,3488,3489,1,0,0,0,3489,3492,1,0,0,0,3490,3488,1,0,0,0,3491,3482,1,0,0,0,3491,3492,1,0,0,0,3492,3535,1,0,0,0,3493,3495,5,397,0,0,3494,3493,1,0,0,0,3494,3495,1,0,0,0,3495,3496,1,0,0,0,3496,3532,5,178,0,0,3497,3498,5,378,0,0,3498,3499,3,550,275,0,3499,3509,3,464,232,0,3500,3501,5,17,0,0,3501,3506,3,638,319,0,3502,3503,5,397,0,0,3503,3505,3,638,319,0,3504,3502,1,0,0,0,3505,3508,1,0,0,0,3506,3504,1,0,0,0,3506,3507,1,0,0,0,3507,3510,1,0,0,0,3508,3506,1,0,0,0,3509,3500,1,0,0,0,3509,3510,1,0,0,0,3510,3533,1,0,0,0,3511,3512,5,329,0,0,3512,3513,5,399,0,0,3513,3514,3,496,248,0,3514,3516,5,400,0,0,3515,3517,5,17,0,0,3516,3515,1,0,0,0,3516,3517,1,0,0,0,3517,3518,1,0,0,0,3518,3530,3,464,232,0,3519,3520,5,399,0,0,3520,3525,3,638,319,0,3521,3522,5,397,0,0,3522,3524,3,638,319,0,3523,3521,1,0,0,0,3524,3527,1,0,0,0,3525,3523,1,0,0,0,3525,3526,1,0,0,0,3526,3528,1,0,0,0,3527,3525,1,0,0,0,3528,3529,5,400,0,0,3529,3531,1,0,0,0,3530,3519,1,0,0,0,3530,3531,1,0,0,0,3531,3533,1,0,0,0,3532,3497,1,0,0,0,3532,3511,1,0,0,0,3533,3535,1,0,0,0,3534,3477,1,0,0,0,3534,3494,1,0,0,0,3535,463,1,0,0,0,3536,3537,3,638,319,0,3537,465,1,0,0,0,3538,3539,5,331,0,0,3539,3540,5,399,0,0,3540,3541,5,30,0,0,3541,3542,5,431,0,0,3542,3543,5,230,0,0,3543,3544,5,221,0,0,3544,3554,5,431,0,0,3545,3546,5,224,0,0,3546,3551,3,580,290,0,3547,3548,5,397,0,0,3548,3550,3,580,290,0,3549,3547,1,0,0,0,3550,3553,1,0,0,0,3551,3549,1,0,0,0,3551,3552,1,0,0,0,3552,3555,1,0,0,0,3553,3551,1,0,0,0,3554,3545,1,0,0,0,3554,3555,1,0,0,0,3555,3556,1,0,0,0,3556,3566,5,400,0,0,3557,3558,5,331,0,0,3558,3562,5,399,0,0,3559,3560,5,431,0,0,3560,3563,7,29,0,0,3561,3563,5,430,0,0,3562,3559,1,0,0,0,3562,3561,1,0,0,0,3563,3564,1,0,0,0,3564,3566,5,400,0,0,3565,3538,1,0,0,0,3565,3557,1,0,0,0,3566,467,1,0,0,0,3567,3569,3,476,238,0,3568,3570,3,226,113,0,3569,3568,1,0,0,0,3569,3570,1,0,0,0,3570,3572,1,0,0,0,3571,3573,3,466,233,0,3572,3571,1,0,0,0,3572,3573,1,0,0,0,3573,3575,1,0,0,0,3574,3576,3,470,235,0,3575,3574,1,0,0,0,3575,3576,1,0,0,0,3576,3581,1,0,0,0,3577,3579,5,17,0,0,3578,3577,1,0,0,0,3578,3579,1,0,0,0,3579,3580,1,0,0,0,3580,3582,3,638,319,0,3581,3578,1,0,0,0,3581,3582,1,0,0,0,3582,469,1,0,0,0,3583,3593,5,134,0,0,3584,3585,5,327,0,0,3585,3586,5,17,0,0,3586,3587,5,221,0,0,3587,3594,3,580,290,0,3588,3589,5,134,0,0,3589,3590,5,328,0,0,3590,3591,5,17,0,0,3591,3592,5,221,0,0,3592,3594,5,431,0,0,3593,3584,1,0,0,0,3593,3588,1,0,0,0,3594,471,1,0,0,0,3595,3596,3,638,319,0,3596,473,1,0,0,0,3597,3598,3,638,319,0,3598,475,1,0,0,0,3599,3602,3,478,239,0,3600,3602,3,482,241,0,3601,3599,1,0,0,0,3601,3600,1,0,0,0,3602,477,1,0,0,0,3603,3604,3,638,319,0,3604,3605,5,395,0,0,3605,3608,3,638,319,0,3606,3607,5,395,0,0,3607,3609,3,638,319,0,3608,3606,1,0,0,0,3608,3609,1,0,0,0,3609,3612,1,0,0,0,3610,3612,3,638,319,0,3611,3603,1,0,0,0,3611,3610,1,0,0,0,3612,479,1,0,0,0,3613,3614,3,638,319,0,3614,3615,5,395,0,0,3615,3618,3,638,319,0,3616,3617,5,395,0,0,3617,3619,3,638,319,0,3618,3616,1,0,0,0,3618,3619,1,0,0,0,3619,3622,1,0,0,0,3620,3622,3,638,319,0,3621,3613,1,0,0,0,3621,3620,1,0,0,0,3622,481,1,0,0,0,3623,3624,3,638,319,0,3624,3625,5,395,0,0,3625,3627,1,0,0,0,3626,3623,1,0,0,0,3626,3627,1,0,0,0,3627,3628,1,0,0,0,3628,3629,3,638,319,0,3629,483,1,0,0,0,3630,3631,3,638,319,0,3631,3632,5,395,0,0,3632,3634,1,0,0,0,3633,3630,1,0,0,0,3633,3634,1,0,0,0,3634,3635,1,0,0,0,3635,3636,3,638,319,0,3636,485,1,0,0,0,3637,3638,5,399,0,0,3638,3639,3,360,180,0,3639,3641,5,400,0,0,3640,3642,5,17,0,0,3641,3640,1,0,0,0,3641,3642,1,0,0,0,3642,3643,1,0,0,0,3643,3644,3,638,319,0,3644,487,1,0,0,0,3645,3646,5,237,0,0,3646,3647,5,32,0,0,3647,3649,3,536,268,0,3648,3650,3,542,271,0,3649,3648,1,0,0,0,3649,3650,1,0,0,0,3650,3659,1,0,0,0,3651,3659,3,542,271,0,3652,3654,3,546,273,0,3653,3655,3,548,274,0,3654,3653,1,0,0,0,3654,3655,1,0,0,0,3655,3659,1,0,0,0,3656,3659,3,548,274,0,3657,3659,3,544,272,0,3658,3645,1,0,0,0,3658,3651,1,0,0,0,3658,3652,1,0,0,0,3658,3656,1,0,0,0,3658,3657,1,0,0,0,3659,489,1,0,0,0,3660,3664,3,486,243,0,3661,3664,3,468,234,0,3662,3664,3,492,246,0,3663,3660,1,0,0,0,3663,3661,1,0,0,0,3663,3662,1,0,0,0,3664,491,1,0,0,0,3665,3666,3,638,319,0,3666,3667,5,399,0,0,3667,3668,5,224,0,0,3668,3670,3,490,245,0,3669,3671,3,488,244,0,3670,3669,1,0,0,0,3670,3671,1,0,0,0,3671,3687,1,0,0,0,3672,3673,5,432,0,0,3673,3674,5,399,0,0,3674,3675,3,580,290,0,3675,3684,5,400,0,0,3676,3677,5,397,0,0,3677,3678,5,432,0,0,3678,3679,5,399,0,0,3679,3680,3,580,290,0,3680,3681,5,400,0,0,3681,3683,1,0,0,0,3682,3676,1,0,0,0,3683,3686,1,0,0,0,3684,3682,1,0,0,0,3684,3685,1,0,0,0,3685,3688,1,0,0,0,3686,3684,1,0,0,0,3687,3672,1,0,0,0,3687,3688,1,0,0,0,3688,3689,1,0,0,0,3689,3691,5,400,0,0,3690,3692,3,638,319,0,3691,3690,1,0,0,0,3691,3692,1,0,0,0,3692,493,1,0,0,0,3693,3694,5,384,0,0,3694,3695,3,580,290,0,3695,495,1,0,0,0,3696,3715,5,374,0,0,3697,3702,3,538,269,0,3698,3699,5,397,0,0,3699,3701,3,538,269,0,3700,3698,1,0,0,0,3701,3704,1,0,0,0,3702,3700,1,0,0,0,3702,3703,1,0,0,0,3703,3716,1,0,0,0,3704,3702,1,0,0,0,3705,3706,5,399,0,0,3706,3707,3,534,267,0,3707,3712,5,400,0,0,3708,3709,5,397,0,0,3709,3711,3,538,269,0,3710,3708,1,0,0,0,3711,3714,1,0,0,0,3712,3710,1,0,0,0,3712,3713,1,0,0,0,3713,3716,1,0,0,0,3714,3712,1,0,0,0,3715,3697,1,0,0,0,3715,3705,1,0,0,0,3716,497,1,0,0,0,3717,3718,5,329,0,0,3718,3719,5,399,0,0,3719,3720,3,496,248,0,3720,3722,5,400,0,0,3721,3723,5,17,0,0,3722,3721,1,0,0,0,3722,3723,1,0,0,0,3723,3724,1,0,0,0,3724,3734,3,464,232,0,3725,3726,5,399,0,0,3726,3731,3,638,319,0,3727,3728,5,397,0,0,3728,3730,3,638,319,0,3729,3727,1,0,0,0,3730,3733,1,0,0,0,3731,3729,1,0,0,0,3731,3732,1,0,0,0,3732,3735,1,0,0,0,3733,3731,1,0,0,0,3734,3725,1,0,0,0,3734,3735,1,0,0,0,3735,3736,1,0,0,0,3736,3737,5,400,0,0,3737,499,1,0,0,0,3738,3740,5,299,0,0,3739,3741,5,436,0,0,3740,3739,1,0,0,0,3740,3741,1,0,0,0,3741,3755,1,0,0,0,3742,3744,7,21,0,0,3743,3742,1,0,0,0,3743,3744,1,0,0,0,3744,3745,1,0,0,0,3745,3750,3,504,252,0,3746,3747,5,397,0,0,3747,3749,3,504,252,0,3748,3746,1,0,0,0,3749,3752,1,0,0,0,3750,3748,1,0,0,0,3750,3751,1,0,0,0,3751,3756,1,0,0,0,3752,3750,1,0,0,0,3753,3754,5,347,0,0,3754,3756,3,502,251,0,3755,3743,1,0,0,0,3755,3753,1,0,0,0,3756,3759,1,0,0,0,3757,3759,3,506,253,0,3758,3738,1,0,0,0,3758,3757,1,0,0,0,3759,501,1,0,0,0,3760,3761,5,399,0,0,3761,3762,3,510,255,0,3762,3763,5,400,0,0,3763,3764,3,212,106,0,3764,3765,3,216,108,0,3765,3766,5,370,0,0,3766,3779,5,426,0,0,3767,3777,5,17,0,0,3768,3771,5,399,0,0,3769,3772,3,446,223,0,3770,3772,3,248,124,0,3771,3769,1,0,0,0,3771,3770,1,0,0,0,3772,3773,1,0,0,0,3773,3774,5,400,0,0,3774,3778,1,0,0,0,3775,3778,3,446,223,0,3776,3778,3,248,124,0,3777,3768,1,0,0,0,3777,3775,1,0,0,0,3777,3776,1,0,0,0,3778,3780,1,0,0,0,3779,3767,1,0,0,0,3779,3780,1,0,0,0,3780,3781,1,0,0,0,3781,3782,3,212,106,0,3782,3783,3,214,107,0,3783,503,1,0,0,0,3784,3808,3,442,221,0,3785,3788,3,256,128,0,3786,3788,3,580,290,0,3787,3785,1,0,0,0,3787,3786,1,0,0,0,3788,3805,1,0,0,0,3789,3791,5,17,0,0,3790,3789,1,0,0,0,3790,3791,1,0,0,0,3791,3792,1,0,0,0,3792,3806,3,638,319,0,3793,3794,5,17,0,0,3794,3795,5,399,0,0,3795,3800,3,638,319,0,3796,3797,5,397,0,0,3797,3799,3,638,319,0,3798,3796,1,0,0,0,3799,3802,1,0,0,0,3800,3798,1,0,0,0,3800,3801,1,0,0,0,3801,3803,1,0,0,0,3802,3800,1,0,0,0,3803,3804,5,400,0,0,3804,3806,1,0,0,0,3805,3790,1,0,0,0,3805,3793,1,0,0,0,3805,3806,1,0,0,0,3806,3808,1,0,0,0,3807,3784,1,0,0,0,3807,3787,1,0,0,0,3808,505,1,0,0,0,3809,3810,7,30,0,0,3810,3811,3,510,255,0,3811,3812,3,212,106,0,3812,3813,3,216,108,0,3813,3814,5,370,0,0,3814,3827,5,426,0,0,3815,3825,5,17,0,0,3816,3819,5,399,0,0,3817,3820,3,446,223,0,3818,3820,3,248,124,0,3819,3817,1,0,0,0,3819,3818,1,0,0,0,3820,3821,1,0,0,0,3821,3822,5,400,0,0,3822,3826,1,0,0,0,3823,3826,3,446,223,0,3824,3826,3,248,124,0,3825,3816,1,0,0,0,3825,3823,1,0,0,0,3825,3824,1,0,0,0,3826,3828,1,0,0,0,3827,3815,1,0,0,0,3827,3828,1,0,0,0,3828,3829,1,0,0,0,3829,3830,3,212,106,0,3830,3831,3,214,107,0,3831,507,1,0,0,0,3832,3835,3,442,221,0,3833,3835,3,580,290,0,3834,3832,1,0,0,0,3834,3833,1,0,0,0,3835,509,1,0,0,0,3836,3841,3,508,254,0,3837,3838,5,397,0,0,3838,3840,3,508,254,0,3839,3837,1,0,0,0,3840,3843,1,0,0,0,3841,3839,1,0,0,0,3841,3842,1,0,0,0,3842,511,1,0,0,0,3843,3841,1,0,0,0,3844,3845,5,386,0,0,3845,3846,3,638,319,0,3846,3847,5,17,0,0,3847,3855,3,514,257,0,3848,3849,5,397,0,0,3849,3850,3,638,319,0,3850,3851,5,17,0,0,3851,3852,3,514,257,0,3852,3854,1,0,0,0,3853,3848,1,0,0,0,3854,3857,1,0,0,0,3855,3853,1,0,0,0,3855,3856,1,0,0,0,3856,513,1,0,0,0,3857,3855,1,0,0,0,3858,3871,3,638,319,0,3859,3861,5,399,0,0,3860,3862,3,638,319,0,3861,3860,1,0,0,0,3861,3862,1,0,0,0,3862,3864,1,0,0,0,3863,3865,3,488,244,0,3864,3863,1,0,0,0,3864,3865,1,0,0,0,3865,3867,1,0,0,0,3866,3868,3,516,258,0,3867,3866,1,0,0,0,3867,3868,1,0,0,0,3868,3869,1,0,0,0,3869,3871,5,400,0,0,3870,3858,1,0,0,0,3870,3859,1,0,0,0,3871,515,1,0,0,0,3872,3886,7,31,0,0,3873,3874,5,354,0,0,3874,3880,5,247,0,0,3875,3876,5,62,0,0,3876,3880,5,291,0,0,3877,3878,5,431,0,0,3878,3880,5,247,0,0,3879,3873,1,0,0,0,3879,3875,1,0,0,0,3879,3877,1,0,0,0,3880,3887,1,0,0,0,3881,3882,5,25,0,0,3882,3883,3,518,259,0,3883,3884,5,11,0,0,3884,3885,3,518,259,0,3885,3887,1,0,0,0,3886,3879,1,0,0,0,3886,3881,1,0,0,0,3887,517,1,0,0,0,3888,3889,7,32,0,0,3889,3893,7,33,0,0,3890,3891,5,62,0,0,3891,3893,5,291,0,0,3892,3888,1,0,0,0,3892,3890,1,0,0,0,3893,519,1,0,0,0,3894,3895,5,144,0,0,3895,3901,5,32,0,0,3896,3902,3,256,128,0,3897,3902,3,522,261,0,3898,3902,3,524,262,0,3899,3900,5,399,0,0,3900,3902,5,400,0,0,3901,3896,1,0,0,0,3901,3897,1,0,0,0,3901,3898,1,0,0,0,3901,3899,1,0,0,0,3902,521,1,0,0,0,3903,3906,5,290,0,0,3904,3906,5,61,0,0,3905,3903,1,0,0,0,3905,3904,1,0,0,0,3906,3907,1,0,0,0,3907,3908,5,399,0,0,3908,3913,3,580,290,0,3909,3910,5,397,0,0,3910,3912,3,580,290,0,3911,3909,1,0,0,0,3912,3915,1,0,0,0,3913,3911,1,0,0,0,3913,3914,1,0,0,0,3914,3916,1,0,0,0,3915,3913,1,0,0,0,3916,3917,5,400,0,0,3917,523,1,0,0,0,3918,3923,3,540,270,0,3919,3920,5,387,0,0,3920,3924,5,290,0,0,3921,3922,5,387,0,0,3922,3924,5,61,0,0,3923,3919,1,0,0,0,3923,3921,1,0,0,0,3923,3924,1,0,0,0,3924,3938,1,0,0,0,3925,3926,5,145,0,0,3926,3927,5,305,0,0,3927,3928,5,399,0,0,3928,3933,3,526,263,0,3929,3930,5,397,0,0,3930,3932,3,526,263,0,3931,3929,1,0,0,0,3932,3935,1,0,0,0,3933,3931,1,0,0,0,3933,3934,1,0,0,0,3934,3936,1,0,0,0,3935,3933,1,0,0,0,3936,3937,5,400,0,0,3937,3939,1,0,0,0,3938,3925,1,0,0,0,3938,3939,1,0,0,0,3939,525,1,0,0,0,3940,3942,5,399,0,0,3941,3943,3,580,290,0,3942,3941,1,0,0,0,3942,3943,1,0,0,0,3943,3948,1,0,0,0,3944,3945,5,397,0,0,3945,3947,3,580,290,0,3946,3944,1,0,0,0,3947,3950,1,0,0,0,3948,3946,1,0,0,0,3948,3949,1,0,0,0,3949,3951,1,0,0,0,3950,3948,1,0,0,0,3951,3954,5,400,0,0,3952,3954,3,580,290,0,3953,3940,1,0,0,0,3953,3952,1,0,0,0,3954,527,1,0,0,0,3955,3956,5,146,0,0,3956,3957,3,580,290,0,3957,529,1,0,0,0,3958,3959,5,256,0,0,3959,3960,3,580,290,0,3960,531,1,0,0,0,3961,3964,5,83,0,0,3962,3964,3,580,290,0,3963,3961,1,0,0,0,3963,3962,1,0,0,0,3964,533,1,0,0,0,3965,3967,3,580,290,0,3966,3968,5,17,0,0,3967,3966,1,0,0,0,3967,3968,1,0,0,0,3968,3970,1,0,0,0,3969,3971,3,638,319,0,3970,3969,1,0,0,0,3970,3971,1,0,0,0,3971,3982,1,0,0,0,3972,3973,5,397,0,0,3973,3975,3,580,290,0,3974,3976,5,17,0,0,3975,3974,1,0,0,0,3975,3976,1,0,0,0,3976,3978,1,0,0,0,3977,3979,3,638,319,0,3978,3977,1,0,0,0,3978,3979,1,0,0,0,3979,3981,1,0,0,0,3980,3972,1,0,0,0,3981,3984,1,0,0,0,3982,3980,1,0,0,0,3982,3983,1,0,0,0,3983,535,1,0,0,0,3984,3982,1,0,0,0,3985,3988,3,538,269,0,3986,3988,3,540,270,0,3987,3985,1,0,0,0,3987,3986,1,0,0,0,3988,537,1,0,0,0,3989,3990,5,399,0,0,3990,3991,3,540,270,0,3991,3992,5,400,0,0,3992,539,1,0,0,0,3993,4e3,3,532,266,0,3994,3995,5,397,0,0,3995,3997,3,532,266,0,3996,3994,1,0,0,0,3997,3998,1,0,0,0,3998,3996,1,0,0,0,3998,3999,1,0,0,0,3999,4001,1,0,0,0,4e3,3996,1,0,0,0,4e3,4001,1,0,0,0,4001,541,1,0,0,0,4002,4003,5,229,0,0,4003,4004,5,32,0,0,4004,4009,3,308,154,0,4005,4006,5,397,0,0,4006,4008,3,308,154,0,4007,4005,1,0,0,0,4008,4011,1,0,0,0,4009,4007,1,0,0,0,4009,4010,1,0,0,0,4010,543,1,0,0,0,4011,4009,1,0,0,0,4012,4013,5,41,0,0,4013,4014,5,32,0,0,4014,4015,3,536,268,0,4015,545,1,0,0,0,4016,4017,5,97,0,0,4017,4018,5,32,0,0,4018,4019,3,536,268,0,4019,547,1,0,0,0,4020,4021,5,314,0,0,4021,4041,5,32,0,0,4022,4023,5,399,0,0,4023,4028,3,308,154,0,4024,4025,5,397,0,0,4025,4027,3,308,154,0,4026,4024,1,0,0,0,4027,4030,1,0,0,0,4028,4026,1,0,0,0,4028,4029,1,0,0,0,4029,4031,1,0,0,0,4030,4028,1,0,0,0,4031,4032,5,400,0,0,4032,4042,1,0,0,0,4033,4038,3,308,154,0,4034,4035,5,397,0,0,4035,4037,3,308,154,0,4036,4034,1,0,0,0,4037,4040,1,0,0,0,4038,4036,1,0,0,0,4038,4039,1,0,0,0,4039,4042,1,0,0,0,4040,4038,1,0,0,0,4041,4022,1,0,0,0,4041,4033,1,0,0,0,4042,549,1,0,0,0,4043,4044,5,349,0,0,4044,4048,5,399,0,0,4045,4049,5,179,0,0,4046,4049,5,343,0,0,4047,4049,5,29,0,0,4048,4045,1,0,0,0,4048,4046,1,0,0,0,4048,4047,1,0,0,0,4048,4049,1,0,0,0,4049,4051,1,0,0,0,4050,4052,3,508,254,0,4051,4050,1,0,0,0,4051,4052,1,0,0,0,4052,4053,1,0,0,0,4053,4054,5,139,0,0,4054,4055,3,508,254,0,4055,4056,5,400,0,0,4056,4097,1,0,0,0,4057,4058,3,558,279,0,4058,4073,5,399,0,0,4059,4074,5,415,0,0,4060,4062,7,21,0,0,4061,4060,1,0,0,0,4061,4062,1,0,0,0,4062,4071,1,0,0,0,4063,4068,3,508,254,0,4064,4065,5,397,0,0,4065,4067,3,508,254,0,4066,4064,1,0,0,0,4067,4070,1,0,0,0,4068,4066,1,0,0,0,4068,4069,1,0,0,0,4069,4072,1,0,0,0,4070,4068,1,0,0,0,4071,4063,1,0,0,0,4071,4072,1,0,0,0,4072,4074,1,0,0,0,4073,4059,1,0,0,0,4073,4061,1,0,0,0,4074,4094,1,0,0,0,4075,4076,5,400,0,0,4076,4077,5,388,0,0,4077,4078,5,144,0,0,4078,4079,5,399,0,0,4079,4080,3,542,271,0,4080,4081,5,400,0,0,4081,4095,1,0,0,0,4082,4084,5,400,0,0,4083,4085,3,552,276,0,4084,4083,1,0,0,0,4084,4085,1,0,0,0,4085,4086,1,0,0,0,4086,4087,5,234,0,0,4087,4095,3,514,257,0,4088,4089,3,552,276,0,4089,4090,5,400,0,0,4090,4091,5,234,0,0,4091,4092,3,514,257,0,4092,4095,1,0,0,0,4093,4095,5,400,0,0,4094,4075,1,0,0,0,4094,4082,1,0,0,0,4094,4088,1,0,0,0,4094,4093,1,0,0,0,4095,4097,1,0,0,0,4096,4043,1,0,0,0,4096,4057,1,0,0,0,4097,551,1,0,0,0,4098,4099,7,34,0,0,4099,4100,5,220,0,0,4100,553,1,0,0,0,4101,4102,3,640,320,0,4102,555,1,0,0,0,4103,4106,3,640,320,0,4104,4106,5,426,0,0,4105,4103,1,0,0,0,4105,4104,1,0,0,0,4106,557,1,0,0,0,4107,4111,3,640,320,0,4108,4111,3,646,323,0,4109,4111,3,636,318,0,4110,4107,1,0,0,0,4110,4108,1,0,0,0,4110,4109,1,0,0,0,4111,559,1,0,0,0,4112,4113,5,36,0,0,4113,4114,5,399,0,0,4114,4115,3,580,290,0,4115,4116,5,17,0,0,4116,4119,3,348,174,0,4117,4118,5,137,0,0,4118,4120,5,426,0,0,4119,4117,1,0,0,0,4119,4120,1,0,0,0,4120,4121,1,0,0,0,4121,4122,5,400,0,0,4122,561,1,0,0,0,4123,4124,5,35,0,0,4124,4130,3,580,290,0,4125,4126,5,383,0,0,4126,4127,3,580,290,0,4127,4128,5,335,0,0,4128,4129,3,580,290,0,4129,4131,1,0,0,0,4130,4125,1,0,0,0,4131,4132,1,0,0,0,4132,4130,1,0,0,0,4132,4133,1,0,0,0,4133,4136,1,0,0,0,4134,4135,5,105,0,0,4135,4137,3,580,290,0,4136,4134,1,0,0,0,4136,4137,1,0,0,0,4137,4138,1,0,0,0,4138,4139,5,108,0,0,4139,563,1,0,0,0,4140,4146,5,35,0,0,4141,4142,5,383,0,0,4142,4143,3,580,290,0,4143,4144,5,335,0,0,4144,4145,3,580,290,0,4145,4147,1,0,0,0,4146,4141,1,0,0,0,4147,4148,1,0,0,0,4148,4146,1,0,0,0,4148,4149,1,0,0,0,4149,4152,1,0,0,0,4150,4151,5,105,0,0,4151,4153,3,580,290,0,4152,4150,1,0,0,0,4152,4153,1,0,0,0,4153,4154,1,0,0,0,4154,4155,5,108,0,0,4155,565,1,0,0,0,4156,4157,5,132,0,0,4157,4158,5,399,0,0,4158,4161,3,580,290,0,4159,4160,5,341,0,0,4160,4162,3,570,285,0,4161,4159,1,0,0,0,4161,4162,1,0,0,0,4162,4163,1,0,0,0,4163,4164,5,400,0,0,4164,567,1,0,0,0,4165,4166,5,124,0,0,4166,4167,5,399,0,0,4167,4168,3,570,285,0,4168,4169,5,139,0,0,4169,4170,3,580,290,0,4170,4171,5,400,0,0,4171,569,1,0,0,0,4172,4181,3,666,333,0,4173,4181,5,257,0,0,4174,4181,3,668,334,0,4175,4181,3,670,335,0,4176,4181,3,672,336,0,4177,4181,3,674,337,0,4178,4181,3,676,338,0,4179,4181,3,678,339,0,4180,4172,1,0,0,0,4180,4173,1,0,0,0,4180,4174,1,0,0,0,4180,4175,1,0,0,0,4180,4176,1,0,0,0,4180,4177,1,0,0,0,4180,4178,1,0,0,0,4180,4179,1,0,0,0,4181,571,1,0,0,0,4182,4183,3,574,287,0,4183,4184,3,578,289,0,4184,4211,1,0,0,0,4185,4211,5,431,0,0,4186,4187,5,71,0,0,4187,4211,5,426,0,0,4188,4211,5,63,0,0,4189,4190,5,337,0,0,4190,4211,5,426,0,0,4191,4211,5,64,0,0,4192,4193,5,338,0,0,4193,4211,5,426,0,0,4194,4198,5,426,0,0,4195,4197,5,426,0,0,4196,4195,1,0,0,0,4197,4200,1,0,0,0,4198,4196,1,0,0,0,4198,4199,1,0,0,0,4199,4211,1,0,0,0,4200,4198,1,0,0,0,4201,4211,5,428,0,0,4202,4211,5,429,0,0,4203,4204,5,433,0,0,4204,4211,5,427,0,0,4205,4211,5,350,0,0,4206,4211,5,125,0,0,4207,4211,5,219,0,0,4208,4211,5,424,0,0,4209,4211,5,432,0,0,4210,4182,1,0,0,0,4210,4185,1,0,0,0,4210,4186,1,0,0,0,4210,4188,1,0,0,0,4210,4189,1,0,0,0,4210,4191,1,0,0,0,4210,4192,1,0,0,0,4210,4194,1,0,0,0,4210,4201,1,0,0,0,4210,4202,1,0,0,0,4210,4203,1,0,0,0,4210,4205,1,0,0,0,4210,4206,1,0,0,0,4210,4207,1,0,0,0,4210,4208,1,0,0,0,4210,4209,1,0,0,0,4211,573,1,0,0,0,4212,4213,7,26,0,0,4213,575,1,0,0,0,4214,4215,5,399,0,0,4215,4216,3,574,287,0,4216,4217,5,400,0,0,4217,4218,3,578,289,0,4218,4230,1,0,0,0,4219,4225,5,165,0,0,4220,4226,3,574,287,0,4221,4222,5,399,0,0,4222,4223,3,580,290,0,4223,4224,5,400,0,0,4224,4226,1,0,0,0,4225,4220,1,0,0,0,4225,4221,1,0,0,0,4226,4227,1,0,0,0,4227,4228,3,578,289,0,4228,4230,1,0,0,0,4229,4214,1,0,0,0,4229,4219,1,0,0,0,4230,577,1,0,0,0,4231,4232,3,666,333,0,4232,4233,5,341,0,0,4233,4234,3,668,334,0,4234,4246,1,0,0,0,4235,4236,3,672,336,0,4236,4237,5,341,0,0,4237,4238,3,678,339,0,4238,4246,1,0,0,0,4239,4246,3,666,333,0,4240,4246,3,668,334,0,4241,4246,3,672,336,0,4242,4246,3,674,337,0,4243,4246,3,676,338,0,4244,4246,3,678,339,0,4245,4231,1,0,0,0,4245,4235,1,0,0,0,4245,4239,1,0,0,0,4245,4240,1,0,0,0,4245,4241,1,0,0,0,4245,4242,1,0,0,0,4245,4243,1,0,0,0,4245,4244,1,0,0,0,4246,579,1,0,0,0,4247,4252,3,622,311,0,4248,4249,5,228,0,0,4249,4251,3,622,311,0,4250,4248,1,0,0,0,4251,4254,1,0,0,0,4252,4250,1,0,0,0,4252,4253,1,0,0,0,4253,581,1,0,0,0,4254,4252,1,0,0,0,4255,4267,3,572,286,0,4256,4267,3,576,288,0,4257,4267,3,560,280,0,4258,4267,3,568,284,0,4259,4267,3,566,283,0,4260,4267,3,562,281,0,4261,4267,3,564,282,0,4262,4267,3,600,300,0,4263,4267,3,550,275,0,4264,4267,3,538,269,0,4265,4267,3,638,319,0,4266,4255,1,0,0,0,4266,4256,1,0,0,0,4266,4257,1,0,0,0,4266,4258,1,0,0,0,4266,4259,1,0,0,0,4266,4260,1,0,0,0,4266,4261,1,0,0,0,4266,4262,1,0,0,0,4266,4263,1,0,0,0,4266,4264,1,0,0,0,4266,4265,1,0,0,0,4267,583,1,0,0,0,4268,4270,7,35,0,0,4269,4268,1,0,0,0,4270,4273,1,0,0,0,4271,4269,1,0,0,0,4271,4272,1,0,0,0,4272,4274,1,0,0,0,4273,4271,1,0,0,0,4274,4283,3,582,291,0,4275,4276,5,401,0,0,4276,4277,3,580,290,0,4277,4278,5,402,0,0,4278,4282,1,0,0,0,4279,4280,5,395,0,0,4280,4282,3,638,319,0,4281,4275,1,0,0,0,4281,4279,1,0,0,0,4282,4285,1,0,0,0,4283,4281,1,0,0,0,4283,4284,1,0,0,0,4284,585,1,0,0,0,4285,4283,1,0,0,0,4286,4291,3,584,292,0,4287,4288,5,423,0,0,4288,4290,3,584,292,0,4289,4287,1,0,0,0,4290,4293,1,0,0,0,4291,4289,1,0,0,0,4291,4292,1,0,0,0,4292,587,1,0,0,0,4293,4291,1,0,0,0,4294,4299,3,586,293,0,4295,4296,7,36,0,0,4296,4298,3,586,293,0,4297,4295,1,0,0,0,4298,4301,1,0,0,0,4299,4297,1,0,0,0,4299,4300,1,0,0,0,4300,589,1,0,0,0,4301,4299,1,0,0,0,4302,4307,3,588,294,0,4303,4304,7,37,0,0,4304,4306,3,588,294,0,4305,4303,1,0,0,0,4306,4309,1,0,0,0,4307,4305,1,0,0,0,4307,4308,1,0,0,0,4308,591,1,0,0,0,4309,4307,1,0,0,0,4310,4315,3,590,295,0,4311,4312,5,422,0,0,4312,4314,3,590,295,0,4313,4311,1,0,0,0,4314,4317,1,0,0,0,4315,4313,1,0,0,0,4315,4316,1,0,0,0,4316,593,1,0,0,0,4317,4315,1,0,0,0,4318,4323,3,592,296,0,4319,4320,5,419,0,0,4320,4322,3,592,296,0,4321,4319,1,0,0,0,4322,4325,1,0,0,0,4323,4321,1,0,0,0,4323,4324,1,0,0,0,4324,595,1,0,0,0,4325,4323,1,0,0,0,4326,4331,3,594,297,0,4327,4328,5,421,0,0,4328,4330,3,594,297,0,4329,4327,1,0,0,0,4330,4333,1,0,0,0,4331,4329,1,0,0,0,4331,4332,1,0,0,0,4332,597,1,0,0,0,4333,4331,1,0,0,0,4334,4335,7,38,0,0,4335,599,1,0,0,0,4336,4337,5,399,0,0,4337,4338,3,376,188,0,4338,4339,5,400,0,0,4339,601,1,0,0,0,4340,4342,3,596,298,0,4341,4343,3,604,302,0,4342,4341,1,0,0,0,4342,4343,1,0,0,0,4343,4347,1,0,0,0,4344,4345,5,117,0,0,4345,4347,3,600,300,0,4346,4340,1,0,0,0,4346,4344,1,0,0,0,4347,603,1,0,0,0,4348,4349,3,598,299,0,4349,4350,3,596,298,0,4350,4355,1,0,0,0,4351,4355,3,606,303,0,4352,4353,5,216,0,0,4353,4355,3,610,305,0,4354,4348,1,0,0,0,4354,4351,1,0,0,0,4354,4352,1,0,0,0,4355,605,1,0,0,0,4356,4357,5,154,0,0,4357,4371,3,608,304,0,4358,4359,5,25,0,0,4359,4360,3,596,298,0,4360,4361,5,11,0,0,4361,4362,3,596,298,0,4362,4371,1,0,0,0,4363,4364,5,184,0,0,4364,4365,7,39,0,0,4365,4371,3,538,269,0,4366,4367,3,634,317,0,4367,4368,7,40,0,0,4368,4369,3,600,300,0,4369,4371,1,0,0,0,4370,4356,1,0,0,0,4370,4358,1,0,0,0,4370,4363,1,0,0,0,4370,4366,1,0,0,0,4371,607,1,0,0,0,4372,4375,3,600,300,0,4373,4375,3,538,269,0,4374,4372,1,0,0,0,4374,4373,1,0,0,0,4375,609,1,0,0,0,4376,4377,7,41,0,0,4377,4380,3,596,298,0,4378,4380,3,606,303,0,4379,4376,1,0,0,0,4379,4378,1,0,0,0,4380,611,1,0,0,0,4381,4382,5,167,0,0,4382,4383,5,96,0,0,4383,4384,5,139,0,0,4384,613,1,0,0,0,4385,4393,5,405,0,0,4386,4393,5,406,0,0,4387,4393,5,407,0,0,4388,4389,5,167,0,0,4389,4390,5,216,0,0,4390,4391,5,96,0,0,4391,4393,5,139,0,0,4392,4385,1,0,0,0,4392,4386,1,0,0,0,4392,4387,1,0,0,0,4392,4388,1,0,0,0,4393,615,1,0,0,0,4394,4403,3,602,301,0,4395,4396,3,614,307,0,4396,4397,3,602,301,0,4397,4402,1,0,0,0,4398,4399,3,612,306,0,4399,4400,3,602,301,0,4400,4402,1,0,0,0,4401,4395,1,0,0,0,4401,4398,1,0,0,0,4402,4405,1,0,0,0,4403,4401,1,0,0,0,4403,4404,1,0,0,0,4404,617,1,0,0,0,4405,4403,1,0,0,0,4406,4413,5,219,0,0,4407,4413,5,350,0,0,4408,4413,5,125,0,0,4409,4413,5,360,0,0,4410,4411,5,216,0,0,4411,4413,7,42,0,0,4412,4406,1,0,0,0,4412,4407,1,0,0,0,4412,4408,1,0,0,0,4412,4409,1,0,0,0,4412,4410,1,0,0,0,4413,619,1,0,0,0,4414,4416,5,216,0,0,4415,4414,1,0,0,0,4416,4419,1,0,0,0,4417,4415,1,0,0,0,4417,4418,1,0,0,0,4418,4420,1,0,0,0,4419,4417,1,0,0,0,4420,4423,3,616,308,0,4421,4422,5,167,0,0,4422,4424,3,618,309,0,4423,4421,1,0,0,0,4423,4424,1,0,0,0,4424,621,1,0,0,0,4425,4430,3,620,310,0,4426,4427,5,11,0,0,4427,4429,3,620,310,0,4428,4426,1,0,0,0,4429,4432,1,0,0,0,4430,4428,1,0,0,0,4430,4431,1,0,0,0,4431,623,1,0,0,0,4432,4430,1,0,0,0,4433,4435,3,478,239,0,4434,4436,3,626,313,0,4435,4434,1,0,0,0,4435,4436,1,0,0,0,4436,625,1,0,0,0,4437,4438,5,237,0,0,4438,4439,5,399,0,0,4439,4444,3,628,314,0,4440,4441,5,397,0,0,4441,4443,3,628,314,0,4442,4440,1,0,0,0,4443,4446,1,0,0,0,4444,4442,1,0,0,0,4444,4445,1,0,0,0,4445,4447,1,0,0,0,4446,4444,1,0,0,0,4447,4448,5,400,0,0,4448,627,1,0,0,0,4449,4452,3,638,319,0,4450,4451,5,405,0,0,4451,4453,3,572,286,0,4452,4450,1,0,0,0,4452,4453,1,0,0,0,4453,629,1,0,0,0,4454,4455,5,399,0,0,4455,4460,3,632,316,0,4456,4457,5,397,0,0,4457,4459,3,632,316,0,4458,4456,1,0,0,0,4459,4462,1,0,0,0,4460,4458,1,0,0,0,4460,4461,1,0,0,0,4461,4463,1,0,0,0,4462,4460,1,0,0,0,4463,4464,5,400,0,0,4464,631,1,0,0,0,4465,4468,3,638,319,0,4466,4469,5,184,0,0,4467,4469,3,634,317,0,4468,4466,1,0,0,0,4468,4467,1,0,0,0,4469,4470,1,0,0,0,4470,4471,3,572,286,0,4471,633,1,0,0,0,4472,4473,7,43,0,0,4473,635,1,0,0,0,4474,4475,7,44,0,0,4475,637,1,0,0,0,4476,4479,5,432,0,0,4477,4479,3,644,322,0,4478,4476,1,0,0,0,4478,4477,1,0,0,0,4479,639,1,0,0,0,4480,4483,3,638,319,0,4481,4482,5,395,0,0,4482,4484,3,638,319,0,4483,4481,1,0,0,0,4483,4484,1,0,0,0,4484,641,1,0,0,0,4485,4486,3,638,319,0,4486,643,1,0,0,0,4487,4488,7,45,0,0,4488,645,1,0,0,0,4489,4490,7,46,0,0,4490,647,1,0,0,0,4491,4542,3,638,319,0,4492,4542,5,171,0,0,4493,4542,5,237,0,0,4494,4542,5,198,0,0,4495,4542,5,268,0,0,4496,4542,5,369,0,0,4497,4542,5,241,0,0,4498,4542,5,165,0,0,4499,4542,5,292,0,0,4500,4542,5,356,0,0,4501,4542,5,144,0,0,4502,4542,5,203,0,0,4503,4542,5,219,0,0,4504,4542,5,126,0,0,4505,4542,5,188,0,0,4506,4542,5,101,0,0,4507,4542,5,329,0,0,4508,4542,5,224,0,0,4509,4542,5,291,0,0,4510,4542,5,145,0,0,4511,4542,5,304,0,0,4512,4542,5,135,0,0,4513,4542,5,318,0,0,4514,4542,5,161,0,0,4515,4542,5,54,0,0,4516,4542,5,166,0,0,4517,4542,5,358,0,0,4518,4542,5,45,0,0,4519,4542,5,347,0,0,4520,4542,5,96,0,0,4521,4542,5,154,0,0,4522,4542,5,269,0,0,4523,4542,5,337,0,0,4524,4542,5,225,0,0,4525,4542,5,108,0,0,4526,4542,5,141,0,0,4527,4542,5,365,0,0,4528,4542,5,21,0,0,4529,4542,5,78,0,0,4530,4542,5,374,0,0,4531,4542,5,336,0,0,4532,4542,5,167,0,0,4533,4542,5,134,0,0,4534,4542,5,216,0,0,4535,4542,5,27,0,0,4536,4542,5,370,0,0,4537,4542,5,263,0,0,4538,4542,5,25,0,0,4539,4542,5,62,0,0,4540,4542,5,17,0,0,4541,4491,1,0,0,0,4541,4492,1,0,0,0,4541,4493,1,0,0,0,4541,4494,1,0,0,0,4541,4495,1,0,0,0,4541,4496,1,0,0,0,4541,4497,1,0,0,0,4541,4498,1,0,0,0,4541,4499,1,0,0,0,4541,4500,1,0,0,0,4541,4501,1,0,0,0,4541,4502,1,0,0,0,4541,4503,1,0,0,0,4541,4504,1,0,0,0,4541,4505,1,0,0,0,4541,4506,1,0,0,0,4541,4507,1,0,0,0,4541,4508,1,0,0,0,4541,4509,1,0,0,0,4541,4510,1,0,0,0,4541,4511,1,0,0,0,4541,4512,1,0,0,0,4541,4513,1,0,0,0,4541,4514,1,0,0,0,4541,4515,1,0,0,0,4541,4516,1,0,0,0,4541,4517,1,0,0,0,4541,4518,1,0,0,0,4541,4519,1,0,0,0,4541,4520,1,0,0,0,4541,4521,1,0,0,0,4541,4522,1,0,0,0,4541,4523,1,0,0,0,4541,4524,1,0,0,0,4541,4525,1,0,0,0,4541,4526,1,0,0,0,4541,4527,1,0,0,0,4541,4528,1,0,0,0,4541,4529,1,0,0,0,4541,4530,1,0,0,0,4541,4531,1,0,0,0,4541,4532,1,0,0,0,4541,4533,1,0,0,0,4541,4534,1,0,0,0,4541,4535,1,0,0,0,4541,4536,1,0,0,0,4541,4537,1,0,0,0,4541,4538,1,0,0,0,4541,4539,1,0,0,0,4541,4540,1,0,0,0,4542,649,1,0,0,0,4543,4544,5,58,0,0,4544,4545,5,280,0,0,4545,4547,5,243,0,0,4546,4548,3,32,16,0,4547,4546,1,0,0,0,4547,4548,1,0,0,0,4548,4558,1,0,0,0,4549,4550,3,638,319,0,4550,4551,5,184,0,0,4551,4552,3,638,319,0,4552,4559,1,0,0,0,4553,4556,3,638,319,0,4554,4555,5,387,0,0,4555,4557,3,656,328,0,4556,4554,1,0,0,0,4556,4557,1,0,0,0,4557,4559,1,0,0,0,4558,4549,1,0,0,0,4558,4553,1,0,0,0,4559,4709,1,0,0,0,4560,4561,5,9,0,0,4561,4562,5,280,0,0,4562,4563,5,243,0,0,4563,4588,3,638,319,0,4564,4589,5,373,0,0,4565,4589,3,664,332,0,4566,4567,5,304,0,0,4567,4589,3,656,328,0,4568,4569,5,363,0,0,4569,4574,3,658,329,0,4570,4571,5,397,0,0,4571,4573,3,658,329,0,4572,4570,1,0,0,0,4573,4576,1,0,0,0,4574,4572,1,0,0,0,4574,4575,1,0,0,0,4575,4589,1,0,0,0,4576,4574,1,0,0,0,4577,4578,5,274,0,0,4578,4579,5,341,0,0,4579,4589,3,638,319,0,4580,4582,3,660,330,0,4581,4583,3,662,331,0,4582,4581,1,0,0,0,4582,4583,1,0,0,0,4583,4589,1,0,0,0,4584,4586,3,662,331,0,4585,4587,3,660,330,0,4586,4585,1,0,0,0,4586,4587,1,0,0,0,4587,4589,1,0,0,0,4588,4564,1,0,0,0,4588,4565,1,0,0,0,4588,4566,1,0,0,0,4588,4568,1,0,0,0,4588,4577,1,0,0,0,4588,4580,1,0,0,0,4588,4584,1,0,0,0,4589,4709,1,0,0,0,4590,4591,5,101,0,0,4591,4592,5,280,0,0,4592,4594,5,243,0,0,4593,4595,3,30,15,0,4594,4593,1,0,0,0,4594,4595,1,0,0,0,4595,4596,1,0,0,0,4596,4709,3,638,319,0,4597,4600,3,662,331,0,4598,4600,3,664,332,0,4599,4597,1,0,0,0,4599,4598,1,0,0,0,4600,4601,1,0,0,0,4601,4602,5,390,0,0,4602,4603,5,197,0,0,4603,4709,1,0,0,0,4604,4616,5,278,0,0,4605,4606,5,3,0,0,4606,4607,5,280,0,0,4607,4608,5,243,0,0,4608,4609,5,387,0,0,4609,4617,3,638,319,0,4610,4611,5,280,0,0,4611,4612,5,243,0,0,4612,4613,3,638,319,0,4613,4614,5,387,0,0,4614,4615,3,638,319,0,4615,4617,1,0,0,0,4616,4605,1,0,0,0,4616,4610,1,0,0,0,4617,4709,1,0,0,0,4618,4619,5,58,0,0,4619,4620,5,348,0,0,4620,4621,3,638,319,0,4621,4622,5,395,0,0,4622,4623,3,638,319,0,4623,4624,5,383,0,0,4624,4625,3,684,342,0,4625,4626,5,99,0,0,4626,4627,3,686,343,0,4627,4709,1,0,0,0,4628,4629,5,9,0,0,4629,4630,5,348,0,0,4630,4631,3,638,319,0,4631,4632,5,395,0,0,4632,4649,3,638,319,0,4633,4634,5,383,0,0,4634,4635,3,684,342,0,4635,4636,5,99,0,0,4636,4637,3,686,343,0,4637,4650,1,0,0,0,4638,4639,5,4,0,0,4639,4643,5,341,0,0,4640,4641,5,101,0,0,4641,4643,5,139,0,0,4642,4638,1,0,0,0,4642,4640,1,0,0,0,4643,4647,1,0,0,0,4644,4645,5,246,0,0,4645,4648,3,682,341,0,4646,4648,5,362,0,0,4647,4644,1,0,0,0,4647,4646,1,0,0,0,4648,4650,1,0,0,0,4649,4633,1,0,0,0,4649,4642,1,0,0,0,4650,4709,1,0,0,0,4651,4652,5,101,0,0,4652,4653,5,348,0,0,4653,4654,3,638,319,0,4654,4655,5,395,0,0,4655,4656,3,638,319,0,4656,4709,1,0,0,0,4657,4658,5,58,0,0,4658,4659,5,246,0,0,4659,4660,3,638,319,0,4660,4661,5,395,0,0,4661,4662,3,682,341,0,4662,4663,5,387,0,0,4663,4664,3,690,345,0,4664,4709,1,0,0,0,4665,4666,5,9,0,0,4666,4667,5,246,0,0,4667,4668,3,638,319,0,4668,4669,5,395,0,0,4669,4677,3,682,341,0,4670,4671,5,304,0,0,4671,4678,3,690,345,0,4672,4673,5,363,0,0,4673,4678,5,294,0,0,4674,4675,7,47,0,0,4675,4676,5,348,0,0,4676,4678,3,638,319,0,4677,4670,1,0,0,0,4677,4672,1,0,0,0,4677,4674,1,0,0,0,4678,4709,1,0,0,0,4679,4680,5,101,0,0,4680,4681,5,246,0,0,4681,4682,3,638,319,0,4682,4683,5,395,0,0,4683,4684,3,682,341,0,4684,4709,1,0,0,0,4685,4686,7,48,0,0,4686,4687,3,652,326,0,4687,4688,5,200,0,0,4688,4689,5,426,0,0,4689,4690,5,154,0,0,4690,4694,3,638,319,0,4691,4692,5,341,0,0,4692,4695,3,682,341,0,4693,4695,5,362,0,0,4694,4691,1,0,0,0,4694,4693,1,0,0,0,4695,4699,1,0,0,0,4696,4697,5,387,0,0,4697,4698,5,229,0,0,4698,4700,5,431,0,0,4699,4696,1,0,0,0,4699,4700,1,0,0,0,4700,4709,1,0,0,0,4701,4702,5,101,0,0,4702,4703,3,652,326,0,4703,4704,5,200,0,0,4704,4705,5,426,0,0,4705,4706,5,154,0,0,4706,4707,3,638,319,0,4707,4709,1,0,0,0,4708,4543,1,0,0,0,4708,4560,1,0,0,0,4708,4590,1,0,0,0,4708,4599,1,0,0,0,4708,4604,1,0,0,0,4708,4618,1,0,0,0,4708,4628,1,0,0,0,4708,4651,1,0,0,0,4708,4657,1,0,0,0,4708,4665,1,0,0,0,4708,4679,1,0,0,0,4708,4685,1,0,0,0,4708,4701,1,0,0,0,4709,651,1,0,0,0,4710,4711,7,49,0,0,4711,653,1,0,0,0,4712,4713,5,259,0,0,4713,4714,5,405,0,0,4714,4720,5,431,0,0,4715,4716,5,83,0,0,4716,4717,5,246,0,0,4717,4718,5,405,0,0,4718,4720,3,682,341,0,4719,4712,1,0,0,0,4719,4715,1,0,0,0,4720,655,1,0,0,0,4721,4726,3,654,327,0,4722,4723,5,397,0,0,4723,4725,3,654,327,0,4724,4722,1,0,0,0,4725,4728,1,0,0,0,4726,4724,1,0,0,0,4726,4727,1,0,0,0,4727,657,1,0,0,0,4728,4726,1,0,0,0,4729,4733,5,259,0,0,4730,4731,5,83,0,0,4731,4733,5,246,0,0,4732,4729,1,0,0,0,4732,4730,1,0,0,0,4733,659,1,0,0,0,4734,4737,5,2,0,0,4735,4736,5,387,0,0,4736,4738,5,278,0,0,4737,4735,1,0,0,0,4737,4738,1,0,0,0,4738,661,1,0,0,0,4739,4740,7,50,0,0,4740,663,1,0,0,0,4741,4742,7,51,0,0,4742,665,1,0,0,0,4743,4744,7,52,0,0,4744,667,1,0,0,0,4745,4746,7,53,0,0,4746,669,1,0,0,0,4747,4748,7,54,0,0,4748,671,1,0,0,0,4749,4750,7,55,0,0,4750,673,1,0,0,0,4751,4752,7,56,0,0,4752,675,1,0,0,0,4753,4754,7,57,0,0,4754,677,1,0,0,0,4755,4756,7,58,0,0,4756,679,1,0,0,0,4757,4758,7,59,0,0,4758,681,1,0,0,0,4759,4764,3,638,319,0,4760,4761,5,395,0,0,4761,4763,3,638,319,0,4762,4760,1,0,0,0,4763,4766,1,0,0,0,4764,4762,1,0,0,0,4764,4765,1,0,0,0,4765,683,1,0,0,0,4766,4764,1,0,0,0,4767,4768,3,638,319,0,4768,4769,5,411,0,0,4769,4770,7,26,0,0,4770,685,1,0,0,0,4771,4776,5,176,0,0,4772,4773,5,211,0,0,4773,4774,5,341,0,0,4774,4776,3,682,341,0,4775,4771,1,0,0,0,4775,4772,1,0,0,0,4776,687,1,0,0,0,4777,4778,5,8,0,0,4778,4779,5,405,0,0,4779,4790,5,431,0,0,4780,4781,5,259,0,0,4781,4782,5,405,0,0,4782,4790,5,431,0,0,4783,4784,5,294,0,0,4784,4785,5,405,0,0,4785,4790,5,426,0,0,4786,4787,5,240,0,0,4787,4788,5,405,0,0,4788,4790,3,682,341,0,4789,4777,1,0,0,0,4789,4780,1,0,0,0,4789,4783,1,0,0,0,4789,4786,1,0,0,0,4790,689,1,0,0,0,4791,4796,3,688,344,0,4792,4793,5,397,0,0,4793,4795,3,688,344,0,4794,4792,1,0,0,0,4795,4798,1,0,0,0,4796,4794,1,0,0,0,4796,4797,1,0,0,0,4797,691,1,0,0,0,4798,4796,1,0,0,0,621,695,702,705,711,717,724,734,737,741,756,763,769,774,779,782,806,813,816,821,826,832,836,849,853,857,862,869,873,878,885,889,894,942,949,954,977,981,985,988,992,997,1003,1007,1013,1015,1026,1030,1037,1045,1048,1053,1057,1060,1070,1078,1082,1085,1089,1093,1096,1101,1107,1112,1117,1121,1132,1134,1138,1148,1152,1158,1161,1168,1173,1181,1186,1190,1198,1203,1209,1215,1218,1221,1224,1233,1241,1246,1254,1261,1264,1267,1269,1280,1282,1285,1288,1291,1294,1297,1299,1311,1317,1325,1327,1337,1370,1375,1379,1383,1390,1397,1403,1407,1410,1417,1440,1445,1449,1457,1466,1473,1479,1486,1489,1495,1502,1510,1519,1528,1535,1555,1562,1564,1571,1581,1589,1593,1597,1610,1619,1635,1639,1644,1649,1652,1655,1658,1661,1664,1669,1678,1682,1689,1692,1695,1698,1710,1716,1742,1750,1754,1757,1760,1763,1766,1769,1772,1775,1784,1794,1797,1817,1823,1829,1832,1834,1841,1848,1861,1866,1875,1883,1891,1904,1917,1933,1937,1952,1958,1961,1964,1967,1970,1974,1989,1992,2003,2017,2051,2059,2064,2072,2077,2082,2089,2097,2105,2113,2118,2128,2132,2140,2149,2152,2156,2163,2169,2173,2179,2183,2195,2204,2215,2219,2226,2238,2248,2251,2258,2264,2268,2271,2274,2280,2284,2288,2293,2297,2301,2305,2313,2317,2321,2325,2329,2337,2341,2345,2353,2358,2363,2367,2371,2378,2387,2395,2407,2425,2428,2434,2460,2463,2469,2477,2485,2498,2505,2508,2511,2514,2517,2520,2523,2526,2529,2532,2535,2540,2543,2546,2549,2552,2555,2558,2561,2564,2567,2570,2572,2578,2582,2585,2588,2591,2594,2597,2604,2608,2611,2614,2617,2620,2623,2630,2633,2641,2645,2652,2654,2657,2662,2665,2669,2674,2680,2688,2696,2706,2709,2713,2717,2722,2729,2733,2735,2739,2746,2751,2764,2772,2791,2801,2814,2824,2828,2832,2838,2845,2852,2861,2868,2888,2891,2905,2920,2924,2944,2956,2962,2965,2968,2974,2980,2987,2995,3001,3005,3010,3013,3017,3024,3029,3034,3037,3039,3047,3055,3059,3063,3067,3084,3101,3108,3117,3122,3125,3128,3132,3147,3161,3164,3175,3179,3182,3185,3189,3194,3197,3200,3203,3206,3209,3215,3218,3221,3224,3227,3230,3233,3236,3239,3242,3246,3248,3254,3259,3262,3265,3268,3271,3277,3280,3283,3286,3289,3292,3295,3298,3301,3304,3308,3310,3312,3317,3322,3326,3330,3335,3340,3349,3359,3367,3379,3382,3388,3395,3402,3409,3416,3425,3429,3436,3441,3445,3449,3452,3455,3466,3470,3472,3475,3488,3491,3494,3506,3509,3516,3525,3530,3532,3534,3551,3554,3562,3565,3569,3572,3575,3578,3581,3593,3601,3608,3611,3618,3621,3626,3633,3641,3649,3654,3658,3663,3670,3684,3687,3691,3702,3712,3715,3722,3731,3734,3740,3743,3750,3755,3758,3771,3777,3779,3787,3790,3800,3805,3807,3819,3825,3827,3834,3841,3855,3861,3864,3867,3870,3879,3886,3892,3901,3905,3913,3923,3933,3938,3942,3948,3953,3963,3967,3970,3975,3978,3982,3987,3998,4e3,4009,4028,4038,4041,4048,4051,4061,4068,4071,4073,4084,4094,4096,4105,4110,4119,4132,4136,4148,4152,4161,4180,4198,4210,4225,4229,4245,4252,4266,4271,4281,4283,4291,4299,4307,4315,4323,4331,4342,4346,4354,4370,4374,4379,4392,4401,4403,4412,4417,4423,4430,4435,4444,4452,4460,4468,4478,4483,4541,4547,4556,4558,4574,4582,4586,4588,4594,4599,4616,4642,4647,4649,4677,4694,4699,4708,4719,4726,4732,4737,4764,4775,4789,4796],e.vocabulary=new ie(e.literalNames,e.symbolicNames,[]),e.decisionsToDFA=e._ATN.decisionToState.map((i,t)=>new ve(i,t));class Y7 extends R{constructor(t,s){super(t,s)}EOF(){return this.getToken(e.EOF,0)}statement(t){return t===void 0?this.getRuleContexts(oi):this.getRuleContext(t,oi)}get ruleIndex(){return e.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class oi extends R{constructor(t,s){super(t,s)}explainStatement(){return this.getRuleContext(0,r3)}execStatement(){return this.getRuleContext(0,Vr)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_statement}enterRule(t){t.enterStatement&&t.enterStatement(this)}exitRule(t){t.exitStatement&&t.exitStatement(this)}accept(t){return t.visitStatement?t.visitStatement(this):t.visitChildren(this)}}class r3 extends R{constructor(t,s){super(t,s)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}execStatement(){return this.getRuleContext(0,Vr)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}queryStatementExpression(){return this.getRuleContext(0,f1)}explainOption(t){return t===void 0?this.getRuleContexts(Br):this.getRuleContext(t,Br)}get ruleIndex(){return e.RULE_explainStatement}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class Br extends R{constructor(t,s){super(t,s)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_DEPENDENCY(){return this.getToken(e.KW_DEPENDENCY,0)}KW_CBO(){return this.getToken(e.KW_CBO,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_JOINCOST(){return this.getToken(e.KW_JOINCOST,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_REOPTIMIZATION(){return this.getToken(e.KW_REOPTIMIZATION,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_AST(){return this.getToken(e.KW_AST,0)}KW_VECTORIZATION(){return this.getToken(e.KW_VECTORIZATION,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}vectorizatonDetail(){return this.getRuleContext(0,h3)}KW_DEBUG(){return this.getToken(e.KW_DEBUG,0)}KW_DDL(){return this.getToken(e.KW_DDL,0)}get ruleIndex(){return e.RULE_explainOption}enterRule(t){t.enterExplainOption&&t.enterExplainOption(this)}exitRule(t){t.exitExplainOption&&t.exitExplainOption(this)}accept(t){return t.visitExplainOption?t.visitExplainOption(this):t.visitChildren(this)}}class h3 extends R{constructor(t,s){super(t,s)}KW_SUMMARY(){return this.getToken(e.KW_SUMMARY,0)}KW_OPERATOR(){return this.getToken(e.KW_OPERATOR,0)}KW_EXPRESSION(){return this.getToken(e.KW_EXPRESSION,0)}KW_DETAIL(){return this.getToken(e.KW_DETAIL,0)}get ruleIndex(){return e.RULE_vectorizatonDetail}enterRule(t){t.enterVectorizatonDetail&&t.enterVectorizatonDetail(this)}exitRule(t){t.exitVectorizatonDetail&&t.exitVectorizatonDetail(this)}accept(t){return t.visitVectorizatonDetail?t.visitVectorizatonDetail(this):t.visitChildren(this)}}class Vr extends R{constructor(t,s){super(t,s)}queryStatementExpression(){return this.getRuleContext(0,f1)}loadStatement(){return this.getRuleContext(0,a3)}exportStatement(){return this.getRuleContext(0,o3)}importStatement(){return this.getRuleContext(0,c3)}replDumpStatement(){return this.getRuleContext(0,u3)}replLoadStatement(){return this.getRuleContext(0,l3)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_STATUS(){return this.getToken(e.KW_STATUS,0)}dbSchemaName(){return this.getRuleContext(0,pt)}KW_WITH(){return this.getToken(e.KW_WITH,0)}keyValueProperties(){return this.getRuleContext(0,ge)}ddlStatement(){return this.getRuleContext(0,R3)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}tableName(){return this.getRuleContext(0,Wt)}whereClause(){return this.getRuleContext(0,g0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}setColumnsClause(){return this.getRuleContext(0,Ci)}sqlTransactionStatement(){return this.getRuleContext(0,lc)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_USING(){return this.getToken(e.KW_USING,0)}joinSourcePart(){return this.getRuleContext(0,_i)}KW_ON(){return this.getToken(e.KW_ON,0)}expression(){return this.getRuleContext(0,X)}whenClauses(){return this.getRuleContext(0,Ec)}QUERY_HINT(){return this.getToken(e.QUERY_HINT,0)}id_(){return this.getRuleContext(0,p)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_PREPARE(){return this.getToken(e.KW_PREPARE,0)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}constantList(){return this.getRuleContext(0,Ri)}KW_SET(){return this.getToken(e.KW_SET,0)}configPropertiesItem(t){return t===void 0?this.getRuleContexts(Eh):this.getRuleContext(t,Eh)}EQUAL(){return this.getToken(e.EQUAL,0)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_execStatement}enterRule(t){t.enterExecStatement&&t.enterExecStatement(this)}exitRule(t){t.exitExecStatement&&t.exitExecStatement(this)}accept(t){return t.visitExecStatement?t.visitExecStatement(this):t.visitChildren(this)}}class a3 extends R{constructor(t,s){super(t,s)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}inputFileFormat(){return this.getRuleContext(0,_3)}get ruleIndex(){return e.RULE_loadStatement}enterRule(t){t.enterLoadStatement&&t.enterLoadStatement(this)}exitRule(t){t.exitLoadStatement&&t.exitLoadStatement(this)}accept(t){return t.visitLoadStatement?t.visitLoadStatement(this):t.visitChildren(this)}}class ci extends R{constructor(t,s){super(t,s)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_REPLICATION(){return this.getToken(e.KW_REPLICATION,0)}LPAREN(){return this.getToken(e.LPAREN,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_METADATA(){return this.getToken(e.KW_METADATA,0)}get ruleIndex(){return e.RULE_replicationClause}enterRule(t){t.enterReplicationClause&&t.enterReplicationClause(this)}exitRule(t){t.exitReplicationClause&&t.exitReplicationClause(this)}accept(t){return t.visitReplicationClause?t.visitReplicationClause(this):t.visitChildren(this)}}class o3 extends R{constructor(t,s){super(t,s)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_TO(){return this.getToken(e.KW_TO,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}replicationClause(){return this.getRuleContext(0,ci)}get ruleIndex(){return e.RULE_exportStatement}enterRule(t){t.enterExportStatement&&t.enterExportStatement(this)}exitRule(t){t.exitExportStatement&&t.exitExportStatement(this)}accept(t){return t.visitExportStatement?t.visitExportStatement(this):t.visitChildren(this)}}class c3 extends R{constructor(t,s){super(t,s)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}locationPath(){return this.getRuleContext(0,ae)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}get ruleIndex(){return e.RULE_importStatement}enterRule(t){t.enterImportStatement&&t.enterImportStatement(this)}exitRule(t){t.exitImportStatement&&t.exitImportStatement(this)}accept(t){return t.visitImportStatement?t.visitImportStatement(this):t.visitChildren(this)}}class u3 extends R{constructor(t,s){super(t,s)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_DUMP(){return this.getToken(e.KW_DUMP,0)}replDbPolicy(t){return t===void 0?this.getRuleContexts(ui):this.getRuleContext(t,ui)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}keyValueProperties(){return this.getRuleContext(0,ge)}get ruleIndex(){return e.RULE_replDumpStatement}enterRule(t){t.enterReplDumpStatement&&t.enterReplDumpStatement(this)}exitRule(t){t.exitReplDumpStatement&&t.exitReplDumpStatement(this)}accept(t){return t.visitReplDumpStatement?t.visitReplDumpStatement(this):t.visitChildren(this)}}class ui extends R{constructor(t,s){super(t,s)}dbSchemaName(){return this.getRuleContext(0,pt)}DOT(){return this.getToken(e.DOT,0)}replTableLevelPolicy(){return this.getRuleContext(0,E3)}get ruleIndex(){return e.RULE_replDbPolicy}enterRule(t){t.enterReplDbPolicy&&t.enterReplDbPolicy(this)}exitRule(t){t.exitReplDbPolicy&&t.exitReplDbPolicy(this)}accept(t){return t.visitReplDbPolicy?t.visitReplDbPolicy(this):t.visitChildren(this)}}class l3 extends R{constructor(t,s){super(t,s)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}replDbPolicy(){return this.getRuleContext(0,ui)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}dbSchemaName(){return this.getRuleContext(0,pt)}keyValueProperties(){return this.getRuleContext(0,ge)}get ruleIndex(){return e.RULE_replLoadStatement}enterRule(t){t.enterReplLoadStatement&&t.enterReplLoadStatement(this)}exitRule(t){t.exitReplLoadStatement&&t.exitReplLoadStatement(this)}accept(t){return t.visitReplLoadStatement?t.visitReplLoadStatement(this):t.visitChildren(this)}}class E3 extends R{constructor(t,s){super(t,s)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_replTableLevelPolicy}enterRule(t){t.enterReplTableLevelPolicy&&t.enterReplTableLevelPolicy(this)}exitRule(t){t.exitReplTableLevelPolicy&&t.exitReplTableLevelPolicy(this)}accept(t){return t.visitReplTableLevelPolicy?t.visitReplTableLevelPolicy(this):t.visitChildren(this)}}class R3 extends R{constructor(t,s){super(t,s)}createDatabaseStatement(){return this.getRuleContext(0,W3)}switchDatabaseStatement(){return this.getRuleContext(0,d3)}dropDatabaseStatement(){return this.getRuleContext(0,A3)}createTableStatement(){return this.getRuleContext(0,pc)}dropTableStatement(){return this.getRuleContext(0,f3)}truncateTableStatement(){return this.getRuleContext(0,C3)}alterStatement(){return this.getRuleContext(0,Kc)}descStatement(){return this.getRuleContext(0,N3)}showStatement(){return this.getRuleContext(0,g3)}metastoreCheck(){return this.getRuleContext(0,to)}createViewStatement(){return this.getRuleContext(0,uo)}createMaterializedViewStatement(){return this.getRuleContext(0,Ao)}createScheduledQueryStatement(){return this.getRuleContext(0,Co)}alterScheduledQueryStatement(){return this.getRuleContext(0,_o)}dropScheduledQueryStatement(){return this.getRuleContext(0,fo)}dropViewStatement(){return this.getRuleContext(0,Ko)}dropMaterializedViewStatement(){return this.getRuleContext(0,mo)}createFunctionStatement(){return this.getRuleContext(0,no)}createMacroStatement(){return this.getRuleContext(0,ho)}dropFunctionStatement(){return this.getRuleContext(0,io)}reloadFunctionsStatement(){return this.getRuleContext(0,ro)}dropMacroStatement(){return this.getRuleContext(0,ao)}createIndexStatement(){return this.getRuleContext(0,oo)}dropIndexStatement(){return this.getRuleContext(0,co)}analyzeStatement(){return this.getRuleContext(0,O3)}lockStatement(){return this.getRuleContext(0,k3)}unlockStatement(){return this.getRuleContext(0,U3)}lockDatabase(){return this.getRuleContext(0,D3)}unlockDatabase(){return this.getRuleContext(0,S3)}createRoleStatement(){return this.getRuleContext(0,y3)}dropRoleStatement(){return this.getRuleContext(0,M3)}grantPrivileges(){return this.getRuleContext(0,w3)}revokePrivileges(){return this.getRuleContext(0,b3)}showGrants(){return this.getRuleContext(0,Q3)}showRoleGrants(){return this.getRuleContext(0,V3)}showRolePrincipals(){return this.getRuleContext(0,Z3)}showRoles(){return this.getRuleContext(0,Y3)}grantRole(){return this.getRuleContext(0,F3)}revokeRole(){return this.getRuleContext(0,B3)}setRole(){return this.getRuleContext(0,X3)}showCurrentRole(){return this.getRuleContext(0,G3)}KW_ABORT(){return this.getToken(e.KW_ABORT,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}KW_KILL(){return this.getToken(e.KW_KILL,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}resourcePlanDdlStatements(){return this.getRuleContext(0,i4)}createDataConnectorStatement(){return this.getRuleContext(0,Nc)}dropDataConnectorStatement(){return this.getRuleContext(0,Oc)}get ruleIndex(){return e.RULE_ddlStatement}enterRule(t){t.enterDdlStatement&&t.enterDdlStatement(this)}exitRule(t){t.exitDdlStatement&&t.exitDdlStatement(this)}accept(t){return t.visitDdlStatement?t.visitDdlStatement(this):t.visitChildren(this)}}class Ut extends R{constructor(t,s){super(t,s)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class re extends R{constructor(t,s){super(t,s)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class Yr extends R{constructor(t,s){super(t,s)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}get ruleIndex(){return e.RULE_restrictOrCascade}enterRule(t){t.enterRestrictOrCascade&&t.enterRestrictOrCascade(this)}exitRule(t){t.exitRestrictOrCascade&&t.exitRestrictOrCascade(this)}accept(t){return t.visitRestrictOrCascade?t.visitRestrictOrCascade(this):t.visitChildren(this)}}class T3 extends R{constructor(t,s){super(t,s)}enable(){return this.getRuleContext(0,Gi)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}get ruleIndex(){return e.RULE_rewriteEnabled}enterRule(t){t.enterRewriteEnabled&&t.enterRewriteEnabled(this)}exitRule(t){t.exitRewriteEnabled&&t.exitRewriteEnabled(this)}accept(t){return t.visitRewriteEnabled?t.visitRewriteEnabled(this):t.visitChildren(this)}}class Gr extends R{constructor(t,s){super(t,s)}disable(){return this.getRuleContext(0,Xi)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}get ruleIndex(){return e.RULE_rewriteDisabled}enterRule(t){t.enterRewriteDisabled&&t.enterRewriteDisabled(this)}exitRule(t){t.exitRewriteDisabled&&t.exitRewriteDisabled(this)}accept(t){return t.visitRewriteDisabled?t.visitRewriteDisabled(this):t.visitChildren(this)}}class Xr extends R{constructor(t,s){super(t,s)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}get ruleIndex(){return e.RULE_storedAsDirs}enterRule(t){t.enterStoredAsDirs&&t.enterStoredAsDirs(this)}exitRule(t){t.exitStoredAsDirs&&t.exitStoredAsDirs(this)}accept(t){return t.visitStoredAsDirs?t.visitStoredAsDirs(this):t.visitChildren(this)}}class W3 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}db_schema(){return this.getRuleContext(0,he)}dbSchemaNameCreate(){return this.getRuleContext(0,Uc)}KW_REMOTE(){return this.getToken(e.KW_REMOTE,0)}ifNotExists(){return this.getRuleContext(0,re)}databaseComment(){return this.getRuleContext(0,m3)}locationPath(){return this.getRuleContext(0,ae)}KW_MANAGEDLOCATION(){return this.getToken(e.KW_MANAGEDLOCATION,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}keyValueProperties(){return this.getRuleContext(0,ge)}dbConnectorName(){return this.getRuleContext(0,K3)}get ruleIndex(){return e.RULE_createDatabaseStatement}enterRule(t){t.enterCreateDatabaseStatement&&t.enterCreateDatabaseStatement(this)}exitRule(t){t.exitCreateDatabaseStatement&&t.exitCreateDatabaseStatement(this)}accept(t){return t.visitCreateDatabaseStatement?t.visitCreateDatabaseStatement(this):t.visitChildren(this)}}class K3 extends R{constructor(t,s){super(t,s)}KW_USING(){return this.getToken(e.KW_USING,0)}dbSchemaName(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_dbConnectorName}enterRule(t){t.enterDbConnectorName&&t.enterDbConnectorName(this)}exitRule(t){t.exitDbConnectorName&&t.exitDbConnectorName(this)}accept(t){return t.visitDbConnectorName?t.visitDbConnectorName(this):t.visitChildren(this)}}class d3 extends R{constructor(t,s){super(t,s)}KW_USE(){return this.getToken(e.KW_USE,0)}dbSchemaName(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_switchDatabaseStatement}enterRule(t){t.enterSwitchDatabaseStatement&&t.enterSwitchDatabaseStatement(this)}exitRule(t){t.exitSwitchDatabaseStatement&&t.exitSwitchDatabaseStatement(this)}accept(t){return t.visitSwitchDatabaseStatement?t.visitSwitchDatabaseStatement(this):t.visitChildren(this)}}class A3 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,pt)}ifExists(){return this.getRuleContext(0,Ut)}restrictOrCascade(){return this.getRuleContext(0,Yr)}get ruleIndex(){return e.RULE_dropDatabaseStatement}enterRule(t){t.enterDropDatabaseStatement&&t.enterDropDatabaseStatement(this)}exitRule(t){t.exitDropDatabaseStatement&&t.exitDropDatabaseStatement(this)}accept(t){return t.visitDropDatabaseStatement?t.visitDropDatabaseStatement(this):t.visitChildren(this)}}class m3 extends R{constructor(t,s){super(t,s)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_databaseComment}enterRule(t){t.enterDatabaseComment&&t.enterDatabaseComment(this)}exitRule(t){t.exitDatabaseComment&&t.exitDatabaseComment(this)}accept(t){return t.visitDatabaseComment?t.visitDatabaseComment(this):t.visitChildren(this)}}class C3 extends R{constructor(t,s){super(t,s)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_FORCE(){return this.getToken(e.KW_FORCE,0)}get ruleIndex(){return e.RULE_truncateTableStatement}enterRule(t){t.enterTruncateTableStatement&&t.enterTruncateTableStatement(this)}exitRule(t){t.exitTruncateTableStatement&&t.exitTruncateTableStatement(this)}accept(t){return t.visitTruncateTableStatement?t.visitTruncateTableStatement(this):t.visitChildren(this)}}class f3 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}ifExists(){return this.getRuleContext(0,Ut)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}replicationClause(){return this.getRuleContext(0,ci)}get ruleIndex(){return e.RULE_dropTableStatement}enterRule(t){t.enterDropTableStatement&&t.enterDropTableStatement(this)}exitRule(t){t.exitDropTableStatement&&t.exitDropTableStatement(this)}accept(t){return t.visitDropTableStatement?t.visitDropTableStatement(this):t.visitChildren(this)}}class _3 extends R{constructor(t,s){super(t,s)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}get ruleIndex(){return e.RULE_inputFileFormat}enterRule(t){t.enterInputFileFormat&&t.enterInputFileFormat(this)}exitRule(t){t.exitInputFileFormat&&t.exitInputFileFormat(this)}accept(t){return t.visitInputFileFormat?t.visitInputFileFormat(this):t.visitChildren(this)}}class L3 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}KW_ELEM_TYPE(t){return t===void 0?this.getTokens(e.KW_ELEM_TYPE):this.getToken(e.KW_ELEM_TYPE,t)}KW_KEY_TYPE(t){return t===void 0?this.getTokens(e.KW_KEY_TYPE):this.getToken(e.KW_KEY_TYPE,t)}KW_VALUE_TYPE(t){return t===void 0?this.getTokens(e.KW_VALUE_TYPE):this.getToken(e.KW_VALUE_TYPE,t)}get ruleIndex(){return e.RULE_tabTypeExpr}enterRule(t){t.enterTabTypeExpr&&t.enterTabTypeExpr(this)}exitRule(t){t.exitTabTypeExpr&&t.exitTabTypeExpr(this)}accept(t){return t.visitTabTypeExpr?t.visitTabTypeExpr(this):t.visitChildren(this)}}class x3 extends R{constructor(t,s){super(t,s)}tabTypeExpr(){return this.getRuleContext(0,L3)}partitionSpec(){return this.getRuleContext(0,zt)}get ruleIndex(){return e.RULE_partTypeExpr}enterRule(t){t.enterPartTypeExpr&&t.enterPartTypeExpr(this)}exitRule(t){t.exitPartTypeExpr&&t.exitPartTypeExpr(this)}accept(t){return t.visitPartTypeExpr?t.visitPartTypeExpr(this):t.visitChildren(this)}}class p3 extends R{constructor(t,s){super(t,s)}tableOrView(){return this.getRuleContext(0,p1)}partitionSpec(){return this.getRuleContext(0,zt)}extColumnName(){return this.getRuleContext(0,Mo)}get ruleIndex(){return e.RULE_tabPartColTypeExpr}enterRule(t){t.enterTabPartColTypeExpr&&t.enterTabPartColTypeExpr(this)}exitRule(t){t.exitTabPartColTypeExpr&&t.exitTabPartColTypeExpr(this)}accept(t){return t.visitTabPartColTypeExpr?t.visitTabPartColTypeExpr(this):t.visitChildren(this)}}class N3 extends R{constructor(t,s){super(t,s)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}db_schema(){return this.getRuleContext(0,he)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}dbSchemaName(){return this.getRuleContext(0,pt)}functionNameForDDL(){return this.getRuleContext(0,bi)}tabPartColTypeExpr(){return this.getRuleContext(0,p3)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}get ruleIndex(){return e.RULE_descStatement}enterRule(t){t.enterDescStatement&&t.enterDescStatement(this)}exitRule(t){t.exitDescStatement&&t.exitDescStatement(this)}accept(t){return t.visitDescStatement?t.visitDescStatement(this):t.visitChildren(this)}}class O3 extends R{constructor(t,s){super(t,s)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_METADATA(){return this.getToken(e.KW_METADATA,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_analyzeStatement}enterRule(t){t.enterAnalyzeStatement&&t.enterAnalyzeStatement(this)}exitRule(t){t.exitAnalyzeStatement&&t.exitAnalyzeStatement(this)}accept(t){return t.visitAnalyzeStatement?t.visitAnalyzeStatement(this):t.visitChildren(this)}}class Qr extends R{constructor(t,s){super(t,s)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}get ruleIndex(){return e.RULE_from_in}enterRule(t){t.enterFrom_in&&t.enterFrom_in(this)}exitRule(t){t.exitFrom_in&&t.exitFrom_in(this)}accept(t){return t.visitFrom_in?t.visitFrom_in(this):t.visitChildren(this)}}class he extends R{constructor(t,s){super(t,s)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}get ruleIndex(){return e.RULE_db_schema}enterRule(t){t.enterDb_schema&&t.enterDb_schema(this)}exitRule(t){t.exitDb_schema&&t.exitDb_schema(this)}accept(t){return t.visitDb_schema?t.visitDb_schema(this):t.visitChildren(this)}}class g3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}showStmtIdentifier(){return this.getRuleContext(0,e2)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}from_in(t){return t===void 0?this.getRuleContexts(Qr):this.getRuleContext(t,Qr)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}dbSchemaName(){return this.getRuleContext(0,pt)}showTablesFilterExpr(){return this.getRuleContext(0,I3)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}tableOrView(){return this.getRuleContext(0,p1)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}functionNameForDDL(){return this.getRuleContext(0,bi)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}partitionSpec(){return this.getRuleContext(0,zt)}whereClause(){return this.getRuleContext(0,g0)}orderByClause(){return this.getRuleContext(0,ke)}limitClause(){return this.getRuleContext(0,x1)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}db_schema(){return this.getRuleContext(0,he)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}partTypeExpr(){return this.getRuleContext(0,x3)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPACT_ID(){return this.getToken(e.KW_COMPACT_ID,0)}EQUAL(){return this.getToken(e.EQUAL,0)}Number(){return this.getToken(e.Number,0)}compactionPool(){return this.getRuleContext(0,k2)}compactionType(){return this.getRuleContext(0,Tc)}compactionStatus(){return this.getRuleContext(0,Wc)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_CONF(){return this.getToken(e.KW_CONF,0)}KW_RESOURCE(){return this.getToken(e.KW_RESOURCE,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_PLANS(){return this.getToken(e.KW_PLANS,0)}id_(){return this.getRuleContext(0,p)}KW_DATACONNECTORS(){return this.getToken(e.KW_DATACONNECTORS,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}get ruleIndex(){return e.RULE_showStatement}enterRule(t){t.enterShowStatement&&t.enterShowStatement(this)}exitRule(t){t.exitShowStatement&&t.exitShowStatement(this)}accept(t){return t.visitShowStatement?t.visitShowStatement(this):t.visitChildren(this)}}class I3 extends R{constructor(t,s){super(t,s)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}id_(){return this.getRuleContext(0,p)}EQUAL(){return this.getToken(e.EQUAL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}showStmtIdentifier(){return this.getRuleContext(0,e2)}get ruleIndex(){return e.RULE_showTablesFilterExpr}enterRule(t){t.enterShowTablesFilterExpr&&t.enterShowTablesFilterExpr(this)}exitRule(t){t.exitShowTablesFilterExpr&&t.exitShowTablesFilterExpr(this)}accept(t){return t.visitShowTablesFilterExpr?t.visitShowTablesFilterExpr(this):t.visitChildren(this)}}class k3 extends R{constructor(t,s){super(t,s)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}lockMode(){return this.getRuleContext(0,Zr)}get ruleIndex(){return e.RULE_lockStatement}enterRule(t){t.enterLockStatement&&t.enterLockStatement(this)}exitRule(t){t.exitLockStatement&&t.exitLockStatement(this)}accept(t){return t.visitLockStatement?t.visitLockStatement(this):t.visitChildren(this)}}class D3 extends R{constructor(t,s){super(t,s)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}db_schema(){return this.getRuleContext(0,he)}lockMode(){return this.getRuleContext(0,Zr)}dbSchemaName(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_lockDatabase}enterRule(t){t.enterLockDatabase&&t.enterLockDatabase(this)}exitRule(t){t.exitLockDatabase&&t.exitLockDatabase(this)}accept(t){return t.visitLockDatabase?t.visitLockDatabase(this):t.visitChildren(this)}}class Zr extends R{constructor(t,s){super(t,s)}KW_SHARED(){return this.getToken(e.KW_SHARED,0)}KW_EXCLUSIVE(){return this.getToken(e.KW_EXCLUSIVE,0)}get ruleIndex(){return e.RULE_lockMode}enterRule(t){t.enterLockMode&&t.enterLockMode(this)}exitRule(t){t.exitLockMode&&t.exitLockMode(this)}accept(t){return t.visitLockMode?t.visitLockMode(this):t.visitChildren(this)}}class U3 extends R{constructor(t,s){super(t,s)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}get ruleIndex(){return e.RULE_unlockStatement}enterRule(t){t.enterUnlockStatement&&t.enterUnlockStatement(this)}exitRule(t){t.exitUnlockStatement&&t.exitUnlockStatement(this)}accept(t){return t.visitUnlockStatement?t.visitUnlockStatement(this):t.visitChildren(this)}}class S3 extends R{constructor(t,s){super(t,s)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,pt)}get ruleIndex(){return e.RULE_unlockDatabase}enterRule(t){t.enterUnlockDatabase&&t.enterUnlockDatabase(this)}exitRule(t){t.exitUnlockDatabase&&t.exitUnlockDatabase(this)}accept(t){return t.visitUnlockDatabase?t.visitUnlockDatabase(this):t.visitChildren(this)}}class y3 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_createRoleStatement}enterRule(t){t.enterCreateRoleStatement&&t.enterCreateRoleStatement(this)}exitRule(t){t.exitCreateRoleStatement&&t.exitCreateRoleStatement(this)}accept(t){return t.visitCreateRoleStatement?t.visitCreateRoleStatement(this):t.visitChildren(this)}}class M3 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_dropRoleStatement}enterRule(t){t.enterDropRoleStatement&&t.enterDropRoleStatement(this)}exitRule(t){t.exitDropRoleStatement&&t.exitDropRoleStatement(this)}accept(t){return t.visitDropRoleStatement?t.visitDropRoleStatement(this):t.visitChildren(this)}}class w3 extends R{constructor(t,s){super(t,s)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_TO(){return this.getToken(e.KW_TO,0)}principalSpecification(){return this.getRuleContext(0,c1)}privilegeList(){return this.getRuleContext(0,zr)}privilegeObject(){return this.getRuleContext(0,jr)}withGrantOption(){return this.getRuleContext(0,P3)}get ruleIndex(){return e.RULE_grantPrivileges}enterRule(t){t.enterGrantPrivileges&&t.enterGrantPrivileges(this)}exitRule(t){t.exitGrantPrivileges&&t.exitGrantPrivileges(this)}accept(t){return t.visitGrantPrivileges?t.visitGrantPrivileges(this):t.visitChildren(this)}}class b3 extends R{constructor(t,s){super(t,s)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}privilegeList(){return this.getRuleContext(0,zr)}KW_FROM(){return this.getToken(e.KW_FROM,0)}principalSpecification(){return this.getRuleContext(0,c1)}grantOptionFor(){return this.getRuleContext(0,H3)}privilegeObject(){return this.getRuleContext(0,jr)}get ruleIndex(){return e.RULE_revokePrivileges}enterRule(t){t.enterRevokePrivileges&&t.enterRevokePrivileges(this)}exitRule(t){t.exitRevokePrivileges&&t.exitRevokePrivileges(this)}accept(t){return t.visitRevokePrivileges?t.visitRevokePrivileges(this):t.visitChildren(this)}}class F3 extends R{constructor(t,s){super(t,s)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}KW_TO(){return this.getToken(e.KW_TO,0)}principalSpecification(){return this.getRuleContext(0,c1)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}withAdminOption(){return this.getRuleContext(0,q3)}get ruleIndex(){return e.RULE_grantRole}enterRule(t){t.enterGrantRole&&t.enterGrantRole(this)}exitRule(t){t.exitGrantRole&&t.exitGrantRole(this)}accept(t){return t.visitGrantRole?t.visitGrantRole(this):t.visitChildren(this)}}class B3 extends R{constructor(t,s){super(t,s)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}KW_FROM(){return this.getToken(e.KW_FROM,0)}principalSpecification(){return this.getRuleContext(0,c1)}adminOptionFor(){return this.getRuleContext(0,v3)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_revokeRole}enterRule(t){t.enterRevokeRole&&t.enterRevokeRole(this)}exitRule(t){t.exitRevokeRole&&t.exitRevokeRole(this)}accept(t){return t.visitRevokeRole?t.visitRevokeRole(this):t.visitChildren(this)}}class V3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}principalName(){return this.getRuleContext(0,p0)}get ruleIndex(){return e.RULE_showRoleGrants}enterRule(t){t.enterShowRoleGrants&&t.enterShowRoleGrants(this)}exitRule(t){t.exitShowRoleGrants&&t.exitShowRoleGrants(this)}accept(t){return t.visitShowRoleGrants?t.visitShowRoleGrants(this):t.visitChildren(this)}}class Y3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}get ruleIndex(){return e.RULE_showRoles}enterRule(t){t.enterShowRoles&&t.enterShowRoles(this)}exitRule(t){t.exitShowRoles&&t.exitShowRoles(this)}accept(t){return t.visitShowRoles?t.visitShowRoles(this):t.visitChildren(this)}}class G3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}get ruleIndex(){return e.RULE_showCurrentRole}enterRule(t){t.enterShowCurrentRole&&t.enterShowCurrentRole(this)}exitRule(t){t.exitShowCurrentRole&&t.exitShowCurrentRole(this)}accept(t){return t.visitShowCurrentRole?t.visitShowCurrentRole(this):t.visitChildren(this)}}class X3 extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,p)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_NONE(){return this.getToken(e.KW_NONE,0)}get ruleIndex(){return e.RULE_setRole}enterRule(t){t.enterSetRole&&t.enterSetRole(this)}exitRule(t){t.exitSetRole&&t.exitSetRole(this)}accept(t){return t.visitSetRole?t.visitSetRole(this):t.visitChildren(this)}}class Q3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}principalName(){return this.getRuleContext(0,p0)}KW_ON(){return this.getToken(e.KW_ON,0)}privilegeIncludeColObject(){return this.getRuleContext(0,j3)}get ruleIndex(){return e.RULE_showGrants}enterRule(t){t.enterShowGrants&&t.enterShowGrants(this)}exitRule(t){t.exitShowGrants&&t.exitShowGrants(this)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}}class Z3 extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_showRolePrincipals}enterRule(t){t.enterShowRolePrincipals&&t.enterShowRolePrincipals(this)}exitRule(t){t.exitShowRolePrincipals&&t.exitShowRolePrincipals(this)}accept(t){return t.visitShowRolePrincipals?t.visitShowRolePrincipals(this):t.visitChildren(this)}}class j3 extends R{constructor(t,s){super(t,s)}KW_ALL(){return this.getToken(e.KW_ALL,0)}privObjectCols(){return this.getRuleContext(0,J3)}get ruleIndex(){return e.RULE_privilegeIncludeColObject}enterRule(t){t.enterPrivilegeIncludeColObject&&t.enterPrivilegeIncludeColObject(this)}exitRule(t){t.exitPrivilegeIncludeColObject&&t.exitPrivilegeIncludeColObject(this)}accept(t){return t.visitPrivilegeIncludeColObject?t.visitPrivilegeIncludeColObject(this):t.visitChildren(this)}}class jr extends R{constructor(t,s){super(t,s)}KW_ON(){return this.getToken(e.KW_ON,0)}privObject(){return this.getRuleContext(0,z3)}get ruleIndex(){return e.RULE_privilegeObject}enterRule(t){t.enterPrivilegeObject&&t.enterPrivilegeObject(this)}exitRule(t){t.exitPrivilegeObject&&t.exitPrivilegeObject(this)}accept(t){return t.visitPrivilegeObject?t.visitPrivilegeObject(this):t.visitChildren(this)}}class z3 extends R{constructor(t,s){super(t,s)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,pt)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_URI(){return this.getToken(e.KW_URI,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_SERVER(){return this.getToken(e.KW_SERVER,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_privObject}enterRule(t){t.enterPrivObject&&t.enterPrivObject(this)}exitRule(t){t.exitPrivObject&&t.exitPrivObject(this)}accept(t){return t.visitPrivObject?t.visitPrivObject(this):t.visitChildren(this)}}class J3 extends R{constructor(t,s){super(t,s)}db_schema(){return this.getRuleContext(0,he)}dbSchemaName(){return this.getRuleContext(0,pt)}tableName(){return this.getRuleContext(0,Wt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}partitionSpec(){return this.getRuleContext(0,zt)}columnNameList(){return this.getRuleContext(0,xt)}KW_URI(){return this.getToken(e.KW_URI,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_SERVER(){return this.getToken(e.KW_SERVER,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_privObjectCols}enterRule(t){t.enterPrivObjectCols&&t.enterPrivObjectCols(this)}exitRule(t){t.exitPrivObjectCols&&t.exitPrivObjectCols(this)}accept(t){return t.visitPrivObjectCols?t.visitPrivObjectCols(this):t.visitChildren(this)}}class zr extends R{constructor(t,s){super(t,s)}privlegeDef(t){return t===void 0?this.getRuleContexts(Jr):this.getRuleContext(t,Jr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_privilegeList}enterRule(t){t.enterPrivilegeList&&t.enterPrivilegeList(this)}exitRule(t){t.exitPrivilegeList&&t.exitPrivilegeList(this)}accept(t){return t.visitPrivilegeList?t.visitPrivilegeList(this):t.visitChildren(this)}}class Jr extends R{constructor(t,s){super(t,s)}privilegeType(){return this.getRuleContext(0,$3)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_privlegeDef}enterRule(t){t.enterPrivlegeDef&&t.enterPrivlegeDef(this)}exitRule(t){t.exitPrivlegeDef&&t.exitPrivlegeDef(this)}accept(t){return t.visitPrivlegeDef?t.visitPrivlegeDef(this):t.visitChildren(this)}}class $3 extends R{constructor(t,s){super(t,s)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}KW_SHOW_DATABASE(){return this.getToken(e.KW_SHOW_DATABASE,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}get ruleIndex(){return e.RULE_privilegeType}enterRule(t){t.enterPrivilegeType&&t.enterPrivilegeType(this)}exitRule(t){t.exitPrivilegeType&&t.exitPrivilegeType(this)}accept(t){return t.visitPrivilegeType?t.visitPrivilegeType(this):t.visitChildren(this)}}class c1 extends R{constructor(t,s){super(t,s)}principalName(t){return t===void 0?this.getRuleContexts(p0):this.getRuleContext(t,p0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_principalSpecification}enterRule(t){t.enterPrincipalSpecification&&t.enterPrincipalSpecification(this)}exitRule(t){t.exitPrincipalSpecification&&t.exitPrincipalSpecification(this)}accept(t){return t.visitPrincipalSpecification?t.visitPrincipalSpecification(this):t.visitChildren(this)}}class p0 extends R{constructor(t,s){super(t,s)}KW_USER(){return this.getToken(e.KW_USER,0)}principalIdentifier(){return this.getRuleContext(0,lh)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_principalName}enterRule(t){t.enterPrincipalName&&t.enterPrincipalName(this)}exitRule(t){t.exitPrincipalName&&t.exitPrincipalName(this)}accept(t){return t.visitPrincipalName?t.visitPrincipalName(this):t.visitChildren(this)}}class $r extends R{constructor(t,s){super(t,s)}KW_USER(){return this.getToken(e.KW_USER,0)}principalIdentifier(){return this.getRuleContext(0,lh)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_principalAlterName}enterRule(t){t.enterPrincipalAlterName&&t.enterPrincipalAlterName(this)}exitRule(t){t.exitPrincipalAlterName&&t.exitPrincipalAlterName(this)}accept(t){return t.visitPrincipalAlterName?t.visitPrincipalAlterName(this):t.visitChildren(this)}}class P3 extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}get ruleIndex(){return e.RULE_withGrantOption}enterRule(t){t.enterWithGrantOption&&t.enterWithGrantOption(this)}exitRule(t){t.exitWithGrantOption&&t.exitWithGrantOption(this)}accept(t){return t.visitWithGrantOption?t.visitWithGrantOption(this):t.visitChildren(this)}}class H3 extends R{constructor(t,s){super(t,s)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}get ruleIndex(){return e.RULE_grantOptionFor}enterRule(t){t.enterGrantOptionFor&&t.enterGrantOptionFor(this)}exitRule(t){t.exitGrantOptionFor&&t.exitGrantOptionFor(this)}accept(t){return t.visitGrantOptionFor?t.visitGrantOptionFor(this):t.visitChildren(this)}}class v3 extends R{constructor(t,s){super(t,s)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}get ruleIndex(){return e.RULE_adminOptionFor}enterRule(t){t.enterAdminOptionFor&&t.enterAdminOptionFor(this)}exitRule(t){t.exitAdminOptionFor&&t.exitAdminOptionFor(this)}accept(t){return t.visitAdminOptionFor?t.visitAdminOptionFor(this):t.visitChildren(this)}}class q3 extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}get ruleIndex(){return e.RULE_withAdminOption}enterRule(t){t.enterWithAdminOption&&t.enterWithAdminOption(this)}exitRule(t){t.exitWithAdminOption&&t.exitWithAdminOption(this)}accept(t){return t.visitWithAdminOption?t.visitWithAdminOption(this):t.visitChildren(this)}}class to extends R{constructor(t,s){super(t,s)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}partitionSelectorSpec(){return this.getRuleContext(0,Vi)}get ruleIndex(){return e.RULE_metastoreCheck}enterRule(t){t.enterMetastoreCheck&&t.enterMetastoreCheck(this)}exitRule(t){t.exitMetastoreCheck&&t.exitMetastoreCheck(this)}accept(t){return t.visitMetastoreCheck?t.visitMetastoreCheck(this):t.visitChildren(this)}}class eo extends R{constructor(t,s){super(t,s)}resource(t){return t===void 0?this.getRuleContexts(Pr):this.getRuleContext(t,Pr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_resourceList}enterRule(t){t.enterResourceList&&t.enterResourceList(this)}exitRule(t){t.exitResourceList&&t.exitResourceList(this)}accept(t){return t.visitResourceList?t.visitResourceList(this):t.visitChildren(this)}}class Pr extends R{constructor(t,s){super(t,s)}resourceType(){return this.getRuleContext(0,so)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_resource}enterRule(t){t.enterResource&&t.enterResource(this)}exitRule(t){t.exitResource&&t.exitResource(this)}accept(t){return t.visitResource?t.visitResource(this):t.visitChildren(this)}}class so extends R{constructor(t,s){super(t,s)}KW_JAR(){return this.getToken(e.KW_JAR,0)}KW_FILE(){return this.getToken(e.KW_FILE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}get ruleIndex(){return e.RULE_resourceType}enterRule(t){t.enterResourceType&&t.enterResourceType(this)}exitRule(t){t.exitResourceType&&t.exitResourceType(this)}accept(t){return t.visitResourceType?t.visitResourceType(this):t.visitChildren(this)}}class no extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Yc)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}resourceList(){return this.getRuleContext(0,eo)}get ruleIndex(){return e.RULE_createFunctionStatement}enterRule(t){t.enterCreateFunctionStatement&&t.enterCreateFunctionStatement(this)}exitRule(t){t.exitCreateFunctionStatement&&t.exitCreateFunctionStatement(this)}accept(t){return t.visitCreateFunctionStatement?t.visitCreateFunctionStatement(this):t.visitChildren(this)}}class io extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionNameForDDL(){return this.getRuleContext(0,bi)}ifExists(){return this.getRuleContext(0,Ut)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}get ruleIndex(){return e.RULE_dropFunctionStatement}enterRule(t){t.enterDropFunctionStatement&&t.enterDropFunctionStatement(this)}exitRule(t){t.exitDropFunctionStatement&&t.exitDropFunctionStatement(this)}accept(t){return t.visitDropFunctionStatement?t.visitDropFunctionStatement(this):t.visitChildren(this)}}class ro extends R{constructor(t,s){super(t,s)}KW_RELOAD(){return this.getToken(e.KW_RELOAD,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}get ruleIndex(){return e.RULE_reloadFunctionsStatement}enterRule(t){t.enterReloadFunctionsStatement&&t.enterReloadFunctionsStatement(this)}exitRule(t){t.exitReloadFunctionsStatement&&t.exitReloadFunctionsStatement(this)}accept(t){return t.visitReloadFunctionsStatement?t.visitReloadFunctionsStatement(this):t.visitChildren(this)}}class ho extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}Identifier(){return this.getToken(e.Identifier,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}expression(){return this.getRuleContext(0,X)}columnNameTypeList(){return this.getRuleContext(0,W1)}get ruleIndex(){return e.RULE_createMacroStatement}enterRule(t){t.enterCreateMacroStatement&&t.enterCreateMacroStatement(this)}exitRule(t){t.exitCreateMacroStatement&&t.exitCreateMacroStatement(this)}accept(t){return t.visitCreateMacroStatement?t.visitCreateMacroStatement(this):t.visitChildren(this)}}class ao extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}Identifier(){return this.getToken(e.Identifier,0)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropMacroStatement}enterRule(t){t.enterDropMacroStatement&&t.enterDropMacroStatement(this)}exitRule(t){t.exitDropMacroStatement&&t.exitDropMacroStatement(this)}accept(t){return t.visitDropMacroStatement?t.visitDropMacroStatement(this):t.visitChildren(this)}}class oo extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}id_(){return this.getRuleContext(0,p)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_TABLE(t){return t===void 0?this.getTokens(e.KW_TABLE):this.getToken(e.KW_TABLE,t)}tableName(t){return t===void 0?this.getRuleContexts(Wt):this.getRuleContext(t,Wt)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_DEFERRED(){return this.getToken(e.KW_DEFERRED,0)}KW_REBUILD(){return this.getToken(e.KW_REBUILD,0)}KW_IDXPROPERTIES(){return this.getToken(e.KW_IDXPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}tableFileFormat(){return this.getRuleContext(0,T1)}locationPath(){return this.getRuleContext(0,ae)}tablePropertiesPrefixed(){return this.getRuleContext(0,R1)}tableComment(){return this.getRuleContext(0,u1)}tableRowFormat(){return this.getRuleContext(0,E1)}get ruleIndex(){return e.RULE_createIndexStatement}enterRule(t){t.enterCreateIndexStatement&&t.enterCreateIndexStatement(this)}exitRule(t){t.exitCreateIndexStatement&&t.exitCreateIndexStatement(this)}accept(t){return t.visitCreateIndexStatement?t.visitCreateIndexStatement(this):t.visitChildren(this)}}class co extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}id_(){return this.getRuleContext(0,p)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,Wt)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropIndexStatement}enterRule(t){t.enterDropIndexStatement&&t.enterDropIndexStatement(this)}exitRule(t){t.exitDropIndexStatement&&t.exitDropIndexStatement(this)}accept(t){return t.visitDropIndexStatement?t.visitDropIndexStatement(this):t.visitChildren(this)}}class uo extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_AS(){return this.getToken(e.KW_AS,0)}selectStatementWithCTE(){return this.getRuleContext(0,L1)}viewNameCreate(){return this.getRuleContext(0,V2)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}ifNotExists(){return this.getRuleContext(0,re)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameCommentList(){return this.getRuleContext(0,jo)}RPAREN(){return this.getToken(e.RPAREN,0)}tableComment(){return this.getRuleContext(0,u1)}viewPartition(){return this.getRuleContext(0,Hr)}tablePropertiesPrefixed(){return this.getRuleContext(0,R1)}get ruleIndex(){return e.RULE_createViewStatement}enterRule(t){t.enterCreateViewStatement&&t.enterCreateViewStatement(this)}exitRule(t){t.exitCreateViewStatement&&t.exitCreateViewStatement(this)}accept(t){return t.visitCreateViewStatement?t.visitCreateViewStatement(this):t.visitChildren(this)}}class Hr extends R{constructor(t,s){super(t,s)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}RPAREN(){return this.getToken(e.RPAREN,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}partitionTransformSpec(){return this.getRuleContext(0,li)}get ruleIndex(){return e.RULE_viewPartition}enterRule(t){t.enterViewPartition&&t.enterViewPartition(this)}exitRule(t){t.exitViewPartition&&t.exitViewPartition(this)}accept(t){return t.visitViewPartition?t.visitViewPartition(this):t.visitChildren(this)}}class lo extends R{constructor(t,s){super(t,s)}viewClusterSpec(){return this.getRuleContext(0,Eo)}viewComplexSpec(){return this.getRuleContext(0,Ro)}get ruleIndex(){return e.RULE_viewOrganization}enterRule(t){t.enterViewOrganization&&t.enterViewOrganization(this)}exitRule(t){t.exitViewOrganization&&t.exitViewOrganization(this)}accept(t){return t.visitViewOrganization?t.visitViewOrganization(this):t.visitChildren(this)}}class Eo extends R{constructor(t,s){super(t,s)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_viewClusterSpec}enterRule(t){t.enterViewClusterSpec&&t.enterViewClusterSpec(this)}exitRule(t){t.exitViewClusterSpec&&t.exitViewClusterSpec(this)}accept(t){return t.visitViewClusterSpec?t.visitViewClusterSpec(this):t.visitChildren(this)}}class Ro extends R{constructor(t,s){super(t,s)}viewDistSpec(){return this.getRuleContext(0,To)}viewSortSpec(){return this.getRuleContext(0,Wo)}get ruleIndex(){return e.RULE_viewComplexSpec}enterRule(t){t.enterViewComplexSpec&&t.enterViewComplexSpec(this)}exitRule(t){t.exitViewComplexSpec&&t.exitViewComplexSpec(this)}accept(t){return t.visitViewComplexSpec?t.visitViewComplexSpec(this):t.visitChildren(this)}}class To extends R{constructor(t,s){super(t,s)}KW_DISTRIBUTED(){return this.getToken(e.KW_DISTRIBUTED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_viewDistSpec}enterRule(t){t.enterViewDistSpec&&t.enterViewDistSpec(this)}exitRule(t){t.exitViewDistSpec&&t.exitViewDistSpec(this)}accept(t){return t.visitViewDistSpec?t.visitViewDistSpec(this):t.visitChildren(this)}}class Wo extends R{constructor(t,s){super(t,s)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_viewSortSpec}enterRule(t){t.enterViewSortSpec&&t.enterViewSortSpec(this)}exitRule(t){t.exitViewSortSpec&&t.exitViewSortSpec(this)}accept(t){return t.visitViewSortSpec?t.visitViewSortSpec(this):t.visitChildren(this)}}class Ko extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,N1)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropViewStatement}enterRule(t){t.enterDropViewStatement&&t.enterDropViewStatement(this)}exitRule(t){t.exitDropViewStatement&&t.exitDropViewStatement(this)}accept(t){return t.visitDropViewStatement?t.visitDropViewStatement(this):t.visitChildren(this)}}class Ao extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_AS(){return this.getToken(e.KW_AS,0)}selectStatementWithCTE(){return this.getRuleContext(0,L1)}viewNameCreate(){return this.getRuleContext(0,V2)}ifNotExists(){return this.getRuleContext(0,re)}rewriteDisabled(){return this.getRuleContext(0,Gr)}tableComment(){return this.getRuleContext(0,u1)}viewPartition(){return this.getRuleContext(0,Hr)}viewOrganization(){return this.getRuleContext(0,lo)}tableRowFormat(){return this.getRuleContext(0,E1)}tableFileFormat(){return this.getRuleContext(0,T1)}locationPath(){return this.getRuleContext(0,ae)}tablePropertiesPrefixed(){return this.getRuleContext(0,R1)}get ruleIndex(){return e.RULE_createMaterializedViewStatement}enterRule(t){t.enterCreateMaterializedViewStatement&&t.enterCreateMaterializedViewStatement(this)}exitRule(t){t.exitCreateMaterializedViewStatement&&t.exitCreateMaterializedViewStatement(this)}accept(t){return t.visitCreateMaterializedViewStatement?t.visitCreateMaterializedViewStatement(this):t.visitChildren(this)}}class mo extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,N1)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropMaterializedViewStatement}enterRule(t){t.enterDropMaterializedViewStatement&&t.enterDropMaterializedViewStatement(this)}exitRule(t){t.exitDropMaterializedViewStatement&&t.exitDropMaterializedViewStatement(this)}accept(t){return t.visitDropMaterializedViewStatement?t.visitDropMaterializedViewStatement(this):t.visitChildren(this)}}class Co extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}scheduleSpec(){return this.getRuleContext(0,vr)}definedAsSpec(){return this.getRuleContext(0,t2)}id_(){return this.getRuleContext(0,p)}executedAsSpec(){return this.getRuleContext(0,qr)}enableSpecification(){return this.getRuleContext(0,K1)}get ruleIndex(){return e.RULE_createScheduledQueryStatement}enterRule(t){t.enterCreateScheduledQueryStatement&&t.enterCreateScheduledQueryStatement(this)}exitRule(t){t.exitCreateScheduledQueryStatement&&t.exitCreateScheduledQueryStatement(this)}accept(t){return t.visitCreateScheduledQueryStatement?t.visitCreateScheduledQueryStatement(this):t.visitChildren(this)}}class fo extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_dropScheduledQueryStatement}enterRule(t){t.enterDropScheduledQueryStatement&&t.enterDropScheduledQueryStatement(this)}exitRule(t){t.exitDropScheduledQueryStatement&&t.exitDropScheduledQueryStatement(this)}accept(t){return t.visitDropScheduledQueryStatement?t.visitDropScheduledQueryStatement(this):t.visitChildren(this)}}class _o extends R{constructor(t,s){super(t,s)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}id_(){return this.getRuleContext(0,p)}alterScheduledQueryChange(){return this.getRuleContext(0,Lo)}get ruleIndex(){return e.RULE_alterScheduledQueryStatement}enterRule(t){t.enterAlterScheduledQueryStatement&&t.enterAlterScheduledQueryStatement(this)}exitRule(t){t.exitAlterScheduledQueryStatement&&t.exitAlterScheduledQueryStatement(this)}accept(t){return t.visitAlterScheduledQueryStatement?t.visitAlterScheduledQueryStatement(this):t.visitChildren(this)}}class Lo extends R{constructor(t,s){super(t,s)}scheduleSpec(){return this.getRuleContext(0,vr)}executedAsSpec(){return this.getRuleContext(0,qr)}enableSpecification(){return this.getRuleContext(0,K1)}definedAsSpec(){return this.getRuleContext(0,t2)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}get ruleIndex(){return e.RULE_alterScheduledQueryChange}enterRule(t){t.enterAlterScheduledQueryChange&&t.enterAlterScheduledQueryChange(this)}exitRule(t){t.exitAlterScheduledQueryChange&&t.exitAlterScheduledQueryChange(this)}accept(t){return t.visitAlterScheduledQueryChange?t.visitAlterScheduledQueryChange(this):t.visitChildren(this)}}class vr extends R{constructor(t,s){super(t,s)}KW_CRON(){return this.getToken(e.KW_CRON,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_EVERY(){return this.getToken(e.KW_EVERY,0)}intervalQualifiers(){return this.getRuleContext(0,Fi)}Number(){return this.getToken(e.Number,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_BY(){return this.getToken(e.KW_BY,0)}get ruleIndex(){return e.RULE_scheduleSpec}enterRule(t){t.enterScheduleSpec&&t.enterScheduleSpec(this)}exitRule(t){t.exitScheduleSpec&&t.exitScheduleSpec(this)}accept(t){return t.visitScheduleSpec?t.visitScheduleSpec(this):t.visitChildren(this)}}class qr extends R{constructor(t,s){super(t,s)}KW_EXECUTED(){return this.getToken(e.KW_EXECUTED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_executedAsSpec}enterRule(t){t.enterExecutedAsSpec&&t.enterExecutedAsSpec(this)}exitRule(t){t.exitExecutedAsSpec&&t.exitExecutedAsSpec(this)}accept(t){return t.visitExecutedAsSpec?t.visitExecutedAsSpec(this):t.visitChildren(this)}}class t2 extends R{constructor(t,s){super(t,s)}KW_AS(){return this.getToken(e.KW_AS,0)}statement(){return this.getRuleContext(0,oi)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}get ruleIndex(){return e.RULE_definedAsSpec}enterRule(t){t.enterDefinedAsSpec&&t.enterDefinedAsSpec(this)}exitRule(t){t.exitDefinedAsSpec&&t.exitDefinedAsSpec(this)}accept(t){return t.visitDefinedAsSpec?t.visitDefinedAsSpec(this):t.visitChildren(this)}}class e2 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_showStmtIdentifier}enterRule(t){t.enterShowStmtIdentifier&&t.enterShowStmtIdentifier(this)}exitRule(t){t.exitShowStmtIdentifier&&t.exitShowStmtIdentifier(this)}accept(t){return t.visitShowStmtIdentifier?t.visitShowStmtIdentifier(this):t.visitChildren(this)}}class u1 extends R{constructor(t,s){super(t,s)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableComment}enterRule(t){t.enterTableComment&&t.enterTableComment(this)}exitRule(t){t.exitTableComment&&t.exitTableComment(this)}accept(t){return t.visitTableComment?t.visitTableComment(this):t.visitChildren(this)}}class xo extends R{constructor(t,s){super(t,s)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_tableLifecycle}enterRule(t){t.enterTableLifecycle&&t.enterTableLifecycle(this)}exitRule(t){t.exitTableLifecycle&&t.exitTableLifecycle(this)}accept(t){return t.visitTableLifecycle?t.visitTableLifecycle(this):t.visitChildren(this)}}class po extends R{constructor(t,s){super(t,s)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}RPAREN(){return this.getToken(e.RPAREN,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}partitionTransformSpec(){return this.getRuleContext(0,li)}createTablePartitionColumnTypeSpec(){return this.getRuleContext(0,No)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_createTablePartitionSpec}enterRule(t){t.enterCreateTablePartitionSpec&&t.enterCreateTablePartitionSpec(this)}exitRule(t){t.exitCreateTablePartitionSpec&&t.exitCreateTablePartitionSpec(this)}accept(t){return t.visitCreateTablePartitionSpec?t.visitCreateTablePartitionSpec(this):t.visitChildren(this)}}class No extends R{constructor(t,s){super(t,s)}columnNameTypeConstraint(t){return t===void 0?this.getRuleContexts(Wi):this.getRuleContext(t,Wi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_createTablePartitionColumnTypeSpec}enterRule(t){t.enterCreateTablePartitionColumnTypeSpec&&t.enterCreateTablePartitionColumnTypeSpec(this)}exitRule(t){t.exitCreateTablePartitionColumnTypeSpec&&t.exitCreateTablePartitionColumnTypeSpec(this)}accept(t){return t.visitCreateTablePartitionColumnTypeSpec?t.visitCreateTablePartitionColumnTypeSpec(this):t.visitChildren(this)}}class li extends R{constructor(t,s){super(t,s)}partitionTransformType(t){return t===void 0?this.getRuleContexts(s2):this.getRuleContext(t,s2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionTransformSpec}enterRule(t){t.enterPartitionTransformSpec&&t.enterPartitionTransformSpec(this)}exitRule(t){t.exitPartitionTransformSpec&&t.exitPartitionTransformSpec(this)}accept(t){return t.visitPartitionTransformSpec?t.visitPartitionTransformSpec(this):t.visitChildren(this)}}class s2 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}year(){return this.getRuleContext(0,Qi)}month(){return this.getRuleContext(0,Zi)}day(){return this.getRuleContext(0,ji)}hour(){return this.getRuleContext(0,zi)}COMMA(){return this.getToken(e.COMMA,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_partitionTransformType}enterRule(t){t.enterPartitionTransformType&&t.enterPartitionTransformType(this)}exitRule(t){t.exitPartitionTransformType&&t.exitPartitionTransformType(this)}accept(t){return t.visitPartitionTransformType?t.visitPartitionTransformType(this):t.visitChildren(this)}}class n2 extends R{constructor(t,s){super(t,s)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}columnNameList(){return this.getRuleContext(0,xt)}Number(){return this.getToken(e.Number,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}columnNameOrderList(){return this.getRuleContext(0,wo)}get ruleIndex(){return e.RULE_tableBuckets}enterRule(t){t.enterTableBuckets&&t.enterTableBuckets(this)}exitRule(t){t.exitTableBuckets&&t.exitTableBuckets(this)}accept(t){return t.visitTableBuckets?t.visitTableBuckets(this):t.visitChildren(this)}}class i2 extends R{constructor(t,s){super(t,s)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}KW_ON(){return this.getToken(e.KW_ON,0)}columnNameList(){return this.getRuleContext(0,xt)}skewedValueElement(){return this.getRuleContext(0,Qo)}storedAsDirs(){return this.getRuleContext(0,Xr)}get ruleIndex(){return e.RULE_tableSkewed}enterRule(t){t.enterTableSkewed&&t.enterTableSkewed(this)}exitRule(t){t.exitTableSkewed&&t.exitTableSkewed(this)}accept(t){return t.visitTableSkewed?t.visitTableSkewed(this):t.visitChildren(this)}}class l1 extends R{constructor(t,s){super(t,s)}rowFormatSerde(){return this.getRuleContext(0,a2)}rowFormatDelimited(){return this.getRuleContext(0,o2)}get ruleIndex(){return e.RULE_rowFormat}enterRule(t){t.enterRowFormat&&t.enterRowFormat(this)}exitRule(t){t.exitRowFormat&&t.exitRowFormat(this)}accept(t){return t.visitRowFormat?t.visitRowFormat(this):t.visitChildren(this)}}class r2 extends R{constructor(t,s){super(t,s)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_recordReader}enterRule(t){t.enterRecordReader&&t.enterRecordReader(this)}exitRule(t){t.exitRecordReader&&t.exitRecordReader(this)}accept(t){return t.visitRecordReader?t.visitRecordReader(this):t.visitChildren(this)}}class h2 extends R{constructor(t,s){super(t,s)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_recordWriter}enterRule(t){t.enterRecordWriter&&t.enterRecordWriter(this)}exitRule(t){t.exitRecordWriter&&t.exitRecordWriter(this)}accept(t){return t.visitRecordWriter?t.visitRecordWriter(this):t.visitChildren(this)}}class a2 extends R{constructor(t,s){super(t,s)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}get ruleIndex(){return e.RULE_rowFormatSerde}enterRule(t){t.enterRowFormatSerde&&t.enterRowFormatSerde(this)}exitRule(t){t.exitRowFormatSerde&&t.exitRowFormatSerde(this)}accept(t){return t.visitRowFormatSerde?t.visitRowFormatSerde(this):t.visitChildren(this)}}class o2 extends R{constructor(t,s){super(t,s)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}tableRowFormatFieldIdentifier(){return this.getRuleContext(0,go)}tableRowFormatCollItemsIdentifier(){return this.getRuleContext(0,Io)}tableRowFormatMapKeysIdentifier(){return this.getRuleContext(0,ko)}tableRowFormatLinesIdentifier(){return this.getRuleContext(0,Do)}tableRowNullFormat(){return this.getRuleContext(0,Uo)}get ruleIndex(){return e.RULE_rowFormatDelimited}enterRule(t){t.enterRowFormatDelimited&&t.enterRowFormatDelimited(this)}exitRule(t){t.exitRowFormatDelimited&&t.exitRowFormatDelimited(this)}accept(t){return t.visitRowFormatDelimited?t.visitRowFormatDelimited(this):t.visitChildren(this)}}class E1 extends R{constructor(t,s){super(t,s)}rowFormatDelimited(){return this.getRuleContext(0,o2)}rowFormatSerde(){return this.getRuleContext(0,a2)}get ruleIndex(){return e.RULE_tableRowFormat}enterRule(t){t.enterTableRowFormat&&t.enterTableRowFormat(this)}exitRule(t){t.exitTableRowFormat&&t.exitTableRowFormat(this)}accept(t){return t.visitTableRowFormat?t.visitTableRowFormat(this):t.visitChildren(this)}}class R1 extends R{constructor(t,s){super(t,s)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}get ruleIndex(){return e.RULE_tablePropertiesPrefixed}enterRule(t){t.enterTablePropertiesPrefixed&&t.enterTablePropertiesPrefixed(this)}exitRule(t){t.exitTablePropertiesPrefixed&&t.exitTablePropertiesPrefixed(this)}accept(t){return t.visitTablePropertiesPrefixed?t.visitTablePropertiesPrefixed(this):t.visitChildren(this)}}class Re extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}tablePropertiesList(){return this.getRuleContext(0,Oo)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_tableProperties}enterRule(t){t.enterTableProperties&&t.enterTableProperties(this)}exitRule(t){t.exitTableProperties&&t.exitTableProperties(this)}accept(t){return t.visitTableProperties?t.visitTableProperties(this):t.visitChildren(this)}}class Oo extends R{constructor(t,s){super(t,s)}keyValuePropertyList(){return this.getRuleContext(0,c2)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_tablePropertiesList}enterRule(t){t.enterTablePropertiesList&&t.enterTablePropertiesList(this)}exitRule(t){t.exitTablePropertiesList&&t.exitTablePropertiesList(this)}accept(t){return t.visitTablePropertiesList?t.visitTablePropertiesList(this):t.visitChildren(this)}}class ge extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}keyValuePropertyList(){return this.getRuleContext(0,c2)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_keyValueProperties}enterRule(t){t.enterKeyValueProperties&&t.enterKeyValueProperties(this)}exitRule(t){t.exitKeyValueProperties&&t.exitKeyValueProperties(this)}accept(t){return t.visitKeyValueProperties?t.visitKeyValueProperties(this):t.visitChildren(this)}}class c2 extends R{constructor(t,s){super(t,s)}keyValueProperty(t){return t===void 0?this.getRuleContexts(u2):this.getRuleContext(t,u2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_keyValuePropertyList}enterRule(t){t.enterKeyValuePropertyList&&t.enterKeyValuePropertyList(this)}exitRule(t){t.exitKeyValuePropertyList&&t.exitKeyValuePropertyList(this)}accept(t){return t.visitKeyValuePropertyList?t.visitKeyValuePropertyList(this):t.visitChildren(this)}}class u2 extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}get ruleIndex(){return e.RULE_keyValueProperty}enterRule(t){t.enterKeyValueProperty&&t.enterKeyValueProperty(this)}exitRule(t){t.exitKeyValueProperty&&t.exitKeyValueProperty(this)}accept(t){return t.visitKeyValueProperty?t.visitKeyValueProperty(this):t.visitChildren(this)}}class go extends R{constructor(t,s){super(t,s)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}get ruleIndex(){return e.RULE_tableRowFormatFieldIdentifier}enterRule(t){t.enterTableRowFormatFieldIdentifier&&t.enterTableRowFormatFieldIdentifier(this)}exitRule(t){t.exitTableRowFormatFieldIdentifier&&t.exitTableRowFormatFieldIdentifier(this)}accept(t){return t.visitTableRowFormatFieldIdentifier?t.visitTableRowFormatFieldIdentifier(this):t.visitChildren(this)}}class Io extends R{constructor(t,s){super(t,s)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowFormatCollItemsIdentifier}enterRule(t){t.enterTableRowFormatCollItemsIdentifier&&t.enterTableRowFormatCollItemsIdentifier(this)}exitRule(t){t.exitTableRowFormatCollItemsIdentifier&&t.exitTableRowFormatCollItemsIdentifier(this)}accept(t){return t.visitTableRowFormatCollItemsIdentifier?t.visitTableRowFormatCollItemsIdentifier(this):t.visitChildren(this)}}class ko extends R{constructor(t,s){super(t,s)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowFormatMapKeysIdentifier}enterRule(t){t.enterTableRowFormatMapKeysIdentifier&&t.enterTableRowFormatMapKeysIdentifier(this)}exitRule(t){t.exitTableRowFormatMapKeysIdentifier&&t.exitTableRowFormatMapKeysIdentifier(this)}accept(t){return t.visitTableRowFormatMapKeysIdentifier?t.visitTableRowFormatMapKeysIdentifier(this):t.visitChildren(this)}}class Do extends R{constructor(t,s){super(t,s)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowFormatLinesIdentifier}enterRule(t){t.enterTableRowFormatLinesIdentifier&&t.enterTableRowFormatLinesIdentifier(this)}exitRule(t){t.exitTableRowFormatLinesIdentifier&&t.exitTableRowFormatLinesIdentifier(this)}accept(t){return t.visitTableRowFormatLinesIdentifier?t.visitTableRowFormatLinesIdentifier(this):t.visitChildren(this)}}class Uo extends R{constructor(t,s){super(t,s)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_tableRowNullFormat}enterRule(t){t.enterTableRowNullFormat&&t.enterTableRowNullFormat(this)}exitRule(t){t.exitTableRowNullFormat&&t.exitTableRowNullFormat(this)}accept(t){return t.visitTableRowNullFormat?t.visitTableRowNullFormat(this):t.visitChildren(this)}}class T1 extends R{constructor(t,s){super(t,s)}KW_STORED(t){return t===void 0?this.getTokens(e.KW_STORED):this.getToken(e.KW_STORED,t)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_INPUTDRIVER(){return this.getToken(e.KW_INPUTDRIVER,0)}KW_OUTPUTDRIVER(){return this.getToken(e.KW_OUTPUTDRIVER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}get ruleIndex(){return e.RULE_tableFileFormat}enterRule(t){t.enterTableFileFormat&&t.enterTableFileFormat(this)}exitRule(t){t.exitTableFileFormat&&t.exitTableFileFormat(this)}accept(t){return t.visitTableFileFormat?t.visitTableFileFormat(this):t.visitChildren(this)}}class W1 extends R{constructor(t,s){super(t,s)}columnNameType(t){return t===void 0?this.getRuleContexts(Ti):this.getRuleContext(t,Ti)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameTypeList}enterRule(t){t.enterColumnNameTypeList&&t.enterColumnNameTypeList(this)}exitRule(t){t.exitColumnNameTypeList&&t.exitColumnNameTypeList(this)}accept(t){return t.visitColumnNameTypeList?t.visitColumnNameTypeList(this):t.visitChildren(this)}}class So extends R{constructor(t,s){super(t,s)}columnNameTypeOrConstraint(t){return t===void 0?this.getRuleContexts(m2):this.getRuleContext(t,m2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameTypeOrConstraintList}enterRule(t){t.enterColumnNameTypeOrConstraintList&&t.enterColumnNameTypeOrConstraintList(this)}exitRule(t){t.exitColumnNameTypeOrConstraintList&&t.exitColumnNameTypeOrConstraintList(this)}accept(t){return t.visitColumnNameTypeOrConstraintList?t.visitColumnNameTypeOrConstraintList(this):t.visitChildren(this)}}class yo extends R{constructor(t,s){super(t,s)}columnNameColonType(t){return t===void 0?this.getRuleContexts(_2):this.getRuleContext(t,_2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameColonTypeList}enterRule(t){t.enterColumnNameColonTypeList&&t.enterColumnNameColonTypeList(this)}exitRule(t){t.exitColumnNameColonTypeList&&t.exitColumnNameColonTypeList(this)}accept(t){return t.visitColumnNameColonTypeList?t.visitColumnNameColonTypeList(this):t.visitChildren(this)}}class xt extends R{constructor(t,s){super(t,s)}columnName(t){return t===void 0?this.getRuleContexts(St):this.getRuleContext(t,St)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameList}enterRule(t){t.enterColumnNameList&&t.enterColumnNameList(this)}exitRule(t){t.exitColumnNameList&&t.exitColumnNameList(this)}accept(t){return t.visitColumnNameList?t.visitColumnNameList(this):t.visitChildren(this)}}class St extends R{constructor(t,s){super(t,s)}poolPath(){return this.getRuleContext(0,k0)}get ruleIndex(){return e.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class N0 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class Mo extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}KW_ELEM_TYPE(t){return t===void 0?this.getTokens(e.KW_ELEM_TYPE):this.getToken(e.KW_ELEM_TYPE,t)}KW_KEY_TYPE(t){return t===void 0?this.getTokens(e.KW_KEY_TYPE):this.getToken(e.KW_KEY_TYPE,t)}KW_VALUE_TYPE(t){return t===void 0?this.getTokens(e.KW_VALUE_TYPE):this.getToken(e.KW_VALUE_TYPE,t)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}get ruleIndex(){return e.RULE_extColumnName}enterRule(t){t.enterExtColumnName&&t.enterExtColumnName(this)}exitRule(t){t.exitExtColumnName&&t.exitExtColumnName(this)}accept(t){return t.visitExtColumnName?t.visitExtColumnName(this):t.visitChildren(this)}}class wo extends R{constructor(t,s){super(t,s)}columnNameOrder(t){return t===void 0?this.getRuleContexts(d2):this.getRuleContext(t,d2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameOrderList}enterRule(t){t.enterColumnNameOrderList&&t.enterColumnNameOrderList(this)}exitRule(t){t.exitColumnNameOrderList&&t.exitColumnNameOrderList(this)}accept(t){return t.visitColumnNameOrderList?t.visitColumnNameOrderList(this):t.visitChildren(this)}}class jt extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_columnParenthesesList}enterRule(t){t.enterColumnParenthesesList&&t.enterColumnParenthesesList(this)}exitRule(t){t.exitColumnParenthesesList&&t.exitColumnParenthesesList(this)}accept(t){return t.visitColumnParenthesesList?t.visitColumnParenthesesList(this):t.visitChildren(this)}}class l2 extends R{constructor(t,s){super(t,s)}enableSpecification(){return this.getRuleContext(0,K1)}validateSpecification(){return this.getRuleContext(0,bo)}enforcedSpecification(){return this.getRuleContext(0,Fo)}get ruleIndex(){return e.RULE_enableValidateSpecification}enterRule(t){t.enterEnableValidateSpecification&&t.enterEnableValidateSpecification(this)}exitRule(t){t.exitEnableValidateSpecification&&t.exitEnableValidateSpecification(this)}accept(t){return t.visitEnableValidateSpecification?t.visitEnableValidateSpecification(this):t.visitChildren(this)}}class K1 extends R{constructor(t,s){super(t,s)}enable(){return this.getRuleContext(0,Gi)}disable(){return this.getRuleContext(0,Xi)}get ruleIndex(){return e.RULE_enableSpecification}enterRule(t){t.enterEnableSpecification&&t.enterEnableSpecification(this)}exitRule(t){t.exitEnableSpecification&&t.exitEnableSpecification(this)}accept(t){return t.visitEnableSpecification?t.visitEnableSpecification(this):t.visitChildren(this)}}class bo extends R{constructor(t,s){super(t,s)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}KW_NOVALIDATE(){return this.getToken(e.KW_NOVALIDATE,0)}get ruleIndex(){return e.RULE_validateSpecification}enterRule(t){t.enterValidateSpecification&&t.enterValidateSpecification(this)}exitRule(t){t.exitValidateSpecification&&t.exitValidateSpecification(this)}accept(t){return t.visitValidateSpecification?t.visitValidateSpecification(this):t.visitChildren(this)}}class Fo extends R{constructor(t,s){super(t,s)}KW_ENFORCED(){return this.getToken(e.KW_ENFORCED,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}get ruleIndex(){return e.RULE_enforcedSpecification}enterRule(t){t.enterEnforcedSpecification&&t.enterEnforcedSpecification(this)}exitRule(t){t.exitEnforcedSpecification&&t.exitEnforcedSpecification(this)}accept(t){return t.visitEnforcedSpecification?t.visitEnforcedSpecification(this):t.visitChildren(this)}}class E2 extends R{constructor(t,s){super(t,s)}KW_RELY(){return this.getToken(e.KW_RELY,0)}KW_NORELY(){return this.getToken(e.KW_NORELY,0)}get ruleIndex(){return e.RULE_relySpecification}enterRule(t){t.enterRelySpecification&&t.enterRelySpecification(this)}exitRule(t){t.exitRelySpecification&&t.exitRelySpecification(this)}accept(t){return t.visitRelySpecification?t.visitRelySpecification(this):t.visitChildren(this)}}class Bo extends R{constructor(t,s){super(t,s)}tableLevelConstraint(){return this.getRuleContext(0,R2)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,A1)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_createConstraint}enterRule(t){t.enterCreateConstraint&&t.enterCreateConstraint(this)}exitRule(t){t.exitCreateConstraint&&t.exitCreateConstraint(this)}accept(t){return t.visitCreateConstraint?t.visitCreateConstraint(this):t.visitChildren(this)}}class Vo extends R{constructor(t,s){super(t,s)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}tableLevelConstraint(){return this.getRuleContext(0,R2)}id_(){return this.getRuleContext(0,p)}constraintOptsAlter(){return this.getRuleContext(0,m1)}get ruleIndex(){return e.RULE_alterConstraintWithName}enterRule(t){t.enterAlterConstraintWithName&&t.enterAlterConstraintWithName(this)}exitRule(t){t.exitAlterConstraintWithName&&t.exitAlterConstraintWithName(this)}accept(t){return t.visitAlterConstraintWithName?t.visitAlterConstraintWithName(this):t.visitChildren(this)}}class R2 extends R{constructor(t,s){super(t,s)}pkUkConstraint(){return this.getRuleContext(0,Yo)}checkConstraint(){return this.getRuleContext(0,T2)}get ruleIndex(){return e.RULE_tableLevelConstraint}enterRule(t){t.enterTableLevelConstraint&&t.enterTableLevelConstraint(this)}exitRule(t){t.exitTableLevelConstraint&&t.exitTableLevelConstraint(this)}accept(t){return t.visitTableLevelConstraint?t.visitTableLevelConstraint(this):t.visitChildren(this)}}class Yo extends R{constructor(t,s){super(t,s)}tableConstraintType(){return this.getRuleContext(0,f2)}columnParenthesesList(){return this.getRuleContext(0,jt)}get ruleIndex(){return e.RULE_pkUkConstraint}enterRule(t){t.enterPkUkConstraint&&t.enterPkUkConstraint(this)}exitRule(t){t.exitPkUkConstraint&&t.exitPkUkConstraint(this)}accept(t){return t.visitPkUkConstraint?t.visitPkUkConstraint(this):t.visitChildren(this)}}class T2 extends R{constructor(t,s){super(t,s)}KW_CHECK(){return this.getToken(e.KW_CHECK,0)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(){return this.getRuleContext(0,X)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_checkConstraint}enterRule(t){t.enterCheckConstraint&&t.enterCheckConstraint(this)}exitRule(t){t.exitCheckConstraint&&t.exitCheckConstraint(this)}accept(t){return t.visitCheckConstraint?t.visitCheckConstraint(this):t.visitChildren(this)}}class Go extends R{constructor(t,s){super(t,s)}KW_FOREIGN(){return this.getToken(e.KW_FOREIGN,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}tableName(){return this.getRuleContext(0,Wt)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,A1)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_createForeignKey}enterRule(t){t.enterCreateForeignKey&&t.enterCreateForeignKey(this)}exitRule(t){t.exitCreateForeignKey&&t.exitCreateForeignKey(this)}accept(t){return t.visitCreateForeignKey?t.visitCreateForeignKey(this):t.visitChildren(this)}}class Xo extends R{constructor(t,s){super(t,s)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}KW_FOREIGN(){return this.getToken(e.KW_FOREIGN,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}id_(){return this.getRuleContext(0,p)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}tableName(){return this.getRuleContext(0,Wt)}constraintOptsAlter(){return this.getRuleContext(0,m1)}get ruleIndex(){return e.RULE_alterForeignKeyWithName}enterRule(t){t.enterAlterForeignKeyWithName&&t.enterAlterForeignKeyWithName(this)}exitRule(t){t.exitAlterForeignKeyWithName&&t.exitAlterForeignKeyWithName(this)}accept(t){return t.visitAlterForeignKeyWithName?t.visitAlterForeignKeyWithName(this):t.visitChildren(this)}}class Qo extends R{constructor(t,s){super(t,s)}constantList(){return this.getRuleContext(0,Ri)}skewedColumnValuePairList(){return this.getRuleContext(0,Zo)}get ruleIndex(){return e.RULE_skewedValueElement}enterRule(t){t.enterSkewedValueElement&&t.enterSkewedValueElement(this)}exitRule(t){t.exitSkewedValueElement&&t.exitSkewedValueElement(this)}accept(t){return t.visitSkewedValueElement?t.visitSkewedValueElement(this):t.visitChildren(this)}}class Zo extends R{constructor(t,s){super(t,s)}skewedColumnValuePair(t){return t===void 0?this.getRuleContexts(Ei):this.getRuleContext(t,Ei)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_skewedColumnValuePairList}enterRule(t){t.enterSkewedColumnValuePairList&&t.enterSkewedColumnValuePairList(this)}exitRule(t){t.exitSkewedColumnValuePairList&&t.exitSkewedColumnValuePairList(this)}accept(t){return t.visitSkewedColumnValuePairList?t.visitSkewedColumnValuePairList(this):t.visitChildren(this)}}class Ei extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}constantList(){return this.getRuleContext(0,Ri)}get ruleIndex(){return e.RULE_skewedColumnValuePair}enterRule(t){t.enterSkewedColumnValuePair&&t.enterSkewedColumnValuePair(this)}exitRule(t){t.exitSkewedColumnValuePair&&t.exitSkewedColumnValuePair(this)}accept(t){return t.visitSkewedColumnValuePair?t.visitSkewedColumnValuePair(this):t.visitChildren(this)}}class Ri extends R{constructor(t,s){super(t,s)}constant(t){return t===void 0?this.getRuleContexts(De):this.getRuleContext(t,De)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_constantList}enterRule(t){t.enterConstantList&&t.enterConstantList(this)}exitRule(t){t.exitConstantList&&t.exitConstantList(this)}accept(t){return t.visitConstantList?t.visitConstantList(this):t.visitChildren(this)}}class W2 extends R{constructor(t,s){super(t,s)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}get ruleIndex(){return e.RULE_orderSpecification}enterRule(t){t.enterOrderSpecification&&t.enterOrderSpecification(this)}exitRule(t){t.exitOrderSpecification&&t.exitOrderSpecification(this)}accept(t){return t.visitOrderSpecification?t.visitOrderSpecification(this):t.visitChildren(this)}}class K2 extends R{constructor(t,s){super(t,s)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}get ruleIndex(){return e.RULE_nullOrdering}enterRule(t){t.enterNullOrdering&&t.enterNullOrdering(this)}exitRule(t){t.exitNullOrdering&&t.exitNullOrdering(this)}accept(t){return t.visitNullOrdering?t.visitNullOrdering(this):t.visitChildren(this)}}class d2 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}orderSpecification(){return this.getRuleContext(0,W2)}nullOrdering(){return this.getRuleContext(0,K2)}get ruleIndex(){return e.RULE_columnNameOrder}enterRule(t){t.enterColumnNameOrder&&t.enterColumnNameOrder(this)}exitRule(t){t.exitColumnNameOrder&&t.exitColumnNameOrder(this)}accept(t){return t.visitColumnNameOrder?t.visitColumnNameOrder(this):t.visitChildren(this)}}class jo extends R{constructor(t,s){super(t,s)}columnNameComment(t){return t===void 0?this.getRuleContexts(A2):this.getRuleContext(t,A2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameCommentList}enterRule(t){t.enterColumnNameCommentList&&t.enterColumnNameCommentList(this)}exitRule(t){t.exitColumnNameCommentList&&t.exitColumnNameCommentList(this)}accept(t){return t.visitColumnNameCommentList?t.visitColumnNameCommentList(this):t.visitChildren(this)}}class A2 extends R{constructor(t,s){super(t,s)}columnNameCreate(){return this.getRuleContext(0,N0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameComment}enterRule(t){t.enterColumnNameComment&&t.enterColumnNameComment(this)}exitRule(t){t.exitColumnNameComment&&t.exitColumnNameComment(this)}accept(t){return t.visitColumnNameComment?t.visitColumnNameComment(this):t.visitChildren(this)}}class d1 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}expression(){return this.getRuleContext(0,X)}orderSpecification(){return this.getRuleContext(0,W2)}nullOrdering(){return this.getRuleContext(0,K2)}get ruleIndex(){return e.RULE_columnRefOrder}enterRule(t){t.enterColumnRefOrder&&t.enterColumnRefOrder(this)}exitRule(t){t.exitColumnRefOrder&&t.exitColumnRefOrder(this)}accept(t){return t.visitColumnRefOrder?t.visitColumnRefOrder(this):t.visitChildren(this)}}class Ti extends R{constructor(t,s){super(t,s)}columnType(){return this.getRuleContext(0,s0)}columnNameCreate(){return this.getRuleContext(0,N0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameType}enterRule(t){t.enterColumnNameType&&t.enterColumnNameType(this)}exitRule(t){t.exitColumnNameType&&t.exitColumnNameType(this)}accept(t){return t.visitColumnNameType?t.visitColumnNameType(this):t.visitChildren(this)}}class m2 extends R{constructor(t,s){super(t,s)}tableConstraint(){return this.getRuleContext(0,zo)}columnNameTypeConstraint(){return this.getRuleContext(0,Wi)}get ruleIndex(){return e.RULE_columnNameTypeOrConstraint}enterRule(t){t.enterColumnNameTypeOrConstraint&&t.enterColumnNameTypeOrConstraint(this)}exitRule(t){t.exitColumnNameTypeOrConstraint&&t.exitColumnNameTypeOrConstraint(this)}accept(t){return t.visitColumnNameTypeOrConstraint?t.visitColumnNameTypeOrConstraint(this):t.visitChildren(this)}}class zo extends R{constructor(t,s){super(t,s)}createForeignKey(){return this.getRuleContext(0,Go)}createConstraint(){return this.getRuleContext(0,Bo)}get ruleIndex(){return e.RULE_tableConstraint}enterRule(t){t.enterTableConstraint&&t.enterTableConstraint(this)}exitRule(t){t.exitTableConstraint&&t.exitTableConstraint(this)}accept(t){return t.visitTableConstraint?t.visitTableConstraint(this):t.visitChildren(this)}}class Wi extends R{constructor(t,s){super(t,s)}columnType(){return this.getRuleContext(0,s0)}columnNameCreate(){return this.getRuleContext(0,N0)}columnConstraint(){return this.getRuleContext(0,Jo)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameTypeConstraint}enterRule(t){t.enterColumnNameTypeConstraint&&t.enterColumnNameTypeConstraint(this)}exitRule(t){t.exitColumnNameTypeConstraint&&t.exitColumnNameTypeConstraint(this)}accept(t){return t.visitColumnNameTypeConstraint?t.visitColumnNameTypeConstraint(this):t.visitChildren(this)}}class Jo extends R{constructor(t,s){super(t,s)}foreignKeyConstraint(){return this.getRuleContext(0,$o)}colConstraint(){return this.getRuleContext(0,Po)}get ruleIndex(){return e.RULE_columnConstraint}enterRule(t){t.enterColumnConstraint&&t.enterColumnConstraint(this)}exitRule(t){t.exitColumnConstraint&&t.exitColumnConstraint(this)}accept(t){return t.visitColumnConstraint?t.visitColumnConstraint(this):t.visitChildren(this)}}class $o extends R{constructor(t,s){super(t,s)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}tableName(){return this.getRuleContext(0,Wt)}columnName(){return this.getRuleContext(0,St)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,A1)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_foreignKeyConstraint}enterRule(t){t.enterForeignKeyConstraint&&t.enterForeignKeyConstraint(this)}exitRule(t){t.exitForeignKeyConstraint&&t.exitForeignKeyConstraint(this)}accept(t){return t.visitForeignKeyConstraint?t.visitForeignKeyConstraint(this):t.visitChildren(this)}}class Po extends R{constructor(t,s){super(t,s)}columnConstraintType(){return this.getRuleContext(0,C2)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsCreate(){return this.getRuleContext(0,A1)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_colConstraint}enterRule(t){t.enterColConstraint&&t.enterColConstraint(this)}exitRule(t){t.exitColConstraint&&t.exitColConstraint(this)}accept(t){return t.visitColConstraint?t.visitColConstraint(this):t.visitChildren(this)}}class Ho extends R{constructor(t,s){super(t,s)}alterForeignKeyConstraint(){return this.getRuleContext(0,vo)}alterColConstraint(){return this.getRuleContext(0,qo)}get ruleIndex(){return e.RULE_alterColumnConstraint}enterRule(t){t.enterAlterColumnConstraint&&t.enterAlterColumnConstraint(this)}exitRule(t){t.exitAlterColumnConstraint&&t.exitAlterColumnConstraint(this)}accept(t){return t.visitAlterColumnConstraint?t.visitAlterColumnConstraint(this):t.visitChildren(this)}}class vo extends R{constructor(t,s){super(t,s)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}tableName(){return this.getRuleContext(0,Wt)}columnName(){return this.getRuleContext(0,St)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsAlter(){return this.getRuleContext(0,m1)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_alterForeignKeyConstraint}enterRule(t){t.enterAlterForeignKeyConstraint&&t.enterAlterForeignKeyConstraint(this)}exitRule(t){t.exitAlterForeignKeyConstraint&&t.exitAlterForeignKeyConstraint(this)}accept(t){return t.visitAlterForeignKeyConstraint?t.visitAlterForeignKeyConstraint(this):t.visitChildren(this)}}class qo extends R{constructor(t,s){super(t,s)}columnConstraintType(){return this.getRuleContext(0,C2)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}constraintOptsAlter(){return this.getRuleContext(0,m1)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_alterColConstraint}enterRule(t){t.enterAlterColConstraint&&t.enterAlterColConstraint(this)}exitRule(t){t.exitAlterColConstraint&&t.exitAlterColConstraint(this)}accept(t){return t.visitAlterColConstraint?t.visitAlterColConstraint(this):t.visitChildren(this)}}class C2 extends R{constructor(t,s){super(t,s)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}defaultVal(){return this.getRuleContext(0,tc)}checkConstraint(){return this.getRuleContext(0,T2)}tableConstraintType(){return this.getRuleContext(0,f2)}get ruleIndex(){return e.RULE_columnConstraintType}enterRule(t){t.enterColumnConstraintType&&t.enterColumnConstraintType(this)}exitRule(t){t.exitColumnConstraintType&&t.exitColumnConstraintType(this)}accept(t){return t.visitColumnConstraintType?t.visitColumnConstraintType(this):t.visitChildren(this)}}class tc extends R{constructor(t,s){super(t,s)}constant(){return this.getRuleContext(0,De)}function_(){return this.getRuleContext(0,wi)}castExpression(){return this.getRuleContext(0,J2)}get ruleIndex(){return e.RULE_defaultVal}enterRule(t){t.enterDefaultVal&&t.enterDefaultVal(this)}exitRule(t){t.exitDefaultVal&&t.exitDefaultVal(this)}accept(t){return t.visitDefaultVal?t.visitDefaultVal(this):t.visitChildren(this)}}class f2 extends R{constructor(t,s){super(t,s)}KW_PRIMARY(){return this.getToken(e.KW_PRIMARY,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}get ruleIndex(){return e.RULE_tableConstraintType}enterRule(t){t.enterTableConstraintType&&t.enterTableConstraintType(this)}exitRule(t){t.exitTableConstraintType&&t.exitTableConstraintType(this)}accept(t){return t.visitTableConstraintType?t.visitTableConstraintType(this):t.visitChildren(this)}}class A1 extends R{constructor(t,s){super(t,s)}enableValidateSpecification(){return this.getRuleContext(0,l2)}relySpecification(){return this.getRuleContext(0,E2)}get ruleIndex(){return e.RULE_constraintOptsCreate}enterRule(t){t.enterConstraintOptsCreate&&t.enterConstraintOptsCreate(this)}exitRule(t){t.exitConstraintOptsCreate&&t.exitConstraintOptsCreate(this)}accept(t){return t.visitConstraintOptsCreate?t.visitConstraintOptsCreate(this):t.visitChildren(this)}}class m1 extends R{constructor(t,s){super(t,s)}enableValidateSpecification(){return this.getRuleContext(0,l2)}relySpecification(){return this.getRuleContext(0,E2)}get ruleIndex(){return e.RULE_constraintOptsAlter}enterRule(t){t.enterConstraintOptsAlter&&t.enterConstraintOptsAlter(this)}exitRule(t){t.exitConstraintOptsAlter&&t.exitConstraintOptsAlter(this)}accept(t){return t.visitConstraintOptsAlter?t.visitConstraintOptsAlter(this):t.visitChildren(this)}}class _2 extends R{constructor(t,s){super(t,s)}COLON(){return this.getToken(e.COLON,0)}columnType(){return this.getRuleContext(0,s0)}columnNameCreate(){return this.getRuleContext(0,N0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_columnNameColonType}enterRule(t){t.enterColumnNameColonType&&t.enterColumnNameColonType(this)}exitRule(t){t.exitColumnNameColonType&&t.exitColumnNameColonType(this)}accept(t){return t.visitColumnNameColonType?t.visitColumnNameColonType(this):t.visitChildren(this)}}class s0 extends R{constructor(t,s){super(t,s)}type(){return this.getRuleContext(0,Ki)}get ruleIndex(){return e.RULE_columnType}enterRule(t){t.enterColumnType&&t.enterColumnType(this)}exitRule(t){t.exitColumnType&&t.exitColumnType(this)}accept(t){return t.visitColumnType?t.visitColumnType(this):t.visitChildren(this)}}class ec extends R{constructor(t,s){super(t,s)}columnType(t){return t===void 0?this.getRuleContexts(s0):this.getRuleContext(t,s0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnTypeList}enterRule(t){t.enterColumnTypeList&&t.enterColumnTypeList(this)}exitRule(t){t.exitColumnTypeList&&t.exitColumnTypeList(this)}accept(t){return t.visitColumnTypeList?t.visitColumnTypeList(this):t.visitChildren(this)}}class Ki extends R{constructor(t,s){super(t,s)}primitiveType(){return this.getRuleContext(0,di)}listType(){return this.getRuleContext(0,sc)}structType(){return this.getRuleContext(0,nc)}mapType(){return this.getRuleContext(0,ic)}unionType(){return this.getRuleContext(0,rc)}get ruleIndex(){return e.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}class di extends R{constructor(t,s){super(t,s)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(e.KW_PRECISION,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DATETIME(){return this.getToken(e.KW_DATETIME,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMPLOCALTZ(){return this.getToken(e.KW_TIMESTAMPLOCALTZ,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}decimal(){return this.getRuleContext(0,c4)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}COMMA(){return this.getToken(e.COMMA,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}get ruleIndex(){return e.RULE_primitiveType}enterRule(t){t.enterPrimitiveType&&t.enterPrimitiveType(this)}exitRule(t){t.exitPrimitiveType&&t.exitPrimitiveType(this)}accept(t){return t.visitPrimitiveType?t.visitPrimitiveType(this):t.visitChildren(this)}}class sc extends R{constructor(t,s){super(t,s)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}type(){return this.getRuleContext(0,Ki)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_listType}enterRule(t){t.enterListType&&t.enterListType(this)}exitRule(t){t.exitListType&&t.exitListType(this)}accept(t){return t.visitListType?t.visitListType(this):t.visitChildren(this)}}class nc extends R{constructor(t,s){super(t,s)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}columnNameColonTypeList(){return this.getRuleContext(0,yo)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_structType}enterRule(t){t.enterStructType&&t.enterStructType(this)}exitRule(t){t.exitStructType&&t.exitStructType(this)}accept(t){return t.visitStructType?t.visitStructType(this):t.visitChildren(this)}}class ic extends R{constructor(t,s){super(t,s)}KW_MAP(){return this.getToken(e.KW_MAP,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}COMMA(){return this.getToken(e.COMMA,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}primitiveType(){return this.getRuleContext(0,di)}type(){return this.getRuleContext(0,Ki)}get ruleIndex(){return e.RULE_mapType}enterRule(t){t.enterMapType&&t.enterMapType(this)}exitRule(t){t.exitMapType&&t.exitMapType(this)}accept(t){return t.visitMapType?t.visitMapType(this):t.visitChildren(this)}}class rc extends R{constructor(t,s){super(t,s)}KW_UNIONTYPE(){return this.getToken(e.KW_UNIONTYPE,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}columnTypeList(){return this.getRuleContext(0,ec)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_unionType}enterRule(t){t.enterUnionType&&t.enterUnionType(this)}exitRule(t){t.exitUnionType&&t.exitUnionType(this)}accept(t){return t.visitUnionType?t.visitUnionType(this):t.visitChildren(this)}}class C1 extends R{constructor(t,s){super(t,s)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}get ruleIndex(){return e.RULE_setOperator}enterRule(t){t.enterSetOperator&&t.enterSetOperator(this)}exitRule(t){t.exitSetOperator&&t.exitSetOperator(this)}accept(t){return t.visitSetOperator?t.visitSetOperator(this):t.visitChildren(this)}}class f1 extends R{constructor(t,s){super(t,s)}queryStatementExpressionBody(){return this.getRuleContext(0,hc)}withClause(){return this.getRuleContext(0,L2)}get ruleIndex(){return e.RULE_queryStatementExpression}enterRule(t){t.enterQueryStatementExpression&&t.enterQueryStatementExpression(this)}exitRule(t){t.exitQueryStatementExpression&&t.exitQueryStatementExpression(this)}accept(t){return t.visitQueryStatementExpression?t.visitQueryStatementExpression(this):t.visitChildren(this)}}class hc extends R{constructor(t,s){super(t,s)}fromStatement(){return this.getRuleContext(0,ac)}regularBody(){return this.getRuleContext(0,Ai)}get ruleIndex(){return e.RULE_queryStatementExpressionBody}enterRule(t){t.enterQueryStatementExpressionBody&&t.enterQueryStatementExpressionBody(this)}exitRule(t){t.exitQueryStatementExpressionBody&&t.exitQueryStatementExpressionBody(this)}accept(t){return t.visitQueryStatementExpressionBody?t.visitQueryStatementExpressionBody(this):t.visitChildren(this)}}class L2 extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}cteStatement(t){return t===void 0?this.getRuleContexts(x2):this.getRuleContext(t,x2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_withClause}enterRule(t){t.enterWithClause&&t.enterWithClause(this)}exitRule(t){t.exitWithClause&&t.exitWithClause(this)}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}}class x2 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}KW_AS(){return this.getToken(e.KW_AS,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}queryStatementExpression(){return this.getRuleContext(0,f1)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_cteStatement}enterRule(t){t.enterCteStatement&&t.enterCteStatement(this)}exitRule(t){t.exitCteStatement&&t.exitCteStatement(this)}accept(t){return t.visitCteStatement?t.visitCteStatement(this):t.visitChildren(this)}}class ac extends R{constructor(t,s){super(t,s)}singleFromStatement(t){return t===void 0?this.getRuleContexts(_1):this.getRuleContext(t,_1)}setOperator(t){return t===void 0?this.getRuleContexts(C1):this.getRuleContext(t,C1)}get ruleIndex(){return e.RULE_fromStatement}enterRule(t){t.enterFromStatement&&t.enterFromStatement(this)}exitRule(t){t.exitFromStatement&&t.exitFromStatement(this)}accept(t){return t.visitFromStatement?t.visitFromStatement(this):t.visitChildren(this)}}class _1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_singleFromStatement}copyFrom(t){super.copyFrom(t)}}class G7 extends _1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fromClause(){return this.getRuleContext(0,fi)}selectClause(){return this.getRuleContext(0,gi)}lateralView(){return this.getRuleContext(0,n0)}whereClause(){return this.getRuleContext(0,g0)}groupByClause(){return this.getRuleContext(0,Di)}havingClause(){return this.getRuleContext(0,Ui)}window_clause(){return this.getRuleContext(0,Ii)}qualifyClause(){return this.getRuleContext(0,Si)}orderByClause(){return this.getRuleContext(0,ke)}clusterByClause(){return this.getRuleContext(0,g1)}distributeByClause(){return this.getRuleContext(0,I1)}sortByClause(){return this.getRuleContext(0,k1)}limitClause(){return this.getRuleContext(0,x1)}enterRule(t){t.enterFromSelectStmt&&t.enterFromSelectStmt(this)}exitRule(t){t.exitFromSelectStmt&&t.exitFromSelectStmt(this)}accept(t){return t.visitFromSelectStmt?t.visitFromSelectStmt(this):t.visitChildren(this)}}class X7 extends _1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fromClause(){return this.getRuleContext(0,fi)}insertClause(){return this.getRuleContext(0,p2)}selectClause(){return this.getRuleContext(0,gi)}lateralView(){return this.getRuleContext(0,n0)}whereClause(){return this.getRuleContext(0,g0)}groupByClause(){return this.getRuleContext(0,Di)}havingClause(){return this.getRuleContext(0,Ui)}window_clause(){return this.getRuleContext(0,Ii)}qualifyClause(){return this.getRuleContext(0,Si)}orderByClause(){return this.getRuleContext(0,ke)}clusterByClause(){return this.getRuleContext(0,g1)}distributeByClause(){return this.getRuleContext(0,I1)}sortByClause(){return this.getRuleContext(0,k1)}limitClause(){return this.getRuleContext(0,x1)}enterRule(t){t.enterFromInsertStmt&&t.enterFromInsertStmt(this)}exitRule(t){t.exitFromInsertStmt&&t.exitFromInsertStmt(this)}accept(t){return t.visitFromInsertStmt?t.visitFromInsertStmt(this):t.visitChildren(this)}}class Ai extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_regularBody}copyFrom(t){super.copyFrom(t)}}class Q7 extends Ai{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}insertClause(){return this.getRuleContext(0,p2)}selectStatement(){return this.getRuleContext(0,O0)}enterRule(t){t.enterInsertStmt&&t.enterInsertStmt(this)}exitRule(t){t.exitInsertStmt&&t.exitInsertStmt(this)}accept(t){return t.visitInsertStmt?t.visitInsertStmt(this):t.visitChildren(this)}}class Z7 extends Ai{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}selectStatement(){return this.getRuleContext(0,O0)}enterRule(t){t.enterSelectStmt&&t.enterSelectStmt(this)}exitRule(t){t.exitSelectStmt&&t.exitSelectStmt(this)}accept(t){return t.visitSelectStmt?t.visitSelectStmt(this):t.visitChildren(this)}}class mi extends R{constructor(t,s){super(t,s)}selectClause(){return this.getRuleContext(0,gi)}fromClause(){return this.getRuleContext(0,fi)}whereClause(){return this.getRuleContext(0,g0)}groupByClause(){return this.getRuleContext(0,Di)}havingClause(){return this.getRuleContext(0,Ui)}window_clause(){return this.getRuleContext(0,Ii)}qualifyClause(){return this.getRuleContext(0,Si)}LPAREN(){return this.getToken(e.LPAREN,0)}selectStatement(){return this.getRuleContext(0,O0)}RPAREN(){return this.getToken(e.RPAREN,0)}valuesClause(){return this.getRuleContext(0,Oi)}get ruleIndex(){return e.RULE_atomSelectStatement}enterRule(t){t.enterAtomSelectStatement&&t.enterAtomSelectStatement(this)}exitRule(t){t.exitAtomSelectStatement&&t.exitAtomSelectStatement(this)}accept(t){return t.visitAtomSelectStatement?t.visitAtomSelectStatement(this):t.visitChildren(this)}}class O0 extends R{constructor(t,s){super(t,s)}atomSelectStatement(){return this.getRuleContext(0,mi)}setOpSelectStatement(){return this.getRuleContext(0,oc)}orderByClause(){return this.getRuleContext(0,ke)}clusterByClause(){return this.getRuleContext(0,g1)}distributeByClause(){return this.getRuleContext(0,I1)}sortByClause(){return this.getRuleContext(0,k1)}limitClause(){return this.getRuleContext(0,x1)}get ruleIndex(){return e.RULE_selectStatement}enterRule(t){t.enterSelectStatement&&t.enterSelectStatement(this)}exitRule(t){t.exitSelectStatement&&t.exitSelectStatement(this)}accept(t){return t.visitSelectStatement?t.visitSelectStatement(this):t.visitChildren(this)}}class oc extends R{constructor(t,s){super(t,s)}setOperator(t){return t===void 0?this.getRuleContexts(C1):this.getRuleContext(t,C1)}atomSelectStatement(t){return t===void 0?this.getRuleContexts(mi):this.getRuleContext(t,mi)}get ruleIndex(){return e.RULE_setOpSelectStatement}enterRule(t){t.enterSetOpSelectStatement&&t.enterSetOpSelectStatement(this)}exitRule(t){t.exitSetOpSelectStatement&&t.exitSetOpSelectStatement(this)}accept(t){return t.visitSetOpSelectStatement?t.visitSetOpSelectStatement(this):t.visitChildren(this)}}class L1 extends R{constructor(t,s){super(t,s)}selectStatement(){return this.getRuleContext(0,O0)}withClause(){return this.getRuleContext(0,L2)}get ruleIndex(){return e.RULE_selectStatementWithCTE}enterRule(t){t.enterSelectStatementWithCTE&&t.enterSelectStatementWithCTE(this)}exitRule(t){t.exitSelectStatementWithCTE&&t.exitSelectStatementWithCTE(this)}accept(t){return t.visitSelectStatementWithCTE?t.visitSelectStatementWithCTE(this):t.visitChildren(this)}}class p2 extends R{constructor(t,s){super(t,s)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}destination(){return this.getRuleContext(0,cc)}KW_INTO(){return this.getToken(e.KW_INTO,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}ifNotExists(){return this.getRuleContext(0,re)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}columnNameList(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_insertClause}enterRule(t){t.enterInsertClause&&t.enterInsertClause(this)}exitRule(t){t.exitInsertClause&&t.exitInsertClause(this)}accept(t){return t.visitInsertClause?t.visitInsertClause(this):t.visitChildren(this)}}class cc extends R{constructor(t,s){super(t,s)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}tableRowFormat(){return this.getRuleContext(0,E1)}tableFileFormat(){return this.getRuleContext(0,T1)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}get ruleIndex(){return e.RULE_destination}enterRule(t){t.enterDestination&&t.enterDestination(this)}exitRule(t){t.exitDestination&&t.exitDestination(this)}accept(t){return t.visitDestination?t.visitDestination(this):t.visitChildren(this)}}class x1 extends R{constructor(t,s){super(t,s)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}COMMA(){return this.getToken(e.COMMA,0)}get ruleIndex(){return e.RULE_limitClause}enterRule(t){t.enterLimitClause&&t.enterLimitClause(this)}exitRule(t){t.exitLimitClause&&t.exitLimitClause(this)}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}}class N2 extends R{constructor(t,s){super(t,s)}columnName(){return this.getRuleContext(0,St)}EQUAL(){return this.getToken(e.EQUAL,0)}precedencePlusExpressionOrDefault(){return this.getRuleContext(0,uc)}get ruleIndex(){return e.RULE_columnAssignmentClause}enterRule(t){t.enterColumnAssignmentClause&&t.enterColumnAssignmentClause(this)}exitRule(t){t.exitColumnAssignmentClause&&t.exitColumnAssignmentClause(this)}accept(t){return t.visitColumnAssignmentClause?t.visitColumnAssignmentClause(this):t.visitChildren(this)}}class uc extends R{constructor(t,s){super(t,s)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}precedencePlusExpression(){return this.getRuleContext(0,Bi)}get ruleIndex(){return e.RULE_precedencePlusExpressionOrDefault}enterRule(t){t.enterPrecedencePlusExpressionOrDefault&&t.enterPrecedencePlusExpressionOrDefault(this)}exitRule(t){t.exitPrecedencePlusExpressionOrDefault&&t.exitPrecedencePlusExpressionOrDefault(this)}accept(t){return t.visitPrecedencePlusExpressionOrDefault?t.visitPrecedencePlusExpressionOrDefault(this):t.visitChildren(this)}}class Ci extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}columnAssignmentClause(t){return t===void 0?this.getRuleContexts(N2):this.getRuleContext(t,N2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_setColumnsClause}enterRule(t){t.enterSetColumnsClause&&t.enterSetColumnsClause(this)}exitRule(t){t.exitSetColumnsClause&&t.exitSetColumnsClause(this)}accept(t){return t.visitSetColumnsClause?t.visitSetColumnsClause(this):t.visitChildren(this)}}class lc extends R{constructor(t,s){super(t,s)}KW_START(){return this.getToken(e.KW_START,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}transactionMode(t){return t===void 0?this.getRuleContexts(O2):this.getRuleContext(t,O2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_AUTOCOMMIT(){return this.getToken(e.KW_AUTOCOMMIT,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}get ruleIndex(){return e.RULE_sqlTransactionStatement}enterRule(t){t.enterSqlTransactionStatement&&t.enterSqlTransactionStatement(this)}exitRule(t){t.exitSqlTransactionStatement&&t.exitSqlTransactionStatement(this)}accept(t){return t.visitSqlTransactionStatement?t.visitSqlTransactionStatement(this):t.visitChildren(this)}}class O2 extends R{constructor(t,s){super(t,s)}KW_ISOLATION(){return this.getToken(e.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(e.KW_LEVEL,0)}KW_SNAPSHOT(){return this.getToken(e.KW_SNAPSHOT,0)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_WRITE(){return this.getToken(e.KW_WRITE,0)}get ruleIndex(){return e.RULE_transactionMode}enterRule(t){t.enterTransactionMode&&t.enterTransactionMode(this)}exitRule(t){t.exitTransactionMode&&t.exitTransactionMode(this)}accept(t){return t.visitTransactionMode?t.visitTransactionMode(this):t.visitChildren(this)}}class Ec extends R{constructor(t,s){super(t,s)}whenMatchedAndClause(t){return t===void 0?this.getRuleContexts(g2):this.getRuleContext(t,g2)}whenMatchedThenClause(t){return t===void 0?this.getRuleContexts(I2):this.getRuleContext(t,I2)}whenNotMatchedClause(){return this.getRuleContext(0,Rc)}get ruleIndex(){return e.RULE_whenClauses}enterRule(t){t.enterWhenClauses&&t.enterWhenClauses(this)}exitRule(t){t.exitWhenClauses&&t.exitWhenClauses(this)}accept(t){return t.visitWhenClauses?t.visitWhenClauses(this):t.visitChildren(this)}}class Rc extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expressionsInParenthesis(){return this.getRuleContext(0,Ie)}KW_AND(){return this.getToken(e.KW_AND,0)}expression(){return this.getRuleContext(0,X)}columnParenthesesList(){return this.getRuleContext(0,jt)}get ruleIndex(){return e.RULE_whenNotMatchedClause}enterRule(t){t.enterWhenNotMatchedClause&&t.enterWhenNotMatchedClause(this)}exitRule(t){t.exitWhenNotMatchedClause&&t.exitWhenNotMatchedClause(this)}accept(t){return t.visitWhenNotMatchedClause?t.visitWhenNotMatchedClause(this):t.visitChildren(this)}}class g2 extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_AND(){return this.getToken(e.KW_AND,0)}expression(){return this.getRuleContext(0,X)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}setColumnsClause(){return this.getRuleContext(0,Ci)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}get ruleIndex(){return e.RULE_whenMatchedAndClause}enterRule(t){t.enterWhenMatchedAndClause&&t.enterWhenMatchedAndClause(this)}exitRule(t){t.exitWhenMatchedAndClause&&t.exitWhenMatchedAndClause(this)}accept(t){return t.visitWhenMatchedAndClause?t.visitWhenMatchedAndClause(this):t.visitChildren(this)}}class I2 extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}setColumnsClause(){return this.getRuleContext(0,Ci)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}get ruleIndex(){return e.RULE_whenMatchedThenClause}enterRule(t){t.enterWhenMatchedThenClause&&t.enterWhenMatchedThenClause(this)}exitRule(t){t.exitWhenMatchedThenClause&&t.exitWhenMatchedThenClause(this)}accept(t){return t.visitWhenMatchedThenClause?t.visitWhenMatchedThenClause(this):t.visitChildren(this)}}class k2 extends R{constructor(t,s){super(t,s)}KW_POOL(){return this.getToken(e.KW_POOL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_compactionPool}enterRule(t){t.enterCompactionPool&&t.enterCompactionPool(this)}exitRule(t){t.exitCompactionPool&&t.exitCompactionPool(this)}accept(t){return t.visitCompactionPool?t.visitCompactionPool(this):t.visitChildren(this)}}class Tc extends R{constructor(t,s){super(t,s)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_compactionType}enterRule(t){t.enterCompactionType&&t.enterCompactionType(this)}exitRule(t){t.exitCompactionType&&t.exitCompactionType(this)}accept(t){return t.visitCompactionType?t.visitCompactionType(this):t.visitChildren(this)}}class Wc extends R{constructor(t,s){super(t,s)}KW_STATUS(){return this.getToken(e.KW_STATUS,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_compactionStatus}enterRule(t){t.enterCompactionStatus&&t.enterCompactionStatus(this)}exitRule(t){t.exitCompactionStatus&&t.exitCompactionStatus(this)}accept(t){return t.visitCompactionStatus?t.visitCompactionStatus(this):t.visitChildren(this)}}class Kc extends R{constructor(t,s){super(t,s)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}alterTableStatementSuffix(){return this.getRuleContext(0,dc)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,N1)}alterViewStatementSuffix(){return this.getRuleContext(0,mc)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}db_schema(){return this.getRuleContext(0,he)}alterDatabaseStatementSuffix(){return this.getRuleContext(0,Cc)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}alterDataConnectorStatementSuffix(){return this.getRuleContext(0,fc)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}id_(){return this.getRuleContext(0,p)}KW_ON(){return this.getToken(e.KW_ON,0)}tableOrPartition(){return this.getRuleContext(0,Bt)}KW_REBUILD(){return this.getToken(e.KW_REBUILD,0)}KW_AS(){return this.getToken(e.KW_AS,0)}rewriteEnabled(){return this.getRuleContext(0,T3)}rewriteDisabled(){return this.getRuleContext(0,Gr)}get ruleIndex(){return e.RULE_alterStatement}enterRule(t){t.enterAlterStatement&&t.enterAlterStatement(this)}exitRule(t){t.exitAlterStatement&&t.exitAlterStatement(this)}accept(t){return t.visitAlterStatement?t.visitAlterStatement(this):t.visitChildren(this)}}class dc extends R{constructor(t,s){super(t,s)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}tableNameCreate(){return this.getRuleContext(0,xi)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}alterStatementSuffixDropPartitions(){return this.getRuleContext(0,D2)}KW_ADD(){return this.getToken(e.KW_ADD,0)}ifNotExists(){return this.getRuleContext(0,re)}partitionSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}locationPath(t){return t===void 0?this.getRuleContexts(ae):this.getRuleContext(t,ae)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}ifExists(){return this.getRuleContext(0,Ut)}tableSkewed(){return this.getRuleContext(0,i2)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}storedAsDirs(){return this.getRuleContext(0,Xr)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,Wt)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameType(){return this.getRuleContext(0,Ti)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}id_(){return this.getRuleContext(0,p)}alterConstraintWithName(){return this.getRuleContext(0,Vo)}alterForeignKeyWithName(){return this.getRuleContext(0,Xo)}alterTblPartitionStatementSuffix(){return this.getRuleContext(0,Ac)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}principalName(){return this.getRuleContext(0,p0)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}partitionTransformSpec(){return this.getRuleContext(0,li)}alterStatementSuffixExecute(){return this.getRuleContext(0,_c)}get ruleIndex(){return e.RULE_alterTableStatementSuffix}enterRule(t){t.enterAlterTableStatementSuffix&&t.enterAlterTableStatementSuffix(this)}exitRule(t){t.exitAlterTableStatementSuffix&&t.exitAlterTableStatementSuffix(this)}accept(t){return t.visitAlterTableStatementSuffix?t.visitAlterTableStatementSuffix(this):t.visitChildren(this)}}class Ac extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}fileFormat(){return this.getRuleContext(0,Lc)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}partitionSpec(){return this.getRuleContext(0,zt)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}Number(){return this.getToken(e.Number,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}LPAREN(){return this.getToken(e.LPAREN,0)}skewedLocationMap(t){return t===void 0?this.getRuleContexts(U2):this.getRuleContext(t,U2)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}tableBuckets(){return this.getRuleContext(0,n2)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_WAIT(){return this.getToken(e.KW_WAIT,0)}orderByClause(){return this.getRuleContext(0,ke)}compactionPool(){return this.getRuleContext(0,k2)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}columnName(){return this.getRuleContext(0,St)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}columnType(){return this.getRuleContext(0,s0)}columnNameCreate(){return this.getRuleContext(0,N0)}alterColumnConstraint(){return this.getRuleContext(0,Ho)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}restrictOrCascade(){return this.getRuleContext(0,Yr)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}id_(){return this.getRuleContext(0,p)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}columnNameTypeList(){return this.getRuleContext(0,W1)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}enableSpecification(){return this.getRuleContext(0,K1)}KW_OFFLINE(){return this.getToken(e.KW_OFFLINE,0)}KW_NO_DROP(){return this.getToken(e.KW_NO_DROP,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}get ruleIndex(){return e.RULE_alterTblPartitionStatementSuffix}enterRule(t){t.enterAlterTblPartitionStatementSuffix&&t.enterAlterTblPartitionStatementSuffix(this)}exitRule(t){t.exitAlterTblPartitionStatementSuffix&&t.exitAlterTblPartitionStatementSuffix(this)}accept(t){return t.visitAlterTblPartitionStatementSuffix?t.visitAlterTblPartitionStatementSuffix(this):t.visitChildren(this)}}class mc extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableProperties(){return this.getRuleContext(0,Re)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}ifExists(){return this.getRuleContext(0,Ut)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}tableNameCreate(){return this.getRuleContext(0,xi)}KW_ADD(){return this.getToken(e.KW_ADD,0)}ifNotExists(){return this.getRuleContext(0,re)}partitionSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}locationPath(t){return t===void 0?this.getRuleContexts(ae):this.getRuleContext(t,ae)}alterStatementSuffixDropPartitions(){return this.getRuleContext(0,D2)}selectStatementWithCTE(){return this.getRuleContext(0,L1)}get ruleIndex(){return e.RULE_alterViewStatementSuffix}enterRule(t){t.enterAlterViewStatementSuffix&&t.enterAlterViewStatementSuffix(this)}exitRule(t){t.exitAlterViewStatementSuffix&&t.exitAlterViewStatementSuffix(this)}accept(t){return t.visitAlterViewStatementSuffix?t.visitAlterViewStatementSuffix(this):t.visitChildren(this)}}class Cc extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}keyValueProperties(){return this.getRuleContext(0,ge)}dbSchemaName(){return this.getRuleContext(0,pt)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}principalAlterName(){return this.getRuleContext(0,$r)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_MANAGEDLOCATION(){return this.getToken(e.KW_MANAGEDLOCATION,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_alterDatabaseStatementSuffix}enterRule(t){t.enterAlterDatabaseStatementSuffix&&t.enterAlterDatabaseStatementSuffix(this)}exitRule(t){t.exitAlterDatabaseStatementSuffix&&t.exitAlterDatabaseStatementSuffix(this)}accept(t){return t.visitAlterDatabaseStatementSuffix?t.visitAlterDatabaseStatementSuffix(this):t.visitChildren(this)}}class fc extends R{constructor(t,s){super(t,s)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DCPROPERTIES(){return this.getToken(e.KW_DCPROPERTIES,0)}keyValueProperties(){return this.getRuleContext(0,ge)}dbSchemaName(){return this.getRuleContext(0,pt)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}principalAlterName(){return this.getRuleContext(0,$r)}KW_URL(){return this.getToken(e.KW_URL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_alterDataConnectorStatementSuffix}enterRule(t){t.enterAlterDataConnectorStatementSuffix&&t.enterAlterDataConnectorStatementSuffix(this)}exitRule(t){t.exitAlterDataConnectorStatementSuffix&&t.exitAlterDataConnectorStatementSuffix(this)}accept(t){return t.visitAlterDataConnectorStatementSuffix?t.visitAlterDataConnectorStatementSuffix(this):t.visitChildren(this)}}class ae extends R{constructor(t,s){super(t,s)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_locationPath}enterRule(t){t.enterLocationPath&&t.enterLocationPath(this)}exitRule(t){t.exitLocationPath&&t.exitLocationPath(this)}accept(t){return t.visitLocationPath?t.visitLocationPath(this):t.visitChildren(this)}}class D2 extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_PARTITION(t){return t===void 0?this.getTokens(e.KW_PARTITION):this.getToken(e.KW_PARTITION,t)}partitionSelectorSpec(t){return t===void 0?this.getRuleContexts(Vi):this.getRuleContext(t,Vi)}ifExists(){return this.getRuleContext(0,Ut)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_PROTECTION(){return this.getToken(e.KW_PROTECTION,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}replicationClause(){return this.getRuleContext(0,ci)}get ruleIndex(){return e.RULE_alterStatementSuffixDropPartitions}enterRule(t){t.enterAlterStatementSuffixDropPartitions&&t.enterAlterStatementSuffixDropPartitions(this)}exitRule(t){t.exitAlterStatementSuffixDropPartitions&&t.exitAlterStatementSuffixDropPartitions(this)}accept(t){return t.visitAlterStatementSuffixDropPartitions?t.visitAlterStatementSuffixDropPartitions(this):t.visitChildren(this)}}class U2 extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}constant(){return this.getRuleContext(0,De)}skewedColumnValuePair(){return this.getRuleContext(0,Ei)}get ruleIndex(){return e.RULE_skewedLocationMap}enterRule(t){t.enterSkewedLocationMap&&t.enterSkewedLocationMap(this)}exitRule(t){t.exitSkewedLocationMap&&t.exitSkewedLocationMap(this)}accept(t){return t.visitSkewedLocationMap?t.visitSkewedLocationMap(this):t.visitChildren(this)}}class _c extends R{constructor(t,s){super(t,s)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_EXPIRE_SNAPSHOTS(){return this.getToken(e.KW_EXPIRE_SNAPSHOTS,0)}KW_SET_CURRENT_SNAPSHOT(){return this.getToken(e.KW_SET_CURRENT_SNAPSHOT,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_alterStatementSuffixExecute}enterRule(t){t.enterAlterStatementSuffixExecute&&t.enterAlterStatementSuffixExecute(this)}exitRule(t){t.exitAlterStatementSuffixExecute&&t.exitAlterStatementSuffixExecute(this)}accept(t){return t.visitAlterStatementSuffixExecute?t.visitAlterStatementSuffixExecute(this):t.visitChildren(this)}}class Lc extends R{constructor(t,s){super(t,s)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_INPUTDRIVER(){return this.getToken(e.KW_INPUTDRIVER,0)}KW_OUTPUTDRIVER(){return this.getToken(e.KW_OUTPUTDRIVER,0)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_fileFormat}enterRule(t){t.enterFileFormat&&t.enterFileFormat(this)}exitRule(t){t.exitFileFormat&&t.exitFileFormat(this)}accept(t){return t.visitFileFormat?t.visitFileFormat(this):t.visitChildren(this)}}class xc extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_FILE(){return this.getToken(e.KW_FILE,0)}id_(){return this.getRuleContext(0,p)}StringLiteral(){return this.getToken(e.StringLiteral,0)}tableName(){return this.getRuleContext(0,Wt)}get ruleIndex(){return e.RULE_likeTableOrFile}enterRule(t){t.enterLikeTableOrFile&&t.enterLikeTableOrFile(this)}exitRule(t){t.exitLikeTableOrFile&&t.exitLikeTableOrFile(this)}accept(t){return t.visitLikeTableOrFile?t.visitLikeTableOrFile(this):t.visitChildren(this)}}class pc extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,xi)}likeTableOrFile(){return this.getRuleContext(0,xc)}ifNotExists(){return this.getRuleContext(0,re)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TRANSACTIONAL(){return this.getToken(e.KW_TRANSACTIONAL,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}createTablePartitionSpec(){return this.getRuleContext(0,po)}tableRowFormat(){return this.getRuleContext(0,E1)}tableFileFormat(){return this.getRuleContext(0,T1)}locationPath(){return this.getRuleContext(0,ae)}tablePropertiesPrefixed(){return this.getRuleContext(0,R1)}tableLifecycle(){return this.getRuleContext(0,xo)}LPAREN(){return this.getToken(e.LPAREN,0)}columnNameTypeOrConstraintList(){return this.getRuleContext(0,So)}RPAREN(){return this.getToken(e.RPAREN,0)}tableComment(){return this.getRuleContext(0,u1)}tableBuckets(){return this.getRuleContext(0,n2)}tableSkewed(){return this.getRuleContext(0,i2)}KW_AS(){return this.getToken(e.KW_AS,0)}selectStatementWithCTE(){return this.getRuleContext(0,L1)}KW_MANAGED(){return this.getToken(e.KW_MANAGED,0)}get ruleIndex(){return e.RULE_createTableStatement}enterRule(t){t.enterCreateTableStatement&&t.enterCreateTableStatement(this)}exitRule(t){t.exitCreateTableStatement&&t.exitCreateTableStatement(this)}accept(t){return t.visitCreateTableStatement?t.visitCreateTableStatement(this):t.visitChildren(this)}}class Nc extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}id_(){return this.getRuleContext(0,p)}ifNotExists(){return this.getRuleContext(0,re)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_URL(){return this.getToken(e.KW_URL,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_DCPROPERTIES(){return this.getToken(e.KW_DCPROPERTIES,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}keyValueProperties(){return this.getRuleContext(0,ge)}get ruleIndex(){return e.RULE_createDataConnectorStatement}enterRule(t){t.enterCreateDataConnectorStatement&&t.enterCreateDataConnectorStatement(this)}exitRule(t){t.exitCreateDataConnectorStatement&&t.exitCreateDataConnectorStatement(this)}accept(t){return t.visitCreateDataConnectorStatement?t.visitCreateDataConnectorStatement(this):t.visitChildren(this)}}class Oc extends R{constructor(t,s){super(t,s)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_DATACONNECTOR(){return this.getToken(e.KW_DATACONNECTOR,0)}id_(){return this.getRuleContext(0,p)}ifExists(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_dropDataConnectorStatement}enterRule(t){t.enterDropDataConnectorStatement&&t.enterDropDataConnectorStatement(this)}exitRule(t){t.exitDropDataConnectorStatement&&t.exitDropDataConnectorStatement(this)}accept(t){return t.visitDropDataConnectorStatement?t.visitDropDataConnectorStatement(this):t.visitChildren(this)}}class S2 extends R{constructor(t,s){super(t,s)}STAR(){return this.getToken(e.STAR,0)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_tableAllColumns}enterRule(t){t.enterTableAllColumns&&t.enterTableAllColumns(this)}exitRule(t){t.exitTableAllColumns&&t.exitTableAllColumns(this)}accept(t){return t.visitTableAllColumns?t.visitTableAllColumns(this):t.visitChildren(this)}}class gc extends R{constructor(t,s){super(t,s)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionList}enterRule(t){t.enterExpressionList&&t.enterExpressionList(this)}exitRule(t){t.exitExpressionList&&t.exitExpressionList(this)}accept(t){return t.visitExpressionList?t.visitExpressionList(this):t.visitChildren(this)}}class y2 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_aliasList}enterRule(t){t.enterAliasList&&t.enterAliasList(this)}exitRule(t){t.exitAliasList&&t.exitAliasList(this)}accept(t){return t.visitAliasList?t.visitAliasList(this):t.visitChildren(this)}}class fi extends R{constructor(t,s){super(t,s)}KW_FROM(){return this.getToken(e.KW_FROM,0)}fromSource(){return this.getRuleContext(0,Ic)}get ruleIndex(){return e.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}class Ic extends R{constructor(t,s){super(t,s)}KW_UNIQUEJOIN(){return this.getToken(e.KW_UNIQUEJOIN,0)}uniqueJoinSource(t){return t===void 0?this.getRuleContexts(w2):this.getRuleContext(t,w2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}joinSource(){return this.getRuleContext(0,M2)}get ruleIndex(){return e.RULE_fromSource}enterRule(t){t.enterFromSource&&t.enterFromSource(this)}exitRule(t){t.exitFromSource&&t.exitFromSource(this)}accept(t){return t.visitFromSource?t.visitFromSource(this):t.visitChildren(this)}}class kc extends R{constructor(t,s){super(t,s)}tableSource(){return this.getRuleContext(0,Li)}lateralView(t){return t===void 0?this.getRuleContexts(n0):this.getRuleContext(t,n0)}virtualTableSource(){return this.getRuleContext(0,G2)}subQuerySource(){return this.getRuleContext(0,pi)}partitionedTableFunction(){return this.getRuleContext(0,Ni)}LPAREN(){return this.getToken(e.LPAREN,0)}joinSource(){return this.getRuleContext(0,M2)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_atomjoinSource}enterRule(t){t.enterAtomjoinSource&&t.enterAtomjoinSource(this)}exitRule(t){t.exitAtomjoinSource&&t.exitAtomjoinSource(this)}accept(t){return t.visitAtomjoinSource?t.visitAtomjoinSource(this):t.visitChildren(this)}}class M2 extends R{constructor(t,s){super(t,s)}atomjoinSource(){return this.getRuleContext(0,kc)}joinToken(t){return t===void 0?this.getRuleContexts(b2):this.getRuleContext(t,b2)}joinSourcePart(t){return t===void 0?this.getRuleContexts(_i):this.getRuleContext(t,_i)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_USING(t){return t===void 0?this.getTokens(e.KW_USING):this.getToken(e.KW_USING,t)}columnParenthesesList(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}get ruleIndex(){return e.RULE_joinSource}enterRule(t){t.enterJoinSource&&t.enterJoinSource(this)}exitRule(t){t.exitJoinSource&&t.exitJoinSource(this)}accept(t){return t.visitJoinSource?t.visitJoinSource(this):t.visitChildren(this)}}class _i extends R{constructor(t,s){super(t,s)}tableSource(){return this.getRuleContext(0,Li)}virtualTableSource(){return this.getRuleContext(0,G2)}subQuerySource(){return this.getRuleContext(0,pi)}partitionedTableFunction(){return this.getRuleContext(0,Ni)}lateralView(t){return t===void 0?this.getRuleContexts(n0):this.getRuleContext(t,n0)}get ruleIndex(){return e.RULE_joinSourcePart}enterRule(t){t.enterJoinSourcePart&&t.enterJoinSourcePart(this)}exitRule(t){t.exitJoinSourcePart&&t.exitJoinSourcePart(this)}accept(t){return t.visitJoinSourcePart?t.visitJoinSourcePart(this):t.visitChildren(this)}}class w2 extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}expressionList(){return this.getRuleContext(0,gc)}RPAREN(){return this.getToken(e.RPAREN,0)}tableOrView(){return this.getRuleContext(0,p1)}KW_PRESERVE(){return this.getToken(e.KW_PRESERVE,0)}tableSample(){return this.getRuleContext(0,B2)}id_(){return this.getRuleContext(0,p)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_uniqueJoinSource}enterRule(t){t.enterUniqueJoinSource&&t.enterUniqueJoinSource(this)}exitRule(t){t.exitUniqueJoinSource&&t.exitUniqueJoinSource(this)}accept(t){return t.visitUniqueJoinSource?t.visitUniqueJoinSource(this):t.visitChildren(this)}}class b2 extends R{constructor(t,s){super(t,s)}COMMA(){return this.getToken(e.COMMA,0)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}get ruleIndex(){return e.RULE_joinToken}enterRule(t){t.enterJoinToken&&t.enterJoinToken(this)}exitRule(t){t.exitJoinToken&&t.exitJoinToken(this)}accept(t){return t.visitJoinToken?t.visitJoinToken(this):t.visitChildren(this)}}class n0 extends R{constructor(t,s){super(t,s)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}function_(){return this.getRuleContext(0,wi)}tableAlias(){return this.getRuleContext(0,F2)}KW_AS(){return this.getToken(e.KW_AS,0)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}valuesClause(){return this.getRuleContext(0,Oi)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}get ruleIndex(){return e.RULE_lateralView}enterRule(t){t.enterLateralView&&t.enterLateralView(this)}exitRule(t){t.exitLateralView&&t.exitLateralView(this)}accept(t){return t.visitLateralView?t.visitLateralView(this):t.visitChildren(this)}}class F2 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}class B2 extends R{constructor(t,s){super(t,s),this._expr=[]}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OF(){return this.getToken(e.KW_OF,0)}RPAREN(){return this.getToken(e.RPAREN,0)}Number(t){return t===void 0?this.getTokens(e.Number):this.getToken(e.Number,t)}KW_ON(){return this.getToken(e.KW_ON,0)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}ByteLengthLiteral(){return this.getToken(e.ByteLengthLiteral,0)}KW_PERCENT(){return this.getToken(e.KW_PERCENT,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}get ruleIndex(){return e.RULE_tableSample}enterRule(t){t.enterTableSample&&t.enterTableSample(this)}exitRule(t){t.exitTableSample&&t.exitTableSample(this)}accept(t){return t.visitTableSample?t.visitTableSample(this):t.visitChildren(this)}}class Li extends R{constructor(t,s){super(t,s)}tableOrView(){return this.getRuleContext(0,p1)}tableProperties(){return this.getRuleContext(0,Re)}tableSample(){return this.getRuleContext(0,B2)}asOfClause(){return this.getRuleContext(0,Dc)}id_(){return this.getRuleContext(0,p)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_tableSource}enterRule(t){t.enterTableSource&&t.enterTableSource(this)}exitRule(t){t.exitTableSource&&t.exitTableSource(this)}accept(t){return t.visitTableSource?t.visitTableSource(this):t.visitChildren(this)}}class Dc extends R{constructor(t,s){super(t,s)}KW_FOR(t){return t===void 0?this.getTokens(e.KW_FOR):this.getToken(e.KW_FOR,t)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}expression(){return this.getRuleContext(0,X)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_asOfClause}enterRule(t){t.enterAsOfClause&&t.enterAsOfClause(this)}exitRule(t){t.exitAsOfClause&&t.exitAsOfClause(this)}accept(t){return t.visitAsOfClause?t.visitAsOfClause(this):t.visitChildren(this)}}class pt extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_dbSchemaName}enterRule(t){t.enterDbSchemaName&&t.enterDbSchemaName(this)}exitRule(t){t.exitDbSchemaName&&t.exitDbSchemaName(this)}accept(t){return t.visitDbSchemaName?t.visitDbSchemaName(this):t.visitChildren(this)}}class Uc extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_dbSchemaNameCreate}enterRule(t){t.enterDbSchemaNameCreate&&t.enterDbSchemaNameCreate(this)}exitRule(t){t.exitDbSchemaNameCreate&&t.exitDbSchemaNameCreate(this)}accept(t){return t.visitDbSchemaNameCreate?t.visitDbSchemaNameCreate(this):t.visitChildren(this)}}class p1 extends R{constructor(t,s){super(t,s)}tableName(){return this.getRuleContext(0,Wt)}viewName(){return this.getRuleContext(0,N1)}get ruleIndex(){return e.RULE_tableOrView}enterRule(t){t.enterTableOrView&&t.enterTableOrView(this)}exitRule(t){t.exitTableOrView&&t.exitTableOrView(this)}accept(t){return t.visitTableOrView?t.visitTableOrView(this):t.visitChildren(this)}}class Wt extends R{constructor(t,s){super(t,s)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}get ruleIndex(){return e.RULE_tableName}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}class xi extends R{constructor(t,s){super(t,s)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}get ruleIndex(){return e.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class N1 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_viewName}enterRule(t){t.enterViewName&&t.enterViewName(this)}exitRule(t){t.exitViewName&&t.exitViewName(this)}accept(t){return t.visitViewName?t.visitViewName(this):t.visitChildren(this)}}class V2 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class pi extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}queryStatementExpression(){return this.getRuleContext(0,f1)}RPAREN(){return this.getToken(e.RPAREN,0)}id_(){return this.getRuleContext(0,p)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_subQuerySource}enterRule(t){t.enterSubQuerySource&&t.enterSubQuerySource(this)}exitRule(t){t.exitSubQuerySource&&t.exitSubQuerySource(this)}accept(t){return t.visitSubQuerySource?t.visitSubQuerySource(this):t.visitChildren(this)}}class Y2 extends R{constructor(t,s){super(t,s)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_BY(){return this.getToken(e.KW_BY,0)}expressions(){return this.getRuleContext(0,yi)}orderByClause(){return this.getRuleContext(0,ke)}distributeByClause(){return this.getRuleContext(0,I1)}sortByClause(){return this.getRuleContext(0,k1)}clusterByClause(){return this.getRuleContext(0,g1)}get ruleIndex(){return e.RULE_partitioningSpec}enterRule(t){t.enterPartitioningSpec&&t.enterPartitioningSpec(this)}exitRule(t){t.exitPartitioningSpec&&t.exitPartitioningSpec(this)}accept(t){return t.visitPartitioningSpec?t.visitPartitioningSpec(this):t.visitChildren(this)}}class Sc extends R{constructor(t,s){super(t,s)}subQuerySource(){return this.getRuleContext(0,pi)}tableSource(){return this.getRuleContext(0,Li)}partitionedTableFunction(){return this.getRuleContext(0,Ni)}get ruleIndex(){return e.RULE_partitionTableFunctionSource}enterRule(t){t.enterPartitionTableFunctionSource&&t.enterPartitionTableFunctionSource(this)}exitRule(t){t.exitPartitionTableFunctionSource&&t.exitPartitionTableFunctionSource(this)}accept(t){return t.visitPartitionTableFunctionSource?t.visitPartitionTableFunctionSource(this):t.visitChildren(this)}}class Ni extends R{constructor(t,s){super(t,s)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}KW_ON(){return this.getToken(e.KW_ON,0)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}partitionTableFunctionSource(){return this.getRuleContext(0,Sc)}Identifier(t){return t===void 0?this.getTokens(e.Identifier):this.getToken(e.Identifier,t)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}partitioningSpec(){return this.getRuleContext(0,Y2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionedTableFunction}enterRule(t){t.enterPartitionedTableFunction&&t.enterPartitionedTableFunction(this)}exitRule(t){t.exitPartitionedTableFunction&&t.exitPartitionedTableFunction(this)}accept(t){return t.visitPartitionedTableFunction?t.visitPartitionedTableFunction(this):t.visitChildren(this)}}class g0 extends R{constructor(t,s){super(t,s)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}expression(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}class Oi extends R{constructor(t,s){super(t,s)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expressionsInParenthesis(t){return t===void 0?this.getRuleContexts(Ie):this.getRuleContext(t,Ie)}LPAREN(){return this.getToken(e.LPAREN,0)}firstExpressionsWithAlias(){return this.getRuleContext(0,Bc)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_valuesClause}enterRule(t){t.enterValuesClause&&t.enterValuesClause(this)}exitRule(t){t.exitValuesClause&&t.exitValuesClause(this)}accept(t){return t.visitValuesClause?t.visitValuesClause(this):t.visitChildren(this)}}class G2 extends R{constructor(t,s){super(t,s)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}valuesClause(){return this.getRuleContext(0,Oi)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}tableAlias(){return this.getRuleContext(0,F2)}KW_AS(){return this.getToken(e.KW_AS,0)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_virtualTableSource}enterRule(t){t.enterVirtualTableSource&&t.enterVirtualTableSource(this)}exitRule(t){t.exitVirtualTableSource&&t.exitVirtualTableSource(this)}accept(t){return t.visitVirtualTableSource?t.visitVirtualTableSource(this):t.visitChildren(this)}}class gi extends R{constructor(t,s){super(t,s)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}selectItem(t){return t===void 0?this.getRuleContexts(X2):this.getRuleContext(t,X2)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}selectTrfmClause(){return this.getRuleContext(0,yc)}QUERY_HINT(){return this.getToken(e.QUERY_HINT,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}trfmClause(){return this.getRuleContext(0,Mc)}get ruleIndex(){return e.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}class yc extends R{constructor(t,s){super(t,s)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}selectExpressionList(){return this.getRuleContext(0,Q2)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}rowFormat(t){return t===void 0?this.getRuleContexts(l1):this.getRuleContext(t,l1)}recordWriter(){return this.getRuleContext(0,h2)}KW_USING(){return this.getToken(e.KW_USING,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}recordReader(){return this.getRuleContext(0,r2)}KW_AS(){return this.getToken(e.KW_AS,0)}aliasList(){return this.getRuleContext(0,y2)}columnNameTypeList(){return this.getRuleContext(0,W1)}get ruleIndex(){return e.RULE_selectTrfmClause}enterRule(t){t.enterSelectTrfmClause&&t.enterSelectTrfmClause(this)}exitRule(t){t.exitSelectTrfmClause&&t.exitSelectTrfmClause(this)}accept(t){return t.visitSelectTrfmClause?t.visitSelectTrfmClause(this):t.visitChildren(this)}}class X2 extends R{constructor(t,s){super(t,s)}tableAllColumns(){return this.getRuleContext(0,S2)}columnName(){return this.getRuleContext(0,St)}expression(){return this.getRuleContext(0,X)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}KW_AS(){return this.getToken(e.KW_AS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_selectItem}enterRule(t){t.enterSelectItem&&t.enterSelectItem(this)}exitRule(t){t.exitSelectItem&&t.exitSelectItem(this)}accept(t){return t.visitSelectItem?t.visitSelectItem(this):t.visitChildren(this)}}class Mc extends R{constructor(t,s){super(t,s)}selectExpressionList(){return this.getRuleContext(0,Q2)}rowFormat(t){return t===void 0?this.getRuleContexts(l1):this.getRuleContext(t,l1)}recordWriter(){return this.getRuleContext(0,h2)}KW_USING(){return this.getToken(e.KW_USING,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}recordReader(){return this.getRuleContext(0,r2)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_AS(){return this.getToken(e.KW_AS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}aliasList(){return this.getRuleContext(0,y2)}columnNameTypeList(){return this.getRuleContext(0,W1)}get ruleIndex(){return e.RULE_trfmClause}enterRule(t){t.enterTrfmClause&&t.enterTrfmClause(this)}exitRule(t){t.exitTrfmClause&&t.exitTrfmClause(this)}accept(t){return t.visitTrfmClause?t.visitTrfmClause(this):t.visitChildren(this)}}class O1 extends R{constructor(t,s){super(t,s)}tableAllColumns(){return this.getRuleContext(0,S2)}expression(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_selectExpression}enterRule(t){t.enterSelectExpression&&t.enterSelectExpression(this)}exitRule(t){t.exitSelectExpression&&t.exitSelectExpression(this)}accept(t){return t.visitSelectExpression?t.visitSelectExpression(this):t.visitChildren(this)}}class Q2 extends R{constructor(t,s){super(t,s)}selectExpression(t){return t===void 0?this.getRuleContexts(O1):this.getRuleContext(t,O1)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_selectExpressionList}enterRule(t){t.enterSelectExpressionList&&t.enterSelectExpressionList(this)}exitRule(t){t.exitSelectExpressionList&&t.exitSelectExpressionList(this)}accept(t){return t.visitSelectExpressionList?t.visitSelectExpressionList(this):t.visitChildren(this)}}class Ii extends R{constructor(t,s){super(t,s)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}KW_AS(t){return t===void 0?this.getTokens(e.KW_AS):this.getToken(e.KW_AS,t)}window_specification(t){return t===void 0?this.getRuleContexts(ki):this.getRuleContext(t,ki)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_window_clause}enterRule(t){t.enterWindow_clause&&t.enterWindow_clause(this)}exitRule(t){t.exitWindow_clause&&t.exitWindow_clause(this)}accept(t){return t.visitWindow_clause?t.visitWindow_clause(this):t.visitChildren(this)}}class ki extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}partitioningSpec(){return this.getRuleContext(0,Y2)}window_frame(){return this.getRuleContext(0,wc)}get ruleIndex(){return e.RULE_window_specification}enterRule(t){t.enterWindow_specification&&t.enterWindow_specification(this)}exitRule(t){t.exitWindow_specification&&t.exitWindow_specification(this)}accept(t){return t.visitWindow_specification?t.visitWindow_specification(this):t.visitChildren(this)}}class wc extends R{constructor(t,s){super(t,s)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}window_frame_boundary(t){return t===void 0?this.getRuleContexts(Z2):this.getRuleContext(t,Z2)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_window_frame}enterRule(t){t.enterWindow_frame&&t.enterWindow_frame(this)}exitRule(t){t.exitWindow_frame&&t.exitWindow_frame(this)}accept(t){return t.visitWindow_frame?t.visitWindow_frame(this):t.visitChildren(this)}}class Z2 extends R{constructor(t,s){super(t,s)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}Number(){return this.getToken(e.Number,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}get ruleIndex(){return e.RULE_window_frame_boundary}enterRule(t){t.enterWindow_frame_boundary&&t.enterWindow_frame_boundary(this)}exitRule(t){t.exitWindow_frame_boundary&&t.exitWindow_frame_boundary(this)}accept(t){return t.visitWindow_frame_boundary?t.visitWindow_frame_boundary(this):t.visitChildren(this)}}class Di extends R{constructor(t,s){super(t,s)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_BY(){return this.getToken(e.KW_BY,0)}columnName(){return this.getRuleContext(0,St)}rollupStandard(){return this.getRuleContext(0,bc)}rollupOldSyntax(){return this.getRuleContext(0,Fc)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}class bc extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_rollupStandard}enterRule(t){t.enterRollupStandard&&t.enterRollupStandard(this)}exitRule(t){t.exitRollupStandard&&t.exitRollupStandard(this)}accept(t){return t.visitRollupStandard?t.visitRollupStandard(this):t.visitChildren(this)}}class Fc extends R{constructor(t,s){super(t,s)}expressionsNotInParenthesis(){return this.getRuleContext(0,Mi)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}LPAREN(){return this.getToken(e.LPAREN,0)}groupingSetExpression(t){return t===void 0?this.getRuleContexts(j2):this.getRuleContext(t,j2)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_rollupOldSyntax}enterRule(t){t.enterRollupOldSyntax&&t.enterRollupOldSyntax(this)}exitRule(t){t.exitRollupOldSyntax&&t.exitRollupOldSyntax(this)}accept(t){return t.visitRollupOldSyntax?t.visitRollupOldSyntax(this):t.visitChildren(this)}}class j2 extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_groupingSetExpression}enterRule(t){t.enterGroupingSetExpression&&t.enterGroupingSetExpression(this)}exitRule(t){t.exitGroupingSetExpression&&t.exitGroupingSetExpression(this)}accept(t){return t.visitGroupingSetExpression?t.visitGroupingSetExpression(this):t.visitChildren(this)}}class Ui extends R{constructor(t,s){super(t,s)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}expression(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}class Si extends R{constructor(t,s){super(t,s)}KW_QUALIFY(){return this.getToken(e.KW_QUALIFY,0)}expression(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_qualifyClause}enterRule(t){t.enterQualifyClause&&t.enterQualifyClause(this)}exitRule(t){t.exitQualifyClause&&t.exitQualifyClause(this)}accept(t){return t.visitQualifyClause?t.visitQualifyClause(this):t.visitChildren(this)}}class z2 extends R{constructor(t,s){super(t,s)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_expressionOrDefault}enterRule(t){t.enterExpressionOrDefault&&t.enterExpressionOrDefault(this)}exitRule(t){t.exitExpressionOrDefault&&t.exitExpressionOrDefault(this)}accept(t){return t.visitExpressionOrDefault?t.visitExpressionOrDefault(this):t.visitChildren(this)}}class Bc extends R{constructor(t,s){super(t,s)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_AS(t){return t===void 0?this.getTokens(e.KW_AS):this.getToken(e.KW_AS,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}get ruleIndex(){return e.RULE_firstExpressionsWithAlias}enterRule(t){t.enterFirstExpressionsWithAlias&&t.enterFirstExpressionsWithAlias(this)}exitRule(t){t.exitFirstExpressionsWithAlias&&t.exitFirstExpressionsWithAlias(this)}accept(t){return t.visitFirstExpressionsWithAlias?t.visitFirstExpressionsWithAlias(this):t.visitChildren(this)}}class yi extends R{constructor(t,s){super(t,s)}expressionsInParenthesis(){return this.getRuleContext(0,Ie)}expressionsNotInParenthesis(){return this.getRuleContext(0,Mi)}get ruleIndex(){return e.RULE_expressions}enterRule(t){t.enterExpressions&&t.enterExpressions(this)}exitRule(t){t.exitExpressions&&t.exitExpressions(this)}accept(t){return t.visitExpressions?t.visitExpressions(this):t.visitChildren(this)}}class Ie extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}expressionsNotInParenthesis(){return this.getRuleContext(0,Mi)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_expressionsInParenthesis}enterRule(t){t.enterExpressionsInParenthesis&&t.enterExpressionsInParenthesis(this)}exitRule(t){t.exitExpressionsInParenthesis&&t.exitExpressionsInParenthesis(this)}accept(t){return t.visitExpressionsInParenthesis?t.visitExpressionsInParenthesis(this):t.visitChildren(this)}}class Mi extends R{constructor(t,s){super(t,s)}expressionOrDefault(t){return t===void 0?this.getRuleContexts(z2):this.getRuleContext(t,z2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionsNotInParenthesis}enterRule(t){t.enterExpressionsNotInParenthesis&&t.enterExpressionsNotInParenthesis(this)}exitRule(t){t.exitExpressionsNotInParenthesis&&t.exitExpressionsNotInParenthesis(this)}accept(t){return t.visitExpressionsNotInParenthesis?t.visitExpressionsNotInParenthesis(this):t.visitChildren(this)}}class ke extends R{constructor(t,s){super(t,s)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}columnRefOrder(t){return t===void 0?this.getRuleContexts(d1):this.getRuleContext(t,d1)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_orderByClause}enterRule(t){t.enterOrderByClause&&t.enterOrderByClause(this)}exitRule(t){t.exitOrderByClause&&t.exitOrderByClause(this)}accept(t){return t.visitOrderByClause?t.visitOrderByClause(this):t.visitChildren(this)}}class g1 extends R{constructor(t,s){super(t,s)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}expressions(){return this.getRuleContext(0,yi)}get ruleIndex(){return e.RULE_clusterByClause}enterRule(t){t.enterClusterByClause&&t.enterClusterByClause(this)}exitRule(t){t.exitClusterByClause&&t.exitClusterByClause(this)}accept(t){return t.visitClusterByClause?t.visitClusterByClause(this):t.visitChildren(this)}}class I1 extends R{constructor(t,s){super(t,s)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_BY(){return this.getToken(e.KW_BY,0)}expressions(){return this.getRuleContext(0,yi)}get ruleIndex(){return e.RULE_distributeByClause}enterRule(t){t.enterDistributeByClause&&t.enterDistributeByClause(this)}exitRule(t){t.exitDistributeByClause&&t.exitDistributeByClause(this)}accept(t){return t.visitDistributeByClause?t.visitDistributeByClause(this):t.visitChildren(this)}}class k1 extends R{constructor(t,s){super(t,s)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_BY(){return this.getToken(e.KW_BY,0)}LPAREN(){return this.getToken(e.LPAREN,0)}columnRefOrder(t){return t===void 0?this.getRuleContexts(d1):this.getRuleContext(t,d1)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_sortByClause}enterRule(t){t.enterSortByClause&&t.enterSortByClause(this)}exitRule(t){t.exitSortByClause&&t.exitSortByClause(this)}accept(t){return t.visitSortByClause?t.visitSortByClause(this):t.visitChildren(this)}}class wi extends R{constructor(t,s){super(t,s)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}LPAREN(t){return t===void 0?this.getTokens(e.LPAREN):this.getToken(e.LPAREN,t)}KW_FROM(){return this.getToken(e.KW_FROM,0)}RPAREN(t){return t===void 0?this.getTokens(e.RPAREN):this.getToken(e.RPAREN,t)}selectExpression(t){return t===void 0?this.getRuleContexts(O1):this.getRuleContext(t,O1)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}functionNameForInvoke(){return this.getRuleContext(0,Gc)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}STAR(){return this.getToken(e.STAR,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}orderByClause(){return this.getRuleContext(0,ke)}window_specification(){return this.getRuleContext(0,ki)}null_treatment(){return this.getRuleContext(0,Vc)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_function_}enterRule(t){t.enterFunction_&&t.enterFunction_(this)}exitRule(t){t.exitFunction_&&t.exitFunction_(this)}accept(t){return t.visitFunction_?t.visitFunction_(this):t.visitChildren(this)}}class Vc extends R{constructor(t,s){super(t,s)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}get ruleIndex(){return e.RULE_null_treatment}enterRule(t){t.enterNull_treatment&&t.enterNull_treatment(this)}exitRule(t){t.exitNull_treatment&&t.exitNull_treatment(this)}accept(t){return t.visitNull_treatment?t.visitNull_treatment(this):t.visitChildren(this)}}class Yc extends R{constructor(t,s){super(t,s)}functionIdentifier(){return this.getRuleContext(0,Yi)}get ruleIndex(){return e.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class bi extends R{constructor(t,s){super(t,s)}functionIdentifier(){return this.getRuleContext(0,Yi)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_functionNameForDDL}enterRule(t){t.enterFunctionNameForDDL&&t.enterFunctionNameForDDL(this)}exitRule(t){t.exitFunctionNameForDDL&&t.exitFunctionNameForDDL(this)}accept(t){return t.visitFunctionNameForDDL?t.visitFunctionNameForDDL(this):t.visitChildren(this)}}class Gc extends R{constructor(t,s){super(t,s)}functionIdentifier(){return this.getRuleContext(0,Yi)}sql11ReservedKeywordsUsedAsFunctionName(){return this.getRuleContext(0,n4)}sysFuncNames(){return this.getRuleContext(0,e4)}get ruleIndex(){return e.RULE_functionNameForInvoke}enterRule(t){t.enterFunctionNameForInvoke&&t.enterFunctionNameForInvoke(this)}exitRule(t){t.exitFunctionNameForInvoke&&t.exitFunctionNameForInvoke(this)}accept(t){return t.visitFunctionNameForInvoke?t.visitFunctionNameForInvoke(this):t.visitChildren(this)}}class J2 extends R{constructor(t,s){super(t,s)}KW_CAST(){return this.getToken(e.KW_CAST,0)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(){return this.getRuleContext(0,X)}KW_AS(){return this.getToken(e.KW_AS,0)}RPAREN(){return this.getToken(e.RPAREN,0)}primitiveType(){return this.getRuleContext(0,di)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}get ruleIndex(){return e.RULE_castExpression}enterRule(t){t.enterCastExpression&&t.enterCastExpression(this)}exitRule(t){t.exitCastExpression&&t.exitCastExpression(this)}accept(t){return t.visitCastExpression?t.visitCastExpression(this):t.visitChildren(this)}}class Xc extends R{constructor(t,s){super(t,s)}KW_CASE(){return this.getToken(e.KW_CASE,0)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_END(){return this.getToken(e.KW_END,0)}KW_WHEN(t){return t===void 0?this.getTokens(e.KW_WHEN):this.getToken(e.KW_WHEN,t)}KW_THEN(t){return t===void 0?this.getTokens(e.KW_THEN):this.getToken(e.KW_THEN,t)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}get ruleIndex(){return e.RULE_caseExpression}enterRule(t){t.enterCaseExpression&&t.enterCaseExpression(this)}exitRule(t){t.exitCaseExpression&&t.exitCaseExpression(this)}accept(t){return t.visitCaseExpression?t.visitCaseExpression(this):t.visitChildren(this)}}class Qc extends R{constructor(t,s){super(t,s)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_END(){return this.getToken(e.KW_END,0)}KW_WHEN(t){return t===void 0?this.getTokens(e.KW_WHEN):this.getToken(e.KW_WHEN,t)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_THEN(t){return t===void 0?this.getTokens(e.KW_THEN):this.getToken(e.KW_THEN,t)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}get ruleIndex(){return e.RULE_whenExpression}enterRule(t){t.enterWhenExpression&&t.enterWhenExpression(this)}exitRule(t){t.exitWhenExpression&&t.exitWhenExpression(this)}accept(t){return t.visitWhenExpression?t.visitWhenExpression(this):t.visitChildren(this)}}class Zc extends R{constructor(t,s){super(t,s)}KW_FLOOR(){return this.getToken(e.KW_FLOOR,0)}LPAREN(){return this.getToken(e.LPAREN,0)}expression(){return this.getRuleContext(0,X)}RPAREN(){return this.getToken(e.RPAREN,0)}KW_TO(){return this.getToken(e.KW_TO,0)}timeQualifiers(){return this.getRuleContext(0,$2)}get ruleIndex(){return e.RULE_floorExpression}enterRule(t){t.enterFloorExpression&&t.enterFloorExpression(this)}exitRule(t){t.exitFloorExpression&&t.exitFloorExpression(this)}accept(t){return t.visitFloorExpression?t.visitFloorExpression(this):t.visitChildren(this)}}class jc extends R{constructor(t,s){super(t,s)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}LPAREN(){return this.getToken(e.LPAREN,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}expression(){return this.getRuleContext(0,X)}RPAREN(){return this.getToken(e.RPAREN,0)}timeQualifiers(){return this.getRuleContext(0,$2)}get ruleIndex(){return e.RULE_extractExpression}enterRule(t){t.enterExtractExpression&&t.enterExtractExpression(this)}exitRule(t){t.exitExtractExpression&&t.exitExtractExpression(this)}accept(t){return t.visitExtractExpression?t.visitExtractExpression(this):t.visitChildren(this)}}class $2 extends R{constructor(t,s){super(t,s)}year(){return this.getRuleContext(0,Qi)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}month(){return this.getRuleContext(0,Zi)}week(){return this.getRuleContext(0,o4)}day(){return this.getRuleContext(0,ji)}hour(){return this.getRuleContext(0,zi)}minute(){return this.getRuleContext(0,Wh)}second(){return this.getRuleContext(0,Kh)}get ruleIndex(){return e.RULE_timeQualifiers}enterRule(t){t.enterTimeQualifiers&&t.enterTimeQualifiers(this)}exitRule(t){t.exitTimeQualifiers&&t.exitTimeQualifiers(this)}accept(t){return t.visitTimeQualifiers?t.visitTimeQualifiers(this):t.visitChildren(this)}}class De extends R{constructor(t,s){super(t,s)}intervalValue(){return this.getRuleContext(0,P2)}intervalQualifiers(){return this.getRuleContext(0,Fi)}Number(){return this.getToken(e.Number,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}StringLiteral(t){return t===void 0?this.getTokens(e.StringLiteral):this.getToken(e.StringLiteral,t)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_TIMESTAMPLOCALTZ(){return this.getToken(e.KW_TIMESTAMPLOCALTZ,0)}IntegralLiteral(){return this.getToken(e.IntegralLiteral,0)}NumberLiteral(){return this.getToken(e.NumberLiteral,0)}CharSetName(){return this.getToken(e.CharSetName,0)}CharSetLiteral(){return this.getToken(e.CharSetLiteral,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}QUESTION(){return this.getToken(e.QUESTION,0)}Identifier(){return this.getToken(e.Identifier,0)}get ruleIndex(){return e.RULE_constant}enterRule(t){t.enterConstant&&t.enterConstant(this)}exitRule(t){t.exitConstant&&t.exitConstant(this)}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}}class P2 extends R{constructor(t,s){super(t,s)}StringLiteral(){return this.getToken(e.StringLiteral,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}class zc extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}RPAREN(){return this.getToken(e.RPAREN,0)}intervalValue(){return this.getRuleContext(0,P2)}intervalQualifiers(){return this.getRuleContext(0,Fi)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}expression(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_intervalExpression}enterRule(t){t.enterIntervalExpression&&t.enterIntervalExpression(this)}exitRule(t){t.exitIntervalExpression&&t.exitIntervalExpression(this)}accept(t){return t.visitIntervalExpression?t.visitIntervalExpression(this):t.visitChildren(this)}}class Fi extends R{constructor(t,s){super(t,s)}year(){return this.getRuleContext(0,Qi)}KW_TO(){return this.getToken(e.KW_TO,0)}month(){return this.getRuleContext(0,Zi)}day(){return this.getRuleContext(0,ji)}second(){return this.getRuleContext(0,Kh)}hour(){return this.getRuleContext(0,zi)}minute(){return this.getRuleContext(0,Wh)}get ruleIndex(){return e.RULE_intervalQualifiers}enterRule(t){t.enterIntervalQualifiers&&t.enterIntervalQualifiers(this)}exitRule(t){t.exitIntervalQualifiers&&t.exitIntervalQualifiers(this)}accept(t){return t.visitIntervalQualifiers?t.visitIntervalQualifiers(this):t.visitChildren(this)}}class X extends R{constructor(t,s){super(t,s)}precedenceAndExpression(t){return t===void 0?this.getRuleContexts(ah):this.getRuleContext(t,ah)}KW_OR(t){return t===void 0?this.getTokens(e.KW_OR):this.getToken(e.KW_OR,t)}get ruleIndex(){return e.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class Jc extends R{constructor(t,s){super(t,s)}constant(){return this.getRuleContext(0,De)}intervalExpression(){return this.getRuleContext(0,zc)}castExpression(){return this.getRuleContext(0,J2)}extractExpression(){return this.getRuleContext(0,jc)}floorExpression(){return this.getRuleContext(0,Zc)}caseExpression(){return this.getRuleContext(0,Xc)}whenExpression(){return this.getRuleContext(0,Qc)}subQueryExpression(){return this.getRuleContext(0,D1)}function_(){return this.getRuleContext(0,wi)}expressionsInParenthesis(){return this.getRuleContext(0,Ie)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_atomExpression}enterRule(t){t.enterAtomExpression&&t.enterAtomExpression(this)}exitRule(t){t.exitAtomExpression&&t.exitAtomExpression(this)}accept(t){return t.visitAtomExpression?t.visitAtomExpression(this):t.visitChildren(this)}}class H2 extends R{constructor(t,s){super(t,s)}atomExpression(){return this.getRuleContext(0,Jc)}LSQUARE(t){return t===void 0?this.getTokens(e.LSQUARE):this.getToken(e.LSQUARE,t)}expression(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}RSQUARE(t){return t===void 0?this.getTokens(e.RSQUARE):this.getToken(e.RSQUARE,t)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}PLUS(t){return t===void 0?this.getTokens(e.PLUS):this.getToken(e.PLUS,t)}MINUS(t){return t===void 0?this.getTokens(e.MINUS):this.getToken(e.MINUS,t)}TILDE(t){return t===void 0?this.getTokens(e.TILDE):this.getToken(e.TILDE,t)}BITWISENOT(t){return t===void 0?this.getTokens(e.BITWISENOT):this.getToken(e.BITWISENOT,t)}get ruleIndex(){return e.RULE_precedenceUnaryPrefixExpression}enterRule(t){t.enterPrecedenceUnaryPrefixExpression&&t.enterPrecedenceUnaryPrefixExpression(this)}exitRule(t){t.exitPrecedenceUnaryPrefixExpression&&t.exitPrecedenceUnaryPrefixExpression(this)}accept(t){return t.visitPrecedenceUnaryPrefixExpression?t.visitPrecedenceUnaryPrefixExpression(this):t.visitChildren(this)}}class v2 extends R{constructor(t,s){super(t,s)}precedenceUnaryPrefixExpression(t){return t===void 0?this.getRuleContexts(H2):this.getRuleContext(t,H2)}BITWISEXOR(t){return t===void 0?this.getTokens(e.BITWISEXOR):this.getToken(e.BITWISEXOR,t)}get ruleIndex(){return e.RULE_precedenceBitwiseXorExpression}enterRule(t){t.enterPrecedenceBitwiseXorExpression&&t.enterPrecedenceBitwiseXorExpression(this)}exitRule(t){t.exitPrecedenceBitwiseXorExpression&&t.exitPrecedenceBitwiseXorExpression(this)}accept(t){return t.visitPrecedenceBitwiseXorExpression?t.visitPrecedenceBitwiseXorExpression(this):t.visitChildren(this)}}class q2 extends R{constructor(t,s){super(t,s)}precedenceBitwiseXorExpression(t){return t===void 0?this.getRuleContexts(v2):this.getRuleContext(t,v2)}STAR(t){return t===void 0?this.getTokens(e.STAR):this.getToken(e.STAR,t)}DIVIDE(t){return t===void 0?this.getTokens(e.DIVIDE):this.getToken(e.DIVIDE,t)}MOD(t){return t===void 0?this.getTokens(e.MOD):this.getToken(e.MOD,t)}DIV(t){return t===void 0?this.getTokens(e.DIV):this.getToken(e.DIV,t)}get ruleIndex(){return e.RULE_precedenceStarExpression}enterRule(t){t.enterPrecedenceStarExpression&&t.enterPrecedenceStarExpression(this)}exitRule(t){t.exitPrecedenceStarExpression&&t.exitPrecedenceStarExpression(this)}accept(t){return t.visitPrecedenceStarExpression?t.visitPrecedenceStarExpression(this):t.visitChildren(this)}}class Bi extends R{constructor(t,s){super(t,s)}precedenceStarExpression(t){return t===void 0?this.getRuleContexts(q2):this.getRuleContext(t,q2)}PLUS(t){return t===void 0?this.getTokens(e.PLUS):this.getToken(e.PLUS,t)}MINUS(t){return t===void 0?this.getTokens(e.MINUS):this.getToken(e.MINUS,t)}get ruleIndex(){return e.RULE_precedencePlusExpression}enterRule(t){t.enterPrecedencePlusExpression&&t.enterPrecedencePlusExpression(this)}exitRule(t){t.exitPrecedencePlusExpression&&t.exitPrecedencePlusExpression(this)}accept(t){return t.visitPrecedencePlusExpression?t.visitPrecedencePlusExpression(this):t.visitChildren(this)}}class th extends R{constructor(t,s){super(t,s)}precedencePlusExpression(t){return t===void 0?this.getRuleContexts(Bi):this.getRuleContext(t,Bi)}CONCATENATE(t){return t===void 0?this.getTokens(e.CONCATENATE):this.getToken(e.CONCATENATE,t)}get ruleIndex(){return e.RULE_precedenceConcatenateExpression}enterRule(t){t.enterPrecedenceConcatenateExpression&&t.enterPrecedenceConcatenateExpression(this)}exitRule(t){t.exitPrecedenceConcatenateExpression&&t.exitPrecedenceConcatenateExpression(this)}accept(t){return t.visitPrecedenceConcatenateExpression?t.visitPrecedenceConcatenateExpression(this):t.visitChildren(this)}}class eh extends R{constructor(t,s){super(t,s)}precedenceConcatenateExpression(t){return t===void 0?this.getRuleContexts(th):this.getRuleContext(t,th)}AMPERSAND(t){return t===void 0?this.getTokens(e.AMPERSAND):this.getToken(e.AMPERSAND,t)}get ruleIndex(){return e.RULE_precedenceAmpersandExpression}enterRule(t){t.enterPrecedenceAmpersandExpression&&t.enterPrecedenceAmpersandExpression(this)}exitRule(t){t.exitPrecedenceAmpersandExpression&&t.exitPrecedenceAmpersandExpression(this)}accept(t){return t.visitPrecedenceAmpersandExpression?t.visitPrecedenceAmpersandExpression(this):t.visitChildren(this)}}class I0 extends R{constructor(t,s){super(t,s)}precedenceAmpersandExpression(t){return t===void 0?this.getRuleContexts(eh):this.getRuleContext(t,eh)}BITWISEOR(t){return t===void 0?this.getTokens(e.BITWISEOR):this.getToken(e.BITWISEOR,t)}get ruleIndex(){return e.RULE_precedenceBitwiseOrExpression}enterRule(t){t.enterPrecedenceBitwiseOrExpression&&t.enterPrecedenceBitwiseOrExpression(this)}exitRule(t){t.exitPrecedenceBitwiseOrExpression&&t.exitPrecedenceBitwiseOrExpression(this)}accept(t){return t.visitPrecedenceBitwiseOrExpression?t.visitPrecedenceBitwiseOrExpression(this):t.visitChildren(this)}}class $c extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}LESSTHANOREQUALTO(){return this.getToken(e.LESSTHANOREQUALTO,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}GREATERTHANOREQUALTO(){return this.getToken(e.GREATERTHANOREQUALTO,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_precedenceSimilarOperator}enterRule(t){t.enterPrecedenceSimilarOperator&&t.enterPrecedenceSimilarOperator(this)}exitRule(t){t.exitPrecedenceSimilarOperator&&t.exitPrecedenceSimilarOperator(this)}accept(t){return t.visitPrecedenceSimilarOperator?t.visitPrecedenceSimilarOperator(this):t.visitChildren(this)}}class D1 extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}selectStatement(){return this.getRuleContext(0,O0)}RPAREN(){return this.getToken(e.RPAREN,0)}get ruleIndex(){return e.RULE_subQueryExpression}enterRule(t){t.enterSubQueryExpression&&t.enterSubQueryExpression(this)}exitRule(t){t.exitSubQueryExpression&&t.exitSubQueryExpression(this)}accept(t){return t.visitSubQueryExpression?t.visitSubQueryExpression(this):t.visitChildren(this)}}class sh extends R{constructor(t,s){super(t,s)}precedenceBitwiseOrExpression(){return this.getRuleContext(0,I0)}precedenceSimilarExpressionPart(){return this.getRuleContext(0,Pc)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}subQueryExpression(){return this.getRuleContext(0,D1)}get ruleIndex(){return e.RULE_precedenceSimilarExpression}enterRule(t){t.enterPrecedenceSimilarExpression&&t.enterPrecedenceSimilarExpression(this)}exitRule(t){t.exitPrecedenceSimilarExpression&&t.exitPrecedenceSimilarExpression(this)}accept(t){return t.visitPrecedenceSimilarExpression?t.visitPrecedenceSimilarExpression(this):t.visitChildren(this)}}class Pc extends R{constructor(t,s){super(t,s)}precedenceSimilarOperator(){return this.getRuleContext(0,$c)}precedenceBitwiseOrExpression(){return this.getRuleContext(0,I0)}precedenceSimilarExpressionAtom(){return this.getRuleContext(0,nh)}KW_NOT(){return this.getToken(e.KW_NOT,0)}precedenceSimilarExpressionPartNot(){return this.getRuleContext(0,vc)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionPart}enterRule(t){t.enterPrecedenceSimilarExpressionPart&&t.enterPrecedenceSimilarExpressionPart(this)}exitRule(t){t.exitPrecedenceSimilarExpressionPart&&t.exitPrecedenceSimilarExpressionPart(this)}accept(t){return t.visitPrecedenceSimilarExpressionPart?t.visitPrecedenceSimilarExpressionPart(this):t.visitChildren(this)}}class nh extends R{constructor(t,s){super(t,s)}KW_IN(){return this.getToken(e.KW_IN,0)}precedenceSimilarExpressionIn(){return this.getRuleContext(0,Hc)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_AND(){return this.getToken(e.KW_AND,0)}precedenceBitwiseOrExpression(t){return t===void 0?this.getRuleContexts(I0):this.getRuleContext(t,I0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}expressionsInParenthesis(){return this.getRuleContext(0,Ie)}subQuerySelectorOperator(){return this.getRuleContext(0,uh)}subQueryExpression(){return this.getRuleContext(0,D1)}KW_SOME(){return this.getToken(e.KW_SOME,0)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionAtom}enterRule(t){t.enterPrecedenceSimilarExpressionAtom&&t.enterPrecedenceSimilarExpressionAtom(this)}exitRule(t){t.exitPrecedenceSimilarExpressionAtom&&t.exitPrecedenceSimilarExpressionAtom(this)}accept(t){return t.visitPrecedenceSimilarExpressionAtom?t.visitPrecedenceSimilarExpressionAtom(this):t.visitChildren(this)}}class Hc extends R{constructor(t,s){super(t,s)}subQueryExpression(){return this.getRuleContext(0,D1)}expressionsInParenthesis(){return this.getRuleContext(0,Ie)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionIn}enterRule(t){t.enterPrecedenceSimilarExpressionIn&&t.enterPrecedenceSimilarExpressionIn(this)}exitRule(t){t.exitPrecedenceSimilarExpressionIn&&t.exitPrecedenceSimilarExpressionIn(this)}accept(t){return t.visitPrecedenceSimilarExpressionIn?t.visitPrecedenceSimilarExpressionIn(this):t.visitChildren(this)}}class vc extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}precedenceBitwiseOrExpression(){return this.getRuleContext(0,I0)}precedenceSimilarExpressionAtom(){return this.getRuleContext(0,nh)}get ruleIndex(){return e.RULE_precedenceSimilarExpressionPartNot}enterRule(t){t.enterPrecedenceSimilarExpressionPartNot&&t.enterPrecedenceSimilarExpressionPartNot(this)}exitRule(t){t.exitPrecedenceSimilarExpressionPartNot&&t.exitPrecedenceSimilarExpressionPartNot(this)}accept(t){return t.visitPrecedenceSimilarExpressionPartNot?t.visitPrecedenceSimilarExpressionPartNot(this):t.visitChildren(this)}}class ih extends R{constructor(t,s){super(t,s)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}get ruleIndex(){return e.RULE_precedenceDistinctOperator}enterRule(t){t.enterPrecedenceDistinctOperator&&t.enterPrecedenceDistinctOperator(this)}exitRule(t){t.exitPrecedenceDistinctOperator&&t.exitPrecedenceDistinctOperator(this)}accept(t){return t.visitPrecedenceDistinctOperator?t.visitPrecedenceDistinctOperator(this):t.visitChildren(this)}}class rh extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}EQUAL_NS(){return this.getToken(e.EQUAL_NS,0)}NOTEQUAL(){return this.getToken(e.NOTEQUAL,0)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}get ruleIndex(){return e.RULE_precedenceEqualOperator}enterRule(t){t.enterPrecedenceEqualOperator&&t.enterPrecedenceEqualOperator(this)}exitRule(t){t.exitPrecedenceEqualOperator&&t.exitPrecedenceEqualOperator(this)}accept(t){return t.visitPrecedenceEqualOperator?t.visitPrecedenceEqualOperator(this):t.visitChildren(this)}}class qc extends R{constructor(t,s){super(t,s),this._equal=[],this._p=[],this._dist=[]}precedenceSimilarExpression(t){return t===void 0?this.getRuleContexts(sh):this.getRuleContext(t,sh)}precedenceEqualOperator(t){return t===void 0?this.getRuleContexts(rh):this.getRuleContext(t,rh)}precedenceDistinctOperator(t){return t===void 0?this.getRuleContexts(ih):this.getRuleContext(t,ih)}get ruleIndex(){return e.RULE_precedenceEqualExpression}enterRule(t){t.enterPrecedenceEqualExpression&&t.enterPrecedenceEqualExpression(this)}exitRule(t){t.exitPrecedenceEqualExpression&&t.exitPrecedenceEqualExpression(this)}accept(t){return t.visitPrecedenceEqualExpression?t.visitPrecedenceEqualExpression(this):t.visitChildren(this)}}class t4 extends R{constructor(t,s){super(t,s)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}get ruleIndex(){return e.RULE_isCondition}enterRule(t){t.enterIsCondition&&t.enterIsCondition(this)}exitRule(t){t.exitIsCondition&&t.exitIsCondition(this)}accept(t){return t.visitIsCondition?t.visitIsCondition(this):t.visitChildren(this)}}class hh extends R{constructor(t,s){super(t,s)}precedenceEqualExpression(){return this.getRuleContext(0,qc)}KW_NOT(t){return t===void 0?this.getTokens(e.KW_NOT):this.getToken(e.KW_NOT,t)}isCondition(){return this.getRuleContext(0,t4)}KW_IS(){return this.getToken(e.KW_IS,0)}get ruleIndex(){return e.RULE_precedenceNotExpression}enterRule(t){t.enterPrecedenceNotExpression&&t.enterPrecedenceNotExpression(this)}exitRule(t){t.exitPrecedenceNotExpression&&t.exitPrecedenceNotExpression(this)}accept(t){return t.visitPrecedenceNotExpression?t.visitPrecedenceNotExpression(this):t.visitChildren(this)}}class ah extends R{constructor(t,s){super(t,s)}precedenceNotExpression(t){return t===void 0?this.getRuleContexts(hh):this.getRuleContext(t,hh)}KW_AND(t){return t===void 0?this.getTokens(e.KW_AND):this.getToken(e.KW_AND,t)}get ruleIndex(){return e.RULE_precedenceAndExpression}enterRule(t){t.enterPrecedenceAndExpression&&t.enterPrecedenceAndExpression(this)}exitRule(t){t.exitPrecedenceAndExpression&&t.exitPrecedenceAndExpression(this)}accept(t){return t.visitPrecedenceAndExpression?t.visitPrecedenceAndExpression(this):t.visitChildren(this)}}class Bt extends R{constructor(t,s){super(t,s)}tableName(){return this.getRuleContext(0,Wt)}partitionSpec(){return this.getRuleContext(0,zt)}get ruleIndex(){return e.RULE_tableOrPartition}enterRule(t){t.enterTableOrPartition&&t.enterTableOrPartition(this)}exitRule(t){t.exitTableOrPartition&&t.exitTableOrPartition(this)}accept(t){return t.visitTableOrPartition?t.visitTableOrPartition(this):t.visitChildren(this)}}class zt extends R{constructor(t,s){super(t,s)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}LPAREN(){return this.getToken(e.LPAREN,0)}partitionVal(t){return t===void 0?this.getRuleContexts(oh):this.getRuleContext(t,oh)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionSpec}enterRule(t){t.enterPartitionSpec&&t.enterPartitionSpec(this)}exitRule(t){t.exitPartitionSpec&&t.exitPartitionSpec(this)}accept(t){return t.visitPartitionSpec?t.visitPartitionSpec(this):t.visitChildren(this)}}class oh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}EQUAL(){return this.getToken(e.EQUAL,0)}constant(){return this.getRuleContext(0,De)}get ruleIndex(){return e.RULE_partitionVal}enterRule(t){t.enterPartitionVal&&t.enterPartitionVal(this)}exitRule(t){t.exitPartitionVal&&t.exitPartitionVal(this)}accept(t){return t.visitPartitionVal?t.visitPartitionVal(this):t.visitChildren(this)}}class Vi extends R{constructor(t,s){super(t,s)}LPAREN(){return this.getToken(e.LPAREN,0)}partitionSelectorVal(t){return t===void 0?this.getRuleContexts(ch):this.getRuleContext(t,ch)}RPAREN(){return this.getToken(e.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionSelectorSpec}enterRule(t){t.enterPartitionSelectorSpec&&t.enterPartitionSelectorSpec(this)}exitRule(t){t.exitPartitionSelectorSpec&&t.exitPartitionSelectorSpec(this)}accept(t){return t.visitPartitionSelectorSpec?t.visitPartitionSelectorSpec(this):t.visitChildren(this)}}class ch extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}constant(){return this.getRuleContext(0,De)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}subQuerySelectorOperator(){return this.getRuleContext(0,uh)}get ruleIndex(){return e.RULE_partitionSelectorVal}enterRule(t){t.enterPartitionSelectorVal&&t.enterPartitionSelectorVal(this)}exitRule(t){t.exitPartitionSelectorVal&&t.exitPartitionSelectorVal(this)}accept(t){return t.visitPartitionSelectorVal?t.visitPartitionSelectorVal(this):t.visitChildren(this)}}class uh extends R{constructor(t,s){super(t,s)}EQUAL(){return this.getToken(e.EQUAL,0)}NOTEQUAL(){return this.getToken(e.NOTEQUAL,0)}LESSTHANOREQUALTO(){return this.getToken(e.LESSTHANOREQUALTO,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}GREATERTHANOREQUALTO(){return this.getToken(e.GREATERTHANOREQUALTO,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}get ruleIndex(){return e.RULE_subQuerySelectorOperator}enterRule(t){t.enterSubQuerySelectorOperator&&t.enterSubQuerySelectorOperator(this)}exitRule(t){t.exitSubQuerySelectorOperator&&t.exitSubQuerySelectorOperator(this)}accept(t){return t.visitSubQuerySelectorOperator?t.visitSubQuerySelectorOperator(this):t.visitChildren(this)}}class e4 extends R{constructor(t,s){super(t,s)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_FLOOR(){return this.getToken(e.KW_FLOOR,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_UNIONTYPE(){return this.getToken(e.KW_UNIONTYPE,0)}EQUAL(){return this.getToken(e.EQUAL,0)}EQUAL_NS(){return this.getToken(e.EQUAL_NS,0)}NOTEQUAL(){return this.getToken(e.NOTEQUAL,0)}LESSTHANOREQUALTO(){return this.getToken(e.LESSTHANOREQUALTO,0)}LESSTHAN(){return this.getToken(e.LESSTHAN,0)}GREATERTHANOREQUALTO(){return this.getToken(e.GREATERTHANOREQUALTO,0)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}DIVIDE(){return this.getToken(e.DIVIDE,0)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}STAR(){return this.getToken(e.STAR,0)}MOD(){return this.getToken(e.MOD,0)}DIV(){return this.getToken(e.DIV,0)}AMPERSAND(){return this.getToken(e.AMPERSAND,0)}TILDE(){return this.getToken(e.TILDE,0)}BITWISEOR(){return this.getToken(e.BITWISEOR,0)}BITWISEXOR(){return this.getToken(e.BITWISEXOR,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}get ruleIndex(){return e.RULE_sysFuncNames}enterRule(t){t.enterSysFuncNames&&t.enterSysFuncNames(this)}exitRule(t){t.exitSysFuncNames&&t.exitSysFuncNames(this)}accept(t){return t.visitSysFuncNames?t.visitSysFuncNames(this):t.visitChildren(this)}}class p extends R{constructor(t,s){super(t,s)}Identifier(){return this.getToken(e.Identifier,0)}nonReserved(){return this.getRuleContext(0,s4)}get ruleIndex(){return e.RULE_id_}enterRule(t){t.enterId_&&t.enterId_(this)}exitRule(t){t.exitId_&&t.exitId_(this)}accept(t){return t.visitId_?t.visitId_(this):t.visitChildren(this)}}class Yi extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_functionIdentifier}enterRule(t){t.enterFunctionIdentifier&&t.enterFunctionIdentifier(this)}exitRule(t){t.exitFunctionIdentifier&&t.exitFunctionIdentifier(this)}accept(t){return t.visitFunctionIdentifier?t.visitFunctionIdentifier(this):t.visitChildren(this)}}class lh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}get ruleIndex(){return e.RULE_principalIdentifier}enterRule(t){t.enterPrincipalIdentifier&&t.enterPrincipalIdentifier(this)}exitRule(t){t.exitPrincipalIdentifier&&t.exitPrincipalIdentifier(this)}accept(t){return t.visitPrincipalIdentifier?t.visitPrincipalIdentifier(this):t.visitChildren(this)}}class s4 extends R{constructor(t,s){super(t,s)}KW_ABORT(){return this.getToken(e.KW_ABORT,0)}KW_ACTIVATE(){return this.getToken(e.KW_ACTIVATE,0)}KW_ACTIVE(){return this.getToken(e.KW_ACTIVE,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALLOC_FRACTION(){return this.getToken(e.KW_ALLOC_FRACTION,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AST(){return this.getToken(e.KW_AST,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_AUTOCOMMIT(){return this.getToken(e.KW_AUTOCOMMIT,0)}KW_BATCH(){return this.getToken(e.KW_BATCH,0)}KW_BEFORE(){return this.getToken(e.KW_BEFORE,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CBO(){return this.getToken(e.KW_CBO,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}KW_CHECK(){return this.getToken(e.KW_CHECK,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_CLUSTERSTATUS(){return this.getToken(e.KW_CLUSTERSTATUS,0)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_CONTINUE(){return this.getToken(e.KW_CONTINUE,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_CRON(){return this.getToken(e.KW_CRON,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_DATETIME(){return this.getToken(e.KW_DATETIME,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_DAYOFWEEK(){return this.getToken(e.KW_DAYOFWEEK,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_DCPROPERTIES(){return this.getToken(e.KW_DCPROPERTIES,0)}KW_DEBUG(){return this.getToken(e.KW_DEBUG,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFERRED(){return this.getToken(e.KW_DEFERRED,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_DEPENDENCY(){return this.getToken(e.KW_DEPENDENCY,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DETAIL(){return this.getToken(e.KW_DETAIL,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISABLED(){return this.getToken(e.KW_DISABLED,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_DISTRIBUTED(){return this.getToken(e.KW_DISTRIBUTED,0)}KW_DO(){return this.getToken(e.KW_DO,0)}KW_DUMP(){return this.getToken(e.KW_DUMP,0)}KW_ELEM_TYPE(){return this.getToken(e.KW_ELEM_TYPE,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_ENABLED(){return this.getToken(e.KW_ENABLED,0)}KW_ENFORCED(){return this.getToken(e.KW_ENFORCED,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}KW_EVERY(){return this.getToken(e.KW_EVERY,0)}KW_EXCLUSIVE(){return this.getToken(e.KW_EXCLUSIVE,0)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}KW_EXECUTED(){return this.getToken(e.KW_EXECUTED,0)}KW_EXPIRE_SNAPSHOTS(){return this.getToken(e.KW_EXPIRE_SNAPSHOTS,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_EXPRESSION(){return this.getToken(e.KW_EXPRESSION,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_FILE(){return this.getToken(e.KW_FILE,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_HOLD_DDLTIME(){return this.getToken(e.KW_HOLD_DDLTIME,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_IDXPROPERTIES(){return this.getToken(e.KW_IDXPROPERTIES,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INPUTDRIVER(){return this.getToken(e.KW_INPUTDRIVER,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_ISOLATION(){return this.getToken(e.KW_ISOLATION,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_JAR(){return this.getToken(e.KW_JAR,0)}KW_JOINCOST(){return this.getToken(e.KW_JOINCOST,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_KEY_TYPE(){return this.getToken(e.KW_KEY_TYPE,0)}KW_KILL(){return this.getToken(e.KW_KILL,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LEVEL(){return this.getToken(e.KW_LEVEL,0)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_MANAGED(){return this.getToken(e.KW_MANAGED,0)}KW_MANAGEDLOCATION(){return this.getToken(e.KW_MANAGEDLOCATION,0)}KW_MANAGEMENT(){return this.getToken(e.KW_MANAGEMENT,0)}KW_MAPJOIN(){return this.getToken(e.KW_MAPJOIN,0)}KW_MAPPING(){return this.getToken(e.KW_MAPPING,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_METADATA(){return this.getToken(e.KW_METADATA,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_MOVE(){return this.getToken(e.KW_MOVE,0)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_NORELY(){return this.getToken(e.KW_NORELY,0)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}KW_NOVALIDATE(){return this.getToken(e.KW_NOVALIDATE,0)}KW_NO_DROP(){return this.getToken(e.KW_NO_DROP,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_OFFLINE(){return this.getToken(e.KW_OFFLINE,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_OPERATOR(){return this.getToken(e.KW_OPERATOR,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_OUTPUTDRIVER(){return this.getToken(e.KW_OUTPUTDRIVER,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_OWNER(){return this.getToken(e.KW_OWNER,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PATH(){return this.getToken(e.KW_PATH,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_PLANS(){return this.getToken(e.KW_PLANS,0)}KW_PLUS(){return this.getToken(e.KW_PLUS,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_PROTECTION(){return this.getToken(e.KW_PROTECTION,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_READONLY(){return this.getToken(e.KW_READONLY,0)}KW_REBUILD(){return this.getToken(e.KW_REBUILD,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_RELOAD(){return this.getToken(e.KW_RELOAD,0)}KW_RELY(){return this.getToken(e.KW_RELY,0)}KW_REMOTE(){return this.getToken(e.KW_REMOTE,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REOPTIMIZATION(){return this.getToken(e.KW_REOPTIMIZATION,0)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_REPL(){return this.getToken(e.KW_REPL,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_REPLICATION(){return this.getToken(e.KW_REPLICATION,0)}KW_RESOURCE(){return this.getToken(e.KW_RESOURCE,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_SCHEDULED(){return this.getToken(e.KW_SCHEDULED,0)}KW_SCHEDULING_POLICY(){return this.getToken(e.KW_SCHEDULING_POLICY,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}KW_SERVER(){return this.getToken(e.KW_SERVER,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SET_CURRENT_SNAPSHOT(){return this.getToken(e.KW_SET_CURRENT_SNAPSHOT,0)}KW_SHARED(){return this.getToken(e.KW_SHARED,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SHOW_DATABASE(){return this.getToken(e.KW_SHOW_DATABASE,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_SNAPSHOT(){return this.getToken(e.KW_SNAPSHOT,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SPEC(){return this.getToken(e.KW_SPEC,0)}KW_SSL(){return this.getToken(e.KW_SSL,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_STATUS(){return this.getToken(e.KW_STATUS,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_STREAMTABLE(){return this.getToken(e.KW_STREAMTABLE,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_SUMMARY(){return this.getToken(e.KW_SUMMARY,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_TIMESTAMPTZ(){return this.getToken(e.KW_TIMESTAMPTZ,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRANSACTIONAL(){return this.getToken(e.KW_TRANSACTIONAL,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_UNDO(){return this.getToken(e.KW_UNDO,0)}KW_UNIONTYPE(){return this.getToken(e.KW_UNIONTYPE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_UNMANAGED(){return this.getToken(e.KW_UNMANAGED,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_UNSIGNED(){return this.getToken(e.KW_UNSIGNED,0)}KW_URI(){return this.getToken(e.KW_URI,0)}KW_URL(){return this.getToken(e.KW_URL,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_UTC(){return this.getToken(e.KW_UTC,0)}KW_UTCTIMESTAMP(){return this.getToken(e.KW_UTCTIMESTAMP,0)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}KW_VALUE_TYPE(){return this.getToken(e.KW_VALUE_TYPE,0)}KW_VECTORIZATION(){return this.getToken(e.KW_VECTORIZATION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_WAIT(){return this.getToken(e.KW_WAIT,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_WHILE(){return this.getToken(e.KW_WHILE,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}KW_WORKLOAD(){return this.getToken(e.KW_WORKLOAD,0)}KW_WRITE(){return this.getToken(e.KW_WRITE,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}get ruleIndex(){return e.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}class n4 extends R{constructor(t,s){super(t,s)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}get ruleIndex(){return e.RULE_sql11ReservedKeywordsUsedAsFunctionName}enterRule(t){t.enterSql11ReservedKeywordsUsedAsFunctionName&&t.enterSql11ReservedKeywordsUsedAsFunctionName(this)}exitRule(t){t.exitSql11ReservedKeywordsUsedAsFunctionName&&t.exitSql11ReservedKeywordsUsedAsFunctionName(this)}accept(t){return t.visitSql11ReservedKeywordsUsedAsFunctionName?t.visitSql11ReservedKeywordsUsedAsFunctionName(this):t.visitChildren(this)}}class Eh extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_PERCENT(){return this.getToken(e.KW_PERCENT,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_FETCH(){return this.getToken(e.KW_FETCH,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_FORCE(){return this.getToken(e.KW_FORCE,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_CONF(){return this.getToken(e.KW_CONF,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_END(){return this.getToken(e.KW_END,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_DDL(){return this.getToken(e.KW_DDL,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_READS(){return this.getToken(e.KW_READS,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_configPropertiesItem}enterRule(t){t.enterConfigPropertiesItem&&t.enterConfigPropertiesItem(this)}exitRule(t){t.exitConfigPropertiesItem&&t.exitConfigPropertiesItem(this)}accept(t){return t.visitConfigPropertiesItem?t.visitConfigPropertiesItem(this):t.visitChildren(this)}}class i4 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_RESOURCE(){return this.getToken(e.KW_RESOURCE,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}ifNotExists(){return this.getRuleContext(0,re)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}KW_WITH(){return this.getToken(e.KW_WITH,0)}rpAssignList(){return this.getRuleContext(0,h4)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}disable(){return this.getRuleContext(0,Xi)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}rpUnassign(t){return t===void 0?this.getRuleContexts(Th):this.getRuleContext(t,Th)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}activate(){return this.getRuleContext(0,a4)}enable(){return this.getRuleContext(0,Gi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}ifExists(){return this.getRuleContext(0,Ut)}KW_WORKLOAD(){return this.getToken(e.KW_WORKLOAD,0)}KW_MANAGEMENT(){return this.getToken(e.KW_MANAGEMENT,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_ACTIVE(){return this.getToken(e.KW_ACTIVE,0)}KW_TRIGGER(){return this.getToken(e.KW_TRIGGER,0)}DOT(){return this.getToken(e.DOT,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}triggerAtomExpression(){return this.getRuleContext(0,u4)}KW_DO(){return this.getToken(e.KW_DO,0)}triggerActionExpression(){return this.getRuleContext(0,l4)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}KW_UNMANAGED(){return this.getToken(e.KW_UNMANAGED,0)}poolPath(){return this.getRuleContext(0,k0)}poolAssignList(){return this.getRuleContext(0,E4)}KW_SCHEDULING_POLICY(){return this.getToken(e.KW_SCHEDULING_POLICY,0)}KW_MAPPING(){return this.getToken(e.KW_MAPPING,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}KW_IN(){return this.getToken(e.KW_IN,0)}mappingTypes(){return this.getRuleContext(0,r4)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}Number(){return this.getToken(e.Number,0)}get ruleIndex(){return e.RULE_resourcePlanDdlStatements}enterRule(t){t.enterResourcePlanDdlStatements&&t.enterResourcePlanDdlStatements(this)}exitRule(t){t.exitResourcePlanDdlStatements&&t.exitResourcePlanDdlStatements(this)}accept(t){return t.visitResourcePlanDdlStatements?t.visitResourcePlanDdlStatements(this):t.visitChildren(this)}}class r4 extends R{constructor(t,s){super(t,s)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_APPLICATION(){return this.getToken(e.KW_APPLICATION,0)}get ruleIndex(){return e.RULE_mappingTypes}enterRule(t){t.enterMappingTypes&&t.enterMappingTypes(this)}exitRule(t){t.exitMappingTypes&&t.exitMappingTypes(this)}accept(t){return t.visitMappingTypes?t.visitMappingTypes(this):t.visitChildren(this)}}class Rh extends R{constructor(t,s){super(t,s)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}EQUAL(){return this.getToken(e.EQUAL,0)}Number(){return this.getToken(e.Number,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}poolPath(){return this.getRuleContext(0,k0)}get ruleIndex(){return e.RULE_rpAssign}enterRule(t){t.enterRpAssign&&t.enterRpAssign(this)}exitRule(t){t.exitRpAssign&&t.exitRpAssign(this)}accept(t){return t.visitRpAssign?t.visitRpAssign(this):t.visitChildren(this)}}class h4 extends R{constructor(t,s){super(t,s)}rpAssign(t){return t===void 0?this.getRuleContexts(Rh):this.getRuleContext(t,Rh)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_rpAssignList}enterRule(t){t.enterRpAssignList&&t.enterRpAssignList(this)}exitRule(t){t.exitRpAssignList&&t.exitRpAssignList(this)}accept(t){return t.visitRpAssignList?t.visitRpAssignList(this):t.visitChildren(this)}}class Th extends R{constructor(t,s){super(t,s)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_POOL(){return this.getToken(e.KW_POOL,0)}get ruleIndex(){return e.RULE_rpUnassign}enterRule(t){t.enterRpUnassign&&t.enterRpUnassign(this)}exitRule(t){t.exitRpUnassign&&t.exitRpUnassign(this)}accept(t){return t.visitRpUnassign?t.visitRpUnassign(this):t.visitChildren(this)}}class a4 extends R{constructor(t,s){super(t,s)}KW_ACTIVATE(){return this.getToken(e.KW_ACTIVATE,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}get ruleIndex(){return e.RULE_activate}enterRule(t){t.enterActivate&&t.enterActivate(this)}exitRule(t){t.exitActivate&&t.exitActivate(this)}accept(t){return t.visitActivate?t.visitActivate(this):t.visitChildren(this)}}class Gi extends R{constructor(t,s){super(t,s)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_ENABLED(){return this.getToken(e.KW_ENABLED,0)}get ruleIndex(){return e.RULE_enable}enterRule(t){t.enterEnable&&t.enterEnable(this)}exitRule(t){t.exitEnable&&t.exitEnable(this)}accept(t){return t.visitEnable?t.visitEnable(this):t.visitChildren(this)}}class Xi extends R{constructor(t,s){super(t,s)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISABLED(){return this.getToken(e.KW_DISABLED,0)}get ruleIndex(){return e.RULE_disable}enterRule(t){t.enterDisable&&t.enterDisable(this)}exitRule(t){t.exitDisable&&t.exitDisable(this)}accept(t){return t.visitDisable?t.visitDisable(this):t.visitChildren(this)}}class Qi extends R{constructor(t,s){super(t,s)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}get ruleIndex(){return e.RULE_year}enterRule(t){t.enterYear&&t.enterYear(this)}exitRule(t){t.exitYear&&t.exitYear(this)}accept(t){return t.visitYear?t.visitYear(this):t.visitChildren(this)}}class Zi extends R{constructor(t,s){super(t,s)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}get ruleIndex(){return e.RULE_month}enterRule(t){t.enterMonth&&t.enterMonth(this)}exitRule(t){t.exitMonth&&t.exitMonth(this)}accept(t){return t.visitMonth?t.visitMonth(this):t.visitChildren(this)}}class o4 extends R{constructor(t,s){super(t,s)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}get ruleIndex(){return e.RULE_week}enterRule(t){t.enterWeek&&t.enterWeek(this)}exitRule(t){t.exitWeek&&t.exitWeek(this)}accept(t){return t.visitWeek?t.visitWeek(this):t.visitChildren(this)}}class ji extends R{constructor(t,s){super(t,s)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}get ruleIndex(){return e.RULE_day}enterRule(t){t.enterDay&&t.enterDay(this)}exitRule(t){t.exitDay&&t.exitDay(this)}accept(t){return t.visitDay?t.visitDay(this):t.visitChildren(this)}}class zi extends R{constructor(t,s){super(t,s)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}get ruleIndex(){return e.RULE_hour}enterRule(t){t.enterHour&&t.enterHour(this)}exitRule(t){t.exitHour&&t.exitHour(this)}accept(t){return t.visitHour?t.visitHour(this):t.visitChildren(this)}}class Wh extends R{constructor(t,s){super(t,s)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}get ruleIndex(){return e.RULE_minute}enterRule(t){t.enterMinute&&t.enterMinute(this)}exitRule(t){t.exitMinute&&t.exitMinute(this)}accept(t){return t.visitMinute?t.visitMinute(this):t.visitChildren(this)}}class Kh extends R{constructor(t,s){super(t,s)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}get ruleIndex(){return e.RULE_second}enterRule(t){t.enterSecond&&t.enterSecond(this)}exitRule(t){t.exitSecond&&t.exitSecond(this)}accept(t){return t.visitSecond?t.visitSecond(this):t.visitChildren(this)}}class c4 extends R{constructor(t,s){super(t,s)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}get ruleIndex(){return e.RULE_decimal}enterRule(t){t.enterDecimal&&t.enterDecimal(this)}exitRule(t){t.exitDecimal&&t.exitDecimal(this)}accept(t){return t.visitDecimal?t.visitDecimal(this):t.visitChildren(this)}}class k0 extends R{constructor(t,s){super(t,s)}id_(t){return t===void 0?this.getRuleContexts(p):this.getRuleContext(t,p)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_poolPath}enterRule(t){t.enterPoolPath&&t.enterPoolPath(this)}exitRule(t){t.exitPoolPath&&t.exitPoolPath(this)}accept(t){return t.visitPoolPath?t.visitPoolPath(this):t.visitChildren(this)}}class u4 extends R{constructor(t,s){super(t,s)}id_(){return this.getRuleContext(0,p)}GREATERTHAN(){return this.getToken(e.GREATERTHAN,0)}Number(){return this.getToken(e.Number,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}get ruleIndex(){return e.RULE_triggerAtomExpression}enterRule(t){t.enterTriggerAtomExpression&&t.enterTriggerAtomExpression(this)}exitRule(t){t.exitTriggerAtomExpression&&t.exitTriggerAtomExpression(this)}accept(t){return t.visitTriggerAtomExpression?t.visitTriggerAtomExpression(this):t.visitChildren(this)}}class l4 extends R{constructor(t,s){super(t,s)}KW_KILL(){return this.getToken(e.KW_KILL,0)}KW_MOVE(){return this.getToken(e.KW_MOVE,0)}KW_TO(){return this.getToken(e.KW_TO,0)}poolPath(){return this.getRuleContext(0,k0)}get ruleIndex(){return e.RULE_triggerActionExpression}enterRule(t){t.enterTriggerActionExpression&&t.enterTriggerActionExpression(this)}exitRule(t){t.exitTriggerActionExpression&&t.exitTriggerActionExpression(this)}accept(t){return t.visitTriggerActionExpression?t.visitTriggerActionExpression(this):t.visitChildren(this)}}class dh extends R{constructor(t,s){super(t,s)}KW_ALLOC_FRACTION(){return this.getToken(e.KW_ALLOC_FRACTION,0)}EQUAL(){return this.getToken(e.EQUAL,0)}KW_QUERY_PARALLELISM(){return this.getToken(e.KW_QUERY_PARALLELISM,0)}KW_SCHEDULING_POLICY(){return this.getToken(e.KW_SCHEDULING_POLICY,0)}KW_PATH(){return this.getToken(e.KW_PATH,0)}Number(){return this.getToken(e.Number,0)}StringLiteral(){return this.getToken(e.StringLiteral,0)}poolPath(){return this.getRuleContext(0,k0)}get ruleIndex(){return e.RULE_poolAssign}enterRule(t){t.enterPoolAssign&&t.enterPoolAssign(this)}exitRule(t){t.exitPoolAssign&&t.exitPoolAssign(this)}accept(t){return t.visitPoolAssign?t.visitPoolAssign(this):t.visitChildren(this)}}class E4 extends R{constructor(t,s){super(t,s)}poolAssign(t){return t===void 0?this.getRuleContexts(dh):this.getRuleContext(t,dh)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_poolAssignList}enterRule(t){t.enterPoolAssignList&&t.enterPoolAssignList(this)}exitRule(t){t.exitPoolAssignList&&t.exitPoolAssignList(this)}accept(t){return t.visitPoolAssignList?t.visitPoolAssignList(this):t.visitChildren(this)}}var j7=Object.defineProperty,nt=(i,t)=>j7(i,"name",{value:t,configurable:!0}),Ue=(Ln=class{constructor(t=""){E(this,"name");E(this,"context");E(this,"modifiers",new Set);E(this,"visibility",0);J(this,ot,void 0);this.name=t}get parent(){return L(this,ot)}get firstSibling(){var t;if(L(this,ot))return(t=L(this,ot))==null?void 0:t.firstChild}get previousSibling(){if(L(this,ot))return L(this,ot)?L(this,ot).previousSiblingOf(this):this}get nextSibling(){var t;return(t=L(this,ot))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=L(this,ot))==null?void 0:t.lastChild}get next(){var t;return(t=L(this,ot))==null?void 0:t.nextOf(this)}get root(){let t=L(this,ot);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=L(this,ot);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let s=this;for(;s&&(t.push(s),!!s.parent);)s=s.parent;return t}setParent(t){Q(this,ot,t)}removeFromParent(){var t;(t=L(this,ot))==null||t.removeSymbol(this),Q(this,ot,void 0)}async resolve(t,s=!1){var n;return(n=L(this,ot))==null?void 0:n.resolve(t,s)}resolveSync(t,s=!1){var n;return(n=L(this,ot))==null?void 0:n.resolveSync(t,s)}getParentOfType(t){let s=L(this,ot);for(;s;){if(s instanceof t)return s;s=s.parent}}qualifiedName(t=".",s=!1,n=!1){if(!n&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=L(this,ot);for(;h&&((n||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!s||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},ot=new WeakMap,nt(Ln,"BaseSymbol"),Ln);xn=class extends Ue{constructor(s,n,r,h=0){super(s);E(this,"elementType");E(this,"size");E(this,"referenceKind");this.referenceKind=n,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},nt(xn,"ArrayType");var R4=(pn=class extends Error{},nt(pn,"DuplicateSymbolError"),pn),Se=(Yt=class extends Ue{constructor(s=""){super(s);J(this,q,[]);J(this,ue,new Map)}get directScopes(){return this.getSymbolsOfType(Yt)}get children(){return L(this,q)}get firstChild(){if(L(this,q).length>0)return L(this,q)[0]}get lastChild(){if(L(this,q).length>0)return L(this,q)[L(this,q).length-1]}clear(){Q(this,q,[]),L(this,ue).clear()}addSymbol(s){s.removeFromParent();const n=this.symbolTable,r=L(this,ue).get(s.name);if(!n||!n.options.allowDuplicateSymbols){if(r!==void 0)throw new R4("Attempt to add duplicate symbol '"+(s.name??"")+"'");if(L(this,ue).set(s.name,1),L(this,q).indexOf(s)>-1)throw new R4("Attempt to add duplicate symbol '"+(s.name??"")+"'")}else L(this,ue).set(s.name,r===void 0?1:r+1);L(this,q).push(s),s.setParent(this)}removeSymbol(s){const n=L(this,q).indexOf(s);if(n>-1){L(this,q).splice(n,1),s.setParent(void 0);const r=L(this,ue).get(s.name);r!==void 0&&(r===1?L(this,ue).delete(s.name):L(this,ue).set(s.name,r-1))}}async getNestedSymbolsOfType(s){const n=[],r=[];return L(this,q).forEach(a=>{a instanceof s&&n.push(a),a instanceof Yt&&r.push(a.getNestedSymbolsOfType(s))}),(await Promise.all(r)).forEach(a=>{n.push(...a)}),n}getNestedSymbolsOfTypeSync(s){const n=[];return L(this,q).forEach(r=>{r instanceof s&&n.push(r),r instanceof Yt&&n.push(...r.getNestedSymbolsOfTypeSync(s))}),n}async getAllNestedSymbols(s){const n=[],r=[];return L(this,q).forEach(a=>{(!s||a.name===s)&&n.push(a),a instanceof Yt&&r.push(a.getAllNestedSymbols(s))}),(await Promise.all(r)).forEach(a=>{n.push(...a)}),n}getAllNestedSymbolsSync(s){const n=[];return L(this,q).forEach(r=>{(!s||r.name===s)&&n.push(r),r instanceof Yt&&n.push(...r.getAllNestedSymbolsSync(s))}),n}getSymbolsOfType(s){return new Promise(n=>{const r=[];L(this,q).forEach(h=>{h instanceof s&&r.push(h)}),n(r)})}async getAllSymbols(s,n=!1){const r=[];for(const h of L(this,q))if(h instanceof s&&r.push(h),this.isNamespace(h)){const a=await h.getAllSymbols(s,!0);r.push(...a)}if(!n&&this.parent){const h=await this.getAllSymbols(s,!0);r.push(...h)}return r}getAllSymbolsSync(s,n=!1){const r=[];for(const h of L(this,q))if(h instanceof s&&r.push(h),this.isNamespace(h)){const a=h.getAllSymbolsSync(s,!0);r.push(...a)}if(!n&&this.parent){const h=this.getAllSymbolsSync(s,!0);r.push(...h)}return r}async resolve(s,n=!1){return new Promise(r=>{for(const h of L(this,q))if(h.name===s){r(h);return}if(!n&&this.parent){r(this.parent.resolve(s,!1));return}r(void 0)})}resolveSync(s,n=!1){for(const r of L(this,q))if(r.name===s)return r;if(!n&&this.parent)return this.parent.resolveSync(s,!1)}symbolFromPath(s,n="."){const r=s.split(n);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let a=this;for(;hc.name===r[h]);if(!o)return;a=o,++h}return a}indexOfChild(s){return L(this,q).findIndex(n=>n===s)}nextSiblingOf(s){const n=this.indexOfChild(s);if(!(n===-1||n>=L(this,q).length-1))return L(this,q)[n+1]}previousSiblingOf(s){const n=this.indexOfChild(s);if(!(n<1))return L(this,q)[n-1]}nextOf(s){if(!s.parent)return;if(s.parent!==this)return s.parent.nextOf(s);if(s instanceof Yt&&s.children.length>0)return s.children[0];const n=this.nextSiblingOf(s);return n||this.parent.nextOf(this)}isNamespace(s){return s.inline!==void 0&&s.attributes!==void 0}},q=new WeakMap,ue=new WeakMap,nt(Yt,"ScopedSymbol"),Yt);Nn=class extends Se{},nt(Nn,"BlockSymbol");var T4=(On=class extends Ue{constructor(s,n){super(s);E(this,"type");this.type=n}},nt(On,"TypedSymbol"),On),Ah=(gn=class extends T4{constructor(s,n,r){super(s,r);E(this,"value");this.value=n}},nt(gn,"VariableSymbol"),gn),W4=(In=class extends Ah{constructor(){super(...arguments);E(this,"setter");E(this,"getter")}},nt(In,"FieldSymbol"),In),z7=(kn=class extends Ah{},nt(kn,"ParameterSymbol"),kn),J7=(Dn=class extends Se{constructor(s,n){super(s);E(this,"returnType");this.returnType=n}getVariables(s=!0){return this.getSymbolsOfType(Ah)}getParameters(s=!0){return this.getSymbolsOfType(z7)}},nt(Dn,"RoutineSymbol"),Dn),K4=(Un=class extends J7{constructor(){super(...arguments);E(this,"methodFlags",0)}},nt(Un,"MethodSymbol"),Un);Sn=class extends Se{constructor(s,n,r){super(s);E(this,"isStruct",!1);E(this,"reference",0);E(this,"extends");E(this,"implements");this.extends=n,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(s=!1){return this.getSymbolsOfType(K4)}getFields(s=!1){return this.getSymbolsOfType(W4)}},nt(Sn,"ClassSymbol"),Mt=class{constructor(t,s=0,n=0){E(this,"name");E(this,"typeKind");E(this,"referenceKind");this.name=t,this.typeKind=s,this.referenceKind=n}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},nt(Mt,"FundamentalType"),E(Mt,"integerType",new Mt("int",1,3)),E(Mt,"floatType",new Mt("float",2,3)),E(Mt,"stringType",new Mt("string",4,3)),E(Mt,"boolType",new Mt("bool",6,3)),yn=class extends Se{constructor(s,n){super(s);E(this,"reference",0);E(this,"extends");this.extends=n}get baseTypes(){return this.extends}get kind(){return 8}getMethods(s=!1){return this.getSymbolsOfType(K4)}getFields(s=!1){return this.getSymbolsOfType(W4)}},nt(yn,"InterfaceSymbol"),Mn=class extends T4{constructor(s,n,r){super(s,r);E(this,"value");this.value=n}},nt(Mn,"LiteralSymbol");var Ji=(wn=class extends Se{constructor(s,n=!1,r=[]){super(s);E(this,"inline");E(this,"attributes");this.inline=n,this.attributes=r}},nt(wn,"NamespaceSymbol"),wn);bn=class extends Ue{constructor(s,n){super(s);E(this,"targetType");this.targetType=n}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},nt(bn,"TypeAlias");var $7=nt((i,t)=>{if(!i||!t)return[];let s;for(s=0;s=t||o.type===_.EOF)||o.type===_.EOF)break}const h=[],a=s?s.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[a],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const c of this.candidates.rules){let u="";for(const W of c[1].ruleList)u+=this.ruleNames[W]+" ";console.log(this.ruleNames[c[0]]+", path: ",u)}const o=new Set;for(const c of this.candidates.tokens){let u=this.vocabulary.getDisplayName(c[0])??"";for(const W of c[1])u+=" "+this.vocabulary.getDisplayName(W);o.add(u)}console.log(` - -Collected tokens: -`);for(const c of o)console.log(c);console.log(` - -`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let s=t.length-1;s>=0;s--)if(this.translateToRuleIndex(s,t))return!0}else for(let s=0;so);let a=!0;for(const o of this.candidates.rules)if(!(o[0]!==n||o[1].ruleList.length!==h.length)&&h.every((c,u)=>c===o[1].ruleList[u])){a=!1;break}return a&&(this.candidates.rules.set(n,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[n])),!0}return!1}getFollowingTokens(t){const s=[],n=[t.target];for(;n.length>0;){const r=n.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===U.ATOM)if(h.isEpsilon)n.push(h.target);else{const a=h.label.toArray();a.length===1&&!this.ignoredTokens.has(a[0])&&(s.push(a[0]),n.push(h.target))}})}return s}determineFollowSets(t,s){const n=[],r=[],h=[],a=this.collectFollowSets(t,s,n,r,h),o=new dt;for(const c of n)o.addSet(c.intervals);return{sets:n,isExhaustive:a,combined:o}}collectFollowSets(t,s,n,r,h){if(r.find(o=>o===t))return!0;if(r.push(t),t===s||t.stateType===V.RULE_STOP)return r.pop(),!1;let a=!0;for(const o of t.transitions)if(o.serializationType===U.RULE){const c=o;if(h.indexOf(c.target.ruleIndex)!==-1)continue;h.push(c.target.ruleIndex);const u=this.collectFollowSets(o.target,s,n,r,h);if(h.pop(),!u){const W=this.collectFollowSets(c.followState,s,n,r,h);a&&(a=W)}}else if(o.serializationType===U.PREDICATE){if(this.checkPredicate(o)){const c=this.collectFollowSets(o.target,s,n,r,h);a&&(a=c)}}else if(o.isEpsilon){const c=this.collectFollowSets(o.target,s,n,r,h);a&&(a=c)}else if(o.serializationType===U.WILDCARD){const c=new d4;c.intervals=dt.of(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),c.path=h.slice(),n.push(c)}else{let c=o.label;if(c&&c.length>0){o.serializationType===U.NOT_SET&&(c=c.complement(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new d4;u.intervals=c??new dt,u.path=h.slice(),u.following=this.getFollowingTokens(o),n.push(u)}}return r.pop(),a}processRule(t,s,n,r,h){let a=this.shortcutMap.get(t.ruleIndex);if(!a)a=new Map,this.shortcutMap.set(t.ruleIndex,a);else if(a.has(s))return this.showDebugOutput&&console.log("=====> shortcut"),a.get(s);const o=new Set;let c=Pt.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,Pt.followSetsByATN.set(this.parser.constructor.name,c));let u=c.get(t.stateNumber);if(!u){const f=this.atn.ruleToStopState[t.ruleIndex];u=this.determineFollowSets(t,f),c.set(t.stateNumber,u)}const W=this.tokens[s].tokenIndex;if(n.push({startTokenIndex:W,ruleIndex:t.ruleIndex}),s>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(n);else for(const f of u.sets){const N=n.slice(),I=f.path.map(k=>({startTokenIndex:W,ruleIndex:k}));if(N.push(...I),!this.translateStackToRuleIndex(N))for(const k of f.intervals.toArray())this.ignoredTokens.has(k)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(k)),this.candidates.tokens.has(k)?this.candidates.tokens.get(k)!==f.following&&this.candidates.tokens.set(k,[]):this.candidates.tokens.set(k,f.following))}return u.isExhaustive||o.add(s),n.pop(),o}else{const f=this.tokens[s].type;if(u.isExhaustive&&!u.combined.contains(f))return n.pop(),o}t.isPrecedenceRule&&this.precedenceStack.push(r);const K=[];let d;for(K.push({state:t,tokenListIndex:s});K.length>0;){d=K.pop(),++this.statesProcessed;const f=this.tokens[d.tokenListIndex].type,N=d.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,d.state,this.generateBaseDescription(d.state),d.tokenListIndex),this.showRuleStack&&this.printRuleState(n)),d.state.stateType===V.RULE_STOP){o.add(d.tokenListIndex);continue}const I=d.state.transitions;for(const k of I)switch(k.serializationType){case U.RULE:{const M=k,C=this.processRule(k.target,d.tokenListIndex,n,M.precedence,h+1);for(const m of C)K.push({state:k.followState,tokenListIndex:m});break}case U.PREDICATE:{this.checkPredicate(k)&&K.push({state:k.target,tokenListIndex:d.tokenListIndex});break}case U.PRECEDENCE:{k.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&K.push({state:k.target,tokenListIndex:d.tokenListIndex});break}case U.WILDCARD:{if(N){if(!this.translateStackToRuleIndex(n))for(const M of dt.of(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(M)||this.candidates.tokens.set(M,[])}else K.push({state:k.target,tokenListIndex:d.tokenListIndex+1});break}default:{if(k.isEpsilon){K.push({state:k.target,tokenListIndex:d.tokenListIndex});continue}let M=k.label;if(M&&M.length>0)if(k.serializationType===U.NOT_SET&&(M=M.complement(_.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),N){if(!this.translateStackToRuleIndex(n)){const C=M.toArray(),m=C.length===1;for(const x of C)if(!this.ignoredTokens.has(x)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(x));const g=m?this.getFollowingTokens(k):[];this.candidates.tokens.has(x)?this.candidates.tokens.set(x,$7(g,this.candidates.tokens.get(x))):this.candidates.tokens.set(x,g)}}}else M.contains(f)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(f)),K.push({state:k.target,tokenListIndex:d.tokenListIndex+1}))}}}return n.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),a.set(s,o),o}generateBaseDescription(t){return`[${t.stateNumber===ee.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${Pt.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,s,n,r){const h=" ".repeat(t);let a=h,o="";if(this.debugOutputWithTransitions)for(const c of s.transitions){let u="";const W=c.label?c.label.toArray():[];if(W.length>2)u=this.vocabulary.getDisplayName(W[0])+" .. "+this.vocabulary.getDisplayName(W[W.length-1]);else for(const K of W)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(K);u.length===0&&(u="ε"),o+=` -${h} (${u}) [${c.target.stateNumber} ${Pt.atnStateTypeMap[c.target.stateType]}] in ${this.ruleNames[c.target.ruleIndex]}`}r>=this.tokens.length-1?a+=`<<${this.tokenStartIndex+r}>> `:a+=`<${this.tokenStartIndex+r}> `,console.log(a+"Current state: "+n+o)}printRuleState(t){if(t.length===0){console.log("");return}for(const s of t)console.log(this.ruleNames[s.ruleIndex])}},nt(Pt,"CodeCompletionCore"),E(Pt,"followSetsByATN",new Map),E(Pt,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),Pt);Vn=class extends Se{constructor(s,n){super(s);E(this,"dependencies",new Set);this.options=n}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...s){s.forEach(n=>{this.dependencies.add(n)})}removeDependency(s){this.dependencies.has(s)&&this.dependencies.delete(s)}addNewSymbolOfType(s,n,...r){const h=new s(...r);return!n||n===this?this.addSymbol(h):n.addSymbol(h),h}async addNewNamespaceFromPath(s,n,r="."){const h=n.split(r);let a=0,o=s===void 0?this:s;for(;aa.getAllSymbols(s,n)))).forEach(a=>{r.push(...a)}),r}getAllSymbolsSync(s,n=!1){const r=super.getAllSymbolsSync(s,n);return n||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(s,n))}),r}async symbolWithContext(s){const n=nt(h=>{if(h.context===s)return h;if(h instanceof Se)for(const a of h.children){const o=n(a);if(o)return o}},"findRecursive");let r=await this.getAllSymbols(Ue);for(const h of r){const a=n(h);if(a)return a}for(const h of this.dependencies){r=await h.getAllSymbols(Ue);for(const a of r){const o=n(a);if(o)return o}}}symbolWithContextSync(s){const n=nt(h=>{if(h.context===s)return h;if(h instanceof Se)for(const a of h.children){const o=n(a);if(o)return o}},"findRecursive");let r=this.getAllSymbolsSync(Ue);for(const h of r){const a=n(h);if(a)return a}for(const h of this.dependencies){r=h.getAllSymbolsSync(Ue);for(const a of r){const o=n(a);if(o)return o}}}async resolve(s,n=!1){let r=await super.resolve(s,n);if(!r&&!n){for(const h of this.dependencies)if(r=await h.resolve(s,!1),r)return r}return r}resolveSync(s,n=!1){let r=super.resolveSync(s,n);if(!r&&!n){for(const h of this.dependencies)if(r=h.resolveSync(s,!1),r)return r}return r}},nt(Vn,"SymbolTable");function A4(i,t){var s,n;const{lineNumber:r,column:h}=i;let a=0,o=t.length-1;for(;a<=o;){const c=a+(o-a>>1),u=t[c];if(u.line>r||u.line===r&&u.column+1>=h)o=c-1;else if(u.line{this._parseErrors.push(t)}}createLexer(t,s){const n=br.fromString(t),r=this.createLexerFromCharStream(n);return s&&(r.removeErrorListeners(),r.addErrorListener(new $i(s))),r}createParser(t,s){const n=this.createLexer(t,s),r=new ri(n),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=Et.SLL,s&&(h.removeErrorListeners(),h.addErrorListener(new $i(s))),h}parse(t,s){const n=this.createParser(t,s);return n.buildParseTrees=!0,n.errorHandler=new mh,n.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=br.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new $i(this._errorListener)),this._tokenStream=new ri(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=Et.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new mh,this._parser}parseWithCache(t,s){if(this._parsedInput===t&&!s&&this._parseTree)return this._parseTree;this._parseErrors=[];const n=this.createParserWithCache(t);return this._parsedInput=t,n.removeErrorListeners(),n.addErrorListener(new $i(this._errorListener)),this._parseTree=n.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let s=this._tokenStream.getTokens();return s[s.length-1].text===""&&(s=s.slice(0,-1)),s}listen(t,s){O7.DEFAULT.walk(t,s)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const n=this.splitListener;return n?(this.listen(n,this._parseTree),n.statementsContext.map(h=>m4(h,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(t,s){var n,r,h,a,o,c,u,W,K;const d=this.splitListener;if(!d||(this.parseWithCache(t),!this._parseTree))return null;let f=this._parser;const N=this.getAllTokens(t);let I=A4(s,N),k=this._parseTree,M=0;if(!I&&I!==0)return null;this.listen(d,this._parseTree);const C=(n=d.statementsContext)===null||n===void 0?void 0:n.length,m=d.statementsContext;if(C>1){let D=null,Y=null;for(let T0=0;T0I&&El){Y=W0;break}}const ut=(o=(a=D==null?void 0:D.start)===null||a===void 0?void 0:a.start)!==null&&o!==void 0?o:0,z=(u=(c=Y==null?void 0:Y.stop)===null||c===void 0?void 0:c.stop)!==null&&u!==void 0?u:t.length-1;M=(K=(W=D==null?void 0:D.start)===null||W===void 0?void 0:W.tokenIndex)!==null&&K!==void 0?K:0,I=I-M;const b=t.slice(ut,z),Ht=this.createLexer(b);Ht.removeErrorListeners();const _4=new ri(Ht);_4.fill();const z0=this.createParserFromTokenStream(_4);z0.interpreter.predictionMode=Et.SLL,z0.removeErrorListeners(),z0.buildParseTrees=!0,z0.errorHandler=new mh,f=z0,k=z0.program()}const x=new H7(f);x.preferredRules=this.preferredRules;const g=x.collectCandidates(I,k),w=this.processCandidates(g,N,I,M);return{syntax:w.syntax.map(D=>{const Y=D.wordRanges.map(ut=>v7(ut,this._parsedInput));return{syntaxContextType:D.syntaxContextType,wordRanges:Y}}),keywords:w.keywords}}getAllEntities(t,s){const n=this.getAllTokens(t),r=s?A4(s,n):void 0,h=this.createEntityCollector(t,r);if(!h)return null;const a=this.parseWithCache(t);return this.listen(h,a),h.getEntities()}}var tt;(function(i){i.CATALOG="catalog",i.CATALOG_CREATE="catalogCreate",i.DATABASE="database",i.DATABASE_CREATE="databaseCreate",i.TABLE="table",i.TABLE_CREATE="tableCreate",i.VIEW="view",i.VIEW_CREATE="viewCreate",i.FUNCTION="function",i.FUNCTION_CREATE="functionCreate",i.PROCEDURE="procedure",i.PROCEDURE_CREATE="procedureCreate",i.COLUMN="column",i.COLUMN_CREATE="columnCreate"})(tt||(tt={}));class el{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class sl extends el{exitStatement(t){this._statementsContext.push(t)}}class C4{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var f4=function(i,t){var s={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&t.indexOf(n)<0&&(s[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=nl(t,s,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((n=this._stmtStack.peek())===null||n===void 0?void 0:n.stmtContextType)===Nt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,s,n){const r=rl(t,s,this._input,this._stmtStack.peek(),n);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const s=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)s.unshift(this._entityStack.pop());const n=this.combineRootStmtEntities(t,s);for(;n.length;){const r=n.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,s){return t.stmtContextType===Nt.CREATE_VIEW_STMT||t.stmtContextType===Nt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,s):s}combineCreateTableOrViewStmtEntities(t,s){const n=[],r=[];let h=null;const a=s.reduce((o,c)=>{if(c.belongStmt!==t)return c.entityContextType!==tt.COLUMN&&c.entityContextType!==tt.COLUMN_CREATE&&(r.push(c),o.push(c)),o;if(c.entityContextType===tt.COLUMN_CREATE)n.push(c);else{if(c.entityContextType===tt.TABLE_CREATE||c.entityContextType===tt.VIEW_CREATE)return h=c,o.push(c),o;c.entityContextType!==tt.COLUMN&&(r.push(c),o.push(c))}return o},[]);return h&&n.length&&(h.columns=n),h&&r.length&&(h.relatedEntities=r),a}}class al extends hl{exitTableNameCreate(t){this.pushEntity(t,tt.TABLE_CREATE)}exitTableName(t){this.pushEntity(t,tt.TABLE)}exitColumnNameCreate(t){this.pushEntity(t,tt.COLUMN_CREATE)}exitViewNameCreate(t){this.pushEntity(t,tt.VIEW_CREATE)}exitViewName(t){this.pushEntity(t,tt.VIEW)}exitDbSchemaNameCreate(t){this.pushEntity(t,tt.DATABASE_CREATE)}exitDbSchemaName(t){this.pushEntity(t,tt.DATABASE)}exitFunctionNameCreate(t){this.pushEntity(t,tt.FUNCTION_CREATE)}enterStatement(t){this.pushStmt(t,Nt.COMMON_STMT)}exitStatement(){this.popStmt()}enterCreateTableStatement(t){this.pushStmt(t,Nt.CREATE_TABLE_STMT)}exitCreateTableStatement(){this.popStmt()}enterSelectStatement(t){this.pushStmt(t,Nt.SELECT_STMT)}exitSelectStatement(t){this.popStmt()}enterFromSelectStmt(t){this.pushStmt(t,Nt.SELECT_STMT)}exitFromSelectStmt(t){this.popStmt()}enterCreateViewStatement(t){this.pushStmt(t,Nt.CREATE_VIEW_STMT)}exitCreateViewStatement(t){this.popStmt()}enterCreateMaterializedViewStatement(t){this.pushStmt(t,Nt.CREATE_VIEW_STMT)}exitCreateMaterializedViewStatement(t){this.popStmt()}enterInsertStmt(t){this.pushStmt(t,Nt.INSERT_STMT)}exitInsertStmt(t){this.popStmt()}enterFromInsertStmt(t){this.pushStmt(t,Nt.INSERT_STMT)}exitFromInsertStmt(t){this.popStmt()}enterCreateDatabaseStatement(t){this.pushStmt(t,Nt.CREATE_DATABASE_STMT)}exitCreateDatabaseStatement(t){this.popStmt()}enterFunctionNameCreate(t){this.pushStmt(t,Nt.CREATE_FUNCTION_STMT)}exitCreateFunctionStatement(t){this.popStmt()}}class ol extends tl{constructor(){super(...arguments),this.preferredRules=new Set([e.RULE_dbSchemaName,e.RULE_dbSchemaNameCreate,e.RULE_tableName,e.RULE_tableNameCreate,e.RULE_viewName,e.RULE_viewNameCreate,e.RULE_functionNameForDDL,e.RULE_functionNameForInvoke,e.RULE_functionNameCreate,e.RULE_columnName,e.RULE_columnNameCreate])}createLexerFromCharStream(t){return new l(t)}createParserFromTokenStream(t){return new e(t)}get splitListener(){return new sl}createEntityCollector(t,s){return new al(t,s)}processCandidates(t,s,n,r){const h=[],a=[];for(let o of t.rules){const[c,u]=o,W=u.startTokenIndex+r,K=s.slice(W,n+r+1);let d;switch(c){case e.RULE_dbSchemaName:{d=tt.DATABASE;break}case e.RULE_dbSchemaNameCreate:{d=tt.DATABASE_CREATE;break}case e.RULE_tableName:{d=tt.TABLE;break}case e.RULE_tableNameCreate:{d=tt.TABLE_CREATE;break}case e.RULE_viewName:{d=tt.VIEW;break}case e.RULE_viewNameCreate:{d=tt.VIEW_CREATE;break}case e.RULE_functionNameForDDL:case e.RULE_functionNameForInvoke:{d=tt.FUNCTION;break}case e.RULE_functionNameCreate:{d=tt.FUNCTION_CREATE;break}case e.RULE_columnName:{d=tt.COLUMN;break}case e.RULE_columnNameCreate:{d=tt.COLUMN_CREATE;break}}d&&h.push({syntaxContextType:d,wordRanges:K})}for(let o of t.tokens){const c=this._parser.vocabulary.getSymbolicName(o[0]),u=this._parser.vocabulary.getDisplayName(o[0]);if(u&&c&&c.startsWith("KW_")){const W=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;a.push(W)}}return{syntax:h,keywords:a}}}var U1=function(i,t,s,n){function r(h){return h instanceof s?h:new s(function(a){a(h)})}return new(s||(s=Promise))(function(h,a){function o(W){try{u(n.next(W))}catch(K){a(K)}}function c(W){try{u(n.throw(W))}catch(K){a(K)}}function u(W){W.done?h(W.value):r(W.value).then(o,c)}u((n=n.apply(i,t||[])).next())})};class cl{constructor(t,s){this.keywords=[]}doValidation(t){return U1(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.validate(t);return Promise.resolve(s)}return Promise.resolve([])})}parserTreeToString(t){return U1(this,void 0,void 0,function*(){if(t){const s=this.parser.createParser(t),r=s.program().toStringTree(s);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,s){return U1(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getSuggestionAtCaretPosition(t,s);return Promise.resolve(n)}return Promise.resolve(null)})}doCompletionWithEntities(t,s){return U1(this,void 0,void 0,function*(){var n;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,s);let h=null;return!((n=r==null?void 0:r.syntax)===null||n===void 0)&&n.length&&(h=this.parser.getAllEntities(t,s)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,s){return U1(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getAllEntities(t,s);return Promise.resolve(n)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class ul extends cl{constructor(t,s){super(t,s),this._ctx=t,this.parser=new ol}}self.onmessage=()=>{Da((i,t)=>new ul(i,t))}})(); diff --git a/assets/html-1fcc3bd7.js b/assets/html-cded7cb3.js similarity index 98% rename from assets/html-1fcc3bd7.js rename to assets/html-cded7cb3.js index a457b194..c1bbeb20 100644 --- a/assets/html-1fcc3bd7.js +++ b/assets/html-cded7cb3.js @@ -1,4 +1,4 @@ -import{m as s}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as s}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/htmlMode-1c79fa8e.js b/assets/htmlMode-7f4ca3d8.js similarity index 99% rename from assets/htmlMode-1c79fa8e.js rename to assets/htmlMode-7f4ca3d8.js index 089e613a..b7bbb065 100644 --- a/assets/htmlMode-1c79fa8e.js +++ b/assets/htmlMode-7f4ca3d8.js @@ -1,4 +1,4 @@ -import{m as ze}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as ze}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/impala-b20281e0.js b/assets/impala-ca5c7ba2.js similarity index 98% rename from assets/impala-b20281e0.js rename to assets/impala-ca5c7ba2.js index 3fec5ff7..1c32854c 100644 --- a/assets/impala-b20281e0.js +++ b/assets/impala-ca5c7ba2.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const I={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ALTER","AND","ARRAY","AS","BETWEEN","BIGINT","BINARY","BOOLEAN","BY","CASE","CAST","CHAR","COLUMN","CREATE","CROSS","CURRENT","DATE","DECIMAL","DEFAULT","DELETE","DESCRIBE","DISTINCT","DOUBLE","DROP","ELSE","END","EXISTS","EXTERNAL","FALSE","FLOAT","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","HAVING","IN","INNER","INSERT","INT","INTEGER","INTERVAL","INTO","IS","JOIN","LEFT","LIKE","NOT","NULL","OFFSET","ON","OR","ORDER","OUTER","OVER","PARTITION","PRIMARY","RANGE","REAL","RETURNS","REVOKE","RIGHT","ROW","ROWS","SELECT","SET","SHOW","SMALLINT","TABLE","TABLESAMPLE","THEN","TIMESTAMP","TO","TRUE","TRUNCATE","UNION","UNKNOWN","UPDATE","USING","VALUES","VARCHAR","WHEN","WHERE","WITH","ADD","AGGREGATE","ASC","COMMENT","COMPUTE","DATABASE","DESC","EXPLAIN","IF","ILIKE","INCREMENTAL","INDEX","IREGEXP","KEY","KUDU","LIMIT","LOAD","LOCATION","OVERWRITE","PARTITIONED","PARTITIONS","POSITION","POWER","PURGE","RECOVER","REFRESH","REGEXP","RENAME","REPLACE","RLIKE","ROLE","SCHEMA","SHUTDOWN","SORT","STORED","UPPER","UPSERT","USE","VALUE","VIEW"],operators:["DIV","BETWEEN","EXISTS","LIKE","ILIKE","NOT","IN","IREGEXP","IS","REGEXP","RLIKE","AND","OR"],builtinFunctions:["ABS","ACOS","ASIN","ATAN","ATAN2","BIN","CEIL","CEILING","DCEIL","CONV","coS","COSH","COT","DEGREES","E","EXP","FACTORIAL","FLOOR","DFLOOR","FMOD","FNV_HASH","GREATEST","HEX","IS_INF","IS_NAN","LEAST","LN","LOG","LOG10","LOG2","MAX_INT","MAX_TINYINT","MAX_SMALLINT","MAX_BIGINT","MIN_INT","MIN_TINYINT","MIN_SMALLINT","MIN_BIGINT","MOD","MURMUR_HASH","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","DPOW","FPOW","PRECISION","QUOTIENT","RADIANS","RAND","RANDOM","ROUND","DROUND","SCALE","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNCATE","DTRUNC","TRUNC","UNHEX","WIDTH_BUCKET","CAST","TYPEOF","ADD_MONTHS","ADDDATE","CURRENT_DATE","CURRENT_TIMESTAMP","DATE_ADD","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYNAME","DAYOFWEEK","DAYOFYEAR","DAYS_ADD","DAYS_SUB","EXTRACT","FROM_TIMESTAMP","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","HOURS_ADD","HOURS_SUB","INT_MONTHS_BETWEEN","MICROSECONDS_ADD","MICROSECONDS_SUB","MILLISECOND","MILLISECONDS_ADD","MILLISECONDS_SUB","MINUTE","MINUTES_ADD","MINUTES_SUB","MONTH","MONTHNAME","MONTHS ADD","MONTHS_BETWEEN","MONTHS_SUB","NANOSECONDS_ADD","NANOSECONDS_SUB","NEXT_DAY","NOW","QUARTER","SECOND","SECONDS_ADD","SECONDS_SUB","SUBDATE","TIMEOFDAY","TIMESTAMP_CMP","TO_DATE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","UTC_TIMESTAMP","WEEKOFYEAR","WEEKS_ADD","WEEKS_SUB","YEAR","YEARS_ADD","YEARS_SUB","CASE","CASE2","COALESCE","DECODE","F","IFNULL","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISNULL","ISTRUE","NONNULLVALUE","NULLIF","NULLIFZERO","NULLVALUE","NVL","NVL2","ZEROIFNULL","ASCII","BASE64DECODE","BASE64ENCODE","BTRIM","BYTES","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FIND_IN_SET","GROUP_CONCAT","INITCAP","INSTR","JARO_DISTANCE","JARO_DIST","JARO_SIMILARITY","JARO_SIM","JARO_WINKER_DISTANCE","JW_DST","JARO_WINKER_SIMILARITY","JW_SIM","LEFT","LENGTH","LEVENSHTEIN","LE_DST","LOCATE","LOWER","LCASE","LPAD","LTRI","PARSE_URL","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPACE","SPLIT_PART","STRLEFT","STRRIGHT","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UPPER","UCASE","APPX_MEDIAN","AVG","COUNT","GROUP_CONCAT","MAX","MIN","NDV","STDDEV","STDDEV_SAMP","STDDEV_POP","SUM","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","VAR_SAMP","VAR_POP","BITAND","BITNOT","BITOR","BITXOR","COUNTSET","GETBIT","ROTATELEFT","ROTATERIGHT","SETBIT","SHIFTLEFT","SHIFTRIGHT","CURRENT_DATABASE","EFFECTIVE_USER","GET_JSON_OBJECT","LOGGED_IN_USER","PID","SLEEP","USER","UUIb","VERSION","COORDINATOR"],builtinVariables:[],typeKeywords:["ARRAY","BINARY","BIGINT","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","MAP","REAL","SMALLINT","STRING","STRUCT","TIMESTAMP","TINYINT","VARCHAR","COMPLEX"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},{include:"@complexOperators"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}],[/"/,{token:E.STRING,next:"@string_double"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],string_double:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[],complexOperators:[[/IS\s+(NOT\s+)?(TRUE|FALSE|NULL|UNKNOWN|DISTINCT FROM)\b/i,{token:E.OPERATOR_KEYWORD}],[/NOT\s+(EXISTS|ILIKE|IN|LIKE)\b/i,{token:E.OPERATOR_KEYWORD}]]}};export{I as conf,A as language}; +import{T as E}from"./index-e7f600bf.js";const I={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ALTER","AND","ARRAY","AS","BETWEEN","BIGINT","BINARY","BOOLEAN","BY","CASE","CAST","CHAR","COLUMN","CREATE","CROSS","CURRENT","DATE","DECIMAL","DEFAULT","DELETE","DESCRIBE","DISTINCT","DOUBLE","DROP","ELSE","END","EXISTS","EXTERNAL","FALSE","FLOAT","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","HAVING","IN","INNER","INSERT","INT","INTEGER","INTERVAL","INTO","IS","JOIN","LEFT","LIKE","NOT","NULL","OFFSET","ON","OR","ORDER","OUTER","OVER","PARTITION","PRIMARY","RANGE","REAL","RETURNS","REVOKE","RIGHT","ROW","ROWS","SELECT","SET","SHOW","SMALLINT","TABLE","TABLESAMPLE","THEN","TIMESTAMP","TO","TRUE","TRUNCATE","UNION","UNKNOWN","UPDATE","USING","VALUES","VARCHAR","WHEN","WHERE","WITH","ADD","AGGREGATE","ASC","COMMENT","COMPUTE","DATABASE","DESC","EXPLAIN","IF","ILIKE","INCREMENTAL","INDEX","IREGEXP","KEY","KUDU","LIMIT","LOAD","LOCATION","OVERWRITE","PARTITIONED","PARTITIONS","POSITION","POWER","PURGE","RECOVER","REFRESH","REGEXP","RENAME","REPLACE","RLIKE","ROLE","SCHEMA","SHUTDOWN","SORT","STORED","UPPER","UPSERT","USE","VALUE","VIEW"],operators:["DIV","BETWEEN","EXISTS","LIKE","ILIKE","NOT","IN","IREGEXP","IS","REGEXP","RLIKE","AND","OR"],builtinFunctions:["ABS","ACOS","ASIN","ATAN","ATAN2","BIN","CEIL","CEILING","DCEIL","CONV","coS","COSH","COT","DEGREES","E","EXP","FACTORIAL","FLOOR","DFLOOR","FMOD","FNV_HASH","GREATEST","HEX","IS_INF","IS_NAN","LEAST","LN","LOG","LOG10","LOG2","MAX_INT","MAX_TINYINT","MAX_SMALLINT","MAX_BIGINT","MIN_INT","MIN_TINYINT","MIN_SMALLINT","MIN_BIGINT","MOD","MURMUR_HASH","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","DPOW","FPOW","PRECISION","QUOTIENT","RADIANS","RAND","RANDOM","ROUND","DROUND","SCALE","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNCATE","DTRUNC","TRUNC","UNHEX","WIDTH_BUCKET","CAST","TYPEOF","ADD_MONTHS","ADDDATE","CURRENT_DATE","CURRENT_TIMESTAMP","DATE_ADD","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYNAME","DAYOFWEEK","DAYOFYEAR","DAYS_ADD","DAYS_SUB","EXTRACT","FROM_TIMESTAMP","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","HOURS_ADD","HOURS_SUB","INT_MONTHS_BETWEEN","MICROSECONDS_ADD","MICROSECONDS_SUB","MILLISECOND","MILLISECONDS_ADD","MILLISECONDS_SUB","MINUTE","MINUTES_ADD","MINUTES_SUB","MONTH","MONTHNAME","MONTHS ADD","MONTHS_BETWEEN","MONTHS_SUB","NANOSECONDS_ADD","NANOSECONDS_SUB","NEXT_DAY","NOW","QUARTER","SECOND","SECONDS_ADD","SECONDS_SUB","SUBDATE","TIMEOFDAY","TIMESTAMP_CMP","TO_DATE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","UTC_TIMESTAMP","WEEKOFYEAR","WEEKS_ADD","WEEKS_SUB","YEAR","YEARS_ADD","YEARS_SUB","CASE","CASE2","COALESCE","DECODE","F","IFNULL","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISNULL","ISTRUE","NONNULLVALUE","NULLIF","NULLIFZERO","NULLVALUE","NVL","NVL2","ZEROIFNULL","ASCII","BASE64DECODE","BASE64ENCODE","BTRIM","BYTES","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FIND_IN_SET","GROUP_CONCAT","INITCAP","INSTR","JARO_DISTANCE","JARO_DIST","JARO_SIMILARITY","JARO_SIM","JARO_WINKER_DISTANCE","JW_DST","JARO_WINKER_SIMILARITY","JW_SIM","LEFT","LENGTH","LEVENSHTEIN","LE_DST","LOCATE","LOWER","LCASE","LPAD","LTRI","PARSE_URL","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPACE","SPLIT_PART","STRLEFT","STRRIGHT","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UPPER","UCASE","APPX_MEDIAN","AVG","COUNT","GROUP_CONCAT","MAX","MIN","NDV","STDDEV","STDDEV_SAMP","STDDEV_POP","SUM","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","VAR_SAMP","VAR_POP","BITAND","BITNOT","BITOR","BITXOR","COUNTSET","GETBIT","ROTATELEFT","ROTATERIGHT","SETBIT","SHIFTLEFT","SHIFTRIGHT","CURRENT_DATABASE","EFFECTIVE_USER","GET_JSON_OBJECT","LOGGED_IN_USER","PID","SLEEP","USER","UUIb","VERSION","COORDINATOR"],builtinVariables:[],typeKeywords:["ARRAY","BINARY","BIGINT","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","MAP","REAL","SMALLINT","STRING","STRUCT","TIMESTAMP","TINYINT","VARCHAR","COMPLEX"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},{include:"@complexOperators"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}],[/"/,{token:E.STRING,next:"@string_double"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],string_double:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[],complexOperators:[[/IS\s+(NOT\s+)?(TRUE|FALSE|NULL|UNKNOWN|DISTINCT FROM)\b/i,{token:E.OPERATOR_KEYWORD}],[/NOT\s+(EXISTS|ILIKE|IN|LIKE)\b/i,{token:E.OPERATOR_KEYWORD}]]}};export{I as conf,A as language}; diff --git a/assets/impala.worker-b4674d39.js b/assets/impala.worker-b4674d39.js deleted file mode 100644 index 57dd8e3e..00000000 --- a/assets/impala.worker-b4674d39.js +++ /dev/null @@ -1,22 +0,0 @@ -var Sl=Object.defineProperty;var pl=(ut,ht,Et)=>ht in ut?Sl(ut,ht,{enumerable:!0,configurable:!0,writable:!0,value:Et}):ut[ht]=Et;var l=(ut,ht,Et)=>(pl(ut,typeof ht!="symbol"?ht+"":ht,Et),Et),Ar=(ut,ht,Et)=>{if(!ht.has(ut))throw TypeError("Cannot "+Et)};var L=(ut,ht,Et)=>(Ar(ut,ht,"read from private field"),Et?Et.call(ut):ht.get(ut)),Z=(ut,ht,Et)=>{if(ht.has(ut))throw TypeError("Cannot add the same private member more than once");ht instanceof WeakSet?ht.add(ut):ht.set(ut,Et)},Q=(ut,ht,Et,j1)=>(Ar(ut,ht,"write to private field"),j1?j1.call(ut,Et):ht.set(ut,Et),Et);var gr=(ut,ht,Et)=>(Ar(ut,ht,"access private method"),Et);(function(){var w1,xs,_s,Ae,o1,U1,Cs,qt,ve,De,a1,ct,Ns,u1,Ls,Pt,le,ms,be,de,c1,v1,Ws,l1,Ie,Ks,Ss,ps,Mt,Os,ks,d1,ys,D1,b1,I1,ws,Me,Us,vs,M1,Ds,F1,ge,bs,Wt,Is,Ms,Fs,q,xt,at,Hs,Fe,Bs,Vs,Ps,He,H1,Be,Gs,Ys,Qs,Xs,$s,js,zs,Zs,Js,qs,ti,ei,si,ii,ni,ri,hi,oi,ai,E1,B1,V1,f1,P1,G1,R1,Y1,Ve,ui,ci,Kt,w,li,di,Ei,fi,Ri,Ti,Ai,xe,_e,gi,xi,_i,Q1,Ci,Ni,T1,Li,xr,mi,Wi,Ki,Si,B,pi,Oi,ki,yi,wi,Ui,vi,Di,Pe,bi,Ii,Mi,Fi,Hi,Bi,Vi,Pi,Gi,Yi,Qi,Xi,$i,ji,en,zi,Zi,Ji,qi,te,t0,e0,s0,sn,X1,i0,Dt,n0,r0,h0,o0,dt,a0,u0,c0,it,Ee,Gt,l0,d0,E0,f0,R0,T0,A0,g0,Ft,x0,_0,C0,N0,L0,m0,ee,W0;"use strict";class ut{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` - -`+t.stack):t},0)}}emit(t){this.listeners.forEach(e=>{e(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const ht=new ut;function Et(n){ya(n)||ht.onUnexpectedError(n)}function j1(n){if(n instanceof Error){let{name:t,message:e}=n;const i=n.stacktrace||n.stack;return{$isError:!0,name:t,message:e,stack:i}}return n}const _r="Canceled";function ya(n){return n instanceof Error&&n.name===_r&&n.message===_r}function wa(n){const t=this;let e=!1,i;return function(){return e||(e=!0,i=n.apply(t,arguments)),i}}var nn;(function(n){function t(_){return _&&typeof _=="object"&&typeof _[Symbol.iterator]=="function"}n.is=t;const e=Object.freeze([]);function i(){return e}n.empty=i;function*r(_){yield _}n.single=r;function h(_){return _||e}n.from=h;function o(_){return!_||_[Symbol.iterator]().next().done===!0}n.isEmpty=o;function a(_){return _[Symbol.iterator]().next().value}n.first=a;function u(_,x){for(const m of _)if(x(m))return!0;return!1}n.some=u;function c(_,x){for(const m of _)if(x(m))return m}n.find=c;function*d(_,x){for(const m of _)x(m)&&(yield m)}n.filter=d;function*f(_,x){let m=0;for(const K of _)yield x(K,m++)}n.map=f;function*T(..._){for(const x of _)for(const m of x)yield m}n.concat=T;function*C(_){for(const x of _)for(const m of x)yield m}n.concatNested=C;function W(_,x,m){let K=m;for(const v of _)K=x(K,v);return K}n.reduce=W;function*S(_,x,m=_.length){for(x<0&&(x+=_.length),m<0?m+=_.length:m>_.length&&(m=_.length);xK===v){const K=_[Symbol.iterator](),v=x[Symbol.iterator]();for(;;){const y=K.next(),O=v.next();if(y.done!==O.done)return!1;if(y.done)return!0;if(!m(y.value,O.value))return!1}}n.equals=U})(nn||(nn={}));function Ol(n){return n}function kl(n,t){}class Ua extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function Cr(n){if(nn.is(n)){let t=[];for(const e of n)if(e)try{e.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new Ua(t);return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function va(...n){return Nr(()=>Cr(n))}function Nr(n){return{dispose:wa(()=>{n()})}}class z1{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{Cr(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?z1.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}z1.DISABLE_DISPOSED_WARNING=!1;class Lr{constructor(){this._store=new z1,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Lr.None=Object.freeze({dispose(){}});class tt{constructor(t){this.element=t,this.next=tt.Undefined,this.prev=tt.Undefined}}tt.Undefined=new tt(void 0);class mr{constructor(){this._first=tt.Undefined,this._last=tt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===tt.Undefined}clear(){let t=this._first;for(;t!==tt.Undefined;){const e=t.next;t.prev=tt.Undefined,t.next=tt.Undefined,t=e}this._first=tt.Undefined,this._last=tt.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){const i=new tt(t);if(this._first===tt.Undefined)this._first=i,this._last=i;else if(e){const h=this._last;this._last=i,i.prev=h,h.next=i}else{const h=this._first;this._first=i,i.next=h,h.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==tt.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==tt.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==tt.Undefined&&t.next!==tt.Undefined){const e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===tt.Undefined&&t.next===tt.Undefined?(this._first=tt.Undefined,this._last=tt.Undefined):t.next===tt.Undefined?(this._last=this._last.prev,this._last.next=tt.Undefined):t.prev===tt.Undefined&&(this._first=this._first.next,this._first.prev=tt.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==tt.Undefined;)yield t.element,t=t.next}}var rn;const K0="en";let hn=!1,on=!1,an=!1,Z1,S0=K0,Da,Ge;const Nt=typeof self=="object"?self:typeof global=="object"?global:{};let St;typeof Nt.vscode<"u"&&typeof Nt.vscode.process<"u"?St=Nt.vscode.process:typeof process<"u"&&(St=process);const ba=typeof((rn=St==null?void 0:St.versions)===null||rn===void 0?void 0:rn.electron)=="string"&&(St==null?void 0:St.type)==="renderer";if(typeof navigator=="object"&&!ba)Ge=navigator.userAgent,hn=Ge.indexOf("Windows")>=0,on=Ge.indexOf("Macintosh")>=0,(Ge.indexOf("Macintosh")>=0||Ge.indexOf("iPad")>=0||Ge.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,an=Ge.indexOf("Linux")>=0,Z1=navigator.language,S0=Z1;else if(typeof St=="object"){hn=St.platform==="win32",on=St.platform==="darwin",an=St.platform==="linux",an&&St.env.SNAP&&St.env.SNAP_REVISION,Z1=K0,S0=K0;const n=St.env.VSCODE_NLS_CONFIG;if(n)try{const t=JSON.parse(n),e=t.availableLanguages["*"];Z1=t.locale,S0=e||K0,Da=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const J1=hn,Ia=on,Ma=S0,Fa=Z1;(()=>{if(typeof Nt.postMessage=="function"&&!Nt.importScripts){let n=[];Nt.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let i=0,r=n.length;i{const i=++t;n.push({id:i,callback:e}),Nt.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})();const Ha=Nt.performance&&typeof Nt.performance.now=="function";class p0{constructor(t){this._highResolution=Ha&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new p0(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?Nt.performance.now():Date.now()}}var un;(function(n){n.None=()=>Lr.None;function t(_){return(x,m=null,K)=>{let v=!1,y;return y=_(O=>{if(!v)return y?y.dispose():v=!0,x.call(m,O)},null,K),v&&y.dispose(),y}}n.once=t;function e(_,x){return u((m,K=null,v)=>_(y=>m.call(K,x(y)),null,v))}n.map=e;function i(_,x){return u((m,K=null,v)=>_(y=>{x(y),m.call(K,y)},null,v))}n.forEach=i;function r(_,x){return u((m,K=null,v)=>_(y=>x(y)&&m.call(K,y),null,v))}n.filter=r;function h(_){return _}n.signal=h;function o(..._){return(x,m=null,K)=>va(..._.map(v=>v(y=>x.call(m,y),null,K)))}n.any=o;function a(_,x,m){let K=m;return e(_,v=>(K=x(K,v),K))}n.reduce=a;function u(_){let x;const m=new Ce({onFirstListenerAdd(){x=_(m.fire,m)},onLastListenerRemove(){x.dispose()}});return m.event}function c(_,x,m=100,K=!1,v){let y,O,P,Rt=0;const z=new Ce({leakWarningThreshold:v,onFirstListenerAdd(){y=_(M=>{Rt++,O=x(O,M),K&&!P&&(z.fire(O),O=void 0),clearTimeout(P),P=setTimeout(()=>{const se=O;O=void 0,P=void 0,(!K||Rt>1)&&z.fire(se),Rt=0},m)})},onLastListenerRemove(){y.dispose()}});return z.event}n.debounce=c;function d(_,x=(m,K)=>m===K){let m=!0,K;return r(_,v=>{const y=m||!x(v,K);return m=!1,K=v,y})}n.latch=d;function f(_,x){return[n.filter(_,x),n.filter(_,m=>!x(m))]}n.split=f;function T(_,x=!1,m=[]){let K=m.slice(),v=_(P=>{K?K.push(P):O.fire(P)});const y=()=>{K&&K.forEach(P=>O.fire(P)),K=null},O=new Ce({onFirstListenerAdd(){v||(v=_(P=>O.fire(P)))},onFirstListenerDidAdd(){K&&(x?setTimeout(y):y())},onLastListenerRemove(){v&&v.dispose(),v=null}});return O.event}n.buffer=T;class C{constructor(x){this.event=x}map(x){return new C(e(this.event,x))}forEach(x){return new C(i(this.event,x))}filter(x){return new C(r(this.event,x))}reduce(x,m){return new C(a(this.event,x,m))}latch(){return new C(d(this.event))}debounce(x,m=100,K=!1,v){return new C(c(this.event,x,m,K,v))}on(x,m,K){return this.event(x,m,K)}once(x,m,K){return t(this.event)(x,m,K)}}function W(_){return new C(_)}n.chain=W;function S(_,x,m=K=>K){const K=(...P)=>O.fire(m(...P)),v=()=>_.on(x,K),y=()=>_.removeListener(x,K),O=new Ce({onFirstListenerAdd:v,onLastListenerRemove:y});return O.event}n.fromNodeEventEmitter=S;function p(_,x,m=K=>K){const K=(...P)=>O.fire(m(...P)),v=()=>_.addEventListener(x,K),y=()=>_.removeEventListener(x,K),O=new Ce({onFirstListenerAdd:v,onLastListenerRemove:y});return O.event}n.fromDOMEventEmitter=p;function U(_){return new Promise(x=>t(_)(x))}n.toPromise=U})(un||(un={}));class O0{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${O0._idPool++}`}start(t){this._stopWatch=new p0(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}O0._idPool=0;class Ce{constructor(t){var e;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((e=this._options)===null||e===void 0)&&e._profName?new O0(this._options._profName):void 0}get event(){return this._event||(this._event=(t,e,i)=>{var r;this._listeners||(this._listeners=new mr);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(e?[t,e]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,e);const a=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),u=Nr(()=>{a&&a(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return i instanceof z1?i.add(u):Array.isArray(i)&&i.push(u),u}),this._event}fire(t){var e,i;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new mr);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((e=this._perfMon)===null||e===void 0||e.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(o){Et(o)}}(i=this._perfMon)===null||i===void 0||i.stop()}}dispose(){var t,e,i,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(e=this._deliveryQueue)===null||e===void 0||e.clear(),(r=(i=this._options)===null||i===void 0?void 0:i.onLastListenerRemove)===null||r===void 0||r.call(i),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function Ba(n){let t=[],e=Object.getPrototypeOf(n);for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}function cn(n){const t=[];for(const e of Ba(n))typeof n[e]=="function"&&t.push(e);return t}function Va(n,t){const e=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let i={};for(const r of n)i[r]=e(r);return i}function Pa(n,t="Unreachable"){throw new Error(t)}function Ga(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Ya(n){return n.split(/\r\n|\r|\n/)}function Qa(n){for(let t=0,e=n.length;t=0;e--){const i=n.charCodeAt(e);if(i!==32&&i!==9)return e}return-1}function Wr(n){return n>=65&&n<=90}function ln(n){return 55296<=n&&n<=56319}function $a(n){return 56320<=n&&n<=57343}function ja(n,t){return(n-55296<<10)+(t-56320)+65536}function za(n,t,e){const i=n.charCodeAt(e);if(ln(i)&&e+1{this._pendingReplies[i]={resolve:r,reject:h},this._send(new Ja(this._workerId,i,t,e))})}listen(t,e){let i=null;const r=new Ce({onFirstListenerAdd:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,r),this._send(new qa(this._workerId,i,t,e))},onLastListenerRemove:()=>{this._pendingEmitters.delete(i),this._send(new eu(this._workerId,i)),i=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let e=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let i=t.err;t.err.$isError&&(i=new Error,i.name=t.err.name,i.message=t.err.message,i.stack=t.err.stack),e.reject(i);return}e.resolve(t.res)}_handleRequestMessage(t){let e=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new Kr(this._workerId,e,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=j1(r.detail)),this._send(new Kr(this._workerId,e,void 0,j1(r)))})}_handleSubscribeEventMessage(t){const e=t.req,i=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new tu(this._workerId,e,r))});this._pendingEvents.set(e,i)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let e=[];if(t.type===0)for(let i=0;ifunction(){const a=Array.prototype.slice.call(arguments,0);return t(o,a)},r=o=>function(a){return e(o,a)};let h={};for(const o of n){if(pr(o)){h[o]=r(o);continue}if(Sr(o)){h[o]=e(o,void 0);continue}h[o]=i(o)}return h}class nu{constructor(t,e){this._requestHandlerFactory=e,this._requestHandler=null,this._protocol=new su({sendMessage:(i,r)=>{t(i,r)},handleMessage:(i,r)=>this._handleMessage(i,r),handleEvent:(i,r)=>this._handleEvent(i,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,e){if(t===Za)return this.initialize(e[0],e[1],e[2],e[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,e))}catch(i){return Promise.reject(i)}}_handleEvent(t,e){if(!this._requestHandler)throw new Error("Missing requestHandler");if(pr(t)){const i=this._requestHandler[t].call(this._requestHandler,e);if(typeof i!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return i}if(Sr(t)){const i=this._requestHandler[t];if(typeof i!="function")throw new Error(`Missing event ${t} on request handler.`);return i}throw new Error(`Malformed event name ${t}`)}initialize(t,e,i,r){this._protocol.setWorkerId(t);const a=iu(r,(u,c)=>this._protocol.sendMessage(u,c),(u,c)=>this._protocol.listen(u,c));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(a),Promise.resolve(cn(this._requestHandler))):(e&&(typeof e.baseUrl<"u"&&delete e.baseUrl,typeof e.paths<"u"&&typeof e.paths.vs<"u"&&delete e.paths.vs,typeof e.trustedTypesPolicy!==void 0&&delete e.trustedTypesPolicy,e.catchError=!0,Nt.require.config(e)),new Promise((u,c)=>{const d=Nt.require;d([i],f=>{if(this._requestHandler=f.create(a),!this._requestHandler){c(new Error("No RequestHandler!"));return}u(cn(this._requestHandler))},c)}))}}class Ne{constructor(t,e,i,r){this.originalStart=t,this.originalLength=e,this.modifiedStart=i,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Or(n,t){return(t<<5)-t+n|0}function ru(n,t){t=Or(149417,t);for(let e=0,i=n.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new Ne(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_originalCount++}AddModifiedElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Le{constructor(t,e,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=t,this._modifiedSequence=e;const[r,h,o]=Le._getElements(t),[a,u,c]=Le._getElements(e);this._hasStrings=o&&c,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=a,this._modifiedElementsOrHash=u,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const e=t.getElements();if(Le._isStringArray(e)){const i=new Int32Array(e.length);for(let r=0,h=e.length;r=t&&r>=i&&this.ElementsAreEqual(e,r);)e--,r--;if(t>e||i>r){let f;return i<=r?(x1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),f=[new Ne(t,0,i,r-i+1)]):t<=e?(x1.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),f=[new Ne(t,e-t+1,i,0)]):(x1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),x1.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),f=[]),f}const o=[0],a=[0],u=this.ComputeRecursionPoint(t,e,i,r,o,a,h),c=o[0],d=a[0];if(u!==null)return u;if(!h[0]){const f=this.ComputeDiffRecursive(t,c,i,d,h);let T=[];return h[0]?T=[new Ne(c+1,e-(c+1)+1,d+1,r-(d+1)+1)]:T=this.ComputeDiffRecursive(c+1,e,d+1,r,h),this.ConcatenateChanges(f,T)}return[new Ne(t,e-t+1,i,r-i+1)]}WALKTRACE(t,e,i,r,h,o,a,u,c,d,f,T,C,W,S,p,U,_){let x=null,m=null,K=new yr,v=e,y=i,O=C[0]-p[0]-r,P=-1073741824,Rt=this.m_forwardHistory.length-1;do{const z=O+t;z===v||z=0&&(c=this.m_forwardHistory[Rt],t=c[0],v=1,y=c.length-1)}while(--Rt>=-1);if(x=K.getReverseChanges(),_[0]){let z=C[0]+1,M=p[0]+1;if(x!==null&&x.length>0){const se=x[x.length-1];z=Math.max(z,se.getOriginalEnd()),M=Math.max(M,se.getModifiedEnd())}m=[new Ne(z,T-z+1,M,S-M+1)]}else{K=new yr,v=o,y=a,O=C[0]-p[0]-u,P=1073741824,Rt=U?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const z=O+h;z===v||z=d[z+1]?(f=d[z+1]-1,W=f-O-u,f>P&&K.MarkNextChange(),P=f+1,K.AddOriginalElement(f+1,W+1),O=z+1-h):(f=d[z-1],W=f-O-u,f>P&&K.MarkNextChange(),P=f,K.AddModifiedElement(f+1,W+1),O=z-1-h),Rt>=0&&(d=this.m_reverseHistory[Rt],h=d[0],v=1,y=d.length-1)}while(--Rt>=-1);m=K.getChanges()}return this.ConcatenateChanges(x,m)}ComputeRecursionPoint(t,e,i,r,h,o,a){let u=0,c=0,d=0,f=0,T=0,C=0;t--,i--,h[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const W=e-t+(r-i),S=W+1,p=new Int32Array(S),U=new Int32Array(S),_=r-i,x=e-t,m=t-i,K=e-r,y=(x-_)%2===0;p[_]=t,U[x]=e,a[0]=!1;for(let O=1;O<=W/2+1;O++){let P=0,Rt=0;d=this.ClipDiagonalBound(_-O,O,_,S),f=this.ClipDiagonalBound(_+O,O,_,S);for(let M=d;M<=f;M+=2){M===d||MP+Rt&&(P=u,Rt=c),!y&&Math.abs(M-x)<=O-1&&u>=U[M])return h[0]=u,o[0]=c,se<=U[M]&&1447>0&&O<=1447+1?this.WALKTRACE(_,d,f,m,x,T,C,K,p,U,u,e,h,c,r,o,y,a):null}const z=(P-t+(Rt-i)-O)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(P,z))return a[0]=!0,h[0]=P,o[0]=Rt,z>0&&1447>0&&O<=1447+1?this.WALKTRACE(_,d,f,m,x,T,C,K,p,U,u,e,h,c,r,o,y,a):(t++,i++,[new Ne(t,e-t+1,i,r-i+1)]);T=this.ClipDiagonalBound(x-O,O,x,S),C=this.ClipDiagonalBound(x+O,O,x,S);for(let M=T;M<=C;M+=2){M===T||M=U[M+1]?u=U[M+1]-1:u=U[M-1],c=u-(M-x)-K;const se=u;for(;u>t&&c>i&&this.ElementsAreEqual(u,c);)u--,c--;if(U[M]=u,y&&Math.abs(M-_)<=O&&u<=p[M])return h[0]=u,o[0]=c,se>=p[M]&&1447>0&&O<=1447+1?this.WALKTRACE(_,d,f,m,x,T,C,K,p,U,u,e,h,c,r,o,y,a):null}if(O<=1447){let M=new Int32Array(f-d+2);M[0]=_-d+1,_1.Copy2(p,d,M,1,f-d+1),this.m_forwardHistory.push(M),M=new Int32Array(C-T+2),M[0]=x-T+1,_1.Copy2(U,T,M,1,C-T+1),this.m_reverseHistory.push(M)}}return this.WALKTRACE(_,d,f,m,x,T,C,K,p,U,u,e,h,c,r,o,y,a)}PrettifyChanges(t){for(let e=0;e0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;e--){const i=t[e];let r=0,h=0;if(e>0){const f=t[e-1];r=f.originalStart+f.originalLength,h=f.modifiedStart+f.modifiedLength}const o=i.originalLength>0,a=i.modifiedLength>0;let u=0,c=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let f=1;;f++){const T=i.originalStart-f,C=i.modifiedStart-f;if(Tc&&(c=S,u=f)}i.originalStart-=u,i.modifiedStart-=u;const d=[null];if(e>0&&this.ChangesOverlap(t[e-1],t[e],d)){t[e-1]=d[0],t.splice(e,1),e++;continue}}if(this._hasStrings)for(let e=1,i=t.length;e0&&C>u&&(u=C,c=f,d=T)}return u>0?[c,d]:null}_contiguousSequenceScore(t,e,i){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,e){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,e){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(t,e,i,r){const h=this._OriginalRegionIsBoundary(t,e)?1:0,o=this._ModifiedRegionIsBoundary(i,r)?1:0;return h+o}ConcatenateChanges(t,e){let i=[];if(t.length===0||e.length===0)return e.length>0?e:t;if(this.ChangesOverlap(t[t.length-1],e[0],i)){const r=new Array(t.length+e.length-1);return _1.Copy(t,0,r,0,t.length-1),r[t.length-1]=i[0],_1.Copy(e,1,r,t.length,e.length-1),r}else{const r=new Array(t.length+e.length);return _1.Copy(t,0,r,0,t.length),_1.Copy(e,0,r,t.length,e.length),r}}ChangesOverlap(t,e,i){if(x1.Assert(t.originalStart<=e.originalStart,"Left change is not less than or equal to right change"),x1.Assert(t.modifiedStart<=e.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=e.originalStart||t.modifiedStart+t.modifiedLength>=e.modifiedStart){const r=t.originalStart;let h=t.originalLength;const o=t.modifiedStart;let a=t.modifiedLength;return t.originalStart+t.originalLength>=e.originalStart&&(h=e.originalStart+e.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=e.modifiedStart&&(a=e.modifiedStart+e.modifiedLength-t.modifiedStart),i[0]=new Ne(r,h,o,a),!0}else return i[0]=null,!1}ClipDiagonalBound(t,e,i,r){if(t>=0&&t=au&&n<=cu||n>=uu&&n<=lu}function k0(n,t,e,i){let r="",h=0,o=-1,a=0,u=0;for(let c=0;c<=n.length;++c){if(c2){const d=r.lastIndexOf(e);d===-1?(r="",h=0):(r=r.slice(0,d),h=r.length-1-r.lastIndexOf(e)),o=c,a=0;continue}else if(r.length!==0){r="",h=0,o=c,a=0;continue}}t&&(r+=r.length>0?`${e}..`:"..",h=2)}else r.length>0?r+=`${e}${n.slice(o+1,c)}`:r=n.slice(o+1,c),h=c-o-1;o=c,a=0}else u===me&&a!==-1?++a:a=-1}return r}function Ur(n,t){if(t===null||typeof t!="object")throw new wr("pathObject","Object",t);const e=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return e?e===t.root?`${e}${i}`:`${e}${n}${i}`:i}const pt={resolve(...n){let t="",e="",i=!1;for(let r=n.length-1;r>=-1;r--){let h;if(r>=0){if(h=n[r],lt(h,"path"),h.length===0)continue}else t.length===0?h=dn():(h=ou[`=${t}`]||dn(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===wt)&&(h=`${t}\\`));const o=h.length;let a=0,u="",c=!1;const d=h.charCodeAt(0);if(o===1)F(d)&&(a=1,c=!0);else if(F(d))if(c=!0,F(h.charCodeAt(1))){let f=2,T=f;for(;f2&&F(h.charCodeAt(2))&&(c=!0,a=3));if(u.length>0)if(t.length>0){if(u.toLowerCase()!==t.toLowerCase())continue}else t=u;if(i){if(t.length>0)break}else if(e=`${h.slice(a)}\\${e}`,i=c,c&&t.length>0)break}return e=k0(e,!i,"\\",F),i?`${t}\\${e}`:`${t}${e}`||"."},normalize(n){lt(n,"path");const t=n.length;if(t===0)return".";let e=0,i,r=!1;const h=n.charCodeAt(0);if(t===1)return En(h)?"\\":n;if(F(h))if(r=!0,F(n.charCodeAt(1))){let a=2,u=a;for(;a2&&F(n.charCodeAt(2))&&(r=!0,e=3));let o=e0&&F(n.charCodeAt(t-1))&&(o+="\\"),i===void 0?r?`\\${o}`:o:r?`${i}\\${o}`:`${i}${o}`},isAbsolute(n){lt(n,"path");const t=n.length;if(t===0)return!1;const e=n.charCodeAt(0);return F(e)||t>2&&Ke(e)&&n.charCodeAt(1)===We&&F(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let t,e;for(let h=0;h0&&(t===void 0?t=e=o:t+=`\\${o}`)}if(t===void 0)return".";let i=!0,r=0;if(typeof e=="string"&&F(e.charCodeAt(0))){++r;const h=e.length;h>1&&F(e.charCodeAt(1))&&(++r,h>2&&(F(e.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(t=`\\${t.slice(r)}`)}return pt.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t)return"";const e=pt.resolve(n),i=pt.resolve(t);if(e===i||(n=e.toLowerCase(),t=i.toLowerCase(),n===t))return"";let r=0;for(;rr&&n.charCodeAt(h-1)===wt;)h--;const o=h-r;let a=0;for(;aa&&t.charCodeAt(u-1)===wt;)u--;const c=u-a,d=od){if(t.charCodeAt(a+T)===wt)return i.slice(a+T+1);if(T===2)return i.slice(a+T)}o>d&&(n.charCodeAt(r+T)===wt?f=T:T===2&&(f=3)),f===-1&&(f=0)}let C="";for(T=r+f+1;T<=h;++T)(T===h||n.charCodeAt(T)===wt)&&(C+=C.length===0?"..":"\\..");return a+=f,C.length>0?`${C}${i.slice(a,u)}`:(i.charCodeAt(a)===wt&&++a,i.slice(a,u))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";const t=pt.resolve(n);if(t.length<=2)return n;if(t.charCodeAt(0)===wt){if(t.charCodeAt(1)===wt){const e=t.charCodeAt(2);if(e!==du&&e!==me)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Ke(t.charCodeAt(0))&&t.charCodeAt(1)===We&&t.charCodeAt(2)===wt)return`\\\\?\\${t}`;return n},dirname(n){lt(n,"path");const t=n.length;if(t===0)return".";let e=-1,i=0;const r=n.charCodeAt(0);if(t===1)return F(r)?n:".";if(F(r)){if(e=i=1,F(n.charCodeAt(1))){let a=2,u=a;for(;a2&&F(n.charCodeAt(2))?3:2,i=e);let h=-1,o=!0;for(let a=t-1;a>=i;--a)if(F(n.charCodeAt(a))){if(!o){h=a;break}}else o=!1;if(h===-1){if(e===-1)return".";h=e}return n.slice(0,h)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let e=0,i=-1,r=!0,h;if(n.length>=2&&Ke(n.charCodeAt(0))&&n.charCodeAt(1)===We&&(e=2),t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=e;--h){const u=n.charCodeAt(h);if(F(u)){if(!r){e=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=h):(o=-1,i=a))}return e===i?i=a:i===-1&&(i=n.length),n.slice(e,i)}for(h=n.length-1;h>=e;--h)if(F(n.charCodeAt(h))){if(!r){e=h+1;break}}else i===-1&&(r=!1,i=h+1);return i===-1?"":n.slice(e,i)},extname(n){lt(n,"path");let t=0,e=-1,i=0,r=-1,h=!0,o=0;n.length>=2&&n.charCodeAt(1)===We&&Ke(n.charCodeAt(0))&&(t=i=2);for(let a=n.length-1;a>=t;--a){const u=n.charCodeAt(a);if(F(u)){if(!h){i=a+1;break}continue}r===-1&&(h=!1,r=a+1),u===me?e===-1?e=a:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||r===-1||o===0||o===1&&e===r-1&&e===i+1?"":n.slice(e,r)},format:Ur.bind(null,"\\"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const e=n.length;let i=0,r=n.charCodeAt(0);if(e===1)return F(r)?(t.root=t.dir=n,t):(t.base=t.name=n,t);if(F(r)){if(i=1,F(n.charCodeAt(1))){let f=2,T=f;for(;f0&&(t.root=n.slice(0,i));let h=-1,o=i,a=-1,u=!0,c=n.length-1,d=0;for(;c>=i;--c){if(r=n.charCodeAt(c),F(r)){if(!u){o=c+1;break}continue}a===-1&&(u=!1,a=c+1),r===me?h===-1?h=c:d!==1&&(d=1):h!==-1&&(d=-1)}return a!==-1&&(h===-1||d===0||d===1&&h===a-1&&h===o+1?t.base=t.name=n.slice(o,a):(t.name=n.slice(o,h),t.base=n.slice(o,a),t.ext=n.slice(h,a))),o>0&&o!==i?t.dir=n.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},Ut={resolve(...n){let t="",e=!1;for(let i=n.length-1;i>=-1&&!e;i--){const r=i>=0?n[i]:dn();lt(r,"path"),r.length!==0&&(t=`${r}/${t}`,e=r.charCodeAt(0)===_t)}return t=k0(t,!e,"/",En),e?`/${t}`:t.length>0?t:"."},normalize(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===_t,e=n.charCodeAt(n.length-1)===_t;return n=k0(n,!t,"/",En),n.length===0?t?"/":e?"./":".":(e&&(n+="/"),t?`/${n}`:n)},isAbsolute(n){return lt(n,"path"),n.length>0&&n.charCodeAt(0)===_t},join(...n){if(n.length===0)return".";let t;for(let e=0;e0&&(t===void 0?t=i:t+=`/${i}`)}return t===void 0?".":Ut.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t||(n=Ut.resolve(n),t=Ut.resolve(t),n===t))return"";const e=1,i=n.length,r=i-e,h=1,o=t.length-h,a=ra){if(t.charCodeAt(h+c)===_t)return t.slice(h+c+1);if(c===0)return t.slice(h+c)}else r>a&&(n.charCodeAt(e+c)===_t?u=c:c===0&&(u=0));let d="";for(c=e+u+1;c<=i;++c)(c===i||n.charCodeAt(c)===_t)&&(d+=d.length===0?"..":"/..");return`${d}${t.slice(h+u)}`},toNamespacedPath(n){return n},dirname(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===_t;let e=-1,i=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===_t){if(!i){e=r;break}}else i=!1;return e===-1?t?"/":".":t&&e===1?"//":n.slice(0,e)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let e=0,i=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=0;--h){const u=n.charCodeAt(h);if(u===_t){if(!r){e=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=h):(o=-1,i=a))}return e===i?i=a:i===-1&&(i=n.length),n.slice(e,i)}for(h=n.length-1;h>=0;--h)if(n.charCodeAt(h)===_t){if(!r){e=h+1;break}}else i===-1&&(r=!1,i=h+1);return i===-1?"":n.slice(e,i)},extname(n){lt(n,"path");let t=-1,e=0,i=-1,r=!0,h=0;for(let o=n.length-1;o>=0;--o){const a=n.charCodeAt(o);if(a===_t){if(!r){e=o+1;break}continue}i===-1&&(r=!1,i=o+1),a===me?t===-1?t=o:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||i===-1||h===0||h===1&&t===i-1&&t===e+1?"":n.slice(t,i)},format:Ur.bind(null,"/"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const e=n.charCodeAt(0)===_t;let i;e?(t.root="/",i=1):i=0;let r=-1,h=0,o=-1,a=!0,u=n.length-1,c=0;for(;u>=i;--u){const d=n.charCodeAt(u);if(d===_t){if(!a){h=u+1;break}continue}o===-1&&(a=!1,o=u+1),d===me?r===-1?r=u:c!==1&&(c=1):r!==-1&&(c=-1)}if(o!==-1){const d=h===0&&e?1:h;r===-1||c===0||c===1&&r===o-1&&r===h+1?t.base=t.name=n.slice(d,o):(t.name=n.slice(d,r),t.base=n.slice(d,o),t.ext=n.slice(r,o))}return h>0?t.dir=n.slice(0,h-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ut.win32=pt.win32=pt,Ut.posix=pt.posix=Ut,Qe==="win32"?pt.normalize:Ut.normalize,Qe==="win32"?pt.resolve:Ut.resolve,Qe==="win32"?pt.relative:Ut.relative,Qe==="win32"?pt.dirname:Ut.dirname,Qe==="win32"?pt.basename:Ut.basename,Qe==="win32"?pt.extname:Ut.extname,Qe==="win32"?pt.sep:Ut.sep;const Eu=/^\w[\w\d+.-]*$/,fu=/^\//,Ru=/^\/\//;function vr(n,t){if(!n.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!Eu.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!fu.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Ru.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Tu(n,t){return!n&&!t?"file":n}function Au(n,t){switch(n){case"https":case"http":case"file":t?t[0]!==Qt&&(t=Qt+t):t=Qt;break}return t}const et="",Qt="/",gu=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Xe{constructor(t,e,i,r,h,o=!1){typeof t=="object"?(this.scheme=t.scheme||et,this.authority=t.authority||et,this.path=t.path||et,this.query=t.query||et,this.fragment=t.fragment||et):(this.scheme=Tu(t,o),this.authority=e||et,this.path=Au(this.scheme,i||et),this.query=r||et,this.fragment=h||et,vr(this,o))}static isUri(t){return t instanceof Xe?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return fn(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:i,path:r,query:h,fragment:o}=t;return e===void 0?e=this.scheme:e===null&&(e=et),i===void 0?i=this.authority:i===null&&(i=et),r===void 0?r=this.path:r===null&&(r=et),h===void 0?h=this.query:h===null&&(h=et),o===void 0?o=this.fragment:o===null&&(o=et),e===this.scheme&&i===this.authority&&r===this.path&&h===this.query&&o===this.fragment?this:new N1(e,i,r,h,o)}static parse(t,e=!1){const i=gu.exec(t);return i?new N1(i[2]||et,y0(i[4]||et),y0(i[5]||et),y0(i[7]||et),y0(i[9]||et),e):new N1(et,et,et,et,et)}static file(t){let e=et;if(J1&&(t=t.replace(/\\/g,Qt)),t[0]===Qt&&t[1]===Qt){const i=t.indexOf(Qt,2);i===-1?(e=t.substring(2),t=Qt):(e=t.substring(2,i),t=t.substring(i)||Qt)}return new N1("file",e,t,et,et)}static from(t){const e=new N1(t.scheme,t.authority,t.path,t.query,t.fragment);return vr(e,!0),e}static joinPath(t,...e){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return J1&&t.scheme==="file"?i=Xe.file(pt.join(fn(t,!0),...e)).path:i=Ut.join(t.path,...e),t.with({path:i})}toString(t=!1){return Rn(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof Xe)return t;{const e=new N1(t);return e._formatted=t.external,e._fsPath=t._sep===Dr?t.fsPath:null,e}}else return t}}const Dr=J1?1:void 0;class N1 extends Xe{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=fn(this,!1)),this._fsPath}toString(t=!1){return t?Rn(this,!0):(this._formatted||(this._formatted=Rn(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Dr),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const br={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Ir(n,t){let e,i=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)i!==-1&&(e+=encodeURIComponent(n.substring(i,r)),i=-1),e!==void 0&&(e+=n.charAt(r));else{e===void 0&&(e=n.substr(0,r));const o=br[h];o!==void 0?(i!==-1&&(e+=encodeURIComponent(n.substring(i,r)),i=-1),e+=o):i===-1&&(i=r)}}return i!==-1&&(e+=encodeURIComponent(n.substring(i))),e!==void 0?e:n}function xu(n){let t;for(let e=0;e1&&n.scheme==="file"?e=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?t?e=n.path.substr(1):e=n.path[1].toLowerCase()+n.path.substr(2):e=n.path,J1&&(e=e.replace(/\//g,"\\")),e}function Rn(n,t){const e=t?xu:Ir;let i="",{scheme:r,authority:h,path:o,query:a,fragment:u}=n;if(r&&(i+=r,i+=":"),(h||r==="file")&&(i+=Qt,i+=Qt),h){let c=h.indexOf("@");if(c!==-1){const d=h.substr(0,c);h=h.substr(c+1),c=d.indexOf(":"),c===-1?i+=e(d,!1):(i+=e(d.substr(0,c),!1),i+=":",i+=e(d.substr(c+1),!1)),i+="@"}h=h.toLowerCase(),c=h.indexOf(":"),c===-1?i+=e(h,!1):(i+=e(h.substr(0,c),!1),i+=h.substr(c))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const c=o.charCodeAt(1);c>=65&&c<=90&&(o=`/${String.fromCharCode(c+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const c=o.charCodeAt(0);c>=65&&c<=90&&(o=`${String.fromCharCode(c+32)}:${o.substr(2)}`)}i+=e(o,!0)}return a&&(i+="?",i+=e(a,!1)),u&&(i+="#",i+=t?u:Ir(u,!1)),i}function Mr(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+Mr(n.substr(3)):n}}const Fr=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function y0(n){return n.match(Fr)?n.replace(Fr,t=>Mr(t)):n}class vt{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new vt(t,e)}delta(t=0,e=0){return this.with(this.lineNumber+t,this.column+e)}equals(t){return vt.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return vt.isBefore(this,t)}static isBefore(t,e){return t.lineNumberi||t===i&&e>r?(this.startLineNumber=i,this.startColumn=r,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=i,this.endColumn=r)}isEmpty(){return rt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return rt.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.columnt.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return rt.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumnt.endColumn)}strictContainsRange(t){return rt.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return rt.plusRange(this,t)}static plusRange(t,e){let i,r,h,o;return e.startLineNumbert.endLineNumber?(h=e.endLineNumber,o=e.endColumn):e.endLineNumber===t.endLineNumber?(h=e.endLineNumber,o=Math.max(e.endColumn,t.endColumn)):(h=t.endLineNumber,o=t.endColumn),new rt(i,r,h,o)}intersectRanges(t){return rt.intersectRanges(this,t)}static intersectRanges(t,e){let i=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,o=t.endColumn,a=e.startLineNumber,u=e.startColumn,c=e.endLineNumber,d=e.endColumn;return ic?(h=c,o=d):h===c&&(o=Math.min(o,d)),i>h||i===h&&r>o?null:new rt(i,r,h,o)}equalsRange(t){return rt.equalsRange(this,t)}static equalsRange(t,e){return!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return rt.getEndPosition(this)}static getEndPosition(t){return new vt(t.endLineNumber,t.endColumn)}getStartPosition(){return rt.getStartPosition(this)}static getStartPosition(t){return new vt(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new rt(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new rt(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return rt.collapseToStart(this)}static collapseToStart(t){return new rt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,e=t){return new rt(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new rt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumbert.startLineNumber}}const _u=3;function Hr(n,t,e,i){return new Le(n,t,e).ComputeDiff(i)}class Br{constructor(t){const e=[],i=[];for(let r=0,h=t.length;r0&&e.originalLength<20&&e.modifiedLength>0&&e.modifiedLength<20&&h()){const C=i.createCharSequence(t,e.originalStart,e.originalStart+e.originalLength-1),W=r.createCharSequence(t,e.modifiedStart,e.modifiedStart+e.modifiedLength-1);let S=Hr(C,W,h,!0).changes;a&&(S=Nu(S)),T=[];for(let p=0,U=S.length;p1&&S>1;){const p=T.charCodeAt(W-2),U=C.charCodeAt(S-2);if(p!==U)break;W--,S--}(W>1||S>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,W,o+1,1,S)}{let W=An(T,1),S=An(C,1);const p=T.length+1,U=C.length+1;for(;W!0;const t=Date.now();return()=>Date.now()-t255?255:n|0}function L1(n){return n<0?0:n>4294967295?4294967295:n|0}class mu{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,e){t=L1(t);const i=this.values,r=this.prefixSum,h=e.length;return h===0?!1:(this.values=new Uint32Array(i.length+h),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t),t+h),this.values.set(e,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,e){return t=L1(t),e=L1(e),this.values[t]===e?!1:(this.values[t]=e,t-1=i.length)return!1;let h=i.length-t;return e>=h&&(e=h),e===0?!1:(this.values=new Uint32Array(i.length-e),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t+e),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=L1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let e=this.prefixSumValidIndex[0]+1;e===0&&(this.prefixSum[0]=this.values[0],e++),t>=this.values.length&&(t=this.values.length-1);for(let i=e;i<=t;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let e=0,i=this.values.length-1,r=0,h=0,o=0;for(;e<=i;)if(r=e+(i-e)/2|0,h=this.prefixSum[r],o=h-this.values[r],t=h)e=r+1;else break;return new Wu(r,t-o)}}class Wu{constructor(t,e){this.index=t,this.remainder=e,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=e}}class Ku{constructor(t,e,i,r){this._uri=t,this._lines=e,this._eol=i,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const e=t.changes;for(const i of e)this._acceptDeleteRange(i.range),this._acceptInsertText(new vt(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,e=this._lines.length,i=new Uint32Array(e);for(let r=0;r/?";function pu(n=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const e of Su)n.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}const Ou=pu();function ku(n){let t=Ou;if(n&&n instanceof RegExp)if(n.global)t=n;else{let e="g";n.ignoreCase&&(e+="i"),n.multiline&&(e+="m"),n.unicode&&(e+="u"),t=new RegExp(n.source,e)}return t.lastIndex=0,t}const yu={maxLen:1e3,windowSize:15,timeBudget:150};function Gr(n,t,e,i,r=yu){if(e.length>r.maxLen){let c=n-r.maxLen/2;return c<0?c=0:i+=c,e=e.substring(c,n+r.maxLen/2),Gr(n,t,e,i,r)}const h=Date.now(),o=n-1-i;let a=-1,u=null;for(let c=1;!(Date.now()-h>=r.timeBudget);c++){const d=o-r.windowSize*c;t.lastIndex=Math.max(0,d);const f=wu(t,e,o,a);if(!f&&u||(u=f,d<=0))break;a=d}if(u){let c={word:u[0],startColumn:i+1+u.index,endColumn:i+1+u.index+u[0].length};return t.lastIndex=0,c}return null}function wu(n,t,e,i){let r;for(;r=n.exec(t);){const h=r.index||0;if(h<=e&&n.lastIndex>=e)return r;if(i>0&&h>i)return null}return null}class gn{constructor(t){let e=Pr(t);this._defaultValue=e,this._asciiMap=gn._createAsciiMap(e),this._map=new Map}static _createAsciiMap(t){let e=new Uint8Array(256);for(let i=0;i<256;i++)e[i]=t;return e}set(t,e){let i=Pr(e);t>=0&&t<256?this._asciiMap[t]=i:this._map.set(t,i)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class Uu{constructor(t,e,i){const r=new Uint8Array(t*e);for(let h=0,o=t*e;he&&(e=u),a>i&&(i=a),c>i&&(i=c)}e++,i++;let r=new Uu(i,e,0);for(let h=0,o=t.length;h=this._maxCharCode?0:this._states.get(t,e)}}let xn=null;function Du(){return xn===null&&(xn=new vu([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),xn}let es=null;function bu(){if(es===null){es=new gn(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let e=0;er);if(r>0){const a=e.charCodeAt(r-1),u=e.charCodeAt(o);(a===40&&u===41||a===91&&u===93||a===123&&u===125)&&o--}return{range:{startLineNumber:i,startColumn:r+1,endLineNumber:i,endColumn:o+2},url:e.substring(r,o+1)}}static computeLinks(t,e=Du()){const i=bu();let r=[];for(let h=1,o=t.getLineCount();h<=o;h++){const a=t.getLineContent(h),u=a.length;let c=0,d=0,f=0,T=1,C=!1,W=!1,S=!1,p=!1;for(;c=0?(r+=i?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}_n.INSTANCE=new _n;const Yr=Object.freeze(function(n,t){const e=setTimeout(n.bind(t),0);return{dispose(){clearTimeout(e)}}});var U0;(function(n){function t(e){return e===n.None||e===n.Cancelled||e instanceof v0?!0:!e||typeof e!="object"?!1:typeof e.isCancellationRequested=="boolean"&&typeof e.onCancellationRequested=="function"}n.isCancellationToken=t,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:un.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Yr})})(U0||(U0={}));class v0{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Yr:(this._emitter||(this._emitter=new Ce),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Mu{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new v0),this._token}cancel(){this._token?this._token instanceof v0&&this._token.cancel():this._token=U0.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof v0&&this._token.dispose():this._token=U0.None}}class Cn{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const D0=new Cn,Nn=new Cn,Ln=new Cn,Fu=new Array(230),Hu=Object.create(null),Bu=Object.create(null);(function(){const n="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[0,1,1,"Hyper",0,n,0,n,n,n],[0,1,2,"Super",0,n,0,n,n,n],[0,1,3,"Fn",0,n,0,n,n,n],[0,1,4,"FnLock",0,n,0,n,n,n],[0,1,5,"Suspend",0,n,0,n,n,n],[0,1,6,"Resume",0,n,0,n,n,n],[0,1,7,"Turbo",0,n,0,n,n,n],[0,1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[0,1,9,"WakeUp",0,n,0,n,n,n],[31,0,10,"KeyA",31,"A",65,"VK_A",n,n],[32,0,11,"KeyB",32,"B",66,"VK_B",n,n],[33,0,12,"KeyC",33,"C",67,"VK_C",n,n],[34,0,13,"KeyD",34,"D",68,"VK_D",n,n],[35,0,14,"KeyE",35,"E",69,"VK_E",n,n],[36,0,15,"KeyF",36,"F",70,"VK_F",n,n],[37,0,16,"KeyG",37,"G",71,"VK_G",n,n],[38,0,17,"KeyH",38,"H",72,"VK_H",n,n],[39,0,18,"KeyI",39,"I",73,"VK_I",n,n],[40,0,19,"KeyJ",40,"J",74,"VK_J",n,n],[41,0,20,"KeyK",41,"K",75,"VK_K",n,n],[42,0,21,"KeyL",42,"L",76,"VK_L",n,n],[43,0,22,"KeyM",43,"M",77,"VK_M",n,n],[44,0,23,"KeyN",44,"N",78,"VK_N",n,n],[45,0,24,"KeyO",45,"O",79,"VK_O",n,n],[46,0,25,"KeyP",46,"P",80,"VK_P",n,n],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[48,0,27,"KeyR",48,"R",82,"VK_R",n,n],[49,0,28,"KeyS",49,"S",83,"VK_S",n,n],[50,0,29,"KeyT",50,"T",84,"VK_T",n,n],[51,0,30,"KeyU",51,"U",85,"VK_U",n,n],[52,0,31,"KeyV",52,"V",86,"VK_V",n,n],[53,0,32,"KeyW",53,"W",87,"VK_W",n,n],[54,0,33,"KeyX",54,"X",88,"VK_X",n,n],[55,0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[22,0,36,"Digit1",22,"1",49,"VK_1",n,n],[23,0,37,"Digit2",23,"2",50,"VK_2",n,n],[24,0,38,"Digit3",24,"3",51,"VK_3",n,n],[25,0,39,"Digit4",25,"4",52,"VK_4",n,n],[26,0,40,"Digit5",26,"5",53,"VK_5",n,n],[27,0,41,"Digit6",27,"6",54,"VK_6",n,n],[28,0,42,"Digit7",28,"7",55,"VK_7",n,n],[29,0,43,"Digit8",29,"8",56,"VK_8",n,n],[30,0,44,"Digit9",30,"9",57,"VK_9",n,n],[21,0,45,"Digit0",21,"0",48,"VK_0",n,n],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[10,1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,n,0,n,n,n],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[59,1,64,"F1",59,"F1",112,"VK_F1",n,n],[60,1,65,"F2",60,"F2",113,"VK_F2",n,n],[61,1,66,"F3",61,"F3",114,"VK_F3",n,n],[62,1,67,"F4",62,"F4",115,"VK_F4",n,n],[63,1,68,"F5",63,"F5",116,"VK_F5",n,n],[64,1,69,"F6",64,"F6",117,"VK_F6",n,n],[65,1,70,"F7",65,"F7",118,"VK_F7",n,n],[66,1,71,"F8",66,"F8",119,"VK_F8",n,n],[67,1,72,"F9",67,"F9",120,"VK_F9",n,n],[68,1,73,"F10",68,"F10",121,"VK_F10",n,n],[69,1,74,"F11",69,"F11",122,"VK_F11",n,n],[70,1,75,"F12",70,"F12",123,"VK_F12",n,n],[0,1,76,"PrintScreen",0,n,0,n,n,n],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",n,n],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[14,1,80,"Home",14,"Home",36,"VK_HOME",n,n],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[13,1,83,"End",13,"End",35,"VK_END",n,n],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",n,n],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",n,n],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",n,n],[3,1,94,"NumpadEnter",3,n,0,n,n,n],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",n,n],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",n,n],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",n,n],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",n,n],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",n,n],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",n,n],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",n,n],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",n,n],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",n,n],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",n,n],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",n,n],[58,1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[0,1,108,"Power",0,n,0,n,n,n],[0,1,109,"NumpadEqual",0,n,0,n,n,n],[71,1,110,"F13",71,"F13",124,"VK_F13",n,n],[72,1,111,"F14",72,"F14",125,"VK_F14",n,n],[73,1,112,"F15",73,"F15",126,"VK_F15",n,n],[74,1,113,"F16",74,"F16",127,"VK_F16",n,n],[75,1,114,"F17",75,"F17",128,"VK_F17",n,n],[76,1,115,"F18",76,"F18",129,"VK_F18",n,n],[77,1,116,"F19",77,"F19",130,"VK_F19",n,n],[0,1,117,"F20",0,n,0,"VK_F20",n,n],[0,1,118,"F21",0,n,0,"VK_F21",n,n],[0,1,119,"F22",0,n,0,"VK_F22",n,n],[0,1,120,"F23",0,n,0,"VK_F23",n,n],[0,1,121,"F24",0,n,0,"VK_F24",n,n],[0,1,122,"Open",0,n,0,n,n,n],[0,1,123,"Help",0,n,0,n,n,n],[0,1,124,"Select",0,n,0,n,n,n],[0,1,125,"Again",0,n,0,n,n,n],[0,1,126,"Undo",0,n,0,n,n,n],[0,1,127,"Cut",0,n,0,n,n,n],[0,1,128,"Copy",0,n,0,n,n,n],[0,1,129,"Paste",0,n,0,n,n,n],[0,1,130,"Find",0,n,0,n,n,n],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",n,n],[0,1,136,"KanaMode",0,n,0,n,n,n],[0,0,137,"IntlYen",0,n,0,n,n,n],[0,1,138,"Convert",0,n,0,n,n,n],[0,1,139,"NonConvert",0,n,0,n,n,n],[0,1,140,"Lang1",0,n,0,n,n,n],[0,1,141,"Lang2",0,n,0,n,n,n],[0,1,142,"Lang3",0,n,0,n,n,n],[0,1,143,"Lang4",0,n,0,n,n,n],[0,1,144,"Lang5",0,n,0,n,n,n],[0,1,145,"Abort",0,n,0,n,n,n],[0,1,146,"Props",0,n,0,n,n,n],[0,1,147,"NumpadParenLeft",0,n,0,n,n,n],[0,1,148,"NumpadParenRight",0,n,0,n,n,n],[0,1,149,"NumpadBackspace",0,n,0,n,n,n],[0,1,150,"NumpadMemoryStore",0,n,0,n,n,n],[0,1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[0,1,152,"NumpadMemoryClear",0,n,0,n,n,n],[0,1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[0,1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[0,1,155,"NumpadClear",0,n,0,n,n,n],[0,1,156,"NumpadClearEntry",0,n,0,n,n,n],[5,1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[4,1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[6,1,0,n,6,"Alt",18,"VK_MENU",n,n],[57,1,0,n,57,"Meta",0,"VK_COMMAND",n,n],[5,1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[4,1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[6,1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[57,1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[5,1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[4,1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[6,1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[57,1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[0,1,165,"BrightnessUp",0,n,0,n,n,n],[0,1,166,"BrightnessDown",0,n,0,n,n,n],[0,1,167,"MediaPlay",0,n,0,n,n,n],[0,1,168,"MediaRecord",0,n,0,n,n,n],[0,1,169,"MediaFastForward",0,n,0,n,n,n],[0,1,170,"MediaRewind",0,n,0,n,n,n],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",n,n],[0,1,174,"Eject",0,n,0,n,n,n],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[0,1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[0,1,180,"SelectTask",0,n,0,n,n,n],[0,1,181,"LaunchScreenSaver",0,n,0,n,n,n],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[0,1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[0,1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[0,1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[0,1,189,"ZoomToggle",0,n,0,n,n,n],[0,1,190,"MailReply",0,n,0,n,n,n],[0,1,191,"MailForward",0,n,0,n,n,n],[0,1,192,"MailSend",0,n,0,n,n,n],[109,1,0,n,109,"KeyInComposition",229,n,n,n],[111,1,0,n,111,"ABNT_C2",194,"VK_ABNT_C2",n,n],[91,1,0,n,91,"OEM_8",223,"VK_OEM_8",n,n],[0,1,0,n,0,n,0,"VK_CLEAR",n,n],[0,1,0,n,0,n,0,"VK_KANA",n,n],[0,1,0,n,0,n,0,"VK_HANGUL",n,n],[0,1,0,n,0,n,0,"VK_JUNJA",n,n],[0,1,0,n,0,n,0,"VK_FINAL",n,n],[0,1,0,n,0,n,0,"VK_HANJA",n,n],[0,1,0,n,0,n,0,"VK_KANJI",n,n],[0,1,0,n,0,n,0,"VK_CONVERT",n,n],[0,1,0,n,0,n,0,"VK_NONCONVERT",n,n],[0,1,0,n,0,n,0,"VK_ACCEPT",n,n],[0,1,0,n,0,n,0,"VK_MODECHANGE",n,n],[0,1,0,n,0,n,0,"VK_SELECT",n,n],[0,1,0,n,0,n,0,"VK_PRINT",n,n],[0,1,0,n,0,n,0,"VK_EXECUTE",n,n],[0,1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[0,1,0,n,0,n,0,"VK_HELP",n,n],[0,1,0,n,0,n,0,"VK_APPS",n,n],[0,1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[0,1,0,n,0,n,0,"VK_PACKET",n,n],[0,1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_ATTN",n,n],[0,1,0,n,0,n,0,"VK_CRSEL",n,n],[0,1,0,n,0,n,0,"VK_EXSEL",n,n],[0,1,0,n,0,n,0,"VK_EREOF",n,n],[0,1,0,n,0,n,0,"VK_PLAY",n,n],[0,1,0,n,0,n,0,"VK_ZOOM",n,n],[0,1,0,n,0,n,0,"VK_NONAME",n,n],[0,1,0,n,0,n,0,"VK_PA1",n,n],[0,1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]];let e=[],i=[];for(const r of t){const[h,o,a,u,c,d,f,T,C,W]=r;if(i[a]||(i[a]=!0,Hu[u]=a,Bu[u.toLowerCase()]=a),!e[c]){if(e[c]=!0,!d)throw new Error(`String representation missing for key code ${c} around scan code ${u}`);D0.define(c,d),Nn.define(c,C||d),Ln.define(c,W||C||d)}f&&(Fu[f]=c)}})();var Qr;(function(n){function t(a){return D0.keyCodeToStr(a)}n.toString=t;function e(a){return D0.strToKeyCode(a)}n.fromString=e;function i(a){return Nn.keyCodeToStr(a)}n.toUserSettingsUS=i;function r(a){return Ln.keyCodeToStr(a)}n.toUserSettingsGeneral=r;function h(a){return Nn.strToKeyCode(a)||Ln.strToKeyCode(a)}n.fromUserSettings=h;function o(a){if(a>=93&&a<=108)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return D0.keyCodeToStr(a)}n.toElectronAccelerator=o})(Qr||(Qr={}));function Vu(n,t){const e=(t&65535)<<16>>>0;return(n|e)>>>0}class bt extends rt{constructor(t,e,i,r){super(t,e,i,r),this.selectionStartLineNumber=t,this.selectionStartColumn=e,this.positionLineNumber=i,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return bt.selectionsEqual(this,t)}static selectionsEqual(t,e){return t.selectionStartLineNumber===e.selectionStartLineNumber&&t.selectionStartColumn===e.selectionStartColumn&&t.positionLineNumber===e.positionLineNumber&&t.positionColumn===e.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,e){return this.getDirection()===0?new bt(this.startLineNumber,this.startColumn,t,e):new bt(t,e,this.startLineNumber,this.startColumn)}getPosition(){return new vt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new vt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,e){return this.getDirection()===0?new bt(t,e,this.endLineNumber,this.endColumn):new bt(this.endLineNumber,this.endColumn,t,e)}static fromPositions(t,e=t){return new bt(t.lineNumber,t.column,e.lineNumber,e.column)}static fromRange(t,e){return e===0?new bt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new bt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new bt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,e){if(t&&!e||!t&&e)return!1;if(!t&&!e)return!0;if(t.length!==e.length)return!1;for(let i=0,r=t.length;i0){const o=t.charCodeAt(i);if(n.get(o)!==0)return!0}return!1}function Qu(n,t,e,i,r){if(i+r===e)return!0;const h=t.charCodeAt(i+r);if(n.get(h)!==0||h===13||h===10)return!0;if(r>0){const o=t.charCodeAt(i+r-1);if(n.get(o)!==0)return!0}return!1}function Xu(n,t,e,i,r){return Yu(n,t,e,i,r)&&Qu(n,t,e,i,r)}class $u{constructor(t,e){this._wordSeparators=t,this._searchRegex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const e=t.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===e||(i=this._searchRegex.exec(t),!i))return null;const r=i.index,h=i[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){za(t,e,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||Xu(this._wordSeparators,t,e,r,h))return i}while(i);return null}}class ju{static computeUnicodeHighlights(t,e,i){const r=i?i.startLineNumber:1,h=i?i.endLineNumber:t.getLineCount(),o=new S2(e),a=o.getCandidateCodePoints();let u;a==="allNonBasicAscii"?u=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):u=new RegExp(`${zu(Array.from(a))}`,"g");const c=new $u(null,u),d=[];let f=!1,T,C=0,W=0,S=0;t:for(let p=r,U=h;p<=U;p++){const _=t.getLineContent(p),x=_.length;c.reset(0);do if(T=c.next(_),T){let m=T.index,K=T.index+T[0].length;if(m>0){const O=_.charCodeAt(m-1);ln(O)&&m--}if(K+1=O){f=!0;break t}d.push(new rt(p,m+1,p,K+1))}}while(T)}return{ranges:d,hasMore:f,ambiguousCharacterCount:C,invisibleCharacterCount:W,nonBasicAsciiCharacterCount:S}}static computeUnicodeHighlightReason(t,e){switch(new S2(e).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=Yt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function zu(n,t){return`[${Ga(n.map(i=>String.fromCodePoint(i)).join(""))}]`}class S2{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const e of Ye.codePoints)t.add(e);if(this.options.ambiguousCharacters)for(const e of Yt.getPrimaryConfusableCodePoints())t.add(e);for(const e of this.allowedCodePoints)t.delete(e);return t}shouldHighlightNonBasicASCII(t){const e=t.codePointAt(0);return this.allowedCodePoints.has(e)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` -`||t===" ")&&Ye.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&Yt.isAmbiguous(e)?3:0}}var $e=function(n,t,e,i){function r(h){return h instanceof e?h:new e(function(o){o(h)})}return new(e||(e=Promise))(function(h,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function u(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?h(d.value):r(d.value).then(a,u)}c((i=i.apply(n,t||[])).next())})};class Zu extends Ku{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,e){let i=Gr(t.column,ku(e),this._lines[t.lineNumber-1],0);return i?new rt(t.lineNumber,i.startColumn,t.lineNumber,i.endColumn):null}words(t){const e=this._lines,i=this._wordenize.bind(this);let r=0,h="",o=0,a=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)e=this._lines.length,i=this._lines[e-1].length+1,r=!0;else{let h=this._lines[e-1].length+1;i<1?(i=1,r=!0):i>h&&(i=h,r=!0)}return r?{lineNumber:e,column:i}:t}}class m1{constructor(t,e){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=e,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(e=>t.push(this._models[e])),t}acceptNewModel(t){this._models[t.url]=new Zu(Xe.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,e){if(!this._models[t])return;this._models[t].onEvents(e)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,e,i){return $e(this,void 0,void 0,function*(){const r=this._getModel(t);return r?ju.computeUnicodeHighlights(r,e,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,e,i,r){return $e(this,void 0,void 0,function*(){const h=this._getModel(t),o=this._getModel(e);if(!h||!o)return null;const a=h.getLinesContent(),u=o.getLinesContent(),d=new Lu(a,u,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:i,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),f=d.changes.length>0?!1:this._modelsAreIdentical(h,o);return{quitEarly:d.quitEarly,identical:f,changes:d.changes}})}_modelsAreIdentical(t,e){const i=t.getLineCount(),r=e.getLineCount();if(i!==r)return!1;for(let h=1;h<=i;h++){const o=t.getLineContent(h),a=e.getLineContent(h);if(o!==a)return!1}return!0}computeMoreMinimalEdits(t,e){return $e(this,void 0,void 0,function*(){const i=this._getModel(t);if(!i)return e;const r=[];let h;e=e.slice(0).sort((o,a)=>{if(o.range&&a.range)return rt.compareRangesUsingStarts(o.range,a.range);let u=o.range?0:1,c=a.range?0:1;return u-c});for(let{range:o,text:a,eol:u}of e){if(typeof u=="number"&&(h=u),rt.isEmpty(o)&&!a)continue;const c=i.getValueInRange(o);if(a=a.replace(/\r\n|\n|\r/g,i.eol),c===a)continue;if(Math.max(a.length,c.length)>m1._diffLimit){r.push({range:o,text:a});continue}const d=hu(c,a,!1),f=i.offsetAt(rt.lift(o).getStartPosition());for(const T of d){const C=i.positionAt(f+T.originalStart),W=i.positionAt(f+T.originalStart+T.originalLength),S={text:a.substr(T.modifiedStart,T.modifiedLength),range:{startLineNumber:C.lineNumber,startColumn:C.column,endLineNumber:W.lineNumber,endColumn:W.column}};i.getValueInRange(S.range)!==S.text&&r.push(S)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return $e(this,void 0,void 0,function*(){let e=this._getModel(t);return e?Iu(e):null})}textualSuggest(t,e,i,r){return $e(this,void 0,void 0,function*(){const h=new p0(!0),o=new RegExp(i,r),a=new Set;t:for(let u of t){const c=this._getModel(u);if(c){for(let d of c.words(o))if(!(d===e||!isNaN(Number(d)))&&(a.add(d),a.size>m1._suggestionsLimit))break t}}return{words:Array.from(a),duration:h.elapsed()}})}computeWordRanges(t,e,i,r){return $e(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const o=new RegExp(i,r),a=Object.create(null);for(let u=e.startLineNumber;uthis._host.fhr(a,u)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,e),Promise.resolve(cn(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,e){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,e))}catch(i){return Promise.reject(i)}}}m1._diffLimit=1e5,m1._suggestionsLimit=1e4,typeof importScripts=="function"&&(Nt.monaco=Gu());let pn=!1;function p2(n){if(pn)return;pn=!0;const t=new nu(e=>{self.postMessage(e)},e=>new m1(e,n));self.onmessage=e=>{t.onmessage(e.data)}}self.onmessage=n=>{pn||p2(null)};var Ju=Object.defineProperty,g=(n,t)=>Ju(n,"name",{value:t,configurable:!0}),Se=(w1=class{constructor(t){l(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},g(w1,"Transition"),l(w1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),w1),On=(xs=class extends Se{constructor(t){super(t)}},g(xs,"AbstractPredicateTransition"),xs),k={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},O2=(_s=class extends Se{constructor(e,i,r,h){super(e);l(this,"ruleIndex");l(this,"actionIndex");l(this,"isCtxDependent");this.ruleIndex=i,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return k.ACTION}matches(e,i,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},g(_s,"ActionTransition"),_s),X=(Ae=class{constructor(t){l(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Ae.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},g(Ae,"PredictionContext"),l(Ae,"EMPTY_RETURN_STATE",2147483647),l(Ae,"EMPTY"),l(Ae,"trace_atn_sim",!1),Ae),k2=3432918353,y2=461845907,b0=15,I0=13,w2=5,U2=3864292196,ie=(o1=class{constructor(){l(this,"count");l(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const e=new o1;return e.update(t),e.finish()}static hashString(t=0,e){let i=3735928559^t,r=1103547991^t;for(const h of e){const o=h.charCodeAt(0);i=Math.imul(i^o,2654435761),r=Math.imul(r^o,1597334677)}return i=Math.imul(i^i>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),Math.imul(4294967296,2097151&r)+(i>>>0)}update(...t){for(const e of t)if(e!=null)if(Array.isArray(e))this.update(...e);else{let i=0;switch(typeof e){case"undefined":case"function":continue;case"number":{i=e;break}case"boolean":{i=e?1237:4327;break}case"string":{i=o1.hashString(this.hash,e);break}default:{e.updateHashCode(this);continue}}this.count=this.count+1,i=Math.imul(i,k2),i=i<>>32-b0,i=Math.imul(i,y2);let r=this.hash^i;r=r<>>32-I0,this.hash=Math.imul(r,w2)+U2}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,k2),t=t<>>32-b0,t=Math.imul(t,y2);let e=this.hash^t;e=e<>>32-I0,this.hash=Math.imul(e,w2)+U2}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},g(o1,"HashCode"),o1),qu=g(n=>typeof n.equals=="function","isComparable"),tc=g(n=>n===null?"null":n,"valueToString"),je=g(n=>Array.isArray(n)?"["+n.map(tc).join(", ")+"]":"null","arrayToString"),is=g((n,t)=>{if(n===t)return!0;if(n.length!==t.length)return!1;for(let e=0;e(n=n.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(n=n.replace(/ /g,"·")),n),"escapeWhitespace"),v2=g((n,t)=>n?n.equals(t):n===t,"standardEqualsFunction"),sc=Math.round(Math.random()*Math.pow(2,32)),ic=g(n=>{let t,e;const i=n.length&3,r=n.length-i;let h=sc;const o=3432918353,a=461845907;let u=0;for(;u>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*a+(((e>>>16)*a&65535)<<16)&4294967295,h^=e,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(e=0,i){case 3:e^=(n.charCodeAt(u+2)&255)<<16;case 2:e^=(n.charCodeAt(u+1)&255)<<8;case 1:e^=n.charCodeAt(u)&255,e=(e&65535)*o+(((e>>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*a+(((e>>>16)*a&65535)<<16)&4294967295,h^=e}return h^=n.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),D2=g(n=>n?typeof n=="string"?ic(n):n.hashCode():-1,"standardHashCodeFunction"),pe=(U1=class extends X{constructor(e,i){const r=new ie;r.update(e,i);const h=r.finish();super(h);l(this,"parents",[]);l(this,"returnStates",[]);return this.parents=e,this.returnStates=i,this}isEmpty(){return this.returnStates[0]===X.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(e){return this===e?!0:!(e instanceof U1)||this.hashCode()!==e.hashCode()?!1:is(this.returnStates,e.returnStates)&&is(this.parents,e.parents)}toString(){if(this.isEmpty())return"[]";{let e="[";for(let i=0;i0&&(e=e+", "),this.returnStates[i]===X.EMPTY_RETURN_STATE){e=e+"$";continue}e=e+this.returnStates[i],this.parents[i]!==null?e=e+" "+this.parents[i]:e=e+"null"}return e+"]"}}get length(){return this.returnStates.length}},g(U1,"ArrayPredictionContext"),U1),M0;(n=>{n.EOF=-1,n.UNKNOWN_SOURCE_NAME=""})(M0||(M0={}));var N;(n=>{n.INVALID_TYPE=0,n.EPSILON=-2,n.MIN_USER_TOKEN_TYPE=1,n.EOF=M0.EOF,n.DEFAULT_CHANNEL=0,n.HIDDEN_CHANNEL=1,n.MIN_USER_CHANNEL_VALUE=2})(N||(N={}));var nc=g(n=>{const t=n;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),Ht=(Cs=class{constructor(t,e){l(this,"data");l(this,"hashFunction");l(this,"equalsFunction");this.data={},this.hashFunction=t??D2,this.equalsFunction=e??v2}add(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const r of i)if(this.equalsFunction(t,r))return r;return i.push(t),t}else return this.data[e]=[t],t}has(t){return this.get(t)!=null}get(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const r of i)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return je(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},g(Cs,"HashSet"),Cs),st=(qt=class{static andContext(t,e){if(t===null||t===qt.NONE)return e;if(e===null||e===qt.NONE)return t;const i=new rc(t,e);return i.opnds.length===1?i.opnds[0]:i}static orContext(t,e){if(t===null)return e;if(e===null)return t;if(t===qt.NONE||e===qt.NONE)return qt.NONE;const i=new hc(t,e);return i.opnds.length===1?i.opnds[0]:i}static filterPrecedencePredicates(t){const e=[];return t.values().forEach(i=>{i instanceof qt.PrecedencePredicate&&e.push(i)}),e}hashCode(){const t=new ie;return this.updateHashCode(t),t.finish()}evalPrecedence(t,e){return this}},g(qt,"SemanticContext"),qt),rc=(ve=class extends st{constructor(e,i){super();l(this,"opnds");const r=new Ht;e instanceof ve?e.opnds.forEach(o=>{r.add(o)}):r.add(e),i instanceof ve?i.opnds.forEach(o=>{r.add(o)}):r.add(i);const h=st.filterPrecedencePredicates(r);if(h.length>0){let o=null;h.forEach(a=>{(o===null||a.precedence{o=o===null?a:st.andContext(o,a)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("&&")}},g(ve,"AND"),ve),hc=(De=class extends st{constructor(e,i){super();l(this,"opnds");const r=new Ht;e instanceof De?e.opnds.forEach(o=>{r.add(o)}):r.add(e),i instanceof De?i.opnds.forEach(o=>{r.add(o)}):r.add(i);const h=st.filterPrecedencePredicates(r);if(h.length>0){const o=h.sort((u,c)=>u.compareTo(c)),a=o[o.length-1];r.add(a)}this.opnds=Array.from(r.values())}equals(e){return this===e?!0:e instanceof De?is(this.opnds,e.opnds):!1}updateHashCode(e){e.update(this.opnds),e.updateWithHashCode(3383313031)}evaluate(e,i){for(const r of this.opnds)if(r.evaluate(e,i))return!0;return!1}evalPrecedence(e,i){let r=!1;const h=[];for(const a of this.opnds){const u=a.evalPrecedence(e,i);if(r||(r=u!==a),u===st.NONE)return st.NONE;u!==null&&h.push(u)}if(!r)return this;if(h.length===0)return null;let o=null;return h.forEach(a=>{o=o===null?a:st.orContext(o,a)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("||")}},g(De,"OR"),De);(n=>{const i=class i extends n{constructor(a,u,c){super();l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=a??-1,this.predIndex=u??-1,this.isCtxDependent=c??!1}evaluate(a,u){const c=this.isCtxDependent?u:null;return a.sempred(c,this.ruleIndex,this.predIndex)}updateHashCode(a){a.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(a){return this===a?!0:a instanceof i?this.ruleIndex===a.ruleIndex&&this.predIndex===a.predIndex&&this.isCtxDependent===a.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};g(i,"Predicate");let t=i;n.Predicate=t;const r=class r extends n{constructor(a){super();l(this,"precedence");this.precedence=a??0}evaluate(a,u){return a.precpred(u,this.precedence)}evalPrecedence(a,u){return a.precpred(u,this.precedence)?n.NONE:null}compareTo(a){return this.precedence-a.precedence}updateHashCode(a){a.update(this.precedence)}equals(a){return this===a?!0:a instanceof r?this.precedence===a.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};g(r,"PrecedencePredicate");let e=r;n.PrecedencePredicate=e,n.NONE=new t})(st||(st={}));var oc=g(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),ac=g(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:n.reachesIntoOuterContext??0,precedenceFilterSuppressed:n.precedenceFilterSuppressed??!1},"checkConfig"),Tt=(a1=class{constructor(t,e){l(this,"state");l(this,"alt");l(this,"context");l(this,"reachesIntoOuterContext");l(this,"precedenceFilterSuppressed",!1);l(this,"semanticContext");this.checkContext(t,e);const i=oc(t),r=ac(e);this.state=i.state??r.state,this.alt=i.alt??r.alt??0,this.context=i.context??r.context,this.semanticContext=i.semanticContext??r.semanticContext??st.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new ie;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof a1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new ie;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof a1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,e=!0){let i="";return e&&(i=","+this.alt),"("+this.state+i+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==st.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,e){(t.context===null||t.context===void 0)&&(e===null||e.context===null||e.context===void 0)&&(this.context=null)}},g(a1,"ATNConfig"),a1),$=(ct=class{constructor(t,e){l(this,"start");l(this,"stop");this.start=t,this.stop=e}static of(t,e){return t!==e||t<0||t>ct.INTERVAL_POOL_MAX_VALUE?new ct(t,e):(ct.cache[t]===null&&(ct.cache[t]=new ct(t,t)),ct.cache[t])}equals(t){return t instanceof ct?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return ct.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return ct.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let e=null;return t.startsBeforeNonDisjoint(this)?e=ct.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(e=ct.of(this.start,t.start-1)),e}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{a.syntaxError(t,e,i,r,h,o)})}reportAmbiguity(t,e,i,r,h,o,a){this.delegates.forEach(u=>{u.reportAmbiguity(t,e,i,r,h,o,a)})}reportAttemptingFullContext(t,e,i,r,h,o){this.delegates.forEach(a=>{a.reportAttemptingFullContext(t,e,i,r,h,o)})}reportContextSensitivity(t,e,i,r,h,o){this.delegates.forEach(a=>{a.reportContextSensitivity(t,e,i,r,h,o)})}},g(Ls,"ProxyErrorListener"),Ls),b2=(Pt=class{constructor(){l(this,"interpreter");Z(this,le,[uc.INSTANCE]);Z(this,ms,-1)}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){L(this,le).push(t)}removeErrorListeners(){Q(this,le,[])}removeErrorListener(t){for(let e=0;ee.set(i,r)),Pt.ruleIndexMapCache.set(t,e)),e}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||N.INVALID_TYPE}getErrorHeader(t){var r,h;const e=(r=t.offendingToken)==null?void 0:r.line,i=(h=t.offendingToken)==null?void 0:h.column;return"line "+e+":"+i}getErrorListenerDispatch(){return new cc(L(this,le))}sempred(t,e,i){return!0}precpred(t,e){return!0}action(t,e,i){}get atn(){return this.interpreter.atn}get state(){return L(this,ms)}set state(t){Q(this,ms,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},le=new WeakMap,ms=new WeakMap,g(Pt,"Recognizer"),l(Pt,"EOF",-1),l(Pt,"tokenTypeMapCache",new Map),l(Pt,"ruleIndexMapCache",new Map),Pt),lc=(be=class{constructor(t,e,i,r,h){l(this,"source");l(this,"tokenIndex",-1);l(this,"start",0);l(this,"stop",0);l(this,"type",0);l(this,"line",0);l(this,"column",-1);l(this,"channel",N.DEFAULT_CHANNEL);Z(this,de,null);this.source=t,this.type=e,this.channel=i??N.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new be(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Q(t,de,L(this,de)),t}cloneWithType(t){const e=new be(this.source,t,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,t===N.EOF&&Q(e,de,""),e}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let i=this.text;i?(i=i.replace(/\n/g,"\\n"),i=i.replace(/\r/g,"\\r"),i=i.replace(/\t/g,"\\t")):i="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+i+"',<"+r+">"+e+","+this.line+":"+this.column+"]"}get text(){if(L(this,de)!==null)return L(this,de);const t=this.inputStream;if(t===null)return null;const e=t.size;return this.start"}set text(t){Q(this,de,t)}setText(t){Q(this,de,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},de=new WeakMap,g(be,"CommonToken"),l(be,"EMPTY_SOURCE",[null,null]),be),dc=(c1=class{constructor(t){l(this,"copyText",!1);this.copyText=t??!1}create(t,e,i,r,h,o,a,u){const c=new lc(t,e,r,h,o);return c.line=a,c.column=u,i!==null?c.text=i:this.copyText&&t[1]!==null&&(c.text=t[1].getText(h,o)),c}},g(c1,"CommonTokenFactory"),l(c1,"DEFAULT",new c1),c1),A=(v1=class extends Error{constructor(e){super(e.message);l(this,"ctx");l(this,"offendingToken",null);l(this,"offendingState",-1);l(this,"recognizer");l(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,v1),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},g(v1,"RecognitionException"),v1),H0=(Ws=class extends A{constructor(e,i,r,h){super({message:"",recognizer:e,input:i,ctx:null});l(this,"startIndex");l(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let e="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(e=>"{"+e.key+":"+e.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},g(Ks,"HashMap"),Ks),fe=(Ss=class{constructor(t){l(this,"parent",null);l(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return $.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new $(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,e;return((t=this.symbol)==null?void 0:t.type)===N.EOF?"":((e=this.symbol)==null?void 0:e.text)??""}toStringTree(){return this.toString()}},g(Ss,"TerminalNode"),Ss),ns=(ps=class extends fe{accept(t){return t.visitErrorNode(this)}},g(ps,"ErrorNode"),ps),Oe=(Mt=class{static toStringTree(t,e,i){e=e??null,i=i??null,i!==null&&(e=i.ruleNames);let r=Mt.getNodeText(t,e);r=ec(r,!1);const h=t.getChildCount();if(h===0)return r;let o="("+r+" ";h>0&&(r=Mt.toStringTree(t.getChild(0),e),o=o.concat(r));for(let a=1;at.getText()).join("")}getAltNumber(){return I.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?Oe.toStringTree(this,null,t[0]):Oe.toStringTree(this,t[0],t[1])}toString(t,e){t=t??null,e=e??null;let i=this,r="[";for(;i!==null&&i!==e;){if(t===null)i.isEmpty()||(r+=i.invokingState);else{const h=i.ruleIndex,o=h>=0&&h{super(...bl);l(this,"start",null);l(this,"stop",null);l(this,"exception",null)};e?t(e,i):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(e){super.parent=e}copyFrom(e){this.parent=e.parent,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.forEach(i=>{i instanceof ns&&(this.children.push(i),i.parent=this)},this))}enterRule(e){}exitRule(e){}addAnyChild(e){return this.children==null&&(this.children=[]),this.children.push(e),e}addChild(e){return this.addAnyChild(e)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const i=new fe(e);return this.addAnyChild(i),i.parent=this,i}addErrorNode(e){return e.parent=this,this.addAnyChild(e)}getChild(e,i){if(this.children===null||e<0||e>=this.children.length)return null;if(i){for(const r of this.children)if(r instanceof i){if(e===0)return r;e-=1}return null}else return this.children[e]}getToken(e,i){var r;if(this.children===null||i<0||i>=this.children.length)return null;for(const h of this.children)if(h instanceof fe&&((r=h.symbol)==null?void 0:r.type)===e){if(i===0)return h;i-=1}return null}getTokens(e){var i;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof fe&&((i=h.symbol)==null?void 0:i.type)===e&&r.push(h);return r}}getRuleContext(e,i){return this.getChild(e,i)}getRuleContexts(e){if(this.children===null)return[];{const i=[];for(const r of this.children)r instanceof e&&i.push(r);return i}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?$.INVALID_INTERVAL:new $(this.start.tokenIndex,this.stop.tokenIndex)}},g(d1,"ParserRuleContext"),l(d1,"EMPTY",new d1),d1),yn=g((n,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return X.EMPTY;const e=yn(n,t.parent),r=n.states[t.invokingState].transitions[0];return Bt.create(e,r.followState.stateNumber)},"predictionContextFromRuleContext"),M2=g((n,t,e)=>{if(n.isEmpty())return n;let i=e.get(n)||null;if(i!==null)return i;if(i=t.get(n),i!==null)return e.set(n,i),i;let r=!1,h=[];for(let a=0;a{if(n===t)return n;if(n instanceof Bt&&t instanceof Bt)return Rc(n,t,e,i);if(e){if(n instanceof I2)return n;if(t instanceof I2)return t}return n instanceof Bt&&(n=new pe([n.parent],[n.returnState])),t instanceof Bt&&(t=new pe([t.parent],[t.returnState])),Ec(n,t,e,i)},"merge"),Ec=g((n,t,e,i)=>{if(i!==null){let d=i.get(n,t);if(d!==null||(d=i.get(t,n),d!==null))return d}let r=0,h=0,o=0,a=new Array(n.returnStates.length+t.returnStates.length).fill(0),u=new Array(n.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new ze;for(const e of n)e&&(t.containsKey(e)||t.set(e,e));for(let e=0;e{if(i!==null){let h=i.get(n,t);if(h!==null||(h=i.get(t,n),h!==null))return h}const r=Tc(n,t,e);if(r!==null)return i!==null&&i.set(n,t,r),r;if(n.returnState===t.returnState){const h=wn(n.parent,t.parent,e,i);if(h===n.parent)return n;if(h===t.parent)return t;const o=Bt.create(h,n.returnState);return i!==null&&i.set(n,t,o),o}else{let h=null;if((n===t||n.parent!==null&&n.parent===t.parent)&&(h=n.parent),h!==null){const c=[n.returnState,t.returnState];n.returnState>t.returnState&&(c[0]=t.returnState,c[1]=n.returnState);const d=[h,h],f=new pe(d,c);return i!==null&&i.set(n,t,f),f}const o=[n.returnState,t.returnState];let a=[n.parent,t.parent];n.returnState>t.returnState&&(o[0]=t.returnState,o[1]=n.returnState,a=[t.parent,n.parent]);const u=new pe(a,o);return i!==null&&i.set(n,t,u),u}},"mergeSingletons"),Tc=g((n,t,e)=>{if(e){if(n===X.EMPTY||t===X.EMPTY)return X.EMPTY}else{if(n===X.EMPTY&&t===X.EMPTY)return X.EMPTY;if(n===X.EMPTY){const i=[t.returnState,X.EMPTY_RETURN_STATE],r=[t.parent,null];return new pe(r,i)}else if(t===X.EMPTY){const i=[n.returnState,X.EMPTY_RETURN_STATE],r=[n.parent,null];return new pe(r,i)}}return null},"mergeRoot"),ne=(ys=class{constructor(t){l(this,"data");t?this.data=new Uint32Array(t.map(e=>e>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,i=this.data[e];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return e>=this.data.length?!1:(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const i=new Uint32Array(e);i.set(this.data),i.fill(0,this.data.length),this.data=i}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},g(ys,"BitSet"),ys),Ac=g(n=>n.hashCodeForConfigSet(),"hashATNConfig"),gc=g((n,t)=>n===t?!0:n===null||t===null?!1:n.equalsForConfigSet(t),"equalATNConfigs"),Xt=(D1=class{constructor(t){l(this,"configs",[]);l(this,"hasSemanticContext",!1);l(this,"dipsIntoOuterContext",!1);l(this,"fullCtx");l(this,"uniqueAlt",0);l(this,"configLookup",new Ht(Ac,gc));l(this,"conflictingAlts",null);l(this,"readOnly",!1);l(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,e){if(e===void 0&&(e=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==st.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const i=this.configLookup.add(t);if(i===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=wn(i.context,t.context,r,e);return i.reachesIntoOuterContext=Math.max(i.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(i.precedenceFilterSuppressed=!0),i.context=h,!0}getStates(){const t=new Ht;for(const e of this.configs)t.add(e.state);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==st.NONE&&t.push(e.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e,null);return!1}equals(t){return this===t||t instanceof D1&&is(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new ie;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new Ht}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new Ht)}toString(){return je(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==I.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new ne;for(let e of this.configs)t.set(e.alt);return t}},g(D1,"ATNConfigSet"),D1),Re=(b1=class{constructor(t){l(this,"stateNumber",-1);l(this,"configs",new Xt);l(this,"edges",null);l(this,"isAcceptState",!1);l(this,"prediction",-1);l(this,"lexerActionExecutor",null);l(this,"requiresFullContext",!1);l(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new ie;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof b1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=je(this.predicates):t+=this.prediction),t.toString()}},g(b1,"DFAState"),b1);(n=>{const e=class e{constructor(r,h){l(this,"pred");l(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};g(e,"PredPrediction");let t=e;n.PredPrediction=t})(Re||(Re={}));var re=(I1=class{constructor(t,e){l(this,"atn");l(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=e,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const e=new ze;return M2(t,this.sharedContextCache,e)}getSharedContextCache(){return this.sharedContextCache}},g(I1,"ATNSimulator"),l(I1,"ERROR",new Re(2147483647)),I1),F2=(ws=class extends Xt{constructor(){super(),this.configLookup=new Ht}},g(ws,"OrderedATNConfigSet"),ws),he=(Me=class{constructor(){l(this,"atn");l(this,"stateNumber");l(this,"ruleIndex");l(this,"epsilonOnlyTransitions");l(this,"nextTokenWithinRule");l(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Me.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Me?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,e){e===void 0&&(e=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),e===-1?this.transitions.push(t):this.transitions.splice(e,1,t)}},g(Me,"ATNState"),l(Me,"INVALID_STATE_NUMBER",-1),Me),V={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Ot=(Us=class extends he{get stateType(){return V.RULE_STOP}},g(Us,"RuleStopState"),Us),Ze=(vs=class extends he{constructor(){super(...arguments);l(this,"decision",-1);l(this,"nonGreedy",!1)}},g(vs,"DecisionState"),vs),oe=(M1=class extends Tt{constructor(e,i){super(e,i);l(this,"lexerActionExecutor");l(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=e.lexerActionExecutor??(i==null?void 0:i.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=i!==null?this.checkNonGreedyDecision(i,this.state):!1,this}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(e){return this===e||e instanceof M1&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&super.equals(e)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(e){return this.equals(e)}checkNonGreedyDecision(e,i){return e.passedThroughNonGreedyDecision||i instanceof Ze&&i.nonGreedy}},g(M1,"LexerATNConfig"),M1),ae=(Ds=class{constructor(t){l(this,"actionType");l(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new ie;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},g(Ds,"LexerAction"),Ds),Un=(F1=class extends ae{constructor(e,i){super(i.actionType);l(this,"offset");l(this,"action");this.offset=e,this.action=i,this.isPositionDependent=!0}execute(e){this.action.execute(e)}updateHashCode(e){e.update(this.actionType,this.offset,this.action)}equals(e){return this===e?!0:e instanceof F1?this.offset===e.offset&&this.action===e.action:!1}},g(F1,"LexerIndexedCustomAction"),F1),xc=(ge=class extends ae{constructor(e){super(-1);l(this,"lexerActions");l(this,"cachedHashCode");return this.lexerActions=e===null?[]:e,this.cachedHashCode=ie.hashStuff(e),this}static append(e,i){if(e===null)return new ge([i]);const r=e.lexerActions.concat([i]);return new ge(r)}fixOffsetBeforeMatch(e){let i=null;for(let r=0;r",t+=this.getStateString(o),t+=` -`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const e=t.stateNumber,i=(t.isAcceptState?":":"")+"s"+e+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${i}=>${t.predicates.toString()}`:`${i}=>${t.prediction}`:`${i}`}},g(bs,"DFASerializer"),bs),ue=(Wt=class{constructor(t,e,i){l(this,"maxTokenType");l(this,"literalNames");l(this,"symbolicNames");l(this,"displayNames");this.literalNames=t??Wt.EMPTY_NAMES,this.symbolicNames=e??Wt.EMPTY_NAMES,this.displayNames=i??Wt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return Wt.EMPTY_VOCABULARY;const e=[...t],i=[...t];for(let r=0;r0){const o=h.charAt(0);if(o==="'"){i[r]=null;continue}else if(o.toUpperCase()===o){e[r]=null;continue}}e[r]=null,i[r]=null}}return new Wt(e,i,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(e)+"'")}},g(Is,"LexerDFASerializer"),Is),ke=(Ms=class extends Ze{constructor(){super();l(this,"loopBackState");l(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return V.STAR_LOOP_ENTRY}},g(Ms,"StarLoopEntryState"),Ms),Je=(Fs=class{constructor(t,e){l(this,"states",new Ht);l(this,"s0",null);l(this,"decision");l(this,"atnStartState");l(this,"precedenceDfa");l(this,"isPrecedenceDfa",()=>this.precedenceDfa);l(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});l(this,"setPrecedenceStartState",(t,e)=>{var i;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((i=this.s0)!=null&&i.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=e}});this.atnStartState=t,this.decision=e??0;let i=!1;if(t instanceof ke&&t.precedenceRuleDecision){i=!0;const r=new Re;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=i}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((e,i)=>e.stateNumber-i.stateNumber),t}toString(t){return t?this.s0===null?"":new H2(this,t).toString()??"":this.toString(ue.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new _c(this).toString()??""}},g(Fs,"DFA"),Fs),qe=(q=class extends re{constructor(e,i,r,h){super(i,h);l(this,"decisionToDFA");l(this,"recog",null);l(this,"startIndex",-1);l(this,"line",1);l(this,"column",0);l(this,"mode",Vt.DEFAULT_MODE);l(this,"prevAccept",new q.SimState);this.decisionToDFA=r,this.recog=e}copyState(e){this.column=e.column,this.line=e.line,this.mode=e.mode,this.startIndex=e.startIndex}match(e,i){this.mode=i;const r=e.mark();try{this.startIndex=e.index,this.prevAccept.reset();const h=this.decisionToDFA[i];return h.s0===null?this.matchATN(e):this.execATN(e,h.s0)}finally{e.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Vt.DEFAULT_MODE}getDFA(e){return this.decisionToDFA[e]}getText(e){return e.getText(this.startIndex,e.index-1)}consume(e){e.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,e.consume()}getTokenName(e){return e===-1?"EOF":"'"+String.fromCharCode(e)+"'"}clearDFA(){for(let e=0;eq.MAX_DFA_EDGE)return null;let r=e.edges[i-q.MIN_DFA_EDGE];return r===void 0&&(r=null),q.debug&&r!==null&&console.log("reuse state "+e.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(e,i,r){const h=new F2;return this.getReachableConfigSet(e,i.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(i,r,re.ERROR),re.ERROR):this.addDFAEdge(i,r,null,h)}failOrAccept(e,i,r,h){if(e.dfaState!==null){const o=e.dfaState.lexerActionExecutor;return this.accept(i,o,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}else{if(h===N.EOF&&i.index===this.startIndex)return N.EOF;throw new H0(this.recog,i,this.startIndex,r)}}getReachableConfigSet(e,i,r,h){let o=I.INVALID_ALT_NUMBER;for(const a of i.items){const u=a.alt===o;if(!(u&&a.passedThroughNonGreedyDecision)){q.debug&&console.log(`testing %s at %s -`,this.getTokenName(h),a.toString(this.recog,!0));for(const c of a.state.transitions){const d=this.getReachableTarget(c,h);if(d!==null){let f=a.lexerActionExecutor;f!==null&&(f=f.fixOffsetBeforeMatch(e.index-this.startIndex));const T=h===N.EOF,C=new oe({state:d,lexerActionExecutor:f},a);this.closure(e,C,r,u,!0,T)&&(o=a.alt)}}}}}accept(e,i,r,h,o,a){q.debug&&console.log(`ACTION %s -`,i),e.seek(h),this.line=o,this.column=a,i!==null&&this.recog!==null&&i.execute(this.recog,e,r)}getReachableTarget(e,i){return e.matches(i,0,Vt.MAX_CHAR_VALUE)?e.target:null}computeStartState(e,i){const r=X.EMPTY,h=new F2;for(let o=0;oq.MAX_DFA_EDGE||(q.debug&&console.log("EDGE "+e+" -> "+r+" upon "+i),e.edges===null&&(e.edges=new Array(q.MAX_DFA_EDGE-q.MIN_DFA_EDGE+1),e.edges.fill(null)),e.edges[i-q.MIN_DFA_EDGE]=r),r}addDFAState(e){const i=new Re(e);let r=null;for(const u of e.items)if(u.state instanceof Ot){r=u;break}r!==null&&(i.isAcceptState=!0,i.lexerActionExecutor=r.lexerActionExecutor,i.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],o=h.states.get(i);if(o!==null)return o;const a=i;return a.stateNumber=h.states.length,e.setReadonly(!0),a.configs=e,h.states.add(a),a}},g(q,"LexerATNSimulator"),l(q,"MIN_DFA_EDGE",0),l(q,"MAX_DFA_EDGE",127),l(q,"debug",!1),l(q,"dfa_debug",!1),q);(n=>{const e=class e{constructor(){l(this,"index",-1);l(this,"line",0);l(this,"column",-1);l(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};g(e,"SimState");let t=e;n.SimState=t})(qe||(qe={}));var Vt=(xt=class extends b2{constructor(e){super();l(this,"_input");l(this,"_token",null);l(this,"_tokenStartCharIndex",-1);l(this,"_tokenStartLine",0);l(this,"_tokenStartColumn",0);l(this,"_hitEOF",!1);l(this,"_channel",0);l(this,"_type",0);l(this,"_modeStack",[]);l(this,"_mode",xt.DEFAULT_MODE);l(this,"_text",null);l(this,"_factory");this._input=e,this._factory=dc.DEFAULT}reset(e=!0){e&&this._input.seek(0),this._token=null,this._type=N.INVALID_TYPE,this._channel=N.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=xt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const e=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=N.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let i=!1;for(;;){this._type=N.INVALID_TYPE;let r=xt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof H0)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===N.EOF&&(this._hitEOF=!0),this._type===N.INVALID_TYPE&&(this._type=r),this._type===xt.SKIP){i=!0;break}if(this._type!==xt.MORE)break}if(!i)return this._token===null&&this.emit(),this._token}}finally{this._input.release(e)}}skip(){this._type=xt.SKIP}more(){this._type=xt.MORE}mode(e){this._mode=e}pushMode(e){qe.debug&&console.log("pushMode "+e),this._modeStack.push(this._mode),this.mode(e)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return qe.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(e){this._token=e}emit(){const e=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(e),e}emitEOF(){const e=this.column,i=this.line,r=this._factory.create([this,this._input],N.EOF,null,N.DEFAULT_CHANNEL,this._input.index,this._input.index-1,i,e);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const e=[];let i=this.nextToken();for(;i.type!==N.EOF;)e.push(i),i=this.nextToken();return e}notifyListeners(e){const i=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(i,r),o="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,e)}getErrorDisplay(e){return e}getErrorDisplayForChar(e){return e.charCodeAt(0)===N.EOF?"":e===` -`?"\\n":e===" "?"\\t":e==="\r"?"\\r":e}getCharErrorDisplay(e){return"'"+this.getErrorDisplayForChar(e)+"'"}recover(e){this._input.LA(1)!==N.EOF&&(e instanceof H0?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this.reset(!1),this._input=e}set tokenFactory(e){this._factory=e}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(e){this._type=e}get line(){return this.interpreter.line}set line(e){this.interpreter.line=e}get column(){return this.interpreter.column}set column(e){this.interpreter.column=e}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(e){this._text=e}},g(xt,"Lexer"),l(xt,"DEFAULT_MODE",0),l(xt,"MORE",-2),l(xt,"SKIP",-3),l(xt,"DEFAULT_TOKEN_CHANNEL",N.DEFAULT_CHANNEL),l(xt,"HIDDEN",N.HIDDEN_CHANNEL),l(xt,"MIN_CHAR_VALUE",0),l(xt,"MAX_CHAR_VALUE",1114111),xt),Lt=(at=class{constructor(t){l(this,"intervals",[]);l(this,"readOnly",!1);t&&this.addSet(t)}static of(t,e){const i=new at;return i.addRange(t,e),i}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?N.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?N.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new $(t,t))}addRange(t,e){this.addInterval(new $(t,e))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let e=0;ethis.addInterval(e),this),this}complement(t,e){if(!t)return new at;const i=new at;if(t instanceof at){if(t.isNil)return new at;i.addSet(t)}else i.addInterval(new $(t,e??0));return i.subtract(this)}or(t){const e=new at;return e.addSet(this),t.forEach(i=>e.addSet(i)),e}and(t){if(t.isNil)return new at;const e=this.intervals,i=t.intervals;let r;const h=e.length,o=i.length;let a=0,u=0;for(;ah.stop){i++;continue}let a=null,u=null;if(o.start>h.start&&(a=new $(h.start,o.start-1)),o.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let e=0;for(const i of this.intervals){if(t.stop<=i.start)return;if(t.start>i.start&&t.stop=i.stop?(this.intervals.splice(e,1),e=e-1):t.start1&&(e+="{");let i=!1,r;t instanceof ue?r=t:Array.isArray(t)?r=ue.fromTokenNames(t):i=t??!1;for(let h=0;h":i?e+="'"+String.fromCodePoint(a)+"'":r?e+=this.elementName(r,a):e+=a;else if(i)e+="'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(u)+"'";else if(r)for(let c=a;c<=u;++c)c>a&&(e+=", "),e+=this.elementName(r,c);else e+=a+".."+u;h1&&(e+="}"),e}toArray(){const t=[];for(const e of this.intervals)for(let i=e.start;i<=e.stop;i++)t.push(i);return t}get length(){let t=0;if(this.intervals.length===1){const i=this.intervals[0];return i.stop-i.start+1}for(const i of this.intervals)t+=i.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,e){return e===N.EOF?"":e===N.EPSILON?"":t.getDisplayName(e)}},g(at,"IntervalSet"),l(at,"COMPLETE_CHAR_SET",at.of(Vt.MIN_CHAR_VALUE,Vt.MAX_CHAR_VALUE)),l(at,"EMPTY_SET",new at),at.COMPLETE_CHAR_SET.readOnly=!0,at.EMPTY_SET.readOnly=!0,at),B0=(Hs=class extends Se{constructor(e,i,r,h){super(e);l(this,"ruleIndex");l(this,"precedence");l(this,"followState");this.ruleIndex=i,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return k.RULE}matches(e,i,r){return!1}},g(Hs,"RuleTransition"),Hs),vn=(Bs=class extends Se{constructor(e,i){super(e);Z(this,Fe,void 0);i!=null?Q(this,Fe,i):(Q(this,Fe,new Lt),L(this,Fe).addOne(N.INVALID_TYPE))}get label(){return L(this,Fe)}get serializationType(){return k.SET}matches(e,i,r){return this.label.contains(e)}toString(){return L(this,Fe).toString()}},Fe=new WeakMap,g(Bs,"SetTransition"),Bs),Dn=(Vs=class extends vn{constructor(t,e){super(t,e)}get serializationType(){return k.NOT_SET}matches(t,e,i){return t>=e&&t<=i&&!super.matches(t,e,i)}toString(){return"~"+super.toString()}},g(Vs,"NotSetTransition"),Vs),B2=(Ps=class extends Se{constructor(t){super(t)}get serializationType(){return k.WILDCARD}matches(t,e,i){return t>=e&&t<=i}toString(){return"."}},g(Ps,"WildcardTransition"),Ps),Cc=(He=class{constructor(t){l(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const e=t.transitions.length,i=new Array(e);i.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const i=this.states[t];let r=this.nextTokens(i);if(!r.contains(N.EPSILON))return r;let h=e;const o=new Lt;for(o.addSet(r),o.removeOne(N.EPSILON);h!==null&&h.invokingState>=0&&r.contains(N.EPSILON);){const u=this.states[h.invokingState].transitions[0];r=this.nextTokens(u.followState),o.addSet(r),o.removeOne(N.EPSILON),h=h.parent}return r.contains(N.EPSILON)&&o.addOne(N.EOF),o}nextTokens(t,e){return e===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new Cc(this).LOOK(t,null,e)}},g(H1,"ATN"),l(H1,"INVALID_ALT_NUMBER",0),H1),V2=(Be=class{constructor(t){l(this,"readOnly",!1);l(this,"verifyATN");l(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},g(Be,"ATNDeserializationOptions"),l(Be,"defaultOptions",new Be),Be.defaultOptions.readOnly=!0,Be),rs={LEXER:0,PARSER:1},P2=(Gs=class extends he{get stateType(){return V.BASIC}},g(Gs,"BasicState"),Gs),W1=(Ys=class extends Ze{constructor(){super();l(this,"endState");this.endState=null}},g(Ys,"BlockStartState"),Ys),bn=(Qs=class extends he{constructor(){super(...arguments);l(this,"startState",null)}get stateType(){return V.BLOCK_END}},g(Qs,"BlockEndState"),Qs),t1=(Xs=class extends he{constructor(){super(...arguments);l(this,"loopBackState",null)}get stateType(){return V.LOOP_END}},g(Xs,"LoopEndState"),Xs),G2=($s=class extends he{constructor(){super();l(this,"stopState");l(this,"isLeftRecursiveRule");l(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return V.RULE_START}},g($s,"RuleStartState"),$s),Nc=(js=class extends Ze{get stateType(){return V.TOKEN_START}},g(js,"TokensStartState"),js),Y2=(zs=class extends Ze{get stateType(){return V.PLUS_LOOP_BACK}},g(zs,"PlusLoopbackState"),zs),In=(Zs=class extends he{get stateType(){return V.STAR_LOOP_BACK}},g(Zs,"StarLoopbackState"),Zs),Mn=(Js=class extends W1{constructor(){super(...arguments);l(this,"loopBackState")}get stateType(){return V.PLUS_BLOCK_START}},g(Js,"PlusBlockStartState"),Js),Fn=(qs=class extends W1{get stateType(){return V.STAR_BLOCK_START}},g(qs,"StarBlockStartState"),qs),Q2=(ti=class extends W1{get stateType(){return V.BLOCK_START}},g(ti,"BasicBlockStartState"),ti),V0=(si=class extends Se{constructor(e,i){super(e);l(this,"labelValue");Z(this,ei,void 0);this.labelValue=i,Q(this,ei,Lt.of(i,i))}get label(){return L(this,ei)}matches(e,i,r){return this.labelValue===e}get serializationType(){return k.ATOM}toString(){return this.labelValue.toString()}},ei=new WeakMap,g(si,"AtomTransition"),si),X2=(ni=class extends Se{constructor(e,i,r){super(e);l(this,"start");l(this,"stop");Z(this,ii,new Lt);this.start=i,this.stop=r,L(this,ii).addRange(i,r)}get label(){return L(this,ii)}get serializationType(){return k.RANGE}matches(e,i,r){return e>=this.start&&e<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ii=new WeakMap,g(ni,"RangeTransition"),ni),hs=(hi=class extends Se{constructor(e,i=-1){super(e);Z(this,ri,void 0);Q(this,ri,i)}get isEpsilon(){return!0}matches(e,i,r){return!1}get outermostPrecedenceReturn(){return L(this,ri)}get serializationType(){return k.EPSILON}toString(){return"epsilon"}},ri=new WeakMap,g(hi,"EpsilonTransition"),hi),$2=(oi=class extends On{constructor(e,i,r,h){super(e);l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=i,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(e,i,r){return!1}get serializationType(){return k.PREDICATE}getPredicate(){return new st.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},g(oi,"PredicateTransition"),oi),Lc=(ai=class extends On{constructor(e,i){super(e);l(this,"precedence");this.precedence=i}get isEpsilon(){return!0}matches(e,i,r){return!1}getPredicate(){return new st.PrecedencePredicate(this.precedence)}get serializationType(){return k.PRECEDENCE}toString(){return this.precedence+" >= _p"}},g(ai,"PrecedencePredicateTransition"),ai),mt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},mc=(E1=class extends ae{constructor(){super(mt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},g(E1,"LexerSkipAction"),l(E1,"INSTANCE",new E1),E1),Wc=(B1=class extends ae{constructor(e){super(mt.CHANNEL);l(this,"channel");this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(e){return this===e?!0:e instanceof B1?this.channel===e.channel:!1}toString(){return"channel("+this.channel+")"}},g(B1,"LexerChannelAction"),B1),Kc=(V1=class extends ae{constructor(e,i){super(mt.CUSTOM);l(this,"ruleIndex");l(this,"actionIndex");this.ruleIndex=e,this.actionIndex=i,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(e){return this===e?!0:e instanceof V1?this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex:!1}},g(V1,"LexerCustomAction"),V1),Sc=(f1=class extends ae{constructor(){super(mt.MORE)}execute(t){t.more()}toString(){return"more"}},g(f1,"LexerMoreAction"),l(f1,"INSTANCE",new f1),f1),pc=(P1=class extends ae{constructor(e){super(mt.TYPE);l(this,"type");this.type=e}execute(e){e._type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(e){return this===e?!0:e instanceof P1?this.type===e.type:!1}toString(){return"type("+this.type+")"}},g(P1,"LexerTypeAction"),P1),Oc=(G1=class extends ae{constructor(e){super(mt.PUSH_MODE);l(this,"mode");this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof G1?this.mode===e.mode:!1}toString(){return"pushMode("+this.mode+")"}},g(G1,"LexerPushModeAction"),G1),kc=(R1=class extends ae{constructor(){super(mt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},g(R1,"LexerPopModeAction"),l(R1,"INSTANCE",new R1),R1),yc=(Y1=class extends ae{constructor(e){super(mt.MODE);l(this,"mode");this.mode=e}execute(e){e.mode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof Y1?this.mode===e.mode:!1}toString(){return"mode("+this.mode+")"}},g(Y1,"LexerModeAction"),Y1),Hn=g((n,t)=>{const e=new Array(n-1);return e[n-1]=t,e.map(()=>t)},"initArray"),os=(Ve=class{constructor(t){l(this,"data",[]);l(this,"pos",0);l(this,"deserializationOptions");l(this,"stateFactories",null);l(this,"actionFactories",null);t||(t=V2.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const i=[];return this.readSets(e,i),this.readEdges(e,i),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===rs.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==Ve.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+Ve.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),e=this.readInt();return new I(t,e)}readStates(t){let e,i;const r=[],h=[],o=this.readInt();for(let c=0;c0;)h.addTransition(c.transitions[d-1]),c.transitions=c.transitions.slice(-1);t.ruleToStartState[e].addTransition(new hs(h)),u&&o.addTransition(new hs(u));const f=new P2;t.addState(f),f.addTransition(new V0(o,t.ruleToTokenType[e])),h.addTransition(new hs(f))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e||!(t instanceof ke))return null;const i=t.transitions[t.transitions.length-1].target;return i instanceof t1&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof Ot?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof ke&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const i=e.transitions[e.transitions.length-1].target;i instanceof t1&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof Ot&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const e of t.states)if(e!==null)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof Mn)this.checkCondition(e.loopBackState!==null);else if(e instanceof ke)if(this.checkCondition(e.loopBackState!==null),this.checkCondition(e.transitions.length===2),e.transitions[0].target instanceof Fn)this.checkCondition(e.transitions[1].target instanceof t1),this.checkCondition(!e.nonGreedy);else if(e.transitions[0].target instanceof t1)this.checkCondition(e.transitions[1].target instanceof Fn),this.checkCondition(e.nonGreedy);else throw new Error("IllegalState");else e instanceof In?(this.checkCondition(e.transitions.length===1),this.checkCondition(e.transitions[0].target instanceof ke)):e instanceof t1?this.checkCondition(e.loopBackState!==null):e instanceof G2?this.checkCondition(e.stopState!==null):e instanceof W1?this.checkCondition(e.endState!==null):e instanceof bn?this.checkCondition(e.startState!==null):e instanceof Ze?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof Ot)}}checkCondition(t,e){if(!t)throw e==null&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}edgeFactory(t,e,i,r,h,o,a){const u=t.states[i];switch(e){case k.EPSILON:return new hs(u);case k.RANGE:return o!==0?new X2(u,N.EOF,h):new X2(u,r,h);case k.RULE:return new B0(t.states[r],h,o,u);case k.PREDICATE:return new $2(u,r,h,o!==0);case k.PRECEDENCE:return new Lc(u,r);case k.ATOM:return o!==0?new V0(u,N.EOF):new V0(u,r);case k.ACTION:return new O2(u,r,h,o!==0);case k.SET:return new vn(u,a[r]);case k.NOT_SET:return new Dn(u,a[r]);case k.WILDCARD:return new B2(u);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(t,e){var i,r;if(this.stateFactories===null){const h=[];h[V.INVALID_TYPE]=null,h[V.BASIC]=()=>new P2,h[V.RULE_START]=()=>new G2,h[V.BLOCK_START]=()=>new Q2,h[V.PLUS_BLOCK_START]=()=>new Mn,h[V.STAR_BLOCK_START]=()=>new Fn,h[V.TOKEN_START]=()=>new Nc,h[V.RULE_STOP]=()=>new Ot,h[V.BLOCK_END]=()=>new bn,h[V.STAR_LOOP_BACK]=()=>new In,h[V.STAR_LOOP_ENTRY]=()=>new ke,h[V.PLUS_LOOP_BACK]=()=>new Y2,h[V.LOOP_END]=()=>new t1,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(i=this.stateFactories)[t])==null?void 0:r.call(i))??null;if(h!==null)return h.ruleIndex=e,h}return null}lexerActionFactory(t,e,i){if(this.actionFactories===null){const r=[];r[mt.CHANNEL]=(h,o)=>new Wc(h),r[mt.CUSTOM]=(h,o)=>new Kc(h,o),r[mt.MODE]=(h,o)=>new yc(h),r[mt.MORE]=(h,o)=>Sc.INSTANCE,r[mt.POP_MODE]=(h,o)=>kc.INSTANCE,r[mt.PUSH_MODE]=(h,o)=>new Oc(h),r[mt.SKIP]=(h,o)=>mc.INSTANCE,r[mt.TYPE]=(h,o)=>new pc(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](e,i)}},g(Ve,"ATNDeserializer"),l(Ve,"SERIALIZED_VERSION",4),Ve),j=(ui=class extends A{constructor(e,i=null,r=null,h=null,o=null,a=null){a=a??e.context,h=h??e.getCurrentToken(),r=r??e.getCurrentToken(),i=i??e.inputStream;super({message:"",recognizer:e,input:i,ctx:a});l(this,"deadEndConfigs",null);l(this,"startToken");this.deadEndConfigs=o,this.startToken=r,this.offendingToken=h}},g(ui,"NoViableAltException"),ui),wc=(ci=class{constructor(){l(this,"cacheMap");this.cacheMap=new ze}get(t,e){const i=this.cacheMap.get(t)??null;return i===null?null:i.get(e)??null}set(t,e,i){let r=this.cacheMap.get(t)??null;r===null&&(r=new ze,this.cacheMap.set(t,r)),r.set(e,i)}},g(ci,"DoubleDict"),ci),At=(Kt=class{static hasSLLConflictTerminatingPrediction(t,e){if(Kt.allConfigsInRuleStopStates(e))return!0;if(t===Kt.SLL&&e.hasSemanticContext){const r=new Xt;for(let h of e.items)h=new Tt({semanticContext:st.NONE},h),r.add(h);e=r}const i=Kt.getConflictingAltSubsets(e);return Kt.hasConflictingAltSet(i)&&!Kt.hasStateAssociatedWithOneAlt(e)}static hasConfigInRuleStopState(t){for(const e of t.items)if(e.state instanceof Ot)return!0;return!1}static allConfigsInRuleStopStates(t){for(const e of t.items)if(!(e.state instanceof Ot))return!1;return!0}static resolvesToJustOneViableAlt(t){return Kt.getSingleViableAlt(t)}static allSubsetsConflict(t){return!Kt.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const e of t)if(e.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const e of t)if(e.length>1)return!0;return!1}static allSubsetsEqual(t){let e=null;for(const i of t)if(e===null)e=i;else if(i!==e)return!1;return!0}static getUniqueAlt(t){const e=Kt.getAlts(t);return e.length===1?e.nextSetBit(0):I.INVALID_ALT_NUMBER}static getAlts(t){const e=new ne;return t.forEach(i=>{e.or(i)}),e}static getConflictingAltSubsets(t){const e=new ze(i=>ie.hashStuff(i.state.stateNumber,i.context),(i,r)=>{var h;return i.state.stateNumber===r.state.stateNumber&&(((h=i.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(i=>{let r=e.get(i);r===null&&(r=new ne,e.set(i,r)),r.set(i.alt)}),e.getValues()}static getStateToAltMap(t){const e=new ze;return t.items.forEach(i=>{let r=e.get(i.state);r||(r=new ne,e.set(i.state,r)),r.set(i.alt)}),e}static hasStateAssociatedWithOneAlt(t){const e={};return t.items.forEach(i=>{const r=i.state.stateNumber;e[r]||(e[r]=0),e[r]++}),Object.values(e).some(i=>i===1)}static getSingleViableAlt(t){let e=null;for(const i of t){const r=i.nextSetBit(0);if(e===null)e=r;else if(e!==r)return I.INVALID_ALT_NUMBER}return e??0}},g(Kt,"PredictionMode"),l(Kt,"SLL",0),l(Kt,"LL",1),l(Kt,"LL_EXACT_AMBIG_DETECTION",2),Kt),P0=(w=class extends re{constructor(e,i,r,h){super(i,h);l(this,"predictionMode");l(this,"decisionToDFA");l(this,"parser");l(this,"mergeCache",null);l(this,"_input",null);l(this,"_startIndex",0);l(this,"_outerContext",null);l(this,"_dfa",null);this.parser=e,this.decisionToDFA=r}static getUniqueAlt(e){let i=I.INVALID_ALT_NUMBER;for(const r of e.items)if(i===I.INVALID_ALT_NUMBER)i=r.alt;else if(r.alt!==i)return I.INVALID_ALT_NUMBER;return i}reset(){}clearDFA(){for(let e=0;e"}getTokenName(e){if(e===N.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:ue.EMPTY_VOCABULARY).getDisplayName(e);return r===e.toString()?r:r+"<"+e+">"}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const i=e.deadEndConfigs.items;for(const r of i){let h="no edges";if(r.state.transitions.length>0){const o=r.state.transitions[0];o instanceof V0?h="Atom "+this.getTokenName(o.labelValue):o instanceof vn&&(h=(o instanceof Dn?"~":"")+"Set "+o.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(e,i){const r=i.transitions.length,h=this.getConflictingAltsOrUniqueAlt(e.configs),o=this.getPredsForAmbigAlts(h,e.configs,r);o!==null?(e.predicates=this.getPredicatePredictions(h,o),e.prediction=I.INVALID_ALT_NUMBER):e.prediction=h.nextSetBit(0)}execATNWithFullContext(e,i,r,h,o,a){(w.debug||w.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const u=!0;let c=!1,d,f=r;h.seek(o);let T=h.LA(1),C=-1;for(;;){if(d=this.computeReachSet(f,T,u),d===null){const S=this.noViableAlt(h,a,f,o);h.seek(o);const p=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(f,a);if(p!==I.INVALID_ALT_NUMBER)return p;throw S}const W=At.getConflictingAltSubsets(d);if(w.debug&&console.log("LL altSubSets="+W+", predict="+At.getUniqueAlt(W)+", resolvesToJustOneViableAlt="+At.resolvesToJustOneViableAlt(W)),d.uniqueAlt=w.getUniqueAlt(d),d.uniqueAlt!==I.INVALID_ALT_NUMBER){C=d.uniqueAlt;break}else if(this.predictionMode!==At.LL_EXACT_AMBIG_DETECTION){if(C=At.resolvesToJustOneViableAlt(W),C!==I.INVALID_ALT_NUMBER)break}else if(At.allSubsetsConflict(W)&&At.allSubsetsEqual(W)){c=!0,C=At.getSingleViableAlt(W);break}f=d,T!==N.EOF&&(h.consume(),T=h.LA(1))}return d.uniqueAlt!==I.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,C,d,o,h.index),C):(this.reportAmbiguity(e,i,o,h.index,c,null,d),C)}computeReachSet(e,i,r){w.debug&&console.log("in computeReachSet, starting closure: "+e),this.mergeCache===null&&(this.mergeCache=new wc);const h=new Xt(r);let o=null;for(const u of e.items){if(w.debug&&console.log("testing "+this.getTokenName(i)+" at "+u),u.state instanceof Ot){(r||i===N.EOF)&&(o===null&&(o=[]),o.push(u));continue}for(const c of u.state.transitions){const d=this.getReachableTarget(c,i);if(d!==null){const f=new Tt({state:d},u);h.add(f,this.mergeCache)}}}let a=null;if(o===null&&i!==N.EOF&&(h.items.length===1||w.getUniqueAlt(h)!==I.INVALID_ALT_NUMBER)&&(a=h),a===null){a=new Xt(r);const u=new Ht,c=i===N.EOF;for(const d of h.items)this.closure(d,a,u,!1,r,c)}if(i===N.EOF&&(a=this.removeAllConfigsNotInRuleStopState(a,a===h)),o!==null&&(!r||!At.hasConfigInRuleStopState(a)))for(const u of o)a.add(u,this.mergeCache);return a.items.length===0?null:a}removeAllConfigsNotInRuleStopState(e,i){if(At.allConfigsInRuleStopStates(e))return e;const r=new Xt(e.fullCtx);for(const h of e.items){if(h.state instanceof Ot){r.add(h,this.mergeCache);continue}if(i&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(N.EPSILON)){const a=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new Tt({state:a},h),this.mergeCache)}}return r}computeStartState(e,i,r){const h=yn(this.atn,i),o=new Xt(r);for(let a=0;a0&&(a=this.getAltThatFinishedDecisionEntryRule(o),a!==I.INVALID_ALT_NUMBER)?a:I.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const i=[];for(const r of e.items)(r.reachesIntoOuterContext>0||r.state instanceof Ot&&r.context.hasEmptyPath())&&i.indexOf(r.alt)<0&&i.push(r.alt);return i.length===0?I.INVALID_ALT_NUMBER:Math.min(...i)}splitAccordingToSemanticValidity(e,i){const r=new Xt(e.fullCtx),h=new Xt(e.fullCtx);for(const o of e.items)o.semanticContext!==st.NONE?o.semanticContext.evaluate(this.parser,i)?r.add(o):h.add(o):r.add(o);return[r,h]}evalSemanticContext(e,i,r){const h=new ne;for(const o of e){if(o.pred===st.NONE){if(h.set(o.alt),!r)break;continue}const a=o.pred.evaluate(this.parser,i);if((w.debug||w.dfa_debug)&&console.log("eval pred "+o+"="+a),a&&((w.debug||w.dfa_debug)&&console.log("PREDICT "+o.alt),h.set(o.alt),!r))break}return h}closure(e,i,r,h,o,a){this.closureCheckingStopState(e,i,r,h,o,0,a)}closureCheckingStopState(e,i,r,h,o,a,u){if(e.state instanceof Ot)if(e.context&&!e.context.isEmpty()){for(let c=0;c=0&&(S+=1)}this.closureCheckingStopState(W,i,r,C,o,S,u)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const i=e.state;if(i.stateType!==V.STAR_LOOP_ENTRY||!e.context||!i.precedenceRuleDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const r=e.context.length;for(let u=0;u=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+je(this.parser.getRuleInvocationStack())));let a=null;if(r&&h)if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(a=new Tt({state:i.target},e))}else{const u=st.andContext(e.semanticContext,i.getPredicate());a=new Tt({state:i.target,semanticContext:u},e)}else a=new Tt({state:i.target},e);return w.debug&&console.log("config from pred transition="+a),a}predTransition(e,i,r,h,o){w.debug&&(console.log("PRED (collectPredicates="+r+") "+i.ruleIndex+":"+i.predIndex+", ctx dependent="+i.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+je(this.parser.getRuleInvocationStack())));let a=null;if(r&&(i.isCtxDependent&&h||!i.isCtxDependent))if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(a=new Tt({state:i.target},e))}else{const u=st.andContext(e.semanticContext,i.getPredicate());a=new Tt({state:i.target,semanticContext:u},e)}else a=new Tt({state:i.target},e);return w.debug&&console.log("config from pred transition="+a),a}ruleTransition(e,i){w.debug&&console.log("CALL rule "+this.getRuleName(i.target.ruleIndex)+", ctx="+e.context);const r=i.followState,h=Bt.create(e.context,r.stateNumber);return new Tt({state:i.target,context:h},e)}getConflictingAlts(e){const i=At.getConflictingAltSubsets(e);return At.getAlts(i)}getConflictingAltsOrUniqueAlt(e){let i;return e.uniqueAlt!==I.INVALID_ALT_NUMBER?(i=new ne,i.set(e.uniqueAlt)):i=e.conflictingAlts,i}noViableAlt(e,i,r,h){return new j(this.parser,e,e.get(h),e.LT(1),r,i)}addDFAEdge(e,i,r,h){return w.debug&&console.log("EDGE "+i+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(e,h),i===null||r<-1||r>this.atn.maxTokenType||(i.edges===null&&(i.edges=new Array(this.atn.maxTokenType+2),i.edges.fill(null)),i.edges[r+1]=h,w.debug&&console.log(`DFA= -`+e.toString(this.parser!=null?this.parser.vocabulary:ue.EMPTY_VOCABULARY))),h)}addDFAState(e,i){if(i===re.ERROR)return i;const r=e.states.get(i);return r!==null?r:(i.stateNumber=e.states.length,i.configs.readOnly||(i.configs.optimizeConfigs(this),i.configs.setReadonly(!0)),e.states.add(i),w.debug&&console.log("adding new DFA state: "+i),i)}reportAttemptingFullContext(e,i,r,h,o){if(w.debug||w.retry_debug){const a=new $(h,o+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,h,o,i,r)}reportContextSensitivity(e,i,r,h,o){if(w.debug||w.retry_debug){const a=new $(h,o+1);console.log("reportContextSensitivity decision="+e.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,h,o,i,r)}reportAmbiguity(e,i,r,h,o,a,u){if(w.debug||w.retry_debug){const c=new $(r,h+1);console.log("reportAmbiguity "+a+":"+u+", input="+this.parser.tokenStream.getText(c))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,r,h,o,a,u)}},g(w,"ParserATNSimulator"),l(w,"debug"),l(w,"trace_atn_sim",!1),l(w,"debug_add",!1),l(w,"debug_closure",!1),l(w,"dfa_debug",!1),l(w,"retry_debug",!1),w),as=(li=class{constructor(){l(this,"cache",new ze)}add(t){if(t===X.EMPTY)return X.EMPTY;const e=this.cache.get(t)||null;return e!==null?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},g(li,"PredictionContextCache"),li),us=(di=class{constructor(t,e,i,r,h,o){l(this,"decision");l(this,"configs");l(this,"input");l(this,"startIndex");l(this,"stopIndex");l(this,"fullCtx");this.decision=t,this.configs=e,this.input=i,this.startIndex=r,this.stopIndex=h,this.fullCtx=o}},g(di,"DecisionEventInfo"),di),Uc=(Ei=class extends us{constructor(e,i,r,h,o,a,u){super(e,i,h,o,a,u);l(this,"ambigAlts");this.ambigAlts=r}},g(Ei,"AmbiguityInfo"),Ei),j2=(fi=class extends us{constructor(t,e,i,r,h){super(t,e,i,r,h,!0)}},g(fi,"ContextSensitivityInfo"),fi),vc=(Ri=class{constructor(t){l(this,"decision",0);l(this,"invocations",0);l(this,"timeInPrediction",0);l(this,"SLL_TotalLook",0);l(this,"SLL_MinLook",0);l(this,"SLL_MaxLook",0);l(this,"SLL_MaxLookEvent");l(this,"LL_TotalLook",0);l(this,"LL_MinLook",0);l(this,"LL_MaxLook",0);l(this,"LL_MaxLookEvent");l(this,"contextSensitivities");l(this,"errors");l(this,"ambiguities");l(this,"predicateEvals");l(this,"SLL_ATNTransitions",0);l(this,"SLL_DFATransitions",0);l(this,"LL_Fallback",0);l(this,"LL_ATNTransitions",0);l(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},g(Ri,"DecisionInfo"),Ri),Bn=(Ti=class extends us{constructor(t,e,i,r,h,o){super(t,e,i,r,h,o)}},g(Ti,"ErrorInfo"),Ti),z2=(Ai=class extends us{constructor(e,i,r,h,o,a,u){super(e,i,h,o,a,u);l(this,"predictedAlt");this.predictedAlt=r}},g(Ai,"LookaheadEventInfo"),Ai),Vn=(gi=class extends P0{constructor(e){const i=e.interpreter.getSharedContextCache();super(e,e.interpreter.atn,e.interpreter.decisionToDFA,i);l(this,"decisions");l(this,"numDecisions",0);l(this,"currentDecision",0);l(this,"currentState");l(this,"conflictingAltResolvedBySLL");Z(this,xe,0);Z(this,_e,0);if(i){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[i].SLL_MaxLook&&(this.decisions[i].SLL_MaxLook=u,this.decisions[i].SLL_MaxLookEvent=new z2(i,null,o,e,this._startIndex,L(this,xe),!1)),L(this,_e)>=0){const c=L(this,_e)-this._startIndex+1;this.decisions[i].LL_TotalLook+=c,this.decisions[i].LL_MinLook=this.decisions[i].LL_MinLook===0?c:Math.min(this.decisions[i].LL_MinLook,c),c>this.decisions[i].LL_MaxLook&&(this.decisions[i].LL_MaxLook=c,this.decisions[i].LL_MaxLookEvent=new z2(i,null,o,e,this._startIndex,L(this,_e),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(e,i){if(this._input){Q(this,xe,this._input.index);const r=super.getExistingTargetState(e,i);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===re.ERROR&&this.decisions[this.currentDecision].errors.push(new Bn(this.currentDecision,e.configs,this._input,this._startIndex,L(this,xe),!1))),this.currentState=r,r}return null}computeTargetState(e,i,r){const h=super.computeTargetState(e,i,r);return this.currentState=h,h}computeReachSet(e,i,r){r&&this._input&&Q(this,_e,this._input.index);const h=super.computeReachSet(e,i,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Bn(this.currentDecision,e,this._input,this._startIndex,L(this,_e),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Bn(this.currentDecision,e,this._input,this._startIndex,L(this,xe),!1)))),h}reportAttemptingFullContext(e,i,r,h,o){i!==null?this.conflictingAltResolvedBySLL=i.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,i&&super.reportAttemptingFullContext(e,i,r,h,o)}reportContextSensitivity(e,i,r,h,o){i!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new j2(this.currentDecision,r,this._input,h,o)),super.reportContextSensitivity(e,i,r,h,o)}reportAmbiguity(e,i,r,h,o,a,u){let c;a!==null?c=a.nextSetBit(0):c=u.getAlts().nextSetBit(0),this._input&&(u.fullCtx&&c!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new j2(this.currentDecision,u,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new Uc(this.currentDecision,u,a,this._input,r,h,u.fullCtx))),super.reportAmbiguity(e,i,r,h,o,a,u)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},xe=new WeakMap,_e=new WeakMap,g(gi,"ProfilingATNSimulator"),gi);xi=class{constructor(t){l(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),e=[];for(let i=0;i0&&e.push(i);return e}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(let i=0;i0?i:void 0,modes:r.length>0?r:void 0}}},g(Ci,"InterpreterDataReader"),Ni=class{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult();const i=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const e=this.index+t-1;return e<0||e>=this.data.length?N.EOF:this.data[e]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,e){let i,r;return t instanceof $?(i=t.start,r=t.stop):(i=t,r=e??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),i>=this.data.length?"":gr(this,Li,xr).call(this,i,r+1)}toString(){return gr(this,Li,xr).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:M0.UNKNOWN_SOURCE_NAME}},Li=new WeakSet,xr=function(t,e){const i=this.data.slice(t,e);let r="";return i.forEach(h=>{r+=String.fromCodePoint(h)}),r},g(mi,"CharStreamImpl"),mi),Pn=(Wi=class{static fromString(t){return new bc(t)}},g(Wi,"CharStreams"),Wi),Ic=(Ki=class{constructor(t){l(this,"tokenSource");l(this,"tokens",[]);l(this,"p",-1);l(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(e)>=e:!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(i===void 0)return this.tokens.slice(t,e+1);const r=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let i=this.tokens[t];for(;i.channel!==e;){if(i.type===N.EOF)return-1;t+=1,this.sync(t),i=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.nextTokenOnChannel(t+1,Vt.DEFAULT_TOKEN_CHANNEL),r=t+1,h=i===-1?this.tokens.length-1:i;return this.filterForChannel(r,h,e)}getHiddenTokensToLeft(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.previousTokenOnChannel(t-1,Vt.DEFAULT_TOKEN_CHANNEL);if(i===t-1)return null;const r=i+1,h=t-1;return this.filterForChannel(r,h,e)}filterForChannel(t,e,i){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let o=i;o<=r;o++){const a=this.tokens[o];if(a.type===N.EOF)break;h+=a.text}return h.toString()}else{const e=t[0];return this.getText(e.getSourceInterval())}case 2:{const e=t[0],i=t[1];return e!==null&&i!==null?this.getText($.of(e.tokenIndex,i.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},g(Ki,"BufferedTokenStream"),Ki),G0=(Si=class extends Ic{constructor(e,i){super(e);l(this,"channel",N.DEFAULT_CHANNEL);this.channel=i??N.DEFAULT_CHANNEL}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let i=this.index,r=1;for(;r<=e;)i=this.previousTokenOnChannel(i-1,this.channel),r+=1;return i<0?null:this.tokens[i]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let i=this.index,r=1;for(;rnew Je(t,e))),B),Mc=(pi=class extends F0{syntaxError(t,e,i,r,h,o){}},g(pi,"XPathLexerErrorListener"),pi),K1=(Oi=class{constructor(t){l(this,"invert");l(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(Oi,"XPathElement"),Oi),Fc=(ki=class extends K1{constructor(e,i){super(e);l(this,"ruleIndex");this.ruleIndex=i}evaluate(e){return Oe.findAllRuleNodes(e,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(ki,"XPathRuleAnywhereElement"),ki),Hc=(yi=class extends K1{constructor(e,i){super(e);l(this,"ruleIndex");this.ruleIndex=i}evaluate(e){const i=[];for(const r of Oe.getChildren(e))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&i.push(r);return i}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(yi,"XPathRuleElement"),yi),Bc=(wi=class extends K1{constructor(e,i){super(e);l(this,"tokenType");this.tokenType=i}evaluate(e){return Oe.findAllTokenNodes(e,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(wi,"XPathTokenAnywhereElement"),wi),Vc=(Ui=class extends K1{constructor(e,i){super(e);l(this,"tokenType");this.tokenType=i}evaluate(e){const i=[];for(const r of Oe.getChildren(e))r instanceof fe&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&i.push(r);return i}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(Ui,"XPathTokenElement"),Ui),Pc=(vi=class extends K1{constructor(){super(J2.WILDCARD)}evaluate(t){return this.invert?[]:Oe.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(vi,"XPathWildcardAnywhereElement"),vi),Gc=(Di=class extends K1{constructor(){super(J2.WILDCARD)}evaluate(t){const e=[];if(this.invert)return e;for(const i of Oe.getChildren(t))e.push(i);return e}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},g(Di,"XPathWildcardElement"),Di),J2=(Pe=class{constructor(t,e){l(this,"path");l(this,"elements");l(this,"parser");this.parser=t,this.path=e,this.elements=this.split(e)}static findAll(t,e,i){return new Pe(i,e).evaluate(t)}split(t){const e=new $t(Pn.fromString(t));e.recover=u=>{throw u},e.removeErrorListeners(),e.addErrorListener(new Mc);const i=new G0(e);try{i.fill()}catch(u){if(u instanceof H0){const d="Invalid tokens or characters at index "+e.column+" in path '"+t+"' -- "+u.message;throw new RangeError(d)}throw u}const r=i.getTokens(),h=[],o=r.length;let a=0;t:for(;a0&&this.elements[r].evaluate(o).forEach(u=>{h.add(u)},h);r++,i=h}return i}getXPathElement(t,e){if(t.type===N.EOF)throw new Error("Missing path element at end of path");const i=t.text;if(i==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(i),h=this.parser.getRuleIndex(i);switch(t.type){case $t.WILDCARD:return e?new Pc:new Gc;case $t.TOKEN_REF:case $t.STRING:if(r===N.INVALID_TYPE)throw new Error(i+" at index "+t.start+" isn't a valid token name");return e?new Bc(i,r):new Vc(i,r);default:if(h===-1)throw new Error(i+" at index "+t.start+" isn't a valid rule name");return e?new Fc(i,h):new Hc(i,h)}}},g(Pe,"XPath"),l(Pe,"WILDCARD","*"),l(Pe,"NOT","!"),Pe),e1=(bi=class extends A{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},g(bi,"InputMismatchException"),bi),Y0=(Ii=class extends A{constructor(e,i,r=null){super({message:Yc(i??"no predicate",r??null),recognizer:e,input:e.inputStream,ctx:e.context});l(this,"ruleIndex",0);l(this,"predicateIndex",0);l(this,"predicate");const o=e.atn.states[e.state].transitions[0];o instanceof $2?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=i,this.offendingToken=e.getCurrentToken()}},g(Ii,"FailedPredicateException"),Ii),Yc=g((n,t)=>t!==null?t:"failed predicate: {"+n+"}?","formatMessage"),Gn=(Mi=class{constructor(){l(this,"errorRecoveryMode",!1);l(this,"lastErrorIndex",-1);l(this,"lastErrorStates",new Lt);l(this,"nextTokensContext",null);l(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Lt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof j?this.reportNoViableAlternative(t,e):e instanceof e1?this.reportInputMismatch(t,e):e instanceof Y0?this.reportFailedPredicate(t,e):t.notifyErrorListeners(e.message,e.offendingToken,e))}recover(t,e){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const i=this.getErrorRecoverySet(t);this.consumeUntil(t,i)}sync(t){if(this.inErrorRecoveryMode(t))return;const e=t.atn.states[t.state],i=t.tokenStream.LA(1),r=t.atn.nextTokens(e);if(r.contains(i)){this.nextTokensContext=null,this.nextTokenState=he.INVALID_STATE_NUMBER;return}else if(r.contains(N.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(e.stateType){case V.BLOCK_START:case V.STAR_BLOCK_START:case V.PLUS_BLOCK_START:case V.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new e1(t);case V.PLUS_LOOP_BACK:case V.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new Lt;h.addSet(t.getExpectedTokens());const o=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i=t.tokenStream;let r;i!==null&&e.startToken?e.startToken.type===N.EOF?r="":r=i.getText(new $(e.startToken.tokenIndex,e.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,e.offendingToken,e)}reportInputMismatch(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(i,e.offendingToken,e)}reportFailedPredicate(t,e){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;t.notifyErrorListeners(r,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),i=this.getTokenErrorDisplay(e),r=this.getExpectedTokens(t),h="extraneous input "+i+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(r,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(e!==null)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new e1(t)}singleTokenInsertion(t){const e=t.tokenStream.LA(1),i=t.atn,h=i.states[t.state].transitions[0].target;return i.nextTokens(h,t.context).contains(e)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const e=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const e=t.getCurrentToken(),i=this.getExpectedTokens(t);let r=N.INVALID_TYPE;i.isNil||(r=i.minElement);let h;r===N.EOF?h="":h="";let o=e;const a=t.tokenStream.LT(-1);return o.type===N.EOF&&a!==null&&(o=a),t.getTokenFactory().create(o.source,r,h,N.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let e=t.text;return e===null&&(t.type===N.EOF?e="":e="<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const e=t.atn;let i=t.context;const r=new Lt;for(;i!==null&&i.invokingState>=0;){const o=e.states[i.invokingState].transitions[0],a=e.nextTokens(o.followState);r.addSet(a),i=i.parent}return r.removeOne(N.EPSILON),r}consumeUntil(t,e){let i=t.tokenStream.LA(1);for(;i!==N.EOF&&!e.contains(i);)t.consume(),i=t.tokenStream.LA(1)}},g(Mi,"DefaultErrorStrategy"),Mi);Fi=class extends Gn{recover(t,e){let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new Z2(e)}recoverInline(t){const e=new e1(t);let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new Z2(e)}sync(t){}},g(Fi,"BailErrorStrategy"),Hi=class extends F0{constructor(e){super();l(this,"exactOnly");l(this,"reportAmbiguity",(e,i,r,h,o,a,u)=>{if(this.exactOnly&&!o)return;const c=this.getDecisionDescription(e,i),d=this.getConflictingAlts(a,u),f=e.tokenStream.getText($.of(r,h)),T=`reportAmbiguity d=${c}: ambigAlts=${d}, input='${f}'`;e.notifyErrorListeners(T,null,null)});l(this,"reportAttemptingFullContext",(e,i,r,h,o,a)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText($.of(r,h)),d=`reportAttemptingFullContext d=${u}, input='${c}'`;e.notifyErrorListeners(d,null,null)});l(this,"reportContextSensitivity",(e,i,r,h,o,a)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText($.of(r,h)),d=`reportContextSensitivity d=${u}, input='${c}'`;e.notifyErrorListeners(d,null,null)});l(this,"getDecisionDescription",(e,i)=>{const r=i.decision,h=i.atnStartState.ruleIndex,o=e.ruleNames;if(h<0||h>=o.length)return r.toString();const a=o[h];return a.length===0?r.toString():`${r} (${a})`});l(this,"getConflictingAlts",(e,i)=>{if(e!==null)return e;const r=new ne;for(let h=0;h{super(...Ml);Z(this,Bi,void 0)};r!==void 0?n(i,r):n(),Q(this,Bi,e)}get ruleIndex(){return L(this,Bi)}},Bi=new WeakMap,g(Vi,"InterpreterRuleContext"),Vi);zi=class extends Vt{constructor(e,i,r,h,o,a,u){super(u);Z(this,Pi,void 0);Z(this,Gi,void 0);Z(this,Yi,void 0);Z(this,Qi,void 0);Z(this,Xi,void 0);Z(this,$i,void 0);Z(this,ji,void 0);Z(this,en,new as);if(a.grammarType!==rs.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Q(this,Pi,e),Q(this,Gi,a),Q(this,Yi,r.slice(0)),Q(this,Qi,h.slice(0)),Q(this,Xi,o.slice(0)),Q(this,$i,i),Q(this,ji,a.decisionToState.map((c,d)=>new Je(c,d))),this.interpreter=new qe(this,a,L(this,ji),L(this,en))}get atn(){return L(this,Gi)}get grammarFileName(){return L(this,Pi)}get ruleNames(){return L(this,Yi)}get channelNames(){return L(this,Qi)}get modeNames(){return L(this,Xi)}get vocabulary(){return L(this,$i)}},Pi=new WeakMap,Gi=new WeakMap,Yi=new WeakMap,Qi=new WeakMap,Xi=new WeakMap,$i=new WeakMap,ji=new WeakMap,en=new WeakMap,g(zi,"LexerInterpreter");var Xc=(Zi=class{constructor(t){l(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},g(Zi,"TraceListener"),Zi),q2=(Ji=class extends b2{constructor(e){super();l(this,"printer",null);l(this,"buildParseTrees",!0);l(this,"errorHandler",new Gn);l(this,"context",null);l(this,"_input",null);l(this,"_precedenceStack",[]);l(this,"_parseListeners",null);l(this,"_syntaxErrors",0);l(this,"matchedEOF",!1);l(this,"_tracer",null);l(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=e}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(e){let i=this.getCurrentToken();return i.type===e?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this.errorHandler.reportMatch(this),this.consume()):(e=this.errorHandler.recoverInline(this),this.buildParseTrees&&e.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,e))),e}getParseListeners(){return this._parseListeners??[]}addParseListener(e){if(e===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null&&e!==null){const i=this._parseListeners.indexOf(e);i>=0&&this._parseListeners.splice(i,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.forEach(i=>{i.enterEveryRule(e),e.enterRule(i)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.slice(0).reverse().forEach(i=>{e.exitRule(i),i.exitEveryRule(e)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(e){this._input.getTokenSource().tokenFactory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const i=new V2;return i.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new os(i).deserialize(e),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(e){this._input=null,this.reset(),this._input=e}get inputStream(){return this._input}set inputStream(e){this.tokenStream=e}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,i,r){i=i??null,r=r??null,i===null&&(i=this.getCurrentToken()),this._syntaxErrors+=1;const h=i.line,o=i.column;this.getErrorListenerDispatch().syntaxError(this,i,h,o,e,r)}consume(){const e=this.getCurrentToken();e.type!==N.EOF&&this.tokenStream.consume();const i=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||i){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,e)):r=this.context.addTokenNode(e),i&&this._parseListeners.forEach(h=>{r instanceof ns?h.visitErrorNode(r):h.visitTerminal(r)})}return e}addContextToParseTree(){var e;((e=this.context)==null?void 0:e.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(e,i,r){this.state=i,this.context=e,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(e,i){e.setAltNumber(i),this.buildParseTrees&&this.context!==e&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(e)),this.context=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,i,r,h){this.state=i,this._precedenceStack.push(h),this.context=e,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,i,r){const h=this.context;h.parent=e,h.invokingState=i,h.stop=this._input.LT(-1),this.context=e,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const i=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==e;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=e;i.parent=e,this.buildParseTrees&&e!==null&&e.addChild(i)}getInvokingContext(e){let i=this.context;for(;i!==null;){if(i.ruleIndex===e)return i;i=i.parent}return null}precpred(e,i){return i>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const i=this.interpreter.atn;let r=this.context;const h=i.states[this.state];let o=i.nextTokens(h);if(o.contains(e))return!0;if(!o.contains(N.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&o.contains(N.EPSILON);){const u=i.states[r.invokingState].transitions[0];if(o=i.nextTokens(u.followState),o.contains(e))return!0;r=r.parent}return!!(o.contains(N.EPSILON)&&e===N.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const e=this.interpreter.atn,i=e.states[this.state];return e.nextTokens(i)}getRuleIndex(e){const i=this.getRuleIndexMap().get(e);return i??-1}getRuleInvocationStack(e){e=e??null,e===null&&(e=this.context);const i=[];for(;e!==null;){const r=e.ruleIndex;r<0?i.push("n/a"):i.push(this.ruleNames[r]),e=e.parent}return i}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let e=!1;for(const i of this.interpreter.decisionToDFA)i.states.length>0&&(e&&console.log(),this.printer&&(this.printer.println("Decision "+i.decision+":"),this.printer.print(i.toString(this.vocabulary))),e=!0)}getSourceName(){return this._input.getSourceName()}setProfile(e){const i=this.interpreter,r=i.predictionMode;if(e)i instanceof Vn||(this.interpreter=new Vn(this));else if(i instanceof Vn){const h=i.getSharedContextCache();if(h){const o=new P0(this,this.atn,i.decisionToDFA,h);this.interpreter=o}}this.interpreter.predictionMode=r}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new Xc(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(e,i){return new fe(i)}createErrorNode(e,i){return new ns(i)}},g(Ji,"Parser"),Ji);i0=class extends q2{constructor(e,i,r,h,o){super(o);l(this,"_rootContext");l(this,"_parentContextStack",[]);l(this,"overrideDecision",-1);l(this,"overrideDecisionInputIndex",-1);l(this,"overrideDecisionAlt",-1);l(this,"overrideDecisionReached",!1);l(this,"_overrideDecisionRoot",null);Z(this,qi,void 0);Z(this,te,void 0);Z(this,t0,void 0);Z(this,e0,void 0);Z(this,s0,void 0);Z(this,sn,new as);Z(this,X1,void 0);Q(this,qi,e),Q(this,te,h),Q(this,t0,r.slice(0)),Q(this,e0,i),Q(this,X1,new ne);for(const a of h.states)a instanceof ke&&a.precedenceRuleDecision&&L(this,X1).set(a.stateNumber);Q(this,s0,h.decisionToState.map((a,u)=>new Je(a,u))),this.interpreter=new P0(this,h,L(this,s0),L(this,sn))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return L(this,te)}get vocabulary(){return L(this,e0)}get ruleNames(){return L(this,t0)}get grammarFileName(){return L(this,qi)}get atnState(){return L(this,te).states[this.state]}parse(e){var r;const i=L(this,te).ruleToStartState[e];for(this._rootContext=this.createInterpreterRuleContext(null,he.INVALID_STATE_NUMBER,e),i.isPrecedenceRule?this.enterRecursionRule(this._rootContext,i.stateNumber,e,0):this.enterRule(this._rootContext,i.stateNumber,e);;){const h=this.atnState;switch(h.stateType){case V.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(i.isPrecedenceRule){const o=this.context,a=this._parentContextStack.pop();return this.unrollRecursionContexts(a[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(o){if(o instanceof A)this.state=L(this,te).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(e,i,r){this.overrideDecision=e,this.overrideDecisionInputIndex=i,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(e,i,r,h){this._parentContextStack.push([this.context,e.invokingState]),super.enterRecursionRule(e,i,r,h)}visitState(e){let i=1;e instanceof Ze&&(i=this.visitDecisionState(e));const r=e.transitions[i-1];switch(r.serializationType){case k.EPSILON:if(L(this,X1).get(e.stateNumber)&&!(r.target instanceof t1)){const d=this._parentContextStack[this._parentContextStack.length-1],f=this.createInterpreterRuleContext(d[0],d[1],this.context.ruleIndex);this.pushNewRecursionContext(f,L(this,te).ruleToStartState[e.ruleIndex].stateNumber,this.context.ruleIndex)}break;case k.ATOM:this.match(r.label.minElement);break;case k.RANGE:case k.SET:case k.NOT_SET:r.matches(this._input.LA(1),N.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case k.WILDCARD:this.matchWildcard();break;case k.RULE:const h=r.target,o=h.ruleIndex,a=this.createInterpreterRuleContext(this.context,e.stateNumber,o);h.isPrecedenceRule?this.enterRecursionRule(a,h.stateNumber,o,r.precedence):this.enterRule(a,r.target.stateNumber,o);break;case k.PREDICATE:const u=r;if(!this.sempred(this.context,u.ruleIndex,u.predIndex))throw new Y0(this);break;case k.ACTION:const c=r;this.action(this.context,c.ruleIndex,c.actionIndex);break;case k.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const d=r.precedence;throw new Y0(this,`precpred(_ctx, ${d})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(e){let i=1;if(e.transitions.length>1){this.errorHandler.sync(this);const r=e.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(i=this.overrideDecisionAlt,this.overrideDecisionReached=!0):i=this.interpreter.adaptivePredict(this._input,r,this.context)}return i}createInterpreterRuleContext(e,i,r){return new Qc(r,e,i)}visitRuleStopState(e){if(L(this,te).ruleToStartState[e.ruleIndex].isPrecedenceRule){const[h,o]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=o}else this.exitRule();const r=L(this,te).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(e){const i=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===i){const r=e.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,o=(h==null?void 0:h.inputStream)??null,a=[h,o];if(e instanceof e1){const u=e.getExpectedTokens();if(!u)throw new Error("Expected the exception to provide expected tokens");let c=N.INVALID_TYPE;u.isNil||(c=u.minElement);const d=this.getTokenFactory().create(a,c,r.text,N.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,d))}else{const u=this.getTokenFactory().create(a,N.INVALID_TYPE,r.text,N.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,u))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},qi=new WeakMap,te=new WeakMap,t0=new WeakMap,e0=new WeakMap,s0=new WeakMap,sn=new WeakMap,X1=new WeakMap,g(i0,"ParserInterpreter"),Dt=class{constructor(t){l(this,"tokens");l(this,"programs",new Map);l(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,e,i=Dt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(i),o=new eh(this.tokens,r,h.length,e);h.push(o)}insertBefore(t,e,i=Dt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(i),o=new S1(this.tokens,r,h.length,e);h.push(o)}replaceSingle(t,e,i=Dt.DEFAULT_PROGRAM_NAME){this.replace(t,t,e,i)}replace(t,e,i,r=Dt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof e!="number"&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);const h=this.getProgram(r),o=new Q0(this.tokens,t,e,h.length,i);h.push(o)}delete(t,e,i=Dt.DEFAULT_PROGRAM_NAME){e==null&&(e=t),this.replace(t,e,null,i)}getProgram(t){let e=this.programs.get(t);return e==null&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(t,e=Dt.DEFAULT_PROGRAM_NAME){let i;t instanceof $?i=t:i=new $(0,this.tokens.size-1),typeof t=="string"&&(e=t);const r=this.programs.get(e);let h=i.start,o=i.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new $(h,o));const a=[],u=this.reduceToSingleOperationPerIndex(r);let c=h;for(;c<=o&&c=this.tokens.size-1&&a.push(String(d.text));return a.join("")}reduceToSingleOperationPerIndex(t){for(let i=0;ih.index&&u.index<=h.lastIndex&&(t[u.instructionIndex]=null);const a=this.getKindOfOps(t,Q0,i);for(const u of a){if(u.index>=h.index&&u.lastIndex<=h.lastIndex){t[u.instructionIndex]=null;continue}const c=u.lastIndexh.lastIndex;if(u.text==null&&h.text==null&&!c)t[u.instructionIndex]=null,h.index=Math.min(u.index,h.index),h.lastIndex=Math.max(u.lastIndex,h.lastIndex);else if(!c)throw new Error(`replace op boundaries of ${h} overlap with previous ${u}`)}}for(let i=0;i=u.index&&h.index<=u.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${u}`)}}const e=new Map;for(const i of t)if(i!=null){if(e.get(i.index)!=null)throw new Error("should only be one op per index");e.set(i.index,i)}return e}catOpText(t,e){let i="",r="";return t!=null&&(i=t.toString()),e!=null&&(r=e.toString()),i+r}getKindOfOps(t,e,i){return t.slice(0,i).filter(r=>r&&r instanceof e)}},g(Dt,"TokenStreamRewriter"),l(Dt,"DEFAULT_PROGRAM_NAME","default"),l(Dt,"PROGRAM_INIT_SIZE",100),l(Dt,"MIN_TOKEN_INDEX",0);var th=(n0=class{constructor(t,e,i,r){l(this,"instructionIndex");l(this,"index");l(this,"text");l(this,"tokens");this.tokens=t,this.instructionIndex=i,this.index=e,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},g(n0,"RewriteOperation"),n0),S1=(r0=class extends th{constructor(t,e,i,r){super(t,e,i,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==N.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},g(r0,"InsertBeforeOp"),r0),eh=(h0=class extends S1{constructor(t,e,i,r){super(t,e+1,i,r)}toString(){return"'}},g(h0,"InsertAfterOp"),h0),Q0=(o0=class extends th{constructor(e,i,r,h,o){super(e,i,h,o);l(this,"lastIndex");this.lastIndex=r}execute(e){return this.text&&e.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},g(o0,"ReplaceOp"),o0);class E extends Vt{constructor(t){super(t),this.interpreter=new qe(this,E._ATN,E.decisionsToDFA,new as)}get grammarFileName(){return"ImpalaSqlLexer.g4"}get literalNames(){return E.literalNames}get symbolicNames(){return E.symbolicNames}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}get channelNames(){return E.channelNames}get modeNames(){return E.modeNames}static get _ATN(){return E.__ATN||(E.__ATN=new os().deserialize(E._serializedATN)),E.__ATN}get vocabulary(){return E.vocabulary}}E.KW_ADD=1,E.KW_ALL=2,E.KW_ANALYTIC=3,E.KW_ALTER=4,E.KW_AND=5,E.KW_ANY=6,E.KW_ANTI=7,E.KW_ARRAY=8,E.KW_AS=9,E.KW_ASC=10,E.KW_AT=11,E.KW_AGGREGATE=12,E.KW_AUTHORIZATION=13,E.KW_BERNOULLI=14,E.KW_BETWEEN=15,E.KW_BLOCK_SIZE=16,E.KW_PARTITIONED=17,E.KW_PREPARE_FN=18,E.KW_EXTERNAL=19,E.KW_CLOSEFN=20,E.KW_SORT=21,E.KW_PURGE=22,E.KW_STORED=23,E.KW_LOCATION=24,E.KW_TBLPROPERTIES=25,E.KW_BY=26,E.KW_CASCADE=27,E.KW_CASE=28,E.KW_CAST=29,E.KW_CACHED=30,E.KW_CHANGE=31,E.KW_COLUMN=32,E.KW_COLUMNS=33,E.KW_COMMENT=34,E.KW_COMPRESSION=35,E.KW_COMPUTE=36,E.KW_CREATE=37,E.KW_CROSS=38,E.KW_CURRENT=39,E.KW_CURRENT_DATE=40,E.KW_CURRENT_PATH=41,E.KW_CURRENT_TIME=42,E.KW_CURRENT_TIMESTAMP=43,E.KW_CURRENT_USER=44,E.KW_DATA=45,E.KW_DATABASE=46,E.KW_DATABASES=47,E.KW_DAY=48,E.KW_DAYS=49,E.KW_DELETE=50,E.KW_DEFAULT=51,E.KW_DELIMITED=52,E.KW_DISABLE=53,E.KW_UPDATE=54,E.KW_DESC=55,E.KW_DESCRIBE=56,E.KW_DISTINCT=57,E.KW_DROP=58,E.KW_ELSE=59,E.KW_ENCODING=60,E.KW_END=61,E.KW_ESCAPE=62,E.KW_ESCAPED=63,E.KW_EXCEPT=64,E.KW_EXCLUDING=65,E.KW_EXISTS=66,E.KW_EXPLAIN=67,E.KW_EXTRACT=68,E.KW_EXTENDED=69,E.KW_FALSE=70,E.KW_FIELDS=71,E.KW_FILEFORMAT=72,E.KW_FILES=73,E.KW_FILTER=74,E.KW_FIRST=75,E.KW_FINALIZE_FN=76,E.KW_FOLLOWING=77,E.KW_FOR=78,E.KW_FORMAT=79,E.KW_FORMATTED=80,E.KW_FOREIGN=81,E.KW_FROM=82,E.KW_FULL=83,E.KW_FUNCTION=84,E.KW_FUNCTIONS=85,E.KW_GRANT=86,E.KW_GROUP=87,E.KW_GROUPING=88,E.KW_HASH=89,E.KW_HAVING=90,E.KW_HOUR=91,E.KW_HOURS=92,E.KW_IF=93,E.KW_IN=94,E.KW_INCLUDING=95,E.KW_INCREMENTAL=96,E.KW_INNER=97,E.KW_INPATH=98,E.KW_INSERT=99,E.KW_INTERSECT=100,E.KW_INTERVAL=101,E.KW_INTERMEDIATE=102,E.KW_INTO=103,E.KW_INIT_FN=104,E.KW_IREGEXP=105,E.KW_ILIKE=106,E.KW_INVALIDATE=107,E.KW_IS=108,E.KW_JOIN=109,E.KW_KEY=110,E.KW_KUDU=111,E.KW_LAST=112,E.KW_LATERAL=113,E.KW_LEFT=114,E.KW_LIKE=115,E.KW_LIMIT=116,E.KW_LINES=117,E.KW_LOAD=118,E.KW_LOCALTIME=119,E.KW_LOCALTIMESTAMP=120,E.KW_METADATA=121,E.KW_MINUTE=122,E.KW_MINUTES=123,E.KW_MONTH=124,E.KW_MONTHS=125,E.KW_MERGE_FN=126,E.KW_NFC=127,E.KW_NFD=128,E.KW_NFKC=129,E.KW_NFKD=130,E.KW_NORMALIZE=131,E.KW_NOT=132,E.KW_NULL=133,E.KW_NULLS=134,E.KW_OFFSET=135,E.KW_ON=136,E.KW_OPTION=137,E.KW_OR=138,E.KW_ORDER=139,E.KW_ORDINALITY=140,E.KW_OUTER=141,E.KW_OWNER=142,E.KW_OVER=143,E.KW_OVERWRITE=144,E.KW_PARTITION=145,E.KW_PARTITIONS=146,E.KW_PARQUET=147,E.KW_POSITION=148,E.KW_PRECEDING=149,E.KW_PRIMARY=150,E.KW_REPLICATION=151,E.KW_PRIVILEGES=152,E.KW_PROPERTIES=153,E.KW_RANGE=154,E.KW_RECOVER=155,E.KW_RENAME=156,E.KW_REPEATABLE=157,E.KW_REPLACE=158,E.KW_RESTRICT=159,E.KW_RETURNS=160,E.KW_REVOKE=161,E.KW_REFRESH=162,E.KW_REGEXP=163,E.KW_RLIKE=164,E.KW_RIGHT=165,E.KW_ROLE=166,E.KW_ROLES=167,E.KW_ROW=168,E.KW_ROWS=169,E.KW_SCHEMA=170,E.KW_SCHEMAS=171,E.KW_SECOND=172,E.KW_SECONDS=173,E.KW_SELECT=174,E.KW_SERDEPROPERTIES=175,E.KW_SET=176,E.KW_SEMI=177,E.KW_SERVER=178,E.KW_SHOW=179,E.KW_SHUTDOWN=180,E.KW_SOME=181,E.KW_STATS=182,E.KW_STRAIGHT_JOIN=183,E.KW_SUBSTRING=184,E.KW_SYSTEM=185,E.KW_SYMBOL=186,E.KW_SERIALIZE_FN=187,E.KW_TABLE=188,E.KW_TABLES=189,E.KW_TABLESAMPLE=190,E.KW_TERMINATED=191,E.KW_THEN=192,E.KW_TO=193,E.KW_TRUE=194,E.KW_TRY_CAST=195,E.KW_TRUNCATE=196,E.KW_UNCACHED=197,E.KW_UESCAPE=198,E.KW_UNBOUNDED=199,E.KW_UNION=200,E.KW_UNNEST=201,E.KW_UNSET=202,E.KW_USE=203,E.KW_USER=204,E.KW_USING=205,E.KW_UPDATE_FN=206,E.KW_UPSERT=207,E.KW_UNKNOWN=208,E.KW_URI=209,E.KW_VALUE=210,E.KW_VALUES=211,E.KW_VIEW=212,E.KW_VIEWS=213,E.KW_WHEN=214,E.KW_WHERE=215,E.KW_WITH=216,E.KW_YEAR=217,E.KW_YEARS=218,E.KW_TEXTFILE=219,E.KW_ORC=220,E.KW_AVRO=221,E.KW_SEQUENCEFILE=222,E.KW_RCFILE=223,E.KW_REFERENCES=224,E.KW_NOVALIDATE=225,E.KW_RELY=226,E.KW_BINARY=227,E.KW_BIGINT=228,E.KW_BOOLEAN=229,E.KW_CHAR=230,E.KW_DATE=231,E.KW_DECIMAL=232,E.KW_DOUBLE=233,E.KW_INT=234,E.KW_MAP=235,E.KW_REAL=236,E.KW_SMALLINT=237,E.KW_FLOAT=238,E.KW_STRING=239,E.KW_STRUCT=240,E.KW_TIMESTAMP=241,E.KW_TINYINT=242,E.KW_VARCHAR=243,E.KW_COMPLEX=244,E.STATS_NUMDVS=245,E.STATS_NUMNULLS=246,E.STATS_AVGSIZE=247,E.STATS_MAXSIZE=248,E.EQ=249,E.NEQ=250,E.LT=251,E.LTE=252,E.GT=253,E.GTE=254,E.PLUS=255,E.MINUS=256,E.ASTERISK=257,E.SLASH=258,E.PERCENT=259,E.CONCAT=260,E.DOT=261,E.SEMICOLON=262,E.COMMA=263,E.COLON=264,E.LPAREN=265,E.RPAREN=266,E.LSQUARE=267,E.RSQUARE=268,E.LCURLY=269,E.RCURLY=270,E.BITWISEOR=271,E.QUESTION=272,E.RIGHT_ARROW=273,E.STRING=274,E.UNICODE_STRING=275,E.BINARY_LITERAL=276,E.INTEGER_VALUE=277,E.DECIMAL_VALUE=278,E.DOUBLE_VALUE=279,E.IDENTIFIER=280,E.DIGIT_IDENTIFIER=281,E.QUOTED_IDENTIFIER=282,E.BACKQUOTED_IDENTIFIER=283,E.TIME_WITH_TIME_ZONE=284,E.TIMESTAMP_WITH_TIME_ZONE=285,E.DOUBLE_PRECISION=286,E.SIMPLE_COMMENT=287,E.BRACKETED_COMMENT=288,E.WS=289,E.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],E.literalNames=[null,"'ADD'","'ALL'","'ANALYTIC'","'ALTER'","'AND'","'ANY'","'ANTI'","'ARRAY'","'AS'","'ASC'","'AT'","'AGGREGATE'","'AUTHORIZATION'","'BERNOULLI'","'BETWEEN'","'BLOCK_SIZE'","'PARTITIONED'","'PREPARE_FN'","'EXTERNAL'","'CLOSEFN'","'SORT'","'PURGE'","'STORED'","'LOCATION'","'TBLPROPERTIES'","'BY'","'CASCADE'","'CASE'","'CAST'","'CACHED'","'CHANGE'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMPRESSION'","'COMPUTE'","'CREATE'","'CROSS'","'CURRENT'","'CURRENT_DATE'","'CURRENT_PATH'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DATA'","'DATABASE'","'DATABASES'","'DAY'","'DAYS'","'DELETE'","'DEFAULT'","'DELIMITED'","'DISABLE'","'UPDATE'","'DESC'","'DESCRIBE'","'DISTINCT'","'DROP'","'ELSE'","'ENCODING'","'END'","'ESCAPE'","'ESCAPED'","'EXCEPT'","'EXCLUDING'","'EXISTS'","'EXPLAIN'","'EXTRACT'","'EXTENDED'","'FALSE'","'FIELDS'","'FILEFORMAT'","'FILES'","'FILTER'","'FIRST'","'FINALIZE_FN'","'FOLLOWING'","'FOR'","'FORMAT'","'FORMATTED'","'FOREIGN'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GRANT'","'GROUP'","'GROUPING'","'HASH'","'HAVING'","'HOUR'","'HOURS'","'IF'","'IN'","'INCLUDING'","'INCREMENTAL'","'INNER'","'INPATH'","'INSERT'","'INTERSECT'","'INTERVAL'","'INTERMEDIATE'","'INTO'","'INIT_FN'","'IREGEXP'","'ILIKE'","'INVALIDATE'","'IS'","'JOIN'","'KEY'","'KUDU'","'LAST'","'LATERAL'","'LEFT'","'LIKE'","'LIMIT'","'LINES'","'LOAD'","'LOCALTIME'","'LOCALTIMESTAMP'","'METADATA'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MERGE_FN'","'NFC'","'NFD'","'NFKC'","'NFKD'","'NORMALIZE'","'NOT'","'NULL'","'NULLS'","'OFFSET'","'ON'","'OPTION'","'OR'","'ORDER'","'ORDINALITY'","'OUTER'","'OWNER'","'OVER'","'OVERWRITE'","'PARTITION'","'PARTITIONS'","'PARQUET'","'POSITION'","'PRECEDING'","'PRIMARY'","'REPLICATION'","'PRIVILEGES'","'PROPERTIES'","'RANGE'","'RECOVER'","'RENAME'","'REPEATABLE'","'REPLACE'","'RESTRICT'","'RETURNS'","'REVOKE'","'REFRESH'","'REGEXP'","'RLIKE'","'RIGHT'","'ROLE'","'ROLES'","'ROW'","'ROWS'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECONDS'","'SELECT'","'SERDEPROPERTIES'","'SET'","'SEMI'","'SERVER'","'SHOW'","'SHUTDOWN'","'SOME'","'STATS'","'STRAIGHT_JOIN'","'SUBSTRING'","'SYSTEM'","'SYMBOL'","'SERIALIZE_FN'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TERMINATED '","'THEN'","'TO'","'TRUE'","'TRY_CAST'","'TRUNCATE'","'UNCACHED'","'UESCAPE'","'UNBOUNDED'","'UNION'","'UNNEST'","'UNSET'","'USE'","'USER'","'USING'","'UPDATE_FN'","'UPSERT'","'UNKNOWN'","'URI'","'VALUE'","'VALUES'","'VIEW'","'VIEWS'","'WHEN'","'WHERE'","'WITH'","'YEAR'","'YEARS'","'TEXTFILE'","'ORC'","'AVRO'","'SEQUENCEFILE'","'RCFILE'","'REFERENCES'","'NOVALIDATE'","'RELY'","'BINARY'","'BIGINT'","'BOOLEAN'","'CHAR'","'DATE'","'DECIMAL'","'DOUBLE'","'INT'","'MAP'","'REAL'","'SMALLINT'","'FLOAT'","'STRING'","'STRUCT'","'TIMESTAMP'","'TINYINT'","'VARCHAR'","'COMPLEX'","''NUMDVS''","''NUMNULLS''","''AVGSIZE''","''MAXSIZE''","'='",null,"'<'","'<='","'>'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'.'","';'","','","':'","'('","')'","'['","']'","'{'","'}'","'|'","'?'","'->'"],E.symbolicNames=[null,"KW_ADD","KW_ALL","KW_ANALYTIC","KW_ALTER","KW_AND","KW_ANY","KW_ANTI","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AGGREGATE","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BLOCK_SIZE","KW_PARTITIONED","KW_PREPARE_FN","KW_EXTERNAL","KW_CLOSEFN","KW_SORT","KW_PURGE","KW_STORED","KW_LOCATION","KW_TBLPROPERTIES","KW_BY","KW_CASCADE","KW_CASE","KW_CAST","KW_CACHED","KW_CHANGE","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMPRESSION","KW_COMPUTE","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DAY","KW_DAYS","KW_DELETE","KW_DEFAULT","KW_DELIMITED","KW_DISABLE","KW_UPDATE","KW_DESC","KW_DESCRIBE","KW_DISTINCT","KW_DROP","KW_ELSE","KW_ENCODING","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCLUDING","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_EXTENDED","KW_FALSE","KW_FIELDS","KW_FILEFORMAT","KW_FILES","KW_FILTER","KW_FIRST","KW_FINALIZE_FN","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FORMATTED","KW_FOREIGN","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HASH","KW_HAVING","KW_HOUR","KW_HOURS","KW_IF","KW_IN","KW_INCLUDING","KW_INCREMENTAL","KW_INNER","KW_INPATH","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTERMEDIATE","KW_INTO","KW_INIT_FN","KW_IREGEXP","KW_ILIKE","KW_INVALIDATE","KW_IS","KW_JOIN","KW_KEY","KW_KUDU","KW_LAST","KW_LATERAL","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_METADATA","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MERGE_FN","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLS","KW_OFFSET","KW_ON","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OWNER","KW_OVER","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONS","KW_PARQUET","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_REPLICATION","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_RECOVER","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_REFRESH","KW_REGEXP","KW_RLIKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROW","KW_ROWS","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SERDEPROPERTIES","KW_SET","KW_SEMI","KW_SERVER","KW_SHOW","KW_SHUTDOWN","KW_SOME","KW_STATS","KW_STRAIGHT_JOIN","KW_SUBSTRING","KW_SYSTEM","KW_SYMBOL","KW_SERIALIZE_FN","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRUE","KW_TRY_CAST","KW_TRUNCATE","KW_UNCACHED","KW_UESCAPE","KW_UNBOUNDED","KW_UNION","KW_UNNEST","KW_UNSET","KW_USE","KW_USER","KW_USING","KW_UPDATE_FN","KW_UPSERT","KW_UNKNOWN","KW_URI","KW_VALUE","KW_VALUES","KW_VIEW","KW_VIEWS","KW_WHEN","KW_WHERE","KW_WITH","KW_YEAR","KW_YEARS","KW_TEXTFILE","KW_ORC","KW_AVRO","KW_SEQUENCEFILE","KW_RCFILE","KW_REFERENCES","KW_NOVALIDATE","KW_RELY","KW_BINARY","KW_BIGINT","KW_BOOLEAN","KW_CHAR","KW_DATE","KW_DECIMAL","KW_DOUBLE","KW_INT","KW_MAP","KW_REAL","KW_SMALLINT","KW_FLOAT","KW_STRING","KW_STRUCT","KW_TIMESTAMP","KW_TINYINT","KW_VARCHAR","KW_COMPLEX","STATS_NUMDVS","STATS_NUMNULLS","STATS_AVGSIZE","STATS_MAXSIZE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","DOT","SEMICOLON","COMMA","COLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","BITWISEOR","QUESTION","RIGHT_ARROW","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","TIME_WITH_TIME_ZONE","TIMESTAMP_WITH_TIME_ZONE","DOUBLE_PRECISION","SIMPLE_COMMENT","BRACKETED_COMMENT","WS"],E.modeNames=["DEFAULT_MODE"],E.ruleNames=["KW_ADD","KW_ALL","KW_ANALYTIC","KW_ALTER","KW_AND","KW_ANY","KW_ANTI","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AGGREGATE","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BLOCK_SIZE","KW_PARTITIONED","KW_PREPARE_FN","KW_EXTERNAL","KW_CLOSEFN","KW_SORT","KW_PURGE","KW_STORED","KW_LOCATION","KW_TBLPROPERTIES","KW_BY","KW_CASCADE","KW_CASE","KW_CAST","KW_CACHED","KW_CHANGE","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMPRESSION","KW_COMPUTE","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DAY","KW_DAYS","KW_DELETE","KW_DEFAULT","KW_DELIMITED","KW_DISABLE","KW_UPDATE","KW_DESC","KW_DESCRIBE","KW_DISTINCT","KW_DROP","KW_ELSE","KW_ENCODING","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCLUDING","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_EXTENDED","KW_FALSE","KW_FIELDS","KW_FILEFORMAT","KW_FILES","KW_FILTER","KW_FIRST","KW_FINALIZE_FN","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FORMATTED","KW_FOREIGN","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HASH","KW_HAVING","KW_HOUR","KW_HOURS","KW_IF","KW_IN","KW_INCLUDING","KW_INCREMENTAL","KW_INNER","KW_INPATH","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTERMEDIATE","KW_INTO","KW_INIT_FN","KW_IREGEXP","KW_ILIKE","KW_INVALIDATE","KW_IS","KW_JOIN","KW_KEY","KW_KUDU","KW_LAST","KW_LATERAL","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_METADATA","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MERGE_FN","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLS","KW_OFFSET","KW_ON","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OWNER","KW_OVER","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONS","KW_PARQUET","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_REPLICATION","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_RECOVER","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_REFRESH","KW_REGEXP","KW_RLIKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROW","KW_ROWS","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SERDEPROPERTIES","KW_SET","KW_SEMI","KW_SERVER","KW_SHOW","KW_SHUTDOWN","KW_SOME","KW_STATS","KW_STRAIGHT_JOIN","KW_SUBSTRING","KW_SYSTEM","KW_SYMBOL","KW_SERIALIZE_FN","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRUE","KW_TRY_CAST","KW_TRUNCATE","KW_UNCACHED","KW_UESCAPE","KW_UNBOUNDED","KW_UNION","KW_UNNEST","KW_UNSET","KW_USE","KW_USER","KW_USING","KW_UPDATE_FN","KW_UPSERT","KW_UNKNOWN","KW_URI","KW_VALUE","KW_VALUES","KW_VIEW","KW_VIEWS","KW_WHEN","KW_WHERE","KW_WITH","KW_YEAR","KW_YEARS","KW_TEXTFILE","KW_ORC","KW_AVRO","KW_SEQUENCEFILE","KW_RCFILE","KW_REFERENCES","KW_NOVALIDATE","KW_RELY","KW_BINARY","KW_BIGINT","KW_BOOLEAN","KW_CHAR","KW_DATE","KW_DECIMAL","KW_DOUBLE","KW_INT","KW_MAP","KW_REAL","KW_SMALLINT","KW_FLOAT","KW_STRING","KW_STRUCT","KW_TIMESTAMP","KW_TINYINT","KW_VARCHAR","KW_COMPLEX","STATS_NUMDVS","STATS_NUMNULLS","STATS_AVGSIZE","STATS_MAXSIZE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","DOT","SEMICOLON","COMMA","COLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","BITWISEOR","QUESTION","RIGHT_ARROW","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","TIME_WITH_TIME_ZONE","TIMESTAMP_WITH_TIME_ZONE","DOUBLE_PRECISION","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS"],E._serializedATN=[4,0,289,2744,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,249,1,249,1,249,1,249,3,249,2433,8,249,1,250,1,250,1,251,1,251,1,251,1,252,1,252,1,253,1,253,1,253,1,254,1,254,1,255,1,255,1,256,1,256,1,257,1,257,1,258,1,258,1,259,1,259,1,259,1,260,1,260,1,261,1,261,1,262,1,262,1,263,1,263,1,264,1,264,1,265,1,265,1,266,1,266,1,267,1,267,1,268,1,268,1,269,1,269,1,270,1,270,1,271,1,271,1,272,1,272,1,272,1,273,1,273,1,273,1,273,5,273,2489,8,273,10,273,12,273,2492,9,273,1,273,1,273,1,273,1,273,1,273,5,273,2499,8,273,10,273,12,273,2502,9,273,1,273,3,273,2505,8,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,5,274,2514,8,274,10,274,12,274,2517,9,274,1,274,1,274,1,275,1,275,1,275,1,275,5,275,2525,8,275,10,275,12,275,2528,9,275,1,275,1,275,1,276,4,276,2533,8,276,11,276,12,276,2534,1,277,4,277,2538,8,277,11,277,12,277,2539,1,277,1,277,5,277,2544,8,277,10,277,12,277,2547,9,277,1,277,1,277,4,277,2551,8,277,11,277,12,277,2552,3,277,2555,8,277,1,278,4,278,2558,8,278,11,278,12,278,2559,1,278,1,278,5,278,2564,8,278,10,278,12,278,2567,9,278,3,278,2569,8,278,1,278,1,278,1,278,1,278,4,278,2575,8,278,11,278,12,278,2576,1,278,1,278,3,278,2581,8,278,1,279,1,279,3,279,2585,8,279,1,279,1,279,1,279,5,279,2590,8,279,10,279,12,279,2593,9,279,1,280,1,280,1,280,1,280,4,280,2599,8,280,11,280,12,280,2600,1,281,1,281,1,281,1,281,5,281,2607,8,281,10,281,12,281,2610,9,281,1,281,1,281,1,282,1,282,1,282,1,282,5,282,2618,8,282,10,282,12,282,2621,9,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,3,286,2696,8,286,1,286,4,286,2699,8,286,11,286,12,286,2700,1,287,1,287,1,288,1,288,1,289,1,289,1,289,1,289,5,289,2711,8,289,10,289,12,289,2714,9,289,1,289,3,289,2717,8,289,1,289,3,289,2720,8,289,1,289,1,289,1,290,1,290,1,290,1,290,5,290,2728,8,290,10,290,12,290,2731,9,290,1,290,1,290,1,290,1,290,1,290,1,291,4,291,2739,8,291,11,291,12,291,2740,1,291,1,291,1,2729,0,292,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,0,575,0,577,0,579,287,581,288,583,289,1,0,35,2,0,65,65,97,97,2,0,68,68,100,100,2,0,76,76,108,108,2,0,78,78,110,110,2,0,89,89,121,121,2,0,84,84,116,116,2,0,73,73,105,105,2,0,67,67,99,99,2,0,69,69,101,101,2,0,82,82,114,114,2,0,83,83,115,115,2,0,71,71,103,103,2,0,85,85,117,117,2,0,72,72,104,104,2,0,79,79,111,111,2,0,90,90,122,122,2,0,66,66,98,98,2,0,87,87,119,119,2,0,75,75,107,107,2,0,80,80,112,112,2,0,70,70,102,102,2,0,88,88,120,120,2,0,77,77,109,109,2,0,86,86,118,118,2,0,74,74,106,106,2,0,81,81,113,113,1,0,39,39,1,0,34,34,3,0,58,58,64,64,95,95,1,0,96,96,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,2777,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,1,585,1,0,0,0,3,589,1,0,0,0,5,593,1,0,0,0,7,602,1,0,0,0,9,608,1,0,0,0,11,612,1,0,0,0,13,616,1,0,0,0,15,621,1,0,0,0,17,627,1,0,0,0,19,630,1,0,0,0,21,634,1,0,0,0,23,637,1,0,0,0,25,647,1,0,0,0,27,661,1,0,0,0,29,671,1,0,0,0,31,679,1,0,0,0,33,690,1,0,0,0,35,702,1,0,0,0,37,713,1,0,0,0,39,722,1,0,0,0,41,730,1,0,0,0,43,735,1,0,0,0,45,741,1,0,0,0,47,748,1,0,0,0,49,757,1,0,0,0,51,771,1,0,0,0,53,774,1,0,0,0,55,782,1,0,0,0,57,787,1,0,0,0,59,792,1,0,0,0,61,799,1,0,0,0,63,806,1,0,0,0,65,813,1,0,0,0,67,821,1,0,0,0,69,829,1,0,0,0,71,841,1,0,0,0,73,849,1,0,0,0,75,856,1,0,0,0,77,862,1,0,0,0,79,870,1,0,0,0,81,883,1,0,0,0,83,896,1,0,0,0,85,909,1,0,0,0,87,927,1,0,0,0,89,940,1,0,0,0,91,945,1,0,0,0,93,954,1,0,0,0,95,964,1,0,0,0,97,968,1,0,0,0,99,973,1,0,0,0,101,980,1,0,0,0,103,988,1,0,0,0,105,998,1,0,0,0,107,1006,1,0,0,0,109,1013,1,0,0,0,111,1018,1,0,0,0,113,1027,1,0,0,0,115,1036,1,0,0,0,117,1041,1,0,0,0,119,1046,1,0,0,0,121,1055,1,0,0,0,123,1059,1,0,0,0,125,1066,1,0,0,0,127,1074,1,0,0,0,129,1081,1,0,0,0,131,1091,1,0,0,0,133,1098,1,0,0,0,135,1106,1,0,0,0,137,1114,1,0,0,0,139,1123,1,0,0,0,141,1129,1,0,0,0,143,1136,1,0,0,0,145,1147,1,0,0,0,147,1153,1,0,0,0,149,1160,1,0,0,0,151,1166,1,0,0,0,153,1178,1,0,0,0,155,1188,1,0,0,0,157,1192,1,0,0,0,159,1199,1,0,0,0,161,1209,1,0,0,0,163,1217,1,0,0,0,165,1222,1,0,0,0,167,1227,1,0,0,0,169,1236,1,0,0,0,171,1246,1,0,0,0,173,1252,1,0,0,0,175,1258,1,0,0,0,177,1267,1,0,0,0,179,1272,1,0,0,0,181,1279,1,0,0,0,183,1284,1,0,0,0,185,1290,1,0,0,0,187,1293,1,0,0,0,189,1296,1,0,0,0,191,1306,1,0,0,0,193,1318,1,0,0,0,195,1324,1,0,0,0,197,1331,1,0,0,0,199,1338,1,0,0,0,201,1348,1,0,0,0,203,1357,1,0,0,0,205,1370,1,0,0,0,207,1375,1,0,0,0,209,1383,1,0,0,0,211,1391,1,0,0,0,213,1397,1,0,0,0,215,1408,1,0,0,0,217,1411,1,0,0,0,219,1416,1,0,0,0,221,1420,1,0,0,0,223,1425,1,0,0,0,225,1430,1,0,0,0,227,1438,1,0,0,0,229,1443,1,0,0,0,231,1448,1,0,0,0,233,1454,1,0,0,0,235,1460,1,0,0,0,237,1465,1,0,0,0,239,1475,1,0,0,0,241,1490,1,0,0,0,243,1499,1,0,0,0,245,1506,1,0,0,0,247,1514,1,0,0,0,249,1520,1,0,0,0,251,1527,1,0,0,0,253,1536,1,0,0,0,255,1540,1,0,0,0,257,1544,1,0,0,0,259,1549,1,0,0,0,261,1554,1,0,0,0,263,1564,1,0,0,0,265,1568,1,0,0,0,267,1573,1,0,0,0,269,1579,1,0,0,0,271,1586,1,0,0,0,273,1589,1,0,0,0,275,1596,1,0,0,0,277,1599,1,0,0,0,279,1605,1,0,0,0,281,1616,1,0,0,0,283,1622,1,0,0,0,285,1628,1,0,0,0,287,1633,1,0,0,0,289,1643,1,0,0,0,291,1653,1,0,0,0,293,1664,1,0,0,0,295,1672,1,0,0,0,297,1681,1,0,0,0,299,1691,1,0,0,0,301,1699,1,0,0,0,303,1711,1,0,0,0,305,1722,1,0,0,0,307,1733,1,0,0,0,309,1739,1,0,0,0,311,1747,1,0,0,0,313,1754,1,0,0,0,315,1765,1,0,0,0,317,1773,1,0,0,0,319,1782,1,0,0,0,321,1790,1,0,0,0,323,1797,1,0,0,0,325,1805,1,0,0,0,327,1812,1,0,0,0,329,1818,1,0,0,0,331,1824,1,0,0,0,333,1829,1,0,0,0,335,1835,1,0,0,0,337,1839,1,0,0,0,339,1844,1,0,0,0,341,1851,1,0,0,0,343,1859,1,0,0,0,345,1866,1,0,0,0,347,1874,1,0,0,0,349,1881,1,0,0,0,351,1897,1,0,0,0,353,1901,1,0,0,0,355,1906,1,0,0,0,357,1913,1,0,0,0,359,1918,1,0,0,0,361,1927,1,0,0,0,363,1932,1,0,0,0,365,1938,1,0,0,0,367,1952,1,0,0,0,369,1962,1,0,0,0,371,1969,1,0,0,0,373,1976,1,0,0,0,375,1989,1,0,0,0,377,1995,1,0,0,0,379,2002,1,0,0,0,381,2014,1,0,0,0,383,2026,1,0,0,0,385,2031,1,0,0,0,387,2034,1,0,0,0,389,2039,1,0,0,0,391,2048,1,0,0,0,393,2057,1,0,0,0,395,2066,1,0,0,0,397,2074,1,0,0,0,399,2084,1,0,0,0,401,2090,1,0,0,0,403,2097,1,0,0,0,405,2103,1,0,0,0,407,2107,1,0,0,0,409,2112,1,0,0,0,411,2118,1,0,0,0,413,2128,1,0,0,0,415,2135,1,0,0,0,417,2143,1,0,0,0,419,2147,1,0,0,0,421,2153,1,0,0,0,423,2160,1,0,0,0,425,2165,1,0,0,0,427,2171,1,0,0,0,429,2176,1,0,0,0,431,2182,1,0,0,0,433,2187,1,0,0,0,435,2192,1,0,0,0,437,2198,1,0,0,0,439,2207,1,0,0,0,441,2211,1,0,0,0,443,2216,1,0,0,0,445,2229,1,0,0,0,447,2236,1,0,0,0,449,2247,1,0,0,0,451,2258,1,0,0,0,453,2263,1,0,0,0,455,2270,1,0,0,0,457,2277,1,0,0,0,459,2285,1,0,0,0,461,2290,1,0,0,0,463,2295,1,0,0,0,465,2303,1,0,0,0,467,2310,1,0,0,0,469,2314,1,0,0,0,471,2318,1,0,0,0,473,2323,1,0,0,0,475,2332,1,0,0,0,477,2338,1,0,0,0,479,2345,1,0,0,0,481,2352,1,0,0,0,483,2362,1,0,0,0,485,2370,1,0,0,0,487,2378,1,0,0,0,489,2386,1,0,0,0,491,2395,1,0,0,0,493,2406,1,0,0,0,495,2416,1,0,0,0,497,2426,1,0,0,0,499,2432,1,0,0,0,501,2434,1,0,0,0,503,2436,1,0,0,0,505,2439,1,0,0,0,507,2441,1,0,0,0,509,2444,1,0,0,0,511,2446,1,0,0,0,513,2448,1,0,0,0,515,2450,1,0,0,0,517,2452,1,0,0,0,519,2454,1,0,0,0,521,2457,1,0,0,0,523,2459,1,0,0,0,525,2461,1,0,0,0,527,2463,1,0,0,0,529,2465,1,0,0,0,531,2467,1,0,0,0,533,2469,1,0,0,0,535,2471,1,0,0,0,537,2473,1,0,0,0,539,2475,1,0,0,0,541,2477,1,0,0,0,543,2479,1,0,0,0,545,2481,1,0,0,0,547,2504,1,0,0,0,549,2506,1,0,0,0,551,2520,1,0,0,0,553,2532,1,0,0,0,555,2554,1,0,0,0,557,2580,1,0,0,0,559,2584,1,0,0,0,561,2594,1,0,0,0,563,2602,1,0,0,0,565,2613,1,0,0,0,567,2624,1,0,0,0,569,2647,1,0,0,0,571,2675,1,0,0,0,573,2693,1,0,0,0,575,2702,1,0,0,0,577,2704,1,0,0,0,579,2706,1,0,0,0,581,2723,1,0,0,0,583,2738,1,0,0,0,585,586,7,0,0,0,586,587,7,1,0,0,587,588,7,1,0,0,588,2,1,0,0,0,589,590,7,0,0,0,590,591,7,2,0,0,591,592,7,2,0,0,592,4,1,0,0,0,593,594,7,0,0,0,594,595,7,3,0,0,595,596,7,0,0,0,596,597,7,2,0,0,597,598,7,4,0,0,598,599,7,5,0,0,599,600,7,6,0,0,600,601,7,7,0,0,601,6,1,0,0,0,602,603,7,0,0,0,603,604,7,2,0,0,604,605,7,5,0,0,605,606,7,8,0,0,606,607,7,9,0,0,607,8,1,0,0,0,608,609,7,0,0,0,609,610,7,3,0,0,610,611,7,1,0,0,611,10,1,0,0,0,612,613,7,0,0,0,613,614,7,3,0,0,614,615,7,4,0,0,615,12,1,0,0,0,616,617,7,0,0,0,617,618,7,3,0,0,618,619,7,5,0,0,619,620,7,6,0,0,620,14,1,0,0,0,621,622,7,0,0,0,622,623,7,9,0,0,623,624,7,9,0,0,624,625,7,0,0,0,625,626,7,4,0,0,626,16,1,0,0,0,627,628,7,0,0,0,628,629,7,10,0,0,629,18,1,0,0,0,630,631,7,0,0,0,631,632,7,10,0,0,632,633,7,7,0,0,633,20,1,0,0,0,634,635,7,0,0,0,635,636,7,5,0,0,636,22,1,0,0,0,637,638,7,0,0,0,638,639,7,11,0,0,639,640,7,11,0,0,640,641,7,9,0,0,641,642,7,8,0,0,642,643,7,11,0,0,643,644,7,0,0,0,644,645,7,5,0,0,645,646,7,8,0,0,646,24,1,0,0,0,647,648,7,0,0,0,648,649,7,12,0,0,649,650,7,5,0,0,650,651,7,13,0,0,651,652,7,14,0,0,652,653,7,9,0,0,653,654,7,6,0,0,654,655,7,15,0,0,655,656,7,0,0,0,656,657,7,5,0,0,657,658,7,6,0,0,658,659,7,14,0,0,659,660,7,3,0,0,660,26,1,0,0,0,661,662,7,16,0,0,662,663,7,8,0,0,663,664,7,9,0,0,664,665,7,3,0,0,665,666,7,14,0,0,666,667,7,12,0,0,667,668,7,2,0,0,668,669,7,2,0,0,669,670,7,6,0,0,670,28,1,0,0,0,671,672,7,16,0,0,672,673,7,8,0,0,673,674,7,5,0,0,674,675,7,17,0,0,675,676,7,8,0,0,676,677,7,8,0,0,677,678,7,3,0,0,678,30,1,0,0,0,679,680,7,16,0,0,680,681,7,2,0,0,681,682,7,14,0,0,682,683,7,7,0,0,683,684,7,18,0,0,684,685,5,95,0,0,685,686,7,10,0,0,686,687,7,6,0,0,687,688,7,15,0,0,688,689,7,8,0,0,689,32,1,0,0,0,690,691,7,19,0,0,691,692,7,0,0,0,692,693,7,9,0,0,693,694,7,5,0,0,694,695,7,6,0,0,695,696,7,5,0,0,696,697,7,6,0,0,697,698,7,14,0,0,698,699,7,3,0,0,699,700,7,8,0,0,700,701,7,1,0,0,701,34,1,0,0,0,702,703,7,19,0,0,703,704,7,9,0,0,704,705,7,8,0,0,705,706,7,19,0,0,706,707,7,0,0,0,707,708,7,9,0,0,708,709,7,8,0,0,709,710,5,95,0,0,710,711,7,20,0,0,711,712,7,3,0,0,712,36,1,0,0,0,713,714,7,8,0,0,714,715,7,21,0,0,715,716,7,5,0,0,716,717,7,8,0,0,717,718,7,9,0,0,718,719,7,3,0,0,719,720,7,0,0,0,720,721,7,2,0,0,721,38,1,0,0,0,722,723,7,7,0,0,723,724,7,2,0,0,724,725,7,14,0,0,725,726,7,10,0,0,726,727,7,8,0,0,727,728,7,20,0,0,728,729,7,3,0,0,729,40,1,0,0,0,730,731,7,10,0,0,731,732,7,14,0,0,732,733,7,9,0,0,733,734,7,5,0,0,734,42,1,0,0,0,735,736,7,19,0,0,736,737,7,12,0,0,737,738,7,9,0,0,738,739,7,11,0,0,739,740,7,8,0,0,740,44,1,0,0,0,741,742,7,10,0,0,742,743,7,5,0,0,743,744,7,14,0,0,744,745,7,9,0,0,745,746,7,8,0,0,746,747,7,1,0,0,747,46,1,0,0,0,748,749,7,2,0,0,749,750,7,14,0,0,750,751,7,7,0,0,751,752,7,0,0,0,752,753,7,5,0,0,753,754,7,6,0,0,754,755,7,14,0,0,755,756,7,3,0,0,756,48,1,0,0,0,757,758,7,5,0,0,758,759,7,16,0,0,759,760,7,2,0,0,760,761,7,19,0,0,761,762,7,9,0,0,762,763,7,14,0,0,763,764,7,19,0,0,764,765,7,8,0,0,765,766,7,9,0,0,766,767,7,5,0,0,767,768,7,6,0,0,768,769,7,8,0,0,769,770,7,10,0,0,770,50,1,0,0,0,771,772,7,16,0,0,772,773,7,4,0,0,773,52,1,0,0,0,774,775,7,7,0,0,775,776,7,0,0,0,776,777,7,10,0,0,777,778,7,7,0,0,778,779,7,0,0,0,779,780,7,1,0,0,780,781,7,8,0,0,781,54,1,0,0,0,782,783,7,7,0,0,783,784,7,0,0,0,784,785,7,10,0,0,785,786,7,8,0,0,786,56,1,0,0,0,787,788,7,7,0,0,788,789,7,0,0,0,789,790,7,10,0,0,790,791,7,5,0,0,791,58,1,0,0,0,792,793,7,7,0,0,793,794,7,0,0,0,794,795,7,7,0,0,795,796,7,13,0,0,796,797,7,8,0,0,797,798,7,1,0,0,798,60,1,0,0,0,799,800,7,7,0,0,800,801,7,13,0,0,801,802,7,0,0,0,802,803,7,3,0,0,803,804,7,11,0,0,804,805,7,8,0,0,805,62,1,0,0,0,806,807,7,7,0,0,807,808,7,14,0,0,808,809,7,2,0,0,809,810,7,12,0,0,810,811,7,22,0,0,811,812,7,3,0,0,812,64,1,0,0,0,813,814,7,7,0,0,814,815,7,14,0,0,815,816,7,2,0,0,816,817,7,12,0,0,817,818,7,22,0,0,818,819,7,3,0,0,819,820,7,10,0,0,820,66,1,0,0,0,821,822,7,7,0,0,822,823,7,14,0,0,823,824,7,22,0,0,824,825,7,22,0,0,825,826,7,8,0,0,826,827,7,3,0,0,827,828,7,5,0,0,828,68,1,0,0,0,829,830,7,7,0,0,830,831,7,14,0,0,831,832,7,22,0,0,832,833,7,19,0,0,833,834,7,9,0,0,834,835,7,8,0,0,835,836,7,10,0,0,836,837,7,10,0,0,837,838,7,6,0,0,838,839,7,14,0,0,839,840,7,3,0,0,840,70,1,0,0,0,841,842,7,7,0,0,842,843,7,14,0,0,843,844,7,22,0,0,844,845,7,19,0,0,845,846,7,12,0,0,846,847,7,5,0,0,847,848,7,8,0,0,848,72,1,0,0,0,849,850,7,7,0,0,850,851,7,9,0,0,851,852,7,8,0,0,852,853,7,0,0,0,853,854,7,5,0,0,854,855,7,8,0,0,855,74,1,0,0,0,856,857,7,7,0,0,857,858,7,9,0,0,858,859,7,14,0,0,859,860,7,10,0,0,860,861,7,10,0,0,861,76,1,0,0,0,862,863,7,7,0,0,863,864,7,12,0,0,864,865,7,9,0,0,865,866,7,9,0,0,866,867,7,8,0,0,867,868,7,3,0,0,868,869,7,5,0,0,869,78,1,0,0,0,870,871,7,7,0,0,871,872,7,12,0,0,872,873,7,9,0,0,873,874,7,9,0,0,874,875,7,8,0,0,875,876,7,3,0,0,876,877,7,5,0,0,877,878,5,95,0,0,878,879,7,1,0,0,879,880,7,0,0,0,880,881,7,5,0,0,881,882,7,8,0,0,882,80,1,0,0,0,883,884,7,7,0,0,884,885,7,12,0,0,885,886,7,9,0,0,886,887,7,9,0,0,887,888,7,8,0,0,888,889,7,3,0,0,889,890,7,5,0,0,890,891,5,95,0,0,891,892,7,19,0,0,892,893,7,0,0,0,893,894,7,5,0,0,894,895,7,13,0,0,895,82,1,0,0,0,896,897,7,7,0,0,897,898,7,12,0,0,898,899,7,9,0,0,899,900,7,9,0,0,900,901,7,8,0,0,901,902,7,3,0,0,902,903,7,5,0,0,903,904,5,95,0,0,904,905,7,5,0,0,905,906,7,6,0,0,906,907,7,22,0,0,907,908,7,8,0,0,908,84,1,0,0,0,909,910,7,7,0,0,910,911,7,12,0,0,911,912,7,9,0,0,912,913,7,9,0,0,913,914,7,8,0,0,914,915,7,3,0,0,915,916,7,5,0,0,916,917,5,95,0,0,917,918,7,5,0,0,918,919,7,6,0,0,919,920,7,22,0,0,920,921,7,8,0,0,921,922,7,10,0,0,922,923,7,5,0,0,923,924,7,0,0,0,924,925,7,22,0,0,925,926,7,19,0,0,926,86,1,0,0,0,927,928,7,7,0,0,928,929,7,12,0,0,929,930,7,9,0,0,930,931,7,9,0,0,931,932,7,8,0,0,932,933,7,3,0,0,933,934,7,5,0,0,934,935,5,95,0,0,935,936,7,12,0,0,936,937,7,10,0,0,937,938,7,8,0,0,938,939,7,9,0,0,939,88,1,0,0,0,940,941,7,1,0,0,941,942,7,0,0,0,942,943,7,5,0,0,943,944,7,0,0,0,944,90,1,0,0,0,945,946,7,1,0,0,946,947,7,0,0,0,947,948,7,5,0,0,948,949,7,0,0,0,949,950,7,16,0,0,950,951,7,0,0,0,951,952,7,10,0,0,952,953,7,8,0,0,953,92,1,0,0,0,954,955,7,1,0,0,955,956,7,0,0,0,956,957,7,5,0,0,957,958,7,0,0,0,958,959,7,16,0,0,959,960,7,0,0,0,960,961,7,10,0,0,961,962,7,8,0,0,962,963,7,10,0,0,963,94,1,0,0,0,964,965,7,1,0,0,965,966,7,0,0,0,966,967,7,4,0,0,967,96,1,0,0,0,968,969,7,1,0,0,969,970,7,0,0,0,970,971,7,4,0,0,971,972,7,10,0,0,972,98,1,0,0,0,973,974,7,1,0,0,974,975,7,8,0,0,975,976,7,2,0,0,976,977,7,8,0,0,977,978,7,5,0,0,978,979,7,8,0,0,979,100,1,0,0,0,980,981,7,1,0,0,981,982,7,8,0,0,982,983,7,20,0,0,983,984,7,0,0,0,984,985,7,12,0,0,985,986,7,2,0,0,986,987,7,5,0,0,987,102,1,0,0,0,988,989,7,1,0,0,989,990,7,8,0,0,990,991,7,2,0,0,991,992,7,6,0,0,992,993,7,22,0,0,993,994,7,6,0,0,994,995,7,5,0,0,995,996,7,8,0,0,996,997,7,1,0,0,997,104,1,0,0,0,998,999,7,1,0,0,999,1e3,7,6,0,0,1e3,1001,7,10,0,0,1001,1002,7,0,0,0,1002,1003,7,16,0,0,1003,1004,7,2,0,0,1004,1005,7,8,0,0,1005,106,1,0,0,0,1006,1007,7,12,0,0,1007,1008,7,19,0,0,1008,1009,7,1,0,0,1009,1010,7,0,0,0,1010,1011,7,5,0,0,1011,1012,7,8,0,0,1012,108,1,0,0,0,1013,1014,7,1,0,0,1014,1015,7,8,0,0,1015,1016,7,10,0,0,1016,1017,7,7,0,0,1017,110,1,0,0,0,1018,1019,7,1,0,0,1019,1020,7,8,0,0,1020,1021,7,10,0,0,1021,1022,7,7,0,0,1022,1023,7,9,0,0,1023,1024,7,6,0,0,1024,1025,7,16,0,0,1025,1026,7,8,0,0,1026,112,1,0,0,0,1027,1028,7,1,0,0,1028,1029,7,6,0,0,1029,1030,7,10,0,0,1030,1031,7,5,0,0,1031,1032,7,6,0,0,1032,1033,7,3,0,0,1033,1034,7,7,0,0,1034,1035,7,5,0,0,1035,114,1,0,0,0,1036,1037,7,1,0,0,1037,1038,7,9,0,0,1038,1039,7,14,0,0,1039,1040,7,19,0,0,1040,116,1,0,0,0,1041,1042,7,8,0,0,1042,1043,7,2,0,0,1043,1044,7,10,0,0,1044,1045,7,8,0,0,1045,118,1,0,0,0,1046,1047,7,8,0,0,1047,1048,7,3,0,0,1048,1049,7,7,0,0,1049,1050,7,14,0,0,1050,1051,7,1,0,0,1051,1052,7,6,0,0,1052,1053,7,3,0,0,1053,1054,7,11,0,0,1054,120,1,0,0,0,1055,1056,7,8,0,0,1056,1057,7,3,0,0,1057,1058,7,1,0,0,1058,122,1,0,0,0,1059,1060,7,8,0,0,1060,1061,7,10,0,0,1061,1062,7,7,0,0,1062,1063,7,0,0,0,1063,1064,7,19,0,0,1064,1065,7,8,0,0,1065,124,1,0,0,0,1066,1067,7,8,0,0,1067,1068,7,10,0,0,1068,1069,7,7,0,0,1069,1070,7,0,0,0,1070,1071,7,19,0,0,1071,1072,7,8,0,0,1072,1073,7,1,0,0,1073,126,1,0,0,0,1074,1075,7,8,0,0,1075,1076,7,21,0,0,1076,1077,7,7,0,0,1077,1078,7,8,0,0,1078,1079,7,19,0,0,1079,1080,7,5,0,0,1080,128,1,0,0,0,1081,1082,7,8,0,0,1082,1083,7,21,0,0,1083,1084,7,7,0,0,1084,1085,7,2,0,0,1085,1086,7,12,0,0,1086,1087,7,1,0,0,1087,1088,7,6,0,0,1088,1089,7,3,0,0,1089,1090,7,11,0,0,1090,130,1,0,0,0,1091,1092,7,8,0,0,1092,1093,7,21,0,0,1093,1094,7,6,0,0,1094,1095,7,10,0,0,1095,1096,7,5,0,0,1096,1097,7,10,0,0,1097,132,1,0,0,0,1098,1099,7,8,0,0,1099,1100,7,21,0,0,1100,1101,7,19,0,0,1101,1102,7,2,0,0,1102,1103,7,0,0,0,1103,1104,7,6,0,0,1104,1105,7,3,0,0,1105,134,1,0,0,0,1106,1107,7,8,0,0,1107,1108,7,21,0,0,1108,1109,7,5,0,0,1109,1110,7,9,0,0,1110,1111,7,0,0,0,1111,1112,7,7,0,0,1112,1113,7,5,0,0,1113,136,1,0,0,0,1114,1115,7,8,0,0,1115,1116,7,21,0,0,1116,1117,7,5,0,0,1117,1118,7,8,0,0,1118,1119,7,3,0,0,1119,1120,7,1,0,0,1120,1121,7,8,0,0,1121,1122,7,1,0,0,1122,138,1,0,0,0,1123,1124,7,20,0,0,1124,1125,7,0,0,0,1125,1126,7,2,0,0,1126,1127,7,10,0,0,1127,1128,7,8,0,0,1128,140,1,0,0,0,1129,1130,7,20,0,0,1130,1131,7,6,0,0,1131,1132,7,8,0,0,1132,1133,7,2,0,0,1133,1134,7,1,0,0,1134,1135,7,10,0,0,1135,142,1,0,0,0,1136,1137,7,20,0,0,1137,1138,7,6,0,0,1138,1139,7,2,0,0,1139,1140,7,8,0,0,1140,1141,7,20,0,0,1141,1142,7,14,0,0,1142,1143,7,9,0,0,1143,1144,7,22,0,0,1144,1145,7,0,0,0,1145,1146,7,5,0,0,1146,144,1,0,0,0,1147,1148,7,20,0,0,1148,1149,7,6,0,0,1149,1150,7,2,0,0,1150,1151,7,8,0,0,1151,1152,7,10,0,0,1152,146,1,0,0,0,1153,1154,7,20,0,0,1154,1155,7,6,0,0,1155,1156,7,2,0,0,1156,1157,7,5,0,0,1157,1158,7,8,0,0,1158,1159,7,9,0,0,1159,148,1,0,0,0,1160,1161,7,20,0,0,1161,1162,7,6,0,0,1162,1163,7,9,0,0,1163,1164,7,10,0,0,1164,1165,7,5,0,0,1165,150,1,0,0,0,1166,1167,7,20,0,0,1167,1168,7,6,0,0,1168,1169,7,3,0,0,1169,1170,7,0,0,0,1170,1171,7,2,0,0,1171,1172,7,6,0,0,1172,1173,7,15,0,0,1173,1174,7,8,0,0,1174,1175,5,95,0,0,1175,1176,7,20,0,0,1176,1177,7,3,0,0,1177,152,1,0,0,0,1178,1179,7,20,0,0,1179,1180,7,14,0,0,1180,1181,7,2,0,0,1181,1182,7,2,0,0,1182,1183,7,14,0,0,1183,1184,7,17,0,0,1184,1185,7,6,0,0,1185,1186,7,3,0,0,1186,1187,7,11,0,0,1187,154,1,0,0,0,1188,1189,7,20,0,0,1189,1190,7,14,0,0,1190,1191,7,9,0,0,1191,156,1,0,0,0,1192,1193,7,20,0,0,1193,1194,7,14,0,0,1194,1195,7,9,0,0,1195,1196,7,22,0,0,1196,1197,7,0,0,0,1197,1198,7,5,0,0,1198,158,1,0,0,0,1199,1200,7,20,0,0,1200,1201,7,14,0,0,1201,1202,7,9,0,0,1202,1203,7,22,0,0,1203,1204,7,0,0,0,1204,1205,7,5,0,0,1205,1206,7,5,0,0,1206,1207,7,8,0,0,1207,1208,7,1,0,0,1208,160,1,0,0,0,1209,1210,7,20,0,0,1210,1211,7,14,0,0,1211,1212,7,9,0,0,1212,1213,7,8,0,0,1213,1214,7,6,0,0,1214,1215,7,11,0,0,1215,1216,7,3,0,0,1216,162,1,0,0,0,1217,1218,7,20,0,0,1218,1219,7,9,0,0,1219,1220,7,14,0,0,1220,1221,7,22,0,0,1221,164,1,0,0,0,1222,1223,7,20,0,0,1223,1224,7,12,0,0,1224,1225,7,2,0,0,1225,1226,7,2,0,0,1226,166,1,0,0,0,1227,1228,7,20,0,0,1228,1229,7,12,0,0,1229,1230,7,3,0,0,1230,1231,7,7,0,0,1231,1232,7,5,0,0,1232,1233,7,6,0,0,1233,1234,7,14,0,0,1234,1235,7,3,0,0,1235,168,1,0,0,0,1236,1237,7,20,0,0,1237,1238,7,12,0,0,1238,1239,7,3,0,0,1239,1240,7,7,0,0,1240,1241,7,5,0,0,1241,1242,7,6,0,0,1242,1243,7,14,0,0,1243,1244,7,3,0,0,1244,1245,7,10,0,0,1245,170,1,0,0,0,1246,1247,7,11,0,0,1247,1248,7,9,0,0,1248,1249,7,0,0,0,1249,1250,7,3,0,0,1250,1251,7,5,0,0,1251,172,1,0,0,0,1252,1253,7,11,0,0,1253,1254,7,9,0,0,1254,1255,7,14,0,0,1255,1256,7,12,0,0,1256,1257,7,19,0,0,1257,174,1,0,0,0,1258,1259,7,11,0,0,1259,1260,7,9,0,0,1260,1261,7,14,0,0,1261,1262,7,12,0,0,1262,1263,7,19,0,0,1263,1264,7,6,0,0,1264,1265,7,3,0,0,1265,1266,7,11,0,0,1266,176,1,0,0,0,1267,1268,7,13,0,0,1268,1269,7,0,0,0,1269,1270,7,10,0,0,1270,1271,7,13,0,0,1271,178,1,0,0,0,1272,1273,7,13,0,0,1273,1274,7,0,0,0,1274,1275,7,23,0,0,1275,1276,7,6,0,0,1276,1277,7,3,0,0,1277,1278,7,11,0,0,1278,180,1,0,0,0,1279,1280,7,13,0,0,1280,1281,7,14,0,0,1281,1282,7,12,0,0,1282,1283,7,9,0,0,1283,182,1,0,0,0,1284,1285,7,13,0,0,1285,1286,7,14,0,0,1286,1287,7,12,0,0,1287,1288,7,9,0,0,1288,1289,7,10,0,0,1289,184,1,0,0,0,1290,1291,7,6,0,0,1291,1292,7,20,0,0,1292,186,1,0,0,0,1293,1294,7,6,0,0,1294,1295,7,3,0,0,1295,188,1,0,0,0,1296,1297,7,6,0,0,1297,1298,7,3,0,0,1298,1299,7,7,0,0,1299,1300,7,2,0,0,1300,1301,7,12,0,0,1301,1302,7,1,0,0,1302,1303,7,6,0,0,1303,1304,7,3,0,0,1304,1305,7,11,0,0,1305,190,1,0,0,0,1306,1307,7,6,0,0,1307,1308,7,3,0,0,1308,1309,7,7,0,0,1309,1310,7,9,0,0,1310,1311,7,8,0,0,1311,1312,7,22,0,0,1312,1313,7,8,0,0,1313,1314,7,3,0,0,1314,1315,7,5,0,0,1315,1316,7,0,0,0,1316,1317,7,2,0,0,1317,192,1,0,0,0,1318,1319,7,6,0,0,1319,1320,7,3,0,0,1320,1321,7,3,0,0,1321,1322,7,8,0,0,1322,1323,7,9,0,0,1323,194,1,0,0,0,1324,1325,7,6,0,0,1325,1326,7,3,0,0,1326,1327,7,19,0,0,1327,1328,7,0,0,0,1328,1329,7,5,0,0,1329,1330,7,13,0,0,1330,196,1,0,0,0,1331,1332,7,6,0,0,1332,1333,7,3,0,0,1333,1334,7,10,0,0,1334,1335,7,8,0,0,1335,1336,7,9,0,0,1336,1337,7,5,0,0,1337,198,1,0,0,0,1338,1339,7,6,0,0,1339,1340,7,3,0,0,1340,1341,7,5,0,0,1341,1342,7,8,0,0,1342,1343,7,9,0,0,1343,1344,7,10,0,0,1344,1345,7,8,0,0,1345,1346,7,7,0,0,1346,1347,7,5,0,0,1347,200,1,0,0,0,1348,1349,7,6,0,0,1349,1350,7,3,0,0,1350,1351,7,5,0,0,1351,1352,7,8,0,0,1352,1353,7,9,0,0,1353,1354,7,23,0,0,1354,1355,7,0,0,0,1355,1356,7,2,0,0,1356,202,1,0,0,0,1357,1358,7,6,0,0,1358,1359,7,3,0,0,1359,1360,7,5,0,0,1360,1361,7,8,0,0,1361,1362,7,9,0,0,1362,1363,7,22,0,0,1363,1364,7,8,0,0,1364,1365,7,1,0,0,1365,1366,7,6,0,0,1366,1367,7,0,0,0,1367,1368,7,5,0,0,1368,1369,7,8,0,0,1369,204,1,0,0,0,1370,1371,7,6,0,0,1371,1372,7,3,0,0,1372,1373,7,5,0,0,1373,1374,7,14,0,0,1374,206,1,0,0,0,1375,1376,7,6,0,0,1376,1377,7,3,0,0,1377,1378,7,6,0,0,1378,1379,7,5,0,0,1379,1380,5,95,0,0,1380,1381,7,20,0,0,1381,1382,7,3,0,0,1382,208,1,0,0,0,1383,1384,7,6,0,0,1384,1385,7,9,0,0,1385,1386,7,8,0,0,1386,1387,7,11,0,0,1387,1388,7,8,0,0,1388,1389,7,21,0,0,1389,1390,7,19,0,0,1390,210,1,0,0,0,1391,1392,7,6,0,0,1392,1393,7,2,0,0,1393,1394,7,6,0,0,1394,1395,7,18,0,0,1395,1396,7,8,0,0,1396,212,1,0,0,0,1397,1398,7,6,0,0,1398,1399,7,3,0,0,1399,1400,7,23,0,0,1400,1401,7,0,0,0,1401,1402,7,2,0,0,1402,1403,7,6,0,0,1403,1404,7,1,0,0,1404,1405,7,0,0,0,1405,1406,7,5,0,0,1406,1407,7,8,0,0,1407,214,1,0,0,0,1408,1409,7,6,0,0,1409,1410,7,10,0,0,1410,216,1,0,0,0,1411,1412,7,24,0,0,1412,1413,7,14,0,0,1413,1414,7,6,0,0,1414,1415,7,3,0,0,1415,218,1,0,0,0,1416,1417,7,18,0,0,1417,1418,7,8,0,0,1418,1419,7,4,0,0,1419,220,1,0,0,0,1420,1421,7,18,0,0,1421,1422,7,12,0,0,1422,1423,7,1,0,0,1423,1424,7,12,0,0,1424,222,1,0,0,0,1425,1426,7,2,0,0,1426,1427,7,0,0,0,1427,1428,7,10,0,0,1428,1429,7,5,0,0,1429,224,1,0,0,0,1430,1431,7,2,0,0,1431,1432,7,0,0,0,1432,1433,7,5,0,0,1433,1434,7,8,0,0,1434,1435,7,9,0,0,1435,1436,7,0,0,0,1436,1437,7,2,0,0,1437,226,1,0,0,0,1438,1439,7,2,0,0,1439,1440,7,8,0,0,1440,1441,7,20,0,0,1441,1442,7,5,0,0,1442,228,1,0,0,0,1443,1444,7,2,0,0,1444,1445,7,6,0,0,1445,1446,7,18,0,0,1446,1447,7,8,0,0,1447,230,1,0,0,0,1448,1449,7,2,0,0,1449,1450,7,6,0,0,1450,1451,7,22,0,0,1451,1452,7,6,0,0,1452,1453,7,5,0,0,1453,232,1,0,0,0,1454,1455,7,2,0,0,1455,1456,7,6,0,0,1456,1457,7,3,0,0,1457,1458,7,8,0,0,1458,1459,7,10,0,0,1459,234,1,0,0,0,1460,1461,7,2,0,0,1461,1462,7,14,0,0,1462,1463,7,0,0,0,1463,1464,7,1,0,0,1464,236,1,0,0,0,1465,1466,7,2,0,0,1466,1467,7,14,0,0,1467,1468,7,7,0,0,1468,1469,7,0,0,0,1469,1470,7,2,0,0,1470,1471,7,5,0,0,1471,1472,7,6,0,0,1472,1473,7,22,0,0,1473,1474,7,8,0,0,1474,238,1,0,0,0,1475,1476,7,2,0,0,1476,1477,7,14,0,0,1477,1478,7,7,0,0,1478,1479,7,0,0,0,1479,1480,7,2,0,0,1480,1481,7,5,0,0,1481,1482,7,6,0,0,1482,1483,7,22,0,0,1483,1484,7,8,0,0,1484,1485,7,10,0,0,1485,1486,7,5,0,0,1486,1487,7,0,0,0,1487,1488,7,22,0,0,1488,1489,7,19,0,0,1489,240,1,0,0,0,1490,1491,7,22,0,0,1491,1492,7,8,0,0,1492,1493,7,5,0,0,1493,1494,7,0,0,0,1494,1495,7,1,0,0,1495,1496,7,0,0,0,1496,1497,7,5,0,0,1497,1498,7,0,0,0,1498,242,1,0,0,0,1499,1500,7,22,0,0,1500,1501,7,6,0,0,1501,1502,7,3,0,0,1502,1503,7,12,0,0,1503,1504,7,5,0,0,1504,1505,7,8,0,0,1505,244,1,0,0,0,1506,1507,7,22,0,0,1507,1508,7,6,0,0,1508,1509,7,3,0,0,1509,1510,7,12,0,0,1510,1511,7,5,0,0,1511,1512,7,8,0,0,1512,1513,7,10,0,0,1513,246,1,0,0,0,1514,1515,7,22,0,0,1515,1516,7,14,0,0,1516,1517,7,3,0,0,1517,1518,7,5,0,0,1518,1519,7,13,0,0,1519,248,1,0,0,0,1520,1521,7,22,0,0,1521,1522,7,14,0,0,1522,1523,7,3,0,0,1523,1524,7,5,0,0,1524,1525,7,13,0,0,1525,1526,7,10,0,0,1526,250,1,0,0,0,1527,1528,7,22,0,0,1528,1529,7,8,0,0,1529,1530,7,9,0,0,1530,1531,7,11,0,0,1531,1532,7,8,0,0,1532,1533,5,95,0,0,1533,1534,7,20,0,0,1534,1535,7,3,0,0,1535,252,1,0,0,0,1536,1537,7,3,0,0,1537,1538,7,20,0,0,1538,1539,7,7,0,0,1539,254,1,0,0,0,1540,1541,7,3,0,0,1541,1542,7,20,0,0,1542,1543,7,1,0,0,1543,256,1,0,0,0,1544,1545,7,3,0,0,1545,1546,7,20,0,0,1546,1547,7,18,0,0,1547,1548,7,7,0,0,1548,258,1,0,0,0,1549,1550,7,3,0,0,1550,1551,7,20,0,0,1551,1552,7,18,0,0,1552,1553,7,1,0,0,1553,260,1,0,0,0,1554,1555,7,3,0,0,1555,1556,7,14,0,0,1556,1557,7,9,0,0,1557,1558,7,22,0,0,1558,1559,7,0,0,0,1559,1560,7,2,0,0,1560,1561,7,6,0,0,1561,1562,7,15,0,0,1562,1563,7,8,0,0,1563,262,1,0,0,0,1564,1565,7,3,0,0,1565,1566,7,14,0,0,1566,1567,7,5,0,0,1567,264,1,0,0,0,1568,1569,7,3,0,0,1569,1570,7,12,0,0,1570,1571,7,2,0,0,1571,1572,7,2,0,0,1572,266,1,0,0,0,1573,1574,7,3,0,0,1574,1575,7,12,0,0,1575,1576,7,2,0,0,1576,1577,7,2,0,0,1577,1578,7,10,0,0,1578,268,1,0,0,0,1579,1580,7,14,0,0,1580,1581,7,20,0,0,1581,1582,7,20,0,0,1582,1583,7,10,0,0,1583,1584,7,8,0,0,1584,1585,7,5,0,0,1585,270,1,0,0,0,1586,1587,7,14,0,0,1587,1588,7,3,0,0,1588,272,1,0,0,0,1589,1590,7,14,0,0,1590,1591,7,19,0,0,1591,1592,7,5,0,0,1592,1593,7,6,0,0,1593,1594,7,14,0,0,1594,1595,7,3,0,0,1595,274,1,0,0,0,1596,1597,7,14,0,0,1597,1598,7,9,0,0,1598,276,1,0,0,0,1599,1600,7,14,0,0,1600,1601,7,9,0,0,1601,1602,7,1,0,0,1602,1603,7,8,0,0,1603,1604,7,9,0,0,1604,278,1,0,0,0,1605,1606,7,14,0,0,1606,1607,7,9,0,0,1607,1608,7,1,0,0,1608,1609,7,6,0,0,1609,1610,7,3,0,0,1610,1611,7,0,0,0,1611,1612,7,2,0,0,1612,1613,7,6,0,0,1613,1614,7,5,0,0,1614,1615,7,4,0,0,1615,280,1,0,0,0,1616,1617,7,14,0,0,1617,1618,7,12,0,0,1618,1619,7,5,0,0,1619,1620,7,8,0,0,1620,1621,7,9,0,0,1621,282,1,0,0,0,1622,1623,7,14,0,0,1623,1624,7,17,0,0,1624,1625,7,3,0,0,1625,1626,7,8,0,0,1626,1627,7,9,0,0,1627,284,1,0,0,0,1628,1629,7,14,0,0,1629,1630,7,23,0,0,1630,1631,7,8,0,0,1631,1632,7,9,0,0,1632,286,1,0,0,0,1633,1634,7,14,0,0,1634,1635,7,23,0,0,1635,1636,7,8,0,0,1636,1637,7,9,0,0,1637,1638,7,17,0,0,1638,1639,7,9,0,0,1639,1640,7,6,0,0,1640,1641,7,5,0,0,1641,1642,7,8,0,0,1642,288,1,0,0,0,1643,1644,7,19,0,0,1644,1645,7,0,0,0,1645,1646,7,9,0,0,1646,1647,7,5,0,0,1647,1648,7,6,0,0,1648,1649,7,5,0,0,1649,1650,7,6,0,0,1650,1651,7,14,0,0,1651,1652,7,3,0,0,1652,290,1,0,0,0,1653,1654,7,19,0,0,1654,1655,7,0,0,0,1655,1656,7,9,0,0,1656,1657,7,5,0,0,1657,1658,7,6,0,0,1658,1659,7,5,0,0,1659,1660,7,6,0,0,1660,1661,7,14,0,0,1661,1662,7,3,0,0,1662,1663,7,10,0,0,1663,292,1,0,0,0,1664,1665,7,19,0,0,1665,1666,7,0,0,0,1666,1667,7,9,0,0,1667,1668,7,25,0,0,1668,1669,7,12,0,0,1669,1670,7,8,0,0,1670,1671,7,5,0,0,1671,294,1,0,0,0,1672,1673,7,19,0,0,1673,1674,7,14,0,0,1674,1675,7,10,0,0,1675,1676,7,6,0,0,1676,1677,7,5,0,0,1677,1678,7,6,0,0,1678,1679,7,14,0,0,1679,1680,7,3,0,0,1680,296,1,0,0,0,1681,1682,7,19,0,0,1682,1683,7,9,0,0,1683,1684,7,8,0,0,1684,1685,7,7,0,0,1685,1686,7,8,0,0,1686,1687,7,1,0,0,1687,1688,7,6,0,0,1688,1689,7,3,0,0,1689,1690,7,11,0,0,1690,298,1,0,0,0,1691,1692,7,19,0,0,1692,1693,7,9,0,0,1693,1694,7,6,0,0,1694,1695,7,22,0,0,1695,1696,7,0,0,0,1696,1697,7,9,0,0,1697,1698,7,4,0,0,1698,300,1,0,0,0,1699,1700,7,9,0,0,1700,1701,7,8,0,0,1701,1702,7,19,0,0,1702,1703,7,2,0,0,1703,1704,7,6,0,0,1704,1705,7,7,0,0,1705,1706,7,0,0,0,1706,1707,7,5,0,0,1707,1708,7,6,0,0,1708,1709,7,14,0,0,1709,1710,7,3,0,0,1710,302,1,0,0,0,1711,1712,7,19,0,0,1712,1713,7,9,0,0,1713,1714,7,6,0,0,1714,1715,7,23,0,0,1715,1716,7,6,0,0,1716,1717,7,2,0,0,1717,1718,7,8,0,0,1718,1719,7,11,0,0,1719,1720,7,8,0,0,1720,1721,7,10,0,0,1721,304,1,0,0,0,1722,1723,7,19,0,0,1723,1724,7,9,0,0,1724,1725,7,14,0,0,1725,1726,7,19,0,0,1726,1727,7,8,0,0,1727,1728,7,9,0,0,1728,1729,7,5,0,0,1729,1730,7,6,0,0,1730,1731,7,8,0,0,1731,1732,7,10,0,0,1732,306,1,0,0,0,1733,1734,7,9,0,0,1734,1735,7,0,0,0,1735,1736,7,3,0,0,1736,1737,7,11,0,0,1737,1738,7,8,0,0,1738,308,1,0,0,0,1739,1740,7,9,0,0,1740,1741,7,8,0,0,1741,1742,7,7,0,0,1742,1743,7,14,0,0,1743,1744,7,23,0,0,1744,1745,7,8,0,0,1745,1746,7,9,0,0,1746,310,1,0,0,0,1747,1748,7,9,0,0,1748,1749,7,8,0,0,1749,1750,7,3,0,0,1750,1751,7,0,0,0,1751,1752,7,22,0,0,1752,1753,7,8,0,0,1753,312,1,0,0,0,1754,1755,7,9,0,0,1755,1756,7,8,0,0,1756,1757,7,19,0,0,1757,1758,7,8,0,0,1758,1759,7,0,0,0,1759,1760,7,5,0,0,1760,1761,7,0,0,0,1761,1762,7,16,0,0,1762,1763,7,2,0,0,1763,1764,7,8,0,0,1764,314,1,0,0,0,1765,1766,7,9,0,0,1766,1767,7,8,0,0,1767,1768,7,19,0,0,1768,1769,7,2,0,0,1769,1770,7,0,0,0,1770,1771,7,7,0,0,1771,1772,7,8,0,0,1772,316,1,0,0,0,1773,1774,7,9,0,0,1774,1775,7,8,0,0,1775,1776,7,10,0,0,1776,1777,7,5,0,0,1777,1778,7,9,0,0,1778,1779,7,6,0,0,1779,1780,7,7,0,0,1780,1781,7,5,0,0,1781,318,1,0,0,0,1782,1783,7,9,0,0,1783,1784,7,8,0,0,1784,1785,7,5,0,0,1785,1786,7,12,0,0,1786,1787,7,9,0,0,1787,1788,7,3,0,0,1788,1789,7,10,0,0,1789,320,1,0,0,0,1790,1791,7,9,0,0,1791,1792,7,8,0,0,1792,1793,7,23,0,0,1793,1794,7,14,0,0,1794,1795,7,18,0,0,1795,1796,7,8,0,0,1796,322,1,0,0,0,1797,1798,7,9,0,0,1798,1799,7,8,0,0,1799,1800,7,20,0,0,1800,1801,7,9,0,0,1801,1802,7,8,0,0,1802,1803,7,10,0,0,1803,1804,7,13,0,0,1804,324,1,0,0,0,1805,1806,7,9,0,0,1806,1807,7,8,0,0,1807,1808,7,11,0,0,1808,1809,7,8,0,0,1809,1810,7,21,0,0,1810,1811,7,19,0,0,1811,326,1,0,0,0,1812,1813,7,9,0,0,1813,1814,7,2,0,0,1814,1815,7,6,0,0,1815,1816,7,18,0,0,1816,1817,7,8,0,0,1817,328,1,0,0,0,1818,1819,7,9,0,0,1819,1820,7,6,0,0,1820,1821,7,11,0,0,1821,1822,7,13,0,0,1822,1823,7,5,0,0,1823,330,1,0,0,0,1824,1825,7,9,0,0,1825,1826,7,14,0,0,1826,1827,7,2,0,0,1827,1828,7,8,0,0,1828,332,1,0,0,0,1829,1830,7,9,0,0,1830,1831,7,14,0,0,1831,1832,7,2,0,0,1832,1833,7,8,0,0,1833,1834,7,10,0,0,1834,334,1,0,0,0,1835,1836,7,9,0,0,1836,1837,7,14,0,0,1837,1838,7,17,0,0,1838,336,1,0,0,0,1839,1840,7,9,0,0,1840,1841,7,14,0,0,1841,1842,7,17,0,0,1842,1843,7,10,0,0,1843,338,1,0,0,0,1844,1845,7,10,0,0,1845,1846,7,7,0,0,1846,1847,7,13,0,0,1847,1848,7,8,0,0,1848,1849,7,22,0,0,1849,1850,7,0,0,0,1850,340,1,0,0,0,1851,1852,7,10,0,0,1852,1853,7,7,0,0,1853,1854,7,13,0,0,1854,1855,7,8,0,0,1855,1856,7,22,0,0,1856,1857,7,0,0,0,1857,1858,7,10,0,0,1858,342,1,0,0,0,1859,1860,7,10,0,0,1860,1861,7,8,0,0,1861,1862,7,7,0,0,1862,1863,7,14,0,0,1863,1864,7,3,0,0,1864,1865,7,1,0,0,1865,344,1,0,0,0,1866,1867,7,10,0,0,1867,1868,7,8,0,0,1868,1869,7,7,0,0,1869,1870,7,14,0,0,1870,1871,7,3,0,0,1871,1872,7,1,0,0,1872,1873,7,10,0,0,1873,346,1,0,0,0,1874,1875,7,10,0,0,1875,1876,7,8,0,0,1876,1877,7,2,0,0,1877,1878,7,8,0,0,1878,1879,7,7,0,0,1879,1880,7,5,0,0,1880,348,1,0,0,0,1881,1882,7,10,0,0,1882,1883,7,8,0,0,1883,1884,7,9,0,0,1884,1885,7,1,0,0,1885,1886,7,8,0,0,1886,1887,7,19,0,0,1887,1888,7,9,0,0,1888,1889,7,14,0,0,1889,1890,7,19,0,0,1890,1891,7,8,0,0,1891,1892,7,9,0,0,1892,1893,7,5,0,0,1893,1894,7,6,0,0,1894,1895,7,8,0,0,1895,1896,7,10,0,0,1896,350,1,0,0,0,1897,1898,7,10,0,0,1898,1899,7,8,0,0,1899,1900,7,5,0,0,1900,352,1,0,0,0,1901,1902,7,10,0,0,1902,1903,7,8,0,0,1903,1904,7,22,0,0,1904,1905,7,6,0,0,1905,354,1,0,0,0,1906,1907,7,10,0,0,1907,1908,7,8,0,0,1908,1909,7,9,0,0,1909,1910,7,23,0,0,1910,1911,7,8,0,0,1911,1912,7,9,0,0,1912,356,1,0,0,0,1913,1914,7,10,0,0,1914,1915,7,13,0,0,1915,1916,7,14,0,0,1916,1917,7,17,0,0,1917,358,1,0,0,0,1918,1919,7,10,0,0,1919,1920,7,13,0,0,1920,1921,7,12,0,0,1921,1922,7,5,0,0,1922,1923,7,1,0,0,1923,1924,7,14,0,0,1924,1925,7,17,0,0,1925,1926,7,3,0,0,1926,360,1,0,0,0,1927,1928,7,10,0,0,1928,1929,7,14,0,0,1929,1930,7,22,0,0,1930,1931,7,8,0,0,1931,362,1,0,0,0,1932,1933,7,10,0,0,1933,1934,7,5,0,0,1934,1935,7,0,0,0,1935,1936,7,5,0,0,1936,1937,7,10,0,0,1937,364,1,0,0,0,1938,1939,7,10,0,0,1939,1940,7,5,0,0,1940,1941,7,9,0,0,1941,1942,7,0,0,0,1942,1943,7,6,0,0,1943,1944,7,11,0,0,1944,1945,7,13,0,0,1945,1946,7,5,0,0,1946,1947,5,95,0,0,1947,1948,7,24,0,0,1948,1949,7,14,0,0,1949,1950,7,6,0,0,1950,1951,7,3,0,0,1951,366,1,0,0,0,1952,1953,7,10,0,0,1953,1954,7,12,0,0,1954,1955,7,16,0,0,1955,1956,7,10,0,0,1956,1957,7,5,0,0,1957,1958,7,9,0,0,1958,1959,7,6,0,0,1959,1960,7,3,0,0,1960,1961,7,11,0,0,1961,368,1,0,0,0,1962,1963,7,10,0,0,1963,1964,7,4,0,0,1964,1965,7,10,0,0,1965,1966,7,5,0,0,1966,1967,7,8,0,0,1967,1968,7,22,0,0,1968,370,1,0,0,0,1969,1970,7,10,0,0,1970,1971,7,4,0,0,1971,1972,7,22,0,0,1972,1973,7,16,0,0,1973,1974,7,14,0,0,1974,1975,7,2,0,0,1975,372,1,0,0,0,1976,1977,7,10,0,0,1977,1978,7,8,0,0,1978,1979,7,9,0,0,1979,1980,7,6,0,0,1980,1981,7,0,0,0,1981,1982,7,2,0,0,1982,1983,7,6,0,0,1983,1984,7,15,0,0,1984,1985,7,8,0,0,1985,1986,5,95,0,0,1986,1987,7,20,0,0,1987,1988,7,3,0,0,1988,374,1,0,0,0,1989,1990,7,5,0,0,1990,1991,7,0,0,0,1991,1992,7,16,0,0,1992,1993,7,2,0,0,1993,1994,7,8,0,0,1994,376,1,0,0,0,1995,1996,7,5,0,0,1996,1997,7,0,0,0,1997,1998,7,16,0,0,1998,1999,7,2,0,0,1999,2e3,7,8,0,0,2e3,2001,7,10,0,0,2001,378,1,0,0,0,2002,2003,7,5,0,0,2003,2004,7,0,0,0,2004,2005,7,16,0,0,2005,2006,7,2,0,0,2006,2007,7,8,0,0,2007,2008,7,10,0,0,2008,2009,7,0,0,0,2009,2010,7,22,0,0,2010,2011,7,19,0,0,2011,2012,7,2,0,0,2012,2013,7,8,0,0,2013,380,1,0,0,0,2014,2015,7,5,0,0,2015,2016,7,8,0,0,2016,2017,7,9,0,0,2017,2018,7,22,0,0,2018,2019,7,6,0,0,2019,2020,7,3,0,0,2020,2021,7,0,0,0,2021,2022,7,5,0,0,2022,2023,7,8,0,0,2023,2024,7,1,0,0,2024,2025,5,32,0,0,2025,382,1,0,0,0,2026,2027,7,5,0,0,2027,2028,7,13,0,0,2028,2029,7,8,0,0,2029,2030,7,3,0,0,2030,384,1,0,0,0,2031,2032,7,5,0,0,2032,2033,7,14,0,0,2033,386,1,0,0,0,2034,2035,7,5,0,0,2035,2036,7,9,0,0,2036,2037,7,12,0,0,2037,2038,7,8,0,0,2038,388,1,0,0,0,2039,2040,7,5,0,0,2040,2041,7,9,0,0,2041,2042,7,4,0,0,2042,2043,5,95,0,0,2043,2044,7,7,0,0,2044,2045,7,0,0,0,2045,2046,7,10,0,0,2046,2047,7,5,0,0,2047,390,1,0,0,0,2048,2049,7,5,0,0,2049,2050,7,9,0,0,2050,2051,7,12,0,0,2051,2052,7,3,0,0,2052,2053,7,7,0,0,2053,2054,7,0,0,0,2054,2055,7,5,0,0,2055,2056,7,8,0,0,2056,392,1,0,0,0,2057,2058,7,12,0,0,2058,2059,7,3,0,0,2059,2060,7,7,0,0,2060,2061,7,0,0,0,2061,2062,7,7,0,0,2062,2063,7,13,0,0,2063,2064,7,8,0,0,2064,2065,7,1,0,0,2065,394,1,0,0,0,2066,2067,7,12,0,0,2067,2068,7,8,0,0,2068,2069,7,10,0,0,2069,2070,7,7,0,0,2070,2071,7,0,0,0,2071,2072,7,19,0,0,2072,2073,7,8,0,0,2073,396,1,0,0,0,2074,2075,7,12,0,0,2075,2076,7,3,0,0,2076,2077,7,16,0,0,2077,2078,7,14,0,0,2078,2079,7,12,0,0,2079,2080,7,3,0,0,2080,2081,7,1,0,0,2081,2082,7,8,0,0,2082,2083,7,1,0,0,2083,398,1,0,0,0,2084,2085,7,12,0,0,2085,2086,7,3,0,0,2086,2087,7,6,0,0,2087,2088,7,14,0,0,2088,2089,7,3,0,0,2089,400,1,0,0,0,2090,2091,7,12,0,0,2091,2092,7,3,0,0,2092,2093,7,3,0,0,2093,2094,7,8,0,0,2094,2095,7,10,0,0,2095,2096,7,5,0,0,2096,402,1,0,0,0,2097,2098,7,12,0,0,2098,2099,7,3,0,0,2099,2100,7,10,0,0,2100,2101,7,8,0,0,2101,2102,7,5,0,0,2102,404,1,0,0,0,2103,2104,7,12,0,0,2104,2105,7,10,0,0,2105,2106,7,8,0,0,2106,406,1,0,0,0,2107,2108,7,12,0,0,2108,2109,7,10,0,0,2109,2110,7,8,0,0,2110,2111,7,9,0,0,2111,408,1,0,0,0,2112,2113,7,12,0,0,2113,2114,7,10,0,0,2114,2115,7,6,0,0,2115,2116,7,3,0,0,2116,2117,7,11,0,0,2117,410,1,0,0,0,2118,2119,7,12,0,0,2119,2120,7,19,0,0,2120,2121,7,1,0,0,2121,2122,7,0,0,0,2122,2123,7,5,0,0,2123,2124,7,8,0,0,2124,2125,5,95,0,0,2125,2126,7,20,0,0,2126,2127,7,3,0,0,2127,412,1,0,0,0,2128,2129,7,12,0,0,2129,2130,7,19,0,0,2130,2131,7,10,0,0,2131,2132,7,8,0,0,2132,2133,7,9,0,0,2133,2134,7,5,0,0,2134,414,1,0,0,0,2135,2136,7,12,0,0,2136,2137,7,3,0,0,2137,2138,7,18,0,0,2138,2139,7,3,0,0,2139,2140,7,14,0,0,2140,2141,7,17,0,0,2141,2142,7,3,0,0,2142,416,1,0,0,0,2143,2144,7,12,0,0,2144,2145,7,9,0,0,2145,2146,7,6,0,0,2146,418,1,0,0,0,2147,2148,7,23,0,0,2148,2149,7,0,0,0,2149,2150,7,2,0,0,2150,2151,7,12,0,0,2151,2152,7,8,0,0,2152,420,1,0,0,0,2153,2154,7,23,0,0,2154,2155,7,0,0,0,2155,2156,7,2,0,0,2156,2157,7,12,0,0,2157,2158,7,8,0,0,2158,2159,7,10,0,0,2159,422,1,0,0,0,2160,2161,7,23,0,0,2161,2162,7,6,0,0,2162,2163,7,8,0,0,2163,2164,7,17,0,0,2164,424,1,0,0,0,2165,2166,7,23,0,0,2166,2167,7,6,0,0,2167,2168,7,8,0,0,2168,2169,7,17,0,0,2169,2170,7,10,0,0,2170,426,1,0,0,0,2171,2172,7,17,0,0,2172,2173,7,13,0,0,2173,2174,7,8,0,0,2174,2175,7,3,0,0,2175,428,1,0,0,0,2176,2177,7,17,0,0,2177,2178,7,13,0,0,2178,2179,7,8,0,0,2179,2180,7,9,0,0,2180,2181,7,8,0,0,2181,430,1,0,0,0,2182,2183,7,17,0,0,2183,2184,7,6,0,0,2184,2185,7,5,0,0,2185,2186,7,13,0,0,2186,432,1,0,0,0,2187,2188,7,4,0,0,2188,2189,7,8,0,0,2189,2190,7,0,0,0,2190,2191,7,9,0,0,2191,434,1,0,0,0,2192,2193,7,4,0,0,2193,2194,7,8,0,0,2194,2195,7,0,0,0,2195,2196,7,9,0,0,2196,2197,7,10,0,0,2197,436,1,0,0,0,2198,2199,7,5,0,0,2199,2200,7,8,0,0,2200,2201,7,21,0,0,2201,2202,7,5,0,0,2202,2203,7,20,0,0,2203,2204,7,6,0,0,2204,2205,7,2,0,0,2205,2206,7,8,0,0,2206,438,1,0,0,0,2207,2208,7,14,0,0,2208,2209,7,9,0,0,2209,2210,7,7,0,0,2210,440,1,0,0,0,2211,2212,7,0,0,0,2212,2213,7,23,0,0,2213,2214,7,9,0,0,2214,2215,7,14,0,0,2215,442,1,0,0,0,2216,2217,7,10,0,0,2217,2218,7,8,0,0,2218,2219,7,25,0,0,2219,2220,7,12,0,0,2220,2221,7,8,0,0,2221,2222,7,3,0,0,2222,2223,7,7,0,0,2223,2224,7,8,0,0,2224,2225,7,20,0,0,2225,2226,7,6,0,0,2226,2227,7,2,0,0,2227,2228,7,8,0,0,2228,444,1,0,0,0,2229,2230,7,9,0,0,2230,2231,7,7,0,0,2231,2232,7,20,0,0,2232,2233,7,6,0,0,2233,2234,7,2,0,0,2234,2235,7,8,0,0,2235,446,1,0,0,0,2236,2237,7,9,0,0,2237,2238,7,8,0,0,2238,2239,7,20,0,0,2239,2240,7,8,0,0,2240,2241,7,9,0,0,2241,2242,7,8,0,0,2242,2243,7,3,0,0,2243,2244,7,7,0,0,2244,2245,7,8,0,0,2245,2246,7,10,0,0,2246,448,1,0,0,0,2247,2248,7,3,0,0,2248,2249,7,14,0,0,2249,2250,7,23,0,0,2250,2251,7,0,0,0,2251,2252,7,2,0,0,2252,2253,7,6,0,0,2253,2254,7,1,0,0,2254,2255,7,0,0,0,2255,2256,7,5,0,0,2256,2257,7,8,0,0,2257,450,1,0,0,0,2258,2259,7,9,0,0,2259,2260,7,8,0,0,2260,2261,7,2,0,0,2261,2262,7,4,0,0,2262,452,1,0,0,0,2263,2264,7,16,0,0,2264,2265,7,6,0,0,2265,2266,7,3,0,0,2266,2267,7,0,0,0,2267,2268,7,9,0,0,2268,2269,7,4,0,0,2269,454,1,0,0,0,2270,2271,7,16,0,0,2271,2272,7,6,0,0,2272,2273,7,11,0,0,2273,2274,7,6,0,0,2274,2275,7,3,0,0,2275,2276,7,5,0,0,2276,456,1,0,0,0,2277,2278,7,16,0,0,2278,2279,7,14,0,0,2279,2280,7,14,0,0,2280,2281,7,2,0,0,2281,2282,7,8,0,0,2282,2283,7,0,0,0,2283,2284,7,3,0,0,2284,458,1,0,0,0,2285,2286,7,7,0,0,2286,2287,7,13,0,0,2287,2288,7,0,0,0,2288,2289,7,9,0,0,2289,460,1,0,0,0,2290,2291,7,1,0,0,2291,2292,7,0,0,0,2292,2293,7,5,0,0,2293,2294,7,8,0,0,2294,462,1,0,0,0,2295,2296,7,1,0,0,2296,2297,7,8,0,0,2297,2298,7,7,0,0,2298,2299,7,6,0,0,2299,2300,7,22,0,0,2300,2301,7,0,0,0,2301,2302,7,2,0,0,2302,464,1,0,0,0,2303,2304,7,1,0,0,2304,2305,7,14,0,0,2305,2306,7,12,0,0,2306,2307,7,16,0,0,2307,2308,7,2,0,0,2308,2309,7,8,0,0,2309,466,1,0,0,0,2310,2311,7,6,0,0,2311,2312,7,3,0,0,2312,2313,7,5,0,0,2313,468,1,0,0,0,2314,2315,7,22,0,0,2315,2316,7,0,0,0,2316,2317,7,19,0,0,2317,470,1,0,0,0,2318,2319,7,9,0,0,2319,2320,7,8,0,0,2320,2321,7,0,0,0,2321,2322,7,2,0,0,2322,472,1,0,0,0,2323,2324,7,10,0,0,2324,2325,7,22,0,0,2325,2326,7,0,0,0,2326,2327,7,2,0,0,2327,2328,7,2,0,0,2328,2329,7,6,0,0,2329,2330,7,3,0,0,2330,2331,7,5,0,0,2331,474,1,0,0,0,2332,2333,7,20,0,0,2333,2334,7,2,0,0,2334,2335,7,14,0,0,2335,2336,7,0,0,0,2336,2337,7,5,0,0,2337,476,1,0,0,0,2338,2339,7,10,0,0,2339,2340,7,5,0,0,2340,2341,7,9,0,0,2341,2342,7,6,0,0,2342,2343,7,3,0,0,2343,2344,7,11,0,0,2344,478,1,0,0,0,2345,2346,7,10,0,0,2346,2347,7,5,0,0,2347,2348,7,9,0,0,2348,2349,7,12,0,0,2349,2350,7,7,0,0,2350,2351,7,5,0,0,2351,480,1,0,0,0,2352,2353,7,5,0,0,2353,2354,7,6,0,0,2354,2355,7,22,0,0,2355,2356,7,8,0,0,2356,2357,7,10,0,0,2357,2358,7,5,0,0,2358,2359,7,0,0,0,2359,2360,7,22,0,0,2360,2361,7,19,0,0,2361,482,1,0,0,0,2362,2363,7,5,0,0,2363,2364,7,6,0,0,2364,2365,7,3,0,0,2365,2366,7,4,0,0,2366,2367,7,6,0,0,2367,2368,7,3,0,0,2368,2369,7,5,0,0,2369,484,1,0,0,0,2370,2371,7,23,0,0,2371,2372,7,0,0,0,2372,2373,7,9,0,0,2373,2374,7,7,0,0,2374,2375,7,13,0,0,2375,2376,7,0,0,0,2376,2377,7,9,0,0,2377,486,1,0,0,0,2378,2379,7,7,0,0,2379,2380,7,14,0,0,2380,2381,7,22,0,0,2381,2382,7,19,0,0,2382,2383,7,2,0,0,2383,2384,7,8,0,0,2384,2385,7,21,0,0,2385,488,1,0,0,0,2386,2387,5,39,0,0,2387,2388,7,3,0,0,2388,2389,7,12,0,0,2389,2390,7,22,0,0,2390,2391,7,1,0,0,2391,2392,7,23,0,0,2392,2393,7,10,0,0,2393,2394,5,39,0,0,2394,490,1,0,0,0,2395,2396,5,39,0,0,2396,2397,7,3,0,0,2397,2398,7,12,0,0,2398,2399,7,22,0,0,2399,2400,7,3,0,0,2400,2401,7,12,0,0,2401,2402,7,2,0,0,2402,2403,7,2,0,0,2403,2404,7,10,0,0,2404,2405,5,39,0,0,2405,492,1,0,0,0,2406,2407,5,39,0,0,2407,2408,7,0,0,0,2408,2409,7,23,0,0,2409,2410,7,11,0,0,2410,2411,7,10,0,0,2411,2412,7,6,0,0,2412,2413,7,15,0,0,2413,2414,7,8,0,0,2414,2415,5,39,0,0,2415,494,1,0,0,0,2416,2417,5,39,0,0,2417,2418,7,22,0,0,2418,2419,7,0,0,0,2419,2420,7,21,0,0,2420,2421,7,10,0,0,2421,2422,7,6,0,0,2422,2423,7,15,0,0,2423,2424,7,8,0,0,2424,2425,5,39,0,0,2425,496,1,0,0,0,2426,2427,5,61,0,0,2427,498,1,0,0,0,2428,2429,5,60,0,0,2429,2433,5,62,0,0,2430,2431,5,33,0,0,2431,2433,5,61,0,0,2432,2428,1,0,0,0,2432,2430,1,0,0,0,2433,500,1,0,0,0,2434,2435,5,60,0,0,2435,502,1,0,0,0,2436,2437,5,60,0,0,2437,2438,5,61,0,0,2438,504,1,0,0,0,2439,2440,5,62,0,0,2440,506,1,0,0,0,2441,2442,5,62,0,0,2442,2443,5,61,0,0,2443,508,1,0,0,0,2444,2445,5,43,0,0,2445,510,1,0,0,0,2446,2447,5,45,0,0,2447,512,1,0,0,0,2448,2449,5,42,0,0,2449,514,1,0,0,0,2450,2451,5,47,0,0,2451,516,1,0,0,0,2452,2453,5,37,0,0,2453,518,1,0,0,0,2454,2455,5,124,0,0,2455,2456,5,124,0,0,2456,520,1,0,0,0,2457,2458,5,46,0,0,2458,522,1,0,0,0,2459,2460,5,59,0,0,2460,524,1,0,0,0,2461,2462,5,44,0,0,2462,526,1,0,0,0,2463,2464,5,58,0,0,2464,528,1,0,0,0,2465,2466,5,40,0,0,2466,530,1,0,0,0,2467,2468,5,41,0,0,2468,532,1,0,0,0,2469,2470,5,91,0,0,2470,534,1,0,0,0,2471,2472,5,93,0,0,2472,536,1,0,0,0,2473,2474,5,123,0,0,2474,538,1,0,0,0,2475,2476,5,125,0,0,2476,540,1,0,0,0,2477,2478,5,124,0,0,2478,542,1,0,0,0,2479,2480,5,63,0,0,2480,544,1,0,0,0,2481,2482,5,45,0,0,2482,2483,5,62,0,0,2483,546,1,0,0,0,2484,2490,5,39,0,0,2485,2489,8,26,0,0,2486,2487,5,39,0,0,2487,2489,5,39,0,0,2488,2485,1,0,0,0,2488,2486,1,0,0,0,2489,2492,1,0,0,0,2490,2488,1,0,0,0,2490,2491,1,0,0,0,2491,2493,1,0,0,0,2492,2490,1,0,0,0,2493,2505,5,39,0,0,2494,2500,5,34,0,0,2495,2499,8,27,0,0,2496,2497,5,34,0,0,2497,2499,5,34,0,0,2498,2495,1,0,0,0,2498,2496,1,0,0,0,2499,2502,1,0,0,0,2500,2498,1,0,0,0,2500,2501,1,0,0,0,2501,2503,1,0,0,0,2502,2500,1,0,0,0,2503,2505,5,34,0,0,2504,2484,1,0,0,0,2504,2494,1,0,0,0,2505,548,1,0,0,0,2506,2507,7,12,0,0,2507,2508,5,38,0,0,2508,2509,5,39,0,0,2509,2515,1,0,0,0,2510,2514,8,26,0,0,2511,2512,5,39,0,0,2512,2514,5,39,0,0,2513,2510,1,0,0,0,2513,2511,1,0,0,0,2514,2517,1,0,0,0,2515,2513,1,0,0,0,2515,2516,1,0,0,0,2516,2518,1,0,0,0,2517,2515,1,0,0,0,2518,2519,5,39,0,0,2519,550,1,0,0,0,2520,2521,7,21,0,0,2521,2522,5,39,0,0,2522,2526,1,0,0,0,2523,2525,8,26,0,0,2524,2523,1,0,0,0,2525,2528,1,0,0,0,2526,2524,1,0,0,0,2526,2527,1,0,0,0,2527,2529,1,0,0,0,2528,2526,1,0,0,0,2529,2530,5,39,0,0,2530,552,1,0,0,0,2531,2533,3,575,287,0,2532,2531,1,0,0,0,2533,2534,1,0,0,0,2534,2532,1,0,0,0,2534,2535,1,0,0,0,2535,554,1,0,0,0,2536,2538,3,575,287,0,2537,2536,1,0,0,0,2538,2539,1,0,0,0,2539,2537,1,0,0,0,2539,2540,1,0,0,0,2540,2541,1,0,0,0,2541,2545,5,46,0,0,2542,2544,3,575,287,0,2543,2542,1,0,0,0,2544,2547,1,0,0,0,2545,2543,1,0,0,0,2545,2546,1,0,0,0,2546,2555,1,0,0,0,2547,2545,1,0,0,0,2548,2550,5,46,0,0,2549,2551,3,575,287,0,2550,2549,1,0,0,0,2551,2552,1,0,0,0,2552,2550,1,0,0,0,2552,2553,1,0,0,0,2553,2555,1,0,0,0,2554,2537,1,0,0,0,2554,2548,1,0,0,0,2555,556,1,0,0,0,2556,2558,3,575,287,0,2557,2556,1,0,0,0,2558,2559,1,0,0,0,2559,2557,1,0,0,0,2559,2560,1,0,0,0,2560,2568,1,0,0,0,2561,2565,5,46,0,0,2562,2564,3,575,287,0,2563,2562,1,0,0,0,2564,2567,1,0,0,0,2565,2563,1,0,0,0,2565,2566,1,0,0,0,2566,2569,1,0,0,0,2567,2565,1,0,0,0,2568,2561,1,0,0,0,2568,2569,1,0,0,0,2569,2570,1,0,0,0,2570,2571,3,573,286,0,2571,2581,1,0,0,0,2572,2574,5,46,0,0,2573,2575,3,575,287,0,2574,2573,1,0,0,0,2575,2576,1,0,0,0,2576,2574,1,0,0,0,2576,2577,1,0,0,0,2577,2578,1,0,0,0,2578,2579,3,573,286,0,2579,2581,1,0,0,0,2580,2557,1,0,0,0,2580,2572,1,0,0,0,2581,558,1,0,0,0,2582,2585,3,577,288,0,2583,2585,5,95,0,0,2584,2582,1,0,0,0,2584,2583,1,0,0,0,2585,2591,1,0,0,0,2586,2590,3,577,288,0,2587,2590,3,575,287,0,2588,2590,7,28,0,0,2589,2586,1,0,0,0,2589,2587,1,0,0,0,2589,2588,1,0,0,0,2590,2593,1,0,0,0,2591,2589,1,0,0,0,2591,2592,1,0,0,0,2592,560,1,0,0,0,2593,2591,1,0,0,0,2594,2598,3,575,287,0,2595,2599,3,577,288,0,2596,2599,3,575,287,0,2597,2599,7,28,0,0,2598,2595,1,0,0,0,2598,2596,1,0,0,0,2598,2597,1,0,0,0,2599,2600,1,0,0,0,2600,2598,1,0,0,0,2600,2601,1,0,0,0,2601,562,1,0,0,0,2602,2608,5,34,0,0,2603,2607,8,27,0,0,2604,2605,5,34,0,0,2605,2607,5,34,0,0,2606,2603,1,0,0,0,2606,2604,1,0,0,0,2607,2610,1,0,0,0,2608,2606,1,0,0,0,2608,2609,1,0,0,0,2609,2611,1,0,0,0,2610,2608,1,0,0,0,2611,2612,5,34,0,0,2612,564,1,0,0,0,2613,2619,5,96,0,0,2614,2618,8,29,0,0,2615,2616,5,96,0,0,2616,2618,5,96,0,0,2617,2614,1,0,0,0,2617,2615,1,0,0,0,2618,2621,1,0,0,0,2619,2617,1,0,0,0,2619,2620,1,0,0,0,2620,2622,1,0,0,0,2621,2619,1,0,0,0,2622,2623,5,96,0,0,2623,566,1,0,0,0,2624,2625,7,5,0,0,2625,2626,7,6,0,0,2626,2627,7,22,0,0,2627,2628,7,8,0,0,2628,2629,1,0,0,0,2629,2630,3,583,291,0,2630,2631,7,17,0,0,2631,2632,7,6,0,0,2632,2633,7,5,0,0,2633,2634,7,13,0,0,2634,2635,1,0,0,0,2635,2636,3,583,291,0,2636,2637,7,5,0,0,2637,2638,7,6,0,0,2638,2639,7,22,0,0,2639,2640,7,8,0,0,2640,2641,1,0,0,0,2641,2642,3,583,291,0,2642,2643,7,15,0,0,2643,2644,7,14,0,0,2644,2645,7,3,0,0,2645,2646,7,8,0,0,2646,568,1,0,0,0,2647,2648,7,5,0,0,2648,2649,7,6,0,0,2649,2650,7,22,0,0,2650,2651,7,8,0,0,2651,2652,7,10,0,0,2652,2653,7,5,0,0,2653,2654,7,0,0,0,2654,2655,7,22,0,0,2655,2656,7,19,0,0,2656,2657,1,0,0,0,2657,2658,3,583,291,0,2658,2659,7,17,0,0,2659,2660,7,6,0,0,2660,2661,7,5,0,0,2661,2662,7,13,0,0,2662,2663,1,0,0,0,2663,2664,3,583,291,0,2664,2665,7,5,0,0,2665,2666,7,6,0,0,2666,2667,7,22,0,0,2667,2668,7,8,0,0,2668,2669,1,0,0,0,2669,2670,3,583,291,0,2670,2671,7,15,0,0,2671,2672,7,14,0,0,2672,2673,7,3,0,0,2673,2674,7,8,0,0,2674,570,1,0,0,0,2675,2676,7,1,0,0,2676,2677,7,14,0,0,2677,2678,7,12,0,0,2678,2679,7,16,0,0,2679,2680,7,2,0,0,2680,2681,7,8,0,0,2681,2682,1,0,0,0,2682,2683,3,583,291,0,2683,2684,7,19,0,0,2684,2685,7,9,0,0,2685,2686,7,8,0,0,2686,2687,7,7,0,0,2687,2688,7,6,0,0,2688,2689,7,10,0,0,2689,2690,7,6,0,0,2690,2691,7,14,0,0,2691,2692,7,3,0,0,2692,572,1,0,0,0,2693,2695,7,8,0,0,2694,2696,7,30,0,0,2695,2694,1,0,0,0,2695,2696,1,0,0,0,2696,2698,1,0,0,0,2697,2699,3,575,287,0,2698,2697,1,0,0,0,2699,2700,1,0,0,0,2700,2698,1,0,0,0,2700,2701,1,0,0,0,2701,574,1,0,0,0,2702,2703,7,31,0,0,2703,576,1,0,0,0,2704,2705,7,32,0,0,2705,578,1,0,0,0,2706,2707,5,45,0,0,2707,2708,5,45,0,0,2708,2712,1,0,0,0,2709,2711,8,33,0,0,2710,2709,1,0,0,0,2711,2714,1,0,0,0,2712,2710,1,0,0,0,2712,2713,1,0,0,0,2713,2716,1,0,0,0,2714,2712,1,0,0,0,2715,2717,5,13,0,0,2716,2715,1,0,0,0,2716,2717,1,0,0,0,2717,2719,1,0,0,0,2718,2720,5,10,0,0,2719,2718,1,0,0,0,2719,2720,1,0,0,0,2720,2721,1,0,0,0,2721,2722,6,289,0,0,2722,580,1,0,0,0,2723,2724,5,47,0,0,2724,2725,5,42,0,0,2725,2729,1,0,0,0,2726,2728,9,0,0,0,2727,2726,1,0,0,0,2728,2731,1,0,0,0,2729,2730,1,0,0,0,2729,2727,1,0,0,0,2730,2732,1,0,0,0,2731,2729,1,0,0,0,2732,2733,5,42,0,0,2733,2734,5,47,0,0,2734,2735,1,0,0,0,2735,2736,6,290,0,0,2736,582,1,0,0,0,2737,2739,7,34,0,0,2738,2737,1,0,0,0,2739,2740,1,0,0,0,2740,2738,1,0,0,0,2740,2741,1,0,0,0,2741,2742,1,0,0,0,2742,2743,6,291,0,0,2743,584,1,0,0,0,36,0,2432,2488,2490,2498,2500,2504,2513,2515,2526,2534,2539,2545,2552,2554,2559,2565,2568,2576,2580,2584,2589,2591,2598,2600,2606,2608,2617,2619,2695,2700,2712,2716,2719,2729,2740,1,0,1,0],E.vocabulary=new ue(E.literalNames,E.symbolicNames,[]),E.decisionsToDFA=E._ATN.decisionToState.map((n,t)=>new Je(n,t));class $c extends q2{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,e,i,r;return this.entityCollecting&&((e=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&e!==void 0?e:1/0)<=this.caretTokenIndex&&((r=(i=this.tokenStream.LT(1))===null||i===void 0?void 0:i.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class s extends $c{get grammarFileName(){return"ImpalaSqlParser.g4"}get literalNames(){return s.literalNames}get symbolicNames(){return s.symbolicNames}get ruleNames(){return s.ruleNames}get serializedATN(){return s._serializedATN}createFailedPredicateException(t,e){return new Y0(this,t,e)}constructor(t){super(t),this.interpreter=new P0(this,s._ATN,s.decisionsToDFA,new as)}program(){let t=new jc(this.context,this.state);this.enterRule(t,0,s.RULE_program);let e;try{this.enterOuterAlt(t,1);{for(this.state=369,this.errorHandler.sync(this),e=this.tokenStream.LA(1);e===4||!(e-34&-32)&&1<'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'.'","';'","','","':'","'('","')'","'['","']'","'{'","'}'","'|'","'?'","'->'"],s.symbolicNames=[null,"KW_ADD","KW_ALL","KW_ANALYTIC","KW_ALTER","KW_AND","KW_ANY","KW_ANTI","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AGGREGATE","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BLOCK_SIZE","KW_PARTITIONED","KW_PREPARE_FN","KW_EXTERNAL","KW_CLOSEFN","KW_SORT","KW_PURGE","KW_STORED","KW_LOCATION","KW_TBLPROPERTIES","KW_BY","KW_CASCADE","KW_CASE","KW_CAST","KW_CACHED","KW_CHANGE","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMPRESSION","KW_COMPUTE","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DAY","KW_DAYS","KW_DELETE","KW_DEFAULT","KW_DELIMITED","KW_DISABLE","KW_UPDATE","KW_DESC","KW_DESCRIBE","KW_DISTINCT","KW_DROP","KW_ELSE","KW_ENCODING","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCLUDING","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_EXTENDED","KW_FALSE","KW_FIELDS","KW_FILEFORMAT","KW_FILES","KW_FILTER","KW_FIRST","KW_FINALIZE_FN","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FORMATTED","KW_FOREIGN","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HASH","KW_HAVING","KW_HOUR","KW_HOURS","KW_IF","KW_IN","KW_INCLUDING","KW_INCREMENTAL","KW_INNER","KW_INPATH","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTERMEDIATE","KW_INTO","KW_INIT_FN","KW_IREGEXP","KW_ILIKE","KW_INVALIDATE","KW_IS","KW_JOIN","KW_KEY","KW_KUDU","KW_LAST","KW_LATERAL","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_METADATA","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MERGE_FN","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLS","KW_OFFSET","KW_ON","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OWNER","KW_OVER","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONS","KW_PARQUET","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_REPLICATION","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_RECOVER","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_REFRESH","KW_REGEXP","KW_RLIKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROW","KW_ROWS","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SERDEPROPERTIES","KW_SET","KW_SEMI","KW_SERVER","KW_SHOW","KW_SHUTDOWN","KW_SOME","KW_STATS","KW_STRAIGHT_JOIN","KW_SUBSTRING","KW_SYSTEM","KW_SYMBOL","KW_SERIALIZE_FN","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRUE","KW_TRY_CAST","KW_TRUNCATE","KW_UNCACHED","KW_UESCAPE","KW_UNBOUNDED","KW_UNION","KW_UNNEST","KW_UNSET","KW_USE","KW_USER","KW_USING","KW_UPDATE_FN","KW_UPSERT","KW_UNKNOWN","KW_URI","KW_VALUE","KW_VALUES","KW_VIEW","KW_VIEWS","KW_WHEN","KW_WHERE","KW_WITH","KW_YEAR","KW_YEARS","KW_TEXTFILE","KW_ORC","KW_AVRO","KW_SEQUENCEFILE","KW_RCFILE","KW_REFERENCES","KW_NOVALIDATE","KW_RELY","KW_BINARY","KW_BIGINT","KW_BOOLEAN","KW_CHAR","KW_DATE","KW_DECIMAL","KW_DOUBLE","KW_INT","KW_MAP","KW_REAL","KW_SMALLINT","KW_FLOAT","KW_STRING","KW_STRUCT","KW_TIMESTAMP","KW_TINYINT","KW_VARCHAR","KW_COMPLEX","STATS_NUMDVS","STATS_NUMNULLS","STATS_AVGSIZE","STATS_MAXSIZE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","DOT","SEMICOLON","COMMA","COLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","BITWISEOR","QUESTION","RIGHT_ARROW","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","TIME_WITH_TIME_ZONE","TIMESTAMP_WITH_TIME_ZONE","DOUBLE_PRECISION","SIMPLE_COMMENT","BRACKETED_COMMENT","WS"],s.ruleNames=["program","singleStatement","sqlStatement","useStatement","createStatement","createTableSelect","createTableLike","createKuduTableAsSelect","createView","createSchema","createRole","createAggregateFunction","createFunction","alterStatement","alterDatabase","alterStatsKey","alterPartitionCache","changeColumnDefine","alterDropSingleColumn","alterTableOwner","replaceOrAddColumns","addSingleColumn","alterTableNonKuduOrKuduOnly","addPartitionByRangeOrValue","alterFormat","recoverPartitions","dropPartitionByRangeOrValue","alterView","renameView","alterViewOwner","renameTable","alterUnSetOrSetViewTblproperties","truncateTableStatement","describeStatement","computeStatement","computeStats","computeIncrementalStats","dropStatement","dropSchema","dropView","dropTable","dropIncrementalStats","dropFunction","dropRole","grantStatement","grantRole","grant","revokeStatement","revokeRole","revoke","insertStatement","deleteStatement","delete","deleteTableRef","updateStatement","upsertStatement","showStatement","showSchemas","showTables","showFunctions","showCreateTable","showCreateView","showTableStats","showColumnStats","showPartitions","showFiles","showRoles","showRoleGrant","showGrants","showDatabaseGrant","showTableGrant","showColumnGrant","addCommentStatement","addDatabaseComments","addTableComments","addColumnComments","explainStatement","setStatement","shutdownStatement","invalidateMetaStatement","loadDataStatement","refreshStatement","refreshMeta","refreshAuth","refreshFunction","ifExists","ifNotExists","tableNameCreate","databaseNameCreate","viewNameCreate","functionNameCreate","columnNamePathCreate","databaseNamePath","tableNamePath","viewNamePath","functionNamePath","columnNamePath","tableOrViewPath","createCommonItem","assignmentList","assignmentItem","viewColumns","queryStatement","with","constraintSpecification","foreignKeySpecification","columnSpec","columnDefinition","kuduTableElement","kuduColumnDefinition","columnSpecWithKudu","createColumnSpecWithKudu","kuduAttributes","kuduStorageAttr","statsKey","fileFormat","kuduPartitionClause","hashClause","rangeClause","kuduPartitionSpec","cacheSpec","rangeOperator","partitionCol","likeClause","properties","partitionedBy","sortedBy","rowFormat","property","queryNoWith","queryTerm","queryPrimary","sortItem","querySpecification","groupBy","groupingElement","groupingSet","namedQuery","setQuantifier","selectItem","relation","joinType","joinCriteria","sampledRelation","sampleType","aliasedRelation","columnAliases","relationPrimary","subQueryRelation","unnest","parenthesizedRelation","columnItem","expression","booleanExpression","predicate","valueExpression","primaryExpression","stringLiteral","comparisonOperator","comparisonQuantifier","booleanValue","interval","intervalField","normalForm","type","dataType","typeParameter","baseType","whenClause","filter","over","windowFrame","frameBound","pathElement","pathSpecification","privilege","objectType","qualifiedName","principal","identifier","number","reservedKeywordsUsedAsFuncName","nonReserved"],s._serializedATN=[4,1,289,2773,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,1,0,5,0,368,8,0,10,0,12,0,371,9,0,1,0,1,0,1,1,1,1,3,1,377,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,401,8,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,414,8,4,1,5,1,5,3,5,418,8,5,1,5,1,5,3,5,422,8,5,1,5,1,5,1,5,1,5,1,5,5,5,429,8,5,10,5,12,5,432,9,5,1,5,1,5,3,5,436,8,5,1,5,1,5,3,5,440,8,5,1,5,1,5,1,5,1,5,3,5,446,8,5,3,5,448,8,5,1,5,1,5,1,5,3,5,453,8,5,1,6,1,6,3,6,457,8,6,1,6,1,6,3,6,461,8,6,1,6,1,6,1,6,1,6,1,6,3,6,468,8,6,1,6,1,6,1,6,3,6,473,8,6,1,6,1,6,1,7,1,7,3,7,479,8,7,1,7,1,7,3,7,483,8,7,1,7,1,7,1,7,1,7,1,7,5,7,490,8,7,10,7,12,7,493,9,7,1,7,1,7,1,7,1,7,3,7,499,8,7,1,7,1,7,3,7,503,8,7,1,7,1,7,1,7,3,7,508,8,7,3,7,510,8,7,1,7,1,7,1,7,3,7,515,8,7,1,7,1,7,3,7,519,8,7,1,7,1,7,1,7,1,7,1,7,3,7,526,8,7,1,7,1,7,3,7,530,8,7,1,8,1,8,1,8,3,8,535,8,8,1,8,1,8,3,8,539,8,8,1,8,1,8,3,8,543,8,8,1,8,1,8,3,8,547,8,8,1,8,1,8,1,8,1,9,1,9,1,9,3,9,555,8,9,1,9,1,9,1,9,3,9,560,8,9,1,9,1,9,3,9,564,8,9,1,10,1,10,1,10,1,10,1,11,1,11,3,11,572,8,11,1,11,1,11,3,11,576,8,11,1,11,1,11,1,11,1,11,1,11,5,11,583,8,11,10,11,12,11,586,9,11,3,11,588,8,11,1,11,3,11,591,8,11,1,11,1,11,1,11,1,11,3,11,597,8,11,1,11,1,11,1,11,1,11,1,11,3,11,604,8,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11,615,8,11,1,11,1,11,1,11,3,11,620,8,11,1,11,1,11,1,11,3,11,625,8,11,1,11,1,11,1,11,3,11,630,8,11,1,12,1,12,1,12,3,12,635,8,12,1,12,1,12,1,12,1,12,1,12,5,12,642,8,12,10,12,12,12,645,9,12,3,12,647,8,12,1,12,3,12,650,8,12,1,12,1,12,3,12,654,8,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,3,13,680,8,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,3,15,706,8,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,3,16,715,8,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,725,8,16,1,16,3,16,728,8,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,3,18,742,8,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,3,20,760,8,20,3,20,762,8,20,1,20,1,20,1,20,1,20,1,20,5,20,769,8,20,10,20,12,20,772,9,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,3,21,782,8,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,3,22,791,8,22,1,22,1,22,1,22,1,22,1,22,3,22,798,8,22,1,22,1,22,3,22,802,8,22,1,23,1,23,1,23,1,23,1,23,3,23,809,8,23,1,23,1,23,1,23,1,23,3,23,815,8,23,1,23,3,23,818,8,23,1,23,1,23,1,23,3,23,823,8,23,1,24,1,24,1,24,1,24,1,24,3,24,830,8,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,3,24,844,8,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,3,26,857,8,26,1,26,1,26,1,26,3,26,862,8,26,1,26,1,26,1,26,3,26,867,8,26,1,27,1,27,1,27,1,27,3,27,873,8,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,3,32,909,8,32,1,32,3,32,912,8,32,1,32,1,32,1,33,1,33,3,33,918,8,33,1,33,3,33,921,8,33,1,33,1,33,1,34,1,34,3,34,927,8,34,1,35,1,35,1,35,1,35,3,35,933,8,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,945,8,35,3,35,947,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,958,8,36,1,37,1,37,1,37,1,37,1,37,1,37,3,37,966,8,37,1,38,1,38,1,38,3,38,971,8,38,1,38,1,38,3,38,975,8,38,1,39,1,39,1,39,3,39,980,8,39,1,39,1,39,1,40,1,40,1,40,3,40,987,8,40,1,40,1,40,3,40,991,8,40,1,41,1,41,3,41,995,8,41,1,41,1,41,1,41,1,41,3,41,1001,8,41,1,42,1,42,3,42,1005,8,42,1,42,1,42,3,42,1009,8,42,1,42,1,42,1,42,1,42,1,42,5,42,1016,8,42,10,42,12,42,1019,9,42,3,42,1021,8,42,1,42,3,42,1024,8,42,1,43,1,43,1,43,1,43,1,44,1,44,3,44,1032,8,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,3,46,1046,8,46,1,46,1,46,1,46,1,47,1,47,3,47,1053,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,3,49,1066,8,49,1,49,1,49,1,49,1,49,3,49,1072,8,49,1,49,1,49,1,49,3,49,1077,8,49,1,49,3,49,1080,8,49,1,50,3,50,1083,8,50,1,50,1,50,1,50,3,50,1088,8,50,1,50,1,50,3,50,1092,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1099,8,50,10,50,12,50,1102,9,50,1,50,1,50,3,50,1106,8,50,1,50,1,50,1,51,1,51,3,51,1112,8,51,1,52,1,52,3,52,1116,8,52,1,52,1,52,1,52,3,52,1121,8,52,1,53,1,53,1,53,3,53,1126,8,53,1,53,3,53,1129,8,53,1,53,1,53,1,53,1,53,5,53,1135,8,53,10,53,12,53,1138,9,53,3,53,1140,8,53,1,53,1,53,3,53,1144,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,5,54,1154,8,54,10,54,12,54,1157,9,54,3,54,1159,8,54,1,54,1,54,3,54,1163,8,54,1,55,1,55,1,55,3,55,1168,8,55,1,55,1,55,3,55,1172,8,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,1188,8,56,1,57,1,57,1,57,3,57,1193,8,57,1,57,1,57,1,57,5,57,1198,8,57,10,57,12,57,1201,9,57,3,57,1203,8,57,1,58,1,58,1,58,1,58,3,58,1209,8,58,1,58,3,58,1212,8,58,1,58,1,58,1,58,5,58,1217,8,58,10,58,12,58,1220,9,58,3,58,1222,8,58,1,59,1,59,3,59,1226,8,59,1,59,1,59,1,59,3,59,1231,8,59,1,59,3,59,1234,8,59,1,59,1,59,1,59,5,59,1239,8,59,10,59,12,59,1242,9,59,3,59,1244,8,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,3,64,1268,8,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,3,65,1282,8,65,1,65,1,65,3,65,1286,8,65,1,66,1,66,3,66,1290,8,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,3,68,1310,8,68,3,68,1312,8,68,3,68,1314,8,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,3,69,1323,8,69,3,69,1325,8,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,1334,8,70,3,70,1336,8,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,1345,8,71,3,71,1347,8,71,1,72,1,72,1,72,3,72,1352,8,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,1361,8,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,1370,8,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,3,75,1379,8,75,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,3,77,1390,8,77,1,78,1,78,1,78,1,78,3,78,1396,8,78,1,78,1,78,1,78,3,78,1401,8,78,1,78,3,78,1404,8,78,1,78,1,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,3,80,1417,8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,1427,8,80,1,80,1,80,3,80,1431,8,80,1,81,1,81,1,81,3,81,1436,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,5,82,1445,8,82,10,82,12,82,1448,9,82,1,82,1,82,3,82,1452,8,82,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,87,1,87,1,88,1,88,1,89,1,89,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,93,5,93,1483,8,93,10,93,12,93,1486,9,93,1,94,1,94,1,94,5,94,1491,8,94,10,94,12,94,1494,9,94,1,95,1,95,3,95,1498,8,95,1,96,1,96,3,96,1502,8,96,1,97,1,97,3,97,1506,8,97,1,98,1,98,1,98,3,98,1511,8,98,1,98,1,98,3,98,1515,8,98,1,98,1,98,1,98,3,98,1520,8,98,1,98,1,98,1,98,3,98,1525,8,98,1,98,1,98,1,98,3,98,1530,8,98,1,98,1,98,3,98,1534,8,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,1543,8,98,1,98,3,98,1546,8,98,1,98,1,98,3,98,1550,8,98,1,99,1,99,1,99,5,99,1555,8,99,10,99,12,99,1558,9,99,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,3,101,1568,8,101,1,101,1,101,1,101,1,101,3,101,1574,8,101,5,101,1576,8,101,10,101,12,101,1579,9,101,1,101,1,101,1,102,3,102,1584,8,102,1,102,1,102,1,103,1,103,1,103,1,103,5,103,1592,8,103,10,103,12,103,1595,9,103,1,104,1,104,1,104,1,104,3,104,1601,8,104,1,104,1,104,1,104,3,104,1606,8,104,1,104,1,104,1,104,3,104,1611,8,104,1,104,1,104,1,104,3,104,1616,8,104,1,104,1,104,5,104,1620,8,104,10,104,12,104,1623,9,104,3,104,1625,8,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,1634,8,105,1,105,3,105,1637,8,105,1,105,3,105,1640,8,105,1,106,1,106,1,106,1,106,3,106,1646,8,106,1,107,1,107,1,107,1,107,3,107,1652,8,107,1,108,1,108,1,109,1,109,1,109,1,109,5,109,1660,8,109,10,109,12,109,1663,9,109,3,109,1665,8,109,1,109,1,109,3,109,1669,8,109,1,109,1,109,3,109,1673,8,109,1,110,3,110,1676,8,110,1,110,1,110,5,110,1680,8,110,10,110,12,110,1683,9,110,3,110,1685,8,110,1,111,1,111,1,111,1,111,3,111,1691,8,111,1,111,1,111,5,111,1695,8,111,10,111,12,111,1698,9,111,3,111,1700,8,111,1,112,3,112,1703,8,112,1,112,1,112,3,112,1707,8,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,113,3,113,1717,8,113,1,114,1,114,1,115,1,115,1,116,1,116,1,116,5,116,1726,8,116,10,116,12,116,1729,9,116,1,116,1,116,3,116,1733,8,116,1,116,3,116,1736,8,116,1,117,1,117,3,117,1740,8,117,1,117,1,117,1,117,1,118,1,118,3,118,1747,8,118,1,118,1,118,1,118,1,118,1,118,1,118,5,118,1755,8,118,10,118,12,118,1758,9,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,3,119,1769,8,119,1,119,1,119,1,119,1,119,3,119,1775,8,119,3,119,1777,8,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,3,120,1786,8,120,1,120,3,120,1789,8,120,1,121,1,121,1,121,1,121,1,121,3,121,1796,8,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,1806,8,122,1,123,1,123,1,123,1,123,3,123,1812,8,123,1,124,1,124,1,124,1,124,5,124,1818,8,124,10,124,12,124,1821,9,124,1,124,1,124,1,125,1,125,1,125,1,125,5,125,1829,8,125,10,125,12,125,1832,9,125,1,125,1,125,1,126,1,126,1,126,5,126,1839,8,126,10,126,12,126,1842,9,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,3,127,1852,8,127,3,127,1854,8,127,1,127,1,127,1,127,1,127,3,127,1860,8,127,1,128,1,128,1,128,3,128,1865,8,128,1,129,1,129,1,129,1,129,1,129,1,129,5,129,1873,8,129,10,129,12,129,1876,9,129,3,129,1878,8,129,1,129,1,129,1,129,1,129,3,129,1884,8,129,3,129,1886,8,129,1,130,1,130,1,130,1,130,1,130,1,130,3,130,1894,8,130,1,130,1,130,1,130,1,130,3,130,1900,8,130,1,130,5,130,1903,8,130,10,130,12,130,1906,9,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,5,131,1915,8,131,10,131,12,131,1918,9,131,1,131,1,131,1,131,1,131,3,131,1924,8,131,1,132,1,132,3,132,1928,8,132,1,132,1,132,3,132,1932,8,132,1,133,1,133,3,133,1936,8,133,1,133,3,133,1939,8,133,1,133,1,133,1,133,5,133,1944,8,133,10,133,12,133,1947,9,133,1,133,1,133,1,133,1,133,5,133,1953,8,133,10,133,12,133,1956,9,133,3,133,1958,8,133,1,133,1,133,3,133,1962,8,133,1,133,1,133,1,133,3,133,1967,8,133,1,133,1,133,3,133,1971,8,133,1,134,3,134,1974,8,134,1,134,1,134,1,134,5,134,1979,8,134,10,134,12,134,1982,9,134,1,135,1,135,1,136,1,136,1,136,1,136,5,136,1990,8,136,10,136,12,136,1993,9,136,3,136,1995,8,136,1,136,1,136,3,136,1999,8,136,1,137,1,137,3,137,2003,8,137,1,137,1,137,1,137,1,138,1,138,1,139,1,139,3,139,2012,8,139,1,139,3,139,2015,8,139,1,139,1,139,1,139,1,139,1,139,3,139,2022,8,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,3,140,2036,8,140,5,140,2038,8,140,10,140,12,140,2041,9,140,1,141,3,141,2044,8,141,1,141,1,141,3,141,2048,8,141,1,141,1,141,3,141,2052,8,141,1,141,1,141,3,141,2056,8,141,1,141,1,141,3,141,2060,8,141,1,141,1,141,3,141,2064,8,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,3,141,2074,8,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,5,142,2083,8,142,10,142,12,142,2086,9,142,1,142,1,142,3,142,2090,8,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,2103,8,143,3,143,2105,8,143,1,144,1,144,1,145,1,145,3,145,2111,8,145,1,145,1,145,3,145,2115,8,145,3,145,2117,8,145,1,146,1,146,1,146,1,146,5,146,2123,8,146,10,146,12,146,2126,9,146,1,146,1,146,1,147,1,147,3,147,2132,8,147,1,147,1,147,1,147,3,147,2137,8,147,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,5,149,2148,8,149,10,149,12,149,2151,9,149,1,149,1,149,1,149,3,149,2156,8,149,1,150,1,150,1,150,1,150,1,151,1,151,3,151,2164,8,151,1,152,1,152,1,153,1,153,1,153,3,153,2171,8,153,1,153,1,153,3,153,2175,8,153,1,153,1,153,1,153,1,153,1,153,1,153,5,153,2183,8,153,10,153,12,153,2186,9,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,3,154,2196,8,154,1,154,1,154,1,154,1,154,1,154,1,154,3,154,2204,8,154,1,154,1,154,1,154,1,154,1,154,5,154,2211,8,154,10,154,12,154,2214,9,154,1,154,1,154,1,154,3,154,2219,8,154,1,154,1,154,1,154,3,154,2224,8,154,1,154,1,154,1,154,1,154,3,154,2230,8,154,1,154,1,154,1,154,1,154,3,154,2236,8,154,1,154,1,154,1,154,3,154,2241,8,154,1,154,1,154,1,154,3,154,2246,8,154,1,155,1,155,1,155,1,155,3,155,2252,8,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,5,155,2263,8,155,10,155,12,155,2266,9,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2292,8,156,1,156,1,156,1,156,1,156,3,156,2298,8,156,5,156,2300,8,156,10,156,12,156,2303,9,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,5,156,2312,8,156,10,156,12,156,2315,9,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2324,8,156,1,156,3,156,2327,8,156,1,156,1,156,1,156,3,156,2332,8,156,1,156,1,156,1,156,5,156,2337,8,156,10,156,12,156,2340,9,156,3,156,2342,8,156,1,156,1,156,1,156,1,156,1,156,5,156,2349,8,156,10,156,12,156,2352,9,156,3,156,2354,8,156,1,156,1,156,3,156,2358,8,156,1,156,3,156,2361,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,5,156,2371,8,156,10,156,12,156,2374,9,156,3,156,2376,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,4,156,2393,8,156,11,156,12,156,2394,1,156,1,156,3,156,2399,8,156,1,156,1,156,1,156,1,156,4,156,2405,8,156,11,156,12,156,2406,1,156,1,156,3,156,2411,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,5,156,2434,8,156,10,156,12,156,2437,9,156,3,156,2439,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2448,8,156,1,156,1,156,1,156,1,156,3,156,2454,8,156,1,156,1,156,1,156,1,156,3,156,2460,8,156,1,156,1,156,1,156,1,156,3,156,2466,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2477,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2486,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,5,156,2506,8,156,10,156,12,156,2509,9,156,3,156,2511,8,156,1,156,3,156,2514,8,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,5,156,2524,8,156,10,156,12,156,2527,9,156,1,157,1,157,1,157,1,157,3,157,2533,8,157,3,157,2535,8,157,1,158,1,158,1,159,1,159,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,3,161,2557,8,161,1,162,1,162,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,5,164,2584,8,164,10,164,12,164,2587,9,164,1,164,1,164,1,164,1,164,3,164,2593,8,164,1,164,1,164,1,164,1,164,5,164,2599,8,164,10,164,12,164,2602,9,164,1,164,1,164,3,164,2606,8,164,3,164,2608,8,164,1,164,1,164,5,164,2612,8,164,10,164,12,164,2615,9,164,1,165,1,165,1,166,1,166,3,166,2621,8,166,1,167,1,167,1,167,1,167,3,167,2627,8,167,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,5,170,2647,8,170,10,170,12,170,2650,9,170,3,170,2652,8,170,1,170,1,170,1,170,1,170,1,170,5,170,2659,8,170,10,170,12,170,2662,9,170,3,170,2664,8,170,1,170,3,170,2667,8,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,3,171,2687,8,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,3,172,2698,8,172,1,173,1,173,1,173,1,173,1,173,3,173,2705,8,173,1,174,1,174,1,174,5,174,2710,8,174,10,174,12,174,2713,9,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,3,175,2726,8,175,3,175,2728,8,175,1,176,1,176,1,177,1,177,1,177,5,177,2735,8,177,10,177,12,177,2738,9,177,1,178,1,178,1,178,1,178,1,178,1,178,3,178,2746,8,178,1,179,1,179,1,179,1,179,1,179,3,179,2753,8,179,1,180,3,180,2756,8,180,1,180,1,180,3,180,2760,8,180,1,180,1,180,3,180,2764,8,180,1,180,3,180,2767,8,180,1,181,1,181,1,182,1,182,1,182,10,770,1446,1621,1661,1681,1696,1727,1756,1830,2301,6,260,280,306,310,312,328,183,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,0,33,2,0,46,46,170,170,2,0,166,166,204,204,2,0,176,176,202,202,2,0,69,69,80,80,2,0,27,27,159,159,2,0,103,103,144,144,2,0,47,47,171,171,2,0,3,3,12,12,3,0,87,87,166,166,204,204,2,0,178,178,209,209,1,0,245,248,2,0,147,147,219,223,2,0,65,65,95,95,2,0,64,64,200,200,2,0,10,10,55,55,2,0,75,75,112,112,2,0,2,2,57,57,2,0,14,14,185,185,3,0,106,106,115,115,164,164,2,0,105,105,163,163,4,0,70,70,133,133,194,194,208,208,1,0,255,256,1,0,257,259,1,0,249,254,3,0,2,2,6,6,181,181,2,0,70,70,194,194,5,0,48,49,91,92,122,125,172,173,217,218,1,0,127,130,2,0,8,8,227,244,2,0,77,77,149,149,4,0,46,46,178,178,188,188,209,209,16,0,28,29,40,40,43,43,48,48,68,68,91,91,114,114,122,122,124,124,158,158,165,165,172,172,184,184,196,196,204,204,217,217,23,0,14,14,43,44,48,49,65,65,68,68,91,91,95,95,110,110,119,119,122,125,127,130,137,137,140,140,152,153,172,173,180,180,184,185,195,195,204,204,213,213,217,217,220,220,231,231,3096,0,369,1,0,0,0,2,374,1,0,0,0,4,400,1,0,0,0,6,402,1,0,0,0,8,413,1,0,0,0,10,415,1,0,0,0,12,454,1,0,0,0,14,476,1,0,0,0,16,531,1,0,0,0,18,551,1,0,0,0,20,565,1,0,0,0,22,569,1,0,0,0,24,631,1,0,0,0,26,679,1,0,0,0,28,681,1,0,0,0,30,689,1,0,0,0,32,709,1,0,0,0,34,729,1,0,0,0,36,736,1,0,0,0,38,745,1,0,0,0,40,753,1,0,0,0,42,775,1,0,0,0,44,785,1,0,0,0,46,803,1,0,0,0,48,824,1,0,0,0,50,845,1,0,0,0,52,851,1,0,0,0,54,868,1,0,0,0,56,877,1,0,0,0,58,884,1,0,0,0,60,892,1,0,0,0,62,899,1,0,0,0,64,906,1,0,0,0,66,915,1,0,0,0,68,926,1,0,0,0,70,928,1,0,0,0,72,948,1,0,0,0,74,965,1,0,0,0,76,967,1,0,0,0,78,976,1,0,0,0,80,983,1,0,0,0,82,992,1,0,0,0,84,1002,1,0,0,0,86,1025,1,0,0,0,88,1031,1,0,0,0,90,1033,1,0,0,0,92,1040,1,0,0,0,94,1052,1,0,0,0,96,1054,1,0,0,0,98,1061,1,0,0,0,100,1082,1,0,0,0,102,1111,1,0,0,0,104,1113,1,0,0,0,106,1122,1,0,0,0,108,1145,1,0,0,0,110,1164,1,0,0,0,112,1187,1,0,0,0,114,1189,1,0,0,0,116,1204,1,0,0,0,118,1223,1,0,0,0,120,1245,1,0,0,0,122,1250,1,0,0,0,124,1255,1,0,0,0,126,1260,1,0,0,0,128,1265,1,0,0,0,130,1272,1,0,0,0,132,1287,1,0,0,0,134,1293,1,0,0,0,136,1313,1,0,0,0,138,1315,1,0,0,0,140,1326,1,0,0,0,142,1337,1,0,0,0,144,1351,1,0,0,0,146,1353,1,0,0,0,148,1362,1,0,0,0,150,1371,1,0,0,0,152,1380,1,0,0,0,154,1383,1,0,0,0,156,1391,1,0,0,0,158,1407,1,0,0,0,160,1411,1,0,0,0,162,1435,1,0,0,0,164,1437,1,0,0,0,166,1453,1,0,0,0,168,1456,1,0,0,0,170,1460,1,0,0,0,172,1463,1,0,0,0,174,1467,1,0,0,0,176,1469,1,0,0,0,178,1471,1,0,0,0,180,1473,1,0,0,0,182,1475,1,0,0,0,184,1477,1,0,0,0,186,1479,1,0,0,0,188,1487,1,0,0,0,190,1497,1,0,0,0,192,1501,1,0,0,0,194,1505,1,0,0,0,196,1510,1,0,0,0,198,1551,1,0,0,0,200,1559,1,0,0,0,202,1563,1,0,0,0,204,1583,1,0,0,0,206,1587,1,0,0,0,208,1596,1,0,0,0,210,1626,1,0,0,0,212,1641,1,0,0,0,214,1647,1,0,0,0,216,1653,1,0,0,0,218,1655,1,0,0,0,220,1675,1,0,0,0,222,1686,1,0,0,0,224,1706,1,0,0,0,226,1716,1,0,0,0,228,1718,1,0,0,0,230,1720,1,0,0,0,232,1735,1,0,0,0,234,1737,1,0,0,0,236,1744,1,0,0,0,238,1776,1,0,0,0,240,1788,1,0,0,0,242,1795,1,0,0,0,244,1805,1,0,0,0,246,1807,1,0,0,0,248,1813,1,0,0,0,250,1824,1,0,0,0,252,1835,1,0,0,0,254,1843,1,0,0,0,256,1861,1,0,0,0,258,1866,1,0,0,0,260,1887,1,0,0,0,262,1923,1,0,0,0,264,1925,1,0,0,0,266,1933,1,0,0,0,268,1973,1,0,0,0,270,1983,1,0,0,0,272,1998,1,0,0,0,274,2e3,1,0,0,0,276,2007,1,0,0,0,278,2021,1,0,0,0,280,2023,1,0,0,0,282,2073,1,0,0,0,284,2089,1,0,0,0,286,2091,1,0,0,0,288,2106,1,0,0,0,290,2108,1,0,0,0,292,2118,1,0,0,0,294,2136,1,0,0,0,296,2138,1,0,0,0,298,2142,1,0,0,0,300,2157,1,0,0,0,302,2163,1,0,0,0,304,2165,1,0,0,0,306,2174,1,0,0,0,308,2245,1,0,0,0,310,2251,1,0,0,0,312,2513,1,0,0,0,314,2534,1,0,0,0,316,2536,1,0,0,0,318,2538,1,0,0,0,320,2540,1,0,0,0,322,2556,1,0,0,0,324,2558,1,0,0,0,326,2560,1,0,0,0,328,2607,1,0,0,0,330,2616,1,0,0,0,332,2620,1,0,0,0,334,2626,1,0,0,0,336,2628,1,0,0,0,338,2633,1,0,0,0,340,2639,1,0,0,0,342,2686,1,0,0,0,344,2697,1,0,0,0,346,2704,1,0,0,0,348,2706,1,0,0,0,350,2727,1,0,0,0,352,2729,1,0,0,0,354,2731,1,0,0,0,356,2745,1,0,0,0,358,2752,1,0,0,0,360,2766,1,0,0,0,362,2768,1,0,0,0,364,2770,1,0,0,0,366,368,3,2,1,0,367,366,1,0,0,0,368,371,1,0,0,0,369,367,1,0,0,0,369,370,1,0,0,0,370,372,1,0,0,0,371,369,1,0,0,0,372,373,5,0,0,1,373,1,1,0,0,0,374,376,3,4,2,0,375,377,5,262,0,0,376,375,1,0,0,0,376,377,1,0,0,0,377,3,1,0,0,0,378,401,3,204,102,0,379,401,3,6,3,0,380,401,3,8,4,0,381,401,3,26,13,0,382,401,3,64,32,0,383,401,3,66,33,0,384,401,3,68,34,0,385,401,3,74,37,0,386,401,3,88,44,0,387,401,3,94,47,0,388,401,3,100,50,0,389,401,3,102,51,0,390,401,3,108,54,0,391,401,3,110,55,0,392,401,3,112,56,0,393,401,3,144,72,0,394,401,3,152,76,0,395,401,3,154,77,0,396,401,3,156,78,0,397,401,3,158,79,0,398,401,3,160,80,0,399,401,3,162,81,0,400,378,1,0,0,0,400,379,1,0,0,0,400,380,1,0,0,0,400,381,1,0,0,0,400,382,1,0,0,0,400,383,1,0,0,0,400,384,1,0,0,0,400,385,1,0,0,0,400,386,1,0,0,0,400,387,1,0,0,0,400,388,1,0,0,0,400,389,1,0,0,0,400,390,1,0,0,0,400,391,1,0,0,0,400,392,1,0,0,0,400,393,1,0,0,0,400,394,1,0,0,0,400,395,1,0,0,0,400,396,1,0,0,0,400,397,1,0,0,0,400,398,1,0,0,0,400,399,1,0,0,0,401,5,1,0,0,0,402,403,5,203,0,0,403,404,3,184,92,0,404,7,1,0,0,0,405,414,3,18,9,0,406,414,3,20,10,0,407,414,3,22,11,0,408,414,3,24,12,0,409,414,3,16,8,0,410,414,3,14,7,0,411,414,3,12,6,0,412,414,3,10,5,0,413,405,1,0,0,0,413,406,1,0,0,0,413,407,1,0,0,0,413,408,1,0,0,0,413,409,1,0,0,0,413,410,1,0,0,0,413,411,1,0,0,0,413,412,1,0,0,0,414,9,1,0,0,0,415,417,5,37,0,0,416,418,5,19,0,0,417,416,1,0,0,0,417,418,1,0,0,0,418,419,1,0,0,0,419,421,5,188,0,0,420,422,3,172,86,0,421,420,1,0,0,0,421,422,1,0,0,0,422,423,1,0,0,0,423,439,3,174,87,0,424,425,5,265,0,0,425,430,3,214,107,0,426,427,5,263,0,0,427,429,3,214,107,0,428,426,1,0,0,0,429,432,1,0,0,0,430,428,1,0,0,0,430,431,1,0,0,0,431,435,1,0,0,0,432,430,1,0,0,0,433,434,5,263,0,0,434,436,3,208,104,0,435,433,1,0,0,0,435,436,1,0,0,0,436,437,1,0,0,0,437,438,5,266,0,0,438,440,1,0,0,0,439,424,1,0,0,0,439,440,1,0,0,0,440,447,1,0,0,0,441,442,5,17,0,0,442,445,5,26,0,0,443,446,3,292,146,0,444,446,3,250,125,0,445,443,1,0,0,0,445,444,1,0,0,0,446,448,1,0,0,0,447,441,1,0,0,0,447,448,1,0,0,0,448,449,1,0,0,0,449,452,3,196,98,0,450,451,5,9,0,0,451,453,3,204,102,0,452,450,1,0,0,0,452,453,1,0,0,0,453,11,1,0,0,0,454,456,5,37,0,0,455,457,5,19,0,0,456,455,1,0,0,0,456,457,1,0,0,0,457,458,1,0,0,0,458,460,5,188,0,0,459,461,3,172,86,0,460,459,1,0,0,0,460,461,1,0,0,0,461,462,1,0,0,0,462,463,3,174,87,0,463,467,5,115,0,0,464,468,3,186,93,0,465,466,5,147,0,0,466,468,3,314,157,0,467,464,1,0,0,0,467,465,1,0,0,0,468,472,1,0,0,0,469,470,5,17,0,0,470,471,5,26,0,0,471,473,3,250,125,0,472,469,1,0,0,0,472,473,1,0,0,0,473,474,1,0,0,0,474,475,3,196,98,0,475,13,1,0,0,0,476,478,5,37,0,0,477,479,5,19,0,0,478,477,1,0,0,0,478,479,1,0,0,0,479,480,1,0,0,0,480,482,5,188,0,0,481,483,3,172,86,0,482,481,1,0,0,0,482,483,1,0,0,0,483,484,1,0,0,0,484,502,3,174,87,0,485,486,5,265,0,0,486,491,3,216,108,0,487,488,5,263,0,0,488,490,3,216,108,0,489,487,1,0,0,0,490,493,1,0,0,0,491,489,1,0,0,0,491,492,1,0,0,0,492,498,1,0,0,0,493,491,1,0,0,0,494,495,5,263,0,0,495,496,5,150,0,0,496,497,5,110,0,0,497,499,3,292,146,0,498,494,1,0,0,0,498,499,1,0,0,0,499,500,1,0,0,0,500,501,5,266,0,0,501,503,1,0,0,0,502,485,1,0,0,0,502,503,1,0,0,0,503,509,1,0,0,0,504,505,5,150,0,0,505,507,5,110,0,0,506,508,3,292,146,0,507,506,1,0,0,0,507,508,1,0,0,0,508,510,1,0,0,0,509,504,1,0,0,0,509,510,1,0,0,0,510,514,1,0,0,0,511,512,5,145,0,0,512,513,5,26,0,0,513,515,3,232,116,0,514,511,1,0,0,0,514,515,1,0,0,0,515,518,1,0,0,0,516,517,5,34,0,0,517,519,3,314,157,0,518,516,1,0,0,0,518,519,1,0,0,0,519,520,1,0,0,0,520,521,5,23,0,0,521,522,5,9,0,0,522,525,5,111,0,0,523,524,5,25,0,0,524,526,3,248,124,0,525,523,1,0,0,0,525,526,1,0,0,0,526,529,1,0,0,0,527,528,5,9,0,0,528,530,3,204,102,0,529,527,1,0,0,0,529,530,1,0,0,0,530,15,1,0,0,0,531,532,5,37,0,0,532,534,5,212,0,0,533,535,3,172,86,0,534,533,1,0,0,0,534,535,1,0,0,0,535,536,1,0,0,0,536,538,3,178,89,0,537,539,3,202,101,0,538,537,1,0,0,0,538,539,1,0,0,0,539,542,1,0,0,0,540,541,5,34,0,0,541,543,3,314,157,0,542,540,1,0,0,0,542,543,1,0,0,0,543,546,1,0,0,0,544,545,5,25,0,0,545,547,3,248,124,0,546,544,1,0,0,0,546,547,1,0,0,0,547,548,1,0,0,0,548,549,5,9,0,0,549,550,3,204,102,0,550,17,1,0,0,0,551,552,5,37,0,0,552,554,7,0,0,0,553,555,3,172,86,0,554,553,1,0,0,0,554,555,1,0,0,0,555,556,1,0,0,0,556,559,3,176,88,0,557,558,5,34,0,0,558,560,3,314,157,0,559,557,1,0,0,0,559,560,1,0,0,0,560,563,1,0,0,0,561,562,5,24,0,0,562,564,3,314,157,0,563,561,1,0,0,0,563,564,1,0,0,0,564,19,1,0,0,0,565,566,5,37,0,0,566,567,5,166,0,0,567,568,3,358,179,0,568,21,1,0,0,0,569,571,5,37,0,0,570,572,5,12,0,0,571,570,1,0,0,0,571,572,1,0,0,0,572,573,1,0,0,0,573,575,5,84,0,0,574,576,3,172,86,0,575,574,1,0,0,0,575,576,1,0,0,0,576,577,1,0,0,0,577,590,3,180,90,0,578,587,5,265,0,0,579,584,3,328,164,0,580,581,5,263,0,0,581,583,3,328,164,0,582,580,1,0,0,0,583,586,1,0,0,0,584,582,1,0,0,0,584,585,1,0,0,0,585,588,1,0,0,0,586,584,1,0,0,0,587,579,1,0,0,0,587,588,1,0,0,0,588,589,1,0,0,0,589,591,5,266,0,0,590,578,1,0,0,0,590,591,1,0,0,0,591,592,1,0,0,0,592,593,5,160,0,0,593,596,3,328,164,0,594,595,5,102,0,0,595,597,3,328,164,0,596,594,1,0,0,0,596,597,1,0,0,0,597,598,1,0,0,0,598,599,5,24,0,0,599,603,5,274,0,0,600,601,5,104,0,0,601,602,5,249,0,0,602,604,5,274,0,0,603,600,1,0,0,0,603,604,1,0,0,0,604,605,1,0,0,0,605,606,5,206,0,0,606,607,5,249,0,0,607,608,5,274,0,0,608,609,5,126,0,0,609,610,5,249,0,0,610,614,5,274,0,0,611,612,5,18,0,0,612,613,5,249,0,0,613,615,5,274,0,0,614,611,1,0,0,0,614,615,1,0,0,0,615,619,1,0,0,0,616,617,5,20,0,0,617,618,5,249,0,0,618,620,5,274,0,0,619,616,1,0,0,0,619,620,1,0,0,0,620,624,1,0,0,0,621,622,5,187,0,0,622,623,5,249,0,0,623,625,5,274,0,0,624,621,1,0,0,0,624,625,1,0,0,0,625,629,1,0,0,0,626,627,5,76,0,0,627,628,5,249,0,0,628,630,5,274,0,0,629,626,1,0,0,0,629,630,1,0,0,0,630,23,1,0,0,0,631,632,5,37,0,0,632,634,5,84,0,0,633,635,3,172,86,0,634,633,1,0,0,0,634,635,1,0,0,0,635,636,1,0,0,0,636,649,3,180,90,0,637,646,5,265,0,0,638,643,3,328,164,0,639,640,5,263,0,0,640,642,3,328,164,0,641,639,1,0,0,0,642,645,1,0,0,0,643,641,1,0,0,0,643,644,1,0,0,0,644,647,1,0,0,0,645,643,1,0,0,0,646,638,1,0,0,0,646,647,1,0,0,0,647,648,1,0,0,0,648,650,5,266,0,0,649,637,1,0,0,0,649,650,1,0,0,0,650,653,1,0,0,0,651,652,5,160,0,0,652,654,3,328,164,0,653,651,1,0,0,0,653,654,1,0,0,0,654,655,1,0,0,0,655,656,5,24,0,0,656,657,5,274,0,0,657,658,5,186,0,0,658,659,5,249,0,0,659,660,3,314,157,0,660,25,1,0,0,0,661,680,3,28,14,0,662,680,3,62,31,0,663,680,3,60,30,0,664,680,3,58,29,0,665,680,3,54,27,0,666,680,3,56,28,0,667,680,3,52,26,0,668,680,3,48,24,0,669,680,3,50,25,0,670,680,3,46,23,0,671,680,3,44,22,0,672,680,3,42,21,0,673,680,3,40,20,0,674,680,3,34,17,0,675,680,3,30,15,0,676,680,3,32,16,0,677,680,3,36,18,0,678,680,3,38,19,0,679,661,1,0,0,0,679,662,1,0,0,0,679,663,1,0,0,0,679,664,1,0,0,0,679,665,1,0,0,0,679,666,1,0,0,0,679,667,1,0,0,0,679,668,1,0,0,0,679,669,1,0,0,0,679,670,1,0,0,0,679,671,1,0,0,0,679,672,1,0,0,0,679,673,1,0,0,0,679,674,1,0,0,0,679,675,1,0,0,0,679,676,1,0,0,0,679,677,1,0,0,0,679,678,1,0,0,0,680,27,1,0,0,0,681,682,5,4,0,0,682,683,5,46,0,0,683,684,3,184,92,0,684,685,5,176,0,0,685,686,5,142,0,0,686,687,7,1,0,0,687,688,3,358,179,0,688,29,1,0,0,0,689,690,5,4,0,0,690,691,5,188,0,0,691,692,3,186,93,0,692,693,5,176,0,0,693,694,5,32,0,0,694,695,5,182,0,0,695,696,3,192,96,0,696,697,5,265,0,0,697,698,3,228,114,0,698,699,5,249,0,0,699,705,3,314,157,0,700,701,5,263,0,0,701,702,3,228,114,0,702,703,5,249,0,0,703,704,3,314,157,0,704,706,1,0,0,0,705,700,1,0,0,0,705,706,1,0,0,0,706,707,1,0,0,0,707,708,5,266,0,0,708,31,1,0,0,0,709,710,5,4,0,0,710,711,5,188,0,0,711,714,3,186,93,0,712,713,5,145,0,0,713,715,3,304,152,0,714,712,1,0,0,0,714,715,1,0,0,0,715,716,1,0,0,0,716,727,5,176,0,0,717,718,5,30,0,0,718,719,5,94,0,0,719,724,3,314,157,0,720,721,5,216,0,0,721,722,5,151,0,0,722,723,5,249,0,0,723,725,3,360,180,0,724,720,1,0,0,0,724,725,1,0,0,0,725,728,1,0,0,0,726,728,5,197,0,0,727,717,1,0,0,0,727,726,1,0,0,0,728,33,1,0,0,0,729,730,5,4,0,0,730,731,5,188,0,0,731,732,3,186,93,0,732,733,5,31,0,0,733,734,5,32,0,0,734,735,3,220,110,0,735,35,1,0,0,0,736,737,5,4,0,0,737,738,5,188,0,0,738,739,3,186,93,0,739,741,5,58,0,0,740,742,5,32,0,0,741,740,1,0,0,0,741,742,1,0,0,0,742,743,1,0,0,0,743,744,3,192,96,0,744,37,1,0,0,0,745,746,5,4,0,0,746,747,5,188,0,0,747,748,3,186,93,0,748,749,5,176,0,0,749,750,5,142,0,0,750,751,7,1,0,0,751,752,3,358,179,0,752,39,1,0,0,0,753,754,5,4,0,0,754,755,5,188,0,0,755,761,3,186,93,0,756,762,5,158,0,0,757,759,5,1,0,0,758,760,3,172,86,0,759,758,1,0,0,0,759,760,1,0,0,0,760,762,1,0,0,0,761,756,1,0,0,0,761,757,1,0,0,0,762,763,1,0,0,0,763,764,5,33,0,0,764,765,5,265,0,0,765,770,3,220,110,0,766,767,5,263,0,0,767,769,3,220,110,0,768,766,1,0,0,0,769,772,1,0,0,0,770,771,1,0,0,0,770,768,1,0,0,0,771,773,1,0,0,0,772,770,1,0,0,0,773,774,5,266,0,0,774,41,1,0,0,0,775,776,5,4,0,0,776,777,5,188,0,0,777,778,3,186,93,0,778,779,5,1,0,0,779,781,5,32,0,0,780,782,3,172,86,0,781,780,1,0,0,0,781,782,1,0,0,0,782,783,1,0,0,0,783,784,3,222,111,0,784,43,1,0,0,0,785,786,5,4,0,0,786,787,5,188,0,0,787,788,3,186,93,0,788,790,5,4,0,0,789,791,5,32,0,0,790,789,1,0,0,0,790,791,1,0,0,0,791,792,1,0,0,0,792,801,3,192,96,0,793,797,5,176,0,0,794,798,3,226,113,0,795,796,5,34,0,0,796,798,3,314,157,0,797,794,1,0,0,0,797,795,1,0,0,0,798,802,1,0,0,0,799,800,5,58,0,0,800,802,5,51,0,0,801,793,1,0,0,0,801,799,1,0,0,0,802,45,1,0,0,0,803,804,5,4,0,0,804,805,5,188,0,0,805,806,3,186,93,0,806,808,5,1,0,0,807,809,3,172,86,0,808,807,1,0,0,0,808,809,1,0,0,0,809,822,1,0,0,0,810,811,5,145,0,0,811,814,3,304,152,0,812,813,5,24,0,0,813,815,3,314,157,0,814,812,1,0,0,0,814,815,1,0,0,0,815,817,1,0,0,0,816,818,3,240,120,0,817,816,1,0,0,0,817,818,1,0,0,0,818,823,1,0,0,0,819,820,5,154,0,0,820,821,5,145,0,0,821,823,3,238,119,0,822,810,1,0,0,0,822,819,1,0,0,0,823,47,1,0,0,0,824,825,5,4,0,0,825,826,5,188,0,0,826,829,3,186,93,0,827,828,5,145,0,0,828,830,3,304,152,0,829,827,1,0,0,0,829,830,1,0,0,0,830,831,1,0,0,0,831,843,5,176,0,0,832,833,5,72,0,0,833,844,3,230,115,0,834,835,5,168,0,0,835,836,5,79,0,0,836,844,3,254,127,0,837,838,5,24,0,0,838,844,3,314,157,0,839,840,5,25,0,0,840,844,3,248,124,0,841,842,5,175,0,0,842,844,3,248,124,0,843,832,1,0,0,0,843,834,1,0,0,0,843,837,1,0,0,0,843,839,1,0,0,0,843,841,1,0,0,0,844,49,1,0,0,0,845,846,5,4,0,0,846,847,5,188,0,0,847,848,3,186,93,0,848,849,5,155,0,0,849,850,5,146,0,0,850,51,1,0,0,0,851,852,5,4,0,0,852,853,5,188,0,0,853,854,3,186,93,0,854,856,5,58,0,0,855,857,3,170,85,0,856,855,1,0,0,0,856,857,1,0,0,0,857,866,1,0,0,0,858,859,5,145,0,0,859,861,3,304,152,0,860,862,5,22,0,0,861,860,1,0,0,0,861,862,1,0,0,0,862,867,1,0,0,0,863,864,5,154,0,0,864,865,5,145,0,0,865,867,3,238,119,0,866,858,1,0,0,0,866,863,1,0,0,0,867,53,1,0,0,0,868,869,5,4,0,0,869,870,5,212,0,0,870,872,3,188,94,0,871,873,3,202,101,0,872,871,1,0,0,0,872,873,1,0,0,0,873,874,1,0,0,0,874,875,5,9,0,0,875,876,3,204,102,0,876,55,1,0,0,0,877,878,5,4,0,0,878,879,5,212,0,0,879,880,3,188,94,0,880,881,5,156,0,0,881,882,5,193,0,0,882,883,3,188,94,0,883,57,1,0,0,0,884,885,5,4,0,0,885,886,5,212,0,0,886,887,3,188,94,0,887,888,5,176,0,0,888,889,5,142,0,0,889,890,7,1,0,0,890,891,3,354,177,0,891,59,1,0,0,0,892,893,5,4,0,0,893,894,5,188,0,0,894,895,3,186,93,0,895,896,5,156,0,0,896,897,5,193,0,0,897,898,3,186,93,0,898,61,1,0,0,0,899,900,5,4,0,0,900,901,5,212,0,0,901,902,3,188,94,0,902,903,7,2,0,0,903,904,5,25,0,0,904,905,3,248,124,0,905,63,1,0,0,0,906,908,5,196,0,0,907,909,5,188,0,0,908,907,1,0,0,0,908,909,1,0,0,0,909,911,1,0,0,0,910,912,3,170,85,0,911,910,1,0,0,0,911,912,1,0,0,0,912,913,1,0,0,0,913,914,3,186,93,0,914,65,1,0,0,0,915,917,5,56,0,0,916,918,5,46,0,0,917,916,1,0,0,0,917,918,1,0,0,0,918,920,1,0,0,0,919,921,7,3,0,0,920,919,1,0,0,0,920,921,1,0,0,0,921,922,1,0,0,0,922,923,3,354,177,0,923,67,1,0,0,0,924,927,3,70,35,0,925,927,3,72,36,0,926,924,1,0,0,0,926,925,1,0,0,0,927,69,1,0,0,0,928,929,5,36,0,0,929,930,5,182,0,0,930,932,3,186,93,0,931,933,3,292,146,0,932,931,1,0,0,0,932,933,1,0,0,0,933,946,1,0,0,0,934,935,5,190,0,0,935,936,5,185,0,0,936,937,5,265,0,0,937,938,3,360,180,0,938,944,5,266,0,0,939,940,5,157,0,0,940,941,5,265,0,0,941,942,3,360,180,0,942,943,5,266,0,0,943,945,1,0,0,0,944,939,1,0,0,0,944,945,1,0,0,0,945,947,1,0,0,0,946,934,1,0,0,0,946,947,1,0,0,0,947,71,1,0,0,0,948,949,5,36,0,0,949,950,5,96,0,0,950,951,5,182,0,0,951,957,3,186,93,0,952,953,5,145,0,0,953,954,5,265,0,0,954,955,3,304,152,0,955,956,5,266,0,0,956,958,1,0,0,0,957,952,1,0,0,0,957,958,1,0,0,0,958,73,1,0,0,0,959,966,3,86,43,0,960,966,3,84,42,0,961,966,3,82,41,0,962,966,3,78,39,0,963,966,3,80,40,0,964,966,3,76,38,0,965,959,1,0,0,0,965,960,1,0,0,0,965,961,1,0,0,0,965,962,1,0,0,0,965,963,1,0,0,0,965,964,1,0,0,0,966,75,1,0,0,0,967,968,5,58,0,0,968,970,7,0,0,0,969,971,3,170,85,0,970,969,1,0,0,0,970,971,1,0,0,0,971,972,1,0,0,0,972,974,3,184,92,0,973,975,7,4,0,0,974,973,1,0,0,0,974,975,1,0,0,0,975,77,1,0,0,0,976,977,5,58,0,0,977,979,5,212,0,0,978,980,3,170,85,0,979,978,1,0,0,0,979,980,1,0,0,0,980,981,1,0,0,0,981,982,3,188,94,0,982,79,1,0,0,0,983,984,5,58,0,0,984,986,5,188,0,0,985,987,3,170,85,0,986,985,1,0,0,0,986,987,1,0,0,0,987,988,1,0,0,0,988,990,3,186,93,0,989,991,5,22,0,0,990,989,1,0,0,0,990,991,1,0,0,0,991,81,1,0,0,0,992,994,5,58,0,0,993,995,5,96,0,0,994,993,1,0,0,0,994,995,1,0,0,0,995,996,1,0,0,0,996,997,5,182,0,0,997,1e3,3,186,93,0,998,999,5,145,0,0,999,1001,3,304,152,0,1e3,998,1,0,0,0,1e3,1001,1,0,0,0,1001,83,1,0,0,0,1002,1004,5,58,0,0,1003,1005,5,12,0,0,1004,1003,1,0,0,0,1004,1005,1,0,0,0,1005,1006,1,0,0,0,1006,1008,5,84,0,0,1007,1009,3,170,85,0,1008,1007,1,0,0,0,1008,1009,1,0,0,0,1009,1010,1,0,0,0,1010,1023,3,190,95,0,1011,1020,5,265,0,0,1012,1017,3,328,164,0,1013,1014,5,263,0,0,1014,1016,3,328,164,0,1015,1013,1,0,0,0,1016,1019,1,0,0,0,1017,1015,1,0,0,0,1017,1018,1,0,0,0,1018,1021,1,0,0,0,1019,1017,1,0,0,0,1020,1012,1,0,0,0,1020,1021,1,0,0,0,1021,1022,1,0,0,0,1022,1024,5,266,0,0,1023,1011,1,0,0,0,1023,1024,1,0,0,0,1024,85,1,0,0,0,1025,1026,5,58,0,0,1026,1027,5,166,0,0,1027,1028,3,358,179,0,1028,87,1,0,0,0,1029,1032,3,90,45,0,1030,1032,3,92,46,0,1031,1029,1,0,0,0,1031,1030,1,0,0,0,1032,89,1,0,0,0,1033,1034,5,86,0,0,1034,1035,5,166,0,0,1035,1036,3,358,179,0,1036,1037,5,193,0,0,1037,1038,5,87,0,0,1038,1039,3,358,179,0,1039,91,1,0,0,0,1040,1041,5,86,0,0,1041,1042,3,350,175,0,1042,1043,5,136,0,0,1043,1045,3,352,176,0,1044,1046,3,354,177,0,1045,1044,1,0,0,0,1045,1046,1,0,0,0,1046,1047,1,0,0,0,1047,1048,5,193,0,0,1048,1049,3,356,178,0,1049,93,1,0,0,0,1050,1053,3,96,48,0,1051,1053,3,98,49,0,1052,1050,1,0,0,0,1052,1051,1,0,0,0,1053,95,1,0,0,0,1054,1055,5,161,0,0,1055,1056,5,166,0,0,1056,1057,3,358,179,0,1057,1058,5,82,0,0,1058,1059,5,87,0,0,1059,1060,3,358,179,0,1060,97,1,0,0,0,1061,1065,5,161,0,0,1062,1063,5,86,0,0,1063,1064,5,137,0,0,1064,1066,5,78,0,0,1065,1062,1,0,0,0,1065,1066,1,0,0,0,1066,1067,1,0,0,0,1067,1068,3,350,175,0,1068,1069,5,136,0,0,1069,1071,3,352,176,0,1070,1072,3,354,177,0,1071,1070,1,0,0,0,1071,1072,1,0,0,0,1072,1073,1,0,0,0,1073,1079,5,82,0,0,1074,1080,3,356,178,0,1075,1077,5,166,0,0,1076,1075,1,0,0,0,1076,1077,1,0,0,0,1077,1078,1,0,0,0,1078,1080,3,358,179,0,1079,1074,1,0,0,0,1079,1076,1,0,0,0,1080,99,1,0,0,0,1081,1083,3,206,103,0,1082,1081,1,0,0,0,1082,1083,1,0,0,0,1083,1084,1,0,0,0,1084,1085,5,99,0,0,1085,1087,7,5,0,0,1086,1088,5,188,0,0,1087,1086,1,0,0,0,1087,1088,1,0,0,0,1088,1089,1,0,0,0,1089,1091,3,186,93,0,1090,1092,3,292,146,0,1091,1090,1,0,0,0,1091,1092,1,0,0,0,1092,1105,1,0,0,0,1093,1094,5,145,0,0,1094,1095,5,265,0,0,1095,1100,3,304,152,0,1096,1097,5,263,0,0,1097,1099,3,304,152,0,1098,1096,1,0,0,0,1099,1102,1,0,0,0,1100,1098,1,0,0,0,1100,1101,1,0,0,0,1101,1103,1,0,0,0,1102,1100,1,0,0,0,1103,1104,5,266,0,0,1104,1106,1,0,0,0,1105,1093,1,0,0,0,1105,1106,1,0,0,0,1106,1107,1,0,0,0,1107,1108,3,204,102,0,1108,101,1,0,0,0,1109,1112,3,104,52,0,1110,1112,3,106,53,0,1111,1109,1,0,0,0,1111,1110,1,0,0,0,1112,103,1,0,0,0,1113,1115,5,50,0,0,1114,1116,5,82,0,0,1115,1114,1,0,0,0,1115,1116,1,0,0,0,1116,1117,1,0,0,0,1117,1120,3,186,93,0,1118,1119,5,215,0,0,1119,1121,3,306,153,0,1120,1118,1,0,0,0,1120,1121,1,0,0,0,1121,105,1,0,0,0,1122,1123,5,50,0,0,1123,1128,3,186,93,0,1124,1126,5,9,0,0,1125,1124,1,0,0,0,1125,1126,1,0,0,0,1126,1127,1,0,0,0,1127,1129,3,358,179,0,1128,1125,1,0,0,0,1128,1129,1,0,0,0,1129,1130,1,0,0,0,1130,1139,5,82,0,0,1131,1136,3,280,140,0,1132,1133,5,263,0,0,1133,1135,3,280,140,0,1134,1132,1,0,0,0,1135,1138,1,0,0,0,1136,1134,1,0,0,0,1136,1137,1,0,0,0,1137,1140,1,0,0,0,1138,1136,1,0,0,0,1139,1131,1,0,0,0,1139,1140,1,0,0,0,1140,1143,1,0,0,0,1141,1142,5,215,0,0,1142,1144,3,306,153,0,1143,1141,1,0,0,0,1143,1144,1,0,0,0,1144,107,1,0,0,0,1145,1146,5,54,0,0,1146,1147,3,186,93,0,1147,1148,5,176,0,0,1148,1158,3,198,99,0,1149,1150,5,82,0,0,1150,1155,3,280,140,0,1151,1152,5,263,0,0,1152,1154,3,280,140,0,1153,1151,1,0,0,0,1154,1157,1,0,0,0,1155,1153,1,0,0,0,1155,1156,1,0,0,0,1156,1159,1,0,0,0,1157,1155,1,0,0,0,1158,1149,1,0,0,0,1158,1159,1,0,0,0,1159,1162,1,0,0,0,1160,1161,5,215,0,0,1161,1163,3,306,153,0,1162,1160,1,0,0,0,1162,1163,1,0,0,0,1163,109,1,0,0,0,1164,1165,5,207,0,0,1165,1167,5,103,0,0,1166,1168,5,188,0,0,1167,1166,1,0,0,0,1167,1168,1,0,0,0,1168,1169,1,0,0,0,1169,1171,3,186,93,0,1170,1172,3,292,146,0,1171,1170,1,0,0,0,1171,1172,1,0,0,0,1172,1173,1,0,0,0,1173,1174,3,204,102,0,1174,111,1,0,0,0,1175,1188,3,132,66,0,1176,1188,3,134,67,0,1177,1188,3,136,68,0,1178,1188,3,130,65,0,1179,1188,3,128,64,0,1180,1188,3,126,63,0,1181,1188,3,124,62,0,1182,1188,3,122,61,0,1183,1188,3,120,60,0,1184,1188,3,118,59,0,1185,1188,3,116,58,0,1186,1188,3,114,57,0,1187,1175,1,0,0,0,1187,1176,1,0,0,0,1187,1177,1,0,0,0,1187,1178,1,0,0,0,1187,1179,1,0,0,0,1187,1180,1,0,0,0,1187,1181,1,0,0,0,1187,1182,1,0,0,0,1187,1183,1,0,0,0,1187,1184,1,0,0,0,1187,1185,1,0,0,0,1187,1186,1,0,0,0,1188,113,1,0,0,0,1189,1190,5,179,0,0,1190,1202,7,6,0,0,1191,1193,5,115,0,0,1192,1191,1,0,0,0,1192,1193,1,0,0,0,1193,1194,1,0,0,0,1194,1199,3,314,157,0,1195,1196,5,271,0,0,1196,1198,3,314,157,0,1197,1195,1,0,0,0,1198,1201,1,0,0,0,1199,1197,1,0,0,0,1199,1200,1,0,0,0,1200,1203,1,0,0,0,1201,1199,1,0,0,0,1202,1192,1,0,0,0,1202,1203,1,0,0,0,1203,115,1,0,0,0,1204,1205,5,179,0,0,1205,1208,5,189,0,0,1206,1207,5,94,0,0,1207,1209,3,186,93,0,1208,1206,1,0,0,0,1208,1209,1,0,0,0,1209,1221,1,0,0,0,1210,1212,5,115,0,0,1211,1210,1,0,0,0,1211,1212,1,0,0,0,1212,1213,1,0,0,0,1213,1218,3,314,157,0,1214,1215,5,271,0,0,1215,1217,3,314,157,0,1216,1214,1,0,0,0,1217,1220,1,0,0,0,1218,1216,1,0,0,0,1218,1219,1,0,0,0,1219,1222,1,0,0,0,1220,1218,1,0,0,0,1221,1211,1,0,0,0,1221,1222,1,0,0,0,1222,117,1,0,0,0,1223,1225,5,179,0,0,1224,1226,7,7,0,0,1225,1224,1,0,0,0,1225,1226,1,0,0,0,1226,1227,1,0,0,0,1227,1230,5,85,0,0,1228,1229,5,94,0,0,1229,1231,3,184,92,0,1230,1228,1,0,0,0,1230,1231,1,0,0,0,1231,1243,1,0,0,0,1232,1234,5,115,0,0,1233,1232,1,0,0,0,1233,1234,1,0,0,0,1234,1235,1,0,0,0,1235,1240,3,314,157,0,1236,1237,5,271,0,0,1237,1239,3,314,157,0,1238,1236,1,0,0,0,1239,1242,1,0,0,0,1240,1238,1,0,0,0,1240,1241,1,0,0,0,1241,1244,1,0,0,0,1242,1240,1,0,0,0,1243,1233,1,0,0,0,1243,1244,1,0,0,0,1244,119,1,0,0,0,1245,1246,5,179,0,0,1246,1247,5,37,0,0,1247,1248,5,188,0,0,1248,1249,3,186,93,0,1249,121,1,0,0,0,1250,1251,5,179,0,0,1251,1252,5,37,0,0,1252,1253,5,212,0,0,1253,1254,3,188,94,0,1254,123,1,0,0,0,1255,1256,5,179,0,0,1256,1257,5,188,0,0,1257,1258,5,182,0,0,1258,1259,3,186,93,0,1259,125,1,0,0,0,1260,1261,5,179,0,0,1261,1262,5,32,0,0,1262,1263,5,182,0,0,1263,1264,3,186,93,0,1264,127,1,0,0,0,1265,1267,5,179,0,0,1266,1268,5,154,0,0,1267,1266,1,0,0,0,1267,1268,1,0,0,0,1268,1269,1,0,0,0,1269,1270,5,146,0,0,1270,1271,3,186,93,0,1271,129,1,0,0,0,1272,1273,5,179,0,0,1273,1274,5,73,0,0,1274,1275,5,94,0,0,1275,1285,3,186,93,0,1276,1277,5,145,0,0,1277,1278,5,265,0,0,1278,1281,3,304,152,0,1279,1280,5,263,0,0,1280,1282,3,304,152,0,1281,1279,1,0,0,0,1281,1282,1,0,0,0,1282,1283,1,0,0,0,1283,1284,5,266,0,0,1284,1286,1,0,0,0,1285,1276,1,0,0,0,1285,1286,1,0,0,0,1286,131,1,0,0,0,1287,1289,5,179,0,0,1288,1290,5,39,0,0,1289,1288,1,0,0,0,1289,1290,1,0,0,0,1290,1291,1,0,0,0,1291,1292,5,167,0,0,1292,133,1,0,0,0,1293,1294,5,179,0,0,1294,1295,5,166,0,0,1295,1296,5,86,0,0,1296,1297,5,87,0,0,1297,1298,3,358,179,0,1298,135,1,0,0,0,1299,1314,3,138,69,0,1300,1314,3,140,70,0,1301,1314,3,142,71,0,1302,1303,5,179,0,0,1303,1304,5,86,0,0,1304,1305,7,8,0,0,1305,1311,3,358,179,0,1306,1307,5,136,0,0,1307,1309,7,9,0,0,1308,1310,3,354,177,0,1309,1308,1,0,0,0,1309,1310,1,0,0,0,1310,1312,1,0,0,0,1311,1306,1,0,0,0,1311,1312,1,0,0,0,1312,1314,1,0,0,0,1313,1299,1,0,0,0,1313,1300,1,0,0,0,1313,1301,1,0,0,0,1313,1302,1,0,0,0,1314,137,1,0,0,0,1315,1316,5,179,0,0,1316,1317,5,86,0,0,1317,1318,7,8,0,0,1318,1324,3,358,179,0,1319,1320,5,136,0,0,1320,1322,5,46,0,0,1321,1323,3,184,92,0,1322,1321,1,0,0,0,1322,1323,1,0,0,0,1323,1325,1,0,0,0,1324,1319,1,0,0,0,1324,1325,1,0,0,0,1325,139,1,0,0,0,1326,1327,5,179,0,0,1327,1328,5,86,0,0,1328,1329,7,8,0,0,1329,1335,3,358,179,0,1330,1331,5,136,0,0,1331,1333,5,188,0,0,1332,1334,3,186,93,0,1333,1332,1,0,0,0,1333,1334,1,0,0,0,1334,1336,1,0,0,0,1335,1330,1,0,0,0,1335,1336,1,0,0,0,1336,141,1,0,0,0,1337,1338,5,179,0,0,1338,1339,5,86,0,0,1339,1340,7,8,0,0,1340,1346,3,358,179,0,1341,1342,5,136,0,0,1342,1344,5,32,0,0,1343,1345,3,192,96,0,1344,1343,1,0,0,0,1344,1345,1,0,0,0,1345,1347,1,0,0,0,1346,1341,1,0,0,0,1346,1347,1,0,0,0,1347,143,1,0,0,0,1348,1352,3,146,73,0,1349,1352,3,148,74,0,1350,1352,3,150,75,0,1351,1348,1,0,0,0,1351,1349,1,0,0,0,1351,1350,1,0,0,0,1352,145,1,0,0,0,1353,1354,5,34,0,0,1354,1355,5,136,0,0,1355,1356,5,46,0,0,1356,1357,3,184,92,0,1357,1360,5,108,0,0,1358,1361,3,314,157,0,1359,1361,5,133,0,0,1360,1358,1,0,0,0,1360,1359,1,0,0,0,1361,147,1,0,0,0,1362,1363,5,34,0,0,1363,1364,5,136,0,0,1364,1365,5,188,0,0,1365,1366,3,186,93,0,1366,1369,5,108,0,0,1367,1370,3,314,157,0,1368,1370,5,133,0,0,1369,1367,1,0,0,0,1369,1368,1,0,0,0,1370,149,1,0,0,0,1371,1372,5,34,0,0,1372,1373,5,136,0,0,1373,1374,5,32,0,0,1374,1375,3,192,96,0,1375,1378,5,108,0,0,1376,1379,3,314,157,0,1377,1379,5,133,0,0,1378,1376,1,0,0,0,1378,1377,1,0,0,0,1379,151,1,0,0,0,1380,1381,5,67,0,0,1381,1382,3,4,2,0,1382,153,1,0,0,0,1383,1389,5,176,0,0,1384,1390,5,2,0,0,1385,1386,3,358,179,0,1386,1387,5,249,0,0,1387,1388,3,304,152,0,1388,1390,1,0,0,0,1389,1384,1,0,0,0,1389,1385,1,0,0,0,1389,1390,1,0,0,0,1390,155,1,0,0,0,1391,1392,5,264,0,0,1392,1393,5,180,0,0,1393,1403,5,265,0,0,1394,1396,3,314,157,0,1395,1394,1,0,0,0,1395,1396,1,0,0,0,1396,1404,1,0,0,0,1397,1400,3,314,157,0,1398,1399,5,263,0,0,1399,1401,3,304,152,0,1400,1398,1,0,0,0,1400,1401,1,0,0,0,1401,1404,1,0,0,0,1402,1404,3,304,152,0,1403,1395,1,0,0,0,1403,1397,1,0,0,0,1403,1402,1,0,0,0,1404,1405,1,0,0,0,1405,1406,5,266,0,0,1406,157,1,0,0,0,1407,1408,5,107,0,0,1408,1409,5,121,0,0,1409,1410,3,186,93,0,1410,159,1,0,0,0,1411,1412,5,118,0,0,1412,1413,5,45,0,0,1413,1414,5,98,0,0,1414,1416,5,274,0,0,1415,1417,5,144,0,0,1416,1415,1,0,0,0,1416,1417,1,0,0,0,1417,1418,1,0,0,0,1418,1419,5,103,0,0,1419,1420,5,188,0,0,1420,1430,3,186,93,0,1421,1422,5,145,0,0,1422,1423,5,265,0,0,1423,1426,3,304,152,0,1424,1425,5,263,0,0,1425,1427,3,304,152,0,1426,1424,1,0,0,0,1426,1427,1,0,0,0,1427,1428,1,0,0,0,1428,1429,5,266,0,0,1429,1431,1,0,0,0,1430,1421,1,0,0,0,1430,1431,1,0,0,0,1431,161,1,0,0,0,1432,1436,3,164,82,0,1433,1436,3,166,83,0,1434,1436,3,168,84,0,1435,1432,1,0,0,0,1435,1433,1,0,0,0,1435,1434,1,0,0,0,1436,163,1,0,0,0,1437,1438,5,162,0,0,1438,1451,3,186,93,0,1439,1440,5,145,0,0,1440,1441,5,265,0,0,1441,1446,3,304,152,0,1442,1443,5,263,0,0,1443,1445,3,304,152,0,1444,1442,1,0,0,0,1445,1448,1,0,0,0,1446,1447,1,0,0,0,1446,1444,1,0,0,0,1447,1449,1,0,0,0,1448,1446,1,0,0,0,1449,1450,5,266,0,0,1450,1452,1,0,0,0,1451,1439,1,0,0,0,1451,1452,1,0,0,0,1452,165,1,0,0,0,1453,1454,5,162,0,0,1454,1455,5,13,0,0,1455,167,1,0,0,0,1456,1457,5,162,0,0,1457,1458,5,85,0,0,1458,1459,3,190,95,0,1459,169,1,0,0,0,1460,1461,5,93,0,0,1461,1462,5,66,0,0,1462,171,1,0,0,0,1463,1464,5,93,0,0,1464,1465,5,132,0,0,1465,1466,5,66,0,0,1466,173,1,0,0,0,1467,1468,3,354,177,0,1468,175,1,0,0,0,1469,1470,3,354,177,0,1470,177,1,0,0,0,1471,1472,3,354,177,0,1472,179,1,0,0,0,1473,1474,3,354,177,0,1474,181,1,0,0,0,1475,1476,3,354,177,0,1476,183,1,0,0,0,1477,1478,3,354,177,0,1478,185,1,0,0,0,1479,1484,3,358,179,0,1480,1481,5,261,0,0,1481,1483,3,358,179,0,1482,1480,1,0,0,0,1483,1486,1,0,0,0,1484,1482,1,0,0,0,1484,1485,1,0,0,0,1485,187,1,0,0,0,1486,1484,1,0,0,0,1487,1492,3,358,179,0,1488,1489,5,261,0,0,1489,1491,3,358,179,0,1490,1488,1,0,0,0,1491,1494,1,0,0,0,1492,1490,1,0,0,0,1492,1493,1,0,0,0,1493,189,1,0,0,0,1494,1492,1,0,0,0,1495,1498,3,362,181,0,1496,1498,3,354,177,0,1497,1495,1,0,0,0,1497,1496,1,0,0,0,1498,191,1,0,0,0,1499,1502,3,354,177,0,1500,1502,4,96,0,0,1501,1499,1,0,0,0,1501,1500,1,0,0,0,1502,193,1,0,0,0,1503,1506,3,186,93,0,1504,1506,3,188,94,0,1505,1503,1,0,0,0,1505,1504,1,0,0,0,1506,195,1,0,0,0,1507,1508,5,21,0,0,1508,1509,5,26,0,0,1509,1511,3,292,146,0,1510,1507,1,0,0,0,1510,1511,1,0,0,0,1511,1514,1,0,0,0,1512,1513,5,34,0,0,1513,1515,3,314,157,0,1514,1512,1,0,0,0,1514,1515,1,0,0,0,1515,1519,1,0,0,0,1516,1517,5,168,0,0,1517,1518,5,79,0,0,1518,1520,3,254,127,0,1519,1516,1,0,0,0,1519,1520,1,0,0,0,1520,1524,1,0,0,0,1521,1522,5,216,0,0,1522,1523,5,175,0,0,1523,1525,3,248,124,0,1524,1521,1,0,0,0,1524,1525,1,0,0,0,1525,1529,1,0,0,0,1526,1527,5,23,0,0,1527,1528,5,9,0,0,1528,1530,3,230,115,0,1529,1526,1,0,0,0,1529,1530,1,0,0,0,1530,1533,1,0,0,0,1531,1532,5,24,0,0,1532,1534,3,314,157,0,1533,1531,1,0,0,0,1533,1534,1,0,0,0,1534,1545,1,0,0,0,1535,1536,5,30,0,0,1536,1537,5,94,0,0,1537,1542,3,354,177,0,1538,1539,5,216,0,0,1539,1540,5,151,0,0,1540,1541,5,249,0,0,1541,1543,5,277,0,0,1542,1538,1,0,0,0,1542,1543,1,0,0,0,1543,1546,1,0,0,0,1544,1546,5,197,0,0,1545,1535,1,0,0,0,1545,1544,1,0,0,0,1545,1546,1,0,0,0,1546,1549,1,0,0,0,1547,1548,5,25,0,0,1548,1550,3,248,124,0,1549,1547,1,0,0,0,1549,1550,1,0,0,0,1550,197,1,0,0,0,1551,1556,3,200,100,0,1552,1553,5,263,0,0,1553,1555,3,200,100,0,1554,1552,1,0,0,0,1555,1558,1,0,0,0,1556,1554,1,0,0,0,1556,1557,1,0,0,0,1557,199,1,0,0,0,1558,1556,1,0,0,0,1559,1560,3,354,177,0,1560,1561,5,249,0,0,1561,1562,3,304,152,0,1562,201,1,0,0,0,1563,1564,5,265,0,0,1564,1567,3,182,91,0,1565,1566,5,34,0,0,1566,1568,3,314,157,0,1567,1565,1,0,0,0,1567,1568,1,0,0,0,1568,1577,1,0,0,0,1569,1570,5,263,0,0,1570,1573,3,182,91,0,1571,1572,5,34,0,0,1572,1574,3,314,157,0,1573,1571,1,0,0,0,1573,1574,1,0,0,0,1574,1576,1,0,0,0,1575,1569,1,0,0,0,1576,1579,1,0,0,0,1577,1575,1,0,0,0,1577,1578,1,0,0,0,1578,1580,1,0,0,0,1579,1577,1,0,0,0,1580,1581,5,266,0,0,1581,203,1,0,0,0,1582,1584,3,206,103,0,1583,1582,1,0,0,0,1583,1584,1,0,0,0,1584,1585,1,0,0,0,1585,1586,3,258,129,0,1586,205,1,0,0,0,1587,1588,5,216,0,0,1588,1593,3,274,137,0,1589,1590,5,263,0,0,1590,1592,3,274,137,0,1591,1589,1,0,0,0,1592,1595,1,0,0,0,1593,1591,1,0,0,0,1593,1594,1,0,0,0,1594,207,1,0,0,0,1595,1593,1,0,0,0,1596,1597,5,150,0,0,1597,1598,5,110,0,0,1598,1600,3,292,146,0,1599,1601,5,53,0,0,1600,1599,1,0,0,0,1600,1601,1,0,0,0,1601,1605,1,0,0,0,1602,1606,5,225,0,0,1603,1604,5,263,0,0,1604,1606,5,225,0,0,1605,1602,1,0,0,0,1605,1603,1,0,0,0,1605,1606,1,0,0,0,1606,1610,1,0,0,0,1607,1611,5,226,0,0,1608,1609,5,263,0,0,1609,1611,5,226,0,0,1610,1607,1,0,0,0,1610,1608,1,0,0,0,1610,1611,1,0,0,0,1611,1624,1,0,0,0,1612,1613,5,263,0,0,1613,1616,3,210,105,0,1614,1616,3,210,105,0,1615,1612,1,0,0,0,1615,1614,1,0,0,0,1616,1621,1,0,0,0,1617,1618,5,263,0,0,1618,1620,3,210,105,0,1619,1617,1,0,0,0,1620,1623,1,0,0,0,1621,1622,1,0,0,0,1621,1619,1,0,0,0,1622,1625,1,0,0,0,1623,1621,1,0,0,0,1624,1615,1,0,0,0,1624,1625,1,0,0,0,1625,209,1,0,0,0,1626,1627,5,81,0,0,1627,1628,5,110,0,0,1628,1629,3,292,146,0,1629,1630,5,224,0,0,1630,1631,3,186,93,0,1631,1633,3,292,146,0,1632,1634,5,53,0,0,1633,1632,1,0,0,0,1633,1634,1,0,0,0,1634,1636,1,0,0,0,1635,1637,5,225,0,0,1636,1635,1,0,0,0,1636,1637,1,0,0,0,1637,1639,1,0,0,0,1638,1640,5,226,0,0,1639,1638,1,0,0,0,1639,1640,1,0,0,0,1640,211,1,0,0,0,1641,1642,3,192,96,0,1642,1645,3,328,164,0,1643,1644,5,34,0,0,1644,1646,3,314,157,0,1645,1643,1,0,0,0,1645,1646,1,0,0,0,1646,213,1,0,0,0,1647,1648,3,182,91,0,1648,1651,3,328,164,0,1649,1650,5,34,0,0,1650,1652,3,314,157,0,1651,1649,1,0,0,0,1651,1652,1,0,0,0,1652,215,1,0,0,0,1653,1654,3,218,109,0,1654,217,1,0,0,0,1655,1656,3,182,91,0,1656,1664,3,328,164,0,1657,1661,3,224,112,0,1658,1660,3,224,112,0,1659,1658,1,0,0,0,1660,1663,1,0,0,0,1661,1662,1,0,0,0,1661,1659,1,0,0,0,1662,1665,1,0,0,0,1663,1661,1,0,0,0,1664,1657,1,0,0,0,1664,1665,1,0,0,0,1665,1668,1,0,0,0,1666,1667,5,34,0,0,1667,1669,3,314,157,0,1668,1666,1,0,0,0,1668,1669,1,0,0,0,1669,1672,1,0,0,0,1670,1671,5,150,0,0,1671,1673,5,110,0,0,1672,1670,1,0,0,0,1672,1673,1,0,0,0,1673,219,1,0,0,0,1674,1676,3,212,106,0,1675,1674,1,0,0,0,1675,1676,1,0,0,0,1676,1684,1,0,0,0,1677,1681,3,224,112,0,1678,1680,3,224,112,0,1679,1678,1,0,0,0,1680,1683,1,0,0,0,1681,1682,1,0,0,0,1681,1679,1,0,0,0,1682,1685,1,0,0,0,1683,1681,1,0,0,0,1684,1677,1,0,0,0,1684,1685,1,0,0,0,1685,221,1,0,0,0,1686,1687,3,182,91,0,1687,1690,3,328,164,0,1688,1689,5,34,0,0,1689,1691,3,314,157,0,1690,1688,1,0,0,0,1690,1691,1,0,0,0,1691,1699,1,0,0,0,1692,1696,3,224,112,0,1693,1695,3,224,112,0,1694,1693,1,0,0,0,1695,1698,1,0,0,0,1696,1697,1,0,0,0,1696,1694,1,0,0,0,1697,1700,1,0,0,0,1698,1696,1,0,0,0,1699,1692,1,0,0,0,1699,1700,1,0,0,0,1700,223,1,0,0,0,1701,1703,5,132,0,0,1702,1701,1,0,0,0,1702,1703,1,0,0,0,1703,1704,1,0,0,0,1704,1707,5,133,0,0,1705,1707,3,226,113,0,1706,1702,1,0,0,0,1706,1705,1,0,0,0,1707,225,1,0,0,0,1708,1709,5,60,0,0,1709,1717,3,304,152,0,1710,1711,5,35,0,0,1711,1717,3,304,152,0,1712,1713,5,51,0,0,1713,1717,3,304,152,0,1714,1715,5,16,0,0,1715,1717,3,360,180,0,1716,1708,1,0,0,0,1716,1710,1,0,0,0,1716,1712,1,0,0,0,1716,1714,1,0,0,0,1717,227,1,0,0,0,1718,1719,7,10,0,0,1719,229,1,0,0,0,1720,1721,7,11,0,0,1721,231,1,0,0,0,1722,1727,3,234,117,0,1723,1724,5,263,0,0,1724,1726,3,234,117,0,1725,1723,1,0,0,0,1726,1729,1,0,0,0,1727,1728,1,0,0,0,1727,1725,1,0,0,0,1728,1732,1,0,0,0,1729,1727,1,0,0,0,1730,1731,5,263,0,0,1731,1733,3,236,118,0,1732,1730,1,0,0,0,1732,1733,1,0,0,0,1733,1736,1,0,0,0,1734,1736,3,236,118,0,1735,1722,1,0,0,0,1735,1734,1,0,0,0,1736,233,1,0,0,0,1737,1739,5,89,0,0,1738,1740,3,292,146,0,1739,1738,1,0,0,0,1739,1740,1,0,0,0,1740,1741,1,0,0,0,1741,1742,5,146,0,0,1742,1743,3,360,180,0,1743,235,1,0,0,0,1744,1746,5,154,0,0,1745,1747,3,292,146,0,1746,1745,1,0,0,0,1746,1747,1,0,0,0,1747,1748,1,0,0,0,1748,1749,5,265,0,0,1749,1750,5,145,0,0,1750,1756,3,238,119,0,1751,1752,5,263,0,0,1752,1753,5,145,0,0,1753,1755,3,238,119,0,1754,1751,1,0,0,0,1755,1758,1,0,0,0,1756,1757,1,0,0,0,1756,1754,1,0,0,0,1757,1759,1,0,0,0,1758,1756,1,0,0,0,1759,1760,5,266,0,0,1760,237,1,0,0,0,1761,1762,5,210,0,0,1762,1763,3,244,122,0,1763,1764,3,304,152,0,1764,1777,1,0,0,0,1765,1766,3,304,152,0,1766,1767,3,242,121,0,1767,1769,1,0,0,0,1768,1765,1,0,0,0,1768,1769,1,0,0,0,1769,1770,1,0,0,0,1770,1774,5,211,0,0,1771,1772,3,242,121,0,1772,1773,3,304,152,0,1773,1775,1,0,0,0,1774,1771,1,0,0,0,1774,1775,1,0,0,0,1775,1777,1,0,0,0,1776,1761,1,0,0,0,1776,1768,1,0,0,0,1777,239,1,0,0,0,1778,1779,5,30,0,0,1779,1780,5,94,0,0,1780,1785,3,358,179,0,1781,1782,5,216,0,0,1782,1783,5,151,0,0,1783,1784,5,249,0,0,1784,1786,3,360,180,0,1785,1781,1,0,0,0,1785,1786,1,0,0,0,1786,1789,1,0,0,0,1787,1789,5,197,0,0,1788,1778,1,0,0,0,1788,1787,1,0,0,0,1789,241,1,0,0,0,1790,1796,1,0,0,0,1791,1796,5,251,0,0,1792,1796,5,252,0,0,1793,1796,5,253,0,0,1794,1796,5,254,0,0,1795,1790,1,0,0,0,1795,1791,1,0,0,0,1795,1792,1,0,0,0,1795,1793,1,0,0,0,1795,1794,1,0,0,0,1796,243,1,0,0,0,1797,1806,5,249,0,0,1798,1806,5,250,0,0,1799,1806,5,115,0,0,1800,1806,5,164,0,0,1801,1806,5,163,0,0,1802,1806,5,15,0,0,1803,1806,5,94,0,0,1804,1806,3,242,121,0,1805,1797,1,0,0,0,1805,1798,1,0,0,0,1805,1799,1,0,0,0,1805,1800,1,0,0,0,1805,1801,1,0,0,0,1805,1802,1,0,0,0,1805,1803,1,0,0,0,1805,1804,1,0,0,0,1806,245,1,0,0,0,1807,1808,5,115,0,0,1808,1811,3,354,177,0,1809,1810,7,12,0,0,1810,1812,5,153,0,0,1811,1809,1,0,0,0,1811,1812,1,0,0,0,1812,247,1,0,0,0,1813,1814,5,265,0,0,1814,1819,3,256,128,0,1815,1816,5,263,0,0,1816,1818,3,256,128,0,1817,1815,1,0,0,0,1818,1821,1,0,0,0,1819,1817,1,0,0,0,1819,1820,1,0,0,0,1820,1822,1,0,0,0,1821,1819,1,0,0,0,1822,1823,5,266,0,0,1823,249,1,0,0,0,1824,1825,5,265,0,0,1825,1830,3,212,106,0,1826,1827,5,263,0,0,1827,1829,3,212,106,0,1828,1826,1,0,0,0,1829,1832,1,0,0,0,1830,1831,1,0,0,0,1830,1828,1,0,0,0,1831,1833,1,0,0,0,1832,1830,1,0,0,0,1833,1834,5,266,0,0,1834,251,1,0,0,0,1835,1840,3,304,152,0,1836,1837,5,263,0,0,1837,1839,3,304,152,0,1838,1836,1,0,0,0,1839,1842,1,0,0,0,1840,1838,1,0,0,0,1840,1841,1,0,0,0,1841,253,1,0,0,0,1842,1840,1,0,0,0,1843,1853,5,52,0,0,1844,1845,5,71,0,0,1845,1846,5,191,0,0,1846,1847,5,26,0,0,1847,1851,3,314,157,0,1848,1849,5,63,0,0,1849,1850,5,26,0,0,1850,1852,3,314,157,0,1851,1848,1,0,0,0,1851,1852,1,0,0,0,1852,1854,1,0,0,0,1853,1844,1,0,0,0,1853,1854,1,0,0,0,1854,1859,1,0,0,0,1855,1856,5,117,0,0,1856,1857,5,191,0,0,1857,1858,5,26,0,0,1858,1860,3,314,157,0,1859,1855,1,0,0,0,1859,1860,1,0,0,0,1860,255,1,0,0,0,1861,1864,3,358,179,0,1862,1863,5,249,0,0,1863,1865,3,304,152,0,1864,1862,1,0,0,0,1864,1865,1,0,0,0,1865,257,1,0,0,0,1866,1877,3,260,130,0,1867,1868,5,139,0,0,1868,1869,5,26,0,0,1869,1874,3,264,132,0,1870,1871,5,263,0,0,1871,1873,3,264,132,0,1872,1870,1,0,0,0,1873,1876,1,0,0,0,1874,1872,1,0,0,0,1874,1875,1,0,0,0,1875,1878,1,0,0,0,1876,1874,1,0,0,0,1877,1867,1,0,0,0,1877,1878,1,0,0,0,1878,1885,1,0,0,0,1879,1880,5,116,0,0,1880,1883,3,304,152,0,1881,1882,5,135,0,0,1882,1884,5,277,0,0,1883,1881,1,0,0,0,1883,1884,1,0,0,0,1884,1886,1,0,0,0,1885,1879,1,0,0,0,1885,1886,1,0,0,0,1886,259,1,0,0,0,1887,1888,6,130,-1,0,1888,1889,3,262,131,0,1889,1904,1,0,0,0,1890,1891,10,2,0,0,1891,1893,5,100,0,0,1892,1894,3,276,138,0,1893,1892,1,0,0,0,1893,1894,1,0,0,0,1894,1895,1,0,0,0,1895,1903,3,260,130,3,1896,1897,10,1,0,0,1897,1899,7,13,0,0,1898,1900,3,276,138,0,1899,1898,1,0,0,0,1899,1900,1,0,0,0,1900,1901,1,0,0,0,1901,1903,3,260,130,2,1902,1890,1,0,0,0,1902,1896,1,0,0,0,1903,1906,1,0,0,0,1904,1902,1,0,0,0,1904,1905,1,0,0,0,1905,261,1,0,0,0,1906,1904,1,0,0,0,1907,1924,3,266,133,0,1908,1909,5,188,0,0,1909,1924,3,186,93,0,1910,1911,5,211,0,0,1911,1916,3,304,152,0,1912,1913,5,263,0,0,1913,1915,3,304,152,0,1914,1912,1,0,0,0,1915,1918,1,0,0,0,1916,1914,1,0,0,0,1916,1917,1,0,0,0,1917,1924,1,0,0,0,1918,1916,1,0,0,0,1919,1920,5,265,0,0,1920,1921,3,258,129,0,1921,1922,5,266,0,0,1922,1924,1,0,0,0,1923,1907,1,0,0,0,1923,1908,1,0,0,0,1923,1910,1,0,0,0,1923,1919,1,0,0,0,1924,263,1,0,0,0,1925,1927,3,302,151,0,1926,1928,7,14,0,0,1927,1926,1,0,0,0,1927,1928,1,0,0,0,1928,1931,1,0,0,0,1929,1930,5,134,0,0,1930,1932,7,15,0,0,1931,1929,1,0,0,0,1931,1932,1,0,0,0,1932,265,1,0,0,0,1933,1935,5,174,0,0,1934,1936,3,276,138,0,1935,1934,1,0,0,0,1935,1936,1,0,0,0,1936,1938,1,0,0,0,1937,1939,5,183,0,0,1938,1937,1,0,0,0,1938,1939,1,0,0,0,1939,1940,1,0,0,0,1940,1945,3,278,139,0,1941,1942,5,263,0,0,1942,1944,3,278,139,0,1943,1941,1,0,0,0,1944,1947,1,0,0,0,1945,1943,1,0,0,0,1945,1946,1,0,0,0,1946,1957,1,0,0,0,1947,1945,1,0,0,0,1948,1949,5,82,0,0,1949,1954,3,280,140,0,1950,1951,5,263,0,0,1951,1953,3,280,140,0,1952,1950,1,0,0,0,1953,1956,1,0,0,0,1954,1952,1,0,0,0,1954,1955,1,0,0,0,1955,1958,1,0,0,0,1956,1954,1,0,0,0,1957,1948,1,0,0,0,1957,1958,1,0,0,0,1958,1961,1,0,0,0,1959,1960,5,215,0,0,1960,1962,3,306,153,0,1961,1959,1,0,0,0,1961,1962,1,0,0,0,1962,1966,1,0,0,0,1963,1964,5,87,0,0,1964,1965,5,26,0,0,1965,1967,3,268,134,0,1966,1963,1,0,0,0,1966,1967,1,0,0,0,1967,1970,1,0,0,0,1968,1969,5,90,0,0,1969,1971,3,306,153,0,1970,1968,1,0,0,0,1970,1971,1,0,0,0,1971,267,1,0,0,0,1972,1974,3,276,138,0,1973,1972,1,0,0,0,1973,1974,1,0,0,0,1974,1975,1,0,0,0,1975,1980,3,270,135,0,1976,1977,5,263,0,0,1977,1979,3,270,135,0,1978,1976,1,0,0,0,1979,1982,1,0,0,0,1980,1978,1,0,0,0,1980,1981,1,0,0,0,1981,269,1,0,0,0,1982,1980,1,0,0,0,1983,1984,3,272,136,0,1984,271,1,0,0,0,1985,1994,5,265,0,0,1986,1991,3,302,151,0,1987,1988,5,263,0,0,1988,1990,3,302,151,0,1989,1987,1,0,0,0,1990,1993,1,0,0,0,1991,1989,1,0,0,0,1991,1992,1,0,0,0,1992,1995,1,0,0,0,1993,1991,1,0,0,0,1994,1986,1,0,0,0,1994,1995,1,0,0,0,1995,1996,1,0,0,0,1996,1999,5,266,0,0,1997,1999,3,302,151,0,1998,1985,1,0,0,0,1998,1997,1,0,0,0,1999,273,1,0,0,0,2e3,2002,3,358,179,0,2001,2003,3,292,146,0,2002,2001,1,0,0,0,2002,2003,1,0,0,0,2003,2004,1,0,0,0,2004,2005,5,9,0,0,2005,2006,3,296,148,0,2006,275,1,0,0,0,2007,2008,7,16,0,0,2008,277,1,0,0,0,2009,2014,3,302,151,0,2010,2012,5,9,0,0,2011,2010,1,0,0,0,2011,2012,1,0,0,0,2012,2013,1,0,0,0,2013,2015,3,358,179,0,2014,2011,1,0,0,0,2014,2015,1,0,0,0,2015,2022,1,0,0,0,2016,2017,3,354,177,0,2017,2018,5,261,0,0,2018,2019,5,257,0,0,2019,2022,1,0,0,0,2020,2022,5,257,0,0,2021,2009,1,0,0,0,2021,2016,1,0,0,0,2021,2020,1,0,0,0,2022,279,1,0,0,0,2023,2024,6,140,-1,0,2024,2025,3,286,143,0,2025,2039,1,0,0,0,2026,2035,10,2,0,0,2027,2028,5,38,0,0,2028,2029,5,109,0,0,2029,2036,3,286,143,0,2030,2031,3,282,141,0,2031,2032,5,109,0,0,2032,2033,3,280,140,0,2033,2034,3,284,142,0,2034,2036,1,0,0,0,2035,2027,1,0,0,0,2035,2030,1,0,0,0,2036,2038,1,0,0,0,2037,2026,1,0,0,0,2038,2041,1,0,0,0,2039,2037,1,0,0,0,2039,2040,1,0,0,0,2040,281,1,0,0,0,2041,2039,1,0,0,0,2042,2044,5,97,0,0,2043,2042,1,0,0,0,2043,2044,1,0,0,0,2044,2074,1,0,0,0,2045,2047,5,114,0,0,2046,2048,5,97,0,0,2047,2046,1,0,0,0,2047,2048,1,0,0,0,2048,2074,1,0,0,0,2049,2051,5,165,0,0,2050,2052,5,97,0,0,2051,2050,1,0,0,0,2051,2052,1,0,0,0,2052,2074,1,0,0,0,2053,2055,5,114,0,0,2054,2056,5,141,0,0,2055,2054,1,0,0,0,2055,2056,1,0,0,0,2056,2074,1,0,0,0,2057,2059,5,165,0,0,2058,2060,5,141,0,0,2059,2058,1,0,0,0,2059,2060,1,0,0,0,2060,2074,1,0,0,0,2061,2063,5,83,0,0,2062,2064,5,141,0,0,2063,2062,1,0,0,0,2063,2064,1,0,0,0,2064,2074,1,0,0,0,2065,2066,5,114,0,0,2066,2074,5,177,0,0,2067,2068,5,165,0,0,2068,2074,5,177,0,0,2069,2070,5,114,0,0,2070,2074,5,7,0,0,2071,2072,5,165,0,0,2072,2074,5,7,0,0,2073,2043,1,0,0,0,2073,2045,1,0,0,0,2073,2049,1,0,0,0,2073,2053,1,0,0,0,2073,2057,1,0,0,0,2073,2061,1,0,0,0,2073,2065,1,0,0,0,2073,2067,1,0,0,0,2073,2069,1,0,0,0,2073,2071,1,0,0,0,2074,283,1,0,0,0,2075,2076,5,136,0,0,2076,2090,3,306,153,0,2077,2078,5,205,0,0,2078,2079,5,265,0,0,2079,2084,3,358,179,0,2080,2081,5,263,0,0,2081,2083,3,358,179,0,2082,2080,1,0,0,0,2083,2086,1,0,0,0,2084,2082,1,0,0,0,2084,2085,1,0,0,0,2085,2087,1,0,0,0,2086,2084,1,0,0,0,2087,2088,5,266,0,0,2088,2090,1,0,0,0,2089,2075,1,0,0,0,2089,2077,1,0,0,0,2090,285,1,0,0,0,2091,2104,3,290,145,0,2092,2093,5,190,0,0,2093,2094,3,288,144,0,2094,2095,5,265,0,0,2095,2096,3,304,152,0,2096,2102,5,266,0,0,2097,2098,5,157,0,0,2098,2099,5,265,0,0,2099,2100,3,304,152,0,2100,2101,5,266,0,0,2101,2103,1,0,0,0,2102,2097,1,0,0,0,2102,2103,1,0,0,0,2103,2105,1,0,0,0,2104,2092,1,0,0,0,2104,2105,1,0,0,0,2105,287,1,0,0,0,2106,2107,7,17,0,0,2107,289,1,0,0,0,2108,2116,3,294,147,0,2109,2111,5,9,0,0,2110,2109,1,0,0,0,2110,2111,1,0,0,0,2111,2112,1,0,0,0,2112,2114,3,358,179,0,2113,2115,3,292,146,0,2114,2113,1,0,0,0,2114,2115,1,0,0,0,2115,2117,1,0,0,0,2116,2110,1,0,0,0,2116,2117,1,0,0,0,2117,291,1,0,0,0,2118,2119,5,265,0,0,2119,2124,3,192,96,0,2120,2121,5,263,0,0,2121,2123,3,192,96,0,2122,2120,1,0,0,0,2123,2126,1,0,0,0,2124,2122,1,0,0,0,2124,2125,1,0,0,0,2125,2127,1,0,0,0,2126,2124,1,0,0,0,2127,2128,5,266,0,0,2128,293,1,0,0,0,2129,2137,3,194,97,0,2130,2132,5,113,0,0,2131,2130,1,0,0,0,2131,2132,1,0,0,0,2132,2133,1,0,0,0,2133,2137,3,296,148,0,2134,2137,3,298,149,0,2135,2137,3,300,150,0,2136,2129,1,0,0,0,2136,2131,1,0,0,0,2136,2134,1,0,0,0,2136,2135,1,0,0,0,2137,295,1,0,0,0,2138,2139,5,265,0,0,2139,2140,3,204,102,0,2140,2141,5,266,0,0,2141,297,1,0,0,0,2142,2143,5,201,0,0,2143,2144,5,265,0,0,2144,2149,3,304,152,0,2145,2146,5,263,0,0,2146,2148,3,304,152,0,2147,2145,1,0,0,0,2148,2151,1,0,0,0,2149,2147,1,0,0,0,2149,2150,1,0,0,0,2150,2152,1,0,0,0,2151,2149,1,0,0,0,2152,2155,5,266,0,0,2153,2154,5,216,0,0,2154,2156,5,140,0,0,2155,2153,1,0,0,0,2155,2156,1,0,0,0,2156,299,1,0,0,0,2157,2158,5,265,0,0,2158,2159,3,280,140,0,2159,2160,5,266,0,0,2160,301,1,0,0,0,2161,2164,3,192,96,0,2162,2164,3,304,152,0,2163,2161,1,0,0,0,2163,2162,1,0,0,0,2164,303,1,0,0,0,2165,2166,3,306,153,0,2166,305,1,0,0,0,2167,2168,6,153,-1,0,2168,2170,3,310,155,0,2169,2171,3,308,154,0,2170,2169,1,0,0,0,2170,2171,1,0,0,0,2171,2175,1,0,0,0,2172,2173,5,132,0,0,2173,2175,3,306,153,3,2174,2167,1,0,0,0,2174,2172,1,0,0,0,2175,2184,1,0,0,0,2176,2177,10,2,0,0,2177,2178,5,5,0,0,2178,2183,3,306,153,3,2179,2180,10,1,0,0,2180,2181,5,138,0,0,2181,2183,3,306,153,2,2182,2176,1,0,0,0,2182,2179,1,0,0,0,2183,2186,1,0,0,0,2184,2182,1,0,0,0,2184,2185,1,0,0,0,2185,307,1,0,0,0,2186,2184,1,0,0,0,2187,2188,3,316,158,0,2188,2189,3,310,155,0,2189,2246,1,0,0,0,2190,2191,3,316,158,0,2191,2192,3,318,159,0,2192,2193,3,296,148,0,2193,2246,1,0,0,0,2194,2196,5,132,0,0,2195,2194,1,0,0,0,2195,2196,1,0,0,0,2196,2197,1,0,0,0,2197,2198,5,15,0,0,2198,2199,3,310,155,0,2199,2200,5,5,0,0,2200,2201,3,310,155,0,2201,2246,1,0,0,0,2202,2204,5,132,0,0,2203,2202,1,0,0,0,2203,2204,1,0,0,0,2204,2205,1,0,0,0,2205,2206,5,94,0,0,2206,2207,5,265,0,0,2207,2212,3,304,152,0,2208,2209,5,263,0,0,2209,2211,3,304,152,0,2210,2208,1,0,0,0,2211,2214,1,0,0,0,2212,2210,1,0,0,0,2212,2213,1,0,0,0,2213,2215,1,0,0,0,2214,2212,1,0,0,0,2215,2216,5,266,0,0,2216,2246,1,0,0,0,2217,2219,5,132,0,0,2218,2217,1,0,0,0,2218,2219,1,0,0,0,2219,2220,1,0,0,0,2220,2221,5,94,0,0,2221,2246,3,296,148,0,2222,2224,5,132,0,0,2223,2222,1,0,0,0,2223,2224,1,0,0,0,2224,2225,1,0,0,0,2225,2226,7,18,0,0,2226,2229,3,310,155,0,2227,2228,5,62,0,0,2228,2230,3,310,155,0,2229,2227,1,0,0,0,2229,2230,1,0,0,0,2230,2246,1,0,0,0,2231,2232,7,19,0,0,2232,2246,3,310,155,0,2233,2235,5,108,0,0,2234,2236,5,132,0,0,2235,2234,1,0,0,0,2235,2236,1,0,0,0,2236,2237,1,0,0,0,2237,2246,7,20,0,0,2238,2240,5,108,0,0,2239,2241,5,132,0,0,2240,2239,1,0,0,0,2240,2241,1,0,0,0,2241,2242,1,0,0,0,2242,2243,5,57,0,0,2243,2244,5,82,0,0,2244,2246,3,310,155,0,2245,2187,1,0,0,0,2245,2190,1,0,0,0,2245,2195,1,0,0,0,2245,2203,1,0,0,0,2245,2218,1,0,0,0,2245,2223,1,0,0,0,2245,2231,1,0,0,0,2245,2233,1,0,0,0,2245,2238,1,0,0,0,2246,309,1,0,0,0,2247,2248,6,155,-1,0,2248,2252,3,312,156,0,2249,2250,7,21,0,0,2250,2252,3,310,155,4,2251,2247,1,0,0,0,2251,2249,1,0,0,0,2252,2264,1,0,0,0,2253,2254,10,3,0,0,2254,2255,7,22,0,0,2255,2263,3,310,155,4,2256,2257,10,2,0,0,2257,2258,7,21,0,0,2258,2263,3,310,155,3,2259,2260,10,1,0,0,2260,2261,5,260,0,0,2261,2263,3,310,155,2,2262,2253,1,0,0,0,2262,2256,1,0,0,0,2262,2259,1,0,0,0,2263,2266,1,0,0,0,2264,2262,1,0,0,0,2264,2265,1,0,0,0,2265,311,1,0,0,0,2266,2264,1,0,0,0,2267,2268,6,156,-1,0,2268,2514,5,133,0,0,2269,2514,3,322,161,0,2270,2271,3,358,179,0,2271,2272,3,314,157,0,2272,2514,1,0,0,0,2273,2274,5,286,0,0,2274,2514,3,314,157,0,2275,2514,3,360,180,0,2276,2514,3,320,160,0,2277,2514,3,314,157,0,2278,2514,5,276,0,0,2279,2514,5,272,0,0,2280,2281,5,148,0,0,2281,2282,5,265,0,0,2282,2283,3,310,155,0,2283,2284,5,94,0,0,2284,2285,3,310,155,0,2285,2286,5,266,0,0,2286,2514,1,0,0,0,2287,2288,5,265,0,0,2288,2291,3,304,152,0,2289,2290,5,9,0,0,2290,2292,3,328,164,0,2291,2289,1,0,0,0,2291,2292,1,0,0,0,2292,2301,1,0,0,0,2293,2294,5,263,0,0,2294,2297,3,304,152,0,2295,2296,5,9,0,0,2296,2298,3,328,164,0,2297,2295,1,0,0,0,2297,2298,1,0,0,0,2298,2300,1,0,0,0,2299,2293,1,0,0,0,2300,2303,1,0,0,0,2301,2302,1,0,0,0,2301,2299,1,0,0,0,2302,2304,1,0,0,0,2303,2301,1,0,0,0,2304,2305,5,266,0,0,2305,2514,1,0,0,0,2306,2307,5,168,0,0,2307,2308,5,265,0,0,2308,2313,3,304,152,0,2309,2310,5,263,0,0,2310,2312,3,304,152,0,2311,2309,1,0,0,0,2312,2315,1,0,0,0,2313,2311,1,0,0,0,2313,2314,1,0,0,0,2314,2316,1,0,0,0,2315,2313,1,0,0,0,2316,2317,5,266,0,0,2317,2514,1,0,0,0,2318,2319,3,190,95,0,2319,2320,5,265,0,0,2320,2321,5,257,0,0,2321,2323,5,266,0,0,2322,2324,3,338,169,0,2323,2322,1,0,0,0,2323,2324,1,0,0,0,2324,2326,1,0,0,0,2325,2327,3,340,170,0,2326,2325,1,0,0,0,2326,2327,1,0,0,0,2327,2514,1,0,0,0,2328,2329,3,190,95,0,2329,2341,5,265,0,0,2330,2332,3,276,138,0,2331,2330,1,0,0,0,2331,2332,1,0,0,0,2332,2333,1,0,0,0,2333,2338,3,304,152,0,2334,2335,5,263,0,0,2335,2337,3,304,152,0,2336,2334,1,0,0,0,2337,2340,1,0,0,0,2338,2336,1,0,0,0,2338,2339,1,0,0,0,2339,2342,1,0,0,0,2340,2338,1,0,0,0,2341,2331,1,0,0,0,2341,2342,1,0,0,0,2342,2353,1,0,0,0,2343,2344,5,139,0,0,2344,2345,5,26,0,0,2345,2350,3,264,132,0,2346,2347,5,263,0,0,2347,2349,3,264,132,0,2348,2346,1,0,0,0,2349,2352,1,0,0,0,2350,2348,1,0,0,0,2350,2351,1,0,0,0,2351,2354,1,0,0,0,2352,2350,1,0,0,0,2353,2343,1,0,0,0,2353,2354,1,0,0,0,2354,2355,1,0,0,0,2355,2357,5,266,0,0,2356,2358,3,338,169,0,2357,2356,1,0,0,0,2357,2358,1,0,0,0,2358,2360,1,0,0,0,2359,2361,3,340,170,0,2360,2359,1,0,0,0,2360,2361,1,0,0,0,2361,2514,1,0,0,0,2362,2363,3,358,179,0,2363,2364,5,273,0,0,2364,2365,3,304,152,0,2365,2514,1,0,0,0,2366,2375,5,265,0,0,2367,2372,3,358,179,0,2368,2369,5,263,0,0,2369,2371,3,358,179,0,2370,2368,1,0,0,0,2371,2374,1,0,0,0,2372,2370,1,0,0,0,2372,2373,1,0,0,0,2373,2376,1,0,0,0,2374,2372,1,0,0,0,2375,2367,1,0,0,0,2375,2376,1,0,0,0,2376,2377,1,0,0,0,2377,2378,5,266,0,0,2378,2379,5,273,0,0,2379,2514,3,304,152,0,2380,2381,5,265,0,0,2381,2382,3,204,102,0,2382,2383,5,266,0,0,2383,2514,1,0,0,0,2384,2385,5,66,0,0,2385,2386,5,265,0,0,2386,2387,3,204,102,0,2387,2388,5,266,0,0,2388,2514,1,0,0,0,2389,2390,5,28,0,0,2390,2392,3,310,155,0,2391,2393,3,336,168,0,2392,2391,1,0,0,0,2393,2394,1,0,0,0,2394,2392,1,0,0,0,2394,2395,1,0,0,0,2395,2398,1,0,0,0,2396,2397,5,59,0,0,2397,2399,3,304,152,0,2398,2396,1,0,0,0,2398,2399,1,0,0,0,2399,2400,1,0,0,0,2400,2401,5,61,0,0,2401,2514,1,0,0,0,2402,2404,5,28,0,0,2403,2405,3,336,168,0,2404,2403,1,0,0,0,2405,2406,1,0,0,0,2406,2404,1,0,0,0,2406,2407,1,0,0,0,2407,2410,1,0,0,0,2408,2409,5,59,0,0,2409,2411,3,304,152,0,2410,2408,1,0,0,0,2410,2411,1,0,0,0,2411,2412,1,0,0,0,2412,2413,5,61,0,0,2413,2514,1,0,0,0,2414,2415,5,29,0,0,2415,2416,5,265,0,0,2416,2417,3,304,152,0,2417,2418,5,9,0,0,2418,2419,3,328,164,0,2419,2420,5,266,0,0,2420,2514,1,0,0,0,2421,2422,5,195,0,0,2422,2423,5,265,0,0,2423,2424,3,304,152,0,2424,2425,5,9,0,0,2425,2426,3,328,164,0,2426,2427,5,266,0,0,2427,2514,1,0,0,0,2428,2429,5,8,0,0,2429,2438,5,267,0,0,2430,2435,3,304,152,0,2431,2432,5,263,0,0,2432,2434,3,304,152,0,2433,2431,1,0,0,0,2434,2437,1,0,0,0,2435,2433,1,0,0,0,2435,2436,1,0,0,0,2436,2439,1,0,0,0,2437,2435,1,0,0,0,2438,2430,1,0,0,0,2438,2439,1,0,0,0,2439,2440,1,0,0,0,2440,2514,5,268,0,0,2441,2514,3,358,179,0,2442,2514,5,40,0,0,2443,2447,5,42,0,0,2444,2445,5,265,0,0,2445,2446,5,277,0,0,2446,2448,5,266,0,0,2447,2444,1,0,0,0,2447,2448,1,0,0,0,2448,2514,1,0,0,0,2449,2453,5,43,0,0,2450,2451,5,265,0,0,2451,2452,5,277,0,0,2452,2454,5,266,0,0,2453,2450,1,0,0,0,2453,2454,1,0,0,0,2454,2514,1,0,0,0,2455,2459,5,119,0,0,2456,2457,5,265,0,0,2457,2458,5,277,0,0,2458,2460,5,266,0,0,2459,2456,1,0,0,0,2459,2460,1,0,0,0,2460,2514,1,0,0,0,2461,2465,5,120,0,0,2462,2463,5,265,0,0,2463,2464,5,277,0,0,2464,2466,5,266,0,0,2465,2462,1,0,0,0,2465,2466,1,0,0,0,2466,2514,1,0,0,0,2467,2514,5,44,0,0,2468,2514,5,41,0,0,2469,2470,5,184,0,0,2470,2471,5,265,0,0,2471,2472,3,310,155,0,2472,2473,5,82,0,0,2473,2476,3,310,155,0,2474,2475,5,78,0,0,2475,2477,3,310,155,0,2476,2474,1,0,0,0,2476,2477,1,0,0,0,2477,2478,1,0,0,0,2478,2479,5,266,0,0,2479,2514,1,0,0,0,2480,2481,5,131,0,0,2481,2482,5,265,0,0,2482,2485,3,310,155,0,2483,2484,5,263,0,0,2484,2486,3,326,163,0,2485,2483,1,0,0,0,2485,2486,1,0,0,0,2486,2487,1,0,0,0,2487,2488,5,266,0,0,2488,2514,1,0,0,0,2489,2490,5,68,0,0,2490,2491,5,265,0,0,2491,2492,3,358,179,0,2492,2493,5,82,0,0,2493,2494,3,310,155,0,2494,2495,5,266,0,0,2495,2514,1,0,0,0,2496,2497,5,265,0,0,2497,2498,3,304,152,0,2498,2499,5,266,0,0,2499,2514,1,0,0,0,2500,2501,5,88,0,0,2501,2510,5,265,0,0,2502,2507,3,354,177,0,2503,2504,5,263,0,0,2504,2506,3,354,177,0,2505,2503,1,0,0,0,2506,2509,1,0,0,0,2507,2505,1,0,0,0,2507,2508,1,0,0,0,2508,2511,1,0,0,0,2509,2507,1,0,0,0,2510,2502,1,0,0,0,2510,2511,1,0,0,0,2511,2512,1,0,0,0,2512,2514,5,266,0,0,2513,2267,1,0,0,0,2513,2269,1,0,0,0,2513,2270,1,0,0,0,2513,2273,1,0,0,0,2513,2275,1,0,0,0,2513,2276,1,0,0,0,2513,2277,1,0,0,0,2513,2278,1,0,0,0,2513,2279,1,0,0,0,2513,2280,1,0,0,0,2513,2287,1,0,0,0,2513,2306,1,0,0,0,2513,2318,1,0,0,0,2513,2328,1,0,0,0,2513,2362,1,0,0,0,2513,2366,1,0,0,0,2513,2380,1,0,0,0,2513,2384,1,0,0,0,2513,2389,1,0,0,0,2513,2402,1,0,0,0,2513,2414,1,0,0,0,2513,2421,1,0,0,0,2513,2428,1,0,0,0,2513,2441,1,0,0,0,2513,2442,1,0,0,0,2513,2443,1,0,0,0,2513,2449,1,0,0,0,2513,2455,1,0,0,0,2513,2461,1,0,0,0,2513,2467,1,0,0,0,2513,2468,1,0,0,0,2513,2469,1,0,0,0,2513,2480,1,0,0,0,2513,2489,1,0,0,0,2513,2496,1,0,0,0,2513,2500,1,0,0,0,2514,2525,1,0,0,0,2515,2516,10,15,0,0,2516,2517,5,267,0,0,2517,2518,3,310,155,0,2518,2519,5,268,0,0,2519,2524,1,0,0,0,2520,2521,10,13,0,0,2521,2522,5,261,0,0,2522,2524,3,358,179,0,2523,2515,1,0,0,0,2523,2520,1,0,0,0,2524,2527,1,0,0,0,2525,2523,1,0,0,0,2525,2526,1,0,0,0,2526,313,1,0,0,0,2527,2525,1,0,0,0,2528,2535,5,274,0,0,2529,2532,5,275,0,0,2530,2531,5,198,0,0,2531,2533,5,274,0,0,2532,2530,1,0,0,0,2532,2533,1,0,0,0,2533,2535,1,0,0,0,2534,2528,1,0,0,0,2534,2529,1,0,0,0,2535,315,1,0,0,0,2536,2537,7,23,0,0,2537,317,1,0,0,0,2538,2539,7,24,0,0,2539,319,1,0,0,0,2540,2541,7,25,0,0,2541,321,1,0,0,0,2542,2543,5,277,0,0,2543,2557,3,324,162,0,2544,2545,5,265,0,0,2545,2546,5,277,0,0,2546,2547,5,266,0,0,2547,2557,3,324,162,0,2548,2549,5,101,0,0,2549,2550,5,277,0,0,2550,2557,3,324,162,0,2551,2552,5,101,0,0,2552,2553,5,265,0,0,2553,2554,5,277,0,0,2554,2555,5,266,0,0,2555,2557,3,324,162,0,2556,2542,1,0,0,0,2556,2544,1,0,0,0,2556,2548,1,0,0,0,2556,2551,1,0,0,0,2557,323,1,0,0,0,2558,2559,7,26,0,0,2559,325,1,0,0,0,2560,2561,7,27,0,0,2561,327,1,0,0,0,2562,2563,6,164,-1,0,2563,2564,5,8,0,0,2564,2565,5,251,0,0,2565,2566,3,328,164,0,2566,2567,5,253,0,0,2567,2608,1,0,0,0,2568,2569,5,235,0,0,2569,2570,5,251,0,0,2570,2571,3,328,164,0,2571,2572,5,263,0,0,2572,2573,3,328,164,0,2573,2574,5,253,0,0,2574,2608,1,0,0,0,2575,2576,5,240,0,0,2576,2577,5,251,0,0,2577,2578,3,358,179,0,2578,2585,3,328,164,0,2579,2580,5,263,0,0,2580,2581,3,358,179,0,2581,2582,3,328,164,0,2582,2584,1,0,0,0,2583,2579,1,0,0,0,2584,2587,1,0,0,0,2585,2583,1,0,0,0,2585,2586,1,0,0,0,2586,2588,1,0,0,0,2587,2585,1,0,0,0,2588,2589,5,253,0,0,2589,2608,1,0,0,0,2590,2593,3,334,167,0,2591,2593,3,330,165,0,2592,2590,1,0,0,0,2592,2591,1,0,0,0,2593,2605,1,0,0,0,2594,2595,5,265,0,0,2595,2600,3,332,166,0,2596,2597,5,263,0,0,2597,2599,3,332,166,0,2598,2596,1,0,0,0,2599,2602,1,0,0,0,2600,2598,1,0,0,0,2600,2601,1,0,0,0,2601,2603,1,0,0,0,2602,2600,1,0,0,0,2603,2604,5,266,0,0,2604,2606,1,0,0,0,2605,2594,1,0,0,0,2605,2606,1,0,0,0,2606,2608,1,0,0,0,2607,2562,1,0,0,0,2607,2568,1,0,0,0,2607,2575,1,0,0,0,2607,2592,1,0,0,0,2608,2613,1,0,0,0,2609,2610,10,5,0,0,2610,2612,5,8,0,0,2611,2609,1,0,0,0,2612,2615,1,0,0,0,2613,2611,1,0,0,0,2613,2614,1,0,0,0,2614,329,1,0,0,0,2615,2613,1,0,0,0,2616,2617,7,28,0,0,2617,331,1,0,0,0,2618,2621,5,277,0,0,2619,2621,3,328,164,0,2620,2618,1,0,0,0,2620,2619,1,0,0,0,2621,333,1,0,0,0,2622,2627,5,284,0,0,2623,2627,5,285,0,0,2624,2627,5,286,0,0,2625,2627,3,358,179,0,2626,2622,1,0,0,0,2626,2623,1,0,0,0,2626,2624,1,0,0,0,2626,2625,1,0,0,0,2627,335,1,0,0,0,2628,2629,5,214,0,0,2629,2630,3,304,152,0,2630,2631,5,192,0,0,2631,2632,3,304,152,0,2632,337,1,0,0,0,2633,2634,5,74,0,0,2634,2635,5,265,0,0,2635,2636,5,215,0,0,2636,2637,3,306,153,0,2637,2638,5,266,0,0,2638,339,1,0,0,0,2639,2640,5,143,0,0,2640,2651,5,265,0,0,2641,2642,5,145,0,0,2642,2643,5,26,0,0,2643,2648,3,304,152,0,2644,2645,5,263,0,0,2645,2647,3,304,152,0,2646,2644,1,0,0,0,2647,2650,1,0,0,0,2648,2646,1,0,0,0,2648,2649,1,0,0,0,2649,2652,1,0,0,0,2650,2648,1,0,0,0,2651,2641,1,0,0,0,2651,2652,1,0,0,0,2652,2663,1,0,0,0,2653,2654,5,139,0,0,2654,2655,5,26,0,0,2655,2660,3,264,132,0,2656,2657,5,263,0,0,2657,2659,3,264,132,0,2658,2656,1,0,0,0,2659,2662,1,0,0,0,2660,2658,1,0,0,0,2660,2661,1,0,0,0,2661,2664,1,0,0,0,2662,2660,1,0,0,0,2663,2653,1,0,0,0,2663,2664,1,0,0,0,2664,2666,1,0,0,0,2665,2667,3,342,171,0,2666,2665,1,0,0,0,2666,2667,1,0,0,0,2667,2668,1,0,0,0,2668,2669,5,266,0,0,2669,341,1,0,0,0,2670,2671,5,154,0,0,2671,2687,3,344,172,0,2672,2673,5,169,0,0,2673,2687,3,344,172,0,2674,2675,5,154,0,0,2675,2676,5,15,0,0,2676,2677,3,344,172,0,2677,2678,5,5,0,0,2678,2679,3,344,172,0,2679,2687,1,0,0,0,2680,2681,5,169,0,0,2681,2682,5,15,0,0,2682,2683,3,344,172,0,2683,2684,5,5,0,0,2684,2685,3,344,172,0,2685,2687,1,0,0,0,2686,2670,1,0,0,0,2686,2672,1,0,0,0,2686,2674,1,0,0,0,2686,2680,1,0,0,0,2687,343,1,0,0,0,2688,2689,5,199,0,0,2689,2698,5,149,0,0,2690,2691,5,199,0,0,2691,2698,5,77,0,0,2692,2693,5,39,0,0,2693,2698,5,168,0,0,2694,2695,3,304,152,0,2695,2696,7,29,0,0,2696,2698,1,0,0,0,2697,2688,1,0,0,0,2697,2690,1,0,0,0,2697,2692,1,0,0,0,2697,2694,1,0,0,0,2698,345,1,0,0,0,2699,2700,3,358,179,0,2700,2701,5,261,0,0,2701,2702,3,358,179,0,2702,2705,1,0,0,0,2703,2705,3,358,179,0,2704,2699,1,0,0,0,2704,2703,1,0,0,0,2705,347,1,0,0,0,2706,2711,3,346,173,0,2707,2708,5,263,0,0,2708,2710,3,346,173,0,2709,2707,1,0,0,0,2710,2713,1,0,0,0,2711,2709,1,0,0,0,2711,2712,1,0,0,0,2712,349,1,0,0,0,2713,2711,1,0,0,0,2714,2728,5,2,0,0,2715,2728,5,4,0,0,2716,2728,5,58,0,0,2717,2728,5,37,0,0,2718,2728,5,99,0,0,2719,2728,5,162,0,0,2720,2725,5,174,0,0,2721,2722,5,265,0,0,2722,2723,3,358,179,0,2723,2724,5,266,0,0,2724,2726,1,0,0,0,2725,2721,1,0,0,0,2725,2726,1,0,0,0,2726,2728,1,0,0,0,2727,2714,1,0,0,0,2727,2715,1,0,0,0,2727,2716,1,0,0,0,2727,2717,1,0,0,0,2727,2718,1,0,0,0,2727,2719,1,0,0,0,2727,2720,1,0,0,0,2728,351,1,0,0,0,2729,2730,7,30,0,0,2730,353,1,0,0,0,2731,2736,3,358,179,0,2732,2733,5,261,0,0,2733,2735,3,358,179,0,2734,2732,1,0,0,0,2735,2738,1,0,0,0,2736,2734,1,0,0,0,2736,2737,1,0,0,0,2737,355,1,0,0,0,2738,2736,1,0,0,0,2739,2740,5,166,0,0,2740,2746,3,358,179,0,2741,2742,5,204,0,0,2742,2746,3,358,179,0,2743,2744,5,87,0,0,2744,2746,3,358,179,0,2745,2739,1,0,0,0,2745,2741,1,0,0,0,2745,2743,1,0,0,0,2746,357,1,0,0,0,2747,2753,5,280,0,0,2748,2753,5,274,0,0,2749,2753,3,364,182,0,2750,2753,5,283,0,0,2751,2753,5,281,0,0,2752,2747,1,0,0,0,2752,2748,1,0,0,0,2752,2749,1,0,0,0,2752,2750,1,0,0,0,2752,2751,1,0,0,0,2753,359,1,0,0,0,2754,2756,5,256,0,0,2755,2754,1,0,0,0,2755,2756,1,0,0,0,2756,2757,1,0,0,0,2757,2767,5,278,0,0,2758,2760,5,256,0,0,2759,2758,1,0,0,0,2759,2760,1,0,0,0,2760,2761,1,0,0,0,2761,2767,5,279,0,0,2762,2764,5,256,0,0,2763,2762,1,0,0,0,2763,2764,1,0,0,0,2764,2765,1,0,0,0,2765,2767,5,277,0,0,2766,2755,1,0,0,0,2766,2759,1,0,0,0,2766,2763,1,0,0,0,2767,361,1,0,0,0,2768,2769,7,31,0,0,2769,363,1,0,0,0,2770,2771,7,32,0,0,2771,365,1,0,0,0,353,369,376,400,413,417,421,430,435,439,445,447,452,456,460,467,472,478,482,491,498,502,507,509,514,518,525,529,534,538,542,546,554,559,563,571,575,584,587,590,596,603,614,619,624,629,634,643,646,649,653,679,705,714,724,727,741,759,761,770,781,790,797,801,808,814,817,822,829,843,856,861,866,872,908,911,917,920,926,932,944,946,957,965,970,974,979,986,990,994,1e3,1004,1008,1017,1020,1023,1031,1045,1052,1065,1071,1076,1079,1082,1087,1091,1100,1105,1111,1115,1120,1125,1128,1136,1139,1143,1155,1158,1162,1167,1171,1187,1192,1199,1202,1208,1211,1218,1221,1225,1230,1233,1240,1243,1267,1281,1285,1289,1309,1311,1313,1322,1324,1333,1335,1344,1346,1351,1360,1369,1378,1389,1395,1400,1403,1416,1426,1430,1435,1446,1451,1484,1492,1497,1501,1505,1510,1514,1519,1524,1529,1533,1542,1545,1549,1556,1567,1573,1577,1583,1593,1600,1605,1610,1615,1621,1624,1633,1636,1639,1645,1651,1661,1664,1668,1672,1675,1681,1684,1690,1696,1699,1702,1706,1716,1727,1732,1735,1739,1746,1756,1768,1774,1776,1785,1788,1795,1805,1811,1819,1830,1840,1851,1853,1859,1864,1874,1877,1883,1885,1893,1899,1902,1904,1916,1923,1927,1931,1935,1938,1945,1954,1957,1961,1966,1970,1973,1980,1991,1994,1998,2002,2011,2014,2021,2035,2039,2043,2047,2051,2055,2059,2063,2073,2084,2089,2102,2104,2110,2114,2116,2124,2131,2136,2149,2155,2163,2170,2174,2182,2184,2195,2203,2212,2218,2223,2229,2235,2240,2245,2251,2262,2264,2291,2297,2301,2313,2323,2326,2331,2338,2341,2350,2353,2357,2360,2372,2375,2394,2398,2406,2410,2435,2438,2447,2453,2459,2465,2476,2485,2507,2510,2513,2523,2525,2532,2534,2556,2585,2592,2600,2605,2607,2613,2620,2626,2648,2651,2660,2663,2666,2686,2697,2704,2711,2725,2727,2736,2745,2752,2755,2759,2763,2766],s.vocabulary=new ue(s.literalNames,s.symbolicNames,[]),s.decisionsToDFA=s._ATN.decisionToState.map((n,t)=>new Je(n,t));class jc extends R{constructor(t,e){super(t,e)}EOF(){return this.getToken(s.EOF,0)}singleStatement(t){return t===void 0?this.getRuleContexts(Yn):this.getRuleContext(t,Yn)}get ruleIndex(){return s.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class Yn extends R{constructor(t,e){super(t,e)}sqlStatement(){return this.getRuleContext(0,Qn)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class Qn extends R{constructor(t,e){super(t,e)}queryStatement(){return this.getRuleContext(0,zt)}useStatement(){return this.getRuleContext(0,sh)}createStatement(){return this.getRuleContext(0,ih)}alterStatement(){return this.getRuleContext(0,dh)}truncateTableStatement(){return this.getRuleContext(0,yh)}describeStatement(){return this.getRuleContext(0,wh)}computeStatement(){return this.getRuleContext(0,Uh)}dropStatement(){return this.getRuleContext(0,bh)}grantStatement(){return this.getRuleContext(0,Ph)}revokeStatement(){return this.getRuleContext(0,Qh)}insertStatement(){return this.getRuleContext(0,jh)}deleteStatement(){return this.getRuleContext(0,zh)}updateStatement(){return this.getRuleContext(0,qh)}upsertStatement(){return this.getRuleContext(0,to)}showStatement(){return this.getRuleContext(0,eo)}addCommentStatement(){return this.getRuleContext(0,go)}explainStatement(){return this.getRuleContext(0,No)}setStatement(){return this.getRuleContext(0,Lo)}shutdownStatement(){return this.getRuleContext(0,mo)}invalidateMetaStatement(){return this.getRuleContext(0,Wo)}loadDataStatement(){return this.getRuleContext(0,Ko)}refreshStatement(){return this.getRuleContext(0,So)}get ruleIndex(){return s.RULE_sqlStatement}enterRule(t){t.enterSqlStatement&&t.enterSqlStatement(this)}exitRule(t){t.exitSqlStatement&&t.exitSqlStatement(this)}accept(t){return t.visitSqlStatement?t.visitSqlStatement(this):t.visitChildren(this)}}class sh extends R{constructor(t,e){super(t,e)}KW_USE(){return this.getToken(s.KW_USE,0)}databaseNamePath(){return this.getRuleContext(0,i1)}get ruleIndex(){return s.RULE_useStatement}enterRule(t){t.enterUseStatement&&t.enterUseStatement(this)}exitRule(t){t.exitUseStatement&&t.exitUseStatement(this)}accept(t){return t.visitUseStatement?t.visitUseStatement(this):t.visitChildren(this)}}class ih extends R{constructor(t,e){super(t,e)}createSchema(){return this.getRuleContext(0,ah)}createRole(){return this.getRuleContext(0,uh)}createAggregateFunction(){return this.getRuleContext(0,ch)}createFunction(){return this.getRuleContext(0,lh)}createView(){return this.getRuleContext(0,oh)}createKuduTableAsSelect(){return this.getRuleContext(0,hh)}createTableLike(){return this.getRuleContext(0,rh)}createTableSelect(){return this.getRuleContext(0,nh)}get ruleIndex(){return s.RULE_createStatement}enterRule(t){t.enterCreateStatement&&t.enterCreateStatement(this)}exitRule(t){t.exitCreateStatement&&t.exitCreateStatement(this)}accept(t){return t.visitCreateStatement?t.visitCreateStatement(this):t.visitChildren(this)}}class nh extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,X0)}createCommonItem(){return this.getRuleContext(0,$n)}KW_EXTERNAL(){return this.getToken(s.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}columnDefinition(t){return t===void 0?this.getRuleContexts(qn):this.getRuleContext(t,qn)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PARTITIONED(){return this.getToken(s.KW_PARTITIONED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,zt)}columnAliases(){return this.getRuleContext(0,kt)}partitionedBy(){return this.getRuleContext(0,rr)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}constraintSpecification(){return this.getRuleContext(0,Do)}get ruleIndex(){return s.RULE_createTableSelect}enterRule(t){t.enterCreateTableSelect&&t.enterCreateTableSelect(this)}exitRule(t){t.exitCreateTableSelect&&t.exitCreateTableSelect(this)}accept(t){return t.visitCreateTableSelect?t.visitCreateTableSelect(this):t.visitChildren(this)}}class rh extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,X0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}createCommonItem(){return this.getRuleContext(0,$n)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARQUET(){return this.getToken(s.KW_PARQUET,0)}KW_EXTERNAL(){return this.getToken(s.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,jt)}stringLiteral(){return this.getRuleContext(0,G)}KW_PARTITIONED(){return this.getToken(s.KW_PARTITIONED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}partitionedBy(){return this.getRuleContext(0,rr)}get ruleIndex(){return s.RULE_createTableLike}enterRule(t){t.enterCreateTableLike&&t.enterCreateTableLike(this)}exitRule(t){t.exitCreateTableLike&&t.exitCreateTableLike(this)}accept(t){return t.visitCreateTableLike?t.visitCreateTableLike(this):t.visitChildren(this)}}class hh extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,X0)}KW_STORED(){return this.getToken(s.KW_STORED,0)}KW_AS(t){return t===void 0?this.getTokens(s.KW_AS):this.getToken(s.KW_AS,t)}KW_KUDU(){return this.getToken(s.KW_KUDU,0)}KW_EXTERNAL(){return this.getToken(s.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}kuduTableElement(t){return t===void 0?this.getRuleContexts(tr):this.getRuleContext(t,tr)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PRIMARY(t){return t===void 0?this.getTokens(s.KW_PRIMARY):this.getToken(s.KW_PRIMARY,t)}KW_KEY(t){return t===void 0?this.getTokens(s.KW_KEY):this.getToken(s.KW_KEY,t)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(){return this.getToken(s.KW_BY,0)}kuduPartitionClause(){return this.getRuleContext(0,Mo)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}queryStatement(){return this.getRuleContext(0,zt)}properties(){return this.getRuleContext(0,r1)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}columnAliases(t){return t===void 0?this.getRuleContexts(kt):this.getRuleContext(t,kt)}get ruleIndex(){return s.RULE_createKuduTableAsSelect}enterRule(t){t.enterCreateKuduTableAsSelect&&t.enterCreateKuduTableAsSelect(this)}exitRule(t){t.exitCreateKuduTableAsSelect&&t.exitCreateKuduTableAsSelect(this)}accept(t){return t.visitCreateKuduTableAsSelect?t.visitCreateKuduTableAsSelect(this):t.visitChildren(this)}}class oh extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,wo)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,zt)}ifNotExists(){return this.getRuleContext(0,jt)}viewColumns(){return this.getRuleContext(0,zn)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}properties(){return this.getRuleContext(0,r1)}get ruleIndex(){return s.RULE_createView}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class ah extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}databaseNameCreate(){return this.getRuleContext(0,yo)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}ifNotExists(){return this.getRuleContext(0,jt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}get ruleIndex(){return s.RULE_createSchema}enterRule(t){t.enterCreateSchema&&t.enterCreateSchema(this)}exitRule(t){t.exitCreateSchema&&t.exitCreateSchema(this)}accept(t){return t.visitCreateSchema?t.visitCreateSchema(this):t.visitChildren(this)}}class uh extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_createRole}enterRule(t){t.enterCreateRole&&t.enterCreateRole(this)}exitRule(t){t.exitCreateRole&&t.exitCreateRole(this)}accept(t){return t.visitCreateRole?t.visitCreateRole(this):t.visitChildren(this)}}class ch extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Xn)}KW_RETURNS(){return this.getToken(s.KW_RETURNS,0)}type_(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}STRING(t){return t===void 0?this.getTokens(s.STRING):this.getToken(s.STRING,t)}KW_UPDATE_FN(){return this.getToken(s.KW_UPDATE_FN,0)}EQ(t){return t===void 0?this.getTokens(s.EQ):this.getToken(s.EQ,t)}KW_MERGE_FN(){return this.getToken(s.KW_MERGE_FN,0)}KW_AGGREGATE(){return this.getToken(s.KW_AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_INTERMEDIATE(){return this.getToken(s.KW_INTERMEDIATE,0)}KW_INIT_FN(){return this.getToken(s.KW_INIT_FN,0)}KW_PREPARE_FN(){return this.getToken(s.KW_PREPARE_FN,0)}KW_CLOSEFN(){return this.getToken(s.KW_CLOSEFN,0)}KW_SERIALIZE_FN(){return this.getToken(s.KW_SERIALIZE_FN,0)}KW_FINALIZE_FN(){return this.getToken(s.KW_FINALIZE_FN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_createAggregateFunction}enterRule(t){t.enterCreateAggregateFunction&&t.enterCreateAggregateFunction(this)}exitRule(t){t.exitCreateAggregateFunction&&t.exitCreateAggregateFunction(this)}accept(t){return t.visitCreateAggregateFunction?t.visitCreateAggregateFunction(this):t.visitChildren(this)}}class lh extends R{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Xn)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}STRING(){return this.getToken(s.STRING,0)}KW_SYMBOL(){return this.getToken(s.KW_SYMBOL,0)}EQ(){return this.getToken(s.EQ,0)}stringLiteral(){return this.getRuleContext(0,G)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_RETURNS(){return this.getToken(s.KW_RETURNS,0)}type_(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_createFunction}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class dh extends R{constructor(t,e){super(t,e)}alterDatabase(){return this.getRuleContext(0,Eh)}alterUnSetOrSetViewTblproperties(){return this.getRuleContext(0,kh)}renameTable(){return this.getRuleContext(0,Oh)}alterViewOwner(){return this.getRuleContext(0,ph)}alterView(){return this.getRuleContext(0,Kh)}renameView(){return this.getRuleContext(0,Sh)}dropPartitionByRangeOrValue(){return this.getRuleContext(0,Wh)}alterFormat(){return this.getRuleContext(0,Lh)}recoverPartitions(){return this.getRuleContext(0,mh)}addPartitionByRangeOrValue(){return this.getRuleContext(0,Nh)}alterTableNonKuduOrKuduOnly(){return this.getRuleContext(0,Ch)}addSingleColumn(){return this.getRuleContext(0,_h)}replaceOrAddColumns(){return this.getRuleContext(0,xh)}changeColumnDefine(){return this.getRuleContext(0,Th)}alterStatsKey(){return this.getRuleContext(0,fh)}alterPartitionCache(){return this.getRuleContext(0,Rh)}alterDropSingleColumn(){return this.getRuleContext(0,Ah)}alterTableOwner(){return this.getRuleContext(0,gh)}get ruleIndex(){return s.RULE_alterStatement}enterRule(t){t.enterAlterStatement&&t.enterAlterStatement(this)}exitRule(t){t.exitAlterStatement&&t.exitAlterStatement(this)}accept(t){return t.visitAlterStatement?t.visitAlterStatement(this):t.visitChildren(this)}}class Eh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databaseNamePath(){return this.getRuleContext(0,i1)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_OWNER(){return this.getToken(s.KW_OWNER,0)}identifier(){return this.getRuleContext(0,b)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_alterDatabase}enterRule(t){t.enterAlterDatabase&&t.enterAlterDatabase(this)}exitRule(t){t.exitAlterDatabase&&t.exitAlterDatabase(this)}accept(t){return t.visitAlterDatabase?t.visitAlterDatabase(this):t.visitChildren(this)}}class fh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}columnNamePath(){return this.getRuleContext(0,ce)}LPAREN(){return this.getToken(s.LPAREN,0)}statsKey(t){return t===void 0?this.getRuleContexts(sr):this.getRuleContext(t,sr)}EQ(t){return t===void 0?this.getTokens(s.EQ):this.getToken(s.EQ,t)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_alterStatsKey}enterRule(t){t.enterAlterStatsKey&&t.enterAlterStatsKey(this)}exitRule(t){t.exitAlterStatsKey&&t.exitAlterStatsKey(this)}accept(t){return t.visitAlterStatsKey?t.visitAlterStatsKey(this):t.visitChildren(this)}}class Rh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_UNCACHED(){return this.getToken(s.KW_UNCACHED,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,D)}KW_CACHED(){return this.getToken(s.KW_CACHED,0)}KW_IN(){return this.getToken(s.KW_IN,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_REPLICATION(){return this.getToken(s.KW_REPLICATION,0)}EQ(){return this.getToken(s.EQ,0)}number(){return this.getRuleContext(0,Jt)}get ruleIndex(){return s.RULE_alterPartitionCache}enterRule(t){t.enterAlterPartitionCache&&t.enterAlterPartitionCache(this)}exitRule(t){t.exitAlterPartitionCache&&t.exitAlterPartitionCache(this)}accept(t){return t.visitAlterPartitionCache?t.visitAlterPartitionCache(this):t.visitChildren(this)}}class Th extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_CHANGE(){return this.getToken(s.KW_CHANGE,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnSpecWithKudu(){return this.getRuleContext(0,z0)}get ruleIndex(){return s.RULE_changeColumnDefine}enterRule(t){t.enterChangeColumnDefine&&t.enterChangeColumnDefine(this)}exitRule(t){t.exitChangeColumnDefine&&t.exitChangeColumnDefine(this)}accept(t){return t.visitChangeColumnDefine?t.visitChangeColumnDefine(this):t.visitChildren(this)}}class Ah extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(s.KW_DROP,0)}columnNamePath(){return this.getRuleContext(0,ce)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}get ruleIndex(){return s.RULE_alterDropSingleColumn}enterRule(t){t.enterAlterDropSingleColumn&&t.enterAlterDropSingleColumn(this)}exitRule(t){t.exitAlterDropSingleColumn&&t.exitAlterDropSingleColumn(this)}accept(t){return t.visitAlterDropSingleColumn?t.visitAlterDropSingleColumn(this):t.visitChildren(this)}}class gh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_OWNER(){return this.getToken(s.KW_OWNER,0)}identifier(){return this.getRuleContext(0,b)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_alterTableOwner}enterRule(t){t.enterAlterTableOwner&&t.enterAlterTableOwner(this)}exitRule(t){t.exitAlterTableOwner&&t.exitAlterTableOwner(this)}accept(t){return t.visitAlterTableOwner?t.visitAlterTableOwner(this):t.visitChildren(this)}}class xh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_COLUMNS(){return this.getToken(s.KW_COLUMNS,0)}LPAREN(){return this.getToken(s.LPAREN,0)}columnSpecWithKudu(t){return t===void 0?this.getRuleContexts(z0):this.getRuleContext(t,z0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_ADD(){return this.getToken(s.KW_ADD,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}ifNotExists(){return this.getRuleContext(0,jt)}get ruleIndex(){return s.RULE_replaceOrAddColumns}enterRule(t){t.enterReplaceOrAddColumns&&t.enterReplaceOrAddColumns(this)}exitRule(t){t.exitReplaceOrAddColumns&&t.exitReplaceOrAddColumns(this)}accept(t){return t.visitReplaceOrAddColumns?t.visitReplaceOrAddColumns(this):t.visitChildren(this)}}class _h extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}createColumnSpecWithKudu(){return this.getRuleContext(0,Io)}ifNotExists(){return this.getRuleContext(0,jt)}get ruleIndex(){return s.RULE_addSingleColumn}enterRule(t){t.enterAddSingleColumn&&t.enterAddSingleColumn(this)}exitRule(t){t.exitAddSingleColumn&&t.exitAddSingleColumn(this)}accept(t){return t.visitAddSingleColumn?t.visitAddSingleColumn(this):t.visitChildren(this)}}class Ch extends R{constructor(t,e){super(t,e)}KW_ALTER(t){return t===void 0?this.getTokens(s.KW_ALTER):this.getToken(s.KW_ALTER,t)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}columnNamePath(){return this.getRuleContext(0,ce)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_DEFAULT(){return this.getToken(s.KW_DEFAULT,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}kuduStorageAttr(){return this.getRuleContext(0,er)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}get ruleIndex(){return s.RULE_alterTableNonKuduOrKuduOnly}enterRule(t){t.enterAlterTableNonKuduOrKuduOnly&&t.enterAlterTableNonKuduOrKuduOnly(this)}exitRule(t){t.exitAlterTableNonKuduOrKuduOnly&&t.exitAlterTableNonKuduOrKuduOnly(this)}accept(t){return t.visitAlterTableNonKuduOrKuduOnly?t.visitAlterTableNonKuduOrKuduOnly(this):t.visitChildren(this)}}class Nh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,D)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}kuduPartitionSpec(){return this.getRuleContext(0,cs)}ifNotExists(){return this.getRuleContext(0,jt)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}stringLiteral(){return this.getRuleContext(0,G)}cacheSpec(){return this.getRuleContext(0,Ho)}get ruleIndex(){return s.RULE_addPartitionByRangeOrValue}enterRule(t){t.enterAddPartitionByRangeOrValue&&t.enterAddPartitionByRangeOrValue(this)}exitRule(t){t.exitAddPartitionByRangeOrValue&&t.exitAddPartitionByRangeOrValue(this)}accept(t){return t.visitAddPartitionByRangeOrValue?t.visitAddPartitionByRangeOrValue(this):t.visitChildren(this)}}class Lh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,D)}KW_FILEFORMAT(){return this.getToken(s.KW_FILEFORMAT,0)}fileFormat(){return this.getRuleContext(0,ir)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_FORMAT(){return this.getToken(s.KW_FORMAT,0)}rowFormat(){return this.getRuleContext(0,hr)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}KW_SERDEPROPERTIES(){return this.getToken(s.KW_SERDEPROPERTIES,0)}properties(){return this.getRuleContext(0,r1)}get ruleIndex(){return s.RULE_alterFormat}enterRule(t){t.enterAlterFormat&&t.enterAlterFormat(this)}exitRule(t){t.exitAlterFormat&&t.exitAlterFormat(this)}accept(t){return t.visitAlterFormat?t.visitAlterFormat(this):t.visitChildren(this)}}class mh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_RECOVER(){return this.getToken(s.KW_RECOVER,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}get ruleIndex(){return s.RULE_recoverPartitions}enterRule(t){t.enterRecoverPartitions&&t.enterRecoverPartitions(this)}exitRule(t){t.exitRecoverPartitions&&t.exitRecoverPartitions(this)}accept(t){return t.visitRecoverPartitions?t.visitRecoverPartitions(this):t.visitChildren(this)}}class Wh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,D)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}kuduPartitionSpec(){return this.getRuleContext(0,cs)}ifExists(){return this.getRuleContext(0,s1)}KW_PURGE(){return this.getToken(s.KW_PURGE,0)}get ruleIndex(){return s.RULE_dropPartitionByRangeOrValue}enterRule(t){t.enterDropPartitionByRangeOrValue&&t.enterDropPartitionByRangeOrValue(this)}exitRule(t){t.exitDropPartitionByRangeOrValue&&t.exitDropPartitionByRangeOrValue(this)}accept(t){return t.visitDropPartitionByRangeOrValue?t.visitDropPartitionByRangeOrValue(this):t.visitChildren(this)}}class Kh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Te)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,zt)}viewColumns(){return this.getRuleContext(0,zn)}get ruleIndex(){return s.RULE_alterView}enterRule(t){t.enterAlterView&&t.enterAlterView(this)}exitRule(t){t.exitAlterView&&t.exitAlterView(this)}accept(t){return t.visitAlterView?t.visitAlterView(this):t.visitChildren(this)}}class Sh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(t){return t===void 0?this.getRuleContexts(Te):this.getRuleContext(t,Te)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}get ruleIndex(){return s.RULE_renameView}enterRule(t){t.enterRenameView&&t.enterRenameView(this)}exitRule(t){t.exitRenameView&&t.exitRenameView(this)}accept(t){return t.visitRenameView?t.visitRenameView(this):t.visitChildren(this)}}class ph extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Te)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_OWNER(){return this.getToken(s.KW_OWNER,0)}qualifiedName(){return this.getRuleContext(0,ft)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_alterViewOwner}enterRule(t){t.enterAlterViewOwner&&t.enterAlterViewOwner(this)}exitRule(t){t.exitAlterViewOwner&&t.exitAlterViewOwner(this)}accept(t){return t.visitAlterViewOwner?t.visitAlterViewOwner(this):t.visitChildren(this)}}class Oh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(t){return t===void 0?this.getRuleContexts(H):this.getRuleContext(t,H)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}get ruleIndex(){return s.RULE_renameTable}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}class kh extends R{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Te)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}KW_UNSET(){return this.getToken(s.KW_UNSET,0)}KW_SET(){return this.getToken(s.KW_SET,0)}properties(){return this.getRuleContext(0,r1)}get ruleIndex(){return s.RULE_alterUnSetOrSetViewTblproperties}enterRule(t){t.enterAlterUnSetOrSetViewTblproperties&&t.enterAlterUnSetOrSetViewTblproperties(this)}exitRule(t){t.exitAlterUnSetOrSetViewTblproperties&&t.exitAlterUnSetOrSetViewTblproperties(this)}accept(t){return t.visitAlterUnSetOrSetViewTblproperties?t.visitAlterUnSetOrSetViewTblproperties(this):t.visitChildren(this)}}class yh extends R{constructor(t,e){super(t,e)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}ifExists(){return this.getRuleContext(0,s1)}get ruleIndex(){return s.RULE_truncateTableStatement}enterRule(t){t.enterTruncateTableStatement&&t.enterTruncateTableStatement(this)}exitRule(t){t.exitTruncateTableStatement&&t.exitTruncateTableStatement(this)}accept(t){return t.visitTruncateTableStatement?t.visitTruncateTableStatement(this):t.visitChildren(this)}}class wh extends R{constructor(t,e){super(t,e)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}qualifiedName(){return this.getRuleContext(0,ft)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_FORMATTED(){return this.getToken(s.KW_FORMATTED,0)}KW_EXTENDED(){return this.getToken(s.KW_EXTENDED,0)}get ruleIndex(){return s.RULE_describeStatement}enterRule(t){t.enterDescribeStatement&&t.enterDescribeStatement(this)}exitRule(t){t.exitDescribeStatement&&t.exitDescribeStatement(this)}accept(t){return t.visitDescribeStatement?t.visitDescribeStatement(this):t.visitChildren(this)}}class Uh extends R{constructor(t,e){super(t,e)}computeStats(){return this.getRuleContext(0,vh)}computeIncrementalStats(){return this.getRuleContext(0,Dh)}get ruleIndex(){return s.RULE_computeStatement}enterRule(t){t.enterComputeStatement&&t.enterComputeStatement(this)}exitRule(t){t.exitComputeStatement&&t.exitComputeStatement(this)}accept(t){return t.visitComputeStatement?t.visitComputeStatement(this):t.visitChildren(this)}}class vh extends R{constructor(t,e){super(t,e)}KW_COMPUTE(){return this.getToken(s.KW_COMPUTE,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}columnAliases(){return this.getRuleContext(0,kt)}KW_TABLESAMPLE(){return this.getToken(s.KW_TABLESAMPLE,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}LPAREN(t){return t===void 0?this.getTokens(s.LPAREN):this.getToken(s.LPAREN,t)}number_(t){return t===void 0?this.getRuleContexts(Jt):this.getRuleContext(t,Jt)}RPAREN(t){return t===void 0?this.getTokens(s.RPAREN):this.getToken(s.RPAREN,t)}KW_REPEATABLE(){return this.getToken(s.KW_REPEATABLE,0)}get ruleIndex(){return s.RULE_computeStats}enterRule(t){t.enterComputeStats&&t.enterComputeStats(this)}exitRule(t){t.exitComputeStats&&t.exitComputeStats(this)}accept(t){return t.visitComputeStats?t.visitComputeStats(this):t.visitChildren(this)}}class Dh extends R{constructor(t,e){super(t,e)}KW_COMPUTE(){return this.getToken(s.KW_COMPUTE,0)}KW_INCREMENTAL(){return this.getToken(s.KW_INCREMENTAL,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(){return this.getRuleContext(0,D)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_computeIncrementalStats}enterRule(t){t.enterComputeIncrementalStats&&t.enterComputeIncrementalStats(this)}exitRule(t){t.exitComputeIncrementalStats&&t.exitComputeIncrementalStats(this)}accept(t){return t.visitComputeIncrementalStats?t.visitComputeIncrementalStats(this):t.visitChildren(this)}}class bh extends R{constructor(t,e){super(t,e)}dropRole(){return this.getRuleContext(0,Vh)}dropFunction(){return this.getRuleContext(0,Bh)}dropIncrementalStats(){return this.getRuleContext(0,Hh)}dropView(){return this.getRuleContext(0,Mh)}dropTable(){return this.getRuleContext(0,Fh)}dropSchema(){return this.getRuleContext(0,Ih)}get ruleIndex(){return s.RULE_dropStatement}enterRule(t){t.enterDropStatement&&t.enterDropStatement(this)}exitRule(t){t.exitDropStatement&&t.exitDropStatement(this)}accept(t){return t.visitDropStatement?t.visitDropStatement(this):t.visitChildren(this)}}class Ih extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}databaseNamePath(){return this.getRuleContext(0,i1)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}ifExists(){return this.getRuleContext(0,s1)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}get ruleIndex(){return s.RULE_dropSchema}enterRule(t){t.enterDropSchema&&t.enterDropSchema(this)}exitRule(t){t.exitDropSchema&&t.exitDropSchema(this)}accept(t){return t.visitDropSchema?t.visitDropSchema(this):t.visitChildren(this)}}class Mh extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Te)}ifExists(){return this.getRuleContext(0,s1)}get ruleIndex(){return s.RULE_dropView}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Fh extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,s1)}KW_PURGE(){return this.getToken(s.KW_PURGE,0)}get ruleIndex(){return s.RULE_dropTable}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class Hh extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_INCREMENTAL(){return this.getToken(s.KW_INCREMENTAL,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_dropIncrementalStats}enterRule(t){t.enterDropIncrementalStats&&t.enterDropIncrementalStats(this)}exitRule(t){t.exitDropIncrementalStats&&t.exitDropIncrementalStats(this)}accept(t){return t.visitDropIncrementalStats?t.visitDropIncrementalStats(this):t.visitChildren(this)}}class Bh extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNamePath(){return this.getRuleContext(0,$0)}KW_AGGREGATE(){return this.getToken(s.KW_AGGREGATE,0)}ifExists(){return this.getRuleContext(0,s1)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}type_(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_dropFunction}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class Vh extends R{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_dropRole}enterRule(t){t.enterDropRole&&t.enterDropRole(this)}exitRule(t){t.exitDropRole&&t.exitDropRole(this)}accept(t){return t.visitDropRole?t.visitDropRole(this):t.visitChildren(this)}}class Ph extends R{constructor(t,e){super(t,e)}grantRole(){return this.getRuleContext(0,Gh)}grant(){return this.getRuleContext(0,Yh)}get ruleIndex(){return s.RULE_grantStatement}enterRule(t){t.enterGrantStatement&&t.enterGrantStatement(this)}exitRule(t){t.exitGrantStatement&&t.exitGrantStatement(this)}accept(t){return t.visitGrantStatement?t.visitGrantStatement(this):t.visitChildren(this)}}class Gh extends R{constructor(t,e){super(t,e)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}get ruleIndex(){return s.RULE_grantRole}enterRule(t){t.enterGrantRole&&t.enterGrantRole(this)}exitRule(t){t.exitGrantRole&&t.exitGrantRole(this)}accept(t){return t.visitGrantRole?t.visitGrantRole(this):t.visitChildren(this)}}class Yh extends R{constructor(t,e){super(t,e)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}privilege(){return this.getRuleContext(0,Er)}KW_ON(){return this.getToken(s.KW_ON,0)}objectType(){return this.getRuleContext(0,fr)}KW_TO(){return this.getToken(s.KW_TO,0)}principal(){return this.getRuleContext(0,y1)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_grant}enterRule(t){t.enterGrant&&t.enterGrant(this)}exitRule(t){t.exitGrant&&t.exitGrant(this)}accept(t){return t.visitGrant?t.visitGrant(this):t.visitChildren(this)}}class Qh extends R{constructor(t,e){super(t,e)}revokeRole(){return this.getRuleContext(0,Xh)}revoke(){return this.getRuleContext(0,$h)}get ruleIndex(){return s.RULE_revokeStatement}enterRule(t){t.enterRevokeStatement&&t.enterRevokeStatement(this)}exitRule(t){t.exitRevokeStatement&&t.exitRevokeStatement(this)}accept(t){return t.visitRevokeStatement?t.visitRevokeStatement(this):t.visitChildren(this)}}class Xh extends R{constructor(t,e){super(t,e)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}get ruleIndex(){return s.RULE_revokeRole}enterRule(t){t.enterRevokeRole&&t.enterRevokeRole(this)}exitRule(t){t.exitRevokeRole&&t.exitRevokeRole(this)}accept(t){return t.visitRevokeRole?t.visitRevokeRole(this):t.visitChildren(this)}}class $h extends R{constructor(t,e){super(t,e)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}privilege(){return this.getRuleContext(0,Er)}KW_ON(){return this.getToken(s.KW_ON,0)}objectType(){return this.getRuleContext(0,fr)}KW_FROM(){return this.getToken(s.KW_FROM,0)}identifier(){return this.getRuleContext(0,b)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}qualifiedName(){return this.getRuleContext(0,ft)}principal(){return this.getRuleContext(0,y1)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_revoke}enterRule(t){t.enterRevoke&&t.enterRevoke(this)}exitRule(t){t.exitRevoke&&t.exitRevoke(this)}accept(t){return t.visitRevoke?t.visitRevoke(this):t.visitChildren(this)}}class jh extends R{constructor(t,e){super(t,e)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}tableNamePath(){return this.getRuleContext(0,H)}queryStatement(){return this.getRuleContext(0,zt)}KW_INTO(){return this.getToken(s.KW_INTO,0)}KW_OVERWRITE(){return this.getToken(s.KW_OVERWRITE,0)}with(){return this.getRuleContext(0,Zn)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}columnAliases(){return this.getRuleContext(0,kt)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_insertStatement}enterRule(t){t.enterInsertStatement&&t.enterInsertStatement(this)}exitRule(t){t.exitInsertStatement&&t.exitInsertStatement(this)}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}}class zh extends R{constructor(t,e){super(t,e)}delete(){return this.getRuleContext(0,Zh)}deleteTableRef(){return this.getRuleContext(0,Jh)}get ruleIndex(){return s.RULE_deleteStatement}enterRule(t){t.enterDeleteStatement&&t.enterDeleteStatement(this)}exitRule(t){t.exitDeleteStatement&&t.exitDeleteStatement(this)}accept(t){return t.visitDeleteStatement?t.visitDeleteStatement(this):t.visitChildren(this)}}class Zh extends R{constructor(t,e){super(t,e)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}get ruleIndex(){return s.RULE_delete}enterRule(t){t.enterDelete&&t.enterDelete(this)}exitRule(t){t.exitDelete&&t.exitDelete(this)}accept(t){return t.visitDelete?t.visitDelete(this):t.visitChildren(this)}}class Jh extends R{constructor(t,e){super(t,e)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_FROM(){return this.getToken(s.KW_FROM,0)}identifier(){return this.getRuleContext(0,b)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}KW_AS(){return this.getToken(s.KW_AS,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_deleteTableRef}enterRule(t){t.enterDeleteTableRef&&t.enterDeleteTableRef(this)}exitRule(t){t.exitDeleteTableRef&&t.exitDeleteTableRef(this)}accept(t){return t.visitDeleteTableRef?t.visitDeleteTableRef(this):t.visitChildren(this)}}class qh extends R{constructor(t,e){super(t,e)}KW_UPDATE(){return this.getToken(s.KW_UPDATE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}assignmentList(){return this.getRuleContext(0,vo)}KW_FROM(){return this.getToken(s.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_updateStatement}enterRule(t){t.enterUpdateStatement&&t.enterUpdateStatement(this)}exitRule(t){t.exitUpdateStatement&&t.exitUpdateStatement(this)}accept(t){return t.visitUpdateStatement?t.visitUpdateStatement(this):t.visitChildren(this)}}class to extends R{constructor(t,e){super(t,e)}KW_UPSERT(){return this.getToken(s.KW_UPSERT,0)}KW_INTO(){return this.getToken(s.KW_INTO,0)}tableNamePath(){return this.getRuleContext(0,H)}queryStatement(){return this.getRuleContext(0,zt)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}columnAliases(){return this.getRuleContext(0,kt)}get ruleIndex(){return s.RULE_upsertStatement}enterRule(t){t.enterUpsertStatement&&t.enterUpsertStatement(this)}exitRule(t){t.exitUpsertStatement&&t.exitUpsertStatement(this)}accept(t){return t.visitUpsertStatement?t.visitUpsertStatement(this):t.visitChildren(this)}}class eo extends R{constructor(t,e){super(t,e)}showRoles(){return this.getRuleContext(0,lo)}showRoleGrant(){return this.getRuleContext(0,Eo)}showGrants(){return this.getRuleContext(0,fo)}showFiles(){return this.getRuleContext(0,co)}showPartitions(){return this.getRuleContext(0,uo)}showColumnStats(){return this.getRuleContext(0,ao)}showTableStats(){return this.getRuleContext(0,oo)}showCreateView(){return this.getRuleContext(0,ho)}showCreateTable(){return this.getRuleContext(0,ro)}showFunctions(){return this.getRuleContext(0,no)}showTables(){return this.getRuleContext(0,io)}showSchemas(){return this.getRuleContext(0,so)}get ruleIndex(){return s.RULE_showStatement}enterRule(t){t.enterShowStatement&&t.enterShowStatement(this)}exitRule(t){t.exitShowStatement&&t.exitShowStatement(this)}accept(t){return t.visitShowStatement?t.visitShowStatement(this):t.visitChildren(this)}}class so extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_SCHEMAS(){return this.getToken(s.KW_SCHEMAS,0)}KW_DATABASES(){return this.getToken(s.KW_DATABASES,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}BITWISEOR(t){return t===void 0?this.getTokens(s.BITWISEOR):this.getToken(s.BITWISEOR,t)}get ruleIndex(){return s.RULE_showSchemas}enterRule(t){t.enterShowSchemas&&t.enterShowSchemas(this)}exitRule(t){t.exitShowSchemas&&t.exitShowSchemas(this)}accept(t){return t.visitShowSchemas?t.visitShowSchemas(this):t.visitChildren(this)}}class io extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_TABLES(){return this.getToken(s.KW_TABLES,0)}KW_IN(){return this.getToken(s.KW_IN,0)}tableNamePath(){return this.getRuleContext(0,H)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}BITWISEOR(t){return t===void 0?this.getTokens(s.BITWISEOR):this.getToken(s.BITWISEOR,t)}get ruleIndex(){return s.RULE_showTables}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}class no extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}KW_IN(){return this.getToken(s.KW_IN,0)}databaseNamePath(){return this.getRuleContext(0,i1)}KW_AGGREGATE(){return this.getToken(s.KW_AGGREGATE,0)}KW_ANALYTIC(){return this.getToken(s.KW_ANALYTIC,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}BITWISEOR(t){return t===void 0?this.getTokens(s.BITWISEOR):this.getToken(s.BITWISEOR,t)}get ruleIndex(){return s.RULE_showFunctions}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}class ro extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showCreateTable}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}class ho extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Te)}get ruleIndex(){return s.RULE_showCreateView}enterRule(t){t.enterShowCreateView&&t.enterShowCreateView(this)}exitRule(t){t.exitShowCreateView&&t.exitShowCreateView(this)}accept(t){return t.visitShowCreateView?t.visitShowCreateView(this):t.visitChildren(this)}}class oo extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showTableStats}enterRule(t){t.enterShowTableStats&&t.enterShowTableStats(this)}exitRule(t){t.exitShowTableStats&&t.exitShowTableStats(this)}accept(t){return t.visitShowTableStats?t.visitShowTableStats(this):t.visitChildren(this)}}class ao extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showColumnStats}enterRule(t){t.enterShowColumnStats&&t.enterShowColumnStats(this)}exitRule(t){t.exitShowColumnStats&&t.exitShowColumnStats(this)}accept(t){return t.visitShowColumnStats?t.visitShowColumnStats(this):t.visitChildren(this)}}class uo extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}get ruleIndex(){return s.RULE_showPartitions}enterRule(t){t.enterShowPartitions&&t.enterShowPartitions(this)}exitRule(t){t.exitShowPartitions&&t.exitShowPartitions(this)}accept(t){return t.visitShowPartitions?t.visitShowPartitions(this):t.visitChildren(this)}}class co extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_FILES(){return this.getToken(s.KW_FILES,0)}KW_IN(){return this.getToken(s.KW_IN,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_showFiles}enterRule(t){t.enterShowFiles&&t.enterShowFiles(this)}exitRule(t){t.exitShowFiles&&t.exitShowFiles(this)}accept(t){return t.visitShowFiles?t.visitShowFiles(this):t.visitChildren(this)}}class lo extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_ROLES(){return this.getToken(s.KW_ROLES,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}get ruleIndex(){return s.RULE_showRoles}enterRule(t){t.enterShowRoles&&t.enterShowRoles(this)}exitRule(t){t.exitShowRoles&&t.exitShowRoles(this)}accept(t){return t.visitShowRoles?t.visitShowRoles(this):t.visitChildren(this)}}class Eo extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}identifier(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_showRoleGrant}enterRule(t){t.enterShowRoleGrant&&t.enterShowRoleGrant(this)}exitRule(t){t.exitShowRoleGrant&&t.exitShowRoleGrant(this)}accept(t){return t.visitShowRoleGrant?t.visitShowRoleGrant(this):t.visitChildren(this)}}class fo extends R{constructor(t,e){super(t,e)}showDatabaseGrant(){return this.getRuleContext(0,Ro)}showTableGrant(){return this.getRuleContext(0,To)}showColumnGrant(){return this.getRuleContext(0,Ao)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,b)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_SERVER(){return this.getToken(s.KW_SERVER,0)}KW_URI(){return this.getToken(s.KW_URI,0)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_showGrants}enterRule(t){t.enterShowGrants&&t.enterShowGrants(this)}exitRule(t){t.exitShowGrants&&t.exitShowGrants(this)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}}class Ro extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,b)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databaseNamePath(){return this.getRuleContext(0,i1)}get ruleIndex(){return s.RULE_showDatabaseGrant}enterRule(t){t.enterShowDatabaseGrant&&t.enterShowDatabaseGrant(this)}exitRule(t){t.exitShowDatabaseGrant&&t.exitShowDatabaseGrant(this)}accept(t){return t.visitShowDatabaseGrant?t.visitShowDatabaseGrant(this):t.visitChildren(this)}}class To extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,b)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showTableGrant}enterRule(t){t.enterShowTableGrant&&t.enterShowTableGrant(this)}exitRule(t){t.exitShowTableGrant&&t.exitShowTableGrant(this)}accept(t){return t.visitShowTableGrant?t.visitShowTableGrant(this):t.visitChildren(this)}}class Ao extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,b)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnNamePath(){return this.getRuleContext(0,ce)}get ruleIndex(){return s.RULE_showColumnGrant}enterRule(t){t.enterShowColumnGrant&&t.enterShowColumnGrant(this)}exitRule(t){t.exitShowColumnGrant&&t.exitShowColumnGrant(this)}accept(t){return t.visitShowColumnGrant?t.visitShowColumnGrant(this):t.visitChildren(this)}}class go extends R{constructor(t,e){super(t,e)}addDatabaseComments(){return this.getRuleContext(0,xo)}addTableComments(){return this.getRuleContext(0,_o)}addColumnComments(){return this.getRuleContext(0,Co)}get ruleIndex(){return s.RULE_addCommentStatement}enterRule(t){t.enterAddCommentStatement&&t.enterAddCommentStatement(this)}exitRule(t){t.exitAddCommentStatement&&t.exitAddCommentStatement(this)}accept(t){return t.visitAddCommentStatement?t.visitAddCommentStatement(this):t.visitChildren(this)}}class xo extends R{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databaseNamePath(){return this.getRuleContext(0,i1)}KW_IS(){return this.getToken(s.KW_IS,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_addDatabaseComments}enterRule(t){t.enterAddDatabaseComments&&t.enterAddDatabaseComments(this)}exitRule(t){t.exitAddDatabaseComments&&t.exitAddDatabaseComments(this)}accept(t){return t.visitAddDatabaseComments?t.visitAddDatabaseComments(this):t.visitChildren(this)}}class _o extends R{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_IS(){return this.getToken(s.KW_IS,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_addTableComments}enterRule(t){t.enterAddTableComments&&t.enterAddTableComments(this)}exitRule(t){t.exitAddTableComments&&t.exitAddTableComments(this)}accept(t){return t.visitAddTableComments?t.visitAddTableComments(this):t.visitChildren(this)}}class Co extends R{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnNamePath(){return this.getRuleContext(0,ce)}KW_IS(){return this.getToken(s.KW_IS,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_addColumnComments}enterRule(t){t.enterAddColumnComments&&t.enterAddColumnComments(this)}exitRule(t){t.exitAddColumnComments&&t.exitAddColumnComments(this)}accept(t){return t.visitAddColumnComments?t.visitAddColumnComments(this):t.visitChildren(this)}}class No extends R{constructor(t,e){super(t,e)}KW_EXPLAIN(){return this.getToken(s.KW_EXPLAIN,0)}sqlStatement(){return this.getRuleContext(0,Qn)}get ruleIndex(){return s.RULE_explainStatement}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class Lo extends R{constructor(t,e){super(t,e)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}identifier(){return this.getRuleContext(0,b)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_setStatement}enterRule(t){t.enterSetStatement&&t.enterSetStatement(this)}exitRule(t){t.exitSetStatement&&t.exitSetStatement(this)}accept(t){return t.visitSetStatement?t.visitSetStatement(this):t.visitChildren(this)}}class mo extends R{constructor(t,e){super(t,e)}COLON(){return this.getToken(s.COLON,0)}KW_SHUTDOWN(){return this.getToken(s.KW_SHUTDOWN,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}stringLiteral(){return this.getRuleContext(0,G)}expression(){return this.getRuleContext(0,D)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_shutdownStatement}enterRule(t){t.enterShutdownStatement&&t.enterShutdownStatement(this)}exitRule(t){t.exitShutdownStatement&&t.exitShutdownStatement(this)}accept(t){return t.visitShutdownStatement?t.visitShutdownStatement(this):t.visitChildren(this)}}class Wo extends R{constructor(t,e){super(t,e)}KW_INVALIDATE(){return this.getToken(s.KW_INVALIDATE,0)}KW_METADATA(){return this.getToken(s.KW_METADATA,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_invalidateMetaStatement}enterRule(t){t.enterInvalidateMetaStatement&&t.enterInvalidateMetaStatement(this)}exitRule(t){t.exitInvalidateMetaStatement&&t.exitInvalidateMetaStatement(this)}accept(t){return t.visitInvalidateMetaStatement?t.visitInvalidateMetaStatement(this):t.visitChildren(this)}}class Ko extends R{constructor(t,e){super(t,e)}KW_LOAD(){return this.getToken(s.KW_LOAD,0)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_INPATH(){return this.getToken(s.KW_INPATH,0)}STRING(){return this.getToken(s.STRING,0)}KW_INTO(){return this.getToken(s.KW_INTO,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_OVERWRITE(){return this.getToken(s.KW_OVERWRITE,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_loadDataStatement}enterRule(t){t.enterLoadDataStatement&&t.enterLoadDataStatement(this)}exitRule(t){t.exitLoadDataStatement&&t.exitLoadDataStatement(this)}accept(t){return t.visitLoadDataStatement?t.visitLoadDataStatement(this):t.visitChildren(this)}}class So extends R{constructor(t,e){super(t,e)}refreshMeta(){return this.getRuleContext(0,po)}refreshAuth(){return this.getRuleContext(0,Oo)}refreshFunction(){return this.getRuleContext(0,ko)}get ruleIndex(){return s.RULE_refreshStatement}enterRule(t){t.enterRefreshStatement&&t.enterRefreshStatement(this)}exitRule(t){t.exitRefreshStatement&&t.exitRefreshStatement(this)}accept(t){return t.visitRefreshStatement?t.visitRefreshStatement(this):t.visitChildren(this)}}class po extends R{constructor(t,e){super(t,e)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_refreshMeta}enterRule(t){t.enterRefreshMeta&&t.enterRefreshMeta(this)}exitRule(t){t.exitRefreshMeta&&t.exitRefreshMeta(this)}accept(t){return t.visitRefreshMeta?t.visitRefreshMeta(this):t.visitChildren(this)}}class Oo extends R{constructor(t,e){super(t,e)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}get ruleIndex(){return s.RULE_refreshAuth}enterRule(t){t.enterRefreshAuth&&t.enterRefreshAuth(this)}exitRule(t){t.exitRefreshAuth&&t.exitRefreshAuth(this)}accept(t){return t.visitRefreshAuth?t.visitRefreshAuth(this):t.visitChildren(this)}}class ko extends R{constructor(t,e){super(t,e)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}functionNamePath(){return this.getRuleContext(0,$0)}get ruleIndex(){return s.RULE_refreshFunction}enterRule(t){t.enterRefreshFunction&&t.enterRefreshFunction(this)}exitRule(t){t.exitRefreshFunction&&t.exitRefreshFunction(this)}accept(t){return t.visitRefreshFunction?t.visitRefreshFunction(this):t.visitChildren(this)}}class s1 extends R{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class jt extends R{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class X0 extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class yo extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_databaseNameCreate}enterRule(t){t.enterDatabaseNameCreate&&t.enterDatabaseNameCreate(this)}exitRule(t){t.exitDatabaseNameCreate&&t.exitDatabaseNameCreate(this)}accept(t){return t.visitDatabaseNameCreate?t.visitDatabaseNameCreate(this):t.visitChildren(this)}}class wo extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class Xn extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class p1 extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_columnNamePathCreate}enterRule(t){t.enterColumnNamePathCreate&&t.enterColumnNamePathCreate(this)}exitRule(t){t.exitColumnNamePathCreate&&t.exitColumnNamePathCreate(this)}accept(t){return t.visitColumnNamePathCreate?t.visitColumnNamePathCreate(this):t.visitChildren(this)}}class i1 extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_databaseNamePath}enterRule(t){t.enterDatabaseNamePath&&t.enterDatabaseNamePath(this)}exitRule(t){t.exitDatabaseNamePath&&t.exitDatabaseNamePath(this)}accept(t){return t.visitDatabaseNamePath?t.visitDatabaseNamePath(this):t.visitChildren(this)}}class H extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_tableNamePath}enterRule(t){t.enterTableNamePath&&t.enterTableNamePath(this)}exitRule(t){t.exitTableNamePath&&t.exitTableNamePath(this)}accept(t){return t.visitTableNamePath?t.visitTableNamePath(this):t.visitChildren(this)}}class Te extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_viewNamePath}enterRule(t){t.enterViewNamePath&&t.enterViewNamePath(this)}exitRule(t){t.exitViewNamePath&&t.exitViewNamePath(this)}accept(t){return t.visitViewNamePath?t.visitViewNamePath(this):t.visitChildren(this)}}class $0 extends R{constructor(t,e){super(t,e)}reservedKeywordsUsedAsFuncName(){return this.getRuleContext(0,xa)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionNamePath}enterRule(t){t.enterFunctionNamePath&&t.enterFunctionNamePath(this)}exitRule(t){t.exitFunctionNamePath&&t.exitFunctionNamePath(this)}accept(t){return t.visitFunctionNamePath?t.visitFunctionNamePath(this):t.visitChildren(this)}}class ce extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_columnNamePath}enterRule(t){t.enterColumnNamePath&&t.enterColumnNamePath(this)}exitRule(t){t.exitColumnNamePath&&t.exitColumnNamePath(this)}accept(t){return t.visitColumnNamePath?t.visitColumnNamePath(this):t.visitChildren(this)}}class Uo extends R{constructor(t,e){super(t,e)}tableNamePath(){return this.getRuleContext(0,H)}viewNamePath(){return this.getRuleContext(0,Te)}get ruleIndex(){return s.RULE_tableOrViewPath}enterRule(t){t.enterTableOrViewPath&&t.enterTableOrViewPath(this)}exitRule(t){t.exitTableOrViewPath&&t.exitTableOrViewPath(this)}accept(t){return t.visitTableOrViewPath?t.visitTableOrViewPath(this):t.visitChildren(this)}}class $n extends R{constructor(t,e){super(t,e)}KW_SORT(){return this.getToken(s.KW_SORT,0)}KW_BY(){return this.getToken(s.KW_BY,0)}columnAliases(){return this.getRuleContext(0,kt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_FORMAT(){return this.getToken(s.KW_FORMAT,0)}rowFormat(){return this.getRuleContext(0,hr)}KW_WITH(t){return t===void 0?this.getTokens(s.KW_WITH):this.getToken(s.KW_WITH,t)}KW_SERDEPROPERTIES(){return this.getToken(s.KW_SERDEPROPERTIES,0)}KW_STORED(){return this.getToken(s.KW_STORED,0)}KW_AS(){return this.getToken(s.KW_AS,0)}fileFormat(){return this.getRuleContext(0,ir)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}KW_CACHED(){return this.getToken(s.KW_CACHED,0)}KW_IN(){return this.getToken(s.KW_IN,0)}KW_UNCACHED(){return this.getToken(s.KW_UNCACHED,0)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}properties(t){return t===void 0?this.getRuleContexts(r1):this.getRuleContext(t,r1)}qualifiedName(){return this.getRuleContext(0,ft)}KW_REPLICATION(){return this.getToken(s.KW_REPLICATION,0)}EQ(){return this.getToken(s.EQ,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}get ruleIndex(){return s.RULE_createCommonItem}enterRule(t){t.enterCreateCommonItem&&t.enterCreateCommonItem(this)}exitRule(t){t.exitCreateCommonItem&&t.exitCreateCommonItem(this)}accept(t){return t.visitCreateCommonItem?t.visitCreateCommonItem(this):t.visitChildren(this)}}class vo extends R{constructor(t,e){super(t,e)}assignmentItem(t){return t===void 0?this.getRuleContexts(jn):this.getRuleContext(t,jn)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_assignmentList}enterRule(t){t.enterAssignmentList&&t.enterAssignmentList(this)}exitRule(t){t.exitAssignmentList&&t.exitAssignmentList(this)}accept(t){return t.visitAssignmentList?t.visitAssignmentList(this):t.visitChildren(this)}}class jn extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_assignmentItem}enterRule(t){t.enterAssignmentItem&&t.enterAssignmentItem(this)}exitRule(t){t.exitAssignmentItem&&t.exitAssignmentItem(this)}accept(t){return t.visitAssignmentItem?t.visitAssignmentItem(this):t.visitChildren(this)}}class zn extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}columnNamePathCreate(t){return t===void 0?this.getRuleContexts(p1):this.getRuleContext(t,p1)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_COMMENT(t){return t===void 0?this.getTokens(s.KW_COMMENT):this.getToken(s.KW_COMMENT,t)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_viewColumns}enterRule(t){t.enterViewColumns&&t.enterViewColumns(this)}exitRule(t){t.exitViewColumns&&t.exitViewColumns(this)}accept(t){return t.visitViewColumns?t.visitViewColumns(this):t.visitChildren(this)}}class zt extends R{constructor(t,e){super(t,e)}queryNoWith(){return this.getRuleContext(0,ar)}with(){return this.getRuleContext(0,Zn)}get ruleIndex(){return s.RULE_queryStatement}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class Zn extends R{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}namedQuery(t){return t===void 0?this.getRuleContexts(ur):this.getRuleContext(t,ur)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_with}enterRule(t){t.enterWith&&t.enterWith(this)}exitRule(t){t.exitWith&&t.exitWith(this)}accept(t){return t.visitWith?t.visitWith(this):t.visitChildren(this)}}class Do extends R{constructor(t,e){super(t,e)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnAliases(){return this.getRuleContext(0,kt)}KW_DISABLE(){return this.getToken(s.KW_DISABLE,0)}KW_NOVALIDATE(){return this.getToken(s.KW_NOVALIDATE,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_RELY(){return this.getToken(s.KW_RELY,0)}foreignKeySpecification(t){return t===void 0?this.getRuleContexts(Jn):this.getRuleContext(t,Jn)}get ruleIndex(){return s.RULE_constraintSpecification}enterRule(t){t.enterConstraintSpecification&&t.enterConstraintSpecification(this)}exitRule(t){t.exitConstraintSpecification&&t.exitConstraintSpecification(this)}accept(t){return t.visitConstraintSpecification?t.visitConstraintSpecification(this):t.visitChildren(this)}}class Jn extends R{constructor(t,e){super(t,e)}KW_FOREIGN(){return this.getToken(s.KW_FOREIGN,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnAliases(t){return t===void 0?this.getRuleContexts(kt):this.getRuleContext(t,kt)}KW_REFERENCES(){return this.getToken(s.KW_REFERENCES,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_DISABLE(){return this.getToken(s.KW_DISABLE,0)}KW_NOVALIDATE(){return this.getToken(s.KW_NOVALIDATE,0)}KW_RELY(){return this.getToken(s.KW_RELY,0)}get ruleIndex(){return s.RULE_foreignKeySpecification}enterRule(t){t.enterForeignKeySpecification&&t.enterForeignKeySpecification(this)}exitRule(t){t.exitForeignKeySpecification&&t.exitForeignKeySpecification(this)}accept(t){return t.visitForeignKeySpecification?t.visitForeignKeySpecification(this):t.visitChildren(this)}}class j0 extends R{constructor(t,e){super(t,e)}columnNamePath(){return this.getRuleContext(0,ce)}type(){return this.getRuleContext(0,gt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}get ruleIndex(){return s.RULE_columnSpec}enterRule(t){t.enterColumnSpec&&t.enterColumnSpec(this)}exitRule(t){t.exitColumnSpec&&t.exitColumnSpec(this)}accept(t){return t.visitColumnSpec?t.visitColumnSpec(this):t.visitChildren(this)}}class qn extends R{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,p1)}type(){return this.getRuleContext(0,gt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}get ruleIndex(){return s.RULE_columnDefinition}enterRule(t){t.enterColumnDefinition&&t.enterColumnDefinition(this)}exitRule(t){t.exitColumnDefinition&&t.exitColumnDefinition(this)}accept(t){return t.visitColumnDefinition?t.visitColumnDefinition(this):t.visitChildren(this)}}class tr extends R{constructor(t,e){super(t,e)}kuduColumnDefinition(){return this.getRuleContext(0,bo)}get ruleIndex(){return s.RULE_kuduTableElement}enterRule(t){t.enterKuduTableElement&&t.enterKuduTableElement(this)}exitRule(t){t.exitKuduTableElement&&t.exitKuduTableElement(this)}accept(t){return t.visitKuduTableElement?t.visitKuduTableElement(this):t.visitChildren(this)}}class bo extends R{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,p1)}type(){return this.getRuleContext(0,gt)}kuduAttributes(t){return t===void 0?this.getRuleContexts(n1):this.getRuleContext(t,n1)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}get ruleIndex(){return s.RULE_kuduColumnDefinition}enterRule(t){t.enterKuduColumnDefinition&&t.enterKuduColumnDefinition(this)}exitRule(t){t.exitKuduColumnDefinition&&t.exitKuduColumnDefinition(this)}accept(t){return t.visitKuduColumnDefinition?t.visitKuduColumnDefinition(this):t.visitChildren(this)}}class z0 extends R{constructor(t,e){super(t,e)}columnSpec(){return this.getRuleContext(0,j0)}kuduAttributes(t){return t===void 0?this.getRuleContexts(n1):this.getRuleContext(t,n1)}get ruleIndex(){return s.RULE_columnSpecWithKudu}enterRule(t){t.enterColumnSpecWithKudu&&t.enterColumnSpecWithKudu(this)}exitRule(t){t.exitColumnSpecWithKudu&&t.exitColumnSpecWithKudu(this)}accept(t){return t.visitColumnSpecWithKudu?t.visitColumnSpecWithKudu(this):t.visitChildren(this)}}class Io extends R{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,p1)}type(){return this.getRuleContext(0,gt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,G)}kuduAttributes(t){return t===void 0?this.getRuleContexts(n1):this.getRuleContext(t,n1)}get ruleIndex(){return s.RULE_createColumnSpecWithKudu}enterRule(t){t.enterCreateColumnSpecWithKudu&&t.enterCreateColumnSpecWithKudu(this)}exitRule(t){t.exitCreateColumnSpecWithKudu&&t.exitCreateColumnSpecWithKudu(this)}accept(t){return t.visitCreateColumnSpecWithKudu?t.visitCreateColumnSpecWithKudu(this):t.visitChildren(this)}}class n1 extends R{constructor(t,e){super(t,e)}KW_NULL(){return this.getToken(s.KW_NULL,0)}kuduStorageAttr(){return this.getRuleContext(0,er)}KW_NOT(){return this.getToken(s.KW_NOT,0)}get ruleIndex(){return s.RULE_kuduAttributes}enterRule(t){t.enterKuduAttributes&&t.enterKuduAttributes(this)}exitRule(t){t.exitKuduAttributes&&t.exitKuduAttributes(this)}accept(t){return t.visitKuduAttributes?t.visitKuduAttributes(this):t.visitChildren(this)}}class er extends R{constructor(t,e){super(t,e)}KW_ENCODING(){return this.getToken(s.KW_ENCODING,0)}expression(){return this.getRuleContext(0,D)}KW_COMPRESSION(){return this.getToken(s.KW_COMPRESSION,0)}KW_DEFAULT(){return this.getToken(s.KW_DEFAULT,0)}KW_BLOCK_SIZE(){return this.getToken(s.KW_BLOCK_SIZE,0)}number(){return this.getRuleContext(0,Jt)}get ruleIndex(){return s.RULE_kuduStorageAttr}enterRule(t){t.enterKuduStorageAttr&&t.enterKuduStorageAttr(this)}exitRule(t){t.exitKuduStorageAttr&&t.exitKuduStorageAttr(this)}accept(t){return t.visitKuduStorageAttr?t.visitKuduStorageAttr(this):t.visitChildren(this)}}class sr extends R{constructor(t,e){super(t,e)}STATS_NUMDVS(){return this.getToken(s.STATS_NUMDVS,0)}STATS_NUMNULLS(){return this.getToken(s.STATS_NUMNULLS,0)}STATS_AVGSIZE(){return this.getToken(s.STATS_AVGSIZE,0)}STATS_MAXSIZE(){return this.getToken(s.STATS_MAXSIZE,0)}get ruleIndex(){return s.RULE_statsKey}enterRule(t){t.enterStatsKey&&t.enterStatsKey(this)}exitRule(t){t.exitStatsKey&&t.exitStatsKey(this)}accept(t){return t.visitStatsKey?t.visitStatsKey(this):t.visitChildren(this)}}class ir extends R{constructor(t,e){super(t,e)}KW_TEXTFILE(){return this.getToken(s.KW_TEXTFILE,0)}KW_PARQUET(){return this.getToken(s.KW_PARQUET,0)}KW_ORC(){return this.getToken(s.KW_ORC,0)}KW_AVRO(){return this.getToken(s.KW_AVRO,0)}KW_SEQUENCEFILE(){return this.getToken(s.KW_SEQUENCEFILE,0)}KW_RCFILE(){return this.getToken(s.KW_RCFILE,0)}get ruleIndex(){return s.RULE_fileFormat}enterRule(t){t.enterFileFormat&&t.enterFileFormat(this)}exitRule(t){t.exitFileFormat&&t.exitFileFormat(this)}accept(t){return t.visitFileFormat?t.visitFileFormat(this):t.visitChildren(this)}}class Mo extends R{constructor(t,e){super(t,e)}hashClause(t){return t===void 0?this.getRuleContexts(nr):this.getRuleContext(t,nr)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}rangeClause(){return this.getRuleContext(0,Fo)}get ruleIndex(){return s.RULE_kuduPartitionClause}enterRule(t){t.enterKuduPartitionClause&&t.enterKuduPartitionClause(this)}exitRule(t){t.exitKuduPartitionClause&&t.exitKuduPartitionClause(this)}accept(t){return t.visitKuduPartitionClause?t.visitKuduPartitionClause(this):t.visitChildren(this)}}class nr extends R{constructor(t,e){super(t,e)}KW_HASH(){return this.getToken(s.KW_HASH,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}number(){return this.getRuleContext(0,Jt)}columnAliases(){return this.getRuleContext(0,kt)}get ruleIndex(){return s.RULE_hashClause}enterRule(t){t.enterHashClause&&t.enterHashClause(this)}exitRule(t){t.exitHashClause&&t.exitHashClause(this)}accept(t){return t.visitHashClause?t.visitHashClause(this):t.visitChildren(this)}}class Fo extends R{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PARTITION(t){return t===void 0?this.getTokens(s.KW_PARTITION):this.getToken(s.KW_PARTITION,t)}kuduPartitionSpec(t){return t===void 0?this.getRuleContexts(cs):this.getRuleContext(t,cs)}columnAliases(){return this.getRuleContext(0,kt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_rangeClause}enterRule(t){t.enterRangeClause&&t.enterRangeClause(this)}exitRule(t){t.exitRangeClause&&t.exitRangeClause(this)}accept(t){return t.visitRangeClause?t.visitRangeClause(this):t.visitChildren(this)}}class cs extends R{constructor(t,e){super(t,e)}KW_VALUE(){return this.getToken(s.KW_VALUE,0)}partitionCol(){return this.getRuleContext(0,Bo)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}rangeOperator(t){return t===void 0?this.getRuleContexts(Z0):this.getRuleContext(t,Z0)}get ruleIndex(){return s.RULE_kuduPartitionSpec}enterRule(t){t.enterKuduPartitionSpec&&t.enterKuduPartitionSpec(this)}exitRule(t){t.exitKuduPartitionSpec&&t.exitKuduPartitionSpec(this)}accept(t){return t.visitKuduPartitionSpec?t.visitKuduPartitionSpec(this):t.visitChildren(this)}}class Ho extends R{constructor(t,e){super(t,e)}KW_CACHED(){return this.getToken(s.KW_CACHED,0)}KW_IN(){return this.getToken(s.KW_IN,0)}identifier(){return this.getRuleContext(0,b)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_REPLICATION(){return this.getToken(s.KW_REPLICATION,0)}EQ(){return this.getToken(s.EQ,0)}number(){return this.getRuleContext(0,Jt)}KW_UNCACHED(){return this.getToken(s.KW_UNCACHED,0)}get ruleIndex(){return s.RULE_cacheSpec}enterRule(t){t.enterCacheSpec&&t.enterCacheSpec(this)}exitRule(t){t.exitCacheSpec&&t.exitCacheSpec(this)}accept(t){return t.visitCacheSpec?t.visitCacheSpec(this):t.visitChildren(this)}}class Z0 extends R{constructor(t,e){super(t,e)}LT(){return this.getToken(s.LT,0)}LTE(){return this.getToken(s.LTE,0)}GT(){return this.getToken(s.GT,0)}GTE(){return this.getToken(s.GTE,0)}get ruleIndex(){return s.RULE_rangeOperator}enterRule(t){t.enterRangeOperator&&t.enterRangeOperator(this)}exitRule(t){t.exitRangeOperator&&t.exitRangeOperator(this)}accept(t){return t.visitRangeOperator?t.visitRangeOperator(this):t.visitChildren(this)}}class Bo extends R{constructor(t,e){super(t,e)}EQ(){return this.getToken(s.EQ,0)}NEQ(){return this.getToken(s.NEQ,0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_RLIKE(){return this.getToken(s.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(s.KW_REGEXP,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_IN(){return this.getToken(s.KW_IN,0)}rangeOperator(){return this.getRuleContext(0,Z0)}get ruleIndex(){return s.RULE_partitionCol}enterRule(t){t.enterPartitionCol&&t.enterPartitionCol(this)}exitRule(t){t.exitPartitionCol&&t.exitPartitionCol(this)}accept(t){return t.visitPartitionCol?t.visitPartitionCol(this):t.visitChildren(this)}}class zc extends R{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}qualifiedName(){return this.getRuleContext(0,ft)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}get ruleIndex(){return s.RULE_likeClause}enterRule(t){t.enterLikeClause&&t.enterLikeClause(this)}exitRule(t){t.exitLikeClause&&t.exitLikeClause(this)}accept(t){return t.visitLikeClause?t.visitLikeClause(this):t.visitChildren(this)}}class r1 extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}property(t){return t===void 0?this.getRuleContexts(or):this.getRuleContext(t,or)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_properties}enterRule(t){t.enterProperties&&t.enterProperties(this)}exitRule(t){t.exitProperties&&t.exitProperties(this)}accept(t){return t.visitProperties?t.visitProperties(this):t.visitChildren(this)}}class rr extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}columnSpec(t){return t===void 0?this.getRuleContexts(j0):this.getRuleContext(t,j0)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_partitionedBy}enterRule(t){t.enterPartitionedBy&&t.enterPartitionedBy(this)}exitRule(t){t.exitPartitionedBy&&t.exitPartitionedBy(this)}accept(t){return t.visitPartitionedBy?t.visitPartitionedBy(this):t.visitChildren(this)}}class Zc extends R{constructor(t,e){super(t,e)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_sortedBy}enterRule(t){t.enterSortedBy&&t.enterSortedBy(this)}exitRule(t){t.exitSortedBy&&t.exitSortedBy(this)}accept(t){return t.visitSortedBy?t.visitSortedBy(this):t.visitChildren(this)}}class hr extends R{constructor(t,e){super(t,e)}KW_DELIMITED(){return this.getToken(s.KW_DELIMITED,0)}KW_FIELDS(){return this.getToken(s.KW_FIELDS,0)}KW_TERMINATED(t){return t===void 0?this.getTokens(s.KW_TERMINATED):this.getToken(s.KW_TERMINATED,t)}KW_BY(t){return t===void 0?this.getTokens(s.KW_BY):this.getToken(s.KW_BY,t)}stringLiteral(t){return t===void 0?this.getRuleContexts(G):this.getRuleContext(t,G)}KW_LINES(){return this.getToken(s.KW_LINES,0)}KW_ESCAPED(){return this.getToken(s.KW_ESCAPED,0)}get ruleIndex(){return s.RULE_rowFormat}enterRule(t){t.enterRowFormat&&t.enterRowFormat(this)}exitRule(t){t.exitRowFormat&&t.exitRowFormat(this)}accept(t){return t.visitRowFormat?t.visitRowFormat(this):t.visitChildren(this)}}class or extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,b)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}class ar extends R{constructor(t,e){super(t,e)}queryTerm(){return this.getRuleContext(0,ye)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(h1):this.getRuleContext(t,h1)}KW_LIMIT(){return this.getToken(s.KW_LIMIT,0)}expression(){return this.getRuleContext(0,D)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_OFFSET(){return this.getToken(s.KW_OFFSET,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}get ruleIndex(){return s.RULE_queryNoWith}enterRule(t){t.enterQueryNoWith&&t.enterQueryNoWith(this)}exitRule(t){t.exitQueryNoWith&&t.exitQueryNoWith(this)}accept(t){return t.visitQueryNoWith?t.visitQueryNoWith(this):t.visitChildren(this)}}class ye extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_queryTerm}copyFrom(t){super.copyFrom(t)}}class Jc extends ye{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryPrimary(){return this.getRuleContext(0,O1)}enterRule(t){t.enterQueryTermDefault&&t.enterQueryTermDefault(this)}exitRule(t){t.exitQueryTermDefault&&t.exitQueryTermDefault(this)}accept(t){return t.visitQueryTermDefault?t.visitQueryTermDefault(this):t.visitChildren(this)}}class Vo extends ye{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryTerm(t){return t===void 0?this.getRuleContexts(ye):this.getRuleContext(t,ye)}KW_INTERSECT(){return this.getToken(s.KW_INTERSECT,0)}setQuantifier(){return this.getRuleContext(0,ls)}KW_UNION(){return this.getToken(s.KW_UNION,0)}KW_EXCEPT(){return this.getToken(s.KW_EXCEPT,0)}enterRule(t){t.enterSetOperation&&t.enterSetOperation(this)}exitRule(t){t.exitSetOperation&&t.exitSetOperation(this)}accept(t){return t.visitSetOperation?t.visitSetOperation(this):t.visitChildren(this)}}class O1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_queryPrimary}copyFrom(t){super.copyFrom(t)}}class qc extends O1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}queryNoWith(){return this.getRuleContext(0,ar)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterSubquery&&t.enterSubquery(this)}exitRule(t){t.exitSubquery&&t.exitSubquery(this)}accept(t){return t.visitSubquery?t.visitSubquery(this):t.visitChildren(this)}}class t7 extends O1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecification(){return this.getRuleContext(0,Po)}enterRule(t){t.enterQueryPrimaryDefault&&t.enterQueryPrimaryDefault(this)}exitRule(t){t.exitQueryPrimaryDefault&&t.exitQueryPrimaryDefault(this)}accept(t){return t.visitQueryPrimaryDefault?t.visitQueryPrimaryDefault(this):t.visitChildren(this)}}class e7 extends O1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}enterRule(t){t.enterTable&&t.enterTable(this)}exitRule(t){t.exitTable&&t.exitTable(this)}accept(t){return t.visitTable?t.visitTable(this):t.visitChildren(this)}}class s7 extends O1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}class h1 extends R{constructor(t,e){super(t,e)}columnItem(){return this.getRuleContext(0,fs)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}get ruleIndex(){return s.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}class Po extends R{constructor(t,e){super(t,e)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}selectItem(t){return t===void 0?this.getRuleContexts(ds):this.getRuleContext(t,ds)}setQuantifier(){return this.getRuleContext(0,ls)}KW_STRAIGHT_JOIN(){return this.getToken(s.KW_STRAIGHT_JOIN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_FROM(){return this.getToken(s.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_BY(){return this.getToken(s.KW_BY,0)}groupBy(){return this.getRuleContext(0,Go)}KW_HAVING(){return this.getToken(s.KW_HAVING,0)}booleanExpression(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}get ruleIndex(){return s.RULE_querySpecification}enterRule(t){t.enterQuerySpecification&&t.enterQuerySpecification(this)}exitRule(t){t.exitQuerySpecification&&t.exitQuerySpecification(this)}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}}class Go extends R{constructor(t,e){super(t,e)}groupingElement(t){return t===void 0?this.getRuleContexts(J0):this.getRuleContext(t,J0)}setQuantifier(){return this.getRuleContext(0,ls)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_groupBy}enterRule(t){t.enterGroupBy&&t.enterGroupBy(this)}exitRule(t){t.exitGroupBy&&t.exitGroupBy(this)}accept(t){return t.visitGroupBy?t.visitGroupBy(this):t.visitChildren(this)}}class J0 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_groupingElement}copyFrom(t){super.copyFrom(t)}}class i7 extends J0{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}groupingSet(){return this.getRuleContext(0,Yo)}enterRule(t){t.enterSingleGroupingSet&&t.enterSingleGroupingSet(this)}exitRule(t){t.exitSingleGroupingSet&&t.exitSingleGroupingSet(this)}accept(t){return t.visitSingleGroupingSet?t.visitSingleGroupingSet(this):t.visitChildren(this)}}class Yo extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}columnItem(t){return t===void 0?this.getRuleContexts(fs):this.getRuleContext(t,fs)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}class ur extends R{constructor(t,e){super(t,e)}KW_AS(){return this.getToken(s.KW_AS,0)}subQueryRelation(){return this.getRuleContext(0,Es)}identifier(){return this.getRuleContext(0,b)}columnAliases(){return this.getRuleContext(0,kt)}get ruleIndex(){return s.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}class ls extends R{constructor(t,e){super(t,e)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class ds extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_selectItem}copyFrom(t){super.copyFrom(t)}}class Qo extends ds{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}qualifiedName(){return this.getRuleContext(0,ft)}DOT(){return this.getToken(s.DOT,0)}ASTERISK(){return this.getToken(s.ASTERISK,0)}enterRule(t){t.enterSelectAll&&t.enterSelectAll(this)}exitRule(t){t.exitSelectAll&&t.exitSelectAll(this)}accept(t){return t.visitSelectAll?t.visitSelectAll(this):t.visitChildren(this)}}class n7 extends ds{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnItem(){return this.getRuleContext(0,fs)}identifier(){return this.getRuleContext(0,b)}KW_AS(){return this.getToken(s.KW_AS,0)}enterRule(t){t.enterSelectSingle&&t.enterSelectSingle(this)}exitRule(t){t.exitSelectSingle&&t.exitSelectSingle(this)}accept(t){return t.visitSelectSingle?t.visitSelectSingle(this):t.visitChildren(this)}}class It extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_relation}copyFrom(t){super.copyFrom(t)}}class r7 extends It{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}sampledRelation(){return this.getRuleContext(0,cr)}enterRule(t){t.enterRelationDefault&&t.enterRelationDefault(this)}exitRule(t){t.exitRelationDefault&&t.exitRelationDefault(this)}accept(t){return t.visitRelationDefault?t.visitRelationDefault(this):t.visitChildren(this)}}class h7 extends It{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_CROSS(){return this.getToken(s.KW_CROSS,0)}KW_JOIN(){return this.getToken(s.KW_JOIN,0)}joinType(){return this.getRuleContext(0,Xo)}joinCriteria(){return this.getRuleContext(0,$o)}sampledRelation(){return this.getRuleContext(0,cr)}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}class Xo extends R{constructor(t,e){super(t,e)}KW_INNER(){return this.getToken(s.KW_INNER,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_OUTER(){return this.getToken(s.KW_OUTER,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}KW_SEMI(){return this.getToken(s.KW_SEMI,0)}KW_ANTI(){return this.getToken(s.KW_ANTI,0)}get ruleIndex(){return s.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}class $o extends R{constructor(t,e){super(t,e)}KW_ON(){return this.getToken(s.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,Ct)}KW_USING(){return this.getToken(s.KW_USING,0)}LPAREN(){return this.getToken(s.LPAREN,0)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}class cr extends R{constructor(t,e){super(t,e)}aliasedRelation(){return this.getRuleContext(0,zo)}KW_TABLESAMPLE(){return this.getToken(s.KW_TABLESAMPLE,0)}sampleType(){return this.getRuleContext(0,jo)}LPAREN(t){return t===void 0?this.getTokens(s.LPAREN):this.getToken(s.LPAREN,t)}RPAREN(t){return t===void 0?this.getTokens(s.RPAREN):this.getToken(s.RPAREN,t)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}KW_REPEATABLE(){return this.getToken(s.KW_REPEATABLE,0)}get ruleIndex(){return s.RULE_sampledRelation}enterRule(t){t.enterSampledRelation&&t.enterSampledRelation(this)}exitRule(t){t.exitSampledRelation&&t.exitSampledRelation(this)}accept(t){return t.visitSampledRelation?t.visitSampledRelation(this):t.visitChildren(this)}}class jo extends R{constructor(t,e){super(t,e)}KW_BERNOULLI(){return this.getToken(s.KW_BERNOULLI,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}get ruleIndex(){return s.RULE_sampleType}enterRule(t){t.enterSampleType&&t.enterSampleType(this)}exitRule(t){t.exitSampleType&&t.exitSampleType(this)}accept(t){return t.visitSampleType?t.visitSampleType(this):t.visitChildren(this)}}class zo extends R{constructor(t,e){super(t,e)}relationPrimary(){return this.getRuleContext(0,Zo)}identifier(){return this.getRuleContext(0,b)}KW_AS(){return this.getToken(s.KW_AS,0)}columnAliases(){return this.getRuleContext(0,kt)}get ruleIndex(){return s.RULE_aliasedRelation}enterRule(t){t.enterAliasedRelation&&t.enterAliasedRelation(this)}exitRule(t){t.exitAliasedRelation&&t.exitAliasedRelation(this)}accept(t){return t.visitAliasedRelation?t.visitAliasedRelation(this):t.visitChildren(this)}}class kt extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}columnNamePath(t){return t===void 0?this.getRuleContexts(ce):this.getRuleContext(t,ce)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_columnAliases}enterRule(t){t.enterColumnAliases&&t.enterColumnAliases(this)}exitRule(t){t.exitColumnAliases&&t.exitColumnAliases(this)}accept(t){return t.visitColumnAliases?t.visitColumnAliases(this):t.visitChildren(this)}}class Zo extends R{constructor(t,e){super(t,e)}tableOrViewPath(){return this.getRuleContext(0,Uo)}subQueryRelation(){return this.getRuleContext(0,Es)}KW_LATERAL(){return this.getToken(s.KW_LATERAL,0)}unnest(){return this.getRuleContext(0,Jo)}parenthesizedRelation(){return this.getRuleContext(0,qo)}get ruleIndex(){return s.RULE_relationPrimary}enterRule(t){t.enterRelationPrimary&&t.enterRelationPrimary(this)}exitRule(t){t.exitRelationPrimary&&t.exitRelationPrimary(this)}accept(t){return t.visitRelationPrimary?t.visitRelationPrimary(this):t.visitChildren(this)}}class Es extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}queryStatement(){return this.getRuleContext(0,zt)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_subQueryRelation}enterRule(t){t.enterSubQueryRelation&&t.enterSubQueryRelation(this)}exitRule(t){t.exitSubQueryRelation&&t.exitSubQueryRelation(this)}accept(t){return t.visitSubQueryRelation?t.visitSubQueryRelation(this):t.visitChildren(this)}}class Jo extends R{constructor(t,e){super(t,e)}KW_UNNEST(){return this.getToken(s.KW_UNNEST,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_ORDINALITY(){return this.getToken(s.KW_ORDINALITY,0)}get ruleIndex(){return s.RULE_unnest}enterRule(t){t.enterUnnest&&t.enterUnnest(this)}exitRule(t){t.exitUnnest&&t.exitUnnest(this)}accept(t){return t.visitUnnest?t.visitUnnest(this):t.visitChildren(this)}}class qo extends R{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}relation(){return this.getRuleContext(0,It)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_parenthesizedRelation}enterRule(t){t.enterParenthesizedRelation&&t.enterParenthesizedRelation(this)}exitRule(t){t.exitParenthesizedRelation&&t.exitParenthesizedRelation(this)}accept(t){return t.visitParenthesizedRelation?t.visitParenthesizedRelation(this):t.visitChildren(this)}}class fs extends R{constructor(t,e){super(t,e)}columnNamePath(){return this.getRuleContext(0,ce)}expression(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_columnItem}enterRule(t){t.enterColumnItem&&t.enterColumnItem(this)}exitRule(t){t.exitColumnItem&&t.exitColumnItem(this)}accept(t){return t.visitColumnItem?t.visitColumnItem(this):t.visitChildren(this)}}class D extends R{constructor(t,e){super(t,e)}booleanExpression(){return this.getRuleContext(0,Ct)}get ruleIndex(){return s.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class Ct extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}class o7 extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NOT(){return this.getToken(s.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,Ct)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}class a7 extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,J)}predicate(){return this.getRuleContext(0,Zt)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}class ta extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_OR(){return this.getToken(s.KW_OR,0)}enterRule(t){t.enterLogicalBinary&&t.enterLogicalBinary(this)}exitRule(t){t.exitLogicalBinary&&t.exitLogicalBinary(this)}accept(t){return t.visitLogicalBinary?t.visitLogicalBinary(this):t.visitChildren(this)}}class Zt extends R{constructor(t,e,i){super(t,e),this.value=i}get ruleIndex(){return s.RULE_predicate}copyFrom(t){super.copyFrom(t),this.value=t.value}}class u7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_UNKNOWN(){return this.getToken(s.KW_UNKNOWN,0)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterNullOrUnKnownOrBooleanPredicate&&t.enterNullOrUnKnownOrBooleanPredicate(this)}exitRule(t){t.exitNullOrUnKnownOrBooleanPredicate&&t.exitNullOrUnKnownOrBooleanPredicate(this)}accept(t){return t.visitNullOrUnKnownOrBooleanPredicate?t.visitNullOrUnKnownOrBooleanPredicate(this):t.visitChildren(this)}}class c7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_REGEXP(){return this.getToken(s.KW_REGEXP,0)}KW_IREGEXP(){return this.getToken(s.KW_IREGEXP,0)}valueExpression(){return this.getRuleContext(0,J)}enterRule(t){t.enterREGEXP&&t.enterREGEXP(this)}exitRule(t){t.exitREGEXP&&t.exitREGEXP(this)}accept(t){return t.visitREGEXP?t.visitREGEXP(this):t.visitChildren(this)}}class l7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,lr)}valueExpression(){return this.getRuleContext(0,J)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}class d7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_ILIKE(){return this.getToken(s.KW_ILIKE,0)}KW_RLIKE(){return this.getToken(s.KW_RLIKE,0)}valueExpression(t){return t===void 0?this.getRuleContexts(J):this.getRuleContext(t,J)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterLike&&t.enterLike(this)}exitRule(t){t.exitLike&&t.exitLike(this)}accept(t){return t.visitLike?t.visitLike(this):t.visitChildren(this)}}class E7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(s.KW_IN,0)}subQueryRelation(){return this.getRuleContext(0,Es)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterInSubquery&&t.enterInSubquery(this)}exitRule(t){t.exitInSubquery&&t.exitInSubquery(this)}accept(t){return t.visitInSubquery?t.visitInSubquery(this):t.visitChildren(this)}}class f7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,J)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterDistinctFrom&&t.enterDistinctFrom(this)}exitRule(t){t.exitDistinctFrom&&t.exitDistinctFrom(this)}accept(t){return t.visitDistinctFrom?t.visitDistinctFrom(this):t.visitChildren(this)}}class R7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(s.KW_IN,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterInList&&t.enterInList(this)}exitRule(t){t.exitInList&&t.exitInList(this)}accept(t){return t.visitInList?t.visitInList(this):t.visitChildren(this)}}class T7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_AND(){return this.getToken(s.KW_AND,0)}valueExpression(t){return t===void 0?this.getRuleContexts(J):this.getRuleContext(t,J)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterBetween&&t.enterBetween(this)}exitRule(t){t.exitBetween&&t.exitBetween(this)}accept(t){return t.visitBetween?t.visitBetween(this):t.visitChildren(this)}}class A7 extends Zt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,lr)}comparisonQuantifier(){return this.getRuleContext(0,oa)}subQueryRelation(){return this.getRuleContext(0,Es)}enterRule(t){t.enterQuantifiedComparison&&t.enterQuantifiedComparison(this)}exitRule(t){t.exitQuantifiedComparison&&t.exitQuantifiedComparison(this)}accept(t){return t.visitQuantifiedComparison?t.visitQuantifiedComparison(this):t.visitChildren(this)}}class J extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}class g7 extends J{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,Y)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}class x7 extends J{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONCAT(){return this.getToken(s.CONCAT,0)}valueExpression(t){return t===void 0?this.getRuleContexts(J):this.getRuleContext(t,J)}enterRule(t){t.enterConcatenation&&t.enterConcatenation(this)}exitRule(t){t.exitConcatenation&&t.exitConcatenation(this)}accept(t){return t.visitConcatenation?t.visitConcatenation(this):t.visitChildren(this)}}class ea extends J{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(t){return t===void 0?this.getRuleContexts(J):this.getRuleContext(t,J)}ASTERISK(){return this.getToken(s.ASTERISK,0)}SLASH(){return this.getToken(s.SLASH,0)}PERCENT(){return this.getToken(s.PERCENT,0)}PLUS(){return this.getToken(s.PLUS,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}class _7 extends J{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,J)}MINUS(){return this.getToken(s.MINUS,0)}PLUS(){return this.getToken(s.PLUS,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}class Y extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}class C7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DOT(){return this.getToken(s.DOT,0)}primaryExpression(){return this.getRuleContext(0,Y)}identifier(){return this.getRuleContext(0,b)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}class sa extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,b)}stringLiteral(){return this.getRuleContext(0,G)}DOUBLE_PRECISION(){return this.getToken(s.DOUBLE_PRECISION,0)}enterRule(t){t.enterTypeConstructor&&t.enterTypeConstructor(this)}exitRule(t){t.exitTypeConstructor&&t.exitTypeConstructor(this)}accept(t){return t.visitTypeConstructor?t.visitTypeConstructor(this):t.visitChildren(this)}}class Rs extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(s.KW_CURRENT_TIME,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(s.KW_LOCALTIMESTAMP,0)}enterRule(t){t.enterSpecialDateTimeFunction&&t.enterSpecialDateTimeFunction(this)}exitRule(t){t.exitSpecialDateTimeFunction&&t.exitSpecialDateTimeFunction(this)}accept(t){return t.visitSpecialDateTimeFunction?t.visitSpecialDateTimeFunction(this):t.visitChildren(this)}}class N7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}LPAREN(){return this.getToken(s.LPAREN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(J):this.getRuleContext(t,J)}KW_FROM(){return this.getToken(s.KW_FROM,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}enterRule(t){t.enterSubstring&&t.enterSubstring(this)}exitRule(t){t.exitSubstring&&t.exitSubstring(this)}accept(t){return t.visitSubstring?t.visitSubstring(this):t.visitChildren(this)}}class ia extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CAST(){return this.getToken(s.KW_CAST,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(s.KW_AS,0)}type(){return this.getRuleContext(0,gt)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}class na extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RIGHT_ARROW(){return this.getToken(s.RIGHT_ARROW,0)}expression(){return this.getRuleContext(0,D)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterLambda&&t.enterLambda(this)}exitRule(t){t.exitLambda&&t.exitLambda(this)}accept(t){return t.visitLambda?t.visitLambda(this):t.visitChildren(this)}}class L7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(){return this.getRuleContext(0,D)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}class m7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}stringLiteral(){return this.getRuleContext(0,G)}enterRule(t){t.enterStringLiteralValues&&t.enterStringLiteralValues(this)}exitRule(t){t.exitStringLiteralValues&&t.exitStringLiteralValues(this)}accept(t){return t.visitStringLiteralValues?t.visitStringLiteralValues(this):t.visitChildren(this)}}class W7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUESTION(){return this.getToken(s.QUESTION,0)}enterRule(t){t.enterParameter&&t.enterParameter(this)}exitRule(t){t.exitParameter&&t.exitParameter(this)}accept(t){return t.visitParameter?t.visitParameter(this):t.visitChildren(this)}}class K7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NORMALIZE(){return this.getToken(s.KW_NORMALIZE,0)}LPAREN(){return this.getToken(s.LPAREN,0)}valueExpression(){return this.getRuleContext(0,J)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}normalForm(){return this.getRuleContext(0,la)}enterRule(t){t.enterNormalize&&t.enterNormalize(this)}exitRule(t){t.exitNormalize&&t.exitNormalize(this)}accept(t){return t.visitNormalize?t.visitNormalize(this):t.visitChildren(this)}}class S7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}interval(){return this.getRuleContext(0,ua)}enterRule(t){t.enterIntervalLiteral&&t.enterIntervalLiteral(this)}exitRule(t){t.exitIntervalLiteral&&t.exitIntervalLiteral(this)}accept(t){return t.visitIntervalLiteral?t.visitIntervalLiteral(this):t.visitChildren(this)}}class p7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}number(){return this.getRuleContext(0,Jt)}enterRule(t){t.enterNumericLiteral&&t.enterNumericLiteral(this)}exitRule(t){t.exitNumericLiteral&&t.exitNumericLiteral(this)}accept(t){return t.visitNumericLiteral?t.visitNumericLiteral(this):t.visitChildren(this)}}class O7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanValue(){return this.getRuleContext(0,aa)}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}class k7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}valueExpression(){return this.getRuleContext(0,J)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(Ts):this.getRuleContext(t,Ts)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,D)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}class y7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,b)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}class w7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NULL(){return this.getToken(s.KW_NULL,0)}enterRule(t){t.enterNullLiteral&&t.enterNullLiteral(this)}exitRule(t){t.exitNullLiteral&&t.exitNullLiteral(this)}accept(t){return t.visitNullLiteral?t.visitNullLiteral(this):t.visitChildren(this)}}class ra extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_AS(t){return t===void 0?this.getTokens(s.KW_AS):this.getToken(s.KW_AS,t)}type_(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_ROW(){return this.getToken(s.KW_ROW,0)}enterRule(t){t.enterRowConstructor&&t.enterRowConstructor(this)}exitRule(t){t.exitRowConstructor&&t.exitRowConstructor(this)}accept(t){return t.visitRowConstructor?t.visitRowConstructor(this):t.visitChildren(this)}}class U7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LSQUARE(){return this.getToken(s.LSQUARE,0)}RSQUARE(){return this.getToken(s.RSQUARE,0)}primaryExpression(){return this.getRuleContext(0,Y)}valueExpression(){return this.getRuleContext(0,J)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}class v7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_PATH(){return this.getToken(s.KW_CURRENT_PATH,0)}enterRule(t){t.enterCurrentPath&&t.enterCurrentPath(this)}exitRule(t){t.exitCurrentPath&&t.exitCurrentPath(this)}accept(t){return t.visitCurrentPath?t.visitCurrentPath(this):t.visitChildren(this)}}class D7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}queryStatement(){return this.getRuleContext(0,zt)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}class b7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BINARY_LITERAL(){return this.getToken(s.BINARY_LITERAL,0)}enterRule(t){t.enterBinaryLiteral&&t.enterBinaryLiteral(this)}exitRule(t){t.exitBinaryLiteral&&t.exitBinaryLiteral(this)}accept(t){return t.visitBinaryLiteral?t.visitBinaryLiteral(this):t.visitChildren(this)}}class I7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_USER(){return this.getToken(s.KW_CURRENT_USER,0)}enterRule(t){t.enterCurrentUser&&t.enterCurrentUser(this)}exitRule(t){t.exitCurrentUser&&t.exitCurrentUser(this)}accept(t){return t.visitCurrentUser?t.visitCurrentUser(this):t.visitChildren(this)}}class M7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}LPAREN(){return this.getToken(s.LPAREN,0)}identifier(){return this.getRuleContext(0,b)}KW_FROM(){return this.getToken(s.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,J)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterExtract&&t.enterExtract(this)}exitRule(t){t.exitExtract&&t.exitExtract(this)}accept(t){return t.visitExtract?t.visitExtract(this):t.visitChildren(this)}}class F7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}LSQUARE(){return this.getToken(s.LSQUARE,0)}RSQUARE(){return this.getToken(s.RSQUARE,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterArrayConstructor&&t.enterArrayConstructor(this)}exitRule(t){t.exitArrayConstructor&&t.exitArrayConstructor(this)}accept(t){return t.visitArrayConstructor?t.visitArrayConstructor(this):t.visitChildren(this)}}class ha extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionNamePath(){return this.getRuleContext(0,$0)}LPAREN(){return this.getToken(s.LPAREN,0)}ASTERISK(){return this.getToken(s.ASTERISK,0)}RPAREN(){return this.getToken(s.RPAREN,0)}filter(){return this.getRuleContext(0,fa)}over(){return this.getRuleContext(0,Ra)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(h1):this.getRuleContext(t,h1)}setQuantifier(){return this.getRuleContext(0,ls)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}class H7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}LPAREN(){return this.getToken(s.LPAREN,0)}queryStatement(){return this.getRuleContext(0,zt)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}class B7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(J):this.getRuleContext(t,J)}KW_IN(){return this.getToken(s.KW_IN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}class V7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(Ts):this.getRuleContext(t,Ts)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,D)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}class P7 extends Y{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}qualifiedName(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterGroupingOperation&&t.enterGroupingOperation(this)}exitRule(t){t.exitGroupingOperation&&t.exitGroupingOperation(this)}accept(t){return t.visitGroupingOperation?t.visitGroupingOperation(this):t.visitChildren(this)}}class G extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_stringLiteral}copyFrom(t){super.copyFrom(t)}}class G7 extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNICODE_STRING(){return this.getToken(s.UNICODE_STRING,0)}KW_UESCAPE(){return this.getToken(s.KW_UESCAPE,0)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterUnicodeStringLiteral&&t.enterUnicodeStringLiteral(this)}exitRule(t){t.exitUnicodeStringLiteral&&t.exitUnicodeStringLiteral(this)}accept(t){return t.visitUnicodeStringLiteral?t.visitUnicodeStringLiteral(this):t.visitChildren(this)}}class Y7 extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterBasicStringLiteral&&t.enterBasicStringLiteral(this)}exitRule(t){t.exitBasicStringLiteral&&t.exitBasicStringLiteral(this)}accept(t){return t.visitBasicStringLiteral?t.visitBasicStringLiteral(this):t.visitChildren(this)}}class lr extends R{constructor(t,e){super(t,e)}EQ(){return this.getToken(s.EQ,0)}NEQ(){return this.getToken(s.NEQ,0)}LT(){return this.getToken(s.LT,0)}LTE(){return this.getToken(s.LTE,0)}GT(){return this.getToken(s.GT,0)}GTE(){return this.getToken(s.GTE,0)}get ruleIndex(){return s.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class oa extends R{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_SOME(){return this.getToken(s.KW_SOME,0)}KW_ANY(){return this.getToken(s.KW_ANY,0)}get ruleIndex(){return s.RULE_comparisonQuantifier}enterRule(t){t.enterComparisonQuantifier&&t.enterComparisonQuantifier(this)}exitRule(t){t.exitComparisonQuantifier&&t.exitComparisonQuantifier(this)}accept(t){return t.visitComparisonQuantifier?t.visitComparisonQuantifier(this):t.visitChildren(this)}}class aa extends R{constructor(t,e){super(t,e)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}get ruleIndex(){return s.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}class ua extends R{constructor(t,e){super(t,e)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}intervalField(){return this.getRuleContext(0,ca)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}get ruleIndex(){return s.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}class ca extends R{constructor(t,e){super(t,e)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_YEARS(){return this.getToken(s.KW_YEARS,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_HOURS(){return this.getToken(s.KW_HOURS,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}get ruleIndex(){return s.RULE_intervalField}enterRule(t){t.enterIntervalField&&t.enterIntervalField(this)}exitRule(t){t.exitIntervalField&&t.exitIntervalField(this)}accept(t){return t.visitIntervalField?t.visitIntervalField(this):t.visitChildren(this)}}class la extends R{constructor(t,e){super(t,e)}KW_NFD(){return this.getToken(s.KW_NFD,0)}KW_NFC(){return this.getToken(s.KW_NFC,0)}KW_NFKD(){return this.getToken(s.KW_NFKD,0)}KW_NFKC(){return this.getToken(s.KW_NFKC,0)}get ruleIndex(){return s.RULE_normalForm}enterRule(t){t.enterNormalForm&&t.enterNormalForm(this)}exitRule(t){t.exitNormalForm&&t.exitNormalForm(this)}accept(t){return t.visitNormalForm?t.visitNormalForm(this):t.visitChildren(this)}}class gt extends R{constructor(t,e){super(t,e)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}LT(){return this.getToken(s.LT,0)}type_(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}GT(){return this.getToken(s.GT,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_STRUCT(){return this.getToken(s.KW_STRUCT,0)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}baseType(){return this.getRuleContext(0,Ea)}dataType(){return this.getRuleContext(0,da)}LPAREN(){return this.getToken(s.LPAREN,0)}typeParameter(t){return t===void 0?this.getRuleContexts(dr):this.getRuleContext(t,dr)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}class da extends R{constructor(t,e){super(t,e)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_BINARY(){return this.getToken(s.KW_BINARY,0)}KW_BIGINT(){return this.getToken(s.KW_BIGINT,0)}KW_BOOLEAN(){return this.getToken(s.KW_BOOLEAN,0)}KW_CHAR(){return this.getToken(s.KW_CHAR,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DECIMAL(){return this.getToken(s.KW_DECIMAL,0)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}KW_FLOAT(){return this.getToken(s.KW_FLOAT,0)}KW_INT(){return this.getToken(s.KW_INT,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_REAL(){return this.getToken(s.KW_REAL,0)}KW_SMALLINT(){return this.getToken(s.KW_SMALLINT,0)}KW_STRING(){return this.getToken(s.KW_STRING,0)}KW_STRUCT(){return this.getToken(s.KW_STRUCT,0)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_TINYINT(){return this.getToken(s.KW_TINYINT,0)}KW_VARCHAR(){return this.getToken(s.KW_VARCHAR,0)}KW_COMPLEX(){return this.getToken(s.KW_COMPLEX,0)}get ruleIndex(){return s.RULE_dataType}enterRule(t){t.enterDataType&&t.enterDataType(this)}exitRule(t){t.exitDataType&&t.exitDataType(this)}accept(t){return t.visitDataType?t.visitDataType(this):t.visitChildren(this)}}class dr extends R{constructor(t,e){super(t,e)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}type(){return this.getRuleContext(0,gt)}get ruleIndex(){return s.RULE_typeParameter}enterRule(t){t.enterTypeParameter&&t.enterTypeParameter(this)}exitRule(t){t.exitTypeParameter&&t.exitTypeParameter(this)}accept(t){return t.visitTypeParameter?t.visitTypeParameter(this):t.visitChildren(this)}}class Ea extends R{constructor(t,e){super(t,e)}TIME_WITH_TIME_ZONE(){return this.getToken(s.TIME_WITH_TIME_ZONE,0)}TIMESTAMP_WITH_TIME_ZONE(){return this.getToken(s.TIMESTAMP_WITH_TIME_ZONE,0)}DOUBLE_PRECISION(){return this.getToken(s.DOUBLE_PRECISION,0)}identifier(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_baseType}enterRule(t){t.enterBaseType&&t.enterBaseType(this)}exitRule(t){t.exitBaseType&&t.exitBaseType(this)}accept(t){return t.visitBaseType?t.visitBaseType(this):t.visitChildren(this)}}class Ts extends R{constructor(t,e){super(t,e)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}get ruleIndex(){return s.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class fa extends R{constructor(t,e){super(t,e)}KW_FILTER(){return this.getToken(s.KW_FILTER,0)}LPAREN(){return this.getToken(s.LPAREN,0)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_filter}enterRule(t){t.enterFilter&&t.enterFilter(this)}exitRule(t){t.exitFilter&&t.exitFilter(this)}accept(t){return t.visitFilter?t.visitFilter(this):t.visitChildren(this)}}class Ra extends R{constructor(t,e){super(t,e),this._partition=[]}KW_OVER(){return this.getToken(s.KW_OVER,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(s.KW_BY):this.getToken(s.KW_BY,t)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}sortItem(t){return t===void 0?this.getRuleContexts(h1):this.getRuleContext(t,h1)}windowFrame(){return this.getRuleContext(0,Ta)}expression(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_over}enterRule(t){t.enterOver&&t.enterOver(this)}exitRule(t){t.exitOver&&t.exitOver(this)}accept(t){return t.visitOver?t.visitOver(this):t.visitChildren(this)}}class Ta extends R{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}frameBound(t){return t===void 0?this.getRuleContexts(k1):this.getRuleContext(t,k1)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_AND(){return this.getToken(s.KW_AND,0)}get ruleIndex(){return s.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class k1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_frameBound}copyFrom(t){super.copyFrom(t)}}class Q7 extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,D)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}enterRule(t){t.enterBoundedFrame&&t.enterBoundedFrame(this)}exitRule(t){t.exitBoundedFrame&&t.exitBoundedFrame(this)}accept(t){return t.visitBoundedFrame?t.visitBoundedFrame(this):t.visitChildren(this)}}class Aa extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNBOUNDED(){return this.getToken(s.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}enterRule(t){t.enterUnboundedFrame&&t.enterUnboundedFrame(this)}exitRule(t){t.exitUnboundedFrame&&t.exitUnboundedFrame(this)}accept(t){return t.visitUnboundedFrame?t.visitUnboundedFrame(this):t.visitChildren(this)}}class X7 extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}enterRule(t){t.enterCurrentRowBound&&t.enterCurrentRowBound(this)}exitRule(t){t.exitCurrentRowBound&&t.exitCurrentRowBound(this)}accept(t){return t.visitCurrentRowBound?t.visitCurrentRowBound(this):t.visitChildren(this)}}class As extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_pathElement}copyFrom(t){super.copyFrom(t)}}class $7 extends As{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}DOT(){return this.getToken(s.DOT,0)}enterRule(t){t.enterQualifiedArgument&&t.enterQualifiedArgument(this)}exitRule(t){t.exitQualifiedArgument&&t.exitQualifiedArgument(this)}accept(t){return t.visitQualifiedArgument?t.visitQualifiedArgument(this):t.visitChildren(this)}}class j7 extends As{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,b)}enterRule(t){t.enterUnqualifiedArgument&&t.enterUnqualifiedArgument(this)}exitRule(t){t.exitUnqualifiedArgument&&t.exitUnqualifiedArgument(this)}accept(t){return t.visitUnqualifiedArgument?t.visitUnqualifiedArgument(this):t.visitChildren(this)}}class z7 extends R{constructor(t,e){super(t,e)}pathElement(t){return t===void 0?this.getRuleContexts(As):this.getRuleContext(t,As)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_pathSpecification}enterRule(t){t.enterPathSpecification&&t.enterPathSpecification(this)}exitRule(t){t.exitPathSpecification&&t.exitPathSpecification(this)}accept(t){return t.visitPathSpecification?t.visitPathSpecification(this):t.visitChildren(this)}}class Er extends R{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}identifier(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_privilege}enterRule(t){t.enterPrivilege&&t.enterPrivilege(this)}exitRule(t){t.exitPrivilege&&t.exitPrivilege(this)}accept(t){return t.visitPrivilege?t.visitPrivilege(this):t.visitChildren(this)}}class fr extends R{constructor(t,e){super(t,e)}KW_SERVER(){return this.getToken(s.KW_SERVER,0)}KW_URI(){return this.getToken(s.KW_URI,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}get ruleIndex(){return s.RULE_objectType}enterRule(t){t.enterObjectType&&t.enterObjectType(this)}exitRule(t){t.exitObjectType&&t.exitObjectType(this)}accept(t){return t.visitObjectType?t.visitObjectType(this):t.visitChildren(this)}}class ft extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class y1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_principal}copyFrom(t){super.copyFrom(t)}}class Z7 extends y1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}identifier(){return this.getRuleContext(0,b)}enterRule(t){t.enterGroupPrincipal&&t.enterGroupPrincipal(this)}exitRule(t){t.exitGroupPrincipal&&t.exitGroupPrincipal(this)}accept(t){return t.visitGroupPrincipal?t.visitGroupPrincipal(this):t.visitChildren(this)}}class J7 extends y1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,b)}enterRule(t){t.enterRolePrincipal&&t.enterRolePrincipal(this)}exitRule(t){t.exitRolePrincipal&&t.exitRolePrincipal(this)}accept(t){return t.visitRolePrincipal?t.visitRolePrincipal(this):t.visitChildren(this)}}class q7 extends y1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USER(){return this.getToken(s.KW_USER,0)}identifier(){return this.getRuleContext(0,b)}enterRule(t){t.enterUserPrincipal&&t.enterUserPrincipal(this)}exitRule(t){t.exitUserPrincipal&&t.exitUserPrincipal(this)}accept(t){return t.visitUserPrincipal?t.visitUserPrincipal(this):t.visitChildren(this)}}class b extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_identifier}copyFrom(t){super.copyFrom(t)}}class tl extends b{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BACKQUOTED_IDENTIFIER(){return this.getToken(s.BACKQUOTED_IDENTIFIER,0)}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}class el extends b{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class sl extends b{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DIGIT_IDENTIFIER(){return this.getToken(s.DIGIT_IDENTIFIER,0)}enterRule(t){t.enterDigitIdentifier&&t.enterDigitIdentifier(this)}exitRule(t){t.exitDigitIdentifier&&t.exitDigitIdentifier(this)}accept(t){return t.visitDigitIdentifier?t.visitDigitIdentifier(this):t.visitChildren(this)}}class ga extends b{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IDENTIFIER(){return this.getToken(s.IDENTIFIER,0)}nonReserved(){return this.getRuleContext(0,_a)}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}class Jt extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_number}copyFrom(t){super.copyFrom(t)}}class il extends Jt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DECIMAL_VALUE(){return this.getToken(s.DECIMAL_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}class nl extends Jt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DOUBLE_VALUE(){return this.getToken(s.DOUBLE_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterDoubleLiteral&&t.enterDoubleLiteral(this)}exitRule(t){t.exitDoubleLiteral&&t.exitDoubleLiteral(this)}accept(t){return t.visitDoubleLiteral?t.visitDoubleLiteral(this):t.visitChildren(this)}}class rl extends Jt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterIntegerLiteral&&t.enterIntegerLiteral(this)}exitRule(t){t.exitIntegerLiteral&&t.exitIntegerLiteral(this)}accept(t){return t.visitIntegerLiteral?t.visitIntegerLiteral(this):t.visitChildren(this)}}class xa extends R{constructor(t,e){super(t,e)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}KW_CAST(){return this.getToken(s.KW_CAST,0)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_USER(){return this.getToken(s.KW_USER,0)}get ruleIndex(){return s.RULE_reservedKeywordsUsedAsFuncName}enterRule(t){t.enterReservedKeywordsUsedAsFuncName&&t.enterReservedKeywordsUsedAsFuncName(this)}exitRule(t){t.exitReservedKeywordsUsedAsFuncName&&t.exitReservedKeywordsUsedAsFuncName(this)}accept(t){return t.visitReservedKeywordsUsedAsFuncName?t.visitReservedKeywordsUsedAsFuncName(this):t.visitChildren(this)}}class _a extends R{constructor(t,e){super(t,e)}KW_BERNOULLI(){return this.getToken(s.KW_BERNOULLI,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_NFC(){return this.getToken(s.KW_NFC,0)}KW_NFD(){return this.getToken(s.KW_NFD,0)}KW_NFKC(){return this.getToken(s.KW_NFKC,0)}KW_NFKD(){return this.getToken(s.KW_NFKD,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_ORDINALITY(){return this.getToken(s.KW_ORDINALITY,0)}KW_PRIVILEGES(){return this.getToken(s.KW_PRIVILEGES,0)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_VIEWS(){return this.getToken(s.KW_VIEWS,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_ORC(){return this.getToken(s.KW_ORC,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(s.KW_CURRENT_USER,0)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_SHUTDOWN(){return this.getToken(s.KW_SHUTDOWN,0)}get ruleIndex(){return s.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}var hl=Object.defineProperty,ot=(n,t)=>hl(n,"name",{value:t,configurable:!0}),we=(a0=class{constructor(t=""){l(this,"name");l(this,"context");l(this,"modifiers",new Set);l(this,"visibility",0);Z(this,dt,void 0);this.name=t}get parent(){return L(this,dt)}get firstSibling(){var t;if(L(this,dt))return(t=L(this,dt))==null?void 0:t.firstChild}get previousSibling(){if(L(this,dt))return L(this,dt)?L(this,dt).previousSiblingOf(this):this}get nextSibling(){var t;return(t=L(this,dt))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=L(this,dt))==null?void 0:t.lastChild}get next(){var t;return(t=L(this,dt))==null?void 0:t.nextOf(this)}get root(){let t=L(this,dt);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=L(this,dt);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),!!e.parent);)e=e.parent;return t}setParent(t){Q(this,dt,t)}removeFromParent(){var t;(t=L(this,dt))==null||t.removeSymbol(this),Q(this,dt,void 0)}async resolve(t,e=!1){var i;return(i=L(this,dt))==null?void 0:i.resolve(t,e)}resolveSync(t,e=!1){var i;return(i=L(this,dt))==null?void 0:i.resolveSync(t,e)}getParentOfType(t){let e=L(this,dt);for(;e;){if(e instanceof t)return e;e=e.parent}}qualifiedName(t=".",e=!1,i=!1){if(!i&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=L(this,dt);for(;h&&((i||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!e||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},dt=new WeakMap,ot(a0,"BaseSymbol"),a0);u0=class extends we{constructor(e,i,r,h=0){super(e);l(this,"elementType");l(this,"size");l(this,"referenceKind");this.referenceKind=i,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ot(u0,"ArrayType");var Ca=(c0=class extends Error{},ot(c0,"DuplicateSymbolError"),c0),Ue=(Gt=class extends we{constructor(e=""){super(e);Z(this,it,[]);Z(this,Ee,new Map)}get directScopes(){return this.getSymbolsOfType(Gt)}get children(){return L(this,it)}get firstChild(){if(L(this,it).length>0)return L(this,it)[0]}get lastChild(){if(L(this,it).length>0)return L(this,it)[L(this,it).length-1]}clear(){Q(this,it,[]),L(this,Ee).clear()}addSymbol(e){e.removeFromParent();const i=this.symbolTable,r=L(this,Ee).get(e.name);if(!i||!i.options.allowDuplicateSymbols){if(r!==void 0)throw new Ca("Attempt to add duplicate symbol '"+(e.name??"")+"'");if(L(this,Ee).set(e.name,1),L(this,it).indexOf(e)>-1)throw new Ca("Attempt to add duplicate symbol '"+(e.name??"")+"'")}else L(this,Ee).set(e.name,r===void 0?1:r+1);L(this,it).push(e),e.setParent(this)}removeSymbol(e){const i=L(this,it).indexOf(e);if(i>-1){L(this,it).splice(i,1),e.setParent(void 0);const r=L(this,Ee).get(e.name);r!==void 0&&(r===1?L(this,Ee).delete(e.name):L(this,Ee).set(e.name,r-1))}}async getNestedSymbolsOfType(e){const i=[],r=[];return L(this,it).forEach(o=>{o instanceof e&&i.push(o),o instanceof Gt&&r.push(o.getNestedSymbolsOfType(e))}),(await Promise.all(r)).forEach(o=>{i.push(...o)}),i}getNestedSymbolsOfTypeSync(e){const i=[];return L(this,it).forEach(r=>{r instanceof e&&i.push(r),r instanceof Gt&&i.push(...r.getNestedSymbolsOfTypeSync(e))}),i}async getAllNestedSymbols(e){const i=[],r=[];return L(this,it).forEach(o=>{(!e||o.name===e)&&i.push(o),o instanceof Gt&&r.push(o.getAllNestedSymbols(e))}),(await Promise.all(r)).forEach(o=>{i.push(...o)}),i}getAllNestedSymbolsSync(e){const i=[];return L(this,it).forEach(r=>{(!e||r.name===e)&&i.push(r),r instanceof Gt&&i.push(...r.getAllNestedSymbolsSync(e))}),i}getSymbolsOfType(e){return new Promise(i=>{const r=[];L(this,it).forEach(h=>{h instanceof e&&r.push(h)}),i(r)})}async getAllSymbols(e,i=!1){const r=[];for(const h of L(this,it))if(h instanceof e&&r.push(h),this.isNamespace(h)){const o=await h.getAllSymbols(e,!0);r.push(...o)}if(!i&&this.parent){const h=await this.getAllSymbols(e,!0);r.push(...h)}return r}getAllSymbolsSync(e,i=!1){const r=[];for(const h of L(this,it))if(h instanceof e&&r.push(h),this.isNamespace(h)){const o=h.getAllSymbolsSync(e,!0);r.push(...o)}if(!i&&this.parent){const h=this.getAllSymbolsSync(e,!0);r.push(...h)}return r}async resolve(e,i=!1){return new Promise(r=>{for(const h of L(this,it))if(h.name===e){r(h);return}if(!i&&this.parent){r(this.parent.resolve(e,!1));return}r(void 0)})}resolveSync(e,i=!1){for(const r of L(this,it))if(r.name===e)return r;if(!i&&this.parent)return this.parent.resolveSync(e,!1)}symbolFromPath(e,i="."){const r=e.split(i);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let o=this;for(;hu.name===r[h]);if(!a)return;o=a,++h}return o}indexOfChild(e){return L(this,it).findIndex(i=>i===e)}nextSiblingOf(e){const i=this.indexOfChild(e);if(!(i===-1||i>=L(this,it).length-1))return L(this,it)[i+1]}previousSiblingOf(e){const i=this.indexOfChild(e);if(!(i<1))return L(this,it)[i-1]}nextOf(e){if(!e.parent)return;if(e.parent!==this)return e.parent.nextOf(e);if(e instanceof Gt&&e.children.length>0)return e.children[0];const i=this.nextSiblingOf(e);return i||this.parent.nextOf(this)}isNamespace(e){return e.inline!==void 0&&e.attributes!==void 0}},it=new WeakMap,Ee=new WeakMap,ot(Gt,"ScopedSymbol"),Gt);l0=class extends Ue{},ot(l0,"BlockSymbol");var Na=(d0=class extends we{constructor(e,i){super(e);l(this,"type");this.type=i}},ot(d0,"TypedSymbol"),d0),Rr=(E0=class extends Na{constructor(e,i,r){super(e,r);l(this,"value");this.value=i}},ot(E0,"VariableSymbol"),E0),La=(f0=class extends Rr{constructor(){super(...arguments);l(this,"setter");l(this,"getter")}},ot(f0,"FieldSymbol"),f0),ol=(R0=class extends Rr{},ot(R0,"ParameterSymbol"),R0),al=(T0=class extends Ue{constructor(e,i){super(e);l(this,"returnType");this.returnType=i}getVariables(e=!0){return this.getSymbolsOfType(Rr)}getParameters(e=!0){return this.getSymbolsOfType(ol)}},ot(T0,"RoutineSymbol"),T0),ma=(A0=class extends al{constructor(){super(...arguments);l(this,"methodFlags",0)}},ot(A0,"MethodSymbol"),A0);g0=class extends Ue{constructor(e,i,r){super(e);l(this,"isStruct",!1);l(this,"reference",0);l(this,"extends");l(this,"implements");this.extends=i,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(e=!1){return this.getSymbolsOfType(ma)}getFields(e=!1){return this.getSymbolsOfType(La)}},ot(g0,"ClassSymbol"),Ft=class{constructor(t,e=0,i=0){l(this,"name");l(this,"typeKind");l(this,"referenceKind");this.name=t,this.typeKind=e,this.referenceKind=i}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ot(Ft,"FundamentalType"),l(Ft,"integerType",new Ft("int",1,3)),l(Ft,"floatType",new Ft("float",2,3)),l(Ft,"stringType",new Ft("string",4,3)),l(Ft,"boolType",new Ft("bool",6,3)),x0=class extends Ue{constructor(e,i){super(e);l(this,"reference",0);l(this,"extends");this.extends=i}get baseTypes(){return this.extends}get kind(){return 8}getMethods(e=!1){return this.getSymbolsOfType(ma)}getFields(e=!1){return this.getSymbolsOfType(La)}},ot(x0,"InterfaceSymbol"),_0=class extends Na{constructor(e,i,r){super(e,r);l(this,"value");this.value=i}},ot(_0,"LiteralSymbol");var q0=(C0=class extends Ue{constructor(e,i=!1,r=[]){super(e);l(this,"inline");l(this,"attributes");this.inline=i,this.attributes=r}},ot(C0,"NamespaceSymbol"),C0);N0=class extends we{constructor(e,i){super(e);l(this,"targetType");this.targetType=i}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ot(N0,"TypeAlias");var ul=ot((n,t)=>{if(!n||!t)return[];let e;for(e=0;e=t||a.type===N.EOF)||a.type===N.EOF)break}const h=[],o=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const u of this.candidates.rules){let c="";for(const d of u[1].ruleList)c+=this.ruleNames[d]+" ";console.log(this.ruleNames[u[0]]+", path: ",c)}const a=new Set;for(const u of this.candidates.tokens){let c=this.vocabulary.getDisplayName(u[0])??"";for(const d of u[1])c+=" "+this.vocabulary.getDisplayName(d);a.add(c)}console.log(` - -Collected tokens: -`);for(const u of a)console.log(u);console.log(` - -`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;ea);let o=!0;for(const a of this.candidates.rules)if(!(a[0]!==i||a[1].ruleList.length!==h.length)&&h.every((u,c)=>u===a[1].ruleList[c])){o=!1;break}return o&&(this.candidates.rules.set(i,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[i])),!0}return!1}getFollowingTokens(t){const e=[],i=[t.target];for(;i.length>0;){const r=i.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===k.ATOM)if(h.isEpsilon)i.push(h.target);else{const o=h.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(e.push(o[0]),i.push(h.target))}})}return e}determineFollowSets(t,e){const i=[],r=[],h=[],o=this.collectFollowSets(t,e,i,r,h),a=new Lt;for(const u of i)a.addSet(u.intervals);return{sets:i,isExhaustive:o,combined:a}}collectFollowSets(t,e,i,r,h){if(r.find(a=>a===t))return!0;if(r.push(t),t===e||t.stateType===V.RULE_STOP)return r.pop(),!1;let o=!0;for(const a of t.transitions)if(a.serializationType===k.RULE){const u=a;if(h.indexOf(u.target.ruleIndex)!==-1)continue;h.push(u.target.ruleIndex);const c=this.collectFollowSets(a.target,e,i,r,h);if(h.pop(),!c){const d=this.collectFollowSets(u.followState,e,i,r,h);o&&(o=d)}}else if(a.serializationType===k.PREDICATE){if(this.checkPredicate(a)){const u=this.collectFollowSets(a.target,e,i,r,h);o&&(o=u)}}else if(a.isEpsilon){const u=this.collectFollowSets(a.target,e,i,r,h);o&&(o=u)}else if(a.serializationType===k.WILDCARD){const u=new Wa;u.intervals=Lt.of(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),u.path=h.slice(),i.push(u)}else{let u=a.label;if(u&&u.length>0){a.serializationType===k.NOT_SET&&(u=u.complement(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const c=new Wa;c.intervals=u??new Lt,c.path=h.slice(),c.following=this.getFollowingTokens(a),i.push(c)}}return r.pop(),o}processRule(t,e,i,r,h){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(e))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(e);const a=new Set;let u=ee.followSetsByATN.get(this.parser.constructor.name);u||(u=new Map,ee.followSetsByATN.set(this.parser.constructor.name,u));let c=u.get(t.stateNumber);if(!c){const C=this.atn.ruleToStopState[t.ruleIndex];c=this.determineFollowSets(t,C),u.set(t.stateNumber,c)}const d=this.tokens[e].tokenIndex;if(i.push({startTokenIndex:d,ruleIndex:t.ruleIndex}),e>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(i);else for(const C of c.sets){const W=i.slice(),S=C.path.map(p=>({startTokenIndex:d,ruleIndex:p}));if(W.push(...S),!this.translateStackToRuleIndex(W))for(const p of C.intervals.toArray())this.ignoredTokens.has(p)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(p)),this.candidates.tokens.has(p)?this.candidates.tokens.get(p)!==C.following&&this.candidates.tokens.set(p,[]):this.candidates.tokens.set(p,C.following))}return c.isExhaustive||a.add(e),i.pop(),a}else{const C=this.tokens[e].type;if(c.isExhaustive&&!c.combined.contains(C))return i.pop(),a}t.isPrecedenceRule&&this.precedenceStack.push(r);const f=[];let T;for(f.push({state:t,tokenListIndex:e});f.length>0;){T=f.pop(),++this.statesProcessed;const C=this.tokens[T.tokenListIndex].type,W=T.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,T.state,this.generateBaseDescription(T.state),T.tokenListIndex),this.showRuleStack&&this.printRuleState(i)),T.state.stateType===V.RULE_STOP){a.add(T.tokenListIndex);continue}const S=T.state.transitions;for(const p of S)switch(p.serializationType){case k.RULE:{const U=p,_=this.processRule(p.target,T.tokenListIndex,i,U.precedence,h+1);for(const x of _)f.push({state:p.followState,tokenListIndex:x});break}case k.PREDICATE:{this.checkPredicate(p)&&f.push({state:p.target,tokenListIndex:T.tokenListIndex});break}case k.PRECEDENCE:{p.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&f.push({state:p.target,tokenListIndex:T.tokenListIndex});break}case k.WILDCARD:{if(W){if(!this.translateStackToRuleIndex(i))for(const U of Lt.of(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(U)||this.candidates.tokens.set(U,[])}else f.push({state:p.target,tokenListIndex:T.tokenListIndex+1});break}default:{if(p.isEpsilon){f.push({state:p.target,tokenListIndex:T.tokenListIndex});continue}let U=p.label;if(U&&U.length>0)if(p.serializationType===k.NOT_SET&&(U=U.complement(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),W){if(!this.translateStackToRuleIndex(i)){const _=U.toArray(),x=_.length===1;for(const m of _)if(!this.ignoredTokens.has(m)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(m));const K=x?this.getFollowingTokens(p):[];this.candidates.tokens.has(m)?this.candidates.tokens.set(m,ul(K,this.candidates.tokens.get(m))):this.candidates.tokens.set(m,K)}}}else U.contains(C)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(C)),f.push({state:p.target,tokenListIndex:T.tokenListIndex+1}))}}}return i.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(e,a),a}generateBaseDescription(t){return`[${t.stateNumber===he.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${ee.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,e,i,r){const h=" ".repeat(t);let o=h,a="";if(this.debugOutputWithTransitions)for(const u of e.transitions){let c="";const d=u.label?u.label.toArray():[];if(d.length>2)c=this.vocabulary.getDisplayName(d[0])+" .. "+this.vocabulary.getDisplayName(d[d.length-1]);else for(const f of d)c.length>0&&(c+=", "),c+=this.vocabulary.getDisplayName(f);c.length===0&&(c="ε"),a+=` -${h} (${c}) [${u.target.stateNumber} ${ee.atnStateTypeMap[u.target.stateType]}] in ${this.ruleNames[u.target.ruleIndex]}`}r>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+r}>> `:o+=`<${this.tokenStartIndex+r}> `,console.log(o+"Current state: "+i+a)}printRuleState(t){if(t.length===0){console.log("");return}for(const e of t)console.log(this.ruleNames[e.ruleIndex])}},ot(ee,"CodeCompletionCore"),l(ee,"followSetsByATN",new Map),l(ee,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),ee);W0=class extends Ue{constructor(e,i){super(e);l(this,"dependencies",new Set);this.options=i}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...e){e.forEach(i=>{this.dependencies.add(i)})}removeDependency(e){this.dependencies.has(e)&&this.dependencies.delete(e)}addNewSymbolOfType(e,i,...r){const h=new e(...r);return!i||i===this?this.addSymbol(h):i.addSymbol(h),h}async addNewNamespaceFromPath(e,i,r="."){const h=i.split(r);let o=0,a=e===void 0?this:e;for(;oo.getAllSymbols(e,i)))).forEach(o=>{r.push(...o)}),r}getAllSymbolsSync(e,i=!1){const r=super.getAllSymbolsSync(e,i);return i||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(e,i))}),r}async symbolWithContext(e){const i=ot(h=>{if(h.context===e)return h;if(h instanceof Ue)for(const o of h.children){const a=i(o);if(a)return a}},"findRecursive");let r=await this.getAllSymbols(we);for(const h of r){const o=i(h);if(o)return o}for(const h of this.dependencies){r=await h.getAllSymbols(we);for(const o of r){const a=i(o);if(a)return a}}}symbolWithContextSync(e){const i=ot(h=>{if(h.context===e)return h;if(h instanceof Ue)for(const o of h.children){const a=i(o);if(a)return a}},"findRecursive");let r=this.getAllSymbolsSync(we);for(const h of r){const o=i(h);if(o)return o}for(const h of this.dependencies){r=h.getAllSymbolsSync(we);for(const o of r){const a=i(o);if(a)return a}}}async resolve(e,i=!1){let r=await super.resolve(e,i);if(!r&&!i){for(const h of this.dependencies)if(r=await h.resolve(e,!1),r)return r}return r}resolveSync(e,i=!1){let r=super.resolveSync(e,i);if(!r&&!i){for(const h of this.dependencies)if(r=h.resolveSync(e,!1),r)return r}return r}},ot(W0,"SymbolTable");function Ka(n,t){var e,i;const{lineNumber:r,column:h}=n;let o=0,a=t.length-1;for(;o<=a;){const u=o+(a-o>>1),c=t[u];if(c.line>r||c.line===r&&c.column+1>=h)a=u-1;else if(c.line{this._parseErrors.push(t)}}createLexer(t,e){const i=Pn.fromString(t),r=this.createLexerFromCharStream(i);return e&&(r.removeErrorListeners(),r.addErrorListener(new tn(e))),r}createParser(t,e){const i=this.createLexer(t,e),r=new G0(i),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=At.SLL,e&&(h.removeErrorListeners(),h.addErrorListener(new tn(e))),h}parse(t,e){const i=this.createParser(t,e);return i.buildParseTrees=!0,i.errorHandler=new Tr,i.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=Pn.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new tn(this._errorListener)),this._tokenStream=new G0(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=At.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new Tr,this._parser}parseWithCache(t,e){if(this._parsedInput===t&&!e&&this._parseTree)return this._parseTree;this._parseErrors=[];const i=this.createParserWithCache(t);return this._parsedInput=t,i.removeErrorListeners(),i.addErrorListener(new tn(this._errorListener)),this._parseTree=i.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let e=this._tokenStream.getTokens();return e[e.length-1].text===""&&(e=e.slice(0,-1)),e}listen(t,e){Dc.DEFAULT.walk(t,e)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const i=this.splitListener;return i?(this.listen(i,this._parseTree),i.statementsContext.map(h=>Sa(h,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(t,e){var i,r,h,o,a,u,c,d,f;const T=this.splitListener;if(!T||(this.parseWithCache(t),!this._parseTree))return null;let C=this._parser;const W=this.getAllTokens(t);let S=Ka(e,W),p=this._parseTree,U=0;if(!S&&S!==0)return null;this.listen(T,this._parseTree);const _=(i=T.statementsContext)===null||i===void 0?void 0:i.length,x=T.statementsContext;if(_>1){let O=null,P=null;for(let A1=0;A1<_;A1++){const g1=x[A1];if(!!g1.exception)continue;const Wl=A1===0||!(!((r=x[A1-1])===null||r===void 0)&&r.exception),Kl=A1===_-1||!(!((h=x[A1+1])===null||h===void 0)&&h.exception);if(g1.stop&&g1.stop.tokenIndexS&&Kl){P=g1;break}}const Rt=(a=(o=O==null?void 0:O.start)===null||o===void 0?void 0:o.start)!==null&&a!==void 0?a:0,z=(c=(u=P==null?void 0:P.stop)===null||u===void 0?void 0:u.stop)!==null&&c!==void 0?c:t.length-1;U=(f=(d=O==null?void 0:O.start)===null||d===void 0?void 0:d.tokenIndex)!==null&&f!==void 0?f:0,S=S-U;const M=t.slice(Rt,z),se=this.createLexer(M);se.removeErrorListeners();const ka=new G0(se);ka.fill();const $1=this.createParserFromTokenStream(ka);$1.interpreter.predictionMode=At.SLL,$1.removeErrorListeners(),$1.buildParseTrees=!0,$1.errorHandler=new Tr,C=$1,p=$1.program()}const m=new ll(C);m.preferredRules=this.preferredRules;const K=m.collectCandidates(S,p),v=this.processCandidates(K,W,S,U);return{syntax:v.syntax.map(O=>{const P=O.wordRanges.map(Rt=>dl(Rt,this._parsedInput));return{syntaxContextType:O.syntaxContextType,wordRanges:P}}),keywords:v.keywords}}getAllEntities(t,e){const i=this.getAllTokens(t),r=e?Ka(e,i):void 0,h=this.createEntityCollector(t,r);if(!h)return null;const o=this.parseWithCache(t);return this.listen(h,o),h.getEntities()}}var nt;(function(n){n.CATALOG="catalog",n.CATALOG_CREATE="catalogCreate",n.DATABASE="database",n.DATABASE_CREATE="databaseCreate",n.TABLE="table",n.TABLE_CREATE="tableCreate",n.VIEW="view",n.VIEW_CREATE="viewCreate",n.FUNCTION="function",n.FUNCTION_CREATE="functionCreate",n.PROCEDURE="procedure",n.PROCEDURE_CREATE="procedureCreate",n.COLUMN="column",n.COLUMN_CREATE="columnCreate"})(nt||(nt={}));class Rl{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class Tl extends Rl{exitSingleStatement(t){this._statementsContext.push(t)}}class pa{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var Oa=function(n,t){var e={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&t.indexOf(i)<0&&(e[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=Al(t,e,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((i=this._stmtStack.peek())===null||i===void 0?void 0:i.stmtContextType)===yt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,e,i){const r=xl(t,e,this._input,this._stmtStack.peek(),i);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const e=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)e.unshift(this._entityStack.pop());const i=this.combineRootStmtEntities(t,e);for(;i.length;){const r=i.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,e){return t.stmtContextType===yt.CREATE_VIEW_STMT||t.stmtContextType===yt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,e):e}combineCreateTableOrViewStmtEntities(t,e){const i=[],r=[];let h=null;const o=e.reduce((a,u)=>{if(u.belongStmt!==t)return u.entityContextType!==nt.COLUMN&&u.entityContextType!==nt.COLUMN_CREATE&&(r.push(u),a.push(u)),a;if(u.entityContextType===nt.COLUMN_CREATE)i.push(u);else{if(u.entityContextType===nt.TABLE_CREATE||u.entityContextType===nt.VIEW_CREATE)return h=u,a.push(u),a;u.entityContextType!==nt.COLUMN&&(r.push(u),a.push(u))}return a},[]);return h&&i.length&&(h.columns=i),h&&r.length&&(h.relatedEntities=r),o}}class Cl extends _l{exitTableNameCreate(t){this.pushEntity(t,nt.TABLE_CREATE)}exitTableNamePath(t){this.pushEntity(t,nt.TABLE)}exitColumnNamePathCreate(t){this.pushEntity(t,nt.COLUMN_CREATE)}exitViewNameCreate(t){this.pushEntity(t,nt.VIEW_CREATE)}exitViewNamePath(t){this.pushEntity(t,nt.VIEW)}exitDatabaseNamePath(t){this.pushEntity(t,nt.DATABASE)}exitDatabaseNameCreate(t){this.pushEntity(t,nt.DATABASE_CREATE)}exitFunctionNameCreate(t){this.pushEntity(t,nt.FUNCTION_CREATE)}enterSingleStatement(t){this.pushStmt(t,yt.COMMON_STMT)}exitSingleStatement(t){this.popStmt()}enterCreateTableLike(t){this.pushStmt(t,yt.CREATE_TABLE_STMT)}exitCreateTableLike(t){this.popStmt()}enterCreateTableSelect(t){this.pushStmt(t,yt.CREATE_TABLE_STMT)}exitCreateTableSelect(t){this.popStmt()}enterCreateKuduTableAsSelect(t){this.pushStmt(t,yt.CREATE_TABLE_STMT)}exitCreateKuduTableAsSelect(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,yt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,yt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterInsertStatement(t){this.pushStmt(t,yt.INSERT_STMT)}exitInsertStatement(t){this.popStmt()}enterCreateSchema(t){this.pushStmt(t,yt.CREATE_DATABASE_STMT)}exitCreateSchema(t){this.popStmt()}enterCreateAggregateFunction(t){this.pushStmt(t,yt.CREATE_FUNCTION_STMT)}exitCreateAggregateFunction(t){this.popStmt()}enterCreateFunction(t){this.pushStmt(t,yt.CREATE_FUNCTION_STMT)}exitCreateFunction(t){this.popStmt()}}class Nl extends fl{constructor(){super(...arguments),this.preferredRules=new Set([s.RULE_functionNameCreate,s.RULE_tableNameCreate,s.RULE_viewNameCreate,s.RULE_databaseNameCreate,s.RULE_columnNamePathCreate,s.RULE_tableNamePath,s.RULE_functionNamePath,s.RULE_viewNamePath,s.RULE_databaseNamePath,s.RULE_columnNamePath])}createLexerFromCharStream(t){return new E(t)}createParserFromTokenStream(t){return new s(t)}get splitListener(){return new Tl}createEntityCollector(t,e){return new Cl(t,e)}processCandidates(t,e,i,r){const h=[],o=[];for(let a of t.rules){const[u,c]=a,d=c.startTokenIndex+r,f=e.slice(d,i+r+1);let T;switch(u){case s.RULE_functionNameCreate:{T=nt.FUNCTION_CREATE;break}case s.RULE_tableNameCreate:{T=nt.TABLE_CREATE;break}case s.RULE_databaseNameCreate:{T=nt.DATABASE_CREATE;break}case s.RULE_viewNameCreate:{T=nt.VIEW_CREATE;break}case s.RULE_columnNamePathCreate:{T=nt.COLUMN_CREATE;break}case s.RULE_databaseNamePath:{T=nt.DATABASE;break}case s.RULE_tableNamePath:{T=nt.TABLE;break}case s.RULE_viewNamePath:{T=nt.VIEW;break}case s.RULE_functionNamePath:{T=nt.FUNCTION;break}case s.RULE_columnNamePath:T=nt.COLUMN}T&&h.push({syntaxContextType:T,wordRanges:f})}for(let a of t.tokens){const u=this._parser.vocabulary.getSymbolicName(a[0]),c=this._parser.vocabulary.getDisplayName(a[0]);if(c&&u&&u.startsWith("KW_")){const d=c.startsWith("'")&&c.endsWith("'")?c.slice(1,-1):c;o.push(d)}}return{syntax:h,keywords:o}}}var gs=function(n,t,e,i){function r(h){return h instanceof e?h:new e(function(o){o(h)})}return new(e||(e=Promise))(function(h,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function u(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?h(d.value):r(d.value).then(a,u)}c((i=i.apply(n,t||[])).next())})};class Ll{constructor(t,e){this.keywords=[]}doValidation(t){return gs(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const e=this.parser.validate(t);return Promise.resolve(e)}return Promise.resolve([])})}parserTreeToString(t){return gs(this,void 0,void 0,function*(){if(t){const e=this.parser.createParser(t),r=e.program().toStringTree(e);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,e){return gs(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getSuggestionAtCaretPosition(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}doCompletionWithEntities(t,e){return gs(this,void 0,void 0,function*(){var i;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,e);let h=null;return!((i=r==null?void 0:r.syntax)===null||i===void 0)&&i.length&&(h=this.parser.getAllEntities(t,e)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,e){return gs(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getAllEntities(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class ml extends Ll{constructor(t,e){super(t,e),this._ctx=t,this.parser=new Nl}}self.onmessage=()=>{p2((n,t)=>new ml(n,t))}})(); diff --git a/assets/impala.worker-bc42abfb.js b/assets/impala.worker-bc42abfb.js new file mode 100644 index 00000000..b25cf1ee --- /dev/null +++ b/assets/impala.worker-bc42abfb.js @@ -0,0 +1,22 @@ +var D7=Object.defineProperty;var I7=(ut,ht,Et)=>ht in ut?D7(ut,ht,{enumerable:!0,configurable:!0,writable:!0,value:Et}):ut[ht]=Et;var l=(ut,ht,Et)=>(I7(ut,typeof ht!="symbol"?ht+"":ht,Et),Et),Wr=(ut,ht,Et)=>{if(!ht.has(ut))throw TypeError("Cannot "+Et)};var L=(ut,ht,Et)=>(Wr(ut,ht,"read from private field"),Et?Et.call(ut):ht.get(ut)),z=(ut,ht,Et)=>{if(ht.has(ut))throw TypeError("Cannot add the same private member more than once");ht instanceof WeakSet?ht.add(ut):ht.set(ut,Et)},Y=(ut,ht,Et,z1)=>(Wr(ut,ht,"write to private field"),z1?z1.call(ut,Et):ht.set(ut,Et),Et);var Kr=(ut,ht,Et)=>(Wr(ut,ht,"access private method"),Et);(function(){var U1,Ws,Ks,xe,u1,v1,Ss,te,Ie,Me,c1,ct,ps,l1,Os,Pt,de,ks,Fe,Ee,d1,b1,ys,E1,He,ws,Us,vs,Mt,bs,Ds,f1,Is,D1,I1,M1,Ms,Be,Fs,Hs,F1,Bs,H1,ge,Vs,Kt,Ps,Gs,Ys,tt,gt,at,Qs,Ve,Xs,$s,js,Pe,B1,Ge,zs,Zs,Js,qs,ti,ei,si,ii,ni,ri,hi,oi,ai,ui,ci,li,di,Ei,fi,R1,V1,P1,T1,G1,Y1,A1,Q1,Ye,Ri,Ti,St,v,Ai,xi,gi,_i,Ci,Ni,mi,_e,Ce,Li,Wi,Ki,X1,Si,pi,x1,Oi,Sr,ki,yi,wi,Ui,B,vi,bi,Di,Ii,Mi,Fi,Hi,Bi,Qe,Vi,Pi,Gi,Yi,Qi,Xi,$i,ji,zi,Zi,Ji,qi,t0,e0,an,s0,i0,n0,r0,ee,h0,o0,a0,un,$1,u0,bt,c0,l0,d0,E0,dt,f0,R0,T0,nt,fe,Gt,A0,x0,g0,_0,C0,N0,m0,L0,Ft,W0,K0,S0,p0,O0,k0,se,y0;"use strict";class ut{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` + +`+t.stack):t},0)}}emit(t){this.listeners.forEach(e=>{e(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const ht=new ut;function Et(n){Fa(n)||ht.onUnexpectedError(n)}function z1(n){if(n instanceof Error){let{name:t,message:e}=n;const i=n.stacktrace||n.stack;return{$isError:!0,name:t,message:e,stack:i}}return n}const pr="Canceled";function Fa(n){return n instanceof Error&&n.name===pr&&n.message===pr}function Ha(n){const t=this;let e=!1,i;return function(){return e||(e=!0,i=n.apply(t,arguments)),i}}var cn;(function(n){function t(C){return C&&typeof C=="object"&&typeof C[Symbol.iterator]=="function"}n.is=t;const e=Object.freeze([]);function i(){return e}n.empty=i;function*r(C){yield C}n.single=r;function h(C){return C||e}n.from=h;function o(C){return!C||C[Symbol.iterator]().next().done===!0}n.isEmpty=o;function a(C){return C[Symbol.iterator]().next().value}n.first=a;function u(C,g){for(const W of C)if(g(W))return!0;return!1}n.some=u;function c(C,g){for(const W of C)if(g(W))return W}n.find=c;function*d(C,g){for(const W of C)g(W)&&(yield W)}n.filter=d;function*f(C,g){let W=0;for(const K of C)yield g(K,W++)}n.map=f;function*R(...C){for(const g of C)for(const W of g)yield W}n.concat=R;function*_(C){for(const g of C)for(const W of g)yield W}n.concatNested=_;function m(C,g,W){let K=W;for(const U of C)K=g(K,U);return K}n.reduce=m;function*S(C,g,W=C.length){for(g<0&&(g+=C.length),W<0?W+=C.length:W>C.length&&(W=C.length);gK===U){const K=C[Symbol.iterator](),U=g[Symbol.iterator]();for(;;){const y=K.next(),O=U.next();if(y.done!==O.done)return!1;if(y.done)return!0;if(!W(y.value,O.value))return!1}}n.equals=k})(cn||(cn={}));function M7(n){return n}function F7(n,t){}class Ba extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function Or(n){if(cn.is(n)){let t=[];for(const e of n)if(e)try{e.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new Ba(t);return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function Va(...n){return kr(()=>Or(n))}function kr(n){return{dispose:Ha(()=>{n()})}}class Z1{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{Or(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Z1.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}Z1.DISABLE_DISPOSED_WARNING=!1;class yr{constructor(){this._store=new Z1,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}yr.None=Object.freeze({dispose(){}});class et{constructor(t){this.element=t,this.next=et.Undefined,this.prev=et.Undefined}}et.Undefined=new et(void 0);class wr{constructor(){this._first=et.Undefined,this._last=et.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===et.Undefined}clear(){let t=this._first;for(;t!==et.Undefined;){const e=t.next;t.prev=et.Undefined,t.next=et.Undefined,t=e}this._first=et.Undefined,this._last=et.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){const i=new et(t);if(this._first===et.Undefined)this._first=i,this._last=i;else if(e){const h=this._last;this._last=i,i.prev=h,h.next=i}else{const h=this._first;this._first=i,i.next=h,h.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==et.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==et.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==et.Undefined&&t.next!==et.Undefined){const e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===et.Undefined&&t.next===et.Undefined?(this._first=et.Undefined,this._last=et.Undefined):t.next===et.Undefined?(this._last=this._last.prev,this._last.next=et.Undefined):t.prev===et.Undefined&&(this._first=this._first.next,this._first.prev=et.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==et.Undefined;)yield t.element,t=t.next}}var ln;const w0="en";let dn=!1,En=!1,fn=!1,J1,U0=w0,Pa,Xe;const Nt=typeof self=="object"?self:typeof global=="object"?global:{};let pt;typeof Nt.vscode<"u"&&typeof Nt.vscode.process<"u"?pt=Nt.vscode.process:typeof process<"u"&&(pt=process);const Ga=typeof((ln=pt==null?void 0:pt.versions)===null||ln===void 0?void 0:ln.electron)=="string"&&(pt==null?void 0:pt.type)==="renderer";if(typeof navigator=="object"&&!Ga)Xe=navigator.userAgent,dn=Xe.indexOf("Windows")>=0,En=Xe.indexOf("Macintosh")>=0,(Xe.indexOf("Macintosh")>=0||Xe.indexOf("iPad")>=0||Xe.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,fn=Xe.indexOf("Linux")>=0,J1=navigator.language,U0=J1;else if(typeof pt=="object"){dn=pt.platform==="win32",En=pt.platform==="darwin",fn=pt.platform==="linux",fn&&pt.env.SNAP&&pt.env.SNAP_REVISION,J1=w0,U0=w0;const n=pt.env.VSCODE_NLS_CONFIG;if(n)try{const t=JSON.parse(n),e=t.availableLanguages["*"];J1=t.locale,U0=e||w0,Pa=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const q1=dn,Ya=En,Qa=U0,Xa=J1;(()=>{if(typeof Nt.postMessage=="function"&&!Nt.importScripts){let n=[];Nt.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let i=0,r=n.length;i{const i=++t;n.push({id:i,callback:e}),Nt.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})();const $a=Nt.performance&&typeof Nt.performance.now=="function";class v0{constructor(t){this._highResolution=$a&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new v0(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?Nt.performance.now():Date.now()}}var Rn;(function(n){n.None=()=>yr.None;function t(C){return(g,W=null,K)=>{let U=!1,y;return y=C(O=>{if(!U)return y?y.dispose():U=!0,g.call(W,O)},null,K),U&&y.dispose(),y}}n.once=t;function e(C,g){return u((W,K=null,U)=>C(y=>W.call(K,g(y)),null,U))}n.map=e;function i(C,g){return u((W,K=null,U)=>C(y=>{g(y),W.call(K,y)},null,U))}n.forEach=i;function r(C,g){return u((W,K=null,U)=>C(y=>g(y)&&W.call(K,y),null,U))}n.filter=r;function h(C){return C}n.signal=h;function o(...C){return(g,W=null,K)=>Va(...C.map(U=>U(y=>g.call(W,y),null,K)))}n.any=o;function a(C,g,W){let K=W;return e(C,U=>(K=g(K,U),K))}n.reduce=a;function u(C){let g;const W=new Ne({onFirstListenerAdd(){g=C(W.fire,W)},onLastListenerRemove(){g.dispose()}});return W.event}function c(C,g,W=100,K=!1,U){let y,O,P,Rt=0;const j=new Ne({leakWarningThreshold:U,onFirstListenerAdd(){y=C(M=>{Rt++,O=g(O,M),K&&!P&&(j.fire(O),O=void 0),clearTimeout(P),P=setTimeout(()=>{const ie=O;O=void 0,P=void 0,(!K||Rt>1)&&j.fire(ie),Rt=0},W)})},onLastListenerRemove(){y.dispose()}});return j.event}n.debounce=c;function d(C,g=(W,K)=>W===K){let W=!0,K;return r(C,U=>{const y=W||!g(U,K);return W=!1,K=U,y})}n.latch=d;function f(C,g){return[n.filter(C,g),n.filter(C,W=>!g(W))]}n.split=f;function R(C,g=!1,W=[]){let K=W.slice(),U=C(P=>{K?K.push(P):O.fire(P)});const y=()=>{K&&K.forEach(P=>O.fire(P)),K=null},O=new Ne({onFirstListenerAdd(){U||(U=C(P=>O.fire(P)))},onFirstListenerDidAdd(){K&&(g?setTimeout(y):y())},onLastListenerRemove(){U&&U.dispose(),U=null}});return O.event}n.buffer=R;class _{constructor(g){this.event=g}map(g){return new _(e(this.event,g))}forEach(g){return new _(i(this.event,g))}filter(g){return new _(r(this.event,g))}reduce(g,W){return new _(a(this.event,g,W))}latch(){return new _(d(this.event))}debounce(g,W=100,K=!1,U){return new _(c(this.event,g,W,K,U))}on(g,W,K){return this.event(g,W,K)}once(g,W,K){return t(this.event)(g,W,K)}}function m(C){return new _(C)}n.chain=m;function S(C,g,W=K=>K){const K=(...P)=>O.fire(W(...P)),U=()=>C.on(g,K),y=()=>C.removeListener(g,K),O=new Ne({onFirstListenerAdd:U,onLastListenerRemove:y});return O.event}n.fromNodeEventEmitter=S;function p(C,g,W=K=>K){const K=(...P)=>O.fire(W(...P)),U=()=>C.addEventListener(g,K),y=()=>C.removeEventListener(g,K),O=new Ne({onFirstListenerAdd:U,onLastListenerRemove:y});return O.event}n.fromDOMEventEmitter=p;function k(C){return new Promise(g=>t(C)(g))}n.toPromise=k})(Rn||(Rn={}));class b0{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${b0._idPool++}`}start(t){this._stopWatch=new v0(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}b0._idPool=0;class Ne{constructor(t){var e;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((e=this._options)===null||e===void 0)&&e._profName?new b0(this._options._profName):void 0}get event(){return this._event||(this._event=(t,e,i)=>{var r;this._listeners||(this._listeners=new wr);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(e?[t,e]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,e);const a=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),u=kr(()=>{a&&a(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return i instanceof Z1?i.add(u):Array.isArray(i)&&i.push(u),u}),this._event}fire(t){var e,i;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new wr);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((e=this._perfMon)===null||e===void 0||e.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(o){Et(o)}}(i=this._perfMon)===null||i===void 0||i.stop()}}dispose(){var t,e,i,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(e=this._deliveryQueue)===null||e===void 0||e.clear(),(r=(i=this._options)===null||i===void 0?void 0:i.onLastListenerRemove)===null||r===void 0||r.call(i),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function ja(n){let t=[],e=Object.getPrototypeOf(n);for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}function Tn(n){const t=[];for(const e of ja(n))typeof n[e]=="function"&&t.push(e);return t}function za(n,t){const e=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let i={};for(const r of n)i[r]=e(r);return i}function Za(n,t="Unreachable"){throw new Error(t)}function Ja(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function qa(n){return n.split(/\r\n|\r|\n/)}function tu(n){for(let t=0,e=n.length;t=0;e--){const i=n.charCodeAt(e);if(i!==32&&i!==9)return e}return-1}function Ur(n){return n>=65&&n<=90}function An(n){return 55296<=n&&n<=56319}function su(n){return 56320<=n&&n<=57343}function iu(n,t){return(n-55296<<10)+(t-56320)+65536}function nu(n,t,e){const i=n.charCodeAt(e);if(An(i)&&e+1{this._pendingReplies[i]={resolve:r,reject:h},this._send(new hu(this._workerId,i,t,e))})}listen(t,e){let i=null;const r=new Ne({onFirstListenerAdd:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,r),this._send(new ou(this._workerId,i,t,e))},onLastListenerRemove:()=>{this._pendingEmitters.delete(i),this._send(new uu(this._workerId,i)),i=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let e=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let i=t.err;t.err.$isError&&(i=new Error,i.name=t.err.name,i.message=t.err.message,i.stack=t.err.stack),e.reject(i);return}e.resolve(t.res)}_handleRequestMessage(t){let e=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new vr(this._workerId,e,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=z1(r.detail)),this._send(new vr(this._workerId,e,void 0,z1(r)))})}_handleSubscribeEventMessage(t){const e=t.req,i=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new au(this._workerId,e,r))});this._pendingEvents.set(e,i)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let e=[];if(t.type===0)for(let i=0;ifunction(){const a=Array.prototype.slice.call(arguments,0);return t(o,a)},r=o=>function(a){return e(o,a)};let h={};for(const o of n){if(Dr(o)){h[o]=r(o);continue}if(br(o)){h[o]=e(o,void 0);continue}h[o]=i(o)}return h}class du{constructor(t,e){this._requestHandlerFactory=e,this._requestHandler=null,this._protocol=new cu({sendMessage:(i,r)=>{t(i,r)},handleMessage:(i,r)=>this._handleMessage(i,r),handleEvent:(i,r)=>this._handleEvent(i,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,e){if(t===ru)return this.initialize(e[0],e[1],e[2],e[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,e))}catch(i){return Promise.reject(i)}}_handleEvent(t,e){if(!this._requestHandler)throw new Error("Missing requestHandler");if(Dr(t)){const i=this._requestHandler[t].call(this._requestHandler,e);if(typeof i!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return i}if(br(t)){const i=this._requestHandler[t];if(typeof i!="function")throw new Error(`Missing event ${t} on request handler.`);return i}throw new Error(`Malformed event name ${t}`)}initialize(t,e,i,r){this._protocol.setWorkerId(t);const a=lu(r,(u,c)=>this._protocol.sendMessage(u,c),(u,c)=>this._protocol.listen(u,c));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(a),Promise.resolve(Tn(this._requestHandler))):(e&&(typeof e.baseUrl<"u"&&delete e.baseUrl,typeof e.paths<"u"&&typeof e.paths.vs<"u"&&delete e.paths.vs,typeof e.trustedTypesPolicy!==void 0&&delete e.trustedTypesPolicy,e.catchError=!0,Nt.require.config(e)),new Promise((u,c)=>{const d=Nt.require;d([i],f=>{if(this._requestHandler=f.create(a),!this._requestHandler){c(new Error("No RequestHandler!"));return}u(Tn(this._requestHandler))},c)}))}}class me{constructor(t,e,i,r){this.originalStart=t,this.originalLength=e,this.modifiedStart=i,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Ir(n,t){return(t<<5)-t+n|0}function Eu(n,t){t=Ir(149417,t);for(let e=0,i=n.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new me(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_originalCount++}AddModifiedElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Le{constructor(t,e,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=t,this._modifiedSequence=e;const[r,h,o]=Le._getElements(t),[a,u,c]=Le._getElements(e);this._hasStrings=o&&c,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=a,this._modifiedElementsOrHash=u,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const e=t.getElements();if(Le._isStringArray(e)){const i=new Int32Array(e.length);for(let r=0,h=e.length;r=t&&r>=i&&this.ElementsAreEqual(e,r);)e--,r--;if(t>e||i>r){let f;return i<=r?(C1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),f=[new me(t,0,i,r-i+1)]):t<=e?(C1.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),f=[new me(t,e-t+1,i,0)]):(C1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),C1.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),f=[]),f}const o=[0],a=[0],u=this.ComputeRecursionPoint(t,e,i,r,o,a,h),c=o[0],d=a[0];if(u!==null)return u;if(!h[0]){const f=this.ComputeDiffRecursive(t,c,i,d,h);let R=[];return h[0]?R=[new me(c+1,e-(c+1)+1,d+1,r-(d+1)+1)]:R=this.ComputeDiffRecursive(c+1,e,d+1,r,h),this.ConcatenateChanges(f,R)}return[new me(t,e-t+1,i,r-i+1)]}WALKTRACE(t,e,i,r,h,o,a,u,c,d,f,R,_,m,S,p,k,C){let g=null,W=null,K=new Fr,U=e,y=i,O=_[0]-p[0]-r,P=-1073741824,Rt=this.m_forwardHistory.length-1;do{const j=O+t;j===U||j=0&&(c=this.m_forwardHistory[Rt],t=c[0],U=1,y=c.length-1)}while(--Rt>=-1);if(g=K.getReverseChanges(),C[0]){let j=_[0]+1,M=p[0]+1;if(g!==null&&g.length>0){const ie=g[g.length-1];j=Math.max(j,ie.getOriginalEnd()),M=Math.max(M,ie.getModifiedEnd())}W=[new me(j,R-j+1,M,S-M+1)]}else{K=new Fr,U=o,y=a,O=_[0]-p[0]-u,P=1073741824,Rt=k?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const j=O+h;j===U||j=d[j+1]?(f=d[j+1]-1,m=f-O-u,f>P&&K.MarkNextChange(),P=f+1,K.AddOriginalElement(f+1,m+1),O=j+1-h):(f=d[j-1],m=f-O-u,f>P&&K.MarkNextChange(),P=f,K.AddModifiedElement(f+1,m+1),O=j-1-h),Rt>=0&&(d=this.m_reverseHistory[Rt],h=d[0],U=1,y=d.length-1)}while(--Rt>=-1);W=K.getChanges()}return this.ConcatenateChanges(g,W)}ComputeRecursionPoint(t,e,i,r,h,o,a){let u=0,c=0,d=0,f=0,R=0,_=0;t--,i--,h[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=e-t+(r-i),S=m+1,p=new Int32Array(S),k=new Int32Array(S),C=r-i,g=e-t,W=t-i,K=e-r,y=(g-C)%2===0;p[C]=t,k[g]=e,a[0]=!1;for(let O=1;O<=m/2+1;O++){let P=0,Rt=0;d=this.ClipDiagonalBound(C-O,O,C,S),f=this.ClipDiagonalBound(C+O,O,C,S);for(let M=d;M<=f;M+=2){M===d||MP+Rt&&(P=u,Rt=c),!y&&Math.abs(M-g)<=O-1&&u>=k[M])return h[0]=u,o[0]=c,ie<=k[M]&&1447>0&&O<=1447+1?this.WALKTRACE(C,d,f,W,g,R,_,K,p,k,u,e,h,c,r,o,y,a):null}const j=(P-t+(Rt-i)-O)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(P,j))return a[0]=!0,h[0]=P,o[0]=Rt,j>0&&1447>0&&O<=1447+1?this.WALKTRACE(C,d,f,W,g,R,_,K,p,k,u,e,h,c,r,o,y,a):(t++,i++,[new me(t,e-t+1,i,r-i+1)]);R=this.ClipDiagonalBound(g-O,O,g,S),_=this.ClipDiagonalBound(g+O,O,g,S);for(let M=R;M<=_;M+=2){M===R||M<_&&k[M-1]>=k[M+1]?u=k[M+1]-1:u=k[M-1],c=u-(M-g)-K;const ie=u;for(;u>t&&c>i&&this.ElementsAreEqual(u,c);)u--,c--;if(k[M]=u,y&&Math.abs(M-C)<=O&&u<=p[M])return h[0]=u,o[0]=c,ie>=p[M]&&1447>0&&O<=1447+1?this.WALKTRACE(C,d,f,W,g,R,_,K,p,k,u,e,h,c,r,o,y,a):null}if(O<=1447){let M=new Int32Array(f-d+2);M[0]=C-d+1,N1.Copy2(p,d,M,1,f-d+1),this.m_forwardHistory.push(M),M=new Int32Array(_-R+2),M[0]=g-R+1,N1.Copy2(k,R,M,1,_-R+1),this.m_reverseHistory.push(M)}}return this.WALKTRACE(C,d,f,W,g,R,_,K,p,k,u,e,h,c,r,o,y,a)}PrettifyChanges(t){for(let e=0;e0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;e--){const i=t[e];let r=0,h=0;if(e>0){const f=t[e-1];r=f.originalStart+f.originalLength,h=f.modifiedStart+f.modifiedLength}const o=i.originalLength>0,a=i.modifiedLength>0;let u=0,c=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let f=1;;f++){const R=i.originalStart-f,_=i.modifiedStart-f;if(Rc&&(c=S,u=f)}i.originalStart-=u,i.modifiedStart-=u;const d=[null];if(e>0&&this.ChangesOverlap(t[e-1],t[e],d)){t[e-1]=d[0],t.splice(e,1),e++;continue}}if(this._hasStrings)for(let e=1,i=t.length;e0&&_>u&&(u=_,c=f,d=R)}return u>0?[c,d]:null}_contiguousSequenceScore(t,e,i){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,e){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,e){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(e>0){const i=t+e;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(t,e,i,r){const h=this._OriginalRegionIsBoundary(t,e)?1:0,o=this._ModifiedRegionIsBoundary(i,r)?1:0;return h+o}ConcatenateChanges(t,e){let i=[];if(t.length===0||e.length===0)return e.length>0?e:t;if(this.ChangesOverlap(t[t.length-1],e[0],i)){const r=new Array(t.length+e.length-1);return N1.Copy(t,0,r,0,t.length-1),r[t.length-1]=i[0],N1.Copy(e,1,r,t.length,e.length-1),r}else{const r=new Array(t.length+e.length);return N1.Copy(t,0,r,0,t.length),N1.Copy(e,0,r,t.length,e.length),r}}ChangesOverlap(t,e,i){if(C1.Assert(t.originalStart<=e.originalStart,"Left change is not less than or equal to right change"),C1.Assert(t.modifiedStart<=e.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=e.originalStart||t.modifiedStart+t.modifiedLength>=e.modifiedStart){const r=t.originalStart;let h=t.originalLength;const o=t.modifiedStart;let a=t.modifiedLength;return t.originalStart+t.originalLength>=e.originalStart&&(h=e.originalStart+e.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=e.modifiedStart&&(a=e.modifiedStart+e.modifiedLength-t.modifiedStart),i[0]=new me(r,h,o,a),!0}else return i[0]=null,!1}ClipDiagonalBound(t,e,i,r){if(t>=0&&t=Tu&&n<=xu||n>=Au&&n<=gu}function D0(n,t,e,i){let r="",h=0,o=-1,a=0,u=0;for(let c=0;c<=n.length;++c){if(c2){const d=r.lastIndexOf(e);d===-1?(r="",h=0):(r=r.slice(0,d),h=r.length-1-r.lastIndexOf(e)),o=c,a=0;continue}else if(r.length!==0){r="",h=0,o=c,a=0;continue}}t&&(r+=r.length>0?`${e}..`:"..",h=2)}else r.length>0?r+=`${e}${n.slice(o+1,c)}`:r=n.slice(o+1,c),h=c-o-1;o=c,a=0}else u===We&&a!==-1?++a:a=-1}return r}function Br(n,t){if(t===null||typeof t!="object")throw new Hr("pathObject","Object",t);const e=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return e?e===t.root?`${e}${i}`:`${e}${n}${i}`:i}const Ot={resolve(...n){let t="",e="",i=!1;for(let r=n.length-1;r>=-1;r--){let h;if(r>=0){if(h=n[r],lt(h,"path"),h.length===0)continue}else t.length===0?h=xn():(h=Ru[`=${t}`]||xn(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===wt)&&(h=`${t}\\`));const o=h.length;let a=0,u="",c=!1;const d=h.charCodeAt(0);if(o===1)F(d)&&(a=1,c=!0);else if(F(d))if(c=!0,F(h.charCodeAt(1))){let f=2,R=f;for(;f2&&F(h.charCodeAt(2))&&(c=!0,a=3));if(u.length>0)if(t.length>0){if(u.toLowerCase()!==t.toLowerCase())continue}else t=u;if(i){if(t.length>0)break}else if(e=`${h.slice(a)}\\${e}`,i=c,c&&t.length>0)break}return e=D0(e,!i,"\\",F),i?`${t}\\${e}`:`${t}${e}`||"."},normalize(n){lt(n,"path");const t=n.length;if(t===0)return".";let e=0,i,r=!1;const h=n.charCodeAt(0);if(t===1)return gn(h)?"\\":n;if(F(h))if(r=!0,F(n.charCodeAt(1))){let a=2,u=a;for(;a2&&F(n.charCodeAt(2))&&(r=!0,e=3));let o=e0&&F(n.charCodeAt(t-1))&&(o+="\\"),i===void 0?r?`\\${o}`:o:r?`${i}\\${o}`:`${i}${o}`},isAbsolute(n){lt(n,"path");const t=n.length;if(t===0)return!1;const e=n.charCodeAt(0);return F(e)||t>2&&Se(e)&&n.charCodeAt(1)===Ke&&F(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let t,e;for(let h=0;h0&&(t===void 0?t=e=o:t+=`\\${o}`)}if(t===void 0)return".";let i=!0,r=0;if(typeof e=="string"&&F(e.charCodeAt(0))){++r;const h=e.length;h>1&&F(e.charCodeAt(1))&&(++r,h>2&&(F(e.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(t=`\\${t.slice(r)}`)}return Ot.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t)return"";const e=Ot.resolve(n),i=Ot.resolve(t);if(e===i||(n=e.toLowerCase(),t=i.toLowerCase(),n===t))return"";let r=0;for(;rr&&n.charCodeAt(h-1)===wt;)h--;const o=h-r;let a=0;for(;aa&&t.charCodeAt(u-1)===wt;)u--;const c=u-a,d=od){if(t.charCodeAt(a+R)===wt)return i.slice(a+R+1);if(R===2)return i.slice(a+R)}o>d&&(n.charCodeAt(r+R)===wt?f=R:R===2&&(f=3)),f===-1&&(f=0)}let _="";for(R=r+f+1;R<=h;++R)(R===h||n.charCodeAt(R)===wt)&&(_+=_.length===0?"..":"\\..");return a+=f,_.length>0?`${_}${i.slice(a,u)}`:(i.charCodeAt(a)===wt&&++a,i.slice(a,u))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";const t=Ot.resolve(n);if(t.length<=2)return n;if(t.charCodeAt(0)===wt){if(t.charCodeAt(1)===wt){const e=t.charCodeAt(2);if(e!==_u&&e!==We)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Se(t.charCodeAt(0))&&t.charCodeAt(1)===Ke&&t.charCodeAt(2)===wt)return`\\\\?\\${t}`;return n},dirname(n){lt(n,"path");const t=n.length;if(t===0)return".";let e=-1,i=0;const r=n.charCodeAt(0);if(t===1)return F(r)?n:".";if(F(r)){if(e=i=1,F(n.charCodeAt(1))){let a=2,u=a;for(;a2&&F(n.charCodeAt(2))?3:2,i=e);let h=-1,o=!0;for(let a=t-1;a>=i;--a)if(F(n.charCodeAt(a))){if(!o){h=a;break}}else o=!1;if(h===-1){if(e===-1)return".";h=e}return n.slice(0,h)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let e=0,i=-1,r=!0,h;if(n.length>=2&&Se(n.charCodeAt(0))&&n.charCodeAt(1)===Ke&&(e=2),t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=e;--h){const u=n.charCodeAt(h);if(F(u)){if(!r){e=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=h):(o=-1,i=a))}return e===i?i=a:i===-1&&(i=n.length),n.slice(e,i)}for(h=n.length-1;h>=e;--h)if(F(n.charCodeAt(h))){if(!r){e=h+1;break}}else i===-1&&(r=!1,i=h+1);return i===-1?"":n.slice(e,i)},extname(n){lt(n,"path");let t=0,e=-1,i=0,r=-1,h=!0,o=0;n.length>=2&&n.charCodeAt(1)===Ke&&Se(n.charCodeAt(0))&&(t=i=2);for(let a=n.length-1;a>=t;--a){const u=n.charCodeAt(a);if(F(u)){if(!h){i=a+1;break}continue}r===-1&&(h=!1,r=a+1),u===We?e===-1?e=a:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||r===-1||o===0||o===1&&e===r-1&&e===i+1?"":n.slice(e,r)},format:Br.bind(null,"\\"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const e=n.length;let i=0,r=n.charCodeAt(0);if(e===1)return F(r)?(t.root=t.dir=n,t):(t.base=t.name=n,t);if(F(r)){if(i=1,F(n.charCodeAt(1))){let f=2,R=f;for(;f0&&(t.root=n.slice(0,i));let h=-1,o=i,a=-1,u=!0,c=n.length-1,d=0;for(;c>=i;--c){if(r=n.charCodeAt(c),F(r)){if(!u){o=c+1;break}continue}a===-1&&(u=!1,a=c+1),r===We?h===-1?h=c:d!==1&&(d=1):h!==-1&&(d=-1)}return a!==-1&&(h===-1||d===0||d===1&&h===a-1&&h===o+1?t.base=t.name=n.slice(o,a):(t.name=n.slice(o,h),t.base=n.slice(o,a),t.ext=n.slice(h,a))),o>0&&o!==i?t.dir=n.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},Ut={resolve(...n){let t="",e=!1;for(let i=n.length-1;i>=-1&&!e;i--){const r=i>=0?n[i]:xn();lt(r,"path"),r.length!==0&&(t=`${r}/${t}`,e=r.charCodeAt(0)===_t)}return t=D0(t,!e,"/",gn),e?`/${t}`:t.length>0?t:"."},normalize(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===_t,e=n.charCodeAt(n.length-1)===_t;return n=D0(n,!t,"/",gn),n.length===0?t?"/":e?"./":".":(e&&(n+="/"),t?`/${n}`:n)},isAbsolute(n){return lt(n,"path"),n.length>0&&n.charCodeAt(0)===_t},join(...n){if(n.length===0)return".";let t;for(let e=0;e0&&(t===void 0?t=i:t+=`/${i}`)}return t===void 0?".":Ut.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t||(n=Ut.resolve(n),t=Ut.resolve(t),n===t))return"";const e=1,i=n.length,r=i-e,h=1,o=t.length-h,a=ra){if(t.charCodeAt(h+c)===_t)return t.slice(h+c+1);if(c===0)return t.slice(h+c)}else r>a&&(n.charCodeAt(e+c)===_t?u=c:c===0&&(u=0));let d="";for(c=e+u+1;c<=i;++c)(c===i||n.charCodeAt(c)===_t)&&(d+=d.length===0?"..":"/..");return`${d}${t.slice(h+u)}`},toNamespacedPath(n){return n},dirname(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===_t;let e=-1,i=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===_t){if(!i){e=r;break}}else i=!1;return e===-1?t?"/":".":t&&e===1?"//":n.slice(0,e)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let e=0,i=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=0;--h){const u=n.charCodeAt(h);if(u===_t){if(!r){e=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(u===t.charCodeAt(o)?--o===-1&&(i=h):(o=-1,i=a))}return e===i?i=a:i===-1&&(i=n.length),n.slice(e,i)}for(h=n.length-1;h>=0;--h)if(n.charCodeAt(h)===_t){if(!r){e=h+1;break}}else i===-1&&(r=!1,i=h+1);return i===-1?"":n.slice(e,i)},extname(n){lt(n,"path");let t=-1,e=0,i=-1,r=!0,h=0;for(let o=n.length-1;o>=0;--o){const a=n.charCodeAt(o);if(a===_t){if(!r){e=o+1;break}continue}i===-1&&(r=!1,i=o+1),a===We?t===-1?t=o:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||i===-1||h===0||h===1&&t===i-1&&t===e+1?"":n.slice(t,i)},format:Br.bind(null,"/"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const e=n.charCodeAt(0)===_t;let i;e?(t.root="/",i=1):i=0;let r=-1,h=0,o=-1,a=!0,u=n.length-1,c=0;for(;u>=i;--u){const d=n.charCodeAt(u);if(d===_t){if(!a){h=u+1;break}continue}o===-1&&(a=!1,o=u+1),d===We?r===-1?r=u:c!==1&&(c=1):r!==-1&&(c=-1)}if(o!==-1){const d=h===0&&e?1:h;r===-1||c===0||c===1&&r===o-1&&r===h+1?t.base=t.name=n.slice(d,o):(t.name=n.slice(d,r),t.base=n.slice(d,o),t.ext=n.slice(r,o))}return h>0?t.dir=n.slice(0,h-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ut.win32=Ot.win32=Ot,Ut.posix=Ot.posix=Ut,je==="win32"?Ot.normalize:Ut.normalize,je==="win32"?Ot.resolve:Ut.resolve,je==="win32"?Ot.relative:Ut.relative,je==="win32"?Ot.dirname:Ut.dirname,je==="win32"?Ot.basename:Ut.basename,je==="win32"?Ot.extname:Ut.extname,je==="win32"?Ot.sep:Ut.sep;const Cu=/^\w[\w\d+.-]*$/,Nu=/^\//,mu=/^\/\//;function Vr(n,t){if(!n.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!Cu.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!Nu.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(mu.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Lu(n,t){return!n&&!t?"file":n}function Wu(n,t){switch(n){case"https":case"http":case"file":t?t[0]!==Qt&&(t=Qt+t):t=Qt;break}return t}const st="",Qt="/",Ku=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ze{constructor(t,e,i,r,h,o=!1){typeof t=="object"?(this.scheme=t.scheme||st,this.authority=t.authority||st,this.path=t.path||st,this.query=t.query||st,this.fragment=t.fragment||st):(this.scheme=Lu(t,o),this.authority=e||st,this.path=Wu(this.scheme,i||st),this.query=r||st,this.fragment=h||st,Vr(this,o))}static isUri(t){return t instanceof ze?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return _n(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:i,path:r,query:h,fragment:o}=t;return e===void 0?e=this.scheme:e===null&&(e=st),i===void 0?i=this.authority:i===null&&(i=st),r===void 0?r=this.path:r===null&&(r=st),h===void 0?h=this.query:h===null&&(h=st),o===void 0?o=this.fragment:o===null&&(o=st),e===this.scheme&&i===this.authority&&r===this.path&&h===this.query&&o===this.fragment?this:new L1(e,i,r,h,o)}static parse(t,e=!1){const i=Ku.exec(t);return i?new L1(i[2]||st,I0(i[4]||st),I0(i[5]||st),I0(i[7]||st),I0(i[9]||st),e):new L1(st,st,st,st,st)}static file(t){let e=st;if(q1&&(t=t.replace(/\\/g,Qt)),t[0]===Qt&&t[1]===Qt){const i=t.indexOf(Qt,2);i===-1?(e=t.substring(2),t=Qt):(e=t.substring(2,i),t=t.substring(i)||Qt)}return new L1("file",e,t,st,st)}static from(t){const e=new L1(t.scheme,t.authority,t.path,t.query,t.fragment);return Vr(e,!0),e}static joinPath(t,...e){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return q1&&t.scheme==="file"?i=ze.file(Ot.join(_n(t,!0),...e)).path:i=Ut.join(t.path,...e),t.with({path:i})}toString(t=!1){return Cn(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof ze)return t;{const e=new L1(t);return e._formatted=t.external,e._fsPath=t._sep===Pr?t.fsPath:null,e}}else return t}}const Pr=q1?1:void 0;class L1 extends ze{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=_n(this,!1)),this._fsPath}toString(t=!1){return t?Cn(this,!0):(this._formatted||(this._formatted=Cn(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Pr),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const Gr={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Yr(n,t){let e,i=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)i!==-1&&(e+=encodeURIComponent(n.substring(i,r)),i=-1),e!==void 0&&(e+=n.charAt(r));else{e===void 0&&(e=n.substr(0,r));const o=Gr[h];o!==void 0?(i!==-1&&(e+=encodeURIComponent(n.substring(i,r)),i=-1),e+=o):i===-1&&(i=r)}}return i!==-1&&(e+=encodeURIComponent(n.substring(i))),e!==void 0?e:n}function Su(n){let t;for(let e=0;e1&&n.scheme==="file"?e=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?t?e=n.path.substr(1):e=n.path[1].toLowerCase()+n.path.substr(2):e=n.path,q1&&(e=e.replace(/\//g,"\\")),e}function Cn(n,t){const e=t?Su:Yr;let i="",{scheme:r,authority:h,path:o,query:a,fragment:u}=n;if(r&&(i+=r,i+=":"),(h||r==="file")&&(i+=Qt,i+=Qt),h){let c=h.indexOf("@");if(c!==-1){const d=h.substr(0,c);h=h.substr(c+1),c=d.indexOf(":"),c===-1?i+=e(d,!1):(i+=e(d.substr(0,c),!1),i+=":",i+=e(d.substr(c+1),!1)),i+="@"}h=h.toLowerCase(),c=h.indexOf(":"),c===-1?i+=e(h,!1):(i+=e(h.substr(0,c),!1),i+=h.substr(c))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const c=o.charCodeAt(1);c>=65&&c<=90&&(o=`/${String.fromCharCode(c+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const c=o.charCodeAt(0);c>=65&&c<=90&&(o=`${String.fromCharCode(c+32)}:${o.substr(2)}`)}i+=e(o,!0)}return a&&(i+="?",i+=e(a,!1)),u&&(i+="#",i+=t?u:Yr(u,!1)),i}function Qr(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+Qr(n.substr(3)):n}}const Xr=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function I0(n){return n.match(Xr)?n.replace(Xr,t=>Qr(t)):n}class vt{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new vt(t,e)}delta(t=0,e=0){return this.with(this.lineNumber+t,this.column+e)}equals(t){return vt.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return vt.isBefore(this,t)}static isBefore(t,e){return t.lineNumberi||t===i&&e>r?(this.startLineNumber=i,this.startColumn=r,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=i,this.endColumn=r)}isEmpty(){return rt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return rt.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.columnt.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return rt.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumnt.endColumn)}strictContainsRange(t){return rt.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return rt.plusRange(this,t)}static plusRange(t,e){let i,r,h,o;return e.startLineNumbert.endLineNumber?(h=e.endLineNumber,o=e.endColumn):e.endLineNumber===t.endLineNumber?(h=e.endLineNumber,o=Math.max(e.endColumn,t.endColumn)):(h=t.endLineNumber,o=t.endColumn),new rt(i,r,h,o)}intersectRanges(t){return rt.intersectRanges(this,t)}static intersectRanges(t,e){let i=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,o=t.endColumn,a=e.startLineNumber,u=e.startColumn,c=e.endLineNumber,d=e.endColumn;return ic?(h=c,o=d):h===c&&(o=Math.min(o,d)),i>h||i===h&&r>o?null:new rt(i,r,h,o)}equalsRange(t){return rt.equalsRange(this,t)}static equalsRange(t,e){return!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return rt.getEndPosition(this)}static getEndPosition(t){return new vt(t.endLineNumber,t.endColumn)}getStartPosition(){return rt.getStartPosition(this)}static getStartPosition(t){return new vt(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new rt(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new rt(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return rt.collapseToStart(this)}static collapseToStart(t){return new rt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,e=t){return new rt(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new rt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumbert.startLineNumber}}const pu=3;function $r(n,t,e,i){return new Le(n,t,e).ComputeDiff(i)}class jr{constructor(t){const e=[],i=[];for(let r=0,h=t.length;r0&&e.originalLength<20&&e.modifiedLength>0&&e.modifiedLength<20&&h()){const _=i.createCharSequence(t,e.originalStart,e.originalStart+e.originalLength-1),m=r.createCharSequence(t,e.modifiedStart,e.modifiedStart+e.modifiedLength-1);let S=$r(_,m,h,!0).changes;a&&(S=ku(S)),R=[];for(let p=0,k=S.length;p1&&S>1;){const p=R.charCodeAt(m-2),k=_.charCodeAt(S-2);if(p!==k)break;m--,S--}(m>1||S>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,m,o+1,1,S)}{let m=mn(R,1),S=mn(_,1);const p=R.length+1,k=_.length+1;for(;m!0;const t=Date.now();return()=>Date.now()-t255?255:n|0}function W1(n){return n<0?0:n>4294967295?4294967295:n|0}class wu{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,e){t=W1(t);const i=this.values,r=this.prefixSum,h=e.length;return h===0?!1:(this.values=new Uint32Array(i.length+h),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t),t+h),this.values.set(e,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,e){return t=W1(t),e=W1(e),this.values[t]===e?!1:(this.values[t]=e,t-1=i.length)return!1;let h=i.length-t;return e>=h&&(e=h),e===0?!1:(this.values=new Uint32Array(i.length-e),this.values.set(i.subarray(0,t),0),this.values.set(i.subarray(t+e),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=W1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let e=this.prefixSumValidIndex[0]+1;e===0&&(this.prefixSum[0]=this.values[0],e++),t>=this.values.length&&(t=this.values.length-1);for(let i=e;i<=t;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let e=0,i=this.values.length-1,r=0,h=0,o=0;for(;e<=i;)if(r=e+(i-e)/2|0,h=this.prefixSum[r],o=h-this.values[r],t=h)e=r+1;else break;return new Uu(r,t-o)}}class Uu{constructor(t,e){this.index=t,this.remainder=e,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=e}}class vu{constructor(t,e,i,r){this._uri=t,this._lines=e,this._eol=i,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const e=t.changes;for(const i of e)this._acceptDeleteRange(i.range),this._acceptInsertText(new vt(i.range.startLineNumber,i.range.startColumn),i.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,e=this._lines.length,i=new Uint32Array(e);for(let r=0;r/?";function Du(n=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const e of bu)n.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}const Iu=Du();function Mu(n){let t=Iu;if(n&&n instanceof RegExp)if(n.global)t=n;else{let e="g";n.ignoreCase&&(e+="i"),n.multiline&&(e+="m"),n.unicode&&(e+="u"),t=new RegExp(n.source,e)}return t.lastIndex=0,t}const Fu={maxLen:1e3,windowSize:15,timeBudget:150};function Jr(n,t,e,i,r=Fu){if(e.length>r.maxLen){let c=n-r.maxLen/2;return c<0?c=0:i+=c,e=e.substring(c,n+r.maxLen/2),Jr(n,t,e,i,r)}const h=Date.now(),o=n-1-i;let a=-1,u=null;for(let c=1;!(Date.now()-h>=r.timeBudget);c++){const d=o-r.windowSize*c;t.lastIndex=Math.max(0,d);const f=Hu(t,e,o,a);if(!f&&u||(u=f,d<=0))break;a=d}if(u){let c={word:u[0],startColumn:i+1+u.index,endColumn:i+1+u.index+u[0].length};return t.lastIndex=0,c}return null}function Hu(n,t,e,i){let r;for(;r=n.exec(t);){const h=r.index||0;if(h<=e&&n.lastIndex>=e)return r;if(i>0&&h>i)return null}return null}class Ln{constructor(t){let e=Zr(t);this._defaultValue=e,this._asciiMap=Ln._createAsciiMap(e),this._map=new Map}static _createAsciiMap(t){let e=new Uint8Array(256);for(let i=0;i<256;i++)e[i]=t;return e}set(t,e){let i=Zr(e);t>=0&&t<256?this._asciiMap[t]=i:this._map.set(t,i)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class Bu{constructor(t,e,i){const r=new Uint8Array(t*e);for(let h=0,o=t*e;he&&(e=u),a>i&&(i=a),c>i&&(i=c)}e++,i++;let r=new Bu(i,e,0);for(let h=0,o=t.length;h=this._maxCharCode?0:this._states.get(t,e)}}let Wn=null;function Pu(){return Wn===null&&(Wn=new Vu([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Wn}let ss=null;function Gu(){if(ss===null){ss=new Ln(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let e=0;er);if(r>0){const a=e.charCodeAt(r-1),u=e.charCodeAt(o);(a===40&&u===41||a===91&&u===93||a===123&&u===125)&&o--}return{range:{startLineNumber:i,startColumn:r+1,endLineNumber:i,endColumn:o+2},url:e.substring(r,o+1)}}static computeLinks(t,e=Pu()){const i=Gu();let r=[];for(let h=1,o=t.getLineCount();h<=o;h++){const a=t.getLineContent(h),u=a.length;let c=0,d=0,f=0,R=1,_=!1,m=!1,S=!1,p=!1;for(;c=0?(r+=i?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}Kn.INSTANCE=new Kn;const qr=Object.freeze(function(n,t){const e=setTimeout(n.bind(t),0);return{dispose(){clearTimeout(e)}}});var F0;(function(n){function t(e){return e===n.None||e===n.Cancelled||e instanceof H0?!0:!e||typeof e!="object"?!1:typeof e.isCancellationRequested=="boolean"&&typeof e.onCancellationRequested=="function"}n.isCancellationToken=t,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Rn.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qr})})(F0||(F0={}));class H0{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qr:(this._emitter||(this._emitter=new Ne),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Qu{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new H0),this._token}cancel(){this._token?this._token instanceof H0&&this._token.cancel():this._token=F0.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof H0&&this._token.dispose():this._token=F0.None}}class Sn{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const B0=new Sn,pn=new Sn,On=new Sn,Xu=new Array(230),$u=Object.create(null),ju=Object.create(null);(function(){const n="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[0,1,1,"Hyper",0,n,0,n,n,n],[0,1,2,"Super",0,n,0,n,n,n],[0,1,3,"Fn",0,n,0,n,n,n],[0,1,4,"FnLock",0,n,0,n,n,n],[0,1,5,"Suspend",0,n,0,n,n,n],[0,1,6,"Resume",0,n,0,n,n,n],[0,1,7,"Turbo",0,n,0,n,n,n],[0,1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[0,1,9,"WakeUp",0,n,0,n,n,n],[31,0,10,"KeyA",31,"A",65,"VK_A",n,n],[32,0,11,"KeyB",32,"B",66,"VK_B",n,n],[33,0,12,"KeyC",33,"C",67,"VK_C",n,n],[34,0,13,"KeyD",34,"D",68,"VK_D",n,n],[35,0,14,"KeyE",35,"E",69,"VK_E",n,n],[36,0,15,"KeyF",36,"F",70,"VK_F",n,n],[37,0,16,"KeyG",37,"G",71,"VK_G",n,n],[38,0,17,"KeyH",38,"H",72,"VK_H",n,n],[39,0,18,"KeyI",39,"I",73,"VK_I",n,n],[40,0,19,"KeyJ",40,"J",74,"VK_J",n,n],[41,0,20,"KeyK",41,"K",75,"VK_K",n,n],[42,0,21,"KeyL",42,"L",76,"VK_L",n,n],[43,0,22,"KeyM",43,"M",77,"VK_M",n,n],[44,0,23,"KeyN",44,"N",78,"VK_N",n,n],[45,0,24,"KeyO",45,"O",79,"VK_O",n,n],[46,0,25,"KeyP",46,"P",80,"VK_P",n,n],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[48,0,27,"KeyR",48,"R",82,"VK_R",n,n],[49,0,28,"KeyS",49,"S",83,"VK_S",n,n],[50,0,29,"KeyT",50,"T",84,"VK_T",n,n],[51,0,30,"KeyU",51,"U",85,"VK_U",n,n],[52,0,31,"KeyV",52,"V",86,"VK_V",n,n],[53,0,32,"KeyW",53,"W",87,"VK_W",n,n],[54,0,33,"KeyX",54,"X",88,"VK_X",n,n],[55,0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[22,0,36,"Digit1",22,"1",49,"VK_1",n,n],[23,0,37,"Digit2",23,"2",50,"VK_2",n,n],[24,0,38,"Digit3",24,"3",51,"VK_3",n,n],[25,0,39,"Digit4",25,"4",52,"VK_4",n,n],[26,0,40,"Digit5",26,"5",53,"VK_5",n,n],[27,0,41,"Digit6",27,"6",54,"VK_6",n,n],[28,0,42,"Digit7",28,"7",55,"VK_7",n,n],[29,0,43,"Digit8",29,"8",56,"VK_8",n,n],[30,0,44,"Digit9",30,"9",57,"VK_9",n,n],[21,0,45,"Digit0",21,"0",48,"VK_0",n,n],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[10,1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,n,0,n,n,n],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[59,1,64,"F1",59,"F1",112,"VK_F1",n,n],[60,1,65,"F2",60,"F2",113,"VK_F2",n,n],[61,1,66,"F3",61,"F3",114,"VK_F3",n,n],[62,1,67,"F4",62,"F4",115,"VK_F4",n,n],[63,1,68,"F5",63,"F5",116,"VK_F5",n,n],[64,1,69,"F6",64,"F6",117,"VK_F6",n,n],[65,1,70,"F7",65,"F7",118,"VK_F7",n,n],[66,1,71,"F8",66,"F8",119,"VK_F8",n,n],[67,1,72,"F9",67,"F9",120,"VK_F9",n,n],[68,1,73,"F10",68,"F10",121,"VK_F10",n,n],[69,1,74,"F11",69,"F11",122,"VK_F11",n,n],[70,1,75,"F12",70,"F12",123,"VK_F12",n,n],[0,1,76,"PrintScreen",0,n,0,n,n,n],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",n,n],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[14,1,80,"Home",14,"Home",36,"VK_HOME",n,n],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[13,1,83,"End",13,"End",35,"VK_END",n,n],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",n,n],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",n,n],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",n,n],[3,1,94,"NumpadEnter",3,n,0,n,n,n],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",n,n],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",n,n],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",n,n],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",n,n],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",n,n],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",n,n],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",n,n],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",n,n],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",n,n],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",n,n],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",n,n],[58,1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[0,1,108,"Power",0,n,0,n,n,n],[0,1,109,"NumpadEqual",0,n,0,n,n,n],[71,1,110,"F13",71,"F13",124,"VK_F13",n,n],[72,1,111,"F14",72,"F14",125,"VK_F14",n,n],[73,1,112,"F15",73,"F15",126,"VK_F15",n,n],[74,1,113,"F16",74,"F16",127,"VK_F16",n,n],[75,1,114,"F17",75,"F17",128,"VK_F17",n,n],[76,1,115,"F18",76,"F18",129,"VK_F18",n,n],[77,1,116,"F19",77,"F19",130,"VK_F19",n,n],[0,1,117,"F20",0,n,0,"VK_F20",n,n],[0,1,118,"F21",0,n,0,"VK_F21",n,n],[0,1,119,"F22",0,n,0,"VK_F22",n,n],[0,1,120,"F23",0,n,0,"VK_F23",n,n],[0,1,121,"F24",0,n,0,"VK_F24",n,n],[0,1,122,"Open",0,n,0,n,n,n],[0,1,123,"Help",0,n,0,n,n,n],[0,1,124,"Select",0,n,0,n,n,n],[0,1,125,"Again",0,n,0,n,n,n],[0,1,126,"Undo",0,n,0,n,n,n],[0,1,127,"Cut",0,n,0,n,n,n],[0,1,128,"Copy",0,n,0,n,n,n],[0,1,129,"Paste",0,n,0,n,n,n],[0,1,130,"Find",0,n,0,n,n,n],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",n,n],[0,1,136,"KanaMode",0,n,0,n,n,n],[0,0,137,"IntlYen",0,n,0,n,n,n],[0,1,138,"Convert",0,n,0,n,n,n],[0,1,139,"NonConvert",0,n,0,n,n,n],[0,1,140,"Lang1",0,n,0,n,n,n],[0,1,141,"Lang2",0,n,0,n,n,n],[0,1,142,"Lang3",0,n,0,n,n,n],[0,1,143,"Lang4",0,n,0,n,n,n],[0,1,144,"Lang5",0,n,0,n,n,n],[0,1,145,"Abort",0,n,0,n,n,n],[0,1,146,"Props",0,n,0,n,n,n],[0,1,147,"NumpadParenLeft",0,n,0,n,n,n],[0,1,148,"NumpadParenRight",0,n,0,n,n,n],[0,1,149,"NumpadBackspace",0,n,0,n,n,n],[0,1,150,"NumpadMemoryStore",0,n,0,n,n,n],[0,1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[0,1,152,"NumpadMemoryClear",0,n,0,n,n,n],[0,1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[0,1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[0,1,155,"NumpadClear",0,n,0,n,n,n],[0,1,156,"NumpadClearEntry",0,n,0,n,n,n],[5,1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[4,1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[6,1,0,n,6,"Alt",18,"VK_MENU",n,n],[57,1,0,n,57,"Meta",0,"VK_COMMAND",n,n],[5,1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[4,1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[6,1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[57,1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[5,1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[4,1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[6,1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[57,1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[0,1,165,"BrightnessUp",0,n,0,n,n,n],[0,1,166,"BrightnessDown",0,n,0,n,n,n],[0,1,167,"MediaPlay",0,n,0,n,n,n],[0,1,168,"MediaRecord",0,n,0,n,n,n],[0,1,169,"MediaFastForward",0,n,0,n,n,n],[0,1,170,"MediaRewind",0,n,0,n,n,n],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",n,n],[0,1,174,"Eject",0,n,0,n,n,n],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[0,1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[0,1,180,"SelectTask",0,n,0,n,n,n],[0,1,181,"LaunchScreenSaver",0,n,0,n,n,n],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[0,1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[0,1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[0,1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[0,1,189,"ZoomToggle",0,n,0,n,n,n],[0,1,190,"MailReply",0,n,0,n,n,n],[0,1,191,"MailForward",0,n,0,n,n,n],[0,1,192,"MailSend",0,n,0,n,n,n],[109,1,0,n,109,"KeyInComposition",229,n,n,n],[111,1,0,n,111,"ABNT_C2",194,"VK_ABNT_C2",n,n],[91,1,0,n,91,"OEM_8",223,"VK_OEM_8",n,n],[0,1,0,n,0,n,0,"VK_CLEAR",n,n],[0,1,0,n,0,n,0,"VK_KANA",n,n],[0,1,0,n,0,n,0,"VK_HANGUL",n,n],[0,1,0,n,0,n,0,"VK_JUNJA",n,n],[0,1,0,n,0,n,0,"VK_FINAL",n,n],[0,1,0,n,0,n,0,"VK_HANJA",n,n],[0,1,0,n,0,n,0,"VK_KANJI",n,n],[0,1,0,n,0,n,0,"VK_CONVERT",n,n],[0,1,0,n,0,n,0,"VK_NONCONVERT",n,n],[0,1,0,n,0,n,0,"VK_ACCEPT",n,n],[0,1,0,n,0,n,0,"VK_MODECHANGE",n,n],[0,1,0,n,0,n,0,"VK_SELECT",n,n],[0,1,0,n,0,n,0,"VK_PRINT",n,n],[0,1,0,n,0,n,0,"VK_EXECUTE",n,n],[0,1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[0,1,0,n,0,n,0,"VK_HELP",n,n],[0,1,0,n,0,n,0,"VK_APPS",n,n],[0,1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[0,1,0,n,0,n,0,"VK_PACKET",n,n],[0,1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_ATTN",n,n],[0,1,0,n,0,n,0,"VK_CRSEL",n,n],[0,1,0,n,0,n,0,"VK_EXSEL",n,n],[0,1,0,n,0,n,0,"VK_EREOF",n,n],[0,1,0,n,0,n,0,"VK_PLAY",n,n],[0,1,0,n,0,n,0,"VK_ZOOM",n,n],[0,1,0,n,0,n,0,"VK_NONAME",n,n],[0,1,0,n,0,n,0,"VK_PA1",n,n],[0,1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]];let e=[],i=[];for(const r of t){const[h,o,a,u,c,d,f,R,_,m]=r;if(i[a]||(i[a]=!0,$u[u]=a,ju[u.toLowerCase()]=a),!e[c]){if(e[c]=!0,!d)throw new Error(`String representation missing for key code ${c} around scan code ${u}`);B0.define(c,d),pn.define(c,_||d),On.define(c,m||_||d)}f&&(Xu[f]=c)}})();var t2;(function(n){function t(a){return B0.keyCodeToStr(a)}n.toString=t;function e(a){return B0.strToKeyCode(a)}n.fromString=e;function i(a){return pn.keyCodeToStr(a)}n.toUserSettingsUS=i;function r(a){return On.keyCodeToStr(a)}n.toUserSettingsGeneral=r;function h(a){return pn.strToKeyCode(a)||On.strToKeyCode(a)}n.fromUserSettings=h;function o(a){if(a>=93&&a<=108)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return B0.keyCodeToStr(a)}n.toElectronAccelerator=o})(t2||(t2={}));function zu(n,t){const e=(t&65535)<<16>>>0;return(n|e)>>>0}class Dt extends rt{constructor(t,e,i,r){super(t,e,i,r),this.selectionStartLineNumber=t,this.selectionStartColumn=e,this.positionLineNumber=i,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Dt.selectionsEqual(this,t)}static selectionsEqual(t,e){return t.selectionStartLineNumber===e.selectionStartLineNumber&&t.selectionStartColumn===e.selectionStartColumn&&t.positionLineNumber===e.positionLineNumber&&t.positionColumn===e.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,e){return this.getDirection()===0?new Dt(this.startLineNumber,this.startColumn,t,e):new Dt(t,e,this.startLineNumber,this.startColumn)}getPosition(){return new vt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new vt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,e){return this.getDirection()===0?new Dt(t,e,this.endLineNumber,this.endColumn):new Dt(this.endLineNumber,this.endColumn,t,e)}static fromPositions(t,e=t){return new Dt(t.lineNumber,t.column,e.lineNumber,e.column)}static fromRange(t,e){return e===0?new Dt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Dt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Dt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,e){if(t&&!e||!t&&e)return!1;if(!t&&!e)return!0;if(t.length!==e.length)return!1;for(let i=0,r=t.length;i0){const o=t.charCodeAt(i);if(n.get(o)!==0)return!0}return!1}function tc(n,t,e,i,r){if(i+r===e)return!0;const h=t.charCodeAt(i+r);if(n.get(h)!==0||h===13||h===10)return!0;if(r>0){const o=t.charCodeAt(i+r-1);if(n.get(o)!==0)return!0}return!1}function ec(n,t,e,i,r){return qu(n,t,e,i,r)&&tc(n,t,e,i,r)}class sc{constructor(t,e){this._wordSeparators=t,this._searchRegex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const e=t.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===e||(i=this._searchRegex.exec(t),!i))return null;const r=i.index,h=i[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){nu(t,e,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||ec(this._wordSeparators,t,e,r,h))return i}while(i);return null}}class ic{static computeUnicodeHighlights(t,e,i){const r=i?i.startLineNumber:1,h=i?i.endLineNumber:t.getLineCount(),o=new b2(e),a=o.getCandidateCodePoints();let u;a==="allNonBasicAscii"?u=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):u=new RegExp(`${nc(Array.from(a))}`,"g");const c=new sc(null,u),d=[];let f=!1,R,_=0,m=0,S=0;t:for(let p=r,k=h;p<=k;p++){const C=t.getLineContent(p),g=C.length;c.reset(0);do if(R=c.next(C),R){let W=R.index,K=R.index+R[0].length;if(W>0){const O=C.charCodeAt(W-1);An(O)&&W--}if(K+1=O){f=!0;break t}d.push(new rt(p,W+1,p,K+1))}}while(R)}return{ranges:d,hasMore:f,ambiguousCharacterCount:_,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:S}}static computeUnicodeHighlightReason(t,e){switch(new b2(e).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=Yt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function nc(n,t){return`[${Ja(n.map(i=>String.fromCodePoint(i)).join(""))}]`}class b2{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const e of $e.codePoints)t.add(e);if(this.options.ambiguousCharacters)for(const e of Yt.getPrimaryConfusableCodePoints())t.add(e);for(const e of this.allowedCodePoints)t.delete(e);return t}shouldHighlightNonBasicASCII(t){const e=t.codePointAt(0);return this.allowedCodePoints.has(e)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` +`||t===" ")&&$e.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&Yt.isAmbiguous(e)?3:0}}var Ze=function(n,t,e,i){function r(h){return h instanceof e?h:new e(function(o){o(h)})}return new(e||(e=Promise))(function(h,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function u(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?h(d.value):r(d.value).then(a,u)}c((i=i.apply(n,t||[])).next())})};class rc extends vu{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,e){let i=Jr(t.column,Mu(e),this._lines[t.lineNumber-1],0);return i?new rt(t.lineNumber,i.startColumn,t.lineNumber,i.endColumn):null}words(t){const e=this._lines,i=this._wordenize.bind(this);let r=0,h="",o=0,a=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)e=this._lines.length,i=this._lines[e-1].length+1,r=!0;else{let h=this._lines[e-1].length+1;i<1?(i=1,r=!0):i>h&&(i=h,r=!0)}return r?{lineNumber:e,column:i}:t}}class K1{constructor(t,e){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=e,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(e=>t.push(this._models[e])),t}acceptNewModel(t){this._models[t.url]=new rc(ze.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,e){if(!this._models[t])return;this._models[t].onEvents(e)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,e,i){return Ze(this,void 0,void 0,function*(){const r=this._getModel(t);return r?ic.computeUnicodeHighlights(r,e,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,e,i,r){return Ze(this,void 0,void 0,function*(){const h=this._getModel(t),o=this._getModel(e);if(!h||!o)return null;const a=h.getLinesContent(),u=o.getLinesContent(),d=new yu(a,u,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:i,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),f=d.changes.length>0?!1:this._modelsAreIdentical(h,o);return{quitEarly:d.quitEarly,identical:f,changes:d.changes}})}_modelsAreIdentical(t,e){const i=t.getLineCount(),r=e.getLineCount();if(i!==r)return!1;for(let h=1;h<=i;h++){const o=t.getLineContent(h),a=e.getLineContent(h);if(o!==a)return!1}return!0}computeMoreMinimalEdits(t,e){return Ze(this,void 0,void 0,function*(){const i=this._getModel(t);if(!i)return e;const r=[];let h;e=e.slice(0).sort((o,a)=>{if(o.range&&a.range)return rt.compareRangesUsingStarts(o.range,a.range);let u=o.range?0:1,c=a.range?0:1;return u-c});for(let{range:o,text:a,eol:u}of e){if(typeof u=="number"&&(h=u),rt.isEmpty(o)&&!a)continue;const c=i.getValueInRange(o);if(a=a.replace(/\r\n|\n|\r/g,i.eol),c===a)continue;if(Math.max(a.length,c.length)>K1._diffLimit){r.push({range:o,text:a});continue}const d=fu(c,a,!1),f=i.offsetAt(rt.lift(o).getStartPosition());for(const R of d){const _=i.positionAt(f+R.originalStart),m=i.positionAt(f+R.originalStart+R.originalLength),S={text:a.substr(R.modifiedStart,R.modifiedLength),range:{startLineNumber:_.lineNumber,startColumn:_.column,endLineNumber:m.lineNumber,endColumn:m.column}};i.getValueInRange(S.range)!==S.text&&r.push(S)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return Ze(this,void 0,void 0,function*(){let e=this._getModel(t);return e?Yu(e):null})}textualSuggest(t,e,i,r){return Ze(this,void 0,void 0,function*(){const h=new v0(!0),o=new RegExp(i,r),a=new Set;t:for(let u of t){const c=this._getModel(u);if(c){for(let d of c.words(o))if(!(d===e||!isNaN(Number(d)))&&(a.add(d),a.size>K1._suggestionsLimit))break t}}return{words:Array.from(a),duration:h.elapsed()}})}computeWordRanges(t,e,i,r){return Ze(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const o=new RegExp(i,r),a=Object.create(null);for(let u=e.startLineNumber;uthis._host.fhr(a,u)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,e),Promise.resolve(Tn(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,e){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,e))}catch(i){return Promise.reject(i)}}}K1._diffLimit=1e5,K1._suggestionsLimit=1e4,typeof importScripts=="function"&&(Nt.monaco=Ju());let vn=!1;function D2(n){if(vn)return;vn=!0;const t=new du(e=>{self.postMessage(e)},e=>new K1(e,n));self.onmessage=e=>{t.onmessage(e.data)}}self.onmessage=n=>{vn||D2(null)};var hc=Object.defineProperty,x=(n,t)=>hc(n,"name",{value:t,configurable:!0}),pe=(U1=class{constructor(t){l(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},x(U1,"Transition"),l(U1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),U1),bn=(Ws=class extends pe{constructor(t){super(t)}},x(Ws,"AbstractPredicateTransition"),Ws),w={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},I2=(Ks=class extends pe{constructor(e,i,r,h){super(e);l(this,"ruleIndex");l(this,"actionIndex");l(this,"isCtxDependent");this.ruleIndex=i,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return w.ACTION}matches(e,i,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},x(Ks,"ActionTransition"),Ks),Q=(xe=class{constructor(t){l(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===xe.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},x(xe,"PredictionContext"),l(xe,"EMPTY_RETURN_STATE",2147483647),l(xe,"EMPTY"),l(xe,"trace_atn_sim",!1),xe),M2=3432918353,F2=461845907,V0=15,P0=13,H2=5,B2=3864292196,ne=(u1=class{constructor(){l(this,"count");l(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const e=new u1;return e.update(t),e.finish()}static hashString(t=0,e){let i=3735928559^t,r=1103547991^t;for(const h of e){const o=h.charCodeAt(0);i=Math.imul(i^o,2654435761),r=Math.imul(r^o,1597334677)}return i=Math.imul(i^i>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),Math.imul(4294967296,2097151&r)+(i>>>0)}update(...t){for(const e of t)if(e!=null)if(Array.isArray(e))this.update(...e);else{let i=0;switch(typeof e){case"undefined":case"function":continue;case"number":{i=e;break}case"boolean":{i=e?1237:4327;break}case"string":{i=u1.hashString(this.hash,e);break}default:{e.updateHashCode(this);continue}}this.count=this.count+1,i=Math.imul(i,M2),i=i<>>32-V0,i=Math.imul(i,F2);let r=this.hash^i;r=r<>>32-P0,this.hash=Math.imul(r,H2)+B2}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,M2),t=t<>>32-V0,t=Math.imul(t,F2);let e=this.hash^t;e=e<>>32-P0,this.hash=Math.imul(e,H2)+B2}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},x(u1,"HashCode"),u1),oc=x(n=>typeof n.equals=="function","isComparable"),ac=x(n=>n===null?"null":n,"valueToString"),Je=x(n=>Array.isArray(n)?"["+n.map(ac).join(", ")+"]":"null","arrayToString"),ns=x((n,t)=>{if(n===t)return!0;if(n.length!==t.length)return!1;for(let e=0;e(n=n.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(n=n.replace(/ /g,"·")),n),"escapeWhitespace"),V2=x((n,t)=>n?n.equals(t):n===t,"standardEqualsFunction"),cc=Math.round(Math.random()*Math.pow(2,32)),lc=x(n=>{let t,e;const i=n.length&3,r=n.length-i;let h=cc;const o=3432918353,a=461845907;let u=0;for(;u>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*a+(((e>>>16)*a&65535)<<16)&4294967295,h^=e,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(e=0,i){case 3:e^=(n.charCodeAt(u+2)&255)<<16;case 2:e^=(n.charCodeAt(u+1)&255)<<8;case 1:e^=n.charCodeAt(u)&255,e=(e&65535)*o+(((e>>>16)*o&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*a+(((e>>>16)*a&65535)<<16)&4294967295,h^=e}return h^=n.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),P2=x(n=>n?typeof n=="string"?lc(n):n.hashCode():-1,"standardHashCodeFunction"),Oe=(v1=class extends Q{constructor(e,i){const r=new ne;r.update(e,i);const h=r.finish();super(h);l(this,"parents",[]);l(this,"returnStates",[]);return this.parents=e,this.returnStates=i,this}isEmpty(){return this.returnStates[0]===Q.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(e){return this===e?!0:!(e instanceof v1)||this.hashCode()!==e.hashCode()?!1:ns(this.returnStates,e.returnStates)&&ns(this.parents,e.parents)}toString(){if(this.isEmpty())return"[]";{let e="[";for(let i=0;i0&&(e=e+", "),this.returnStates[i]===Q.EMPTY_RETURN_STATE){e=e+"$";continue}e=e+this.returnStates[i],this.parents[i]!==null?e=e+" "+this.parents[i]:e=e+"null"}return e+"]"}}get length(){return this.returnStates.length}},x(v1,"ArrayPredictionContext"),v1),G0;(n=>{n.EOF=-1,n.UNKNOWN_SOURCE_NAME=""})(G0||(G0={}));var N;(n=>{n.INVALID_TYPE=0,n.EPSILON=-2,n.MIN_USER_TOKEN_TYPE=1,n.EOF=G0.EOF,n.DEFAULT_CHANNEL=0,n.HIDDEN_CHANNEL=1,n.MIN_USER_CHANNEL_VALUE=2})(N||(N={}));var G2=x(n=>{const t=n;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),Ht=(Ss=class{constructor(t,e){l(this,"data");l(this,"hashFunction");l(this,"equalsFunction");this.data={},this.hashFunction=t??P2,this.equalsFunction=e??V2}add(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const r of i)if(this.equalsFunction(t,r))return r;return i.push(t),t}else return this.data[e]=[t],t}has(t){return this.get(t)!=null}get(t){const e=this.hashFunction(t);if(e in this.data){const i=this.data[e];for(const r of i)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return Je(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},x(Ss,"HashSet"),Ss),it=(te=class{static andContext(t,e){if(t===null||t===te.NONE)return e;if(e===null||e===te.NONE)return t;const i=new dc(t,e);return i.opnds.length===1?i.opnds[0]:i}static orContext(t,e){if(t===null)return e;if(e===null)return t;if(t===te.NONE||e===te.NONE)return te.NONE;const i=new Ec(t,e);return i.opnds.length===1?i.opnds[0]:i}static filterPrecedencePredicates(t){const e=[];return t.values().forEach(i=>{i instanceof te.PrecedencePredicate&&e.push(i)}),e}hashCode(){const t=new ne;return this.updateHashCode(t),t.finish()}evalPrecedence(t,e){return this}},x(te,"SemanticContext"),te),dc=(Ie=class extends it{constructor(e,i){super();l(this,"opnds");const r=new Ht;e instanceof Ie?e.opnds.forEach(o=>{r.add(o)}):r.add(e),i instanceof Ie?i.opnds.forEach(o=>{r.add(o)}):r.add(i);const h=it.filterPrecedencePredicates(r);if(h.length>0){let o=null;h.forEach(a=>{(o===null||a.precedence{o=o===null?a:it.andContext(o,a)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("&&")}},x(Ie,"AND"),Ie),Ec=(Me=class extends it{constructor(e,i){super();l(this,"opnds");const r=new Ht;e instanceof Me?e.opnds.forEach(o=>{r.add(o)}):r.add(e),i instanceof Me?i.opnds.forEach(o=>{r.add(o)}):r.add(i);const h=it.filterPrecedencePredicates(r);if(h.length>0){const o=h.sort((u,c)=>u.compareTo(c)),a=o[o.length-1];r.add(a)}this.opnds=Array.from(r.values())}equals(e){return this===e?!0:e instanceof Me?ns(this.opnds,e.opnds):!1}updateHashCode(e){e.update(this.opnds),e.updateWithHashCode(3383313031)}evaluate(e,i){for(const r of this.opnds)if(r.evaluate(e,i))return!0;return!1}evalPrecedence(e,i){let r=!1;const h=[];for(const a of this.opnds){const u=a.evalPrecedence(e,i);if(r||(r=u!==a),u===it.NONE)return it.NONE;u!==null&&h.push(u)}if(!r)return this;if(h.length===0)return null;let o=null;return h.forEach(a=>{o=o===null?a:it.orContext(o,a)}),o}toString(){const e=this.opnds.map(i=>i.toString());return(e.length>3?e.slice(3):e).join("||")}},x(Me,"OR"),Me);(n=>{const i=class i extends n{constructor(a,u,c){super();l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=a??-1,this.predIndex=u??-1,this.isCtxDependent=c??!1}evaluate(a,u){const c=this.isCtxDependent?u:null;return a.sempred(c,this.ruleIndex,this.predIndex)}updateHashCode(a){a.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(a){return this===a?!0:a instanceof i?this.ruleIndex===a.ruleIndex&&this.predIndex===a.predIndex&&this.isCtxDependent===a.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};x(i,"Predicate");let t=i;n.Predicate=t;const r=class r extends n{constructor(a){super();l(this,"precedence");this.precedence=a??0}evaluate(a,u){return a.precpred(u,this.precedence)}evalPrecedence(a,u){return a.precpred(u,this.precedence)?n.NONE:null}compareTo(a){return this.precedence-a.precedence}updateHashCode(a){a.update(this.precedence)}equals(a){return this===a?!0:a instanceof r?this.precedence===a.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};x(r,"PrecedencePredicate");let e=r;n.PrecedencePredicate=e,n.NONE=new t})(it||(it={}));var fc=x(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),Rc=x(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:n.reachesIntoOuterContext??0,precedenceFilterSuppressed:n.precedenceFilterSuppressed??!1},"checkConfig"),Tt=(c1=class{constructor(t,e){l(this,"state");l(this,"alt");l(this,"context");l(this,"reachesIntoOuterContext");l(this,"precedenceFilterSuppressed",!1);l(this,"semanticContext");this.checkContext(t,e);const i=fc(t),r=Rc(e);this.state=i.state??r.state,this.alt=i.alt??r.alt??0,this.context=i.context??r.context,this.semanticContext=i.semanticContext??r.semanticContext??it.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new ne;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof c1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new ne;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof c1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,e=!0){let i="";return e&&(i=","+this.alt),"("+this.state+i+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==it.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,e){(t.context===null||t.context===void 0)&&(e===null||e.context===null||e.context===void 0)&&(this.context=null)}},x(c1,"ATNConfig"),c1),X=(ct=class{constructor(t,e){l(this,"start");l(this,"stop");this.start=t,this.stop=e}static of(t,e){return t!==e||t<0||t>ct.INTERVAL_POOL_MAX_VALUE?new ct(t,e):(ct.cache[t]===null&&(ct.cache[t]=new ct(t,t)),ct.cache[t])}equals(t){return t instanceof ct?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return ct.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return ct.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let e=null;return t.startsBeforeNonDisjoint(this)?e=ct.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(e=ct.of(this.start,t.start-1)),e}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{a.syntaxError(t,e,i,r,h,o)})}reportAmbiguity(t,e,i,r,h,o,a){this.delegates.forEach(u=>{u.reportAmbiguity(t,e,i,r,h,o,a)})}reportAttemptingFullContext(t,e,i,r,h,o){this.delegates.forEach(a=>{a.reportAttemptingFullContext(t,e,i,r,h,o)})}reportContextSensitivity(t,e,i,r,h,o){this.delegates.forEach(a=>{a.reportContextSensitivity(t,e,i,r,h,o)})}},x(Os,"ProxyErrorListener"),Os),Y2=(Pt=class{constructor(){l(this,"interpreter");z(this,de,[Tc.INSTANCE]);z(this,ks,-1)}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){L(this,de).push(t)}removeErrorListeners(){Y(this,de,[])}removeErrorListener(t){for(let e=0;ee.set(i,r)),Pt.ruleIndexMapCache.set(t,e)),e}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||N.INVALID_TYPE}getErrorHeader(t){var r,h;const e=(r=t.offendingToken)==null?void 0:r.line,i=(h=t.offendingToken)==null?void 0:h.column;return"line "+e+":"+i}getErrorListenerDispatch(){return new Ac(L(this,de))}sempred(t,e,i){return!0}precpred(t,e){return!0}action(t,e,i){}get atn(){return this.interpreter.atn}get state(){return L(this,ks)}set state(t){Y(this,ks,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},de=new WeakMap,ks=new WeakMap,x(Pt,"Recognizer"),l(Pt,"EOF",-1),l(Pt,"tokenTypeMapCache",new Map),l(Pt,"ruleIndexMapCache",new Map),Pt),xc=(Fe=class{constructor(t,e,i,r,h){l(this,"source");l(this,"tokenIndex",-1);l(this,"start",0);l(this,"stop",0);l(this,"type",0);l(this,"line",0);l(this,"column",-1);l(this,"channel",N.DEFAULT_CHANNEL);z(this,Ee,null);this.source=t,this.type=e,this.channel=i??N.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new Fe(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Y(t,Ee,L(this,Ee)),t}cloneWithType(t){const e=new Fe(this.source,t,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,t===N.EOF&&Y(e,Ee,""),e}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let i=this.text;i?(i=i.replace(/\n/g,"\\n"),i=i.replace(/\r/g,"\\r"),i=i.replace(/\t/g,"\\t")):i="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+i+"',<"+r+">"+e+","+this.line+":"+this.column+"]"}get text(){if(L(this,Ee)!==null)return L(this,Ee);const t=this.inputStream;if(t===null)return null;const e=t.size;return this.start"}set text(t){Y(this,Ee,t)}setText(t){Y(this,Ee,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},Ee=new WeakMap,x(Fe,"CommonToken"),l(Fe,"EMPTY_SOURCE",[null,null]),Fe),gc=(d1=class{constructor(t){l(this,"copyText",!1);this.copyText=t??!1}create(t,e,i,r,h,o,a,u){const c=new xc(t,e,r,h,o);return c.line=a,c.column=u,i!==null?c.text=i:this.copyText&&t[1]!==null&&(c.text=t[1].getText(h,o)),c}},x(d1,"CommonTokenFactory"),l(d1,"DEFAULT",new d1),d1),A=(b1=class extends Error{constructor(e){super(e.message);l(this,"ctx");l(this,"offendingToken",null);l(this,"offendingState",-1);l(this,"recognizer");l(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,b1),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},x(b1,"RecognitionException"),b1),rs=(ys=class extends A{constructor(e,i,r,h){super({message:"",recognizer:e,input:i,ctx:null});l(this,"startIndex");l(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let e="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(e=>"{"+e.key+":"+e.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},x(ws,"HashMap"),ws),Re=(Us=class{constructor(t){l(this,"parent",null);l(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return X.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new X(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,e;return((t=this.symbol)==null?void 0:t.type)===N.EOF?"":((e=this.symbol)==null?void 0:e.text)??""}toStringTree(){return this.toString()}},x(Us,"TerminalNode"),Us),hs=(vs=class extends Re{accept(t){return t.visitErrorNode(this)}},x(vs,"ErrorNode"),vs),ke=(Mt=class{static toStringTree(t,e,i){e=e??null,i=i??null,i!==null&&(e=i.ruleNames);let r=Mt.getNodeText(t,e);r=uc(r,!1);const h=t.getChildCount();if(h===0)return r;let o="("+r+" ";h>0&&(r=Mt.toStringTree(t.getChild(0),e),o=o.concat(r));for(let a=1;at.getText()).join("")}getAltNumber(){return I.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?ke.toStringTree(this,null,t[0]):ke.toStringTree(this,t[0],t[1])}toString(t,e){t=t??null,e=e??null;let i=this,r="[";for(;i!==null&&i!==e;){if(t===null)i.isEmpty()||(r+=i.invokingState);else{const h=i.ruleIndex,o=h>=0&&h{super(...X7);l(this,"start",null);l(this,"stop",null);l(this,"exception",null)};e?t(e,i):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(e){super.parent=e}copyFrom(e){this.parent=e.parent,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.forEach(i=>{i instanceof hs&&(this.children.push(i),i.parent=this)},this))}enterRule(e){}exitRule(e){}addAnyChild(e){return this.children==null&&(this.children=[]),this.children.push(e),e}addChild(e){return this.addAnyChild(e)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const i=new Re(e);return this.addAnyChild(i),i.parent=this,i}addErrorNode(e){return e.parent=this,this.addAnyChild(e)}getChild(e,i){if(this.children===null||e<0||e>=this.children.length)return null;if(i){for(const r of this.children)if(r instanceof i){if(e===0)return r;e-=1}return null}else return this.children[e]}getToken(e,i){var r;if(this.children===null||i<0||i>=this.children.length)return null;for(const h of this.children)if(h instanceof Re&&((r=h.symbol)==null?void 0:r.type)===e){if(i===0)return h;i-=1}return null}getTokens(e){var i;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof Re&&((i=h.symbol)==null?void 0:i.type)===e&&r.push(h);return r}}getRuleContext(e,i){return this.getChild(e,i)}getRuleContexts(e){if(this.children===null)return[];{const i=[];for(const r of this.children)r instanceof e&&i.push(r);return i}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?X.INVALID_INTERVAL:new X(this.start.tokenIndex,this.stop.tokenIndex)}},x(f1,"ParserRuleContext"),l(f1,"EMPTY",new f1),f1),In=x((n,t)=>{if(t==null&&(t=T.EMPTY),t.parent===null||t===T.EMPTY)return Q.EMPTY;const e=In(n,t.parent),r=n.states[t.invokingState].transitions[0];return Bt.create(e,r.followState.stateNumber)},"predictionContextFromRuleContext"),X2=x((n,t,e)=>{if(n.isEmpty())return n;let i=e.get(n)||null;if(i!==null)return i;if(i=t.get(n),i!==null)return e.set(n,i),i;let r=!1,h=[];for(let a=0;a{if(n===t)return n;if(n instanceof Bt&&t instanceof Bt)return Nc(n,t,e,i);if(e){if(n instanceof Q2)return n;if(t instanceof Q2)return t}return n instanceof Bt&&(n=new Oe([n.parent],[n.returnState])),t instanceof Bt&&(t=new Oe([t.parent],[t.returnState])),_c(n,t,e,i)},"merge"),_c=x((n,t,e,i)=>{if(i!==null){let d=i.get(n,t);if(d!==null||(d=i.get(t,n),d!==null))return d}let r=0,h=0,o=0,a=new Array(n.returnStates.length+t.returnStates.length).fill(0),u=new Array(n.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new qe;for(const e of n)e&&(t.containsKey(e)||t.set(e,e));for(let e=0;e{if(i!==null){let h=i.get(n,t);if(h!==null||(h=i.get(t,n),h!==null))return h}const r=mc(n,t,e);if(r!==null)return i!==null&&i.set(n,t,r),r;if(n.returnState===t.returnState){const h=Mn(n.parent,t.parent,e,i);if(h===n.parent)return n;if(h===t.parent)return t;const o=Bt.create(h,n.returnState);return i!==null&&i.set(n,t,o),o}else{let h=null;if((n===t||n.parent!==null&&n.parent===t.parent)&&(h=n.parent),h!==null){const c=[n.returnState,t.returnState];n.returnState>t.returnState&&(c[0]=t.returnState,c[1]=n.returnState);const d=[h,h],f=new Oe(d,c);return i!==null&&i.set(n,t,f),f}const o=[n.returnState,t.returnState];let a=[n.parent,t.parent];n.returnState>t.returnState&&(o[0]=t.returnState,o[1]=n.returnState,a=[t.parent,n.parent]);const u=new Oe(a,o);return i!==null&&i.set(n,t,u),u}},"mergeSingletons"),mc=x((n,t,e)=>{if(e){if(n===Q.EMPTY||t===Q.EMPTY)return Q.EMPTY}else{if(n===Q.EMPTY&&t===Q.EMPTY)return Q.EMPTY;if(n===Q.EMPTY){const i=[t.returnState,Q.EMPTY_RETURN_STATE],r=[t.parent,null];return new Oe(r,i)}else if(t===Q.EMPTY){const i=[n.returnState,Q.EMPTY_RETURN_STATE],r=[n.parent,null];return new Oe(r,i)}}return null},"mergeRoot"),re=(Is=class{constructor(t){l(this,"data");t?this.data=new Uint32Array(t.map(e=>e>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,i=this.data[e];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return e>=this.data.length?!1:(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const i=new Uint32Array(e);i.set(this.data),i.fill(0,this.data.length),this.data=i}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},x(Is,"BitSet"),Is),Lc=x(n=>n.hashCodeForConfigSet(),"hashATNConfig"),Wc=x((n,t)=>n===t?!0:n===null||t===null?!1:n.equalsForConfigSet(t),"equalATNConfigs"),Xt=(D1=class{constructor(t){l(this,"configs",[]);l(this,"hasSemanticContext",!1);l(this,"dipsIntoOuterContext",!1);l(this,"fullCtx");l(this,"uniqueAlt",0);l(this,"configLookup",new Ht(Lc,Wc));l(this,"conflictingAlts",null);l(this,"readOnly",!1);l(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,e){if(e===void 0&&(e=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==it.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const i=this.configLookup.add(t);if(i===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=Mn(i.context,t.context,r,e);return i.reachesIntoOuterContext=Math.max(i.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(i.precedenceFilterSuppressed=!0),i.context=h,!0}getStates(){const t=new Ht;for(const e of this.configs)t.add(e.state);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==it.NONE&&t.push(e.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e,null);return!1}equals(t){return this===t||t instanceof D1&&ns(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new ne;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new Ht}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new Ht)}toString(){return Je(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==I.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new re;for(let e of this.configs)t.set(e.alt);return t}},x(D1,"ATNConfigSet"),D1),Te=(I1=class{constructor(t){l(this,"stateNumber",-1);l(this,"configs",new Xt);l(this,"edges",null);l(this,"isAcceptState",!1);l(this,"prediction",-1);l(this,"lexerActionExecutor",null);l(this,"requiresFullContext",!1);l(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new ne;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof I1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=Je(this.predicates):t+=this.prediction),t.toString()}},x(I1,"DFAState"),I1);(n=>{const e=class e{constructor(r,h){l(this,"pred");l(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};x(e,"PredPrediction");let t=e;n.PredPrediction=t})(Te||(Te={}));var he=(M1=class{constructor(t,e){l(this,"atn");l(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=e,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const e=new qe;return X2(t,this.sharedContextCache,e)}getSharedContextCache(){return this.sharedContextCache}},x(M1,"ATNSimulator"),l(M1,"ERROR",new Te(2147483647)),M1),$2=(Ms=class extends Xt{constructor(){super(),this.configLookup=new Ht}},x(Ms,"OrderedATNConfigSet"),Ms),oe=(Be=class{constructor(){l(this,"atn");l(this,"stateNumber");l(this,"ruleIndex");l(this,"epsilonOnlyTransitions");l(this,"nextTokenWithinRule");l(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Be.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Be?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,e){e===void 0&&(e=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),e===-1?this.transitions.push(t):this.transitions.splice(e,1,t)}},x(Be,"ATNState"),l(Be,"INVALID_STATE_NUMBER",-1),Be),V={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},kt=(Fs=class extends oe{get stateType(){return V.RULE_STOP}},x(Fs,"RuleStopState"),Fs),t1=(Hs=class extends oe{constructor(){super(...arguments);l(this,"decision",-1);l(this,"nonGreedy",!1)}},x(Hs,"DecisionState"),Hs),ae=(F1=class extends Tt{constructor(e,i){super(e,i);l(this,"lexerActionExecutor");l(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=e.lexerActionExecutor??(i==null?void 0:i.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=i!==null?this.checkNonGreedyDecision(i,this.state):!1,this}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(e){return this===e||e instanceof F1&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&super.equals(e)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(e){return this.equals(e)}checkNonGreedyDecision(e,i){return e.passedThroughNonGreedyDecision||i instanceof t1&&i.nonGreedy}},x(F1,"LexerATNConfig"),F1),ue=(Bs=class{constructor(t){l(this,"actionType");l(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new ne;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},x(Bs,"LexerAction"),Bs),Fn=(H1=class extends ue{constructor(e,i){super(i.actionType);l(this,"offset");l(this,"action");this.offset=e,this.action=i,this.isPositionDependent=!0}execute(e){this.action.execute(e)}updateHashCode(e){e.update(this.actionType,this.offset,this.action)}equals(e){return this===e?!0:e instanceof H1?this.offset===e.offset&&this.action===e.action:!1}},x(H1,"LexerIndexedCustomAction"),H1),Kc=(ge=class extends ue{constructor(e){super(-1);l(this,"lexerActions");l(this,"cachedHashCode");return this.lexerActions=e===null?[]:e,this.cachedHashCode=ne.hashStuff(e),this}static append(e,i){if(e===null)return new ge([i]);const r=e.lexerActions.concat([i]);return new ge(r)}fixOffsetBeforeMatch(e){let i=null;for(let r=0;r",t+=this.getStateString(o),t+=` +`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const e=t.stateNumber,i=(t.isAcceptState?":":"")+"s"+e+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${i}=>${t.predicates.toString()}`:`${i}=>${t.prediction}`:`${i}`}},x(Vs,"DFASerializer"),Vs),ce=(Kt=class{constructor(t,e,i){l(this,"maxTokenType");l(this,"literalNames");l(this,"symbolicNames");l(this,"displayNames");this.literalNames=t??Kt.EMPTY_NAMES,this.symbolicNames=e??Kt.EMPTY_NAMES,this.displayNames=i??Kt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return Kt.EMPTY_VOCABULARY;const e=[...t],i=[...t];for(let r=0;r0){const o=h.charAt(0);if(o==="'"){i[r]=null;continue}else if(o.toUpperCase()===o){e[r]=null;continue}}e[r]=null,i[r]=null}}return new Kt(e,i,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(e)+"'")}},x(Ps,"LexerDFASerializer"),Ps),ye=(Gs=class extends t1{constructor(){super();l(this,"loopBackState");l(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return V.STAR_LOOP_ENTRY}},x(Gs,"StarLoopEntryState"),Gs),e1=(Ys=class{constructor(t,e){l(this,"states",new Ht);l(this,"s0",null);l(this,"decision");l(this,"atnStartState");l(this,"precedenceDfa");l(this,"isPrecedenceDfa",()=>this.precedenceDfa);l(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});l(this,"setPrecedenceStartState",(t,e)=>{var i;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((i=this.s0)!=null&&i.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=e}});this.atnStartState=t,this.decision=e??0;let i=!1;if(t instanceof ye&&t.precedenceRuleDecision){i=!0;const r=new Te;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=i}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((e,i)=>e.stateNumber-i.stateNumber),t}toString(t){return t?this.s0===null?"":new j2(this,t).toString()??"":this.toString(ce.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new Sc(this).toString()??""}},x(Ys,"DFA"),Ys),s1=(tt=class extends he{constructor(e,i,r,h){super(i,h);l(this,"decisionToDFA");l(this,"recog",null);l(this,"startIndex",-1);l(this,"line",1);l(this,"column",0);l(this,"mode",Vt.DEFAULT_MODE);l(this,"prevAccept",new tt.SimState);this.decisionToDFA=r,this.recog=e}copyState(e){this.column=e.column,this.line=e.line,this.mode=e.mode,this.startIndex=e.startIndex}match(e,i){this.mode=i;const r=e.mark();try{this.startIndex=e.index,this.prevAccept.reset();const h=this.decisionToDFA[i];return h.s0===null?this.matchATN(e):this.execATN(e,h.s0)}finally{e.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Vt.DEFAULT_MODE}getDFA(e){return this.decisionToDFA[e]}getText(e){return e.getText(this.startIndex,e.index-1)}consume(e){e.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,e.consume()}getTokenName(e){return e===-1?"EOF":"'"+String.fromCharCode(e)+"'"}clearDFA(){for(let e=0;ett.MAX_DFA_EDGE)return null;let r=e.edges[i-tt.MIN_DFA_EDGE];return r===void 0&&(r=null),tt.debug&&r!==null&&console.log("reuse state "+e.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(e,i,r){const h=new $2;return this.getReachableConfigSet(e,i.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(i,r,he.ERROR),he.ERROR):this.addDFAEdge(i,r,null,h)}failOrAccept(e,i,r,h){if(e.dfaState!==null){const o=e.dfaState.lexerActionExecutor;return this.accept(i,o,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}else{if(h===N.EOF&&i.index===this.startIndex)return N.EOF;throw new rs(this.recog,i,this.startIndex,r)}}getReachableConfigSet(e,i,r,h){let o=I.INVALID_ALT_NUMBER;for(const a of i.items){const u=a.alt===o;if(!(u&&a.passedThroughNonGreedyDecision)){tt.debug&&console.log(`testing %s at %s +`,this.getTokenName(h),a.toString(this.recog,!0));for(const c of a.state.transitions){const d=this.getReachableTarget(c,h);if(d!==null){let f=a.lexerActionExecutor;f!==null&&(f=f.fixOffsetBeforeMatch(e.index-this.startIndex));const R=h===N.EOF,_=new ae({state:d,lexerActionExecutor:f},a);this.closure(e,_,r,u,!0,R)&&(o=a.alt)}}}}}accept(e,i,r,h,o,a){tt.debug&&console.log(`ACTION %s +`,i),e.seek(h),this.line=o,this.column=a,i!==null&&this.recog!==null&&i.execute(this.recog,e,r)}getReachableTarget(e,i){return e.matches(i,0,Vt.MAX_CHAR_VALUE)?e.target:null}computeStartState(e,i){const r=Q.EMPTY,h=new $2;for(let o=0;ott.MAX_DFA_EDGE||(tt.debug&&console.log("EDGE "+e+" -> "+r+" upon "+i),e.edges===null&&(e.edges=new Array(tt.MAX_DFA_EDGE-tt.MIN_DFA_EDGE+1),e.edges.fill(null)),e.edges[i-tt.MIN_DFA_EDGE]=r),r}addDFAState(e){const i=new Te(e);let r=null;for(const u of e.items)if(u.state instanceof kt){r=u;break}r!==null&&(i.isAcceptState=!0,i.lexerActionExecutor=r.lexerActionExecutor,i.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],o=h.states.get(i);if(o!==null)return o;const a=i;return a.stateNumber=h.states.length,e.setReadonly(!0),a.configs=e,h.states.add(a),a}},x(tt,"LexerATNSimulator"),l(tt,"MIN_DFA_EDGE",0),l(tt,"MAX_DFA_EDGE",127),l(tt,"debug",!1),l(tt,"dfa_debug",!1),tt);(n=>{const e=class e{constructor(){l(this,"index",-1);l(this,"line",0);l(this,"column",-1);l(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};x(e,"SimState");let t=e;n.SimState=t})(s1||(s1={}));var Vt=(gt=class extends Y2{constructor(e){super();l(this,"_input");l(this,"_token",null);l(this,"_tokenStartCharIndex",-1);l(this,"_tokenStartLine",0);l(this,"_tokenStartColumn",0);l(this,"_hitEOF",!1);l(this,"_channel",0);l(this,"_type",0);l(this,"_modeStack",[]);l(this,"_mode",gt.DEFAULT_MODE);l(this,"_text",null);l(this,"_factory");this._input=e,this._factory=gc.DEFAULT}reset(e=!0){e&&this._input.seek(0),this._token=null,this._type=N.INVALID_TYPE,this._channel=N.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=gt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const e=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=N.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let i=!1;for(;;){this._type=N.INVALID_TYPE;let r=gt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof rs)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===N.EOF&&(this._hitEOF=!0),this._type===N.INVALID_TYPE&&(this._type=r),this._type===gt.SKIP){i=!0;break}if(this._type!==gt.MORE)break}if(!i)return this._token===null&&this.emit(),this._token}}finally{this._input.release(e)}}skip(){this._type=gt.SKIP}more(){this._type=gt.MORE}mode(e){this._mode=e}pushMode(e){s1.debug&&console.log("pushMode "+e),this._modeStack.push(this._mode),this.mode(e)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return s1.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(e){this._token=e}emit(){const e=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(e),e}emitEOF(){const e=this.column,i=this.line,r=this._factory.create([this,this._input],N.EOF,null,N.DEFAULT_CHANNEL,this._input.index,this._input.index-1,i,e);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const e=[];let i=this.nextToken();for(;i.type!==N.EOF;)e.push(i),i=this.nextToken();return e}notifyListeners(e){const i=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(i,r),o="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,e)}getErrorDisplay(e){return e}getErrorDisplayForChar(e){return e.charCodeAt(0)===N.EOF?"":e===` +`?"\\n":e===" "?"\\t":e==="\r"?"\\r":e}getCharErrorDisplay(e){return"'"+this.getErrorDisplayForChar(e)+"'"}recover(e){this._input.LA(1)!==N.EOF&&(e instanceof rs?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this.reset(!1),this._input=e}set tokenFactory(e){this._factory=e}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(e){this._type=e}get line(){return this.interpreter.line}set line(e){this.interpreter.line=e}get column(){return this.interpreter.column}set column(e){this.interpreter.column=e}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(e){this._text=e}},x(gt,"Lexer"),l(gt,"DEFAULT_MODE",0),l(gt,"MORE",-2),l(gt,"SKIP",-3),l(gt,"DEFAULT_TOKEN_CHANNEL",N.DEFAULT_CHANNEL),l(gt,"HIDDEN",N.HIDDEN_CHANNEL),l(gt,"MIN_CHAR_VALUE",0),l(gt,"MAX_CHAR_VALUE",1114111),gt),mt=(at=class{constructor(t){l(this,"intervals",[]);l(this,"readOnly",!1);t&&this.addSet(t)}static of(t,e){const i=new at;return i.addRange(t,e),i}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?N.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?N.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new X(t,t))}addRange(t,e){this.addInterval(new X(t,e))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let e=0;ethis.addInterval(e),this),this}complement(t,e){if(!t)return new at;const i=new at;if(t instanceof at){if(t.isNil)return new at;i.addSet(t)}else i.addInterval(new X(t,e??0));return i.subtract(this)}or(t){const e=new at;return e.addSet(this),t.forEach(i=>e.addSet(i)),e}and(t){if(t.isNil)return new at;const e=this.intervals,i=t.intervals;let r;const h=e.length,o=i.length;let a=0,u=0;for(;ah.stop){i++;continue}let a=null,u=null;if(o.start>h.start&&(a=new X(h.start,o.start-1)),o.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let e=0;for(const i of this.intervals){if(t.stop<=i.start)return;if(t.start>i.start&&t.stop=i.stop?(this.intervals.splice(e,1),e=e-1):t.start1&&(e+="{");let i=!1,r;t instanceof ce?r=t:Array.isArray(t)?r=ce.fromTokenNames(t):i=t??!1;for(let h=0;h":i?e+="'"+String.fromCodePoint(a)+"'":r?e+=this.elementName(r,a):e+=a;else if(i)e+="'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(u)+"'";else if(r)for(let c=a;c<=u;++c)c>a&&(e+=", "),e+=this.elementName(r,c);else e+=a+".."+u;h1&&(e+="}"),e}toArray(){const t=[];for(const e of this.intervals)for(let i=e.start;i<=e.stop;i++)t.push(i);return t}get length(){let t=0;if(this.intervals.length===1){const i=this.intervals[0];return i.stop-i.start+1}for(const i of this.intervals)t+=i.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,e){return e===N.EOF?"":e===N.EPSILON?"":t.getDisplayName(e)}},x(at,"IntervalSet"),l(at,"COMPLETE_CHAR_SET",at.of(Vt.MIN_CHAR_VALUE,Vt.MAX_CHAR_VALUE)),l(at,"EMPTY_SET",new at),at.COMPLETE_CHAR_SET.readOnly=!0,at.EMPTY_SET.readOnly=!0,at),Q0=(Qs=class extends pe{constructor(e,i,r,h){super(e);l(this,"ruleIndex");l(this,"precedence");l(this,"followState");this.ruleIndex=i,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return w.RULE}matches(e,i,r){return!1}},x(Qs,"RuleTransition"),Qs),Hn=(Xs=class extends pe{constructor(e,i){super(e);z(this,Ve,void 0);i!=null?Y(this,Ve,i):(Y(this,Ve,new mt),L(this,Ve).addOne(N.INVALID_TYPE))}get label(){return L(this,Ve)}get serializationType(){return w.SET}matches(e,i,r){return this.label.contains(e)}toString(){return L(this,Ve).toString()}},Ve=new WeakMap,x(Xs,"SetTransition"),Xs),Bn=($s=class extends Hn{constructor(t,e){super(t,e)}get serializationType(){return w.NOT_SET}matches(t,e,i){return t>=e&&t<=i&&!super.matches(t,e,i)}toString(){return"~"+super.toString()}},x($s,"NotSetTransition"),$s),z2=(js=class extends pe{constructor(t){super(t)}get serializationType(){return w.WILDCARD}matches(t,e,i){return t>=e&&t<=i}toString(){return"."}},x(js,"WildcardTransition"),js),pc=(Pe=class{constructor(t){l(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const e=t.transitions.length,i=new Array(e);i.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const i=this.states[t];let r=this.nextTokens(i);if(!r.contains(N.EPSILON))return r;let h=e;const o=new mt;for(o.addSet(r),o.removeOne(N.EPSILON);h!==null&&h.invokingState>=0&&r.contains(N.EPSILON);){const u=this.states[h.invokingState].transitions[0];r=this.nextTokens(u.followState),o.addSet(r),o.removeOne(N.EPSILON),h=h.parent}return r.contains(N.EPSILON)&&o.addOne(N.EOF),o}nextTokens(t,e){return e===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new pc(this).LOOK(t,null,e)}},x(B1,"ATN"),l(B1,"INVALID_ALT_NUMBER",0),B1),Z2=(Ge=class{constructor(t){l(this,"readOnly",!1);l(this,"verifyATN");l(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},x(Ge,"ATNDeserializationOptions"),l(Ge,"defaultOptions",new Ge),Ge.defaultOptions.readOnly=!0,Ge),os={LEXER:0,PARSER:1},J2=(zs=class extends oe{get stateType(){return V.BASIC}},x(zs,"BasicState"),zs),S1=(Zs=class extends t1{constructor(){super();l(this,"endState");this.endState=null}},x(Zs,"BlockStartState"),Zs),Vn=(Js=class extends oe{constructor(){super(...arguments);l(this,"startState",null)}get stateType(){return V.BLOCK_END}},x(Js,"BlockEndState"),Js),i1=(qs=class extends oe{constructor(){super(...arguments);l(this,"loopBackState",null)}get stateType(){return V.LOOP_END}},x(qs,"LoopEndState"),qs),q2=(ti=class extends oe{constructor(){super();l(this,"stopState");l(this,"isLeftRecursiveRule");l(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return V.RULE_START}},x(ti,"RuleStartState"),ti),Oc=(ei=class extends t1{get stateType(){return V.TOKEN_START}},x(ei,"TokensStartState"),ei),th=(si=class extends t1{get stateType(){return V.PLUS_LOOP_BACK}},x(si,"PlusLoopbackState"),si),Pn=(ii=class extends oe{get stateType(){return V.STAR_LOOP_BACK}},x(ii,"StarLoopbackState"),ii),Gn=(ni=class extends S1{constructor(){super(...arguments);l(this,"loopBackState")}get stateType(){return V.PLUS_BLOCK_START}},x(ni,"PlusBlockStartState"),ni),Yn=(ri=class extends S1{get stateType(){return V.STAR_BLOCK_START}},x(ri,"StarBlockStartState"),ri),eh=(hi=class extends S1{get stateType(){return V.BLOCK_START}},x(hi,"BasicBlockStartState"),hi),X0=(ai=class extends pe{constructor(e,i){super(e);l(this,"labelValue");z(this,oi,void 0);this.labelValue=i,Y(this,oi,mt.of(i,i))}get label(){return L(this,oi)}matches(e,i,r){return this.labelValue===e}get serializationType(){return w.ATOM}toString(){return this.labelValue.toString()}},oi=new WeakMap,x(ai,"AtomTransition"),ai),sh=(ci=class extends pe{constructor(e,i,r){super(e);l(this,"start");l(this,"stop");z(this,ui,new mt);this.start=i,this.stop=r,L(this,ui).addRange(i,r)}get label(){return L(this,ui)}get serializationType(){return w.RANGE}matches(e,i,r){return e>=this.start&&e<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ui=new WeakMap,x(ci,"RangeTransition"),ci),as=(di=class extends pe{constructor(e,i=-1){super(e);z(this,li,void 0);Y(this,li,i)}get isEpsilon(){return!0}matches(e,i,r){return!1}get outermostPrecedenceReturn(){return L(this,li)}get serializationType(){return w.EPSILON}toString(){return"epsilon"}},li=new WeakMap,x(di,"EpsilonTransition"),di),ih=(Ei=class extends bn{constructor(e,i,r,h){super(e);l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=i,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(e,i,r){return!1}get serializationType(){return w.PREDICATE}getPredicate(){return new it.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},x(Ei,"PredicateTransition"),Ei),kc=(fi=class extends bn{constructor(e,i){super(e);l(this,"precedence");this.precedence=i}get isEpsilon(){return!0}matches(e,i,r){return!1}getPredicate(){return new it.PrecedencePredicate(this.precedence)}get serializationType(){return w.PRECEDENCE}toString(){return this.precedence+" >= _p"}},x(fi,"PrecedencePredicateTransition"),fi),Lt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},yc=(R1=class extends ue{constructor(){super(Lt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},x(R1,"LexerSkipAction"),l(R1,"INSTANCE",new R1),R1),wc=(V1=class extends ue{constructor(e){super(Lt.CHANNEL);l(this,"channel");this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(e){return this===e?!0:e instanceof V1?this.channel===e.channel:!1}toString(){return"channel("+this.channel+")"}},x(V1,"LexerChannelAction"),V1),Uc=(P1=class extends ue{constructor(e,i){super(Lt.CUSTOM);l(this,"ruleIndex");l(this,"actionIndex");this.ruleIndex=e,this.actionIndex=i,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(e){return this===e?!0:e instanceof P1?this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex:!1}},x(P1,"LexerCustomAction"),P1),vc=(T1=class extends ue{constructor(){super(Lt.MORE)}execute(t){t.more()}toString(){return"more"}},x(T1,"LexerMoreAction"),l(T1,"INSTANCE",new T1),T1),bc=(G1=class extends ue{constructor(e){super(Lt.TYPE);l(this,"type");this.type=e}execute(e){e._type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(e){return this===e?!0:e instanceof G1?this.type===e.type:!1}toString(){return"type("+this.type+")"}},x(G1,"LexerTypeAction"),G1),Dc=(Y1=class extends ue{constructor(e){super(Lt.PUSH_MODE);l(this,"mode");this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof Y1?this.mode===e.mode:!1}toString(){return"pushMode("+this.mode+")"}},x(Y1,"LexerPushModeAction"),Y1),Ic=(A1=class extends ue{constructor(){super(Lt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},x(A1,"LexerPopModeAction"),l(A1,"INSTANCE",new A1),A1),Mc=(Q1=class extends ue{constructor(e){super(Lt.MODE);l(this,"mode");this.mode=e}execute(e){e.mode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof Q1?this.mode===e.mode:!1}toString(){return"mode("+this.mode+")"}},x(Q1,"LexerModeAction"),Q1),Qn=x((n,t)=>{const e=new Array(n-1);return e[n-1]=t,e.map(()=>t)},"initArray"),us=(Ye=class{constructor(t){l(this,"data",[]);l(this,"pos",0);l(this,"deserializationOptions");l(this,"stateFactories",null);l(this,"actionFactories",null);t||(t=Z2.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const i=[];return this.readSets(e,i),this.readEdges(e,i),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===os.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==Ye.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+Ye.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),e=this.readInt();return new I(t,e)}readStates(t){let e,i;const r=[],h=[],o=this.readInt();for(let c=0;c0;)h.addTransition(c.transitions[d-1]),c.transitions=c.transitions.slice(-1);t.ruleToStartState[e].addTransition(new as(h)),u&&o.addTransition(new as(u));const f=new J2;t.addState(f),f.addTransition(new X0(o,t.ruleToTokenType[e])),h.addTransition(new as(f))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e||!(t instanceof ye))return null;const i=t.transitions[t.transitions.length-1].target;return i instanceof i1&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof kt?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof ye&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const i=e.transitions[e.transitions.length-1].target;i instanceof i1&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof kt&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const e of t.states)if(e!==null)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof Gn)this.checkCondition(e.loopBackState!==null);else if(e instanceof ye)if(this.checkCondition(e.loopBackState!==null),this.checkCondition(e.transitions.length===2),e.transitions[0].target instanceof Yn)this.checkCondition(e.transitions[1].target instanceof i1),this.checkCondition(!e.nonGreedy);else if(e.transitions[0].target instanceof i1)this.checkCondition(e.transitions[1].target instanceof Yn),this.checkCondition(e.nonGreedy);else throw new Error("IllegalState");else e instanceof Pn?(this.checkCondition(e.transitions.length===1),this.checkCondition(e.transitions[0].target instanceof ye)):e instanceof i1?this.checkCondition(e.loopBackState!==null):e instanceof q2?this.checkCondition(e.stopState!==null):e instanceof S1?this.checkCondition(e.endState!==null):e instanceof Vn?this.checkCondition(e.startState!==null):e instanceof t1?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof kt)}}checkCondition(t,e){if(!t)throw e==null&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}edgeFactory(t,e,i,r,h,o,a){const u=t.states[i];switch(e){case w.EPSILON:return new as(u);case w.RANGE:return o!==0?new sh(u,N.EOF,h):new sh(u,r,h);case w.RULE:return new Q0(t.states[r],h,o,u);case w.PREDICATE:return new ih(u,r,h,o!==0);case w.PRECEDENCE:return new kc(u,r);case w.ATOM:return o!==0?new X0(u,N.EOF):new X0(u,r);case w.ACTION:return new I2(u,r,h,o!==0);case w.SET:return new Hn(u,a[r]);case w.NOT_SET:return new Bn(u,a[r]);case w.WILDCARD:return new z2(u);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(t,e){var i,r;if(this.stateFactories===null){const h=[];h[V.INVALID_TYPE]=null,h[V.BASIC]=()=>new J2,h[V.RULE_START]=()=>new q2,h[V.BLOCK_START]=()=>new eh,h[V.PLUS_BLOCK_START]=()=>new Gn,h[V.STAR_BLOCK_START]=()=>new Yn,h[V.TOKEN_START]=()=>new Oc,h[V.RULE_STOP]=()=>new kt,h[V.BLOCK_END]=()=>new Vn,h[V.STAR_LOOP_BACK]=()=>new Pn,h[V.STAR_LOOP_ENTRY]=()=>new ye,h[V.PLUS_LOOP_BACK]=()=>new th,h[V.LOOP_END]=()=>new i1,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(i=this.stateFactories)[t])==null?void 0:r.call(i))??null;if(h!==null)return h.ruleIndex=e,h}return null}lexerActionFactory(t,e,i){if(this.actionFactories===null){const r=[];r[Lt.CHANNEL]=(h,o)=>new wc(h),r[Lt.CUSTOM]=(h,o)=>new Uc(h,o),r[Lt.MODE]=(h,o)=>new Mc(h),r[Lt.MORE]=(h,o)=>vc.INSTANCE,r[Lt.POP_MODE]=(h,o)=>Ic.INSTANCE,r[Lt.PUSH_MODE]=(h,o)=>new Dc(h),r[Lt.SKIP]=(h,o)=>yc.INSTANCE,r[Lt.TYPE]=(h,o)=>new bc(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](e,i)}},x(Ye,"ATNDeserializer"),l(Ye,"SERIALIZED_VERSION",4),Ye),$=(Ri=class extends A{constructor(e,i=null,r=null,h=null,o=null,a=null){a=a??e.context,h=h??e.getCurrentToken(),r=r??e.getCurrentToken(),i=i??e.inputStream;super({message:"",recognizer:e,input:i,ctx:a});l(this,"deadEndConfigs",null);l(this,"startToken");this.deadEndConfigs=o,this.startToken=r,this.offendingToken=h}},x(Ri,"NoViableAltException"),Ri),Fc=(Ti=class{constructor(){l(this,"cacheMap");this.cacheMap=new qe}get(t,e){const i=this.cacheMap.get(t)??null;return i===null?null:i.get(e)??null}set(t,e,i){let r=this.cacheMap.get(t)??null;r===null&&(r=new qe,this.cacheMap.set(t,r)),r.set(e,i)}},x(Ti,"DoubleDict"),Ti),At=(St=class{static hasSLLConflictTerminatingPrediction(t,e){if(St.allConfigsInRuleStopStates(e))return!0;if(t===St.SLL&&e.hasSemanticContext){const r=new Xt;for(let h of e.items)h=new Tt({semanticContext:it.NONE},h),r.add(h);e=r}const i=St.getConflictingAltSubsets(e);return St.hasConflictingAltSet(i)&&!St.hasStateAssociatedWithOneAlt(e)}static hasConfigInRuleStopState(t){for(const e of t.items)if(e.state instanceof kt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const e of t.items)if(!(e.state instanceof kt))return!1;return!0}static resolvesToJustOneViableAlt(t){return St.getSingleViableAlt(t)}static allSubsetsConflict(t){return!St.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const e of t)if(e.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const e of t)if(e.length>1)return!0;return!1}static allSubsetsEqual(t){let e=null;for(const i of t)if(e===null)e=i;else if(i!==e)return!1;return!0}static getUniqueAlt(t){const e=St.getAlts(t);return e.length===1?e.nextSetBit(0):I.INVALID_ALT_NUMBER}static getAlts(t){const e=new re;return t.forEach(i=>{e.or(i)}),e}static getConflictingAltSubsets(t){const e=new qe(i=>ne.hashStuff(i.state.stateNumber,i.context),(i,r)=>{var h;return i.state.stateNumber===r.state.stateNumber&&(((h=i.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(i=>{let r=e.get(i);r===null&&(r=new re,e.set(i,r)),r.set(i.alt)}),e.getValues()}static getStateToAltMap(t){const e=new qe;return t.items.forEach(i=>{let r=e.get(i.state);r||(r=new re,e.set(i.state,r)),r.set(i.alt)}),e}static hasStateAssociatedWithOneAlt(t){const e={};return t.items.forEach(i=>{const r=i.state.stateNumber;e[r]||(e[r]=0),e[r]++}),Object.values(e).some(i=>i===1)}static getSingleViableAlt(t){let e=null;for(const i of t){const r=i.nextSetBit(0);if(e===null)e=r;else if(e!==r)return I.INVALID_ALT_NUMBER}return e??0}},x(St,"PredictionMode"),l(St,"SLL",0),l(St,"LL",1),l(St,"LL_EXACT_AMBIG_DETECTION",2),St),$0=(v=class extends he{constructor(e,i,r,h){super(i,h);l(this,"predictionMode");l(this,"decisionToDFA");l(this,"parser");l(this,"mergeCache",null);l(this,"_input",null);l(this,"_startIndex",0);l(this,"_outerContext",null);l(this,"_dfa",null);this.parser=e,this.decisionToDFA=r}static getUniqueAlt(e){let i=I.INVALID_ALT_NUMBER;for(const r of e.items)if(i===I.INVALID_ALT_NUMBER)i=r.alt;else if(r.alt!==i)return I.INVALID_ALT_NUMBER;return i}reset(){}clearDFA(){for(let e=0;e"}getTokenName(e){if(e===N.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:ce.EMPTY_VOCABULARY).getDisplayName(e);return r===e.toString()?r:r+"<"+e+">"}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const i=e.deadEndConfigs.items;for(const r of i){let h="no edges";if(r.state.transitions.length>0){const o=r.state.transitions[0];o instanceof X0?h="Atom "+this.getTokenName(o.labelValue):o instanceof Hn&&(h=(o instanceof Bn?"~":"")+"Set "+o.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(e,i){const r=i.transitions.length,h=this.getConflictingAltsOrUniqueAlt(e.configs),o=this.getPredsForAmbigAlts(h,e.configs,r);o!==null?(e.predicates=this.getPredicatePredictions(h,o),e.prediction=I.INVALID_ALT_NUMBER):e.prediction=h.nextSetBit(0)}execATNWithFullContext(e,i,r,h,o,a){(v.debug||v.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const u=!0;let c=!1,d,f=r;h.seek(o);let R=h.LA(1),_=-1;for(;;){if(d=this.computeReachSet(f,R,u),d===null){const S=this.noViableAlt(h,a,f,o);h.seek(o);const p=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(f,a);if(p!==I.INVALID_ALT_NUMBER)return p;throw S}const m=At.getConflictingAltSubsets(d);if(v.debug&&console.log("LL altSubSets="+m+", predict="+At.getUniqueAlt(m)+", resolvesToJustOneViableAlt="+At.resolvesToJustOneViableAlt(m)),d.uniqueAlt=v.getUniqueAlt(d),d.uniqueAlt!==I.INVALID_ALT_NUMBER){_=d.uniqueAlt;break}else if(this.predictionMode!==At.LL_EXACT_AMBIG_DETECTION){if(_=At.resolvesToJustOneViableAlt(m),_!==I.INVALID_ALT_NUMBER)break}else if(At.allSubsetsConflict(m)&&At.allSubsetsEqual(m)){c=!0,_=At.getSingleViableAlt(m);break}f=d,R!==N.EOF&&(h.consume(),R=h.LA(1))}return d.uniqueAlt!==I.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,_,d,o,h.index),_):(this.reportAmbiguity(e,i,o,h.index,c,null,d),_)}computeReachSet(e,i,r){v.debug&&console.log("in computeReachSet, starting closure: "+e),this.mergeCache===null&&(this.mergeCache=new Fc);const h=new Xt(r);let o=null;for(const u of e.items){if(v.debug&&console.log("testing "+this.getTokenName(i)+" at "+u),u.state instanceof kt){(r||i===N.EOF)&&(o===null&&(o=[]),o.push(u));continue}for(const c of u.state.transitions){const d=this.getReachableTarget(c,i);if(d!==null){const f=new Tt({state:d},u);h.add(f,this.mergeCache)}}}let a=null;if(o===null&&i!==N.EOF&&(h.items.length===1||v.getUniqueAlt(h)!==I.INVALID_ALT_NUMBER)&&(a=h),a===null){a=new Xt(r);const u=new Ht,c=i===N.EOF;for(const d of h.items)this.closure(d,a,u,!1,r,c)}if(i===N.EOF&&(a=this.removeAllConfigsNotInRuleStopState(a,a===h)),o!==null&&(!r||!At.hasConfigInRuleStopState(a)))for(const u of o)a.add(u,this.mergeCache);return a.items.length===0?null:a}removeAllConfigsNotInRuleStopState(e,i){if(At.allConfigsInRuleStopStates(e))return e;const r=new Xt(e.fullCtx);for(const h of e.items){if(h.state instanceof kt){r.add(h,this.mergeCache);continue}if(i&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(N.EPSILON)){const a=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new Tt({state:a},h),this.mergeCache)}}return r}computeStartState(e,i,r){const h=In(this.atn,i),o=new Xt(r);for(let a=0;a0&&(a=this.getAltThatFinishedDecisionEntryRule(o),a!==I.INVALID_ALT_NUMBER)?a:I.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const i=[];for(const r of e.items)(r.reachesIntoOuterContext>0||r.state instanceof kt&&r.context.hasEmptyPath())&&i.indexOf(r.alt)<0&&i.push(r.alt);return i.length===0?I.INVALID_ALT_NUMBER:Math.min(...i)}splitAccordingToSemanticValidity(e,i){const r=new Xt(e.fullCtx),h=new Xt(e.fullCtx);for(const o of e.items)o.semanticContext!==it.NONE?o.semanticContext.evaluate(this.parser,i)?r.add(o):h.add(o):r.add(o);return[r,h]}evalSemanticContext(e,i,r){const h=new re;for(const o of e){if(o.pred===it.NONE){if(h.set(o.alt),!r)break;continue}const a=o.pred.evaluate(this.parser,i);if((v.debug||v.dfa_debug)&&console.log("eval pred "+o+"="+a),a&&((v.debug||v.dfa_debug)&&console.log("PREDICT "+o.alt),h.set(o.alt),!r))break}return h}closure(e,i,r,h,o,a){this.closureCheckingStopState(e,i,r,h,o,0,a)}closureCheckingStopState(e,i,r,h,o,a,u){if(e.state instanceof kt)if(e.context&&!e.context.isEmpty()){for(let c=0;c=0&&(S+=1)}this.closureCheckingStopState(m,i,r,_,o,S,u)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const i=e.state;if(i.stateType!==V.STAR_LOOP_ENTRY||!e.context||!i.precedenceRuleDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const r=e.context.length;for(let u=0;u=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+Je(this.parser.getRuleInvocationStack())));let a=null;if(r&&h)if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(a=new Tt({state:i.target},e))}else{const u=it.andContext(e.semanticContext,i.getPredicate());a=new Tt({state:i.target,semanticContext:u},e)}else a=new Tt({state:i.target},e);return v.debug&&console.log("config from pred transition="+a),a}predTransition(e,i,r,h,o){v.debug&&(console.log("PRED (collectPredicates="+r+") "+i.ruleIndex+":"+i.predIndex+", ctx dependent="+i.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+Je(this.parser.getRuleInvocationStack())));let a=null;if(r&&(i.isCtxDependent&&h||!i.isCtxDependent))if(o&&this._input){const u=this._input.index;this._input.seek(this._startIndex);const c=i.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(u),c&&(a=new Tt({state:i.target},e))}else{const u=it.andContext(e.semanticContext,i.getPredicate());a=new Tt({state:i.target,semanticContext:u},e)}else a=new Tt({state:i.target},e);return v.debug&&console.log("config from pred transition="+a),a}ruleTransition(e,i){v.debug&&console.log("CALL rule "+this.getRuleName(i.target.ruleIndex)+", ctx="+e.context);const r=i.followState,h=Bt.create(e.context,r.stateNumber);return new Tt({state:i.target,context:h},e)}getConflictingAlts(e){const i=At.getConflictingAltSubsets(e);return At.getAlts(i)}getConflictingAltsOrUniqueAlt(e){let i;return e.uniqueAlt!==I.INVALID_ALT_NUMBER?(i=new re,i.set(e.uniqueAlt)):i=e.conflictingAlts,i}noViableAlt(e,i,r,h){return new $(this.parser,e,e.get(h),e.LT(1),r,i)}addDFAEdge(e,i,r,h){return v.debug&&console.log("EDGE "+i+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(e,h),i===null||r<-1||r>this.atn.maxTokenType||(i.edges===null&&(i.edges=new Array(this.atn.maxTokenType+2),i.edges.fill(null)),i.edges[r+1]=h,v.debug&&console.log(`DFA= +`+e.toString(this.parser!=null?this.parser.vocabulary:ce.EMPTY_VOCABULARY))),h)}addDFAState(e,i){if(i===he.ERROR)return i;const r=e.states.get(i);return r!==null?r:(i.stateNumber=e.states.length,i.configs.readOnly||(i.configs.optimizeConfigs(this),i.configs.setReadonly(!0)),e.states.add(i),v.debug&&console.log("adding new DFA state: "+i),i)}reportAttemptingFullContext(e,i,r,h,o){if(v.debug||v.retry_debug){const a=new X(h,o+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,h,o,i,r)}reportContextSensitivity(e,i,r,h,o){if(v.debug||v.retry_debug){const a=new X(h,o+1);console.log("reportContextSensitivity decision="+e.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,h,o,i,r)}reportAmbiguity(e,i,r,h,o,a,u){if(v.debug||v.retry_debug){const c=new X(r,h+1);console.log("reportAmbiguity "+a+":"+u+", input="+this.parser.tokenStream.getText(c))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,r,h,o,a,u)}},x(v,"ParserATNSimulator"),l(v,"debug"),l(v,"trace_atn_sim",!1),l(v,"debug_add",!1),l(v,"debug_closure",!1),l(v,"dfa_debug",!1),l(v,"retry_debug",!1),v),cs=(Ai=class{constructor(){l(this,"cache",new qe)}add(t){if(t===Q.EMPTY)return Q.EMPTY;const e=this.cache.get(t)||null;return e!==null?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},x(Ai,"PredictionContextCache"),Ai),ls=(xi=class{constructor(t,e,i,r,h,o){l(this,"decision");l(this,"configs");l(this,"input");l(this,"startIndex");l(this,"stopIndex");l(this,"fullCtx");this.decision=t,this.configs=e,this.input=i,this.startIndex=r,this.stopIndex=h,this.fullCtx=o}},x(xi,"DecisionEventInfo"),xi),Hc=(gi=class extends ls{constructor(e,i,r,h,o,a,u){super(e,i,h,o,a,u);l(this,"ambigAlts");this.ambigAlts=r}},x(gi,"AmbiguityInfo"),gi),nh=(_i=class extends ls{constructor(t,e,i,r,h){super(t,e,i,r,h,!0)}},x(_i,"ContextSensitivityInfo"),_i),Bc=(Ci=class{constructor(t){l(this,"decision",0);l(this,"invocations",0);l(this,"timeInPrediction",0);l(this,"SLL_TotalLook",0);l(this,"SLL_MinLook",0);l(this,"SLL_MaxLook",0);l(this,"SLL_MaxLookEvent");l(this,"LL_TotalLook",0);l(this,"LL_MinLook",0);l(this,"LL_MaxLook",0);l(this,"LL_MaxLookEvent");l(this,"contextSensitivities");l(this,"errors");l(this,"ambiguities");l(this,"predicateEvals");l(this,"SLL_ATNTransitions",0);l(this,"SLL_DFATransitions",0);l(this,"LL_Fallback",0);l(this,"LL_ATNTransitions",0);l(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},x(Ci,"DecisionInfo"),Ci),Xn=(Ni=class extends ls{constructor(t,e,i,r,h,o){super(t,e,i,r,h,o)}},x(Ni,"ErrorInfo"),Ni),rh=(mi=class extends ls{constructor(e,i,r,h,o,a,u){super(e,i,h,o,a,u);l(this,"predictedAlt");this.predictedAlt=r}},x(mi,"LookaheadEventInfo"),mi),$n=(Li=class extends $0{constructor(e){const i=e.interpreter.getSharedContextCache();super(e,e.interpreter.atn,e.interpreter.decisionToDFA,i);l(this,"decisions");l(this,"numDecisions",0);l(this,"currentDecision",0);l(this,"currentState");l(this,"conflictingAltResolvedBySLL");z(this,_e,0);z(this,Ce,0);if(i){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[i].SLL_MaxLook&&(this.decisions[i].SLL_MaxLook=u,this.decisions[i].SLL_MaxLookEvent=new rh(i,null,o,e,this._startIndex,L(this,_e),!1)),L(this,Ce)>=0){const c=L(this,Ce)-this._startIndex+1;this.decisions[i].LL_TotalLook+=c,this.decisions[i].LL_MinLook=this.decisions[i].LL_MinLook===0?c:Math.min(this.decisions[i].LL_MinLook,c),c>this.decisions[i].LL_MaxLook&&(this.decisions[i].LL_MaxLook=c,this.decisions[i].LL_MaxLookEvent=new rh(i,null,o,e,this._startIndex,L(this,Ce),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(e,i){if(this._input){Y(this,_e,this._input.index);const r=super.getExistingTargetState(e,i);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===he.ERROR&&this.decisions[this.currentDecision].errors.push(new Xn(this.currentDecision,e.configs,this._input,this._startIndex,L(this,_e),!1))),this.currentState=r,r}return null}computeTargetState(e,i,r){const h=super.computeTargetState(e,i,r);return this.currentState=h,h}computeReachSet(e,i,r){r&&this._input&&Y(this,Ce,this._input.index);const h=super.computeReachSet(e,i,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Xn(this.currentDecision,e,this._input,this._startIndex,L(this,Ce),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Xn(this.currentDecision,e,this._input,this._startIndex,L(this,_e),!1)))),h}reportAttemptingFullContext(e,i,r,h,o){i!==null?this.conflictingAltResolvedBySLL=i.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,i&&super.reportAttemptingFullContext(e,i,r,h,o)}reportContextSensitivity(e,i,r,h,o){i!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new nh(this.currentDecision,r,this._input,h,o)),super.reportContextSensitivity(e,i,r,h,o)}reportAmbiguity(e,i,r,h,o,a,u){let c;a!==null?c=a.nextSetBit(0):c=u.getAlts().nextSetBit(0),this._input&&(u.fullCtx&&c!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new nh(this.currentDecision,u,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new Hc(this.currentDecision,u,a,this._input,r,h,u.fullCtx))),super.reportAmbiguity(e,i,r,h,o,a,u)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},_e=new WeakMap,Ce=new WeakMap,x(Li,"ProfilingATNSimulator"),Li);Wi=class{constructor(t){l(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),e=[];for(let i=0;i0&&e.push(i);return e}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(let i=0;i0?i:void 0,modes:r.length>0?r:void 0}}},x(Si,"InterpreterDataReader"),pi=class{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult();const i=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const e=this.index+t-1;return e<0||e>=this.data.length?N.EOF:this.data[e]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,e){let i,r;return t instanceof X?(i=t.start,r=t.stop):(i=t,r=e??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),i>=this.data.length?"":Kr(this,Oi,Sr).call(this,i,r+1)}toString(){return Kr(this,Oi,Sr).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:G0.UNKNOWN_SOURCE_NAME}},Oi=new WeakSet,Sr=function(t,e){const i=this.data.slice(t,e);let r="";return i.forEach(h=>{r+=String.fromCodePoint(h)}),r},x(ki,"CharStreamImpl"),ki),jn=(yi=class{static fromString(t){return new Pc(t)}},x(yi,"CharStreams"),yi),Gc=(wi=class{constructor(t){l(this,"tokenSource");l(this,"tokens",[]);l(this,"p",-1);l(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(e)>=e:!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(i===void 0)return this.tokens.slice(t,e+1);const r=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let i=this.tokens[t];for(;i.channel!==e;){if(i.type===N.EOF)return-1;t+=1,this.sync(t),i=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.nextTokenOnChannel(t+1,Vt.DEFAULT_TOKEN_CHANNEL),r=t+1,h=i===-1?this.tokens.length-1:i;return this.filterForChannel(r,h,e)}getHiddenTokensToLeft(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const i=this.previousTokenOnChannel(t-1,Vt.DEFAULT_TOKEN_CHANNEL);if(i===t-1)return null;const r=i+1,h=t-1;return this.filterForChannel(r,h,e)}filterForChannel(t,e,i){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let o=i;o<=r;o++){const a=this.tokens[o];if(a.type===N.EOF)break;h+=a.text}return h.toString()}else{const e=t[0];return this.getText(e.getSourceInterval())}case 2:{const e=t[0],i=t[1];return e!==null&&i!==null?this.getText(X.of(e.tokenIndex,i.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},x(wi,"BufferedTokenStream"),wi),j0=(Ui=class extends Gc{constructor(e,i){super(e);l(this,"channel",N.DEFAULT_CHANNEL);this.channel=i??N.DEFAULT_CHANNEL}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let i=this.index,r=1;for(;r<=e;)i=this.previousTokenOnChannel(i-1,this.channel),r+=1;return i<0?null:this.tokens[i]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let i=this.index,r=1;for(;rnew e1(t,e))),B),Yc=(vi=class extends Y0{syntaxError(t,e,i,r,h,o){}},x(vi,"XPathLexerErrorListener"),vi),p1=(bi=class{constructor(t){l(this,"invert");l(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(bi,"XPathElement"),bi),Qc=(Di=class extends p1{constructor(e,i){super(e);l(this,"ruleIndex");this.ruleIndex=i}evaluate(e){return ke.findAllRuleNodes(e,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(Di,"XPathRuleAnywhereElement"),Di),Xc=(Ii=class extends p1{constructor(e,i){super(e);l(this,"ruleIndex");this.ruleIndex=i}evaluate(e){const i=[];for(const r of ke.getChildren(e))r instanceof T&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&i.push(r);return i}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(Ii,"XPathRuleElement"),Ii),$c=(Mi=class extends p1{constructor(e,i){super(e);l(this,"tokenType");this.tokenType=i}evaluate(e){return ke.findAllTokenNodes(e,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(Mi,"XPathTokenAnywhereElement"),Mi),jc=(Fi=class extends p1{constructor(e,i){super(e);l(this,"tokenType");this.tokenType=i}evaluate(e){const i=[];for(const r of ke.getChildren(e))r instanceof Re&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&i.push(r);return i}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(Fi,"XPathTokenElement"),Fi),zc=(Hi=class extends p1{constructor(){super(oh.WILDCARD)}evaluate(t){return this.invert?[]:ke.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(Hi,"XPathWildcardAnywhereElement"),Hi),Zc=(Bi=class extends p1{constructor(){super(oh.WILDCARD)}evaluate(t){const e=[];if(this.invert)return e;for(const i of ke.getChildren(t))e.push(i);return e}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},x(Bi,"XPathWildcardElement"),Bi),oh=(Qe=class{constructor(t,e){l(this,"path");l(this,"elements");l(this,"parser");this.parser=t,this.path=e,this.elements=this.split(e)}static findAll(t,e,i){return new Qe(i,e).evaluate(t)}split(t){const e=new $t(jn.fromString(t));e.recover=u=>{throw u},e.removeErrorListeners(),e.addErrorListener(new Yc);const i=new j0(e);try{i.fill()}catch(u){if(u instanceof rs){const d="Invalid tokens or characters at index "+e.column+" in path '"+t+"' -- "+u.message;throw new RangeError(d)}throw u}const r=i.getTokens(),h=[],o=r.length;let a=0;t:for(;a0&&this.elements[r].evaluate(o).forEach(u=>{h.add(u)},h);r++,i=h}return i}getXPathElement(t,e){if(t.type===N.EOF)throw new Error("Missing path element at end of path");const i=t.text;if(i==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(i),h=this.parser.getRuleIndex(i);switch(t.type){case $t.WILDCARD:return e?new zc:new Zc;case $t.TOKEN_REF:case $t.STRING:if(r===N.INVALID_TYPE)throw new Error(i+" at index "+t.start+" isn't a valid token name");return e?new $c(i,r):new jc(i,r);default:if(h===-1)throw new Error(i+" at index "+t.start+" isn't a valid rule name");return e?new Qc(i,h):new Xc(i,h)}}},x(Qe,"XPath"),l(Qe,"WILDCARD","*"),l(Qe,"NOT","!"),Qe),we=(Vi=class extends A{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},x(Vi,"InputMismatchException"),Vi),z0=(Pi=class extends A{constructor(e,i,r=null){super({message:Jc(i??"no predicate",r??null),recognizer:e,input:e.inputStream,ctx:e.context});l(this,"ruleIndex",0);l(this,"predicateIndex",0);l(this,"predicate");const o=e.atn.states[e.state].transitions[0];o instanceof ih?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=i,this.offendingToken=e.getCurrentToken()}},x(Pi,"FailedPredicateException"),Pi),Jc=x((n,t)=>t!==null?t:"failed predicate: {"+n+"}?","formatMessage"),zn=(Gi=class{constructor(){l(this,"errorRecoveryMode",!1);l(this,"lastErrorIndex",-1);l(this,"lastErrorStates",new mt);l(this,"nextTokensContext",null);l(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new mt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof $?this.reportNoViableAlternative(t,e):e instanceof we?this.reportInputMismatch(t,e):e instanceof z0?this.reportFailedPredicate(t,e):t.notifyErrorListeners(e.message,e.offendingToken,e))}recover(t,e){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const i=this.getErrorRecoverySet(t);this.consumeUntil(t,i)}sync(t){if(this.inErrorRecoveryMode(t))return;const e=t.atn.states[t.state],i=t.tokenStream.LA(1),r=t.atn.nextTokens(e);if(r.contains(i)){this.nextTokensContext=null,this.nextTokenState=oe.INVALID_STATE_NUMBER;return}else if(r.contains(N.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(e.stateType){case V.BLOCK_START:case V.STAR_BLOCK_START:case V.PLUS_BLOCK_START:case V.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new we(t);case V.PLUS_LOOP_BACK:case V.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new mt;h.addSet(t.getExpectedTokens());const o=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i=t.tokenStream;let r;i!==null&&e.startToken?e.startToken.type===N.EOF?r="":r=i.getText(new X(e.startToken.tokenIndex,e.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,e.offendingToken,e)}reportInputMismatch(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const i="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(i,e.offendingToken,e)}reportFailedPredicate(t,e){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;t.notifyErrorListeners(r,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),i=this.getTokenErrorDisplay(e),r=this.getExpectedTokens(t),h="extraneous input "+i+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(r,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(e!==null)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new we(t)}singleTokenInsertion(t){const e=t.tokenStream.LA(1),i=t.atn,h=i.states[t.state].transitions[0].target;return i.nextTokens(h,t.context).contains(e)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const e=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const e=t.getCurrentToken(),i=this.getExpectedTokens(t);let r=N.INVALID_TYPE;i.isNil||(r=i.minElement);let h;r===N.EOF?h="":h="";let o=e;const a=t.tokenStream.LT(-1);return o.type===N.EOF&&a!==null&&(o=a),t.getTokenFactory().create(o.source,r,h,N.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let e=t.text;return e===null&&(t.type===N.EOF?e="":e="<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const e=t.atn;let i=t.context;const r=new mt;for(;i!==null&&i.invokingState>=0;){const o=e.states[i.invokingState].transitions[0],a=e.nextTokens(o.followState);r.addSet(a),i=i.parent}return r.removeOne(N.EPSILON),r}consumeUntil(t,e){let i=t.tokenStream.LA(1);for(;i!==N.EOF&&!e.contains(i);)t.consume(),i=t.tokenStream.LA(1)}},x(Gi,"DefaultErrorStrategy"),Gi);Yi=class extends zn{recover(t,e){let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new hh(e)}recoverInline(t){const e=new we(t);let i=t.context;for(;i!==null;)i.exception=e,i=i.parent;throw new hh(e)}sync(t){}},x(Yi,"BailErrorStrategy"),Qi=class extends Y0{constructor(e){super();l(this,"exactOnly");l(this,"reportAmbiguity",(e,i,r,h,o,a,u)=>{if(this.exactOnly&&!o)return;const c=this.getDecisionDescription(e,i),d=this.getConflictingAlts(a,u),f=e.tokenStream.getText(X.of(r,h)),R=`reportAmbiguity d=${c}: ambigAlts=${d}, input='${f}'`;e.notifyErrorListeners(R,null,null)});l(this,"reportAttemptingFullContext",(e,i,r,h,o,a)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText(X.of(r,h)),d=`reportAttemptingFullContext d=${u}, input='${c}'`;e.notifyErrorListeners(d,null,null)});l(this,"reportContextSensitivity",(e,i,r,h,o,a)=>{const u=this.getDecisionDescription(e,i),c=e.tokenStream.getText(X.of(r,h)),d=`reportContextSensitivity d=${u}, input='${c}'`;e.notifyErrorListeners(d,null,null)});l(this,"getDecisionDescription",(e,i)=>{const r=i.decision,h=i.atnStartState.ruleIndex,o=e.ruleNames;if(h<0||h>=o.length)return r.toString();const a=o[h];return a.length===0?r.toString():`${r} (${a})`});l(this,"getConflictingAlts",(e,i)=>{if(e!==null)return e;const r=new re;for(let h=0;h{super(...j7);z(this,Xi,void 0)};r!==void 0?n(i,r):n(),Y(this,Xi,e)}get ruleIndex(){return L(this,Xi)}},Xi=new WeakMap,x($i,"InterpreterRuleContext"),$i);s0=class extends Vt{constructor(e,i,r,h,o,a,u){super(u);z(this,ji,void 0);z(this,zi,void 0);z(this,Zi,void 0);z(this,Ji,void 0);z(this,qi,void 0);z(this,t0,void 0);z(this,e0,void 0);z(this,an,new cs);if(a.grammarType!==os.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Y(this,ji,e),Y(this,zi,a),Y(this,Zi,r.slice(0)),Y(this,Ji,h.slice(0)),Y(this,qi,o.slice(0)),Y(this,t0,i),Y(this,e0,a.decisionToState.map((c,d)=>new e1(c,d))),this.interpreter=new s1(this,a,L(this,e0),L(this,an))}get atn(){return L(this,zi)}get grammarFileName(){return L(this,ji)}get ruleNames(){return L(this,Zi)}get channelNames(){return L(this,Ji)}get modeNames(){return L(this,qi)}get vocabulary(){return L(this,t0)}},ji=new WeakMap,zi=new WeakMap,Zi=new WeakMap,Ji=new WeakMap,qi=new WeakMap,t0=new WeakMap,e0=new WeakMap,an=new WeakMap,x(s0,"LexerInterpreter");var tl=(i0=class{constructor(t){l(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},x(i0,"TraceListener"),i0),ah=(n0=class extends Y2{constructor(e){super();l(this,"printer",null);l(this,"buildParseTrees",!0);l(this,"errorHandler",new zn);l(this,"context",null);l(this,"_input",null);l(this,"_precedenceStack",[]);l(this,"_parseListeners",null);l(this,"_syntaxErrors",0);l(this,"matchedEOF",!1);l(this,"_tracer",null);l(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=e}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(e){let i=this.getCurrentToken();return i.type===e?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this.errorHandler.reportMatch(this),this.consume()):(e=this.errorHandler.recoverInline(this),this.buildParseTrees&&e.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,e))),e}getParseListeners(){return this._parseListeners??[]}addParseListener(e){if(e===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null&&e!==null){const i=this._parseListeners.indexOf(e);i>=0&&this._parseListeners.splice(i,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.forEach(i=>{i.enterEveryRule(e),e.enterRule(i)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.slice(0).reverse().forEach(i=>{e.exitRule(i),i.exitEveryRule(e)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(e){this._input.getTokenSource().tokenFactory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const i=new Z2;return i.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new us(i).deserialize(e),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(e){this._input=null,this.reset(),this._input=e}get inputStream(){return this._input}set inputStream(e){this.tokenStream=e}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,i,r){i=i??null,r=r??null,i===null&&(i=this.getCurrentToken()),this._syntaxErrors+=1;const h=i.line,o=i.column;this.getErrorListenerDispatch().syntaxError(this,i,h,o,e,r)}consume(){const e=this.getCurrentToken();e.type!==N.EOF&&this.tokenStream.consume();const i=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||i){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,e)):r=this.context.addTokenNode(e),i&&this._parseListeners.forEach(h=>{r instanceof hs?h.visitErrorNode(r):h.visitTerminal(r)})}return e}addContextToParseTree(){var e;((e=this.context)==null?void 0:e.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(e,i,r){this.state=i,this.context=e,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(e,i){e.setAltNumber(i),this.buildParseTrees&&this.context!==e&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(e)),this.context=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,i,r,h){this.state=i,this._precedenceStack.push(h),this.context=e,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,i,r){const h=this.context;h.parent=e,h.invokingState=i,h.stop=this._input.LT(-1),this.context=e,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const i=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==e;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=e;i.parent=e,this.buildParseTrees&&e!==null&&e.addChild(i)}getInvokingContext(e){let i=this.context;for(;i!==null;){if(i.ruleIndex===e)return i;i=i.parent}return null}precpred(e,i){return i>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const i=this.interpreter.atn;let r=this.context;const h=i.states[this.state];let o=i.nextTokens(h);if(o.contains(e))return!0;if(!o.contains(N.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&o.contains(N.EPSILON);){const u=i.states[r.invokingState].transitions[0];if(o=i.nextTokens(u.followState),o.contains(e))return!0;r=r.parent}return!!(o.contains(N.EPSILON)&&e===N.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const e=this.interpreter.atn,i=e.states[this.state];return e.nextTokens(i)}getRuleIndex(e){const i=this.getRuleIndexMap().get(e);return i??-1}getRuleInvocationStack(e){e=e??null,e===null&&(e=this.context);const i=[];for(;e!==null;){const r=e.ruleIndex;r<0?i.push("n/a"):i.push(this.ruleNames[r]),e=e.parent}return i}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let e=!1;for(const i of this.interpreter.decisionToDFA)i.states.length>0&&(e&&console.log(),this.printer&&(this.printer.println("Decision "+i.decision+":"),this.printer.print(i.toString(this.vocabulary))),e=!0)}getSourceName(){return this._input.getSourceName()}setProfile(e){const i=this.interpreter,r=i.predictionMode;if(e)i instanceof $n||(this.interpreter=new $n(this));else if(i instanceof $n){const h=i.getSharedContextCache();if(h){const o=new $0(this,this.atn,i.decisionToDFA,h);this.interpreter=o}}this.interpreter.predictionMode=r}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new tl(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(e,i){return new Re(i)}createErrorNode(e,i){return new hs(i)}},x(n0,"Parser"),n0);u0=class extends ah{constructor(e,i,r,h,o){super(o);l(this,"_rootContext");l(this,"_parentContextStack",[]);l(this,"overrideDecision",-1);l(this,"overrideDecisionInputIndex",-1);l(this,"overrideDecisionAlt",-1);l(this,"overrideDecisionReached",!1);l(this,"_overrideDecisionRoot",null);z(this,r0,void 0);z(this,ee,void 0);z(this,h0,void 0);z(this,o0,void 0);z(this,a0,void 0);z(this,un,new cs);z(this,$1,void 0);Y(this,r0,e),Y(this,ee,h),Y(this,h0,r.slice(0)),Y(this,o0,i),Y(this,$1,new re);for(const a of h.states)a instanceof ye&&a.precedenceRuleDecision&&L(this,$1).set(a.stateNumber);Y(this,a0,h.decisionToState.map((a,u)=>new e1(a,u))),this.interpreter=new $0(this,h,L(this,a0),L(this,un))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return L(this,ee)}get vocabulary(){return L(this,o0)}get ruleNames(){return L(this,h0)}get grammarFileName(){return L(this,r0)}get atnState(){return L(this,ee).states[this.state]}parse(e){var r;const i=L(this,ee).ruleToStartState[e];for(this._rootContext=this.createInterpreterRuleContext(null,oe.INVALID_STATE_NUMBER,e),i.isPrecedenceRule?this.enterRecursionRule(this._rootContext,i.stateNumber,e,0):this.enterRule(this._rootContext,i.stateNumber,e);;){const h=this.atnState;switch(h.stateType){case V.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(i.isPrecedenceRule){const o=this.context,a=this._parentContextStack.pop();return this.unrollRecursionContexts(a[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(o){if(o instanceof A)this.state=L(this,ee).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(e,i,r){this.overrideDecision=e,this.overrideDecisionInputIndex=i,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(e,i,r,h){this._parentContextStack.push([this.context,e.invokingState]),super.enterRecursionRule(e,i,r,h)}visitState(e){let i=1;e instanceof t1&&(i=this.visitDecisionState(e));const r=e.transitions[i-1];switch(r.serializationType){case w.EPSILON:if(L(this,$1).get(e.stateNumber)&&!(r.target instanceof i1)){const d=this._parentContextStack[this._parentContextStack.length-1],f=this.createInterpreterRuleContext(d[0],d[1],this.context.ruleIndex);this.pushNewRecursionContext(f,L(this,ee).ruleToStartState[e.ruleIndex].stateNumber,this.context.ruleIndex)}break;case w.ATOM:this.match(r.label.minElement);break;case w.RANGE:case w.SET:case w.NOT_SET:r.matches(this._input.LA(1),N.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case w.WILDCARD:this.matchWildcard();break;case w.RULE:const h=r.target,o=h.ruleIndex,a=this.createInterpreterRuleContext(this.context,e.stateNumber,o);h.isPrecedenceRule?this.enterRecursionRule(a,h.stateNumber,o,r.precedence):this.enterRule(a,r.target.stateNumber,o);break;case w.PREDICATE:const u=r;if(!this.sempred(this.context,u.ruleIndex,u.predIndex))throw new z0(this);break;case w.ACTION:const c=r;this.action(this.context,c.ruleIndex,c.actionIndex);break;case w.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const d=r.precedence;throw new z0(this,`precpred(_ctx, ${d})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(e){let i=1;if(e.transitions.length>1){this.errorHandler.sync(this);const r=e.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(i=this.overrideDecisionAlt,this.overrideDecisionReached=!0):i=this.interpreter.adaptivePredict(this._input,r,this.context)}return i}createInterpreterRuleContext(e,i,r){return new qc(r,e,i)}visitRuleStopState(e){if(L(this,ee).ruleToStartState[e.ruleIndex].isPrecedenceRule){const[h,o]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=o}else this.exitRule();const r=L(this,ee).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(e){const i=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===i){const r=e.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,o=(h==null?void 0:h.inputStream)??null,a=[h,o];if(e instanceof we){const u=e.getExpectedTokens();if(!u)throw new Error("Expected the exception to provide expected tokens");let c=N.INVALID_TYPE;u.isNil||(c=u.minElement);const d=this.getTokenFactory().create(a,c,r.text,N.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,d))}else{const u=this.getTokenFactory().create(a,N.INVALID_TYPE,r.text,N.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,u))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},r0=new WeakMap,ee=new WeakMap,h0=new WeakMap,o0=new WeakMap,a0=new WeakMap,un=new WeakMap,$1=new WeakMap,x(u0,"ParserInterpreter"),bt=class{constructor(t){l(this,"tokens");l(this,"programs",new Map);l(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,e,i=bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(i),o=new ch(this.tokens,r,h.length,e);h.push(o)}insertBefore(t,e,i=bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(i),o=new O1(this.tokens,r,h.length,e);h.push(o)}replaceSingle(t,e,i=bt.DEFAULT_PROGRAM_NAME){this.replace(t,t,e,i)}replace(t,e,i,r=bt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof e!="number"&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);const h=this.getProgram(r),o=new Z0(this.tokens,t,e,h.length,i);h.push(o)}delete(t,e,i=bt.DEFAULT_PROGRAM_NAME){e==null&&(e=t),this.replace(t,e,null,i)}getProgram(t){let e=this.programs.get(t);return e==null&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(t,e=bt.DEFAULT_PROGRAM_NAME){let i;t instanceof X?i=t:i=new X(0,this.tokens.size-1),typeof t=="string"&&(e=t);const r=this.programs.get(e);let h=i.start,o=i.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new X(h,o));const a=[],u=this.reduceToSingleOperationPerIndex(r);let c=h;for(;c<=o&&c=this.tokens.size-1&&a.push(String(d.text));return a.join("")}reduceToSingleOperationPerIndex(t){for(let i=0;ih.index&&u.index<=h.lastIndex&&(t[u.instructionIndex]=null);const a=this.getKindOfOps(t,Z0,i);for(const u of a){if(u.index>=h.index&&u.lastIndex<=h.lastIndex){t[u.instructionIndex]=null;continue}const c=u.lastIndexh.lastIndex;if(u.text==null&&h.text==null&&!c)t[u.instructionIndex]=null,h.index=Math.min(u.index,h.index),h.lastIndex=Math.max(u.lastIndex,h.lastIndex);else if(!c)throw new Error(`replace op boundaries of ${h} overlap with previous ${u}`)}}for(let i=0;i=u.index&&h.index<=u.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${u}`)}}const e=new Map;for(const i of t)if(i!=null){if(e.get(i.index)!=null)throw new Error("should only be one op per index");e.set(i.index,i)}return e}catOpText(t,e){let i="",r="";return t!=null&&(i=t.toString()),e!=null&&(r=e.toString()),i+r}getKindOfOps(t,e,i){return t.slice(0,i).filter(r=>r&&r instanceof e)}},x(bt,"TokenStreamRewriter"),l(bt,"DEFAULT_PROGRAM_NAME","default"),l(bt,"PROGRAM_INIT_SIZE",100),l(bt,"MIN_TOKEN_INDEX",0);var uh=(c0=class{constructor(t,e,i,r){l(this,"instructionIndex");l(this,"index");l(this,"text");l(this,"tokens");this.tokens=t,this.instructionIndex=i,this.index=e,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},x(c0,"RewriteOperation"),c0),O1=(l0=class extends uh{constructor(t,e,i,r){super(t,e,i,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==N.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},x(l0,"InsertBeforeOp"),l0),ch=(d0=class extends O1{constructor(t,e,i,r){super(t,e+1,i,r)}toString(){return"'}},x(d0,"InsertAfterOp"),d0),Z0=(E0=class extends uh{constructor(e,i,r,h,o){super(e,i,h,o);l(this,"lastIndex");this.lastIndex=r}execute(e){return this.text&&e.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},x(E0,"ReplaceOp"),E0);class E extends Vt{constructor(t){super(t),this.interpreter=new s1(this,E._ATN,E.decisionsToDFA,new cs)}get grammarFileName(){return"ImpalaSqlLexer.g4"}get literalNames(){return E.literalNames}get symbolicNames(){return E.symbolicNames}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}get channelNames(){return E.channelNames}get modeNames(){return E.modeNames}static get _ATN(){return E.__ATN||(E.__ATN=new us().deserialize(E._serializedATN)),E.__ATN}get vocabulary(){return E.vocabulary}}E.KW_ADD=1,E.KW_ALL=2,E.KW_ANALYTIC=3,E.KW_ALTER=4,E.KW_AND=5,E.KW_ANY=6,E.KW_ANTI=7,E.KW_ARRAY=8,E.KW_AS=9,E.KW_ASC=10,E.KW_AT=11,E.KW_AGGREGATE=12,E.KW_AUTHORIZATION=13,E.KW_BERNOULLI=14,E.KW_BETWEEN=15,E.KW_BLOCK_SIZE=16,E.KW_PARTITIONED=17,E.KW_PREPARE_FN=18,E.KW_EXTERNAL=19,E.KW_CLOSEFN=20,E.KW_SORT=21,E.KW_PURGE=22,E.KW_STORED=23,E.KW_LOCATION=24,E.KW_TBLPROPERTIES=25,E.KW_BY=26,E.KW_CASCADE=27,E.KW_CASE=28,E.KW_CAST=29,E.KW_CACHED=30,E.KW_CHANGE=31,E.KW_COLUMN=32,E.KW_COLUMNS=33,E.KW_COMMENT=34,E.KW_COMPRESSION=35,E.KW_COMPUTE=36,E.KW_CREATE=37,E.KW_CROSS=38,E.KW_CURRENT=39,E.KW_CURRENT_DATE=40,E.KW_CURRENT_PATH=41,E.KW_CURRENT_TIME=42,E.KW_CURRENT_TIMESTAMP=43,E.KW_CURRENT_USER=44,E.KW_DATA=45,E.KW_DATABASE=46,E.KW_DATABASES=47,E.KW_DAY=48,E.KW_DAYS=49,E.KW_DELETE=50,E.KW_DEFAULT=51,E.KW_DELIMITED=52,E.KW_DISABLE=53,E.KW_UPDATE=54,E.KW_DESC=55,E.KW_DESCRIBE=56,E.KW_DISTINCT=57,E.KW_DROP=58,E.KW_ELSE=59,E.KW_ENCODING=60,E.KW_END=61,E.KW_ESCAPE=62,E.KW_ESCAPED=63,E.KW_EXCEPT=64,E.KW_EXCLUDING=65,E.KW_EXISTS=66,E.KW_EXPLAIN=67,E.KW_EXTRACT=68,E.KW_EXTENDED=69,E.KW_FALSE=70,E.KW_FIELDS=71,E.KW_FILEFORMAT=72,E.KW_FILES=73,E.KW_FILTER=74,E.KW_FIRST=75,E.KW_FINALIZE_FN=76,E.KW_FOLLOWING=77,E.KW_FOR=78,E.KW_FORMAT=79,E.KW_FORMATTED=80,E.KW_FOREIGN=81,E.KW_FROM=82,E.KW_FULL=83,E.KW_FUNCTION=84,E.KW_FUNCTIONS=85,E.KW_GRANT=86,E.KW_GROUP=87,E.KW_GROUPING=88,E.KW_HASH=89,E.KW_HAVING=90,E.KW_HOUR=91,E.KW_HOURS=92,E.KW_IF=93,E.KW_IN=94,E.KW_INCLUDING=95,E.KW_INCREMENTAL=96,E.KW_INNER=97,E.KW_INPATH=98,E.KW_INSERT=99,E.KW_INTERSECT=100,E.KW_INTERVAL=101,E.KW_INTERMEDIATE=102,E.KW_INTO=103,E.KW_INIT_FN=104,E.KW_IREGEXP=105,E.KW_ILIKE=106,E.KW_INVALIDATE=107,E.KW_IS=108,E.KW_JOIN=109,E.KW_KEY=110,E.KW_KUDU=111,E.KW_LAST=112,E.KW_LATERAL=113,E.KW_LEFT=114,E.KW_LIKE=115,E.KW_LIMIT=116,E.KW_LINES=117,E.KW_LOAD=118,E.KW_LOCALTIME=119,E.KW_LOCALTIMESTAMP=120,E.KW_METADATA=121,E.KW_MINUTE=122,E.KW_MINUTES=123,E.KW_MONTH=124,E.KW_MONTHS=125,E.KW_MERGE_FN=126,E.KW_NFC=127,E.KW_NFD=128,E.KW_NFKC=129,E.KW_NFKD=130,E.KW_NORMALIZE=131,E.KW_NOT=132,E.KW_NULL=133,E.KW_NULLS=134,E.KW_OFFSET=135,E.KW_ON=136,E.KW_OPTION=137,E.KW_OR=138,E.KW_ORDER=139,E.KW_ORDINALITY=140,E.KW_OUTER=141,E.KW_OWNER=142,E.KW_OVER=143,E.KW_OVERWRITE=144,E.KW_PARTITION=145,E.KW_PARTITIONS=146,E.KW_PARQUET=147,E.KW_POSITION=148,E.KW_PRECEDING=149,E.KW_PRIMARY=150,E.KW_REPLICATION=151,E.KW_PRIVILEGES=152,E.KW_PROPERTIES=153,E.KW_RANGE=154,E.KW_RECOVER=155,E.KW_RENAME=156,E.KW_REPEATABLE=157,E.KW_REPLACE=158,E.KW_RESTRICT=159,E.KW_RETURNS=160,E.KW_REVOKE=161,E.KW_REFRESH=162,E.KW_REGEXP=163,E.KW_RLIKE=164,E.KW_RIGHT=165,E.KW_ROLE=166,E.KW_ROLES=167,E.KW_ROW=168,E.KW_ROWS=169,E.KW_SCHEMA=170,E.KW_SCHEMAS=171,E.KW_SECOND=172,E.KW_SECONDS=173,E.KW_SELECT=174,E.KW_SERDEPROPERTIES=175,E.KW_SET=176,E.KW_SEMI=177,E.KW_SERVER=178,E.KW_SHOW=179,E.KW_SHUTDOWN=180,E.KW_SOME=181,E.KW_STATS=182,E.KW_STRAIGHT_JOIN=183,E.KW_SUBSTRING=184,E.KW_SYSTEM=185,E.KW_SYMBOL=186,E.KW_SERIALIZE_FN=187,E.KW_TABLE=188,E.KW_TABLES=189,E.KW_TABLESAMPLE=190,E.KW_TERMINATED=191,E.KW_THEN=192,E.KW_TO=193,E.KW_TRUE=194,E.KW_TRY_CAST=195,E.KW_TRUNCATE=196,E.KW_UNCACHED=197,E.KW_UESCAPE=198,E.KW_UNBOUNDED=199,E.KW_UNION=200,E.KW_UNNEST=201,E.KW_UNSET=202,E.KW_USE=203,E.KW_USER=204,E.KW_USING=205,E.KW_UPDATE_FN=206,E.KW_UPSERT=207,E.KW_UNKNOWN=208,E.KW_URI=209,E.KW_VALUE=210,E.KW_VALUES=211,E.KW_VIEW=212,E.KW_VIEWS=213,E.KW_WHEN=214,E.KW_WHERE=215,E.KW_WITH=216,E.KW_YEAR=217,E.KW_YEARS=218,E.KW_TEXTFILE=219,E.KW_ORC=220,E.KW_AVRO=221,E.KW_SEQUENCEFILE=222,E.KW_RCFILE=223,E.KW_REFERENCES=224,E.KW_NOVALIDATE=225,E.KW_RELY=226,E.KW_BINARY=227,E.KW_BIGINT=228,E.KW_BOOLEAN=229,E.KW_CHAR=230,E.KW_DATE=231,E.KW_DECIMAL=232,E.KW_DOUBLE=233,E.KW_INT=234,E.KW_MAP=235,E.KW_REAL=236,E.KW_SMALLINT=237,E.KW_FLOAT=238,E.KW_STRING=239,E.KW_STRUCT=240,E.KW_TIMESTAMP=241,E.KW_TINYINT=242,E.KW_VARCHAR=243,E.KW_COMPLEX=244,E.STATS_NUMDVS=245,E.STATS_NUMNULLS=246,E.STATS_AVGSIZE=247,E.STATS_MAXSIZE=248,E.EQ=249,E.NEQ=250,E.LT=251,E.LTE=252,E.GT=253,E.GTE=254,E.PLUS=255,E.MINUS=256,E.ASTERISK=257,E.SLASH=258,E.PERCENT=259,E.CONCAT=260,E.DOT=261,E.SEMICOLON=262,E.COMMA=263,E.COLON=264,E.LPAREN=265,E.RPAREN=266,E.LSQUARE=267,E.RSQUARE=268,E.LCURLY=269,E.RCURLY=270,E.BITWISEOR=271,E.QUESTION=272,E.RIGHT_ARROW=273,E.STRING=274,E.UNICODE_STRING=275,E.BINARY_LITERAL=276,E.INTEGER_VALUE=277,E.DECIMAL_VALUE=278,E.DOUBLE_VALUE=279,E.IDENTIFIER=280,E.DIGIT_IDENTIFIER=281,E.QUOTED_IDENTIFIER=282,E.BACKQUOTED_IDENTIFIER=283,E.TIME_WITH_TIME_ZONE=284,E.TIMESTAMP_WITH_TIME_ZONE=285,E.DOUBLE_PRECISION=286,E.SIMPLE_COMMENT=287,E.BRACKETED_COMMENT=288,E.WS=289,E.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],E.literalNames=[null,"'ADD'","'ALL'","'ANALYTIC'","'ALTER'","'AND'","'ANY'","'ANTI'","'ARRAY'","'AS'","'ASC'","'AT'","'AGGREGATE'","'AUTHORIZATION'","'BERNOULLI'","'BETWEEN'","'BLOCK_SIZE'","'PARTITIONED'","'PREPARE_FN'","'EXTERNAL'","'CLOSEFN'","'SORT'","'PURGE'","'STORED'","'LOCATION'","'TBLPROPERTIES'","'BY'","'CASCADE'","'CASE'","'CAST'","'CACHED'","'CHANGE'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMPRESSION'","'COMPUTE'","'CREATE'","'CROSS'","'CURRENT'","'CURRENT_DATE'","'CURRENT_PATH'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DATA'","'DATABASE'","'DATABASES'","'DAY'","'DAYS'","'DELETE'","'DEFAULT'","'DELIMITED'","'DISABLE'","'UPDATE'","'DESC'","'DESCRIBE'","'DISTINCT'","'DROP'","'ELSE'","'ENCODING'","'END'","'ESCAPE'","'ESCAPED'","'EXCEPT'","'EXCLUDING'","'EXISTS'","'EXPLAIN'","'EXTRACT'","'EXTENDED'","'FALSE'","'FIELDS'","'FILEFORMAT'","'FILES'","'FILTER'","'FIRST'","'FINALIZE_FN'","'FOLLOWING'","'FOR'","'FORMAT'","'FORMATTED'","'FOREIGN'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GRANT'","'GROUP'","'GROUPING'","'HASH'","'HAVING'","'HOUR'","'HOURS'","'IF'","'IN'","'INCLUDING'","'INCREMENTAL'","'INNER'","'INPATH'","'INSERT'","'INTERSECT'","'INTERVAL'","'INTERMEDIATE'","'INTO'","'INIT_FN'","'IREGEXP'","'ILIKE'","'INVALIDATE'","'IS'","'JOIN'","'KEY'","'KUDU'","'LAST'","'LATERAL'","'LEFT'","'LIKE'","'LIMIT'","'LINES'","'LOAD'","'LOCALTIME'","'LOCALTIMESTAMP'","'METADATA'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MERGE_FN'","'NFC'","'NFD'","'NFKC'","'NFKD'","'NORMALIZE'","'NOT'","'NULL'","'NULLS'","'OFFSET'","'ON'","'OPTION'","'OR'","'ORDER'","'ORDINALITY'","'OUTER'","'OWNER'","'OVER'","'OVERWRITE'","'PARTITION'","'PARTITIONS'","'PARQUET'","'POSITION'","'PRECEDING'","'PRIMARY'","'REPLICATION'","'PRIVILEGES'","'PROPERTIES'","'RANGE'","'RECOVER'","'RENAME'","'REPEATABLE'","'REPLACE'","'RESTRICT'","'RETURNS'","'REVOKE'","'REFRESH'","'REGEXP'","'RLIKE'","'RIGHT'","'ROLE'","'ROLES'","'ROW'","'ROWS'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECONDS'","'SELECT'","'SERDEPROPERTIES'","'SET'","'SEMI'","'SERVER'","'SHOW'","'SHUTDOWN'","'SOME'","'STATS'","'STRAIGHT_JOIN'","'SUBSTRING'","'SYSTEM'","'SYMBOL'","'SERIALIZE_FN'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TERMINATED '","'THEN'","'TO'","'TRUE'","'TRY_CAST'","'TRUNCATE'","'UNCACHED'","'UESCAPE'","'UNBOUNDED'","'UNION'","'UNNEST'","'UNSET'","'USE'","'USER'","'USING'","'UPDATE_FN'","'UPSERT'","'UNKNOWN'","'URI'","'VALUE'","'VALUES'","'VIEW'","'VIEWS'","'WHEN'","'WHERE'","'WITH'","'YEAR'","'YEARS'","'TEXTFILE'","'ORC'","'AVRO'","'SEQUENCEFILE'","'RCFILE'","'REFERENCES'","'NOVALIDATE'","'RELY'","'BINARY'","'BIGINT'","'BOOLEAN'","'CHAR'","'DATE'","'DECIMAL'","'DOUBLE'","'INT'","'MAP'","'REAL'","'SMALLINT'","'FLOAT'","'STRING'","'STRUCT'","'TIMESTAMP'","'TINYINT'","'VARCHAR'","'COMPLEX'","''NUMDVS''","''NUMNULLS''","''AVGSIZE''","''MAXSIZE''","'='",null,"'<'","'<='","'>'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'.'","';'","','","':'","'('","')'","'['","']'","'{'","'}'","'|'","'?'","'->'"],E.symbolicNames=[null,"KW_ADD","KW_ALL","KW_ANALYTIC","KW_ALTER","KW_AND","KW_ANY","KW_ANTI","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AGGREGATE","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BLOCK_SIZE","KW_PARTITIONED","KW_PREPARE_FN","KW_EXTERNAL","KW_CLOSEFN","KW_SORT","KW_PURGE","KW_STORED","KW_LOCATION","KW_TBLPROPERTIES","KW_BY","KW_CASCADE","KW_CASE","KW_CAST","KW_CACHED","KW_CHANGE","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMPRESSION","KW_COMPUTE","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DAY","KW_DAYS","KW_DELETE","KW_DEFAULT","KW_DELIMITED","KW_DISABLE","KW_UPDATE","KW_DESC","KW_DESCRIBE","KW_DISTINCT","KW_DROP","KW_ELSE","KW_ENCODING","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCLUDING","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_EXTENDED","KW_FALSE","KW_FIELDS","KW_FILEFORMAT","KW_FILES","KW_FILTER","KW_FIRST","KW_FINALIZE_FN","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FORMATTED","KW_FOREIGN","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HASH","KW_HAVING","KW_HOUR","KW_HOURS","KW_IF","KW_IN","KW_INCLUDING","KW_INCREMENTAL","KW_INNER","KW_INPATH","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTERMEDIATE","KW_INTO","KW_INIT_FN","KW_IREGEXP","KW_ILIKE","KW_INVALIDATE","KW_IS","KW_JOIN","KW_KEY","KW_KUDU","KW_LAST","KW_LATERAL","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_METADATA","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MERGE_FN","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLS","KW_OFFSET","KW_ON","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OWNER","KW_OVER","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONS","KW_PARQUET","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_REPLICATION","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_RECOVER","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_REFRESH","KW_REGEXP","KW_RLIKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROW","KW_ROWS","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SERDEPROPERTIES","KW_SET","KW_SEMI","KW_SERVER","KW_SHOW","KW_SHUTDOWN","KW_SOME","KW_STATS","KW_STRAIGHT_JOIN","KW_SUBSTRING","KW_SYSTEM","KW_SYMBOL","KW_SERIALIZE_FN","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRUE","KW_TRY_CAST","KW_TRUNCATE","KW_UNCACHED","KW_UESCAPE","KW_UNBOUNDED","KW_UNION","KW_UNNEST","KW_UNSET","KW_USE","KW_USER","KW_USING","KW_UPDATE_FN","KW_UPSERT","KW_UNKNOWN","KW_URI","KW_VALUE","KW_VALUES","KW_VIEW","KW_VIEWS","KW_WHEN","KW_WHERE","KW_WITH","KW_YEAR","KW_YEARS","KW_TEXTFILE","KW_ORC","KW_AVRO","KW_SEQUENCEFILE","KW_RCFILE","KW_REFERENCES","KW_NOVALIDATE","KW_RELY","KW_BINARY","KW_BIGINT","KW_BOOLEAN","KW_CHAR","KW_DATE","KW_DECIMAL","KW_DOUBLE","KW_INT","KW_MAP","KW_REAL","KW_SMALLINT","KW_FLOAT","KW_STRING","KW_STRUCT","KW_TIMESTAMP","KW_TINYINT","KW_VARCHAR","KW_COMPLEX","STATS_NUMDVS","STATS_NUMNULLS","STATS_AVGSIZE","STATS_MAXSIZE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","DOT","SEMICOLON","COMMA","COLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","BITWISEOR","QUESTION","RIGHT_ARROW","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","TIME_WITH_TIME_ZONE","TIMESTAMP_WITH_TIME_ZONE","DOUBLE_PRECISION","SIMPLE_COMMENT","BRACKETED_COMMENT","WS"],E.modeNames=["DEFAULT_MODE"],E.ruleNames=["KW_ADD","KW_ALL","KW_ANALYTIC","KW_ALTER","KW_AND","KW_ANY","KW_ANTI","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AGGREGATE","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BLOCK_SIZE","KW_PARTITIONED","KW_PREPARE_FN","KW_EXTERNAL","KW_CLOSEFN","KW_SORT","KW_PURGE","KW_STORED","KW_LOCATION","KW_TBLPROPERTIES","KW_BY","KW_CASCADE","KW_CASE","KW_CAST","KW_CACHED","KW_CHANGE","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMPRESSION","KW_COMPUTE","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DAY","KW_DAYS","KW_DELETE","KW_DEFAULT","KW_DELIMITED","KW_DISABLE","KW_UPDATE","KW_DESC","KW_DESCRIBE","KW_DISTINCT","KW_DROP","KW_ELSE","KW_ENCODING","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCLUDING","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_EXTENDED","KW_FALSE","KW_FIELDS","KW_FILEFORMAT","KW_FILES","KW_FILTER","KW_FIRST","KW_FINALIZE_FN","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FORMATTED","KW_FOREIGN","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HASH","KW_HAVING","KW_HOUR","KW_HOURS","KW_IF","KW_IN","KW_INCLUDING","KW_INCREMENTAL","KW_INNER","KW_INPATH","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTERMEDIATE","KW_INTO","KW_INIT_FN","KW_IREGEXP","KW_ILIKE","KW_INVALIDATE","KW_IS","KW_JOIN","KW_KEY","KW_KUDU","KW_LAST","KW_LATERAL","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_METADATA","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MERGE_FN","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLS","KW_OFFSET","KW_ON","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OWNER","KW_OVER","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONS","KW_PARQUET","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_REPLICATION","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_RECOVER","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_REFRESH","KW_REGEXP","KW_RLIKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROW","KW_ROWS","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SERDEPROPERTIES","KW_SET","KW_SEMI","KW_SERVER","KW_SHOW","KW_SHUTDOWN","KW_SOME","KW_STATS","KW_STRAIGHT_JOIN","KW_SUBSTRING","KW_SYSTEM","KW_SYMBOL","KW_SERIALIZE_FN","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRUE","KW_TRY_CAST","KW_TRUNCATE","KW_UNCACHED","KW_UESCAPE","KW_UNBOUNDED","KW_UNION","KW_UNNEST","KW_UNSET","KW_USE","KW_USER","KW_USING","KW_UPDATE_FN","KW_UPSERT","KW_UNKNOWN","KW_URI","KW_VALUE","KW_VALUES","KW_VIEW","KW_VIEWS","KW_WHEN","KW_WHERE","KW_WITH","KW_YEAR","KW_YEARS","KW_TEXTFILE","KW_ORC","KW_AVRO","KW_SEQUENCEFILE","KW_RCFILE","KW_REFERENCES","KW_NOVALIDATE","KW_RELY","KW_BINARY","KW_BIGINT","KW_BOOLEAN","KW_CHAR","KW_DATE","KW_DECIMAL","KW_DOUBLE","KW_INT","KW_MAP","KW_REAL","KW_SMALLINT","KW_FLOAT","KW_STRING","KW_STRUCT","KW_TIMESTAMP","KW_TINYINT","KW_VARCHAR","KW_COMPLEX","STATS_NUMDVS","STATS_NUMNULLS","STATS_AVGSIZE","STATS_MAXSIZE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","DOT","SEMICOLON","COMMA","COLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","BITWISEOR","QUESTION","RIGHT_ARROW","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","TIME_WITH_TIME_ZONE","TIMESTAMP_WITH_TIME_ZONE","DOUBLE_PRECISION","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS"],E._serializedATN=[4,0,289,2744,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,249,1,249,1,249,1,249,3,249,2433,8,249,1,250,1,250,1,251,1,251,1,251,1,252,1,252,1,253,1,253,1,253,1,254,1,254,1,255,1,255,1,256,1,256,1,257,1,257,1,258,1,258,1,259,1,259,1,259,1,260,1,260,1,261,1,261,1,262,1,262,1,263,1,263,1,264,1,264,1,265,1,265,1,266,1,266,1,267,1,267,1,268,1,268,1,269,1,269,1,270,1,270,1,271,1,271,1,272,1,272,1,272,1,273,1,273,1,273,1,273,5,273,2489,8,273,10,273,12,273,2492,9,273,1,273,1,273,1,273,1,273,1,273,5,273,2499,8,273,10,273,12,273,2502,9,273,1,273,3,273,2505,8,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,5,274,2514,8,274,10,274,12,274,2517,9,274,1,274,1,274,1,275,1,275,1,275,1,275,5,275,2525,8,275,10,275,12,275,2528,9,275,1,275,1,275,1,276,4,276,2533,8,276,11,276,12,276,2534,1,277,4,277,2538,8,277,11,277,12,277,2539,1,277,1,277,5,277,2544,8,277,10,277,12,277,2547,9,277,1,277,1,277,4,277,2551,8,277,11,277,12,277,2552,3,277,2555,8,277,1,278,4,278,2558,8,278,11,278,12,278,2559,1,278,1,278,5,278,2564,8,278,10,278,12,278,2567,9,278,3,278,2569,8,278,1,278,1,278,1,278,1,278,4,278,2575,8,278,11,278,12,278,2576,1,278,1,278,3,278,2581,8,278,1,279,1,279,3,279,2585,8,279,1,279,1,279,1,279,5,279,2590,8,279,10,279,12,279,2593,9,279,1,280,1,280,1,280,1,280,4,280,2599,8,280,11,280,12,280,2600,1,281,1,281,1,281,1,281,5,281,2607,8,281,10,281,12,281,2610,9,281,1,281,1,281,1,282,1,282,1,282,1,282,5,282,2618,8,282,10,282,12,282,2621,9,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,3,286,2696,8,286,1,286,4,286,2699,8,286,11,286,12,286,2700,1,287,1,287,1,288,1,288,1,289,1,289,1,289,1,289,5,289,2711,8,289,10,289,12,289,2714,9,289,1,289,3,289,2717,8,289,1,289,3,289,2720,8,289,1,289,1,289,1,290,1,290,1,290,1,290,5,290,2728,8,290,10,290,12,290,2731,9,290,1,290,1,290,1,290,1,290,1,290,1,291,4,291,2739,8,291,11,291,12,291,2740,1,291,1,291,1,2729,0,292,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,0,575,0,577,0,579,287,581,288,583,289,1,0,35,2,0,65,65,97,97,2,0,68,68,100,100,2,0,76,76,108,108,2,0,78,78,110,110,2,0,89,89,121,121,2,0,84,84,116,116,2,0,73,73,105,105,2,0,67,67,99,99,2,0,69,69,101,101,2,0,82,82,114,114,2,0,83,83,115,115,2,0,71,71,103,103,2,0,85,85,117,117,2,0,72,72,104,104,2,0,79,79,111,111,2,0,90,90,122,122,2,0,66,66,98,98,2,0,87,87,119,119,2,0,75,75,107,107,2,0,80,80,112,112,2,0,70,70,102,102,2,0,88,88,120,120,2,0,77,77,109,109,2,0,86,86,118,118,2,0,74,74,106,106,2,0,81,81,113,113,1,0,39,39,1,0,34,34,3,0,58,58,64,64,95,95,1,0,96,96,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,2777,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,1,585,1,0,0,0,3,589,1,0,0,0,5,593,1,0,0,0,7,602,1,0,0,0,9,608,1,0,0,0,11,612,1,0,0,0,13,616,1,0,0,0,15,621,1,0,0,0,17,627,1,0,0,0,19,630,1,0,0,0,21,634,1,0,0,0,23,637,1,0,0,0,25,647,1,0,0,0,27,661,1,0,0,0,29,671,1,0,0,0,31,679,1,0,0,0,33,690,1,0,0,0,35,702,1,0,0,0,37,713,1,0,0,0,39,722,1,0,0,0,41,730,1,0,0,0,43,735,1,0,0,0,45,741,1,0,0,0,47,748,1,0,0,0,49,757,1,0,0,0,51,771,1,0,0,0,53,774,1,0,0,0,55,782,1,0,0,0,57,787,1,0,0,0,59,792,1,0,0,0,61,799,1,0,0,0,63,806,1,0,0,0,65,813,1,0,0,0,67,821,1,0,0,0,69,829,1,0,0,0,71,841,1,0,0,0,73,849,1,0,0,0,75,856,1,0,0,0,77,862,1,0,0,0,79,870,1,0,0,0,81,883,1,0,0,0,83,896,1,0,0,0,85,909,1,0,0,0,87,927,1,0,0,0,89,940,1,0,0,0,91,945,1,0,0,0,93,954,1,0,0,0,95,964,1,0,0,0,97,968,1,0,0,0,99,973,1,0,0,0,101,980,1,0,0,0,103,988,1,0,0,0,105,998,1,0,0,0,107,1006,1,0,0,0,109,1013,1,0,0,0,111,1018,1,0,0,0,113,1027,1,0,0,0,115,1036,1,0,0,0,117,1041,1,0,0,0,119,1046,1,0,0,0,121,1055,1,0,0,0,123,1059,1,0,0,0,125,1066,1,0,0,0,127,1074,1,0,0,0,129,1081,1,0,0,0,131,1091,1,0,0,0,133,1098,1,0,0,0,135,1106,1,0,0,0,137,1114,1,0,0,0,139,1123,1,0,0,0,141,1129,1,0,0,0,143,1136,1,0,0,0,145,1147,1,0,0,0,147,1153,1,0,0,0,149,1160,1,0,0,0,151,1166,1,0,0,0,153,1178,1,0,0,0,155,1188,1,0,0,0,157,1192,1,0,0,0,159,1199,1,0,0,0,161,1209,1,0,0,0,163,1217,1,0,0,0,165,1222,1,0,0,0,167,1227,1,0,0,0,169,1236,1,0,0,0,171,1246,1,0,0,0,173,1252,1,0,0,0,175,1258,1,0,0,0,177,1267,1,0,0,0,179,1272,1,0,0,0,181,1279,1,0,0,0,183,1284,1,0,0,0,185,1290,1,0,0,0,187,1293,1,0,0,0,189,1296,1,0,0,0,191,1306,1,0,0,0,193,1318,1,0,0,0,195,1324,1,0,0,0,197,1331,1,0,0,0,199,1338,1,0,0,0,201,1348,1,0,0,0,203,1357,1,0,0,0,205,1370,1,0,0,0,207,1375,1,0,0,0,209,1383,1,0,0,0,211,1391,1,0,0,0,213,1397,1,0,0,0,215,1408,1,0,0,0,217,1411,1,0,0,0,219,1416,1,0,0,0,221,1420,1,0,0,0,223,1425,1,0,0,0,225,1430,1,0,0,0,227,1438,1,0,0,0,229,1443,1,0,0,0,231,1448,1,0,0,0,233,1454,1,0,0,0,235,1460,1,0,0,0,237,1465,1,0,0,0,239,1475,1,0,0,0,241,1490,1,0,0,0,243,1499,1,0,0,0,245,1506,1,0,0,0,247,1514,1,0,0,0,249,1520,1,0,0,0,251,1527,1,0,0,0,253,1536,1,0,0,0,255,1540,1,0,0,0,257,1544,1,0,0,0,259,1549,1,0,0,0,261,1554,1,0,0,0,263,1564,1,0,0,0,265,1568,1,0,0,0,267,1573,1,0,0,0,269,1579,1,0,0,0,271,1586,1,0,0,0,273,1589,1,0,0,0,275,1596,1,0,0,0,277,1599,1,0,0,0,279,1605,1,0,0,0,281,1616,1,0,0,0,283,1622,1,0,0,0,285,1628,1,0,0,0,287,1633,1,0,0,0,289,1643,1,0,0,0,291,1653,1,0,0,0,293,1664,1,0,0,0,295,1672,1,0,0,0,297,1681,1,0,0,0,299,1691,1,0,0,0,301,1699,1,0,0,0,303,1711,1,0,0,0,305,1722,1,0,0,0,307,1733,1,0,0,0,309,1739,1,0,0,0,311,1747,1,0,0,0,313,1754,1,0,0,0,315,1765,1,0,0,0,317,1773,1,0,0,0,319,1782,1,0,0,0,321,1790,1,0,0,0,323,1797,1,0,0,0,325,1805,1,0,0,0,327,1812,1,0,0,0,329,1818,1,0,0,0,331,1824,1,0,0,0,333,1829,1,0,0,0,335,1835,1,0,0,0,337,1839,1,0,0,0,339,1844,1,0,0,0,341,1851,1,0,0,0,343,1859,1,0,0,0,345,1866,1,0,0,0,347,1874,1,0,0,0,349,1881,1,0,0,0,351,1897,1,0,0,0,353,1901,1,0,0,0,355,1906,1,0,0,0,357,1913,1,0,0,0,359,1918,1,0,0,0,361,1927,1,0,0,0,363,1932,1,0,0,0,365,1938,1,0,0,0,367,1952,1,0,0,0,369,1962,1,0,0,0,371,1969,1,0,0,0,373,1976,1,0,0,0,375,1989,1,0,0,0,377,1995,1,0,0,0,379,2002,1,0,0,0,381,2014,1,0,0,0,383,2026,1,0,0,0,385,2031,1,0,0,0,387,2034,1,0,0,0,389,2039,1,0,0,0,391,2048,1,0,0,0,393,2057,1,0,0,0,395,2066,1,0,0,0,397,2074,1,0,0,0,399,2084,1,0,0,0,401,2090,1,0,0,0,403,2097,1,0,0,0,405,2103,1,0,0,0,407,2107,1,0,0,0,409,2112,1,0,0,0,411,2118,1,0,0,0,413,2128,1,0,0,0,415,2135,1,0,0,0,417,2143,1,0,0,0,419,2147,1,0,0,0,421,2153,1,0,0,0,423,2160,1,0,0,0,425,2165,1,0,0,0,427,2171,1,0,0,0,429,2176,1,0,0,0,431,2182,1,0,0,0,433,2187,1,0,0,0,435,2192,1,0,0,0,437,2198,1,0,0,0,439,2207,1,0,0,0,441,2211,1,0,0,0,443,2216,1,0,0,0,445,2229,1,0,0,0,447,2236,1,0,0,0,449,2247,1,0,0,0,451,2258,1,0,0,0,453,2263,1,0,0,0,455,2270,1,0,0,0,457,2277,1,0,0,0,459,2285,1,0,0,0,461,2290,1,0,0,0,463,2295,1,0,0,0,465,2303,1,0,0,0,467,2310,1,0,0,0,469,2314,1,0,0,0,471,2318,1,0,0,0,473,2323,1,0,0,0,475,2332,1,0,0,0,477,2338,1,0,0,0,479,2345,1,0,0,0,481,2352,1,0,0,0,483,2362,1,0,0,0,485,2370,1,0,0,0,487,2378,1,0,0,0,489,2386,1,0,0,0,491,2395,1,0,0,0,493,2406,1,0,0,0,495,2416,1,0,0,0,497,2426,1,0,0,0,499,2432,1,0,0,0,501,2434,1,0,0,0,503,2436,1,0,0,0,505,2439,1,0,0,0,507,2441,1,0,0,0,509,2444,1,0,0,0,511,2446,1,0,0,0,513,2448,1,0,0,0,515,2450,1,0,0,0,517,2452,1,0,0,0,519,2454,1,0,0,0,521,2457,1,0,0,0,523,2459,1,0,0,0,525,2461,1,0,0,0,527,2463,1,0,0,0,529,2465,1,0,0,0,531,2467,1,0,0,0,533,2469,1,0,0,0,535,2471,1,0,0,0,537,2473,1,0,0,0,539,2475,1,0,0,0,541,2477,1,0,0,0,543,2479,1,0,0,0,545,2481,1,0,0,0,547,2504,1,0,0,0,549,2506,1,0,0,0,551,2520,1,0,0,0,553,2532,1,0,0,0,555,2554,1,0,0,0,557,2580,1,0,0,0,559,2584,1,0,0,0,561,2594,1,0,0,0,563,2602,1,0,0,0,565,2613,1,0,0,0,567,2624,1,0,0,0,569,2647,1,0,0,0,571,2675,1,0,0,0,573,2693,1,0,0,0,575,2702,1,0,0,0,577,2704,1,0,0,0,579,2706,1,0,0,0,581,2723,1,0,0,0,583,2738,1,0,0,0,585,586,7,0,0,0,586,587,7,1,0,0,587,588,7,1,0,0,588,2,1,0,0,0,589,590,7,0,0,0,590,591,7,2,0,0,591,592,7,2,0,0,592,4,1,0,0,0,593,594,7,0,0,0,594,595,7,3,0,0,595,596,7,0,0,0,596,597,7,2,0,0,597,598,7,4,0,0,598,599,7,5,0,0,599,600,7,6,0,0,600,601,7,7,0,0,601,6,1,0,0,0,602,603,7,0,0,0,603,604,7,2,0,0,604,605,7,5,0,0,605,606,7,8,0,0,606,607,7,9,0,0,607,8,1,0,0,0,608,609,7,0,0,0,609,610,7,3,0,0,610,611,7,1,0,0,611,10,1,0,0,0,612,613,7,0,0,0,613,614,7,3,0,0,614,615,7,4,0,0,615,12,1,0,0,0,616,617,7,0,0,0,617,618,7,3,0,0,618,619,7,5,0,0,619,620,7,6,0,0,620,14,1,0,0,0,621,622,7,0,0,0,622,623,7,9,0,0,623,624,7,9,0,0,624,625,7,0,0,0,625,626,7,4,0,0,626,16,1,0,0,0,627,628,7,0,0,0,628,629,7,10,0,0,629,18,1,0,0,0,630,631,7,0,0,0,631,632,7,10,0,0,632,633,7,7,0,0,633,20,1,0,0,0,634,635,7,0,0,0,635,636,7,5,0,0,636,22,1,0,0,0,637,638,7,0,0,0,638,639,7,11,0,0,639,640,7,11,0,0,640,641,7,9,0,0,641,642,7,8,0,0,642,643,7,11,0,0,643,644,7,0,0,0,644,645,7,5,0,0,645,646,7,8,0,0,646,24,1,0,0,0,647,648,7,0,0,0,648,649,7,12,0,0,649,650,7,5,0,0,650,651,7,13,0,0,651,652,7,14,0,0,652,653,7,9,0,0,653,654,7,6,0,0,654,655,7,15,0,0,655,656,7,0,0,0,656,657,7,5,0,0,657,658,7,6,0,0,658,659,7,14,0,0,659,660,7,3,0,0,660,26,1,0,0,0,661,662,7,16,0,0,662,663,7,8,0,0,663,664,7,9,0,0,664,665,7,3,0,0,665,666,7,14,0,0,666,667,7,12,0,0,667,668,7,2,0,0,668,669,7,2,0,0,669,670,7,6,0,0,670,28,1,0,0,0,671,672,7,16,0,0,672,673,7,8,0,0,673,674,7,5,0,0,674,675,7,17,0,0,675,676,7,8,0,0,676,677,7,8,0,0,677,678,7,3,0,0,678,30,1,0,0,0,679,680,7,16,0,0,680,681,7,2,0,0,681,682,7,14,0,0,682,683,7,7,0,0,683,684,7,18,0,0,684,685,5,95,0,0,685,686,7,10,0,0,686,687,7,6,0,0,687,688,7,15,0,0,688,689,7,8,0,0,689,32,1,0,0,0,690,691,7,19,0,0,691,692,7,0,0,0,692,693,7,9,0,0,693,694,7,5,0,0,694,695,7,6,0,0,695,696,7,5,0,0,696,697,7,6,0,0,697,698,7,14,0,0,698,699,7,3,0,0,699,700,7,8,0,0,700,701,7,1,0,0,701,34,1,0,0,0,702,703,7,19,0,0,703,704,7,9,0,0,704,705,7,8,0,0,705,706,7,19,0,0,706,707,7,0,0,0,707,708,7,9,0,0,708,709,7,8,0,0,709,710,5,95,0,0,710,711,7,20,0,0,711,712,7,3,0,0,712,36,1,0,0,0,713,714,7,8,0,0,714,715,7,21,0,0,715,716,7,5,0,0,716,717,7,8,0,0,717,718,7,9,0,0,718,719,7,3,0,0,719,720,7,0,0,0,720,721,7,2,0,0,721,38,1,0,0,0,722,723,7,7,0,0,723,724,7,2,0,0,724,725,7,14,0,0,725,726,7,10,0,0,726,727,7,8,0,0,727,728,7,20,0,0,728,729,7,3,0,0,729,40,1,0,0,0,730,731,7,10,0,0,731,732,7,14,0,0,732,733,7,9,0,0,733,734,7,5,0,0,734,42,1,0,0,0,735,736,7,19,0,0,736,737,7,12,0,0,737,738,7,9,0,0,738,739,7,11,0,0,739,740,7,8,0,0,740,44,1,0,0,0,741,742,7,10,0,0,742,743,7,5,0,0,743,744,7,14,0,0,744,745,7,9,0,0,745,746,7,8,0,0,746,747,7,1,0,0,747,46,1,0,0,0,748,749,7,2,0,0,749,750,7,14,0,0,750,751,7,7,0,0,751,752,7,0,0,0,752,753,7,5,0,0,753,754,7,6,0,0,754,755,7,14,0,0,755,756,7,3,0,0,756,48,1,0,0,0,757,758,7,5,0,0,758,759,7,16,0,0,759,760,7,2,0,0,760,761,7,19,0,0,761,762,7,9,0,0,762,763,7,14,0,0,763,764,7,19,0,0,764,765,7,8,0,0,765,766,7,9,0,0,766,767,7,5,0,0,767,768,7,6,0,0,768,769,7,8,0,0,769,770,7,10,0,0,770,50,1,0,0,0,771,772,7,16,0,0,772,773,7,4,0,0,773,52,1,0,0,0,774,775,7,7,0,0,775,776,7,0,0,0,776,777,7,10,0,0,777,778,7,7,0,0,778,779,7,0,0,0,779,780,7,1,0,0,780,781,7,8,0,0,781,54,1,0,0,0,782,783,7,7,0,0,783,784,7,0,0,0,784,785,7,10,0,0,785,786,7,8,0,0,786,56,1,0,0,0,787,788,7,7,0,0,788,789,7,0,0,0,789,790,7,10,0,0,790,791,7,5,0,0,791,58,1,0,0,0,792,793,7,7,0,0,793,794,7,0,0,0,794,795,7,7,0,0,795,796,7,13,0,0,796,797,7,8,0,0,797,798,7,1,0,0,798,60,1,0,0,0,799,800,7,7,0,0,800,801,7,13,0,0,801,802,7,0,0,0,802,803,7,3,0,0,803,804,7,11,0,0,804,805,7,8,0,0,805,62,1,0,0,0,806,807,7,7,0,0,807,808,7,14,0,0,808,809,7,2,0,0,809,810,7,12,0,0,810,811,7,22,0,0,811,812,7,3,0,0,812,64,1,0,0,0,813,814,7,7,0,0,814,815,7,14,0,0,815,816,7,2,0,0,816,817,7,12,0,0,817,818,7,22,0,0,818,819,7,3,0,0,819,820,7,10,0,0,820,66,1,0,0,0,821,822,7,7,0,0,822,823,7,14,0,0,823,824,7,22,0,0,824,825,7,22,0,0,825,826,7,8,0,0,826,827,7,3,0,0,827,828,7,5,0,0,828,68,1,0,0,0,829,830,7,7,0,0,830,831,7,14,0,0,831,832,7,22,0,0,832,833,7,19,0,0,833,834,7,9,0,0,834,835,7,8,0,0,835,836,7,10,0,0,836,837,7,10,0,0,837,838,7,6,0,0,838,839,7,14,0,0,839,840,7,3,0,0,840,70,1,0,0,0,841,842,7,7,0,0,842,843,7,14,0,0,843,844,7,22,0,0,844,845,7,19,0,0,845,846,7,12,0,0,846,847,7,5,0,0,847,848,7,8,0,0,848,72,1,0,0,0,849,850,7,7,0,0,850,851,7,9,0,0,851,852,7,8,0,0,852,853,7,0,0,0,853,854,7,5,0,0,854,855,7,8,0,0,855,74,1,0,0,0,856,857,7,7,0,0,857,858,7,9,0,0,858,859,7,14,0,0,859,860,7,10,0,0,860,861,7,10,0,0,861,76,1,0,0,0,862,863,7,7,0,0,863,864,7,12,0,0,864,865,7,9,0,0,865,866,7,9,0,0,866,867,7,8,0,0,867,868,7,3,0,0,868,869,7,5,0,0,869,78,1,0,0,0,870,871,7,7,0,0,871,872,7,12,0,0,872,873,7,9,0,0,873,874,7,9,0,0,874,875,7,8,0,0,875,876,7,3,0,0,876,877,7,5,0,0,877,878,5,95,0,0,878,879,7,1,0,0,879,880,7,0,0,0,880,881,7,5,0,0,881,882,7,8,0,0,882,80,1,0,0,0,883,884,7,7,0,0,884,885,7,12,0,0,885,886,7,9,0,0,886,887,7,9,0,0,887,888,7,8,0,0,888,889,7,3,0,0,889,890,7,5,0,0,890,891,5,95,0,0,891,892,7,19,0,0,892,893,7,0,0,0,893,894,7,5,0,0,894,895,7,13,0,0,895,82,1,0,0,0,896,897,7,7,0,0,897,898,7,12,0,0,898,899,7,9,0,0,899,900,7,9,0,0,900,901,7,8,0,0,901,902,7,3,0,0,902,903,7,5,0,0,903,904,5,95,0,0,904,905,7,5,0,0,905,906,7,6,0,0,906,907,7,22,0,0,907,908,7,8,0,0,908,84,1,0,0,0,909,910,7,7,0,0,910,911,7,12,0,0,911,912,7,9,0,0,912,913,7,9,0,0,913,914,7,8,0,0,914,915,7,3,0,0,915,916,7,5,0,0,916,917,5,95,0,0,917,918,7,5,0,0,918,919,7,6,0,0,919,920,7,22,0,0,920,921,7,8,0,0,921,922,7,10,0,0,922,923,7,5,0,0,923,924,7,0,0,0,924,925,7,22,0,0,925,926,7,19,0,0,926,86,1,0,0,0,927,928,7,7,0,0,928,929,7,12,0,0,929,930,7,9,0,0,930,931,7,9,0,0,931,932,7,8,0,0,932,933,7,3,0,0,933,934,7,5,0,0,934,935,5,95,0,0,935,936,7,12,0,0,936,937,7,10,0,0,937,938,7,8,0,0,938,939,7,9,0,0,939,88,1,0,0,0,940,941,7,1,0,0,941,942,7,0,0,0,942,943,7,5,0,0,943,944,7,0,0,0,944,90,1,0,0,0,945,946,7,1,0,0,946,947,7,0,0,0,947,948,7,5,0,0,948,949,7,0,0,0,949,950,7,16,0,0,950,951,7,0,0,0,951,952,7,10,0,0,952,953,7,8,0,0,953,92,1,0,0,0,954,955,7,1,0,0,955,956,7,0,0,0,956,957,7,5,0,0,957,958,7,0,0,0,958,959,7,16,0,0,959,960,7,0,0,0,960,961,7,10,0,0,961,962,7,8,0,0,962,963,7,10,0,0,963,94,1,0,0,0,964,965,7,1,0,0,965,966,7,0,0,0,966,967,7,4,0,0,967,96,1,0,0,0,968,969,7,1,0,0,969,970,7,0,0,0,970,971,7,4,0,0,971,972,7,10,0,0,972,98,1,0,0,0,973,974,7,1,0,0,974,975,7,8,0,0,975,976,7,2,0,0,976,977,7,8,0,0,977,978,7,5,0,0,978,979,7,8,0,0,979,100,1,0,0,0,980,981,7,1,0,0,981,982,7,8,0,0,982,983,7,20,0,0,983,984,7,0,0,0,984,985,7,12,0,0,985,986,7,2,0,0,986,987,7,5,0,0,987,102,1,0,0,0,988,989,7,1,0,0,989,990,7,8,0,0,990,991,7,2,0,0,991,992,7,6,0,0,992,993,7,22,0,0,993,994,7,6,0,0,994,995,7,5,0,0,995,996,7,8,0,0,996,997,7,1,0,0,997,104,1,0,0,0,998,999,7,1,0,0,999,1e3,7,6,0,0,1e3,1001,7,10,0,0,1001,1002,7,0,0,0,1002,1003,7,16,0,0,1003,1004,7,2,0,0,1004,1005,7,8,0,0,1005,106,1,0,0,0,1006,1007,7,12,0,0,1007,1008,7,19,0,0,1008,1009,7,1,0,0,1009,1010,7,0,0,0,1010,1011,7,5,0,0,1011,1012,7,8,0,0,1012,108,1,0,0,0,1013,1014,7,1,0,0,1014,1015,7,8,0,0,1015,1016,7,10,0,0,1016,1017,7,7,0,0,1017,110,1,0,0,0,1018,1019,7,1,0,0,1019,1020,7,8,0,0,1020,1021,7,10,0,0,1021,1022,7,7,0,0,1022,1023,7,9,0,0,1023,1024,7,6,0,0,1024,1025,7,16,0,0,1025,1026,7,8,0,0,1026,112,1,0,0,0,1027,1028,7,1,0,0,1028,1029,7,6,0,0,1029,1030,7,10,0,0,1030,1031,7,5,0,0,1031,1032,7,6,0,0,1032,1033,7,3,0,0,1033,1034,7,7,0,0,1034,1035,7,5,0,0,1035,114,1,0,0,0,1036,1037,7,1,0,0,1037,1038,7,9,0,0,1038,1039,7,14,0,0,1039,1040,7,19,0,0,1040,116,1,0,0,0,1041,1042,7,8,0,0,1042,1043,7,2,0,0,1043,1044,7,10,0,0,1044,1045,7,8,0,0,1045,118,1,0,0,0,1046,1047,7,8,0,0,1047,1048,7,3,0,0,1048,1049,7,7,0,0,1049,1050,7,14,0,0,1050,1051,7,1,0,0,1051,1052,7,6,0,0,1052,1053,7,3,0,0,1053,1054,7,11,0,0,1054,120,1,0,0,0,1055,1056,7,8,0,0,1056,1057,7,3,0,0,1057,1058,7,1,0,0,1058,122,1,0,0,0,1059,1060,7,8,0,0,1060,1061,7,10,0,0,1061,1062,7,7,0,0,1062,1063,7,0,0,0,1063,1064,7,19,0,0,1064,1065,7,8,0,0,1065,124,1,0,0,0,1066,1067,7,8,0,0,1067,1068,7,10,0,0,1068,1069,7,7,0,0,1069,1070,7,0,0,0,1070,1071,7,19,0,0,1071,1072,7,8,0,0,1072,1073,7,1,0,0,1073,126,1,0,0,0,1074,1075,7,8,0,0,1075,1076,7,21,0,0,1076,1077,7,7,0,0,1077,1078,7,8,0,0,1078,1079,7,19,0,0,1079,1080,7,5,0,0,1080,128,1,0,0,0,1081,1082,7,8,0,0,1082,1083,7,21,0,0,1083,1084,7,7,0,0,1084,1085,7,2,0,0,1085,1086,7,12,0,0,1086,1087,7,1,0,0,1087,1088,7,6,0,0,1088,1089,7,3,0,0,1089,1090,7,11,0,0,1090,130,1,0,0,0,1091,1092,7,8,0,0,1092,1093,7,21,0,0,1093,1094,7,6,0,0,1094,1095,7,10,0,0,1095,1096,7,5,0,0,1096,1097,7,10,0,0,1097,132,1,0,0,0,1098,1099,7,8,0,0,1099,1100,7,21,0,0,1100,1101,7,19,0,0,1101,1102,7,2,0,0,1102,1103,7,0,0,0,1103,1104,7,6,0,0,1104,1105,7,3,0,0,1105,134,1,0,0,0,1106,1107,7,8,0,0,1107,1108,7,21,0,0,1108,1109,7,5,0,0,1109,1110,7,9,0,0,1110,1111,7,0,0,0,1111,1112,7,7,0,0,1112,1113,7,5,0,0,1113,136,1,0,0,0,1114,1115,7,8,0,0,1115,1116,7,21,0,0,1116,1117,7,5,0,0,1117,1118,7,8,0,0,1118,1119,7,3,0,0,1119,1120,7,1,0,0,1120,1121,7,8,0,0,1121,1122,7,1,0,0,1122,138,1,0,0,0,1123,1124,7,20,0,0,1124,1125,7,0,0,0,1125,1126,7,2,0,0,1126,1127,7,10,0,0,1127,1128,7,8,0,0,1128,140,1,0,0,0,1129,1130,7,20,0,0,1130,1131,7,6,0,0,1131,1132,7,8,0,0,1132,1133,7,2,0,0,1133,1134,7,1,0,0,1134,1135,7,10,0,0,1135,142,1,0,0,0,1136,1137,7,20,0,0,1137,1138,7,6,0,0,1138,1139,7,2,0,0,1139,1140,7,8,0,0,1140,1141,7,20,0,0,1141,1142,7,14,0,0,1142,1143,7,9,0,0,1143,1144,7,22,0,0,1144,1145,7,0,0,0,1145,1146,7,5,0,0,1146,144,1,0,0,0,1147,1148,7,20,0,0,1148,1149,7,6,0,0,1149,1150,7,2,0,0,1150,1151,7,8,0,0,1151,1152,7,10,0,0,1152,146,1,0,0,0,1153,1154,7,20,0,0,1154,1155,7,6,0,0,1155,1156,7,2,0,0,1156,1157,7,5,0,0,1157,1158,7,8,0,0,1158,1159,7,9,0,0,1159,148,1,0,0,0,1160,1161,7,20,0,0,1161,1162,7,6,0,0,1162,1163,7,9,0,0,1163,1164,7,10,0,0,1164,1165,7,5,0,0,1165,150,1,0,0,0,1166,1167,7,20,0,0,1167,1168,7,6,0,0,1168,1169,7,3,0,0,1169,1170,7,0,0,0,1170,1171,7,2,0,0,1171,1172,7,6,0,0,1172,1173,7,15,0,0,1173,1174,7,8,0,0,1174,1175,5,95,0,0,1175,1176,7,20,0,0,1176,1177,7,3,0,0,1177,152,1,0,0,0,1178,1179,7,20,0,0,1179,1180,7,14,0,0,1180,1181,7,2,0,0,1181,1182,7,2,0,0,1182,1183,7,14,0,0,1183,1184,7,17,0,0,1184,1185,7,6,0,0,1185,1186,7,3,0,0,1186,1187,7,11,0,0,1187,154,1,0,0,0,1188,1189,7,20,0,0,1189,1190,7,14,0,0,1190,1191,7,9,0,0,1191,156,1,0,0,0,1192,1193,7,20,0,0,1193,1194,7,14,0,0,1194,1195,7,9,0,0,1195,1196,7,22,0,0,1196,1197,7,0,0,0,1197,1198,7,5,0,0,1198,158,1,0,0,0,1199,1200,7,20,0,0,1200,1201,7,14,0,0,1201,1202,7,9,0,0,1202,1203,7,22,0,0,1203,1204,7,0,0,0,1204,1205,7,5,0,0,1205,1206,7,5,0,0,1206,1207,7,8,0,0,1207,1208,7,1,0,0,1208,160,1,0,0,0,1209,1210,7,20,0,0,1210,1211,7,14,0,0,1211,1212,7,9,0,0,1212,1213,7,8,0,0,1213,1214,7,6,0,0,1214,1215,7,11,0,0,1215,1216,7,3,0,0,1216,162,1,0,0,0,1217,1218,7,20,0,0,1218,1219,7,9,0,0,1219,1220,7,14,0,0,1220,1221,7,22,0,0,1221,164,1,0,0,0,1222,1223,7,20,0,0,1223,1224,7,12,0,0,1224,1225,7,2,0,0,1225,1226,7,2,0,0,1226,166,1,0,0,0,1227,1228,7,20,0,0,1228,1229,7,12,0,0,1229,1230,7,3,0,0,1230,1231,7,7,0,0,1231,1232,7,5,0,0,1232,1233,7,6,0,0,1233,1234,7,14,0,0,1234,1235,7,3,0,0,1235,168,1,0,0,0,1236,1237,7,20,0,0,1237,1238,7,12,0,0,1238,1239,7,3,0,0,1239,1240,7,7,0,0,1240,1241,7,5,0,0,1241,1242,7,6,0,0,1242,1243,7,14,0,0,1243,1244,7,3,0,0,1244,1245,7,10,0,0,1245,170,1,0,0,0,1246,1247,7,11,0,0,1247,1248,7,9,0,0,1248,1249,7,0,0,0,1249,1250,7,3,0,0,1250,1251,7,5,0,0,1251,172,1,0,0,0,1252,1253,7,11,0,0,1253,1254,7,9,0,0,1254,1255,7,14,0,0,1255,1256,7,12,0,0,1256,1257,7,19,0,0,1257,174,1,0,0,0,1258,1259,7,11,0,0,1259,1260,7,9,0,0,1260,1261,7,14,0,0,1261,1262,7,12,0,0,1262,1263,7,19,0,0,1263,1264,7,6,0,0,1264,1265,7,3,0,0,1265,1266,7,11,0,0,1266,176,1,0,0,0,1267,1268,7,13,0,0,1268,1269,7,0,0,0,1269,1270,7,10,0,0,1270,1271,7,13,0,0,1271,178,1,0,0,0,1272,1273,7,13,0,0,1273,1274,7,0,0,0,1274,1275,7,23,0,0,1275,1276,7,6,0,0,1276,1277,7,3,0,0,1277,1278,7,11,0,0,1278,180,1,0,0,0,1279,1280,7,13,0,0,1280,1281,7,14,0,0,1281,1282,7,12,0,0,1282,1283,7,9,0,0,1283,182,1,0,0,0,1284,1285,7,13,0,0,1285,1286,7,14,0,0,1286,1287,7,12,0,0,1287,1288,7,9,0,0,1288,1289,7,10,0,0,1289,184,1,0,0,0,1290,1291,7,6,0,0,1291,1292,7,20,0,0,1292,186,1,0,0,0,1293,1294,7,6,0,0,1294,1295,7,3,0,0,1295,188,1,0,0,0,1296,1297,7,6,0,0,1297,1298,7,3,0,0,1298,1299,7,7,0,0,1299,1300,7,2,0,0,1300,1301,7,12,0,0,1301,1302,7,1,0,0,1302,1303,7,6,0,0,1303,1304,7,3,0,0,1304,1305,7,11,0,0,1305,190,1,0,0,0,1306,1307,7,6,0,0,1307,1308,7,3,0,0,1308,1309,7,7,0,0,1309,1310,7,9,0,0,1310,1311,7,8,0,0,1311,1312,7,22,0,0,1312,1313,7,8,0,0,1313,1314,7,3,0,0,1314,1315,7,5,0,0,1315,1316,7,0,0,0,1316,1317,7,2,0,0,1317,192,1,0,0,0,1318,1319,7,6,0,0,1319,1320,7,3,0,0,1320,1321,7,3,0,0,1321,1322,7,8,0,0,1322,1323,7,9,0,0,1323,194,1,0,0,0,1324,1325,7,6,0,0,1325,1326,7,3,0,0,1326,1327,7,19,0,0,1327,1328,7,0,0,0,1328,1329,7,5,0,0,1329,1330,7,13,0,0,1330,196,1,0,0,0,1331,1332,7,6,0,0,1332,1333,7,3,0,0,1333,1334,7,10,0,0,1334,1335,7,8,0,0,1335,1336,7,9,0,0,1336,1337,7,5,0,0,1337,198,1,0,0,0,1338,1339,7,6,0,0,1339,1340,7,3,0,0,1340,1341,7,5,0,0,1341,1342,7,8,0,0,1342,1343,7,9,0,0,1343,1344,7,10,0,0,1344,1345,7,8,0,0,1345,1346,7,7,0,0,1346,1347,7,5,0,0,1347,200,1,0,0,0,1348,1349,7,6,0,0,1349,1350,7,3,0,0,1350,1351,7,5,0,0,1351,1352,7,8,0,0,1352,1353,7,9,0,0,1353,1354,7,23,0,0,1354,1355,7,0,0,0,1355,1356,7,2,0,0,1356,202,1,0,0,0,1357,1358,7,6,0,0,1358,1359,7,3,0,0,1359,1360,7,5,0,0,1360,1361,7,8,0,0,1361,1362,7,9,0,0,1362,1363,7,22,0,0,1363,1364,7,8,0,0,1364,1365,7,1,0,0,1365,1366,7,6,0,0,1366,1367,7,0,0,0,1367,1368,7,5,0,0,1368,1369,7,8,0,0,1369,204,1,0,0,0,1370,1371,7,6,0,0,1371,1372,7,3,0,0,1372,1373,7,5,0,0,1373,1374,7,14,0,0,1374,206,1,0,0,0,1375,1376,7,6,0,0,1376,1377,7,3,0,0,1377,1378,7,6,0,0,1378,1379,7,5,0,0,1379,1380,5,95,0,0,1380,1381,7,20,0,0,1381,1382,7,3,0,0,1382,208,1,0,0,0,1383,1384,7,6,0,0,1384,1385,7,9,0,0,1385,1386,7,8,0,0,1386,1387,7,11,0,0,1387,1388,7,8,0,0,1388,1389,7,21,0,0,1389,1390,7,19,0,0,1390,210,1,0,0,0,1391,1392,7,6,0,0,1392,1393,7,2,0,0,1393,1394,7,6,0,0,1394,1395,7,18,0,0,1395,1396,7,8,0,0,1396,212,1,0,0,0,1397,1398,7,6,0,0,1398,1399,7,3,0,0,1399,1400,7,23,0,0,1400,1401,7,0,0,0,1401,1402,7,2,0,0,1402,1403,7,6,0,0,1403,1404,7,1,0,0,1404,1405,7,0,0,0,1405,1406,7,5,0,0,1406,1407,7,8,0,0,1407,214,1,0,0,0,1408,1409,7,6,0,0,1409,1410,7,10,0,0,1410,216,1,0,0,0,1411,1412,7,24,0,0,1412,1413,7,14,0,0,1413,1414,7,6,0,0,1414,1415,7,3,0,0,1415,218,1,0,0,0,1416,1417,7,18,0,0,1417,1418,7,8,0,0,1418,1419,7,4,0,0,1419,220,1,0,0,0,1420,1421,7,18,0,0,1421,1422,7,12,0,0,1422,1423,7,1,0,0,1423,1424,7,12,0,0,1424,222,1,0,0,0,1425,1426,7,2,0,0,1426,1427,7,0,0,0,1427,1428,7,10,0,0,1428,1429,7,5,0,0,1429,224,1,0,0,0,1430,1431,7,2,0,0,1431,1432,7,0,0,0,1432,1433,7,5,0,0,1433,1434,7,8,0,0,1434,1435,7,9,0,0,1435,1436,7,0,0,0,1436,1437,7,2,0,0,1437,226,1,0,0,0,1438,1439,7,2,0,0,1439,1440,7,8,0,0,1440,1441,7,20,0,0,1441,1442,7,5,0,0,1442,228,1,0,0,0,1443,1444,7,2,0,0,1444,1445,7,6,0,0,1445,1446,7,18,0,0,1446,1447,7,8,0,0,1447,230,1,0,0,0,1448,1449,7,2,0,0,1449,1450,7,6,0,0,1450,1451,7,22,0,0,1451,1452,7,6,0,0,1452,1453,7,5,0,0,1453,232,1,0,0,0,1454,1455,7,2,0,0,1455,1456,7,6,0,0,1456,1457,7,3,0,0,1457,1458,7,8,0,0,1458,1459,7,10,0,0,1459,234,1,0,0,0,1460,1461,7,2,0,0,1461,1462,7,14,0,0,1462,1463,7,0,0,0,1463,1464,7,1,0,0,1464,236,1,0,0,0,1465,1466,7,2,0,0,1466,1467,7,14,0,0,1467,1468,7,7,0,0,1468,1469,7,0,0,0,1469,1470,7,2,0,0,1470,1471,7,5,0,0,1471,1472,7,6,0,0,1472,1473,7,22,0,0,1473,1474,7,8,0,0,1474,238,1,0,0,0,1475,1476,7,2,0,0,1476,1477,7,14,0,0,1477,1478,7,7,0,0,1478,1479,7,0,0,0,1479,1480,7,2,0,0,1480,1481,7,5,0,0,1481,1482,7,6,0,0,1482,1483,7,22,0,0,1483,1484,7,8,0,0,1484,1485,7,10,0,0,1485,1486,7,5,0,0,1486,1487,7,0,0,0,1487,1488,7,22,0,0,1488,1489,7,19,0,0,1489,240,1,0,0,0,1490,1491,7,22,0,0,1491,1492,7,8,0,0,1492,1493,7,5,0,0,1493,1494,7,0,0,0,1494,1495,7,1,0,0,1495,1496,7,0,0,0,1496,1497,7,5,0,0,1497,1498,7,0,0,0,1498,242,1,0,0,0,1499,1500,7,22,0,0,1500,1501,7,6,0,0,1501,1502,7,3,0,0,1502,1503,7,12,0,0,1503,1504,7,5,0,0,1504,1505,7,8,0,0,1505,244,1,0,0,0,1506,1507,7,22,0,0,1507,1508,7,6,0,0,1508,1509,7,3,0,0,1509,1510,7,12,0,0,1510,1511,7,5,0,0,1511,1512,7,8,0,0,1512,1513,7,10,0,0,1513,246,1,0,0,0,1514,1515,7,22,0,0,1515,1516,7,14,0,0,1516,1517,7,3,0,0,1517,1518,7,5,0,0,1518,1519,7,13,0,0,1519,248,1,0,0,0,1520,1521,7,22,0,0,1521,1522,7,14,0,0,1522,1523,7,3,0,0,1523,1524,7,5,0,0,1524,1525,7,13,0,0,1525,1526,7,10,0,0,1526,250,1,0,0,0,1527,1528,7,22,0,0,1528,1529,7,8,0,0,1529,1530,7,9,0,0,1530,1531,7,11,0,0,1531,1532,7,8,0,0,1532,1533,5,95,0,0,1533,1534,7,20,0,0,1534,1535,7,3,0,0,1535,252,1,0,0,0,1536,1537,7,3,0,0,1537,1538,7,20,0,0,1538,1539,7,7,0,0,1539,254,1,0,0,0,1540,1541,7,3,0,0,1541,1542,7,20,0,0,1542,1543,7,1,0,0,1543,256,1,0,0,0,1544,1545,7,3,0,0,1545,1546,7,20,0,0,1546,1547,7,18,0,0,1547,1548,7,7,0,0,1548,258,1,0,0,0,1549,1550,7,3,0,0,1550,1551,7,20,0,0,1551,1552,7,18,0,0,1552,1553,7,1,0,0,1553,260,1,0,0,0,1554,1555,7,3,0,0,1555,1556,7,14,0,0,1556,1557,7,9,0,0,1557,1558,7,22,0,0,1558,1559,7,0,0,0,1559,1560,7,2,0,0,1560,1561,7,6,0,0,1561,1562,7,15,0,0,1562,1563,7,8,0,0,1563,262,1,0,0,0,1564,1565,7,3,0,0,1565,1566,7,14,0,0,1566,1567,7,5,0,0,1567,264,1,0,0,0,1568,1569,7,3,0,0,1569,1570,7,12,0,0,1570,1571,7,2,0,0,1571,1572,7,2,0,0,1572,266,1,0,0,0,1573,1574,7,3,0,0,1574,1575,7,12,0,0,1575,1576,7,2,0,0,1576,1577,7,2,0,0,1577,1578,7,10,0,0,1578,268,1,0,0,0,1579,1580,7,14,0,0,1580,1581,7,20,0,0,1581,1582,7,20,0,0,1582,1583,7,10,0,0,1583,1584,7,8,0,0,1584,1585,7,5,0,0,1585,270,1,0,0,0,1586,1587,7,14,0,0,1587,1588,7,3,0,0,1588,272,1,0,0,0,1589,1590,7,14,0,0,1590,1591,7,19,0,0,1591,1592,7,5,0,0,1592,1593,7,6,0,0,1593,1594,7,14,0,0,1594,1595,7,3,0,0,1595,274,1,0,0,0,1596,1597,7,14,0,0,1597,1598,7,9,0,0,1598,276,1,0,0,0,1599,1600,7,14,0,0,1600,1601,7,9,0,0,1601,1602,7,1,0,0,1602,1603,7,8,0,0,1603,1604,7,9,0,0,1604,278,1,0,0,0,1605,1606,7,14,0,0,1606,1607,7,9,0,0,1607,1608,7,1,0,0,1608,1609,7,6,0,0,1609,1610,7,3,0,0,1610,1611,7,0,0,0,1611,1612,7,2,0,0,1612,1613,7,6,0,0,1613,1614,7,5,0,0,1614,1615,7,4,0,0,1615,280,1,0,0,0,1616,1617,7,14,0,0,1617,1618,7,12,0,0,1618,1619,7,5,0,0,1619,1620,7,8,0,0,1620,1621,7,9,0,0,1621,282,1,0,0,0,1622,1623,7,14,0,0,1623,1624,7,17,0,0,1624,1625,7,3,0,0,1625,1626,7,8,0,0,1626,1627,7,9,0,0,1627,284,1,0,0,0,1628,1629,7,14,0,0,1629,1630,7,23,0,0,1630,1631,7,8,0,0,1631,1632,7,9,0,0,1632,286,1,0,0,0,1633,1634,7,14,0,0,1634,1635,7,23,0,0,1635,1636,7,8,0,0,1636,1637,7,9,0,0,1637,1638,7,17,0,0,1638,1639,7,9,0,0,1639,1640,7,6,0,0,1640,1641,7,5,0,0,1641,1642,7,8,0,0,1642,288,1,0,0,0,1643,1644,7,19,0,0,1644,1645,7,0,0,0,1645,1646,7,9,0,0,1646,1647,7,5,0,0,1647,1648,7,6,0,0,1648,1649,7,5,0,0,1649,1650,7,6,0,0,1650,1651,7,14,0,0,1651,1652,7,3,0,0,1652,290,1,0,0,0,1653,1654,7,19,0,0,1654,1655,7,0,0,0,1655,1656,7,9,0,0,1656,1657,7,5,0,0,1657,1658,7,6,0,0,1658,1659,7,5,0,0,1659,1660,7,6,0,0,1660,1661,7,14,0,0,1661,1662,7,3,0,0,1662,1663,7,10,0,0,1663,292,1,0,0,0,1664,1665,7,19,0,0,1665,1666,7,0,0,0,1666,1667,7,9,0,0,1667,1668,7,25,0,0,1668,1669,7,12,0,0,1669,1670,7,8,0,0,1670,1671,7,5,0,0,1671,294,1,0,0,0,1672,1673,7,19,0,0,1673,1674,7,14,0,0,1674,1675,7,10,0,0,1675,1676,7,6,0,0,1676,1677,7,5,0,0,1677,1678,7,6,0,0,1678,1679,7,14,0,0,1679,1680,7,3,0,0,1680,296,1,0,0,0,1681,1682,7,19,0,0,1682,1683,7,9,0,0,1683,1684,7,8,0,0,1684,1685,7,7,0,0,1685,1686,7,8,0,0,1686,1687,7,1,0,0,1687,1688,7,6,0,0,1688,1689,7,3,0,0,1689,1690,7,11,0,0,1690,298,1,0,0,0,1691,1692,7,19,0,0,1692,1693,7,9,0,0,1693,1694,7,6,0,0,1694,1695,7,22,0,0,1695,1696,7,0,0,0,1696,1697,7,9,0,0,1697,1698,7,4,0,0,1698,300,1,0,0,0,1699,1700,7,9,0,0,1700,1701,7,8,0,0,1701,1702,7,19,0,0,1702,1703,7,2,0,0,1703,1704,7,6,0,0,1704,1705,7,7,0,0,1705,1706,7,0,0,0,1706,1707,7,5,0,0,1707,1708,7,6,0,0,1708,1709,7,14,0,0,1709,1710,7,3,0,0,1710,302,1,0,0,0,1711,1712,7,19,0,0,1712,1713,7,9,0,0,1713,1714,7,6,0,0,1714,1715,7,23,0,0,1715,1716,7,6,0,0,1716,1717,7,2,0,0,1717,1718,7,8,0,0,1718,1719,7,11,0,0,1719,1720,7,8,0,0,1720,1721,7,10,0,0,1721,304,1,0,0,0,1722,1723,7,19,0,0,1723,1724,7,9,0,0,1724,1725,7,14,0,0,1725,1726,7,19,0,0,1726,1727,7,8,0,0,1727,1728,7,9,0,0,1728,1729,7,5,0,0,1729,1730,7,6,0,0,1730,1731,7,8,0,0,1731,1732,7,10,0,0,1732,306,1,0,0,0,1733,1734,7,9,0,0,1734,1735,7,0,0,0,1735,1736,7,3,0,0,1736,1737,7,11,0,0,1737,1738,7,8,0,0,1738,308,1,0,0,0,1739,1740,7,9,0,0,1740,1741,7,8,0,0,1741,1742,7,7,0,0,1742,1743,7,14,0,0,1743,1744,7,23,0,0,1744,1745,7,8,0,0,1745,1746,7,9,0,0,1746,310,1,0,0,0,1747,1748,7,9,0,0,1748,1749,7,8,0,0,1749,1750,7,3,0,0,1750,1751,7,0,0,0,1751,1752,7,22,0,0,1752,1753,7,8,0,0,1753,312,1,0,0,0,1754,1755,7,9,0,0,1755,1756,7,8,0,0,1756,1757,7,19,0,0,1757,1758,7,8,0,0,1758,1759,7,0,0,0,1759,1760,7,5,0,0,1760,1761,7,0,0,0,1761,1762,7,16,0,0,1762,1763,7,2,0,0,1763,1764,7,8,0,0,1764,314,1,0,0,0,1765,1766,7,9,0,0,1766,1767,7,8,0,0,1767,1768,7,19,0,0,1768,1769,7,2,0,0,1769,1770,7,0,0,0,1770,1771,7,7,0,0,1771,1772,7,8,0,0,1772,316,1,0,0,0,1773,1774,7,9,0,0,1774,1775,7,8,0,0,1775,1776,7,10,0,0,1776,1777,7,5,0,0,1777,1778,7,9,0,0,1778,1779,7,6,0,0,1779,1780,7,7,0,0,1780,1781,7,5,0,0,1781,318,1,0,0,0,1782,1783,7,9,0,0,1783,1784,7,8,0,0,1784,1785,7,5,0,0,1785,1786,7,12,0,0,1786,1787,7,9,0,0,1787,1788,7,3,0,0,1788,1789,7,10,0,0,1789,320,1,0,0,0,1790,1791,7,9,0,0,1791,1792,7,8,0,0,1792,1793,7,23,0,0,1793,1794,7,14,0,0,1794,1795,7,18,0,0,1795,1796,7,8,0,0,1796,322,1,0,0,0,1797,1798,7,9,0,0,1798,1799,7,8,0,0,1799,1800,7,20,0,0,1800,1801,7,9,0,0,1801,1802,7,8,0,0,1802,1803,7,10,0,0,1803,1804,7,13,0,0,1804,324,1,0,0,0,1805,1806,7,9,0,0,1806,1807,7,8,0,0,1807,1808,7,11,0,0,1808,1809,7,8,0,0,1809,1810,7,21,0,0,1810,1811,7,19,0,0,1811,326,1,0,0,0,1812,1813,7,9,0,0,1813,1814,7,2,0,0,1814,1815,7,6,0,0,1815,1816,7,18,0,0,1816,1817,7,8,0,0,1817,328,1,0,0,0,1818,1819,7,9,0,0,1819,1820,7,6,0,0,1820,1821,7,11,0,0,1821,1822,7,13,0,0,1822,1823,7,5,0,0,1823,330,1,0,0,0,1824,1825,7,9,0,0,1825,1826,7,14,0,0,1826,1827,7,2,0,0,1827,1828,7,8,0,0,1828,332,1,0,0,0,1829,1830,7,9,0,0,1830,1831,7,14,0,0,1831,1832,7,2,0,0,1832,1833,7,8,0,0,1833,1834,7,10,0,0,1834,334,1,0,0,0,1835,1836,7,9,0,0,1836,1837,7,14,0,0,1837,1838,7,17,0,0,1838,336,1,0,0,0,1839,1840,7,9,0,0,1840,1841,7,14,0,0,1841,1842,7,17,0,0,1842,1843,7,10,0,0,1843,338,1,0,0,0,1844,1845,7,10,0,0,1845,1846,7,7,0,0,1846,1847,7,13,0,0,1847,1848,7,8,0,0,1848,1849,7,22,0,0,1849,1850,7,0,0,0,1850,340,1,0,0,0,1851,1852,7,10,0,0,1852,1853,7,7,0,0,1853,1854,7,13,0,0,1854,1855,7,8,0,0,1855,1856,7,22,0,0,1856,1857,7,0,0,0,1857,1858,7,10,0,0,1858,342,1,0,0,0,1859,1860,7,10,0,0,1860,1861,7,8,0,0,1861,1862,7,7,0,0,1862,1863,7,14,0,0,1863,1864,7,3,0,0,1864,1865,7,1,0,0,1865,344,1,0,0,0,1866,1867,7,10,0,0,1867,1868,7,8,0,0,1868,1869,7,7,0,0,1869,1870,7,14,0,0,1870,1871,7,3,0,0,1871,1872,7,1,0,0,1872,1873,7,10,0,0,1873,346,1,0,0,0,1874,1875,7,10,0,0,1875,1876,7,8,0,0,1876,1877,7,2,0,0,1877,1878,7,8,0,0,1878,1879,7,7,0,0,1879,1880,7,5,0,0,1880,348,1,0,0,0,1881,1882,7,10,0,0,1882,1883,7,8,0,0,1883,1884,7,9,0,0,1884,1885,7,1,0,0,1885,1886,7,8,0,0,1886,1887,7,19,0,0,1887,1888,7,9,0,0,1888,1889,7,14,0,0,1889,1890,7,19,0,0,1890,1891,7,8,0,0,1891,1892,7,9,0,0,1892,1893,7,5,0,0,1893,1894,7,6,0,0,1894,1895,7,8,0,0,1895,1896,7,10,0,0,1896,350,1,0,0,0,1897,1898,7,10,0,0,1898,1899,7,8,0,0,1899,1900,7,5,0,0,1900,352,1,0,0,0,1901,1902,7,10,0,0,1902,1903,7,8,0,0,1903,1904,7,22,0,0,1904,1905,7,6,0,0,1905,354,1,0,0,0,1906,1907,7,10,0,0,1907,1908,7,8,0,0,1908,1909,7,9,0,0,1909,1910,7,23,0,0,1910,1911,7,8,0,0,1911,1912,7,9,0,0,1912,356,1,0,0,0,1913,1914,7,10,0,0,1914,1915,7,13,0,0,1915,1916,7,14,0,0,1916,1917,7,17,0,0,1917,358,1,0,0,0,1918,1919,7,10,0,0,1919,1920,7,13,0,0,1920,1921,7,12,0,0,1921,1922,7,5,0,0,1922,1923,7,1,0,0,1923,1924,7,14,0,0,1924,1925,7,17,0,0,1925,1926,7,3,0,0,1926,360,1,0,0,0,1927,1928,7,10,0,0,1928,1929,7,14,0,0,1929,1930,7,22,0,0,1930,1931,7,8,0,0,1931,362,1,0,0,0,1932,1933,7,10,0,0,1933,1934,7,5,0,0,1934,1935,7,0,0,0,1935,1936,7,5,0,0,1936,1937,7,10,0,0,1937,364,1,0,0,0,1938,1939,7,10,0,0,1939,1940,7,5,0,0,1940,1941,7,9,0,0,1941,1942,7,0,0,0,1942,1943,7,6,0,0,1943,1944,7,11,0,0,1944,1945,7,13,0,0,1945,1946,7,5,0,0,1946,1947,5,95,0,0,1947,1948,7,24,0,0,1948,1949,7,14,0,0,1949,1950,7,6,0,0,1950,1951,7,3,0,0,1951,366,1,0,0,0,1952,1953,7,10,0,0,1953,1954,7,12,0,0,1954,1955,7,16,0,0,1955,1956,7,10,0,0,1956,1957,7,5,0,0,1957,1958,7,9,0,0,1958,1959,7,6,0,0,1959,1960,7,3,0,0,1960,1961,7,11,0,0,1961,368,1,0,0,0,1962,1963,7,10,0,0,1963,1964,7,4,0,0,1964,1965,7,10,0,0,1965,1966,7,5,0,0,1966,1967,7,8,0,0,1967,1968,7,22,0,0,1968,370,1,0,0,0,1969,1970,7,10,0,0,1970,1971,7,4,0,0,1971,1972,7,22,0,0,1972,1973,7,16,0,0,1973,1974,7,14,0,0,1974,1975,7,2,0,0,1975,372,1,0,0,0,1976,1977,7,10,0,0,1977,1978,7,8,0,0,1978,1979,7,9,0,0,1979,1980,7,6,0,0,1980,1981,7,0,0,0,1981,1982,7,2,0,0,1982,1983,7,6,0,0,1983,1984,7,15,0,0,1984,1985,7,8,0,0,1985,1986,5,95,0,0,1986,1987,7,20,0,0,1987,1988,7,3,0,0,1988,374,1,0,0,0,1989,1990,7,5,0,0,1990,1991,7,0,0,0,1991,1992,7,16,0,0,1992,1993,7,2,0,0,1993,1994,7,8,0,0,1994,376,1,0,0,0,1995,1996,7,5,0,0,1996,1997,7,0,0,0,1997,1998,7,16,0,0,1998,1999,7,2,0,0,1999,2e3,7,8,0,0,2e3,2001,7,10,0,0,2001,378,1,0,0,0,2002,2003,7,5,0,0,2003,2004,7,0,0,0,2004,2005,7,16,0,0,2005,2006,7,2,0,0,2006,2007,7,8,0,0,2007,2008,7,10,0,0,2008,2009,7,0,0,0,2009,2010,7,22,0,0,2010,2011,7,19,0,0,2011,2012,7,2,0,0,2012,2013,7,8,0,0,2013,380,1,0,0,0,2014,2015,7,5,0,0,2015,2016,7,8,0,0,2016,2017,7,9,0,0,2017,2018,7,22,0,0,2018,2019,7,6,0,0,2019,2020,7,3,0,0,2020,2021,7,0,0,0,2021,2022,7,5,0,0,2022,2023,7,8,0,0,2023,2024,7,1,0,0,2024,2025,5,32,0,0,2025,382,1,0,0,0,2026,2027,7,5,0,0,2027,2028,7,13,0,0,2028,2029,7,8,0,0,2029,2030,7,3,0,0,2030,384,1,0,0,0,2031,2032,7,5,0,0,2032,2033,7,14,0,0,2033,386,1,0,0,0,2034,2035,7,5,0,0,2035,2036,7,9,0,0,2036,2037,7,12,0,0,2037,2038,7,8,0,0,2038,388,1,0,0,0,2039,2040,7,5,0,0,2040,2041,7,9,0,0,2041,2042,7,4,0,0,2042,2043,5,95,0,0,2043,2044,7,7,0,0,2044,2045,7,0,0,0,2045,2046,7,10,0,0,2046,2047,7,5,0,0,2047,390,1,0,0,0,2048,2049,7,5,0,0,2049,2050,7,9,0,0,2050,2051,7,12,0,0,2051,2052,7,3,0,0,2052,2053,7,7,0,0,2053,2054,7,0,0,0,2054,2055,7,5,0,0,2055,2056,7,8,0,0,2056,392,1,0,0,0,2057,2058,7,12,0,0,2058,2059,7,3,0,0,2059,2060,7,7,0,0,2060,2061,7,0,0,0,2061,2062,7,7,0,0,2062,2063,7,13,0,0,2063,2064,7,8,0,0,2064,2065,7,1,0,0,2065,394,1,0,0,0,2066,2067,7,12,0,0,2067,2068,7,8,0,0,2068,2069,7,10,0,0,2069,2070,7,7,0,0,2070,2071,7,0,0,0,2071,2072,7,19,0,0,2072,2073,7,8,0,0,2073,396,1,0,0,0,2074,2075,7,12,0,0,2075,2076,7,3,0,0,2076,2077,7,16,0,0,2077,2078,7,14,0,0,2078,2079,7,12,0,0,2079,2080,7,3,0,0,2080,2081,7,1,0,0,2081,2082,7,8,0,0,2082,2083,7,1,0,0,2083,398,1,0,0,0,2084,2085,7,12,0,0,2085,2086,7,3,0,0,2086,2087,7,6,0,0,2087,2088,7,14,0,0,2088,2089,7,3,0,0,2089,400,1,0,0,0,2090,2091,7,12,0,0,2091,2092,7,3,0,0,2092,2093,7,3,0,0,2093,2094,7,8,0,0,2094,2095,7,10,0,0,2095,2096,7,5,0,0,2096,402,1,0,0,0,2097,2098,7,12,0,0,2098,2099,7,3,0,0,2099,2100,7,10,0,0,2100,2101,7,8,0,0,2101,2102,7,5,0,0,2102,404,1,0,0,0,2103,2104,7,12,0,0,2104,2105,7,10,0,0,2105,2106,7,8,0,0,2106,406,1,0,0,0,2107,2108,7,12,0,0,2108,2109,7,10,0,0,2109,2110,7,8,0,0,2110,2111,7,9,0,0,2111,408,1,0,0,0,2112,2113,7,12,0,0,2113,2114,7,10,0,0,2114,2115,7,6,0,0,2115,2116,7,3,0,0,2116,2117,7,11,0,0,2117,410,1,0,0,0,2118,2119,7,12,0,0,2119,2120,7,19,0,0,2120,2121,7,1,0,0,2121,2122,7,0,0,0,2122,2123,7,5,0,0,2123,2124,7,8,0,0,2124,2125,5,95,0,0,2125,2126,7,20,0,0,2126,2127,7,3,0,0,2127,412,1,0,0,0,2128,2129,7,12,0,0,2129,2130,7,19,0,0,2130,2131,7,10,0,0,2131,2132,7,8,0,0,2132,2133,7,9,0,0,2133,2134,7,5,0,0,2134,414,1,0,0,0,2135,2136,7,12,0,0,2136,2137,7,3,0,0,2137,2138,7,18,0,0,2138,2139,7,3,0,0,2139,2140,7,14,0,0,2140,2141,7,17,0,0,2141,2142,7,3,0,0,2142,416,1,0,0,0,2143,2144,7,12,0,0,2144,2145,7,9,0,0,2145,2146,7,6,0,0,2146,418,1,0,0,0,2147,2148,7,23,0,0,2148,2149,7,0,0,0,2149,2150,7,2,0,0,2150,2151,7,12,0,0,2151,2152,7,8,0,0,2152,420,1,0,0,0,2153,2154,7,23,0,0,2154,2155,7,0,0,0,2155,2156,7,2,0,0,2156,2157,7,12,0,0,2157,2158,7,8,0,0,2158,2159,7,10,0,0,2159,422,1,0,0,0,2160,2161,7,23,0,0,2161,2162,7,6,0,0,2162,2163,7,8,0,0,2163,2164,7,17,0,0,2164,424,1,0,0,0,2165,2166,7,23,0,0,2166,2167,7,6,0,0,2167,2168,7,8,0,0,2168,2169,7,17,0,0,2169,2170,7,10,0,0,2170,426,1,0,0,0,2171,2172,7,17,0,0,2172,2173,7,13,0,0,2173,2174,7,8,0,0,2174,2175,7,3,0,0,2175,428,1,0,0,0,2176,2177,7,17,0,0,2177,2178,7,13,0,0,2178,2179,7,8,0,0,2179,2180,7,9,0,0,2180,2181,7,8,0,0,2181,430,1,0,0,0,2182,2183,7,17,0,0,2183,2184,7,6,0,0,2184,2185,7,5,0,0,2185,2186,7,13,0,0,2186,432,1,0,0,0,2187,2188,7,4,0,0,2188,2189,7,8,0,0,2189,2190,7,0,0,0,2190,2191,7,9,0,0,2191,434,1,0,0,0,2192,2193,7,4,0,0,2193,2194,7,8,0,0,2194,2195,7,0,0,0,2195,2196,7,9,0,0,2196,2197,7,10,0,0,2197,436,1,0,0,0,2198,2199,7,5,0,0,2199,2200,7,8,0,0,2200,2201,7,21,0,0,2201,2202,7,5,0,0,2202,2203,7,20,0,0,2203,2204,7,6,0,0,2204,2205,7,2,0,0,2205,2206,7,8,0,0,2206,438,1,0,0,0,2207,2208,7,14,0,0,2208,2209,7,9,0,0,2209,2210,7,7,0,0,2210,440,1,0,0,0,2211,2212,7,0,0,0,2212,2213,7,23,0,0,2213,2214,7,9,0,0,2214,2215,7,14,0,0,2215,442,1,0,0,0,2216,2217,7,10,0,0,2217,2218,7,8,0,0,2218,2219,7,25,0,0,2219,2220,7,12,0,0,2220,2221,7,8,0,0,2221,2222,7,3,0,0,2222,2223,7,7,0,0,2223,2224,7,8,0,0,2224,2225,7,20,0,0,2225,2226,7,6,0,0,2226,2227,7,2,0,0,2227,2228,7,8,0,0,2228,444,1,0,0,0,2229,2230,7,9,0,0,2230,2231,7,7,0,0,2231,2232,7,20,0,0,2232,2233,7,6,0,0,2233,2234,7,2,0,0,2234,2235,7,8,0,0,2235,446,1,0,0,0,2236,2237,7,9,0,0,2237,2238,7,8,0,0,2238,2239,7,20,0,0,2239,2240,7,8,0,0,2240,2241,7,9,0,0,2241,2242,7,8,0,0,2242,2243,7,3,0,0,2243,2244,7,7,0,0,2244,2245,7,8,0,0,2245,2246,7,10,0,0,2246,448,1,0,0,0,2247,2248,7,3,0,0,2248,2249,7,14,0,0,2249,2250,7,23,0,0,2250,2251,7,0,0,0,2251,2252,7,2,0,0,2252,2253,7,6,0,0,2253,2254,7,1,0,0,2254,2255,7,0,0,0,2255,2256,7,5,0,0,2256,2257,7,8,0,0,2257,450,1,0,0,0,2258,2259,7,9,0,0,2259,2260,7,8,0,0,2260,2261,7,2,0,0,2261,2262,7,4,0,0,2262,452,1,0,0,0,2263,2264,7,16,0,0,2264,2265,7,6,0,0,2265,2266,7,3,0,0,2266,2267,7,0,0,0,2267,2268,7,9,0,0,2268,2269,7,4,0,0,2269,454,1,0,0,0,2270,2271,7,16,0,0,2271,2272,7,6,0,0,2272,2273,7,11,0,0,2273,2274,7,6,0,0,2274,2275,7,3,0,0,2275,2276,7,5,0,0,2276,456,1,0,0,0,2277,2278,7,16,0,0,2278,2279,7,14,0,0,2279,2280,7,14,0,0,2280,2281,7,2,0,0,2281,2282,7,8,0,0,2282,2283,7,0,0,0,2283,2284,7,3,0,0,2284,458,1,0,0,0,2285,2286,7,7,0,0,2286,2287,7,13,0,0,2287,2288,7,0,0,0,2288,2289,7,9,0,0,2289,460,1,0,0,0,2290,2291,7,1,0,0,2291,2292,7,0,0,0,2292,2293,7,5,0,0,2293,2294,7,8,0,0,2294,462,1,0,0,0,2295,2296,7,1,0,0,2296,2297,7,8,0,0,2297,2298,7,7,0,0,2298,2299,7,6,0,0,2299,2300,7,22,0,0,2300,2301,7,0,0,0,2301,2302,7,2,0,0,2302,464,1,0,0,0,2303,2304,7,1,0,0,2304,2305,7,14,0,0,2305,2306,7,12,0,0,2306,2307,7,16,0,0,2307,2308,7,2,0,0,2308,2309,7,8,0,0,2309,466,1,0,0,0,2310,2311,7,6,0,0,2311,2312,7,3,0,0,2312,2313,7,5,0,0,2313,468,1,0,0,0,2314,2315,7,22,0,0,2315,2316,7,0,0,0,2316,2317,7,19,0,0,2317,470,1,0,0,0,2318,2319,7,9,0,0,2319,2320,7,8,0,0,2320,2321,7,0,0,0,2321,2322,7,2,0,0,2322,472,1,0,0,0,2323,2324,7,10,0,0,2324,2325,7,22,0,0,2325,2326,7,0,0,0,2326,2327,7,2,0,0,2327,2328,7,2,0,0,2328,2329,7,6,0,0,2329,2330,7,3,0,0,2330,2331,7,5,0,0,2331,474,1,0,0,0,2332,2333,7,20,0,0,2333,2334,7,2,0,0,2334,2335,7,14,0,0,2335,2336,7,0,0,0,2336,2337,7,5,0,0,2337,476,1,0,0,0,2338,2339,7,10,0,0,2339,2340,7,5,0,0,2340,2341,7,9,0,0,2341,2342,7,6,0,0,2342,2343,7,3,0,0,2343,2344,7,11,0,0,2344,478,1,0,0,0,2345,2346,7,10,0,0,2346,2347,7,5,0,0,2347,2348,7,9,0,0,2348,2349,7,12,0,0,2349,2350,7,7,0,0,2350,2351,7,5,0,0,2351,480,1,0,0,0,2352,2353,7,5,0,0,2353,2354,7,6,0,0,2354,2355,7,22,0,0,2355,2356,7,8,0,0,2356,2357,7,10,0,0,2357,2358,7,5,0,0,2358,2359,7,0,0,0,2359,2360,7,22,0,0,2360,2361,7,19,0,0,2361,482,1,0,0,0,2362,2363,7,5,0,0,2363,2364,7,6,0,0,2364,2365,7,3,0,0,2365,2366,7,4,0,0,2366,2367,7,6,0,0,2367,2368,7,3,0,0,2368,2369,7,5,0,0,2369,484,1,0,0,0,2370,2371,7,23,0,0,2371,2372,7,0,0,0,2372,2373,7,9,0,0,2373,2374,7,7,0,0,2374,2375,7,13,0,0,2375,2376,7,0,0,0,2376,2377,7,9,0,0,2377,486,1,0,0,0,2378,2379,7,7,0,0,2379,2380,7,14,0,0,2380,2381,7,22,0,0,2381,2382,7,19,0,0,2382,2383,7,2,0,0,2383,2384,7,8,0,0,2384,2385,7,21,0,0,2385,488,1,0,0,0,2386,2387,5,39,0,0,2387,2388,7,3,0,0,2388,2389,7,12,0,0,2389,2390,7,22,0,0,2390,2391,7,1,0,0,2391,2392,7,23,0,0,2392,2393,7,10,0,0,2393,2394,5,39,0,0,2394,490,1,0,0,0,2395,2396,5,39,0,0,2396,2397,7,3,0,0,2397,2398,7,12,0,0,2398,2399,7,22,0,0,2399,2400,7,3,0,0,2400,2401,7,12,0,0,2401,2402,7,2,0,0,2402,2403,7,2,0,0,2403,2404,7,10,0,0,2404,2405,5,39,0,0,2405,492,1,0,0,0,2406,2407,5,39,0,0,2407,2408,7,0,0,0,2408,2409,7,23,0,0,2409,2410,7,11,0,0,2410,2411,7,10,0,0,2411,2412,7,6,0,0,2412,2413,7,15,0,0,2413,2414,7,8,0,0,2414,2415,5,39,0,0,2415,494,1,0,0,0,2416,2417,5,39,0,0,2417,2418,7,22,0,0,2418,2419,7,0,0,0,2419,2420,7,21,0,0,2420,2421,7,10,0,0,2421,2422,7,6,0,0,2422,2423,7,15,0,0,2423,2424,7,8,0,0,2424,2425,5,39,0,0,2425,496,1,0,0,0,2426,2427,5,61,0,0,2427,498,1,0,0,0,2428,2429,5,60,0,0,2429,2433,5,62,0,0,2430,2431,5,33,0,0,2431,2433,5,61,0,0,2432,2428,1,0,0,0,2432,2430,1,0,0,0,2433,500,1,0,0,0,2434,2435,5,60,0,0,2435,502,1,0,0,0,2436,2437,5,60,0,0,2437,2438,5,61,0,0,2438,504,1,0,0,0,2439,2440,5,62,0,0,2440,506,1,0,0,0,2441,2442,5,62,0,0,2442,2443,5,61,0,0,2443,508,1,0,0,0,2444,2445,5,43,0,0,2445,510,1,0,0,0,2446,2447,5,45,0,0,2447,512,1,0,0,0,2448,2449,5,42,0,0,2449,514,1,0,0,0,2450,2451,5,47,0,0,2451,516,1,0,0,0,2452,2453,5,37,0,0,2453,518,1,0,0,0,2454,2455,5,124,0,0,2455,2456,5,124,0,0,2456,520,1,0,0,0,2457,2458,5,46,0,0,2458,522,1,0,0,0,2459,2460,5,59,0,0,2460,524,1,0,0,0,2461,2462,5,44,0,0,2462,526,1,0,0,0,2463,2464,5,58,0,0,2464,528,1,0,0,0,2465,2466,5,40,0,0,2466,530,1,0,0,0,2467,2468,5,41,0,0,2468,532,1,0,0,0,2469,2470,5,91,0,0,2470,534,1,0,0,0,2471,2472,5,93,0,0,2472,536,1,0,0,0,2473,2474,5,123,0,0,2474,538,1,0,0,0,2475,2476,5,125,0,0,2476,540,1,0,0,0,2477,2478,5,124,0,0,2478,542,1,0,0,0,2479,2480,5,63,0,0,2480,544,1,0,0,0,2481,2482,5,45,0,0,2482,2483,5,62,0,0,2483,546,1,0,0,0,2484,2490,5,39,0,0,2485,2489,8,26,0,0,2486,2487,5,39,0,0,2487,2489,5,39,0,0,2488,2485,1,0,0,0,2488,2486,1,0,0,0,2489,2492,1,0,0,0,2490,2488,1,0,0,0,2490,2491,1,0,0,0,2491,2493,1,0,0,0,2492,2490,1,0,0,0,2493,2505,5,39,0,0,2494,2500,5,34,0,0,2495,2499,8,27,0,0,2496,2497,5,34,0,0,2497,2499,5,34,0,0,2498,2495,1,0,0,0,2498,2496,1,0,0,0,2499,2502,1,0,0,0,2500,2498,1,0,0,0,2500,2501,1,0,0,0,2501,2503,1,0,0,0,2502,2500,1,0,0,0,2503,2505,5,34,0,0,2504,2484,1,0,0,0,2504,2494,1,0,0,0,2505,548,1,0,0,0,2506,2507,7,12,0,0,2507,2508,5,38,0,0,2508,2509,5,39,0,0,2509,2515,1,0,0,0,2510,2514,8,26,0,0,2511,2512,5,39,0,0,2512,2514,5,39,0,0,2513,2510,1,0,0,0,2513,2511,1,0,0,0,2514,2517,1,0,0,0,2515,2513,1,0,0,0,2515,2516,1,0,0,0,2516,2518,1,0,0,0,2517,2515,1,0,0,0,2518,2519,5,39,0,0,2519,550,1,0,0,0,2520,2521,7,21,0,0,2521,2522,5,39,0,0,2522,2526,1,0,0,0,2523,2525,8,26,0,0,2524,2523,1,0,0,0,2525,2528,1,0,0,0,2526,2524,1,0,0,0,2526,2527,1,0,0,0,2527,2529,1,0,0,0,2528,2526,1,0,0,0,2529,2530,5,39,0,0,2530,552,1,0,0,0,2531,2533,3,575,287,0,2532,2531,1,0,0,0,2533,2534,1,0,0,0,2534,2532,1,0,0,0,2534,2535,1,0,0,0,2535,554,1,0,0,0,2536,2538,3,575,287,0,2537,2536,1,0,0,0,2538,2539,1,0,0,0,2539,2537,1,0,0,0,2539,2540,1,0,0,0,2540,2541,1,0,0,0,2541,2545,5,46,0,0,2542,2544,3,575,287,0,2543,2542,1,0,0,0,2544,2547,1,0,0,0,2545,2543,1,0,0,0,2545,2546,1,0,0,0,2546,2555,1,0,0,0,2547,2545,1,0,0,0,2548,2550,5,46,0,0,2549,2551,3,575,287,0,2550,2549,1,0,0,0,2551,2552,1,0,0,0,2552,2550,1,0,0,0,2552,2553,1,0,0,0,2553,2555,1,0,0,0,2554,2537,1,0,0,0,2554,2548,1,0,0,0,2555,556,1,0,0,0,2556,2558,3,575,287,0,2557,2556,1,0,0,0,2558,2559,1,0,0,0,2559,2557,1,0,0,0,2559,2560,1,0,0,0,2560,2568,1,0,0,0,2561,2565,5,46,0,0,2562,2564,3,575,287,0,2563,2562,1,0,0,0,2564,2567,1,0,0,0,2565,2563,1,0,0,0,2565,2566,1,0,0,0,2566,2569,1,0,0,0,2567,2565,1,0,0,0,2568,2561,1,0,0,0,2568,2569,1,0,0,0,2569,2570,1,0,0,0,2570,2571,3,573,286,0,2571,2581,1,0,0,0,2572,2574,5,46,0,0,2573,2575,3,575,287,0,2574,2573,1,0,0,0,2575,2576,1,0,0,0,2576,2574,1,0,0,0,2576,2577,1,0,0,0,2577,2578,1,0,0,0,2578,2579,3,573,286,0,2579,2581,1,0,0,0,2580,2557,1,0,0,0,2580,2572,1,0,0,0,2581,558,1,0,0,0,2582,2585,3,577,288,0,2583,2585,5,95,0,0,2584,2582,1,0,0,0,2584,2583,1,0,0,0,2585,2591,1,0,0,0,2586,2590,3,577,288,0,2587,2590,3,575,287,0,2588,2590,7,28,0,0,2589,2586,1,0,0,0,2589,2587,1,0,0,0,2589,2588,1,0,0,0,2590,2593,1,0,0,0,2591,2589,1,0,0,0,2591,2592,1,0,0,0,2592,560,1,0,0,0,2593,2591,1,0,0,0,2594,2598,3,575,287,0,2595,2599,3,577,288,0,2596,2599,3,575,287,0,2597,2599,7,28,0,0,2598,2595,1,0,0,0,2598,2596,1,0,0,0,2598,2597,1,0,0,0,2599,2600,1,0,0,0,2600,2598,1,0,0,0,2600,2601,1,0,0,0,2601,562,1,0,0,0,2602,2608,5,34,0,0,2603,2607,8,27,0,0,2604,2605,5,34,0,0,2605,2607,5,34,0,0,2606,2603,1,0,0,0,2606,2604,1,0,0,0,2607,2610,1,0,0,0,2608,2606,1,0,0,0,2608,2609,1,0,0,0,2609,2611,1,0,0,0,2610,2608,1,0,0,0,2611,2612,5,34,0,0,2612,564,1,0,0,0,2613,2619,5,96,0,0,2614,2618,8,29,0,0,2615,2616,5,96,0,0,2616,2618,5,96,0,0,2617,2614,1,0,0,0,2617,2615,1,0,0,0,2618,2621,1,0,0,0,2619,2617,1,0,0,0,2619,2620,1,0,0,0,2620,2622,1,0,0,0,2621,2619,1,0,0,0,2622,2623,5,96,0,0,2623,566,1,0,0,0,2624,2625,7,5,0,0,2625,2626,7,6,0,0,2626,2627,7,22,0,0,2627,2628,7,8,0,0,2628,2629,1,0,0,0,2629,2630,3,583,291,0,2630,2631,7,17,0,0,2631,2632,7,6,0,0,2632,2633,7,5,0,0,2633,2634,7,13,0,0,2634,2635,1,0,0,0,2635,2636,3,583,291,0,2636,2637,7,5,0,0,2637,2638,7,6,0,0,2638,2639,7,22,0,0,2639,2640,7,8,0,0,2640,2641,1,0,0,0,2641,2642,3,583,291,0,2642,2643,7,15,0,0,2643,2644,7,14,0,0,2644,2645,7,3,0,0,2645,2646,7,8,0,0,2646,568,1,0,0,0,2647,2648,7,5,0,0,2648,2649,7,6,0,0,2649,2650,7,22,0,0,2650,2651,7,8,0,0,2651,2652,7,10,0,0,2652,2653,7,5,0,0,2653,2654,7,0,0,0,2654,2655,7,22,0,0,2655,2656,7,19,0,0,2656,2657,1,0,0,0,2657,2658,3,583,291,0,2658,2659,7,17,0,0,2659,2660,7,6,0,0,2660,2661,7,5,0,0,2661,2662,7,13,0,0,2662,2663,1,0,0,0,2663,2664,3,583,291,0,2664,2665,7,5,0,0,2665,2666,7,6,0,0,2666,2667,7,22,0,0,2667,2668,7,8,0,0,2668,2669,1,0,0,0,2669,2670,3,583,291,0,2670,2671,7,15,0,0,2671,2672,7,14,0,0,2672,2673,7,3,0,0,2673,2674,7,8,0,0,2674,570,1,0,0,0,2675,2676,7,1,0,0,2676,2677,7,14,0,0,2677,2678,7,12,0,0,2678,2679,7,16,0,0,2679,2680,7,2,0,0,2680,2681,7,8,0,0,2681,2682,1,0,0,0,2682,2683,3,583,291,0,2683,2684,7,19,0,0,2684,2685,7,9,0,0,2685,2686,7,8,0,0,2686,2687,7,7,0,0,2687,2688,7,6,0,0,2688,2689,7,10,0,0,2689,2690,7,6,0,0,2690,2691,7,14,0,0,2691,2692,7,3,0,0,2692,572,1,0,0,0,2693,2695,7,8,0,0,2694,2696,7,30,0,0,2695,2694,1,0,0,0,2695,2696,1,0,0,0,2696,2698,1,0,0,0,2697,2699,3,575,287,0,2698,2697,1,0,0,0,2699,2700,1,0,0,0,2700,2698,1,0,0,0,2700,2701,1,0,0,0,2701,574,1,0,0,0,2702,2703,7,31,0,0,2703,576,1,0,0,0,2704,2705,7,32,0,0,2705,578,1,0,0,0,2706,2707,5,45,0,0,2707,2708,5,45,0,0,2708,2712,1,0,0,0,2709,2711,8,33,0,0,2710,2709,1,0,0,0,2711,2714,1,0,0,0,2712,2710,1,0,0,0,2712,2713,1,0,0,0,2713,2716,1,0,0,0,2714,2712,1,0,0,0,2715,2717,5,13,0,0,2716,2715,1,0,0,0,2716,2717,1,0,0,0,2717,2719,1,0,0,0,2718,2720,5,10,0,0,2719,2718,1,0,0,0,2719,2720,1,0,0,0,2720,2721,1,0,0,0,2721,2722,6,289,0,0,2722,580,1,0,0,0,2723,2724,5,47,0,0,2724,2725,5,42,0,0,2725,2729,1,0,0,0,2726,2728,9,0,0,0,2727,2726,1,0,0,0,2728,2731,1,0,0,0,2729,2730,1,0,0,0,2729,2727,1,0,0,0,2730,2732,1,0,0,0,2731,2729,1,0,0,0,2732,2733,5,42,0,0,2733,2734,5,47,0,0,2734,2735,1,0,0,0,2735,2736,6,290,0,0,2736,582,1,0,0,0,2737,2739,7,34,0,0,2738,2737,1,0,0,0,2739,2740,1,0,0,0,2740,2738,1,0,0,0,2740,2741,1,0,0,0,2741,2742,1,0,0,0,2742,2743,6,291,0,0,2743,584,1,0,0,0,36,0,2432,2488,2490,2498,2500,2504,2513,2515,2526,2534,2539,2545,2552,2554,2559,2565,2568,2576,2580,2584,2589,2591,2598,2600,2606,2608,2617,2619,2695,2700,2712,2716,2719,2729,2740,1,0,1,0],E.vocabulary=new ce(E.literalNames,E.symbolicNames,[]),E.decisionsToDFA=E._ATN.decisionToState.map((n,t)=>new e1(n,t));class el extends ah{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,e,i,r;return this.entityCollecting&&((e=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&e!==void 0?e:1/0)<=this.caretTokenIndex&&((r=(i=this.tokenStream.LT(1))===null||i===void 0?void 0:i.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class s extends el{get grammarFileName(){return"ImpalaSqlParser.g4"}get literalNames(){return s.literalNames}get symbolicNames(){return s.symbolicNames}get ruleNames(){return s.ruleNames}get serializedATN(){return s._serializedATN}createFailedPredicateException(t,e){return new z0(this,t,e)}constructor(t){super(t),this.interpreter=new $0(this,s._ATN,s.decisionsToDFA,new cs)}program(){let t=new sl(this.context,this.state);this.enterRule(t,0,s.RULE_program);let e;try{this.enterOuterAlt(t,1);{for(this.state=373,this.errorHandler.sync(this),e=this.tokenStream.LA(1);e===4||!(e-34&-32)&&1<'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'.'","';'","','","':'","'('","')'","'['","']'","'{'","'}'","'|'","'?'","'->'"],s.symbolicNames=[null,"KW_ADD","KW_ALL","KW_ANALYTIC","KW_ALTER","KW_AND","KW_ANY","KW_ANTI","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AGGREGATE","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BLOCK_SIZE","KW_PARTITIONED","KW_PREPARE_FN","KW_EXTERNAL","KW_CLOSEFN","KW_SORT","KW_PURGE","KW_STORED","KW_LOCATION","KW_TBLPROPERTIES","KW_BY","KW_CASCADE","KW_CASE","KW_CAST","KW_CACHED","KW_CHANGE","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMPRESSION","KW_COMPUTE","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATABASE","KW_DATABASES","KW_DAY","KW_DAYS","KW_DELETE","KW_DEFAULT","KW_DELIMITED","KW_DISABLE","KW_UPDATE","KW_DESC","KW_DESCRIBE","KW_DISTINCT","KW_DROP","KW_ELSE","KW_ENCODING","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCLUDING","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_EXTENDED","KW_FALSE","KW_FIELDS","KW_FILEFORMAT","KW_FILES","KW_FILTER","KW_FIRST","KW_FINALIZE_FN","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FORMATTED","KW_FOREIGN","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HASH","KW_HAVING","KW_HOUR","KW_HOURS","KW_IF","KW_IN","KW_INCLUDING","KW_INCREMENTAL","KW_INNER","KW_INPATH","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTERMEDIATE","KW_INTO","KW_INIT_FN","KW_IREGEXP","KW_ILIKE","KW_INVALIDATE","KW_IS","KW_JOIN","KW_KEY","KW_KUDU","KW_LAST","KW_LATERAL","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINES","KW_LOAD","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_METADATA","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MERGE_FN","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLS","KW_OFFSET","KW_ON","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OWNER","KW_OVER","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONS","KW_PARQUET","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_REPLICATION","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_RECOVER","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_REFRESH","KW_REGEXP","KW_RLIKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROW","KW_ROWS","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECONDS","KW_SELECT","KW_SERDEPROPERTIES","KW_SET","KW_SEMI","KW_SERVER","KW_SHOW","KW_SHUTDOWN","KW_SOME","KW_STATS","KW_STRAIGHT_JOIN","KW_SUBSTRING","KW_SYSTEM","KW_SYMBOL","KW_SERIALIZE_FN","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRUE","KW_TRY_CAST","KW_TRUNCATE","KW_UNCACHED","KW_UESCAPE","KW_UNBOUNDED","KW_UNION","KW_UNNEST","KW_UNSET","KW_USE","KW_USER","KW_USING","KW_UPDATE_FN","KW_UPSERT","KW_UNKNOWN","KW_URI","KW_VALUE","KW_VALUES","KW_VIEW","KW_VIEWS","KW_WHEN","KW_WHERE","KW_WITH","KW_YEAR","KW_YEARS","KW_TEXTFILE","KW_ORC","KW_AVRO","KW_SEQUENCEFILE","KW_RCFILE","KW_REFERENCES","KW_NOVALIDATE","KW_RELY","KW_BINARY","KW_BIGINT","KW_BOOLEAN","KW_CHAR","KW_DATE","KW_DECIMAL","KW_DOUBLE","KW_INT","KW_MAP","KW_REAL","KW_SMALLINT","KW_FLOAT","KW_STRING","KW_STRUCT","KW_TIMESTAMP","KW_TINYINT","KW_VARCHAR","KW_COMPLEX","STATS_NUMDVS","STATS_NUMNULLS","STATS_AVGSIZE","STATS_MAXSIZE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","DOT","SEMICOLON","COMMA","COLON","LPAREN","RPAREN","LSQUARE","RSQUARE","LCURLY","RCURLY","BITWISEOR","QUESTION","RIGHT_ARROW","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","TIME_WITH_TIME_ZONE","TIMESTAMP_WITH_TIME_ZONE","DOUBLE_PRECISION","SIMPLE_COMMENT","BRACKETED_COMMENT","WS"],s.ruleNames=["program","singleStatement","sqlStatement","useStatement","createStatement","createTableSelect","createTableLike","createKuduTableAsSelect","createView","createSchema","createRole","createAggregateFunction","createFunction","alterStatement","alterDatabase","alterStatsKey","alterPartitionCache","changeColumnDefine","alterDropSingleColumn","alterTableOwner","replaceOrAddColumns","addSingleColumn","alterTableNonKuduOrKuduOnly","addPartitionByRangeOrValue","alterFormat","recoverPartitions","dropPartitionByRangeOrValue","alterView","renameView","alterViewOwner","renameTable","alterUnSetOrSetViewTblproperties","truncateTableStatement","describeStatement","computeStatement","computeStats","computeIncrementalStats","dropStatement","dropSchema","dropView","dropTable","dropIncrementalStats","dropFunction","dropRole","grantStatement","grantRole","grant","revokeStatement","revokeRole","revoke","insertStatement","deleteStatement","delete","deleteTableRef","updateStatement","upsertStatement","showStatement","showSchemas","showTables","showFunctions","showCreateTable","showCreateView","showTableStats","showColumnStats","showPartitions","showFiles","showRoles","showRoleGrant","showGrants","showDatabaseGrant","showTableGrant","showColumnGrant","addCommentStatement","addDatabaseComments","addTableComments","addColumnComments","explainStatement","setStatement","shutdownStatement","invalidateMetaStatement","loadDataStatement","refreshStatement","refreshMeta","refreshAuth","refreshFunction","ifExists","ifNotExists","tableNameCreate","databaseNameCreate","viewNameCreate","functionNameCreate","columnNamePathCreate","databaseNamePath","tableNamePath","viewNamePath","functionNamePath","columnNamePath","tableOrViewPath","createCommonItem","assignmentList","assignmentItem","viewColumns","viewColumnItem","queryStatement","with","constraintSpecification","foreignKeySpecification","columnSpec","columnDefinition","kuduTableElement","kuduColumnDefinition","commentClause","columnSpecWithKudu","createColumnSpecWithKudu","kuduAttributes","kuduStorageAttr","statsKey","fileFormat","kuduPartitionClause","hashClause","rangeClause","kuduPartitionSpec","cacheSpec","rangeOperator","partitionCol","likeClause","properties","partitionedBy","sortedBy","rowFormat","property","queryNoWith","queryTerm","queryPrimary","sortItem","querySpecification","groupBy","groupingElement","groupingSet","namedQuery","setQuantifier","selectItem","relation","joinType","joinCriteria","sampledRelation","sampleType","aliasedRelation","columnAliases","relationPrimary","subQueryRelation","unnest","parenthesizedRelation","columnItem","expression","booleanExpression","predicate","valueExpression","primaryExpression","stringLiteral","comparisonOperator","comparisonQuantifier","booleanValue","interval","intervalField","normalForm","type","dataType","typeParameter","baseType","whenClause","filter","over","windowFrame","frameBound","pathElement","pathSpecification","privilege","objectType","qualifiedName","principal","identifier","number","reservedKeywordsUsedAsFuncName","nonReserved"],s._serializedATN=[4,1,289,2772,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,1,0,5,0,372,8,0,10,0,12,0,375,9,0,1,0,1,0,1,1,1,1,3,1,381,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,405,8,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,418,8,4,1,5,1,5,3,5,422,8,5,1,5,1,5,3,5,426,8,5,1,5,1,5,1,5,1,5,1,5,5,5,433,8,5,10,5,12,5,436,9,5,1,5,1,5,3,5,440,8,5,1,5,1,5,3,5,444,8,5,1,5,1,5,1,5,1,5,3,5,450,8,5,3,5,452,8,5,1,5,1,5,1,5,3,5,457,8,5,1,6,1,6,3,6,461,8,6,1,6,1,6,3,6,465,8,6,1,6,1,6,1,6,1,6,1,6,3,6,472,8,6,1,6,1,6,1,6,3,6,477,8,6,1,6,1,6,1,7,1,7,3,7,483,8,7,1,7,1,7,3,7,487,8,7,1,7,1,7,1,7,1,7,1,7,5,7,494,8,7,10,7,12,7,497,9,7,1,7,1,7,1,7,1,7,3,7,503,8,7,1,7,1,7,3,7,507,8,7,1,7,1,7,1,7,3,7,512,8,7,3,7,514,8,7,1,7,1,7,1,7,3,7,519,8,7,1,7,3,7,522,8,7,1,7,1,7,1,7,1,7,1,7,3,7,529,8,7,1,7,1,7,3,7,533,8,7,1,8,1,8,1,8,3,8,538,8,8,1,8,1,8,3,8,542,8,8,1,8,3,8,545,8,8,1,8,1,8,3,8,549,8,8,1,8,1,8,1,8,1,9,1,9,1,9,3,9,557,8,9,1,9,1,9,3,9,561,8,9,1,9,1,9,3,9,565,8,9,1,10,1,10,1,10,1,10,1,11,1,11,3,11,573,8,11,1,11,1,11,3,11,577,8,11,1,11,1,11,1,11,1,11,1,11,5,11,584,8,11,10,11,12,11,587,9,11,3,11,589,8,11,1,11,3,11,592,8,11,1,11,1,11,1,11,1,11,3,11,598,8,11,1,11,1,11,1,11,1,11,1,11,3,11,605,8,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11,616,8,11,1,11,1,11,1,11,3,11,621,8,11,1,11,1,11,1,11,3,11,626,8,11,1,11,1,11,1,11,3,11,631,8,11,1,12,1,12,1,12,3,12,636,8,12,1,12,1,12,1,12,1,12,1,12,5,12,643,8,12,10,12,12,12,646,9,12,3,12,648,8,12,1,12,3,12,651,8,12,1,12,1,12,3,12,655,8,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,3,13,681,8,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,3,15,707,8,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,3,16,716,8,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,726,8,16,1,16,3,16,729,8,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,3,18,743,8,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,3,20,761,8,20,3,20,763,8,20,1,20,1,20,1,20,1,20,1,20,5,20,770,8,20,10,20,12,20,773,9,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,3,21,783,8,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,3,22,792,8,22,1,22,1,22,1,22,1,22,1,22,3,22,799,8,22,1,22,1,22,3,22,803,8,22,1,23,1,23,1,23,1,23,1,23,3,23,810,8,23,1,23,1,23,1,23,1,23,3,23,816,8,23,1,23,3,23,819,8,23,1,23,1,23,1,23,3,23,824,8,23,1,24,1,24,1,24,1,24,1,24,3,24,831,8,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,3,24,845,8,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,3,26,858,8,26,1,26,1,26,1,26,3,26,863,8,26,1,26,1,26,1,26,3,26,868,8,26,1,27,1,27,1,27,1,27,3,27,874,8,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,3,32,910,8,32,1,32,3,32,913,8,32,1,32,1,32,1,33,1,33,3,33,919,8,33,1,33,3,33,922,8,33,1,33,1,33,1,34,1,34,3,34,928,8,34,1,35,1,35,1,35,1,35,3,35,934,8,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,946,8,35,3,35,948,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,959,8,36,1,37,1,37,1,37,1,37,1,37,1,37,3,37,967,8,37,1,38,1,38,1,38,3,38,972,8,38,1,38,1,38,3,38,976,8,38,1,39,1,39,1,39,3,39,981,8,39,1,39,1,39,1,40,1,40,1,40,3,40,988,8,40,1,40,1,40,3,40,992,8,40,1,41,1,41,3,41,996,8,41,1,41,1,41,1,41,1,41,3,41,1002,8,41,1,42,1,42,3,42,1006,8,42,1,42,1,42,3,42,1010,8,42,1,42,1,42,1,42,1,42,1,42,5,42,1017,8,42,10,42,12,42,1020,9,42,3,42,1022,8,42,1,42,3,42,1025,8,42,1,43,1,43,1,43,1,43,1,44,1,44,3,44,1033,8,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,3,46,1047,8,46,1,46,1,46,1,46,1,47,1,47,3,47,1054,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,3,49,1067,8,49,1,49,1,49,1,49,1,49,3,49,1073,8,49,1,49,1,49,1,49,3,49,1078,8,49,1,49,3,49,1081,8,49,1,50,3,50,1084,8,50,1,50,1,50,1,50,3,50,1089,8,50,1,50,1,50,3,50,1093,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1100,8,50,10,50,12,50,1103,9,50,1,50,1,50,3,50,1107,8,50,1,50,1,50,1,51,1,51,3,51,1113,8,51,1,52,1,52,3,52,1117,8,52,1,52,1,52,1,52,3,52,1122,8,52,1,53,1,53,1,53,3,53,1127,8,53,1,53,3,53,1130,8,53,1,53,1,53,1,53,1,53,5,53,1136,8,53,10,53,12,53,1139,9,53,3,53,1141,8,53,1,53,1,53,3,53,1145,8,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,5,54,1155,8,54,10,54,12,54,1158,9,54,3,54,1160,8,54,1,54,1,54,3,54,1164,8,54,1,55,1,55,1,55,3,55,1169,8,55,1,55,1,55,3,55,1173,8,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,1189,8,56,1,57,1,57,1,57,3,57,1194,8,57,1,57,1,57,1,57,5,57,1199,8,57,10,57,12,57,1202,9,57,3,57,1204,8,57,1,58,1,58,1,58,1,58,3,58,1210,8,58,1,58,3,58,1213,8,58,1,58,1,58,1,58,5,58,1218,8,58,10,58,12,58,1221,9,58,3,58,1223,8,58,1,59,1,59,3,59,1227,8,59,1,59,1,59,1,59,3,59,1232,8,59,1,59,3,59,1235,8,59,1,59,1,59,1,59,5,59,1240,8,59,10,59,12,59,1243,9,59,3,59,1245,8,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,3,64,1269,8,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,3,65,1283,8,65,1,65,1,65,3,65,1287,8,65,1,66,1,66,3,66,1291,8,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,3,68,1311,8,68,3,68,1313,8,68,3,68,1315,8,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,3,69,1324,8,69,3,69,1326,8,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,1335,8,70,3,70,1337,8,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,1346,8,71,3,71,1348,8,71,1,72,1,72,1,72,3,72,1353,8,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,1362,8,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,1371,8,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,3,75,1380,8,75,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,3,77,1391,8,77,1,78,1,78,1,78,1,78,3,78,1397,8,78,1,78,1,78,1,78,3,78,1402,8,78,1,78,3,78,1405,8,78,1,78,1,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,3,80,1418,8,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,3,80,1428,8,80,1,80,1,80,3,80,1432,8,80,1,81,1,81,1,81,3,81,1437,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,5,82,1446,8,82,10,82,12,82,1449,9,82,1,82,1,82,3,82,1453,8,82,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,87,1,87,1,88,1,88,1,89,1,89,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,93,5,93,1484,8,93,10,93,12,93,1487,9,93,1,94,1,94,1,94,5,94,1492,8,94,10,94,12,94,1495,9,94,1,95,1,95,3,95,1499,8,95,1,96,1,96,3,96,1503,8,96,1,97,1,97,3,97,1507,8,97,1,98,1,98,1,98,3,98,1512,8,98,1,98,3,98,1515,8,98,1,98,1,98,1,98,3,98,1520,8,98,1,98,1,98,1,98,3,98,1525,8,98,1,98,1,98,1,98,3,98,1530,8,98,1,98,1,98,3,98,1534,8,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,1543,8,98,1,98,3,98,1546,8,98,1,98,1,98,3,98,1550,8,98,1,99,1,99,1,99,5,99,1555,8,99,10,99,12,99,1558,9,99,1,100,1,100,1,100,1,100,1,101,1,101,3,101,1566,8,101,1,101,1,101,3,101,1570,8,101,5,101,1572,8,101,10,101,12,101,1575,9,101,1,101,1,101,1,102,1,102,3,102,1581,8,102,1,103,3,103,1584,8,103,1,103,1,103,1,104,1,104,1,104,1,104,5,104,1592,8,104,10,104,12,104,1595,9,104,1,105,1,105,1,105,1,105,3,105,1601,8,105,1,105,1,105,1,105,3,105,1606,8,105,1,105,1,105,1,105,3,105,1611,8,105,1,105,1,105,1,105,3,105,1616,8,105,1,105,1,105,5,105,1620,8,105,10,105,12,105,1623,9,105,3,105,1625,8,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,3,106,1634,8,106,1,106,3,106,1637,8,106,1,106,3,106,1640,8,106,1,107,1,107,1,107,1,107,3,107,1646,8,107,1,108,1,108,1,108,3,108,1651,8,108,1,109,1,109,1,110,1,110,1,110,1,110,5,110,1659,8,110,10,110,12,110,1662,9,110,3,110,1664,8,110,1,110,3,110,1667,8,110,1,110,1,110,3,110,1671,8,110,1,111,1,111,1,111,1,112,1,112,1,112,5,112,1679,8,112,10,112,12,112,1682,9,112,3,112,1684,8,112,1,113,1,113,1,113,1,113,3,113,1690,8,113,1,113,1,113,5,113,1694,8,113,10,113,12,113,1697,9,113,3,113,1699,8,113,1,114,3,114,1702,8,114,1,114,1,114,3,114,1706,8,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,3,115,1716,8,115,1,116,1,116,1,117,1,117,1,118,1,118,1,118,5,118,1725,8,118,10,118,12,118,1728,9,118,1,118,1,118,3,118,1732,8,118,1,118,3,118,1735,8,118,1,119,1,119,3,119,1739,8,119,1,119,1,119,1,119,1,120,1,120,3,120,1746,8,120,1,120,1,120,1,120,1,120,1,120,1,120,5,120,1754,8,120,10,120,12,120,1757,9,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,1768,8,121,1,121,1,121,1,121,1,121,3,121,1774,8,121,3,121,1776,8,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,1785,8,122,1,122,3,122,1788,8,122,1,123,1,123,1,123,1,123,1,123,3,123,1795,8,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,3,124,1805,8,124,1,125,1,125,1,125,1,125,3,125,1811,8,125,1,126,1,126,1,126,1,126,5,126,1817,8,126,10,126,12,126,1820,9,126,1,126,1,126,1,127,1,127,1,127,1,127,5,127,1828,8,127,10,127,12,127,1831,9,127,1,127,1,127,1,128,1,128,1,128,5,128,1838,8,128,10,128,12,128,1841,9,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,3,129,1851,8,129,3,129,1853,8,129,1,129,1,129,1,129,1,129,3,129,1859,8,129,1,130,1,130,1,130,3,130,1864,8,130,1,131,1,131,1,131,1,131,1,131,1,131,5,131,1872,8,131,10,131,12,131,1875,9,131,3,131,1877,8,131,1,131,1,131,1,131,1,131,3,131,1883,8,131,3,131,1885,8,131,1,132,1,132,1,132,1,132,1,132,1,132,3,132,1893,8,132,1,132,1,132,1,132,1,132,3,132,1899,8,132,1,132,5,132,1902,8,132,10,132,12,132,1905,9,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,5,133,1914,8,133,10,133,12,133,1917,9,133,1,133,1,133,1,133,1,133,3,133,1923,8,133,1,134,1,134,3,134,1927,8,134,1,134,1,134,3,134,1931,8,134,1,135,1,135,3,135,1935,8,135,1,135,3,135,1938,8,135,1,135,1,135,1,135,5,135,1943,8,135,10,135,12,135,1946,9,135,1,135,1,135,1,135,1,135,5,135,1952,8,135,10,135,12,135,1955,9,135,3,135,1957,8,135,1,135,1,135,3,135,1961,8,135,1,135,1,135,1,135,3,135,1966,8,135,1,135,1,135,3,135,1970,8,135,1,136,3,136,1973,8,136,1,136,1,136,1,136,5,136,1978,8,136,10,136,12,136,1981,9,136,1,137,1,137,1,138,1,138,1,138,1,138,5,138,1989,8,138,10,138,12,138,1992,9,138,3,138,1994,8,138,1,138,1,138,3,138,1998,8,138,1,139,1,139,3,139,2002,8,139,1,139,1,139,1,139,1,140,1,140,1,141,1,141,3,141,2011,8,141,1,141,3,141,2014,8,141,1,141,1,141,1,141,1,141,1,141,3,141,2021,8,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,2035,8,142,5,142,2037,8,142,10,142,12,142,2040,9,142,1,143,3,143,2043,8,143,1,143,1,143,3,143,2047,8,143,1,143,1,143,3,143,2051,8,143,1,143,1,143,3,143,2055,8,143,1,143,1,143,3,143,2059,8,143,1,143,1,143,3,143,2063,8,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,2073,8,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,5,144,2082,8,144,10,144,12,144,2085,9,144,1,144,1,144,3,144,2089,8,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,3,145,2102,8,145,3,145,2104,8,145,1,146,1,146,1,147,1,147,3,147,2110,8,147,1,147,1,147,3,147,2114,8,147,3,147,2116,8,147,1,148,1,148,1,148,1,148,5,148,2122,8,148,10,148,12,148,2125,9,148,1,148,1,148,1,149,1,149,3,149,2131,8,149,1,149,1,149,1,149,3,149,2136,8,149,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,5,151,2147,8,151,10,151,12,151,2150,9,151,1,151,1,151,1,151,3,151,2155,8,151,1,152,1,152,1,152,1,152,1,153,1,153,3,153,2163,8,153,1,154,1,154,1,155,1,155,1,155,3,155,2170,8,155,1,155,1,155,3,155,2174,8,155,1,155,1,155,1,155,1,155,1,155,1,155,5,155,2182,8,155,10,155,12,155,2185,9,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2195,8,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,2203,8,156,1,156,1,156,1,156,1,156,1,156,5,156,2210,8,156,10,156,12,156,2213,9,156,1,156,1,156,1,156,3,156,2218,8,156,1,156,1,156,1,156,3,156,2223,8,156,1,156,1,156,1,156,1,156,3,156,2229,8,156,1,156,1,156,1,156,1,156,3,156,2235,8,156,1,156,1,156,1,156,3,156,2240,8,156,1,156,1,156,1,156,3,156,2245,8,156,1,157,1,157,1,157,1,157,3,157,2251,8,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,5,157,2262,8,157,10,157,12,157,2265,9,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,2291,8,158,1,158,1,158,1,158,1,158,3,158,2297,8,158,5,158,2299,8,158,10,158,12,158,2302,9,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,5,158,2311,8,158,10,158,12,158,2314,9,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,2323,8,158,1,158,3,158,2326,8,158,1,158,1,158,1,158,3,158,2331,8,158,1,158,1,158,1,158,5,158,2336,8,158,10,158,12,158,2339,9,158,3,158,2341,8,158,1,158,1,158,1,158,1,158,1,158,5,158,2348,8,158,10,158,12,158,2351,9,158,3,158,2353,8,158,1,158,1,158,3,158,2357,8,158,1,158,3,158,2360,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,5,158,2370,8,158,10,158,12,158,2373,9,158,3,158,2375,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,4,158,2392,8,158,11,158,12,158,2393,1,158,1,158,3,158,2398,8,158,1,158,1,158,1,158,1,158,4,158,2404,8,158,11,158,12,158,2405,1,158,1,158,3,158,2410,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,5,158,2433,8,158,10,158,12,158,2436,9,158,3,158,2438,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,2447,8,158,1,158,1,158,1,158,1,158,3,158,2453,8,158,1,158,1,158,1,158,1,158,3,158,2459,8,158,1,158,1,158,1,158,1,158,3,158,2465,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,2476,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,2485,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,5,158,2505,8,158,10,158,12,158,2508,9,158,3,158,2510,8,158,1,158,3,158,2513,8,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,5,158,2523,8,158,10,158,12,158,2526,9,158,1,159,1,159,1,159,1,159,3,159,2532,8,159,3,159,2534,8,159,1,160,1,160,1,161,1,161,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,3,163,2556,8,163,1,164,1,164,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,5,166,2583,8,166,10,166,12,166,2586,9,166,1,166,1,166,1,166,1,166,3,166,2592,8,166,1,166,1,166,1,166,1,166,5,166,2598,8,166,10,166,12,166,2601,9,166,1,166,1,166,3,166,2605,8,166,3,166,2607,8,166,1,166,1,166,5,166,2611,8,166,10,166,12,166,2614,9,166,1,167,1,167,1,168,1,168,3,168,2620,8,168,1,169,1,169,1,169,1,169,3,169,2626,8,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,5,172,2646,8,172,10,172,12,172,2649,9,172,3,172,2651,8,172,1,172,1,172,1,172,1,172,1,172,5,172,2658,8,172,10,172,12,172,2661,9,172,3,172,2663,8,172,1,172,3,172,2666,8,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,3,173,2686,8,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2697,8,174,1,175,1,175,1,175,1,175,1,175,3,175,2704,8,175,1,176,1,176,1,176,5,176,2709,8,176,10,176,12,176,2712,9,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,3,177,2725,8,177,3,177,2727,8,177,1,178,1,178,1,179,1,179,1,179,5,179,2734,8,179,10,179,12,179,2737,9,179,1,180,1,180,1,180,1,180,1,180,1,180,3,180,2745,8,180,1,181,1,181,1,181,1,181,1,181,3,181,2752,8,181,1,182,3,182,2755,8,182,1,182,1,182,3,182,2759,8,182,1,182,1,182,3,182,2763,8,182,1,182,3,182,2766,8,182,1,183,1,183,1,184,1,184,1,184,10,771,1447,1621,1660,1680,1695,1726,1755,1829,2300,6,264,284,310,314,316,332,185,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,0,33,2,0,46,46,170,170,2,0,166,166,204,204,2,0,176,176,202,202,2,0,69,69,80,80,2,0,27,27,159,159,2,0,103,103,144,144,2,0,47,47,171,171,2,0,3,3,12,12,3,0,87,87,166,166,204,204,2,0,178,178,209,209,1,0,245,248,2,0,147,147,219,223,2,0,65,65,95,95,2,0,64,64,200,200,2,0,10,10,55,55,2,0,75,75,112,112,2,0,2,2,57,57,2,0,14,14,185,185,3,0,106,106,115,115,164,164,2,0,105,105,163,163,4,0,70,70,133,133,194,194,208,208,1,0,255,256,1,0,257,259,1,0,249,254,3,0,2,2,6,6,181,181,2,0,70,70,194,194,5,0,48,49,91,92,122,125,172,173,217,218,1,0,127,130,2,0,8,8,227,244,2,0,77,77,149,149,4,0,46,46,178,178,188,188,209,209,16,0,28,29,40,40,43,43,48,48,68,68,91,91,114,114,122,122,124,124,158,158,165,165,172,172,184,184,196,196,204,204,217,217,23,0,14,14,43,44,48,49,65,65,68,68,91,91,95,95,110,110,119,119,122,125,127,130,137,137,140,140,152,153,172,173,180,180,184,185,195,195,204,204,213,213,217,217,220,220,231,231,3093,0,373,1,0,0,0,2,378,1,0,0,0,4,404,1,0,0,0,6,406,1,0,0,0,8,417,1,0,0,0,10,419,1,0,0,0,12,458,1,0,0,0,14,480,1,0,0,0,16,534,1,0,0,0,18,553,1,0,0,0,20,566,1,0,0,0,22,570,1,0,0,0,24,632,1,0,0,0,26,680,1,0,0,0,28,682,1,0,0,0,30,690,1,0,0,0,32,710,1,0,0,0,34,730,1,0,0,0,36,737,1,0,0,0,38,746,1,0,0,0,40,754,1,0,0,0,42,776,1,0,0,0,44,786,1,0,0,0,46,804,1,0,0,0,48,825,1,0,0,0,50,846,1,0,0,0,52,852,1,0,0,0,54,869,1,0,0,0,56,878,1,0,0,0,58,885,1,0,0,0,60,893,1,0,0,0,62,900,1,0,0,0,64,907,1,0,0,0,66,916,1,0,0,0,68,927,1,0,0,0,70,929,1,0,0,0,72,949,1,0,0,0,74,966,1,0,0,0,76,968,1,0,0,0,78,977,1,0,0,0,80,984,1,0,0,0,82,993,1,0,0,0,84,1003,1,0,0,0,86,1026,1,0,0,0,88,1032,1,0,0,0,90,1034,1,0,0,0,92,1041,1,0,0,0,94,1053,1,0,0,0,96,1055,1,0,0,0,98,1062,1,0,0,0,100,1083,1,0,0,0,102,1112,1,0,0,0,104,1114,1,0,0,0,106,1123,1,0,0,0,108,1146,1,0,0,0,110,1165,1,0,0,0,112,1188,1,0,0,0,114,1190,1,0,0,0,116,1205,1,0,0,0,118,1224,1,0,0,0,120,1246,1,0,0,0,122,1251,1,0,0,0,124,1256,1,0,0,0,126,1261,1,0,0,0,128,1266,1,0,0,0,130,1273,1,0,0,0,132,1288,1,0,0,0,134,1294,1,0,0,0,136,1314,1,0,0,0,138,1316,1,0,0,0,140,1327,1,0,0,0,142,1338,1,0,0,0,144,1352,1,0,0,0,146,1354,1,0,0,0,148,1363,1,0,0,0,150,1372,1,0,0,0,152,1381,1,0,0,0,154,1384,1,0,0,0,156,1392,1,0,0,0,158,1408,1,0,0,0,160,1412,1,0,0,0,162,1436,1,0,0,0,164,1438,1,0,0,0,166,1454,1,0,0,0,168,1457,1,0,0,0,170,1461,1,0,0,0,172,1464,1,0,0,0,174,1468,1,0,0,0,176,1470,1,0,0,0,178,1472,1,0,0,0,180,1474,1,0,0,0,182,1476,1,0,0,0,184,1478,1,0,0,0,186,1480,1,0,0,0,188,1488,1,0,0,0,190,1498,1,0,0,0,192,1502,1,0,0,0,194,1506,1,0,0,0,196,1511,1,0,0,0,198,1551,1,0,0,0,200,1559,1,0,0,0,202,1563,1,0,0,0,204,1578,1,0,0,0,206,1583,1,0,0,0,208,1587,1,0,0,0,210,1596,1,0,0,0,212,1626,1,0,0,0,214,1641,1,0,0,0,216,1647,1,0,0,0,218,1652,1,0,0,0,220,1654,1,0,0,0,222,1672,1,0,0,0,224,1675,1,0,0,0,226,1685,1,0,0,0,228,1705,1,0,0,0,230,1715,1,0,0,0,232,1717,1,0,0,0,234,1719,1,0,0,0,236,1734,1,0,0,0,238,1736,1,0,0,0,240,1743,1,0,0,0,242,1775,1,0,0,0,244,1787,1,0,0,0,246,1794,1,0,0,0,248,1804,1,0,0,0,250,1806,1,0,0,0,252,1812,1,0,0,0,254,1823,1,0,0,0,256,1834,1,0,0,0,258,1842,1,0,0,0,260,1860,1,0,0,0,262,1865,1,0,0,0,264,1886,1,0,0,0,266,1922,1,0,0,0,268,1924,1,0,0,0,270,1932,1,0,0,0,272,1972,1,0,0,0,274,1982,1,0,0,0,276,1997,1,0,0,0,278,1999,1,0,0,0,280,2006,1,0,0,0,282,2020,1,0,0,0,284,2022,1,0,0,0,286,2072,1,0,0,0,288,2088,1,0,0,0,290,2090,1,0,0,0,292,2105,1,0,0,0,294,2107,1,0,0,0,296,2117,1,0,0,0,298,2135,1,0,0,0,300,2137,1,0,0,0,302,2141,1,0,0,0,304,2156,1,0,0,0,306,2162,1,0,0,0,308,2164,1,0,0,0,310,2173,1,0,0,0,312,2244,1,0,0,0,314,2250,1,0,0,0,316,2512,1,0,0,0,318,2533,1,0,0,0,320,2535,1,0,0,0,322,2537,1,0,0,0,324,2539,1,0,0,0,326,2555,1,0,0,0,328,2557,1,0,0,0,330,2559,1,0,0,0,332,2606,1,0,0,0,334,2615,1,0,0,0,336,2619,1,0,0,0,338,2625,1,0,0,0,340,2627,1,0,0,0,342,2632,1,0,0,0,344,2638,1,0,0,0,346,2685,1,0,0,0,348,2696,1,0,0,0,350,2703,1,0,0,0,352,2705,1,0,0,0,354,2726,1,0,0,0,356,2728,1,0,0,0,358,2730,1,0,0,0,360,2744,1,0,0,0,362,2751,1,0,0,0,364,2765,1,0,0,0,366,2767,1,0,0,0,368,2769,1,0,0,0,370,372,3,2,1,0,371,370,1,0,0,0,372,375,1,0,0,0,373,371,1,0,0,0,373,374,1,0,0,0,374,376,1,0,0,0,375,373,1,0,0,0,376,377,5,0,0,1,377,1,1,0,0,0,378,380,3,4,2,0,379,381,5,262,0,0,380,379,1,0,0,0,380,381,1,0,0,0,381,3,1,0,0,0,382,405,3,206,103,0,383,405,3,6,3,0,384,405,3,8,4,0,385,405,3,26,13,0,386,405,3,64,32,0,387,405,3,66,33,0,388,405,3,68,34,0,389,405,3,74,37,0,390,405,3,88,44,0,391,405,3,94,47,0,392,405,3,100,50,0,393,405,3,102,51,0,394,405,3,108,54,0,395,405,3,110,55,0,396,405,3,112,56,0,397,405,3,144,72,0,398,405,3,152,76,0,399,405,3,154,77,0,400,405,3,156,78,0,401,405,3,158,79,0,402,405,3,160,80,0,403,405,3,162,81,0,404,382,1,0,0,0,404,383,1,0,0,0,404,384,1,0,0,0,404,385,1,0,0,0,404,386,1,0,0,0,404,387,1,0,0,0,404,388,1,0,0,0,404,389,1,0,0,0,404,390,1,0,0,0,404,391,1,0,0,0,404,392,1,0,0,0,404,393,1,0,0,0,404,394,1,0,0,0,404,395,1,0,0,0,404,396,1,0,0,0,404,397,1,0,0,0,404,398,1,0,0,0,404,399,1,0,0,0,404,400,1,0,0,0,404,401,1,0,0,0,404,402,1,0,0,0,404,403,1,0,0,0,405,5,1,0,0,0,406,407,5,203,0,0,407,408,3,184,92,0,408,7,1,0,0,0,409,418,3,18,9,0,410,418,3,20,10,0,411,418,3,22,11,0,412,418,3,24,12,0,413,418,3,16,8,0,414,418,3,14,7,0,415,418,3,12,6,0,416,418,3,10,5,0,417,409,1,0,0,0,417,410,1,0,0,0,417,411,1,0,0,0,417,412,1,0,0,0,417,413,1,0,0,0,417,414,1,0,0,0,417,415,1,0,0,0,417,416,1,0,0,0,418,9,1,0,0,0,419,421,5,37,0,0,420,422,5,19,0,0,421,420,1,0,0,0,421,422,1,0,0,0,422,423,1,0,0,0,423,425,5,188,0,0,424,426,3,172,86,0,425,424,1,0,0,0,425,426,1,0,0,0,426,427,1,0,0,0,427,443,3,174,87,0,428,429,5,265,0,0,429,434,3,216,108,0,430,431,5,263,0,0,431,433,3,216,108,0,432,430,1,0,0,0,433,436,1,0,0,0,434,432,1,0,0,0,434,435,1,0,0,0,435,439,1,0,0,0,436,434,1,0,0,0,437,438,5,263,0,0,438,440,3,210,105,0,439,437,1,0,0,0,439,440,1,0,0,0,440,441,1,0,0,0,441,442,5,266,0,0,442,444,1,0,0,0,443,428,1,0,0,0,443,444,1,0,0,0,444,451,1,0,0,0,445,446,5,17,0,0,446,449,5,26,0,0,447,450,3,296,148,0,448,450,3,254,127,0,449,447,1,0,0,0,449,448,1,0,0,0,450,452,1,0,0,0,451,445,1,0,0,0,451,452,1,0,0,0,452,453,1,0,0,0,453,456,3,196,98,0,454,455,5,9,0,0,455,457,3,206,103,0,456,454,1,0,0,0,456,457,1,0,0,0,457,11,1,0,0,0,458,460,5,37,0,0,459,461,5,19,0,0,460,459,1,0,0,0,460,461,1,0,0,0,461,462,1,0,0,0,462,464,5,188,0,0,463,465,3,172,86,0,464,463,1,0,0,0,464,465,1,0,0,0,465,466,1,0,0,0,466,467,3,174,87,0,467,471,5,115,0,0,468,472,3,186,93,0,469,470,5,147,0,0,470,472,3,318,159,0,471,468,1,0,0,0,471,469,1,0,0,0,472,476,1,0,0,0,473,474,5,17,0,0,474,475,5,26,0,0,475,477,3,254,127,0,476,473,1,0,0,0,476,477,1,0,0,0,477,478,1,0,0,0,478,479,3,196,98,0,479,13,1,0,0,0,480,482,5,37,0,0,481,483,5,19,0,0,482,481,1,0,0,0,482,483,1,0,0,0,483,484,1,0,0,0,484,486,5,188,0,0,485,487,3,172,86,0,486,485,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,506,3,174,87,0,489,490,5,265,0,0,490,495,3,218,109,0,491,492,5,263,0,0,492,494,3,218,109,0,493,491,1,0,0,0,494,497,1,0,0,0,495,493,1,0,0,0,495,496,1,0,0,0,496,502,1,0,0,0,497,495,1,0,0,0,498,499,5,263,0,0,499,500,5,150,0,0,500,501,5,110,0,0,501,503,3,296,148,0,502,498,1,0,0,0,502,503,1,0,0,0,503,504,1,0,0,0,504,505,5,266,0,0,505,507,1,0,0,0,506,489,1,0,0,0,506,507,1,0,0,0,507,513,1,0,0,0,508,509,5,150,0,0,509,511,5,110,0,0,510,512,3,296,148,0,511,510,1,0,0,0,511,512,1,0,0,0,512,514,1,0,0,0,513,508,1,0,0,0,513,514,1,0,0,0,514,518,1,0,0,0,515,516,5,145,0,0,516,517,5,26,0,0,517,519,3,236,118,0,518,515,1,0,0,0,518,519,1,0,0,0,519,521,1,0,0,0,520,522,3,222,111,0,521,520,1,0,0,0,521,522,1,0,0,0,522,523,1,0,0,0,523,524,5,23,0,0,524,525,5,9,0,0,525,528,5,111,0,0,526,527,5,25,0,0,527,529,3,252,126,0,528,526,1,0,0,0,528,529,1,0,0,0,529,532,1,0,0,0,530,531,5,9,0,0,531,533,3,206,103,0,532,530,1,0,0,0,532,533,1,0,0,0,533,15,1,0,0,0,534,535,5,37,0,0,535,537,5,212,0,0,536,538,3,172,86,0,537,536,1,0,0,0,537,538,1,0,0,0,538,539,1,0,0,0,539,541,3,178,89,0,540,542,3,202,101,0,541,540,1,0,0,0,541,542,1,0,0,0,542,544,1,0,0,0,543,545,3,222,111,0,544,543,1,0,0,0,544,545,1,0,0,0,545,548,1,0,0,0,546,547,5,25,0,0,547,549,3,252,126,0,548,546,1,0,0,0,548,549,1,0,0,0,549,550,1,0,0,0,550,551,5,9,0,0,551,552,3,206,103,0,552,17,1,0,0,0,553,554,5,37,0,0,554,556,7,0,0,0,555,557,3,172,86,0,556,555,1,0,0,0,556,557,1,0,0,0,557,558,1,0,0,0,558,560,3,176,88,0,559,561,3,222,111,0,560,559,1,0,0,0,560,561,1,0,0,0,561,564,1,0,0,0,562,563,5,24,0,0,563,565,3,318,159,0,564,562,1,0,0,0,564,565,1,0,0,0,565,19,1,0,0,0,566,567,5,37,0,0,567,568,5,166,0,0,568,569,3,362,181,0,569,21,1,0,0,0,570,572,5,37,0,0,571,573,5,12,0,0,572,571,1,0,0,0,572,573,1,0,0,0,573,574,1,0,0,0,574,576,5,84,0,0,575,577,3,172,86,0,576,575,1,0,0,0,576,577,1,0,0,0,577,578,1,0,0,0,578,591,3,180,90,0,579,588,5,265,0,0,580,585,3,332,166,0,581,582,5,263,0,0,582,584,3,332,166,0,583,581,1,0,0,0,584,587,1,0,0,0,585,583,1,0,0,0,585,586,1,0,0,0,586,589,1,0,0,0,587,585,1,0,0,0,588,580,1,0,0,0,588,589,1,0,0,0,589,590,1,0,0,0,590,592,5,266,0,0,591,579,1,0,0,0,591,592,1,0,0,0,592,593,1,0,0,0,593,594,5,160,0,0,594,597,3,332,166,0,595,596,5,102,0,0,596,598,3,332,166,0,597,595,1,0,0,0,597,598,1,0,0,0,598,599,1,0,0,0,599,600,5,24,0,0,600,604,5,274,0,0,601,602,5,104,0,0,602,603,5,249,0,0,603,605,5,274,0,0,604,601,1,0,0,0,604,605,1,0,0,0,605,606,1,0,0,0,606,607,5,206,0,0,607,608,5,249,0,0,608,609,5,274,0,0,609,610,5,126,0,0,610,611,5,249,0,0,611,615,5,274,0,0,612,613,5,18,0,0,613,614,5,249,0,0,614,616,5,274,0,0,615,612,1,0,0,0,615,616,1,0,0,0,616,620,1,0,0,0,617,618,5,20,0,0,618,619,5,249,0,0,619,621,5,274,0,0,620,617,1,0,0,0,620,621,1,0,0,0,621,625,1,0,0,0,622,623,5,187,0,0,623,624,5,249,0,0,624,626,5,274,0,0,625,622,1,0,0,0,625,626,1,0,0,0,626,630,1,0,0,0,627,628,5,76,0,0,628,629,5,249,0,0,629,631,5,274,0,0,630,627,1,0,0,0,630,631,1,0,0,0,631,23,1,0,0,0,632,633,5,37,0,0,633,635,5,84,0,0,634,636,3,172,86,0,635,634,1,0,0,0,635,636,1,0,0,0,636,637,1,0,0,0,637,650,3,180,90,0,638,647,5,265,0,0,639,644,3,332,166,0,640,641,5,263,0,0,641,643,3,332,166,0,642,640,1,0,0,0,643,646,1,0,0,0,644,642,1,0,0,0,644,645,1,0,0,0,645,648,1,0,0,0,646,644,1,0,0,0,647,639,1,0,0,0,647,648,1,0,0,0,648,649,1,0,0,0,649,651,5,266,0,0,650,638,1,0,0,0,650,651,1,0,0,0,651,654,1,0,0,0,652,653,5,160,0,0,653,655,3,332,166,0,654,652,1,0,0,0,654,655,1,0,0,0,655,656,1,0,0,0,656,657,5,24,0,0,657,658,5,274,0,0,658,659,5,186,0,0,659,660,5,249,0,0,660,661,3,318,159,0,661,25,1,0,0,0,662,681,3,28,14,0,663,681,3,62,31,0,664,681,3,60,30,0,665,681,3,58,29,0,666,681,3,54,27,0,667,681,3,56,28,0,668,681,3,52,26,0,669,681,3,48,24,0,670,681,3,50,25,0,671,681,3,46,23,0,672,681,3,44,22,0,673,681,3,42,21,0,674,681,3,40,20,0,675,681,3,34,17,0,676,681,3,30,15,0,677,681,3,32,16,0,678,681,3,36,18,0,679,681,3,38,19,0,680,662,1,0,0,0,680,663,1,0,0,0,680,664,1,0,0,0,680,665,1,0,0,0,680,666,1,0,0,0,680,667,1,0,0,0,680,668,1,0,0,0,680,669,1,0,0,0,680,670,1,0,0,0,680,671,1,0,0,0,680,672,1,0,0,0,680,673,1,0,0,0,680,674,1,0,0,0,680,675,1,0,0,0,680,676,1,0,0,0,680,677,1,0,0,0,680,678,1,0,0,0,680,679,1,0,0,0,681,27,1,0,0,0,682,683,5,4,0,0,683,684,5,46,0,0,684,685,3,184,92,0,685,686,5,176,0,0,686,687,5,142,0,0,687,688,7,1,0,0,688,689,3,362,181,0,689,29,1,0,0,0,690,691,5,4,0,0,691,692,5,188,0,0,692,693,3,186,93,0,693,694,5,176,0,0,694,695,5,32,0,0,695,696,5,182,0,0,696,697,3,192,96,0,697,698,5,265,0,0,698,699,3,232,116,0,699,700,5,249,0,0,700,706,3,318,159,0,701,702,5,263,0,0,702,703,3,232,116,0,703,704,5,249,0,0,704,705,3,318,159,0,705,707,1,0,0,0,706,701,1,0,0,0,706,707,1,0,0,0,707,708,1,0,0,0,708,709,5,266,0,0,709,31,1,0,0,0,710,711,5,4,0,0,711,712,5,188,0,0,712,715,3,186,93,0,713,714,5,145,0,0,714,716,3,308,154,0,715,713,1,0,0,0,715,716,1,0,0,0,716,717,1,0,0,0,717,728,5,176,0,0,718,719,5,30,0,0,719,720,5,94,0,0,720,725,3,318,159,0,721,722,5,216,0,0,722,723,5,151,0,0,723,724,5,249,0,0,724,726,3,364,182,0,725,721,1,0,0,0,725,726,1,0,0,0,726,729,1,0,0,0,727,729,5,197,0,0,728,718,1,0,0,0,728,727,1,0,0,0,729,33,1,0,0,0,730,731,5,4,0,0,731,732,5,188,0,0,732,733,3,186,93,0,733,734,5,31,0,0,734,735,3,192,96,0,735,736,3,224,112,0,736,35,1,0,0,0,737,738,5,4,0,0,738,739,5,188,0,0,739,740,3,186,93,0,740,742,5,58,0,0,741,743,5,32,0,0,742,741,1,0,0,0,742,743,1,0,0,0,743,744,1,0,0,0,744,745,3,192,96,0,745,37,1,0,0,0,746,747,5,4,0,0,747,748,5,188,0,0,748,749,3,186,93,0,749,750,5,176,0,0,750,751,5,142,0,0,751,752,7,1,0,0,752,753,3,362,181,0,753,39,1,0,0,0,754,755,5,4,0,0,755,756,5,188,0,0,756,762,3,186,93,0,757,763,5,158,0,0,758,760,5,1,0,0,759,761,3,172,86,0,760,759,1,0,0,0,760,761,1,0,0,0,761,763,1,0,0,0,762,757,1,0,0,0,762,758,1,0,0,0,763,764,1,0,0,0,764,765,5,33,0,0,765,766,5,265,0,0,766,771,3,224,112,0,767,768,5,263,0,0,768,770,3,224,112,0,769,767,1,0,0,0,770,773,1,0,0,0,771,772,1,0,0,0,771,769,1,0,0,0,772,774,1,0,0,0,773,771,1,0,0,0,774,775,5,266,0,0,775,41,1,0,0,0,776,777,5,4,0,0,777,778,5,188,0,0,778,779,3,186,93,0,779,780,5,1,0,0,780,782,5,32,0,0,781,783,3,172,86,0,782,781,1,0,0,0,782,783,1,0,0,0,783,784,1,0,0,0,784,785,3,226,113,0,785,43,1,0,0,0,786,787,5,4,0,0,787,788,5,188,0,0,788,789,3,186,93,0,789,791,5,4,0,0,790,792,5,32,0,0,791,790,1,0,0,0,791,792,1,0,0,0,792,793,1,0,0,0,793,802,3,192,96,0,794,798,5,176,0,0,795,799,3,230,115,0,796,797,5,34,0,0,797,799,3,318,159,0,798,795,1,0,0,0,798,796,1,0,0,0,799,803,1,0,0,0,800,801,5,58,0,0,801,803,5,51,0,0,802,794,1,0,0,0,802,800,1,0,0,0,803,45,1,0,0,0,804,805,5,4,0,0,805,806,5,188,0,0,806,807,3,186,93,0,807,809,5,1,0,0,808,810,3,172,86,0,809,808,1,0,0,0,809,810,1,0,0,0,810,823,1,0,0,0,811,812,5,145,0,0,812,815,3,308,154,0,813,814,5,24,0,0,814,816,3,318,159,0,815,813,1,0,0,0,815,816,1,0,0,0,816,818,1,0,0,0,817,819,3,244,122,0,818,817,1,0,0,0,818,819,1,0,0,0,819,824,1,0,0,0,820,821,5,154,0,0,821,822,5,145,0,0,822,824,3,242,121,0,823,811,1,0,0,0,823,820,1,0,0,0,824,47,1,0,0,0,825,826,5,4,0,0,826,827,5,188,0,0,827,830,3,186,93,0,828,829,5,145,0,0,829,831,3,308,154,0,830,828,1,0,0,0,830,831,1,0,0,0,831,832,1,0,0,0,832,844,5,176,0,0,833,834,5,72,0,0,834,845,3,234,117,0,835,836,5,168,0,0,836,837,5,79,0,0,837,845,3,258,129,0,838,839,5,24,0,0,839,845,3,318,159,0,840,841,5,25,0,0,841,845,3,252,126,0,842,843,5,175,0,0,843,845,3,252,126,0,844,833,1,0,0,0,844,835,1,0,0,0,844,838,1,0,0,0,844,840,1,0,0,0,844,842,1,0,0,0,845,49,1,0,0,0,846,847,5,4,0,0,847,848,5,188,0,0,848,849,3,186,93,0,849,850,5,155,0,0,850,851,5,146,0,0,851,51,1,0,0,0,852,853,5,4,0,0,853,854,5,188,0,0,854,855,3,186,93,0,855,857,5,58,0,0,856,858,3,170,85,0,857,856,1,0,0,0,857,858,1,0,0,0,858,867,1,0,0,0,859,860,5,145,0,0,860,862,3,308,154,0,861,863,5,22,0,0,862,861,1,0,0,0,862,863,1,0,0,0,863,868,1,0,0,0,864,865,5,154,0,0,865,866,5,145,0,0,866,868,3,242,121,0,867,859,1,0,0,0,867,864,1,0,0,0,868,53,1,0,0,0,869,870,5,4,0,0,870,871,5,212,0,0,871,873,3,188,94,0,872,874,3,202,101,0,873,872,1,0,0,0,873,874,1,0,0,0,874,875,1,0,0,0,875,876,5,9,0,0,876,877,3,206,103,0,877,55,1,0,0,0,878,879,5,4,0,0,879,880,5,212,0,0,880,881,3,188,94,0,881,882,5,156,0,0,882,883,5,193,0,0,883,884,3,188,94,0,884,57,1,0,0,0,885,886,5,4,0,0,886,887,5,212,0,0,887,888,3,188,94,0,888,889,5,176,0,0,889,890,5,142,0,0,890,891,7,1,0,0,891,892,3,358,179,0,892,59,1,0,0,0,893,894,5,4,0,0,894,895,5,188,0,0,895,896,3,186,93,0,896,897,5,156,0,0,897,898,5,193,0,0,898,899,3,186,93,0,899,61,1,0,0,0,900,901,5,4,0,0,901,902,5,212,0,0,902,903,3,188,94,0,903,904,7,2,0,0,904,905,5,25,0,0,905,906,3,252,126,0,906,63,1,0,0,0,907,909,5,196,0,0,908,910,5,188,0,0,909,908,1,0,0,0,909,910,1,0,0,0,910,912,1,0,0,0,911,913,3,170,85,0,912,911,1,0,0,0,912,913,1,0,0,0,913,914,1,0,0,0,914,915,3,186,93,0,915,65,1,0,0,0,916,918,5,56,0,0,917,919,5,46,0,0,918,917,1,0,0,0,918,919,1,0,0,0,919,921,1,0,0,0,920,922,7,3,0,0,921,920,1,0,0,0,921,922,1,0,0,0,922,923,1,0,0,0,923,924,3,358,179,0,924,67,1,0,0,0,925,928,3,70,35,0,926,928,3,72,36,0,927,925,1,0,0,0,927,926,1,0,0,0,928,69,1,0,0,0,929,930,5,36,0,0,930,931,5,182,0,0,931,933,3,186,93,0,932,934,3,296,148,0,933,932,1,0,0,0,933,934,1,0,0,0,934,947,1,0,0,0,935,936,5,190,0,0,936,937,5,185,0,0,937,938,5,265,0,0,938,939,3,364,182,0,939,945,5,266,0,0,940,941,5,157,0,0,941,942,5,265,0,0,942,943,3,364,182,0,943,944,5,266,0,0,944,946,1,0,0,0,945,940,1,0,0,0,945,946,1,0,0,0,946,948,1,0,0,0,947,935,1,0,0,0,947,948,1,0,0,0,948,71,1,0,0,0,949,950,5,36,0,0,950,951,5,96,0,0,951,952,5,182,0,0,952,958,3,186,93,0,953,954,5,145,0,0,954,955,5,265,0,0,955,956,3,308,154,0,956,957,5,266,0,0,957,959,1,0,0,0,958,953,1,0,0,0,958,959,1,0,0,0,959,73,1,0,0,0,960,967,3,86,43,0,961,967,3,84,42,0,962,967,3,82,41,0,963,967,3,78,39,0,964,967,3,80,40,0,965,967,3,76,38,0,966,960,1,0,0,0,966,961,1,0,0,0,966,962,1,0,0,0,966,963,1,0,0,0,966,964,1,0,0,0,966,965,1,0,0,0,967,75,1,0,0,0,968,969,5,58,0,0,969,971,7,0,0,0,970,972,3,170,85,0,971,970,1,0,0,0,971,972,1,0,0,0,972,973,1,0,0,0,973,975,3,184,92,0,974,976,7,4,0,0,975,974,1,0,0,0,975,976,1,0,0,0,976,77,1,0,0,0,977,978,5,58,0,0,978,980,5,212,0,0,979,981,3,170,85,0,980,979,1,0,0,0,980,981,1,0,0,0,981,982,1,0,0,0,982,983,3,188,94,0,983,79,1,0,0,0,984,985,5,58,0,0,985,987,5,188,0,0,986,988,3,170,85,0,987,986,1,0,0,0,987,988,1,0,0,0,988,989,1,0,0,0,989,991,3,186,93,0,990,992,5,22,0,0,991,990,1,0,0,0,991,992,1,0,0,0,992,81,1,0,0,0,993,995,5,58,0,0,994,996,5,96,0,0,995,994,1,0,0,0,995,996,1,0,0,0,996,997,1,0,0,0,997,998,5,182,0,0,998,1001,3,186,93,0,999,1e3,5,145,0,0,1e3,1002,3,308,154,0,1001,999,1,0,0,0,1001,1002,1,0,0,0,1002,83,1,0,0,0,1003,1005,5,58,0,0,1004,1006,5,12,0,0,1005,1004,1,0,0,0,1005,1006,1,0,0,0,1006,1007,1,0,0,0,1007,1009,5,84,0,0,1008,1010,3,170,85,0,1009,1008,1,0,0,0,1009,1010,1,0,0,0,1010,1011,1,0,0,0,1011,1024,3,190,95,0,1012,1021,5,265,0,0,1013,1018,3,332,166,0,1014,1015,5,263,0,0,1015,1017,3,332,166,0,1016,1014,1,0,0,0,1017,1020,1,0,0,0,1018,1016,1,0,0,0,1018,1019,1,0,0,0,1019,1022,1,0,0,0,1020,1018,1,0,0,0,1021,1013,1,0,0,0,1021,1022,1,0,0,0,1022,1023,1,0,0,0,1023,1025,5,266,0,0,1024,1012,1,0,0,0,1024,1025,1,0,0,0,1025,85,1,0,0,0,1026,1027,5,58,0,0,1027,1028,5,166,0,0,1028,1029,3,362,181,0,1029,87,1,0,0,0,1030,1033,3,90,45,0,1031,1033,3,92,46,0,1032,1030,1,0,0,0,1032,1031,1,0,0,0,1033,89,1,0,0,0,1034,1035,5,86,0,0,1035,1036,5,166,0,0,1036,1037,3,362,181,0,1037,1038,5,193,0,0,1038,1039,5,87,0,0,1039,1040,3,362,181,0,1040,91,1,0,0,0,1041,1042,5,86,0,0,1042,1043,3,354,177,0,1043,1044,5,136,0,0,1044,1046,3,356,178,0,1045,1047,3,358,179,0,1046,1045,1,0,0,0,1046,1047,1,0,0,0,1047,1048,1,0,0,0,1048,1049,5,193,0,0,1049,1050,3,360,180,0,1050,93,1,0,0,0,1051,1054,3,96,48,0,1052,1054,3,98,49,0,1053,1051,1,0,0,0,1053,1052,1,0,0,0,1054,95,1,0,0,0,1055,1056,5,161,0,0,1056,1057,5,166,0,0,1057,1058,3,362,181,0,1058,1059,5,82,0,0,1059,1060,5,87,0,0,1060,1061,3,362,181,0,1061,97,1,0,0,0,1062,1066,5,161,0,0,1063,1064,5,86,0,0,1064,1065,5,137,0,0,1065,1067,5,78,0,0,1066,1063,1,0,0,0,1066,1067,1,0,0,0,1067,1068,1,0,0,0,1068,1069,3,354,177,0,1069,1070,5,136,0,0,1070,1072,3,356,178,0,1071,1073,3,358,179,0,1072,1071,1,0,0,0,1072,1073,1,0,0,0,1073,1074,1,0,0,0,1074,1080,5,82,0,0,1075,1081,3,360,180,0,1076,1078,5,166,0,0,1077,1076,1,0,0,0,1077,1078,1,0,0,0,1078,1079,1,0,0,0,1079,1081,3,362,181,0,1080,1075,1,0,0,0,1080,1077,1,0,0,0,1081,99,1,0,0,0,1082,1084,3,208,104,0,1083,1082,1,0,0,0,1083,1084,1,0,0,0,1084,1085,1,0,0,0,1085,1086,5,99,0,0,1086,1088,7,5,0,0,1087,1089,5,188,0,0,1088,1087,1,0,0,0,1088,1089,1,0,0,0,1089,1090,1,0,0,0,1090,1092,3,186,93,0,1091,1093,3,296,148,0,1092,1091,1,0,0,0,1092,1093,1,0,0,0,1093,1106,1,0,0,0,1094,1095,5,145,0,0,1095,1096,5,265,0,0,1096,1101,3,308,154,0,1097,1098,5,263,0,0,1098,1100,3,308,154,0,1099,1097,1,0,0,0,1100,1103,1,0,0,0,1101,1099,1,0,0,0,1101,1102,1,0,0,0,1102,1104,1,0,0,0,1103,1101,1,0,0,0,1104,1105,5,266,0,0,1105,1107,1,0,0,0,1106,1094,1,0,0,0,1106,1107,1,0,0,0,1107,1108,1,0,0,0,1108,1109,3,206,103,0,1109,101,1,0,0,0,1110,1113,3,104,52,0,1111,1113,3,106,53,0,1112,1110,1,0,0,0,1112,1111,1,0,0,0,1113,103,1,0,0,0,1114,1116,5,50,0,0,1115,1117,5,82,0,0,1116,1115,1,0,0,0,1116,1117,1,0,0,0,1117,1118,1,0,0,0,1118,1121,3,186,93,0,1119,1120,5,215,0,0,1120,1122,3,310,155,0,1121,1119,1,0,0,0,1121,1122,1,0,0,0,1122,105,1,0,0,0,1123,1124,5,50,0,0,1124,1129,3,186,93,0,1125,1127,5,9,0,0,1126,1125,1,0,0,0,1126,1127,1,0,0,0,1127,1128,1,0,0,0,1128,1130,3,362,181,0,1129,1126,1,0,0,0,1129,1130,1,0,0,0,1130,1131,1,0,0,0,1131,1140,5,82,0,0,1132,1137,3,284,142,0,1133,1134,5,263,0,0,1134,1136,3,284,142,0,1135,1133,1,0,0,0,1136,1139,1,0,0,0,1137,1135,1,0,0,0,1137,1138,1,0,0,0,1138,1141,1,0,0,0,1139,1137,1,0,0,0,1140,1132,1,0,0,0,1140,1141,1,0,0,0,1141,1144,1,0,0,0,1142,1143,5,215,0,0,1143,1145,3,310,155,0,1144,1142,1,0,0,0,1144,1145,1,0,0,0,1145,107,1,0,0,0,1146,1147,5,54,0,0,1147,1148,3,186,93,0,1148,1149,5,176,0,0,1149,1159,3,198,99,0,1150,1151,5,82,0,0,1151,1156,3,284,142,0,1152,1153,5,263,0,0,1153,1155,3,284,142,0,1154,1152,1,0,0,0,1155,1158,1,0,0,0,1156,1154,1,0,0,0,1156,1157,1,0,0,0,1157,1160,1,0,0,0,1158,1156,1,0,0,0,1159,1150,1,0,0,0,1159,1160,1,0,0,0,1160,1163,1,0,0,0,1161,1162,5,215,0,0,1162,1164,3,310,155,0,1163,1161,1,0,0,0,1163,1164,1,0,0,0,1164,109,1,0,0,0,1165,1166,5,207,0,0,1166,1168,5,103,0,0,1167,1169,5,188,0,0,1168,1167,1,0,0,0,1168,1169,1,0,0,0,1169,1170,1,0,0,0,1170,1172,3,186,93,0,1171,1173,3,296,148,0,1172,1171,1,0,0,0,1172,1173,1,0,0,0,1173,1174,1,0,0,0,1174,1175,3,206,103,0,1175,111,1,0,0,0,1176,1189,3,132,66,0,1177,1189,3,134,67,0,1178,1189,3,136,68,0,1179,1189,3,130,65,0,1180,1189,3,128,64,0,1181,1189,3,126,63,0,1182,1189,3,124,62,0,1183,1189,3,122,61,0,1184,1189,3,120,60,0,1185,1189,3,118,59,0,1186,1189,3,116,58,0,1187,1189,3,114,57,0,1188,1176,1,0,0,0,1188,1177,1,0,0,0,1188,1178,1,0,0,0,1188,1179,1,0,0,0,1188,1180,1,0,0,0,1188,1181,1,0,0,0,1188,1182,1,0,0,0,1188,1183,1,0,0,0,1188,1184,1,0,0,0,1188,1185,1,0,0,0,1188,1186,1,0,0,0,1188,1187,1,0,0,0,1189,113,1,0,0,0,1190,1191,5,179,0,0,1191,1203,7,6,0,0,1192,1194,5,115,0,0,1193,1192,1,0,0,0,1193,1194,1,0,0,0,1194,1195,1,0,0,0,1195,1200,3,318,159,0,1196,1197,5,271,0,0,1197,1199,3,318,159,0,1198,1196,1,0,0,0,1199,1202,1,0,0,0,1200,1198,1,0,0,0,1200,1201,1,0,0,0,1201,1204,1,0,0,0,1202,1200,1,0,0,0,1203,1193,1,0,0,0,1203,1204,1,0,0,0,1204,115,1,0,0,0,1205,1206,5,179,0,0,1206,1209,5,189,0,0,1207,1208,5,94,0,0,1208,1210,3,186,93,0,1209,1207,1,0,0,0,1209,1210,1,0,0,0,1210,1222,1,0,0,0,1211,1213,5,115,0,0,1212,1211,1,0,0,0,1212,1213,1,0,0,0,1213,1214,1,0,0,0,1214,1219,3,318,159,0,1215,1216,5,271,0,0,1216,1218,3,318,159,0,1217,1215,1,0,0,0,1218,1221,1,0,0,0,1219,1217,1,0,0,0,1219,1220,1,0,0,0,1220,1223,1,0,0,0,1221,1219,1,0,0,0,1222,1212,1,0,0,0,1222,1223,1,0,0,0,1223,117,1,0,0,0,1224,1226,5,179,0,0,1225,1227,7,7,0,0,1226,1225,1,0,0,0,1226,1227,1,0,0,0,1227,1228,1,0,0,0,1228,1231,5,85,0,0,1229,1230,5,94,0,0,1230,1232,3,184,92,0,1231,1229,1,0,0,0,1231,1232,1,0,0,0,1232,1244,1,0,0,0,1233,1235,5,115,0,0,1234,1233,1,0,0,0,1234,1235,1,0,0,0,1235,1236,1,0,0,0,1236,1241,3,318,159,0,1237,1238,5,271,0,0,1238,1240,3,318,159,0,1239,1237,1,0,0,0,1240,1243,1,0,0,0,1241,1239,1,0,0,0,1241,1242,1,0,0,0,1242,1245,1,0,0,0,1243,1241,1,0,0,0,1244,1234,1,0,0,0,1244,1245,1,0,0,0,1245,119,1,0,0,0,1246,1247,5,179,0,0,1247,1248,5,37,0,0,1248,1249,5,188,0,0,1249,1250,3,186,93,0,1250,121,1,0,0,0,1251,1252,5,179,0,0,1252,1253,5,37,0,0,1253,1254,5,212,0,0,1254,1255,3,188,94,0,1255,123,1,0,0,0,1256,1257,5,179,0,0,1257,1258,5,188,0,0,1258,1259,5,182,0,0,1259,1260,3,186,93,0,1260,125,1,0,0,0,1261,1262,5,179,0,0,1262,1263,5,32,0,0,1263,1264,5,182,0,0,1264,1265,3,186,93,0,1265,127,1,0,0,0,1266,1268,5,179,0,0,1267,1269,5,154,0,0,1268,1267,1,0,0,0,1268,1269,1,0,0,0,1269,1270,1,0,0,0,1270,1271,5,146,0,0,1271,1272,3,186,93,0,1272,129,1,0,0,0,1273,1274,5,179,0,0,1274,1275,5,73,0,0,1275,1276,5,94,0,0,1276,1286,3,186,93,0,1277,1278,5,145,0,0,1278,1279,5,265,0,0,1279,1282,3,308,154,0,1280,1281,5,263,0,0,1281,1283,3,308,154,0,1282,1280,1,0,0,0,1282,1283,1,0,0,0,1283,1284,1,0,0,0,1284,1285,5,266,0,0,1285,1287,1,0,0,0,1286,1277,1,0,0,0,1286,1287,1,0,0,0,1287,131,1,0,0,0,1288,1290,5,179,0,0,1289,1291,5,39,0,0,1290,1289,1,0,0,0,1290,1291,1,0,0,0,1291,1292,1,0,0,0,1292,1293,5,167,0,0,1293,133,1,0,0,0,1294,1295,5,179,0,0,1295,1296,5,166,0,0,1296,1297,5,86,0,0,1297,1298,5,87,0,0,1298,1299,3,362,181,0,1299,135,1,0,0,0,1300,1315,3,138,69,0,1301,1315,3,140,70,0,1302,1315,3,142,71,0,1303,1304,5,179,0,0,1304,1305,5,86,0,0,1305,1306,7,8,0,0,1306,1312,3,362,181,0,1307,1308,5,136,0,0,1308,1310,7,9,0,0,1309,1311,3,358,179,0,1310,1309,1,0,0,0,1310,1311,1,0,0,0,1311,1313,1,0,0,0,1312,1307,1,0,0,0,1312,1313,1,0,0,0,1313,1315,1,0,0,0,1314,1300,1,0,0,0,1314,1301,1,0,0,0,1314,1302,1,0,0,0,1314,1303,1,0,0,0,1315,137,1,0,0,0,1316,1317,5,179,0,0,1317,1318,5,86,0,0,1318,1319,7,8,0,0,1319,1325,3,362,181,0,1320,1321,5,136,0,0,1321,1323,5,46,0,0,1322,1324,3,184,92,0,1323,1322,1,0,0,0,1323,1324,1,0,0,0,1324,1326,1,0,0,0,1325,1320,1,0,0,0,1325,1326,1,0,0,0,1326,139,1,0,0,0,1327,1328,5,179,0,0,1328,1329,5,86,0,0,1329,1330,7,8,0,0,1330,1336,3,362,181,0,1331,1332,5,136,0,0,1332,1334,5,188,0,0,1333,1335,3,186,93,0,1334,1333,1,0,0,0,1334,1335,1,0,0,0,1335,1337,1,0,0,0,1336,1331,1,0,0,0,1336,1337,1,0,0,0,1337,141,1,0,0,0,1338,1339,5,179,0,0,1339,1340,5,86,0,0,1340,1341,7,8,0,0,1341,1347,3,362,181,0,1342,1343,5,136,0,0,1343,1345,5,32,0,0,1344,1346,3,192,96,0,1345,1344,1,0,0,0,1345,1346,1,0,0,0,1346,1348,1,0,0,0,1347,1342,1,0,0,0,1347,1348,1,0,0,0,1348,143,1,0,0,0,1349,1353,3,146,73,0,1350,1353,3,148,74,0,1351,1353,3,150,75,0,1352,1349,1,0,0,0,1352,1350,1,0,0,0,1352,1351,1,0,0,0,1353,145,1,0,0,0,1354,1355,5,34,0,0,1355,1356,5,136,0,0,1356,1357,5,46,0,0,1357,1358,3,184,92,0,1358,1361,5,108,0,0,1359,1362,3,318,159,0,1360,1362,5,133,0,0,1361,1359,1,0,0,0,1361,1360,1,0,0,0,1362,147,1,0,0,0,1363,1364,5,34,0,0,1364,1365,5,136,0,0,1365,1366,5,188,0,0,1366,1367,3,186,93,0,1367,1370,5,108,0,0,1368,1371,3,318,159,0,1369,1371,5,133,0,0,1370,1368,1,0,0,0,1370,1369,1,0,0,0,1371,149,1,0,0,0,1372,1373,5,34,0,0,1373,1374,5,136,0,0,1374,1375,5,32,0,0,1375,1376,3,192,96,0,1376,1379,5,108,0,0,1377,1380,3,318,159,0,1378,1380,5,133,0,0,1379,1377,1,0,0,0,1379,1378,1,0,0,0,1380,151,1,0,0,0,1381,1382,5,67,0,0,1382,1383,3,4,2,0,1383,153,1,0,0,0,1384,1390,5,176,0,0,1385,1391,5,2,0,0,1386,1387,3,362,181,0,1387,1388,5,249,0,0,1388,1389,3,308,154,0,1389,1391,1,0,0,0,1390,1385,1,0,0,0,1390,1386,1,0,0,0,1390,1391,1,0,0,0,1391,155,1,0,0,0,1392,1393,5,264,0,0,1393,1394,5,180,0,0,1394,1404,5,265,0,0,1395,1397,3,318,159,0,1396,1395,1,0,0,0,1396,1397,1,0,0,0,1397,1405,1,0,0,0,1398,1401,3,318,159,0,1399,1400,5,263,0,0,1400,1402,3,308,154,0,1401,1399,1,0,0,0,1401,1402,1,0,0,0,1402,1405,1,0,0,0,1403,1405,3,308,154,0,1404,1396,1,0,0,0,1404,1398,1,0,0,0,1404,1403,1,0,0,0,1405,1406,1,0,0,0,1406,1407,5,266,0,0,1407,157,1,0,0,0,1408,1409,5,107,0,0,1409,1410,5,121,0,0,1410,1411,3,186,93,0,1411,159,1,0,0,0,1412,1413,5,118,0,0,1413,1414,5,45,0,0,1414,1415,5,98,0,0,1415,1417,5,274,0,0,1416,1418,5,144,0,0,1417,1416,1,0,0,0,1417,1418,1,0,0,0,1418,1419,1,0,0,0,1419,1420,5,103,0,0,1420,1421,5,188,0,0,1421,1431,3,186,93,0,1422,1423,5,145,0,0,1423,1424,5,265,0,0,1424,1427,3,308,154,0,1425,1426,5,263,0,0,1426,1428,3,308,154,0,1427,1425,1,0,0,0,1427,1428,1,0,0,0,1428,1429,1,0,0,0,1429,1430,5,266,0,0,1430,1432,1,0,0,0,1431,1422,1,0,0,0,1431,1432,1,0,0,0,1432,161,1,0,0,0,1433,1437,3,164,82,0,1434,1437,3,166,83,0,1435,1437,3,168,84,0,1436,1433,1,0,0,0,1436,1434,1,0,0,0,1436,1435,1,0,0,0,1437,163,1,0,0,0,1438,1439,5,162,0,0,1439,1452,3,186,93,0,1440,1441,5,145,0,0,1441,1442,5,265,0,0,1442,1447,3,308,154,0,1443,1444,5,263,0,0,1444,1446,3,308,154,0,1445,1443,1,0,0,0,1446,1449,1,0,0,0,1447,1448,1,0,0,0,1447,1445,1,0,0,0,1448,1450,1,0,0,0,1449,1447,1,0,0,0,1450,1451,5,266,0,0,1451,1453,1,0,0,0,1452,1440,1,0,0,0,1452,1453,1,0,0,0,1453,165,1,0,0,0,1454,1455,5,162,0,0,1455,1456,5,13,0,0,1456,167,1,0,0,0,1457,1458,5,162,0,0,1458,1459,5,85,0,0,1459,1460,3,190,95,0,1460,169,1,0,0,0,1461,1462,5,93,0,0,1462,1463,5,66,0,0,1463,171,1,0,0,0,1464,1465,5,93,0,0,1465,1466,5,132,0,0,1466,1467,5,66,0,0,1467,173,1,0,0,0,1468,1469,3,358,179,0,1469,175,1,0,0,0,1470,1471,3,358,179,0,1471,177,1,0,0,0,1472,1473,3,358,179,0,1473,179,1,0,0,0,1474,1475,3,358,179,0,1475,181,1,0,0,0,1476,1477,3,358,179,0,1477,183,1,0,0,0,1478,1479,3,358,179,0,1479,185,1,0,0,0,1480,1485,3,362,181,0,1481,1482,5,261,0,0,1482,1484,3,362,181,0,1483,1481,1,0,0,0,1484,1487,1,0,0,0,1485,1483,1,0,0,0,1485,1486,1,0,0,0,1486,187,1,0,0,0,1487,1485,1,0,0,0,1488,1493,3,362,181,0,1489,1490,5,261,0,0,1490,1492,3,362,181,0,1491,1489,1,0,0,0,1492,1495,1,0,0,0,1493,1491,1,0,0,0,1493,1494,1,0,0,0,1494,189,1,0,0,0,1495,1493,1,0,0,0,1496,1499,3,366,183,0,1497,1499,3,358,179,0,1498,1496,1,0,0,0,1498,1497,1,0,0,0,1499,191,1,0,0,0,1500,1503,3,358,179,0,1501,1503,4,96,0,0,1502,1500,1,0,0,0,1502,1501,1,0,0,0,1503,193,1,0,0,0,1504,1507,3,186,93,0,1505,1507,3,188,94,0,1506,1504,1,0,0,0,1506,1505,1,0,0,0,1507,195,1,0,0,0,1508,1509,5,21,0,0,1509,1510,5,26,0,0,1510,1512,3,296,148,0,1511,1508,1,0,0,0,1511,1512,1,0,0,0,1512,1514,1,0,0,0,1513,1515,3,222,111,0,1514,1513,1,0,0,0,1514,1515,1,0,0,0,1515,1519,1,0,0,0,1516,1517,5,168,0,0,1517,1518,5,79,0,0,1518,1520,3,258,129,0,1519,1516,1,0,0,0,1519,1520,1,0,0,0,1520,1524,1,0,0,0,1521,1522,5,216,0,0,1522,1523,5,175,0,0,1523,1525,3,252,126,0,1524,1521,1,0,0,0,1524,1525,1,0,0,0,1525,1529,1,0,0,0,1526,1527,5,23,0,0,1527,1528,5,9,0,0,1528,1530,3,234,117,0,1529,1526,1,0,0,0,1529,1530,1,0,0,0,1530,1533,1,0,0,0,1531,1532,5,24,0,0,1532,1534,3,318,159,0,1533,1531,1,0,0,0,1533,1534,1,0,0,0,1534,1545,1,0,0,0,1535,1536,5,30,0,0,1536,1537,5,94,0,0,1537,1542,3,358,179,0,1538,1539,5,216,0,0,1539,1540,5,151,0,0,1540,1541,5,249,0,0,1541,1543,5,277,0,0,1542,1538,1,0,0,0,1542,1543,1,0,0,0,1543,1546,1,0,0,0,1544,1546,5,197,0,0,1545,1535,1,0,0,0,1545,1544,1,0,0,0,1545,1546,1,0,0,0,1546,1549,1,0,0,0,1547,1548,5,25,0,0,1548,1550,3,252,126,0,1549,1547,1,0,0,0,1549,1550,1,0,0,0,1550,197,1,0,0,0,1551,1556,3,200,100,0,1552,1553,5,263,0,0,1553,1555,3,200,100,0,1554,1552,1,0,0,0,1555,1558,1,0,0,0,1556,1554,1,0,0,0,1556,1557,1,0,0,0,1557,199,1,0,0,0,1558,1556,1,0,0,0,1559,1560,3,358,179,0,1560,1561,5,249,0,0,1561,1562,3,308,154,0,1562,201,1,0,0,0,1563,1565,5,265,0,0,1564,1566,3,204,102,0,1565,1564,1,0,0,0,1565,1566,1,0,0,0,1566,1573,1,0,0,0,1567,1569,5,263,0,0,1568,1570,3,204,102,0,1569,1568,1,0,0,0,1569,1570,1,0,0,0,1570,1572,1,0,0,0,1571,1567,1,0,0,0,1572,1575,1,0,0,0,1573,1571,1,0,0,0,1573,1574,1,0,0,0,1574,1576,1,0,0,0,1575,1573,1,0,0,0,1576,1577,5,266,0,0,1577,203,1,0,0,0,1578,1580,3,182,91,0,1579,1581,3,222,111,0,1580,1579,1,0,0,0,1580,1581,1,0,0,0,1581,205,1,0,0,0,1582,1584,3,208,104,0,1583,1582,1,0,0,0,1583,1584,1,0,0,0,1584,1585,1,0,0,0,1585,1586,3,262,131,0,1586,207,1,0,0,0,1587,1588,5,216,0,0,1588,1593,3,278,139,0,1589,1590,5,263,0,0,1590,1592,3,278,139,0,1591,1589,1,0,0,0,1592,1595,1,0,0,0,1593,1591,1,0,0,0,1593,1594,1,0,0,0,1594,209,1,0,0,0,1595,1593,1,0,0,0,1596,1597,5,150,0,0,1597,1598,5,110,0,0,1598,1600,3,296,148,0,1599,1601,5,53,0,0,1600,1599,1,0,0,0,1600,1601,1,0,0,0,1601,1605,1,0,0,0,1602,1606,5,225,0,0,1603,1604,5,263,0,0,1604,1606,5,225,0,0,1605,1602,1,0,0,0,1605,1603,1,0,0,0,1605,1606,1,0,0,0,1606,1610,1,0,0,0,1607,1611,5,226,0,0,1608,1609,5,263,0,0,1609,1611,5,226,0,0,1610,1607,1,0,0,0,1610,1608,1,0,0,0,1610,1611,1,0,0,0,1611,1624,1,0,0,0,1612,1613,5,263,0,0,1613,1616,3,212,106,0,1614,1616,3,212,106,0,1615,1612,1,0,0,0,1615,1614,1,0,0,0,1616,1621,1,0,0,0,1617,1618,5,263,0,0,1618,1620,3,212,106,0,1619,1617,1,0,0,0,1620,1623,1,0,0,0,1621,1622,1,0,0,0,1621,1619,1,0,0,0,1622,1625,1,0,0,0,1623,1621,1,0,0,0,1624,1615,1,0,0,0,1624,1625,1,0,0,0,1625,211,1,0,0,0,1626,1627,5,81,0,0,1627,1628,5,110,0,0,1628,1629,3,296,148,0,1629,1630,5,224,0,0,1630,1631,3,186,93,0,1631,1633,3,296,148,0,1632,1634,5,53,0,0,1633,1632,1,0,0,0,1633,1634,1,0,0,0,1634,1636,1,0,0,0,1635,1637,5,225,0,0,1636,1635,1,0,0,0,1636,1637,1,0,0,0,1637,1639,1,0,0,0,1638,1640,5,226,0,0,1639,1638,1,0,0,0,1639,1640,1,0,0,0,1640,213,1,0,0,0,1641,1642,3,192,96,0,1642,1645,3,332,166,0,1643,1644,5,34,0,0,1644,1646,3,318,159,0,1645,1643,1,0,0,0,1645,1646,1,0,0,0,1646,215,1,0,0,0,1647,1648,3,182,91,0,1648,1650,3,332,166,0,1649,1651,3,222,111,0,1650,1649,1,0,0,0,1650,1651,1,0,0,0,1651,217,1,0,0,0,1652,1653,3,220,110,0,1653,219,1,0,0,0,1654,1655,3,182,91,0,1655,1663,3,332,166,0,1656,1660,3,228,114,0,1657,1659,3,228,114,0,1658,1657,1,0,0,0,1659,1662,1,0,0,0,1660,1661,1,0,0,0,1660,1658,1,0,0,0,1661,1664,1,0,0,0,1662,1660,1,0,0,0,1663,1656,1,0,0,0,1663,1664,1,0,0,0,1664,1666,1,0,0,0,1665,1667,3,222,111,0,1666,1665,1,0,0,0,1666,1667,1,0,0,0,1667,1670,1,0,0,0,1668,1669,5,150,0,0,1669,1671,5,110,0,0,1670,1668,1,0,0,0,1670,1671,1,0,0,0,1671,221,1,0,0,0,1672,1673,5,34,0,0,1673,1674,3,318,159,0,1674,223,1,0,0,0,1675,1683,3,214,107,0,1676,1680,3,228,114,0,1677,1679,3,228,114,0,1678,1677,1,0,0,0,1679,1682,1,0,0,0,1680,1681,1,0,0,0,1680,1678,1,0,0,0,1681,1684,1,0,0,0,1682,1680,1,0,0,0,1683,1676,1,0,0,0,1683,1684,1,0,0,0,1684,225,1,0,0,0,1685,1686,3,182,91,0,1686,1689,3,332,166,0,1687,1688,5,34,0,0,1688,1690,3,318,159,0,1689,1687,1,0,0,0,1689,1690,1,0,0,0,1690,1698,1,0,0,0,1691,1695,3,228,114,0,1692,1694,3,228,114,0,1693,1692,1,0,0,0,1694,1697,1,0,0,0,1695,1696,1,0,0,0,1695,1693,1,0,0,0,1696,1699,1,0,0,0,1697,1695,1,0,0,0,1698,1691,1,0,0,0,1698,1699,1,0,0,0,1699,227,1,0,0,0,1700,1702,5,132,0,0,1701,1700,1,0,0,0,1701,1702,1,0,0,0,1702,1703,1,0,0,0,1703,1706,5,133,0,0,1704,1706,3,230,115,0,1705,1701,1,0,0,0,1705,1704,1,0,0,0,1706,229,1,0,0,0,1707,1708,5,60,0,0,1708,1716,3,308,154,0,1709,1710,5,35,0,0,1710,1716,3,308,154,0,1711,1712,5,51,0,0,1712,1716,3,308,154,0,1713,1714,5,16,0,0,1714,1716,3,364,182,0,1715,1707,1,0,0,0,1715,1709,1,0,0,0,1715,1711,1,0,0,0,1715,1713,1,0,0,0,1716,231,1,0,0,0,1717,1718,7,10,0,0,1718,233,1,0,0,0,1719,1720,7,11,0,0,1720,235,1,0,0,0,1721,1726,3,238,119,0,1722,1723,5,263,0,0,1723,1725,3,238,119,0,1724,1722,1,0,0,0,1725,1728,1,0,0,0,1726,1727,1,0,0,0,1726,1724,1,0,0,0,1727,1731,1,0,0,0,1728,1726,1,0,0,0,1729,1730,5,263,0,0,1730,1732,3,240,120,0,1731,1729,1,0,0,0,1731,1732,1,0,0,0,1732,1735,1,0,0,0,1733,1735,3,240,120,0,1734,1721,1,0,0,0,1734,1733,1,0,0,0,1735,237,1,0,0,0,1736,1738,5,89,0,0,1737,1739,3,296,148,0,1738,1737,1,0,0,0,1738,1739,1,0,0,0,1739,1740,1,0,0,0,1740,1741,5,146,0,0,1741,1742,3,364,182,0,1742,239,1,0,0,0,1743,1745,5,154,0,0,1744,1746,3,296,148,0,1745,1744,1,0,0,0,1745,1746,1,0,0,0,1746,1747,1,0,0,0,1747,1748,5,265,0,0,1748,1749,5,145,0,0,1749,1755,3,242,121,0,1750,1751,5,263,0,0,1751,1752,5,145,0,0,1752,1754,3,242,121,0,1753,1750,1,0,0,0,1754,1757,1,0,0,0,1755,1756,1,0,0,0,1755,1753,1,0,0,0,1756,1758,1,0,0,0,1757,1755,1,0,0,0,1758,1759,5,266,0,0,1759,241,1,0,0,0,1760,1761,5,210,0,0,1761,1762,3,248,124,0,1762,1763,3,308,154,0,1763,1776,1,0,0,0,1764,1765,3,308,154,0,1765,1766,3,246,123,0,1766,1768,1,0,0,0,1767,1764,1,0,0,0,1767,1768,1,0,0,0,1768,1769,1,0,0,0,1769,1773,5,211,0,0,1770,1771,3,246,123,0,1771,1772,3,308,154,0,1772,1774,1,0,0,0,1773,1770,1,0,0,0,1773,1774,1,0,0,0,1774,1776,1,0,0,0,1775,1760,1,0,0,0,1775,1767,1,0,0,0,1776,243,1,0,0,0,1777,1778,5,30,0,0,1778,1779,5,94,0,0,1779,1784,3,362,181,0,1780,1781,5,216,0,0,1781,1782,5,151,0,0,1782,1783,5,249,0,0,1783,1785,3,364,182,0,1784,1780,1,0,0,0,1784,1785,1,0,0,0,1785,1788,1,0,0,0,1786,1788,5,197,0,0,1787,1777,1,0,0,0,1787,1786,1,0,0,0,1788,245,1,0,0,0,1789,1795,1,0,0,0,1790,1795,5,251,0,0,1791,1795,5,252,0,0,1792,1795,5,253,0,0,1793,1795,5,254,0,0,1794,1789,1,0,0,0,1794,1790,1,0,0,0,1794,1791,1,0,0,0,1794,1792,1,0,0,0,1794,1793,1,0,0,0,1795,247,1,0,0,0,1796,1805,5,249,0,0,1797,1805,5,250,0,0,1798,1805,5,115,0,0,1799,1805,5,164,0,0,1800,1805,5,163,0,0,1801,1805,5,15,0,0,1802,1805,5,94,0,0,1803,1805,3,246,123,0,1804,1796,1,0,0,0,1804,1797,1,0,0,0,1804,1798,1,0,0,0,1804,1799,1,0,0,0,1804,1800,1,0,0,0,1804,1801,1,0,0,0,1804,1802,1,0,0,0,1804,1803,1,0,0,0,1805,249,1,0,0,0,1806,1807,5,115,0,0,1807,1810,3,358,179,0,1808,1809,7,12,0,0,1809,1811,5,153,0,0,1810,1808,1,0,0,0,1810,1811,1,0,0,0,1811,251,1,0,0,0,1812,1813,5,265,0,0,1813,1818,3,260,130,0,1814,1815,5,263,0,0,1815,1817,3,260,130,0,1816,1814,1,0,0,0,1817,1820,1,0,0,0,1818,1816,1,0,0,0,1818,1819,1,0,0,0,1819,1821,1,0,0,0,1820,1818,1,0,0,0,1821,1822,5,266,0,0,1822,253,1,0,0,0,1823,1824,5,265,0,0,1824,1829,3,214,107,0,1825,1826,5,263,0,0,1826,1828,3,214,107,0,1827,1825,1,0,0,0,1828,1831,1,0,0,0,1829,1830,1,0,0,0,1829,1827,1,0,0,0,1830,1832,1,0,0,0,1831,1829,1,0,0,0,1832,1833,5,266,0,0,1833,255,1,0,0,0,1834,1839,3,308,154,0,1835,1836,5,263,0,0,1836,1838,3,308,154,0,1837,1835,1,0,0,0,1838,1841,1,0,0,0,1839,1837,1,0,0,0,1839,1840,1,0,0,0,1840,257,1,0,0,0,1841,1839,1,0,0,0,1842,1852,5,52,0,0,1843,1844,5,71,0,0,1844,1845,5,191,0,0,1845,1846,5,26,0,0,1846,1850,3,318,159,0,1847,1848,5,63,0,0,1848,1849,5,26,0,0,1849,1851,3,318,159,0,1850,1847,1,0,0,0,1850,1851,1,0,0,0,1851,1853,1,0,0,0,1852,1843,1,0,0,0,1852,1853,1,0,0,0,1853,1858,1,0,0,0,1854,1855,5,117,0,0,1855,1856,5,191,0,0,1856,1857,5,26,0,0,1857,1859,3,318,159,0,1858,1854,1,0,0,0,1858,1859,1,0,0,0,1859,259,1,0,0,0,1860,1863,3,362,181,0,1861,1862,5,249,0,0,1862,1864,3,308,154,0,1863,1861,1,0,0,0,1863,1864,1,0,0,0,1864,261,1,0,0,0,1865,1876,3,264,132,0,1866,1867,5,139,0,0,1867,1868,5,26,0,0,1868,1873,3,268,134,0,1869,1870,5,263,0,0,1870,1872,3,268,134,0,1871,1869,1,0,0,0,1872,1875,1,0,0,0,1873,1871,1,0,0,0,1873,1874,1,0,0,0,1874,1877,1,0,0,0,1875,1873,1,0,0,0,1876,1866,1,0,0,0,1876,1877,1,0,0,0,1877,1884,1,0,0,0,1878,1879,5,116,0,0,1879,1882,3,308,154,0,1880,1881,5,135,0,0,1881,1883,5,277,0,0,1882,1880,1,0,0,0,1882,1883,1,0,0,0,1883,1885,1,0,0,0,1884,1878,1,0,0,0,1884,1885,1,0,0,0,1885,263,1,0,0,0,1886,1887,6,132,-1,0,1887,1888,3,266,133,0,1888,1903,1,0,0,0,1889,1890,10,2,0,0,1890,1892,5,100,0,0,1891,1893,3,280,140,0,1892,1891,1,0,0,0,1892,1893,1,0,0,0,1893,1894,1,0,0,0,1894,1902,3,264,132,3,1895,1896,10,1,0,0,1896,1898,7,13,0,0,1897,1899,3,280,140,0,1898,1897,1,0,0,0,1898,1899,1,0,0,0,1899,1900,1,0,0,0,1900,1902,3,264,132,2,1901,1889,1,0,0,0,1901,1895,1,0,0,0,1902,1905,1,0,0,0,1903,1901,1,0,0,0,1903,1904,1,0,0,0,1904,265,1,0,0,0,1905,1903,1,0,0,0,1906,1923,3,270,135,0,1907,1908,5,188,0,0,1908,1923,3,186,93,0,1909,1910,5,211,0,0,1910,1915,3,308,154,0,1911,1912,5,263,0,0,1912,1914,3,308,154,0,1913,1911,1,0,0,0,1914,1917,1,0,0,0,1915,1913,1,0,0,0,1915,1916,1,0,0,0,1916,1923,1,0,0,0,1917,1915,1,0,0,0,1918,1919,5,265,0,0,1919,1920,3,262,131,0,1920,1921,5,266,0,0,1921,1923,1,0,0,0,1922,1906,1,0,0,0,1922,1907,1,0,0,0,1922,1909,1,0,0,0,1922,1918,1,0,0,0,1923,267,1,0,0,0,1924,1926,3,306,153,0,1925,1927,7,14,0,0,1926,1925,1,0,0,0,1926,1927,1,0,0,0,1927,1930,1,0,0,0,1928,1929,5,134,0,0,1929,1931,7,15,0,0,1930,1928,1,0,0,0,1930,1931,1,0,0,0,1931,269,1,0,0,0,1932,1934,5,174,0,0,1933,1935,3,280,140,0,1934,1933,1,0,0,0,1934,1935,1,0,0,0,1935,1937,1,0,0,0,1936,1938,5,183,0,0,1937,1936,1,0,0,0,1937,1938,1,0,0,0,1938,1939,1,0,0,0,1939,1944,3,282,141,0,1940,1941,5,263,0,0,1941,1943,3,282,141,0,1942,1940,1,0,0,0,1943,1946,1,0,0,0,1944,1942,1,0,0,0,1944,1945,1,0,0,0,1945,1956,1,0,0,0,1946,1944,1,0,0,0,1947,1948,5,82,0,0,1948,1953,3,284,142,0,1949,1950,5,263,0,0,1950,1952,3,284,142,0,1951,1949,1,0,0,0,1952,1955,1,0,0,0,1953,1951,1,0,0,0,1953,1954,1,0,0,0,1954,1957,1,0,0,0,1955,1953,1,0,0,0,1956,1947,1,0,0,0,1956,1957,1,0,0,0,1957,1960,1,0,0,0,1958,1959,5,215,0,0,1959,1961,3,310,155,0,1960,1958,1,0,0,0,1960,1961,1,0,0,0,1961,1965,1,0,0,0,1962,1963,5,87,0,0,1963,1964,5,26,0,0,1964,1966,3,272,136,0,1965,1962,1,0,0,0,1965,1966,1,0,0,0,1966,1969,1,0,0,0,1967,1968,5,90,0,0,1968,1970,3,310,155,0,1969,1967,1,0,0,0,1969,1970,1,0,0,0,1970,271,1,0,0,0,1971,1973,3,280,140,0,1972,1971,1,0,0,0,1972,1973,1,0,0,0,1973,1974,1,0,0,0,1974,1979,3,274,137,0,1975,1976,5,263,0,0,1976,1978,3,274,137,0,1977,1975,1,0,0,0,1978,1981,1,0,0,0,1979,1977,1,0,0,0,1979,1980,1,0,0,0,1980,273,1,0,0,0,1981,1979,1,0,0,0,1982,1983,3,276,138,0,1983,275,1,0,0,0,1984,1993,5,265,0,0,1985,1990,3,306,153,0,1986,1987,5,263,0,0,1987,1989,3,306,153,0,1988,1986,1,0,0,0,1989,1992,1,0,0,0,1990,1988,1,0,0,0,1990,1991,1,0,0,0,1991,1994,1,0,0,0,1992,1990,1,0,0,0,1993,1985,1,0,0,0,1993,1994,1,0,0,0,1994,1995,1,0,0,0,1995,1998,5,266,0,0,1996,1998,3,306,153,0,1997,1984,1,0,0,0,1997,1996,1,0,0,0,1998,277,1,0,0,0,1999,2001,3,362,181,0,2e3,2002,3,296,148,0,2001,2e3,1,0,0,0,2001,2002,1,0,0,0,2002,2003,1,0,0,0,2003,2004,5,9,0,0,2004,2005,3,300,150,0,2005,279,1,0,0,0,2006,2007,7,16,0,0,2007,281,1,0,0,0,2008,2013,3,306,153,0,2009,2011,5,9,0,0,2010,2009,1,0,0,0,2010,2011,1,0,0,0,2011,2012,1,0,0,0,2012,2014,3,362,181,0,2013,2010,1,0,0,0,2013,2014,1,0,0,0,2014,2021,1,0,0,0,2015,2016,3,358,179,0,2016,2017,5,261,0,0,2017,2018,5,257,0,0,2018,2021,1,0,0,0,2019,2021,5,257,0,0,2020,2008,1,0,0,0,2020,2015,1,0,0,0,2020,2019,1,0,0,0,2021,283,1,0,0,0,2022,2023,6,142,-1,0,2023,2024,3,290,145,0,2024,2038,1,0,0,0,2025,2034,10,2,0,0,2026,2027,5,38,0,0,2027,2028,5,109,0,0,2028,2035,3,290,145,0,2029,2030,3,286,143,0,2030,2031,5,109,0,0,2031,2032,3,284,142,0,2032,2033,3,288,144,0,2033,2035,1,0,0,0,2034,2026,1,0,0,0,2034,2029,1,0,0,0,2035,2037,1,0,0,0,2036,2025,1,0,0,0,2037,2040,1,0,0,0,2038,2036,1,0,0,0,2038,2039,1,0,0,0,2039,285,1,0,0,0,2040,2038,1,0,0,0,2041,2043,5,97,0,0,2042,2041,1,0,0,0,2042,2043,1,0,0,0,2043,2073,1,0,0,0,2044,2046,5,114,0,0,2045,2047,5,97,0,0,2046,2045,1,0,0,0,2046,2047,1,0,0,0,2047,2073,1,0,0,0,2048,2050,5,165,0,0,2049,2051,5,97,0,0,2050,2049,1,0,0,0,2050,2051,1,0,0,0,2051,2073,1,0,0,0,2052,2054,5,114,0,0,2053,2055,5,141,0,0,2054,2053,1,0,0,0,2054,2055,1,0,0,0,2055,2073,1,0,0,0,2056,2058,5,165,0,0,2057,2059,5,141,0,0,2058,2057,1,0,0,0,2058,2059,1,0,0,0,2059,2073,1,0,0,0,2060,2062,5,83,0,0,2061,2063,5,141,0,0,2062,2061,1,0,0,0,2062,2063,1,0,0,0,2063,2073,1,0,0,0,2064,2065,5,114,0,0,2065,2073,5,177,0,0,2066,2067,5,165,0,0,2067,2073,5,177,0,0,2068,2069,5,114,0,0,2069,2073,5,7,0,0,2070,2071,5,165,0,0,2071,2073,5,7,0,0,2072,2042,1,0,0,0,2072,2044,1,0,0,0,2072,2048,1,0,0,0,2072,2052,1,0,0,0,2072,2056,1,0,0,0,2072,2060,1,0,0,0,2072,2064,1,0,0,0,2072,2066,1,0,0,0,2072,2068,1,0,0,0,2072,2070,1,0,0,0,2073,287,1,0,0,0,2074,2075,5,136,0,0,2075,2089,3,310,155,0,2076,2077,5,205,0,0,2077,2078,5,265,0,0,2078,2083,3,362,181,0,2079,2080,5,263,0,0,2080,2082,3,362,181,0,2081,2079,1,0,0,0,2082,2085,1,0,0,0,2083,2081,1,0,0,0,2083,2084,1,0,0,0,2084,2086,1,0,0,0,2085,2083,1,0,0,0,2086,2087,5,266,0,0,2087,2089,1,0,0,0,2088,2074,1,0,0,0,2088,2076,1,0,0,0,2089,289,1,0,0,0,2090,2103,3,294,147,0,2091,2092,5,190,0,0,2092,2093,3,292,146,0,2093,2094,5,265,0,0,2094,2095,3,308,154,0,2095,2101,5,266,0,0,2096,2097,5,157,0,0,2097,2098,5,265,0,0,2098,2099,3,308,154,0,2099,2100,5,266,0,0,2100,2102,1,0,0,0,2101,2096,1,0,0,0,2101,2102,1,0,0,0,2102,2104,1,0,0,0,2103,2091,1,0,0,0,2103,2104,1,0,0,0,2104,291,1,0,0,0,2105,2106,7,17,0,0,2106,293,1,0,0,0,2107,2115,3,298,149,0,2108,2110,5,9,0,0,2109,2108,1,0,0,0,2109,2110,1,0,0,0,2110,2111,1,0,0,0,2111,2113,3,362,181,0,2112,2114,3,296,148,0,2113,2112,1,0,0,0,2113,2114,1,0,0,0,2114,2116,1,0,0,0,2115,2109,1,0,0,0,2115,2116,1,0,0,0,2116,295,1,0,0,0,2117,2118,5,265,0,0,2118,2123,3,192,96,0,2119,2120,5,263,0,0,2120,2122,3,192,96,0,2121,2119,1,0,0,0,2122,2125,1,0,0,0,2123,2121,1,0,0,0,2123,2124,1,0,0,0,2124,2126,1,0,0,0,2125,2123,1,0,0,0,2126,2127,5,266,0,0,2127,297,1,0,0,0,2128,2136,3,194,97,0,2129,2131,5,113,0,0,2130,2129,1,0,0,0,2130,2131,1,0,0,0,2131,2132,1,0,0,0,2132,2136,3,300,150,0,2133,2136,3,302,151,0,2134,2136,3,304,152,0,2135,2128,1,0,0,0,2135,2130,1,0,0,0,2135,2133,1,0,0,0,2135,2134,1,0,0,0,2136,299,1,0,0,0,2137,2138,5,265,0,0,2138,2139,3,206,103,0,2139,2140,5,266,0,0,2140,301,1,0,0,0,2141,2142,5,201,0,0,2142,2143,5,265,0,0,2143,2148,3,308,154,0,2144,2145,5,263,0,0,2145,2147,3,308,154,0,2146,2144,1,0,0,0,2147,2150,1,0,0,0,2148,2146,1,0,0,0,2148,2149,1,0,0,0,2149,2151,1,0,0,0,2150,2148,1,0,0,0,2151,2154,5,266,0,0,2152,2153,5,216,0,0,2153,2155,5,140,0,0,2154,2152,1,0,0,0,2154,2155,1,0,0,0,2155,303,1,0,0,0,2156,2157,5,265,0,0,2157,2158,3,284,142,0,2158,2159,5,266,0,0,2159,305,1,0,0,0,2160,2163,3,192,96,0,2161,2163,3,308,154,0,2162,2160,1,0,0,0,2162,2161,1,0,0,0,2163,307,1,0,0,0,2164,2165,3,310,155,0,2165,309,1,0,0,0,2166,2167,6,155,-1,0,2167,2169,3,314,157,0,2168,2170,3,312,156,0,2169,2168,1,0,0,0,2169,2170,1,0,0,0,2170,2174,1,0,0,0,2171,2172,5,132,0,0,2172,2174,3,310,155,3,2173,2166,1,0,0,0,2173,2171,1,0,0,0,2174,2183,1,0,0,0,2175,2176,10,2,0,0,2176,2177,5,5,0,0,2177,2182,3,310,155,3,2178,2179,10,1,0,0,2179,2180,5,138,0,0,2180,2182,3,310,155,2,2181,2175,1,0,0,0,2181,2178,1,0,0,0,2182,2185,1,0,0,0,2183,2181,1,0,0,0,2183,2184,1,0,0,0,2184,311,1,0,0,0,2185,2183,1,0,0,0,2186,2187,3,320,160,0,2187,2188,3,314,157,0,2188,2245,1,0,0,0,2189,2190,3,320,160,0,2190,2191,3,322,161,0,2191,2192,3,300,150,0,2192,2245,1,0,0,0,2193,2195,5,132,0,0,2194,2193,1,0,0,0,2194,2195,1,0,0,0,2195,2196,1,0,0,0,2196,2197,5,15,0,0,2197,2198,3,314,157,0,2198,2199,5,5,0,0,2199,2200,3,314,157,0,2200,2245,1,0,0,0,2201,2203,5,132,0,0,2202,2201,1,0,0,0,2202,2203,1,0,0,0,2203,2204,1,0,0,0,2204,2205,5,94,0,0,2205,2206,5,265,0,0,2206,2211,3,308,154,0,2207,2208,5,263,0,0,2208,2210,3,308,154,0,2209,2207,1,0,0,0,2210,2213,1,0,0,0,2211,2209,1,0,0,0,2211,2212,1,0,0,0,2212,2214,1,0,0,0,2213,2211,1,0,0,0,2214,2215,5,266,0,0,2215,2245,1,0,0,0,2216,2218,5,132,0,0,2217,2216,1,0,0,0,2217,2218,1,0,0,0,2218,2219,1,0,0,0,2219,2220,5,94,0,0,2220,2245,3,300,150,0,2221,2223,5,132,0,0,2222,2221,1,0,0,0,2222,2223,1,0,0,0,2223,2224,1,0,0,0,2224,2225,7,18,0,0,2225,2228,3,314,157,0,2226,2227,5,62,0,0,2227,2229,3,314,157,0,2228,2226,1,0,0,0,2228,2229,1,0,0,0,2229,2245,1,0,0,0,2230,2231,7,19,0,0,2231,2245,3,314,157,0,2232,2234,5,108,0,0,2233,2235,5,132,0,0,2234,2233,1,0,0,0,2234,2235,1,0,0,0,2235,2236,1,0,0,0,2236,2245,7,20,0,0,2237,2239,5,108,0,0,2238,2240,5,132,0,0,2239,2238,1,0,0,0,2239,2240,1,0,0,0,2240,2241,1,0,0,0,2241,2242,5,57,0,0,2242,2243,5,82,0,0,2243,2245,3,314,157,0,2244,2186,1,0,0,0,2244,2189,1,0,0,0,2244,2194,1,0,0,0,2244,2202,1,0,0,0,2244,2217,1,0,0,0,2244,2222,1,0,0,0,2244,2230,1,0,0,0,2244,2232,1,0,0,0,2244,2237,1,0,0,0,2245,313,1,0,0,0,2246,2247,6,157,-1,0,2247,2251,3,316,158,0,2248,2249,7,21,0,0,2249,2251,3,314,157,4,2250,2246,1,0,0,0,2250,2248,1,0,0,0,2251,2263,1,0,0,0,2252,2253,10,3,0,0,2253,2254,7,22,0,0,2254,2262,3,314,157,4,2255,2256,10,2,0,0,2256,2257,7,21,0,0,2257,2262,3,314,157,3,2258,2259,10,1,0,0,2259,2260,5,260,0,0,2260,2262,3,314,157,2,2261,2252,1,0,0,0,2261,2255,1,0,0,0,2261,2258,1,0,0,0,2262,2265,1,0,0,0,2263,2261,1,0,0,0,2263,2264,1,0,0,0,2264,315,1,0,0,0,2265,2263,1,0,0,0,2266,2267,6,158,-1,0,2267,2513,5,133,0,0,2268,2513,3,326,163,0,2269,2270,3,362,181,0,2270,2271,3,318,159,0,2271,2513,1,0,0,0,2272,2273,5,286,0,0,2273,2513,3,318,159,0,2274,2513,3,364,182,0,2275,2513,3,324,162,0,2276,2513,3,318,159,0,2277,2513,5,276,0,0,2278,2513,5,272,0,0,2279,2280,5,148,0,0,2280,2281,5,265,0,0,2281,2282,3,314,157,0,2282,2283,5,94,0,0,2283,2284,3,314,157,0,2284,2285,5,266,0,0,2285,2513,1,0,0,0,2286,2287,5,265,0,0,2287,2290,3,308,154,0,2288,2289,5,9,0,0,2289,2291,3,332,166,0,2290,2288,1,0,0,0,2290,2291,1,0,0,0,2291,2300,1,0,0,0,2292,2293,5,263,0,0,2293,2296,3,308,154,0,2294,2295,5,9,0,0,2295,2297,3,332,166,0,2296,2294,1,0,0,0,2296,2297,1,0,0,0,2297,2299,1,0,0,0,2298,2292,1,0,0,0,2299,2302,1,0,0,0,2300,2301,1,0,0,0,2300,2298,1,0,0,0,2301,2303,1,0,0,0,2302,2300,1,0,0,0,2303,2304,5,266,0,0,2304,2513,1,0,0,0,2305,2306,5,168,0,0,2306,2307,5,265,0,0,2307,2312,3,308,154,0,2308,2309,5,263,0,0,2309,2311,3,308,154,0,2310,2308,1,0,0,0,2311,2314,1,0,0,0,2312,2310,1,0,0,0,2312,2313,1,0,0,0,2313,2315,1,0,0,0,2314,2312,1,0,0,0,2315,2316,5,266,0,0,2316,2513,1,0,0,0,2317,2318,3,190,95,0,2318,2319,5,265,0,0,2319,2320,5,257,0,0,2320,2322,5,266,0,0,2321,2323,3,342,171,0,2322,2321,1,0,0,0,2322,2323,1,0,0,0,2323,2325,1,0,0,0,2324,2326,3,344,172,0,2325,2324,1,0,0,0,2325,2326,1,0,0,0,2326,2513,1,0,0,0,2327,2328,3,190,95,0,2328,2340,5,265,0,0,2329,2331,3,280,140,0,2330,2329,1,0,0,0,2330,2331,1,0,0,0,2331,2332,1,0,0,0,2332,2337,3,308,154,0,2333,2334,5,263,0,0,2334,2336,3,308,154,0,2335,2333,1,0,0,0,2336,2339,1,0,0,0,2337,2335,1,0,0,0,2337,2338,1,0,0,0,2338,2341,1,0,0,0,2339,2337,1,0,0,0,2340,2330,1,0,0,0,2340,2341,1,0,0,0,2341,2352,1,0,0,0,2342,2343,5,139,0,0,2343,2344,5,26,0,0,2344,2349,3,268,134,0,2345,2346,5,263,0,0,2346,2348,3,268,134,0,2347,2345,1,0,0,0,2348,2351,1,0,0,0,2349,2347,1,0,0,0,2349,2350,1,0,0,0,2350,2353,1,0,0,0,2351,2349,1,0,0,0,2352,2342,1,0,0,0,2352,2353,1,0,0,0,2353,2354,1,0,0,0,2354,2356,5,266,0,0,2355,2357,3,342,171,0,2356,2355,1,0,0,0,2356,2357,1,0,0,0,2357,2359,1,0,0,0,2358,2360,3,344,172,0,2359,2358,1,0,0,0,2359,2360,1,0,0,0,2360,2513,1,0,0,0,2361,2362,3,362,181,0,2362,2363,5,273,0,0,2363,2364,3,308,154,0,2364,2513,1,0,0,0,2365,2374,5,265,0,0,2366,2371,3,362,181,0,2367,2368,5,263,0,0,2368,2370,3,362,181,0,2369,2367,1,0,0,0,2370,2373,1,0,0,0,2371,2369,1,0,0,0,2371,2372,1,0,0,0,2372,2375,1,0,0,0,2373,2371,1,0,0,0,2374,2366,1,0,0,0,2374,2375,1,0,0,0,2375,2376,1,0,0,0,2376,2377,5,266,0,0,2377,2378,5,273,0,0,2378,2513,3,308,154,0,2379,2380,5,265,0,0,2380,2381,3,206,103,0,2381,2382,5,266,0,0,2382,2513,1,0,0,0,2383,2384,5,66,0,0,2384,2385,5,265,0,0,2385,2386,3,206,103,0,2386,2387,5,266,0,0,2387,2513,1,0,0,0,2388,2389,5,28,0,0,2389,2391,3,314,157,0,2390,2392,3,340,170,0,2391,2390,1,0,0,0,2392,2393,1,0,0,0,2393,2391,1,0,0,0,2393,2394,1,0,0,0,2394,2397,1,0,0,0,2395,2396,5,59,0,0,2396,2398,3,308,154,0,2397,2395,1,0,0,0,2397,2398,1,0,0,0,2398,2399,1,0,0,0,2399,2400,5,61,0,0,2400,2513,1,0,0,0,2401,2403,5,28,0,0,2402,2404,3,340,170,0,2403,2402,1,0,0,0,2404,2405,1,0,0,0,2405,2403,1,0,0,0,2405,2406,1,0,0,0,2406,2409,1,0,0,0,2407,2408,5,59,0,0,2408,2410,3,308,154,0,2409,2407,1,0,0,0,2409,2410,1,0,0,0,2410,2411,1,0,0,0,2411,2412,5,61,0,0,2412,2513,1,0,0,0,2413,2414,5,29,0,0,2414,2415,5,265,0,0,2415,2416,3,308,154,0,2416,2417,5,9,0,0,2417,2418,3,332,166,0,2418,2419,5,266,0,0,2419,2513,1,0,0,0,2420,2421,5,195,0,0,2421,2422,5,265,0,0,2422,2423,3,308,154,0,2423,2424,5,9,0,0,2424,2425,3,332,166,0,2425,2426,5,266,0,0,2426,2513,1,0,0,0,2427,2428,5,8,0,0,2428,2437,5,267,0,0,2429,2434,3,308,154,0,2430,2431,5,263,0,0,2431,2433,3,308,154,0,2432,2430,1,0,0,0,2433,2436,1,0,0,0,2434,2432,1,0,0,0,2434,2435,1,0,0,0,2435,2438,1,0,0,0,2436,2434,1,0,0,0,2437,2429,1,0,0,0,2437,2438,1,0,0,0,2438,2439,1,0,0,0,2439,2513,5,268,0,0,2440,2513,3,362,181,0,2441,2513,5,40,0,0,2442,2446,5,42,0,0,2443,2444,5,265,0,0,2444,2445,5,277,0,0,2445,2447,5,266,0,0,2446,2443,1,0,0,0,2446,2447,1,0,0,0,2447,2513,1,0,0,0,2448,2452,5,43,0,0,2449,2450,5,265,0,0,2450,2451,5,277,0,0,2451,2453,5,266,0,0,2452,2449,1,0,0,0,2452,2453,1,0,0,0,2453,2513,1,0,0,0,2454,2458,5,119,0,0,2455,2456,5,265,0,0,2456,2457,5,277,0,0,2457,2459,5,266,0,0,2458,2455,1,0,0,0,2458,2459,1,0,0,0,2459,2513,1,0,0,0,2460,2464,5,120,0,0,2461,2462,5,265,0,0,2462,2463,5,277,0,0,2463,2465,5,266,0,0,2464,2461,1,0,0,0,2464,2465,1,0,0,0,2465,2513,1,0,0,0,2466,2513,5,44,0,0,2467,2513,5,41,0,0,2468,2469,5,184,0,0,2469,2470,5,265,0,0,2470,2471,3,314,157,0,2471,2472,5,82,0,0,2472,2475,3,314,157,0,2473,2474,5,78,0,0,2474,2476,3,314,157,0,2475,2473,1,0,0,0,2475,2476,1,0,0,0,2476,2477,1,0,0,0,2477,2478,5,266,0,0,2478,2513,1,0,0,0,2479,2480,5,131,0,0,2480,2481,5,265,0,0,2481,2484,3,314,157,0,2482,2483,5,263,0,0,2483,2485,3,330,165,0,2484,2482,1,0,0,0,2484,2485,1,0,0,0,2485,2486,1,0,0,0,2486,2487,5,266,0,0,2487,2513,1,0,0,0,2488,2489,5,68,0,0,2489,2490,5,265,0,0,2490,2491,3,362,181,0,2491,2492,5,82,0,0,2492,2493,3,314,157,0,2493,2494,5,266,0,0,2494,2513,1,0,0,0,2495,2496,5,265,0,0,2496,2497,3,308,154,0,2497,2498,5,266,0,0,2498,2513,1,0,0,0,2499,2500,5,88,0,0,2500,2509,5,265,0,0,2501,2506,3,358,179,0,2502,2503,5,263,0,0,2503,2505,3,358,179,0,2504,2502,1,0,0,0,2505,2508,1,0,0,0,2506,2504,1,0,0,0,2506,2507,1,0,0,0,2507,2510,1,0,0,0,2508,2506,1,0,0,0,2509,2501,1,0,0,0,2509,2510,1,0,0,0,2510,2511,1,0,0,0,2511,2513,5,266,0,0,2512,2266,1,0,0,0,2512,2268,1,0,0,0,2512,2269,1,0,0,0,2512,2272,1,0,0,0,2512,2274,1,0,0,0,2512,2275,1,0,0,0,2512,2276,1,0,0,0,2512,2277,1,0,0,0,2512,2278,1,0,0,0,2512,2279,1,0,0,0,2512,2286,1,0,0,0,2512,2305,1,0,0,0,2512,2317,1,0,0,0,2512,2327,1,0,0,0,2512,2361,1,0,0,0,2512,2365,1,0,0,0,2512,2379,1,0,0,0,2512,2383,1,0,0,0,2512,2388,1,0,0,0,2512,2401,1,0,0,0,2512,2413,1,0,0,0,2512,2420,1,0,0,0,2512,2427,1,0,0,0,2512,2440,1,0,0,0,2512,2441,1,0,0,0,2512,2442,1,0,0,0,2512,2448,1,0,0,0,2512,2454,1,0,0,0,2512,2460,1,0,0,0,2512,2466,1,0,0,0,2512,2467,1,0,0,0,2512,2468,1,0,0,0,2512,2479,1,0,0,0,2512,2488,1,0,0,0,2512,2495,1,0,0,0,2512,2499,1,0,0,0,2513,2524,1,0,0,0,2514,2515,10,15,0,0,2515,2516,5,267,0,0,2516,2517,3,314,157,0,2517,2518,5,268,0,0,2518,2523,1,0,0,0,2519,2520,10,13,0,0,2520,2521,5,261,0,0,2521,2523,3,362,181,0,2522,2514,1,0,0,0,2522,2519,1,0,0,0,2523,2526,1,0,0,0,2524,2522,1,0,0,0,2524,2525,1,0,0,0,2525,317,1,0,0,0,2526,2524,1,0,0,0,2527,2534,5,274,0,0,2528,2531,5,275,0,0,2529,2530,5,198,0,0,2530,2532,5,274,0,0,2531,2529,1,0,0,0,2531,2532,1,0,0,0,2532,2534,1,0,0,0,2533,2527,1,0,0,0,2533,2528,1,0,0,0,2534,319,1,0,0,0,2535,2536,7,23,0,0,2536,321,1,0,0,0,2537,2538,7,24,0,0,2538,323,1,0,0,0,2539,2540,7,25,0,0,2540,325,1,0,0,0,2541,2542,5,277,0,0,2542,2556,3,328,164,0,2543,2544,5,265,0,0,2544,2545,5,277,0,0,2545,2546,5,266,0,0,2546,2556,3,328,164,0,2547,2548,5,101,0,0,2548,2549,5,277,0,0,2549,2556,3,328,164,0,2550,2551,5,101,0,0,2551,2552,5,265,0,0,2552,2553,5,277,0,0,2553,2554,5,266,0,0,2554,2556,3,328,164,0,2555,2541,1,0,0,0,2555,2543,1,0,0,0,2555,2547,1,0,0,0,2555,2550,1,0,0,0,2556,327,1,0,0,0,2557,2558,7,26,0,0,2558,329,1,0,0,0,2559,2560,7,27,0,0,2560,331,1,0,0,0,2561,2562,6,166,-1,0,2562,2563,5,8,0,0,2563,2564,5,251,0,0,2564,2565,3,332,166,0,2565,2566,5,253,0,0,2566,2607,1,0,0,0,2567,2568,5,235,0,0,2568,2569,5,251,0,0,2569,2570,3,332,166,0,2570,2571,5,263,0,0,2571,2572,3,332,166,0,2572,2573,5,253,0,0,2573,2607,1,0,0,0,2574,2575,5,240,0,0,2575,2576,5,251,0,0,2576,2577,3,362,181,0,2577,2584,3,332,166,0,2578,2579,5,263,0,0,2579,2580,3,362,181,0,2580,2581,3,332,166,0,2581,2583,1,0,0,0,2582,2578,1,0,0,0,2583,2586,1,0,0,0,2584,2582,1,0,0,0,2584,2585,1,0,0,0,2585,2587,1,0,0,0,2586,2584,1,0,0,0,2587,2588,5,253,0,0,2588,2607,1,0,0,0,2589,2592,3,338,169,0,2590,2592,3,334,167,0,2591,2589,1,0,0,0,2591,2590,1,0,0,0,2592,2604,1,0,0,0,2593,2594,5,265,0,0,2594,2599,3,336,168,0,2595,2596,5,263,0,0,2596,2598,3,336,168,0,2597,2595,1,0,0,0,2598,2601,1,0,0,0,2599,2597,1,0,0,0,2599,2600,1,0,0,0,2600,2602,1,0,0,0,2601,2599,1,0,0,0,2602,2603,5,266,0,0,2603,2605,1,0,0,0,2604,2593,1,0,0,0,2604,2605,1,0,0,0,2605,2607,1,0,0,0,2606,2561,1,0,0,0,2606,2567,1,0,0,0,2606,2574,1,0,0,0,2606,2591,1,0,0,0,2607,2612,1,0,0,0,2608,2609,10,5,0,0,2609,2611,5,8,0,0,2610,2608,1,0,0,0,2611,2614,1,0,0,0,2612,2610,1,0,0,0,2612,2613,1,0,0,0,2613,333,1,0,0,0,2614,2612,1,0,0,0,2615,2616,7,28,0,0,2616,335,1,0,0,0,2617,2620,5,277,0,0,2618,2620,3,332,166,0,2619,2617,1,0,0,0,2619,2618,1,0,0,0,2620,337,1,0,0,0,2621,2626,5,284,0,0,2622,2626,5,285,0,0,2623,2626,5,286,0,0,2624,2626,3,362,181,0,2625,2621,1,0,0,0,2625,2622,1,0,0,0,2625,2623,1,0,0,0,2625,2624,1,0,0,0,2626,339,1,0,0,0,2627,2628,5,214,0,0,2628,2629,3,308,154,0,2629,2630,5,192,0,0,2630,2631,3,308,154,0,2631,341,1,0,0,0,2632,2633,5,74,0,0,2633,2634,5,265,0,0,2634,2635,5,215,0,0,2635,2636,3,310,155,0,2636,2637,5,266,0,0,2637,343,1,0,0,0,2638,2639,5,143,0,0,2639,2650,5,265,0,0,2640,2641,5,145,0,0,2641,2642,5,26,0,0,2642,2647,3,308,154,0,2643,2644,5,263,0,0,2644,2646,3,308,154,0,2645,2643,1,0,0,0,2646,2649,1,0,0,0,2647,2645,1,0,0,0,2647,2648,1,0,0,0,2648,2651,1,0,0,0,2649,2647,1,0,0,0,2650,2640,1,0,0,0,2650,2651,1,0,0,0,2651,2662,1,0,0,0,2652,2653,5,139,0,0,2653,2654,5,26,0,0,2654,2659,3,268,134,0,2655,2656,5,263,0,0,2656,2658,3,268,134,0,2657,2655,1,0,0,0,2658,2661,1,0,0,0,2659,2657,1,0,0,0,2659,2660,1,0,0,0,2660,2663,1,0,0,0,2661,2659,1,0,0,0,2662,2652,1,0,0,0,2662,2663,1,0,0,0,2663,2665,1,0,0,0,2664,2666,3,346,173,0,2665,2664,1,0,0,0,2665,2666,1,0,0,0,2666,2667,1,0,0,0,2667,2668,5,266,0,0,2668,345,1,0,0,0,2669,2670,5,154,0,0,2670,2686,3,348,174,0,2671,2672,5,169,0,0,2672,2686,3,348,174,0,2673,2674,5,154,0,0,2674,2675,5,15,0,0,2675,2676,3,348,174,0,2676,2677,5,5,0,0,2677,2678,3,348,174,0,2678,2686,1,0,0,0,2679,2680,5,169,0,0,2680,2681,5,15,0,0,2681,2682,3,348,174,0,2682,2683,5,5,0,0,2683,2684,3,348,174,0,2684,2686,1,0,0,0,2685,2669,1,0,0,0,2685,2671,1,0,0,0,2685,2673,1,0,0,0,2685,2679,1,0,0,0,2686,347,1,0,0,0,2687,2688,5,199,0,0,2688,2697,5,149,0,0,2689,2690,5,199,0,0,2690,2697,5,77,0,0,2691,2692,5,39,0,0,2692,2697,5,168,0,0,2693,2694,3,308,154,0,2694,2695,7,29,0,0,2695,2697,1,0,0,0,2696,2687,1,0,0,0,2696,2689,1,0,0,0,2696,2691,1,0,0,0,2696,2693,1,0,0,0,2697,349,1,0,0,0,2698,2699,3,362,181,0,2699,2700,5,261,0,0,2700,2701,3,362,181,0,2701,2704,1,0,0,0,2702,2704,3,362,181,0,2703,2698,1,0,0,0,2703,2702,1,0,0,0,2704,351,1,0,0,0,2705,2710,3,350,175,0,2706,2707,5,263,0,0,2707,2709,3,350,175,0,2708,2706,1,0,0,0,2709,2712,1,0,0,0,2710,2708,1,0,0,0,2710,2711,1,0,0,0,2711,353,1,0,0,0,2712,2710,1,0,0,0,2713,2727,5,2,0,0,2714,2727,5,4,0,0,2715,2727,5,58,0,0,2716,2727,5,37,0,0,2717,2727,5,99,0,0,2718,2727,5,162,0,0,2719,2724,5,174,0,0,2720,2721,5,265,0,0,2721,2722,3,362,181,0,2722,2723,5,266,0,0,2723,2725,1,0,0,0,2724,2720,1,0,0,0,2724,2725,1,0,0,0,2725,2727,1,0,0,0,2726,2713,1,0,0,0,2726,2714,1,0,0,0,2726,2715,1,0,0,0,2726,2716,1,0,0,0,2726,2717,1,0,0,0,2726,2718,1,0,0,0,2726,2719,1,0,0,0,2727,355,1,0,0,0,2728,2729,7,30,0,0,2729,357,1,0,0,0,2730,2735,3,362,181,0,2731,2732,5,261,0,0,2732,2734,3,362,181,0,2733,2731,1,0,0,0,2734,2737,1,0,0,0,2735,2733,1,0,0,0,2735,2736,1,0,0,0,2736,359,1,0,0,0,2737,2735,1,0,0,0,2738,2739,5,166,0,0,2739,2745,3,362,181,0,2740,2741,5,204,0,0,2741,2745,3,362,181,0,2742,2743,5,87,0,0,2743,2745,3,362,181,0,2744,2738,1,0,0,0,2744,2740,1,0,0,0,2744,2742,1,0,0,0,2745,361,1,0,0,0,2746,2752,5,280,0,0,2747,2752,5,274,0,0,2748,2752,3,368,184,0,2749,2752,5,283,0,0,2750,2752,5,281,0,0,2751,2746,1,0,0,0,2751,2747,1,0,0,0,2751,2748,1,0,0,0,2751,2749,1,0,0,0,2751,2750,1,0,0,0,2752,363,1,0,0,0,2753,2755,5,256,0,0,2754,2753,1,0,0,0,2754,2755,1,0,0,0,2755,2756,1,0,0,0,2756,2766,5,278,0,0,2757,2759,5,256,0,0,2758,2757,1,0,0,0,2758,2759,1,0,0,0,2759,2760,1,0,0,0,2760,2766,5,279,0,0,2761,2763,5,256,0,0,2762,2761,1,0,0,0,2762,2763,1,0,0,0,2763,2764,1,0,0,0,2764,2766,5,277,0,0,2765,2754,1,0,0,0,2765,2758,1,0,0,0,2765,2762,1,0,0,0,2766,365,1,0,0,0,2767,2768,7,31,0,0,2768,367,1,0,0,0,2769,2770,7,32,0,0,2770,369,1,0,0,0,353,373,380,404,417,421,425,434,439,443,449,451,456,460,464,471,476,482,486,495,502,506,511,513,518,521,528,532,537,541,544,548,556,560,564,572,576,585,588,591,597,604,615,620,625,630,635,644,647,650,654,680,706,715,725,728,742,760,762,771,782,791,798,802,809,815,818,823,830,844,857,862,867,873,909,912,918,921,927,933,945,947,958,966,971,975,980,987,991,995,1001,1005,1009,1018,1021,1024,1032,1046,1053,1066,1072,1077,1080,1083,1088,1092,1101,1106,1112,1116,1121,1126,1129,1137,1140,1144,1156,1159,1163,1168,1172,1188,1193,1200,1203,1209,1212,1219,1222,1226,1231,1234,1241,1244,1268,1282,1286,1290,1310,1312,1314,1323,1325,1334,1336,1345,1347,1352,1361,1370,1379,1390,1396,1401,1404,1417,1427,1431,1436,1447,1452,1485,1493,1498,1502,1506,1511,1514,1519,1524,1529,1533,1542,1545,1549,1556,1565,1569,1573,1580,1583,1593,1600,1605,1610,1615,1621,1624,1633,1636,1639,1645,1650,1660,1663,1666,1670,1680,1683,1689,1695,1698,1701,1705,1715,1726,1731,1734,1738,1745,1755,1767,1773,1775,1784,1787,1794,1804,1810,1818,1829,1839,1850,1852,1858,1863,1873,1876,1882,1884,1892,1898,1901,1903,1915,1922,1926,1930,1934,1937,1944,1953,1956,1960,1965,1969,1972,1979,1990,1993,1997,2001,2010,2013,2020,2034,2038,2042,2046,2050,2054,2058,2062,2072,2083,2088,2101,2103,2109,2113,2115,2123,2130,2135,2148,2154,2162,2169,2173,2181,2183,2194,2202,2211,2217,2222,2228,2234,2239,2244,2250,2261,2263,2290,2296,2300,2312,2322,2325,2330,2337,2340,2349,2352,2356,2359,2371,2374,2393,2397,2405,2409,2434,2437,2446,2452,2458,2464,2475,2484,2506,2509,2512,2522,2524,2531,2533,2555,2584,2591,2599,2604,2606,2612,2619,2625,2647,2650,2659,2662,2665,2685,2696,2703,2710,2724,2726,2735,2744,2751,2754,2758,2762,2765],s.vocabulary=new ce(s.literalNames,s.symbolicNames,[]),s.decisionsToDFA=s._ATN.decisionToState.map((n,t)=>new e1(n,t));class sl extends T{constructor(t,e){super(t,e)}EOF(){return this.getToken(s.EOF,0)}singleStatement(t){return t===void 0?this.getRuleContexts(Zn):this.getRuleContext(t,Zn)}get ruleIndex(){return s.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class Zn extends T{constructor(t,e){super(t,e)}sqlStatement(){return this.getRuleContext(0,Jn)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class Jn extends T{constructor(t,e){super(t,e)}queryStatement(){return this.getRuleContext(0,Zt)}useStatement(){return this.getRuleContext(0,lh)}createStatement(){return this.getRuleContext(0,dh)}alterStatement(){return this.getRuleContext(0,Ah)}truncateTableStatement(){return this.getRuleContext(0,Dh)}describeStatement(){return this.getRuleContext(0,Ih)}computeStatement(){return this.getRuleContext(0,Mh)}dropStatement(){return this.getRuleContext(0,Bh)}grantStatement(){return this.getRuleContext(0,$h)}revokeStatement(){return this.getRuleContext(0,Zh)}insertStatement(){return this.getRuleContext(0,to)}deleteStatement(){return this.getRuleContext(0,eo)}updateStatement(){return this.getRuleContext(0,no)}upsertStatement(){return this.getRuleContext(0,ro)}showStatement(){return this.getRuleContext(0,ho)}addCommentStatement(){return this.getRuleContext(0,mo)}explainStatement(){return this.getRuleContext(0,So)}setStatement(){return this.getRuleContext(0,po)}shutdownStatement(){return this.getRuleContext(0,Oo)}invalidateMetaStatement(){return this.getRuleContext(0,ko)}loadDataStatement(){return this.getRuleContext(0,yo)}refreshStatement(){return this.getRuleContext(0,wo)}get ruleIndex(){return s.RULE_sqlStatement}enterRule(t){t.enterSqlStatement&&t.enterSqlStatement(this)}exitRule(t){t.exitSqlStatement&&t.exitSqlStatement(this)}accept(t){return t.visitSqlStatement?t.visitSqlStatement(this):t.visitChildren(this)}}class lh extends T{constructor(t,e){super(t,e)}KW_USE(){return this.getToken(s.KW_USE,0)}databaseNamePath(){return this.getRuleContext(0,r1)}get ruleIndex(){return s.RULE_useStatement}enterRule(t){t.enterUseStatement&&t.enterUseStatement(this)}exitRule(t){t.exitUseStatement&&t.exitUseStatement(this)}accept(t){return t.visitUseStatement?t.visitUseStatement(this):t.visitChildren(this)}}class dh extends T{constructor(t,e){super(t,e)}createSchema(){return this.getRuleContext(0,sr)}createRole(){return this.getRuleContext(0,fh)}createAggregateFunction(){return this.getRuleContext(0,Rh)}createFunction(){return this.getRuleContext(0,Th)}createView(){return this.getRuleContext(0,er)}createKuduTableAsSelect(){return this.getRuleContext(0,tr)}createTableLike(){return this.getRuleContext(0,Eh)}createTableSelect(){return this.getRuleContext(0,qn)}get ruleIndex(){return s.RULE_createStatement}enterRule(t){t.enterCreateStatement&&t.enterCreateStatement(this)}exitRule(t){t.exitCreateStatement&&t.exitCreateStatement(this)}accept(t){return t.visitCreateStatement?t.visitCreateStatement(this):t.visitChildren(this)}}class qn extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,J0)}createCommonItem(){return this.getRuleContext(0,nr)}KW_EXTERNAL(){return this.getToken(s.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}columnDefinition(t){return t===void 0?this.getRuleContexts(fs):this.getRuleContext(t,fs)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PARTITIONED(){return this.getToken(s.KW_PARTITIONED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,Zt)}columnAliases(){return this.getRuleContext(0,yt)}partitionedBy(){return this.getRuleContext(0,Er)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}constraintSpecification(){return this.getRuleContext(0,Ho)}get ruleIndex(){return s.RULE_createTableSelect}enterRule(t){t.enterCreateTableSelect&&t.enterCreateTableSelect(this)}exitRule(t){t.exitCreateTableSelect&&t.exitCreateTableSelect(this)}accept(t){return t.visitCreateTableSelect?t.visitCreateTableSelect(this):t.visitChildren(this)}}class Eh extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,J0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}createCommonItem(){return this.getRuleContext(0,nr)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARQUET(){return this.getToken(s.KW_PARQUET,0)}KW_EXTERNAL(){return this.getToken(s.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,jt)}stringLiteral(){return this.getRuleContext(0,Z)}KW_PARTITIONED(){return this.getToken(s.KW_PARTITIONED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}partitionedBy(){return this.getRuleContext(0,Er)}get ruleIndex(){return s.RULE_createTableLike}enterRule(t){t.enterCreateTableLike&&t.enterCreateTableLike(this)}exitRule(t){t.exitCreateTableLike&&t.exitCreateTableLike(this)}accept(t){return t.visitCreateTableLike?t.visitCreateTableLike(this):t.visitChildren(this)}}class tr extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,J0)}KW_STORED(){return this.getToken(s.KW_STORED,0)}KW_AS(t){return t===void 0?this.getTokens(s.KW_AS):this.getToken(s.KW_AS,t)}KW_KUDU(){return this.getToken(s.KW_KUDU,0)}KW_EXTERNAL(){return this.getToken(s.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}kuduTableElement(t){return t===void 0?this.getRuleContexts(Rs):this.getRuleContext(t,Rs)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PRIMARY(t){return t===void 0?this.getTokens(s.KW_PRIMARY):this.getToken(s.KW_PRIMARY,t)}KW_KEY(t){return t===void 0?this.getTokens(s.KW_KEY):this.getToken(s.KW_KEY,t)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(){return this.getToken(s.KW_BY,0)}kuduPartitionClause(){return this.getRuleContext(0,Po)}commentClause(){return this.getRuleContext(0,Ue)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}queryStatement(){return this.getRuleContext(0,Zt)}properties(){return this.getRuleContext(0,o1)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}columnAliases(t){return t===void 0?this.getRuleContexts(yt):this.getRuleContext(t,yt)}get ruleIndex(){return s.RULE_createKuduTableAsSelect}enterRule(t){t.enterCreateKuduTableAsSelect&&t.enterCreateKuduTableAsSelect(this)}exitRule(t){t.exitCreateKuduTableAsSelect&&t.exitCreateKuduTableAsSelect(this)}accept(t){return t.visitCreateKuduTableAsSelect?t.visitCreateKuduTableAsSelect(this):t.visitChildren(this)}}class er extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Io)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,Zt)}ifNotExists(){return this.getRuleContext(0,jt)}viewColumns(){return this.getRuleContext(0,hr)}commentClause(){return this.getRuleContext(0,Ue)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}properties(){return this.getRuleContext(0,o1)}get ruleIndex(){return s.RULE_createView}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class sr extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}databaseNameCreate(){return this.getRuleContext(0,Do)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}ifNotExists(){return this.getRuleContext(0,jt)}commentClause(){return this.getRuleContext(0,Ue)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}stringLiteral(){return this.getRuleContext(0,Z)}get ruleIndex(){return s.RULE_createSchema}enterRule(t){t.enterCreateSchema&&t.enterCreateSchema(this)}exitRule(t){t.exitCreateSchema&&t.exitCreateSchema(this)}accept(t){return t.visitCreateSchema?t.visitCreateSchema(this):t.visitChildren(this)}}class fh extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_createRole}enterRule(t){t.enterCreateRole&&t.enterCreateRole(this)}exitRule(t){t.exitCreateRole&&t.exitCreateRole(this)}accept(t){return t.visitCreateRole?t.visitCreateRole(this):t.visitChildren(this)}}class Rh extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,ir)}KW_RETURNS(){return this.getToken(s.KW_RETURNS,0)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}STRING(t){return t===void 0?this.getTokens(s.STRING):this.getToken(s.STRING,t)}KW_UPDATE_FN(){return this.getToken(s.KW_UPDATE_FN,0)}EQ(t){return t===void 0?this.getTokens(s.EQ):this.getToken(s.EQ,t)}KW_MERGE_FN(){return this.getToken(s.KW_MERGE_FN,0)}type_(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}KW_AGGREGATE(){return this.getToken(s.KW_AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_INTERMEDIATE(){return this.getToken(s.KW_INTERMEDIATE,0)}KW_INIT_FN(){return this.getToken(s.KW_INIT_FN,0)}KW_PREPARE_FN(){return this.getToken(s.KW_PREPARE_FN,0)}KW_CLOSEFN(){return this.getToken(s.KW_CLOSEFN,0)}KW_SERIALIZE_FN(){return this.getToken(s.KW_SERIALIZE_FN,0)}KW_FINALIZE_FN(){return this.getToken(s.KW_FINALIZE_FN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_createAggregateFunction}enterRule(t){t.enterCreateAggregateFunction&&t.enterCreateAggregateFunction(this)}exitRule(t){t.exitCreateAggregateFunction&&t.exitCreateAggregateFunction(this)}accept(t){return t.visitCreateAggregateFunction?t.visitCreateAggregateFunction(this):t.visitChildren(this)}}class Th extends T{constructor(t,e){super(t,e)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,ir)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}STRING(){return this.getToken(s.STRING,0)}KW_SYMBOL(){return this.getToken(s.KW_SYMBOL,0)}EQ(){return this.getToken(s.EQ,0)}stringLiteral(){return this.getRuleContext(0,Z)}ifNotExists(){return this.getRuleContext(0,jt)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_RETURNS(){return this.getToken(s.KW_RETURNS,0)}type_(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_createFunction}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class Ah extends T{constructor(t,e){super(t,e)}alterDatabase(){return this.getRuleContext(0,xh)}alterUnSetOrSetViewTblproperties(){return this.getRuleContext(0,bh)}renameTable(){return this.getRuleContext(0,vh)}alterViewOwner(){return this.getRuleContext(0,Uh)}alterView(){return this.getRuleContext(0,yh)}renameView(){return this.getRuleContext(0,wh)}dropPartitionByRangeOrValue(){return this.getRuleContext(0,kh)}alterFormat(){return this.getRuleContext(0,ph)}recoverPartitions(){return this.getRuleContext(0,Oh)}addPartitionByRangeOrValue(){return this.getRuleContext(0,Sh)}alterTableNonKuduOrKuduOnly(){return this.getRuleContext(0,Kh)}addSingleColumn(){return this.getRuleContext(0,Wh)}replaceOrAddColumns(){return this.getRuleContext(0,Lh)}changeColumnDefine(){return this.getRuleContext(0,Ch)}alterStatsKey(){return this.getRuleContext(0,gh)}alterPartitionCache(){return this.getRuleContext(0,_h)}alterDropSingleColumn(){return this.getRuleContext(0,Nh)}alterTableOwner(){return this.getRuleContext(0,mh)}get ruleIndex(){return s.RULE_alterStatement}enterRule(t){t.enterAlterStatement&&t.enterAlterStatement(this)}exitRule(t){t.exitAlterStatement&&t.exitAlterStatement(this)}accept(t){return t.visitAlterStatement?t.visitAlterStatement(this):t.visitChildren(this)}}class xh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databaseNamePath(){return this.getRuleContext(0,r1)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_OWNER(){return this.getToken(s.KW_OWNER,0)}identifier(){return this.getRuleContext(0,D)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_alterDatabase}enterRule(t){t.enterAlterDatabase&&t.enterAlterDatabase(this)}exitRule(t){t.exitAlterDatabase&&t.exitAlterDatabase(this)}accept(t){return t.visitAlterDatabase?t.visitAlterDatabase(this):t.visitChildren(this)}}class gh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}columnNamePath(){return this.getRuleContext(0,zt)}LPAREN(){return this.getToken(s.LPAREN,0)}statsKey(t){return t===void 0?this.getRuleContexts(cr):this.getRuleContext(t,cr)}EQ(t){return t===void 0?this.getTokens(s.EQ):this.getToken(s.EQ,t)}stringLiteral(t){return t===void 0?this.getRuleContexts(Z):this.getRuleContext(t,Z)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_alterStatsKey}enterRule(t){t.enterAlterStatsKey&&t.enterAlterStatsKey(this)}exitRule(t){t.exitAlterStatsKey&&t.exitAlterStatsKey(this)}accept(t){return t.visitAlterStatsKey?t.visitAlterStatsKey(this):t.visitChildren(this)}}class _h extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_UNCACHED(){return this.getToken(s.KW_UNCACHED,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,b)}KW_CACHED(){return this.getToken(s.KW_CACHED,0)}KW_IN(){return this.getToken(s.KW_IN,0)}stringLiteral(){return this.getRuleContext(0,Z)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_REPLICATION(){return this.getToken(s.KW_REPLICATION,0)}EQ(){return this.getToken(s.EQ,0)}number(){return this.getRuleContext(0,qt)}get ruleIndex(){return s.RULE_alterPartitionCache}enterRule(t){t.enterAlterPartitionCache&&t.enterAlterPartitionCache(this)}exitRule(t){t.exitAlterPartitionCache&&t.exitAlterPartitionCache(this)}accept(t){return t.visitAlterPartitionCache?t.visitAlterPartitionCache(this):t.visitChildren(this)}}class Ch extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_CHANGE(){return this.getToken(s.KW_CHANGE,0)}columnNamePath(){return this.getRuleContext(0,zt)}columnSpecWithKudu(){return this.getRuleContext(0,en)}get ruleIndex(){return s.RULE_changeColumnDefine}enterRule(t){t.enterChangeColumnDefine&&t.enterChangeColumnDefine(this)}exitRule(t){t.exitChangeColumnDefine&&t.exitChangeColumnDefine(this)}accept(t){return t.visitChangeColumnDefine?t.visitChangeColumnDefine(this):t.visitChildren(this)}}class Nh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(s.KW_DROP,0)}columnNamePath(){return this.getRuleContext(0,zt)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}get ruleIndex(){return s.RULE_alterDropSingleColumn}enterRule(t){t.enterAlterDropSingleColumn&&t.enterAlterDropSingleColumn(this)}exitRule(t){t.exitAlterDropSingleColumn&&t.exitAlterDropSingleColumn(this)}accept(t){return t.visitAlterDropSingleColumn?t.visitAlterDropSingleColumn(this):t.visitChildren(this)}}class mh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_OWNER(){return this.getToken(s.KW_OWNER,0)}identifier(){return this.getRuleContext(0,D)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_alterTableOwner}enterRule(t){t.enterAlterTableOwner&&t.enterAlterTableOwner(this)}exitRule(t){t.exitAlterTableOwner&&t.exitAlterTableOwner(this)}accept(t){return t.visitAlterTableOwner?t.visitAlterTableOwner(this):t.visitChildren(this)}}class Lh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_COLUMNS(){return this.getToken(s.KW_COLUMNS,0)}LPAREN(){return this.getToken(s.LPAREN,0)}columnSpecWithKudu(t){return t===void 0?this.getRuleContexts(en):this.getRuleContext(t,en)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_ADD(){return this.getToken(s.KW_ADD,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}ifNotExists(){return this.getRuleContext(0,jt)}get ruleIndex(){return s.RULE_replaceOrAddColumns}enterRule(t){t.enterReplaceOrAddColumns&&t.enterReplaceOrAddColumns(this)}exitRule(t){t.exitReplaceOrAddColumns&&t.exitReplaceOrAddColumns(this)}accept(t){return t.visitReplaceOrAddColumns?t.visitReplaceOrAddColumns(this):t.visitChildren(this)}}class Wh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}createColumnSpecWithKudu(){return this.getRuleContext(0,Vo)}ifNotExists(){return this.getRuleContext(0,jt)}get ruleIndex(){return s.RULE_addSingleColumn}enterRule(t){t.enterAddSingleColumn&&t.enterAddSingleColumn(this)}exitRule(t){t.exitAddSingleColumn&&t.exitAddSingleColumn(this)}accept(t){return t.visitAddSingleColumn?t.visitAddSingleColumn(this):t.visitChildren(this)}}class Kh extends T{constructor(t,e){super(t,e)}KW_ALTER(t){return t===void 0?this.getTokens(s.KW_ALTER):this.getToken(s.KW_ALTER,t)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}columnNamePath(){return this.getRuleContext(0,zt)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_DEFAULT(){return this.getToken(s.KW_DEFAULT,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}kuduStorageAttr(){return this.getRuleContext(0,ur)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,Z)}get ruleIndex(){return s.RULE_alterTableNonKuduOrKuduOnly}enterRule(t){t.enterAlterTableNonKuduOrKuduOnly&&t.enterAlterTableNonKuduOrKuduOnly(this)}exitRule(t){t.exitAlterTableNonKuduOrKuduOnly&&t.exitAlterTableNonKuduOrKuduOnly(this)}accept(t){return t.visitAlterTableNonKuduOrKuduOnly?t.visitAlterTableNonKuduOrKuduOnly(this):t.visitChildren(this)}}class Sh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,b)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}kuduPartitionSpec(){return this.getRuleContext(0,Ts)}ifNotExists(){return this.getRuleContext(0,jt)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}stringLiteral(){return this.getRuleContext(0,Z)}cacheSpec(){return this.getRuleContext(0,Yo)}get ruleIndex(){return s.RULE_addPartitionByRangeOrValue}enterRule(t){t.enterAddPartitionByRangeOrValue&&t.enterAddPartitionByRangeOrValue(this)}exitRule(t){t.exitAddPartitionByRangeOrValue&&t.exitAddPartitionByRangeOrValue(this)}accept(t){return t.visitAddPartitionByRangeOrValue?t.visitAddPartitionByRangeOrValue(this):t.visitChildren(this)}}class ph extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,b)}KW_FILEFORMAT(){return this.getToken(s.KW_FILEFORMAT,0)}fileFormat(){return this.getRuleContext(0,lr)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_FORMAT(){return this.getToken(s.KW_FORMAT,0)}rowFormat(){return this.getRuleContext(0,fr)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}stringLiteral(){return this.getRuleContext(0,Z)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}KW_SERDEPROPERTIES(){return this.getToken(s.KW_SERDEPROPERTIES,0)}properties(){return this.getRuleContext(0,o1)}get ruleIndex(){return s.RULE_alterFormat}enterRule(t){t.enterAlterFormat&&t.enterAlterFormat(this)}exitRule(t){t.exitAlterFormat&&t.exitAlterFormat(this)}accept(t){return t.visitAlterFormat?t.visitAlterFormat(this):t.visitChildren(this)}}class Oh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_RECOVER(){return this.getToken(s.KW_RECOVER,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}get ruleIndex(){return s.RULE_recoverPartitions}enterRule(t){t.enterRecoverPartitions&&t.enterRecoverPartitions(this)}exitRule(t){t.exitRecoverPartitions&&t.exitRecoverPartitions(this)}accept(t){return t.visitRecoverPartitions?t.visitRecoverPartitions(this):t.visitChildren(this)}}class kh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,b)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}kuduPartitionSpec(){return this.getRuleContext(0,Ts)}ifExists(){return this.getRuleContext(0,n1)}KW_PURGE(){return this.getToken(s.KW_PURGE,0)}get ruleIndex(){return s.RULE_dropPartitionByRangeOrValue}enterRule(t){t.enterDropPartitionByRangeOrValue&&t.enterDropPartitionByRangeOrValue(this)}exitRule(t){t.exitDropPartitionByRangeOrValue&&t.exitDropPartitionByRangeOrValue(this)}accept(t){return t.visitDropPartitionByRangeOrValue?t.visitDropPartitionByRangeOrValue(this):t.visitChildren(this)}}class yh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Ae)}KW_AS(){return this.getToken(s.KW_AS,0)}queryStatement(){return this.getRuleContext(0,Zt)}viewColumns(){return this.getRuleContext(0,hr)}get ruleIndex(){return s.RULE_alterView}enterRule(t){t.enterAlterView&&t.enterAlterView(this)}exitRule(t){t.exitAlterView&&t.exitAlterView(this)}accept(t){return t.visitAlterView?t.visitAlterView(this):t.visitChildren(this)}}class wh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(t){return t===void 0?this.getRuleContexts(Ae):this.getRuleContext(t,Ae)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}get ruleIndex(){return s.RULE_renameView}enterRule(t){t.enterRenameView&&t.enterRenameView(this)}exitRule(t){t.exitRenameView&&t.exitRenameView(this)}accept(t){return t.visitRenameView?t.visitRenameView(this):t.visitChildren(this)}}class Uh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Ae)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_OWNER(){return this.getToken(s.KW_OWNER,0)}qualifiedName(){return this.getRuleContext(0,ft)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_alterViewOwner}enterRule(t){t.enterAlterViewOwner&&t.enterAlterViewOwner(this)}exitRule(t){t.exitAlterViewOwner&&t.exitAlterViewOwner(this)}accept(t){return t.visitAlterViewOwner?t.visitAlterViewOwner(this):t.visitChildren(this)}}class vh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(t){return t===void 0?this.getRuleContexts(H):this.getRuleContext(t,H)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}get ruleIndex(){return s.RULE_renameTable}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}class bh extends T{constructor(t,e){super(t,e)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Ae)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}KW_UNSET(){return this.getToken(s.KW_UNSET,0)}KW_SET(){return this.getToken(s.KW_SET,0)}properties(){return this.getRuleContext(0,o1)}get ruleIndex(){return s.RULE_alterUnSetOrSetViewTblproperties}enterRule(t){t.enterAlterUnSetOrSetViewTblproperties&&t.enterAlterUnSetOrSetViewTblproperties(this)}exitRule(t){t.exitAlterUnSetOrSetViewTblproperties&&t.exitAlterUnSetOrSetViewTblproperties(this)}accept(t){return t.visitAlterUnSetOrSetViewTblproperties?t.visitAlterUnSetOrSetViewTblproperties(this):t.visitChildren(this)}}class Dh extends T{constructor(t,e){super(t,e)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}ifExists(){return this.getRuleContext(0,n1)}get ruleIndex(){return s.RULE_truncateTableStatement}enterRule(t){t.enterTruncateTableStatement&&t.enterTruncateTableStatement(this)}exitRule(t){t.exitTruncateTableStatement&&t.exitTruncateTableStatement(this)}accept(t){return t.visitTruncateTableStatement?t.visitTruncateTableStatement(this):t.visitChildren(this)}}class Ih extends T{constructor(t,e){super(t,e)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}qualifiedName(){return this.getRuleContext(0,ft)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_FORMATTED(){return this.getToken(s.KW_FORMATTED,0)}KW_EXTENDED(){return this.getToken(s.KW_EXTENDED,0)}get ruleIndex(){return s.RULE_describeStatement}enterRule(t){t.enterDescribeStatement&&t.enterDescribeStatement(this)}exitRule(t){t.exitDescribeStatement&&t.exitDescribeStatement(this)}accept(t){return t.visitDescribeStatement?t.visitDescribeStatement(this):t.visitChildren(this)}}class Mh extends T{constructor(t,e){super(t,e)}computeStats(){return this.getRuleContext(0,Fh)}computeIncrementalStats(){return this.getRuleContext(0,Hh)}get ruleIndex(){return s.RULE_computeStatement}enterRule(t){t.enterComputeStatement&&t.enterComputeStatement(this)}exitRule(t){t.exitComputeStatement&&t.exitComputeStatement(this)}accept(t){return t.visitComputeStatement?t.visitComputeStatement(this):t.visitChildren(this)}}class Fh extends T{constructor(t,e){super(t,e)}KW_COMPUTE(){return this.getToken(s.KW_COMPUTE,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}columnAliases(){return this.getRuleContext(0,yt)}KW_TABLESAMPLE(){return this.getToken(s.KW_TABLESAMPLE,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}LPAREN(t){return t===void 0?this.getTokens(s.LPAREN):this.getToken(s.LPAREN,t)}number_(t){return t===void 0?this.getRuleContexts(qt):this.getRuleContext(t,qt)}RPAREN(t){return t===void 0?this.getTokens(s.RPAREN):this.getToken(s.RPAREN,t)}KW_REPEATABLE(){return this.getToken(s.KW_REPEATABLE,0)}get ruleIndex(){return s.RULE_computeStats}enterRule(t){t.enterComputeStats&&t.enterComputeStats(this)}exitRule(t){t.exitComputeStats&&t.exitComputeStats(this)}accept(t){return t.visitComputeStats?t.visitComputeStats(this):t.visitChildren(this)}}class Hh extends T{constructor(t,e){super(t,e)}KW_COMPUTE(){return this.getToken(s.KW_COMPUTE,0)}KW_INCREMENTAL(){return this.getToken(s.KW_INCREMENTAL,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(){return this.getRuleContext(0,b)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_computeIncrementalStats}enterRule(t){t.enterComputeIncrementalStats&&t.enterComputeIncrementalStats(this)}exitRule(t){t.exitComputeIncrementalStats&&t.exitComputeIncrementalStats(this)}accept(t){return t.visitComputeIncrementalStats?t.visitComputeIncrementalStats(this):t.visitChildren(this)}}class Bh extends T{constructor(t,e){super(t,e)}dropRole(){return this.getRuleContext(0,Xh)}dropFunction(){return this.getRuleContext(0,Qh)}dropIncrementalStats(){return this.getRuleContext(0,Yh)}dropView(){return this.getRuleContext(0,Ph)}dropTable(){return this.getRuleContext(0,Gh)}dropSchema(){return this.getRuleContext(0,Vh)}get ruleIndex(){return s.RULE_dropStatement}enterRule(t){t.enterDropStatement&&t.enterDropStatement(this)}exitRule(t){t.exitDropStatement&&t.exitDropStatement(this)}accept(t){return t.visitDropStatement?t.visitDropStatement(this):t.visitChildren(this)}}class Vh extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}databaseNamePath(){return this.getRuleContext(0,r1)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}ifExists(){return this.getRuleContext(0,n1)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}get ruleIndex(){return s.RULE_dropSchema}enterRule(t){t.enterDropSchema&&t.enterDropSchema(this)}exitRule(t){t.exitDropSchema&&t.exitDropSchema(this)}accept(t){return t.visitDropSchema?t.visitDropSchema(this):t.visitChildren(this)}}class Ph extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Ae)}ifExists(){return this.getRuleContext(0,n1)}get ruleIndex(){return s.RULE_dropView}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Gh extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,n1)}KW_PURGE(){return this.getToken(s.KW_PURGE,0)}get ruleIndex(){return s.RULE_dropTable}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class Yh extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_INCREMENTAL(){return this.getToken(s.KW_INCREMENTAL,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}expression(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_dropIncrementalStats}enterRule(t){t.enterDropIncrementalStats&&t.enterDropIncrementalStats(this)}exitRule(t){t.exitDropIncrementalStats&&t.exitDropIncrementalStats(this)}accept(t){return t.visitDropIncrementalStats?t.visitDropIncrementalStats(this):t.visitChildren(this)}}class Qh extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_FUNCTION(){return this.getToken(s.KW_FUNCTION,0)}functionNamePath(){return this.getRuleContext(0,q0)}KW_AGGREGATE(){return this.getToken(s.KW_AGGREGATE,0)}ifExists(){return this.getRuleContext(0,n1)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}type_(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_dropFunction}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class Xh extends T{constructor(t,e){super(t,e)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_dropRole}enterRule(t){t.enterDropRole&&t.enterDropRole(this)}exitRule(t){t.exitDropRole&&t.exitDropRole(this)}accept(t){return t.visitDropRole?t.visitDropRole(this):t.visitChildren(this)}}class $h extends T{constructor(t,e){super(t,e)}grantRole(){return this.getRuleContext(0,jh)}grant(){return this.getRuleContext(0,zh)}get ruleIndex(){return s.RULE_grantStatement}enterRule(t){t.enterGrantStatement&&t.enterGrantStatement(this)}exitRule(t){t.exitGrantStatement&&t.exitGrantStatement(this)}accept(t){return t.visitGrantStatement?t.visitGrantStatement(this):t.visitChildren(this)}}class jh extends T{constructor(t,e){super(t,e)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}get ruleIndex(){return s.RULE_grantRole}enterRule(t){t.enterGrantRole&&t.enterGrantRole(this)}exitRule(t){t.exitGrantRole&&t.exitGrantRole(this)}accept(t){return t.visitGrantRole?t.visitGrantRole(this):t.visitChildren(this)}}class zh extends T{constructor(t,e){super(t,e)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}privilege(){return this.getRuleContext(0,_r)}KW_ON(){return this.getToken(s.KW_ON,0)}objectType(){return this.getRuleContext(0,Cr)}KW_TO(){return this.getToken(s.KW_TO,0)}principal(){return this.getRuleContext(0,w1)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_grant}enterRule(t){t.enterGrant&&t.enterGrant(this)}exitRule(t){t.exitGrant&&t.exitGrant(this)}accept(t){return t.visitGrant?t.visitGrant(this):t.visitChildren(this)}}class Zh extends T{constructor(t,e){super(t,e)}revokeRole(){return this.getRuleContext(0,Jh)}revoke(){return this.getRuleContext(0,qh)}get ruleIndex(){return s.RULE_revokeStatement}enterRule(t){t.enterRevokeStatement&&t.enterRevokeStatement(this)}exitRule(t){t.exitRevokeStatement&&t.exitRevokeStatement(this)}accept(t){return t.visitRevokeStatement?t.visitRevokeStatement(this):t.visitChildren(this)}}class Jh extends T{constructor(t,e){super(t,e)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}get ruleIndex(){return s.RULE_revokeRole}enterRule(t){t.enterRevokeRole&&t.enterRevokeRole(this)}exitRule(t){t.exitRevokeRole&&t.exitRevokeRole(this)}accept(t){return t.visitRevokeRole?t.visitRevokeRole(this):t.visitChildren(this)}}class qh extends T{constructor(t,e){super(t,e)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}privilege(){return this.getRuleContext(0,_r)}KW_ON(){return this.getToken(s.KW_ON,0)}objectType(){return this.getRuleContext(0,Cr)}KW_FROM(){return this.getToken(s.KW_FROM,0)}identifier(){return this.getRuleContext(0,D)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}qualifiedName(){return this.getRuleContext(0,ft)}principal(){return this.getRuleContext(0,w1)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}get ruleIndex(){return s.RULE_revoke}enterRule(t){t.enterRevoke&&t.enterRevoke(this)}exitRule(t){t.exitRevoke&&t.exitRevoke(this)}accept(t){return t.visitRevoke?t.visitRevoke(this):t.visitChildren(this)}}class to extends T{constructor(t,e){super(t,e)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}tableNamePath(){return this.getRuleContext(0,H)}queryStatement(){return this.getRuleContext(0,Zt)}KW_INTO(){return this.getToken(s.KW_INTO,0)}KW_OVERWRITE(){return this.getToken(s.KW_OVERWRITE,0)}with(){return this.getRuleContext(0,or)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}columnAliases(){return this.getRuleContext(0,yt)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_insertStatement}enterRule(t){t.enterInsertStatement&&t.enterInsertStatement(this)}exitRule(t){t.exitInsertStatement&&t.exitInsertStatement(this)}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}}class eo extends T{constructor(t,e){super(t,e)}delete(){return this.getRuleContext(0,so)}deleteTableRef(){return this.getRuleContext(0,io)}get ruleIndex(){return s.RULE_deleteStatement}enterRule(t){t.enterDeleteStatement&&t.enterDeleteStatement(this)}exitRule(t){t.exitDeleteStatement&&t.exitDeleteStatement(this)}accept(t){return t.visitDeleteStatement?t.visitDeleteStatement(this):t.visitChildren(this)}}class so extends T{constructor(t,e){super(t,e)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}get ruleIndex(){return s.RULE_delete}enterRule(t){t.enterDelete&&t.enterDelete(this)}exitRule(t){t.exitDelete&&t.exitDelete(this)}accept(t){return t.visitDelete?t.visitDelete(this):t.visitChildren(this)}}class io extends T{constructor(t,e){super(t,e)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_FROM(){return this.getToken(s.KW_FROM,0)}identifier(){return this.getRuleContext(0,D)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}KW_AS(){return this.getToken(s.KW_AS,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_deleteTableRef}enterRule(t){t.enterDeleteTableRef&&t.enterDeleteTableRef(this)}exitRule(t){t.exitDeleteTableRef&&t.exitDeleteTableRef(this)}accept(t){return t.visitDeleteTableRef?t.visitDeleteTableRef(this):t.visitChildren(this)}}class no extends T{constructor(t,e){super(t,e)}KW_UPDATE(){return this.getToken(s.KW_UPDATE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(s.KW_SET,0)}assignmentList(){return this.getRuleContext(0,Fo)}KW_FROM(){return this.getToken(s.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_updateStatement}enterRule(t){t.enterUpdateStatement&&t.enterUpdateStatement(this)}exitRule(t){t.exitUpdateStatement&&t.exitUpdateStatement(this)}accept(t){return t.visitUpdateStatement?t.visitUpdateStatement(this):t.visitChildren(this)}}class ro extends T{constructor(t,e){super(t,e)}KW_UPSERT(){return this.getToken(s.KW_UPSERT,0)}KW_INTO(){return this.getToken(s.KW_INTO,0)}tableNamePath(){return this.getRuleContext(0,H)}queryStatement(){return this.getRuleContext(0,Zt)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}columnAliases(){return this.getRuleContext(0,yt)}get ruleIndex(){return s.RULE_upsertStatement}enterRule(t){t.enterUpsertStatement&&t.enterUpsertStatement(this)}exitRule(t){t.exitUpsertStatement&&t.exitUpsertStatement(this)}accept(t){return t.visitUpsertStatement?t.visitUpsertStatement(this):t.visitChildren(this)}}class ho extends T{constructor(t,e){super(t,e)}showRoles(){return this.getRuleContext(0,Ao)}showRoleGrant(){return this.getRuleContext(0,xo)}showGrants(){return this.getRuleContext(0,go)}showFiles(){return this.getRuleContext(0,To)}showPartitions(){return this.getRuleContext(0,Ro)}showColumnStats(){return this.getRuleContext(0,fo)}showTableStats(){return this.getRuleContext(0,Eo)}showCreateView(){return this.getRuleContext(0,lo)}showCreateTable(){return this.getRuleContext(0,co)}showFunctions(){return this.getRuleContext(0,uo)}showTables(){return this.getRuleContext(0,ao)}showSchemas(){return this.getRuleContext(0,oo)}get ruleIndex(){return s.RULE_showStatement}enterRule(t){t.enterShowStatement&&t.enterShowStatement(this)}exitRule(t){t.exitShowStatement&&t.exitShowStatement(this)}accept(t){return t.visitShowStatement?t.visitShowStatement(this):t.visitChildren(this)}}class oo extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_SCHEMAS(){return this.getToken(s.KW_SCHEMAS,0)}KW_DATABASES(){return this.getToken(s.KW_DATABASES,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(Z):this.getRuleContext(t,Z)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}BITWISEOR(t){return t===void 0?this.getTokens(s.BITWISEOR):this.getToken(s.BITWISEOR,t)}get ruleIndex(){return s.RULE_showSchemas}enterRule(t){t.enterShowSchemas&&t.enterShowSchemas(this)}exitRule(t){t.exitShowSchemas&&t.exitShowSchemas(this)}accept(t){return t.visitShowSchemas?t.visitShowSchemas(this):t.visitChildren(this)}}class ao extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_TABLES(){return this.getToken(s.KW_TABLES,0)}KW_IN(){return this.getToken(s.KW_IN,0)}tableNamePath(){return this.getRuleContext(0,H)}stringLiteral(t){return t===void 0?this.getRuleContexts(Z):this.getRuleContext(t,Z)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}BITWISEOR(t){return t===void 0?this.getTokens(s.BITWISEOR):this.getToken(s.BITWISEOR,t)}get ruleIndex(){return s.RULE_showTables}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}class uo extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}KW_IN(){return this.getToken(s.KW_IN,0)}databaseNamePath(){return this.getRuleContext(0,r1)}KW_AGGREGATE(){return this.getToken(s.KW_AGGREGATE,0)}KW_ANALYTIC(){return this.getToken(s.KW_ANALYTIC,0)}stringLiteral(t){return t===void 0?this.getRuleContexts(Z):this.getRuleContext(t,Z)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}BITWISEOR(t){return t===void 0?this.getTokens(s.BITWISEOR):this.getToken(s.BITWISEOR,t)}get ruleIndex(){return s.RULE_showFunctions}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}class co extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showCreateTable}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}class lo extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNamePath(){return this.getRuleContext(0,Ae)}get ruleIndex(){return s.RULE_showCreateView}enterRule(t){t.enterShowCreateView&&t.enterShowCreateView(this)}exitRule(t){t.exitShowCreateView&&t.exitShowCreateView(this)}accept(t){return t.visitShowCreateView?t.visitShowCreateView(this):t.visitChildren(this)}}class Eo extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showTableStats}enterRule(t){t.enterShowTableStats&&t.enterShowTableStats(this)}exitRule(t){t.exitShowTableStats&&t.exitShowTableStats(this)}accept(t){return t.visitShowTableStats?t.visitShowTableStats(this):t.visitChildren(this)}}class fo extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showColumnStats}enterRule(t){t.enterShowColumnStats&&t.enterShowColumnStats(this)}exitRule(t){t.exitShowColumnStats&&t.exitShowColumnStats(this)}accept(t){return t.visitShowColumnStats?t.visitShowColumnStats(this):t.visitChildren(this)}}class Ro extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}get ruleIndex(){return s.RULE_showPartitions}enterRule(t){t.enterShowPartitions&&t.enterShowPartitions(this)}exitRule(t){t.exitShowPartitions&&t.exitShowPartitions(this)}accept(t){return t.visitShowPartitions?t.visitShowPartitions(this):t.visitChildren(this)}}class To extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_FILES(){return this.getToken(s.KW_FILES,0)}KW_IN(){return this.getToken(s.KW_IN,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_showFiles}enterRule(t){t.enterShowFiles&&t.enterShowFiles(this)}exitRule(t){t.exitShowFiles&&t.exitShowFiles(this)}accept(t){return t.visitShowFiles?t.visitShowFiles(this):t.visitChildren(this)}}class Ao extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_ROLES(){return this.getToken(s.KW_ROLES,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}get ruleIndex(){return s.RULE_showRoles}enterRule(t){t.enterShowRoles&&t.enterShowRoles(this)}exitRule(t){t.exitShowRoles&&t.exitShowRoles(this)}accept(t){return t.visitShowRoles?t.visitShowRoles(this):t.visitChildren(this)}}class xo extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}identifier(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_showRoleGrant}enterRule(t){t.enterShowRoleGrant&&t.enterShowRoleGrant(this)}exitRule(t){t.exitShowRoleGrant&&t.exitShowRoleGrant(this)}accept(t){return t.visitShowRoleGrant?t.visitShowRoleGrant(this):t.visitChildren(this)}}class go extends T{constructor(t,e){super(t,e)}showDatabaseGrant(){return this.getRuleContext(0,_o)}showTableGrant(){return this.getRuleContext(0,Co)}showColumnGrant(){return this.getRuleContext(0,No)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,D)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_SERVER(){return this.getToken(s.KW_SERVER,0)}KW_URI(){return this.getToken(s.KW_URI,0)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_showGrants}enterRule(t){t.enterShowGrants&&t.enterShowGrants(this)}exitRule(t){t.exitShowGrants&&t.exitShowGrants(this)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}}class _o extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,D)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databaseNamePath(){return this.getRuleContext(0,r1)}get ruleIndex(){return s.RULE_showDatabaseGrant}enterRule(t){t.enterShowDatabaseGrant&&t.enterShowDatabaseGrant(this)}exitRule(t){t.exitShowDatabaseGrant&&t.exitShowDatabaseGrant(this)}accept(t){return t.visitShowDatabaseGrant?t.visitShowDatabaseGrant(this):t.visitChildren(this)}}class Co extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,D)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_showTableGrant}enterRule(t){t.enterShowTableGrant&&t.enterShowTableGrant(this)}exitRule(t){t.exitShowTableGrant&&t.exitShowTableGrant(this)}accept(t){return t.visitShowTableGrant?t.visitShowTableGrant(this):t.visitChildren(this)}}class No extends T{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}identifier(){return this.getRuleContext(0,D)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnNamePath(){return this.getRuleContext(0,zt)}get ruleIndex(){return s.RULE_showColumnGrant}enterRule(t){t.enterShowColumnGrant&&t.enterShowColumnGrant(this)}exitRule(t){t.exitShowColumnGrant&&t.exitShowColumnGrant(this)}accept(t){return t.visitShowColumnGrant?t.visitShowColumnGrant(this):t.visitChildren(this)}}class mo extends T{constructor(t,e){super(t,e)}addDatabaseComments(){return this.getRuleContext(0,Lo)}addTableComments(){return this.getRuleContext(0,Wo)}addColumnComments(){return this.getRuleContext(0,Ko)}get ruleIndex(){return s.RULE_addCommentStatement}enterRule(t){t.enterAddCommentStatement&&t.enterAddCommentStatement(this)}exitRule(t){t.exitAddCommentStatement&&t.exitAddCommentStatement(this)}accept(t){return t.visitAddCommentStatement?t.visitAddCommentStatement(this):t.visitChildren(this)}}class Lo extends T{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}databaseNamePath(){return this.getRuleContext(0,r1)}KW_IS(){return this.getToken(s.KW_IS,0)}stringLiteral(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_addDatabaseComments}enterRule(t){t.enterAddDatabaseComments&&t.enterAddDatabaseComments(this)}exitRule(t){t.exitAddDatabaseComments&&t.exitAddDatabaseComments(this)}accept(t){return t.visitAddDatabaseComments?t.visitAddDatabaseComments(this):t.visitChildren(this)}}class Wo extends T{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_IS(){return this.getToken(s.KW_IS,0)}stringLiteral(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_addTableComments}enterRule(t){t.enterAddTableComments&&t.enterAddTableComments(this)}exitRule(t){t.exitAddTableComments&&t.exitAddTableComments(this)}accept(t){return t.visitAddTableComments?t.visitAddTableComments(this):t.visitChildren(this)}}class Ko extends T{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnNamePath(){return this.getRuleContext(0,zt)}KW_IS(){return this.getToken(s.KW_IS,0)}stringLiteral(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(s.KW_NULL,0)}get ruleIndex(){return s.RULE_addColumnComments}enterRule(t){t.enterAddColumnComments&&t.enterAddColumnComments(this)}exitRule(t){t.exitAddColumnComments&&t.exitAddColumnComments(this)}accept(t){return t.visitAddColumnComments?t.visitAddColumnComments(this):t.visitChildren(this)}}class So extends T{constructor(t,e){super(t,e)}KW_EXPLAIN(){return this.getToken(s.KW_EXPLAIN,0)}sqlStatement(){return this.getRuleContext(0,Jn)}get ruleIndex(){return s.RULE_explainStatement}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class po extends T{constructor(t,e){super(t,e)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}identifier(){return this.getRuleContext(0,D)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_setStatement}enterRule(t){t.enterSetStatement&&t.enterSetStatement(this)}exitRule(t){t.exitSetStatement&&t.exitSetStatement(this)}accept(t){return t.visitSetStatement?t.visitSetStatement(this):t.visitChildren(this)}}class Oo extends T{constructor(t,e){super(t,e)}COLON(){return this.getToken(s.COLON,0)}KW_SHUTDOWN(){return this.getToken(s.KW_SHUTDOWN,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}stringLiteral(){return this.getRuleContext(0,Z)}expression(){return this.getRuleContext(0,b)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_shutdownStatement}enterRule(t){t.enterShutdownStatement&&t.enterShutdownStatement(this)}exitRule(t){t.exitShutdownStatement&&t.exitShutdownStatement(this)}accept(t){return t.visitShutdownStatement?t.visitShutdownStatement(this):t.visitChildren(this)}}class ko extends T{constructor(t,e){super(t,e)}KW_INVALIDATE(){return this.getToken(s.KW_INVALIDATE,0)}KW_METADATA(){return this.getToken(s.KW_METADATA,0)}tableNamePath(){return this.getRuleContext(0,H)}get ruleIndex(){return s.RULE_invalidateMetaStatement}enterRule(t){t.enterInvalidateMetaStatement&&t.enterInvalidateMetaStatement(this)}exitRule(t){t.exitInvalidateMetaStatement&&t.exitInvalidateMetaStatement(this)}accept(t){return t.visitInvalidateMetaStatement?t.visitInvalidateMetaStatement(this):t.visitChildren(this)}}class yo extends T{constructor(t,e){super(t,e)}KW_LOAD(){return this.getToken(s.KW_LOAD,0)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_INPATH(){return this.getToken(s.KW_INPATH,0)}STRING(){return this.getToken(s.STRING,0)}KW_INTO(){return this.getToken(s.KW_INTO,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_OVERWRITE(){return this.getToken(s.KW_OVERWRITE,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}get ruleIndex(){return s.RULE_loadDataStatement}enterRule(t){t.enterLoadDataStatement&&t.enterLoadDataStatement(this)}exitRule(t){t.exitLoadDataStatement&&t.exitLoadDataStatement(this)}accept(t){return t.visitLoadDataStatement?t.visitLoadDataStatement(this):t.visitChildren(this)}}class wo extends T{constructor(t,e){super(t,e)}refreshMeta(){return this.getRuleContext(0,Uo)}refreshAuth(){return this.getRuleContext(0,vo)}refreshFunction(){return this.getRuleContext(0,bo)}get ruleIndex(){return s.RULE_refreshStatement}enterRule(t){t.enterRefreshStatement&&t.enterRefreshStatement(this)}exitRule(t){t.exitRefreshStatement&&t.exitRefreshStatement(this)}accept(t){return t.visitRefreshStatement?t.visitRefreshStatement(this):t.visitChildren(this)}}class Uo extends T{constructor(t,e){super(t,e)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_refreshMeta}enterRule(t){t.enterRefreshMeta&&t.enterRefreshMeta(this)}exitRule(t){t.exitRefreshMeta&&t.exitRefreshMeta(this)}accept(t){return t.visitRefreshMeta?t.visitRefreshMeta(this):t.visitChildren(this)}}class vo extends T{constructor(t,e){super(t,e)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}get ruleIndex(){return s.RULE_refreshAuth}enterRule(t){t.enterRefreshAuth&&t.enterRefreshAuth(this)}exitRule(t){t.exitRefreshAuth&&t.exitRefreshAuth(this)}accept(t){return t.visitRefreshAuth?t.visitRefreshAuth(this):t.visitChildren(this)}}class bo extends T{constructor(t,e){super(t,e)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}functionNamePath(){return this.getRuleContext(0,q0)}get ruleIndex(){return s.RULE_refreshFunction}enterRule(t){t.enterRefreshFunction&&t.enterRefreshFunction(this)}exitRule(t){t.exitRefreshFunction&&t.exitRefreshFunction(this)}accept(t){return t.visitRefreshFunction?t.visitRefreshFunction(this):t.visitChildren(this)}}class n1 extends T{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class jt extends T{constructor(t,e){super(t,e)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}get ruleIndex(){return s.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class J0 extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class Do extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_databaseNameCreate}enterRule(t){t.enterDatabaseNameCreate&&t.enterDatabaseNameCreate(this)}exitRule(t){t.exitDatabaseNameCreate&&t.exitDatabaseNameCreate(this)}accept(t){return t.visitDatabaseNameCreate?t.visitDatabaseNameCreate(this):t.visitChildren(this)}}class Io extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class ir extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class ds extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_columnNamePathCreate}enterRule(t){t.enterColumnNamePathCreate&&t.enterColumnNamePathCreate(this)}exitRule(t){t.exitColumnNamePathCreate&&t.exitColumnNamePathCreate(this)}accept(t){return t.visitColumnNamePathCreate?t.visitColumnNamePathCreate(this):t.visitChildren(this)}}class r1 extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_databaseNamePath}enterRule(t){t.enterDatabaseNamePath&&t.enterDatabaseNamePath(this)}exitRule(t){t.exitDatabaseNamePath&&t.exitDatabaseNamePath(this)}accept(t){return t.visitDatabaseNamePath?t.visitDatabaseNamePath(this):t.visitChildren(this)}}class H extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_tableNamePath}enterRule(t){t.enterTableNamePath&&t.enterTableNamePath(this)}exitRule(t){t.exitTableNamePath&&t.exitTableNamePath(this)}accept(t){return t.visitTableNamePath?t.visitTableNamePath(this):t.visitChildren(this)}}class Ae extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_viewNamePath}enterRule(t){t.enterViewNamePath&&t.enterViewNamePath(this)}exitRule(t){t.exitViewNamePath&&t.exitViewNamePath(this)}accept(t){return t.visitViewNamePath?t.visitViewNamePath(this):t.visitChildren(this)}}class q0 extends T{constructor(t,e){super(t,e)}reservedKeywordsUsedAsFuncName(){return this.getRuleContext(0,La)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_functionNamePath}enterRule(t){t.enterFunctionNamePath&&t.enterFunctionNamePath(this)}exitRule(t){t.exitFunctionNamePath&&t.exitFunctionNamePath(this)}accept(t){return t.visitFunctionNamePath?t.visitFunctionNamePath(this):t.visitChildren(this)}}class zt extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}get ruleIndex(){return s.RULE_columnNamePath}enterRule(t){t.enterColumnNamePath&&t.enterColumnNamePath(this)}exitRule(t){t.exitColumnNamePath&&t.exitColumnNamePath(this)}accept(t){return t.visitColumnNamePath?t.visitColumnNamePath(this):t.visitChildren(this)}}class Mo extends T{constructor(t,e){super(t,e)}tableNamePath(){return this.getRuleContext(0,H)}viewNamePath(){return this.getRuleContext(0,Ae)}get ruleIndex(){return s.RULE_tableOrViewPath}enterRule(t){t.enterTableOrViewPath&&t.enterTableOrViewPath(this)}exitRule(t){t.exitTableOrViewPath&&t.exitTableOrViewPath(this)}accept(t){return t.visitTableOrViewPath?t.visitTableOrViewPath(this):t.visitChildren(this)}}class nr extends T{constructor(t,e){super(t,e)}KW_SORT(){return this.getToken(s.KW_SORT,0)}KW_BY(){return this.getToken(s.KW_BY,0)}columnAliases(){return this.getRuleContext(0,yt)}commentClause(){return this.getRuleContext(0,Ue)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_FORMAT(){return this.getToken(s.KW_FORMAT,0)}rowFormat(){return this.getRuleContext(0,fr)}KW_WITH(t){return t===void 0?this.getTokens(s.KW_WITH):this.getToken(s.KW_WITH,t)}KW_SERDEPROPERTIES(){return this.getToken(s.KW_SERDEPROPERTIES,0)}KW_STORED(){return this.getToken(s.KW_STORED,0)}KW_AS(){return this.getToken(s.KW_AS,0)}fileFormat(){return this.getRuleContext(0,lr)}KW_LOCATION(){return this.getToken(s.KW_LOCATION,0)}KW_CACHED(){return this.getToken(s.KW_CACHED,0)}KW_IN(){return this.getToken(s.KW_IN,0)}KW_UNCACHED(){return this.getToken(s.KW_UNCACHED,0)}KW_TBLPROPERTIES(){return this.getToken(s.KW_TBLPROPERTIES,0)}properties(t){return t===void 0?this.getRuleContexts(o1):this.getRuleContext(t,o1)}stringLiteral(){return this.getRuleContext(0,Z)}qualifiedName(){return this.getRuleContext(0,ft)}KW_REPLICATION(){return this.getToken(s.KW_REPLICATION,0)}EQ(){return this.getToken(s.EQ,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}get ruleIndex(){return s.RULE_createCommonItem}enterRule(t){t.enterCreateCommonItem&&t.enterCreateCommonItem(this)}exitRule(t){t.exitCreateCommonItem&&t.exitCreateCommonItem(this)}accept(t){return t.visitCreateCommonItem?t.visitCreateCommonItem(this):t.visitChildren(this)}}class Fo extends T{constructor(t,e){super(t,e)}assignmentItem(t){return t===void 0?this.getRuleContexts(rr):this.getRuleContext(t,rr)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_assignmentList}enterRule(t){t.enterAssignmentList&&t.enterAssignmentList(this)}exitRule(t){t.exitAssignmentList&&t.exitAssignmentList(this)}accept(t){return t.visitAssignmentList?t.visitAssignmentList(this):t.visitChildren(this)}}class rr extends T{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,ft)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_assignmentItem}enterRule(t){t.enterAssignmentItem&&t.enterAssignmentItem(this)}exitRule(t){t.exitAssignmentItem&&t.exitAssignmentItem(this)}accept(t){return t.visitAssignmentItem?t.visitAssignmentItem(this):t.visitChildren(this)}}class hr extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}viewColumnItem(t){return t===void 0?this.getRuleContexts(Es):this.getRuleContext(t,Es)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_viewColumns}enterRule(t){t.enterViewColumns&&t.enterViewColumns(this)}exitRule(t){t.exitViewColumns&&t.exitViewColumns(this)}accept(t){return t.visitViewColumns?t.visitViewColumns(this):t.visitChildren(this)}}class Es extends T{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,ds)}commentClause(){return this.getRuleContext(0,Ue)}get ruleIndex(){return s.RULE_viewColumnItem}enterRule(t){t.enterViewColumnItem&&t.enterViewColumnItem(this)}exitRule(t){t.exitViewColumnItem&&t.exitViewColumnItem(this)}accept(t){return t.visitViewColumnItem?t.visitViewColumnItem(this):t.visitChildren(this)}}class Zt extends T{constructor(t,e){super(t,e)}queryNoWith(){return this.getRuleContext(0,Tr)}with(){return this.getRuleContext(0,or)}get ruleIndex(){return s.RULE_queryStatement}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class or extends T{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}namedQuery(t){return t===void 0?this.getRuleContexts(Ar):this.getRuleContext(t,Ar)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_with}enterRule(t){t.enterWith&&t.enterWith(this)}exitRule(t){t.exitWith&&t.exitWith(this)}accept(t){return t.visitWith?t.visitWith(this):t.visitChildren(this)}}class Ho extends T{constructor(t,e){super(t,e)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnAliases(){return this.getRuleContext(0,yt)}KW_DISABLE(){return this.getToken(s.KW_DISABLE,0)}KW_NOVALIDATE(){return this.getToken(s.KW_NOVALIDATE,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_RELY(){return this.getToken(s.KW_RELY,0)}foreignKeySpecification(t){return t===void 0?this.getRuleContexts(ar):this.getRuleContext(t,ar)}get ruleIndex(){return s.RULE_constraintSpecification}enterRule(t){t.enterConstraintSpecification&&t.enterConstraintSpecification(this)}exitRule(t){t.exitConstraintSpecification&&t.exitConstraintSpecification(this)}accept(t){return t.visitConstraintSpecification?t.visitConstraintSpecification(this):t.visitChildren(this)}}class ar extends T{constructor(t,e){super(t,e)}KW_FOREIGN(){return this.getToken(s.KW_FOREIGN,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}columnAliases(t){return t===void 0?this.getRuleContexts(yt):this.getRuleContext(t,yt)}KW_REFERENCES(){return this.getToken(s.KW_REFERENCES,0)}tableNamePath(){return this.getRuleContext(0,H)}KW_DISABLE(){return this.getToken(s.KW_DISABLE,0)}KW_NOVALIDATE(){return this.getToken(s.KW_NOVALIDATE,0)}KW_RELY(){return this.getToken(s.KW_RELY,0)}get ruleIndex(){return s.RULE_foreignKeySpecification}enterRule(t){t.enterForeignKeySpecification&&t.enterForeignKeySpecification(this)}exitRule(t){t.exitForeignKeySpecification&&t.exitForeignKeySpecification(this)}accept(t){return t.visitForeignKeySpecification?t.visitForeignKeySpecification(this):t.visitChildren(this)}}class tn extends T{constructor(t,e){super(t,e)}columnNamePath(){return this.getRuleContext(0,zt)}type(){return this.getRuleContext(0,xt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,Z)}get ruleIndex(){return s.RULE_columnSpec}enterRule(t){t.enterColumnSpec&&t.enterColumnSpec(this)}exitRule(t){t.exitColumnSpec&&t.exitColumnSpec(this)}accept(t){return t.visitColumnSpec?t.visitColumnSpec(this):t.visitChildren(this)}}class fs extends T{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,ds)}type(){return this.getRuleContext(0,xt)}commentClause(){return this.getRuleContext(0,Ue)}get ruleIndex(){return s.RULE_columnDefinition}enterRule(t){t.enterColumnDefinition&&t.enterColumnDefinition(this)}exitRule(t){t.exitColumnDefinition&&t.exitColumnDefinition(this)}accept(t){return t.visitColumnDefinition?t.visitColumnDefinition(this):t.visitChildren(this)}}class Rs extends T{constructor(t,e){super(t,e)}kuduColumnDefinition(){return this.getRuleContext(0,Bo)}get ruleIndex(){return s.RULE_kuduTableElement}enterRule(t){t.enterKuduTableElement&&t.enterKuduTableElement(this)}exitRule(t){t.exitKuduTableElement&&t.exitKuduTableElement(this)}accept(t){return t.visitKuduTableElement?t.visitKuduTableElement(this):t.visitChildren(this)}}class Bo extends T{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,ds)}type(){return this.getRuleContext(0,xt)}kuduAttributes(t){return t===void 0?this.getRuleContexts(h1):this.getRuleContext(t,h1)}commentClause(){return this.getRuleContext(0,Ue)}KW_PRIMARY(){return this.getToken(s.KW_PRIMARY,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}get ruleIndex(){return s.RULE_kuduColumnDefinition}enterRule(t){t.enterKuduColumnDefinition&&t.enterKuduColumnDefinition(this)}exitRule(t){t.exitKuduColumnDefinition&&t.exitKuduColumnDefinition(this)}accept(t){return t.visitKuduColumnDefinition?t.visitKuduColumnDefinition(this):t.visitChildren(this)}}class Ue extends T{constructor(t,e){super(t,e)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,Z)}get ruleIndex(){return s.RULE_commentClause}enterRule(t){t.enterCommentClause&&t.enterCommentClause(this)}exitRule(t){t.exitCommentClause&&t.exitCommentClause(this)}accept(t){return t.visitCommentClause?t.visitCommentClause(this):t.visitChildren(this)}}class en extends T{constructor(t,e){super(t,e)}columnSpec(){return this.getRuleContext(0,tn)}kuduAttributes(t){return t===void 0?this.getRuleContexts(h1):this.getRuleContext(t,h1)}get ruleIndex(){return s.RULE_columnSpecWithKudu}enterRule(t){t.enterColumnSpecWithKudu&&t.enterColumnSpecWithKudu(this)}exitRule(t){t.exitColumnSpecWithKudu&&t.exitColumnSpecWithKudu(this)}accept(t){return t.visitColumnSpecWithKudu?t.visitColumnSpecWithKudu(this):t.visitChildren(this)}}class Vo extends T{constructor(t,e){super(t,e)}columnNamePathCreate(){return this.getRuleContext(0,ds)}type(){return this.getRuleContext(0,xt)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}stringLiteral(){return this.getRuleContext(0,Z)}kuduAttributes(t){return t===void 0?this.getRuleContexts(h1):this.getRuleContext(t,h1)}get ruleIndex(){return s.RULE_createColumnSpecWithKudu}enterRule(t){t.enterCreateColumnSpecWithKudu&&t.enterCreateColumnSpecWithKudu(this)}exitRule(t){t.exitCreateColumnSpecWithKudu&&t.exitCreateColumnSpecWithKudu(this)}accept(t){return t.visitCreateColumnSpecWithKudu?t.visitCreateColumnSpecWithKudu(this):t.visitChildren(this)}}class h1 extends T{constructor(t,e){super(t,e)}KW_NULL(){return this.getToken(s.KW_NULL,0)}kuduStorageAttr(){return this.getRuleContext(0,ur)}KW_NOT(){return this.getToken(s.KW_NOT,0)}get ruleIndex(){return s.RULE_kuduAttributes}enterRule(t){t.enterKuduAttributes&&t.enterKuduAttributes(this)}exitRule(t){t.exitKuduAttributes&&t.exitKuduAttributes(this)}accept(t){return t.visitKuduAttributes?t.visitKuduAttributes(this):t.visitChildren(this)}}class ur extends T{constructor(t,e){super(t,e)}KW_ENCODING(){return this.getToken(s.KW_ENCODING,0)}expression(){return this.getRuleContext(0,b)}KW_COMPRESSION(){return this.getToken(s.KW_COMPRESSION,0)}KW_DEFAULT(){return this.getToken(s.KW_DEFAULT,0)}KW_BLOCK_SIZE(){return this.getToken(s.KW_BLOCK_SIZE,0)}number(){return this.getRuleContext(0,qt)}get ruleIndex(){return s.RULE_kuduStorageAttr}enterRule(t){t.enterKuduStorageAttr&&t.enterKuduStorageAttr(this)}exitRule(t){t.exitKuduStorageAttr&&t.exitKuduStorageAttr(this)}accept(t){return t.visitKuduStorageAttr?t.visitKuduStorageAttr(this):t.visitChildren(this)}}class cr extends T{constructor(t,e){super(t,e)}STATS_NUMDVS(){return this.getToken(s.STATS_NUMDVS,0)}STATS_NUMNULLS(){return this.getToken(s.STATS_NUMNULLS,0)}STATS_AVGSIZE(){return this.getToken(s.STATS_AVGSIZE,0)}STATS_MAXSIZE(){return this.getToken(s.STATS_MAXSIZE,0)}get ruleIndex(){return s.RULE_statsKey}enterRule(t){t.enterStatsKey&&t.enterStatsKey(this)}exitRule(t){t.exitStatsKey&&t.exitStatsKey(this)}accept(t){return t.visitStatsKey?t.visitStatsKey(this):t.visitChildren(this)}}class lr extends T{constructor(t,e){super(t,e)}KW_TEXTFILE(){return this.getToken(s.KW_TEXTFILE,0)}KW_PARQUET(){return this.getToken(s.KW_PARQUET,0)}KW_ORC(){return this.getToken(s.KW_ORC,0)}KW_AVRO(){return this.getToken(s.KW_AVRO,0)}KW_SEQUENCEFILE(){return this.getToken(s.KW_SEQUENCEFILE,0)}KW_RCFILE(){return this.getToken(s.KW_RCFILE,0)}get ruleIndex(){return s.RULE_fileFormat}enterRule(t){t.enterFileFormat&&t.enterFileFormat(this)}exitRule(t){t.exitFileFormat&&t.exitFileFormat(this)}accept(t){return t.visitFileFormat?t.visitFileFormat(this):t.visitChildren(this)}}class Po extends T{constructor(t,e){super(t,e)}hashClause(t){return t===void 0?this.getRuleContexts(dr):this.getRuleContext(t,dr)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}rangeClause(){return this.getRuleContext(0,Go)}get ruleIndex(){return s.RULE_kuduPartitionClause}enterRule(t){t.enterKuduPartitionClause&&t.enterKuduPartitionClause(this)}exitRule(t){t.exitKuduPartitionClause&&t.exitKuduPartitionClause(this)}accept(t){return t.visitKuduPartitionClause?t.visitKuduPartitionClause(this):t.visitChildren(this)}}class dr extends T{constructor(t,e){super(t,e)}KW_HASH(){return this.getToken(s.KW_HASH,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}number(){return this.getRuleContext(0,qt)}columnAliases(){return this.getRuleContext(0,yt)}get ruleIndex(){return s.RULE_hashClause}enterRule(t){t.enterHashClause&&t.enterHashClause(this)}exitRule(t){t.exitHashClause&&t.exitHashClause(this)}accept(t){return t.visitHashClause?t.visitHashClause(this):t.visitChildren(this)}}class Go extends T{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PARTITION(t){return t===void 0?this.getTokens(s.KW_PARTITION):this.getToken(s.KW_PARTITION,t)}kuduPartitionSpec(t){return t===void 0?this.getRuleContexts(Ts):this.getRuleContext(t,Ts)}columnAliases(){return this.getRuleContext(0,yt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_rangeClause}enterRule(t){t.enterRangeClause&&t.enterRangeClause(this)}exitRule(t){t.exitRangeClause&&t.exitRangeClause(this)}accept(t){return t.visitRangeClause?t.visitRangeClause(this):t.visitChildren(this)}}class Ts extends T{constructor(t,e){super(t,e)}KW_VALUE(){return this.getToken(s.KW_VALUE,0)}partitionCol(){return this.getRuleContext(0,Qo)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}rangeOperator(t){return t===void 0?this.getRuleContexts(sn):this.getRuleContext(t,sn)}get ruleIndex(){return s.RULE_kuduPartitionSpec}enterRule(t){t.enterKuduPartitionSpec&&t.enterKuduPartitionSpec(this)}exitRule(t){t.exitKuduPartitionSpec&&t.exitKuduPartitionSpec(this)}accept(t){return t.visitKuduPartitionSpec?t.visitKuduPartitionSpec(this):t.visitChildren(this)}}class Yo extends T{constructor(t,e){super(t,e)}KW_CACHED(){return this.getToken(s.KW_CACHED,0)}KW_IN(){return this.getToken(s.KW_IN,0)}identifier(){return this.getRuleContext(0,D)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_REPLICATION(){return this.getToken(s.KW_REPLICATION,0)}EQ(){return this.getToken(s.EQ,0)}number(){return this.getRuleContext(0,qt)}KW_UNCACHED(){return this.getToken(s.KW_UNCACHED,0)}get ruleIndex(){return s.RULE_cacheSpec}enterRule(t){t.enterCacheSpec&&t.enterCacheSpec(this)}exitRule(t){t.exitCacheSpec&&t.exitCacheSpec(this)}accept(t){return t.visitCacheSpec?t.visitCacheSpec(this):t.visitChildren(this)}}class sn extends T{constructor(t,e){super(t,e)}LT(){return this.getToken(s.LT,0)}LTE(){return this.getToken(s.LTE,0)}GT(){return this.getToken(s.GT,0)}GTE(){return this.getToken(s.GTE,0)}get ruleIndex(){return s.RULE_rangeOperator}enterRule(t){t.enterRangeOperator&&t.enterRangeOperator(this)}exitRule(t){t.exitRangeOperator&&t.exitRangeOperator(this)}accept(t){return t.visitRangeOperator?t.visitRangeOperator(this):t.visitChildren(this)}}class Qo extends T{constructor(t,e){super(t,e)}EQ(){return this.getToken(s.EQ,0)}NEQ(){return this.getToken(s.NEQ,0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_RLIKE(){return this.getToken(s.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(s.KW_REGEXP,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_IN(){return this.getToken(s.KW_IN,0)}rangeOperator(){return this.getRuleContext(0,sn)}get ruleIndex(){return s.RULE_partitionCol}enterRule(t){t.enterPartitionCol&&t.enterPartitionCol(this)}exitRule(t){t.exitPartitionCol&&t.exitPartitionCol(this)}accept(t){return t.visitPartitionCol?t.visitPartitionCol(this):t.visitChildren(this)}}class il extends T{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}qualifiedName(){return this.getRuleContext(0,ft)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}get ruleIndex(){return s.RULE_likeClause}enterRule(t){t.enterLikeClause&&t.enterLikeClause(this)}exitRule(t){t.exitLikeClause&&t.exitLikeClause(this)}accept(t){return t.visitLikeClause?t.visitLikeClause(this):t.visitChildren(this)}}class o1 extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}property(t){return t===void 0?this.getRuleContexts(Rr):this.getRuleContext(t,Rr)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_properties}enterRule(t){t.enterProperties&&t.enterProperties(this)}exitRule(t){t.exitProperties&&t.exitProperties(this)}accept(t){return t.visitProperties?t.visitProperties(this):t.visitChildren(this)}}class Er extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}columnSpec(t){return t===void 0?this.getRuleContexts(tn):this.getRuleContext(t,tn)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_partitionedBy}enterRule(t){t.enterPartitionedBy&&t.enterPartitionedBy(this)}exitRule(t){t.exitPartitionedBy&&t.exitPartitionedBy(this)}accept(t){return t.visitPartitionedBy?t.visitPartitionedBy(this):t.visitChildren(this)}}class nl extends T{constructor(t,e){super(t,e)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_sortedBy}enterRule(t){t.enterSortedBy&&t.enterSortedBy(this)}exitRule(t){t.exitSortedBy&&t.exitSortedBy(this)}accept(t){return t.visitSortedBy?t.visitSortedBy(this):t.visitChildren(this)}}class fr extends T{constructor(t,e){super(t,e)}KW_DELIMITED(){return this.getToken(s.KW_DELIMITED,0)}KW_FIELDS(){return this.getToken(s.KW_FIELDS,0)}KW_TERMINATED(t){return t===void 0?this.getTokens(s.KW_TERMINATED):this.getToken(s.KW_TERMINATED,t)}KW_BY(t){return t===void 0?this.getTokens(s.KW_BY):this.getToken(s.KW_BY,t)}stringLiteral(t){return t===void 0?this.getRuleContexts(Z):this.getRuleContext(t,Z)}KW_LINES(){return this.getToken(s.KW_LINES,0)}KW_ESCAPED(){return this.getToken(s.KW_ESCAPED,0)}get ruleIndex(){return s.RULE_rowFormat}enterRule(t){t.enterRowFormat&&t.enterRowFormat(this)}exitRule(t){t.exitRowFormat&&t.exitRowFormat(this)}accept(t){return t.visitRowFormat?t.visitRowFormat(this):t.visitChildren(this)}}class Rr extends T{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,D)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}class Tr extends T{constructor(t,e){super(t,e)}queryTerm(){return this.getRuleContext(0,ve)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(a1):this.getRuleContext(t,a1)}KW_LIMIT(){return this.getToken(s.KW_LIMIT,0)}expression(){return this.getRuleContext(0,b)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_OFFSET(){return this.getToken(s.KW_OFFSET,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}get ruleIndex(){return s.RULE_queryNoWith}enterRule(t){t.enterQueryNoWith&&t.enterQueryNoWith(this)}exitRule(t){t.exitQueryNoWith&&t.exitQueryNoWith(this)}accept(t){return t.visitQueryNoWith?t.visitQueryNoWith(this):t.visitChildren(this)}}class ve extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_queryTerm}copyFrom(t){super.copyFrom(t)}}class rl extends ve{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryPrimary(){return this.getRuleContext(0,k1)}enterRule(t){t.enterQueryTermDefault&&t.enterQueryTermDefault(this)}exitRule(t){t.exitQueryTermDefault&&t.exitQueryTermDefault(this)}accept(t){return t.visitQueryTermDefault?t.visitQueryTermDefault(this):t.visitChildren(this)}}class Xo extends ve{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryTerm(t){return t===void 0?this.getRuleContexts(ve):this.getRuleContext(t,ve)}KW_INTERSECT(){return this.getToken(s.KW_INTERSECT,0)}setQuantifier(){return this.getRuleContext(0,As)}KW_UNION(){return this.getToken(s.KW_UNION,0)}KW_EXCEPT(){return this.getToken(s.KW_EXCEPT,0)}enterRule(t){t.enterSetOperation&&t.enterSetOperation(this)}exitRule(t){t.exitSetOperation&&t.exitSetOperation(this)}accept(t){return t.visitSetOperation?t.visitSetOperation(this):t.visitChildren(this)}}class k1 extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_queryPrimary}copyFrom(t){super.copyFrom(t)}}class hl extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}queryNoWith(){return this.getRuleContext(0,Tr)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterSubquery&&t.enterSubquery(this)}exitRule(t){t.exitSubquery&&t.exitSubquery(this)}accept(t){return t.visitSubquery?t.visitSubquery(this):t.visitChildren(this)}}class ol extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecification(){return this.getRuleContext(0,$o)}enterRule(t){t.enterQueryPrimaryDefault&&t.enterQueryPrimaryDefault(this)}exitRule(t){t.exitQueryPrimaryDefault&&t.exitQueryPrimaryDefault(this)}accept(t){return t.visitQueryPrimaryDefault?t.visitQueryPrimaryDefault(this):t.visitChildren(this)}}class al extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNamePath(){return this.getRuleContext(0,H)}enterRule(t){t.enterTable&&t.enterTable(this)}exitRule(t){t.exitTable&&t.exitTable(this)}accept(t){return t.visitTable?t.visitTable(this):t.visitChildren(this)}}class ul extends k1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}class a1 extends T{constructor(t,e){super(t,e)}columnItem(){return this.getRuleContext(0,_s)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}get ruleIndex(){return s.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}class $o extends T{constructor(t,e){super(t,e)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}selectItem(t){return t===void 0?this.getRuleContexts(xs):this.getRuleContext(t,xs)}setQuantifier(){return this.getRuleContext(0,As)}KW_STRAIGHT_JOIN(){return this.getToken(s.KW_STRAIGHT_JOIN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_FROM(){return this.getToken(s.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_BY(){return this.getToken(s.KW_BY,0)}groupBy(){return this.getRuleContext(0,jo)}KW_HAVING(){return this.getToken(s.KW_HAVING,0)}booleanExpression(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}get ruleIndex(){return s.RULE_querySpecification}enterRule(t){t.enterQuerySpecification&&t.enterQuerySpecification(this)}exitRule(t){t.exitQuerySpecification&&t.exitQuerySpecification(this)}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}}class jo extends T{constructor(t,e){super(t,e)}groupingElement(t){return t===void 0?this.getRuleContexts(nn):this.getRuleContext(t,nn)}setQuantifier(){return this.getRuleContext(0,As)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_groupBy}enterRule(t){t.enterGroupBy&&t.enterGroupBy(this)}exitRule(t){t.exitGroupBy&&t.exitGroupBy(this)}accept(t){return t.visitGroupBy?t.visitGroupBy(this):t.visitChildren(this)}}class nn extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_groupingElement}copyFrom(t){super.copyFrom(t)}}class cl extends nn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}groupingSet(){return this.getRuleContext(0,zo)}enterRule(t){t.enterSingleGroupingSet&&t.enterSingleGroupingSet(this)}exitRule(t){t.exitSingleGroupingSet&&t.exitSingleGroupingSet(this)}accept(t){return t.visitSingleGroupingSet?t.visitSingleGroupingSet(this):t.visitChildren(this)}}class zo extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}columnItem(t){return t===void 0?this.getRuleContexts(_s):this.getRuleContext(t,_s)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}class Ar extends T{constructor(t,e){super(t,e)}KW_AS(){return this.getToken(s.KW_AS,0)}subQueryRelation(){return this.getRuleContext(0,gs)}identifier(){return this.getRuleContext(0,D)}columnAliases(){return this.getRuleContext(0,yt)}get ruleIndex(){return s.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}class As extends T{constructor(t,e){super(t,e)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class xs extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_selectItem}copyFrom(t){super.copyFrom(t)}}class Zo extends xs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}qualifiedName(){return this.getRuleContext(0,ft)}DOT(){return this.getToken(s.DOT,0)}ASTERISK(){return this.getToken(s.ASTERISK,0)}enterRule(t){t.enterSelectAll&&t.enterSelectAll(this)}exitRule(t){t.exitSelectAll&&t.exitSelectAll(this)}accept(t){return t.visitSelectAll?t.visitSelectAll(this):t.visitChildren(this)}}class ll extends xs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnItem(){return this.getRuleContext(0,_s)}identifier(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(s.KW_AS,0)}enterRule(t){t.enterSelectSingle&&t.enterSelectSingle(this)}exitRule(t){t.exitSelectSingle&&t.exitSelectSingle(this)}accept(t){return t.visitSelectSingle?t.visitSelectSingle(this):t.visitChildren(this)}}class It extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_relation}copyFrom(t){super.copyFrom(t)}}class dl extends It{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}sampledRelation(){return this.getRuleContext(0,rn)}enterRule(t){t.enterRelationDefault&&t.enterRelationDefault(this)}exitRule(t){t.exitRelationDefault&&t.exitRelationDefault(this)}accept(t){return t.visitRelationDefault?t.visitRelationDefault(this):t.visitChildren(this)}}class El extends It{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}relation(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_CROSS(){return this.getToken(s.KW_CROSS,0)}KW_JOIN(){return this.getToken(s.KW_JOIN,0)}joinType(){return this.getRuleContext(0,Jo)}joinCriteria(){return this.getRuleContext(0,qo)}sampledRelation(){return this.getRuleContext(0,rn)}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}class Jo extends T{constructor(t,e){super(t,e)}KW_INNER(){return this.getToken(s.KW_INNER,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_OUTER(){return this.getToken(s.KW_OUTER,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}KW_SEMI(){return this.getToken(s.KW_SEMI,0)}KW_ANTI(){return this.getToken(s.KW_ANTI,0)}get ruleIndex(){return s.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}class qo extends T{constructor(t,e){super(t,e)}KW_ON(){return this.getToken(s.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,Ct)}KW_USING(){return this.getToken(s.KW_USING,0)}LPAREN(){return this.getToken(s.LPAREN,0)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}class rn extends T{constructor(t,e){super(t,e)}aliasedRelation(){return this.getRuleContext(0,ea)}KW_TABLESAMPLE(){return this.getToken(s.KW_TABLESAMPLE,0)}sampleType(){return this.getRuleContext(0,ta)}LPAREN(t){return t===void 0?this.getTokens(s.LPAREN):this.getToken(s.LPAREN,t)}RPAREN(t){return t===void 0?this.getTokens(s.RPAREN):this.getToken(s.RPAREN,t)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}KW_REPEATABLE(){return this.getToken(s.KW_REPEATABLE,0)}get ruleIndex(){return s.RULE_sampledRelation}enterRule(t){t.enterSampledRelation&&t.enterSampledRelation(this)}exitRule(t){t.exitSampledRelation&&t.exitSampledRelation(this)}accept(t){return t.visitSampledRelation?t.visitSampledRelation(this):t.visitChildren(this)}}class ta extends T{constructor(t,e){super(t,e)}KW_BERNOULLI(){return this.getToken(s.KW_BERNOULLI,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}get ruleIndex(){return s.RULE_sampleType}enterRule(t){t.enterSampleType&&t.enterSampleType(this)}exitRule(t){t.exitSampleType&&t.exitSampleType(this)}accept(t){return t.visitSampleType?t.visitSampleType(this):t.visitChildren(this)}}class ea extends T{constructor(t,e){super(t,e)}relationPrimary(){return this.getRuleContext(0,sa)}identifier(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(s.KW_AS,0)}columnAliases(){return this.getRuleContext(0,yt)}get ruleIndex(){return s.RULE_aliasedRelation}enterRule(t){t.enterAliasedRelation&&t.enterAliasedRelation(this)}exitRule(t){t.exitAliasedRelation&&t.exitAliasedRelation(this)}accept(t){return t.visitAliasedRelation?t.visitAliasedRelation(this):t.visitChildren(this)}}class yt extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}columnNamePath(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_columnAliases}enterRule(t){t.enterColumnAliases&&t.enterColumnAliases(this)}exitRule(t){t.exitColumnAliases&&t.exitColumnAliases(this)}accept(t){return t.visitColumnAliases?t.visitColumnAliases(this):t.visitChildren(this)}}class sa extends T{constructor(t,e){super(t,e)}tableOrViewPath(){return this.getRuleContext(0,Mo)}subQueryRelation(){return this.getRuleContext(0,gs)}KW_LATERAL(){return this.getToken(s.KW_LATERAL,0)}unnest(){return this.getRuleContext(0,ia)}parenthesizedRelation(){return this.getRuleContext(0,na)}get ruleIndex(){return s.RULE_relationPrimary}enterRule(t){t.enterRelationPrimary&&t.enterRelationPrimary(this)}exitRule(t){t.exitRelationPrimary&&t.exitRelationPrimary(this)}accept(t){return t.visitRelationPrimary?t.visitRelationPrimary(this):t.visitChildren(this)}}class gs extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}queryStatement(){return this.getRuleContext(0,Zt)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_subQueryRelation}enterRule(t){t.enterSubQueryRelation&&t.enterSubQueryRelation(this)}exitRule(t){t.exitSubQueryRelation&&t.exitSubQueryRelation(this)}accept(t){return t.visitSubQueryRelation?t.visitSubQueryRelation(this):t.visitChildren(this)}}class ia extends T{constructor(t,e){super(t,e)}KW_UNNEST(){return this.getToken(s.KW_UNNEST,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_ORDINALITY(){return this.getToken(s.KW_ORDINALITY,0)}get ruleIndex(){return s.RULE_unnest}enterRule(t){t.enterUnnest&&t.enterUnnest(this)}exitRule(t){t.exitUnnest&&t.exitUnnest(this)}accept(t){return t.visitUnnest?t.visitUnnest(this):t.visitChildren(this)}}class na extends T{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(s.LPAREN,0)}relation(){return this.getRuleContext(0,It)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_parenthesizedRelation}enterRule(t){t.enterParenthesizedRelation&&t.enterParenthesizedRelation(this)}exitRule(t){t.exitParenthesizedRelation&&t.exitParenthesizedRelation(this)}accept(t){return t.visitParenthesizedRelation?t.visitParenthesizedRelation(this):t.visitChildren(this)}}class _s extends T{constructor(t,e){super(t,e)}columnNamePath(){return this.getRuleContext(0,zt)}expression(){return this.getRuleContext(0,b)}get ruleIndex(){return s.RULE_columnItem}enterRule(t){t.enterColumnItem&&t.enterColumnItem(this)}exitRule(t){t.exitColumnItem&&t.exitColumnItem(this)}accept(t){return t.visitColumnItem?t.visitColumnItem(this):t.visitChildren(this)}}class b extends T{constructor(t,e){super(t,e)}booleanExpression(){return this.getRuleContext(0,Ct)}get ruleIndex(){return s.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class Ct extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}class fl extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NOT(){return this.getToken(s.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,Ct)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}class Rl extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,q)}predicate(){return this.getRuleContext(0,Jt)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}class ra extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_OR(){return this.getToken(s.KW_OR,0)}enterRule(t){t.enterLogicalBinary&&t.enterLogicalBinary(this)}exitRule(t){t.exitLogicalBinary&&t.exitLogicalBinary(this)}accept(t){return t.visitLogicalBinary?t.visitLogicalBinary(this):t.visitChildren(this)}}class Jt extends T{constructor(t,e,i){super(t,e),this.value=i}get ruleIndex(){return s.RULE_predicate}copyFrom(t){super.copyFrom(t),this.value=t.value}}class Tl extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_UNKNOWN(){return this.getToken(s.KW_UNKNOWN,0)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterNullOrUnKnownOrBooleanPredicate&&t.enterNullOrUnKnownOrBooleanPredicate(this)}exitRule(t){t.exitNullOrUnKnownOrBooleanPredicate&&t.exitNullOrUnKnownOrBooleanPredicate(this)}accept(t){return t.visitNullOrUnKnownOrBooleanPredicate?t.visitNullOrUnKnownOrBooleanPredicate(this):t.visitChildren(this)}}class Al extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_REGEXP(){return this.getToken(s.KW_REGEXP,0)}KW_IREGEXP(){return this.getToken(s.KW_IREGEXP,0)}valueExpression(){return this.getRuleContext(0,q)}enterRule(t){t.enterREGEXP&&t.enterREGEXP(this)}exitRule(t){t.exitREGEXP&&t.exitREGEXP(this)}accept(t){return t.visitREGEXP?t.visitREGEXP(this):t.visitChildren(this)}}class xl extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,xr)}valueExpression(){return this.getRuleContext(0,q)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}class gl extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_ILIKE(){return this.getToken(s.KW_ILIKE,0)}KW_RLIKE(){return this.getToken(s.KW_RLIKE,0)}valueExpression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterLike&&t.enterLike(this)}exitRule(t){t.exitLike&&t.exitLike(this)}accept(t){return t.visitLike?t.visitLike(this):t.visitChildren(this)}}class _l extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(s.KW_IN,0)}subQueryRelation(){return this.getRuleContext(0,gs)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterInSubquery&&t.enterInSubquery(this)}exitRule(t){t.exitInSubquery&&t.exitInSubquery(this)}accept(t){return t.visitInSubquery?t.visitInSubquery(this):t.visitChildren(this)}}class Cl extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,q)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterDistinctFrom&&t.enterDistinctFrom(this)}exitRule(t){t.exitDistinctFrom&&t.exitDistinctFrom(this)}accept(t){return t.visitDistinctFrom?t.visitDistinctFrom(this):t.visitChildren(this)}}class Nl extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(s.KW_IN,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterInList&&t.enterInList(this)}exitRule(t){t.exitInList&&t.exitInList(this)}accept(t){return t.visitInList?t.visitInList(this):t.visitChildren(this)}}class ml extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_AND(){return this.getToken(s.KW_AND,0)}valueExpression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterBetween&&t.enterBetween(this)}exitRule(t){t.exitBetween&&t.exitBetween(this)}accept(t){return t.visitBetween?t.visitBetween(this):t.visitChildren(this)}}class Ll extends Jt{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,xr)}comparisonQuantifier(){return this.getRuleContext(0,da)}subQueryRelation(){return this.getRuleContext(0,gs)}enterRule(t){t.enterQuantifiedComparison&&t.enterQuantifiedComparison(this)}exitRule(t){t.exitQuantifiedComparison&&t.exitQuantifiedComparison(this)}accept(t){return t.visitQuantifiedComparison?t.visitQuantifiedComparison(this):t.visitChildren(this)}}class q extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}class Wl extends q{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,G)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}class Kl extends q{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONCAT(){return this.getToken(s.CONCAT,0)}valueExpression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}enterRule(t){t.enterConcatenation&&t.enterConcatenation(this)}exitRule(t){t.exitConcatenation&&t.exitConcatenation(this)}accept(t){return t.visitConcatenation?t.visitConcatenation(this):t.visitChildren(this)}}class ha extends q{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}ASTERISK(){return this.getToken(s.ASTERISK,0)}SLASH(){return this.getToken(s.SLASH,0)}PERCENT(){return this.getToken(s.PERCENT,0)}PLUS(){return this.getToken(s.PLUS,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}class Sl extends q{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,q)}MINUS(){return this.getToken(s.MINUS,0)}PLUS(){return this.getToken(s.PLUS,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}class G extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}class pl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DOT(){return this.getToken(s.DOT,0)}primaryExpression(){return this.getRuleContext(0,G)}identifier(){return this.getRuleContext(0,D)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}class oa extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,D)}stringLiteral(){return this.getRuleContext(0,Z)}DOUBLE_PRECISION(){return this.getToken(s.DOUBLE_PRECISION,0)}enterRule(t){t.enterTypeConstructor&&t.enterTypeConstructor(this)}exitRule(t){t.exitTypeConstructor&&t.exitTypeConstructor(this)}accept(t){return t.visitTypeConstructor?t.visitTypeConstructor(this):t.visitChildren(this)}}class Cs extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(s.KW_CURRENT_TIME,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(s.KW_LOCALTIMESTAMP,0)}enterRule(t){t.enterSpecialDateTimeFunction&&t.enterSpecialDateTimeFunction(this)}exitRule(t){t.exitSpecialDateTimeFunction&&t.exitSpecialDateTimeFunction(this)}accept(t){return t.visitSpecialDateTimeFunction?t.visitSpecialDateTimeFunction(this):t.visitChildren(this)}}class Ol extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}LPAREN(){return this.getToken(s.LPAREN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}KW_FROM(){return this.getToken(s.KW_FROM,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}enterRule(t){t.enterSubstring&&t.enterSubstring(this)}exitRule(t){t.exitSubstring&&t.exitSubstring(this)}accept(t){return t.visitSubstring?t.visitSubstring(this):t.visitChildren(this)}}class aa extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CAST(){return this.getToken(s.KW_CAST,0)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(){return this.getRuleContext(0,b)}KW_AS(){return this.getToken(s.KW_AS,0)}type(){return this.getRuleContext(0,xt)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}class ua extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}RIGHT_ARROW(){return this.getToken(s.RIGHT_ARROW,0)}expression(){return this.getRuleContext(0,b)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterLambda&&t.enterLambda(this)}exitRule(t){t.exitLambda&&t.exitLambda(this)}accept(t){return t.visitLambda?t.visitLambda(this):t.visitChildren(this)}}class kl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(){return this.getRuleContext(0,b)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}class yl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}stringLiteral(){return this.getRuleContext(0,Z)}enterRule(t){t.enterStringLiteralValues&&t.enterStringLiteralValues(this)}exitRule(t){t.exitStringLiteralValues&&t.exitStringLiteralValues(this)}accept(t){return t.visitStringLiteralValues?t.visitStringLiteralValues(this):t.visitChildren(this)}}class wl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUESTION(){return this.getToken(s.QUESTION,0)}enterRule(t){t.enterParameter&&t.enterParameter(this)}exitRule(t){t.exitParameter&&t.exitParameter(this)}accept(t){return t.visitParameter?t.visitParameter(this):t.visitChildren(this)}}class Ul extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NORMALIZE(){return this.getToken(s.KW_NORMALIZE,0)}LPAREN(){return this.getToken(s.LPAREN,0)}valueExpression(){return this.getRuleContext(0,q)}RPAREN(){return this.getToken(s.RPAREN,0)}COMMA(){return this.getToken(s.COMMA,0)}normalForm(){return this.getRuleContext(0,Ta)}enterRule(t){t.enterNormalize&&t.enterNormalize(this)}exitRule(t){t.exitNormalize&&t.exitNormalize(this)}accept(t){return t.visitNormalize?t.visitNormalize(this):t.visitChildren(this)}}class vl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}interval(){return this.getRuleContext(0,fa)}enterRule(t){t.enterIntervalLiteral&&t.enterIntervalLiteral(this)}exitRule(t){t.exitIntervalLiteral&&t.exitIntervalLiteral(this)}accept(t){return t.visitIntervalLiteral?t.visitIntervalLiteral(this):t.visitChildren(this)}}class bl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}number(){return this.getRuleContext(0,qt)}enterRule(t){t.enterNumericLiteral&&t.enterNumericLiteral(this)}exitRule(t){t.exitNumericLiteral&&t.exitNumericLiteral(this)}accept(t){return t.visitNumericLiteral?t.visitNumericLiteral(this):t.visitChildren(this)}}class Dl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanValue(){return this.getRuleContext(0,Ea)}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}class Il extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}valueExpression(){return this.getRuleContext(0,q)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(Ns):this.getRuleContext(t,Ns)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,b)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}class Ml extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,D)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}class Fl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NULL(){return this.getToken(s.KW_NULL,0)}enterRule(t){t.enterNullLiteral&&t.enterNullLiteral(this)}exitRule(t){t.exitNullLiteral&&t.exitNullLiteral(this)}accept(t){return t.visitNullLiteral?t.visitNullLiteral(this):t.visitChildren(this)}}class ca extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_AS(t){return t===void 0?this.getTokens(s.KW_AS):this.getToken(s.KW_AS,t)}type_(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_ROW(){return this.getToken(s.KW_ROW,0)}enterRule(t){t.enterRowConstructor&&t.enterRowConstructor(this)}exitRule(t){t.exitRowConstructor&&t.exitRowConstructor(this)}accept(t){return t.visitRowConstructor?t.visitRowConstructor(this):t.visitChildren(this)}}class Hl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LSQUARE(){return this.getToken(s.LSQUARE,0)}RSQUARE(){return this.getToken(s.RSQUARE,0)}primaryExpression(){return this.getRuleContext(0,G)}valueExpression(){return this.getRuleContext(0,q)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}class Bl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_PATH(){return this.getToken(s.KW_CURRENT_PATH,0)}enterRule(t){t.enterCurrentPath&&t.enterCurrentPath(this)}exitRule(t){t.exitCurrentPath&&t.exitCurrentPath(this)}accept(t){return t.visitCurrentPath?t.visitCurrentPath(this):t.visitChildren(this)}}class Vl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(s.LPAREN,0)}queryStatement(){return this.getRuleContext(0,Zt)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}class Pl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BINARY_LITERAL(){return this.getToken(s.BINARY_LITERAL,0)}enterRule(t){t.enterBinaryLiteral&&t.enterBinaryLiteral(this)}exitRule(t){t.exitBinaryLiteral&&t.exitBinaryLiteral(this)}accept(t){return t.visitBinaryLiteral?t.visitBinaryLiteral(this):t.visitChildren(this)}}class Gl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_USER(){return this.getToken(s.KW_CURRENT_USER,0)}enterRule(t){t.enterCurrentUser&&t.enterCurrentUser(this)}exitRule(t){t.exitCurrentUser&&t.exitCurrentUser(this)}accept(t){return t.visitCurrentUser?t.visitCurrentUser(this):t.visitChildren(this)}}class Yl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}LPAREN(){return this.getToken(s.LPAREN,0)}identifier(){return this.getRuleContext(0,D)}KW_FROM(){return this.getToken(s.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,q)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterExtract&&t.enterExtract(this)}exitRule(t){t.exitExtract&&t.exitExtract(this)}accept(t){return t.visitExtract?t.visitExtract(this):t.visitChildren(this)}}class Ql extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}LSQUARE(){return this.getToken(s.LSQUARE,0)}RSQUARE(){return this.getToken(s.RSQUARE,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterArrayConstructor&&t.enterArrayConstructor(this)}exitRule(t){t.exitArrayConstructor&&t.exitArrayConstructor(this)}accept(t){return t.visitArrayConstructor?t.visitArrayConstructor(this):t.visitChildren(this)}}class la extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionNamePath(){return this.getRuleContext(0,q0)}LPAREN(){return this.getToken(s.LPAREN,0)}ASTERISK(){return this.getToken(s.ASTERISK,0)}RPAREN(){return this.getToken(s.RPAREN,0)}filter(){return this.getRuleContext(0,ga)}over(){return this.getRuleContext(0,_a)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(a1):this.getRuleContext(t,a1)}setQuantifier(){return this.getRuleContext(0,As)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}class Xl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}LPAREN(){return this.getToken(s.LPAREN,0)}queryStatement(){return this.getRuleContext(0,Zt)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}class $l extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}LPAREN(){return this.getToken(s.LPAREN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(q):this.getRuleContext(t,q)}KW_IN(){return this.getToken(s.KW_IN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}class jl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(Ns):this.getRuleContext(t,Ns)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,b)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}class zl extends G{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}qualifiedName(t){return t===void 0?this.getRuleContexts(ft):this.getRuleContext(t,ft)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}enterRule(t){t.enterGroupingOperation&&t.enterGroupingOperation(this)}exitRule(t){t.exitGroupingOperation&&t.exitGroupingOperation(this)}accept(t){return t.visitGroupingOperation?t.visitGroupingOperation(this):t.visitChildren(this)}}class Z extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_stringLiteral}copyFrom(t){super.copyFrom(t)}}class Zl extends Z{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNICODE_STRING(){return this.getToken(s.UNICODE_STRING,0)}KW_UESCAPE(){return this.getToken(s.KW_UESCAPE,0)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterUnicodeStringLiteral&&t.enterUnicodeStringLiteral(this)}exitRule(t){t.exitUnicodeStringLiteral&&t.exitUnicodeStringLiteral(this)}accept(t){return t.visitUnicodeStringLiteral?t.visitUnicodeStringLiteral(this):t.visitChildren(this)}}class Jl extends Z{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterBasicStringLiteral&&t.enterBasicStringLiteral(this)}exitRule(t){t.exitBasicStringLiteral&&t.exitBasicStringLiteral(this)}accept(t){return t.visitBasicStringLiteral?t.visitBasicStringLiteral(this):t.visitChildren(this)}}class xr extends T{constructor(t,e){super(t,e)}EQ(){return this.getToken(s.EQ,0)}NEQ(){return this.getToken(s.NEQ,0)}LT(){return this.getToken(s.LT,0)}LTE(){return this.getToken(s.LTE,0)}GT(){return this.getToken(s.GT,0)}GTE(){return this.getToken(s.GTE,0)}get ruleIndex(){return s.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class da extends T{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_SOME(){return this.getToken(s.KW_SOME,0)}KW_ANY(){return this.getToken(s.KW_ANY,0)}get ruleIndex(){return s.RULE_comparisonQuantifier}enterRule(t){t.enterComparisonQuantifier&&t.enterComparisonQuantifier(this)}exitRule(t){t.exitComparisonQuantifier&&t.exitComparisonQuantifier(this)}accept(t){return t.visitComparisonQuantifier?t.visitComparisonQuantifier(this):t.visitChildren(this)}}class Ea extends T{constructor(t,e){super(t,e)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}get ruleIndex(){return s.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}class fa extends T{constructor(t,e){super(t,e)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}intervalField(){return this.getRuleContext(0,Ra)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}get ruleIndex(){return s.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}class Ra extends T{constructor(t,e){super(t,e)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_YEARS(){return this.getToken(s.KW_YEARS,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_HOURS(){return this.getToken(s.KW_HOURS,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}get ruleIndex(){return s.RULE_intervalField}enterRule(t){t.enterIntervalField&&t.enterIntervalField(this)}exitRule(t){t.exitIntervalField&&t.exitIntervalField(this)}accept(t){return t.visitIntervalField?t.visitIntervalField(this):t.visitChildren(this)}}class Ta extends T{constructor(t,e){super(t,e)}KW_NFD(){return this.getToken(s.KW_NFD,0)}KW_NFC(){return this.getToken(s.KW_NFC,0)}KW_NFKD(){return this.getToken(s.KW_NFKD,0)}KW_NFKC(){return this.getToken(s.KW_NFKC,0)}get ruleIndex(){return s.RULE_normalForm}enterRule(t){t.enterNormalForm&&t.enterNormalForm(this)}exitRule(t){t.exitNormalForm&&t.exitNormalForm(this)}accept(t){return t.visitNormalForm?t.visitNormalForm(this):t.visitChildren(this)}}class xt extends T{constructor(t,e){super(t,e)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}LT(){return this.getToken(s.LT,0)}type_(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}GT(){return this.getToken(s.GT,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}KW_STRUCT(){return this.getToken(s.KW_STRUCT,0)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}baseType(){return this.getRuleContext(0,xa)}dataType(){return this.getRuleContext(0,Aa)}LPAREN(){return this.getToken(s.LPAREN,0)}typeParameter(t){return t===void 0?this.getRuleContexts(gr):this.getRuleContext(t,gr)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}class Aa extends T{constructor(t,e){super(t,e)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_BINARY(){return this.getToken(s.KW_BINARY,0)}KW_BIGINT(){return this.getToken(s.KW_BIGINT,0)}KW_BOOLEAN(){return this.getToken(s.KW_BOOLEAN,0)}KW_CHAR(){return this.getToken(s.KW_CHAR,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DECIMAL(){return this.getToken(s.KW_DECIMAL,0)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}KW_FLOAT(){return this.getToken(s.KW_FLOAT,0)}KW_INT(){return this.getToken(s.KW_INT,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_REAL(){return this.getToken(s.KW_REAL,0)}KW_SMALLINT(){return this.getToken(s.KW_SMALLINT,0)}KW_STRING(){return this.getToken(s.KW_STRING,0)}KW_STRUCT(){return this.getToken(s.KW_STRUCT,0)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_TINYINT(){return this.getToken(s.KW_TINYINT,0)}KW_VARCHAR(){return this.getToken(s.KW_VARCHAR,0)}KW_COMPLEX(){return this.getToken(s.KW_COMPLEX,0)}get ruleIndex(){return s.RULE_dataType}enterRule(t){t.enterDataType&&t.enterDataType(this)}exitRule(t){t.exitDataType&&t.exitDataType(this)}accept(t){return t.visitDataType?t.visitDataType(this):t.visitChildren(this)}}class gr extends T{constructor(t,e){super(t,e)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}type(){return this.getRuleContext(0,xt)}get ruleIndex(){return s.RULE_typeParameter}enterRule(t){t.enterTypeParameter&&t.enterTypeParameter(this)}exitRule(t){t.exitTypeParameter&&t.exitTypeParameter(this)}accept(t){return t.visitTypeParameter?t.visitTypeParameter(this):t.visitChildren(this)}}class xa extends T{constructor(t,e){super(t,e)}TIME_WITH_TIME_ZONE(){return this.getToken(s.TIME_WITH_TIME_ZONE,0)}TIMESTAMP_WITH_TIME_ZONE(){return this.getToken(s.TIMESTAMP_WITH_TIME_ZONE,0)}DOUBLE_PRECISION(){return this.getToken(s.DOUBLE_PRECISION,0)}identifier(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_baseType}enterRule(t){t.enterBaseType&&t.enterBaseType(this)}exitRule(t){t.exitBaseType&&t.exitBaseType(this)}accept(t){return t.visitBaseType?t.visitBaseType(this):t.visitChildren(this)}}class Ns extends T{constructor(t,e){super(t,e)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}get ruleIndex(){return s.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class ga extends T{constructor(t,e){super(t,e)}KW_FILTER(){return this.getToken(s.KW_FILTER,0)}LPAREN(){return this.getToken(s.LPAREN,0)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Ct)}RPAREN(){return this.getToken(s.RPAREN,0)}get ruleIndex(){return s.RULE_filter}enterRule(t){t.enterFilter&&t.enterFilter(this)}exitRule(t){t.exitFilter&&t.exitFilter(this)}accept(t){return t.visitFilter?t.visitFilter(this):t.visitChildren(this)}}class _a extends T{constructor(t,e){super(t,e),this._partition=[]}KW_OVER(){return this.getToken(s.KW_OVER,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(s.KW_BY):this.getToken(s.KW_BY,t)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}sortItem(t){return t===void 0?this.getRuleContexts(a1):this.getRuleContext(t,a1)}windowFrame(){return this.getRuleContext(0,Ca)}expression(t){return t===void 0?this.getRuleContexts(b):this.getRuleContext(t,b)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_over}enterRule(t){t.enterOver&&t.enterOver(this)}exitRule(t){t.exitOver&&t.exitOver(this)}accept(t){return t.visitOver?t.visitOver(this):t.visitChildren(this)}}class Ca extends T{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}frameBound(t){return t===void 0?this.getRuleContexts(y1):this.getRuleContext(t,y1)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_AND(){return this.getToken(s.KW_AND,0)}get ruleIndex(){return s.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class y1 extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_frameBound}copyFrom(t){super.copyFrom(t)}}class ql extends y1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,b)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}enterRule(t){t.enterBoundedFrame&&t.enterBoundedFrame(this)}exitRule(t){t.exitBoundedFrame&&t.exitBoundedFrame(this)}accept(t){return t.visitBoundedFrame?t.visitBoundedFrame(this):t.visitChildren(this)}}class Na extends y1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNBOUNDED(){return this.getToken(s.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}enterRule(t){t.enterUnboundedFrame&&t.enterUnboundedFrame(this)}exitRule(t){t.exitUnboundedFrame&&t.exitUnboundedFrame(this)}accept(t){return t.visitUnboundedFrame?t.visitUnboundedFrame(this):t.visitChildren(this)}}class t7 extends y1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}enterRule(t){t.enterCurrentRowBound&&t.enterCurrentRowBound(this)}exitRule(t){t.exitCurrentRowBound&&t.exitCurrentRowBound(this)}accept(t){return t.visitCurrentRowBound?t.visitCurrentRowBound(this):t.visitChildren(this)}}class ms extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_pathElement}copyFrom(t){super.copyFrom(t)}}class e7 extends ms{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}DOT(){return this.getToken(s.DOT,0)}enterRule(t){t.enterQualifiedArgument&&t.enterQualifiedArgument(this)}exitRule(t){t.exitQualifiedArgument&&t.exitQualifiedArgument(this)}accept(t){return t.visitQualifiedArgument?t.visitQualifiedArgument(this):t.visitChildren(this)}}class s7 extends ms{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,D)}enterRule(t){t.enterUnqualifiedArgument&&t.enterUnqualifiedArgument(this)}exitRule(t){t.exitUnqualifiedArgument&&t.exitUnqualifiedArgument(this)}accept(t){return t.visitUnqualifiedArgument?t.visitUnqualifiedArgument(this):t.visitChildren(this)}}class i7 extends T{constructor(t,e){super(t,e)}pathElement(t){return t===void 0?this.getRuleContexts(ms):this.getRuleContext(t,ms)}COMMA(t){return t===void 0?this.getTokens(s.COMMA):this.getToken(s.COMMA,t)}get ruleIndex(){return s.RULE_pathSpecification}enterRule(t){t.enterPathSpecification&&t.enterPathSpecification(this)}exitRule(t){t.exitPathSpecification&&t.exitPathSpecification(this)}accept(t){return t.visitPathSpecification?t.visitPathSpecification(this):t.visitChildren(this)}}class _r extends T{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}LPAREN(){return this.getToken(s.LPAREN,0)}RPAREN(){return this.getToken(s.RPAREN,0)}identifier(){return this.getRuleContext(0,D)}get ruleIndex(){return s.RULE_privilege}enterRule(t){t.enterPrivilege&&t.enterPrivilege(this)}exitRule(t){t.exitPrivilege&&t.exitPrivilege(this)}accept(t){return t.visitPrivilege?t.visitPrivilege(this):t.visitChildren(this)}}class Cr extends T{constructor(t,e){super(t,e)}KW_SERVER(){return this.getToken(s.KW_SERVER,0)}KW_URI(){return this.getToken(s.KW_URI,0)}KW_DATABASE(){return this.getToken(s.KW_DATABASE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}get ruleIndex(){return s.RULE_objectType}enterRule(t){t.enterObjectType&&t.enterObjectType(this)}exitRule(t){t.exitObjectType&&t.exitObjectType(this)}accept(t){return t.visitObjectType?t.visitObjectType(this):t.visitChildren(this)}}class ft extends T{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(D):this.getRuleContext(t,D)}DOT(t){return t===void 0?this.getTokens(s.DOT):this.getToken(s.DOT,t)}get ruleIndex(){return s.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class w1 extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_principal}copyFrom(t){super.copyFrom(t)}}class n7 extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}identifier(){return this.getRuleContext(0,D)}enterRule(t){t.enterGroupPrincipal&&t.enterGroupPrincipal(this)}exitRule(t){t.exitGroupPrincipal&&t.exitGroupPrincipal(this)}accept(t){return t.visitGroupPrincipal?t.visitGroupPrincipal(this):t.visitChildren(this)}}class r7 extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,D)}enterRule(t){t.enterRolePrincipal&&t.enterRolePrincipal(this)}exitRule(t){t.exitRolePrincipal&&t.exitRolePrincipal(this)}accept(t){return t.visitRolePrincipal?t.visitRolePrincipal(this):t.visitChildren(this)}}class h7 extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USER(){return this.getToken(s.KW_USER,0)}identifier(){return this.getRuleContext(0,D)}enterRule(t){t.enterUserPrincipal&&t.enterUserPrincipal(this)}exitRule(t){t.exitUserPrincipal&&t.exitUserPrincipal(this)}accept(t){return t.visitUserPrincipal?t.visitUserPrincipal(this):t.visitChildren(this)}}class D extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_identifier}copyFrom(t){super.copyFrom(t)}}class o7 extends D{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BACKQUOTED_IDENTIFIER(){return this.getToken(s.BACKQUOTED_IDENTIFIER,0)}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}class a7 extends D{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class u7 extends D{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DIGIT_IDENTIFIER(){return this.getToken(s.DIGIT_IDENTIFIER,0)}enterRule(t){t.enterDigitIdentifier&&t.enterDigitIdentifier(this)}exitRule(t){t.exitDigitIdentifier&&t.exitDigitIdentifier(this)}accept(t){return t.visitDigitIdentifier?t.visitDigitIdentifier(this):t.visitChildren(this)}}class ma extends D{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IDENTIFIER(){return this.getToken(s.IDENTIFIER,0)}nonReserved(){return this.getRuleContext(0,Wa)}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}class qt extends T{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_number}copyFrom(t){super.copyFrom(t)}}class c7 extends qt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DECIMAL_VALUE(){return this.getToken(s.DECIMAL_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}class l7 extends qt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DOUBLE_VALUE(){return this.getToken(s.DOUBLE_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterDoubleLiteral&&t.enterDoubleLiteral(this)}exitRule(t){t.exitDoubleLiteral&&t.exitDoubleLiteral(this)}accept(t){return t.visitDoubleLiteral?t.visitDoubleLiteral(this):t.visitChildren(this)}}class d7 extends qt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterIntegerLiteral&&t.enterIntegerLiteral(this)}exitRule(t){t.exitIntegerLiteral&&t.exitIntegerLiteral(this)}accept(t){return t.visitIntegerLiteral?t.visitIntegerLiteral(this):t.visitChildren(this)}}class La extends T{constructor(t,e){super(t,e)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}KW_CAST(){return this.getToken(s.KW_CAST,0)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_USER(){return this.getToken(s.KW_USER,0)}get ruleIndex(){return s.RULE_reservedKeywordsUsedAsFuncName}enterRule(t){t.enterReservedKeywordsUsedAsFuncName&&t.enterReservedKeywordsUsedAsFuncName(this)}exitRule(t){t.exitReservedKeywordsUsedAsFuncName&&t.exitReservedKeywordsUsedAsFuncName(this)}accept(t){return t.visitReservedKeywordsUsedAsFuncName?t.visitReservedKeywordsUsedAsFuncName(this):t.visitChildren(this)}}class Wa extends T{constructor(t,e){super(t,e)}KW_BERNOULLI(){return this.getToken(s.KW_BERNOULLI,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DAYS(){return this.getToken(s.KW_DAYS,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(s.KW_MINUTES,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_MONTHS(){return this.getToken(s.KW_MONTHS,0)}KW_NFC(){return this.getToken(s.KW_NFC,0)}KW_NFD(){return this.getToken(s.KW_NFD,0)}KW_NFKC(){return this.getToken(s.KW_NFKC,0)}KW_NFKD(){return this.getToken(s.KW_NFKD,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_ORDINALITY(){return this.getToken(s.KW_ORDINALITY,0)}KW_PRIVILEGES(){return this.getToken(s.KW_PRIVILEGES,0)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECONDS(){return this.getToken(s.KW_SECONDS,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_VIEWS(){return this.getToken(s.KW_VIEWS,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_ORC(){return this.getToken(s.KW_ORC,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(s.KW_CURRENT_USER,0)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}KW_KEY(){return this.getToken(s.KW_KEY,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_SHUTDOWN(){return this.getToken(s.KW_SHUTDOWN,0)}get ruleIndex(){return s.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}var E7=Object.defineProperty,ot=(n,t)=>E7(n,"name",{value:t,configurable:!0}),be=(f0=class{constructor(t=""){l(this,"name");l(this,"context");l(this,"modifiers",new Set);l(this,"visibility",0);z(this,dt,void 0);this.name=t}get parent(){return L(this,dt)}get firstSibling(){var t;if(L(this,dt))return(t=L(this,dt))==null?void 0:t.firstChild}get previousSibling(){if(L(this,dt))return L(this,dt)?L(this,dt).previousSiblingOf(this):this}get nextSibling(){var t;return(t=L(this,dt))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=L(this,dt))==null?void 0:t.lastChild}get next(){var t;return(t=L(this,dt))==null?void 0:t.nextOf(this)}get root(){let t=L(this,dt);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=L(this,dt);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),!!e.parent);)e=e.parent;return t}setParent(t){Y(this,dt,t)}removeFromParent(){var t;(t=L(this,dt))==null||t.removeSymbol(this),Y(this,dt,void 0)}async resolve(t,e=!1){var i;return(i=L(this,dt))==null?void 0:i.resolve(t,e)}resolveSync(t,e=!1){var i;return(i=L(this,dt))==null?void 0:i.resolveSync(t,e)}getParentOfType(t){let e=L(this,dt);for(;e;){if(e instanceof t)return e;e=e.parent}}qualifiedName(t=".",e=!1,i=!1){if(!i&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=L(this,dt);for(;h&&((i||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!e||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},dt=new WeakMap,ot(f0,"BaseSymbol"),f0);R0=class extends be{constructor(e,i,r,h=0){super(e);l(this,"elementType");l(this,"size");l(this,"referenceKind");this.referenceKind=i,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ot(R0,"ArrayType");var Ka=(T0=class extends Error{},ot(T0,"DuplicateSymbolError"),T0),De=(Gt=class extends be{constructor(e=""){super(e);z(this,nt,[]);z(this,fe,new Map)}get directScopes(){return this.getSymbolsOfType(Gt)}get children(){return L(this,nt)}get firstChild(){if(L(this,nt).length>0)return L(this,nt)[0]}get lastChild(){if(L(this,nt).length>0)return L(this,nt)[L(this,nt).length-1]}clear(){Y(this,nt,[]),L(this,fe).clear()}addSymbol(e){e.removeFromParent();const i=this.symbolTable,r=L(this,fe).get(e.name);if(!i||!i.options.allowDuplicateSymbols){if(r!==void 0)throw new Ka("Attempt to add duplicate symbol '"+(e.name??"")+"'");if(L(this,fe).set(e.name,1),L(this,nt).indexOf(e)>-1)throw new Ka("Attempt to add duplicate symbol '"+(e.name??"")+"'")}else L(this,fe).set(e.name,r===void 0?1:r+1);L(this,nt).push(e),e.setParent(this)}removeSymbol(e){const i=L(this,nt).indexOf(e);if(i>-1){L(this,nt).splice(i,1),e.setParent(void 0);const r=L(this,fe).get(e.name);r!==void 0&&(r===1?L(this,fe).delete(e.name):L(this,fe).set(e.name,r-1))}}async getNestedSymbolsOfType(e){const i=[],r=[];return L(this,nt).forEach(o=>{o instanceof e&&i.push(o),o instanceof Gt&&r.push(o.getNestedSymbolsOfType(e))}),(await Promise.all(r)).forEach(o=>{i.push(...o)}),i}getNestedSymbolsOfTypeSync(e){const i=[];return L(this,nt).forEach(r=>{r instanceof e&&i.push(r),r instanceof Gt&&i.push(...r.getNestedSymbolsOfTypeSync(e))}),i}async getAllNestedSymbols(e){const i=[],r=[];return L(this,nt).forEach(o=>{(!e||o.name===e)&&i.push(o),o instanceof Gt&&r.push(o.getAllNestedSymbols(e))}),(await Promise.all(r)).forEach(o=>{i.push(...o)}),i}getAllNestedSymbolsSync(e){const i=[];return L(this,nt).forEach(r=>{(!e||r.name===e)&&i.push(r),r instanceof Gt&&i.push(...r.getAllNestedSymbolsSync(e))}),i}getSymbolsOfType(e){return new Promise(i=>{const r=[];L(this,nt).forEach(h=>{h instanceof e&&r.push(h)}),i(r)})}async getAllSymbols(e,i=!1){const r=[];for(const h of L(this,nt))if(h instanceof e&&r.push(h),this.isNamespace(h)){const o=await h.getAllSymbols(e,!0);r.push(...o)}if(!i&&this.parent){const h=await this.getAllSymbols(e,!0);r.push(...h)}return r}getAllSymbolsSync(e,i=!1){const r=[];for(const h of L(this,nt))if(h instanceof e&&r.push(h),this.isNamespace(h)){const o=h.getAllSymbolsSync(e,!0);r.push(...o)}if(!i&&this.parent){const h=this.getAllSymbolsSync(e,!0);r.push(...h)}return r}async resolve(e,i=!1){return new Promise(r=>{for(const h of L(this,nt))if(h.name===e){r(h);return}if(!i&&this.parent){r(this.parent.resolve(e,!1));return}r(void 0)})}resolveSync(e,i=!1){for(const r of L(this,nt))if(r.name===e)return r;if(!i&&this.parent)return this.parent.resolveSync(e,!1)}symbolFromPath(e,i="."){const r=e.split(i);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let o=this;for(;hu.name===r[h]);if(!a)return;o=a,++h}return o}indexOfChild(e){return L(this,nt).findIndex(i=>i===e)}nextSiblingOf(e){const i=this.indexOfChild(e);if(!(i===-1||i>=L(this,nt).length-1))return L(this,nt)[i+1]}previousSiblingOf(e){const i=this.indexOfChild(e);if(!(i<1))return L(this,nt)[i-1]}nextOf(e){if(!e.parent)return;if(e.parent!==this)return e.parent.nextOf(e);if(e instanceof Gt&&e.children.length>0)return e.children[0];const i=this.nextSiblingOf(e);return i||this.parent.nextOf(this)}isNamespace(e){return e.inline!==void 0&&e.attributes!==void 0}},nt=new WeakMap,fe=new WeakMap,ot(Gt,"ScopedSymbol"),Gt);A0=class extends De{},ot(A0,"BlockSymbol");var Sa=(x0=class extends be{constructor(e,i){super(e);l(this,"type");this.type=i}},ot(x0,"TypedSymbol"),x0),Nr=(g0=class extends Sa{constructor(e,i,r){super(e,r);l(this,"value");this.value=i}},ot(g0,"VariableSymbol"),g0),pa=(_0=class extends Nr{constructor(){super(...arguments);l(this,"setter");l(this,"getter")}},ot(_0,"FieldSymbol"),_0),f7=(C0=class extends Nr{},ot(C0,"ParameterSymbol"),C0),R7=(N0=class extends De{constructor(e,i){super(e);l(this,"returnType");this.returnType=i}getVariables(e=!0){return this.getSymbolsOfType(Nr)}getParameters(e=!0){return this.getSymbolsOfType(f7)}},ot(N0,"RoutineSymbol"),N0),Oa=(m0=class extends R7{constructor(){super(...arguments);l(this,"methodFlags",0)}},ot(m0,"MethodSymbol"),m0);L0=class extends De{constructor(e,i,r){super(e);l(this,"isStruct",!1);l(this,"reference",0);l(this,"extends");l(this,"implements");this.extends=i,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(e=!1){return this.getSymbolsOfType(Oa)}getFields(e=!1){return this.getSymbolsOfType(pa)}},ot(L0,"ClassSymbol"),Ft=class{constructor(t,e=0,i=0){l(this,"name");l(this,"typeKind");l(this,"referenceKind");this.name=t,this.typeKind=e,this.referenceKind=i}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ot(Ft,"FundamentalType"),l(Ft,"integerType",new Ft("int",1,3)),l(Ft,"floatType",new Ft("float",2,3)),l(Ft,"stringType",new Ft("string",4,3)),l(Ft,"boolType",new Ft("bool",6,3)),W0=class extends De{constructor(e,i){super(e);l(this,"reference",0);l(this,"extends");this.extends=i}get baseTypes(){return this.extends}get kind(){return 8}getMethods(e=!1){return this.getSymbolsOfType(Oa)}getFields(e=!1){return this.getSymbolsOfType(pa)}},ot(W0,"InterfaceSymbol"),K0=class extends Sa{constructor(e,i,r){super(e,r);l(this,"value");this.value=i}},ot(K0,"LiteralSymbol");var hn=(S0=class extends De{constructor(e,i=!1,r=[]){super(e);l(this,"inline");l(this,"attributes");this.inline=i,this.attributes=r}},ot(S0,"NamespaceSymbol"),S0);p0=class extends be{constructor(e,i){super(e);l(this,"targetType");this.targetType=i}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ot(p0,"TypeAlias");var T7=ot((n,t)=>{if(!n||!t)return[];let e;for(e=0;e=t||a.type===N.EOF)||a.type===N.EOF)break}const h=[],o=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const u of this.candidates.rules){let c="";for(const d of u[1].ruleList)c+=this.ruleNames[d]+" ";console.log(this.ruleNames[u[0]]+", path: ",c)}const a=new Set;for(const u of this.candidates.tokens){let c=this.vocabulary.getDisplayName(u[0])??"";for(const d of u[1])c+=" "+this.vocabulary.getDisplayName(d);a.add(c)}console.log(` + +Collected tokens: +`);for(const u of a)console.log(u);console.log(` + +`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,T.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;ea);let o=!0;for(const a of this.candidates.rules)if(!(a[0]!==i||a[1].ruleList.length!==h.length)&&h.every((u,c)=>u===a[1].ruleList[c])){o=!1;break}return o&&(this.candidates.rules.set(i,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[i])),!0}return!1}getFollowingTokens(t){const e=[],i=[t.target];for(;i.length>0;){const r=i.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===w.ATOM)if(h.isEpsilon)i.push(h.target);else{const o=h.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(e.push(o[0]),i.push(h.target))}})}return e}determineFollowSets(t,e){const i=[],r=[],h=[],o=this.collectFollowSets(t,e,i,r,h),a=new mt;for(const u of i)a.addSet(u.intervals);return{sets:i,isExhaustive:o,combined:a}}collectFollowSets(t,e,i,r,h){if(r.find(a=>a===t))return!0;if(r.push(t),t===e||t.stateType===V.RULE_STOP)return r.pop(),!1;let o=!0;for(const a of t.transitions)if(a.serializationType===w.RULE){const u=a;if(h.indexOf(u.target.ruleIndex)!==-1)continue;h.push(u.target.ruleIndex);const c=this.collectFollowSets(a.target,e,i,r,h);if(h.pop(),!c){const d=this.collectFollowSets(u.followState,e,i,r,h);o&&(o=d)}}else if(a.serializationType===w.PREDICATE){if(this.checkPredicate(a)){const u=this.collectFollowSets(a.target,e,i,r,h);o&&(o=u)}}else if(a.isEpsilon){const u=this.collectFollowSets(a.target,e,i,r,h);o&&(o=u)}else if(a.serializationType===w.WILDCARD){const u=new ka;u.intervals=mt.of(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),u.path=h.slice(),i.push(u)}else{let u=a.label;if(u&&u.length>0){a.serializationType===w.NOT_SET&&(u=u.complement(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const c=new ka;c.intervals=u??new mt,c.path=h.slice(),c.following=this.getFollowingTokens(a),i.push(c)}}return r.pop(),o}processRule(t,e,i,r,h){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(e))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(e);const a=new Set;let u=se.followSetsByATN.get(this.parser.constructor.name);u||(u=new Map,se.followSetsByATN.set(this.parser.constructor.name,u));let c=u.get(t.stateNumber);if(!c){const _=this.atn.ruleToStopState[t.ruleIndex];c=this.determineFollowSets(t,_),u.set(t.stateNumber,c)}const d=this.tokens[e].tokenIndex;if(i.push({startTokenIndex:d,ruleIndex:t.ruleIndex}),e>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(i);else for(const _ of c.sets){const m=i.slice(),S=_.path.map(p=>({startTokenIndex:d,ruleIndex:p}));if(m.push(...S),!this.translateStackToRuleIndex(m))for(const p of _.intervals.toArray())this.ignoredTokens.has(p)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(p)),this.candidates.tokens.has(p)?this.candidates.tokens.get(p)!==_.following&&this.candidates.tokens.set(p,[]):this.candidates.tokens.set(p,_.following))}return c.isExhaustive||a.add(e),i.pop(),a}else{const _=this.tokens[e].type;if(c.isExhaustive&&!c.combined.contains(_))return i.pop(),a}t.isPrecedenceRule&&this.precedenceStack.push(r);const f=[];let R;for(f.push({state:t,tokenListIndex:e});f.length>0;){R=f.pop(),++this.statesProcessed;const _=this.tokens[R.tokenListIndex].type,m=R.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,R.state,this.generateBaseDescription(R.state),R.tokenListIndex),this.showRuleStack&&this.printRuleState(i)),R.state.stateType===V.RULE_STOP){a.add(R.tokenListIndex);continue}const S=R.state.transitions;for(const p of S)switch(p.serializationType){case w.RULE:{const k=p,C=this.processRule(p.target,R.tokenListIndex,i,k.precedence,h+1);for(const g of C)f.push({state:p.followState,tokenListIndex:g});break}case w.PREDICATE:{this.checkPredicate(p)&&f.push({state:p.target,tokenListIndex:R.tokenListIndex});break}case w.PRECEDENCE:{p.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&f.push({state:p.target,tokenListIndex:R.tokenListIndex});break}case w.WILDCARD:{if(m){if(!this.translateStackToRuleIndex(i))for(const k of mt.of(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(k)||this.candidates.tokens.set(k,[])}else f.push({state:p.target,tokenListIndex:R.tokenListIndex+1});break}default:{if(p.isEpsilon){f.push({state:p.target,tokenListIndex:R.tokenListIndex});continue}let k=p.label;if(k&&k.length>0)if(p.serializationType===w.NOT_SET&&(k=k.complement(N.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),m){if(!this.translateStackToRuleIndex(i)){const C=k.toArray(),g=C.length===1;for(const W of C)if(!this.ignoredTokens.has(W)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(W));const K=g?this.getFollowingTokens(p):[];this.candidates.tokens.has(W)?this.candidates.tokens.set(W,T7(K,this.candidates.tokens.get(W))):this.candidates.tokens.set(W,K)}}}else k.contains(_)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(_)),f.push({state:p.target,tokenListIndex:R.tokenListIndex+1}))}}}return i.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(e,a),a}generateBaseDescription(t){return`[${t.stateNumber===oe.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${se.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,e,i,r){const h=" ".repeat(t);let o=h,a="";if(this.debugOutputWithTransitions)for(const u of e.transitions){let c="";const d=u.label?u.label.toArray():[];if(d.length>2)c=this.vocabulary.getDisplayName(d[0])+" .. "+this.vocabulary.getDisplayName(d[d.length-1]);else for(const f of d)c.length>0&&(c+=", "),c+=this.vocabulary.getDisplayName(f);c.length===0&&(c="ε"),a+=` +${h} (${c}) [${u.target.stateNumber} ${se.atnStateTypeMap[u.target.stateType]}] in ${this.ruleNames[u.target.ruleIndex]}`}r>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+r}>> `:o+=`<${this.tokenStartIndex+r}> `,console.log(o+"Current state: "+i+a)}printRuleState(t){if(t.length===0){console.log("");return}for(const e of t)console.log(this.ruleNames[e.ruleIndex])}},ot(se,"CodeCompletionCore"),l(se,"followSetsByATN",new Map),l(se,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),se);y0=class extends De{constructor(e,i){super(e);l(this,"dependencies",new Set);this.options=i}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...e){e.forEach(i=>{this.dependencies.add(i)})}removeDependency(e){this.dependencies.has(e)&&this.dependencies.delete(e)}addNewSymbolOfType(e,i,...r){const h=new e(...r);return!i||i===this?this.addSymbol(h):i.addSymbol(h),h}async addNewNamespaceFromPath(e,i,r="."){const h=i.split(r);let o=0,a=e===void 0?this:e;for(;oo.getAllSymbols(e,i)))).forEach(o=>{r.push(...o)}),r}getAllSymbolsSync(e,i=!1){const r=super.getAllSymbolsSync(e,i);return i||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(e,i))}),r}async symbolWithContext(e){const i=ot(h=>{if(h.context===e)return h;if(h instanceof De)for(const o of h.children){const a=i(o);if(a)return a}},"findRecursive");let r=await this.getAllSymbols(be);for(const h of r){const o=i(h);if(o)return o}for(const h of this.dependencies){r=await h.getAllSymbols(be);for(const o of r){const a=i(o);if(a)return a}}}symbolWithContextSync(e){const i=ot(h=>{if(h.context===e)return h;if(h instanceof De)for(const o of h.children){const a=i(o);if(a)return a}},"findRecursive");let r=this.getAllSymbolsSync(be);for(const h of r){const o=i(h);if(o)return o}for(const h of this.dependencies){r=h.getAllSymbolsSync(be);for(const o of r){const a=i(o);if(a)return a}}}async resolve(e,i=!1){let r=await super.resolve(e,i);if(!r&&!i){for(const h of this.dependencies)if(r=await h.resolve(e,!1),r)return r}return r}resolveSync(e,i=!1){let r=super.resolveSync(e,i);if(!r&&!i){for(const h of this.dependencies)if(r=h.resolveSync(e,!1),r)return r}return r}},ot(y0,"SymbolTable");function wa(n,t){var e,i;const{lineNumber:r,column:h}=n;let o=0,a=t.length-1;for(;o<=a;){const u=o+(a-o>>1),c=t[u];if(c.line>r||c.line===r&&c.column+1>=h)a=u-1;else if(c.line{this._parseErrors.push(t)},this.locale="en_US"}createLexer(t,e){const i=jn.fromString(t),r=this.createLexerFromCharStream(i);return e&&(r.removeErrorListeners(),r.addErrorListener(this.createErrorListener(e))),r}createParser(t,e){const i=this.createLexer(t,e),r=new j0(i),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=At.SLL,e&&(h.removeErrorListeners(),h.addErrorListener(this.createErrorListener(e))),h}parse(t,e){const i=this.createParser(t,e);return i.buildParseTrees=!0,i.errorHandler=new mr,i.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=jn.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new j0(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=At.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new mr,this._parser}parseWithCache(t,e){if(this._parsedInput===t&&!e&&this._parseTree)return this._parseTree;this._parseErrors=[];const i=this.createParserWithCache(t);return this._parsedInput=t,i.removeErrorListeners(),i.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=i.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let e=this._tokenStream.getTokens();return e[e.length-1].text===""&&(e=e.slice(0,-1)),e}listen(t,e){Vc.DEFAULT.walk(t,e)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const i=this.splitListener;return this.listen(i,this._parseTree),i.statementsContext.map(h=>on(h,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(t,e){var i,r,h,o,a,u,c,d,f;const R=this.splitListener;if(this.parseWithCache(t),!this._parseTree)return null;let _=this._parser;const m=this.getAllTokens(t);let S=wa(e,m),p=this._parseTree,k=0;if(!S&&S!==0)return null;this.listen(R,this._parseTree);const C=(i=R.statementsContext)===null||i===void 0?void 0:i.length,g=R.statementsContext;if(C>1){let O=null,P=null;for(let g1=0;g1S&&b7){P=_1;break}}const Rt=(a=(o=O==null?void 0:O.start)===null||o===void 0?void 0:o.start)!==null&&a!==void 0?a:0,j=(c=(u=P==null?void 0:P.stop)===null||u===void 0?void 0:u.stop)!==null&&c!==void 0?c:t.length-1;k=(f=(d=O==null?void 0:O.start)===null||d===void 0?void 0:d.tokenIndex)!==null&&f!==void 0?f:0,S=S-k;const M=t.slice(Rt,j),ie=this.createLexer(M);ie.removeErrorListeners();const Ma=new j0(ie);Ma.fill();const j1=this.createParserFromTokenStream(Ma);j1.interpreter.predictionMode=At.SLL,j1.removeErrorListeners(),j1.buildParseTrees=!0,j1.errorHandler=new mr,_=j1,p=j1.program()}const W=new ya(_);W.preferredRules=this.preferredRules;const K=W.collectCandidates(S,p),U=this.processCandidates(K,m,S,k);return{syntax:U.syntax.map(O=>{const P=O.wordRanges.map(Rt=>Ua(Rt,this._parsedInput));return{syntaxContextType:O.syntaxContextType,wordRanges:P}}),keywords:U.keywords}}getAllEntities(t,e){const i=this.getAllTokens(t),r=e?wa(e,i):void 0,h=this.createEntityCollector(t,r),o=this.parseWithCache(t);return this.listen(h,o),h.getEntities()}}var J;(function(n){n.CATALOG="catalog",n.CATALOG_CREATE="catalogCreate",n.DATABASE="database",n.DATABASE_CREATE="databaseCreate",n.TABLE="table",n.TABLE_CREATE="tableCreate",n.VIEW="view",n.VIEW_CREATE="viewCreate",n.FUNCTION="function",n.FUNCTION_CREATE="functionCreate",n.PROCEDURE="procedure",n.PROCEDURE_CREATE="procedureCreate",n.COLUMN="column",n.COLUMN_CREATE="columnCreate"})(J||(J={}));class _7{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class C7 extends _7{exitSingleStatement(t){this._statementsContext.push(t)}}class va{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var Lr=function(n,t){var e={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&t.indexOf(i)<0&&(e[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(n);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=N7(t,e,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((i=this._stmtStack.peek())===null||i===void 0?void 0:i.stmtContextType)===Wt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,e,i){const r=L7(t,e,this._input,this._stmtStack.peek(),i);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const e=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)e.unshift(this._entityStack.pop());const i=this.combineRootStmtEntities(t,e);for(;i.length;){const r=i.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,e){return t.stmtContextType===Wt.CREATE_VIEW_STMT||t.stmtContextType===Wt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,e):e}combineCreateTableOrViewStmtEntities(t,e){const i=[],r=[];let h=null;const o=e.reduce((a,u)=>{if(u.belongStmt!==t)return u.entityContextType!==J.COLUMN&&u.entityContextType!==J.COLUMN_CREATE&&(r.push(u),a.push(u)),a;if(u.entityContextType===J.COLUMN_CREATE)i.push(u);else{if(u.entityContextType===J.TABLE_CREATE||u.entityContextType===J.VIEW_CREATE)return h=u,a.push(u),a;u.entityContextType!==J.COLUMN&&(r.push(u),a.push(u))}return a},[]);return h&&i.length&&ba(h)&&(h=Object.assign(h,{columns:i})),h&&r.length&&(ba(h)||m7(h))&&(h=Object.assign(h,{relatedEntities:r})),o}}class K7 extends W7{exitTableNameCreate(t){this.pushEntity(t,J.TABLE_CREATE,[{attrName:le.comment,endContextList:[qn.name,tr.name]}])}exitTableNamePath(t){var e;const i=((e=this.getRootStmt())===null||e===void 0?void 0:e.stmtContextType)===Wt.SELECT_STMT;this.pushEntity(t,J.TABLE,i?[{attrName:le.alias,endContextList:[rn.name]}]:void 0)}exitColumnNamePathCreate(t){this.pushEntity(t,J.COLUMN_CREATE,[{attrName:le.comment,endContextList:[fs.name,Rs.name,Es.name]},{attrName:le.colType,endContextList:[fs.name,Rs.name,Es.name]}])}exitViewNameCreate(t){this.pushEntity(t,J.VIEW_CREATE,[{attrName:le.comment,endContextList:[er.name]}])}exitViewNamePath(t){this.pushEntity(t,J.VIEW)}exitDatabaseNamePath(t){this.pushEntity(t,J.DATABASE)}exitDatabaseNameCreate(t){this.pushEntity(t,J.DATABASE_CREATE,[{attrName:le.comment,endContextList:[sr.name]}])}exitFunctionNameCreate(t){this.pushEntity(t,J.FUNCTION_CREATE)}enterSingleStatement(t){this.pushStmt(t,Wt.COMMON_STMT)}exitSingleStatement(t){this.popStmt()}enterCreateTableLike(t){this.pushStmt(t,Wt.CREATE_TABLE_STMT)}exitCreateTableLike(t){this.popStmt()}enterCreateTableSelect(t){this.pushStmt(t,Wt.CREATE_TABLE_STMT)}exitCreateTableSelect(t){this.popStmt()}enterCreateKuduTableAsSelect(t){this.pushStmt(t,Wt.CREATE_TABLE_STMT)}exitCreateKuduTableAsSelect(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,Wt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,Wt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterInsertStatement(t){this.pushStmt(t,Wt.INSERT_STMT)}exitInsertStatement(t){this.popStmt()}enterCreateSchema(t){this.pushStmt(t,Wt.CREATE_DATABASE_STMT)}exitCreateSchema(t){this.popStmt()}enterCreateAggregateFunction(t){this.pushStmt(t,Wt.CREATE_FUNCTION_STMT)}exitCreateAggregateFunction(t){this.popStmt()}enterCreateFunction(t){this.pushStmt(t,Wt.CREATE_FUNCTION_STMT)}exitCreateFunction(t){this.popStmt()}}const S7={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function p7(n,t){const e=/{([^}]+)}/g;return n.replace(e,(i,r)=>S7[t][r]||"")}class O7{constructor(t,e="en_US"){this.locale=e,this._errorListener=t}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(t,e,i,r,h,o){var a;let u="";if(e){let d=e;const f=t,R=d.type===N.EOF;R&&(d=f.tokenStream.get(d.tokenIndex-1));const _=(a=d.text)!==null&&a!==void 0?a:"",S=R&&_!==" "?"":this.getExpectedText(f,d);if(o)o instanceof we||o instanceof $?(R?u="{stmtInComplete}":u=`'${_}' {noValidPosition}`,S.length>0&&(u+=`{expecting}${S}`)):u=h;else if(u=h,h.includes("extraneous")&&(u=`'${_}' {noValidPosition}${S.length?`{expecting}${S}`:""}`),h.includes("missing")){const p=/missing\s+'([^']+)'/,k=h.match(p);if(u="{missing}",k){const C=k[1];u+=`'${C}'`}else u+="{keyword}";u+=`{at}'${_}'`}}else if(o instanceof rs){const d=t,f=d.inputStream;let R=d.getErrorDisplay(f.getText(d._tokenStartCharIndex,f.index));switch(R[0]){case"/":u="{unfinishedMultilineComment}";break;case'"':u="{unfinishedDoubleQuoted}";break;case"'":u="{unfinishedSingleQuoted}";break;case"`":u="{unfinishedTickQuoted}";break;default:u='"'+R+'" {noValidInput}';break}}u=p7(u,this.locale);let c=r+1;e&&e.text!==null&&(c=r+e.text.length),this._errorListener&&this._errorListener({startLine:i,endLine:i,startColumn:r+1,endColumn:c+1,message:u},{e:o,line:i,msg:h,recognizer:t,offendingSymbol:e,charPositionInLine:r})}}class k7 extends O7{constructor(t,e,i){super(t,i),this.objectNames=new Map([[s.RULE_databaseNamePath,"database"],[s.RULE_databaseNameCreate,"database"],[s.RULE_tableNamePath,"table"],[s.RULE_tableNameCreate,"table"],[s.RULE_viewNamePath,"view"],[s.RULE_viewNameCreate,"view"],[s.RULE_functionNamePath,"function"],[s.RULE_functionNameCreate,"function"],[s.RULE_columnNamePath,"column"],[s.RULE_columnNamePathCreate,"column"]]),this.preferredRules=e}getExpectedText(t,e){var i;let r="",h=(i=t.context)!==null&&i!==void 0?i:void 0;for(;h!=null&&h.parent;)h=h.parent;const o=new ya(t);o.preferredRules=this.preferredRules;const a=o.collectCandidates(e.tokenIndex,h);if(a.rules.size){const u=[];for(const c of a.rules){const[d]=c,f=this.objectNames.get(d);switch(d){case s.RULE_databaseNamePath:case s.RULE_tableNamePath:case s.RULE_functionNamePath:case s.RULE_viewNamePath:case s.RULE_columnNamePath:{u.push(`{existing}${f}`);break}case s.RULE_databaseNameCreate:case s.RULE_tableNameCreate:case s.RULE_functionNameCreate:case s.RULE_viewNameCreate:case s.RULE_columnNamePathCreate:{u.push(`{new}${f}`);break}}}r=u.join("{or}")}return a.tokens.size&&(r+=r?"{orKeyword}":"{keyword}"),r}}class y7 extends g7{constructor(){super(...arguments),this.preferredRules=new Set([s.RULE_functionNameCreate,s.RULE_tableNameCreate,s.RULE_viewNameCreate,s.RULE_databaseNameCreate,s.RULE_columnNamePathCreate,s.RULE_tableNamePath,s.RULE_functionNamePath,s.RULE_viewNamePath,s.RULE_databaseNamePath,s.RULE_columnNamePath])}createLexerFromCharStream(t){return new E(t)}createParserFromTokenStream(t){return new s(t)}get splitListener(){return new C7}createErrorListener(t){return new k7(t,this.preferredRules,this.locale)}createEntityCollector(t,e){return new K7(t,e)}processCandidates(t,e,i,r){const h=[],o=[];for(let a of t.rules){const[u,c]=a,d=c.startTokenIndex+r,f=e.slice(d,i+r+1);let R;switch(u){case s.RULE_functionNameCreate:{R=J.FUNCTION_CREATE;break}case s.RULE_tableNameCreate:{R=J.TABLE_CREATE;break}case s.RULE_databaseNameCreate:{R=J.DATABASE_CREATE;break}case s.RULE_viewNameCreate:{R=J.VIEW_CREATE;break}case s.RULE_columnNamePathCreate:{R=J.COLUMN_CREATE;break}case s.RULE_databaseNamePath:{R=J.DATABASE;break}case s.RULE_tableNamePath:{R=J.TABLE;break}case s.RULE_viewNamePath:{R=J.VIEW;break}case s.RULE_functionNamePath:{R=J.FUNCTION;break}case s.RULE_columnNamePath:R=J.COLUMN}R&&h.push({syntaxContextType:R,wordRanges:f})}for(let a of t.tokens){const u=this._parser.vocabulary.getSymbolicName(a[0]),c=this._parser.vocabulary.getDisplayName(a[0]);if(c&&u&&u.startsWith("KW_")){const d=c.startsWith("'")&&c.endsWith("'")?c.slice(1,-1):c;o.push(d)}}return{syntax:h,keywords:o}}}var Ls=function(n,t,e,i){function r(h){return h instanceof e?h:new e(function(o){o(h)})}return new(e||(e=Promise))(function(h,o){function a(d){try{c(i.next(d))}catch(f){o(f)}}function u(d){try{c(i.throw(d))}catch(f){o(f)}}function c(d){d.done?h(d.value):r(d.value).then(a,u)}c((i=i.apply(n,t||[])).next())})};class w7{constructor(t,e){this.keywords=[]}doValidation(t){return Ls(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const e=this.parser.validate(t);return Promise.resolve(e)}return Promise.resolve([])})}parserTreeToString(t){return Ls(this,void 0,void 0,function*(){if(t){const e=this.parser.createParser(t),r=e.program().toStringTree(e);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,e){return Ls(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getSuggestionAtCaretPosition(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}doCompletionWithEntities(t,e){return Ls(this,void 0,void 0,function*(){var i;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,e);let h=null;return!((i=r==null?void 0:r.syntax)===null||i===void 0)&&i.length&&(h=this.parser.getAllEntities(t,e)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,e){return Ls(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.getAllEntities(t,e);return Promise.resolve(i)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class U7 extends w7{constructor(t,e){super(t,e),this._ctx=t,this.parser=new y7}}self.onmessage=()=>{D2((n,t)=>new U7(n,t))}})(); diff --git a/assets/index-f9d9330f.js b/assets/index-e7f600bf.js similarity index 99% rename from assets/index-f9d9330f.js rename to assets/index-e7f600bf.js index 10e9f5e8..1370dca4 100644 --- a/assets/index-f9d9330f.js +++ b/assets/index-e7f600bf.js @@ -782,27 +782,27 @@ ${e.toString()}`}}class O3{constructor(e=new KA,t=!1,n){this._activeInstantiatio * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var cge=Object.defineProperty,uKe=Object.getOwnPropertyDescriptor,cKe=Object.getOwnPropertyNames,dKe=Object.prototype.hasOwnProperty,hKe=i=>cge(i,"__esModule",{value:!0}),fKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of cKe(e))!dKe.call(i,n)&&n!=="default"&&cge(i,n,{get:()=>e[n],enumerable:!(t=uKe(e,n))||t.enumerable});return i},gKe="4.4.4",$b={};hKe($b);fKe($b,AM);var Jz;(function(i){i[i.None=0]="None",i[i.CommonJS=1]="CommonJS",i[i.AMD=2]="AMD",i[i.UMD=3]="UMD",i[i.System=4]="System",i[i.ES2015=5]="ES2015",i[i.ESNext=99]="ESNext"})(Jz||(Jz={}));var eU;(function(i){i[i.None=0]="None",i[i.Preserve=1]="Preserve",i[i.React=2]="React",i[i.ReactNative=3]="ReactNative",i[i.ReactJSX=4]="ReactJSX",i[i.ReactJSXDev=5]="ReactJSXDev"})(eU||(eU={}));var tU;(function(i){i[i.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",i[i.LineFeed=1]="LineFeed"})(tU||(tU={}));var nU;(function(i){i[i.ES3=0]="ES3",i[i.ES5=1]="ES5",i[i.ES2015=2]="ES2015",i[i.ES2016=3]="ES2016",i[i.ES2017=4]="ES2017",i[i.ES2018=5]="ES2018",i[i.ES2019=6]="ES2019",i[i.ES2020=7]="ES2020",i[i.ESNext=99]="ESNext",i[i.JSON=100]="JSON",i[i.Latest=99]="Latest"})(nU||(nU={}));var iU;(function(i){i[i.Classic=1]="Classic",i[i.NodeJs=2]="NodeJs"})(iU||(iU={}));var dge=class{constructor(e,t,n,r){this._onDidChange=new $b.Emitter,this._onDidExtraLibsChange=new $b.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(typeof t>"u"?n=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:n=t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let s=this._extraLibs[n];s&&s.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const n=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=t.content;let s=1;this._removedExtraLibs[n]&&(s=this._removedExtraLibs[n]+1),this._extraLibs[n]={content:r,version:s}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}},pKe=gKe,hge=new dge({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),fge=new dge({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),mKe=()=>MB().then(i=>i.getTypeScriptWorker()),_Ke=()=>MB().then(i=>i.getJavaScriptWorker());$b.languages.typescript={ModuleKind:Jz,JsxEmit:eU,NewLineKind:tU,ScriptTarget:nU,ModuleResolutionKind:iU,typescriptVersion:pKe,typescriptDefaults:hge,javascriptDefaults:fge,getTypeScriptWorker:mKe,getJavaScriptWorker:_Ke};function MB(){return It(()=>import("./tsMode-b91aed43.js"),[])}$b.languages.onLanguage("typescript",()=>MB().then(i=>i.setupTypeScript(hge)));$b.languages.onLanguage("javascript",()=>MB().then(i=>i.setupJavaScript(fge)));/*!----------------------------------------------------------------------------- + *-----------------------------------------------------------------------------*/var cge=Object.defineProperty,uKe=Object.getOwnPropertyDescriptor,cKe=Object.getOwnPropertyNames,dKe=Object.prototype.hasOwnProperty,hKe=i=>cge(i,"__esModule",{value:!0}),fKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of cKe(e))!dKe.call(i,n)&&n!=="default"&&cge(i,n,{get:()=>e[n],enumerable:!(t=uKe(e,n))||t.enumerable});return i},gKe="4.4.4",$b={};hKe($b);fKe($b,AM);var Jz;(function(i){i[i.None=0]="None",i[i.CommonJS=1]="CommonJS",i[i.AMD=2]="AMD",i[i.UMD=3]="UMD",i[i.System=4]="System",i[i.ES2015=5]="ES2015",i[i.ESNext=99]="ESNext"})(Jz||(Jz={}));var eU;(function(i){i[i.None=0]="None",i[i.Preserve=1]="Preserve",i[i.React=2]="React",i[i.ReactNative=3]="ReactNative",i[i.ReactJSX=4]="ReactJSX",i[i.ReactJSXDev=5]="ReactJSXDev"})(eU||(eU={}));var tU;(function(i){i[i.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",i[i.LineFeed=1]="LineFeed"})(tU||(tU={}));var nU;(function(i){i[i.ES3=0]="ES3",i[i.ES5=1]="ES5",i[i.ES2015=2]="ES2015",i[i.ES2016=3]="ES2016",i[i.ES2017=4]="ES2017",i[i.ES2018=5]="ES2018",i[i.ES2019=6]="ES2019",i[i.ES2020=7]="ES2020",i[i.ESNext=99]="ESNext",i[i.JSON=100]="JSON",i[i.Latest=99]="Latest"})(nU||(nU={}));var iU;(function(i){i[i.Classic=1]="Classic",i[i.NodeJs=2]="NodeJs"})(iU||(iU={}));var dge=class{constructor(e,t,n,r){this._onDidChange=new $b.Emitter,this._onDidExtraLibsChange=new $b.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(typeof t>"u"?n=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:n=t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let s=this._extraLibs[n];s&&s.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const n=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,r=t.content;let s=1;this._removedExtraLibs[n]&&(s=this._removedExtraLibs[n]+1),this._extraLibs[n]={content:r,version:s}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}},pKe=gKe,hge=new dge({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),fge=new dge({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),mKe=()=>MB().then(i=>i.getTypeScriptWorker()),_Ke=()=>MB().then(i=>i.getJavaScriptWorker());$b.languages.typescript={ModuleKind:Jz,JsxEmit:eU,NewLineKind:tU,ScriptTarget:nU,ModuleResolutionKind:iU,typescriptVersion:pKe,typescriptDefaults:hge,javascriptDefaults:fge,getTypeScriptWorker:mKe,getJavaScriptWorker:_Ke};function MB(){return It(()=>import("./tsMode-13275cc2.js"),[])}$b.languages.onLanguage("typescript",()=>MB().then(i=>i.setupTypeScript(hge)));$b.languages.onLanguage("javascript",()=>MB().then(i=>i.setupJavaScript(fge)));/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var gge=Object.defineProperty,vKe=Object.getOwnPropertyDescriptor,bKe=Object.getOwnPropertyNames,CKe=Object.prototype.hasOwnProperty,wKe=i=>gge(i,"__esModule",{value:!0}),yKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of bKe(e))!CKe.call(i,n)&&n!=="default"&&gge(i,n,{get:()=>e[n],enumerable:!(t=vKe(e,n))||t.enumerable});return i},OC={};wKe(OC);yKe(OC,AM);var RY=class{constructor(e,t,n){this._onDidChange=new OC.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},PY={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0}},FY={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},pge=new RY("css",PY,FY),mge=new RY("scss",PY,FY),_ge=new RY("less",PY,FY);OC.languages.css={cssDefaults:pge,lessDefaults:_ge,scssDefaults:mge};function BY(){return It(()=>import("./cssMode-5b60e482.js"),[])}OC.languages.onLanguage("less",()=>{BY().then(i=>i.setupMode(_ge))});OC.languages.onLanguage("scss",()=>{BY().then(i=>i.setupMode(mge))});OC.languages.onLanguage("css",()=>{BY().then(i=>i.setupMode(pge))});/*!----------------------------------------------------------------------------- + *-----------------------------------------------------------------------------*/var gge=Object.defineProperty,vKe=Object.getOwnPropertyDescriptor,bKe=Object.getOwnPropertyNames,CKe=Object.prototype.hasOwnProperty,wKe=i=>gge(i,"__esModule",{value:!0}),yKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of bKe(e))!CKe.call(i,n)&&n!=="default"&&gge(i,n,{get:()=>e[n],enumerable:!(t=vKe(e,n))||t.enumerable});return i},OC={};wKe(OC);yKe(OC,AM);var RY=class{constructor(e,t,n){this._onDidChange=new OC.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},PY={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0}},FY={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},pge=new RY("css",PY,FY),mge=new RY("scss",PY,FY),_ge=new RY("less",PY,FY);OC.languages.css={cssDefaults:pge,lessDefaults:_ge,scssDefaults:mge};function BY(){return It(()=>import("./cssMode-f58d3439.js"),[])}OC.languages.onLanguage("less",()=>{BY().then(i=>i.setupMode(_ge))});OC.languages.onLanguage("scss",()=>{BY().then(i=>i.setupMode(mge))});OC.languages.onLanguage("css",()=>{BY().then(i=>i.setupMode(pge))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var vge=Object.defineProperty,SKe=Object.getOwnPropertyDescriptor,LKe=Object.getOwnPropertyNames,EKe=Object.prototype.hasOwnProperty,xKe=i=>vge(i,"__esModule",{value:!0}),DKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of LKe(e))!EKe.call(i,n)&&n!=="default"&&vge(i,n,{get:()=>e[n],enumerable:!(t=SKe(e,n))||t.enumerable});return i},JS={};xKe(JS);DKe(JS,AM);var IKe=class{constructor(e,t,n){this._onDidChange=new JS.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},TKe={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},kKe={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},bge=new IKe("json",TKe,kKe);JS.languages.json={jsonDefaults:bge};function NKe(){return It(()=>import("./jsonMode-287a769a.js"),[])}JS.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});JS.languages.onLanguage("json",()=>{NKe().then(i=>i.setupMode(bge))});/*!----------------------------------------------------------------------------- + *-----------------------------------------------------------------------------*/var vge=Object.defineProperty,SKe=Object.getOwnPropertyDescriptor,LKe=Object.getOwnPropertyNames,EKe=Object.prototype.hasOwnProperty,xKe=i=>vge(i,"__esModule",{value:!0}),DKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of LKe(e))!EKe.call(i,n)&&n!=="default"&&vge(i,n,{get:()=>e[n],enumerable:!(t=SKe(e,n))||t.enumerable});return i},JS={};xKe(JS);DKe(JS,AM);var IKe=class{constructor(e,t,n){this._onDidChange=new JS.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},TKe={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},kKe={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},bge=new IKe("json",TKe,kKe);JS.languages.json={jsonDefaults:bge};function NKe(){return It(()=>import("./jsonMode-9d881bf1.js"),[])}JS.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});JS.languages.onLanguage("json",()=>{NKe().then(i=>i.setupMode(bge))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var Cge=Object.defineProperty,AKe=Object.getOwnPropertyDescriptor,OKe=Object.getOwnPropertyNames,MKe=Object.prototype.hasOwnProperty,RKe=i=>Cge(i,"__esModule",{value:!0}),PKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of OKe(e))!MKe.call(i,n)&&n!=="default"&&Cge(i,n,{get:()=>e[n],enumerable:!(t=AKe(e,n))||t.enumerable});return i},OM={};RKe(OM);PKe(OM,AM);var FKe=class{constructor(e,t,n){this._onDidChange=new OM.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},BKe={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},RB={format:BKe,suggest:{},data:{useDefaultDataProvider:!0}};function PB(i){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:i===q2,documentFormattingEdits:i===q2,documentRangeFormattingEdits:i===q2}}var q2="html",$ne="handlebars",zne="razor",wge=FB(q2,RB,PB(q2)),WKe=wge.defaults,yge=FB($ne,RB,PB($ne)),VKe=yge.defaults,Sge=FB(zne,RB,PB(zne)),HKe=Sge.defaults;OM.languages.html={htmlDefaults:WKe,razorDefaults:HKe,handlebarDefaults:VKe,htmlLanguageService:wge,handlebarLanguageService:yge,razorLanguageService:Sge,registerHTMLLanguageService:FB};function $Ke(){return It(()=>import("./htmlMode-1c79fa8e.js"),[])}function FB(i,e=RB,t=PB(i)){const n=new FKe(i,e,t);let r;const s=OM.languages.onLanguage(i,async()=>{r=(await $Ke()).setupMode(n)});return{defaults:n,dispose(){s.dispose(),r==null||r.dispose(),r=void 0}}}/*!----------------------------------------------------------------------------- + *-----------------------------------------------------------------------------*/var Cge=Object.defineProperty,AKe=Object.getOwnPropertyDescriptor,OKe=Object.getOwnPropertyNames,MKe=Object.prototype.hasOwnProperty,RKe=i=>Cge(i,"__esModule",{value:!0}),PKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of OKe(e))!MKe.call(i,n)&&n!=="default"&&Cge(i,n,{get:()=>e[n],enumerable:!(t=AKe(e,n))||t.enumerable});return i},OM={};RKe(OM);PKe(OM,AM);var FKe=class{constructor(e,t,n){this._onDidChange=new OM.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},BKe={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},RB={format:BKe,suggest:{},data:{useDefaultDataProvider:!0}};function PB(i){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:i===q2,documentFormattingEdits:i===q2,documentRangeFormattingEdits:i===q2}}var q2="html",$ne="handlebars",zne="razor",wge=FB(q2,RB,PB(q2)),WKe=wge.defaults,yge=FB($ne,RB,PB($ne)),VKe=yge.defaults,Sge=FB(zne,RB,PB(zne)),HKe=Sge.defaults;OM.languages.html={htmlDefaults:WKe,razorDefaults:HKe,handlebarDefaults:VKe,htmlLanguageService:wge,handlebarLanguageService:yge,razorLanguageService:Sge,registerHTMLLanguageService:FB};function $Ke(){return It(()=>import("./htmlMode-7f4ca3d8.js"),[])}function FB(i,e=RB,t=PB(i)){const n=new FKe(i,e,t);let r;const s=OM.languages.onLanguage(i,async()=>{r=(await $Ke()).setupMode(n)});return{defaults:n,dispose(){s.dispose(),r==null||r.dispose(),r=void 0}}}/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var Lge=Object.defineProperty,zKe=Object.getOwnPropertyDescriptor,UKe=Object.getOwnPropertyNames,jKe=Object.prototype.hasOwnProperty,KKe=i=>Lge(i,"__esModule",{value:!0}),qKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of UKe(e))!jKe.call(i,n)&&n!=="default"&&Lge(i,n,{get:()=>e[n],enumerable:!(t=zKe(e,n))||t.enumerable});return i},jw={};KKe(jw);qKe(jw,AM);var Ege={},K6={},xge=class{static getOrCreate(e){return K6[e]||(K6[e]=new xge(e)),K6[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,n)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=n})}whenLoaded(){return this._lazyLoadPromise}load(){return this._loadingTriggered||(this._loadingTriggered=!0,Ege[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function Ut(i){const e=i.id;Ege[e]=i,jw.languages.register(i);const t=xge.getOrCreate(e);jw.languages.setMonarchTokensProvider(e,t.whenLoaded().then(n=>n.language)),jw.languages.onLanguage(e,()=>{t.load().then(n=>{jw.languages.setLanguageConfiguration(e,n.conf)})})}Ut({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>It(()=>import("./abap-c25c4b29.js"),[])});Ut({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>It(()=>import("./apex-90b58cb1.js"),[])});Ut({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>It(()=>import("./azcli-c8384527.js"),[])});Ut({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>It(()=>import("./bat-dd03db3a.js"),[])});Ut({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>It(()=>import("./bicep-b5110554.js"),[])});Ut({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>It(()=>import("./cameligo-3323522b.js"),[])});Ut({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>It(()=>import("./clojure-d45fb7b6.js"),[])});Ut({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>It(()=>import("./coffee-912c6d0d.js"),[])});Ut({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>It(()=>import("./cpp-30cc099a.js"),[])});Ut({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>It(()=>import("./cpp-30cc099a.js"),[])});Ut({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>It(()=>import("./csharp-0553c8db.js"),[])});Ut({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>It(()=>import("./csp-dbe8a1fa.js"),[])});Ut({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>It(()=>import("./css-64c40e4a.js"),[])});Ut({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>It(()=>import("./dart-4b7e6961.js"),[])});Ut({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>It(()=>import("./dockerfile-1b41f08d.js"),[])});Ut({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>It(()=>import("./ecl-eaf29bcc.js"),[])});Ut({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>It(()=>import("./elixir-4f68332f.js"),[])});Ut({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>It(()=>import("./flow9-6536bbb8.js"),[])});Ut({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>It(()=>import("./fsharp-d4a13be8.js"),[])});Ut({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>It(()=>import("./go-514c6bed.js"),[])});Ut({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>It(()=>import("./graphql-dcd71327.js"),[])});Ut({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>It(()=>import("./handlebars-e15b1ca7.js"),[])});Ut({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>It(()=>import("./hcl-69c09a16.js"),[])});Ut({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>It(()=>import("./html-1fcc3bd7.js"),[])});Ut({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>It(()=>import("./ini-ddcf22bb.js"),[])});Ut({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>It(()=>import("./java-7b3bef9f.js"),[])});Ut({id:"javascript",extensions:[".js",".es6",".jsx",".mjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>It(()=>import("./javascript-9f0a829c.js"),["assets/javascript-9f0a829c.js","assets/typescript-57bb8e8c.js"])});Ut({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>It(()=>import("./julia-d49177e7.js"),[])});Ut({id:"kotlin",extensions:[".kt"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>It(()=>import("./kotlin-12177a5b.js"),[])});Ut({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>It(()=>import("./less-dd974dd5.js"),[])});Ut({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>It(()=>import("./lexon-7236519e.js"),[])});Ut({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>It(()=>import("./lua-de05fd08.js"),[])});Ut({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>It(()=>import("./liquid-f90a79d3.js"),[])});Ut({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>It(()=>import("./m3-ceb8ffc4.js"),[])});Ut({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>It(()=>import("./markdown-6a6346da.js"),[])});Ut({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>It(()=>import("./mips-6fb0802a.js"),[])});Ut({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>It(()=>import("./msdax-bf1578ea.js"),[])});Ut({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>It(()=>import("./mysql-4cfd205e.js"),[])});Ut({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>It(()=>import("./objective-c-fadd4d71.js"),[])});Ut({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>It(()=>import("./pascal-4479a90f.js"),[])});Ut({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>It(()=>import("./pascaligo-7d1a5852.js"),[])});Ut({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:()=>It(()=>import("./perl-4a4b182f.js"),[])});Ut({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>It(()=>import("./pgsql-e04cad37.js"),[])});Ut({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>It(()=>import("./php-f332f715.js"),[])});Ut({id:"pla",extensions:[".pla"],loader:()=>It(()=>import("./pla-649d56b2.js"),[])});Ut({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>It(()=>import("./postiats-52f8c4e6.js"),[])});Ut({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>It(()=>import("./powerquery-ee00e87c.js"),[])});Ut({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>It(()=>import("./powershell-d33e9d1b.js"),[])});Ut({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>It(()=>import("./protobuf-16b10ef3.js"),[])});Ut({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>It(()=>import("./pug-768921d2.js"),[])});Ut({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>It(()=>import("./python-4be49007.js"),[])});Ut({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>It(()=>import("./qsharp-c7533acc.js"),[])});Ut({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>It(()=>import("./r-d1be5f1d.js"),[])});Ut({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>It(()=>import("./razor-c533600f.js"),[])});Ut({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>It(()=>import("./redis-bd6165ff.js"),[])});Ut({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>It(()=>import("./redshift-c705624d.js"),[])});Ut({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>It(()=>import("./restructuredtext-947094fa.js"),[])});Ut({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>It(()=>import("./ruby-1816fcd8.js"),[])});Ut({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>It(()=>import("./rust-c4db2e19.js"),[])});Ut({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>It(()=>import("./sb-adba4cc1.js"),[])});Ut({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>It(()=>import("./scala-af9b4756.js"),[])});Ut({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>It(()=>import("./scheme-812b9ffd.js"),[])});Ut({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>It(()=>import("./scss-b21c6880.js"),[])});Ut({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>It(()=>import("./shell-a62a83b7.js"),[])});Ut({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>It(()=>import("./solidity-9a528bff.js"),[])});Ut({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>It(()=>import("./sophia-dc39a193.js"),[])});Ut({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>It(()=>import("./sparql-658eb489.js"),[])});Ut({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>It(()=>import("./sql-233b53ac.js"),[])});Ut({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:()=>It(()=>import("./st-27efd63b.js"),[])});Ut({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>It(()=>import("./swift-a2a125fe.js"),[])});Ut({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>It(()=>import("./systemverilog-8bcc1c37.js"),[])});Ut({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>It(()=>import("./systemverilog-8bcc1c37.js"),[])});Ut({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>It(()=>import("./tcl-5c798828.js"),[])});Ut({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>It(()=>import("./twig-5245532a.js"),[])});Ut({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>It(()=>import("./typescript-57bb8e8c.js"),[])});Ut({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>It(()=>import("./vb-818b3fb1.js"),[])});Ut({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xsl"],firstLine:"(\\<\\?xml.*)|(\\It(()=>import("./xml-1563b54a.js"),[])});Ut({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>It(()=>import("./yaml-eee3d8e3.js"),[])});var GKe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},YKe=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}},BB=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const WB=new Dt("selectionAnchorSet",!1);let Rp=class Dge{constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=WB.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}static get(e){return e.getContribution(Dge.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition(),t=this.decorationId?[this.decorationId]:[],n=this.editor.deltaDecorations(t,[{range:yt.fromPositions(e,e),options:{description:"selection-anchor",stickiness:1,hoverMessage:new Mp().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"}}]);this.decorationId=n[0],this.selectionAnchorSetContextKey.set(!!this.decorationId),To(C("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(yt.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){this.decorationId&&(this.editor.deltaDecorations([this.decorationId],[]),this.decorationId=void 0,this.selectionAnchorSetContextKey.set(!1))}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Rp.ID="editor.contrib.selectionAnchorController";Rp=GKe([YKe(1,cn)],Rp);class ZKe extends Et{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:de.editorTextFocus,primary:Zr(2089,2080),weight:100}})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).setSelectionAnchor()})}}class XKe extends Et{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:WB})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).goToSelectionAnchor()})}}class QKe extends Et{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:WB,kbOpts:{kbExpr:de.editorTextFocus,primary:Zr(2089,2089),weight:100}})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).selectFromAnchorToCursor()})}}class JKe extends Et{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:WB,kbOpts:{kbExpr:de.editorTextFocus,primary:9,weight:100}})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).cancelSelectionAnchor()})}}ki(Rp.ID,Rp);it(ZKe);it(XKe);it(QKe);it(JKe);const eqe=we("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class tqe extends Et{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:de.editorTextFocus,primary:3160,weight:100}})}run(e,t){let n=Xh.get(t);n&&n.jumpToBracket()}}class nqe extends Et{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,n){const r=Xh.get(t);if(!r)return;let s=!0;n&&n.selectBrackets===!1&&(s=!1),r.selectToBracket(s)}}class iqe{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}}class Xh extends Oe{constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=[],this._updateBracketsSoon=this._register(new er(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(63),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._decorations=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(63)&&(this._matchBrackets=this._editor.getOption(63),this._decorations=this._editor.deltaDecorations(this._decorations,[]),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}static get(e){return e.getContribution(Xh.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(n=>{const r=n.getStartPosition(),s=e.bracketPairs.matchBracket(r);let o=null;if(s)s[0].containsPosition(r)?o=s[1].getStartPosition():s[1].containsPosition(r)&&(o=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(r);if(a)o=a[0].getStartPosition();else{const u=e.bracketPairs.findNextBracket(r);u&&u.range&&(o=u.range.getStartPosition())}}return o?new yt(o.lineNumber,o.column,o.lineNumber,o.column):new yt(r.lineNumber,r.column,r.lineNumber,r.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{const s=r.getStartPosition();let o=t.bracketPairs.matchBracket(s);if(!o&&(o=t.bracketPairs.findEnclosingBrackets(s),!o)){const d=t.bracketPairs.findNextBracket(s);d&&d.range&&(o=t.bracketPairs.matchBracket(d.range.getStartPosition()))}let a=null,u=null;if(o){o.sort(Q.compareRangesUsingStarts);const[d,h]=o;if(a=e?d.getStartPosition():d.getEndPosition(),u=e?h.getEndPosition():h.getStartPosition(),h.containsPosition(s)){const f=a;a=u,u=f}}a&&u&&n.push(new yt(a.lineNumber,a.column,u.lineNumber,u.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let e=[],t=0;for(const n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations=this._editor.deltaDecorations(this._decorations,e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),n=t.getVersionId();let r=[];this._lastVersionId===n&&(r=this._lastBracketsData);let s=[],o=0;for(let f=0,p=e.length;f1&&s.sort(Le.compare);let a=[],u=0,d=0,h=r.length;for(let f=0,p=s.length;f{const t=i.getColor(w2e);t&&e.addRule(`.monaco-editor .bracket-match { background-color: ${t}; }`);const n=i.getColor(ode);n&&e.addRule(`.monaco-editor .bracket-match { border: 1px solid ${n}; }`)});ra.appendMenuItem(Mt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class rqe{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const n=this._selection.startLineNumber,r=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&r===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(n)))if(this._isMovingLeft){const o=new Q(n,r-1,n,r),a=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Q(n,s,n,s),a)}else{const o=new Q(n,s,n,s+1),a=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Q(n,r,n,r),a)}}computeCursorState(e,t){return this._isMovingLeft?new yt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new yt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class Ige extends Et{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(const s of r)n.push(new rqe(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class sqe extends Ige{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:de.writable})}}class oqe extends Ige{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:de.writable})}}it(sqe);it(oqe);class aqe extends Et{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:de.writable,kbOpts:{kbExpr:de.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],s=t.getSelections();for(let o of s){if(!o.isEmpty())continue;let a=o.startLineNumber,u=o.startColumn,d=n.getLineMaxColumn(a);if(a===1&&(u===1||u===2&&d===2))continue;let h=u===d?o.getPosition():pi.rightPosition(n,o.getPosition().lineNumber,o.getPosition().column),f=pi.leftPosition(n,h),p=pi.leftPosition(n,f),m=n.getValueInRange(Q.fromPositions(p,f)),v=n.getValueInRange(Q.fromPositions(f,h)),b=Q.fromPositions(p,h);r.push(new xo(b,v+m))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}}it(aqe);var lqe=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const zb="9_cutcopypaste",uqe=Kh||document.queryCommandSupported("cut"),Tge=Kh||document.queryCommandSupported("copy"),cqe=typeof navigator.clipboard>"u"||wl?document.queryCommandSupported("paste"):!0;function WY(i){return i.register(),i}const dqe=uqe?WY(new PS({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Kh?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Mt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Mt.EditorContext,group:zb,title:C("actions.clipboard.cutLabel","Cut"),when:de.writable,order:1},{menuId:Mt.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Mt.SimpleEditorContext,group:zb,title:C("actions.clipboard.cutLabel","Cut"),when:de.writable,order:1}]})):void 0,hqe=Tge?WY(new PS({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Kh?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Mt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Mt.EditorContext,group:zb,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Mt.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Mt.SimpleEditorContext,group:zb,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ra.appendMenuItem(Mt.MenubarEditMenu,{submenu:Mt.MenubarCopy,title:{value:C("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3});ra.appendMenuItem(Mt.EditorContext,{submenu:Mt.EditorContextCopy,title:{value:C("copy as","Copy As"),original:"Copy As"},group:zb,order:3});const q6=cqe?WY(new PS({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Kh?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Mt.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Mt.EditorContext,group:zb,title:C("actions.clipboard.pasteLabel","Paste"),when:de.writable,order:4},{menuId:Mt.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Mt.SimpleEditorContext,group:zb,title:C("actions.clipboard.pasteLabel","Paste"),when:de.writable,order:4}]})):void 0;class fqe extends Et{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:C("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:de.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(32)&&t.getSelection().isEmpty()||(jH.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),jH.forceCopyWithSyntaxHighlighting=!1)}}function kge(i,e){i&&(i.addImplementation(1e4,"code-editor",(t,n)=>{const r=t.get(Ti).getFocusedCodeEditor();if(r&&r.hasTextFocus()){const s=r.getOption(32),o=r.getSelection();return o&&o.isEmpty()&&!s||document.execCommand(e),!0}return!1}),i.addImplementation(0,"generic-dom",(t,n)=>(document.execCommand(e),!0)))}kge(dqe,"cut");kge(hqe,"copy");q6&&(q6.addImplementation(1e4,"code-editor",(i,e)=>{const t=i.get(Ti),n=i.get(K0),r=t.getFocusedCodeEditor();return r&&r.hasTextFocus()?!document.execCommand("paste")&&RS?(()=>lqe(void 0,void 0,void 0,function*(){const o=yield n.readText();if(o!==""){const a=FA.INSTANCE.get(o);let u=!1,d=null,h=null;a&&(u=r.getOption(32)&&!!a.isFromEmptySelection,d=typeof a.multicursorText<"u"?a.multicursorText:null,h=a.mode),r.trigger("keyboard","paste",{text:o,pasteOnNewLine:u,multicursorText:d,mode:h})}}))():!0:!1}),q6.addImplementation(0,"generic-dom",(i,e)=>(document.execCommand("paste"),!0)));Tge&&it(fqe);class Q3{constructor(e){this.executor=e,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}class zn{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+zn.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new zn(this.value+zn.sep+e)}}zn.sep=".";zn.None=new zn("@@none@@");zn.Empty=new zn("");zn.QuickFix=new zn("quickfix");zn.Refactor=new zn("refactor");zn.Source=new zn("source");zn.SourceOrganizeImports=zn.Source.append("organizeImports");zn.SourceFixAll=zn.Source.append("fixAll");function gqe(i,e){return!(i.include&&!i.include.intersects(e)||i.excludes&&i.excludes.some(t=>Nge(e,t,i.include))||!i.includeSourceActions&&zn.Source.contains(e))}function pqe(i,e){const t=e.kind?new zn(e.kind):void 0;return!(i.include&&(!t||!i.include.contains(t))||i.excludes&&t&&i.excludes.some(n=>Nge(t,n,i.include))||!i.includeSourceActions&&t&&zn.Source.contains(t)||i.onlyIncludePreferredActions&&!e.isPreferred)}function Nge(i,e,t){return!(!e.contains(i)||t&&e.contains(t))}class Wf{constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}static fromUser(e,t){return!e||typeof e!="object"?new Wf(t.kind,t.apply,!1):new Wf(Wf.getKindFromUser(e,t.kind),Wf.getApplyFromUser(e,t.apply),Wf.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new zn(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}}var VY=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const Age="editor.action.codeAction",Oge="editor.action.refactor",Mge="editor.action.sourceAction",HY="editor.action.organizeImports",$Y="editor.action.fixAll";class Rge{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return VY(this,void 0,void 0,function*(){if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let n;try{n=yield this.provider.resolveCodeAction(this.action,e)}catch(r){Ro(r)}n&&(this.action.edit=n.edit)}return this})}}class zY extends Oe{constructor(e,t,n){super(),this.documentation=t,this._register(n),this.allActions=[...e].sort(zY.codeActionsComparator),this.validActions=this.allActions.filter(({action:r})=>!r.disabled)}static codeActionsComparator({action:e},{action:t}){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:vl(e.diagnostics)?vl(t.diagnostics)?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:vl(t.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&zn.QuickFix.contains(new zn(e.kind))&&!!e.isPreferred)}}const Une={actions:[],documentation:void 0};function UY(i,e,t,n,r){var s;const o=t.filter||{},a={only:(s=o.include)===null||s===void 0?void 0:s.value,trigger:t.type},u=new EG(i,r),d=mqe(i,o),h=new Je,f=d.map(m=>VY(this,void 0,void 0,function*(){try{n.report(m);const v=yield m.provideCodeActions(i,e,a,u.token);if(v&&h.add(v),u.token.isCancellationRequested)return Une;const b=((v==null?void 0:v.actions)||[]).filter(S=>S&&pqe(o,S)),L=_qe(m,b,o.include);return{actions:b.map(S=>new Rge(S,m)),documentation:L}}catch(v){if(Cg(v))throw v;return Ro(v),Une}})),p=tg.onDidChange(()=>{const m=tg.all(i);rc(m,d)||u.cancel()});return Promise.all(f).then(m=>{const v=$ue(m.map(L=>L.actions)),b=FS(m.map(L=>L.documentation));return new zY(v,b,h)}).finally(()=>{p.dispose(),u.dispose()})}function mqe(i,e){return tg.all(i).filter(t=>t.providedCodeActionKinds?t.providedCodeActionKinds.some(n=>gqe(e,new zn(n))):!0)}function _qe(i,e,t){if(!i.documentation)return;const n=i.documentation.map(r=>({kind:new zn(r.kind),command:r.command}));if(t){let r;for(const s of n)s.kind.contains(t)&&(r?r.kind.contains(s.kind)&&(r=s):r=s);if(r)return r==null?void 0:r.command}for(const r of e)if(r.kind){for(const s of n)if(s.kind.contains(new zn(r.kind)))return s.command}}Xn.registerCommand("_executeCodeActionProvider",function(i,e,t,n,r){return VY(this,void 0,void 0,function*(){if(!(e instanceof rn))throw jh();const s=i.get(Ds).getModel(e);if(!s)throw jh();const o=yt.isISelection(t)?yt.liftSelection(t):Q.isIRange(t)?s.validateRange(t):void 0;if(!o)throw jh();const a=typeof n=="string"?new zn(n):void 0,u=yield UY(s,o,{type:1,filter:{includeSourceActions:!0,include:a}},xC.None,Fn.None),d=[],h=Math.min(u.validActions.length,typeof r=="number"?r:0);for(let f=0;ff.action)}finally{setTimeout(()=>u.dispose(),100)}})});var vqe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},bqe=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}};let Fu=class rU{constructor(e,t){this._messageWidget=new Oa,this._messageListeners=new Je,this._editor=e,this._visible=rU.MESSAGE_VISIBLE.bindTo(t),this._editorListener=this._editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit())}static get(e){return e.getContribution(rU.ID)}dispose(){this._editorListener.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){To(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new jne(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(new Ma(()=>this.closeMessage(),3e3));let n;this._messageListeners.add(this._editor.onMouseMove(r=>{r.target.position&&(n?n.containsPosition(r.target.position)||this.closeMessage():n=new Q(t.lineNumber-3,1,r.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(jne.fadeOut(this._messageWidget.value))}_onDidAttemptReadOnlyEdit(){this._editor.hasModel()&&this.showMessage(C("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())}};Fu.ID="editor.contrib.messageController";Fu.MESSAGE_VISIBLE=new Dt("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message"));Fu=vqe([bqe(1,cn)],Fu);const Cqe=Po.bindToContribution(Fu.get);nt(new Cqe({id:"leaveEditorMessage",precondition:Fu.MESSAGE_VISIBLE,handler:i=>i.closeMessage(),kbOpts:{weight:100+30,primary:9}}));let jne=class{constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const o=document.createElement("div");o.classList.add("message"),o.textContent=r,this._domNode.appendChild(o);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(e){let t;const n=()=>{e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2]}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};ki(Fu.ID,Fu);var wqe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},Kne=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}},yqe=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};class qne extends ic{constructor(e,t){super(e.command?e.command.id:e.title,Sqe(e.title),void 0,!e.disabled,t),this.action=e}}function Sqe(i){return i.replace(/\r\n|\r|\n/g," ")}let sU=class extends Oe{constructor(e,t,n,r){super(),this._editor=e,this._delegate=t,this._contextMenuService=n,this._visible=!1,this._showingActions=this._register(new Oa),this._keybindingResolver=new VB({getKeybindings:()=>r.getKeybindings()})}get isVisible(){return this._visible}show(e,t,n,r){return yqe(this,void 0,void 0,function*(){const s=r.includeDisabledActions?t.allActions:t.validActions;if(!s.length){this._visible=!1;return}if(!this._editor.getDomNode())throw this._visible=!1,_C();this._visible=!0,this._showingActions.value=t;const o=this.getMenuActions(e,s,t.documentation),a=Le.isIPosition(n)?this._toCoords(n):n||{x:0,y:0},u=this._keybindingResolver.getResolver(),d=this._editor.getOption(114);this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>a,getActions:()=>o,onHide:()=>{this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:h=>h instanceof qne?u(h.action):void 0})})}getMenuActions(e,t,n){var r,s;const o=h=>new qne(h.action,()=>this._delegate.onSelectCodeAction(h)),a=t.map(o),u=[...n],d=this._editor.getModel();if(d&&a.length)for(const h of tg.all(d))h._getAdditionalMenuItems&&u.push(...h._getAdditionalMenuItems({trigger:e.type,only:(s=(r=e.filter)===null||r===void 0?void 0:r.include)===null||s===void 0?void 0:s.value},t.map(f=>f.action)));return u.length&&a.push(new Zc,...u.map(h=>o(new Rge({title:h.title,command:h},void 0)))),a}_toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),n=Uo(this._editor.getDomNode()),r=n.left+t.left,s=n.top+t.top+t.height;return{x:r,y:s}}};sU=wqe([Kne(2,j0),Kne(3,Sr)],sU);class VB{constructor(e){this._keybindingProvider=e}getResolver(){const e=new Q3(()=>this._keybindingProvider.getKeybindings().filter(t=>VB.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let n=t.commandArgs;return t.command===HY?n={kind:zn.SourceOrganizeImports.value}:t.command===$Y&&(n={kind:zn.SourceFixAll.value}),Object.assign({resolvedKeybinding:t.resolvedKeybinding},Wf.fromUser(n,{kind:zn.None,apply:"never"}))}));return t=>{if(t.kind){const n=this.bestKeybindingForCodeAction(t,e.getValue());return n==null?void 0:n.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const n=new zn(e.kind);return t.filter(r=>r.kind.contains(n)).filter(r=>r.preferred?e.isPreferred:!0).reduceRight((r,s)=>r?r.kind.contains(s.kind)?s:r:s,void 0)}}VB.codeActionCommands=[Oge,Age,Mge,HY,$Y];var Lqe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},Eqe=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}},G2;(function(i){i.Hidden={type:0};class e{constructor(n,r,s,o){this.actions=n,this.trigger=r,this.editorPosition=s,this.widgetPosition=o,this.type=1}}i.Showing=e})(G2||(G2={}));let J3=class Pge extends Oe{constructor(e,t,n,r){super(),this._editor=e,this._quickFixActionId=t,this._preferredFixActionId=n,this._keybindingService=r,this._onClick=this._register(new Ce),this.onClick=this._onClick.event,this._state=G2.Hidden,this._domNode=document.createElement("div"),this._domNode.className=_e.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(s=>{const o=this._editor.getModel();(this.state.type!==1||!o||this.state.editorPosition.lineNumber>=o.getLineCount())&&this.hide()})),Hi.ignoreTarget(this._domNode),this._register(bEe(this._domNode,s=>{if(this.state.type!==1)return;this._editor.focus(),s.preventDefault();const{top:o,height:a}=Uo(this._domNode),u=this._editor.getOption(58);let d=Math.floor(u/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{if((s.buttons&1)!==1)return;this.hide();const o=new SC;o.startMonitoring(s.target,s.buttons,WS,()=>{},()=>{o.dispose()})})),this._register(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(56)&&!this._editor.getOption(56).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0)return this.hide();const r=this._editor.getOptions();if(!r.get(56).enabled)return this.hide();const s=this._editor.getModel();if(!s)return this.hide();const{lineNumber:o,column:a}=s.validatePosition(n),u=s.getOptions().tabSize,d=r.get(43),h=s.getLineContent(o),f=Sl.computeIndentLevel(h,u),p=d.spaceWidth*f>22,m=b=>b>2&&this._editor.getTopForLineNumber(b)===this._editor.getTopForLineNumber(b-1);let v=o;if(!p){if(o>1&&!m(o-1))v-=1;else if(!m(o+1))v+=1;else if(a*d.spaceWidth<22)return this.hide()}this.state=new G2.Showing(e,t,n,{position:{lineNumber:v,column:1},preference:Pge._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=G2.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(..._e.lightBulb.classNamesArray),this._domNode.classList.add(..._e.lightbulbAutofix.classNamesArray);const t=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(t){this.title=C("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",t.getLabel());return}}this._domNode.classList.remove(..._e.lightbulbAutofix.classNamesArray),this._domNode.classList.add(..._e.lightBulb.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._quickFixActionId);e?this.title=C("codeActionWithKb","Show Code Actions ({0})",e.getLabel()):this.title=C("codeAction","Show Code Actions")}set title(e){this._domNode.title=e}};J3._posPref=[0];J3=Lqe([Eqe(3,Sr)],J3);hr((i,e)=>{var t;const n=(t=i.getColor(sc))===null||t===void 0?void 0:t.transparent(.7),r=i.getColor(yIe);r&&e.addRule(` + *-----------------------------------------------------------------------------*/var Lge=Object.defineProperty,zKe=Object.getOwnPropertyDescriptor,UKe=Object.getOwnPropertyNames,jKe=Object.prototype.hasOwnProperty,KKe=i=>Lge(i,"__esModule",{value:!0}),qKe=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of UKe(e))!jKe.call(i,n)&&n!=="default"&&Lge(i,n,{get:()=>e[n],enumerable:!(t=zKe(e,n))||t.enumerable});return i},jw={};KKe(jw);qKe(jw,AM);var Ege={},K6={},xge=class{static getOrCreate(e){return K6[e]||(K6[e]=new xge(e)),K6[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,n)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=n})}whenLoaded(){return this._lazyLoadPromise}load(){return this._loadingTriggered||(this._loadingTriggered=!0,Ege[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function Ut(i){const e=i.id;Ege[e]=i,jw.languages.register(i);const t=xge.getOrCreate(e);jw.languages.setMonarchTokensProvider(e,t.whenLoaded().then(n=>n.language)),jw.languages.onLanguage(e,()=>{t.load().then(n=>{jw.languages.setLanguageConfiguration(e,n.conf)})})}Ut({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>It(()=>import("./abap-c25c4b29.js"),[])});Ut({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>It(()=>import("./apex-90b58cb1.js"),[])});Ut({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>It(()=>import("./azcli-c8384527.js"),[])});Ut({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>It(()=>import("./bat-dd03db3a.js"),[])});Ut({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>It(()=>import("./bicep-b5110554.js"),[])});Ut({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>It(()=>import("./cameligo-3323522b.js"),[])});Ut({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>It(()=>import("./clojure-d45fb7b6.js"),[])});Ut({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>It(()=>import("./coffee-912c6d0d.js"),[])});Ut({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>It(()=>import("./cpp-30cc099a.js"),[])});Ut({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>It(()=>import("./cpp-30cc099a.js"),[])});Ut({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>It(()=>import("./csharp-0553c8db.js"),[])});Ut({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>It(()=>import("./csp-dbe8a1fa.js"),[])});Ut({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>It(()=>import("./css-64c40e4a.js"),[])});Ut({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>It(()=>import("./dart-4b7e6961.js"),[])});Ut({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>It(()=>import("./dockerfile-1b41f08d.js"),[])});Ut({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>It(()=>import("./ecl-eaf29bcc.js"),[])});Ut({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>It(()=>import("./elixir-4f68332f.js"),[])});Ut({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>It(()=>import("./flow9-6536bbb8.js"),[])});Ut({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>It(()=>import("./fsharp-d4a13be8.js"),[])});Ut({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>It(()=>import("./go-514c6bed.js"),[])});Ut({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>It(()=>import("./graphql-dcd71327.js"),[])});Ut({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>It(()=>import("./handlebars-9843eaf2.js"),[])});Ut({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>It(()=>import("./hcl-69c09a16.js"),[])});Ut({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>It(()=>import("./html-cded7cb3.js"),[])});Ut({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>It(()=>import("./ini-ddcf22bb.js"),[])});Ut({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>It(()=>import("./java-7b3bef9f.js"),[])});Ut({id:"javascript",extensions:[".js",".es6",".jsx",".mjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>It(()=>import("./javascript-dcdc4887.js"),["assets/javascript-dcdc4887.js","assets/typescript-9209c285.js"])});Ut({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>It(()=>import("./julia-d49177e7.js"),[])});Ut({id:"kotlin",extensions:[".kt"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>It(()=>import("./kotlin-12177a5b.js"),[])});Ut({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>It(()=>import("./less-dd974dd5.js"),[])});Ut({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>It(()=>import("./lexon-7236519e.js"),[])});Ut({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>It(()=>import("./lua-de05fd08.js"),[])});Ut({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>It(()=>import("./liquid-8382a17c.js"),[])});Ut({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>It(()=>import("./m3-ceb8ffc4.js"),[])});Ut({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>It(()=>import("./markdown-6a6346da.js"),[])});Ut({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>It(()=>import("./mips-6fb0802a.js"),[])});Ut({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>It(()=>import("./msdax-bf1578ea.js"),[])});Ut({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>It(()=>import("./mysql-4cfd205e.js"),[])});Ut({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>It(()=>import("./objective-c-fadd4d71.js"),[])});Ut({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>It(()=>import("./pascal-4479a90f.js"),[])});Ut({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>It(()=>import("./pascaligo-7d1a5852.js"),[])});Ut({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:()=>It(()=>import("./perl-4a4b182f.js"),[])});Ut({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>It(()=>import("./pgsql-e04cad37.js"),[])});Ut({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>It(()=>import("./php-f332f715.js"),[])});Ut({id:"pla",extensions:[".pla"],loader:()=>It(()=>import("./pla-649d56b2.js"),[])});Ut({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>It(()=>import("./postiats-52f8c4e6.js"),[])});Ut({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>It(()=>import("./powerquery-ee00e87c.js"),[])});Ut({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>It(()=>import("./powershell-d33e9d1b.js"),[])});Ut({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>It(()=>import("./protobuf-16b10ef3.js"),[])});Ut({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>It(()=>import("./pug-768921d2.js"),[])});Ut({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>It(()=>import("./python-8ad7d88a.js"),[])});Ut({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>It(()=>import("./qsharp-c7533acc.js"),[])});Ut({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>It(()=>import("./r-d1be5f1d.js"),[])});Ut({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>It(()=>import("./razor-eea1dd13.js"),[])});Ut({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>It(()=>import("./redis-bd6165ff.js"),[])});Ut({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>It(()=>import("./redshift-c705624d.js"),[])});Ut({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>It(()=>import("./restructuredtext-947094fa.js"),[])});Ut({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>It(()=>import("./ruby-1816fcd8.js"),[])});Ut({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>It(()=>import("./rust-c4db2e19.js"),[])});Ut({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>It(()=>import("./sb-adba4cc1.js"),[])});Ut({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>It(()=>import("./scala-af9b4756.js"),[])});Ut({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>It(()=>import("./scheme-812b9ffd.js"),[])});Ut({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>It(()=>import("./scss-b21c6880.js"),[])});Ut({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>It(()=>import("./shell-a62a83b7.js"),[])});Ut({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>It(()=>import("./solidity-9a528bff.js"),[])});Ut({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>It(()=>import("./sophia-dc39a193.js"),[])});Ut({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>It(()=>import("./sparql-658eb489.js"),[])});Ut({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>It(()=>import("./sql-233b53ac.js"),[])});Ut({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:()=>It(()=>import("./st-27efd63b.js"),[])});Ut({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>It(()=>import("./swift-a2a125fe.js"),[])});Ut({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>It(()=>import("./systemverilog-8bcc1c37.js"),[])});Ut({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>It(()=>import("./systemverilog-8bcc1c37.js"),[])});Ut({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>It(()=>import("./tcl-5c798828.js"),[])});Ut({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>It(()=>import("./twig-5245532a.js"),[])});Ut({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>It(()=>import("./typescript-9209c285.js"),[])});Ut({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>It(()=>import("./vb-818b3fb1.js"),[])});Ut({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xsl"],firstLine:"(\\<\\?xml.*)|(\\It(()=>import("./xml-e8977f8e.js"),[])});Ut({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>It(()=>import("./yaml-eee3d8e3.js"),[])});var GKe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},YKe=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}},BB=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const WB=new Dt("selectionAnchorSet",!1);let Rp=class Dge{constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=WB.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}static get(e){return e.getContribution(Dge.ID)}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition(),t=this.decorationId?[this.decorationId]:[],n=this.editor.deltaDecorations(t,[{range:yt.fromPositions(e,e),options:{description:"selection-anchor",stickiness:1,hoverMessage:new Mp().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"}}]);this.decorationId=n[0],this.selectionAnchorSetContextKey.set(!!this.decorationId),To(C("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(yt.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){this.decorationId&&(this.editor.deltaDecorations([this.decorationId],[]),this.decorationId=void 0,this.selectionAnchorSetContextKey.set(!1))}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Rp.ID="editor.contrib.selectionAnchorController";Rp=GKe([YKe(1,cn)],Rp);class ZKe extends Et{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:de.editorTextFocus,primary:Zr(2089,2080),weight:100}})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).setSelectionAnchor()})}}class XKe extends Et{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:WB})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).goToSelectionAnchor()})}}class QKe extends Et{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:WB,kbOpts:{kbExpr:de.editorTextFocus,primary:Zr(2089,2089),weight:100}})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).selectFromAnchorToCursor()})}}class JKe extends Et{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:WB,kbOpts:{kbExpr:de.editorTextFocus,primary:9,weight:100}})}run(e,t){return BB(this,void 0,void 0,function*(){Rp.get(t).cancelSelectionAnchor()})}}ki(Rp.ID,Rp);it(ZKe);it(XKe);it(QKe);it(JKe);const eqe=we("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class tqe extends Et{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:de.editorTextFocus,primary:3160,weight:100}})}run(e,t){let n=Xh.get(t);n&&n.jumpToBracket()}}class nqe extends Et{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,n){const r=Xh.get(t);if(!r)return;let s=!0;n&&n.selectBrackets===!1&&(s=!1),r.selectToBracket(s)}}class iqe{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}}class Xh extends Oe{constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=[],this._updateBracketsSoon=this._register(new er(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(63),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._decorations=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(63)&&(this._matchBrackets=this._editor.getOption(63),this._decorations=this._editor.deltaDecorations(this._decorations,[]),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}static get(e){return e.getContribution(Xh.ID)}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(n=>{const r=n.getStartPosition(),s=e.bracketPairs.matchBracket(r);let o=null;if(s)s[0].containsPosition(r)?o=s[1].getStartPosition():s[1].containsPosition(r)&&(o=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(r);if(a)o=a[0].getStartPosition();else{const u=e.bracketPairs.findNextBracket(r);u&&u.range&&(o=u.range.getStartPosition())}}return o?new yt(o.lineNumber,o.column,o.lineNumber,o.column):new yt(r.lineNumber,r.column,r.lineNumber,r.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{const s=r.getStartPosition();let o=t.bracketPairs.matchBracket(s);if(!o&&(o=t.bracketPairs.findEnclosingBrackets(s),!o)){const d=t.bracketPairs.findNextBracket(s);d&&d.range&&(o=t.bracketPairs.matchBracket(d.range.getStartPosition()))}let a=null,u=null;if(o){o.sort(Q.compareRangesUsingStarts);const[d,h]=o;if(a=e?d.getStartPosition():d.getEndPosition(),u=e?h.getEndPosition():h.getStartPosition(),h.containsPosition(s)){const f=a;a=u,u=f}}a&&u&&n.push(new yt(a.lineNumber,a.column,u.lineNumber,u.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();let e=[],t=0;for(const n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations=this._editor.deltaDecorations(this._decorations,e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),n=t.getVersionId();let r=[];this._lastVersionId===n&&(r=this._lastBracketsData);let s=[],o=0;for(let f=0,p=e.length;f1&&s.sort(Le.compare);let a=[],u=0,d=0,h=r.length;for(let f=0,p=s.length;f{const t=i.getColor(w2e);t&&e.addRule(`.monaco-editor .bracket-match { background-color: ${t}; }`);const n=i.getColor(ode);n&&e.addRule(`.monaco-editor .bracket-match { border: 1px solid ${n}; }`)});ra.appendMenuItem(Mt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class rqe{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const n=this._selection.startLineNumber,r=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&r===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(n)))if(this._isMovingLeft){const o=new Q(n,r-1,n,r),a=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Q(n,s,n,s),a)}else{const o=new Q(n,s,n,s+1),a=e.getValueInRange(o);t.addEditOperation(o,null),t.addEditOperation(new Q(n,r,n,r),a)}}computeCursorState(e,t){return this._isMovingLeft?new yt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new yt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class Ige extends Et{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(const s of r)n.push(new rqe(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class sqe extends Ige{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:de.writable})}}class oqe extends Ige{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:de.writable})}}it(sqe);it(oqe);class aqe extends Et{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:de.writable,kbOpts:{kbExpr:de.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=[],s=t.getSelections();for(let o of s){if(!o.isEmpty())continue;let a=o.startLineNumber,u=o.startColumn,d=n.getLineMaxColumn(a);if(a===1&&(u===1||u===2&&d===2))continue;let h=u===d?o.getPosition():pi.rightPosition(n,o.getPosition().lineNumber,o.getPosition().column),f=pi.leftPosition(n,h),p=pi.leftPosition(n,f),m=n.getValueInRange(Q.fromPositions(p,f)),v=n.getValueInRange(Q.fromPositions(f,h)),b=Q.fromPositions(p,h);r.push(new xo(b,v+m))}r.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}}it(aqe);var lqe=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const zb="9_cutcopypaste",uqe=Kh||document.queryCommandSupported("cut"),Tge=Kh||document.queryCommandSupported("copy"),cqe=typeof navigator.clipboard>"u"||wl?document.queryCommandSupported("paste"):!0;function WY(i){return i.register(),i}const dqe=uqe?WY(new PS({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Kh?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Mt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:Mt.EditorContext,group:zb,title:C("actions.clipboard.cutLabel","Cut"),when:de.writable,order:1},{menuId:Mt.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:Mt.SimpleEditorContext,group:zb,title:C("actions.clipboard.cutLabel","Cut"),when:de.writable,order:1}]})):void 0,hqe=Tge?WY(new PS({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Kh?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Mt.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:Mt.EditorContext,group:zb,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:Mt.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:Mt.SimpleEditorContext,group:zb,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ra.appendMenuItem(Mt.MenubarEditMenu,{submenu:Mt.MenubarCopy,title:{value:C("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3});ra.appendMenuItem(Mt.EditorContext,{submenu:Mt.EditorContextCopy,title:{value:C("copy as","Copy As"),original:"Copy As"},group:zb,order:3});const q6=cqe?WY(new PS({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Kh?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Mt.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:Mt.EditorContext,group:zb,title:C("actions.clipboard.pasteLabel","Paste"),when:de.writable,order:4},{menuId:Mt.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:Mt.SimpleEditorContext,group:zb,title:C("actions.clipboard.pasteLabel","Paste"),when:de.writable,order:4}]})):void 0;class fqe extends Et{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:C("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:de.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(32)&&t.getSelection().isEmpty()||(jH.forceCopyWithSyntaxHighlighting=!0,t.focus(),document.execCommand("copy"),jH.forceCopyWithSyntaxHighlighting=!1)}}function kge(i,e){i&&(i.addImplementation(1e4,"code-editor",(t,n)=>{const r=t.get(Ti).getFocusedCodeEditor();if(r&&r.hasTextFocus()){const s=r.getOption(32),o=r.getSelection();return o&&o.isEmpty()&&!s||document.execCommand(e),!0}return!1}),i.addImplementation(0,"generic-dom",(t,n)=>(document.execCommand(e),!0)))}kge(dqe,"cut");kge(hqe,"copy");q6&&(q6.addImplementation(1e4,"code-editor",(i,e)=>{const t=i.get(Ti),n=i.get(K0),r=t.getFocusedCodeEditor();return r&&r.hasTextFocus()?!document.execCommand("paste")&&RS?(()=>lqe(void 0,void 0,void 0,function*(){const o=yield n.readText();if(o!==""){const a=FA.INSTANCE.get(o);let u=!1,d=null,h=null;a&&(u=r.getOption(32)&&!!a.isFromEmptySelection,d=typeof a.multicursorText<"u"?a.multicursorText:null,h=a.mode),r.trigger("keyboard","paste",{text:o,pasteOnNewLine:u,multicursorText:d,mode:h})}}))():!0:!1}),q6.addImplementation(0,"generic-dom",(i,e)=>(document.execCommand("paste"),!0)));Tge&&it(fqe);class Q3{constructor(e){this.executor=e,this._didRun=!1}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}class zn{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+zn.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(e){return new zn(this.value+zn.sep+e)}}zn.sep=".";zn.None=new zn("@@none@@");zn.Empty=new zn("");zn.QuickFix=new zn("quickfix");zn.Refactor=new zn("refactor");zn.Source=new zn("source");zn.SourceOrganizeImports=zn.Source.append("organizeImports");zn.SourceFixAll=zn.Source.append("fixAll");function gqe(i,e){return!(i.include&&!i.include.intersects(e)||i.excludes&&i.excludes.some(t=>Nge(e,t,i.include))||!i.includeSourceActions&&zn.Source.contains(e))}function pqe(i,e){const t=e.kind?new zn(e.kind):void 0;return!(i.include&&(!t||!i.include.contains(t))||i.excludes&&t&&i.excludes.some(n=>Nge(t,n,i.include))||!i.includeSourceActions&&t&&zn.Source.contains(t)||i.onlyIncludePreferredActions&&!e.isPreferred)}function Nge(i,e,t){return!(!e.contains(i)||t&&e.contains(t))}class Wf{constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}static fromUser(e,t){return!e||typeof e!="object"?new Wf(t.kind,t.apply,!1):new Wf(Wf.getKindFromUser(e,t.kind),Wf.getApplyFromUser(e,t.apply),Wf.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new zn(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}}var VY=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const Age="editor.action.codeAction",Oge="editor.action.refactor",Mge="editor.action.sourceAction",HY="editor.action.organizeImports",$Y="editor.action.fixAll";class Rge{constructor(e,t){this.action=e,this.provider=t}resolve(e){var t;return VY(this,void 0,void 0,function*(){if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let n;try{n=yield this.provider.resolveCodeAction(this.action,e)}catch(r){Ro(r)}n&&(this.action.edit=n.edit)}return this})}}class zY extends Oe{constructor(e,t,n){super(),this.documentation=t,this._register(n),this.allActions=[...e].sort(zY.codeActionsComparator),this.validActions=this.allActions.filter(({action:r})=>!r.disabled)}static codeActionsComparator({action:e},{action:t}){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:vl(e.diagnostics)?vl(t.diagnostics)?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:vl(t.diagnostics)?1:0}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&zn.QuickFix.contains(new zn(e.kind))&&!!e.isPreferred)}}const Une={actions:[],documentation:void 0};function UY(i,e,t,n,r){var s;const o=t.filter||{},a={only:(s=o.include)===null||s===void 0?void 0:s.value,trigger:t.type},u=new EG(i,r),d=mqe(i,o),h=new Je,f=d.map(m=>VY(this,void 0,void 0,function*(){try{n.report(m);const v=yield m.provideCodeActions(i,e,a,u.token);if(v&&h.add(v),u.token.isCancellationRequested)return Une;const b=((v==null?void 0:v.actions)||[]).filter(S=>S&&pqe(o,S)),L=_qe(m,b,o.include);return{actions:b.map(S=>new Rge(S,m)),documentation:L}}catch(v){if(Cg(v))throw v;return Ro(v),Une}})),p=tg.onDidChange(()=>{const m=tg.all(i);rc(m,d)||u.cancel()});return Promise.all(f).then(m=>{const v=$ue(m.map(L=>L.actions)),b=FS(m.map(L=>L.documentation));return new zY(v,b,h)}).finally(()=>{p.dispose(),u.dispose()})}function mqe(i,e){return tg.all(i).filter(t=>t.providedCodeActionKinds?t.providedCodeActionKinds.some(n=>gqe(e,new zn(n))):!0)}function _qe(i,e,t){if(!i.documentation)return;const n=i.documentation.map(r=>({kind:new zn(r.kind),command:r.command}));if(t){let r;for(const s of n)s.kind.contains(t)&&(r?r.kind.contains(s.kind)&&(r=s):r=s);if(r)return r==null?void 0:r.command}for(const r of e)if(r.kind){for(const s of n)if(s.kind.contains(new zn(r.kind)))return s.command}}Xn.registerCommand("_executeCodeActionProvider",function(i,e,t,n,r){return VY(this,void 0,void 0,function*(){if(!(e instanceof rn))throw jh();const s=i.get(Ds).getModel(e);if(!s)throw jh();const o=yt.isISelection(t)?yt.liftSelection(t):Q.isIRange(t)?s.validateRange(t):void 0;if(!o)throw jh();const a=typeof n=="string"?new zn(n):void 0,u=yield UY(s,o,{type:1,filter:{includeSourceActions:!0,include:a}},xC.None,Fn.None),d=[],h=Math.min(u.validActions.length,typeof r=="number"?r:0);for(let f=0;ff.action)}finally{setTimeout(()=>u.dispose(),100)}})});var vqe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},bqe=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}};let Fu=class rU{constructor(e,t){this._messageWidget=new Oa,this._messageListeners=new Je,this._editor=e,this._visible=rU.MESSAGE_VISIBLE.bindTo(t),this._editorListener=this._editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit())}static get(e){return e.getContribution(rU.ID)}dispose(){this._editorListener.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){To(e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._messageWidget.value=new jne(this._editor,t,e),this._messageListeners.add(this._editor.onDidBlurEditorText(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(new Ma(()=>this.closeMessage(),3e3));let n;this._messageListeners.add(this._editor.onMouseMove(r=>{r.target.position&&(n?n.containsPosition(r.target.position)||this.closeMessage():n=new Q(t.lineNumber-3,1,r.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(jne.fadeOut(this._messageWidget.value))}_onDidAttemptReadOnlyEdit(){this._editor.hasModel()&&this.showMessage(C("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())}};Fu.ID="editor.contrib.messageController";Fu.MESSAGE_VISIBLE=new Dt("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message"));Fu=vqe([bqe(1,cn)],Fu);const Cqe=Po.bindToContribution(Fu.get);nt(new Cqe({id:"leaveEditorMessage",precondition:Fu.MESSAGE_VISIBLE,handler:i=>i.closeMessage(),kbOpts:{weight:100+30,primary:9}}));let jne=class{constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const o=document.createElement("div");o.classList.add("message"),o.textContent=r,this._domNode.appendChild(o);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}static fadeOut(e){let t;const n=()=>{e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",n)};return t=setTimeout(n,110),e.getDomNode().addEventListener("animationend",n),e.getDomNode().classList.add("fadeOut"),{dispose:n}}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2]}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};ki(Fu.ID,Fu);var wqe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},Kne=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}},yqe=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};class qne extends ic{constructor(e,t){super(e.command?e.command.id:e.title,Sqe(e.title),void 0,!e.disabled,t),this.action=e}}function Sqe(i){return i.replace(/\r\n|\r|\n/g," ")}let sU=class extends Oe{constructor(e,t,n,r){super(),this._editor=e,this._delegate=t,this._contextMenuService=n,this._visible=!1,this._showingActions=this._register(new Oa),this._keybindingResolver=new VB({getKeybindings:()=>r.getKeybindings()})}get isVisible(){return this._visible}show(e,t,n,r){return yqe(this,void 0,void 0,function*(){const s=r.includeDisabledActions?t.allActions:t.validActions;if(!s.length){this._visible=!1;return}if(!this._editor.getDomNode())throw this._visible=!1,_C();this._visible=!0,this._showingActions.value=t;const o=this.getMenuActions(e,s,t.documentation),a=Le.isIPosition(n)?this._toCoords(n):n||{x:0,y:0},u=this._keybindingResolver.getResolver(),d=this._editor.getOption(114);this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>a,getActions:()=>o,onHide:()=>{this._visible=!1,this._editor.focus()},autoSelectFirstItem:!0,getKeyBinding:h=>h instanceof qne?u(h.action):void 0})})}getMenuActions(e,t,n){var r,s;const o=h=>new qne(h.action,()=>this._delegate.onSelectCodeAction(h)),a=t.map(o),u=[...n],d=this._editor.getModel();if(d&&a.length)for(const h of tg.all(d))h._getAdditionalMenuItems&&u.push(...h._getAdditionalMenuItems({trigger:e.type,only:(s=(r=e.filter)===null||r===void 0?void 0:r.include)===null||s===void 0?void 0:s.value},t.map(f=>f.action)));return u.length&&a.push(new Zc,...u.map(h=>o(new Rge({title:h.title,command:h},void 0)))),a}_toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),n=Uo(this._editor.getDomNode()),r=n.left+t.left,s=n.top+t.top+t.height;return{x:r,y:s}}};sU=wqe([Kne(2,j0),Kne(3,Sr)],sU);class VB{constructor(e){this._keybindingProvider=e}getResolver(){const e=new Q3(()=>this._keybindingProvider.getKeybindings().filter(t=>VB.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let n=t.commandArgs;return t.command===HY?n={kind:zn.SourceOrganizeImports.value}:t.command===$Y&&(n={kind:zn.SourceFixAll.value}),Object.assign({resolvedKeybinding:t.resolvedKeybinding},Wf.fromUser(n,{kind:zn.None,apply:"never"}))}));return t=>{if(t.kind){const n=this.bestKeybindingForCodeAction(t,e.getValue());return n==null?void 0:n.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const n=new zn(e.kind);return t.filter(r=>r.kind.contains(n)).filter(r=>r.preferred?e.isPreferred:!0).reduceRight((r,s)=>r?r.kind.contains(s.kind)?s:r:s,void 0)}}VB.codeActionCommands=[Oge,Age,Mge,HY,$Y];var Lqe=globalThis&&globalThis.__decorate||function(i,e,t,n){var r=arguments.length,s=r<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(i,e,t,n);else for(var a=i.length-1;a>=0;a--)(o=i[a])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s},Eqe=globalThis&&globalThis.__param||function(i,e){return function(t,n){e(t,n,i)}},G2;(function(i){i.Hidden={type:0};class e{constructor(n,r,s,o){this.actions=n,this.trigger=r,this.editorPosition=s,this.widgetPosition=o,this.type=1}}i.Showing=e})(G2||(G2={}));let J3=class Pge extends Oe{constructor(e,t,n,r){super(),this._editor=e,this._quickFixActionId=t,this._preferredFixActionId=n,this._keybindingService=r,this._onClick=this._register(new Ce),this.onClick=this._onClick.event,this._state=G2.Hidden,this._domNode=document.createElement("div"),this._domNode.className=_e.lightBulb.classNames,this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(s=>{const o=this._editor.getModel();(this.state.type!==1||!o||this.state.editorPosition.lineNumber>=o.getLineCount())&&this.hide()})),Hi.ignoreTarget(this._domNode),this._register(bEe(this._domNode,s=>{if(this.state.type!==1)return;this._editor.focus(),s.preventDefault();const{top:o,height:a}=Uo(this._domNode),u=this._editor.getOption(58);let d=Math.floor(u/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{if((s.buttons&1)!==1)return;this.hide();const o=new SC;o.startMonitoring(s.target,s.buttons,WS,()=>{},()=>{o.dispose()})})),this._register(this._editor.onDidChangeConfiguration(s=>{s.hasChanged(56)&&!this._editor.getOption(56).enabled&&this.hide()})),this._updateLightBulbTitleAndIcon(),this._register(this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitleAndIcon,this))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0)return this.hide();const r=this._editor.getOptions();if(!r.get(56).enabled)return this.hide();const s=this._editor.getModel();if(!s)return this.hide();const{lineNumber:o,column:a}=s.validatePosition(n),u=s.getOptions().tabSize,d=r.get(43),h=s.getLineContent(o),f=Sl.computeIndentLevel(h,u),p=d.spaceWidth*f>22,m=b=>b>2&&this._editor.getTopForLineNumber(b)===this._editor.getTopForLineNumber(b-1);let v=o;if(!p){if(o>1&&!m(o-1))v-=1;else if(!m(o+1))v+=1;else if(a*d.spaceWidth<22)return this.hide()}this.state=new G2.Showing(e,t,n,{position:{lineNumber:v,column:1},preference:Pge._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state=G2.Hidden,this._editor.layoutContentWidget(this)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(..._e.lightBulb.classNamesArray),this._domNode.classList.add(..._e.lightbulbAutofix.classNamesArray);const t=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(t){this.title=C("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",t.getLabel());return}}this._domNode.classList.remove(..._e.lightbulbAutofix.classNamesArray),this._domNode.classList.add(..._e.lightBulb.classNamesArray);const e=this._keybindingService.lookupKeybinding(this._quickFixActionId);e?this.title=C("codeActionWithKb","Show Code Actions ({0})",e.getLabel()):this.title=C("codeAction","Show Code Actions")}set title(e){this._domNode.title=e}};J3._posPref=[0];J3=Lqe([Eqe(3,Sr)],J3);hr((i,e)=>{var t;const n=(t=i.getColor(sc))===null||t===void 0?void 0:t.transparent(.7),r=i.getColor(yIe);r&&e.addRule(` .monaco-editor .contentWidgets ${_e.lightBulb.cssSelector} { color: ${r}; background-color: ${n}; @@ -1495,5 +1495,6 @@ dmlldzJfOV8xNjM4ODQ4MDI1NDI2MTE4Ml8zOF9bMF0TNSl1AAAAAElFTkSuQmCC`})}const Iat=Bn Return path relative the current module.`)),vn.set("require",N(function(I){return Pre(I)},`(require module) Function to be used inside Node.js to import the module.`))):typeof window<"u"&&vn.set("window",window);function qi(I,F,te,ie=null){let me=I?` in function \`${I}\``:"";if(ie!==null&&(me+=` argument ${ie}`),te instanceof Array){const le=te[te.length-1];te=te.slice(0,-1).join(", ")+" or "+le}return`Expecting ${te} got ${F}${me}`}function Ye(I,F,te,ie=null){const me=ke(F);var le=!1;if(te instanceof Array&&te.includes(me)&&(le=!0),!le&&me!==te)throw new Error(qi(I,me,te,ie))}function no(I){var F=typeof I;return["string","function"].includes(F)||I instanceof He||I instanceof RegExp}function ke(I){var F={pair:ne,symbol:k,macro:ut,array:Array,native_symbol:Symbol};if(I===fe)return"nil";if(I===null)return"null";for(let[te,ie]of Object.entries(F))if(I instanceof ie)return te;return I instanceof He?"number":I instanceof RegExp?"regex":typeof I=="object"?I.__instance__&&(I.__instance__=!1,I.__instance__)?"instance":I.constructor.name:typeof I}function Ee(I){var F=[];if(te(I),F.length)return me(I);return I;function te(le){Kt(le)?F.push(le):le instanceof ne?(le.haveCycles("car")||te(le.car),le.haveCycles("cdr")||te(le.cdr)):le instanceof Array&&le.forEach(te)}async function ie(le){var Ie=new ne(le.haveCycles("car")?le.car:await me(le.car),le.haveCycles("cdr")?le.cdr:await me(le.cdr));return le.data&&(Ie.data=!0),Ie}function me(le){return le instanceof Array?Promise.all(le.map(me)):le instanceof ne&&F.length?ie(le):le}}function Ae(I,{env:F,dynamic_scope:te,error:ie}){var me=[],le=I;for(rt(le);le instanceof ne&&!Me(le);){var Ie=ae(le.car,{env:F,dynamic_scope:te,error:ie});if(te&&(Ie=E(Ie,Pe=>typeof Pe=="function"&&Ci(Pe)?Pe.bind(te):Pe)),me.push(Ie),le.haveCycles("cdr"))break;le=le.cdr}return Ee(me)}function oe(I,F,te){var ie=I.invoke(F,te);return E(Ee(ie),function(le){return le&&le.data||!le||no(le)?le:ti(ae(le,te))})}function ae(I,{env:F,dynamic_scope:te,error:ie=()=>{}}={}){try{te===!0?F=te=F||vn:F===!0?F=te=vn:F=F||vn;var me={env:F,dynamic_scope:te,error:ie},le;if(sn(I))return I;if(Me(I))return be();if(I instanceof k)return F.get(I,{weak:!0});var Ie=I.car,Pe=I.cdr;if(Ie instanceof ne){if(le=Ee(ae(Ie,me)),Kt(le))return le.then(Ft=>ae(new ne(Ft,I.cdr),me));if(typeof le!="function")throw new Error(ke(le)+" "+F.get("string")(le)+" is not a function while evaluating "+I.toString())}if(Ie instanceof k){if(le=F.get(Ie,{weak:!0}),le instanceof ut){var Ze=oe(le,Pe,me);return E(Ze,Ft=>Ft instanceof ne?Ft.markCycles():Ft)}else if(typeof le!="function"){if(le){var ot=`${ke(le)} \`${le}' is not a function`;throw new Error(ot)}throw new Error(`Unknown function \`${Ie.name}'`)}}else typeof Ie=="function"&&(le=Ie);if(typeof le=="function"){var kt=Ae(Pe,me);return E(kt,function(Ft){var Ot=(te||F).inherit("__frame__");Ot.set("parent.frame",function(Hn=1){if(Hn===0)return Ot;if(!(Ot.parent instanceof Vn))return fe;var rr=Ot.parent.get("parent.frame",{throwError:!1});return typeof rr=="function"?rr(Hn-1):fe});var wt=Ft.slice();wt.callee=le,Ot.set("arguments",wt);var oi=Ee(le.apply(Ot,Ft));return E(oi,Hn=>Hn instanceof ne?ti(Hn.markCycles()):Hn,ie)})}else if(I instanceof k){if(le=F.get(I),le==="undefined")throw new Error("Unbound variable `"+I.name+"'");return le}else{if(I instanceof ne)throw le=Ie&&Ie.toString(),new Error(`${ke(Ie)} ${le} is not a function`);return I}}catch(Ft){ie&&ie(Ft,I)}}async function pe(I,F,te){te===!0?F=te=F||vn:F===!0?F=te=vn:F=F||vn;for(var ie=y(I),me=[];;){var le=ie.shift();if(le){var Ie=await ae(le,{env:F,dynamic_scope:te,error:(Pe,Ze)=>{throw Ze&&(Pe.code instanceof Array||(Pe.code=[]),Pe.code.push(Ze.toString())),Pe}});me.push(Ie)}else return me}}function J(I){return function(F){return F?(F.token||F).match(I):!1}}var ve=J(/[()]/);function $e(I){var F=typeof I=="string"?L(I):I,te=F.filter(ve),ie=te.filter(le=>(le.token||le)===")"),me=te.filter(le=>(le.token||le)==="(");return ie.length===me.length}ne.unDry=function(I){return new ne(I.car,I.cdr)},ne.prototype.toDry=function(){return{value:{car:this.car,cdr:this.cdr}}},K.prototype.toDry=function(){return{value:null}},K.unDry=function(){return fe},k.prototype.toDry=function(){return{value:{name:this.name}}},k.unDry=function(I){return new k(I.name)};function Re(I){console.error(I.message||I),I.code&&console.error(I.code.map((F,te)=>`[${te+1}]: ${F}`))}function dt(){var I="text/x-lips";if(window.document){var F=Array.from(document.querySelectorAll("script"));return function te(){var ie=F.shift();if(ie){var me=ie.getAttribute("type");if(me===I){var le=ie.getAttribute("src");return le?e.fetch(le).then(Ie=>Ie.text()).then(pe).then(te).catch(Ie=>{Re(Ie),te()}):pe(ie.innerHTML).then(te).catch(Ie=>{Re(Ie),te()})}else me&&me.match(/lips|lisp/)&&console.warn("Expecting "+I+" found "+me);return te()}}()}}typeof window<"u"&&r(window,dt),$.__className="Ahead",T.__className="Pattern",X.__className="Formatter",ut.__className="Macro",Vn.__className="Environment";var Yt={version:"{{VER}}",exec:pe,parse:y,tokenize:L,evaluate:ae,Environment:Vn,global_environment:vn,globalEnvironment:vn,env:vn,balanced_parenthesis:$e,balancedParenthesis:$e,Macro:ut,quote:ti,Pair:ne,Formatter:X,specials:S,nil:fe,resolvePromises:Ee,LSymbol:k,LNumber:He};return vn.set("lips",Yt),Yt})})(vve);var tft=vve.exports;const nft=Wp(tft),Cve=["FlinkSQL","SparkSQL","HiveSQL","MySQL","PGSQL","TrinoSQL","ImpalaSQL"],x5=Cve[0],wve={id:"fixedTab",name:x5,data:{value:"",language:x5.toLowerCase()}},yve={id:"fixedStatusItem",name:x5,sortIndex:3};class Sve{constructor(e,t,n){this._onDidChange=new uge,this._languageId=e,this.setModeConfiguration(t),this._preprocessCode=n??null}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get completionService(){return this._modeConfiguration.completionItems.completionService}get triggerCharacters(){return this._modeConfiguration.completionItems.triggerCharacters}get preprocessCode(){return this._preprocessCode}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}const ift=function(i,e,t,n){if(!n)return Promise.resolve([]);const{keywords:r}=n,s=r.map(o=>({label:o,kind:tc.CompletionItemKind.Keyword,detail:"keyword"}));return Promise.resolve(s)},h2={completionItems:{enable:!0,completionService:ift,triggerCharacters:["."," "]},diagnostics:!0},rft=2*60*1e3;class sft{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>rft&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=ka.createWebWorker({moduleId:this._defaults.languageId,label:this._defaults.languageId,createData:{languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){const t=e==null?void 0:e.filter(Boolean);return this._getClient().then(n=>(t&&(t!=null&&t.length)&&this._worker&&this._worker.withSyncedResources(t),n))}}class oft{constructor(){this.workerClients=new Map}valid(e,t){const n=typeof t=="string"?t:t.getValue(),r=typeof t=="string"?void 0:t.uri;return this.getClientWorker(e,r).then(o=>o.doValidation(n))}parserTreeToString(e,t){const n=typeof t=="string"?t:t.getValue(),r=typeof t=="string"?void 0:t.uri;return this.getClientWorker(e,r).then(o=>o.parserTreeToString(n))}getAllEntities(e,t,n){const r=typeof t=="string"?t:t.getValue(),s=typeof t=="string"?void 0:t.uri;return this.getClientWorker(e,s).then(a=>a.getAllEntities(r,n))}dispose(e){var t;e?this.workerClients.has(e)&&((t=this.workerClients.get(e))===null||t===void 0||t.dispose(),this.workerClients.delete(e)):(this.workerClients.forEach(n=>{n.dispose()}),this.workerClients.clear())}getClientWorker(e,...t){let n=this.workerClients.get(e);if(!n){const r=new sft(this.getLanguageServiceDefault(e));return this.workerClients.set(e,r),r.getLanguageServiceWorker(...t)}return n.getLanguageServiceWorker(...t)}getLanguageServiceDefault(e){return new Sve(e,h2)}}function aft(i,e,t){let n=null;return(...r)=>{if(n&&clearTimeout(n),t&&!n)return i==null?void 0:i(...r);n=setTimeout(()=>{n&&clearTimeout(n),n=null,i==null||i(...r)},e)}}class lft extends re.Component{constructor(t){super(t);hv(this,"_language",x5);hv(this,"languageService");hv(this,"onClick",(t,n)=>{console.log("onClick:",t,n)});hv(this,"onChangeLanguage",(t,n)=>{n&&n.value&&(this._language=n.value,this.updateLanguage(n.value))});hv(this,"analyseProblems",aft(t=>{const n=t.data.value;this.languageService.valid(this.language,n).then(r=>{nn.problems.reset();const s=this.convertMsgToProblemItem(t,n,r);nn.problems.add(s)})},200));hv(this,"convertMsgToProblemItem",(t,n,r=[])=>{const s=t.id,o=`${t.name||""}`,a={id:s,name:o,isLeaf:!1,value:{code:o,message:"",startLineNumber:0,startColumn:1,endLineNumber:0,endColumn:1,status:Qh.Hint},children:[]};return a.children=r.map((u,d)=>({id:`${s}-${d}`,name:u.code||"",isLeaf:!0,value:{code:u.code,message:u.message,startLineNumber:Number(u.startLine),startColumn:Number(u.startCol),endLineNumber:Number(u.endLine),endColumn:Number(u.endCol),status:Qh.Error},children:[]})),a});hv(this,"parse",()=>{this.setupOutputLanguage();const t=nn.editor.editorInstance.getValue();nn.panel.cleanOutput(),this.languageService.parserTreeToString(this.language,t).then(n=>{const r=n==null?void 0:n.replace(/(\(|\))/g,`$1 -`),o=new nft.Formatter(r).format({indent:2,offset:2}),a=nn.panel.getPanel(nn.builtin.getConstants().PANEL_OUTPUT??"")??{};nn.panel.update({...a,data:o}),nn.panel.appendOutput("")})});this.languageService=new oft}componentDidMount(){nn.editor.onUpdateTab(this.analyseProblems),ka.setTheme("sql-dark")}get language(){return this._language.toLowerCase()}updateLanguage(t){var u;const n=this.language,r=Object.assign(wve,{name:t,data:{language:n,value:""}}),s=((u=nn.editor.getState().current)==null?void 0:u.id)||-1;nn.editor.updateTab(r,s);const o=nn.editor.editorInstance.getModel();o&&ka.setModelLanguage(o,n);const a=Object.assign(yve,{name:t,sortIndex:3});this.analyseProblems(r),nn.statusBar.update(a)}async setupOutputLanguage(){var n;const t=await((n=nn.panel.outputEditorInstance)==null?void 0:n.getModel());t&&ka.setModelLanguage(t,"clojure")}renderColorThemes(){const t=Cve.map(n=>Rc.jsx(afe,{value:n,children:n},n));return Rc.jsx(gO,{style:{margin:"10px 4px 20px 4px"},defaultValue:this._language,onSelect:this.onChangeLanguage,children:t})}render(){return Rc.jsx("div",{children:Rc.jsxs("div",{style:{margin:"20px 20px"},children:[Rc.jsxs("h1",{style:{fontSize:20,textTransform:"uppercase"},children:["Select a language:"," "]}),this.renderColorThemes(),Rc.jsx(vb,{onClick:this.parse,children:"Parse"})]})})}}const uft={id:"ExtendWorkbench",name:"ExtendWorkbench",activate(){const i={id:"ParserSidebar",title:"Sidebar",render(){return Rc.jsx(lft,{})}};nn.sidebar.add(i),nn.sidebar.setState({current:i.id});const e={id:"OnlineParser",icon:"beaker",title:"SQL Languages Online Parse"},t={id:"GotoGithub",icon:"github",title:"Go To Github"};nn.activityBar.remove("sidebar.explore.title"),nn.activityBar.remove("sidebar.search.title"),nn.activityBar.add([e,t]),nn.activityBar.setState({selected:e.id}),nn.activityBar.onClick(n=>{n===t.id&&(window.location.href="https://github.com/DTStack/monaco-sql-languages")}),nn.editor.open(wve),nn.statusBar.add(yve,Sp.right)},dispose(){}},cft="0.12.2",dft={"dt-sql-parser":"4.0.2"};var hft=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const Lve={},PW={};class EZ{static getOrCreate(e){return PW[e]||(PW[e]=new EZ(e)),PW[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,n)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=n})}whenLoaded(){return this._lazyLoadPromise}load(){return this._loadingTriggered||(this._loadingTriggered=!0,Lve[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}}function WC(i){const e=i.id;Lve[e]=i,tc.register(i);const t=EZ.getOrCreate(e);tc.setMonarchTokensProvider(e,t.whenLoaded().then(n=>n.language)),tc.onLanguage(e,()=>hft(this,void 0,void 0,function*(){const n=yield t.load();tc.setLanguageConfiguration(e,n.conf)}))}var fft=globalThis&&globalThis.__rest||function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);rimport("./setupLanguageMode-e00674ca.js"),[]).then(t=>{var n;FW.has(e)&&((n=FW.get(e))===null||n===void 0||n.dispose()),FW.set(e,t.setupLanguageMode(i))})}function Hu(i,e){var t;if(typeof e!="object")return;const{preprocessCode:n}=e,r=fft(e,["preprocessCode"]),s=gft(i,r),o=new Sve(i,s,n);Eve.set(i,o),Bre.get(i)?Wre(o):(BW.has(i)&&((t=BW.get(i))===null||t===void 0||t.dispose()),BW.set(i,tc.onLanguage(i,()=>{Wre(o),Bre.set(i,!0)})))}function gft(i,e){var t,n,r,s,o,a,u;const d=Eve.get(i),h=typeof e.diagnostics=="boolean"?e.diagnostics:(t=d==null?void 0:d.modeConfiguration.diagnostics)!==null&&t!==void 0?t:h2.diagnostics,f=typeof e.completionItems=="boolean"?e.completionItems:(n=d==null?void 0:d.modeConfiguration.completionItems.enable)!==null&&n!==void 0?n:h2.completionItems.enable,p=typeof e.completionItems!="boolean"&&typeof((r=e.completionItems)===null||r===void 0?void 0:r.completionService)=="function"?(s=e.completionItems)===null||s===void 0?void 0:s.completionService:(o=d==null?void 0:d.modeConfiguration.completionItems.completionService)!==null&&o!==void 0?o:h2.completionItems.completionService,m=typeof e.completionItems!="boolean"&&Array.isArray((a=e.completionItems)===null||a===void 0?void 0:a.triggerCharacters)?e.completionItems.triggerCharacters:(u=d==null?void 0:d.modeConfiguration.completionItems.triggerCharacters)!==null&&u!==void 0?u:h2.completionItems.triggerCharacters;return{diagnostics:h,completionItems:{enable:f,completionService:p,triggerCharacters:m}}}const Xt={BINARY:"binary",BINARY_ESCAPE:"binary.escape",COMMENT:"comment",COMMENT_QUOTE:"comment.quote",DELIMITER:"delimiter",DELIMITER_CURLY:"delimiter.curly",DELIMITER_PAREN:"delimiter.paren",DELIMITER_SQUARE:"delimiter.square",IDENTIFIER:"identifier",IDENTIFIER_QUOTE:"identifier.quote",KEYWORD:"keyword",KEYWORD_SCOPE:"keyword.scope",NUMBER:"number",NUMBER_FLOAT:"number.float",NUMBER_BINARY:"number.binary",NUMBER_OCTAL:"number.octal",NUMBER_HEX:"number.hex",OPERATOR:"operator",OPERATOR_KEYWORD:"operator.keyword",OPERATOR_SYMBOL:"operator.symbol",PREDEFINED:"predefined",STRING:"string",STRING_DOUBLE:"string.double",STRING_ESCAPE:"string.escape",TYPE:"type",VARIABLE:"variable",WHITE:"white"},Qt=i=>i+".sql";var Dr;(function(i){i.FLINK="flinksql",i.HIVE="hivesql",i.MYSQL="mysql",i.PG="pgsql",i.SPARK="sparksql",i.TRINO="trinosql",i.IMPALA="impalasql"})(Dr||(Dr={}));WC({id:Dr.FLINK,extensions:[".flinksql"],aliases:["FlinkSQL","flink","Flink"],loader:()=>It(()=>import("./flink-c6e91e25.js"),[])});Hu(Dr.FLINK,{completionItems:!0,diagnostics:!0});WC({id:Dr.SPARK,extensions:[".sparksql"],aliases:["SparkSQL","spark","Spark"],loader:()=>It(()=>import("./spark-82605a39.js"),[])});Hu(Dr.SPARK,{completionItems:!0,diagnostics:!0});WC({id:Dr.HIVE,extensions:[".hivesql"],aliases:["HiveSQL","hive","Hive"],loader:()=>It(()=>import("./hive-e09638dc.js"),[])});Hu(Dr.HIVE,{completionItems:!0,diagnostics:!0});WC({id:Dr.TRINO,extensions:[".trinosql"],aliases:["TrinoSQL","trino","Trino","prestosql","PrestoSQL","presto","Presto"],loader:()=>It(()=>import("./trino-0a92ce9d.js"),[])});Hu(Dr.TRINO,{completionItems:!0,diagnostics:!0});WC({id:Dr.MYSQL,extensions:[".mysql"],aliases:["MySQL","mysql"],loader:()=>It(()=>import("./mysql-4e422c9f.js"),[])});Hu(Dr.MYSQL,{completionItems:!0,diagnostics:!0});WC({id:Dr.PG,extensions:[".pgsql"],aliases:["PgSQL","postgresql","PostgreSQL"],loader:()=>It(()=>import("./pgsql-6338d7e7.js"),[])});Hu(Dr.PG,{completionItems:!0,diagnostics:!0});WC({id:Dr.IMPALA,extensions:[".impalasql"],aliases:["impalaSQL","impala","Impala"],loader:()=>It(()=>import("./impala-b20281e0.js"),[])});Hu(Dr.IMPALA,{completionItems:!0,diagnostics:!0});const pft={base:"vs",inherit:!0,rules:[{token:Qt(Xt.BINARY),foreground:"098658"},{token:Qt(Xt.BINARY_ESCAPE),foreground:"098658"},{token:Qt(Xt.COMMENT),foreground:"008000"},{token:Qt(Xt.COMMENT_QUOTE),foreground:"008000"},{token:Qt(Xt.DELIMITER),foreground:"000000"},{token:Qt(Xt.DELIMITER_CURLY),foreground:"319331"},{token:Qt(Xt.DELIMITER_PAREN),foreground:"0431fa"},{token:Qt(Xt.DELIMITER_SQUARE),foreground:"0431fa"},{token:Qt(Xt.IDENTIFIER),foreground:"001080"},{token:Qt(Xt.IDENTIFIER_QUOTE),foreground:"001080"},{token:Qt(Xt.KEYWORD),foreground:"0000ff"},{token:Qt(Xt.KEYWORD_SCOPE),foreground:"af00db"},{token:Qt(Xt.NUMBER),foreground:"098658"},{token:Qt(Xt.NUMBER_FLOAT),foreground:"098658"},{token:Qt(Xt.NUMBER_BINARY),foreground:"098658"},{token:Qt(Xt.NUMBER_OCTAL),foreground:"098658"},{token:Qt(Xt.NUMBER_HEX),foreground:"098658"},{token:Qt(Xt.OPERATOR),foreground:"000000"},{token:Qt(Xt.OPERATOR_KEYWORD),foreground:"0000ff"},{token:Qt(Xt.OPERATOR_SYMBOL),foreground:"000000"},{token:Qt(Xt.PREDEFINED),foreground:"795e26"},{token:Qt(Xt.STRING),foreground:"a31515"},{token:Qt(Xt.STRING_ESCAPE),foreground:"a31515"},{token:Qt(Xt.TYPE),foreground:"267f99"},{token:Qt(Xt.VARIABLE),foreground:"4fc1ff"}],colors:{}},mft={base:"vs-dark",inherit:!0,rules:[{token:Qt(Xt.BINARY),foreground:"b5cea8"},{token:Qt(Xt.BINARY_ESCAPE),foreground:"b5cea8"},{token:Qt(Xt.COMMENT),foreground:"6a9955"},{token:Qt(Xt.COMMENT_QUOTE),foreground:"6a9955"},{token:Qt(Xt.DELIMITER),foreground:"d4d4d4"},{token:Qt(Xt.DELIMITER_CURLY),foreground:"da70d6"},{token:Qt(Xt.DELIMITER_PAREN),foreground:"ffd700"},{token:Qt(Xt.DELIMITER_SQUARE),foreground:"ffd700"},{token:Qt(Xt.IDENTIFIER),foreground:"9cdcfe"},{token:Qt(Xt.IDENTIFIER_QUOTE),foreground:"9cdcfe"},{token:Qt(Xt.KEYWORD),foreground:"569cd6"},{token:Qt(Xt.KEYWORD_SCOPE),foreground:"c586c0"},{token:Qt(Xt.NUMBER),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_FLOAT),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_BINARY),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_OCTAL),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_HEX),foreground:"b5cea8"},{token:Qt(Xt.OPERATOR),foreground:"d4d4d4"},{token:Qt(Xt.OPERATOR_KEYWORD),foreground:"569cd6"},{token:Qt(Xt.OPERATOR_SYMBOL),foreground:"d4d4d4"},{token:Qt(Xt.PREDEFINED),foreground:"dcdcaa"},{token:Qt(Xt.STRING),foreground:"ce9178"},{token:Qt(Xt.STRING_ESCAPE),foreground:"ce9178"},{token:Qt(Xt.TYPE),foreground:"4ec9b0"},{token:Qt(Xt.VARIABLE),foreground:"4fc1ff"}],colors:{}},_ft={base:"hc-black",inherit:!0,rules:[{token:Qt(Xt.BINARY),foreground:"b5cea8"},{token:Qt(Xt.BINARY_ESCAPE),foreground:"b5cea8"},{token:Qt(Xt.COMMENT),foreground:"7ca668"},{token:Qt(Xt.COMMENT_QUOTE),foreground:"7ca668"},{token:Qt(Xt.DELIMITER),foreground:"ffffff"},{token:Qt(Xt.DELIMITER_CURLY),foreground:"da70d6"},{token:Qt(Xt.DELIMITER_PAREN),foreground:"ffd700"},{token:Qt(Xt.DELIMITER_SQUARE),foreground:"ffd700"},{token:Qt(Xt.IDENTIFIER),foreground:"9cdcfe"},{token:Qt(Xt.IDENTIFIER_QUOTE),foreground:"9cdcfe"},{token:Qt(Xt.KEYWORD),foreground:"569cd6"},{token:Qt(Xt.KEYWORD_SCOPE),foreground:"c586c0"},{token:Qt(Xt.NUMBER),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_FLOAT),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_BINARY),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_OCTAL),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_HEX),foreground:"b5cea8"},{token:Qt(Xt.OPERATOR),foreground:"ffffff"},{token:Qt(Xt.OPERATOR_KEYWORD),foreground:"569cd6"},{token:Qt(Xt.OPERATOR_SYMBOL),foreground:"ffffff"},{token:Qt(Xt.PREDEFINED),foreground:"dcdcaa"},{token:Qt(Xt.STRING),foreground:"ce9178"},{token:Qt(Xt.STRING_ESCAPE),foreground:"ce9178"},{token:Qt(Xt.TYPE),foreground:"4ec9b0"},{token:Qt(Xt.VARIABLE),foreground:"4fc1ff"}],colors:{}},xZ={lightThemeData:pft,darkThemeData:mft,hcBlackThemeData:_ft};var Yg;(function(i){i.CATALOG="catalog",i.CATALOG_CREATE="catalogCreate",i.DATABASE="database",i.DATABASE_CREATE="databaseCreate",i.TABLE="table",i.TABLE_CREATE="tableCreate",i.VIEW="view",i.VIEW_CREATE="viewCreate",i.FUNCTION="function",i.FUNCTION_CREATE="functionCreate",i.PROCEDURE="procedure",i.PROCEDURE_CREATE="procedureCreate",i.COLUMN="column",i.COLUMN_CREATE="columnCreate"})(Yg||(Yg={}));function vft(){return new Worker("/monaco-sql-languages/assets/editor.worker-a4e6c28c.js")}function bft(){return new Worker("/monaco-sql-languages/assets/flink.worker-f0146eaf.js")}function Cft(){return new Worker("/monaco-sql-languages/assets/spark.worker-ebb9d79a.js")}function wft(){return new Worker("/monaco-sql-languages/assets/hive.worker-f5c7977d.js")}function yft(){return new Worker("/monaco-sql-languages/assets/pgsql.worker-ef889c71.js")}function Sft(){return new Worker("/monaco-sql-languages/assets/mysql.worker-83755b2b.js")}function Lft(){return new Worker("/monaco-sql-languages/assets/trino.worker-5471b902.js")}function Eft(){return new Worker("/monaco-sql-languages/assets/impala.worker-b4674d39.js")}globalThis.MonacoEnvironment={getWorker(i,e){return e===Dr.FLINK?new bft:e===Dr.HIVE?new wft:e===Dr.SPARK?new Cft:e===Dr.PG?new yft:e===Dr.MYSQL?new Sft:e===Dr.TRINO?new Lft:e===Dr.IMPALA?new Eft:new vft}};ka.defineTheme("sql-dark",xZ.darkThemeData);ka.defineTheme("sql-light",xZ.lightThemeData);ka.defineTheme("sql-hc",xZ.hcBlackThemeData);const xft=["mock_catalog_1","mock_catalog_2","mock_catalog_3"],Dft=["mock_schema_1","mock_schema_2","mock_schema_3"],Ift=["mock_database_1","mock_database_2","mock_database_3"],Tft=["mock_table1","mock_table2","mock_table3"],kft=["mock_view1","mock_view2","mock_view3"],Nft=["current_catalog_db1","current_catalog_db2","current_catalog_db3"],Aft=["current_catalog_schema1","current_catalog_schema2","current_catalog_schema3"],Oft=["current_db_table1","current_db_table2","current_db_table3"],Mft=["current_db_view1","current_db_view2","current_db_view3"],vg=(i,e)=>{const t=i?i.replace(/sql/gi,"").toLocaleLowerCase():"";return t?`${t}_${e}`:e};function DP(i){const e=xft.map(t=>({label:vg(i,t),kind:tc.CompletionItemKind.Field,detail:"catalog",sortText:"1"+vg(i,t)}));return Promise.resolve(e)}function Rft(i,e){const n=(e?Ift:Nft).map(r=>({label:vg(i,r),kind:tc.CompletionItemKind.Field,detail:"database",sortText:"1"+vg(i,r)}));return Promise.resolve(n)}function Pft(i,e){const n=(e?Dft:Aft).map(r=>({label:vg(i,r),kind:tc.CompletionItemKind.Field,detail:"schema",sortText:"1"+vg(i,r)}));return Promise.resolve(n)}function WW(i,e,t){const r=(e&&t?Tft:Oft).map(s=>({label:vg(i,s),kind:tc.CompletionItemKind.Field,detail:"table",sortText:"1"+vg(i,s)}));return Promise.resolve(r)}function VW(i,e,t){const r=(e&&t?kft:Mft).map(s=>({label:vg(i,s),kind:tc.CompletionItemKind.Field,detail:"view",sortText:"1"+vg(i,s)}));return Promise.resolve(r)}const Fft=i=>["flinksql","trinosql"].includes(i.toLowerCase()),Bft=i=>["trinosql","hivesql","sparksql"].includes(i),VC=async function(i,e,t,n){if(!n)return Promise.resolve([]);const r=i.getLanguageId(),s=Fft(r),o=Bft(r)?Pft:Rft,{keywords:a,syntax:u}=n,d=a.map(y=>({label:y,kind:tc.CompletionItemKind.Keyword,detail:"关键字",sortText:"2"+y}));let h=[],f=!1,p=!1,m=!1,v=!1,b=!1,L=!1,S=!1;for(let y=0;yM.text),V=N.length;if((E===Yg.CATALOG||E===Yg.DATABASE_CREATE)&&!f&&V<=1&&(h=h.concat(await DP(r)),f=!0),(E===Yg.DATABASE||E===Yg.TABLE_CREATE||E===Yg.VIEW_CREATE)&&(!f&&s&&V<=1&&(h=h.concat(await DP(r)),f=!0),!p&&V<=1&&(h=h.concat(await o(r)),p=!0),!m&&s&&V>=2&&V<=3&&(h=h.concat(await o(r,N[0])),m=!0)),E===Yg.TABLE)if(V<=1){if(!f&&s){const M=await DP(r);h=h.concat(M),f=!0}p||(h=h.concat(await o(r)),p=!0),v||(h=h.concat(await WW(r)),v=!0)}else V>=2&&V<=3?(!m&&s&&(h=h.concat(await o(r,N[0])),m=!0),b||(h=h.concat(await WW(r,void 0,N[0])),b=!0)):V>=4&&V<=5&&(b||(h=h.concat(await WW(r,N[0],N[2])),b=!0));E===Yg.VIEW&&(V<=1?(!f&&s&&(h=h.concat(await DP(r)),f=!0),p||(h=h.concat(await o(r)),p=!0),L||(h=h.concat(await VW(r)),L=!0)):V>=2&&V<=3?(!m&&s&&(h=h.concat(await o(r,N[0])),m=!0),S||(h=h.concat(await VW(r,void 0,N[0])),S=!0)):V>=4&&V<=5&&(S||(h=h.concat(await VW(r,N[0],N[2])),S=!0)))}return[...h,...d]},dL=i=>{const e=/@@{[A-Za-z0-9._-]*}/g,t=/\${[A-Za-z0-9._-]*}/g;let n=i;return e.test(i)&&(n=n.replace(e,r=>r.replace(/@|{|}|\.|-/g,"_"))),t.test(i)&&(n=n.replace(t,r=>r.replace(/\$|{|}|\.|-/g,"_"))),n},Wft=(i,e)=>{const t=/@@{[A-Za-z0-9._-]*}/g,n=/\${[A-Za-z0-9._-]*}/g;let r=i;return t.test(i)&&(r=r.replace(t,s=>e?s.replace(/@/,e).replace(/}/,e).replace(/@|{|\.|-/g,"_"):s.replace(/@|{|}|\.|-/g,"_"))),n.test(i)&&(r=r.replace(n,s=>e?s.replace(/\$|}/g,e).replace(/{|\.|-/g,"_"):s.replace(/\$|{|}|\.|-/g,"_"))),r};Hu(Dr.FLINK,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.SPARK,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.HIVE,{completionItems:{enable:!0,completionService:VC},preprocessCode:i=>Wft(i,"`")});Hu(Dr.MYSQL,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.TRINO,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.PG,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.IMPALA,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});function Vft(){const i=he.useRef(),[e,t]=he.useState();return he.useEffect(()=>{i.current||(i.current=Xht({extensions:[uft]}),i.current&&t(()=>{var r;return(r=i.current)==null?void 0:r.render(Rc.jsx(Hut,{}))}))},[]),Rc.jsx("div",{children:e})}window.console.log(`%c dt-sql-parser: v${dft["dt-sql-parser"]} - monaco-sql-languages: v${cft}`,"font-family: Cabin, Helvetica, Arial, sans-serif;text-align: left;font-size:32px;color:#B21212;");HW.createRoot(document.getElementById("root")).render(Rc.jsx(re.StrictMode,{children:Rc.jsx(Vft,{})}));export{oKe as M,iKe as R,Xt as T,sft as W,It as _,aft as d,ka as e,tc as l,AM as m}; +`),o=new nft.Formatter(r).format({indent:2,offset:2}),a=nn.panel.getPanel(nn.builtin.getConstants().PANEL_OUTPUT??"")??{};nn.panel.update({...a,data:o}),nn.panel.appendOutput("")})});this.languageService=new oft}componentDidMount(){nn.editor.onUpdateTab(this.analyseProblems),ka.setTheme("sql-dark")}get language(){return this._language.toLowerCase()}updateLanguage(t){var u;const n=this.language,r=Object.assign(wve,{name:t,data:{language:n,value:""}}),s=((u=nn.editor.getState().current)==null?void 0:u.id)||-1;nn.editor.updateTab(r,s);const o=nn.editor.editorInstance.getModel();o&&ka.setModelLanguage(o,n);const a=Object.assign(yve,{name:t,sortIndex:3});this.analyseProblems(r),nn.statusBar.update(a)}async setupOutputLanguage(){var n;const t=await((n=nn.panel.outputEditorInstance)==null?void 0:n.getModel());t&&ka.setModelLanguage(t,"clojure")}renderColorThemes(){const t=Cve.map(n=>Rc.jsx(afe,{value:n,children:n},n));return Rc.jsx(gO,{style:{margin:"10px 4px 20px 4px"},defaultValue:this._language,onSelect:this.onChangeLanguage,children:t})}render(){return Rc.jsx("div",{children:Rc.jsxs("div",{style:{margin:"20px 20px"},children:[Rc.jsxs("h1",{style:{fontSize:20,textTransform:"uppercase"},children:["Select a language:"," "]}),this.renderColorThemes(),Rc.jsx(vb,{onClick:this.parse,children:"Parse"})]})})}}const uft={id:"ExtendWorkbench",name:"ExtendWorkbench",activate(){const i={id:"ParserSidebar",title:"Sidebar",render(){return Rc.jsx(lft,{})}};nn.sidebar.add(i),nn.sidebar.setState({current:i.id});const e={id:"OnlineParser",icon:"beaker",title:"SQL Languages Online Parse"},t={id:"GotoGithub",icon:"github",title:"Go To Github"};nn.activityBar.remove("sidebar.explore.title"),nn.activityBar.remove("sidebar.search.title"),nn.activityBar.add([e,t]),nn.activityBar.setState({selected:e.id}),nn.activityBar.onClick(n=>{n===t.id&&(window.location.href="https://github.com/DTStack/monaco-sql-languages")}),nn.editor.open(wve),nn.statusBar.add(yve,Sp.right)},dispose(){}},cft="0.12.3-beta.7",dft={"dt-sql-parser":"4.1.0-beta.3"};var hft=globalThis&&globalThis.__awaiter||function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(h){try{d(n.next(h))}catch(f){o(f)}}function u(h){try{d(n.throw(h))}catch(f){o(f)}}function d(h){h.done?s(h.value):r(h.value).then(a,u)}d((n=n.apply(i,e||[])).next())})};const Lve={},PW={};class EZ{static getOrCreate(e){return PW[e]||(PW[e]=new EZ(e)),PW[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,n)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=n})}whenLoaded(){return this._lazyLoadPromise}load(){return this._loadingTriggered||(this._loadingTriggered=!0,Lve[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}}function WC(i){const e=i.id;Lve[e]=i,tc.register(i);const t=EZ.getOrCreate(e);tc.setMonarchTokensProvider(e,t.whenLoaded().then(n=>n.language)),tc.onLanguage(e,()=>hft(this,void 0,void 0,function*(){const n=yield t.load();tc.setLanguageConfiguration(e,n.conf)}))}var fft=globalThis&&globalThis.__rest||function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);rimport("./setupLanguageMode-0c1508a9.js"),[]).then(t=>{var n;FW.has(e)&&((n=FW.get(e))===null||n===void 0||n.dispose()),FW.set(e,t.setupLanguageMode(i))})}function Hu(i,e){var t;if(typeof e!="object")return;const{preprocessCode:n}=e,r=fft(e,["preprocessCode"]),s=gft(i,r),o=new Sve(i,s,n);Eve.set(i,o),Bre.get(i)?Wre(o):(BW.has(i)&&((t=BW.get(i))===null||t===void 0||t.dispose()),BW.set(i,tc.onLanguage(i,()=>{Wre(o),Bre.set(i,!0)})))}function gft(i,e){var t,n,r,s,o,a,u;const d=Eve.get(i),h=typeof e.diagnostics=="boolean"?e.diagnostics:(t=d==null?void 0:d.modeConfiguration.diagnostics)!==null&&t!==void 0?t:h2.diagnostics,f=typeof e.completionItems=="boolean"?e.completionItems:(n=d==null?void 0:d.modeConfiguration.completionItems.enable)!==null&&n!==void 0?n:h2.completionItems.enable,p=typeof e.completionItems!="boolean"&&typeof((r=e.completionItems)===null||r===void 0?void 0:r.completionService)=="function"?(s=e.completionItems)===null||s===void 0?void 0:s.completionService:(o=d==null?void 0:d.modeConfiguration.completionItems.completionService)!==null&&o!==void 0?o:h2.completionItems.completionService,m=typeof e.completionItems!="boolean"&&Array.isArray((a=e.completionItems)===null||a===void 0?void 0:a.triggerCharacters)?e.completionItems.triggerCharacters:(u=d==null?void 0:d.modeConfiguration.completionItems.triggerCharacters)!==null&&u!==void 0?u:h2.completionItems.triggerCharacters;return{diagnostics:h,completionItems:{enable:f,completionService:p,triggerCharacters:m}}}const Xt={BINARY:"binary",BINARY_ESCAPE:"binary.escape",COMMENT:"comment",COMMENT_QUOTE:"comment.quote",DELIMITER:"delimiter",DELIMITER_CURLY:"delimiter.curly",DELIMITER_PAREN:"delimiter.paren",DELIMITER_SQUARE:"delimiter.square",IDENTIFIER:"identifier",IDENTIFIER_QUOTE:"identifier.quote",KEYWORD:"keyword",KEYWORD_SCOPE:"keyword.scope",NUMBER:"number",NUMBER_FLOAT:"number.float",NUMBER_BINARY:"number.binary",NUMBER_OCTAL:"number.octal",NUMBER_HEX:"number.hex",OPERATOR:"operator",OPERATOR_KEYWORD:"operator.keyword",OPERATOR_SYMBOL:"operator.symbol",PREDEFINED:"predefined",STRING:"string",STRING_DOUBLE:"string.double",STRING_ESCAPE:"string.escape",TYPE:"type",VARIABLE:"variable",WHITE:"white"},Qt=i=>i+".sql";var Dr;(function(i){i.FLINK="flinksql",i.HIVE="hivesql",i.MYSQL="mysql",i.PG="pgsql",i.SPARK="sparksql",i.TRINO="trinosql",i.IMPALA="impalasql"})(Dr||(Dr={}));WC({id:Dr.FLINK,extensions:[".flinksql"],aliases:["FlinkSQL","flink","Flink"],loader:()=>It(()=>import("./flink-6893ef49.js"),[])});Hu(Dr.FLINK,{completionItems:!0,diagnostics:!0});WC({id:Dr.SPARK,extensions:[".sparksql"],aliases:["SparkSQL","spark","Spark"],loader:()=>It(()=>import("./spark-6994a44e.js"),[])});Hu(Dr.SPARK,{completionItems:!0,diagnostics:!0});WC({id:Dr.HIVE,extensions:[".hivesql"],aliases:["HiveSQL","hive","Hive"],loader:()=>It(()=>import("./hive-a26fc1da.js"),[])});Hu(Dr.HIVE,{completionItems:!0,diagnostics:!0});WC({id:Dr.TRINO,extensions:[".trinosql"],aliases:["TrinoSQL","trino","Trino","prestosql","PrestoSQL","presto","Presto"],loader:()=>It(()=>import("./trino-da547c35.js"),[])});Hu(Dr.TRINO,{completionItems:!0,diagnostics:!0});WC({id:Dr.MYSQL,extensions:[".mysql"],aliases:["MySQL","mysql"],loader:()=>It(()=>import("./mysql-5f9d1f2e.js"),[])});Hu(Dr.MYSQL,{completionItems:!0,diagnostics:!0});WC({id:Dr.PG,extensions:[".pgsql"],aliases:["PgSQL","postgresql","PostgreSQL"],loader:()=>It(()=>import("./pgsql-3b70d09a.js"),[])});Hu(Dr.PG,{completionItems:!0,diagnostics:!0});WC({id:Dr.IMPALA,extensions:[".impalasql"],aliases:["impalaSQL","impala","Impala"],loader:()=>It(()=>import("./impala-ca5c7ba2.js"),[])});Hu(Dr.IMPALA,{completionItems:!0,diagnostics:!0});const pft={base:"vs",inherit:!0,rules:[{token:Qt(Xt.BINARY),foreground:"098658"},{token:Qt(Xt.BINARY_ESCAPE),foreground:"098658"},{token:Qt(Xt.COMMENT),foreground:"008000"},{token:Qt(Xt.COMMENT_QUOTE),foreground:"008000"},{token:Qt(Xt.DELIMITER),foreground:"000000"},{token:Qt(Xt.DELIMITER_CURLY),foreground:"319331"},{token:Qt(Xt.DELIMITER_PAREN),foreground:"0431fa"},{token:Qt(Xt.DELIMITER_SQUARE),foreground:"0431fa"},{token:Qt(Xt.IDENTIFIER),foreground:"001080"},{token:Qt(Xt.IDENTIFIER_QUOTE),foreground:"001080"},{token:Qt(Xt.KEYWORD),foreground:"0000ff"},{token:Qt(Xt.KEYWORD_SCOPE),foreground:"af00db"},{token:Qt(Xt.NUMBER),foreground:"098658"},{token:Qt(Xt.NUMBER_FLOAT),foreground:"098658"},{token:Qt(Xt.NUMBER_BINARY),foreground:"098658"},{token:Qt(Xt.NUMBER_OCTAL),foreground:"098658"},{token:Qt(Xt.NUMBER_HEX),foreground:"098658"},{token:Qt(Xt.OPERATOR),foreground:"000000"},{token:Qt(Xt.OPERATOR_KEYWORD),foreground:"0000ff"},{token:Qt(Xt.OPERATOR_SYMBOL),foreground:"000000"},{token:Qt(Xt.PREDEFINED),foreground:"795e26"},{token:Qt(Xt.STRING),foreground:"a31515"},{token:Qt(Xt.STRING_ESCAPE),foreground:"a31515"},{token:Qt(Xt.TYPE),foreground:"267f99"},{token:Qt(Xt.VARIABLE),foreground:"4fc1ff"}],colors:{}},mft={base:"vs-dark",inherit:!0,rules:[{token:Qt(Xt.BINARY),foreground:"b5cea8"},{token:Qt(Xt.BINARY_ESCAPE),foreground:"b5cea8"},{token:Qt(Xt.COMMENT),foreground:"6a9955"},{token:Qt(Xt.COMMENT_QUOTE),foreground:"6a9955"},{token:Qt(Xt.DELIMITER),foreground:"d4d4d4"},{token:Qt(Xt.DELIMITER_CURLY),foreground:"da70d6"},{token:Qt(Xt.DELIMITER_PAREN),foreground:"ffd700"},{token:Qt(Xt.DELIMITER_SQUARE),foreground:"ffd700"},{token:Qt(Xt.IDENTIFIER),foreground:"9cdcfe"},{token:Qt(Xt.IDENTIFIER_QUOTE),foreground:"9cdcfe"},{token:Qt(Xt.KEYWORD),foreground:"569cd6"},{token:Qt(Xt.KEYWORD_SCOPE),foreground:"c586c0"},{token:Qt(Xt.NUMBER),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_FLOAT),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_BINARY),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_OCTAL),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_HEX),foreground:"b5cea8"},{token:Qt(Xt.OPERATOR),foreground:"d4d4d4"},{token:Qt(Xt.OPERATOR_KEYWORD),foreground:"569cd6"},{token:Qt(Xt.OPERATOR_SYMBOL),foreground:"d4d4d4"},{token:Qt(Xt.PREDEFINED),foreground:"dcdcaa"},{token:Qt(Xt.STRING),foreground:"ce9178"},{token:Qt(Xt.STRING_ESCAPE),foreground:"ce9178"},{token:Qt(Xt.TYPE),foreground:"4ec9b0"},{token:Qt(Xt.VARIABLE),foreground:"4fc1ff"}],colors:{}},_ft={base:"hc-black",inherit:!0,rules:[{token:Qt(Xt.BINARY),foreground:"b5cea8"},{token:Qt(Xt.BINARY_ESCAPE),foreground:"b5cea8"},{token:Qt(Xt.COMMENT),foreground:"7ca668"},{token:Qt(Xt.COMMENT_QUOTE),foreground:"7ca668"},{token:Qt(Xt.DELIMITER),foreground:"ffffff"},{token:Qt(Xt.DELIMITER_CURLY),foreground:"da70d6"},{token:Qt(Xt.DELIMITER_PAREN),foreground:"ffd700"},{token:Qt(Xt.DELIMITER_SQUARE),foreground:"ffd700"},{token:Qt(Xt.IDENTIFIER),foreground:"9cdcfe"},{token:Qt(Xt.IDENTIFIER_QUOTE),foreground:"9cdcfe"},{token:Qt(Xt.KEYWORD),foreground:"569cd6"},{token:Qt(Xt.KEYWORD_SCOPE),foreground:"c586c0"},{token:Qt(Xt.NUMBER),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_FLOAT),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_BINARY),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_OCTAL),foreground:"b5cea8"},{token:Qt(Xt.NUMBER_HEX),foreground:"b5cea8"},{token:Qt(Xt.OPERATOR),foreground:"ffffff"},{token:Qt(Xt.OPERATOR_KEYWORD),foreground:"569cd6"},{token:Qt(Xt.OPERATOR_SYMBOL),foreground:"ffffff"},{token:Qt(Xt.PREDEFINED),foreground:"dcdcaa"},{token:Qt(Xt.STRING),foreground:"ce9178"},{token:Qt(Xt.STRING_ESCAPE),foreground:"ce9178"},{token:Qt(Xt.TYPE),foreground:"4ec9b0"},{token:Qt(Xt.VARIABLE),foreground:"4fc1ff"}],colors:{}},xZ={lightThemeData:pft,darkThemeData:mft,hcBlackThemeData:_ft};var Yg;(function(i){i.CATALOG="catalog",i.CATALOG_CREATE="catalogCreate",i.DATABASE="database",i.DATABASE_CREATE="databaseCreate",i.TABLE="table",i.TABLE_CREATE="tableCreate",i.VIEW="view",i.VIEW_CREATE="viewCreate",i.FUNCTION="function",i.FUNCTION_CREATE="functionCreate",i.PROCEDURE="procedure",i.PROCEDURE_CREATE="procedureCreate",i.COLUMN="column",i.COLUMN_CREATE="columnCreate"})(Yg||(Yg={}));function vft(){return new Worker("/monaco-sql-languages/assets/editor.worker-a4e6c28c.js")}function bft(){return new Worker("/monaco-sql-languages/assets/flink.worker-cf34d75e.js")}function Cft(){return new Worker("/monaco-sql-languages/assets/spark.worker-db1419fa.js")}function wft(){return new Worker("/monaco-sql-languages/assets/hive.worker-de0221f4.js")}function yft(){return new Worker("/monaco-sql-languages/assets/pgsql.worker-fd5fcc44.js")}function Sft(){return new Worker("/monaco-sql-languages/assets/mysql.worker-ca5627dc.js")}function Lft(){return new Worker("/monaco-sql-languages/assets/trino.worker-fa53c48f.js")}function Eft(){return new Worker("/monaco-sql-languages/assets/impala.worker-bc42abfb.js")}globalThis.MonacoEnvironment={getWorker(i,e){return e===Dr.FLINK?new bft:e===Dr.HIVE?new wft:e===Dr.SPARK?new Cft:e===Dr.PG?new yft:e===Dr.MYSQL?new Sft:e===Dr.TRINO?new Lft:e===Dr.IMPALA?new Eft:new vft}};ka.defineTheme("sql-dark",xZ.darkThemeData);ka.defineTheme("sql-light",xZ.lightThemeData);ka.defineTheme("sql-hc",xZ.hcBlackThemeData);const xft=["mock_catalog_1","mock_catalog_2","mock_catalog_3"],Dft=["mock_schema_1","mock_schema_2","mock_schema_3"],Ift=["mock_database_1","mock_database_2","mock_database_3"],Tft=["mock_table1","mock_table2","mock_table3"],kft=["mock_view1","mock_view2","mock_view3"],Nft=["current_catalog_db1","current_catalog_db2","current_catalog_db3"],Aft=["current_catalog_schema1","current_catalog_schema2","current_catalog_schema3"],Oft=["current_db_table1","current_db_table2","current_db_table3"],Mft=["current_db_view1","current_db_view2","current_db_view3"],vg=(i,e)=>{const t=i?i.replace(/sql/gi,"").toLocaleLowerCase():"";return t?`${t}_${e}`:e};function DP(i){const e=xft.map(t=>({label:vg(i,t),kind:tc.CompletionItemKind.Field,detail:"catalog",sortText:"1"+vg(i,t)}));return Promise.resolve(e)}function Rft(i,e){const n=(e?Ift:Nft).map(r=>({label:vg(i,r),kind:tc.CompletionItemKind.Field,detail:"database",sortText:"1"+vg(i,r)}));return Promise.resolve(n)}function Pft(i,e){const n=(e?Dft:Aft).map(r=>({label:vg(i,r),kind:tc.CompletionItemKind.Field,detail:"schema",sortText:"1"+vg(i,r)}));return Promise.resolve(n)}function WW(i,e,t){const r=(e&&t?Tft:Oft).map(s=>({label:vg(i,s),kind:tc.CompletionItemKind.Field,detail:"table",sortText:"1"+vg(i,s)}));return Promise.resolve(r)}function VW(i,e,t){const r=(e&&t?kft:Mft).map(s=>({label:vg(i,s),kind:tc.CompletionItemKind.Field,detail:"view",sortText:"1"+vg(i,s)}));return Promise.resolve(r)}const Fft=i=>["flinksql","trinosql"].includes(i.toLowerCase()),Bft=i=>["trinosql","hivesql","sparksql"].includes(i),VC=async function(i,e,t,n){if(!n)return Promise.resolve([]);const r=i.getLanguageId(),s=Fft(r),o=Bft(r)?Pft:Rft,{keywords:a,syntax:u}=n,d=a.map(y=>({label:y,kind:tc.CompletionItemKind.Keyword,detail:"关键字",sortText:"2"+y}));let h=[],f=!1,p=!1,m=!1,v=!1,b=!1,L=!1,S=!1;for(let y=0;yM.text),V=N.length;if((E===Yg.CATALOG||E===Yg.DATABASE_CREATE)&&!f&&V<=1&&(h=h.concat(await DP(r)),f=!0),(E===Yg.DATABASE||E===Yg.TABLE_CREATE||E===Yg.VIEW_CREATE)&&(!f&&s&&V<=1&&(h=h.concat(await DP(r)),f=!0),!p&&V<=1&&(h=h.concat(await o(r)),p=!0),!m&&s&&V>=2&&V<=3&&(h=h.concat(await o(r,N[0])),m=!0)),E===Yg.TABLE)if(V<=1){if(!f&&s){const M=await DP(r);h=h.concat(M),f=!0}p||(h=h.concat(await o(r)),p=!0),v||(h=h.concat(await WW(r)),v=!0)}else V>=2&&V<=3?(!m&&s&&(h=h.concat(await o(r,N[0])),m=!0),b||(h=h.concat(await WW(r,void 0,N[0])),b=!0)):V>=4&&V<=5&&(b||(h=h.concat(await WW(r,N[0],N[2])),b=!0));E===Yg.VIEW&&(V<=1?(!f&&s&&(h=h.concat(await DP(r)),f=!0),p||(h=h.concat(await o(r)),p=!0),L||(h=h.concat(await VW(r)),L=!0)):V>=2&&V<=3?(!m&&s&&(h=h.concat(await o(r,N[0])),m=!0),S||(h=h.concat(await VW(r,void 0,N[0])),S=!0)):V>=4&&V<=5&&(S||(h=h.concat(await VW(r,N[0],N[2])),S=!0)))}return[...h,...d]},dL=i=>{const e=/@@{[A-Za-z0-9._-]*}/g,t=/\${[A-Za-z0-9._-]*}/g;let n=i;return e.test(i)&&(n=n.replace(e,r=>r.replace(/@|{|}|\.|-/g,"_"))),t.test(i)&&(n=n.replace(t,r=>r.replace(/\$|{|}|\.|-/g,"_"))),n},Wft=(i,e)=>{const t=/@@{[A-Za-z0-9._-]*}/g,n=/\${[A-Za-z0-9._-]*}/g;let r=i;return t.test(i)&&(r=r.replace(t,s=>e?s.replace(/@/,e).replace(/}/,e).replace(/@|{|\.|-/g,"_"):s.replace(/@|{|}|\.|-/g,"_"))),n.test(i)&&(r=r.replace(n,s=>e?s.replace(/\$|}/g,e).replace(/{|\.|-/g,"_"):s.replace(/\$|{|}|\.|-/g,"_"))),r};Hu(Dr.FLINK,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.SPARK,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.HIVE,{completionItems:{enable:!0,completionService:VC},preprocessCode:i=>Wft(i,"`")});Hu(Dr.MYSQL,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.TRINO,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.PG,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});Hu(Dr.IMPALA,{completionItems:{enable:!0,completionService:VC},preprocessCode:dL});function Vft(){const i=he.useRef(),[e,t]=he.useState();return he.useEffect(()=>{i.current||(i.current=Xht({extensions:[uft]}),i.current&&t(()=>{var r;return(r=i.current)==null?void 0:r.render(Rc.jsx(Hut,{}))}))},[]),Rc.jsx("div",{children:e})}window.console.log(`%c dt-sql-parser: ${dft["dt-sql-parser"]} + + monaco-sql-languages: ${cft}`,"font-family: Cabin, Helvetica, Arial, sans-serif;text-align: left;font-size:26px;color:#B21212;");HW.createRoot(document.getElementById("root")).render(Rc.jsx(re.StrictMode,{children:Rc.jsx(Vft,{})}));export{oKe as M,iKe as R,Xt as T,sft as W,It as _,ka as e,tc as l,AM as m}; diff --git a/assets/javascript-9f0a829c.js b/assets/javascript-dcdc4887.js similarity index 89% rename from assets/javascript-9f0a829c.js rename to assets/javascript-dcdc4887.js index 20cbda65..554c1be3 100644 --- a/assets/javascript-9f0a829c.js +++ b/assets/javascript-dcdc4887.js @@ -1,4 +1,4 @@ -import{conf as t,language as e}from"./typescript-57bb8e8c.js";import"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{conf as t,language as e}from"./typescript-9209c285.js";import"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/jsonMode-287a769a.js b/assets/jsonMode-9d881bf1.js similarity index 99% rename from assets/jsonMode-287a769a.js rename to assets/jsonMode-9d881bf1.js index 8a979294..77c7c660 100644 --- a/assets/jsonMode-287a769a.js +++ b/assets/jsonMode-9d881bf1.js @@ -1,4 +1,4 @@ -import{m as Qe}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as Qe}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/liquid-f90a79d3.js b/assets/liquid-8382a17c.js similarity index 98% rename from assets/liquid-f90a79d3.js rename to assets/liquid-8382a17c.js index 8546bd5e..72516ed2 100644 --- a/assets/liquid-f90a79d3.js +++ b/assets/liquid-8382a17c.js @@ -1,4 +1,4 @@ -import{m as l}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as l}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/mysql-4e422c9f.js b/assets/mysql-5f9d1f2e.js similarity index 99% rename from assets/mysql-4e422c9f.js rename to assets/mysql-5f9d1f2e.js index 25e5f44e..cff4f883 100644 --- a/assets/mysql-4e422c9f.js +++ b/assets/mysql-5f9d1f2e.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const _={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},S={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL","COMMENT","PARTITIONS","PREPARE","REMOVE","REPAIR","RESET","ROLE","STOP","VIEW"],operators:["AND","BETWEEN","IN","LIKE","NOT","REGEXP","EXISTS","OF","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT","FULL","CROSS"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","ASCII","ASIN","AsText","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CASE","CAST","CEIL","CEILING","Centroid","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","Crosses","CURDATE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","Dimension","Disjoint","Distance","DIV","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GeomCollFromText","GeomCollFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeomFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","InteriorRingN","Intersects","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IsClosed","IsEmpty","ISNULL","IsSimple","JSON_APPEND","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LineFromText","LineFromWKB","LineString","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRContains","MBRCoveredBy","MBRCovers","MBRDisjoint","MBREqual","MBREquals","MBRIntersects","MBROverlaps","MBRTouches","MBRWithin","MD5","MEMBER","MICROSECOND","MID","MIN","MINUTE","MLineFromText","MLineFromWKB","MOD","MONTH","MONTHNAME","MPointFromText","MPointFromWKB","MPolyFromText","MPolyFromWKB","MultiLineString","MultiPoint","MultiPolygon","NAME_CONST","NOW","NULLIF","NumGeometries","NumInteriorRings","NumPoints","OCT","OCTET_LENGTH","ORD","Overlaps","PASSWORD","PERIOD_ADD","PERIOD_DIFF","PI","Point","PointFromText","PointFromWKB","PointN","PolyFromText","PolyFromWKB","Polygon","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RLIKE","ROUND","ROW_COUNT","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","SRID","ST_Area","ST_AsBinary","ST_AsGeoJSON","ST_AsText","ST_Buffer","ST_Buffer_Strategy","ST_Centroid","ST_Contains","ST_ConvexHull","ST_Crosses","ST_Difference","ST_Dimension","ST_Disjoint","ST_Distance","ST_Distance_Sphere","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_GeoHash","ST_GeomCollFromText","ST_GeomCollFromWKB","ST_GeometryN","ST_GeometryType","ST_GeomFromGeoJSON","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersection","ST_Intersects","ST_IsClosed","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_LatFromGeoHash","ST_Length","ST_LineFromText","ST_LineFromWKB","ST_LongFromGeoHash","ST_MakeEnvelope","ST_MLineFromText","ST_MLineFromWKB","ST_MPointFromText","ST_MPointFromWKB","ST_MPolyFromText","ST_MPolyFromWKB","ST_NumGeometries","ST_NumInteriorRing","ST_NumPoints","ST_Overlaps","ST_PointFromGeoHash","ST_PointFromText","ST_PointFromWKB","ST_PointN","ST_PolyFromText","ST_PolyFromWKB","ST_Simplify","ST_SRID","ST_StartPoint","ST_SymDifference","ST_Touches","ST_Union","ST_Validate","ST_Within","ST_X","ST_Y","StartPoint","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","Touches","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UpdateXML","UPPER","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","Within","X","XOR","Y","YEARWEEK","asynchronous_connection_failover_add_managed","asynchronous_connection_failover_add_source","asynchronous_connection_failover_delete_managed","asynchronous_connection_failover_delete_source","asynchronous_connection_failover_reset","BIN_TO_UUID","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CUME_DIST","CURRENT_ROLE","DENSE_RANK","FIRST_VALUE","FORMAT_BYTES","FORMAT_PICO_TIME","GeomCollection","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","group_replication_disable_member_action","group_replication_enable_member_action","group_replication_get_communication_protocol","group_replication_get_write_concurrency","group_replication_reset_member_actions","group_replication_set_as_primary","group_replication_set_communication_protocol","group_replication_set_write_concurrency","group_replication_switch_to_multi_primary_mode","group_replication_switch_to_single_primary_mode","GROUPING","ICU_VERSION","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","IS_UUID","JSON_OVERLAPS","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_STORAGE_FREE","JSON_TABLE","JSON_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PS_CURRENT_THREAD_ID","PS_THREAD_ID","RANK","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","ROLES_GRAPHML","ROW_NUMBER","SOURCE_POS_WAIT","ST_Collect","ST_FrechetDistance","ST_HausdorffDistance","ST_Latitude","ST_LineInterpolatePoint","ST_LineInterpolatePoints","ST_Longitude","ST_PointAtDistance","ST_SwapXY","ST_Transform","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","UUID_TO_BIN"],builtinVariables:[],typeKeywords:["TINYINT","SMALLINT","MEDIUMINT","INT","INTEGER","BIGINT","FLOAT","DOUBLE","REAL","DECIMAL","NUMERIC","BIT","YEAR","DATE","TIME","DATETIME","TIMESTAMP","CHAR","BINARY","VARCHAR","VARBINARY","TINYBLOB","TINYTEXT","BLOB","TEXT","MEDIUMBLOB","MEDIUMTEXT","LONGBLOB","LONGTEXT","ENUM","SET","GEOMETRY","POINT","LINESTRING","POLYGON","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON","GEOMETRYCOLLECTION","JSON","JSON_STORAGE_SIZE","JSON_SET","JSON_INSERT","JSON_REPLACE","JSON_REMOVE","JSON_STORAGE_FREE","JSON_TYPE","JSON_ARRAY","JSON_OBJECT","JSON_MERGE_PRESERVE","JSON_MERGE_PATCH","JSON_CONTAINS_PATH","JSON_MERGE","JSON_VALID","JSON_UNQUOTE","JSON_EXTRACT","BOOLEAN"],scopeKeywords:["BEGIN","CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexOperators"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],comments:[[/--+.*/,E.COMMENT],[/#+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],whitespace:[[/\s+/,E.WHITE]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@stringSingle"}],[/"/,{token:E.STRING,next:"@stringDouble"}]],stringSingle:[[/\\'/,E.STRING_ESCAPE],[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],stringDouble:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexOperators:[[/IS\s+NOT\s+(NULL)?\b/i,{token:E.OPERATOR_KEYWORD}],[/IS\s+NULL\b/i,{token:E.OPERATOR_KEYWORD}],[/NOT\s+(IN|LIKE|REGEXP)\b/i,{token:E.OPERATOR_KEYWORD}],[/PROCEDURE\s+ANALYSE\b/i,{token:E.OPERATOR_KEYWORD}],[/SOUNDS\s+LIKE\b/i,{token:E.OPERATOR_KEYWORD}],[/MEMBER\s+OF\b/i,{token:E.OPERATOR_KEYWORD}]]}};export{_ as conf,S as language}; +import{T as E}from"./index-e7f600bf.js";const _={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},S={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL","COMMENT","PARTITIONS","PREPARE","REMOVE","REPAIR","RESET","ROLE","STOP","VIEW"],operators:["AND","BETWEEN","IN","LIKE","NOT","REGEXP","EXISTS","OF","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT","FULL","CROSS"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","ASCII","ASIN","AsText","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CASE","CAST","CEIL","CEILING","Centroid","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","Crosses","CURDATE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","Dimension","Disjoint","Distance","DIV","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GeomCollFromText","GeomCollFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeomFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","InteriorRingN","Intersects","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IsClosed","IsEmpty","ISNULL","IsSimple","JSON_APPEND","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LineFromText","LineFromWKB","LineString","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRContains","MBRCoveredBy","MBRCovers","MBRDisjoint","MBREqual","MBREquals","MBRIntersects","MBROverlaps","MBRTouches","MBRWithin","MD5","MEMBER","MICROSECOND","MID","MIN","MINUTE","MLineFromText","MLineFromWKB","MOD","MONTH","MONTHNAME","MPointFromText","MPointFromWKB","MPolyFromText","MPolyFromWKB","MultiLineString","MultiPoint","MultiPolygon","NAME_CONST","NOW","NULLIF","NumGeometries","NumInteriorRings","NumPoints","OCT","OCTET_LENGTH","ORD","Overlaps","PASSWORD","PERIOD_ADD","PERIOD_DIFF","PI","Point","PointFromText","PointFromWKB","PointN","PolyFromText","PolyFromWKB","Polygon","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RLIKE","ROUND","ROW_COUNT","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","SRID","ST_Area","ST_AsBinary","ST_AsGeoJSON","ST_AsText","ST_Buffer","ST_Buffer_Strategy","ST_Centroid","ST_Contains","ST_ConvexHull","ST_Crosses","ST_Difference","ST_Dimension","ST_Disjoint","ST_Distance","ST_Distance_Sphere","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_GeoHash","ST_GeomCollFromText","ST_GeomCollFromWKB","ST_GeometryN","ST_GeometryType","ST_GeomFromGeoJSON","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersection","ST_Intersects","ST_IsClosed","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_LatFromGeoHash","ST_Length","ST_LineFromText","ST_LineFromWKB","ST_LongFromGeoHash","ST_MakeEnvelope","ST_MLineFromText","ST_MLineFromWKB","ST_MPointFromText","ST_MPointFromWKB","ST_MPolyFromText","ST_MPolyFromWKB","ST_NumGeometries","ST_NumInteriorRing","ST_NumPoints","ST_Overlaps","ST_PointFromGeoHash","ST_PointFromText","ST_PointFromWKB","ST_PointN","ST_PolyFromText","ST_PolyFromWKB","ST_Simplify","ST_SRID","ST_StartPoint","ST_SymDifference","ST_Touches","ST_Union","ST_Validate","ST_Within","ST_X","ST_Y","StartPoint","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","Touches","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UpdateXML","UPPER","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","Within","X","XOR","Y","YEARWEEK","asynchronous_connection_failover_add_managed","asynchronous_connection_failover_add_source","asynchronous_connection_failover_delete_managed","asynchronous_connection_failover_delete_source","asynchronous_connection_failover_reset","BIN_TO_UUID","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CUME_DIST","CURRENT_ROLE","DENSE_RANK","FIRST_VALUE","FORMAT_BYTES","FORMAT_PICO_TIME","GeomCollection","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","group_replication_disable_member_action","group_replication_enable_member_action","group_replication_get_communication_protocol","group_replication_get_write_concurrency","group_replication_reset_member_actions","group_replication_set_as_primary","group_replication_set_communication_protocol","group_replication_set_write_concurrency","group_replication_switch_to_multi_primary_mode","group_replication_switch_to_single_primary_mode","GROUPING","ICU_VERSION","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","IS_UUID","JSON_OVERLAPS","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_STORAGE_FREE","JSON_TABLE","JSON_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PS_CURRENT_THREAD_ID","PS_THREAD_ID","RANK","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","ROLES_GRAPHML","ROW_NUMBER","SOURCE_POS_WAIT","ST_Collect","ST_FrechetDistance","ST_HausdorffDistance","ST_Latitude","ST_LineInterpolatePoint","ST_LineInterpolatePoints","ST_Longitude","ST_PointAtDistance","ST_SwapXY","ST_Transform","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","UUID_TO_BIN"],builtinVariables:[],typeKeywords:["TINYINT","SMALLINT","MEDIUMINT","INT","INTEGER","BIGINT","FLOAT","DOUBLE","REAL","DECIMAL","NUMERIC","BIT","YEAR","DATE","TIME","DATETIME","TIMESTAMP","CHAR","BINARY","VARCHAR","VARBINARY","TINYBLOB","TINYTEXT","BLOB","TEXT","MEDIUMBLOB","MEDIUMTEXT","LONGBLOB","LONGTEXT","ENUM","SET","GEOMETRY","POINT","LINESTRING","POLYGON","MULTIPOINT","MULTILINESTRING","MULTIPOLYGON","GEOMETRYCOLLECTION","JSON","JSON_STORAGE_SIZE","JSON_SET","JSON_INSERT","JSON_REPLACE","JSON_REMOVE","JSON_STORAGE_FREE","JSON_TYPE","JSON_ARRAY","JSON_OBJECT","JSON_MERGE_PRESERVE","JSON_MERGE_PATCH","JSON_CONTAINS_PATH","JSON_MERGE","JSON_VALID","JSON_UNQUOTE","JSON_EXTRACT","BOOLEAN"],scopeKeywords:["BEGIN","CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexOperators"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],comments:[[/--+.*/,E.COMMENT],[/#+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],whitespace:[[/\s+/,E.WHITE]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@stringSingle"}],[/"/,{token:E.STRING,next:"@stringDouble"}]],stringSingle:[[/\\'/,E.STRING_ESCAPE],[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],stringDouble:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexOperators:[[/IS\s+NOT\s+(NULL)?\b/i,{token:E.OPERATOR_KEYWORD}],[/IS\s+NULL\b/i,{token:E.OPERATOR_KEYWORD}],[/NOT\s+(IN|LIKE|REGEXP)\b/i,{token:E.OPERATOR_KEYWORD}],[/PROCEDURE\s+ANALYSE\b/i,{token:E.OPERATOR_KEYWORD}],[/SOUNDS\s+LIKE\b/i,{token:E.OPERATOR_KEYWORD}],[/MEMBER\s+OF\b/i,{token:E.OPERATOR_KEYWORD}]]}};export{_ as conf,S as language}; diff --git a/assets/mysql.worker-83755b2b.js b/assets/mysql.worker-83755b2b.js deleted file mode 100644 index e2ce265a..00000000 --- a/assets/mysql.worker-83755b2b.js +++ /dev/null @@ -1,22 +0,0 @@ -var $W=Object.defineProperty;var MW=(Wt,Et,Lt)=>Et in Wt?$W(Wt,Et,{enumerable:!0,configurable:!0,writable:!0,value:Lt}):Wt[Et]=Lt;var R=(Wt,Et,Lt)=>(MW(Wt,typeof Et!="symbol"?Et+"":Et,Lt),Lt),E5=(Wt,Et,Lt)=>{if(!Et.has(Wt))throw TypeError("Cannot "+Lt)};var m=(Wt,Et,Lt)=>(E5(Wt,Et,"read from private field"),Lt?Lt.call(Wt):Et.get(Wt)),tt=(Wt,Et,Lt)=>{if(Et.has(Wt))throw TypeError("Cannot add the same private member more than once");Et instanceof WeakSet?Et.add(Wt):Et.set(Wt,Lt)},$=(Wt,Et,Lt,q1)=>(E5(Wt,Et,"write to private field"),q1?q1.call(Wt,Lt):Et.set(Wt,Lt),Lt);var u5=(Wt,Et,Lt)=>(E5(Wt,Et,"access private method"),Lt);(function(){var F1,ji,$i,Pe,n1,G1,Mi,le,O0,C0,h1,Rt,Pi,a1,yi,Ee,be,qi,N0,we,c1,b1,ts,o1,l0,es,is,ss,ee,ns,hs,r1,as,w1,v1,Y1,cs,d0,os,rs,V1,Es,X1,ye,us,wt,Ks,Ws,Rs,et,mt,Kt,Ts,m0,_s,As,Is,p0,Q1,x0,Ls,Os,Cs,Ns,ls,ds,ms,ps,xs,fs,gs,Us,Ds,ks,Ss,Hs,Bs,Fs,Gs,E1,Z1,J1,u1,z1,j1,K1,$1,f0,bs,ws,vt,G,vs,Ys,Vs,Xs,Qs,Zs,Js,qe,t0,zs,js,$s,M1,Ms,Ps,W1,ys,K5,qs,tn,en,sn,Q,nn,hn,an,cn,on,rn,En,un,g0,Kn,Wn,Rn,Tn,_n,An,In,Ln,On,Cn,Nn,ln,dn,mn,th,pn,xn,fn,gn,de,Un,Dn,kn,eh,P1,Sn,$t,Hn,Bn,Fn,Gn,It,bn,wn,vn,at,ve,ue,Yn,Vn,Xn,Qn,Zn,Jn,zn,jn,ie,$n,Mn,Pn,yn,qn,t7,me,e7;"use strict";class Wt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?new Error(e.message+` - -`+e.stack):e},0)}}emit(e){this.listeners.forEach(i=>{i(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Et=new Wt;function Lt(n){Zo(n)||Et.onUnexpectedError(n)}function q1(n){if(n instanceof Error){let{name:e,message:i}=n;const s=n.stacktrace||n.stack;return{$isError:!0,name:e,message:i,stack:s}}return n}const W5="Canceled";function Zo(n){return n instanceof Error&&n.name===W5&&n.message===W5}function Jo(n){const e=this;let i=!1,s;return function(){return i||(i=!0,s=n.apply(e,arguments)),s}}var ih;(function(n){function e(C){return C&&typeof C=="object"&&typeof C[Symbol.iterator]=="function"}n.is=e;const i=Object.freeze([]);function s(){return i}n.empty=s;function*h(C){yield C}n.single=h;function a(C){return C||i}n.from=a;function o(C){return!C||C[Symbol.iterator]().next().done===!0}n.isEmpty=o;function r(C){return C[Symbol.iterator]().next().value}n.first=r;function E(C,O){for(const p of C)if(O(p))return!0;return!1}n.some=E;function u(C,O){for(const p of C)if(O(p))return p}n.find=u;function*T(C,O){for(const p of C)O(p)&&(yield p)}n.filter=T;function*_(C,O){let p=0;for(const f of C)yield O(f,p++)}n.map=_;function*A(...C){for(const O of C)for(const p of O)yield p}n.concat=A;function*N(C){for(const O of C)for(const p of O)yield p}n.concatNested=N;function x(C,O,p){let f=p;for(const w of C)f=O(f,w);return f}n.reduce=x;function*D(C,O,p=C.length){for(O<0&&(O+=C.length),p<0?p+=C.length:p>C.length&&(p=C.length);Of===w){const f=C[Symbol.iterator](),w=O[Symbol.iterator]();for(;;){const F=f.next(),S=w.next();if(F.done!==S.done)return!1;if(F.done)return!0;if(!p(F.value,S.value))return!1}}n.equals=b})(ih||(ih={}));function PW(n){return n}function yW(n,e){}class zo extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function R5(n){if(ih.is(n)){let e=[];for(const i of n)if(i)try{i.dispose()}catch(s){e.push(s)}if(e.length===1)throw e[0];if(e.length>1)throw new zo(e);return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function jo(...n){return T5(()=>R5(n))}function T5(n){return{dispose:Jo(()=>{n()})}}class ti{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{R5(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?ti.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}ti.DISABLE_DISPOSED_WARNING=!1;class _5{constructor(){this._store=new ti,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}_5.None=Object.freeze({dispose(){}});class it{constructor(e){this.element=e,this.next=it.Undefined,this.prev=it.Undefined}}it.Undefined=new it(void 0);class A5{constructor(){this._first=it.Undefined,this._last=it.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===it.Undefined}clear(){let e=this._first;for(;e!==it.Undefined;){const i=e.next;e.prev=it.Undefined,e.next=it.Undefined,e=i}this._first=it.Undefined,this._last=it.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,i){const s=new it(e);if(this._first===it.Undefined)this._first=s,this._last=s;else if(i){const a=this._last;this._last=s,s.prev=a,a.next=s}else{const a=this._first;this._first=s,s.next=a,a.prev=s}this._size+=1;let h=!1;return()=>{h||(h=!0,this._remove(s))}}shift(){if(this._first!==it.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==it.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==it.Undefined&&e.next!==it.Undefined){const i=e.prev;i.next=e.next,e.next.prev=i}else e.prev===it.Undefined&&e.next===it.Undefined?(this._first=it.Undefined,this._last=it.Undefined):e.next===it.Undefined?(this._last=this._last.prev,this._last.next=it.Undefined):e.prev===it.Undefined&&(this._first=this._first.next,this._first.prev=it.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==it.Undefined;)yield e.element,e=e.next}}var sh;const i7="en";let nh=!1,hh=!1,ah=!1,ei,s7=i7,$o,U0;const kt=typeof self=="object"?self:typeof global=="object"?global:{};let Yt;typeof kt.vscode<"u"&&typeof kt.vscode.process<"u"?Yt=kt.vscode.process:typeof process<"u"&&(Yt=process);const Mo=typeof((sh=Yt==null?void 0:Yt.versions)===null||sh===void 0?void 0:sh.electron)=="string"&&(Yt==null?void 0:Yt.type)==="renderer";if(typeof navigator=="object"&&!Mo)U0=navigator.userAgent,nh=U0.indexOf("Windows")>=0,hh=U0.indexOf("Macintosh")>=0,(U0.indexOf("Macintosh")>=0||U0.indexOf("iPad")>=0||U0.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ah=U0.indexOf("Linux")>=0,ei=navigator.language,s7=ei;else if(typeof Yt=="object"){nh=Yt.platform==="win32",hh=Yt.platform==="darwin",ah=Yt.platform==="linux",ah&&Yt.env.SNAP&&Yt.env.SNAP_REVISION,ei=i7,s7=i7;const n=Yt.env.VSCODE_NLS_CONFIG;if(n)try{const e=JSON.parse(n),i=e.availableLanguages["*"];ei=e.locale,s7=i||i7,$o=e._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const ii=nh,Po=hh,yo=s7,qo=ei;(()=>{if(typeof kt.postMessage=="function"&&!kt.importScripts){let n=[];kt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,h=n.length;s{const s=++e;n.push({id:s,callback:i}),kt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return n=>setTimeout(n)})();const t6=kt.performance&&typeof kt.performance.now=="function";class n7{constructor(e){this._highResolution=t6&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new n7(e)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?kt.performance.now():Date.now()}}var ch;(function(n){n.None=()=>_5.None;function e(C){return(O,p=null,f)=>{let w=!1,F;return F=C(S=>{if(!w)return F?F.dispose():w=!0,O.call(p,S)},null,f),w&&F.dispose(),F}}n.once=e;function i(C,O){return E((p,f=null,w)=>C(F=>p.call(f,O(F)),null,w))}n.map=i;function s(C,O){return E((p,f=null,w)=>C(F=>{O(F),p.call(f,F)},null,w))}n.forEach=s;function h(C,O){return E((p,f=null,w)=>C(F=>O(F)&&p.call(f,F),null,w))}n.filter=h;function a(C){return C}n.signal=a;function o(...C){return(O,p=null,f)=>jo(...C.map(w=>w(F=>O.call(p,F),null,f)))}n.any=o;function r(C,O,p){let f=p;return i(C,w=>(f=O(f,w),f))}n.reduce=r;function E(C){let O;const p=new e0({onFirstListenerAdd(){O=C(p.fire,p)},onLastListenerRemove(){O.dispose()}});return p.event}function u(C,O,p=100,f=!1,w){let F,S,J,Ot=0;const q=new e0({leakWarningThreshold:w,onFirstListenerAdd(){F=C(v=>{Ot++,S=O(S,v),f&&!J&&(q.fire(S),S=void 0),clearTimeout(J),J=setTimeout(()=>{const pe=S;S=void 0,J=void 0,(!f||Ot>1)&&q.fire(pe),Ot=0},p)})},onLastListenerRemove(){F.dispose()}});return q.event}n.debounce=u;function T(C,O=(p,f)=>p===f){let p=!0,f;return h(C,w=>{const F=p||!O(w,f);return p=!1,f=w,F})}n.latch=T;function _(C,O){return[n.filter(C,O),n.filter(C,p=>!O(p))]}n.split=_;function A(C,O=!1,p=[]){let f=p.slice(),w=C(J=>{f?f.push(J):S.fire(J)});const F=()=>{f&&f.forEach(J=>S.fire(J)),f=null},S=new e0({onFirstListenerAdd(){w||(w=C(J=>S.fire(J)))},onFirstListenerDidAdd(){f&&(O?setTimeout(F):F())},onLastListenerRemove(){w&&w.dispose(),w=null}});return S.event}n.buffer=A;class N{constructor(O){this.event=O}map(O){return new N(i(this.event,O))}forEach(O){return new N(s(this.event,O))}filter(O){return new N(h(this.event,O))}reduce(O,p){return new N(r(this.event,O,p))}latch(){return new N(T(this.event))}debounce(O,p=100,f=!1,w){return new N(u(this.event,O,p,f,w))}on(O,p,f){return this.event(O,p,f)}once(O,p,f){return e(this.event)(O,p,f)}}function x(C){return new N(C)}n.chain=x;function D(C,O,p=f=>f){const f=(...J)=>S.fire(p(...J)),w=()=>C.on(O,f),F=()=>C.removeListener(O,f),S=new e0({onFirstListenerAdd:w,onLastListenerRemove:F});return S.event}n.fromNodeEventEmitter=D;function k(C,O,p=f=>f){const f=(...J)=>S.fire(p(...J)),w=()=>C.addEventListener(O,f),F=()=>C.removeEventListener(O,f),S=new e0({onFirstListenerAdd:w,onLastListenerRemove:F});return S.event}n.fromDOMEventEmitter=k;function b(C){return new Promise(O=>e(C)(O))}n.toPromise=b})(ch||(ch={}));class h7{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${h7._idPool++}`}start(e){this._stopWatch=new n7(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}h7._idPool=0;class e0{constructor(e){var i;this._disposed=!1,this._options=e,this._leakageMon=void 0,this._perfMon=!((i=this._options)===null||i===void 0)&&i._profName?new h7(this._options._profName):void 0}get event(){return this._event||(this._event=(e,i,s)=>{var h;this._listeners||(this._listeners=new A5);const a=this._listeners.isEmpty();a&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(i?[e,i]:e);a&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,i);const r=(h=this._leakageMon)===null||h===void 0?void 0:h.check(this._listeners.size),E=T5(()=>{r&&r(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return s instanceof ti?s.add(E):Array.isArray(s)&&s.push(E),E}),this._event}fire(e){var i,s;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new A5);for(let h of this._listeners)this._deliveryQueue.push([h,e]);for((i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[h,a]=this._deliveryQueue.shift();try{typeof h=="function"?h.call(void 0,a):h[0].call(h[1],a)}catch(o){Lt(o)}}(s=this._perfMon)===null||s===void 0||s.stop()}}dispose(){var e,i,s,h,a;this._disposed||(this._disposed=!0,(e=this._listeners)===null||e===void 0||e.clear(),(i=this._deliveryQueue)===null||i===void 0||i.clear(),(h=(s=this._options)===null||s===void 0?void 0:s.onLastListenerRemove)===null||h===void 0||h.call(s),(a=this._leakageMon)===null||a===void 0||a.dispose())}}function e6(n){let e=[],i=Object.getPrototypeOf(n);for(;Object.prototype!==i;)e=e.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return e}function oh(n){const e=[];for(const i of e6(n))typeof n[i]=="function"&&e.push(i);return e}function i6(n,e){const i=h=>function(){const a=Array.prototype.slice.call(arguments,0);return e(h,a)};let s={};for(const h of n)s[h]=i(h);return s}function s6(n,e="Unreachable"){throw new Error(e)}function n6(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function h6(n){return n.split(/\r\n|\r|\n/)}function a6(n){for(let e=0,i=n.length;e=0;i--){const s=n.charCodeAt(i);if(s!==32&&s!==9)return i}return-1}function I5(n){return n>=65&&n<=90}function rh(n){return 55296<=n&&n<=56319}function o6(n){return 56320<=n&&n<=57343}function r6(n,e){return(n-55296<<10)+(e-56320)+65536}function E6(n,e,i){const s=n.charCodeAt(i);if(rh(s)&&i+1{this._pendingReplies[s]={resolve:h,reject:a},this._send(new K6(this._workerId,s,e,i))})}listen(e,i){let s=null;const h=new e0({onFirstListenerAdd:()=>{s=String(++this._lastSentReq),this._pendingEmitters.set(s,h),this._send(new W6(this._workerId,s,e,i))},onLastListenerRemove:()=>{this._pendingEmitters.delete(s),this._send(new T6(this._workerId,s)),s=null}});return h.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}let i=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let s=e.err;e.err.$isError&&(s=new Error,s.name=e.err.name,s.message=e.err.message,s.stack=e.err.stack),i.reject(s);return}i.resolve(e.res)}_handleRequestMessage(e){let i=e.req;this._handler.handleMessage(e.method,e.args).then(h=>{this._send(new L5(this._workerId,i,h,void 0))},h=>{h.detail instanceof Error&&(h.detail=q1(h.detail)),this._send(new L5(this._workerId,i,void 0,q1(h)))})}_handleSubscribeEventMessage(e){const i=e.req,s=this._handler.handleEvent(e.eventName,e.arg)(h=>{this._send(new R6(this._workerId,i,h))});this._pendingEvents.set(i,s)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){let i=[];if(e.type===0)for(let s=0;sfunction(){const r=Array.prototype.slice.call(arguments,0);return e(o,r)},h=o=>function(r){return i(o,r)};let a={};for(const o of n){if(C5(o)){a[o]=h(o);continue}if(O5(o)){a[o]=i(o,void 0);continue}a[o]=s(o)}return a}class I6{constructor(e,i){this._requestHandlerFactory=i,this._requestHandler=null,this._protocol=new _6({sendMessage:(s,h)=>{e(s,h)},handleMessage:(s,h)=>this._handleMessage(s,h),handleEvent:(s,h)=>this._handleEvent(s,h)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,i){if(e===u6)return this.initialize(i[0],i[1],i[2],i[3]);if(!this._requestHandler||typeof this._requestHandler[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,i))}catch(s){return Promise.reject(s)}}_handleEvent(e,i){if(!this._requestHandler)throw new Error("Missing requestHandler");if(C5(e)){const s=this._requestHandler[e].call(this._requestHandler,i);if(typeof s!="function")throw new Error(`Missing dynamic event ${e} on request handler.`);return s}if(O5(e)){const s=this._requestHandler[e];if(typeof s!="function")throw new Error(`Missing event ${e} on request handler.`);return s}throw new Error(`Malformed event name ${e}`)}initialize(e,i,s,h){this._protocol.setWorkerId(e);const r=A6(h,(E,u)=>this._protocol.sendMessage(E,u),(E,u)=>this._protocol.listen(E,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(r),Promise.resolve(oh(this._requestHandler))):(i&&(typeof i.baseUrl<"u"&&delete i.baseUrl,typeof i.paths<"u"&&typeof i.paths.vs<"u"&&delete i.paths.vs,typeof i.trustedTypesPolicy!==void 0&&delete i.trustedTypesPolicy,i.catchError=!0,kt.require.config(i)),new Promise((E,u)=>{const T=kt.require;T([s],_=>{if(this._requestHandler=_.create(r),!this._requestHandler){u(new Error("No RequestHandler!"));return}E(oh(this._requestHandler))},u)}))}}class i0{constructor(e,i,s,h){this.originalStart=e,this.originalLength=i,this.modifiedStart=s,this.modifiedLength=h}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function N5(n,e){return(e<<5)-e+n|0}function L6(n,e){e=N5(149417,e);for(let i=0,s=n.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new i0(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class s0{constructor(e,i,s=null){this.ContinueProcessingPredicate=s,this._originalSequence=e,this._modifiedSequence=i;const[h,a,o]=s0._getElements(e),[r,E,u]=s0._getElements(i);this._hasStrings=o&&u,this._originalStringElements=h,this._originalElementsOrHash=a,this._modifiedStringElements=r,this._modifiedElementsOrHash=E,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const i=e.getElements();if(s0._isStringArray(i)){const s=new Int32Array(i.length);for(let h=0,a=i.length;h=e&&h>=s&&this.ElementsAreEqual(i,h);)i--,h--;if(e>i||s>h){let _;return s<=h?(_1.Assert(e===i+1,"originalStart should only be one more than originalEnd"),_=[new i0(e,0,s,h-s+1)]):e<=i?(_1.Assert(s===h+1,"modifiedStart should only be one more than modifiedEnd"),_=[new i0(e,i-e+1,s,0)]):(_1.Assert(e===i+1,"originalStart should only be one more than originalEnd"),_1.Assert(s===h+1,"modifiedStart should only be one more than modifiedEnd"),_=[]),_}const o=[0],r=[0],E=this.ComputeRecursionPoint(e,i,s,h,o,r,a),u=o[0],T=r[0];if(E!==null)return E;if(!a[0]){const _=this.ComputeDiffRecursive(e,u,s,T,a);let A=[];return a[0]?A=[new i0(u+1,i-(u+1)+1,T+1,h-(T+1)+1)]:A=this.ComputeDiffRecursive(u+1,i,T+1,h,a),this.ConcatenateChanges(_,A)}return[new i0(e,i-e+1,s,h-s+1)]}WALKTRACE(e,i,s,h,a,o,r,E,u,T,_,A,N,x,D,k,b,C){let O=null,p=null,f=new d5,w=i,F=s,S=N[0]-k[0]-h,J=-1073741824,Ot=this.m_forwardHistory.length-1;do{const q=S+e;q===w||q=0&&(u=this.m_forwardHistory[Ot],e=u[0],w=1,F=u.length-1)}while(--Ot>=-1);if(O=f.getReverseChanges(),C[0]){let q=N[0]+1,v=k[0]+1;if(O!==null&&O.length>0){const pe=O[O.length-1];q=Math.max(q,pe.getOriginalEnd()),v=Math.max(v,pe.getModifiedEnd())}p=[new i0(q,A-q+1,v,D-v+1)]}else{f=new d5,w=o,F=r,S=N[0]-k[0]-E,J=1073741824,Ot=b?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const q=S+a;q===w||q=T[q+1]?(_=T[q+1]-1,x=_-S-E,_>J&&f.MarkNextChange(),J=_+1,f.AddOriginalElement(_+1,x+1),S=q+1-a):(_=T[q-1],x=_-S-E,_>J&&f.MarkNextChange(),J=_,f.AddModifiedElement(_+1,x+1),S=q-1-a),Ot>=0&&(T=this.m_reverseHistory[Ot],a=T[0],w=1,F=T.length-1)}while(--Ot>=-1);p=f.getChanges()}return this.ConcatenateChanges(O,p)}ComputeRecursionPoint(e,i,s,h,a,o,r){let E=0,u=0,T=0,_=0,A=0,N=0;e--,s--,a[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const x=i-e+(h-s),D=x+1,k=new Int32Array(D),b=new Int32Array(D),C=h-s,O=i-e,p=e-s,f=i-h,F=(O-C)%2===0;k[C]=e,b[O]=i,r[0]=!1;for(let S=1;S<=x/2+1;S++){let J=0,Ot=0;T=this.ClipDiagonalBound(C-S,S,C,D),_=this.ClipDiagonalBound(C+S,S,C,D);for(let v=T;v<=_;v+=2){v===T||v<_&&k[v-1]J+Ot&&(J=E,Ot=u),!F&&Math.abs(v-O)<=S-1&&E>=b[v])return a[0]=E,o[0]=u,pe<=b[v]&&1447>0&&S<=1447+1?this.WALKTRACE(C,T,_,p,O,A,N,f,k,b,E,i,a,u,h,o,F,r):null}const q=(J-e+(Ot-s)-S)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(J,q))return r[0]=!0,a[0]=J,o[0]=Ot,q>0&&1447>0&&S<=1447+1?this.WALKTRACE(C,T,_,p,O,A,N,f,k,b,E,i,a,u,h,o,F,r):(e++,s++,[new i0(e,i-e+1,s,h-s+1)]);A=this.ClipDiagonalBound(O-S,S,O,D),N=this.ClipDiagonalBound(O+S,S,O,D);for(let v=A;v<=N;v+=2){v===A||v=b[v+1]?E=b[v+1]-1:E=b[v-1],u=E-(v-O)-f;const pe=E;for(;E>e&&u>s&&this.ElementsAreEqual(E,u);)E--,u--;if(b[v]=E,F&&Math.abs(v-C)<=S&&E<=k[v])return a[0]=E,o[0]=u,pe>=k[v]&&1447>0&&S<=1447+1?this.WALKTRACE(C,T,_,p,O,A,N,f,k,b,E,i,a,u,h,o,F,r):null}if(S<=1447){let v=new Int32Array(_-T+2);v[0]=C-T+1,A1.Copy2(k,T,v,1,_-T+1),this.m_forwardHistory.push(v),v=new Int32Array(N-A+2),v[0]=O-A+1,A1.Copy2(b,A,v,1,N-A+1),this.m_reverseHistory.push(v)}}return this.WALKTRACE(C,T,_,p,O,A,N,f,k,b,E,i,a,u,h,o,F,r)}PrettifyChanges(e){for(let i=0;i0,r=s.modifiedLength>0;for(;s.originalStart+s.originalLength=0;i--){const s=e[i];let h=0,a=0;if(i>0){const _=e[i-1];h=_.originalStart+_.originalLength,a=_.modifiedStart+_.modifiedLength}const o=s.originalLength>0,r=s.modifiedLength>0;let E=0,u=this._boundaryScore(s.originalStart,s.originalLength,s.modifiedStart,s.modifiedLength);for(let _=1;;_++){const A=s.originalStart-_,N=s.modifiedStart-_;if(Au&&(u=D,E=_)}s.originalStart-=E,s.modifiedStart-=E;const T=[null];if(i>0&&this.ChangesOverlap(e[i-1],e[i],T)){e[i-1]=T[0],e.splice(i,1),i++;continue}}if(this._hasStrings)for(let i=1,s=e.length;i0&&N>E&&(E=N,u=_,T=A)}return E>0?[u,T]:null}_contiguousSequenceScore(e,i,s){let h=0;for(let a=0;a=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,i){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(i>0){const s=e+i;if(this._OriginalIsBoundary(s-1)||this._OriginalIsBoundary(s))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,i){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(i>0){const s=e+i;if(this._ModifiedIsBoundary(s-1)||this._ModifiedIsBoundary(s))return!0}return!1}_boundaryScore(e,i,s,h){const a=this._OriginalRegionIsBoundary(e,i)?1:0,o=this._ModifiedRegionIsBoundary(s,h)?1:0;return a+o}ConcatenateChanges(e,i){let s=[];if(e.length===0||i.length===0)return i.length>0?i:e;if(this.ChangesOverlap(e[e.length-1],i[0],s)){const h=new Array(e.length+i.length-1);return A1.Copy(e,0,h,0,e.length-1),h[e.length-1]=s[0],A1.Copy(i,1,h,e.length,i.length-1),h}else{const h=new Array(e.length+i.length);return A1.Copy(e,0,h,0,e.length),A1.Copy(i,0,h,e.length,i.length),h}}ChangesOverlap(e,i,s){if(_1.Assert(e.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),_1.Assert(e.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=i.originalStart||e.modifiedStart+e.modifiedLength>=i.modifiedStart){const h=e.originalStart;let a=e.originalLength;const o=e.modifiedStart;let r=e.modifiedLength;return e.originalStart+e.originalLength>=i.originalStart&&(a=i.originalStart+i.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=i.modifiedStart&&(r=i.modifiedStart+i.modifiedLength-e.modifiedStart),s[0]=new i0(h,a,o,r),!0}else return s[0]=null,!1}ClipDiagonalBound(e,i,s,h){if(e>=0&&e=N6&&n<=d6||n>=l6&&n<=m6}function a7(n,e,i,s){let h="",a=0,o=-1,r=0,E=0;for(let u=0;u<=n.length;++u){if(u2){const T=h.lastIndexOf(i);T===-1?(h="",a=0):(h=h.slice(0,T),a=h.length-1-h.lastIndexOf(i)),o=u,r=0;continue}else if(h.length!==0){h="",a=0,o=u,r=0;continue}}e&&(h+=h.length>0?`${i}..`:"..",a=2)}else h.length>0?h+=`${i}${n.slice(o+1,u)}`:h=n.slice(o+1,u),a=u-o-1;o=u,r=0}else E===n0&&r!==-1?++r:r=-1}return h}function p5(n,e){if(e===null||typeof e!="object")throw new m5("pathObject","Object",e);const i=e.dir||e.root,s=e.base||`${e.name||""}${e.ext||""}`;return i?i===e.root?`${i}${s}`:`${i}${n}${s}`:s}const Vt={resolve(...n){let e="",i="",s=!1;for(let h=n.length-1;h>=-1;h--){let a;if(h>=0){if(a=n[h],Tt(a,"path"),a.length===0)continue}else e.length===0?a=Eh():(a=C6[`=${e}`]||Eh(),(a===void 0||a.slice(0,2).toLowerCase()!==e.toLowerCase()&&a.charCodeAt(2)===Zt)&&(a=`${e}\\`));const o=a.length;let r=0,E="",u=!1;const T=a.charCodeAt(0);if(o===1)Y(T)&&(r=1,u=!0);else if(Y(T))if(u=!0,Y(a.charCodeAt(1))){let _=2,A=_;for(;_2&&Y(a.charCodeAt(2))&&(u=!0,r=3));if(E.length>0)if(e.length>0){if(E.toLowerCase()!==e.toLowerCase())continue}else e=E;if(s){if(e.length>0)break}else if(i=`${a.slice(r)}\\${i}`,s=u,u&&e.length>0)break}return i=a7(i,!s,"\\",Y),s?`${e}\\${i}`:`${e}${i}`||"."},normalize(n){Tt(n,"path");const e=n.length;if(e===0)return".";let i=0,s,h=!1;const a=n.charCodeAt(0);if(e===1)return uh(a)?"\\":n;if(Y(a))if(h=!0,Y(n.charCodeAt(1))){let r=2,E=r;for(;r2&&Y(n.charCodeAt(2))&&(h=!0,i=3));let o=i0&&Y(n.charCodeAt(e-1))&&(o+="\\"),s===void 0?h?`\\${o}`:o:h?`${s}\\${o}`:`${s}${o}`},isAbsolute(n){Tt(n,"path");const e=n.length;if(e===0)return!1;const i=n.charCodeAt(0);return Y(i)||e>2&&a0(i)&&n.charCodeAt(1)===h0&&Y(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,i;for(let a=0;a0&&(e===void 0?e=i=o:e+=`\\${o}`)}if(e===void 0)return".";let s=!0,h=0;if(typeof i=="string"&&Y(i.charCodeAt(0))){++h;const a=i.length;a>1&&Y(i.charCodeAt(1))&&(++h,a>2&&(Y(i.charCodeAt(2))?++h:s=!1))}if(s){for(;h=2&&(e=`\\${e.slice(h)}`)}return Vt.normalize(e)},relative(n,e){if(Tt(n,"from"),Tt(e,"to"),n===e)return"";const i=Vt.resolve(n),s=Vt.resolve(e);if(i===s||(n=i.toLowerCase(),e=s.toLowerCase(),n===e))return"";let h=0;for(;hh&&n.charCodeAt(a-1)===Zt;)a--;const o=a-h;let r=0;for(;rr&&e.charCodeAt(E-1)===Zt;)E--;const u=E-r,T=oT){if(e.charCodeAt(r+A)===Zt)return s.slice(r+A+1);if(A===2)return s.slice(r+A)}o>T&&(n.charCodeAt(h+A)===Zt?_=A:A===2&&(_=3)),_===-1&&(_=0)}let N="";for(A=h+_+1;A<=a;++A)(A===a||n.charCodeAt(A)===Zt)&&(N+=N.length===0?"..":"\\..");return r+=_,N.length>0?`${N}${s.slice(r,E)}`:(s.charCodeAt(r)===Zt&&++r,s.slice(r,E))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";const e=Vt.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===Zt){if(e.charCodeAt(1)===Zt){const i=e.charCodeAt(2);if(i!==p6&&i!==n0)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(a0(e.charCodeAt(0))&&e.charCodeAt(1)===h0&&e.charCodeAt(2)===Zt)return`\\\\?\\${e}`;return n},dirname(n){Tt(n,"path");const e=n.length;if(e===0)return".";let i=-1,s=0;const h=n.charCodeAt(0);if(e===1)return Y(h)?n:".";if(Y(h)){if(i=s=1,Y(n.charCodeAt(1))){let r=2,E=r;for(;r2&&Y(n.charCodeAt(2))?3:2,s=i);let a=-1,o=!0;for(let r=e-1;r>=s;--r)if(Y(n.charCodeAt(r))){if(!o){a=r;break}}else o=!1;if(a===-1){if(i===-1)return".";a=i}return n.slice(0,a)},basename(n,e){e!==void 0&&Tt(e,"ext"),Tt(n,"path");let i=0,s=-1,h=!0,a;if(n.length>=2&&a0(n.charCodeAt(0))&&n.charCodeAt(1)===h0&&(i=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,r=-1;for(a=n.length-1;a>=i;--a){const E=n.charCodeAt(a);if(Y(E)){if(!h){i=a+1;break}}else r===-1&&(h=!1,r=a+1),o>=0&&(E===e.charCodeAt(o)?--o===-1&&(s=a):(o=-1,s=r))}return i===s?s=r:s===-1&&(s=n.length),n.slice(i,s)}for(a=n.length-1;a>=i;--a)if(Y(n.charCodeAt(a))){if(!h){i=a+1;break}}else s===-1&&(h=!1,s=a+1);return s===-1?"":n.slice(i,s)},extname(n){Tt(n,"path");let e=0,i=-1,s=0,h=-1,a=!0,o=0;n.length>=2&&n.charCodeAt(1)===h0&&a0(n.charCodeAt(0))&&(e=s=2);for(let r=n.length-1;r>=e;--r){const E=n.charCodeAt(r);if(Y(E)){if(!a){s=r+1;break}continue}h===-1&&(a=!1,h=r+1),E===n0?i===-1?i=r:o!==1&&(o=1):i!==-1&&(o=-1)}return i===-1||h===-1||o===0||o===1&&i===h-1&&i===s+1?"":n.slice(i,h)},format:p5.bind(null,"\\"),parse(n){Tt(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const i=n.length;let s=0,h=n.charCodeAt(0);if(i===1)return Y(h)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(Y(h)){if(s=1,Y(n.charCodeAt(1))){let _=2,A=_;for(;_0&&(e.root=n.slice(0,s));let a=-1,o=s,r=-1,E=!0,u=n.length-1,T=0;for(;u>=s;--u){if(h=n.charCodeAt(u),Y(h)){if(!E){o=u+1;break}continue}r===-1&&(E=!1,r=u+1),h===n0?a===-1?a=u:T!==1&&(T=1):a!==-1&&(T=-1)}return r!==-1&&(a===-1||T===0||T===1&&a===r-1&&a===o+1?e.base=e.name=n.slice(o,r):(e.name=n.slice(o,a),e.base=n.slice(o,r),e.ext=n.slice(a,r))),o>0&&o!==s?e.dir=n.slice(0,o-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},Jt={resolve(...n){let e="",i=!1;for(let s=n.length-1;s>=-1&&!i;s--){const h=s>=0?n[s]:Eh();Tt(h,"path"),h.length!==0&&(e=`${h}/${e}`,i=h.charCodeAt(0)===pt)}return e=a7(e,!i,"/",uh),i?`/${e}`:e.length>0?e:"."},normalize(n){if(Tt(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===pt,i=n.charCodeAt(n.length-1)===pt;return n=a7(n,!e,"/",uh),n.length===0?e?"/":i?"./":".":(i&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return Tt(n,"path"),n.length>0&&n.charCodeAt(0)===pt},join(...n){if(n.length===0)return".";let e;for(let i=0;i0&&(e===void 0?e=s:e+=`/${s}`)}return e===void 0?".":Jt.normalize(e)},relative(n,e){if(Tt(n,"from"),Tt(e,"to"),n===e||(n=Jt.resolve(n),e=Jt.resolve(e),n===e))return"";const i=1,s=n.length,h=s-i,a=1,o=e.length-a,r=hr){if(e.charCodeAt(a+u)===pt)return e.slice(a+u+1);if(u===0)return e.slice(a+u)}else h>r&&(n.charCodeAt(i+u)===pt?E=u:u===0&&(E=0));let T="";for(u=i+E+1;u<=s;++u)(u===s||n.charCodeAt(u)===pt)&&(T+=T.length===0?"..":"/..");return`${T}${e.slice(a+E)}`},toNamespacedPath(n){return n},dirname(n){if(Tt(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===pt;let i=-1,s=!0;for(let h=n.length-1;h>=1;--h)if(n.charCodeAt(h)===pt){if(!s){i=h;break}}else s=!1;return i===-1?e?"/":".":e&&i===1?"//":n.slice(0,i)},basename(n,e){e!==void 0&&Tt(e,"ext"),Tt(n,"path");let i=0,s=-1,h=!0,a;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,r=-1;for(a=n.length-1;a>=0;--a){const E=n.charCodeAt(a);if(E===pt){if(!h){i=a+1;break}}else r===-1&&(h=!1,r=a+1),o>=0&&(E===e.charCodeAt(o)?--o===-1&&(s=a):(o=-1,s=r))}return i===s?s=r:s===-1&&(s=n.length),n.slice(i,s)}for(a=n.length-1;a>=0;--a)if(n.charCodeAt(a)===pt){if(!h){i=a+1;break}}else s===-1&&(h=!1,s=a+1);return s===-1?"":n.slice(i,s)},extname(n){Tt(n,"path");let e=-1,i=0,s=-1,h=!0,a=0;for(let o=n.length-1;o>=0;--o){const r=n.charCodeAt(o);if(r===pt){if(!h){i=o+1;break}continue}s===-1&&(h=!1,s=o+1),r===n0?e===-1?e=o:a!==1&&(a=1):e!==-1&&(a=-1)}return e===-1||s===-1||a===0||a===1&&e===s-1&&e===i+1?"":n.slice(e,s)},format:p5.bind(null,"/"),parse(n){Tt(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const i=n.charCodeAt(0)===pt;let s;i?(e.root="/",s=1):s=0;let h=-1,a=0,o=-1,r=!0,E=n.length-1,u=0;for(;E>=s;--E){const T=n.charCodeAt(E);if(T===pt){if(!r){a=E+1;break}continue}o===-1&&(r=!1,o=E+1),T===n0?h===-1?h=E:u!==1&&(u=1):h!==-1&&(u=-1)}if(o!==-1){const T=a===0&&i?1:a;h===-1||u===0||u===1&&h===o-1&&h===a+1?e.base=e.name=n.slice(T,o):(e.name=n.slice(T,h),e.base=n.slice(T,o),e.ext=n.slice(h,o))}return a>0?e.dir=n.slice(0,a-1):i&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};Jt.win32=Vt.win32=Vt,Jt.posix=Vt.posix=Jt,k0==="win32"?Vt.normalize:Jt.normalize,k0==="win32"?Vt.resolve:Jt.resolve,k0==="win32"?Vt.relative:Jt.relative,k0==="win32"?Vt.dirname:Jt.dirname,k0==="win32"?Vt.basename:Jt.basename,k0==="win32"?Vt.extname:Jt.extname,k0==="win32"?Vt.sep:Jt.sep;const x6=/^\w[\w\d+.-]*$/,f6=/^\//,g6=/^\/\//;function x5(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!x6.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!f6.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(g6.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function U6(n,e){return!n&&!e?"file":n}function D6(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==We&&(e=We+e):e=We;break}return e}const st="",We="/",k6=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class S0{constructor(e,i,s,h,a,o=!1){typeof e=="object"?(this.scheme=e.scheme||st,this.authority=e.authority||st,this.path=e.path||st,this.query=e.query||st,this.fragment=e.fragment||st):(this.scheme=U6(e,o),this.authority=i||st,this.path=D6(this.scheme,s||st),this.query=h||st,this.fragment=a||st,x5(this,o))}static isUri(e){return e instanceof S0?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}get fsPath(){return Kh(this,!1)}with(e){if(!e)return this;let{scheme:i,authority:s,path:h,query:a,fragment:o}=e;return i===void 0?i=this.scheme:i===null&&(i=st),s===void 0?s=this.authority:s===null&&(s=st),h===void 0?h=this.path:h===null&&(h=st),a===void 0?a=this.query:a===null&&(a=st),o===void 0?o=this.fragment:o===null&&(o=st),i===this.scheme&&s===this.authority&&h===this.path&&a===this.query&&o===this.fragment?this:new L1(i,s,h,a,o)}static parse(e,i=!1){const s=k6.exec(e);return s?new L1(s[2]||st,c7(s[4]||st),c7(s[5]||st),c7(s[7]||st),c7(s[9]||st),i):new L1(st,st,st,st,st)}static file(e){let i=st;if(ii&&(e=e.replace(/\\/g,We)),e[0]===We&&e[1]===We){const s=e.indexOf(We,2);s===-1?(i=e.substring(2),e=We):(i=e.substring(2,s),e=e.substring(s)||We)}return new L1("file",i,e,st,st)}static from(e){const i=new L1(e.scheme,e.authority,e.path,e.query,e.fragment);return x5(i,!0),i}static joinPath(e,...i){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let s;return ii&&e.scheme==="file"?s=S0.file(Vt.join(Kh(e,!0),...i)).path:s=Jt.join(e.path,...i),e.with({path:s})}toString(e=!1){return Wh(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof S0)return e;{const i=new L1(e);return i._formatted=e.external,i._fsPath=e._sep===f5?e.fsPath:null,i}}else return e}}const f5=ii?1:void 0;class L1 extends S0{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Kh(this,!1)),this._fsPath}toString(e=!1){return e?Wh(this,!0):(this._formatted||(this._formatted=Wh(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f5),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const g5={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function U5(n,e){let i,s=-1;for(let h=0;h=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||a===45||a===46||a===95||a===126||e&&a===47)s!==-1&&(i+=encodeURIComponent(n.substring(s,h)),s=-1),i!==void 0&&(i+=n.charAt(h));else{i===void 0&&(i=n.substr(0,h));const o=g5[a];o!==void 0?(s!==-1&&(i+=encodeURIComponent(n.substring(s,h)),s=-1),i+=o):s===-1&&(s=h)}}return s!==-1&&(i+=encodeURIComponent(n.substring(s))),i!==void 0?i:n}function S6(n){let e;for(let i=0;i1&&n.scheme==="file"?i=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?i=n.path.substr(1):i=n.path[1].toLowerCase()+n.path.substr(2):i=n.path,ii&&(i=i.replace(/\//g,"\\")),i}function Wh(n,e){const i=e?S6:U5;let s="",{scheme:h,authority:a,path:o,query:r,fragment:E}=n;if(h&&(s+=h,s+=":"),(a||h==="file")&&(s+=We,s+=We),a){let u=a.indexOf("@");if(u!==-1){const T=a.substr(0,u);a=a.substr(u+1),u=T.indexOf(":"),u===-1?s+=i(T,!1):(s+=i(T.substr(0,u),!1),s+=":",s+=i(T.substr(u+1),!1)),s+="@"}a=a.toLowerCase(),u=a.indexOf(":"),u===-1?s+=i(a,!1):(s+=i(a.substr(0,u),!1),s+=a.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}s+=i(o,!0)}return r&&(s+="?",s+=i(r,!1)),E&&(s+="#",s+=e?E:U5(E,!1)),s}function D5(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+D5(n.substr(3)):n}}const k5=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function c7(n){return n.match(k5)?n.replace(k5,e=>D5(e)):n}class zt{constructor(e,i){this.lineNumber=e,this.column=i}with(e=this.lineNumber,i=this.column){return e===this.lineNumber&&i===this.column?this:new zt(e,i)}delta(e=0,i=0){return this.with(this.lineNumber+e,this.column+i)}equals(e){return zt.equals(this,e)}static equals(e,i){return!e&&!i?!0:!!e&&!!i&&e.lineNumber===i.lineNumber&&e.column===i.column}isBefore(e){return zt.isBefore(this,e)}static isBefore(e,i){return e.lineNumbers||e===s&&i>h?(this.startLineNumber=s,this.startColumn=h,this.endLineNumber=e,this.endColumn=i):(this.startLineNumber=e,this.startColumn=i,this.endLineNumber=s,this.endColumn=h)}isEmpty(){return ot.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return ot.containsPosition(this,e)}static containsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.columne.endColumn)}static strictContainsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.column<=e.startColumn||i.lineNumber===e.endLineNumber&&i.column>=e.endColumn)}containsRange(e){return ot.containsRange(this,e)}static containsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumne.endColumn)}strictContainsRange(e){return ot.strictContainsRange(this,e)}static strictContainsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumn<=e.startColumn||i.endLineNumber===e.endLineNumber&&i.endColumn>=e.endColumn)}plusRange(e){return ot.plusRange(this,e)}static plusRange(e,i){let s,h,a,o;return i.startLineNumbere.endLineNumber?(a=i.endLineNumber,o=i.endColumn):i.endLineNumber===e.endLineNumber?(a=i.endLineNumber,o=Math.max(i.endColumn,e.endColumn)):(a=e.endLineNumber,o=e.endColumn),new ot(s,h,a,o)}intersectRanges(e){return ot.intersectRanges(this,e)}static intersectRanges(e,i){let s=e.startLineNumber,h=e.startColumn,a=e.endLineNumber,o=e.endColumn,r=i.startLineNumber,E=i.startColumn,u=i.endLineNumber,T=i.endColumn;return su?(a=u,o=T):a===u&&(o=Math.min(o,T)),s>a||s===a&&h>o?null:new ot(s,h,a,o)}equalsRange(e){return ot.equalsRange(this,e)}static equalsRange(e,i){return!!e&&!!i&&e.startLineNumber===i.startLineNumber&&e.startColumn===i.startColumn&&e.endLineNumber===i.endLineNumber&&e.endColumn===i.endColumn}getEndPosition(){return ot.getEndPosition(this)}static getEndPosition(e){return new zt(e.endLineNumber,e.endColumn)}getStartPosition(){return ot.getStartPosition(this)}static getStartPosition(e){return new zt(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,i){return new ot(this.startLineNumber,this.startColumn,e,i)}setStartPosition(e,i){return new ot(e,i,this.endLineNumber,this.endColumn)}collapseToStart(){return ot.collapseToStart(this)}static collapseToStart(e){return new ot(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,i=e){return new ot(e.lineNumber,e.column,i.lineNumber,i.column)}static lift(e){return e?new ot(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,i){return!(e.endLineNumbere.startLineNumber}}const H6=3;function S5(n,e,i,s){return new s0(n,e,i).ComputeDiff(s)}class H5{constructor(e){const i=[],s=[];for(let h=0,a=e.length;h0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&a()){const N=s.createCharSequence(e,i.originalStart,i.originalStart+i.originalLength-1),x=h.createCharSequence(e,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let D=S5(N,x,a,!0).changes;r&&(D=F6(D)),A=[];for(let k=0,b=D.length;k1&&D>1;){const k=A.charCodeAt(x-2),b=N.charCodeAt(D-2);if(k!==b)break;x--,D--}(x>1||D>1)&&this._pushTrimWhitespaceCharChange(h,a+1,1,x,o+1,1,D)}{let x=Th(A,1),D=Th(N,1);const k=A.length+1,b=N.length+1;for(;x!0;const e=Date.now();return()=>Date.now()-e255?255:n|0}function O1(n){return n<0?0:n>4294967295?4294967295:n|0}class b6{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,i){e=O1(e);const s=this.values,h=this.prefixSum,a=i.length;return a===0?!1:(this.values=new Uint32Array(s.length+a),this.values.set(s.subarray(0,e),0),this.values.set(s.subarray(e),e+a),this.values.set(i,e),e-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,i){return e=O1(e),i=O1(i),this.values[e]===i?!1:(this.values[e]=i,e-1=s.length)return!1;let a=s.length-e;return i>=a&&(i=a),i===0?!1:(this.values=new Uint32Array(s.length-i),this.values.set(s.subarray(0,e),0),this.values.set(s.subarray(e+i),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=O1(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let i=this.prefixSumValidIndex[0]+1;i===0&&(this.prefixSum[0]=this.values[0],i++),e>=this.values.length&&(e=this.values.length-1);for(let s=i;s<=e;s++)this.prefixSum[s]=this.prefixSum[s-1]+this.values[s];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let i=0,s=this.values.length-1,h=0,a=0,o=0;for(;i<=s;)if(h=i+(s-i)/2|0,a=this.prefixSum[h],o=a-this.values[h],e=a)i=h+1;else break;return new w6(h,e-o)}}class w6{constructor(e,i){this.index=e,this.remainder=i,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=i}}class v6{constructor(e,i,s,h){this._uri=e,this._lines=i,this._eol=s,this._versionId=h,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const i=e.changes;for(const s of i)this._acceptDeleteRange(s.range),this._acceptInsertText(new zt(s.range.startLineNumber,s.range.startColumn),s.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,i=this._lines.length,s=new Uint32Array(i);for(let h=0;h/?";function V6(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const i of Y6)n.indexOf(i)>=0||(e+="\\"+i);return e+="\\s]+)",new RegExp(e,"g")}const X6=V6();function Q6(n){let e=X6;if(n&&n instanceof RegExp)if(n.global)e=n;else{let i="g";n.ignoreCase&&(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),e=new RegExp(n.source,i)}return e.lastIndex=0,e}const Z6={maxLen:1e3,windowSize:15,timeBudget:150};function G5(n,e,i,s,h=Z6){if(i.length>h.maxLen){let u=n-h.maxLen/2;return u<0?u=0:s+=u,i=i.substring(u,n+h.maxLen/2),G5(n,e,i,s,h)}const a=Date.now(),o=n-1-s;let r=-1,E=null;for(let u=1;!(Date.now()-a>=h.timeBudget);u++){const T=o-h.windowSize*u;e.lastIndex=Math.max(0,T);const _=J6(e,i,o,r);if(!_&&E||(E=_,T<=0))break;r=T}if(E){let u={word:E[0],startColumn:s+1+E.index,endColumn:s+1+E.index+E[0].length};return e.lastIndex=0,u}return null}function J6(n,e,i,s){let h;for(;h=n.exec(e);){const a=h.index||0;if(a<=i&&n.lastIndex>=i)return h;if(s>0&&a>s)return null}return null}class _h{constructor(e){let i=F5(e);this._defaultValue=i,this._asciiMap=_h._createAsciiMap(i),this._map=new Map}static _createAsciiMap(e){let i=new Uint8Array(256);for(let s=0;s<256;s++)i[s]=e;return i}set(e,i){let s=F5(i);e>=0&&e<256?this._asciiMap[e]=s:this._map.set(e,s)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class z6{constructor(e,i,s){const h=new Uint8Array(e*i);for(let a=0,o=e*i;ai&&(i=E),r>s&&(s=r),u>s&&(s=u)}i++,s++;let h=new z6(s,i,0);for(let a=0,o=e.length;a=this._maxCharCode?0:this._states.get(e,i)}}let Ah=null;function $6(){return Ah===null&&(Ah=new j6([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Ah}let hi=null;function M6(){if(hi===null){hi=new _h(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;ih);if(h>0){const r=i.charCodeAt(h-1),E=i.charCodeAt(o);(r===40&&E===41||r===91&&E===93||r===123&&E===125)&&o--}return{range:{startLineNumber:s,startColumn:h+1,endLineNumber:s,endColumn:o+2},url:i.substring(h,o+1)}}static computeLinks(e,i=$6()){const s=M6();let h=[];for(let a=1,o=e.getLineCount();a<=o;a++){const r=e.getLineContent(a),E=r.length;let u=0,T=0,_=0,A=1,N=!1,x=!1,D=!1,k=!1;for(;u=0?(h+=s?1:-1,h<0?h=e.length-1:h%=e.length,e[h]):null}}Ih.INSTANCE=new Ih;const b5=Object.freeze(function(n,e){const i=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(i)}}});var r7;(function(n){function e(i){return i===n.None||i===n.Cancelled||i instanceof E7?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}n.isCancellationToken=e,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ch.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:b5})})(r7||(r7={}));class E7{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?b5:(this._emitter||(this._emitter=new e0),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class y6{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new E7),this._token}cancel(){this._token?this._token instanceof E7&&this._token.cancel():this._token=r7.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof E7&&this._token.dispose():this._token=r7.None}}class Lh{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,i){this._keyCodeToStr[e]=i,this._strToKeyCode[i.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const u7=new Lh,Oh=new Lh,Ch=new Lh,q6=new Array(230),tr=Object.create(null),er=Object.create(null);(function(){const n="",e=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[0,1,1,"Hyper",0,n,0,n,n,n],[0,1,2,"Super",0,n,0,n,n,n],[0,1,3,"Fn",0,n,0,n,n,n],[0,1,4,"FnLock",0,n,0,n,n,n],[0,1,5,"Suspend",0,n,0,n,n,n],[0,1,6,"Resume",0,n,0,n,n,n],[0,1,7,"Turbo",0,n,0,n,n,n],[0,1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[0,1,9,"WakeUp",0,n,0,n,n,n],[31,0,10,"KeyA",31,"A",65,"VK_A",n,n],[32,0,11,"KeyB",32,"B",66,"VK_B",n,n],[33,0,12,"KeyC",33,"C",67,"VK_C",n,n],[34,0,13,"KeyD",34,"D",68,"VK_D",n,n],[35,0,14,"KeyE",35,"E",69,"VK_E",n,n],[36,0,15,"KeyF",36,"F",70,"VK_F",n,n],[37,0,16,"KeyG",37,"G",71,"VK_G",n,n],[38,0,17,"KeyH",38,"H",72,"VK_H",n,n],[39,0,18,"KeyI",39,"I",73,"VK_I",n,n],[40,0,19,"KeyJ",40,"J",74,"VK_J",n,n],[41,0,20,"KeyK",41,"K",75,"VK_K",n,n],[42,0,21,"KeyL",42,"L",76,"VK_L",n,n],[43,0,22,"KeyM",43,"M",77,"VK_M",n,n],[44,0,23,"KeyN",44,"N",78,"VK_N",n,n],[45,0,24,"KeyO",45,"O",79,"VK_O",n,n],[46,0,25,"KeyP",46,"P",80,"VK_P",n,n],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[48,0,27,"KeyR",48,"R",82,"VK_R",n,n],[49,0,28,"KeyS",49,"S",83,"VK_S",n,n],[50,0,29,"KeyT",50,"T",84,"VK_T",n,n],[51,0,30,"KeyU",51,"U",85,"VK_U",n,n],[52,0,31,"KeyV",52,"V",86,"VK_V",n,n],[53,0,32,"KeyW",53,"W",87,"VK_W",n,n],[54,0,33,"KeyX",54,"X",88,"VK_X",n,n],[55,0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[22,0,36,"Digit1",22,"1",49,"VK_1",n,n],[23,0,37,"Digit2",23,"2",50,"VK_2",n,n],[24,0,38,"Digit3",24,"3",51,"VK_3",n,n],[25,0,39,"Digit4",25,"4",52,"VK_4",n,n],[26,0,40,"Digit5",26,"5",53,"VK_5",n,n],[27,0,41,"Digit6",27,"6",54,"VK_6",n,n],[28,0,42,"Digit7",28,"7",55,"VK_7",n,n],[29,0,43,"Digit8",29,"8",56,"VK_8",n,n],[30,0,44,"Digit9",30,"9",57,"VK_9",n,n],[21,0,45,"Digit0",21,"0",48,"VK_0",n,n],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[10,1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,n,0,n,n,n],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[59,1,64,"F1",59,"F1",112,"VK_F1",n,n],[60,1,65,"F2",60,"F2",113,"VK_F2",n,n],[61,1,66,"F3",61,"F3",114,"VK_F3",n,n],[62,1,67,"F4",62,"F4",115,"VK_F4",n,n],[63,1,68,"F5",63,"F5",116,"VK_F5",n,n],[64,1,69,"F6",64,"F6",117,"VK_F6",n,n],[65,1,70,"F7",65,"F7",118,"VK_F7",n,n],[66,1,71,"F8",66,"F8",119,"VK_F8",n,n],[67,1,72,"F9",67,"F9",120,"VK_F9",n,n],[68,1,73,"F10",68,"F10",121,"VK_F10",n,n],[69,1,74,"F11",69,"F11",122,"VK_F11",n,n],[70,1,75,"F12",70,"F12",123,"VK_F12",n,n],[0,1,76,"PrintScreen",0,n,0,n,n,n],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",n,n],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[14,1,80,"Home",14,"Home",36,"VK_HOME",n,n],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[13,1,83,"End",13,"End",35,"VK_END",n,n],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",n,n],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",n,n],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",n,n],[3,1,94,"NumpadEnter",3,n,0,n,n,n],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",n,n],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",n,n],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",n,n],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",n,n],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",n,n],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",n,n],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",n,n],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",n,n],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",n,n],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",n,n],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",n,n],[58,1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[0,1,108,"Power",0,n,0,n,n,n],[0,1,109,"NumpadEqual",0,n,0,n,n,n],[71,1,110,"F13",71,"F13",124,"VK_F13",n,n],[72,1,111,"F14",72,"F14",125,"VK_F14",n,n],[73,1,112,"F15",73,"F15",126,"VK_F15",n,n],[74,1,113,"F16",74,"F16",127,"VK_F16",n,n],[75,1,114,"F17",75,"F17",128,"VK_F17",n,n],[76,1,115,"F18",76,"F18",129,"VK_F18",n,n],[77,1,116,"F19",77,"F19",130,"VK_F19",n,n],[0,1,117,"F20",0,n,0,"VK_F20",n,n],[0,1,118,"F21",0,n,0,"VK_F21",n,n],[0,1,119,"F22",0,n,0,"VK_F22",n,n],[0,1,120,"F23",0,n,0,"VK_F23",n,n],[0,1,121,"F24",0,n,0,"VK_F24",n,n],[0,1,122,"Open",0,n,0,n,n,n],[0,1,123,"Help",0,n,0,n,n,n],[0,1,124,"Select",0,n,0,n,n,n],[0,1,125,"Again",0,n,0,n,n,n],[0,1,126,"Undo",0,n,0,n,n,n],[0,1,127,"Cut",0,n,0,n,n,n],[0,1,128,"Copy",0,n,0,n,n,n],[0,1,129,"Paste",0,n,0,n,n,n],[0,1,130,"Find",0,n,0,n,n,n],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",n,n],[0,1,136,"KanaMode",0,n,0,n,n,n],[0,0,137,"IntlYen",0,n,0,n,n,n],[0,1,138,"Convert",0,n,0,n,n,n],[0,1,139,"NonConvert",0,n,0,n,n,n],[0,1,140,"Lang1",0,n,0,n,n,n],[0,1,141,"Lang2",0,n,0,n,n,n],[0,1,142,"Lang3",0,n,0,n,n,n],[0,1,143,"Lang4",0,n,0,n,n,n],[0,1,144,"Lang5",0,n,0,n,n,n],[0,1,145,"Abort",0,n,0,n,n,n],[0,1,146,"Props",0,n,0,n,n,n],[0,1,147,"NumpadParenLeft",0,n,0,n,n,n],[0,1,148,"NumpadParenRight",0,n,0,n,n,n],[0,1,149,"NumpadBackspace",0,n,0,n,n,n],[0,1,150,"NumpadMemoryStore",0,n,0,n,n,n],[0,1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[0,1,152,"NumpadMemoryClear",0,n,0,n,n,n],[0,1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[0,1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[0,1,155,"NumpadClear",0,n,0,n,n,n],[0,1,156,"NumpadClearEntry",0,n,0,n,n,n],[5,1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[4,1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[6,1,0,n,6,"Alt",18,"VK_MENU",n,n],[57,1,0,n,57,"Meta",0,"VK_COMMAND",n,n],[5,1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[4,1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[6,1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[57,1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[5,1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[4,1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[6,1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[57,1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[0,1,165,"BrightnessUp",0,n,0,n,n,n],[0,1,166,"BrightnessDown",0,n,0,n,n,n],[0,1,167,"MediaPlay",0,n,0,n,n,n],[0,1,168,"MediaRecord",0,n,0,n,n,n],[0,1,169,"MediaFastForward",0,n,0,n,n,n],[0,1,170,"MediaRewind",0,n,0,n,n,n],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",n,n],[0,1,174,"Eject",0,n,0,n,n,n],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[0,1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[0,1,180,"SelectTask",0,n,0,n,n,n],[0,1,181,"LaunchScreenSaver",0,n,0,n,n,n],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[0,1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[0,1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[0,1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[0,1,189,"ZoomToggle",0,n,0,n,n,n],[0,1,190,"MailReply",0,n,0,n,n,n],[0,1,191,"MailForward",0,n,0,n,n,n],[0,1,192,"MailSend",0,n,0,n,n,n],[109,1,0,n,109,"KeyInComposition",229,n,n,n],[111,1,0,n,111,"ABNT_C2",194,"VK_ABNT_C2",n,n],[91,1,0,n,91,"OEM_8",223,"VK_OEM_8",n,n],[0,1,0,n,0,n,0,"VK_CLEAR",n,n],[0,1,0,n,0,n,0,"VK_KANA",n,n],[0,1,0,n,0,n,0,"VK_HANGUL",n,n],[0,1,0,n,0,n,0,"VK_JUNJA",n,n],[0,1,0,n,0,n,0,"VK_FINAL",n,n],[0,1,0,n,0,n,0,"VK_HANJA",n,n],[0,1,0,n,0,n,0,"VK_KANJI",n,n],[0,1,0,n,0,n,0,"VK_CONVERT",n,n],[0,1,0,n,0,n,0,"VK_NONCONVERT",n,n],[0,1,0,n,0,n,0,"VK_ACCEPT",n,n],[0,1,0,n,0,n,0,"VK_MODECHANGE",n,n],[0,1,0,n,0,n,0,"VK_SELECT",n,n],[0,1,0,n,0,n,0,"VK_PRINT",n,n],[0,1,0,n,0,n,0,"VK_EXECUTE",n,n],[0,1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[0,1,0,n,0,n,0,"VK_HELP",n,n],[0,1,0,n,0,n,0,"VK_APPS",n,n],[0,1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[0,1,0,n,0,n,0,"VK_PACKET",n,n],[0,1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_ATTN",n,n],[0,1,0,n,0,n,0,"VK_CRSEL",n,n],[0,1,0,n,0,n,0,"VK_EXSEL",n,n],[0,1,0,n,0,n,0,"VK_EREOF",n,n],[0,1,0,n,0,n,0,"VK_PLAY",n,n],[0,1,0,n,0,n,0,"VK_ZOOM",n,n],[0,1,0,n,0,n,0,"VK_NONAME",n,n],[0,1,0,n,0,n,0,"VK_PA1",n,n],[0,1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]];let i=[],s=[];for(const h of e){const[a,o,r,E,u,T,_,A,N,x]=h;if(s[r]||(s[r]=!0,tr[E]=r,er[E.toLowerCase()]=r),!i[u]){if(i[u]=!0,!T)throw new Error(`String representation missing for key code ${u} around scan code ${E}`);u7.define(u,T),Oh.define(u,N||T),Ch.define(u,x||N||T)}_&&(q6[_]=u)}})();var w5;(function(n){function e(r){return u7.keyCodeToStr(r)}n.toString=e;function i(r){return u7.strToKeyCode(r)}n.fromString=i;function s(r){return Oh.keyCodeToStr(r)}n.toUserSettingsUS=s;function h(r){return Ch.keyCodeToStr(r)}n.toUserSettingsGeneral=h;function a(r){return Oh.strToKeyCode(r)||Ch.strToKeyCode(r)}n.fromUserSettings=a;function o(r){if(r>=93&&r<=108)return null;switch(r){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return u7.keyCodeToStr(r)}n.toElectronAccelerator=o})(w5||(w5={}));function ir(n,e){const i=(e&65535)<<16>>>0;return(n|i)>>>0}class Mt extends ot{constructor(e,i,s,h){super(e,i,s,h),this.selectionStartLineNumber=e,this.selectionStartColumn=i,this.positionLineNumber=s,this.positionColumn=h}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return Mt.selectionsEqual(this,e)}static selectionsEqual(e,i){return e.selectionStartLineNumber===i.selectionStartLineNumber&&e.selectionStartColumn===i.selectionStartColumn&&e.positionLineNumber===i.positionLineNumber&&e.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,i){return this.getDirection()===0?new Mt(this.startLineNumber,this.startColumn,e,i):new Mt(e,i,this.startLineNumber,this.startColumn)}getPosition(){return new zt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new zt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,i){return this.getDirection()===0?new Mt(e,i,this.endLineNumber,this.endColumn):new Mt(this.endLineNumber,this.endColumn,e,i)}static fromPositions(e,i=e){return new Mt(e.lineNumber,e.column,i.lineNumber,i.column)}static fromRange(e,i){return i===0?new Mt(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Mt(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Mt(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,i){if(e&&!i||!e&&i)return!1;if(!e&&!i)return!0;if(e.length!==i.length)return!1;for(let s=0,h=e.length;s0){const o=e.charCodeAt(s);if(n.get(o)!==0)return!0}return!1}function ar(n,e,i,s,h){if(s+h===i)return!0;const a=e.charCodeAt(s+h);if(n.get(a)!==0||a===13||a===10)return!0;if(h>0){const o=e.charCodeAt(s+h-1);if(n.get(o)!==0)return!0}return!1}function cr(n,e,i,s,h){return hr(n,e,i,s,h)&&ar(n,e,i,s,h)}class or{constructor(e,i){this._wordSeparators=e,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const i=e.length;let s;do{if(this._prevMatchStartIndex+this._prevMatchLength===i||(s=this._searchRegex.exec(e),!s))return null;const h=s.index,a=s[0].length;if(h===this._prevMatchStartIndex&&a===this._prevMatchLength){if(a===0){E6(e,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=h,this._prevMatchLength=a,!this._wordSeparators||cr(this._wordSeparators,e,i,h,a))return s}while(s);return null}}class rr{static computeUnicodeHighlights(e,i,s){const h=s?s.startLineNumber:1,a=s?s.endLineNumber:e.getLineCount(),o=new O3(i),r=o.getCandidateCodePoints();let E;r==="allNonBasicAscii"?E=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):E=new RegExp(`${Er(Array.from(r))}`,"g");const u=new or(null,E),T=[];let _=!1,A,N=0,x=0,D=0;t:for(let k=h,b=a;k<=b;k++){const C=e.getLineContent(k),O=C.length;u.reset(0);do if(A=u.next(C),A){let p=A.index,f=A.index+A[0].length;if(p>0){const S=C.charCodeAt(p-1);rh(S)&&p--}if(f+1=S){_=!0;break t}T.push(new ot(k,p+1,k,f+1))}}while(A)}return{ranges:T,hasMore:_,ambiguousCharacterCount:N,invisibleCharacterCount:x,nonBasicAsciiCharacterCount:D}}static computeUnicodeHighlightReason(e,i){switch(new O3(i).shouldHighlightNonBasicASCII(e)){case 0:return null;case 2:return{kind:1};case 3:const a=Ke.getPrimaryConfusable(e.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(a)};case 1:return{kind:2}}}}function Er(n,e){return`[${n6(n.map(s=>String.fromCodePoint(s)).join(""))}]`}class O3{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const i of D0.codePoints)e.add(i);if(this.options.ambiguousCharacters)for(const i of Ke.getPrimaryConfusableCodePoints())e.add(i);for(const i of this.allowedCodePoints)e.delete(i);return e}shouldHighlightNonBasicASCII(e){const i=e.codePointAt(0);return this.allowedCodePoints.has(i)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(e===" "||e===` -`||e===" ")&&D0.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&Ke.isAmbiguous(i)?3:0}}var H0=function(n,e,i,s){function h(a){return a instanceof i?a:new i(function(o){o(a)})}return new(i||(i=Promise))(function(a,o){function r(T){try{u(s.next(T))}catch(_){o(_)}}function E(T){try{u(s.throw(T))}catch(_){o(_)}}function u(T){T.done?a(T.value):h(T.value).then(r,E)}u((s=s.apply(n,e||[])).next())})};class ur extends v6{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,i){let s=G5(e.column,Q6(i),this._lines[e.lineNumber-1],0);return s?new ot(e.lineNumber,s.startColumn,e.lineNumber,s.endColumn):null}words(e){const i=this._lines,s=this._wordenize.bind(this);let h=0,a="",o=0,r=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)i=this._lines.length,s=this._lines[i-1].length+1,h=!0;else{let a=this._lines[i-1].length+1;s<1?(s=1,h=!0):s>a&&(s=a,h=!0)}return h?{lineNumber:i,column:s}:e}}class C1{constructor(e,i){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(i=>e.push(this._models[i])),e}acceptNewModel(e){this._models[e.url]=new ur(S0.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,i){if(!this._models[e])return;this._models[e].onEvents(i)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,i,s){return H0(this,void 0,void 0,function*(){const h=this._getModel(e);return h?rr.computeUnicodeHighlights(h,i,s):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(e,i,s,h){return H0(this,void 0,void 0,function*(){const a=this._getModel(e),o=this._getModel(i);if(!a||!o)return null;const r=a.getLinesContent(),E=o.getLinesContent(),T=new G6(r,E,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:s,shouldMakePrettyDiff:!0,maxComputationTime:h}).computeDiff(),_=T.changes.length>0?!1:this._modelsAreIdentical(a,o);return{quitEarly:T.quitEarly,identical:_,changes:T.changes}})}_modelsAreIdentical(e,i){const s=e.getLineCount(),h=i.getLineCount();if(s!==h)return!1;for(let a=1;a<=s;a++){const o=e.getLineContent(a),r=i.getLineContent(a);if(o!==r)return!1}return!0}computeMoreMinimalEdits(e,i){return H0(this,void 0,void 0,function*(){const s=this._getModel(e);if(!s)return i;const h=[];let a;i=i.slice(0).sort((o,r)=>{if(o.range&&r.range)return ot.compareRangesUsingStarts(o.range,r.range);let E=o.range?0:1,u=r.range?0:1;return E-u});for(let{range:o,text:r,eol:E}of i){if(typeof E=="number"&&(a=E),ot.isEmpty(o)&&!r)continue;const u=s.getValueInRange(o);if(r=r.replace(/\r\n|\n|\r/g,s.eol),u===r)continue;if(Math.max(r.length,u.length)>C1._diffLimit){h.push({range:o,text:r});continue}const T=O6(u,r,!1),_=s.offsetAt(ot.lift(o).getStartPosition());for(const A of T){const N=s.positionAt(_+A.originalStart),x=s.positionAt(_+A.originalStart+A.originalLength),D={text:r.substr(A.modifiedStart,A.modifiedLength),range:{startLineNumber:N.lineNumber,startColumn:N.column,endLineNumber:x.lineNumber,endColumn:x.column}};s.getValueInRange(D.range)!==D.text&&h.push(D)}}return typeof a=="number"&&h.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),h})}computeLinks(e){return H0(this,void 0,void 0,function*(){let i=this._getModel(e);return i?P6(i):null})}textualSuggest(e,i,s,h){return H0(this,void 0,void 0,function*(){const a=new n7(!0),o=new RegExp(s,h),r=new Set;t:for(let E of e){const u=this._getModel(E);if(u){for(let T of u.words(o))if(!(T===i||!isNaN(Number(T)))&&(r.add(T),r.size>C1._suggestionsLimit))break t}}return{words:Array.from(r),duration:a.elapsed()}})}computeWordRanges(e,i,s,h){return H0(this,void 0,void 0,function*(){let a=this._getModel(e);if(!a)return Object.create(null);const o=new RegExp(s,h),r=Object.create(null);for(let E=i.startLineNumber;Ethis._host.fhr(r,E)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,i),Promise.resolve(oh(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,i){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,i))}catch(s){return Promise.reject(s)}}}C1._diffLimit=1e5,C1._suggestionsLimit=1e4,typeof importScripts=="function"&&(kt.monaco=nr());let ph=!1;function C3(n){if(ph)return;ph=!0;const e=new I6(i=>{self.postMessage(i)},i=>new C1(i,n));self.onmessage=i=>{e.onmessage(i.data)}}self.onmessage=n=>{ph||C3(null)};var Kr=Object.defineProperty,I=(n,e)=>Kr(n,"name",{value:e,configurable:!0}),c0=(F1=class{constructor(e){R(this,"target");this.target=e}get isEpsilon(){return!1}get label(){return null}},I(F1,"Transition"),R(F1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),F1),xh=(ji=class extends c0{constructor(e){super(e)}},I(ji,"AbstractPredicateTransition"),ji),B={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},N3=($i=class extends c0{constructor(i,s,h,a){super(i);R(this,"ruleIndex");R(this,"actionIndex");R(this,"isCtxDependent");this.ruleIndex=s,this.actionIndex=h===void 0?-1:h,this.isCtxDependent=a===void 0?!1:a}get isEpsilon(){return!0}get serializationType(){return B.ACTION}matches(i,s,h){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},I($i,"ActionTransition"),$i),M=(Pe=class{constructor(e){R(this,"cachedHashCode");this.cachedHashCode=e}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Pe.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}toString(e){return""}},I(Pe,"PredictionContext"),R(Pe,"EMPTY_RETURN_STATE",2147483647),R(Pe,"EMPTY"),R(Pe,"trace_atn_sim",!1),Pe),l3=3432918353,d3=461845907,K7=15,W7=13,m3=5,p3=3864292196,xe=(n1=class{constructor(){R(this,"count");R(this,"hash");this.count=0,this.hash=0}static hashStuff(...e){const i=new n1;return i.update(e),i.finish()}static hashString(e=0,i){let s=3735928559^e,h=1103547991^e;for(const a of i){const o=a.charCodeAt(0);s=Math.imul(s^o,2654435761),h=Math.imul(h^o,1597334677)}return s=Math.imul(s^s>>>16,2246822507)^Math.imul(h^h>>>13,3266489909),h=Math.imul(h^h>>>16,2246822507)^Math.imul(s^s>>>13,3266489909),Math.imul(4294967296,2097151&h)+(s>>>0)}update(...e){for(const i of e)if(i!=null)if(Array.isArray(i))this.update(...i);else{let s=0;switch(typeof i){case"undefined":case"function":continue;case"number":{s=i;break}case"boolean":{s=i?1237:4327;break}case"string":{s=n1.hashString(this.hash,i);break}default:{i.updateHashCode(this);continue}}this.count=this.count+1,s=Math.imul(s,l3),s=s<>>32-K7,s=Math.imul(s,d3);let h=this.hash^s;h=h<>>32-W7,this.hash=Math.imul(h,m3)+p3}}updateWithHashCode(e){this.count=this.count+1,e=Math.imul(e,l3),e=e<>>32-K7,e=Math.imul(e,d3);let i=this.hash^e;i=i<>>32-W7,this.hash=Math.imul(i,m3)+p3}finish(){let e=this.hash^this.count*4;return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,e}},I(n1,"HashCode"),n1),Wr=I(n=>typeof n.equals=="function","isComparable"),Rr=I(n=>n===null?"null":n,"valueToString"),B0=I(n=>Array.isArray(n)?"["+n.map(Rr).join(", ")+"]":"null","arrayToString"),ci=I((n,e)=>{if(n===e)return!0;if(n.length!==e.length)return!1;for(let i=0;i(n=n.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),e&&(n=n.replace(/ /g,"·")),n),"escapeWhitespace"),x3=I((n,e)=>n?n.equals(e):n===e,"standardEqualsFunction"),_r=Math.round(Math.random()*Math.pow(2,32)),Ar=I(n=>{let e,i;const s=n.length&3,h=n.length-s;let a=_r;const o=3432918353,r=461845907;let E=0;for(;E>>16)*o&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*r+(((i>>>16)*r&65535)<<16)&4294967295,a^=i,a=a<<13|a>>>19,e=(a&65535)*5+(((a>>>16)*5&65535)<<16)&4294967295,a=(e&65535)+27492+(((e>>>16)+58964&65535)<<16);switch(i=0,s){case 3:i^=(n.charCodeAt(E+2)&255)<<16;case 2:i^=(n.charCodeAt(E+1)&255)<<8;case 1:i^=n.charCodeAt(E)&255,i=(i&65535)*o+(((i>>>16)*o&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*r+(((i>>>16)*r&65535)<<16)&4294967295,a^=i}return a^=n.length,a^=a>>>16,a=(a&65535)*2246822507+(((a>>>16)*2246822507&65535)<<16)&4294967295,a^=a>>>13,a=(a&65535)*3266489909+(((a>>>16)*3266489909&65535)<<16)&4294967295,a^=a>>>16,a>>>0},"stringHashCode"),f3=I(n=>n?typeof n=="string"?Ar(n):n.hashCode():-1,"standardHashCodeFunction"),o0=(G1=class extends M{constructor(i,s){const h=new xe;h.update(i,s);const a=h.finish();super(a);R(this,"parents",[]);R(this,"returnStates",[]);return this.parents=i,this.returnStates=s,this}isEmpty(){return this.returnStates[0]===M.EMPTY_RETURN_STATE}getParent(i){return this.parents[i]}getReturnState(i){return this.returnStates[i]}equals(i){return this===i?!0:!(i instanceof G1)||this.hashCode()!==i.hashCode()?!1:ci(this.returnStates,i.returnStates)&&ci(this.parents,i.parents)}toString(){if(this.isEmpty())return"[]";{let i="[";for(let s=0;s0&&(i=i+", "),this.returnStates[s]===M.EMPTY_RETURN_STATE){i=i+"$";continue}i=i+this.returnStates[s],this.parents[s]!==null?i=i+" "+this.parents[s]:i=i+"null"}return i+"]"}}get length(){return this.returnStates.length}},I(G1,"ArrayPredictionContext"),G1),R7;(n=>{n.EOF=-1,n.UNKNOWN_SOURCE_NAME=""})(R7||(R7={}));var d;(n=>{n.INVALID_TYPE=0,n.EPSILON=-2,n.MIN_USER_TOKEN_TYPE=1,n.EOF=R7.EOF,n.DEFAULT_CHANNEL=0,n.HIDDEN_CHANNEL=1,n.MIN_USER_CHANNEL_VALUE=2})(d||(d={}));var Ir=I(n=>{const e=n;return e.tokenSource!==void 0&&e.channel!==void 0},"isToken"),se=(Mi=class{constructor(e,i){R(this,"data");R(this,"hashFunction");R(this,"equalsFunction");this.data={},this.hashFunction=e??f3,this.equalsFunction=i??x3}add(e){const i=this.hashFunction(e);if(i in this.data){const s=this.data[i];for(const h of s)if(this.equalsFunction(e,h))return h;return s.push(e),e}else return this.data[i]=[e],e}has(e){return this.get(e)!=null}get(e){const i=this.hashFunction(e);if(i in this.data){const s=this.data[i];for(const h of s)if(this.equalsFunction(e,h))return h}return null}values(){return Object.keys(this.data).flatMap(e=>this.data[e],this)}toString(){return B0(this.values())}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},I(Mi,"HashSet"),Mi),nt=(le=class{static andContext(e,i){if(e===null||e===le.NONE)return i;if(i===null||i===le.NONE)return e;const s=new Lr(e,i);return s.opnds.length===1?s.opnds[0]:s}static orContext(e,i){if(e===null)return i;if(i===null)return e;if(e===le.NONE||i===le.NONE)return le.NONE;const s=new Or(e,i);return s.opnds.length===1?s.opnds[0]:s}static filterPrecedencePredicates(e){const i=[];return e.values().forEach(s=>{s instanceof le.PrecedencePredicate&&i.push(s)}),i}hashCode(){const e=new xe;return this.updateHashCode(e),e.finish()}evalPrecedence(e,i){return this}},I(le,"SemanticContext"),le),Lr=(O0=class extends nt{constructor(i,s){super();R(this,"opnds");const h=new se;i instanceof O0?i.opnds.forEach(o=>{h.add(o)}):h.add(i),s instanceof O0?s.opnds.forEach(o=>{h.add(o)}):h.add(s);const a=nt.filterPrecedencePredicates(h);if(a.length>0){let o=null;a.forEach(r=>{(o===null||r.precedence{o=o===null?r:nt.andContext(o,r)}),o}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("&&")}},I(O0,"AND"),O0),Or=(C0=class extends nt{constructor(i,s){super();R(this,"opnds");const h=new se;i instanceof C0?i.opnds.forEach(o=>{h.add(o)}):h.add(i),s instanceof C0?s.opnds.forEach(o=>{h.add(o)}):h.add(s);const a=nt.filterPrecedencePredicates(h);if(a.length>0){const o=a.sort((E,u)=>E.compareTo(u)),r=o[o.length-1];h.add(r)}this.opnds=Array.from(h.values())}equals(i){return this===i?!0:i instanceof C0?ci(this.opnds,i.opnds):!1}updateHashCode(i){i.update(this.opnds),i.updateWithHashCode(3383313031)}evaluate(i,s){for(const h of this.opnds)if(h.evaluate(i,s))return!0;return!1}evalPrecedence(i,s){let h=!1;const a=[];for(const r of this.opnds){const E=r.evalPrecedence(i,s);if(h||(h=E!==r),E===nt.NONE)return nt.NONE;E!==null&&a.push(E)}if(!h)return this;if(a.length===0)return null;let o=null;return a.forEach(r=>{o=o===null?r:nt.orContext(o,r)}),o}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("||")}},I(C0,"OR"),C0);(n=>{const s=class s extends n{constructor(r,E,u){super();R(this,"ruleIndex");R(this,"predIndex");R(this,"isCtxDependent");this.ruleIndex=r??-1,this.predIndex=E??-1,this.isCtxDependent=u??!1}evaluate(r,E){const u=this.isCtxDependent?E:null;return r.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(r){r.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(r){return this===r?!0:r instanceof s?this.ruleIndex===r.ruleIndex&&this.predIndex===r.predIndex&&this.isCtxDependent===r.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};I(s,"Predicate");let e=s;n.Predicate=e;const h=class h extends n{constructor(r){super();R(this,"precedence");this.precedence=r??0}evaluate(r,E){return r.precpred(E,this.precedence)}evalPrecedence(r,E){return r.precpred(E,this.precedence)?n.NONE:null}compareTo(r){return this.precedence-r.precedence}updateHashCode(r){r.update(this.precedence)}equals(r){return this===r?!0:r instanceof h?this.precedence===r.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};I(h,"PrecedencePredicate");let i=h;n.PrecedencePredicate=i,n.NONE=new e})(nt||(nt={}));var Cr=I(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),Nr=I(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:n.reachesIntoOuterContext??0,precedenceFilterSuppressed:n.precedenceFilterSuppressed??!1},"checkConfig"),Ct=(h1=class{constructor(e,i){R(this,"state");R(this,"alt");R(this,"context");R(this,"reachesIntoOuterContext");R(this,"precedenceFilterSuppressed",!1);R(this,"semanticContext");this.checkContext(e,i);const s=Cr(e),h=Nr(i);this.state=s.state??h.state,this.alt=s.alt??h.alt??0,this.context=s.context??h.context,this.semanticContext=s.semanticContext??h.semanticContext??nt.NONE,this.reachesIntoOuterContext=h.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=h.precedenceFilterSuppressed??!1}hashCode(){const e=new xe;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(e){return this===e?!0:e instanceof h1?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&(this.context===null?e.context===null:this.context.equals(e.context))&&this.semanticContext.equals(e.semanticContext)&&this.precedenceFilterSuppressed===e.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const e=new xe;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(e){return this===e?!0:e instanceof h1?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&this.semanticContext.equals(e.semanticContext):!1}toString(e,i=!0){let s="";return i&&(s=","+this.alt),"("+this.state+s+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==nt.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(e,i){(e.context===null||e.context===void 0)&&(i===null||i.context===null||i.context===void 0)&&(this.context=null)}},I(h1,"ATNConfig"),h1),P=(Rt=class{constructor(e,i){R(this,"start");R(this,"stop");this.start=e,this.stop=i}static of(e,i){return e!==i||e<0||e>Rt.INTERVAL_POOL_MAX_VALUE?new Rt(e,i):(Rt.cache[e]===null&&(Rt.cache[e]=new Rt(e,e)),Rt.cache[e])}equals(e){return e instanceof Rt?this.start===e.start&&this.stop===e.stop:!1}hashCode(){let e=23;return e=e*31+this.start,e=e*31+this.stop,e}startsBeforeDisjoint(e){return this.start=e.start}startsAfter(e){return this.start>e.start}startsAfterDisjoint(e){return this.start>e.stop}startsAfterNonDisjoint(e){return this.start>e.start&&this.start<=e.stop}disjoint(e){return this.startsBeforeDisjoint(e)||this.startsAfterDisjoint(e)}adjacent(e){return this.start===e.stop+1||this.stop===e.start-1}properlyContains(e){return e.start>=this.start&&e.stop<=this.stop}union(e){return Rt.of(Math.min(this.start,e.start),Math.max(this.stop,e.stop))}intersection(e){return Rt.of(Math.max(this.start,e.start),Math.min(this.stop,e.stop))}differenceNotProperlyContained(e){let i=null;return e.startsBeforeNonDisjoint(this)?i=Rt.of(Math.max(this.start,e.stop+1),this.stop):e.startsAfterNonDisjoint(this)&&(i=Rt.of(this.start,e.start-1)),i}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{r.syntaxError(e,i,s,h,a,o)})}reportAmbiguity(e,i,s,h,a,o,r){this.delegates.forEach(E=>{E.reportAmbiguity(e,i,s,h,a,o,r)})}reportAttemptingFullContext(e,i,s,h,a,o){this.delegates.forEach(r=>{r.reportAttemptingFullContext(e,i,s,h,a,o)})}reportContextSensitivity(e,i,s,h,a,o){this.delegates.forEach(r=>{r.reportContextSensitivity(e,i,s,h,a,o)})}},I(yi,"ProxyErrorListener"),yi),g3=(Ee=class{constructor(){R(this,"interpreter");tt(this,be,[lr.INSTANCE]);tt(this,qi,-1)}checkVersion(e){const i="4.13.1";i!==e&&console.error("ANTLR runtime and generated code versions disagree: "+i+"!="+e)}addErrorListener(e){m(this,be).push(e)}removeErrorListeners(){$(this,be,[])}removeErrorListener(e){for(let i=0;ii.set(s,h)),Ee.ruleIndexMapCache.set(e,i)),i}getTokenType(e){const i=this.getTokenTypeMap().get(e);return i||d.INVALID_TYPE}getErrorHeader(e){var h,a;const i=(h=e.offendingToken)==null?void 0:h.line,s=(a=e.offendingToken)==null?void 0:a.column;return"line "+i+":"+s}getErrorListenerDispatch(){return new dr(m(this,be))}sempred(e,i,s){return!0}precpred(e,i){return!0}action(e,i,s){}get atn(){return this.interpreter.atn}get state(){return m(this,qi)}set state(e){$(this,qi,e)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},be=new WeakMap,qi=new WeakMap,I(Ee,"Recognizer"),R(Ee,"EOF",-1),R(Ee,"tokenTypeMapCache",new Map),R(Ee,"ruleIndexMapCache",new Map),Ee),mr=(N0=class{constructor(e,i,s,h,a){R(this,"source");R(this,"tokenIndex",-1);R(this,"start",0);R(this,"stop",0);R(this,"type",0);R(this,"line",0);R(this,"column",-1);R(this,"channel",d.DEFAULT_CHANNEL);tt(this,we,null);this.source=e,this.type=i,this.channel=s??d.DEFAULT_CHANNEL,this.start=h,this.stop=a,this.source[0]!==null?(this.line=e[0].line,this.column=e[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const e=new N0(this.source,this.type,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,$(e,we,m(this,we)),e}cloneWithType(e){const i=new N0(this.source,e,this.channel,this.start,this.stop);return i.tokenIndex=this.tokenIndex,i.line=this.line,i.column=this.column,e===d.EOF&&$(i,we,""),i}toString(e){let i="";this.channel>0&&(i=",channel="+this.channel);let s=this.text;s?(s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t")):s="";let h=String(this.type);return e&&(h=e.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+s+"',<"+h+">"+i+","+this.line+":"+this.column+"]"}get text(){if(m(this,we)!==null)return m(this,we);const e=this.inputStream;if(e===null)return null;const i=e.size;return this.start"}set text(e){$(this,we,e)}setText(e){$(this,we,e)}setType(e){this.type=e}setLine(e){this.line=e}setCharPositionInLine(e){this.column=e}setChannel(e){this.channel=e}setTokenIndex(e){this.tokenIndex=e}},we=new WeakMap,I(N0,"CommonToken"),R(N0,"EMPTY_SOURCE",[null,null]),N0),pr=(c1=class{constructor(e){R(this,"copyText",!1);this.copyText=e??!1}create(e,i,s,h,a,o,r,E){const u=new mr(e,i,h,a,o);return u.line=r,u.column=E,s!==null?u.text=s:this.copyText&&e[1]!==null&&(u.text=e[1].getText(a,o)),u}},I(c1,"CommonTokenFactory"),R(c1,"DEFAULT",new c1),c1),W=(b1=class extends Error{constructor(i){super(i.message);R(this,"ctx");R(this,"offendingToken",null);R(this,"offendingState",-1);R(this,"recognizer");R(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,b1),this.message=i.message,this.recognizer=i.recognizer,this.input=i.input,this.ctx=i.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},I(b1,"RecognitionException"),b1),_7=(ts=class extends W{constructor(i,s,h,a){super({message:"",recognizer:i,input:s,ctx:null});R(this,"startIndex");R(this,"deadEndConfigs");this.startIndex=h,this.deadEndConfigs=a}toString(){let i="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[e],this)}getKeys(){return this.entries().map(e=>e.key)}getValues(){return this.entries().map(e=>e.value)}toString(){return"["+this.entries().map(i=>"{"+i.key+":"+i.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},I(es,"HashMap"),es),Ye=(is=class{constructor(e){R(this,"parent",null);R(this,"symbol");this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return P.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new P(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){var e;return((e=this.symbol)==null?void 0:e.text)??""}toString(){var e,i;return((e=this.symbol)==null?void 0:e.type)===d.EOF?"":((i=this.symbol)==null?void 0:i.text)??""}toStringTree(){return this.toString()}},I(is,"TerminalNode"),is),oi=(ss=class extends Ye{accept(e){return e.visitErrorNode(this)}},I(ss,"ErrorNode"),ss),r0=(ee=class{static toStringTree(e,i,s){i=i??null,s=s??null,s!==null&&(i=s.ruleNames);let h=ee.getNodeText(e,i);h=Tr(h,!1);const a=e.getChildCount();if(a===0)return h;let o="("+h+" ";a>0&&(h=ee.toStringTree(e.getChild(0),i),o=o.concat(h));for(let r=1;re.getText()).join("")}getAltNumber(){return g.INVALID_ALT_NUMBER}setAltNumber(e){}getChild(e){return null}getChildCount(){return 0}accept(e){return e.visitChildren(this)}toStringTree(...e){return e.length===1?r0.toStringTree(this,null,e[0]):r0.toStringTree(this,e[0],e[1])}toString(e,i){e=e??null,i=i??null;let s=this,h="[";for(;s!==null&&s!==i;){if(e===null)s.isEmpty()||(h+=s.invokingState);else{const a=s.ruleIndex,o=a>=0&&a{super(...nR);R(this,"start",null);R(this,"stop",null);R(this,"exception",null)};i?e(i,s):e(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(i){super.parent=i}copyFrom(i){this.parent=i.parent,this.invokingState=i.invokingState,this.children=null,this.start=i.start,this.stop=i.stop,i.children&&(this.children=[],i.children.forEach(s=>{s instanceof oi&&(this.children.push(s),s.parent=this)},this))}enterRule(i){}exitRule(i){}addAnyChild(i){return this.children==null&&(this.children=[]),this.children.push(i),i}addChild(i){return this.addAnyChild(i)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(i){const s=new Ye(i);return this.addAnyChild(s),s.parent=this,s}addErrorNode(i){return i.parent=this,this.addAnyChild(i)}getChild(i,s){if(this.children===null||i<0||i>=this.children.length)return null;if(s){for(const h of this.children)if(h instanceof s){if(i===0)return h;i-=1}return null}else return this.children[i]}getToken(i,s){var h;if(this.children===null||s<0||s>=this.children.length)return null;for(const a of this.children)if(a instanceof Ye&&((h=a.symbol)==null?void 0:h.type)===i){if(s===0)return a;s-=1}return null}getTokens(i){var s;if(this.children===null)return[];{const h=[];for(const a of this.children)a instanceof Ye&&((s=a.symbol)==null?void 0:s.type)===i&&h.push(a);return h}}getRuleContext(i,s){return this.getChild(i,s)}getRuleContexts(i){if(this.children===null)return[];{const s=[];for(const h of this.children)h instanceof i&&s.push(h);return s}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?P.INVALID_INTERVAL:new P(this.start.tokenIndex,this.stop.tokenIndex)}},I(r1,"ParserRuleContext"),R(r1,"EMPTY",new r1),r1),gh=I((n,e)=>{if(e==null&&(e=K.EMPTY),e.parent===null||e===K.EMPTY)return M.EMPTY;const i=gh(n,e.parent),h=n.states[e.invokingState].transitions[0];return ne.create(i,h.followState.stateNumber)},"predictionContextFromRuleContext"),D3=I((n,e,i)=>{if(n.isEmpty())return n;let s=i.get(n)||null;if(s!==null)return s;if(s=e.get(n),s!==null)return i.set(n,s),s;let h=!1,a=[];for(let r=0;r{if(n===e)return n;if(n instanceof ne&&e instanceof ne)return gr(n,e,i,s);if(i){if(n instanceof U3)return n;if(e instanceof U3)return e}return n instanceof ne&&(n=new o0([n.parent],[n.returnState])),e instanceof ne&&(e=new o0([e.parent],[e.returnState])),xr(n,e,i,s)},"merge"),xr=I((n,e,i,s)=>{if(s!==null){let T=s.get(n,e);if(T!==null||(T=s.get(e,n),T!==null))return T}let h=0,a=0,o=0,r=new Array(n.returnStates.length+e.returnStates.length).fill(0),E=new Array(n.returnStates.length+e.returnStates.length).fill(null);for(;h{const e=new F0;for(const i of n)i&&(e.containsKey(i)||e.set(i,i));for(let i=0;i{if(s!==null){let a=s.get(n,e);if(a!==null||(a=s.get(e,n),a!==null))return a}const h=Ur(n,e,i);if(h!==null)return s!==null&&s.set(n,e,h),h;if(n.returnState===e.returnState){const a=Uh(n.parent,e.parent,i,s);if(a===n.parent)return n;if(a===e.parent)return e;const o=ne.create(a,n.returnState);return s!==null&&s.set(n,e,o),o}else{let a=null;if((n===e||n.parent!==null&&n.parent===e.parent)&&(a=n.parent),a!==null){const u=[n.returnState,e.returnState];n.returnState>e.returnState&&(u[0]=e.returnState,u[1]=n.returnState);const T=[a,a],_=new o0(T,u);return s!==null&&s.set(n,e,_),_}const o=[n.returnState,e.returnState];let r=[n.parent,e.parent];n.returnState>e.returnState&&(o[0]=e.returnState,o[1]=n.returnState,r=[e.parent,n.parent]);const E=new o0(r,o);return s!==null&&s.set(n,e,E),E}},"mergeSingletons"),Ur=I((n,e,i)=>{if(i){if(n===M.EMPTY||e===M.EMPTY)return M.EMPTY}else{if(n===M.EMPTY&&e===M.EMPTY)return M.EMPTY;if(n===M.EMPTY){const s=[e.returnState,M.EMPTY_RETURN_STATE],h=[e.parent,null];return new o0(h,s)}else if(e===M.EMPTY){const s=[n.returnState,M.EMPTY_RETURN_STATE],h=[n.parent,null];return new o0(h,s)}}return null},"mergeRoot"),fe=(as=class{constructor(e){R(this,"data");e?this.data=new Uint32Array(e.map(i=>i>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const e=this.data.length;let i=0,s=this.data[i];const h=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;i>>5]&=~(1<>>5;return i>=this.data.length?!1:(this.data[i]&1<e)return i}set(e){if(e<0)throw new RangeError("index cannot be negative");this.resize(e),this.data[e>>>5]|=1<>>5;if(i<=this.data.length)return;const s=new Uint32Array(i);s.set(this.data),s.fill(0,this.data.length),this.data=s}bitCount(e){return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),e=e+(e>>4)&252645135,e=e+(e>>8),e=e+(e>>16),e&63}},I(as,"BitSet"),as),Dr=I(n=>n.hashCodeForConfigSet(),"hashATNConfig"),kr=I((n,e)=>n===e?!0:n===null||e===null?!1:n.equalsForConfigSet(e),"equalATNConfigs"),Re=(w1=class{constructor(e){R(this,"configs",[]);R(this,"hasSemanticContext",!1);R(this,"dipsIntoOuterContext",!1);R(this,"fullCtx");R(this,"uniqueAlt",0);R(this,"configLookup",new se(Dr,kr));R(this,"conflictingAlts",null);R(this,"readOnly",!1);R(this,"cachedHashCode",-1);this.fullCtx=e??!0}add(e,i){if(i===void 0&&(i=null),this.readOnly)throw new Error("This set is readonly");e.semanticContext!==nt.NONE&&(this.hasSemanticContext=!0),e.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const s=this.configLookup.add(e);if(s===e)return this.cachedHashCode=-1,this.configs.push(e),!0;const h=!this.fullCtx,a=Uh(s.context,e.context,h,i);return s.reachesIntoOuterContext=Math.max(s.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(s.precedenceFilterSuppressed=!0),s.context=a,!0}getStates(){const e=new se;for(const i of this.configs)e.add(i.state);return e}getPredicates(){const e=[];for(const i of this.configs)i.semanticContext!==nt.NONE&&e.push(i.semanticContext);return e}optimizeConfigs(e){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const i of this.configs)i.context=e.getCachedContext(i.context)}addAll(e){for(const i of e)this.add(i,null);return!1}equals(e){return this===e||e instanceof w1&&ci(this.configs,e.configs)&&this.fullCtx===e.fullCtx&&this.uniqueAlt===e.uniqueAlt&&this.conflictingAlts===e.conflictingAlts&&this.hasSemanticContext===e.hasSemanticContext&&this.dipsIntoOuterContext===e.dipsIntoOuterContext}hashCode(){const e=new xe;return e.update(this.configs),e.finish()}updateHashCode(e){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),e.update(this.cachedHashCode)):e.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}containsFast(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new se}setReadonly(e){this.readOnly=e,e&&(this.configLookup=new se)}toString(){return B0(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==g.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let e=new fe;for(let i of this.configs)e.set(i.alt);return e}},I(w1,"ATNConfigSet"),w1),Ve=(v1=class{constructor(e){R(this,"stateNumber",-1);R(this,"configs",new Re);R(this,"edges",null);R(this,"isAcceptState",!1);R(this,"prediction",-1);R(this,"lexerActionExecutor",null);R(this,"requiresFullContext",!1);R(this,"predicates",null);e&&(typeof e=="number"?this.stateNumber=e:this.configs=e)}hashCode(){const e=new xe;return e.update(this.configs.configs),e.finish()}equals(e){return this===e?!0:e instanceof v1?this.configs===null?e.configs===null:this.configs.equals(e.configs):!1}toString(){let e="";return e+=this.stateNumber,e+=":",e+=this.configs?this.configs.toString():"",this.isAcceptState&&(e+="=>",this.predicates?e+=B0(this.predicates):e+=this.prediction),e.toString()}},I(v1,"DFAState"),v1);(n=>{const i=class i{constructor(h,a){R(this,"pred");R(this,"alt");this.alt=a,this.pred=h}toString(){return`(${this.pred}, ${this.alt})`}};I(i,"PredPrediction");let e=i;n.PredPrediction=e})(Ve||(Ve={}));var ge=(Y1=class{constructor(e,i){R(this,"atn");R(this,"sharedContextCache",null);return this.atn=e,this.sharedContextCache=i,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(e){if(this.sharedContextCache===null)return e;const i=new F0;return D3(e,this.sharedContextCache,i)}getSharedContextCache(){return this.sharedContextCache}},I(Y1,"ATNSimulator"),R(Y1,"ERROR",new Ve(2147483647)),Y1),k3=(cs=class extends Re{constructor(){super(),this.configLookup=new se}},I(cs,"OrderedATNConfigSet"),cs),Ue=(d0=class{constructor(){R(this,"atn");R(this,"stateNumber");R(this,"ruleIndex");R(this,"epsilonOnlyTransitions");R(this,"nextTokenWithinRule");R(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return d0.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(e){return e instanceof d0?this.stateNumber===e.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(e,i){i===void 0&&(i=-1),this.transitions.length===0?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),i===-1?this.transitions.push(e):this.transitions.splice(i,1,e)}},I(d0,"ATNState"),R(d0,"INVALID_STATE_NUMBER",-1),d0),Z={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Xt=(os=class extends Ue{get stateType(){return Z.RULE_STOP}},I(os,"RuleStopState"),os),G0=(rs=class extends Ue{constructor(){super(...arguments);R(this,"decision",-1);R(this,"nonGreedy",!1)}},I(rs,"DecisionState"),rs),De=(V1=class extends Ct{constructor(i,s){super(i,s);R(this,"lexerActionExecutor");R(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=i.lexerActionExecutor??(s==null?void 0:s.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=s!==null?this.checkNonGreedyDecision(s,this.state):!1,this}updateHashCode(i){i.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(i){return this===i||i instanceof V1&&this.passedThroughNonGreedyDecision===i.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(i.lexerActionExecutor):!i.lexerActionExecutor)&&super.equals(i)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(i){return this.equals(i)}checkNonGreedyDecision(i,s){return i.passedThroughNonGreedyDecision||s instanceof G0&&s.nonGreedy}},I(V1,"LexerATNConfig"),V1),ke=(Es=class{constructor(e){R(this,"actionType");R(this,"isPositionDependent");this.actionType=e,this.isPositionDependent=!1}hashCode(){const e=new xe;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}},I(Es,"LexerAction"),Es),Dh=(X1=class extends ke{constructor(i,s){super(s.actionType);R(this,"offset");R(this,"action");this.offset=i,this.action=s,this.isPositionDependent=!0}execute(i){this.action.execute(i)}updateHashCode(i){i.update(this.actionType,this.offset,this.action)}equals(i){return this===i?!0:i instanceof X1?this.offset===i.offset&&this.action===i.action:!1}},I(X1,"LexerIndexedCustomAction"),X1),Sr=(ye=class extends ke{constructor(i){super(-1);R(this,"lexerActions");R(this,"cachedHashCode");return this.lexerActions=i===null?[]:i,this.cachedHashCode=xe.hashStuff(i),this}static append(i,s){if(i===null)return new ye([s]);const h=i.lexerActions.concat([s]);return new ye(h)}fixOffsetBeforeMatch(i){let s=null;for(let h=0;h",e+=this.getStateString(o),e+=` -`}}}}return e}getEdgeLabel(e){return`${this.vocabulary.getDisplayName(e-1)}`}getStateString(e){const i=e.stateNumber,s=(e.isAcceptState?":":"")+"s"+i+(e.requiresFullContext?"^":"");return e.isAcceptState?e.predicates!==null?`${s}=>${e.predicates.toString()}`:`${s}=>${e.prediction}`:`${s}`}},I(us,"DFASerializer"),us),Se=(wt=class{constructor(e,i,s){R(this,"maxTokenType");R(this,"literalNames");R(this,"symbolicNames");R(this,"displayNames");this.literalNames=e??wt.EMPTY_NAMES,this.symbolicNames=i??wt.EMPTY_NAMES,this.displayNames=s??wt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(e){if(e==null||e.length===0)return wt.EMPTY_VOCABULARY;const i=[...e],s=[...e];for(let h=0;h0){const o=a.charAt(0);if(o==="'"){s[h]=null;continue}else if(o.toUpperCase()===o){i[h]=null;continue}}i[h]=null,s[h]=null}}return new wt(i,s,e)}getMaxTokenType(){return this.maxTokenType}getLiteralName(e){return e>=0&&e=0&&e=0&&e"'"+String.fromCharCode(i)+"'")}},I(Ks,"LexerDFASerializer"),Ks),E0=(Ws=class extends G0{constructor(){super();R(this,"loopBackState");R(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return Z.STAR_LOOP_ENTRY}},I(Ws,"StarLoopEntryState"),Ws),b0=(Rs=class{constructor(e,i){R(this,"states",new se);R(this,"s0",null);R(this,"decision");R(this,"atnStartState");R(this,"precedenceDfa");R(this,"isPrecedenceDfa",()=>this.precedenceDfa);R(this,"getPrecedenceStartState",e=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||e<0||e>=this.s0.edges.length?null:this.s0.edges[e]});R(this,"setPrecedenceStartState",(e,i)=>{var s;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(e<0||!((s=this.s0)!=null&&s.edges))){if(e>=this.s0.edges.length){const h=this.s0.edges.length;this.s0.edges.length=e+1,this.s0.edges.fill(null,h,e)}this.s0.edges[e]=i}});this.atnStartState=e,this.decision=i??0;let s=!1;if(e instanceof E0&&e.precedenceRuleDecision){s=!0;const h=new Ve;h.edges=[],h.isAcceptState=!1,h.requiresFullContext=!1,this.s0=h}this.precedenceDfa=s}setPrecedenceDfa(e){if(e!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const e=this.states.values();return e.sort((i,s)=>i.stateNumber-s.stateNumber),e}toString(e){return e?this.s0===null?"":new S3(this,e).toString()??"":this.toString(Se.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new Hr(this).toString()??""}},I(Rs,"DFA"),Rs),w0=(et=class extends ge{constructor(i,s,h,a){super(s,a);R(this,"decisionToDFA");R(this,"recog",null);R(this,"startIndex",-1);R(this,"line",1);R(this,"column",0);R(this,"mode",he.DEFAULT_MODE);R(this,"prevAccept",new et.SimState);this.decisionToDFA=h,this.recog=i}copyState(i){this.column=i.column,this.line=i.line,this.mode=i.mode,this.startIndex=i.startIndex}match(i,s){this.mode=s;const h=i.mark();try{this.startIndex=i.index,this.prevAccept.reset();const a=this.decisionToDFA[s];return a.s0===null?this.matchATN(i):this.execATN(i,a.s0)}finally{i.release(h)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=he.DEFAULT_MODE}getDFA(i){return this.decisionToDFA[i]}getText(i){return i.getText(this.startIndex,i.index-1)}consume(i){i.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,i.consume()}getTokenName(i){return i===-1?"EOF":"'"+String.fromCharCode(i)+"'"}clearDFA(){for(let i=0;iet.MAX_DFA_EDGE)return null;let h=i.edges[s-et.MIN_DFA_EDGE];return h===void 0&&(h=null),et.debug&&h!==null&&console.log("reuse state "+i.stateNumber+" edge to "+h.stateNumber),h}computeTargetState(i,s,h){const a=new k3;return this.getReachableConfigSet(i,s.configs,a,h),a.items.length===0?(a.hasSemanticContext||this.addDFAEdge(s,h,ge.ERROR),ge.ERROR):this.addDFAEdge(s,h,null,a)}failOrAccept(i,s,h,a){if(i.dfaState!==null){const o=i.dfaState.lexerActionExecutor;return this.accept(s,o,this.startIndex,i.index,i.line,i.column),i.dfaState.prediction}else{if(a===d.EOF&&s.index===this.startIndex)return d.EOF;throw new _7(this.recog,s,this.startIndex,h)}}getReachableConfigSet(i,s,h,a){let o=g.INVALID_ALT_NUMBER;for(const r of s.items){const E=r.alt===o;if(!(E&&r.passedThroughNonGreedyDecision)){et.debug&&console.log(`testing %s at %s -`,this.getTokenName(a),r.toString(this.recog,!0));for(const u of r.state.transitions){const T=this.getReachableTarget(u,a);if(T!==null){let _=r.lexerActionExecutor;_!==null&&(_=_.fixOffsetBeforeMatch(i.index-this.startIndex));const A=a===d.EOF,N=new De({state:T,lexerActionExecutor:_},r);this.closure(i,N,h,E,!0,A)&&(o=r.alt)}}}}}accept(i,s,h,a,o,r){et.debug&&console.log(`ACTION %s -`,s),i.seek(a),this.line=o,this.column=r,s!==null&&this.recog!==null&&s.execute(this.recog,i,h)}getReachableTarget(i,s){return i.matches(s,0,he.MAX_CHAR_VALUE)?i.target:null}computeStartState(i,s){const h=M.EMPTY,a=new k3;for(let o=0;oet.MAX_DFA_EDGE||(et.debug&&console.log("EDGE "+i+" -> "+h+" upon "+s),i.edges===null&&(i.edges=new Array(et.MAX_DFA_EDGE-et.MIN_DFA_EDGE+1),i.edges.fill(null)),i.edges[s-et.MIN_DFA_EDGE]=h),h}addDFAState(i){const s=new Ve(i);let h=null;for(const E of i.items)if(E.state instanceof Xt){h=E;break}h!==null&&(s.isAcceptState=!0,s.lexerActionExecutor=h.lexerActionExecutor,s.prediction=this.atn.ruleToTokenType[h.state.ruleIndex]);const a=this.decisionToDFA[this.mode],o=a.states.get(s);if(o!==null)return o;const r=s;return r.stateNumber=a.states.length,i.setReadonly(!0),r.configs=i,a.states.add(r),r}},I(et,"LexerATNSimulator"),R(et,"MIN_DFA_EDGE",0),R(et,"MAX_DFA_EDGE",127),R(et,"debug",!1),R(et,"dfa_debug",!1),et);(n=>{const i=class i{constructor(){R(this,"index",-1);R(this,"line",0);R(this,"column",-1);R(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};I(i,"SimState");let e=i;n.SimState=e})(w0||(w0={}));var he=(mt=class extends g3{constructor(i){super();R(this,"_input");R(this,"_token",null);R(this,"_tokenStartCharIndex",-1);R(this,"_tokenStartLine",0);R(this,"_tokenStartColumn",0);R(this,"_hitEOF",!1);R(this,"_channel",0);R(this,"_type",0);R(this,"_modeStack",[]);R(this,"_mode",mt.DEFAULT_MODE);R(this,"_text",null);R(this,"_factory");this._input=i,this._factory=pr.DEFAULT}reset(i=!0){i&&this._input.seek(0),this._token=null,this._type=d.INVALID_TYPE,this._channel=d.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=mt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const i=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=d.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let s=!1;for(;;){this._type=d.INVALID_TYPE;let h=mt.SKIP;try{h=this.interpreter.match(this._input,this._mode)}catch(a){if(a instanceof _7)this.notifyListeners(a),this.recover(a);else throw a}if(this._input.LA(1)===d.EOF&&(this._hitEOF=!0),this._type===d.INVALID_TYPE&&(this._type=h),this._type===mt.SKIP){s=!0;break}if(this._type!==mt.MORE)break}if(!s)return this._token===null&&this.emit(),this._token}}finally{this._input.release(i)}}skip(){this._type=mt.SKIP}more(){this._type=mt.MORE}mode(i){this._mode=i}pushMode(i){w0.debug&&console.log("pushMode "+i),this._modeStack.push(this._mode),this.mode(i)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return w0.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(i){this._token=i}emit(){const i=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(i),i}emitEOF(){const i=this.column,s=this.line,h=this._factory.create([this,this._input],d.EOF,null,d.DEFAULT_CHANNEL,this._input.index,this._input.index-1,s,i);return this.emitToken(h),h}getCharIndex(){return this._input.index}getAllTokens(){const i=[];let s=this.nextToken();for(;s.type!==d.EOF;)i.push(s),s=this.nextToken();return i}notifyListeners(i){const s=this._tokenStartCharIndex,h=this._input.index,a=this._input.getText(s,h),o="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,i)}getErrorDisplay(i){return i}getErrorDisplayForChar(i){return i.charCodeAt(0)===d.EOF?"":i===` -`?"\\n":i===" "?"\\t":i==="\r"?"\\r":i}getCharErrorDisplay(i){return"'"+this.getErrorDisplayForChar(i)+"'"}recover(i){this._input.LA(1)!==d.EOF&&(i instanceof _7?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(i){this.reset(!1),this._input=i}set tokenFactory(i){this._factory=i}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(i){this._type=i}get line(){return this.interpreter.line}set line(i){this.interpreter.line=i}get column(){return this.interpreter.column}set column(i){this.interpreter.column=i}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(i){this._text=i}},I(mt,"Lexer"),R(mt,"DEFAULT_MODE",0),R(mt,"MORE",-2),R(mt,"SKIP",-3),R(mt,"DEFAULT_TOKEN_CHANNEL",d.DEFAULT_CHANNEL),R(mt,"HIDDEN",d.HIDDEN_CHANNEL),R(mt,"MIN_CHAR_VALUE",0),R(mt,"MAX_CHAR_VALUE",1114111),mt),St=(Kt=class{constructor(e){R(this,"intervals",[]);R(this,"readOnly",!1);e&&this.addSet(e)}static of(e,i){const s=new Kt;return s.addRange(e,i),s}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?d.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?d.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(e){this.addInterval(new P(e,e))}addRange(e,i){this.addInterval(new P(e,i))}addInterval(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(e);else{for(let i=0;ithis.addInterval(i),this),this}complement(e,i){if(!e)return new Kt;const s=new Kt;if(e instanceof Kt){if(e.isNil)return new Kt;s.addSet(e)}else s.addInterval(new P(e,i??0));return s.subtract(this)}or(e){const i=new Kt;return i.addSet(this),e.forEach(s=>i.addSet(s)),i}and(e){if(e.isNil)return new Kt;const i=this.intervals,s=e.intervals;let h;const a=i.length,o=s.length;let r=0,E=0;for(;ra.stop){s++;continue}let r=null,E=null;if(o.start>a.start&&(r=new P(a.start,o.start-1)),o.stope)h=a-1;else return!0}return!1}removeRange(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(e.start===e.stop)this.removeOne(e.start);else if(this.intervals!==null){let i=0;for(const s of this.intervals){if(e.stop<=s.start)return;if(e.start>s.start&&e.stop=s.stop?(this.intervals.splice(i,1),i=i-1):e.start1&&(i+="{");let s=!1,h;e instanceof Se?h=e:Array.isArray(e)?h=Se.fromTokenNames(e):s=e??!1;for(let a=0;a":s?i+="'"+String.fromCodePoint(r)+"'":h?i+=this.elementName(h,r):i+=r;else if(s)i+="'"+String.fromCodePoint(r)+"'..'"+String.fromCodePoint(E)+"'";else if(h)for(let u=r;u<=E;++u)u>r&&(i+=", "),i+=this.elementName(h,u);else i+=r+".."+E;a1&&(i+="}"),i}toArray(){const e=[];for(const i of this.intervals)for(let s=i.start;s<=i.stop;s++)e.push(s);return e}get length(){let e=0;if(this.intervals.length===1){const s=this.intervals[0];return s.stop-s.start+1}for(const s of this.intervals)e+=s.length;return e}isReadonly(){return this.readOnly}setReadonly(e){if(this.readOnly&&!e)throw new Error("can't alter readonly IntervalSet");this.readOnly=e}elementName(e,i){return i===d.EOF?"":i===d.EPSILON?"":e.getDisplayName(i)}},I(Kt,"IntervalSet"),R(Kt,"COMPLETE_CHAR_SET",Kt.of(he.MIN_CHAR_VALUE,he.MAX_CHAR_VALUE)),R(Kt,"EMPTY_SET",new Kt),Kt.COMPLETE_CHAR_SET.readOnly=!0,Kt.EMPTY_SET.readOnly=!0,Kt),A7=(Ts=class extends c0{constructor(i,s,h,a){super(i);R(this,"ruleIndex");R(this,"precedence");R(this,"followState");this.ruleIndex=s,this.precedence=h,this.followState=a}get isEpsilon(){return!0}get serializationType(){return B.RULE}matches(i,s,h){return!1}},I(Ts,"RuleTransition"),Ts),kh=(_s=class extends c0{constructor(i,s){super(i);tt(this,m0,void 0);s!=null?$(this,m0,s):($(this,m0,new St),m(this,m0).addOne(d.INVALID_TYPE))}get label(){return m(this,m0)}get serializationType(){return B.SET}matches(i,s,h){return this.label.contains(i)}toString(){return m(this,m0).toString()}},m0=new WeakMap,I(_s,"SetTransition"),_s),Sh=(As=class extends kh{constructor(e,i){super(e,i)}get serializationType(){return B.NOT_SET}matches(e,i,s){return e>=i&&e<=s&&!super.matches(e,i,s)}toString(){return"~"+super.toString()}},I(As,"NotSetTransition"),As),H3=(Is=class extends c0{constructor(e){super(e)}get serializationType(){return B.WILDCARD}matches(e,i,s){return e>=i&&e<=s}toString(){return"."}},I(Is,"WildcardTransition"),Is),Br=(p0=class{constructor(e){R(this,"atn");this.atn=e}getDecisionLookahead(e){if(e===null)return null;const i=e.transitions.length,s=new Array(i);s.fill(null);for(let h=0;h=this.states.length)throw new Error("Invalid state number.");const s=this.states[e];let h=this.nextTokens(s);if(!h.contains(d.EPSILON))return h;let a=i;const o=new St;for(o.addSet(h),o.removeOne(d.EPSILON);a!==null&&a.invokingState>=0&&h.contains(d.EPSILON);){const E=this.states[a.invokingState].transitions[0];h=this.nextTokens(E.followState),o.addSet(h),o.removeOne(d.EPSILON),a=a.parent}return h.contains(d.EPSILON)&&o.addOne(d.EOF),o}nextTokens(e,i){return i===void 0?(e.nextTokenWithinRule!==null||(e.nextTokenWithinRule=this.nextTokens(e,null),e.nextTokenWithinRule.setReadonly(!0)),e.nextTokenWithinRule):new Br(this).LOOK(e,null,i)}},I(Q1,"ATN"),R(Q1,"INVALID_ALT_NUMBER",0),Q1),B3=(x0=class{constructor(e){R(this,"readOnly",!1);R(this,"verifyATN");R(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=e==null?!0:e.verifyATN,this.generateRuleBypassTransitions=e==null?!1:e.generateRuleBypassTransitions}},I(x0,"ATNDeserializationOptions"),R(x0,"defaultOptions",new x0),x0.defaultOptions.readOnly=!0,x0),ri={LEXER:0,PARSER:1},F3=(Ls=class extends Ue{get stateType(){return Z.BASIC}},I(Ls,"BasicState"),Ls),N1=(Os=class extends G0{constructor(){super();R(this,"endState");this.endState=null}},I(Os,"BlockStartState"),Os),Hh=(Cs=class extends Ue{constructor(){super(...arguments);R(this,"startState",null)}get stateType(){return Z.BLOCK_END}},I(Cs,"BlockEndState"),Cs),v0=(Ns=class extends Ue{constructor(){super(...arguments);R(this,"loopBackState",null)}get stateType(){return Z.LOOP_END}},I(Ns,"LoopEndState"),Ns),G3=(ls=class extends Ue{constructor(){super();R(this,"stopState");R(this,"isLeftRecursiveRule");R(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return Z.RULE_START}},I(ls,"RuleStartState"),ls),Fr=(ds=class extends G0{get stateType(){return Z.TOKEN_START}},I(ds,"TokensStartState"),ds),b3=(ms=class extends G0{get stateType(){return Z.PLUS_LOOP_BACK}},I(ms,"PlusLoopbackState"),ms),Bh=(ps=class extends Ue{get stateType(){return Z.STAR_LOOP_BACK}},I(ps,"StarLoopbackState"),ps),Fh=(xs=class extends N1{constructor(){super(...arguments);R(this,"loopBackState")}get stateType(){return Z.PLUS_BLOCK_START}},I(xs,"PlusBlockStartState"),xs),Gh=(fs=class extends N1{get stateType(){return Z.STAR_BLOCK_START}},I(fs,"StarBlockStartState"),fs),w3=(gs=class extends N1{get stateType(){return Z.BLOCK_START}},I(gs,"BasicBlockStartState"),gs),I7=(Ds=class extends c0{constructor(i,s){super(i);R(this,"labelValue");tt(this,Us,void 0);this.labelValue=s,$(this,Us,St.of(s,s))}get label(){return m(this,Us)}matches(i,s,h){return this.labelValue===i}get serializationType(){return B.ATOM}toString(){return this.labelValue.toString()}},Us=new WeakMap,I(Ds,"AtomTransition"),Ds),v3=(Ss=class extends c0{constructor(i,s,h){super(i);R(this,"start");R(this,"stop");tt(this,ks,new St);this.start=s,this.stop=h,m(this,ks).addRange(s,h)}get label(){return m(this,ks)}get serializationType(){return B.RANGE}matches(i,s,h){return i>=this.start&&i<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ks=new WeakMap,I(Ss,"RangeTransition"),Ss),Ei=(Bs=class extends c0{constructor(i,s=-1){super(i);tt(this,Hs,void 0);$(this,Hs,s)}get isEpsilon(){return!0}matches(i,s,h){return!1}get outermostPrecedenceReturn(){return m(this,Hs)}get serializationType(){return B.EPSILON}toString(){return"epsilon"}},Hs=new WeakMap,I(Bs,"EpsilonTransition"),Bs),Y3=(Fs=class extends xh{constructor(i,s,h,a){super(i);R(this,"ruleIndex");R(this,"predIndex");R(this,"isCtxDependent");this.ruleIndex=s,this.predIndex=h,this.isCtxDependent=a}get isEpsilon(){return!0}matches(i,s,h){return!1}get serializationType(){return B.PREDICATE}getPredicate(){return new nt.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},I(Fs,"PredicateTransition"),Fs),Gr=(Gs=class extends xh{constructor(i,s){super(i);R(this,"precedence");this.precedence=s}get isEpsilon(){return!0}matches(i,s,h){return!1}getPredicate(){return new nt.PrecedencePredicate(this.precedence)}get serializationType(){return B.PRECEDENCE}toString(){return this.precedence+" >= _p"}},I(Gs,"PrecedencePredicateTransition"),Gs),Ht={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},br=(E1=class extends ke{constructor(){super(Ht.SKIP)}execute(e){e.skip()}toString(){return"skip"}},I(E1,"LexerSkipAction"),R(E1,"INSTANCE",new E1),E1),wr=(Z1=class extends ke{constructor(i){super(Ht.CHANNEL);R(this,"channel");this.channel=i}execute(i){i._channel=this.channel}updateHashCode(i){i.update(this.actionType,this.channel)}equals(i){return this===i?!0:i instanceof Z1?this.channel===i.channel:!1}toString(){return"channel("+this.channel+")"}},I(Z1,"LexerChannelAction"),Z1),vr=(J1=class extends ke{constructor(i,s){super(Ht.CUSTOM);R(this,"ruleIndex");R(this,"actionIndex");this.ruleIndex=i,this.actionIndex=s,this.isPositionDependent=!0}execute(i){i.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(i){i.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(i){return this===i?!0:i instanceof J1?this.ruleIndex===i.ruleIndex&&this.actionIndex===i.actionIndex:!1}},I(J1,"LexerCustomAction"),J1),Yr=(u1=class extends ke{constructor(){super(Ht.MORE)}execute(e){e.more()}toString(){return"more"}},I(u1,"LexerMoreAction"),R(u1,"INSTANCE",new u1),u1),Vr=(z1=class extends ke{constructor(i){super(Ht.TYPE);R(this,"type");this.type=i}execute(i){i._type=this.type}updateHashCode(i){i.update(this.actionType,this.type)}equals(i){return this===i?!0:i instanceof z1?this.type===i.type:!1}toString(){return"type("+this.type+")"}},I(z1,"LexerTypeAction"),z1),Xr=(j1=class extends ke{constructor(i){super(Ht.PUSH_MODE);R(this,"mode");this.mode=i}execute(i){i.pushMode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof j1?this.mode===i.mode:!1}toString(){return"pushMode("+this.mode+")"}},I(j1,"LexerPushModeAction"),j1),Qr=(K1=class extends ke{constructor(){super(Ht.POP_MODE)}execute(e){e.popMode()}toString(){return"popMode"}},I(K1,"LexerPopModeAction"),R(K1,"INSTANCE",new K1),K1),Zr=($1=class extends ke{constructor(i){super(Ht.MODE);R(this,"mode");this.mode=i}execute(i){i.mode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof $1?this.mode===i.mode:!1}toString(){return"mode("+this.mode+")"}},I($1,"LexerModeAction"),$1),bh=I((n,e)=>{const i=new Array(n-1);return i[n-1]=e,i.map(()=>e)},"initArray"),ui=(f0=class{constructor(e){R(this,"data",[]);R(this,"pos",0);R(this,"deserializationOptions");R(this,"stateFactories",null);R(this,"actionFactories",null);e||(e=B3.defaultOptions),this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){this.reset(e),this.checkVersion();const i=this.readATN();this.readStates(i),this.readRules(i),this.readModes(i);const s=[];return this.readSets(i,s),this.readEdges(i,s),this.readDecisions(i),this.readLexerActions(i),this.markPrecedenceDecisions(i),this.verifyATN(i),this.deserializationOptions.generateRuleBypassTransitions&&i.grammarType===ri.PARSER&&(this.generateRuleBypassTransitions(i),this.verifyATN(i)),i}reset(e){return this.data=e,this.pos=0,!1}checkVersion(){const e=this.readInt();if(e!==f0.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+e+" (expected "+f0.SERIALIZED_VERSION+").")}readATN(){const e=this.readInt(),i=this.readInt();return new g(e,i)}readStates(e){let i,s;const h=[],a=[],o=this.readInt();for(let u=0;u0;)a.addTransition(u.transitions[T-1]),u.transitions=u.transitions.slice(-1);e.ruleToStartState[i].addTransition(new Ei(a)),E&&o.addTransition(new Ei(E));const _=new F3;e.addState(_),_.addTransition(new I7(o,e.ruleToTokenType[i])),a.addTransition(new Ei(_))}stateIsEndStateFor(e,i){if(e.ruleIndex!==i||!(e instanceof E0))return null;const s=e.transitions[e.transitions.length-1].target;return s instanceof v0&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof Xt?e:null}markPrecedenceDecisions(e){for(const i of e.states)if(i instanceof E0&&e.ruleToStartState[i.ruleIndex].isPrecedenceRule){const s=i.transitions[i.transitions.length-1].target;s instanceof v0&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof Xt&&(i.precedenceRuleDecision=!0)}}verifyATN(e){if(this.deserializationOptions.verifyATN){for(const i of e.states)if(i!==null)if(this.checkCondition(i.epsilonOnlyTransitions||i.transitions.length<=1),i instanceof Fh)this.checkCondition(i.loopBackState!==null);else if(i instanceof E0)if(this.checkCondition(i.loopBackState!==null),this.checkCondition(i.transitions.length===2),i.transitions[0].target instanceof Gh)this.checkCondition(i.transitions[1].target instanceof v0),this.checkCondition(!i.nonGreedy);else if(i.transitions[0].target instanceof v0)this.checkCondition(i.transitions[1].target instanceof Gh),this.checkCondition(i.nonGreedy);else throw new Error("IllegalState");else i instanceof Bh?(this.checkCondition(i.transitions.length===1),this.checkCondition(i.transitions[0].target instanceof E0)):i instanceof v0?this.checkCondition(i.loopBackState!==null):i instanceof G3?this.checkCondition(i.stopState!==null):i instanceof N1?this.checkCondition(i.endState!==null):i instanceof Hh?this.checkCondition(i.startState!==null):i instanceof G0?this.checkCondition(i.transitions.length<=1||i.decision>=0):this.checkCondition(i.transitions.length<=1||i instanceof Xt)}}checkCondition(e,i){if(!e)throw i==null&&(i="IllegalState"),i}readInt(){return this.data[this.pos++]}edgeFactory(e,i,s,h,a,o,r){const E=e.states[s];switch(i){case B.EPSILON:return new Ei(E);case B.RANGE:return o!==0?new v3(E,d.EOF,a):new v3(E,h,a);case B.RULE:return new A7(e.states[h],a,o,E);case B.PREDICATE:return new Y3(E,h,a,o!==0);case B.PRECEDENCE:return new Gr(E,h);case B.ATOM:return o!==0?new I7(E,d.EOF):new I7(E,h);case B.ACTION:return new N3(E,h,a,o!==0);case B.SET:return new kh(E,r[h]);case B.NOT_SET:return new Sh(E,r[h]);case B.WILDCARD:return new H3(E);default:throw new Error("The specified transition type: "+i+" is not valid.")}}stateFactory(e,i){var s,h;if(this.stateFactories===null){const a=[];a[Z.INVALID_TYPE]=null,a[Z.BASIC]=()=>new F3,a[Z.RULE_START]=()=>new G3,a[Z.BLOCK_START]=()=>new w3,a[Z.PLUS_BLOCK_START]=()=>new Fh,a[Z.STAR_BLOCK_START]=()=>new Gh,a[Z.TOKEN_START]=()=>new Fr,a[Z.RULE_STOP]=()=>new Xt,a[Z.BLOCK_END]=()=>new Hh,a[Z.STAR_LOOP_BACK]=()=>new Bh,a[Z.STAR_LOOP_ENTRY]=()=>new E0,a[Z.PLUS_LOOP_BACK]=()=>new b3,a[Z.LOOP_END]=()=>new v0,this.stateFactories=a}if(e>this.stateFactories.length||this.stateFactories[e]===null)throw new Error("The specified state type "+e+" is not valid.");{const a=((h=(s=this.stateFactories)[e])==null?void 0:h.call(s))??null;if(a!==null)return a.ruleIndex=i,a}return null}lexerActionFactory(e,i,s){if(this.actionFactories===null){const h=[];h[Ht.CHANNEL]=(a,o)=>new wr(a),h[Ht.CUSTOM]=(a,o)=>new vr(a,o),h[Ht.MODE]=(a,o)=>new Zr(a),h[Ht.MORE]=(a,o)=>Yr.INSTANCE,h[Ht.POP_MODE]=(a,o)=>Qr.INSTANCE,h[Ht.PUSH_MODE]=(a,o)=>new Xr(a),h[Ht.SKIP]=(a,o)=>br.INSTANCE,h[Ht.TYPE]=(a,o)=>new Vr(a),this.actionFactories=h}if(e>this.actionFactories.length||this.actionFactories[e]===null)throw new Error("The specified lexer action type "+e+" is not valid.");return this.actionFactories[e](i,s)}},I(f0,"ATNDeserializer"),R(f0,"SERIALIZED_VERSION",4),f0),L=(bs=class extends W{constructor(i,s=null,h=null,a=null,o=null,r=null){r=r??i.context,a=a??i.getCurrentToken(),h=h??i.getCurrentToken(),s=s??i.inputStream;super({message:"",recognizer:i,input:s,ctx:r});R(this,"deadEndConfigs",null);R(this,"startToken");this.deadEndConfigs=o,this.startToken=h,this.offendingToken=a}},I(bs,"NoViableAltException"),bs),Jr=(ws=class{constructor(){R(this,"cacheMap");this.cacheMap=new F0}get(e,i){const s=this.cacheMap.get(e)??null;return s===null?null:s.get(i)??null}set(e,i,s){let h=this.cacheMap.get(e)??null;h===null&&(h=new F0,this.cacheMap.set(e,h)),h.set(i,s)}},I(ws,"DoubleDict"),ws),Nt=(vt=class{static hasSLLConflictTerminatingPrediction(e,i){if(vt.allConfigsInRuleStopStates(i))return!0;if(e===vt.SLL&&i.hasSemanticContext){const h=new Re;for(let a of i.items)a=new Ct({semanticContext:nt.NONE},a),h.add(a);i=h}const s=vt.getConflictingAltSubsets(i);return vt.hasConflictingAltSet(s)&&!vt.hasStateAssociatedWithOneAlt(i)}static hasConfigInRuleStopState(e){for(const i of e.items)if(i.state instanceof Xt)return!0;return!1}static allConfigsInRuleStopStates(e){for(const i of e.items)if(!(i.state instanceof Xt))return!1;return!0}static resolvesToJustOneViableAlt(e){return vt.getSingleViableAlt(e)}static allSubsetsConflict(e){return!vt.hasNonConflictingAltSet(e)}static hasNonConflictingAltSet(e){for(const i of e)if(i.length===1)return!0;return!1}static hasConflictingAltSet(e){for(const i of e)if(i.length>1)return!0;return!1}static allSubsetsEqual(e){let i=null;for(const s of e)if(i===null)i=s;else if(s!==i)return!1;return!0}static getUniqueAlt(e){const i=vt.getAlts(e);return i.length===1?i.nextSetBit(0):g.INVALID_ALT_NUMBER}static getAlts(e){const i=new fe;return e.forEach(s=>{i.or(s)}),i}static getConflictingAltSubsets(e){const i=new F0(s=>xe.hashStuff(s.state.stateNumber,s.context),(s,h)=>{var a;return s.state.stateNumber===h.state.stateNumber&&(((a=s.context)==null?void 0:a.equals(h.context))??!0)});return e.items.forEach(s=>{let h=i.get(s);h===null&&(h=new fe,i.set(s,h)),h.set(s.alt)}),i.getValues()}static getStateToAltMap(e){const i=new F0;return e.items.forEach(s=>{let h=i.get(s.state);h||(h=new fe,i.set(s.state,h)),h.set(s.alt)}),i}static hasStateAssociatedWithOneAlt(e){const i={};return e.items.forEach(s=>{const h=s.state.stateNumber;i[h]||(i[h]=0),i[h]++}),Object.values(i).some(s=>s===1)}static getSingleViableAlt(e){let i=null;for(const s of e){const h=s.nextSetBit(0);if(i===null)i=h;else if(i!==h)return g.INVALID_ALT_NUMBER}return i??0}},I(vt,"PredictionMode"),R(vt,"SLL",0),R(vt,"LL",1),R(vt,"LL_EXACT_AMBIG_DETECTION",2),vt),L7=(G=class extends ge{constructor(i,s,h,a){super(s,a);R(this,"predictionMode");R(this,"decisionToDFA");R(this,"parser");R(this,"mergeCache",null);R(this,"_input",null);R(this,"_startIndex",0);R(this,"_outerContext",null);R(this,"_dfa",null);this.parser=i,this.decisionToDFA=h}static getUniqueAlt(i){let s=g.INVALID_ALT_NUMBER;for(const h of i.items)if(s===g.INVALID_ALT_NUMBER)s=h.alt;else if(h.alt!==s)return g.INVALID_ALT_NUMBER;return s}reset(){}clearDFA(){for(let i=0;i"}getTokenName(i){if(i===d.EOF)return"EOF";const h=(this.parser!=null?this.parser.vocabulary:Se.EMPTY_VOCABULARY).getDisplayName(i);return h===i.toString()?h:h+"<"+i+">"}getLookaheadName(i){return this.getTokenName(i.LA(1))}dumpDeadEndConfigs(i){console.log("dead end configs: ");const s=i.deadEndConfigs.items;for(const h of s){let a="no edges";if(h.state.transitions.length>0){const o=h.state.transitions[0];o instanceof I7?a="Atom "+this.getTokenName(o.labelValue):o instanceof kh&&(a=(o instanceof Sh?"~":"")+"Set "+o.label)}console.error(h.toString(this.parser,!0)+":"+a)}}predicateDFAState(i,s){const h=s.transitions.length,a=this.getConflictingAltsOrUniqueAlt(i.configs),o=this.getPredsForAmbigAlts(a,i.configs,h);o!==null?(i.predicates=this.getPredicatePredictions(a,o),i.prediction=g.INVALID_ALT_NUMBER):i.prediction=a.nextSetBit(0)}execATNWithFullContext(i,s,h,a,o,r){(G.debug||G.trace_atn_sim)&&console.log("execATNWithFullContext "+h);const E=!0;let u=!1,T,_=h;a.seek(o);let A=a.LA(1),N=-1;for(;;){if(T=this.computeReachSet(_,A,E),T===null){const D=this.noViableAlt(a,r,_,o);a.seek(o);const k=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(_,r);if(k!==g.INVALID_ALT_NUMBER)return k;throw D}const x=Nt.getConflictingAltSubsets(T);if(G.debug&&console.log("LL altSubSets="+x+", predict="+Nt.getUniqueAlt(x)+", resolvesToJustOneViableAlt="+Nt.resolvesToJustOneViableAlt(x)),T.uniqueAlt=G.getUniqueAlt(T),T.uniqueAlt!==g.INVALID_ALT_NUMBER){N=T.uniqueAlt;break}else if(this.predictionMode!==Nt.LL_EXACT_AMBIG_DETECTION){if(N=Nt.resolvesToJustOneViableAlt(x),N!==g.INVALID_ALT_NUMBER)break}else if(Nt.allSubsetsConflict(x)&&Nt.allSubsetsEqual(x)){u=!0,N=Nt.getSingleViableAlt(x);break}_=T,A!==d.EOF&&(a.consume(),A=a.LA(1))}return T.uniqueAlt!==g.INVALID_ALT_NUMBER?(this.reportContextSensitivity(i,N,T,o,a.index),N):(this.reportAmbiguity(i,s,o,a.index,u,null,T),N)}computeReachSet(i,s,h){G.debug&&console.log("in computeReachSet, starting closure: "+i),this.mergeCache===null&&(this.mergeCache=new Jr);const a=new Re(h);let o=null;for(const E of i.items){if(G.debug&&console.log("testing "+this.getTokenName(s)+" at "+E),E.state instanceof Xt){(h||s===d.EOF)&&(o===null&&(o=[]),o.push(E));continue}for(const u of E.state.transitions){const T=this.getReachableTarget(u,s);if(T!==null){const _=new Ct({state:T},E);a.add(_,this.mergeCache)}}}let r=null;if(o===null&&s!==d.EOF&&(a.items.length===1||G.getUniqueAlt(a)!==g.INVALID_ALT_NUMBER)&&(r=a),r===null){r=new Re(h);const E=new se,u=s===d.EOF;for(const T of a.items)this.closure(T,r,E,!1,h,u)}if(s===d.EOF&&(r=this.removeAllConfigsNotInRuleStopState(r,r===a)),o!==null&&(!h||!Nt.hasConfigInRuleStopState(r)))for(const E of o)r.add(E,this.mergeCache);return r.items.length===0?null:r}removeAllConfigsNotInRuleStopState(i,s){if(Nt.allConfigsInRuleStopStates(i))return i;const h=new Re(i.fullCtx);for(const a of i.items){if(a.state instanceof Xt){h.add(a,this.mergeCache);continue}if(s&&a.state.epsilonOnlyTransitions&&this.atn.nextTokens(a.state).contains(d.EPSILON)){const r=this.atn.ruleToStopState[a.state.ruleIndex];h.add(new Ct({state:r},a),this.mergeCache)}}return h}computeStartState(i,s,h){const a=gh(this.atn,s),o=new Re(h);for(let r=0;r0&&(r=this.getAltThatFinishedDecisionEntryRule(o),r!==g.INVALID_ALT_NUMBER)?r:g.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(i){const s=[];for(const h of i.items)(h.reachesIntoOuterContext>0||h.state instanceof Xt&&h.context.hasEmptyPath())&&s.indexOf(h.alt)<0&&s.push(h.alt);return s.length===0?g.INVALID_ALT_NUMBER:Math.min(...s)}splitAccordingToSemanticValidity(i,s){const h=new Re(i.fullCtx),a=new Re(i.fullCtx);for(const o of i.items)o.semanticContext!==nt.NONE?o.semanticContext.evaluate(this.parser,s)?h.add(o):a.add(o):h.add(o);return[h,a]}evalSemanticContext(i,s,h){const a=new fe;for(const o of i){if(o.pred===nt.NONE){if(a.set(o.alt),!h)break;continue}const r=o.pred.evaluate(this.parser,s);if((G.debug||G.dfa_debug)&&console.log("eval pred "+o+"="+r),r&&((G.debug||G.dfa_debug)&&console.log("PREDICT "+o.alt),a.set(o.alt),!h))break}return a}closure(i,s,h,a,o,r){this.closureCheckingStopState(i,s,h,a,o,0,r)}closureCheckingStopState(i,s,h,a,o,r,E){if(i.state instanceof Xt)if(i.context&&!i.context.isEmpty()){for(let u=0;u=0&&(D+=1)}this.closureCheckingStopState(x,s,h,N,o,D,E)}}}canDropLoopEntryEdgeInLeftRecursiveRule(i){const s=i.state;if(s.stateType!==Z.STAR_LOOP_ENTRY||!i.context||!s.precedenceRuleDecision||i.context.isEmpty()||i.context.hasEmptyPath())return!1;const h=i.context.length;for(let E=0;E=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+B0(this.parser.getRuleInvocationStack())));let r=null;if(h&&a)if(o&&this._input){const E=this._input.index;this._input.seek(this._startIndex);const u=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(E),u&&(r=new Ct({state:s.target},i))}else{const E=nt.andContext(i.semanticContext,s.getPredicate());r=new Ct({state:s.target,semanticContext:E},i)}else r=new Ct({state:s.target},i);return G.debug&&console.log("config from pred transition="+r),r}predTransition(i,s,h,a,o){G.debug&&(console.log("PRED (collectPredicates="+h+") "+s.ruleIndex+":"+s.predIndex+", ctx dependent="+s.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+B0(this.parser.getRuleInvocationStack())));let r=null;if(h&&(s.isCtxDependent&&a||!s.isCtxDependent))if(o&&this._input){const E=this._input.index;this._input.seek(this._startIndex);const u=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(E),u&&(r=new Ct({state:s.target},i))}else{const E=nt.andContext(i.semanticContext,s.getPredicate());r=new Ct({state:s.target,semanticContext:E},i)}else r=new Ct({state:s.target},i);return G.debug&&console.log("config from pred transition="+r),r}ruleTransition(i,s){G.debug&&console.log("CALL rule "+this.getRuleName(s.target.ruleIndex)+", ctx="+i.context);const h=s.followState,a=ne.create(i.context,h.stateNumber);return new Ct({state:s.target,context:a},i)}getConflictingAlts(i){const s=Nt.getConflictingAltSubsets(i);return Nt.getAlts(s)}getConflictingAltsOrUniqueAlt(i){let s;return i.uniqueAlt!==g.INVALID_ALT_NUMBER?(s=new fe,s.set(i.uniqueAlt)):s=i.conflictingAlts,s}noViableAlt(i,s,h,a){return new L(this.parser,i,i.get(a),i.LT(1),h,s)}addDFAEdge(i,s,h,a){return G.debug&&console.log("EDGE "+s+" -> "+a+" upon "+this.getTokenName(h)),a===null?null:(a=this.addDFAState(i,a),s===null||h<-1||h>this.atn.maxTokenType||(s.edges===null&&(s.edges=new Array(this.atn.maxTokenType+2),s.edges.fill(null)),s.edges[h+1]=a,G.debug&&console.log(`DFA= -`+i.toString(this.parser!=null?this.parser.vocabulary:Se.EMPTY_VOCABULARY))),a)}addDFAState(i,s){if(s===ge.ERROR)return s;const h=i.states.get(s);return h!==null?h:(s.stateNumber=i.states.length,s.configs.readOnly||(s.configs.optimizeConfigs(this),s.configs.setReadonly(!0)),i.states.add(s),G.debug&&console.log("adding new DFA state: "+s),s)}reportAttemptingFullContext(i,s,h,a,o){if(G.debug||G.retry_debug){const r=new P(a,o+1);console.log("reportAttemptingFullContext decision="+i.decision+":"+h+", input="+this.parser.tokenStream.getText(r))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,i,a,o,s,h)}reportContextSensitivity(i,s,h,a,o){if(G.debug||G.retry_debug){const r=new P(a,o+1);console.log("reportContextSensitivity decision="+i.decision+":"+h+", input="+this.parser.tokenStream.getText(r))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,i,a,o,s,h)}reportAmbiguity(i,s,h,a,o,r,E){if(G.debug||G.retry_debug){const u=new P(h,a+1);console.log("reportAmbiguity "+r+":"+E+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,i,h,a,o,r,E)}},I(G,"ParserATNSimulator"),R(G,"debug"),R(G,"trace_atn_sim",!1),R(G,"debug_add",!1),R(G,"debug_closure",!1),R(G,"dfa_debug",!1),R(G,"retry_debug",!1),G),Ki=(vs=class{constructor(){R(this,"cache",new F0)}add(e){if(e===M.EMPTY)return M.EMPTY;const i=this.cache.get(e)||null;return i!==null?i:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}},I(vs,"PredictionContextCache"),vs),Wi=(Ys=class{constructor(e,i,s,h,a,o){R(this,"decision");R(this,"configs");R(this,"input");R(this,"startIndex");R(this,"stopIndex");R(this,"fullCtx");this.decision=e,this.configs=i,this.input=s,this.startIndex=h,this.stopIndex=a,this.fullCtx=o}},I(Ys,"DecisionEventInfo"),Ys),zr=(Vs=class extends Wi{constructor(i,s,h,a,o,r,E){super(i,s,a,o,r,E);R(this,"ambigAlts");this.ambigAlts=h}},I(Vs,"AmbiguityInfo"),Vs),V3=(Xs=class extends Wi{constructor(e,i,s,h,a){super(e,i,s,h,a,!0)}},I(Xs,"ContextSensitivityInfo"),Xs),jr=(Qs=class{constructor(e){R(this,"decision",0);R(this,"invocations",0);R(this,"timeInPrediction",0);R(this,"SLL_TotalLook",0);R(this,"SLL_MinLook",0);R(this,"SLL_MaxLook",0);R(this,"SLL_MaxLookEvent");R(this,"LL_TotalLook",0);R(this,"LL_MinLook",0);R(this,"LL_MaxLook",0);R(this,"LL_MaxLookEvent");R(this,"contextSensitivities");R(this,"errors");R(this,"ambiguities");R(this,"predicateEvals");R(this,"SLL_ATNTransitions",0);R(this,"SLL_DFATransitions",0);R(this,"LL_Fallback",0);R(this,"LL_ATNTransitions",0);R(this,"LL_DFATransitions",0);this.decision=e,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},I(Qs,"DecisionInfo"),Qs),wh=(Zs=class extends Wi{constructor(e,i,s,h,a,o){super(e,i,s,h,a,o)}},I(Zs,"ErrorInfo"),Zs),X3=(Js=class extends Wi{constructor(i,s,h,a,o,r,E){super(i,s,a,o,r,E);R(this,"predictedAlt");this.predictedAlt=h}},I(Js,"LookaheadEventInfo"),Js),vh=(zs=class extends L7{constructor(i){const s=i.interpreter.getSharedContextCache();super(i,i.interpreter.atn,i.interpreter.decisionToDFA,s);R(this,"decisions");R(this,"numDecisions",0);R(this,"currentDecision",0);R(this,"currentState");R(this,"conflictingAltResolvedBySLL");tt(this,qe,0);tt(this,t0,0);if(s){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let h=0;hthis.decisions[s].SLL_MaxLook&&(this.decisions[s].SLL_MaxLook=E,this.decisions[s].SLL_MaxLookEvent=new X3(s,null,o,i,this._startIndex,m(this,qe),!1)),m(this,t0)>=0){const u=m(this,t0)-this._startIndex+1;this.decisions[s].LL_TotalLook+=u,this.decisions[s].LL_MinLook=this.decisions[s].LL_MinLook===0?u:Math.min(this.decisions[s].LL_MinLook,u),u>this.decisions[s].LL_MaxLook&&(this.decisions[s].LL_MaxLook=u,this.decisions[s].LL_MaxLookEvent=new X3(s,null,o,i,this._startIndex,m(this,t0),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(i,s){if(this._input){$(this,qe,this._input.index);const h=super.getExistingTargetState(i,s);return h!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,h===ge.ERROR&&this.decisions[this.currentDecision].errors.push(new wh(this.currentDecision,i.configs,this._input,this._startIndex,m(this,qe),!1))),this.currentState=h,h}return null}computeTargetState(i,s,h){const a=super.computeTargetState(i,s,h);return this.currentState=a,a}computeReachSet(i,s,h){h&&this._input&&$(this,t0,this._input.index);const a=super.computeReachSet(i,s,h);return this._input&&(h?(this.decisions[this.currentDecision].LL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new wh(this.currentDecision,i,this._input,this._startIndex,m(this,t0),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new wh(this.currentDecision,i,this._input,this._startIndex,m(this,qe),!1)))),a}reportAttemptingFullContext(i,s,h,a,o){s!==null?this.conflictingAltResolvedBySLL=s.nextSetBit(0):this.conflictingAltResolvedBySLL=h.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,s&&super.reportAttemptingFullContext(i,s,h,a,o)}reportContextSensitivity(i,s,h,a,o){s!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new V3(this.currentDecision,h,this._input,a,o)),super.reportContextSensitivity(i,s,h,a,o)}reportAmbiguity(i,s,h,a,o,r,E){let u;r!==null?u=r.nextSetBit(0):u=E.getAlts().nextSetBit(0),this._input&&(E.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new V3(this.currentDecision,E,this._input,h,a)),this.decisions[this.currentDecision].ambiguities.push(new zr(this.currentDecision,E,r,this._input,h,a,E.fullCtx))),super.reportAmbiguity(i,s,h,a,o,r,E)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},qe=new WeakMap,t0=new WeakMap,I(zs,"ProfilingATNSimulator"),zs);js=class{constructor(e){R(this,"atnSimulator");this.atnSimulator=e}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const e=this.atnSimulator.getDecisionInfo(),i=[];for(let s=0;s0&&i.push(s);return i}getTotalTimeInPrediction(){const e=this.atnSimulator.getDecisionInfo();let i=0;for(let s=0;s0?s:void 0,modes:h.length>0?h:void 0}}},I(Ms,"InterpreterDataReader"),Ps=class{visit(e){return e.accept(this)}visitChildren(e){let i=this.defaultResult();const s=e.getChildCount();for(let h=0;h=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(e){if(e===0)return 0;e<0&&(e+=1);const i=this.index+e-1;return i<0||i>=this.data.length?d.EOF:this.data[i]}mark(){return-1}release(e){}seek(e){if(e<=this.index){this.index=e;return}this.index=Math.min(e,this.data.length)}getText(e,i){let s,h;return e instanceof P?(s=e.start,h=e.stop):(s=e,h=i??this.data.length-1),h>=this.data.length&&(h=this.data.length-1),s>=this.data.length?"":u5(this,ys,K5).call(this,s,h+1)}toString(){return u5(this,ys,K5).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:R7.UNKNOWN_SOURCE_NAME}},ys=new WeakSet,K5=function(e,i){const s=this.data.slice(e,i);let h="";return s.forEach(a=>{h+=String.fromCodePoint(a)}),h},I(qs,"CharStreamImpl"),qs),Yh=(tn=class{static fromString(e){return new Mr(e)}},I(tn,"CharStreams"),tn),Pr=(en=class{constructor(e){R(this,"tokenSource");R(this,"tokens",[]);R(this,"p",-1);R(this,"fetchedEOF",!1);this.tokenSource=e}mark(){return 0}release(e){}reset(){this.seek(0)}seek(e){this.lazyInit(),this.p=this.adjustSeekIndex(e)}get size(){return this.tokens.length}get index(){return this.p}get(e){return this.lazyInit(),this.tokens[e]}consume(){let e=!1;if(this.p>=0?this.fetchedEOF?e=this.p0?this.fetch(i)>=i:!0}fetch(e){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length||i<0||e>=this.tokens.length)throw new RangeError("start "+e+" or stop "+i+" not in 0.."+(this.tokens.length-1));if(e>i)return[];if(s===void 0)return this.tokens.slice(e,i+1);const h=[];i>=this.tokens.length&&(i=this.tokens.length-1);for(let a=e;a=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(e){return e}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(e,i){if(this.sync(e),e>=this.tokens.length)return-1;let s=this.tokens[e];for(;s.channel!==i;){if(s.type===d.EOF)return-1;e+=1,this.sync(e),s=this.tokens[e]}return e}previousTokenOnChannel(e,i){for(;e>=0&&this.tokens[e].channel!==i;)e-=1;return e}getHiddenTokensToRight(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const s=this.nextTokenOnChannel(e+1,he.DEFAULT_TOKEN_CHANNEL),h=e+1,a=s===-1?this.tokens.length-1:s;return this.filterForChannel(h,a,i)}getHiddenTokensToLeft(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const s=this.previousTokenOnChannel(e-1,he.DEFAULT_TOKEN_CHANNEL);if(s===e-1)return null;const h=s+1,a=e-1;return this.filterForChannel(h,a,i)}filterForChannel(e,i,s){const h=[];for(let a=e;a=this.tokens.length&&(h=this.tokens.length-1);let a="";for(let o=s;o<=h;o++){const r=this.tokens[o];if(r.type===d.EOF)break;a+=r.text}return a.toString()}else{const i=e[0];return this.getText(i.getSourceInterval())}case 2:{const i=e[0],s=e[1];return i!==null&&s!==null?this.getText(P.of(i.tokenIndex,s.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},I(en,"BufferedTokenStream"),en),O7=(sn=class extends Pr{constructor(i,s){super(i);R(this,"channel",d.DEFAULT_CHANNEL);this.channel=s??d.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(i){if(i===0||this.index-i<0)return null;let s=this.index,h=1;for(;h<=i;)s=this.previousTokenOnChannel(s-1,this.channel),h+=1;return s<0?null:this.tokens[s]}LT(i){if(this.lazyInit(),i===0)return null;if(i<0)return this.LB(-i);let s=this.index,h=1;for(;hnew b0(e,i))),Q),yr=(nn=class extends T7{syntaxError(e,i,s,h,a,o){}},I(nn,"XPathLexerErrorListener"),nn),l1=(hn=class{constructor(e){R(this,"invert");R(this,"nodeName");this.nodeName=e,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(hn,"XPathElement"),hn),qr=(an=class extends l1{constructor(i,s){super(i);R(this,"ruleIndex");this.ruleIndex=s}evaluate(i){return r0.findAllRuleNodes(i,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(an,"XPathRuleAnywhereElement"),an),t8=(cn=class extends l1{constructor(i,s){super(i);R(this,"ruleIndex");this.ruleIndex=s}evaluate(i){const s=[];for(const h of r0.getChildren(i))h instanceof K&&(h.ruleIndex===this.ruleIndex&&!this.invert||h.ruleIndex!==this.ruleIndex&&this.invert)&&s.push(h);return s}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(cn,"XPathRuleElement"),cn),e8=(on=class extends l1{constructor(i,s){super(i);R(this,"tokenType");this.tokenType=s}evaluate(i){return r0.findAllTokenNodes(i,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(on,"XPathTokenAnywhereElement"),on),i8=(rn=class extends l1{constructor(i,s){super(i);R(this,"tokenType");this.tokenType=s}evaluate(i){const s=[];for(const h of r0.getChildren(i))h instanceof Ye&&h.symbol&&(h.symbol.type===this.tokenType&&!this.invert||h.symbol.type!==this.tokenType&&this.invert)&&s.push(h);return s}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(rn,"XPathTokenElement"),rn),s8=(En=class extends l1{constructor(){super(Z3.WILDCARD)}evaluate(e){return this.invert?[]:r0.descendants(e)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(En,"XPathWildcardAnywhereElement"),En),n8=(un=class extends l1{constructor(){super(Z3.WILDCARD)}evaluate(e){const i=[];if(this.invert)return i;for(const s of r0.getChildren(e))i.push(s);return i}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(un,"XPathWildcardElement"),un),Z3=(g0=class{constructor(e,i){R(this,"path");R(this,"elements");R(this,"parser");this.parser=e,this.path=i,this.elements=this.split(i)}static findAll(e,i,s){return new g0(s,i).evaluate(e)}split(e){const i=new Te(Yh.fromString(e));i.recover=E=>{throw E},i.removeErrorListeners(),i.addErrorListener(new yr);const s=new O7(i);try{s.fill()}catch(E){if(E instanceof _7){const T="Invalid tokens or characters at index "+i.column+" in path '"+e+"' -- "+E.message;throw new RangeError(T)}throw E}const h=s.getTokens(),a=[],o=h.length;let r=0;t:for(;r0&&this.elements[h].evaluate(o).forEach(E=>{a.add(E)},a);h++,s=a}return s}getXPathElement(e,i){if(e.type===d.EOF)throw new Error("Missing path element at end of path");const s=e.text;if(s==null)throw new Error("Expected wordToken to have text content.");const h=this.parser.getTokenType(s),a=this.parser.getRuleIndex(s);switch(e.type){case Te.WILDCARD:return i?new s8:new n8;case Te.TOKEN_REF:case Te.STRING:if(h===d.INVALID_TYPE)throw new Error(s+" at index "+e.start+" isn't a valid token name");return i?new e8(s,h):new i8(s,h);default:if(a===-1)throw new Error(s+" at index "+e.start+" isn't a valid rule name");return i?new qr(s,a):new t8(s,a)}}},I(g0,"XPath"),R(g0,"WILDCARD","*"),R(g0,"NOT","!"),g0),Y0=(Kn=class extends W{constructor(e){super({message:"",recognizer:e,input:e.inputStream,ctx:e.context}),this.offendingToken=e.getCurrentToken()}},I(Kn,"InputMismatchException"),Kn),C7=(Wn=class extends W{constructor(i,s,h=null){super({message:h8(s??"no predicate",h??null),recognizer:i,input:i.inputStream,ctx:i.context});R(this,"ruleIndex",0);R(this,"predicateIndex",0);R(this,"predicate");const o=i.atn.states[i.state].transitions[0];o instanceof Y3?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=s,this.offendingToken=i.getCurrentToken()}},I(Wn,"FailedPredicateException"),Wn),h8=I((n,e)=>e!==null?e:"failed predicate: {"+n+"}?","formatMessage"),Vh=(Rn=class{constructor(){R(this,"errorRecoveryMode",!1);R(this,"lastErrorIndex",-1);R(this,"lastErrorStates",new St);R(this,"nextTokensContext",null);R(this,"nextTokenState",0)}reset(e){this.endErrorCondition(e)}beginErrorCondition(e){this.errorRecoveryMode=!0}inErrorRecoveryMode(e){return this.errorRecoveryMode}endErrorCondition(e){this.errorRecoveryMode=!1,this.lastErrorStates=new St,this.lastErrorIndex=-1}reportMatch(e){this.endErrorCondition(e)}reportError(e,i){this.inErrorRecoveryMode(e)||(this.beginErrorCondition(e),i instanceof L?this.reportNoViableAlternative(e,i):i instanceof Y0?this.reportInputMismatch(e,i):i instanceof C7?this.reportFailedPredicate(e,i):e.notifyErrorListeners(i.message,i.offendingToken,i))}recover(e,i){this.lastErrorIndex===e.inputStream.index&&this.lastErrorStates.contains(e.state)&&e.consume(),this.lastErrorIndex=e.inputStream.index,this.lastErrorStates.addOne(e.state);const s=this.getErrorRecoverySet(e);this.consumeUntil(e,s)}sync(e){if(this.inErrorRecoveryMode(e))return;const i=e.atn.states[e.state],s=e.tokenStream.LA(1),h=e.atn.nextTokens(i);if(h.contains(s)){this.nextTokensContext=null,this.nextTokenState=Ue.INVALID_STATE_NUMBER;return}else if(h.contains(d.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=e.context,this.nextTokenState=e.state);return}switch(i.stateType){case Z.BLOCK_START:case Z.STAR_BLOCK_START:case Z.PLUS_BLOCK_START:case Z.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(e)!==null)return;throw new Y0(e);case Z.PLUS_LOOP_BACK:case Z.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const a=new St;a.addSet(e.getExpectedTokens());const o=a.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,o)}break}}reportNoViableAlternative(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const s=e.tokenStream;let h;s!==null&&i.startToken?i.startToken.type===d.EOF?h="":h=s.getText(new P(i.startToken.tokenIndex,i.offendingToken.tokenIndex)):h="";const a="no viable alternative at input "+this.escapeWSAndQuote(h);e.notifyErrorListeners(a,i.offendingToken,i)}reportInputMismatch(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const s="mismatched input "+this.getTokenErrorDisplay(i.offendingToken)+" expecting "+i.getExpectedTokens().toString(e.vocabulary);e.notifyErrorListeners(s,i.offendingToken,i)}reportFailedPredicate(e,i){const h="rule "+e.ruleNames[e.context.ruleIndex]+" "+i.message;e.notifyErrorListeners(h,i.offendingToken,i)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),s=this.getTokenErrorDisplay(i),h=this.getExpectedTokens(e),a="extraneous input "+s+" expecting "+h.toString(e.vocabulary);e.notifyErrorListeners(a,i,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),h="missing "+this.getExpectedTokens(e).toString(e.vocabulary)+" at "+this.getTokenErrorDisplay(i);e.notifyErrorListeners(h,i,null)}recoverInline(e){const i=this.singleTokenDeletion(e);if(i!==null)return e.consume(),i;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new Y0(e)}singleTokenInsertion(e){const i=e.tokenStream.LA(1),s=e.atn,a=s.states[e.state].transitions[0].target;return s.nextTokens(a,e.context).contains(i)?(this.reportMissingToken(e),!0):!1}singleTokenDeletion(e){const i=e.tokenStream.LA(2);if(this.getExpectedTokens(e).contains(i)){this.reportUnwantedToken(e),e.consume();const h=e.getCurrentToken();return this.reportMatch(e),h}else return null}getMissingSymbol(e){const i=e.getCurrentToken(),s=this.getExpectedTokens(e);let h=d.INVALID_TYPE;s.isNil||(h=s.minElement);let a;h===d.EOF?a="":a="";let o=i;const r=e.tokenStream.LT(-1);return o.type===d.EOF&&r!==null&&(o=r),e.getTokenFactory().create(o.source,h,a,d.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(e){if(e===null)return"";let i=e.text;return i===null&&(e.type===d.EOF?i="":i="<"+e.type+">"),this.escapeWSAndQuote(i)}escapeWSAndQuote(e){return e=e.replace(/\n/g,"\\n"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\t/g,"\\t"),"'"+e+"'"}getErrorRecoverySet(e){const i=e.atn;let s=e.context;const h=new St;for(;s!==null&&s.invokingState>=0;){const o=i.states[s.invokingState].transitions[0],r=i.nextTokens(o.followState);h.addSet(r),s=s.parent}return h.removeOne(d.EPSILON),h}consumeUntil(e,i){let s=e.tokenStream.LA(1);for(;s!==d.EOF&&!i.contains(s);)e.consume(),s=e.tokenStream.LA(1)}},I(Rn,"DefaultErrorStrategy"),Rn);Tn=class extends Vh{recover(e,i){let s=e.context;for(;s!==null;)s.exception=i,s=s.parent;throw new Q3(i)}recoverInline(e){const i=new Y0(e);let s=e.context;for(;s!==null;)s.exception=i,s=s.parent;throw new Q3(i)}sync(e){}},I(Tn,"BailErrorStrategy"),_n=class extends T7{constructor(i){super();R(this,"exactOnly");R(this,"reportAmbiguity",(i,s,h,a,o,r,E)=>{if(this.exactOnly&&!o)return;const u=this.getDecisionDescription(i,s),T=this.getConflictingAlts(r,E),_=i.tokenStream.getText(P.of(h,a)),A=`reportAmbiguity d=${u}: ambigAlts=${T}, input='${_}'`;i.notifyErrorListeners(A,null,null)});R(this,"reportAttemptingFullContext",(i,s,h,a,o,r)=>{const E=this.getDecisionDescription(i,s),u=i.tokenStream.getText(P.of(h,a)),T=`reportAttemptingFullContext d=${E}, input='${u}'`;i.notifyErrorListeners(T,null,null)});R(this,"reportContextSensitivity",(i,s,h,a,o,r)=>{const E=this.getDecisionDescription(i,s),u=i.tokenStream.getText(P.of(h,a)),T=`reportContextSensitivity d=${E}, input='${u}'`;i.notifyErrorListeners(T,null,null)});R(this,"getDecisionDescription",(i,s)=>{const h=s.decision,a=s.atnStartState.ruleIndex,o=i.ruleNames;if(a<0||a>=o.length)return h.toString();const r=o[a];return r.length===0?h.toString():`${h} (${r})`});R(this,"getConflictingAlts",(i,s)=>{if(i!==null)return i;const h=new fe;for(let a=0;a{super(...aR);tt(this,An,void 0)};h!==void 0?n(s,h):n(),$(this,An,i)}get ruleIndex(){return m(this,An)}},An=new WeakMap,I(In,"InterpreterRuleContext"),In);pn=class extends he{constructor(i,s,h,a,o,r,E){super(E);tt(this,Ln,void 0);tt(this,On,void 0);tt(this,Cn,void 0);tt(this,Nn,void 0);tt(this,ln,void 0);tt(this,dn,void 0);tt(this,mn,void 0);tt(this,th,new Ki);if(r.grammarType!==ri.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");$(this,Ln,i),$(this,On,r),$(this,Cn,h.slice(0)),$(this,Nn,a.slice(0)),$(this,ln,o.slice(0)),$(this,dn,s),$(this,mn,r.decisionToState.map((u,T)=>new b0(u,T))),this.interpreter=new w0(this,r,m(this,mn),m(this,th))}get atn(){return m(this,On)}get grammarFileName(){return m(this,Ln)}get ruleNames(){return m(this,Cn)}get channelNames(){return m(this,Nn)}get modeNames(){return m(this,ln)}get vocabulary(){return m(this,dn)}},Ln=new WeakMap,On=new WeakMap,Cn=new WeakMap,Nn=new WeakMap,ln=new WeakMap,dn=new WeakMap,mn=new WeakMap,th=new WeakMap,I(pn,"LexerInterpreter");var c8=(xn=class{constructor(e){R(this,"parser");this.parser=e}enterEveryRule(e){console.log("enter "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(e){console.log("consume "+e.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(e){console.log("exit "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(e){}},I(xn,"TraceListener"),xn),J3=(fn=class extends g3{constructor(i){super();R(this,"printer",null);R(this,"buildParseTrees",!0);R(this,"errorHandler",new Vh);R(this,"context",null);R(this,"_input",null);R(this,"_precedenceStack",[]);R(this,"_parseListeners",null);R(this,"_syntaxErrors",0);R(this,"matchedEOF",!1);R(this,"_tracer",null);R(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=i}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(i){let s=this.getCurrentToken();return s.type===i?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}matchWildcard(){let i=this.getCurrentToken();return i.type>0?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}getParseListeners(){return this._parseListeners??[]}addParseListener(i){if(i===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(i)}removeParseListener(i){if(this._parseListeners!==null&&i!==null){const s=this._parseListeners.indexOf(i);s>=0&&this._parseListeners.splice(s,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.forEach(s=>{s.enterEveryRule(i),i.enterRule(s)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.slice(0).reverse().forEach(s=>{i.exitRule(s),s.exitEveryRule(i)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(i){this._input.getTokenSource().tokenFactory=i}getATNWithBypassAlts(){const i=this.getSerializedATN();if(i===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const s=new B3;return s.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new ui(s).deserialize(i),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(i){this._input=null,this.reset(),this._input=i}get inputStream(){return this._input}set inputStream(i){this.tokenStream=i}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(i,s,h){s=s??null,h=h??null,s===null&&(s=this.getCurrentToken()),this._syntaxErrors+=1;const a=s.line,o=s.column;this.getErrorListenerDispatch().syntaxError(this,s,a,o,i,h)}consume(){const i=this.getCurrentToken();i.type!==d.EOF&&this.tokenStream.consume();const s=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||s){let h;this.errorHandler.inErrorRecoveryMode(this)?h=this.context.addErrorNode(this.createErrorNode(this.context,i)):h=this.context.addTokenNode(i),s&&this._parseListeners.forEach(a=>{h instanceof oi?a.visitErrorNode(h):a.visitTerminal(h)})}return i}addContextToParseTree(){var i;((i=this.context)==null?void 0:i.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(i,s,h){this.state=s,this.context=i,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(i,s){i.setAltNumber(s),this.buildParseTrees&&this.context!==i&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(i)),this.context=i}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(i,s,h,a){this.state=s,this._precedenceStack.push(a),this.context=i,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(i,s,h){const a=this.context;a.parent=i,a.invokingState=s,a.stop=this._input.LT(-1),this.context=i,this.context.start=a.start,this.buildParseTrees&&this.context.addChild(a),this.triggerEnterRuleEvent()}unrollRecursionContexts(i){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const s=this.context,h=this.getParseListeners();if(h!==null&&h.length>0)for(;this.context!==i;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=i;s.parent=i,this.buildParseTrees&&i!==null&&i.addChild(s)}getInvokingContext(i){let s=this.context;for(;s!==null;){if(s.ruleIndex===i)return s;s=s.parent}return null}precpred(i,s){return s>=this._precedenceStack[this._precedenceStack.length-1]}inContext(i){return!1}isExpectedToken(i){const s=this.interpreter.atn;let h=this.context;const a=s.states[this.state];let o=s.nextTokens(a);if(o.contains(i))return!0;if(!o.contains(d.EPSILON))return!1;for(;h!==null&&h.invokingState>=0&&o.contains(d.EPSILON);){const E=s.states[h.invokingState].transitions[0];if(o=s.nextTokens(E.followState),o.contains(i))return!0;h=h.parent}return!!(o.contains(d.EPSILON)&&i===d.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const i=this.interpreter.atn,s=i.states[this.state];return i.nextTokens(s)}getRuleIndex(i){const s=this.getRuleIndexMap().get(i);return s??-1}getRuleInvocationStack(i){i=i??null,i===null&&(i=this.context);const s=[];for(;i!==null;){const h=i.ruleIndex;h<0?s.push("n/a"):s.push(this.ruleNames[h]),i=i.parent}return s}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let i=!1;for(const s of this.interpreter.decisionToDFA)s.states.length>0&&(i&&console.log(),this.printer&&(this.printer.println("Decision "+s.decision+":"),this.printer.print(s.toString(this.vocabulary))),i=!0)}getSourceName(){return this._input.getSourceName()}setProfile(i){const s=this.interpreter,h=s.predictionMode;if(i)s instanceof vh||(this.interpreter=new vh(this));else if(s instanceof vh){const a=s.getSharedContextCache();if(a){const o=new L7(this,this.atn,s.decisionToDFA,a);this.interpreter=o}}this.interpreter.predictionMode=h}setTrace(i){i?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new c8(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(i,s){return new Ye(s)}createErrorNode(i,s){return new oi(s)}},I(fn,"Parser"),fn);Sn=class extends J3{constructor(i,s,h,a,o){super(o);R(this,"_rootContext");R(this,"_parentContextStack",[]);R(this,"overrideDecision",-1);R(this,"overrideDecisionInputIndex",-1);R(this,"overrideDecisionAlt",-1);R(this,"overrideDecisionReached",!1);R(this,"_overrideDecisionRoot",null);tt(this,gn,void 0);tt(this,de,void 0);tt(this,Un,void 0);tt(this,Dn,void 0);tt(this,kn,void 0);tt(this,eh,new Ki);tt(this,P1,void 0);$(this,gn,i),$(this,de,a),$(this,Un,h.slice(0)),$(this,Dn,s),$(this,P1,new fe);for(const r of a.states)r instanceof E0&&r.precedenceRuleDecision&&m(this,P1).set(r.stateNumber);$(this,kn,a.decisionToState.map((r,E)=>new b0(r,E))),this.interpreter=new L7(this,a,m(this,kn),m(this,eh))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return m(this,de)}get vocabulary(){return m(this,Dn)}get ruleNames(){return m(this,Un)}get grammarFileName(){return m(this,gn)}get atnState(){return m(this,de).states[this.state]}parse(i){var h;const s=m(this,de).ruleToStartState[i];for(this._rootContext=this.createInterpreterRuleContext(null,Ue.INVALID_STATE_NUMBER,i),s.isPrecedenceRule?this.enterRecursionRule(this._rootContext,s.stateNumber,i,0):this.enterRule(this._rootContext,s.stateNumber,i);;){const a=this.atnState;switch(a.stateType){case Z.RULE_STOP:if((h=this.context)!=null&&h.isEmpty)if(s.isPrecedenceRule){const o=this.context,r=this._parentContextStack.pop();return this.unrollRecursionContexts(r[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(a);break;default:try{this.visitState(a)}catch(o){if(o instanceof W)this.state=m(this,de).ruleToStopState[a.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(i,s,h){this.overrideDecision=i,this.overrideDecisionInputIndex=s,this.overrideDecisionAlt=h}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(i,s,h,a){this._parentContextStack.push([this.context,i.invokingState]),super.enterRecursionRule(i,s,h,a)}visitState(i){let s=1;i instanceof G0&&(s=this.visitDecisionState(i));const h=i.transitions[s-1];switch(h.serializationType){case B.EPSILON:if(m(this,P1).get(i.stateNumber)&&!(h.target instanceof v0)){const T=this._parentContextStack[this._parentContextStack.length-1],_=this.createInterpreterRuleContext(T[0],T[1],this.context.ruleIndex);this.pushNewRecursionContext(_,m(this,de).ruleToStartState[i.ruleIndex].stateNumber,this.context.ruleIndex)}break;case B.ATOM:this.match(h.label.minElement);break;case B.RANGE:case B.SET:case B.NOT_SET:h.matches(this._input.LA(1),d.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case B.WILDCARD:this.matchWildcard();break;case B.RULE:const a=h.target,o=a.ruleIndex,r=this.createInterpreterRuleContext(this.context,i.stateNumber,o);a.isPrecedenceRule?this.enterRecursionRule(r,a.stateNumber,o,h.precedence):this.enterRule(r,h.target.stateNumber,o);break;case B.PREDICATE:const E=h;if(!this.sempred(this.context,E.ruleIndex,E.predIndex))throw new C7(this);break;case B.ACTION:const u=h;this.action(this.context,u.ruleIndex,u.actionIndex);break;case B.PRECEDENCE:if(!this.precpred(this.context,h.precedence)){const T=h.precedence;throw new C7(this,`precpred(_ctx, ${T})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=h.target.stateNumber}visitDecisionState(i){let s=1;if(i.transitions.length>1){this.errorHandler.sync(this);const h=i.decision;h===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(s=this.overrideDecisionAlt,this.overrideDecisionReached=!0):s=this.interpreter.adaptivePredict(this._input,h,this.context)}return s}createInterpreterRuleContext(i,s,h){return new a8(h,i,s)}visitRuleStopState(i){if(m(this,de).ruleToStartState[i.ruleIndex].isPrecedenceRule){const[a,o]=this._parentContextStack.pop();this.unrollRecursionContexts(a),this.state=o}else this.exitRule();const h=m(this,de).states[this.state].transitions[0];this.state=h.followState.stateNumber}recover(i){const s=this._input.index;if(this.errorHandler.recover(this,i),this._input.index===s){const h=i.offendingToken;if(!h)throw new Error("Expected exception to have an offending token");const a=h.tokenSource,o=(a==null?void 0:a.inputStream)??null,r=[a,o];if(i instanceof Y0){const E=i.getExpectedTokens();if(!E)throw new Error("Expected the exception to provide expected tokens");let u=d.INVALID_TYPE;E.isNil||(u=E.minElement);const T=this.getTokenFactory().create(r,u,h.text,d.DEFAULT_CHANNEL,-1,-1,h.line,h.column);this.context.addErrorNode(this.createErrorNode(this.context,T))}else{const E=this.getTokenFactory().create(r,d.INVALID_TYPE,h.text,d.DEFAULT_CHANNEL,-1,-1,h.line,h.column);this.context.addErrorNode(this.createErrorNode(this.context,E))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},gn=new WeakMap,de=new WeakMap,Un=new WeakMap,Dn=new WeakMap,kn=new WeakMap,eh=new WeakMap,P1=new WeakMap,I(Sn,"ParserInterpreter"),$t=class{constructor(e){R(this,"tokens");R(this,"programs",new Map);R(this,"lastRewriteTokenIndexes");this.tokens=e}getTokenStream(){return this.tokens}insertAfter(e,i,s=$t.DEFAULT_PROGRAM_NAME){let h;typeof e=="number"?h=e:h=e.tokenIndex;const a=this.getProgram(s),o=new j3(this.tokens,h,a.length,i);a.push(o)}insertBefore(e,i,s=$t.DEFAULT_PROGRAM_NAME){let h;typeof e=="number"?h=e:h=e.tokenIndex;const a=this.getProgram(s),o=new d1(this.tokens,h,a.length,i);a.push(o)}replaceSingle(e,i,s=$t.DEFAULT_PROGRAM_NAME){this.replace(e,e,i,s)}replace(e,i,s,h=$t.DEFAULT_PROGRAM_NAME){if(typeof e!="number"&&(e=e.tokenIndex),typeof i!="number"&&(i=i.tokenIndex),e>i||e<0||i<0||i>=this.tokens.size)throw new RangeError(`replace: range invalid: ${e}..${i}(size=${this.tokens.size})`);const a=this.getProgram(h),o=new N7(this.tokens,e,i,a.length,s);a.push(o)}delete(e,i,s=$t.DEFAULT_PROGRAM_NAME){i==null&&(i=e),this.replace(e,i,null,s)}getProgram(e){let i=this.programs.get(e);return i==null&&(i=this.initializeProgram(e)),i}initializeProgram(e){const i=[];return this.programs.set(e,i),i}getText(e,i=$t.DEFAULT_PROGRAM_NAME){let s;e instanceof P?s=e:s=new P(0,this.tokens.size-1),typeof e=="string"&&(i=e);const h=this.programs.get(i);let a=s.start,o=s.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),a<0&&(a=0),h==null||h.length===0)return this.tokens.getText(new P(a,o));const r=[],E=this.reduceToSingleOperationPerIndex(h);let u=a;for(;u<=o&&u=this.tokens.size-1&&r.push(String(T.text));return r.join("")}reduceToSingleOperationPerIndex(e){for(let s=0;sa.index&&E.index<=a.lastIndex&&(e[E.instructionIndex]=null);const r=this.getKindOfOps(e,N7,s);for(const E of r){if(E.index>=a.index&&E.lastIndex<=a.lastIndex){e[E.instructionIndex]=null;continue}const u=E.lastIndexa.lastIndex;if(E.text==null&&a.text==null&&!u)e[E.instructionIndex]=null,a.index=Math.min(E.index,a.index),a.lastIndex=Math.max(E.lastIndex,a.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${a} overlap with previous ${E}`)}}for(let s=0;s=E.index&&a.index<=E.lastIndex)throw new Error(`insert op ${a} within boundaries of previous ${E}`)}}const i=new Map;for(const s of e)if(s!=null){if(i.get(s.index)!=null)throw new Error("should only be one op per index");i.set(s.index,s)}return i}catOpText(e,i){let s="",h="";return e!=null&&(s=e.toString()),i!=null&&(h=i.toString()),s+h}getKindOfOps(e,i,s){return e.slice(0,s).filter(h=>h&&h instanceof i)}},I($t,"TokenStreamRewriter"),R($t,"DEFAULT_PROGRAM_NAME","default"),R($t,"PROGRAM_INIT_SIZE",100),R($t,"MIN_TOKEN_INDEX",0);var z3=(Hn=class{constructor(e,i,s,h){R(this,"instructionIndex");R(this,"index");R(this,"text");R(this,"tokens");this.tokens=e,this.instructionIndex=s,this.index=i,this.text=h===void 0?"":h}execute(e){return this.index}toString(){return"'}},I(Hn,"RewriteOperation"),Hn),d1=(Bn=class extends z3{constructor(e,i,s,h){super(e,i,s,h)}execute(e){return this.text&&e.push(this.text.toString()),this.tokens.get(this.index).type!==d.EOF&&e.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},I(Bn,"InsertBeforeOp"),Bn),j3=(Fn=class extends d1{constructor(e,i,s,h){super(e,i+1,s,h)}toString(){return"'}},I(Fn,"InsertAfterOp"),Fn),N7=(Gn=class extends z3{constructor(i,s,h,a,o){super(i,s,a,o);R(this,"lastIndex");this.lastIndex=h}execute(i){return this.text&&i.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},I(Gn,"ReplaceOp"),Gn);class c extends he{constructor(e){super(e),this.interpreter=new w0(this,c._ATN,c.decisionsToDFA,new Ki)}get grammarFileName(){return"MySqlLexer.g4"}get literalNames(){return c.literalNames}get symbolicNames(){return c.symbolicNames}get ruleNames(){return c.ruleNames}get serializedATN(){return c._serializedATN}get channelNames(){return c.channelNames}get modeNames(){return c.modeNames}static get _ATN(){return c.__ATN||(c.__ATN=new ui().deserialize(c._serializedATN)),c.__ATN}get vocabulary(){return c.vocabulary}}c.SPACE=1,c.SPEC_MYSQL_COMMENT=2,c.COMMENT_INPUT=3,c.LINE_COMMENT=4,c.KW_ACTIVE=5,c.KW_ADD=6,c.KW_ALL=7,c.KW_ALTER=8,c.KW_ALWAYS=9,c.KW_ANALYZE=10,c.KW_AND=11,c.KW_ARRAY=12,c.KW_AS=13,c.KW_ASC=14,c.KW_ATTRIBUTE=15,c.KW_BEFORE=16,c.KW_BETWEEN=17,c.KW_BOTH=18,c.KW_BUCKETS=19,c.KW_BY=20,c.KW_CALL=21,c.KW_CASCADE=22,c.KW_CASE=23,c.KW_CAST=24,c.KW_CHANGE=25,c.KW_CHARACTER=26,c.KW_CHECK=27,c.KW_COLLATE=28,c.KW_COLUMN=29,c.KW_CONDITION=30,c.KW_CONSTRAINT=31,c.KW_CONTINUE=32,c.KW_CONVERT=33,c.KW_CREATE=34,c.KW_CROSS=35,c.KW_CURRENT=36,c.KW_CURRENT_USER=37,c.KW_CURSOR=38,c.KW_DATABASE=39,c.KW_DATABASES=40,c.KW_DECLARE=41,c.KW_DEFAULT=42,c.KW_DELAYED=43,c.KW_DELETE=44,c.KW_DESC=45,c.KW_DESCRIBE=46,c.KW_DETERMINISTIC=47,c.KW_DIAGNOSTICS=48,c.KW_DISTINCT=49,c.KW_DISTINCTROW=50,c.KW_DROP=51,c.KW_EACH=52,c.KW_ELSE=53,c.KW_ELSEIF=54,c.KW_EMPTY=55,c.KW_ENCLOSED=56,c.KW_ENFORCED=57,c.KW_ESCAPED=58,c.KW_EXCEPT=59,c.KW_EXISTS=60,c.KW_EXIT=61,c.KW_EXPLAIN=62,c.KW_FALSE=63,c.KW_FETCH=64,c.KW_FOR=65,c.KW_FORCE=66,c.KW_FOREIGN=67,c.KW_FROM=68,c.KW_FULLTEXT=69,c.KW_GENERATE=70,c.KW_GENERATED=71,c.KW_GET=72,c.KW_GRANT=73,c.KW_GROUP=74,c.KW_HAVING=75,c.KW_HIGH_PRIORITY=76,c.KW_HISTOGRAM=77,c.KW_IF=78,c.KW_IGNORE=79,c.KW_IN=80,c.KW_INACTIVE=81,c.KW_INDEX=82,c.KW_INFILE=83,c.KW_INNER=84,c.KW_INOUT=85,c.KW_INSERT=86,c.KW_INTERVAL=87,c.KW_INTO=88,c.KW_IS=89,c.KW_ITERATE=90,c.KW_JOIN=91,c.KW_KEY=92,c.KW_KEYS=93,c.KW_KILL=94,c.KW_LATERAL=95,c.KW_LEADING=96,c.KW_LEAVE=97,c.KW_LEFT=98,c.KW_LIKE=99,c.KW_LIMIT=100,c.KW_LINEAR=101,c.KW_LINES=102,c.KW_LOAD=103,c.KW_LOCK=104,c.KW_LOCKED=105,c.KW_LOOP=106,c.KW_LOW_PRIORITY=107,c.KW_MASTER_BIND=108,c.KW_MASTER_SSL_VERIFY_SERVER_CERT=109,c.KW_MATCH=110,c.KW_MAXVALUE=111,c.KW_MODIFIES=112,c.KW_NATURAL=113,c.KW_NOT=114,c.KW_NO_WRITE_TO_BINLOG=115,c.KW_NULL_LITERAL=116,c.KW_NUMBER=117,c.KW_STREAM=118,c.KW_ON=119,c.KW_OPTIMIZE=120,c.KW_OPTION=121,c.KW_OPTIONAL=122,c.KW_OPTIONALLY=123,c.KW_OR=124,c.KW_ORDER=125,c.KW_OUT=126,c.KW_OUTER=127,c.KW_OUTFILE=128,c.KW_OVER=129,c.KW_PARTITION=130,c.KW_PRIMARY=131,c.KW_PROCEDURE=132,c.KW_PURGE=133,c.KW_RANGE=134,c.KW_READ=135,c.KW_READS=136,c.KW_REFERENCE=137,c.KW_REFERENCES=138,c.KW_REGEXP=139,c.KW_RELEASE=140,c.KW_RENAME=141,c.KW_REPEAT=142,c.KW_REPLACE=143,c.KW_REQUIRE=144,c.KW_RESIGNAL=145,c.KW_RESTRICT=146,c.KW_RETAIN=147,c.KW_RETURN=148,c.KW_REVOKE=149,c.KW_RIGHT=150,c.KW_RLIKE=151,c.KW_SCHEMA=152,c.KW_SCHEMAS=153,c.KW_SELECT=154,c.KW_SET=155,c.KW_SEPARATOR=156,c.KW_SHOW=157,c.KW_SIGNAL=158,c.KW_SKIP=159,c.KW_SKIP_QUERY_REWRITE=160,c.KW_SPATIAL=161,c.KW_SQL=162,c.KW_SQLEXCEPTION=163,c.KW_SQLSTATE=164,c.KW_SQLWARNING=165,c.KW_SQL_BIG_RESULT=166,c.KW_SQL_CALC_FOUND_ROWS=167,c.KW_SQL_SMALL_RESULT=168,c.KW_SSL=169,c.KW_STACKED=170,c.KW_STARTING=171,c.KW_STRAIGHT_JOIN=172,c.KW_TABLE=173,c.KW_TERMINATED=174,c.KW_THEN=175,c.KW_TO=176,c.KW_TRAILING=177,c.KW_TRIGGER=178,c.KW_TRUE=179,c.KW_UNDO=180,c.KW_UNION=181,c.KW_UNIQUE=182,c.KW_UNLOCK=183,c.KW_UNSIGNED=184,c.KW_UPDATE=185,c.KW_USAGE=186,c.KW_USE=187,c.KW_USING=188,c.KW_VALUES=189,c.KW_VCPU=190,c.KW_WHEN=191,c.KW_WHERE=192,c.KW_WHILE=193,c.KW_WITH=194,c.KW_WRITE=195,c.KW_XOR=196,c.KW_ZEROFILL=197,c.KW_TINYINT=198,c.KW_SMALLINT=199,c.KW_MEDIUMINT=200,c.KW_MIDDLEINT=201,c.KW_INT=202,c.KW_INT1=203,c.KW_INT2=204,c.KW_INT3=205,c.KW_INT4=206,c.KW_INT8=207,c.KW_INTEGER=208,c.KW_BIGINT=209,c.KW_REAL=210,c.KW_DOUBLE=211,c.KW_PRECISION=212,c.KW_FLOAT=213,c.KW_FLOAT4=214,c.KW_FLOAT8=215,c.KW_DECIMAL=216,c.KW_DEC=217,c.KW_NUMERIC=218,c.KW_DATE=219,c.KW_TIME=220,c.KW_TIMESTAMP=221,c.KW_DATETIME=222,c.KW_YEAR=223,c.KW_CHAR=224,c.KW_VARCHAR=225,c.KW_NVARCHAR=226,c.KW_NATIONAL=227,c.KW_BINARY=228,c.KW_VARBINARY=229,c.KW_TINYBLOB=230,c.KW_BLOB=231,c.KW_MEDIUMBLOB=232,c.KW_LONG=233,c.KW_LONGBLOB=234,c.KW_TINYTEXT=235,c.KW_TEXT=236,c.KW_MEDIUMTEXT=237,c.KW_LONGTEXT=238,c.KW_ENUM=239,c.KW_VARYING=240,c.KW_SERIAL=241,c.KW_YEAR_MONTH=242,c.KW_DAY_HOUR=243,c.KW_DAY_MINUTE=244,c.KW_DAY_SECOND=245,c.KW_HOUR_MINUTE=246,c.KW_HOUR_SECOND=247,c.KW_MINUTE_SECOND=248,c.KW_SECOND_MICROSECOND=249,c.KW_MINUTE_MICROSECOND=250,c.KW_HOUR_MICROSECOND=251,c.KW_DAY_MICROSECOND=252,c.KW_JSON_TABLE=253,c.KW_JSON_VALUE=254,c.KW_NESTED=255,c.KW_ORDINALITY=256,c.KW_PATH=257,c.KW_AVG=258,c.KW_BIT_AND=259,c.KW_BIT_OR=260,c.KW_BIT_XOR=261,c.KW_COUNT=262,c.KW_CUME_DIST=263,c.KW_DENSE_RANK=264,c.KW_FIRST_VALUE=265,c.KW_GROUP_CONCAT=266,c.KW_LAG=267,c.KW_LAST_VALUE=268,c.KW_LEAD=269,c.KW_MAX=270,c.KW_MIN=271,c.KW_NTILE=272,c.KW_NTH_VALUE=273,c.KW_PERCENT_RANK=274,c.KW_RANK=275,c.KW_ROW_NUMBER=276,c.KW_STD=277,c.KW_STDDEV=278,c.KW_STDDEV_POP=279,c.KW_STDDEV_SAMP=280,c.KW_SUM=281,c.KW_VAR_POP=282,c.KW_VAR_SAMP=283,c.KW_VARIANCE=284,c.KW_CURRENT_DATE=285,c.KW_CURRENT_TIME=286,c.KW_CURRENT_TIMESTAMP=287,c.KW_LOCALTIME=288,c.KW_CURDATE=289,c.KW_CURTIME=290,c.KW_DATE_ADD=291,c.KW_DATE_SUB=292,c.KW_EXTRACT=293,c.KW_LOCALTIMESTAMP=294,c.KW_NOW=295,c.KW_POSITION=296,c.KW_SUBSTR=297,c.KW_SUBSTRING=298,c.KW_SYSDATE=299,c.KW_TRIM=300,c.KW_UTC_DATE=301,c.KW_UTC_TIME=302,c.KW_UTC_TIMESTAMP=303,c.KW_ACCOUNT=304,c.KW_ACTION=305,c.KW_AFTER=306,c.KW_AGGREGATE=307,c.KW_ALGORITHM=308,c.KW_ANY=309,c.KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS=310,c.KW_AT=311,c.KW_AUTHORS=312,c.KW_AUTOCOMMIT=313,c.KW_AUTOEXTEND_SIZE=314,c.KW_AUTO_INCREMENT=315,c.KW_AVG_ROW_LENGTH=316,c.KW_BEGIN=317,c.KW_BINLOG=318,c.KW_BIT=319,c.KW_BLOCK=320,c.KW_BOOL=321,c.KW_BOOLEAN=322,c.KW_BTREE=323,c.KW_CACHE=324,c.KW_CASCADED=325,c.KW_CHAIN=326,c.KW_CHANGED=327,c.KW_CHANNEL=328,c.KW_CHECKSUM=329,c.KW_CHALLENGE_RESPONSE=330,c.KW_CIPHER=331,c.KW_CLASS_ORIGIN=332,c.KW_CLIENT=333,c.KW_CLOSE=334,c.KW_COALESCE=335,c.KW_CODE=336,c.KW_COLUMNS=337,c.KW_COLUMN_FORMAT=338,c.KW_COLUMN_NAME=339,c.KW_COMMENT=340,c.KW_COMMIT=341,c.KW_COMPACT=342,c.KW_COMPLETION=343,c.KW_COMPONENT=344,c.KW_COMPRESSED=345,c.KW_COMPRESSION=346,c.KW_CONCURRENT=347,c.KW_CONNECT=348,c.KW_CONNECTION=349,c.KW_CONSISTENT=350,c.KW_CONSTRAINT_CATALOG=351,c.KW_CONSTRAINT_SCHEMA=352,c.KW_CONSTRAINT_NAME=353,c.KW_CONTAINS=354,c.KW_CONTEXT=355,c.KW_CONTRIBUTORS=356,c.KW_COPY=357,c.KW_CPU=358,c.KW_CURSOR_NAME=359,c.KW_DATA=360,c.KW_DATAFILE=361,c.KW_DEALLOCATE=362,c.KW_DEFAULT_AUTH=363,c.KW_DEFINER=364,c.KW_DELAY_KEY_WRITE=365,c.KW_DES_KEY_FILE=366,c.KW_DIRECTORY=367,c.KW_DISABLE=368,c.KW_DISCARD=369,c.KW_DISK=370,c.KW_DO=371,c.KW_DUMPFILE=372,c.KW_DUPLICATE=373,c.KW_DYNAMIC=374,c.KW_ENABLE=375,c.KW_ENCRYPTION=376,c.KW_ENCRYPTION_KEY_ID=377,c.KW_END=378,c.KW_ENDS=379,c.KW_ENGINE=380,c.KW_ENGINES=381,c.KW_ERROR=382,c.KW_ERRORS=383,c.KW_ESCAPE=384,c.KW_EVENT=385,c.KW_EVENTS=386,c.KW_EVERY=387,c.KW_EXCHANGE=388,c.KW_EXCLUSIVE=389,c.KW_EXPIRE=390,c.KW_EXPORT=391,c.KW_EXTENDED=392,c.KW_EXTENT_SIZE=393,c.KW_FACTOR=394,c.KW_FAILED_LOGIN_ATTEMPTS=395,c.KW_FAST=396,c.KW_FAULTS=397,c.KW_FIELDS=398,c.KW_FILE_BLOCK_SIZE=399,c.KW_FILTER=400,c.KW_FINISH=401,c.KW_FIRST=402,c.KW_FIXED=403,c.KW_FLUSH=404,c.KW_FOLLOWING=405,c.KW_FOLLOWS=406,c.KW_FOUND=407,c.KW_FULL=408,c.KW_FUNCTION=409,c.KW_GENERAL=410,c.KW_GET_MASTER_PUBLIC_KEY=411,c.KW_GET_SOURCE_PUBLIC_KEY=412,c.KW_GLOBAL=413,c.KW_GRANTS=414,c.KW_GROUP_REPLICATION=415,c.KW_GTID_ONLY=416,c.KW_HANDLER=417,c.KW_HASH=418,c.KW_HELP=419,c.KW_HISTORY=420,c.KW_HOST=421,c.KW_HOSTS=422,c.KW_IDENTIFIED=423,c.KW_IGNORE_SERVER_IDS=424,c.KW_IMPORT=425,c.KW_INDEXES=426,c.KW_INITIAL=427,c.KW_INITIAL_SIZE=428,c.KW_INITIATE=429,c.KW_INPLACE=430,c.KW_INSERT_METHOD=431,c.KW_INSTALL=432,c.KW_INSTANCE=433,c.KW_INSTANT=434,c.KW_INVISIBLE=435,c.KW_INVOKER=436,c.KW_IO=437,c.KW_IO_THREAD=438,c.KW_IPC=439,c.KW_ISOLATION=440,c.KW_ISSUER=441,c.KW_JSON=442,c.KW_KEY_BLOCK_SIZE=443,c.KW_LANGUAGE=444,c.KW_LAST=445,c.KW_LEAVES=446,c.KW_LESS=447,c.KW_LEVEL=448,c.KW_LIST=449,c.KW_LOCAL=450,c.KW_LOGFILE=451,c.KW_LOGS=452,c.KW_MASTER=453,c.KW_MASTER_AUTO_POSITION=454,c.KW_MASTER_COMPRESSION_ALGORITHMS=455,c.KW_MASTER_CONNECT_RETRY=456,c.KW_MASTER_DELAY=457,c.KW_MASTER_HEARTBEAT_PERIOD=458,c.KW_MASTER_HOST=459,c.KW_MASTER_LOG_FILE=460,c.KW_MASTER_LOG_POS=461,c.KW_MASTER_PASSWORD=462,c.KW_MASTER_PORT=463,c.KW_MASTER_PUBLIC_KEY_PATH=464,c.KW_MASTER_RETRY_COUNT=465,c.KW_MASTER_SSL=466,c.KW_MASTER_SSL_CA=467,c.KW_MASTER_SSL_CAPATH=468,c.KW_MASTER_SSL_CERT=469,c.KW_MASTER_SSL_CIPHER=470,c.KW_MASTER_SSL_CRL=471,c.KW_MASTER_SSL_CRLPATH=472,c.KW_MASTER_SSL_KEY=473,c.KW_MASTER_TLS_CIPHERSUITES=474,c.KW_MASTER_TLS_VERSION=475,c.KW_MASTER_USER=476,c.KW_MASTER_ZSTD_COMPRESSION_LEVEL=477,c.KW_MAX_CONNECTIONS_PER_HOUR=478,c.KW_MAX_QUERIES_PER_HOUR=479,c.KW_MAX_ROWS=480,c.KW_MAX_SIZE=481,c.KW_MAX_UPDATES_PER_HOUR=482,c.KW_MAX_USER_CONNECTIONS=483,c.KW_MEDIUM=484,c.KW_MEMBER=485,c.KW_MERGE=486,c.KW_MESSAGE_TEXT=487,c.KW_MID=488,c.KW_MIGRATE=489,c.KW_MIN_ROWS=490,c.KW_MODE=491,c.KW_MODIFY=492,c.KW_MUTEX=493,c.KW_MYSQL=494,c.KW_MYSQL_ERRNO=495,c.KW_NAME=496,c.KW_NAMES=497,c.KW_NCHAR=498,c.KW_NETWORK_NAMESPACE=499,c.KW_NEVER=500,c.KW_NEXT=501,c.KW_NO=502,c.KW_NOWAIT=503,c.KW_NODEGROUP=504,c.KW_NONE=505,c.KW_ODBC=506,c.KW_OFF=507,c.KW_OFFLINE=508,c.KW_OFFSET=509,c.KW_OF=510,c.KW_OLD=511,c.KW_OLD_PASSWORD=512,c.KW_ONE=513,c.KW_ONLINE=514,c.KW_ONLY=515,c.KW_OPEN=516,c.KW_OPTIMIZER_COSTS=517,c.KW_OPTIONS=518,c.KW_OWNER=519,c.KW_PACK_KEYS=520,c.KW_PAGE=521,c.KW_PAGE_CHECKSUM=522,c.KW_PAGE_COMPRESSED=523,c.KW_PAGE_COMPRESSION_LEVEL=524,c.KW_PARSER=525,c.KW_PARTIAL=526,c.KW_PARTITIONING=527,c.KW_PARTITIONS=528,c.KW_PASSWORD=529,c.KW_PASSWORD_LOCK_TIME=530,c.KW_PERSIST=531,c.KW_PERSIST_ONLY=532,c.KW_PHASE=533,c.KW_PLUGIN=534,c.KW_PLUGIN_DIR=535,c.KW_PLUGINS=536,c.KW_PORT=537,c.KW_PRECEDES=538,c.KW_PRECEDING=539,c.KW_PREPARE=540,c.KW_PRESERVE=541,c.KW_PREV=542,c.KW_PRIVILEGE_CHECKS_USER=543,c.KW_PROCESSLIST=544,c.KW_PROFILE=545,c.KW_PROFILES=546,c.KW_PROXY=547,c.KW_QUERY=548,c.KW_QUICK=549,c.KW_REBUILD=550,c.KW_RECOVER=551,c.KW_RECURSIVE=552,c.KW_REDO_BUFFER_SIZE=553,c.KW_REDUNDANT=554,c.KW_REGISTRATION=555,c.KW_RELAY=556,c.KW_RELAY_LOG_FILE=557,c.KW_RELAY_LOG_POS=558,c.KW_RELAYLOG=559,c.KW_REMOVE=560,c.KW_REORGANIZE=561,c.KW_REPAIR=562,c.KW_REPLICA=563,c.KW_REPLICAS=564,c.KW_REPLICATE_DO_DB=565,c.KW_REPLICATE_DO_TABLE=566,c.KW_REPLICATE_IGNORE_DB=567,c.KW_REPLICATE_IGNORE_TABLE=568,c.KW_REPLICATE_REWRITE_DB=569,c.KW_REPLICATE_WILD_DO_TABLE=570,c.KW_REPLICATE_WILD_IGNORE_TABLE=571,c.KW_REPLICATION=572,c.KW_REQUIRE_ROW_FORMAT=573,c.KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK=574,c.KW_RESET=575,c.KW_RESTART=576,c.KW_RESUME=577,c.KW_RETURNED_SQLSTATE=578,c.KW_RETURNING=579,c.KW_RETURNS=580,c.KW_REUSE=581,c.KW_ROLE=582,c.KW_ROLLBACK=583,c.KW_ROLLUP=584,c.KW_ROTATE=585,c.KW_ROW=586,c.KW_ROWS=587,c.KW_ROW_FORMAT=588,c.KW_SAVEPOINT=589,c.KW_SCHEDULE=590,c.KW_SECURITY=591,c.KW_SERVER=592,c.KW_SESSION=593,c.KW_SHARE=594,c.KW_SHARED=595,c.KW_SIGNED=596,c.KW_SIMPLE=597,c.KW_SLAVE=598,c.KW_SLOW=599,c.KW_SNAPSHOT=600,c.KW_SOCKET=601,c.KW_SOME=602,c.KW_SONAME=603,c.KW_SOUNDS=604,c.KW_SOURCE=605,c.KW_SOURCE_BIND=606,c.KW_SOURCE_HOST=607,c.KW_SOURCE_USER=608,c.KW_SOURCE_PASSWORD=609,c.KW_SOURCE_PORT=610,c.KW_SOURCE_LOG_FILE=611,c.KW_SOURCE_LOG_POS=612,c.KW_SOURCE_AUTO_POSITION=613,c.KW_SOURCE_HEARTBEAT_PERIOD=614,c.KW_SOURCE_CONNECT_RETRY=615,c.KW_SOURCE_RETRY_COUNT=616,c.KW_SOURCE_CONNECTION_AUTO_FAILOVER=617,c.KW_SOURCE_DELAY=618,c.KW_SOURCE_COMPRESSION_ALGORITHMS=619,c.KW_SOURCE_ZSTD_COMPRESSION_LEVEL=620,c.KW_SOURCE_SSL=621,c.KW_SOURCE_SSL_CA=622,c.KW_SOURCE_SSL_CAPATH=623,c.KW_SOURCE_SSL_CERT=624,c.KW_SOURCE_SSL_CRL=625,c.KW_SOURCE_SSL_CRLPATH=626,c.KW_SOURCE_SSL_KEY=627,c.KW_SOURCE_SSL_CIPHER=628,c.KW_SOURCE_SSL_VERIFY_SERVER_CERT=629,c.KW_SOURCE_TLS_VERSION=630,c.KW_SOURCE_TLS_CIPHERSUITES=631,c.KW_SOURCE_PUBLIC_KEY_PATH=632,c.KW_SQL_AFTER_GTIDS=633,c.KW_SQL_AFTER_MTS_GAPS=634,c.KW_SQL_BEFORE_GTIDS=635,c.KW_SQL_BUFFER_RESULT=636,c.KW_SQL_CACHE=637,c.KW_SQL_NO_CACHE=638,c.KW_SQL_THREAD=639,c.KW_START=640,c.KW_STARTS=641,c.KW_STATS_AUTO_RECALC=642,c.KW_STATS_PERSISTENT=643,c.KW_STATS_SAMPLE_PAGES=644,c.KW_STATUS=645,c.KW_STOP=646,c.KW_STORAGE=647,c.KW_STORED=648,c.KW_STRING=649,c.KW_SUBCLASS_ORIGIN=650,c.KW_SUBJECT=651,c.KW_SUBPARTITION=652,c.KW_SUBPARTITIONS=653,c.KW_SUSPEND=654,c.KW_SWAPS=655,c.KW_SWITCHES=656,c.KW_TABLE_NAME=657,c.KW_TABLESPACE=658,c.KW_TABLE_TYPE=659,c.KW_TEMPORARY=660,c.KW_TEMPTABLE=661,c.KW_THAN=662,c.KW_TRADITIONAL=663,c.KW_TRANSACTION=664,c.KW_TRANSACTIONAL=665,c.KW_TREE=666,c.KW_TRIGGERS=667,c.KW_TRUNCATE=668,c.KW_UNBOUNDED=669,c.KW_UNDEFINED=670,c.KW_UNDOFILE=671,c.KW_UNDO_BUFFER_SIZE=672,c.KW_UNINSTALL=673,c.KW_UNKNOWN=674,c.KW_UNREGISTER=675,c.KW_UNTIL=676,c.KW_UPGRADE=677,c.KW_USER=678,c.KW_USE_FRM=679,c.KW_USER_RESOURCES=680,c.KW_VALIDATION=681,c.KW_VALUE=682,c.KW_VARIABLES=683,c.KW_VIEW=684,c.KW_VIRTUAL=685,c.KW_VISIBLE=686,c.KW_WAIT=687,c.KW_WARNINGS=688,c.KW_WINDOW=689,c.KW_WITHOUT=690,c.KW_WORK=691,c.KW_WRAPPER=692,c.KW_X509=693,c.KW_XA=694,c.KW_XML=695,c.KW_QUARTER=696,c.KW_MONTH=697,c.KW_DAY=698,c.KW_HOUR=699,c.KW_MINUTE=700,c.KW_WEEK=701,c.KW_SECOND=702,c.KW_MICROSECOND=703,c.KW_ADMIN=704,c.KW_APPLICATION_PASSWORD_ADMIN=705,c.KW_AUDIT_ABORT_EXEMPT=706,c.KW_AUDIT_ADMIN=707,c.KW_AUTHENTICATION=708,c.KW_AUTHENTICATION_POLICY_ADMIN=709,c.KW_BACKUP_ADMIN=710,c.KW_BINLOG_ADMIN=711,c.KW_BINLOG_ENCRYPTION_ADMIN=712,c.KW_CLONE=713,c.KW_CLONE_ADMIN=714,c.KW_CONNECTION_ADMIN=715,c.KW_ENCRYPTION_KEY_ADMIN=716,c.KW_EXECUTE=717,c.KW_FILE=718,c.KW_FIREWALL_ADMIN=719,c.KW_FIREWALL_EXEMPT=720,c.KW_FIREWALL_USER=721,c.KW_FLUSH_OPTIMIZER_COSTS=722,c.KW_FLUSH_STATUS=723,c.KW_FLUSH_TABLES=724,c.KW_FLUSH_USER_RESOURCES=725,c.KW_GROUP_REPLICATION_ADMIN=726,c.KW_INNODB_REDO_LOG_ARCHIVE=727,c.KW_INNODB_REDO_LOG_ENABLE=728,c.KW_INVOKE=729,c.KW_LAMBDA=730,c.KW_NDB_STORED_USER=731,c.KW_PASSWORDLESS_USER_ADMIN=732,c.KW_PERSIST_RO_VARIABLES_ADMIN=733,c.KW_PRIVILEGES=734,c.KW_PROCESS=735,c.KW_RELOAD=736,c.KW_REPLICATION_APPLIER=737,c.KW_REPLICATION_SLAVE_ADMIN=738,c.KW_RESOURCE=739,c.KW_RESOURCE_GROUP_ADMIN=740,c.KW_RESOURCE_GROUP_USER=741,c.KW_ROLE_ADMIN=742,c.KW_ROUTINE=743,c.KW_S3=744,c.KW_SERVICE_CONNECTION_ADMIN=745,c.KW_SESSION_VARIABLES_ADMIN=746,c.KW_SET_USER_ID=747,c.KW_SHOW_ROUTINE=748,c.KW_SHUTDOWN=749,c.KW_SUPER=750,c.KW_SYSTEM_VARIABLES_ADMIN=751,c.KW_TABLES=752,c.KW_TABLE_ENCRYPTION_ADMIN=753,c.KW_VERSION_TOKEN_ADMIN=754,c.KW_XA_RECOVER_ADMIN=755,c.KW_ARMSCII8=756,c.KW_ASCII=757,c.KW_BIG5=758,c.KW_CP1250=759,c.KW_CP1251=760,c.KW_CP1256=761,c.KW_CP1257=762,c.KW_CP850=763,c.KW_CP852=764,c.KW_CP866=765,c.KW_CP932=766,c.KW_DEC8=767,c.KW_EUCJPMS=768,c.KW_EUCKR=769,c.KW_GB18030=770,c.KW_GB2312=771,c.KW_GBK=772,c.KW_GEOSTD8=773,c.KW_GREEK=774,c.KW_HEBREW=775,c.KW_HP8=776,c.KW_KEYBCS2=777,c.KW_KOI8R=778,c.KW_KOI8U=779,c.KW_LATIN1=780,c.KW_LATIN2=781,c.KW_LATIN5=782,c.KW_LATIN7=783,c.KW_MACCE=784,c.KW_MACROMAN=785,c.KW_SJIS=786,c.KW_SWE7=787,c.KW_TIS620=788,c.KW_UCS2=789,c.KW_UJIS=790,c.KW_UTF16=791,c.KW_UTF16LE=792,c.KW_UTF32=793,c.KW_UTF8=794,c.KW_UTF8MB3=795,c.KW_UTF8MB4=796,c.KW_ARCHIVE=797,c.KW_BLACKHOLE=798,c.KW_CSV=799,c.KW_FEDERATED=800,c.KW_INNODB=801,c.KW_MEMORY=802,c.KW_MRG_MYISAM=803,c.KW_MYISAM=804,c.KW_NDB=805,c.KW_NDBCLUSTER=806,c.KW_PERFORMANCE_SCHEMA=807,c.KW_TOKUDB=808,c.KW_REPEATABLE=809,c.KW_COMMITTED=810,c.KW_UNCOMMITTED=811,c.KW_SERIALIZABLE=812,c.KW_GEOMETRYCOLLECTION=813,c.KW_GEOMCOLLECTION=814,c.KW_GEOMETRY=815,c.KW_LINESTRING=816,c.KW_MULTILINESTRING=817,c.KW_MULTIPOINT=818,c.KW_MULTIPOLYGON=819,c.KW_POINT=820,c.KW_POLYGON=821,c.KW_CATALOG_NAME=822,c.KW_CHARSET=823,c.KW_COLLATION=824,c.KW_ENGINE_ATTRIBUTE=825,c.KW_FORMAT=826,c.KW_GET_FORMAT=827,c.KW_INTERSECT=828,c.KW_RANDOM=829,c.KW_REVERSE=830,c.KW_ROW_COUNT=831,c.KW_SCHEMA_NAME=832,c.KW_SECONDARY_ENGINE_ATTRIBUTE=833,c.KW_SRID=834,c.KW_SYSTEM=835,c.KW_SYSTEM_USER=836,c.KW_THREAD_PRIORITY=837,c.KW_TP_CONNECTION_ADMIN=838,c.KW_TYPE=839,c.KW_WEIGHT_STRING=840,c.VAR_ASSIGN=841,c.PLUS_ASSIGN=842,c.MINUS_ASSIGN=843,c.MULT_ASSIGN=844,c.DIV_ASSIGN=845,c.MOD_ASSIGN=846,c.AND_ASSIGN=847,c.XOR_ASSIGN=848,c.OR_ASSIGN=849,c.STAR=850,c.DIVIDE=851,c.MODULE=852,c.PLUS=853,c.MINUS=854,c.DIV=855,c.MOD=856,c.EQUAL_SYMBOL=857,c.GREATER_SYMBOL=858,c.LESS_SYMBOL=859,c.EXCLAMATION_SYMBOL=860,c.BIT_NOT_OP=861,c.BIT_OR_OP=862,c.BIT_AND_OP=863,c.BIT_XOR_OP=864,c.DOT=865,c.LR_BRACKET=866,c.RR_BRACKET=867,c.COMMA=868,c.SEMI=869,c.AT_SIGN=870,c.ZERO_DECIMAL=871,c.ONE_DECIMAL=872,c.TWO_DECIMAL=873,c.THREE_DECIMAL=874,c.SINGLE_QUOTE_SYMB=875,c.DOUBLE_QUOTE_SYMB=876,c.REVERSE_QUOTE_SYMB=877,c.COLON_SYMB=878,c.CHARSET_REVERSE_QOUTE_STRING=879,c.FILESIZE_LITERAL=880,c.START_NATIONAL_STRING_LITERAL=881,c.STRING_LITERAL=882,c.DECIMAL_LITERAL=883,c.HEXADECIMAL_LITERAL=884,c.REAL_LITERAL=885,c.NULL_SPEC_LITERAL=886,c.BIT_STRING=887,c.STRING_CHARSET_NAME=888,c.ID=889,c.REVERSE_QUOTE_ID=890,c.HOST_IP_ADDRESS=891,c.LOCAL_ID=892,c.GLOBAL_ID=893,c.PERSIST_ID=894,c.ERROR_RECONGNIGION=895,c.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","MYSQLCOMMENT","ERRORCHANNEL"],c.literalNames=[null,null,null,null,null,"'ACTIVE'","'ADD'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ARRAY'","'AS'","'ASC'","'ATTRIBUTE'","'BEFORE'","'BETWEEN'","'BOTH'","'BUCKETS'","'BY'","'CALL'","'CASCADE'","'CASE'","'CAST'","'CHANGE'","'CHARACTER'","'CHECK'","'COLLATE'","'COLUMN'","'CONDITION'","'CONSTRAINT'","'CONTINUE'","'CONVERT'","'CREATE'","'CROSS'","'CURRENT'","'CURRENT_USER'","'CURSOR'","'DATABASE'","'DATABASES'","'DECLARE'","'DEFAULT'","'DELAYED'","'DELETE'","'DESC'","'DESCRIBE'","'DETERMINISTIC'","'DIAGNOSTICS'","'DISTINCT'","'DISTINCTROW'","'DROP'","'EACH'","'ELSE'","'ELSEIF'","'EMPTY'","'ENCLOSED'","'ENFORCED'","'ESCAPED'","'EXCEPT'","'EXISTS'","'EXIT'","'EXPLAIN'","'FALSE'","'FETCH'","'FOR'","'FORCE'","'FOREIGN'","'FROM'","'FULLTEXT'","'GENERATE'","'GENERATED'","'GET'","'GRANT'","'GROUP'","'HAVING'","'HIGH_PRIORITY'","'HISTOGRAM'","'IF'","'IGNORE'","'IN'","'INACTIVE'","'INDEX'","'INFILE'","'INNER'","'INOUT'","'INSERT'","'INTERVAL'","'INTO'","'IS'","'ITERATE'","'JOIN'","'KEY'","'KEYS'","'KILL'","'LATERAL'","'LEADING'","'LEAVE'","'LEFT'","'LIKE'","'LIMIT'","'LINEAR'","'LINES'","'LOAD'","'LOCK'","'LOCKED'","'LOOP'","'LOW_PRIORITY'","'MASTER_BIND'","'MASTER_SSL_VERIFY_SERVER_CERT'","'MATCH'","'MAXVALUE'","'MODIFIES'","'NATURAL'","'NOT'","'NO_WRITE_TO_BINLOG'","'NULL'","'NUMBER'","'STREAM'","'ON'","'OPTIMIZE'","'OPTION'","'OPTIONAL'","'OPTIONALLY'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTFILE'","'OVER'","'PARTITION'","'PRIMARY'","'PROCEDURE'","'PURGE'","'RANGE'","'READ'","'READS'","'REFERENCE'","'REFERENCES'","'REGEXP'","'RELEASE'","'RENAME'","'REPEAT'","'REPLACE'","'REQUIRE'","'RESIGNAL'","'RESTRICT'","'RETAIN'","'RETURN'","'REVOKE'","'RIGHT'","'RLIKE'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SET'","'SEPARATOR'","'SHOW'","'SIGNAL'","'SKIP'","'SKIP_QUERY_REWRITE'","'SPATIAL'","'SQL'","'SQLEXCEPTION'","'SQLSTATE'","'SQLWARNING'","'SQL_BIG_RESULT'","'SQL_CALC_FOUND_ROWS'","'SQL_SMALL_RESULT'","'SSL'","'STACKED'","'STARTING'","'STRAIGHT_JOIN'","'TABLE'","'TERMINATED'","'THEN'","'TO'","'TRAILING'","'TRIGGER'","'TRUE'","'UNDO'","'UNION'","'UNIQUE'","'UNLOCK'","'UNSIGNED'","'UPDATE'","'USAGE'","'USE'","'USING'","'VALUES'","'VCPU'","'WHEN'","'WHERE'","'WHILE'","'WITH'","'WRITE'","'XOR'","'ZEROFILL'","'TINYINT'","'SMALLINT'","'MEDIUMINT'","'MIDDLEINT'","'INT'","'INT1'","'INT2'","'INT3'","'INT4'","'INT8'","'INTEGER'","'BIGINT'","'REAL'","'DOUBLE'","'PRECISION'","'FLOAT'","'FLOAT4'","'FLOAT8'","'DECIMAL'","'DEC'","'NUMERIC'","'DATE'","'TIME'","'TIMESTAMP'","'DATETIME'","'YEAR'","'CHAR'","'VARCHAR'","'NVARCHAR'","'NATIONAL'","'BINARY'","'VARBINARY'","'TINYBLOB'","'BLOB'","'MEDIUMBLOB'","'LONG'","'LONGBLOB'","'TINYTEXT'","'TEXT'","'MEDIUMTEXT'","'LONGTEXT'","'ENUM'","'VARYING'","'SERIAL'","'YEAR_MONTH'","'DAY_HOUR'","'DAY_MINUTE'","'DAY_SECOND'","'HOUR_MINUTE'","'HOUR_SECOND'","'MINUTE_SECOND'","'SECOND_MICROSECOND'","'MINUTE_MICROSECOND'","'HOUR_MICROSECOND'","'DAY_MICROSECOND'","'JSON_TABLE'","'JSON_VALUE'","'NESTED'","'ORDINALITY'","'PATH'","'AVG'","'BIT_AND'","'BIT_OR'","'BIT_XOR'","'COUNT'","'CUME_DIST'","'DENSE_RANK'","'FIRST_VALUE'","'GROUP_CONCAT'","'LAG'","'LAST_VALUE'","'LEAD'","'MAX'","'MIN'","'NTILE'","'NTH_VALUE'","'PERCENT_RANK'","'RANK'","'ROW_NUMBER'","'STD'","'STDDEV'","'STDDEV_POP'","'STDDEV_SAMP'","'SUM'","'VAR_POP'","'VAR_SAMP'","'VARIANCE'","'CURRENT_DATE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'LOCALTIME'","'CURDATE'","'CURTIME'","'DATE_ADD'","'DATE_SUB'","'EXTRACT'","'LOCALTIMESTAMP'","'NOW'","'POSITION'","'SUBSTR'","'SUBSTRING'","'SYSDATE'","'TRIM'","'UTC_DATE'","'UTC_TIME'","'UTC_TIMESTAMP'","'ACCOUNT'","'ACTION'","'AFTER'","'AGGREGATE'","'ALGORITHM'","'ANY'","'ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS'","'AT'","'AUTHORS'","'AUTOCOMMIT'","'AUTOEXTEND_SIZE'","'AUTO_INCREMENT'","'AVG_ROW_LENGTH'","'BEGIN'","'BINLOG'","'BIT'","'BLOCK'","'BOOL'","'BOOLEAN'","'BTREE'","'CACHE'","'CASCADED'","'CHAIN'","'CHANGED'","'CHANNEL'","'CHECKSUM'","'CHALLENGE_RESPONSE'","'CIPHER'","'CLASS_ORIGIN'","'CLIENT'","'CLOSE'","'COALESCE'","'CODE'","'COLUMNS'","'COLUMN_FORMAT'","'COLUMN_NAME'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPLETION'","'COMPONENT'","'COMPRESSED'","'COMPRESSION'","'CONCURRENT'","'CONNECT'","'CONNECTION'","'CONSISTENT'","'CONSTRAINT_CATALOG'","'CONSTRAINT_SCHEMA'","'CONSTRAINT_NAME'","'CONTAINS'","'CONTEXT'","'CONTRIBUTORS'","'COPY'","'CPU'","'CURSOR_NAME'","'DATA'","'DATAFILE'","'DEALLOCATE'","'DEFAULT_AUTH'","'DEFINER'","'DELAY_KEY_WRITE'","'DES_KEY_FILE'","'DIRECTORY'","'DISABLE'","'DISCARD'","'DISK'","'DO'","'DUMPFILE'","'DUPLICATE'","'DYNAMIC'","'ENABLE'","'ENCRYPTION'","'ENCRYPTION_KEY_ID'","'END'","'ENDS'","'ENGINE'","'ENGINES'","'ERROR'","'ERRORS'","'ESCAPE'","'EVENT'","'EVENTS'","'EVERY'","'EXCHANGE'","'EXCLUSIVE'","'EXPIRE'","'EXPORT'","'EXTENDED'","'EXTENT_SIZE'","'FACTOR'","'FAILED_LOGIN_ATTEMPTS'","'FAST'","'FAULTS'","'FIELDS'","'FILE_BLOCK_SIZE'","'FILTER'","'FINISH'","'FIRST'","'FIXED'","'FLUSH'","'FOLLOWING'","'FOLLOWS'","'FOUND'","'FULL'","'FUNCTION'","'GENERAL'","'GET_MASTER_PUBLIC_KEY'","'GET_SOURCE_PUBLIC_KEY'","'GLOBAL'","'GRANTS'","'GROUP_REPLICATION'","'GTID_ONLY'","'HANDLER'","'HASH'","'HELP'","'HISTORY'","'HOST'","'HOSTS'","'IDENTIFIED'","'IGNORE_SERVER_IDS'","'IMPORT'","'INDEXES'","'INITIAL'","'INITIAL_SIZE'","'INITIATE'","'INPLACE'","'INSERT_METHOD'","'INSTALL'","'INSTANCE'","'INSTANT'","'INVISIBLE'","'INVOKER'","'IO'","'IO_THREAD'","'IPC'","'ISOLATION'","'ISSUER'","'JSON'","'KEY_BLOCK_SIZE'","'LANGUAGE'","'LAST'","'LEAVES'","'LESS'","'LEVEL'","'LIST'","'LOCAL'","'LOGFILE'","'LOGS'","'MASTER'","'MASTER_AUTO_POSITION'","'MASTER_COMPRESSION_ALGORITHMS'","'MASTER_CONNECT_RETRY'","'MASTER_DELAY'","'MASTER_HEARTBEAT_PERIOD'","'MASTER_HOST'","'MASTER_LOG_FILE'","'MASTER_LOG_POS'","'MASTER_PASSWORD'","'MASTER_PORT'","'MASTER_PUBLIC_KEY_PATH'","'MASTER_RETRY_COUNT'","'MASTER_SSL'","'MASTER_SSL_CA'","'MASTER_SSL_CAPATH'","'MASTER_SSL_CERT'","'MASTER_SSL_CIPHER'","'MASTER_SSL_CRL'","'MASTER_SSL_CRLPATH'","'MASTER_SSL_KEY'","'MASTER_TLS_CIPHERSUITES'","'MASTER_TLS_VERSION'","'MASTER_USER'","'MASTER_ZSTD_COMPRESSION_LEVEL'","'MAX_CONNECTIONS_PER_HOUR'","'MAX_QUERIES_PER_HOUR'","'MAX_ROWS'","'MAX_SIZE'","'MAX_UPDATES_PER_HOUR'","'MAX_USER_CONNECTIONS'","'MEDIUM'","'MEMBER'","'MERGE'","'MESSAGE_TEXT'","'MID'","'MIGRATE'","'MIN_ROWS'","'MODE'","'MODIFY'","'MUTEX'","'MYSQL'","'MYSQL_ERRNO'","'NAME'","'NAMES'","'NCHAR'","'NETWORK_NAMESPACE'","'NEVER'","'NEXT'","'NO'","'NOWAIT'","'NODEGROUP'","'NONE'","'ODBC'","'OFF'","'OFFLINE'","'OFFSET'","'OF'","'OLD'","'OLD_PASSWORD'","'ONE'","'ONLINE'","'ONLY'","'OPEN'","'OPTIMIZER_COSTS'","'OPTIONS'","'OWNER'","'PACK_KEYS'","'PAGE'","'PAGE_CHECKSUM'","'PAGE_COMPRESSED'","'PAGE_COMPRESSION_LEVEL'","'PARSER'","'PARTIAL'","'PARTITIONING'","'PARTITIONS'","'PASSWORD'","'PASSWORD_LOCK_TIME'","'PERSIST'","'PERSIST_ONLY'","'PHASE'","'PLUGIN'","'PLUGIN_DIR'","'PLUGINS'","'PORT'","'PRECEDES'","'PRECEDING'","'PREPARE'","'PRESERVE'","'PREV'","'PRIVILEGE_CHECKS_USER'","'PROCESSLIST'","'PROFILE'","'PROFILES'","'PROXY'","'QUERY'","'QUICK'","'REBUILD'","'RECOVER'","'RECURSIVE'","'REDO_BUFFER_SIZE'","'REDUNDANT'","'REGISTRATION'","'RELAY'","'RELAY_LOG_FILE'","'RELAY_LOG_POS'","'RELAYLOG'","'REMOVE'","'REORGANIZE'","'REPAIR'","'REPLICA'","'REPLICAS'","'REPLICATE_DO_DB'","'REPLICATE_DO_TABLE'","'REPLICATE_IGNORE_DB'","'REPLICATE_IGNORE_TABLE'","'REPLICATE_REWRITE_DB'","'REPLICATE_WILD_DO_TABLE'","'REPLICATE_WILD_IGNORE_TABLE'","'REPLICATION'","'REQUIRE_ROW_FORMAT'","'REQUIRE_TABLE_PRIMARY_KEY_CHECK'","'RESET'","'RESTART'","'RESUME'","'RETURNED_SQLSTATE'","'RETURNING'","'RETURNS'","'REUSE'","'ROLE'","'ROLLBACK'","'ROLLUP'","'ROTATE'","'ROW'","'ROWS'","'ROW_FORMAT'","'SAVEPOINT'","'SCHEDULE'","'SECURITY'","'SERVER'","'SESSION'","'SHARE'","'SHARED'","'SIGNED'","'SIMPLE'","'SLAVE'","'SLOW'","'SNAPSHOT'","'SOCKET'","'SOME'","'SONAME'","'SOUNDS'","'SOURCE'","'SOURCE_BIND'","'SOURCE_HOST'","'SOURCE_USER'","'SOURCE_PASSWORD'","'SOURCE_PORT'","'SOURCE_LOG_FILE'","'SOURCE_LOG_POS'","'SOURCE_AUTO_POSITION'","'SOURCE_HEARTBEAT_PERIOD'","'SOURCE_CONNECT_RETRY'","'SOURCE_RETRY_COUNT'","'SOURCE_CONNECTION_AUTO_FAILOVER'","'SOURCE_DELAY'","'SOURCE_COMPRESSION_ALGORITHMS'","'SOURCE_ZSTD_COMPRESSION_LEVEL'","'SOURCE_SSL'","'SOURCE_SSL_CA'","'SOURCE_SSL_CAPATH'","'SOURCE_SSL_CERT'","'SOURCE_SSL_CRL'","'SOURCE_SSL_CRLPATH'","'SOURCE_SSL_KEY'","'SOURCE_SSL_CIPHER'","'SOURCE_SSL_VERIFY_SERVER_CERT'","'SOURCE_TLS_VERSION'","'SOURCE_TLS_CIPHERSUITES'","'SOURCE_PUBLIC_KEY_PATH'","'SQL_AFTER_GTIDS'","'SQL_AFTER_MTS_GAPS'","'SQL_BEFORE_GTIDS'","'SQL_BUFFER_RESULT'","'SQL_CACHE'","'SQL_NO_CACHE'","'SQL_THREAD'","'START'","'STARTS'","'STATS_AUTO_RECALC'","'STATS_PERSISTENT'","'STATS_SAMPLE_PAGES'","'STATUS'","'STOP'","'STORAGE'","'STORED'","'STRING'","'SUBCLASS_ORIGIN'","'SUBJECT'","'SUBPARTITION'","'SUBPARTITIONS'","'SUSPEND'","'SWAPS'","'SWITCHES'","'TABLE_NAME'","'TABLESPACE'","'TABLE_TYPE'","'TEMPORARY'","'TEMPTABLE'","'THAN'","'TRADITIONAL'","'TRANSACTION'","'TRANSACTIONAL'","'TREE'","'TRIGGERS'","'TRUNCATE'","'UNBOUNDED'","'UNDEFINED'","'UNDOFILE'","'UNDO_BUFFER_SIZE'","'UNINSTALL'","'UNKNOWN'","'UNREGISTER'","'UNTIL'","'UPGRADE'","'USER'","'USE_FRM'","'USER_RESOURCES'","'VALIDATION'","'VALUE'","'VARIABLES'","'VIEW'","'VIRTUAL'","'VISIBLE'","'WAIT'","'WARNINGS'","'WINDOW'","'WITHOUT'","'WORK'","'WRAPPER'","'X509'","'XA'","'XML'","'QUARTER'","'MONTH'","'DAY'","'HOUR'","'MINUTE'","'WEEK'","'SECOND'","'MICROSECOND'","'ADMIN'","'APPLICATION_PASSWORD_ADMIN'","'AUDIT_ABORT_EXEMPT'","'AUDIT_ADMIN'","'AUTHENTICATION'","'AUTHENTICATION_POLICY_ADMIN'","'BACKUP_ADMIN'","'BINLOG_ADMIN'","'BINLOG_ENCRYPTION_ADMIN'","'CLONE'","'CLONE_ADMIN'","'CONNECTION_ADMIN'","'ENCRYPTION_KEY_ADMIN'","'EXECUTE'","'FILE'","'FIREWALL_ADMIN'","'FIREWALL_EXEMPT'","'FIREWALL_USER'","'FLUSH_OPTIMIZER_COSTS'","'FLUSH_STATUS'","'FLUSH_TABLES'","'FLUSH_USER_RESOURCES'","'GROUP_REPLICATION_ADMIN'","'INNODB_REDO_LOG_ARCHIVE'","'INNODB_REDO_LOG_ENABLE'","'INVOKE'","'LAMBDA'","'NDB_STORED_USER'","'PASSWORDLESS_USER_ADMIN'","'PERSIST_RO_VARIABLES_ADMIN'","'PRIVILEGES'","'PROCESS'","'RELOAD'","'REPLICATION_APPLIER'","'REPLICATION_SLAVE_ADMIN'","'RESOURCE'","'RESOURCE_GROUP_ADMIN'","'RESOURCE_GROUP_USER'","'ROLE_ADMIN'","'ROUTINE'","'S3'","'SERVICE_CONNECTION_ADMIN'",null,"'SET_USER_ID'","'SHOW_ROUTINE'","'SHUTDOWN'","'SUPER'","'SYSTEM_VARIABLES_ADMIN'","'TABLES'","'TABLE_ENCRYPTION_ADMIN'","'VERSION_TOKEN_ADMIN'","'XA_RECOVER_ADMIN'","'ARMSCII8'","'ASCII'","'BIG5'","'CP1250'","'CP1251'","'CP1256'","'CP1257'","'CP850'","'CP852'","'CP866'","'CP932'","'DEC8'","'EUCJPMS'","'EUCKR'","'GB18030'","'GB2312'","'GBK'","'GEOSTD8'","'GREEK'","'HEBREW'","'HP8'","'KEYBCS2'","'KOI8R'","'KOI8U'","'LATIN1'","'LATIN2'","'LATIN5'","'LATIN7'","'MACCE'","'MACROMAN'","'SJIS'","'SWE7'","'TIS620'","'UCS2'","'UJIS'","'UTF16'","'UTF16LE'","'UTF32'","'UTF8'","'UTF8MB3'","'UTF8MB4'","'ARCHIVE'","'BLACKHOLE'","'CSV'","'FEDERATED'","'INNODB'","'MEMORY'","'MRG_MYISAM'","'MYISAM'","'NDB'","'NDBCLUSTER'","'PERFORMANCE_SCHEMA'","'TOKUDB'","'REPEATABLE'","'COMMITTED'","'UNCOMMITTED'","'SERIALIZABLE'","'GEOMETRYCOLLECTION'","'GEOMCOLLECTION'","'GEOMETRY'","'LINESTRING'","'MULTILINESTRING'","'MULTIPOINT'","'MULTIPOLYGON'","'POINT'","'POLYGON'","'CATALOG_NAME'","'CHARSET'","'COLLATION'","'ENGINE_ATTRIBUTE'","'FORMAT'","'GET_FORMAT'","'INTERSECT'","'RANDOM'","'REVERSE'","'ROW_COUNT'","'SCHEMA_NAME'","'SECONDARY_ENGINE_ATTRIBUTE'","'SRID'","'SYSTEM'","'SYSTEM_USER'","'THREAD_PRIORITY'","'TP_CONNECTION_ADMIN'","'TYPE'","'WEIGHT_STRING'","':='","'+='","'-='","'*='","'/='","'%='","'&='","'^='","'|='","'*'","'/'","'%'","'+'","'-'","'DIV'","'MOD'","'='","'>'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'('","')'","','","';'","'@'","'0'","'1'","'2'","'3'","'''",`'"'`,"'`'","':'"],c.symbolicNames=[null,"SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","KW_ACTIVE","KW_ADD","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ARRAY","KW_AS","KW_ASC","KW_ATTRIBUTE","KW_BEFORE","KW_BETWEEN","KW_BOTH","KW_BUCKETS","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CHANGE","KW_CHARACTER","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONDITION","KW_CONSTRAINT","KW_CONTINUE","KW_CONVERT","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_USER","KW_CURSOR","KW_DATABASE","KW_DATABASES","KW_DECLARE","KW_DEFAULT","KW_DELAYED","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DETERMINISTIC","KW_DIAGNOSTICS","KW_DISTINCT","KW_DISTINCTROW","KW_DROP","KW_EACH","KW_ELSE","KW_ELSEIF","KW_EMPTY","KW_ENCLOSED","KW_ENFORCED","KW_ESCAPED","KW_EXCEPT","KW_EXISTS","KW_EXIT","KW_EXPLAIN","KW_FALSE","KW_FETCH","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FROM","KW_FULLTEXT","KW_GENERATE","KW_GENERATED","KW_GET","KW_GRANT","KW_GROUP","KW_HAVING","KW_HIGH_PRIORITY","KW_HISTOGRAM","KW_IF","KW_IGNORE","KW_IN","KW_INACTIVE","KW_INDEX","KW_INFILE","KW_INNER","KW_INOUT","KW_INSERT","KW_INTERVAL","KW_INTO","KW_IS","KW_ITERATE","KW_JOIN","KW_KEY","KW_KEYS","KW_KILL","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINEAR","KW_LINES","KW_LOAD","KW_LOCK","KW_LOCKED","KW_LOOP","KW_LOW_PRIORITY","KW_MASTER_BIND","KW_MASTER_SSL_VERIFY_SERVER_CERT","KW_MATCH","KW_MAXVALUE","KW_MODIFIES","KW_NATURAL","KW_NOT","KW_NO_WRITE_TO_BINLOG","KW_NULL_LITERAL","KW_NUMBER","KW_STREAM","KW_ON","KW_OPTIMIZE","KW_OPTION","KW_OPTIONAL","KW_OPTIONALLY","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTFILE","KW_OVER","KW_PARTITION","KW_PRIMARY","KW_PROCEDURE","KW_PURGE","KW_RANGE","KW_READ","KW_READS","KW_REFERENCE","KW_REFERENCES","KW_REGEXP","KW_RELEASE","KW_RENAME","KW_REPEAT","KW_REPLACE","KW_REQUIRE","KW_RESIGNAL","KW_RESTRICT","KW_RETAIN","KW_RETURN","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SET","KW_SEPARATOR","KW_SHOW","KW_SIGNAL","KW_SKIP","KW_SKIP_QUERY_REWRITE","KW_SPATIAL","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQL_BIG_RESULT","KW_SQL_CALC_FOUND_ROWS","KW_SQL_SMALL_RESULT","KW_SSL","KW_STACKED","KW_STARTING","KW_STRAIGHT_JOIN","KW_TABLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRAILING","KW_TRIGGER","KW_TRUE","KW_UNDO","KW_UNION","KW_UNIQUE","KW_UNLOCK","KW_UNSIGNED","KW_UPDATE","KW_USAGE","KW_USE","KW_USING","KW_VALUES","KW_VCPU","KW_WHEN","KW_WHERE","KW_WHILE","KW_WITH","KW_WRITE","KW_XOR","KW_ZEROFILL","KW_TINYINT","KW_SMALLINT","KW_MEDIUMINT","KW_MIDDLEINT","KW_INT","KW_INT1","KW_INT2","KW_INT3","KW_INT4","KW_INT8","KW_INTEGER","KW_BIGINT","KW_REAL","KW_DOUBLE","KW_PRECISION","KW_FLOAT","KW_FLOAT4","KW_FLOAT8","KW_DECIMAL","KW_DEC","KW_NUMERIC","KW_DATE","KW_TIME","KW_TIMESTAMP","KW_DATETIME","KW_YEAR","KW_CHAR","KW_VARCHAR","KW_NVARCHAR","KW_NATIONAL","KW_BINARY","KW_VARBINARY","KW_TINYBLOB","KW_BLOB","KW_MEDIUMBLOB","KW_LONG","KW_LONGBLOB","KW_TINYTEXT","KW_TEXT","KW_MEDIUMTEXT","KW_LONGTEXT","KW_ENUM","KW_VARYING","KW_SERIAL","KW_YEAR_MONTH","KW_DAY_HOUR","KW_DAY_MINUTE","KW_DAY_SECOND","KW_HOUR_MINUTE","KW_HOUR_SECOND","KW_MINUTE_SECOND","KW_SECOND_MICROSECOND","KW_MINUTE_MICROSECOND","KW_HOUR_MICROSECOND","KW_DAY_MICROSECOND","KW_JSON_TABLE","KW_JSON_VALUE","KW_NESTED","KW_ORDINALITY","KW_PATH","KW_AVG","KW_BIT_AND","KW_BIT_OR","KW_BIT_XOR","KW_COUNT","KW_CUME_DIST","KW_DENSE_RANK","KW_FIRST_VALUE","KW_GROUP_CONCAT","KW_LAG","KW_LAST_VALUE","KW_LEAD","KW_MAX","KW_MIN","KW_NTILE","KW_NTH_VALUE","KW_PERCENT_RANK","KW_RANK","KW_ROW_NUMBER","KW_STD","KW_STDDEV","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_SUM","KW_VAR_POP","KW_VAR_SAMP","KW_VARIANCE","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_LOCALTIME","KW_CURDATE","KW_CURTIME","KW_DATE_ADD","KW_DATE_SUB","KW_EXTRACT","KW_LOCALTIMESTAMP","KW_NOW","KW_POSITION","KW_SUBSTR","KW_SUBSTRING","KW_SYSDATE","KW_TRIM","KW_UTC_DATE","KW_UTC_TIME","KW_UTC_TIMESTAMP","KW_ACCOUNT","KW_ACTION","KW_AFTER","KW_AGGREGATE","KW_ALGORITHM","KW_ANY","KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS","KW_AT","KW_AUTHORS","KW_AUTOCOMMIT","KW_AUTOEXTEND_SIZE","KW_AUTO_INCREMENT","KW_AVG_ROW_LENGTH","KW_BEGIN","KW_BINLOG","KW_BIT","KW_BLOCK","KW_BOOL","KW_BOOLEAN","KW_BTREE","KW_CACHE","KW_CASCADED","KW_CHAIN","KW_CHANGED","KW_CHANNEL","KW_CHECKSUM","KW_CHALLENGE_RESPONSE","KW_CIPHER","KW_CLASS_ORIGIN","KW_CLIENT","KW_CLOSE","KW_COALESCE","KW_CODE","KW_COLUMNS","KW_COLUMN_FORMAT","KW_COLUMN_NAME","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPLETION","KW_COMPONENT","KW_COMPRESSED","KW_COMPRESSION","KW_CONCURRENT","KW_CONNECT","KW_CONNECTION","KW_CONSISTENT","KW_CONSTRAINT_CATALOG","KW_CONSTRAINT_SCHEMA","KW_CONSTRAINT_NAME","KW_CONTAINS","KW_CONTEXT","KW_CONTRIBUTORS","KW_COPY","KW_CPU","KW_CURSOR_NAME","KW_DATA","KW_DATAFILE","KW_DEALLOCATE","KW_DEFAULT_AUTH","KW_DEFINER","KW_DELAY_KEY_WRITE","KW_DES_KEY_FILE","KW_DIRECTORY","KW_DISABLE","KW_DISCARD","KW_DISK","KW_DO","KW_DUMPFILE","KW_DUPLICATE","KW_DYNAMIC","KW_ENABLE","KW_ENCRYPTION","KW_ENCRYPTION_KEY_ID","KW_END","KW_ENDS","KW_ENGINE","KW_ENGINES","KW_ERROR","KW_ERRORS","KW_ESCAPE","KW_EVENT","KW_EVENTS","KW_EVERY","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXPIRE","KW_EXPORT","KW_EXTENDED","KW_EXTENT_SIZE","KW_FACTOR","KW_FAILED_LOGIN_ATTEMPTS","KW_FAST","KW_FAULTS","KW_FIELDS","KW_FILE_BLOCK_SIZE","KW_FILTER","KW_FINISH","KW_FIRST","KW_FIXED","KW_FLUSH","KW_FOLLOWING","KW_FOLLOWS","KW_FOUND","KW_FULL","KW_FUNCTION","KW_GENERAL","KW_GET_MASTER_PUBLIC_KEY","KW_GET_SOURCE_PUBLIC_KEY","KW_GLOBAL","KW_GRANTS","KW_GROUP_REPLICATION","KW_GTID_ONLY","KW_HANDLER","KW_HASH","KW_HELP","KW_HISTORY","KW_HOST","KW_HOSTS","KW_IDENTIFIED","KW_IGNORE_SERVER_IDS","KW_IMPORT","KW_INDEXES","KW_INITIAL","KW_INITIAL_SIZE","KW_INITIATE","KW_INPLACE","KW_INSERT_METHOD","KW_INSTALL","KW_INSTANCE","KW_INSTANT","KW_INVISIBLE","KW_INVOKER","KW_IO","KW_IO_THREAD","KW_IPC","KW_ISOLATION","KW_ISSUER","KW_JSON","KW_KEY_BLOCK_SIZE","KW_LANGUAGE","KW_LAST","KW_LEAVES","KW_LESS","KW_LEVEL","KW_LIST","KW_LOCAL","KW_LOGFILE","KW_LOGS","KW_MASTER","KW_MASTER_AUTO_POSITION","KW_MASTER_COMPRESSION_ALGORITHMS","KW_MASTER_CONNECT_RETRY","KW_MASTER_DELAY","KW_MASTER_HEARTBEAT_PERIOD","KW_MASTER_HOST","KW_MASTER_LOG_FILE","KW_MASTER_LOG_POS","KW_MASTER_PASSWORD","KW_MASTER_PORT","KW_MASTER_PUBLIC_KEY_PATH","KW_MASTER_RETRY_COUNT","KW_MASTER_SSL","KW_MASTER_SSL_CA","KW_MASTER_SSL_CAPATH","KW_MASTER_SSL_CERT","KW_MASTER_SSL_CIPHER","KW_MASTER_SSL_CRL","KW_MASTER_SSL_CRLPATH","KW_MASTER_SSL_KEY","KW_MASTER_TLS_CIPHERSUITES","KW_MASTER_TLS_VERSION","KW_MASTER_USER","KW_MASTER_ZSTD_COMPRESSION_LEVEL","KW_MAX_CONNECTIONS_PER_HOUR","KW_MAX_QUERIES_PER_HOUR","KW_MAX_ROWS","KW_MAX_SIZE","KW_MAX_UPDATES_PER_HOUR","KW_MAX_USER_CONNECTIONS","KW_MEDIUM","KW_MEMBER","KW_MERGE","KW_MESSAGE_TEXT","KW_MID","KW_MIGRATE","KW_MIN_ROWS","KW_MODE","KW_MODIFY","KW_MUTEX","KW_MYSQL","KW_MYSQL_ERRNO","KW_NAME","KW_NAMES","KW_NCHAR","KW_NETWORK_NAMESPACE","KW_NEVER","KW_NEXT","KW_NO","KW_NOWAIT","KW_NODEGROUP","KW_NONE","KW_ODBC","KW_OFF","KW_OFFLINE","KW_OFFSET","KW_OF","KW_OLD","KW_OLD_PASSWORD","KW_ONE","KW_ONLINE","KW_ONLY","KW_OPEN","KW_OPTIMIZER_COSTS","KW_OPTIONS","KW_OWNER","KW_PACK_KEYS","KW_PAGE","KW_PAGE_CHECKSUM","KW_PAGE_COMPRESSED","KW_PAGE_COMPRESSION_LEVEL","KW_PARSER","KW_PARTIAL","KW_PARTITIONING","KW_PARTITIONS","KW_PASSWORD","KW_PASSWORD_LOCK_TIME","KW_PERSIST","KW_PERSIST_ONLY","KW_PHASE","KW_PLUGIN","KW_PLUGIN_DIR","KW_PLUGINS","KW_PORT","KW_PRECEDES","KW_PRECEDING","KW_PREPARE","KW_PRESERVE","KW_PREV","KW_PRIVILEGE_CHECKS_USER","KW_PROCESSLIST","KW_PROFILE","KW_PROFILES","KW_PROXY","KW_QUERY","KW_QUICK","KW_REBUILD","KW_RECOVER","KW_RECURSIVE","KW_REDO_BUFFER_SIZE","KW_REDUNDANT","KW_REGISTRATION","KW_RELAY","KW_RELAY_LOG_FILE","KW_RELAY_LOG_POS","KW_RELAYLOG","KW_REMOVE","KW_REORGANIZE","KW_REPAIR","KW_REPLICA","KW_REPLICAS","KW_REPLICATE_DO_DB","KW_REPLICATE_DO_TABLE","KW_REPLICATE_IGNORE_DB","KW_REPLICATE_IGNORE_TABLE","KW_REPLICATE_REWRITE_DB","KW_REPLICATE_WILD_DO_TABLE","KW_REPLICATE_WILD_IGNORE_TABLE","KW_REPLICATION","KW_REQUIRE_ROW_FORMAT","KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK","KW_RESET","KW_RESTART","KW_RESUME","KW_RETURNED_SQLSTATE","KW_RETURNING","KW_RETURNS","KW_REUSE","KW_ROLE","KW_ROLLBACK","KW_ROLLUP","KW_ROTATE","KW_ROW","KW_ROWS","KW_ROW_FORMAT","KW_SAVEPOINT","KW_SCHEDULE","KW_SECURITY","KW_SERVER","KW_SESSION","KW_SHARE","KW_SHARED","KW_SIGNED","KW_SIMPLE","KW_SLAVE","KW_SLOW","KW_SNAPSHOT","KW_SOCKET","KW_SOME","KW_SONAME","KW_SOUNDS","KW_SOURCE","KW_SOURCE_BIND","KW_SOURCE_HOST","KW_SOURCE_USER","KW_SOURCE_PASSWORD","KW_SOURCE_PORT","KW_SOURCE_LOG_FILE","KW_SOURCE_LOG_POS","KW_SOURCE_AUTO_POSITION","KW_SOURCE_HEARTBEAT_PERIOD","KW_SOURCE_CONNECT_RETRY","KW_SOURCE_RETRY_COUNT","KW_SOURCE_CONNECTION_AUTO_FAILOVER","KW_SOURCE_DELAY","KW_SOURCE_COMPRESSION_ALGORITHMS","KW_SOURCE_ZSTD_COMPRESSION_LEVEL","KW_SOURCE_SSL","KW_SOURCE_SSL_CA","KW_SOURCE_SSL_CAPATH","KW_SOURCE_SSL_CERT","KW_SOURCE_SSL_CRL","KW_SOURCE_SSL_CRLPATH","KW_SOURCE_SSL_KEY","KW_SOURCE_SSL_CIPHER","KW_SOURCE_SSL_VERIFY_SERVER_CERT","KW_SOURCE_TLS_VERSION","KW_SOURCE_TLS_CIPHERSUITES","KW_SOURCE_PUBLIC_KEY_PATH","KW_SQL_AFTER_GTIDS","KW_SQL_AFTER_MTS_GAPS","KW_SQL_BEFORE_GTIDS","KW_SQL_BUFFER_RESULT","KW_SQL_CACHE","KW_SQL_NO_CACHE","KW_SQL_THREAD","KW_START","KW_STARTS","KW_STATS_AUTO_RECALC","KW_STATS_PERSISTENT","KW_STATS_SAMPLE_PAGES","KW_STATUS","KW_STOP","KW_STORAGE","KW_STORED","KW_STRING","KW_SUBCLASS_ORIGIN","KW_SUBJECT","KW_SUBPARTITION","KW_SUBPARTITIONS","KW_SUSPEND","KW_SWAPS","KW_SWITCHES","KW_TABLE_NAME","KW_TABLESPACE","KW_TABLE_TYPE","KW_TEMPORARY","KW_TEMPTABLE","KW_THAN","KW_TRADITIONAL","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TREE","KW_TRIGGERS","KW_TRUNCATE","KW_UNBOUNDED","KW_UNDEFINED","KW_UNDOFILE","KW_UNDO_BUFFER_SIZE","KW_UNINSTALL","KW_UNKNOWN","KW_UNREGISTER","KW_UNTIL","KW_UPGRADE","KW_USER","KW_USE_FRM","KW_USER_RESOURCES","KW_VALIDATION","KW_VALUE","KW_VARIABLES","KW_VIEW","KW_VIRTUAL","KW_VISIBLE","KW_WAIT","KW_WARNINGS","KW_WINDOW","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_X509","KW_XA","KW_XML","KW_QUARTER","KW_MONTH","KW_DAY","KW_HOUR","KW_MINUTE","KW_WEEK","KW_SECOND","KW_MICROSECOND","KW_ADMIN","KW_APPLICATION_PASSWORD_ADMIN","KW_AUDIT_ABORT_EXEMPT","KW_AUDIT_ADMIN","KW_AUTHENTICATION","KW_AUTHENTICATION_POLICY_ADMIN","KW_BACKUP_ADMIN","KW_BINLOG_ADMIN","KW_BINLOG_ENCRYPTION_ADMIN","KW_CLONE","KW_CLONE_ADMIN","KW_CONNECTION_ADMIN","KW_ENCRYPTION_KEY_ADMIN","KW_EXECUTE","KW_FILE","KW_FIREWALL_ADMIN","KW_FIREWALL_EXEMPT","KW_FIREWALL_USER","KW_FLUSH_OPTIMIZER_COSTS","KW_FLUSH_STATUS","KW_FLUSH_TABLES","KW_FLUSH_USER_RESOURCES","KW_GROUP_REPLICATION_ADMIN","KW_INNODB_REDO_LOG_ARCHIVE","KW_INNODB_REDO_LOG_ENABLE","KW_INVOKE","KW_LAMBDA","KW_NDB_STORED_USER","KW_PASSWORDLESS_USER_ADMIN","KW_PERSIST_RO_VARIABLES_ADMIN","KW_PRIVILEGES","KW_PROCESS","KW_RELOAD","KW_REPLICATION_APPLIER","KW_REPLICATION_SLAVE_ADMIN","KW_RESOURCE","KW_RESOURCE_GROUP_ADMIN","KW_RESOURCE_GROUP_USER","KW_ROLE_ADMIN","KW_ROUTINE","KW_S3","KW_SERVICE_CONNECTION_ADMIN","KW_SESSION_VARIABLES_ADMIN","KW_SET_USER_ID","KW_SHOW_ROUTINE","KW_SHUTDOWN","KW_SUPER","KW_SYSTEM_VARIABLES_ADMIN","KW_TABLES","KW_TABLE_ENCRYPTION_ADMIN","KW_VERSION_TOKEN_ADMIN","KW_XA_RECOVER_ADMIN","KW_ARMSCII8","KW_ASCII","KW_BIG5","KW_CP1250","KW_CP1251","KW_CP1256","KW_CP1257","KW_CP850","KW_CP852","KW_CP866","KW_CP932","KW_DEC8","KW_EUCJPMS","KW_EUCKR","KW_GB18030","KW_GB2312","KW_GBK","KW_GEOSTD8","KW_GREEK","KW_HEBREW","KW_HP8","KW_KEYBCS2","KW_KOI8R","KW_KOI8U","KW_LATIN1","KW_LATIN2","KW_LATIN5","KW_LATIN7","KW_MACCE","KW_MACROMAN","KW_SJIS","KW_SWE7","KW_TIS620","KW_UCS2","KW_UJIS","KW_UTF16","KW_UTF16LE","KW_UTF32","KW_UTF8","KW_UTF8MB3","KW_UTF8MB4","KW_ARCHIVE","KW_BLACKHOLE","KW_CSV","KW_FEDERATED","KW_INNODB","KW_MEMORY","KW_MRG_MYISAM","KW_MYISAM","KW_NDB","KW_NDBCLUSTER","KW_PERFORMANCE_SCHEMA","KW_TOKUDB","KW_REPEATABLE","KW_COMMITTED","KW_UNCOMMITTED","KW_SERIALIZABLE","KW_GEOMETRYCOLLECTION","KW_GEOMCOLLECTION","KW_GEOMETRY","KW_LINESTRING","KW_MULTILINESTRING","KW_MULTIPOINT","KW_MULTIPOLYGON","KW_POINT","KW_POLYGON","KW_CATALOG_NAME","KW_CHARSET","KW_COLLATION","KW_ENGINE_ATTRIBUTE","KW_FORMAT","KW_GET_FORMAT","KW_INTERSECT","KW_RANDOM","KW_REVERSE","KW_ROW_COUNT","KW_SCHEMA_NAME","KW_SECONDARY_ENGINE_ATTRIBUTE","KW_SRID","KW_SYSTEM","KW_SYSTEM_USER","KW_THREAD_PRIORITY","KW_TP_CONNECTION_ADMIN","KW_TYPE","KW_WEIGHT_STRING","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","THREE_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","PERSIST_ID","ERROR_RECONGNIGION"],c.modeNames=["DEFAULT_MODE"],c.ruleNames=["SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","KW_ACTIVE","KW_ADD","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ARRAY","KW_AS","KW_ASC","KW_ATTRIBUTE","KW_BEFORE","KW_BETWEEN","KW_BOTH","KW_BUCKETS","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CHANGE","KW_CHARACTER","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONDITION","KW_CONSTRAINT","KW_CONTINUE","KW_CONVERT","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_USER","KW_CURSOR","KW_DATABASE","KW_DATABASES","KW_DECLARE","KW_DEFAULT","KW_DELAYED","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DETERMINISTIC","KW_DIAGNOSTICS","KW_DISTINCT","KW_DISTINCTROW","KW_DROP","KW_EACH","KW_ELSE","KW_ELSEIF","KW_EMPTY","KW_ENCLOSED","KW_ENFORCED","KW_ESCAPED","KW_EXCEPT","KW_EXISTS","KW_EXIT","KW_EXPLAIN","KW_FALSE","KW_FETCH","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FROM","KW_FULLTEXT","KW_GENERATE","KW_GENERATED","KW_GET","KW_GRANT","KW_GROUP","KW_HAVING","KW_HIGH_PRIORITY","KW_HISTOGRAM","KW_IF","KW_IGNORE","KW_IN","KW_INACTIVE","KW_INDEX","KW_INFILE","KW_INNER","KW_INOUT","KW_INSERT","KW_INTERVAL","KW_INTO","KW_IS","KW_ITERATE","KW_JOIN","KW_KEY","KW_KEYS","KW_KILL","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINEAR","KW_LINES","KW_LOAD","KW_LOCK","KW_LOCKED","KW_LOOP","KW_LOW_PRIORITY","KW_MASTER_BIND","KW_MASTER_SSL_VERIFY_SERVER_CERT","KW_MATCH","KW_MAXVALUE","KW_MODIFIES","KW_NATURAL","KW_NOT","KW_NO_WRITE_TO_BINLOG","KW_NULL_LITERAL","KW_NUMBER","KW_STREAM","KW_ON","KW_OPTIMIZE","KW_OPTION","KW_OPTIONAL","KW_OPTIONALLY","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTFILE","KW_OVER","KW_PARTITION","KW_PRIMARY","KW_PROCEDURE","KW_PURGE","KW_RANGE","KW_READ","KW_READS","KW_REFERENCE","KW_REFERENCES","KW_REGEXP","KW_RELEASE","KW_RENAME","KW_REPEAT","KW_REPLACE","KW_REQUIRE","KW_RESIGNAL","KW_RESTRICT","KW_RETAIN","KW_RETURN","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SET","KW_SEPARATOR","KW_SHOW","KW_SIGNAL","KW_SKIP","KW_SKIP_QUERY_REWRITE","KW_SPATIAL","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQL_BIG_RESULT","KW_SQL_CALC_FOUND_ROWS","KW_SQL_SMALL_RESULT","KW_SSL","KW_STACKED","KW_STARTING","KW_STRAIGHT_JOIN","KW_TABLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRAILING","KW_TRIGGER","KW_TRUE","KW_UNDO","KW_UNION","KW_UNIQUE","KW_UNLOCK","KW_UNSIGNED","KW_UPDATE","KW_USAGE","KW_USE","KW_USING","KW_VALUES","KW_VCPU","KW_WHEN","KW_WHERE","KW_WHILE","KW_WITH","KW_WRITE","KW_XOR","KW_ZEROFILL","KW_TINYINT","KW_SMALLINT","KW_MEDIUMINT","KW_MIDDLEINT","KW_INT","KW_INT1","KW_INT2","KW_INT3","KW_INT4","KW_INT8","KW_INTEGER","KW_BIGINT","KW_REAL","KW_DOUBLE","KW_PRECISION","KW_FLOAT","KW_FLOAT4","KW_FLOAT8","KW_DECIMAL","KW_DEC","KW_NUMERIC","KW_DATE","KW_TIME","KW_TIMESTAMP","KW_DATETIME","KW_YEAR","KW_CHAR","KW_VARCHAR","KW_NVARCHAR","KW_NATIONAL","KW_BINARY","KW_VARBINARY","KW_TINYBLOB","KW_BLOB","KW_MEDIUMBLOB","KW_LONG","KW_LONGBLOB","KW_TINYTEXT","KW_TEXT","KW_MEDIUMTEXT","KW_LONGTEXT","KW_ENUM","KW_VARYING","KW_SERIAL","KW_YEAR_MONTH","KW_DAY_HOUR","KW_DAY_MINUTE","KW_DAY_SECOND","KW_HOUR_MINUTE","KW_HOUR_SECOND","KW_MINUTE_SECOND","KW_SECOND_MICROSECOND","KW_MINUTE_MICROSECOND","KW_HOUR_MICROSECOND","KW_DAY_MICROSECOND","KW_JSON_TABLE","KW_JSON_VALUE","KW_NESTED","KW_ORDINALITY","KW_PATH","KW_AVG","KW_BIT_AND","KW_BIT_OR","KW_BIT_XOR","KW_COUNT","KW_CUME_DIST","KW_DENSE_RANK","KW_FIRST_VALUE","KW_GROUP_CONCAT","KW_LAG","KW_LAST_VALUE","KW_LEAD","KW_MAX","KW_MIN","KW_NTILE","KW_NTH_VALUE","KW_PERCENT_RANK","KW_RANK","KW_ROW_NUMBER","KW_STD","KW_STDDEV","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_SUM","KW_VAR_POP","KW_VAR_SAMP","KW_VARIANCE","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_LOCALTIME","KW_CURDATE","KW_CURTIME","KW_DATE_ADD","KW_DATE_SUB","KW_EXTRACT","KW_LOCALTIMESTAMP","KW_NOW","KW_POSITION","KW_SUBSTR","KW_SUBSTRING","KW_SYSDATE","KW_TRIM","KW_UTC_DATE","KW_UTC_TIME","KW_UTC_TIMESTAMP","KW_ACCOUNT","KW_ACTION","KW_AFTER","KW_AGGREGATE","KW_ALGORITHM","KW_ANY","KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS","KW_AT","KW_AUTHORS","KW_AUTOCOMMIT","KW_AUTOEXTEND_SIZE","KW_AUTO_INCREMENT","KW_AVG_ROW_LENGTH","KW_BEGIN","KW_BINLOG","KW_BIT","KW_BLOCK","KW_BOOL","KW_BOOLEAN","KW_BTREE","KW_CACHE","KW_CASCADED","KW_CHAIN","KW_CHANGED","KW_CHANNEL","KW_CHECKSUM","KW_CHALLENGE_RESPONSE","KW_CIPHER","KW_CLASS_ORIGIN","KW_CLIENT","KW_CLOSE","KW_COALESCE","KW_CODE","KW_COLUMNS","KW_COLUMN_FORMAT","KW_COLUMN_NAME","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPLETION","KW_COMPONENT","KW_COMPRESSED","KW_COMPRESSION","KW_CONCURRENT","KW_CONNECT","KW_CONNECTION","KW_CONSISTENT","KW_CONSTRAINT_CATALOG","KW_CONSTRAINT_SCHEMA","KW_CONSTRAINT_NAME","KW_CONTAINS","KW_CONTEXT","KW_CONTRIBUTORS","KW_COPY","KW_CPU","KW_CURSOR_NAME","KW_DATA","KW_DATAFILE","KW_DEALLOCATE","KW_DEFAULT_AUTH","KW_DEFINER","KW_DELAY_KEY_WRITE","KW_DES_KEY_FILE","KW_DIRECTORY","KW_DISABLE","KW_DISCARD","KW_DISK","KW_DO","KW_DUMPFILE","KW_DUPLICATE","KW_DYNAMIC","KW_ENABLE","KW_ENCRYPTION","KW_ENCRYPTION_KEY_ID","KW_END","KW_ENDS","KW_ENGINE","KW_ENGINES","KW_ERROR","KW_ERRORS","KW_ESCAPE","KW_EVENT","KW_EVENTS","KW_EVERY","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXPIRE","KW_EXPORT","KW_EXTENDED","KW_EXTENT_SIZE","KW_FACTOR","KW_FAILED_LOGIN_ATTEMPTS","KW_FAST","KW_FAULTS","KW_FIELDS","KW_FILE_BLOCK_SIZE","KW_FILTER","KW_FINISH","KW_FIRST","KW_FIXED","KW_FLUSH","KW_FOLLOWING","KW_FOLLOWS","KW_FOUND","KW_FULL","KW_FUNCTION","KW_GENERAL","KW_GET_MASTER_PUBLIC_KEY","KW_GET_SOURCE_PUBLIC_KEY","KW_GLOBAL","KW_GRANTS","KW_GROUP_REPLICATION","KW_GTID_ONLY","KW_HANDLER","KW_HASH","KW_HELP","KW_HISTORY","KW_HOST","KW_HOSTS","KW_IDENTIFIED","KW_IGNORE_SERVER_IDS","KW_IMPORT","KW_INDEXES","KW_INITIAL","KW_INITIAL_SIZE","KW_INITIATE","KW_INPLACE","KW_INSERT_METHOD","KW_INSTALL","KW_INSTANCE","KW_INSTANT","KW_INVISIBLE","KW_INVOKER","KW_IO","KW_IO_THREAD","KW_IPC","KW_ISOLATION","KW_ISSUER","KW_JSON","KW_KEY_BLOCK_SIZE","KW_LANGUAGE","KW_LAST","KW_LEAVES","KW_LESS","KW_LEVEL","KW_LIST","KW_LOCAL","KW_LOGFILE","KW_LOGS","KW_MASTER","KW_MASTER_AUTO_POSITION","KW_MASTER_COMPRESSION_ALGORITHMS","KW_MASTER_CONNECT_RETRY","KW_MASTER_DELAY","KW_MASTER_HEARTBEAT_PERIOD","KW_MASTER_HOST","KW_MASTER_LOG_FILE","KW_MASTER_LOG_POS","KW_MASTER_PASSWORD","KW_MASTER_PORT","KW_MASTER_PUBLIC_KEY_PATH","KW_MASTER_RETRY_COUNT","KW_MASTER_SSL","KW_MASTER_SSL_CA","KW_MASTER_SSL_CAPATH","KW_MASTER_SSL_CERT","KW_MASTER_SSL_CIPHER","KW_MASTER_SSL_CRL","KW_MASTER_SSL_CRLPATH","KW_MASTER_SSL_KEY","KW_MASTER_TLS_CIPHERSUITES","KW_MASTER_TLS_VERSION","KW_MASTER_USER","KW_MASTER_ZSTD_COMPRESSION_LEVEL","KW_MAX_CONNECTIONS_PER_HOUR","KW_MAX_QUERIES_PER_HOUR","KW_MAX_ROWS","KW_MAX_SIZE","KW_MAX_UPDATES_PER_HOUR","KW_MAX_USER_CONNECTIONS","KW_MEDIUM","KW_MEMBER","KW_MERGE","KW_MESSAGE_TEXT","KW_MID","KW_MIGRATE","KW_MIN_ROWS","KW_MODE","KW_MODIFY","KW_MUTEX","KW_MYSQL","KW_MYSQL_ERRNO","KW_NAME","KW_NAMES","KW_NCHAR","KW_NETWORK_NAMESPACE","KW_NEVER","KW_NEXT","KW_NO","KW_NOWAIT","KW_NODEGROUP","KW_NONE","KW_ODBC","KW_OFF","KW_OFFLINE","KW_OFFSET","KW_OF","KW_OLD","KW_OLD_PASSWORD","KW_ONE","KW_ONLINE","KW_ONLY","KW_OPEN","KW_OPTIMIZER_COSTS","KW_OPTIONS","KW_OWNER","KW_PACK_KEYS","KW_PAGE","KW_PAGE_CHECKSUM","KW_PAGE_COMPRESSED","KW_PAGE_COMPRESSION_LEVEL","KW_PARSER","KW_PARTIAL","KW_PARTITIONING","KW_PARTITIONS","KW_PASSWORD","KW_PASSWORD_LOCK_TIME","KW_PERSIST","KW_PERSIST_ONLY","KW_PHASE","KW_PLUGIN","KW_PLUGIN_DIR","KW_PLUGINS","KW_PORT","KW_PRECEDES","KW_PRECEDING","KW_PREPARE","KW_PRESERVE","KW_PREV","KW_PRIVILEGE_CHECKS_USER","KW_PROCESSLIST","KW_PROFILE","KW_PROFILES","KW_PROXY","KW_QUERY","KW_QUICK","KW_REBUILD","KW_RECOVER","KW_RECURSIVE","KW_REDO_BUFFER_SIZE","KW_REDUNDANT","KW_REGISTRATION","KW_RELAY","KW_RELAY_LOG_FILE","KW_RELAY_LOG_POS","KW_RELAYLOG","KW_REMOVE","KW_REORGANIZE","KW_REPAIR","KW_REPLICA","KW_REPLICAS","KW_REPLICATE_DO_DB","KW_REPLICATE_DO_TABLE","KW_REPLICATE_IGNORE_DB","KW_REPLICATE_IGNORE_TABLE","KW_REPLICATE_REWRITE_DB","KW_REPLICATE_WILD_DO_TABLE","KW_REPLICATE_WILD_IGNORE_TABLE","KW_REPLICATION","KW_REQUIRE_ROW_FORMAT","KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK","KW_RESET","KW_RESTART","KW_RESUME","KW_RETURNED_SQLSTATE","KW_RETURNING","KW_RETURNS","KW_REUSE","KW_ROLE","KW_ROLLBACK","KW_ROLLUP","KW_ROTATE","KW_ROW","KW_ROWS","KW_ROW_FORMAT","KW_SAVEPOINT","KW_SCHEDULE","KW_SECURITY","KW_SERVER","KW_SESSION","KW_SHARE","KW_SHARED","KW_SIGNED","KW_SIMPLE","KW_SLAVE","KW_SLOW","KW_SNAPSHOT","KW_SOCKET","KW_SOME","KW_SONAME","KW_SOUNDS","KW_SOURCE","KW_SOURCE_BIND","KW_SOURCE_HOST","KW_SOURCE_USER","KW_SOURCE_PASSWORD","KW_SOURCE_PORT","KW_SOURCE_LOG_FILE","KW_SOURCE_LOG_POS","KW_SOURCE_AUTO_POSITION","KW_SOURCE_HEARTBEAT_PERIOD","KW_SOURCE_CONNECT_RETRY","KW_SOURCE_RETRY_COUNT","KW_SOURCE_CONNECTION_AUTO_FAILOVER","KW_SOURCE_DELAY","KW_SOURCE_COMPRESSION_ALGORITHMS","KW_SOURCE_ZSTD_COMPRESSION_LEVEL","KW_SOURCE_SSL","KW_SOURCE_SSL_CA","KW_SOURCE_SSL_CAPATH","KW_SOURCE_SSL_CERT","KW_SOURCE_SSL_CRL","KW_SOURCE_SSL_CRLPATH","KW_SOURCE_SSL_KEY","KW_SOURCE_SSL_CIPHER","KW_SOURCE_SSL_VERIFY_SERVER_CERT","KW_SOURCE_TLS_VERSION","KW_SOURCE_TLS_CIPHERSUITES","KW_SOURCE_PUBLIC_KEY_PATH","KW_SQL_AFTER_GTIDS","KW_SQL_AFTER_MTS_GAPS","KW_SQL_BEFORE_GTIDS","KW_SQL_BUFFER_RESULT","KW_SQL_CACHE","KW_SQL_NO_CACHE","KW_SQL_THREAD","KW_START","KW_STARTS","KW_STATS_AUTO_RECALC","KW_STATS_PERSISTENT","KW_STATS_SAMPLE_PAGES","KW_STATUS","KW_STOP","KW_STORAGE","KW_STORED","KW_STRING","KW_SUBCLASS_ORIGIN","KW_SUBJECT","KW_SUBPARTITION","KW_SUBPARTITIONS","KW_SUSPEND","KW_SWAPS","KW_SWITCHES","KW_TABLE_NAME","KW_TABLESPACE","KW_TABLE_TYPE","KW_TEMPORARY","KW_TEMPTABLE","KW_THAN","KW_TRADITIONAL","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TREE","KW_TRIGGERS","KW_TRUNCATE","KW_UNBOUNDED","KW_UNDEFINED","KW_UNDOFILE","KW_UNDO_BUFFER_SIZE","KW_UNINSTALL","KW_UNKNOWN","KW_UNREGISTER","KW_UNTIL","KW_UPGRADE","KW_USER","KW_USE_FRM","KW_USER_RESOURCES","KW_VALIDATION","KW_VALUE","KW_VARIABLES","KW_VIEW","KW_VIRTUAL","KW_VISIBLE","KW_WAIT","KW_WARNINGS","KW_WINDOW","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_X509","KW_XA","KW_XML","KW_QUARTER","KW_MONTH","KW_DAY","KW_HOUR","KW_MINUTE","KW_WEEK","KW_SECOND","KW_MICROSECOND","KW_ADMIN","KW_APPLICATION_PASSWORD_ADMIN","KW_AUDIT_ABORT_EXEMPT","KW_AUDIT_ADMIN","KW_AUTHENTICATION","KW_AUTHENTICATION_POLICY_ADMIN","KW_BACKUP_ADMIN","KW_BINLOG_ADMIN","KW_BINLOG_ENCRYPTION_ADMIN","KW_CLONE","KW_CLONE_ADMIN","KW_CONNECTION_ADMIN","KW_ENCRYPTION_KEY_ADMIN","KW_EXECUTE","KW_FILE","KW_FIREWALL_ADMIN","KW_FIREWALL_EXEMPT","KW_FIREWALL_USER","KW_FLUSH_OPTIMIZER_COSTS","KW_FLUSH_STATUS","KW_FLUSH_TABLES","KW_FLUSH_USER_RESOURCES","KW_GROUP_REPLICATION_ADMIN","KW_INNODB_REDO_LOG_ARCHIVE","KW_INNODB_REDO_LOG_ENABLE","KW_INVOKE","KW_LAMBDA","KW_NDB_STORED_USER","KW_PASSWORDLESS_USER_ADMIN","KW_PERSIST_RO_VARIABLES_ADMIN","KW_PRIVILEGES","KW_PROCESS","KW_RELOAD","KW_REPLICATION_APPLIER","KW_REPLICATION_SLAVE_ADMIN","KW_RESOURCE","KW_RESOURCE_GROUP_ADMIN","KW_RESOURCE_GROUP_USER","KW_ROLE_ADMIN","KW_ROUTINE","KW_S3","KW_SERVICE_CONNECTION_ADMIN","KW_SESSION_VARIABLES_ADMIN","KW_SET_USER_ID","KW_SHOW_ROUTINE","KW_SHUTDOWN","KW_SUPER","KW_SYSTEM_VARIABLES_ADMIN","KW_TABLES","KW_TABLE_ENCRYPTION_ADMIN","KW_VERSION_TOKEN_ADMIN","KW_XA_RECOVER_ADMIN","KW_ARMSCII8","KW_ASCII","KW_BIG5","KW_CP1250","KW_CP1251","KW_CP1256","KW_CP1257","KW_CP850","KW_CP852","KW_CP866","KW_CP932","KW_DEC8","KW_EUCJPMS","KW_EUCKR","KW_GB18030","KW_GB2312","KW_GBK","KW_GEOSTD8","KW_GREEK","KW_HEBREW","KW_HP8","KW_KEYBCS2","KW_KOI8R","KW_KOI8U","KW_LATIN1","KW_LATIN2","KW_LATIN5","KW_LATIN7","KW_MACCE","KW_MACROMAN","KW_SJIS","KW_SWE7","KW_TIS620","KW_UCS2","KW_UJIS","KW_UTF16","KW_UTF16LE","KW_UTF32","KW_UTF8","KW_UTF8MB3","KW_UTF8MB4","KW_ARCHIVE","KW_BLACKHOLE","KW_CSV","KW_FEDERATED","KW_INNODB","KW_MEMORY","KW_MRG_MYISAM","KW_MYISAM","KW_NDB","KW_NDBCLUSTER","KW_PERFORMANCE_SCHEMA","KW_TOKUDB","KW_REPEATABLE","KW_COMMITTED","KW_UNCOMMITTED","KW_SERIALIZABLE","KW_GEOMETRYCOLLECTION","KW_GEOMCOLLECTION","KW_GEOMETRY","KW_LINESTRING","KW_MULTILINESTRING","KW_MULTIPOINT","KW_MULTIPOLYGON","KW_POINT","KW_POLYGON","KW_CATALOG_NAME","KW_CHARSET","KW_COLLATION","KW_ENGINE_ATTRIBUTE","KW_FORMAT","KW_GET_FORMAT","KW_INTERSECT","KW_RANDOM","KW_REVERSE","KW_ROW_COUNT","KW_SCHEMA_NAME","KW_SECONDARY_ENGINE_ATTRIBUTE","KW_SRID","KW_SYSTEM","KW_SYSTEM_USER","KW_THREAD_PRIORITY","KW_TP_CONNECTION_ADMIN","KW_TYPE","KW_WEIGHT_STRING","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","THREE_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","QUOTE_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","PERSIST_ID","CHARSET_NAME","EXPONENT_NUM_PART","ID_LITERAL","DQUOTA_STRING","SQUOTA_STRING","BQUOTA_STRING","HEX_DIGIT","DEC_DIGIT","BIT_STRING_L","IP_ADDRESS","ERROR_RECONGNIGION"],c._serializedATN=[4,0,895,10421,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,2,606,7,606,2,607,7,607,2,608,7,608,2,609,7,609,2,610,7,610,2,611,7,611,2,612,7,612,2,613,7,613,2,614,7,614,2,615,7,615,2,616,7,616,2,617,7,617,2,618,7,618,2,619,7,619,2,620,7,620,2,621,7,621,2,622,7,622,2,623,7,623,2,624,7,624,2,625,7,625,2,626,7,626,2,627,7,627,2,628,7,628,2,629,7,629,2,630,7,630,2,631,7,631,2,632,7,632,2,633,7,633,2,634,7,634,2,635,7,635,2,636,7,636,2,637,7,637,2,638,7,638,2,639,7,639,2,640,7,640,2,641,7,641,2,642,7,642,2,643,7,643,2,644,7,644,2,645,7,645,2,646,7,646,2,647,7,647,2,648,7,648,2,649,7,649,2,650,7,650,2,651,7,651,2,652,7,652,2,653,7,653,2,654,7,654,2,655,7,655,2,656,7,656,2,657,7,657,2,658,7,658,2,659,7,659,2,660,7,660,2,661,7,661,2,662,7,662,2,663,7,663,2,664,7,664,2,665,7,665,2,666,7,666,2,667,7,667,2,668,7,668,2,669,7,669,2,670,7,670,2,671,7,671,2,672,7,672,2,673,7,673,2,674,7,674,2,675,7,675,2,676,7,676,2,677,7,677,2,678,7,678,2,679,7,679,2,680,7,680,2,681,7,681,2,682,7,682,2,683,7,683,2,684,7,684,2,685,7,685,2,686,7,686,2,687,7,687,2,688,7,688,2,689,7,689,2,690,7,690,2,691,7,691,2,692,7,692,2,693,7,693,2,694,7,694,2,695,7,695,2,696,7,696,2,697,7,697,2,698,7,698,2,699,7,699,2,700,7,700,2,701,7,701,2,702,7,702,2,703,7,703,2,704,7,704,2,705,7,705,2,706,7,706,2,707,7,707,2,708,7,708,2,709,7,709,2,710,7,710,2,711,7,711,2,712,7,712,2,713,7,713,2,714,7,714,2,715,7,715,2,716,7,716,2,717,7,717,2,718,7,718,2,719,7,719,2,720,7,720,2,721,7,721,2,722,7,722,2,723,7,723,2,724,7,724,2,725,7,725,2,726,7,726,2,727,7,727,2,728,7,728,2,729,7,729,2,730,7,730,2,731,7,731,2,732,7,732,2,733,7,733,2,734,7,734,2,735,7,735,2,736,7,736,2,737,7,737,2,738,7,738,2,739,7,739,2,740,7,740,2,741,7,741,2,742,7,742,2,743,7,743,2,744,7,744,2,745,7,745,2,746,7,746,2,747,7,747,2,748,7,748,2,749,7,749,2,750,7,750,2,751,7,751,2,752,7,752,2,753,7,753,2,754,7,754,2,755,7,755,2,756,7,756,2,757,7,757,2,758,7,758,2,759,7,759,2,760,7,760,2,761,7,761,2,762,7,762,2,763,7,763,2,764,7,764,2,765,7,765,2,766,7,766,2,767,7,767,2,768,7,768,2,769,7,769,2,770,7,770,2,771,7,771,2,772,7,772,2,773,7,773,2,774,7,774,2,775,7,775,2,776,7,776,2,777,7,777,2,778,7,778,2,779,7,779,2,780,7,780,2,781,7,781,2,782,7,782,2,783,7,783,2,784,7,784,2,785,7,785,2,786,7,786,2,787,7,787,2,788,7,788,2,789,7,789,2,790,7,790,2,791,7,791,2,792,7,792,2,793,7,793,2,794,7,794,2,795,7,795,2,796,7,796,2,797,7,797,2,798,7,798,2,799,7,799,2,800,7,800,2,801,7,801,2,802,7,802,2,803,7,803,2,804,7,804,2,805,7,805,2,806,7,806,2,807,7,807,2,808,7,808,2,809,7,809,2,810,7,810,2,811,7,811,2,812,7,812,2,813,7,813,2,814,7,814,2,815,7,815,2,816,7,816,2,817,7,817,2,818,7,818,2,819,7,819,2,820,7,820,2,821,7,821,2,822,7,822,2,823,7,823,2,824,7,824,2,825,7,825,2,826,7,826,2,827,7,827,2,828,7,828,2,829,7,829,2,830,7,830,2,831,7,831,2,832,7,832,2,833,7,833,2,834,7,834,2,835,7,835,2,836,7,836,2,837,7,837,2,838,7,838,2,839,7,839,2,840,7,840,2,841,7,841,2,842,7,842,2,843,7,843,2,844,7,844,2,845,7,845,2,846,7,846,2,847,7,847,2,848,7,848,2,849,7,849,2,850,7,850,2,851,7,851,2,852,7,852,2,853,7,853,2,854,7,854,2,855,7,855,2,856,7,856,2,857,7,857,2,858,7,858,2,859,7,859,2,860,7,860,2,861,7,861,2,862,7,862,2,863,7,863,2,864,7,864,2,865,7,865,2,866,7,866,2,867,7,867,2,868,7,868,2,869,7,869,2,870,7,870,2,871,7,871,2,872,7,872,2,873,7,873,2,874,7,874,2,875,7,875,2,876,7,876,2,877,7,877,2,878,7,878,2,879,7,879,2,880,7,880,2,881,7,881,2,882,7,882,2,883,7,883,2,884,7,884,2,885,7,885,2,886,7,886,2,887,7,887,2,888,7,888,2,889,7,889,2,890,7,890,2,891,7,891,2,892,7,892,2,893,7,893,2,894,7,894,2,895,7,895,2,896,7,896,2,897,7,897,2,898,7,898,2,899,7,899,2,900,7,900,2,901,7,901,2,902,7,902,2,903,7,903,2,904,7,904,2,905,7,905,1,0,4,0,1815,8,0,11,0,12,0,1816,1,0,1,0,1,1,1,1,1,1,1,1,1,1,4,1,1826,8,1,11,1,12,1,1827,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,5,2,1839,8,2,10,2,12,2,1842,9,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,5,3,1853,8,3,10,3,12,3,1856,9,3,1,3,3,3,1859,8,3,1,3,5,3,1862,8,3,10,3,12,3,1865,9,3,1,3,3,3,1868,8,3,1,3,1,3,3,3,1872,8,3,1,3,1,3,1,3,1,3,3,3,1878,8,3,1,3,1,3,3,3,1882,8,3,3,3,1884,8,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,504,1,504,1,504,1,505,1,505,1,505,1,505,1,505,1,506,1,506,1,506,1,506,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,509,1,509,1,509,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,512,1,512,1,512,1,512,1,513,1,513,1,513,1,513,1,513,1,513,1,513,1,514,1,514,1,514,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,517,1,517,1,517,1,517,1,517,1,517,1,517,1,517,1,518,1,518,1,518,1,518,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,520,1,520,1,520,1,520,1,520,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,532,1,532,1,532,1,532,1,532,1,532,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,536,1,536,1,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,1,548,1,548,1,548,1,548,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,555,1,555,1,555,1,555,1,555,1,555,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,559,1,559,1,559,1,559,1,559,1,559,1,559,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,561,1,561,1,561,1,561,1,561,1,561,1,561,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,574,1,574,1,574,1,574,1,574,1,574,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,576,1,576,1,576,1,576,1,576,1,576,1,576,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,579,1,579,1,579,1,579,1,579,1,579,1,579,1,579,1,580,1,580,1,580,1,580,1,580,1,580,1,581,1,581,1,581,1,581,1,581,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,585,1,585,1,585,1,585,1,586,1,586,1,586,1,586,1,586,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,593,1,593,1,593,1,593,1,593,1,593,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,597,1,597,1,597,1,597,1,597,1,597,1,598,1,598,1,598,1,598,1,598,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,601,1,601,1,601,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,604,1,604,1,604,1,604,1,604,1,604,1,604,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,639,1,639,1,639,1,639,1,639,1,639,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,644,1,644,1,644,1,644,1,644,1,644,1,644,1,645,1,645,1,645,1,645,1,645,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,648,1,648,1,648,1,648,1,648,1,648,1,648,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,650,1,650,1,650,1,650,1,650,1,650,1,650,1,650,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,654,1,654,1,654,1,654,1,654,1,654,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,661,1,661,1,661,1,661,1,661,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,665,1,665,1,665,1,665,1,665,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,670,1,670,1,670,1,670,1,670,1,670,1,670,1,670,1,670,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,675,1,675,1,675,1,675,1,675,1,675,1,676,1,676,1,676,1,676,1,676,1,676,1,676,1,676,1,677,1,677,1,677,1,677,1,677,1,678,1,678,1,678,1,678,1,678,1,678,1,678,1,678,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,681,1,681,1,681,1,681,1,681,1,681,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,683,1,683,1,683,1,683,1,683,1,684,1,684,1,684,1,684,1,684,1,684,1,684,1,684,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,686,1,686,1,686,1,686,1,686,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,688,1,688,1,688,1,688,1,688,1,688,1,688,1,689,1,689,1,689,1,689,1,689,1,689,1,689,1,689,1,690,1,690,1,690,1,690,1,690,1,691,1,691,1,691,1,691,1,691,1,691,1,691,1,691,1,692,1,692,1,692,1,692,1,692,1,693,1,693,1,693,1,694,1,694,1,694,1,694,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,696,1,696,1,696,1,696,1,696,1,696,1,697,1,697,1,697,1,697,1,698,1,698,1,698,1,698,1,698,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,700,1,700,1,700,1,700,1,700,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,703,1,703,1,703,1,703,1,703,1,703,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,712,1,712,1,712,1,712,1,712,1,712,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,717,1,717,1,717,1,717,1,717,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,743,1,743,1,743,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,745,3,745,9138,8,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,3,745,9165,8,745,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,749,1,749,1,749,1,749,1,749,1,749,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,751,1,751,1,751,1,751,1,751,1,751,1,751,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,755,1,755,1,755,1,755,1,755,1,755,1,755,1,755,1,755,1,756,1,756,1,756,1,756,1,756,1,756,1,757,1,757,1,757,1,757,1,757,1,758,1,758,1,758,1,758,1,758,1,758,1,758,1,759,1,759,1,759,1,759,1,759,1,759,1,759,1,760,1,760,1,760,1,760,1,760,1,760,1,760,1,761,1,761,1,761,1,761,1,761,1,761,1,761,1,762,1,762,1,762,1,762,1,762,1,762,1,763,1,763,1,763,1,763,1,763,1,763,1,764,1,764,1,764,1,764,1,764,1,764,1,765,1,765,1,765,1,765,1,765,1,765,1,766,1,766,1,766,1,766,1,766,1,767,1,767,1,767,1,767,1,767,1,767,1,767,1,767,1,768,1,768,1,768,1,768,1,768,1,768,1,769,1,769,1,769,1,769,1,769,1,769,1,769,1,769,1,770,1,770,1,770,1,770,1,770,1,770,1,770,1,771,1,771,1,771,1,771,1,772,1,772,1,772,1,772,1,772,1,772,1,772,1,772,1,773,1,773,1,773,1,773,1,773,1,773,1,774,1,774,1,774,1,774,1,774,1,774,1,774,1,775,1,775,1,775,1,775,1,776,1,776,1,776,1,776,1,776,1,776,1,776,1,776,1,777,1,777,1,777,1,777,1,777,1,777,1,778,1,778,1,778,1,778,1,778,1,778,1,779,1,779,1,779,1,779,1,779,1,779,1,779,1,780,1,780,1,780,1,780,1,780,1,780,1,780,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,782,1,782,1,782,1,782,1,782,1,782,1,782,1,783,1,783,1,783,1,783,1,783,1,783,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,785,1,785,1,785,1,785,1,785,1,786,1,786,1,786,1,786,1,786,1,787,1,787,1,787,1,787,1,787,1,787,1,787,1,788,1,788,1,788,1,788,1,788,1,789,1,789,1,789,1,789,1,789,1,790,1,790,1,790,1,790,1,790,1,790,1,791,1,791,1,791,1,791,1,791,1,791,1,791,1,791,1,792,1,792,1,792,1,792,1,792,1,792,1,793,1,793,1,793,1,793,1,793,1,794,1,794,1,794,1,794,1,794,1,794,1,794,1,794,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,798,1,798,1,798,1,798,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,804,1,804,1,804,1,804,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,819,1,819,1,819,1,819,1,819,1,819,1,820,1,820,1,820,1,820,1,820,1,820,1,820,1,820,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,822,1,822,1,822,1,822,1,822,1,822,1,822,1,822,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,828,1,828,1,828,1,828,1,828,1,828,1,828,1,829,1,829,1,829,1,829,1,829,1,829,1,829,1,829,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,833,1,833,1,833,1,833,1,833,1,834,1,834,1,834,1,834,1,834,1,834,1,834,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,838,1,838,1,838,1,838,1,838,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,840,1,840,1,840,1,841,1,841,1,841,1,842,1,842,1,842,1,843,1,843,1,843,1,844,1,844,1,844,1,845,1,845,1,845,1,846,1,846,1,846,1,847,1,847,1,847,1,848,1,848,1,848,1,849,1,849,1,850,1,850,1,851,1,851,1,852,1,852,1,853,1,853,1,854,1,854,1,854,1,854,1,855,1,855,1,855,1,855,1,856,1,856,1,857,1,857,1,858,1,858,1,859,1,859,1,860,1,860,1,861,1,861,1,862,1,862,1,863,1,863,1,864,1,864,1,865,1,865,1,866,1,866,1,867,1,867,1,868,1,868,1,869,1,869,1,870,1,870,1,871,1,871,1,872,1,872,1,873,1,873,1,874,1,874,1,875,1,875,1,876,1,876,1,877,1,877,1,878,1,878,1,878,3,878,10133,8,878,1,879,1,879,1,879,1,879,1,880,4,880,10140,8,880,11,880,12,880,10141,1,880,1,880,1,881,1,881,1,881,1,882,1,882,1,882,3,882,10152,8,882,1,883,4,883,10155,8,883,11,883,12,883,10156,1,884,1,884,1,884,1,884,1,884,4,884,10164,8,884,11,884,12,884,10165,1,884,1,884,1,884,1,884,1,884,1,884,4,884,10174,8,884,11,884,12,884,10175,3,884,10178,8,884,1,885,5,885,10181,8,885,10,885,12,885,10184,9,885,1,885,1,885,4,885,10188,8,885,11,885,12,885,10189,1,885,4,885,10193,8,885,11,885,12,885,10194,1,885,1,885,1,885,1,885,5,885,10201,8,885,10,885,12,885,10204,9,885,1,885,1,885,4,885,10208,8,885,11,885,12,885,10209,1,885,1,885,1,885,4,885,10215,8,885,11,885,12,885,10216,1,885,1,885,3,885,10221,8,885,1,886,1,886,1,886,1,887,1,887,1,888,1,888,1,888,1,889,1,889,1,890,1,890,1,891,1,891,1,891,1,892,1,892,1,892,4,892,10241,8,892,11,892,12,892,10242,3,892,10245,8,892,1,893,1,893,1,893,4,893,10250,8,893,11,893,12,893,10251,1,893,3,893,10255,8,893,1,894,1,894,1,894,4,894,10260,8,894,11,894,12,894,10261,1,894,3,894,10265,8,894,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,3,895,10308,8,895,1,896,1,896,3,896,10312,8,896,1,896,4,896,10315,8,896,11,896,12,896,10316,1,897,5,897,10320,8,897,10,897,12,897,10323,9,897,1,897,4,897,10326,8,897,11,897,12,897,10327,1,897,5,897,10331,8,897,10,897,12,897,10334,9,897,1,898,1,898,1,898,1,898,1,898,1,898,5,898,10342,8,898,10,898,12,898,10345,9,898,1,898,1,898,1,899,1,899,1,899,1,899,1,899,1,899,5,899,10355,8,899,10,899,12,899,10358,9,899,1,899,1,899,1,900,1,900,1,900,1,900,5,900,10366,8,900,10,900,12,900,10369,9,900,1,900,1,900,1,901,1,901,1,902,1,902,1,903,1,903,1,903,4,903,10380,8,903,11,903,12,903,10381,1,903,1,903,1,904,4,904,10387,8,904,11,904,12,904,10388,1,904,1,904,4,904,10393,8,904,11,904,12,904,10394,1,904,5,904,10398,8,904,10,904,12,904,10401,9,904,1,904,1,904,5,904,10405,8,904,10,904,12,904,10408,9,904,1,904,1,904,4,904,10412,8,904,11,904,12,904,10413,3,904,10416,8,904,1,905,1,905,1,905,1,905,4,1827,1840,10321,10327,0,906,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,433,867,434,869,435,871,436,873,437,875,438,877,439,879,440,881,441,883,442,885,443,887,444,889,445,891,446,893,447,895,448,897,449,899,450,901,451,903,452,905,453,907,454,909,455,911,456,913,457,915,458,917,459,919,460,921,461,923,462,925,463,927,464,929,465,931,466,933,467,935,468,937,469,939,470,941,471,943,472,945,473,947,474,949,475,951,476,953,477,955,478,957,479,959,480,961,481,963,482,965,483,967,484,969,485,971,486,973,487,975,488,977,489,979,490,981,491,983,492,985,493,987,494,989,495,991,496,993,497,995,498,997,499,999,500,1001,501,1003,502,1005,503,1007,504,1009,505,1011,506,1013,507,1015,508,1017,509,1019,510,1021,511,1023,512,1025,513,1027,514,1029,515,1031,516,1033,517,1035,518,1037,519,1039,520,1041,521,1043,522,1045,523,1047,524,1049,525,1051,526,1053,527,1055,528,1057,529,1059,530,1061,531,1063,532,1065,533,1067,534,1069,535,1071,536,1073,537,1075,538,1077,539,1079,540,1081,541,1083,542,1085,543,1087,544,1089,545,1091,546,1093,547,1095,548,1097,549,1099,550,1101,551,1103,552,1105,553,1107,554,1109,555,1111,556,1113,557,1115,558,1117,559,1119,560,1121,561,1123,562,1125,563,1127,564,1129,565,1131,566,1133,567,1135,568,1137,569,1139,570,1141,571,1143,572,1145,573,1147,574,1149,575,1151,576,1153,577,1155,578,1157,579,1159,580,1161,581,1163,582,1165,583,1167,584,1169,585,1171,586,1173,587,1175,588,1177,589,1179,590,1181,591,1183,592,1185,593,1187,594,1189,595,1191,596,1193,597,1195,598,1197,599,1199,600,1201,601,1203,602,1205,603,1207,604,1209,605,1211,606,1213,607,1215,608,1217,609,1219,610,1221,611,1223,612,1225,613,1227,614,1229,615,1231,616,1233,617,1235,618,1237,619,1239,620,1241,621,1243,622,1245,623,1247,624,1249,625,1251,626,1253,627,1255,628,1257,629,1259,630,1261,631,1263,632,1265,633,1267,634,1269,635,1271,636,1273,637,1275,638,1277,639,1279,640,1281,641,1283,642,1285,643,1287,644,1289,645,1291,646,1293,647,1295,648,1297,649,1299,650,1301,651,1303,652,1305,653,1307,654,1309,655,1311,656,1313,657,1315,658,1317,659,1319,660,1321,661,1323,662,1325,663,1327,664,1329,665,1331,666,1333,667,1335,668,1337,669,1339,670,1341,671,1343,672,1345,673,1347,674,1349,675,1351,676,1353,677,1355,678,1357,679,1359,680,1361,681,1363,682,1365,683,1367,684,1369,685,1371,686,1373,687,1375,688,1377,689,1379,690,1381,691,1383,692,1385,693,1387,694,1389,695,1391,696,1393,697,1395,698,1397,699,1399,700,1401,701,1403,702,1405,703,1407,704,1409,705,1411,706,1413,707,1415,708,1417,709,1419,710,1421,711,1423,712,1425,713,1427,714,1429,715,1431,716,1433,717,1435,718,1437,719,1439,720,1441,721,1443,722,1445,723,1447,724,1449,725,1451,726,1453,727,1455,728,1457,729,1459,730,1461,731,1463,732,1465,733,1467,734,1469,735,1471,736,1473,737,1475,738,1477,739,1479,740,1481,741,1483,742,1485,743,1487,744,1489,745,1491,746,1493,747,1495,748,1497,749,1499,750,1501,751,1503,752,1505,753,1507,754,1509,755,1511,756,1513,757,1515,758,1517,759,1519,760,1521,761,1523,762,1525,763,1527,764,1529,765,1531,766,1533,767,1535,768,1537,769,1539,770,1541,771,1543,772,1545,773,1547,774,1549,775,1551,776,1553,777,1555,778,1557,779,1559,780,1561,781,1563,782,1565,783,1567,784,1569,785,1571,786,1573,787,1575,788,1577,789,1579,790,1581,791,1583,792,1585,793,1587,794,1589,795,1591,796,1593,797,1595,798,1597,799,1599,800,1601,801,1603,802,1605,803,1607,804,1609,805,1611,806,1613,807,1615,808,1617,809,1619,810,1621,811,1623,812,1625,813,1627,814,1629,815,1631,816,1633,817,1635,818,1637,819,1639,820,1641,821,1643,822,1645,823,1647,824,1649,825,1651,826,1653,827,1655,828,1657,829,1659,830,1661,831,1663,832,1665,833,1667,834,1669,835,1671,836,1673,837,1675,838,1677,839,1679,840,1681,841,1683,842,1685,843,1687,844,1689,845,1691,846,1693,847,1695,848,1697,849,1699,850,1701,851,1703,852,1705,853,1707,854,1709,855,1711,856,1713,857,1715,858,1717,859,1719,860,1721,861,1723,862,1725,863,1727,864,1729,865,1731,866,1733,867,1735,868,1737,869,1739,870,1741,871,1743,872,1745,873,1747,874,1749,875,1751,876,1753,877,1755,878,1757,0,1759,879,1761,880,1763,881,1765,882,1767,883,1769,884,1771,885,1773,886,1775,887,1777,888,1779,889,1781,890,1783,891,1785,892,1787,893,1789,894,1791,0,1793,0,1795,0,1797,0,1799,0,1801,0,1803,0,1805,0,1807,0,1809,0,1811,895,1,0,42,3,0,9,10,13,13,32,32,2,0,9,9,32,32,2,0,10,10,13,13,2,0,65,65,97,97,2,0,67,67,99,99,2,0,84,84,116,116,2,0,73,73,105,105,2,0,86,86,118,118,2,0,69,69,101,101,2,0,68,68,100,100,2,0,76,76,108,108,2,0,82,82,114,114,2,0,87,87,119,119,2,0,89,89,121,121,2,0,83,83,115,115,2,0,78,78,110,110,2,0,90,90,122,122,2,0,66,66,98,98,2,0,85,85,117,117,2,0,70,70,102,102,2,0,79,79,111,111,2,0,72,72,104,104,2,0,75,75,107,107,2,0,71,71,103,103,2,0,77,77,109,109,2,0,80,80,112,112,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,8,0,71,71,75,75,77,77,84,84,103,103,107,107,109,109,116,116,7,0,36,36,46,46,48,57,65,90,95,95,97,122,128,65535,2,0,43,43,45,45,6,0,36,36,48,57,65,90,95,95,97,122,128,65535,5,0,36,36,65,90,95,95,97,122,128,65535,2,0,34,34,92,92,2,0,39,39,92,92,1,0,96,96,3,0,48,57,65,70,97,102,1,0,48,57,1,0,48,49,2,0,46,46,48,57,3,0,48,58,65,70,97,102,10506,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,0,1083,1,0,0,0,0,1085,1,0,0,0,0,1087,1,0,0,0,0,1089,1,0,0,0,0,1091,1,0,0,0,0,1093,1,0,0,0,0,1095,1,0,0,0,0,1097,1,0,0,0,0,1099,1,0,0,0,0,1101,1,0,0,0,0,1103,1,0,0,0,0,1105,1,0,0,0,0,1107,1,0,0,0,0,1109,1,0,0,0,0,1111,1,0,0,0,0,1113,1,0,0,0,0,1115,1,0,0,0,0,1117,1,0,0,0,0,1119,1,0,0,0,0,1121,1,0,0,0,0,1123,1,0,0,0,0,1125,1,0,0,0,0,1127,1,0,0,0,0,1129,1,0,0,0,0,1131,1,0,0,0,0,1133,1,0,0,0,0,1135,1,0,0,0,0,1137,1,0,0,0,0,1139,1,0,0,0,0,1141,1,0,0,0,0,1143,1,0,0,0,0,1145,1,0,0,0,0,1147,1,0,0,0,0,1149,1,0,0,0,0,1151,1,0,0,0,0,1153,1,0,0,0,0,1155,1,0,0,0,0,1157,1,0,0,0,0,1159,1,0,0,0,0,1161,1,0,0,0,0,1163,1,0,0,0,0,1165,1,0,0,0,0,1167,1,0,0,0,0,1169,1,0,0,0,0,1171,1,0,0,0,0,1173,1,0,0,0,0,1175,1,0,0,0,0,1177,1,0,0,0,0,1179,1,0,0,0,0,1181,1,0,0,0,0,1183,1,0,0,0,0,1185,1,0,0,0,0,1187,1,0,0,0,0,1189,1,0,0,0,0,1191,1,0,0,0,0,1193,1,0,0,0,0,1195,1,0,0,0,0,1197,1,0,0,0,0,1199,1,0,0,0,0,1201,1,0,0,0,0,1203,1,0,0,0,0,1205,1,0,0,0,0,1207,1,0,0,0,0,1209,1,0,0,0,0,1211,1,0,0,0,0,1213,1,0,0,0,0,1215,1,0,0,0,0,1217,1,0,0,0,0,1219,1,0,0,0,0,1221,1,0,0,0,0,1223,1,0,0,0,0,1225,1,0,0,0,0,1227,1,0,0,0,0,1229,1,0,0,0,0,1231,1,0,0,0,0,1233,1,0,0,0,0,1235,1,0,0,0,0,1237,1,0,0,0,0,1239,1,0,0,0,0,1241,1,0,0,0,0,1243,1,0,0,0,0,1245,1,0,0,0,0,1247,1,0,0,0,0,1249,1,0,0,0,0,1251,1,0,0,0,0,1253,1,0,0,0,0,1255,1,0,0,0,0,1257,1,0,0,0,0,1259,1,0,0,0,0,1261,1,0,0,0,0,1263,1,0,0,0,0,1265,1,0,0,0,0,1267,1,0,0,0,0,1269,1,0,0,0,0,1271,1,0,0,0,0,1273,1,0,0,0,0,1275,1,0,0,0,0,1277,1,0,0,0,0,1279,1,0,0,0,0,1281,1,0,0,0,0,1283,1,0,0,0,0,1285,1,0,0,0,0,1287,1,0,0,0,0,1289,1,0,0,0,0,1291,1,0,0,0,0,1293,1,0,0,0,0,1295,1,0,0,0,0,1297,1,0,0,0,0,1299,1,0,0,0,0,1301,1,0,0,0,0,1303,1,0,0,0,0,1305,1,0,0,0,0,1307,1,0,0,0,0,1309,1,0,0,0,0,1311,1,0,0,0,0,1313,1,0,0,0,0,1315,1,0,0,0,0,1317,1,0,0,0,0,1319,1,0,0,0,0,1321,1,0,0,0,0,1323,1,0,0,0,0,1325,1,0,0,0,0,1327,1,0,0,0,0,1329,1,0,0,0,0,1331,1,0,0,0,0,1333,1,0,0,0,0,1335,1,0,0,0,0,1337,1,0,0,0,0,1339,1,0,0,0,0,1341,1,0,0,0,0,1343,1,0,0,0,0,1345,1,0,0,0,0,1347,1,0,0,0,0,1349,1,0,0,0,0,1351,1,0,0,0,0,1353,1,0,0,0,0,1355,1,0,0,0,0,1357,1,0,0,0,0,1359,1,0,0,0,0,1361,1,0,0,0,0,1363,1,0,0,0,0,1365,1,0,0,0,0,1367,1,0,0,0,0,1369,1,0,0,0,0,1371,1,0,0,0,0,1373,1,0,0,0,0,1375,1,0,0,0,0,1377,1,0,0,0,0,1379,1,0,0,0,0,1381,1,0,0,0,0,1383,1,0,0,0,0,1385,1,0,0,0,0,1387,1,0,0,0,0,1389,1,0,0,0,0,1391,1,0,0,0,0,1393,1,0,0,0,0,1395,1,0,0,0,0,1397,1,0,0,0,0,1399,1,0,0,0,0,1401,1,0,0,0,0,1403,1,0,0,0,0,1405,1,0,0,0,0,1407,1,0,0,0,0,1409,1,0,0,0,0,1411,1,0,0,0,0,1413,1,0,0,0,0,1415,1,0,0,0,0,1417,1,0,0,0,0,1419,1,0,0,0,0,1421,1,0,0,0,0,1423,1,0,0,0,0,1425,1,0,0,0,0,1427,1,0,0,0,0,1429,1,0,0,0,0,1431,1,0,0,0,0,1433,1,0,0,0,0,1435,1,0,0,0,0,1437,1,0,0,0,0,1439,1,0,0,0,0,1441,1,0,0,0,0,1443,1,0,0,0,0,1445,1,0,0,0,0,1447,1,0,0,0,0,1449,1,0,0,0,0,1451,1,0,0,0,0,1453,1,0,0,0,0,1455,1,0,0,0,0,1457,1,0,0,0,0,1459,1,0,0,0,0,1461,1,0,0,0,0,1463,1,0,0,0,0,1465,1,0,0,0,0,1467,1,0,0,0,0,1469,1,0,0,0,0,1471,1,0,0,0,0,1473,1,0,0,0,0,1475,1,0,0,0,0,1477,1,0,0,0,0,1479,1,0,0,0,0,1481,1,0,0,0,0,1483,1,0,0,0,0,1485,1,0,0,0,0,1487,1,0,0,0,0,1489,1,0,0,0,0,1491,1,0,0,0,0,1493,1,0,0,0,0,1495,1,0,0,0,0,1497,1,0,0,0,0,1499,1,0,0,0,0,1501,1,0,0,0,0,1503,1,0,0,0,0,1505,1,0,0,0,0,1507,1,0,0,0,0,1509,1,0,0,0,0,1511,1,0,0,0,0,1513,1,0,0,0,0,1515,1,0,0,0,0,1517,1,0,0,0,0,1519,1,0,0,0,0,1521,1,0,0,0,0,1523,1,0,0,0,0,1525,1,0,0,0,0,1527,1,0,0,0,0,1529,1,0,0,0,0,1531,1,0,0,0,0,1533,1,0,0,0,0,1535,1,0,0,0,0,1537,1,0,0,0,0,1539,1,0,0,0,0,1541,1,0,0,0,0,1543,1,0,0,0,0,1545,1,0,0,0,0,1547,1,0,0,0,0,1549,1,0,0,0,0,1551,1,0,0,0,0,1553,1,0,0,0,0,1555,1,0,0,0,0,1557,1,0,0,0,0,1559,1,0,0,0,0,1561,1,0,0,0,0,1563,1,0,0,0,0,1565,1,0,0,0,0,1567,1,0,0,0,0,1569,1,0,0,0,0,1571,1,0,0,0,0,1573,1,0,0,0,0,1575,1,0,0,0,0,1577,1,0,0,0,0,1579,1,0,0,0,0,1581,1,0,0,0,0,1583,1,0,0,0,0,1585,1,0,0,0,0,1587,1,0,0,0,0,1589,1,0,0,0,0,1591,1,0,0,0,0,1593,1,0,0,0,0,1595,1,0,0,0,0,1597,1,0,0,0,0,1599,1,0,0,0,0,1601,1,0,0,0,0,1603,1,0,0,0,0,1605,1,0,0,0,0,1607,1,0,0,0,0,1609,1,0,0,0,0,1611,1,0,0,0,0,1613,1,0,0,0,0,1615,1,0,0,0,0,1617,1,0,0,0,0,1619,1,0,0,0,0,1621,1,0,0,0,0,1623,1,0,0,0,0,1625,1,0,0,0,0,1627,1,0,0,0,0,1629,1,0,0,0,0,1631,1,0,0,0,0,1633,1,0,0,0,0,1635,1,0,0,0,0,1637,1,0,0,0,0,1639,1,0,0,0,0,1641,1,0,0,0,0,1643,1,0,0,0,0,1645,1,0,0,0,0,1647,1,0,0,0,0,1649,1,0,0,0,0,1651,1,0,0,0,0,1653,1,0,0,0,0,1655,1,0,0,0,0,1657,1,0,0,0,0,1659,1,0,0,0,0,1661,1,0,0,0,0,1663,1,0,0,0,0,1665,1,0,0,0,0,1667,1,0,0,0,0,1669,1,0,0,0,0,1671,1,0,0,0,0,1673,1,0,0,0,0,1675,1,0,0,0,0,1677,1,0,0,0,0,1679,1,0,0,0,0,1681,1,0,0,0,0,1683,1,0,0,0,0,1685,1,0,0,0,0,1687,1,0,0,0,0,1689,1,0,0,0,0,1691,1,0,0,0,0,1693,1,0,0,0,0,1695,1,0,0,0,0,1697,1,0,0,0,0,1699,1,0,0,0,0,1701,1,0,0,0,0,1703,1,0,0,0,0,1705,1,0,0,0,0,1707,1,0,0,0,0,1709,1,0,0,0,0,1711,1,0,0,0,0,1713,1,0,0,0,0,1715,1,0,0,0,0,1717,1,0,0,0,0,1719,1,0,0,0,0,1721,1,0,0,0,0,1723,1,0,0,0,0,1725,1,0,0,0,0,1727,1,0,0,0,0,1729,1,0,0,0,0,1731,1,0,0,0,0,1733,1,0,0,0,0,1735,1,0,0,0,0,1737,1,0,0,0,0,1739,1,0,0,0,0,1741,1,0,0,0,0,1743,1,0,0,0,0,1745,1,0,0,0,0,1747,1,0,0,0,0,1749,1,0,0,0,0,1751,1,0,0,0,0,1753,1,0,0,0,0,1755,1,0,0,0,0,1759,1,0,0,0,0,1761,1,0,0,0,0,1763,1,0,0,0,0,1765,1,0,0,0,0,1767,1,0,0,0,0,1769,1,0,0,0,0,1771,1,0,0,0,0,1773,1,0,0,0,0,1775,1,0,0,0,0,1777,1,0,0,0,0,1779,1,0,0,0,0,1781,1,0,0,0,0,1783,1,0,0,0,0,1785,1,0,0,0,0,1787,1,0,0,0,0,1789,1,0,0,0,0,1811,1,0,0,0,1,1814,1,0,0,0,3,1820,1,0,0,0,5,1834,1,0,0,0,7,1883,1,0,0,0,9,1887,1,0,0,0,11,1894,1,0,0,0,13,1898,1,0,0,0,15,1902,1,0,0,0,17,1908,1,0,0,0,19,1915,1,0,0,0,21,1923,1,0,0,0,23,1927,1,0,0,0,25,1933,1,0,0,0,27,1936,1,0,0,0,29,1940,1,0,0,0,31,1950,1,0,0,0,33,1957,1,0,0,0,35,1965,1,0,0,0,37,1970,1,0,0,0,39,1978,1,0,0,0,41,1981,1,0,0,0,43,1986,1,0,0,0,45,1994,1,0,0,0,47,1999,1,0,0,0,49,2004,1,0,0,0,51,2011,1,0,0,0,53,2021,1,0,0,0,55,2027,1,0,0,0,57,2035,1,0,0,0,59,2042,1,0,0,0,61,2052,1,0,0,0,63,2063,1,0,0,0,65,2072,1,0,0,0,67,2080,1,0,0,0,69,2087,1,0,0,0,71,2093,1,0,0,0,73,2101,1,0,0,0,75,2114,1,0,0,0,77,2121,1,0,0,0,79,2130,1,0,0,0,81,2140,1,0,0,0,83,2148,1,0,0,0,85,2156,1,0,0,0,87,2164,1,0,0,0,89,2171,1,0,0,0,91,2176,1,0,0,0,93,2185,1,0,0,0,95,2199,1,0,0,0,97,2211,1,0,0,0,99,2220,1,0,0,0,101,2232,1,0,0,0,103,2237,1,0,0,0,105,2242,1,0,0,0,107,2247,1,0,0,0,109,2254,1,0,0,0,111,2260,1,0,0,0,113,2269,1,0,0,0,115,2278,1,0,0,0,117,2286,1,0,0,0,119,2293,1,0,0,0,121,2300,1,0,0,0,123,2305,1,0,0,0,125,2313,1,0,0,0,127,2319,1,0,0,0,129,2325,1,0,0,0,131,2329,1,0,0,0,133,2335,1,0,0,0,135,2343,1,0,0,0,137,2348,1,0,0,0,139,2357,1,0,0,0,141,2366,1,0,0,0,143,2376,1,0,0,0,145,2380,1,0,0,0,147,2386,1,0,0,0,149,2392,1,0,0,0,151,2399,1,0,0,0,153,2413,1,0,0,0,155,2423,1,0,0,0,157,2426,1,0,0,0,159,2433,1,0,0,0,161,2436,1,0,0,0,163,2445,1,0,0,0,165,2451,1,0,0,0,167,2458,1,0,0,0,169,2464,1,0,0,0,171,2470,1,0,0,0,173,2477,1,0,0,0,175,2486,1,0,0,0,177,2491,1,0,0,0,179,2494,1,0,0,0,181,2502,1,0,0,0,183,2507,1,0,0,0,185,2511,1,0,0,0,187,2516,1,0,0,0,189,2521,1,0,0,0,191,2529,1,0,0,0,193,2537,1,0,0,0,195,2543,1,0,0,0,197,2548,1,0,0,0,199,2553,1,0,0,0,201,2559,1,0,0,0,203,2566,1,0,0,0,205,2572,1,0,0,0,207,2577,1,0,0,0,209,2582,1,0,0,0,211,2589,1,0,0,0,213,2594,1,0,0,0,215,2607,1,0,0,0,217,2619,1,0,0,0,219,2649,1,0,0,0,221,2655,1,0,0,0,223,2664,1,0,0,0,225,2673,1,0,0,0,227,2681,1,0,0,0,229,2685,1,0,0,0,231,2704,1,0,0,0,233,2709,1,0,0,0,235,2716,1,0,0,0,237,2723,1,0,0,0,239,2726,1,0,0,0,241,2735,1,0,0,0,243,2742,1,0,0,0,245,2751,1,0,0,0,247,2762,1,0,0,0,249,2765,1,0,0,0,251,2771,1,0,0,0,253,2775,1,0,0,0,255,2781,1,0,0,0,257,2789,1,0,0,0,259,2794,1,0,0,0,261,2804,1,0,0,0,263,2812,1,0,0,0,265,2822,1,0,0,0,267,2828,1,0,0,0,269,2834,1,0,0,0,271,2839,1,0,0,0,273,2845,1,0,0,0,275,2855,1,0,0,0,277,2866,1,0,0,0,279,2873,1,0,0,0,281,2881,1,0,0,0,283,2888,1,0,0,0,285,2895,1,0,0,0,287,2903,1,0,0,0,289,2911,1,0,0,0,291,2920,1,0,0,0,293,2929,1,0,0,0,295,2936,1,0,0,0,297,2943,1,0,0,0,299,2950,1,0,0,0,301,2956,1,0,0,0,303,2962,1,0,0,0,305,2969,1,0,0,0,307,2977,1,0,0,0,309,2984,1,0,0,0,311,2988,1,0,0,0,313,2998,1,0,0,0,315,3003,1,0,0,0,317,3010,1,0,0,0,319,3015,1,0,0,0,321,3034,1,0,0,0,323,3042,1,0,0,0,325,3046,1,0,0,0,327,3059,1,0,0,0,329,3068,1,0,0,0,331,3079,1,0,0,0,333,3094,1,0,0,0,335,3114,1,0,0,0,337,3131,1,0,0,0,339,3135,1,0,0,0,341,3143,1,0,0,0,343,3152,1,0,0,0,345,3166,1,0,0,0,347,3172,1,0,0,0,349,3183,1,0,0,0,351,3188,1,0,0,0,353,3191,1,0,0,0,355,3200,1,0,0,0,357,3208,1,0,0,0,359,3213,1,0,0,0,361,3218,1,0,0,0,363,3224,1,0,0,0,365,3231,1,0,0,0,367,3238,1,0,0,0,369,3247,1,0,0,0,371,3254,1,0,0,0,373,3260,1,0,0,0,375,3264,1,0,0,0,377,3270,1,0,0,0,379,3277,1,0,0,0,381,3282,1,0,0,0,383,3287,1,0,0,0,385,3293,1,0,0,0,387,3299,1,0,0,0,389,3304,1,0,0,0,391,3310,1,0,0,0,393,3314,1,0,0,0,395,3323,1,0,0,0,397,3331,1,0,0,0,399,3340,1,0,0,0,401,3350,1,0,0,0,403,3360,1,0,0,0,405,3364,1,0,0,0,407,3369,1,0,0,0,409,3374,1,0,0,0,411,3379,1,0,0,0,413,3384,1,0,0,0,415,3389,1,0,0,0,417,3397,1,0,0,0,419,3404,1,0,0,0,421,3409,1,0,0,0,423,3416,1,0,0,0,425,3426,1,0,0,0,427,3432,1,0,0,0,429,3439,1,0,0,0,431,3446,1,0,0,0,433,3454,1,0,0,0,435,3458,1,0,0,0,437,3466,1,0,0,0,439,3471,1,0,0,0,441,3476,1,0,0,0,443,3486,1,0,0,0,445,3495,1,0,0,0,447,3500,1,0,0,0,449,3505,1,0,0,0,451,3513,1,0,0,0,453,3522,1,0,0,0,455,3531,1,0,0,0,457,3538,1,0,0,0,459,3548,1,0,0,0,461,3557,1,0,0,0,463,3562,1,0,0,0,465,3573,1,0,0,0,467,3578,1,0,0,0,469,3587,1,0,0,0,471,3596,1,0,0,0,473,3601,1,0,0,0,475,3612,1,0,0,0,477,3621,1,0,0,0,479,3626,1,0,0,0,481,3634,1,0,0,0,483,3641,1,0,0,0,485,3652,1,0,0,0,487,3661,1,0,0,0,489,3672,1,0,0,0,491,3683,1,0,0,0,493,3695,1,0,0,0,495,3707,1,0,0,0,497,3721,1,0,0,0,499,3740,1,0,0,0,501,3759,1,0,0,0,503,3776,1,0,0,0,505,3792,1,0,0,0,507,3803,1,0,0,0,509,3814,1,0,0,0,511,3821,1,0,0,0,513,3832,1,0,0,0,515,3837,1,0,0,0,517,3841,1,0,0,0,519,3849,1,0,0,0,521,3856,1,0,0,0,523,3864,1,0,0,0,525,3870,1,0,0,0,527,3880,1,0,0,0,529,3891,1,0,0,0,531,3903,1,0,0,0,533,3916,1,0,0,0,535,3920,1,0,0,0,537,3931,1,0,0,0,539,3936,1,0,0,0,541,3940,1,0,0,0,543,3944,1,0,0,0,545,3950,1,0,0,0,547,3960,1,0,0,0,549,3973,1,0,0,0,551,3978,1,0,0,0,553,3989,1,0,0,0,555,3993,1,0,0,0,557,4e3,1,0,0,0,559,4011,1,0,0,0,561,4023,1,0,0,0,563,4027,1,0,0,0,565,4035,1,0,0,0,567,4044,1,0,0,0,569,4053,1,0,0,0,571,4066,1,0,0,0,573,4079,1,0,0,0,575,4097,1,0,0,0,577,4107,1,0,0,0,579,4115,1,0,0,0,581,4123,1,0,0,0,583,4132,1,0,0,0,585,4141,1,0,0,0,587,4149,1,0,0,0,589,4164,1,0,0,0,591,4168,1,0,0,0,593,4177,1,0,0,0,595,4184,1,0,0,0,597,4194,1,0,0,0,599,4202,1,0,0,0,601,4207,1,0,0,0,603,4216,1,0,0,0,605,4225,1,0,0,0,607,4239,1,0,0,0,609,4247,1,0,0,0,611,4254,1,0,0,0,613,4260,1,0,0,0,615,4270,1,0,0,0,617,4280,1,0,0,0,619,4284,1,0,0,0,621,4323,1,0,0,0,623,4326,1,0,0,0,625,4334,1,0,0,0,627,4345,1,0,0,0,629,4361,1,0,0,0,631,4376,1,0,0,0,633,4391,1,0,0,0,635,4397,1,0,0,0,637,4404,1,0,0,0,639,4408,1,0,0,0,641,4414,1,0,0,0,643,4419,1,0,0,0,645,4427,1,0,0,0,647,4433,1,0,0,0,649,4439,1,0,0,0,651,4448,1,0,0,0,653,4454,1,0,0,0,655,4462,1,0,0,0,657,4470,1,0,0,0,659,4479,1,0,0,0,661,4498,1,0,0,0,663,4505,1,0,0,0,665,4518,1,0,0,0,667,4525,1,0,0,0,669,4531,1,0,0,0,671,4540,1,0,0,0,673,4545,1,0,0,0,675,4553,1,0,0,0,677,4567,1,0,0,0,679,4579,1,0,0,0,681,4587,1,0,0,0,683,4594,1,0,0,0,685,4602,1,0,0,0,687,4613,1,0,0,0,689,4623,1,0,0,0,691,4634,1,0,0,0,693,4646,1,0,0,0,695,4657,1,0,0,0,697,4665,1,0,0,0,699,4676,1,0,0,0,701,4687,1,0,0,0,703,4706,1,0,0,0,705,4724,1,0,0,0,707,4740,1,0,0,0,709,4749,1,0,0,0,711,4757,1,0,0,0,713,4770,1,0,0,0,715,4775,1,0,0,0,717,4779,1,0,0,0,719,4791,1,0,0,0,721,4796,1,0,0,0,723,4805,1,0,0,0,725,4816,1,0,0,0,727,4829,1,0,0,0,729,4837,1,0,0,0,731,4853,1,0,0,0,733,4866,1,0,0,0,735,4876,1,0,0,0,737,4884,1,0,0,0,739,4892,1,0,0,0,741,4897,1,0,0,0,743,4900,1,0,0,0,745,4909,1,0,0,0,747,4919,1,0,0,0,749,4927,1,0,0,0,751,4934,1,0,0,0,753,4945,1,0,0,0,755,4963,1,0,0,0,757,4967,1,0,0,0,759,4972,1,0,0,0,761,4979,1,0,0,0,763,4987,1,0,0,0,765,4993,1,0,0,0,767,5e3,1,0,0,0,769,5007,1,0,0,0,771,5013,1,0,0,0,773,5020,1,0,0,0,775,5026,1,0,0,0,777,5035,1,0,0,0,779,5045,1,0,0,0,781,5052,1,0,0,0,783,5059,1,0,0,0,785,5068,1,0,0,0,787,5080,1,0,0,0,789,5087,1,0,0,0,791,5109,1,0,0,0,793,5114,1,0,0,0,795,5121,1,0,0,0,797,5128,1,0,0,0,799,5144,1,0,0,0,801,5151,1,0,0,0,803,5158,1,0,0,0,805,5164,1,0,0,0,807,5170,1,0,0,0,809,5176,1,0,0,0,811,5186,1,0,0,0,813,5194,1,0,0,0,815,5200,1,0,0,0,817,5205,1,0,0,0,819,5214,1,0,0,0,821,5222,1,0,0,0,823,5244,1,0,0,0,825,5266,1,0,0,0,827,5273,1,0,0,0,829,5280,1,0,0,0,831,5298,1,0,0,0,833,5308,1,0,0,0,835,5316,1,0,0,0,837,5321,1,0,0,0,839,5326,1,0,0,0,841,5334,1,0,0,0,843,5339,1,0,0,0,845,5345,1,0,0,0,847,5356,1,0,0,0,849,5374,1,0,0,0,851,5381,1,0,0,0,853,5389,1,0,0,0,855,5397,1,0,0,0,857,5410,1,0,0,0,859,5419,1,0,0,0,861,5427,1,0,0,0,863,5441,1,0,0,0,865,5449,1,0,0,0,867,5458,1,0,0,0,869,5466,1,0,0,0,871,5476,1,0,0,0,873,5484,1,0,0,0,875,5487,1,0,0,0,877,5497,1,0,0,0,879,5501,1,0,0,0,881,5511,1,0,0,0,883,5518,1,0,0,0,885,5523,1,0,0,0,887,5538,1,0,0,0,889,5547,1,0,0,0,891,5552,1,0,0,0,893,5559,1,0,0,0,895,5564,1,0,0,0,897,5570,1,0,0,0,899,5575,1,0,0,0,901,5581,1,0,0,0,903,5589,1,0,0,0,905,5594,1,0,0,0,907,5601,1,0,0,0,909,5622,1,0,0,0,911,5652,1,0,0,0,913,5673,1,0,0,0,915,5686,1,0,0,0,917,5710,1,0,0,0,919,5722,1,0,0,0,921,5738,1,0,0,0,923,5753,1,0,0,0,925,5769,1,0,0,0,927,5781,1,0,0,0,929,5804,1,0,0,0,931,5823,1,0,0,0,933,5834,1,0,0,0,935,5848,1,0,0,0,937,5866,1,0,0,0,939,5882,1,0,0,0,941,5900,1,0,0,0,943,5915,1,0,0,0,945,5934,1,0,0,0,947,5949,1,0,0,0,949,5973,1,0,0,0,951,5992,1,0,0,0,953,6004,1,0,0,0,955,6034,1,0,0,0,957,6059,1,0,0,0,959,6080,1,0,0,0,961,6089,1,0,0,0,963,6098,1,0,0,0,965,6119,1,0,0,0,967,6140,1,0,0,0,969,6147,1,0,0,0,971,6154,1,0,0,0,973,6160,1,0,0,0,975,6173,1,0,0,0,977,6177,1,0,0,0,979,6185,1,0,0,0,981,6194,1,0,0,0,983,6199,1,0,0,0,985,6206,1,0,0,0,987,6212,1,0,0,0,989,6218,1,0,0,0,991,6230,1,0,0,0,993,6235,1,0,0,0,995,6241,1,0,0,0,997,6247,1,0,0,0,999,6265,1,0,0,0,1001,6271,1,0,0,0,1003,6276,1,0,0,0,1005,6279,1,0,0,0,1007,6286,1,0,0,0,1009,6296,1,0,0,0,1011,6301,1,0,0,0,1013,6306,1,0,0,0,1015,6310,1,0,0,0,1017,6318,1,0,0,0,1019,6325,1,0,0,0,1021,6328,1,0,0,0,1023,6332,1,0,0,0,1025,6345,1,0,0,0,1027,6349,1,0,0,0,1029,6356,1,0,0,0,1031,6361,1,0,0,0,1033,6366,1,0,0,0,1035,6382,1,0,0,0,1037,6390,1,0,0,0,1039,6396,1,0,0,0,1041,6406,1,0,0,0,1043,6411,1,0,0,0,1045,6425,1,0,0,0,1047,6441,1,0,0,0,1049,6464,1,0,0,0,1051,6471,1,0,0,0,1053,6479,1,0,0,0,1055,6492,1,0,0,0,1057,6503,1,0,0,0,1059,6512,1,0,0,0,1061,6531,1,0,0,0,1063,6539,1,0,0,0,1065,6552,1,0,0,0,1067,6558,1,0,0,0,1069,6565,1,0,0,0,1071,6576,1,0,0,0,1073,6584,1,0,0,0,1075,6589,1,0,0,0,1077,6598,1,0,0,0,1079,6608,1,0,0,0,1081,6616,1,0,0,0,1083,6625,1,0,0,0,1085,6630,1,0,0,0,1087,6652,1,0,0,0,1089,6664,1,0,0,0,1091,6672,1,0,0,0,1093,6681,1,0,0,0,1095,6687,1,0,0,0,1097,6693,1,0,0,0,1099,6699,1,0,0,0,1101,6707,1,0,0,0,1103,6715,1,0,0,0,1105,6725,1,0,0,0,1107,6742,1,0,0,0,1109,6752,1,0,0,0,1111,6765,1,0,0,0,1113,6771,1,0,0,0,1115,6786,1,0,0,0,1117,6800,1,0,0,0,1119,6809,1,0,0,0,1121,6816,1,0,0,0,1123,6827,1,0,0,0,1125,6834,1,0,0,0,1127,6842,1,0,0,0,1129,6851,1,0,0,0,1131,6867,1,0,0,0,1133,6886,1,0,0,0,1135,6906,1,0,0,0,1137,6929,1,0,0,0,1139,6950,1,0,0,0,1141,6974,1,0,0,0,1143,7002,1,0,0,0,1145,7014,1,0,0,0,1147,7033,1,0,0,0,1149,7065,1,0,0,0,1151,7071,1,0,0,0,1153,7079,1,0,0,0,1155,7086,1,0,0,0,1157,7104,1,0,0,0,1159,7114,1,0,0,0,1161,7122,1,0,0,0,1163,7128,1,0,0,0,1165,7133,1,0,0,0,1167,7142,1,0,0,0,1169,7149,1,0,0,0,1171,7156,1,0,0,0,1173,7160,1,0,0,0,1175,7165,1,0,0,0,1177,7176,1,0,0,0,1179,7186,1,0,0,0,1181,7195,1,0,0,0,1183,7204,1,0,0,0,1185,7211,1,0,0,0,1187,7219,1,0,0,0,1189,7225,1,0,0,0,1191,7232,1,0,0,0,1193,7239,1,0,0,0,1195,7246,1,0,0,0,1197,7252,1,0,0,0,1199,7257,1,0,0,0,1201,7266,1,0,0,0,1203,7273,1,0,0,0,1205,7278,1,0,0,0,1207,7285,1,0,0,0,1209,7292,1,0,0,0,1211,7299,1,0,0,0,1213,7311,1,0,0,0,1215,7323,1,0,0,0,1217,7335,1,0,0,0,1219,7351,1,0,0,0,1221,7363,1,0,0,0,1223,7379,1,0,0,0,1225,7394,1,0,0,0,1227,7415,1,0,0,0,1229,7439,1,0,0,0,1231,7460,1,0,0,0,1233,7479,1,0,0,0,1235,7511,1,0,0,0,1237,7524,1,0,0,0,1239,7554,1,0,0,0,1241,7584,1,0,0,0,1243,7595,1,0,0,0,1245,7609,1,0,0,0,1247,7627,1,0,0,0,1249,7643,1,0,0,0,1251,7658,1,0,0,0,1253,7677,1,0,0,0,1255,7692,1,0,0,0,1257,7710,1,0,0,0,1259,7740,1,0,0,0,1261,7759,1,0,0,0,1263,7783,1,0,0,0,1265,7806,1,0,0,0,1267,7822,1,0,0,0,1269,7841,1,0,0,0,1271,7858,1,0,0,0,1273,7876,1,0,0,0,1275,7886,1,0,0,0,1277,7899,1,0,0,0,1279,7910,1,0,0,0,1281,7916,1,0,0,0,1283,7923,1,0,0,0,1285,7941,1,0,0,0,1287,7958,1,0,0,0,1289,7977,1,0,0,0,1291,7984,1,0,0,0,1293,7989,1,0,0,0,1295,7997,1,0,0,0,1297,8004,1,0,0,0,1299,8011,1,0,0,0,1301,8027,1,0,0,0,1303,8035,1,0,0,0,1305,8048,1,0,0,0,1307,8062,1,0,0,0,1309,8070,1,0,0,0,1311,8076,1,0,0,0,1313,8085,1,0,0,0,1315,8096,1,0,0,0,1317,8107,1,0,0,0,1319,8118,1,0,0,0,1321,8128,1,0,0,0,1323,8138,1,0,0,0,1325,8143,1,0,0,0,1327,8155,1,0,0,0,1329,8167,1,0,0,0,1331,8181,1,0,0,0,1333,8186,1,0,0,0,1335,8195,1,0,0,0,1337,8204,1,0,0,0,1339,8214,1,0,0,0,1341,8224,1,0,0,0,1343,8233,1,0,0,0,1345,8250,1,0,0,0,1347,8260,1,0,0,0,1349,8268,1,0,0,0,1351,8279,1,0,0,0,1353,8285,1,0,0,0,1355,8293,1,0,0,0,1357,8298,1,0,0,0,1359,8306,1,0,0,0,1361,8321,1,0,0,0,1363,8332,1,0,0,0,1365,8338,1,0,0,0,1367,8348,1,0,0,0,1369,8353,1,0,0,0,1371,8361,1,0,0,0,1373,8369,1,0,0,0,1375,8374,1,0,0,0,1377,8383,1,0,0,0,1379,8390,1,0,0,0,1381,8398,1,0,0,0,1383,8403,1,0,0,0,1385,8411,1,0,0,0,1387,8416,1,0,0,0,1389,8419,1,0,0,0,1391,8423,1,0,0,0,1393,8431,1,0,0,0,1395,8437,1,0,0,0,1397,8441,1,0,0,0,1399,8446,1,0,0,0,1401,8453,1,0,0,0,1403,8458,1,0,0,0,1405,8465,1,0,0,0,1407,8477,1,0,0,0,1409,8483,1,0,0,0,1411,8510,1,0,0,0,1413,8529,1,0,0,0,1415,8541,1,0,0,0,1417,8556,1,0,0,0,1419,8584,1,0,0,0,1421,8597,1,0,0,0,1423,8610,1,0,0,0,1425,8634,1,0,0,0,1427,8640,1,0,0,0,1429,8652,1,0,0,0,1431,8669,1,0,0,0,1433,8690,1,0,0,0,1435,8698,1,0,0,0,1437,8703,1,0,0,0,1439,8718,1,0,0,0,1441,8734,1,0,0,0,1443,8748,1,0,0,0,1445,8770,1,0,0,0,1447,8783,1,0,0,0,1449,8796,1,0,0,0,1451,8817,1,0,0,0,1453,8841,1,0,0,0,1455,8865,1,0,0,0,1457,8888,1,0,0,0,1459,8895,1,0,0,0,1461,8902,1,0,0,0,1463,8918,1,0,0,0,1465,8942,1,0,0,0,1467,8969,1,0,0,0,1469,8980,1,0,0,0,1471,8988,1,0,0,0,1473,8995,1,0,0,0,1475,9015,1,0,0,0,1477,9039,1,0,0,0,1479,9048,1,0,0,0,1481,9069,1,0,0,0,1483,9089,1,0,0,0,1485,9100,1,0,0,0,1487,9108,1,0,0,0,1489,9111,1,0,0,0,1491,9137,1,0,0,0,1493,9166,1,0,0,0,1495,9178,1,0,0,0,1497,9191,1,0,0,0,1499,9200,1,0,0,0,1501,9206,1,0,0,0,1503,9229,1,0,0,0,1505,9236,1,0,0,0,1507,9259,1,0,0,0,1509,9279,1,0,0,0,1511,9296,1,0,0,0,1513,9305,1,0,0,0,1515,9311,1,0,0,0,1517,9316,1,0,0,0,1519,9323,1,0,0,0,1521,9330,1,0,0,0,1523,9337,1,0,0,0,1525,9344,1,0,0,0,1527,9350,1,0,0,0,1529,9356,1,0,0,0,1531,9362,1,0,0,0,1533,9368,1,0,0,0,1535,9373,1,0,0,0,1537,9381,1,0,0,0,1539,9387,1,0,0,0,1541,9395,1,0,0,0,1543,9402,1,0,0,0,1545,9406,1,0,0,0,1547,9414,1,0,0,0,1549,9420,1,0,0,0,1551,9427,1,0,0,0,1553,9431,1,0,0,0,1555,9439,1,0,0,0,1557,9445,1,0,0,0,1559,9451,1,0,0,0,1561,9458,1,0,0,0,1563,9465,1,0,0,0,1565,9472,1,0,0,0,1567,9479,1,0,0,0,1569,9485,1,0,0,0,1571,9494,1,0,0,0,1573,9499,1,0,0,0,1575,9504,1,0,0,0,1577,9511,1,0,0,0,1579,9516,1,0,0,0,1581,9521,1,0,0,0,1583,9527,1,0,0,0,1585,9535,1,0,0,0,1587,9541,1,0,0,0,1589,9546,1,0,0,0,1591,9554,1,0,0,0,1593,9562,1,0,0,0,1595,9570,1,0,0,0,1597,9580,1,0,0,0,1599,9584,1,0,0,0,1601,9594,1,0,0,0,1603,9601,1,0,0,0,1605,9608,1,0,0,0,1607,9619,1,0,0,0,1609,9626,1,0,0,0,1611,9630,1,0,0,0,1613,9641,1,0,0,0,1615,9660,1,0,0,0,1617,9667,1,0,0,0,1619,9678,1,0,0,0,1621,9688,1,0,0,0,1623,9700,1,0,0,0,1625,9713,1,0,0,0,1627,9732,1,0,0,0,1629,9747,1,0,0,0,1631,9756,1,0,0,0,1633,9767,1,0,0,0,1635,9783,1,0,0,0,1637,9794,1,0,0,0,1639,9807,1,0,0,0,1641,9813,1,0,0,0,1643,9821,1,0,0,0,1645,9834,1,0,0,0,1647,9842,1,0,0,0,1649,9852,1,0,0,0,1651,9869,1,0,0,0,1653,9876,1,0,0,0,1655,9887,1,0,0,0,1657,9897,1,0,0,0,1659,9904,1,0,0,0,1661,9912,1,0,0,0,1663,9922,1,0,0,0,1665,9934,1,0,0,0,1667,9961,1,0,0,0,1669,9966,1,0,0,0,1671,9973,1,0,0,0,1673,9985,1,0,0,0,1675,10001,1,0,0,0,1677,10021,1,0,0,0,1679,10026,1,0,0,0,1681,10040,1,0,0,0,1683,10043,1,0,0,0,1685,10046,1,0,0,0,1687,10049,1,0,0,0,1689,10052,1,0,0,0,1691,10055,1,0,0,0,1693,10058,1,0,0,0,1695,10061,1,0,0,0,1697,10064,1,0,0,0,1699,10067,1,0,0,0,1701,10069,1,0,0,0,1703,10071,1,0,0,0,1705,10073,1,0,0,0,1707,10075,1,0,0,0,1709,10077,1,0,0,0,1711,10081,1,0,0,0,1713,10085,1,0,0,0,1715,10087,1,0,0,0,1717,10089,1,0,0,0,1719,10091,1,0,0,0,1721,10093,1,0,0,0,1723,10095,1,0,0,0,1725,10097,1,0,0,0,1727,10099,1,0,0,0,1729,10101,1,0,0,0,1731,10103,1,0,0,0,1733,10105,1,0,0,0,1735,10107,1,0,0,0,1737,10109,1,0,0,0,1739,10111,1,0,0,0,1741,10113,1,0,0,0,1743,10115,1,0,0,0,1745,10117,1,0,0,0,1747,10119,1,0,0,0,1749,10121,1,0,0,0,1751,10123,1,0,0,0,1753,10125,1,0,0,0,1755,10127,1,0,0,0,1757,10132,1,0,0,0,1759,10134,1,0,0,0,1761,10139,1,0,0,0,1763,10145,1,0,0,0,1765,10151,1,0,0,0,1767,10154,1,0,0,0,1769,10177,1,0,0,0,1771,10220,1,0,0,0,1773,10222,1,0,0,0,1775,10225,1,0,0,0,1777,10227,1,0,0,0,1779,10230,1,0,0,0,1781,10232,1,0,0,0,1783,10234,1,0,0,0,1785,10237,1,0,0,0,1787,10246,1,0,0,0,1789,10256,1,0,0,0,1791,10307,1,0,0,0,1793,10309,1,0,0,0,1795,10321,1,0,0,0,1797,10335,1,0,0,0,1799,10348,1,0,0,0,1801,10361,1,0,0,0,1803,10372,1,0,0,0,1805,10374,1,0,0,0,1807,10376,1,0,0,0,1809,10415,1,0,0,0,1811,10417,1,0,0,0,1813,1815,7,0,0,0,1814,1813,1,0,0,0,1815,1816,1,0,0,0,1816,1814,1,0,0,0,1816,1817,1,0,0,0,1817,1818,1,0,0,0,1818,1819,6,0,0,0,1819,2,1,0,0,0,1820,1821,5,47,0,0,1821,1822,5,42,0,0,1822,1823,5,33,0,0,1823,1825,1,0,0,0,1824,1826,9,0,0,0,1825,1824,1,0,0,0,1826,1827,1,0,0,0,1827,1828,1,0,0,0,1827,1825,1,0,0,0,1828,1829,1,0,0,0,1829,1830,5,42,0,0,1830,1831,5,47,0,0,1831,1832,1,0,0,0,1832,1833,6,1,1,0,1833,4,1,0,0,0,1834,1835,5,47,0,0,1835,1836,5,42,0,0,1836,1840,1,0,0,0,1837,1839,9,0,0,0,1838,1837,1,0,0,0,1839,1842,1,0,0,0,1840,1841,1,0,0,0,1840,1838,1,0,0,0,1841,1843,1,0,0,0,1842,1840,1,0,0,0,1843,1844,5,42,0,0,1844,1845,5,47,0,0,1845,1846,1,0,0,0,1846,1847,6,2,0,0,1847,6,1,0,0,0,1848,1849,5,45,0,0,1849,1850,5,45,0,0,1850,1854,1,0,0,0,1851,1853,7,1,0,0,1852,1851,1,0,0,0,1853,1856,1,0,0,0,1854,1852,1,0,0,0,1854,1855,1,0,0,0,1855,1859,1,0,0,0,1856,1854,1,0,0,0,1857,1859,5,35,0,0,1858,1848,1,0,0,0,1858,1857,1,0,0,0,1859,1863,1,0,0,0,1860,1862,8,2,0,0,1861,1860,1,0,0,0,1862,1865,1,0,0,0,1863,1861,1,0,0,0,1863,1864,1,0,0,0,1864,1871,1,0,0,0,1865,1863,1,0,0,0,1866,1868,5,13,0,0,1867,1866,1,0,0,0,1867,1868,1,0,0,0,1868,1869,1,0,0,0,1869,1872,5,10,0,0,1870,1872,5,0,0,1,1871,1867,1,0,0,0,1871,1870,1,0,0,0,1872,1884,1,0,0,0,1873,1874,5,45,0,0,1874,1875,5,45,0,0,1875,1881,1,0,0,0,1876,1878,5,13,0,0,1877,1876,1,0,0,0,1877,1878,1,0,0,0,1878,1879,1,0,0,0,1879,1882,5,10,0,0,1880,1882,5,0,0,1,1881,1877,1,0,0,0,1881,1880,1,0,0,0,1882,1884,1,0,0,0,1883,1858,1,0,0,0,1883,1873,1,0,0,0,1884,1885,1,0,0,0,1885,1886,6,3,0,0,1886,8,1,0,0,0,1887,1888,7,3,0,0,1888,1889,7,4,0,0,1889,1890,7,5,0,0,1890,1891,7,6,0,0,1891,1892,7,7,0,0,1892,1893,7,8,0,0,1893,10,1,0,0,0,1894,1895,7,3,0,0,1895,1896,7,9,0,0,1896,1897,7,9,0,0,1897,12,1,0,0,0,1898,1899,7,3,0,0,1899,1900,7,10,0,0,1900,1901,7,10,0,0,1901,14,1,0,0,0,1902,1903,7,3,0,0,1903,1904,7,10,0,0,1904,1905,7,5,0,0,1905,1906,7,8,0,0,1906,1907,7,11,0,0,1907,16,1,0,0,0,1908,1909,7,3,0,0,1909,1910,7,10,0,0,1910,1911,7,12,0,0,1911,1912,7,3,0,0,1912,1913,7,13,0,0,1913,1914,7,14,0,0,1914,18,1,0,0,0,1915,1916,7,3,0,0,1916,1917,7,15,0,0,1917,1918,7,3,0,0,1918,1919,7,10,0,0,1919,1920,7,13,0,0,1920,1921,7,16,0,0,1921,1922,7,8,0,0,1922,20,1,0,0,0,1923,1924,7,3,0,0,1924,1925,7,15,0,0,1925,1926,7,9,0,0,1926,22,1,0,0,0,1927,1928,7,3,0,0,1928,1929,7,11,0,0,1929,1930,7,11,0,0,1930,1931,7,3,0,0,1931,1932,7,13,0,0,1932,24,1,0,0,0,1933,1934,7,3,0,0,1934,1935,7,14,0,0,1935,26,1,0,0,0,1936,1937,7,3,0,0,1937,1938,7,14,0,0,1938,1939,7,4,0,0,1939,28,1,0,0,0,1940,1941,7,3,0,0,1941,1942,7,5,0,0,1942,1943,7,5,0,0,1943,1944,7,11,0,0,1944,1945,7,6,0,0,1945,1946,7,17,0,0,1946,1947,7,18,0,0,1947,1948,7,5,0,0,1948,1949,7,8,0,0,1949,30,1,0,0,0,1950,1951,7,17,0,0,1951,1952,7,8,0,0,1952,1953,7,19,0,0,1953,1954,7,20,0,0,1954,1955,7,11,0,0,1955,1956,7,8,0,0,1956,32,1,0,0,0,1957,1958,7,17,0,0,1958,1959,7,8,0,0,1959,1960,7,5,0,0,1960,1961,7,12,0,0,1961,1962,7,8,0,0,1962,1963,7,8,0,0,1963,1964,7,15,0,0,1964,34,1,0,0,0,1965,1966,7,17,0,0,1966,1967,7,20,0,0,1967,1968,7,5,0,0,1968,1969,7,21,0,0,1969,36,1,0,0,0,1970,1971,7,17,0,0,1971,1972,7,18,0,0,1972,1973,7,4,0,0,1973,1974,7,22,0,0,1974,1975,7,8,0,0,1975,1976,7,5,0,0,1976,1977,7,14,0,0,1977,38,1,0,0,0,1978,1979,7,17,0,0,1979,1980,7,13,0,0,1980,40,1,0,0,0,1981,1982,7,4,0,0,1982,1983,7,3,0,0,1983,1984,7,10,0,0,1984,1985,7,10,0,0,1985,42,1,0,0,0,1986,1987,7,4,0,0,1987,1988,7,3,0,0,1988,1989,7,14,0,0,1989,1990,7,4,0,0,1990,1991,7,3,0,0,1991,1992,7,9,0,0,1992,1993,7,8,0,0,1993,44,1,0,0,0,1994,1995,7,4,0,0,1995,1996,7,3,0,0,1996,1997,7,14,0,0,1997,1998,7,8,0,0,1998,46,1,0,0,0,1999,2e3,7,4,0,0,2e3,2001,7,3,0,0,2001,2002,7,14,0,0,2002,2003,7,5,0,0,2003,48,1,0,0,0,2004,2005,7,4,0,0,2005,2006,7,21,0,0,2006,2007,7,3,0,0,2007,2008,7,15,0,0,2008,2009,7,23,0,0,2009,2010,7,8,0,0,2010,50,1,0,0,0,2011,2012,7,4,0,0,2012,2013,7,21,0,0,2013,2014,7,3,0,0,2014,2015,7,11,0,0,2015,2016,7,3,0,0,2016,2017,7,4,0,0,2017,2018,7,5,0,0,2018,2019,7,8,0,0,2019,2020,7,11,0,0,2020,52,1,0,0,0,2021,2022,7,4,0,0,2022,2023,7,21,0,0,2023,2024,7,8,0,0,2024,2025,7,4,0,0,2025,2026,7,22,0,0,2026,54,1,0,0,0,2027,2028,7,4,0,0,2028,2029,7,20,0,0,2029,2030,7,10,0,0,2030,2031,7,10,0,0,2031,2032,7,3,0,0,2032,2033,7,5,0,0,2033,2034,7,8,0,0,2034,56,1,0,0,0,2035,2036,7,4,0,0,2036,2037,7,20,0,0,2037,2038,7,10,0,0,2038,2039,7,18,0,0,2039,2040,7,24,0,0,2040,2041,7,15,0,0,2041,58,1,0,0,0,2042,2043,7,4,0,0,2043,2044,7,20,0,0,2044,2045,7,15,0,0,2045,2046,7,9,0,0,2046,2047,7,6,0,0,2047,2048,7,5,0,0,2048,2049,7,6,0,0,2049,2050,7,20,0,0,2050,2051,7,15,0,0,2051,60,1,0,0,0,2052,2053,7,4,0,0,2053,2054,7,20,0,0,2054,2055,7,15,0,0,2055,2056,7,14,0,0,2056,2057,7,5,0,0,2057,2058,7,11,0,0,2058,2059,7,3,0,0,2059,2060,7,6,0,0,2060,2061,7,15,0,0,2061,2062,7,5,0,0,2062,62,1,0,0,0,2063,2064,7,4,0,0,2064,2065,7,20,0,0,2065,2066,7,15,0,0,2066,2067,7,5,0,0,2067,2068,7,6,0,0,2068,2069,7,15,0,0,2069,2070,7,18,0,0,2070,2071,7,8,0,0,2071,64,1,0,0,0,2072,2073,7,4,0,0,2073,2074,7,20,0,0,2074,2075,7,15,0,0,2075,2076,7,7,0,0,2076,2077,7,8,0,0,2077,2078,7,11,0,0,2078,2079,7,5,0,0,2079,66,1,0,0,0,2080,2081,7,4,0,0,2081,2082,7,11,0,0,2082,2083,7,8,0,0,2083,2084,7,3,0,0,2084,2085,7,5,0,0,2085,2086,7,8,0,0,2086,68,1,0,0,0,2087,2088,7,4,0,0,2088,2089,7,11,0,0,2089,2090,7,20,0,0,2090,2091,7,14,0,0,2091,2092,7,14,0,0,2092,70,1,0,0,0,2093,2094,7,4,0,0,2094,2095,7,18,0,0,2095,2096,7,11,0,0,2096,2097,7,11,0,0,2097,2098,7,8,0,0,2098,2099,7,15,0,0,2099,2100,7,5,0,0,2100,72,1,0,0,0,2101,2102,7,4,0,0,2102,2103,7,18,0,0,2103,2104,7,11,0,0,2104,2105,7,11,0,0,2105,2106,7,8,0,0,2106,2107,7,15,0,0,2107,2108,7,5,0,0,2108,2109,5,95,0,0,2109,2110,7,18,0,0,2110,2111,7,14,0,0,2111,2112,7,8,0,0,2112,2113,7,11,0,0,2113,74,1,0,0,0,2114,2115,7,4,0,0,2115,2116,7,18,0,0,2116,2117,7,11,0,0,2117,2118,7,14,0,0,2118,2119,7,20,0,0,2119,2120,7,11,0,0,2120,76,1,0,0,0,2121,2122,7,9,0,0,2122,2123,7,3,0,0,2123,2124,7,5,0,0,2124,2125,7,3,0,0,2125,2126,7,17,0,0,2126,2127,7,3,0,0,2127,2128,7,14,0,0,2128,2129,7,8,0,0,2129,78,1,0,0,0,2130,2131,7,9,0,0,2131,2132,7,3,0,0,2132,2133,7,5,0,0,2133,2134,7,3,0,0,2134,2135,7,17,0,0,2135,2136,7,3,0,0,2136,2137,7,14,0,0,2137,2138,7,8,0,0,2138,2139,7,14,0,0,2139,80,1,0,0,0,2140,2141,7,9,0,0,2141,2142,7,8,0,0,2142,2143,7,4,0,0,2143,2144,7,10,0,0,2144,2145,7,3,0,0,2145,2146,7,11,0,0,2146,2147,7,8,0,0,2147,82,1,0,0,0,2148,2149,7,9,0,0,2149,2150,7,8,0,0,2150,2151,7,19,0,0,2151,2152,7,3,0,0,2152,2153,7,18,0,0,2153,2154,7,10,0,0,2154,2155,7,5,0,0,2155,84,1,0,0,0,2156,2157,7,9,0,0,2157,2158,7,8,0,0,2158,2159,7,10,0,0,2159,2160,7,3,0,0,2160,2161,7,13,0,0,2161,2162,7,8,0,0,2162,2163,7,9,0,0,2163,86,1,0,0,0,2164,2165,7,9,0,0,2165,2166,7,8,0,0,2166,2167,7,10,0,0,2167,2168,7,8,0,0,2168,2169,7,5,0,0,2169,2170,7,8,0,0,2170,88,1,0,0,0,2171,2172,7,9,0,0,2172,2173,7,8,0,0,2173,2174,7,14,0,0,2174,2175,7,4,0,0,2175,90,1,0,0,0,2176,2177,7,9,0,0,2177,2178,7,8,0,0,2178,2179,7,14,0,0,2179,2180,7,4,0,0,2180,2181,7,11,0,0,2181,2182,7,6,0,0,2182,2183,7,17,0,0,2183,2184,7,8,0,0,2184,92,1,0,0,0,2185,2186,7,9,0,0,2186,2187,7,8,0,0,2187,2188,7,5,0,0,2188,2189,7,8,0,0,2189,2190,7,11,0,0,2190,2191,7,24,0,0,2191,2192,7,6,0,0,2192,2193,7,15,0,0,2193,2194,7,6,0,0,2194,2195,7,14,0,0,2195,2196,7,5,0,0,2196,2197,7,6,0,0,2197,2198,7,4,0,0,2198,94,1,0,0,0,2199,2200,7,9,0,0,2200,2201,7,6,0,0,2201,2202,7,3,0,0,2202,2203,7,23,0,0,2203,2204,7,15,0,0,2204,2205,7,20,0,0,2205,2206,7,14,0,0,2206,2207,7,5,0,0,2207,2208,7,6,0,0,2208,2209,7,4,0,0,2209,2210,7,14,0,0,2210,96,1,0,0,0,2211,2212,7,9,0,0,2212,2213,7,6,0,0,2213,2214,7,14,0,0,2214,2215,7,5,0,0,2215,2216,7,6,0,0,2216,2217,7,15,0,0,2217,2218,7,4,0,0,2218,2219,7,5,0,0,2219,98,1,0,0,0,2220,2221,7,9,0,0,2221,2222,7,6,0,0,2222,2223,7,14,0,0,2223,2224,7,5,0,0,2224,2225,7,6,0,0,2225,2226,7,15,0,0,2226,2227,7,4,0,0,2227,2228,7,5,0,0,2228,2229,7,11,0,0,2229,2230,7,20,0,0,2230,2231,7,12,0,0,2231,100,1,0,0,0,2232,2233,7,9,0,0,2233,2234,7,11,0,0,2234,2235,7,20,0,0,2235,2236,7,25,0,0,2236,102,1,0,0,0,2237,2238,7,8,0,0,2238,2239,7,3,0,0,2239,2240,7,4,0,0,2240,2241,7,21,0,0,2241,104,1,0,0,0,2242,2243,7,8,0,0,2243,2244,7,10,0,0,2244,2245,7,14,0,0,2245,2246,7,8,0,0,2246,106,1,0,0,0,2247,2248,7,8,0,0,2248,2249,7,10,0,0,2249,2250,7,14,0,0,2250,2251,7,8,0,0,2251,2252,7,6,0,0,2252,2253,7,19,0,0,2253,108,1,0,0,0,2254,2255,7,8,0,0,2255,2256,7,24,0,0,2256,2257,7,25,0,0,2257,2258,7,5,0,0,2258,2259,7,13,0,0,2259,110,1,0,0,0,2260,2261,7,8,0,0,2261,2262,7,15,0,0,2262,2263,7,4,0,0,2263,2264,7,10,0,0,2264,2265,7,20,0,0,2265,2266,7,14,0,0,2266,2267,7,8,0,0,2267,2268,7,9,0,0,2268,112,1,0,0,0,2269,2270,7,8,0,0,2270,2271,7,15,0,0,2271,2272,7,19,0,0,2272,2273,7,20,0,0,2273,2274,7,11,0,0,2274,2275,7,4,0,0,2275,2276,7,8,0,0,2276,2277,7,9,0,0,2277,114,1,0,0,0,2278,2279,7,8,0,0,2279,2280,7,14,0,0,2280,2281,7,4,0,0,2281,2282,7,3,0,0,2282,2283,7,25,0,0,2283,2284,7,8,0,0,2284,2285,7,9,0,0,2285,116,1,0,0,0,2286,2287,7,8,0,0,2287,2288,7,26,0,0,2288,2289,7,4,0,0,2289,2290,7,8,0,0,2290,2291,7,25,0,0,2291,2292,7,5,0,0,2292,118,1,0,0,0,2293,2294,7,8,0,0,2294,2295,7,26,0,0,2295,2296,7,6,0,0,2296,2297,7,14,0,0,2297,2298,7,5,0,0,2298,2299,7,14,0,0,2299,120,1,0,0,0,2300,2301,7,8,0,0,2301,2302,7,26,0,0,2302,2303,7,6,0,0,2303,2304,7,5,0,0,2304,122,1,0,0,0,2305,2306,7,8,0,0,2306,2307,7,26,0,0,2307,2308,7,25,0,0,2308,2309,7,10,0,0,2309,2310,7,3,0,0,2310,2311,7,6,0,0,2311,2312,7,15,0,0,2312,124,1,0,0,0,2313,2314,7,19,0,0,2314,2315,7,3,0,0,2315,2316,7,10,0,0,2316,2317,7,14,0,0,2317,2318,7,8,0,0,2318,126,1,0,0,0,2319,2320,7,19,0,0,2320,2321,7,8,0,0,2321,2322,7,5,0,0,2322,2323,7,4,0,0,2323,2324,7,21,0,0,2324,128,1,0,0,0,2325,2326,7,19,0,0,2326,2327,7,20,0,0,2327,2328,7,11,0,0,2328,130,1,0,0,0,2329,2330,7,19,0,0,2330,2331,7,20,0,0,2331,2332,7,11,0,0,2332,2333,7,4,0,0,2333,2334,7,8,0,0,2334,132,1,0,0,0,2335,2336,7,19,0,0,2336,2337,7,20,0,0,2337,2338,7,11,0,0,2338,2339,7,8,0,0,2339,2340,7,6,0,0,2340,2341,7,23,0,0,2341,2342,7,15,0,0,2342,134,1,0,0,0,2343,2344,7,19,0,0,2344,2345,7,11,0,0,2345,2346,7,20,0,0,2346,2347,7,24,0,0,2347,136,1,0,0,0,2348,2349,7,19,0,0,2349,2350,7,18,0,0,2350,2351,7,10,0,0,2351,2352,7,10,0,0,2352,2353,7,5,0,0,2353,2354,7,8,0,0,2354,2355,7,26,0,0,2355,2356,7,5,0,0,2356,138,1,0,0,0,2357,2358,7,23,0,0,2358,2359,7,8,0,0,2359,2360,7,15,0,0,2360,2361,7,8,0,0,2361,2362,7,11,0,0,2362,2363,7,3,0,0,2363,2364,7,5,0,0,2364,2365,7,8,0,0,2365,140,1,0,0,0,2366,2367,7,23,0,0,2367,2368,7,8,0,0,2368,2369,7,15,0,0,2369,2370,7,8,0,0,2370,2371,7,11,0,0,2371,2372,7,3,0,0,2372,2373,7,5,0,0,2373,2374,7,8,0,0,2374,2375,7,9,0,0,2375,142,1,0,0,0,2376,2377,7,23,0,0,2377,2378,7,8,0,0,2378,2379,7,5,0,0,2379,144,1,0,0,0,2380,2381,7,23,0,0,2381,2382,7,11,0,0,2382,2383,7,3,0,0,2383,2384,7,15,0,0,2384,2385,7,5,0,0,2385,146,1,0,0,0,2386,2387,7,23,0,0,2387,2388,7,11,0,0,2388,2389,7,20,0,0,2389,2390,7,18,0,0,2390,2391,7,25,0,0,2391,148,1,0,0,0,2392,2393,7,21,0,0,2393,2394,7,3,0,0,2394,2395,7,7,0,0,2395,2396,7,6,0,0,2396,2397,7,15,0,0,2397,2398,7,23,0,0,2398,150,1,0,0,0,2399,2400,7,21,0,0,2400,2401,7,6,0,0,2401,2402,7,23,0,0,2402,2403,7,21,0,0,2403,2404,5,95,0,0,2404,2405,7,25,0,0,2405,2406,7,11,0,0,2406,2407,7,6,0,0,2407,2408,7,20,0,0,2408,2409,7,11,0,0,2409,2410,7,6,0,0,2410,2411,7,5,0,0,2411,2412,7,13,0,0,2412,152,1,0,0,0,2413,2414,7,21,0,0,2414,2415,7,6,0,0,2415,2416,7,14,0,0,2416,2417,7,5,0,0,2417,2418,7,20,0,0,2418,2419,7,23,0,0,2419,2420,7,11,0,0,2420,2421,7,3,0,0,2421,2422,7,24,0,0,2422,154,1,0,0,0,2423,2424,7,6,0,0,2424,2425,7,19,0,0,2425,156,1,0,0,0,2426,2427,7,6,0,0,2427,2428,7,23,0,0,2428,2429,7,15,0,0,2429,2430,7,20,0,0,2430,2431,7,11,0,0,2431,2432,7,8,0,0,2432,158,1,0,0,0,2433,2434,7,6,0,0,2434,2435,7,15,0,0,2435,160,1,0,0,0,2436,2437,7,6,0,0,2437,2438,7,15,0,0,2438,2439,7,3,0,0,2439,2440,7,4,0,0,2440,2441,7,5,0,0,2441,2442,7,6,0,0,2442,2443,7,7,0,0,2443,2444,7,8,0,0,2444,162,1,0,0,0,2445,2446,7,6,0,0,2446,2447,7,15,0,0,2447,2448,7,9,0,0,2448,2449,7,8,0,0,2449,2450,7,26,0,0,2450,164,1,0,0,0,2451,2452,7,6,0,0,2452,2453,7,15,0,0,2453,2454,7,19,0,0,2454,2455,7,6,0,0,2455,2456,7,10,0,0,2456,2457,7,8,0,0,2457,166,1,0,0,0,2458,2459,7,6,0,0,2459,2460,7,15,0,0,2460,2461,7,15,0,0,2461,2462,7,8,0,0,2462,2463,7,11,0,0,2463,168,1,0,0,0,2464,2465,7,6,0,0,2465,2466,7,15,0,0,2466,2467,7,20,0,0,2467,2468,7,18,0,0,2468,2469,7,5,0,0,2469,170,1,0,0,0,2470,2471,7,6,0,0,2471,2472,7,15,0,0,2472,2473,7,14,0,0,2473,2474,7,8,0,0,2474,2475,7,11,0,0,2475,2476,7,5,0,0,2476,172,1,0,0,0,2477,2478,7,6,0,0,2478,2479,7,15,0,0,2479,2480,7,5,0,0,2480,2481,7,8,0,0,2481,2482,7,11,0,0,2482,2483,7,7,0,0,2483,2484,7,3,0,0,2484,2485,7,10,0,0,2485,174,1,0,0,0,2486,2487,7,6,0,0,2487,2488,7,15,0,0,2488,2489,7,5,0,0,2489,2490,7,20,0,0,2490,176,1,0,0,0,2491,2492,7,6,0,0,2492,2493,7,14,0,0,2493,178,1,0,0,0,2494,2495,7,6,0,0,2495,2496,7,5,0,0,2496,2497,7,8,0,0,2497,2498,7,11,0,0,2498,2499,7,3,0,0,2499,2500,7,5,0,0,2500,2501,7,8,0,0,2501,180,1,0,0,0,2502,2503,7,27,0,0,2503,2504,7,20,0,0,2504,2505,7,6,0,0,2505,2506,7,15,0,0,2506,182,1,0,0,0,2507,2508,7,22,0,0,2508,2509,7,8,0,0,2509,2510,7,13,0,0,2510,184,1,0,0,0,2511,2512,7,22,0,0,2512,2513,7,8,0,0,2513,2514,7,13,0,0,2514,2515,7,14,0,0,2515,186,1,0,0,0,2516,2517,7,22,0,0,2517,2518,7,6,0,0,2518,2519,7,10,0,0,2519,2520,7,10,0,0,2520,188,1,0,0,0,2521,2522,7,10,0,0,2522,2523,7,3,0,0,2523,2524,7,5,0,0,2524,2525,7,8,0,0,2525,2526,7,11,0,0,2526,2527,7,3,0,0,2527,2528,7,10,0,0,2528,190,1,0,0,0,2529,2530,7,10,0,0,2530,2531,7,8,0,0,2531,2532,7,3,0,0,2532,2533,7,9,0,0,2533,2534,7,6,0,0,2534,2535,7,15,0,0,2535,2536,7,23,0,0,2536,192,1,0,0,0,2537,2538,7,10,0,0,2538,2539,7,8,0,0,2539,2540,7,3,0,0,2540,2541,7,7,0,0,2541,2542,7,8,0,0,2542,194,1,0,0,0,2543,2544,7,10,0,0,2544,2545,7,8,0,0,2545,2546,7,19,0,0,2546,2547,7,5,0,0,2547,196,1,0,0,0,2548,2549,7,10,0,0,2549,2550,7,6,0,0,2550,2551,7,22,0,0,2551,2552,7,8,0,0,2552,198,1,0,0,0,2553,2554,7,10,0,0,2554,2555,7,6,0,0,2555,2556,7,24,0,0,2556,2557,7,6,0,0,2557,2558,7,5,0,0,2558,200,1,0,0,0,2559,2560,7,10,0,0,2560,2561,7,6,0,0,2561,2562,7,15,0,0,2562,2563,7,8,0,0,2563,2564,7,3,0,0,2564,2565,7,11,0,0,2565,202,1,0,0,0,2566,2567,7,10,0,0,2567,2568,7,6,0,0,2568,2569,7,15,0,0,2569,2570,7,8,0,0,2570,2571,7,14,0,0,2571,204,1,0,0,0,2572,2573,7,10,0,0,2573,2574,7,20,0,0,2574,2575,7,3,0,0,2575,2576,7,9,0,0,2576,206,1,0,0,0,2577,2578,7,10,0,0,2578,2579,7,20,0,0,2579,2580,7,4,0,0,2580,2581,7,22,0,0,2581,208,1,0,0,0,2582,2583,7,10,0,0,2583,2584,7,20,0,0,2584,2585,7,4,0,0,2585,2586,7,22,0,0,2586,2587,7,8,0,0,2587,2588,7,9,0,0,2588,210,1,0,0,0,2589,2590,7,10,0,0,2590,2591,7,20,0,0,2591,2592,7,20,0,0,2592,2593,7,25,0,0,2593,212,1,0,0,0,2594,2595,7,10,0,0,2595,2596,7,20,0,0,2596,2597,7,12,0,0,2597,2598,5,95,0,0,2598,2599,7,25,0,0,2599,2600,7,11,0,0,2600,2601,7,6,0,0,2601,2602,7,20,0,0,2602,2603,7,11,0,0,2603,2604,7,6,0,0,2604,2605,7,5,0,0,2605,2606,7,13,0,0,2606,214,1,0,0,0,2607,2608,7,24,0,0,2608,2609,7,3,0,0,2609,2610,7,14,0,0,2610,2611,7,5,0,0,2611,2612,7,8,0,0,2612,2613,7,11,0,0,2613,2614,5,95,0,0,2614,2615,7,17,0,0,2615,2616,7,6,0,0,2616,2617,7,15,0,0,2617,2618,7,9,0,0,2618,216,1,0,0,0,2619,2620,7,24,0,0,2620,2621,7,3,0,0,2621,2622,7,14,0,0,2622,2623,7,5,0,0,2623,2624,7,8,0,0,2624,2625,7,11,0,0,2625,2626,5,95,0,0,2626,2627,7,14,0,0,2627,2628,7,14,0,0,2628,2629,7,10,0,0,2629,2630,5,95,0,0,2630,2631,7,7,0,0,2631,2632,7,8,0,0,2632,2633,7,11,0,0,2633,2634,7,6,0,0,2634,2635,7,19,0,0,2635,2636,7,13,0,0,2636,2637,5,95,0,0,2637,2638,7,14,0,0,2638,2639,7,8,0,0,2639,2640,7,11,0,0,2640,2641,7,7,0,0,2641,2642,7,8,0,0,2642,2643,7,11,0,0,2643,2644,5,95,0,0,2644,2645,7,4,0,0,2645,2646,7,8,0,0,2646,2647,7,11,0,0,2647,2648,7,5,0,0,2648,218,1,0,0,0,2649,2650,7,24,0,0,2650,2651,7,3,0,0,2651,2652,7,5,0,0,2652,2653,7,4,0,0,2653,2654,7,21,0,0,2654,220,1,0,0,0,2655,2656,7,24,0,0,2656,2657,7,3,0,0,2657,2658,7,26,0,0,2658,2659,7,7,0,0,2659,2660,7,3,0,0,2660,2661,7,10,0,0,2661,2662,7,18,0,0,2662,2663,7,8,0,0,2663,222,1,0,0,0,2664,2665,7,24,0,0,2665,2666,7,20,0,0,2666,2667,7,9,0,0,2667,2668,7,6,0,0,2668,2669,7,19,0,0,2669,2670,7,6,0,0,2670,2671,7,8,0,0,2671,2672,7,14,0,0,2672,224,1,0,0,0,2673,2674,7,15,0,0,2674,2675,7,3,0,0,2675,2676,7,5,0,0,2676,2677,7,18,0,0,2677,2678,7,11,0,0,2678,2679,7,3,0,0,2679,2680,7,10,0,0,2680,226,1,0,0,0,2681,2682,7,15,0,0,2682,2683,7,20,0,0,2683,2684,7,5,0,0,2684,228,1,0,0,0,2685,2686,7,15,0,0,2686,2687,7,20,0,0,2687,2688,5,95,0,0,2688,2689,7,12,0,0,2689,2690,7,11,0,0,2690,2691,7,6,0,0,2691,2692,7,5,0,0,2692,2693,7,8,0,0,2693,2694,5,95,0,0,2694,2695,7,5,0,0,2695,2696,7,20,0,0,2696,2697,5,95,0,0,2697,2698,7,17,0,0,2698,2699,7,6,0,0,2699,2700,7,15,0,0,2700,2701,7,10,0,0,2701,2702,7,20,0,0,2702,2703,7,23,0,0,2703,230,1,0,0,0,2704,2705,7,15,0,0,2705,2706,7,18,0,0,2706,2707,7,10,0,0,2707,2708,7,10,0,0,2708,232,1,0,0,0,2709,2710,7,15,0,0,2710,2711,7,18,0,0,2711,2712,7,24,0,0,2712,2713,7,17,0,0,2713,2714,7,8,0,0,2714,2715,7,11,0,0,2715,234,1,0,0,0,2716,2717,7,14,0,0,2717,2718,7,5,0,0,2718,2719,7,11,0,0,2719,2720,7,8,0,0,2720,2721,7,3,0,0,2721,2722,7,24,0,0,2722,236,1,0,0,0,2723,2724,7,20,0,0,2724,2725,7,15,0,0,2725,238,1,0,0,0,2726,2727,7,20,0,0,2727,2728,7,25,0,0,2728,2729,7,5,0,0,2729,2730,7,6,0,0,2730,2731,7,24,0,0,2731,2732,7,6,0,0,2732,2733,7,16,0,0,2733,2734,7,8,0,0,2734,240,1,0,0,0,2735,2736,7,20,0,0,2736,2737,7,25,0,0,2737,2738,7,5,0,0,2738,2739,7,6,0,0,2739,2740,7,20,0,0,2740,2741,7,15,0,0,2741,242,1,0,0,0,2742,2743,7,20,0,0,2743,2744,7,25,0,0,2744,2745,7,5,0,0,2745,2746,7,6,0,0,2746,2747,7,20,0,0,2747,2748,7,15,0,0,2748,2749,7,3,0,0,2749,2750,7,10,0,0,2750,244,1,0,0,0,2751,2752,7,20,0,0,2752,2753,7,25,0,0,2753,2754,7,5,0,0,2754,2755,7,6,0,0,2755,2756,7,20,0,0,2756,2757,7,15,0,0,2757,2758,7,3,0,0,2758,2759,7,10,0,0,2759,2760,7,10,0,0,2760,2761,7,13,0,0,2761,246,1,0,0,0,2762,2763,7,20,0,0,2763,2764,7,11,0,0,2764,248,1,0,0,0,2765,2766,7,20,0,0,2766,2767,7,11,0,0,2767,2768,7,9,0,0,2768,2769,7,8,0,0,2769,2770,7,11,0,0,2770,250,1,0,0,0,2771,2772,7,20,0,0,2772,2773,7,18,0,0,2773,2774,7,5,0,0,2774,252,1,0,0,0,2775,2776,7,20,0,0,2776,2777,7,18,0,0,2777,2778,7,5,0,0,2778,2779,7,8,0,0,2779,2780,7,11,0,0,2780,254,1,0,0,0,2781,2782,7,20,0,0,2782,2783,7,18,0,0,2783,2784,7,5,0,0,2784,2785,7,19,0,0,2785,2786,7,6,0,0,2786,2787,7,10,0,0,2787,2788,7,8,0,0,2788,256,1,0,0,0,2789,2790,7,20,0,0,2790,2791,7,7,0,0,2791,2792,7,8,0,0,2792,2793,7,11,0,0,2793,258,1,0,0,0,2794,2795,7,25,0,0,2795,2796,7,3,0,0,2796,2797,7,11,0,0,2797,2798,7,5,0,0,2798,2799,7,6,0,0,2799,2800,7,5,0,0,2800,2801,7,6,0,0,2801,2802,7,20,0,0,2802,2803,7,15,0,0,2803,260,1,0,0,0,2804,2805,7,25,0,0,2805,2806,7,11,0,0,2806,2807,7,6,0,0,2807,2808,7,24,0,0,2808,2809,7,3,0,0,2809,2810,7,11,0,0,2810,2811,7,13,0,0,2811,262,1,0,0,0,2812,2813,7,25,0,0,2813,2814,7,11,0,0,2814,2815,7,20,0,0,2815,2816,7,4,0,0,2816,2817,7,8,0,0,2817,2818,7,9,0,0,2818,2819,7,18,0,0,2819,2820,7,11,0,0,2820,2821,7,8,0,0,2821,264,1,0,0,0,2822,2823,7,25,0,0,2823,2824,7,18,0,0,2824,2825,7,11,0,0,2825,2826,7,23,0,0,2826,2827,7,8,0,0,2827,266,1,0,0,0,2828,2829,7,11,0,0,2829,2830,7,3,0,0,2830,2831,7,15,0,0,2831,2832,7,23,0,0,2832,2833,7,8,0,0,2833,268,1,0,0,0,2834,2835,7,11,0,0,2835,2836,7,8,0,0,2836,2837,7,3,0,0,2837,2838,7,9,0,0,2838,270,1,0,0,0,2839,2840,7,11,0,0,2840,2841,7,8,0,0,2841,2842,7,3,0,0,2842,2843,7,9,0,0,2843,2844,7,14,0,0,2844,272,1,0,0,0,2845,2846,7,11,0,0,2846,2847,7,8,0,0,2847,2848,7,19,0,0,2848,2849,7,8,0,0,2849,2850,7,11,0,0,2850,2851,7,8,0,0,2851,2852,7,15,0,0,2852,2853,7,4,0,0,2853,2854,7,8,0,0,2854,274,1,0,0,0,2855,2856,7,11,0,0,2856,2857,7,8,0,0,2857,2858,7,19,0,0,2858,2859,7,8,0,0,2859,2860,7,11,0,0,2860,2861,7,8,0,0,2861,2862,7,15,0,0,2862,2863,7,4,0,0,2863,2864,7,8,0,0,2864,2865,7,14,0,0,2865,276,1,0,0,0,2866,2867,7,11,0,0,2867,2868,7,8,0,0,2868,2869,7,23,0,0,2869,2870,7,8,0,0,2870,2871,7,26,0,0,2871,2872,7,25,0,0,2872,278,1,0,0,0,2873,2874,7,11,0,0,2874,2875,7,8,0,0,2875,2876,7,10,0,0,2876,2877,7,8,0,0,2877,2878,7,3,0,0,2878,2879,7,14,0,0,2879,2880,7,8,0,0,2880,280,1,0,0,0,2881,2882,7,11,0,0,2882,2883,7,8,0,0,2883,2884,7,15,0,0,2884,2885,7,3,0,0,2885,2886,7,24,0,0,2886,2887,7,8,0,0,2887,282,1,0,0,0,2888,2889,7,11,0,0,2889,2890,7,8,0,0,2890,2891,7,25,0,0,2891,2892,7,8,0,0,2892,2893,7,3,0,0,2893,2894,7,5,0,0,2894,284,1,0,0,0,2895,2896,7,11,0,0,2896,2897,7,8,0,0,2897,2898,7,25,0,0,2898,2899,7,10,0,0,2899,2900,7,3,0,0,2900,2901,7,4,0,0,2901,2902,7,8,0,0,2902,286,1,0,0,0,2903,2904,7,11,0,0,2904,2905,7,8,0,0,2905,2906,7,28,0,0,2906,2907,7,18,0,0,2907,2908,7,6,0,0,2908,2909,7,11,0,0,2909,2910,7,8,0,0,2910,288,1,0,0,0,2911,2912,7,11,0,0,2912,2913,7,8,0,0,2913,2914,7,14,0,0,2914,2915,7,6,0,0,2915,2916,7,23,0,0,2916,2917,7,15,0,0,2917,2918,7,3,0,0,2918,2919,7,10,0,0,2919,290,1,0,0,0,2920,2921,7,11,0,0,2921,2922,7,8,0,0,2922,2923,7,14,0,0,2923,2924,7,5,0,0,2924,2925,7,11,0,0,2925,2926,7,6,0,0,2926,2927,7,4,0,0,2927,2928,7,5,0,0,2928,292,1,0,0,0,2929,2930,7,11,0,0,2930,2931,7,8,0,0,2931,2932,7,5,0,0,2932,2933,7,3,0,0,2933,2934,7,6,0,0,2934,2935,7,15,0,0,2935,294,1,0,0,0,2936,2937,7,11,0,0,2937,2938,7,8,0,0,2938,2939,7,5,0,0,2939,2940,7,18,0,0,2940,2941,7,11,0,0,2941,2942,7,15,0,0,2942,296,1,0,0,0,2943,2944,7,11,0,0,2944,2945,7,8,0,0,2945,2946,7,7,0,0,2946,2947,7,20,0,0,2947,2948,7,22,0,0,2948,2949,7,8,0,0,2949,298,1,0,0,0,2950,2951,7,11,0,0,2951,2952,7,6,0,0,2952,2953,7,23,0,0,2953,2954,7,21,0,0,2954,2955,7,5,0,0,2955,300,1,0,0,0,2956,2957,7,11,0,0,2957,2958,7,10,0,0,2958,2959,7,6,0,0,2959,2960,7,22,0,0,2960,2961,7,8,0,0,2961,302,1,0,0,0,2962,2963,7,14,0,0,2963,2964,7,4,0,0,2964,2965,7,21,0,0,2965,2966,7,8,0,0,2966,2967,7,24,0,0,2967,2968,7,3,0,0,2968,304,1,0,0,0,2969,2970,7,14,0,0,2970,2971,7,4,0,0,2971,2972,7,21,0,0,2972,2973,7,8,0,0,2973,2974,7,24,0,0,2974,2975,7,3,0,0,2975,2976,7,14,0,0,2976,306,1,0,0,0,2977,2978,7,14,0,0,2978,2979,7,8,0,0,2979,2980,7,10,0,0,2980,2981,7,8,0,0,2981,2982,7,4,0,0,2982,2983,7,5,0,0,2983,308,1,0,0,0,2984,2985,7,14,0,0,2985,2986,7,8,0,0,2986,2987,7,5,0,0,2987,310,1,0,0,0,2988,2989,7,14,0,0,2989,2990,7,8,0,0,2990,2991,7,25,0,0,2991,2992,7,3,0,0,2992,2993,7,11,0,0,2993,2994,7,3,0,0,2994,2995,7,5,0,0,2995,2996,7,20,0,0,2996,2997,7,11,0,0,2997,312,1,0,0,0,2998,2999,7,14,0,0,2999,3e3,7,21,0,0,3e3,3001,7,20,0,0,3001,3002,7,12,0,0,3002,314,1,0,0,0,3003,3004,7,14,0,0,3004,3005,7,6,0,0,3005,3006,7,23,0,0,3006,3007,7,15,0,0,3007,3008,7,3,0,0,3008,3009,7,10,0,0,3009,316,1,0,0,0,3010,3011,7,14,0,0,3011,3012,7,22,0,0,3012,3013,7,6,0,0,3013,3014,7,25,0,0,3014,318,1,0,0,0,3015,3016,7,14,0,0,3016,3017,7,22,0,0,3017,3018,7,6,0,0,3018,3019,7,25,0,0,3019,3020,5,95,0,0,3020,3021,7,28,0,0,3021,3022,7,18,0,0,3022,3023,7,8,0,0,3023,3024,7,11,0,0,3024,3025,7,13,0,0,3025,3026,5,95,0,0,3026,3027,7,11,0,0,3027,3028,7,8,0,0,3028,3029,7,12,0,0,3029,3030,7,11,0,0,3030,3031,7,6,0,0,3031,3032,7,5,0,0,3032,3033,7,8,0,0,3033,320,1,0,0,0,3034,3035,7,14,0,0,3035,3036,7,25,0,0,3036,3037,7,3,0,0,3037,3038,7,5,0,0,3038,3039,7,6,0,0,3039,3040,7,3,0,0,3040,3041,7,10,0,0,3041,322,1,0,0,0,3042,3043,7,14,0,0,3043,3044,7,28,0,0,3044,3045,7,10,0,0,3045,324,1,0,0,0,3046,3047,7,14,0,0,3047,3048,7,28,0,0,3048,3049,7,10,0,0,3049,3050,7,8,0,0,3050,3051,7,26,0,0,3051,3052,7,4,0,0,3052,3053,7,8,0,0,3053,3054,7,25,0,0,3054,3055,7,5,0,0,3055,3056,7,6,0,0,3056,3057,7,20,0,0,3057,3058,7,15,0,0,3058,326,1,0,0,0,3059,3060,7,14,0,0,3060,3061,7,28,0,0,3061,3062,7,10,0,0,3062,3063,7,14,0,0,3063,3064,7,5,0,0,3064,3065,7,3,0,0,3065,3066,7,5,0,0,3066,3067,7,8,0,0,3067,328,1,0,0,0,3068,3069,7,14,0,0,3069,3070,7,28,0,0,3070,3071,7,10,0,0,3071,3072,7,12,0,0,3072,3073,7,3,0,0,3073,3074,7,11,0,0,3074,3075,7,15,0,0,3075,3076,7,6,0,0,3076,3077,7,15,0,0,3077,3078,7,23,0,0,3078,330,1,0,0,0,3079,3080,7,14,0,0,3080,3081,7,28,0,0,3081,3082,7,10,0,0,3082,3083,5,95,0,0,3083,3084,7,17,0,0,3084,3085,7,6,0,0,3085,3086,7,23,0,0,3086,3087,5,95,0,0,3087,3088,7,11,0,0,3088,3089,7,8,0,0,3089,3090,7,14,0,0,3090,3091,7,18,0,0,3091,3092,7,10,0,0,3092,3093,7,5,0,0,3093,332,1,0,0,0,3094,3095,7,14,0,0,3095,3096,7,28,0,0,3096,3097,7,10,0,0,3097,3098,5,95,0,0,3098,3099,7,4,0,0,3099,3100,7,3,0,0,3100,3101,7,10,0,0,3101,3102,7,4,0,0,3102,3103,5,95,0,0,3103,3104,7,19,0,0,3104,3105,7,20,0,0,3105,3106,7,18,0,0,3106,3107,7,15,0,0,3107,3108,7,9,0,0,3108,3109,5,95,0,0,3109,3110,7,11,0,0,3110,3111,7,20,0,0,3111,3112,7,12,0,0,3112,3113,7,14,0,0,3113,334,1,0,0,0,3114,3115,7,14,0,0,3115,3116,7,28,0,0,3116,3117,7,10,0,0,3117,3118,5,95,0,0,3118,3119,7,14,0,0,3119,3120,7,24,0,0,3120,3121,7,3,0,0,3121,3122,7,10,0,0,3122,3123,7,10,0,0,3123,3124,5,95,0,0,3124,3125,7,11,0,0,3125,3126,7,8,0,0,3126,3127,7,14,0,0,3127,3128,7,18,0,0,3128,3129,7,10,0,0,3129,3130,7,5,0,0,3130,336,1,0,0,0,3131,3132,7,14,0,0,3132,3133,7,14,0,0,3133,3134,7,10,0,0,3134,338,1,0,0,0,3135,3136,7,14,0,0,3136,3137,7,5,0,0,3137,3138,7,3,0,0,3138,3139,7,4,0,0,3139,3140,7,22,0,0,3140,3141,7,8,0,0,3141,3142,7,9,0,0,3142,340,1,0,0,0,3143,3144,7,14,0,0,3144,3145,7,5,0,0,3145,3146,7,3,0,0,3146,3147,7,11,0,0,3147,3148,7,5,0,0,3148,3149,7,6,0,0,3149,3150,7,15,0,0,3150,3151,7,23,0,0,3151,342,1,0,0,0,3152,3153,7,14,0,0,3153,3154,7,5,0,0,3154,3155,7,11,0,0,3155,3156,7,3,0,0,3156,3157,7,6,0,0,3157,3158,7,23,0,0,3158,3159,7,21,0,0,3159,3160,7,5,0,0,3160,3161,5,95,0,0,3161,3162,7,27,0,0,3162,3163,7,20,0,0,3163,3164,7,6,0,0,3164,3165,7,15,0,0,3165,344,1,0,0,0,3166,3167,7,5,0,0,3167,3168,7,3,0,0,3168,3169,7,17,0,0,3169,3170,7,10,0,0,3170,3171,7,8,0,0,3171,346,1,0,0,0,3172,3173,7,5,0,0,3173,3174,7,8,0,0,3174,3175,7,11,0,0,3175,3176,7,24,0,0,3176,3177,7,6,0,0,3177,3178,7,15,0,0,3178,3179,7,3,0,0,3179,3180,7,5,0,0,3180,3181,7,8,0,0,3181,3182,7,9,0,0,3182,348,1,0,0,0,3183,3184,7,5,0,0,3184,3185,7,21,0,0,3185,3186,7,8,0,0,3186,3187,7,15,0,0,3187,350,1,0,0,0,3188,3189,7,5,0,0,3189,3190,7,20,0,0,3190,352,1,0,0,0,3191,3192,7,5,0,0,3192,3193,7,11,0,0,3193,3194,7,3,0,0,3194,3195,7,6,0,0,3195,3196,7,10,0,0,3196,3197,7,6,0,0,3197,3198,7,15,0,0,3198,3199,7,23,0,0,3199,354,1,0,0,0,3200,3201,7,5,0,0,3201,3202,7,11,0,0,3202,3203,7,6,0,0,3203,3204,7,23,0,0,3204,3205,7,23,0,0,3205,3206,7,8,0,0,3206,3207,7,11,0,0,3207,356,1,0,0,0,3208,3209,7,5,0,0,3209,3210,7,11,0,0,3210,3211,7,18,0,0,3211,3212,7,8,0,0,3212,358,1,0,0,0,3213,3214,7,18,0,0,3214,3215,7,15,0,0,3215,3216,7,9,0,0,3216,3217,7,20,0,0,3217,360,1,0,0,0,3218,3219,7,18,0,0,3219,3220,7,15,0,0,3220,3221,7,6,0,0,3221,3222,7,20,0,0,3222,3223,7,15,0,0,3223,362,1,0,0,0,3224,3225,7,18,0,0,3225,3226,7,15,0,0,3226,3227,7,6,0,0,3227,3228,7,28,0,0,3228,3229,7,18,0,0,3229,3230,7,8,0,0,3230,364,1,0,0,0,3231,3232,7,18,0,0,3232,3233,7,15,0,0,3233,3234,7,10,0,0,3234,3235,7,20,0,0,3235,3236,7,4,0,0,3236,3237,7,22,0,0,3237,366,1,0,0,0,3238,3239,7,18,0,0,3239,3240,7,15,0,0,3240,3241,7,14,0,0,3241,3242,7,6,0,0,3242,3243,7,23,0,0,3243,3244,7,15,0,0,3244,3245,7,8,0,0,3245,3246,7,9,0,0,3246,368,1,0,0,0,3247,3248,7,18,0,0,3248,3249,7,25,0,0,3249,3250,7,9,0,0,3250,3251,7,3,0,0,3251,3252,7,5,0,0,3252,3253,7,8,0,0,3253,370,1,0,0,0,3254,3255,7,18,0,0,3255,3256,7,14,0,0,3256,3257,7,3,0,0,3257,3258,7,23,0,0,3258,3259,7,8,0,0,3259,372,1,0,0,0,3260,3261,7,18,0,0,3261,3262,7,14,0,0,3262,3263,7,8,0,0,3263,374,1,0,0,0,3264,3265,7,18,0,0,3265,3266,7,14,0,0,3266,3267,7,6,0,0,3267,3268,7,15,0,0,3268,3269,7,23,0,0,3269,376,1,0,0,0,3270,3271,7,7,0,0,3271,3272,7,3,0,0,3272,3273,7,10,0,0,3273,3274,7,18,0,0,3274,3275,7,8,0,0,3275,3276,7,14,0,0,3276,378,1,0,0,0,3277,3278,7,7,0,0,3278,3279,7,4,0,0,3279,3280,7,25,0,0,3280,3281,7,18,0,0,3281,380,1,0,0,0,3282,3283,7,12,0,0,3283,3284,7,21,0,0,3284,3285,7,8,0,0,3285,3286,7,15,0,0,3286,382,1,0,0,0,3287,3288,7,12,0,0,3288,3289,7,21,0,0,3289,3290,7,8,0,0,3290,3291,7,11,0,0,3291,3292,7,8,0,0,3292,384,1,0,0,0,3293,3294,7,12,0,0,3294,3295,7,21,0,0,3295,3296,7,6,0,0,3296,3297,7,10,0,0,3297,3298,7,8,0,0,3298,386,1,0,0,0,3299,3300,7,12,0,0,3300,3301,7,6,0,0,3301,3302,7,5,0,0,3302,3303,7,21,0,0,3303,388,1,0,0,0,3304,3305,7,12,0,0,3305,3306,7,11,0,0,3306,3307,7,6,0,0,3307,3308,7,5,0,0,3308,3309,7,8,0,0,3309,390,1,0,0,0,3310,3311,7,26,0,0,3311,3312,7,20,0,0,3312,3313,7,11,0,0,3313,392,1,0,0,0,3314,3315,7,16,0,0,3315,3316,7,8,0,0,3316,3317,7,11,0,0,3317,3318,7,20,0,0,3318,3319,7,19,0,0,3319,3320,7,6,0,0,3320,3321,7,10,0,0,3321,3322,7,10,0,0,3322,394,1,0,0,0,3323,3324,7,5,0,0,3324,3325,7,6,0,0,3325,3326,7,15,0,0,3326,3327,7,13,0,0,3327,3328,7,6,0,0,3328,3329,7,15,0,0,3329,3330,7,5,0,0,3330,396,1,0,0,0,3331,3332,7,14,0,0,3332,3333,7,24,0,0,3333,3334,7,3,0,0,3334,3335,7,10,0,0,3335,3336,7,10,0,0,3336,3337,7,6,0,0,3337,3338,7,15,0,0,3338,3339,7,5,0,0,3339,398,1,0,0,0,3340,3341,7,24,0,0,3341,3342,7,8,0,0,3342,3343,7,9,0,0,3343,3344,7,6,0,0,3344,3345,7,18,0,0,3345,3346,7,24,0,0,3346,3347,7,6,0,0,3347,3348,7,15,0,0,3348,3349,7,5,0,0,3349,400,1,0,0,0,3350,3351,7,24,0,0,3351,3352,7,6,0,0,3352,3353,7,9,0,0,3353,3354,7,9,0,0,3354,3355,7,10,0,0,3355,3356,7,8,0,0,3356,3357,7,6,0,0,3357,3358,7,15,0,0,3358,3359,7,5,0,0,3359,402,1,0,0,0,3360,3361,7,6,0,0,3361,3362,7,15,0,0,3362,3363,7,5,0,0,3363,404,1,0,0,0,3364,3365,7,6,0,0,3365,3366,7,15,0,0,3366,3367,7,5,0,0,3367,3368,5,49,0,0,3368,406,1,0,0,0,3369,3370,7,6,0,0,3370,3371,7,15,0,0,3371,3372,7,5,0,0,3372,3373,5,50,0,0,3373,408,1,0,0,0,3374,3375,7,6,0,0,3375,3376,7,15,0,0,3376,3377,7,5,0,0,3377,3378,5,51,0,0,3378,410,1,0,0,0,3379,3380,7,6,0,0,3380,3381,7,15,0,0,3381,3382,7,5,0,0,3382,3383,5,52,0,0,3383,412,1,0,0,0,3384,3385,7,6,0,0,3385,3386,7,15,0,0,3386,3387,7,5,0,0,3387,3388,5,56,0,0,3388,414,1,0,0,0,3389,3390,7,6,0,0,3390,3391,7,15,0,0,3391,3392,7,5,0,0,3392,3393,7,8,0,0,3393,3394,7,23,0,0,3394,3395,7,8,0,0,3395,3396,7,11,0,0,3396,416,1,0,0,0,3397,3398,7,17,0,0,3398,3399,7,6,0,0,3399,3400,7,23,0,0,3400,3401,7,6,0,0,3401,3402,7,15,0,0,3402,3403,7,5,0,0,3403,418,1,0,0,0,3404,3405,7,11,0,0,3405,3406,7,8,0,0,3406,3407,7,3,0,0,3407,3408,7,10,0,0,3408,420,1,0,0,0,3409,3410,7,9,0,0,3410,3411,7,20,0,0,3411,3412,7,18,0,0,3412,3413,7,17,0,0,3413,3414,7,10,0,0,3414,3415,7,8,0,0,3415,422,1,0,0,0,3416,3417,7,25,0,0,3417,3418,7,11,0,0,3418,3419,7,8,0,0,3419,3420,7,4,0,0,3420,3421,7,6,0,0,3421,3422,7,14,0,0,3422,3423,7,6,0,0,3423,3424,7,20,0,0,3424,3425,7,15,0,0,3425,424,1,0,0,0,3426,3427,7,19,0,0,3427,3428,7,10,0,0,3428,3429,7,20,0,0,3429,3430,7,3,0,0,3430,3431,7,5,0,0,3431,426,1,0,0,0,3432,3433,7,19,0,0,3433,3434,7,10,0,0,3434,3435,7,20,0,0,3435,3436,7,3,0,0,3436,3437,7,5,0,0,3437,3438,5,52,0,0,3438,428,1,0,0,0,3439,3440,7,19,0,0,3440,3441,7,10,0,0,3441,3442,7,20,0,0,3442,3443,7,3,0,0,3443,3444,7,5,0,0,3444,3445,5,56,0,0,3445,430,1,0,0,0,3446,3447,7,9,0,0,3447,3448,7,8,0,0,3448,3449,7,4,0,0,3449,3450,7,6,0,0,3450,3451,7,24,0,0,3451,3452,7,3,0,0,3452,3453,7,10,0,0,3453,432,1,0,0,0,3454,3455,7,9,0,0,3455,3456,7,8,0,0,3456,3457,7,4,0,0,3457,434,1,0,0,0,3458,3459,7,15,0,0,3459,3460,7,18,0,0,3460,3461,7,24,0,0,3461,3462,7,8,0,0,3462,3463,7,11,0,0,3463,3464,7,6,0,0,3464,3465,7,4,0,0,3465,436,1,0,0,0,3466,3467,7,9,0,0,3467,3468,7,3,0,0,3468,3469,7,5,0,0,3469,3470,7,8,0,0,3470,438,1,0,0,0,3471,3472,7,5,0,0,3472,3473,7,6,0,0,3473,3474,7,24,0,0,3474,3475,7,8,0,0,3475,440,1,0,0,0,3476,3477,7,5,0,0,3477,3478,7,6,0,0,3478,3479,7,24,0,0,3479,3480,7,8,0,0,3480,3481,7,14,0,0,3481,3482,7,5,0,0,3482,3483,7,3,0,0,3483,3484,7,24,0,0,3484,3485,7,25,0,0,3485,442,1,0,0,0,3486,3487,7,9,0,0,3487,3488,7,3,0,0,3488,3489,7,5,0,0,3489,3490,7,8,0,0,3490,3491,7,5,0,0,3491,3492,7,6,0,0,3492,3493,7,24,0,0,3493,3494,7,8,0,0,3494,444,1,0,0,0,3495,3496,7,13,0,0,3496,3497,7,8,0,0,3497,3498,7,3,0,0,3498,3499,7,11,0,0,3499,446,1,0,0,0,3500,3501,7,4,0,0,3501,3502,7,21,0,0,3502,3503,7,3,0,0,3503,3504,7,11,0,0,3504,448,1,0,0,0,3505,3506,7,7,0,0,3506,3507,7,3,0,0,3507,3508,7,11,0,0,3508,3509,7,4,0,0,3509,3510,7,21,0,0,3510,3511,7,3,0,0,3511,3512,7,11,0,0,3512,450,1,0,0,0,3513,3514,7,15,0,0,3514,3515,7,7,0,0,3515,3516,7,3,0,0,3516,3517,7,11,0,0,3517,3518,7,4,0,0,3518,3519,7,21,0,0,3519,3520,7,3,0,0,3520,3521,7,11,0,0,3521,452,1,0,0,0,3522,3523,7,15,0,0,3523,3524,7,3,0,0,3524,3525,7,5,0,0,3525,3526,7,6,0,0,3526,3527,7,20,0,0,3527,3528,7,15,0,0,3528,3529,7,3,0,0,3529,3530,7,10,0,0,3530,454,1,0,0,0,3531,3532,7,17,0,0,3532,3533,7,6,0,0,3533,3534,7,15,0,0,3534,3535,7,3,0,0,3535,3536,7,11,0,0,3536,3537,7,13,0,0,3537,456,1,0,0,0,3538,3539,7,7,0,0,3539,3540,7,3,0,0,3540,3541,7,11,0,0,3541,3542,7,17,0,0,3542,3543,7,6,0,0,3543,3544,7,15,0,0,3544,3545,7,3,0,0,3545,3546,7,11,0,0,3546,3547,7,13,0,0,3547,458,1,0,0,0,3548,3549,7,5,0,0,3549,3550,7,6,0,0,3550,3551,7,15,0,0,3551,3552,7,13,0,0,3552,3553,7,17,0,0,3553,3554,7,10,0,0,3554,3555,7,20,0,0,3555,3556,7,17,0,0,3556,460,1,0,0,0,3557,3558,7,17,0,0,3558,3559,7,10,0,0,3559,3560,7,20,0,0,3560,3561,7,17,0,0,3561,462,1,0,0,0,3562,3563,7,24,0,0,3563,3564,7,8,0,0,3564,3565,7,9,0,0,3565,3566,7,6,0,0,3566,3567,7,18,0,0,3567,3568,7,24,0,0,3568,3569,7,17,0,0,3569,3570,7,10,0,0,3570,3571,7,20,0,0,3571,3572,7,17,0,0,3572,464,1,0,0,0,3573,3574,7,10,0,0,3574,3575,7,20,0,0,3575,3576,7,15,0,0,3576,3577,7,23,0,0,3577,466,1,0,0,0,3578,3579,7,10,0,0,3579,3580,7,20,0,0,3580,3581,7,15,0,0,3581,3582,7,23,0,0,3582,3583,7,17,0,0,3583,3584,7,10,0,0,3584,3585,7,20,0,0,3585,3586,7,17,0,0,3586,468,1,0,0,0,3587,3588,7,5,0,0,3588,3589,7,6,0,0,3589,3590,7,15,0,0,3590,3591,7,13,0,0,3591,3592,7,5,0,0,3592,3593,7,8,0,0,3593,3594,7,26,0,0,3594,3595,7,5,0,0,3595,470,1,0,0,0,3596,3597,7,5,0,0,3597,3598,7,8,0,0,3598,3599,7,26,0,0,3599,3600,7,5,0,0,3600,472,1,0,0,0,3601,3602,7,24,0,0,3602,3603,7,8,0,0,3603,3604,7,9,0,0,3604,3605,7,6,0,0,3605,3606,7,18,0,0,3606,3607,7,24,0,0,3607,3608,7,5,0,0,3608,3609,7,8,0,0,3609,3610,7,26,0,0,3610,3611,7,5,0,0,3611,474,1,0,0,0,3612,3613,7,10,0,0,3613,3614,7,20,0,0,3614,3615,7,15,0,0,3615,3616,7,23,0,0,3616,3617,7,5,0,0,3617,3618,7,8,0,0,3618,3619,7,26,0,0,3619,3620,7,5,0,0,3620,476,1,0,0,0,3621,3622,7,8,0,0,3622,3623,7,15,0,0,3623,3624,7,18,0,0,3624,3625,7,24,0,0,3625,478,1,0,0,0,3626,3627,7,7,0,0,3627,3628,7,3,0,0,3628,3629,7,11,0,0,3629,3630,7,13,0,0,3630,3631,7,6,0,0,3631,3632,7,15,0,0,3632,3633,7,23,0,0,3633,480,1,0,0,0,3634,3635,7,14,0,0,3635,3636,7,8,0,0,3636,3637,7,11,0,0,3637,3638,7,6,0,0,3638,3639,7,3,0,0,3639,3640,7,10,0,0,3640,482,1,0,0,0,3641,3642,7,13,0,0,3642,3643,7,8,0,0,3643,3644,7,3,0,0,3644,3645,7,11,0,0,3645,3646,5,95,0,0,3646,3647,7,24,0,0,3647,3648,7,20,0,0,3648,3649,7,15,0,0,3649,3650,7,5,0,0,3650,3651,7,21,0,0,3651,484,1,0,0,0,3652,3653,7,9,0,0,3653,3654,7,3,0,0,3654,3655,7,13,0,0,3655,3656,5,95,0,0,3656,3657,7,21,0,0,3657,3658,7,20,0,0,3658,3659,7,18,0,0,3659,3660,7,11,0,0,3660,486,1,0,0,0,3661,3662,7,9,0,0,3662,3663,7,3,0,0,3663,3664,7,13,0,0,3664,3665,5,95,0,0,3665,3666,7,24,0,0,3666,3667,7,6,0,0,3667,3668,7,15,0,0,3668,3669,7,18,0,0,3669,3670,7,5,0,0,3670,3671,7,8,0,0,3671,488,1,0,0,0,3672,3673,7,9,0,0,3673,3674,7,3,0,0,3674,3675,7,13,0,0,3675,3676,5,95,0,0,3676,3677,7,14,0,0,3677,3678,7,8,0,0,3678,3679,7,4,0,0,3679,3680,7,20,0,0,3680,3681,7,15,0,0,3681,3682,7,9,0,0,3682,490,1,0,0,0,3683,3684,7,21,0,0,3684,3685,7,20,0,0,3685,3686,7,18,0,0,3686,3687,7,11,0,0,3687,3688,5,95,0,0,3688,3689,7,24,0,0,3689,3690,7,6,0,0,3690,3691,7,15,0,0,3691,3692,7,18,0,0,3692,3693,7,5,0,0,3693,3694,7,8,0,0,3694,492,1,0,0,0,3695,3696,7,21,0,0,3696,3697,7,20,0,0,3697,3698,7,18,0,0,3698,3699,7,11,0,0,3699,3700,5,95,0,0,3700,3701,7,14,0,0,3701,3702,7,8,0,0,3702,3703,7,4,0,0,3703,3704,7,20,0,0,3704,3705,7,15,0,0,3705,3706,7,9,0,0,3706,494,1,0,0,0,3707,3708,7,24,0,0,3708,3709,7,6,0,0,3709,3710,7,15,0,0,3710,3711,7,18,0,0,3711,3712,7,5,0,0,3712,3713,7,8,0,0,3713,3714,5,95,0,0,3714,3715,7,14,0,0,3715,3716,7,8,0,0,3716,3717,7,4,0,0,3717,3718,7,20,0,0,3718,3719,7,15,0,0,3719,3720,7,9,0,0,3720,496,1,0,0,0,3721,3722,7,14,0,0,3722,3723,7,8,0,0,3723,3724,7,4,0,0,3724,3725,7,20,0,0,3725,3726,7,15,0,0,3726,3727,7,9,0,0,3727,3728,5,95,0,0,3728,3729,7,24,0,0,3729,3730,7,6,0,0,3730,3731,7,4,0,0,3731,3732,7,11,0,0,3732,3733,7,20,0,0,3733,3734,7,14,0,0,3734,3735,7,8,0,0,3735,3736,7,4,0,0,3736,3737,7,20,0,0,3737,3738,7,15,0,0,3738,3739,7,9,0,0,3739,498,1,0,0,0,3740,3741,7,24,0,0,3741,3742,7,6,0,0,3742,3743,7,15,0,0,3743,3744,7,18,0,0,3744,3745,7,5,0,0,3745,3746,7,8,0,0,3746,3747,5,95,0,0,3747,3748,7,24,0,0,3748,3749,7,6,0,0,3749,3750,7,4,0,0,3750,3751,7,11,0,0,3751,3752,7,20,0,0,3752,3753,7,14,0,0,3753,3754,7,8,0,0,3754,3755,7,4,0,0,3755,3756,7,20,0,0,3756,3757,7,15,0,0,3757,3758,7,9,0,0,3758,500,1,0,0,0,3759,3760,7,21,0,0,3760,3761,7,20,0,0,3761,3762,7,18,0,0,3762,3763,7,11,0,0,3763,3764,5,95,0,0,3764,3765,7,24,0,0,3765,3766,7,6,0,0,3766,3767,7,4,0,0,3767,3768,7,11,0,0,3768,3769,7,20,0,0,3769,3770,7,14,0,0,3770,3771,7,8,0,0,3771,3772,7,4,0,0,3772,3773,7,20,0,0,3773,3774,7,15,0,0,3774,3775,7,9,0,0,3775,502,1,0,0,0,3776,3777,7,9,0,0,3777,3778,7,3,0,0,3778,3779,7,13,0,0,3779,3780,5,95,0,0,3780,3781,7,24,0,0,3781,3782,7,6,0,0,3782,3783,7,4,0,0,3783,3784,7,11,0,0,3784,3785,7,20,0,0,3785,3786,7,14,0,0,3786,3787,7,8,0,0,3787,3788,7,4,0,0,3788,3789,7,20,0,0,3789,3790,7,15,0,0,3790,3791,7,9,0,0,3791,504,1,0,0,0,3792,3793,7,27,0,0,3793,3794,7,14,0,0,3794,3795,7,20,0,0,3795,3796,7,15,0,0,3796,3797,5,95,0,0,3797,3798,7,5,0,0,3798,3799,7,3,0,0,3799,3800,7,17,0,0,3800,3801,7,10,0,0,3801,3802,7,8,0,0,3802,506,1,0,0,0,3803,3804,7,27,0,0,3804,3805,7,14,0,0,3805,3806,7,20,0,0,3806,3807,7,15,0,0,3807,3808,5,95,0,0,3808,3809,7,7,0,0,3809,3810,7,3,0,0,3810,3811,7,10,0,0,3811,3812,7,18,0,0,3812,3813,7,8,0,0,3813,508,1,0,0,0,3814,3815,7,15,0,0,3815,3816,7,8,0,0,3816,3817,7,14,0,0,3817,3818,7,5,0,0,3818,3819,7,8,0,0,3819,3820,7,9,0,0,3820,510,1,0,0,0,3821,3822,7,20,0,0,3822,3823,7,11,0,0,3823,3824,7,9,0,0,3824,3825,7,6,0,0,3825,3826,7,15,0,0,3826,3827,7,3,0,0,3827,3828,7,10,0,0,3828,3829,7,6,0,0,3829,3830,7,5,0,0,3830,3831,7,13,0,0,3831,512,1,0,0,0,3832,3833,7,25,0,0,3833,3834,7,3,0,0,3834,3835,7,5,0,0,3835,3836,7,21,0,0,3836,514,1,0,0,0,3837,3838,7,3,0,0,3838,3839,7,7,0,0,3839,3840,7,23,0,0,3840,516,1,0,0,0,3841,3842,7,17,0,0,3842,3843,7,6,0,0,3843,3844,7,5,0,0,3844,3845,5,95,0,0,3845,3846,7,3,0,0,3846,3847,7,15,0,0,3847,3848,7,9,0,0,3848,518,1,0,0,0,3849,3850,7,17,0,0,3850,3851,7,6,0,0,3851,3852,7,5,0,0,3852,3853,5,95,0,0,3853,3854,7,20,0,0,3854,3855,7,11,0,0,3855,520,1,0,0,0,3856,3857,7,17,0,0,3857,3858,7,6,0,0,3858,3859,7,5,0,0,3859,3860,5,95,0,0,3860,3861,7,26,0,0,3861,3862,7,20,0,0,3862,3863,7,11,0,0,3863,522,1,0,0,0,3864,3865,7,4,0,0,3865,3866,7,20,0,0,3866,3867,7,18,0,0,3867,3868,7,15,0,0,3868,3869,7,5,0,0,3869,524,1,0,0,0,3870,3871,7,4,0,0,3871,3872,7,18,0,0,3872,3873,7,24,0,0,3873,3874,7,8,0,0,3874,3875,5,95,0,0,3875,3876,7,9,0,0,3876,3877,7,6,0,0,3877,3878,7,14,0,0,3878,3879,7,5,0,0,3879,526,1,0,0,0,3880,3881,7,9,0,0,3881,3882,7,8,0,0,3882,3883,7,15,0,0,3883,3884,7,14,0,0,3884,3885,7,8,0,0,3885,3886,5,95,0,0,3886,3887,7,11,0,0,3887,3888,7,3,0,0,3888,3889,7,15,0,0,3889,3890,7,22,0,0,3890,528,1,0,0,0,3891,3892,7,19,0,0,3892,3893,7,6,0,0,3893,3894,7,11,0,0,3894,3895,7,14,0,0,3895,3896,7,5,0,0,3896,3897,5,95,0,0,3897,3898,7,7,0,0,3898,3899,7,3,0,0,3899,3900,7,10,0,0,3900,3901,7,18,0,0,3901,3902,7,8,0,0,3902,530,1,0,0,0,3903,3904,7,23,0,0,3904,3905,7,11,0,0,3905,3906,7,20,0,0,3906,3907,7,18,0,0,3907,3908,7,25,0,0,3908,3909,5,95,0,0,3909,3910,7,4,0,0,3910,3911,7,20,0,0,3911,3912,7,15,0,0,3912,3913,7,4,0,0,3913,3914,7,3,0,0,3914,3915,7,5,0,0,3915,532,1,0,0,0,3916,3917,7,10,0,0,3917,3918,7,3,0,0,3918,3919,7,23,0,0,3919,534,1,0,0,0,3920,3921,7,10,0,0,3921,3922,7,3,0,0,3922,3923,7,14,0,0,3923,3924,7,5,0,0,3924,3925,5,95,0,0,3925,3926,7,7,0,0,3926,3927,7,3,0,0,3927,3928,7,10,0,0,3928,3929,7,18,0,0,3929,3930,7,8,0,0,3930,536,1,0,0,0,3931,3932,7,10,0,0,3932,3933,7,8,0,0,3933,3934,7,3,0,0,3934,3935,7,9,0,0,3935,538,1,0,0,0,3936,3937,7,24,0,0,3937,3938,7,3,0,0,3938,3939,7,26,0,0,3939,540,1,0,0,0,3940,3941,7,24,0,0,3941,3942,7,6,0,0,3942,3943,7,15,0,0,3943,542,1,0,0,0,3944,3945,7,15,0,0,3945,3946,7,5,0,0,3946,3947,7,6,0,0,3947,3948,7,10,0,0,3948,3949,7,8,0,0,3949,544,1,0,0,0,3950,3951,7,15,0,0,3951,3952,7,5,0,0,3952,3953,7,21,0,0,3953,3954,5,95,0,0,3954,3955,7,7,0,0,3955,3956,7,3,0,0,3956,3957,7,10,0,0,3957,3958,7,18,0,0,3958,3959,7,8,0,0,3959,546,1,0,0,0,3960,3961,7,25,0,0,3961,3962,7,8,0,0,3962,3963,7,11,0,0,3963,3964,7,4,0,0,3964,3965,7,8,0,0,3965,3966,7,15,0,0,3966,3967,7,5,0,0,3967,3968,5,95,0,0,3968,3969,7,11,0,0,3969,3970,7,3,0,0,3970,3971,7,15,0,0,3971,3972,7,22,0,0,3972,548,1,0,0,0,3973,3974,7,11,0,0,3974,3975,7,3,0,0,3975,3976,7,15,0,0,3976,3977,7,22,0,0,3977,550,1,0,0,0,3978,3979,7,11,0,0,3979,3980,7,20,0,0,3980,3981,7,12,0,0,3981,3982,5,95,0,0,3982,3983,7,15,0,0,3983,3984,7,18,0,0,3984,3985,7,24,0,0,3985,3986,7,17,0,0,3986,3987,7,8,0,0,3987,3988,7,11,0,0,3988,552,1,0,0,0,3989,3990,7,14,0,0,3990,3991,7,5,0,0,3991,3992,7,9,0,0,3992,554,1,0,0,0,3993,3994,7,14,0,0,3994,3995,7,5,0,0,3995,3996,7,9,0,0,3996,3997,7,9,0,0,3997,3998,7,8,0,0,3998,3999,7,7,0,0,3999,556,1,0,0,0,4e3,4001,7,14,0,0,4001,4002,7,5,0,0,4002,4003,7,9,0,0,4003,4004,7,9,0,0,4004,4005,7,8,0,0,4005,4006,7,7,0,0,4006,4007,5,95,0,0,4007,4008,7,25,0,0,4008,4009,7,20,0,0,4009,4010,7,25,0,0,4010,558,1,0,0,0,4011,4012,7,14,0,0,4012,4013,7,5,0,0,4013,4014,7,9,0,0,4014,4015,7,9,0,0,4015,4016,7,8,0,0,4016,4017,7,7,0,0,4017,4018,5,95,0,0,4018,4019,7,14,0,0,4019,4020,7,3,0,0,4020,4021,7,24,0,0,4021,4022,7,25,0,0,4022,560,1,0,0,0,4023,4024,7,14,0,0,4024,4025,7,18,0,0,4025,4026,7,24,0,0,4026,562,1,0,0,0,4027,4028,7,7,0,0,4028,4029,7,3,0,0,4029,4030,7,11,0,0,4030,4031,5,95,0,0,4031,4032,7,25,0,0,4032,4033,7,20,0,0,4033,4034,7,25,0,0,4034,564,1,0,0,0,4035,4036,7,7,0,0,4036,4037,7,3,0,0,4037,4038,7,11,0,0,4038,4039,5,95,0,0,4039,4040,7,14,0,0,4040,4041,7,3,0,0,4041,4042,7,24,0,0,4042,4043,7,25,0,0,4043,566,1,0,0,0,4044,4045,7,7,0,0,4045,4046,7,3,0,0,4046,4047,7,11,0,0,4047,4048,7,6,0,0,4048,4049,7,3,0,0,4049,4050,7,15,0,0,4050,4051,7,4,0,0,4051,4052,7,8,0,0,4052,568,1,0,0,0,4053,4054,7,4,0,0,4054,4055,7,18,0,0,4055,4056,7,11,0,0,4056,4057,7,11,0,0,4057,4058,7,8,0,0,4058,4059,7,15,0,0,4059,4060,7,5,0,0,4060,4061,5,95,0,0,4061,4062,7,9,0,0,4062,4063,7,3,0,0,4063,4064,7,5,0,0,4064,4065,7,8,0,0,4065,570,1,0,0,0,4066,4067,7,4,0,0,4067,4068,7,18,0,0,4068,4069,7,11,0,0,4069,4070,7,11,0,0,4070,4071,7,8,0,0,4071,4072,7,15,0,0,4072,4073,7,5,0,0,4073,4074,5,95,0,0,4074,4075,7,5,0,0,4075,4076,7,6,0,0,4076,4077,7,24,0,0,4077,4078,7,8,0,0,4078,572,1,0,0,0,4079,4080,7,4,0,0,4080,4081,7,18,0,0,4081,4082,7,11,0,0,4082,4083,7,11,0,0,4083,4084,7,8,0,0,4084,4085,7,15,0,0,4085,4086,7,5,0,0,4086,4087,5,95,0,0,4087,4088,7,5,0,0,4088,4089,7,6,0,0,4089,4090,7,24,0,0,4090,4091,7,8,0,0,4091,4092,7,14,0,0,4092,4093,7,5,0,0,4093,4094,7,3,0,0,4094,4095,7,24,0,0,4095,4096,7,25,0,0,4096,574,1,0,0,0,4097,4098,7,10,0,0,4098,4099,7,20,0,0,4099,4100,7,4,0,0,4100,4101,7,3,0,0,4101,4102,7,10,0,0,4102,4103,7,5,0,0,4103,4104,7,6,0,0,4104,4105,7,24,0,0,4105,4106,7,8,0,0,4106,576,1,0,0,0,4107,4108,7,4,0,0,4108,4109,7,18,0,0,4109,4110,7,11,0,0,4110,4111,7,9,0,0,4111,4112,7,3,0,0,4112,4113,7,5,0,0,4113,4114,7,8,0,0,4114,578,1,0,0,0,4115,4116,7,4,0,0,4116,4117,7,18,0,0,4117,4118,7,11,0,0,4118,4119,7,5,0,0,4119,4120,7,6,0,0,4120,4121,7,24,0,0,4121,4122,7,8,0,0,4122,580,1,0,0,0,4123,4124,7,9,0,0,4124,4125,7,3,0,0,4125,4126,7,5,0,0,4126,4127,7,8,0,0,4127,4128,5,95,0,0,4128,4129,7,3,0,0,4129,4130,7,9,0,0,4130,4131,7,9,0,0,4131,582,1,0,0,0,4132,4133,7,9,0,0,4133,4134,7,3,0,0,4134,4135,7,5,0,0,4135,4136,7,8,0,0,4136,4137,5,95,0,0,4137,4138,7,14,0,0,4138,4139,7,18,0,0,4139,4140,7,17,0,0,4140,584,1,0,0,0,4141,4142,7,8,0,0,4142,4143,7,26,0,0,4143,4144,7,5,0,0,4144,4145,7,11,0,0,4145,4146,7,3,0,0,4146,4147,7,4,0,0,4147,4148,7,5,0,0,4148,586,1,0,0,0,4149,4150,7,10,0,0,4150,4151,7,20,0,0,4151,4152,7,4,0,0,4152,4153,7,3,0,0,4153,4154,7,10,0,0,4154,4155,7,5,0,0,4155,4156,7,6,0,0,4156,4157,7,24,0,0,4157,4158,7,8,0,0,4158,4159,7,14,0,0,4159,4160,7,5,0,0,4160,4161,7,3,0,0,4161,4162,7,24,0,0,4162,4163,7,25,0,0,4163,588,1,0,0,0,4164,4165,7,15,0,0,4165,4166,7,20,0,0,4166,4167,7,12,0,0,4167,590,1,0,0,0,4168,4169,7,25,0,0,4169,4170,7,20,0,0,4170,4171,7,14,0,0,4171,4172,7,6,0,0,4172,4173,7,5,0,0,4173,4174,7,6,0,0,4174,4175,7,20,0,0,4175,4176,7,15,0,0,4176,592,1,0,0,0,4177,4178,7,14,0,0,4178,4179,7,18,0,0,4179,4180,7,17,0,0,4180,4181,7,14,0,0,4181,4182,7,5,0,0,4182,4183,7,11,0,0,4183,594,1,0,0,0,4184,4185,7,14,0,0,4185,4186,7,18,0,0,4186,4187,7,17,0,0,4187,4188,7,14,0,0,4188,4189,7,5,0,0,4189,4190,7,11,0,0,4190,4191,7,6,0,0,4191,4192,7,15,0,0,4192,4193,7,23,0,0,4193,596,1,0,0,0,4194,4195,7,14,0,0,4195,4196,7,13,0,0,4196,4197,7,14,0,0,4197,4198,7,9,0,0,4198,4199,7,3,0,0,4199,4200,7,5,0,0,4200,4201,7,8,0,0,4201,598,1,0,0,0,4202,4203,7,5,0,0,4203,4204,7,11,0,0,4204,4205,7,6,0,0,4205,4206,7,24,0,0,4206,600,1,0,0,0,4207,4208,7,18,0,0,4208,4209,7,5,0,0,4209,4210,7,4,0,0,4210,4211,5,95,0,0,4211,4212,7,9,0,0,4212,4213,7,3,0,0,4213,4214,7,5,0,0,4214,4215,7,8,0,0,4215,602,1,0,0,0,4216,4217,7,18,0,0,4217,4218,7,5,0,0,4218,4219,7,4,0,0,4219,4220,5,95,0,0,4220,4221,7,5,0,0,4221,4222,7,6,0,0,4222,4223,7,24,0,0,4223,4224,7,8,0,0,4224,604,1,0,0,0,4225,4226,7,18,0,0,4226,4227,7,5,0,0,4227,4228,7,4,0,0,4228,4229,5,95,0,0,4229,4230,7,5,0,0,4230,4231,7,6,0,0,4231,4232,7,24,0,0,4232,4233,7,8,0,0,4233,4234,7,14,0,0,4234,4235,7,5,0,0,4235,4236,7,3,0,0,4236,4237,7,24,0,0,4237,4238,7,25,0,0,4238,606,1,0,0,0,4239,4240,7,3,0,0,4240,4241,7,4,0,0,4241,4242,7,4,0,0,4242,4243,7,20,0,0,4243,4244,7,18,0,0,4244,4245,7,15,0,0,4245,4246,7,5,0,0,4246,608,1,0,0,0,4247,4248,7,3,0,0,4248,4249,7,4,0,0,4249,4250,7,5,0,0,4250,4251,7,6,0,0,4251,4252,7,20,0,0,4252,4253,7,15,0,0,4253,610,1,0,0,0,4254,4255,7,3,0,0,4255,4256,7,19,0,0,4256,4257,7,5,0,0,4257,4258,7,8,0,0,4258,4259,7,11,0,0,4259,612,1,0,0,0,4260,4261,7,3,0,0,4261,4262,7,23,0,0,4262,4263,7,23,0,0,4263,4264,7,11,0,0,4264,4265,7,8,0,0,4265,4266,7,23,0,0,4266,4267,7,3,0,0,4267,4268,7,5,0,0,4268,4269,7,8,0,0,4269,614,1,0,0,0,4270,4271,7,3,0,0,4271,4272,7,10,0,0,4272,4273,7,23,0,0,4273,4274,7,20,0,0,4274,4275,7,11,0,0,4275,4276,7,6,0,0,4276,4277,7,5,0,0,4277,4278,7,21,0,0,4278,4279,7,24,0,0,4279,616,1,0,0,0,4280,4281,7,3,0,0,4281,4282,7,15,0,0,4282,4283,7,13,0,0,4283,618,1,0,0,0,4284,4285,7,3,0,0,4285,4286,7,14,0,0,4286,4287,7,14,0,0,4287,4288,7,6,0,0,4288,4289,7,23,0,0,4289,4290,7,15,0,0,4290,4291,5,95,0,0,4291,4292,7,23,0,0,4292,4293,7,5,0,0,4293,4294,7,6,0,0,4294,4295,7,9,0,0,4295,4296,7,14,0,0,4296,4297,5,95,0,0,4297,4298,7,5,0,0,4298,4299,7,20,0,0,4299,4300,5,95,0,0,4300,4301,7,3,0,0,4301,4302,7,15,0,0,4302,4303,7,20,0,0,4303,4304,7,15,0,0,4304,4305,7,13,0,0,4305,4306,7,24,0,0,4306,4307,7,20,0,0,4307,4308,7,18,0,0,4308,4309,7,14,0,0,4309,4310,5,95,0,0,4310,4311,7,5,0,0,4311,4312,7,11,0,0,4312,4313,7,3,0,0,4313,4314,7,15,0,0,4314,4315,7,14,0,0,4315,4316,7,3,0,0,4316,4317,7,4,0,0,4317,4318,7,5,0,0,4318,4319,7,6,0,0,4319,4320,7,20,0,0,4320,4321,7,15,0,0,4321,4322,7,14,0,0,4322,620,1,0,0,0,4323,4324,7,3,0,0,4324,4325,7,5,0,0,4325,622,1,0,0,0,4326,4327,7,3,0,0,4327,4328,7,18,0,0,4328,4329,7,5,0,0,4329,4330,7,21,0,0,4330,4331,7,20,0,0,4331,4332,7,11,0,0,4332,4333,7,14,0,0,4333,624,1,0,0,0,4334,4335,7,3,0,0,4335,4336,7,18,0,0,4336,4337,7,5,0,0,4337,4338,7,20,0,0,4338,4339,7,4,0,0,4339,4340,7,20,0,0,4340,4341,7,24,0,0,4341,4342,7,24,0,0,4342,4343,7,6,0,0,4343,4344,7,5,0,0,4344,626,1,0,0,0,4345,4346,7,3,0,0,4346,4347,7,18,0,0,4347,4348,7,5,0,0,4348,4349,7,20,0,0,4349,4350,7,8,0,0,4350,4351,7,26,0,0,4351,4352,7,5,0,0,4352,4353,7,8,0,0,4353,4354,7,15,0,0,4354,4355,7,9,0,0,4355,4356,5,95,0,0,4356,4357,7,14,0,0,4357,4358,7,6,0,0,4358,4359,7,16,0,0,4359,4360,7,8,0,0,4360,628,1,0,0,0,4361,4362,7,3,0,0,4362,4363,7,18,0,0,4363,4364,7,5,0,0,4364,4365,7,20,0,0,4365,4366,5,95,0,0,4366,4367,7,6,0,0,4367,4368,7,15,0,0,4368,4369,7,4,0,0,4369,4370,7,11,0,0,4370,4371,7,8,0,0,4371,4372,7,24,0,0,4372,4373,7,8,0,0,4373,4374,7,15,0,0,4374,4375,7,5,0,0,4375,630,1,0,0,0,4376,4377,7,3,0,0,4377,4378,7,7,0,0,4378,4379,7,23,0,0,4379,4380,5,95,0,0,4380,4381,7,11,0,0,4381,4382,7,20,0,0,4382,4383,7,12,0,0,4383,4384,5,95,0,0,4384,4385,7,10,0,0,4385,4386,7,8,0,0,4386,4387,7,15,0,0,4387,4388,7,23,0,0,4388,4389,7,5,0,0,4389,4390,7,21,0,0,4390,632,1,0,0,0,4391,4392,7,17,0,0,4392,4393,7,8,0,0,4393,4394,7,23,0,0,4394,4395,7,6,0,0,4395,4396,7,15,0,0,4396,634,1,0,0,0,4397,4398,7,17,0,0,4398,4399,7,6,0,0,4399,4400,7,15,0,0,4400,4401,7,10,0,0,4401,4402,7,20,0,0,4402,4403,7,23,0,0,4403,636,1,0,0,0,4404,4405,7,17,0,0,4405,4406,7,6,0,0,4406,4407,7,5,0,0,4407,638,1,0,0,0,4408,4409,7,17,0,0,4409,4410,7,10,0,0,4410,4411,7,20,0,0,4411,4412,7,4,0,0,4412,4413,7,22,0,0,4413,640,1,0,0,0,4414,4415,7,17,0,0,4415,4416,7,20,0,0,4416,4417,7,20,0,0,4417,4418,7,10,0,0,4418,642,1,0,0,0,4419,4420,7,17,0,0,4420,4421,7,20,0,0,4421,4422,7,20,0,0,4422,4423,7,10,0,0,4423,4424,7,8,0,0,4424,4425,7,3,0,0,4425,4426,7,15,0,0,4426,644,1,0,0,0,4427,4428,7,17,0,0,4428,4429,7,5,0,0,4429,4430,7,11,0,0,4430,4431,7,8,0,0,4431,4432,7,8,0,0,4432,646,1,0,0,0,4433,4434,7,4,0,0,4434,4435,7,3,0,0,4435,4436,7,4,0,0,4436,4437,7,21,0,0,4437,4438,7,8,0,0,4438,648,1,0,0,0,4439,4440,7,4,0,0,4440,4441,7,3,0,0,4441,4442,7,14,0,0,4442,4443,7,4,0,0,4443,4444,7,3,0,0,4444,4445,7,9,0,0,4445,4446,7,8,0,0,4446,4447,7,9,0,0,4447,650,1,0,0,0,4448,4449,7,4,0,0,4449,4450,7,21,0,0,4450,4451,7,3,0,0,4451,4452,7,6,0,0,4452,4453,7,15,0,0,4453,652,1,0,0,0,4454,4455,7,4,0,0,4455,4456,7,21,0,0,4456,4457,7,3,0,0,4457,4458,7,15,0,0,4458,4459,7,23,0,0,4459,4460,7,8,0,0,4460,4461,7,9,0,0,4461,654,1,0,0,0,4462,4463,7,4,0,0,4463,4464,7,21,0,0,4464,4465,7,3,0,0,4465,4466,7,15,0,0,4466,4467,7,15,0,0,4467,4468,7,8,0,0,4468,4469,7,10,0,0,4469,656,1,0,0,0,4470,4471,7,4,0,0,4471,4472,7,21,0,0,4472,4473,7,8,0,0,4473,4474,7,4,0,0,4474,4475,7,22,0,0,4475,4476,7,14,0,0,4476,4477,7,18,0,0,4477,4478,7,24,0,0,4478,658,1,0,0,0,4479,4480,7,4,0,0,4480,4481,7,21,0,0,4481,4482,7,3,0,0,4482,4483,7,10,0,0,4483,4484,7,10,0,0,4484,4485,7,8,0,0,4485,4486,7,15,0,0,4486,4487,7,23,0,0,4487,4488,7,8,0,0,4488,4489,5,95,0,0,4489,4490,7,11,0,0,4490,4491,7,8,0,0,4491,4492,7,14,0,0,4492,4493,7,25,0,0,4493,4494,7,20,0,0,4494,4495,7,15,0,0,4495,4496,7,14,0,0,4496,4497,7,8,0,0,4497,660,1,0,0,0,4498,4499,7,4,0,0,4499,4500,7,6,0,0,4500,4501,7,25,0,0,4501,4502,7,21,0,0,4502,4503,7,8,0,0,4503,4504,7,11,0,0,4504,662,1,0,0,0,4505,4506,7,4,0,0,4506,4507,7,10,0,0,4507,4508,7,3,0,0,4508,4509,7,14,0,0,4509,4510,7,14,0,0,4510,4511,5,95,0,0,4511,4512,7,20,0,0,4512,4513,7,11,0,0,4513,4514,7,6,0,0,4514,4515,7,23,0,0,4515,4516,7,6,0,0,4516,4517,7,15,0,0,4517,664,1,0,0,0,4518,4519,7,4,0,0,4519,4520,7,10,0,0,4520,4521,7,6,0,0,4521,4522,7,8,0,0,4522,4523,7,15,0,0,4523,4524,7,5,0,0,4524,666,1,0,0,0,4525,4526,7,4,0,0,4526,4527,7,10,0,0,4527,4528,7,20,0,0,4528,4529,7,14,0,0,4529,4530,7,8,0,0,4530,668,1,0,0,0,4531,4532,7,4,0,0,4532,4533,7,20,0,0,4533,4534,7,3,0,0,4534,4535,7,10,0,0,4535,4536,7,8,0,0,4536,4537,7,14,0,0,4537,4538,7,4,0,0,4538,4539,7,8,0,0,4539,670,1,0,0,0,4540,4541,7,4,0,0,4541,4542,7,20,0,0,4542,4543,7,9,0,0,4543,4544,7,8,0,0,4544,672,1,0,0,0,4545,4546,7,4,0,0,4546,4547,7,20,0,0,4547,4548,7,10,0,0,4548,4549,7,18,0,0,4549,4550,7,24,0,0,4550,4551,7,15,0,0,4551,4552,7,14,0,0,4552,674,1,0,0,0,4553,4554,7,4,0,0,4554,4555,7,20,0,0,4555,4556,7,10,0,0,4556,4557,7,18,0,0,4557,4558,7,24,0,0,4558,4559,7,15,0,0,4559,4560,5,95,0,0,4560,4561,7,19,0,0,4561,4562,7,20,0,0,4562,4563,7,11,0,0,4563,4564,7,24,0,0,4564,4565,7,3,0,0,4565,4566,7,5,0,0,4566,676,1,0,0,0,4567,4568,7,4,0,0,4568,4569,7,20,0,0,4569,4570,7,10,0,0,4570,4571,7,18,0,0,4571,4572,7,24,0,0,4572,4573,7,15,0,0,4573,4574,5,95,0,0,4574,4575,7,15,0,0,4575,4576,7,3,0,0,4576,4577,7,24,0,0,4577,4578,7,8,0,0,4578,678,1,0,0,0,4579,4580,7,4,0,0,4580,4581,7,20,0,0,4581,4582,7,24,0,0,4582,4583,7,24,0,0,4583,4584,7,8,0,0,4584,4585,7,15,0,0,4585,4586,7,5,0,0,4586,680,1,0,0,0,4587,4588,7,4,0,0,4588,4589,7,20,0,0,4589,4590,7,24,0,0,4590,4591,7,24,0,0,4591,4592,7,6,0,0,4592,4593,7,5,0,0,4593,682,1,0,0,0,4594,4595,7,4,0,0,4595,4596,7,20,0,0,4596,4597,7,24,0,0,4597,4598,7,25,0,0,4598,4599,7,3,0,0,4599,4600,7,4,0,0,4600,4601,7,5,0,0,4601,684,1,0,0,0,4602,4603,7,4,0,0,4603,4604,7,20,0,0,4604,4605,7,24,0,0,4605,4606,7,25,0,0,4606,4607,7,10,0,0,4607,4608,7,8,0,0,4608,4609,7,5,0,0,4609,4610,7,6,0,0,4610,4611,7,20,0,0,4611,4612,7,15,0,0,4612,686,1,0,0,0,4613,4614,7,4,0,0,4614,4615,7,20,0,0,4615,4616,7,24,0,0,4616,4617,7,25,0,0,4617,4618,7,20,0,0,4618,4619,7,15,0,0,4619,4620,7,8,0,0,4620,4621,7,15,0,0,4621,4622,7,5,0,0,4622,688,1,0,0,0,4623,4624,7,4,0,0,4624,4625,7,20,0,0,4625,4626,7,24,0,0,4626,4627,7,25,0,0,4627,4628,7,11,0,0,4628,4629,7,8,0,0,4629,4630,7,14,0,0,4630,4631,7,14,0,0,4631,4632,7,8,0,0,4632,4633,7,9,0,0,4633,690,1,0,0,0,4634,4635,7,4,0,0,4635,4636,7,20,0,0,4636,4637,7,24,0,0,4637,4638,7,25,0,0,4638,4639,7,11,0,0,4639,4640,7,8,0,0,4640,4641,7,14,0,0,4641,4642,7,14,0,0,4642,4643,7,6,0,0,4643,4644,7,20,0,0,4644,4645,7,15,0,0,4645,692,1,0,0,0,4646,4647,7,4,0,0,4647,4648,7,20,0,0,4648,4649,7,15,0,0,4649,4650,7,4,0,0,4650,4651,7,18,0,0,4651,4652,7,11,0,0,4652,4653,7,11,0,0,4653,4654,7,8,0,0,4654,4655,7,15,0,0,4655,4656,7,5,0,0,4656,694,1,0,0,0,4657,4658,7,4,0,0,4658,4659,7,20,0,0,4659,4660,7,15,0,0,4660,4661,7,15,0,0,4661,4662,7,8,0,0,4662,4663,7,4,0,0,4663,4664,7,5,0,0,4664,696,1,0,0,0,4665,4666,7,4,0,0,4666,4667,7,20,0,0,4667,4668,7,15,0,0,4668,4669,7,15,0,0,4669,4670,7,8,0,0,4670,4671,7,4,0,0,4671,4672,7,5,0,0,4672,4673,7,6,0,0,4673,4674,7,20,0,0,4674,4675,7,15,0,0,4675,698,1,0,0,0,4676,4677,7,4,0,0,4677,4678,7,20,0,0,4678,4679,7,15,0,0,4679,4680,7,14,0,0,4680,4681,7,6,0,0,4681,4682,7,14,0,0,4682,4683,7,5,0,0,4683,4684,7,8,0,0,4684,4685,7,15,0,0,4685,4686,7,5,0,0,4686,700,1,0,0,0,4687,4688,7,4,0,0,4688,4689,7,20,0,0,4689,4690,7,15,0,0,4690,4691,7,14,0,0,4691,4692,7,5,0,0,4692,4693,7,11,0,0,4693,4694,7,3,0,0,4694,4695,7,6,0,0,4695,4696,7,15,0,0,4696,4697,7,5,0,0,4697,4698,5,95,0,0,4698,4699,7,4,0,0,4699,4700,7,3,0,0,4700,4701,7,5,0,0,4701,4702,7,3,0,0,4702,4703,7,10,0,0,4703,4704,7,20,0,0,4704,4705,7,23,0,0,4705,702,1,0,0,0,4706,4707,7,4,0,0,4707,4708,7,20,0,0,4708,4709,7,15,0,0,4709,4710,7,14,0,0,4710,4711,7,5,0,0,4711,4712,7,11,0,0,4712,4713,7,3,0,0,4713,4714,7,6,0,0,4714,4715,7,15,0,0,4715,4716,7,5,0,0,4716,4717,5,95,0,0,4717,4718,7,14,0,0,4718,4719,7,4,0,0,4719,4720,7,21,0,0,4720,4721,7,8,0,0,4721,4722,7,24,0,0,4722,4723,7,3,0,0,4723,704,1,0,0,0,4724,4725,7,4,0,0,4725,4726,7,20,0,0,4726,4727,7,15,0,0,4727,4728,7,14,0,0,4728,4729,7,5,0,0,4729,4730,7,11,0,0,4730,4731,7,3,0,0,4731,4732,7,6,0,0,4732,4733,7,15,0,0,4733,4734,7,5,0,0,4734,4735,5,95,0,0,4735,4736,7,15,0,0,4736,4737,7,3,0,0,4737,4738,7,24,0,0,4738,4739,7,8,0,0,4739,706,1,0,0,0,4740,4741,7,4,0,0,4741,4742,7,20,0,0,4742,4743,7,15,0,0,4743,4744,7,5,0,0,4744,4745,7,3,0,0,4745,4746,7,6,0,0,4746,4747,7,15,0,0,4747,4748,7,14,0,0,4748,708,1,0,0,0,4749,4750,7,4,0,0,4750,4751,7,20,0,0,4751,4752,7,15,0,0,4752,4753,7,5,0,0,4753,4754,7,8,0,0,4754,4755,7,26,0,0,4755,4756,7,5,0,0,4756,710,1,0,0,0,4757,4758,7,4,0,0,4758,4759,7,20,0,0,4759,4760,7,15,0,0,4760,4761,7,5,0,0,4761,4762,7,11,0,0,4762,4763,7,6,0,0,4763,4764,7,17,0,0,4764,4765,7,18,0,0,4765,4766,7,5,0,0,4766,4767,7,20,0,0,4767,4768,7,11,0,0,4768,4769,7,14,0,0,4769,712,1,0,0,0,4770,4771,7,4,0,0,4771,4772,7,20,0,0,4772,4773,7,25,0,0,4773,4774,7,13,0,0,4774,714,1,0,0,0,4775,4776,7,4,0,0,4776,4777,7,25,0,0,4777,4778,7,18,0,0,4778,716,1,0,0,0,4779,4780,7,4,0,0,4780,4781,7,18,0,0,4781,4782,7,11,0,0,4782,4783,7,14,0,0,4783,4784,7,20,0,0,4784,4785,7,11,0,0,4785,4786,5,95,0,0,4786,4787,7,15,0,0,4787,4788,7,3,0,0,4788,4789,7,24,0,0,4789,4790,7,8,0,0,4790,718,1,0,0,0,4791,4792,7,9,0,0,4792,4793,7,3,0,0,4793,4794,7,5,0,0,4794,4795,7,3,0,0,4795,720,1,0,0,0,4796,4797,7,9,0,0,4797,4798,7,3,0,0,4798,4799,7,5,0,0,4799,4800,7,3,0,0,4800,4801,7,19,0,0,4801,4802,7,6,0,0,4802,4803,7,10,0,0,4803,4804,7,8,0,0,4804,722,1,0,0,0,4805,4806,7,9,0,0,4806,4807,7,8,0,0,4807,4808,7,3,0,0,4808,4809,7,10,0,0,4809,4810,7,10,0,0,4810,4811,7,20,0,0,4811,4812,7,4,0,0,4812,4813,7,3,0,0,4813,4814,7,5,0,0,4814,4815,7,8,0,0,4815,724,1,0,0,0,4816,4817,7,9,0,0,4817,4818,7,8,0,0,4818,4819,7,19,0,0,4819,4820,7,3,0,0,4820,4821,7,18,0,0,4821,4822,7,10,0,0,4822,4823,7,5,0,0,4823,4824,5,95,0,0,4824,4825,7,3,0,0,4825,4826,7,18,0,0,4826,4827,7,5,0,0,4827,4828,7,21,0,0,4828,726,1,0,0,0,4829,4830,7,9,0,0,4830,4831,7,8,0,0,4831,4832,7,19,0,0,4832,4833,7,6,0,0,4833,4834,7,15,0,0,4834,4835,7,8,0,0,4835,4836,7,11,0,0,4836,728,1,0,0,0,4837,4838,7,9,0,0,4838,4839,7,8,0,0,4839,4840,7,10,0,0,4840,4841,7,3,0,0,4841,4842,7,13,0,0,4842,4843,5,95,0,0,4843,4844,7,22,0,0,4844,4845,7,8,0,0,4845,4846,7,13,0,0,4846,4847,5,95,0,0,4847,4848,7,12,0,0,4848,4849,7,11,0,0,4849,4850,7,6,0,0,4850,4851,7,5,0,0,4851,4852,7,8,0,0,4852,730,1,0,0,0,4853,4854,7,9,0,0,4854,4855,7,8,0,0,4855,4856,7,14,0,0,4856,4857,5,95,0,0,4857,4858,7,22,0,0,4858,4859,7,8,0,0,4859,4860,7,13,0,0,4860,4861,5,95,0,0,4861,4862,7,19,0,0,4862,4863,7,6,0,0,4863,4864,7,10,0,0,4864,4865,7,8,0,0,4865,732,1,0,0,0,4866,4867,7,9,0,0,4867,4868,7,6,0,0,4868,4869,7,11,0,0,4869,4870,7,8,0,0,4870,4871,7,4,0,0,4871,4872,7,5,0,0,4872,4873,7,20,0,0,4873,4874,7,11,0,0,4874,4875,7,13,0,0,4875,734,1,0,0,0,4876,4877,7,9,0,0,4877,4878,7,6,0,0,4878,4879,7,14,0,0,4879,4880,7,3,0,0,4880,4881,7,17,0,0,4881,4882,7,10,0,0,4882,4883,7,8,0,0,4883,736,1,0,0,0,4884,4885,7,9,0,0,4885,4886,7,6,0,0,4886,4887,7,14,0,0,4887,4888,7,4,0,0,4888,4889,7,3,0,0,4889,4890,7,11,0,0,4890,4891,7,9,0,0,4891,738,1,0,0,0,4892,4893,7,9,0,0,4893,4894,7,6,0,0,4894,4895,7,14,0,0,4895,4896,7,22,0,0,4896,740,1,0,0,0,4897,4898,7,9,0,0,4898,4899,7,20,0,0,4899,742,1,0,0,0,4900,4901,7,9,0,0,4901,4902,7,18,0,0,4902,4903,7,24,0,0,4903,4904,7,25,0,0,4904,4905,7,19,0,0,4905,4906,7,6,0,0,4906,4907,7,10,0,0,4907,4908,7,8,0,0,4908,744,1,0,0,0,4909,4910,7,9,0,0,4910,4911,7,18,0,0,4911,4912,7,25,0,0,4912,4913,7,10,0,0,4913,4914,7,6,0,0,4914,4915,7,4,0,0,4915,4916,7,3,0,0,4916,4917,7,5,0,0,4917,4918,7,8,0,0,4918,746,1,0,0,0,4919,4920,7,9,0,0,4920,4921,7,13,0,0,4921,4922,7,15,0,0,4922,4923,7,3,0,0,4923,4924,7,24,0,0,4924,4925,7,6,0,0,4925,4926,7,4,0,0,4926,748,1,0,0,0,4927,4928,7,8,0,0,4928,4929,7,15,0,0,4929,4930,7,3,0,0,4930,4931,7,17,0,0,4931,4932,7,10,0,0,4932,4933,7,8,0,0,4933,750,1,0,0,0,4934,4935,7,8,0,0,4935,4936,7,15,0,0,4936,4937,7,4,0,0,4937,4938,7,11,0,0,4938,4939,7,13,0,0,4939,4940,7,25,0,0,4940,4941,7,5,0,0,4941,4942,7,6,0,0,4942,4943,7,20,0,0,4943,4944,7,15,0,0,4944,752,1,0,0,0,4945,4946,7,8,0,0,4946,4947,7,15,0,0,4947,4948,7,4,0,0,4948,4949,7,11,0,0,4949,4950,7,13,0,0,4950,4951,7,25,0,0,4951,4952,7,5,0,0,4952,4953,7,6,0,0,4953,4954,7,20,0,0,4954,4955,7,15,0,0,4955,4956,5,95,0,0,4956,4957,7,22,0,0,4957,4958,7,8,0,0,4958,4959,7,13,0,0,4959,4960,5,95,0,0,4960,4961,7,6,0,0,4961,4962,7,9,0,0,4962,754,1,0,0,0,4963,4964,7,8,0,0,4964,4965,7,15,0,0,4965,4966,7,9,0,0,4966,756,1,0,0,0,4967,4968,7,8,0,0,4968,4969,7,15,0,0,4969,4970,7,9,0,0,4970,4971,7,14,0,0,4971,758,1,0,0,0,4972,4973,7,8,0,0,4973,4974,7,15,0,0,4974,4975,7,23,0,0,4975,4976,7,6,0,0,4976,4977,7,15,0,0,4977,4978,7,8,0,0,4978,760,1,0,0,0,4979,4980,7,8,0,0,4980,4981,7,15,0,0,4981,4982,7,23,0,0,4982,4983,7,6,0,0,4983,4984,7,15,0,0,4984,4985,7,8,0,0,4985,4986,7,14,0,0,4986,762,1,0,0,0,4987,4988,7,8,0,0,4988,4989,7,11,0,0,4989,4990,7,11,0,0,4990,4991,7,20,0,0,4991,4992,7,11,0,0,4992,764,1,0,0,0,4993,4994,7,8,0,0,4994,4995,7,11,0,0,4995,4996,7,11,0,0,4996,4997,7,20,0,0,4997,4998,7,11,0,0,4998,4999,7,14,0,0,4999,766,1,0,0,0,5e3,5001,7,8,0,0,5001,5002,7,14,0,0,5002,5003,7,4,0,0,5003,5004,7,3,0,0,5004,5005,7,25,0,0,5005,5006,7,8,0,0,5006,768,1,0,0,0,5007,5008,7,8,0,0,5008,5009,7,7,0,0,5009,5010,7,8,0,0,5010,5011,7,15,0,0,5011,5012,7,5,0,0,5012,770,1,0,0,0,5013,5014,7,8,0,0,5014,5015,7,7,0,0,5015,5016,7,8,0,0,5016,5017,7,15,0,0,5017,5018,7,5,0,0,5018,5019,7,14,0,0,5019,772,1,0,0,0,5020,5021,7,8,0,0,5021,5022,7,7,0,0,5022,5023,7,8,0,0,5023,5024,7,11,0,0,5024,5025,7,13,0,0,5025,774,1,0,0,0,5026,5027,7,8,0,0,5027,5028,7,26,0,0,5028,5029,7,4,0,0,5029,5030,7,21,0,0,5030,5031,7,3,0,0,5031,5032,7,15,0,0,5032,5033,7,23,0,0,5033,5034,7,8,0,0,5034,776,1,0,0,0,5035,5036,7,8,0,0,5036,5037,7,26,0,0,5037,5038,7,4,0,0,5038,5039,7,10,0,0,5039,5040,7,18,0,0,5040,5041,7,14,0,0,5041,5042,7,6,0,0,5042,5043,7,7,0,0,5043,5044,7,8,0,0,5044,778,1,0,0,0,5045,5046,7,8,0,0,5046,5047,7,26,0,0,5047,5048,7,25,0,0,5048,5049,7,6,0,0,5049,5050,7,11,0,0,5050,5051,7,8,0,0,5051,780,1,0,0,0,5052,5053,7,8,0,0,5053,5054,7,26,0,0,5054,5055,7,25,0,0,5055,5056,7,20,0,0,5056,5057,7,11,0,0,5057,5058,7,5,0,0,5058,782,1,0,0,0,5059,5060,7,8,0,0,5060,5061,7,26,0,0,5061,5062,7,5,0,0,5062,5063,7,8,0,0,5063,5064,7,15,0,0,5064,5065,7,9,0,0,5065,5066,7,8,0,0,5066,5067,7,9,0,0,5067,784,1,0,0,0,5068,5069,7,8,0,0,5069,5070,7,26,0,0,5070,5071,7,5,0,0,5071,5072,7,8,0,0,5072,5073,7,15,0,0,5073,5074,7,5,0,0,5074,5075,5,95,0,0,5075,5076,7,14,0,0,5076,5077,7,6,0,0,5077,5078,7,16,0,0,5078,5079,7,8,0,0,5079,786,1,0,0,0,5080,5081,7,19,0,0,5081,5082,7,3,0,0,5082,5083,7,4,0,0,5083,5084,7,5,0,0,5084,5085,7,20,0,0,5085,5086,7,11,0,0,5086,788,1,0,0,0,5087,5088,7,19,0,0,5088,5089,7,3,0,0,5089,5090,7,6,0,0,5090,5091,7,10,0,0,5091,5092,7,8,0,0,5092,5093,7,9,0,0,5093,5094,5,95,0,0,5094,5095,7,10,0,0,5095,5096,7,20,0,0,5096,5097,7,23,0,0,5097,5098,7,6,0,0,5098,5099,7,15,0,0,5099,5100,5,95,0,0,5100,5101,7,3,0,0,5101,5102,7,5,0,0,5102,5103,7,5,0,0,5103,5104,7,8,0,0,5104,5105,7,24,0,0,5105,5106,7,25,0,0,5106,5107,7,5,0,0,5107,5108,7,14,0,0,5108,790,1,0,0,0,5109,5110,7,19,0,0,5110,5111,7,3,0,0,5111,5112,7,14,0,0,5112,5113,7,5,0,0,5113,792,1,0,0,0,5114,5115,7,19,0,0,5115,5116,7,3,0,0,5116,5117,7,18,0,0,5117,5118,7,10,0,0,5118,5119,7,5,0,0,5119,5120,7,14,0,0,5120,794,1,0,0,0,5121,5122,7,19,0,0,5122,5123,7,6,0,0,5123,5124,7,8,0,0,5124,5125,7,10,0,0,5125,5126,7,9,0,0,5126,5127,7,14,0,0,5127,796,1,0,0,0,5128,5129,7,19,0,0,5129,5130,7,6,0,0,5130,5131,7,10,0,0,5131,5132,7,8,0,0,5132,5133,5,95,0,0,5133,5134,7,17,0,0,5134,5135,7,10,0,0,5135,5136,7,20,0,0,5136,5137,7,4,0,0,5137,5138,7,22,0,0,5138,5139,5,95,0,0,5139,5140,7,14,0,0,5140,5141,7,6,0,0,5141,5142,7,16,0,0,5142,5143,7,8,0,0,5143,798,1,0,0,0,5144,5145,7,19,0,0,5145,5146,7,6,0,0,5146,5147,7,10,0,0,5147,5148,7,5,0,0,5148,5149,7,8,0,0,5149,5150,7,11,0,0,5150,800,1,0,0,0,5151,5152,7,19,0,0,5152,5153,7,6,0,0,5153,5154,7,15,0,0,5154,5155,7,6,0,0,5155,5156,7,14,0,0,5156,5157,7,21,0,0,5157,802,1,0,0,0,5158,5159,7,19,0,0,5159,5160,7,6,0,0,5160,5161,7,11,0,0,5161,5162,7,14,0,0,5162,5163,7,5,0,0,5163,804,1,0,0,0,5164,5165,7,19,0,0,5165,5166,7,6,0,0,5166,5167,7,26,0,0,5167,5168,7,8,0,0,5168,5169,7,9,0,0,5169,806,1,0,0,0,5170,5171,7,19,0,0,5171,5172,7,10,0,0,5172,5173,7,18,0,0,5173,5174,7,14,0,0,5174,5175,7,21,0,0,5175,808,1,0,0,0,5176,5177,7,19,0,0,5177,5178,7,20,0,0,5178,5179,7,10,0,0,5179,5180,7,10,0,0,5180,5181,7,20,0,0,5181,5182,7,12,0,0,5182,5183,7,6,0,0,5183,5184,7,15,0,0,5184,5185,7,23,0,0,5185,810,1,0,0,0,5186,5187,7,19,0,0,5187,5188,7,20,0,0,5188,5189,7,10,0,0,5189,5190,7,10,0,0,5190,5191,7,20,0,0,5191,5192,7,12,0,0,5192,5193,7,14,0,0,5193,812,1,0,0,0,5194,5195,7,19,0,0,5195,5196,7,20,0,0,5196,5197,7,18,0,0,5197,5198,7,15,0,0,5198,5199,7,9,0,0,5199,814,1,0,0,0,5200,5201,7,19,0,0,5201,5202,7,18,0,0,5202,5203,7,10,0,0,5203,5204,7,10,0,0,5204,816,1,0,0,0,5205,5206,7,19,0,0,5206,5207,7,18,0,0,5207,5208,7,15,0,0,5208,5209,7,4,0,0,5209,5210,7,5,0,0,5210,5211,7,6,0,0,5211,5212,7,20,0,0,5212,5213,7,15,0,0,5213,818,1,0,0,0,5214,5215,7,23,0,0,5215,5216,7,8,0,0,5216,5217,7,15,0,0,5217,5218,7,8,0,0,5218,5219,7,11,0,0,5219,5220,7,3,0,0,5220,5221,7,10,0,0,5221,820,1,0,0,0,5222,5223,7,23,0,0,5223,5224,7,8,0,0,5224,5225,7,5,0,0,5225,5226,5,95,0,0,5226,5227,7,24,0,0,5227,5228,7,3,0,0,5228,5229,7,14,0,0,5229,5230,7,5,0,0,5230,5231,7,8,0,0,5231,5232,7,11,0,0,5232,5233,5,95,0,0,5233,5234,7,25,0,0,5234,5235,7,18,0,0,5235,5236,7,17,0,0,5236,5237,7,10,0,0,5237,5238,7,6,0,0,5238,5239,7,4,0,0,5239,5240,5,95,0,0,5240,5241,7,22,0,0,5241,5242,7,8,0,0,5242,5243,7,13,0,0,5243,822,1,0,0,0,5244,5245,7,23,0,0,5245,5246,7,8,0,0,5246,5247,7,5,0,0,5247,5248,5,95,0,0,5248,5249,7,14,0,0,5249,5250,7,20,0,0,5250,5251,7,18,0,0,5251,5252,7,11,0,0,5252,5253,7,4,0,0,5253,5254,7,8,0,0,5254,5255,5,95,0,0,5255,5256,7,25,0,0,5256,5257,7,18,0,0,5257,5258,7,17,0,0,5258,5259,7,10,0,0,5259,5260,7,6,0,0,5260,5261,7,4,0,0,5261,5262,5,95,0,0,5262,5263,7,22,0,0,5263,5264,7,8,0,0,5264,5265,7,13,0,0,5265,824,1,0,0,0,5266,5267,7,23,0,0,5267,5268,7,10,0,0,5268,5269,7,20,0,0,5269,5270,7,17,0,0,5270,5271,7,3,0,0,5271,5272,7,10,0,0,5272,826,1,0,0,0,5273,5274,7,23,0,0,5274,5275,7,11,0,0,5275,5276,7,3,0,0,5276,5277,7,15,0,0,5277,5278,7,5,0,0,5278,5279,7,14,0,0,5279,828,1,0,0,0,5280,5281,7,23,0,0,5281,5282,7,11,0,0,5282,5283,7,20,0,0,5283,5284,7,18,0,0,5284,5285,7,25,0,0,5285,5286,5,95,0,0,5286,5287,7,11,0,0,5287,5288,7,8,0,0,5288,5289,7,25,0,0,5289,5290,7,10,0,0,5290,5291,7,6,0,0,5291,5292,7,4,0,0,5292,5293,7,3,0,0,5293,5294,7,5,0,0,5294,5295,7,6,0,0,5295,5296,7,20,0,0,5296,5297,7,15,0,0,5297,830,1,0,0,0,5298,5299,7,23,0,0,5299,5300,7,5,0,0,5300,5301,7,6,0,0,5301,5302,7,9,0,0,5302,5303,5,95,0,0,5303,5304,7,20,0,0,5304,5305,7,15,0,0,5305,5306,7,10,0,0,5306,5307,7,13,0,0,5307,832,1,0,0,0,5308,5309,7,21,0,0,5309,5310,7,3,0,0,5310,5311,7,15,0,0,5311,5312,7,9,0,0,5312,5313,7,10,0,0,5313,5314,7,8,0,0,5314,5315,7,11,0,0,5315,834,1,0,0,0,5316,5317,7,21,0,0,5317,5318,7,3,0,0,5318,5319,7,14,0,0,5319,5320,7,21,0,0,5320,836,1,0,0,0,5321,5322,7,21,0,0,5322,5323,7,8,0,0,5323,5324,7,10,0,0,5324,5325,7,25,0,0,5325,838,1,0,0,0,5326,5327,7,21,0,0,5327,5328,7,6,0,0,5328,5329,7,14,0,0,5329,5330,7,5,0,0,5330,5331,7,20,0,0,5331,5332,7,11,0,0,5332,5333,7,13,0,0,5333,840,1,0,0,0,5334,5335,7,21,0,0,5335,5336,7,20,0,0,5336,5337,7,14,0,0,5337,5338,7,5,0,0,5338,842,1,0,0,0,5339,5340,7,21,0,0,5340,5341,7,20,0,0,5341,5342,7,14,0,0,5342,5343,7,5,0,0,5343,5344,7,14,0,0,5344,844,1,0,0,0,5345,5346,7,6,0,0,5346,5347,7,9,0,0,5347,5348,7,8,0,0,5348,5349,7,15,0,0,5349,5350,7,5,0,0,5350,5351,7,6,0,0,5351,5352,7,19,0,0,5352,5353,7,6,0,0,5353,5354,7,8,0,0,5354,5355,7,9,0,0,5355,846,1,0,0,0,5356,5357,7,6,0,0,5357,5358,7,23,0,0,5358,5359,7,15,0,0,5359,5360,7,20,0,0,5360,5361,7,11,0,0,5361,5362,7,8,0,0,5362,5363,5,95,0,0,5363,5364,7,14,0,0,5364,5365,7,8,0,0,5365,5366,7,11,0,0,5366,5367,7,7,0,0,5367,5368,7,8,0,0,5368,5369,7,11,0,0,5369,5370,5,95,0,0,5370,5371,7,6,0,0,5371,5372,7,9,0,0,5372,5373,7,14,0,0,5373,848,1,0,0,0,5374,5375,7,6,0,0,5375,5376,7,24,0,0,5376,5377,7,25,0,0,5377,5378,7,20,0,0,5378,5379,7,11,0,0,5379,5380,7,5,0,0,5380,850,1,0,0,0,5381,5382,7,6,0,0,5382,5383,7,15,0,0,5383,5384,7,9,0,0,5384,5385,7,8,0,0,5385,5386,7,26,0,0,5386,5387,7,8,0,0,5387,5388,7,14,0,0,5388,852,1,0,0,0,5389,5390,7,6,0,0,5390,5391,7,15,0,0,5391,5392,7,6,0,0,5392,5393,7,5,0,0,5393,5394,7,6,0,0,5394,5395,7,3,0,0,5395,5396,7,10,0,0,5396,854,1,0,0,0,5397,5398,7,6,0,0,5398,5399,7,15,0,0,5399,5400,7,6,0,0,5400,5401,7,5,0,0,5401,5402,7,6,0,0,5402,5403,7,3,0,0,5403,5404,7,10,0,0,5404,5405,5,95,0,0,5405,5406,7,14,0,0,5406,5407,7,6,0,0,5407,5408,7,16,0,0,5408,5409,7,8,0,0,5409,856,1,0,0,0,5410,5411,7,6,0,0,5411,5412,7,15,0,0,5412,5413,7,6,0,0,5413,5414,7,5,0,0,5414,5415,7,6,0,0,5415,5416,7,3,0,0,5416,5417,7,5,0,0,5417,5418,7,8,0,0,5418,858,1,0,0,0,5419,5420,7,6,0,0,5420,5421,7,15,0,0,5421,5422,7,25,0,0,5422,5423,7,10,0,0,5423,5424,7,3,0,0,5424,5425,7,4,0,0,5425,5426,7,8,0,0,5426,860,1,0,0,0,5427,5428,7,6,0,0,5428,5429,7,15,0,0,5429,5430,7,14,0,0,5430,5431,7,8,0,0,5431,5432,7,11,0,0,5432,5433,7,5,0,0,5433,5434,5,95,0,0,5434,5435,7,24,0,0,5435,5436,7,8,0,0,5436,5437,7,5,0,0,5437,5438,7,21,0,0,5438,5439,7,20,0,0,5439,5440,7,9,0,0,5440,862,1,0,0,0,5441,5442,7,6,0,0,5442,5443,7,15,0,0,5443,5444,7,14,0,0,5444,5445,7,5,0,0,5445,5446,7,3,0,0,5446,5447,7,10,0,0,5447,5448,7,10,0,0,5448,864,1,0,0,0,5449,5450,7,6,0,0,5450,5451,7,15,0,0,5451,5452,7,14,0,0,5452,5453,7,5,0,0,5453,5454,7,3,0,0,5454,5455,7,15,0,0,5455,5456,7,4,0,0,5456,5457,7,8,0,0,5457,866,1,0,0,0,5458,5459,7,6,0,0,5459,5460,7,15,0,0,5460,5461,7,14,0,0,5461,5462,7,5,0,0,5462,5463,7,3,0,0,5463,5464,7,15,0,0,5464,5465,7,5,0,0,5465,868,1,0,0,0,5466,5467,7,6,0,0,5467,5468,7,15,0,0,5468,5469,7,7,0,0,5469,5470,7,6,0,0,5470,5471,7,14,0,0,5471,5472,7,6,0,0,5472,5473,7,17,0,0,5473,5474,7,10,0,0,5474,5475,7,8,0,0,5475,870,1,0,0,0,5476,5477,7,6,0,0,5477,5478,7,15,0,0,5478,5479,7,7,0,0,5479,5480,7,20,0,0,5480,5481,7,22,0,0,5481,5482,7,8,0,0,5482,5483,7,11,0,0,5483,872,1,0,0,0,5484,5485,7,6,0,0,5485,5486,7,20,0,0,5486,874,1,0,0,0,5487,5488,7,6,0,0,5488,5489,7,20,0,0,5489,5490,5,95,0,0,5490,5491,7,5,0,0,5491,5492,7,21,0,0,5492,5493,7,11,0,0,5493,5494,7,8,0,0,5494,5495,7,3,0,0,5495,5496,7,9,0,0,5496,876,1,0,0,0,5497,5498,7,6,0,0,5498,5499,7,25,0,0,5499,5500,7,4,0,0,5500,878,1,0,0,0,5501,5502,7,6,0,0,5502,5503,7,14,0,0,5503,5504,7,20,0,0,5504,5505,7,10,0,0,5505,5506,7,3,0,0,5506,5507,7,5,0,0,5507,5508,7,6,0,0,5508,5509,7,20,0,0,5509,5510,7,15,0,0,5510,880,1,0,0,0,5511,5512,7,6,0,0,5512,5513,7,14,0,0,5513,5514,7,14,0,0,5514,5515,7,18,0,0,5515,5516,7,8,0,0,5516,5517,7,11,0,0,5517,882,1,0,0,0,5518,5519,7,27,0,0,5519,5520,7,14,0,0,5520,5521,7,20,0,0,5521,5522,7,15,0,0,5522,884,1,0,0,0,5523,5524,7,22,0,0,5524,5525,7,8,0,0,5525,5526,7,13,0,0,5526,5527,5,95,0,0,5527,5528,7,17,0,0,5528,5529,7,10,0,0,5529,5530,7,20,0,0,5530,5531,7,4,0,0,5531,5532,7,22,0,0,5532,5533,5,95,0,0,5533,5534,7,14,0,0,5534,5535,7,6,0,0,5535,5536,7,16,0,0,5536,5537,7,8,0,0,5537,886,1,0,0,0,5538,5539,7,10,0,0,5539,5540,7,3,0,0,5540,5541,7,15,0,0,5541,5542,7,23,0,0,5542,5543,7,18,0,0,5543,5544,7,3,0,0,5544,5545,7,23,0,0,5545,5546,7,8,0,0,5546,888,1,0,0,0,5547,5548,7,10,0,0,5548,5549,7,3,0,0,5549,5550,7,14,0,0,5550,5551,7,5,0,0,5551,890,1,0,0,0,5552,5553,7,10,0,0,5553,5554,7,8,0,0,5554,5555,7,3,0,0,5555,5556,7,7,0,0,5556,5557,7,8,0,0,5557,5558,7,14,0,0,5558,892,1,0,0,0,5559,5560,7,10,0,0,5560,5561,7,8,0,0,5561,5562,7,14,0,0,5562,5563,7,14,0,0,5563,894,1,0,0,0,5564,5565,7,10,0,0,5565,5566,7,8,0,0,5566,5567,7,7,0,0,5567,5568,7,8,0,0,5568,5569,7,10,0,0,5569,896,1,0,0,0,5570,5571,7,10,0,0,5571,5572,7,6,0,0,5572,5573,7,14,0,0,5573,5574,7,5,0,0,5574,898,1,0,0,0,5575,5576,7,10,0,0,5576,5577,7,20,0,0,5577,5578,7,4,0,0,5578,5579,7,3,0,0,5579,5580,7,10,0,0,5580,900,1,0,0,0,5581,5582,7,10,0,0,5582,5583,7,20,0,0,5583,5584,7,23,0,0,5584,5585,7,19,0,0,5585,5586,7,6,0,0,5586,5587,7,10,0,0,5587,5588,7,8,0,0,5588,902,1,0,0,0,5589,5590,7,10,0,0,5590,5591,7,20,0,0,5591,5592,7,23,0,0,5592,5593,7,14,0,0,5593,904,1,0,0,0,5594,5595,7,24,0,0,5595,5596,7,3,0,0,5596,5597,7,14,0,0,5597,5598,7,5,0,0,5598,5599,7,8,0,0,5599,5600,7,11,0,0,5600,906,1,0,0,0,5601,5602,7,24,0,0,5602,5603,7,3,0,0,5603,5604,7,14,0,0,5604,5605,7,5,0,0,5605,5606,7,8,0,0,5606,5607,7,11,0,0,5607,5608,5,95,0,0,5608,5609,7,3,0,0,5609,5610,7,18,0,0,5610,5611,7,5,0,0,5611,5612,7,20,0,0,5612,5613,5,95,0,0,5613,5614,7,25,0,0,5614,5615,7,20,0,0,5615,5616,7,14,0,0,5616,5617,7,6,0,0,5617,5618,7,5,0,0,5618,5619,7,6,0,0,5619,5620,7,20,0,0,5620,5621,7,15,0,0,5621,908,1,0,0,0,5622,5623,7,24,0,0,5623,5624,7,3,0,0,5624,5625,7,14,0,0,5625,5626,7,5,0,0,5626,5627,7,8,0,0,5627,5628,7,11,0,0,5628,5629,5,95,0,0,5629,5630,7,4,0,0,5630,5631,7,20,0,0,5631,5632,7,24,0,0,5632,5633,7,25,0,0,5633,5634,7,11,0,0,5634,5635,7,8,0,0,5635,5636,7,14,0,0,5636,5637,7,14,0,0,5637,5638,7,6,0,0,5638,5639,7,20,0,0,5639,5640,7,15,0,0,5640,5641,5,95,0,0,5641,5642,7,3,0,0,5642,5643,7,10,0,0,5643,5644,7,23,0,0,5644,5645,7,20,0,0,5645,5646,7,11,0,0,5646,5647,7,6,0,0,5647,5648,7,5,0,0,5648,5649,7,21,0,0,5649,5650,7,24,0,0,5650,5651,7,14,0,0,5651,910,1,0,0,0,5652,5653,7,24,0,0,5653,5654,7,3,0,0,5654,5655,7,14,0,0,5655,5656,7,5,0,0,5656,5657,7,8,0,0,5657,5658,7,11,0,0,5658,5659,5,95,0,0,5659,5660,7,4,0,0,5660,5661,7,20,0,0,5661,5662,7,15,0,0,5662,5663,7,15,0,0,5663,5664,7,8,0,0,5664,5665,7,4,0,0,5665,5666,7,5,0,0,5666,5667,5,95,0,0,5667,5668,7,11,0,0,5668,5669,7,8,0,0,5669,5670,7,5,0,0,5670,5671,7,11,0,0,5671,5672,7,13,0,0,5672,912,1,0,0,0,5673,5674,7,24,0,0,5674,5675,7,3,0,0,5675,5676,7,14,0,0,5676,5677,7,5,0,0,5677,5678,7,8,0,0,5678,5679,7,11,0,0,5679,5680,5,95,0,0,5680,5681,7,9,0,0,5681,5682,7,8,0,0,5682,5683,7,10,0,0,5683,5684,7,3,0,0,5684,5685,7,13,0,0,5685,914,1,0,0,0,5686,5687,7,24,0,0,5687,5688,7,3,0,0,5688,5689,7,14,0,0,5689,5690,7,5,0,0,5690,5691,7,8,0,0,5691,5692,7,11,0,0,5692,5693,5,95,0,0,5693,5694,7,21,0,0,5694,5695,7,8,0,0,5695,5696,7,3,0,0,5696,5697,7,11,0,0,5697,5698,7,5,0,0,5698,5699,7,17,0,0,5699,5700,7,8,0,0,5700,5701,7,3,0,0,5701,5702,7,5,0,0,5702,5703,5,95,0,0,5703,5704,7,25,0,0,5704,5705,7,8,0,0,5705,5706,7,11,0,0,5706,5707,7,6,0,0,5707,5708,7,20,0,0,5708,5709,7,9,0,0,5709,916,1,0,0,0,5710,5711,7,24,0,0,5711,5712,7,3,0,0,5712,5713,7,14,0,0,5713,5714,7,5,0,0,5714,5715,7,8,0,0,5715,5716,7,11,0,0,5716,5717,5,95,0,0,5717,5718,7,21,0,0,5718,5719,7,20,0,0,5719,5720,7,14,0,0,5720,5721,7,5,0,0,5721,918,1,0,0,0,5722,5723,7,24,0,0,5723,5724,7,3,0,0,5724,5725,7,14,0,0,5725,5726,7,5,0,0,5726,5727,7,8,0,0,5727,5728,7,11,0,0,5728,5729,5,95,0,0,5729,5730,7,10,0,0,5730,5731,7,20,0,0,5731,5732,7,23,0,0,5732,5733,5,95,0,0,5733,5734,7,19,0,0,5734,5735,7,6,0,0,5735,5736,7,10,0,0,5736,5737,7,8,0,0,5737,920,1,0,0,0,5738,5739,7,24,0,0,5739,5740,7,3,0,0,5740,5741,7,14,0,0,5741,5742,7,5,0,0,5742,5743,7,8,0,0,5743,5744,7,11,0,0,5744,5745,5,95,0,0,5745,5746,7,10,0,0,5746,5747,7,20,0,0,5747,5748,7,23,0,0,5748,5749,5,95,0,0,5749,5750,7,25,0,0,5750,5751,7,20,0,0,5751,5752,7,14,0,0,5752,922,1,0,0,0,5753,5754,7,24,0,0,5754,5755,7,3,0,0,5755,5756,7,14,0,0,5756,5757,7,5,0,0,5757,5758,7,8,0,0,5758,5759,7,11,0,0,5759,5760,5,95,0,0,5760,5761,7,25,0,0,5761,5762,7,3,0,0,5762,5763,7,14,0,0,5763,5764,7,14,0,0,5764,5765,7,12,0,0,5765,5766,7,20,0,0,5766,5767,7,11,0,0,5767,5768,7,9,0,0,5768,924,1,0,0,0,5769,5770,7,24,0,0,5770,5771,7,3,0,0,5771,5772,7,14,0,0,5772,5773,7,5,0,0,5773,5774,7,8,0,0,5774,5775,7,11,0,0,5775,5776,5,95,0,0,5776,5777,7,25,0,0,5777,5778,7,20,0,0,5778,5779,7,11,0,0,5779,5780,7,5,0,0,5780,926,1,0,0,0,5781,5782,7,24,0,0,5782,5783,7,3,0,0,5783,5784,7,14,0,0,5784,5785,7,5,0,0,5785,5786,7,8,0,0,5786,5787,7,11,0,0,5787,5788,5,95,0,0,5788,5789,7,25,0,0,5789,5790,7,18,0,0,5790,5791,7,17,0,0,5791,5792,7,10,0,0,5792,5793,7,6,0,0,5793,5794,7,4,0,0,5794,5795,5,95,0,0,5795,5796,7,22,0,0,5796,5797,7,8,0,0,5797,5798,7,13,0,0,5798,5799,5,95,0,0,5799,5800,7,25,0,0,5800,5801,7,3,0,0,5801,5802,7,5,0,0,5802,5803,7,21,0,0,5803,928,1,0,0,0,5804,5805,7,24,0,0,5805,5806,7,3,0,0,5806,5807,7,14,0,0,5807,5808,7,5,0,0,5808,5809,7,8,0,0,5809,5810,7,11,0,0,5810,5811,5,95,0,0,5811,5812,7,11,0,0,5812,5813,7,8,0,0,5813,5814,7,5,0,0,5814,5815,7,11,0,0,5815,5816,7,13,0,0,5816,5817,5,95,0,0,5817,5818,7,4,0,0,5818,5819,7,20,0,0,5819,5820,7,18,0,0,5820,5821,7,15,0,0,5821,5822,7,5,0,0,5822,930,1,0,0,0,5823,5824,7,24,0,0,5824,5825,7,3,0,0,5825,5826,7,14,0,0,5826,5827,7,5,0,0,5827,5828,7,8,0,0,5828,5829,7,11,0,0,5829,5830,5,95,0,0,5830,5831,7,14,0,0,5831,5832,7,14,0,0,5832,5833,7,10,0,0,5833,932,1,0,0,0,5834,5835,7,24,0,0,5835,5836,7,3,0,0,5836,5837,7,14,0,0,5837,5838,7,5,0,0,5838,5839,7,8,0,0,5839,5840,7,11,0,0,5840,5841,5,95,0,0,5841,5842,7,14,0,0,5842,5843,7,14,0,0,5843,5844,7,10,0,0,5844,5845,5,95,0,0,5845,5846,7,4,0,0,5846,5847,7,3,0,0,5847,934,1,0,0,0,5848,5849,7,24,0,0,5849,5850,7,3,0,0,5850,5851,7,14,0,0,5851,5852,7,5,0,0,5852,5853,7,8,0,0,5853,5854,7,11,0,0,5854,5855,5,95,0,0,5855,5856,7,14,0,0,5856,5857,7,14,0,0,5857,5858,7,10,0,0,5858,5859,5,95,0,0,5859,5860,7,4,0,0,5860,5861,7,3,0,0,5861,5862,7,25,0,0,5862,5863,7,3,0,0,5863,5864,7,5,0,0,5864,5865,7,21,0,0,5865,936,1,0,0,0,5866,5867,7,24,0,0,5867,5868,7,3,0,0,5868,5869,7,14,0,0,5869,5870,7,5,0,0,5870,5871,7,8,0,0,5871,5872,7,11,0,0,5872,5873,5,95,0,0,5873,5874,7,14,0,0,5874,5875,7,14,0,0,5875,5876,7,10,0,0,5876,5877,5,95,0,0,5877,5878,7,4,0,0,5878,5879,7,8,0,0,5879,5880,7,11,0,0,5880,5881,7,5,0,0,5881,938,1,0,0,0,5882,5883,7,24,0,0,5883,5884,7,3,0,0,5884,5885,7,14,0,0,5885,5886,7,5,0,0,5886,5887,7,8,0,0,5887,5888,7,11,0,0,5888,5889,5,95,0,0,5889,5890,7,14,0,0,5890,5891,7,14,0,0,5891,5892,7,10,0,0,5892,5893,5,95,0,0,5893,5894,7,4,0,0,5894,5895,7,6,0,0,5895,5896,7,25,0,0,5896,5897,7,21,0,0,5897,5898,7,8,0,0,5898,5899,7,11,0,0,5899,940,1,0,0,0,5900,5901,7,24,0,0,5901,5902,7,3,0,0,5902,5903,7,14,0,0,5903,5904,7,5,0,0,5904,5905,7,8,0,0,5905,5906,7,11,0,0,5906,5907,5,95,0,0,5907,5908,7,14,0,0,5908,5909,7,14,0,0,5909,5910,7,10,0,0,5910,5911,5,95,0,0,5911,5912,7,4,0,0,5912,5913,7,11,0,0,5913,5914,7,10,0,0,5914,942,1,0,0,0,5915,5916,7,24,0,0,5916,5917,7,3,0,0,5917,5918,7,14,0,0,5918,5919,7,5,0,0,5919,5920,7,8,0,0,5920,5921,7,11,0,0,5921,5922,5,95,0,0,5922,5923,7,14,0,0,5923,5924,7,14,0,0,5924,5925,7,10,0,0,5925,5926,5,95,0,0,5926,5927,7,4,0,0,5927,5928,7,11,0,0,5928,5929,7,10,0,0,5929,5930,7,25,0,0,5930,5931,7,3,0,0,5931,5932,7,5,0,0,5932,5933,7,21,0,0,5933,944,1,0,0,0,5934,5935,7,24,0,0,5935,5936,7,3,0,0,5936,5937,7,14,0,0,5937,5938,7,5,0,0,5938,5939,7,8,0,0,5939,5940,7,11,0,0,5940,5941,5,95,0,0,5941,5942,7,14,0,0,5942,5943,7,14,0,0,5943,5944,7,10,0,0,5944,5945,5,95,0,0,5945,5946,7,22,0,0,5946,5947,7,8,0,0,5947,5948,7,13,0,0,5948,946,1,0,0,0,5949,5950,7,24,0,0,5950,5951,7,3,0,0,5951,5952,7,14,0,0,5952,5953,7,5,0,0,5953,5954,7,8,0,0,5954,5955,7,11,0,0,5955,5956,5,95,0,0,5956,5957,7,5,0,0,5957,5958,7,10,0,0,5958,5959,7,14,0,0,5959,5960,5,95,0,0,5960,5961,7,4,0,0,5961,5962,7,6,0,0,5962,5963,7,25,0,0,5963,5964,7,21,0,0,5964,5965,7,8,0,0,5965,5966,7,11,0,0,5966,5967,7,14,0,0,5967,5968,7,18,0,0,5968,5969,7,6,0,0,5969,5970,7,5,0,0,5970,5971,7,8,0,0,5971,5972,7,14,0,0,5972,948,1,0,0,0,5973,5974,7,24,0,0,5974,5975,7,3,0,0,5975,5976,7,14,0,0,5976,5977,7,5,0,0,5977,5978,7,8,0,0,5978,5979,7,11,0,0,5979,5980,5,95,0,0,5980,5981,7,5,0,0,5981,5982,7,10,0,0,5982,5983,7,14,0,0,5983,5984,5,95,0,0,5984,5985,7,7,0,0,5985,5986,7,8,0,0,5986,5987,7,11,0,0,5987,5988,7,14,0,0,5988,5989,7,6,0,0,5989,5990,7,20,0,0,5990,5991,7,15,0,0,5991,950,1,0,0,0,5992,5993,7,24,0,0,5993,5994,7,3,0,0,5994,5995,7,14,0,0,5995,5996,7,5,0,0,5996,5997,7,8,0,0,5997,5998,7,11,0,0,5998,5999,5,95,0,0,5999,6e3,7,18,0,0,6e3,6001,7,14,0,0,6001,6002,7,8,0,0,6002,6003,7,11,0,0,6003,952,1,0,0,0,6004,6005,7,24,0,0,6005,6006,7,3,0,0,6006,6007,7,14,0,0,6007,6008,7,5,0,0,6008,6009,7,8,0,0,6009,6010,7,11,0,0,6010,6011,5,95,0,0,6011,6012,7,16,0,0,6012,6013,7,14,0,0,6013,6014,7,5,0,0,6014,6015,7,9,0,0,6015,6016,5,95,0,0,6016,6017,7,4,0,0,6017,6018,7,20,0,0,6018,6019,7,24,0,0,6019,6020,7,25,0,0,6020,6021,7,11,0,0,6021,6022,7,8,0,0,6022,6023,7,14,0,0,6023,6024,7,14,0,0,6024,6025,7,6,0,0,6025,6026,7,20,0,0,6026,6027,7,15,0,0,6027,6028,5,95,0,0,6028,6029,7,10,0,0,6029,6030,7,8,0,0,6030,6031,7,7,0,0,6031,6032,7,8,0,0,6032,6033,7,10,0,0,6033,954,1,0,0,0,6034,6035,7,24,0,0,6035,6036,7,3,0,0,6036,6037,7,26,0,0,6037,6038,5,95,0,0,6038,6039,7,4,0,0,6039,6040,7,20,0,0,6040,6041,7,15,0,0,6041,6042,7,15,0,0,6042,6043,7,8,0,0,6043,6044,7,4,0,0,6044,6045,7,5,0,0,6045,6046,7,6,0,0,6046,6047,7,20,0,0,6047,6048,7,15,0,0,6048,6049,7,14,0,0,6049,6050,5,95,0,0,6050,6051,7,25,0,0,6051,6052,7,8,0,0,6052,6053,7,11,0,0,6053,6054,5,95,0,0,6054,6055,7,21,0,0,6055,6056,7,20,0,0,6056,6057,7,18,0,0,6057,6058,7,11,0,0,6058,956,1,0,0,0,6059,6060,7,24,0,0,6060,6061,7,3,0,0,6061,6062,7,26,0,0,6062,6063,5,95,0,0,6063,6064,7,28,0,0,6064,6065,7,18,0,0,6065,6066,7,8,0,0,6066,6067,7,11,0,0,6067,6068,7,6,0,0,6068,6069,7,8,0,0,6069,6070,7,14,0,0,6070,6071,5,95,0,0,6071,6072,7,25,0,0,6072,6073,7,8,0,0,6073,6074,7,11,0,0,6074,6075,5,95,0,0,6075,6076,7,21,0,0,6076,6077,7,20,0,0,6077,6078,7,18,0,0,6078,6079,7,11,0,0,6079,958,1,0,0,0,6080,6081,7,24,0,0,6081,6082,7,3,0,0,6082,6083,7,26,0,0,6083,6084,5,95,0,0,6084,6085,7,11,0,0,6085,6086,7,20,0,0,6086,6087,7,12,0,0,6087,6088,7,14,0,0,6088,960,1,0,0,0,6089,6090,7,24,0,0,6090,6091,7,3,0,0,6091,6092,7,26,0,0,6092,6093,5,95,0,0,6093,6094,7,14,0,0,6094,6095,7,6,0,0,6095,6096,7,16,0,0,6096,6097,7,8,0,0,6097,962,1,0,0,0,6098,6099,7,24,0,0,6099,6100,7,3,0,0,6100,6101,7,26,0,0,6101,6102,5,95,0,0,6102,6103,7,18,0,0,6103,6104,7,25,0,0,6104,6105,7,9,0,0,6105,6106,7,3,0,0,6106,6107,7,5,0,0,6107,6108,7,8,0,0,6108,6109,7,14,0,0,6109,6110,5,95,0,0,6110,6111,7,25,0,0,6111,6112,7,8,0,0,6112,6113,7,11,0,0,6113,6114,5,95,0,0,6114,6115,7,21,0,0,6115,6116,7,20,0,0,6116,6117,7,18,0,0,6117,6118,7,11,0,0,6118,964,1,0,0,0,6119,6120,7,24,0,0,6120,6121,7,3,0,0,6121,6122,7,26,0,0,6122,6123,5,95,0,0,6123,6124,7,18,0,0,6124,6125,7,14,0,0,6125,6126,7,8,0,0,6126,6127,7,11,0,0,6127,6128,5,95,0,0,6128,6129,7,4,0,0,6129,6130,7,20,0,0,6130,6131,7,15,0,0,6131,6132,7,15,0,0,6132,6133,7,8,0,0,6133,6134,7,4,0,0,6134,6135,7,5,0,0,6135,6136,7,6,0,0,6136,6137,7,20,0,0,6137,6138,7,15,0,0,6138,6139,7,14,0,0,6139,966,1,0,0,0,6140,6141,7,24,0,0,6141,6142,7,8,0,0,6142,6143,7,9,0,0,6143,6144,7,6,0,0,6144,6145,7,18,0,0,6145,6146,7,24,0,0,6146,968,1,0,0,0,6147,6148,7,24,0,0,6148,6149,7,8,0,0,6149,6150,7,24,0,0,6150,6151,7,17,0,0,6151,6152,7,8,0,0,6152,6153,7,11,0,0,6153,970,1,0,0,0,6154,6155,7,24,0,0,6155,6156,7,8,0,0,6156,6157,7,11,0,0,6157,6158,7,23,0,0,6158,6159,7,8,0,0,6159,972,1,0,0,0,6160,6161,7,24,0,0,6161,6162,7,8,0,0,6162,6163,7,14,0,0,6163,6164,7,14,0,0,6164,6165,7,3,0,0,6165,6166,7,23,0,0,6166,6167,7,8,0,0,6167,6168,5,95,0,0,6168,6169,7,5,0,0,6169,6170,7,8,0,0,6170,6171,7,26,0,0,6171,6172,7,5,0,0,6172,974,1,0,0,0,6173,6174,7,24,0,0,6174,6175,7,6,0,0,6175,6176,7,9,0,0,6176,976,1,0,0,0,6177,6178,7,24,0,0,6178,6179,7,6,0,0,6179,6180,7,23,0,0,6180,6181,7,11,0,0,6181,6182,7,3,0,0,6182,6183,7,5,0,0,6183,6184,7,8,0,0,6184,978,1,0,0,0,6185,6186,7,24,0,0,6186,6187,7,6,0,0,6187,6188,7,15,0,0,6188,6189,5,95,0,0,6189,6190,7,11,0,0,6190,6191,7,20,0,0,6191,6192,7,12,0,0,6192,6193,7,14,0,0,6193,980,1,0,0,0,6194,6195,7,24,0,0,6195,6196,7,20,0,0,6196,6197,7,9,0,0,6197,6198,7,8,0,0,6198,982,1,0,0,0,6199,6200,7,24,0,0,6200,6201,7,20,0,0,6201,6202,7,9,0,0,6202,6203,7,6,0,0,6203,6204,7,19,0,0,6204,6205,7,13,0,0,6205,984,1,0,0,0,6206,6207,7,24,0,0,6207,6208,7,18,0,0,6208,6209,7,5,0,0,6209,6210,7,8,0,0,6210,6211,7,26,0,0,6211,986,1,0,0,0,6212,6213,7,24,0,0,6213,6214,7,13,0,0,6214,6215,7,14,0,0,6215,6216,7,28,0,0,6216,6217,7,10,0,0,6217,988,1,0,0,0,6218,6219,7,24,0,0,6219,6220,7,13,0,0,6220,6221,7,14,0,0,6221,6222,7,28,0,0,6222,6223,7,10,0,0,6223,6224,5,95,0,0,6224,6225,7,8,0,0,6225,6226,7,11,0,0,6226,6227,7,11,0,0,6227,6228,7,15,0,0,6228,6229,7,20,0,0,6229,990,1,0,0,0,6230,6231,7,15,0,0,6231,6232,7,3,0,0,6232,6233,7,24,0,0,6233,6234,7,8,0,0,6234,992,1,0,0,0,6235,6236,7,15,0,0,6236,6237,7,3,0,0,6237,6238,7,24,0,0,6238,6239,7,8,0,0,6239,6240,7,14,0,0,6240,994,1,0,0,0,6241,6242,7,15,0,0,6242,6243,7,4,0,0,6243,6244,7,21,0,0,6244,6245,7,3,0,0,6245,6246,7,11,0,0,6246,996,1,0,0,0,6247,6248,7,15,0,0,6248,6249,7,8,0,0,6249,6250,7,5,0,0,6250,6251,7,12,0,0,6251,6252,7,20,0,0,6252,6253,7,11,0,0,6253,6254,7,22,0,0,6254,6255,5,95,0,0,6255,6256,7,15,0,0,6256,6257,7,3,0,0,6257,6258,7,24,0,0,6258,6259,7,8,0,0,6259,6260,7,14,0,0,6260,6261,7,25,0,0,6261,6262,7,3,0,0,6262,6263,7,4,0,0,6263,6264,7,8,0,0,6264,998,1,0,0,0,6265,6266,7,15,0,0,6266,6267,7,8,0,0,6267,6268,7,7,0,0,6268,6269,7,8,0,0,6269,6270,7,11,0,0,6270,1e3,1,0,0,0,6271,6272,7,15,0,0,6272,6273,7,8,0,0,6273,6274,7,26,0,0,6274,6275,7,5,0,0,6275,1002,1,0,0,0,6276,6277,7,15,0,0,6277,6278,7,20,0,0,6278,1004,1,0,0,0,6279,6280,7,15,0,0,6280,6281,7,20,0,0,6281,6282,7,12,0,0,6282,6283,7,3,0,0,6283,6284,7,6,0,0,6284,6285,7,5,0,0,6285,1006,1,0,0,0,6286,6287,7,15,0,0,6287,6288,7,20,0,0,6288,6289,7,9,0,0,6289,6290,7,8,0,0,6290,6291,7,23,0,0,6291,6292,7,11,0,0,6292,6293,7,20,0,0,6293,6294,7,18,0,0,6294,6295,7,25,0,0,6295,1008,1,0,0,0,6296,6297,7,15,0,0,6297,6298,7,20,0,0,6298,6299,7,15,0,0,6299,6300,7,8,0,0,6300,1010,1,0,0,0,6301,6302,7,20,0,0,6302,6303,7,9,0,0,6303,6304,7,17,0,0,6304,6305,7,4,0,0,6305,1012,1,0,0,0,6306,6307,7,20,0,0,6307,6308,7,19,0,0,6308,6309,7,19,0,0,6309,1014,1,0,0,0,6310,6311,7,20,0,0,6311,6312,7,19,0,0,6312,6313,7,19,0,0,6313,6314,7,10,0,0,6314,6315,7,6,0,0,6315,6316,7,15,0,0,6316,6317,7,8,0,0,6317,1016,1,0,0,0,6318,6319,7,20,0,0,6319,6320,7,19,0,0,6320,6321,7,19,0,0,6321,6322,7,14,0,0,6322,6323,7,8,0,0,6323,6324,7,5,0,0,6324,1018,1,0,0,0,6325,6326,7,20,0,0,6326,6327,7,19,0,0,6327,1020,1,0,0,0,6328,6329,7,20,0,0,6329,6330,7,10,0,0,6330,6331,7,9,0,0,6331,1022,1,0,0,0,6332,6333,7,20,0,0,6333,6334,7,10,0,0,6334,6335,7,9,0,0,6335,6336,5,95,0,0,6336,6337,7,25,0,0,6337,6338,7,3,0,0,6338,6339,7,14,0,0,6339,6340,7,14,0,0,6340,6341,7,12,0,0,6341,6342,7,20,0,0,6342,6343,7,11,0,0,6343,6344,7,9,0,0,6344,1024,1,0,0,0,6345,6346,7,20,0,0,6346,6347,7,15,0,0,6347,6348,7,8,0,0,6348,1026,1,0,0,0,6349,6350,7,20,0,0,6350,6351,7,15,0,0,6351,6352,7,10,0,0,6352,6353,7,6,0,0,6353,6354,7,15,0,0,6354,6355,7,8,0,0,6355,1028,1,0,0,0,6356,6357,7,20,0,0,6357,6358,7,15,0,0,6358,6359,7,10,0,0,6359,6360,7,13,0,0,6360,1030,1,0,0,0,6361,6362,7,20,0,0,6362,6363,7,25,0,0,6363,6364,7,8,0,0,6364,6365,7,15,0,0,6365,1032,1,0,0,0,6366,6367,7,20,0,0,6367,6368,7,25,0,0,6368,6369,7,5,0,0,6369,6370,7,6,0,0,6370,6371,7,24,0,0,6371,6372,7,6,0,0,6372,6373,7,16,0,0,6373,6374,7,8,0,0,6374,6375,7,11,0,0,6375,6376,5,95,0,0,6376,6377,7,4,0,0,6377,6378,7,20,0,0,6378,6379,7,14,0,0,6379,6380,7,5,0,0,6380,6381,7,14,0,0,6381,1034,1,0,0,0,6382,6383,7,20,0,0,6383,6384,7,25,0,0,6384,6385,7,5,0,0,6385,6386,7,6,0,0,6386,6387,7,20,0,0,6387,6388,7,15,0,0,6388,6389,7,14,0,0,6389,1036,1,0,0,0,6390,6391,7,20,0,0,6391,6392,7,12,0,0,6392,6393,7,15,0,0,6393,6394,7,8,0,0,6394,6395,7,11,0,0,6395,1038,1,0,0,0,6396,6397,7,25,0,0,6397,6398,7,3,0,0,6398,6399,7,4,0,0,6399,6400,7,22,0,0,6400,6401,5,95,0,0,6401,6402,7,22,0,0,6402,6403,7,8,0,0,6403,6404,7,13,0,0,6404,6405,7,14,0,0,6405,1040,1,0,0,0,6406,6407,7,25,0,0,6407,6408,7,3,0,0,6408,6409,7,23,0,0,6409,6410,7,8,0,0,6410,1042,1,0,0,0,6411,6412,7,25,0,0,6412,6413,7,3,0,0,6413,6414,7,23,0,0,6414,6415,7,8,0,0,6415,6416,5,95,0,0,6416,6417,7,4,0,0,6417,6418,7,21,0,0,6418,6419,7,8,0,0,6419,6420,7,4,0,0,6420,6421,7,22,0,0,6421,6422,7,14,0,0,6422,6423,7,18,0,0,6423,6424,7,24,0,0,6424,1044,1,0,0,0,6425,6426,7,25,0,0,6426,6427,7,3,0,0,6427,6428,7,23,0,0,6428,6429,7,8,0,0,6429,6430,5,95,0,0,6430,6431,7,4,0,0,6431,6432,7,20,0,0,6432,6433,7,24,0,0,6433,6434,7,25,0,0,6434,6435,7,11,0,0,6435,6436,7,8,0,0,6436,6437,7,14,0,0,6437,6438,7,14,0,0,6438,6439,7,8,0,0,6439,6440,7,9,0,0,6440,1046,1,0,0,0,6441,6442,7,25,0,0,6442,6443,7,3,0,0,6443,6444,7,23,0,0,6444,6445,7,8,0,0,6445,6446,5,95,0,0,6446,6447,7,4,0,0,6447,6448,7,20,0,0,6448,6449,7,24,0,0,6449,6450,7,25,0,0,6450,6451,7,11,0,0,6451,6452,7,8,0,0,6452,6453,7,14,0,0,6453,6454,7,14,0,0,6454,6455,7,6,0,0,6455,6456,7,20,0,0,6456,6457,7,15,0,0,6457,6458,5,95,0,0,6458,6459,7,10,0,0,6459,6460,7,8,0,0,6460,6461,7,7,0,0,6461,6462,7,8,0,0,6462,6463,7,10,0,0,6463,1048,1,0,0,0,6464,6465,7,25,0,0,6465,6466,7,3,0,0,6466,6467,7,11,0,0,6467,6468,7,14,0,0,6468,6469,7,8,0,0,6469,6470,7,11,0,0,6470,1050,1,0,0,0,6471,6472,7,25,0,0,6472,6473,7,3,0,0,6473,6474,7,11,0,0,6474,6475,7,5,0,0,6475,6476,7,6,0,0,6476,6477,7,3,0,0,6477,6478,7,10,0,0,6478,1052,1,0,0,0,6479,6480,7,25,0,0,6480,6481,7,3,0,0,6481,6482,7,11,0,0,6482,6483,7,5,0,0,6483,6484,7,6,0,0,6484,6485,7,5,0,0,6485,6486,7,6,0,0,6486,6487,7,20,0,0,6487,6488,7,15,0,0,6488,6489,7,6,0,0,6489,6490,7,15,0,0,6490,6491,7,23,0,0,6491,1054,1,0,0,0,6492,6493,7,25,0,0,6493,6494,7,3,0,0,6494,6495,7,11,0,0,6495,6496,7,5,0,0,6496,6497,7,6,0,0,6497,6498,7,5,0,0,6498,6499,7,6,0,0,6499,6500,7,20,0,0,6500,6501,7,15,0,0,6501,6502,7,14,0,0,6502,1056,1,0,0,0,6503,6504,7,25,0,0,6504,6505,7,3,0,0,6505,6506,7,14,0,0,6506,6507,7,14,0,0,6507,6508,7,12,0,0,6508,6509,7,20,0,0,6509,6510,7,11,0,0,6510,6511,7,9,0,0,6511,1058,1,0,0,0,6512,6513,7,25,0,0,6513,6514,7,3,0,0,6514,6515,7,14,0,0,6515,6516,7,14,0,0,6516,6517,7,12,0,0,6517,6518,7,20,0,0,6518,6519,7,11,0,0,6519,6520,7,9,0,0,6520,6521,5,95,0,0,6521,6522,7,10,0,0,6522,6523,7,20,0,0,6523,6524,7,4,0,0,6524,6525,7,22,0,0,6525,6526,5,95,0,0,6526,6527,7,5,0,0,6527,6528,7,6,0,0,6528,6529,7,24,0,0,6529,6530,7,8,0,0,6530,1060,1,0,0,0,6531,6532,7,25,0,0,6532,6533,7,8,0,0,6533,6534,7,11,0,0,6534,6535,7,14,0,0,6535,6536,7,6,0,0,6536,6537,7,14,0,0,6537,6538,7,5,0,0,6538,1062,1,0,0,0,6539,6540,7,25,0,0,6540,6541,7,8,0,0,6541,6542,7,11,0,0,6542,6543,7,14,0,0,6543,6544,7,6,0,0,6544,6545,7,14,0,0,6545,6546,7,5,0,0,6546,6547,5,95,0,0,6547,6548,7,20,0,0,6548,6549,7,15,0,0,6549,6550,7,10,0,0,6550,6551,7,13,0,0,6551,1064,1,0,0,0,6552,6553,7,25,0,0,6553,6554,7,21,0,0,6554,6555,7,3,0,0,6555,6556,7,14,0,0,6556,6557,7,8,0,0,6557,1066,1,0,0,0,6558,6559,7,25,0,0,6559,6560,7,10,0,0,6560,6561,7,18,0,0,6561,6562,7,23,0,0,6562,6563,7,6,0,0,6563,6564,7,15,0,0,6564,1068,1,0,0,0,6565,6566,7,25,0,0,6566,6567,7,10,0,0,6567,6568,7,18,0,0,6568,6569,7,23,0,0,6569,6570,7,6,0,0,6570,6571,7,15,0,0,6571,6572,5,95,0,0,6572,6573,7,9,0,0,6573,6574,7,6,0,0,6574,6575,7,11,0,0,6575,1070,1,0,0,0,6576,6577,7,25,0,0,6577,6578,7,10,0,0,6578,6579,7,18,0,0,6579,6580,7,23,0,0,6580,6581,7,6,0,0,6581,6582,7,15,0,0,6582,6583,7,14,0,0,6583,1072,1,0,0,0,6584,6585,7,25,0,0,6585,6586,7,20,0,0,6586,6587,7,11,0,0,6587,6588,7,5,0,0,6588,1074,1,0,0,0,6589,6590,7,25,0,0,6590,6591,7,11,0,0,6591,6592,7,8,0,0,6592,6593,7,4,0,0,6593,6594,7,8,0,0,6594,6595,7,9,0,0,6595,6596,7,8,0,0,6596,6597,7,14,0,0,6597,1076,1,0,0,0,6598,6599,7,25,0,0,6599,6600,7,11,0,0,6600,6601,7,8,0,0,6601,6602,7,4,0,0,6602,6603,7,8,0,0,6603,6604,7,9,0,0,6604,6605,7,6,0,0,6605,6606,7,15,0,0,6606,6607,7,23,0,0,6607,1078,1,0,0,0,6608,6609,7,25,0,0,6609,6610,7,11,0,0,6610,6611,7,8,0,0,6611,6612,7,25,0,0,6612,6613,7,3,0,0,6613,6614,7,11,0,0,6614,6615,7,8,0,0,6615,1080,1,0,0,0,6616,6617,7,25,0,0,6617,6618,7,11,0,0,6618,6619,7,8,0,0,6619,6620,7,14,0,0,6620,6621,7,8,0,0,6621,6622,7,11,0,0,6622,6623,7,7,0,0,6623,6624,7,8,0,0,6624,1082,1,0,0,0,6625,6626,7,25,0,0,6626,6627,7,11,0,0,6627,6628,7,8,0,0,6628,6629,7,7,0,0,6629,1084,1,0,0,0,6630,6631,7,25,0,0,6631,6632,7,11,0,0,6632,6633,7,6,0,0,6633,6634,7,7,0,0,6634,6635,7,6,0,0,6635,6636,7,10,0,0,6636,6637,7,8,0,0,6637,6638,7,23,0,0,6638,6639,7,8,0,0,6639,6640,5,95,0,0,6640,6641,7,4,0,0,6641,6642,7,21,0,0,6642,6643,7,8,0,0,6643,6644,7,4,0,0,6644,6645,7,22,0,0,6645,6646,7,14,0,0,6646,6647,5,95,0,0,6647,6648,7,18,0,0,6648,6649,7,14,0,0,6649,6650,7,8,0,0,6650,6651,7,11,0,0,6651,1086,1,0,0,0,6652,6653,7,25,0,0,6653,6654,7,11,0,0,6654,6655,7,20,0,0,6655,6656,7,4,0,0,6656,6657,7,8,0,0,6657,6658,7,14,0,0,6658,6659,7,14,0,0,6659,6660,7,10,0,0,6660,6661,7,6,0,0,6661,6662,7,14,0,0,6662,6663,7,5,0,0,6663,1088,1,0,0,0,6664,6665,7,25,0,0,6665,6666,7,11,0,0,6666,6667,7,20,0,0,6667,6668,7,19,0,0,6668,6669,7,6,0,0,6669,6670,7,10,0,0,6670,6671,7,8,0,0,6671,1090,1,0,0,0,6672,6673,7,25,0,0,6673,6674,7,11,0,0,6674,6675,7,20,0,0,6675,6676,7,19,0,0,6676,6677,7,6,0,0,6677,6678,7,10,0,0,6678,6679,7,8,0,0,6679,6680,7,14,0,0,6680,1092,1,0,0,0,6681,6682,7,25,0,0,6682,6683,7,11,0,0,6683,6684,7,20,0,0,6684,6685,7,26,0,0,6685,6686,7,13,0,0,6686,1094,1,0,0,0,6687,6688,7,28,0,0,6688,6689,7,18,0,0,6689,6690,7,8,0,0,6690,6691,7,11,0,0,6691,6692,7,13,0,0,6692,1096,1,0,0,0,6693,6694,7,28,0,0,6694,6695,7,18,0,0,6695,6696,7,6,0,0,6696,6697,7,4,0,0,6697,6698,7,22,0,0,6698,1098,1,0,0,0,6699,6700,7,11,0,0,6700,6701,7,8,0,0,6701,6702,7,17,0,0,6702,6703,7,18,0,0,6703,6704,7,6,0,0,6704,6705,7,10,0,0,6705,6706,7,9,0,0,6706,1100,1,0,0,0,6707,6708,7,11,0,0,6708,6709,7,8,0,0,6709,6710,7,4,0,0,6710,6711,7,20,0,0,6711,6712,7,7,0,0,6712,6713,7,8,0,0,6713,6714,7,11,0,0,6714,1102,1,0,0,0,6715,6716,7,11,0,0,6716,6717,7,8,0,0,6717,6718,7,4,0,0,6718,6719,7,18,0,0,6719,6720,7,11,0,0,6720,6721,7,14,0,0,6721,6722,7,6,0,0,6722,6723,7,7,0,0,6723,6724,7,8,0,0,6724,1104,1,0,0,0,6725,6726,7,11,0,0,6726,6727,7,8,0,0,6727,6728,7,9,0,0,6728,6729,7,20,0,0,6729,6730,5,95,0,0,6730,6731,7,17,0,0,6731,6732,7,18,0,0,6732,6733,7,19,0,0,6733,6734,7,19,0,0,6734,6735,7,8,0,0,6735,6736,7,11,0,0,6736,6737,5,95,0,0,6737,6738,7,14,0,0,6738,6739,7,6,0,0,6739,6740,7,16,0,0,6740,6741,7,8,0,0,6741,1106,1,0,0,0,6742,6743,7,11,0,0,6743,6744,7,8,0,0,6744,6745,7,9,0,0,6745,6746,7,18,0,0,6746,6747,7,15,0,0,6747,6748,7,9,0,0,6748,6749,7,3,0,0,6749,6750,7,15,0,0,6750,6751,7,5,0,0,6751,1108,1,0,0,0,6752,6753,7,11,0,0,6753,6754,7,8,0,0,6754,6755,7,23,0,0,6755,6756,7,6,0,0,6756,6757,7,14,0,0,6757,6758,7,5,0,0,6758,6759,7,11,0,0,6759,6760,7,3,0,0,6760,6761,7,5,0,0,6761,6762,7,6,0,0,6762,6763,7,20,0,0,6763,6764,7,15,0,0,6764,1110,1,0,0,0,6765,6766,7,11,0,0,6766,6767,7,8,0,0,6767,6768,7,10,0,0,6768,6769,7,3,0,0,6769,6770,7,13,0,0,6770,1112,1,0,0,0,6771,6772,7,11,0,0,6772,6773,7,8,0,0,6773,6774,7,10,0,0,6774,6775,7,3,0,0,6775,6776,7,13,0,0,6776,6777,5,95,0,0,6777,6778,7,10,0,0,6778,6779,7,20,0,0,6779,6780,7,23,0,0,6780,6781,5,95,0,0,6781,6782,7,19,0,0,6782,6783,7,6,0,0,6783,6784,7,10,0,0,6784,6785,7,8,0,0,6785,1114,1,0,0,0,6786,6787,7,11,0,0,6787,6788,7,8,0,0,6788,6789,7,10,0,0,6789,6790,7,3,0,0,6790,6791,7,13,0,0,6791,6792,5,95,0,0,6792,6793,7,10,0,0,6793,6794,7,20,0,0,6794,6795,7,23,0,0,6795,6796,5,95,0,0,6796,6797,7,25,0,0,6797,6798,7,20,0,0,6798,6799,7,14,0,0,6799,1116,1,0,0,0,6800,6801,7,11,0,0,6801,6802,7,8,0,0,6802,6803,7,10,0,0,6803,6804,7,3,0,0,6804,6805,7,13,0,0,6805,6806,7,10,0,0,6806,6807,7,20,0,0,6807,6808,7,23,0,0,6808,1118,1,0,0,0,6809,6810,7,11,0,0,6810,6811,7,8,0,0,6811,6812,7,24,0,0,6812,6813,7,20,0,0,6813,6814,7,7,0,0,6814,6815,7,8,0,0,6815,1120,1,0,0,0,6816,6817,7,11,0,0,6817,6818,7,8,0,0,6818,6819,7,20,0,0,6819,6820,7,11,0,0,6820,6821,7,23,0,0,6821,6822,7,3,0,0,6822,6823,7,15,0,0,6823,6824,7,6,0,0,6824,6825,7,16,0,0,6825,6826,7,8,0,0,6826,1122,1,0,0,0,6827,6828,7,11,0,0,6828,6829,7,8,0,0,6829,6830,7,25,0,0,6830,6831,7,3,0,0,6831,6832,7,6,0,0,6832,6833,7,11,0,0,6833,1124,1,0,0,0,6834,6835,7,11,0,0,6835,6836,7,8,0,0,6836,6837,7,25,0,0,6837,6838,7,10,0,0,6838,6839,7,6,0,0,6839,6840,7,4,0,0,6840,6841,7,3,0,0,6841,1126,1,0,0,0,6842,6843,7,11,0,0,6843,6844,7,8,0,0,6844,6845,7,25,0,0,6845,6846,7,10,0,0,6846,6847,7,6,0,0,6847,6848,7,4,0,0,6848,6849,7,3,0,0,6849,6850,7,14,0,0,6850,1128,1,0,0,0,6851,6852,7,11,0,0,6852,6853,7,8,0,0,6853,6854,7,25,0,0,6854,6855,7,10,0,0,6855,6856,7,6,0,0,6856,6857,7,4,0,0,6857,6858,7,3,0,0,6858,6859,7,5,0,0,6859,6860,7,8,0,0,6860,6861,5,95,0,0,6861,6862,7,9,0,0,6862,6863,7,20,0,0,6863,6864,5,95,0,0,6864,6865,7,9,0,0,6865,6866,7,17,0,0,6866,1130,1,0,0,0,6867,6868,7,11,0,0,6868,6869,7,8,0,0,6869,6870,7,25,0,0,6870,6871,7,10,0,0,6871,6872,7,6,0,0,6872,6873,7,4,0,0,6873,6874,7,3,0,0,6874,6875,7,5,0,0,6875,6876,7,8,0,0,6876,6877,5,95,0,0,6877,6878,7,9,0,0,6878,6879,7,20,0,0,6879,6880,5,95,0,0,6880,6881,7,5,0,0,6881,6882,7,3,0,0,6882,6883,7,17,0,0,6883,6884,7,10,0,0,6884,6885,7,8,0,0,6885,1132,1,0,0,0,6886,6887,7,11,0,0,6887,6888,7,8,0,0,6888,6889,7,25,0,0,6889,6890,7,10,0,0,6890,6891,7,6,0,0,6891,6892,7,4,0,0,6892,6893,7,3,0,0,6893,6894,7,5,0,0,6894,6895,7,8,0,0,6895,6896,5,95,0,0,6896,6897,7,6,0,0,6897,6898,7,23,0,0,6898,6899,7,15,0,0,6899,6900,7,20,0,0,6900,6901,7,11,0,0,6901,6902,7,8,0,0,6902,6903,5,95,0,0,6903,6904,7,9,0,0,6904,6905,7,17,0,0,6905,1134,1,0,0,0,6906,6907,7,11,0,0,6907,6908,7,8,0,0,6908,6909,7,25,0,0,6909,6910,7,10,0,0,6910,6911,7,6,0,0,6911,6912,7,4,0,0,6912,6913,7,3,0,0,6913,6914,7,5,0,0,6914,6915,7,8,0,0,6915,6916,5,95,0,0,6916,6917,7,6,0,0,6917,6918,7,23,0,0,6918,6919,7,15,0,0,6919,6920,7,20,0,0,6920,6921,7,11,0,0,6921,6922,7,8,0,0,6922,6923,5,95,0,0,6923,6924,7,5,0,0,6924,6925,7,3,0,0,6925,6926,7,17,0,0,6926,6927,7,10,0,0,6927,6928,7,8,0,0,6928,1136,1,0,0,0,6929,6930,7,11,0,0,6930,6931,7,8,0,0,6931,6932,7,25,0,0,6932,6933,7,10,0,0,6933,6934,7,6,0,0,6934,6935,7,4,0,0,6935,6936,7,3,0,0,6936,6937,7,5,0,0,6937,6938,7,8,0,0,6938,6939,5,95,0,0,6939,6940,7,11,0,0,6940,6941,7,8,0,0,6941,6942,7,12,0,0,6942,6943,7,11,0,0,6943,6944,7,6,0,0,6944,6945,7,5,0,0,6945,6946,7,8,0,0,6946,6947,5,95,0,0,6947,6948,7,9,0,0,6948,6949,7,17,0,0,6949,1138,1,0,0,0,6950,6951,7,11,0,0,6951,6952,7,8,0,0,6952,6953,7,25,0,0,6953,6954,7,10,0,0,6954,6955,7,6,0,0,6955,6956,7,4,0,0,6956,6957,7,3,0,0,6957,6958,7,5,0,0,6958,6959,7,8,0,0,6959,6960,5,95,0,0,6960,6961,7,12,0,0,6961,6962,7,6,0,0,6962,6963,7,10,0,0,6963,6964,7,9,0,0,6964,6965,5,95,0,0,6965,6966,7,9,0,0,6966,6967,7,20,0,0,6967,6968,5,95,0,0,6968,6969,7,5,0,0,6969,6970,7,3,0,0,6970,6971,7,17,0,0,6971,6972,7,10,0,0,6972,6973,7,8,0,0,6973,1140,1,0,0,0,6974,6975,7,11,0,0,6975,6976,7,8,0,0,6976,6977,7,25,0,0,6977,6978,7,10,0,0,6978,6979,7,6,0,0,6979,6980,7,4,0,0,6980,6981,7,3,0,0,6981,6982,7,5,0,0,6982,6983,7,8,0,0,6983,6984,5,95,0,0,6984,6985,7,12,0,0,6985,6986,7,6,0,0,6986,6987,7,10,0,0,6987,6988,7,9,0,0,6988,6989,5,95,0,0,6989,6990,7,6,0,0,6990,6991,7,23,0,0,6991,6992,7,15,0,0,6992,6993,7,20,0,0,6993,6994,7,11,0,0,6994,6995,7,8,0,0,6995,6996,5,95,0,0,6996,6997,7,5,0,0,6997,6998,7,3,0,0,6998,6999,7,17,0,0,6999,7e3,7,10,0,0,7e3,7001,7,8,0,0,7001,1142,1,0,0,0,7002,7003,7,11,0,0,7003,7004,7,8,0,0,7004,7005,7,25,0,0,7005,7006,7,10,0,0,7006,7007,7,6,0,0,7007,7008,7,4,0,0,7008,7009,7,3,0,0,7009,7010,7,5,0,0,7010,7011,7,6,0,0,7011,7012,7,20,0,0,7012,7013,7,15,0,0,7013,1144,1,0,0,0,7014,7015,7,11,0,0,7015,7016,7,8,0,0,7016,7017,7,28,0,0,7017,7018,7,18,0,0,7018,7019,7,6,0,0,7019,7020,7,11,0,0,7020,7021,7,8,0,0,7021,7022,5,95,0,0,7022,7023,7,11,0,0,7023,7024,7,20,0,0,7024,7025,7,12,0,0,7025,7026,5,95,0,0,7026,7027,7,19,0,0,7027,7028,7,20,0,0,7028,7029,7,11,0,0,7029,7030,7,24,0,0,7030,7031,7,3,0,0,7031,7032,7,5,0,0,7032,1146,1,0,0,0,7033,7034,7,11,0,0,7034,7035,7,8,0,0,7035,7036,7,28,0,0,7036,7037,7,18,0,0,7037,7038,7,6,0,0,7038,7039,7,11,0,0,7039,7040,7,8,0,0,7040,7041,5,95,0,0,7041,7042,7,5,0,0,7042,7043,7,3,0,0,7043,7044,7,17,0,0,7044,7045,7,10,0,0,7045,7046,7,8,0,0,7046,7047,5,95,0,0,7047,7048,7,25,0,0,7048,7049,7,11,0,0,7049,7050,7,6,0,0,7050,7051,7,24,0,0,7051,7052,7,3,0,0,7052,7053,7,11,0,0,7053,7054,7,13,0,0,7054,7055,5,95,0,0,7055,7056,7,22,0,0,7056,7057,7,8,0,0,7057,7058,7,13,0,0,7058,7059,5,95,0,0,7059,7060,7,4,0,0,7060,7061,7,21,0,0,7061,7062,7,8,0,0,7062,7063,7,4,0,0,7063,7064,7,22,0,0,7064,1148,1,0,0,0,7065,7066,7,11,0,0,7066,7067,7,8,0,0,7067,7068,7,14,0,0,7068,7069,7,8,0,0,7069,7070,7,5,0,0,7070,1150,1,0,0,0,7071,7072,7,11,0,0,7072,7073,7,8,0,0,7073,7074,7,14,0,0,7074,7075,7,5,0,0,7075,7076,7,3,0,0,7076,7077,7,11,0,0,7077,7078,7,5,0,0,7078,1152,1,0,0,0,7079,7080,7,11,0,0,7080,7081,7,8,0,0,7081,7082,7,14,0,0,7082,7083,7,18,0,0,7083,7084,7,24,0,0,7084,7085,7,8,0,0,7085,1154,1,0,0,0,7086,7087,7,11,0,0,7087,7088,7,8,0,0,7088,7089,7,5,0,0,7089,7090,7,18,0,0,7090,7091,7,11,0,0,7091,7092,7,15,0,0,7092,7093,7,8,0,0,7093,7094,7,9,0,0,7094,7095,5,95,0,0,7095,7096,7,14,0,0,7096,7097,7,28,0,0,7097,7098,7,10,0,0,7098,7099,7,14,0,0,7099,7100,7,5,0,0,7100,7101,7,3,0,0,7101,7102,7,5,0,0,7102,7103,7,8,0,0,7103,1156,1,0,0,0,7104,7105,7,11,0,0,7105,7106,7,8,0,0,7106,7107,7,5,0,0,7107,7108,7,18,0,0,7108,7109,7,11,0,0,7109,7110,7,15,0,0,7110,7111,7,6,0,0,7111,7112,7,15,0,0,7112,7113,7,23,0,0,7113,1158,1,0,0,0,7114,7115,7,11,0,0,7115,7116,7,8,0,0,7116,7117,7,5,0,0,7117,7118,7,18,0,0,7118,7119,7,11,0,0,7119,7120,7,15,0,0,7120,7121,7,14,0,0,7121,1160,1,0,0,0,7122,7123,7,11,0,0,7123,7124,7,8,0,0,7124,7125,7,18,0,0,7125,7126,7,14,0,0,7126,7127,7,8,0,0,7127,1162,1,0,0,0,7128,7129,7,11,0,0,7129,7130,7,20,0,0,7130,7131,7,10,0,0,7131,7132,7,8,0,0,7132,1164,1,0,0,0,7133,7134,7,11,0,0,7134,7135,7,20,0,0,7135,7136,7,10,0,0,7136,7137,7,10,0,0,7137,7138,7,17,0,0,7138,7139,7,3,0,0,7139,7140,7,4,0,0,7140,7141,7,22,0,0,7141,1166,1,0,0,0,7142,7143,7,11,0,0,7143,7144,7,20,0,0,7144,7145,7,10,0,0,7145,7146,7,10,0,0,7146,7147,7,18,0,0,7147,7148,7,25,0,0,7148,1168,1,0,0,0,7149,7150,7,11,0,0,7150,7151,7,20,0,0,7151,7152,7,5,0,0,7152,7153,7,3,0,0,7153,7154,7,5,0,0,7154,7155,7,8,0,0,7155,1170,1,0,0,0,7156,7157,7,11,0,0,7157,7158,7,20,0,0,7158,7159,7,12,0,0,7159,1172,1,0,0,0,7160,7161,7,11,0,0,7161,7162,7,20,0,0,7162,7163,7,12,0,0,7163,7164,7,14,0,0,7164,1174,1,0,0,0,7165,7166,7,11,0,0,7166,7167,7,20,0,0,7167,7168,7,12,0,0,7168,7169,5,95,0,0,7169,7170,7,19,0,0,7170,7171,7,20,0,0,7171,7172,7,11,0,0,7172,7173,7,24,0,0,7173,7174,7,3,0,0,7174,7175,7,5,0,0,7175,1176,1,0,0,0,7176,7177,7,14,0,0,7177,7178,7,3,0,0,7178,7179,7,7,0,0,7179,7180,7,8,0,0,7180,7181,7,25,0,0,7181,7182,7,20,0,0,7182,7183,7,6,0,0,7183,7184,7,15,0,0,7184,7185,7,5,0,0,7185,1178,1,0,0,0,7186,7187,7,14,0,0,7187,7188,7,4,0,0,7188,7189,7,21,0,0,7189,7190,7,8,0,0,7190,7191,7,9,0,0,7191,7192,7,18,0,0,7192,7193,7,10,0,0,7193,7194,7,8,0,0,7194,1180,1,0,0,0,7195,7196,7,14,0,0,7196,7197,7,8,0,0,7197,7198,7,4,0,0,7198,7199,7,18,0,0,7199,7200,7,11,0,0,7200,7201,7,6,0,0,7201,7202,7,5,0,0,7202,7203,7,13,0,0,7203,1182,1,0,0,0,7204,7205,7,14,0,0,7205,7206,7,8,0,0,7206,7207,7,11,0,0,7207,7208,7,7,0,0,7208,7209,7,8,0,0,7209,7210,7,11,0,0,7210,1184,1,0,0,0,7211,7212,7,14,0,0,7212,7213,7,8,0,0,7213,7214,7,14,0,0,7214,7215,7,14,0,0,7215,7216,7,6,0,0,7216,7217,7,20,0,0,7217,7218,7,15,0,0,7218,1186,1,0,0,0,7219,7220,7,14,0,0,7220,7221,7,21,0,0,7221,7222,7,3,0,0,7222,7223,7,11,0,0,7223,7224,7,8,0,0,7224,1188,1,0,0,0,7225,7226,7,14,0,0,7226,7227,7,21,0,0,7227,7228,7,3,0,0,7228,7229,7,11,0,0,7229,7230,7,8,0,0,7230,7231,7,9,0,0,7231,1190,1,0,0,0,7232,7233,7,14,0,0,7233,7234,7,6,0,0,7234,7235,7,23,0,0,7235,7236,7,15,0,0,7236,7237,7,8,0,0,7237,7238,7,9,0,0,7238,1192,1,0,0,0,7239,7240,7,14,0,0,7240,7241,7,6,0,0,7241,7242,7,24,0,0,7242,7243,7,25,0,0,7243,7244,7,10,0,0,7244,7245,7,8,0,0,7245,1194,1,0,0,0,7246,7247,7,14,0,0,7247,7248,7,10,0,0,7248,7249,7,3,0,0,7249,7250,7,7,0,0,7250,7251,7,8,0,0,7251,1196,1,0,0,0,7252,7253,7,14,0,0,7253,7254,7,10,0,0,7254,7255,7,20,0,0,7255,7256,7,12,0,0,7256,1198,1,0,0,0,7257,7258,7,14,0,0,7258,7259,7,15,0,0,7259,7260,7,3,0,0,7260,7261,7,25,0,0,7261,7262,7,14,0,0,7262,7263,7,21,0,0,7263,7264,7,20,0,0,7264,7265,7,5,0,0,7265,1200,1,0,0,0,7266,7267,7,14,0,0,7267,7268,7,20,0,0,7268,7269,7,4,0,0,7269,7270,7,22,0,0,7270,7271,7,8,0,0,7271,7272,7,5,0,0,7272,1202,1,0,0,0,7273,7274,7,14,0,0,7274,7275,7,20,0,0,7275,7276,7,24,0,0,7276,7277,7,8,0,0,7277,1204,1,0,0,0,7278,7279,7,14,0,0,7279,7280,7,20,0,0,7280,7281,7,15,0,0,7281,7282,7,3,0,0,7282,7283,7,24,0,0,7283,7284,7,8,0,0,7284,1206,1,0,0,0,7285,7286,7,14,0,0,7286,7287,7,20,0,0,7287,7288,7,18,0,0,7288,7289,7,15,0,0,7289,7290,7,9,0,0,7290,7291,7,14,0,0,7291,1208,1,0,0,0,7292,7293,7,14,0,0,7293,7294,7,20,0,0,7294,7295,7,18,0,0,7295,7296,7,11,0,0,7296,7297,7,4,0,0,7297,7298,7,8,0,0,7298,1210,1,0,0,0,7299,7300,7,14,0,0,7300,7301,7,20,0,0,7301,7302,7,18,0,0,7302,7303,7,11,0,0,7303,7304,7,4,0,0,7304,7305,7,8,0,0,7305,7306,5,95,0,0,7306,7307,7,17,0,0,7307,7308,7,6,0,0,7308,7309,7,15,0,0,7309,7310,7,9,0,0,7310,1212,1,0,0,0,7311,7312,7,14,0,0,7312,7313,7,20,0,0,7313,7314,7,18,0,0,7314,7315,7,11,0,0,7315,7316,7,4,0,0,7316,7317,7,8,0,0,7317,7318,5,95,0,0,7318,7319,7,21,0,0,7319,7320,7,20,0,0,7320,7321,7,14,0,0,7321,7322,7,5,0,0,7322,1214,1,0,0,0,7323,7324,7,14,0,0,7324,7325,7,20,0,0,7325,7326,7,18,0,0,7326,7327,7,11,0,0,7327,7328,7,4,0,0,7328,7329,7,8,0,0,7329,7330,5,95,0,0,7330,7331,7,18,0,0,7331,7332,7,14,0,0,7332,7333,7,8,0,0,7333,7334,7,11,0,0,7334,1216,1,0,0,0,7335,7336,7,14,0,0,7336,7337,7,20,0,0,7337,7338,7,18,0,0,7338,7339,7,11,0,0,7339,7340,7,4,0,0,7340,7341,7,8,0,0,7341,7342,5,95,0,0,7342,7343,7,25,0,0,7343,7344,7,3,0,0,7344,7345,7,14,0,0,7345,7346,7,14,0,0,7346,7347,7,12,0,0,7347,7348,7,20,0,0,7348,7349,7,11,0,0,7349,7350,7,9,0,0,7350,1218,1,0,0,0,7351,7352,7,14,0,0,7352,7353,7,20,0,0,7353,7354,7,18,0,0,7354,7355,7,11,0,0,7355,7356,7,4,0,0,7356,7357,7,8,0,0,7357,7358,5,95,0,0,7358,7359,7,25,0,0,7359,7360,7,20,0,0,7360,7361,7,11,0,0,7361,7362,7,5,0,0,7362,1220,1,0,0,0,7363,7364,7,14,0,0,7364,7365,7,20,0,0,7365,7366,7,18,0,0,7366,7367,7,11,0,0,7367,7368,7,4,0,0,7368,7369,7,8,0,0,7369,7370,5,95,0,0,7370,7371,7,10,0,0,7371,7372,7,20,0,0,7372,7373,7,23,0,0,7373,7374,5,95,0,0,7374,7375,7,19,0,0,7375,7376,7,6,0,0,7376,7377,7,10,0,0,7377,7378,7,8,0,0,7378,1222,1,0,0,0,7379,7380,7,14,0,0,7380,7381,7,20,0,0,7381,7382,7,18,0,0,7382,7383,7,11,0,0,7383,7384,7,4,0,0,7384,7385,7,8,0,0,7385,7386,5,95,0,0,7386,7387,7,10,0,0,7387,7388,7,20,0,0,7388,7389,7,23,0,0,7389,7390,5,95,0,0,7390,7391,7,25,0,0,7391,7392,7,20,0,0,7392,7393,7,14,0,0,7393,1224,1,0,0,0,7394,7395,7,14,0,0,7395,7396,7,20,0,0,7396,7397,7,18,0,0,7397,7398,7,11,0,0,7398,7399,7,4,0,0,7399,7400,7,8,0,0,7400,7401,5,95,0,0,7401,7402,7,3,0,0,7402,7403,7,18,0,0,7403,7404,7,5,0,0,7404,7405,7,20,0,0,7405,7406,5,95,0,0,7406,7407,7,25,0,0,7407,7408,7,20,0,0,7408,7409,7,14,0,0,7409,7410,7,6,0,0,7410,7411,7,5,0,0,7411,7412,7,6,0,0,7412,7413,7,20,0,0,7413,7414,7,15,0,0,7414,1226,1,0,0,0,7415,7416,7,14,0,0,7416,7417,7,20,0,0,7417,7418,7,18,0,0,7418,7419,7,11,0,0,7419,7420,7,4,0,0,7420,7421,7,8,0,0,7421,7422,5,95,0,0,7422,7423,7,21,0,0,7423,7424,7,8,0,0,7424,7425,7,3,0,0,7425,7426,7,11,0,0,7426,7427,7,5,0,0,7427,7428,7,17,0,0,7428,7429,7,8,0,0,7429,7430,7,3,0,0,7430,7431,7,5,0,0,7431,7432,5,95,0,0,7432,7433,7,25,0,0,7433,7434,7,8,0,0,7434,7435,7,11,0,0,7435,7436,7,6,0,0,7436,7437,7,20,0,0,7437,7438,7,9,0,0,7438,1228,1,0,0,0,7439,7440,7,14,0,0,7440,7441,7,20,0,0,7441,7442,7,18,0,0,7442,7443,7,11,0,0,7443,7444,7,4,0,0,7444,7445,7,8,0,0,7445,7446,5,95,0,0,7446,7447,7,4,0,0,7447,7448,7,20,0,0,7448,7449,7,15,0,0,7449,7450,7,15,0,0,7450,7451,7,8,0,0,7451,7452,7,4,0,0,7452,7453,7,5,0,0,7453,7454,5,95,0,0,7454,7455,7,11,0,0,7455,7456,7,8,0,0,7456,7457,7,5,0,0,7457,7458,7,11,0,0,7458,7459,7,13,0,0,7459,1230,1,0,0,0,7460,7461,7,14,0,0,7461,7462,7,20,0,0,7462,7463,7,18,0,0,7463,7464,7,11,0,0,7464,7465,7,4,0,0,7465,7466,7,8,0,0,7466,7467,5,95,0,0,7467,7468,7,11,0,0,7468,7469,7,8,0,0,7469,7470,7,5,0,0,7470,7471,7,11,0,0,7471,7472,7,13,0,0,7472,7473,5,95,0,0,7473,7474,7,4,0,0,7474,7475,7,20,0,0,7475,7476,7,18,0,0,7476,7477,7,15,0,0,7477,7478,7,5,0,0,7478,1232,1,0,0,0,7479,7480,7,14,0,0,7480,7481,7,20,0,0,7481,7482,7,18,0,0,7482,7483,7,11,0,0,7483,7484,7,4,0,0,7484,7485,7,8,0,0,7485,7486,5,95,0,0,7486,7487,7,4,0,0,7487,7488,7,20,0,0,7488,7489,7,15,0,0,7489,7490,7,15,0,0,7490,7491,7,8,0,0,7491,7492,7,4,0,0,7492,7493,7,5,0,0,7493,7494,7,6,0,0,7494,7495,7,20,0,0,7495,7496,7,15,0,0,7496,7497,5,95,0,0,7497,7498,7,3,0,0,7498,7499,7,18,0,0,7499,7500,7,5,0,0,7500,7501,7,20,0,0,7501,7502,5,95,0,0,7502,7503,7,19,0,0,7503,7504,7,3,0,0,7504,7505,7,6,0,0,7505,7506,7,10,0,0,7506,7507,7,20,0,0,7507,7508,7,7,0,0,7508,7509,7,8,0,0,7509,7510,7,11,0,0,7510,1234,1,0,0,0,7511,7512,7,14,0,0,7512,7513,7,20,0,0,7513,7514,7,18,0,0,7514,7515,7,11,0,0,7515,7516,7,4,0,0,7516,7517,7,8,0,0,7517,7518,5,95,0,0,7518,7519,7,9,0,0,7519,7520,7,8,0,0,7520,7521,7,10,0,0,7521,7522,7,3,0,0,7522,7523,7,13,0,0,7523,1236,1,0,0,0,7524,7525,7,14,0,0,7525,7526,7,20,0,0,7526,7527,7,18,0,0,7527,7528,7,11,0,0,7528,7529,7,4,0,0,7529,7530,7,8,0,0,7530,7531,5,95,0,0,7531,7532,7,4,0,0,7532,7533,7,20,0,0,7533,7534,7,24,0,0,7534,7535,7,25,0,0,7535,7536,7,11,0,0,7536,7537,7,8,0,0,7537,7538,7,14,0,0,7538,7539,7,14,0,0,7539,7540,7,6,0,0,7540,7541,7,20,0,0,7541,7542,7,15,0,0,7542,7543,5,95,0,0,7543,7544,7,3,0,0,7544,7545,7,10,0,0,7545,7546,7,23,0,0,7546,7547,7,20,0,0,7547,7548,7,11,0,0,7548,7549,7,6,0,0,7549,7550,7,5,0,0,7550,7551,7,21,0,0,7551,7552,7,24,0,0,7552,7553,7,14,0,0,7553,1238,1,0,0,0,7554,7555,7,14,0,0,7555,7556,7,20,0,0,7556,7557,7,18,0,0,7557,7558,7,11,0,0,7558,7559,7,4,0,0,7559,7560,7,8,0,0,7560,7561,5,95,0,0,7561,7562,7,16,0,0,7562,7563,7,14,0,0,7563,7564,7,5,0,0,7564,7565,7,9,0,0,7565,7566,5,95,0,0,7566,7567,7,4,0,0,7567,7568,7,20,0,0,7568,7569,7,24,0,0,7569,7570,7,25,0,0,7570,7571,7,11,0,0,7571,7572,7,8,0,0,7572,7573,7,14,0,0,7573,7574,7,14,0,0,7574,7575,7,6,0,0,7575,7576,7,20,0,0,7576,7577,7,15,0,0,7577,7578,5,95,0,0,7578,7579,7,10,0,0,7579,7580,7,8,0,0,7580,7581,7,7,0,0,7581,7582,7,8,0,0,7582,7583,7,10,0,0,7583,1240,1,0,0,0,7584,7585,7,14,0,0,7585,7586,7,20,0,0,7586,7587,7,18,0,0,7587,7588,7,11,0,0,7588,7589,7,4,0,0,7589,7590,7,8,0,0,7590,7591,5,95,0,0,7591,7592,7,14,0,0,7592,7593,7,14,0,0,7593,7594,7,10,0,0,7594,1242,1,0,0,0,7595,7596,7,14,0,0,7596,7597,7,20,0,0,7597,7598,7,18,0,0,7598,7599,7,11,0,0,7599,7600,7,4,0,0,7600,7601,7,8,0,0,7601,7602,5,95,0,0,7602,7603,7,14,0,0,7603,7604,7,14,0,0,7604,7605,7,10,0,0,7605,7606,5,95,0,0,7606,7607,7,4,0,0,7607,7608,7,3,0,0,7608,1244,1,0,0,0,7609,7610,7,14,0,0,7610,7611,7,20,0,0,7611,7612,7,18,0,0,7612,7613,7,11,0,0,7613,7614,7,4,0,0,7614,7615,7,8,0,0,7615,7616,5,95,0,0,7616,7617,7,14,0,0,7617,7618,7,14,0,0,7618,7619,7,10,0,0,7619,7620,5,95,0,0,7620,7621,7,4,0,0,7621,7622,7,3,0,0,7622,7623,7,25,0,0,7623,7624,7,3,0,0,7624,7625,7,5,0,0,7625,7626,7,21,0,0,7626,1246,1,0,0,0,7627,7628,7,14,0,0,7628,7629,7,20,0,0,7629,7630,7,18,0,0,7630,7631,7,11,0,0,7631,7632,7,4,0,0,7632,7633,7,8,0,0,7633,7634,5,95,0,0,7634,7635,7,14,0,0,7635,7636,7,14,0,0,7636,7637,7,10,0,0,7637,7638,5,95,0,0,7638,7639,7,4,0,0,7639,7640,7,8,0,0,7640,7641,7,11,0,0,7641,7642,7,5,0,0,7642,1248,1,0,0,0,7643,7644,7,14,0,0,7644,7645,7,20,0,0,7645,7646,7,18,0,0,7646,7647,7,11,0,0,7647,7648,7,4,0,0,7648,7649,7,8,0,0,7649,7650,5,95,0,0,7650,7651,7,14,0,0,7651,7652,7,14,0,0,7652,7653,7,10,0,0,7653,7654,5,95,0,0,7654,7655,7,4,0,0,7655,7656,7,11,0,0,7656,7657,7,10,0,0,7657,1250,1,0,0,0,7658,7659,7,14,0,0,7659,7660,7,20,0,0,7660,7661,7,18,0,0,7661,7662,7,11,0,0,7662,7663,7,4,0,0,7663,7664,7,8,0,0,7664,7665,5,95,0,0,7665,7666,7,14,0,0,7666,7667,7,14,0,0,7667,7668,7,10,0,0,7668,7669,5,95,0,0,7669,7670,7,4,0,0,7670,7671,7,11,0,0,7671,7672,7,10,0,0,7672,7673,7,25,0,0,7673,7674,7,3,0,0,7674,7675,7,5,0,0,7675,7676,7,21,0,0,7676,1252,1,0,0,0,7677,7678,7,14,0,0,7678,7679,7,20,0,0,7679,7680,7,18,0,0,7680,7681,7,11,0,0,7681,7682,7,4,0,0,7682,7683,7,8,0,0,7683,7684,5,95,0,0,7684,7685,7,14,0,0,7685,7686,7,14,0,0,7686,7687,7,10,0,0,7687,7688,5,95,0,0,7688,7689,7,22,0,0,7689,7690,7,8,0,0,7690,7691,7,13,0,0,7691,1254,1,0,0,0,7692,7693,7,14,0,0,7693,7694,7,20,0,0,7694,7695,7,18,0,0,7695,7696,7,11,0,0,7696,7697,7,4,0,0,7697,7698,7,8,0,0,7698,7699,5,95,0,0,7699,7700,7,14,0,0,7700,7701,7,14,0,0,7701,7702,7,10,0,0,7702,7703,5,95,0,0,7703,7704,7,4,0,0,7704,7705,7,6,0,0,7705,7706,7,25,0,0,7706,7707,7,21,0,0,7707,7708,7,8,0,0,7708,7709,7,11,0,0,7709,1256,1,0,0,0,7710,7711,7,14,0,0,7711,7712,7,20,0,0,7712,7713,7,18,0,0,7713,7714,7,11,0,0,7714,7715,7,4,0,0,7715,7716,7,8,0,0,7716,7717,5,95,0,0,7717,7718,7,14,0,0,7718,7719,7,14,0,0,7719,7720,7,10,0,0,7720,7721,5,95,0,0,7721,7722,7,7,0,0,7722,7723,7,8,0,0,7723,7724,7,11,0,0,7724,7725,7,6,0,0,7725,7726,7,19,0,0,7726,7727,7,13,0,0,7727,7728,5,95,0,0,7728,7729,7,14,0,0,7729,7730,7,8,0,0,7730,7731,7,11,0,0,7731,7732,7,7,0,0,7732,7733,7,8,0,0,7733,7734,7,11,0,0,7734,7735,5,95,0,0,7735,7736,7,4,0,0,7736,7737,7,8,0,0,7737,7738,7,11,0,0,7738,7739,7,5,0,0,7739,1258,1,0,0,0,7740,7741,7,14,0,0,7741,7742,7,20,0,0,7742,7743,7,18,0,0,7743,7744,7,11,0,0,7744,7745,7,4,0,0,7745,7746,7,8,0,0,7746,7747,5,95,0,0,7747,7748,7,5,0,0,7748,7749,7,10,0,0,7749,7750,7,14,0,0,7750,7751,5,95,0,0,7751,7752,7,7,0,0,7752,7753,7,8,0,0,7753,7754,7,11,0,0,7754,7755,7,14,0,0,7755,7756,7,6,0,0,7756,7757,7,20,0,0,7757,7758,7,15,0,0,7758,1260,1,0,0,0,7759,7760,7,14,0,0,7760,7761,7,20,0,0,7761,7762,7,18,0,0,7762,7763,7,11,0,0,7763,7764,7,4,0,0,7764,7765,7,8,0,0,7765,7766,5,95,0,0,7766,7767,7,5,0,0,7767,7768,7,10,0,0,7768,7769,7,14,0,0,7769,7770,5,95,0,0,7770,7771,7,4,0,0,7771,7772,7,6,0,0,7772,7773,7,25,0,0,7773,7774,7,21,0,0,7774,7775,7,8,0,0,7775,7776,7,11,0,0,7776,7777,7,14,0,0,7777,7778,7,18,0,0,7778,7779,7,6,0,0,7779,7780,7,5,0,0,7780,7781,7,8,0,0,7781,7782,7,14,0,0,7782,1262,1,0,0,0,7783,7784,7,14,0,0,7784,7785,7,20,0,0,7785,7786,7,18,0,0,7786,7787,7,11,0,0,7787,7788,7,4,0,0,7788,7789,7,8,0,0,7789,7790,5,95,0,0,7790,7791,7,25,0,0,7791,7792,7,18,0,0,7792,7793,7,17,0,0,7793,7794,7,10,0,0,7794,7795,7,6,0,0,7795,7796,7,4,0,0,7796,7797,5,95,0,0,7797,7798,7,22,0,0,7798,7799,7,8,0,0,7799,7800,7,13,0,0,7800,7801,5,95,0,0,7801,7802,7,25,0,0,7802,7803,7,3,0,0,7803,7804,7,5,0,0,7804,7805,7,21,0,0,7805,1264,1,0,0,0,7806,7807,7,14,0,0,7807,7808,7,28,0,0,7808,7809,7,10,0,0,7809,7810,5,95,0,0,7810,7811,7,3,0,0,7811,7812,7,19,0,0,7812,7813,7,5,0,0,7813,7814,7,8,0,0,7814,7815,7,11,0,0,7815,7816,5,95,0,0,7816,7817,7,23,0,0,7817,7818,7,5,0,0,7818,7819,7,6,0,0,7819,7820,7,9,0,0,7820,7821,7,14,0,0,7821,1266,1,0,0,0,7822,7823,7,14,0,0,7823,7824,7,28,0,0,7824,7825,7,10,0,0,7825,7826,5,95,0,0,7826,7827,7,3,0,0,7827,7828,7,19,0,0,7828,7829,7,5,0,0,7829,7830,7,8,0,0,7830,7831,7,11,0,0,7831,7832,5,95,0,0,7832,7833,7,24,0,0,7833,7834,7,5,0,0,7834,7835,7,14,0,0,7835,7836,5,95,0,0,7836,7837,7,23,0,0,7837,7838,7,3,0,0,7838,7839,7,25,0,0,7839,7840,7,14,0,0,7840,1268,1,0,0,0,7841,7842,7,14,0,0,7842,7843,7,28,0,0,7843,7844,7,10,0,0,7844,7845,5,95,0,0,7845,7846,7,17,0,0,7846,7847,7,8,0,0,7847,7848,7,19,0,0,7848,7849,7,20,0,0,7849,7850,7,11,0,0,7850,7851,7,8,0,0,7851,7852,5,95,0,0,7852,7853,7,23,0,0,7853,7854,7,5,0,0,7854,7855,7,6,0,0,7855,7856,7,9,0,0,7856,7857,7,14,0,0,7857,1270,1,0,0,0,7858,7859,7,14,0,0,7859,7860,7,28,0,0,7860,7861,7,10,0,0,7861,7862,5,95,0,0,7862,7863,7,17,0,0,7863,7864,7,18,0,0,7864,7865,7,19,0,0,7865,7866,7,19,0,0,7866,7867,7,8,0,0,7867,7868,7,11,0,0,7868,7869,5,95,0,0,7869,7870,7,11,0,0,7870,7871,7,8,0,0,7871,7872,7,14,0,0,7872,7873,7,18,0,0,7873,7874,7,10,0,0,7874,7875,7,5,0,0,7875,1272,1,0,0,0,7876,7877,7,14,0,0,7877,7878,7,28,0,0,7878,7879,7,10,0,0,7879,7880,5,95,0,0,7880,7881,7,4,0,0,7881,7882,7,3,0,0,7882,7883,7,4,0,0,7883,7884,7,21,0,0,7884,7885,7,8,0,0,7885,1274,1,0,0,0,7886,7887,7,14,0,0,7887,7888,7,28,0,0,7888,7889,7,10,0,0,7889,7890,5,95,0,0,7890,7891,7,15,0,0,7891,7892,7,20,0,0,7892,7893,5,95,0,0,7893,7894,7,4,0,0,7894,7895,7,3,0,0,7895,7896,7,4,0,0,7896,7897,7,21,0,0,7897,7898,7,8,0,0,7898,1276,1,0,0,0,7899,7900,7,14,0,0,7900,7901,7,28,0,0,7901,7902,7,10,0,0,7902,7903,5,95,0,0,7903,7904,7,5,0,0,7904,7905,7,21,0,0,7905,7906,7,11,0,0,7906,7907,7,8,0,0,7907,7908,7,3,0,0,7908,7909,7,9,0,0,7909,1278,1,0,0,0,7910,7911,7,14,0,0,7911,7912,7,5,0,0,7912,7913,7,3,0,0,7913,7914,7,11,0,0,7914,7915,7,5,0,0,7915,1280,1,0,0,0,7916,7917,7,14,0,0,7917,7918,7,5,0,0,7918,7919,7,3,0,0,7919,7920,7,11,0,0,7920,7921,7,5,0,0,7921,7922,7,14,0,0,7922,1282,1,0,0,0,7923,7924,7,14,0,0,7924,7925,7,5,0,0,7925,7926,7,3,0,0,7926,7927,7,5,0,0,7927,7928,7,14,0,0,7928,7929,5,95,0,0,7929,7930,7,3,0,0,7930,7931,7,18,0,0,7931,7932,7,5,0,0,7932,7933,7,20,0,0,7933,7934,5,95,0,0,7934,7935,7,11,0,0,7935,7936,7,8,0,0,7936,7937,7,4,0,0,7937,7938,7,3,0,0,7938,7939,7,10,0,0,7939,7940,7,4,0,0,7940,1284,1,0,0,0,7941,7942,7,14,0,0,7942,7943,7,5,0,0,7943,7944,7,3,0,0,7944,7945,7,5,0,0,7945,7946,7,14,0,0,7946,7947,5,95,0,0,7947,7948,7,25,0,0,7948,7949,7,8,0,0,7949,7950,7,11,0,0,7950,7951,7,14,0,0,7951,7952,7,6,0,0,7952,7953,7,14,0,0,7953,7954,7,5,0,0,7954,7955,7,8,0,0,7955,7956,7,15,0,0,7956,7957,7,5,0,0,7957,1286,1,0,0,0,7958,7959,7,14,0,0,7959,7960,7,5,0,0,7960,7961,7,3,0,0,7961,7962,7,5,0,0,7962,7963,7,14,0,0,7963,7964,5,95,0,0,7964,7965,7,14,0,0,7965,7966,7,3,0,0,7966,7967,7,24,0,0,7967,7968,7,25,0,0,7968,7969,7,10,0,0,7969,7970,7,8,0,0,7970,7971,5,95,0,0,7971,7972,7,25,0,0,7972,7973,7,3,0,0,7973,7974,7,23,0,0,7974,7975,7,8,0,0,7975,7976,7,14,0,0,7976,1288,1,0,0,0,7977,7978,7,14,0,0,7978,7979,7,5,0,0,7979,7980,7,3,0,0,7980,7981,7,5,0,0,7981,7982,7,18,0,0,7982,7983,7,14,0,0,7983,1290,1,0,0,0,7984,7985,7,14,0,0,7985,7986,7,5,0,0,7986,7987,7,20,0,0,7987,7988,7,25,0,0,7988,1292,1,0,0,0,7989,7990,7,14,0,0,7990,7991,7,5,0,0,7991,7992,7,20,0,0,7992,7993,7,11,0,0,7993,7994,7,3,0,0,7994,7995,7,23,0,0,7995,7996,7,8,0,0,7996,1294,1,0,0,0,7997,7998,7,14,0,0,7998,7999,7,5,0,0,7999,8e3,7,20,0,0,8e3,8001,7,11,0,0,8001,8002,7,8,0,0,8002,8003,7,9,0,0,8003,1296,1,0,0,0,8004,8005,7,14,0,0,8005,8006,7,5,0,0,8006,8007,7,11,0,0,8007,8008,7,6,0,0,8008,8009,7,15,0,0,8009,8010,7,23,0,0,8010,1298,1,0,0,0,8011,8012,7,14,0,0,8012,8013,7,18,0,0,8013,8014,7,17,0,0,8014,8015,7,4,0,0,8015,8016,7,10,0,0,8016,8017,7,3,0,0,8017,8018,7,14,0,0,8018,8019,7,14,0,0,8019,8020,5,95,0,0,8020,8021,7,20,0,0,8021,8022,7,11,0,0,8022,8023,7,6,0,0,8023,8024,7,23,0,0,8024,8025,7,6,0,0,8025,8026,7,15,0,0,8026,1300,1,0,0,0,8027,8028,7,14,0,0,8028,8029,7,18,0,0,8029,8030,7,17,0,0,8030,8031,7,27,0,0,8031,8032,7,8,0,0,8032,8033,7,4,0,0,8033,8034,7,5,0,0,8034,1302,1,0,0,0,8035,8036,7,14,0,0,8036,8037,7,18,0,0,8037,8038,7,17,0,0,8038,8039,7,25,0,0,8039,8040,7,3,0,0,8040,8041,7,11,0,0,8041,8042,7,5,0,0,8042,8043,7,6,0,0,8043,8044,7,5,0,0,8044,8045,7,6,0,0,8045,8046,7,20,0,0,8046,8047,7,15,0,0,8047,1304,1,0,0,0,8048,8049,7,14,0,0,8049,8050,7,18,0,0,8050,8051,7,17,0,0,8051,8052,7,25,0,0,8052,8053,7,3,0,0,8053,8054,7,11,0,0,8054,8055,7,5,0,0,8055,8056,7,6,0,0,8056,8057,7,5,0,0,8057,8058,7,6,0,0,8058,8059,7,20,0,0,8059,8060,7,15,0,0,8060,8061,7,14,0,0,8061,1306,1,0,0,0,8062,8063,7,14,0,0,8063,8064,7,18,0,0,8064,8065,7,14,0,0,8065,8066,7,25,0,0,8066,8067,7,8,0,0,8067,8068,7,15,0,0,8068,8069,7,9,0,0,8069,1308,1,0,0,0,8070,8071,7,14,0,0,8071,8072,7,12,0,0,8072,8073,7,3,0,0,8073,8074,7,25,0,0,8074,8075,7,14,0,0,8075,1310,1,0,0,0,8076,8077,7,14,0,0,8077,8078,7,12,0,0,8078,8079,7,6,0,0,8079,8080,7,5,0,0,8080,8081,7,4,0,0,8081,8082,7,21,0,0,8082,8083,7,8,0,0,8083,8084,7,14,0,0,8084,1312,1,0,0,0,8085,8086,7,5,0,0,8086,8087,7,3,0,0,8087,8088,7,17,0,0,8088,8089,7,10,0,0,8089,8090,7,8,0,0,8090,8091,5,95,0,0,8091,8092,7,15,0,0,8092,8093,7,3,0,0,8093,8094,7,24,0,0,8094,8095,7,8,0,0,8095,1314,1,0,0,0,8096,8097,7,5,0,0,8097,8098,7,3,0,0,8098,8099,7,17,0,0,8099,8100,7,10,0,0,8100,8101,7,8,0,0,8101,8102,7,14,0,0,8102,8103,7,25,0,0,8103,8104,7,3,0,0,8104,8105,7,4,0,0,8105,8106,7,8,0,0,8106,1316,1,0,0,0,8107,8108,7,5,0,0,8108,8109,7,3,0,0,8109,8110,7,17,0,0,8110,8111,7,10,0,0,8111,8112,7,8,0,0,8112,8113,5,95,0,0,8113,8114,7,5,0,0,8114,8115,7,13,0,0,8115,8116,7,25,0,0,8116,8117,7,8,0,0,8117,1318,1,0,0,0,8118,8119,7,5,0,0,8119,8120,7,8,0,0,8120,8121,7,24,0,0,8121,8122,7,25,0,0,8122,8123,7,20,0,0,8123,8124,7,11,0,0,8124,8125,7,3,0,0,8125,8126,7,11,0,0,8126,8127,7,13,0,0,8127,1320,1,0,0,0,8128,8129,7,5,0,0,8129,8130,7,8,0,0,8130,8131,7,24,0,0,8131,8132,7,25,0,0,8132,8133,7,5,0,0,8133,8134,7,3,0,0,8134,8135,7,17,0,0,8135,8136,7,10,0,0,8136,8137,7,8,0,0,8137,1322,1,0,0,0,8138,8139,7,5,0,0,8139,8140,7,21,0,0,8140,8141,7,3,0,0,8141,8142,7,15,0,0,8142,1324,1,0,0,0,8143,8144,7,5,0,0,8144,8145,7,11,0,0,8145,8146,7,3,0,0,8146,8147,7,9,0,0,8147,8148,7,6,0,0,8148,8149,7,5,0,0,8149,8150,7,6,0,0,8150,8151,7,20,0,0,8151,8152,7,15,0,0,8152,8153,7,3,0,0,8153,8154,7,10,0,0,8154,1326,1,0,0,0,8155,8156,7,5,0,0,8156,8157,7,11,0,0,8157,8158,7,3,0,0,8158,8159,7,15,0,0,8159,8160,7,14,0,0,8160,8161,7,3,0,0,8161,8162,7,4,0,0,8162,8163,7,5,0,0,8163,8164,7,6,0,0,8164,8165,7,20,0,0,8165,8166,7,15,0,0,8166,1328,1,0,0,0,8167,8168,7,5,0,0,8168,8169,7,11,0,0,8169,8170,7,3,0,0,8170,8171,7,15,0,0,8171,8172,7,14,0,0,8172,8173,7,3,0,0,8173,8174,7,4,0,0,8174,8175,7,5,0,0,8175,8176,7,6,0,0,8176,8177,7,20,0,0,8177,8178,7,15,0,0,8178,8179,7,3,0,0,8179,8180,7,10,0,0,8180,1330,1,0,0,0,8181,8182,7,5,0,0,8182,8183,7,11,0,0,8183,8184,7,8,0,0,8184,8185,7,8,0,0,8185,1332,1,0,0,0,8186,8187,7,5,0,0,8187,8188,7,11,0,0,8188,8189,7,6,0,0,8189,8190,7,23,0,0,8190,8191,7,23,0,0,8191,8192,7,8,0,0,8192,8193,7,11,0,0,8193,8194,7,14,0,0,8194,1334,1,0,0,0,8195,8196,7,5,0,0,8196,8197,7,11,0,0,8197,8198,7,18,0,0,8198,8199,7,15,0,0,8199,8200,7,4,0,0,8200,8201,7,3,0,0,8201,8202,7,5,0,0,8202,8203,7,8,0,0,8203,1336,1,0,0,0,8204,8205,7,18,0,0,8205,8206,7,15,0,0,8206,8207,7,17,0,0,8207,8208,7,20,0,0,8208,8209,7,18,0,0,8209,8210,7,15,0,0,8210,8211,7,9,0,0,8211,8212,7,8,0,0,8212,8213,7,9,0,0,8213,1338,1,0,0,0,8214,8215,7,18,0,0,8215,8216,7,15,0,0,8216,8217,7,9,0,0,8217,8218,7,8,0,0,8218,8219,7,19,0,0,8219,8220,7,6,0,0,8220,8221,7,15,0,0,8221,8222,7,8,0,0,8222,8223,7,9,0,0,8223,1340,1,0,0,0,8224,8225,7,18,0,0,8225,8226,7,15,0,0,8226,8227,7,9,0,0,8227,8228,7,20,0,0,8228,8229,7,19,0,0,8229,8230,7,6,0,0,8230,8231,7,10,0,0,8231,8232,7,8,0,0,8232,1342,1,0,0,0,8233,8234,7,18,0,0,8234,8235,7,15,0,0,8235,8236,7,9,0,0,8236,8237,7,20,0,0,8237,8238,5,95,0,0,8238,8239,7,17,0,0,8239,8240,7,18,0,0,8240,8241,7,19,0,0,8241,8242,7,19,0,0,8242,8243,7,8,0,0,8243,8244,7,11,0,0,8244,8245,5,95,0,0,8245,8246,7,14,0,0,8246,8247,7,6,0,0,8247,8248,7,16,0,0,8248,8249,7,8,0,0,8249,1344,1,0,0,0,8250,8251,7,18,0,0,8251,8252,7,15,0,0,8252,8253,7,6,0,0,8253,8254,7,15,0,0,8254,8255,7,14,0,0,8255,8256,7,5,0,0,8256,8257,7,3,0,0,8257,8258,7,10,0,0,8258,8259,7,10,0,0,8259,1346,1,0,0,0,8260,8261,7,18,0,0,8261,8262,7,15,0,0,8262,8263,7,22,0,0,8263,8264,7,15,0,0,8264,8265,7,20,0,0,8265,8266,7,12,0,0,8266,8267,7,15,0,0,8267,1348,1,0,0,0,8268,8269,7,18,0,0,8269,8270,7,15,0,0,8270,8271,7,11,0,0,8271,8272,7,8,0,0,8272,8273,7,23,0,0,8273,8274,7,6,0,0,8274,8275,7,14,0,0,8275,8276,7,5,0,0,8276,8277,7,8,0,0,8277,8278,7,11,0,0,8278,1350,1,0,0,0,8279,8280,7,18,0,0,8280,8281,7,15,0,0,8281,8282,7,5,0,0,8282,8283,7,6,0,0,8283,8284,7,10,0,0,8284,1352,1,0,0,0,8285,8286,7,18,0,0,8286,8287,7,25,0,0,8287,8288,7,23,0,0,8288,8289,7,11,0,0,8289,8290,7,3,0,0,8290,8291,7,9,0,0,8291,8292,7,8,0,0,8292,1354,1,0,0,0,8293,8294,7,18,0,0,8294,8295,7,14,0,0,8295,8296,7,8,0,0,8296,8297,7,11,0,0,8297,1356,1,0,0,0,8298,8299,7,18,0,0,8299,8300,7,14,0,0,8300,8301,7,8,0,0,8301,8302,5,95,0,0,8302,8303,7,19,0,0,8303,8304,7,11,0,0,8304,8305,7,24,0,0,8305,1358,1,0,0,0,8306,8307,7,18,0,0,8307,8308,7,14,0,0,8308,8309,7,8,0,0,8309,8310,7,11,0,0,8310,8311,5,95,0,0,8311,8312,7,11,0,0,8312,8313,7,8,0,0,8313,8314,7,14,0,0,8314,8315,7,20,0,0,8315,8316,7,18,0,0,8316,8317,7,11,0,0,8317,8318,7,4,0,0,8318,8319,7,8,0,0,8319,8320,7,14,0,0,8320,1360,1,0,0,0,8321,8322,7,7,0,0,8322,8323,7,3,0,0,8323,8324,7,10,0,0,8324,8325,7,6,0,0,8325,8326,7,9,0,0,8326,8327,7,3,0,0,8327,8328,7,5,0,0,8328,8329,7,6,0,0,8329,8330,7,20,0,0,8330,8331,7,15,0,0,8331,1362,1,0,0,0,8332,8333,7,7,0,0,8333,8334,7,3,0,0,8334,8335,7,10,0,0,8335,8336,7,18,0,0,8336,8337,7,8,0,0,8337,1364,1,0,0,0,8338,8339,7,7,0,0,8339,8340,7,3,0,0,8340,8341,7,11,0,0,8341,8342,7,6,0,0,8342,8343,7,3,0,0,8343,8344,7,17,0,0,8344,8345,7,10,0,0,8345,8346,7,8,0,0,8346,8347,7,14,0,0,8347,1366,1,0,0,0,8348,8349,7,7,0,0,8349,8350,7,6,0,0,8350,8351,7,8,0,0,8351,8352,7,12,0,0,8352,1368,1,0,0,0,8353,8354,7,7,0,0,8354,8355,7,6,0,0,8355,8356,7,11,0,0,8356,8357,7,5,0,0,8357,8358,7,18,0,0,8358,8359,7,3,0,0,8359,8360,7,10,0,0,8360,1370,1,0,0,0,8361,8362,7,7,0,0,8362,8363,7,6,0,0,8363,8364,7,14,0,0,8364,8365,7,6,0,0,8365,8366,7,17,0,0,8366,8367,7,10,0,0,8367,8368,7,8,0,0,8368,1372,1,0,0,0,8369,8370,7,12,0,0,8370,8371,7,3,0,0,8371,8372,7,6,0,0,8372,8373,7,5,0,0,8373,1374,1,0,0,0,8374,8375,7,12,0,0,8375,8376,7,3,0,0,8376,8377,7,11,0,0,8377,8378,7,15,0,0,8378,8379,7,6,0,0,8379,8380,7,15,0,0,8380,8381,7,23,0,0,8381,8382,7,14,0,0,8382,1376,1,0,0,0,8383,8384,7,12,0,0,8384,8385,7,6,0,0,8385,8386,7,15,0,0,8386,8387,7,9,0,0,8387,8388,7,20,0,0,8388,8389,7,12,0,0,8389,1378,1,0,0,0,8390,8391,7,12,0,0,8391,8392,7,6,0,0,8392,8393,7,5,0,0,8393,8394,7,21,0,0,8394,8395,7,20,0,0,8395,8396,7,18,0,0,8396,8397,7,5,0,0,8397,1380,1,0,0,0,8398,8399,7,12,0,0,8399,8400,7,20,0,0,8400,8401,7,11,0,0,8401,8402,7,22,0,0,8402,1382,1,0,0,0,8403,8404,7,12,0,0,8404,8405,7,11,0,0,8405,8406,7,3,0,0,8406,8407,7,25,0,0,8407,8408,7,25,0,0,8408,8409,7,8,0,0,8409,8410,7,11,0,0,8410,1384,1,0,0,0,8411,8412,7,26,0,0,8412,8413,5,53,0,0,8413,8414,5,48,0,0,8414,8415,5,57,0,0,8415,1386,1,0,0,0,8416,8417,7,26,0,0,8417,8418,7,3,0,0,8418,1388,1,0,0,0,8419,8420,7,26,0,0,8420,8421,7,24,0,0,8421,8422,7,10,0,0,8422,1390,1,0,0,0,8423,8424,7,28,0,0,8424,8425,7,18,0,0,8425,8426,7,3,0,0,8426,8427,7,11,0,0,8427,8428,7,5,0,0,8428,8429,7,8,0,0,8429,8430,7,11,0,0,8430,1392,1,0,0,0,8431,8432,7,24,0,0,8432,8433,7,20,0,0,8433,8434,7,15,0,0,8434,8435,7,5,0,0,8435,8436,7,21,0,0,8436,1394,1,0,0,0,8437,8438,7,9,0,0,8438,8439,7,3,0,0,8439,8440,7,13,0,0,8440,1396,1,0,0,0,8441,8442,7,21,0,0,8442,8443,7,20,0,0,8443,8444,7,18,0,0,8444,8445,7,11,0,0,8445,1398,1,0,0,0,8446,8447,7,24,0,0,8447,8448,7,6,0,0,8448,8449,7,15,0,0,8449,8450,7,18,0,0,8450,8451,7,5,0,0,8451,8452,7,8,0,0,8452,1400,1,0,0,0,8453,8454,7,12,0,0,8454,8455,7,8,0,0,8455,8456,7,8,0,0,8456,8457,7,22,0,0,8457,1402,1,0,0,0,8458,8459,7,14,0,0,8459,8460,7,8,0,0,8460,8461,7,4,0,0,8461,8462,7,20,0,0,8462,8463,7,15,0,0,8463,8464,7,9,0,0,8464,1404,1,0,0,0,8465,8466,7,24,0,0,8466,8467,7,6,0,0,8467,8468,7,4,0,0,8468,8469,7,11,0,0,8469,8470,7,20,0,0,8470,8471,7,14,0,0,8471,8472,7,8,0,0,8472,8473,7,4,0,0,8473,8474,7,20,0,0,8474,8475,7,15,0,0,8475,8476,7,9,0,0,8476,1406,1,0,0,0,8477,8478,7,3,0,0,8478,8479,7,9,0,0,8479,8480,7,24,0,0,8480,8481,7,6,0,0,8481,8482,7,15,0,0,8482,1408,1,0,0,0,8483,8484,7,3,0,0,8484,8485,7,25,0,0,8485,8486,7,25,0,0,8486,8487,7,10,0,0,8487,8488,7,6,0,0,8488,8489,7,4,0,0,8489,8490,7,3,0,0,8490,8491,7,5,0,0,8491,8492,7,6,0,0,8492,8493,7,20,0,0,8493,8494,7,15,0,0,8494,8495,5,95,0,0,8495,8496,7,25,0,0,8496,8497,7,3,0,0,8497,8498,7,14,0,0,8498,8499,7,14,0,0,8499,8500,7,12,0,0,8500,8501,7,20,0,0,8501,8502,7,11,0,0,8502,8503,7,9,0,0,8503,8504,5,95,0,0,8504,8505,7,3,0,0,8505,8506,7,9,0,0,8506,8507,7,24,0,0,8507,8508,7,6,0,0,8508,8509,7,15,0,0,8509,1410,1,0,0,0,8510,8511,7,3,0,0,8511,8512,7,18,0,0,8512,8513,7,9,0,0,8513,8514,7,6,0,0,8514,8515,7,5,0,0,8515,8516,5,95,0,0,8516,8517,7,3,0,0,8517,8518,7,17,0,0,8518,8519,7,20,0,0,8519,8520,7,11,0,0,8520,8521,7,5,0,0,8521,8522,5,95,0,0,8522,8523,7,8,0,0,8523,8524,7,26,0,0,8524,8525,7,8,0,0,8525,8526,7,24,0,0,8526,8527,7,25,0,0,8527,8528,7,5,0,0,8528,1412,1,0,0,0,8529,8530,7,3,0,0,8530,8531,7,18,0,0,8531,8532,7,9,0,0,8532,8533,7,6,0,0,8533,8534,7,5,0,0,8534,8535,5,95,0,0,8535,8536,7,3,0,0,8536,8537,7,9,0,0,8537,8538,7,24,0,0,8538,8539,7,6,0,0,8539,8540,7,15,0,0,8540,1414,1,0,0,0,8541,8542,7,3,0,0,8542,8543,7,18,0,0,8543,8544,7,5,0,0,8544,8545,7,21,0,0,8545,8546,7,8,0,0,8546,8547,7,15,0,0,8547,8548,7,5,0,0,8548,8549,7,6,0,0,8549,8550,7,4,0,0,8550,8551,7,3,0,0,8551,8552,7,5,0,0,8552,8553,7,6,0,0,8553,8554,7,20,0,0,8554,8555,7,15,0,0,8555,1416,1,0,0,0,8556,8557,7,3,0,0,8557,8558,7,18,0,0,8558,8559,7,5,0,0,8559,8560,7,21,0,0,8560,8561,7,8,0,0,8561,8562,7,15,0,0,8562,8563,7,5,0,0,8563,8564,7,6,0,0,8564,8565,7,4,0,0,8565,8566,7,3,0,0,8566,8567,7,5,0,0,8567,8568,7,6,0,0,8568,8569,7,20,0,0,8569,8570,7,15,0,0,8570,8571,5,95,0,0,8571,8572,7,25,0,0,8572,8573,7,20,0,0,8573,8574,7,10,0,0,8574,8575,7,6,0,0,8575,8576,7,4,0,0,8576,8577,7,13,0,0,8577,8578,5,95,0,0,8578,8579,7,3,0,0,8579,8580,7,9,0,0,8580,8581,7,24,0,0,8581,8582,7,6,0,0,8582,8583,7,15,0,0,8583,1418,1,0,0,0,8584,8585,7,17,0,0,8585,8586,7,3,0,0,8586,8587,7,4,0,0,8587,8588,7,22,0,0,8588,8589,7,18,0,0,8589,8590,7,25,0,0,8590,8591,5,95,0,0,8591,8592,7,3,0,0,8592,8593,7,9,0,0,8593,8594,7,24,0,0,8594,8595,7,6,0,0,8595,8596,7,15,0,0,8596,1420,1,0,0,0,8597,8598,7,17,0,0,8598,8599,7,6,0,0,8599,8600,7,15,0,0,8600,8601,7,10,0,0,8601,8602,7,20,0,0,8602,8603,7,23,0,0,8603,8604,5,95,0,0,8604,8605,7,3,0,0,8605,8606,7,9,0,0,8606,8607,7,24,0,0,8607,8608,7,6,0,0,8608,8609,7,15,0,0,8609,1422,1,0,0,0,8610,8611,7,17,0,0,8611,8612,7,6,0,0,8612,8613,7,15,0,0,8613,8614,7,10,0,0,8614,8615,7,20,0,0,8615,8616,7,23,0,0,8616,8617,5,95,0,0,8617,8618,7,8,0,0,8618,8619,7,15,0,0,8619,8620,7,4,0,0,8620,8621,7,11,0,0,8621,8622,7,13,0,0,8622,8623,7,25,0,0,8623,8624,7,5,0,0,8624,8625,7,6,0,0,8625,8626,7,20,0,0,8626,8627,7,15,0,0,8627,8628,5,95,0,0,8628,8629,7,3,0,0,8629,8630,7,9,0,0,8630,8631,7,24,0,0,8631,8632,7,6,0,0,8632,8633,7,15,0,0,8633,1424,1,0,0,0,8634,8635,7,4,0,0,8635,8636,7,10,0,0,8636,8637,7,20,0,0,8637,8638,7,15,0,0,8638,8639,7,8,0,0,8639,1426,1,0,0,0,8640,8641,7,4,0,0,8641,8642,7,10,0,0,8642,8643,7,20,0,0,8643,8644,7,15,0,0,8644,8645,7,8,0,0,8645,8646,5,95,0,0,8646,8647,7,3,0,0,8647,8648,7,9,0,0,8648,8649,7,24,0,0,8649,8650,7,6,0,0,8650,8651,7,15,0,0,8651,1428,1,0,0,0,8652,8653,7,4,0,0,8653,8654,7,20,0,0,8654,8655,7,15,0,0,8655,8656,7,15,0,0,8656,8657,7,8,0,0,8657,8658,7,4,0,0,8658,8659,7,5,0,0,8659,8660,7,6,0,0,8660,8661,7,20,0,0,8661,8662,7,15,0,0,8662,8663,5,95,0,0,8663,8664,7,3,0,0,8664,8665,7,9,0,0,8665,8666,7,24,0,0,8666,8667,7,6,0,0,8667,8668,7,15,0,0,8668,1430,1,0,0,0,8669,8670,7,8,0,0,8670,8671,7,15,0,0,8671,8672,7,4,0,0,8672,8673,7,11,0,0,8673,8674,7,13,0,0,8674,8675,7,25,0,0,8675,8676,7,5,0,0,8676,8677,7,6,0,0,8677,8678,7,20,0,0,8678,8679,7,15,0,0,8679,8680,5,95,0,0,8680,8681,7,22,0,0,8681,8682,7,8,0,0,8682,8683,7,13,0,0,8683,8684,5,95,0,0,8684,8685,7,3,0,0,8685,8686,7,9,0,0,8686,8687,7,24,0,0,8687,8688,7,6,0,0,8688,8689,7,15,0,0,8689,1432,1,0,0,0,8690,8691,7,8,0,0,8691,8692,7,26,0,0,8692,8693,7,8,0,0,8693,8694,7,4,0,0,8694,8695,7,18,0,0,8695,8696,7,5,0,0,8696,8697,7,8,0,0,8697,1434,1,0,0,0,8698,8699,7,19,0,0,8699,8700,7,6,0,0,8700,8701,7,10,0,0,8701,8702,7,8,0,0,8702,1436,1,0,0,0,8703,8704,7,19,0,0,8704,8705,7,6,0,0,8705,8706,7,11,0,0,8706,8707,7,8,0,0,8707,8708,7,12,0,0,8708,8709,7,3,0,0,8709,8710,7,10,0,0,8710,8711,7,10,0,0,8711,8712,5,95,0,0,8712,8713,7,3,0,0,8713,8714,7,9,0,0,8714,8715,7,24,0,0,8715,8716,7,6,0,0,8716,8717,7,15,0,0,8717,1438,1,0,0,0,8718,8719,7,19,0,0,8719,8720,7,6,0,0,8720,8721,7,11,0,0,8721,8722,7,8,0,0,8722,8723,7,12,0,0,8723,8724,7,3,0,0,8724,8725,7,10,0,0,8725,8726,7,10,0,0,8726,8727,5,95,0,0,8727,8728,7,8,0,0,8728,8729,7,26,0,0,8729,8730,7,8,0,0,8730,8731,7,24,0,0,8731,8732,7,25,0,0,8732,8733,7,5,0,0,8733,1440,1,0,0,0,8734,8735,7,19,0,0,8735,8736,7,6,0,0,8736,8737,7,11,0,0,8737,8738,7,8,0,0,8738,8739,7,12,0,0,8739,8740,7,3,0,0,8740,8741,7,10,0,0,8741,8742,7,10,0,0,8742,8743,5,95,0,0,8743,8744,7,18,0,0,8744,8745,7,14,0,0,8745,8746,7,8,0,0,8746,8747,7,11,0,0,8747,1442,1,0,0,0,8748,8749,7,19,0,0,8749,8750,7,10,0,0,8750,8751,7,18,0,0,8751,8752,7,14,0,0,8752,8753,7,21,0,0,8753,8754,5,95,0,0,8754,8755,7,20,0,0,8755,8756,7,25,0,0,8756,8757,7,5,0,0,8757,8758,7,6,0,0,8758,8759,7,24,0,0,8759,8760,7,6,0,0,8760,8761,7,16,0,0,8761,8762,7,8,0,0,8762,8763,7,11,0,0,8763,8764,5,95,0,0,8764,8765,7,4,0,0,8765,8766,7,20,0,0,8766,8767,7,14,0,0,8767,8768,7,5,0,0,8768,8769,7,14,0,0,8769,1444,1,0,0,0,8770,8771,7,19,0,0,8771,8772,7,10,0,0,8772,8773,7,18,0,0,8773,8774,7,14,0,0,8774,8775,7,21,0,0,8775,8776,5,95,0,0,8776,8777,7,14,0,0,8777,8778,7,5,0,0,8778,8779,7,3,0,0,8779,8780,7,5,0,0,8780,8781,7,18,0,0,8781,8782,7,14,0,0,8782,1446,1,0,0,0,8783,8784,7,19,0,0,8784,8785,7,10,0,0,8785,8786,7,18,0,0,8786,8787,7,14,0,0,8787,8788,7,21,0,0,8788,8789,5,95,0,0,8789,8790,7,5,0,0,8790,8791,7,3,0,0,8791,8792,7,17,0,0,8792,8793,7,10,0,0,8793,8794,7,8,0,0,8794,8795,7,14,0,0,8795,1448,1,0,0,0,8796,8797,7,19,0,0,8797,8798,7,10,0,0,8798,8799,7,18,0,0,8799,8800,7,14,0,0,8800,8801,7,21,0,0,8801,8802,5,95,0,0,8802,8803,7,18,0,0,8803,8804,7,14,0,0,8804,8805,7,8,0,0,8805,8806,7,11,0,0,8806,8807,5,95,0,0,8807,8808,7,11,0,0,8808,8809,7,8,0,0,8809,8810,7,14,0,0,8810,8811,7,20,0,0,8811,8812,7,18,0,0,8812,8813,7,11,0,0,8813,8814,7,4,0,0,8814,8815,7,8,0,0,8815,8816,7,14,0,0,8816,1450,1,0,0,0,8817,8818,7,23,0,0,8818,8819,7,11,0,0,8819,8820,7,20,0,0,8820,8821,7,18,0,0,8821,8822,7,25,0,0,8822,8823,5,95,0,0,8823,8824,7,11,0,0,8824,8825,7,8,0,0,8825,8826,7,25,0,0,8826,8827,7,10,0,0,8827,8828,7,6,0,0,8828,8829,7,4,0,0,8829,8830,7,3,0,0,8830,8831,7,5,0,0,8831,8832,7,6,0,0,8832,8833,7,20,0,0,8833,8834,7,15,0,0,8834,8835,5,95,0,0,8835,8836,7,3,0,0,8836,8837,7,9,0,0,8837,8838,7,24,0,0,8838,8839,7,6,0,0,8839,8840,7,15,0,0,8840,1452,1,0,0,0,8841,8842,7,6,0,0,8842,8843,7,15,0,0,8843,8844,7,15,0,0,8844,8845,7,20,0,0,8845,8846,7,9,0,0,8846,8847,7,17,0,0,8847,8848,5,95,0,0,8848,8849,7,11,0,0,8849,8850,7,8,0,0,8850,8851,7,9,0,0,8851,8852,7,20,0,0,8852,8853,5,95,0,0,8853,8854,7,10,0,0,8854,8855,7,20,0,0,8855,8856,7,23,0,0,8856,8857,5,95,0,0,8857,8858,7,3,0,0,8858,8859,7,11,0,0,8859,8860,7,4,0,0,8860,8861,7,21,0,0,8861,8862,7,6,0,0,8862,8863,7,7,0,0,8863,8864,7,8,0,0,8864,1454,1,0,0,0,8865,8866,7,6,0,0,8866,8867,7,15,0,0,8867,8868,7,15,0,0,8868,8869,7,20,0,0,8869,8870,7,9,0,0,8870,8871,7,17,0,0,8871,8872,5,95,0,0,8872,8873,7,11,0,0,8873,8874,7,8,0,0,8874,8875,7,9,0,0,8875,8876,7,20,0,0,8876,8877,5,95,0,0,8877,8878,7,10,0,0,8878,8879,7,20,0,0,8879,8880,7,23,0,0,8880,8881,5,95,0,0,8881,8882,7,8,0,0,8882,8883,7,15,0,0,8883,8884,7,3,0,0,8884,8885,7,17,0,0,8885,8886,7,10,0,0,8886,8887,7,8,0,0,8887,1456,1,0,0,0,8888,8889,7,6,0,0,8889,8890,7,15,0,0,8890,8891,7,7,0,0,8891,8892,7,20,0,0,8892,8893,7,22,0,0,8893,8894,7,8,0,0,8894,1458,1,0,0,0,8895,8896,7,10,0,0,8896,8897,7,3,0,0,8897,8898,7,24,0,0,8898,8899,7,17,0,0,8899,8900,7,9,0,0,8900,8901,7,3,0,0,8901,1460,1,0,0,0,8902,8903,7,15,0,0,8903,8904,7,9,0,0,8904,8905,7,17,0,0,8905,8906,5,95,0,0,8906,8907,7,14,0,0,8907,8908,7,5,0,0,8908,8909,7,20,0,0,8909,8910,7,11,0,0,8910,8911,7,8,0,0,8911,8912,7,9,0,0,8912,8913,5,95,0,0,8913,8914,7,18,0,0,8914,8915,7,14,0,0,8915,8916,7,8,0,0,8916,8917,7,11,0,0,8917,1462,1,0,0,0,8918,8919,7,25,0,0,8919,8920,7,3,0,0,8920,8921,7,14,0,0,8921,8922,7,14,0,0,8922,8923,7,12,0,0,8923,8924,7,20,0,0,8924,8925,7,11,0,0,8925,8926,7,9,0,0,8926,8927,7,10,0,0,8927,8928,7,8,0,0,8928,8929,7,14,0,0,8929,8930,7,14,0,0,8930,8931,5,95,0,0,8931,8932,7,18,0,0,8932,8933,7,14,0,0,8933,8934,7,8,0,0,8934,8935,7,11,0,0,8935,8936,5,95,0,0,8936,8937,7,3,0,0,8937,8938,7,9,0,0,8938,8939,7,24,0,0,8939,8940,7,6,0,0,8940,8941,7,15,0,0,8941,1464,1,0,0,0,8942,8943,7,25,0,0,8943,8944,7,8,0,0,8944,8945,7,11,0,0,8945,8946,7,14,0,0,8946,8947,7,6,0,0,8947,8948,7,14,0,0,8948,8949,7,5,0,0,8949,8950,5,95,0,0,8950,8951,7,11,0,0,8951,8952,7,20,0,0,8952,8953,5,95,0,0,8953,8954,7,7,0,0,8954,8955,7,3,0,0,8955,8956,7,11,0,0,8956,8957,7,6,0,0,8957,8958,7,3,0,0,8958,8959,7,17,0,0,8959,8960,7,10,0,0,8960,8961,7,8,0,0,8961,8962,7,14,0,0,8962,8963,5,95,0,0,8963,8964,7,3,0,0,8964,8965,7,9,0,0,8965,8966,7,24,0,0,8966,8967,7,6,0,0,8967,8968,7,15,0,0,8968,1466,1,0,0,0,8969,8970,7,25,0,0,8970,8971,7,11,0,0,8971,8972,7,6,0,0,8972,8973,7,7,0,0,8973,8974,7,6,0,0,8974,8975,7,10,0,0,8975,8976,7,8,0,0,8976,8977,7,23,0,0,8977,8978,7,8,0,0,8978,8979,7,14,0,0,8979,1468,1,0,0,0,8980,8981,7,25,0,0,8981,8982,7,11,0,0,8982,8983,7,20,0,0,8983,8984,7,4,0,0,8984,8985,7,8,0,0,8985,8986,7,14,0,0,8986,8987,7,14,0,0,8987,1470,1,0,0,0,8988,8989,7,11,0,0,8989,8990,7,8,0,0,8990,8991,7,10,0,0,8991,8992,7,20,0,0,8992,8993,7,3,0,0,8993,8994,7,9,0,0,8994,1472,1,0,0,0,8995,8996,7,11,0,0,8996,8997,7,8,0,0,8997,8998,7,25,0,0,8998,8999,7,10,0,0,8999,9e3,7,6,0,0,9e3,9001,7,4,0,0,9001,9002,7,3,0,0,9002,9003,7,5,0,0,9003,9004,7,6,0,0,9004,9005,7,20,0,0,9005,9006,7,15,0,0,9006,9007,5,95,0,0,9007,9008,7,3,0,0,9008,9009,7,25,0,0,9009,9010,7,25,0,0,9010,9011,7,10,0,0,9011,9012,7,6,0,0,9012,9013,7,8,0,0,9013,9014,7,11,0,0,9014,1474,1,0,0,0,9015,9016,7,11,0,0,9016,9017,7,8,0,0,9017,9018,7,25,0,0,9018,9019,7,10,0,0,9019,9020,7,6,0,0,9020,9021,7,4,0,0,9021,9022,7,3,0,0,9022,9023,7,5,0,0,9023,9024,7,6,0,0,9024,9025,7,20,0,0,9025,9026,7,15,0,0,9026,9027,5,95,0,0,9027,9028,7,14,0,0,9028,9029,7,10,0,0,9029,9030,7,3,0,0,9030,9031,7,7,0,0,9031,9032,7,8,0,0,9032,9033,5,95,0,0,9033,9034,7,3,0,0,9034,9035,7,9,0,0,9035,9036,7,24,0,0,9036,9037,7,6,0,0,9037,9038,7,15,0,0,9038,1476,1,0,0,0,9039,9040,7,11,0,0,9040,9041,7,8,0,0,9041,9042,7,14,0,0,9042,9043,7,20,0,0,9043,9044,7,18,0,0,9044,9045,7,11,0,0,9045,9046,7,4,0,0,9046,9047,7,8,0,0,9047,1478,1,0,0,0,9048,9049,7,11,0,0,9049,9050,7,8,0,0,9050,9051,7,14,0,0,9051,9052,7,20,0,0,9052,9053,7,18,0,0,9053,9054,7,11,0,0,9054,9055,7,4,0,0,9055,9056,7,8,0,0,9056,9057,5,95,0,0,9057,9058,7,23,0,0,9058,9059,7,11,0,0,9059,9060,7,20,0,0,9060,9061,7,18,0,0,9061,9062,7,25,0,0,9062,9063,5,95,0,0,9063,9064,7,3,0,0,9064,9065,7,9,0,0,9065,9066,7,24,0,0,9066,9067,7,6,0,0,9067,9068,7,15,0,0,9068,1480,1,0,0,0,9069,9070,7,11,0,0,9070,9071,7,8,0,0,9071,9072,7,14,0,0,9072,9073,7,20,0,0,9073,9074,7,18,0,0,9074,9075,7,11,0,0,9075,9076,7,4,0,0,9076,9077,7,8,0,0,9077,9078,5,95,0,0,9078,9079,7,23,0,0,9079,9080,7,11,0,0,9080,9081,7,20,0,0,9081,9082,7,18,0,0,9082,9083,7,25,0,0,9083,9084,5,95,0,0,9084,9085,7,18,0,0,9085,9086,7,14,0,0,9086,9087,7,8,0,0,9087,9088,7,11,0,0,9088,1482,1,0,0,0,9089,9090,7,11,0,0,9090,9091,7,20,0,0,9091,9092,7,10,0,0,9092,9093,7,8,0,0,9093,9094,5,95,0,0,9094,9095,7,3,0,0,9095,9096,7,9,0,0,9096,9097,7,24,0,0,9097,9098,7,6,0,0,9098,9099,7,15,0,0,9099,1484,1,0,0,0,9100,9101,7,11,0,0,9101,9102,7,20,0,0,9102,9103,7,18,0,0,9103,9104,7,5,0,0,9104,9105,7,6,0,0,9105,9106,7,15,0,0,9106,9107,7,8,0,0,9107,1486,1,0,0,0,9108,9109,7,14,0,0,9109,9110,5,51,0,0,9110,1488,1,0,0,0,9111,9112,7,14,0,0,9112,9113,7,8,0,0,9113,9114,7,11,0,0,9114,9115,7,7,0,0,9115,9116,7,6,0,0,9116,9117,7,4,0,0,9117,9118,7,8,0,0,9118,9119,5,95,0,0,9119,9120,7,4,0,0,9120,9121,7,20,0,0,9121,9122,7,15,0,0,9122,9123,7,15,0,0,9123,9124,7,8,0,0,9124,9125,7,4,0,0,9125,9126,7,5,0,0,9126,9127,7,6,0,0,9127,9128,7,20,0,0,9128,9129,7,15,0,0,9129,9130,5,95,0,0,9130,9131,7,3,0,0,9131,9132,7,9,0,0,9132,9133,7,24,0,0,9133,9134,7,6,0,0,9134,9135,7,15,0,0,9135,1490,1,0,0,0,9136,9138,3,1757,878,0,9137,9136,1,0,0,0,9137,9138,1,0,0,0,9138,9139,1,0,0,0,9139,9140,7,14,0,0,9140,9141,7,8,0,0,9141,9142,7,14,0,0,9142,9143,7,14,0,0,9143,9144,7,6,0,0,9144,9145,7,20,0,0,9145,9146,7,15,0,0,9146,9147,5,95,0,0,9147,9148,7,7,0,0,9148,9149,7,3,0,0,9149,9150,7,11,0,0,9150,9151,7,6,0,0,9151,9152,7,3,0,0,9152,9153,7,17,0,0,9153,9154,7,10,0,0,9154,9155,7,8,0,0,9155,9156,7,14,0,0,9156,9157,5,95,0,0,9157,9158,7,3,0,0,9158,9159,7,9,0,0,9159,9160,7,24,0,0,9160,9161,7,6,0,0,9161,9162,7,15,0,0,9162,9164,1,0,0,0,9163,9165,3,1757,878,0,9164,9163,1,0,0,0,9164,9165,1,0,0,0,9165,1492,1,0,0,0,9166,9167,7,14,0,0,9167,9168,7,8,0,0,9168,9169,7,5,0,0,9169,9170,5,95,0,0,9170,9171,7,18,0,0,9171,9172,7,14,0,0,9172,9173,7,8,0,0,9173,9174,7,11,0,0,9174,9175,5,95,0,0,9175,9176,7,6,0,0,9176,9177,7,9,0,0,9177,1494,1,0,0,0,9178,9179,7,14,0,0,9179,9180,7,21,0,0,9180,9181,7,20,0,0,9181,9182,7,12,0,0,9182,9183,5,95,0,0,9183,9184,7,11,0,0,9184,9185,7,20,0,0,9185,9186,7,18,0,0,9186,9187,7,5,0,0,9187,9188,7,6,0,0,9188,9189,7,15,0,0,9189,9190,7,8,0,0,9190,1496,1,0,0,0,9191,9192,7,14,0,0,9192,9193,7,21,0,0,9193,9194,7,18,0,0,9194,9195,7,5,0,0,9195,9196,7,9,0,0,9196,9197,7,20,0,0,9197,9198,7,12,0,0,9198,9199,7,15,0,0,9199,1498,1,0,0,0,9200,9201,7,14,0,0,9201,9202,7,18,0,0,9202,9203,7,25,0,0,9203,9204,7,8,0,0,9204,9205,7,11,0,0,9205,1500,1,0,0,0,9206,9207,7,14,0,0,9207,9208,7,13,0,0,9208,9209,7,14,0,0,9209,9210,7,5,0,0,9210,9211,7,8,0,0,9211,9212,7,24,0,0,9212,9213,5,95,0,0,9213,9214,7,7,0,0,9214,9215,7,3,0,0,9215,9216,7,11,0,0,9216,9217,7,6,0,0,9217,9218,7,3,0,0,9218,9219,7,17,0,0,9219,9220,7,10,0,0,9220,9221,7,8,0,0,9221,9222,7,14,0,0,9222,9223,5,95,0,0,9223,9224,7,3,0,0,9224,9225,7,9,0,0,9225,9226,7,24,0,0,9226,9227,7,6,0,0,9227,9228,7,15,0,0,9228,1502,1,0,0,0,9229,9230,7,5,0,0,9230,9231,7,3,0,0,9231,9232,7,17,0,0,9232,9233,7,10,0,0,9233,9234,7,8,0,0,9234,9235,7,14,0,0,9235,1504,1,0,0,0,9236,9237,7,5,0,0,9237,9238,7,3,0,0,9238,9239,7,17,0,0,9239,9240,7,10,0,0,9240,9241,7,8,0,0,9241,9242,5,95,0,0,9242,9243,7,8,0,0,9243,9244,7,15,0,0,9244,9245,7,4,0,0,9245,9246,7,11,0,0,9246,9247,7,13,0,0,9247,9248,7,25,0,0,9248,9249,7,5,0,0,9249,9250,7,6,0,0,9250,9251,7,20,0,0,9251,9252,7,15,0,0,9252,9253,5,95,0,0,9253,9254,7,3,0,0,9254,9255,7,9,0,0,9255,9256,7,24,0,0,9256,9257,7,6,0,0,9257,9258,7,15,0,0,9258,1506,1,0,0,0,9259,9260,7,7,0,0,9260,9261,7,8,0,0,9261,9262,7,11,0,0,9262,9263,7,14,0,0,9263,9264,7,6,0,0,9264,9265,7,20,0,0,9265,9266,7,15,0,0,9266,9267,5,95,0,0,9267,9268,7,5,0,0,9268,9269,7,20,0,0,9269,9270,7,22,0,0,9270,9271,7,8,0,0,9271,9272,7,15,0,0,9272,9273,5,95,0,0,9273,9274,7,3,0,0,9274,9275,7,9,0,0,9275,9276,7,24,0,0,9276,9277,7,6,0,0,9277,9278,7,15,0,0,9278,1508,1,0,0,0,9279,9280,7,26,0,0,9280,9281,7,3,0,0,9281,9282,5,95,0,0,9282,9283,7,11,0,0,9283,9284,7,8,0,0,9284,9285,7,4,0,0,9285,9286,7,20,0,0,9286,9287,7,7,0,0,9287,9288,7,8,0,0,9288,9289,7,11,0,0,9289,9290,5,95,0,0,9290,9291,7,3,0,0,9291,9292,7,9,0,0,9292,9293,7,24,0,0,9293,9294,7,6,0,0,9294,9295,7,15,0,0,9295,1510,1,0,0,0,9296,9297,7,3,0,0,9297,9298,7,11,0,0,9298,9299,7,24,0,0,9299,9300,7,14,0,0,9300,9301,7,4,0,0,9301,9302,7,6,0,0,9302,9303,7,6,0,0,9303,9304,5,56,0,0,9304,1512,1,0,0,0,9305,9306,7,3,0,0,9306,9307,7,14,0,0,9307,9308,7,4,0,0,9308,9309,7,6,0,0,9309,9310,7,6,0,0,9310,1514,1,0,0,0,9311,9312,7,17,0,0,9312,9313,7,6,0,0,9313,9314,7,23,0,0,9314,9315,5,53,0,0,9315,1516,1,0,0,0,9316,9317,7,4,0,0,9317,9318,7,25,0,0,9318,9319,5,49,0,0,9319,9320,5,50,0,0,9320,9321,5,53,0,0,9321,9322,5,48,0,0,9322,1518,1,0,0,0,9323,9324,7,4,0,0,9324,9325,7,25,0,0,9325,9326,5,49,0,0,9326,9327,5,50,0,0,9327,9328,5,53,0,0,9328,9329,5,49,0,0,9329,1520,1,0,0,0,9330,9331,7,4,0,0,9331,9332,7,25,0,0,9332,9333,5,49,0,0,9333,9334,5,50,0,0,9334,9335,5,53,0,0,9335,9336,5,54,0,0,9336,1522,1,0,0,0,9337,9338,7,4,0,0,9338,9339,7,25,0,0,9339,9340,5,49,0,0,9340,9341,5,50,0,0,9341,9342,5,53,0,0,9342,9343,5,55,0,0,9343,1524,1,0,0,0,9344,9345,7,4,0,0,9345,9346,7,25,0,0,9346,9347,5,56,0,0,9347,9348,5,53,0,0,9348,9349,5,48,0,0,9349,1526,1,0,0,0,9350,9351,7,4,0,0,9351,9352,7,25,0,0,9352,9353,5,56,0,0,9353,9354,5,53,0,0,9354,9355,5,50,0,0,9355,1528,1,0,0,0,9356,9357,7,4,0,0,9357,9358,7,25,0,0,9358,9359,5,56,0,0,9359,9360,5,54,0,0,9360,9361,5,54,0,0,9361,1530,1,0,0,0,9362,9363,7,4,0,0,9363,9364,7,25,0,0,9364,9365,5,57,0,0,9365,9366,5,51,0,0,9366,9367,5,50,0,0,9367,1532,1,0,0,0,9368,9369,7,9,0,0,9369,9370,7,8,0,0,9370,9371,7,4,0,0,9371,9372,5,56,0,0,9372,1534,1,0,0,0,9373,9374,7,8,0,0,9374,9375,7,18,0,0,9375,9376,7,4,0,0,9376,9377,7,27,0,0,9377,9378,7,25,0,0,9378,9379,7,24,0,0,9379,9380,7,14,0,0,9380,1536,1,0,0,0,9381,9382,7,8,0,0,9382,9383,7,18,0,0,9383,9384,7,4,0,0,9384,9385,7,22,0,0,9385,9386,7,11,0,0,9386,1538,1,0,0,0,9387,9388,7,23,0,0,9388,9389,7,17,0,0,9389,9390,5,49,0,0,9390,9391,5,56,0,0,9391,9392,5,48,0,0,9392,9393,5,51,0,0,9393,9394,5,48,0,0,9394,1540,1,0,0,0,9395,9396,7,23,0,0,9396,9397,7,17,0,0,9397,9398,5,50,0,0,9398,9399,5,51,0,0,9399,9400,5,49,0,0,9400,9401,5,50,0,0,9401,1542,1,0,0,0,9402,9403,7,23,0,0,9403,9404,7,17,0,0,9404,9405,7,22,0,0,9405,1544,1,0,0,0,9406,9407,7,23,0,0,9407,9408,7,8,0,0,9408,9409,7,20,0,0,9409,9410,7,14,0,0,9410,9411,7,5,0,0,9411,9412,7,9,0,0,9412,9413,5,56,0,0,9413,1546,1,0,0,0,9414,9415,7,23,0,0,9415,9416,7,11,0,0,9416,9417,7,8,0,0,9417,9418,7,8,0,0,9418,9419,7,22,0,0,9419,1548,1,0,0,0,9420,9421,7,21,0,0,9421,9422,7,8,0,0,9422,9423,7,17,0,0,9423,9424,7,11,0,0,9424,9425,7,8,0,0,9425,9426,7,12,0,0,9426,1550,1,0,0,0,9427,9428,7,21,0,0,9428,9429,7,25,0,0,9429,9430,5,56,0,0,9430,1552,1,0,0,0,9431,9432,7,22,0,0,9432,9433,7,8,0,0,9433,9434,7,13,0,0,9434,9435,7,17,0,0,9435,9436,7,4,0,0,9436,9437,7,14,0,0,9437,9438,5,50,0,0,9438,1554,1,0,0,0,9439,9440,7,22,0,0,9440,9441,7,20,0,0,9441,9442,7,6,0,0,9442,9443,5,56,0,0,9443,9444,7,11,0,0,9444,1556,1,0,0,0,9445,9446,7,22,0,0,9446,9447,7,20,0,0,9447,9448,7,6,0,0,9448,9449,5,56,0,0,9449,9450,7,18,0,0,9450,1558,1,0,0,0,9451,9452,7,10,0,0,9452,9453,7,3,0,0,9453,9454,7,5,0,0,9454,9455,7,6,0,0,9455,9456,7,15,0,0,9456,9457,5,49,0,0,9457,1560,1,0,0,0,9458,9459,7,10,0,0,9459,9460,7,3,0,0,9460,9461,7,5,0,0,9461,9462,7,6,0,0,9462,9463,7,15,0,0,9463,9464,5,50,0,0,9464,1562,1,0,0,0,9465,9466,7,10,0,0,9466,9467,7,3,0,0,9467,9468,7,5,0,0,9468,9469,7,6,0,0,9469,9470,7,15,0,0,9470,9471,5,53,0,0,9471,1564,1,0,0,0,9472,9473,7,10,0,0,9473,9474,7,3,0,0,9474,9475,7,5,0,0,9475,9476,7,6,0,0,9476,9477,7,15,0,0,9477,9478,5,55,0,0,9478,1566,1,0,0,0,9479,9480,7,24,0,0,9480,9481,7,3,0,0,9481,9482,7,4,0,0,9482,9483,7,4,0,0,9483,9484,7,8,0,0,9484,1568,1,0,0,0,9485,9486,7,24,0,0,9486,9487,7,3,0,0,9487,9488,7,4,0,0,9488,9489,7,11,0,0,9489,9490,7,20,0,0,9490,9491,7,24,0,0,9491,9492,7,3,0,0,9492,9493,7,15,0,0,9493,1570,1,0,0,0,9494,9495,7,14,0,0,9495,9496,7,27,0,0,9496,9497,7,6,0,0,9497,9498,7,14,0,0,9498,1572,1,0,0,0,9499,9500,7,14,0,0,9500,9501,7,12,0,0,9501,9502,7,8,0,0,9502,9503,5,55,0,0,9503,1574,1,0,0,0,9504,9505,7,5,0,0,9505,9506,7,6,0,0,9506,9507,7,14,0,0,9507,9508,5,54,0,0,9508,9509,5,50,0,0,9509,9510,5,48,0,0,9510,1576,1,0,0,0,9511,9512,7,18,0,0,9512,9513,7,4,0,0,9513,9514,7,14,0,0,9514,9515,5,50,0,0,9515,1578,1,0,0,0,9516,9517,7,18,0,0,9517,9518,7,27,0,0,9518,9519,7,6,0,0,9519,9520,7,14,0,0,9520,1580,1,0,0,0,9521,9522,7,18,0,0,9522,9523,7,5,0,0,9523,9524,7,19,0,0,9524,9525,5,49,0,0,9525,9526,5,54,0,0,9526,1582,1,0,0,0,9527,9528,7,18,0,0,9528,9529,7,5,0,0,9529,9530,7,19,0,0,9530,9531,5,49,0,0,9531,9532,5,54,0,0,9532,9533,7,10,0,0,9533,9534,7,8,0,0,9534,1584,1,0,0,0,9535,9536,7,18,0,0,9536,9537,7,5,0,0,9537,9538,7,19,0,0,9538,9539,5,51,0,0,9539,9540,5,50,0,0,9540,1586,1,0,0,0,9541,9542,7,18,0,0,9542,9543,7,5,0,0,9543,9544,7,19,0,0,9544,9545,5,56,0,0,9545,1588,1,0,0,0,9546,9547,7,18,0,0,9547,9548,7,5,0,0,9548,9549,7,19,0,0,9549,9550,5,56,0,0,9550,9551,7,24,0,0,9551,9552,7,17,0,0,9552,9553,5,51,0,0,9553,1590,1,0,0,0,9554,9555,7,18,0,0,9555,9556,7,5,0,0,9556,9557,7,19,0,0,9557,9558,5,56,0,0,9558,9559,7,24,0,0,9559,9560,7,17,0,0,9560,9561,5,52,0,0,9561,1592,1,0,0,0,9562,9563,7,3,0,0,9563,9564,7,11,0,0,9564,9565,7,4,0,0,9565,9566,7,21,0,0,9566,9567,7,6,0,0,9567,9568,7,7,0,0,9568,9569,7,8,0,0,9569,1594,1,0,0,0,9570,9571,7,17,0,0,9571,9572,7,10,0,0,9572,9573,7,3,0,0,9573,9574,7,4,0,0,9574,9575,7,22,0,0,9575,9576,7,21,0,0,9576,9577,7,20,0,0,9577,9578,7,10,0,0,9578,9579,7,8,0,0,9579,1596,1,0,0,0,9580,9581,7,4,0,0,9581,9582,7,14,0,0,9582,9583,7,7,0,0,9583,1598,1,0,0,0,9584,9585,7,19,0,0,9585,9586,7,8,0,0,9586,9587,7,9,0,0,9587,9588,7,8,0,0,9588,9589,7,11,0,0,9589,9590,7,3,0,0,9590,9591,7,5,0,0,9591,9592,7,8,0,0,9592,9593,7,9,0,0,9593,1600,1,0,0,0,9594,9595,7,6,0,0,9595,9596,7,15,0,0,9596,9597,7,15,0,0,9597,9598,7,20,0,0,9598,9599,7,9,0,0,9599,9600,7,17,0,0,9600,1602,1,0,0,0,9601,9602,7,24,0,0,9602,9603,7,8,0,0,9603,9604,7,24,0,0,9604,9605,7,20,0,0,9605,9606,7,11,0,0,9606,9607,7,13,0,0,9607,1604,1,0,0,0,9608,9609,7,24,0,0,9609,9610,7,11,0,0,9610,9611,7,23,0,0,9611,9612,5,95,0,0,9612,9613,7,24,0,0,9613,9614,7,13,0,0,9614,9615,7,6,0,0,9615,9616,7,14,0,0,9616,9617,7,3,0,0,9617,9618,7,24,0,0,9618,1606,1,0,0,0,9619,9620,7,24,0,0,9620,9621,7,13,0,0,9621,9622,7,6,0,0,9622,9623,7,14,0,0,9623,9624,7,3,0,0,9624,9625,7,24,0,0,9625,1608,1,0,0,0,9626,9627,7,15,0,0,9627,9628,7,9,0,0,9628,9629,7,17,0,0,9629,1610,1,0,0,0,9630,9631,7,15,0,0,9631,9632,7,9,0,0,9632,9633,7,17,0,0,9633,9634,7,4,0,0,9634,9635,7,10,0,0,9635,9636,7,18,0,0,9636,9637,7,14,0,0,9637,9638,7,5,0,0,9638,9639,7,8,0,0,9639,9640,7,11,0,0,9640,1612,1,0,0,0,9641,9642,7,25,0,0,9642,9643,7,8,0,0,9643,9644,7,11,0,0,9644,9645,7,19,0,0,9645,9646,7,20,0,0,9646,9647,7,11,0,0,9647,9648,7,24,0,0,9648,9649,7,3,0,0,9649,9650,7,15,0,0,9650,9651,7,4,0,0,9651,9652,7,8,0,0,9652,9653,5,95,0,0,9653,9654,7,14,0,0,9654,9655,7,4,0,0,9655,9656,7,21,0,0,9656,9657,7,8,0,0,9657,9658,7,24,0,0,9658,9659,7,3,0,0,9659,1614,1,0,0,0,9660,9661,7,5,0,0,9661,9662,7,20,0,0,9662,9663,7,22,0,0,9663,9664,7,18,0,0,9664,9665,7,9,0,0,9665,9666,7,17,0,0,9666,1616,1,0,0,0,9667,9668,7,11,0,0,9668,9669,7,8,0,0,9669,9670,7,25,0,0,9670,9671,7,8,0,0,9671,9672,7,3,0,0,9672,9673,7,5,0,0,9673,9674,7,3,0,0,9674,9675,7,17,0,0,9675,9676,7,10,0,0,9676,9677,7,8,0,0,9677,1618,1,0,0,0,9678,9679,7,4,0,0,9679,9680,7,20,0,0,9680,9681,7,24,0,0,9681,9682,7,24,0,0,9682,9683,7,6,0,0,9683,9684,7,5,0,0,9684,9685,7,5,0,0,9685,9686,7,8,0,0,9686,9687,7,9,0,0,9687,1620,1,0,0,0,9688,9689,7,18,0,0,9689,9690,7,15,0,0,9690,9691,7,4,0,0,9691,9692,7,20,0,0,9692,9693,7,24,0,0,9693,9694,7,24,0,0,9694,9695,7,6,0,0,9695,9696,7,5,0,0,9696,9697,7,5,0,0,9697,9698,7,8,0,0,9698,9699,7,9,0,0,9699,1622,1,0,0,0,9700,9701,7,14,0,0,9701,9702,7,8,0,0,9702,9703,7,11,0,0,9703,9704,7,6,0,0,9704,9705,7,3,0,0,9705,9706,7,10,0,0,9706,9707,7,6,0,0,9707,9708,7,16,0,0,9708,9709,7,3,0,0,9709,9710,7,17,0,0,9710,9711,7,10,0,0,9711,9712,7,8,0,0,9712,1624,1,0,0,0,9713,9714,7,23,0,0,9714,9715,7,8,0,0,9715,9716,7,20,0,0,9716,9717,7,24,0,0,9717,9718,7,8,0,0,9718,9719,7,5,0,0,9719,9720,7,11,0,0,9720,9721,7,13,0,0,9721,9722,7,4,0,0,9722,9723,7,20,0,0,9723,9724,7,10,0,0,9724,9725,7,10,0,0,9725,9726,7,8,0,0,9726,9727,7,4,0,0,9727,9728,7,5,0,0,9728,9729,7,6,0,0,9729,9730,7,20,0,0,9730,9731,7,15,0,0,9731,1626,1,0,0,0,9732,9733,7,23,0,0,9733,9734,7,8,0,0,9734,9735,7,20,0,0,9735,9736,7,24,0,0,9736,9737,7,4,0,0,9737,9738,7,20,0,0,9738,9739,7,10,0,0,9739,9740,7,10,0,0,9740,9741,7,8,0,0,9741,9742,7,4,0,0,9742,9743,7,5,0,0,9743,9744,7,6,0,0,9744,9745,7,20,0,0,9745,9746,7,15,0,0,9746,1628,1,0,0,0,9747,9748,7,23,0,0,9748,9749,7,8,0,0,9749,9750,7,20,0,0,9750,9751,7,24,0,0,9751,9752,7,8,0,0,9752,9753,7,5,0,0,9753,9754,7,11,0,0,9754,9755,7,13,0,0,9755,1630,1,0,0,0,9756,9757,7,10,0,0,9757,9758,7,6,0,0,9758,9759,7,15,0,0,9759,9760,7,8,0,0,9760,9761,7,14,0,0,9761,9762,7,5,0,0,9762,9763,7,11,0,0,9763,9764,7,6,0,0,9764,9765,7,15,0,0,9765,9766,7,23,0,0,9766,1632,1,0,0,0,9767,9768,7,24,0,0,9768,9769,7,18,0,0,9769,9770,7,10,0,0,9770,9771,7,5,0,0,9771,9772,7,6,0,0,9772,9773,7,10,0,0,9773,9774,7,6,0,0,9774,9775,7,15,0,0,9775,9776,7,8,0,0,9776,9777,7,14,0,0,9777,9778,7,5,0,0,9778,9779,7,11,0,0,9779,9780,7,6,0,0,9780,9781,7,15,0,0,9781,9782,7,23,0,0,9782,1634,1,0,0,0,9783,9784,7,24,0,0,9784,9785,7,18,0,0,9785,9786,7,10,0,0,9786,9787,7,5,0,0,9787,9788,7,6,0,0,9788,9789,7,25,0,0,9789,9790,7,20,0,0,9790,9791,7,6,0,0,9791,9792,7,15,0,0,9792,9793,7,5,0,0,9793,1636,1,0,0,0,9794,9795,7,24,0,0,9795,9796,7,18,0,0,9796,9797,7,10,0,0,9797,9798,7,5,0,0,9798,9799,7,6,0,0,9799,9800,7,25,0,0,9800,9801,7,20,0,0,9801,9802,7,10,0,0,9802,9803,7,13,0,0,9803,9804,7,23,0,0,9804,9805,7,20,0,0,9805,9806,7,15,0,0,9806,1638,1,0,0,0,9807,9808,7,25,0,0,9808,9809,7,20,0,0,9809,9810,7,6,0,0,9810,9811,7,15,0,0,9811,9812,7,5,0,0,9812,1640,1,0,0,0,9813,9814,7,25,0,0,9814,9815,7,20,0,0,9815,9816,7,10,0,0,9816,9817,7,13,0,0,9817,9818,7,23,0,0,9818,9819,7,20,0,0,9819,9820,7,15,0,0,9820,1642,1,0,0,0,9821,9822,7,4,0,0,9822,9823,7,3,0,0,9823,9824,7,5,0,0,9824,9825,7,3,0,0,9825,9826,7,10,0,0,9826,9827,7,20,0,0,9827,9828,7,23,0,0,9828,9829,5,95,0,0,9829,9830,7,15,0,0,9830,9831,7,3,0,0,9831,9832,7,24,0,0,9832,9833,7,8,0,0,9833,1644,1,0,0,0,9834,9835,7,4,0,0,9835,9836,7,21,0,0,9836,9837,7,3,0,0,9837,9838,7,11,0,0,9838,9839,7,14,0,0,9839,9840,7,8,0,0,9840,9841,7,5,0,0,9841,1646,1,0,0,0,9842,9843,7,4,0,0,9843,9844,7,20,0,0,9844,9845,7,10,0,0,9845,9846,7,10,0,0,9846,9847,7,3,0,0,9847,9848,7,5,0,0,9848,9849,7,6,0,0,9849,9850,7,20,0,0,9850,9851,7,15,0,0,9851,1648,1,0,0,0,9852,9853,7,8,0,0,9853,9854,7,15,0,0,9854,9855,7,23,0,0,9855,9856,7,6,0,0,9856,9857,7,15,0,0,9857,9858,7,8,0,0,9858,9859,5,95,0,0,9859,9860,7,3,0,0,9860,9861,7,5,0,0,9861,9862,7,5,0,0,9862,9863,7,11,0,0,9863,9864,7,6,0,0,9864,9865,7,17,0,0,9865,9866,7,18,0,0,9866,9867,7,5,0,0,9867,9868,7,8,0,0,9868,1650,1,0,0,0,9869,9870,7,19,0,0,9870,9871,7,20,0,0,9871,9872,7,11,0,0,9872,9873,7,24,0,0,9873,9874,7,3,0,0,9874,9875,7,5,0,0,9875,1652,1,0,0,0,9876,9877,7,23,0,0,9877,9878,7,8,0,0,9878,9879,7,5,0,0,9879,9880,5,95,0,0,9880,9881,7,19,0,0,9881,9882,7,20,0,0,9882,9883,7,11,0,0,9883,9884,7,24,0,0,9884,9885,7,3,0,0,9885,9886,7,5,0,0,9886,1654,1,0,0,0,9887,9888,7,6,0,0,9888,9889,7,15,0,0,9889,9890,7,5,0,0,9890,9891,7,8,0,0,9891,9892,7,11,0,0,9892,9893,7,14,0,0,9893,9894,7,8,0,0,9894,9895,7,4,0,0,9895,9896,7,5,0,0,9896,1656,1,0,0,0,9897,9898,7,11,0,0,9898,9899,7,3,0,0,9899,9900,7,15,0,0,9900,9901,7,9,0,0,9901,9902,7,20,0,0,9902,9903,7,24,0,0,9903,1658,1,0,0,0,9904,9905,7,11,0,0,9905,9906,7,8,0,0,9906,9907,7,7,0,0,9907,9908,7,8,0,0,9908,9909,7,11,0,0,9909,9910,7,14,0,0,9910,9911,7,8,0,0,9911,1660,1,0,0,0,9912,9913,7,11,0,0,9913,9914,7,20,0,0,9914,9915,7,12,0,0,9915,9916,5,95,0,0,9916,9917,7,4,0,0,9917,9918,7,20,0,0,9918,9919,7,18,0,0,9919,9920,7,15,0,0,9920,9921,7,5,0,0,9921,1662,1,0,0,0,9922,9923,7,14,0,0,9923,9924,7,4,0,0,9924,9925,7,21,0,0,9925,9926,7,8,0,0,9926,9927,7,24,0,0,9927,9928,7,3,0,0,9928,9929,5,95,0,0,9929,9930,7,15,0,0,9930,9931,7,3,0,0,9931,9932,7,24,0,0,9932,9933,7,8,0,0,9933,1664,1,0,0,0,9934,9935,7,14,0,0,9935,9936,7,8,0,0,9936,9937,7,4,0,0,9937,9938,7,20,0,0,9938,9939,7,15,0,0,9939,9940,7,9,0,0,9940,9941,7,3,0,0,9941,9942,7,11,0,0,9942,9943,7,13,0,0,9943,9944,5,95,0,0,9944,9945,7,8,0,0,9945,9946,7,15,0,0,9946,9947,7,23,0,0,9947,9948,7,6,0,0,9948,9949,7,15,0,0,9949,9950,7,8,0,0,9950,9951,5,95,0,0,9951,9952,7,3,0,0,9952,9953,7,5,0,0,9953,9954,7,5,0,0,9954,9955,7,11,0,0,9955,9956,7,6,0,0,9956,9957,7,17,0,0,9957,9958,7,18,0,0,9958,9959,7,5,0,0,9959,9960,7,8,0,0,9960,1666,1,0,0,0,9961,9962,7,14,0,0,9962,9963,7,11,0,0,9963,9964,7,6,0,0,9964,9965,7,9,0,0,9965,1668,1,0,0,0,9966,9967,7,14,0,0,9967,9968,7,13,0,0,9968,9969,7,14,0,0,9969,9970,7,5,0,0,9970,9971,7,8,0,0,9971,9972,7,24,0,0,9972,1670,1,0,0,0,9973,9974,7,14,0,0,9974,9975,7,13,0,0,9975,9976,7,14,0,0,9976,9977,7,5,0,0,9977,9978,7,8,0,0,9978,9979,7,24,0,0,9979,9980,5,95,0,0,9980,9981,7,18,0,0,9981,9982,7,14,0,0,9982,9983,7,8,0,0,9983,9984,7,11,0,0,9984,1672,1,0,0,0,9985,9986,7,5,0,0,9986,9987,7,21,0,0,9987,9988,7,11,0,0,9988,9989,7,8,0,0,9989,9990,7,3,0,0,9990,9991,7,9,0,0,9991,9992,5,95,0,0,9992,9993,7,25,0,0,9993,9994,7,11,0,0,9994,9995,7,6,0,0,9995,9996,7,20,0,0,9996,9997,7,11,0,0,9997,9998,7,6,0,0,9998,9999,7,5,0,0,9999,1e4,7,13,0,0,1e4,1674,1,0,0,0,10001,10002,7,5,0,0,10002,10003,7,25,0,0,10003,10004,5,95,0,0,10004,10005,7,4,0,0,10005,10006,7,20,0,0,10006,10007,7,15,0,0,10007,10008,7,15,0,0,10008,10009,7,8,0,0,10009,10010,7,4,0,0,10010,10011,7,5,0,0,10011,10012,7,6,0,0,10012,10013,7,20,0,0,10013,10014,7,15,0,0,10014,10015,5,95,0,0,10015,10016,7,3,0,0,10016,10017,7,9,0,0,10017,10018,7,24,0,0,10018,10019,7,6,0,0,10019,10020,7,15,0,0,10020,1676,1,0,0,0,10021,10022,7,5,0,0,10022,10023,7,13,0,0,10023,10024,7,25,0,0,10024,10025,7,8,0,0,10025,1678,1,0,0,0,10026,10027,7,12,0,0,10027,10028,7,8,0,0,10028,10029,7,6,0,0,10029,10030,7,23,0,0,10030,10031,7,21,0,0,10031,10032,7,5,0,0,10032,10033,5,95,0,0,10033,10034,7,14,0,0,10034,10035,7,5,0,0,10035,10036,7,11,0,0,10036,10037,7,6,0,0,10037,10038,7,15,0,0,10038,10039,7,23,0,0,10039,1680,1,0,0,0,10040,10041,5,58,0,0,10041,10042,5,61,0,0,10042,1682,1,0,0,0,10043,10044,5,43,0,0,10044,10045,5,61,0,0,10045,1684,1,0,0,0,10046,10047,5,45,0,0,10047,10048,5,61,0,0,10048,1686,1,0,0,0,10049,10050,5,42,0,0,10050,10051,5,61,0,0,10051,1688,1,0,0,0,10052,10053,5,47,0,0,10053,10054,5,61,0,0,10054,1690,1,0,0,0,10055,10056,5,37,0,0,10056,10057,5,61,0,0,10057,1692,1,0,0,0,10058,10059,5,38,0,0,10059,10060,5,61,0,0,10060,1694,1,0,0,0,10061,10062,5,94,0,0,10062,10063,5,61,0,0,10063,1696,1,0,0,0,10064,10065,5,124,0,0,10065,10066,5,61,0,0,10066,1698,1,0,0,0,10067,10068,5,42,0,0,10068,1700,1,0,0,0,10069,10070,5,47,0,0,10070,1702,1,0,0,0,10071,10072,5,37,0,0,10072,1704,1,0,0,0,10073,10074,5,43,0,0,10074,1706,1,0,0,0,10075,10076,5,45,0,0,10076,1708,1,0,0,0,10077,10078,7,9,0,0,10078,10079,7,6,0,0,10079,10080,7,7,0,0,10080,1710,1,0,0,0,10081,10082,7,24,0,0,10082,10083,7,20,0,0,10083,10084,7,9,0,0,10084,1712,1,0,0,0,10085,10086,5,61,0,0,10086,1714,1,0,0,0,10087,10088,5,62,0,0,10088,1716,1,0,0,0,10089,10090,5,60,0,0,10090,1718,1,0,0,0,10091,10092,5,33,0,0,10092,1720,1,0,0,0,10093,10094,5,126,0,0,10094,1722,1,0,0,0,10095,10096,5,124,0,0,10096,1724,1,0,0,0,10097,10098,5,38,0,0,10098,1726,1,0,0,0,10099,10100,5,94,0,0,10100,1728,1,0,0,0,10101,10102,5,46,0,0,10102,1730,1,0,0,0,10103,10104,5,40,0,0,10104,1732,1,0,0,0,10105,10106,5,41,0,0,10106,1734,1,0,0,0,10107,10108,5,44,0,0,10108,1736,1,0,0,0,10109,10110,5,59,0,0,10110,1738,1,0,0,0,10111,10112,5,64,0,0,10112,1740,1,0,0,0,10113,10114,5,48,0,0,10114,1742,1,0,0,0,10115,10116,5,49,0,0,10116,1744,1,0,0,0,10117,10118,5,50,0,0,10118,1746,1,0,0,0,10119,10120,5,51,0,0,10120,1748,1,0,0,0,10121,10122,5,39,0,0,10122,1750,1,0,0,0,10123,10124,5,34,0,0,10124,1752,1,0,0,0,10125,10126,5,96,0,0,10126,1754,1,0,0,0,10127,10128,5,58,0,0,10128,1756,1,0,0,0,10129,10133,3,1749,874,0,10130,10133,3,1751,875,0,10131,10133,3,1753,876,0,10132,10129,1,0,0,0,10132,10130,1,0,0,0,10132,10131,1,0,0,0,10133,1758,1,0,0,0,10134,10135,5,96,0,0,10135,10136,3,1791,895,0,10136,10137,5,96,0,0,10137,1760,1,0,0,0,10138,10140,3,1805,902,0,10139,10138,1,0,0,0,10140,10141,1,0,0,0,10141,10139,1,0,0,0,10141,10142,1,0,0,0,10142,10143,1,0,0,0,10143,10144,7,29,0,0,10144,1762,1,0,0,0,10145,10146,7,15,0,0,10146,10147,3,1799,899,0,10147,1764,1,0,0,0,10148,10152,3,1797,898,0,10149,10152,3,1799,899,0,10150,10152,3,1801,900,0,10151,10148,1,0,0,0,10151,10149,1,0,0,0,10151,10150,1,0,0,0,10152,1766,1,0,0,0,10153,10155,3,1805,902,0,10154,10153,1,0,0,0,10155,10156,1,0,0,0,10156,10154,1,0,0,0,10156,10157,1,0,0,0,10157,1768,1,0,0,0,10158,10159,7,26,0,0,10159,10163,5,39,0,0,10160,10161,3,1803,901,0,10161,10162,3,1803,901,0,10162,10164,1,0,0,0,10163,10160,1,0,0,0,10164,10165,1,0,0,0,10165,10163,1,0,0,0,10165,10166,1,0,0,0,10166,10167,1,0,0,0,10167,10168,5,39,0,0,10168,10178,1,0,0,0,10169,10170,5,48,0,0,10170,10171,7,26,0,0,10171,10173,1,0,0,0,10172,10174,3,1803,901,0,10173,10172,1,0,0,0,10174,10175,1,0,0,0,10175,10173,1,0,0,0,10175,10176,1,0,0,0,10176,10178,1,0,0,0,10177,10158,1,0,0,0,10177,10169,1,0,0,0,10178,1770,1,0,0,0,10179,10181,3,1805,902,0,10180,10179,1,0,0,0,10181,10184,1,0,0,0,10182,10180,1,0,0,0,10182,10183,1,0,0,0,10183,10185,1,0,0,0,10184,10182,1,0,0,0,10185,10187,5,46,0,0,10186,10188,3,1805,902,0,10187,10186,1,0,0,0,10188,10189,1,0,0,0,10189,10187,1,0,0,0,10189,10190,1,0,0,0,10190,10221,1,0,0,0,10191,10193,3,1805,902,0,10192,10191,1,0,0,0,10193,10194,1,0,0,0,10194,10192,1,0,0,0,10194,10195,1,0,0,0,10195,10196,1,0,0,0,10196,10197,5,46,0,0,10197,10198,3,1793,896,0,10198,10221,1,0,0,0,10199,10201,3,1805,902,0,10200,10199,1,0,0,0,10201,10204,1,0,0,0,10202,10200,1,0,0,0,10202,10203,1,0,0,0,10203,10205,1,0,0,0,10204,10202,1,0,0,0,10205,10207,5,46,0,0,10206,10208,3,1805,902,0,10207,10206,1,0,0,0,10208,10209,1,0,0,0,10209,10207,1,0,0,0,10209,10210,1,0,0,0,10210,10211,1,0,0,0,10211,10212,3,1793,896,0,10212,10221,1,0,0,0,10213,10215,3,1805,902,0,10214,10213,1,0,0,0,10215,10216,1,0,0,0,10216,10214,1,0,0,0,10216,10217,1,0,0,0,10217,10218,1,0,0,0,10218,10219,3,1793,896,0,10219,10221,1,0,0,0,10220,10182,1,0,0,0,10220,10192,1,0,0,0,10220,10202,1,0,0,0,10220,10214,1,0,0,0,10221,1772,1,0,0,0,10222,10223,5,92,0,0,10223,10224,7,15,0,0,10224,1774,1,0,0,0,10225,10226,3,1807,903,0,10226,1776,1,0,0,0,10227,10228,5,95,0,0,10228,10229,3,1791,895,0,10229,1778,1,0,0,0,10230,10231,3,1795,897,0,10231,1780,1,0,0,0,10232,10233,3,1801,900,0,10233,1782,1,0,0,0,10234,10235,3,1739,869,0,10235,10236,3,1809,904,0,10236,1784,1,0,0,0,10237,10244,3,1739,869,0,10238,10245,3,1765,882,0,10239,10241,7,30,0,0,10240,10239,1,0,0,0,10241,10242,1,0,0,0,10242,10240,1,0,0,0,10242,10243,1,0,0,0,10243,10245,1,0,0,0,10244,10238,1,0,0,0,10244,10240,1,0,0,0,10245,1786,1,0,0,0,10246,10247,3,1739,869,0,10247,10254,3,1739,869,0,10248,10250,7,30,0,0,10249,10248,1,0,0,0,10250,10251,1,0,0,0,10251,10249,1,0,0,0,10251,10252,1,0,0,0,10252,10255,1,0,0,0,10253,10255,3,1801,900,0,10254,10249,1,0,0,0,10254,10253,1,0,0,0,10255,1788,1,0,0,0,10256,10257,3,1739,869,0,10257,10264,3,1739,869,0,10258,10260,7,30,0,0,10259,10258,1,0,0,0,10260,10261,1,0,0,0,10261,10259,1,0,0,0,10261,10262,1,0,0,0,10262,10265,1,0,0,0,10263,10265,3,1801,900,0,10264,10259,1,0,0,0,10264,10263,1,0,0,0,10265,1790,1,0,0,0,10266,10308,3,1511,755,0,10267,10308,3,1513,756,0,10268,10308,3,1515,757,0,10269,10308,3,455,227,0,10270,10308,3,1517,758,0,10271,10308,3,1519,759,0,10272,10308,3,1521,760,0,10273,10308,3,1523,761,0,10274,10308,3,1525,762,0,10275,10308,3,1527,763,0,10276,10308,3,1529,764,0,10277,10308,3,1531,765,0,10278,10308,3,1533,766,0,10279,10308,3,1535,767,0,10280,10308,3,1537,768,0,10281,10308,3,1541,770,0,10282,10308,3,1543,771,0,10283,10308,3,1545,772,0,10284,10308,3,1547,773,0,10285,10308,3,1549,774,0,10286,10308,3,1551,775,0,10287,10308,3,1553,776,0,10288,10308,3,1555,777,0,10289,10308,3,1557,778,0,10290,10308,3,1559,779,0,10291,10308,3,1561,780,0,10292,10308,3,1563,781,0,10293,10308,3,1565,782,0,10294,10308,3,1567,783,0,10295,10308,3,1569,784,0,10296,10308,3,1571,785,0,10297,10308,3,1573,786,0,10298,10308,3,1575,787,0,10299,10308,3,1577,788,0,10300,10308,3,1579,789,0,10301,10308,3,1581,790,0,10302,10308,3,1583,791,0,10303,10308,3,1585,792,0,10304,10308,3,1587,793,0,10305,10308,3,1589,794,0,10306,10308,3,1591,795,0,10307,10266,1,0,0,0,10307,10267,1,0,0,0,10307,10268,1,0,0,0,10307,10269,1,0,0,0,10307,10270,1,0,0,0,10307,10271,1,0,0,0,10307,10272,1,0,0,0,10307,10273,1,0,0,0,10307,10274,1,0,0,0,10307,10275,1,0,0,0,10307,10276,1,0,0,0,10307,10277,1,0,0,0,10307,10278,1,0,0,0,10307,10279,1,0,0,0,10307,10280,1,0,0,0,10307,10281,1,0,0,0,10307,10282,1,0,0,0,10307,10283,1,0,0,0,10307,10284,1,0,0,0,10307,10285,1,0,0,0,10307,10286,1,0,0,0,10307,10287,1,0,0,0,10307,10288,1,0,0,0,10307,10289,1,0,0,0,10307,10290,1,0,0,0,10307,10291,1,0,0,0,10307,10292,1,0,0,0,10307,10293,1,0,0,0,10307,10294,1,0,0,0,10307,10295,1,0,0,0,10307,10296,1,0,0,0,10307,10297,1,0,0,0,10307,10298,1,0,0,0,10307,10299,1,0,0,0,10307,10300,1,0,0,0,10307,10301,1,0,0,0,10307,10302,1,0,0,0,10307,10303,1,0,0,0,10307,10304,1,0,0,0,10307,10305,1,0,0,0,10307,10306,1,0,0,0,10308,1792,1,0,0,0,10309,10311,7,8,0,0,10310,10312,7,31,0,0,10311,10310,1,0,0,0,10311,10312,1,0,0,0,10312,10314,1,0,0,0,10313,10315,3,1805,902,0,10314,10313,1,0,0,0,10315,10316,1,0,0,0,10316,10314,1,0,0,0,10316,10317,1,0,0,0,10317,1794,1,0,0,0,10318,10320,7,32,0,0,10319,10318,1,0,0,0,10320,10323,1,0,0,0,10321,10322,1,0,0,0,10321,10319,1,0,0,0,10322,10325,1,0,0,0,10323,10321,1,0,0,0,10324,10326,7,33,0,0,10325,10324,1,0,0,0,10326,10327,1,0,0,0,10327,10328,1,0,0,0,10327,10325,1,0,0,0,10328,10332,1,0,0,0,10329,10331,7,32,0,0,10330,10329,1,0,0,0,10331,10334,1,0,0,0,10332,10330,1,0,0,0,10332,10333,1,0,0,0,10333,1796,1,0,0,0,10334,10332,1,0,0,0,10335,10343,5,34,0,0,10336,10337,5,92,0,0,10337,10342,9,0,0,0,10338,10339,5,34,0,0,10339,10342,5,34,0,0,10340,10342,8,34,0,0,10341,10336,1,0,0,0,10341,10338,1,0,0,0,10341,10340,1,0,0,0,10342,10345,1,0,0,0,10343,10341,1,0,0,0,10343,10344,1,0,0,0,10344,10346,1,0,0,0,10345,10343,1,0,0,0,10346,10347,5,34,0,0,10347,1798,1,0,0,0,10348,10356,5,39,0,0,10349,10350,5,92,0,0,10350,10355,9,0,0,0,10351,10352,5,39,0,0,10352,10355,5,39,0,0,10353,10355,8,35,0,0,10354,10349,1,0,0,0,10354,10351,1,0,0,0,10354,10353,1,0,0,0,10355,10358,1,0,0,0,10356,10354,1,0,0,0,10356,10357,1,0,0,0,10357,10359,1,0,0,0,10358,10356,1,0,0,0,10359,10360,5,39,0,0,10360,1800,1,0,0,0,10361,10367,5,96,0,0,10362,10366,8,36,0,0,10363,10364,5,96,0,0,10364,10366,5,96,0,0,10365,10362,1,0,0,0,10365,10363,1,0,0,0,10366,10369,1,0,0,0,10367,10365,1,0,0,0,10367,10368,1,0,0,0,10368,10370,1,0,0,0,10369,10367,1,0,0,0,10370,10371,5,96,0,0,10371,1802,1,0,0,0,10372,10373,7,37,0,0,10373,1804,1,0,0,0,10374,10375,7,38,0,0,10375,1806,1,0,0,0,10376,10377,7,17,0,0,10377,10379,5,39,0,0,10378,10380,7,39,0,0,10379,10378,1,0,0,0,10380,10381,1,0,0,0,10381,10379,1,0,0,0,10381,10382,1,0,0,0,10382,10383,1,0,0,0,10383,10384,5,39,0,0,10384,1808,1,0,0,0,10385,10387,7,38,0,0,10386,10385,1,0,0,0,10387,10388,1,0,0,0,10388,10386,1,0,0,0,10388,10389,1,0,0,0,10389,10390,1,0,0,0,10390,10392,5,46,0,0,10391,10393,7,40,0,0,10392,10391,1,0,0,0,10393,10394,1,0,0,0,10394,10392,1,0,0,0,10394,10395,1,0,0,0,10395,10416,1,0,0,0,10396,10398,7,37,0,0,10397,10396,1,0,0,0,10398,10401,1,0,0,0,10399,10397,1,0,0,0,10399,10400,1,0,0,0,10400,10402,1,0,0,0,10401,10399,1,0,0,0,10402,10406,5,58,0,0,10403,10405,7,37,0,0,10404,10403,1,0,0,0,10405,10408,1,0,0,0,10406,10404,1,0,0,0,10406,10407,1,0,0,0,10407,10409,1,0,0,0,10408,10406,1,0,0,0,10409,10411,5,58,0,0,10410,10412,7,41,0,0,10411,10410,1,0,0,0,10412,10413,1,0,0,0,10413,10411,1,0,0,0,10413,10414,1,0,0,0,10414,10416,1,0,0,0,10415,10386,1,0,0,0,10415,10399,1,0,0,0,10416,1810,1,0,0,0,10417,10418,9,0,0,0,10418,10419,1,0,0,0,10419,10420,6,905,2,0,10420,1812,1,0,0,0,53,0,1816,1827,1840,1854,1858,1863,1867,1871,1877,1881,1883,9137,9164,10132,10141,10151,10156,10165,10175,10177,10182,10189,10194,10202,10209,10216,10220,10242,10244,10251,10254,10261,10264,10307,10311,10316,10321,10327,10332,10341,10343,10354,10356,10365,10367,10381,10388,10394,10399,10406,10413,10415,3,0,1,0,0,2,0,0,3,0],c.vocabulary=new Se(c.literalNames,c.symbolicNames,[]),c.decisionsToDFA=c._ATN.decisionToState.map((n,e)=>new b0(n,e));class o8 extends J3{constructor(e){super(e),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var e,i,s,h;return this.entityCollecting&&((i=(e=this.tokenStream.LT(-1))===null||e===void 0?void 0:e.tokenIndex)!==null&&i!==void 0?i:1/0)<=this.caretTokenIndex&&((h=(s=this.tokenStream.LT(1))===null||s===void 0?void 0:s.tokenIndex)!==null&&h!==void 0?h:-1/0)>=this.caretTokenIndex}}class t extends o8{get grammarFileName(){return"MySqlParser.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(e,i){return new C7(this,e,i)}constructor(e){super(e),this.interpreter=new L7(this,t._ATN,t.decisionsToDFA,new Ki)}program(){let e=new r8(this.context,this.state);this.enterRule(e,0,t.RULE_program);let i;try{this.enterOuterAlt(e,1);{for(this.state=837,this.errorHandler.sync(this),i=this.tokenStream.LA(1);!(i&-32)&&1<'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'('","')'","','","';'","'@'","'0'","'1'","'2'","'3'","'''",`'"'`,"'`'","':'"],t.symbolicNames=[null,"SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","KW_ACTIVE","KW_ADD","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ARRAY","KW_AS","KW_ASC","KW_ATTRIBUTE","KW_BEFORE","KW_BETWEEN","KW_BOTH","KW_BUCKETS","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CHANGE","KW_CHARACTER","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONDITION","KW_CONSTRAINT","KW_CONTINUE","KW_CONVERT","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_USER","KW_CURSOR","KW_DATABASE","KW_DATABASES","KW_DECLARE","KW_DEFAULT","KW_DELAYED","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DETERMINISTIC","KW_DIAGNOSTICS","KW_DISTINCT","KW_DISTINCTROW","KW_DROP","KW_EACH","KW_ELSE","KW_ELSEIF","KW_EMPTY","KW_ENCLOSED","KW_ENFORCED","KW_ESCAPED","KW_EXCEPT","KW_EXISTS","KW_EXIT","KW_EXPLAIN","KW_FALSE","KW_FETCH","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FROM","KW_FULLTEXT","KW_GENERATE","KW_GENERATED","KW_GET","KW_GRANT","KW_GROUP","KW_HAVING","KW_HIGH_PRIORITY","KW_HISTOGRAM","KW_IF","KW_IGNORE","KW_IN","KW_INACTIVE","KW_INDEX","KW_INFILE","KW_INNER","KW_INOUT","KW_INSERT","KW_INTERVAL","KW_INTO","KW_IS","KW_ITERATE","KW_JOIN","KW_KEY","KW_KEYS","KW_KILL","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINEAR","KW_LINES","KW_LOAD","KW_LOCK","KW_LOCKED","KW_LOOP","KW_LOW_PRIORITY","KW_MASTER_BIND","KW_MASTER_SSL_VERIFY_SERVER_CERT","KW_MATCH","KW_MAXVALUE","KW_MODIFIES","KW_NATURAL","KW_NOT","KW_NO_WRITE_TO_BINLOG","KW_NULL_LITERAL","KW_NUMBER","KW_STREAM","KW_ON","KW_OPTIMIZE","KW_OPTION","KW_OPTIONAL","KW_OPTIONALLY","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTFILE","KW_OVER","KW_PARTITION","KW_PRIMARY","KW_PROCEDURE","KW_PURGE","KW_RANGE","KW_READ","KW_READS","KW_REFERENCE","KW_REFERENCES","KW_REGEXP","KW_RELEASE","KW_RENAME","KW_REPEAT","KW_REPLACE","KW_REQUIRE","KW_RESIGNAL","KW_RESTRICT","KW_RETAIN","KW_RETURN","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SET","KW_SEPARATOR","KW_SHOW","KW_SIGNAL","KW_SKIP","KW_SKIP_QUERY_REWRITE","KW_SPATIAL","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQL_BIG_RESULT","KW_SQL_CALC_FOUND_ROWS","KW_SQL_SMALL_RESULT","KW_SSL","KW_STACKED","KW_STARTING","KW_STRAIGHT_JOIN","KW_TABLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRAILING","KW_TRIGGER","KW_TRUE","KW_UNDO","KW_UNION","KW_UNIQUE","KW_UNLOCK","KW_UNSIGNED","KW_UPDATE","KW_USAGE","KW_USE","KW_USING","KW_VALUES","KW_VCPU","KW_WHEN","KW_WHERE","KW_WHILE","KW_WITH","KW_WRITE","KW_XOR","KW_ZEROFILL","KW_TINYINT","KW_SMALLINT","KW_MEDIUMINT","KW_MIDDLEINT","KW_INT","KW_INT1","KW_INT2","KW_INT3","KW_INT4","KW_INT8","KW_INTEGER","KW_BIGINT","KW_REAL","KW_DOUBLE","KW_PRECISION","KW_FLOAT","KW_FLOAT4","KW_FLOAT8","KW_DECIMAL","KW_DEC","KW_NUMERIC","KW_DATE","KW_TIME","KW_TIMESTAMP","KW_DATETIME","KW_YEAR","KW_CHAR","KW_VARCHAR","KW_NVARCHAR","KW_NATIONAL","KW_BINARY","KW_VARBINARY","KW_TINYBLOB","KW_BLOB","KW_MEDIUMBLOB","KW_LONG","KW_LONGBLOB","KW_TINYTEXT","KW_TEXT","KW_MEDIUMTEXT","KW_LONGTEXT","KW_ENUM","KW_VARYING","KW_SERIAL","KW_YEAR_MONTH","KW_DAY_HOUR","KW_DAY_MINUTE","KW_DAY_SECOND","KW_HOUR_MINUTE","KW_HOUR_SECOND","KW_MINUTE_SECOND","KW_SECOND_MICROSECOND","KW_MINUTE_MICROSECOND","KW_HOUR_MICROSECOND","KW_DAY_MICROSECOND","KW_JSON_TABLE","KW_JSON_VALUE","KW_NESTED","KW_ORDINALITY","KW_PATH","KW_AVG","KW_BIT_AND","KW_BIT_OR","KW_BIT_XOR","KW_COUNT","KW_CUME_DIST","KW_DENSE_RANK","KW_FIRST_VALUE","KW_GROUP_CONCAT","KW_LAG","KW_LAST_VALUE","KW_LEAD","KW_MAX","KW_MIN","KW_NTILE","KW_NTH_VALUE","KW_PERCENT_RANK","KW_RANK","KW_ROW_NUMBER","KW_STD","KW_STDDEV","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_SUM","KW_VAR_POP","KW_VAR_SAMP","KW_VARIANCE","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_LOCALTIME","KW_CURDATE","KW_CURTIME","KW_DATE_ADD","KW_DATE_SUB","KW_EXTRACT","KW_LOCALTIMESTAMP","KW_NOW","KW_POSITION","KW_SUBSTR","KW_SUBSTRING","KW_SYSDATE","KW_TRIM","KW_UTC_DATE","KW_UTC_TIME","KW_UTC_TIMESTAMP","KW_ACCOUNT","KW_ACTION","KW_AFTER","KW_AGGREGATE","KW_ALGORITHM","KW_ANY","KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS","KW_AT","KW_AUTHORS","KW_AUTOCOMMIT","KW_AUTOEXTEND_SIZE","KW_AUTO_INCREMENT","KW_AVG_ROW_LENGTH","KW_BEGIN","KW_BINLOG","KW_BIT","KW_BLOCK","KW_BOOL","KW_BOOLEAN","KW_BTREE","KW_CACHE","KW_CASCADED","KW_CHAIN","KW_CHANGED","KW_CHANNEL","KW_CHECKSUM","KW_CHALLENGE_RESPONSE","KW_CIPHER","KW_CLASS_ORIGIN","KW_CLIENT","KW_CLOSE","KW_COALESCE","KW_CODE","KW_COLUMNS","KW_COLUMN_FORMAT","KW_COLUMN_NAME","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPLETION","KW_COMPONENT","KW_COMPRESSED","KW_COMPRESSION","KW_CONCURRENT","KW_CONNECT","KW_CONNECTION","KW_CONSISTENT","KW_CONSTRAINT_CATALOG","KW_CONSTRAINT_SCHEMA","KW_CONSTRAINT_NAME","KW_CONTAINS","KW_CONTEXT","KW_CONTRIBUTORS","KW_COPY","KW_CPU","KW_CURSOR_NAME","KW_DATA","KW_DATAFILE","KW_DEALLOCATE","KW_DEFAULT_AUTH","KW_DEFINER","KW_DELAY_KEY_WRITE","KW_DES_KEY_FILE","KW_DIRECTORY","KW_DISABLE","KW_DISCARD","KW_DISK","KW_DO","KW_DUMPFILE","KW_DUPLICATE","KW_DYNAMIC","KW_ENABLE","KW_ENCRYPTION","KW_ENCRYPTION_KEY_ID","KW_END","KW_ENDS","KW_ENGINE","KW_ENGINES","KW_ERROR","KW_ERRORS","KW_ESCAPE","KW_EVENT","KW_EVENTS","KW_EVERY","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXPIRE","KW_EXPORT","KW_EXTENDED","KW_EXTENT_SIZE","KW_FACTOR","KW_FAILED_LOGIN_ATTEMPTS","KW_FAST","KW_FAULTS","KW_FIELDS","KW_FILE_BLOCK_SIZE","KW_FILTER","KW_FINISH","KW_FIRST","KW_FIXED","KW_FLUSH","KW_FOLLOWING","KW_FOLLOWS","KW_FOUND","KW_FULL","KW_FUNCTION","KW_GENERAL","KW_GET_MASTER_PUBLIC_KEY","KW_GET_SOURCE_PUBLIC_KEY","KW_GLOBAL","KW_GRANTS","KW_GROUP_REPLICATION","KW_GTID_ONLY","KW_HANDLER","KW_HASH","KW_HELP","KW_HISTORY","KW_HOST","KW_HOSTS","KW_IDENTIFIED","KW_IGNORE_SERVER_IDS","KW_IMPORT","KW_INDEXES","KW_INITIAL","KW_INITIAL_SIZE","KW_INITIATE","KW_INPLACE","KW_INSERT_METHOD","KW_INSTALL","KW_INSTANCE","KW_INSTANT","KW_INVISIBLE","KW_INVOKER","KW_IO","KW_IO_THREAD","KW_IPC","KW_ISOLATION","KW_ISSUER","KW_JSON","KW_KEY_BLOCK_SIZE","KW_LANGUAGE","KW_LAST","KW_LEAVES","KW_LESS","KW_LEVEL","KW_LIST","KW_LOCAL","KW_LOGFILE","KW_LOGS","KW_MASTER","KW_MASTER_AUTO_POSITION","KW_MASTER_COMPRESSION_ALGORITHMS","KW_MASTER_CONNECT_RETRY","KW_MASTER_DELAY","KW_MASTER_HEARTBEAT_PERIOD","KW_MASTER_HOST","KW_MASTER_LOG_FILE","KW_MASTER_LOG_POS","KW_MASTER_PASSWORD","KW_MASTER_PORT","KW_MASTER_PUBLIC_KEY_PATH","KW_MASTER_RETRY_COUNT","KW_MASTER_SSL","KW_MASTER_SSL_CA","KW_MASTER_SSL_CAPATH","KW_MASTER_SSL_CERT","KW_MASTER_SSL_CIPHER","KW_MASTER_SSL_CRL","KW_MASTER_SSL_CRLPATH","KW_MASTER_SSL_KEY","KW_MASTER_TLS_CIPHERSUITES","KW_MASTER_TLS_VERSION","KW_MASTER_USER","KW_MASTER_ZSTD_COMPRESSION_LEVEL","KW_MAX_CONNECTIONS_PER_HOUR","KW_MAX_QUERIES_PER_HOUR","KW_MAX_ROWS","KW_MAX_SIZE","KW_MAX_UPDATES_PER_HOUR","KW_MAX_USER_CONNECTIONS","KW_MEDIUM","KW_MEMBER","KW_MERGE","KW_MESSAGE_TEXT","KW_MID","KW_MIGRATE","KW_MIN_ROWS","KW_MODE","KW_MODIFY","KW_MUTEX","KW_MYSQL","KW_MYSQL_ERRNO","KW_NAME","KW_NAMES","KW_NCHAR","KW_NETWORK_NAMESPACE","KW_NEVER","KW_NEXT","KW_NO","KW_NOWAIT","KW_NODEGROUP","KW_NONE","KW_ODBC","KW_OFF","KW_OFFLINE","KW_OFFSET","KW_OF","KW_OLD","KW_OLD_PASSWORD","KW_ONE","KW_ONLINE","KW_ONLY","KW_OPEN","KW_OPTIMIZER_COSTS","KW_OPTIONS","KW_OWNER","KW_PACK_KEYS","KW_PAGE","KW_PAGE_CHECKSUM","KW_PAGE_COMPRESSED","KW_PAGE_COMPRESSION_LEVEL","KW_PARSER","KW_PARTIAL","KW_PARTITIONING","KW_PARTITIONS","KW_PASSWORD","KW_PASSWORD_LOCK_TIME","KW_PERSIST","KW_PERSIST_ONLY","KW_PHASE","KW_PLUGIN","KW_PLUGIN_DIR","KW_PLUGINS","KW_PORT","KW_PRECEDES","KW_PRECEDING","KW_PREPARE","KW_PRESERVE","KW_PREV","KW_PRIVILEGE_CHECKS_USER","KW_PROCESSLIST","KW_PROFILE","KW_PROFILES","KW_PROXY","KW_QUERY","KW_QUICK","KW_REBUILD","KW_RECOVER","KW_RECURSIVE","KW_REDO_BUFFER_SIZE","KW_REDUNDANT","KW_REGISTRATION","KW_RELAY","KW_RELAY_LOG_FILE","KW_RELAY_LOG_POS","KW_RELAYLOG","KW_REMOVE","KW_REORGANIZE","KW_REPAIR","KW_REPLICA","KW_REPLICAS","KW_REPLICATE_DO_DB","KW_REPLICATE_DO_TABLE","KW_REPLICATE_IGNORE_DB","KW_REPLICATE_IGNORE_TABLE","KW_REPLICATE_REWRITE_DB","KW_REPLICATE_WILD_DO_TABLE","KW_REPLICATE_WILD_IGNORE_TABLE","KW_REPLICATION","KW_REQUIRE_ROW_FORMAT","KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK","KW_RESET","KW_RESTART","KW_RESUME","KW_RETURNED_SQLSTATE","KW_RETURNING","KW_RETURNS","KW_REUSE","KW_ROLE","KW_ROLLBACK","KW_ROLLUP","KW_ROTATE","KW_ROW","KW_ROWS","KW_ROW_FORMAT","KW_SAVEPOINT","KW_SCHEDULE","KW_SECURITY","KW_SERVER","KW_SESSION","KW_SHARE","KW_SHARED","KW_SIGNED","KW_SIMPLE","KW_SLAVE","KW_SLOW","KW_SNAPSHOT","KW_SOCKET","KW_SOME","KW_SONAME","KW_SOUNDS","KW_SOURCE","KW_SOURCE_BIND","KW_SOURCE_HOST","KW_SOURCE_USER","KW_SOURCE_PASSWORD","KW_SOURCE_PORT","KW_SOURCE_LOG_FILE","KW_SOURCE_LOG_POS","KW_SOURCE_AUTO_POSITION","KW_SOURCE_HEARTBEAT_PERIOD","KW_SOURCE_CONNECT_RETRY","KW_SOURCE_RETRY_COUNT","KW_SOURCE_CONNECTION_AUTO_FAILOVER","KW_SOURCE_DELAY","KW_SOURCE_COMPRESSION_ALGORITHMS","KW_SOURCE_ZSTD_COMPRESSION_LEVEL","KW_SOURCE_SSL","KW_SOURCE_SSL_CA","KW_SOURCE_SSL_CAPATH","KW_SOURCE_SSL_CERT","KW_SOURCE_SSL_CRL","KW_SOURCE_SSL_CRLPATH","KW_SOURCE_SSL_KEY","KW_SOURCE_SSL_CIPHER","KW_SOURCE_SSL_VERIFY_SERVER_CERT","KW_SOURCE_TLS_VERSION","KW_SOURCE_TLS_CIPHERSUITES","KW_SOURCE_PUBLIC_KEY_PATH","KW_SQL_AFTER_GTIDS","KW_SQL_AFTER_MTS_GAPS","KW_SQL_BEFORE_GTIDS","KW_SQL_BUFFER_RESULT","KW_SQL_CACHE","KW_SQL_NO_CACHE","KW_SQL_THREAD","KW_START","KW_STARTS","KW_STATS_AUTO_RECALC","KW_STATS_PERSISTENT","KW_STATS_SAMPLE_PAGES","KW_STATUS","KW_STOP","KW_STORAGE","KW_STORED","KW_STRING","KW_SUBCLASS_ORIGIN","KW_SUBJECT","KW_SUBPARTITION","KW_SUBPARTITIONS","KW_SUSPEND","KW_SWAPS","KW_SWITCHES","KW_TABLE_NAME","KW_TABLESPACE","KW_TABLE_TYPE","KW_TEMPORARY","KW_TEMPTABLE","KW_THAN","KW_TRADITIONAL","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TREE","KW_TRIGGERS","KW_TRUNCATE","KW_UNBOUNDED","KW_UNDEFINED","KW_UNDOFILE","KW_UNDO_BUFFER_SIZE","KW_UNINSTALL","KW_UNKNOWN","KW_UNREGISTER","KW_UNTIL","KW_UPGRADE","KW_USER","KW_USE_FRM","KW_USER_RESOURCES","KW_VALIDATION","KW_VALUE","KW_VARIABLES","KW_VIEW","KW_VIRTUAL","KW_VISIBLE","KW_WAIT","KW_WARNINGS","KW_WINDOW","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_X509","KW_XA","KW_XML","KW_QUARTER","KW_MONTH","KW_DAY","KW_HOUR","KW_MINUTE","KW_WEEK","KW_SECOND","KW_MICROSECOND","KW_ADMIN","KW_APPLICATION_PASSWORD_ADMIN","KW_AUDIT_ABORT_EXEMPT","KW_AUDIT_ADMIN","KW_AUTHENTICATION","KW_AUTHENTICATION_POLICY_ADMIN","KW_BACKUP_ADMIN","KW_BINLOG_ADMIN","KW_BINLOG_ENCRYPTION_ADMIN","KW_CLONE","KW_CLONE_ADMIN","KW_CONNECTION_ADMIN","KW_ENCRYPTION_KEY_ADMIN","KW_EXECUTE","KW_FILE","KW_FIREWALL_ADMIN","KW_FIREWALL_EXEMPT","KW_FIREWALL_USER","KW_FLUSH_OPTIMIZER_COSTS","KW_FLUSH_STATUS","KW_FLUSH_TABLES","KW_FLUSH_USER_RESOURCES","KW_GROUP_REPLICATION_ADMIN","KW_INNODB_REDO_LOG_ARCHIVE","KW_INNODB_REDO_LOG_ENABLE","KW_INVOKE","KW_LAMBDA","KW_NDB_STORED_USER","KW_PASSWORDLESS_USER_ADMIN","KW_PERSIST_RO_VARIABLES_ADMIN","KW_PRIVILEGES","KW_PROCESS","KW_RELOAD","KW_REPLICATION_APPLIER","KW_REPLICATION_SLAVE_ADMIN","KW_RESOURCE","KW_RESOURCE_GROUP_ADMIN","KW_RESOURCE_GROUP_USER","KW_ROLE_ADMIN","KW_ROUTINE","KW_S3","KW_SERVICE_CONNECTION_ADMIN","KW_SESSION_VARIABLES_ADMIN","KW_SET_USER_ID","KW_SHOW_ROUTINE","KW_SHUTDOWN","KW_SUPER","KW_SYSTEM_VARIABLES_ADMIN","KW_TABLES","KW_TABLE_ENCRYPTION_ADMIN","KW_VERSION_TOKEN_ADMIN","KW_XA_RECOVER_ADMIN","KW_ARMSCII8","KW_ASCII","KW_BIG5","KW_CP1250","KW_CP1251","KW_CP1256","KW_CP1257","KW_CP850","KW_CP852","KW_CP866","KW_CP932","KW_DEC8","KW_EUCJPMS","KW_EUCKR","KW_GB18030","KW_GB2312","KW_GBK","KW_GEOSTD8","KW_GREEK","KW_HEBREW","KW_HP8","KW_KEYBCS2","KW_KOI8R","KW_KOI8U","KW_LATIN1","KW_LATIN2","KW_LATIN5","KW_LATIN7","KW_MACCE","KW_MACROMAN","KW_SJIS","KW_SWE7","KW_TIS620","KW_UCS2","KW_UJIS","KW_UTF16","KW_UTF16LE","KW_UTF32","KW_UTF8","KW_UTF8MB3","KW_UTF8MB4","KW_ARCHIVE","KW_BLACKHOLE","KW_CSV","KW_FEDERATED","KW_INNODB","KW_MEMORY","KW_MRG_MYISAM","KW_MYISAM","KW_NDB","KW_NDBCLUSTER","KW_PERFORMANCE_SCHEMA","KW_TOKUDB","KW_REPEATABLE","KW_COMMITTED","KW_UNCOMMITTED","KW_SERIALIZABLE","KW_GEOMETRYCOLLECTION","KW_GEOMCOLLECTION","KW_GEOMETRY","KW_LINESTRING","KW_MULTILINESTRING","KW_MULTIPOINT","KW_MULTIPOLYGON","KW_POINT","KW_POLYGON","KW_CATALOG_NAME","KW_CHARSET","KW_COLLATION","KW_ENGINE_ATTRIBUTE","KW_FORMAT","KW_GET_FORMAT","KW_INTERSECT","KW_RANDOM","KW_REVERSE","KW_ROW_COUNT","KW_SCHEMA_NAME","KW_SECONDARY_ENGINE_ATTRIBUTE","KW_SRID","KW_SYSTEM","KW_SYSTEM_USER","KW_THREAD_PRIORITY","KW_TP_CONNECTION_ADMIN","KW_TYPE","KW_WEIGHT_STRING","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","THREE_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","PERSIST_ID","ERROR_RECONGNIGION"],t.ruleNames=["program","singleStatement","sqlStatement","emptyStatement_","ddlStatement","dmlStatement","transactionStatement","replicationStatement","preparedStatement","compoundStatement","administrationStatement","utilityStatement","createDatabase","createEvent","createIndex","createLogfileGroup","createProcedure","createRole","createServer","createTable","createTablespaceInnodb","createTablespaceNdb","createTrigger","withClause","commonTableExpressions","createView","createDatabaseOption","charSet","currentUserExpression","ownerStatement","scheduleExpression","timestampValue","intervalExpr","intervalType","enableType","indexType","indexOption","procedureParameter","routineOption","serverOption","createDefinitions","createDefinition","checkConstraintDefinition","constraintSymbol","columnDefinition","columnConstraint","referenceDefinition","referenceAction","referenceControlType","tableOption","tableType","tablespaceStorage","partitionDefinitions","partitionFunctionDefinition","subpartitionFunctionDefinition","partitionDefinition","partitionDefinerAtom","partitionDefinerVector","subpartitionDefinition","partitionOption","alterDatabase","alterEvent","alterFunction","alterInstance","alterLogfileGroup","alterProcedure","alterServer","alterTable","alterTablespace","alterView","alterOption","alterPartitionSpecification","dropDatabase","dropEvent","dropIndex","dropLogfileGroup","dropProcedure","dropFunction","dropServer","dropSpatial","dropTable","dropTablespace","dropTrigger","dropView","dropRole","setRole","renameTable","renameTableClause","truncateTable","callStatement","deleteStatement","doStatement","handlerStatement","insertStatement","asRowAlias","selectOrTableOrValues","interSectStatement","interSectQuery","loadDataStatement","loadXmlStatement","parenthesizedQuery","replaceStatement","selectStatement","setOperations","queryExpressionBody","queryItem","queryPrimary","updateStatement","valuesStatement","parenthesizedQueryExpression","queryBlock","replaceStatementValuesOrSelectOrTable","rowValuesList","setAssignmentList","updatedElement","assignmentField","lockClause","singleDeleteStatement","multipleDeleteStatement","handlerOpenStatement","handlerReadIndexStatement","handlerReadStatement","handlerCloseStatement","importTableStatement","singleUpdateStatement","multipleUpdateStatement","orderByClause","orderByExpression","tableSources","tableSource","tableSourceItem","fullColumnNames","indexHint","indexHintType","joinPart","joinSpec","queryExpression","querySpecification","unionStatement","lateralStatement","jsonTable","jsonColumnList","jsonColumn","jsonOnEmpty","jsonOnError","selectSpec","selectElements","selectElement","intoClause","selectFieldsInto","selectLinesInto","fromClause","groupByClause","havingClause","windowClause","groupByItem","limitClause","limitClauseAtom","startTransaction","beginWork","commitWork","rollbackWork","savepointStatement","rollbackStatement","releaseStatement","lockTables","unlockTables","setAutocommitStatement","setTransactionStatement","transactionMode","lockTableElement","lockAction","transactionOption","transactionLevel","changeMaster","changeReplicationFilter","changeReplicationSource","purgeBinaryLogs","startSlaveOrReplica","stopSlaveOrReplica","startGroupReplication","stopGroupReplication","masterOption","stringMasterOption","decimalMasterOption","boolMasterOption","v8NewMasterOption","replicationSourceOption","stringSourceOption","decimalSourceOption","boolSourceOption","otherSourceOption","channelOption","replicationFilter","tablePair","threadType","untilOption","connectionOptions","gtuidSet","xaStartTransaction","xaEndTransaction","xaPrepareStatement","xaCommitWork","xaRollbackWork","xaRecoverWork","prepareStatement","executeStatement","deallocatePrepare","routineBody","blockStatement","caseStatement","ifStatement","iterateStatement","leaveStatement","loopStatement","repeatStatement","returnStatement","whileStatement","cursorStatement","declareVariable","declareCondition","declareCursor","declareHandler","handlerConditionValue","procedureSqlStatement","caseAlternative","elifAlternative","alterUser","createUser","dropUser","grantStatement","roleOption","grantProxy","alterResourceGroup","createResourceGroup","dropResourceGroup","setResourceGroup","resourceGroupVcpuSpec","renameUser","revokeStatement","ignoreUnknownUser","privilegeObjectType","setPasswordStatement","userSpecification","alterUserAuthOption","createUserAuthOption","createUserInitialAuthOption","userAuthOption","authOptionClause","authenticationRule","tlsOption","userResourceOption","userPasswordOption","userLockOption","factorAuthOption","registrationOption","factor","privelegeClause","privilege","privilegeLevel","renameUserClause","analyzeTable","checkTable","checksumTable","optimizeTable","repairTable","tableActionOption","checkTableOption","createFunction","installComponent","variableExpr","uninstallComponent","installPlugin","uninstallPlugin","cloneStatement","setStatement","showStatement","variableClause","showCommonEntity","showFilter","showGlobalInfoClause","showSchemaEntity","showProfileType","binlogStatement","cacheIndexStatement","flushStatement","killStatement","loadIndexIntoCache","resetStatement","resetOption","resetPersist","resetAllChannel","reStartStatement","shutdownStatement","tableIndex","flushOption","flushTableOption","loadedTableIndexes","simpleDescribeStatement","fullDescribeStatement","analyzeDescribeStatement","helpStatement","useStatement","signalStatement","resignalStatement","signalConditionInformation","withStatement","tableStatement","diagnosticsStatement","diagnosticsConditionInformationName","describeObjectClause","databaseNameCreate","databaseName","functionNameCreate","functionName","viewNameCreate","viewName","indexNameCreate","indexNames","indexName","groupNameCreate","groupName","tableNameCreate","tableNames","tableName","userOrRoleNames","userOrRoleName","columnNameCreate","columnNames","columnName","tablespaceNameCreate","tablespaceName","partitionNameCreate","partitionNames","partitionName","indexColumnName","userHostPort","userAtHost","simpleUserName","hostName","userName","mysqlVariable","charsetName","collationName","engineName","engineNameBase","uuidSet","xid","xuidStringId","fullId","uidList","uid","simpleId","dottedId","decimalLiteral","fileSizeLiteral","stringLiteral","booleanLiteral","hexadecimalLiteral","nullNotnull","constant","dataType","collectionOptions","convertedDataType","lengthOneDimension","lengthTwoDimension","lengthTwoOptionalDimension","indexColumnNames","expressions","valuesOrValueList","expressionsWithDefaults","expressionOrDefault","constants","simpleStrings","userVariables","defaultValue","currentTimestamp","ifExists","ifNotExists","orReplace","functionCall","specificFunction","caseFuncAlternative","levelsInWeightString","levelInWeightListElement","aggregateWindowedFunction","nonAggregateWindowedFunction","overClause","windowSpec","windowName","frameClause","frameUnits","frameExtent","frameBetween","frameRange","partitionClause","scalarFunctionName","passwordFunctionClause","functionArgs","functionArg","expression","predicate","expressionAtom","unaryOperator","comparisonOperator","comparisonBase","logicalOperator","bitOperator","mathOperator","jsonOperator","charsetNameBase","transactionLevelBase","privilegesBase","intervalTypeBase","dataTypeBase","keywordsCanBeId","functionNameBase"],t._serializedATN=[4,1,895,8022,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,1,0,5,0,836,8,0,10,0,12,0,839,9,0,1,0,1,0,1,1,1,1,3,1,845,8,1,1,1,3,1,848,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,857,8,2,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,900,8,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,919,8,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,930,8,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,946,8,7,1,8,1,8,1,8,3,8,951,8,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,963,8,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,998,8,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11,1008,8,11,1,12,1,12,1,12,3,12,1013,8,12,1,12,1,12,5,12,1017,8,12,10,12,12,12,1020,9,12,1,13,1,13,3,13,1024,8,13,1,13,1,13,3,13,1028,8,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,3,13,1037,8,13,1,13,3,13,1040,8,13,1,13,3,13,1043,8,13,1,13,1,13,3,13,1047,8,13,1,13,1,13,1,13,1,14,1,14,3,14,1054,8,14,1,14,3,14,1057,8,14,1,14,1,14,1,14,3,14,1062,8,14,1,14,1,14,1,14,1,14,5,14,1068,8,14,10,14,12,14,1071,9,14,1,14,1,14,3,14,1075,8,14,1,14,1,14,1,14,3,14,1080,8,14,1,14,5,14,1083,8,14,10,14,12,14,1086,9,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,3,15,1097,8,15,1,15,3,15,1100,8,15,1,15,1,15,3,15,1104,8,15,1,15,3,15,1107,8,15,1,15,1,15,3,15,1111,8,15,1,15,3,15,1114,8,15,1,15,1,15,3,15,1118,8,15,1,15,3,15,1121,8,15,1,15,3,15,1124,8,15,1,15,1,15,3,15,1128,8,15,1,15,3,15,1131,8,15,1,15,1,15,3,15,1135,8,15,1,15,1,15,1,16,1,16,3,16,1141,8,16,1,16,1,16,3,16,1145,8,16,1,16,1,16,1,16,3,16,1150,8,16,1,16,1,16,5,16,1154,8,16,10,16,12,16,1157,9,16,1,16,1,16,5,16,1161,8,16,10,16,12,16,1164,9,16,1,16,1,16,1,17,1,17,1,17,3,17,1171,8,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,5,18,1187,8,18,10,18,12,18,1190,9,18,1,18,1,18,1,19,1,19,3,19,1196,8,19,1,19,1,19,3,19,1200,8,19,1,19,1,19,3,19,1204,8,19,1,19,1,19,3,19,1208,8,19,1,19,5,19,1211,8,19,10,19,12,19,1214,9,19,3,19,1216,8,19,1,19,3,19,1219,8,19,1,19,3,19,1222,8,19,1,19,3,19,1225,8,19,1,19,1,19,1,19,1,19,3,19,1231,8,19,1,19,1,19,3,19,1235,8,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,1245,8,19,1,19,1,19,3,19,1249,8,19,1,19,1,19,3,19,1253,8,19,1,19,1,19,1,19,1,19,3,19,1259,8,19,1,19,5,19,1262,8,19,10,19,12,19,1265,9,19,3,19,1267,8,19,1,19,3,19,1270,8,19,3,19,1272,8,19,1,20,1,20,3,20,1276,8,20,1,20,1,20,1,20,1,20,1,20,3,20,1283,8,20,1,20,1,20,3,20,1287,8,20,1,20,3,20,1290,8,20,1,20,1,20,1,20,3,20,1295,8,20,1,20,1,20,3,20,1299,8,20,1,20,3,20,1302,8,20,1,20,1,20,3,20,1306,8,20,1,20,3,20,1309,8,20,1,21,1,21,3,21,1313,8,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1326,8,21,1,21,3,21,1329,8,21,1,21,1,21,3,21,1333,8,21,1,21,3,21,1336,8,21,1,21,1,21,3,21,1340,8,21,1,21,3,21,1343,8,21,1,21,1,21,3,21,1347,8,21,1,21,3,21,1350,8,21,1,21,1,21,3,21,1354,8,21,1,21,3,21,1357,8,21,1,21,3,21,1360,8,21,1,21,1,21,3,21,1364,8,21,1,21,3,21,1367,8,21,1,21,1,21,3,21,1371,8,21,1,21,1,21,1,22,1,22,3,22,1377,8,22,1,22,1,22,3,22,1381,8,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,3,22,1393,8,22,1,22,1,22,1,23,1,23,3,23,1399,8,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,5,24,1408,8,24,10,24,12,24,1411,9,24,1,24,1,24,3,24,1415,8,24,1,24,1,24,1,24,1,24,1,24,1,24,3,24,1423,8,24,1,25,1,25,3,25,1427,8,25,1,25,1,25,1,25,3,25,1432,8,25,1,25,3,25,1435,8,25,1,25,1,25,1,25,3,25,1440,8,25,1,25,1,25,1,25,1,25,1,25,1,25,5,25,1448,8,25,10,25,12,25,1451,9,25,1,25,1,25,3,25,1455,8,25,1,25,1,25,1,25,3,25,1460,8,25,1,25,1,25,1,25,1,25,3,25,1466,8,25,1,25,1,25,1,25,3,25,1471,8,25,1,25,1,25,3,25,1475,8,25,3,25,1477,8,25,1,26,3,26,1480,8,26,1,26,1,26,3,26,1484,8,26,1,26,1,26,3,26,1488,8,26,1,26,3,26,1491,8,26,1,26,1,26,3,26,1495,8,26,1,26,1,26,3,26,1499,8,26,1,26,1,26,3,26,1503,8,26,1,26,1,26,1,26,1,26,3,26,1509,8,26,1,26,3,26,1512,8,26,1,27,1,27,1,27,1,27,1,27,3,27,1519,8,27,1,28,1,28,1,28,3,28,1524,8,28,1,29,1,29,1,29,1,29,3,29,1530,8,29,1,30,1,30,1,30,5,30,1535,8,30,10,30,12,30,1538,9,30,1,30,1,30,1,30,3,30,1543,8,30,1,30,1,30,1,30,1,30,5,30,1549,8,30,10,30,12,30,1552,9,30,3,30,1554,8,30,1,30,1,30,1,30,5,30,1559,8,30,10,30,12,30,1562,9,30,3,30,1564,8,30,3,30,1566,8,30,1,31,1,31,1,31,1,31,3,31,1572,8,31,1,32,1,32,1,32,1,32,3,32,1578,8,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,1595,8,33,1,34,1,34,1,34,1,34,1,34,3,34,1602,8,34,1,35,1,35,1,35,1,36,1,36,3,36,1609,8,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1621,8,36,1,36,1,36,1,36,3,36,1626,8,36,1,36,3,36,1629,8,36,1,37,3,37,1632,8,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,3,38,1642,8,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1655,8,38,1,38,1,38,1,38,3,38,1660,8,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,1676,8,39,1,40,1,40,1,40,1,40,5,40,1682,8,40,10,40,12,40,1685,9,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,3,41,1694,8,41,1,41,3,41,1697,8,41,1,41,1,41,5,41,1701,8,41,10,41,12,41,1704,9,41,1,41,1,41,3,41,1708,8,41,1,41,3,41,1711,8,41,1,41,1,41,5,41,1715,8,41,10,41,12,41,1718,9,41,1,41,3,41,1721,8,41,1,41,1,41,1,41,3,41,1726,8,41,1,41,1,41,5,41,1730,8,41,10,41,12,41,1733,9,41,1,41,3,41,1736,8,41,1,41,1,41,3,41,1740,8,41,1,41,3,41,1743,8,41,1,41,3,41,1746,8,41,1,41,1,41,5,41,1750,8,41,10,41,12,41,1753,9,41,1,41,3,41,1756,8,41,1,41,1,41,1,41,3,41,1761,8,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,3,41,1772,8,41,1,42,3,42,1775,8,42,1,42,1,42,1,42,1,42,1,42,3,42,1782,8,42,1,42,3,42,1785,8,42,1,43,1,43,3,43,1789,8,43,1,44,1,44,5,44,1793,8,44,10,44,12,44,1796,9,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,3,45,1807,8,45,1,45,3,45,1810,8,45,1,45,1,45,1,45,3,45,1815,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,3,45,1828,8,45,1,45,1,45,1,45,1,45,1,45,3,45,1835,8,45,1,45,1,45,1,45,1,45,3,45,1841,8,45,1,46,1,46,1,46,3,46,1846,8,46,1,46,1,46,3,46,1850,8,46,1,46,3,46,1853,8,46,1,47,1,47,1,47,1,47,1,47,1,47,3,47,1861,8,47,1,47,1,47,1,47,1,47,1,47,1,47,3,47,1869,8,47,3,47,1871,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,1881,8,48,1,49,1,49,3,49,1885,8,49,1,49,3,49,1888,8,49,1,49,1,49,3,49,1892,8,49,1,49,1,49,1,49,3,49,1897,8,49,1,49,1,49,1,49,3,49,1902,8,49,1,49,1,49,1,49,3,49,1907,8,49,1,49,1,49,3,49,1911,8,49,1,49,1,49,3,49,1915,8,49,1,49,1,49,3,49,1919,8,49,1,49,1,49,3,49,1923,8,49,1,49,1,49,3,49,1927,8,49,1,49,1,49,3,49,1931,8,49,1,49,1,49,1,49,3,49,1936,8,49,1,49,1,49,1,49,3,49,1941,8,49,1,49,1,49,1,49,3,49,1946,8,49,1,49,1,49,1,49,1,49,3,49,1952,8,49,1,49,1,49,1,49,3,49,1957,8,49,1,49,1,49,1,49,3,49,1962,8,49,1,49,1,49,1,49,3,49,1967,8,49,1,49,1,49,1,49,3,49,1972,8,49,1,49,1,49,1,49,3,49,1977,8,49,1,49,1,49,1,49,1,49,3,49,1983,8,49,1,49,1,49,1,49,3,49,1988,8,49,1,49,1,49,1,49,3,49,1993,8,49,1,49,1,49,1,49,3,49,1998,8,49,1,49,1,49,1,49,3,49,2003,8,49,1,49,1,49,1,49,3,49,2008,8,49,1,49,1,49,1,49,3,49,2013,8,49,1,49,1,49,1,49,3,49,2018,8,49,1,49,1,49,1,49,1,49,1,49,3,49,2025,8,49,1,49,1,49,1,49,3,49,2030,8,49,1,49,1,49,1,49,3,49,2035,8,49,1,49,1,49,1,49,3,49,2040,8,49,1,49,1,49,3,49,2044,8,49,1,49,1,49,1,49,3,49,2049,8,49,1,49,1,49,1,49,1,49,1,49,1,49,3,49,2057,8,49,1,49,1,49,1,49,3,49,2062,8,49,1,49,1,49,1,49,1,49,3,49,2068,8,49,1,50,1,50,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,3,52,2080,8,52,1,52,1,52,1,52,1,52,1,52,3,52,2087,8,52,3,52,2089,8,52,1,52,1,52,1,52,1,52,5,52,2095,8,52,10,52,12,52,2098,9,52,1,52,1,52,3,52,2102,8,52,1,53,3,53,2105,8,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,2113,8,53,1,53,1,53,1,53,1,53,3,53,2119,8,53,1,53,1,53,3,53,2123,8,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,2136,8,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,2148,8,53,3,53,2150,8,53,1,54,3,54,2153,8,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,2161,8,54,1,54,1,54,1,54,1,54,3,54,2167,8,54,1,54,1,54,1,54,1,54,3,54,2173,8,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,2184,8,55,10,55,12,55,2187,9,55,1,55,1,55,5,55,2191,8,55,10,55,12,55,2194,9,55,1,55,1,55,1,55,1,55,5,55,2200,8,55,10,55,12,55,2203,9,55,1,55,1,55,3,55,2207,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,2216,8,55,10,55,12,55,2219,9,55,1,55,1,55,1,55,1,55,5,55,2225,8,55,10,55,12,55,2228,9,55,1,55,1,55,3,55,2232,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,2242,8,55,10,55,12,55,2245,9,55,1,55,1,55,5,55,2249,8,55,10,55,12,55,2252,9,55,1,55,1,55,1,55,1,55,5,55,2258,8,55,10,55,12,55,2261,9,55,1,55,1,55,3,55,2265,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,2275,8,55,10,55,12,55,2278,9,55,1,55,1,55,5,55,2282,8,55,10,55,12,55,2285,9,55,1,55,1,55,1,55,1,55,5,55,2291,8,55,10,55,12,55,2294,9,55,1,55,1,55,3,55,2298,8,55,1,55,1,55,1,55,5,55,2303,8,55,10,55,12,55,2306,9,55,1,55,1,55,1,55,1,55,5,55,2312,8,55,10,55,12,55,2315,9,55,1,55,1,55,3,55,2319,8,55,3,55,2321,8,55,1,56,1,56,1,56,3,56,2326,8,56,1,57,1,57,1,57,1,57,4,57,2332,8,57,11,57,12,57,2333,1,57,1,57,1,58,1,58,1,58,5,58,2341,8,58,10,58,12,58,2344,9,58,1,59,3,59,2347,8,59,1,59,3,59,2350,8,59,1,59,1,59,3,59,2354,8,59,1,59,1,59,1,59,3,59,2359,8,59,1,59,1,59,1,59,1,59,3,59,2365,8,59,1,59,1,59,1,59,1,59,3,59,2371,8,59,1,59,1,59,1,59,3,59,2376,8,59,1,59,1,59,1,59,3,59,2381,8,59,1,59,1,59,1,59,3,59,2386,8,59,1,59,1,59,1,59,3,59,2391,8,59,1,59,3,59,2394,8,59,1,60,1,60,1,60,3,60,2399,8,60,1,60,4,60,2402,8,60,11,60,12,60,2403,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2414,8,60,1,61,1,61,3,61,2418,8,61,1,61,1,61,1,61,1,61,1,61,3,61,2425,8,61,1,61,1,61,1,61,3,61,2430,8,61,1,61,3,61,2433,8,61,1,61,1,61,1,61,3,61,2438,8,61,1,61,3,61,2441,8,61,1,61,1,61,3,61,2445,8,61,1,61,1,61,3,61,2449,8,61,1,62,1,62,1,62,1,62,5,62,2455,8,62,10,62,12,62,2458,9,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,3,64,2476,8,64,1,64,3,64,2479,8,64,1,64,3,64,2482,8,64,1,64,1,64,3,64,2486,8,64,1,64,1,64,1,65,1,65,1,65,1,65,5,65,2494,8,65,10,65,12,65,2497,9,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,5,66,2507,8,66,10,66,12,66,2510,9,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,5,67,2520,8,67,10,67,12,67,2523,9,67,3,67,2525,8,67,1,67,1,67,5,67,2529,8,67,10,67,12,67,2532,9,67,3,67,2534,8,67,1,68,1,68,3,68,2538,8,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,3,68,2547,8,68,1,68,3,68,2550,8,68,1,68,3,68,2553,8,68,1,68,1,68,1,68,3,68,2558,8,68,1,68,1,68,3,68,2562,8,68,1,68,3,68,2565,8,68,1,68,1,68,3,68,2569,8,68,1,68,1,68,3,68,2573,8,68,1,68,3,68,2576,8,68,1,68,1,68,3,68,2580,8,68,1,68,3,68,2583,8,68,1,68,1,68,3,68,2587,8,68,1,68,3,68,2590,8,68,1,69,1,69,1,69,1,69,3,69,2596,8,69,1,69,3,69,2599,8,69,1,69,1,69,1,69,3,69,2604,8,69,1,69,1,69,1,69,1,69,1,69,1,69,3,69,2612,8,69,1,69,1,69,1,69,1,69,3,69,2618,8,69,1,69,1,69,3,69,2622,8,69,1,70,1,70,3,70,2626,8,70,1,70,5,70,2629,8,70,10,70,12,70,2632,9,70,1,70,1,70,3,70,2636,8,70,1,70,1,70,1,70,1,70,1,70,3,70,2643,8,70,1,70,1,70,3,70,2647,8,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,5,70,2656,8,70,10,70,12,70,2659,9,70,1,70,1,70,1,70,1,70,1,70,3,70,2666,8,70,1,70,3,70,2669,8,70,1,70,1,70,5,70,2673,8,70,10,70,12,70,2676,9,70,1,70,1,70,1,70,3,70,2681,8,70,1,70,3,70,2684,8,70,1,70,1,70,5,70,2688,8,70,10,70,12,70,2691,9,70,1,70,1,70,1,70,3,70,2696,8,70,3,70,2698,8,70,1,70,1,70,1,70,3,70,2703,8,70,1,70,1,70,5,70,2707,8,70,10,70,12,70,2710,9,70,1,70,1,70,1,70,3,70,2715,8,70,3,70,2717,8,70,1,70,1,70,3,70,2721,8,70,1,70,3,70,2724,8,70,1,70,3,70,2727,8,70,1,70,1,70,5,70,2731,8,70,10,70,12,70,2734,9,70,1,70,1,70,1,70,3,70,2739,8,70,3,70,2741,8,70,1,70,1,70,1,70,3,70,2746,8,70,1,70,1,70,1,70,1,70,1,70,3,70,2753,8,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2762,8,70,1,70,3,70,2765,8,70,1,70,1,70,3,70,2769,8,70,1,70,1,70,1,70,3,70,2774,8,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2784,8,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2793,8,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2801,8,70,1,70,3,70,2804,8,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2812,8,70,1,70,3,70,2815,8,70,1,70,1,70,1,70,1,70,1,70,3,70,2822,8,70,1,70,1,70,1,70,3,70,2827,8,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2835,8,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2851,8,70,1,70,1,70,1,70,3,70,2856,8,70,1,70,1,70,1,70,1,70,1,70,3,70,2863,8,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2882,8,70,1,70,1,70,1,70,1,70,3,70,2888,8,70,1,71,1,71,1,71,1,71,1,71,1,71,5,71,2896,8,71,10,71,12,71,2899,9,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2910,8,71,1,71,1,71,1,71,1,71,1,71,3,71,2917,8,71,1,71,1,71,1,71,1,71,1,71,3,71,2924,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,2937,8,71,10,71,12,71,2940,9,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2952,8,71,1,71,1,71,1,71,1,71,3,71,2958,8,71,1,71,1,71,1,71,1,71,3,71,2964,8,71,1,71,1,71,1,71,1,71,3,71,2970,8,71,1,71,1,71,1,71,1,71,3,71,2976,8,71,1,71,1,71,1,71,1,71,3,71,2982,8,71,1,71,1,71,1,71,1,71,3,71,2988,8,71,1,72,1,72,1,72,3,72,2993,8,72,1,72,1,72,1,73,1,73,1,73,3,73,3e3,8,73,1,73,1,73,1,74,1,74,1,74,3,74,3007,8,74,1,74,1,74,1,74,1,74,1,74,3,74,3014,8,74,1,74,1,74,1,74,3,74,3019,8,74,1,74,5,74,3022,8,74,10,74,12,74,3025,9,74,1,75,1,75,1,75,1,75,1,75,1,75,3,75,3033,8,75,1,75,1,75,1,76,1,76,1,76,3,76,3040,8,76,1,76,1,76,1,77,1,77,1,77,3,77,3047,8,77,1,77,1,77,1,78,1,78,1,78,3,78,3054,8,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,3,79,3063,8,79,1,79,1,79,1,80,1,80,3,80,3069,8,80,1,80,1,80,3,80,3073,8,80,1,80,1,80,3,80,3077,8,80,1,81,1,81,3,81,3081,8,81,1,81,1,81,1,81,1,81,3,81,3087,8,81,1,81,3,81,3090,8,81,1,82,1,82,1,82,3,82,3095,8,82,1,82,1,82,1,83,1,83,1,83,3,83,3102,8,83,1,83,1,83,1,83,5,83,3107,8,83,10,83,12,83,3110,9,83,1,83,3,83,3113,8,83,1,84,1,84,1,84,3,84,3118,8,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,3,85,3128,8,85,1,85,1,85,1,85,1,85,5,85,3134,8,85,10,85,12,85,3137,9,85,1,85,1,85,1,85,3,85,3142,8,85,1,86,1,86,1,86,1,86,1,86,5,86,3149,8,86,10,86,12,86,3152,9,86,1,87,1,87,1,87,1,87,1,88,1,88,3,88,3160,8,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,3,89,3169,8,89,1,89,3,89,3172,8,89,1,90,1,90,3,90,3176,8,90,1,91,1,91,1,91,1,92,1,92,1,92,1,92,3,92,3185,8,92,1,93,1,93,3,93,3189,8,93,1,93,3,93,3192,8,93,1,93,3,93,3195,8,93,1,93,1,93,1,93,1,93,3,93,3201,8,93,1,93,3,93,3204,8,93,1,93,3,93,3207,8,93,1,93,1,93,3,93,3211,8,93,1,93,3,93,3214,8,93,1,93,3,93,3217,8,93,1,93,3,93,3220,8,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,5,93,3229,8,93,10,93,12,93,3232,9,93,3,93,3234,8,93,1,94,1,94,1,94,3,94,3239,8,94,1,95,1,95,1,95,1,95,3,95,3245,8,95,1,96,1,96,1,96,3,96,3250,8,96,1,96,4,96,3253,8,96,11,96,12,96,3254,1,97,3,97,3258,8,97,1,97,1,97,3,97,3262,8,97,1,98,1,98,1,98,3,98,3267,8,98,1,98,3,98,3270,8,98,1,98,1,98,1,98,3,98,3275,8,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,3285,8,98,1,98,1,98,1,98,3,98,3290,8,98,1,98,1,98,4,98,3294,8,98,11,98,12,98,3295,3,98,3298,8,98,1,98,1,98,4,98,3302,8,98,11,98,12,98,3303,3,98,3306,8,98,1,98,1,98,1,98,1,98,3,98,3312,8,98,1,98,1,98,1,98,1,98,5,98,3318,8,98,10,98,12,98,3321,9,98,1,98,1,98,3,98,3325,8,98,1,98,1,98,1,98,1,98,5,98,3331,8,98,10,98,12,98,3334,9,98,3,98,3336,8,98,1,99,1,99,1,99,3,99,3341,8,99,1,99,3,99,3344,8,99,1,99,1,99,1,99,3,99,3349,8,99,1,99,1,99,1,99,1,99,1,99,1,99,3,99,3357,8,99,1,99,1,99,1,99,1,99,3,99,3363,8,99,1,99,1,99,3,99,3367,8,99,3,99,3369,8,99,1,99,1,99,1,99,1,99,3,99,3375,8,99,1,99,1,99,1,99,1,99,5,99,3381,8,99,10,99,12,99,3384,9,99,1,99,1,99,3,99,3388,8,99,1,99,1,99,1,99,1,99,5,99,3394,8,99,10,99,12,99,3397,9,99,3,99,3399,8,99,1,100,1,100,1,100,3,100,3404,8,100,1,100,3,100,3407,8,100,1,100,1,100,3,100,3411,8,100,1,100,3,100,3414,8,100,1,100,3,100,3417,8,100,1,101,1,101,3,101,3421,8,101,1,101,3,101,3424,8,101,1,101,1,101,1,101,1,101,1,101,1,101,3,101,3432,8,101,1,101,1,101,1,101,1,101,3,101,3438,8,101,1,101,1,101,3,101,3442,8,101,1,102,1,102,5,102,3446,8,102,10,102,12,102,3449,9,102,1,102,1,102,3,102,3453,8,102,1,102,1,102,3,102,3457,8,102,3,102,3459,8,102,1,102,1,102,5,102,3463,8,102,10,102,12,102,3466,9,102,1,102,3,102,3469,8,102,1,102,3,102,3472,8,102,1,102,3,102,3475,8,102,1,102,3,102,3478,8,102,1,102,1,102,5,102,3482,8,102,10,102,12,102,3485,9,102,1,102,1,102,3,102,3489,8,102,1,102,3,102,3492,8,102,1,102,3,102,3495,8,102,1,102,3,102,3498,8,102,1,102,3,102,3501,8,102,3,102,3503,8,102,1,103,3,103,3506,8,103,1,103,1,103,3,103,3510,8,103,1,103,3,103,3513,8,103,1,103,3,103,3516,8,103,1,104,1,104,1,104,1,104,1,104,1,104,3,104,3524,8,104,1,104,1,104,1,104,1,104,3,104,3530,8,104,1,104,5,104,3533,8,104,10,104,12,104,3536,9,104,1,105,1,105,1,105,1,105,1,105,1,105,3,105,3544,8,105,1,105,5,105,3547,8,105,10,105,12,105,3550,9,105,1,106,1,106,1,106,1,106,3,106,3556,8,106,1,106,3,106,3559,8,106,1,106,3,106,3562,8,106,1,106,1,106,3,106,3566,8,106,1,107,1,107,3,107,3570,8,107,1,108,1,108,1,108,1,108,3,108,3576,8,108,1,108,1,108,3,108,3580,8,108,1,109,1,109,1,109,5,109,3585,8,109,10,109,12,109,3588,9,109,1,109,3,109,3591,8,109,1,109,3,109,3594,8,109,1,109,3,109,3597,8,109,1,110,1,110,1,110,3,110,3602,8,110,1,111,1,111,1,111,1,111,1,111,3,111,3609,8,111,1,112,1,112,1,112,1,112,1,112,1,112,5,112,3617,8,112,10,112,12,112,3620,9,112,1,113,1,113,1,113,1,113,5,113,3626,8,113,10,113,12,113,3629,9,113,1,114,1,114,1,114,1,114,1,115,1,115,3,115,3637,8,115,1,116,1,116,1,116,1,116,1,116,1,116,5,116,3645,8,116,10,116,12,116,3648,9,116,3,116,3650,8,116,1,116,1,116,3,116,3654,8,116,1,116,1,116,1,116,1,116,3,116,3660,8,116,1,117,1,117,3,117,3664,8,117,1,117,3,117,3667,8,117,1,117,3,117,3670,8,117,1,117,1,117,1,117,3,117,3675,8,117,1,117,3,117,3678,8,117,1,117,1,117,1,117,1,117,1,117,3,117,3685,8,117,1,117,1,117,3,117,3689,8,117,1,117,3,117,3692,8,117,1,117,1,117,3,117,3696,8,117,1,118,1,118,3,118,3700,8,118,1,118,3,118,3703,8,118,1,118,3,118,3706,8,118,1,118,1,118,1,118,3,118,3711,8,118,1,118,1,118,1,118,1,118,3,118,3717,8,118,5,118,3719,8,118,10,118,12,118,3722,9,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3731,8,118,1,118,1,118,1,118,1,118,3,118,3737,8,118,5,118,3739,8,118,10,118,12,118,3742,9,118,1,118,1,118,1,118,3,118,3747,8,118,1,118,1,118,3,118,3751,8,118,1,119,1,119,1,119,1,119,3,119,3757,8,119,1,119,3,119,3760,8,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,3,120,3772,8,120,1,120,1,120,3,120,3776,8,120,1,120,1,120,3,120,3780,8,120,1,121,1,121,1,121,1,121,1,121,1,121,3,121,3788,8,121,1,121,1,121,3,121,3792,8,121,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,5,123,3804,8,123,10,123,12,123,3807,9,123,1,124,1,124,3,124,3811,8,124,1,124,3,124,3814,8,124,1,124,1,124,3,124,3818,8,124,1,124,3,124,3821,8,124,1,124,1,124,1,124,1,124,5,124,3827,8,124,10,124,12,124,3830,9,124,1,124,1,124,3,124,3834,8,124,1,124,3,124,3837,8,124,1,124,3,124,3840,8,124,1,125,1,125,3,125,3844,8,125,1,125,3,125,3847,8,125,1,125,1,125,1,125,1,125,1,125,5,125,3854,8,125,10,125,12,125,3857,9,125,1,125,1,125,3,125,3861,8,125,1,126,1,126,1,126,1,126,1,126,5,126,3868,8,126,10,126,12,126,3871,9,126,1,127,1,127,3,127,3875,8,127,1,128,1,128,1,128,5,128,3880,8,128,10,128,12,128,3883,9,128,1,129,1,129,5,129,3887,8,129,10,129,12,129,3890,9,129,1,129,1,129,1,129,5,129,3895,8,129,10,129,12,129,3898,9,129,1,129,1,129,1,129,3,129,3903,8,129,1,130,1,130,1,130,1,130,1,130,1,130,3,130,3911,8,130,1,130,3,130,3914,8,130,1,130,3,130,3917,8,130,1,130,1,130,1,130,5,130,3922,8,130,10,130,12,130,3925,9,130,3,130,3927,8,130,1,130,3,130,3930,8,130,1,130,1,130,1,130,1,130,1,130,3,130,3937,8,130,1,130,3,130,3940,8,130,1,130,1,130,3,130,3944,8,130,1,130,1,130,1,130,1,130,3,130,3950,8,130,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,3,132,3960,8,132,1,132,1,132,3,132,3964,8,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,3,133,3973,8,133,1,134,3,134,3976,8,134,1,134,1,134,3,134,3980,8,134,1,134,1,134,5,134,3984,8,134,10,134,12,134,3987,9,134,1,134,1,134,1,134,5,134,3992,8,134,10,134,12,134,3995,9,134,1,134,1,134,3,134,3999,8,134,1,134,1,134,3,134,4003,8,134,1,134,1,134,5,134,4007,8,134,10,134,12,134,4010,9,134,1,134,1,134,1,134,3,134,4015,8,134,1,134,3,134,4018,8,134,3,134,4020,8,134,1,134,1,134,3,134,4024,8,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,3,135,4033,8,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,3,136,4043,8,136,1,137,1,137,5,137,4047,8,137,10,137,12,137,4050,9,137,1,137,1,137,3,137,4054,8,137,1,137,1,137,3,137,4058,8,137,1,137,3,137,4061,8,137,1,137,3,137,4064,8,137,1,137,3,137,4067,8,137,1,137,3,137,4070,8,137,1,137,3,137,4073,8,137,1,138,1,138,3,138,4077,8,138,1,138,1,138,3,138,4081,8,138,1,139,1,139,1,139,1,139,1,139,1,139,3,139,4089,8,139,1,139,1,139,3,139,4093,8,139,1,139,3,139,4096,8,139,3,139,4098,8,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,3,140,4111,8,140,1,140,3,140,4114,8,140,1,141,1,141,1,141,5,141,4119,8,141,10,141,12,141,4122,9,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,4131,8,142,1,142,3,142,4134,8,142,1,142,1,142,1,142,3,142,4139,8,142,3,142,4141,8,142,1,142,1,142,3,142,4145,8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,4153,8,142,1,143,1,143,1,143,1,143,3,143,4159,8,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,3,144,4168,8,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,3,145,4181,8,145,1,146,1,146,3,146,4185,8,146,1,146,1,146,5,146,4189,8,146,10,146,12,146,4192,9,146,1,147,1,147,3,147,4196,8,147,1,147,1,147,3,147,4200,8,147,1,147,3,147,4203,8,147,1,147,1,147,3,147,4207,8,147,1,147,3,147,4210,8,147,1,147,1,147,1,147,1,147,1,147,1,147,3,147,4218,8,147,1,147,3,147,4221,8,147,3,147,4223,8,147,1,148,1,148,1,148,1,148,5,148,4229,8,148,10,148,12,148,4232,9,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,3,148,4243,8,148,1,148,1,148,4,148,4247,8,148,11,148,12,148,4248,3,148,4251,8,148,1,148,1,148,4,148,4255,8,148,11,148,12,148,4256,3,148,4259,8,148,3,148,4261,8,148,1,149,1,149,1,149,1,149,3,149,4267,8,149,1,149,1,149,1,149,1,149,1,149,1,149,3,149,4275,8,149,1,150,1,150,1,150,1,150,1,150,1,150,3,150,4283,8,150,1,151,1,151,3,151,4287,8,151,1,151,1,151,3,151,4291,8,151,1,152,1,152,1,152,1,152,1,152,5,152,4298,8,152,10,152,12,152,4301,9,152,1,152,1,152,3,152,4305,8,152,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,5,154,4323,8,154,10,154,12,154,4326,9,154,1,155,1,155,3,155,4330,8,155,1,156,1,156,1,156,1,156,3,156,4336,8,156,1,156,1,156,1,156,1,156,1,156,3,156,4343,8,156,1,157,1,157,1,157,3,157,4348,8,157,1,158,1,158,1,158,1,158,1,158,5,158,4355,8,158,10,158,12,158,4358,9,158,3,158,4360,8,158,1,159,1,159,3,159,4364,8,159,1,160,1,160,3,160,4368,8,160,1,160,1,160,3,160,4372,8,160,1,160,3,160,4375,8,160,1,160,3,160,4378,8,160,1,160,3,160,4381,8,160,1,161,1,161,3,161,4385,8,161,1,161,1,161,3,161,4389,8,161,1,161,3,161,4392,8,161,1,161,3,161,4395,8,161,1,161,3,161,4398,8,161,1,162,1,162,1,162,1,163,1,163,3,163,4405,8,163,1,163,1,163,3,163,4409,8,163,1,163,1,163,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,5,165,4422,8,165,10,165,12,165,4425,9,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,168,1,168,3,168,4437,8,168,1,168,1,168,1,168,1,168,5,168,4443,8,168,10,168,12,168,4446,9,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,3,169,4455,8,169,1,170,1,170,3,170,4459,8,170,1,170,3,170,4462,8,170,1,170,1,170,1,171,1,171,3,171,4468,8,171,1,171,3,171,4471,8,171,1,171,3,171,4474,8,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,3,172,4483,8,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,3,173,4492,8,173,1,174,1,174,1,174,1,174,1,174,1,174,5,174,4500,8,174,10,174,12,174,4503,9,174,1,174,3,174,4506,8,174,1,175,1,175,1,175,1,175,1,175,1,175,5,175,4514,8,175,10,175,12,175,4517,9,175,1,175,3,175,4520,8,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,5,176,4529,8,176,10,176,12,176,4532,9,176,1,176,3,176,4535,8,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,3,177,4544,8,177,1,178,1,178,1,178,1,178,1,178,5,178,4551,8,178,10,178,12,178,4554,9,178,3,178,4556,8,178,1,178,1,178,3,178,4560,8,178,1,178,5,178,4563,8,178,10,178,12,178,4566,9,178,1,178,3,178,4569,8,178,1,179,1,179,1,179,1,179,1,179,5,179,4576,8,179,10,179,12,179,4579,9,179,3,179,4581,8,179,1,179,3,179,4584,8,179,1,180,1,180,1,180,1,180,1,180,3,180,4591,8,180,1,180,1,180,1,180,1,180,3,180,4597,8,180,1,180,1,180,1,180,1,180,3,180,4603,8,180,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,5,182,4627,8,182,10,182,12,182,4630,9,182,3,182,4632,8,182,1,182,3,182,4635,8,182,1,183,1,183,1,184,1,184,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,3,186,4654,8,186,3,186,4656,8,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,5,187,4677,8,187,10,187,12,187,4680,9,187,3,187,4682,8,187,1,187,3,187,4685,8,187,1,188,1,188,1,189,1,189,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,3,191,4704,8,191,3,191,4706,8,191,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,5,193,4718,8,193,10,193,12,193,4721,9,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,5,193,4731,8,193,10,193,12,193,4734,9,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,5,193,4768,8,193,10,193,12,193,4771,9,193,1,193,1,193,3,193,4775,8,193,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,3,196,4810,8,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,3,197,4824,8,197,1,198,1,198,1,198,5,198,4829,8,198,10,198,12,198,4832,9,198,1,198,3,198,4835,8,198,1,199,1,199,1,199,1,199,3,199,4841,8,199,1,200,1,200,1,200,1,200,1,200,1,200,3,200,4849,8,200,3,200,4851,8,200,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,3,202,4862,8,202,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,3,204,4872,8,204,1,205,1,205,1,205,1,205,1,205,3,205,4879,8,205,1,206,1,206,1,206,1,206,3,206,4885,8,206,1,207,1,207,1,207,1,207,1,208,1,208,3,208,4893,8,208,1,209,1,209,1,209,3,209,4898,8,209,1,209,1,209,1,209,1,209,5,209,4904,8,209,10,209,12,209,4907,9,209,1,209,1,209,1,209,5,209,4912,8,209,10,209,12,209,4915,9,209,1,209,1,209,1,209,5,209,4920,8,209,10,209,12,209,4923,9,209,1,209,1,209,1,209,5,209,4928,8,209,10,209,12,209,4931,9,209,1,209,5,209,4934,8,209,10,209,12,209,4937,9,209,1,209,1,209,3,209,4941,8,209,1,210,1,210,1,210,3,210,4946,8,210,1,210,4,210,4949,8,210,11,210,12,210,4950,1,210,1,210,4,210,4955,8,210,11,210,12,210,4956,3,210,4959,8,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,4,211,4968,8,211,11,211,12,211,4969,1,211,5,211,4973,8,211,10,211,12,211,4976,9,211,1,211,1,211,4,211,4980,8,211,11,211,12,211,4981,3,211,4984,8,211,1,211,1,211,1,211,1,212,1,212,1,212,1,213,1,213,1,213,1,214,1,214,1,214,3,214,4998,8,214,1,214,1,214,4,214,5002,8,214,11,214,12,214,5003,1,214,1,214,1,214,3,214,5009,8,214,1,215,1,215,1,215,3,215,5014,8,215,1,215,1,215,4,215,5018,8,215,11,215,12,215,5019,1,215,1,215,1,215,1,215,1,215,3,215,5027,8,215,1,216,1,216,1,216,1,217,1,217,1,217,3,217,5035,8,217,1,217,1,217,1,217,1,217,4,217,5041,8,217,11,217,12,217,5042,1,217,1,217,1,217,3,217,5048,8,217,1,218,1,218,1,218,1,218,3,218,5054,8,218,1,218,3,218,5057,8,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,5065,8,218,1,219,1,219,1,219,1,219,1,219,3,219,5072,8,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,3,220,5081,8,220,1,220,3,220,5084,8,220,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,5,222,5099,8,222,10,222,12,222,5102,9,222,1,222,1,222,1,223,1,223,1,223,3,223,5109,8,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,5117,8,223,1,224,1,224,3,224,5121,8,224,1,224,1,224,1,225,1,225,1,225,3,225,5128,8,225,1,225,1,225,4,225,5132,8,225,11,225,12,225,5133,1,226,1,226,1,226,1,226,4,226,5140,8,226,11,226,12,226,5141,1,227,1,227,1,227,3,227,5147,8,227,1,227,1,227,1,227,5,227,5152,8,227,10,227,12,227,5155,9,227,1,227,1,227,1,227,5,227,5160,8,227,10,227,12,227,5163,9,227,1,227,1,227,1,227,1,227,3,227,5169,8,227,1,227,5,227,5172,8,227,10,227,12,227,5175,9,227,3,227,5177,8,227,3,227,5179,8,227,1,227,1,227,4,227,5183,8,227,11,227,12,227,5184,3,227,5187,8,227,1,227,1,227,5,227,5191,8,227,10,227,12,227,5194,9,227,1,227,1,227,3,227,5198,8,227,1,227,1,227,1,227,1,227,1,227,3,227,5205,8,227,1,228,1,228,1,228,3,228,5210,8,228,1,228,1,228,3,228,5214,8,228,1,228,1,228,1,228,3,228,5219,8,228,5,228,5221,8,228,10,228,12,228,5224,9,228,1,228,1,228,1,228,3,228,5229,8,228,1,228,1,228,1,228,1,228,3,228,5235,8,228,1,228,5,228,5238,8,228,10,228,12,228,5241,9,228,3,228,5243,8,228,3,228,5245,8,228,1,228,1,228,4,228,5249,8,228,11,228,12,228,5250,3,228,5253,8,228,1,228,1,228,5,228,5257,8,228,10,228,12,228,5260,9,228,1,228,1,228,3,228,5264,8,228,1,229,1,229,1,229,3,229,5269,8,229,1,229,1,229,1,229,5,229,5274,8,229,10,229,12,229,5277,9,229,1,230,1,230,1,230,1,230,5,230,5283,8,230,10,230,12,230,5286,9,230,1,230,1,230,3,230,5290,8,230,1,230,1,230,1,230,1,230,1,230,5,230,5297,8,230,10,230,12,230,5300,9,230,1,230,3,230,5303,8,230,1,230,1,230,1,230,1,230,3,230,5309,8,230,1,230,5,230,5312,8,230,10,230,12,230,5315,9,230,3,230,5317,8,230,3,230,5319,8,230,1,230,1,230,1,230,1,230,5,230,5325,8,230,10,230,12,230,5328,9,230,3,230,5330,8,230,1,230,1,230,1,230,1,230,1,230,3,230,5337,8,230,3,230,5339,8,230,1,230,1,230,1,230,3,230,5344,8,230,1,230,1,230,1,230,5,230,5349,8,230,10,230,12,230,5352,9,230,1,230,1,230,1,230,1,230,5,230,5358,8,230,10,230,12,230,5361,9,230,1,230,1,230,1,230,3,230,5366,8,230,3,230,5368,8,230,1,231,1,231,1,231,1,231,1,231,3,231,5375,8,231,1,231,3,231,5378,8,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,5,232,5388,8,232,10,232,12,232,5391,9,232,1,232,1,232,1,232,3,232,5396,8,232,1,233,1,233,1,233,1,233,1,233,1,233,3,233,5404,8,233,1,233,3,233,5407,8,233,1,233,1,233,3,233,5411,8,233,1,233,3,233,5414,8,233,1,233,1,233,3,233,5418,8,233,3,233,5420,8,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,3,234,5431,8,234,1,234,3,234,5434,8,234,1,234,1,234,3,234,5438,8,234,1,234,3,234,5441,8,234,1,234,3,234,5444,8,234,1,235,1,235,1,235,1,235,1,235,3,235,5451,8,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,5,236,5461,8,236,10,236,12,236,5464,9,236,3,236,5466,8,236,1,237,1,237,1,237,1,237,1,237,3,237,5473,8,237,1,237,1,237,5,237,5477,8,237,10,237,12,237,5480,9,237,1,238,1,238,1,238,1,238,1,238,5,238,5487,8,238,10,238,12,238,5490,9,238,1,239,1,239,3,239,5494,8,239,1,239,1,239,1,239,5,239,5499,8,239,10,239,12,239,5502,9,239,1,239,1,239,3,239,5506,8,239,1,239,1,239,1,239,1,239,3,239,5512,8,239,1,239,1,239,3,239,5516,8,239,1,239,1,239,3,239,5520,8,239,1,239,1,239,1,239,1,239,1,239,1,239,3,239,5528,8,239,1,239,1,239,3,239,5532,8,239,1,239,1,239,3,239,5536,8,239,1,239,1,239,1,239,1,239,3,239,5542,8,239,3,239,5544,8,239,1,240,1,240,1,240,1,240,1,241,1,241,1,242,1,242,1,242,1,242,3,242,5556,8,242,1,242,1,242,1,242,3,242,5561,8,242,1,242,1,242,1,242,1,242,3,242,5567,8,242,1,242,1,242,1,242,1,242,3,242,5573,8,242,1,242,1,242,3,242,5577,8,242,1,242,1,242,1,242,3,242,5582,8,242,3,242,5584,8,242,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,3,244,5608,8,244,4,244,5610,8,244,11,244,12,244,5611,1,244,3,244,5615,8,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,3,245,5624,8,245,1,245,1,245,3,245,5628,8,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,3,245,5637,8,245,1,245,1,245,3,245,5641,8,245,1,245,1,245,3,245,5645,8,245,1,245,1,245,1,245,1,245,3,245,5651,8,245,3,245,5653,8,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5662,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5672,8,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,5699,8,247,1,248,1,248,3,248,5703,8,248,1,248,1,248,1,248,3,248,5708,8,248,1,249,1,249,1,249,1,249,1,249,3,249,5715,8,249,1,249,3,249,5718,8,249,1,249,1,249,1,249,1,249,3,249,5724,8,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,3,250,5734,8,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,3,251,5744,8,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,3,252,5754,8,252,1,252,1,252,1,252,1,252,3,252,5760,8,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,3,252,5769,8,252,1,252,1,252,1,252,1,252,3,252,5775,8,252,1,252,1,252,1,252,1,252,1,252,3,252,5782,8,252,3,252,5784,8,252,1,253,1,253,1,253,1,254,1,254,1,254,3,254,5792,8,254,1,254,1,254,1,254,1,254,3,254,5798,8,254,1,254,1,254,3,254,5802,8,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,3,255,5819,8,255,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,3,257,5829,8,257,1,258,1,258,3,258,5833,8,258,1,258,1,258,3,258,5837,8,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,3,258,5847,8,258,1,258,1,258,1,258,3,258,5852,8,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,3,258,5924,8,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,3,259,5942,8,259,1,260,1,260,1,260,1,260,1,261,1,261,3,261,5950,8,261,1,261,1,261,1,261,1,261,3,261,5956,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5968,8,261,1,261,1,261,3,261,5972,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5983,8,261,1,261,1,261,3,261,5987,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5996,8,261,1,262,1,262,1,262,1,262,5,262,6002,8,262,10,262,12,262,6005,9,262,1,263,1,263,1,263,1,263,3,263,6011,8,263,1,264,1,264,3,264,6015,8,264,1,264,1,264,1,264,1,265,1,265,3,265,6022,8,265,1,265,1,265,1,265,3,265,6027,8,265,1,265,3,265,6030,8,265,1,265,3,265,6033,8,265,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,3,267,6044,8,267,1,268,1,268,3,268,6048,8,268,1,268,1,268,3,268,6052,8,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,5,269,6065,8,269,10,269,12,269,6068,9,269,1,269,1,269,1,269,1,269,5,269,6074,8,269,10,269,12,269,6077,9,269,3,269,6079,8,269,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,5,271,6091,8,271,10,271,12,271,6094,9,271,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,3,274,6111,8,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,3,274,6124,8,274,1,274,3,274,6127,8,274,1,274,1,274,3,274,6131,8,274,1,274,3,274,6134,8,274,3,274,6136,8,274,1,275,1,275,1,275,1,275,1,275,3,275,6143,8,275,1,275,1,275,1,275,1,275,1,275,3,275,6150,8,275,5,275,6152,8,275,10,275,12,275,6155,9,275,1,275,1,275,1,275,1,275,3,275,6161,8,275,1,275,1,275,1,275,1,275,1,275,3,275,6168,8,275,1,275,3,275,6171,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,5,275,6185,8,275,10,275,12,275,6188,9,275,3,275,6190,8,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,3,276,6200,8,276,1,276,1,276,3,276,6204,8,276,1,276,1,276,1,276,1,276,3,276,6210,8,276,1,276,3,276,6213,8,276,1,276,3,276,6216,8,276,1,276,1,276,1,276,3,276,6221,8,276,1,276,1,276,3,276,6225,8,276,1,276,3,276,6228,8,276,1,276,1,276,1,276,1,276,1,276,3,276,6235,8,276,1,276,3,276,6238,8,276,1,276,1,276,1,276,1,276,3,276,6244,8,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,3,276,6280,8,276,1,276,3,276,6283,8,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,3,276,6295,8,276,1,276,3,276,6298,8,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,3,276,6314,8,276,3,276,6316,8,276,1,276,1,276,3,276,6320,8,276,1,276,1,276,1,276,1,276,1,276,3,276,6327,8,276,1,276,1,276,3,276,6331,8,276,1,276,1,276,1,276,1,276,1,276,3,276,6338,8,276,1,276,3,276,6341,8,276,1,276,1,276,1,276,1,276,1,276,5,276,6348,8,276,10,276,12,276,6351,9,276,3,276,6353,8,276,1,276,1,276,1,276,3,276,6358,8,276,1,276,1,276,1,276,1,276,3,276,6364,8,276,3,276,6366,8,276,1,276,1,276,1,276,1,276,3,276,6372,8,276,1,276,1,276,3,276,6376,8,276,1,277,1,277,1,277,1,277,3,277,6382,8,277,1,277,3,277,6385,8,277,1,277,3,277,6388,8,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,3,278,6401,8,278,1,278,3,278,6404,8,278,1,279,1,279,1,279,1,279,3,279,6410,8,279,1,280,3,280,6413,8,280,1,280,1,280,1,280,1,280,1,280,1,280,3,280,6421,8,280,1,280,1,280,1,280,1,280,1,280,1,280,3,280,6429,8,280,1,281,1,281,1,281,1,281,3,281,6435,8,281,1,281,3,281,6438,8,281,1,281,1,281,3,281,6442,8,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,3,282,6456,8,282,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,5,284,6466,8,284,10,284,12,284,6469,9,284,1,284,1,284,1,284,1,284,1,284,3,284,6476,8,284,1,284,1,284,3,284,6480,8,284,1,284,1,284,1,284,1,285,1,285,3,285,6487,8,285,1,285,1,285,1,285,5,285,6492,8,285,10,285,12,285,6495,9,285,1,286,1,286,3,286,6499,8,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,5,287,6510,8,287,10,287,12,287,6513,9,287,1,288,1,288,1,288,1,288,5,288,6519,8,288,10,288,12,288,6522,9,288,1,289,1,289,1,289,1,289,1,289,3,289,6529,8,289,1,290,1,290,1,290,3,290,6534,8,290,1,290,3,290,6537,8,290,1,291,1,291,1,291,3,291,6542,8,291,1,291,3,291,6545,8,291,1,292,1,292,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,3,294,6557,8,294,1,295,1,295,1,295,3,295,6562,8,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,3,295,6575,8,295,3,295,6577,8,295,1,295,1,295,1,295,3,295,6582,8,295,1,295,1,295,3,295,6586,8,295,1,295,3,295,6589,8,295,3,295,6591,8,295,1,296,1,296,1,296,1,296,1,296,3,296,6598,8,296,1,297,1,297,1,297,1,297,1,297,3,297,6605,8,297,1,297,3,297,6608,8,297,1,297,3,297,6611,8,297,1,297,1,297,1,297,1,297,3,297,6617,8,297,1,297,1,297,3,297,6621,8,297,1,298,1,298,1,298,1,298,3,298,6627,8,298,1,299,1,299,1,299,1,299,1,299,1,299,3,299,6635,8,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,3,300,6644,8,300,1,300,1,300,1,301,1,301,1,301,1,302,1,302,1,302,1,303,1,303,1,303,3,303,6657,8,303,1,303,1,303,1,303,3,303,6662,8,303,1,303,1,303,1,303,1,303,5,303,6668,8,303,10,303,12,303,6671,9,303,3,303,6673,8,303,1,304,1,304,1,304,3,304,6678,8,304,1,304,1,304,1,304,3,304,6683,8,304,1,304,1,304,1,304,1,304,5,304,6689,8,304,10,304,12,304,6692,9,304,3,304,6694,8,304,1,305,1,305,1,305,1,305,1,305,1,305,3,305,6702,8,305,1,306,1,306,3,306,6706,8,306,1,306,1,306,1,306,5,306,6711,8,306,10,306,12,306,6714,9,306,1,307,1,307,1,307,3,307,6719,8,307,1,307,3,307,6722,8,307,1,308,1,308,3,308,6726,8,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,5,308,6737,8,308,10,308,12,308,6740,9,308,1,308,1,308,1,308,3,308,6745,8,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,5,308,6755,8,308,10,308,12,308,6758,9,308,3,308,6760,8,308,1,309,1,309,1,310,1,310,1,310,1,310,1,310,3,310,6769,8,310,1,310,1,310,1,310,3,310,6774,8,310,1,311,1,311,1,312,1,312,1,313,1,313,1,314,1,314,1,315,1,315,1,316,1,316,1,317,1,317,1,318,1,318,1,318,5,318,6793,8,318,10,318,12,318,6796,9,318,1,319,1,319,1,320,1,320,1,321,1,321,1,322,1,322,1,323,1,323,1,323,5,323,6809,8,323,10,323,12,323,6812,9,323,1,324,1,324,1,325,1,325,1,325,5,325,6819,8,325,10,325,12,325,6822,9,325,1,326,1,326,3,326,6826,8,326,1,327,1,327,1,327,3,327,6831,8,327,3,327,6833,8,327,1,327,3,327,6836,8,327,1,327,1,327,3,327,6840,8,327,3,327,6842,8,327,1,328,1,328,1,328,5,328,6847,8,328,10,328,12,328,6850,9,328,1,329,1,329,1,329,3,329,6855,8,329,3,329,6857,8,329,1,329,3,329,6860,8,329,1,329,1,329,3,329,6864,8,329,1,329,3,329,6867,8,329,1,330,1,330,1,331,1,331,1,332,1,332,1,333,1,333,1,333,5,333,6878,8,333,10,333,12,333,6881,9,333,1,334,1,334,1,335,1,335,1,335,1,335,1,335,3,335,6890,8,335,1,335,3,335,6893,8,335,1,335,3,335,6896,8,335,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,338,1,338,1,338,1,338,3,338,6909,8,338,1,339,1,339,1,340,1,340,3,340,6915,8,340,1,340,3,340,6918,8,340,1,341,1,341,1,342,1,342,1,342,1,342,3,342,6926,8,342,1,343,1,343,1,344,1,344,1,344,3,344,6933,8,344,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,4,346,6951,8,346,11,346,12,346,6952,1,347,1,347,1,347,1,347,1,347,3,347,6960,8,347,3,347,6962,8,347,1,348,1,348,1,348,4,348,6967,8,348,11,348,12,348,6968,3,348,6971,8,348,1,349,1,349,3,349,6975,8,349,1,350,1,350,1,350,5,350,6980,8,350,10,350,12,350,6983,9,350,1,351,1,351,1,351,3,351,6988,8,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,3,352,6999,8,352,1,353,1,353,1,353,1,353,3,353,7005,8,353,1,354,1,354,1,355,1,355,3,355,7011,8,355,1,356,3,356,7014,8,356,1,356,1,356,3,356,7018,8,356,1,356,4,356,7021,8,356,11,356,12,356,7022,1,356,3,356,7026,8,356,1,356,1,356,3,356,7030,8,356,1,356,1,356,3,356,7034,8,356,3,356,7036,8,356,1,357,1,357,1,358,3,358,7041,8,358,1,358,1,358,1,359,3,359,7046,8,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,3,360,7059,8,360,1,360,3,360,7062,8,360,1,361,1,361,3,361,7066,8,361,1,361,3,361,7069,8,361,1,361,3,361,7072,8,361,1,361,1,361,1,361,3,361,7077,8,361,1,361,1,361,1,361,3,361,7082,8,361,1,361,1,361,1,361,1,361,3,361,7088,8,361,1,361,3,361,7091,8,361,1,361,1,361,1,361,3,361,7096,8,361,1,361,3,361,7099,8,361,1,361,1,361,1,361,3,361,7104,8,361,1,361,3,361,7107,8,361,1,361,1,361,3,361,7111,8,361,1,361,5,361,7114,8,361,10,361,12,361,7117,9,361,1,361,1,361,3,361,7121,8,361,1,361,5,361,7124,8,361,10,361,12,361,7127,9,361,1,361,1,361,3,361,7131,8,361,1,361,3,361,7134,8,361,1,361,5,361,7137,8,361,10,361,12,361,7140,9,361,1,361,1,361,3,361,7144,8,361,1,361,5,361,7147,8,361,10,361,12,361,7150,9,361,1,361,1,361,1,361,3,361,7155,8,361,1,361,1,361,1,361,3,361,7160,8,361,1,361,1,361,1,361,3,361,7165,8,361,1,361,1,361,1,361,3,361,7170,8,361,1,361,1,361,3,361,7174,8,361,1,361,3,361,7177,8,361,1,361,1,361,1,361,3,361,7182,8,361,1,361,1,361,3,361,7186,8,361,1,361,1,361,3,361,7190,8,361,1,362,1,362,1,362,1,362,5,362,7196,8,362,10,362,12,362,7199,9,362,1,362,1,362,1,363,1,363,3,363,7205,8,363,1,363,1,363,3,363,7209,8,363,1,363,1,363,1,363,3,363,7214,8,363,1,363,1,363,1,363,3,363,7219,8,363,1,363,1,363,3,363,7223,8,363,3,363,7225,8,363,1,363,3,363,7228,8,363,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,3,366,7244,8,366,1,366,1,366,1,367,1,367,1,367,1,367,5,367,7252,8,367,10,367,12,367,7255,9,367,1,367,1,367,1,368,1,368,1,368,5,368,7262,8,368,10,368,12,368,7265,9,368,1,369,1,369,1,369,1,369,5,369,7271,8,369,10,369,12,369,7274,9,369,1,370,1,370,1,370,1,370,5,370,7280,8,370,10,370,12,370,7283,9,370,1,370,1,370,1,371,1,371,3,371,7289,8,371,1,372,1,372,1,372,5,372,7294,8,372,10,372,12,372,7297,9,372,1,373,1,373,1,373,5,373,7302,8,373,10,373,12,373,7305,9,373,1,374,1,374,1,374,5,374,7310,8,374,10,374,12,374,7313,9,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,3,375,7324,8,375,1,375,1,375,1,375,1,375,1,375,3,375,7331,8,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,3,375,7341,8,375,1,376,1,376,1,376,3,376,7346,8,376,1,376,3,376,7349,8,376,1,376,1,376,1,376,3,376,7354,8,376,1,376,3,376,7357,8,376,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,3,380,7379,8,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,3,380,7388,8,380,1,380,3,380,7391,8,380,1,381,1,381,1,381,3,381,7396,8,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,4,381,7427,8,381,11,381,12,381,7428,1,381,1,381,3,381,7433,8,381,1,381,1,381,1,381,1,381,1,381,4,381,7440,8,381,11,381,12,381,7441,1,381,1,381,3,381,7446,8,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7455,8,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7463,8,381,1,381,1,381,1,381,3,381,7468,8,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7476,8,381,1,381,1,381,1,381,3,381,7481,8,381,1,381,1,381,1,381,3,381,7486,8,381,3,381,7488,8,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7497,8,381,1,381,1,381,1,381,3,381,7502,8,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7510,8,381,1,381,1,381,1,381,3,381,7515,8,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7523,8,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7531,8,381,1,381,3,381,7534,8,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7544,8,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7562,8,381,1,381,3,381,7565,8,381,1,381,3,381,7568,8,381,1,381,1,381,3,381,7572,8,381,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,5,383,7583,8,383,10,383,12,383,7586,9,383,1,383,1,383,1,383,1,383,1,383,3,383,7593,8,383,1,384,1,384,3,384,7597,8,384,1,385,1,385,1,385,3,385,7602,8,385,1,385,1,385,1,385,3,385,7607,8,385,1,385,1,385,1,385,1,385,3,385,7613,8,385,1,385,1,385,1,385,3,385,7618,8,385,1,385,1,385,3,385,7622,8,385,1,385,1,385,1,385,3,385,7627,8,385,1,385,1,385,1,385,3,385,7632,8,385,1,385,1,385,1,385,3,385,7637,8,385,1,385,1,385,1,385,1,385,1,385,1,385,5,385,7645,8,385,10,385,12,385,7648,9,385,3,385,7650,8,385,1,385,1,385,3,385,7654,8,385,1,385,1,385,3,385,7658,8,385,1,386,1,386,1,386,1,386,1,386,3,386,7665,8,386,1,386,1,386,3,386,7669,8,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,3,386,7698,8,386,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7706,8,387,1,388,3,388,7709,8,388,1,388,3,388,7712,8,388,1,388,3,388,7715,8,388,1,388,3,388,7718,8,388,1,389,1,389,1,390,1,390,1,390,1,391,1,391,1,392,1,392,3,392,7729,8,392,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,394,1,394,3,394,7743,8,394,1,395,1,395,1,395,1,395,1,395,5,395,7750,8,395,10,395,12,395,7753,9,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,3,396,7779,8,396,1,397,1,397,1,397,1,397,1,397,1,398,1,398,1,398,5,398,7789,8,398,10,398,12,398,7792,9,398,1,399,1,399,1,399,3,399,7797,8,399,1,400,1,400,1,400,1,400,1,400,1,400,3,400,7805,8,400,1,400,1,400,1,400,3,400,7810,8,400,1,400,1,400,1,400,1,400,5,400,7816,8,400,10,400,12,400,7819,9,400,1,401,1,401,1,401,1,401,1,401,3,401,7826,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7839,8,401,1,401,1,401,1,401,1,401,3,401,7845,8,401,1,401,1,401,1,401,1,401,3,401,7851,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7866,8,401,1,401,1,401,3,401,7870,8,401,1,401,1,401,1,401,1,401,3,401,7876,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,5,401,7885,8,401,10,401,12,401,7888,9,401,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,5,402,7906,8,402,10,402,12,402,7909,9,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,4,402,7918,8,402,11,402,12,402,7919,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,3,402,7938,8,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,5,402,7955,8,402,10,402,12,402,7958,9,402,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,3,404,7970,8,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,3,405,7979,8,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,3,406,7988,8,406,1,407,1,407,1,407,1,407,1,407,1,407,1,407,3,407,7997,8,407,1,408,1,408,1,409,1,409,1,409,1,409,1,409,3,409,8006,8,409,1,410,1,410,1,411,1,411,1,412,1,412,1,413,1,413,1,414,1,414,1,415,1,415,1,416,1,416,1,416,0,5,208,210,800,802,804,417,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,0,160,2,0,39,39,152,152,2,0,508,508,514,514,3,0,69,69,161,161,182,182,3,0,42,42,357,357,430,430,4,0,42,42,389,389,505,505,595,595,2,0,494,494,882,882,2,0,79,79,143,143,2,0,16,16,306,306,3,0,44,44,86,86,185,185,2,0,406,406,538,538,3,0,486,486,661,661,670,670,2,0,364,364,436,436,2,0,325,325,450,450,2,0,42,42,871,872,2,0,37,37,678,678,2,0,323,323,418,418,2,0,435,435,686,686,3,0,80,80,85,85,126,126,2,0,82,82,92,92,2,0,69,69,161,161,3,0,42,42,374,374,403,403,3,0,42,42,370,370,802,802,2,0,648,648,685,685,3,0,408,408,526,526,597,597,2,0,329,329,522,522,1,0,871,872,2,0,882,882,889,889,2,0,82,82,360,360,2,0,523,523,882,882,2,0,524,524,882,882,3,0,402,402,445,445,502,502,7,0,42,42,342,342,345,345,374,374,403,403,554,554,889,889,2,0,494,494,506,506,1,0,872,873,2,0,6,6,51,51,2,0,5,5,81,81,2,0,27,27,31,31,4,0,42,42,357,357,430,430,434,434,2,0,368,368,375,375,2,0,369,369,425,425,2,0,13,13,176,176,2,0,194,194,690,690,2,0,22,22,146,146,3,0,43,43,76,76,107,107,2,0,7,7,49,49,2,0,107,107,347,347,2,0,337,337,398,398,2,0,102,102,587,587,2,0,43,43,107,107,3,0,59,59,181,181,828,828,2,0,185,185,594,594,2,0,159,159,503,503,4,0,402,402,445,445,501,501,542,542,2,0,402,402,501,501,2,0,14,14,45,45,3,0,66,66,79,79,187,187,2,0,35,35,84,84,2,0,98,98,150,150,2,0,7,7,49,50,1,0,637,638,2,0,173,173,752,752,2,0,413,413,593,593,2,0,228,228,453,453,2,0,563,563,598,598,8,0,108,108,455,455,459,460,462,462,464,464,467,476,499,499,557,557,6,0,456,458,461,461,463,463,465,465,477,477,558,558,7,0,109,109,411,411,416,416,454,454,466,466,573,573,617,617,2,0,116,116,882,882,2,0,118,119,507,507,7,0,499,499,557,557,606,609,611,611,619,619,622,628,630,632,6,0,558,558,610,610,612,612,614,616,618,618,620,620,7,0,412,412,416,416,573,573,613,613,617,617,621,621,629,629,3,0,70,70,118,119,507,507,2,0,438,438,639,639,2,0,633,633,635,635,2,0,317,317,640,640,2,0,91,91,577,577,2,0,51,51,362,362,3,0,32,32,61,61,180,180,2,0,15,15,340,340,2,0,678,678,835,835,3,0,132,132,173,173,409,409,3,0,6,6,51,51,492,492,3,0,13,13,20,20,188,188,2,0,42,42,122,122,2,0,104,104,183,183,1,0,873,874,2,0,333,333,598,598,2,0,40,40,684,684,2,0,392,392,549,549,2,0,115,115,450,450,4,0,208,208,210,210,216,216,649,649,3,0,413,413,531,531,893,894,2,0,841,841,857,857,2,0,318,318,559,559,2,0,68,68,80,80,3,0,132,132,178,178,385,385,2,0,493,493,645,645,2,0,383,383,688,688,3,0,82,82,93,93,426,426,4,0,413,413,450,450,531,532,593,593,2,0,645,645,683,683,2,0,349,349,548,548,6,0,228,228,380,380,382,382,410,410,556,556,599,599,2,0,45,46,62,62,3,0,442,442,663,663,666,666,10,0,332,332,339,339,351,353,359,359,487,487,495,495,650,650,657,657,822,822,832,832,2,0,36,36,170,170,2,0,117,117,831,831,11,0,332,332,339,339,351,353,359,359,487,487,495,495,578,578,650,650,657,657,822,822,832,832,2,0,870,870,891,892,1,0,892,893,2,0,348,348,797,808,3,0,871,874,883,883,885,885,2,0,63,63,179,179,2,0,116,116,886,886,5,0,26,26,224,226,233,233,235,238,498,498,2,0,26,26,224,224,2,0,26,26,224,225,1,0,198,209,3,0,184,184,197,197,596,596,2,0,213,218,403,403,6,0,219,219,230,230,232,232,234,234,241,241,321,322,4,0,220,223,228,229,231,231,319,319,2,0,155,155,239,239,2,0,442,442,813,821,2,0,228,228,498,498,5,0,202,202,208,208,219,220,222,222,442,442,1,0,216,217,2,0,184,184,596,596,2,0,202,202,208,208,2,0,189,189,682,682,2,0,287,288,294,294,3,0,152,152,285,288,303,303,1,0,297,298,3,0,18,18,96,96,177,177,2,0,224,224,228,228,2,0,219,220,222,222,3,0,14,14,45,45,830,830,3,0,258,258,270,271,281,281,3,0,259,261,277,280,282,284,2,0,267,267,269,269,2,0,265,265,268,268,2,0,263,264,274,276,2,0,134,134,587,587,2,0,405,405,539,539,2,0,512,512,529,529,2,0,114,114,860,860,3,0,63,63,179,179,674,674,2,0,139,139,151,151,3,0,7,7,309,309,602,602,3,0,114,114,853,854,860,861,1,0,850,856,2,0,228,228,756,796,1,0,809,812,5,0,717,718,734,736,743,743,749,750,752,752,1,0,696,703,3,0,219,223,236,236,239,239,76,0,12,12,15,15,19,19,30,30,36,37,42,42,48,48,55,55,57,57,59,59,74,74,95,95,117,117,122,122,125,125,131,131,160,160,170,170,241,241,255,262,266,266,270,271,277,284,304,309,311,329,331,343,345,376,378,393,395,400,402,404,406,410,413,415,417,426,428,428,430,434,436,454,456,463,465,473,475,476,478,498,500,506,508,510,512,522,525,530,533,538,540,542,544,554,556,562,565,572,575,575,577,578,580,605,633,647,649,665,667,674,676,685,687,688,690,695,704,704,706,707,709,712,714,716,719,721,726,727,729,733,737,738,740,742,744,744,746,748,751,751,753,755,802,802,822,822,825,825,832,833,838,838,24,0,39,39,98,98,150,150,152,152,219,221,223,223,253,254,262,265,267,269,272,276,296,296,435,435,686,686,696,703,746,746,813,813,816,821,823,824,826,827,829,831,834,834,836,836,840,840,856,856,9382,0,837,1,0,0,0,2,847,1,0,0,0,4,856,1,0,0,0,6,858,1,0,0,0,8,899,1,0,0,0,10,918,1,0,0,0,12,929,1,0,0,0,14,945,1,0,0,0,16,950,1,0,0,0,18,962,1,0,0,0,20,997,1,0,0,0,22,1007,1,0,0,0,24,1009,1,0,0,0,26,1021,1,0,0,0,28,1051,1,0,0,0,30,1087,1,0,0,0,32,1138,1,0,0,0,34,1167,1,0,0,0,36,1174,1,0,0,0,38,1271,1,0,0,0,40,1273,1,0,0,0,42,1310,1,0,0,0,44,1374,1,0,0,0,46,1396,1,0,0,0,48,1402,1,0,0,0,50,1424,1,0,0,0,52,1511,1,0,0,0,54,1518,1,0,0,0,56,1520,1,0,0,0,58,1525,1,0,0,0,60,1565,1,0,0,0,62,1571,1,0,0,0,64,1573,1,0,0,0,66,1594,1,0,0,0,68,1601,1,0,0,0,70,1603,1,0,0,0,72,1628,1,0,0,0,74,1631,1,0,0,0,76,1659,1,0,0,0,78,1675,1,0,0,0,80,1677,1,0,0,0,82,1771,1,0,0,0,84,1774,1,0,0,0,86,1786,1,0,0,0,88,1790,1,0,0,0,90,1840,1,0,0,0,92,1842,1,0,0,0,94,1870,1,0,0,0,96,1880,1,0,0,0,98,2067,1,0,0,0,100,2069,1,0,0,0,102,2071,1,0,0,0,104,2074,1,0,0,0,106,2149,1,0,0,0,108,2172,1,0,0,0,110,2320,1,0,0,0,112,2325,1,0,0,0,114,2327,1,0,0,0,116,2337,1,0,0,0,118,2393,1,0,0,0,120,2413,1,0,0,0,122,2415,1,0,0,0,124,2450,1,0,0,0,126,2459,1,0,0,0,128,2466,1,0,0,0,130,2489,1,0,0,0,132,2498,1,0,0,0,134,2513,1,0,0,0,136,2535,1,0,0,0,138,2591,1,0,0,0,140,2887,1,0,0,0,142,2987,1,0,0,0,144,2989,1,0,0,0,146,2996,1,0,0,0,148,3003,1,0,0,0,150,3026,1,0,0,0,152,3036,1,0,0,0,154,3043,1,0,0,0,156,3050,1,0,0,0,158,3057,1,0,0,0,160,3066,1,0,0,0,162,3078,1,0,0,0,164,3091,1,0,0,0,166,3098,1,0,0,0,168,3114,1,0,0,0,170,3141,1,0,0,0,172,3143,1,0,0,0,174,3153,1,0,0,0,176,3157,1,0,0,0,178,3163,1,0,0,0,180,3175,1,0,0,0,182,3177,1,0,0,0,184,3184,1,0,0,0,186,3186,1,0,0,0,188,3235,1,0,0,0,190,3244,1,0,0,0,192,3246,1,0,0,0,194,3257,1,0,0,0,196,3263,1,0,0,0,198,3337,1,0,0,0,200,3400,1,0,0,0,202,3418,1,0,0,0,204,3502,1,0,0,0,206,3505,1,0,0,0,208,3517,1,0,0,0,210,3537,1,0,0,0,212,3565,1,0,0,0,214,3569,1,0,0,0,216,3571,1,0,0,0,218,3581,1,0,0,0,220,3601,1,0,0,0,222,3608,1,0,0,0,224,3610,1,0,0,0,226,3621,1,0,0,0,228,3630,1,0,0,0,230,3636,1,0,0,0,232,3659,1,0,0,0,234,3661,1,0,0,0,236,3697,1,0,0,0,238,3752,1,0,0,0,240,3761,1,0,0,0,242,3781,1,0,0,0,244,3793,1,0,0,0,246,3797,1,0,0,0,248,3808,1,0,0,0,250,3841,1,0,0,0,252,3862,1,0,0,0,254,3872,1,0,0,0,256,3876,1,0,0,0,258,3902,1,0,0,0,260,3949,1,0,0,0,262,3951,1,0,0,0,264,3955,1,0,0,0,266,3972,1,0,0,0,268,4023,1,0,0,0,270,4032,1,0,0,0,272,4042,1,0,0,0,274,4044,1,0,0,0,276,4074,1,0,0,0,278,4082,1,0,0,0,280,4099,1,0,0,0,282,4115,1,0,0,0,284,4152,1,0,0,0,286,4158,1,0,0,0,288,4167,1,0,0,0,290,4180,1,0,0,0,292,4184,1,0,0,0,294,4222,1,0,0,0,296,4260,1,0,0,0,298,4274,1,0,0,0,300,4282,1,0,0,0,302,4286,1,0,0,0,304,4292,1,0,0,0,306,4306,1,0,0,0,308,4309,1,0,0,0,310,4327,1,0,0,0,312,4331,1,0,0,0,314,4347,1,0,0,0,316,4349,1,0,0,0,318,4361,1,0,0,0,320,4365,1,0,0,0,322,4382,1,0,0,0,324,4399,1,0,0,0,326,4402,1,0,0,0,328,4412,1,0,0,0,330,4416,1,0,0,0,332,4426,1,0,0,0,334,4429,1,0,0,0,336,4434,1,0,0,0,338,4454,1,0,0,0,340,4456,1,0,0,0,342,4473,1,0,0,0,344,4482,1,0,0,0,346,4491,1,0,0,0,348,4493,1,0,0,0,350,4507,1,0,0,0,352,4521,1,0,0,0,354,4536,1,0,0,0,356,4545,1,0,0,0,358,4570,1,0,0,0,360,4585,1,0,0,0,362,4604,1,0,0,0,364,4634,1,0,0,0,366,4636,1,0,0,0,368,4638,1,0,0,0,370,4640,1,0,0,0,372,4655,1,0,0,0,374,4684,1,0,0,0,376,4686,1,0,0,0,378,4688,1,0,0,0,380,4690,1,0,0,0,382,4705,1,0,0,0,384,4707,1,0,0,0,386,4774,1,0,0,0,388,4776,1,0,0,0,390,4782,1,0,0,0,392,4809,1,0,0,0,394,4823,1,0,0,0,396,4834,1,0,0,0,398,4836,1,0,0,0,400,4842,1,0,0,0,402,4852,1,0,0,0,404,4856,1,0,0,0,406,4863,1,0,0,0,408,4867,1,0,0,0,410,4873,1,0,0,0,412,4880,1,0,0,0,414,4886,1,0,0,0,416,4892,1,0,0,0,418,4897,1,0,0,0,420,4942,1,0,0,0,422,4963,1,0,0,0,424,4988,1,0,0,0,426,4991,1,0,0,0,428,4997,1,0,0,0,430,5013,1,0,0,0,432,5028,1,0,0,0,434,5034,1,0,0,0,436,5064,1,0,0,0,438,5066,1,0,0,0,440,5073,1,0,0,0,442,5085,1,0,0,0,444,5091,1,0,0,0,446,5116,1,0,0,0,448,5120,1,0,0,0,450,5124,1,0,0,0,452,5135,1,0,0,0,454,5143,1,0,0,0,456,5206,1,0,0,0,458,5265,1,0,0,0,460,5367,1,0,0,0,462,5377,1,0,0,0,464,5379,1,0,0,0,466,5397,1,0,0,0,468,5421,1,0,0,0,470,5445,1,0,0,0,472,5452,1,0,0,0,474,5472,1,0,0,0,476,5481,1,0,0,0,478,5543,1,0,0,0,480,5545,1,0,0,0,482,5549,1,0,0,0,484,5583,1,0,0,0,486,5585,1,0,0,0,488,5588,1,0,0,0,490,5652,1,0,0,0,492,5671,1,0,0,0,494,5698,1,0,0,0,496,5702,1,0,0,0,498,5723,1,0,0,0,500,5733,1,0,0,0,502,5743,1,0,0,0,504,5783,1,0,0,0,506,5785,1,0,0,0,508,5788,1,0,0,0,510,5818,1,0,0,0,512,5820,1,0,0,0,514,5823,1,0,0,0,516,5923,1,0,0,0,518,5941,1,0,0,0,520,5943,1,0,0,0,522,5995,1,0,0,0,524,5997,1,0,0,0,526,6006,1,0,0,0,528,6012,1,0,0,0,530,6019,1,0,0,0,532,6034,1,0,0,0,534,6043,1,0,0,0,536,6045,1,0,0,0,538,6059,1,0,0,0,540,6080,1,0,0,0,542,6085,1,0,0,0,544,6095,1,0,0,0,546,6101,1,0,0,0,548,6135,1,0,0,0,550,6189,1,0,0,0,552,6375,1,0,0,0,554,6387,1,0,0,0,556,6403,1,0,0,0,558,6409,1,0,0,0,560,6428,1,0,0,0,562,6441,1,0,0,0,564,6455,1,0,0,0,566,6457,1,0,0,0,568,6460,1,0,0,0,570,6484,1,0,0,0,572,6496,1,0,0,0,574,6502,1,0,0,0,576,6514,1,0,0,0,578,6528,1,0,0,0,580,6530,1,0,0,0,582,6538,1,0,0,0,584,6546,1,0,0,0,586,6548,1,0,0,0,588,6550,1,0,0,0,590,6590,1,0,0,0,592,6597,1,0,0,0,594,6599,1,0,0,0,596,6622,1,0,0,0,598,6628,1,0,0,0,600,6638,1,0,0,0,602,6647,1,0,0,0,604,6650,1,0,0,0,606,6653,1,0,0,0,608,6674,1,0,0,0,610,6695,1,0,0,0,612,6703,1,0,0,0,614,6715,1,0,0,0,616,6723,1,0,0,0,618,6761,1,0,0,0,620,6773,1,0,0,0,622,6775,1,0,0,0,624,6777,1,0,0,0,626,6779,1,0,0,0,628,6781,1,0,0,0,630,6783,1,0,0,0,632,6785,1,0,0,0,634,6787,1,0,0,0,636,6789,1,0,0,0,638,6797,1,0,0,0,640,6799,1,0,0,0,642,6801,1,0,0,0,644,6803,1,0,0,0,646,6805,1,0,0,0,648,6813,1,0,0,0,650,6815,1,0,0,0,652,6825,1,0,0,0,654,6841,1,0,0,0,656,6843,1,0,0,0,658,6866,1,0,0,0,660,6868,1,0,0,0,662,6870,1,0,0,0,664,6872,1,0,0,0,666,6874,1,0,0,0,668,6882,1,0,0,0,670,6892,1,0,0,0,672,6897,1,0,0,0,674,6901,1,0,0,0,676,6908,1,0,0,0,678,6910,1,0,0,0,680,6917,1,0,0,0,682,6919,1,0,0,0,684,6925,1,0,0,0,686,6927,1,0,0,0,688,6932,1,0,0,0,690,6934,1,0,0,0,692,6936,1,0,0,0,694,6954,1,0,0,0,696,6970,1,0,0,0,698,6972,1,0,0,0,700,6976,1,0,0,0,702,6987,1,0,0,0,704,6998,1,0,0,0,706,7004,1,0,0,0,708,7006,1,0,0,0,710,7010,1,0,0,0,712,7035,1,0,0,0,714,7037,1,0,0,0,716,7040,1,0,0,0,718,7045,1,0,0,0,720,7061,1,0,0,0,722,7189,1,0,0,0,724,7191,1,0,0,0,726,7224,1,0,0,0,728,7229,1,0,0,0,730,7233,1,0,0,0,732,7239,1,0,0,0,734,7247,1,0,0,0,736,7258,1,0,0,0,738,7266,1,0,0,0,740,7275,1,0,0,0,742,7288,1,0,0,0,744,7290,1,0,0,0,746,7298,1,0,0,0,748,7306,1,0,0,0,750,7340,1,0,0,0,752,7356,1,0,0,0,754,7358,1,0,0,0,756,7361,1,0,0,0,758,7365,1,0,0,0,760,7390,1,0,0,0,762,7571,1,0,0,0,764,7573,1,0,0,0,766,7592,1,0,0,0,768,7594,1,0,0,0,770,7657,1,0,0,0,772,7697,1,0,0,0,774,7699,1,0,0,0,776,7708,1,0,0,0,778,7719,1,0,0,0,780,7721,1,0,0,0,782,7724,1,0,0,0,784,7728,1,0,0,0,786,7730,1,0,0,0,788,7742,1,0,0,0,790,7744,1,0,0,0,792,7778,1,0,0,0,794,7780,1,0,0,0,796,7785,1,0,0,0,798,7796,1,0,0,0,800,7809,1,0,0,0,802,7820,1,0,0,0,804,7937,1,0,0,0,806,7959,1,0,0,0,808,7969,1,0,0,0,810,7978,1,0,0,0,812,7987,1,0,0,0,814,7996,1,0,0,0,816,7998,1,0,0,0,818,8005,1,0,0,0,820,8007,1,0,0,0,822,8009,1,0,0,0,824,8011,1,0,0,0,826,8013,1,0,0,0,828,8015,1,0,0,0,830,8017,1,0,0,0,832,8019,1,0,0,0,834,836,3,2,1,0,835,834,1,0,0,0,836,839,1,0,0,0,837,835,1,0,0,0,837,838,1,0,0,0,838,840,1,0,0,0,839,837,1,0,0,0,840,841,5,0,0,1,841,1,1,0,0,0,842,844,3,4,2,0,843,845,5,869,0,0,844,843,1,0,0,0,844,845,1,0,0,0,845,848,1,0,0,0,846,848,3,6,3,0,847,842,1,0,0,0,847,846,1,0,0,0,848,3,1,0,0,0,849,857,3,8,4,0,850,857,3,10,5,0,851,857,3,12,6,0,852,857,3,14,7,0,853,857,3,16,8,0,854,857,3,20,10,0,855,857,3,22,11,0,856,849,1,0,0,0,856,850,1,0,0,0,856,851,1,0,0,0,856,852,1,0,0,0,856,853,1,0,0,0,856,854,1,0,0,0,856,855,1,0,0,0,857,5,1,0,0,0,858,859,5,869,0,0,859,7,1,0,0,0,860,900,3,24,12,0,861,900,3,26,13,0,862,900,3,28,14,0,863,900,3,30,15,0,864,900,3,32,16,0,865,900,3,536,268,0,866,900,3,36,18,0,867,900,3,38,19,0,868,900,3,40,20,0,869,900,3,42,21,0,870,900,3,44,22,0,871,900,3,50,25,0,872,900,3,34,17,0,873,900,3,120,60,0,874,900,3,122,61,0,875,900,3,124,62,0,876,900,3,126,63,0,877,900,3,128,64,0,878,900,3,130,65,0,879,900,3,132,66,0,880,900,3,134,67,0,881,900,3,136,68,0,882,900,3,138,69,0,883,900,3,144,72,0,884,900,3,146,73,0,885,900,3,148,74,0,886,900,3,150,75,0,887,900,3,152,76,0,888,900,3,154,77,0,889,900,3,156,78,0,890,900,3,158,79,0,891,900,3,160,80,0,892,900,3,162,81,0,893,900,3,164,82,0,894,900,3,166,83,0,895,900,3,168,84,0,896,900,3,170,85,0,897,900,3,172,86,0,898,900,3,176,88,0,899,860,1,0,0,0,899,861,1,0,0,0,899,862,1,0,0,0,899,863,1,0,0,0,899,864,1,0,0,0,899,865,1,0,0,0,899,866,1,0,0,0,899,867,1,0,0,0,899,868,1,0,0,0,899,869,1,0,0,0,899,870,1,0,0,0,899,871,1,0,0,0,899,872,1,0,0,0,899,873,1,0,0,0,899,874,1,0,0,0,899,875,1,0,0,0,899,876,1,0,0,0,899,877,1,0,0,0,899,878,1,0,0,0,899,879,1,0,0,0,899,880,1,0,0,0,899,881,1,0,0,0,899,882,1,0,0,0,899,883,1,0,0,0,899,884,1,0,0,0,899,885,1,0,0,0,899,886,1,0,0,0,899,887,1,0,0,0,899,888,1,0,0,0,899,889,1,0,0,0,899,890,1,0,0,0,899,891,1,0,0,0,899,892,1,0,0,0,899,893,1,0,0,0,899,894,1,0,0,0,899,895,1,0,0,0,899,896,1,0,0,0,899,897,1,0,0,0,899,898,1,0,0,0,900,9,1,0,0,0,901,919,3,204,102,0,902,919,3,206,103,0,903,919,3,186,93,0,904,919,3,214,107,0,905,919,3,180,90,0,906,919,3,202,101,0,907,919,3,178,89,0,908,919,3,192,96,0,909,919,3,196,98,0,910,919,3,198,99,0,911,919,3,200,100,0,912,919,3,182,91,0,913,919,3,184,92,0,914,919,3,246,123,0,915,919,3,216,108,0,916,919,3,612,306,0,917,919,3,614,307,0,918,901,1,0,0,0,918,902,1,0,0,0,918,903,1,0,0,0,918,904,1,0,0,0,918,905,1,0,0,0,918,906,1,0,0,0,918,907,1,0,0,0,918,908,1,0,0,0,918,909,1,0,0,0,918,910,1,0,0,0,918,911,1,0,0,0,918,912,1,0,0,0,918,913,1,0,0,0,918,914,1,0,0,0,918,915,1,0,0,0,918,916,1,0,0,0,918,917,1,0,0,0,919,11,1,0,0,0,920,930,3,316,158,0,921,930,3,318,159,0,922,930,3,320,160,0,923,930,3,322,161,0,924,930,3,324,162,0,925,930,3,326,163,0,926,930,3,328,164,0,927,930,3,330,165,0,928,930,3,332,166,0,929,920,1,0,0,0,929,921,1,0,0,0,929,922,1,0,0,0,929,923,1,0,0,0,929,924,1,0,0,0,929,925,1,0,0,0,929,926,1,0,0,0,929,927,1,0,0,0,929,928,1,0,0,0,930,13,1,0,0,0,931,946,3,348,174,0,932,946,3,350,175,0,933,946,3,352,176,0,934,946,3,354,177,0,935,946,3,356,178,0,936,946,3,358,179,0,937,946,3,360,180,0,938,946,3,362,181,0,939,946,3,398,199,0,940,946,3,400,200,0,941,946,3,402,201,0,942,946,3,404,202,0,943,946,3,406,203,0,944,946,3,408,204,0,945,931,1,0,0,0,945,932,1,0,0,0,945,933,1,0,0,0,945,934,1,0,0,0,945,935,1,0,0,0,945,936,1,0,0,0,945,937,1,0,0,0,945,938,1,0,0,0,945,939,1,0,0,0,945,940,1,0,0,0,945,941,1,0,0,0,945,942,1,0,0,0,945,943,1,0,0,0,945,944,1,0,0,0,946,15,1,0,0,0,947,951,3,410,205,0,948,951,3,412,206,0,949,951,3,414,207,0,950,947,1,0,0,0,950,948,1,0,0,0,950,949,1,0,0,0,951,17,1,0,0,0,952,963,3,418,209,0,953,963,3,420,210,0,954,963,3,422,211,0,955,963,3,426,213,0,956,963,3,428,214,0,957,963,3,430,215,0,958,963,3,434,217,0,959,963,3,424,212,0,960,963,3,432,216,0,961,963,3,436,218,0,962,952,1,0,0,0,962,953,1,0,0,0,962,954,1,0,0,0,962,955,1,0,0,0,962,956,1,0,0,0,962,957,1,0,0,0,962,958,1,0,0,0,962,959,1,0,0,0,962,960,1,0,0,0,962,961,1,0,0,0,963,19,1,0,0,0,964,998,3,454,227,0,965,998,3,456,228,0,966,998,3,458,229,0,967,998,3,460,230,0,968,998,3,464,232,0,969,998,3,476,238,0,970,998,3,478,239,0,971,998,3,466,233,0,972,998,3,468,234,0,973,998,3,470,235,0,974,998,3,472,236,0,975,998,3,522,261,0,976,998,3,524,262,0,977,998,3,526,263,0,978,998,3,528,264,0,979,998,3,530,265,0,980,998,3,538,269,0,981,998,3,542,271,0,982,998,3,544,272,0,983,998,3,546,273,0,984,998,3,548,274,0,985,998,3,550,275,0,986,998,3,552,276,0,987,998,3,566,283,0,988,998,3,568,284,0,989,998,3,570,285,0,990,998,3,572,286,0,991,998,3,574,287,0,992,998,3,576,288,0,993,998,3,580,290,0,994,998,3,582,291,0,995,998,3,584,292,0,996,998,3,586,293,0,997,964,1,0,0,0,997,965,1,0,0,0,997,966,1,0,0,0,997,967,1,0,0,0,997,968,1,0,0,0,997,969,1,0,0,0,997,970,1,0,0,0,997,971,1,0,0,0,997,972,1,0,0,0,997,973,1,0,0,0,997,974,1,0,0,0,997,975,1,0,0,0,997,976,1,0,0,0,997,977,1,0,0,0,997,978,1,0,0,0,997,979,1,0,0,0,997,980,1,0,0,0,997,981,1,0,0,0,997,982,1,0,0,0,997,983,1,0,0,0,997,984,1,0,0,0,997,985,1,0,0,0,997,986,1,0,0,0,997,987,1,0,0,0,997,988,1,0,0,0,997,989,1,0,0,0,997,990,1,0,0,0,997,991,1,0,0,0,997,992,1,0,0,0,997,993,1,0,0,0,997,994,1,0,0,0,997,995,1,0,0,0,997,996,1,0,0,0,998,21,1,0,0,0,999,1008,3,598,299,0,1e3,1008,3,596,298,0,1001,1008,3,600,300,0,1002,1008,3,602,301,0,1003,1008,3,604,302,0,1004,1008,3,606,303,0,1005,1008,3,608,304,0,1006,1008,3,616,308,0,1007,999,1,0,0,0,1007,1e3,1,0,0,0,1007,1001,1,0,0,0,1007,1002,1,0,0,0,1007,1003,1,0,0,0,1007,1004,1,0,0,0,1007,1005,1,0,0,0,1007,1006,1,0,0,0,1008,23,1,0,0,0,1009,1010,5,34,0,0,1010,1012,7,0,0,0,1011,1013,3,756,378,0,1012,1011,1,0,0,0,1012,1013,1,0,0,0,1013,1014,1,0,0,0,1014,1018,3,622,311,0,1015,1017,3,52,26,0,1016,1015,1,0,0,0,1017,1020,1,0,0,0,1018,1016,1,0,0,0,1018,1019,1,0,0,0,1019,25,1,0,0,0,1020,1018,1,0,0,0,1021,1023,5,34,0,0,1022,1024,3,58,29,0,1023,1022,1,0,0,0,1023,1024,1,0,0,0,1024,1025,1,0,0,0,1025,1027,5,385,0,0,1026,1028,3,756,378,0,1027,1026,1,0,0,0,1027,1028,1,0,0,0,1028,1029,1,0,0,0,1029,1030,3,698,349,0,1030,1031,5,119,0,0,1031,1032,5,590,0,0,1032,1039,3,60,30,0,1033,1034,5,119,0,0,1034,1036,5,343,0,0,1035,1037,5,114,0,0,1036,1035,1,0,0,0,1036,1037,1,0,0,0,1037,1038,1,0,0,0,1038,1040,5,541,0,0,1039,1033,1,0,0,0,1039,1040,1,0,0,0,1040,1042,1,0,0,0,1041,1043,3,68,34,0,1042,1041,1,0,0,0,1042,1043,1,0,0,0,1043,1046,1,0,0,0,1044,1045,5,340,0,0,1045,1047,5,882,0,0,1046,1044,1,0,0,0,1046,1047,1,0,0,0,1047,1048,1,0,0,0,1048,1049,5,371,0,0,1049,1050,3,416,208,0,1050,27,1,0,0,0,1051,1053,5,34,0,0,1052,1054,7,1,0,0,1053,1052,1,0,0,0,1053,1054,1,0,0,0,1054,1056,1,0,0,0,1055,1057,7,2,0,0,1056,1055,1,0,0,0,1056,1057,1,0,0,0,1057,1058,1,0,0,0,1058,1059,5,82,0,0,1059,1061,3,634,317,0,1060,1062,3,70,35,0,1061,1060,1,0,0,0,1061,1062,1,0,0,0,1062,1063,1,0,0,0,1063,1064,5,119,0,0,1064,1065,3,648,324,0,1065,1069,3,734,367,0,1066,1068,3,72,36,0,1067,1066,1,0,0,0,1068,1071,1,0,0,0,1069,1067,1,0,0,0,1069,1070,1,0,0,0,1070,1084,1,0,0,0,1071,1069,1,0,0,0,1072,1074,5,308,0,0,1073,1075,5,857,0,0,1074,1073,1,0,0,0,1074,1075,1,0,0,0,1075,1076,1,0,0,0,1076,1083,7,3,0,0,1077,1079,5,104,0,0,1078,1080,5,857,0,0,1079,1078,1,0,0,0,1079,1080,1,0,0,0,1080,1081,1,0,0,0,1081,1083,7,4,0,0,1082,1072,1,0,0,0,1082,1077,1,0,0,0,1083,1086,1,0,0,0,1084,1082,1,0,0,0,1084,1085,1,0,0,0,1085,29,1,0,0,0,1086,1084,1,0,0,0,1087,1088,5,34,0,0,1088,1089,5,451,0,0,1089,1090,5,74,0,0,1090,1091,3,702,351,0,1091,1092,5,6,0,0,1092,1093,5,671,0,0,1093,1099,5,882,0,0,1094,1096,5,428,0,0,1095,1097,5,857,0,0,1096,1095,1,0,0,0,1096,1097,1,0,0,0,1097,1098,1,0,0,0,1098,1100,3,710,355,0,1099,1094,1,0,0,0,1099,1100,1,0,0,0,1100,1106,1,0,0,0,1101,1103,5,672,0,0,1102,1104,5,857,0,0,1103,1102,1,0,0,0,1103,1104,1,0,0,0,1104,1105,1,0,0,0,1105,1107,3,710,355,0,1106,1101,1,0,0,0,1106,1107,1,0,0,0,1107,1113,1,0,0,0,1108,1110,5,553,0,0,1109,1111,5,857,0,0,1110,1109,1,0,0,0,1110,1111,1,0,0,0,1111,1112,1,0,0,0,1112,1114,3,710,355,0,1113,1108,1,0,0,0,1113,1114,1,0,0,0,1114,1120,1,0,0,0,1115,1117,5,504,0,0,1116,1118,5,857,0,0,1117,1116,1,0,0,0,1117,1118,1,0,0,0,1118,1119,1,0,0,0,1119,1121,3,702,351,0,1120,1115,1,0,0,0,1120,1121,1,0,0,0,1121,1123,1,0,0,0,1122,1124,5,687,0,0,1123,1122,1,0,0,0,1123,1124,1,0,0,0,1124,1130,1,0,0,0,1125,1127,5,340,0,0,1126,1128,5,857,0,0,1127,1126,1,0,0,0,1127,1128,1,0,0,0,1128,1129,1,0,0,0,1129,1131,5,882,0,0,1130,1125,1,0,0,0,1130,1131,1,0,0,0,1131,1132,1,0,0,0,1132,1134,5,380,0,0,1133,1135,5,857,0,0,1134,1133,1,0,0,0,1134,1135,1,0,0,0,1135,1136,1,0,0,0,1136,1137,3,688,344,0,1137,31,1,0,0,0,1138,1140,5,34,0,0,1139,1141,3,58,29,0,1140,1139,1,0,0,0,1140,1141,1,0,0,0,1141,1142,1,0,0,0,1142,1144,5,132,0,0,1143,1145,3,756,378,0,1144,1143,1,0,0,0,1144,1145,1,0,0,0,1145,1146,1,0,0,0,1146,1147,3,698,349,0,1147,1149,5,866,0,0,1148,1150,3,74,37,0,1149,1148,1,0,0,0,1149,1150,1,0,0,0,1150,1155,1,0,0,0,1151,1152,5,868,0,0,1152,1154,3,74,37,0,1153,1151,1,0,0,0,1154,1157,1,0,0,0,1155,1153,1,0,0,0,1155,1156,1,0,0,0,1156,1158,1,0,0,0,1157,1155,1,0,0,0,1158,1162,5,867,0,0,1159,1161,3,76,38,0,1160,1159,1,0,0,0,1161,1164,1,0,0,0,1162,1160,1,0,0,0,1162,1163,1,0,0,0,1163,1165,1,0,0,0,1164,1162,1,0,0,0,1165,1166,3,416,208,0,1166,33,1,0,0,0,1167,1168,5,34,0,0,1168,1170,5,582,0,0,1169,1171,3,756,378,0,1170,1169,1,0,0,0,1170,1171,1,0,0,0,1171,1172,1,0,0,0,1172,1173,3,650,325,0,1173,35,1,0,0,0,1174,1175,5,34,0,0,1175,1176,5,592,0,0,1176,1177,3,702,351,0,1177,1178,5,67,0,0,1178,1179,5,360,0,0,1179,1180,5,692,0,0,1180,1181,7,5,0,0,1181,1182,5,518,0,0,1182,1183,5,866,0,0,1183,1188,3,78,39,0,1184,1185,5,868,0,0,1185,1187,3,78,39,0,1186,1184,1,0,0,0,1187,1190,1,0,0,0,1188,1186,1,0,0,0,1188,1189,1,0,0,0,1189,1191,1,0,0,0,1190,1188,1,0,0,0,1191,1192,5,867,0,0,1192,37,1,0,0,0,1193,1195,5,34,0,0,1194,1196,5,660,0,0,1195,1194,1,0,0,0,1195,1196,1,0,0,0,1196,1197,1,0,0,0,1197,1199,5,173,0,0,1198,1200,3,756,378,0,1199,1198,1,0,0,0,1199,1200,1,0,0,0,1200,1201,1,0,0,0,1201,1203,3,644,322,0,1202,1204,3,80,40,0,1203,1202,1,0,0,0,1203,1204,1,0,0,0,1204,1215,1,0,0,0,1205,1212,3,98,49,0,1206,1208,5,868,0,0,1207,1206,1,0,0,0,1207,1208,1,0,0,0,1208,1209,1,0,0,0,1209,1211,3,98,49,0,1210,1207,1,0,0,0,1211,1214,1,0,0,0,1212,1210,1,0,0,0,1212,1213,1,0,0,0,1213,1216,1,0,0,0,1214,1212,1,0,0,0,1215,1205,1,0,0,0,1215,1216,1,0,0,0,1216,1218,1,0,0,0,1217,1219,3,104,52,0,1218,1217,1,0,0,0,1218,1219,1,0,0,0,1219,1221,1,0,0,0,1220,1222,7,6,0,0,1221,1220,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,0,0,1223,1225,5,13,0,0,1224,1223,1,0,0,0,1224,1225,1,0,0,0,1225,1226,1,0,0,0,1226,1227,3,204,102,0,1227,1272,1,0,0,0,1228,1230,5,34,0,0,1229,1231,5,660,0,0,1230,1229,1,0,0,0,1230,1231,1,0,0,0,1231,1232,1,0,0,0,1232,1234,5,173,0,0,1233,1235,3,756,378,0,1234,1233,1,0,0,0,1234,1235,1,0,0,0,1235,1236,1,0,0,0,1236,1244,3,644,322,0,1237,1238,5,99,0,0,1238,1245,3,648,324,0,1239,1240,5,866,0,0,1240,1241,5,99,0,0,1241,1242,3,648,324,0,1242,1243,5,867,0,0,1243,1245,1,0,0,0,1244,1237,1,0,0,0,1244,1239,1,0,0,0,1245,1272,1,0,0,0,1246,1248,5,34,0,0,1247,1249,5,660,0,0,1248,1247,1,0,0,0,1248,1249,1,0,0,0,1249,1250,1,0,0,0,1250,1252,5,173,0,0,1251,1253,3,756,378,0,1252,1251,1,0,0,0,1252,1253,1,0,0,0,1253,1254,1,0,0,0,1254,1255,3,644,322,0,1255,1266,3,80,40,0,1256,1263,3,98,49,0,1257,1259,5,868,0,0,1258,1257,1,0,0,0,1258,1259,1,0,0,0,1259,1260,1,0,0,0,1260,1262,3,98,49,0,1261,1258,1,0,0,0,1262,1265,1,0,0,0,1263,1261,1,0,0,0,1263,1264,1,0,0,0,1264,1267,1,0,0,0,1265,1263,1,0,0,0,1266,1256,1,0,0,0,1266,1267,1,0,0,0,1267,1269,1,0,0,0,1268,1270,3,104,52,0,1269,1268,1,0,0,0,1269,1270,1,0,0,0,1270,1272,1,0,0,0,1271,1193,1,0,0,0,1271,1228,1,0,0,0,1271,1246,1,0,0,0,1272,39,1,0,0,0,1273,1275,5,34,0,0,1274,1276,5,180,0,0,1275,1274,1,0,0,0,1275,1276,1,0,0,0,1276,1277,1,0,0,0,1277,1278,5,658,0,0,1278,1282,3,660,330,0,1279,1280,5,6,0,0,1280,1281,5,361,0,0,1281,1283,5,882,0,0,1282,1279,1,0,0,0,1282,1283,1,0,0,0,1283,1289,1,0,0,0,1284,1286,5,314,0,0,1285,1287,5,857,0,0,1286,1285,1,0,0,0,1286,1287,1,0,0,0,1287,1288,1,0,0,0,1288,1290,3,710,355,0,1289,1284,1,0,0,0,1289,1290,1,0,0,0,1290,1294,1,0,0,0,1291,1292,5,399,0,0,1292,1293,5,857,0,0,1293,1295,3,710,355,0,1294,1291,1,0,0,0,1294,1295,1,0,0,0,1295,1301,1,0,0,0,1296,1298,5,380,0,0,1297,1299,5,857,0,0,1298,1297,1,0,0,0,1298,1299,1,0,0,0,1299,1300,1,0,0,0,1300,1302,3,688,344,0,1301,1296,1,0,0,0,1301,1302,1,0,0,0,1302,1308,1,0,0,0,1303,1305,5,825,0,0,1304,1306,5,857,0,0,1305,1304,1,0,0,0,1305,1306,1,0,0,0,1306,1307,1,0,0,0,1307,1309,5,882,0,0,1308,1303,1,0,0,0,1308,1309,1,0,0,0,1309,41,1,0,0,0,1310,1312,5,34,0,0,1311,1313,5,180,0,0,1312,1311,1,0,0,0,1312,1313,1,0,0,0,1313,1314,1,0,0,0,1314,1315,5,658,0,0,1315,1316,3,660,330,0,1316,1317,5,6,0,0,1317,1318,5,361,0,0,1318,1319,5,882,0,0,1319,1320,5,187,0,0,1320,1321,5,451,0,0,1321,1322,5,74,0,0,1322,1328,3,702,351,0,1323,1325,5,393,0,0,1324,1326,5,857,0,0,1325,1324,1,0,0,0,1325,1326,1,0,0,0,1326,1327,1,0,0,0,1327,1329,3,710,355,0,1328,1323,1,0,0,0,1328,1329,1,0,0,0,1329,1335,1,0,0,0,1330,1332,5,428,0,0,1331,1333,5,857,0,0,1332,1331,1,0,0,0,1332,1333,1,0,0,0,1333,1334,1,0,0,0,1334,1336,3,710,355,0,1335,1330,1,0,0,0,1335,1336,1,0,0,0,1336,1342,1,0,0,0,1337,1339,5,314,0,0,1338,1340,5,857,0,0,1339,1338,1,0,0,0,1339,1340,1,0,0,0,1340,1341,1,0,0,0,1341,1343,3,710,355,0,1342,1337,1,0,0,0,1342,1343,1,0,0,0,1343,1349,1,0,0,0,1344,1346,5,481,0,0,1345,1347,5,857,0,0,1346,1345,1,0,0,0,1346,1347,1,0,0,0,1347,1348,1,0,0,0,1348,1350,3,710,355,0,1349,1344,1,0,0,0,1349,1350,1,0,0,0,1350,1356,1,0,0,0,1351,1353,5,504,0,0,1352,1354,5,857,0,0,1353,1352,1,0,0,0,1353,1354,1,0,0,0,1354,1355,1,0,0,0,1355,1357,3,702,351,0,1356,1351,1,0,0,0,1356,1357,1,0,0,0,1357,1359,1,0,0,0,1358,1360,5,687,0,0,1359,1358,1,0,0,0,1359,1360,1,0,0,0,1360,1366,1,0,0,0,1361,1363,5,340,0,0,1362,1364,5,857,0,0,1363,1362,1,0,0,0,1363,1364,1,0,0,0,1364,1365,1,0,0,0,1365,1367,5,882,0,0,1366,1361,1,0,0,0,1366,1367,1,0,0,0,1367,1368,1,0,0,0,1368,1370,5,380,0,0,1369,1371,5,857,0,0,1370,1369,1,0,0,0,1370,1371,1,0,0,0,1371,1372,1,0,0,0,1372,1373,3,688,344,0,1373,43,1,0,0,0,1374,1376,5,34,0,0,1375,1377,3,58,29,0,1376,1375,1,0,0,0,1376,1377,1,0,0,0,1377,1378,1,0,0,0,1378,1380,5,178,0,0,1379,1381,3,756,378,0,1380,1379,1,0,0,0,1380,1381,1,0,0,0,1381,1382,1,0,0,0,1382,1383,3,698,349,0,1383,1384,7,7,0,0,1384,1385,7,8,0,0,1385,1386,5,119,0,0,1386,1387,3,648,324,0,1387,1388,5,65,0,0,1388,1389,5,52,0,0,1389,1392,5,586,0,0,1390,1391,7,9,0,0,1391,1393,3,698,349,0,1392,1390,1,0,0,0,1392,1393,1,0,0,0,1393,1394,1,0,0,0,1394,1395,3,416,208,0,1395,45,1,0,0,0,1396,1398,5,194,0,0,1397,1399,5,552,0,0,1398,1397,1,0,0,0,1398,1399,1,0,0,0,1399,1400,1,0,0,0,1400,1401,3,48,24,0,1401,47,1,0,0,0,1402,1414,3,702,351,0,1403,1404,5,866,0,0,1404,1409,3,702,351,0,1405,1406,5,868,0,0,1406,1408,3,702,351,0,1407,1405,1,0,0,0,1408,1411,1,0,0,0,1409,1407,1,0,0,0,1409,1410,1,0,0,0,1410,1412,1,0,0,0,1411,1409,1,0,0,0,1412,1413,5,867,0,0,1413,1415,1,0,0,0,1414,1403,1,0,0,0,1414,1415,1,0,0,0,1415,1416,1,0,0,0,1416,1417,5,13,0,0,1417,1418,5,866,0,0,1418,1419,3,10,5,0,1419,1422,5,867,0,0,1420,1421,5,868,0,0,1421,1423,3,48,24,0,1422,1420,1,0,0,0,1422,1423,1,0,0,0,1423,49,1,0,0,0,1424,1426,5,34,0,0,1425,1427,3,758,379,0,1426,1425,1,0,0,0,1426,1427,1,0,0,0,1427,1431,1,0,0,0,1428,1429,5,308,0,0,1429,1430,5,857,0,0,1430,1432,7,10,0,0,1431,1428,1,0,0,0,1431,1432,1,0,0,0,1432,1434,1,0,0,0,1433,1435,3,58,29,0,1434,1433,1,0,0,0,1434,1435,1,0,0,0,1435,1439,1,0,0,0,1436,1437,5,162,0,0,1437,1438,5,591,0,0,1438,1440,7,11,0,0,1439,1436,1,0,0,0,1439,1440,1,0,0,0,1440,1441,1,0,0,0,1441,1442,5,684,0,0,1442,1454,3,630,315,0,1443,1444,5,866,0,0,1444,1449,3,654,327,0,1445,1446,5,868,0,0,1446,1448,3,654,327,0,1447,1445,1,0,0,0,1448,1451,1,0,0,0,1449,1447,1,0,0,0,1449,1450,1,0,0,0,1450,1452,1,0,0,0,1451,1449,1,0,0,0,1452,1453,5,867,0,0,1453,1455,1,0,0,0,1454,1443,1,0,0,0,1454,1455,1,0,0,0,1455,1456,1,0,0,0,1456,1476,5,13,0,0,1457,1459,5,866,0,0,1458,1460,3,46,23,0,1459,1458,1,0,0,0,1459,1460,1,0,0,0,1460,1461,1,0,0,0,1461,1462,3,204,102,0,1462,1463,5,867,0,0,1463,1477,1,0,0,0,1464,1466,3,46,23,0,1465,1464,1,0,0,0,1465,1466,1,0,0,0,1466,1467,1,0,0,0,1467,1474,3,204,102,0,1468,1470,5,194,0,0,1469,1471,7,12,0,0,1470,1469,1,0,0,0,1470,1471,1,0,0,0,1471,1472,1,0,0,0,1472,1473,5,27,0,0,1473,1475,5,121,0,0,1474,1468,1,0,0,0,1474,1475,1,0,0,0,1475,1477,1,0,0,0,1476,1457,1,0,0,0,1476,1465,1,0,0,0,1477,51,1,0,0,0,1478,1480,5,42,0,0,1479,1478,1,0,0,0,1479,1480,1,0,0,0,1480,1481,1,0,0,0,1481,1483,3,54,27,0,1482,1484,5,857,0,0,1483,1482,1,0,0,0,1483,1484,1,0,0,0,1484,1487,1,0,0,0,1485,1488,3,684,342,0,1486,1488,5,42,0,0,1487,1485,1,0,0,0,1487,1486,1,0,0,0,1488,1512,1,0,0,0,1489,1491,5,42,0,0,1490,1489,1,0,0,0,1490,1491,1,0,0,0,1491,1492,1,0,0,0,1492,1494,5,28,0,0,1493,1495,5,857,0,0,1494,1493,1,0,0,0,1494,1495,1,0,0,0,1495,1496,1,0,0,0,1496,1512,3,686,343,0,1497,1499,5,42,0,0,1498,1497,1,0,0,0,1498,1499,1,0,0,0,1499,1500,1,0,0,0,1500,1502,5,376,0,0,1501,1503,5,857,0,0,1502,1501,1,0,0,0,1502,1503,1,0,0,0,1503,1504,1,0,0,0,1504,1512,5,882,0,0,1505,1506,5,135,0,0,1506,1508,5,515,0,0,1507,1509,5,857,0,0,1508,1507,1,0,0,0,1508,1509,1,0,0,0,1509,1510,1,0,0,0,1510,1512,7,13,0,0,1511,1479,1,0,0,0,1511,1490,1,0,0,0,1511,1498,1,0,0,0,1511,1505,1,0,0,0,1512,53,1,0,0,0,1513,1514,5,26,0,0,1514,1519,5,155,0,0,1515,1519,5,823,0,0,1516,1517,5,224,0,0,1517,1519,5,155,0,0,1518,1513,1,0,0,0,1518,1515,1,0,0,0,1518,1516,1,0,0,0,1519,55,1,0,0,0,1520,1523,7,14,0,0,1521,1522,5,866,0,0,1522,1524,5,867,0,0,1523,1521,1,0,0,0,1523,1524,1,0,0,0,1524,57,1,0,0,0,1525,1526,5,364,0,0,1526,1529,5,857,0,0,1527,1530,3,680,340,0,1528,1530,3,56,28,0,1529,1527,1,0,0,0,1529,1528,1,0,0,0,1530,59,1,0,0,0,1531,1532,5,311,0,0,1532,1536,3,62,31,0,1533,1535,3,64,32,0,1534,1533,1,0,0,0,1535,1538,1,0,0,0,1536,1534,1,0,0,0,1536,1537,1,0,0,0,1537,1566,1,0,0,0,1538,1536,1,0,0,0,1539,1542,5,387,0,0,1540,1543,3,708,354,0,1541,1543,3,800,400,0,1542,1540,1,0,0,0,1542,1541,1,0,0,0,1543,1544,1,0,0,0,1544,1553,3,66,33,0,1545,1546,5,641,0,0,1546,1550,3,62,31,0,1547,1549,3,64,32,0,1548,1547,1,0,0,0,1549,1552,1,0,0,0,1550,1548,1,0,0,0,1550,1551,1,0,0,0,1551,1554,1,0,0,0,1552,1550,1,0,0,0,1553,1545,1,0,0,0,1553,1554,1,0,0,0,1554,1563,1,0,0,0,1555,1556,5,379,0,0,1556,1560,3,62,31,0,1557,1559,3,64,32,0,1558,1557,1,0,0,0,1559,1562,1,0,0,0,1560,1558,1,0,0,0,1560,1561,1,0,0,0,1561,1564,1,0,0,0,1562,1560,1,0,0,0,1563,1555,1,0,0,0,1563,1564,1,0,0,0,1564,1566,1,0,0,0,1565,1531,1,0,0,0,1565,1539,1,0,0,0,1566,61,1,0,0,0,1567,1572,5,287,0,0,1568,1572,3,712,356,0,1569,1572,3,708,354,0,1570,1572,3,800,400,0,1571,1567,1,0,0,0,1571,1568,1,0,0,0,1571,1569,1,0,0,0,1571,1570,1,0,0,0,1572,63,1,0,0,0,1573,1574,5,853,0,0,1574,1577,5,87,0,0,1575,1578,3,708,354,0,1576,1578,3,800,400,0,1577,1575,1,0,0,0,1577,1576,1,0,0,0,1578,1579,1,0,0,0,1579,1580,3,66,33,0,1580,65,1,0,0,0,1581,1595,3,826,413,0,1582,1595,5,223,0,0,1583,1595,5,242,0,0,1584,1595,5,243,0,0,1585,1595,5,244,0,0,1586,1595,5,245,0,0,1587,1595,5,246,0,0,1588,1595,5,247,0,0,1589,1595,5,248,0,0,1590,1595,5,249,0,0,1591,1595,5,250,0,0,1592,1595,5,251,0,0,1593,1595,5,252,0,0,1594,1581,1,0,0,0,1594,1582,1,0,0,0,1594,1583,1,0,0,0,1594,1584,1,0,0,0,1594,1585,1,0,0,0,1594,1586,1,0,0,0,1594,1587,1,0,0,0,1594,1588,1,0,0,0,1594,1589,1,0,0,0,1594,1590,1,0,0,0,1594,1591,1,0,0,0,1594,1592,1,0,0,0,1594,1593,1,0,0,0,1595,67,1,0,0,0,1596,1602,5,375,0,0,1597,1602,5,368,0,0,1598,1599,5,368,0,0,1599,1600,5,119,0,0,1600,1602,5,598,0,0,1601,1596,1,0,0,0,1601,1597,1,0,0,0,1601,1598,1,0,0,0,1602,69,1,0,0,0,1603,1604,5,188,0,0,1604,1605,7,15,0,0,1605,71,1,0,0,0,1606,1608,5,443,0,0,1607,1609,5,857,0,0,1608,1607,1,0,0,0,1608,1609,1,0,0,0,1609,1610,1,0,0,0,1610,1629,3,710,355,0,1611,1629,3,70,35,0,1612,1613,5,194,0,0,1613,1614,5,525,0,0,1614,1629,3,702,351,0,1615,1616,5,340,0,0,1616,1629,5,882,0,0,1617,1629,7,16,0,0,1618,1620,5,825,0,0,1619,1621,5,857,0,0,1620,1619,1,0,0,0,1620,1621,1,0,0,0,1621,1622,1,0,0,0,1622,1629,5,882,0,0,1623,1625,5,833,0,0,1624,1626,5,857,0,0,1625,1624,1,0,0,0,1625,1626,1,0,0,0,1626,1627,1,0,0,0,1627,1629,5,882,0,0,1628,1606,1,0,0,0,1628,1611,1,0,0,0,1628,1612,1,0,0,0,1628,1615,1,0,0,0,1628,1617,1,0,0,0,1628,1618,1,0,0,0,1628,1623,1,0,0,0,1629,73,1,0,0,0,1630,1632,7,17,0,0,1631,1630,1,0,0,0,1631,1632,1,0,0,0,1632,1633,1,0,0,0,1633,1634,3,702,351,0,1634,1635,3,722,361,0,1635,75,1,0,0,0,1636,1637,5,340,0,0,1637,1660,5,882,0,0,1638,1639,5,444,0,0,1639,1660,5,162,0,0,1640,1642,5,114,0,0,1641,1640,1,0,0,0,1641,1642,1,0,0,0,1642,1643,1,0,0,0,1643,1660,5,47,0,0,1644,1645,5,354,0,0,1645,1655,5,162,0,0,1646,1647,5,502,0,0,1647,1655,5,162,0,0,1648,1649,5,136,0,0,1649,1650,5,162,0,0,1650,1655,5,360,0,0,1651,1652,5,112,0,0,1652,1653,5,162,0,0,1653,1655,5,360,0,0,1654,1644,1,0,0,0,1654,1646,1,0,0,0,1654,1648,1,0,0,0,1654,1651,1,0,0,0,1655,1660,1,0,0,0,1656,1657,5,162,0,0,1657,1658,5,591,0,0,1658,1660,7,11,0,0,1659,1636,1,0,0,0,1659,1638,1,0,0,0,1659,1641,1,0,0,0,1659,1654,1,0,0,0,1659,1656,1,0,0,0,1660,77,1,0,0,0,1661,1662,5,421,0,0,1662,1676,5,882,0,0,1663,1664,5,39,0,0,1664,1676,5,882,0,0,1665,1666,5,678,0,0,1666,1676,5,882,0,0,1667,1668,5,529,0,0,1668,1676,5,882,0,0,1669,1670,5,601,0,0,1670,1676,5,882,0,0,1671,1672,5,519,0,0,1672,1676,5,882,0,0,1673,1674,5,537,0,0,1674,1676,3,708,354,0,1675,1661,1,0,0,0,1675,1663,1,0,0,0,1675,1665,1,0,0,0,1675,1667,1,0,0,0,1675,1669,1,0,0,0,1675,1671,1,0,0,0,1675,1673,1,0,0,0,1676,79,1,0,0,0,1677,1678,5,866,0,0,1678,1683,3,82,41,0,1679,1680,5,868,0,0,1680,1682,3,82,41,0,1681,1679,1,0,0,0,1682,1685,1,0,0,0,1683,1681,1,0,0,0,1683,1684,1,0,0,0,1684,1686,1,0,0,0,1685,1683,1,0,0,0,1686,1687,5,867,0,0,1687,81,1,0,0,0,1688,1689,3,654,327,0,1689,1690,3,88,44,0,1690,1772,1,0,0,0,1691,1693,7,18,0,0,1692,1694,3,638,319,0,1693,1692,1,0,0,0,1693,1694,1,0,0,0,1694,1696,1,0,0,0,1695,1697,3,70,35,0,1696,1695,1,0,0,0,1696,1697,1,0,0,0,1697,1698,1,0,0,0,1698,1702,3,734,367,0,1699,1701,3,72,36,0,1700,1699,1,0,0,0,1701,1704,1,0,0,0,1702,1700,1,0,0,0,1702,1703,1,0,0,0,1703,1772,1,0,0,0,1704,1702,1,0,0,0,1705,1707,7,19,0,0,1706,1708,7,18,0,0,1707,1706,1,0,0,0,1707,1708,1,0,0,0,1708,1710,1,0,0,0,1709,1711,3,638,319,0,1710,1709,1,0,0,0,1710,1711,1,0,0,0,1711,1712,1,0,0,0,1712,1716,3,734,367,0,1713,1715,3,72,36,0,1714,1713,1,0,0,0,1715,1718,1,0,0,0,1716,1714,1,0,0,0,1716,1717,1,0,0,0,1717,1772,1,0,0,0,1718,1716,1,0,0,0,1719,1721,3,86,43,0,1720,1719,1,0,0,0,1720,1721,1,0,0,0,1721,1722,1,0,0,0,1722,1723,5,131,0,0,1723,1725,5,92,0,0,1724,1726,3,70,35,0,1725,1724,1,0,0,0,1725,1726,1,0,0,0,1726,1727,1,0,0,0,1727,1731,3,734,367,0,1728,1730,3,72,36,0,1729,1728,1,0,0,0,1730,1733,1,0,0,0,1731,1729,1,0,0,0,1731,1732,1,0,0,0,1732,1772,1,0,0,0,1733,1731,1,0,0,0,1734,1736,3,86,43,0,1735,1734,1,0,0,0,1735,1736,1,0,0,0,1736,1737,1,0,0,0,1737,1739,5,182,0,0,1738,1740,7,18,0,0,1739,1738,1,0,0,0,1739,1740,1,0,0,0,1740,1742,1,0,0,0,1741,1743,3,638,319,0,1742,1741,1,0,0,0,1742,1743,1,0,0,0,1743,1745,1,0,0,0,1744,1746,3,70,35,0,1745,1744,1,0,0,0,1745,1746,1,0,0,0,1746,1747,1,0,0,0,1747,1751,3,734,367,0,1748,1750,3,72,36,0,1749,1748,1,0,0,0,1750,1753,1,0,0,0,1751,1749,1,0,0,0,1751,1752,1,0,0,0,1752,1772,1,0,0,0,1753,1751,1,0,0,0,1754,1756,3,86,43,0,1755,1754,1,0,0,0,1755,1756,1,0,0,0,1756,1757,1,0,0,0,1757,1758,5,67,0,0,1758,1760,5,92,0,0,1759,1761,3,638,319,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761,1762,1,0,0,0,1762,1763,3,734,367,0,1763,1764,3,92,46,0,1764,1772,1,0,0,0,1765,1766,5,27,0,0,1766,1767,5,866,0,0,1767,1768,3,800,400,0,1768,1769,5,867,0,0,1769,1772,1,0,0,0,1770,1772,3,84,42,0,1771,1688,1,0,0,0,1771,1691,1,0,0,0,1771,1705,1,0,0,0,1771,1720,1,0,0,0,1771,1735,1,0,0,0,1771,1755,1,0,0,0,1771,1765,1,0,0,0,1771,1770,1,0,0,0,1772,83,1,0,0,0,1773,1775,3,86,43,0,1774,1773,1,0,0,0,1774,1775,1,0,0,0,1775,1776,1,0,0,0,1776,1777,5,27,0,0,1777,1778,5,866,0,0,1778,1779,3,800,400,0,1779,1784,5,867,0,0,1780,1782,5,114,0,0,1781,1780,1,0,0,0,1781,1782,1,0,0,0,1782,1783,1,0,0,0,1783,1785,5,57,0,0,1784,1781,1,0,0,0,1784,1785,1,0,0,0,1785,85,1,0,0,0,1786,1788,5,31,0,0,1787,1789,3,702,351,0,1788,1787,1,0,0,0,1788,1789,1,0,0,0,1789,87,1,0,0,0,1790,1794,3,722,361,0,1791,1793,3,90,45,0,1792,1791,1,0,0,0,1793,1796,1,0,0,0,1794,1792,1,0,0,0,1794,1795,1,0,0,0,1795,89,1,0,0,0,1796,1794,1,0,0,0,1797,1841,3,718,359,0,1798,1799,5,42,0,0,1799,1841,3,750,375,0,1800,1841,5,686,0,0,1801,1841,5,435,0,0,1802,1807,5,315,0,0,1803,1804,5,119,0,0,1804,1805,5,185,0,0,1805,1807,3,752,376,0,1806,1802,1,0,0,0,1806,1803,1,0,0,0,1807,1841,1,0,0,0,1808,1810,5,131,0,0,1809,1808,1,0,0,0,1809,1810,1,0,0,0,1810,1811,1,0,0,0,1811,1841,5,92,0,0,1812,1814,5,182,0,0,1813,1815,5,92,0,0,1814,1813,1,0,0,0,1814,1815,1,0,0,0,1815,1841,1,0,0,0,1816,1817,5,340,0,0,1817,1841,5,882,0,0,1818,1819,5,338,0,0,1819,1841,7,20,0,0,1820,1821,5,647,0,0,1821,1841,7,21,0,0,1822,1841,3,92,46,0,1823,1824,5,28,0,0,1824,1841,3,686,343,0,1825,1826,5,71,0,0,1826,1828,5,9,0,0,1827,1825,1,0,0,0,1827,1828,1,0,0,0,1828,1829,1,0,0,0,1829,1830,5,13,0,0,1830,1831,5,866,0,0,1831,1832,3,800,400,0,1832,1834,5,867,0,0,1833,1835,7,22,0,0,1834,1833,1,0,0,0,1834,1835,1,0,0,0,1835,1841,1,0,0,0,1836,1837,5,241,0,0,1837,1838,5,42,0,0,1838,1841,5,682,0,0,1839,1841,3,84,42,0,1840,1797,1,0,0,0,1840,1798,1,0,0,0,1840,1800,1,0,0,0,1840,1801,1,0,0,0,1840,1806,1,0,0,0,1840,1809,1,0,0,0,1840,1812,1,0,0,0,1840,1816,1,0,0,0,1840,1818,1,0,0,0,1840,1820,1,0,0,0,1840,1822,1,0,0,0,1840,1823,1,0,0,0,1840,1827,1,0,0,0,1840,1836,1,0,0,0,1840,1839,1,0,0,0,1841,91,1,0,0,0,1842,1843,5,138,0,0,1843,1845,3,648,324,0,1844,1846,3,734,367,0,1845,1844,1,0,0,0,1845,1846,1,0,0,0,1846,1849,1,0,0,0,1847,1848,5,110,0,0,1848,1850,7,23,0,0,1849,1847,1,0,0,0,1849,1850,1,0,0,0,1850,1852,1,0,0,0,1851,1853,3,94,47,0,1852,1851,1,0,0,0,1852,1853,1,0,0,0,1853,93,1,0,0,0,1854,1855,5,119,0,0,1855,1856,5,44,0,0,1856,1860,3,96,48,0,1857,1858,5,119,0,0,1858,1859,5,185,0,0,1859,1861,3,96,48,0,1860,1857,1,0,0,0,1860,1861,1,0,0,0,1861,1871,1,0,0,0,1862,1863,5,119,0,0,1863,1864,5,185,0,0,1864,1868,3,96,48,0,1865,1866,5,119,0,0,1866,1867,5,44,0,0,1867,1869,3,96,48,0,1868,1865,1,0,0,0,1868,1869,1,0,0,0,1869,1871,1,0,0,0,1870,1854,1,0,0,0,1870,1862,1,0,0,0,1871,95,1,0,0,0,1872,1881,5,146,0,0,1873,1881,5,22,0,0,1874,1875,5,155,0,0,1875,1881,5,116,0,0,1876,1877,5,502,0,0,1877,1881,5,305,0,0,1878,1879,5,155,0,0,1879,1881,5,42,0,0,1880,1872,1,0,0,0,1880,1873,1,0,0,0,1880,1874,1,0,0,0,1880,1876,1,0,0,0,1880,1878,1,0,0,0,1881,97,1,0,0,0,1882,1884,5,380,0,0,1883,1885,5,857,0,0,1884,1883,1,0,0,0,1884,1885,1,0,0,0,1885,1887,1,0,0,0,1886,1888,3,688,344,0,1887,1886,1,0,0,0,1887,1888,1,0,0,0,1888,2068,1,0,0,0,1889,1891,5,825,0,0,1890,1892,5,857,0,0,1891,1890,1,0,0,0,1891,1892,1,0,0,0,1892,1893,1,0,0,0,1893,2068,5,882,0,0,1894,1896,5,314,0,0,1895,1897,5,857,0,0,1896,1895,1,0,0,0,1896,1897,1,0,0,0,1897,1898,1,0,0,0,1898,2068,3,708,354,0,1899,1901,5,315,0,0,1900,1902,5,857,0,0,1901,1900,1,0,0,0,1901,1902,1,0,0,0,1902,1903,1,0,0,0,1903,2068,3,708,354,0,1904,1906,5,316,0,0,1905,1907,5,857,0,0,1906,1905,1,0,0,0,1906,1907,1,0,0,0,1907,1908,1,0,0,0,1908,2068,3,708,354,0,1909,1911,5,42,0,0,1910,1909,1,0,0,0,1910,1911,1,0,0,0,1911,1912,1,0,0,0,1912,1914,3,54,27,0,1913,1915,5,857,0,0,1914,1913,1,0,0,0,1914,1915,1,0,0,0,1915,1918,1,0,0,0,1916,1919,3,684,342,0,1917,1919,5,42,0,0,1918,1916,1,0,0,0,1918,1917,1,0,0,0,1919,2068,1,0,0,0,1920,1922,7,24,0,0,1921,1923,5,857,0,0,1922,1921,1,0,0,0,1922,1923,1,0,0,0,1923,1924,1,0,0,0,1924,2068,7,25,0,0,1925,1927,5,42,0,0,1926,1925,1,0,0,0,1926,1927,1,0,0,0,1927,1928,1,0,0,0,1928,1930,5,28,0,0,1929,1931,5,857,0,0,1930,1929,1,0,0,0,1930,1931,1,0,0,0,1931,1932,1,0,0,0,1932,2068,3,686,343,0,1933,1935,5,340,0,0,1934,1936,5,857,0,0,1935,1934,1,0,0,0,1935,1936,1,0,0,0,1936,1937,1,0,0,0,1937,2068,5,882,0,0,1938,1940,5,346,0,0,1939,1941,5,857,0,0,1940,1939,1,0,0,0,1940,1941,1,0,0,0,1941,1942,1,0,0,0,1942,2068,7,26,0,0,1943,1945,5,349,0,0,1944,1946,5,857,0,0,1945,1944,1,0,0,0,1945,1946,1,0,0,0,1946,1947,1,0,0,0,1947,2068,5,882,0,0,1948,1949,7,27,0,0,1949,1951,5,367,0,0,1950,1952,5,857,0,0,1951,1950,1,0,0,0,1951,1952,1,0,0,0,1952,1953,1,0,0,0,1953,2068,5,882,0,0,1954,1956,5,365,0,0,1955,1957,5,857,0,0,1956,1955,1,0,0,0,1956,1957,1,0,0,0,1957,1958,1,0,0,0,1958,2068,7,25,0,0,1959,1961,5,376,0,0,1960,1962,5,857,0,0,1961,1960,1,0,0,0,1961,1962,1,0,0,0,1962,1963,1,0,0,0,1963,2068,5,882,0,0,1964,1966,7,28,0,0,1965,1967,5,857,0,0,1966,1965,1,0,0,0,1966,1967,1,0,0,0,1967,1968,1,0,0,0,1968,2068,7,25,0,0,1969,1971,7,29,0,0,1970,1972,5,857,0,0,1971,1970,1,0,0,0,1971,1972,1,0,0,0,1972,1973,1,0,0,0,1973,2068,3,708,354,0,1974,1976,5,377,0,0,1975,1977,5,857,0,0,1976,1975,1,0,0,0,1976,1977,1,0,0,0,1977,1978,1,0,0,0,1978,2068,3,708,354,0,1979,1980,5,82,0,0,1980,1982,5,367,0,0,1981,1983,5,857,0,0,1982,1981,1,0,0,0,1982,1983,1,0,0,0,1983,1984,1,0,0,0,1984,2068,5,882,0,0,1985,1987,5,431,0,0,1986,1988,5,857,0,0,1987,1986,1,0,0,0,1987,1988,1,0,0,0,1988,1989,1,0,0,0,1989,2068,7,30,0,0,1990,1992,5,443,0,0,1991,1993,5,857,0,0,1992,1991,1,0,0,0,1992,1993,1,0,0,0,1993,1994,1,0,0,0,1994,2068,3,710,355,0,1995,1997,5,480,0,0,1996,1998,5,857,0,0,1997,1996,1,0,0,0,1997,1998,1,0,0,0,1998,1999,1,0,0,0,1999,2068,3,708,354,0,2e3,2002,5,490,0,0,2001,2003,5,857,0,0,2002,2001,1,0,0,0,2002,2003,1,0,0,0,2003,2004,1,0,0,0,2004,2068,3,708,354,0,2005,2007,5,520,0,0,2006,2008,5,857,0,0,2007,2006,1,0,0,0,2007,2008,1,0,0,0,2008,2009,1,0,0,0,2009,2068,7,13,0,0,2010,2012,5,529,0,0,2011,2013,5,857,0,0,2012,2011,1,0,0,0,2012,2013,1,0,0,0,2013,2014,1,0,0,0,2014,2068,5,882,0,0,2015,2017,5,588,0,0,2016,2018,5,857,0,0,2017,2016,1,0,0,0,2017,2018,1,0,0,0,2018,2019,1,0,0,0,2019,2068,7,31,0,0,2020,2021,5,640,0,0,2021,2068,5,664,0,0,2022,2024,5,833,0,0,2023,2025,5,857,0,0,2024,2023,1,0,0,0,2024,2025,1,0,0,0,2025,2026,1,0,0,0,2026,2068,5,882,0,0,2027,2029,5,642,0,0,2028,2030,5,857,0,0,2029,2028,1,0,0,0,2029,2030,1,0,0,0,2030,2031,1,0,0,0,2031,2068,7,13,0,0,2032,2034,5,643,0,0,2033,2035,5,857,0,0,2034,2033,1,0,0,0,2034,2035,1,0,0,0,2035,2036,1,0,0,0,2036,2068,7,13,0,0,2037,2039,5,644,0,0,2038,2040,5,857,0,0,2039,2038,1,0,0,0,2039,2040,1,0,0,0,2040,2043,1,0,0,0,2041,2044,5,42,0,0,2042,2044,3,708,354,0,2043,2041,1,0,0,0,2043,2042,1,0,0,0,2044,2068,1,0,0,0,2045,2046,5,658,0,0,2046,2048,3,662,331,0,2047,2049,3,102,51,0,2048,2047,1,0,0,0,2048,2049,1,0,0,0,2049,2068,1,0,0,0,2050,2051,5,659,0,0,2051,2052,5,857,0,0,2052,2068,3,100,50,0,2053,2068,3,102,51,0,2054,2056,5,665,0,0,2055,2057,5,857,0,0,2056,2055,1,0,0,0,2056,2057,1,0,0,0,2057,2058,1,0,0,0,2058,2068,7,25,0,0,2059,2061,5,181,0,0,2060,2062,5,857,0,0,2061,2060,1,0,0,0,2061,2062,1,0,0,0,2062,2063,1,0,0,0,2063,2064,5,866,0,0,2064,2065,3,646,323,0,2065,2066,5,867,0,0,2066,2068,1,0,0,0,2067,1882,1,0,0,0,2067,1889,1,0,0,0,2067,1894,1,0,0,0,2067,1899,1,0,0,0,2067,1904,1,0,0,0,2067,1910,1,0,0,0,2067,1920,1,0,0,0,2067,1926,1,0,0,0,2067,1933,1,0,0,0,2067,1938,1,0,0,0,2067,1943,1,0,0,0,2067,1948,1,0,0,0,2067,1954,1,0,0,0,2067,1959,1,0,0,0,2067,1964,1,0,0,0,2067,1969,1,0,0,0,2067,1974,1,0,0,0,2067,1979,1,0,0,0,2067,1985,1,0,0,0,2067,1990,1,0,0,0,2067,1995,1,0,0,0,2067,2e3,1,0,0,0,2067,2005,1,0,0,0,2067,2010,1,0,0,0,2067,2015,1,0,0,0,2067,2020,1,0,0,0,2067,2022,1,0,0,0,2067,2027,1,0,0,0,2067,2032,1,0,0,0,2067,2037,1,0,0,0,2067,2045,1,0,0,0,2067,2050,1,0,0,0,2067,2053,1,0,0,0,2067,2054,1,0,0,0,2067,2059,1,0,0,0,2068,99,1,0,0,0,2069,2070,7,32,0,0,2070,101,1,0,0,0,2071,2072,5,647,0,0,2072,2073,7,21,0,0,2073,103,1,0,0,0,2074,2075,5,130,0,0,2075,2076,5,20,0,0,2076,2079,3,106,53,0,2077,2078,5,528,0,0,2078,2080,3,708,354,0,2079,2077,1,0,0,0,2079,2080,1,0,0,0,2080,2088,1,0,0,0,2081,2082,5,652,0,0,2082,2083,5,20,0,0,2083,2086,3,108,54,0,2084,2085,5,653,0,0,2085,2087,3,708,354,0,2086,2084,1,0,0,0,2086,2087,1,0,0,0,2087,2089,1,0,0,0,2088,2081,1,0,0,0,2088,2089,1,0,0,0,2089,2101,1,0,0,0,2090,2091,5,866,0,0,2091,2096,3,110,55,0,2092,2093,5,868,0,0,2093,2095,3,110,55,0,2094,2092,1,0,0,0,2095,2098,1,0,0,0,2096,2094,1,0,0,0,2096,2097,1,0,0,0,2097,2099,1,0,0,0,2098,2096,1,0,0,0,2099,2100,5,867,0,0,2100,2102,1,0,0,0,2101,2090,1,0,0,0,2101,2102,1,0,0,0,2102,105,1,0,0,0,2103,2105,5,101,0,0,2104,2103,1,0,0,0,2104,2105,1,0,0,0,2105,2106,1,0,0,0,2106,2107,5,418,0,0,2107,2108,5,866,0,0,2108,2109,3,800,400,0,2109,2110,5,867,0,0,2110,2150,1,0,0,0,2111,2113,5,101,0,0,2112,2111,1,0,0,0,2112,2113,1,0,0,0,2113,2114,1,0,0,0,2114,2118,5,92,0,0,2115,2116,5,308,0,0,2116,2117,5,857,0,0,2117,2119,7,33,0,0,2118,2115,1,0,0,0,2118,2119,1,0,0,0,2119,2120,1,0,0,0,2120,2122,5,866,0,0,2121,2123,3,656,328,0,2122,2121,1,0,0,0,2122,2123,1,0,0,0,2123,2124,1,0,0,0,2124,2150,5,867,0,0,2125,2135,5,134,0,0,2126,2127,5,866,0,0,2127,2128,3,800,400,0,2128,2129,5,867,0,0,2129,2136,1,0,0,0,2130,2131,5,337,0,0,2131,2132,5,866,0,0,2132,2133,3,656,328,0,2133,2134,5,867,0,0,2134,2136,1,0,0,0,2135,2126,1,0,0,0,2135,2130,1,0,0,0,2136,2150,1,0,0,0,2137,2147,5,449,0,0,2138,2139,5,866,0,0,2139,2140,3,800,400,0,2140,2141,5,867,0,0,2141,2148,1,0,0,0,2142,2143,5,337,0,0,2143,2144,5,866,0,0,2144,2145,3,656,328,0,2145,2146,5,867,0,0,2146,2148,1,0,0,0,2147,2138,1,0,0,0,2147,2142,1,0,0,0,2148,2150,1,0,0,0,2149,2104,1,0,0,0,2149,2112,1,0,0,0,2149,2125,1,0,0,0,2149,2137,1,0,0,0,2150,107,1,0,0,0,2151,2153,5,101,0,0,2152,2151,1,0,0,0,2152,2153,1,0,0,0,2153,2154,1,0,0,0,2154,2155,5,418,0,0,2155,2156,5,866,0,0,2156,2157,3,800,400,0,2157,2158,5,867,0,0,2158,2173,1,0,0,0,2159,2161,5,101,0,0,2160,2159,1,0,0,0,2160,2161,1,0,0,0,2161,2162,1,0,0,0,2162,2166,5,92,0,0,2163,2164,5,308,0,0,2164,2165,5,857,0,0,2165,2167,7,33,0,0,2166,2163,1,0,0,0,2166,2167,1,0,0,0,2167,2168,1,0,0,0,2168,2169,5,866,0,0,2169,2170,3,656,328,0,2170,2171,5,867,0,0,2171,2173,1,0,0,0,2172,2152,1,0,0,0,2172,2160,1,0,0,0,2173,109,1,0,0,0,2174,2175,5,130,0,0,2175,2176,3,668,334,0,2176,2177,5,189,0,0,2177,2178,5,447,0,0,2178,2179,5,662,0,0,2179,2180,5,866,0,0,2180,2185,3,112,56,0,2181,2182,5,868,0,0,2182,2184,3,112,56,0,2183,2181,1,0,0,0,2184,2187,1,0,0,0,2185,2183,1,0,0,0,2185,2186,1,0,0,0,2186,2188,1,0,0,0,2187,2185,1,0,0,0,2188,2192,5,867,0,0,2189,2191,3,118,59,0,2190,2189,1,0,0,0,2191,2194,1,0,0,0,2192,2190,1,0,0,0,2192,2193,1,0,0,0,2193,2206,1,0,0,0,2194,2192,1,0,0,0,2195,2196,5,866,0,0,2196,2201,3,116,58,0,2197,2198,5,868,0,0,2198,2200,3,116,58,0,2199,2197,1,0,0,0,2200,2203,1,0,0,0,2201,2199,1,0,0,0,2201,2202,1,0,0,0,2202,2204,1,0,0,0,2203,2201,1,0,0,0,2204,2205,5,867,0,0,2205,2207,1,0,0,0,2206,2195,1,0,0,0,2206,2207,1,0,0,0,2207,2321,1,0,0,0,2208,2209,5,130,0,0,2209,2210,3,668,334,0,2210,2211,5,189,0,0,2211,2212,5,447,0,0,2212,2213,5,662,0,0,2213,2217,3,112,56,0,2214,2216,3,118,59,0,2215,2214,1,0,0,0,2216,2219,1,0,0,0,2217,2215,1,0,0,0,2217,2218,1,0,0,0,2218,2231,1,0,0,0,2219,2217,1,0,0,0,2220,2221,5,866,0,0,2221,2226,3,116,58,0,2222,2223,5,868,0,0,2223,2225,3,116,58,0,2224,2222,1,0,0,0,2225,2228,1,0,0,0,2226,2224,1,0,0,0,2226,2227,1,0,0,0,2227,2229,1,0,0,0,2228,2226,1,0,0,0,2229,2230,5,867,0,0,2230,2232,1,0,0,0,2231,2220,1,0,0,0,2231,2232,1,0,0,0,2232,2321,1,0,0,0,2233,2234,5,130,0,0,2234,2235,3,668,334,0,2235,2236,5,189,0,0,2236,2237,5,80,0,0,2237,2238,5,866,0,0,2238,2243,3,112,56,0,2239,2240,5,868,0,0,2240,2242,3,112,56,0,2241,2239,1,0,0,0,2242,2245,1,0,0,0,2243,2241,1,0,0,0,2243,2244,1,0,0,0,2244,2246,1,0,0,0,2245,2243,1,0,0,0,2246,2250,5,867,0,0,2247,2249,3,118,59,0,2248,2247,1,0,0,0,2249,2252,1,0,0,0,2250,2248,1,0,0,0,2250,2251,1,0,0,0,2251,2264,1,0,0,0,2252,2250,1,0,0,0,2253,2254,5,866,0,0,2254,2259,3,116,58,0,2255,2256,5,868,0,0,2256,2258,3,116,58,0,2257,2255,1,0,0,0,2258,2261,1,0,0,0,2259,2257,1,0,0,0,2259,2260,1,0,0,0,2260,2262,1,0,0,0,2261,2259,1,0,0,0,2262,2263,5,867,0,0,2263,2265,1,0,0,0,2264,2253,1,0,0,0,2264,2265,1,0,0,0,2265,2321,1,0,0,0,2266,2267,5,130,0,0,2267,2268,3,668,334,0,2268,2269,5,189,0,0,2269,2270,5,80,0,0,2270,2271,5,866,0,0,2271,2276,3,114,57,0,2272,2273,5,868,0,0,2273,2275,3,114,57,0,2274,2272,1,0,0,0,2275,2278,1,0,0,0,2276,2274,1,0,0,0,2276,2277,1,0,0,0,2277,2279,1,0,0,0,2278,2276,1,0,0,0,2279,2283,5,867,0,0,2280,2282,3,118,59,0,2281,2280,1,0,0,0,2282,2285,1,0,0,0,2283,2281,1,0,0,0,2283,2284,1,0,0,0,2284,2297,1,0,0,0,2285,2283,1,0,0,0,2286,2287,5,866,0,0,2287,2292,3,116,58,0,2288,2289,5,868,0,0,2289,2291,3,116,58,0,2290,2288,1,0,0,0,2291,2294,1,0,0,0,2292,2290,1,0,0,0,2292,2293,1,0,0,0,2293,2295,1,0,0,0,2294,2292,1,0,0,0,2295,2296,5,867,0,0,2296,2298,1,0,0,0,2297,2286,1,0,0,0,2297,2298,1,0,0,0,2298,2321,1,0,0,0,2299,2300,5,130,0,0,2300,2304,3,668,334,0,2301,2303,3,118,59,0,2302,2301,1,0,0,0,2303,2306,1,0,0,0,2304,2302,1,0,0,0,2304,2305,1,0,0,0,2305,2318,1,0,0,0,2306,2304,1,0,0,0,2307,2308,5,866,0,0,2308,2313,3,116,58,0,2309,2310,5,868,0,0,2310,2312,3,116,58,0,2311,2309,1,0,0,0,2312,2315,1,0,0,0,2313,2311,1,0,0,0,2313,2314,1,0,0,0,2314,2316,1,0,0,0,2315,2313,1,0,0,0,2316,2317,5,867,0,0,2317,2319,1,0,0,0,2318,2307,1,0,0,0,2318,2319,1,0,0,0,2319,2321,1,0,0,0,2320,2174,1,0,0,0,2320,2208,1,0,0,0,2320,2233,1,0,0,0,2320,2266,1,0,0,0,2320,2299,1,0,0,0,2321,111,1,0,0,0,2322,2326,3,720,360,0,2323,2326,3,800,400,0,2324,2326,5,111,0,0,2325,2322,1,0,0,0,2325,2323,1,0,0,0,2325,2324,1,0,0,0,2326,113,1,0,0,0,2327,2328,5,866,0,0,2328,2331,3,112,56,0,2329,2330,5,868,0,0,2330,2332,3,112,56,0,2331,2329,1,0,0,0,2332,2333,1,0,0,0,2333,2331,1,0,0,0,2333,2334,1,0,0,0,2334,2335,1,0,0,0,2335,2336,5,867,0,0,2336,115,1,0,0,0,2337,2338,5,652,0,0,2338,2342,3,702,351,0,2339,2341,3,118,59,0,2340,2339,1,0,0,0,2341,2344,1,0,0,0,2342,2340,1,0,0,0,2342,2343,1,0,0,0,2343,117,1,0,0,0,2344,2342,1,0,0,0,2345,2347,5,42,0,0,2346,2345,1,0,0,0,2346,2347,1,0,0,0,2347,2349,1,0,0,0,2348,2350,5,647,0,0,2349,2348,1,0,0,0,2349,2350,1,0,0,0,2350,2351,1,0,0,0,2351,2353,5,380,0,0,2352,2354,5,857,0,0,2353,2352,1,0,0,0,2353,2354,1,0,0,0,2354,2355,1,0,0,0,2355,2394,3,688,344,0,2356,2358,5,340,0,0,2357,2359,5,857,0,0,2358,2357,1,0,0,0,2358,2359,1,0,0,0,2359,2360,1,0,0,0,2360,2394,5,882,0,0,2361,2362,5,360,0,0,2362,2364,5,367,0,0,2363,2365,5,857,0,0,2364,2363,1,0,0,0,2364,2365,1,0,0,0,2365,2366,1,0,0,0,2366,2394,5,882,0,0,2367,2368,5,82,0,0,2368,2370,5,367,0,0,2369,2371,5,857,0,0,2370,2369,1,0,0,0,2370,2371,1,0,0,0,2371,2372,1,0,0,0,2372,2394,5,882,0,0,2373,2375,5,480,0,0,2374,2376,5,857,0,0,2375,2374,1,0,0,0,2375,2376,1,0,0,0,2376,2377,1,0,0,0,2377,2394,3,708,354,0,2378,2380,5,490,0,0,2379,2381,5,857,0,0,2380,2379,1,0,0,0,2380,2381,1,0,0,0,2381,2382,1,0,0,0,2382,2394,3,708,354,0,2383,2385,5,658,0,0,2384,2386,5,857,0,0,2385,2384,1,0,0,0,2385,2386,1,0,0,0,2386,2387,1,0,0,0,2387,2394,3,662,331,0,2388,2390,5,504,0,0,2389,2391,5,857,0,0,2390,2389,1,0,0,0,2390,2391,1,0,0,0,2391,2392,1,0,0,0,2392,2394,3,702,351,0,2393,2346,1,0,0,0,2393,2356,1,0,0,0,2393,2361,1,0,0,0,2393,2367,1,0,0,0,2393,2373,1,0,0,0,2393,2378,1,0,0,0,2393,2383,1,0,0,0,2393,2388,1,0,0,0,2394,119,1,0,0,0,2395,2396,5,8,0,0,2396,2398,7,0,0,0,2397,2399,3,624,312,0,2398,2397,1,0,0,0,2398,2399,1,0,0,0,2399,2401,1,0,0,0,2400,2402,3,52,26,0,2401,2400,1,0,0,0,2402,2403,1,0,0,0,2403,2401,1,0,0,0,2403,2404,1,0,0,0,2404,2414,1,0,0,0,2405,2406,5,8,0,0,2406,2407,7,0,0,0,2407,2408,3,624,312,0,2408,2409,5,677,0,0,2409,2410,5,360,0,0,2410,2411,5,367,0,0,2411,2412,5,496,0,0,2412,2414,1,0,0,0,2413,2395,1,0,0,0,2413,2405,1,0,0,0,2414,121,1,0,0,0,2415,2417,5,8,0,0,2416,2418,3,58,29,0,2417,2416,1,0,0,0,2417,2418,1,0,0,0,2418,2419,1,0,0,0,2419,2420,5,385,0,0,2420,2424,3,698,349,0,2421,2422,5,119,0,0,2422,2423,5,590,0,0,2423,2425,3,60,30,0,2424,2421,1,0,0,0,2424,2425,1,0,0,0,2425,2432,1,0,0,0,2426,2427,5,119,0,0,2427,2429,5,343,0,0,2428,2430,5,114,0,0,2429,2428,1,0,0,0,2429,2430,1,0,0,0,2430,2431,1,0,0,0,2431,2433,5,541,0,0,2432,2426,1,0,0,0,2432,2433,1,0,0,0,2433,2437,1,0,0,0,2434,2435,5,141,0,0,2435,2436,5,176,0,0,2436,2438,3,698,349,0,2437,2434,1,0,0,0,2437,2438,1,0,0,0,2438,2440,1,0,0,0,2439,2441,3,68,34,0,2440,2439,1,0,0,0,2440,2441,1,0,0,0,2441,2444,1,0,0,0,2442,2443,5,340,0,0,2443,2445,5,882,0,0,2444,2442,1,0,0,0,2444,2445,1,0,0,0,2445,2448,1,0,0,0,2446,2447,5,371,0,0,2447,2449,3,416,208,0,2448,2446,1,0,0,0,2448,2449,1,0,0,0,2449,123,1,0,0,0,2450,2451,5,8,0,0,2451,2452,5,409,0,0,2452,2456,3,628,314,0,2453,2455,3,76,38,0,2454,2453,1,0,0,0,2455,2458,1,0,0,0,2456,2454,1,0,0,0,2456,2457,1,0,0,0,2457,125,1,0,0,0,2458,2456,1,0,0,0,2459,2460,5,8,0,0,2460,2461,5,433,0,0,2461,2462,5,585,0,0,2462,2463,5,801,0,0,2463,2464,5,453,0,0,2464,2465,5,92,0,0,2465,127,1,0,0,0,2466,2467,5,8,0,0,2467,2468,5,451,0,0,2468,2469,5,74,0,0,2469,2470,3,702,351,0,2470,2471,5,6,0,0,2471,2472,5,671,0,0,2472,2478,5,882,0,0,2473,2475,5,428,0,0,2474,2476,5,857,0,0,2475,2474,1,0,0,0,2475,2476,1,0,0,0,2476,2477,1,0,0,0,2477,2479,3,710,355,0,2478,2473,1,0,0,0,2478,2479,1,0,0,0,2479,2481,1,0,0,0,2480,2482,5,687,0,0,2481,2480,1,0,0,0,2481,2482,1,0,0,0,2482,2483,1,0,0,0,2483,2485,5,380,0,0,2484,2486,5,857,0,0,2485,2484,1,0,0,0,2485,2486,1,0,0,0,2486,2487,1,0,0,0,2487,2488,3,688,344,0,2488,129,1,0,0,0,2489,2490,5,8,0,0,2490,2491,5,132,0,0,2491,2495,3,698,349,0,2492,2494,3,76,38,0,2493,2492,1,0,0,0,2494,2497,1,0,0,0,2495,2493,1,0,0,0,2495,2496,1,0,0,0,2496,131,1,0,0,0,2497,2495,1,0,0,0,2498,2499,5,8,0,0,2499,2500,5,592,0,0,2500,2501,3,702,351,0,2501,2502,5,518,0,0,2502,2503,5,866,0,0,2503,2508,3,78,39,0,2504,2505,5,868,0,0,2505,2507,3,78,39,0,2506,2504,1,0,0,0,2507,2510,1,0,0,0,2508,2506,1,0,0,0,2508,2509,1,0,0,0,2509,2511,1,0,0,0,2510,2508,1,0,0,0,2511,2512,5,867,0,0,2512,133,1,0,0,0,2513,2514,5,8,0,0,2514,2515,5,173,0,0,2515,2524,3,648,324,0,2516,2521,3,140,70,0,2517,2518,5,868,0,0,2518,2520,3,140,70,0,2519,2517,1,0,0,0,2520,2523,1,0,0,0,2521,2519,1,0,0,0,2521,2522,1,0,0,0,2522,2525,1,0,0,0,2523,2521,1,0,0,0,2524,2516,1,0,0,0,2524,2525,1,0,0,0,2525,2533,1,0,0,0,2526,2530,3,142,71,0,2527,2529,3,142,71,0,2528,2527,1,0,0,0,2529,2532,1,0,0,0,2530,2528,1,0,0,0,2530,2531,1,0,0,0,2531,2534,1,0,0,0,2532,2530,1,0,0,0,2533,2526,1,0,0,0,2533,2534,1,0,0,0,2534,135,1,0,0,0,2535,2537,5,8,0,0,2536,2538,5,180,0,0,2537,2536,1,0,0,0,2537,2538,1,0,0,0,2538,2539,1,0,0,0,2539,2540,5,658,0,0,2540,2541,3,662,331,0,2541,2542,7,34,0,0,2542,2543,5,361,0,0,2543,2549,5,882,0,0,2544,2546,5,428,0,0,2545,2547,5,857,0,0,2546,2545,1,0,0,0,2546,2547,1,0,0,0,2547,2548,1,0,0,0,2548,2550,3,710,355,0,2549,2544,1,0,0,0,2549,2550,1,0,0,0,2550,2552,1,0,0,0,2551,2553,5,687,0,0,2552,2551,1,0,0,0,2552,2553,1,0,0,0,2553,2557,1,0,0,0,2554,2555,5,141,0,0,2555,2556,5,176,0,0,2556,2558,3,660,330,0,2557,2554,1,0,0,0,2557,2558,1,0,0,0,2558,2564,1,0,0,0,2559,2561,5,314,0,0,2560,2562,5,857,0,0,2561,2560,1,0,0,0,2561,2562,1,0,0,0,2562,2563,1,0,0,0,2563,2565,3,710,355,0,2564,2559,1,0,0,0,2564,2565,1,0,0,0,2565,2568,1,0,0,0,2566,2567,5,155,0,0,2567,2569,7,35,0,0,2568,2566,1,0,0,0,2568,2569,1,0,0,0,2569,2575,1,0,0,0,2570,2572,5,376,0,0,2571,2573,5,857,0,0,2572,2571,1,0,0,0,2572,2573,1,0,0,0,2573,2574,1,0,0,0,2574,2576,5,882,0,0,2575,2570,1,0,0,0,2575,2576,1,0,0,0,2576,2582,1,0,0,0,2577,2579,5,380,0,0,2578,2580,5,857,0,0,2579,2578,1,0,0,0,2579,2580,1,0,0,0,2580,2581,1,0,0,0,2581,2583,3,688,344,0,2582,2577,1,0,0,0,2582,2583,1,0,0,0,2583,2589,1,0,0,0,2584,2586,5,825,0,0,2585,2587,5,857,0,0,2586,2585,1,0,0,0,2586,2587,1,0,0,0,2587,2588,1,0,0,0,2588,2590,5,882,0,0,2589,2584,1,0,0,0,2589,2590,1,0,0,0,2590,137,1,0,0,0,2591,2595,5,8,0,0,2592,2593,5,308,0,0,2593,2594,5,857,0,0,2594,2596,7,10,0,0,2595,2592,1,0,0,0,2595,2596,1,0,0,0,2596,2598,1,0,0,0,2597,2599,3,58,29,0,2598,2597,1,0,0,0,2598,2599,1,0,0,0,2599,2603,1,0,0,0,2600,2601,5,162,0,0,2601,2602,5,591,0,0,2602,2604,7,11,0,0,2603,2600,1,0,0,0,2603,2604,1,0,0,0,2604,2605,1,0,0,0,2605,2606,5,684,0,0,2606,2611,3,632,316,0,2607,2608,5,866,0,0,2608,2609,3,656,328,0,2609,2610,5,867,0,0,2610,2612,1,0,0,0,2611,2607,1,0,0,0,2611,2612,1,0,0,0,2612,2613,1,0,0,0,2613,2614,5,13,0,0,2614,2621,3,204,102,0,2615,2617,5,194,0,0,2616,2618,7,12,0,0,2617,2616,1,0,0,0,2617,2618,1,0,0,0,2618,2619,1,0,0,0,2619,2620,5,27,0,0,2620,2622,5,121,0,0,2621,2615,1,0,0,0,2621,2622,1,0,0,0,2622,139,1,0,0,0,2623,2630,3,98,49,0,2624,2626,5,868,0,0,2625,2624,1,0,0,0,2625,2626,1,0,0,0,2626,2627,1,0,0,0,2627,2629,3,98,49,0,2628,2625,1,0,0,0,2629,2632,1,0,0,0,2630,2628,1,0,0,0,2630,2631,1,0,0,0,2631,2888,1,0,0,0,2632,2630,1,0,0,0,2633,2635,5,6,0,0,2634,2636,5,29,0,0,2635,2634,1,0,0,0,2635,2636,1,0,0,0,2636,2637,1,0,0,0,2637,2638,3,658,329,0,2638,2642,3,88,44,0,2639,2643,5,402,0,0,2640,2641,5,306,0,0,2641,2643,3,658,329,0,2642,2639,1,0,0,0,2642,2640,1,0,0,0,2642,2643,1,0,0,0,2643,2888,1,0,0,0,2644,2646,5,6,0,0,2645,2647,5,29,0,0,2646,2645,1,0,0,0,2646,2647,1,0,0,0,2647,2648,1,0,0,0,2648,2649,5,866,0,0,2649,2650,3,658,329,0,2650,2657,3,88,44,0,2651,2652,5,868,0,0,2652,2653,3,658,329,0,2653,2654,3,88,44,0,2654,2656,1,0,0,0,2655,2651,1,0,0,0,2656,2659,1,0,0,0,2657,2655,1,0,0,0,2657,2658,1,0,0,0,2658,2660,1,0,0,0,2659,2657,1,0,0,0,2660,2661,5,867,0,0,2661,2888,1,0,0,0,2662,2663,5,6,0,0,2663,2665,7,18,0,0,2664,2666,3,638,319,0,2665,2664,1,0,0,0,2665,2666,1,0,0,0,2666,2668,1,0,0,0,2667,2669,3,70,35,0,2668,2667,1,0,0,0,2668,2669,1,0,0,0,2669,2670,1,0,0,0,2670,2674,3,734,367,0,2671,2673,3,72,36,0,2672,2671,1,0,0,0,2673,2676,1,0,0,0,2674,2672,1,0,0,0,2674,2675,1,0,0,0,2675,2888,1,0,0,0,2676,2674,1,0,0,0,2677,2678,5,6,0,0,2678,2680,7,19,0,0,2679,2681,7,18,0,0,2680,2679,1,0,0,0,2680,2681,1,0,0,0,2681,2683,1,0,0,0,2682,2684,3,638,319,0,2683,2682,1,0,0,0,2683,2684,1,0,0,0,2684,2685,1,0,0,0,2685,2689,3,734,367,0,2686,2688,3,72,36,0,2687,2686,1,0,0,0,2688,2691,1,0,0,0,2689,2687,1,0,0,0,2689,2690,1,0,0,0,2690,2888,1,0,0,0,2691,2689,1,0,0,0,2692,2697,5,6,0,0,2693,2695,5,31,0,0,2694,2696,3,702,351,0,2695,2694,1,0,0,0,2695,2696,1,0,0,0,2696,2698,1,0,0,0,2697,2693,1,0,0,0,2697,2698,1,0,0,0,2698,2699,1,0,0,0,2699,2700,5,131,0,0,2700,2702,5,92,0,0,2701,2703,3,70,35,0,2702,2701,1,0,0,0,2702,2703,1,0,0,0,2703,2704,1,0,0,0,2704,2708,3,734,367,0,2705,2707,3,72,36,0,2706,2705,1,0,0,0,2707,2710,1,0,0,0,2708,2706,1,0,0,0,2708,2709,1,0,0,0,2709,2888,1,0,0,0,2710,2708,1,0,0,0,2711,2716,5,6,0,0,2712,2714,5,31,0,0,2713,2715,3,702,351,0,2714,2713,1,0,0,0,2714,2715,1,0,0,0,2715,2717,1,0,0,0,2716,2712,1,0,0,0,2716,2717,1,0,0,0,2717,2718,1,0,0,0,2718,2720,5,182,0,0,2719,2721,7,18,0,0,2720,2719,1,0,0,0,2720,2721,1,0,0,0,2721,2723,1,0,0,0,2722,2724,3,638,319,0,2723,2722,1,0,0,0,2723,2724,1,0,0,0,2724,2726,1,0,0,0,2725,2727,3,70,35,0,2726,2725,1,0,0,0,2726,2727,1,0,0,0,2727,2728,1,0,0,0,2728,2732,3,734,367,0,2729,2731,3,72,36,0,2730,2729,1,0,0,0,2731,2734,1,0,0,0,2732,2730,1,0,0,0,2732,2733,1,0,0,0,2733,2888,1,0,0,0,2734,2732,1,0,0,0,2735,2740,5,6,0,0,2736,2738,5,31,0,0,2737,2739,3,702,351,0,2738,2737,1,0,0,0,2738,2739,1,0,0,0,2739,2741,1,0,0,0,2740,2736,1,0,0,0,2740,2741,1,0,0,0,2741,2742,1,0,0,0,2742,2743,5,67,0,0,2743,2745,5,92,0,0,2744,2746,3,638,319,0,2745,2744,1,0,0,0,2745,2746,1,0,0,0,2746,2747,1,0,0,0,2747,2748,3,734,367,0,2748,2749,3,92,46,0,2749,2888,1,0,0,0,2750,2752,5,6,0,0,2751,2753,3,84,42,0,2752,2751,1,0,0,0,2752,2753,1,0,0,0,2753,2888,1,0,0,0,2754,2755,5,51,0,0,2755,2756,7,36,0,0,2756,2888,3,702,351,0,2757,2758,5,8,0,0,2758,2759,7,36,0,0,2759,2761,3,702,351,0,2760,2762,5,114,0,0,2761,2760,1,0,0,0,2761,2762,1,0,0,0,2762,2764,1,0,0,0,2763,2765,5,57,0,0,2764,2763,1,0,0,0,2764,2765,1,0,0,0,2765,2888,1,0,0,0,2766,2768,5,308,0,0,2767,2769,5,857,0,0,2768,2767,1,0,0,0,2768,2769,1,0,0,0,2769,2770,1,0,0,0,2770,2888,7,37,0,0,2771,2773,5,8,0,0,2772,2774,5,29,0,0,2773,2772,1,0,0,0,2773,2774,1,0,0,0,2774,2775,1,0,0,0,2775,2783,3,658,329,0,2776,2777,5,155,0,0,2777,2778,5,42,0,0,2778,2784,3,750,375,0,2779,2780,5,155,0,0,2780,2784,7,16,0,0,2781,2782,5,51,0,0,2782,2784,5,42,0,0,2783,2776,1,0,0,0,2783,2779,1,0,0,0,2783,2781,1,0,0,0,2784,2888,1,0,0,0,2785,2786,5,8,0,0,2786,2787,5,82,0,0,2787,2788,3,638,319,0,2788,2789,7,16,0,0,2789,2888,1,0,0,0,2790,2792,5,25,0,0,2791,2793,5,29,0,0,2792,2791,1,0,0,0,2792,2793,1,0,0,0,2793,2794,1,0,0,0,2794,2795,3,658,329,0,2795,2796,3,654,327,0,2796,2800,3,88,44,0,2797,2801,5,402,0,0,2798,2799,5,306,0,0,2799,2801,3,658,329,0,2800,2797,1,0,0,0,2800,2798,1,0,0,0,2800,2801,1,0,0,0,2801,2888,1,0,0,0,2802,2804,5,42,0,0,2803,2802,1,0,0,0,2803,2804,1,0,0,0,2804,2805,1,0,0,0,2805,2806,5,26,0,0,2806,2807,5,155,0,0,2807,2808,5,857,0,0,2808,2814,3,684,342,0,2809,2811,5,28,0,0,2810,2812,5,857,0,0,2811,2810,1,0,0,0,2811,2812,1,0,0,0,2812,2813,1,0,0,0,2813,2815,3,686,343,0,2814,2809,1,0,0,0,2814,2815,1,0,0,0,2815,2888,1,0,0,0,2816,2817,5,33,0,0,2817,2821,5,176,0,0,2818,2822,5,823,0,0,2819,2820,5,26,0,0,2820,2822,5,155,0,0,2821,2818,1,0,0,0,2821,2819,1,0,0,0,2822,2823,1,0,0,0,2823,2826,3,684,342,0,2824,2825,5,28,0,0,2825,2827,3,686,343,0,2826,2824,1,0,0,0,2826,2827,1,0,0,0,2827,2888,1,0,0,0,2828,2829,7,38,0,0,2829,2888,5,93,0,0,2830,2831,7,39,0,0,2831,2888,5,658,0,0,2832,2834,5,51,0,0,2833,2835,5,29,0,0,2834,2833,1,0,0,0,2834,2835,1,0,0,0,2835,2836,1,0,0,0,2836,2888,3,658,329,0,2837,2838,5,51,0,0,2838,2839,7,18,0,0,2839,2888,3,638,319,0,2840,2841,5,51,0,0,2841,2842,5,131,0,0,2842,2888,5,92,0,0,2843,2844,5,51,0,0,2844,2845,5,67,0,0,2845,2846,5,92,0,0,2846,2888,3,702,351,0,2847,2888,5,66,0,0,2848,2850,5,104,0,0,2849,2851,5,857,0,0,2850,2849,1,0,0,0,2850,2851,1,0,0,0,2851,2852,1,0,0,0,2852,2888,7,4,0,0,2853,2855,5,492,0,0,2854,2856,5,29,0,0,2855,2854,1,0,0,0,2855,2856,1,0,0,0,2856,2857,1,0,0,0,2857,2858,3,658,329,0,2858,2862,3,88,44,0,2859,2863,5,402,0,0,2860,2861,5,306,0,0,2861,2863,3,658,329,0,2862,2859,1,0,0,0,2862,2860,1,0,0,0,2862,2863,1,0,0,0,2863,2888,1,0,0,0,2864,2865,5,125,0,0,2865,2866,5,20,0,0,2866,2888,3,656,328,0,2867,2868,5,141,0,0,2868,2869,5,29,0,0,2869,2870,3,658,329,0,2870,2871,5,176,0,0,2871,2872,3,654,327,0,2872,2888,1,0,0,0,2873,2874,5,141,0,0,2874,2875,7,18,0,0,2875,2876,3,638,319,0,2876,2877,5,176,0,0,2877,2878,3,634,317,0,2878,2888,1,0,0,0,2879,2881,5,141,0,0,2880,2882,7,40,0,0,2881,2880,1,0,0,0,2881,2882,1,0,0,0,2882,2883,1,0,0,0,2883,2888,3,644,322,0,2884,2885,7,41,0,0,2885,2888,5,681,0,0,2886,2888,3,142,71,0,2887,2623,1,0,0,0,2887,2633,1,0,0,0,2887,2644,1,0,0,0,2887,2662,1,0,0,0,2887,2677,1,0,0,0,2887,2692,1,0,0,0,2887,2711,1,0,0,0,2887,2735,1,0,0,0,2887,2750,1,0,0,0,2887,2754,1,0,0,0,2887,2757,1,0,0,0,2887,2766,1,0,0,0,2887,2771,1,0,0,0,2887,2785,1,0,0,0,2887,2790,1,0,0,0,2887,2803,1,0,0,0,2887,2816,1,0,0,0,2887,2828,1,0,0,0,2887,2830,1,0,0,0,2887,2832,1,0,0,0,2887,2837,1,0,0,0,2887,2840,1,0,0,0,2887,2843,1,0,0,0,2887,2847,1,0,0,0,2887,2848,1,0,0,0,2887,2853,1,0,0,0,2887,2864,1,0,0,0,2887,2867,1,0,0,0,2887,2873,1,0,0,0,2887,2879,1,0,0,0,2887,2884,1,0,0,0,2887,2886,1,0,0,0,2888,141,1,0,0,0,2889,2890,5,6,0,0,2890,2891,5,130,0,0,2891,2892,5,866,0,0,2892,2897,3,110,55,0,2893,2894,5,868,0,0,2894,2896,3,110,55,0,2895,2893,1,0,0,0,2896,2899,1,0,0,0,2897,2895,1,0,0,0,2897,2898,1,0,0,0,2898,2900,1,0,0,0,2899,2897,1,0,0,0,2900,2901,5,867,0,0,2901,2988,1,0,0,0,2902,2903,5,51,0,0,2903,2904,5,130,0,0,2904,2988,3,666,333,0,2905,2906,5,369,0,0,2906,2909,5,130,0,0,2907,2910,3,666,333,0,2908,2910,5,7,0,0,2909,2907,1,0,0,0,2909,2908,1,0,0,0,2910,2911,1,0,0,0,2911,2988,5,658,0,0,2912,2913,5,425,0,0,2913,2916,5,130,0,0,2914,2917,3,666,333,0,2915,2917,5,7,0,0,2916,2914,1,0,0,0,2916,2915,1,0,0,0,2917,2918,1,0,0,0,2918,2988,5,658,0,0,2919,2920,5,668,0,0,2920,2923,5,130,0,0,2921,2924,3,666,333,0,2922,2924,5,7,0,0,2923,2921,1,0,0,0,2923,2922,1,0,0,0,2924,2988,1,0,0,0,2925,2926,5,335,0,0,2926,2927,5,130,0,0,2927,2988,3,708,354,0,2928,2929,5,561,0,0,2929,2930,5,130,0,0,2930,2931,3,666,333,0,2931,2932,5,88,0,0,2932,2933,5,866,0,0,2933,2938,3,110,55,0,2934,2935,5,868,0,0,2935,2937,3,110,55,0,2936,2934,1,0,0,0,2937,2940,1,0,0,0,2938,2936,1,0,0,0,2938,2939,1,0,0,0,2939,2941,1,0,0,0,2940,2938,1,0,0,0,2941,2942,5,867,0,0,2942,2988,1,0,0,0,2943,2944,5,388,0,0,2944,2945,5,130,0,0,2945,2946,3,668,334,0,2946,2947,5,194,0,0,2947,2948,5,173,0,0,2948,2951,3,648,324,0,2949,2950,7,41,0,0,2950,2952,5,681,0,0,2951,2949,1,0,0,0,2951,2952,1,0,0,0,2952,2988,1,0,0,0,2953,2954,5,10,0,0,2954,2957,5,130,0,0,2955,2958,3,666,333,0,2956,2958,5,7,0,0,2957,2955,1,0,0,0,2957,2956,1,0,0,0,2958,2988,1,0,0,0,2959,2960,5,27,0,0,2960,2963,5,130,0,0,2961,2964,3,666,333,0,2962,2964,5,7,0,0,2963,2961,1,0,0,0,2963,2962,1,0,0,0,2964,2988,1,0,0,0,2965,2966,5,120,0,0,2966,2969,5,130,0,0,2967,2970,3,666,333,0,2968,2970,5,7,0,0,2969,2967,1,0,0,0,2969,2968,1,0,0,0,2970,2988,1,0,0,0,2971,2972,5,550,0,0,2972,2975,5,130,0,0,2973,2976,3,666,333,0,2974,2976,5,7,0,0,2975,2973,1,0,0,0,2975,2974,1,0,0,0,2976,2988,1,0,0,0,2977,2978,5,562,0,0,2978,2981,5,130,0,0,2979,2982,3,666,333,0,2980,2982,5,7,0,0,2981,2979,1,0,0,0,2981,2980,1,0,0,0,2982,2988,1,0,0,0,2983,2984,5,560,0,0,2984,2988,5,527,0,0,2985,2986,5,677,0,0,2986,2988,5,527,0,0,2987,2889,1,0,0,0,2987,2902,1,0,0,0,2987,2905,1,0,0,0,2987,2912,1,0,0,0,2987,2919,1,0,0,0,2987,2925,1,0,0,0,2987,2928,1,0,0,0,2987,2943,1,0,0,0,2987,2953,1,0,0,0,2987,2959,1,0,0,0,2987,2965,1,0,0,0,2987,2971,1,0,0,0,2987,2977,1,0,0,0,2987,2983,1,0,0,0,2987,2985,1,0,0,0,2988,143,1,0,0,0,2989,2990,5,51,0,0,2990,2992,7,0,0,0,2991,2993,3,754,377,0,2992,2991,1,0,0,0,2992,2993,1,0,0,0,2993,2994,1,0,0,0,2994,2995,3,624,312,0,2995,145,1,0,0,0,2996,2997,5,51,0,0,2997,2999,5,385,0,0,2998,3e3,3,754,377,0,2999,2998,1,0,0,0,2999,3e3,1,0,0,0,3e3,3001,1,0,0,0,3001,3002,3,698,349,0,3002,147,1,0,0,0,3003,3004,5,51,0,0,3004,3006,5,82,0,0,3005,3007,7,1,0,0,3006,3005,1,0,0,0,3006,3007,1,0,0,0,3007,3008,1,0,0,0,3008,3009,3,638,319,0,3009,3010,5,119,0,0,3010,3023,3,648,324,0,3011,3013,5,308,0,0,3012,3014,5,857,0,0,3013,3012,1,0,0,0,3013,3014,1,0,0,0,3014,3015,1,0,0,0,3015,3022,7,3,0,0,3016,3018,5,104,0,0,3017,3019,5,857,0,0,3018,3017,1,0,0,0,3018,3019,1,0,0,0,3019,3020,1,0,0,0,3020,3022,7,4,0,0,3021,3011,1,0,0,0,3021,3016,1,0,0,0,3022,3025,1,0,0,0,3023,3021,1,0,0,0,3023,3024,1,0,0,0,3024,149,1,0,0,0,3025,3023,1,0,0,0,3026,3027,5,51,0,0,3027,3028,5,451,0,0,3028,3029,5,74,0,0,3029,3030,3,702,351,0,3030,3032,5,380,0,0,3031,3033,5,857,0,0,3032,3031,1,0,0,0,3032,3033,1,0,0,0,3033,3034,1,0,0,0,3034,3035,3,688,344,0,3035,151,1,0,0,0,3036,3037,5,51,0,0,3037,3039,5,132,0,0,3038,3040,3,754,377,0,3039,3038,1,0,0,0,3039,3040,1,0,0,0,3040,3041,1,0,0,0,3041,3042,3,698,349,0,3042,153,1,0,0,0,3043,3044,5,51,0,0,3044,3046,5,409,0,0,3045,3047,3,754,377,0,3046,3045,1,0,0,0,3046,3047,1,0,0,0,3047,3048,1,0,0,0,3048,3049,3,628,314,0,3049,155,1,0,0,0,3050,3051,5,51,0,0,3051,3053,5,592,0,0,3052,3054,3,754,377,0,3053,3052,1,0,0,0,3053,3054,1,0,0,0,3054,3055,1,0,0,0,3055,3056,3,702,351,0,3056,157,1,0,0,0,3057,3058,5,51,0,0,3058,3059,5,161,0,0,3059,3060,5,137,0,0,3060,3062,5,835,0,0,3061,3063,3,754,377,0,3062,3061,1,0,0,0,3062,3063,1,0,0,0,3063,3064,1,0,0,0,3064,3065,5,883,0,0,3065,159,1,0,0,0,3066,3068,5,51,0,0,3067,3069,5,660,0,0,3068,3067,1,0,0,0,3068,3069,1,0,0,0,3069,3070,1,0,0,0,3070,3072,5,173,0,0,3071,3073,3,754,377,0,3072,3071,1,0,0,0,3072,3073,1,0,0,0,3073,3074,1,0,0,0,3074,3076,3,646,323,0,3075,3077,7,42,0,0,3076,3075,1,0,0,0,3076,3077,1,0,0,0,3077,161,1,0,0,0,3078,3080,5,51,0,0,3079,3081,5,180,0,0,3080,3079,1,0,0,0,3080,3081,1,0,0,0,3081,3082,1,0,0,0,3082,3083,5,658,0,0,3083,3089,3,662,331,0,3084,3086,5,380,0,0,3085,3087,5,857,0,0,3086,3085,1,0,0,0,3086,3087,1,0,0,0,3087,3088,1,0,0,0,3088,3090,3,688,344,0,3089,3084,1,0,0,0,3089,3090,1,0,0,0,3090,163,1,0,0,0,3091,3092,5,51,0,0,3092,3094,5,178,0,0,3093,3095,3,754,377,0,3094,3093,1,0,0,0,3094,3095,1,0,0,0,3095,3096,1,0,0,0,3096,3097,3,698,349,0,3097,165,1,0,0,0,3098,3099,5,51,0,0,3099,3101,5,684,0,0,3100,3102,3,754,377,0,3101,3100,1,0,0,0,3101,3102,1,0,0,0,3102,3103,1,0,0,0,3103,3108,3,632,316,0,3104,3105,5,868,0,0,3105,3107,3,632,316,0,3106,3104,1,0,0,0,3107,3110,1,0,0,0,3108,3106,1,0,0,0,3108,3109,1,0,0,0,3109,3112,1,0,0,0,3110,3108,1,0,0,0,3111,3113,7,42,0,0,3112,3111,1,0,0,0,3112,3113,1,0,0,0,3113,167,1,0,0,0,3114,3115,5,51,0,0,3115,3117,5,582,0,0,3116,3118,3,754,377,0,3117,3116,1,0,0,0,3117,3118,1,0,0,0,3118,3119,1,0,0,0,3119,3120,3,650,325,0,3120,169,1,0,0,0,3121,3122,5,155,0,0,3122,3123,5,42,0,0,3123,3127,5,582,0,0,3124,3128,5,505,0,0,3125,3128,5,7,0,0,3126,3128,3,650,325,0,3127,3124,1,0,0,0,3127,3125,1,0,0,0,3127,3126,1,0,0,0,3128,3129,1,0,0,0,3129,3130,5,176,0,0,3130,3135,3,652,326,0,3131,3132,5,868,0,0,3132,3134,3,652,326,0,3133,3131,1,0,0,0,3134,3137,1,0,0,0,3135,3133,1,0,0,0,3135,3136,1,0,0,0,3136,3142,1,0,0,0,3137,3135,1,0,0,0,3138,3139,5,155,0,0,3139,3140,5,582,0,0,3140,3142,3,462,231,0,3141,3121,1,0,0,0,3141,3138,1,0,0,0,3142,171,1,0,0,0,3143,3144,5,141,0,0,3144,3145,5,173,0,0,3145,3150,3,174,87,0,3146,3147,5,868,0,0,3147,3149,3,174,87,0,3148,3146,1,0,0,0,3149,3152,1,0,0,0,3150,3148,1,0,0,0,3150,3151,1,0,0,0,3151,173,1,0,0,0,3152,3150,1,0,0,0,3153,3154,3,648,324,0,3154,3155,5,176,0,0,3155,3156,3,644,322,0,3156,175,1,0,0,0,3157,3159,5,668,0,0,3158,3160,5,173,0,0,3159,3158,1,0,0,0,3159,3160,1,0,0,0,3160,3161,1,0,0,0,3161,3162,3,648,324,0,3162,177,1,0,0,0,3163,3164,5,21,0,0,3164,3171,3,698,349,0,3165,3168,5,866,0,0,3166,3169,3,744,372,0,3167,3169,3,736,368,0,3168,3166,1,0,0,0,3168,3167,1,0,0,0,3168,3169,1,0,0,0,3169,3170,1,0,0,0,3170,3172,5,867,0,0,3171,3165,1,0,0,0,3171,3172,1,0,0,0,3172,179,1,0,0,0,3173,3176,3,234,117,0,3174,3176,3,236,118,0,3175,3173,1,0,0,0,3175,3174,1,0,0,0,3176,181,1,0,0,0,3177,3178,5,371,0,0,3178,3179,3,736,368,0,3179,183,1,0,0,0,3180,3185,3,238,119,0,3181,3185,3,240,120,0,3182,3185,3,242,121,0,3183,3185,3,244,122,0,3184,3180,1,0,0,0,3184,3181,1,0,0,0,3184,3182,1,0,0,0,3184,3183,1,0,0,0,3185,185,1,0,0,0,3186,3188,5,86,0,0,3187,3189,7,43,0,0,3188,3187,1,0,0,0,3188,3189,1,0,0,0,3189,3191,1,0,0,0,3190,3192,5,79,0,0,3191,3190,1,0,0,0,3191,3192,1,0,0,0,3192,3194,1,0,0,0,3193,3195,5,88,0,0,3194,3193,1,0,0,0,3194,3195,1,0,0,0,3195,3196,1,0,0,0,3196,3203,3,648,324,0,3197,3198,5,130,0,0,3198,3200,5,866,0,0,3199,3201,3,666,333,0,3200,3199,1,0,0,0,3200,3201,1,0,0,0,3201,3202,1,0,0,0,3202,3204,5,867,0,0,3203,3197,1,0,0,0,3203,3204,1,0,0,0,3204,3216,1,0,0,0,3205,3207,3,262,131,0,3206,3205,1,0,0,0,3206,3207,1,0,0,0,3207,3210,1,0,0,0,3208,3211,3,738,369,0,3209,3211,3,190,95,0,3210,3208,1,0,0,0,3210,3209,1,0,0,0,3210,3211,1,0,0,0,3211,3213,1,0,0,0,3212,3214,3,188,94,0,3213,3212,1,0,0,0,3213,3214,1,0,0,0,3214,3217,1,0,0,0,3215,3217,3,226,113,0,3216,3206,1,0,0,0,3216,3215,1,0,0,0,3217,3219,1,0,0,0,3218,3220,3,188,94,0,3219,3218,1,0,0,0,3219,3220,1,0,0,0,3220,3233,1,0,0,0,3221,3222,5,119,0,0,3222,3223,5,373,0,0,3223,3224,5,92,0,0,3224,3225,5,185,0,0,3225,3230,3,228,114,0,3226,3227,5,868,0,0,3227,3229,3,228,114,0,3228,3226,1,0,0,0,3229,3232,1,0,0,0,3230,3228,1,0,0,0,3230,3231,1,0,0,0,3231,3234,1,0,0,0,3232,3230,1,0,0,0,3233,3221,1,0,0,0,3233,3234,1,0,0,0,3234,187,1,0,0,0,3235,3236,5,13,0,0,3236,3238,3,702,351,0,3237,3239,3,262,131,0,3238,3237,1,0,0,0,3238,3239,1,0,0,0,3239,189,1,0,0,0,3240,3245,3,204,102,0,3241,3242,5,173,0,0,3242,3245,3,648,324,0,3243,3245,3,224,112,0,3244,3240,1,0,0,0,3244,3241,1,0,0,0,3244,3243,1,0,0,0,3245,191,1,0,0,0,3246,3252,3,194,97,0,3247,3249,5,828,0,0,3248,3250,7,44,0,0,3249,3248,1,0,0,0,3249,3250,1,0,0,0,3250,3251,1,0,0,0,3251,3253,3,194,97,0,3252,3247,1,0,0,0,3253,3254,1,0,0,0,3254,3252,1,0,0,0,3254,3255,1,0,0,0,3255,193,1,0,0,0,3256,3258,5,866,0,0,3257,3256,1,0,0,0,3257,3258,1,0,0,0,3258,3259,1,0,0,0,3259,3261,3,274,137,0,3260,3262,5,867,0,0,3261,3260,1,0,0,0,3261,3262,1,0,0,0,3262,195,1,0,0,0,3263,3264,5,103,0,0,3264,3266,5,360,0,0,3265,3267,7,45,0,0,3266,3265,1,0,0,0,3266,3267,1,0,0,0,3267,3269,1,0,0,0,3268,3270,5,450,0,0,3269,3268,1,0,0,0,3269,3270,1,0,0,0,3270,3271,1,0,0,0,3271,3272,5,83,0,0,3272,3274,5,882,0,0,3273,3275,7,6,0,0,3274,3273,1,0,0,0,3274,3275,1,0,0,0,3275,3276,1,0,0,0,3276,3277,5,88,0,0,3277,3278,5,173,0,0,3278,3284,3,648,324,0,3279,3280,5,130,0,0,3280,3281,5,866,0,0,3281,3282,3,666,333,0,3282,3283,5,867,0,0,3283,3285,1,0,0,0,3284,3279,1,0,0,0,3284,3285,1,0,0,0,3285,3289,1,0,0,0,3286,3287,5,26,0,0,3287,3288,5,155,0,0,3288,3290,3,684,342,0,3289,3286,1,0,0,0,3289,3290,1,0,0,0,3290,3297,1,0,0,0,3291,3293,7,46,0,0,3292,3294,3,298,149,0,3293,3292,1,0,0,0,3294,3295,1,0,0,0,3295,3293,1,0,0,0,3295,3296,1,0,0,0,3296,3298,1,0,0,0,3297,3291,1,0,0,0,3297,3298,1,0,0,0,3298,3305,1,0,0,0,3299,3301,5,102,0,0,3300,3302,3,300,150,0,3301,3300,1,0,0,0,3302,3303,1,0,0,0,3303,3301,1,0,0,0,3303,3304,1,0,0,0,3304,3306,1,0,0,0,3305,3299,1,0,0,0,3305,3306,1,0,0,0,3306,3311,1,0,0,0,3307,3308,5,79,0,0,3308,3309,3,708,354,0,3309,3310,7,47,0,0,3310,3312,1,0,0,0,3311,3307,1,0,0,0,3311,3312,1,0,0,0,3312,3324,1,0,0,0,3313,3314,5,866,0,0,3314,3319,3,230,115,0,3315,3316,5,868,0,0,3316,3318,3,230,115,0,3317,3315,1,0,0,0,3318,3321,1,0,0,0,3319,3317,1,0,0,0,3319,3320,1,0,0,0,3320,3322,1,0,0,0,3321,3319,1,0,0,0,3322,3323,5,867,0,0,3323,3325,1,0,0,0,3324,3313,1,0,0,0,3324,3325,1,0,0,0,3325,3335,1,0,0,0,3326,3327,5,155,0,0,3327,3332,3,228,114,0,3328,3329,5,868,0,0,3329,3331,3,228,114,0,3330,3328,1,0,0,0,3331,3334,1,0,0,0,3332,3330,1,0,0,0,3332,3333,1,0,0,0,3333,3336,1,0,0,0,3334,3332,1,0,0,0,3335,3326,1,0,0,0,3335,3336,1,0,0,0,3336,197,1,0,0,0,3337,3338,5,103,0,0,3338,3340,5,695,0,0,3339,3341,7,45,0,0,3340,3339,1,0,0,0,3340,3341,1,0,0,0,3341,3343,1,0,0,0,3342,3344,5,450,0,0,3343,3342,1,0,0,0,3343,3344,1,0,0,0,3344,3345,1,0,0,0,3345,3346,5,83,0,0,3346,3348,5,882,0,0,3347,3349,7,6,0,0,3348,3347,1,0,0,0,3348,3349,1,0,0,0,3349,3350,1,0,0,0,3350,3351,5,88,0,0,3351,3352,5,173,0,0,3352,3356,3,648,324,0,3353,3354,5,26,0,0,3354,3355,5,155,0,0,3355,3357,3,684,342,0,3356,3353,1,0,0,0,3356,3357,1,0,0,0,3357,3368,1,0,0,0,3358,3359,5,587,0,0,3359,3360,5,423,0,0,3360,3362,5,20,0,0,3361,3363,5,859,0,0,3362,3361,1,0,0,0,3362,3363,1,0,0,0,3363,3364,1,0,0,0,3364,3366,5,882,0,0,3365,3367,5,858,0,0,3366,3365,1,0,0,0,3366,3367,1,0,0,0,3367,3369,1,0,0,0,3368,3358,1,0,0,0,3368,3369,1,0,0,0,3369,3374,1,0,0,0,3370,3371,5,79,0,0,3371,3372,3,708,354,0,3372,3373,7,47,0,0,3373,3375,1,0,0,0,3374,3370,1,0,0,0,3374,3375,1,0,0,0,3375,3387,1,0,0,0,3376,3377,5,866,0,0,3377,3382,3,230,115,0,3378,3379,5,868,0,0,3379,3381,3,230,115,0,3380,3378,1,0,0,0,3381,3384,1,0,0,0,3382,3380,1,0,0,0,3382,3383,1,0,0,0,3383,3385,1,0,0,0,3384,3382,1,0,0,0,3385,3386,5,867,0,0,3386,3388,1,0,0,0,3387,3376,1,0,0,0,3387,3388,1,0,0,0,3388,3398,1,0,0,0,3389,3390,5,155,0,0,3390,3395,3,228,114,0,3391,3392,5,868,0,0,3392,3394,3,228,114,0,3393,3391,1,0,0,0,3394,3397,1,0,0,0,3395,3393,1,0,0,0,3395,3396,1,0,0,0,3396,3399,1,0,0,0,3397,3395,1,0,0,0,3398,3389,1,0,0,0,3398,3399,1,0,0,0,3399,199,1,0,0,0,3400,3401,5,866,0,0,3401,3403,3,218,109,0,3402,3404,3,252,126,0,3403,3402,1,0,0,0,3403,3404,1,0,0,0,3404,3406,1,0,0,0,3405,3407,3,312,156,0,3406,3405,1,0,0,0,3406,3407,1,0,0,0,3407,3408,1,0,0,0,3408,3410,5,867,0,0,3409,3411,3,252,126,0,3410,3409,1,0,0,0,3410,3411,1,0,0,0,3411,3413,1,0,0,0,3412,3414,3,312,156,0,3413,3412,1,0,0,0,3413,3414,1,0,0,0,3414,3416,1,0,0,0,3415,3417,3,296,148,0,3416,3415,1,0,0,0,3416,3417,1,0,0,0,3417,201,1,0,0,0,3418,3420,5,143,0,0,3419,3421,7,48,0,0,3420,3419,1,0,0,0,3420,3421,1,0,0,0,3421,3423,1,0,0,0,3422,3424,5,88,0,0,3423,3422,1,0,0,0,3423,3424,1,0,0,0,3424,3425,1,0,0,0,3425,3431,3,648,324,0,3426,3427,5,130,0,0,3427,3428,5,866,0,0,3428,3429,3,666,333,0,3429,3430,5,867,0,0,3430,3432,1,0,0,0,3431,3426,1,0,0,0,3431,3432,1,0,0,0,3432,3441,1,0,0,0,3433,3434,5,866,0,0,3434,3435,3,656,328,0,3435,3436,5,867,0,0,3436,3438,1,0,0,0,3437,3433,1,0,0,0,3437,3438,1,0,0,0,3438,3439,1,0,0,0,3439,3442,3,222,111,0,3440,3442,3,226,113,0,3441,3437,1,0,0,0,3441,3440,1,0,0,0,3442,203,1,0,0,0,3443,3447,3,274,137,0,3444,3446,3,276,138,0,3445,3444,1,0,0,0,3446,3449,1,0,0,0,3447,3445,1,0,0,0,3447,3448,1,0,0,0,3448,3458,1,0,0,0,3449,3447,1,0,0,0,3450,3452,5,181,0,0,3451,3453,7,44,0,0,3452,3451,1,0,0,0,3452,3453,1,0,0,0,3453,3456,1,0,0,0,3454,3457,3,274,137,0,3455,3457,3,272,136,0,3456,3454,1,0,0,0,3456,3455,1,0,0,0,3457,3459,1,0,0,0,3458,3450,1,0,0,0,3458,3459,1,0,0,0,3459,3464,1,0,0,0,3460,3461,5,868,0,0,3461,3463,3,278,139,0,3462,3460,1,0,0,0,3463,3466,1,0,0,0,3464,3462,1,0,0,0,3464,3465,1,0,0,0,3465,3468,1,0,0,0,3466,3464,1,0,0,0,3467,3469,3,252,126,0,3468,3467,1,0,0,0,3468,3469,1,0,0,0,3469,3471,1,0,0,0,3470,3472,3,312,156,0,3471,3470,1,0,0,0,3471,3472,1,0,0,0,3472,3474,1,0,0,0,3473,3475,3,232,116,0,3474,3473,1,0,0,0,3474,3475,1,0,0,0,3475,3477,1,0,0,0,3476,3478,3,296,148,0,3477,3476,1,0,0,0,3477,3478,1,0,0,0,3478,3503,1,0,0,0,3479,3483,3,272,136,0,3480,3482,3,276,138,0,3481,3480,1,0,0,0,3482,3485,1,0,0,0,3483,3481,1,0,0,0,3483,3484,1,0,0,0,3484,3491,1,0,0,0,3485,3483,1,0,0,0,3486,3488,5,181,0,0,3487,3489,7,44,0,0,3488,3487,1,0,0,0,3488,3489,1,0,0,0,3489,3490,1,0,0,0,3490,3492,3,272,136,0,3491,3486,1,0,0,0,3491,3492,1,0,0,0,3492,3494,1,0,0,0,3493,3495,3,252,126,0,3494,3493,1,0,0,0,3494,3495,1,0,0,0,3495,3497,1,0,0,0,3496,3498,3,312,156,0,3497,3496,1,0,0,0,3497,3498,1,0,0,0,3498,3500,1,0,0,0,3499,3501,3,232,116,0,3500,3499,1,0,0,0,3500,3501,1,0,0,0,3501,3503,1,0,0,0,3502,3443,1,0,0,0,3502,3479,1,0,0,0,3503,205,1,0,0,0,3504,3506,3,46,23,0,3505,3504,1,0,0,0,3505,3506,1,0,0,0,3506,3507,1,0,0,0,3507,3509,3,208,104,0,3508,3510,3,252,126,0,3509,3508,1,0,0,0,3509,3510,1,0,0,0,3510,3512,1,0,0,0,3511,3513,3,312,156,0,3512,3511,1,0,0,0,3512,3513,1,0,0,0,3513,3515,1,0,0,0,3514,3516,3,296,148,0,3515,3514,1,0,0,0,3515,3516,1,0,0,0,3516,207,1,0,0,0,3517,3518,6,104,-1,0,3518,3519,3,210,105,0,3519,3534,1,0,0,0,3520,3521,10,2,0,0,3521,3523,5,181,0,0,3522,3524,7,44,0,0,3523,3522,1,0,0,0,3523,3524,1,0,0,0,3524,3525,1,0,0,0,3525,3533,3,210,105,0,3526,3527,10,1,0,0,3527,3529,5,59,0,0,3528,3530,7,44,0,0,3529,3528,1,0,0,0,3529,3530,1,0,0,0,3530,3531,1,0,0,0,3531,3533,3,210,105,0,3532,3520,1,0,0,0,3532,3526,1,0,0,0,3533,3536,1,0,0,0,3534,3532,1,0,0,0,3534,3535,1,0,0,0,3535,209,1,0,0,0,3536,3534,1,0,0,0,3537,3538,6,105,-1,0,3538,3539,3,212,106,0,3539,3548,1,0,0,0,3540,3541,10,1,0,0,3541,3543,5,828,0,0,3542,3544,7,44,0,0,3543,3542,1,0,0,0,3543,3544,1,0,0,0,3544,3545,1,0,0,0,3545,3547,3,212,106,0,3546,3540,1,0,0,0,3547,3550,1,0,0,0,3548,3546,1,0,0,0,3548,3549,1,0,0,0,3549,211,1,0,0,0,3550,3548,1,0,0,0,3551,3566,3,220,110,0,3552,3553,5,866,0,0,3553,3555,3,208,104,0,3554,3556,3,252,126,0,3555,3554,1,0,0,0,3555,3556,1,0,0,0,3556,3558,1,0,0,0,3557,3559,3,312,156,0,3558,3557,1,0,0,0,3558,3559,1,0,0,0,3559,3561,1,0,0,0,3560,3562,3,296,148,0,3561,3560,1,0,0,0,3561,3562,1,0,0,0,3562,3563,1,0,0,0,3563,3564,5,867,0,0,3564,3566,1,0,0,0,3565,3551,1,0,0,0,3565,3552,1,0,0,0,3566,213,1,0,0,0,3567,3570,3,248,124,0,3568,3570,3,250,125,0,3569,3567,1,0,0,0,3569,3568,1,0,0,0,3570,215,1,0,0,0,3571,3575,3,224,112,0,3572,3573,5,125,0,0,3573,3574,5,20,0,0,3574,3576,3,670,335,0,3575,3572,1,0,0,0,3575,3576,1,0,0,0,3576,3579,1,0,0,0,3577,3578,5,100,0,0,3578,3580,3,314,157,0,3579,3577,1,0,0,0,3579,3580,1,0,0,0,3580,217,1,0,0,0,3581,3586,3,220,110,0,3582,3583,7,49,0,0,3583,3585,3,220,110,0,3584,3582,1,0,0,0,3585,3588,1,0,0,0,3586,3584,1,0,0,0,3586,3587,1,0,0,0,3587,3590,1,0,0,0,3588,3586,1,0,0,0,3589,3591,3,252,126,0,3590,3589,1,0,0,0,3590,3591,1,0,0,0,3591,3593,1,0,0,0,3592,3594,3,312,156,0,3593,3592,1,0,0,0,3593,3594,1,0,0,0,3594,3596,1,0,0,0,3595,3597,3,296,148,0,3596,3595,1,0,0,0,3596,3597,1,0,0,0,3597,219,1,0,0,0,3598,3602,3,204,102,0,3599,3602,3,614,307,0,3600,3602,3,216,108,0,3601,3598,1,0,0,0,3601,3599,1,0,0,0,3601,3600,1,0,0,0,3602,221,1,0,0,0,3603,3609,3,204,102,0,3604,3605,5,173,0,0,3605,3609,3,648,324,0,3606,3609,3,738,369,0,3607,3609,3,224,112,0,3608,3603,1,0,0,0,3608,3604,1,0,0,0,3608,3606,1,0,0,0,3608,3607,1,0,0,0,3609,223,1,0,0,0,3610,3611,5,189,0,0,3611,3612,5,586,0,0,3612,3618,3,740,370,0,3613,3614,5,868,0,0,3614,3615,5,586,0,0,3615,3617,3,740,370,0,3616,3613,1,0,0,0,3617,3620,1,0,0,0,3618,3616,1,0,0,0,3618,3619,1,0,0,0,3619,225,1,0,0,0,3620,3618,1,0,0,0,3621,3622,5,155,0,0,3622,3627,3,228,114,0,3623,3624,5,868,0,0,3624,3626,3,228,114,0,3625,3623,1,0,0,0,3626,3629,1,0,0,0,3627,3625,1,0,0,0,3627,3628,1,0,0,0,3628,227,1,0,0,0,3629,3627,1,0,0,0,3630,3631,3,658,329,0,3631,3632,5,857,0,0,3632,3633,3,742,371,0,3633,229,1,0,0,0,3634,3637,3,702,351,0,3635,3637,5,892,0,0,3636,3634,1,0,0,0,3636,3635,1,0,0,0,3637,231,1,0,0,0,3638,3639,5,65,0,0,3639,3649,7,50,0,0,3640,3641,5,510,0,0,3641,3646,3,648,324,0,3642,3643,5,868,0,0,3643,3645,3,648,324,0,3644,3642,1,0,0,0,3645,3648,1,0,0,0,3646,3644,1,0,0,0,3646,3647,1,0,0,0,3647,3650,1,0,0,0,3648,3646,1,0,0,0,3649,3640,1,0,0,0,3649,3650,1,0,0,0,3650,3653,1,0,0,0,3651,3652,7,51,0,0,3652,3654,5,105,0,0,3653,3651,1,0,0,0,3653,3654,1,0,0,0,3654,3660,1,0,0,0,3655,3656,5,104,0,0,3656,3657,5,80,0,0,3657,3658,5,594,0,0,3658,3660,5,491,0,0,3659,3638,1,0,0,0,3659,3655,1,0,0,0,3660,233,1,0,0,0,3661,3663,5,44,0,0,3662,3664,5,107,0,0,3663,3662,1,0,0,0,3663,3664,1,0,0,0,3664,3666,1,0,0,0,3665,3667,5,549,0,0,3666,3665,1,0,0,0,3666,3667,1,0,0,0,3667,3669,1,0,0,0,3668,3670,5,79,0,0,3669,3668,1,0,0,0,3669,3670,1,0,0,0,3670,3671,1,0,0,0,3671,3672,5,68,0,0,3672,3677,3,648,324,0,3673,3675,5,13,0,0,3674,3673,1,0,0,0,3674,3675,1,0,0,0,3675,3676,1,0,0,0,3676,3678,3,702,351,0,3677,3674,1,0,0,0,3677,3678,1,0,0,0,3678,3684,1,0,0,0,3679,3680,5,130,0,0,3680,3681,5,866,0,0,3681,3682,3,666,333,0,3682,3683,5,867,0,0,3683,3685,1,0,0,0,3684,3679,1,0,0,0,3684,3685,1,0,0,0,3685,3688,1,0,0,0,3686,3687,5,192,0,0,3687,3689,3,800,400,0,3688,3686,1,0,0,0,3688,3689,1,0,0,0,3689,3691,1,0,0,0,3690,3692,3,252,126,0,3691,3690,1,0,0,0,3691,3692,1,0,0,0,3692,3695,1,0,0,0,3693,3694,5,100,0,0,3694,3696,3,314,157,0,3695,3693,1,0,0,0,3695,3696,1,0,0,0,3696,235,1,0,0,0,3697,3699,5,44,0,0,3698,3700,5,107,0,0,3699,3698,1,0,0,0,3699,3700,1,0,0,0,3700,3702,1,0,0,0,3701,3703,5,549,0,0,3702,3701,1,0,0,0,3702,3703,1,0,0,0,3703,3705,1,0,0,0,3704,3706,5,79,0,0,3705,3704,1,0,0,0,3705,3706,1,0,0,0,3706,3746,1,0,0,0,3707,3710,3,648,324,0,3708,3709,5,865,0,0,3709,3711,5,850,0,0,3710,3708,1,0,0,0,3710,3711,1,0,0,0,3711,3720,1,0,0,0,3712,3713,5,868,0,0,3713,3716,3,648,324,0,3714,3715,5,865,0,0,3715,3717,5,850,0,0,3716,3714,1,0,0,0,3716,3717,1,0,0,0,3717,3719,1,0,0,0,3718,3712,1,0,0,0,3719,3722,1,0,0,0,3720,3718,1,0,0,0,3720,3721,1,0,0,0,3721,3723,1,0,0,0,3722,3720,1,0,0,0,3723,3724,5,68,0,0,3724,3725,3,256,128,0,3725,3747,1,0,0,0,3726,3727,5,68,0,0,3727,3730,3,648,324,0,3728,3729,5,865,0,0,3729,3731,5,850,0,0,3730,3728,1,0,0,0,3730,3731,1,0,0,0,3731,3740,1,0,0,0,3732,3733,5,868,0,0,3733,3736,3,648,324,0,3734,3735,5,865,0,0,3735,3737,5,850,0,0,3736,3734,1,0,0,0,3736,3737,1,0,0,0,3737,3739,1,0,0,0,3738,3732,1,0,0,0,3739,3742,1,0,0,0,3740,3738,1,0,0,0,3740,3741,1,0,0,0,3741,3743,1,0,0,0,3742,3740,1,0,0,0,3743,3744,5,188,0,0,3744,3745,3,256,128,0,3745,3747,1,0,0,0,3746,3707,1,0,0,0,3746,3726,1,0,0,0,3747,3750,1,0,0,0,3748,3749,5,192,0,0,3749,3751,3,800,400,0,3750,3748,1,0,0,0,3750,3751,1,0,0,0,3751,237,1,0,0,0,3752,3753,5,417,0,0,3753,3754,3,648,324,0,3754,3759,5,516,0,0,3755,3757,5,13,0,0,3756,3755,1,0,0,0,3756,3757,1,0,0,0,3757,3758,1,0,0,0,3758,3760,3,702,351,0,3759,3756,1,0,0,0,3759,3760,1,0,0,0,3760,239,1,0,0,0,3761,3762,5,417,0,0,3762,3763,3,648,324,0,3763,3764,5,135,0,0,3764,3771,3,638,319,0,3765,3766,3,810,405,0,3766,3767,5,866,0,0,3767,3768,3,744,372,0,3768,3769,5,867,0,0,3769,3772,1,0,0,0,3770,3772,7,52,0,0,3771,3765,1,0,0,0,3771,3770,1,0,0,0,3772,3775,1,0,0,0,3773,3774,5,192,0,0,3774,3776,3,800,400,0,3775,3773,1,0,0,0,3775,3776,1,0,0,0,3776,3779,1,0,0,0,3777,3778,5,100,0,0,3778,3780,3,314,157,0,3779,3777,1,0,0,0,3779,3780,1,0,0,0,3780,241,1,0,0,0,3781,3782,5,417,0,0,3782,3783,3,648,324,0,3783,3784,5,135,0,0,3784,3787,7,53,0,0,3785,3786,5,192,0,0,3786,3788,3,800,400,0,3787,3785,1,0,0,0,3787,3788,1,0,0,0,3788,3791,1,0,0,0,3789,3790,5,100,0,0,3790,3792,3,314,157,0,3791,3789,1,0,0,0,3791,3792,1,0,0,0,3792,243,1,0,0,0,3793,3794,5,417,0,0,3794,3795,3,648,324,0,3795,3796,5,334,0,0,3796,245,1,0,0,0,3797,3798,5,425,0,0,3798,3799,5,173,0,0,3799,3800,5,68,0,0,3800,3805,3,712,356,0,3801,3802,5,868,0,0,3802,3804,3,712,356,0,3803,3801,1,0,0,0,3804,3807,1,0,0,0,3805,3803,1,0,0,0,3805,3806,1,0,0,0,3806,247,1,0,0,0,3807,3805,1,0,0,0,3808,3810,5,185,0,0,3809,3811,5,107,0,0,3810,3809,1,0,0,0,3810,3811,1,0,0,0,3811,3813,1,0,0,0,3812,3814,5,79,0,0,3813,3812,1,0,0,0,3813,3814,1,0,0,0,3814,3815,1,0,0,0,3815,3820,3,648,324,0,3816,3818,5,13,0,0,3817,3816,1,0,0,0,3817,3818,1,0,0,0,3818,3819,1,0,0,0,3819,3821,3,702,351,0,3820,3817,1,0,0,0,3820,3821,1,0,0,0,3821,3822,1,0,0,0,3822,3823,5,155,0,0,3823,3828,3,228,114,0,3824,3825,5,868,0,0,3825,3827,3,228,114,0,3826,3824,1,0,0,0,3827,3830,1,0,0,0,3828,3826,1,0,0,0,3828,3829,1,0,0,0,3829,3833,1,0,0,0,3830,3828,1,0,0,0,3831,3832,5,192,0,0,3832,3834,3,800,400,0,3833,3831,1,0,0,0,3833,3834,1,0,0,0,3834,3836,1,0,0,0,3835,3837,3,252,126,0,3836,3835,1,0,0,0,3836,3837,1,0,0,0,3837,3839,1,0,0,0,3838,3840,3,312,156,0,3839,3838,1,0,0,0,3839,3840,1,0,0,0,3840,249,1,0,0,0,3841,3843,5,185,0,0,3842,3844,5,107,0,0,3843,3842,1,0,0,0,3843,3844,1,0,0,0,3844,3846,1,0,0,0,3845,3847,5,79,0,0,3846,3845,1,0,0,0,3846,3847,1,0,0,0,3847,3848,1,0,0,0,3848,3849,3,256,128,0,3849,3850,5,155,0,0,3850,3855,3,228,114,0,3851,3852,5,868,0,0,3852,3854,3,228,114,0,3853,3851,1,0,0,0,3854,3857,1,0,0,0,3855,3853,1,0,0,0,3855,3856,1,0,0,0,3856,3860,1,0,0,0,3857,3855,1,0,0,0,3858,3859,5,192,0,0,3859,3861,3,800,400,0,3860,3858,1,0,0,0,3860,3861,1,0,0,0,3861,251,1,0,0,0,3862,3863,5,125,0,0,3863,3864,5,20,0,0,3864,3869,3,254,127,0,3865,3866,5,868,0,0,3866,3868,3,254,127,0,3867,3865,1,0,0,0,3868,3871,1,0,0,0,3869,3867,1,0,0,0,3869,3870,1,0,0,0,3870,253,1,0,0,0,3871,3869,1,0,0,0,3872,3874,3,800,400,0,3873,3875,7,54,0,0,3874,3873,1,0,0,0,3874,3875,1,0,0,0,3875,255,1,0,0,0,3876,3881,3,258,129,0,3877,3878,5,868,0,0,3878,3880,3,258,129,0,3879,3877,1,0,0,0,3880,3883,1,0,0,0,3881,3879,1,0,0,0,3881,3882,1,0,0,0,3882,257,1,0,0,0,3883,3881,1,0,0,0,3884,3888,3,260,130,0,3885,3887,3,268,134,0,3886,3885,1,0,0,0,3887,3890,1,0,0,0,3888,3886,1,0,0,0,3888,3889,1,0,0,0,3889,3903,1,0,0,0,3890,3888,1,0,0,0,3891,3892,5,866,0,0,3892,3896,3,260,130,0,3893,3895,3,268,134,0,3894,3893,1,0,0,0,3895,3898,1,0,0,0,3896,3894,1,0,0,0,3896,3897,1,0,0,0,3897,3899,1,0,0,0,3898,3896,1,0,0,0,3899,3900,5,867,0,0,3900,3903,1,0,0,0,3901,3903,3,280,140,0,3902,3884,1,0,0,0,3902,3891,1,0,0,0,3902,3901,1,0,0,0,3903,259,1,0,0,0,3904,3910,3,648,324,0,3905,3906,5,130,0,0,3906,3907,5,866,0,0,3907,3908,3,666,333,0,3908,3909,5,867,0,0,3909,3911,1,0,0,0,3910,3905,1,0,0,0,3910,3911,1,0,0,0,3911,3916,1,0,0,0,3912,3914,5,13,0,0,3913,3912,1,0,0,0,3913,3914,1,0,0,0,3914,3915,1,0,0,0,3915,3917,3,702,351,0,3916,3913,1,0,0,0,3916,3917,1,0,0,0,3917,3926,1,0,0,0,3918,3923,3,264,132,0,3919,3920,5,868,0,0,3920,3922,3,264,132,0,3921,3919,1,0,0,0,3922,3925,1,0,0,0,3923,3921,1,0,0,0,3923,3924,1,0,0,0,3924,3927,1,0,0,0,3925,3923,1,0,0,0,3926,3918,1,0,0,0,3926,3927,1,0,0,0,3927,3950,1,0,0,0,3928,3930,5,95,0,0,3929,3928,1,0,0,0,3929,3930,1,0,0,0,3930,3936,1,0,0,0,3931,3937,3,204,102,0,3932,3933,5,866,0,0,3933,3934,3,204,102,0,3934,3935,5,867,0,0,3935,3937,1,0,0,0,3936,3931,1,0,0,0,3936,3932,1,0,0,0,3937,3939,1,0,0,0,3938,3940,5,13,0,0,3939,3938,1,0,0,0,3939,3940,1,0,0,0,3940,3941,1,0,0,0,3941,3943,3,702,351,0,3942,3944,3,262,131,0,3943,3942,1,0,0,0,3943,3944,1,0,0,0,3944,3950,1,0,0,0,3945,3946,5,866,0,0,3946,3947,3,256,128,0,3947,3948,5,867,0,0,3948,3950,1,0,0,0,3949,3904,1,0,0,0,3949,3929,1,0,0,0,3949,3945,1,0,0,0,3950,261,1,0,0,0,3951,3952,5,866,0,0,3952,3953,3,656,328,0,3953,3954,5,867,0,0,3954,263,1,0,0,0,3955,3956,7,55,0,0,3956,3959,7,18,0,0,3957,3958,5,65,0,0,3958,3960,3,266,133,0,3959,3957,1,0,0,0,3959,3960,1,0,0,0,3960,3961,1,0,0,0,3961,3963,5,866,0,0,3962,3964,3,636,318,0,3963,3962,1,0,0,0,3963,3964,1,0,0,0,3964,3965,1,0,0,0,3965,3966,5,867,0,0,3966,265,1,0,0,0,3967,3973,5,91,0,0,3968,3969,5,125,0,0,3969,3973,5,20,0,0,3970,3971,5,74,0,0,3971,3973,5,20,0,0,3972,3967,1,0,0,0,3972,3968,1,0,0,0,3972,3970,1,0,0,0,3973,267,1,0,0,0,3974,3976,7,56,0,0,3975,3974,1,0,0,0,3975,3976,1,0,0,0,3976,3977,1,0,0,0,3977,3979,5,91,0,0,3978,3980,5,95,0,0,3979,3978,1,0,0,0,3979,3980,1,0,0,0,3980,3981,1,0,0,0,3981,3985,3,260,130,0,3982,3984,3,270,135,0,3983,3982,1,0,0,0,3984,3987,1,0,0,0,3985,3983,1,0,0,0,3985,3986,1,0,0,0,3986,4024,1,0,0,0,3987,3985,1,0,0,0,3988,3989,5,172,0,0,3989,3993,3,260,130,0,3990,3992,3,270,135,0,3991,3990,1,0,0,0,3992,3995,1,0,0,0,3993,3991,1,0,0,0,3993,3994,1,0,0,0,3994,4024,1,0,0,0,3995,3993,1,0,0,0,3996,3998,7,57,0,0,3997,3999,5,127,0,0,3998,3997,1,0,0,0,3998,3999,1,0,0,0,3999,4e3,1,0,0,0,4e3,4002,5,91,0,0,4001,4003,5,95,0,0,4002,4001,1,0,0,0,4002,4003,1,0,0,0,4003,4004,1,0,0,0,4004,4008,3,260,130,0,4005,4007,3,270,135,0,4006,4005,1,0,0,0,4007,4010,1,0,0,0,4008,4006,1,0,0,0,4008,4009,1,0,0,0,4009,4024,1,0,0,0,4010,4008,1,0,0,0,4011,4019,5,113,0,0,4012,4015,5,84,0,0,4013,4015,7,57,0,0,4014,4012,1,0,0,0,4014,4013,1,0,0,0,4015,4017,1,0,0,0,4016,4018,5,127,0,0,4017,4016,1,0,0,0,4017,4018,1,0,0,0,4018,4020,1,0,0,0,4019,4014,1,0,0,0,4019,4020,1,0,0,0,4020,4021,1,0,0,0,4021,4022,5,91,0,0,4022,4024,3,260,130,0,4023,3975,1,0,0,0,4023,3988,1,0,0,0,4023,3996,1,0,0,0,4023,4011,1,0,0,0,4024,269,1,0,0,0,4025,4026,5,119,0,0,4026,4033,3,800,400,0,4027,4028,5,188,0,0,4028,4029,5,866,0,0,4029,4030,3,656,328,0,4030,4031,5,867,0,0,4031,4033,1,0,0,0,4032,4025,1,0,0,0,4032,4027,1,0,0,0,4033,271,1,0,0,0,4034,4035,5,866,0,0,4035,4036,3,274,137,0,4036,4037,5,867,0,0,4037,4043,1,0,0,0,4038,4039,5,866,0,0,4039,4040,3,272,136,0,4040,4041,5,867,0,0,4041,4043,1,0,0,0,4042,4034,1,0,0,0,4042,4038,1,0,0,0,4043,273,1,0,0,0,4044,4048,5,154,0,0,4045,4047,3,290,145,0,4046,4045,1,0,0,0,4047,4050,1,0,0,0,4048,4046,1,0,0,0,4048,4049,1,0,0,0,4049,4051,1,0,0,0,4050,4048,1,0,0,0,4051,4053,3,292,146,0,4052,4054,3,296,148,0,4053,4052,1,0,0,0,4053,4054,1,0,0,0,4054,4055,1,0,0,0,4055,4057,3,302,151,0,4056,4058,3,304,152,0,4057,4056,1,0,0,0,4057,4058,1,0,0,0,4058,4060,1,0,0,0,4059,4061,3,306,153,0,4060,4059,1,0,0,0,4060,4061,1,0,0,0,4061,4063,1,0,0,0,4062,4064,3,308,154,0,4063,4062,1,0,0,0,4063,4064,1,0,0,0,4064,4066,1,0,0,0,4065,4067,3,252,126,0,4066,4065,1,0,0,0,4066,4067,1,0,0,0,4067,4069,1,0,0,0,4068,4070,3,312,156,0,4069,4068,1,0,0,0,4069,4070,1,0,0,0,4070,4072,1,0,0,0,4071,4073,3,296,148,0,4072,4071,1,0,0,0,4072,4073,1,0,0,0,4073,275,1,0,0,0,4074,4076,5,181,0,0,4075,4077,7,44,0,0,4076,4075,1,0,0,0,4076,4077,1,0,0,0,4077,4080,1,0,0,0,4078,4081,3,274,137,0,4079,4081,3,272,136,0,4080,4078,1,0,0,0,4080,4079,1,0,0,0,4081,277,1,0,0,0,4082,4097,5,95,0,0,4083,4098,3,274,137,0,4084,4098,3,272,136,0,4085,4088,5,866,0,0,4086,4089,3,274,137,0,4087,4089,3,272,136,0,4088,4086,1,0,0,0,4088,4087,1,0,0,0,4089,4090,1,0,0,0,4090,4095,5,867,0,0,4091,4093,5,13,0,0,4092,4091,1,0,0,0,4092,4093,1,0,0,0,4093,4094,1,0,0,0,4094,4096,3,702,351,0,4095,4092,1,0,0,0,4095,4096,1,0,0,0,4096,4098,1,0,0,0,4097,4083,1,0,0,0,4097,4084,1,0,0,0,4097,4085,1,0,0,0,4098,279,1,0,0,0,4099,4100,5,253,0,0,4100,4101,5,866,0,0,4101,4102,5,882,0,0,4102,4103,5,868,0,0,4103,4104,5,882,0,0,4104,4105,5,337,0,0,4105,4106,5,866,0,0,4106,4107,3,282,141,0,4107,4108,5,867,0,0,4108,4113,5,867,0,0,4109,4111,5,13,0,0,4110,4109,1,0,0,0,4110,4111,1,0,0,0,4111,4112,1,0,0,0,4112,4114,3,702,351,0,4113,4110,1,0,0,0,4113,4114,1,0,0,0,4114,281,1,0,0,0,4115,4120,3,284,142,0,4116,4117,5,868,0,0,4117,4119,3,284,142,0,4118,4116,1,0,0,0,4119,4122,1,0,0,0,4120,4118,1,0,0,0,4120,4121,1,0,0,0,4121,283,1,0,0,0,4122,4120,1,0,0,0,4123,4140,3,658,329,0,4124,4125,5,65,0,0,4125,4141,5,256,0,0,4126,4138,3,722,361,0,4127,4128,5,257,0,0,4128,4130,5,882,0,0,4129,4131,3,286,143,0,4130,4129,1,0,0,0,4130,4131,1,0,0,0,4131,4133,1,0,0,0,4132,4134,3,288,144,0,4133,4132,1,0,0,0,4133,4134,1,0,0,0,4134,4139,1,0,0,0,4135,4136,5,60,0,0,4136,4137,5,257,0,0,4137,4139,5,882,0,0,4138,4127,1,0,0,0,4138,4135,1,0,0,0,4139,4141,1,0,0,0,4140,4124,1,0,0,0,4140,4126,1,0,0,0,4141,4153,1,0,0,0,4142,4144,5,255,0,0,4143,4145,5,257,0,0,4144,4143,1,0,0,0,4144,4145,1,0,0,0,4145,4146,1,0,0,0,4146,4147,5,882,0,0,4147,4148,5,337,0,0,4148,4149,5,866,0,0,4149,4150,3,282,141,0,4150,4151,5,867,0,0,4151,4153,1,0,0,0,4152,4123,1,0,0,0,4152,4142,1,0,0,0,4153,285,1,0,0,0,4154,4159,5,116,0,0,4155,4159,5,382,0,0,4156,4157,5,42,0,0,4157,4159,3,750,375,0,4158,4154,1,0,0,0,4158,4155,1,0,0,0,4158,4156,1,0,0,0,4159,4160,1,0,0,0,4160,4161,5,119,0,0,4161,4162,5,55,0,0,4162,287,1,0,0,0,4163,4168,5,116,0,0,4164,4168,5,382,0,0,4165,4166,5,42,0,0,4166,4168,3,750,375,0,4167,4163,1,0,0,0,4167,4164,1,0,0,0,4167,4165,1,0,0,0,4168,4169,1,0,0,0,4169,4170,5,119,0,0,4170,4171,5,382,0,0,4171,289,1,0,0,0,4172,4181,7,58,0,0,4173,4181,5,76,0,0,4174,4181,5,172,0,0,4175,4181,5,168,0,0,4176,4181,5,166,0,0,4177,4181,5,636,0,0,4178,4181,7,59,0,0,4179,4181,5,167,0,0,4180,4172,1,0,0,0,4180,4173,1,0,0,0,4180,4174,1,0,0,0,4180,4175,1,0,0,0,4180,4176,1,0,0,0,4180,4177,1,0,0,0,4180,4178,1,0,0,0,4180,4179,1,0,0,0,4181,291,1,0,0,0,4182,4185,5,850,0,0,4183,4185,3,294,147,0,4184,4182,1,0,0,0,4184,4183,1,0,0,0,4185,4190,1,0,0,0,4186,4187,5,868,0,0,4187,4189,3,294,147,0,4188,4186,1,0,0,0,4189,4192,1,0,0,0,4190,4188,1,0,0,0,4190,4191,1,0,0,0,4191,293,1,0,0,0,4192,4190,1,0,0,0,4193,4194,5,892,0,0,4194,4196,5,841,0,0,4195,4193,1,0,0,0,4195,4196,1,0,0,0,4196,4197,1,0,0,0,4197,4202,3,800,400,0,4198,4200,5,13,0,0,4199,4198,1,0,0,0,4199,4200,1,0,0,0,4200,4201,1,0,0,0,4201,4203,3,702,351,0,4202,4199,1,0,0,0,4202,4203,1,0,0,0,4203,4223,1,0,0,0,4204,4209,3,760,380,0,4205,4207,5,13,0,0,4206,4205,1,0,0,0,4206,4207,1,0,0,0,4207,4208,1,0,0,0,4208,4210,3,702,351,0,4209,4206,1,0,0,0,4209,4210,1,0,0,0,4210,4223,1,0,0,0,4211,4212,3,698,349,0,4212,4213,5,865,0,0,4213,4214,5,850,0,0,4214,4223,1,0,0,0,4215,4220,3,658,329,0,4216,4218,5,13,0,0,4217,4216,1,0,0,0,4217,4218,1,0,0,0,4218,4219,1,0,0,0,4219,4221,3,702,351,0,4220,4217,1,0,0,0,4220,4221,1,0,0,0,4221,4223,1,0,0,0,4222,4195,1,0,0,0,4222,4204,1,0,0,0,4222,4211,1,0,0,0,4222,4215,1,0,0,0,4223,295,1,0,0,0,4224,4225,5,88,0,0,4225,4230,3,230,115,0,4226,4227,5,868,0,0,4227,4229,3,230,115,0,4228,4226,1,0,0,0,4229,4232,1,0,0,0,4230,4228,1,0,0,0,4230,4231,1,0,0,0,4231,4261,1,0,0,0,4232,4230,1,0,0,0,4233,4234,5,88,0,0,4234,4235,5,372,0,0,4235,4261,5,882,0,0,4236,4237,5,88,0,0,4237,4238,5,128,0,0,4238,4242,5,882,0,0,4239,4240,5,26,0,0,4240,4241,5,155,0,0,4241,4243,3,684,342,0,4242,4239,1,0,0,0,4242,4243,1,0,0,0,4243,4250,1,0,0,0,4244,4246,7,46,0,0,4245,4247,3,298,149,0,4246,4245,1,0,0,0,4247,4248,1,0,0,0,4248,4246,1,0,0,0,4248,4249,1,0,0,0,4249,4251,1,0,0,0,4250,4244,1,0,0,0,4250,4251,1,0,0,0,4251,4258,1,0,0,0,4252,4254,5,102,0,0,4253,4255,3,300,150,0,4254,4253,1,0,0,0,4255,4256,1,0,0,0,4256,4254,1,0,0,0,4256,4257,1,0,0,0,4257,4259,1,0,0,0,4258,4252,1,0,0,0,4258,4259,1,0,0,0,4259,4261,1,0,0,0,4260,4224,1,0,0,0,4260,4233,1,0,0,0,4260,4236,1,0,0,0,4261,297,1,0,0,0,4262,4263,5,174,0,0,4263,4264,5,20,0,0,4264,4275,5,882,0,0,4265,4267,5,123,0,0,4266,4265,1,0,0,0,4266,4267,1,0,0,0,4267,4268,1,0,0,0,4268,4269,5,56,0,0,4269,4270,5,20,0,0,4270,4275,5,882,0,0,4271,4272,5,58,0,0,4272,4273,5,20,0,0,4273,4275,5,882,0,0,4274,4262,1,0,0,0,4274,4266,1,0,0,0,4274,4271,1,0,0,0,4275,299,1,0,0,0,4276,4277,5,171,0,0,4277,4278,5,20,0,0,4278,4283,5,882,0,0,4279,4280,5,174,0,0,4280,4281,5,20,0,0,4281,4283,5,882,0,0,4282,4276,1,0,0,0,4282,4279,1,0,0,0,4283,301,1,0,0,0,4284,4285,5,68,0,0,4285,4287,3,256,128,0,4286,4284,1,0,0,0,4286,4287,1,0,0,0,4287,4290,1,0,0,0,4288,4289,5,192,0,0,4289,4291,3,800,400,0,4290,4288,1,0,0,0,4290,4291,1,0,0,0,4291,303,1,0,0,0,4292,4293,5,74,0,0,4293,4294,5,20,0,0,4294,4299,3,310,155,0,4295,4296,5,868,0,0,4296,4298,3,310,155,0,4297,4295,1,0,0,0,4298,4301,1,0,0,0,4299,4297,1,0,0,0,4299,4300,1,0,0,0,4300,4304,1,0,0,0,4301,4299,1,0,0,0,4302,4303,5,194,0,0,4303,4305,5,584,0,0,4304,4302,1,0,0,0,4304,4305,1,0,0,0,4305,305,1,0,0,0,4306,4307,5,75,0,0,4307,4308,3,800,400,0,4308,307,1,0,0,0,4309,4310,5,689,0,0,4310,4311,3,778,389,0,4311,4312,5,13,0,0,4312,4313,5,866,0,0,4313,4314,3,776,388,0,4314,4324,5,867,0,0,4315,4316,5,868,0,0,4316,4317,3,778,389,0,4317,4318,5,13,0,0,4318,4319,5,866,0,0,4319,4320,3,776,388,0,4320,4321,5,867,0,0,4321,4323,1,0,0,0,4322,4315,1,0,0,0,4323,4326,1,0,0,0,4324,4322,1,0,0,0,4324,4325,1,0,0,0,4325,309,1,0,0,0,4326,4324,1,0,0,0,4327,4329,3,800,400,0,4328,4330,7,54,0,0,4329,4328,1,0,0,0,4329,4330,1,0,0,0,4330,311,1,0,0,0,4331,4342,5,100,0,0,4332,4333,3,314,157,0,4333,4334,5,868,0,0,4334,4336,1,0,0,0,4335,4332,1,0,0,0,4335,4336,1,0,0,0,4336,4337,1,0,0,0,4337,4343,3,314,157,0,4338,4339,3,314,157,0,4339,4340,5,509,0,0,4340,4341,3,314,157,0,4341,4343,1,0,0,0,4342,4335,1,0,0,0,4342,4338,1,0,0,0,4343,313,1,0,0,0,4344,4348,3,708,354,0,4345,4348,3,682,341,0,4346,4348,3,704,352,0,4347,4344,1,0,0,0,4347,4345,1,0,0,0,4347,4346,1,0,0,0,4348,315,1,0,0,0,4349,4350,5,640,0,0,4350,4359,5,664,0,0,4351,4356,3,338,169,0,4352,4353,5,868,0,0,4353,4355,3,338,169,0,4354,4352,1,0,0,0,4355,4358,1,0,0,0,4356,4354,1,0,0,0,4356,4357,1,0,0,0,4357,4360,1,0,0,0,4358,4356,1,0,0,0,4359,4351,1,0,0,0,4359,4360,1,0,0,0,4360,317,1,0,0,0,4361,4363,5,317,0,0,4362,4364,5,691,0,0,4363,4362,1,0,0,0,4363,4364,1,0,0,0,4364,319,1,0,0,0,4365,4367,5,341,0,0,4366,4368,5,691,0,0,4367,4366,1,0,0,0,4367,4368,1,0,0,0,4368,4374,1,0,0,0,4369,4371,5,11,0,0,4370,4372,5,502,0,0,4371,4370,1,0,0,0,4371,4372,1,0,0,0,4372,4373,1,0,0,0,4373,4375,5,326,0,0,4374,4369,1,0,0,0,4374,4375,1,0,0,0,4375,4380,1,0,0,0,4376,4378,5,502,0,0,4377,4376,1,0,0,0,4377,4378,1,0,0,0,4378,4379,1,0,0,0,4379,4381,5,140,0,0,4380,4377,1,0,0,0,4380,4381,1,0,0,0,4381,321,1,0,0,0,4382,4384,5,583,0,0,4383,4385,5,691,0,0,4384,4383,1,0,0,0,4384,4385,1,0,0,0,4385,4391,1,0,0,0,4386,4388,5,11,0,0,4387,4389,5,502,0,0,4388,4387,1,0,0,0,4388,4389,1,0,0,0,4389,4390,1,0,0,0,4390,4392,5,326,0,0,4391,4386,1,0,0,0,4391,4392,1,0,0,0,4392,4397,1,0,0,0,4393,4395,5,502,0,0,4394,4393,1,0,0,0,4394,4395,1,0,0,0,4395,4396,1,0,0,0,4396,4398,5,140,0,0,4397,4394,1,0,0,0,4397,4398,1,0,0,0,4398,323,1,0,0,0,4399,4400,5,589,0,0,4400,4401,3,702,351,0,4401,325,1,0,0,0,4402,4404,5,583,0,0,4403,4405,5,691,0,0,4404,4403,1,0,0,0,4404,4405,1,0,0,0,4405,4406,1,0,0,0,4406,4408,5,176,0,0,4407,4409,5,589,0,0,4408,4407,1,0,0,0,4408,4409,1,0,0,0,4409,4410,1,0,0,0,4410,4411,3,702,351,0,4411,327,1,0,0,0,4412,4413,5,140,0,0,4413,4414,5,589,0,0,4414,4415,3,702,351,0,4415,329,1,0,0,0,4416,4417,5,104,0,0,4417,4418,7,60,0,0,4418,4423,3,340,170,0,4419,4420,5,868,0,0,4420,4422,3,340,170,0,4421,4419,1,0,0,0,4422,4425,1,0,0,0,4423,4421,1,0,0,0,4423,4424,1,0,0,0,4424,331,1,0,0,0,4425,4423,1,0,0,0,4426,4427,5,183,0,0,4427,4428,5,752,0,0,4428,333,1,0,0,0,4429,4430,5,155,0,0,4430,4431,5,313,0,0,4431,4432,5,857,0,0,4432,4433,7,25,0,0,4433,335,1,0,0,0,4434,4436,5,155,0,0,4435,4437,7,61,0,0,4436,4435,1,0,0,0,4436,4437,1,0,0,0,4437,4438,1,0,0,0,4438,4439,5,664,0,0,4439,4444,3,344,172,0,4440,4441,5,868,0,0,4441,4443,3,344,172,0,4442,4440,1,0,0,0,4443,4446,1,0,0,0,4444,4442,1,0,0,0,4444,4445,1,0,0,0,4445,337,1,0,0,0,4446,4444,1,0,0,0,4447,4448,5,194,0,0,4448,4449,5,350,0,0,4449,4455,5,600,0,0,4450,4451,5,135,0,0,4451,4455,5,195,0,0,4452,4453,5,135,0,0,4453,4455,5,515,0,0,4454,4447,1,0,0,0,4454,4450,1,0,0,0,4454,4452,1,0,0,0,4455,339,1,0,0,0,4456,4461,3,648,324,0,4457,4459,5,13,0,0,4458,4457,1,0,0,0,4458,4459,1,0,0,0,4459,4460,1,0,0,0,4460,4462,3,702,351,0,4461,4458,1,0,0,0,4461,4462,1,0,0,0,4462,4463,1,0,0,0,4463,4464,3,342,171,0,4464,341,1,0,0,0,4465,4467,5,135,0,0,4466,4468,5,450,0,0,4467,4466,1,0,0,0,4467,4468,1,0,0,0,4468,4474,1,0,0,0,4469,4471,5,107,0,0,4470,4469,1,0,0,0,4470,4471,1,0,0,0,4471,4472,1,0,0,0,4472,4474,5,195,0,0,4473,4465,1,0,0,0,4473,4470,1,0,0,0,4474,343,1,0,0,0,4475,4476,5,440,0,0,4476,4477,5,448,0,0,4477,4483,3,346,173,0,4478,4479,5,135,0,0,4479,4483,5,195,0,0,4480,4481,5,135,0,0,4481,4483,5,515,0,0,4482,4475,1,0,0,0,4482,4478,1,0,0,0,4482,4480,1,0,0,0,4483,345,1,0,0,0,4484,4485,5,809,0,0,4485,4492,5,135,0,0,4486,4487,5,135,0,0,4487,4492,5,810,0,0,4488,4489,5,135,0,0,4489,4492,5,811,0,0,4490,4492,5,812,0,0,4491,4484,1,0,0,0,4491,4486,1,0,0,0,4491,4488,1,0,0,0,4491,4490,1,0,0,0,4492,347,1,0,0,0,4493,4494,5,25,0,0,4494,4495,5,453,0,0,4495,4496,5,176,0,0,4496,4501,3,364,182,0,4497,4498,5,868,0,0,4498,4500,3,364,182,0,4499,4497,1,0,0,0,4500,4503,1,0,0,0,4501,4499,1,0,0,0,4501,4502,1,0,0,0,4502,4505,1,0,0,0,4503,4501,1,0,0,0,4504,4506,3,384,192,0,4505,4504,1,0,0,0,4505,4506,1,0,0,0,4506,349,1,0,0,0,4507,4508,5,25,0,0,4508,4509,5,572,0,0,4509,4510,5,400,0,0,4510,4515,3,386,193,0,4511,4512,5,868,0,0,4512,4514,3,386,193,0,4513,4511,1,0,0,0,4514,4517,1,0,0,0,4515,4513,1,0,0,0,4515,4516,1,0,0,0,4516,4519,1,0,0,0,4517,4515,1,0,0,0,4518,4520,3,384,192,0,4519,4518,1,0,0,0,4519,4520,1,0,0,0,4520,351,1,0,0,0,4521,4522,5,25,0,0,4522,4523,5,572,0,0,4523,4524,5,605,0,0,4524,4525,5,176,0,0,4525,4530,3,374,187,0,4526,4527,5,868,0,0,4527,4529,3,374,187,0,4528,4526,1,0,0,0,4529,4532,1,0,0,0,4530,4528,1,0,0,0,4530,4531,1,0,0,0,4531,4534,1,0,0,0,4532,4530,1,0,0,0,4533,4535,3,384,192,0,4534,4533,1,0,0,0,4534,4535,1,0,0,0,4535,353,1,0,0,0,4536,4537,5,133,0,0,4537,4538,7,62,0,0,4538,4543,5,452,0,0,4539,4540,5,176,0,0,4540,4544,5,882,0,0,4541,4542,5,16,0,0,4542,4544,5,882,0,0,4543,4539,1,0,0,0,4543,4541,1,0,0,0,4544,355,1,0,0,0,4545,4546,5,640,0,0,4546,4555,7,63,0,0,4547,4552,3,390,195,0,4548,4549,5,868,0,0,4549,4551,3,390,195,0,4550,4548,1,0,0,0,4551,4554,1,0,0,0,4552,4550,1,0,0,0,4552,4553,1,0,0,0,4553,4556,1,0,0,0,4554,4552,1,0,0,0,4555,4547,1,0,0,0,4555,4556,1,0,0,0,4556,4559,1,0,0,0,4557,4558,5,676,0,0,4558,4560,3,392,196,0,4559,4557,1,0,0,0,4559,4560,1,0,0,0,4560,4564,1,0,0,0,4561,4563,3,394,197,0,4562,4561,1,0,0,0,4563,4566,1,0,0,0,4564,4562,1,0,0,0,4564,4565,1,0,0,0,4565,4568,1,0,0,0,4566,4564,1,0,0,0,4567,4569,3,384,192,0,4568,4567,1,0,0,0,4568,4569,1,0,0,0,4569,357,1,0,0,0,4570,4571,5,646,0,0,4571,4580,7,63,0,0,4572,4577,3,390,195,0,4573,4574,5,868,0,0,4574,4576,3,390,195,0,4575,4573,1,0,0,0,4576,4579,1,0,0,0,4577,4575,1,0,0,0,4577,4578,1,0,0,0,4578,4581,1,0,0,0,4579,4577,1,0,0,0,4580,4572,1,0,0,0,4580,4581,1,0,0,0,4581,4583,1,0,0,0,4582,4584,3,384,192,0,4583,4582,1,0,0,0,4583,4584,1,0,0,0,4584,359,1,0,0,0,4585,4586,5,640,0,0,4586,4590,5,415,0,0,4587,4588,5,678,0,0,4588,4589,5,857,0,0,4589,4591,5,882,0,0,4590,4587,1,0,0,0,4590,4591,1,0,0,0,4591,4596,1,0,0,0,4592,4593,5,868,0,0,4593,4594,5,529,0,0,4594,4595,5,857,0,0,4595,4597,5,882,0,0,4596,4592,1,0,0,0,4596,4597,1,0,0,0,4597,4602,1,0,0,0,4598,4599,5,868,0,0,4599,4600,5,363,0,0,4600,4601,5,857,0,0,4601,4603,5,882,0,0,4602,4598,1,0,0,0,4602,4603,1,0,0,0,4603,361,1,0,0,0,4604,4605,5,646,0,0,4605,4606,5,415,0,0,4606,363,1,0,0,0,4607,4608,3,366,183,0,4608,4609,5,857,0,0,4609,4610,5,882,0,0,4610,4635,1,0,0,0,4611,4612,3,368,184,0,4612,4613,5,857,0,0,4613,4614,3,708,354,0,4614,4635,1,0,0,0,4615,4616,3,370,185,0,4616,4617,5,857,0,0,4617,4618,7,25,0,0,4618,4635,1,0,0,0,4619,4635,3,372,186,0,4620,4621,5,424,0,0,4621,4622,5,857,0,0,4622,4631,5,866,0,0,4623,4628,3,702,351,0,4624,4625,5,868,0,0,4625,4627,3,702,351,0,4626,4624,1,0,0,0,4627,4630,1,0,0,0,4628,4626,1,0,0,0,4628,4629,1,0,0,0,4629,4632,1,0,0,0,4630,4628,1,0,0,0,4631,4623,1,0,0,0,4631,4632,1,0,0,0,4632,4633,1,0,0,0,4633,4635,5,867,0,0,4634,4607,1,0,0,0,4634,4611,1,0,0,0,4634,4615,1,0,0,0,4634,4619,1,0,0,0,4634,4620,1,0,0,0,4635,365,1,0,0,0,4636,4637,7,64,0,0,4637,367,1,0,0,0,4638,4639,7,65,0,0,4639,369,1,0,0,0,4640,4641,7,66,0,0,4641,371,1,0,0,0,4642,4643,5,543,0,0,4643,4644,5,857,0,0,4644,4656,7,67,0,0,4645,4646,5,574,0,0,4646,4647,5,857,0,0,4647,4656,7,68,0,0,4648,4649,5,310,0,0,4649,4653,5,857,0,0,4650,4654,5,507,0,0,4651,4654,5,450,0,0,4652,4654,3,396,198,0,4653,4650,1,0,0,0,4653,4651,1,0,0,0,4653,4652,1,0,0,0,4654,4656,1,0,0,0,4655,4642,1,0,0,0,4655,4645,1,0,0,0,4655,4648,1,0,0,0,4656,373,1,0,0,0,4657,4658,3,376,188,0,4658,4659,5,857,0,0,4659,4660,5,882,0,0,4660,4685,1,0,0,0,4661,4662,3,378,189,0,4662,4663,5,857,0,0,4663,4664,3,708,354,0,4664,4685,1,0,0,0,4665,4666,3,380,190,0,4666,4667,5,857,0,0,4667,4668,7,25,0,0,4668,4685,1,0,0,0,4669,4685,3,382,191,0,4670,4671,5,424,0,0,4671,4672,5,857,0,0,4672,4681,5,866,0,0,4673,4678,3,702,351,0,4674,4675,5,868,0,0,4675,4677,3,702,351,0,4676,4674,1,0,0,0,4677,4680,1,0,0,0,4678,4676,1,0,0,0,4678,4679,1,0,0,0,4679,4682,1,0,0,0,4680,4678,1,0,0,0,4681,4673,1,0,0,0,4681,4682,1,0,0,0,4682,4683,1,0,0,0,4683,4685,5,867,0,0,4684,4657,1,0,0,0,4684,4661,1,0,0,0,4684,4665,1,0,0,0,4684,4669,1,0,0,0,4684,4670,1,0,0,0,4685,375,1,0,0,0,4686,4687,7,69,0,0,4687,377,1,0,0,0,4688,4689,7,70,0,0,4689,379,1,0,0,0,4690,4691,7,71,0,0,4691,381,1,0,0,0,4692,4693,5,543,0,0,4693,4694,5,857,0,0,4694,4706,7,67,0,0,4695,4696,5,574,0,0,4696,4697,5,857,0,0,4697,4706,7,72,0,0,4698,4699,5,310,0,0,4699,4703,5,857,0,0,4700,4704,5,507,0,0,4701,4704,5,450,0,0,4702,4704,3,396,198,0,4703,4700,1,0,0,0,4703,4701,1,0,0,0,4703,4702,1,0,0,0,4704,4706,1,0,0,0,4705,4692,1,0,0,0,4705,4695,1,0,0,0,4705,4698,1,0,0,0,4706,383,1,0,0,0,4707,4708,5,65,0,0,4708,4709,5,328,0,0,4709,4710,5,882,0,0,4710,385,1,0,0,0,4711,4712,5,565,0,0,4712,4713,5,857,0,0,4713,4714,5,866,0,0,4714,4719,3,624,312,0,4715,4716,5,868,0,0,4716,4718,3,624,312,0,4717,4715,1,0,0,0,4718,4721,1,0,0,0,4719,4717,1,0,0,0,4719,4720,1,0,0,0,4720,4722,1,0,0,0,4721,4719,1,0,0,0,4722,4723,5,867,0,0,4723,4775,1,0,0,0,4724,4725,5,567,0,0,4725,4726,5,857,0,0,4726,4727,5,866,0,0,4727,4732,3,624,312,0,4728,4729,5,868,0,0,4729,4731,3,624,312,0,4730,4728,1,0,0,0,4731,4734,1,0,0,0,4732,4730,1,0,0,0,4732,4733,1,0,0,0,4733,4735,1,0,0,0,4734,4732,1,0,0,0,4735,4736,5,867,0,0,4736,4775,1,0,0,0,4737,4738,5,566,0,0,4738,4739,5,857,0,0,4739,4740,5,866,0,0,4740,4741,3,646,323,0,4741,4742,5,867,0,0,4742,4775,1,0,0,0,4743,4744,5,568,0,0,4744,4745,5,857,0,0,4745,4746,5,866,0,0,4746,4747,3,646,323,0,4747,4748,5,867,0,0,4748,4775,1,0,0,0,4749,4750,5,570,0,0,4750,4751,5,857,0,0,4751,4752,5,866,0,0,4752,4753,3,746,373,0,4753,4754,5,867,0,0,4754,4775,1,0,0,0,4755,4756,5,571,0,0,4756,4757,5,857,0,0,4757,4758,5,866,0,0,4758,4759,3,746,373,0,4759,4760,5,867,0,0,4760,4775,1,0,0,0,4761,4762,5,569,0,0,4762,4763,5,857,0,0,4763,4764,5,866,0,0,4764,4769,3,388,194,0,4765,4766,5,868,0,0,4766,4768,3,388,194,0,4767,4765,1,0,0,0,4768,4771,1,0,0,0,4769,4767,1,0,0,0,4769,4770,1,0,0,0,4770,4772,1,0,0,0,4771,4769,1,0,0,0,4772,4773,5,867,0,0,4773,4775,1,0,0,0,4774,4711,1,0,0,0,4774,4724,1,0,0,0,4774,4737,1,0,0,0,4774,4743,1,0,0,0,4774,4749,1,0,0,0,4774,4755,1,0,0,0,4774,4761,1,0,0,0,4775,387,1,0,0,0,4776,4777,5,866,0,0,4777,4778,3,648,324,0,4778,4779,5,868,0,0,4779,4780,3,648,324,0,4780,4781,5,867,0,0,4781,389,1,0,0,0,4782,4783,7,73,0,0,4783,391,1,0,0,0,4784,4785,7,74,0,0,4785,4786,5,857,0,0,4786,4810,3,396,198,0,4787,4788,5,460,0,0,4788,4789,5,857,0,0,4789,4790,5,882,0,0,4790,4791,5,868,0,0,4791,4792,5,461,0,0,4792,4793,5,857,0,0,4793,4810,3,708,354,0,4794,4795,5,611,0,0,4795,4796,5,857,0,0,4796,4797,5,882,0,0,4797,4798,5,868,0,0,4798,4799,5,612,0,0,4799,4800,5,857,0,0,4800,4810,3,708,354,0,4801,4802,5,557,0,0,4802,4803,5,857,0,0,4803,4804,5,882,0,0,4804,4805,5,868,0,0,4805,4806,5,558,0,0,4806,4807,5,857,0,0,4807,4810,3,708,354,0,4808,4810,5,634,0,0,4809,4784,1,0,0,0,4809,4787,1,0,0,0,4809,4794,1,0,0,0,4809,4801,1,0,0,0,4809,4808,1,0,0,0,4810,393,1,0,0,0,4811,4812,5,678,0,0,4812,4813,5,857,0,0,4813,4824,5,882,0,0,4814,4815,5,529,0,0,4815,4816,5,857,0,0,4816,4824,5,882,0,0,4817,4818,5,363,0,0,4818,4819,5,857,0,0,4819,4824,5,882,0,0,4820,4821,5,535,0,0,4821,4822,5,857,0,0,4822,4824,5,882,0,0,4823,4811,1,0,0,0,4823,4814,1,0,0,0,4823,4817,1,0,0,0,4823,4820,1,0,0,0,4824,395,1,0,0,0,4825,4830,3,692,346,0,4826,4827,5,868,0,0,4827,4829,3,692,346,0,4828,4826,1,0,0,0,4829,4832,1,0,0,0,4830,4828,1,0,0,0,4830,4831,1,0,0,0,4831,4835,1,0,0,0,4832,4830,1,0,0,0,4833,4835,5,882,0,0,4834,4825,1,0,0,0,4834,4833,1,0,0,0,4835,397,1,0,0,0,4836,4837,5,694,0,0,4837,4838,7,75,0,0,4838,4840,3,694,347,0,4839,4841,7,76,0,0,4840,4839,1,0,0,0,4840,4841,1,0,0,0,4841,399,1,0,0,0,4842,4843,5,694,0,0,4843,4844,5,378,0,0,4844,4850,3,694,347,0,4845,4848,5,654,0,0,4846,4847,5,65,0,0,4847,4849,5,489,0,0,4848,4846,1,0,0,0,4848,4849,1,0,0,0,4849,4851,1,0,0,0,4850,4845,1,0,0,0,4850,4851,1,0,0,0,4851,401,1,0,0,0,4852,4853,5,694,0,0,4853,4854,5,540,0,0,4854,4855,3,694,347,0,4855,403,1,0,0,0,4856,4857,5,694,0,0,4857,4858,5,341,0,0,4858,4861,3,694,347,0,4859,4860,5,513,0,0,4860,4862,5,533,0,0,4861,4859,1,0,0,0,4861,4862,1,0,0,0,4862,405,1,0,0,0,4863,4864,5,694,0,0,4864,4865,5,583,0,0,4865,4866,3,694,347,0,4866,407,1,0,0,0,4867,4868,5,694,0,0,4868,4871,5,551,0,0,4869,4870,5,33,0,0,4870,4872,3,694,347,0,4871,4869,1,0,0,0,4871,4872,1,0,0,0,4872,409,1,0,0,0,4873,4874,5,540,0,0,4874,4875,3,702,351,0,4875,4878,5,68,0,0,4876,4879,5,882,0,0,4877,4879,5,892,0,0,4878,4876,1,0,0,0,4878,4877,1,0,0,0,4879,411,1,0,0,0,4880,4881,5,717,0,0,4881,4884,3,702,351,0,4882,4883,5,188,0,0,4883,4885,3,748,374,0,4884,4882,1,0,0,0,4884,4885,1,0,0,0,4885,413,1,0,0,0,4886,4887,7,77,0,0,4887,4888,5,540,0,0,4888,4889,3,702,351,0,4889,415,1,0,0,0,4890,4893,3,418,209,0,4891,4893,3,4,2,0,4892,4890,1,0,0,0,4892,4891,1,0,0,0,4893,417,1,0,0,0,4894,4895,3,702,351,0,4895,4896,5,878,0,0,4896,4898,1,0,0,0,4897,4894,1,0,0,0,4897,4898,1,0,0,0,4898,4899,1,0,0,0,4899,4905,5,317,0,0,4900,4901,3,438,219,0,4901,4902,5,869,0,0,4902,4904,1,0,0,0,4903,4900,1,0,0,0,4904,4907,1,0,0,0,4905,4903,1,0,0,0,4905,4906,1,0,0,0,4906,4913,1,0,0,0,4907,4905,1,0,0,0,4908,4909,3,440,220,0,4909,4910,5,869,0,0,4910,4912,1,0,0,0,4911,4908,1,0,0,0,4912,4915,1,0,0,0,4913,4911,1,0,0,0,4913,4914,1,0,0,0,4914,4921,1,0,0,0,4915,4913,1,0,0,0,4916,4917,3,442,221,0,4917,4918,5,869,0,0,4918,4920,1,0,0,0,4919,4916,1,0,0,0,4920,4923,1,0,0,0,4921,4919,1,0,0,0,4921,4922,1,0,0,0,4922,4929,1,0,0,0,4923,4921,1,0,0,0,4924,4925,3,444,222,0,4925,4926,5,869,0,0,4926,4928,1,0,0,0,4927,4924,1,0,0,0,4928,4931,1,0,0,0,4929,4927,1,0,0,0,4929,4930,1,0,0,0,4930,4935,1,0,0,0,4931,4929,1,0,0,0,4932,4934,3,448,224,0,4933,4932,1,0,0,0,4934,4937,1,0,0,0,4935,4933,1,0,0,0,4935,4936,1,0,0,0,4936,4938,1,0,0,0,4937,4935,1,0,0,0,4938,4940,5,378,0,0,4939,4941,3,702,351,0,4940,4939,1,0,0,0,4940,4941,1,0,0,0,4941,419,1,0,0,0,4942,4945,5,23,0,0,4943,4946,3,702,351,0,4944,4946,3,800,400,0,4945,4943,1,0,0,0,4945,4944,1,0,0,0,4945,4946,1,0,0,0,4946,4948,1,0,0,0,4947,4949,3,450,225,0,4948,4947,1,0,0,0,4949,4950,1,0,0,0,4950,4948,1,0,0,0,4950,4951,1,0,0,0,4951,4958,1,0,0,0,4952,4954,5,53,0,0,4953,4955,3,448,224,0,4954,4953,1,0,0,0,4955,4956,1,0,0,0,4956,4954,1,0,0,0,4956,4957,1,0,0,0,4957,4959,1,0,0,0,4958,4952,1,0,0,0,4958,4959,1,0,0,0,4959,4960,1,0,0,0,4960,4961,5,378,0,0,4961,4962,5,23,0,0,4962,421,1,0,0,0,4963,4964,5,78,0,0,4964,4965,3,800,400,0,4965,4967,5,175,0,0,4966,4968,3,448,224,0,4967,4966,1,0,0,0,4968,4969,1,0,0,0,4969,4967,1,0,0,0,4969,4970,1,0,0,0,4970,4974,1,0,0,0,4971,4973,3,452,226,0,4972,4971,1,0,0,0,4973,4976,1,0,0,0,4974,4972,1,0,0,0,4974,4975,1,0,0,0,4975,4983,1,0,0,0,4976,4974,1,0,0,0,4977,4979,5,53,0,0,4978,4980,3,448,224,0,4979,4978,1,0,0,0,4980,4981,1,0,0,0,4981,4979,1,0,0,0,4981,4982,1,0,0,0,4982,4984,1,0,0,0,4983,4977,1,0,0,0,4983,4984,1,0,0,0,4984,4985,1,0,0,0,4985,4986,5,378,0,0,4986,4987,5,78,0,0,4987,423,1,0,0,0,4988,4989,5,90,0,0,4989,4990,3,702,351,0,4990,425,1,0,0,0,4991,4992,5,97,0,0,4992,4993,3,702,351,0,4993,427,1,0,0,0,4994,4995,3,702,351,0,4995,4996,5,878,0,0,4996,4998,1,0,0,0,4997,4994,1,0,0,0,4997,4998,1,0,0,0,4998,4999,1,0,0,0,4999,5001,5,106,0,0,5e3,5002,3,448,224,0,5001,5e3,1,0,0,0,5002,5003,1,0,0,0,5003,5001,1,0,0,0,5003,5004,1,0,0,0,5004,5005,1,0,0,0,5005,5006,5,378,0,0,5006,5008,5,106,0,0,5007,5009,3,702,351,0,5008,5007,1,0,0,0,5008,5009,1,0,0,0,5009,429,1,0,0,0,5010,5011,3,702,351,0,5011,5012,5,878,0,0,5012,5014,1,0,0,0,5013,5010,1,0,0,0,5013,5014,1,0,0,0,5014,5015,1,0,0,0,5015,5017,5,142,0,0,5016,5018,3,448,224,0,5017,5016,1,0,0,0,5018,5019,1,0,0,0,5019,5017,1,0,0,0,5019,5020,1,0,0,0,5020,5021,1,0,0,0,5021,5022,5,676,0,0,5022,5023,3,800,400,0,5023,5024,5,378,0,0,5024,5026,5,142,0,0,5025,5027,3,702,351,0,5026,5025,1,0,0,0,5026,5027,1,0,0,0,5027,431,1,0,0,0,5028,5029,5,148,0,0,5029,5030,3,800,400,0,5030,433,1,0,0,0,5031,5032,3,702,351,0,5032,5033,5,878,0,0,5033,5035,1,0,0,0,5034,5031,1,0,0,0,5034,5035,1,0,0,0,5035,5036,1,0,0,0,5036,5037,5,193,0,0,5037,5038,3,800,400,0,5038,5040,5,371,0,0,5039,5041,3,448,224,0,5040,5039,1,0,0,0,5041,5042,1,0,0,0,5042,5040,1,0,0,0,5042,5043,1,0,0,0,5043,5044,1,0,0,0,5044,5045,5,378,0,0,5045,5047,5,193,0,0,5046,5048,3,702,351,0,5047,5046,1,0,0,0,5047,5048,1,0,0,0,5048,435,1,0,0,0,5049,5050,5,334,0,0,5050,5065,3,702,351,0,5051,5056,5,64,0,0,5052,5054,5,501,0,0,5053,5052,1,0,0,0,5053,5054,1,0,0,0,5054,5055,1,0,0,0,5055,5057,5,68,0,0,5056,5053,1,0,0,0,5056,5057,1,0,0,0,5057,5058,1,0,0,0,5058,5059,3,702,351,0,5059,5060,5,88,0,0,5060,5061,3,700,350,0,5061,5065,1,0,0,0,5062,5063,5,516,0,0,5063,5065,3,702,351,0,5064,5049,1,0,0,0,5064,5051,1,0,0,0,5064,5062,1,0,0,0,5065,437,1,0,0,0,5066,5067,5,41,0,0,5067,5068,3,700,350,0,5068,5071,3,722,361,0,5069,5070,5,42,0,0,5070,5072,3,800,400,0,5071,5069,1,0,0,0,5071,5072,1,0,0,0,5072,439,1,0,0,0,5073,5074,5,41,0,0,5074,5075,3,702,351,0,5075,5076,5,30,0,0,5076,5083,5,65,0,0,5077,5084,3,708,354,0,5078,5080,5,164,0,0,5079,5081,5,682,0,0,5080,5079,1,0,0,0,5080,5081,1,0,0,0,5081,5082,1,0,0,0,5082,5084,5,882,0,0,5083,5077,1,0,0,0,5083,5078,1,0,0,0,5084,441,1,0,0,0,5085,5086,5,41,0,0,5086,5087,3,702,351,0,5087,5088,5,38,0,0,5088,5089,5,65,0,0,5089,5090,3,204,102,0,5090,443,1,0,0,0,5091,5092,5,41,0,0,5092,5093,7,78,0,0,5093,5094,5,417,0,0,5094,5095,5,65,0,0,5095,5100,3,446,223,0,5096,5097,5,868,0,0,5097,5099,3,446,223,0,5098,5096,1,0,0,0,5099,5102,1,0,0,0,5100,5098,1,0,0,0,5100,5101,1,0,0,0,5101,5103,1,0,0,0,5102,5100,1,0,0,0,5103,5104,3,416,208,0,5104,445,1,0,0,0,5105,5117,3,708,354,0,5106,5108,5,164,0,0,5107,5109,5,682,0,0,5108,5107,1,0,0,0,5108,5109,1,0,0,0,5109,5110,1,0,0,0,5110,5117,5,882,0,0,5111,5117,3,702,351,0,5112,5117,5,165,0,0,5113,5114,5,114,0,0,5114,5117,5,407,0,0,5115,5117,5,163,0,0,5116,5105,1,0,0,0,5116,5106,1,0,0,0,5116,5111,1,0,0,0,5116,5112,1,0,0,0,5116,5113,1,0,0,0,5116,5115,1,0,0,0,5117,447,1,0,0,0,5118,5121,3,18,9,0,5119,5121,3,4,2,0,5120,5118,1,0,0,0,5120,5119,1,0,0,0,5121,5122,1,0,0,0,5122,5123,5,869,0,0,5123,449,1,0,0,0,5124,5127,5,191,0,0,5125,5128,3,720,360,0,5126,5128,3,800,400,0,5127,5125,1,0,0,0,5127,5126,1,0,0,0,5128,5129,1,0,0,0,5129,5131,5,175,0,0,5130,5132,3,448,224,0,5131,5130,1,0,0,0,5132,5133,1,0,0,0,5133,5131,1,0,0,0,5133,5134,1,0,0,0,5134,451,1,0,0,0,5135,5136,5,54,0,0,5136,5137,3,800,400,0,5137,5139,5,175,0,0,5138,5140,3,448,224,0,5139,5138,1,0,0,0,5140,5141,1,0,0,0,5141,5139,1,0,0,0,5141,5142,1,0,0,0,5142,453,1,0,0,0,5143,5144,5,8,0,0,5144,5146,5,678,0,0,5145,5147,3,754,377,0,5146,5145,1,0,0,0,5146,5147,1,0,0,0,5147,5204,1,0,0,0,5148,5153,3,486,243,0,5149,5150,5,868,0,0,5150,5152,3,486,243,0,5151,5149,1,0,0,0,5152,5155,1,0,0,0,5153,5151,1,0,0,0,5153,5154,1,0,0,0,5154,5205,1,0,0,0,5155,5153,1,0,0,0,5156,5161,3,488,244,0,5157,5158,5,868,0,0,5158,5160,3,488,244,0,5159,5157,1,0,0,0,5160,5163,1,0,0,0,5161,5159,1,0,0,0,5161,5162,1,0,0,0,5162,5178,1,0,0,0,5163,5161,1,0,0,0,5164,5176,5,144,0,0,5165,5177,5,505,0,0,5166,5173,3,500,250,0,5167,5169,5,11,0,0,5168,5167,1,0,0,0,5168,5169,1,0,0,0,5169,5170,1,0,0,0,5170,5172,3,500,250,0,5171,5168,1,0,0,0,5172,5175,1,0,0,0,5173,5171,1,0,0,0,5173,5174,1,0,0,0,5174,5177,1,0,0,0,5175,5173,1,0,0,0,5176,5165,1,0,0,0,5176,5166,1,0,0,0,5177,5179,1,0,0,0,5178,5164,1,0,0,0,5178,5179,1,0,0,0,5179,5186,1,0,0,0,5180,5182,5,194,0,0,5181,5183,3,502,251,0,5182,5181,1,0,0,0,5183,5184,1,0,0,0,5184,5182,1,0,0,0,5184,5185,1,0,0,0,5185,5187,1,0,0,0,5186,5180,1,0,0,0,5186,5187,1,0,0,0,5187,5192,1,0,0,0,5188,5191,3,504,252,0,5189,5191,3,506,253,0,5190,5188,1,0,0,0,5190,5189,1,0,0,0,5191,5194,1,0,0,0,5192,5190,1,0,0,0,5192,5193,1,0,0,0,5193,5197,1,0,0,0,5194,5192,1,0,0,0,5195,5196,7,79,0,0,5196,5198,5,882,0,0,5197,5195,1,0,0,0,5197,5198,1,0,0,0,5198,5205,1,0,0,0,5199,5200,3,652,326,0,5200,5201,5,42,0,0,5201,5202,5,582,0,0,5202,5203,3,462,231,0,5203,5205,1,0,0,0,5204,5148,1,0,0,0,5204,5156,1,0,0,0,5204,5199,1,0,0,0,5205,455,1,0,0,0,5206,5207,5,34,0,0,5207,5209,5,678,0,0,5208,5210,3,756,378,0,5209,5208,1,0,0,0,5209,5210,1,0,0,0,5210,5211,1,0,0,0,5211,5213,3,680,340,0,5212,5214,3,490,245,0,5213,5212,1,0,0,0,5213,5214,1,0,0,0,5214,5222,1,0,0,0,5215,5216,5,868,0,0,5216,5218,3,680,340,0,5217,5219,3,490,245,0,5218,5217,1,0,0,0,5218,5219,1,0,0,0,5219,5221,1,0,0,0,5220,5215,1,0,0,0,5221,5224,1,0,0,0,5222,5220,1,0,0,0,5222,5223,1,0,0,0,5223,5228,1,0,0,0,5224,5222,1,0,0,0,5225,5226,5,42,0,0,5226,5227,5,582,0,0,5227,5229,3,462,231,0,5228,5225,1,0,0,0,5228,5229,1,0,0,0,5229,5244,1,0,0,0,5230,5242,5,144,0,0,5231,5243,5,505,0,0,5232,5239,3,500,250,0,5233,5235,5,11,0,0,5234,5233,1,0,0,0,5234,5235,1,0,0,0,5235,5236,1,0,0,0,5236,5238,3,500,250,0,5237,5234,1,0,0,0,5238,5241,1,0,0,0,5239,5237,1,0,0,0,5239,5240,1,0,0,0,5240,5243,1,0,0,0,5241,5239,1,0,0,0,5242,5231,1,0,0,0,5242,5232,1,0,0,0,5243,5245,1,0,0,0,5244,5230,1,0,0,0,5244,5245,1,0,0,0,5245,5252,1,0,0,0,5246,5248,5,194,0,0,5247,5249,3,502,251,0,5248,5247,1,0,0,0,5249,5250,1,0,0,0,5250,5248,1,0,0,0,5250,5251,1,0,0,0,5251,5253,1,0,0,0,5252,5246,1,0,0,0,5252,5253,1,0,0,0,5253,5258,1,0,0,0,5254,5257,3,504,252,0,5255,5257,3,506,253,0,5256,5254,1,0,0,0,5256,5255,1,0,0,0,5257,5260,1,0,0,0,5258,5256,1,0,0,0,5258,5259,1,0,0,0,5259,5263,1,0,0,0,5260,5258,1,0,0,0,5261,5262,7,79,0,0,5262,5264,5,882,0,0,5263,5261,1,0,0,0,5263,5264,1,0,0,0,5264,457,1,0,0,0,5265,5266,5,51,0,0,5266,5268,5,678,0,0,5267,5269,3,754,377,0,5268,5267,1,0,0,0,5268,5269,1,0,0,0,5269,5270,1,0,0,0,5270,5275,3,680,340,0,5271,5272,5,868,0,0,5272,5274,3,680,340,0,5273,5271,1,0,0,0,5274,5277,1,0,0,0,5275,5273,1,0,0,0,5275,5276,1,0,0,0,5276,459,1,0,0,0,5277,5275,1,0,0,0,5278,5279,5,73,0,0,5279,5284,3,514,257,0,5280,5281,5,868,0,0,5281,5283,3,514,257,0,5282,5280,1,0,0,0,5283,5286,1,0,0,0,5284,5282,1,0,0,0,5284,5285,1,0,0,0,5285,5287,1,0,0,0,5286,5284,1,0,0,0,5287,5289,5,119,0,0,5288,5290,3,482,241,0,5289,5288,1,0,0,0,5289,5290,1,0,0,0,5290,5291,1,0,0,0,5291,5292,3,518,259,0,5292,5302,5,176,0,0,5293,5298,3,494,247,0,5294,5295,5,868,0,0,5295,5297,3,494,247,0,5296,5294,1,0,0,0,5297,5300,1,0,0,0,5298,5296,1,0,0,0,5298,5299,1,0,0,0,5299,5303,1,0,0,0,5300,5298,1,0,0,0,5301,5303,3,650,325,0,5302,5293,1,0,0,0,5302,5301,1,0,0,0,5303,5318,1,0,0,0,5304,5316,5,144,0,0,5305,5317,5,505,0,0,5306,5313,3,500,250,0,5307,5309,5,11,0,0,5308,5307,1,0,0,0,5308,5309,1,0,0,0,5309,5310,1,0,0,0,5310,5312,3,500,250,0,5311,5308,1,0,0,0,5312,5315,1,0,0,0,5313,5311,1,0,0,0,5313,5314,1,0,0,0,5314,5317,1,0,0,0,5315,5313,1,0,0,0,5316,5305,1,0,0,0,5316,5306,1,0,0,0,5317,5319,1,0,0,0,5318,5304,1,0,0,0,5318,5319,1,0,0,0,5319,5329,1,0,0,0,5320,5326,5,194,0,0,5321,5322,5,73,0,0,5322,5325,5,121,0,0,5323,5325,3,502,251,0,5324,5321,1,0,0,0,5324,5323,1,0,0,0,5325,5328,1,0,0,0,5326,5324,1,0,0,0,5326,5327,1,0,0,0,5327,5330,1,0,0,0,5328,5326,1,0,0,0,5329,5320,1,0,0,0,5329,5330,1,0,0,0,5330,5338,1,0,0,0,5331,5332,5,13,0,0,5332,5336,3,680,340,0,5333,5334,5,194,0,0,5334,5335,5,582,0,0,5335,5337,3,462,231,0,5336,5333,1,0,0,0,5336,5337,1,0,0,0,5337,5339,1,0,0,0,5338,5331,1,0,0,0,5338,5339,1,0,0,0,5339,5368,1,0,0,0,5340,5343,5,73,0,0,5341,5342,5,547,0,0,5342,5344,5,119,0,0,5343,5341,1,0,0,0,5343,5344,1,0,0,0,5344,5345,1,0,0,0,5345,5350,3,652,326,0,5346,5347,5,868,0,0,5347,5349,3,652,326,0,5348,5346,1,0,0,0,5349,5352,1,0,0,0,5350,5348,1,0,0,0,5350,5351,1,0,0,0,5351,5353,1,0,0,0,5352,5350,1,0,0,0,5353,5354,5,176,0,0,5354,5359,3,652,326,0,5355,5356,5,868,0,0,5356,5358,3,652,326,0,5357,5355,1,0,0,0,5358,5361,1,0,0,0,5359,5357,1,0,0,0,5359,5360,1,0,0,0,5360,5365,1,0,0,0,5361,5359,1,0,0,0,5362,5363,5,194,0,0,5363,5364,5,704,0,0,5364,5366,5,121,0,0,5365,5362,1,0,0,0,5365,5366,1,0,0,0,5366,5368,1,0,0,0,5367,5278,1,0,0,0,5367,5340,1,0,0,0,5368,461,1,0,0,0,5369,5378,5,42,0,0,5370,5378,5,505,0,0,5371,5374,5,7,0,0,5372,5373,5,59,0,0,5373,5375,3,650,325,0,5374,5372,1,0,0,0,5374,5375,1,0,0,0,5375,5378,1,0,0,0,5376,5378,3,650,325,0,5377,5369,1,0,0,0,5377,5370,1,0,0,0,5377,5371,1,0,0,0,5377,5376,1,0,0,0,5378,463,1,0,0,0,5379,5380,5,73,0,0,5380,5381,5,547,0,0,5381,5382,5,119,0,0,5382,5383,3,680,340,0,5383,5384,5,176,0,0,5384,5389,3,680,340,0,5385,5386,5,868,0,0,5386,5388,3,680,340,0,5387,5385,1,0,0,0,5388,5391,1,0,0,0,5389,5387,1,0,0,0,5389,5390,1,0,0,0,5390,5395,1,0,0,0,5391,5389,1,0,0,0,5392,5393,5,194,0,0,5393,5394,5,73,0,0,5394,5396,5,121,0,0,5395,5392,1,0,0,0,5395,5396,1,0,0,0,5396,465,1,0,0,0,5397,5398,5,8,0,0,5398,5399,5,739,0,0,5399,5400,5,74,0,0,5400,5406,3,642,321,0,5401,5403,5,190,0,0,5402,5404,5,857,0,0,5403,5402,1,0,0,0,5403,5404,1,0,0,0,5404,5405,1,0,0,0,5405,5407,3,474,237,0,5406,5401,1,0,0,0,5406,5407,1,0,0,0,5407,5413,1,0,0,0,5408,5410,5,837,0,0,5409,5411,5,857,0,0,5410,5409,1,0,0,0,5410,5411,1,0,0,0,5411,5412,1,0,0,0,5412,5414,3,708,354,0,5413,5408,1,0,0,0,5413,5414,1,0,0,0,5414,5419,1,0,0,0,5415,5417,7,38,0,0,5416,5418,5,66,0,0,5417,5416,1,0,0,0,5417,5418,1,0,0,0,5418,5420,1,0,0,0,5419,5415,1,0,0,0,5419,5420,1,0,0,0,5420,467,1,0,0,0,5421,5422,5,34,0,0,5422,5423,5,739,0,0,5423,5424,5,74,0,0,5424,5425,3,640,320,0,5425,5426,5,839,0,0,5426,5427,5,857,0,0,5427,5433,7,80,0,0,5428,5430,5,190,0,0,5429,5431,5,857,0,0,5430,5429,1,0,0,0,5430,5431,1,0,0,0,5431,5432,1,0,0,0,5432,5434,3,474,237,0,5433,5428,1,0,0,0,5433,5434,1,0,0,0,5434,5440,1,0,0,0,5435,5437,5,837,0,0,5436,5438,5,857,0,0,5437,5436,1,0,0,0,5437,5438,1,0,0,0,5438,5439,1,0,0,0,5439,5441,3,708,354,0,5440,5435,1,0,0,0,5440,5441,1,0,0,0,5441,5443,1,0,0,0,5442,5444,7,38,0,0,5443,5442,1,0,0,0,5443,5444,1,0,0,0,5444,469,1,0,0,0,5445,5446,5,51,0,0,5446,5447,5,739,0,0,5447,5448,5,74,0,0,5448,5450,3,642,321,0,5449,5451,5,66,0,0,5450,5449,1,0,0,0,5450,5451,1,0,0,0,5451,471,1,0,0,0,5452,5453,5,155,0,0,5453,5454,5,739,0,0,5454,5455,5,74,0,0,5455,5465,3,642,321,0,5456,5457,5,65,0,0,5457,5462,3,708,354,0,5458,5459,5,868,0,0,5459,5461,3,708,354,0,5460,5458,1,0,0,0,5461,5464,1,0,0,0,5462,5460,1,0,0,0,5462,5463,1,0,0,0,5463,5466,1,0,0,0,5464,5462,1,0,0,0,5465,5456,1,0,0,0,5465,5466,1,0,0,0,5466,473,1,0,0,0,5467,5473,3,708,354,0,5468,5469,3,708,354,0,5469,5470,5,854,0,0,5470,5471,3,708,354,0,5471,5473,1,0,0,0,5472,5467,1,0,0,0,5472,5468,1,0,0,0,5473,5478,1,0,0,0,5474,5475,5,868,0,0,5475,5477,3,474,237,0,5476,5474,1,0,0,0,5477,5480,1,0,0,0,5478,5476,1,0,0,0,5478,5479,1,0,0,0,5479,475,1,0,0,0,5480,5478,1,0,0,0,5481,5482,5,141,0,0,5482,5483,5,678,0,0,5483,5488,3,520,260,0,5484,5485,5,868,0,0,5485,5487,3,520,260,0,5486,5484,1,0,0,0,5487,5490,1,0,0,0,5488,5486,1,0,0,0,5488,5489,1,0,0,0,5489,477,1,0,0,0,5490,5488,1,0,0,0,5491,5493,5,149,0,0,5492,5494,3,754,377,0,5493,5492,1,0,0,0,5493,5494,1,0,0,0,5494,5495,1,0,0,0,5495,5500,3,514,257,0,5496,5497,5,868,0,0,5497,5499,3,514,257,0,5498,5496,1,0,0,0,5499,5502,1,0,0,0,5500,5498,1,0,0,0,5500,5501,1,0,0,0,5501,5503,1,0,0,0,5502,5500,1,0,0,0,5503,5505,5,119,0,0,5504,5506,3,482,241,0,5505,5504,1,0,0,0,5505,5506,1,0,0,0,5506,5507,1,0,0,0,5507,5508,3,518,259,0,5508,5509,5,68,0,0,5509,5511,3,650,325,0,5510,5512,3,480,240,0,5511,5510,1,0,0,0,5511,5512,1,0,0,0,5512,5544,1,0,0,0,5513,5515,5,149,0,0,5514,5516,3,754,377,0,5515,5514,1,0,0,0,5515,5516,1,0,0,0,5516,5517,1,0,0,0,5517,5519,5,7,0,0,5518,5520,5,734,0,0,5519,5518,1,0,0,0,5519,5520,1,0,0,0,5520,5521,1,0,0,0,5521,5522,5,868,0,0,5522,5523,5,73,0,0,5523,5524,5,121,0,0,5524,5525,5,68,0,0,5525,5527,3,650,325,0,5526,5528,3,480,240,0,5527,5526,1,0,0,0,5527,5528,1,0,0,0,5528,5544,1,0,0,0,5529,5531,5,149,0,0,5530,5532,3,754,377,0,5531,5530,1,0,0,0,5531,5532,1,0,0,0,5532,5535,1,0,0,0,5533,5534,5,547,0,0,5534,5536,5,119,0,0,5535,5533,1,0,0,0,5535,5536,1,0,0,0,5536,5537,1,0,0,0,5537,5538,3,650,325,0,5538,5539,5,68,0,0,5539,5541,3,650,325,0,5540,5542,3,480,240,0,5541,5540,1,0,0,0,5541,5542,1,0,0,0,5542,5544,1,0,0,0,5543,5491,1,0,0,0,5543,5513,1,0,0,0,5543,5529,1,0,0,0,5544,479,1,0,0,0,5545,5546,5,79,0,0,5546,5547,5,674,0,0,5547,5548,5,678,0,0,5548,481,1,0,0,0,5549,5550,7,81,0,0,5550,483,1,0,0,0,5551,5552,5,155,0,0,5552,5555,5,529,0,0,5553,5554,5,65,0,0,5554,5556,3,680,340,0,5555,5553,1,0,0,0,5555,5556,1,0,0,0,5556,5557,1,0,0,0,5557,5560,5,857,0,0,5558,5561,3,794,397,0,5559,5561,5,882,0,0,5560,5558,1,0,0,0,5560,5559,1,0,0,0,5561,5584,1,0,0,0,5562,5563,5,155,0,0,5563,5566,5,529,0,0,5564,5565,5,65,0,0,5565,5567,3,680,340,0,5566,5564,1,0,0,0,5566,5567,1,0,0,0,5567,5572,1,0,0,0,5568,5569,5,176,0,0,5569,5573,5,829,0,0,5570,5571,5,857,0,0,5571,5573,5,882,0,0,5572,5568,1,0,0,0,5572,5570,1,0,0,0,5573,5576,1,0,0,0,5574,5575,5,143,0,0,5575,5577,5,882,0,0,5576,5574,1,0,0,0,5576,5577,1,0,0,0,5577,5581,1,0,0,0,5578,5579,5,147,0,0,5579,5580,5,36,0,0,5580,5582,5,529,0,0,5581,5578,1,0,0,0,5581,5582,1,0,0,0,5582,5584,1,0,0,0,5583,5551,1,0,0,0,5583,5562,1,0,0,0,5584,485,1,0,0,0,5585,5586,3,680,340,0,5586,5587,3,504,252,0,5587,487,1,0,0,0,5588,5614,3,680,340,0,5589,5590,5,423,0,0,5590,5591,5,20,0,0,5591,5592,5,882,0,0,5592,5615,3,496,248,0,5593,5594,5,423,0,0,5594,5595,5,20,0,0,5595,5596,5,829,0,0,5596,5597,5,529,0,0,5597,5615,3,496,248,0,5598,5599,5,423,0,0,5599,5600,5,194,0,0,5600,5615,3,498,249,0,5601,5602,5,369,0,0,5602,5603,5,511,0,0,5603,5615,5,529,0,0,5604,5605,7,82,0,0,5605,5607,3,512,256,0,5606,5608,3,508,254,0,5607,5606,1,0,0,0,5607,5608,1,0,0,0,5608,5610,1,0,0,0,5609,5604,1,0,0,0,5610,5611,1,0,0,0,5611,5609,1,0,0,0,5611,5612,1,0,0,0,5612,5615,1,0,0,0,5613,5615,3,510,255,0,5614,5589,1,0,0,0,5614,5593,1,0,0,0,5614,5598,1,0,0,0,5614,5601,1,0,0,0,5614,5609,1,0,0,0,5614,5613,1,0,0,0,5614,5615,1,0,0,0,5615,489,1,0,0,0,5616,5617,5,423,0,0,5617,5623,5,20,0,0,5618,5624,5,882,0,0,5619,5620,5,829,0,0,5620,5624,5,529,0,0,5621,5622,5,529,0,0,5622,5624,5,882,0,0,5623,5618,1,0,0,0,5623,5619,1,0,0,0,5623,5621,1,0,0,0,5624,5627,1,0,0,0,5625,5626,5,11,0,0,5626,5628,3,490,245,0,5627,5625,1,0,0,0,5627,5628,1,0,0,0,5628,5653,1,0,0,0,5629,5630,5,423,0,0,5630,5631,5,194,0,0,5631,5640,3,702,351,0,5632,5636,5,20,0,0,5633,5637,5,882,0,0,5634,5635,5,829,0,0,5635,5637,5,529,0,0,5636,5633,1,0,0,0,5636,5634,1,0,0,0,5637,5641,1,0,0,0,5638,5639,5,13,0,0,5639,5641,5,882,0,0,5640,5632,1,0,0,0,5640,5638,1,0,0,0,5640,5641,1,0,0,0,5641,5644,1,0,0,0,5642,5643,5,11,0,0,5643,5645,3,490,245,0,5644,5642,1,0,0,0,5644,5645,1,0,0,0,5645,5653,1,0,0,0,5646,5647,5,423,0,0,5647,5648,5,194,0,0,5648,5650,3,702,351,0,5649,5651,3,492,246,0,5650,5649,1,0,0,0,5650,5651,1,0,0,0,5651,5653,1,0,0,0,5652,5616,1,0,0,0,5652,5629,1,0,0,0,5652,5646,1,0,0,0,5653,491,1,0,0,0,5654,5655,5,427,0,0,5655,5656,5,708,0,0,5656,5657,5,423,0,0,5657,5661,5,20,0,0,5658,5659,5,829,0,0,5659,5662,5,529,0,0,5660,5662,5,882,0,0,5661,5658,1,0,0,0,5661,5660,1,0,0,0,5662,5672,1,0,0,0,5663,5664,5,427,0,0,5664,5665,5,708,0,0,5665,5666,5,423,0,0,5666,5667,5,194,0,0,5667,5668,3,702,351,0,5668,5669,5,13,0,0,5669,5670,5,882,0,0,5670,5672,1,0,0,0,5671,5654,1,0,0,0,5671,5663,1,0,0,0,5672,493,1,0,0,0,5673,5674,3,680,340,0,5674,5675,5,423,0,0,5675,5676,5,20,0,0,5676,5677,5,529,0,0,5677,5678,5,882,0,0,5678,5699,1,0,0,0,5679,5680,3,680,340,0,5680,5681,5,423,0,0,5681,5682,5,20,0,0,5682,5683,5,829,0,0,5683,5684,5,529,0,0,5684,5685,3,496,248,0,5685,5699,1,0,0,0,5686,5687,3,680,340,0,5687,5688,5,423,0,0,5688,5689,5,20,0,0,5689,5690,5,882,0,0,5690,5691,3,496,248,0,5691,5699,1,0,0,0,5692,5693,3,680,340,0,5693,5694,5,423,0,0,5694,5695,5,194,0,0,5695,5696,3,498,249,0,5696,5699,1,0,0,0,5697,5699,3,680,340,0,5698,5673,1,0,0,0,5698,5679,1,0,0,0,5698,5686,1,0,0,0,5698,5692,1,0,0,0,5698,5697,1,0,0,0,5699,495,1,0,0,0,5700,5701,5,143,0,0,5701,5703,5,882,0,0,5702,5700,1,0,0,0,5702,5703,1,0,0,0,5703,5707,1,0,0,0,5704,5705,5,147,0,0,5705,5706,5,36,0,0,5706,5708,5,529,0,0,5707,5704,1,0,0,0,5707,5708,1,0,0,0,5708,497,1,0,0,0,5709,5717,3,702,351,0,5710,5714,7,83,0,0,5711,5715,5,882,0,0,5712,5713,5,829,0,0,5713,5715,5,529,0,0,5714,5711,1,0,0,0,5714,5712,1,0,0,0,5715,5716,1,0,0,0,5716,5718,3,496,248,0,5717,5710,1,0,0,0,5717,5718,1,0,0,0,5718,5724,1,0,0,0,5719,5720,3,702,351,0,5720,5721,5,188,0,0,5721,5722,3,794,397,0,5722,5724,1,0,0,0,5723,5709,1,0,0,0,5723,5719,1,0,0,0,5724,499,1,0,0,0,5725,5734,5,169,0,0,5726,5734,5,693,0,0,5727,5728,5,331,0,0,5728,5734,5,882,0,0,5729,5730,5,441,0,0,5730,5734,5,882,0,0,5731,5732,5,651,0,0,5732,5734,5,882,0,0,5733,5725,1,0,0,0,5733,5726,1,0,0,0,5733,5727,1,0,0,0,5733,5729,1,0,0,0,5733,5731,1,0,0,0,5734,501,1,0,0,0,5735,5736,5,479,0,0,5736,5744,3,708,354,0,5737,5738,5,482,0,0,5738,5744,3,708,354,0,5739,5740,5,478,0,0,5740,5744,3,708,354,0,5741,5742,5,483,0,0,5742,5744,3,708,354,0,5743,5735,1,0,0,0,5743,5737,1,0,0,0,5743,5739,1,0,0,0,5743,5741,1,0,0,0,5744,503,1,0,0,0,5745,5746,5,529,0,0,5746,5753,5,390,0,0,5747,5754,5,42,0,0,5748,5754,5,500,0,0,5749,5750,5,87,0,0,5750,5751,3,708,354,0,5751,5752,5,698,0,0,5752,5754,1,0,0,0,5753,5747,1,0,0,0,5753,5748,1,0,0,0,5753,5749,1,0,0,0,5753,5754,1,0,0,0,5754,5784,1,0,0,0,5755,5756,5,529,0,0,5756,5759,5,420,0,0,5757,5760,5,42,0,0,5758,5760,3,708,354,0,5759,5757,1,0,0,0,5759,5758,1,0,0,0,5760,5784,1,0,0,0,5761,5762,5,529,0,0,5762,5763,5,581,0,0,5763,5768,5,87,0,0,5764,5769,5,42,0,0,5765,5766,3,708,354,0,5766,5767,5,698,0,0,5767,5769,1,0,0,0,5768,5764,1,0,0,0,5768,5765,1,0,0,0,5769,5784,1,0,0,0,5770,5771,5,529,0,0,5771,5772,5,144,0,0,5772,5774,5,36,0,0,5773,5775,7,84,0,0,5774,5773,1,0,0,0,5774,5775,1,0,0,0,5775,5784,1,0,0,0,5776,5777,5,395,0,0,5777,5784,3,708,354,0,5778,5781,5,530,0,0,5779,5782,3,708,354,0,5780,5782,5,669,0,0,5781,5779,1,0,0,0,5781,5780,1,0,0,0,5782,5784,1,0,0,0,5783,5745,1,0,0,0,5783,5755,1,0,0,0,5783,5761,1,0,0,0,5783,5770,1,0,0,0,5783,5776,1,0,0,0,5783,5778,1,0,0,0,5784,505,1,0,0,0,5785,5786,5,304,0,0,5786,5787,7,85,0,0,5787,507,1,0,0,0,5788,5791,5,423,0,0,5789,5790,5,194,0,0,5790,5792,3,702,351,0,5791,5789,1,0,0,0,5791,5792,1,0,0,0,5792,5801,1,0,0,0,5793,5797,5,20,0,0,5794,5798,5,882,0,0,5795,5796,5,829,0,0,5796,5798,5,529,0,0,5797,5794,1,0,0,0,5797,5795,1,0,0,0,5798,5802,1,0,0,0,5799,5800,5,13,0,0,5800,5802,5,882,0,0,5801,5793,1,0,0,0,5801,5799,1,0,0,0,5802,509,1,0,0,0,5803,5804,3,512,256,0,5804,5805,5,429,0,0,5805,5806,5,555,0,0,5806,5819,1,0,0,0,5807,5808,3,512,256,0,5808,5809,5,401,0,0,5809,5810,5,555,0,0,5810,5811,5,155,0,0,5811,5812,5,330,0,0,5812,5813,5,13,0,0,5813,5814,5,882,0,0,5814,5819,1,0,0,0,5815,5816,3,512,256,0,5816,5817,5,675,0,0,5817,5819,1,0,0,0,5818,5803,1,0,0,0,5818,5807,1,0,0,0,5818,5815,1,0,0,0,5819,511,1,0,0,0,5820,5821,7,86,0,0,5821,5822,5,394,0,0,5822,513,1,0,0,0,5823,5828,3,516,258,0,5824,5825,5,866,0,0,5825,5826,3,656,328,0,5826,5827,5,867,0,0,5827,5829,1,0,0,0,5828,5824,1,0,0,0,5828,5829,1,0,0,0,5829,515,1,0,0,0,5830,5832,5,7,0,0,5831,5833,5,734,0,0,5832,5831,1,0,0,0,5832,5833,1,0,0,0,5833,5924,1,0,0,0,5834,5836,5,8,0,0,5835,5837,5,743,0,0,5836,5835,1,0,0,0,5836,5837,1,0,0,0,5837,5924,1,0,0,0,5838,5846,5,34,0,0,5839,5840,5,660,0,0,5840,5847,5,752,0,0,5841,5847,5,743,0,0,5842,5847,5,684,0,0,5843,5847,5,678,0,0,5844,5847,5,658,0,0,5845,5847,5,582,0,0,5846,5839,1,0,0,0,5846,5841,1,0,0,0,5846,5842,1,0,0,0,5846,5843,1,0,0,0,5846,5844,1,0,0,0,5846,5845,1,0,0,0,5846,5847,1,0,0,0,5847,5924,1,0,0,0,5848,5924,5,44,0,0,5849,5851,5,51,0,0,5850,5852,5,582,0,0,5851,5850,1,0,0,0,5851,5852,1,0,0,0,5852,5924,1,0,0,0,5853,5924,5,385,0,0,5854,5924,5,717,0,0,5855,5924,5,718,0,0,5856,5857,5,73,0,0,5857,5924,5,121,0,0,5858,5924,5,82,0,0,5859,5924,5,86,0,0,5860,5861,5,104,0,0,5861,5924,5,752,0,0,5862,5924,5,735,0,0,5863,5924,5,547,0,0,5864,5924,5,138,0,0,5865,5924,5,736,0,0,5866,5867,5,572,0,0,5867,5924,7,87,0,0,5868,5924,5,154,0,0,5869,5870,5,157,0,0,5870,5924,7,88,0,0,5871,5924,5,749,0,0,5872,5924,5,750,0,0,5873,5924,5,178,0,0,5874,5924,5,185,0,0,5875,5924,5,186,0,0,5876,5924,5,705,0,0,5877,5924,5,706,0,0,5878,5924,5,707,0,0,5879,5924,5,709,0,0,5880,5924,5,710,0,0,5881,5924,5,711,0,0,5882,5924,5,712,0,0,5883,5924,5,714,0,0,5884,5924,5,715,0,0,5885,5924,5,716,0,0,5886,5924,5,719,0,0,5887,5924,5,720,0,0,5888,5924,5,721,0,0,5889,5924,5,722,0,0,5890,5924,5,723,0,0,5891,5924,5,724,0,0,5892,5924,5,725,0,0,5893,5924,5,726,0,0,5894,5924,5,727,0,0,5895,5924,5,728,0,0,5896,5924,5,731,0,0,5897,5924,5,732,0,0,5898,5924,5,733,0,0,5899,5924,5,737,0,0,5900,5924,5,738,0,0,5901,5924,5,740,0,0,5902,5924,5,741,0,0,5903,5924,5,742,0,0,5904,5924,5,745,0,0,5905,5924,5,746,0,0,5906,5924,5,747,0,0,5907,5924,5,160,0,0,5908,5924,5,748,0,0,5909,5924,5,836,0,0,5910,5924,5,751,0,0,5911,5924,5,753,0,0,5912,5924,5,838,0,0,5913,5924,5,754,0,0,5914,5924,5,755,0,0,5915,5916,5,103,0,0,5916,5917,5,68,0,0,5917,5924,5,744,0,0,5918,5919,5,154,0,0,5919,5920,5,88,0,0,5920,5924,5,744,0,0,5921,5922,5,729,0,0,5922,5924,5,730,0,0,5923,5830,1,0,0,0,5923,5834,1,0,0,0,5923,5838,1,0,0,0,5923,5848,1,0,0,0,5923,5849,1,0,0,0,5923,5853,1,0,0,0,5923,5854,1,0,0,0,5923,5855,1,0,0,0,5923,5856,1,0,0,0,5923,5858,1,0,0,0,5923,5859,1,0,0,0,5923,5860,1,0,0,0,5923,5862,1,0,0,0,5923,5863,1,0,0,0,5923,5864,1,0,0,0,5923,5865,1,0,0,0,5923,5866,1,0,0,0,5923,5868,1,0,0,0,5923,5869,1,0,0,0,5923,5871,1,0,0,0,5923,5872,1,0,0,0,5923,5873,1,0,0,0,5923,5874,1,0,0,0,5923,5875,1,0,0,0,5923,5876,1,0,0,0,5923,5877,1,0,0,0,5923,5878,1,0,0,0,5923,5879,1,0,0,0,5923,5880,1,0,0,0,5923,5881,1,0,0,0,5923,5882,1,0,0,0,5923,5883,1,0,0,0,5923,5884,1,0,0,0,5923,5885,1,0,0,0,5923,5886,1,0,0,0,5923,5887,1,0,0,0,5923,5888,1,0,0,0,5923,5889,1,0,0,0,5923,5890,1,0,0,0,5923,5891,1,0,0,0,5923,5892,1,0,0,0,5923,5893,1,0,0,0,5923,5894,1,0,0,0,5923,5895,1,0,0,0,5923,5896,1,0,0,0,5923,5897,1,0,0,0,5923,5898,1,0,0,0,5923,5899,1,0,0,0,5923,5900,1,0,0,0,5923,5901,1,0,0,0,5923,5902,1,0,0,0,5923,5903,1,0,0,0,5923,5904,1,0,0,0,5923,5905,1,0,0,0,5923,5906,1,0,0,0,5923,5907,1,0,0,0,5923,5908,1,0,0,0,5923,5909,1,0,0,0,5923,5910,1,0,0,0,5923,5911,1,0,0,0,5923,5912,1,0,0,0,5923,5913,1,0,0,0,5923,5914,1,0,0,0,5923,5915,1,0,0,0,5923,5918,1,0,0,0,5923,5921,1,0,0,0,5924,517,1,0,0,0,5925,5942,5,850,0,0,5926,5927,5,850,0,0,5927,5928,5,865,0,0,5928,5942,5,850,0,0,5929,5930,3,702,351,0,5930,5931,5,865,0,0,5931,5932,5,850,0,0,5932,5942,1,0,0,0,5933,5934,3,702,351,0,5934,5935,5,865,0,0,5935,5936,3,702,351,0,5936,5942,1,0,0,0,5937,5938,3,702,351,0,5938,5939,3,706,353,0,5939,5942,1,0,0,0,5940,5942,3,702,351,0,5941,5925,1,0,0,0,5941,5926,1,0,0,0,5941,5929,1,0,0,0,5941,5933,1,0,0,0,5941,5937,1,0,0,0,5941,5940,1,0,0,0,5942,519,1,0,0,0,5943,5944,3,680,340,0,5944,5945,5,176,0,0,5945,5946,3,680,340,0,5946,521,1,0,0,0,5947,5949,5,10,0,0,5948,5950,3,532,266,0,5949,5948,1,0,0,0,5949,5950,1,0,0,0,5950,5951,1,0,0,0,5951,5952,5,173,0,0,5952,5996,3,646,323,0,5953,5955,5,10,0,0,5954,5956,3,532,266,0,5955,5954,1,0,0,0,5955,5956,1,0,0,0,5956,5957,1,0,0,0,5957,5958,5,173,0,0,5958,5959,3,648,324,0,5959,5960,5,185,0,0,5960,5961,5,77,0,0,5961,5962,5,119,0,0,5962,5967,3,656,328,0,5963,5964,5,194,0,0,5964,5965,3,708,354,0,5965,5966,5,19,0,0,5966,5968,1,0,0,0,5967,5963,1,0,0,0,5967,5968,1,0,0,0,5968,5996,1,0,0,0,5969,5971,5,10,0,0,5970,5972,3,532,266,0,5971,5970,1,0,0,0,5971,5972,1,0,0,0,5972,5973,1,0,0,0,5973,5974,5,173,0,0,5974,5975,3,648,324,0,5975,5976,5,185,0,0,5976,5977,5,77,0,0,5977,5978,5,119,0,0,5978,5982,3,658,329,0,5979,5980,5,188,0,0,5980,5981,5,360,0,0,5981,5983,5,882,0,0,5982,5979,1,0,0,0,5982,5983,1,0,0,0,5983,5996,1,0,0,0,5984,5986,5,10,0,0,5985,5987,3,532,266,0,5986,5985,1,0,0,0,5986,5987,1,0,0,0,5987,5988,1,0,0,0,5988,5989,5,173,0,0,5989,5990,3,648,324,0,5990,5991,5,51,0,0,5991,5992,5,77,0,0,5992,5993,5,119,0,0,5993,5994,3,656,328,0,5994,5996,1,0,0,0,5995,5947,1,0,0,0,5995,5953,1,0,0,0,5995,5969,1,0,0,0,5995,5984,1,0,0,0,5996,523,1,0,0,0,5997,5998,5,27,0,0,5998,5999,5,173,0,0,5999,6003,3,646,323,0,6e3,6002,3,534,267,0,6001,6e3,1,0,0,0,6002,6005,1,0,0,0,6003,6001,1,0,0,0,6003,6004,1,0,0,0,6004,525,1,0,0,0,6005,6003,1,0,0,0,6006,6007,5,329,0,0,6007,6008,5,173,0,0,6008,6010,3,646,323,0,6009,6011,7,89,0,0,6010,6009,1,0,0,0,6010,6011,1,0,0,0,6011,527,1,0,0,0,6012,6014,5,120,0,0,6013,6015,3,532,266,0,6014,6013,1,0,0,0,6014,6015,1,0,0,0,6015,6016,1,0,0,0,6016,6017,7,60,0,0,6017,6018,3,646,323,0,6018,529,1,0,0,0,6019,6021,5,562,0,0,6020,6022,3,532,266,0,6021,6020,1,0,0,0,6021,6022,1,0,0,0,6022,6023,1,0,0,0,6023,6024,5,173,0,0,6024,6026,3,646,323,0,6025,6027,5,549,0,0,6026,6025,1,0,0,0,6026,6027,1,0,0,0,6027,6029,1,0,0,0,6028,6030,5,392,0,0,6029,6028,1,0,0,0,6029,6030,1,0,0,0,6030,6032,1,0,0,0,6031,6033,5,679,0,0,6032,6031,1,0,0,0,6032,6033,1,0,0,0,6033,531,1,0,0,0,6034,6035,7,90,0,0,6035,533,1,0,0,0,6036,6037,5,65,0,0,6037,6044,5,677,0,0,6038,6044,5,549,0,0,6039,6044,5,396,0,0,6040,6044,5,484,0,0,6041,6044,5,392,0,0,6042,6044,5,327,0,0,6043,6036,1,0,0,0,6043,6038,1,0,0,0,6043,6039,1,0,0,0,6043,6040,1,0,0,0,6043,6041,1,0,0,0,6043,6042,1,0,0,0,6044,535,1,0,0,0,6045,6047,5,34,0,0,6046,6048,5,307,0,0,6047,6046,1,0,0,0,6047,6048,1,0,0,0,6048,6049,1,0,0,0,6049,6051,5,409,0,0,6050,6052,3,756,378,0,6051,6050,1,0,0,0,6051,6052,1,0,0,0,6052,6053,1,0,0,0,6053,6054,3,626,313,0,6054,6055,5,580,0,0,6055,6056,7,91,0,0,6056,6057,5,603,0,0,6057,6058,5,882,0,0,6058,537,1,0,0,0,6059,6060,5,432,0,0,6060,6061,5,344,0,0,6061,6066,3,702,351,0,6062,6063,5,868,0,0,6063,6065,3,702,351,0,6064,6062,1,0,0,0,6065,6068,1,0,0,0,6066,6064,1,0,0,0,6066,6067,1,0,0,0,6067,6078,1,0,0,0,6068,6066,1,0,0,0,6069,6070,5,155,0,0,6070,6075,3,540,270,0,6071,6072,5,868,0,0,6072,6074,3,540,270,0,6073,6071,1,0,0,0,6074,6077,1,0,0,0,6075,6073,1,0,0,0,6075,6076,1,0,0,0,6076,6079,1,0,0,0,6077,6075,1,0,0,0,6078,6069,1,0,0,0,6078,6079,1,0,0,0,6079,539,1,0,0,0,6080,6081,7,92,0,0,6081,6082,3,698,349,0,6082,6083,5,857,0,0,6083,6084,3,800,400,0,6084,541,1,0,0,0,6085,6086,5,673,0,0,6086,6087,5,344,0,0,6087,6092,3,702,351,0,6088,6089,5,868,0,0,6089,6091,3,702,351,0,6090,6088,1,0,0,0,6091,6094,1,0,0,0,6092,6090,1,0,0,0,6092,6093,1,0,0,0,6093,543,1,0,0,0,6094,6092,1,0,0,0,6095,6096,5,432,0,0,6096,6097,5,534,0,0,6097,6098,3,702,351,0,6098,6099,5,603,0,0,6099,6100,5,882,0,0,6100,545,1,0,0,0,6101,6102,5,673,0,0,6102,6103,5,534,0,0,6103,6104,3,702,351,0,6104,547,1,0,0,0,6105,6106,5,713,0,0,6106,6107,5,450,0,0,6107,6108,5,360,0,0,6108,6110,5,367,0,0,6109,6111,5,857,0,0,6110,6109,1,0,0,0,6110,6111,1,0,0,0,6111,6112,1,0,0,0,6112,6136,5,882,0,0,6113,6114,5,713,0,0,6114,6115,5,433,0,0,6115,6116,5,68,0,0,6116,6117,3,672,336,0,6117,6118,5,423,0,0,6118,6119,5,20,0,0,6119,6126,5,882,0,0,6120,6121,5,360,0,0,6121,6123,5,367,0,0,6122,6124,5,857,0,0,6123,6122,1,0,0,0,6123,6124,1,0,0,0,6124,6125,1,0,0,0,6125,6127,5,882,0,0,6126,6120,1,0,0,0,6126,6127,1,0,0,0,6127,6133,1,0,0,0,6128,6130,5,144,0,0,6129,6131,5,502,0,0,6130,6129,1,0,0,0,6130,6131,1,0,0,0,6131,6132,1,0,0,0,6132,6134,5,169,0,0,6133,6128,1,0,0,0,6133,6134,1,0,0,0,6134,6136,1,0,0,0,6135,6105,1,0,0,0,6135,6113,1,0,0,0,6136,549,1,0,0,0,6137,6138,5,155,0,0,6138,6139,3,554,277,0,6139,6142,7,93,0,0,6140,6143,3,800,400,0,6141,6143,5,119,0,0,6142,6140,1,0,0,0,6142,6141,1,0,0,0,6143,6153,1,0,0,0,6144,6145,5,868,0,0,6145,6146,3,554,277,0,6146,6149,7,93,0,0,6147,6150,3,800,400,0,6148,6150,5,119,0,0,6149,6147,1,0,0,0,6149,6148,1,0,0,0,6150,6152,1,0,0,0,6151,6144,1,0,0,0,6152,6155,1,0,0,0,6153,6151,1,0,0,0,6153,6154,1,0,0,0,6154,6190,1,0,0,0,6155,6153,1,0,0,0,6156,6157,5,155,0,0,6157,6160,3,54,27,0,6158,6161,3,684,342,0,6159,6161,5,42,0,0,6160,6158,1,0,0,0,6160,6159,1,0,0,0,6161,6190,1,0,0,0,6162,6163,5,155,0,0,6163,6170,5,497,0,0,6164,6167,3,684,342,0,6165,6166,5,28,0,0,6166,6168,3,686,343,0,6167,6165,1,0,0,0,6167,6168,1,0,0,0,6168,6171,1,0,0,0,6169,6171,5,42,0,0,6170,6164,1,0,0,0,6170,6169,1,0,0,0,6171,6190,1,0,0,0,6172,6190,3,484,242,0,6173,6190,3,336,168,0,6174,6190,3,334,167,0,6175,6176,5,155,0,0,6176,6177,3,698,349,0,6177,6178,7,93,0,0,6178,6186,3,800,400,0,6179,6180,5,868,0,0,6180,6181,3,698,349,0,6181,6182,7,93,0,0,6182,6183,3,800,400,0,6183,6185,1,0,0,0,6184,6179,1,0,0,0,6185,6188,1,0,0,0,6186,6184,1,0,0,0,6186,6187,1,0,0,0,6187,6190,1,0,0,0,6188,6186,1,0,0,0,6189,6137,1,0,0,0,6189,6156,1,0,0,0,6189,6162,1,0,0,0,6189,6172,1,0,0,0,6189,6173,1,0,0,0,6189,6174,1,0,0,0,6189,6175,1,0,0,0,6190,551,1,0,0,0,6191,6192,5,157,0,0,6192,6193,7,62,0,0,6193,6376,5,452,0,0,6194,6195,5,157,0,0,6195,6196,7,94,0,0,6196,6199,5,386,0,0,6197,6198,5,80,0,0,6198,6200,5,882,0,0,6199,6197,1,0,0,0,6199,6200,1,0,0,0,6200,6203,1,0,0,0,6201,6202,5,68,0,0,6202,6204,3,708,354,0,6203,6201,1,0,0,0,6203,6204,1,0,0,0,6204,6212,1,0,0,0,6205,6209,5,100,0,0,6206,6207,3,708,354,0,6207,6208,5,868,0,0,6208,6210,1,0,0,0,6209,6206,1,0,0,0,6209,6210,1,0,0,0,6210,6211,1,0,0,0,6211,6213,3,708,354,0,6212,6205,1,0,0,0,6212,6213,1,0,0,0,6213,6215,1,0,0,0,6214,6216,3,384,192,0,6215,6214,1,0,0,0,6215,6216,1,0,0,0,6216,6376,1,0,0,0,6217,6218,5,157,0,0,6218,6220,3,556,278,0,6219,6221,3,558,279,0,6220,6219,1,0,0,0,6220,6221,1,0,0,0,6221,6376,1,0,0,0,6222,6224,5,157,0,0,6223,6225,5,392,0,0,6224,6223,1,0,0,0,6224,6225,1,0,0,0,6225,6227,1,0,0,0,6226,6228,5,408,0,0,6227,6226,1,0,0,0,6227,6228,1,0,0,0,6228,6229,1,0,0,0,6229,6230,7,46,0,0,6230,6231,7,95,0,0,6231,6234,3,648,324,0,6232,6233,7,95,0,0,6233,6235,3,624,312,0,6234,6232,1,0,0,0,6234,6235,1,0,0,0,6235,6237,1,0,0,0,6236,6238,3,558,279,0,6237,6236,1,0,0,0,6237,6238,1,0,0,0,6238,6376,1,0,0,0,6239,6240,5,157,0,0,6240,6241,5,34,0,0,6241,6243,7,0,0,0,6242,6244,3,756,378,0,6243,6242,1,0,0,0,6243,6244,1,0,0,0,6244,6245,1,0,0,0,6245,6376,3,624,312,0,6246,6247,5,157,0,0,6247,6248,5,34,0,0,6248,6249,7,96,0,0,6249,6376,3,698,349,0,6250,6251,5,157,0,0,6251,6252,5,34,0,0,6252,6253,5,409,0,0,6253,6376,3,628,314,0,6254,6255,5,157,0,0,6255,6256,5,34,0,0,6256,6257,5,684,0,0,6257,6376,3,632,316,0,6258,6259,5,157,0,0,6259,6260,5,34,0,0,6260,6261,5,173,0,0,6261,6376,3,648,324,0,6262,6263,5,157,0,0,6263,6264,5,34,0,0,6264,6265,5,678,0,0,6265,6376,3,680,340,0,6266,6267,5,157,0,0,6267,6268,5,380,0,0,6268,6269,3,688,344,0,6269,6270,7,97,0,0,6270,6376,1,0,0,0,6271,6272,5,157,0,0,6272,6376,3,560,280,0,6273,6274,5,157,0,0,6274,6282,7,98,0,0,6275,6279,5,100,0,0,6276,6277,3,708,354,0,6277,6278,5,868,0,0,6278,6280,1,0,0,0,6279,6276,1,0,0,0,6279,6280,1,0,0,0,6280,6281,1,0,0,0,6281,6283,3,708,354,0,6282,6275,1,0,0,0,6282,6283,1,0,0,0,6283,6376,1,0,0,0,6284,6285,5,157,0,0,6285,6286,5,262,0,0,6286,6287,5,866,0,0,6287,6288,5,850,0,0,6288,6289,5,867,0,0,6289,6376,7,98,0,0,6290,6291,5,157,0,0,6291,6294,3,562,281,0,6292,6293,7,95,0,0,6293,6295,3,624,312,0,6294,6292,1,0,0,0,6294,6295,1,0,0,0,6295,6297,1,0,0,0,6296,6298,3,558,279,0,6297,6296,1,0,0,0,6297,6298,1,0,0,0,6298,6376,1,0,0,0,6299,6300,5,157,0,0,6300,6301,5,132,0,0,6301,6302,5,336,0,0,6302,6376,3,698,349,0,6303,6304,5,157,0,0,6304,6305,5,409,0,0,6305,6306,5,336,0,0,6306,6376,3,628,314,0,6307,6308,5,157,0,0,6308,6315,5,414,0,0,6309,6310,5,65,0,0,6310,6313,3,652,326,0,6311,6312,5,188,0,0,6312,6314,3,650,325,0,6313,6311,1,0,0,0,6313,6314,1,0,0,0,6314,6316,1,0,0,0,6315,6309,1,0,0,0,6315,6316,1,0,0,0,6316,6376,1,0,0,0,6317,6319,5,157,0,0,6318,6320,5,392,0,0,6319,6318,1,0,0,0,6319,6320,1,0,0,0,6320,6321,1,0,0,0,6321,6322,7,99,0,0,6322,6323,7,95,0,0,6323,6326,3,648,324,0,6324,6325,7,95,0,0,6325,6327,3,624,312,0,6326,6324,1,0,0,0,6326,6327,1,0,0,0,6327,6330,1,0,0,0,6328,6329,5,192,0,0,6329,6331,3,800,400,0,6330,6328,1,0,0,0,6330,6331,1,0,0,0,6331,6376,1,0,0,0,6332,6333,5,157,0,0,6333,6334,5,516,0,0,6334,6337,5,752,0,0,6335,6336,7,95,0,0,6336,6338,3,624,312,0,6337,6335,1,0,0,0,6337,6338,1,0,0,0,6338,6340,1,0,0,0,6339,6341,3,558,279,0,6340,6339,1,0,0,0,6340,6341,1,0,0,0,6341,6376,1,0,0,0,6342,6343,5,157,0,0,6343,6352,5,545,0,0,6344,6349,3,564,282,0,6345,6346,5,868,0,0,6346,6348,3,564,282,0,6347,6345,1,0,0,0,6348,6351,1,0,0,0,6349,6347,1,0,0,0,6349,6350,1,0,0,0,6350,6353,1,0,0,0,6351,6349,1,0,0,0,6352,6344,1,0,0,0,6352,6353,1,0,0,0,6353,6357,1,0,0,0,6354,6355,5,65,0,0,6355,6356,5,548,0,0,6356,6358,3,708,354,0,6357,6354,1,0,0,0,6357,6358,1,0,0,0,6358,6365,1,0,0,0,6359,6360,5,100,0,0,6360,6363,3,708,354,0,6361,6362,5,509,0,0,6362,6364,3,708,354,0,6363,6361,1,0,0,0,6363,6364,1,0,0,0,6364,6366,1,0,0,0,6365,6359,1,0,0,0,6365,6366,1,0,0,0,6366,6376,1,0,0,0,6367,6368,5,157,0,0,6368,6369,7,63,0,0,6369,6371,5,645,0,0,6370,6372,3,384,192,0,6371,6370,1,0,0,0,6371,6372,1,0,0,0,6372,6376,1,0,0,0,6373,6374,5,157,0,0,6374,6376,5,564,0,0,6375,6191,1,0,0,0,6375,6194,1,0,0,0,6375,6217,1,0,0,0,6375,6222,1,0,0,0,6375,6239,1,0,0,0,6375,6246,1,0,0,0,6375,6250,1,0,0,0,6375,6254,1,0,0,0,6375,6258,1,0,0,0,6375,6262,1,0,0,0,6375,6266,1,0,0,0,6375,6271,1,0,0,0,6375,6273,1,0,0,0,6375,6284,1,0,0,0,6375,6290,1,0,0,0,6375,6299,1,0,0,0,6375,6303,1,0,0,0,6375,6307,1,0,0,0,6375,6317,1,0,0,0,6375,6332,1,0,0,0,6375,6342,1,0,0,0,6375,6367,1,0,0,0,6375,6373,1,0,0,0,6376,553,1,0,0,0,6377,6388,5,892,0,0,6378,6388,5,893,0,0,6379,6380,5,870,0,0,6380,6382,5,870,0,0,6381,6379,1,0,0,0,6381,6382,1,0,0,0,6382,6383,1,0,0,0,6383,6385,7,100,0,0,6384,6381,1,0,0,0,6384,6385,1,0,0,0,6385,6386,1,0,0,0,6386,6388,3,702,351,0,6387,6377,1,0,0,0,6387,6378,1,0,0,0,6387,6384,1,0,0,0,6388,555,1,0,0,0,6389,6390,5,26,0,0,6390,6404,5,155,0,0,6391,6404,5,823,0,0,6392,6404,5,824,0,0,6393,6404,5,40,0,0,6394,6404,5,153,0,0,6395,6396,5,409,0,0,6396,6404,5,645,0,0,6397,6398,5,132,0,0,6398,6404,5,645,0,0,6399,6401,7,61,0,0,6400,6399,1,0,0,0,6400,6401,1,0,0,0,6401,6402,1,0,0,0,6402,6404,7,101,0,0,6403,6389,1,0,0,0,6403,6391,1,0,0,0,6403,6392,1,0,0,0,6403,6393,1,0,0,0,6403,6394,1,0,0,0,6403,6395,1,0,0,0,6403,6397,1,0,0,0,6403,6400,1,0,0,0,6404,557,1,0,0,0,6405,6406,5,99,0,0,6406,6410,5,882,0,0,6407,6408,5,192,0,0,6408,6410,3,800,400,0,6409,6405,1,0,0,0,6409,6407,1,0,0,0,6410,559,1,0,0,0,6411,6413,5,647,0,0,6412,6411,1,0,0,0,6412,6413,1,0,0,0,6413,6414,1,0,0,0,6414,6429,5,381,0,0,6415,6416,5,453,0,0,6416,6429,5,645,0,0,6417,6429,5,536,0,0,6418,6429,5,734,0,0,6419,6421,5,408,0,0,6420,6419,1,0,0,0,6420,6421,1,0,0,0,6421,6422,1,0,0,0,6422,6429,5,544,0,0,6423,6429,5,546,0,0,6424,6425,5,598,0,0,6425,6429,5,422,0,0,6426,6429,5,312,0,0,6427,6429,5,356,0,0,6428,6412,1,0,0,0,6428,6415,1,0,0,0,6428,6417,1,0,0,0,6428,6418,1,0,0,0,6428,6420,1,0,0,0,6428,6423,1,0,0,0,6428,6424,1,0,0,0,6428,6426,1,0,0,0,6428,6427,1,0,0,0,6429,561,1,0,0,0,6430,6442,5,386,0,0,6431,6432,5,173,0,0,6432,6442,5,645,0,0,6433,6435,5,392,0,0,6434,6433,1,0,0,0,6434,6435,1,0,0,0,6435,6437,1,0,0,0,6436,6438,5,408,0,0,6437,6436,1,0,0,0,6437,6438,1,0,0,0,6438,6439,1,0,0,0,6439,6442,5,752,0,0,6440,6442,5,667,0,0,6441,6430,1,0,0,0,6441,6431,1,0,0,0,6441,6434,1,0,0,0,6441,6440,1,0,0,0,6442,563,1,0,0,0,6443,6456,5,7,0,0,6444,6445,5,320,0,0,6445,6456,5,437,0,0,6446,6447,5,355,0,0,6447,6456,5,656,0,0,6448,6456,5,358,0,0,6449,6456,5,439,0,0,6450,6456,5,802,0,0,6451,6452,5,521,0,0,6452,6456,5,397,0,0,6453,6456,5,605,0,0,6454,6456,5,655,0,0,6455,6443,1,0,0,0,6455,6444,1,0,0,0,6455,6446,1,0,0,0,6455,6448,1,0,0,0,6455,6449,1,0,0,0,6455,6450,1,0,0,0,6455,6451,1,0,0,0,6455,6453,1,0,0,0,6455,6454,1,0,0,0,6456,565,1,0,0,0,6457,6458,5,318,0,0,6458,6459,5,882,0,0,6459,567,1,0,0,0,6460,6461,5,324,0,0,6461,6479,5,82,0,0,6462,6467,3,588,294,0,6463,6464,5,868,0,0,6464,6466,3,588,294,0,6465,6463,1,0,0,0,6466,6469,1,0,0,0,6467,6465,1,0,0,0,6467,6468,1,0,0,0,6468,6480,1,0,0,0,6469,6467,1,0,0,0,6470,6471,3,648,324,0,6471,6472,5,130,0,0,6472,6475,5,866,0,0,6473,6476,3,666,333,0,6474,6476,5,7,0,0,6475,6473,1,0,0,0,6475,6474,1,0,0,0,6476,6477,1,0,0,0,6477,6478,5,867,0,0,6478,6480,1,0,0,0,6479,6462,1,0,0,0,6479,6470,1,0,0,0,6480,6481,1,0,0,0,6481,6482,5,80,0,0,6482,6483,3,624,312,0,6483,569,1,0,0,0,6484,6486,5,404,0,0,6485,6487,3,532,266,0,6486,6485,1,0,0,0,6486,6487,1,0,0,0,6487,6488,1,0,0,0,6488,6493,3,590,295,0,6489,6490,5,868,0,0,6490,6492,3,590,295,0,6491,6489,1,0,0,0,6492,6495,1,0,0,0,6493,6491,1,0,0,0,6493,6494,1,0,0,0,6494,571,1,0,0,0,6495,6493,1,0,0,0,6496,6498,5,94,0,0,6497,6499,7,102,0,0,6498,6497,1,0,0,0,6498,6499,1,0,0,0,6499,6500,1,0,0,0,6500,6501,3,800,400,0,6501,573,1,0,0,0,6502,6503,5,103,0,0,6503,6504,5,82,0,0,6504,6505,5,88,0,0,6505,6506,5,324,0,0,6506,6511,3,594,297,0,6507,6508,5,868,0,0,6508,6510,3,594,297,0,6509,6507,1,0,0,0,6510,6513,1,0,0,0,6511,6509,1,0,0,0,6511,6512,1,0,0,0,6512,575,1,0,0,0,6513,6511,1,0,0,0,6514,6515,5,575,0,0,6515,6520,3,578,289,0,6516,6517,5,868,0,0,6517,6519,3,578,289,0,6518,6516,1,0,0,0,6519,6522,1,0,0,0,6520,6518,1,0,0,0,6520,6521,1,0,0,0,6521,577,1,0,0,0,6522,6520,1,0,0,0,6523,6529,5,453,0,0,6524,6529,5,563,0,0,6525,6526,5,548,0,0,6526,6529,5,324,0,0,6527,6529,5,598,0,0,6528,6523,1,0,0,0,6528,6524,1,0,0,0,6528,6525,1,0,0,0,6528,6527,1,0,0,0,6529,579,1,0,0,0,6530,6531,5,575,0,0,6531,6536,5,531,0,0,6532,6534,3,754,377,0,6533,6532,1,0,0,0,6533,6534,1,0,0,0,6534,6535,1,0,0,0,6535,6537,3,702,351,0,6536,6533,1,0,0,0,6536,6537,1,0,0,0,6537,581,1,0,0,0,6538,6539,5,575,0,0,6539,6541,7,63,0,0,6540,6542,5,7,0,0,6541,6540,1,0,0,0,6541,6542,1,0,0,0,6542,6544,1,0,0,0,6543,6545,3,384,192,0,6544,6543,1,0,0,0,6544,6545,1,0,0,0,6545,583,1,0,0,0,6546,6547,5,576,0,0,6547,585,1,0,0,0,6548,6549,5,749,0,0,6549,587,1,0,0,0,6550,6556,3,648,324,0,6551,6552,7,18,0,0,6552,6553,5,866,0,0,6553,6554,3,636,318,0,6554,6555,5,867,0,0,6555,6557,1,0,0,0,6556,6551,1,0,0,0,6556,6557,1,0,0,0,6557,589,1,0,0,0,6558,6577,5,366,0,0,6559,6577,5,422,0,0,6560,6562,7,103,0,0,6561,6560,1,0,0,0,6561,6562,1,0,0,0,6562,6563,1,0,0,0,6563,6577,5,452,0,0,6564,6577,5,517,0,0,6565,6577,5,734,0,0,6566,6567,5,548,0,0,6567,6577,5,324,0,0,6568,6577,5,645,0,0,6569,6577,5,680,0,0,6570,6574,5,752,0,0,6571,6572,5,194,0,0,6572,6573,5,135,0,0,6573,6575,5,104,0,0,6574,6571,1,0,0,0,6574,6575,1,0,0,0,6575,6577,1,0,0,0,6576,6558,1,0,0,0,6576,6559,1,0,0,0,6576,6561,1,0,0,0,6576,6564,1,0,0,0,6576,6565,1,0,0,0,6576,6566,1,0,0,0,6576,6568,1,0,0,0,6576,6569,1,0,0,0,6576,6570,1,0,0,0,6577,6591,1,0,0,0,6578,6579,5,556,0,0,6579,6581,5,452,0,0,6580,6582,3,384,192,0,6581,6580,1,0,0,0,6581,6582,1,0,0,0,6582,6591,1,0,0,0,6583,6585,7,60,0,0,6584,6586,3,646,323,0,6585,6584,1,0,0,0,6585,6586,1,0,0,0,6586,6588,1,0,0,0,6587,6589,3,592,296,0,6588,6587,1,0,0,0,6588,6589,1,0,0,0,6589,6591,1,0,0,0,6590,6576,1,0,0,0,6590,6578,1,0,0,0,6590,6583,1,0,0,0,6591,591,1,0,0,0,6592,6593,5,194,0,0,6593,6594,5,135,0,0,6594,6598,5,104,0,0,6595,6596,5,65,0,0,6596,6598,5,391,0,0,6597,6592,1,0,0,0,6597,6595,1,0,0,0,6598,593,1,0,0,0,6599,6607,3,648,324,0,6600,6601,5,130,0,0,6601,6604,5,866,0,0,6602,6605,3,666,333,0,6603,6605,5,7,0,0,6604,6602,1,0,0,0,6604,6603,1,0,0,0,6605,6606,1,0,0,0,6606,6608,5,867,0,0,6607,6600,1,0,0,0,6607,6608,1,0,0,0,6608,6616,1,0,0,0,6609,6611,7,18,0,0,6610,6609,1,0,0,0,6610,6611,1,0,0,0,6611,6612,1,0,0,0,6612,6613,5,866,0,0,6613,6614,3,636,318,0,6614,6615,5,867,0,0,6615,6617,1,0,0,0,6616,6610,1,0,0,0,6616,6617,1,0,0,0,6617,6620,1,0,0,0,6618,6619,5,79,0,0,6619,6621,5,446,0,0,6620,6618,1,0,0,0,6620,6621,1,0,0,0,6621,595,1,0,0,0,6622,6623,7,104,0,0,6623,6626,3,648,324,0,6624,6627,3,658,329,0,6625,6627,5,882,0,0,6626,6624,1,0,0,0,6626,6625,1,0,0,0,6626,6627,1,0,0,0,6627,597,1,0,0,0,6628,6634,7,104,0,0,6629,6635,5,392,0,0,6630,6635,5,528,0,0,6631,6632,5,826,0,0,6632,6633,5,857,0,0,6633,6635,7,105,0,0,6634,6629,1,0,0,0,6634,6630,1,0,0,0,6634,6631,1,0,0,0,6634,6635,1,0,0,0,6635,6636,1,0,0,0,6636,6637,3,620,310,0,6637,599,1,0,0,0,6638,6639,7,104,0,0,6639,6643,5,10,0,0,6640,6641,5,826,0,0,6641,6642,5,857,0,0,6642,6644,5,666,0,0,6643,6640,1,0,0,0,6643,6644,1,0,0,0,6644,6645,1,0,0,0,6645,6646,3,204,102,0,6646,601,1,0,0,0,6647,6648,5,419,0,0,6648,6649,5,882,0,0,6649,603,1,0,0,0,6650,6651,5,187,0,0,6651,6652,3,624,312,0,6652,605,1,0,0,0,6653,6661,5,158,0,0,6654,6656,5,164,0,0,6655,6657,5,682,0,0,6656,6655,1,0,0,0,6656,6657,1,0,0,0,6657,6658,1,0,0,0,6658,6662,3,712,356,0,6659,6662,5,889,0,0,6660,6662,5,890,0,0,6661,6654,1,0,0,0,6661,6659,1,0,0,0,6661,6660,1,0,0,0,6662,6672,1,0,0,0,6663,6664,5,155,0,0,6664,6669,3,610,305,0,6665,6666,5,868,0,0,6666,6668,3,610,305,0,6667,6665,1,0,0,0,6668,6671,1,0,0,0,6669,6667,1,0,0,0,6669,6670,1,0,0,0,6670,6673,1,0,0,0,6671,6669,1,0,0,0,6672,6663,1,0,0,0,6672,6673,1,0,0,0,6673,607,1,0,0,0,6674,6682,5,145,0,0,6675,6677,5,164,0,0,6676,6678,5,682,0,0,6677,6676,1,0,0,0,6677,6678,1,0,0,0,6678,6679,1,0,0,0,6679,6683,3,712,356,0,6680,6683,5,889,0,0,6681,6683,5,890,0,0,6682,6675,1,0,0,0,6682,6680,1,0,0,0,6682,6681,1,0,0,0,6682,6683,1,0,0,0,6683,6693,1,0,0,0,6684,6685,5,155,0,0,6685,6690,3,610,305,0,6686,6687,5,868,0,0,6687,6689,3,610,305,0,6688,6686,1,0,0,0,6689,6692,1,0,0,0,6690,6688,1,0,0,0,6690,6691,1,0,0,0,6691,6694,1,0,0,0,6692,6690,1,0,0,0,6693,6684,1,0,0,0,6693,6694,1,0,0,0,6694,609,1,0,0,0,6695,6696,7,106,0,0,6696,6701,5,857,0,0,6697,6702,3,712,356,0,6698,6702,5,883,0,0,6699,6702,3,682,341,0,6700,6702,3,704,352,0,6701,6697,1,0,0,0,6701,6698,1,0,0,0,6701,6699,1,0,0,0,6701,6700,1,0,0,0,6702,611,1,0,0,0,6703,6705,5,194,0,0,6704,6706,5,552,0,0,6705,6704,1,0,0,0,6705,6706,1,0,0,0,6706,6707,1,0,0,0,6707,6712,3,48,24,0,6708,6709,5,868,0,0,6709,6711,3,48,24,0,6710,6708,1,0,0,0,6711,6714,1,0,0,0,6712,6710,1,0,0,0,6712,6713,1,0,0,0,6713,613,1,0,0,0,6714,6712,1,0,0,0,6715,6716,5,173,0,0,6716,6718,3,648,324,0,6717,6719,3,252,126,0,6718,6717,1,0,0,0,6718,6719,1,0,0,0,6719,6721,1,0,0,0,6720,6722,3,312,156,0,6721,6720,1,0,0,0,6721,6722,1,0,0,0,6722,615,1,0,0,0,6723,6725,5,72,0,0,6724,6726,7,107,0,0,6725,6724,1,0,0,0,6725,6726,1,0,0,0,6726,6727,1,0,0,0,6727,6759,5,48,0,0,6728,6729,3,554,277,0,6729,6730,5,857,0,0,6730,6738,7,108,0,0,6731,6732,5,868,0,0,6732,6733,3,554,277,0,6733,6734,5,857,0,0,6734,6735,7,108,0,0,6735,6737,1,0,0,0,6736,6731,1,0,0,0,6737,6740,1,0,0,0,6738,6736,1,0,0,0,6738,6739,1,0,0,0,6739,6760,1,0,0,0,6740,6738,1,0,0,0,6741,6744,5,30,0,0,6742,6745,3,708,354,0,6743,6745,3,554,277,0,6744,6742,1,0,0,0,6744,6743,1,0,0,0,6745,6746,1,0,0,0,6746,6747,3,554,277,0,6747,6748,5,857,0,0,6748,6756,3,618,309,0,6749,6750,5,868,0,0,6750,6751,3,554,277,0,6751,6752,5,857,0,0,6752,6753,3,618,309,0,6753,6755,1,0,0,0,6754,6749,1,0,0,0,6755,6758,1,0,0,0,6756,6754,1,0,0,0,6756,6757,1,0,0,0,6757,6760,1,0,0,0,6758,6756,1,0,0,0,6759,6728,1,0,0,0,6759,6741,1,0,0,0,6760,617,1,0,0,0,6761,6762,7,109,0,0,6762,619,1,0,0,0,6763,6769,3,204,102,0,6764,6769,3,180,90,0,6765,6769,3,186,93,0,6766,6769,3,202,101,0,6767,6769,3,214,107,0,6768,6763,1,0,0,0,6768,6764,1,0,0,0,6768,6765,1,0,0,0,6768,6766,1,0,0,0,6768,6767,1,0,0,0,6769,6774,1,0,0,0,6770,6771,5,65,0,0,6771,6772,5,349,0,0,6772,6774,3,702,351,0,6773,6768,1,0,0,0,6773,6770,1,0,0,0,6774,621,1,0,0,0,6775,6776,3,698,349,0,6776,623,1,0,0,0,6777,6778,3,698,349,0,6778,625,1,0,0,0,6779,6780,3,698,349,0,6780,627,1,0,0,0,6781,6782,3,698,349,0,6782,629,1,0,0,0,6783,6784,3,698,349,0,6784,631,1,0,0,0,6785,6786,3,698,349,0,6786,633,1,0,0,0,6787,6788,3,702,351,0,6788,635,1,0,0,0,6789,6794,3,638,319,0,6790,6791,5,868,0,0,6791,6793,3,638,319,0,6792,6790,1,0,0,0,6793,6796,1,0,0,0,6794,6792,1,0,0,0,6794,6795,1,0,0,0,6795,637,1,0,0,0,6796,6794,1,0,0,0,6797,6798,3,702,351,0,6798,639,1,0,0,0,6799,6800,3,702,351,0,6800,641,1,0,0,0,6801,6802,3,702,351,0,6802,643,1,0,0,0,6803,6804,3,698,349,0,6804,645,1,0,0,0,6805,6810,3,648,324,0,6806,6807,5,868,0,0,6807,6809,3,648,324,0,6808,6806,1,0,0,0,6809,6812,1,0,0,0,6810,6808,1,0,0,0,6810,6811,1,0,0,0,6811,647,1,0,0,0,6812,6810,1,0,0,0,6813,6814,3,698,349,0,6814,649,1,0,0,0,6815,6820,3,652,326,0,6816,6817,5,868,0,0,6817,6819,3,652,326,0,6818,6816,1,0,0,0,6819,6822,1,0,0,0,6820,6818,1,0,0,0,6820,6821,1,0,0,0,6821,651,1,0,0,0,6822,6820,1,0,0,0,6823,6826,3,680,340,0,6824,6826,3,702,351,0,6825,6823,1,0,0,0,6825,6824,1,0,0,0,6826,653,1,0,0,0,6827,6832,3,702,351,0,6828,6830,3,706,353,0,6829,6831,3,706,353,0,6830,6829,1,0,0,0,6830,6831,1,0,0,0,6831,6833,1,0,0,0,6832,6828,1,0,0,0,6832,6833,1,0,0,0,6833,6842,1,0,0,0,6834,6836,9,0,0,0,6835,6834,1,0,0,0,6835,6836,1,0,0,0,6836,6837,1,0,0,0,6837,6839,3,706,353,0,6838,6840,3,706,353,0,6839,6838,1,0,0,0,6839,6840,1,0,0,0,6840,6842,1,0,0,0,6841,6827,1,0,0,0,6841,6835,1,0,0,0,6842,655,1,0,0,0,6843,6848,3,658,329,0,6844,6845,5,868,0,0,6845,6847,3,658,329,0,6846,6844,1,0,0,0,6847,6850,1,0,0,0,6848,6846,1,0,0,0,6848,6849,1,0,0,0,6849,657,1,0,0,0,6850,6848,1,0,0,0,6851,6856,3,702,351,0,6852,6854,3,706,353,0,6853,6855,3,706,353,0,6854,6853,1,0,0,0,6854,6855,1,0,0,0,6855,6857,1,0,0,0,6856,6852,1,0,0,0,6856,6857,1,0,0,0,6857,6867,1,0,0,0,6858,6860,9,0,0,0,6859,6858,1,0,0,0,6859,6860,1,0,0,0,6860,6861,1,0,0,0,6861,6863,3,706,353,0,6862,6864,3,706,353,0,6863,6862,1,0,0,0,6863,6864,1,0,0,0,6864,6867,1,0,0,0,6865,6867,4,329,3,0,6866,6851,1,0,0,0,6866,6859,1,0,0,0,6866,6865,1,0,0,0,6867,659,1,0,0,0,6868,6869,3,702,351,0,6869,661,1,0,0,0,6870,6871,3,702,351,0,6871,663,1,0,0,0,6872,6873,3,702,351,0,6873,665,1,0,0,0,6874,6879,3,668,334,0,6875,6876,5,868,0,0,6876,6878,3,668,334,0,6877,6875,1,0,0,0,6878,6881,1,0,0,0,6879,6877,1,0,0,0,6879,6880,1,0,0,0,6880,667,1,0,0,0,6881,6879,1,0,0,0,6882,6883,3,702,351,0,6883,669,1,0,0,0,6884,6889,3,702,351,0,6885,6886,5,866,0,0,6886,6887,3,708,354,0,6887,6888,5,867,0,0,6888,6890,1,0,0,0,6889,6885,1,0,0,0,6889,6890,1,0,0,0,6890,6893,1,0,0,0,6891,6893,3,800,400,0,6892,6884,1,0,0,0,6892,6891,1,0,0,0,6893,6895,1,0,0,0,6894,6896,7,54,0,0,6895,6894,1,0,0,0,6895,6896,1,0,0,0,6896,671,1,0,0,0,6897,6898,3,674,337,0,6898,6899,5,878,0,0,6899,6900,3,708,354,0,6900,673,1,0,0,0,6901,6902,3,676,338,0,6902,6903,5,891,0,0,6903,675,1,0,0,0,6904,6909,5,882,0,0,6905,6909,5,889,0,0,6906,6909,5,704,0,0,6907,6909,3,830,415,0,6908,6904,1,0,0,0,6908,6905,1,0,0,0,6908,6906,1,0,0,0,6908,6907,1,0,0,0,6909,677,1,0,0,0,6910,6911,7,110,0,0,6911,679,1,0,0,0,6912,6914,3,676,338,0,6913,6915,3,678,339,0,6914,6913,1,0,0,0,6914,6915,1,0,0,0,6915,6918,1,0,0,0,6916,6918,3,56,28,0,6917,6912,1,0,0,0,6917,6916,1,0,0,0,6918,681,1,0,0,0,6919,6920,7,111,0,0,6920,683,1,0,0,0,6921,6926,5,228,0,0,6922,6926,3,820,410,0,6923,6926,5,882,0,0,6924,6926,5,879,0,0,6925,6921,1,0,0,0,6925,6922,1,0,0,0,6925,6923,1,0,0,0,6925,6924,1,0,0,0,6926,685,1,0,0,0,6927,6928,3,702,351,0,6928,687,1,0,0,0,6929,6933,3,690,345,0,6930,6933,5,889,0,0,6931,6933,5,882,0,0,6932,6929,1,0,0,0,6932,6930,1,0,0,0,6932,6931,1,0,0,0,6933,689,1,0,0,0,6934,6935,7,112,0,0,6935,691,1,0,0,0,6936,6937,3,708,354,0,6937,6938,5,854,0,0,6938,6939,3,708,354,0,6939,6940,5,854,0,0,6940,6941,3,708,354,0,6941,6942,5,854,0,0,6942,6943,3,708,354,0,6943,6944,5,854,0,0,6944,6950,3,708,354,0,6945,6946,5,878,0,0,6946,6947,3,708,354,0,6947,6948,5,854,0,0,6948,6949,3,708,354,0,6949,6951,1,0,0,0,6950,6945,1,0,0,0,6951,6952,1,0,0,0,6952,6950,1,0,0,0,6952,6953,1,0,0,0,6953,693,1,0,0,0,6954,6961,3,696,348,0,6955,6956,5,868,0,0,6956,6959,3,696,348,0,6957,6958,5,868,0,0,6958,6960,3,708,354,0,6959,6957,1,0,0,0,6959,6960,1,0,0,0,6960,6962,1,0,0,0,6961,6955,1,0,0,0,6961,6962,1,0,0,0,6962,695,1,0,0,0,6963,6971,5,882,0,0,6964,6971,5,887,0,0,6965,6967,5,884,0,0,6966,6965,1,0,0,0,6967,6968,1,0,0,0,6968,6966,1,0,0,0,6968,6969,1,0,0,0,6969,6971,1,0,0,0,6970,6963,1,0,0,0,6970,6964,1,0,0,0,6970,6966,1,0,0,0,6971,697,1,0,0,0,6972,6974,3,702,351,0,6973,6975,3,706,353,0,6974,6973,1,0,0,0,6974,6975,1,0,0,0,6975,699,1,0,0,0,6976,6981,3,702,351,0,6977,6978,5,868,0,0,6978,6980,3,702,351,0,6979,6977,1,0,0,0,6980,6983,1,0,0,0,6981,6979,1,0,0,0,6981,6982,1,0,0,0,6982,701,1,0,0,0,6983,6981,1,0,0,0,6984,6988,3,704,352,0,6985,6988,5,879,0,0,6986,6988,5,882,0,0,6987,6984,1,0,0,0,6987,6985,1,0,0,0,6987,6986,1,0,0,0,6988,703,1,0,0,0,6989,6999,5,889,0,0,6990,6999,3,820,410,0,6991,6999,3,822,411,0,6992,6999,3,690,345,0,6993,6999,3,824,412,0,6994,6999,3,826,413,0,6995,6999,3,828,414,0,6996,6999,3,830,415,0,6997,6999,3,792,396,0,6998,6989,1,0,0,0,6998,6990,1,0,0,0,6998,6991,1,0,0,0,6998,6992,1,0,0,0,6998,6993,1,0,0,0,6998,6994,1,0,0,0,6998,6995,1,0,0,0,6998,6996,1,0,0,0,6998,6997,1,0,0,0,6999,705,1,0,0,0,7e3,7001,5,865,0,0,7001,7005,5,889,0,0,7002,7003,5,865,0,0,7003,7005,3,702,351,0,7004,7e3,1,0,0,0,7004,7002,1,0,0,0,7005,707,1,0,0,0,7006,7007,7,113,0,0,7007,709,1,0,0,0,7008,7011,5,880,0,0,7009,7011,3,708,354,0,7010,7008,1,0,0,0,7010,7009,1,0,0,0,7011,711,1,0,0,0,7012,7014,5,888,0,0,7013,7012,1,0,0,0,7013,7014,1,0,0,0,7014,7015,1,0,0,0,7015,7018,5,882,0,0,7016,7018,5,881,0,0,7017,7013,1,0,0,0,7017,7016,1,0,0,0,7018,7020,1,0,0,0,7019,7021,5,882,0,0,7020,7019,1,0,0,0,7021,7022,1,0,0,0,7022,7020,1,0,0,0,7022,7023,1,0,0,0,7023,7036,1,0,0,0,7024,7026,5,888,0,0,7025,7024,1,0,0,0,7025,7026,1,0,0,0,7026,7027,1,0,0,0,7027,7030,5,882,0,0,7028,7030,5,881,0,0,7029,7025,1,0,0,0,7029,7028,1,0,0,0,7030,7033,1,0,0,0,7031,7032,5,28,0,0,7032,7034,3,686,343,0,7033,7031,1,0,0,0,7033,7034,1,0,0,0,7034,7036,1,0,0,0,7035,7017,1,0,0,0,7035,7029,1,0,0,0,7036,713,1,0,0,0,7037,7038,7,114,0,0,7038,715,1,0,0,0,7039,7041,5,888,0,0,7040,7039,1,0,0,0,7040,7041,1,0,0,0,7041,7042,1,0,0,0,7042,7043,5,884,0,0,7043,717,1,0,0,0,7044,7046,5,114,0,0,7045,7044,1,0,0,0,7045,7046,1,0,0,0,7046,7047,1,0,0,0,7047,7048,7,115,0,0,7048,719,1,0,0,0,7049,7062,3,712,356,0,7050,7062,3,708,354,0,7051,7052,5,854,0,0,7052,7062,3,708,354,0,7053,7062,3,716,358,0,7054,7062,3,714,357,0,7055,7062,5,885,0,0,7056,7062,5,887,0,0,7057,7059,5,114,0,0,7058,7057,1,0,0,0,7058,7059,1,0,0,0,7059,7060,1,0,0,0,7060,7062,7,115,0,0,7061,7049,1,0,0,0,7061,7050,1,0,0,0,7061,7051,1,0,0,0,7061,7053,1,0,0,0,7061,7054,1,0,0,0,7061,7055,1,0,0,0,7061,7056,1,0,0,0,7061,7058,1,0,0,0,7062,721,1,0,0,0,7063,7065,7,116,0,0,7064,7066,5,240,0,0,7065,7064,1,0,0,0,7065,7066,1,0,0,0,7066,7068,1,0,0,0,7067,7069,3,728,364,0,7068,7067,1,0,0,0,7068,7069,1,0,0,0,7069,7071,1,0,0,0,7070,7072,5,228,0,0,7071,7070,1,0,0,0,7071,7072,1,0,0,0,7072,7076,1,0,0,0,7073,7074,3,54,27,0,7074,7075,3,684,342,0,7075,7077,1,0,0,0,7076,7073,1,0,0,0,7076,7077,1,0,0,0,7077,7081,1,0,0,0,7078,7079,5,28,0,0,7079,7082,3,686,343,0,7080,7082,5,228,0,0,7081,7078,1,0,0,0,7081,7080,1,0,0,0,7081,7082,1,0,0,0,7082,7190,1,0,0,0,7083,7084,5,227,0,0,7084,7085,7,117,0,0,7085,7087,5,240,0,0,7086,7088,3,728,364,0,7087,7086,1,0,0,0,7087,7088,1,0,0,0,7088,7090,1,0,0,0,7089,7091,5,228,0,0,7090,7089,1,0,0,0,7090,7091,1,0,0,0,7091,7190,1,0,0,0,7092,7093,5,227,0,0,7093,7095,7,118,0,0,7094,7096,3,728,364,0,7095,7094,1,0,0,0,7095,7096,1,0,0,0,7096,7098,1,0,0,0,7097,7099,5,228,0,0,7098,7097,1,0,0,0,7098,7099,1,0,0,0,7099,7190,1,0,0,0,7100,7101,5,498,0,0,7101,7103,5,225,0,0,7102,7104,3,728,364,0,7103,7102,1,0,0,0,7103,7104,1,0,0,0,7104,7106,1,0,0,0,7105,7107,5,228,0,0,7106,7105,1,0,0,0,7106,7107,1,0,0,0,7107,7190,1,0,0,0,7108,7110,7,119,0,0,7109,7111,3,728,364,0,7110,7109,1,0,0,0,7110,7111,1,0,0,0,7111,7115,1,0,0,0,7112,7114,7,120,0,0,7113,7112,1,0,0,0,7114,7117,1,0,0,0,7115,7113,1,0,0,0,7115,7116,1,0,0,0,7116,7190,1,0,0,0,7117,7115,1,0,0,0,7118,7120,5,210,0,0,7119,7121,3,730,365,0,7120,7119,1,0,0,0,7120,7121,1,0,0,0,7121,7125,1,0,0,0,7122,7124,7,120,0,0,7123,7122,1,0,0,0,7124,7127,1,0,0,0,7125,7123,1,0,0,0,7125,7126,1,0,0,0,7126,7190,1,0,0,0,7127,7125,1,0,0,0,7128,7130,5,211,0,0,7129,7131,5,212,0,0,7130,7129,1,0,0,0,7130,7131,1,0,0,0,7131,7133,1,0,0,0,7132,7134,3,730,365,0,7133,7132,1,0,0,0,7133,7134,1,0,0,0,7134,7138,1,0,0,0,7135,7137,7,120,0,0,7136,7135,1,0,0,0,7137,7140,1,0,0,0,7138,7136,1,0,0,0,7138,7139,1,0,0,0,7139,7190,1,0,0,0,7140,7138,1,0,0,0,7141,7143,7,121,0,0,7142,7144,3,732,366,0,7143,7142,1,0,0,0,7143,7144,1,0,0,0,7144,7148,1,0,0,0,7145,7147,7,120,0,0,7146,7145,1,0,0,0,7147,7150,1,0,0,0,7148,7146,1,0,0,0,7148,7149,1,0,0,0,7149,7190,1,0,0,0,7150,7148,1,0,0,0,7151,7190,7,122,0,0,7152,7154,7,123,0,0,7153,7155,3,728,364,0,7154,7153,1,0,0,0,7154,7155,1,0,0,0,7155,7190,1,0,0,0,7156,7157,7,124,0,0,7157,7159,3,724,362,0,7158,7160,5,228,0,0,7159,7158,1,0,0,0,7159,7160,1,0,0,0,7160,7164,1,0,0,0,7161,7162,3,54,27,0,7162,7163,3,684,342,0,7163,7165,1,0,0,0,7164,7161,1,0,0,0,7164,7165,1,0,0,0,7165,7190,1,0,0,0,7166,7169,7,125,0,0,7167,7168,5,834,0,0,7168,7170,3,708,354,0,7169,7167,1,0,0,0,7169,7170,1,0,0,0,7170,7190,1,0,0,0,7171,7173,5,233,0,0,7172,7174,5,225,0,0,7173,7172,1,0,0,0,7173,7174,1,0,0,0,7174,7176,1,0,0,0,7175,7177,5,228,0,0,7176,7175,1,0,0,0,7176,7177,1,0,0,0,7177,7181,1,0,0,0,7178,7179,3,54,27,0,7179,7180,3,684,342,0,7180,7182,1,0,0,0,7181,7178,1,0,0,0,7181,7182,1,0,0,0,7182,7185,1,0,0,0,7183,7184,5,28,0,0,7184,7186,3,686,343,0,7185,7183,1,0,0,0,7185,7186,1,0,0,0,7186,7190,1,0,0,0,7187,7188,5,233,0,0,7188,7190,5,229,0,0,7189,7063,1,0,0,0,7189,7083,1,0,0,0,7189,7092,1,0,0,0,7189,7100,1,0,0,0,7189,7108,1,0,0,0,7189,7118,1,0,0,0,7189,7128,1,0,0,0,7189,7141,1,0,0,0,7189,7151,1,0,0,0,7189,7152,1,0,0,0,7189,7156,1,0,0,0,7189,7166,1,0,0,0,7189,7171,1,0,0,0,7189,7187,1,0,0,0,7190,723,1,0,0,0,7191,7192,5,866,0,0,7192,7197,5,882,0,0,7193,7194,5,868,0,0,7194,7196,5,882,0,0,7195,7193,1,0,0,0,7196,7199,1,0,0,0,7197,7195,1,0,0,0,7197,7198,1,0,0,0,7198,7200,1,0,0,0,7199,7197,1,0,0,0,7200,7201,5,867,0,0,7201,725,1,0,0,0,7202,7204,7,126,0,0,7203,7205,3,728,364,0,7204,7203,1,0,0,0,7204,7205,1,0,0,0,7205,7225,1,0,0,0,7206,7208,5,224,0,0,7207,7209,3,728,364,0,7208,7207,1,0,0,0,7208,7209,1,0,0,0,7209,7213,1,0,0,0,7210,7211,3,54,27,0,7211,7212,3,684,342,0,7212,7214,1,0,0,0,7213,7210,1,0,0,0,7213,7214,1,0,0,0,7214,7225,1,0,0,0,7215,7225,7,127,0,0,7216,7218,7,128,0,0,7217,7219,3,732,366,0,7218,7217,1,0,0,0,7218,7219,1,0,0,0,7219,7225,1,0,0,0,7220,7222,7,129,0,0,7221,7223,7,130,0,0,7222,7221,1,0,0,0,7222,7223,1,0,0,0,7223,7225,1,0,0,0,7224,7202,1,0,0,0,7224,7206,1,0,0,0,7224,7215,1,0,0,0,7224,7216,1,0,0,0,7224,7220,1,0,0,0,7225,7227,1,0,0,0,7226,7228,5,12,0,0,7227,7226,1,0,0,0,7227,7228,1,0,0,0,7228,727,1,0,0,0,7229,7230,5,866,0,0,7230,7231,3,708,354,0,7231,7232,5,867,0,0,7232,729,1,0,0,0,7233,7234,5,866,0,0,7234,7235,3,708,354,0,7235,7236,5,868,0,0,7236,7237,3,708,354,0,7237,7238,5,867,0,0,7238,731,1,0,0,0,7239,7240,5,866,0,0,7240,7243,3,708,354,0,7241,7242,5,868,0,0,7242,7244,3,708,354,0,7243,7241,1,0,0,0,7243,7244,1,0,0,0,7244,7245,1,0,0,0,7245,7246,5,867,0,0,7246,733,1,0,0,0,7247,7248,5,866,0,0,7248,7253,3,670,335,0,7249,7250,5,868,0,0,7250,7252,3,670,335,0,7251,7249,1,0,0,0,7252,7255,1,0,0,0,7253,7251,1,0,0,0,7253,7254,1,0,0,0,7254,7256,1,0,0,0,7255,7253,1,0,0,0,7256,7257,5,867,0,0,7257,735,1,0,0,0,7258,7263,3,800,400,0,7259,7260,5,868,0,0,7260,7262,3,800,400,0,7261,7259,1,0,0,0,7262,7265,1,0,0,0,7263,7261,1,0,0,0,7263,7264,1,0,0,0,7264,737,1,0,0,0,7265,7263,1,0,0,0,7266,7267,7,131,0,0,7267,7272,3,740,370,0,7268,7269,5,868,0,0,7269,7271,3,740,370,0,7270,7268,1,0,0,0,7271,7274,1,0,0,0,7272,7270,1,0,0,0,7272,7273,1,0,0,0,7273,739,1,0,0,0,7274,7272,1,0,0,0,7275,7276,5,866,0,0,7276,7281,3,742,371,0,7277,7278,5,868,0,0,7278,7280,3,742,371,0,7279,7277,1,0,0,0,7280,7283,1,0,0,0,7281,7279,1,0,0,0,7281,7282,1,0,0,0,7282,7284,1,0,0,0,7283,7281,1,0,0,0,7284,7285,5,867,0,0,7285,741,1,0,0,0,7286,7289,3,800,400,0,7287,7289,5,42,0,0,7288,7286,1,0,0,0,7288,7287,1,0,0,0,7289,743,1,0,0,0,7290,7295,3,720,360,0,7291,7292,5,868,0,0,7292,7294,3,720,360,0,7293,7291,1,0,0,0,7294,7297,1,0,0,0,7295,7293,1,0,0,0,7295,7296,1,0,0,0,7296,745,1,0,0,0,7297,7295,1,0,0,0,7298,7303,5,882,0,0,7299,7300,5,868,0,0,7300,7302,5,882,0,0,7301,7299,1,0,0,0,7302,7305,1,0,0,0,7303,7301,1,0,0,0,7303,7304,1,0,0,0,7304,747,1,0,0,0,7305,7303,1,0,0,0,7306,7311,5,892,0,0,7307,7308,5,868,0,0,7308,7310,5,892,0,0,7309,7307,1,0,0,0,7310,7313,1,0,0,0,7311,7309,1,0,0,0,7311,7312,1,0,0,0,7312,749,1,0,0,0,7313,7311,1,0,0,0,7314,7341,5,116,0,0,7315,7316,5,24,0,0,7316,7317,5,866,0,0,7317,7318,3,800,400,0,7318,7319,5,13,0,0,7319,7320,3,726,363,0,7320,7321,5,867,0,0,7321,7341,1,0,0,0,7322,7324,3,806,403,0,7323,7322,1,0,0,0,7323,7324,1,0,0,0,7324,7325,1,0,0,0,7325,7341,3,720,360,0,7326,7330,3,752,376,0,7327,7328,5,119,0,0,7328,7329,5,185,0,0,7329,7331,3,752,376,0,7330,7327,1,0,0,0,7330,7331,1,0,0,0,7331,7341,1,0,0,0,7332,7333,5,866,0,0,7333,7334,3,800,400,0,7334,7335,5,867,0,0,7335,7341,1,0,0,0,7336,7337,5,866,0,0,7337,7338,3,698,349,0,7338,7339,5,867,0,0,7339,7341,1,0,0,0,7340,7314,1,0,0,0,7340,7315,1,0,0,0,7340,7323,1,0,0,0,7340,7326,1,0,0,0,7340,7332,1,0,0,0,7340,7336,1,0,0,0,7341,751,1,0,0,0,7342,7348,7,132,0,0,7343,7345,5,866,0,0,7344,7346,3,708,354,0,7345,7344,1,0,0,0,7345,7346,1,0,0,0,7346,7347,1,0,0,0,7347,7349,5,867,0,0,7348,7343,1,0,0,0,7348,7349,1,0,0,0,7349,7357,1,0,0,0,7350,7351,5,295,0,0,7351,7353,5,866,0,0,7352,7354,3,708,354,0,7353,7352,1,0,0,0,7353,7354,1,0,0,0,7354,7355,1,0,0,0,7355,7357,5,867,0,0,7356,7342,1,0,0,0,7356,7350,1,0,0,0,7357,753,1,0,0,0,7358,7359,5,78,0,0,7359,7360,5,60,0,0,7360,755,1,0,0,0,7361,7362,5,78,0,0,7362,7363,5,114,0,0,7363,7364,5,60,0,0,7364,757,1,0,0,0,7365,7366,5,124,0,0,7366,7367,5,143,0,0,7367,759,1,0,0,0,7368,7391,3,762,381,0,7369,7391,3,770,385,0,7370,7391,3,772,386,0,7371,7378,3,792,396,0,7372,7373,5,866,0,0,7373,7379,5,867,0,0,7374,7375,5,866,0,0,7375,7376,3,796,398,0,7376,7377,5,867,0,0,7377,7379,1,0,0,0,7378,7372,1,0,0,0,7378,7374,1,0,0,0,7379,7391,1,0,0,0,7380,7387,3,628,314,0,7381,7382,5,866,0,0,7382,7388,5,867,0,0,7383,7384,5,866,0,0,7384,7385,3,796,398,0,7385,7386,5,867,0,0,7386,7388,1,0,0,0,7387,7381,1,0,0,0,7387,7383,1,0,0,0,7388,7391,1,0,0,0,7389,7391,3,794,397,0,7390,7368,1,0,0,0,7390,7369,1,0,0,0,7390,7370,1,0,0,0,7390,7371,1,0,0,0,7390,7380,1,0,0,0,7390,7389,1,0,0,0,7391,761,1,0,0,0,7392,7395,7,133,0,0,7393,7394,5,866,0,0,7394,7396,5,867,0,0,7395,7393,1,0,0,0,7395,7396,1,0,0,0,7396,7572,1,0,0,0,7397,7572,3,56,28,0,7398,7399,5,33,0,0,7399,7400,5,866,0,0,7400,7401,3,800,400,0,7401,7402,5,868,0,0,7402,7403,3,726,363,0,7403,7404,5,867,0,0,7404,7572,1,0,0,0,7405,7406,5,33,0,0,7406,7407,5,866,0,0,7407,7408,3,800,400,0,7408,7409,5,188,0,0,7409,7410,3,684,342,0,7410,7411,5,867,0,0,7411,7572,1,0,0,0,7412,7413,5,24,0,0,7413,7414,5,866,0,0,7414,7415,3,800,400,0,7415,7416,5,13,0,0,7416,7417,3,726,363,0,7417,7418,5,867,0,0,7418,7572,1,0,0,0,7419,7420,5,189,0,0,7420,7421,5,866,0,0,7421,7422,3,658,329,0,7422,7423,5,867,0,0,7423,7572,1,0,0,0,7424,7426,5,23,0,0,7425,7427,3,764,382,0,7426,7425,1,0,0,0,7427,7428,1,0,0,0,7428,7426,1,0,0,0,7428,7429,1,0,0,0,7429,7432,1,0,0,0,7430,7431,5,53,0,0,7431,7433,3,798,399,0,7432,7430,1,0,0,0,7432,7433,1,0,0,0,7433,7434,1,0,0,0,7434,7435,5,378,0,0,7435,7572,1,0,0,0,7436,7437,5,23,0,0,7437,7439,3,800,400,0,7438,7440,3,764,382,0,7439,7438,1,0,0,0,7440,7441,1,0,0,0,7441,7439,1,0,0,0,7441,7442,1,0,0,0,7442,7445,1,0,0,0,7443,7444,5,53,0,0,7444,7446,3,798,399,0,7445,7443,1,0,0,0,7445,7446,1,0,0,0,7446,7447,1,0,0,0,7447,7448,5,378,0,0,7448,7572,1,0,0,0,7449,7450,5,224,0,0,7450,7451,5,866,0,0,7451,7454,3,796,398,0,7452,7453,5,188,0,0,7453,7455,3,684,342,0,7454,7452,1,0,0,0,7454,7455,1,0,0,0,7455,7456,1,0,0,0,7456,7457,5,867,0,0,7457,7572,1,0,0,0,7458,7459,5,296,0,0,7459,7462,5,866,0,0,7460,7463,3,712,356,0,7461,7463,3,800,400,0,7462,7460,1,0,0,0,7462,7461,1,0,0,0,7463,7464,1,0,0,0,7464,7467,5,80,0,0,7465,7468,3,712,356,0,7466,7468,3,800,400,0,7467,7465,1,0,0,0,7467,7466,1,0,0,0,7468,7469,1,0,0,0,7469,7470,5,867,0,0,7470,7572,1,0,0,0,7471,7472,7,134,0,0,7472,7475,5,866,0,0,7473,7476,3,712,356,0,7474,7476,3,800,400,0,7475,7473,1,0,0,0,7475,7474,1,0,0,0,7476,7477,1,0,0,0,7477,7480,5,68,0,0,7478,7481,3,708,354,0,7479,7481,3,800,400,0,7480,7478,1,0,0,0,7480,7479,1,0,0,0,7481,7487,1,0,0,0,7482,7485,5,65,0,0,7483,7486,3,708,354,0,7484,7486,3,800,400,0,7485,7483,1,0,0,0,7485,7484,1,0,0,0,7486,7488,1,0,0,0,7487,7482,1,0,0,0,7487,7488,1,0,0,0,7488,7489,1,0,0,0,7489,7490,5,867,0,0,7490,7572,1,0,0,0,7491,7492,5,300,0,0,7492,7493,5,866,0,0,7493,7496,7,135,0,0,7494,7497,3,712,356,0,7495,7497,3,800,400,0,7496,7494,1,0,0,0,7496,7495,1,0,0,0,7496,7497,1,0,0,0,7497,7498,1,0,0,0,7498,7501,5,68,0,0,7499,7502,3,712,356,0,7500,7502,3,800,400,0,7501,7499,1,0,0,0,7501,7500,1,0,0,0,7502,7503,1,0,0,0,7503,7504,5,867,0,0,7504,7572,1,0,0,0,7505,7506,5,300,0,0,7506,7509,5,866,0,0,7507,7510,3,712,356,0,7508,7510,3,800,400,0,7509,7507,1,0,0,0,7509,7508,1,0,0,0,7510,7511,1,0,0,0,7511,7514,5,68,0,0,7512,7515,3,712,356,0,7513,7515,3,800,400,0,7514,7512,1,0,0,0,7514,7513,1,0,0,0,7515,7516,1,0,0,0,7516,7517,5,867,0,0,7517,7572,1,0,0,0,7518,7519,5,840,0,0,7519,7522,5,866,0,0,7520,7523,3,712,356,0,7521,7523,3,800,400,0,7522,7520,1,0,0,0,7522,7521,1,0,0,0,7523,7530,1,0,0,0,7524,7525,5,13,0,0,7525,7526,7,136,0,0,7526,7527,5,866,0,0,7527,7528,3,708,354,0,7528,7529,5,867,0,0,7529,7531,1,0,0,0,7530,7524,1,0,0,0,7530,7531,1,0,0,0,7531,7533,1,0,0,0,7532,7534,3,766,383,0,7533,7532,1,0,0,0,7533,7534,1,0,0,0,7534,7535,1,0,0,0,7535,7536,5,867,0,0,7536,7572,1,0,0,0,7537,7538,5,293,0,0,7538,7539,5,866,0,0,7539,7540,3,66,33,0,7540,7543,5,68,0,0,7541,7544,3,712,356,0,7542,7544,3,800,400,0,7543,7541,1,0,0,0,7543,7542,1,0,0,0,7544,7545,1,0,0,0,7545,7546,5,867,0,0,7546,7572,1,0,0,0,7547,7548,5,827,0,0,7548,7549,5,866,0,0,7549,7550,7,137,0,0,7550,7551,5,868,0,0,7551,7552,3,712,356,0,7552,7553,5,867,0,0,7553,7572,1,0,0,0,7554,7555,5,254,0,0,7555,7556,5,866,0,0,7556,7557,3,800,400,0,7557,7558,5,868,0,0,7558,7561,3,800,400,0,7559,7560,5,579,0,0,7560,7562,3,726,363,0,7561,7559,1,0,0,0,7561,7562,1,0,0,0,7562,7564,1,0,0,0,7563,7565,3,286,143,0,7564,7563,1,0,0,0,7564,7565,1,0,0,0,7565,7567,1,0,0,0,7566,7568,3,288,144,0,7567,7566,1,0,0,0,7567,7568,1,0,0,0,7568,7569,1,0,0,0,7569,7570,5,867,0,0,7570,7572,1,0,0,0,7571,7392,1,0,0,0,7571,7397,1,0,0,0,7571,7398,1,0,0,0,7571,7405,1,0,0,0,7571,7412,1,0,0,0,7571,7419,1,0,0,0,7571,7424,1,0,0,0,7571,7436,1,0,0,0,7571,7449,1,0,0,0,7571,7458,1,0,0,0,7571,7471,1,0,0,0,7571,7491,1,0,0,0,7571,7505,1,0,0,0,7571,7518,1,0,0,0,7571,7537,1,0,0,0,7571,7547,1,0,0,0,7571,7554,1,0,0,0,7572,763,1,0,0,0,7573,7574,5,191,0,0,7574,7575,3,798,399,0,7575,7576,5,175,0,0,7576,7577,3,798,399,0,7577,765,1,0,0,0,7578,7579,5,448,0,0,7579,7584,3,768,384,0,7580,7581,5,868,0,0,7581,7583,3,768,384,0,7582,7580,1,0,0,0,7583,7586,1,0,0,0,7584,7582,1,0,0,0,7584,7585,1,0,0,0,7585,7593,1,0,0,0,7586,7584,1,0,0,0,7587,7588,5,448,0,0,7588,7589,3,708,354,0,7589,7590,5,854,0,0,7590,7591,3,708,354,0,7591,7593,1,0,0,0,7592,7578,1,0,0,0,7592,7587,1,0,0,0,7593,767,1,0,0,0,7594,7596,3,708,354,0,7595,7597,7,138,0,0,7596,7595,1,0,0,0,7596,7597,1,0,0,0,7597,769,1,0,0,0,7598,7599,7,139,0,0,7599,7601,5,866,0,0,7600,7602,7,44,0,0,7601,7600,1,0,0,0,7601,7602,1,0,0,0,7602,7603,1,0,0,0,7603,7604,3,798,399,0,7604,7606,5,867,0,0,7605,7607,3,774,387,0,7606,7605,1,0,0,0,7606,7607,1,0,0,0,7607,7658,1,0,0,0,7608,7609,5,262,0,0,7609,7617,5,866,0,0,7610,7618,5,850,0,0,7611,7613,5,7,0,0,7612,7611,1,0,0,0,7612,7613,1,0,0,0,7613,7614,1,0,0,0,7614,7618,3,798,399,0,7615,7616,5,49,0,0,7616,7618,3,796,398,0,7617,7610,1,0,0,0,7617,7612,1,0,0,0,7617,7615,1,0,0,0,7618,7619,1,0,0,0,7619,7621,5,867,0,0,7620,7622,3,774,387,0,7621,7620,1,0,0,0,7621,7622,1,0,0,0,7622,7658,1,0,0,0,7623,7624,7,140,0,0,7624,7626,5,866,0,0,7625,7627,5,7,0,0,7626,7625,1,0,0,0,7626,7627,1,0,0,0,7627,7628,1,0,0,0,7628,7629,3,798,399,0,7629,7631,5,867,0,0,7630,7632,3,774,387,0,7631,7630,1,0,0,0,7631,7632,1,0,0,0,7632,7658,1,0,0,0,7633,7634,5,266,0,0,7634,7636,5,866,0,0,7635,7637,5,49,0,0,7636,7635,1,0,0,0,7636,7637,1,0,0,0,7637,7638,1,0,0,0,7638,7649,3,796,398,0,7639,7640,5,125,0,0,7640,7641,5,20,0,0,7641,7646,3,254,127,0,7642,7643,5,868,0,0,7643,7645,3,254,127,0,7644,7642,1,0,0,0,7645,7648,1,0,0,0,7646,7644,1,0,0,0,7646,7647,1,0,0,0,7647,7650,1,0,0,0,7648,7646,1,0,0,0,7649,7639,1,0,0,0,7649,7650,1,0,0,0,7650,7653,1,0,0,0,7651,7652,5,156,0,0,7652,7654,5,882,0,0,7653,7651,1,0,0,0,7653,7654,1,0,0,0,7654,7655,1,0,0,0,7655,7656,5,867,0,0,7656,7658,1,0,0,0,7657,7598,1,0,0,0,7657,7608,1,0,0,0,7657,7623,1,0,0,0,7657,7633,1,0,0,0,7658,771,1,0,0,0,7659,7660,7,141,0,0,7660,7661,5,866,0,0,7661,7664,3,800,400,0,7662,7663,5,868,0,0,7663,7665,3,708,354,0,7664,7662,1,0,0,0,7664,7665,1,0,0,0,7665,7668,1,0,0,0,7666,7667,5,868,0,0,7667,7669,3,708,354,0,7668,7666,1,0,0,0,7668,7669,1,0,0,0,7669,7670,1,0,0,0,7670,7671,5,867,0,0,7671,7672,3,774,387,0,7672,7698,1,0,0,0,7673,7674,7,142,0,0,7674,7675,5,866,0,0,7675,7676,3,800,400,0,7676,7677,5,867,0,0,7677,7678,3,774,387,0,7678,7698,1,0,0,0,7679,7680,7,143,0,0,7680,7681,5,866,0,0,7681,7682,5,867,0,0,7682,7698,3,774,387,0,7683,7684,5,273,0,0,7684,7685,5,866,0,0,7685,7686,3,800,400,0,7686,7687,5,868,0,0,7687,7688,3,708,354,0,7688,7689,5,867,0,0,7689,7690,3,774,387,0,7690,7698,1,0,0,0,7691,7692,5,272,0,0,7692,7693,5,866,0,0,7693,7694,3,708,354,0,7694,7695,5,867,0,0,7695,7696,3,774,387,0,7696,7698,1,0,0,0,7697,7659,1,0,0,0,7697,7673,1,0,0,0,7697,7679,1,0,0,0,7697,7683,1,0,0,0,7697,7691,1,0,0,0,7698,773,1,0,0,0,7699,7705,5,129,0,0,7700,7701,5,866,0,0,7701,7702,3,776,388,0,7702,7703,5,867,0,0,7703,7706,1,0,0,0,7704,7706,3,778,389,0,7705,7700,1,0,0,0,7705,7704,1,0,0,0,7706,775,1,0,0,0,7707,7709,3,778,389,0,7708,7707,1,0,0,0,7708,7709,1,0,0,0,7709,7711,1,0,0,0,7710,7712,3,790,395,0,7711,7710,1,0,0,0,7711,7712,1,0,0,0,7712,7714,1,0,0,0,7713,7715,3,252,126,0,7714,7713,1,0,0,0,7714,7715,1,0,0,0,7715,7717,1,0,0,0,7716,7718,3,780,390,0,7717,7716,1,0,0,0,7717,7718,1,0,0,0,7718,777,1,0,0,0,7719,7720,3,702,351,0,7720,779,1,0,0,0,7721,7722,3,782,391,0,7722,7723,3,784,392,0,7723,781,1,0,0,0,7724,7725,7,144,0,0,7725,783,1,0,0,0,7726,7729,3,788,394,0,7727,7729,3,786,393,0,7728,7726,1,0,0,0,7728,7727,1,0,0,0,7729,785,1,0,0,0,7730,7731,5,17,0,0,7731,7732,3,788,394,0,7732,7733,5,11,0,0,7733,7734,3,788,394,0,7734,787,1,0,0,0,7735,7736,5,36,0,0,7736,7743,5,586,0,0,7737,7738,5,669,0,0,7738,7743,7,145,0,0,7739,7740,3,800,400,0,7740,7741,7,145,0,0,7741,7743,1,0,0,0,7742,7735,1,0,0,0,7742,7737,1,0,0,0,7742,7739,1,0,0,0,7743,789,1,0,0,0,7744,7745,5,130,0,0,7745,7746,5,20,0,0,7746,7751,3,800,400,0,7747,7748,5,868,0,0,7748,7750,3,800,400,0,7749,7747,1,0,0,0,7750,7753,1,0,0,0,7751,7749,1,0,0,0,7751,7752,1,0,0,0,7752,791,1,0,0,0,7753,7751,1,0,0,0,7754,7779,3,832,416,0,7755,7779,5,757,0,0,7756,7779,5,289,0,0,7757,7779,5,285,0,0,7758,7779,5,286,0,0,7759,7779,5,287,0,0,7760,7779,5,290,0,0,7761,7779,5,291,0,0,7762,7779,5,292,0,0,7763,7779,5,78,0,0,7764,7779,5,86,0,0,7765,7779,5,288,0,0,7766,7779,5,294,0,0,7767,7779,5,488,0,0,7768,7779,5,295,0,0,7769,7779,5,142,0,0,7770,7779,5,143,0,0,7771,7779,5,297,0,0,7772,7779,5,298,0,0,7773,7779,5,299,0,0,7774,7779,5,300,0,0,7775,7779,5,301,0,0,7776,7779,5,302,0,0,7777,7779,5,303,0,0,7778,7754,1,0,0,0,7778,7755,1,0,0,0,7778,7756,1,0,0,0,7778,7757,1,0,0,0,7778,7758,1,0,0,0,7778,7759,1,0,0,0,7778,7760,1,0,0,0,7778,7761,1,0,0,0,7778,7762,1,0,0,0,7778,7763,1,0,0,0,7778,7764,1,0,0,0,7778,7765,1,0,0,0,7778,7766,1,0,0,0,7778,7767,1,0,0,0,7778,7768,1,0,0,0,7778,7769,1,0,0,0,7778,7770,1,0,0,0,7778,7771,1,0,0,0,7778,7772,1,0,0,0,7778,7773,1,0,0,0,7778,7774,1,0,0,0,7778,7775,1,0,0,0,7778,7776,1,0,0,0,7778,7777,1,0,0,0,7779,793,1,0,0,0,7780,7781,7,146,0,0,7781,7782,5,866,0,0,7782,7783,3,798,399,0,7783,7784,5,867,0,0,7784,795,1,0,0,0,7785,7790,3,798,399,0,7786,7787,5,868,0,0,7787,7789,3,798,399,0,7788,7786,1,0,0,0,7789,7792,1,0,0,0,7790,7788,1,0,0,0,7790,7791,1,0,0,0,7791,797,1,0,0,0,7792,7790,1,0,0,0,7793,7797,3,720,360,0,7794,7797,3,760,380,0,7795,7797,3,800,400,0,7796,7793,1,0,0,0,7796,7794,1,0,0,0,7796,7795,1,0,0,0,7797,799,1,0,0,0,7798,7799,6,400,-1,0,7799,7800,7,147,0,0,7800,7810,3,800,400,4,7801,7802,3,802,401,0,7802,7804,5,89,0,0,7803,7805,5,114,0,0,7804,7803,1,0,0,0,7804,7805,1,0,0,0,7805,7806,1,0,0,0,7806,7807,7,148,0,0,7807,7810,1,0,0,0,7808,7810,3,802,401,0,7809,7798,1,0,0,0,7809,7801,1,0,0,0,7809,7808,1,0,0,0,7810,7817,1,0,0,0,7811,7812,10,3,0,0,7812,7813,3,812,406,0,7813,7814,3,800,400,4,7814,7816,1,0,0,0,7815,7811,1,0,0,0,7816,7819,1,0,0,0,7817,7815,1,0,0,0,7817,7818,1,0,0,0,7818,801,1,0,0,0,7819,7817,1,0,0,0,7820,7821,6,401,-1,0,7821,7822,3,804,402,0,7822,7886,1,0,0,0,7823,7825,10,6,0,0,7824,7826,5,114,0,0,7825,7824,1,0,0,0,7825,7826,1,0,0,0,7826,7827,1,0,0,0,7827,7828,5,17,0,0,7828,7829,3,802,401,0,7829,7830,5,11,0,0,7830,7831,3,802,401,7,7831,7885,1,0,0,0,7832,7833,10,5,0,0,7833,7834,5,604,0,0,7834,7835,5,99,0,0,7835,7885,3,802,401,6,7836,7838,10,3,0,0,7837,7839,5,114,0,0,7838,7837,1,0,0,0,7838,7839,1,0,0,0,7839,7840,1,0,0,0,7840,7841,7,149,0,0,7841,7885,3,802,401,4,7842,7844,10,9,0,0,7843,7845,5,114,0,0,7844,7843,1,0,0,0,7844,7845,1,0,0,0,7845,7846,1,0,0,0,7846,7847,5,80,0,0,7847,7850,5,866,0,0,7848,7851,3,204,102,0,7849,7851,3,736,368,0,7850,7848,1,0,0,0,7850,7849,1,0,0,0,7851,7852,1,0,0,0,7852,7853,5,867,0,0,7853,7885,1,0,0,0,7854,7855,10,8,0,0,7855,7856,5,89,0,0,7856,7885,3,718,359,0,7857,7858,10,7,0,0,7858,7865,3,808,404,0,7859,7860,7,150,0,0,7860,7861,5,866,0,0,7861,7862,3,204,102,0,7862,7863,5,867,0,0,7863,7866,1,0,0,0,7864,7866,3,802,401,0,7865,7859,1,0,0,0,7865,7864,1,0,0,0,7866,7885,1,0,0,0,7867,7869,10,4,0,0,7868,7870,5,114,0,0,7869,7868,1,0,0,0,7869,7870,1,0,0,0,7870,7871,1,0,0,0,7871,7872,5,99,0,0,7872,7875,3,802,401,0,7873,7874,5,384,0,0,7874,7876,5,882,0,0,7875,7873,1,0,0,0,7875,7876,1,0,0,0,7876,7885,1,0,0,0,7877,7878,10,2,0,0,7878,7879,5,485,0,0,7879,7880,5,510,0,0,7880,7881,5,866,0,0,7881,7882,3,802,401,0,7882,7883,5,867,0,0,7883,7885,1,0,0,0,7884,7823,1,0,0,0,7884,7832,1,0,0,0,7884,7836,1,0,0,0,7884,7842,1,0,0,0,7884,7854,1,0,0,0,7884,7857,1,0,0,0,7884,7867,1,0,0,0,7884,7877,1,0,0,0,7885,7888,1,0,0,0,7886,7884,1,0,0,0,7886,7887,1,0,0,0,7887,803,1,0,0,0,7888,7886,1,0,0,0,7889,7890,6,402,-1,0,7890,7938,3,720,360,0,7891,7938,3,760,380,0,7892,7938,3,682,341,0,7893,7894,3,806,403,0,7894,7895,3,804,402,12,7895,7938,1,0,0,0,7896,7897,5,228,0,0,7897,7938,3,804,402,11,7898,7899,5,892,0,0,7899,7900,5,841,0,0,7900,7938,3,804,402,10,7901,7902,5,866,0,0,7902,7907,3,800,400,0,7903,7904,5,868,0,0,7904,7906,3,800,400,0,7905,7903,1,0,0,0,7906,7909,1,0,0,0,7907,7905,1,0,0,0,7907,7908,1,0,0,0,7908,7910,1,0,0,0,7909,7907,1,0,0,0,7910,7911,5,867,0,0,7911,7938,1,0,0,0,7912,7913,5,586,0,0,7913,7914,5,866,0,0,7914,7917,3,800,400,0,7915,7916,5,868,0,0,7916,7918,3,800,400,0,7917,7915,1,0,0,0,7918,7919,1,0,0,0,7919,7917,1,0,0,0,7919,7920,1,0,0,0,7920,7921,1,0,0,0,7921,7922,5,867,0,0,7922,7938,1,0,0,0,7923,7924,5,60,0,0,7924,7925,5,866,0,0,7925,7926,3,204,102,0,7926,7927,5,867,0,0,7927,7938,1,0,0,0,7928,7929,5,866,0,0,7929,7930,3,204,102,0,7930,7931,5,867,0,0,7931,7938,1,0,0,0,7932,7933,5,87,0,0,7933,7934,3,800,400,0,7934,7935,3,66,33,0,7935,7938,1,0,0,0,7936,7938,3,658,329,0,7937,7889,1,0,0,0,7937,7891,1,0,0,0,7937,7892,1,0,0,0,7937,7893,1,0,0,0,7937,7896,1,0,0,0,7937,7898,1,0,0,0,7937,7901,1,0,0,0,7937,7912,1,0,0,0,7937,7923,1,0,0,0,7937,7928,1,0,0,0,7937,7932,1,0,0,0,7937,7936,1,0,0,0,7938,7956,1,0,0,0,7939,7940,10,4,0,0,7940,7941,3,818,409,0,7941,7942,3,804,402,5,7942,7955,1,0,0,0,7943,7944,10,3,0,0,7944,7945,3,814,407,0,7945,7946,3,804,402,4,7946,7955,1,0,0,0,7947,7948,10,2,0,0,7948,7949,3,816,408,0,7949,7950,3,804,402,3,7950,7955,1,0,0,0,7951,7952,10,14,0,0,7952,7953,5,28,0,0,7953,7955,3,686,343,0,7954,7939,1,0,0,0,7954,7943,1,0,0,0,7954,7947,1,0,0,0,7954,7951,1,0,0,0,7955,7958,1,0,0,0,7956,7954,1,0,0,0,7956,7957,1,0,0,0,7957,805,1,0,0,0,7958,7956,1,0,0,0,7959,7960,7,151,0,0,7960,807,1,0,0,0,7961,7962,5,859,0,0,7962,7970,5,858,0,0,7963,7964,5,860,0,0,7964,7970,5,857,0,0,7965,7966,5,859,0,0,7966,7967,5,857,0,0,7967,7970,5,858,0,0,7968,7970,3,810,405,0,7969,7961,1,0,0,0,7969,7963,1,0,0,0,7969,7965,1,0,0,0,7969,7968,1,0,0,0,7970,809,1,0,0,0,7971,7972,5,859,0,0,7972,7979,5,857,0,0,7973,7974,5,858,0,0,7974,7979,5,857,0,0,7975,7979,5,857,0,0,7976,7979,5,858,0,0,7977,7979,5,859,0,0,7978,7971,1,0,0,0,7978,7973,1,0,0,0,7978,7975,1,0,0,0,7978,7976,1,0,0,0,7978,7977,1,0,0,0,7979,811,1,0,0,0,7980,7988,5,11,0,0,7981,7982,5,863,0,0,7982,7988,5,863,0,0,7983,7988,5,196,0,0,7984,7988,5,124,0,0,7985,7986,5,862,0,0,7986,7988,5,862,0,0,7987,7980,1,0,0,0,7987,7981,1,0,0,0,7987,7983,1,0,0,0,7987,7984,1,0,0,0,7987,7985,1,0,0,0,7988,813,1,0,0,0,7989,7990,5,859,0,0,7990,7997,5,859,0,0,7991,7992,5,858,0,0,7992,7997,5,858,0,0,7993,7997,5,863,0,0,7994,7997,5,864,0,0,7995,7997,5,862,0,0,7996,7989,1,0,0,0,7996,7991,1,0,0,0,7996,7993,1,0,0,0,7996,7994,1,0,0,0,7996,7995,1,0,0,0,7997,815,1,0,0,0,7998,7999,7,152,0,0,7999,817,1,0,0,0,8e3,8001,5,854,0,0,8001,8006,5,858,0,0,8002,8003,5,854,0,0,8003,8004,5,858,0,0,8004,8006,5,858,0,0,8005,8e3,1,0,0,0,8005,8002,1,0,0,0,8006,819,1,0,0,0,8007,8008,7,153,0,0,8008,821,1,0,0,0,8009,8010,7,154,0,0,8010,823,1,0,0,0,8011,8012,7,155,0,0,8012,825,1,0,0,0,8013,8014,7,156,0,0,8014,827,1,0,0,0,8015,8016,7,157,0,0,8016,829,1,0,0,0,8017,8018,7,158,0,0,8018,831,1,0,0,0,8019,8020,7,159,0,0,8020,833,1,0,0,0,1154,837,844,847,856,899,918,929,945,950,962,997,1007,1012,1018,1023,1027,1036,1039,1042,1046,1053,1056,1061,1069,1074,1079,1082,1084,1096,1099,1103,1106,1110,1113,1117,1120,1123,1127,1130,1134,1140,1144,1149,1155,1162,1170,1188,1195,1199,1203,1207,1212,1215,1218,1221,1224,1230,1234,1244,1248,1252,1258,1263,1266,1269,1271,1275,1282,1286,1289,1294,1298,1301,1305,1308,1312,1325,1328,1332,1335,1339,1342,1346,1349,1353,1356,1359,1363,1366,1370,1376,1380,1392,1398,1409,1414,1422,1426,1431,1434,1439,1449,1454,1459,1465,1470,1474,1476,1479,1483,1487,1490,1494,1498,1502,1508,1511,1518,1523,1529,1536,1542,1550,1553,1560,1563,1565,1571,1577,1594,1601,1608,1620,1625,1628,1631,1641,1654,1659,1675,1683,1693,1696,1702,1707,1710,1716,1720,1725,1731,1735,1739,1742,1745,1751,1755,1760,1771,1774,1781,1784,1788,1794,1806,1809,1814,1827,1834,1840,1845,1849,1852,1860,1868,1870,1880,1884,1887,1891,1896,1901,1906,1910,1914,1918,1922,1926,1930,1935,1940,1945,1951,1956,1961,1966,1971,1976,1982,1987,1992,1997,2002,2007,2012,2017,2024,2029,2034,2039,2043,2048,2056,2061,2067,2079,2086,2088,2096,2101,2104,2112,2118,2122,2135,2147,2149,2152,2160,2166,2172,2185,2192,2201,2206,2217,2226,2231,2243,2250,2259,2264,2276,2283,2292,2297,2304,2313,2318,2320,2325,2333,2342,2346,2349,2353,2358,2364,2370,2375,2380,2385,2390,2393,2398,2403,2413,2417,2424,2429,2432,2437,2440,2444,2448,2456,2475,2478,2481,2485,2495,2508,2521,2524,2530,2533,2537,2546,2549,2552,2557,2561,2564,2568,2572,2575,2579,2582,2586,2589,2595,2598,2603,2611,2617,2621,2625,2630,2635,2642,2646,2657,2665,2668,2674,2680,2683,2689,2695,2697,2702,2708,2714,2716,2720,2723,2726,2732,2738,2740,2745,2752,2761,2764,2768,2773,2783,2792,2800,2803,2811,2814,2821,2826,2834,2850,2855,2862,2881,2887,2897,2909,2916,2923,2938,2951,2957,2963,2969,2975,2981,2987,2992,2999,3006,3013,3018,3021,3023,3032,3039,3046,3053,3062,3068,3072,3076,3080,3086,3089,3094,3101,3108,3112,3117,3127,3135,3141,3150,3159,3168,3171,3175,3184,3188,3191,3194,3200,3203,3206,3210,3213,3216,3219,3230,3233,3238,3244,3249,3254,3257,3261,3266,3269,3274,3284,3289,3295,3297,3303,3305,3311,3319,3324,3332,3335,3340,3343,3348,3356,3362,3366,3368,3374,3382,3387,3395,3398,3403,3406,3410,3413,3416,3420,3423,3431,3437,3441,3447,3452,3456,3458,3464,3468,3471,3474,3477,3483,3488,3491,3494,3497,3500,3502,3505,3509,3512,3515,3523,3529,3532,3534,3543,3548,3555,3558,3561,3565,3569,3575,3579,3586,3590,3593,3596,3601,3608,3618,3627,3636,3646,3649,3653,3659,3663,3666,3669,3674,3677,3684,3688,3691,3695,3699,3702,3705,3710,3716,3720,3730,3736,3740,3746,3750,3756,3759,3771,3775,3779,3787,3791,3805,3810,3813,3817,3820,3828,3833,3836,3839,3843,3846,3855,3860,3869,3874,3881,3888,3896,3902,3910,3913,3916,3923,3926,3929,3936,3939,3943,3949,3959,3963,3972,3975,3979,3985,3993,3998,4002,4008,4014,4017,4019,4023,4032,4042,4048,4053,4057,4060,4063,4066,4069,4072,4076,4080,4088,4092,4095,4097,4110,4113,4120,4130,4133,4138,4140,4144,4152,4158,4167,4180,4184,4190,4195,4199,4202,4206,4209,4217,4220,4222,4230,4242,4248,4250,4256,4258,4260,4266,4274,4282,4286,4290,4299,4304,4324,4329,4335,4342,4347,4356,4359,4363,4367,4371,4374,4377,4380,4384,4388,4391,4394,4397,4404,4408,4423,4436,4444,4454,4458,4461,4467,4470,4473,4482,4491,4501,4505,4515,4519,4530,4534,4543,4552,4555,4559,4564,4568,4577,4580,4583,4590,4596,4602,4628,4631,4634,4653,4655,4678,4681,4684,4703,4705,4719,4732,4769,4774,4809,4823,4830,4834,4840,4848,4850,4861,4871,4878,4884,4892,4897,4905,4913,4921,4929,4935,4940,4945,4950,4956,4958,4969,4974,4981,4983,4997,5003,5008,5013,5019,5026,5034,5042,5047,5053,5056,5064,5071,5080,5083,5100,5108,5116,5120,5127,5133,5141,5146,5153,5161,5168,5173,5176,5178,5184,5186,5190,5192,5197,5204,5209,5213,5218,5222,5228,5234,5239,5242,5244,5250,5252,5256,5258,5263,5268,5275,5284,5289,5298,5302,5308,5313,5316,5318,5324,5326,5329,5336,5338,5343,5350,5359,5365,5367,5374,5377,5389,5395,5403,5406,5410,5413,5417,5419,5430,5433,5437,5440,5443,5450,5462,5465,5472,5478,5488,5493,5500,5505,5511,5515,5519,5527,5531,5535,5541,5543,5555,5560,5566,5572,5576,5581,5583,5607,5611,5614,5623,5627,5636,5640,5644,5650,5652,5661,5671,5698,5702,5707,5714,5717,5723,5733,5743,5753,5759,5768,5774,5781,5783,5791,5797,5801,5818,5828,5832,5836,5846,5851,5923,5941,5949,5955,5967,5971,5982,5986,5995,6003,6010,6014,6021,6026,6029,6032,6043,6047,6051,6066,6075,6078,6092,6110,6123,6126,6130,6133,6135,6142,6149,6153,6160,6167,6170,6186,6189,6199,6203,6209,6212,6215,6220,6224,6227,6234,6237,6243,6279,6282,6294,6297,6313,6315,6319,6326,6330,6337,6340,6349,6352,6357,6363,6365,6371,6375,6381,6384,6387,6400,6403,6409,6412,6420,6428,6434,6437,6441,6455,6467,6475,6479,6486,6493,6498,6511,6520,6528,6533,6536,6541,6544,6556,6561,6574,6576,6581,6585,6588,6590,6597,6604,6607,6610,6616,6620,6626,6634,6643,6656,6661,6669,6672,6677,6682,6690,6693,6701,6705,6712,6718,6721,6725,6738,6744,6756,6759,6768,6773,6794,6810,6820,6825,6830,6832,6835,6839,6841,6848,6854,6856,6859,6863,6866,6879,6889,6892,6895,6908,6914,6917,6925,6932,6952,6959,6961,6968,6970,6974,6981,6987,6998,7004,7010,7013,7017,7022,7025,7029,7033,7035,7040,7045,7058,7061,7065,7068,7071,7076,7081,7087,7090,7095,7098,7103,7106,7110,7115,7120,7125,7130,7133,7138,7143,7148,7154,7159,7164,7169,7173,7176,7181,7185,7189,7197,7204,7208,7213,7218,7222,7224,7227,7243,7253,7263,7272,7281,7288,7295,7303,7311,7323,7330,7340,7345,7348,7353,7356,7378,7387,7390,7395,7428,7432,7441,7445,7454,7462,7467,7475,7480,7485,7487,7496,7501,7509,7514,7522,7530,7533,7543,7561,7564,7567,7571,7584,7592,7596,7601,7606,7612,7617,7621,7626,7631,7636,7646,7649,7653,7657,7664,7668,7697,7705,7708,7711,7714,7717,7728,7742,7751,7778,7790,7796,7804,7809,7817,7825,7838,7844,7850,7865,7869,7875,7884,7886,7907,7919,7937,7954,7956,7969,7978,7987,7996,8005],t.vocabulary=new Se(t.literalNames,t.symbolicNames,[]),t.decisionsToDFA=t._ATN.decisionToState.map((n,e)=>new b0(n,e));class r8 extends K{constructor(e,i){super(e,i)}EOF(){return this.getToken(t.EOF,0)}singleStatement(e){return e===void 0?this.getRuleContexts(Xh):this.getRuleContext(e,Xh)}get ruleIndex(){return t.RULE_program}enterRule(e){e.enterProgram&&e.enterProgram(this)}exitRule(e){e.exitProgram&&e.exitProgram(this)}accept(e){return e.visitProgram?e.visitProgram(this):e.visitChildren(this)}}class Xh extends K{constructor(e,i){super(e,i)}sqlStatement(){return this.getRuleContext(0,l7)}SEMI(){return this.getToken(t.SEMI,0)}emptyStatement_(){return this.getRuleContext(0,$3)}get ruleIndex(){return t.RULE_singleStatement}enterRule(e){e.enterSingleStatement&&e.enterSingleStatement(this)}exitRule(e){e.exitSingleStatement&&e.exitSingleStatement(this)}accept(e){return e.visitSingleStatement?e.visitSingleStatement(this):e.visitChildren(this)}}class l7 extends K{constructor(e,i){super(e,i)}ddlStatement(){return this.getRuleContext(0,M3)}dmlStatement(){return this.getRuleContext(0,Qh)}transactionStatement(){return this.getRuleContext(0,P3)}replicationStatement(){return this.getRuleContext(0,y3)}preparedStatement(){return this.getRuleContext(0,q3)}administrationStatement(){return this.getRuleContext(0,ea)}utilityStatement(){return this.getRuleContext(0,ia)}get ruleIndex(){return t.RULE_sqlStatement}enterRule(e){e.enterSqlStatement&&e.enterSqlStatement(this)}exitRule(e){e.exitSqlStatement&&e.exitSqlStatement(this)}accept(e){return e.visitSqlStatement?e.visitSqlStatement(this):e.visitChildren(this)}}class $3 extends K{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_emptyStatement_}enterRule(e){e.enterEmptyStatement_&&e.enterEmptyStatement_(this)}exitRule(e){e.exitEmptyStatement_&&e.exitEmptyStatement_(this)}accept(e){return e.visitEmptyStatement_?e.visitEmptyStatement_(this):e.visitChildren(this)}}class M3 extends K{constructor(e,i){super(e,i)}createDatabase(){return this.getRuleContext(0,sa)}createEvent(){return this.getRuleContext(0,na)}createIndex(){return this.getRuleContext(0,ha)}createLogfileGroup(){return this.getRuleContext(0,aa)}createProcedure(){return this.getRuleContext(0,ca)}createFunction(){return this.getRuleContext(0,f4)}createServer(){return this.getRuleContext(0,ra)}createTable(){return this.getRuleContext(0,Ri)}createTablespaceInnodb(){return this.getRuleContext(0,Ea)}createTablespaceNdb(){return this.getRuleContext(0,ua)}createTrigger(){return this.getRuleContext(0,Ka)}createView(){return this.getRuleContext(0,Wa)}createRole(){return this.getRuleContext(0,oa)}alterDatabase(){return this.getRuleContext(0,g7)}alterEvent(){return this.getRuleContext(0,La)}alterFunction(){return this.getRuleContext(0,Oa)}alterInstance(){return this.getRuleContext(0,Ca)}alterLogfileGroup(){return this.getRuleContext(0,Na)}alterProcedure(){return this.getRuleContext(0,la)}alterServer(){return this.getRuleContext(0,da)}alterTable(){return this.getRuleContext(0,ma)}alterTablespace(){return this.getRuleContext(0,pa)}alterView(){return this.getRuleContext(0,xa)}dropDatabase(){return this.getRuleContext(0,fa)}dropEvent(){return this.getRuleContext(0,ga)}dropIndex(){return this.getRuleContext(0,Ua)}dropLogfileGroup(){return this.getRuleContext(0,Da)}dropProcedure(){return this.getRuleContext(0,ka)}dropFunction(){return this.getRuleContext(0,Sa)}dropServer(){return this.getRuleContext(0,Ha)}dropSpatial(){return this.getRuleContext(0,Ba)}dropTable(){return this.getRuleContext(0,Fa)}dropTablespace(){return this.getRuleContext(0,Ga)}dropTrigger(){return this.getRuleContext(0,ba)}dropView(){return this.getRuleContext(0,wa)}dropRole(){return this.getRuleContext(0,va)}setRole(){return this.getRuleContext(0,Ya)}renameTable(){return this.getRuleContext(0,Va)}truncateTable(){return this.getRuleContext(0,Xa)}get ruleIndex(){return t.RULE_ddlStatement}enterRule(e){e.enterDdlStatement&&e.enterDdlStatement(this)}exitRule(e){e.exitDdlStatement&&e.exitDdlStatement(this)}accept(e){return e.visitDdlStatement?e.visitDdlStatement(this):e.visitChildren(this)}}class Qh extends K{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}setOperations(){return this.getRuleContext(0,ya)}insertStatement(){return this.getRuleContext(0,i2)}updateStatement(){return this.getRuleContext(0,a2)}deleteStatement(){return this.getRuleContext(0,e2)}replaceStatement(){return this.getRuleContext(0,h2)}callStatement(){return this.getRuleContext(0,Qa)}interSectStatement(){return this.getRuleContext(0,ja)}loadDataStatement(){return this.getRuleContext(0,$a)}loadXmlStatement(){return this.getRuleContext(0,Ma)}parenthesizedQuery(){return this.getRuleContext(0,Pa)}doStatement(){return this.getRuleContext(0,Za)}handlerStatement(){return this.getRuleContext(0,Ja)}importTableStatement(){return this.getRuleContext(0,oc)}valuesStatement(){return this.getRuleContext(0,c2)}withStatement(){return this.getRuleContext(0,eo)}tableStatement(){return this.getRuleContext(0,v2)}get ruleIndex(){return t.RULE_dmlStatement}enterRule(e){e.enterDmlStatement&&e.enterDmlStatement(this)}exitRule(e){e.exitDmlStatement&&e.exitDmlStatement(this)}accept(e){return e.visitDmlStatement?e.visitDmlStatement(this):e.visitChildren(this)}}class P3 extends K{constructor(e,i){super(e,i)}startTransaction(){return this.getRuleContext(0,Ic)}beginWork(){return this.getRuleContext(0,Lc)}commitWork(){return this.getRuleContext(0,Oc)}rollbackWork(){return this.getRuleContext(0,Cc)}savepointStatement(){return this.getRuleContext(0,Nc)}rollbackStatement(){return this.getRuleContext(0,lc)}releaseStatement(){return this.getRuleContext(0,dc)}lockTables(){return this.getRuleContext(0,mc)}unlockTables(){return this.getRuleContext(0,pc)}get ruleIndex(){return t.RULE_transactionStatement}enterRule(e){e.enterTransactionStatement&&e.enterTransactionStatement(this)}exitRule(e){e.exitTransactionStatement&&e.exitTransactionStatement(this)}accept(e){return e.visitTransactionStatement?e.visitTransactionStatement(this):e.visitChildren(this)}}class y3 extends K{constructor(e,i){super(e,i)}changeMaster(){return this.getRuleContext(0,Dc)}changeReplicationFilter(){return this.getRuleContext(0,kc)}changeReplicationSource(){return this.getRuleContext(0,Sc)}purgeBinaryLogs(){return this.getRuleContext(0,Hc)}startSlaveOrReplica(){return this.getRuleContext(0,Bc)}stopSlaveOrReplica(){return this.getRuleContext(0,Fc)}startGroupReplication(){return this.getRuleContext(0,Gc)}stopGroupReplication(){return this.getRuleContext(0,bc)}xaStartTransaction(){return this.getRuleContext(0,zc)}xaEndTransaction(){return this.getRuleContext(0,jc)}xaPrepareStatement(){return this.getRuleContext(0,$c)}xaCommitWork(){return this.getRuleContext(0,Mc)}xaRollbackWork(){return this.getRuleContext(0,Pc)}xaRecoverWork(){return this.getRuleContext(0,yc)}get ruleIndex(){return t.RULE_replicationStatement}enterRule(e){e.enterReplicationStatement&&e.enterReplicationStatement(this)}exitRule(e){e.exitReplicationStatement&&e.exitReplicationStatement(this)}accept(e){return e.visitReplicationStatement?e.visitReplicationStatement(this):e.visitChildren(this)}}class q3 extends K{constructor(e,i){super(e,i)}prepareStatement(){return this.getRuleContext(0,qc)}executeStatement(){return this.getRuleContext(0,t4)}deallocatePrepare(){return this.getRuleContext(0,e4)}get ruleIndex(){return t.RULE_preparedStatement}enterRule(e){e.enterPreparedStatement&&e.enterPreparedStatement(this)}exitRule(e){e.exitPreparedStatement&&e.exitPreparedStatement(this)}accept(e){return e.visitPreparedStatement?e.visitPreparedStatement(this):e.visitChildren(this)}}class ta extends K{constructor(e,i){super(e,i)}blockStatement(){return this.getRuleContext(0,N2)}caseStatement(){return this.getRuleContext(0,i4)}ifStatement(){return this.getRuleContext(0,s4)}leaveStatement(){return this.getRuleContext(0,h4)}loopStatement(){return this.getRuleContext(0,a4)}repeatStatement(){return this.getRuleContext(0,c4)}whileStatement(){return this.getRuleContext(0,r4)}iterateStatement(){return this.getRuleContext(0,n4)}returnStatement(){return this.getRuleContext(0,o4)}cursorStatement(){return this.getRuleContext(0,xi)}get ruleIndex(){return t.RULE_compoundStatement}enterRule(e){e.enterCompoundStatement&&e.enterCompoundStatement(this)}exitRule(e){e.exitCompoundStatement&&e.exitCompoundStatement(this)}accept(e){return e.visitCompoundStatement?e.visitCompoundStatement(this):e.visitChildren(this)}}class ea extends K{constructor(e,i){super(e,i)}alterUser(){return this.getRuleContext(0,E4)}createUser(){return this.getRuleContext(0,u4)}dropUser(){return this.getRuleContext(0,K4)}grantStatement(){return this.getRuleContext(0,W4)}grantProxy(){return this.getRuleContext(0,R4)}renameUser(){return this.getRuleContext(0,L4)}revokeStatement(){return this.getRuleContext(0,gi)}alterResourceGroup(){return this.getRuleContext(0,T4)}createResourceGroup(){return this.getRuleContext(0,_4)}dropResourceGroup(){return this.getRuleContext(0,A4)}setResourceGroup(){return this.getRuleContext(0,I4)}analyzeTable(){return this.getRuleContext(0,l4)}checkTable(){return this.getRuleContext(0,d4)}checksumTable(){return this.getRuleContext(0,m4)}optimizeTable(){return this.getRuleContext(0,p4)}repairTable(){return this.getRuleContext(0,x4)}installComponent(){return this.getRuleContext(0,g4)}uninstallComponent(){return this.getRuleContext(0,U4)}installPlugin(){return this.getRuleContext(0,D4)}uninstallPlugin(){return this.getRuleContext(0,k4)}cloneStatement(){return this.getRuleContext(0,S4)}setStatement(){return this.getRuleContext(0,ze)}showStatement(){return this.getRuleContext(0,rt)}binlogStatement(){return this.getRuleContext(0,G4)}cacheIndexStatement(){return this.getRuleContext(0,b4)}flushStatement(){return this.getRuleContext(0,w4)}killStatement(){return this.getRuleContext(0,v4)}loadIndexIntoCache(){return this.getRuleContext(0,Y4)}resetStatement(){return this.getRuleContext(0,V4)}resetPersist(){return this.getRuleContext(0,X4)}resetAllChannel(){return this.getRuleContext(0,Q4)}reStartStatement(){return this.getRuleContext(0,Z4)}shutdownStatement(){return this.getRuleContext(0,J4)}get ruleIndex(){return t.RULE_administrationStatement}enterRule(e){e.enterAdministrationStatement&&e.enterAdministrationStatement(this)}exitRule(e){e.exitAdministrationStatement&&e.exitAdministrationStatement(this)}accept(e){return e.visitAdministrationStatement?e.visitAdministrationStatement(this):e.visitChildren(this)}}class ia extends K{constructor(e,i){super(e,i)}fullDescribeStatement(){return this.getRuleContext(0,$4)}simpleDescribeStatement(){return this.getRuleContext(0,j4)}analyzeDescribeStatement(){return this.getRuleContext(0,M4)}helpStatement(){return this.getRuleContext(0,P4)}useStatement(){return this.getRuleContext(0,y4)}signalStatement(){return this.getRuleContext(0,q4)}resignalStatement(){return this.getRuleContext(0,to)}diagnosticsStatement(){return this.getRuleContext(0,io)}get ruleIndex(){return t.RULE_utilityStatement}enterRule(e){e.enterUtilityStatement&&e.enterUtilityStatement(this)}exitRule(e){e.exitUtilityStatement&&e.exitUtilityStatement(this)}accept(e){return e.visitUtilityStatement?e.visitUtilityStatement(this):e.visitChildren(this)}}class sa extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}databaseNameCreate(){return this.getRuleContext(0,so)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}ifNotExists(){return this.getRuleContext(0,re)}createDatabaseOption(e){return e===void 0?this.getRuleContexts(Ti):this.getRuleContext(e,Ti)}get ruleIndex(){return t.RULE_createDatabase}enterRule(e){e.enterCreateDatabase&&e.enterCreateDatabase(this)}exitRule(e){e.exitCreateDatabase&&e.exitCreateDatabase(this)}accept(e){return e.visitCreateDatabase?e.visitCreateDatabase(this):e.visitChildren(this)}}class na extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_SCHEDULE(){return this.getToken(t.KW_SCHEDULE,0)}scheduleExpression(){return this.getRuleContext(0,_i)}KW_DO(){return this.getToken(t.KW_DO,0)}routineBody(){return this.getRuleContext(0,f1)}fullId(){return this.getRuleContext(0,ht)}ownerStatement(){return this.getRuleContext(0,V0)}ifNotExists(){return this.getRuleContext(0,re)}KW_COMPLETION(){return this.getToken(t.KW_COMPLETION,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}enableType(){return this.getRuleContext(0,Jh)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_createEvent}enterRule(e){e.enterCreateEvent&&e.enterCreateEvent(this)}exitRule(e){e.exitCreateEvent&&e.exitCreateEvent(this)}accept(e){return e.visitCreateEvent?e.visitCreateEvent(this):e.visitChildren(this)}}class ha extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}indexNameCreate(){return this.getRuleContext(0,V2)}KW_ON(){return this.getToken(t.KW_ON,0)}tableName(){return this.getRuleContext(0,X)}indexColumnNames(){return this.getRuleContext(0,$e)}indexType(){return this.getRuleContext(0,X0)}indexOption(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}KW_ALGORITHM(e){return e===void 0?this.getTokens(t.KW_ALGORITHM):this.getToken(t.KW_ALGORITHM,e)}KW_LOCK(e){return e===void 0?this.getTokens(t.KW_LOCK):this.getToken(t.KW_LOCK,e)}KW_ONLINE(){return this.getToken(t.KW_ONLINE,0)}KW_OFFLINE(){return this.getToken(t.KW_OFFLINE,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_FULLTEXT(){return this.getToken(t.KW_FULLTEXT,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}KW_INPLACE(e){return e===void 0?this.getTokens(t.KW_INPLACE):this.getToken(t.KW_INPLACE,e)}KW_COPY(e){return e===void 0?this.getTokens(t.KW_COPY):this.getToken(t.KW_COPY,e)}KW_NONE(e){return e===void 0?this.getTokens(t.KW_NONE):this.getToken(t.KW_NONE,e)}KW_SHARED(e){return e===void 0?this.getTokens(t.KW_SHARED):this.getToken(t.KW_SHARED,e)}KW_EXCLUSIVE(e){return e===void 0?this.getTokens(t.KW_EXCLUSIVE):this.getToken(t.KW_EXCLUSIVE,e)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_createIndex}enterRule(e){e.enterCreateIndex&&e.enterCreateIndex(this)}exitRule(e){e.exitCreateIndex&&e.exitCreateIndex(this)}accept(e){return e.visitCreateIndex?e.visitCreateIndex(this):e.visitChildren(this)}}class aa extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_UNDOFILE(){return this.getToken(t.KW_UNDOFILE,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}KW_UNDO_BUFFER_SIZE(){return this.getToken(t.KW_UNDO_BUFFER_SIZE,0)}KW_REDO_BUFFER_SIZE(){return this.getToken(t.KW_REDO_BUFFER_SIZE,0)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(oe):this.getRuleContext(e,oe)}get ruleIndex(){return t.RULE_createLogfileGroup}enterRule(e){e.enterCreateLogfileGroup&&e.enterCreateLogfileGroup(this)}exitRule(e){e.exitCreateLogfileGroup&&e.exitCreateLogfileGroup(this)}accept(e){return e.visitCreateLogfileGroup?e.visitCreateLogfileGroup(this):e.visitChildren(this)}}class ca extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}routineBody(){return this.getRuleContext(0,f1)}fullId(){return this.getRuleContext(0,ht)}ownerStatement(){return this.getRuleContext(0,V0)}ifNotExists(){return this.getRuleContext(0,re)}procedureParameter(e){return e===void 0?this.getRuleContexts(zh):this.getRuleContext(e,zh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}routineOption(e){return e===void 0?this.getRuleContexts(ae):this.getRuleContext(e,ae)}get ruleIndex(){return t.RULE_createProcedure}enterRule(e){e.enterCreateProcedure&&e.enterCreateProcedure(this)}exitRule(e){e.exitCreateProcedure&&e.exitCreateProcedure(this)}accept(e){return e.visitCreateProcedure?e.visitCreateProcedure(this):e.visitChildren(this)}}class oa extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifNotExists(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_createRole}enterRule(e){e.enterCreateRole&&e.enterCreateRole(this)}exitRule(e){e.exitCreateRole&&e.exitCreateRole(this)}accept(e){return e.visitCreateRole?e.visitCreateRole(this):e.visitChildren(this)}}class ra extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}serverOption(e){return e===void 0?this.getRuleContexts(Li):this.getRuleContext(e,Li)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(){return this.getRuleContext(0,l)}KW_MYSQL(){return this.getToken(t.KW_MYSQL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createServer}enterRule(e){e.enterCreateServer&&e.enterCreateServer(this)}exitRule(e){e.exitCreateServer&&e.exitCreateServer(this)}accept(e){return e.visitCreateServer?e.visitCreateServer(this):e.visitChildren(this)}}class Ri extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createTable}copyFrom(e){super.copyFrom(e)}}class E8 extends Ri{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,S1)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}tableName(){return this.getRuleContext(0,X)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,re)}enterRule(e){e.enterCopyCreateTable&&e.enterCopyCreateTable(this)}exitRule(e){e.exitCopyCreateTable&&e.exitCopyCreateTable(this)}accept(e){return e.visitCopyCreateTable?e.visitCopyCreateTable(this):e.visitChildren(this)}}class u8 extends Ri{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,S1)}createDefinitions(){return this.getRuleContext(0,jh)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,re)}tableOption(e){return e===void 0?this.getRuleContexts(V):this.getRuleContext(e,V)}partitionDefinitions(){return this.getRuleContext(0,yh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterColumnCreateTable&&e.enterColumnCreateTable(this)}exitRule(e){e.exitColumnCreateTable&&e.exitColumnCreateTable(this)}accept(e){return e.visitColumnCreateTable?e.visitColumnCreateTable(this):e.visitChildren(this)}}class K8 extends Ri{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}selectStatement(){return this.getRuleContext(0,ft)}tableNameCreate(){return this.getRuleContext(0,S1)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,re)}tableOption(e){return e===void 0?this.getRuleContexts(V):this.getRuleContext(e,V)}partitionDefinitions(){return this.getRuleContext(0,yh)}KW_AS(){return this.getToken(t.KW_AS,0)}createDefinitions(){return this.getRuleContext(0,jh)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterQueryCreateTable&&e.enterQueryCreateTable(this)}exitRule(e){e.exitQueryCreateTable&&e.exitQueryCreateTable(this)}accept(e){return e.visitQueryCreateTable?e.visitQueryCreateTable(this):e.visitChildren(this)}}class Ea extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceNameCreate(){return this.getRuleContext(0,v7)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_FILE_BLOCK_SIZE(){return this.getToken(t.KW_FILE_BLOCK_SIZE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(oe):this.getRuleContext(e,oe)}get ruleIndex(){return t.RULE_createTablespaceInnodb}enterRule(e){e.enterCreateTablespaceInnodb&&e.enterCreateTablespaceInnodb(this)}exitRule(e){e.exitCreateTablespaceInnodb&&e.exitCreateTablespaceInnodb(this)}accept(e){return e.visitCreateTablespaceInnodb?e.visitCreateTablespaceInnodb(this):e.visitChildren(this)}}class ua extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceNameCreate(){return this.getRuleContext(0,v7)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}KW_USE(){return this.getToken(t.KW_USE,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_EXTENT_SIZE(){return this.getToken(t.KW_EXTENT_SIZE,0)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_MAX_SIZE(){return this.getToken(t.KW_MAX_SIZE,0)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(oe):this.getRuleContext(e,oe)}get ruleIndex(){return t.RULE_createTablespaceNdb}enterRule(e){e.enterCreateTablespaceNdb&&e.enterCreateTablespaceNdb(this)}exitRule(e){e.exitCreateTablespaceNdb&&e.exitCreateTablespaceNdb(this)}accept(e){return e.visitCreateTablespaceNdb?e.visitCreateTablespaceNdb(this):e.visitChildren(this)}}class Ka extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_ON(){return this.getToken(t.KW_ON,0)}tableName(){return this.getRuleContext(0,X)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_EACH(){return this.getToken(t.KW_EACH,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}routineBody(){return this.getRuleContext(0,f1)}fullId(e){return e===void 0?this.getRuleContexts(ht):this.getRuleContext(e,ht)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}ownerStatement(){return this.getRuleContext(0,V0)}ifNotExists(){return this.getRuleContext(0,re)}KW_FOLLOWS(){return this.getToken(t.KW_FOLLOWS,0)}KW_PRECEDES(){return this.getToken(t.KW_PRECEDES,0)}get ruleIndex(){return t.RULE_createTrigger}enterRule(e){e.enterCreateTrigger&&e.enterCreateTrigger(this)}exitRule(e){e.exitCreateTrigger&&e.exitCreateTrigger(this)}accept(e){return e.visitCreateTrigger?e.visitCreateTrigger(this):e.visitChildren(this)}}class Zh extends K{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}commonTableExpressions(){return this.getRuleContext(0,m1)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}get ruleIndex(){return t.RULE_withClause}enterRule(e){e.enterWithClause&&e.enterWithClause(this)}exitRule(e){e.exitWithClause&&e.exitWithClause(this)}accept(e){return e.visitWithClause?e.visitWithClause(this):e.visitChildren(this)}}class m1 extends K{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}dmlStatement(){return this.getRuleContext(0,Qh)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}commonTableExpressions(){return this.getRuleContext(0,m1)}get ruleIndex(){return t.RULE_commonTableExpressions}enterRule(e){e.enterCommonTableExpressions&&e.enterCommonTableExpressions(this)}exitRule(e){e.exitCommonTableExpressions&&e.exitCommonTableExpressions(this)}accept(e){return e.visitCommonTableExpressions?e.visitCommonTableExpressions(this):e.visitChildren(this)}}class Wa extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,ho)}KW_AS(){return this.getToken(t.KW_AS,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}selectStatement(){return this.getRuleContext(0,ft)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}orReplace(){return this.getRuleContext(0,_o)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ownerStatement(){return this.getRuleContext(0,V0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}columnNameCreate(e){return e===void 0?this.getRuleContexts(H1):this.getRuleContext(e,H1)}KW_UNDEFINED(){return this.getToken(t.KW_UNDEFINED,0)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_TEMPTABLE(){return this.getToken(t.KW_TEMPTABLE,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}withClause(){return this.getRuleContext(0,Zh)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_createView}enterRule(e){e.enterCreateView&&e.enterCreateView(this)}exitRule(e){e.exitCreateView&&e.exitCreateView(this)}accept(e){return e.visitCreateView?e.visitCreateView(this):e.visitChildren(this)}}class Ti extends K{constructor(e,i){super(e,i)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}get ruleIndex(){return t.RULE_createDatabaseOption}enterRule(e){e.enterCreateDatabaseOption&&e.enterCreateDatabaseOption(this)}exitRule(e){e.exitCreateDatabaseOption&&e.exitCreateDatabaseOption(this)}accept(e){return e.visitCreateDatabaseOption?e.visitCreateDatabaseOption(this):e.visitChildren(this)}}class u0 extends K{constructor(e,i){super(e,i)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}get ruleIndex(){return t.RULE_charSet}enterRule(e){e.enterCharSet&&e.enterCharSet(this)}exitRule(e){e.exitCharSet&&e.exitCharSet(this)}accept(e){return e.visitCharSet?e.visitCharSet(this):e.visitChildren(this)}}class d7 extends K{constructor(e,i){super(e,i)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_currentUserExpression}enterRule(e){e.enterCurrentUserExpression&&e.enterCurrentUserExpression(this)}exitRule(e){e.exitCurrentUserExpression&&e.exitCurrentUserExpression(this)}accept(e){return e.visitCurrentUserExpression?e.visitCurrentUserExpression(this):e.visitChildren(this)}}class V0 extends K{constructor(e,i){super(e,i)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}userName(){return this.getRuleContext(0,_t)}currentUserExpression(){return this.getRuleContext(0,d7)}get ruleIndex(){return t.RULE_ownerStatement}enterRule(e){e.enterOwnerStatement&&e.enterOwnerStatement(this)}exitRule(e){e.exitOwnerStatement&&e.exitOwnerStatement(this)}accept(e){return e.visitOwnerStatement?e.visitOwnerStatement(this):e.visitChildren(this)}}class _i extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_scheduleExpression}copyFrom(e){super.copyFrom(e)}}class W8 extends _i{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AT(){return this.getToken(t.KW_AT,0)}timestampValue(){return this.getRuleContext(0,m7)}intervalExpr(e){return e===void 0?this.getRuleContexts(Ai):this.getRuleContext(e,Ai)}enterRule(e){e.enterPreciseSchedule&&e.enterPreciseSchedule(this)}exitRule(e){e.exitPreciseSchedule&&e.exitPreciseSchedule(this)}accept(e){return e.visitPreciseSchedule?e.visitPreciseSchedule(this):e.visitChildren(this)}}class R8 extends _i{constructor(e){super(e.parent,e.invokingState),this._startIntervals=[],this._endIntervals=[],super.copyFrom(e)}KW_EVERY(){return this.getToken(t.KW_EVERY,0)}intervalType(){return this.getRuleContext(0,Ii)}decimalLiteral(){return this.getRuleContext(0,H)}expression(){return this.getRuleContext(0,U)}KW_STARTS(){return this.getToken(t.KW_STARTS,0)}KW_ENDS(){return this.getToken(t.KW_ENDS,0)}timestampValue(e){return e===void 0?this.getRuleContexts(m7):this.getRuleContext(e,m7)}intervalExpr(e){return e===void 0?this.getRuleContexts(Ai):this.getRuleContext(e,Ai)}enterRule(e){e.enterIntervalSchedule&&e.enterIntervalSchedule(this)}exitRule(e){e.exitIntervalSchedule&&e.exitIntervalSchedule(this)}accept(e){return e.visitIntervalSchedule?e.visitIntervalSchedule(this):e.visitChildren(this)}}class m7 extends K{constructor(e,i){super(e,i)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}stringLiteral(){return this.getRuleContext(0,Ft)}decimalLiteral(){return this.getRuleContext(0,H)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_timestampValue}enterRule(e){e.enterTimestampValue&&e.enterTimestampValue(this)}exitRule(e){e.exitTimestampValue&&e.exitTimestampValue(this)}accept(e){return e.visitTimestampValue?e.visitTimestampValue(this):e.visitChildren(this)}}class Ai extends K{constructor(e,i){super(e,i)}PLUS(){return this.getToken(t.PLUS,0)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}intervalType(){return this.getRuleContext(0,Ii)}decimalLiteral(){return this.getRuleContext(0,H)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_intervalExpr}enterRule(e){e.enterIntervalExpr&&e.enterIntervalExpr(this)}exitRule(e){e.exitIntervalExpr&&e.exitIntervalExpr(this)}accept(e){return e.visitIntervalExpr?e.visitIntervalExpr(this):e.visitChildren(this)}}class Ii extends K{constructor(e,i){super(e,i)}intervalTypeBase(){return this.getRuleContext(0,a5)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_YEAR_MONTH(){return this.getToken(t.KW_YEAR_MONTH,0)}KW_DAY_HOUR(){return this.getToken(t.KW_DAY_HOUR,0)}KW_DAY_MINUTE(){return this.getToken(t.KW_DAY_MINUTE,0)}KW_DAY_SECOND(){return this.getToken(t.KW_DAY_SECOND,0)}KW_HOUR_MINUTE(){return this.getToken(t.KW_HOUR_MINUTE,0)}KW_HOUR_SECOND(){return this.getToken(t.KW_HOUR_SECOND,0)}KW_MINUTE_SECOND(){return this.getToken(t.KW_MINUTE_SECOND,0)}KW_SECOND_MICROSECOND(){return this.getToken(t.KW_SECOND_MICROSECOND,0)}KW_MINUTE_MICROSECOND(){return this.getToken(t.KW_MINUTE_MICROSECOND,0)}KW_HOUR_MICROSECOND(){return this.getToken(t.KW_HOUR_MICROSECOND,0)}KW_DAY_MICROSECOND(){return this.getToken(t.KW_DAY_MICROSECOND,0)}get ruleIndex(){return t.RULE_intervalType}enterRule(e){e.enterIntervalType&&e.enterIntervalType(this)}exitRule(e){e.exitIntervalType&&e.exitIntervalType(this)}accept(e){return e.visitIntervalType?e.visitIntervalType(this):e.visitChildren(this)}}class Jh extends K{constructor(e,i){super(e,i)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}get ruleIndex(){return t.RULE_enableType}enterRule(e){e.enterEnableType&&e.enterEnableType(this)}exitRule(e){e.exitEnableType&&e.exitEnableType(this)}accept(e){return e.visitEnableType?e.visitEnableType(this):e.visitChildren(this)}}class X0 extends K{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_BTREE(){return this.getToken(t.KW_BTREE,0)}KW_HASH(){return this.getToken(t.KW_HASH,0)}get ruleIndex(){return t.RULE_indexType}enterRule(e){e.enterIndexType&&e.enterIndexType(this)}exitRule(e){e.exitIndexType&&e.exitIndexType(this)}accept(e){return e.visitIndexType?e.visitIndexType(this):e.visitChildren(this)}}class Pt extends K{constructor(e,i){super(e,i)}KW_KEY_BLOCK_SIZE(){return this.getToken(t.KW_KEY_BLOCK_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,oe)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}indexType(){return this.getRuleContext(0,X0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}uid(){return this.getRuleContext(0,l)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}KW_SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_SECONDARY_ENGINE_ATTRIBUTE,0)}get ruleIndex(){return t.RULE_indexOption}enterRule(e){e.enterIndexOption&&e.enterIndexOption(this)}exitRule(e){e.exitIndexOption&&e.exitIndexOption(this)}accept(e){return e.visitIndexOption?e.visitIndexOption(this):e.visitChildren(this)}}class zh extends K{constructor(e,i){super(e,i)}dataType(){return this.getRuleContext(0,jt)}uid(){return this.getRuleContext(0,l)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_OUT(){return this.getToken(t.KW_OUT,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}get ruleIndex(){return t.RULE_procedureParameter}enterRule(e){e.enterProcedureParameter&&e.enterProcedureParameter(this)}exitRule(e){e.exitProcedureParameter&&e.exitProcedureParameter(this)}accept(e){return e.visitProcedureParameter?e.visitProcedureParameter(this):e.visitChildren(this)}}class ae extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_routineOption}copyFrom(e){super.copyFrom(e)}}class T8 extends ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DETERMINISTIC(){return this.getToken(t.KW_DETERMINISTIC,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterRoutineBehavior&&e.enterRoutineBehavior(this)}exitRule(e){e.exitRoutineBehavior&&e.exitRoutineBehavior(this)}accept(e){return e.visitRoutineBehavior?e.visitRoutineBehavior(this):e.visitChildren(this)}}class _8 extends ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}enterRule(e){e.enterRoutineLanguage&&e.enterRoutineLanguage(this)}exitRule(e){e.exitRoutineLanguage&&e.exitRoutineLanguage(this)}accept(e){return e.visitRoutineLanguage?e.visitRoutineLanguage(this):e.visitChildren(this)}}class A8 extends ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterRoutineComment&&e.enterRoutineComment(this)}exitRule(e){e.exitRoutineComment&&e.exitRoutineComment(this)}accept(e){return e.visitRoutineComment?e.visitRoutineComment(this):e.visitChildren(this)}}class I8 extends ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}enterRule(e){e.enterRoutineSecurity&&e.enterRoutineSecurity(this)}exitRule(e){e.exitRoutineSecurity&&e.exitRoutineSecurity(this)}accept(e){return e.visitRoutineSecurity?e.visitRoutineSecurity(this):e.visitChildren(this)}}class L8 extends ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONTAINS(){return this.getToken(t.KW_CONTAINS,0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_READS(){return this.getToken(t.KW_READS,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_MODIFIES(){return this.getToken(t.KW_MODIFIES,0)}enterRule(e){e.enterRoutineData&&e.enterRoutineData(this)}exitRule(e){e.exitRoutineData&&e.exitRoutineData(this)}accept(e){return e.visitRoutineData?e.visitRoutineData(this):e.visitChildren(this)}}class Li extends K{constructor(e,i){super(e,i)}KW_HOST(){return this.getToken(t.KW_HOST,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_SOCKET(){return this.getToken(t.KW_SOCKET,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_PORT(){return this.getToken(t.KW_PORT,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_serverOption}enterRule(e){e.enterServerOption&&e.enterServerOption(this)}exitRule(e){e.exitServerOption&&e.exitServerOption(this)}accept(e){return e.visitServerOption?e.visitServerOption(this):e.visitChildren(this)}}class jh extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}createDefinition(e){return e===void 0?this.getRuleContexts($h):this.getRuleContext(e,$h)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createDefinitions}enterRule(e){e.enterCreateDefinitions&&e.enterCreateDefinitions(this)}exitRule(e){e.exitCreateDefinitions&&e.exitCreateDefinitions(this)}accept(e){return e.visitCreateDefinitions?e.visitCreateDefinitions(this):e.visitChildren(this)}}class $h extends K{constructor(e,i){super(e,i)}columnNameCreate(){return this.getRuleContext(0,H1)}columnDefinition(){return this.getRuleContext(0,Q0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexName(){return this.getRuleContext(0,te)}indexType(){return this.getRuleContext(0,X0)}indexOption(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}KW_FULLTEXT(){return this.getToken(t.KW_FULLTEXT,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}constraintSymbol(){return this.getRuleContext(0,Mh)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}referenceDefinition(){return this.getRuleContext(0,x7)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}checkConstraintDefinition(){return this.getRuleContext(0,p7)}get ruleIndex(){return t.RULE_createDefinition}enterRule(e){e.enterCreateDefinition&&e.enterCreateDefinition(this)}exitRule(e){e.exitCreateDefinition&&e.exitCreateDefinition(this)}accept(e){return e.visitCreateDefinition?e.visitCreateDefinition(this):e.visitChildren(this)}}class p7 extends K{constructor(e,i){super(e,i)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}constraintSymbol(){return this.getRuleContext(0,Mh)}KW_ENFORCED(){return this.getToken(t.KW_ENFORCED,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_checkConstraintDefinition}enterRule(e){e.enterCheckConstraintDefinition&&e.enterCheckConstraintDefinition(this)}exitRule(e){e.exitCheckConstraintDefinition&&e.exitCheckConstraintDefinition(this)}accept(e){return e.visitCheckConstraintDefinition?e.visitCheckConstraintDefinition(this):e.visitChildren(this)}}class Mh extends K{constructor(e,i){super(e,i)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_constraintSymbol}enterRule(e){e.enterConstraintSymbol&&e.enterConstraintSymbol(this)}exitRule(e){e.exitConstraintSymbol&&e.exitConstraintSymbol(this)}accept(e){return e.visitConstraintSymbol?e.visitConstraintSymbol(this):e.visitChildren(this)}}class Q0 extends K{constructor(e,i){super(e,i)}dataType(){return this.getRuleContext(0,jt)}columnConstraint(e){return e===void 0?this.getRuleContexts(xt):this.getRuleContext(e,xt)}get ruleIndex(){return t.RULE_columnDefinition}enterRule(e){e.enterColumnDefinition&&e.enterColumnDefinition(this)}exitRule(e){e.exitColumnDefinition&&e.exitColumnDefinition(this)}accept(e){return e.visitColumnDefinition?e.visitColumnDefinition(this):e.visitChildren(this)}}class xt extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_columnConstraint}copyFrom(e){super.copyFrom(e)}}class O8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_DISK(){return this.getToken(t.KW_DISK,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}enterRule(e){e.enterStorageColumnConstraint&&e.enterStorageColumnConstraint(this)}exitRule(e){e.exitStorageColumnConstraint&&e.exitStorageColumnConstraint(this)}accept(e){return e.visitStorageColumnConstraint?e.visitStorageColumnConstraint(this):e.visitChildren(this)}}class C8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}enterRule(e){e.enterVisibilityColumnConstraint&&e.enterVisibilityColumnConstraint(this)}exitRule(e){e.exitVisibilityColumnConstraint&&e.exitVisibilityColumnConstraint(this)}accept(e){return e.visitVisibilityColumnConstraint?e.visitVisibilityColumnConstraint(this):e.visitChildren(this)}}class N8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AUTO_INCREMENT(){return this.getToken(t.KW_AUTO_INCREMENT,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}currentTimestamp(){return this.getRuleContext(0,z7)}enterRule(e){e.enterAutoIncrementColumnConstraint&&e.enterAutoIncrementColumnConstraint(this)}exitRule(e){e.exitAutoIncrementColumnConstraint&&e.exitAutoIncrementColumnConstraint(this)}accept(e){return e.visitAutoIncrementColumnConstraint?e.visitAutoIncrementColumnConstraint(this):e.visitChildren(this)}}class l8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterCommentColumnConstraint&&e.enterCommentColumnConstraint(this)}exitRule(e){e.exitCommentColumnConstraint&&e.exitCommentColumnConstraint(this)}accept(e){return e.visitCommentColumnConstraint?e.visitCommentColumnConstraint(this):e.visitChildren(this)}}class d8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}checkConstraintDefinition(){return this.getRuleContext(0,p7)}enterRule(e){e.enterCheckExpr&&e.enterCheckExpr(this)}exitRule(e){e.exitCheckExpr&&e.exitCheckExpr(this)}accept(e){return e.visitCheckExpr?e.visitCheckExpr(this):e.visitChildren(this)}}class m8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterUniqueKeyColumnConstraint&&e.enterUniqueKeyColumnConstraint(this)}exitRule(e){e.exitUniqueKeyColumnConstraint&&e.exitUniqueKeyColumnConstraint(this)}accept(e){return e.visitUniqueKeyColumnConstraint?e.visitUniqueKeyColumnConstraint(this):e.visitChildren(this)}}class p8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SERIAL(){return this.getToken(t.KW_SERIAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}enterRule(e){e.enterSerialDefaultColumnConstraint&&e.enterSerialDefaultColumnConstraint(this)}exitRule(e){e.exitSerialDefaultColumnConstraint&&e.exitSerialDefaultColumnConstraint(this)}accept(e){return e.visitSerialDefaultColumnConstraint?e.visitSerialDefaultColumnConstraint(this):e.visitChildren(this)}}class x8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AS(){return this.getToken(t.KW_AS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_VIRTUAL(){return this.getToken(t.KW_VIRTUAL,0)}KW_STORED(){return this.getToken(t.KW_STORED,0)}enterRule(e){e.enterGeneratedColumnConstraint&&e.enterGeneratedColumnConstraint(this)}exitRule(e){e.exitGeneratedColumnConstraint&&e.exitGeneratedColumnConstraint(this)}accept(e){return e.visitGeneratedColumnConstraint?e.visitGeneratedColumnConstraint(this):e.visitChildren(this)}}class f8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COLUMN_FORMAT(){return this.getToken(t.KW_COLUMN_FORMAT,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_DYNAMIC(){return this.getToken(t.KW_DYNAMIC,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}enterRule(e){e.enterFormatColumnConstraint&&e.enterFormatColumnConstraint(this)}exitRule(e){e.exitFormatColumnConstraint&&e.exitFormatColumnConstraint(this)}accept(e){return e.visitFormatColumnConstraint?e.visitFormatColumnConstraint(this):e.visitChildren(this)}}class g8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterCollateColumnConstraint&&e.enterCollateColumnConstraint(this)}exitRule(e){e.exitCollateColumnConstraint&&e.exitCollateColumnConstraint(this)}accept(e){return e.visitCollateColumnConstraint?e.visitCollateColumnConstraint(this):e.visitChildren(this)}}class U8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}enterRule(e){e.enterPrimaryKeyColumnConstraint&&e.enterPrimaryKeyColumnConstraint(this)}exitRule(e){e.exitPrimaryKeyColumnConstraint&&e.exitPrimaryKeyColumnConstraint(this)}accept(e){return e.visitPrimaryKeyColumnConstraint?e.visitPrimaryKeyColumnConstraint(this):e.visitChildren(this)}}class D8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}nullNotnull(){return this.getRuleContext(0,j2)}enterRule(e){e.enterNullColumnConstraint&&e.enterNullColumnConstraint(this)}exitRule(e){e.exitNullColumnConstraint&&e.exitNullColumnConstraint(this)}accept(e){return e.visitNullColumnConstraint?e.visitNullColumnConstraint(this):e.visitChildren(this)}}class k8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Xi)}enterRule(e){e.enterDefaultColumnConstraint&&e.enterDefaultColumnConstraint(this)}exitRule(e){e.exitDefaultColumnConstraint&&e.exitDefaultColumnConstraint(this)}accept(e){return e.visitDefaultColumnConstraint?e.visitDefaultColumnConstraint(this):e.visitChildren(this)}}class S8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}referenceDefinition(){return this.getRuleContext(0,x7)}enterRule(e){e.enterReferenceColumnConstraint&&e.enterReferenceColumnConstraint(this)}exitRule(e){e.exitReferenceColumnConstraint&&e.exitReferenceColumnConstraint(this)}accept(e){return e.visitReferenceColumnConstraint?e.visitReferenceColumnConstraint(this):e.visitChildren(this)}}class H8 extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}enterRule(e){e.enterInvisibilityColumnConstraint&&e.enterInvisibilityColumnConstraint(this)}exitRule(e){e.exitInvisibilityColumnConstraint&&e.exitInvisibilityColumnConstraint(this)}accept(e){return e.visitInvisibilityColumnConstraint?e.visitInvisibilityColumnConstraint(this):e.visitChildren(this)}}class x7 extends K{constructor(e,i){super(e,i)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}tableName(){return this.getRuleContext(0,X)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_MATCH(){return this.getToken(t.KW_MATCH,0)}referenceAction(){return this.getRuleContext(0,Ra)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}get ruleIndex(){return t.RULE_referenceDefinition}enterRule(e){e.enterReferenceDefinition&&e.enterReferenceDefinition(this)}exitRule(e){e.exitReferenceDefinition&&e.exitReferenceDefinition(this)}accept(e){return e.visitReferenceDefinition?e.visitReferenceDefinition(this):e.visitChildren(this)}}class Ra extends K{constructor(e,i){super(e,i)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}referenceControlType(e){return e===void 0?this.getRuleContexts(Ph):this.getRuleContext(e,Ph)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}get ruleIndex(){return t.RULE_referenceAction}enterRule(e){e.enterReferenceAction&&e.enterReferenceAction(this)}exitRule(e){e.exitReferenceAction&&e.exitReferenceAction(this)}accept(e){return e.visitReferenceAction?e.visitReferenceAction(this):e.visitChildren(this)}}class Ph extends K{constructor(e,i){super(e,i)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_referenceControlType}enterRule(e){e.enterReferenceControlType&&e.enterReferenceControlType(this)}exitRule(e){e.exitReferenceControlType&&e.exitReferenceControlType(this)}accept(e){return e.visitReferenceControlType?e.visitReferenceControlType(this):e.visitChildren(this)}}class V extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tableOption}copyFrom(e){super.copyFrom(e)}}class B8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}engineName(){return this.getRuleContext(0,Ne)}enterRule(e){e.enterTableOptionEngine&&e.enterTableOptionEngine(this)}exitRule(e){e.exitTableOptionEngine&&e.exitTableOptionEngine(this)}accept(e){return e.visitTableOptionEngine?e.visitTableOptionEngine(this):e.visitChildren(this)}}class F8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MAX_ROWS(){return this.getToken(t.KW_MAX_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionMaxRows&&e.enterTableOptionMaxRows(this)}exitRule(e){e.exitTableOptionMaxRows&&e.exitTableOptionMaxRows(this)}accept(e){return e.visitTableOptionMaxRows?e.visitTableOptionMaxRows(this):e.visitChildren(this)}}class G8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionCollate&&e.enterTableOptionCollate(this)}exitRule(e){e.exitTableOptionCollate&&e.exitTableOptionCollate(this)}accept(e){return e.visitTableOptionCollate?e.visitTableOptionCollate(this):e.visitChildren(this)}}class b8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STATS_PERSISTENT(){return this.getToken(t.KW_STATS_PERSISTENT,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPersistent&&e.enterTableOptionPersistent(this)}exitRule(e){e.exitTableOptionPersistent&&e.exitTableOptionPersistent(this)}accept(e){return e.visitTableOptionPersistent?e.visitTableOptionPersistent(this):e.visitChildren(this)}}class Ta extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,vi)}tablespaceStorage(){return this.getRuleContext(0,Aa)}enterRule(e){e.enterTableOptionTablespace&&e.enterTableOptionTablespace(this)}exitRule(e){e.exitTableOptionTablespace&&e.exitTableOptionTablespace(this)}accept(e){return e.visitTableOptionTablespace?e.visitTableOptionTablespace(this):e.visitChildren(this)}}class w8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionAutoextendSize&&e.enterTableOptionAutoextendSize(this)}exitRule(e){e.exitTableOptionAutoextendSize&&e.exitTableOptionAutoextendSize(this)}accept(e){return e.visitTableOptionAutoextendSize?e.visitTableOptionAutoextendSize(this):e.visitChildren(this)}}class v8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PAGE_COMPRESSED(){return this.getToken(t.KW_PAGE_COMPRESSED,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPageCompressed&&e.enterTableOptionPageCompressed(this)}exitRule(e){e.exitTableOptionPageCompressed&&e.exitTableOptionPageCompressed(this)}accept(e){return e.visitTableOptionPageCompressed?e.visitTableOptionPageCompressed(this):e.visitChildren(this)}}class Y8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_START(){return this.getToken(t.KW_START,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}enterRule(e){e.enterTableOptionStartTransaction&&e.enterTableOptionStartTransaction(this)}exitRule(e){e.exitTableOptionStartTransaction&&e.exitTableOptionStartTransaction(this)}accept(e){return e.visitTableOptionStartTransaction?e.visitTableOptionStartTransaction(this):e.visitChildren(this)}}class V8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PACK_KEYS(){return this.getToken(t.KW_PACK_KEYS,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPackKeys&&e.enterTableOptionPackKeys(this)}exitRule(e){e.exitTableOptionPackKeys&&e.exitTableOptionPackKeys(this)}accept(e){return e.visitTableOptionPackKeys?e.visitTableOptionPackKeys(this):e.visitChildren(this)}}class X8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPassword&&e.enterTableOptionPassword(this)}exitRule(e){e.exitTableOptionPassword&&e.exitTableOptionPassword(this)}accept(e){return e.visitTableOptionPassword?e.visitTableOptionPassword(this):e.visitChildren(this)}}class Q8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UNION(){return this.getToken(t.KW_UNION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableNames(){return this.getRuleContext(0,Le)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionUnion&&e.enterTableOptionUnion(this)}exitRule(e){e.exitTableOptionUnion&&e.exitTableOptionUnion(this)}accept(e){return e.visitTableOptionUnion?e.visitTableOptionUnion(this):e.visitChildren(this)}}class Z8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STATS_SAMPLE_PAGES(){return this.getToken(t.KW_STATS_SAMPLE_PAGES,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionSamplePage&&e.enterTableOptionSamplePage(this)}exitRule(e){e.exitTableOptionSamplePage&&e.exitTableOptionSamplePage(this)}accept(e){return e.visitTableOptionSamplePage?e.visitTableOptionSamplePage(this):e.visitChildren(this)}}class J8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionCharset&&e.enterTableOptionCharset(this)}exitRule(e){e.exitTableOptionCharset&&e.exitTableOptionCharset(this)}accept(e){return e.visitTableOptionCharset?e.visitTableOptionCharset(this):e.visitChildren(this)}}class z8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionIndexDirectory&&e.enterTableOptionIndexDirectory(this)}exitRule(e){e.exitTableOptionIndexDirectory&&e.exitTableOptionIndexDirectory(this)}accept(e){return e.visitTableOptionIndexDirectory?e.visitTableOptionIndexDirectory(this):e.visitChildren(this)}}class j8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLE_TYPE(){return this.getToken(t.KW_TABLE_TYPE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}tableType(){return this.getRuleContext(0,_a)}enterRule(e){e.enterTableOptionTableType&&e.enterTableOptionTableType(this)}exitRule(e){e.exitTableOptionTableType&&e.exitTableOptionTableType(this)}accept(e){return e.visitTableOptionTableType?e.visitTableOptionTableType(this):e.visitChildren(this)}}class $8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY_BLOCK_SIZE(){return this.getToken(t.KW_KEY_BLOCK_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,oe)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionKeyBlockSize&&e.enterTableOptionKeyBlockSize(this)}exitRule(e){e.exitTableOptionKeyBlockSize&&e.exitTableOptionKeyBlockSize(this)}accept(e){return e.visitTableOptionKeyBlockSize?e.visitTableOptionKeyBlockSize(this):e.visitChildren(this)}}class M8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionEncryption&&e.enterTableOptionEncryption(this)}exitRule(e){e.exitTableOptionEncryption&&e.exitTableOptionEncryption(this)}accept(e){return e.visitTableOptionEncryption?e.visitTableOptionEncryption(this):e.visitChildren(this)}}class P8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionDataDirectory&&e.enterTableOptionDataDirectory(this)}exitRule(e){e.exitTableOptionDataDirectory&&e.exitTableOptionDataDirectory(this)}accept(e){return e.visitTableOptionDataDirectory?e.visitTableOptionDataDirectory(this):e.visitChildren(this)}}class y8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STATS_AUTO_RECALC(){return this.getToken(t.KW_STATS_AUTO_RECALC,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionRecalculation&&e.enterTableOptionRecalculation(this)}exitRule(e){e.exitTableOptionRecalculation&&e.exitTableOptionRecalculation(this)}accept(e){return e.visitTableOptionRecalculation?e.visitTableOptionRecalculation(this):e.visitChildren(this)}}class q8 extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AUTO_INCREMENT(){return this.getToken(t.KW_AUTO_INCREMENT,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionAutoIncrement&&e.enterTableOptionAutoIncrement(this)}exitRule(e){e.exitTableOptionAutoIncrement&&e.exitTableOptionAutoIncrement(this)}accept(e){return e.visitTableOptionAutoIncrement?e.visitTableOptionAutoIncrement(this):e.visitChildren(this)}}class tE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENCRYPTION_KEY_ID(){return this.getToken(t.KW_ENCRYPTION_KEY_ID,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionEncryptionKeyId&&e.enterTableOptionEncryptionKeyId(this)}exitRule(e){e.exitTableOptionEncryptionKeyId&&e.exitTableOptionEncryptionKeyId(this)}accept(e){return e.visitTableOptionEncryptionKeyId?e.visitTableOptionEncryptionKeyId(this):e.visitChildren(this)}}class eE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHECKSUM(){return this.getToken(t.KW_CHECKSUM,0)}KW_PAGE_CHECKSUM(){return this.getToken(t.KW_PAGE_CHECKSUM,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionChecksum&&e.enterTableOptionChecksum(this)}exitRule(e){e.exitTableOptionChecksum&&e.exitTableOptionChecksum(this)}accept(e){return e.visitTableOptionChecksum?e.visitTableOptionChecksum(this):e.visitChildren(this)}}class iE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DELAY_KEY_WRITE(){return this.getToken(t.KW_DELAY_KEY_WRITE,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionDelay&&e.enterTableOptionDelay(this)}exitRule(e){e.exitTableOptionDelay&&e.exitTableOptionDelay(this)}accept(e){return e.visitTableOptionDelay?e.visitTableOptionDelay(this):e.visitChildren(this)}}class sE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionConnection&&e.enterTableOptionConnection(this)}exitRule(e){e.exitTableOptionConnection&&e.exitTableOptionConnection(this)}accept(e){return e.visitTableOptionConnection?e.visitTableOptionConnection(this):e.visitChildren(this)}}class nE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TRANSACTIONAL(){return this.getToken(t.KW_TRANSACTIONAL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionTransactional&&e.enterTableOptionTransactional(this)}exitRule(e){e.exitTableOptionTransactional&&e.exitTableOptionTransactional(this)}accept(e){return e.visitTableOptionTransactional?e.visitTableOptionTransactional(this):e.visitChildren(this)}}class hE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalLiteral(){return this.getRuleContext(0,H)}KW_PAGE_COMPRESSION_LEVEL(){return this.getToken(t.KW_PAGE_COMPRESSION_LEVEL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPageCompressionLevel&&e.enterTableOptionPageCompressionLevel(this)}exitRule(e){e.exitTableOptionPageCompressionLevel&&e.exitTableOptionPageCompressionLevel(this)}accept(e){return e.visitTableOptionPageCompressionLevel?e.visitTableOptionPageCompressionLevel(this):e.visitChildren(this)}}class aE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_SECONDARY_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionSecondaryEngineAttribute&&e.enterTableOptionSecondaryEngineAttribute(this)}exitRule(e){e.exitTableOptionSecondaryEngineAttribute&&e.exitTableOptionSecondaryEngineAttribute(this)}accept(e){return e.visitTableOptionSecondaryEngineAttribute?e.visitTableOptionSecondaryEngineAttribute(this):e.visitChildren(this)}}class cE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionComment&&e.enterTableOptionComment(this)}exitRule(e){e.exitTableOptionComment&&e.exitTableOptionComment(this)}accept(e){return e.visitTableOptionComment?e.visitTableOptionComment(this):e.visitChildren(this)}}class oE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AVG_ROW_LENGTH(){return this.getToken(t.KW_AVG_ROW_LENGTH,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionAverage&&e.enterTableOptionAverage(this)}exitRule(e){e.exitTableOptionAverage&&e.exitTableOptionAverage(this)}accept(e){return e.visitTableOptionAverage?e.visitTableOptionAverage(this):e.visitChildren(this)}}class rE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ROW_FORMAT(){return this.getToken(t.KW_ROW_FORMAT,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DYNAMIC(){return this.getToken(t.KW_DYNAMIC,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_COMPRESSED(){return this.getToken(t.KW_COMPRESSED,0)}KW_REDUNDANT(){return this.getToken(t.KW_REDUNDANT,0)}KW_COMPACT(){return this.getToken(t.KW_COMPACT,0)}ID(){return this.getToken(t.ID,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionRowFormat&&e.enterTableOptionRowFormat(this)}exitRule(e){e.exitTableOptionRowFormat&&e.exitTableOptionRowFormat(this)}accept(e){return e.visitTableOptionRowFormat?e.visitTableOptionRowFormat(this):e.visitChildren(this)}}class EE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMPRESSION(){return this.getToken(t.KW_COMPRESSION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}ID(){return this.getToken(t.ID,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionCompression&&e.enterTableOptionCompression(this)}exitRule(e){e.exitTableOptionCompression&&e.exitTableOptionCompression(this)}accept(e){return e.visitTableOptionCompression?e.visitTableOptionCompression(this):e.visitChildren(this)}}class uE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INSERT_METHOD(){return this.getToken(t.KW_INSERT_METHOD,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionInsertMethod&&e.enterTableOptionInsertMethod(this)}exitRule(e){e.exitTableOptionInsertMethod&&e.exitTableOptionInsertMethod(this)}accept(e){return e.visitTableOptionInsertMethod?e.visitTableOptionInsertMethod(this):e.visitChildren(this)}}class KE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionEngineAttribute&&e.enterTableOptionEngineAttribute(this)}exitRule(e){e.exitTableOptionEngineAttribute&&e.exitTableOptionEngineAttribute(this)}accept(e){return e.visitTableOptionEngineAttribute?e.visitTableOptionEngineAttribute(this):e.visitChildren(this)}}class WE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MIN_ROWS(){return this.getToken(t.KW_MIN_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionMinRows&&e.enterTableOptionMinRows(this)}exitRule(e){e.exitTableOptionMinRows&&e.exitTableOptionMinRows(this)}accept(e){return e.visitTableOptionMinRows?e.visitTableOptionMinRows(this):e.visitChildren(this)}}class _a extends K{constructor(e,i){super(e,i)}KW_MYSQL(){return this.getToken(t.KW_MYSQL,0)}KW_ODBC(){return this.getToken(t.KW_ODBC,0)}get ruleIndex(){return t.RULE_tableType}enterRule(e){e.enterTableType&&e.enterTableType(this)}exitRule(e){e.exitTableType&&e.exitTableType(this)}accept(e){return e.visitTableType?e.visitTableType(this):e.visitChildren(this)}}class Aa extends K{constructor(e,i){super(e,i)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_DISK(){return this.getToken(t.KW_DISK,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_tablespaceStorage}enterRule(e){e.enterTablespaceStorage&&e.enterTablespaceStorage(this)}exitRule(e){e.exitTablespaceStorage&&e.exitTablespaceStorage(this)}accept(e){return e.visitTablespaceStorage?e.visitTablespaceStorage(this):e.visitChildren(this)}}class yh extends K{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(e){return e===void 0?this.getTokens(t.KW_BY):this.getToken(t.KW_BY,e)}partitionFunctionDefinition(){return this.getRuleContext(0,p1)}KW_PARTITIONS(){return this.getToken(t.KW_PARTITIONS,0)}KW_SUBPARTITION(){return this.getToken(t.KW_SUBPARTITION,0)}subpartitionFunctionDefinition(){return this.getRuleContext(0,f7)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinition(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_SUBPARTITIONS(){return this.getToken(t.KW_SUBPARTITIONS,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionDefinitions}enterRule(e){e.enterPartitionDefinitions&&e.enterPartitionDefinitions(this)}exitRule(e){e.exitPartitionDefinitions&&e.exitPartitionDefinitions(this)}accept(e){return e.visitPartitionDefinitions?e.visitPartitionDefinitions(this):e.visitChildren(this)}}class p1 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_partitionFunctionDefinition}copyFrom(e){super.copyFrom(e)}}class RE extends p1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY(){return this.getToken(t.KW_KEY,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}columnNames(){return this.getRuleContext(0,ce)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}enterRule(e){e.enterPartitionFunctionKey&&e.enterPartitionFunctionKey(this)}exitRule(e){e.exitPartitionFunctionKey&&e.exitPartitionFunctionKey(this)}accept(e){return e.visitPartitionFunctionKey?e.visitPartitionFunctionKey(this):e.visitChildren(this)}}class TE extends p1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_HASH(){return this.getToken(t.KW_HASH,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}enterRule(e){e.enterPartitionFunctionHash&&e.enterPartitionFunctionHash(this)}exitRule(e){e.exitPartitionFunctionHash&&e.exitPartitionFunctionHash(this)}accept(e){return e.visitPartitionFunctionHash?e.visitPartitionFunctionHash(this):e.visitChildren(this)}}class _E extends p1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LIST(){return this.getToken(t.KW_LIST,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}columnNames(){return this.getRuleContext(0,ce)}enterRule(e){e.enterPartitionFunctionList&&e.enterPartitionFunctionList(this)}exitRule(e){e.exitPartitionFunctionList&&e.exitPartitionFunctionList(this)}accept(e){return e.visitPartitionFunctionList?e.visitPartitionFunctionList(this):e.visitChildren(this)}}class AE extends p1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}columnNames(){return this.getRuleContext(0,ce)}enterRule(e){e.enterPartitionFunctionRange&&e.enterPartitionFunctionRange(this)}exitRule(e){e.exitPartitionFunctionRange&&e.exitPartitionFunctionRange(this)}accept(e){return e.visitPartitionFunctionRange?e.visitPartitionFunctionRange(this):e.visitChildren(this)}}class f7 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_subpartitionFunctionDefinition}copyFrom(e){super.copyFrom(e)}}class IE extends f7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_HASH(){return this.getToken(t.KW_HASH,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}enterRule(e){e.enterSubPartitionFunctionHash&&e.enterSubPartitionFunctionHash(this)}exitRule(e){e.exitSubPartitionFunctionHash&&e.exitSubPartitionFunctionHash(this)}accept(e){return e.visitSubPartitionFunctionHash?e.visitSubPartitionFunctionHash(this):e.visitChildren(this)}}class LE extends f7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY(){return this.getToken(t.KW_KEY,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,ce)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}enterRule(e){e.enterSubPartitionFunctionKey&&e.enterSubPartitionFunctionKey(this)}exitRule(e){e.exitSubPartitionFunctionKey&&e.exitSubPartitionFunctionKey(this)}accept(e){return e.visitSubPartitionFunctionKey?e.visitSubPartitionFunctionKey(this):e.visitChildren(this)}}class _e extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_partitionDefinition}copyFrom(e){super.copyFrom(e)}}class Ia extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,_0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_LESS(){return this.getToken(t.KW_LESS,0)}KW_THAN(){return this.getToken(t.KW_THAN,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionDefinerAtom(e){return e===void 0?this.getRuleContexts(Z0):this.getRuleContext(e,Z0)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}partitionOption(e){return e===void 0?this.getRuleContexts(lt):this.getRuleContext(e,lt)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterPartitionComparison&&e.enterPartitionComparison(this)}exitRule(e){e.exitPartitionComparison&&e.exitPartitionComparison(this)}accept(e){return e.visitPartitionComparison?e.visitPartitionComparison(this):e.visitChildren(this)}}class OE extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,_0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionDefinerAtom(e){return e===void 0?this.getRuleContexts(Z0):this.getRuleContext(e,Z0)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}partitionOption(e){return e===void 0?this.getRuleContexts(lt):this.getRuleContext(e,lt)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterPartitionListAtom&&e.enterPartitionListAtom(this)}exitRule(e){e.exitPartitionListAtom&&e.exitPartitionListAtom(this)}accept(e){return e.visitPartitionListAtom?e.visitPartitionListAtom(this):e.visitChildren(this)}}class CE extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,_0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionDefinerVector(e){return e===void 0?this.getRuleContexts(qh):this.getRuleContext(e,qh)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}partitionOption(e){return e===void 0?this.getRuleContexts(lt):this.getRuleContext(e,lt)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterPartitionListVector&&e.enterPartitionListVector(this)}exitRule(e){e.exitPartitionListVector&&e.exitPartitionListVector(this)}accept(e){return e.visitPartitionListVector?e.visitPartitionListVector(this):e.visitChildren(this)}}class NE extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,_0)}partitionOption(e){return e===void 0?this.getRuleContexts(lt):this.getRuleContext(e,lt)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterPartitionSimple&&e.enterPartitionSimple(this)}exitRule(e){e.exitPartitionSimple&&e.exitPartitionSimple(this)}accept(e){return e.visitPartitionSimple?e.visitPartitionSimple(this):e.visitChildren(this)}}class Z0 extends K{constructor(e,i){super(e,i)}constant(){return this.getRuleContext(0,A0)}expression(){return this.getRuleContext(0,U)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}get ruleIndex(){return t.RULE_partitionDefinerAtom}enterRule(e){e.enterPartitionDefinerAtom&&e.enterPartitionDefinerAtom(this)}exitRule(e){e.exitPartitionDefinerAtom&&e.exitPartitionDefinerAtom(this)}accept(e){return e.visitPartitionDefinerAtom?e.visitPartitionDefinerAtom(this):e.visitChildren(this)}}class qh extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinerAtom(e){return e===void 0?this.getRuleContexts(Z0):this.getRuleContext(e,Z0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionDefinerVector}enterRule(e){e.enterPartitionDefinerVector&&e.enterPartitionDefinerVector(this)}exitRule(e){e.exitPartitionDefinerVector&&e.exitPartitionDefinerVector(this)}accept(e){return e.visitPartitionDefinerVector?e.visitPartitionDefinerVector(this):e.visitChildren(this)}}class Xe extends K{constructor(e,i){super(e,i)}KW_SUBPARTITION(){return this.getToken(t.KW_SUBPARTITION,0)}uid(){return this.getRuleContext(0,l)}partitionOption(e){return e===void 0?this.getRuleContexts(lt):this.getRuleContext(e,lt)}get ruleIndex(){return t.RULE_subpartitionDefinition}enterRule(e){e.enterSubpartitionDefinition&&e.enterSubpartitionDefinition(this)}exitRule(e){e.exitSubpartitionDefinition&&e.exitSubpartitionDefinition(this)}accept(e){return e.visitSubpartitionDefinition?e.visitSubpartitionDefinition(this):e.visitChildren(this)}}class lt extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_partitionOption}copyFrom(e){super.copyFrom(e)}}class lE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionComment&&e.enterPartitionOptionComment(this)}exitRule(e){e.exitPartitionOptionComment&&e.exitPartitionOptionComment(this)}accept(e){return e.visitPartitionOptionComment?e.visitPartitionOptionComment(this):e.visitChildren(this)}}class dE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}uid(){return this.getRuleContext(0,l)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionNodeGroup&&e.enterPartitionOptionNodeGroup(this)}exitRule(e){e.exitPartitionOptionNodeGroup&&e.exitPartitionOptionNodeGroup(this)}accept(e){return e.visitPartitionOptionNodeGroup?e.visitPartitionOptionNodeGroup(this):e.visitChildren(this)}}class mE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionIndexDirectory&&e.enterPartitionOptionIndexDirectory(this)}exitRule(e){e.exitPartitionOptionIndexDirectory&&e.exitPartitionOptionIndexDirectory(this)}accept(e){return e.visitPartitionOptionIndexDirectory?e.visitPartitionOptionIndexDirectory(this):e.visitChildren(this)}}class pE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MAX_ROWS(){return this.getToken(t.KW_MAX_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionMaxRows&&e.enterPartitionOptionMaxRows(this)}exitRule(e){e.exitPartitionOptionMaxRows&&e.exitPartitionOptionMaxRows(this)}accept(e){return e.visitPartitionOptionMaxRows?e.visitPartitionOptionMaxRows(this):e.visitChildren(this)}}class xE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,vi)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionTablespace&&e.enterPartitionOptionTablespace(this)}exitRule(e){e.exitPartitionOptionTablespace&&e.exitPartitionOptionTablespace(this)}accept(e){return e.visitPartitionOptionTablespace?e.visitPartitionOptionTablespace(this):e.visitChildren(this)}}class fE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionEngine&&e.enterPartitionOptionEngine(this)}exitRule(e){e.exitPartitionOptionEngine&&e.exitPartitionOptionEngine(this)}accept(e){return e.visitPartitionOptionEngine?e.visitPartitionOptionEngine(this):e.visitChildren(this)}}class gE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MIN_ROWS(){return this.getToken(t.KW_MIN_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionMinRows&&e.enterPartitionOptionMinRows(this)}exitRule(e){e.exitPartitionOptionMinRows&&e.exitPartitionOptionMinRows(this)}accept(e){return e.visitPartitionOptionMinRows?e.visitPartitionOptionMinRows(this):e.visitChildren(this)}}class UE extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionDataDirectory&&e.enterPartitionOptionDataDirectory(this)}exitRule(e){e.exitPartitionOptionDataDirectory&&e.exitPartitionOptionDataDirectory(this)}accept(e){return e.visitPartitionOptionDataDirectory?e.visitPartitionOptionDataDirectory(this):e.visitChildren(this)}}class g7 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_alterDatabase}copyFrom(e){super.copyFrom(e)}}class DE extends g7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}databaseName(){return this.getRuleContext(0,Qt)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}enterRule(e){e.enterAlterUpgradeName&&e.enterAlterUpgradeName(this)}exitRule(e){e.exitAlterUpgradeName&&e.exitAlterUpgradeName(this)}accept(e){return e.visitAlterUpgradeName?e.visitAlterUpgradeName(this):e.visitChildren(this)}}class kE extends g7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}databaseName(){return this.getRuleContext(0,Qt)}createDatabaseOption(e){return e===void 0?this.getRuleContexts(Ti):this.getRuleContext(e,Ti)}enterRule(e){e.enterAlterSimpleDatabase&&e.enterAlterSimpleDatabase(this)}exitRule(e){e.exitAlterSimpleDatabase&&e.exitAlterSimpleDatabase(this)}accept(e){return e.visitAlterSimpleDatabase?e.visitAlterSimpleDatabase(this):e.visitChildren(this)}}class La extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}fullId(e){return e===void 0?this.getRuleContexts(ht):this.getRuleContext(e,ht)}ownerStatement(){return this.getRuleContext(0,V0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_SCHEDULE(){return this.getToken(t.KW_SCHEDULE,0)}scheduleExpression(){return this.getRuleContext(0,_i)}KW_COMPLETION(){return this.getToken(t.KW_COMPLETION,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}enableType(){return this.getRuleContext(0,Jh)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DO(){return this.getToken(t.KW_DO,0)}routineBody(){return this.getRuleContext(0,f1)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_alterEvent}enterRule(e){e.enterAlterEvent&&e.enterAlterEvent(this)}exitRule(e){e.exitAlterEvent&&e.exitAlterEvent(this)}accept(e){return e.visitAlterEvent?e.visitAlterEvent(this):e.visitChildren(this)}}class Oa extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,k1)}routineOption(e){return e===void 0?this.getRuleContexts(ae):this.getRuleContext(e,ae)}get ruleIndex(){return t.RULE_alterFunction}enterRule(e){e.enterAlterFunction&&e.enterAlterFunction(this)}exitRule(e){e.exitAlterFunction&&e.exitAlterFunction(this)}accept(e){return e.visitAlterFunction?e.visitAlterFunction(this):e.visitChildren(this)}}class Ca extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_INSTANCE(){return this.getToken(t.KW_INSTANCE,0)}KW_ROTATE(){return this.getToken(t.KW_ROTATE,0)}KW_INNODB(){return this.getToken(t.KW_INNODB,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_alterInstance}enterRule(e){e.enterAlterInstance&&e.enterAlterInstance(this)}exitRule(e){e.exitAlterInstance&&e.exitAlterInstance(this)}accept(e){return e.visitAlterInstance?e.visitAlterInstance(this):e.visitChildren(this)}}class Na extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_UNDOFILE(){return this.getToken(t.KW_UNDOFILE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}uid(){return this.getRuleContext(0,l)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,oe)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_alterLogfileGroup}enterRule(e){e.enterAlterLogfileGroup&&e.enterAlterLogfileGroup(this)}exitRule(e){e.exitAlterLogfileGroup&&e.exitAlterLogfileGroup(this)}accept(e){return e.visitAlterLogfileGroup?e.visitAlterLogfileGroup(this):e.visitChildren(this)}}class la extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}fullId(){return this.getRuleContext(0,ht)}routineOption(e){return e===void 0?this.getRuleContexts(ae):this.getRuleContext(e,ae)}get ruleIndex(){return t.RULE_alterProcedure}enterRule(e){e.enterAlterProcedure&&e.enterAlterProcedure(this)}exitRule(e){e.exitAlterProcedure&&e.exitAlterProcedure(this)}accept(e){return e.visitAlterProcedure?e.visitAlterProcedure(this):e.visitChildren(this)}}class da extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}serverOption(e){return e===void 0?this.getRuleContexts(Li):this.getRuleContext(e,Li)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(){return this.getRuleContext(0,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alterServer}enterRule(e){e.enterAlterServer&&e.enterAlterServer(this)}exitRule(e){e.exitAlterServer&&e.exitAlterServer(this)}accept(e){return e.visitAlterServer?e.visitAlterServer(this):e.visitChildren(this)}}class ma extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}alterOption(e){return e===void 0?this.getRuleContexts(z):this.getRuleContext(e,z)}alterPartitionSpecification(e){return e===void 0?this.getRuleContexts(dt):this.getRuleContext(e,dt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alterTable}enterRule(e){e.enterAlterTable&&e.enterAlterTable(this)}exitRule(e){e.exitAlterTable&&e.exitAlterTable(this)}accept(e){return e.visitAlterTable?e.visitAlterTable(this):e.visitChildren(this)}}class pa extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,vi)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(oe):this.getRuleContext(e,oe)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}tablespaceNameCreate(){return this.getRuleContext(0,v7)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}KW_ACTIVE(){return this.getToken(t.KW_ACTIVE,0)}KW_INACTIVE(){return this.getToken(t.KW_INACTIVE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_alterTablespace}enterRule(e){e.enterAlterTablespace&&e.enterAlterTablespace(this)}exitRule(e){e.exitAlterTablespace&&e.exitAlterTablespace(this)}accept(e){return e.visitAlterTablespace?e.visitAlterTablespace(this):e.visitChildren(this)}}class xa extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewName(){return this.getRuleContext(0,wi)}KW_AS(){return this.getToken(t.KW_AS,0)}selectStatement(){return this.getRuleContext(0,ft)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ownerStatement(){return this.getRuleContext(0,V0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,ce)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_UNDEFINED(){return this.getToken(t.KW_UNDEFINED,0)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_TEMPTABLE(){return this.getToken(t.KW_TEMPTABLE,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_alterView}enterRule(e){e.enterAlterView&&e.enterAlterView(this)}exitRule(e){e.exitAlterView&&e.exitAlterView(this)}accept(e){return e.visitAlterView?e.visitAlterView(this):e.visitChildren(this)}}class z extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_alterOption}copyFrom(e){super.copyFrom(e)}}class SE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}columnName(){return this.getRuleContext(0,At)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Xi)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}enterRule(e){e.enterAlterByAlterColumnDefault&&e.enterAlterByAlterColumnDefault(this)}exitRule(e){e.exitAlterByAlterColumnDefault&&e.exitAlterByAlterColumnDefault(this)}accept(e){return e.visitAlterByAlterColumnDefault?e.visitAlterByAlterColumnDefault(this):e.visitChildren(this)}}class HE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}charsetName(){return this.getRuleContext(0,Bt)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterAlterByDefaultCharset&&e.enterAlterByDefaultCharset(this)}exitRule(e){e.exitAlterByDefaultCharset&&e.exitAlterByDefaultCharset(this)}accept(e){return e.visitAlterByDefaultCharset?e.visitAlterByDefaultCharset(this):e.visitChildren(this)}}class BE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONVERT(){return this.getToken(t.KW_CONVERT,0)}KW_TO(){return this.getToken(t.KW_TO,0)}charsetName(){return this.getRuleContext(0,Bt)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterAlterByConvertCharset&&e.enterAlterByConvertCharset(this)}exitRule(e){e.exitAlterByConvertCharset&&e.exitAlterByConvertCharset(this)}accept(e){return e.visitAlterByConvertCharset?e.visitAlterByConvertCharset(this):e.visitChildren(this)}}class FE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_TO(){return this.getToken(t.KW_TO,0)}columnName(){return this.getRuleContext(0,At)}columnNameCreate(){return this.getRuleContext(0,H1)}enterRule(e){e.enterAlterByRenameColumn&&e.enterAlterByRenameColumn(this)}exitRule(e){e.exitAlterByRenameColumn&&e.exitAlterByRenameColumn(this)}accept(e){return e.visitAlterByRenameColumn?e.visitAlterByRenameColumn(this):e.visitChildren(this)}}class GE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexColumnNames(){return this.getRuleContext(0,$e)}referenceDefinition(){return this.getRuleContext(0,x7)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}indexName(){return this.getRuleContext(0,te)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterAlterByAddForeignKey&&e.enterAlterByAddForeignKey(this)}exitRule(e){e.exitAlterByAddForeignKey&&e.exitAlterByAddForeignKey(this)}accept(e){return e.visitAlterByAddForeignKey?e.visitAlterByAddForeignKey(this):e.visitChildren(this)}}class bE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}indexName(){return this.getRuleContext(0,te)}KW_TO(){return this.getToken(t.KW_TO,0)}indexNameCreate(){return this.getRuleContext(0,V2)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByRenameIndex&&e.enterAlterByRenameIndex(this)}exitRule(e){e.exitAlterByRenameIndex&&e.exitAlterByRenameIndex(this)}accept(e){return e.visitAlterByRenameIndex?e.visitAlterByRenameIndex(this):e.visitChildren(this)}}class wE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}enterRule(e){e.enterAlterTablespaceOption&&e.enterAlterTablespaceOption(this)}exitRule(e){e.exitAlterTablespaceOption&&e.exitAlterTablespaceOption(this)}accept(e){return e.visitAlterTablespaceOption?e.visitAlterTablespaceOption(this):e.visitChildren(this)}}class vE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}tableNameCreate(){return this.getRuleContext(0,S1)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterAlterByRename&&e.enterAlterByRename(this)}exitRule(e){e.exitAlterByRename&&e.exitAlterByRename(this)}accept(e){return e.visitAlterByRename?e.visitAlterByRename(this):e.visitChildren(this)}}class YE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterAlterByDropConstraintCheck&&e.enterAlterByDropConstraintCheck(this)}exitRule(e){e.exitAlterByDropConstraintCheck&&e.exitAlterByDropConstraintCheck(this)}accept(e){return e.visitAlterByDropConstraintCheck?e.visitAlterByDropConstraintCheck(this):e.visitChildren(this)}}class VE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}uid(){return this.getRuleContext(0,l)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ENFORCED(){return this.getToken(t.KW_ENFORCED,0)}enterRule(e){e.enterAlterByAlterCheckTableConstraint&&e.enterAlterByAlterCheckTableConstraint(this)}exitRule(e){e.exitAlterByAlterCheckTableConstraint&&e.exitAlterByAlterCheckTableConstraint(this)}accept(e){return e.visitAlterByAlterCheckTableConstraint?e.visitAlterByAlterCheckTableConstraint(this):e.visitChildren(this)}}class XE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnDefinition(e){return e===void 0?this.getRuleContexts(Q0):this.getRuleContext(e,Q0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByAddColumns&&e.enterAlterByAddColumns(this)}exitRule(e){e.exitAlterByAddColumns&&e.exitAlterByAddColumns(this)}accept(e){return e.visitAlterByAddColumns?e.visitAlterByAddColumns(this):e.visitChildren(this)}}class QE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}indexName(){return this.getRuleContext(0,te)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}enterRule(e){e.enterAlterByAlterIndexVisibility&&e.enterAlterByAlterIndexVisibility(this)}exitRule(e){e.exitAlterByAlterIndexVisibility&&e.exitAlterByAlterIndexVisibility(this)}accept(e){return e.visitAlterByAlterIndexVisibility?e.visitAlterByAlterIndexVisibility(this):e.visitChildren(this)}}class ZE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterAlterByDropForeignKey&&e.enterAlterByDropForeignKey(this)}exitRule(e){e.exitAlterByDropForeignKey&&e.exitAlterByDropForeignKey(this)}accept(e){return e.visitAlterByDropForeignKey?e.visitAlterByDropForeignKey(this):e.visitChildren(this)}}class JE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}checkConstraintDefinition(){return this.getRuleContext(0,p7)}enterRule(e){e.enterAlterByAddCheckTableConstraint&&e.enterAlterByAddCheckTableConstraint(this)}exitRule(e){e.exitAlterByAddCheckTableConstraint&&e.exitAlterByAddCheckTableConstraint(this)}accept(e){return e.visitAlterByAddCheckTableConstraint?e.visitAlterByAddCheckTableConstraint(this):e.visitChildren(this)}}class zE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}alterPartitionSpecification(){return this.getRuleContext(0,dt)}enterRule(e){e.enterAlterPartition&&e.enterAlterPartition(this)}exitRule(e){e.exitAlterPartition&&e.exitAlterPartition(this)}accept(e){return e.visitAlterPartition?e.visitAlterPartition(this):e.visitChildren(this)}}class jE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexName(){return this.getRuleContext(0,te)}indexType(){return this.getRuleContext(0,X0)}indexOption(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}enterRule(e){e.enterAlterByAddIndex&&e.enterAlterByAddIndex(this)}exitRule(e){e.exitAlterByAddIndex&&e.exitAlterByAddIndex(this)}accept(e){return e.visitAlterByAddIndex?e.visitAlterByAddIndex(this):e.visitChildren(this)}}class $E extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}columnName(){return this.getRuleContext(0,At)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}enterRule(e){e.enterAlterByDropColumn&&e.enterAlterByDropColumn(this)}exitRule(e){e.exitAlterByDropColumn&&e.exitAlterByDropColumn(this)}accept(e){return e.visitAlterByDropColumn?e.visitAlterByDropColumn(this):e.visitChildren(this)}}class ME extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}enterRule(e){e.enterAlterByForce&&e.enterAlterByForce(this)}exitRule(e){e.exitAlterByForce&&e.exitAlterByForce(this)}accept(e){return e.visitAlterByForce?e.visitAlterByForce(this):e.visitChildren(this)}}class PE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_FULLTEXT(){return this.getToken(t.KW_FULLTEXT,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}indexName(){return this.getRuleContext(0,te)}indexOption(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByAddSpecialIndex&&e.enterAlterByAddSpecialIndex(this)}exitRule(e){e.exitAlterByAddSpecialIndex&&e.exitAlterByAddSpecialIndex(this)}accept(e){return e.visitAlterByAddSpecialIndex?e.visitAlterByAddSpecialIndex(this):e.visitChildren(this)}}class yE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MODIFY(){return this.getToken(t.KW_MODIFY,0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnDefinition(){return this.getRuleContext(0,Q0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}enterRule(e){e.enterAlterByModifyColumn&&e.enterAlterByModifyColumn(this)}exitRule(e){e.exitAlterByModifyColumn&&e.exitAlterByModifyColumn(this)}accept(e){return e.visitAlterByModifyColumn?e.visitAlterByModifyColumn(this):e.visitChildren(this)}}class qE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}tableOption(e){return e===void 0?this.getRuleContexts(V):this.getRuleContext(e,V)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByTableOption&&e.enterAlterByTableOption(this)}exitRule(e){e.exitAlterByTableOption&&e.exitAlterByTableOption(this)}accept(e){return e.visitAlterByTableOption?e.visitAlterByTableOption(this):e.visitChildren(this)}}class t9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByDropPrimaryKey&&e.enterAlterByDropPrimaryKey(this)}exitRule(e){e.exitAlterByDropPrimaryKey&&e.exitAlterByDropPrimaryKey(this)}accept(e){return e.visitAlterByDropPrimaryKey?e.visitAlterByDropPrimaryKey(this):e.visitChildren(this)}}class e9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_SHARED(){return this.getToken(t.KW_SHARED,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterAlterByLock&&e.enterAlterByLock(this)}exitRule(e){e.exitAlterByLock&&e.exitAlterByLock(this)}accept(e){return e.visitAlterByLock?e.visitAlterByLock(this):e.visitChildren(this)}}class i9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEYS(){return this.getToken(t.KW_KEYS,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}enterRule(e){e.enterAlterKeys&&e.enterAlterKeys(this)}exitRule(e){e.exitAlterKeys&&e.exitAlterKeys(this)}accept(e){return e.visitAlterKeys?e.visitAlterKeys(this):e.visitChildren(this)}}class s9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_VALIDATION(){return this.getToken(t.KW_VALIDATION,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}enterRule(e){e.enterAlterByValidate&&e.enterAlterByValidate(this)}exitRule(e){e.exitAlterByValidate&&e.exitAlterByValidate(this)}accept(e){return e.visitAlterByValidate?e.visitAlterByValidate(this):e.visitChildren(this)}}class n9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}indexType(){return this.getRuleContext(0,X0)}indexOption(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterAlterByAddPrimaryKey&&e.enterAlterByAddPrimaryKey(this)}exitRule(e){e.exitAlterByAddPrimaryKey&&e.exitAlterByAddPrimaryKey(this)}accept(e){return e.visitAlterByAddPrimaryKey?e.visitAlterByAddPrimaryKey(this):e.visitChildren(this)}}class h9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_INSTANT(){return this.getToken(t.KW_INSTANT,0)}KW_INPLACE(){return this.getToken(t.KW_INPLACE,0)}KW_COPY(){return this.getToken(t.KW_COPY,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterAlterBySetAlgorithm&&e.enterAlterBySetAlgorithm(this)}exitRule(e){e.exitAlterBySetAlgorithm&&e.exitAlterBySetAlgorithm(this)}accept(e){return e.visitAlterBySetAlgorithm?e.visitAlterBySetAlgorithm(this):e.visitChildren(this)}}class a9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}columnDefinition(){return this.getRuleContext(0,Q0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnNameCreate(){return this.getRuleContext(0,H1)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}enterRule(e){e.enterAlterByChangeColumn&&e.enterAlterByChangeColumn(this)}exitRule(e){e.exitAlterByChangeColumn&&e.exitAlterByChangeColumn(this)}accept(e){return e.visitAlterByChangeColumn?e.visitAlterByChangeColumn(this):e.visitChildren(this)}}class c9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}indexName(){return this.getRuleContext(0,te)}indexType(){return this.getRuleContext(0,X0)}indexOption(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterAlterByAddUniqueKey&&e.enterAlterByAddUniqueKey(this)}exitRule(e){e.exitAlterByAddUniqueKey&&e.exitAlterByAddUniqueKey(this)}accept(e){return e.visitAlterByAddUniqueKey?e.visitAlterByAddUniqueKey(this):e.visitChildren(this)}}class o9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}indexName(){return this.getRuleContext(0,te)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByDropIndex&&e.enterAlterByDropIndex(this)}exitRule(e){e.exitAlterByDropIndex&&e.exitAlterByDropIndex(this)}accept(e){return e.visitAlterByDropIndex?e.visitAlterByDropIndex(this):e.visitChildren(this)}}class r9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnDefinition(){return this.getRuleContext(0,Q0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}enterRule(e){e.enterAlterByAddColumn&&e.enterAlterByAddColumn(this)}exitRule(e){e.exitAlterByAddColumn&&e.exitAlterByAddColumn(this)}accept(e){return e.visitAlterByAddColumn?e.visitAlterByAddColumn(this):e.visitChildren(this)}}class E9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}columnNames(){return this.getRuleContext(0,ce)}enterRule(e){e.enterAlterByOrder&&e.enterAlterByOrder(this)}exitRule(e){e.exitAlterByOrder&&e.exitAlterByOrder(this)}accept(e){return e.visitAlterByOrder?e.visitAlterByOrder(this):e.visitChildren(this)}}class dt extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_alterPartitionSpecification}copyFrom(e){super.copyFrom(e)}}class u9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByImportPartition&&e.enterAlterByImportPartition(this)}exitRule(e){e.exitAlterByImportPartition&&e.exitAlterByImportPartition(this)}accept(e){return e.visitAlterByImportPartition?e.visitAlterByImportPartition(this):e.visitChildren(this)}}class K9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}enterRule(e){e.enterAlterByDropPartition&&e.enterAlterByDropPartition(this)}exitRule(e){e.exitAlterByDropPartition&&e.exitAlterByDropPartition(this)}accept(e){return e.visitAlterByDropPartition?e.visitAlterByDropPartition(this):e.visitChildren(this)}}class W9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByDiscardPartition&&e.enterAlterByDiscardPartition(this)}exitRule(e){e.exitAlterByDiscardPartition&&e.exitAlterByDiscardPartition(this)}accept(e){return e.visitAlterByDiscardPartition?e.visitAlterByDiscardPartition(this):e.visitChildren(this)}}class R9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinition(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByAddPartition&&e.enterAlterByAddPartition(this)}exitRule(e){e.exitAlterByAddPartition&&e.exitAlterByAddPartition(this)}accept(e){return e.visitAlterByAddPartition?e.visitAlterByAddPartition(this):e.visitChildren(this)}}class T9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REMOVE(){return this.getToken(t.KW_REMOVE,0)}KW_PARTITIONING(){return this.getToken(t.KW_PARTITIONING,0)}enterRule(e){e.enterAlterByRemovePartitioning&&e.enterAlterByRemovePartitioning(this)}exitRule(e){e.exitAlterByRemovePartitioning&&e.exitAlterByRemovePartitioning(this)}accept(e){return e.visitAlterByRemovePartitioning?e.visitAlterByRemovePartitioning(this):e.visitChildren(this)}}class _9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_OPTIMIZE(){return this.getToken(t.KW_OPTIMIZE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByOptimizePartition&&e.enterAlterByOptimizePartition(this)}exitRule(e){e.exitAlterByOptimizePartition&&e.exitAlterByOptimizePartition(this)}accept(e){return e.visitAlterByOptimizePartition?e.visitAlterByOptimizePartition(this):e.visitChildren(this)}}class A9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByCheckPartition&&e.enterAlterByCheckPartition(this)}exitRule(e){e.exitAlterByCheckPartition&&e.exitAlterByCheckPartition(this)}accept(e){return e.visitAlterByCheckPartition?e.visitAlterByCheckPartition(this):e.visitChildren(this)}}class I9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterAlterByCoalescePartition&&e.enterAlterByCoalescePartition(this)}exitRule(e){e.exitAlterByCoalescePartition&&e.exitAlterByCoalescePartition(this)}accept(e){return e.visitAlterByCoalescePartition?e.visitAlterByCoalescePartition(this):e.visitChildren(this)}}class L9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REORGANIZE(){return this.getToken(t.KW_REORGANIZE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_INTO(){return this.getToken(t.KW_INTO,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinition(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByReorganizePartition&&e.enterAlterByReorganizePartition(this)}exitRule(e){e.exitAlterByReorganizePartition&&e.exitAlterByReorganizePartition(this)}accept(e){return e.visitAlterByReorganizePartition?e.visitAlterByReorganizePartition(this):e.visitChildren(this)}}class O9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByAnalyzePartition&&e.enterAlterByAnalyzePartition(this)}exitRule(e){e.exitAlterByAnalyzePartition&&e.exitAlterByAnalyzePartition(this)}accept(e){return e.visitAlterByAnalyzePartition?e.visitAlterByAnalyzePartition(this):e.visitChildren(this)}}class C9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REBUILD(){return this.getToken(t.KW_REBUILD,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByRebuildPartition&&e.enterAlterByRebuildPartition(this)}exitRule(e){e.exitAlterByRebuildPartition&&e.exitAlterByRebuildPartition(this)}accept(e){return e.visitAlterByRebuildPartition?e.visitAlterByRebuildPartition(this):e.visitChildren(this)}}class N9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_PARTITIONING(){return this.getToken(t.KW_PARTITIONING,0)}enterRule(e){e.enterAlterByUpgradePartitioning&&e.enterAlterByUpgradePartitioning(this)}exitRule(e){e.exitAlterByUpgradePartitioning&&e.exitAlterByUpgradePartitioning(this)}accept(e){return e.visitAlterByUpgradePartitioning?e.visitAlterByUpgradePartitioning(this):e.visitChildren(this)}}class l9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByTruncatePartition&&e.enterAlterByTruncatePartition(this)}exitRule(e){e.exitAlterByTruncatePartition&&e.exitAlterByTruncatePartition(this)}accept(e){return e.visitAlterByTruncatePartition?e.visitAlterByTruncatePartition(this):e.visitChildren(this)}}class d9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPAIR(){return this.getToken(t.KW_REPAIR,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByRepairPartition&&e.enterAlterByRepairPartition(this)}exitRule(e){e.exitAlterByRepairPartition&&e.exitAlterByRepairPartition(this)}accept(e){return e.visitAlterByRepairPartition?e.visitAlterByRepairPartition(this):e.visitChildren(this)}}class m9 extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXCHANGE(){return this.getToken(t.KW_EXCHANGE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,_0)}KW_WITH(e){return e===void 0?this.getTokens(t.KW_WITH):this.getToken(t.KW_WITH,e)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}KW_VALIDATION(){return this.getToken(t.KW_VALIDATION,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}enterRule(e){e.enterAlterByExchangePartition&&e.enterAlterByExchangePartition(this)}exitRule(e){e.exitAlterByExchangePartition&&e.exitAlterByExchangePartition(this)}accept(e){return e.visitAlterByExchangePartition?e.visitAlterByExchangePartition(this):e.visitChildren(this)}}class fa extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}databaseName(){return this.getRuleContext(0,Qt)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropDatabase}enterRule(e){e.enterDropDatabase&&e.enterDropDatabase(this)}exitRule(e){e.exitDropDatabase&&e.exitDropDatabase(this)}accept(e){return e.visitDropDatabase?e.visitDropDatabase(this):e.visitChildren(this)}}class ga extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}fullId(){return this.getRuleContext(0,ht)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropEvent}enterRule(e){e.enterDropEvent&&e.enterDropEvent(this)}exitRule(e){e.exitDropEvent&&e.exitDropEvent(this)}accept(e){return e.visitDropEvent?e.visitDropEvent(this):e.visitChildren(this)}}class Ua extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}indexName(){return this.getRuleContext(0,te)}KW_ON(){return this.getToken(t.KW_ON,0)}tableName(){return this.getRuleContext(0,X)}KW_ALGORITHM(e){return e===void 0?this.getTokens(t.KW_ALGORITHM):this.getToken(t.KW_ALGORITHM,e)}KW_LOCK(e){return e===void 0?this.getTokens(t.KW_LOCK):this.getToken(t.KW_LOCK,e)}KW_ONLINE(){return this.getToken(t.KW_ONLINE,0)}KW_OFFLINE(){return this.getToken(t.KW_OFFLINE,0)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}KW_INPLACE(e){return e===void 0?this.getTokens(t.KW_INPLACE):this.getToken(t.KW_INPLACE,e)}KW_COPY(e){return e===void 0?this.getTokens(t.KW_COPY):this.getToken(t.KW_COPY,e)}KW_NONE(e){return e===void 0?this.getTokens(t.KW_NONE):this.getToken(t.KW_NONE,e)}KW_SHARED(e){return e===void 0?this.getTokens(t.KW_SHARED):this.getToken(t.KW_SHARED,e)}KW_EXCLUSIVE(e){return e===void 0?this.getTokens(t.KW_EXCLUSIVE):this.getToken(t.KW_EXCLUSIVE,e)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_dropIndex}enterRule(e){e.enterDropIndex&&e.enterDropIndex(this)}exitRule(e){e.exitDropIndex&&e.exitDropIndex(this)}accept(e){return e.visitDropIndex?e.visitDropIndex(this):e.visitChildren(this)}}class Da extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}uid(){return this.getRuleContext(0,l)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}get ruleIndex(){return t.RULE_dropLogfileGroup}enterRule(e){e.enterDropLogfileGroup&&e.enterDropLogfileGroup(this)}exitRule(e){e.exitDropLogfileGroup&&e.exitDropLogfileGroup(this)}accept(e){return e.visitDropLogfileGroup?e.visitDropLogfileGroup(this):e.visitChildren(this)}}class ka extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}fullId(){return this.getRuleContext(0,ht)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropProcedure}enterRule(e){e.enterDropProcedure&&e.enterDropProcedure(this)}exitRule(e){e.exitDropProcedure&&e.exitDropProcedure(this)}accept(e){return e.visitDropProcedure?e.visitDropProcedure(this):e.visitChildren(this)}}class Sa extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,k1)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropFunction}enterRule(e){e.enterDropFunction&&e.enterDropFunction(this)}exitRule(e){e.exitDropFunction&&e.exitDropFunction(this)}accept(e){return e.visitDropFunction?e.visitDropFunction(this):e.visitChildren(this)}}class Ha extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}uid(){return this.getRuleContext(0,l)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropServer}enterRule(e){e.enterDropServer&&e.enterDropServer(this)}exitRule(e){e.exitDropServer&&e.exitDropServer(this)}accept(e){return e.visitDropServer?e.visitDropServer(this):e.visitChildren(this)}}class Ba extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}KW_REFERENCE(){return this.getToken(t.KW_REFERENCE,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}DECIMAL_LITERAL(){return this.getToken(t.DECIMAL_LITERAL,0)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropSpatial}enterRule(e){e.enterDropSpatial&&e.enterDropSpatial(this)}exitRule(e){e.exitDropSpatial&&e.exitDropSpatial(this)}accept(e){return e.visitDropSpatial?e.visitDropSpatial(this):e.visitChildren(this)}}class Fa extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,Dt)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}get ruleIndex(){return t.RULE_dropTable}enterRule(e){e.enterDropTable&&e.enterDropTable(this)}exitRule(e){e.exitDropTable&&e.exitDropTable(this)}accept(e){return e.visitDropTable?e.visitDropTable(this):e.visitChildren(this)}}class Ga extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,vi)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}get ruleIndex(){return t.RULE_dropTablespace}enterRule(e){e.enterDropTablespace&&e.enterDropTablespace(this)}exitRule(e){e.exitDropTablespace&&e.exitDropTablespace(this)}accept(e){return e.visitDropTablespace?e.visitDropTablespace(this):e.visitChildren(this)}}class ba extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}fullId(){return this.getRuleContext(0,ht)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropTrigger}enterRule(e){e.enterDropTrigger&&e.enterDropTrigger(this)}exitRule(e){e.exitDropTrigger&&e.exitDropTrigger(this)}accept(e){return e.visitDropTrigger?e.visitDropTrigger(this):e.visitChildren(this)}}class wa extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewName(e){return e===void 0?this.getRuleContexts(wi):this.getRuleContext(e,wi)}ifExists(){return this.getRuleContext(0,Dt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}get ruleIndex(){return t.RULE_dropView}enterRule(e){e.enterDropView&&e.enterDropView(this)}exitRule(e){e.exitDropView&&e.exitDropView(this)}accept(e){return e.visitDropView?e.visitDropView(this):e.visitChildren(this)}}class va extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_dropRole}enterRule(e){e.enterDropRole&&e.enterDropRole(this)}exitRule(e){e.exitDropRole&&e.exitDropRole(this)}accept(e){return e.visitDropRole?e.visitDropRole(this):e.visitChildren(this)}}class Ya extends K{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}userOrRoleName(e){return e===void 0?this.getRuleContexts(je):this.getRuleContext(e,je)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}roleOption(){return this.getRuleContext(0,fi)}get ruleIndex(){return t.RULE_setRole}enterRule(e){e.enterSetRole&&e.enterSetRole(this)}exitRule(e){e.exitSetRole&&e.exitSetRole(this)}accept(e){return e.visitSetRole?e.visitSetRole(this):e.visitChildren(this)}}class Va extends K{constructor(e,i){super(e,i)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}renameTableClause(e){return e===void 0?this.getRuleContexts(t2):this.getRuleContext(e,t2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_renameTable}enterRule(e){e.enterRenameTable&&e.enterRenameTable(this)}exitRule(e){e.exitRenameTable&&e.exitRenameTable(this)}accept(e){return e.visitRenameTable?e.visitRenameTable(this):e.visitChildren(this)}}class t2 extends K{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}KW_TO(){return this.getToken(t.KW_TO,0)}tableNameCreate(){return this.getRuleContext(0,S1)}get ruleIndex(){return t.RULE_renameTableClause}enterRule(e){e.enterRenameTableClause&&e.enterRenameTableClause(this)}exitRule(e){e.exitRenameTableClause&&e.exitRenameTableClause(this)}accept(e){return e.visitRenameTableClause?e.visitRenameTableClause(this):e.visitChildren(this)}}class Xa extends K{constructor(e,i){super(e,i)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}tableName(){return this.getRuleContext(0,X)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}get ruleIndex(){return t.RULE_truncateTable}enterRule(e){e.enterTruncateTable&&e.enterTruncateTable(this)}exitRule(e){e.exitTruncateTable&&e.exitTruncateTable(this)}accept(e){return e.visitTruncateTable?e.visitTruncateTable(this):e.visitChildren(this)}}class Qa extends K{constructor(e,i){super(e,i)}KW_CALL(){return this.getToken(t.KW_CALL,0)}fullId(){return this.getRuleContext(0,ht)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}constants(){return this.getRuleContext(0,P2)}expressions(){return this.getRuleContext(0,Z7)}get ruleIndex(){return t.RULE_callStatement}enterRule(e){e.enterCallStatement&&e.enterCallStatement(this)}exitRule(e){e.exitCallStatement&&e.exitCallStatement(this)}accept(e){return e.visitCallStatement?e.visitCallStatement(this):e.visitChildren(this)}}class e2 extends K{constructor(e,i){super(e,i)}singleDeleteStatement(){return this.getRuleContext(0,ic)}multipleDeleteStatement(){return this.getRuleContext(0,sc)}get ruleIndex(){return t.RULE_deleteStatement}enterRule(e){e.enterDeleteStatement&&e.enterDeleteStatement(this)}exitRule(e){e.exitDeleteStatement&&e.exitDeleteStatement(this)}accept(e){return e.visitDeleteStatement?e.visitDeleteStatement(this):e.visitChildren(this)}}class Za extends K{constructor(e,i){super(e,i)}KW_DO(){return this.getToken(t.KW_DO,0)}expressions(){return this.getRuleContext(0,Z7)}get ruleIndex(){return t.RULE_doStatement}enterRule(e){e.enterDoStatement&&e.enterDoStatement(this)}exitRule(e){e.exitDoStatement&&e.exitDoStatement(this)}accept(e){return e.visitDoStatement?e.visitDoStatement(this):e.visitChildren(this)}}class Ja extends K{constructor(e,i){super(e,i)}handlerOpenStatement(){return this.getRuleContext(0,nc)}handlerReadIndexStatement(){return this.getRuleContext(0,hc)}handlerReadStatement(){return this.getRuleContext(0,ac)}handlerCloseStatement(){return this.getRuleContext(0,cc)}get ruleIndex(){return t.RULE_handlerStatement}enterRule(e){e.enterHandlerStatement&&e.enterHandlerStatement(this)}exitRule(e){e.exitHandlerStatement&&e.exitHandlerStatement(this)}accept(e){return e.visitHandlerStatement?e.visitHandlerStatement(this):e.visitChildren(this)}}class i2 extends K{constructor(e,i){super(e,i),this._duplicatedElements=[]}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}tableName(){return this.getRuleContext(0,X)}setAssignmentList(){return this.getRuleContext(0,o2)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}asRowAlias(e){return e===void 0?this.getRuleContexts(s2):this.getRuleContext(e,s2)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_DUPLICATE(){return this.getToken(t.KW_DUPLICATE,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}updatedElement(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_DELAYED(){return this.getToken(t.KW_DELAYED,0)}KW_HIGH_PRIORITY(){return this.getToken(t.KW_HIGH_PRIORITY,0)}fullColumnNames(){return this.getRuleContext(0,k7)}valuesOrValueList(){return this.getRuleContext(0,M2)}selectOrTableOrValues(){return this.getRuleContext(0,za)}partitionNames(){return this.getRuleContext(0,gt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_insertStatement}enterRule(e){e.enterInsertStatement&&e.enterInsertStatement(this)}exitRule(e){e.exitInsertStatement&&e.exitInsertStatement(this)}accept(e){return e.visitInsertStatement?e.visitInsertStatement(this):e.visitChildren(this)}}class s2 extends K{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}uid(){return this.getRuleContext(0,l)}fullColumnNames(){return this.getRuleContext(0,k7)}get ruleIndex(){return t.RULE_asRowAlias}enterRule(e){e.enterAsRowAlias&&e.enterAsRowAlias(this)}exitRule(e){e.exitAsRowAlias&&e.exitAsRowAlias(this)}accept(e){return e.visitAsRowAlias?e.visitAsRowAlias(this):e.visitChildren(this)}}class za extends K{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}rowValuesList(){return this.getRuleContext(0,D7)}get ruleIndex(){return t.RULE_selectOrTableOrValues}enterRule(e){e.enterSelectOrTableOrValues&&e.enterSelectOrTableOrValues(this)}exitRule(e){e.exitSelectOrTableOrValues&&e.exitSelectOrTableOrValues(this)}accept(e){return e.visitSelectOrTableOrValues?e.visitSelectOrTableOrValues(this):e.visitChildren(this)}}class ja extends K{constructor(e,i){super(e,i)}interSectQuery(e){return e===void 0?this.getRuleContexts(n2):this.getRuleContext(e,n2)}KW_INTERSECT(e){return e===void 0?this.getTokens(t.KW_INTERSECT):this.getToken(t.KW_INTERSECT,e)}KW_ALL(e){return e===void 0?this.getTokens(t.KW_ALL):this.getToken(t.KW_ALL,e)}KW_DISTINCT(e){return e===void 0?this.getTokens(t.KW_DISTINCT):this.getToken(t.KW_DISTINCT,e)}get ruleIndex(){return t.RULE_interSectStatement}enterRule(e){e.enterInterSectStatement&&e.enterInterSectStatement(this)}exitRule(e){e.exitInterSectStatement&&e.exitInterSectStatement(this)}accept(e){return e.visitInterSectStatement?e.visitInterSectStatement(this):e.visitChildren(this)}}class n2 extends K{constructor(e,i){super(e,i)}querySpecification(){return this.getRuleContext(0,$0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_interSectQuery}enterRule(e){e.enterInterSectQuery&&e.enterInterSectQuery(this)}exitRule(e){e.exitInterSectQuery&&e.exitInterSectQuery(this)}accept(e){return e.visitInterSectQuery?e.visitInterSectQuery(this):e.visitChildren(this)}}class $a extends K{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_INFILE(){return this.getToken(t.KW_INFILE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(e){return e===void 0?this.getTokens(t.KW_SET):this.getToken(t.KW_SET,e)}KW_LINES(e){return e===void 0?this.getTokens(t.KW_LINES):this.getToken(t.KW_LINES,e)}KW_IGNORE(e){return e===void 0?this.getTokens(t.KW_IGNORE):this.getToken(t.KW_IGNORE,e)}decimalLiteral(){return this.getRuleContext(0,H)}assignmentField(e){return e===void 0?this.getRuleContexts(z0):this.getRuleContext(e,z0)}updatedElement(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}charsetName(){return this.getRuleContext(0,Bt)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_CONCURRENT(){return this.getToken(t.KW_CONCURRENT,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}selectFieldsInto(e){return e===void 0?this.getRuleContexts(di):this.getRuleContext(e,di)}selectLinesInto(e){return e===void 0?this.getRuleContexts(mi):this.getRuleContext(e,mi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_loadDataStatement}enterRule(e){e.enterLoadDataStatement&&e.enterLoadDataStatement(this)}exitRule(e){e.exitLoadDataStatement&&e.exitLoadDataStatement(this)}accept(e){return e.visitLoadDataStatement?e.visitLoadDataStatement(this):e.visitChildren(this)}}class Ma extends K{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_INFILE(){return this.getToken(t.KW_INFILE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(e){return e===void 0?this.getTokens(t.KW_SET):this.getToken(t.KW_SET,e)}KW_ROWS(e){return e===void 0?this.getTokens(t.KW_ROWS):this.getToken(t.KW_ROWS,e)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_IGNORE(e){return e===void 0?this.getTokens(t.KW_IGNORE):this.getToken(t.KW_IGNORE,e)}decimalLiteral(){return this.getRuleContext(0,H)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}assignmentField(e){return e===void 0?this.getRuleContexts(z0):this.getRuleContext(e,z0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}charsetName(){return this.getRuleContext(0,Bt)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_CONCURRENT(){return this.getToken(t.KW_CONCURRENT,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_LINES(){return this.getToken(t.KW_LINES,0)}LESS_SYMBOL(){return this.getToken(t.LESS_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(t.GREATER_SYMBOL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_loadXmlStatement}enterRule(e){e.enterLoadXmlStatement&&e.enterLoadXmlStatement(this)}exitRule(e){e.exitLoadXmlStatement&&e.exitLoadXmlStatement(this)}accept(e){return e.visitLoadXmlStatement?e.visitLoadXmlStatement(this):e.visitChildren(this)}}class Pa extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}parenthesizedQueryExpression(){return this.getRuleContext(0,tc)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}orderByClause(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}limitClause(e){return e===void 0?this.getRuleContexts(Ie):this.getRuleContext(e,Ie)}intoClause(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_parenthesizedQuery}enterRule(e){e.enterParenthesizedQuery&&e.enterParenthesizedQuery(this)}exitRule(e){e.exitParenthesizedQuery&&e.exitParenthesizedQuery(this)}accept(e){return e.visitParenthesizedQuery?e.visitParenthesizedQuery(this):e.visitChildren(this)}}class h2 extends K{constructor(e,i){super(e,i)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}tableName(){return this.getRuleContext(0,X)}replaceStatementValuesOrSelectOrTable(){return this.getRuleContext(0,ec)}setAssignmentList(){return this.getRuleContext(0,o2)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_DELAYED(){return this.getToken(t.KW_DELAYED,0)}columnNames(){return this.getRuleContext(0,ce)}get ruleIndex(){return t.RULE_replaceStatement}enterRule(e){e.enterReplaceStatement&&e.enterReplaceStatement(this)}exitRule(e){e.exitReplaceStatement&&e.exitReplaceStatement(this)}accept(e){return e.visitReplaceStatement?e.visitReplaceStatement(this):e.visitChildren(this)}}class ft extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_selectStatement}copyFrom(e){super.copyFrom(e)}}class p9 extends ft{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}querySpecification(e){return e===void 0?this.getRuleContexts($0):this.getRuleContext(e,$0)}unionStatement(e){return e===void 0?this.getRuleContexts(li):this.getRuleContext(e,li)}KW_UNION(){return this.getToken(t.KW_UNION,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}lateralStatement(e){return e===void 0?this.getRuleContexts(u2):this.getRuleContext(e,u2)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}lockClause(){return this.getRuleContext(0,r2)}intoClause(){return this.getRuleContext(0,Ae)}queryExpression(){return this.getRuleContext(0,K0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}enterRule(e){e.enterUnionAndLateralSelect&&e.enterUnionAndLateralSelect(this)}exitRule(e){e.exitUnionAndLateralSelect&&e.exitUnionAndLateralSelect(this)}accept(e){return e.visitUnionAndLateralSelect?e.visitUnionAndLateralSelect(this):e.visitChildren(this)}}class x9 extends ft{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}queryExpression(e){return e===void 0?this.getRuleContexts(K0):this.getRuleContext(e,K0)}unionStatement(e){return e===void 0?this.getRuleContexts(li):this.getRuleContext(e,li)}KW_UNION(){return this.getToken(t.KW_UNION,0)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}lockClause(){return this.getRuleContext(0,r2)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}enterRule(e){e.enterSelectExpression&&e.enterSelectExpression(this)}exitRule(e){e.exitSelectExpression&&e.exitSelectExpression(this)}accept(e){return e.visitSelectExpression?e.visitSelectExpression(this):e.visitChildren(this)}}class ya extends K{constructor(e,i){super(e,i)}queryExpressionBody(){return this.getRuleContext(0,J0)}withClause(){return this.getRuleContext(0,Zh)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}intoClause(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_setOperations}enterRule(e){e.enterSetOperations&&e.enterSetOperations(this)}exitRule(e){e.exitSetOperations&&e.exitSetOperations(this)}accept(e){return e.visitSetOperations?e.visitSetOperations(this):e.visitChildren(this)}}class J0 extends K{constructor(e,i){super(e,i)}queryItem(){return this.getRuleContext(0,Oi)}queryExpressionBody(){return this.getRuleContext(0,J0)}KW_UNION(){return this.getToken(t.KW_UNION,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}get ruleIndex(){return t.RULE_queryExpressionBody}enterRule(e){e.enterQueryExpressionBody&&e.enterQueryExpressionBody(this)}exitRule(e){e.exitQueryExpressionBody&&e.exitQueryExpressionBody(this)}accept(e){return e.visitQueryExpressionBody?e.visitQueryExpressionBody(this):e.visitChildren(this)}}class Oi extends K{constructor(e,i){super(e,i)}queryPrimary(){return this.getRuleContext(0,qa)}queryItem(){return this.getRuleContext(0,Oi)}KW_INTERSECT(){return this.getToken(t.KW_INTERSECT,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_queryItem}enterRule(e){e.enterQueryItem&&e.enterQueryItem(this)}exitRule(e){e.exitQueryItem&&e.exitQueryItem(this)}accept(e){return e.visitQueryItem?e.visitQueryItem(this):e.visitChildren(this)}}class qa extends K{constructor(e,i){super(e,i)}queryBlock(){return this.getRuleContext(0,U7)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}queryExpressionBody(){return this.getRuleContext(0,J0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}intoClause(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_queryPrimary}enterRule(e){e.enterQueryPrimary&&e.enterQueryPrimary(this)}exitRule(e){e.exitQueryPrimary&&e.exitQueryPrimary(this)}accept(e){return e.visitQueryPrimary?e.visitQueryPrimary(this):e.visitChildren(this)}}class a2 extends K{constructor(e,i){super(e,i)}singleUpdateStatement(){return this.getRuleContext(0,rc)}multipleUpdateStatement(){return this.getRuleContext(0,Ec)}get ruleIndex(){return t.RULE_updateStatement}enterRule(e){e.enterUpdateStatement&&e.enterUpdateStatement(this)}exitRule(e){e.exitUpdateStatement&&e.exitUpdateStatement(this)}accept(e){return e.visitUpdateStatement?e.visitUpdateStatement(this):e.visitChildren(this)}}class c2 extends K{constructor(e,i){super(e,i)}rowValuesList(){return this.getRuleContext(0,D7)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}indexColumnName(){return this.getRuleContext(0,Y7)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,P0)}get ruleIndex(){return t.RULE_valuesStatement}enterRule(e){e.enterValuesStatement&&e.enterValuesStatement(this)}exitRule(e){e.exitValuesStatement&&e.exitValuesStatement(this)}accept(e){return e.visitValuesStatement?e.visitValuesStatement(this):e.visitChildren(this)}}class tc extends K{constructor(e,i){super(e,i)}queryBlock(e){return e===void 0?this.getRuleContexts(U7):this.getRuleContext(e,U7)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}intoClause(){return this.getRuleContext(0,Ae)}KW_UNION(e){return e===void 0?this.getTokens(t.KW_UNION):this.getToken(t.KW_UNION,e)}KW_INTERSECT(e){return e===void 0?this.getTokens(t.KW_INTERSECT):this.getToken(t.KW_INTERSECT,e)}KW_EXCEPT(e){return e===void 0?this.getTokens(t.KW_EXCEPT):this.getToken(t.KW_EXCEPT,e)}get ruleIndex(){return t.RULE_parenthesizedQueryExpression}enterRule(e){e.enterParenthesizedQueryExpression&&e.enterParenthesizedQueryExpression(this)}exitRule(e){e.exitParenthesizedQueryExpression&&e.exitParenthesizedQueryExpression(this)}accept(e){return e.visitParenthesizedQueryExpression?e.visitParenthesizedQueryExpression(this):e.visitChildren(this)}}class U7 extends K{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}tableStatement(){return this.getRuleContext(0,v2)}valuesStatement(){return this.getRuleContext(0,c2)}get ruleIndex(){return t.RULE_queryBlock}enterRule(e){e.enterQueryBlock&&e.enterQueryBlock(this)}exitRule(e){e.exitQueryBlock&&e.exitQueryBlock(this)}accept(e){return e.visitQueryBlock?e.visitQueryBlock(this):e.visitChildren(this)}}class ec extends K{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}valuesOrValueList(){return this.getRuleContext(0,M2)}rowValuesList(){return this.getRuleContext(0,D7)}get ruleIndex(){return t.RULE_replaceStatementValuesOrSelectOrTable}enterRule(e){e.enterReplaceStatementValuesOrSelectOrTable&&e.enterReplaceStatementValuesOrSelectOrTable(this)}exitRule(e){e.exitReplaceStatementValuesOrSelectOrTable&&e.exitReplaceStatementValuesOrSelectOrTable(this)}accept(e){return e.visitReplaceStatementValuesOrSelectOrTable?e.visitReplaceStatementValuesOrSelectOrTable(this):e.visitChildren(this)}}class D7 extends K{constructor(e,i){super(e,i)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_ROW(e){return e===void 0?this.getTokens(t.KW_ROW):this.getToken(t.KW_ROW,e)}expressionsWithDefaults(e){return e===void 0?this.getRuleContexts(Vi):this.getRuleContext(e,Vi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_rowValuesList}enterRule(e){e.enterRowValuesList&&e.enterRowValuesList(this)}exitRule(e){e.exitRowValuesList&&e.exitRowValuesList(this)}accept(e){return e.visitRowValuesList?e.visitRowValuesList(this):e.visitChildren(this)}}class o2 extends K{constructor(e,i){super(e,i),this._setElements=[]}KW_SET(){return this.getToken(t.KW_SET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_setAssignmentList}enterRule(e){e.enterSetAssignmentList&&e.enterSetAssignmentList(this)}exitRule(e){e.exitSetAssignmentList&&e.exitSetAssignmentList(this)}accept(e){return e.visitSetAssignmentList?e.visitSetAssignmentList(this):e.visitChildren(this)}}class yt extends K{constructor(e,i){super(e,i)}columnName(){return this.getRuleContext(0,At)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}expressionOrDefault(){return this.getRuleContext(0,J7)}get ruleIndex(){return t.RULE_updatedElement}enterRule(e){e.enterUpdatedElement&&e.enterUpdatedElement(this)}exitRule(e){e.exitUpdatedElement&&e.exitUpdatedElement(this)}accept(e){return e.visitUpdatedElement?e.visitUpdatedElement(this):e.visitChildren(this)}}class z0 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}get ruleIndex(){return t.RULE_assignmentField}enterRule(e){e.enterAssignmentField&&e.enterAssignmentField(this)}exitRule(e){e.exitAssignmentField&&e.exitAssignmentField(this)}accept(e){return e.visitAssignmentField?e.visitAssignmentField(this):e.visitChildren(this)}}class r2 extends K{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_OF(){return this.getToken(t.KW_OF,0)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}KW_LOCKED(){return this.getToken(t.KW_LOCKED,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}get ruleIndex(){return t.RULE_lockClause}enterRule(e){e.enterLockClause&&e.enterLockClause(this)}exitRule(e){e.exitLockClause&&e.exitLockClause(this)}accept(e){return e.visitLockClause?e.visitLockClause(this):e.visitChildren(this)}}class ic extends K{constructor(e,i){super(e,i)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}tableName(){return this.getRuleContext(0,X)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}orderByClause(){return this.getRuleContext(0,qt)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,P0)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_singleDeleteStatement}enterRule(e){e.enterSingleDeleteStatement&&e.enterSingleDeleteStatement(this)}exitRule(e){e.exitSingleDeleteStatement&&e.exitSingleDeleteStatement(this)}accept(e){return e.visitSingleDeleteStatement?e.visitSingleDeleteStatement(this):e.visitChildren(this)}}class sc extends K{constructor(e,i){super(e,i)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}KW_FROM(){return this.getToken(t.KW_FROM,0)}tableSources(){return this.getRuleContext(0,Ni)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}STAR(e){return e===void 0?this.getTokens(t.STAR):this.getToken(t.STAR,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_multipleDeleteStatement}enterRule(e){e.enterMultipleDeleteStatement&&e.enterMultipleDeleteStatement(this)}exitRule(e){e.exitMultipleDeleteStatement&&e.exitMultipleDeleteStatement(this)}accept(e){return e.visitMultipleDeleteStatement?e.visitMultipleDeleteStatement(this):e.visitChildren(this)}}class nc extends K{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_handlerOpenStatement}enterRule(e){e.enterHandlerOpenStatement&&e.enterHandlerOpenStatement(this)}exitRule(e){e.exitHandlerOpenStatement&&e.exitHandlerOpenStatement(this)}accept(e){return e.visitHandlerOpenStatement?e.visitHandlerOpenStatement(this):e.visitChildren(this)}}class hc extends K{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_READ(){return this.getToken(t.KW_READ,0)}indexName(){return this.getRuleContext(0,te)}comparisonBase(){return this.getRuleContext(0,n5)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}constants(){return this.getRuleContext(0,P2)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,P0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_PREV(){return this.getToken(t.KW_PREV,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}get ruleIndex(){return t.RULE_handlerReadIndexStatement}enterRule(e){e.enterHandlerReadIndexStatement&&e.enterHandlerReadIndexStatement(this)}exitRule(e){e.exitHandlerReadIndexStatement&&e.exitHandlerReadIndexStatement(this)}accept(e){return e.visitHandlerReadIndexStatement?e.visitHandlerReadIndexStatement(this):e.visitChildren(this)}}class ac extends K{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,P0)}get ruleIndex(){return t.RULE_handlerReadStatement}enterRule(e){e.enterHandlerReadStatement&&e.enterHandlerReadStatement(this)}exitRule(e){e.exitHandlerReadStatement&&e.exitHandlerReadStatement(this)}accept(e){return e.visitHandlerReadStatement?e.visitHandlerReadStatement(this):e.visitChildren(this)}}class cc extends K{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}get ruleIndex(){return t.RULE_handlerCloseStatement}enterRule(e){e.enterHandlerCloseStatement&&e.enterHandlerCloseStatement(this)}exitRule(e){e.exitHandlerCloseStatement&&e.exitHandlerCloseStatement(this)}accept(e){return e.visitHandlerCloseStatement?e.visitHandlerCloseStatement(this):e.visitChildren(this)}}class oc extends K{constructor(e,i){super(e,i)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}stringLiteral(e){return e===void 0?this.getRuleContexts(Ft):this.getRuleContext(e,Ft)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_importTableStatement}enterRule(e){e.enterImportTableStatement&&e.enterImportTableStatement(this)}exitRule(e){e.exitImportTableStatement&&e.exitImportTableStatement(this)}accept(e){return e.visitImportTableStatement?e.visitImportTableStatement(this):e.visitChildren(this)}}class rc extends K{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}tableName(){return this.getRuleContext(0,X)}KW_SET(){return this.getToken(t.KW_SET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_singleUpdateStatement}enterRule(e){e.enterSingleUpdateStatement&&e.enterSingleUpdateStatement(this)}exitRule(e){e.exitSingleUpdateStatement&&e.exitSingleUpdateStatement(this)}accept(e){return e.visitSingleUpdateStatement?e.visitSingleUpdateStatement(this):e.visitChildren(this)}}class Ec extends K{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}tableSources(){return this.getRuleContext(0,Ni)}KW_SET(){return this.getToken(t.KW_SET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}get ruleIndex(){return t.RULE_multipleUpdateStatement}enterRule(e){e.enterMultipleUpdateStatement&&e.enterMultipleUpdateStatement(this)}exitRule(e){e.exitMultipleUpdateStatement&&e.exitMultipleUpdateStatement(this)}accept(e){return e.visitMultipleUpdateStatement?e.visitMultipleUpdateStatement(this):e.visitChildren(this)}}class qt extends K{constructor(e,i){super(e,i)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}orderByExpression(e){return e===void 0?this.getRuleContexts(Ci):this.getRuleContext(e,Ci)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_orderByClause}enterRule(e){e.enterOrderByClause&&e.enterOrderByClause(this)}exitRule(e){e.exitOrderByClause&&e.exitOrderByClause(this)}accept(e){return e.visitOrderByClause?e.visitOrderByClause(this):e.visitChildren(this)}}class Ci extends K{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,U)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_orderByExpression}enterRule(e){e.enterOrderByExpression&&e.enterOrderByExpression(this)}exitRule(e){e.exitOrderByExpression&&e.exitOrderByExpression(this)}accept(e){return e.visitOrderByExpression?e.visitOrderByExpression(this):e.visitChildren(this)}}class Ni extends K{constructor(e,i){super(e,i)}tableSource(e){return e===void 0?this.getRuleContexts(x1):this.getRuleContext(e,x1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tableSources}enterRule(e){e.enterTableSources&&e.enterTableSources(this)}exitRule(e){e.exitTableSources&&e.exitTableSources(this)}accept(e){return e.visitTableSources?e.visitTableSources(this):e.visitChildren(this)}}class x1 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tableSource}copyFrom(e){super.copyFrom(e)}}class f9 extends x1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}jsonTable(){return this.getRuleContext(0,Kc)}enterRule(e){e.enterTableJson&&e.enterTableJson(this)}exitRule(e){e.exitTableJson&&e.exitTableJson(this)}accept(e){return e.visitTableJson?e.visitTableJson(this):e.visitChildren(this)}}class g9 extends x1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableSourceItem(){return this.getRuleContext(0,He)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}joinPart(e){return e===void 0?this.getRuleContexts(Qe):this.getRuleContext(e,Qe)}enterRule(e){e.enterTableSourceNested&&e.enterTableSourceNested(this)}exitRule(e){e.exitTableSourceNested&&e.exitTableSourceNested(this)}accept(e){return e.visitTableSourceNested?e.visitTableSourceNested(this):e.visitChildren(this)}}class U9 extends x1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}tableSourceItem(){return this.getRuleContext(0,He)}joinPart(e){return e===void 0?this.getRuleContexts(Qe):this.getRuleContext(e,Qe)}enterRule(e){e.enterTableSourceBase&&e.enterTableSourceBase(this)}exitRule(e){e.exitTableSourceBase&&e.exitTableSourceBase(this)}accept(e){return e.visitTableSourceBase?e.visitTableSourceBase(this):e.visitChildren(this)}}class He extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tableSourceItem}copyFrom(e){super.copyFrom(e)}}class D9 extends He{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,l)}selectStatement(){return this.getRuleContext(0,ft)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}KW_AS(){return this.getToken(t.KW_AS,0)}fullColumnNames(){return this.getRuleContext(0,k7)}enterRule(e){e.enterSubqueryTableItem&&e.enterSubqueryTableItem(this)}exitRule(e){e.exitSubqueryTableItem&&e.exitSubqueryTableItem(this)}accept(e){return e.visitSubqueryTableItem?e.visitSubqueryTableItem(this):e.visitChildren(this)}}class k9 extends He{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}tableName(){return this.getRuleContext(0,X)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}indexHint(e){return e===void 0?this.getRuleContexts(E2):this.getRuleContext(e,E2)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAtomTableItem&&e.enterAtomTableItem(this)}exitRule(e){e.exitAtomTableItem&&e.exitAtomTableItem(this)}accept(e){return e.visitAtomTableItem?e.visitAtomTableItem(this):e.visitChildren(this)}}class S9 extends He{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableSources(){return this.getRuleContext(0,Ni)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterTableSourcesItem&&e.enterTableSourcesItem(this)}exitRule(e){e.exitTableSourcesItem&&e.exitTableSourcesItem(this)}accept(e){return e.visitTableSourcesItem?e.visitTableSourcesItem(this):e.visitChildren(this)}}class k7 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,ce)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_fullColumnNames}enterRule(e){e.enterFullColumnNames&&e.enterFullColumnNames(this)}exitRule(e){e.exitFullColumnNames&&e.exitFullColumnNames(this)}accept(e){return e.visitFullColumnNames?e.visitFullColumnNames(this):e.visitChildren(this)}}class E2 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_USE(){return this.getToken(t.KW_USE,0)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}indexHintType(){return this.getRuleContext(0,uc)}indexNames(){return this.getRuleContext(0,b7)}get ruleIndex(){return t.RULE_indexHint}enterRule(e){e.enterIndexHint&&e.enterIndexHint(this)}exitRule(e){e.exitIndexHint&&e.exitIndexHint(this)}accept(e){return e.visitIndexHint?e.visitIndexHint(this):e.visitChildren(this)}}class uc extends K{constructor(e,i){super(e,i)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}get ruleIndex(){return t.RULE_indexHintType}enterRule(e){e.enterIndexHintType&&e.enterIndexHintType(this)}exitRule(e){e.exitIndexHintType&&e.exitIndexHintType(this)}accept(e){return e.visitIndexHintType?e.visitIndexHintType(this):e.visitChildren(this)}}class Qe extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_joinPart}copyFrom(e){super.copyFrom(e)}}class H9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}joinSpec(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_CROSS(){return this.getToken(t.KW_CROSS,0)}enterRule(e){e.enterInnerJoin&&e.enterInnerJoin(this)}exitRule(e){e.exitInnerJoin&&e.exitInnerJoin(this)}accept(e){return e.visitInnerJoin?e.visitInnerJoin(this):e.visitChildren(this)}}class B9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NATURAL(){return this.getToken(t.KW_NATURAL,0)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}enterRule(e){e.enterNaturalJoin&&e.enterNaturalJoin(this)}exitRule(e){e.exitNaturalJoin&&e.exitNaturalJoin(this)}accept(e){return e.visitNaturalJoin?e.visitNaturalJoin(this):e.visitChildren(this)}}class F9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}joinSpec(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}enterRule(e){e.enterOuterJoin&&e.enterOuterJoin(this)}exitRule(e){e.exitOuterJoin&&e.exitOuterJoin(this)}accept(e){return e.visitOuterJoin?e.visitOuterJoin(this):e.visitChildren(this)}}class G9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STRAIGHT_JOIN(){return this.getToken(t.KW_STRAIGHT_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}joinSpec(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}enterRule(e){e.enterStraightJoin&&e.enterStraightJoin(this)}exitRule(e){e.exitStraightJoin&&e.exitStraightJoin(this)}accept(e){return e.visitStraightJoin?e.visitStraightJoin(this):e.visitChildren(this)}}class j0 extends K{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}expression(){return this.getRuleContext(0,U)}KW_USING(){return this.getToken(t.KW_USING,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,ce)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_joinSpec}enterRule(e){e.enterJoinSpec&&e.enterJoinSpec(this)}exitRule(e){e.exitJoinSpec&&e.exitJoinSpec(this)}accept(e){return e.visitJoinSpec?e.visitJoinSpec(this):e.visitChildren(this)}}class K0 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}querySpecification(){return this.getRuleContext(0,$0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}queryExpression(){return this.getRuleContext(0,K0)}get ruleIndex(){return t.RULE_queryExpression}enterRule(e){e.enterQueryExpression&&e.enterQueryExpression(this)}exitRule(e){e.exitQueryExpression&&e.exitQueryExpression(this)}accept(e){return e.visitQueryExpression?e.visitQueryExpression(this):e.visitChildren(this)}}class $0 extends K{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}selectElements(){return this.getRuleContext(0,Wc)}fromClause(){return this.getRuleContext(0,Rc)}selectSpec(e){return e===void 0?this.getRuleContexts(_2):this.getRuleContext(e,_2)}intoClause(e){return e===void 0?this.getRuleContexts(Ae):this.getRuleContext(e,Ae)}groupByClause(){return this.getRuleContext(0,Tc)}havingClause(){return this.getRuleContext(0,_c)}windowClause(){return this.getRuleContext(0,Ac)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}get ruleIndex(){return t.RULE_querySpecification}enterRule(e){e.enterQuerySpecification&&e.enterQuerySpecification(this)}exitRule(e){e.exitQuerySpecification&&e.exitQuerySpecification(this)}accept(e){return e.visitQuerySpecification?e.visitQuerySpecification(this):e.visitChildren(this)}}class li extends K{constructor(e,i){super(e,i)}KW_UNION(){return this.getToken(t.KW_UNION,0)}querySpecification(){return this.getRuleContext(0,$0)}queryExpression(){return this.getRuleContext(0,K0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_unionStatement}enterRule(e){e.enterUnionStatement&&e.enterUnionStatement(this)}exitRule(e){e.exitUnionStatement&&e.exitUnionStatement(this)}accept(e){return e.visitUnionStatement?e.visitUnionStatement(this):e.visitChildren(this)}}class u2 extends K{constructor(e,i){super(e,i)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}querySpecification(){return this.getRuleContext(0,$0)}queryExpression(){return this.getRuleContext(0,K0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_lateralStatement}enterRule(e){e.enterLateralStatement&&e.enterLateralStatement(this)}exitRule(e){e.exitLateralStatement&&e.exitLateralStatement(this)}accept(e){return e.visitLateralStatement?e.visitLateralStatement(this):e.visitChildren(this)}}class Kc extends K{constructor(e,i){super(e,i)}KW_JSON_TABLE(){return this.getToken(t.KW_JSON_TABLE,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}COMMA(){return this.getToken(t.COMMA,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}jsonColumnList(){return this.getRuleContext(0,K2)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_jsonTable}enterRule(e){e.enterJsonTable&&e.enterJsonTable(this)}exitRule(e){e.exitJsonTable&&e.exitJsonTable(this)}accept(e){return e.visitJsonTable?e.visitJsonTable(this):e.visitChildren(this)}}class K2 extends K{constructor(e,i){super(e,i)}jsonColumn(e){return e===void 0?this.getRuleContexts(W2):this.getRuleContext(e,W2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_jsonColumnList}enterRule(e){e.enterJsonColumnList&&e.enterJsonColumnList(this)}exitRule(e){e.exitJsonColumnList&&e.exitJsonColumnList(this)}accept(e){return e.visitJsonColumnList?e.visitJsonColumnList(this):e.visitChildren(this)}}class W2 extends K{constructor(e,i){super(e,i)}columnName(){return this.getRuleContext(0,At)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}dataType(){return this.getRuleContext(0,jt)}KW_PATH(){return this.getToken(t.KW_PATH,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}jsonOnEmpty(){return this.getRuleContext(0,R2)}jsonOnError(){return this.getRuleContext(0,T2)}KW_NESTED(){return this.getToken(t.KW_NESTED,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}jsonColumnList(){return this.getRuleContext(0,K2)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_jsonColumn}enterRule(e){e.enterJsonColumn&&e.enterJsonColumn(this)}exitRule(e){e.exitJsonColumn&&e.exitJsonColumn(this)}accept(e){return e.visitJsonColumn?e.visitJsonColumn(this):e.visitChildren(this)}}class R2 extends K{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_EMPTY(){return this.getToken(t.KW_EMPTY,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Xi)}get ruleIndex(){return t.RULE_jsonOnEmpty}enterRule(e){e.enterJsonOnEmpty&&e.enterJsonOnEmpty(this)}exitRule(e){e.exitJsonOnEmpty&&e.exitJsonOnEmpty(this)}accept(e){return e.visitJsonOnEmpty?e.visitJsonOnEmpty(this):e.visitChildren(this)}}class T2 extends K{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_ERROR(e){return e===void 0?this.getTokens(t.KW_ERROR):this.getToken(t.KW_ERROR,e)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Xi)}get ruleIndex(){return t.RULE_jsonOnError}enterRule(e){e.enterJsonOnError&&e.enterJsonOnError(this)}exitRule(e){e.exitJsonOnError&&e.exitJsonOnError(this)}accept(e){return e.visitJsonOnError?e.visitJsonOnError(this):e.visitChildren(this)}}class _2 extends K{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_DISTINCTROW(){return this.getToken(t.KW_DISTINCTROW,0)}KW_HIGH_PRIORITY(){return this.getToken(t.KW_HIGH_PRIORITY,0)}KW_STRAIGHT_JOIN(){return this.getToken(t.KW_STRAIGHT_JOIN,0)}KW_SQL_SMALL_RESULT(){return this.getToken(t.KW_SQL_SMALL_RESULT,0)}KW_SQL_BIG_RESULT(){return this.getToken(t.KW_SQL_BIG_RESULT,0)}KW_SQL_BUFFER_RESULT(){return this.getToken(t.KW_SQL_BUFFER_RESULT,0)}KW_SQL_CACHE(){return this.getToken(t.KW_SQL_CACHE,0)}KW_SQL_NO_CACHE(){return this.getToken(t.KW_SQL_NO_CACHE,0)}KW_SQL_CALC_FOUND_ROWS(){return this.getToken(t.KW_SQL_CALC_FOUND_ROWS,0)}get ruleIndex(){return t.RULE_selectSpec}enterRule(e){e.enterSelectSpec&&e.enterSelectSpec(this)}exitRule(e){e.exitSelectSpec&&e.exitSelectSpec(this)}accept(e){return e.visitSelectSpec?e.visitSelectSpec(this):e.visitChildren(this)}}class Wc extends K{constructor(e,i){super(e,i)}selectElement(e){return e===void 0?this.getRuleContexts(M0):this.getRuleContext(e,M0)}STAR(){return this.getToken(t.STAR,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_selectElements}enterRule(e){e.enterSelectElements&&e.enterSelectElements(this)}exitRule(e){e.exitSelectElements&&e.exitSelectElements(this)}accept(e){return e.visitSelectElements?e.visitSelectElements(this):e.visitChildren(this)}}class M0 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_selectElement}copyFrom(e){super.copyFrom(e)}}class b9 extends M0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expression(){return this.getRuleContext(0,U)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}VAR_ASSIGN(){return this.getToken(t.VAR_ASSIGN,0)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterSelectExpressionElement&&e.enterSelectExpressionElement(this)}exitRule(e){e.exitSelectExpressionElement&&e.exitSelectExpressionElement(this)}accept(e){return e.visitSelectExpressionElement?e.visitSelectExpressionElement(this):e.visitChildren(this)}}class w9 extends M0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}functionCall(){return this.getRuleContext(0,Ge)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterSelectFunctionElement&&e.enterSelectFunctionElement(this)}exitRule(e){e.exitSelectFunctionElement&&e.exitSelectFunctionElement(this)}accept(e){return e.visitSelectFunctionElement?e.visitSelectFunctionElement(this):e.visitChildren(this)}}class v9 extends M0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}DOT(){return this.getToken(t.DOT,0)}STAR(){return this.getToken(t.STAR,0)}fullId(){return this.getRuleContext(0,ht)}enterRule(e){e.enterSelectStarElement&&e.enterSelectStarElement(this)}exitRule(e){e.exitSelectStarElement&&e.exitSelectStarElement(this)}accept(e){return e.visitSelectStarElement?e.visitSelectStarElement(this):e.visitChildren(this)}}class Y9 extends M0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}columnName(){return this.getRuleContext(0,At)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterSelectColumnElement&&e.enterSelectColumnElement(this)}exitRule(e){e.exitSelectColumnElement&&e.exitSelectColumnElement(this)}accept(e){return e.visitSelectColumnElement?e.visitSelectColumnElement(this):e.visitChildren(this)}}class Ae extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_intoClause}copyFrom(e){super.copyFrom(e)}}class V9 extends Ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTO(){return this.getToken(t.KW_INTO,0)}assignmentField(e){return e===void 0?this.getRuleContexts(z0):this.getRuleContext(e,z0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSelectIntoVariables&&e.enterSelectIntoVariables(this)}exitRule(e){e.exitSelectIntoVariables&&e.exitSelectIntoVariables(this)}accept(e){return e.visitSelectIntoVariables?e.visitSelectIntoVariables(this):e.visitChildren(this)}}class X9 extends Ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_OUTFILE(){return this.getToken(t.KW_OUTFILE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_LINES(){return this.getToken(t.KW_LINES,0)}charsetName(){return this.getRuleContext(0,Bt)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}selectFieldsInto(e){return e===void 0?this.getRuleContexts(di):this.getRuleContext(e,di)}selectLinesInto(e){return e===void 0?this.getRuleContexts(mi):this.getRuleContext(e,mi)}enterRule(e){e.enterSelectIntoTextFile&&e.enterSelectIntoTextFile(this)}exitRule(e){e.exitSelectIntoTextFile&&e.exitSelectIntoTextFile(this)}accept(e){return e.visitSelectIntoTextFile?e.visitSelectIntoTextFile(this):e.visitChildren(this)}}class Q9 extends Ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_DUMPFILE(){return this.getToken(t.KW_DUMPFILE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterSelectIntoDumpFile&&e.enterSelectIntoDumpFile(this)}exitRule(e){e.exitSelectIntoDumpFile&&e.exitSelectIntoDumpFile(this)}accept(e){return e.visitSelectIntoDumpFile?e.visitSelectIntoDumpFile(this):e.visitChildren(this)}}class di extends K{constructor(e,i){super(e,i)}KW_TERMINATED(){return this.getToken(t.KW_TERMINATED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_ENCLOSED(){return this.getToken(t.KW_ENCLOSED,0)}KW_OPTIONALLY(){return this.getToken(t.KW_OPTIONALLY,0)}KW_ESCAPED(){return this.getToken(t.KW_ESCAPED,0)}get ruleIndex(){return t.RULE_selectFieldsInto}enterRule(e){e.enterSelectFieldsInto&&e.enterSelectFieldsInto(this)}exitRule(e){e.exitSelectFieldsInto&&e.exitSelectFieldsInto(this)}accept(e){return e.visitSelectFieldsInto?e.visitSelectFieldsInto(this):e.visitChildren(this)}}class mi extends K{constructor(e,i){super(e,i)}KW_STARTING(){return this.getToken(t.KW_STARTING,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_TERMINATED(){return this.getToken(t.KW_TERMINATED,0)}get ruleIndex(){return t.RULE_selectLinesInto}enterRule(e){e.enterSelectLinesInto&&e.enterSelectLinesInto(this)}exitRule(e){e.exitSelectLinesInto&&e.exitSelectLinesInto(this)}accept(e){return e.visitSelectLinesInto?e.visitSelectLinesInto(this):e.visitChildren(this)}}class Rc extends K{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}tableSources(){return this.getRuleContext(0,Ni)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_fromClause}enterRule(e){e.enterFromClause&&e.enterFromClause(this)}exitRule(e){e.exitFromClause&&e.exitFromClause(this)}accept(e){return e.visitFromClause?e.visitFromClause(this):e.visitChildren(this)}}class Tc extends K{constructor(e,i){super(e,i)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_BY(){return this.getToken(t.KW_BY,0)}groupByItem(e){return e===void 0?this.getRuleContexts(A2):this.getRuleContext(e,A2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}get ruleIndex(){return t.RULE_groupByClause}enterRule(e){e.enterGroupByClause&&e.enterGroupByClause(this)}exitRule(e){e.exitGroupByClause&&e.exitGroupByClause(this)}accept(e){return e.visitGroupByClause?e.visitGroupByClause(this):e.visitChildren(this)}}class _c extends K{constructor(e,i){super(e,i)}KW_HAVING(){return this.getToken(t.KW_HAVING,0)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_havingClause}enterRule(e){e.enterHavingClause&&e.enterHavingClause(this)}exitRule(e){e.exitHavingClause&&e.exitHavingClause(this)}accept(e){return e.visitHavingClause?e.visitHavingClause(this):e.visitChildren(this)}}class Ac extends K{constructor(e,i){super(e,i)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}windowName(e){return e===void 0?this.getRuleContexts(Zi):this.getRuleContext(e,Zi)}KW_AS(e){return e===void 0?this.getTokens(t.KW_AS):this.getToken(t.KW_AS,e)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}windowSpec(e){return e===void 0?this.getRuleContexts($7):this.getRuleContext(e,$7)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_windowClause}enterRule(e){e.enterWindowClause&&e.enterWindowClause(this)}exitRule(e){e.exitWindowClause&&e.exitWindowClause(this)}accept(e){return e.visitWindowClause?e.visitWindowClause(this):e.visitChildren(this)}}class A2 extends K{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,U)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_groupByItem}enterRule(e){e.enterGroupByItem&&e.enterGroupByItem(this)}exitRule(e){e.exitGroupByItem&&e.exitGroupByItem(this)}accept(e){return e.visitGroupByItem?e.visitGroupByItem(this):e.visitChildren(this)}}class Ie extends K{constructor(e,i){super(e,i)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}limitClauseAtom(e){return e===void 0?this.getRuleContexts(P0):this.getRuleContext(e,P0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_limitClause}enterRule(e){e.enterLimitClause&&e.enterLimitClause(this)}exitRule(e){e.exitLimitClause&&e.exitLimitClause(this)}accept(e){return e.visitLimitClause?e.visitLimitClause(this):e.visitChildren(this)}}class P0 extends K{constructor(e,i){super(e,i)}decimalLiteral(){return this.getRuleContext(0,H)}mysqlVariable(){return this.getRuleContext(0,V7)}simpleId(){return this.getRuleContext(0,X7)}get ruleIndex(){return t.RULE_limitClauseAtom}enterRule(e){e.enterLimitClauseAtom&&e.enterLimitClauseAtom(this)}exitRule(e){e.exitLimitClauseAtom&&e.exitLimitClauseAtom(this)}accept(e){return e.visitLimitClauseAtom?e.visitLimitClauseAtom(this):e.visitChildren(this)}}class Ic extends K{constructor(e,i){super(e,i)}KW_START(){return this.getToken(t.KW_START,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}transactionMode(e){return e===void 0?this.getRuleContexts(I2):this.getRuleContext(e,I2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_startTransaction}enterRule(e){e.enterStartTransaction&&e.enterStartTransaction(this)}exitRule(e){e.exitStartTransaction&&e.exitStartTransaction(this)}accept(e){return e.visitStartTransaction?e.visitStartTransaction(this):e.visitChildren(this)}}class Lc extends K{constructor(e,i){super(e,i)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}get ruleIndex(){return t.RULE_beginWork}enterRule(e){e.enterBeginWork&&e.enterBeginWork(this)}exitRule(e){e.exitBeginWork&&e.exitBeginWork(this)}accept(e){return e.visitBeginWork?e.visitBeginWork(this):e.visitChildren(this)}}class Oc extends K{constructor(e,i){super(e,i)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}get ruleIndex(){return t.RULE_commitWork}enterRule(e){e.enterCommitWork&&e.enterCommitWork(this)}exitRule(e){e.exitCommitWork&&e.exitCommitWork(this)}accept(e){return e.visitCommitWork?e.visitCommitWork(this):e.visitChildren(this)}}class Cc extends K{constructor(e,i){super(e,i)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}get ruleIndex(){return t.RULE_rollbackWork}enterRule(e){e.enterRollbackWork&&e.enterRollbackWork(this)}exitRule(e){e.exitRollbackWork&&e.exitRollbackWork(this)}accept(e){return e.visitRollbackWork?e.visitRollbackWork(this):e.visitChildren(this)}}class Nc extends K{constructor(e,i){super(e,i)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_savepointStatement}enterRule(e){e.enterSavepointStatement&&e.enterSavepointStatement(this)}exitRule(e){e.exitSavepointStatement&&e.exitSavepointStatement(this)}accept(e){return e.visitSavepointStatement?e.visitSavepointStatement(this):e.visitChildren(this)}}class lc extends K{constructor(e,i){super(e,i)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_TO(){return this.getToken(t.KW_TO,0)}uid(){return this.getRuleContext(0,l)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}get ruleIndex(){return t.RULE_rollbackStatement}enterRule(e){e.enterRollbackStatement&&e.enterRollbackStatement(this)}exitRule(e){e.exitRollbackStatement&&e.exitRollbackStatement(this)}accept(e){return e.visitRollbackStatement?e.visitRollbackStatement(this):e.visitChildren(this)}}class dc extends K{constructor(e,i){super(e,i)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_releaseStatement}enterRule(e){e.enterReleaseStatement&&e.enterReleaseStatement(this)}exitRule(e){e.exitReleaseStatement&&e.exitReleaseStatement(this)}accept(e){return e.visitReleaseStatement?e.visitReleaseStatement(this):e.visitChildren(this)}}class mc extends K{constructor(e,i){super(e,i)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}lockTableElement(e){return e===void 0?this.getRuleContexts(L2):this.getRuleContext(e,L2)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_lockTables}enterRule(e){e.enterLockTables&&e.enterLockTables(this)}exitRule(e){e.exitLockTables&&e.exitLockTables(this)}accept(e){return e.visitLockTables?e.visitLockTables(this):e.visitChildren(this)}}class pc extends K{constructor(e,i){super(e,i)}KW_UNLOCK(){return this.getToken(t.KW_UNLOCK,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}get ruleIndex(){return t.RULE_unlockTables}enterRule(e){e.enterUnlockTables&&e.enterUnlockTables(this)}exitRule(e){e.exitUnlockTables&&e.exitUnlockTables(this)}accept(e){return e.visitUnlockTables?e.visitUnlockTables(this):e.visitChildren(this)}}class xc extends K{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_AUTOCOMMIT(){return this.getToken(t.KW_AUTOCOMMIT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}get ruleIndex(){return t.RULE_setAutocommitStatement}enterRule(e){e.enterSetAutocommitStatement&&e.enterSetAutocommitStatement(this)}exitRule(e){e.exitSetAutocommitStatement&&e.exitSetAutocommitStatement(this)}accept(e){return e.visitSetAutocommitStatement?e.visitSetAutocommitStatement(this):e.visitChildren(this)}}class fc extends K{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}transactionOption(e){return e===void 0?this.getRuleContexts(O2):this.getRuleContext(e,O2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}get ruleIndex(){return t.RULE_setTransactionStatement}enterRule(e){e.enterSetTransactionStatement&&e.enterSetTransactionStatement(this)}exitRule(e){e.exitSetTransactionStatement&&e.exitSetTransactionStatement(this)}accept(e){return e.visitSetTransactionStatement?e.visitSetTransactionStatement(this):e.visitChildren(this)}}class I2 extends K{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CONSISTENT(){return this.getToken(t.KW_CONSISTENT,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}get ruleIndex(){return t.RULE_transactionMode}enterRule(e){e.enterTransactionMode&&e.enterTransactionMode(this)}exitRule(e){e.exitTransactionMode&&e.exitTransactionMode(this)}accept(e){return e.visitTransactionMode?e.visitTransactionMode(this):e.visitChildren(this)}}class L2 extends K{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}lockAction(){return this.getRuleContext(0,gc)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_lockTableElement}enterRule(e){e.enterLockTableElement&&e.enterLockTableElement(this)}exitRule(e){e.exitLockTableElement&&e.exitLockTableElement(this)}accept(e){return e.visitLockTableElement?e.visitLockTableElement(this):e.visitChildren(this)}}class gc extends K{constructor(e,i){super(e,i)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}get ruleIndex(){return t.RULE_lockAction}enterRule(e){e.enterLockAction&&e.enterLockAction(this)}exitRule(e){e.exitLockAction&&e.exitLockAction(this)}accept(e){return e.visitLockAction?e.visitLockAction(this):e.visitChildren(this)}}class O2 extends K{constructor(e,i){super(e,i)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}transactionLevel(){return this.getRuleContext(0,Uc)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}get ruleIndex(){return t.RULE_transactionOption}enterRule(e){e.enterTransactionOption&&e.enterTransactionOption(this)}exitRule(e){e.exitTransactionOption&&e.exitTransactionOption(this)}accept(e){return e.visitTransactionOption?e.visitTransactionOption(this):e.visitChildren(this)}}class Uc extends K{constructor(e,i){super(e,i)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}get ruleIndex(){return t.RULE_transactionLevel}enterRule(e){e.enterTransactionLevel&&e.enterTransactionLevel(this)}exitRule(e){e.exitTransactionLevel&&e.exitTransactionLevel(this)}accept(e){return e.visitTransactionLevel?e.visitTransactionLevel(this):e.visitChildren(this)}}class Dc extends K{constructor(e,i){super(e,i)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}masterOption(e){return e===void 0?this.getRuleContexts(W0):this.getRuleContext(e,W0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_changeMaster}enterRule(e){e.enterChangeMaster&&e.enterChangeMaster(this)}exitRule(e){e.exitChangeMaster&&e.exitChangeMaster(this)}accept(e){return e.visitChangeMaster?e.visitChangeMaster(this):e.visitChildren(this)}}class kc extends K{constructor(e,i){super(e,i)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}replicationFilter(e){return e===void 0?this.getRuleContexts(Fe):this.getRuleContext(e,Fe)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_changeReplicationFilter}enterRule(e){e.enterChangeReplicationFilter&&e.enterChangeReplicationFilter(this)}exitRule(e){e.exitChangeReplicationFilter&&e.exitChangeReplicationFilter(this)}accept(e){return e.visitChangeReplicationFilter?e.visitChangeReplicationFilter(this):e.visitChildren(this)}}class Sc extends K{constructor(e,i){super(e,i)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_SOURCE(){return this.getToken(t.KW_SOURCE,0)}KW_TO(){return this.getToken(t.KW_TO,0)}replicationSourceOption(e){return e===void 0?this.getRuleContexts(R0):this.getRuleContext(e,R0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_changeReplicationSource}enterRule(e){e.enterChangeReplicationSource&&e.enterChangeReplicationSource(this)}exitRule(e){e.exitChangeReplicationSource&&e.exitChangeReplicationSource(this)}accept(e){return e.visitChangeReplicationSource?e.visitChangeReplicationSource(this):e.visitChildren(this)}}class Hc extends K{constructor(e,i){super(e,i)}KW_PURGE(){return this.getToken(t.KW_PURGE,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_purgeBinaryLogs}enterRule(e){e.enterPurgeBinaryLogs&&e.enterPurgeBinaryLogs(this)}exitRule(e){e.exitPurgeBinaryLogs&&e.exitPurgeBinaryLogs(this)}accept(e){return e.visitPurgeBinaryLogs?e.visitPurgeBinaryLogs(this):e.visitChildren(this)}}class Bc extends K{constructor(e,i){super(e,i)}KW_START(){return this.getToken(t.KW_START,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}threadType(e){return e===void 0?this.getRuleContexts(pi):this.getRuleContext(e,pi)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}untilOption(){return this.getRuleContext(0,y0)}connectionOptions(e){return e===void 0?this.getRuleContexts(q0):this.getRuleContext(e,q0)}channelOption(){return this.getRuleContext(0,Be)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_startSlaveOrReplica}enterRule(e){e.enterStartSlaveOrReplica&&e.enterStartSlaveOrReplica(this)}exitRule(e){e.exitStartSlaveOrReplica&&e.exitStartSlaveOrReplica(this)}accept(e){return e.visitStartSlaveOrReplica?e.visitStartSlaveOrReplica(this):e.visitChildren(this)}}class Fc extends K{constructor(e,i){super(e,i)}KW_STOP(){return this.getToken(t.KW_STOP,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}threadType(e){return e===void 0?this.getRuleContexts(pi):this.getRuleContext(e,pi)}channelOption(){return this.getRuleContext(0,Be)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_stopSlaveOrReplica}enterRule(e){e.enterStopSlaveOrReplica&&e.enterStopSlaveOrReplica(this)}exitRule(e){e.exitStopSlaveOrReplica&&e.exitStopSlaveOrReplica(this)}accept(e){return e.visitStopSlaveOrReplica?e.visitStopSlaveOrReplica(this):e.visitChildren(this)}}class Gc extends K{constructor(e,i){super(e,i)}KW_START(){return this.getToken(t.KW_START,0)}KW_GROUP_REPLICATION(){return this.getToken(t.KW_GROUP_REPLICATION,0)}KW_USER(){return this.getToken(t.KW_USER,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_DEFAULT_AUTH(){return this.getToken(t.KW_DEFAULT_AUTH,0)}get ruleIndex(){return t.RULE_startGroupReplication}enterRule(e){e.enterStartGroupReplication&&e.enterStartGroupReplication(this)}exitRule(e){e.exitStartGroupReplication&&e.exitStartGroupReplication(this)}accept(e){return e.visitStartGroupReplication?e.visitStartGroupReplication(this):e.visitChildren(this)}}class bc extends K{constructor(e,i){super(e,i)}KW_STOP(){return this.getToken(t.KW_STOP,0)}KW_GROUP_REPLICATION(){return this.getToken(t.KW_GROUP_REPLICATION,0)}get ruleIndex(){return t.RULE_stopGroupReplication}enterRule(e){e.enterStopGroupReplication&&e.enterStopGroupReplication(this)}exitRule(e){e.exitStopGroupReplication&&e.exitStopGroupReplication(this)}accept(e){return e.visitStopGroupReplication?e.visitStopGroupReplication(this):e.visitChildren(this)}}class W0 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_masterOption}copyFrom(e){super.copyFrom(e)}}class Z9 extends W0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}stringMasterOption(){return this.getRuleContext(0,wc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterMasterStringOption&&e.enterMasterStringOption(this)}exitRule(e){e.exitMasterStringOption&&e.exitMasterStringOption(this)}accept(e){return e.visitMasterStringOption?e.visitMasterStringOption(this):e.visitChildren(this)}}class J9 extends W0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}v8NewMasterOption(){return this.getRuleContext(0,Vc)}enterRule(e){e.enterV8AddMasterOption&&e.enterV8AddMasterOption(this)}exitRule(e){e.exitV8AddMasterOption&&e.exitV8AddMasterOption(this)}accept(e){return e.visitV8AddMasterOption?e.visitV8AddMasterOption(this):e.visitChildren(this)}}class z9 extends W0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}boolMasterOption(){return this.getRuleContext(0,Yc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}enterRule(e){e.enterMasterBoolOption&&e.enterMasterBoolOption(this)}exitRule(e){e.exitMasterBoolOption&&e.exitMasterBoolOption(this)}accept(e){return e.visitMasterBoolOption?e.visitMasterBoolOption(this):e.visitChildren(this)}}class j9 extends W0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_IGNORE_SERVER_IDS(){return this.getToken(t.KW_IGNORE_SERVER_IDS,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterMasterUidListOption&&e.enterMasterUidListOption(this)}exitRule(e){e.exitMasterUidListOption&&e.exitMasterUidListOption(this)}accept(e){return e.visitMasterUidListOption?e.visitMasterUidListOption(this):e.visitChildren(this)}}class $9 extends W0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalMasterOption(){return this.getRuleContext(0,vc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterMasterDecimalOption&&e.enterMasterDecimalOption(this)}exitRule(e){e.exitMasterDecimalOption&&e.exitMasterDecimalOption(this)}accept(e){return e.visitMasterDecimalOption?e.visitMasterDecimalOption(this):e.visitChildren(this)}}class wc extends K{constructor(e,i){super(e,i)}KW_MASTER_BIND(){return this.getToken(t.KW_MASTER_BIND,0)}KW_MASTER_HOST(){return this.getToken(t.KW_MASTER_HOST,0)}KW_MASTER_USER(){return this.getToken(t.KW_MASTER_USER,0)}KW_MASTER_PASSWORD(){return this.getToken(t.KW_MASTER_PASSWORD,0)}KW_MASTER_LOG_FILE(){return this.getToken(t.KW_MASTER_LOG_FILE,0)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}KW_MASTER_COMPRESSION_ALGORITHMS(){return this.getToken(t.KW_MASTER_COMPRESSION_ALGORITHMS,0)}KW_MASTER_SSL_CA(){return this.getToken(t.KW_MASTER_SSL_CA,0)}KW_MASTER_SSL_CAPATH(){return this.getToken(t.KW_MASTER_SSL_CAPATH,0)}KW_MASTER_SSL_CERT(){return this.getToken(t.KW_MASTER_SSL_CERT,0)}KW_MASTER_SSL_CRL(){return this.getToken(t.KW_MASTER_SSL_CRL,0)}KW_MASTER_SSL_CRLPATH(){return this.getToken(t.KW_MASTER_SSL_CRLPATH,0)}KW_MASTER_SSL_KEY(){return this.getToken(t.KW_MASTER_SSL_KEY,0)}KW_MASTER_SSL_CIPHER(){return this.getToken(t.KW_MASTER_SSL_CIPHER,0)}KW_MASTER_TLS_VERSION(){return this.getToken(t.KW_MASTER_TLS_VERSION,0)}KW_MASTER_TLS_CIPHERSUITES(){return this.getToken(t.KW_MASTER_TLS_CIPHERSUITES,0)}KW_MASTER_PUBLIC_KEY_PATH(){return this.getToken(t.KW_MASTER_PUBLIC_KEY_PATH,0)}KW_NETWORK_NAMESPACE(){return this.getToken(t.KW_NETWORK_NAMESPACE,0)}get ruleIndex(){return t.RULE_stringMasterOption}enterRule(e){e.enterStringMasterOption&&e.enterStringMasterOption(this)}exitRule(e){e.exitStringMasterOption&&e.exitStringMasterOption(this)}accept(e){return e.visitStringMasterOption?e.visitStringMasterOption(this):e.visitChildren(this)}}class vc extends K{constructor(e,i){super(e,i)}KW_MASTER_PORT(){return this.getToken(t.KW_MASTER_PORT,0)}KW_MASTER_LOG_POS(){return this.getToken(t.KW_MASTER_LOG_POS,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}KW_MASTER_HEARTBEAT_PERIOD(){return this.getToken(t.KW_MASTER_HEARTBEAT_PERIOD,0)}KW_MASTER_CONNECT_RETRY(){return this.getToken(t.KW_MASTER_CONNECT_RETRY,0)}KW_MASTER_RETRY_COUNT(){return this.getToken(t.KW_MASTER_RETRY_COUNT,0)}KW_MASTER_DELAY(){return this.getToken(t.KW_MASTER_DELAY,0)}KW_MASTER_ZSTD_COMPRESSION_LEVEL(){return this.getToken(t.KW_MASTER_ZSTD_COMPRESSION_LEVEL,0)}get ruleIndex(){return t.RULE_decimalMasterOption}enterRule(e){e.enterDecimalMasterOption&&e.enterDecimalMasterOption(this)}exitRule(e){e.exitDecimalMasterOption&&e.exitDecimalMasterOption(this)}accept(e){return e.visitDecimalMasterOption?e.visitDecimalMasterOption(this):e.visitChildren(this)}}class Yc extends K{constructor(e,i){super(e,i)}KW_REQUIRE_ROW_FORMAT(){return this.getToken(t.KW_REQUIRE_ROW_FORMAT,0)}KW_MASTER_AUTO_POSITION(){return this.getToken(t.KW_MASTER_AUTO_POSITION,0)}KW_SOURCE_CONNECTION_AUTO_FAILOVER(){return this.getToken(t.KW_SOURCE_CONNECTION_AUTO_FAILOVER,0)}KW_MASTER_SSL(){return this.getToken(t.KW_MASTER_SSL,0)}KW_MASTER_SSL_VERIFY_SERVER_CERT(){return this.getToken(t.KW_MASTER_SSL_VERIFY_SERVER_CERT,0)}KW_GET_MASTER_PUBLIC_KEY(){return this.getToken(t.KW_GET_MASTER_PUBLIC_KEY,0)}KW_GTID_ONLY(){return this.getToken(t.KW_GTID_ONLY,0)}get ruleIndex(){return t.RULE_boolMasterOption}enterRule(e){e.enterBoolMasterOption&&e.enterBoolMasterOption(this)}exitRule(e){e.exitBoolMasterOption&&e.exitBoolMasterOption(this)}accept(e){return e.visitBoolMasterOption?e.visitBoolMasterOption(this):e.visitChildren(this)}}class Vc extends K{constructor(e,i){super(e,i)}KW_PRIVILEGE_CHECKS_USER(){return this.getToken(t.KW_PRIVILEGE_CHECKS_USER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK(){return this.getToken(t.KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK,0)}KW_STREAM(){return this.getToken(t.KW_STREAM,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_OFF(){return this.getToken(t.KW_OFF,0)}KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS(){return this.getToken(t.KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}gtuidSet(){return this.getRuleContext(0,S7)}get ruleIndex(){return t.RULE_v8NewMasterOption}enterRule(e){e.enterV8NewMasterOption&&e.enterV8NewMasterOption(this)}exitRule(e){e.exitV8NewMasterOption&&e.exitV8NewMasterOption(this)}accept(e){return e.visitV8NewMasterOption?e.visitV8NewMasterOption(this):e.visitChildren(this)}}class R0 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_replicationSourceOption}copyFrom(e){super.copyFrom(e)}}class M9 extends R0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}boolSourceOption(){return this.getRuleContext(0,Zc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}enterRule(e){e.enterSourceBoolOption&&e.enterSourceBoolOption(this)}exitRule(e){e.exitSourceBoolOption&&e.exitSourceBoolOption(this)}accept(e){return e.visitSourceBoolOption?e.visitSourceBoolOption(this):e.visitChildren(this)}}class P9 extends R0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_IGNORE_SERVER_IDS(){return this.getToken(t.KW_IGNORE_SERVER_IDS,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSourceUidListOption&&e.enterSourceUidListOption(this)}exitRule(e){e.exitSourceUidListOption&&e.exitSourceUidListOption(this)}accept(e){return e.visitSourceUidListOption?e.visitSourceUidListOption(this):e.visitChildren(this)}}class y9 extends R0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}otherSourceOption(){return this.getRuleContext(0,Jc)}enterRule(e){e.enterSourceOtherOption&&e.enterSourceOtherOption(this)}exitRule(e){e.exitSourceOtherOption&&e.exitSourceOtherOption(this)}accept(e){return e.visitSourceOtherOption?e.visitSourceOtherOption(this):e.visitChildren(this)}}class q9 extends R0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}stringSourceOption(){return this.getRuleContext(0,Xc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterSourceStringOption&&e.enterSourceStringOption(this)}exitRule(e){e.exitSourceStringOption&&e.exitSourceStringOption(this)}accept(e){return e.visitSourceStringOption?e.visitSourceStringOption(this):e.visitChildren(this)}}class tu extends R0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalSourceOption(){return this.getRuleContext(0,Qc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterSourceDecimalOption&&e.enterSourceDecimalOption(this)}exitRule(e){e.exitSourceDecimalOption&&e.exitSourceDecimalOption(this)}accept(e){return e.visitSourceDecimalOption?e.visitSourceDecimalOption(this):e.visitChildren(this)}}class Xc extends K{constructor(e,i){super(e,i)}KW_SOURCE_BIND(){return this.getToken(t.KW_SOURCE_BIND,0)}KW_SOURCE_HOST(){return this.getToken(t.KW_SOURCE_HOST,0)}KW_SOURCE_USER(){return this.getToken(t.KW_SOURCE_USER,0)}KW_SOURCE_PASSWORD(){return this.getToken(t.KW_SOURCE_PASSWORD,0)}KW_SOURCE_LOG_FILE(){return this.getToken(t.KW_SOURCE_LOG_FILE,0)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}KW_SOURCE_COMPRESSION_ALGORITHMS(){return this.getToken(t.KW_SOURCE_COMPRESSION_ALGORITHMS,0)}KW_SOURCE_SSL_CA(){return this.getToken(t.KW_SOURCE_SSL_CA,0)}KW_SOURCE_SSL_CAPATH(){return this.getToken(t.KW_SOURCE_SSL_CAPATH,0)}KW_SOURCE_SSL_CERT(){return this.getToken(t.KW_SOURCE_SSL_CERT,0)}KW_SOURCE_SSL_CRL(){return this.getToken(t.KW_SOURCE_SSL_CRL,0)}KW_SOURCE_SSL_CRLPATH(){return this.getToken(t.KW_SOURCE_SSL_CRLPATH,0)}KW_SOURCE_SSL_KEY(){return this.getToken(t.KW_SOURCE_SSL_KEY,0)}KW_SOURCE_SSL_CIPHER(){return this.getToken(t.KW_SOURCE_SSL_CIPHER,0)}KW_SOURCE_TLS_VERSION(){return this.getToken(t.KW_SOURCE_TLS_VERSION,0)}KW_SOURCE_TLS_CIPHERSUITES(){return this.getToken(t.KW_SOURCE_TLS_CIPHERSUITES,0)}KW_SOURCE_PUBLIC_KEY_PATH(){return this.getToken(t.KW_SOURCE_PUBLIC_KEY_PATH,0)}KW_NETWORK_NAMESPACE(){return this.getToken(t.KW_NETWORK_NAMESPACE,0)}get ruleIndex(){return t.RULE_stringSourceOption}enterRule(e){e.enterStringSourceOption&&e.enterStringSourceOption(this)}exitRule(e){e.exitStringSourceOption&&e.exitStringSourceOption(this)}accept(e){return e.visitStringSourceOption?e.visitStringSourceOption(this):e.visitChildren(this)}}class Qc extends K{constructor(e,i){super(e,i)}KW_SOURCE_PORT(){return this.getToken(t.KW_SOURCE_PORT,0)}KW_SOURCE_LOG_POS(){return this.getToken(t.KW_SOURCE_LOG_POS,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}KW_SOURCE_HEARTBEAT_PERIOD(){return this.getToken(t.KW_SOURCE_HEARTBEAT_PERIOD,0)}KW_SOURCE_CONNECT_RETRY(){return this.getToken(t.KW_SOURCE_CONNECT_RETRY,0)}KW_SOURCE_RETRY_COUNT(){return this.getToken(t.KW_SOURCE_RETRY_COUNT,0)}KW_SOURCE_DELAY(){return this.getToken(t.KW_SOURCE_DELAY,0)}KW_SOURCE_ZSTD_COMPRESSION_LEVEL(){return this.getToken(t.KW_SOURCE_ZSTD_COMPRESSION_LEVEL,0)}get ruleIndex(){return t.RULE_decimalSourceOption}enterRule(e){e.enterDecimalSourceOption&&e.enterDecimalSourceOption(this)}exitRule(e){e.exitDecimalSourceOption&&e.exitDecimalSourceOption(this)}accept(e){return e.visitDecimalSourceOption?e.visitDecimalSourceOption(this):e.visitChildren(this)}}class Zc extends K{constructor(e,i){super(e,i)}KW_REQUIRE_ROW_FORMAT(){return this.getToken(t.KW_REQUIRE_ROW_FORMAT,0)}KW_SOURCE_AUTO_POSITION(){return this.getToken(t.KW_SOURCE_AUTO_POSITION,0)}KW_SOURCE_CONNECTION_AUTO_FAILOVER(){return this.getToken(t.KW_SOURCE_CONNECTION_AUTO_FAILOVER,0)}KW_SOURCE_SSL(){return this.getToken(t.KW_SOURCE_SSL,0)}KW_SOURCE_SSL_VERIFY_SERVER_CERT(){return this.getToken(t.KW_SOURCE_SSL_VERIFY_SERVER_CERT,0)}KW_GET_SOURCE_PUBLIC_KEY(){return this.getToken(t.KW_GET_SOURCE_PUBLIC_KEY,0)}KW_GTID_ONLY(){return this.getToken(t.KW_GTID_ONLY,0)}get ruleIndex(){return t.RULE_boolSourceOption}enterRule(e){e.enterBoolSourceOption&&e.enterBoolSourceOption(this)}exitRule(e){e.exitBoolSourceOption&&e.exitBoolSourceOption(this)}accept(e){return e.visitBoolSourceOption?e.visitBoolSourceOption(this):e.visitChildren(this)}}class Jc extends K{constructor(e,i){super(e,i)}KW_PRIVILEGE_CHECKS_USER(){return this.getToken(t.KW_PRIVILEGE_CHECKS_USER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK(){return this.getToken(t.KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK,0)}KW_STREAM(){return this.getToken(t.KW_STREAM,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_OFF(){return this.getToken(t.KW_OFF,0)}KW_GENERATE(){return this.getToken(t.KW_GENERATE,0)}KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS(){return this.getToken(t.KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}gtuidSet(){return this.getRuleContext(0,S7)}get ruleIndex(){return t.RULE_otherSourceOption}enterRule(e){e.enterOtherSourceOption&&e.enterOtherSourceOption(this)}exitRule(e){e.exitOtherSourceOption&&e.exitOtherSourceOption(this)}accept(e){return e.visitOtherSourceOption?e.visitOtherSourceOption(this):e.visitChildren(this)}}class Be extends K{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_CHANNEL(){return this.getToken(t.KW_CHANNEL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_channelOption}enterRule(e){e.enterChannelOption&&e.enterChannelOption(this)}exitRule(e){e.exitChannelOption&&e.exitChannelOption(this)}accept(e){return e.visitChannelOption?e.visitChannelOption(this):e.visitChildren(this)}}class Fe extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_replicationFilter}copyFrom(e){super.copyFrom(e)}}class eu extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_WILD_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_IGNORE_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}simpleStrings(){return this.getRuleContext(0,y2)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterWildIgnoreTableReplication&&e.enterWildIgnoreTableReplication(this)}exitRule(e){e.exitWildIgnoreTableReplication&&e.exitWildIgnoreTableReplication(this)}accept(e){return e.visitWildIgnoreTableReplication?e.visitWildIgnoreTableReplication(this):e.visitChildren(this)}}class iu extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_DO_TABLE(){return this.getToken(t.KW_REPLICATE_DO_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableNames(){return this.getRuleContext(0,Le)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterDoTableReplication&&e.enterDoTableReplication(this)}exitRule(e){e.exitDoTableReplication&&e.exitDoTableReplication(this)}accept(e){return e.visitDoTableReplication?e.visitDoTableReplication(this):e.visitChildren(this)}}class su extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_IGNORE_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableNames(){return this.getRuleContext(0,Le)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterIgnoreTableReplication&&e.enterIgnoreTableReplication(this)}exitRule(e){e.exitIgnoreTableReplication&&e.exitIgnoreTableReplication(this)}accept(e){return e.visitIgnoreTableReplication?e.visitIgnoreTableReplication(this):e.visitChildren(this)}}class nu extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_REWRITE_DB(){return this.getToken(t.KW_REPLICATE_REWRITE_DB,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tablePair(e){return e===void 0?this.getRuleContexts(C2):this.getRuleContext(e,C2)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterRewriteDbReplication&&e.enterRewriteDbReplication(this)}exitRule(e){e.exitRewriteDbReplication&&e.exitRewriteDbReplication(this)}accept(e){return e.visitRewriteDbReplication?e.visitRewriteDbReplication(this):e.visitChildren(this)}}class hu extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_DO_DB(){return this.getToken(t.KW_REPLICATE_DO_DB,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}databaseName(e){return e===void 0?this.getRuleContexts(Qt):this.getRuleContext(e,Qt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterDoDbReplication&&e.enterDoDbReplication(this)}exitRule(e){e.exitDoDbReplication&&e.exitDoDbReplication(this)}accept(e){return e.visitDoDbReplication?e.visitDoDbReplication(this):e.visitChildren(this)}}class au extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_IGNORE_DB(){return this.getToken(t.KW_REPLICATE_IGNORE_DB,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}databaseName(e){return e===void 0?this.getRuleContexts(Qt):this.getRuleContext(e,Qt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterIgnoreDbReplication&&e.enterIgnoreDbReplication(this)}exitRule(e){e.exitIgnoreDbReplication&&e.exitIgnoreDbReplication(this)}accept(e){return e.visitIgnoreDbReplication?e.visitIgnoreDbReplication(this):e.visitChildren(this)}}class cu extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_WILD_DO_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_DO_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}simpleStrings(){return this.getRuleContext(0,y2)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterWildDoTableReplication&&e.enterWildDoTableReplication(this)}exitRule(e){e.exitWildDoTableReplication&&e.exitWildDoTableReplication(this)}accept(e){return e.visitWildDoTableReplication?e.visitWildDoTableReplication(this):e.visitChildren(this)}}class C2 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}get ruleIndex(){return t.RULE_tablePair}enterRule(e){e.enterTablePair&&e.enterTablePair(this)}exitRule(e){e.exitTablePair&&e.exitTablePair(this)}accept(e){return e.visitTablePair?e.visitTablePair(this):e.visitChildren(this)}}class pi extends K{constructor(e,i){super(e,i)}KW_IO_THREAD(){return this.getToken(t.KW_IO_THREAD,0)}KW_SQL_THREAD(){return this.getToken(t.KW_SQL_THREAD,0)}get ruleIndex(){return t.RULE_threadType}enterRule(e){e.enterThreadType&&e.enterThreadType(this)}exitRule(e){e.exitThreadType&&e.exitThreadType(this)}accept(e){return e.visitThreadType?e.visitThreadType(this):e.visitChildren(this)}}class y0 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_untilOption}copyFrom(e){super.copyFrom(e)}}class ou extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SOURCE_LOG_FILE(){return this.getToken(t.KW_SOURCE_LOG_FILE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_SOURCE_LOG_POS(){return this.getToken(t.KW_SOURCE_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterSourceLogUntilOption&&e.enterSourceLogUntilOption(this)}exitRule(e){e.exitSourceLogUntilOption&&e.exitSourceLogUntilOption(this)}accept(e){return e.visitSourceLogUntilOption?e.visitSourceLogUntilOption(this):e.visitChildren(this)}}class ru extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}gtuidSet(){return this.getRuleContext(0,S7)}KW_SQL_BEFORE_GTIDS(){return this.getToken(t.KW_SQL_BEFORE_GTIDS,0)}KW_SQL_AFTER_GTIDS(){return this.getToken(t.KW_SQL_AFTER_GTIDS,0)}enterRule(e){e.enterGtidsUntilOption&&e.enterGtidsUntilOption(this)}exitRule(e){e.exitGtidsUntilOption&&e.exitGtidsUntilOption(this)}accept(e){return e.visitGtidsUntilOption?e.visitGtidsUntilOption(this):e.visitChildren(this)}}class Eu extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQL_AFTER_MTS_GAPS(){return this.getToken(t.KW_SQL_AFTER_MTS_GAPS,0)}enterRule(e){e.enterSqlGapsUntilOption&&e.enterSqlGapsUntilOption(this)}exitRule(e){e.exitSqlGapsUntilOption&&e.exitSqlGapsUntilOption(this)}accept(e){return e.visitSqlGapsUntilOption?e.visitSqlGapsUntilOption(this):e.visitChildren(this)}}class uu extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MASTER_LOG_FILE(){return this.getToken(t.KW_MASTER_LOG_FILE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_MASTER_LOG_POS(){return this.getToken(t.KW_MASTER_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterMasterLogUntilOption&&e.enterMasterLogUntilOption(this)}exitRule(e){e.exitMasterLogUntilOption&&e.exitMasterLogUntilOption(this)}accept(e){return e.visitMasterLogUntilOption?e.visitMasterLogUntilOption(this):e.visitChildren(this)}}class Ku extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterRelayLogUntilOption&&e.enterRelayLogUntilOption(this)}exitRule(e){e.exitRelayLogUntilOption&&e.exitRelayLogUntilOption(this)}accept(e){return e.visitRelayLogUntilOption?e.visitRelayLogUntilOption(this):e.visitChildren(this)}}class q0 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_connectionOptions}copyFrom(e){super.copyFrom(e)}}class Wu extends q0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PLUGIN_DIR(){return this.getToken(t.KW_PLUGIN_DIR,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterPluginDirConnectionOption&&e.enterPluginDirConnectionOption(this)}exitRule(e){e.exitPluginDirConnectionOption&&e.exitPluginDirConnectionOption(this)}accept(e){return e.visitPluginDirConnectionOption?e.visitPluginDirConnectionOption(this):e.visitChildren(this)}}class Ru extends q0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_USER(){return this.getToken(t.KW_USER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterUserConnectionOption&&e.enterUserConnectionOption(this)}exitRule(e){e.exitUserConnectionOption&&e.exitUserConnectionOption(this)}accept(e){return e.visitUserConnectionOption?e.visitUserConnectionOption(this):e.visitChildren(this)}}class Tu extends q0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DEFAULT_AUTH(){return this.getToken(t.KW_DEFAULT_AUTH,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterDefaultAuthConnectionOption&&e.enterDefaultAuthConnectionOption(this)}exitRule(e){e.exitDefaultAuthConnectionOption&&e.exitDefaultAuthConnectionOption(this)}accept(e){return e.visitDefaultAuthConnectionOption?e.visitDefaultAuthConnectionOption(this):e.visitChildren(this)}}class _u extends q0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterPasswordConnectionOption&&e.enterPasswordConnectionOption(this)}exitRule(e){e.exitPasswordConnectionOption&&e.exitPasswordConnectionOption(this)}accept(e){return e.visitPasswordConnectionOption?e.visitPasswordConnectionOption(this):e.visitChildren(this)}}class S7 extends K{constructor(e,i){super(e,i)}uuidSet(e){return e===void 0?this.getRuleContexts(Z2):this.getRuleContext(e,Z2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_gtuidSet}enterRule(e){e.enterGtuidSet&&e.enterGtuidSet(this)}exitRule(e){e.exitGtuidSet&&e.exitGtuidSet(this)}accept(e){return e.visitGtuidSet?e.visitGtuidSet(this):e.visitChildren(this)}}class zc extends K{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}xid(){return this.getRuleContext(0,i1)}KW_START(){return this.getToken(t.KW_START,0)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}KW_RESUME(){return this.getToken(t.KW_RESUME,0)}get ruleIndex(){return t.RULE_xaStartTransaction}enterRule(e){e.enterXaStartTransaction&&e.enterXaStartTransaction(this)}exitRule(e){e.exitXaStartTransaction&&e.exitXaStartTransaction(this)}accept(e){return e.visitXaStartTransaction?e.visitXaStartTransaction(this):e.visitChildren(this)}}class jc extends K{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_END(){return this.getToken(t.KW_END,0)}xid(){return this.getRuleContext(0,i1)}KW_SUSPEND(){return this.getToken(t.KW_SUSPEND,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_MIGRATE(){return this.getToken(t.KW_MIGRATE,0)}get ruleIndex(){return t.RULE_xaEndTransaction}enterRule(e){e.enterXaEndTransaction&&e.enterXaEndTransaction(this)}exitRule(e){e.exitXaEndTransaction&&e.exitXaEndTransaction(this)}accept(e){return e.visitXaEndTransaction?e.visitXaEndTransaction(this):e.visitChildren(this)}}class $c extends K{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}xid(){return this.getRuleContext(0,i1)}get ruleIndex(){return t.RULE_xaPrepareStatement}enterRule(e){e.enterXaPrepareStatement&&e.enterXaPrepareStatement(this)}exitRule(e){e.exitXaPrepareStatement&&e.exitXaPrepareStatement(this)}accept(e){return e.visitXaPrepareStatement?e.visitXaPrepareStatement(this):e.visitChildren(this)}}class Mc extends K{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}xid(){return this.getRuleContext(0,i1)}KW_ONE(){return this.getToken(t.KW_ONE,0)}KW_PHASE(){return this.getToken(t.KW_PHASE,0)}get ruleIndex(){return t.RULE_xaCommitWork}enterRule(e){e.enterXaCommitWork&&e.enterXaCommitWork(this)}exitRule(e){e.exitXaCommitWork&&e.exitXaCommitWork(this)}accept(e){return e.visitXaCommitWork?e.visitXaCommitWork(this):e.visitChildren(this)}}class Pc extends K{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}xid(){return this.getRuleContext(0,i1)}get ruleIndex(){return t.RULE_xaRollbackWork}enterRule(e){e.enterXaRollbackWork&&e.enterXaRollbackWork(this)}exitRule(e){e.exitXaRollbackWork&&e.exitXaRollbackWork(this)}accept(e){return e.visitXaRollbackWork?e.visitXaRollbackWork(this):e.visitChildren(this)}}class yc extends K{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_RECOVER(){return this.getToken(t.KW_RECOVER,0)}KW_CONVERT(){return this.getToken(t.KW_CONVERT,0)}xid(){return this.getRuleContext(0,i1)}get ruleIndex(){return t.RULE_xaRecoverWork}enterRule(e){e.enterXaRecoverWork&&e.enterXaRecoverWork(this)}exitRule(e){e.exitXaRecoverWork&&e.exitXaRecoverWork(this)}accept(e){return e.visitXaRecoverWork?e.visitXaRecoverWork(this):e.visitChildren(this)}}class qc extends K{constructor(e,i){super(e,i)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}uid(){return this.getRuleContext(0,l)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}get ruleIndex(){return t.RULE_prepareStatement}enterRule(e){e.enterPrepareStatement&&e.enterPrepareStatement(this)}exitRule(e){e.exitPrepareStatement&&e.exitPrepareStatement(this)}accept(e){return e.visitPrepareStatement?e.visitPrepareStatement(this):e.visitChildren(this)}}class t4 extends K{constructor(e,i){super(e,i)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}uid(){return this.getRuleContext(0,l)}KW_USING(){return this.getToken(t.KW_USING,0)}userVariables(){return this.getRuleContext(0,To)}get ruleIndex(){return t.RULE_executeStatement}enterRule(e){e.enterExecuteStatement&&e.enterExecuteStatement(this)}exitRule(e){e.exitExecuteStatement&&e.exitExecuteStatement(this)}accept(e){return e.visitExecuteStatement?e.visitExecuteStatement(this):e.visitChildren(this)}}class e4 extends K{constructor(e,i){super(e,i)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}uid(){return this.getRuleContext(0,l)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_deallocatePrepare}enterRule(e){e.enterDeallocatePrepare&&e.enterDeallocatePrepare(this)}exitRule(e){e.exitDeallocatePrepare&&e.exitDeallocatePrepare(this)}accept(e){return e.visitDeallocatePrepare?e.visitDeallocatePrepare(this):e.visitChildren(this)}}class f1 extends K{constructor(e,i){super(e,i)}blockStatement(){return this.getRuleContext(0,N2)}sqlStatement(){return this.getRuleContext(0,l7)}get ruleIndex(){return t.RULE_routineBody}enterRule(e){e.enterRoutineBody&&e.enterRoutineBody(this)}exitRule(e){e.exitRoutineBody&&e.exitRoutineBody(this)}accept(e){return e.visitRoutineBody?e.visitRoutineBody(this):e.visitChildren(this)}}class N2 extends K{constructor(e,i){super(e,i)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}declareVariable(e){return e===void 0?this.getRuleContexts(l2):this.getRuleContext(e,l2)}SEMI(e){return e===void 0?this.getTokens(t.SEMI):this.getToken(t.SEMI,e)}declareCondition(e){return e===void 0?this.getRuleContexts(d2):this.getRuleContext(e,d2)}declareCursor(e){return e===void 0?this.getRuleContexts(m2):this.getRuleContext(e,m2)}declareHandler(e){return e===void 0?this.getRuleContexts(p2):this.getRuleContext(e,p2)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}get ruleIndex(){return t.RULE_blockStatement}enterRule(e){e.enterBlockStatement&&e.enterBlockStatement(this)}exitRule(e){e.exitBlockStatement&&e.exitBlockStatement(this)}accept(e){return e.visitBlockStatement?e.visitBlockStatement(this):e.visitChildren(this)}}class i4 extends K{constructor(e,i){super(e,i)}KW_CASE(e){return e===void 0?this.getTokens(t.KW_CASE):this.getToken(t.KW_CASE,e)}KW_END(){return this.getToken(t.KW_END,0)}expression(){return this.getRuleContext(0,U)}caseAlternative(e){return e===void 0?this.getRuleContexts(x2):this.getRuleContext(e,x2)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}uid(){return this.getRuleContext(0,l)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}get ruleIndex(){return t.RULE_caseStatement}enterRule(e){e.enterCaseStatement&&e.enterCaseStatement(this)}exitRule(e){e.exitCaseStatement&&e.exitCaseStatement(this)}accept(e){return e.visitCaseStatement?e.visitCaseStatement(this):e.visitChildren(this)}}class s4 extends K{constructor(e,i){super(e,i),this._thenStatements=[],this._elseStatements=[]}KW_IF(e){return e===void 0?this.getTokens(t.KW_IF):this.getToken(t.KW_IF,e)}expression(){return this.getRuleContext(0,U)}KW_THEN(){return this.getToken(t.KW_THEN,0)}KW_END(){return this.getToken(t.KW_END,0)}elifAlternative(e){return e===void 0?this.getRuleContexts(f2):this.getRuleContext(e,f2)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}get ruleIndex(){return t.RULE_ifStatement}enterRule(e){e.enterIfStatement&&e.enterIfStatement(this)}exitRule(e){e.exitIfStatement&&e.exitIfStatement(this)}accept(e){return e.visitIfStatement?e.visitIfStatement(this):e.visitChildren(this)}}class n4 extends K{constructor(e,i){super(e,i)}KW_ITERATE(){return this.getToken(t.KW_ITERATE,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_iterateStatement}enterRule(e){e.enterIterateStatement&&e.enterIterateStatement(this)}exitRule(e){e.exitIterateStatement&&e.exitIterateStatement(this)}accept(e){return e.visitIterateStatement?e.visitIterateStatement(this):e.visitChildren(this)}}class h4 extends K{constructor(e,i){super(e,i)}KW_LEAVE(){return this.getToken(t.KW_LEAVE,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_leaveStatement}enterRule(e){e.enterLeaveStatement&&e.enterLeaveStatement(this)}exitRule(e){e.exitLeaveStatement&&e.exitLeaveStatement(this)}accept(e){return e.visitLeaveStatement?e.visitLeaveStatement(this):e.visitChildren(this)}}class a4 extends K{constructor(e,i){super(e,i)}KW_LOOP(e){return e===void 0?this.getTokens(t.KW_LOOP):this.getToken(t.KW_LOOP,e)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}get ruleIndex(){return t.RULE_loopStatement}enterRule(e){e.enterLoopStatement&&e.enterLoopStatement(this)}exitRule(e){e.exitLoopStatement&&e.exitLoopStatement(this)}accept(e){return e.visitLoopStatement?e.visitLoopStatement(this):e.visitChildren(this)}}class c4 extends K{constructor(e,i){super(e,i)}KW_REPEAT(e){return e===void 0?this.getTokens(t.KW_REPEAT):this.getToken(t.KW_REPEAT,e)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}expression(){return this.getRuleContext(0,U)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}get ruleIndex(){return t.RULE_repeatStatement}enterRule(e){e.enterRepeatStatement&&e.enterRepeatStatement(this)}exitRule(e){e.exitRepeatStatement&&e.exitRepeatStatement(this)}accept(e){return e.visitRepeatStatement?e.visitRepeatStatement(this):e.visitChildren(this)}}class o4 extends K{constructor(e,i){super(e,i)}KW_RETURN(){return this.getToken(t.KW_RETURN,0)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_returnStatement}enterRule(e){e.enterReturnStatement&&e.enterReturnStatement(this)}exitRule(e){e.exitReturnStatement&&e.exitReturnStatement(this)}accept(e){return e.visitReturnStatement?e.visitReturnStatement(this):e.visitChildren(this)}}class r4 extends K{constructor(e,i){super(e,i)}KW_WHILE(e){return e===void 0?this.getTokens(t.KW_WHILE):this.getToken(t.KW_WHILE,e)}expression(){return this.getRuleContext(0,U)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}get ruleIndex(){return t.RULE_whileStatement}enterRule(e){e.enterWhileStatement&&e.enterWhileStatement(this)}exitRule(e){e.exitWhileStatement&&e.exitWhileStatement(this)}accept(e){return e.visitWhileStatement?e.visitWhileStatement(this):e.visitChildren(this)}}class xi extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_cursorStatement}copyFrom(e){super.copyFrom(e)}}class Au extends xi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterCloseCursor&&e.enterCloseCursor(this)}exitRule(e){e.exitCloseCursor&&e.exitCloseCursor(this)}accept(e){return e.visitCloseCursor?e.visitCloseCursor(this):e.visitChildren(this)}}class Iu extends xi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterOpenCursor&&e.enterOpenCursor(this)}exitRule(e){e.exitOpenCursor&&e.exitOpenCursor(this)}accept(e){return e.visitOpenCursor?e.visitOpenCursor(this):e.visitChildren(this)}}class Lu extends xi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}uid(){return this.getRuleContext(0,l)}uidList(){return this.getRuleContext(0,z2)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}enterRule(e){e.enterFetchCursor&&e.enterFetchCursor(this)}exitRule(e){e.exitFetchCursor&&e.exitFetchCursor(this)}accept(e){return e.visitFetchCursor?e.visitFetchCursor(this):e.visitChildren(this)}}class l2 extends K{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}dataType(){return this.getRuleContext(0,jt)}uidList(){return this.getRuleContext(0,z2)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_declareVariable}enterRule(e){e.enterDeclareVariable&&e.enterDeclareVariable(this)}exitRule(e){e.exitDeclareVariable&&e.exitDeclareVariable(this)}accept(e){return e.visitDeclareVariable?e.visitDeclareVariable(this):e.visitChildren(this)}}class d2 extends K{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_CONDITION(){return this.getToken(t.KW_CONDITION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}uid(){return this.getRuleContext(0,l)}decimalLiteral(){return this.getRuleContext(0,H)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_declareCondition}enterRule(e){e.enterDeclareCondition&&e.enterDeclareCondition(this)}exitRule(e){e.exitDeclareCondition&&e.exitDeclareCondition(this)}accept(e){return e.visitDeclareCondition?e.visitDeclareCondition(this):e.visitChildren(this)}}class m2 extends K{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}selectStatement(){return this.getRuleContext(0,ft)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_declareCursor}enterRule(e){e.enterDeclareCursor&&e.enterDeclareCursor(this)}exitRule(e){e.exitDeclareCursor&&e.exitDeclareCursor(this)}accept(e){return e.visitDeclareCursor?e.visitDeclareCursor(this):e.visitChildren(this)}}class p2 extends K{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}handlerConditionValue(e){return e===void 0?this.getRuleContexts(Ze):this.getRuleContext(e,Ze)}routineBody(){return this.getRuleContext(0,f1)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_EXIT(){return this.getToken(t.KW_EXIT,0)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_declareHandler}enterRule(e){e.enterDeclareHandler&&e.enterDeclareHandler(this)}exitRule(e){e.exitDeclareHandler&&e.exitDeclareHandler(this)}accept(e){return e.visitDeclareHandler?e.visitDeclareHandler(this):e.visitChildren(this)}}class Ze extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_handlerConditionValue}copyFrom(e){super.copyFrom(e)}}class Ou extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQLWARNING(){return this.getToken(t.KW_SQLWARNING,0)}enterRule(e){e.enterHandlerConditionWarning&&e.enterHandlerConditionWarning(this)}exitRule(e){e.exitHandlerConditionWarning&&e.exitHandlerConditionWarning(this)}accept(e){return e.visitHandlerConditionWarning?e.visitHandlerConditionWarning(this):e.visitChildren(this)}}class Cu extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterHandlerConditionCode&&e.enterHandlerConditionCode(this)}exitRule(e){e.exitHandlerConditionCode&&e.exitHandlerConditionCode(this)}accept(e){return e.visitHandlerConditionCode?e.visitHandlerConditionCode(this):e.visitChildren(this)}}class Nu extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_FOUND(){return this.getToken(t.KW_FOUND,0)}enterRule(e){e.enterHandlerConditionNotfound&&e.enterHandlerConditionNotfound(this)}exitRule(e){e.exitHandlerConditionNotfound&&e.exitHandlerConditionNotfound(this)}accept(e){return e.visitHandlerConditionNotfound?e.visitHandlerConditionNotfound(this):e.visitChildren(this)}}class lu extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}enterRule(e){e.enterHandlerConditionState&&e.enterHandlerConditionState(this)}exitRule(e){e.exitHandlerConditionState&&e.exitHandlerConditionState(this)}accept(e){return e.visitHandlerConditionState?e.visitHandlerConditionState(this):e.visitChildren(this)}}class du extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQLEXCEPTION(){return this.getToken(t.KW_SQLEXCEPTION,0)}enterRule(e){e.enterHandlerConditionException&&e.enterHandlerConditionException(this)}exitRule(e){e.exitHandlerConditionException&&e.exitHandlerConditionException(this)}accept(e){return e.visitHandlerConditionException?e.visitHandlerConditionException(this):e.visitChildren(this)}}class mu extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterHandlerConditionName&&e.enterHandlerConditionName(this)}exitRule(e){e.exitHandlerConditionName&&e.exitHandlerConditionName(this)}accept(e){return e.visitHandlerConditionName?e.visitHandlerConditionName(this):e.visitChildren(this)}}class Ut extends K{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}compoundStatement(){return this.getRuleContext(0,ta)}sqlStatement(){return this.getRuleContext(0,l7)}get ruleIndex(){return t.RULE_procedureSqlStatement}enterRule(e){e.enterProcedureSqlStatement&&e.enterProcedureSqlStatement(this)}exitRule(e){e.exitProcedureSqlStatement&&e.exitProcedureSqlStatement(this)}accept(e){return e.visitProcedureSqlStatement?e.visitProcedureSqlStatement(this):e.visitChildren(this)}}class x2 extends K{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}constant(){return this.getRuleContext(0,A0)}expression(){return this.getRuleContext(0,U)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}get ruleIndex(){return t.RULE_caseAlternative}enterRule(e){e.enterCaseAlternative&&e.enterCaseAlternative(this)}exitRule(e){e.exitCaseAlternative&&e.exitCaseAlternative(this)}accept(e){return e.visitCaseAlternative?e.visitCaseAlternative(this):e.visitChildren(this)}}class f2 extends K{constructor(e,i){super(e,i)}KW_ELSEIF(){return this.getToken(t.KW_ELSEIF,0)}expression(){return this.getRuleContext(0,U)}KW_THEN(){return this.getToken(t.KW_THEN,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}get ruleIndex(){return t.RULE_elifAlternative}enterRule(e){e.enterElifAlternative&&e.enterElifAlternative(this)}exitRule(e){e.exitElifAlternative&&e.exitElifAlternative(this)}accept(e){return e.visitElifAlternative?e.visitElifAlternative(this):e.visitChildren(this)}}class E4 extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}ifExists(){return this.getRuleContext(0,Dt)}userSpecification(e){return e===void 0?this.getRuleContexts(U2):this.getRuleContext(e,U2)}alterUserAuthOption(e){return e===void 0?this.getRuleContexts(D2):this.getRuleContext(e,D2)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleOption(){return this.getRuleContext(0,fi)}userOrRoleName(){return this.getRuleContext(0,je)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}userPasswordOption(e){return e===void 0?this.getRuleContexts(U1):this.getRuleContext(e,U1)}userLockOption(e){return e===void 0?this.getRuleContexts(Si):this.getRuleContext(e,Si)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}tlsOption(e){return e===void 0?this.getRuleContexts(t1):this.getRuleContext(e,t1)}userResourceOption(e){return e===void 0?this.getRuleContexts(e1):this.getRuleContext(e,e1)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_alterUser}enterRule(e){e.enterAlterUser&&e.enterAlterUser(this)}exitRule(e){e.exitAlterUser&&e.exitAlterUser(this)}accept(e){return e.visitAlterUser?e.visitAlterUser(this):e.visitChildren(this)}}class u4 extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}ifNotExists(){return this.getRuleContext(0,re)}createUserAuthOption(e){return e===void 0?this.getRuleContexts(Ui):this.getRuleContext(e,Ui)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleOption(){return this.getRuleContext(0,fi)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}userPasswordOption(e){return e===void 0?this.getRuleContexts(U1):this.getRuleContext(e,U1)}userLockOption(e){return e===void 0?this.getRuleContexts(Si):this.getRuleContext(e,Si)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}tlsOption(e){return e===void 0?this.getRuleContexts(t1):this.getRuleContext(e,t1)}userResourceOption(e){return e===void 0?this.getRuleContexts(e1):this.getRuleContext(e,e1)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_createUser}enterRule(e){e.enterCreateUser&&e.enterCreateUser(this)}exitRule(e){e.exitCreateUser&&e.exitCreateUser(this)}accept(e){return e.visitCreateUser?e.visitCreateUser(this):e.visitChildren(this)}}class K4 extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_USER(){return this.getToken(t.KW_USER,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}ifExists(){return this.getRuleContext(0,Dt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_dropUser}enterRule(e){e.enterDropUser&&e.enterDropUser(this)}exitRule(e){e.exitDropUser&&e.exitDropUser(this)}accept(e){return e.visitDropUser?e.visitDropUser(this):e.visitChildren(this)}}class W4 extends K{constructor(e,i){super(e,i)}KW_GRANT(e){return e===void 0?this.getTokens(t.KW_GRANT):this.getToken(t.KW_GRANT,e)}privelegeClause(e){return e===void 0?this.getRuleContexts(Hi):this.getRuleContext(e,Hi)}KW_ON(){return this.getToken(t.KW_ON,0)}privilegeLevel(){return this.getRuleContext(0,Je)}KW_TO(){return this.getToken(t.KW_TO,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}privilegeObjectType(){return this.getRuleContext(0,g2)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_WITH(e){return e===void 0?this.getTokens(t.KW_WITH):this.getToken(t.KW_WITH,e)}KW_AS(){return this.getToken(t.KW_AS,0)}userName(){return this.getRuleContext(0,_t)}userAuthOption(e){return e===void 0?this.getRuleContexts(T0):this.getRuleContext(e,T0)}tlsOption(e){return e===void 0?this.getRuleContexts(t1):this.getRuleContext(e,t1)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_OPTION(e){return e===void 0?this.getTokens(t.KW_OPTION):this.getToken(t.KW_OPTION,e)}userResourceOption(e){return e===void 0?this.getRuleContexts(e1):this.getRuleContext(e,e1)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleOption(){return this.getRuleContext(0,fi)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}userOrRoleName(e){return e===void 0?this.getRuleContexts(je):this.getRuleContext(e,je)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}get ruleIndex(){return t.RULE_grantStatement}enterRule(e){e.enterGrantStatement&&e.enterGrantStatement(this)}exitRule(e){e.exitGrantStatement&&e.exitGrantStatement(this)}accept(e){return e.visitGrantStatement?e.visitGrantStatement(this):e.visitChildren(this)}}class fi extends K{constructor(e,i){super(e,i)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}get ruleIndex(){return t.RULE_roleOption}enterRule(e){e.enterRoleOption&&e.enterRoleOption(this)}exitRule(e){e.exitRoleOption&&e.exitRoleOption(this)}accept(e){return e.visitRoleOption?e.visitRoleOption(this):e.visitChildren(this)}}class R4 extends K{constructor(e,i){super(e,i),this._toOther=[]}KW_GRANT(e){return e===void 0?this.getTokens(t.KW_GRANT):this.getToken(t.KW_GRANT,e)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_TO(){return this.getToken(t.KW_TO,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}get ruleIndex(){return t.RULE_grantProxy}enterRule(e){e.enterGrantProxy&&e.enterGrantProxy(this)}exitRule(e){e.exitGrantProxy&&e.exitGrantProxy(this)}accept(e){return e.visitGrantProxy?e.visitGrantProxy(this):e.visitChildren(this)}}class T4 extends K{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupName(){return this.getRuleContext(0,w7)}KW_VCPU(){return this.getToken(t.KW_VCPU,0)}resourceGroupVcpuSpec(){return this.getRuleContext(0,g1)}KW_THREAD_PRIORITY(){return this.getToken(t.KW_THREAD_PRIORITY,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}get ruleIndex(){return t.RULE_alterResourceGroup}enterRule(e){e.enterAlterResourceGroup&&e.enterAlterResourceGroup(this)}exitRule(e){e.exitAlterResourceGroup&&e.exitAlterResourceGroup(this)}accept(e){return e.visitAlterResourceGroup?e.visitAlterResourceGroup(this):e.visitChildren(this)}}class _4 extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupNameCreate(){return this.getRuleContext(0,ao)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_VCPU(){return this.getToken(t.KW_VCPU,0)}resourceGroupVcpuSpec(){return this.getRuleContext(0,g1)}KW_THREAD_PRIORITY(){return this.getToken(t.KW_THREAD_PRIORITY,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}get ruleIndex(){return t.RULE_createResourceGroup}enterRule(e){e.enterCreateResourceGroup&&e.enterCreateResourceGroup(this)}exitRule(e){e.exitCreateResourceGroup&&e.exitCreateResourceGroup(this)}accept(e){return e.visitCreateResourceGroup?e.visitCreateResourceGroup(this):e.visitChildren(this)}}class A4 extends K{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupName(){return this.getRuleContext(0,w7)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}get ruleIndex(){return t.RULE_dropResourceGroup}enterRule(e){e.enterDropResourceGroup&&e.enterDropResourceGroup(this)}exitRule(e){e.exitDropResourceGroup&&e.exitDropResourceGroup(this)}accept(e){return e.visitDropResourceGroup?e.visitDropResourceGroup(this):e.visitChildren(this)}}class I4 extends K{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupName(){return this.getRuleContext(0,w7)}KW_FOR(){return this.getToken(t.KW_FOR,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_setResourceGroup}enterRule(e){e.enterSetResourceGroup&&e.enterSetResourceGroup(this)}exitRule(e){e.exitSetResourceGroup&&e.exitSetResourceGroup(this)}accept(e){return e.visitSetResourceGroup?e.visitSetResourceGroup(this):e.visitChildren(this)}}class g1 extends K{constructor(e,i){super(e,i)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}MINUS(){return this.getToken(t.MINUS,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}resourceGroupVcpuSpec(e){return e===void 0?this.getRuleContexts(g1):this.getRuleContext(e,g1)}get ruleIndex(){return t.RULE_resourceGroupVcpuSpec}enterRule(e){e.enterResourceGroupVcpuSpec&&e.enterResourceGroupVcpuSpec(this)}exitRule(e){e.exitResourceGroupVcpuSpec&&e.exitResourceGroupVcpuSpec(this)}accept(e){return e.visitResourceGroupVcpuSpec?e.visitResourceGroupVcpuSpec(this):e.visitChildren(this)}}class L4 extends K{constructor(e,i){super(e,i)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_USER(){return this.getToken(t.KW_USER,0)}renameUserClause(e){return e===void 0?this.getRuleContexts(S2):this.getRuleContext(e,S2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_renameUser}enterRule(e){e.enterRenameUser&&e.enterRenameUser(this)}exitRule(e){e.exitRenameUser&&e.exitRenameUser(this)}accept(e){return e.visitRenameUser?e.visitRenameUser(this):e.visitChildren(this)}}class gi extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_revokeStatement}copyFrom(e){super.copyFrom(e)}}class pu extends gi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}privelegeClause(e){return e===void 0?this.getRuleContexts(Hi):this.getRuleContext(e,Hi)}KW_ON(){return this.getToken(t.KW_ON,0)}privilegeLevel(){return this.getRuleContext(0,Je)}KW_FROM(){return this.getToken(t.KW_FROM,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifExists(){return this.getRuleContext(0,Dt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}privilegeObjectType(){return this.getRuleContext(0,g2)}ignoreUnknownUser(){return this.getRuleContext(0,H7)}enterRule(e){e.enterDetailRevoke&&e.enterDetailRevoke(this)}exitRule(e){e.exitDetailRevoke&&e.exitDetailRevoke(this)}accept(e){return e.visitDetailRevoke?e.visitDetailRevoke(this):e.visitChildren(this)}}class xu extends gi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifExists(){return this.getRuleContext(0,Dt)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}ignoreUnknownUser(){return this.getRuleContext(0,H7)}enterRule(e){e.enterShortRevoke&&e.enterShortRevoke(this)}exitRule(e){e.exitShortRevoke&&e.exitShortRevoke(this)}accept(e){return e.visitShortRevoke?e.visitShortRevoke(this):e.visitChildren(this)}}class fu extends gi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}userOrRoleNames(e){return e===void 0?this.getRuleContexts(Oe):this.getRuleContext(e,Oe)}KW_FROM(){return this.getToken(t.KW_FROM,0)}ifExists(){return this.getRuleContext(0,Dt)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_ON(){return this.getToken(t.KW_ON,0)}ignoreUnknownUser(){return this.getRuleContext(0,H7)}enterRule(e){e.enterProxyAndRoleRevoke&&e.enterProxyAndRoleRevoke(this)}exitRule(e){e.exitProxyAndRoleRevoke&&e.exitProxyAndRoleRevoke(this)}accept(e){return e.visitProxyAndRoleRevoke?e.visitProxyAndRoleRevoke(this):e.visitChildren(this)}}class H7 extends K{constructor(e,i){super(e,i)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_USER(){return this.getToken(t.KW_USER,0)}get ruleIndex(){return t.RULE_ignoreUnknownUser}enterRule(e){e.enterIgnoreUnknownUser&&e.enterIgnoreUnknownUser(this)}exitRule(e){e.exitIgnoreUnknownUser&&e.exitIgnoreUnknownUser(this)}accept(e){return e.visitIgnoreUnknownUser?e.visitIgnoreUnknownUser(this):e.visitChildren(this)}}class g2 extends K{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}get ruleIndex(){return t.RULE_privilegeObjectType}enterRule(e){e.enterPrivilegeObjectType&&e.enterPrivilegeObjectType(this)}exitRule(e){e.exitPrivilegeObjectType&&e.exitPrivilegeObjectType(this)}accept(e){return e.visitPrivilegeObjectType?e.visitPrivilegeObjectType(this):e.visitChildren(this)}}class B7 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_setPasswordStatement}copyFrom(e){super.copyFrom(e)}}class gu extends B7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}passwordFunctionClause(){return this.getRuleContext(0,P7)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}userName(){return this.getRuleContext(0,_t)}enterRule(e){e.enterV57&&e.enterV57(this)}exitRule(e){e.exitV57&&e.exitV57(this)}accept(e){return e.visitV57?e.visitV57(this):e.visitChildren(this)}}class Uu extends B7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_PASSWORD(e){return e===void 0?this.getTokens(t.KW_PASSWORD):this.getToken(t.KW_PASSWORD,e)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_FOR(){return this.getToken(t.KW_FOR,0)}userName(){return this.getRuleContext(0,_t)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_RETAIN(){return this.getToken(t.KW_RETAIN,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}enterRule(e){e.enterV80&&e.enterV80(this)}exitRule(e){e.exitV80&&e.exitV80(this)}accept(e){return e.visitV80?e.visitV80(this):e.visitChildren(this)}}class U2 extends K{constructor(e,i){super(e,i)}userName(){return this.getRuleContext(0,_t)}userPasswordOption(){return this.getRuleContext(0,U1)}get ruleIndex(){return t.RULE_userSpecification}enterRule(e){e.enterUserSpecification&&e.enterUserSpecification(this)}exitRule(e){e.exitUserSpecification&&e.exitUserSpecification(this)}accept(e){return e.visitUserSpecification?e.visitUserSpecification(this):e.visitChildren(this)}}class D2 extends K{constructor(e,i){super(e,i)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}authOptionClause(){return this.getRuleContext(0,Di)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}authenticationRule(){return this.getRuleContext(0,ki)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_OLD(){return this.getToken(t.KW_OLD,0)}registrationOption(){return this.getRuleContext(0,C4)}factor(e){return e===void 0?this.getRuleContexts(F7):this.getRuleContext(e,F7)}KW_ADD(e){return e===void 0?this.getTokens(t.KW_ADD):this.getToken(t.KW_ADD,e)}KW_MODIFY(e){return e===void 0?this.getTokens(t.KW_MODIFY):this.getToken(t.KW_MODIFY,e)}KW_DROP(e){return e===void 0?this.getTokens(t.KW_DROP):this.getToken(t.KW_DROP,e)}factorAuthOption(e){return e===void 0?this.getRuleContexts(k2):this.getRuleContext(e,k2)}get ruleIndex(){return t.RULE_alterUserAuthOption}enterRule(e){e.enterAlterUserAuthOption&&e.enterAlterUserAuthOption(this)}exitRule(e){e.exitAlterUserAuthOption&&e.exitAlterUserAuthOption(this)}accept(e){return e.visitAlterUserAuthOption?e.visitAlterUserAuthOption(this):e.visitChildren(this)}}class Ui extends K{constructor(e,i){super(e,i)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_AND(){return this.getToken(t.KW_AND,0)}createUserAuthOption(){return this.getRuleContext(0,Ui)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}uid(){return this.getRuleContext(0,l)}KW_AS(){return this.getToken(t.KW_AS,0)}createUserInitialAuthOption(){return this.getRuleContext(0,O4)}get ruleIndex(){return t.RULE_createUserAuthOption}enterRule(e){e.enterCreateUserAuthOption&&e.enterCreateUserAuthOption(this)}exitRule(e){e.exitCreateUserAuthOption&&e.exitCreateUserAuthOption(this)}accept(e){return e.visitCreateUserAuthOption?e.visitCreateUserAuthOption(this):e.visitChildren(this)}}class O4 extends K{constructor(e,i){super(e,i)}KW_INITIAL(){return this.getToken(t.KW_INITIAL,0)}KW_AUTHENTICATION(){return this.getToken(t.KW_AUTHENTICATION,0)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_AS(){return this.getToken(t.KW_AS,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_createUserInitialAuthOption}enterRule(e){e.enterCreateUserInitialAuthOption&&e.enterCreateUserInitialAuthOption(this)}exitRule(e){e.exitCreateUserInitialAuthOption&&e.exitCreateUserInitialAuthOption(this)}accept(e){return e.visitCreateUserInitialAuthOption?e.visitCreateUserInitialAuthOption(this):e.visitChildren(this)}}class T0 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_userAuthOption}copyFrom(e){super.copyFrom(e)}}class Du extends T0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}enterRule(e){e.enterSimpleAuthOption&&e.enterSimpleAuthOption(this)}exitRule(e){e.exitSimpleAuthOption&&e.exitSimpleAuthOption(this)}accept(e){return e.visitSimpleAuthOption?e.visitSimpleAuthOption(this):e.visitChildren(this)}}class ku extends T0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}authenticationRule(){return this.getRuleContext(0,ki)}enterRule(e){e.enterModuleAuthOption&&e.enterModuleAuthOption(this)}exitRule(e){e.exitModuleAuthOption&&e.exitModuleAuthOption(this)}accept(e){return e.visitModuleAuthOption?e.visitModuleAuthOption(this):e.visitChildren(this)}}class Su extends T0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}authOptionClause(){return this.getRuleContext(0,Di)}enterRule(e){e.enterRandomAuthOption&&e.enterRandomAuthOption(this)}exitRule(e){e.exitRandomAuthOption&&e.exitRandomAuthOption(this)}accept(e){return e.visitRandomAuthOption?e.visitRandomAuthOption(this):e.visitChildren(this)}}class Hu extends T0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}authOptionClause(){return this.getRuleContext(0,Di)}enterRule(e){e.enterStringAuthOption&&e.enterStringAuthOption(this)}exitRule(e){e.exitStringAuthOption&&e.exitStringAuthOption(this)}accept(e){return e.visitStringAuthOption?e.visitStringAuthOption(this):e.visitChildren(this)}}class Bu extends T0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterHashAuthOption&&e.enterHashAuthOption(this)}exitRule(e){e.exitHashAuthOption&&e.exitHashAuthOption(this)}accept(e){return e.visitHashAuthOption?e.visitHashAuthOption(this):e.visitChildren(this)}}class Di extends K{constructor(e,i){super(e,i)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_RETAIN(){return this.getToken(t.KW_RETAIN,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}get ruleIndex(){return t.RULE_authOptionClause}enterRule(e){e.enterAuthOptionClause&&e.enterAuthOptionClause(this)}exitRule(e){e.exitAuthOptionClause&&e.exitAuthOptionClause(this)}accept(e){return e.visitAuthOptionClause?e.visitAuthOptionClause(this):e.visitChildren(this)}}class ki extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_authenticationRule}copyFrom(e){super.copyFrom(e)}}class Fu extends ki{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_USING(){return this.getToken(t.KW_USING,0)}passwordFunctionClause(){return this.getRuleContext(0,P7)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterPasswordModuleOption&&e.enterPasswordModuleOption(this)}exitRule(e){e.exitPasswordModuleOption&&e.exitPasswordModuleOption(this)}accept(e){return e.visitPasswordModuleOption?e.visitPasswordModuleOption(this):e.visitChildren(this)}}class Gu extends ki{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,l)}authOptionClause(){return this.getRuleContext(0,Di)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_AS(){return this.getToken(t.KW_AS,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}enterRule(e){e.enterModule&&e.enterModule(this)}exitRule(e){e.exitModule&&e.exitModule(this)}accept(e){return e.visitModule?e.visitModule(this):e.visitChildren(this)}}class t1 extends K{constructor(e,i){super(e,i)}KW_SSL(){return this.getToken(t.KW_SSL,0)}KW_X509(){return this.getToken(t.KW_X509,0)}KW_CIPHER(){return this.getToken(t.KW_CIPHER,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_ISSUER(){return this.getToken(t.KW_ISSUER,0)}KW_SUBJECT(){return this.getToken(t.KW_SUBJECT,0)}get ruleIndex(){return t.RULE_tlsOption}enterRule(e){e.enterTlsOption&&e.enterTlsOption(this)}exitRule(e){e.exitTlsOption&&e.exitTlsOption(this)}accept(e){return e.visitTlsOption?e.visitTlsOption(this):e.visitChildren(this)}}class e1 extends K{constructor(e,i){super(e,i)}KW_MAX_QUERIES_PER_HOUR(){return this.getToken(t.KW_MAX_QUERIES_PER_HOUR,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_MAX_UPDATES_PER_HOUR(){return this.getToken(t.KW_MAX_UPDATES_PER_HOUR,0)}KW_MAX_CONNECTIONS_PER_HOUR(){return this.getToken(t.KW_MAX_CONNECTIONS_PER_HOUR,0)}KW_MAX_USER_CONNECTIONS(){return this.getToken(t.KW_MAX_USER_CONNECTIONS,0)}get ruleIndex(){return t.RULE_userResourceOption}enterRule(e){e.enterUserResourceOption&&e.enterUserResourceOption(this)}exitRule(e){e.exitUserResourceOption&&e.exitUserResourceOption(this)}accept(e){return e.visitUserResourceOption?e.visitUserResourceOption(this):e.visitChildren(this)}}class U1 extends K{constructor(e,i){super(e,i)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_EXPIRE(){return this.getToken(t.KW_EXPIRE,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NEVER(){return this.getToken(t.KW_NEVER,0)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}KW_HISTORY(){return this.getToken(t.KW_HISTORY,0)}KW_REUSE(){return this.getToken(t.KW_REUSE,0)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_OPTIONAL(){return this.getToken(t.KW_OPTIONAL,0)}KW_FAILED_LOGIN_ATTEMPTS(){return this.getToken(t.KW_FAILED_LOGIN_ATTEMPTS,0)}KW_PASSWORD_LOCK_TIME(){return this.getToken(t.KW_PASSWORD_LOCK_TIME,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}get ruleIndex(){return t.RULE_userPasswordOption}enterRule(e){e.enterUserPasswordOption&&e.enterUserPasswordOption(this)}exitRule(e){e.exitUserPasswordOption&&e.exitUserPasswordOption(this)}accept(e){return e.visitUserPasswordOption?e.visitUserPasswordOption(this):e.visitChildren(this)}}class Si extends K{constructor(e,i){super(e,i)}KW_ACCOUNT(){return this.getToken(t.KW_ACCOUNT,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_UNLOCK(){return this.getToken(t.KW_UNLOCK,0)}get ruleIndex(){return t.RULE_userLockOption}enterRule(e){e.enterUserLockOption&&e.enterUserLockOption(this)}exitRule(e){e.exitUserLockOption&&e.exitUserLockOption(this)}accept(e){return e.visitUserLockOption?e.visitUserLockOption(this):e.visitChildren(this)}}class k2 extends K{constructor(e,i){super(e,i)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_AS(){return this.getToken(t.KW_AS,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}uid(){return this.getRuleContext(0,l)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}get ruleIndex(){return t.RULE_factorAuthOption}enterRule(e){e.enterFactorAuthOption&&e.enterFactorAuthOption(this)}exitRule(e){e.exitFactorAuthOption&&e.exitFactorAuthOption(this)}accept(e){return e.visitFactorAuthOption?e.visitFactorAuthOption(this):e.visitChildren(this)}}class C4 extends K{constructor(e,i){super(e,i)}factor(){return this.getRuleContext(0,F7)}KW_INITIATE(){return this.getToken(t.KW_INITIATE,0)}KW_REGISTRATION(){return this.getToken(t.KW_REGISTRATION,0)}KW_FINISH(){return this.getToken(t.KW_FINISH,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CHALLENGE_RESPONSE(){return this.getToken(t.KW_CHALLENGE_RESPONSE,0)}KW_AS(){return this.getToken(t.KW_AS,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_UNREGISTER(){return this.getToken(t.KW_UNREGISTER,0)}get ruleIndex(){return t.RULE_registrationOption}enterRule(e){e.enterRegistrationOption&&e.enterRegistrationOption(this)}exitRule(e){e.exitRegistrationOption&&e.exitRegistrationOption(this)}accept(e){return e.visitRegistrationOption?e.visitRegistrationOption(this):e.visitChildren(this)}}class F7 extends K{constructor(e,i){super(e,i)}KW_FACTOR(){return this.getToken(t.KW_FACTOR,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}THREE_DECIMAL(){return this.getToken(t.THREE_DECIMAL,0)}get ruleIndex(){return t.RULE_factor}enterRule(e){e.enterFactor&&e.enterFactor(this)}exitRule(e){e.exitFactor&&e.exitFactor(this)}accept(e){return e.visitFactor?e.visitFactor(this):e.visitChildren(this)}}class Hi extends K{constructor(e,i){super(e,i)}privilege(){return this.getRuleContext(0,N4)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,ce)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_privelegeClause}enterRule(e){e.enterPrivelegeClause&&e.enterPrivelegeClause(this)}exitRule(e){e.exitPrivelegeClause&&e.exitPrivelegeClause(this)}accept(e){return e.visitPrivelegeClause?e.visitPrivelegeClause(this):e.visitChildren(this)}}class N4 extends K{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}KW_FILE(){return this.getToken(t.KW_FILE,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_PROCESS(){return this.getToken(t.KW_PROCESS,0)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}KW_RELOAD(){return this.getToken(t.KW_RELOAD,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_CLIENT(){return this.getToken(t.KW_CLIENT,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_DATABASES(){return this.getToken(t.KW_DATABASES,0)}KW_SHUTDOWN(){return this.getToken(t.KW_SHUTDOWN,0)}KW_SUPER(){return this.getToken(t.KW_SUPER,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_USAGE(){return this.getToken(t.KW_USAGE,0)}KW_APPLICATION_PASSWORD_ADMIN(){return this.getToken(t.KW_APPLICATION_PASSWORD_ADMIN,0)}KW_AUDIT_ABORT_EXEMPT(){return this.getToken(t.KW_AUDIT_ABORT_EXEMPT,0)}KW_AUDIT_ADMIN(){return this.getToken(t.KW_AUDIT_ADMIN,0)}KW_AUTHENTICATION_POLICY_ADMIN(){return this.getToken(t.KW_AUTHENTICATION_POLICY_ADMIN,0)}KW_BACKUP_ADMIN(){return this.getToken(t.KW_BACKUP_ADMIN,0)}KW_BINLOG_ADMIN(){return this.getToken(t.KW_BINLOG_ADMIN,0)}KW_BINLOG_ENCRYPTION_ADMIN(){return this.getToken(t.KW_BINLOG_ENCRYPTION_ADMIN,0)}KW_CLONE_ADMIN(){return this.getToken(t.KW_CLONE_ADMIN,0)}KW_CONNECTION_ADMIN(){return this.getToken(t.KW_CONNECTION_ADMIN,0)}KW_ENCRYPTION_KEY_ADMIN(){return this.getToken(t.KW_ENCRYPTION_KEY_ADMIN,0)}KW_FIREWALL_ADMIN(){return this.getToken(t.KW_FIREWALL_ADMIN,0)}KW_FIREWALL_EXEMPT(){return this.getToken(t.KW_FIREWALL_EXEMPT,0)}KW_FIREWALL_USER(){return this.getToken(t.KW_FIREWALL_USER,0)}KW_FLUSH_OPTIMIZER_COSTS(){return this.getToken(t.KW_FLUSH_OPTIMIZER_COSTS,0)}KW_FLUSH_STATUS(){return this.getToken(t.KW_FLUSH_STATUS,0)}KW_FLUSH_TABLES(){return this.getToken(t.KW_FLUSH_TABLES,0)}KW_FLUSH_USER_RESOURCES(){return this.getToken(t.KW_FLUSH_USER_RESOURCES,0)}KW_GROUP_REPLICATION_ADMIN(){return this.getToken(t.KW_GROUP_REPLICATION_ADMIN,0)}KW_INNODB_REDO_LOG_ARCHIVE(){return this.getToken(t.KW_INNODB_REDO_LOG_ARCHIVE,0)}KW_INNODB_REDO_LOG_ENABLE(){return this.getToken(t.KW_INNODB_REDO_LOG_ENABLE,0)}KW_NDB_STORED_USER(){return this.getToken(t.KW_NDB_STORED_USER,0)}KW_PASSWORDLESS_USER_ADMIN(){return this.getToken(t.KW_PASSWORDLESS_USER_ADMIN,0)}KW_PERSIST_RO_VARIABLES_ADMIN(){return this.getToken(t.KW_PERSIST_RO_VARIABLES_ADMIN,0)}KW_REPLICATION_APPLIER(){return this.getToken(t.KW_REPLICATION_APPLIER,0)}KW_REPLICATION_SLAVE_ADMIN(){return this.getToken(t.KW_REPLICATION_SLAVE_ADMIN,0)}KW_RESOURCE_GROUP_ADMIN(){return this.getToken(t.KW_RESOURCE_GROUP_ADMIN,0)}KW_RESOURCE_GROUP_USER(){return this.getToken(t.KW_RESOURCE_GROUP_USER,0)}KW_ROLE_ADMIN(){return this.getToken(t.KW_ROLE_ADMIN,0)}KW_SERVICE_CONNECTION_ADMIN(){return this.getToken(t.KW_SERVICE_CONNECTION_ADMIN,0)}KW_SESSION_VARIABLES_ADMIN(){return this.getToken(t.KW_SESSION_VARIABLES_ADMIN,0)}KW_SET_USER_ID(){return this.getToken(t.KW_SET_USER_ID,0)}KW_SKIP_QUERY_REWRITE(){return this.getToken(t.KW_SKIP_QUERY_REWRITE,0)}KW_SHOW_ROUTINE(){return this.getToken(t.KW_SHOW_ROUTINE,0)}KW_SYSTEM_USER(){return this.getToken(t.KW_SYSTEM_USER,0)}KW_SYSTEM_VARIABLES_ADMIN(){return this.getToken(t.KW_SYSTEM_VARIABLES_ADMIN,0)}KW_TABLE_ENCRYPTION_ADMIN(){return this.getToken(t.KW_TABLE_ENCRYPTION_ADMIN,0)}KW_TP_CONNECTION_ADMIN(){return this.getToken(t.KW_TP_CONNECTION_ADMIN,0)}KW_VERSION_TOKEN_ADMIN(){return this.getToken(t.KW_VERSION_TOKEN_ADMIN,0)}KW_XA_RECOVER_ADMIN(){return this.getToken(t.KW_XA_RECOVER_ADMIN,0)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_S3(){return this.getToken(t.KW_S3,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_INVOKE(){return this.getToken(t.KW_INVOKE,0)}KW_LAMBDA(){return this.getToken(t.KW_LAMBDA,0)}get ruleIndex(){return t.RULE_privilege}enterRule(e){e.enterPrivilege&&e.enterPrivilege(this)}exitRule(e){e.exitPrivilege&&e.exitPrivilege(this)}accept(e){return e.visitPrivilege?e.visitPrivilege(this):e.visitChildren(this)}}class Je extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_privilegeLevel}copyFrom(e){super.copyFrom(e)}}class bu extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,l)}DOT(){return this.getToken(t.DOT,0)}STAR(){return this.getToken(t.STAR,0)}enterRule(e){e.enterDefiniteSchemaPrivLevel&&e.enterDefiniteSchemaPrivLevel(this)}exitRule(e){e.exitDefiniteSchemaPrivLevel&&e.exitDefiniteSchemaPrivLevel(this)}accept(e){return e.visitDefiniteSchemaPrivLevel?e.visitDefiniteSchemaPrivLevel(this):e.visitChildren(this)}}class wu extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,l)}dottedId(){return this.getRuleContext(0,s1)}enterRule(e){e.enterDefiniteFullTablePrivLevel2&&e.enterDefiniteFullTablePrivLevel2(this)}exitRule(e){e.exitDefiniteFullTablePrivLevel2&&e.exitDefiniteFullTablePrivLevel2(this)}accept(e){return e.visitDefiniteFullTablePrivLevel2?e.visitDefiniteFullTablePrivLevel2(this):e.visitChildren(this)}}class vu extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}DOT(){return this.getToken(t.DOT,0)}enterRule(e){e.enterDefiniteFullTablePrivLevel&&e.enterDefiniteFullTablePrivLevel(this)}exitRule(e){e.exitDefiniteFullTablePrivLevel&&e.exitDefiniteFullTablePrivLevel(this)}accept(e){return e.visitDefiniteFullTablePrivLevel?e.visitDefiniteFullTablePrivLevel(this):e.visitChildren(this)}}class Yu extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}STAR(e){return e===void 0?this.getTokens(t.STAR):this.getToken(t.STAR,e)}DOT(){return this.getToken(t.DOT,0)}enterRule(e){e.enterGlobalPrivLevel&&e.enterGlobalPrivLevel(this)}exitRule(e){e.exitGlobalPrivLevel&&e.exitGlobalPrivLevel(this)}accept(e){return e.visitGlobalPrivLevel?e.visitGlobalPrivLevel(this):e.visitChildren(this)}}class Vu extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterDefiniteTablePrivLevel&&e.enterDefiniteTablePrivLevel(this)}exitRule(e){e.exitDefiniteTablePrivLevel&&e.exitDefiniteTablePrivLevel(this)}accept(e){return e.visitDefiniteTablePrivLevel?e.visitDefiniteTablePrivLevel(this):e.visitChildren(this)}}class Xu extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}STAR(){return this.getToken(t.STAR,0)}enterRule(e){e.enterCurrentSchemaPriviLevel&&e.enterCurrentSchemaPriviLevel(this)}exitRule(e){e.exitCurrentSchemaPriviLevel&&e.exitCurrentSchemaPriviLevel(this)}accept(e){return e.visitCurrentSchemaPriviLevel?e.visitCurrentSchemaPriviLevel(this):e.visitChildren(this)}}class S2 extends K{constructor(e,i){super(e,i)}KW_TO(){return this.getToken(t.KW_TO,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}get ruleIndex(){return t.RULE_renameUserClause}enterRule(e){e.enterRenameUserClause&&e.enterRenameUserClause(this)}exitRule(e){e.exitRenameUserClause&&e.exitRenameUserClause(this)}accept(e){return e.visitRenameUserClause?e.visitRenameUserClause(this):e.visitChildren(this)}}class l4 extends K{constructor(e,i){super(e,i)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}tableActionOption(){return this.getRuleContext(0,Bi)}tableName(){return this.getRuleContext(0,X)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_HISTOGRAM(){return this.getToken(t.KW_HISTOGRAM,0)}KW_ON(){return this.getToken(t.KW_ON,0)}columnNames(){return this.getRuleContext(0,ce)}KW_WITH(){return this.getToken(t.KW_WITH,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_BUCKETS(){return this.getToken(t.KW_BUCKETS,0)}columnName(){return this.getRuleContext(0,At)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_analyzeTable}enterRule(e){e.enterAnalyzeTable&&e.enterAnalyzeTable(this)}exitRule(e){e.exitAnalyzeTable&&e.exitAnalyzeTable(this)}accept(e){return e.visitAnalyzeTable?e.visitAnalyzeTable(this):e.visitChildren(this)}}class d4 extends K{constructor(e,i){super(e,i)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}checkTableOption(e){return e===void 0?this.getRuleContexts(H2):this.getRuleContext(e,H2)}get ruleIndex(){return t.RULE_checkTable}enterRule(e){e.enterCheckTable&&e.enterCheckTable(this)}exitRule(e){e.exitCheckTable&&e.exitCheckTable(this)}accept(e){return e.visitCheckTable?e.visitCheckTable(this):e.visitChildren(this)}}class m4 extends K{constructor(e,i){super(e,i)}KW_CHECKSUM(){return this.getToken(t.KW_CHECKSUM,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}get ruleIndex(){return t.RULE_checksumTable}enterRule(e){e.enterChecksumTable&&e.enterChecksumTable(this)}exitRule(e){e.exitChecksumTable&&e.exitChecksumTable(this)}accept(e){return e.visitChecksumTable?e.visitChecksumTable(this):e.visitChildren(this)}}class p4 extends K{constructor(e,i){super(e,i)}KW_OPTIMIZE(){return this.getToken(t.KW_OPTIMIZE,0)}tableNames(){return this.getRuleContext(0,Le)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}tableActionOption(){return this.getRuleContext(0,Bi)}get ruleIndex(){return t.RULE_optimizeTable}enterRule(e){e.enterOptimizeTable&&e.enterOptimizeTable(this)}exitRule(e){e.exitOptimizeTable&&e.exitOptimizeTable(this)}accept(e){return e.visitOptimizeTable?e.visitOptimizeTable(this):e.visitChildren(this)}}class x4 extends K{constructor(e,i){super(e,i)}KW_REPAIR(){return this.getToken(t.KW_REPAIR,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}tableActionOption(){return this.getRuleContext(0,Bi)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_USE_FRM(){return this.getToken(t.KW_USE_FRM,0)}get ruleIndex(){return t.RULE_repairTable}enterRule(e){e.enterRepairTable&&e.enterRepairTable(this)}exitRule(e){e.exitRepairTable&&e.exitRepairTable(this)}accept(e){return e.visitRepairTable?e.visitRepairTable(this):e.visitChildren(this)}}class Bi extends K{constructor(e,i){super(e,i)}KW_NO_WRITE_TO_BINLOG(){return this.getToken(t.KW_NO_WRITE_TO_BINLOG,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_tableActionOption}enterRule(e){e.enterTableActionOption&&e.enterTableActionOption(this)}exitRule(e){e.exitTableActionOption&&e.exitTableActionOption(this)}accept(e){return e.visitTableActionOption?e.visitTableActionOption(this):e.visitChildren(this)}}class H2 extends K{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_FAST(){return this.getToken(t.KW_FAST,0)}KW_MEDIUM(){return this.getToken(t.KW_MEDIUM,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_CHANGED(){return this.getToken(t.KW_CHANGED,0)}get ruleIndex(){return t.RULE_checkTableOption}enterRule(e){e.enterCheckTableOption&&e.enterCheckTableOption(this)}exitRule(e){e.exitCheckTableOption&&e.exitCheckTableOption(this)}accept(e){return e.visitCheckTableOption?e.visitCheckTableOption(this):e.visitChildren(this)}}class f4 extends K{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,no)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_SONAME(){return this.getToken(t.KW_SONAME,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_STRING(){return this.getToken(t.KW_STRING,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_REAL(){return this.getToken(t.KW_REAL,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_createFunction}enterRule(e){e.enterCreateFunction&&e.enterCreateFunction(this)}exitRule(e){e.exitCreateFunction&&e.exitCreateFunction(this)}accept(e){return e.visitCreateFunction?e.visitCreateFunction(this):e.visitChildren(this)}}class g4 extends K{constructor(e,i){super(e,i)}KW_INSTALL(){return this.getToken(t.KW_INSTALL,0)}KW_COMPONENT(){return this.getToken(t.KW_COMPONENT,0)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_SET(){return this.getToken(t.KW_SET,0)}variableExpr(e){return e===void 0?this.getRuleContexts(B2):this.getRuleContext(e,B2)}get ruleIndex(){return t.RULE_installComponent}enterRule(e){e.enterInstallComponent&&e.enterInstallComponent(this)}exitRule(e){e.exitInstallComponent&&e.exitInstallComponent(this)}accept(e){return e.visitInstallComponent?e.visitInstallComponent(this):e.visitChildren(this)}}class B2 extends K{constructor(e,i){super(e,i)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}expression(){return this.getRuleContext(0,U)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}GLOBAL_ID(){return this.getToken(t.GLOBAL_ID,0)}KW_PERSIST(){return this.getToken(t.KW_PERSIST,0)}PERSIST_ID(){return this.getToken(t.PERSIST_ID,0)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_variableExpr}enterRule(e){e.enterVariableExpr&&e.enterVariableExpr(this)}exitRule(e){e.exitVariableExpr&&e.exitVariableExpr(this)}accept(e){return e.visitVariableExpr?e.visitVariableExpr(this):e.visitChildren(this)}}class U4 extends K{constructor(e,i){super(e,i)}KW_UNINSTALL(){return this.getToken(t.KW_UNINSTALL,0)}KW_COMPONENT(){return this.getToken(t.KW_COMPONENT,0)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_uninstallComponent}enterRule(e){e.enterUninstallComponent&&e.enterUninstallComponent(this)}exitRule(e){e.exitUninstallComponent&&e.exitUninstallComponent(this)}accept(e){return e.visitUninstallComponent?e.visitUninstallComponent(this):e.visitChildren(this)}}class D4 extends K{constructor(e,i){super(e,i)}KW_INSTALL(){return this.getToken(t.KW_INSTALL,0)}KW_PLUGIN(){return this.getToken(t.KW_PLUGIN,0)}KW_SONAME(){return this.getToken(t.KW_SONAME,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_installPlugin}enterRule(e){e.enterInstallPlugin&&e.enterInstallPlugin(this)}exitRule(e){e.exitInstallPlugin&&e.exitInstallPlugin(this)}accept(e){return e.visitInstallPlugin?e.visitInstallPlugin(this):e.visitChildren(this)}}class k4 extends K{constructor(e,i){super(e,i)}KW_UNINSTALL(){return this.getToken(t.KW_UNINSTALL,0)}KW_PLUGIN(){return this.getToken(t.KW_PLUGIN,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_uninstallPlugin}enterRule(e){e.enterUninstallPlugin&&e.enterUninstallPlugin(this)}exitRule(e){e.exitUninstallPlugin&&e.exitUninstallPlugin(this)}accept(e){return e.visitUninstallPlugin?e.visitUninstallPlugin(this):e.visitChildren(this)}}class S4 extends K{constructor(e,i){super(e,i)}KW_CLONE(){return this.getToken(t.KW_CLONE,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_INSTANCE(){return this.getToken(t.KW_INSTANCE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}userHostPort(){return this.getRuleContext(0,co)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_SSL(){return this.getToken(t.KW_SSL,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_cloneStatement}enterRule(e){e.enterCloneStatement&&e.enterCloneStatement(this)}exitRule(e){e.exitCloneStatement&&e.exitCloneStatement(this)}accept(e){return e.visitCloneStatement?e.visitCloneStatement(this):e.visitChildren(this)}}class ze extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_setStatement}copyFrom(e){super.copyFrom(e)}}class Qu extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}setTransactionStatement(){return this.getRuleContext(0,fc)}enterRule(e){e.enterSetTransaction&&e.enterSetTransaction(this)}exitRule(e){e.exitSetTransaction&&e.exitSetTransaction(this)}accept(e){return e.visitSetTransaction?e.visitSetTransaction(this):e.visitChildren(this)}}class Zu extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}enterRule(e){e.enterSetCharset&&e.enterSetCharset(this)}exitRule(e){e.exitSetCharset&&e.exitSetCharset(this)}accept(e){return e.visitSetCharset?e.visitSetCharset(this):e.visitChildren(this)}}class Ju extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}charsetName(){return this.getRuleContext(0,Bt)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterSetNames&&e.enterSetNames(this)}exitRule(e){e.exitSetNames&&e.exitSetNames(this)}accept(e){return e.visitSetNames?e.visitSetNames(this):e.visitChildren(this)}}class zu extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}setPasswordStatement(){return this.getRuleContext(0,B7)}enterRule(e){e.enterSetPassword&&e.enterSetPassword(this)}exitRule(e){e.exitSetPassword&&e.exitSetPassword(this)}accept(e){return e.visitSetPassword?e.visitSetPassword(this):e.visitChildren(this)}}class ju extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}setAutocommitStatement(){return this.getRuleContext(0,xc)}enterRule(e){e.enterSetAutocommit&&e.enterSetAutocommit(this)}exitRule(e){e.exitSetAutocommit&&e.exitSetAutocommit(this)}accept(e){return e.visitSetAutocommit?e.visitSetAutocommit(this):e.visitChildren(this)}}class $u extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}fullId(e){return e===void 0?this.getRuleContexts(ht):this.getRuleContext(e,ht)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}VAR_ASSIGN(e){return e===void 0?this.getTokens(t.VAR_ASSIGN):this.getToken(t.VAR_ASSIGN,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSetNewValueInsideTrigger&&e.enterSetNewValueInsideTrigger(this)}exitRule(e){e.exitSetNewValueInsideTrigger&&e.exitSetNewValueInsideTrigger(this)}accept(e){return e.visitSetNewValueInsideTrigger?e.visitSetNewValueInsideTrigger(this):e.visitChildren(this)}}class Mu extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}variableClause(e){return e===void 0?this.getRuleContexts(Fi):this.getRuleContext(e,Fi)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}VAR_ASSIGN(e){return e===void 0?this.getTokens(t.VAR_ASSIGN):this.getToken(t.VAR_ASSIGN,e)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSetVariable&&e.enterSetVariable(this)}exitRule(e){e.exitSetVariable&&e.exitSetVariable(this)}accept(e){return e.visitSetVariable?e.visitSetVariable(this):e.visitChildren(this)}}class rt extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_showStatement}copyFrom(e){super.copyFrom(e)}}class Pu extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}databaseName(){return this.getRuleContext(0,Qt)}showFilter(){return this.getRuleContext(0,Gi)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}enterRule(e){e.enterShowOpenTables&&e.enterShowOpenTables(this)}exitRule(e){e.exitShowOpenTables&&e.exitShowOpenTables(this)}accept(e){return e.visitShowOpenTables?e.visitShowOpenTables(this):e.visitChildren(this)}}class yu extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}showGlobalInfoClause(){return this.getRuleContext(0,B4)}enterRule(e){e.enterShowGlobalInfo&&e.enterShowGlobalInfo(this)}exitRule(e){e.exitShowGlobalInfo&&e.exitShowGlobalInfo(this)}accept(e){return e.visitShowGlobalInfo?e.visitShowGlobalInfo(this):e.visitChildren(this)}}class qu extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}fullId(){return this.getRuleContext(0,ht)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}enterRule(e){e.enterShowCreateFullIdObject&&e.enterShowCreateFullIdObject(this)}exitRule(e){e.exitShowCreateFullIdObject&&e.exitShowCreateFullIdObject(this)}accept(e){return e.visitShowCreateFullIdObject?e.visitShowCreateFullIdObject(this):e.visitChildren(this)}}class tK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}userName(){return this.getRuleContext(0,_t)}enterRule(e){e.enterShowCreateUser&&e.enterShowCreateUser(this)}exitRule(e){e.exitShowCreateUser&&e.exitShowCreateUser(this)}accept(e){return e.visitShowCreateUser?e.visitShowCreateUser(this):e.visitChildren(this)}}class eK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_ERRORS(){return this.getToken(t.KW_ERRORS,0)}KW_WARNINGS(){return this.getToken(t.KW_WARNINGS,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(){return this.getToken(t.COMMA,0)}enterRule(e){e.enterShowErrors&&e.enterShowErrors(this)}exitRule(e){e.exitShowErrors&&e.exitShowErrors(this)}accept(e){return e.visitShowErrors?e.visitShowErrors(this):e.visitChildren(this)}}class iK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,k1)}enterRule(e){e.enterShowCreateFunction&&e.enterShowCreateFunction(this)}exitRule(e){e.exitShowCreateFunction&&e.exitShowCreateFunction(this)}accept(e){return e.visitShowCreateFunction?e.visitShowCreateFunction(this):e.visitChildren(this)}}class sK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_CODE(){return this.getToken(t.KW_CODE,0)}fullId(){return this.getRuleContext(0,ht)}enterRule(e){e.enterShowPercedureCode&&e.enterShowPercedureCode(this)}exitRule(e){e.exitShowPercedureCode&&e.exitShowPercedureCode(this)}accept(e){return e.visitShowPercedureCode?e.visitShowPercedureCode(this):e.visitChildren(this)}}class nK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}STAR(){return this.getToken(t.STAR,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_ERRORS(){return this.getToken(t.KW_ERRORS,0)}KW_WARNINGS(){return this.getToken(t.KW_WARNINGS,0)}enterRule(e){e.enterShowCountErrors&&e.enterShowCountErrors(this)}exitRule(e){e.exitShowCountErrors&&e.exitShowCountErrors(this)}accept(e){return e.visitShowCountErrors?e.visitShowCountErrors(this):e.visitChildren(this)}}class hK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_CODE(){return this.getToken(t.KW_CODE,0)}functionName(){return this.getRuleContext(0,k1)}enterRule(e){e.enterShowFunctionCode&&e.enterShowFunctionCode(this)}exitRule(e){e.exitShowFunctionCode&&e.exitShowFunctionCode(this)}accept(e){return e.visitShowFunctionCode?e.visitShowFunctionCode(this):e.visitChildren(this)}}class aK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}showCommonEntity(){return this.getRuleContext(0,H4)}showFilter(){return this.getRuleContext(0,Gi)}enterRule(e){e.enterShowObjectFilter&&e.enterShowObjectFilter(this)}exitRule(e){e.exitShowObjectFilter&&e.exitShowObjectFilter(this)}accept(e){return e.visitShowObjectFilter?e.visitShowObjectFilter(this):e.visitChildren(this)}}class cK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_REPLICAS(){return this.getToken(t.KW_REPLICAS,0)}enterRule(e){e.enterShowReplicas&&e.enterShowReplicas(this)}exitRule(e){e.exitShowReplicas&&e.exitShowReplicas(this)}accept(e){return e.visitShowReplicas?e.visitShowReplicas(this):e.visitChildren(this)}}class oK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}databaseName(){return this.getRuleContext(0,Qt)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}ifNotExists(){return this.getRuleContext(0,re)}enterRule(e){e.enterShowCreateDb&&e.enterShowCreateDb(this)}exitRule(e){e.exitShowCreateDb&&e.exitShowCreateDb(this)}accept(e){return e.visitShowCreateDb?e.visitShowCreateDb(this):e.visitChildren(this)}}class rK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_MUTEX(){return this.getToken(t.KW_MUTEX,0)}enterRule(e){e.enterShowEngine&&e.enterShowEngine(this)}exitRule(e){e.exitShowEngine&&e.exitShowEngine(this)}accept(e){return e.visitShowEngine?e.visitShowEngine(this):e.visitChildren(this)}}class EK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}showSchemaEntity(){return this.getRuleContext(0,F4)}databaseName(){return this.getRuleContext(0,Qt)}showFilter(){return this.getRuleContext(0,Gi)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}enterRule(e){e.enterShowSchemaFilter&&e.enterShowSchemaFilter(this)}exitRule(e){e.exitShowSchemaFilter&&e.exitShowSchemaFilter(this)}accept(e){return e.visitShowSchemaFilter?e.visitShowSchemaFilter(this):e.visitChildren(this)}}class uK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}tableName(){return this.getRuleContext(0,X)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_KEYS(){return this.getToken(t.KW_KEYS,0)}KW_FROM(e){return e===void 0?this.getTokens(t.KW_FROM):this.getToken(t.KW_FROM,e)}KW_IN(e){return e===void 0?this.getTokens(t.KW_IN):this.getToken(t.KW_IN,e)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}databaseName(){return this.getRuleContext(0,Qt)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}enterRule(e){e.enterShowIndexes&&e.enterShowIndexes(this)}exitRule(e){e.exitShowIndexes&&e.exitShowIndexes(this)}accept(e){return e.visitShowIndexes?e.visitShowIndexes(this):e.visitChildren(this)}}class KK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_EVENTS(){return this.getToken(t.KW_EVENTS,0)}KW_BINLOG(){return this.getToken(t.KW_BINLOG,0)}KW_RELAYLOG(){return this.getToken(t.KW_RELAYLOG,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}channelOption(){return this.getRuleContext(0,Be)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(){return this.getToken(t.COMMA,0)}enterRule(e){e.enterShowLogEvents&&e.enterShowLogEvents(this)}exitRule(e){e.exitShowLogEvents&&e.exitShowLogEvents(this)}accept(e){return e.visitShowLogEvents?e.visitShowLogEvents(this):e.visitChildren(this)}}class WK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}enterRule(e){e.enterShowMasterLogs&&e.enterShowMasterLogs(this)}exitRule(e){e.exitShowMasterLogs&&e.exitShowMasterLogs(this)}accept(e){return e.visitShowMasterLogs?e.visitShowMasterLogs(this):e.visitChildren(this)}}class RK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_GRANTS(){return this.getToken(t.KW_GRANTS,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}userOrRoleName(){return this.getRuleContext(0,je)}KW_USING(){return this.getToken(t.KW_USING,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}enterRule(e){e.enterShowGrants&&e.enterShowGrants(this)}exitRule(e){e.exitShowGrants&&e.exitShowGrants(this)}accept(e){return e.visitShowGrants?e.visitShowGrants(this):e.visitChildren(this)}}class TK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}channelOption(){return this.getRuleContext(0,Be)}enterRule(e){e.enterShowSlaveStatus&&e.enterShowSlaveStatus(this)}exitRule(e){e.exitShowSlaveStatus&&e.exitShowSlaveStatus(this)}accept(e){return e.visitShowSlaveStatus?e.visitShowSlaveStatus(this):e.visitChildren(this)}}class _K extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}enterRule(e){e.enterShowCreateTable&&e.enterShowCreateTable(this)}exitRule(e){e.exitShowCreateTable&&e.exitShowCreateTable(this)}accept(e){return e.visitShowCreateTable?e.visitShowCreateTable(this):e.visitChildren(this)}}class AK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_PROFILE(){return this.getToken(t.KW_PROFILE,0)}showProfileType(e){return e===void 0?this.getRuleContexts(F2):this.getRuleContext(e,F2)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}enterRule(e){e.enterShowProfile&&e.enterShowProfile(this)}exitRule(e){e.exitShowProfile&&e.exitShowProfile(this)}accept(e){return e.visitShowProfile?e.visitShowProfile(this):e.visitChildren(this)}}class IK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}tableName(){return this.getRuleContext(0,X)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_FROM(e){return e===void 0?this.getTokens(t.KW_FROM):this.getToken(t.KW_FROM,e)}KW_IN(e){return e===void 0?this.getTokens(t.KW_IN):this.getToken(t.KW_IN,e)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}databaseName(){return this.getRuleContext(0,Qt)}showFilter(){return this.getRuleContext(0,Gi)}enterRule(e){e.enterShowColumns&&e.enterShowColumns(this)}exitRule(e){e.exitShowColumns&&e.exitShowColumns(this)}accept(e){return e.visitShowColumns?e.visitShowColumns(this):e.visitChildren(this)}}class LK extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewName(){return this.getRuleContext(0,wi)}enterRule(e){e.enterShowCreateView&&e.enterShowCreateView(this)}exitRule(e){e.exitShowCreateView&&e.exitShowCreateView(this)}accept(e){return e.visitShowCreateView?e.visitShowCreateView(this):e.visitChildren(this)}}class Fi extends K{constructor(e,i){super(e,i)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}GLOBAL_ID(){return this.getToken(t.GLOBAL_ID,0)}uid(){return this.getRuleContext(0,l)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_PERSIST(){return this.getToken(t.KW_PERSIST,0)}KW_PERSIST_ONLY(){return this.getToken(t.KW_PERSIST_ONLY,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}AT_SIGN(e){return e===void 0?this.getTokens(t.AT_SIGN):this.getToken(t.AT_SIGN,e)}get ruleIndex(){return t.RULE_variableClause}enterRule(e){e.enterVariableClause&&e.enterVariableClause(this)}exitRule(e){e.exitVariableClause&&e.exitVariableClause(this)}accept(e){return e.visitVariableClause?e.visitVariableClause(this):e.visitChildren(this)}}class H4 extends K{constructor(e,i){super(e,i)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_DATABASES(){return this.getToken(t.KW_DATABASES,0)}KW_SCHEMAS(){return this.getToken(t.KW_SCHEMAS,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_VARIABLES(){return this.getToken(t.KW_VARIABLES,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}get ruleIndex(){return t.RULE_showCommonEntity}enterRule(e){e.enterShowCommonEntity&&e.enterShowCommonEntity(this)}exitRule(e){e.exitShowCommonEntity&&e.exitShowCommonEntity(this)}accept(e){return e.visitShowCommonEntity?e.visitShowCommonEntity(this):e.visitChildren(this)}}class Gi extends K{constructor(e,i){super(e,i)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_showFilter}enterRule(e){e.enterShowFilter&&e.enterShowFilter(this)}exitRule(e){e.exitShowFilter&&e.exitShowFilter(this)}accept(e){return e.visitShowFilter?e.visitShowFilter(this):e.visitChildren(this)}}class B4 extends K{constructor(e,i){super(e,i)}KW_ENGINES(){return this.getToken(t.KW_ENGINES,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_PLUGINS(){return this.getToken(t.KW_PLUGINS,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_PROCESSLIST(){return this.getToken(t.KW_PROCESSLIST,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_PROFILES(){return this.getToken(t.KW_PROFILES,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_HOSTS(){return this.getToken(t.KW_HOSTS,0)}KW_AUTHORS(){return this.getToken(t.KW_AUTHORS,0)}KW_CONTRIBUTORS(){return this.getToken(t.KW_CONTRIBUTORS,0)}get ruleIndex(){return t.RULE_showGlobalInfoClause}enterRule(e){e.enterShowGlobalInfoClause&&e.enterShowGlobalInfoClause(this)}exitRule(e){e.exitShowGlobalInfoClause&&e.exitShowGlobalInfoClause(this)}accept(e){return e.visitShowGlobalInfoClause?e.visitShowGlobalInfoClause(this):e.visitChildren(this)}}class F4 extends K{constructor(e,i){super(e,i)}KW_EVENTS(){return this.getToken(t.KW_EVENTS,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_TRIGGERS(){return this.getToken(t.KW_TRIGGERS,0)}get ruleIndex(){return t.RULE_showSchemaEntity}enterRule(e){e.enterShowSchemaEntity&&e.enterShowSchemaEntity(this)}exitRule(e){e.exitShowSchemaEntity&&e.exitShowSchemaEntity(this)}accept(e){return e.visitShowSchemaEntity?e.visitShowSchemaEntity(this):e.visitChildren(this)}}class F2 extends K{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_BLOCK(){return this.getToken(t.KW_BLOCK,0)}KW_IO(){return this.getToken(t.KW_IO,0)}KW_CONTEXT(){return this.getToken(t.KW_CONTEXT,0)}KW_SWITCHES(){return this.getToken(t.KW_SWITCHES,0)}KW_CPU(){return this.getToken(t.KW_CPU,0)}KW_IPC(){return this.getToken(t.KW_IPC,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_PAGE(){return this.getToken(t.KW_PAGE,0)}KW_FAULTS(){return this.getToken(t.KW_FAULTS,0)}KW_SOURCE(){return this.getToken(t.KW_SOURCE,0)}KW_SWAPS(){return this.getToken(t.KW_SWAPS,0)}get ruleIndex(){return t.RULE_showProfileType}enterRule(e){e.enterShowProfileType&&e.enterShowProfileType(this)}exitRule(e){e.exitShowProfileType&&e.exitShowProfileType(this)}accept(e){return e.visitShowProfileType?e.visitShowProfileType(this):e.visitChildren(this)}}class G4 extends K{constructor(e,i){super(e,i)}KW_BINLOG(){return this.getToken(t.KW_BINLOG,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_binlogStatement}enterRule(e){e.enterBinlogStatement&&e.enterBinlogStatement(this)}exitRule(e){e.exitBinlogStatement&&e.exitBinlogStatement(this)}accept(e){return e.visitBinlogStatement?e.visitBinlogStatement(this):e.visitChildren(this)}}class b4 extends K{constructor(e,i){super(e,i)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_IN(){return this.getToken(t.KW_IN,0)}databaseName(){return this.getRuleContext(0,Qt)}tableIndex(e){return e===void 0?this.getRuleContexts(b2):this.getRuleContext(e,b2)}tableName(){return this.getRuleContext(0,X)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_cacheIndexStatement}enterRule(e){e.enterCacheIndexStatement&&e.enterCacheIndexStatement(this)}exitRule(e){e.exitCacheIndexStatement&&e.exitCacheIndexStatement(this)}accept(e){return e.visitCacheIndexStatement?e.visitCacheIndexStatement(this):e.visitChildren(this)}}class w4 extends K{constructor(e,i){super(e,i)}KW_FLUSH(){return this.getToken(t.KW_FLUSH,0)}flushOption(e){return e===void 0?this.getRuleContexts(D1):this.getRuleContext(e,D1)}tableActionOption(){return this.getRuleContext(0,Bi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_flushStatement}enterRule(e){e.enterFlushStatement&&e.enterFlushStatement(this)}exitRule(e){e.exitFlushStatement&&e.exitFlushStatement(this)}accept(e){return e.visitFlushStatement?e.visitFlushStatement(this):e.visitChildren(this)}}class v4 extends K{constructor(e,i){super(e,i)}KW_KILL(){return this.getToken(t.KW_KILL,0)}expression(){return this.getRuleContext(0,U)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}get ruleIndex(){return t.RULE_killStatement}enterRule(e){e.enterKillStatement&&e.enterKillStatement(this)}exitRule(e){e.exitKillStatement&&e.exitKillStatement(this)}accept(e){return e.visitKillStatement?e.visitKillStatement(this):e.visitChildren(this)}}class Y4 extends K{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}loadedTableIndexes(e){return e===void 0?this.getRuleContexts(w2):this.getRuleContext(e,w2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_loadIndexIntoCache}enterRule(e){e.enterLoadIndexIntoCache&&e.enterLoadIndexIntoCache(this)}exitRule(e){e.exitLoadIndexIntoCache&&e.exitLoadIndexIntoCache(this)}accept(e){return e.visitLoadIndexIntoCache?e.visitLoadIndexIntoCache(this):e.visitChildren(this)}}class V4 extends K{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}resetOption(e){return e===void 0?this.getRuleContexts(G2):this.getRuleContext(e,G2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_resetStatement}enterRule(e){e.enterResetStatement&&e.enterResetStatement(this)}exitRule(e){e.exitResetStatement&&e.exitResetStatement(this)}accept(e){return e.visitResetStatement?e.visitResetStatement(this):e.visitChildren(this)}}class G2 extends K{constructor(e,i){super(e,i)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}get ruleIndex(){return t.RULE_resetOption}enterRule(e){e.enterResetOption&&e.enterResetOption(this)}exitRule(e){e.exitResetOption&&e.exitResetOption(this)}accept(e){return e.visitResetOption?e.visitResetOption(this):e.visitChildren(this)}}class X4 extends K{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_PERSIST(){return this.getToken(t.KW_PERSIST,0)}uid(){return this.getRuleContext(0,l)}ifExists(){return this.getRuleContext(0,Dt)}get ruleIndex(){return t.RULE_resetPersist}enterRule(e){e.enterResetPersist&&e.enterResetPersist(this)}exitRule(e){e.exitResetPersist&&e.exitResetPersist(this)}accept(e){return e.visitResetPersist?e.visitResetPersist(this):e.visitChildren(this)}}class Q4 extends K{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_resetAllChannel}enterRule(e){e.enterResetAllChannel&&e.enterResetAllChannel(this)}exitRule(e){e.exitResetAllChannel&&e.exitResetAllChannel(this)}accept(e){return e.visitResetAllChannel?e.visitResetAllChannel(this):e.visitChildren(this)}}class Z4 extends K{constructor(e,i){super(e,i)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}get ruleIndex(){return t.RULE_reStartStatement}enterRule(e){e.enterReStartStatement&&e.enterReStartStatement(this)}exitRule(e){e.exitReStartStatement&&e.exitReStartStatement(this)}accept(e){return e.visitReStartStatement?e.visitReStartStatement(this):e.visitChildren(this)}}class J4 extends K{constructor(e,i){super(e,i)}KW_SHUTDOWN(){return this.getToken(t.KW_SHUTDOWN,0)}get ruleIndex(){return t.RULE_shutdownStatement}enterRule(e){e.enterShutdownStatement&&e.enterShutdownStatement(this)}exitRule(e){e.exitShutdownStatement&&e.exitShutdownStatement(this)}accept(e){return e.visitShutdownStatement?e.visitShutdownStatement(this):e.visitChildren(this)}}class b2 extends K{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}indexNames(){return this.getRuleContext(0,b7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_tableIndex}enterRule(e){e.enterTableIndex&&e.enterTableIndex(this)}exitRule(e){e.exitTableIndex&&e.exitTableIndex(this)}accept(e){return e.visitTableIndex?e.visitTableIndex(this):e.visitChildren(this)}}class D1 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_flushOption}copyFrom(e){super.copyFrom(e)}}class OK extends D1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}tableNames(){return this.getRuleContext(0,Le)}flushTableOption(){return this.getRuleContext(0,z4)}enterRule(e){e.enterTableFlushOption&&e.enterTableFlushOption(this)}exitRule(e){e.exitTableFlushOption&&e.exitTableFlushOption(this)}accept(e){return e.visitTableFlushOption?e.visitTableFlushOption(this):e.visitChildren(this)}}class CK extends D1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RELAY(){return this.getToken(t.KW_RELAY,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}channelOption(){return this.getRuleContext(0,Be)}enterRule(e){e.enterChannelFlushOption&&e.enterChannelFlushOption(this)}exitRule(e){e.exitChannelFlushOption&&e.exitChannelFlushOption(this)}accept(e){return e.visitChannelFlushOption?e.visitChannelFlushOption(this):e.visitChildren(this)}}class NK extends D1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DES_KEY_FILE(){return this.getToken(t.KW_DES_KEY_FILE,0)}KW_HOSTS(){return this.getToken(t.KW_HOSTS,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_OPTIMIZER_COSTS(){return this.getToken(t.KW_OPTIMIZER_COSTS,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_USER_RESOURCES(){return this.getToken(t.KW_USER_RESOURCES,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_GENERAL(){return this.getToken(t.KW_GENERAL,0)}KW_RELAY(){return this.getToken(t.KW_RELAY,0)}KW_SLOW(){return this.getToken(t.KW_SLOW,0)}enterRule(e){e.enterSimpleFlushOption&&e.enterSimpleFlushOption(this)}exitRule(e){e.exitSimpleFlushOption&&e.exitSimpleFlushOption(this)}accept(e){return e.visitSimpleFlushOption?e.visitSimpleFlushOption(this):e.visitChildren(this)}}class z4 extends K{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_EXPORT(){return this.getToken(t.KW_EXPORT,0)}get ruleIndex(){return t.RULE_flushTableOption}enterRule(e){e.enterFlushTableOption&&e.enterFlushTableOption(this)}exitRule(e){e.exitFlushTableOption&&e.exitFlushTableOption(this)}accept(e){return e.visitFlushTableOption?e.visitFlushTableOption(this):e.visitChildren(this)}}class w2 extends K{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}indexNames(){return this.getRuleContext(0,b7)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_LEAVES(){return this.getToken(t.KW_LEAVES,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_loadedTableIndexes}enterRule(e){e.enterLoadedTableIndexes&&e.enterLoadedTableIndexes(this)}exitRule(e){e.exitLoadedTableIndexes&&e.exitLoadedTableIndexes(this)}accept(e){return e.visitLoadedTableIndexes?e.visitLoadedTableIndexes(this):e.visitChildren(this)}}class j4 extends K{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_DESCRIBE(){return this.getToken(t.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}columnName(){return this.getRuleContext(0,At)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_simpleDescribeStatement}enterRule(e){e.enterSimpleDescribeStatement&&e.enterSimpleDescribeStatement(this)}exitRule(e){e.exitSimpleDescribeStatement&&e.exitSimpleDescribeStatement(this)}accept(e){return e.visitSimpleDescribeStatement?e.visitSimpleDescribeStatement(this):e.visitChildren(this)}}class $4 extends K{constructor(e,i){super(e,i)}describeObjectClause(){return this.getRuleContext(0,G7)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_DESCRIBE(){return this.getToken(t.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_PARTITIONS(){return this.getToken(t.KW_PARTITIONS,0)}KW_FORMAT(){return this.getToken(t.KW_FORMAT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_TRADITIONAL(){return this.getToken(t.KW_TRADITIONAL,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_TREE(){return this.getToken(t.KW_TREE,0)}get ruleIndex(){return t.RULE_fullDescribeStatement}enterRule(e){e.enterFullDescribeStatement&&e.enterFullDescribeStatement(this)}exitRule(e){e.exitFullDescribeStatement&&e.exitFullDescribeStatement(this)}accept(e){return e.visitFullDescribeStatement?e.visitFullDescribeStatement(this):e.visitChildren(this)}}class M4 extends K{constructor(e,i){super(e,i)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}selectStatement(){return this.getRuleContext(0,ft)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_DESCRIBE(){return this.getToken(t.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_FORMAT(){return this.getToken(t.KW_FORMAT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_TREE(){return this.getToken(t.KW_TREE,0)}get ruleIndex(){return t.RULE_analyzeDescribeStatement}enterRule(e){e.enterAnalyzeDescribeStatement&&e.enterAnalyzeDescribeStatement(this)}exitRule(e){e.exitAnalyzeDescribeStatement&&e.exitAnalyzeDescribeStatement(this)}accept(e){return e.visitAnalyzeDescribeStatement?e.visitAnalyzeDescribeStatement(this):e.visitChildren(this)}}class P4 extends K{constructor(e,i){super(e,i)}KW_HELP(){return this.getToken(t.KW_HELP,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_helpStatement}enterRule(e){e.enterHelpStatement&&e.enterHelpStatement(this)}exitRule(e){e.exitHelpStatement&&e.exitHelpStatement(this)}accept(e){return e.visitHelpStatement?e.visitHelpStatement(this):e.visitChildren(this)}}class y4 extends K{constructor(e,i){super(e,i)}KW_USE(){return this.getToken(t.KW_USE,0)}databaseName(){return this.getRuleContext(0,Qt)}get ruleIndex(){return t.RULE_useStatement}enterRule(e){e.enterUseStatement&&e.enterUseStatement(this)}exitRule(e){e.exitUseStatement&&e.exitUseStatement(this)}accept(e){return e.visitUseStatement?e.visitUseStatement(this):e.visitChildren(this)}}class q4 extends K{constructor(e,i){super(e,i)}KW_SIGNAL(){return this.getToken(t.KW_SIGNAL,0)}ID(){return this.getToken(t.ID,0)}REVERSE_QUOTE_ID(){return this.getToken(t.REVERSE_QUOTE_ID,0)}KW_SET(){return this.getToken(t.KW_SET,0)}signalConditionInformation(e){return e===void 0?this.getRuleContexts(bi):this.getRuleContext(e,bi)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}stringLiteral(){return this.getRuleContext(0,Ft)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_signalStatement}enterRule(e){e.enterSignalStatement&&e.enterSignalStatement(this)}exitRule(e){e.exitSignalStatement&&e.exitSignalStatement(this)}accept(e){return e.visitSignalStatement?e.visitSignalStatement(this):e.visitChildren(this)}}class to extends K{constructor(e,i){super(e,i)}KW_RESIGNAL(){return this.getToken(t.KW_RESIGNAL,0)}ID(){return this.getToken(t.ID,0)}REVERSE_QUOTE_ID(){return this.getToken(t.REVERSE_QUOTE_ID,0)}KW_SET(){return this.getToken(t.KW_SET,0)}signalConditionInformation(e){return e===void 0?this.getRuleContexts(bi):this.getRuleContext(e,bi)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}stringLiteral(){return this.getRuleContext(0,Ft)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_resignalStatement}enterRule(e){e.enterResignalStatement&&e.enterResignalStatement(this)}exitRule(e){e.exitResignalStatement&&e.exitResignalStatement(this)}accept(e){return e.visitResignalStatement?e.visitResignalStatement(this):e.visitChildren(this)}}class bi extends K{constructor(e,i){super(e,i)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_CLASS_ORIGIN(){return this.getToken(t.KW_CLASS_ORIGIN,0)}KW_SUBCLASS_ORIGIN(){return this.getToken(t.KW_SUBCLASS_ORIGIN,0)}KW_MESSAGE_TEXT(){return this.getToken(t.KW_MESSAGE_TEXT,0)}KW_MYSQL_ERRNO(){return this.getToken(t.KW_MYSQL_ERRNO,0)}KW_CONSTRAINT_CATALOG(){return this.getToken(t.KW_CONSTRAINT_CATALOG,0)}KW_CONSTRAINT_SCHEMA(){return this.getToken(t.KW_CONSTRAINT_SCHEMA,0)}KW_CONSTRAINT_NAME(){return this.getToken(t.KW_CONSTRAINT_NAME,0)}KW_CATALOG_NAME(){return this.getToken(t.KW_CATALOG_NAME,0)}KW_SCHEMA_NAME(){return this.getToken(t.KW_SCHEMA_NAME,0)}KW_TABLE_NAME(){return this.getToken(t.KW_TABLE_NAME,0)}KW_COLUMN_NAME(){return this.getToken(t.KW_COLUMN_NAME,0)}KW_CURSOR_NAME(){return this.getToken(t.KW_CURSOR_NAME,0)}stringLiteral(){return this.getRuleContext(0,Ft)}DECIMAL_LITERAL(){return this.getToken(t.DECIMAL_LITERAL,0)}mysqlVariable(){return this.getRuleContext(0,V7)}simpleId(){return this.getRuleContext(0,X7)}get ruleIndex(){return t.RULE_signalConditionInformation}enterRule(e){e.enterSignalConditionInformation&&e.enterSignalConditionInformation(this)}exitRule(e){e.exitSignalConditionInformation&&e.exitSignalConditionInformation(this)}accept(e){return e.visitSignalConditionInformation?e.visitSignalConditionInformation(this):e.visitChildren(this)}}class eo extends K{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}commonTableExpressions(e){return e===void 0?this.getRuleContexts(m1):this.getRuleContext(e,m1)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_withStatement}enterRule(e){e.enterWithStatement&&e.enterWithStatement(this)}exitRule(e){e.exitWithStatement&&e.exitWithStatement(this)}accept(e){return e.visitWithStatement?e.visitWithStatement(this):e.visitChildren(this)}}class v2 extends K{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}orderByClause(){return this.getRuleContext(0,qt)}limitClause(){return this.getRuleContext(0,Ie)}get ruleIndex(){return t.RULE_tableStatement}enterRule(e){e.enterTableStatement&&e.enterTableStatement(this)}exitRule(e){e.exitTableStatement&&e.exitTableStatement(this)}accept(e){return e.visitTableStatement?e.visitTableStatement(this):e.visitChildren(this)}}class io extends K{constructor(e,i){super(e,i)}KW_GET(){return this.getToken(t.KW_GET,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}variableClause(e){return e===void 0?this.getRuleContexts(Fi):this.getRuleContext(e,Fi)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_CONDITION(){return this.getToken(t.KW_CONDITION,0)}diagnosticsConditionInformationName(e){return e===void 0?this.getRuleContexts(Y2):this.getRuleContext(e,Y2)}KW_NUMBER(e){return e===void 0?this.getTokens(t.KW_NUMBER):this.getToken(t.KW_NUMBER,e)}KW_ROW_COUNT(e){return e===void 0?this.getTokens(t.KW_ROW_COUNT):this.getToken(t.KW_ROW_COUNT,e)}decimalLiteral(){return this.getRuleContext(0,H)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_diagnosticsStatement}enterRule(e){e.enterDiagnosticsStatement&&e.enterDiagnosticsStatement(this)}exitRule(e){e.exitDiagnosticsStatement&&e.exitDiagnosticsStatement(this)}accept(e){return e.visitDiagnosticsStatement?e.visitDiagnosticsStatement(this):e.visitChildren(this)}}class Y2 extends K{constructor(e,i){super(e,i)}KW_CLASS_ORIGIN(){return this.getToken(t.KW_CLASS_ORIGIN,0)}KW_SUBCLASS_ORIGIN(){return this.getToken(t.KW_SUBCLASS_ORIGIN,0)}KW_RETURNED_SQLSTATE(){return this.getToken(t.KW_RETURNED_SQLSTATE,0)}KW_MESSAGE_TEXT(){return this.getToken(t.KW_MESSAGE_TEXT,0)}KW_MYSQL_ERRNO(){return this.getToken(t.KW_MYSQL_ERRNO,0)}KW_CONSTRAINT_CATALOG(){return this.getToken(t.KW_CONSTRAINT_CATALOG,0)}KW_CONSTRAINT_SCHEMA(){return this.getToken(t.KW_CONSTRAINT_SCHEMA,0)}KW_CONSTRAINT_NAME(){return this.getToken(t.KW_CONSTRAINT_NAME,0)}KW_CATALOG_NAME(){return this.getToken(t.KW_CATALOG_NAME,0)}KW_SCHEMA_NAME(){return this.getToken(t.KW_SCHEMA_NAME,0)}KW_TABLE_NAME(){return this.getToken(t.KW_TABLE_NAME,0)}KW_COLUMN_NAME(){return this.getToken(t.KW_COLUMN_NAME,0)}KW_CURSOR_NAME(){return this.getToken(t.KW_CURSOR_NAME,0)}get ruleIndex(){return t.RULE_diagnosticsConditionInformationName}enterRule(e){e.enterDiagnosticsConditionInformationName&&e.enterDiagnosticsConditionInformationName(this)}exitRule(e){e.exitDiagnosticsConditionInformationName&&e.exitDiagnosticsConditionInformationName(this)}accept(e){return e.visitDiagnosticsConditionInformationName?e.visitDiagnosticsConditionInformationName(this):e.visitChildren(this)}}class G7 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_describeObjectClause}copyFrom(e){super.copyFrom(e)}}class lK extends G7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}selectStatement(){return this.getRuleContext(0,ft)}deleteStatement(){return this.getRuleContext(0,e2)}insertStatement(){return this.getRuleContext(0,i2)}replaceStatement(){return this.getRuleContext(0,h2)}updateStatement(){return this.getRuleContext(0,a2)}enterRule(e){e.enterDescribeStatements&&e.enterDescribeStatements(this)}exitRule(e){e.exitDescribeStatements&&e.exitDescribeStatements(this)}accept(e){return e.visitDescribeStatements?e.visitDescribeStatements(this):e.visitChildren(this)}}class dK extends G7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}uid(){return this.getRuleContext(0,l)}enterRule(e){e.enterDescribeConnection&&e.enterDescribeConnection(this)}exitRule(e){e.exitDescribeConnection&&e.exitDescribeConnection(this)}accept(e){return e.visitDescribeConnection?e.visitDescribeConnection(this):e.visitChildren(this)}}class so extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_databaseNameCreate}enterRule(e){e.enterDatabaseNameCreate&&e.enterDatabaseNameCreate(this)}exitRule(e){e.exitDatabaseNameCreate&&e.exitDatabaseNameCreate(this)}accept(e){return e.visitDatabaseNameCreate?e.visitDatabaseNameCreate(this):e.visitChildren(this)}}class Qt extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_databaseName}enterRule(e){e.enterDatabaseName&&e.enterDatabaseName(this)}exitRule(e){e.exitDatabaseName&&e.exitDatabaseName(this)}accept(e){return e.visitDatabaseName?e.visitDatabaseName(this):e.visitChildren(this)}}class no extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_functionNameCreate}enterRule(e){e.enterFunctionNameCreate&&e.enterFunctionNameCreate(this)}exitRule(e){e.exitFunctionNameCreate&&e.exitFunctionNameCreate(this)}accept(e){return e.visitFunctionNameCreate?e.visitFunctionNameCreate(this):e.visitChildren(this)}}class k1 extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_functionName}enterRule(e){e.enterFunctionName&&e.enterFunctionName(this)}exitRule(e){e.exitFunctionName&&e.exitFunctionName(this)}accept(e){return e.visitFunctionName?e.visitFunctionName(this):e.visitChildren(this)}}class ho extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_viewNameCreate}enterRule(e){e.enterViewNameCreate&&e.enterViewNameCreate(this)}exitRule(e){e.exitViewNameCreate&&e.exitViewNameCreate(this)}accept(e){return e.visitViewNameCreate?e.visitViewNameCreate(this):e.visitChildren(this)}}class wi extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_viewName}enterRule(e){e.enterViewName&&e.enterViewName(this)}exitRule(e){e.exitViewName&&e.exitViewName(this)}accept(e){return e.visitViewName?e.visitViewName(this):e.visitChildren(this)}}class V2 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_indexNameCreate}enterRule(e){e.enterIndexNameCreate&&e.enterIndexNameCreate(this)}exitRule(e){e.exitIndexNameCreate&&e.exitIndexNameCreate(this)}accept(e){return e.visitIndexNameCreate?e.visitIndexNameCreate(this):e.visitChildren(this)}}class b7 extends K{constructor(e,i){super(e,i)}indexName(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_indexNames}enterRule(e){e.enterIndexNames&&e.enterIndexNames(this)}exitRule(e){e.exitIndexNames&&e.exitIndexNames(this)}accept(e){return e.visitIndexNames?e.visitIndexNames(this):e.visitChildren(this)}}class te extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_indexName}enterRule(e){e.enterIndexName&&e.enterIndexName(this)}exitRule(e){e.exitIndexName&&e.exitIndexName(this)}accept(e){return e.visitIndexName?e.visitIndexName(this):e.visitChildren(this)}}class ao extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_groupNameCreate}enterRule(e){e.enterGroupNameCreate&&e.enterGroupNameCreate(this)}exitRule(e){e.exitGroupNameCreate&&e.exitGroupNameCreate(this)}accept(e){return e.visitGroupNameCreate?e.visitGroupNameCreate(this):e.visitChildren(this)}}class w7 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_groupName}enterRule(e){e.enterGroupName&&e.enterGroupName(this)}exitRule(e){e.exitGroupName&&e.exitGroupName(this)}accept(e){return e.visitGroupName?e.visitGroupName(this):e.visitChildren(this)}}class S1 extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_tableNameCreate}enterRule(e){e.enterTableNameCreate&&e.enterTableNameCreate(this)}exitRule(e){e.exitTableNameCreate&&e.exitTableNameCreate(this)}accept(e){return e.visitTableNameCreate?e.visitTableNameCreate(this):e.visitChildren(this)}}class Le extends K{constructor(e,i){super(e,i)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tableNames}enterRule(e){e.enterTableNames&&e.enterTableNames(this)}exitRule(e){e.exitTableNames&&e.exitTableNames(this)}accept(e){return e.visitTableNames?e.visitTableNames(this):e.visitChildren(this)}}class X extends K{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_tableName}enterRule(e){e.enterTableName&&e.enterTableName(this)}exitRule(e){e.exitTableName&&e.exitTableName(this)}accept(e){return e.visitTableName?e.visitTableName(this):e.visitChildren(this)}}class Oe extends K{constructor(e,i){super(e,i)}userOrRoleName(e){return e===void 0?this.getRuleContexts(je):this.getRuleContext(e,je)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_userOrRoleNames}enterRule(e){e.enterUserOrRoleNames&&e.enterUserOrRoleNames(this)}exitRule(e){e.exitUserOrRoleNames&&e.exitUserOrRoleNames(this)}accept(e){return e.visitUserOrRoleNames?e.visitUserOrRoleNames(this):e.visitChildren(this)}}class je extends K{constructor(e,i){super(e,i)}userName(){return this.getRuleContext(0,_t)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_userOrRoleName}enterRule(e){e.enterUserOrRoleName&&e.enterUserOrRoleName(this)}exitRule(e){e.exitUserOrRoleName&&e.exitUserOrRoleName(this)}accept(e){return e.visitUserOrRoleName?e.visitUserOrRoleName(this):e.visitChildren(this)}}class H1 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}dottedId(e){return e===void 0?this.getRuleContexts(s1):this.getRuleContext(e,s1)}get ruleIndex(){return t.RULE_columnNameCreate}enterRule(e){e.enterColumnNameCreate&&e.enterColumnNameCreate(this)}exitRule(e){e.exitColumnNameCreate&&e.exitColumnNameCreate(this)}accept(e){return e.visitColumnNameCreate?e.visitColumnNameCreate(this):e.visitChildren(this)}}class ce extends K{constructor(e,i){super(e,i)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_columnNames}enterRule(e){e.enterColumnNames&&e.enterColumnNames(this)}exitRule(e){e.exitColumnNames&&e.exitColumnNames(this)}accept(e){return e.visitColumnNames?e.visitColumnNames(this):e.visitChildren(this)}}class At extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}dottedId(e){return e===void 0?this.getRuleContexts(s1):this.getRuleContext(e,s1)}get ruleIndex(){return t.RULE_columnName}enterRule(e){e.enterColumnName&&e.enterColumnName(this)}exitRule(e){e.exitColumnName&&e.exitColumnName(this)}accept(e){return e.visitColumnName?e.visitColumnName(this):e.visitChildren(this)}}class v7 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_tablespaceNameCreate}enterRule(e){e.enterTablespaceNameCreate&&e.enterTablespaceNameCreate(this)}exitRule(e){e.exitTablespaceNameCreate&&e.exitTablespaceNameCreate(this)}accept(e){return e.visitTablespaceNameCreate?e.visitTablespaceNameCreate(this):e.visitChildren(this)}}class vi extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_tablespaceName}enterRule(e){e.enterTablespaceName&&e.enterTablespaceName(this)}exitRule(e){e.exitTablespaceName&&e.exitTablespaceName(this)}accept(e){return e.visitTablespaceName?e.visitTablespaceName(this):e.visitChildren(this)}}class mK extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_partitionNameCreate}enterRule(e){e.enterPartitionNameCreate&&e.enterPartitionNameCreate(this)}exitRule(e){e.exitPartitionNameCreate&&e.exitPartitionNameCreate(this)}accept(e){return e.visitPartitionNameCreate?e.visitPartitionNameCreate(this):e.visitChildren(this)}}class gt extends K{constructor(e,i){super(e,i)}partitionName(e){return e===void 0?this.getRuleContexts(_0):this.getRuleContext(e,_0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionNames}enterRule(e){e.enterPartitionNames&&e.enterPartitionNames(this)}exitRule(e){e.exitPartitionNames&&e.exitPartitionNames(this)}accept(e){return e.visitPartitionNames?e.visitPartitionNames(this):e.visitChildren(this)}}class _0 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_partitionName}enterRule(e){e.enterPartitionName&&e.enterPartitionName(this)}exitRule(e){e.exitPartitionName&&e.exitPartitionName(this)}accept(e){return e.visitPartitionName?e.visitPartitionName(this):e.visitChildren(this)}}class Y7 extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}expression(){return this.getRuleContext(0,U)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,H)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_indexColumnName}enterRule(e){e.enterIndexColumnName&&e.enterIndexColumnName(this)}exitRule(e){e.exitIndexColumnName&&e.exitIndexColumnName(this)}accept(e){return e.visitIndexColumnName?e.visitIndexColumnName(this):e.visitChildren(this)}}class co extends K{constructor(e,i){super(e,i)}userAtHost(){return this.getRuleContext(0,oo)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_userHostPort}enterRule(e){e.enterUserHostPort&&e.enterUserHostPort(this)}exitRule(e){e.exitUserHostPort&&e.exitUserHostPort(this)}accept(e){return e.visitUserHostPort?e.visitUserHostPort(this):e.visitChildren(this)}}class oo extends K{constructor(e,i){super(e,i)}simpleUserName(){return this.getRuleContext(0,X2)}HOST_IP_ADDRESS(){return this.getToken(t.HOST_IP_ADDRESS,0)}get ruleIndex(){return t.RULE_userAtHost}enterRule(e){e.enterUserAtHost&&e.enterUserAtHost(this)}exitRule(e){e.exitUserAtHost&&e.exitUserAtHost(this)}accept(e){return e.visitUserAtHost?e.visitUserAtHost(this):e.visitChildren(this)}}class X2 extends K{constructor(e,i){super(e,i)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}ID(){return this.getToken(t.ID,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}keywordsCanBeId(){return this.getRuleContext(0,c5)}get ruleIndex(){return t.RULE_simpleUserName}enterRule(e){e.enterSimpleUserName&&e.enterSimpleUserName(this)}exitRule(e){e.exitSimpleUserName&&e.exitSimpleUserName(this)}accept(e){return e.visitSimpleUserName?e.visitSimpleUserName(this):e.visitChildren(this)}}class ro extends K{constructor(e,i){super(e,i)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}HOST_IP_ADDRESS(){return this.getToken(t.HOST_IP_ADDRESS,0)}AT_SIGN(){return this.getToken(t.AT_SIGN,0)}get ruleIndex(){return t.RULE_hostName}enterRule(e){e.enterHostName&&e.enterHostName(this)}exitRule(e){e.exitHostName&&e.exitHostName(this)}accept(e){return e.visitHostName?e.visitHostName(this):e.visitChildren(this)}}class _t extends K{constructor(e,i){super(e,i)}simpleUserName(){return this.getRuleContext(0,X2)}hostName(){return this.getRuleContext(0,ro)}currentUserExpression(){return this.getRuleContext(0,d7)}get ruleIndex(){return t.RULE_userName}enterRule(e){e.enterUserName&&e.enterUserName(this)}exitRule(e){e.exitUserName&&e.exitUserName(this)}accept(e){return e.visitUserName?e.visitUserName(this):e.visitChildren(this)}}class V7 extends K{constructor(e,i){super(e,i)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}GLOBAL_ID(){return this.getToken(t.GLOBAL_ID,0)}get ruleIndex(){return t.RULE_mysqlVariable}enterRule(e){e.enterMysqlVariable&&e.enterMysqlVariable(this)}exitRule(e){e.exitMysqlVariable&&e.exitMysqlVariable(this)}accept(e){return e.visitMysqlVariable?e.visitMysqlVariable(this):e.visitChildren(this)}}class Bt extends K{constructor(e,i){super(e,i)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}charsetNameBase(){return this.getRuleContext(0,h5)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}CHARSET_REVERSE_QOUTE_STRING(){return this.getToken(t.CHARSET_REVERSE_QOUTE_STRING,0)}get ruleIndex(){return t.RULE_charsetName}enterRule(e){e.enterCharsetName&&e.enterCharsetName(this)}exitRule(e){e.exitCharsetName&&e.exitCharsetName(this)}accept(e){return e.visitCharsetName?e.visitCharsetName(this):e.visitChildren(this)}}class Ce extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_collationName}enterRule(e){e.enterCollationName&&e.enterCollationName(this)}exitRule(e){e.exitCollationName&&e.exitCollationName(this)}accept(e){return e.visitCollationName?e.visitCollationName(this):e.visitChildren(this)}}class Ne extends K{constructor(e,i){super(e,i)}engineNameBase(){return this.getRuleContext(0,Q2)}ID(){return this.getToken(t.ID,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_engineName}enterRule(e){e.enterEngineName&&e.enterEngineName(this)}exitRule(e){e.exitEngineName&&e.exitEngineName(this)}accept(e){return e.visitEngineName?e.visitEngineName(this):e.visitChildren(this)}}class Q2 extends K{constructor(e,i){super(e,i)}KW_ARCHIVE(){return this.getToken(t.KW_ARCHIVE,0)}KW_BLACKHOLE(){return this.getToken(t.KW_BLACKHOLE,0)}KW_CONNECT(){return this.getToken(t.KW_CONNECT,0)}KW_CSV(){return this.getToken(t.KW_CSV,0)}KW_FEDERATED(){return this.getToken(t.KW_FEDERATED,0)}KW_INNODB(){return this.getToken(t.KW_INNODB,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_MRG_MYISAM(){return this.getToken(t.KW_MRG_MYISAM,0)}KW_MYISAM(){return this.getToken(t.KW_MYISAM,0)}KW_NDB(){return this.getToken(t.KW_NDB,0)}KW_NDBCLUSTER(){return this.getToken(t.KW_NDBCLUSTER,0)}KW_PERFORMANCE_SCHEMA(){return this.getToken(t.KW_PERFORMANCE_SCHEMA,0)}KW_TOKUDB(){return this.getToken(t.KW_TOKUDB,0)}get ruleIndex(){return t.RULE_engineNameBase}enterRule(e){e.enterEngineNameBase&&e.enterEngineNameBase(this)}exitRule(e){e.exitEngineNameBase&&e.exitEngineNameBase(this)}accept(e){return e.visitEngineNameBase?e.visitEngineNameBase(this):e.visitChildren(this)}}class Z2 extends K{constructor(e,i){super(e,i)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}MINUS(e){return e===void 0?this.getTokens(t.MINUS):this.getToken(t.MINUS,e)}COLON_SYMB(e){return e===void 0?this.getTokens(t.COLON_SYMB):this.getToken(t.COLON_SYMB,e)}get ruleIndex(){return t.RULE_uuidSet}enterRule(e){e.enterUuidSet&&e.enterUuidSet(this)}exitRule(e){e.exitUuidSet&&e.exitUuidSet(this)}accept(e){return e.visitUuidSet?e.visitUuidSet(this):e.visitChildren(this)}}class i1 extends K{constructor(e,i){super(e,i)}xuidStringId(e){return e===void 0?this.getRuleContexts(J2):this.getRuleContext(e,J2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_xid}enterRule(e){e.enterXid&&e.enterXid(this)}exitRule(e){e.exitXid&&e.exitXid(this)}accept(e){return e.visitXid?e.visitXid(this):e.visitChildren(this)}}class J2 extends K{constructor(e,i){super(e,i)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}BIT_STRING(){return this.getToken(t.BIT_STRING,0)}HEXADECIMAL_LITERAL(e){return e===void 0?this.getTokens(t.HEXADECIMAL_LITERAL):this.getToken(t.HEXADECIMAL_LITERAL,e)}get ruleIndex(){return t.RULE_xuidStringId}enterRule(e){e.enterXuidStringId&&e.enterXuidStringId(this)}exitRule(e){e.exitXuidStringId&&e.exitXuidStringId(this)}accept(e){return e.visitXuidStringId?e.visitXuidStringId(this):e.visitChildren(this)}}class ht extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}dottedId(){return this.getRuleContext(0,s1)}get ruleIndex(){return t.RULE_fullId}enterRule(e){e.enterFullId&&e.enterFullId(this)}exitRule(e){e.exitFullId&&e.exitFullId(this)}accept(e){return e.visitFullId?e.visitFullId(this):e.visitChildren(this)}}class z2 extends K{constructor(e,i){super(e,i)}uid(e){return e===void 0?this.getRuleContexts(l):this.getRuleContext(e,l)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_uidList}enterRule(e){e.enterUidList&&e.enterUidList(this)}exitRule(e){e.exitUidList&&e.exitUidList(this)}accept(e){return e.visitUidList?e.visitUidList(this):e.visitChildren(this)}}class l extends K{constructor(e,i){super(e,i)}simpleId(){return this.getRuleContext(0,X7)}CHARSET_REVERSE_QOUTE_STRING(){return this.getToken(t.CHARSET_REVERSE_QOUTE_STRING,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_uid}enterRule(e){e.enterUid&&e.enterUid(this)}exitRule(e){e.exitUid&&e.exitUid(this)}accept(e){return e.visitUid?e.visitUid(this):e.visitChildren(this)}}class X7 extends K{constructor(e,i){super(e,i)}ID(){return this.getToken(t.ID,0)}charsetNameBase(){return this.getRuleContext(0,h5)}transactionLevelBase(){return this.getRuleContext(0,Do)}engineNameBase(){return this.getRuleContext(0,Q2)}privilegesBase(){return this.getRuleContext(0,ko)}intervalTypeBase(){return this.getRuleContext(0,a5)}dataTypeBase(){return this.getRuleContext(0,So)}keywordsCanBeId(){return this.getRuleContext(0,c5)}scalarFunctionName(){return this.getRuleContext(0,i5)}get ruleIndex(){return t.RULE_simpleId}enterRule(e){e.enterSimpleId&&e.enterSimpleId(this)}exitRule(e){e.exitSimpleId&&e.exitSimpleId(this)}accept(e){return e.visitSimpleId?e.visitSimpleId(this):e.visitChildren(this)}}class s1 extends K{constructor(e,i){super(e,i)}DOT(){return this.getToken(t.DOT,0)}ID(){return this.getToken(t.ID,0)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_dottedId}enterRule(e){e.enterDottedId&&e.enterDottedId(this)}exitRule(e){e.exitDottedId&&e.exitDottedId(this)}accept(e){return e.visitDottedId?e.visitDottedId(this):e.visitChildren(this)}}class H extends K{constructor(e,i){super(e,i)}DECIMAL_LITERAL(){return this.getToken(t.DECIMAL_LITERAL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}THREE_DECIMAL(){return this.getToken(t.THREE_DECIMAL,0)}REAL_LITERAL(){return this.getToken(t.REAL_LITERAL,0)}get ruleIndex(){return t.RULE_decimalLiteral}enterRule(e){e.enterDecimalLiteral&&e.enterDecimalLiteral(this)}exitRule(e){e.exitDecimalLiteral&&e.exitDecimalLiteral(this)}accept(e){return e.visitDecimalLiteral?e.visitDecimalLiteral(this):e.visitChildren(this)}}class oe extends K{constructor(e,i){super(e,i)}FILESIZE_LITERAL(){return this.getToken(t.FILESIZE_LITERAL,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_fileSizeLiteral}enterRule(e){e.enterFileSizeLiteral&&e.enterFileSizeLiteral(this)}exitRule(e){e.exitFileSizeLiteral&&e.exitFileSizeLiteral(this)}accept(e){return e.visitFileSizeLiteral?e.visitFileSizeLiteral(this):e.visitChildren(this)}}class Ft extends K{constructor(e,i){super(e,i)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}START_NATIONAL_STRING_LITERAL(){return this.getToken(t.START_NATIONAL_STRING_LITERAL,0)}STRING_CHARSET_NAME(){return this.getToken(t.STRING_CHARSET_NAME,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}get ruleIndex(){return t.RULE_stringLiteral}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}}class Eo extends K{constructor(e,i){super(e,i)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}get ruleIndex(){return t.RULE_booleanLiteral}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}}class uo extends K{constructor(e,i){super(e,i)}HEXADECIMAL_LITERAL(){return this.getToken(t.HEXADECIMAL_LITERAL,0)}STRING_CHARSET_NAME(){return this.getToken(t.STRING_CHARSET_NAME,0)}get ruleIndex(){return t.RULE_hexadecimalLiteral}enterRule(e){e.enterHexadecimalLiteral&&e.enterHexadecimalLiteral(this)}exitRule(e){e.exitHexadecimalLiteral&&e.exitHexadecimalLiteral(this)}accept(e){return e.visitHexadecimalLiteral?e.visitHexadecimalLiteral(this):e.visitChildren(this)}}class j2 extends K{constructor(e,i){super(e,i)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}NULL_SPEC_LITERAL(){return this.getToken(t.NULL_SPEC_LITERAL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_nullNotnull}enterRule(e){e.enterNullNotnull&&e.enterNullNotnull(this)}exitRule(e){e.exitNullNotnull&&e.exitNullNotnull(this)}accept(e){return e.visitNullNotnull?e.visitNullNotnull(this):e.visitChildren(this)}}class A0 extends K{constructor(e,i){super(e,i)}stringLiteral(){return this.getRuleContext(0,Ft)}decimalLiteral(){return this.getRuleContext(0,H)}MINUS(){return this.getToken(t.MINUS,0)}hexadecimalLiteral(){return this.getRuleContext(0,uo)}booleanLiteral(){return this.getRuleContext(0,Eo)}REAL_LITERAL(){return this.getToken(t.REAL_LITERAL,0)}BIT_STRING(){return this.getToken(t.BIT_STRING,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}NULL_SPEC_LITERAL(){return this.getToken(t.NULL_SPEC_LITERAL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_constant}enterRule(e){e.enterConstant&&e.enterConstant(this)}exitRule(e){e.exitConstant&&e.exitConstant(this)}accept(e){return e.visitConstant?e.visitConstant(this):e.visitChildren(this)}}class jt extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_dataType}copyFrom(e){super.copyFrom(e)}}class pK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_GEOMETRYCOLLECTION(){return this.getToken(t.KW_GEOMETRYCOLLECTION,0)}KW_GEOMCOLLECTION(){return this.getToken(t.KW_GEOMCOLLECTION,0)}KW_LINESTRING(){return this.getToken(t.KW_LINESTRING,0)}KW_MULTILINESTRING(){return this.getToken(t.KW_MULTILINESTRING,0)}KW_MULTIPOINT(){return this.getToken(t.KW_MULTIPOINT,0)}KW_MULTIPOLYGON(){return this.getToken(t.KW_MULTIPOLYGON,0)}KW_POINT(){return this.getToken(t.KW_POINT,0)}KW_POLYGON(){return this.getToken(t.KW_POLYGON,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_GEOMETRY(){return this.getToken(t.KW_GEOMETRY,0)}KW_SRID(){return this.getToken(t.KW_SRID,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterSpatialDataType&&e.enterSpatialDataType(this)}exitRule(e){e.exitSpatialDataType&&e.exitSpatialDataType(this)}accept(e){return e.visitSpatialDataType?e.visitSpatialDataType(this):e.visitChildren(this)}}class xK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LONG(){return this.getToken(t.KW_LONG,0)}KW_VARBINARY(){return this.getToken(t.KW_VARBINARY,0)}enterRule(e){e.enterLongVarbinaryDataType&&e.enterLongVarbinaryDataType(this)}exitRule(e){e.exitLongVarbinaryDataType&&e.exitLongVarbinaryDataType(this)}accept(e){return e.visitLongVarbinaryDataType?e.visitLongVarbinaryDataType(this):e.visitChildren(this)}}class fK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}collectionOptions(){return this.getRuleContext(0,Wo)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}enterRule(e){e.enterCollectionDataType&&e.enterCollectionDataType(this)}exitRule(e){e.exitCollectionDataType&&e.exitCollectionDataType(this)}accept(e){return e.visitCollectionDataType?e.visitCollectionDataType(this):e.visitChildren(this)}}class gK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}lengthOneDimension(){return this.getRuleContext(0,B1)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}enterRule(e){e.enterNationalVaryingStringDataType&&e.enterNationalVaryingStringDataType(this)}exitRule(e){e.exitNationalVaryingStringDataType&&e.exitNationalVaryingStringDataType(this)}accept(e){return e.visitNationalVaryingStringDataType?e.visitNationalVaryingStringDataType(this):e.visitChildren(this)}}class Yi extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TINYINT(){return this.getToken(t.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(t.KW_SMALLINT,0)}KW_MEDIUMINT(){return this.getToken(t.KW_MEDIUMINT,0)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(t.KW_BIGINT,0)}KW_MIDDLEINT(){return this.getToken(t.KW_MIDDLEINT,0)}KW_INT1(){return this.getToken(t.KW_INT1,0)}KW_INT2(){return this.getToken(t.KW_INT2,0)}KW_INT3(){return this.getToken(t.KW_INT3,0)}KW_INT4(){return this.getToken(t.KW_INT4,0)}KW_INT8(){return this.getToken(t.KW_INT8,0)}lengthOneDimension(){return this.getRuleContext(0,B1)}KW_SIGNED(e){return e===void 0?this.getTokens(t.KW_SIGNED):this.getToken(t.KW_SIGNED,e)}KW_UNSIGNED(e){return e===void 0?this.getTokens(t.KW_UNSIGNED):this.getToken(t.KW_UNSIGNED,e)}KW_ZEROFILL(e){return e===void 0?this.getTokens(t.KW_ZEROFILL):this.getToken(t.KW_ZEROFILL,e)}KW_REAL(){return this.getToken(t.KW_REAL,0)}lengthTwoDimension(){return this.getRuleContext(0,Ro)}KW_DOUBLE(){return this.getToken(t.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(t.KW_PRECISION,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_NUMERIC(){return this.getToken(t.KW_NUMERIC,0)}KW_FLOAT(){return this.getToken(t.KW_FLOAT,0)}KW_FLOAT4(){return this.getToken(t.KW_FLOAT4,0)}KW_FLOAT8(){return this.getToken(t.KW_FLOAT8,0)}lengthTwoOptionalDimension(){return this.getRuleContext(0,$2)}KW_BIT(){return this.getToken(t.KW_BIT,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_VARBINARY(){return this.getToken(t.KW_VARBINARY,0)}KW_BLOB(){return this.getToken(t.KW_BLOB,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}enterRule(e){e.enterDimensionDataType&&e.enterDimensionDataType(this)}exitRule(e){e.exitDimensionDataType&&e.exitDimensionDataType(this)}accept(e){return e.visitDimensionDataType?e.visitDimensionDataType(this):e.visitChildren(this)}}class UK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_TINYTEXT(){return this.getToken(t.KW_TINYTEXT,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_MEDIUMTEXT(){return this.getToken(t.KW_MEDIUMTEXT,0)}KW_LONGTEXT(){return this.getToken(t.KW_LONGTEXT,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_NVARCHAR(){return this.getToken(t.KW_NVARCHAR,0)}KW_LONG(){return this.getToken(t.KW_LONG,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}lengthOneDimension(){return this.getRuleContext(0,B1)}KW_BINARY(e){return e===void 0?this.getTokens(t.KW_BINARY):this.getToken(t.KW_BINARY,e)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterStringDataType&&e.enterStringDataType(this)}exitRule(e){e.exitStringDataType&&e.exitStringDataType(this)}accept(e){return e.visitStringDataType?e.visitStringDataType(this):e.visitChildren(this)}}class DK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LONG(){return this.getToken(t.KW_LONG,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterLongVarcharDataType&&e.enterLongVarcharDataType(this)}exitRule(e){e.exitLongVarcharDataType&&e.exitLongVarcharDataType(this)}accept(e){return e.visitLongVarcharDataType?e.visitLongVarcharDataType(this):e.visitChildren(this)}}class Ko extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}lengthOneDimension(){return this.getRuleContext(0,B1)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}enterRule(e){e.enterNationalStringDataType&&e.enterNationalStringDataType(this)}exitRule(e){e.exitNationalStringDataType&&e.exitNationalStringDataType(this)}accept(e){return e.visitNationalStringDataType?e.visitNationalStringDataType(this):e.visitChildren(this)}}class kK extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_TINYBLOB(){return this.getToken(t.KW_TINYBLOB,0)}KW_MEDIUMBLOB(){return this.getToken(t.KW_MEDIUMBLOB,0)}KW_LONGBLOB(){return this.getToken(t.KW_LONGBLOB,0)}KW_BOOL(){return this.getToken(t.KW_BOOL,0)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}KW_SERIAL(){return this.getToken(t.KW_SERIAL,0)}enterRule(e){e.enterSimpleDataType&&e.enterSimpleDataType(this)}exitRule(e){e.exitSimpleDataType&&e.exitSimpleDataType(this)}accept(e){return e.visitSimpleDataType?e.visitSimpleDataType(this):e.visitChildren(this)}}class Wo extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_collectionOptions}enterRule(e){e.enterCollectionOptions&&e.enterCollectionOptions(this)}exitRule(e){e.exitCollectionOptions&&e.exitCollectionOptions(this)}accept(e){return e.visitCollectionOptions?e.visitCollectionOptions(this):e.visitChildren(this)}}class Q7 extends K{constructor(e,i){super(e,i)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_SIGNED(){return this.getToken(t.KW_SIGNED,0)}KW_UNSIGNED(){return this.getToken(t.KW_UNSIGNED,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}lengthOneDimension(){return this.getRuleContext(0,B1)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Bt)}lengthTwoOptionalDimension(){return this.getRuleContext(0,$2)}get ruleIndex(){return t.RULE_convertedDataType}enterRule(e){e.enterConvertedDataType&&e.enterConvertedDataType(this)}exitRule(e){e.exitConvertedDataType&&e.exitConvertedDataType(this)}accept(e){return e.visitConvertedDataType?e.visitConvertedDataType(this):e.visitChildren(this)}}class B1 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,H)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_lengthOneDimension}enterRule(e){e.enterLengthOneDimension&&e.enterLengthOneDimension(this)}exitRule(e){e.exitLengthOneDimension&&e.exitLengthOneDimension(this)}accept(e){return e.visitLengthOneDimension?e.visitLengthOneDimension(this):e.visitChildren(this)}}class Ro extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(){return this.getToken(t.COMMA,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_lengthTwoDimension}enterRule(e){e.enterLengthTwoDimension&&e.enterLengthTwoDimension(this)}exitRule(e){e.exitLengthTwoDimension&&e.exitLengthTwoDimension(this)}accept(e){return e.visitLengthTwoDimension?e.visitLengthTwoDimension(this):e.visitChildren(this)}}class $2 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_lengthTwoOptionalDimension}enterRule(e){e.enterLengthTwoOptionalDimension&&e.enterLengthTwoOptionalDimension(this)}exitRule(e){e.exitLengthTwoOptionalDimension&&e.exitLengthTwoOptionalDimension(this)}accept(e){return e.visitLengthTwoOptionalDimension?e.visitLengthTwoOptionalDimension(this):e.visitChildren(this)}}class $e extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}indexColumnName(e){return e===void 0?this.getRuleContexts(Y7):this.getRuleContext(e,Y7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_indexColumnNames}enterRule(e){e.enterIndexColumnNames&&e.enterIndexColumnNames(this)}exitRule(e){e.exitIndexColumnNames&&e.exitIndexColumnNames(this)}accept(e){return e.visitIndexColumnNames?e.visitIndexColumnNames(this):e.visitChildren(this)}}class Z7 extends K{constructor(e,i){super(e,i)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_expressions}enterRule(e){e.enterExpressions&&e.enterExpressions(this)}exitRule(e){e.exitExpressions&&e.exitExpressions(this)}accept(e){return e.visitExpressions?e.visitExpressions(this):e.visitChildren(this)}}class M2 extends K{constructor(e,i){super(e,i)}expressionsWithDefaults(e){return e===void 0?this.getRuleContexts(Vi):this.getRuleContext(e,Vi)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_valuesOrValueList}enterRule(e){e.enterValuesOrValueList&&e.enterValuesOrValueList(this)}exitRule(e){e.exitValuesOrValueList&&e.exitValuesOrValueList(this)}accept(e){return e.visitValuesOrValueList?e.visitValuesOrValueList(this):e.visitChildren(this)}}class Vi extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expressionOrDefault(e){return e===void 0?this.getRuleContexts(J7):this.getRuleContext(e,J7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_expressionsWithDefaults}enterRule(e){e.enterExpressionsWithDefaults&&e.enterExpressionsWithDefaults(this)}exitRule(e){e.exitExpressionsWithDefaults&&e.exitExpressionsWithDefaults(this)}accept(e){return e.visitExpressionsWithDefaults?e.visitExpressionsWithDefaults(this):e.visitChildren(this)}}class J7 extends K{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,U)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_expressionOrDefault}enterRule(e){e.enterExpressionOrDefault&&e.enterExpressionOrDefault(this)}exitRule(e){e.exitExpressionOrDefault&&e.exitExpressionOrDefault(this)}accept(e){return e.visitExpressionOrDefault?e.visitExpressionOrDefault(this):e.visitChildren(this)}}class P2 extends K{constructor(e,i){super(e,i)}constant(e){return e===void 0?this.getRuleContexts(A0):this.getRuleContext(e,A0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_constants}enterRule(e){e.enterConstants&&e.enterConstants(this)}exitRule(e){e.exitConstants&&e.exitConstants(this)}accept(e){return e.visitConstants?e.visitConstants(this):e.visitChildren(this)}}class y2 extends K{constructor(e,i){super(e,i)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_simpleStrings}enterRule(e){e.enterSimpleStrings&&e.enterSimpleStrings(this)}exitRule(e){e.exitSimpleStrings&&e.exitSimpleStrings(this)}accept(e){return e.visitSimpleStrings?e.visitSimpleStrings(this):e.visitChildren(this)}}class To extends K{constructor(e,i){super(e,i)}LOCAL_ID(e){return e===void 0?this.getTokens(t.LOCAL_ID):this.getToken(t.LOCAL_ID,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_userVariables}enterRule(e){e.enterUserVariables&&e.enterUserVariables(this)}exitRule(e){e.exitUserVariables&&e.exitUserVariables(this)}accept(e){return e.visitUserVariables?e.visitUserVariables(this):e.visitChildren(this)}}class Xi extends K{constructor(e,i){super(e,i)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}KW_AS(){return this.getToken(t.KW_AS,0)}convertedDataType(){return this.getRuleContext(0,Q7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}constant(){return this.getRuleContext(0,A0)}unaryOperator(){return this.getRuleContext(0,s5)}currentTimestamp(e){return e===void 0?this.getRuleContexts(z7):this.getRuleContext(e,z7)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}fullId(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_defaultValue}enterRule(e){e.enterDefaultValue&&e.enterDefaultValue(this)}exitRule(e){e.exitDefaultValue&&e.exitDefaultValue(this)}accept(e){return e.visitDefaultValue?e.visitDefaultValue(this):e.visitChildren(this)}}class z7 extends K{constructor(e,i){super(e,i)}KW_NOW(){return this.getToken(t.KW_NOW,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_currentTimestamp}enterRule(e){e.enterCurrentTimestamp&&e.enterCurrentTimestamp(this)}exitRule(e){e.exitCurrentTimestamp&&e.exitCurrentTimestamp(this)}accept(e){return e.visitCurrentTimestamp?e.visitCurrentTimestamp(this):e.visitChildren(this)}}class Dt extends K{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_ifExists}enterRule(e){e.enterIfExists&&e.enterIfExists(this)}exitRule(e){e.exitIfExists&&e.exitIfExists(this)}accept(e){return e.visitIfExists?e.visitIfExists(this):e.visitChildren(this)}}class re extends K{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_ifNotExists}enterRule(e){e.enterIfNotExists&&e.enterIfNotExists(this)}exitRule(e){e.exitIfNotExists&&e.exitIfNotExists(this)}accept(e){return e.visitIfNotExists?e.visitIfNotExists(this):e.visitChildren(this)}}class _o extends K{constructor(e,i){super(e,i)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}get ruleIndex(){return t.RULE_orReplace}enterRule(e){e.enterOrReplace&&e.enterOrReplace(this)}exitRule(e){e.exitOrReplace&&e.exitOrReplace(this)}accept(e){return e.visitOrReplace?e.visitOrReplace(this):e.visitChildren(this)}}class Ge extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_functionCall}copyFrom(e){super.copyFrom(e)}}class SK extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}specificFunction(){return this.getRuleContext(0,Gt)}enterRule(e){e.enterSpecificFunctionCall&&e.enterSpecificFunctionCall(this)}exitRule(e){e.exitSpecificFunctionCall&&e.exitSpecificFunctionCall(this)}accept(e){return e.visitSpecificFunctionCall?e.visitSpecificFunctionCall(this):e.visitChildren(this)}}class HK extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}passwordFunctionClause(){return this.getRuleContext(0,P7)}enterRule(e){e.enterPasswordFunctionCall&&e.enterPasswordFunctionCall(this)}exitRule(e){e.exitPasswordFunctionCall&&e.exitPasswordFunctionCall(this)}accept(e){return e.visitPasswordFunctionCall?e.visitPasswordFunctionCall(this):e.visitChildren(this)}}class BK extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}functionName(){return this.getRuleContext(0,k1)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,Ji)}enterRule(e){e.enterUdfFunctionCall&&e.enterUdfFunctionCall(this)}exitRule(e){e.exitUdfFunctionCall&&e.exitUdfFunctionCall(this)}accept(e){return e.visitUdfFunctionCall?e.visitUdfFunctionCall(this):e.visitChildren(this)}}class FK extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}nonAggregateWindowedFunction(){return this.getRuleContext(0,Lo)}enterRule(e){e.enterNonAggregateFunctionCall&&e.enterNonAggregateFunctionCall(this)}exitRule(e){e.exitNonAggregateFunctionCall&&e.exitNonAggregateFunctionCall(this)}accept(e){return e.visitNonAggregateFunctionCall?e.visitNonAggregateFunctionCall(this):e.visitChildren(this)}}class GK extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}aggregateWindowedFunction(){return this.getRuleContext(0,Io)}enterRule(e){e.enterAggregateFunctionCall&&e.enterAggregateFunctionCall(this)}exitRule(e){e.exitAggregateFunctionCall&&e.exitAggregateFunctionCall(this)}accept(e){return e.visitAggregateFunctionCall?e.visitAggregateFunctionCall(this):e.visitChildren(this)}}class bK extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}scalarFunctionName(){return this.getRuleContext(0,i5)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,Ji)}enterRule(e){e.enterScalarFunctionCall&&e.enterScalarFunctionCall(this)}exitRule(e){e.exitScalarFunctionCall&&e.exitScalarFunctionCall(this)}accept(e){return e.visitScalarFunctionCall?e.visitScalarFunctionCall(this):e.visitChildren(this)}}class Gt extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_specificFunction}copyFrom(e){super.copyFrom(e)}}class wK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}KW_IN(){return this.getToken(t.KW_IN,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}stringLiteral(e){return e===void 0?this.getRuleContexts(Ft):this.getRuleContext(e,Ft)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}enterRule(e){e.enterPositionFunctionCall&&e.enterPositionFunctionCall(this)}exitRule(e){e.exitPositionFunctionCall&&e.exitPositionFunctionCall(this)}accept(e){return e.visitPositionFunctionCall?e.visitPositionFunctionCall(this):e.visitChildren(this)}}class Ao extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_BOTH(){return this.getToken(t.KW_BOTH,0)}KW_LEADING(){return this.getToken(t.KW_LEADING,0)}KW_TRAILING(){return this.getToken(t.KW_TRAILING,0)}stringLiteral(e){return e===void 0?this.getRuleContexts(Ft):this.getRuleContext(e,Ft)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}enterRule(e){e.enterTrimFunctionCall&&e.enterTrimFunctionCall(this)}exitRule(e){e.exitTrimFunctionCall&&e.exitTrimFunctionCall(this)}accept(e){return e.visitTrimFunctionCall?e.visitTrimFunctionCall(this):e.visitChildren(this)}}class vK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_JSON_VALUE(){return this.getToken(t.KW_JSON_VALUE,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}COMMA(){return this.getToken(t.COMMA,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}convertedDataType(){return this.getRuleContext(0,Q7)}jsonOnEmpty(){return this.getRuleContext(0,R2)}jsonOnError(){return this.getRuleContext(0,T2)}enterRule(e){e.enterJsonValueFunctionCall&&e.enterJsonValueFunctionCall(this)}exitRule(e){e.exitJsonValueFunctionCall&&e.exitJsonValueFunctionCall(this)}accept(e){return e.visitJsonValueFunctionCall?e.visitJsonValueFunctionCall(this):e.visitChildren(this)}}class YK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CASE(){return this.getToken(t.KW_CASE,0)}KW_END(){return this.getToken(t.KW_END,0)}caseFuncAlternative(e){return e===void 0?this.getRuleContexts(Qi):this.getRuleContext(e,Qi)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}functionArg(){return this.getRuleContext(0,Me)}enterRule(e){e.enterCaseFunctionCall&&e.enterCaseFunctionCall(this)}exitRule(e){e.exitCaseFunctionCall&&e.exitCaseFunctionCall(this)}accept(e){return e.visitCaseFunctionCall?e.visitCaseFunctionCall(this):e.visitChildren(this)}}class VK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXTRACT(){return this.getToken(t.KW_EXTRACT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}intervalType(){return this.getRuleContext(0,Ii)}KW_FROM(){return this.getToken(t.KW_FROM,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}stringLiteral(){return this.getRuleContext(0,Ft)}expression(){return this.getRuleContext(0,U)}enterRule(e){e.enterExtractFunctionCall&&e.enterExtractFunctionCall(this)}exitRule(e){e.exitExtractFunctionCall&&e.exitExtractFunctionCall(this)}accept(e){return e.visitExtractFunctionCall?e.visitExtractFunctionCall(this):e.visitChildren(this)}}class q2 extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONVERT(){return this.getToken(t.KW_CONVERT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}convertedDataType(){return this.getRuleContext(0,Q7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_USING(){return this.getToken(t.KW_USING,0)}charsetName(){return this.getRuleContext(0,Bt)}KW_CAST(){return this.getToken(t.KW_CAST,0)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterDataTypeFunctionCall&&e.enterDataTypeFunctionCall(this)}exitRule(e){e.exitDataTypeFunctionCall&&e.exitDataTypeFunctionCall(this)}accept(e){return e.visitDataTypeFunctionCall?e.visitDataTypeFunctionCall(this):e.visitChildren(this)}}class XK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnName(){return this.getRuleContext(0,At)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterValuesFunctionCall&&e.enterValuesFunctionCall(this)}exitRule(e){e.exitValuesFunctionCall&&e.exitValuesFunctionCall(this)}accept(e){return e.visitValuesFunctionCall?e.visitValuesFunctionCall(this):e.visitChildren(this)}}class QK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CASE(){return this.getToken(t.KW_CASE,0)}expression(){return this.getRuleContext(0,U)}KW_END(){return this.getToken(t.KW_END,0)}caseFuncAlternative(e){return e===void 0?this.getRuleContexts(Qi):this.getRuleContext(e,Qi)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}functionArg(){return this.getRuleContext(0,Me)}enterRule(e){e.enterCaseExpressionFunctionCall&&e.enterCaseExpressionFunctionCall(this)}exitRule(e){e.exitCaseExpressionFunctionCall&&e.exitCaseExpressionFunctionCall(this)}accept(e){return e.visitCaseExpressionFunctionCall?e.visitCaseExpressionFunctionCall(this):e.visitChildren(this)}}class ZK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}currentUserExpression(){return this.getRuleContext(0,d7)}enterRule(e){e.enterCurrentUser&&e.enterCurrentUser(this)}exitRule(e){e.exitCurrentUser&&e.exitCurrentUser(this)}accept(e){return e.visitCurrentUser?e.visitCurrentUser(this):e.visitChildren(this)}}class JK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_UTC_TIMESTAMP(){return this.getToken(t.KW_UTC_TIMESTAMP,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterSimpleFunctionCall&&e.enterSimpleFunctionCall(this)}exitRule(e){e.exitSimpleFunctionCall&&e.exitSimpleFunctionCall(this)}accept(e){return e.visitSimpleFunctionCall?e.visitSimpleFunctionCall(this):e.visitChildren(this)}}class zK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,Ji)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_USING(){return this.getToken(t.KW_USING,0)}charsetName(){return this.getRuleContext(0,Bt)}enterRule(e){e.enterCharFunctionCall&&e.enterCharFunctionCall(this)}exitRule(e){e.exitCharFunctionCall&&e.exitCharFunctionCall(this)}accept(e){return e.visitCharFunctionCall?e.visitCharFunctionCall(this):e.visitChildren(this)}}class jK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_WEIGHT_STRING(){return this.getToken(t.KW_WEIGHT_STRING,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}stringLiteral(){return this.getRuleContext(0,Ft)}expression(){return this.getRuleContext(0,U)}KW_AS(){return this.getToken(t.KW_AS,0)}decimalLiteral(){return this.getRuleContext(0,H)}levelsInWeightString(){return this.getRuleContext(0,j7)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}enterRule(e){e.enterWeightFunctionCall&&e.enterWeightFunctionCall(this)}exitRule(e){e.exitWeightFunctionCall&&e.exitWeightFunctionCall(this)}accept(e){return e.visitWeightFunctionCall?e.visitWeightFunctionCall(this):e.visitChildren(this)}}class $K extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_GET_FORMAT(){return this.getToken(t.KW_GET_FORMAT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}stringLiteral(){return this.getRuleContext(0,Ft)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}enterRule(e){e.enterGetFormatFunctionCall&&e.enterGetFormatFunctionCall(this)}exitRule(e){e.exitGetFormatFunctionCall&&e.exitGetFormatFunctionCall(this)}accept(e){return e.visitGetFormatFunctionCall?e.visitGetFormatFunctionCall(this):e.visitChildren(this)}}class MK extends Gt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_SUBSTR(){return this.getToken(t.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}stringLiteral(){return this.getRuleContext(0,Ft)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_FOR(){return this.getToken(t.KW_FOR,0)}enterRule(e){e.enterSubstrFunctionCall&&e.enterSubstrFunctionCall(this)}exitRule(e){e.exitSubstrFunctionCall&&e.exitSubstrFunctionCall(this)}accept(e){return e.visitSubstrFunctionCall?e.visitSubstrFunctionCall(this):e.visitChildren(this)}}class Qi extends K{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}functionArg(e){return e===void 0?this.getRuleContexts(Me):this.getRuleContext(e,Me)}get ruleIndex(){return t.RULE_caseFuncAlternative}enterRule(e){e.enterCaseFuncAlternative&&e.enterCaseFuncAlternative(this)}exitRule(e){e.exitCaseFuncAlternative&&e.exitCaseFuncAlternative(this)}accept(e){return e.visitCaseFuncAlternative?e.visitCaseFuncAlternative(this):e.visitChildren(this)}}class j7 extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_levelsInWeightString}copyFrom(e){super.copyFrom(e)}}class PK extends j7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}MINUS(){return this.getToken(t.MINUS,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}enterRule(e){e.enterLevelWeightRange&&e.enterLevelWeightRange(this)}exitRule(e){e.exitLevelWeightRange&&e.exitLevelWeightRange(this)}accept(e){return e.visitLevelWeightRange?e.visitLevelWeightRange(this):e.visitChildren(this)}}class yK extends j7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}levelInWeightListElement(e){return e===void 0?this.getRuleContexts(t5):this.getRuleContext(e,t5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterLevelWeightList&&e.enterLevelWeightList(this)}exitRule(e){e.exitLevelWeightList&&e.exitLevelWeightList(this)}accept(e){return e.visitLevelWeightList?e.visitLevelWeightList(this):e.visitChildren(this)}}class t5 extends K{constructor(e,i){super(e,i)}decimalLiteral(){return this.getRuleContext(0,H)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}get ruleIndex(){return t.RULE_levelInWeightListElement}enterRule(e){e.enterLevelInWeightListElement&&e.enterLevelInWeightListElement(this)}exitRule(e){e.exitLevelInWeightListElement&&e.exitLevelInWeightListElement(this)}accept(e){return e.visitLevelInWeightListElement?e.visitLevelInWeightListElement(this):e.visitChildren(this)}}class Io extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}functionArg(){return this.getRuleContext(0,Me)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_AVG(){return this.getToken(t.KW_AVG,0)}KW_MAX(){return this.getToken(t.KW_MAX,0)}KW_MIN(){return this.getToken(t.KW_MIN,0)}KW_SUM(){return this.getToken(t.KW_SUM,0)}overClause(){return this.getRuleContext(0,e5)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}functionArgs(){return this.getRuleContext(0,Ji)}STAR(){return this.getToken(t.STAR,0)}KW_BIT_AND(){return this.getToken(t.KW_BIT_AND,0)}KW_BIT_OR(){return this.getToken(t.KW_BIT_OR,0)}KW_BIT_XOR(){return this.getToken(t.KW_BIT_XOR,0)}KW_STD(){return this.getToken(t.KW_STD,0)}KW_STDDEV(){return this.getToken(t.KW_STDDEV,0)}KW_STDDEV_POP(){return this.getToken(t.KW_STDDEV_POP,0)}KW_STDDEV_SAMP(){return this.getToken(t.KW_STDDEV_SAMP,0)}KW_VAR_POP(){return this.getToken(t.KW_VAR_POP,0)}KW_VAR_SAMP(){return this.getToken(t.KW_VAR_SAMP,0)}KW_VARIANCE(){return this.getToken(t.KW_VARIANCE,0)}KW_GROUP_CONCAT(){return this.getToken(t.KW_GROUP_CONCAT,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}orderByExpression(e){return e===void 0?this.getRuleContexts(Ci):this.getRuleContext(e,Ci)}KW_SEPARATOR(){return this.getToken(t.KW_SEPARATOR,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_aggregateWindowedFunction}enterRule(e){e.enterAggregateWindowedFunction&&e.enterAggregateWindowedFunction(this)}exitRule(e){e.exitAggregateWindowedFunction&&e.exitAggregateWindowedFunction(this)}accept(e){return e.visitAggregateWindowedFunction?e.visitAggregateWindowedFunction(this):e.visitChildren(this)}}class Lo extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}overClause(){return this.getRuleContext(0,e5)}KW_LAG(){return this.getToken(t.KW_LAG,0)}KW_LEAD(){return this.getToken(t.KW_LEAD,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_FIRST_VALUE(){return this.getToken(t.KW_FIRST_VALUE,0)}KW_LAST_VALUE(){return this.getToken(t.KW_LAST_VALUE,0)}KW_CUME_DIST(){return this.getToken(t.KW_CUME_DIST,0)}KW_DENSE_RANK(){return this.getToken(t.KW_DENSE_RANK,0)}KW_PERCENT_RANK(){return this.getToken(t.KW_PERCENT_RANK,0)}KW_RANK(){return this.getToken(t.KW_RANK,0)}KW_ROW_NUMBER(){return this.getToken(t.KW_ROW_NUMBER,0)}KW_NTH_VALUE(){return this.getToken(t.KW_NTH_VALUE,0)}KW_NTILE(){return this.getToken(t.KW_NTILE,0)}get ruleIndex(){return t.RULE_nonAggregateWindowedFunction}enterRule(e){e.enterNonAggregateWindowedFunction&&e.enterNonAggregateWindowedFunction(this)}exitRule(e){e.exitNonAggregateWindowedFunction&&e.exitNonAggregateWindowedFunction(this)}accept(e){return e.visitNonAggregateWindowedFunction?e.visitNonAggregateWindowedFunction(this):e.visitChildren(this)}}class e5 extends K{constructor(e,i){super(e,i)}KW_OVER(){return this.getToken(t.KW_OVER,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}windowSpec(){return this.getRuleContext(0,$7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}windowName(){return this.getRuleContext(0,Zi)}get ruleIndex(){return t.RULE_overClause}enterRule(e){e.enterOverClause&&e.enterOverClause(this)}exitRule(e){e.exitOverClause&&e.exitOverClause(this)}accept(e){return e.visitOverClause?e.visitOverClause(this):e.visitChildren(this)}}class $7 extends K{constructor(e,i){super(e,i)}windowName(){return this.getRuleContext(0,Zi)}partitionClause(){return this.getRuleContext(0,mo)}orderByClause(){return this.getRuleContext(0,qt)}frameClause(){return this.getRuleContext(0,Oo)}get ruleIndex(){return t.RULE_windowSpec}enterRule(e){e.enterWindowSpec&&e.enterWindowSpec(this)}exitRule(e){e.exitWindowSpec&&e.exitWindowSpec(this)}accept(e){return e.visitWindowSpec?e.visitWindowSpec(this):e.visitChildren(this)}}class Zi extends K{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,l)}get ruleIndex(){return t.RULE_windowName}enterRule(e){e.enterWindowName&&e.enterWindowName(this)}exitRule(e){e.exitWindowName&&e.exitWindowName(this)}accept(e){return e.visitWindowName?e.visitWindowName(this):e.visitChildren(this)}}class Oo extends K{constructor(e,i){super(e,i)}frameUnits(){return this.getRuleContext(0,Co)}frameExtent(){return this.getRuleContext(0,No)}get ruleIndex(){return t.RULE_frameClause}enterRule(e){e.enterFrameClause&&e.enterFrameClause(this)}exitRule(e){e.exitFrameClause&&e.exitFrameClause(this)}accept(e){return e.visitFrameClause?e.visitFrameClause(this):e.visitChildren(this)}}class Co extends K{constructor(e,i){super(e,i)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}get ruleIndex(){return t.RULE_frameUnits}enterRule(e){e.enterFrameUnits&&e.enterFrameUnits(this)}exitRule(e){e.exitFrameUnits&&e.exitFrameUnits(this)}accept(e){return e.visitFrameUnits?e.visitFrameUnits(this):e.visitChildren(this)}}class No extends K{constructor(e,i){super(e,i)}frameRange(){return this.getRuleContext(0,M7)}frameBetween(){return this.getRuleContext(0,lo)}get ruleIndex(){return t.RULE_frameExtent}enterRule(e){e.enterFrameExtent&&e.enterFrameExtent(this)}exitRule(e){e.exitFrameExtent&&e.exitFrameExtent(this)}accept(e){return e.visitFrameExtent?e.visitFrameExtent(this):e.visitChildren(this)}}class lo extends K{constructor(e,i){super(e,i)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}frameRange(e){return e===void 0?this.getRuleContexts(M7):this.getRuleContext(e,M7)}KW_AND(){return this.getToken(t.KW_AND,0)}get ruleIndex(){return t.RULE_frameBetween}enterRule(e){e.enterFrameBetween&&e.enterFrameBetween(this)}exitRule(e){e.exitFrameBetween&&e.exitFrameBetween(this)}accept(e){return e.visitFrameBetween?e.visitFrameBetween(this):e.visitChildren(this)}}class M7 extends K{constructor(e,i){super(e,i)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(t.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(t.KW_FOLLOWING,0)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_frameRange}enterRule(e){e.enterFrameRange&&e.enterFrameRange(this)}exitRule(e){e.exitFrameRange&&e.exitFrameRange(this)}accept(e){return e.visitFrameRange?e.visitFrameRange(this):e.visitChildren(this)}}class mo extends K{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(){return this.getToken(t.KW_BY,0)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionClause}enterRule(e){e.enterPartitionClause&&e.enterPartitionClause(this)}exitRule(e){e.exitPartitionClause&&e.exitPartitionClause(this)}accept(e){return e.visitPartitionClause?e.visitPartitionClause(this):e.visitChildren(this)}}class i5 extends K{constructor(e,i){super(e,i)}functionNameBase(){return this.getRuleContext(0,Ho)}KW_ASCII(){return this.getToken(t.KW_ASCII,0)}KW_CURDATE(){return this.getToken(t.KW_CURDATE,0)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_CURTIME(){return this.getToken(t.KW_CURTIME,0)}KW_DATE_ADD(){return this.getToken(t.KW_DATE_ADD,0)}KW_DATE_SUB(){return this.getToken(t.KW_DATE_SUB,0)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}KW_MID(){return this.getToken(t.KW_MID,0)}KW_NOW(){return this.getToken(t.KW_NOW,0)}KW_REPEAT(){return this.getToken(t.KW_REPEAT,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_SUBSTR(){return this.getToken(t.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}KW_SYSDATE(){return this.getToken(t.KW_SYSDATE,0)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}KW_UTC_DATE(){return this.getToken(t.KW_UTC_DATE,0)}KW_UTC_TIME(){return this.getToken(t.KW_UTC_TIME,0)}KW_UTC_TIMESTAMP(){return this.getToken(t.KW_UTC_TIMESTAMP,0)}get ruleIndex(){return t.RULE_scalarFunctionName}enterRule(e){e.enterScalarFunctionName&&e.enterScalarFunctionName(this)}exitRule(e){e.exitScalarFunctionName&&e.exitScalarFunctionName(this)}accept(e){return e.visitScalarFunctionName?e.visitScalarFunctionName(this):e.visitChildren(this)}}class P7 extends K{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}functionArg(){return this.getRuleContext(0,Me)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_OLD_PASSWORD(){return this.getToken(t.KW_OLD_PASSWORD,0)}get ruleIndex(){return t.RULE_passwordFunctionClause}enterRule(e){e.enterPasswordFunctionClause&&e.enterPasswordFunctionClause(this)}exitRule(e){e.exitPasswordFunctionClause&&e.exitPasswordFunctionClause(this)}accept(e){return e.visitPasswordFunctionClause?e.visitPasswordFunctionClause(this):e.visitChildren(this)}}class Ji extends K{constructor(e,i){super(e,i)}functionArg(e){return e===void 0?this.getRuleContexts(Me):this.getRuleContext(e,Me)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_functionArgs}enterRule(e){e.enterFunctionArgs&&e.enterFunctionArgs(this)}exitRule(e){e.exitFunctionArgs&&e.exitFunctionArgs(this)}accept(e){return e.visitFunctionArgs?e.visitFunctionArgs(this):e.visitChildren(this)}}class Me extends K{constructor(e,i){super(e,i)}constant(){return this.getRuleContext(0,A0)}functionCall(){return this.getRuleContext(0,Ge)}expression(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_functionArg}enterRule(e){e.enterFunctionArg&&e.enterFunctionArg(this)}exitRule(e){e.exitFunctionArg&&e.exitFunctionArg(this)}accept(e){return e.visitFunctionArg?e.visitFunctionArg(this):e.visitChildren(this)}}class U extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_expression}copyFrom(e){super.copyFrom(e)}}class qK extends U{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterIsExpression&&e.enterIsExpression(this)}exitRule(e){e.exitIsExpression&&e.exitIsExpression(this)}accept(e){return e.visitIsExpression?e.visitIsExpression(this):e.visitChildren(this)}}class tW extends U{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expression(){return this.getRuleContext(0,U)}KW_NOT(){return this.getToken(t.KW_NOT,0)}EXCLAMATION_SYMBOL(){return this.getToken(t.EXCLAMATION_SYMBOL,0)}enterRule(e){e.enterNotExpression&&e.enterNotExpression(this)}exitRule(e){e.exitNotExpression&&e.exitNotExpression(this)}accept(e){return e.visitNotExpression?e.visitNotExpression(this):e.visitChildren(this)}}class eW extends U{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}logicalOperator(){return this.getRuleContext(0,xo)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}}class iW extends U{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}enterRule(e){e.enterPredicateExpression&&e.enterPredicateExpression(this)}exitRule(e){e.exitPredicateExpression&&e.exitPredicateExpression(this)}accept(e){return e.visitPredicateExpression?e.visitPredicateExpression(this):e.visitChildren(this)}}class j extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_predicate}copyFrom(e){super.copyFrom(e)}}class sW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_SOUNDS(){return this.getToken(t.KW_SOUNDS,0)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}enterRule(e){e.enterSoundsLikePredicate&&e.enterSoundsLikePredicate(this)}exitRule(e){e.exitSoundsLikePredicate&&e.exitSoundsLikePredicate(this)}accept(e){return e.visitSoundsLikePredicate?e.visitSoundsLikePredicate(this):e.visitChildren(this)}}class nW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterExpressionAtomPredicate&&e.enterExpressionAtomPredicate(this)}exitRule(e){e.exitExpressionAtomPredicate&&e.exitExpressionAtomPredicate(this)}accept(e){return e.visitExpressionAtomPredicate?e.visitExpressionAtomPredicate(this):e.visitChildren(this)}}class hW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_MEMBER(){return this.getToken(t.KW_MEMBER,0)}KW_OF(){return this.getToken(t.KW_OF,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterJsonMemberOfPredicate&&e.enterJsonMemberOfPredicate(this)}exitRule(e){e.exitJsonMemberOfPredicate&&e.exitJsonMemberOfPredicate(this)}accept(e){return e.visitJsonMemberOfPredicate?e.visitJsonMemberOfPredicate(this):e.visitChildren(this)}}class aW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}comparisonOperator(){return this.getRuleContext(0,po)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}enterRule(e){e.enterBinaryComparisonPredicate&&e.enterBinaryComparisonPredicate(this)}exitRule(e){e.exitBinaryComparisonPredicate&&e.exitBinaryComparisonPredicate(this)}accept(e){return e.visitBinaryComparisonPredicate?e.visitBinaryComparisonPredicate(this):e.visitChildren(this)}}class cW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}KW_IN(){return this.getToken(t.KW_IN,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}expressions(){return this.getRuleContext(0,Z7)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterInPredicate&&e.enterInPredicate(this)}exitRule(e){e.exitInPredicate&&e.exitInPredicate(this)}accept(e){return e.visitInPredicate?e.visitInPredicate(this):e.visitChildren(this)}}class oW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterBetweenPredicate&&e.enterBetweenPredicate(this)}exitRule(e){e.exitBetweenPredicate&&e.exitBetweenPredicate(this)}accept(e){return e.visitBetweenPredicate?e.visitBetweenPredicate(this):e.visitChildren(this)}}class rW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}KW_IS(){return this.getToken(t.KW_IS,0)}nullNotnull(){return this.getRuleContext(0,j2)}enterRule(e){e.enterIsNullPredicate&&e.enterIsNullPredicate(this)}exitRule(e){e.exitIsNullPredicate&&e.exitIsNullPredicate(this)}accept(e){return e.visitIsNullPredicate?e.visitIsNullPredicate(this):e.visitChildren(this)}}class EW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterLikePredicate&&e.enterLikePredicate(this)}exitRule(e){e.exitLikePredicate&&e.exitLikePredicate(this)}accept(e){return e.visitLikePredicate?e.visitLikePredicate(this):e.visitChildren(this)}}class uW extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_REGEXP(){return this.getToken(t.KW_REGEXP,0)}KW_RLIKE(){return this.getToken(t.KW_RLIKE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterRegexpPredicate&&e.enterRegexpPredicate(this)}exitRule(e){e.exitRegexpPredicate&&e.exitRegexpPredicate(this)}accept(e){return e.visitRegexpPredicate?e.visitRegexpPredicate(this):e.visitChildren(this)}}class y extends K{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_expressionAtom}copyFrom(e){super.copyFrom(e)}}class KW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}unaryOperator(){return this.getRuleContext(0,s5)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterUnaryExpressionAtom&&e.enterUnaryExpressionAtom(this)}exitRule(e){e.exitUnaryExpressionAtom&&e.exitUnaryExpressionAtom(this)}accept(e){return e.visitUnaryExpressionAtom?e.visitUnaryExpressionAtom(this):e.visitChildren(this)}}class WW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expressionAtom(){return this.getRuleContext(0,y)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterCollateExpressionAtom&&e.enterCollateExpressionAtom(this)}exitRule(e){e.exitCollateExpressionAtom&&e.exitCollateExpressionAtom(this)}accept(e){return e.visitCollateExpressionAtom?e.visitCollateExpressionAtom(this):e.visitChildren(this)}}class RW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}columnName(){return this.getRuleContext(0,At)}enterRule(e){e.enterColumnNameExpressionAtom&&e.enterColumnNameExpressionAtom(this)}exitRule(e){e.exitColumnNameExpressionAtom&&e.exitColumnNameExpressionAtom(this)}accept(e){return e.visitColumnNameExpressionAtom?e.visitColumnNameExpressionAtom(this):e.visitChildren(this)}}class TW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}VAR_ASSIGN(){return this.getToken(t.VAR_ASSIGN,0)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterVariableAssignExpressionAtom&&e.enterVariableAssignExpressionAtom(this)}exitRule(e){e.exitVariableAssignExpressionAtom&&e.exitVariableAssignExpressionAtom(this)}accept(e){return e.visitVariableAssignExpressionAtom?e.visitVariableAssignExpressionAtom(this):e.visitChildren(this)}}class _W extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}mysqlVariable(){return this.getRuleContext(0,V7)}enterRule(e){e.enterMysqlVariableExpressionAtom&&e.enterMysqlVariableExpressionAtom(this)}exitRule(e){e.exitMysqlVariableExpressionAtom&&e.exitMysqlVariableExpressionAtom(this)}accept(e){return e.visitMysqlVariableExpressionAtom?e.visitMysqlVariableExpressionAtom(this):e.visitChildren(this)}}class AW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterNestedExpressionAtom&&e.enterNestedExpressionAtom(this)}exitRule(e){e.exitNestedExpressionAtom&&e.exitNestedExpressionAtom(this)}accept(e){return e.visitNestedExpressionAtom?e.visitNestedExpressionAtom(this):e.visitChildren(this)}}class IW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ROW(){return this.getToken(t.KW_ROW,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterNestedRowExpressionAtom&&e.enterNestedRowExpressionAtom(this)}exitRule(e){e.exitNestedRowExpressionAtom&&e.exitNestedRowExpressionAtom(this)}accept(e){return e.visitNestedRowExpressionAtom?e.visitNestedRowExpressionAtom(this):e.visitChildren(this)}}class LW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}mathOperator(){return this.getRuleContext(0,go)}expressionAtom(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}enterRule(e){e.enterMathExpressionAtom&&e.enterMathExpressionAtom(this)}exitRule(e){e.exitMathExpressionAtom&&e.exitMathExpressionAtom(this)}accept(e){return e.visitMathExpressionAtom?e.visitMathExpressionAtom(this):e.visitChildren(this)}}class OW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterExistsExpressionAtom&&e.enterExistsExpressionAtom(this)}exitRule(e){e.exitExistsExpressionAtom&&e.exitExistsExpressionAtom(this)}accept(e){return e.visitExistsExpressionAtom?e.visitExistsExpressionAtom(this):e.visitChildren(this)}}class CW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}expression(){return this.getRuleContext(0,U)}intervalType(){return this.getRuleContext(0,Ii)}enterRule(e){e.enterIntervalExpressionAtom&&e.enterIntervalExpressionAtom(this)}exitRule(e){e.exitIntervalExpressionAtom&&e.exitIntervalExpressionAtom(this)}accept(e){return e.visitIntervalExpressionAtom?e.visitIntervalExpressionAtom(this):e.visitChildren(this)}}class NW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}jsonOperator(){return this.getRuleContext(0,Uo)}expressionAtom(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}enterRule(e){e.enterJsonExpressionAtom&&e.enterJsonExpressionAtom(this)}exitRule(e){e.exitJsonExpressionAtom&&e.exitJsonExpressionAtom(this)}accept(e){return e.visitJsonExpressionAtom?e.visitJsonExpressionAtom(this):e.visitChildren(this)}}class lW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterSubqueryExpressionAtom&&e.enterSubqueryExpressionAtom(this)}exitRule(e){e.exitSubqueryExpressionAtom&&e.exitSubqueryExpressionAtom(this)}accept(e){return e.visitSubqueryExpressionAtom?e.visitSubqueryExpressionAtom(this):e.visitChildren(this)}}class dW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}constant(){return this.getRuleContext(0,A0)}enterRule(e){e.enterConstantExpressionAtom&&e.enterConstantExpressionAtom(this)}exitRule(e){e.exitConstantExpressionAtom&&e.exitConstantExpressionAtom(this)}accept(e){return e.visitConstantExpressionAtom?e.visitConstantExpressionAtom(this):e.visitChildren(this)}}class mW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}functionCall(){return this.getRuleContext(0,Ge)}enterRule(e){e.enterFunctionCallExpressionAtom&&e.enterFunctionCallExpressionAtom(this)}exitRule(e){e.exitFunctionCallExpressionAtom&&e.exitFunctionCallExpressionAtom(this)}accept(e){return e.visitFunctionCallExpressionAtom?e.visitFunctionCallExpressionAtom(this):e.visitChildren(this)}}class pW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterBinaryExpressionAtom&&e.enterBinaryExpressionAtom(this)}exitRule(e){e.exitBinaryExpressionAtom&&e.exitBinaryExpressionAtom(this)}accept(e){return e.visitBinaryExpressionAtom?e.visitBinaryExpressionAtom(this):e.visitChildren(this)}}class xW extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}bitOperator(){return this.getRuleContext(0,fo)}expressionAtom(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}enterRule(e){e.enterBitExpressionAtom&&e.enterBitExpressionAtom(this)}exitRule(e){e.exitBitExpressionAtom&&e.exitBitExpressionAtom(this)}accept(e){return e.visitBitExpressionAtom?e.visitBitExpressionAtom(this):e.visitChildren(this)}}class s5 extends K{constructor(e,i){super(e,i)}EXCLAMATION_SYMBOL(){return this.getToken(t.EXCLAMATION_SYMBOL,0)}BIT_NOT_OP(){return this.getToken(t.BIT_NOT_OP,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_unaryOperator}enterRule(e){e.enterUnaryOperator&&e.enterUnaryOperator(this)}exitRule(e){e.exitUnaryOperator&&e.exitUnaryOperator(this)}accept(e){return e.visitUnaryOperator?e.visitUnaryOperator(this):e.visitChildren(this)}}class po extends K{constructor(e,i){super(e,i)}LESS_SYMBOL(){return this.getToken(t.LESS_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(t.GREATER_SYMBOL,0)}EXCLAMATION_SYMBOL(){return this.getToken(t.EXCLAMATION_SYMBOL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}comparisonBase(){return this.getRuleContext(0,n5)}get ruleIndex(){return t.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}}class n5 extends K{constructor(e,i){super(e,i)}LESS_SYMBOL(){return this.getToken(t.LESS_SYMBOL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(t.GREATER_SYMBOL,0)}get ruleIndex(){return t.RULE_comparisonBase}enterRule(e){e.enterComparisonBase&&e.enterComparisonBase(this)}exitRule(e){e.exitComparisonBase&&e.exitComparisonBase(this)}accept(e){return e.visitComparisonBase?e.visitComparisonBase(this):e.visitChildren(this)}}class xo extends K{constructor(e,i){super(e,i)}KW_AND(){return this.getToken(t.KW_AND,0)}BIT_AND_OP(e){return e===void 0?this.getTokens(t.BIT_AND_OP):this.getToken(t.BIT_AND_OP,e)}KW_XOR(){return this.getToken(t.KW_XOR,0)}KW_OR(){return this.getToken(t.KW_OR,0)}BIT_OR_OP(e){return e===void 0?this.getTokens(t.BIT_OR_OP):this.getToken(t.BIT_OR_OP,e)}get ruleIndex(){return t.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}}class fo extends K{constructor(e,i){super(e,i)}LESS_SYMBOL(e){return e===void 0?this.getTokens(t.LESS_SYMBOL):this.getToken(t.LESS_SYMBOL,e)}GREATER_SYMBOL(e){return e===void 0?this.getTokens(t.GREATER_SYMBOL):this.getToken(t.GREATER_SYMBOL,e)}BIT_AND_OP(){return this.getToken(t.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(t.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(t.BIT_OR_OP,0)}get ruleIndex(){return t.RULE_bitOperator}enterRule(e){e.enterBitOperator&&e.enterBitOperator(this)}exitRule(e){e.exitBitOperator&&e.exitBitOperator(this)}accept(e){return e.visitBitOperator?e.visitBitOperator(this):e.visitChildren(this)}}class go extends K{constructor(e,i){super(e,i)}STAR(){return this.getToken(t.STAR,0)}DIVIDE(){return this.getToken(t.DIVIDE,0)}MODULE(){return this.getToken(t.MODULE,0)}DIV(){return this.getToken(t.DIV,0)}MOD(){return this.getToken(t.MOD,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}get ruleIndex(){return t.RULE_mathOperator}enterRule(e){e.enterMathOperator&&e.enterMathOperator(this)}exitRule(e){e.exitMathOperator&&e.exitMathOperator(this)}accept(e){return e.visitMathOperator?e.visitMathOperator(this):e.visitChildren(this)}}class Uo extends K{constructor(e,i){super(e,i)}MINUS(){return this.getToken(t.MINUS,0)}GREATER_SYMBOL(e){return e===void 0?this.getTokens(t.GREATER_SYMBOL):this.getToken(t.GREATER_SYMBOL,e)}get ruleIndex(){return t.RULE_jsonOperator}enterRule(e){e.enterJsonOperator&&e.enterJsonOperator(this)}exitRule(e){e.exitJsonOperator&&e.exitJsonOperator(this)}accept(e){return e.visitJsonOperator?e.visitJsonOperator(this):e.visitChildren(this)}}class h5 extends K{constructor(e,i){super(e,i)}KW_ARMSCII8(){return this.getToken(t.KW_ARMSCII8,0)}KW_ASCII(){return this.getToken(t.KW_ASCII,0)}KW_BIG5(){return this.getToken(t.KW_BIG5,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_CP1250(){return this.getToken(t.KW_CP1250,0)}KW_CP1251(){return this.getToken(t.KW_CP1251,0)}KW_CP1256(){return this.getToken(t.KW_CP1256,0)}KW_CP1257(){return this.getToken(t.KW_CP1257,0)}KW_CP850(){return this.getToken(t.KW_CP850,0)}KW_CP852(){return this.getToken(t.KW_CP852,0)}KW_CP866(){return this.getToken(t.KW_CP866,0)}KW_CP932(){return this.getToken(t.KW_CP932,0)}KW_DEC8(){return this.getToken(t.KW_DEC8,0)}KW_EUCJPMS(){return this.getToken(t.KW_EUCJPMS,0)}KW_EUCKR(){return this.getToken(t.KW_EUCKR,0)}KW_GB18030(){return this.getToken(t.KW_GB18030,0)}KW_GB2312(){return this.getToken(t.KW_GB2312,0)}KW_GBK(){return this.getToken(t.KW_GBK,0)}KW_GEOSTD8(){return this.getToken(t.KW_GEOSTD8,0)}KW_GREEK(){return this.getToken(t.KW_GREEK,0)}KW_HEBREW(){return this.getToken(t.KW_HEBREW,0)}KW_HP8(){return this.getToken(t.KW_HP8,0)}KW_KEYBCS2(){return this.getToken(t.KW_KEYBCS2,0)}KW_KOI8R(){return this.getToken(t.KW_KOI8R,0)}KW_KOI8U(){return this.getToken(t.KW_KOI8U,0)}KW_LATIN1(){return this.getToken(t.KW_LATIN1,0)}KW_LATIN2(){return this.getToken(t.KW_LATIN2,0)}KW_LATIN5(){return this.getToken(t.KW_LATIN5,0)}KW_LATIN7(){return this.getToken(t.KW_LATIN7,0)}KW_MACCE(){return this.getToken(t.KW_MACCE,0)}KW_MACROMAN(){return this.getToken(t.KW_MACROMAN,0)}KW_SJIS(){return this.getToken(t.KW_SJIS,0)}KW_SWE7(){return this.getToken(t.KW_SWE7,0)}KW_TIS620(){return this.getToken(t.KW_TIS620,0)}KW_UCS2(){return this.getToken(t.KW_UCS2,0)}KW_UJIS(){return this.getToken(t.KW_UJIS,0)}KW_UTF16(){return this.getToken(t.KW_UTF16,0)}KW_UTF16LE(){return this.getToken(t.KW_UTF16LE,0)}KW_UTF32(){return this.getToken(t.KW_UTF32,0)}KW_UTF8(){return this.getToken(t.KW_UTF8,0)}KW_UTF8MB3(){return this.getToken(t.KW_UTF8MB3,0)}KW_UTF8MB4(){return this.getToken(t.KW_UTF8MB4,0)}get ruleIndex(){return t.RULE_charsetNameBase}enterRule(e){e.enterCharsetNameBase&&e.enterCharsetNameBase(this)}exitRule(e){e.exitCharsetNameBase&&e.exitCharsetNameBase(this)}accept(e){return e.visitCharsetNameBase?e.visitCharsetNameBase(this):e.visitChildren(this)}}class Do extends K{constructor(e,i){super(e,i)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}get ruleIndex(){return t.RULE_transactionLevelBase}enterRule(e){e.enterTransactionLevelBase&&e.enterTransactionLevelBase(this)}exitRule(e){e.exitTransactionLevelBase&&e.exitTransactionLevelBase(this)}accept(e){return e.visitTransactionLevelBase?e.visitTransactionLevelBase(this):e.visitChildren(this)}}class ko extends K{constructor(e,i){super(e,i)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}KW_FILE(){return this.getToken(t.KW_FILE,0)}KW_PROCESS(){return this.getToken(t.KW_PROCESS,0)}KW_RELOAD(){return this.getToken(t.KW_RELOAD,0)}KW_SHUTDOWN(){return this.getToken(t.KW_SHUTDOWN,0)}KW_SUPER(){return this.getToken(t.KW_SUPER,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}get ruleIndex(){return t.RULE_privilegesBase}enterRule(e){e.enterPrivilegesBase&&e.enterPrivilegesBase(this)}exitRule(e){e.exitPrivilegesBase&&e.exitPrivilegesBase(this)}accept(e){return e.visitPrivilegesBase?e.visitPrivilegesBase(this):e.visitChildren(this)}}class a5 extends K{constructor(e,i){super(e,i)}KW_QUARTER(){return this.getToken(t.KW_QUARTER,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}KW_WEEK(){return this.getToken(t.KW_WEEK,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}KW_MICROSECOND(){return this.getToken(t.KW_MICROSECOND,0)}get ruleIndex(){return t.RULE_intervalTypeBase}enterRule(e){e.enterIntervalTypeBase&&e.enterIntervalTypeBase(this)}exitRule(e){e.exitIntervalTypeBase&&e.exitIntervalTypeBase(this)}accept(e){return e.visitIntervalTypeBase?e.visitIntervalTypeBase(this):e.visitChildren(this)}}class So extends K{constructor(e,i){super(e,i)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}get ruleIndex(){return t.RULE_dataTypeBase}enterRule(e){e.enterDataTypeBase&&e.enterDataTypeBase(this)}exitRule(e){e.exitDataTypeBase&&e.exitDataTypeBase(this)}accept(e){return e.visitDataTypeBase?e.visitDataTypeBase(this):e.visitChildren(this)}}class c5 extends K{constructor(e,i){super(e,i)}KW_ACCOUNT(){return this.getToken(t.KW_ACCOUNT,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_AT(){return this.getToken(t.KW_AT,0)}KW_AUDIT_ADMIN(){return this.getToken(t.KW_AUDIT_ADMIN,0)}KW_AUDIT_ABORT_EXEMPT(){return this.getToken(t.KW_AUDIT_ABORT_EXEMPT,0)}KW_AUTHORS(){return this.getToken(t.KW_AUTHORS,0)}KW_AUTOCOMMIT(){return this.getToken(t.KW_AUTOCOMMIT,0)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_AUTO_INCREMENT(){return this.getToken(t.KW_AUTO_INCREMENT,0)}KW_AUTHENTICATION_POLICY_ADMIN(){return this.getToken(t.KW_AUTHENTICATION_POLICY_ADMIN,0)}KW_AVG(){return this.getToken(t.KW_AVG,0)}KW_AVG_ROW_LENGTH(){return this.getToken(t.KW_AVG_ROW_LENGTH,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_BACKUP_ADMIN(){return this.getToken(t.KW_BACKUP_ADMIN,0)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_BINLOG(){return this.getToken(t.KW_BINLOG,0)}KW_BINLOG_ADMIN(){return this.getToken(t.KW_BINLOG_ADMIN,0)}KW_BINLOG_ENCRYPTION_ADMIN(){return this.getToken(t.KW_BINLOG_ENCRYPTION_ADMIN,0)}KW_BIT(){return this.getToken(t.KW_BIT,0)}KW_BIT_AND(){return this.getToken(t.KW_BIT_AND,0)}KW_BIT_OR(){return this.getToken(t.KW_BIT_OR,0)}KW_BIT_XOR(){return this.getToken(t.KW_BIT_XOR,0)}KW_BLOCK(){return this.getToken(t.KW_BLOCK,0)}KW_BOOL(){return this.getToken(t.KW_BOOL,0)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}KW_BTREE(){return this.getToken(t.KW_BTREE,0)}KW_BUCKETS(){return this.getToken(t.KW_BUCKETS,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_CHANGED(){return this.getToken(t.KW_CHANGED,0)}KW_CHANNEL(){return this.getToken(t.KW_CHANNEL,0)}KW_CHECKSUM(){return this.getToken(t.KW_CHECKSUM,0)}KW_PAGE_CHECKSUM(){return this.getToken(t.KW_PAGE_CHECKSUM,0)}KW_CATALOG_NAME(){return this.getToken(t.KW_CATALOG_NAME,0)}KW_CIPHER(){return this.getToken(t.KW_CIPHER,0)}KW_CLASS_ORIGIN(){return this.getToken(t.KW_CLASS_ORIGIN,0)}KW_CLIENT(){return this.getToken(t.KW_CLIENT,0)}KW_CLONE_ADMIN(){return this.getToken(t.KW_CLONE_ADMIN,0)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_CODE(){return this.getToken(t.KW_CODE,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_COLUMN_FORMAT(){return this.getToken(t.KW_COLUMN_FORMAT,0)}KW_COLUMN_NAME(){return this.getToken(t.KW_COLUMN_NAME,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_COMPACT(){return this.getToken(t.KW_COMPACT,0)}KW_COMPLETION(){return this.getToken(t.KW_COMPLETION,0)}KW_COMPRESSED(){return this.getToken(t.KW_COMPRESSED,0)}KW_COMPRESSION(){return this.getToken(t.KW_COMPRESSION,0)}KW_CONCURRENT(){return this.getToken(t.KW_CONCURRENT,0)}KW_CONDITION(){return this.getToken(t.KW_CONDITION,0)}KW_CONNECT(){return this.getToken(t.KW_CONNECT,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_CONNECTION_ADMIN(){return this.getToken(t.KW_CONNECTION_ADMIN,0)}KW_CONSISTENT(){return this.getToken(t.KW_CONSISTENT,0)}KW_CONSTRAINT_CATALOG(){return this.getToken(t.KW_CONSTRAINT_CATALOG,0)}KW_CONSTRAINT_NAME(){return this.getToken(t.KW_CONSTRAINT_NAME,0)}KW_CONSTRAINT_SCHEMA(){return this.getToken(t.KW_CONSTRAINT_SCHEMA,0)}KW_CONTAINS(){return this.getToken(t.KW_CONTAINS,0)}KW_CONTEXT(){return this.getToken(t.KW_CONTEXT,0)}KW_CONTRIBUTORS(){return this.getToken(t.KW_CONTRIBUTORS,0)}KW_COPY(){return this.getToken(t.KW_COPY,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}KW_CPU(){return this.getToken(t.KW_CPU,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_CURSOR_NAME(){return this.getToken(t.KW_CURSOR_NAME,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DEFAULT_AUTH(){return this.getToken(t.KW_DEFAULT_AUTH,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_DELAY_KEY_WRITE(){return this.getToken(t.KW_DELAY_KEY_WRITE,0)}KW_DES_KEY_FILE(){return this.getToken(t.KW_DES_KEY_FILE,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_DISK(){return this.getToken(t.KW_DISK,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_DUMPFILE(){return this.getToken(t.KW_DUMPFILE,0)}KW_DUPLICATE(){return this.getToken(t.KW_DUPLICATE,0)}KW_DYNAMIC(){return this.getToken(t.KW_DYNAMIC,0)}KW_EMPTY(){return this.getToken(t.KW_EMPTY,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}KW_ENCRYPTION_KEY_ADMIN(){return this.getToken(t.KW_ENCRYPTION_KEY_ADMIN,0)}KW_END(){return this.getToken(t.KW_END,0)}KW_ENDS(){return this.getToken(t.KW_ENDS,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}KW_ENGINES(){return this.getToken(t.KW_ENGINES,0)}KW_ENFORCED(){return this.getToken(t.KW_ENFORCED,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_ERRORS(){return this.getToken(t.KW_ERRORS,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_EVENTS(){return this.getToken(t.KW_EVENTS,0)}KW_EVERY(){return this.getToken(t.KW_EVERY,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}KW_EXCHANGE(){return this.getToken(t.KW_EXCHANGE,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}KW_EXPIRE(){return this.getToken(t.KW_EXPIRE,0)}KW_EXPORT(){return this.getToken(t.KW_EXPORT,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_EXTENT_SIZE(){return this.getToken(t.KW_EXTENT_SIZE,0)}KW_FAILED_LOGIN_ATTEMPTS(){return this.getToken(t.KW_FAILED_LOGIN_ATTEMPTS,0)}KW_FAST(){return this.getToken(t.KW_FAST,0)}KW_FAULTS(){return this.getToken(t.KW_FAULTS,0)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_FILE_BLOCK_SIZE(){return this.getToken(t.KW_FILE_BLOCK_SIZE,0)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}KW_FIREWALL_ADMIN(){return this.getToken(t.KW_FIREWALL_ADMIN,0)}KW_FIREWALL_EXEMPT(){return this.getToken(t.KW_FIREWALL_EXEMPT,0)}KW_FIREWALL_USER(){return this.getToken(t.KW_FIREWALL_USER,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_FLUSH(){return this.getToken(t.KW_FLUSH,0)}KW_FOLLOWS(){return this.getToken(t.KW_FOLLOWS,0)}KW_FOUND(){return this.getToken(t.KW_FOUND,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_GENERAL(){return this.getToken(t.KW_GENERAL,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_GRANTS(){return this.getToken(t.KW_GRANTS,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_GROUP_CONCAT(){return this.getToken(t.KW_GROUP_CONCAT,0)}KW_GROUP_REPLICATION(){return this.getToken(t.KW_GROUP_REPLICATION,0)}KW_GROUP_REPLICATION_ADMIN(){return this.getToken(t.KW_GROUP_REPLICATION_ADMIN,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_HASH(){return this.getToken(t.KW_HASH,0)}KW_HELP(){return this.getToken(t.KW_HELP,0)}KW_HISTORY(){return this.getToken(t.KW_HISTORY,0)}KW_HOST(){return this.getToken(t.KW_HOST,0)}KW_HOSTS(){return this.getToken(t.KW_HOSTS,0)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_IGNORE_SERVER_IDS(){return this.getToken(t.KW_IGNORE_SERVER_IDS,0)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}KW_INNODB_REDO_LOG_ARCHIVE(){return this.getToken(t.KW_INNODB_REDO_LOG_ARCHIVE,0)}KW_INPLACE(){return this.getToken(t.KW_INPLACE,0)}KW_INSERT_METHOD(){return this.getToken(t.KW_INSERT_METHOD,0)}KW_INSTALL(){return this.getToken(t.KW_INSTALL,0)}KW_INSTANCE(){return this.getToken(t.KW_INSTANCE,0)}KW_INSTANT(){return this.getToken(t.KW_INSTANT,0)}KW_INVOKE(){return this.getToken(t.KW_INVOKE,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_IO(){return this.getToken(t.KW_IO,0)}KW_IO_THREAD(){return this.getToken(t.KW_IO_THREAD,0)}KW_IPC(){return this.getToken(t.KW_IPC,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_ISSUER(){return this.getToken(t.KW_ISSUER,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_KEY_BLOCK_SIZE(){return this.getToken(t.KW_KEY_BLOCK_SIZE,0)}KW_LAMBDA(){return this.getToken(t.KW_LAMBDA,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}KW_LEAVES(){return this.getToken(t.KW_LEAVES,0)}KW_LESS(){return this.getToken(t.KW_LESS,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_LIST(){return this.getToken(t.KW_LIST,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_MASTER_AUTO_POSITION(){return this.getToken(t.KW_MASTER_AUTO_POSITION,0)}KW_MASTER_CONNECT_RETRY(){return this.getToken(t.KW_MASTER_CONNECT_RETRY,0)}KW_MASTER_DELAY(){return this.getToken(t.KW_MASTER_DELAY,0)}KW_MASTER_HEARTBEAT_PERIOD(){return this.getToken(t.KW_MASTER_HEARTBEAT_PERIOD,0)}KW_MASTER_HOST(){return this.getToken(t.KW_MASTER_HOST,0)}KW_MASTER_LOG_FILE(){return this.getToken(t.KW_MASTER_LOG_FILE,0)}KW_MASTER_LOG_POS(){return this.getToken(t.KW_MASTER_LOG_POS,0)}KW_MASTER_PASSWORD(){return this.getToken(t.KW_MASTER_PASSWORD,0)}KW_MASTER_PORT(){return this.getToken(t.KW_MASTER_PORT,0)}KW_MASTER_RETRY_COUNT(){return this.getToken(t.KW_MASTER_RETRY_COUNT,0)}KW_MASTER_SSL(){return this.getToken(t.KW_MASTER_SSL,0)}KW_MASTER_SSL_CA(){return this.getToken(t.KW_MASTER_SSL_CA,0)}KW_MASTER_SSL_CAPATH(){return this.getToken(t.KW_MASTER_SSL_CAPATH,0)}KW_MASTER_SSL_CERT(){return this.getToken(t.KW_MASTER_SSL_CERT,0)}KW_MASTER_SSL_CIPHER(){return this.getToken(t.KW_MASTER_SSL_CIPHER,0)}KW_MASTER_SSL_CRL(){return this.getToken(t.KW_MASTER_SSL_CRL,0)}KW_MASTER_SSL_CRLPATH(){return this.getToken(t.KW_MASTER_SSL_CRLPATH,0)}KW_MASTER_SSL_KEY(){return this.getToken(t.KW_MASTER_SSL_KEY,0)}KW_MASTER_TLS_VERSION(){return this.getToken(t.KW_MASTER_TLS_VERSION,0)}KW_MASTER_USER(){return this.getToken(t.KW_MASTER_USER,0)}KW_MAX_CONNECTIONS_PER_HOUR(){return this.getToken(t.KW_MAX_CONNECTIONS_PER_HOUR,0)}KW_MAX_QUERIES_PER_HOUR(){return this.getToken(t.KW_MAX_QUERIES_PER_HOUR,0)}KW_MAX(){return this.getToken(t.KW_MAX,0)}KW_MAX_ROWS(){return this.getToken(t.KW_MAX_ROWS,0)}KW_MAX_SIZE(){return this.getToken(t.KW_MAX_SIZE,0)}KW_MAX_UPDATES_PER_HOUR(){return this.getToken(t.KW_MAX_UPDATES_PER_HOUR,0)}KW_MAX_USER_CONNECTIONS(){return this.getToken(t.KW_MAX_USER_CONNECTIONS,0)}KW_MEDIUM(){return this.getToken(t.KW_MEDIUM,0)}KW_MEMBER(){return this.getToken(t.KW_MEMBER,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_MESSAGE_TEXT(){return this.getToken(t.KW_MESSAGE_TEXT,0)}KW_MID(){return this.getToken(t.KW_MID,0)}KW_MIGRATE(){return this.getToken(t.KW_MIGRATE,0)}KW_MIN(){return this.getToken(t.KW_MIN,0)}KW_MIN_ROWS(){return this.getToken(t.KW_MIN_ROWS,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}KW_MODIFY(){return this.getToken(t.KW_MODIFY,0)}KW_MUTEX(){return this.getToken(t.KW_MUTEX,0)}KW_MYSQL(){return this.getToken(t.KW_MYSQL,0)}KW_MYSQL_ERRNO(){return this.getToken(t.KW_MYSQL_ERRNO,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_NDB_STORED_USER(){return this.getToken(t.KW_NDB_STORED_USER,0)}KW_NESTED(){return this.getToken(t.KW_NESTED,0)}KW_NEVER(){return this.getToken(t.KW_NEVER,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_NUMBER(){return this.getToken(t.KW_NUMBER,0)}KW_ODBC(){return this.getToken(t.KW_ODBC,0)}KW_OFFLINE(){return this.getToken(t.KW_OFFLINE,0)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}KW_OF(){return this.getToken(t.KW_OF,0)}KW_OLD_PASSWORD(){return this.getToken(t.KW_OLD_PASSWORD,0)}KW_ONE(){return this.getToken(t.KW_ONE,0)}KW_ONLINE(){return this.getToken(t.KW_ONLINE,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}KW_OPTIMIZER_COSTS(){return this.getToken(t.KW_OPTIMIZER_COSTS,0)}KW_OPTIONAL(){return this.getToken(t.KW_OPTIONAL,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_PACK_KEYS(){return this.getToken(t.KW_PACK_KEYS,0)}KW_PAGE(){return this.getToken(t.KW_PAGE,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_PARTITIONING(){return this.getToken(t.KW_PARTITIONING,0)}KW_PARTITIONS(){return this.getToken(t.KW_PARTITIONS,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_PASSWORDLESS_USER_ADMIN(){return this.getToken(t.KW_PASSWORDLESS_USER_ADMIN,0)}KW_PASSWORD_LOCK_TIME(){return this.getToken(t.KW_PASSWORD_LOCK_TIME,0)}KW_PATH(){return this.getToken(t.KW_PATH,0)}KW_PERSIST_RO_VARIABLES_ADMIN(){return this.getToken(t.KW_PERSIST_RO_VARIABLES_ADMIN,0)}KW_PHASE(){return this.getToken(t.KW_PHASE,0)}KW_PLUGINS(){return this.getToken(t.KW_PLUGINS,0)}KW_PLUGIN_DIR(){return this.getToken(t.KW_PLUGIN_DIR,0)}KW_PLUGIN(){return this.getToken(t.KW_PLUGIN,0)}KW_PORT(){return this.getToken(t.KW_PORT,0)}KW_PRECEDES(){return this.getToken(t.KW_PRECEDES,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_PREV(){return this.getToken(t.KW_PREV,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_PROCESSLIST(){return this.getToken(t.KW_PROCESSLIST,0)}KW_PROFILE(){return this.getToken(t.KW_PROFILE,0)}KW_PROFILES(){return this.getToken(t.KW_PROFILES,0)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_REBUILD(){return this.getToken(t.KW_REBUILD,0)}KW_RECOVER(){return this.getToken(t.KW_RECOVER,0)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}KW_REDO_BUFFER_SIZE(){return this.getToken(t.KW_REDO_BUFFER_SIZE,0)}KW_REDUNDANT(){return this.getToken(t.KW_REDUNDANT,0)}KW_RELAY(){return this.getToken(t.KW_RELAY,0)}KW_RELAYLOG(){return this.getToken(t.KW_RELAYLOG,0)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}KW_REMOVE(){return this.getToken(t.KW_REMOVE,0)}KW_REORGANIZE(){return this.getToken(t.KW_REORGANIZE,0)}KW_REPAIR(){return this.getToken(t.KW_REPAIR,0)}KW_REPLICATE_DO_DB(){return this.getToken(t.KW_REPLICATE_DO_DB,0)}KW_REPLICATE_DO_TABLE(){return this.getToken(t.KW_REPLICATE_DO_TABLE,0)}KW_REPLICATE_IGNORE_DB(){return this.getToken(t.KW_REPLICATE_IGNORE_DB,0)}KW_REPLICATE_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_IGNORE_TABLE,0)}KW_REPLICATE_REWRITE_DB(){return this.getToken(t.KW_REPLICATE_REWRITE_DB,0)}KW_REPLICATE_WILD_DO_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_DO_TABLE,0)}KW_REPLICATE_WILD_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_IGNORE_TABLE,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_REPLICATION_APPLIER(){return this.getToken(t.KW_REPLICATION_APPLIER,0)}KW_REPLICATION_SLAVE_ADMIN(){return this.getToken(t.KW_REPLICATION_SLAVE_ADMIN,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_RESOURCE_GROUP_ADMIN(){return this.getToken(t.KW_RESOURCE_GROUP_ADMIN,0)}KW_RESOURCE_GROUP_USER(){return this.getToken(t.KW_RESOURCE_GROUP_USER,0)}KW_RESUME(){return this.getToken(t.KW_RESUME,0)}KW_RETURNED_SQLSTATE(){return this.getToken(t.KW_RETURNED_SQLSTATE,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_REUSE(){return this.getToken(t.KW_REUSE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_ROLE_ADMIN(){return this.getToken(t.KW_ROLE_ADMIN,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}KW_ROTATE(){return this.getToken(t.KW_ROTATE,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_ROW_FORMAT(){return this.getToken(t.KW_ROW_FORMAT,0)}KW_S3(){return this.getToken(t.KW_S3,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}KW_SCHEDULE(){return this.getToken(t.KW_SCHEDULE,0)}KW_SCHEMA_NAME(){return this.getToken(t.KW_SCHEMA_NAME,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_SECONDARY_ENGINE_ATTRIBUTE,0)}KW_SERIAL(){return this.getToken(t.KW_SERIAL,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_SESSION_VARIABLES_ADMIN(){return this.getToken(t.KW_SESSION_VARIABLES_ADMIN,0)}KW_SET_USER_ID(){return this.getToken(t.KW_SET_USER_ID,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_SHARED(){return this.getToken(t.KW_SHARED,0)}KW_SHOW_ROUTINE(){return this.getToken(t.KW_SHOW_ROUTINE,0)}KW_SIGNED(){return this.getToken(t.KW_SIGNED,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_SLOW(){return this.getToken(t.KW_SLOW,0)}KW_SKIP_QUERY_REWRITE(){return this.getToken(t.KW_SKIP_QUERY_REWRITE,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}KW_SOCKET(){return this.getToken(t.KW_SOCKET,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}KW_SONAME(){return this.getToken(t.KW_SONAME,0)}KW_SOUNDS(){return this.getToken(t.KW_SOUNDS,0)}KW_SOURCE(){return this.getToken(t.KW_SOURCE,0)}KW_SQL_AFTER_GTIDS(){return this.getToken(t.KW_SQL_AFTER_GTIDS,0)}KW_SQL_AFTER_MTS_GAPS(){return this.getToken(t.KW_SQL_AFTER_MTS_GAPS,0)}KW_SQL_BEFORE_GTIDS(){return this.getToken(t.KW_SQL_BEFORE_GTIDS,0)}KW_SQL_BUFFER_RESULT(){return this.getToken(t.KW_SQL_BUFFER_RESULT,0)}KW_SQL_CACHE(){return this.getToken(t.KW_SQL_CACHE,0)}KW_SQL_NO_CACHE(){return this.getToken(t.KW_SQL_NO_CACHE,0)}KW_SQL_THREAD(){return this.getToken(t.KW_SQL_THREAD,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}KW_START(){return this.getToken(t.KW_START,0)}KW_STARTS(){return this.getToken(t.KW_STARTS,0)}KW_STATS_AUTO_RECALC(){return this.getToken(t.KW_STATS_AUTO_RECALC,0)}KW_STATS_PERSISTENT(){return this.getToken(t.KW_STATS_PERSISTENT,0)}KW_STATS_SAMPLE_PAGES(){return this.getToken(t.KW_STATS_SAMPLE_PAGES,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_STD(){return this.getToken(t.KW_STD,0)}KW_STDDEV(){return this.getToken(t.KW_STDDEV,0)}KW_STDDEV_POP(){return this.getToken(t.KW_STDDEV_POP,0)}KW_STDDEV_SAMP(){return this.getToken(t.KW_STDDEV_SAMP,0)}KW_STOP(){return this.getToken(t.KW_STOP,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_STRING(){return this.getToken(t.KW_STRING,0)}KW_SUBCLASS_ORIGIN(){return this.getToken(t.KW_SUBCLASS_ORIGIN,0)}KW_SUBJECT(){return this.getToken(t.KW_SUBJECT,0)}KW_SUBPARTITION(){return this.getToken(t.KW_SUBPARTITION,0)}KW_SUBPARTITIONS(){return this.getToken(t.KW_SUBPARTITIONS,0)}KW_SUM(){return this.getToken(t.KW_SUM,0)}KW_SUSPEND(){return this.getToken(t.KW_SUSPEND,0)}KW_SWAPS(){return this.getToken(t.KW_SWAPS,0)}KW_SWITCHES(){return this.getToken(t.KW_SWITCHES,0)}KW_SYSTEM_VARIABLES_ADMIN(){return this.getToken(t.KW_SYSTEM_VARIABLES_ADMIN,0)}KW_TABLE_NAME(){return this.getToken(t.KW_TABLE_NAME,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_TABLE_ENCRYPTION_ADMIN(){return this.getToken(t.KW_TABLE_ENCRYPTION_ADMIN,0)}KW_TABLE_TYPE(){return this.getToken(t.KW_TABLE_TYPE,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMPTABLE(){return this.getToken(t.KW_TEMPTABLE,0)}KW_THAN(){return this.getToken(t.KW_THAN,0)}KW_TP_CONNECTION_ADMIN(){return this.getToken(t.KW_TP_CONNECTION_ADMIN,0)}KW_TRADITIONAL(){return this.getToken(t.KW_TRADITIONAL,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_TRANSACTIONAL(){return this.getToken(t.KW_TRANSACTIONAL,0)}KW_TRIGGERS(){return this.getToken(t.KW_TRIGGERS,0)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_UNDEFINED(){return this.getToken(t.KW_UNDEFINED,0)}KW_UNDOFILE(){return this.getToken(t.KW_UNDOFILE,0)}KW_UNDO_BUFFER_SIZE(){return this.getToken(t.KW_UNDO_BUFFER_SIZE,0)}KW_UNINSTALL(){return this.getToken(t.KW_UNINSTALL,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_USE_FRM(){return this.getToken(t.KW_USE_FRM,0)}KW_USER_RESOURCES(){return this.getToken(t.KW_USER_RESOURCES,0)}KW_VALIDATION(){return this.getToken(t.KW_VALIDATION,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_VAR_POP(){return this.getToken(t.KW_VAR_POP,0)}KW_VAR_SAMP(){return this.getToken(t.KW_VAR_SAMP,0)}KW_VARIABLES(){return this.getToken(t.KW_VARIABLES,0)}KW_VARIANCE(){return this.getToken(t.KW_VARIANCE,0)}KW_VERSION_TOKEN_ADMIN(){return this.getToken(t.KW_VERSION_TOKEN_ADMIN,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}KW_VIRTUAL(){return this.getToken(t.KW_VIRTUAL,0)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_WARNINGS(){return this.getToken(t.KW_WARNINGS,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_X509(){return this.getToken(t.KW_X509,0)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_XA_RECOVER_ADMIN(){return this.getToken(t.KW_XA_RECOVER_ADMIN,0)}KW_XML(){return this.getToken(t.KW_XML,0)}get ruleIndex(){return t.RULE_keywordsCanBeId}enterRule(e){e.enterKeywordsCanBeId&&e.enterKeywordsCanBeId(this)}exitRule(e){e.exitKeywordsCanBeId&&e.exitKeywordsCanBeId(this)}accept(e){return e.visitKeywordsCanBeId?e.visitKeywordsCanBeId(this):e.visitChildren(this)}}class Ho extends K{constructor(e,i){super(e,i)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}KW_CUME_DIST(){return this.getToken(t.KW_CUME_DIST,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_DENSE_RANK(){return this.getToken(t.KW_DENSE_RANK,0)}KW_FIRST_VALUE(){return this.getToken(t.KW_FIRST_VALUE,0)}KW_FORMAT(){return this.getToken(t.KW_FORMAT,0)}KW_GEOMETRYCOLLECTION(){return this.getToken(t.KW_GEOMETRYCOLLECTION,0)}KW_GET_FORMAT(){return this.getToken(t.KW_GET_FORMAT,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}KW_LAG(){return this.getToken(t.KW_LAG,0)}KW_LAST_VALUE(){return this.getToken(t.KW_LAST_VALUE,0)}KW_LEAD(){return this.getToken(t.KW_LEAD,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_LINESTRING(){return this.getToken(t.KW_LINESTRING,0)}KW_MICROSECOND(){return this.getToken(t.KW_MICROSECOND,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}MOD(){return this.getToken(t.MOD,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_MULTILINESTRING(){return this.getToken(t.KW_MULTILINESTRING,0)}KW_MULTIPOINT(){return this.getToken(t.KW_MULTIPOINT,0)}KW_MULTIPOLYGON(){return this.getToken(t.KW_MULTIPOLYGON,0)}KW_NTH_VALUE(){return this.getToken(t.KW_NTH_VALUE,0)}KW_NTILE(){return this.getToken(t.KW_NTILE,0)}KW_PERCENT_RANK(){return this.getToken(t.KW_PERCENT_RANK,0)}KW_POINT(){return this.getToken(t.KW_POINT,0)}KW_POLYGON(){return this.getToken(t.KW_POLYGON,0)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}KW_QUARTER(){return this.getToken(t.KW_QUARTER,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_RANK(){return this.getToken(t.KW_RANK,0)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_ROW_COUNT(){return this.getToken(t.KW_ROW_COUNT,0)}KW_ROW_NUMBER(){return this.getToken(t.KW_ROW_NUMBER,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}KW_SESSION_VARIABLES_ADMIN(){return this.getToken(t.KW_SESSION_VARIABLES_ADMIN,0)}KW_SRID(){return this.getToken(t.KW_SRID,0)}KW_SYSTEM_USER(){return this.getToken(t.KW_SYSTEM_USER,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_WEEK(){return this.getToken(t.KW_WEEK,0)}KW_WEIGHT_STRING(){return this.getToken(t.KW_WEIGHT_STRING,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_JSON_VALUE(){return this.getToken(t.KW_JSON_VALUE,0)}KW_JSON_TABLE(){return this.getToken(t.KW_JSON_TABLE,0)}get ruleIndex(){return t.RULE_functionNameBase}enterRule(e){e.enterFunctionNameBase&&e.enterFunctionNameBase(this)}exitRule(e){e.exitFunctionNameBase&&e.exitFunctionNameBase(this)}accept(e){return e.visitFunctionNameBase?e.visitFunctionNameBase(this):e.visitChildren(this)}}var fW=Object.defineProperty,ut=(n,e)=>fW(n,"name",{value:e,configurable:!0}),I0=(bn=class{constructor(e=""){R(this,"name");R(this,"context");R(this,"modifiers",new Set);R(this,"visibility",0);tt(this,It,void 0);this.name=e}get parent(){return m(this,It)}get firstSibling(){var e;if(m(this,It))return(e=m(this,It))==null?void 0:e.firstChild}get previousSibling(){if(m(this,It))return m(this,It)?m(this,It).previousSiblingOf(this):this}get nextSibling(){var e;return(e=m(this,It))==null?void 0:e.nextSiblingOf(this)}get lastSibling(){var e;return(e=m(this,It))==null?void 0:e.lastChild}get next(){var e;return(e=m(this,It))==null?void 0:e.nextOf(this)}get root(){let e=m(this,It);for(;e;){if(!e.parent||this.isSymbolTable(e.parent))return e;e=e.parent}return e}get symbolTable(){if(this.isSymbolTable(this))return this;let e=m(this,It);for(;e;){if(this.isSymbolTable(e))return e;e=e.parent}}get symbolPath(){const e=[];let i=this;for(;i&&(e.push(i),!!i.parent);)i=i.parent;return e}setParent(e){$(this,It,e)}removeFromParent(){var e;(e=m(this,It))==null||e.removeSymbol(this),$(this,It,void 0)}async resolve(e,i=!1){var s;return(s=m(this,It))==null?void 0:s.resolve(e,i)}resolveSync(e,i=!1){var s;return(s=m(this,It))==null?void 0:s.resolveSync(e,i)}getParentOfType(e){let i=m(this,It);for(;i;){if(i instanceof e)return i;i=i.parent}}qualifiedName(e=".",i=!1,s=!1){if(!s&&this.name.length===0)return"";let h=this.name.length===0?"":this.name,a=m(this,It);for(;a&&((s||a.name.length>0)&&(h=(a.name.length===0?"":a.name)+e+h),!(!i||!a.parent));)a=a.parent;return h}isSymbolTable(e){return e.info!==void 0}},It=new WeakMap,ut(bn,"BaseSymbol"),bn);wn=class extends I0{constructor(i,s,h,a=0){super(i);R(this,"elementType");R(this,"size");R(this,"referenceKind");this.referenceKind=s,this.elementType=h,this.size=a}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ut(wn,"ArrayType");var Bo=(vn=class extends Error{},ut(vn,"DuplicateSymbolError"),vn),L0=(ue=class extends I0{constructor(i=""){super(i);tt(this,at,[]);tt(this,ve,new Map)}get directScopes(){return this.getSymbolsOfType(ue)}get children(){return m(this,at)}get firstChild(){if(m(this,at).length>0)return m(this,at)[0]}get lastChild(){if(m(this,at).length>0)return m(this,at)[m(this,at).length-1]}clear(){$(this,at,[]),m(this,ve).clear()}addSymbol(i){i.removeFromParent();const s=this.symbolTable,h=m(this,ve).get(i.name);if(!s||!s.options.allowDuplicateSymbols){if(h!==void 0)throw new Bo("Attempt to add duplicate symbol '"+(i.name??"")+"'");if(m(this,ve).set(i.name,1),m(this,at).indexOf(i)>-1)throw new Bo("Attempt to add duplicate symbol '"+(i.name??"")+"'")}else m(this,ve).set(i.name,h===void 0?1:h+1);m(this,at).push(i),i.setParent(this)}removeSymbol(i){const s=m(this,at).indexOf(i);if(s>-1){m(this,at).splice(s,1),i.setParent(void 0);const h=m(this,ve).get(i.name);h!==void 0&&(h===1?m(this,ve).delete(i.name):m(this,ve).set(i.name,h-1))}}async getNestedSymbolsOfType(i){const s=[],h=[];return m(this,at).forEach(o=>{o instanceof i&&s.push(o),o instanceof ue&&h.push(o.getNestedSymbolsOfType(i))}),(await Promise.all(h)).forEach(o=>{s.push(...o)}),s}getNestedSymbolsOfTypeSync(i){const s=[];return m(this,at).forEach(h=>{h instanceof i&&s.push(h),h instanceof ue&&s.push(...h.getNestedSymbolsOfTypeSync(i))}),s}async getAllNestedSymbols(i){const s=[],h=[];return m(this,at).forEach(o=>{(!i||o.name===i)&&s.push(o),o instanceof ue&&h.push(o.getAllNestedSymbols(i))}),(await Promise.all(h)).forEach(o=>{s.push(...o)}),s}getAllNestedSymbolsSync(i){const s=[];return m(this,at).forEach(h=>{(!i||h.name===i)&&s.push(h),h instanceof ue&&s.push(...h.getAllNestedSymbolsSync(i))}),s}getSymbolsOfType(i){return new Promise(s=>{const h=[];m(this,at).forEach(a=>{a instanceof i&&h.push(a)}),s(h)})}async getAllSymbols(i,s=!1){const h=[];for(const a of m(this,at))if(a instanceof i&&h.push(a),this.isNamespace(a)){const o=await a.getAllSymbols(i,!0);h.push(...o)}if(!s&&this.parent){const a=await this.getAllSymbols(i,!0);h.push(...a)}return h}getAllSymbolsSync(i,s=!1){const h=[];for(const a of m(this,at))if(a instanceof i&&h.push(a),this.isNamespace(a)){const o=a.getAllSymbolsSync(i,!0);h.push(...o)}if(!s&&this.parent){const a=this.getAllSymbolsSync(i,!0);h.push(...a)}return h}async resolve(i,s=!1){return new Promise(h=>{for(const a of m(this,at))if(a.name===i){h(a);return}if(!s&&this.parent){h(this.parent.resolve(i,!1));return}h(void 0)})}resolveSync(i,s=!1){for(const h of m(this,at))if(h.name===i)return h;if(!s&&this.parent)return this.parent.resolveSync(i,!1)}symbolFromPath(i,s="."){const h=i.split(s);let a=0;(h[0]===this.name||h[0].length===0)&&++a;let o=this;for(;aE.name===h[a]);if(!r)return;o=r,++a}return o}indexOfChild(i){return m(this,at).findIndex(s=>s===i)}nextSiblingOf(i){const s=this.indexOfChild(i);if(!(s===-1||s>=m(this,at).length-1))return m(this,at)[s+1]}previousSiblingOf(i){const s=this.indexOfChild(i);if(!(s<1))return m(this,at)[s-1]}nextOf(i){if(!i.parent)return;if(i.parent!==this)return i.parent.nextOf(i);if(i instanceof ue&&i.children.length>0)return i.children[0];const s=this.nextSiblingOf(i);return s||this.parent.nextOf(this)}isNamespace(i){return i.inline!==void 0&&i.attributes!==void 0}},at=new WeakMap,ve=new WeakMap,ut(ue,"ScopedSymbol"),ue);Yn=class extends L0{},ut(Yn,"BlockSymbol");var Fo=(Vn=class extends I0{constructor(i,s){super(i);R(this,"type");this.type=s}},ut(Vn,"TypedSymbol"),Vn),o5=(Xn=class extends Fo{constructor(i,s,h){super(i,h);R(this,"value");this.value=s}},ut(Xn,"VariableSymbol"),Xn),Go=(Qn=class extends o5{constructor(){super(...arguments);R(this,"setter");R(this,"getter")}},ut(Qn,"FieldSymbol"),Qn),gW=(Zn=class extends o5{},ut(Zn,"ParameterSymbol"),Zn),UW=(Jn=class extends L0{constructor(i,s){super(i);R(this,"returnType");this.returnType=s}getVariables(i=!0){return this.getSymbolsOfType(o5)}getParameters(i=!0){return this.getSymbolsOfType(gW)}},ut(Jn,"RoutineSymbol"),Jn),bo=(zn=class extends UW{constructor(){super(...arguments);R(this,"methodFlags",0)}},ut(zn,"MethodSymbol"),zn);jn=class extends L0{constructor(i,s,h){super(i);R(this,"isStruct",!1);R(this,"reference",0);R(this,"extends");R(this,"implements");this.extends=s,this.implements=h}get baseTypes(){return this.extends}get kind(){return 7}getMethods(i=!1){return this.getSymbolsOfType(bo)}getFields(i=!1){return this.getSymbolsOfType(Go)}},ut(jn,"ClassSymbol"),ie=class{constructor(e,i=0,s=0){R(this,"name");R(this,"typeKind");R(this,"referenceKind");this.name=e,this.typeKind=i,this.referenceKind=s}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ut(ie,"FundamentalType"),R(ie,"integerType",new ie("int",1,3)),R(ie,"floatType",new ie("float",2,3)),R(ie,"stringType",new ie("string",4,3)),R(ie,"boolType",new ie("bool",6,3)),$n=class extends L0{constructor(i,s){super(i);R(this,"reference",0);R(this,"extends");this.extends=s}get baseTypes(){return this.extends}get kind(){return 8}getMethods(i=!1){return this.getSymbolsOfType(bo)}getFields(i=!1){return this.getSymbolsOfType(Go)}},ut($n,"InterfaceSymbol"),Mn=class extends Fo{constructor(i,s,h){super(i,h);R(this,"value");this.value=s}},ut(Mn,"LiteralSymbol");var y7=(Pn=class extends L0{constructor(i,s=!1,h=[]){super(i);R(this,"inline");R(this,"attributes");this.inline=s,this.attributes=h}},ut(Pn,"NamespaceSymbol"),Pn);yn=class extends I0{constructor(i,s){super(i);R(this,"targetType");this.targetType=s}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ut(yn,"TypeAlias");var DW=ut((n,e)=>{if(!n||!e)return[];let i;for(i=0;i=e||r.type===d.EOF)||r.type===d.EOF)break}const a=[],o=i?i.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,a,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const E of this.candidates.rules){let u="";for(const T of E[1].ruleList)u+=this.ruleNames[T]+" ";console.log(this.ruleNames[E[0]]+", path: ",u)}const r=new Set;for(const E of this.candidates.tokens){let u=this.vocabulary.getDisplayName(E[0])??"";for(const T of E[1])u+=" "+this.vocabulary.getDisplayName(T);r.add(u)}console.log(` - -Collected tokens: -`);for(const E of r)console.log(E);console.log(` - -`)}return this.candidates}checkPredicate(e){return e.getPredicate().evaluate(this.parser,K.EMPTY)}translateStackToRuleIndex(e){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let i=e.length-1;i>=0;i--)if(this.translateToRuleIndex(i,e))return!0}else for(let i=0;ir);let o=!0;for(const r of this.candidates.rules)if(!(r[0]!==s||r[1].ruleList.length!==a.length)&&a.every((E,u)=>E===r[1].ruleList[u])){o=!1;break}return o&&(this.candidates.rules.set(s,{startTokenIndex:h,ruleList:a}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[s])),!0}return!1}getFollowingTokens(e){const i=[],s=[e.target];for(;s.length>0;){const h=s.pop();h&&h.transitions.forEach(a=>{if(a.serializationType===B.ATOM)if(a.isEpsilon)s.push(a.target);else{const o=a.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(i.push(o[0]),s.push(a.target))}})}return i}determineFollowSets(e,i){const s=[],h=[],a=[],o=this.collectFollowSets(e,i,s,h,a),r=new St;for(const E of s)r.addSet(E.intervals);return{sets:s,isExhaustive:o,combined:r}}collectFollowSets(e,i,s,h,a){if(h.find(r=>r===e))return!0;if(h.push(e),e===i||e.stateType===Z.RULE_STOP)return h.pop(),!1;let o=!0;for(const r of e.transitions)if(r.serializationType===B.RULE){const E=r;if(a.indexOf(E.target.ruleIndex)!==-1)continue;a.push(E.target.ruleIndex);const u=this.collectFollowSets(r.target,i,s,h,a);if(a.pop(),!u){const T=this.collectFollowSets(E.followState,i,s,h,a);o&&(o=T)}}else if(r.serializationType===B.PREDICATE){if(this.checkPredicate(r)){const E=this.collectFollowSets(r.target,i,s,h,a);o&&(o=E)}}else if(r.isEpsilon){const E=this.collectFollowSets(r.target,i,s,h,a);o&&(o=E)}else if(r.serializationType===B.WILDCARD){const E=new wo;E.intervals=St.of(d.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),E.path=a.slice(),s.push(E)}else{let E=r.label;if(E&&E.length>0){r.serializationType===B.NOT_SET&&(E=E.complement(d.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new wo;u.intervals=E??new St,u.path=a.slice(),u.following=this.getFollowingTokens(r),s.push(u)}}return h.pop(),o}processRule(e,i,s,h,a){let o=this.shortcutMap.get(e.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(e.ruleIndex,o);else if(o.has(i))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(i);const r=new Set;let E=me.followSetsByATN.get(this.parser.constructor.name);E||(E=new Map,me.followSetsByATN.set(this.parser.constructor.name,E));let u=E.get(e.stateNumber);if(!u){const N=this.atn.ruleToStopState[e.ruleIndex];u=this.determineFollowSets(e,N),E.set(e.stateNumber,u)}const T=this.tokens[i].tokenIndex;if(s.push({startTokenIndex:T,ruleIndex:e.ruleIndex}),i>=this.tokens.length-1){if(this.preferredRules.has(e.ruleIndex))this.translateStackToRuleIndex(s);else for(const N of u.sets){const x=s.slice(),D=N.path.map(k=>({startTokenIndex:T,ruleIndex:k}));if(x.push(...D),!this.translateStackToRuleIndex(x))for(const k of N.intervals.toArray())this.ignoredTokens.has(k)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(k)),this.candidates.tokens.has(k)?this.candidates.tokens.get(k)!==N.following&&this.candidates.tokens.set(k,[]):this.candidates.tokens.set(k,N.following))}return u.isExhaustive||r.add(i),s.pop(),r}else{const N=this.tokens[i].type;if(u.isExhaustive&&!u.combined.contains(N))return s.pop(),r}e.isPrecedenceRule&&this.precedenceStack.push(h);const _=[];let A;for(_.push({state:e,tokenListIndex:i});_.length>0;){A=_.pop(),++this.statesProcessed;const N=this.tokens[A.tokenListIndex].type,x=A.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(a,A.state,this.generateBaseDescription(A.state),A.tokenListIndex),this.showRuleStack&&this.printRuleState(s)),A.state.stateType===Z.RULE_STOP){r.add(A.tokenListIndex);continue}const D=A.state.transitions;for(const k of D)switch(k.serializationType){case B.RULE:{const b=k,C=this.processRule(k.target,A.tokenListIndex,s,b.precedence,a+1);for(const O of C)_.push({state:k.followState,tokenListIndex:O});break}case B.PREDICATE:{this.checkPredicate(k)&&_.push({state:k.target,tokenListIndex:A.tokenListIndex});break}case B.PRECEDENCE:{k.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&_.push({state:k.target,tokenListIndex:A.tokenListIndex});break}case B.WILDCARD:{if(x){if(!this.translateStackToRuleIndex(s))for(const b of St.of(d.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(b)||this.candidates.tokens.set(b,[])}else _.push({state:k.target,tokenListIndex:A.tokenListIndex+1});break}default:{if(k.isEpsilon){_.push({state:k.target,tokenListIndex:A.tokenListIndex});continue}let b=k.label;if(b&&b.length>0)if(k.serializationType===B.NOT_SET&&(b=b.complement(d.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),x){if(!this.translateStackToRuleIndex(s)){const C=b.toArray(),O=C.length===1;for(const p of C)if(!this.ignoredTokens.has(p)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(p));const f=O?this.getFollowingTokens(k):[];this.candidates.tokens.has(p)?this.candidates.tokens.set(p,DW(f,this.candidates.tokens.get(p))):this.candidates.tokens.set(p,f)}}}else b.contains(N)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(N)),_.push({state:k.target,tokenListIndex:A.tokenListIndex+1}))}}}return s.pop(),e.isPrecedenceRule&&this.precedenceStack.pop(),o.set(i,r),r}generateBaseDescription(e){return`[${e.stateNumber===Ue.INVALID_STATE_NUMBER?"Invalid":e.stateNumber} ${me.atnStateTypeMap[e.stateType]}] in ${this.ruleNames[e.ruleIndex]}`}printDescription(e,i,s,h){const a=" ".repeat(e);let o=a,r="";if(this.debugOutputWithTransitions)for(const E of i.transitions){let u="";const T=E.label?E.label.toArray():[];if(T.length>2)u=this.vocabulary.getDisplayName(T[0])+" .. "+this.vocabulary.getDisplayName(T[T.length-1]);else for(const _ of T)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(_);u.length===0&&(u="ε"),r+=` -${a} (${u}) [${E.target.stateNumber} ${me.atnStateTypeMap[E.target.stateType]}] in ${this.ruleNames[E.target.ruleIndex]}`}h>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+h}>> `:o+=`<${this.tokenStartIndex+h}> `,console.log(o+"Current state: "+s+r)}printRuleState(e){if(e.length===0){console.log("");return}for(const i of e)console.log(this.ruleNames[i.ruleIndex])}},ut(me,"CodeCompletionCore"),R(me,"followSetsByATN",new Map),R(me,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),me);e7=class extends L0{constructor(i,s){super(i);R(this,"dependencies",new Set);this.options=s}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...i){i.forEach(s=>{this.dependencies.add(s)})}removeDependency(i){this.dependencies.has(i)&&this.dependencies.delete(i)}addNewSymbolOfType(i,s,...h){const a=new i(...h);return!s||s===this?this.addSymbol(a):s.addSymbol(a),a}async addNewNamespaceFromPath(i,s,h="."){const a=s.split(h);let o=0,r=i===void 0?this:i;for(;oo.getAllSymbols(i,s)))).forEach(o=>{h.push(...o)}),h}getAllSymbolsSync(i,s=!1){const h=super.getAllSymbolsSync(i,s);return s||this.dependencies.forEach(a=>{h.push(...a.getAllSymbolsSync(i,s))}),h}async symbolWithContext(i){const s=ut(a=>{if(a.context===i)return a;if(a instanceof L0)for(const o of a.children){const r=s(o);if(r)return r}},"findRecursive");let h=await this.getAllSymbols(I0);for(const a of h){const o=s(a);if(o)return o}for(const a of this.dependencies){h=await a.getAllSymbols(I0);for(const o of h){const r=s(o);if(r)return r}}}symbolWithContextSync(i){const s=ut(a=>{if(a.context===i)return a;if(a instanceof L0)for(const o of a.children){const r=s(o);if(r)return r}},"findRecursive");let h=this.getAllSymbolsSync(I0);for(const a of h){const o=s(a);if(o)return o}for(const a of this.dependencies){h=a.getAllSymbolsSync(I0);for(const o of h){const r=s(o);if(r)return r}}}async resolve(i,s=!1){let h=await super.resolve(i,s);if(!h&&!s){for(const a of this.dependencies)if(h=await a.resolve(i,!1),h)return h}return h}resolveSync(i,s=!1){let h=super.resolveSync(i,s);if(!h&&!s){for(const a of this.dependencies)if(h=a.resolveSync(i,!1),h)return h}return h}},ut(e7,"SymbolTable");function vo(n,e){var i,s;const{lineNumber:h,column:a}=n;let o=0,r=e.length-1;for(;o<=r;){const E=o+(r-o>>1),u=e[E];if(u.line>h||u.line===h&&u.column+1>=a)r=E-1;else if(u.line{this._parseErrors.push(e)}}createLexer(e,i){const s=Yh.fromString(e),h=this.createLexerFromCharStream(s);return i&&(h.removeErrorListeners(),h.addErrorListener(new q7(i))),h}createParser(e,i){const s=this.createLexer(e,i),h=new O7(s),a=this.createParserFromTokenStream(h);return a.interpreter.predictionMode=Nt.SLL,i&&(a.removeErrorListeners(),a.addErrorListener(new q7(i))),a}parse(e,i){const s=this.createParser(e,i);return s.buildParseTrees=!0,s.errorHandler=new r5,s.program()}createParserWithCache(e){return this._parseTree=null,this._charStreams=Yh.fromString(e),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new q7(this._errorListener)),this._tokenStream=new O7(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=Nt.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new r5,this._parser}parseWithCache(e,i){if(this._parsedInput===e&&!i&&this._parseTree)return this._parseTree;this._parseErrors=[];const s=this.createParserWithCache(e);return this._parsedInput=e,s.removeErrorListeners(),s.addErrorListener(new q7(this._errorListener)),this._parseTree=s.program(),this._parseTree}validate(e){return this.parseWithCache(e),this._parseErrors}getAllTokens(e){this.parseWithCache(e);let i=this._tokenStream.getTokens();return i[i.length-1].text===""&&(i=i.slice(0,-1)),i}listen(e,i){$r.DEFAULT.walk(e,i)}splitSQLByStatement(e){if(this.validate(e).length||!this._parseTree)return null;const s=this.splitListener;return s?(this.listen(s,this._parseTree),s.statementsContext.map(a=>Yo(a,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(e,i){var s,h,a,o,r,E,u,T,_;const A=this.splitListener;if(!A||(this.parseWithCache(e),!this._parseTree))return null;let N=this._parser;const x=this.getAllTokens(e);let D=vo(i,x),k=this._parseTree,b=0;if(!D&&D!==0)return null;this.listen(A,this._parseTree);const C=(s=A.statementsContext)===null||s===void 0?void 0:s.length,O=A.statementsContext;if(C>1){let S=null,J=null;for(let R1=0;R1D&&jW){J=T1;break}}const Ot=(r=(o=S==null?void 0:S.start)===null||o===void 0?void 0:o.start)!==null&&r!==void 0?r:0,q=(u=(E=J==null?void 0:J.stop)===null||E===void 0?void 0:E.stop)!==null&&u!==void 0?u:e.length-1;b=(_=(T=S==null?void 0:S.start)===null||T===void 0?void 0:T.tokenIndex)!==null&&_!==void 0?_:0,D=D-b;const v=e.slice(Ot,q),pe=this.createLexer(v);pe.removeErrorListeners();const Qo=new O7(pe);Qo.fill();const y1=this.createParserFromTokenStream(Qo);y1.interpreter.predictionMode=Nt.SLL,y1.removeErrorListeners(),y1.buildParseTrees=!0,y1.errorHandler=new r5,N=y1,k=y1.program()}const p=new SW(N);p.preferredRules=this.preferredRules;const f=p.collectCandidates(D,k),w=this.processCandidates(f,x,D,b);return{syntax:w.syntax.map(S=>{const J=S.wordRanges.map(Ot=>HW(Ot,this._parsedInput));return{syntaxContextType:S.syntaxContextType,wordRanges:J}}),keywords:w.keywords}}getAllEntities(e,i){const s=this.getAllTokens(e),h=i?vo(i,s):void 0,a=this.createEntityCollector(e,h);if(!a)return null;const o=this.parseWithCache(e);return this.listen(a,o),a.getEntities()}}var ct;(function(n){n.CATALOG="catalog",n.CATALOG_CREATE="catalogCreate",n.DATABASE="database",n.DATABASE_CREATE="databaseCreate",n.TABLE="table",n.TABLE_CREATE="tableCreate",n.VIEW="view",n.VIEW_CREATE="viewCreate",n.FUNCTION="function",n.FUNCTION_CREATE="functionCreate",n.PROCEDURE="procedure",n.PROCEDURE_CREATE="procedureCreate",n.COLUMN="column",n.COLUMN_CREATE="columnCreate"})(ct||(ct={}));class GW{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class bW extends GW{exitSingleStatement(e){this._statementsContext.push(e)}}class Vo{constructor(){this.stack=[]}push(e){this.stack.push(e)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var Xo=function(n,e){var i={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(i[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,s=Object.getOwnPropertySymbols(n);h=0&&(h=!!e.start&&!!e.stop&&e.start.tokenIndex<=this._caretTokenIndex&&e.stop.tokenIndex>=this._caretTokenIndex);const a=wW(e,i,this._input,this._rootStmt,this._stmtStack.peek(),h);return a&&((this._stmtStack.isEmpty()||((s=this._stmtStack.peek())===null||s===void 0?void 0:s.stmtContextType)===bt.COMMON_STMT)&&(this._rootStmt=a),this._stmtStack.push(a)),a}popStmt(){const e=this._stmtStack.pop();return e&&this._rootStmt===e&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(e)),e}pushEntity(e,i,s){const h=YW(e,i,this._input,this._stmtStack.peek(),s);return h&&(this._stmtStack.isEmpty()?this._entitiesSet.add(h):this._entityStack.push(h)),h}combineEntitiesAndAdd(e){const i=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===e||this._entityStack.peek().belongStmt.rootStmt===e);)i.unshift(this._entityStack.pop());const s=this.combineRootStmtEntities(e,i);for(;s.length;){const h=s.shift();h&&this._entitiesSet.add(h)}}combineRootStmtEntities(e,i){return e.stmtContextType===bt.CREATE_VIEW_STMT||e.stmtContextType===bt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(e,i):i}combineCreateTableOrViewStmtEntities(e,i){const s=[],h=[];let a=null;const o=i.reduce((r,E)=>{if(E.belongStmt!==e)return E.entityContextType!==ct.COLUMN&&E.entityContextType!==ct.COLUMN_CREATE&&(h.push(E),r.push(E)),r;if(E.entityContextType===ct.COLUMN_CREATE)s.push(E);else{if(E.entityContextType===ct.TABLE_CREATE||E.entityContextType===ct.VIEW_CREATE)return a=E,r.push(E),r;E.entityContextType!==ct.COLUMN&&(h.push(E),r.push(E))}return r},[]);return a&&s.length&&(a.columns=s),a&&h.length&&(a.relatedEntities=h),o}}class XW extends VW{exitDatabaseName(e){this.pushEntity(e,ct.DATABASE)}exitDatabaseNameCreate(e){this.pushEntity(e,ct.DATABASE_CREATE)}exitTableName(e){this.pushEntity(e,ct.TABLE)}exitTableNameCreate(e){this.pushEntity(e,ct.TABLE_CREATE)}exitViewName(e){this.pushEntity(e,ct.VIEW)}exitViewNameCreate(e){this.pushEntity(e,ct.VIEW_CREATE)}exitFunctionNameCreate(e){this.pushEntity(e,ct.FUNCTION_CREATE)}exitColumnNameCreate(e){this.pushEntity(e,ct.COLUMN_CREATE)}enterSingleStatement(e){this.pushStmt(e,bt.COMMON_STMT)}exitSingleStatement(e){this.popStmt()}enterQueryCreateTable(e){this.pushStmt(e,bt.CREATE_TABLE_STMT)}exitQueryCreateTable(e){this.popStmt()}enterColumnCreateTable(e){this.pushStmt(e,bt.CREATE_TABLE_STMT)}exitColumnCreateTable(e){this.popStmt()}enterCopyCreateTable(e){this.pushStmt(e,bt.CREATE_TABLE_STMT)}exitCopyCreateTable(e){this.popStmt()}enterCreateView(e){this.pushStmt(e,bt.CREATE_VIEW_STMT)}exitCreateView(e){this.popStmt()}enterSimpleSelect(e){this.pushStmt(e,bt.SELECT_STMT)}exitSimpleSelect(e){this.popStmt()}enterUnionAndLateralSelect(e){this.pushStmt(e,bt.SELECT_STMT)}exitUnionAndLateralSelect(e){this.popStmt()}enterSelectExpression(e){this.pushStmt(e,bt.SELECT_STMT)}exitSelectExpression(e){this.popStmt()}enterInsertStatement(e){this.pushStmt(e,bt.INSERT_STMT)}exitInsertStatement(e){this.popStmt()}enterCreateDatabase(e){this.pushStmt(e,bt.CREATE_DATABASE_STMT)}exitCreateDatabase(e){this.popStmt()}enterCreateFunction(e){this.pushStmt(e,bt.CREATE_FUNCTION_STMT)}exitCreateFunction(e){this.popStmt()}}class QW extends FW{constructor(){super(...arguments),this.preferredRules=new Set([t.RULE_databaseName,t.RULE_databaseNameCreate,t.RULE_tableName,t.RULE_tableNameCreate,t.RULE_viewName,t.RULE_viewNameCreate,t.RULE_functionName,t.RULE_functionNameCreate,t.RULE_columnName,t.RULE_columnNameCreate])}createLexerFromCharStream(e){return new c(e)}createParserFromTokenStream(e){return new t(e)}get splitListener(){return new bW}createEntityCollector(e,i){return new XW(e,i)}processCandidates(e,i,s,h){const a=[],o=[];for(const r of e.rules){const[E,u]=r,T=u.startTokenIndex+h,_=i.slice(T,s+h+1);let A;switch(E){case t.RULE_databaseName:{A=ct.DATABASE;break}case t.RULE_databaseNameCreate:{A=ct.DATABASE_CREATE;break}case t.RULE_tableName:{A=ct.TABLE;break}case t.RULE_tableNameCreate:{A=ct.TABLE_CREATE;break}case t.RULE_viewName:{A=ct.VIEW;break}case t.RULE_viewNameCreate:{A=ct.VIEW_CREATE;break}case t.RULE_functionName:{A=ct.FUNCTION;break}case t.RULE_functionNameCreate:{A=ct.FUNCTION_CREATE;break}case t.RULE_columnName:{A=ct.COLUMN;break}case t.RULE_columnNameCreate:{A=ct.COLUMN_CREATE;break}}A&&a.push({syntaxContextType:A,wordRanges:_})}for(const r of e.tokens){const E=this._parser.vocabulary.getSymbolicName(r[0]),u=this._parser.vocabulary.getDisplayName(r[0]);if(u&&E&&E.startsWith("KW_")){const T=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;o.push(T)}}return{syntax:a,keywords:o}}}var zi=function(n,e,i,s){function h(a){return a instanceof i?a:new i(function(o){o(a)})}return new(i||(i=Promise))(function(a,o){function r(T){try{u(s.next(T))}catch(_){o(_)}}function E(T){try{u(s.throw(T))}catch(_){o(_)}}function u(T){T.done?a(T.value):h(T.value).then(r,E)}u((s=s.apply(n,e||[])).next())})};class ZW{constructor(e,i){this.keywords=[]}doValidation(e){return zi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const i=this.parser.validate(e);return Promise.resolve(i)}return Promise.resolve([])})}parserTreeToString(e){return zi(this,void 0,void 0,function*(){if(e){const i=this.parser.createParser(e),h=i.program().toStringTree(i);return Promise.resolve(h)}return Promise.resolve("")})}doCompletion(e,i){return zi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const s=this.parser.getSuggestionAtCaretPosition(e,i);return Promise.resolve(s)}return Promise.resolve(null)})}doCompletionWithEntities(e,i){return zi(this,void 0,void 0,function*(){var s;if(e=e||this.getTextDocument(),e){const h=this.parser.getSuggestionAtCaretPosition(e,i);let a=null;return!((s=h==null?void 0:h.syntax)===null||s===void 0)&&s.length&&(a=this.parser.getAllEntities(e,i)),Promise.resolve([h,a])}return Promise.resolve([null,null])})}getAllEntities(e,i){return zi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const s=this.parser.getAllEntities(e,i);return Promise.resolve(s)}return Promise.resolve(null)})}getTextDocument(){const e=this._ctx.getMirrorModels()[0];return e&&e.getValue()}}class JW extends ZW{constructor(e,i){super(e,i),this._ctx=e,this.parser=new QW}}self.onmessage=()=>{C3((n,e)=>new JW(n,e))}})(); diff --git a/assets/mysql.worker-ca5627dc.js b/assets/mysql.worker-ca5627dc.js new file mode 100644 index 00000000..400f9969 --- /dev/null +++ b/assets/mysql.worker-ca5627dc.js @@ -0,0 +1,22 @@ +var nR=Object.defineProperty;var hR=(ut,Et,Lt)=>Et in ut?nR(ut,Et,{enumerable:!0,configurable:!0,writable:!0,value:Lt}):ut[Et]=Lt;var R=(ut,Et,Lt)=>(hR(ut,typeof Et!="symbol"?Et+"":Et,Lt),Lt),_3=(ut,Et,Lt)=>{if(!Et.has(ut))throw TypeError("Cannot "+Lt)};var p=(ut,Et,Lt)=>(_3(ut,Et,"read from private field"),Lt?Lt.call(ut):Et.get(ut)),tt=(ut,Et,Lt)=>{if(Et.has(ut))throw TypeError("Cannot add the same private member more than once");Et instanceof WeakSet?Et.add(ut):Et.set(ut,Lt)},$=(ut,Et,Lt,ei)=>(_3(ut,Et,"write to private field"),ei?ei.call(ut,Lt):Et.set(ut,Lt),Lt);var A3=(ut,Et,Lt)=>(_3(ut,Et,"access private method"),Lt);(function(){var b1,Pi,yi,ye,c1,w1,qi,de,d0,l0,o1,Rt,ts,r1,es,Ee,be,is,m0,we,E1,v1,ss,K1,p0,ns,hs,as,se,cs,os,W1,rs,Y1,V1,X1,Es,x0,Ks,Ws,Q1,us,Z1,qe,Rs,vt,Ts,_s,As,it,mt,Wt,Is,f0,Ls,Os,Cs,g0,J1,U0,Ns,ds,ls,ms,ps,xs,fs,gs,Us,Ds,ks,Ss,Hs,Bs,Fs,Gs,bs,ws,vs,u1,z1,j1,R1,$1,M1,T1,P1,D0,Ys,Vs,Yt,w,Xs,Qs,Zs,Js,zs,js,$s,t0,e0,Ms,Ps,ys,y1,qs,tn,_1,en,I3,sn,nn,hn,an,Q,cn,on,rn,En,Kn,Wn,un,Rn,k0,Tn,_n,An,In,Ln,On,Cn,Nn,dn,ln,mn,pn,xn,fn,i2,gn,Un,Dn,kn,le,Sn,Hn,Bn,s2,q1,Fn,Pt,Gn,bn,wn,vn,It,Yn,Vn,Xn,ct,ve,Ke,Qn,Zn,Jn,zn,jn,$n,Mn,Pn,ne,yn,qn,t7,e7,i7,s7,me,n7;"use strict";class ut{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?new Error(e.message+` + +`+e.stack):e},0)}}emit(e){this.listeners.forEach(i=>{i(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const Et=new ut;function Lt(n){t6(n)||Et.onUnexpectedError(n)}function ei(n){if(n instanceof Error){let{name:e,message:i}=n;const s=n.stacktrace||n.stack;return{$isError:!0,name:e,message:i,stack:s}}return n}const L3="Canceled";function t6(n){return n instanceof Error&&n.name===L3&&n.message===L3}function e6(n){const e=this;let i=!1,s;return function(){return i||(i=!0,s=n.apply(e,arguments)),s}}var n2;(function(n){function e(N){return N&&typeof N=="object"&&typeof N[Symbol.iterator]=="function"}n.is=e;const i=Object.freeze([]);function s(){return i}n.empty=s;function*h(N){yield N}n.single=h;function a(N){return N||i}n.from=a;function c(N){return!N||N[Symbol.iterator]().next().done===!0}n.isEmpty=c;function r(N){return N[Symbol.iterator]().next().value}n.first=r;function E(N,O){for(const x of N)if(O(x))return!0;return!1}n.some=E;function K(N,O){for(const x of N)if(O(x))return x}n.find=K;function*T(N,O){for(const x of N)O(x)&&(yield x)}n.filter=T;function*_(N,O){let x=0;for(const f of N)yield O(f,x++)}n.map=_;function*A(...N){for(const O of N)for(const x of O)yield x}n.concat=A;function*C(N){for(const O of N)for(const x of O)yield x}n.concatNested=C;function m(N,O,x){let f=x;for(const b of N)f=O(f,b);return f}n.reduce=m;function*U(N,O,x=N.length){for(O<0&&(O+=N.length),x<0?x+=N.length:x>N.length&&(x=N.length);Of===b){const f=N[Symbol.iterator](),b=O[Symbol.iterator]();for(;;){const F=f.next(),S=b.next();if(F.done!==S.done)return!1;if(F.done)return!0;if(!x(F.value,S.value))return!1}}n.equals=B})(n2||(n2={}));function aR(n){return n}function cR(n,e){}class i6 extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function O3(n){if(n2.is(n)){let e=[];for(const i of n)if(i)try{i.dispose()}catch(s){e.push(s)}if(e.length===1)throw e[0];if(e.length>1)throw new i6(e);return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function s6(...n){return C3(()=>O3(n))}function C3(n){return{dispose:e6(()=>{n()})}}class ii{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{O3(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?ii.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}ii.DISABLE_DISPOSED_WARNING=!1;class N3{constructor(){this._store=new ii,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}N3.None=Object.freeze({dispose(){}});class st{constructor(e){this.element=e,this.next=st.Undefined,this.prev=st.Undefined}}st.Undefined=new st(void 0);class d3{constructor(){this._first=st.Undefined,this._last=st.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===st.Undefined}clear(){let e=this._first;for(;e!==st.Undefined;){const i=e.next;e.prev=st.Undefined,e.next=st.Undefined,e=i}this._first=st.Undefined,this._last=st.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,i){const s=new st(e);if(this._first===st.Undefined)this._first=s,this._last=s;else if(i){const a=this._last;this._last=s,s.prev=a,a.next=s}else{const a=this._first;this._first=s,s.next=a,a.prev=s}this._size+=1;let h=!1;return()=>{h||(h=!0,this._remove(s))}}shift(){if(this._first!==st.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==st.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==st.Undefined&&e.next!==st.Undefined){const i=e.prev;i.next=e.next,e.next.prev=i}else e.prev===st.Undefined&&e.next===st.Undefined?(this._first=st.Undefined,this._last=st.Undefined):e.next===st.Undefined?(this._last=this._last.prev,this._last.next=st.Undefined):e.prev===st.Undefined&&(this._first=this._first.next,this._first.prev=st.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==st.Undefined;)yield e.element,e=e.next}}var h2;const h7="en";let a2=!1,c2=!1,o2=!1,si,a7=h7,n6,S0;const St=typeof self=="object"?self:typeof global=="object"?global:{};let Vt;typeof St.vscode<"u"&&typeof St.vscode.process<"u"?Vt=St.vscode.process:typeof process<"u"&&(Vt=process);const h6=typeof((h2=Vt==null?void 0:Vt.versions)===null||h2===void 0?void 0:h2.electron)=="string"&&(Vt==null?void 0:Vt.type)==="renderer";if(typeof navigator=="object"&&!h6)S0=navigator.userAgent,a2=S0.indexOf("Windows")>=0,c2=S0.indexOf("Macintosh")>=0,(S0.indexOf("Macintosh")>=0||S0.indexOf("iPad")>=0||S0.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,o2=S0.indexOf("Linux")>=0,si=navigator.language,a7=si;else if(typeof Vt=="object"){a2=Vt.platform==="win32",c2=Vt.platform==="darwin",o2=Vt.platform==="linux",o2&&Vt.env.SNAP&&Vt.env.SNAP_REVISION,si=h7,a7=h7;const n=Vt.env.VSCODE_NLS_CONFIG;if(n)try{const e=JSON.parse(n),i=e.availableLanguages["*"];si=e.locale,a7=i||h7,n6=e._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const ni=a2,a6=c2,c6=a7,o6=si;(()=>{if(typeof St.postMessage=="function"&&!St.importScripts){let n=[];St.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,h=n.length;s{const s=++e;n.push({id:s,callback:i}),St.postMessage({vscodeScheduleAsyncWork:s},"*")}}return n=>setTimeout(n)})();const r6=St.performance&&typeof St.performance.now=="function";class c7{constructor(e){this._highResolution=r6&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new c7(e)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?St.performance.now():Date.now()}}var r2;(function(n){n.None=()=>N3.None;function e(N){return(O,x=null,f)=>{let b=!1,F;return F=N(S=>{if(!b)return F?F.dispose():b=!0,O.call(x,S)},null,f),b&&F.dispose(),F}}n.once=e;function i(N,O){return E((x,f=null,b)=>N(F=>x.call(f,O(F)),null,b))}n.map=i;function s(N,O){return E((x,f=null,b)=>N(F=>{O(F),x.call(f,F)},null,b))}n.forEach=s;function h(N,O){return E((x,f=null,b)=>N(F=>O(F)&&x.call(f,F),null,b))}n.filter=h;function a(N){return N}n.signal=a;function c(...N){return(O,x=null,f)=>s6(...N.map(b=>b(F=>O.call(x,F),null,f)))}n.any=c;function r(N,O,x){let f=x;return i(N,b=>(f=O(f,b),f))}n.reduce=r;function E(N){let O;const x=new i0({onFirstListenerAdd(){O=N(x.fire,x)},onLastListenerRemove(){O.dispose()}});return x.event}function K(N,O,x=100,f=!1,b){let F,S,J,Ot=0;const q=new i0({leakWarningThreshold:b,onFirstListenerAdd(){F=N(v=>{Ot++,S=O(S,v),f&&!J&&(q.fire(S),S=void 0),clearTimeout(J),J=setTimeout(()=>{const pe=S;S=void 0,J=void 0,(!f||Ot>1)&&q.fire(pe),Ot=0},x)})},onLastListenerRemove(){F.dispose()}});return q.event}n.debounce=K;function T(N,O=(x,f)=>x===f){let x=!0,f;return h(N,b=>{const F=x||!O(b,f);return x=!1,f=b,F})}n.latch=T;function _(N,O){return[n.filter(N,O),n.filter(N,x=>!O(x))]}n.split=_;function A(N,O=!1,x=[]){let f=x.slice(),b=N(J=>{f?f.push(J):S.fire(J)});const F=()=>{f&&f.forEach(J=>S.fire(J)),f=null},S=new i0({onFirstListenerAdd(){b||(b=N(J=>S.fire(J)))},onFirstListenerDidAdd(){f&&(O?setTimeout(F):F())},onLastListenerRemove(){b&&b.dispose(),b=null}});return S.event}n.buffer=A;class C{constructor(O){this.event=O}map(O){return new C(i(this.event,O))}forEach(O){return new C(s(this.event,O))}filter(O){return new C(h(this.event,O))}reduce(O,x){return new C(r(this.event,O,x))}latch(){return new C(T(this.event))}debounce(O,x=100,f=!1,b){return new C(K(this.event,O,x,f,b))}on(O,x,f){return this.event(O,x,f)}once(O,x,f){return e(this.event)(O,x,f)}}function m(N){return new C(N)}n.chain=m;function U(N,O,x=f=>f){const f=(...J)=>S.fire(x(...J)),b=()=>N.on(O,f),F=()=>N.removeListener(O,f),S=new i0({onFirstListenerAdd:b,onLastListenerRemove:F});return S.event}n.fromNodeEventEmitter=U;function D(N,O,x=f=>f){const f=(...J)=>S.fire(x(...J)),b=()=>N.addEventListener(O,f),F=()=>N.removeEventListener(O,f),S=new i0({onFirstListenerAdd:b,onLastListenerRemove:F});return S.event}n.fromDOMEventEmitter=D;function B(N){return new Promise(O=>e(N)(O))}n.toPromise=B})(r2||(r2={}));class o7{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${o7._idPool++}`}start(e){this._stopWatch=new c7(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}o7._idPool=0;class i0{constructor(e){var i;this._disposed=!1,this._options=e,this._leakageMon=void 0,this._perfMon=!((i=this._options)===null||i===void 0)&&i._profName?new o7(this._options._profName):void 0}get event(){return this._event||(this._event=(e,i,s)=>{var h;this._listeners||(this._listeners=new d3);const a=this._listeners.isEmpty();a&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const c=this._listeners.push(i?[e,i]:e);a&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,i);const r=(h=this._leakageMon)===null||h===void 0?void 0:h.check(this._listeners.size),E=C3(()=>{r&&r(),this._disposed||(c(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return s instanceof ii?s.add(E):Array.isArray(s)&&s.push(E),E}),this._event}fire(e){var i,s;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new d3);for(let h of this._listeners)this._deliveryQueue.push([h,e]);for((i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[h,a]=this._deliveryQueue.shift();try{typeof h=="function"?h.call(void 0,a):h[0].call(h[1],a)}catch(c){Lt(c)}}(s=this._perfMon)===null||s===void 0||s.stop()}}dispose(){var e,i,s,h,a;this._disposed||(this._disposed=!0,(e=this._listeners)===null||e===void 0||e.clear(),(i=this._deliveryQueue)===null||i===void 0||i.clear(),(h=(s=this._options)===null||s===void 0?void 0:s.onLastListenerRemove)===null||h===void 0||h.call(s),(a=this._leakageMon)===null||a===void 0||a.dispose())}}function E6(n){let e=[],i=Object.getPrototypeOf(n);for(;Object.prototype!==i;)e=e.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return e}function E2(n){const e=[];for(const i of E6(n))typeof n[i]=="function"&&e.push(i);return e}function K6(n,e){const i=h=>function(){const a=Array.prototype.slice.call(arguments,0);return e(h,a)};let s={};for(const h of n)s[h]=i(h);return s}function W6(n,e="Unreachable"){throw new Error(e)}function u6(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function R6(n){return n.split(/\r\n|\r|\n/)}function T6(n){for(let e=0,i=n.length;e=0;i--){const s=n.charCodeAt(i);if(s!==32&&s!==9)return i}return-1}function l3(n){return n>=65&&n<=90}function K2(n){return 55296<=n&&n<=56319}function A6(n){return 56320<=n&&n<=57343}function I6(n,e){return(n-55296<<10)+(e-56320)+65536}function L6(n,e,i){const s=n.charCodeAt(i);if(K2(s)&&i+1{this._pendingReplies[s]={resolve:h,reject:a},this._send(new C6(this._workerId,s,e,i))})}listen(e,i){let s=null;const h=new i0({onFirstListenerAdd:()=>{s=String(++this._lastSentReq),this._pendingEmitters.set(s,h),this._send(new N6(this._workerId,s,e,i))},onLastListenerRemove:()=>{this._pendingEmitters.delete(s),this._send(new l6(this._workerId,s)),s=null}});return h.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}let i=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let s=e.err;e.err.$isError&&(s=new Error,s.name=e.err.name,s.message=e.err.message,s.stack=e.err.stack),i.reject(s);return}i.resolve(e.res)}_handleRequestMessage(e){let i=e.req;this._handler.handleMessage(e.method,e.args).then(h=>{this._send(new m3(this._workerId,i,h,void 0))},h=>{h.detail instanceof Error&&(h.detail=ei(h.detail)),this._send(new m3(this._workerId,i,void 0,ei(h)))})}_handleSubscribeEventMessage(e){const i=e.req,s=this._handler.handleEvent(e.eventName,e.arg)(h=>{this._send(new d6(this._workerId,i,h))});this._pendingEvents.set(i,s)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){let i=[];if(e.type===0)for(let s=0;sfunction(){const r=Array.prototype.slice.call(arguments,0);return e(c,r)},h=c=>function(r){return i(c,r)};let a={};for(const c of n){if(x3(c)){a[c]=h(c);continue}if(p3(c)){a[c]=i(c,void 0);continue}a[c]=s(c)}return a}class x6{constructor(e,i){this._requestHandlerFactory=i,this._requestHandler=null,this._protocol=new m6({sendMessage:(s,h)=>{e(s,h)},handleMessage:(s,h)=>this._handleMessage(s,h),handleEvent:(s,h)=>this._handleEvent(s,h)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,i){if(e===O6)return this.initialize(i[0],i[1],i[2],i[3]);if(!this._requestHandler||typeof this._requestHandler[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,i))}catch(s){return Promise.reject(s)}}_handleEvent(e,i){if(!this._requestHandler)throw new Error("Missing requestHandler");if(x3(e)){const s=this._requestHandler[e].call(this._requestHandler,i);if(typeof s!="function")throw new Error(`Missing dynamic event ${e} on request handler.`);return s}if(p3(e)){const s=this._requestHandler[e];if(typeof s!="function")throw new Error(`Missing event ${e} on request handler.`);return s}throw new Error(`Malformed event name ${e}`)}initialize(e,i,s,h){this._protocol.setWorkerId(e);const r=p6(h,(E,K)=>this._protocol.sendMessage(E,K),(E,K)=>this._protocol.listen(E,K));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(r),Promise.resolve(E2(this._requestHandler))):(i&&(typeof i.baseUrl<"u"&&delete i.baseUrl,typeof i.paths<"u"&&typeof i.paths.vs<"u"&&delete i.paths.vs,typeof i.trustedTypesPolicy!==void 0&&delete i.trustedTypesPolicy,i.catchError=!0,St.require.config(i)),new Promise((E,K)=>{const T=St.require;T([s],_=>{if(this._requestHandler=_.create(r),!this._requestHandler){K(new Error("No RequestHandler!"));return}E(E2(this._requestHandler))},K)}))}}class s0{constructor(e,i,s,h){this.originalStart=e,this.originalLength=i,this.modifiedStart=s,this.modifiedLength=h}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function f3(n,e){return(e<<5)-e+n|0}function f6(n,e){e=f3(149417,e);for(let i=0,s=n.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new s0(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class n0{constructor(e,i,s=null){this.ContinueProcessingPredicate=s,this._originalSequence=e,this._modifiedSequence=i;const[h,a,c]=n0._getElements(e),[r,E,K]=n0._getElements(i);this._hasStrings=c&&K,this._originalStringElements=h,this._originalElementsOrHash=a,this._modifiedStringElements=r,this._modifiedElementsOrHash=E,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const i=e.getElements();if(n0._isStringArray(i)){const s=new Int32Array(i.length);for(let h=0,a=i.length;h=e&&h>=s&&this.ElementsAreEqual(i,h);)i--,h--;if(e>i||s>h){let _;return s<=h?(L1.Assert(e===i+1,"originalStart should only be one more than originalEnd"),_=[new s0(e,0,s,h-s+1)]):e<=i?(L1.Assert(s===h+1,"modifiedStart should only be one more than modifiedEnd"),_=[new s0(e,i-e+1,s,0)]):(L1.Assert(e===i+1,"originalStart should only be one more than originalEnd"),L1.Assert(s===h+1,"modifiedStart should only be one more than modifiedEnd"),_=[]),_}const c=[0],r=[0],E=this.ComputeRecursionPoint(e,i,s,h,c,r,a),K=c[0],T=r[0];if(E!==null)return E;if(!a[0]){const _=this.ComputeDiffRecursive(e,K,s,T,a);let A=[];return a[0]?A=[new s0(K+1,i-(K+1)+1,T+1,h-(T+1)+1)]:A=this.ComputeDiffRecursive(K+1,i,T+1,h,a),this.ConcatenateChanges(_,A)}return[new s0(e,i-e+1,s,h-s+1)]}WALKTRACE(e,i,s,h,a,c,r,E,K,T,_,A,C,m,U,D,B,N){let O=null,x=null,f=new U3,b=i,F=s,S=C[0]-D[0]-h,J=-1073741824,Ot=this.m_forwardHistory.length-1;do{const q=S+e;q===b||q=0&&(K=this.m_forwardHistory[Ot],e=K[0],b=1,F=K.length-1)}while(--Ot>=-1);if(O=f.getReverseChanges(),N[0]){let q=C[0]+1,v=D[0]+1;if(O!==null&&O.length>0){const pe=O[O.length-1];q=Math.max(q,pe.getOriginalEnd()),v=Math.max(v,pe.getModifiedEnd())}x=[new s0(q,A-q+1,v,U-v+1)]}else{f=new U3,b=c,F=r,S=C[0]-D[0]-E,J=1073741824,Ot=B?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const q=S+a;q===b||q=T[q+1]?(_=T[q+1]-1,m=_-S-E,_>J&&f.MarkNextChange(),J=_+1,f.AddOriginalElement(_+1,m+1),S=q+1-a):(_=T[q-1],m=_-S-E,_>J&&f.MarkNextChange(),J=_,f.AddModifiedElement(_+1,m+1),S=q-1-a),Ot>=0&&(T=this.m_reverseHistory[Ot],a=T[0],b=1,F=T.length-1)}while(--Ot>=-1);x=f.getChanges()}return this.ConcatenateChanges(O,x)}ComputeRecursionPoint(e,i,s,h,a,c,r){let E=0,K=0,T=0,_=0,A=0,C=0;e--,s--,a[0]=0,c[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=i-e+(h-s),U=m+1,D=new Int32Array(U),B=new Int32Array(U),N=h-s,O=i-e,x=e-s,f=i-h,F=(O-N)%2===0;D[N]=e,B[O]=i,r[0]=!1;for(let S=1;S<=m/2+1;S++){let J=0,Ot=0;T=this.ClipDiagonalBound(N-S,S,N,U),_=this.ClipDiagonalBound(N+S,S,N,U);for(let v=T;v<=_;v+=2){v===T||v<_&&D[v-1]J+Ot&&(J=E,Ot=K),!F&&Math.abs(v-O)<=S-1&&E>=B[v])return a[0]=E,c[0]=K,pe<=B[v]&&1447>0&&S<=1447+1?this.WALKTRACE(N,T,_,x,O,A,C,f,D,B,E,i,a,K,h,c,F,r):null}const q=(J-e+(Ot-s)-S)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(J,q))return r[0]=!0,a[0]=J,c[0]=Ot,q>0&&1447>0&&S<=1447+1?this.WALKTRACE(N,T,_,x,O,A,C,f,D,B,E,i,a,K,h,c,F,r):(e++,s++,[new s0(e,i-e+1,s,h-s+1)]);A=this.ClipDiagonalBound(O-S,S,O,U),C=this.ClipDiagonalBound(O+S,S,O,U);for(let v=A;v<=C;v+=2){v===A||v=B[v+1]?E=B[v+1]-1:E=B[v-1],K=E-(v-O)-f;const pe=E;for(;E>e&&K>s&&this.ElementsAreEqual(E,K);)E--,K--;if(B[v]=E,F&&Math.abs(v-N)<=S&&E<=D[v])return a[0]=E,c[0]=K,pe>=D[v]&&1447>0&&S<=1447+1?this.WALKTRACE(N,T,_,x,O,A,C,f,D,B,E,i,a,K,h,c,F,r):null}if(S<=1447){let v=new Int32Array(_-T+2);v[0]=N-T+1,O1.Copy2(D,T,v,1,_-T+1),this.m_forwardHistory.push(v),v=new Int32Array(C-A+2),v[0]=O-A+1,O1.Copy2(B,A,v,1,C-A+1),this.m_reverseHistory.push(v)}}return this.WALKTRACE(N,T,_,x,O,A,C,f,D,B,E,i,a,K,h,c,F,r)}PrettifyChanges(e){for(let i=0;i0,r=s.modifiedLength>0;for(;s.originalStart+s.originalLength=0;i--){const s=e[i];let h=0,a=0;if(i>0){const _=e[i-1];h=_.originalStart+_.originalLength,a=_.modifiedStart+_.modifiedLength}const c=s.originalLength>0,r=s.modifiedLength>0;let E=0,K=this._boundaryScore(s.originalStart,s.originalLength,s.modifiedStart,s.modifiedLength);for(let _=1;;_++){const A=s.originalStart-_,C=s.modifiedStart-_;if(AK&&(K=U,E=_)}s.originalStart-=E,s.modifiedStart-=E;const T=[null];if(i>0&&this.ChangesOverlap(e[i-1],e[i],T)){e[i-1]=T[0],e.splice(i,1),i++;continue}}if(this._hasStrings)for(let i=1,s=e.length;i0&&C>E&&(E=C,K=_,T=A)}return E>0?[K,T]:null}_contiguousSequenceScore(e,i,s){let h=0;for(let a=0;a=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,i){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(i>0){const s=e+i;if(this._OriginalIsBoundary(s-1)||this._OriginalIsBoundary(s))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,i){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(i>0){const s=e+i;if(this._ModifiedIsBoundary(s-1)||this._ModifiedIsBoundary(s))return!0}return!1}_boundaryScore(e,i,s,h){const a=this._OriginalRegionIsBoundary(e,i)?1:0,c=this._ModifiedRegionIsBoundary(s,h)?1:0;return a+c}ConcatenateChanges(e,i){let s=[];if(e.length===0||i.length===0)return i.length>0?i:e;if(this.ChangesOverlap(e[e.length-1],i[0],s)){const h=new Array(e.length+i.length-1);return O1.Copy(e,0,h,0,e.length-1),h[e.length-1]=s[0],O1.Copy(i,1,h,e.length,i.length-1),h}else{const h=new Array(e.length+i.length);return O1.Copy(e,0,h,0,e.length),O1.Copy(i,0,h,e.length,i.length),h}}ChangesOverlap(e,i,s){if(L1.Assert(e.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),L1.Assert(e.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=i.originalStart||e.modifiedStart+e.modifiedLength>=i.modifiedStart){const h=e.originalStart;let a=e.originalLength;const c=e.modifiedStart;let r=e.modifiedLength;return e.originalStart+e.originalLength>=i.originalStart&&(a=i.originalStart+i.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=i.modifiedStart&&(r=i.modifiedStart+i.modifiedLength-e.modifiedStart),s[0]=new s0(h,a,c,r),!0}else return s[0]=null,!1}ClipDiagonalBound(e,i,s,h){if(e>=0&&e=D6&&n<=S6||n>=k6&&n<=H6}function r7(n,e,i,s){let h="",a=0,c=-1,r=0,E=0;for(let K=0;K<=n.length;++K){if(K2){const T=h.lastIndexOf(i);T===-1?(h="",a=0):(h=h.slice(0,T),a=h.length-1-h.lastIndexOf(i)),c=K,r=0;continue}else if(h.length!==0){h="",a=0,c=K,r=0;continue}}e&&(h+=h.length>0?`${i}..`:"..",a=2)}else h.length>0?h+=`${i}${n.slice(c+1,K)}`:h=n.slice(c+1,K),a=K-c-1;c=K,r=0}else E===h0&&r!==-1?++r:r=-1}return h}function k3(n,e){if(e===null||typeof e!="object")throw new D3("pathObject","Object",e);const i=e.dir||e.root,s=e.base||`${e.name||""}${e.ext||""}`;return i?i===e.root?`${i}${s}`:`${i}${n}${s}`:s}const Xt={resolve(...n){let e="",i="",s=!1;for(let h=n.length-1;h>=-1;h--){let a;if(h>=0){if(a=n[h],Tt(a,"path"),a.length===0)continue}else e.length===0?a=W2():(a=U6[`=${e}`]||W2(),(a===void 0||a.slice(0,2).toLowerCase()!==e.toLowerCase()&&a.charCodeAt(2)===Jt)&&(a=`${e}\\`));const c=a.length;let r=0,E="",K=!1;const T=a.charCodeAt(0);if(c===1)Y(T)&&(r=1,K=!0);else if(Y(T))if(K=!0,Y(a.charCodeAt(1))){let _=2,A=_;for(;_2&&Y(a.charCodeAt(2))&&(K=!0,r=3));if(E.length>0)if(e.length>0){if(E.toLowerCase()!==e.toLowerCase())continue}else e=E;if(s){if(e.length>0)break}else if(i=`${a.slice(r)}\\${i}`,s=K,K&&e.length>0)break}return i=r7(i,!s,"\\",Y),s?`${e}\\${i}`:`${e}${i}`||"."},normalize(n){Tt(n,"path");const e=n.length;if(e===0)return".";let i=0,s,h=!1;const a=n.charCodeAt(0);if(e===1)return u2(a)?"\\":n;if(Y(a))if(h=!0,Y(n.charCodeAt(1))){let r=2,E=r;for(;r2&&Y(n.charCodeAt(2))&&(h=!0,i=3));let c=i0&&Y(n.charCodeAt(e-1))&&(c+="\\"),s===void 0?h?`\\${c}`:c:h?`${s}\\${c}`:`${s}${c}`},isAbsolute(n){Tt(n,"path");const e=n.length;if(e===0)return!1;const i=n.charCodeAt(0);return Y(i)||e>2&&c0(i)&&n.charCodeAt(1)===a0&&Y(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,i;for(let a=0;a0&&(e===void 0?e=i=c:e+=`\\${c}`)}if(e===void 0)return".";let s=!0,h=0;if(typeof i=="string"&&Y(i.charCodeAt(0))){++h;const a=i.length;a>1&&Y(i.charCodeAt(1))&&(++h,a>2&&(Y(i.charCodeAt(2))?++h:s=!1))}if(s){for(;h=2&&(e=`\\${e.slice(h)}`)}return Xt.normalize(e)},relative(n,e){if(Tt(n,"from"),Tt(e,"to"),n===e)return"";const i=Xt.resolve(n),s=Xt.resolve(e);if(i===s||(n=i.toLowerCase(),e=s.toLowerCase(),n===e))return"";let h=0;for(;hh&&n.charCodeAt(a-1)===Jt;)a--;const c=a-h;let r=0;for(;rr&&e.charCodeAt(E-1)===Jt;)E--;const K=E-r,T=cT){if(e.charCodeAt(r+A)===Jt)return s.slice(r+A+1);if(A===2)return s.slice(r+A)}c>T&&(n.charCodeAt(h+A)===Jt?_=A:A===2&&(_=3)),_===-1&&(_=0)}let C="";for(A=h+_+1;A<=a;++A)(A===a||n.charCodeAt(A)===Jt)&&(C+=C.length===0?"..":"\\..");return r+=_,C.length>0?`${C}${s.slice(r,E)}`:(s.charCodeAt(r)===Jt&&++r,s.slice(r,E))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";const e=Xt.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===Jt){if(e.charCodeAt(1)===Jt){const i=e.charCodeAt(2);if(i!==B6&&i!==h0)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(c0(e.charCodeAt(0))&&e.charCodeAt(1)===a0&&e.charCodeAt(2)===Jt)return`\\\\?\\${e}`;return n},dirname(n){Tt(n,"path");const e=n.length;if(e===0)return".";let i=-1,s=0;const h=n.charCodeAt(0);if(e===1)return Y(h)?n:".";if(Y(h)){if(i=s=1,Y(n.charCodeAt(1))){let r=2,E=r;for(;r2&&Y(n.charCodeAt(2))?3:2,s=i);let a=-1,c=!0;for(let r=e-1;r>=s;--r)if(Y(n.charCodeAt(r))){if(!c){a=r;break}}else c=!1;if(a===-1){if(i===-1)return".";a=i}return n.slice(0,a)},basename(n,e){e!==void 0&&Tt(e,"ext"),Tt(n,"path");let i=0,s=-1,h=!0,a;if(n.length>=2&&c0(n.charCodeAt(0))&&n.charCodeAt(1)===a0&&(i=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let c=e.length-1,r=-1;for(a=n.length-1;a>=i;--a){const E=n.charCodeAt(a);if(Y(E)){if(!h){i=a+1;break}}else r===-1&&(h=!1,r=a+1),c>=0&&(E===e.charCodeAt(c)?--c===-1&&(s=a):(c=-1,s=r))}return i===s?s=r:s===-1&&(s=n.length),n.slice(i,s)}for(a=n.length-1;a>=i;--a)if(Y(n.charCodeAt(a))){if(!h){i=a+1;break}}else s===-1&&(h=!1,s=a+1);return s===-1?"":n.slice(i,s)},extname(n){Tt(n,"path");let e=0,i=-1,s=0,h=-1,a=!0,c=0;n.length>=2&&n.charCodeAt(1)===a0&&c0(n.charCodeAt(0))&&(e=s=2);for(let r=n.length-1;r>=e;--r){const E=n.charCodeAt(r);if(Y(E)){if(!a){s=r+1;break}continue}h===-1&&(a=!1,h=r+1),E===h0?i===-1?i=r:c!==1&&(c=1):i!==-1&&(c=-1)}return i===-1||h===-1||c===0||c===1&&i===h-1&&i===s+1?"":n.slice(i,h)},format:k3.bind(null,"\\"),parse(n){Tt(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const i=n.length;let s=0,h=n.charCodeAt(0);if(i===1)return Y(h)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(Y(h)){if(s=1,Y(n.charCodeAt(1))){let _=2,A=_;for(;_0&&(e.root=n.slice(0,s));let a=-1,c=s,r=-1,E=!0,K=n.length-1,T=0;for(;K>=s;--K){if(h=n.charCodeAt(K),Y(h)){if(!E){c=K+1;break}continue}r===-1&&(E=!1,r=K+1),h===h0?a===-1?a=K:T!==1&&(T=1):a!==-1&&(T=-1)}return r!==-1&&(a===-1||T===0||T===1&&a===r-1&&a===c+1?e.base=e.name=n.slice(c,r):(e.name=n.slice(c,a),e.base=n.slice(c,r),e.ext=n.slice(a,r))),c>0&&c!==s?e.dir=n.slice(0,c-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},zt={resolve(...n){let e="",i=!1;for(let s=n.length-1;s>=-1&&!i;s--){const h=s>=0?n[s]:W2();Tt(h,"path"),h.length!==0&&(e=`${h}/${e}`,i=h.charCodeAt(0)===pt)}return e=r7(e,!i,"/",u2),i?`/${e}`:e.length>0?e:"."},normalize(n){if(Tt(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===pt,i=n.charCodeAt(n.length-1)===pt;return n=r7(n,!e,"/",u2),n.length===0?e?"/":i?"./":".":(i&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return Tt(n,"path"),n.length>0&&n.charCodeAt(0)===pt},join(...n){if(n.length===0)return".";let e;for(let i=0;i0&&(e===void 0?e=s:e+=`/${s}`)}return e===void 0?".":zt.normalize(e)},relative(n,e){if(Tt(n,"from"),Tt(e,"to"),n===e||(n=zt.resolve(n),e=zt.resolve(e),n===e))return"";const i=1,s=n.length,h=s-i,a=1,c=e.length-a,r=hr){if(e.charCodeAt(a+K)===pt)return e.slice(a+K+1);if(K===0)return e.slice(a+K)}else h>r&&(n.charCodeAt(i+K)===pt?E=K:K===0&&(E=0));let T="";for(K=i+E+1;K<=s;++K)(K===s||n.charCodeAt(K)===pt)&&(T+=T.length===0?"..":"/..");return`${T}${e.slice(a+E)}`},toNamespacedPath(n){return n},dirname(n){if(Tt(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===pt;let i=-1,s=!0;for(let h=n.length-1;h>=1;--h)if(n.charCodeAt(h)===pt){if(!s){i=h;break}}else s=!1;return i===-1?e?"/":".":e&&i===1?"//":n.slice(0,i)},basename(n,e){e!==void 0&&Tt(e,"ext"),Tt(n,"path");let i=0,s=-1,h=!0,a;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let c=e.length-1,r=-1;for(a=n.length-1;a>=0;--a){const E=n.charCodeAt(a);if(E===pt){if(!h){i=a+1;break}}else r===-1&&(h=!1,r=a+1),c>=0&&(E===e.charCodeAt(c)?--c===-1&&(s=a):(c=-1,s=r))}return i===s?s=r:s===-1&&(s=n.length),n.slice(i,s)}for(a=n.length-1;a>=0;--a)if(n.charCodeAt(a)===pt){if(!h){i=a+1;break}}else s===-1&&(h=!1,s=a+1);return s===-1?"":n.slice(i,s)},extname(n){Tt(n,"path");let e=-1,i=0,s=-1,h=!0,a=0;for(let c=n.length-1;c>=0;--c){const r=n.charCodeAt(c);if(r===pt){if(!h){i=c+1;break}continue}s===-1&&(h=!1,s=c+1),r===h0?e===-1?e=c:a!==1&&(a=1):e!==-1&&(a=-1)}return e===-1||s===-1||a===0||a===1&&e===s-1&&e===i+1?"":n.slice(e,s)},format:k3.bind(null,"/"),parse(n){Tt(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const i=n.charCodeAt(0)===pt;let s;i?(e.root="/",s=1):s=0;let h=-1,a=0,c=-1,r=!0,E=n.length-1,K=0;for(;E>=s;--E){const T=n.charCodeAt(E);if(T===pt){if(!r){a=E+1;break}continue}c===-1&&(r=!1,c=E+1),T===h0?h===-1?h=E:K!==1&&(K=1):h!==-1&&(K=-1)}if(c!==-1){const T=a===0&&i?1:a;h===-1||K===0||K===1&&h===c-1&&h===a+1?e.base=e.name=n.slice(T,c):(e.name=n.slice(T,h),e.base=n.slice(T,c),e.ext=n.slice(h,c))}return a>0?e.dir=n.slice(0,a-1):i&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};zt.win32=Xt.win32=Xt,zt.posix=Xt.posix=zt,B0==="win32"?Xt.normalize:zt.normalize,B0==="win32"?Xt.resolve:zt.resolve,B0==="win32"?Xt.relative:zt.relative,B0==="win32"?Xt.dirname:zt.dirname,B0==="win32"?Xt.basename:zt.basename,B0==="win32"?Xt.extname:zt.extname,B0==="win32"?Xt.sep:zt.sep;const F6=/^\w[\w\d+.-]*$/,G6=/^\//,b6=/^\/\//;function S3(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!F6.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!G6.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(b6.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function w6(n,e){return!n&&!e?"file":n}function v6(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==ue&&(e=ue+e):e=ue;break}return e}const nt="",ue="/",Y6=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class F0{constructor(e,i,s,h,a,c=!1){typeof e=="object"?(this.scheme=e.scheme||nt,this.authority=e.authority||nt,this.path=e.path||nt,this.query=e.query||nt,this.fragment=e.fragment||nt):(this.scheme=w6(e,c),this.authority=i||nt,this.path=v6(this.scheme,s||nt),this.query=h||nt,this.fragment=a||nt,S3(this,c))}static isUri(e){return e instanceof F0?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}get fsPath(){return R2(this,!1)}with(e){if(!e)return this;let{scheme:i,authority:s,path:h,query:a,fragment:c}=e;return i===void 0?i=this.scheme:i===null&&(i=nt),s===void 0?s=this.authority:s===null&&(s=nt),h===void 0?h=this.path:h===null&&(h=nt),a===void 0?a=this.query:a===null&&(a=nt),c===void 0?c=this.fragment:c===null&&(c=nt),i===this.scheme&&s===this.authority&&h===this.path&&a===this.query&&c===this.fragment?this:new N1(i,s,h,a,c)}static parse(e,i=!1){const s=Y6.exec(e);return s?new N1(s[2]||nt,E7(s[4]||nt),E7(s[5]||nt),E7(s[7]||nt),E7(s[9]||nt),i):new N1(nt,nt,nt,nt,nt)}static file(e){let i=nt;if(ni&&(e=e.replace(/\\/g,ue)),e[0]===ue&&e[1]===ue){const s=e.indexOf(ue,2);s===-1?(i=e.substring(2),e=ue):(i=e.substring(2,s),e=e.substring(s)||ue)}return new N1("file",i,e,nt,nt)}static from(e){const i=new N1(e.scheme,e.authority,e.path,e.query,e.fragment);return S3(i,!0),i}static joinPath(e,...i){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let s;return ni&&e.scheme==="file"?s=F0.file(Xt.join(R2(e,!0),...i)).path:s=zt.join(e.path,...i),e.with({path:s})}toString(e=!1){return T2(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof F0)return e;{const i=new N1(e);return i._formatted=e.external,i._fsPath=e._sep===H3?e.fsPath:null,i}}else return e}}const H3=ni?1:void 0;class N1 extends F0{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=R2(this,!1)),this._fsPath}toString(e=!1){return e?T2(this,!0):(this._formatted||(this._formatted=T2(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=H3),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const B3={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function F3(n,e){let i,s=-1;for(let h=0;h=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||a===45||a===46||a===95||a===126||e&&a===47)s!==-1&&(i+=encodeURIComponent(n.substring(s,h)),s=-1),i!==void 0&&(i+=n.charAt(h));else{i===void 0&&(i=n.substr(0,h));const c=B3[a];c!==void 0?(s!==-1&&(i+=encodeURIComponent(n.substring(s,h)),s=-1),i+=c):s===-1&&(s=h)}}return s!==-1&&(i+=encodeURIComponent(n.substring(s))),i!==void 0?i:n}function V6(n){let e;for(let i=0;i1&&n.scheme==="file"?i=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?i=n.path.substr(1):i=n.path[1].toLowerCase()+n.path.substr(2):i=n.path,ni&&(i=i.replace(/\//g,"\\")),i}function T2(n,e){const i=e?V6:F3;let s="",{scheme:h,authority:a,path:c,query:r,fragment:E}=n;if(h&&(s+=h,s+=":"),(a||h==="file")&&(s+=ue,s+=ue),a){let K=a.indexOf("@");if(K!==-1){const T=a.substr(0,K);a=a.substr(K+1),K=T.indexOf(":"),K===-1?s+=i(T,!1):(s+=i(T.substr(0,K),!1),s+=":",s+=i(T.substr(K+1),!1)),s+="@"}a=a.toLowerCase(),K=a.indexOf(":"),K===-1?s+=i(a,!1):(s+=i(a.substr(0,K),!1),s+=a.substr(K))}if(c){if(c.length>=3&&c.charCodeAt(0)===47&&c.charCodeAt(2)===58){const K=c.charCodeAt(1);K>=65&&K<=90&&(c=`/${String.fromCharCode(K+32)}:${c.substr(3)}`)}else if(c.length>=2&&c.charCodeAt(1)===58){const K=c.charCodeAt(0);K>=65&&K<=90&&(c=`${String.fromCharCode(K+32)}:${c.substr(2)}`)}s+=i(c,!0)}return r&&(s+="?",s+=i(r,!1)),E&&(s+="#",s+=e?E:F3(E,!1)),s}function G3(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+G3(n.substr(3)):n}}const b3=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E7(n){return n.match(b3)?n.replace(b3,e=>G3(e)):n}class jt{constructor(e,i){this.lineNumber=e,this.column=i}with(e=this.lineNumber,i=this.column){return e===this.lineNumber&&i===this.column?this:new jt(e,i)}delta(e=0,i=0){return this.with(this.lineNumber+e,this.column+i)}equals(e){return jt.equals(this,e)}static equals(e,i){return!e&&!i?!0:!!e&&!!i&&e.lineNumber===i.lineNumber&&e.column===i.column}isBefore(e){return jt.isBefore(this,e)}static isBefore(e,i){return e.lineNumbers||e===s&&i>h?(this.startLineNumber=s,this.startColumn=h,this.endLineNumber=e,this.endColumn=i):(this.startLineNumber=e,this.startColumn=i,this.endLineNumber=s,this.endColumn=h)}isEmpty(){return ot.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return ot.containsPosition(this,e)}static containsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.columne.endColumn)}static strictContainsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.column<=e.startColumn||i.lineNumber===e.endLineNumber&&i.column>=e.endColumn)}containsRange(e){return ot.containsRange(this,e)}static containsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumne.endColumn)}strictContainsRange(e){return ot.strictContainsRange(this,e)}static strictContainsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumn<=e.startColumn||i.endLineNumber===e.endLineNumber&&i.endColumn>=e.endColumn)}plusRange(e){return ot.plusRange(this,e)}static plusRange(e,i){let s,h,a,c;return i.startLineNumbere.endLineNumber?(a=i.endLineNumber,c=i.endColumn):i.endLineNumber===e.endLineNumber?(a=i.endLineNumber,c=Math.max(i.endColumn,e.endColumn)):(a=e.endLineNumber,c=e.endColumn),new ot(s,h,a,c)}intersectRanges(e){return ot.intersectRanges(this,e)}static intersectRanges(e,i){let s=e.startLineNumber,h=e.startColumn,a=e.endLineNumber,c=e.endColumn,r=i.startLineNumber,E=i.startColumn,K=i.endLineNumber,T=i.endColumn;return sK?(a=K,c=T):a===K&&(c=Math.min(c,T)),s>a||s===a&&h>c?null:new ot(s,h,a,c)}equalsRange(e){return ot.equalsRange(this,e)}static equalsRange(e,i){return!!e&&!!i&&e.startLineNumber===i.startLineNumber&&e.startColumn===i.startColumn&&e.endLineNumber===i.endLineNumber&&e.endColumn===i.endColumn}getEndPosition(){return ot.getEndPosition(this)}static getEndPosition(e){return new jt(e.endLineNumber,e.endColumn)}getStartPosition(){return ot.getStartPosition(this)}static getStartPosition(e){return new jt(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,i){return new ot(this.startLineNumber,this.startColumn,e,i)}setStartPosition(e,i){return new ot(e,i,this.endLineNumber,this.endColumn)}collapseToStart(){return ot.collapseToStart(this)}static collapseToStart(e){return new ot(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,i=e){return new ot(e.lineNumber,e.column,i.lineNumber,i.column)}static lift(e){return e?new ot(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,i){return!(e.endLineNumbere.startLineNumber}}const X6=3;function w3(n,e,i,s){return new n0(n,e,i).ComputeDiff(s)}class v3{constructor(e){const i=[],s=[];for(let h=0,a=e.length;h0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&a()){const C=s.createCharSequence(e,i.originalStart,i.originalStart+i.originalLength-1),m=h.createCharSequence(e,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let U=w3(C,m,a,!0).changes;r&&(U=Z6(U)),A=[];for(let D=0,B=U.length;D1&&U>1;){const D=A.charCodeAt(m-2),B=C.charCodeAt(U-2);if(D!==B)break;m--,U--}(m>1||U>1)&&this._pushTrimWhitespaceCharChange(h,a+1,1,m,c+1,1,U)}{let m=A2(A,1),U=A2(C,1);const D=A.length+1,B=C.length+1;for(;m!0;const e=Date.now();return()=>Date.now()-e255?255:n|0}function d1(n){return n<0?0:n>4294967295?4294967295:n|0}class z6{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,i){e=d1(e);const s=this.values,h=this.prefixSum,a=i.length;return a===0?!1:(this.values=new Uint32Array(s.length+a),this.values.set(s.subarray(0,e),0),this.values.set(s.subarray(e),e+a),this.values.set(i,e),e-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,i){return e=d1(e),i=d1(i),this.values[e]===i?!1:(this.values[e]=i,e-1=s.length)return!1;let a=s.length-e;return i>=a&&(i=a),i===0?!1:(this.values=new Uint32Array(s.length-i),this.values.set(s.subarray(0,e),0),this.values.set(s.subarray(e+i),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=d1(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let i=this.prefixSumValidIndex[0]+1;i===0&&(this.prefixSum[0]=this.values[0],i++),e>=this.values.length&&(e=this.values.length-1);for(let s=i;s<=e;s++)this.prefixSum[s]=this.prefixSum[s-1]+this.values[s];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let i=0,s=this.values.length-1,h=0,a=0,c=0;for(;i<=s;)if(h=i+(s-i)/2|0,a=this.prefixSum[h],c=a-this.values[h],e=a)i=h+1;else break;return new j6(h,e-c)}}class j6{constructor(e,i){this.index=e,this.remainder=i,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=i}}class $6{constructor(e,i,s,h){this._uri=e,this._lines=i,this._eol=s,this._versionId=h,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const i=e.changes;for(const s of i)this._acceptDeleteRange(s.range),this._acceptInsertText(new jt(s.range.startLineNumber,s.range.startColumn),s.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,i=this._lines.length,s=new Uint32Array(i);for(let h=0;h/?";function P6(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const i of M6)n.indexOf(i)>=0||(e+="\\"+i);return e+="\\s]+)",new RegExp(e,"g")}const y6=P6();function q6(n){let e=y6;if(n&&n instanceof RegExp)if(n.global)e=n;else{let i="g";n.ignoreCase&&(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),e=new RegExp(n.source,i)}return e.lastIndex=0,e}const t8={maxLen:1e3,windowSize:15,timeBudget:150};function X3(n,e,i,s,h=t8){if(i.length>h.maxLen){let K=n-h.maxLen/2;return K<0?K=0:s+=K,i=i.substring(K,n+h.maxLen/2),X3(n,e,i,s,h)}const a=Date.now(),c=n-1-s;let r=-1,E=null;for(let K=1;!(Date.now()-a>=h.timeBudget);K++){const T=c-h.windowSize*K;e.lastIndex=Math.max(0,T);const _=e8(e,i,c,r);if(!_&&E||(E=_,T<=0))break;r=T}if(E){let K={word:E[0],startColumn:s+1+E.index,endColumn:s+1+E.index+E[0].length};return e.lastIndex=0,K}return null}function e8(n,e,i,s){let h;for(;h=n.exec(e);){const a=h.index||0;if(a<=i&&n.lastIndex>=i)return h;if(s>0&&a>s)return null}return null}class I2{constructor(e){let i=V3(e);this._defaultValue=i,this._asciiMap=I2._createAsciiMap(i),this._map=new Map}static _createAsciiMap(e){let i=new Uint8Array(256);for(let s=0;s<256;s++)i[s]=e;return i}set(e,i){let s=V3(i);e>=0&&e<256?this._asciiMap[e]=s:this._map.set(e,s)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class i8{constructor(e,i,s){const h=new Uint8Array(e*i);for(let a=0,c=e*i;ai&&(i=E),r>s&&(s=r),K>s&&(s=K)}i++,s++;let h=new i8(s,i,0);for(let a=0,c=e.length;a=this._maxCharCode?0:this._states.get(e,i)}}let L2=null;function n8(){return L2===null&&(L2=new s8([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),L2}let ci=null;function h8(){if(ci===null){ci=new I2(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;ih);if(h>0){const r=i.charCodeAt(h-1),E=i.charCodeAt(c);(r===40&&E===41||r===91&&E===93||r===123&&E===125)&&c--}return{range:{startLineNumber:s,startColumn:h+1,endLineNumber:s,endColumn:c+2},url:i.substring(h,c+1)}}static computeLinks(e,i=n8()){const s=h8();let h=[];for(let a=1,c=e.getLineCount();a<=c;a++){const r=e.getLineContent(a),E=r.length;let K=0,T=0,_=0,A=1,C=!1,m=!1,U=!1,D=!1;for(;K=0?(h+=s?1:-1,h<0?h=e.length-1:h%=e.length,e[h]):null}}O2.INSTANCE=new O2;const Q3=Object.freeze(function(n,e){const i=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(i)}}});var W7;(function(n){function e(i){return i===n.None||i===n.Cancelled||i instanceof u7?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}n.isCancellationToken=e,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r2.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Q3})})(W7||(W7={}));class u7{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Q3:(this._emitter||(this._emitter=new i0),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class c8{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new u7),this._token}cancel(){this._token?this._token instanceof u7&&this._token.cancel():this._token=W7.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof u7&&this._token.dispose():this._token=W7.None}}class C2{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,i){this._keyCodeToStr[e]=i,this._strToKeyCode[i.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const R7=new C2,N2=new C2,d2=new C2,o8=new Array(230),r8=Object.create(null),E8=Object.create(null);(function(){const n="",e=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[0,1,1,"Hyper",0,n,0,n,n,n],[0,1,2,"Super",0,n,0,n,n,n],[0,1,3,"Fn",0,n,0,n,n,n],[0,1,4,"FnLock",0,n,0,n,n,n],[0,1,5,"Suspend",0,n,0,n,n,n],[0,1,6,"Resume",0,n,0,n,n,n],[0,1,7,"Turbo",0,n,0,n,n,n],[0,1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[0,1,9,"WakeUp",0,n,0,n,n,n],[31,0,10,"KeyA",31,"A",65,"VK_A",n,n],[32,0,11,"KeyB",32,"B",66,"VK_B",n,n],[33,0,12,"KeyC",33,"C",67,"VK_C",n,n],[34,0,13,"KeyD",34,"D",68,"VK_D",n,n],[35,0,14,"KeyE",35,"E",69,"VK_E",n,n],[36,0,15,"KeyF",36,"F",70,"VK_F",n,n],[37,0,16,"KeyG",37,"G",71,"VK_G",n,n],[38,0,17,"KeyH",38,"H",72,"VK_H",n,n],[39,0,18,"KeyI",39,"I",73,"VK_I",n,n],[40,0,19,"KeyJ",40,"J",74,"VK_J",n,n],[41,0,20,"KeyK",41,"K",75,"VK_K",n,n],[42,0,21,"KeyL",42,"L",76,"VK_L",n,n],[43,0,22,"KeyM",43,"M",77,"VK_M",n,n],[44,0,23,"KeyN",44,"N",78,"VK_N",n,n],[45,0,24,"KeyO",45,"O",79,"VK_O",n,n],[46,0,25,"KeyP",46,"P",80,"VK_P",n,n],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[48,0,27,"KeyR",48,"R",82,"VK_R",n,n],[49,0,28,"KeyS",49,"S",83,"VK_S",n,n],[50,0,29,"KeyT",50,"T",84,"VK_T",n,n],[51,0,30,"KeyU",51,"U",85,"VK_U",n,n],[52,0,31,"KeyV",52,"V",86,"VK_V",n,n],[53,0,32,"KeyW",53,"W",87,"VK_W",n,n],[54,0,33,"KeyX",54,"X",88,"VK_X",n,n],[55,0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[22,0,36,"Digit1",22,"1",49,"VK_1",n,n],[23,0,37,"Digit2",23,"2",50,"VK_2",n,n],[24,0,38,"Digit3",24,"3",51,"VK_3",n,n],[25,0,39,"Digit4",25,"4",52,"VK_4",n,n],[26,0,40,"Digit5",26,"5",53,"VK_5",n,n],[27,0,41,"Digit6",27,"6",54,"VK_6",n,n],[28,0,42,"Digit7",28,"7",55,"VK_7",n,n],[29,0,43,"Digit8",29,"8",56,"VK_8",n,n],[30,0,44,"Digit9",30,"9",57,"VK_9",n,n],[21,0,45,"Digit0",21,"0",48,"VK_0",n,n],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[10,1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,n,0,n,n,n],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[59,1,64,"F1",59,"F1",112,"VK_F1",n,n],[60,1,65,"F2",60,"F2",113,"VK_F2",n,n],[61,1,66,"F3",61,"F3",114,"VK_F3",n,n],[62,1,67,"F4",62,"F4",115,"VK_F4",n,n],[63,1,68,"F5",63,"F5",116,"VK_F5",n,n],[64,1,69,"F6",64,"F6",117,"VK_F6",n,n],[65,1,70,"F7",65,"F7",118,"VK_F7",n,n],[66,1,71,"F8",66,"F8",119,"VK_F8",n,n],[67,1,72,"F9",67,"F9",120,"VK_F9",n,n],[68,1,73,"F10",68,"F10",121,"VK_F10",n,n],[69,1,74,"F11",69,"F11",122,"VK_F11",n,n],[70,1,75,"F12",70,"F12",123,"VK_F12",n,n],[0,1,76,"PrintScreen",0,n,0,n,n,n],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",n,n],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[14,1,80,"Home",14,"Home",36,"VK_HOME",n,n],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[13,1,83,"End",13,"End",35,"VK_END",n,n],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",n,n],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",n,n],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",n,n],[3,1,94,"NumpadEnter",3,n,0,n,n,n],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",n,n],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",n,n],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",n,n],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",n,n],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",n,n],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",n,n],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",n,n],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",n,n],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",n,n],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",n,n],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",n,n],[58,1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[0,1,108,"Power",0,n,0,n,n,n],[0,1,109,"NumpadEqual",0,n,0,n,n,n],[71,1,110,"F13",71,"F13",124,"VK_F13",n,n],[72,1,111,"F14",72,"F14",125,"VK_F14",n,n],[73,1,112,"F15",73,"F15",126,"VK_F15",n,n],[74,1,113,"F16",74,"F16",127,"VK_F16",n,n],[75,1,114,"F17",75,"F17",128,"VK_F17",n,n],[76,1,115,"F18",76,"F18",129,"VK_F18",n,n],[77,1,116,"F19",77,"F19",130,"VK_F19",n,n],[0,1,117,"F20",0,n,0,"VK_F20",n,n],[0,1,118,"F21",0,n,0,"VK_F21",n,n],[0,1,119,"F22",0,n,0,"VK_F22",n,n],[0,1,120,"F23",0,n,0,"VK_F23",n,n],[0,1,121,"F24",0,n,0,"VK_F24",n,n],[0,1,122,"Open",0,n,0,n,n,n],[0,1,123,"Help",0,n,0,n,n,n],[0,1,124,"Select",0,n,0,n,n,n],[0,1,125,"Again",0,n,0,n,n,n],[0,1,126,"Undo",0,n,0,n,n,n],[0,1,127,"Cut",0,n,0,n,n,n],[0,1,128,"Copy",0,n,0,n,n,n],[0,1,129,"Paste",0,n,0,n,n,n],[0,1,130,"Find",0,n,0,n,n,n],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",n,n],[0,1,136,"KanaMode",0,n,0,n,n,n],[0,0,137,"IntlYen",0,n,0,n,n,n],[0,1,138,"Convert",0,n,0,n,n,n],[0,1,139,"NonConvert",0,n,0,n,n,n],[0,1,140,"Lang1",0,n,0,n,n,n],[0,1,141,"Lang2",0,n,0,n,n,n],[0,1,142,"Lang3",0,n,0,n,n,n],[0,1,143,"Lang4",0,n,0,n,n,n],[0,1,144,"Lang5",0,n,0,n,n,n],[0,1,145,"Abort",0,n,0,n,n,n],[0,1,146,"Props",0,n,0,n,n,n],[0,1,147,"NumpadParenLeft",0,n,0,n,n,n],[0,1,148,"NumpadParenRight",0,n,0,n,n,n],[0,1,149,"NumpadBackspace",0,n,0,n,n,n],[0,1,150,"NumpadMemoryStore",0,n,0,n,n,n],[0,1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[0,1,152,"NumpadMemoryClear",0,n,0,n,n,n],[0,1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[0,1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[0,1,155,"NumpadClear",0,n,0,n,n,n],[0,1,156,"NumpadClearEntry",0,n,0,n,n,n],[5,1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[4,1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[6,1,0,n,6,"Alt",18,"VK_MENU",n,n],[57,1,0,n,57,"Meta",0,"VK_COMMAND",n,n],[5,1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[4,1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[6,1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[57,1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[5,1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[4,1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[6,1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[57,1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[0,1,165,"BrightnessUp",0,n,0,n,n,n],[0,1,166,"BrightnessDown",0,n,0,n,n,n],[0,1,167,"MediaPlay",0,n,0,n,n,n],[0,1,168,"MediaRecord",0,n,0,n,n,n],[0,1,169,"MediaFastForward",0,n,0,n,n,n],[0,1,170,"MediaRewind",0,n,0,n,n,n],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",n,n],[0,1,174,"Eject",0,n,0,n,n,n],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[0,1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[0,1,180,"SelectTask",0,n,0,n,n,n],[0,1,181,"LaunchScreenSaver",0,n,0,n,n,n],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[0,1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[0,1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[0,1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[0,1,189,"ZoomToggle",0,n,0,n,n,n],[0,1,190,"MailReply",0,n,0,n,n,n],[0,1,191,"MailForward",0,n,0,n,n,n],[0,1,192,"MailSend",0,n,0,n,n,n],[109,1,0,n,109,"KeyInComposition",229,n,n,n],[111,1,0,n,111,"ABNT_C2",194,"VK_ABNT_C2",n,n],[91,1,0,n,91,"OEM_8",223,"VK_OEM_8",n,n],[0,1,0,n,0,n,0,"VK_CLEAR",n,n],[0,1,0,n,0,n,0,"VK_KANA",n,n],[0,1,0,n,0,n,0,"VK_HANGUL",n,n],[0,1,0,n,0,n,0,"VK_JUNJA",n,n],[0,1,0,n,0,n,0,"VK_FINAL",n,n],[0,1,0,n,0,n,0,"VK_HANJA",n,n],[0,1,0,n,0,n,0,"VK_KANJI",n,n],[0,1,0,n,0,n,0,"VK_CONVERT",n,n],[0,1,0,n,0,n,0,"VK_NONCONVERT",n,n],[0,1,0,n,0,n,0,"VK_ACCEPT",n,n],[0,1,0,n,0,n,0,"VK_MODECHANGE",n,n],[0,1,0,n,0,n,0,"VK_SELECT",n,n],[0,1,0,n,0,n,0,"VK_PRINT",n,n],[0,1,0,n,0,n,0,"VK_EXECUTE",n,n],[0,1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[0,1,0,n,0,n,0,"VK_HELP",n,n],[0,1,0,n,0,n,0,"VK_APPS",n,n],[0,1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[0,1,0,n,0,n,0,"VK_PACKET",n,n],[0,1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_ATTN",n,n],[0,1,0,n,0,n,0,"VK_CRSEL",n,n],[0,1,0,n,0,n,0,"VK_EXSEL",n,n],[0,1,0,n,0,n,0,"VK_EREOF",n,n],[0,1,0,n,0,n,0,"VK_PLAY",n,n],[0,1,0,n,0,n,0,"VK_ZOOM",n,n],[0,1,0,n,0,n,0,"VK_NONAME",n,n],[0,1,0,n,0,n,0,"VK_PA1",n,n],[0,1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]];let i=[],s=[];for(const h of e){const[a,c,r,E,K,T,_,A,C,m]=h;if(s[r]||(s[r]=!0,r8[E]=r,E8[E.toLowerCase()]=r),!i[K]){if(i[K]=!0,!T)throw new Error(`String representation missing for key code ${K} around scan code ${E}`);R7.define(K,T),N2.define(K,C||T),d2.define(K,m||C||T)}_&&(o8[_]=K)}})();var Z3;(function(n){function e(r){return R7.keyCodeToStr(r)}n.toString=e;function i(r){return R7.strToKeyCode(r)}n.fromString=i;function s(r){return N2.keyCodeToStr(r)}n.toUserSettingsUS=s;function h(r){return d2.keyCodeToStr(r)}n.toUserSettingsGeneral=h;function a(r){return N2.strToKeyCode(r)||d2.strToKeyCode(r)}n.fromUserSettings=a;function c(r){if(r>=93&&r<=108)return null;switch(r){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return R7.keyCodeToStr(r)}n.toElectronAccelerator=c})(Z3||(Z3={}));function K8(n,e){const i=(e&65535)<<16>>>0;return(n|i)>>>0}class yt extends ot{constructor(e,i,s,h){super(e,i,s,h),this.selectionStartLineNumber=e,this.selectionStartColumn=i,this.positionLineNumber=s,this.positionColumn=h}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return yt.selectionsEqual(this,e)}static selectionsEqual(e,i){return e.selectionStartLineNumber===i.selectionStartLineNumber&&e.selectionStartColumn===i.selectionStartColumn&&e.positionLineNumber===i.positionLineNumber&&e.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,i){return this.getDirection()===0?new yt(this.startLineNumber,this.startColumn,e,i):new yt(e,i,this.startLineNumber,this.startColumn)}getPosition(){return new jt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new jt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,i){return this.getDirection()===0?new yt(e,i,this.endLineNumber,this.endColumn):new yt(this.endLineNumber,this.endColumn,e,i)}static fromPositions(e,i=e){return new yt(e.lineNumber,e.column,i.lineNumber,i.column)}static fromRange(e,i){return i===0?new yt(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new yt(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new yt(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,i){if(e&&!i||!e&&i)return!1;if(!e&&!i)return!0;if(e.length!==i.length)return!1;for(let s=0,h=e.length;s0){const c=e.charCodeAt(s);if(n.get(c)!==0)return!0}return!1}function T8(n,e,i,s,h){if(s+h===i)return!0;const a=e.charCodeAt(s+h);if(n.get(a)!==0||a===13||a===10)return!0;if(h>0){const c=e.charCodeAt(s+h-1);if(n.get(c)!==0)return!0}return!1}function _8(n,e,i,s,h){return R8(n,e,i,s,h)&&T8(n,e,i,s,h)}class A8{constructor(e,i){this._wordSeparators=e,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const i=e.length;let s;do{if(this._prevMatchStartIndex+this._prevMatchLength===i||(s=this._searchRegex.exec(e),!s))return null;const h=s.index,a=s[0].length;if(h===this._prevMatchStartIndex&&a===this._prevMatchLength){if(a===0){L6(e,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=h,this._prevMatchLength=a,!this._wordSeparators||_8(this._wordSeparators,e,i,h,a))return s}while(s);return null}}class I8{static computeUnicodeHighlights(e,i,s){const h=s?s.startLineNumber:1,a=s?s.endLineNumber:e.getLineCount(),c=new p5(i),r=c.getCandidateCodePoints();let E;r==="allNonBasicAscii"?E=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):E=new RegExp(`${L8(Array.from(r))}`,"g");const K=new A8(null,E),T=[];let _=!1,A,C=0,m=0,U=0;t:for(let D=h,B=a;D<=B;D++){const N=e.getLineContent(D),O=N.length;K.reset(0);do if(A=K.next(N),A){let x=A.index,f=A.index+A[0].length;if(x>0){const S=N.charCodeAt(x-1);K2(S)&&x--}if(f+1=S){_=!0;break t}T.push(new ot(D,x+1,D,f+1))}}while(A)}return{ranges:T,hasMore:_,ambiguousCharacterCount:C,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:U}}static computeUnicodeHighlightReason(e,i){switch(new p5(i).shouldHighlightNonBasicASCII(e)){case 0:return null;case 2:return{kind:1};case 3:const a=We.getPrimaryConfusable(e.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(a)};case 1:return{kind:2}}}}function L8(n,e){return`[${u6(n.map(s=>String.fromCodePoint(s)).join(""))}]`}class p5{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const i of H0.codePoints)e.add(i);if(this.options.ambiguousCharacters)for(const i of We.getPrimaryConfusableCodePoints())e.add(i);for(const i of this.allowedCodePoints)e.delete(i);return e}shouldHighlightNonBasicASCII(e){const i=e.codePointAt(0);return this.allowedCodePoints.has(i)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(e===" "||e===` +`||e===" ")&&H0.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&We.isAmbiguous(i)?3:0}}var G0=function(n,e,i,s){function h(a){return a instanceof i?a:new i(function(c){c(a)})}return new(i||(i=Promise))(function(a,c){function r(T){try{K(s.next(T))}catch(_){c(_)}}function E(T){try{K(s.throw(T))}catch(_){c(_)}}function K(T){T.done?a(T.value):h(T.value).then(r,E)}K((s=s.apply(n,e||[])).next())})};class O8 extends $6{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,i){let s=X3(e.column,q6(i),this._lines[e.lineNumber-1],0);return s?new ot(e.lineNumber,s.startColumn,e.lineNumber,s.endColumn):null}words(e){const i=this._lines,s=this._wordenize.bind(this);let h=0,a="",c=0,r=[];return{*[Symbol.iterator](){for(;;)if(cthis._lines.length)i=this._lines.length,s=this._lines[i-1].length+1,h=!0;else{let a=this._lines[i-1].length+1;s<1?(s=1,h=!0):s>a&&(s=a,h=!0)}return h?{lineNumber:i,column:s}:e}}class l1{constructor(e,i){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(i=>e.push(this._models[i])),e}acceptNewModel(e){this._models[e.url]=new O8(F0.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,i){if(!this._models[e])return;this._models[e].onEvents(i)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,i,s){return G0(this,void 0,void 0,function*(){const h=this._getModel(e);return h?I8.computeUnicodeHighlights(h,i,s):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(e,i,s,h){return G0(this,void 0,void 0,function*(){const a=this._getModel(e),c=this._getModel(i);if(!a||!c)return null;const r=a.getLinesContent(),E=c.getLinesContent(),T=new J6(r,E,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:s,shouldMakePrettyDiff:!0,maxComputationTime:h}).computeDiff(),_=T.changes.length>0?!1:this._modelsAreIdentical(a,c);return{quitEarly:T.quitEarly,identical:_,changes:T.changes}})}_modelsAreIdentical(e,i){const s=e.getLineCount(),h=i.getLineCount();if(s!==h)return!1;for(let a=1;a<=s;a++){const c=e.getLineContent(a),r=i.getLineContent(a);if(c!==r)return!1}return!0}computeMoreMinimalEdits(e,i){return G0(this,void 0,void 0,function*(){const s=this._getModel(e);if(!s)return i;const h=[];let a;i=i.slice(0).sort((c,r)=>{if(c.range&&r.range)return ot.compareRangesUsingStarts(c.range,r.range);let E=c.range?0:1,K=r.range?0:1;return E-K});for(let{range:c,text:r,eol:E}of i){if(typeof E=="number"&&(a=E),ot.isEmpty(c)&&!r)continue;const K=s.getValueInRange(c);if(r=r.replace(/\r\n|\n|\r/g,s.eol),K===r)continue;if(Math.max(r.length,K.length)>l1._diffLimit){h.push({range:c,text:r});continue}const T=g6(K,r,!1),_=s.offsetAt(ot.lift(c).getStartPosition());for(const A of T){const C=s.positionAt(_+A.originalStart),m=s.positionAt(_+A.originalStart+A.originalLength),U={text:r.substr(A.modifiedStart,A.modifiedLength),range:{startLineNumber:C.lineNumber,startColumn:C.column,endLineNumber:m.lineNumber,endColumn:m.column}};s.getValueInRange(U.range)!==U.text&&h.push(U)}}return typeof a=="number"&&h.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),h})}computeLinks(e){return G0(this,void 0,void 0,function*(){let i=this._getModel(e);return i?a8(i):null})}textualSuggest(e,i,s,h){return G0(this,void 0,void 0,function*(){const a=new c7(!0),c=new RegExp(s,h),r=new Set;t:for(let E of e){const K=this._getModel(E);if(K){for(let T of K.words(c))if(!(T===i||!isNaN(Number(T)))&&(r.add(T),r.size>l1._suggestionsLimit))break t}}return{words:Array.from(r),duration:a.elapsed()}})}computeWordRanges(e,i,s,h){return G0(this,void 0,void 0,function*(){let a=this._getModel(e);if(!a)return Object.create(null);const c=new RegExp(s,h),r=Object.create(null);for(let E=i.startLineNumber;Ethis._host.fhr(r,E)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(c,i),Promise.resolve(E2(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,i){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,i))}catch(s){return Promise.reject(s)}}}l1._diffLimit=1e5,l1._suggestionsLimit=1e4,typeof importScripts=="function"&&(St.monaco=u8());let f2=!1;function x5(n){if(f2)return;f2=!0;const e=new x6(i=>{self.postMessage(i)},i=>new l1(i,n));self.onmessage=i=>{e.onmessage(i.data)}}self.onmessage=n=>{f2||x5(null)};var C8=Object.defineProperty,I=(n,e)=>C8(n,"name",{value:e,configurable:!0}),o0=(b1=class{constructor(e){R(this,"target");this.target=e}get isEpsilon(){return!1}get label(){return null}},I(b1,"Transition"),R(b1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),b1),g2=(Pi=class extends o0{constructor(e){super(e)}},I(Pi,"AbstractPredicateTransition"),Pi),G={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},f5=(yi=class extends o0{constructor(i,s,h,a){super(i);R(this,"ruleIndex");R(this,"actionIndex");R(this,"isCtxDependent");this.ruleIndex=s,this.actionIndex=h===void 0?-1:h,this.isCtxDependent=a===void 0?!1:a}get isEpsilon(){return!0}get serializationType(){return G.ACTION}matches(i,s,h){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},I(yi,"ActionTransition"),yi),M=(ye=class{constructor(e){R(this,"cachedHashCode");this.cachedHashCode=e}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===ye.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}toString(e){return""}},I(ye,"PredictionContext"),R(ye,"EMPTY_RETURN_STATE",2147483647),R(ye,"EMPTY"),R(ye,"trace_atn_sim",!1),ye),g5=3432918353,U5=461845907,T7=15,_7=13,D5=5,k5=3864292196,xe=(c1=class{constructor(){R(this,"count");R(this,"hash");this.count=0,this.hash=0}static hashStuff(...e){const i=new c1;return i.update(e),i.finish()}static hashString(e=0,i){let s=3735928559^e,h=1103547991^e;for(const a of i){const c=a.charCodeAt(0);s=Math.imul(s^c,2654435761),h=Math.imul(h^c,1597334677)}return s=Math.imul(s^s>>>16,2246822507)^Math.imul(h^h>>>13,3266489909),h=Math.imul(h^h>>>16,2246822507)^Math.imul(s^s>>>13,3266489909),Math.imul(4294967296,2097151&h)+(s>>>0)}update(...e){for(const i of e)if(i!=null)if(Array.isArray(i))this.update(...i);else{let s=0;switch(typeof i){case"undefined":case"function":continue;case"number":{s=i;break}case"boolean":{s=i?1237:4327;break}case"string":{s=c1.hashString(this.hash,i);break}default:{i.updateHashCode(this);continue}}this.count=this.count+1,s=Math.imul(s,g5),s=s<>>32-T7,s=Math.imul(s,U5);let h=this.hash^s;h=h<<_7|h>>>32-_7,this.hash=Math.imul(h,D5)+k5}}updateWithHashCode(e){this.count=this.count+1,e=Math.imul(e,g5),e=e<>>32-T7,e=Math.imul(e,U5);let i=this.hash^e;i=i<<_7|i>>>32-_7,this.hash=Math.imul(i,D5)+k5}finish(){let e=this.hash^this.count*4;return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,e}},I(c1,"HashCode"),c1),N8=I(n=>typeof n.equals=="function","isComparable"),d8=I(n=>n===null?"null":n,"valueToString"),b0=I(n=>Array.isArray(n)?"["+n.map(d8).join(", ")+"]":"null","arrayToString"),ri=I((n,e)=>{if(n===e)return!0;if(n.length!==e.length)return!1;for(let i=0;i(n=n.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),e&&(n=n.replace(/ /g,"·")),n),"escapeWhitespace"),S5=I((n,e)=>n?n.equals(e):n===e,"standardEqualsFunction"),m8=Math.round(Math.random()*Math.pow(2,32)),p8=I(n=>{let e,i;const s=n.length&3,h=n.length-s;let a=m8;const c=3432918353,r=461845907;let E=0;for(;E>>16)*c&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*r+(((i>>>16)*r&65535)<<16)&4294967295,a^=i,a=a<<13|a>>>19,e=(a&65535)*5+(((a>>>16)*5&65535)<<16)&4294967295,a=(e&65535)+27492+(((e>>>16)+58964&65535)<<16);switch(i=0,s){case 3:i^=(n.charCodeAt(E+2)&255)<<16;case 2:i^=(n.charCodeAt(E+1)&255)<<8;case 1:i^=n.charCodeAt(E)&255,i=(i&65535)*c+(((i>>>16)*c&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*r+(((i>>>16)*r&65535)<<16)&4294967295,a^=i}return a^=n.length,a^=a>>>16,a=(a&65535)*2246822507+(((a>>>16)*2246822507&65535)<<16)&4294967295,a^=a>>>13,a=(a&65535)*3266489909+(((a>>>16)*3266489909&65535)<<16)&4294967295,a^=a>>>16,a>>>0},"stringHashCode"),H5=I(n=>n?typeof n=="string"?p8(n):n.hashCode():-1,"standardHashCodeFunction"),r0=(w1=class extends M{constructor(i,s){const h=new xe;h.update(i,s);const a=h.finish();super(a);R(this,"parents",[]);R(this,"returnStates",[]);return this.parents=i,this.returnStates=s,this}isEmpty(){return this.returnStates[0]===M.EMPTY_RETURN_STATE}getParent(i){return this.parents[i]}getReturnState(i){return this.returnStates[i]}equals(i){return this===i?!0:!(i instanceof w1)||this.hashCode()!==i.hashCode()?!1:ri(this.returnStates,i.returnStates)&&ri(this.parents,i.parents)}toString(){if(this.isEmpty())return"[]";{let i="[";for(let s=0;s0&&(i=i+", "),this.returnStates[s]===M.EMPTY_RETURN_STATE){i=i+"$";continue}i=i+this.returnStates[s],this.parents[s]!==null?i=i+" "+this.parents[s]:i=i+"null"}return i+"]"}}get length(){return this.returnStates.length}},I(w1,"ArrayPredictionContext"),w1),A7;(n=>{n.EOF=-1,n.UNKNOWN_SOURCE_NAME=""})(A7||(A7={}));var l;(n=>{n.INVALID_TYPE=0,n.EPSILON=-2,n.MIN_USER_TOKEN_TYPE=1,n.EOF=A7.EOF,n.DEFAULT_CHANNEL=0,n.HIDDEN_CHANNEL=1,n.MIN_USER_CHANNEL_VALUE=2})(l||(l={}));var B5=I(n=>{const e=n;return e.tokenSource!==void 0&&e.channel!==void 0},"isToken"),he=(qi=class{constructor(e,i){R(this,"data");R(this,"hashFunction");R(this,"equalsFunction");this.data={},this.hashFunction=e??H5,this.equalsFunction=i??S5}add(e){const i=this.hashFunction(e);if(i in this.data){const s=this.data[i];for(const h of s)if(this.equalsFunction(e,h))return h;return s.push(e),e}else return this.data[i]=[e],e}has(e){return this.get(e)!=null}get(e){const i=this.hashFunction(e);if(i in this.data){const s=this.data[i];for(const h of s)if(this.equalsFunction(e,h))return h}return null}values(){return Object.keys(this.data).flatMap(e=>this.data[e],this)}toString(){return b0(this.values())}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},I(qi,"HashSet"),qi),ht=(de=class{static andContext(e,i){if(e===null||e===de.NONE)return i;if(i===null||i===de.NONE)return e;const s=new x8(e,i);return s.opnds.length===1?s.opnds[0]:s}static orContext(e,i){if(e===null)return i;if(i===null)return e;if(e===de.NONE||i===de.NONE)return de.NONE;const s=new f8(e,i);return s.opnds.length===1?s.opnds[0]:s}static filterPrecedencePredicates(e){const i=[];return e.values().forEach(s=>{s instanceof de.PrecedencePredicate&&i.push(s)}),i}hashCode(){const e=new xe;return this.updateHashCode(e),e.finish()}evalPrecedence(e,i){return this}},I(de,"SemanticContext"),de),x8=(d0=class extends ht{constructor(i,s){super();R(this,"opnds");const h=new he;i instanceof d0?i.opnds.forEach(c=>{h.add(c)}):h.add(i),s instanceof d0?s.opnds.forEach(c=>{h.add(c)}):h.add(s);const a=ht.filterPrecedencePredicates(h);if(a.length>0){let c=null;a.forEach(r=>{(c===null||r.precedence{c=c===null?r:ht.andContext(c,r)}),c}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("&&")}},I(d0,"AND"),d0),f8=(l0=class extends ht{constructor(i,s){super();R(this,"opnds");const h=new he;i instanceof l0?i.opnds.forEach(c=>{h.add(c)}):h.add(i),s instanceof l0?s.opnds.forEach(c=>{h.add(c)}):h.add(s);const a=ht.filterPrecedencePredicates(h);if(a.length>0){const c=a.sort((E,K)=>E.compareTo(K)),r=c[c.length-1];h.add(r)}this.opnds=Array.from(h.values())}equals(i){return this===i?!0:i instanceof l0?ri(this.opnds,i.opnds):!1}updateHashCode(i){i.update(this.opnds),i.updateWithHashCode(3383313031)}evaluate(i,s){for(const h of this.opnds)if(h.evaluate(i,s))return!0;return!1}evalPrecedence(i,s){let h=!1;const a=[];for(const r of this.opnds){const E=r.evalPrecedence(i,s);if(h||(h=E!==r),E===ht.NONE)return ht.NONE;E!==null&&a.push(E)}if(!h)return this;if(a.length===0)return null;let c=null;return a.forEach(r=>{c=c===null?r:ht.orContext(c,r)}),c}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("||")}},I(l0,"OR"),l0);(n=>{const s=class s extends n{constructor(r,E,K){super();R(this,"ruleIndex");R(this,"predIndex");R(this,"isCtxDependent");this.ruleIndex=r??-1,this.predIndex=E??-1,this.isCtxDependent=K??!1}evaluate(r,E){const K=this.isCtxDependent?E:null;return r.sempred(K,this.ruleIndex,this.predIndex)}updateHashCode(r){r.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(r){return this===r?!0:r instanceof s?this.ruleIndex===r.ruleIndex&&this.predIndex===r.predIndex&&this.isCtxDependent===r.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};I(s,"Predicate");let e=s;n.Predicate=e;const h=class h extends n{constructor(r){super();R(this,"precedence");this.precedence=r??0}evaluate(r,E){return r.precpred(E,this.precedence)}evalPrecedence(r,E){return r.precpred(E,this.precedence)?n.NONE:null}compareTo(r){return this.precedence-r.precedence}updateHashCode(r){r.update(this.precedence)}equals(r){return this===r?!0:r instanceof h?this.precedence===r.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};I(h,"PrecedencePredicate");let i=h;n.PrecedencePredicate=i,n.NONE=new e})(ht||(ht={}));var g8=I(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),U8=I(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:n.reachesIntoOuterContext??0,precedenceFilterSuppressed:n.precedenceFilterSuppressed??!1},"checkConfig"),Ct=(o1=class{constructor(e,i){R(this,"state");R(this,"alt");R(this,"context");R(this,"reachesIntoOuterContext");R(this,"precedenceFilterSuppressed",!1);R(this,"semanticContext");this.checkContext(e,i);const s=g8(e),h=U8(i);this.state=s.state??h.state,this.alt=s.alt??h.alt??0,this.context=s.context??h.context,this.semanticContext=s.semanticContext??h.semanticContext??ht.NONE,this.reachesIntoOuterContext=h.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=h.precedenceFilterSuppressed??!1}hashCode(){const e=new xe;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(e){return this===e?!0:e instanceof o1?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&(this.context===null?e.context===null:this.context.equals(e.context))&&this.semanticContext.equals(e.semanticContext)&&this.precedenceFilterSuppressed===e.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const e=new xe;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(e){return this===e?!0:e instanceof o1?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&this.semanticContext.equals(e.semanticContext):!1}toString(e,i=!0){let s="";return i&&(s=","+this.alt),"("+this.state+s+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==ht.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(e,i){(e.context===null||e.context===void 0)&&(i===null||i.context===null||i.context===void 0)&&(this.context=null)}},I(o1,"ATNConfig"),o1),P=(Rt=class{constructor(e,i){R(this,"start");R(this,"stop");this.start=e,this.stop=i}static of(e,i){return e!==i||e<0||e>Rt.INTERVAL_POOL_MAX_VALUE?new Rt(e,i):(Rt.cache[e]===null&&(Rt.cache[e]=new Rt(e,e)),Rt.cache[e])}equals(e){return e instanceof Rt?this.start===e.start&&this.stop===e.stop:!1}hashCode(){let e=23;return e=e*31+this.start,e=e*31+this.stop,e}startsBeforeDisjoint(e){return this.start=e.start}startsAfter(e){return this.start>e.start}startsAfterDisjoint(e){return this.start>e.stop}startsAfterNonDisjoint(e){return this.start>e.start&&this.start<=e.stop}disjoint(e){return this.startsBeforeDisjoint(e)||this.startsAfterDisjoint(e)}adjacent(e){return this.start===e.stop+1||this.stop===e.start-1}properlyContains(e){return e.start>=this.start&&e.stop<=this.stop}union(e){return Rt.of(Math.min(this.start,e.start),Math.max(this.stop,e.stop))}intersection(e){return Rt.of(Math.max(this.start,e.start),Math.min(this.stop,e.stop))}differenceNotProperlyContained(e){let i=null;return e.startsBeforeNonDisjoint(this)?i=Rt.of(Math.max(this.start,e.stop+1),this.stop):e.startsAfterNonDisjoint(this)&&(i=Rt.of(this.start,e.start-1)),i}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{r.syntaxError(e,i,s,h,a,c)})}reportAmbiguity(e,i,s,h,a,c,r){this.delegates.forEach(E=>{E.reportAmbiguity(e,i,s,h,a,c,r)})}reportAttemptingFullContext(e,i,s,h,a,c){this.delegates.forEach(r=>{r.reportAttemptingFullContext(e,i,s,h,a,c)})}reportContextSensitivity(e,i,s,h,a,c){this.delegates.forEach(r=>{r.reportContextSensitivity(e,i,s,h,a,c)})}},I(es,"ProxyErrorListener"),es),F5=(Ee=class{constructor(){R(this,"interpreter");tt(this,be,[D8.INSTANCE]);tt(this,is,-1)}checkVersion(e){const i="4.13.1";i!==e&&console.error("ANTLR runtime and generated code versions disagree: "+i+"!="+e)}addErrorListener(e){p(this,be).push(e)}removeErrorListeners(){$(this,be,[])}removeErrorListener(e){for(let i=0;ii.set(s,h)),Ee.ruleIndexMapCache.set(e,i)),i}getTokenType(e){const i=this.getTokenTypeMap().get(e);return i||l.INVALID_TYPE}getErrorHeader(e){var h,a;const i=(h=e.offendingToken)==null?void 0:h.line,s=(a=e.offendingToken)==null?void 0:a.column;return"line "+i+":"+s}getErrorListenerDispatch(){return new k8(p(this,be))}sempred(e,i,s){return!0}precpred(e,i){return!0}action(e,i,s){}get atn(){return this.interpreter.atn}get state(){return p(this,is)}set state(e){$(this,is,e)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},be=new WeakMap,is=new WeakMap,I(Ee,"Recognizer"),R(Ee,"EOF",-1),R(Ee,"tokenTypeMapCache",new Map),R(Ee,"ruleIndexMapCache",new Map),Ee),S8=(m0=class{constructor(e,i,s,h,a){R(this,"source");R(this,"tokenIndex",-1);R(this,"start",0);R(this,"stop",0);R(this,"type",0);R(this,"line",0);R(this,"column",-1);R(this,"channel",l.DEFAULT_CHANNEL);tt(this,we,null);this.source=e,this.type=i,this.channel=s??l.DEFAULT_CHANNEL,this.start=h,this.stop=a,this.source[0]!==null?(this.line=e[0].line,this.column=e[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const e=new m0(this.source,this.type,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,$(e,we,p(this,we)),e}cloneWithType(e){const i=new m0(this.source,e,this.channel,this.start,this.stop);return i.tokenIndex=this.tokenIndex,i.line=this.line,i.column=this.column,e===l.EOF&&$(i,we,""),i}toString(e){let i="";this.channel>0&&(i=",channel="+this.channel);let s=this.text;s?(s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t")):s="";let h=String(this.type);return e&&(h=e.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+s+"',<"+h+">"+i+","+this.line+":"+this.column+"]"}get text(){if(p(this,we)!==null)return p(this,we);const e=this.inputStream;if(e===null)return null;const i=e.size;return this.start"}set text(e){$(this,we,e)}setText(e){$(this,we,e)}setType(e){this.type=e}setLine(e){this.line=e}setCharPositionInLine(e){this.column=e}setChannel(e){this.channel=e}setTokenIndex(e){this.tokenIndex=e}},we=new WeakMap,I(m0,"CommonToken"),R(m0,"EMPTY_SOURCE",[null,null]),m0),H8=(E1=class{constructor(e){R(this,"copyText",!1);this.copyText=e??!1}create(e,i,s,h,a,c,r,E){const K=new S8(e,i,h,a,c);return K.line=r,K.column=E,s!==null?K.text=s:this.copyText&&e[1]!==null&&(K.text=e[1].getText(a,c)),K}},I(E1,"CommonTokenFactory"),R(E1,"DEFAULT",new E1),E1),u=(v1=class extends Error{constructor(i){super(i.message);R(this,"ctx");R(this,"offendingToken",null);R(this,"offendingState",-1);R(this,"recognizer");R(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,v1),this.message=i.message,this.recognizer=i.recognizer,this.input=i.input,this.ctx=i.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},I(v1,"RecognitionException"),v1),Ei=(ss=class extends u{constructor(i,s,h,a){super({message:"",recognizer:i,input:s,ctx:null});R(this,"startIndex");R(this,"deadEndConfigs");this.startIndex=h,this.deadEndConfigs=a}toString(){let i="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[e],this)}getKeys(){return this.entries().map(e=>e.key)}getValues(){return this.entries().map(e=>e.value)}toString(){return"["+this.entries().map(i=>"{"+i.key+":"+i.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},I(ns,"HashMap"),ns),Ye=(hs=class{constructor(e){R(this,"parent",null);R(this,"symbol");this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return P.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new P(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){var e;return((e=this.symbol)==null?void 0:e.text)??""}toString(){var e,i;return((e=this.symbol)==null?void 0:e.type)===l.EOF?"":((i=this.symbol)==null?void 0:i.text)??""}toStringTree(){return this.toString()}},I(hs,"TerminalNode"),hs),Ki=(as=class extends Ye{accept(e){return e.visitErrorNode(this)}},I(as,"ErrorNode"),as),E0=(se=class{static toStringTree(e,i,s){i=i??null,s=s??null,s!==null&&(i=s.ruleNames);let h=se.getNodeText(e,i);h=l8(h,!1);const a=e.getChildCount();if(a===0)return h;let c="("+h+" ";a>0&&(h=se.toStringTree(e.getChild(0),i),c=c.concat(h));for(let r=1;re.getText()).join("")}getAltNumber(){return g.INVALID_ALT_NUMBER}setAltNumber(e){}getChild(e){return null}getChildCount(){return 0}accept(e){return e.visitChildren(this)}toStringTree(...e){return e.length===1?E0.toStringTree(this,null,e[0]):E0.toStringTree(this,e[0],e[1])}toString(e,i){e=e??null,i=i??null;let s=this,h="[";for(;s!==null&&s!==i;){if(e===null)s.isEmpty()||(h+=s.invokingState);else{const a=s.ruleIndex,c=a>=0&&a{super(...TR);R(this,"start",null);R(this,"stop",null);R(this,"exception",null)};i?e(i,s):e(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(i){super.parent=i}copyFrom(i){this.parent=i.parent,this.invokingState=i.invokingState,this.children=null,this.start=i.start,this.stop=i.stop,i.children&&(this.children=[],i.children.forEach(s=>{s instanceof Ki&&(this.children.push(s),s.parent=this)},this))}enterRule(i){}exitRule(i){}addAnyChild(i){return this.children==null&&(this.children=[]),this.children.push(i),i}addChild(i){return this.addAnyChild(i)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(i){const s=new Ye(i);return this.addAnyChild(s),s.parent=this,s}addErrorNode(i){return i.parent=this,this.addAnyChild(i)}getChild(i,s){if(this.children===null||i<0||i>=this.children.length)return null;if(s){for(const h of this.children)if(h instanceof s){if(i===0)return h;i-=1}return null}else return this.children[i]}getToken(i,s){var h;if(this.children===null||s<0||s>=this.children.length)return null;for(const a of this.children)if(a instanceof Ye&&((h=a.symbol)==null?void 0:h.type)===i){if(s===0)return a;s-=1}return null}getTokens(i){var s;if(this.children===null)return[];{const h=[];for(const a of this.children)a instanceof Ye&&((s=a.symbol)==null?void 0:s.type)===i&&h.push(a);return h}}getRuleContext(i,s){return this.getChild(i,s)}getRuleContexts(i){if(this.children===null)return[];{const s=[];for(const h of this.children)h instanceof i&&s.push(h);return s}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?P.INVALID_INTERVAL:new P(this.start.tokenIndex,this.stop.tokenIndex)}},I(W1,"ParserRuleContext"),R(W1,"EMPTY",new W1),W1),D2=I((n,e)=>{if(e==null&&(e=W.EMPTY),e.parent===null||e===W.EMPTY)return M.EMPTY;const i=D2(n,e.parent),h=n.states[e.invokingState].transitions[0];return ae.create(i,h.followState.stateNumber)},"predictionContextFromRuleContext"),b5=I((n,e,i)=>{if(n.isEmpty())return n;let s=i.get(n)||null;if(s!==null)return s;if(s=e.get(n),s!==null)return i.set(n,s),s;let h=!1,a=[];for(let r=0;r{if(n===e)return n;if(n instanceof ae&&e instanceof ae)return G8(n,e,i,s);if(i){if(n instanceof G5)return n;if(e instanceof G5)return e}return n instanceof ae&&(n=new r0([n.parent],[n.returnState])),e instanceof ae&&(e=new r0([e.parent],[e.returnState])),B8(n,e,i,s)},"merge"),B8=I((n,e,i,s)=>{if(s!==null){let T=s.get(n,e);if(T!==null||(T=s.get(e,n),T!==null))return T}let h=0,a=0,c=0,r=new Array(n.returnStates.length+e.returnStates.length).fill(0),E=new Array(n.returnStates.length+e.returnStates.length).fill(null);for(;h{const e=new w0;for(const i of n)i&&(e.containsKey(i)||e.set(i,i));for(let i=0;i{if(s!==null){let a=s.get(n,e);if(a!==null||(a=s.get(e,n),a!==null))return a}const h=b8(n,e,i);if(h!==null)return s!==null&&s.set(n,e,h),h;if(n.returnState===e.returnState){const a=k2(n.parent,e.parent,i,s);if(a===n.parent)return n;if(a===e.parent)return e;const c=ae.create(a,n.returnState);return s!==null&&s.set(n,e,c),c}else{let a=null;if((n===e||n.parent!==null&&n.parent===e.parent)&&(a=n.parent),a!==null){const K=[n.returnState,e.returnState];n.returnState>e.returnState&&(K[0]=e.returnState,K[1]=n.returnState);const T=[a,a],_=new r0(T,K);return s!==null&&s.set(n,e,_),_}const c=[n.returnState,e.returnState];let r=[n.parent,e.parent];n.returnState>e.returnState&&(c[0]=e.returnState,c[1]=n.returnState,r=[e.parent,n.parent]);const E=new r0(r,c);return s!==null&&s.set(n,e,E),E}},"mergeSingletons"),b8=I((n,e,i)=>{if(i){if(n===M.EMPTY||e===M.EMPTY)return M.EMPTY}else{if(n===M.EMPTY&&e===M.EMPTY)return M.EMPTY;if(n===M.EMPTY){const s=[e.returnState,M.EMPTY_RETURN_STATE],h=[e.parent,null];return new r0(h,s)}else if(e===M.EMPTY){const s=[n.returnState,M.EMPTY_RETURN_STATE],h=[n.parent,null];return new r0(h,s)}}return null},"mergeRoot"),fe=(rs=class{constructor(e){R(this,"data");e?this.data=new Uint32Array(e.map(i=>i>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const e=this.data.length;let i=0,s=this.data[i];const h=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;i>>5]&=~(1<>>5;return i>=this.data.length?!1:(this.data[i]&1<e)return i}set(e){if(e<0)throw new RangeError("index cannot be negative");this.resize(e),this.data[e>>>5]|=1<>>5;if(i<=this.data.length)return;const s=new Uint32Array(i);s.set(this.data),s.fill(0,this.data.length),this.data=s}bitCount(e){return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),e=e+(e>>4)&252645135,e=e+(e>>8),e=e+(e>>16),e&63}},I(rs,"BitSet"),rs),w8=I(n=>n.hashCodeForConfigSet(),"hashATNConfig"),v8=I((n,e)=>n===e?!0:n===null||e===null?!1:n.equalsForConfigSet(e),"equalATNConfigs"),Re=(Y1=class{constructor(e){R(this,"configs",[]);R(this,"hasSemanticContext",!1);R(this,"dipsIntoOuterContext",!1);R(this,"fullCtx");R(this,"uniqueAlt",0);R(this,"configLookup",new he(w8,v8));R(this,"conflictingAlts",null);R(this,"readOnly",!1);R(this,"cachedHashCode",-1);this.fullCtx=e??!0}add(e,i){if(i===void 0&&(i=null),this.readOnly)throw new Error("This set is readonly");e.semanticContext!==ht.NONE&&(this.hasSemanticContext=!0),e.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const s=this.configLookup.add(e);if(s===e)return this.cachedHashCode=-1,this.configs.push(e),!0;const h=!this.fullCtx,a=k2(s.context,e.context,h,i);return s.reachesIntoOuterContext=Math.max(s.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(s.precedenceFilterSuppressed=!0),s.context=a,!0}getStates(){const e=new he;for(const i of this.configs)e.add(i.state);return e}getPredicates(){const e=[];for(const i of this.configs)i.semanticContext!==ht.NONE&&e.push(i.semanticContext);return e}optimizeConfigs(e){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const i of this.configs)i.context=e.getCachedContext(i.context)}addAll(e){for(const i of e)this.add(i,null);return!1}equals(e){return this===e||e instanceof Y1&&ri(this.configs,e.configs)&&this.fullCtx===e.fullCtx&&this.uniqueAlt===e.uniqueAlt&&this.conflictingAlts===e.conflictingAlts&&this.hasSemanticContext===e.hasSemanticContext&&this.dipsIntoOuterContext===e.dipsIntoOuterContext}hashCode(){const e=new xe;return e.update(this.configs),e.finish()}updateHashCode(e){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),e.update(this.cachedHashCode)):e.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}containsFast(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new he}setReadonly(e){this.readOnly=e,e&&(this.configLookup=new he)}toString(){return b0(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==g.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let e=new fe;for(let i of this.configs)e.set(i.alt);return e}},I(Y1,"ATNConfigSet"),Y1),Ve=(V1=class{constructor(e){R(this,"stateNumber",-1);R(this,"configs",new Re);R(this,"edges",null);R(this,"isAcceptState",!1);R(this,"prediction",-1);R(this,"lexerActionExecutor",null);R(this,"requiresFullContext",!1);R(this,"predicates",null);e&&(typeof e=="number"?this.stateNumber=e:this.configs=e)}hashCode(){const e=new xe;return e.update(this.configs.configs),e.finish()}equals(e){return this===e?!0:e instanceof V1?this.configs===null?e.configs===null:this.configs.equals(e.configs):!1}toString(){let e="";return e+=this.stateNumber,e+=":",e+=this.configs?this.configs.toString():"",this.isAcceptState&&(e+="=>",this.predicates?e+=b0(this.predicates):e+=this.prediction),e.toString()}},I(V1,"DFAState"),V1);(n=>{const i=class i{constructor(h,a){R(this,"pred");R(this,"alt");this.alt=a,this.pred=h}toString(){return`(${this.pred}, ${this.alt})`}};I(i,"PredPrediction");let e=i;n.PredPrediction=e})(Ve||(Ve={}));var ge=(X1=class{constructor(e,i){R(this,"atn");R(this,"sharedContextCache",null);return this.atn=e,this.sharedContextCache=i,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(e){if(this.sharedContextCache===null)return e;const i=new w0;return b5(e,this.sharedContextCache,i)}getSharedContextCache(){return this.sharedContextCache}},I(X1,"ATNSimulator"),R(X1,"ERROR",new Ve(2147483647)),X1),w5=(Es=class extends Re{constructor(){super(),this.configLookup=new he}},I(Es,"OrderedATNConfigSet"),Es),Ue=(x0=class{constructor(){R(this,"atn");R(this,"stateNumber");R(this,"ruleIndex");R(this,"epsilonOnlyTransitions");R(this,"nextTokenWithinRule");R(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return x0.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(e){return e instanceof x0?this.stateNumber===e.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(e,i){i===void 0&&(i=-1),this.transitions.length===0?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),i===-1?this.transitions.push(e):this.transitions.splice(i,1,e)}},I(x0,"ATNState"),R(x0,"INVALID_STATE_NUMBER",-1),x0),Z={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Qt=(Ks=class extends Ue{get stateType(){return Z.RULE_STOP}},I(Ks,"RuleStopState"),Ks),v0=(Ws=class extends Ue{constructor(){super(...arguments);R(this,"decision",-1);R(this,"nonGreedy",!1)}},I(Ws,"DecisionState"),Ws),De=(Q1=class extends Ct{constructor(i,s){super(i,s);R(this,"lexerActionExecutor");R(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=i.lexerActionExecutor??(s==null?void 0:s.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=s!==null?this.checkNonGreedyDecision(s,this.state):!1,this}updateHashCode(i){i.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(i){return this===i||i instanceof Q1&&this.passedThroughNonGreedyDecision===i.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(i.lexerActionExecutor):!i.lexerActionExecutor)&&super.equals(i)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(i){return this.equals(i)}checkNonGreedyDecision(i,s){return i.passedThroughNonGreedyDecision||s instanceof v0&&s.nonGreedy}},I(Q1,"LexerATNConfig"),Q1),ke=(us=class{constructor(e){R(this,"actionType");R(this,"isPositionDependent");this.actionType=e,this.isPositionDependent=!1}hashCode(){const e=new xe;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}},I(us,"LexerAction"),us),S2=(Z1=class extends ke{constructor(i,s){super(s.actionType);R(this,"offset");R(this,"action");this.offset=i,this.action=s,this.isPositionDependent=!0}execute(i){this.action.execute(i)}updateHashCode(i){i.update(this.actionType,this.offset,this.action)}equals(i){return this===i?!0:i instanceof Z1?this.offset===i.offset&&this.action===i.action:!1}},I(Z1,"LexerIndexedCustomAction"),Z1),Y8=(qe=class extends ke{constructor(i){super(-1);R(this,"lexerActions");R(this,"cachedHashCode");return this.lexerActions=i===null?[]:i,this.cachedHashCode=xe.hashStuff(i),this}static append(i,s){if(i===null)return new qe([s]);const h=i.lexerActions.concat([s]);return new qe(h)}fixOffsetBeforeMatch(i){let s=null;for(let h=0;h",e+=this.getStateString(c),e+=` +`}}}}return e}getEdgeLabel(e){return`${this.vocabulary.getDisplayName(e-1)}`}getStateString(e){const i=e.stateNumber,s=(e.isAcceptState?":":"")+"s"+i+(e.requiresFullContext?"^":"");return e.isAcceptState?e.predicates!==null?`${s}=>${e.predicates.toString()}`:`${s}=>${e.prediction}`:`${s}`}},I(Rs,"DFASerializer"),Rs),Se=(vt=class{constructor(e,i,s){R(this,"maxTokenType");R(this,"literalNames");R(this,"symbolicNames");R(this,"displayNames");this.literalNames=e??vt.EMPTY_NAMES,this.symbolicNames=i??vt.EMPTY_NAMES,this.displayNames=s??vt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(e){if(e==null||e.length===0)return vt.EMPTY_VOCABULARY;const i=[...e],s=[...e];for(let h=0;h0){const c=a.charAt(0);if(c==="'"){s[h]=null;continue}else if(c.toUpperCase()===c){i[h]=null;continue}}i[h]=null,s[h]=null}}return new vt(i,s,e)}getMaxTokenType(){return this.maxTokenType}getLiteralName(e){return e>=0&&e=0&&e=0&&e"'"+String.fromCharCode(i)+"'")}},I(Ts,"LexerDFASerializer"),Ts),K0=(_s=class extends v0{constructor(){super();R(this,"loopBackState");R(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return Z.STAR_LOOP_ENTRY}},I(_s,"StarLoopEntryState"),_s),Y0=(As=class{constructor(e,i){R(this,"states",new he);R(this,"s0",null);R(this,"decision");R(this,"atnStartState");R(this,"precedenceDfa");R(this,"isPrecedenceDfa",()=>this.precedenceDfa);R(this,"getPrecedenceStartState",e=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||e<0||e>=this.s0.edges.length?null:this.s0.edges[e]});R(this,"setPrecedenceStartState",(e,i)=>{var s;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(e<0||!((s=this.s0)!=null&&s.edges))){if(e>=this.s0.edges.length){const h=this.s0.edges.length;this.s0.edges.length=e+1,this.s0.edges.fill(null,h,e)}this.s0.edges[e]=i}});this.atnStartState=e,this.decision=i??0;let s=!1;if(e instanceof K0&&e.precedenceRuleDecision){s=!0;const h=new Ve;h.edges=[],h.isAcceptState=!1,h.requiresFullContext=!1,this.s0=h}this.precedenceDfa=s}setPrecedenceDfa(e){if(e!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const e=this.states.values();return e.sort((i,s)=>i.stateNumber-s.stateNumber),e}toString(e){return e?this.s0===null?"":new v5(this,e).toString()??"":this.toString(Se.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new V8(this).toString()??""}},I(As,"DFA"),As),V0=(it=class extends ge{constructor(i,s,h,a){super(s,a);R(this,"decisionToDFA");R(this,"recog",null);R(this,"startIndex",-1);R(this,"line",1);R(this,"column",0);R(this,"mode",ce.DEFAULT_MODE);R(this,"prevAccept",new it.SimState);this.decisionToDFA=h,this.recog=i}copyState(i){this.column=i.column,this.line=i.line,this.mode=i.mode,this.startIndex=i.startIndex}match(i,s){this.mode=s;const h=i.mark();try{this.startIndex=i.index,this.prevAccept.reset();const a=this.decisionToDFA[s];return a.s0===null?this.matchATN(i):this.execATN(i,a.s0)}finally{i.release(h)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=ce.DEFAULT_MODE}getDFA(i){return this.decisionToDFA[i]}getText(i){return i.getText(this.startIndex,i.index-1)}consume(i){i.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,i.consume()}getTokenName(i){return i===-1?"EOF":"'"+String.fromCharCode(i)+"'"}clearDFA(){for(let i=0;iit.MAX_DFA_EDGE)return null;let h=i.edges[s-it.MIN_DFA_EDGE];return h===void 0&&(h=null),it.debug&&h!==null&&console.log("reuse state "+i.stateNumber+" edge to "+h.stateNumber),h}computeTargetState(i,s,h){const a=new w5;return this.getReachableConfigSet(i,s.configs,a,h),a.items.length===0?(a.hasSemanticContext||this.addDFAEdge(s,h,ge.ERROR),ge.ERROR):this.addDFAEdge(s,h,null,a)}failOrAccept(i,s,h,a){if(i.dfaState!==null){const c=i.dfaState.lexerActionExecutor;return this.accept(s,c,this.startIndex,i.index,i.line,i.column),i.dfaState.prediction}else{if(a===l.EOF&&s.index===this.startIndex)return l.EOF;throw new Ei(this.recog,s,this.startIndex,h)}}getReachableConfigSet(i,s,h,a){let c=g.INVALID_ALT_NUMBER;for(const r of s.items){const E=r.alt===c;if(!(E&&r.passedThroughNonGreedyDecision)){it.debug&&console.log(`testing %s at %s +`,this.getTokenName(a),r.toString(this.recog,!0));for(const K of r.state.transitions){const T=this.getReachableTarget(K,a);if(T!==null){let _=r.lexerActionExecutor;_!==null&&(_=_.fixOffsetBeforeMatch(i.index-this.startIndex));const A=a===l.EOF,C=new De({state:T,lexerActionExecutor:_},r);this.closure(i,C,h,E,!0,A)&&(c=r.alt)}}}}}accept(i,s,h,a,c,r){it.debug&&console.log(`ACTION %s +`,s),i.seek(a),this.line=c,this.column=r,s!==null&&this.recog!==null&&s.execute(this.recog,i,h)}getReachableTarget(i,s){return i.matches(s,0,ce.MAX_CHAR_VALUE)?i.target:null}computeStartState(i,s){const h=M.EMPTY,a=new w5;for(let c=0;cit.MAX_DFA_EDGE||(it.debug&&console.log("EDGE "+i+" -> "+h+" upon "+s),i.edges===null&&(i.edges=new Array(it.MAX_DFA_EDGE-it.MIN_DFA_EDGE+1),i.edges.fill(null)),i.edges[s-it.MIN_DFA_EDGE]=h),h}addDFAState(i){const s=new Ve(i);let h=null;for(const E of i.items)if(E.state instanceof Qt){h=E;break}h!==null&&(s.isAcceptState=!0,s.lexerActionExecutor=h.lexerActionExecutor,s.prediction=this.atn.ruleToTokenType[h.state.ruleIndex]);const a=this.decisionToDFA[this.mode],c=a.states.get(s);if(c!==null)return c;const r=s;return r.stateNumber=a.states.length,i.setReadonly(!0),r.configs=i,a.states.add(r),r}},I(it,"LexerATNSimulator"),R(it,"MIN_DFA_EDGE",0),R(it,"MAX_DFA_EDGE",127),R(it,"debug",!1),R(it,"dfa_debug",!1),it);(n=>{const i=class i{constructor(){R(this,"index",-1);R(this,"line",0);R(this,"column",-1);R(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};I(i,"SimState");let e=i;n.SimState=e})(V0||(V0={}));var ce=(mt=class extends F5{constructor(i){super();R(this,"_input");R(this,"_token",null);R(this,"_tokenStartCharIndex",-1);R(this,"_tokenStartLine",0);R(this,"_tokenStartColumn",0);R(this,"_hitEOF",!1);R(this,"_channel",0);R(this,"_type",0);R(this,"_modeStack",[]);R(this,"_mode",mt.DEFAULT_MODE);R(this,"_text",null);R(this,"_factory");this._input=i,this._factory=H8.DEFAULT}reset(i=!0){i&&this._input.seek(0),this._token=null,this._type=l.INVALID_TYPE,this._channel=l.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=mt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const i=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=l.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let s=!1;for(;;){this._type=l.INVALID_TYPE;let h=mt.SKIP;try{h=this.interpreter.match(this._input,this._mode)}catch(a){if(a instanceof Ei)this.notifyListeners(a),this.recover(a);else throw a}if(this._input.LA(1)===l.EOF&&(this._hitEOF=!0),this._type===l.INVALID_TYPE&&(this._type=h),this._type===mt.SKIP){s=!0;break}if(this._type!==mt.MORE)break}if(!s)return this._token===null&&this.emit(),this._token}}finally{this._input.release(i)}}skip(){this._type=mt.SKIP}more(){this._type=mt.MORE}mode(i){this._mode=i}pushMode(i){V0.debug&&console.log("pushMode "+i),this._modeStack.push(this._mode),this.mode(i)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return V0.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(i){this._token=i}emit(){const i=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(i),i}emitEOF(){const i=this.column,s=this.line,h=this._factory.create([this,this._input],l.EOF,null,l.DEFAULT_CHANNEL,this._input.index,this._input.index-1,s,i);return this.emitToken(h),h}getCharIndex(){return this._input.index}getAllTokens(){const i=[];let s=this.nextToken();for(;s.type!==l.EOF;)i.push(s),s=this.nextToken();return i}notifyListeners(i){const s=this._tokenStartCharIndex,h=this._input.index,a=this._input.getText(s,h),c="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,c,i)}getErrorDisplay(i){return i}getErrorDisplayForChar(i){return i.charCodeAt(0)===l.EOF?"":i===` +`?"\\n":i===" "?"\\t":i==="\r"?"\\r":i}getCharErrorDisplay(i){return"'"+this.getErrorDisplayForChar(i)+"'"}recover(i){this._input.LA(1)!==l.EOF&&(i instanceof Ei?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(i){this.reset(!1),this._input=i}set tokenFactory(i){this._factory=i}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(i){this._type=i}get line(){return this.interpreter.line}set line(i){this.interpreter.line=i}get column(){return this.interpreter.column}set column(i){this.interpreter.column=i}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(i){this._text=i}},I(mt,"Lexer"),R(mt,"DEFAULT_MODE",0),R(mt,"MORE",-2),R(mt,"SKIP",-3),R(mt,"DEFAULT_TOKEN_CHANNEL",l.DEFAULT_CHANNEL),R(mt,"HIDDEN",l.HIDDEN_CHANNEL),R(mt,"MIN_CHAR_VALUE",0),R(mt,"MAX_CHAR_VALUE",1114111),mt),Ht=(Wt=class{constructor(e){R(this,"intervals",[]);R(this,"readOnly",!1);e&&this.addSet(e)}static of(e,i){const s=new Wt;return s.addRange(e,i),s}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?l.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?l.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(e){this.addInterval(new P(e,e))}addRange(e,i){this.addInterval(new P(e,i))}addInterval(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(e);else{for(let i=0;ithis.addInterval(i),this),this}complement(e,i){if(!e)return new Wt;const s=new Wt;if(e instanceof Wt){if(e.isNil)return new Wt;s.addSet(e)}else s.addInterval(new P(e,i??0));return s.subtract(this)}or(e){const i=new Wt;return i.addSet(this),e.forEach(s=>i.addSet(s)),i}and(e){if(e.isNil)return new Wt;const i=this.intervals,s=e.intervals;let h;const a=i.length,c=s.length;let r=0,E=0;for(;ra.stop){s++;continue}let r=null,E=null;if(c.start>a.start&&(r=new P(a.start,c.start-1)),c.stope)h=a-1;else return!0}return!1}removeRange(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(e.start===e.stop)this.removeOne(e.start);else if(this.intervals!==null){let i=0;for(const s of this.intervals){if(e.stop<=s.start)return;if(e.start>s.start&&e.stop=s.stop?(this.intervals.splice(i,1),i=i-1):e.start1&&(i+="{");let s=!1,h;e instanceof Se?h=e:Array.isArray(e)?h=Se.fromTokenNames(e):s=e??!1;for(let a=0;a":s?i+="'"+String.fromCodePoint(r)+"'":h?i+=this.elementName(h,r):i+=r;else if(s)i+="'"+String.fromCodePoint(r)+"'..'"+String.fromCodePoint(E)+"'";else if(h)for(let K=r;K<=E;++K)K>r&&(i+=", "),i+=this.elementName(h,K);else i+=r+".."+E;a1&&(i+="}"),i}toArray(){const e=[];for(const i of this.intervals)for(let s=i.start;s<=i.stop;s++)e.push(s);return e}get length(){let e=0;if(this.intervals.length===1){const s=this.intervals[0];return s.stop-s.start+1}for(const s of this.intervals)e+=s.length;return e}isReadonly(){return this.readOnly}setReadonly(e){if(this.readOnly&&!e)throw new Error("can't alter readonly IntervalSet");this.readOnly=e}elementName(e,i){return i===l.EOF?"":i===l.EPSILON?"":e.getDisplayName(i)}},I(Wt,"IntervalSet"),R(Wt,"COMPLETE_CHAR_SET",Wt.of(ce.MIN_CHAR_VALUE,ce.MAX_CHAR_VALUE)),R(Wt,"EMPTY_SET",new Wt),Wt.COMPLETE_CHAR_SET.readOnly=!0,Wt.EMPTY_SET.readOnly=!0,Wt),L7=(Is=class extends o0{constructor(i,s,h,a){super(i);R(this,"ruleIndex");R(this,"precedence");R(this,"followState");this.ruleIndex=s,this.precedence=h,this.followState=a}get isEpsilon(){return!0}get serializationType(){return G.RULE}matches(i,s,h){return!1}},I(Is,"RuleTransition"),Is),H2=(Ls=class extends o0{constructor(i,s){super(i);tt(this,f0,void 0);s!=null?$(this,f0,s):($(this,f0,new Ht),p(this,f0).addOne(l.INVALID_TYPE))}get label(){return p(this,f0)}get serializationType(){return G.SET}matches(i,s,h){return this.label.contains(i)}toString(){return p(this,f0).toString()}},f0=new WeakMap,I(Ls,"SetTransition"),Ls),B2=(Os=class extends H2{constructor(e,i){super(e,i)}get serializationType(){return G.NOT_SET}matches(e,i,s){return e>=i&&e<=s&&!super.matches(e,i,s)}toString(){return"~"+super.toString()}},I(Os,"NotSetTransition"),Os),Y5=(Cs=class extends o0{constructor(e){super(e)}get serializationType(){return G.WILDCARD}matches(e,i,s){return e>=i&&e<=s}toString(){return"."}},I(Cs,"WildcardTransition"),Cs),X8=(g0=class{constructor(e){R(this,"atn");this.atn=e}getDecisionLookahead(e){if(e===null)return null;const i=e.transitions.length,s=new Array(i);s.fill(null);for(let h=0;h=this.states.length)throw new Error("Invalid state number.");const s=this.states[e];let h=this.nextTokens(s);if(!h.contains(l.EPSILON))return h;let a=i;const c=new Ht;for(c.addSet(h),c.removeOne(l.EPSILON);a!==null&&a.invokingState>=0&&h.contains(l.EPSILON);){const E=this.states[a.invokingState].transitions[0];h=this.nextTokens(E.followState),c.addSet(h),c.removeOne(l.EPSILON),a=a.parent}return h.contains(l.EPSILON)&&c.addOne(l.EOF),c}nextTokens(e,i){return i===void 0?(e.nextTokenWithinRule!==null||(e.nextTokenWithinRule=this.nextTokens(e,null),e.nextTokenWithinRule.setReadonly(!0)),e.nextTokenWithinRule):new X8(this).LOOK(e,null,i)}},I(J1,"ATN"),R(J1,"INVALID_ALT_NUMBER",0),J1),V5=(U0=class{constructor(e){R(this,"readOnly",!1);R(this,"verifyATN");R(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=e==null?!0:e.verifyATN,this.generateRuleBypassTransitions=e==null?!1:e.generateRuleBypassTransitions}},I(U0,"ATNDeserializationOptions"),R(U0,"defaultOptions",new U0),U0.defaultOptions.readOnly=!0,U0),Wi={LEXER:0,PARSER:1},X5=(Ns=class extends Ue{get stateType(){return Z.BASIC}},I(Ns,"BasicState"),Ns),m1=(ds=class extends v0{constructor(){super();R(this,"endState");this.endState=null}},I(ds,"BlockStartState"),ds),F2=(ls=class extends Ue{constructor(){super(...arguments);R(this,"startState",null)}get stateType(){return Z.BLOCK_END}},I(ls,"BlockEndState"),ls),X0=(ms=class extends Ue{constructor(){super(...arguments);R(this,"loopBackState",null)}get stateType(){return Z.LOOP_END}},I(ms,"LoopEndState"),ms),Q5=(ps=class extends Ue{constructor(){super();R(this,"stopState");R(this,"isLeftRecursiveRule");R(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return Z.RULE_START}},I(ps,"RuleStartState"),ps),Q8=(xs=class extends v0{get stateType(){return Z.TOKEN_START}},I(xs,"TokensStartState"),xs),Z5=(fs=class extends v0{get stateType(){return Z.PLUS_LOOP_BACK}},I(fs,"PlusLoopbackState"),fs),G2=(gs=class extends Ue{get stateType(){return Z.STAR_LOOP_BACK}},I(gs,"StarLoopbackState"),gs),b2=(Us=class extends m1{constructor(){super(...arguments);R(this,"loopBackState")}get stateType(){return Z.PLUS_BLOCK_START}},I(Us,"PlusBlockStartState"),Us),w2=(Ds=class extends m1{get stateType(){return Z.STAR_BLOCK_START}},I(Ds,"StarBlockStartState"),Ds),J5=(ks=class extends m1{get stateType(){return Z.BLOCK_START}},I(ks,"BasicBlockStartState"),ks),O7=(Hs=class extends o0{constructor(i,s){super(i);R(this,"labelValue");tt(this,Ss,void 0);this.labelValue=s,$(this,Ss,Ht.of(s,s))}get label(){return p(this,Ss)}matches(i,s,h){return this.labelValue===i}get serializationType(){return G.ATOM}toString(){return this.labelValue.toString()}},Ss=new WeakMap,I(Hs,"AtomTransition"),Hs),z5=(Fs=class extends o0{constructor(i,s,h){super(i);R(this,"start");R(this,"stop");tt(this,Bs,new Ht);this.start=s,this.stop=h,p(this,Bs).addRange(s,h)}get label(){return p(this,Bs)}get serializationType(){return G.RANGE}matches(i,s,h){return i>=this.start&&i<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},Bs=new WeakMap,I(Fs,"RangeTransition"),Fs),ui=(bs=class extends o0{constructor(i,s=-1){super(i);tt(this,Gs,void 0);$(this,Gs,s)}get isEpsilon(){return!0}matches(i,s,h){return!1}get outermostPrecedenceReturn(){return p(this,Gs)}get serializationType(){return G.EPSILON}toString(){return"epsilon"}},Gs=new WeakMap,I(bs,"EpsilonTransition"),bs),j5=(ws=class extends g2{constructor(i,s,h,a){super(i);R(this,"ruleIndex");R(this,"predIndex");R(this,"isCtxDependent");this.ruleIndex=s,this.predIndex=h,this.isCtxDependent=a}get isEpsilon(){return!0}matches(i,s,h){return!1}get serializationType(){return G.PREDICATE}getPredicate(){return new ht.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},I(ws,"PredicateTransition"),ws),Z8=(vs=class extends g2{constructor(i,s){super(i);R(this,"precedence");this.precedence=s}get isEpsilon(){return!0}matches(i,s,h){return!1}getPredicate(){return new ht.PrecedencePredicate(this.precedence)}get serializationType(){return G.PRECEDENCE}toString(){return this.precedence+" >= _p"}},I(vs,"PrecedencePredicateTransition"),vs),Bt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},J8=(u1=class extends ke{constructor(){super(Bt.SKIP)}execute(e){e.skip()}toString(){return"skip"}},I(u1,"LexerSkipAction"),R(u1,"INSTANCE",new u1),u1),z8=(z1=class extends ke{constructor(i){super(Bt.CHANNEL);R(this,"channel");this.channel=i}execute(i){i._channel=this.channel}updateHashCode(i){i.update(this.actionType,this.channel)}equals(i){return this===i?!0:i instanceof z1?this.channel===i.channel:!1}toString(){return"channel("+this.channel+")"}},I(z1,"LexerChannelAction"),z1),j8=(j1=class extends ke{constructor(i,s){super(Bt.CUSTOM);R(this,"ruleIndex");R(this,"actionIndex");this.ruleIndex=i,this.actionIndex=s,this.isPositionDependent=!0}execute(i){i.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(i){i.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(i){return this===i?!0:i instanceof j1?this.ruleIndex===i.ruleIndex&&this.actionIndex===i.actionIndex:!1}},I(j1,"LexerCustomAction"),j1),$8=(R1=class extends ke{constructor(){super(Bt.MORE)}execute(e){e.more()}toString(){return"more"}},I(R1,"LexerMoreAction"),R(R1,"INSTANCE",new R1),R1),M8=($1=class extends ke{constructor(i){super(Bt.TYPE);R(this,"type");this.type=i}execute(i){i._type=this.type}updateHashCode(i){i.update(this.actionType,this.type)}equals(i){return this===i?!0:i instanceof $1?this.type===i.type:!1}toString(){return"type("+this.type+")"}},I($1,"LexerTypeAction"),$1),P8=(M1=class extends ke{constructor(i){super(Bt.PUSH_MODE);R(this,"mode");this.mode=i}execute(i){i.pushMode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof M1?this.mode===i.mode:!1}toString(){return"pushMode("+this.mode+")"}},I(M1,"LexerPushModeAction"),M1),y8=(T1=class extends ke{constructor(){super(Bt.POP_MODE)}execute(e){e.popMode()}toString(){return"popMode"}},I(T1,"LexerPopModeAction"),R(T1,"INSTANCE",new T1),T1),q8=(P1=class extends ke{constructor(i){super(Bt.MODE);R(this,"mode");this.mode=i}execute(i){i.mode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof P1?this.mode===i.mode:!1}toString(){return"mode("+this.mode+")"}},I(P1,"LexerModeAction"),P1),v2=I((n,e)=>{const i=new Array(n-1);return i[n-1]=e,i.map(()=>e)},"initArray"),Ri=(D0=class{constructor(e){R(this,"data",[]);R(this,"pos",0);R(this,"deserializationOptions");R(this,"stateFactories",null);R(this,"actionFactories",null);e||(e=V5.defaultOptions),this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){this.reset(e),this.checkVersion();const i=this.readATN();this.readStates(i),this.readRules(i),this.readModes(i);const s=[];return this.readSets(i,s),this.readEdges(i,s),this.readDecisions(i),this.readLexerActions(i),this.markPrecedenceDecisions(i),this.verifyATN(i),this.deserializationOptions.generateRuleBypassTransitions&&i.grammarType===Wi.PARSER&&(this.generateRuleBypassTransitions(i),this.verifyATN(i)),i}reset(e){return this.data=e,this.pos=0,!1}checkVersion(){const e=this.readInt();if(e!==D0.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+e+" (expected "+D0.SERIALIZED_VERSION+").")}readATN(){const e=this.readInt(),i=this.readInt();return new g(e,i)}readStates(e){let i,s;const h=[],a=[],c=this.readInt();for(let K=0;K0;)a.addTransition(K.transitions[T-1]),K.transitions=K.transitions.slice(-1);e.ruleToStartState[i].addTransition(new ui(a)),E&&c.addTransition(new ui(E));const _=new X5;e.addState(_),_.addTransition(new O7(c,e.ruleToTokenType[i])),a.addTransition(new ui(_))}stateIsEndStateFor(e,i){if(e.ruleIndex!==i||!(e instanceof K0))return null;const s=e.transitions[e.transitions.length-1].target;return s instanceof X0&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof Qt?e:null}markPrecedenceDecisions(e){for(const i of e.states)if(i instanceof K0&&e.ruleToStartState[i.ruleIndex].isPrecedenceRule){const s=i.transitions[i.transitions.length-1].target;s instanceof X0&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof Qt&&(i.precedenceRuleDecision=!0)}}verifyATN(e){if(this.deserializationOptions.verifyATN){for(const i of e.states)if(i!==null)if(this.checkCondition(i.epsilonOnlyTransitions||i.transitions.length<=1),i instanceof b2)this.checkCondition(i.loopBackState!==null);else if(i instanceof K0)if(this.checkCondition(i.loopBackState!==null),this.checkCondition(i.transitions.length===2),i.transitions[0].target instanceof w2)this.checkCondition(i.transitions[1].target instanceof X0),this.checkCondition(!i.nonGreedy);else if(i.transitions[0].target instanceof X0)this.checkCondition(i.transitions[1].target instanceof w2),this.checkCondition(i.nonGreedy);else throw new Error("IllegalState");else i instanceof G2?(this.checkCondition(i.transitions.length===1),this.checkCondition(i.transitions[0].target instanceof K0)):i instanceof X0?this.checkCondition(i.loopBackState!==null):i instanceof Q5?this.checkCondition(i.stopState!==null):i instanceof m1?this.checkCondition(i.endState!==null):i instanceof F2?this.checkCondition(i.startState!==null):i instanceof v0?this.checkCondition(i.transitions.length<=1||i.decision>=0):this.checkCondition(i.transitions.length<=1||i instanceof Qt)}}checkCondition(e,i){if(!e)throw i==null&&(i="IllegalState"),i}readInt(){return this.data[this.pos++]}edgeFactory(e,i,s,h,a,c,r){const E=e.states[s];switch(i){case G.EPSILON:return new ui(E);case G.RANGE:return c!==0?new z5(E,l.EOF,a):new z5(E,h,a);case G.RULE:return new L7(e.states[h],a,c,E);case G.PREDICATE:return new j5(E,h,a,c!==0);case G.PRECEDENCE:return new Z8(E,h);case G.ATOM:return c!==0?new O7(E,l.EOF):new O7(E,h);case G.ACTION:return new f5(E,h,a,c!==0);case G.SET:return new H2(E,r[h]);case G.NOT_SET:return new B2(E,r[h]);case G.WILDCARD:return new Y5(E);default:throw new Error("The specified transition type: "+i+" is not valid.")}}stateFactory(e,i){var s,h;if(this.stateFactories===null){const a=[];a[Z.INVALID_TYPE]=null,a[Z.BASIC]=()=>new X5,a[Z.RULE_START]=()=>new Q5,a[Z.BLOCK_START]=()=>new J5,a[Z.PLUS_BLOCK_START]=()=>new b2,a[Z.STAR_BLOCK_START]=()=>new w2,a[Z.TOKEN_START]=()=>new Q8,a[Z.RULE_STOP]=()=>new Qt,a[Z.BLOCK_END]=()=>new F2,a[Z.STAR_LOOP_BACK]=()=>new G2,a[Z.STAR_LOOP_ENTRY]=()=>new K0,a[Z.PLUS_LOOP_BACK]=()=>new Z5,a[Z.LOOP_END]=()=>new X0,this.stateFactories=a}if(e>this.stateFactories.length||this.stateFactories[e]===null)throw new Error("The specified state type "+e+" is not valid.");{const a=((h=(s=this.stateFactories)[e])==null?void 0:h.call(s))??null;if(a!==null)return a.ruleIndex=i,a}return null}lexerActionFactory(e,i,s){if(this.actionFactories===null){const h=[];h[Bt.CHANNEL]=(a,c)=>new z8(a),h[Bt.CUSTOM]=(a,c)=>new j8(a,c),h[Bt.MODE]=(a,c)=>new q8(a),h[Bt.MORE]=(a,c)=>$8.INSTANCE,h[Bt.POP_MODE]=(a,c)=>y8.INSTANCE,h[Bt.PUSH_MODE]=(a,c)=>new P8(a),h[Bt.SKIP]=(a,c)=>J8.INSTANCE,h[Bt.TYPE]=(a,c)=>new M8(a),this.actionFactories=h}if(e>this.actionFactories.length||this.actionFactories[e]===null)throw new Error("The specified lexer action type "+e+" is not valid.");return this.actionFactories[e](i,s)}},I(D0,"ATNDeserializer"),R(D0,"SERIALIZED_VERSION",4),D0),L=(Ys=class extends u{constructor(i,s=null,h=null,a=null,c=null,r=null){r=r??i.context,a=a??i.getCurrentToken(),h=h??i.getCurrentToken(),s=s??i.inputStream;super({message:"",recognizer:i,input:s,ctx:r});R(this,"deadEndConfigs",null);R(this,"startToken");this.deadEndConfigs=c,this.startToken=h,this.offendingToken=a}},I(Ys,"NoViableAltException"),Ys),tr=(Vs=class{constructor(){R(this,"cacheMap");this.cacheMap=new w0}get(e,i){const s=this.cacheMap.get(e)??null;return s===null?null:s.get(i)??null}set(e,i,s){let h=this.cacheMap.get(e)??null;h===null&&(h=new w0,this.cacheMap.set(e,h)),h.set(i,s)}},I(Vs,"DoubleDict"),Vs),Nt=(Yt=class{static hasSLLConflictTerminatingPrediction(e,i){if(Yt.allConfigsInRuleStopStates(i))return!0;if(e===Yt.SLL&&i.hasSemanticContext){const h=new Re;for(let a of i.items)a=new Ct({semanticContext:ht.NONE},a),h.add(a);i=h}const s=Yt.getConflictingAltSubsets(i);return Yt.hasConflictingAltSet(s)&&!Yt.hasStateAssociatedWithOneAlt(i)}static hasConfigInRuleStopState(e){for(const i of e.items)if(i.state instanceof Qt)return!0;return!1}static allConfigsInRuleStopStates(e){for(const i of e.items)if(!(i.state instanceof Qt))return!1;return!0}static resolvesToJustOneViableAlt(e){return Yt.getSingleViableAlt(e)}static allSubsetsConflict(e){return!Yt.hasNonConflictingAltSet(e)}static hasNonConflictingAltSet(e){for(const i of e)if(i.length===1)return!0;return!1}static hasConflictingAltSet(e){for(const i of e)if(i.length>1)return!0;return!1}static allSubsetsEqual(e){let i=null;for(const s of e)if(i===null)i=s;else if(s!==i)return!1;return!0}static getUniqueAlt(e){const i=Yt.getAlts(e);return i.length===1?i.nextSetBit(0):g.INVALID_ALT_NUMBER}static getAlts(e){const i=new fe;return e.forEach(s=>{i.or(s)}),i}static getConflictingAltSubsets(e){const i=new w0(s=>xe.hashStuff(s.state.stateNumber,s.context),(s,h)=>{var a;return s.state.stateNumber===h.state.stateNumber&&(((a=s.context)==null?void 0:a.equals(h.context))??!0)});return e.items.forEach(s=>{let h=i.get(s);h===null&&(h=new fe,i.set(s,h)),h.set(s.alt)}),i.getValues()}static getStateToAltMap(e){const i=new w0;return e.items.forEach(s=>{let h=i.get(s.state);h||(h=new fe,i.set(s.state,h)),h.set(s.alt)}),i}static hasStateAssociatedWithOneAlt(e){const i={};return e.items.forEach(s=>{const h=s.state.stateNumber;i[h]||(i[h]=0),i[h]++}),Object.values(i).some(s=>s===1)}static getSingleViableAlt(e){let i=null;for(const s of e){const h=s.nextSetBit(0);if(i===null)i=h;else if(i!==h)return g.INVALID_ALT_NUMBER}return i??0}},I(Yt,"PredictionMode"),R(Yt,"SLL",0),R(Yt,"LL",1),R(Yt,"LL_EXACT_AMBIG_DETECTION",2),Yt),C7=(w=class extends ge{constructor(i,s,h,a){super(s,a);R(this,"predictionMode");R(this,"decisionToDFA");R(this,"parser");R(this,"mergeCache",null);R(this,"_input",null);R(this,"_startIndex",0);R(this,"_outerContext",null);R(this,"_dfa",null);this.parser=i,this.decisionToDFA=h}static getUniqueAlt(i){let s=g.INVALID_ALT_NUMBER;for(const h of i.items)if(s===g.INVALID_ALT_NUMBER)s=h.alt;else if(h.alt!==s)return g.INVALID_ALT_NUMBER;return s}reset(){}clearDFA(){for(let i=0;i"}getTokenName(i){if(i===l.EOF)return"EOF";const h=(this.parser!=null?this.parser.vocabulary:Se.EMPTY_VOCABULARY).getDisplayName(i);return h===i.toString()?h:h+"<"+i+">"}getLookaheadName(i){return this.getTokenName(i.LA(1))}dumpDeadEndConfigs(i){console.log("dead end configs: ");const s=i.deadEndConfigs.items;for(const h of s){let a="no edges";if(h.state.transitions.length>0){const c=h.state.transitions[0];c instanceof O7?a="Atom "+this.getTokenName(c.labelValue):c instanceof H2&&(a=(c instanceof B2?"~":"")+"Set "+c.label)}console.error(h.toString(this.parser,!0)+":"+a)}}predicateDFAState(i,s){const h=s.transitions.length,a=this.getConflictingAltsOrUniqueAlt(i.configs),c=this.getPredsForAmbigAlts(a,i.configs,h);c!==null?(i.predicates=this.getPredicatePredictions(a,c),i.prediction=g.INVALID_ALT_NUMBER):i.prediction=a.nextSetBit(0)}execATNWithFullContext(i,s,h,a,c,r){(w.debug||w.trace_atn_sim)&&console.log("execATNWithFullContext "+h);const E=!0;let K=!1,T,_=h;a.seek(c);let A=a.LA(1),C=-1;for(;;){if(T=this.computeReachSet(_,A,E),T===null){const U=this.noViableAlt(a,r,_,c);a.seek(c);const D=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(_,r);if(D!==g.INVALID_ALT_NUMBER)return D;throw U}const m=Nt.getConflictingAltSubsets(T);if(w.debug&&console.log("LL altSubSets="+m+", predict="+Nt.getUniqueAlt(m)+", resolvesToJustOneViableAlt="+Nt.resolvesToJustOneViableAlt(m)),T.uniqueAlt=w.getUniqueAlt(T),T.uniqueAlt!==g.INVALID_ALT_NUMBER){C=T.uniqueAlt;break}else if(this.predictionMode!==Nt.LL_EXACT_AMBIG_DETECTION){if(C=Nt.resolvesToJustOneViableAlt(m),C!==g.INVALID_ALT_NUMBER)break}else if(Nt.allSubsetsConflict(m)&&Nt.allSubsetsEqual(m)){K=!0,C=Nt.getSingleViableAlt(m);break}_=T,A!==l.EOF&&(a.consume(),A=a.LA(1))}return T.uniqueAlt!==g.INVALID_ALT_NUMBER?(this.reportContextSensitivity(i,C,T,c,a.index),C):(this.reportAmbiguity(i,s,c,a.index,K,null,T),C)}computeReachSet(i,s,h){w.debug&&console.log("in computeReachSet, starting closure: "+i),this.mergeCache===null&&(this.mergeCache=new tr);const a=new Re(h);let c=null;for(const E of i.items){if(w.debug&&console.log("testing "+this.getTokenName(s)+" at "+E),E.state instanceof Qt){(h||s===l.EOF)&&(c===null&&(c=[]),c.push(E));continue}for(const K of E.state.transitions){const T=this.getReachableTarget(K,s);if(T!==null){const _=new Ct({state:T},E);a.add(_,this.mergeCache)}}}let r=null;if(c===null&&s!==l.EOF&&(a.items.length===1||w.getUniqueAlt(a)!==g.INVALID_ALT_NUMBER)&&(r=a),r===null){r=new Re(h);const E=new he,K=s===l.EOF;for(const T of a.items)this.closure(T,r,E,!1,h,K)}if(s===l.EOF&&(r=this.removeAllConfigsNotInRuleStopState(r,r===a)),c!==null&&(!h||!Nt.hasConfigInRuleStopState(r)))for(const E of c)r.add(E,this.mergeCache);return r.items.length===0?null:r}removeAllConfigsNotInRuleStopState(i,s){if(Nt.allConfigsInRuleStopStates(i))return i;const h=new Re(i.fullCtx);for(const a of i.items){if(a.state instanceof Qt){h.add(a,this.mergeCache);continue}if(s&&a.state.epsilonOnlyTransitions&&this.atn.nextTokens(a.state).contains(l.EPSILON)){const r=this.atn.ruleToStopState[a.state.ruleIndex];h.add(new Ct({state:r},a),this.mergeCache)}}return h}computeStartState(i,s,h){const a=D2(this.atn,s),c=new Re(h);for(let r=0;r0&&(r=this.getAltThatFinishedDecisionEntryRule(c),r!==g.INVALID_ALT_NUMBER)?r:g.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(i){const s=[];for(const h of i.items)(h.reachesIntoOuterContext>0||h.state instanceof Qt&&h.context.hasEmptyPath())&&s.indexOf(h.alt)<0&&s.push(h.alt);return s.length===0?g.INVALID_ALT_NUMBER:Math.min(...s)}splitAccordingToSemanticValidity(i,s){const h=new Re(i.fullCtx),a=new Re(i.fullCtx);for(const c of i.items)c.semanticContext!==ht.NONE?c.semanticContext.evaluate(this.parser,s)?h.add(c):a.add(c):h.add(c);return[h,a]}evalSemanticContext(i,s,h){const a=new fe;for(const c of i){if(c.pred===ht.NONE){if(a.set(c.alt),!h)break;continue}const r=c.pred.evaluate(this.parser,s);if((w.debug||w.dfa_debug)&&console.log("eval pred "+c+"="+r),r&&((w.debug||w.dfa_debug)&&console.log("PREDICT "+c.alt),a.set(c.alt),!h))break}return a}closure(i,s,h,a,c,r){this.closureCheckingStopState(i,s,h,a,c,0,r)}closureCheckingStopState(i,s,h,a,c,r,E){if(i.state instanceof Qt)if(i.context&&!i.context.isEmpty()){for(let K=0;K=0&&(U+=1)}this.closureCheckingStopState(m,s,h,C,c,U,E)}}}canDropLoopEntryEdgeInLeftRecursiveRule(i){const s=i.state;if(s.stateType!==Z.STAR_LOOP_ENTRY||!i.context||!s.precedenceRuleDecision||i.context.isEmpty()||i.context.hasEmptyPath())return!1;const h=i.context.length;for(let E=0;E=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+b0(this.parser.getRuleInvocationStack())));let r=null;if(h&&a)if(c&&this._input){const E=this._input.index;this._input.seek(this._startIndex);const K=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(E),K&&(r=new Ct({state:s.target},i))}else{const E=ht.andContext(i.semanticContext,s.getPredicate());r=new Ct({state:s.target,semanticContext:E},i)}else r=new Ct({state:s.target},i);return w.debug&&console.log("config from pred transition="+r),r}predTransition(i,s,h,a,c){w.debug&&(console.log("PRED (collectPredicates="+h+") "+s.ruleIndex+":"+s.predIndex+", ctx dependent="+s.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+b0(this.parser.getRuleInvocationStack())));let r=null;if(h&&(s.isCtxDependent&&a||!s.isCtxDependent))if(c&&this._input){const E=this._input.index;this._input.seek(this._startIndex);const K=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(E),K&&(r=new Ct({state:s.target},i))}else{const E=ht.andContext(i.semanticContext,s.getPredicate());r=new Ct({state:s.target,semanticContext:E},i)}else r=new Ct({state:s.target},i);return w.debug&&console.log("config from pred transition="+r),r}ruleTransition(i,s){w.debug&&console.log("CALL rule "+this.getRuleName(s.target.ruleIndex)+", ctx="+i.context);const h=s.followState,a=ae.create(i.context,h.stateNumber);return new Ct({state:s.target,context:a},i)}getConflictingAlts(i){const s=Nt.getConflictingAltSubsets(i);return Nt.getAlts(s)}getConflictingAltsOrUniqueAlt(i){let s;return i.uniqueAlt!==g.INVALID_ALT_NUMBER?(s=new fe,s.set(i.uniqueAlt)):s=i.conflictingAlts,s}noViableAlt(i,s,h,a){return new L(this.parser,i,i.get(a),i.LT(1),h,s)}addDFAEdge(i,s,h,a){return w.debug&&console.log("EDGE "+s+" -> "+a+" upon "+this.getTokenName(h)),a===null?null:(a=this.addDFAState(i,a),s===null||h<-1||h>this.atn.maxTokenType||(s.edges===null&&(s.edges=new Array(this.atn.maxTokenType+2),s.edges.fill(null)),s.edges[h+1]=a,w.debug&&console.log(`DFA= +`+i.toString(this.parser!=null?this.parser.vocabulary:Se.EMPTY_VOCABULARY))),a)}addDFAState(i,s){if(s===ge.ERROR)return s;const h=i.states.get(s);return h!==null?h:(s.stateNumber=i.states.length,s.configs.readOnly||(s.configs.optimizeConfigs(this),s.configs.setReadonly(!0)),i.states.add(s),w.debug&&console.log("adding new DFA state: "+s),s)}reportAttemptingFullContext(i,s,h,a,c){if(w.debug||w.retry_debug){const r=new P(a,c+1);console.log("reportAttemptingFullContext decision="+i.decision+":"+h+", input="+this.parser.tokenStream.getText(r))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,i,a,c,s,h)}reportContextSensitivity(i,s,h,a,c){if(w.debug||w.retry_debug){const r=new P(a,c+1);console.log("reportContextSensitivity decision="+i.decision+":"+h+", input="+this.parser.tokenStream.getText(r))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,i,a,c,s,h)}reportAmbiguity(i,s,h,a,c,r,E){if(w.debug||w.retry_debug){const K=new P(h,a+1);console.log("reportAmbiguity "+r+":"+E+", input="+this.parser.tokenStream.getText(K))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,i,h,a,c,r,E)}},I(w,"ParserATNSimulator"),R(w,"debug"),R(w,"trace_atn_sim",!1),R(w,"debug_add",!1),R(w,"debug_closure",!1),R(w,"dfa_debug",!1),R(w,"retry_debug",!1),w),Ti=(Xs=class{constructor(){R(this,"cache",new w0)}add(e){if(e===M.EMPTY)return M.EMPTY;const i=this.cache.get(e)||null;return i!==null?i:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}},I(Xs,"PredictionContextCache"),Xs),_i=(Qs=class{constructor(e,i,s,h,a,c){R(this,"decision");R(this,"configs");R(this,"input");R(this,"startIndex");R(this,"stopIndex");R(this,"fullCtx");this.decision=e,this.configs=i,this.input=s,this.startIndex=h,this.stopIndex=a,this.fullCtx=c}},I(Qs,"DecisionEventInfo"),Qs),er=(Zs=class extends _i{constructor(i,s,h,a,c,r,E){super(i,s,a,c,r,E);R(this,"ambigAlts");this.ambigAlts=h}},I(Zs,"AmbiguityInfo"),Zs),$5=(Js=class extends _i{constructor(e,i,s,h,a){super(e,i,s,h,a,!0)}},I(Js,"ContextSensitivityInfo"),Js),ir=(zs=class{constructor(e){R(this,"decision",0);R(this,"invocations",0);R(this,"timeInPrediction",0);R(this,"SLL_TotalLook",0);R(this,"SLL_MinLook",0);R(this,"SLL_MaxLook",0);R(this,"SLL_MaxLookEvent");R(this,"LL_TotalLook",0);R(this,"LL_MinLook",0);R(this,"LL_MaxLook",0);R(this,"LL_MaxLookEvent");R(this,"contextSensitivities");R(this,"errors");R(this,"ambiguities");R(this,"predicateEvals");R(this,"SLL_ATNTransitions",0);R(this,"SLL_DFATransitions",0);R(this,"LL_Fallback",0);R(this,"LL_ATNTransitions",0);R(this,"LL_DFATransitions",0);this.decision=e,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},I(zs,"DecisionInfo"),zs),Y2=(js=class extends _i{constructor(e,i,s,h,a,c){super(e,i,s,h,a,c)}},I(js,"ErrorInfo"),js),M5=($s=class extends _i{constructor(i,s,h,a,c,r,E){super(i,s,a,c,r,E);R(this,"predictedAlt");this.predictedAlt=h}},I($s,"LookaheadEventInfo"),$s),V2=(Ms=class extends C7{constructor(i){const s=i.interpreter.getSharedContextCache();super(i,i.interpreter.atn,i.interpreter.decisionToDFA,s);R(this,"decisions");R(this,"numDecisions",0);R(this,"currentDecision",0);R(this,"currentState");R(this,"conflictingAltResolvedBySLL");tt(this,t0,0);tt(this,e0,0);if(s){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let h=0;hthis.decisions[s].SLL_MaxLook&&(this.decisions[s].SLL_MaxLook=E,this.decisions[s].SLL_MaxLookEvent=new M5(s,null,c,i,this._startIndex,p(this,t0),!1)),p(this,e0)>=0){const K=p(this,e0)-this._startIndex+1;this.decisions[s].LL_TotalLook+=K,this.decisions[s].LL_MinLook=this.decisions[s].LL_MinLook===0?K:Math.min(this.decisions[s].LL_MinLook,K),K>this.decisions[s].LL_MaxLook&&(this.decisions[s].LL_MaxLook=K,this.decisions[s].LL_MaxLookEvent=new M5(s,null,c,i,this._startIndex,p(this,e0),!0))}return c}finally{this.currentDecision=-1}}getExistingTargetState(i,s){if(this._input){$(this,t0,this._input.index);const h=super.getExistingTargetState(i,s);return h!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,h===ge.ERROR&&this.decisions[this.currentDecision].errors.push(new Y2(this.currentDecision,i.configs,this._input,this._startIndex,p(this,t0),!1))),this.currentState=h,h}return null}computeTargetState(i,s,h){const a=super.computeTargetState(i,s,h);return this.currentState=a,a}computeReachSet(i,s,h){h&&this._input&&$(this,e0,this._input.index);const a=super.computeReachSet(i,s,h);return this._input&&(h?(this.decisions[this.currentDecision].LL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new Y2(this.currentDecision,i,this._input,this._startIndex,p(this,e0),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new Y2(this.currentDecision,i,this._input,this._startIndex,p(this,t0),!1)))),a}reportAttemptingFullContext(i,s,h,a,c){s!==null?this.conflictingAltResolvedBySLL=s.nextSetBit(0):this.conflictingAltResolvedBySLL=h.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,s&&super.reportAttemptingFullContext(i,s,h,a,c)}reportContextSensitivity(i,s,h,a,c){s!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new $5(this.currentDecision,h,this._input,a,c)),super.reportContextSensitivity(i,s,h,a,c)}reportAmbiguity(i,s,h,a,c,r,E){let K;r!==null?K=r.nextSetBit(0):K=E.getAlts().nextSetBit(0),this._input&&(E.fullCtx&&K!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new $5(this.currentDecision,E,this._input,h,a)),this.decisions[this.currentDecision].ambiguities.push(new er(this.currentDecision,E,r,this._input,h,a,E.fullCtx))),super.reportAmbiguity(i,s,h,a,c,r,E)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},t0=new WeakMap,e0=new WeakMap,I(Ms,"ProfilingATNSimulator"),Ms);Ps=class{constructor(e){R(this,"atnSimulator");this.atnSimulator=e}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const e=this.atnSimulator.getDecisionInfo(),i=[];for(let s=0;s0&&i.push(s);return i}getTotalTimeInPrediction(){const e=this.atnSimulator.getDecisionInfo();let i=0;for(let s=0;s0?s:void 0,modes:h.length>0?h:void 0}}},I(qs,"InterpreterDataReader"),tn=class{visit(e){return e.accept(this)}visitChildren(e){let i=this.defaultResult();const s=e.getChildCount();for(let h=0;h=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(e){if(e===0)return 0;e<0&&(e+=1);const i=this.index+e-1;return i<0||i>=this.data.length?l.EOF:this.data[i]}mark(){return-1}release(e){}seek(e){if(e<=this.index){this.index=e;return}this.index=Math.min(e,this.data.length)}getText(e,i){let s,h;return e instanceof P?(s=e.start,h=e.stop):(s=e,h=i??this.data.length-1),h>=this.data.length&&(h=this.data.length-1),s>=this.data.length?"":A3(this,en,I3).call(this,s,h+1)}toString(){return A3(this,en,I3).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:A7.UNKNOWN_SOURCE_NAME}},en=new WeakSet,I3=function(e,i){const s=this.data.slice(e,i);let h="";return s.forEach(a=>{h+=String.fromCodePoint(a)}),h},I(sn,"CharStreamImpl"),sn),X2=(nn=class{static fromString(e){return new nr(e)}},I(nn,"CharStreams"),nn),hr=(hn=class{constructor(e){R(this,"tokenSource");R(this,"tokens",[]);R(this,"p",-1);R(this,"fetchedEOF",!1);this.tokenSource=e}mark(){return 0}release(e){}reset(){this.seek(0)}seek(e){this.lazyInit(),this.p=this.adjustSeekIndex(e)}get size(){return this.tokens.length}get index(){return this.p}get(e){return this.lazyInit(),this.tokens[e]}consume(){let e=!1;if(this.p>=0?this.fetchedEOF?e=this.p0?this.fetch(i)>=i:!0}fetch(e){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length||i<0||e>=this.tokens.length)throw new RangeError("start "+e+" or stop "+i+" not in 0.."+(this.tokens.length-1));if(e>i)return[];if(s===void 0)return this.tokens.slice(e,i+1);const h=[];i>=this.tokens.length&&(i=this.tokens.length-1);for(let a=e;a=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(e){return e}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(e,i){if(this.sync(e),e>=this.tokens.length)return-1;let s=this.tokens[e];for(;s.channel!==i;){if(s.type===l.EOF)return-1;e+=1,this.sync(e),s=this.tokens[e]}return e}previousTokenOnChannel(e,i){for(;e>=0&&this.tokens[e].channel!==i;)e-=1;return e}getHiddenTokensToRight(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const s=this.nextTokenOnChannel(e+1,ce.DEFAULT_TOKEN_CHANNEL),h=e+1,a=s===-1?this.tokens.length-1:s;return this.filterForChannel(h,a,i)}getHiddenTokensToLeft(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const s=this.previousTokenOnChannel(e-1,ce.DEFAULT_TOKEN_CHANNEL);if(s===e-1)return null;const h=s+1,a=e-1;return this.filterForChannel(h,a,i)}filterForChannel(e,i,s){const h=[];for(let a=e;a=this.tokens.length&&(h=this.tokens.length-1);let a="";for(let c=s;c<=h;c++){const r=this.tokens[c];if(r.type===l.EOF)break;a+=r.text}return a.toString()}else{const i=e[0];return this.getText(i.getSourceInterval())}case 2:{const i=e[0],s=e[1];return i!==null&&s!==null?this.getText(P.of(i.tokenIndex,s.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},I(hn,"BufferedTokenStream"),hn),N7=(an=class extends hr{constructor(i,s){super(i);R(this,"channel",l.DEFAULT_CHANNEL);this.channel=s??l.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(i){if(i===0||this.index-i<0)return null;let s=this.index,h=1;for(;h<=i;)s=this.previousTokenOnChannel(s-1,this.channel),h+=1;return s<0?null:this.tokens[s]}LT(i){if(this.lazyInit(),i===0)return null;if(i<0)return this.LB(-i);let s=this.index,h=1;for(;hnew Y0(e,i))),Q),ar=(cn=class extends I7{syntaxError(e,i,s,h,a,c){}},I(cn,"XPathLexerErrorListener"),cn),p1=(on=class{constructor(e){R(this,"invert");R(this,"nodeName");this.nodeName=e,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(on,"XPathElement"),on),cr=(rn=class extends p1{constructor(i,s){super(i);R(this,"ruleIndex");this.ruleIndex=s}evaluate(i){return E0.findAllRuleNodes(i,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(rn,"XPathRuleAnywhereElement"),rn),or=(En=class extends p1{constructor(i,s){super(i);R(this,"ruleIndex");this.ruleIndex=s}evaluate(i){const s=[];for(const h of E0.getChildren(i))h instanceof W&&(h.ruleIndex===this.ruleIndex&&!this.invert||h.ruleIndex!==this.ruleIndex&&this.invert)&&s.push(h);return s}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(En,"XPathRuleElement"),En),rr=(Kn=class extends p1{constructor(i,s){super(i);R(this,"tokenType");this.tokenType=s}evaluate(i){return E0.findAllTokenNodes(i,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(Kn,"XPathTokenAnywhereElement"),Kn),Er=(Wn=class extends p1{constructor(i,s){super(i);R(this,"tokenType");this.tokenType=s}evaluate(i){const s=[];for(const h of E0.getChildren(i))h instanceof Ye&&h.symbol&&(h.symbol.type===this.tokenType&&!this.invert||h.symbol.type!==this.tokenType&&this.invert)&&s.push(h);return s}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(Wn,"XPathTokenElement"),Wn),Kr=(un=class extends p1{constructor(){super(y5.WILDCARD)}evaluate(e){return this.invert?[]:E0.descendants(e)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(un,"XPathWildcardAnywhereElement"),un),Wr=(Rn=class extends p1{constructor(){super(y5.WILDCARD)}evaluate(e){const i=[];if(this.invert)return i;for(const s of E0.getChildren(e))i.push(s);return i}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},I(Rn,"XPathWildcardElement"),Rn),y5=(k0=class{constructor(e,i){R(this,"path");R(this,"elements");R(this,"parser");this.parser=e,this.path=i,this.elements=this.split(i)}static findAll(e,i,s){return new k0(s,i).evaluate(e)}split(e){const i=new Te(X2.fromString(e));i.recover=E=>{throw E},i.removeErrorListeners(),i.addErrorListener(new ar);const s=new N7(i);try{s.fill()}catch(E){if(E instanceof Ei){const T="Invalid tokens or characters at index "+i.column+" in path '"+e+"' -- "+E.message;throw new RangeError(T)}throw E}const h=s.getTokens(),a=[],c=h.length;let r=0;t:for(;r0&&this.elements[h].evaluate(c).forEach(E=>{a.add(E)},a);h++,s=a}return s}getXPathElement(e,i){if(e.type===l.EOF)throw new Error("Missing path element at end of path");const s=e.text;if(s==null)throw new Error("Expected wordToken to have text content.");const h=this.parser.getTokenType(s),a=this.parser.getRuleIndex(s);switch(e.type){case Te.WILDCARD:return i?new Kr:new Wr;case Te.TOKEN_REF:case Te.STRING:if(h===l.INVALID_TYPE)throw new Error(s+" at index "+e.start+" isn't a valid token name");return i?new rr(s,h):new Er(s,h);default:if(a===-1)throw new Error(s+" at index "+e.start+" isn't a valid rule name");return i?new cr(s,a):new or(s,a)}}},I(k0,"XPath"),R(k0,"WILDCARD","*"),R(k0,"NOT","!"),k0),W0=(Tn=class extends u{constructor(e){super({message:"",recognizer:e,input:e.inputStream,ctx:e.context}),this.offendingToken=e.getCurrentToken()}},I(Tn,"InputMismatchException"),Tn),d7=(_n=class extends u{constructor(i,s,h=null){super({message:ur(s??"no predicate",h??null),recognizer:i,input:i.inputStream,ctx:i.context});R(this,"ruleIndex",0);R(this,"predicateIndex",0);R(this,"predicate");const c=i.atn.states[i.state].transitions[0];c instanceof j5?(this.ruleIndex=c.ruleIndex,this.predicateIndex=c.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=s,this.offendingToken=i.getCurrentToken()}},I(_n,"FailedPredicateException"),_n),ur=I((n,e)=>e!==null?e:"failed predicate: {"+n+"}?","formatMessage"),Q2=(An=class{constructor(){R(this,"errorRecoveryMode",!1);R(this,"lastErrorIndex",-1);R(this,"lastErrorStates",new Ht);R(this,"nextTokensContext",null);R(this,"nextTokenState",0)}reset(e){this.endErrorCondition(e)}beginErrorCondition(e){this.errorRecoveryMode=!0}inErrorRecoveryMode(e){return this.errorRecoveryMode}endErrorCondition(e){this.errorRecoveryMode=!1,this.lastErrorStates=new Ht,this.lastErrorIndex=-1}reportMatch(e){this.endErrorCondition(e)}reportError(e,i){this.inErrorRecoveryMode(e)||(this.beginErrorCondition(e),i instanceof L?this.reportNoViableAlternative(e,i):i instanceof W0?this.reportInputMismatch(e,i):i instanceof d7?this.reportFailedPredicate(e,i):e.notifyErrorListeners(i.message,i.offendingToken,i))}recover(e,i){this.lastErrorIndex===e.inputStream.index&&this.lastErrorStates.contains(e.state)&&e.consume(),this.lastErrorIndex=e.inputStream.index,this.lastErrorStates.addOne(e.state);const s=this.getErrorRecoverySet(e);this.consumeUntil(e,s)}sync(e){if(this.inErrorRecoveryMode(e))return;const i=e.atn.states[e.state],s=e.tokenStream.LA(1),h=e.atn.nextTokens(i);if(h.contains(s)){this.nextTokensContext=null,this.nextTokenState=Ue.INVALID_STATE_NUMBER;return}else if(h.contains(l.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=e.context,this.nextTokenState=e.state);return}switch(i.stateType){case Z.BLOCK_START:case Z.STAR_BLOCK_START:case Z.PLUS_BLOCK_START:case Z.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(e)!==null)return;throw new W0(e);case Z.PLUS_LOOP_BACK:case Z.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const a=new Ht;a.addSet(e.getExpectedTokens());const c=a.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,c)}break}}reportNoViableAlternative(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const s=e.tokenStream;let h;s!==null&&i.startToken?i.startToken.type===l.EOF?h="":h=s.getText(new P(i.startToken.tokenIndex,i.offendingToken.tokenIndex)):h="";const a="no viable alternative at input "+this.escapeWSAndQuote(h);e.notifyErrorListeners(a,i.offendingToken,i)}reportInputMismatch(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const s="mismatched input "+this.getTokenErrorDisplay(i.offendingToken)+" expecting "+i.getExpectedTokens().toString(e.vocabulary);e.notifyErrorListeners(s,i.offendingToken,i)}reportFailedPredicate(e,i){const h="rule "+e.ruleNames[e.context.ruleIndex]+" "+i.message;e.notifyErrorListeners(h,i.offendingToken,i)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),s=this.getTokenErrorDisplay(i),h=this.getExpectedTokens(e),a="extraneous input "+s+" expecting "+h.toString(e.vocabulary);e.notifyErrorListeners(a,i,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),h="missing "+this.getExpectedTokens(e).toString(e.vocabulary)+" at "+this.getTokenErrorDisplay(i);e.notifyErrorListeners(h,i,null)}recoverInline(e){const i=this.singleTokenDeletion(e);if(i!==null)return e.consume(),i;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new W0(e)}singleTokenInsertion(e){const i=e.tokenStream.LA(1),s=e.atn,a=s.states[e.state].transitions[0].target;return s.nextTokens(a,e.context).contains(i)?(this.reportMissingToken(e),!0):!1}singleTokenDeletion(e){const i=e.tokenStream.LA(2);if(this.getExpectedTokens(e).contains(i)){this.reportUnwantedToken(e),e.consume();const h=e.getCurrentToken();return this.reportMatch(e),h}else return null}getMissingSymbol(e){const i=e.getCurrentToken(),s=this.getExpectedTokens(e);let h=l.INVALID_TYPE;s.isNil||(h=s.minElement);let a;h===l.EOF?a="":a="";let c=i;const r=e.tokenStream.LT(-1);return c.type===l.EOF&&r!==null&&(c=r),e.getTokenFactory().create(c.source,h,a,l.DEFAULT_CHANNEL,-1,-1,c.line,c.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(e){if(e===null)return"";let i=e.text;return i===null&&(e.type===l.EOF?i="":i="<"+e.type+">"),this.escapeWSAndQuote(i)}escapeWSAndQuote(e){return e=e.replace(/\n/g,"\\n"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\t/g,"\\t"),"'"+e+"'"}getErrorRecoverySet(e){const i=e.atn;let s=e.context;const h=new Ht;for(;s!==null&&s.invokingState>=0;){const c=i.states[s.invokingState].transitions[0],r=i.nextTokens(c.followState);h.addSet(r),s=s.parent}return h.removeOne(l.EPSILON),h}consumeUntil(e,i){let s=e.tokenStream.LA(1);for(;s!==l.EOF&&!i.contains(s);)e.consume(),s=e.tokenStream.LA(1)}},I(An,"DefaultErrorStrategy"),An);In=class extends Q2{recover(e,i){let s=e.context;for(;s!==null;)s.exception=i,s=s.parent;throw new P5(i)}recoverInline(e){const i=new W0(e);let s=e.context;for(;s!==null;)s.exception=i,s=s.parent;throw new P5(i)}sync(e){}},I(In,"BailErrorStrategy"),Ln=class extends I7{constructor(i){super();R(this,"exactOnly");R(this,"reportAmbiguity",(i,s,h,a,c,r,E)=>{if(this.exactOnly&&!c)return;const K=this.getDecisionDescription(i,s),T=this.getConflictingAlts(r,E),_=i.tokenStream.getText(P.of(h,a)),A=`reportAmbiguity d=${K}: ambigAlts=${T}, input='${_}'`;i.notifyErrorListeners(A,null,null)});R(this,"reportAttemptingFullContext",(i,s,h,a,c,r)=>{const E=this.getDecisionDescription(i,s),K=i.tokenStream.getText(P.of(h,a)),T=`reportAttemptingFullContext d=${E}, input='${K}'`;i.notifyErrorListeners(T,null,null)});R(this,"reportContextSensitivity",(i,s,h,a,c,r)=>{const E=this.getDecisionDescription(i,s),K=i.tokenStream.getText(P.of(h,a)),T=`reportContextSensitivity d=${E}, input='${K}'`;i.notifyErrorListeners(T,null,null)});R(this,"getDecisionDescription",(i,s)=>{const h=s.decision,a=s.atnStartState.ruleIndex,c=i.ruleNames;if(a<0||a>=c.length)return h.toString();const r=c[a];return r.length===0?h.toString():`${h} (${r})`});R(this,"getConflictingAlts",(i,s)=>{if(i!==null)return i;const h=new fe;for(let a=0;a{super(...AR);tt(this,On,void 0)};h!==void 0?n(s,h):n(),$(this,On,i)}get ruleIndex(){return p(this,On)}},On=new WeakMap,I(Cn,"InterpreterRuleContext"),Cn);gn=class extends ce{constructor(i,s,h,a,c,r,E){super(E);tt(this,Nn,void 0);tt(this,dn,void 0);tt(this,ln,void 0);tt(this,mn,void 0);tt(this,pn,void 0);tt(this,xn,void 0);tt(this,fn,void 0);tt(this,i2,new Ti);if(r.grammarType!==Wi.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");$(this,Nn,i),$(this,dn,r),$(this,ln,h.slice(0)),$(this,mn,a.slice(0)),$(this,pn,c.slice(0)),$(this,xn,s),$(this,fn,r.decisionToState.map((K,T)=>new Y0(K,T))),this.interpreter=new V0(this,r,p(this,fn),p(this,i2))}get atn(){return p(this,dn)}get grammarFileName(){return p(this,Nn)}get ruleNames(){return p(this,ln)}get channelNames(){return p(this,mn)}get modeNames(){return p(this,pn)}get vocabulary(){return p(this,xn)}},Nn=new WeakMap,dn=new WeakMap,ln=new WeakMap,mn=new WeakMap,pn=new WeakMap,xn=new WeakMap,fn=new WeakMap,i2=new WeakMap,I(gn,"LexerInterpreter");var Tr=(Un=class{constructor(e){R(this,"parser");this.parser=e}enterEveryRule(e){console.log("enter "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(e){console.log("consume "+e.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(e){console.log("exit "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(e){}},I(Un,"TraceListener"),Un),q5=(Dn=class extends F5{constructor(i){super();R(this,"printer",null);R(this,"buildParseTrees",!0);R(this,"errorHandler",new Q2);R(this,"context",null);R(this,"_input",null);R(this,"_precedenceStack",[]);R(this,"_parseListeners",null);R(this,"_syntaxErrors",0);R(this,"matchedEOF",!1);R(this,"_tracer",null);R(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=i}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(i){let s=this.getCurrentToken();return s.type===i?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}matchWildcard(){let i=this.getCurrentToken();return i.type>0?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}getParseListeners(){return this._parseListeners??[]}addParseListener(i){if(i===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(i)}removeParseListener(i){if(this._parseListeners!==null&&i!==null){const s=this._parseListeners.indexOf(i);s>=0&&this._parseListeners.splice(s,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.forEach(s=>{s.enterEveryRule(i),i.enterRule(s)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.slice(0).reverse().forEach(s=>{i.exitRule(s),s.exitEveryRule(i)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(i){this._input.getTokenSource().tokenFactory=i}getATNWithBypassAlts(){const i=this.getSerializedATN();if(i===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const s=new V5;return s.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new Ri(s).deserialize(i),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(i){this._input=null,this.reset(),this._input=i}get inputStream(){return this._input}set inputStream(i){this.tokenStream=i}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(i,s,h){s=s??null,h=h??null,s===null&&(s=this.getCurrentToken()),this._syntaxErrors+=1;const a=s.line,c=s.column;this.getErrorListenerDispatch().syntaxError(this,s,a,c,i,h)}consume(){const i=this.getCurrentToken();i.type!==l.EOF&&this.tokenStream.consume();const s=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||s){let h;this.errorHandler.inErrorRecoveryMode(this)?h=this.context.addErrorNode(this.createErrorNode(this.context,i)):h=this.context.addTokenNode(i),s&&this._parseListeners.forEach(a=>{h instanceof Ki?a.visitErrorNode(h):a.visitTerminal(h)})}return i}addContextToParseTree(){var i;((i=this.context)==null?void 0:i.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(i,s,h){this.state=s,this.context=i,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(i,s){i.setAltNumber(s),this.buildParseTrees&&this.context!==i&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(i)),this.context=i}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(i,s,h,a){this.state=s,this._precedenceStack.push(a),this.context=i,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(i,s,h){const a=this.context;a.parent=i,a.invokingState=s,a.stop=this._input.LT(-1),this.context=i,this.context.start=a.start,this.buildParseTrees&&this.context.addChild(a),this.triggerEnterRuleEvent()}unrollRecursionContexts(i){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const s=this.context,h=this.getParseListeners();if(h!==null&&h.length>0)for(;this.context!==i;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=i;s.parent=i,this.buildParseTrees&&i!==null&&i.addChild(s)}getInvokingContext(i){let s=this.context;for(;s!==null;){if(s.ruleIndex===i)return s;s=s.parent}return null}precpred(i,s){return s>=this._precedenceStack[this._precedenceStack.length-1]}inContext(i){return!1}isExpectedToken(i){const s=this.interpreter.atn;let h=this.context;const a=s.states[this.state];let c=s.nextTokens(a);if(c.contains(i))return!0;if(!c.contains(l.EPSILON))return!1;for(;h!==null&&h.invokingState>=0&&c.contains(l.EPSILON);){const E=s.states[h.invokingState].transitions[0];if(c=s.nextTokens(E.followState),c.contains(i))return!0;h=h.parent}return!!(c.contains(l.EPSILON)&&i===l.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const i=this.interpreter.atn,s=i.states[this.state];return i.nextTokens(s)}getRuleIndex(i){const s=this.getRuleIndexMap().get(i);return s??-1}getRuleInvocationStack(i){i=i??null,i===null&&(i=this.context);const s=[];for(;i!==null;){const h=i.ruleIndex;h<0?s.push("n/a"):s.push(this.ruleNames[h]),i=i.parent}return s}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let i=!1;for(const s of this.interpreter.decisionToDFA)s.states.length>0&&(i&&console.log(),this.printer&&(this.printer.println("Decision "+s.decision+":"),this.printer.print(s.toString(this.vocabulary))),i=!0)}getSourceName(){return this._input.getSourceName()}setProfile(i){const s=this.interpreter,h=s.predictionMode;if(i)s instanceof V2||(this.interpreter=new V2(this));else if(s instanceof V2){const a=s.getSharedContextCache();if(a){const c=new C7(this,this.atn,s.decisionToDFA,a);this.interpreter=c}}this.interpreter.predictionMode=h}setTrace(i){i?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new Tr(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(i,s){return new Ye(s)}createErrorNode(i,s){return new Ki(s)}},I(Dn,"Parser"),Dn);Fn=class extends q5{constructor(i,s,h,a,c){super(c);R(this,"_rootContext");R(this,"_parentContextStack",[]);R(this,"overrideDecision",-1);R(this,"overrideDecisionInputIndex",-1);R(this,"overrideDecisionAlt",-1);R(this,"overrideDecisionReached",!1);R(this,"_overrideDecisionRoot",null);tt(this,kn,void 0);tt(this,le,void 0);tt(this,Sn,void 0);tt(this,Hn,void 0);tt(this,Bn,void 0);tt(this,s2,new Ti);tt(this,q1,void 0);$(this,kn,i),$(this,le,a),$(this,Sn,h.slice(0)),$(this,Hn,s),$(this,q1,new fe);for(const r of a.states)r instanceof K0&&r.precedenceRuleDecision&&p(this,q1).set(r.stateNumber);$(this,Bn,a.decisionToState.map((r,E)=>new Y0(r,E))),this.interpreter=new C7(this,a,p(this,Bn),p(this,s2))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return p(this,le)}get vocabulary(){return p(this,Hn)}get ruleNames(){return p(this,Sn)}get grammarFileName(){return p(this,kn)}get atnState(){return p(this,le).states[this.state]}parse(i){var h;const s=p(this,le).ruleToStartState[i];for(this._rootContext=this.createInterpreterRuleContext(null,Ue.INVALID_STATE_NUMBER,i),s.isPrecedenceRule?this.enterRecursionRule(this._rootContext,s.stateNumber,i,0):this.enterRule(this._rootContext,s.stateNumber,i);;){const a=this.atnState;switch(a.stateType){case Z.RULE_STOP:if((h=this.context)!=null&&h.isEmpty)if(s.isPrecedenceRule){const c=this.context,r=this._parentContextStack.pop();return this.unrollRecursionContexts(r[0]),c}else return this.exitRule(),this._rootContext;this.visitRuleStopState(a);break;default:try{this.visitState(a)}catch(c){if(c instanceof u)this.state=p(this,le).ruleToStopState[a.ruleIndex].stateNumber,this.context.exception=c,this.errorHandler.reportError(this,c),this.recover(c);else throw c}break}}}addDecisionOverride(i,s,h){this.overrideDecision=i,this.overrideDecisionInputIndex=s,this.overrideDecisionAlt=h}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(i,s,h,a){this._parentContextStack.push([this.context,i.invokingState]),super.enterRecursionRule(i,s,h,a)}visitState(i){let s=1;i instanceof v0&&(s=this.visitDecisionState(i));const h=i.transitions[s-1];switch(h.serializationType){case G.EPSILON:if(p(this,q1).get(i.stateNumber)&&!(h.target instanceof X0)){const T=this._parentContextStack[this._parentContextStack.length-1],_=this.createInterpreterRuleContext(T[0],T[1],this.context.ruleIndex);this.pushNewRecursionContext(_,p(this,le).ruleToStartState[i.ruleIndex].stateNumber,this.context.ruleIndex)}break;case G.ATOM:this.match(h.label.minElement);break;case G.RANGE:case G.SET:case G.NOT_SET:h.matches(this._input.LA(1),l.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case G.WILDCARD:this.matchWildcard();break;case G.RULE:const a=h.target,c=a.ruleIndex,r=this.createInterpreterRuleContext(this.context,i.stateNumber,c);a.isPrecedenceRule?this.enterRecursionRule(r,a.stateNumber,c,h.precedence):this.enterRule(r,h.target.stateNumber,c);break;case G.PREDICATE:const E=h;if(!this.sempred(this.context,E.ruleIndex,E.predIndex))throw new d7(this);break;case G.ACTION:const K=h;this.action(this.context,K.ruleIndex,K.actionIndex);break;case G.PRECEDENCE:if(!this.precpred(this.context,h.precedence)){const T=h.precedence;throw new d7(this,`precpred(_ctx, ${T})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=h.target.stateNumber}visitDecisionState(i){let s=1;if(i.transitions.length>1){this.errorHandler.sync(this);const h=i.decision;h===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(s=this.overrideDecisionAlt,this.overrideDecisionReached=!0):s=this.interpreter.adaptivePredict(this._input,h,this.context)}return s}createInterpreterRuleContext(i,s,h){return new Rr(h,i,s)}visitRuleStopState(i){if(p(this,le).ruleToStartState[i.ruleIndex].isPrecedenceRule){const[a,c]=this._parentContextStack.pop();this.unrollRecursionContexts(a),this.state=c}else this.exitRule();const h=p(this,le).states[this.state].transitions[0];this.state=h.followState.stateNumber}recover(i){const s=this._input.index;if(this.errorHandler.recover(this,i),this._input.index===s){const h=i.offendingToken;if(!h)throw new Error("Expected exception to have an offending token");const a=h.tokenSource,c=(a==null?void 0:a.inputStream)??null,r=[a,c];if(i instanceof W0){const E=i.getExpectedTokens();if(!E)throw new Error("Expected the exception to provide expected tokens");let K=l.INVALID_TYPE;E.isNil||(K=E.minElement);const T=this.getTokenFactory().create(r,K,h.text,l.DEFAULT_CHANNEL,-1,-1,h.line,h.column);this.context.addErrorNode(this.createErrorNode(this.context,T))}else{const E=this.getTokenFactory().create(r,l.INVALID_TYPE,h.text,l.DEFAULT_CHANNEL,-1,-1,h.line,h.column);this.context.addErrorNode(this.createErrorNode(this.context,E))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},kn=new WeakMap,le=new WeakMap,Sn=new WeakMap,Hn=new WeakMap,Bn=new WeakMap,s2=new WeakMap,q1=new WeakMap,I(Fn,"ParserInterpreter"),Pt=class{constructor(e){R(this,"tokens");R(this,"programs",new Map);R(this,"lastRewriteTokenIndexes");this.tokens=e}getTokenStream(){return this.tokens}insertAfter(e,i,s=Pt.DEFAULT_PROGRAM_NAME){let h;typeof e=="number"?h=e:h=e.tokenIndex;const a=this.getProgram(s),c=new ea(this.tokens,h,a.length,i);a.push(c)}insertBefore(e,i,s=Pt.DEFAULT_PROGRAM_NAME){let h;typeof e=="number"?h=e:h=e.tokenIndex;const a=this.getProgram(s),c=new x1(this.tokens,h,a.length,i);a.push(c)}replaceSingle(e,i,s=Pt.DEFAULT_PROGRAM_NAME){this.replace(e,e,i,s)}replace(e,i,s,h=Pt.DEFAULT_PROGRAM_NAME){if(typeof e!="number"&&(e=e.tokenIndex),typeof i!="number"&&(i=i.tokenIndex),e>i||e<0||i<0||i>=this.tokens.size)throw new RangeError(`replace: range invalid: ${e}..${i}(size=${this.tokens.size})`);const a=this.getProgram(h),c=new l7(this.tokens,e,i,a.length,s);a.push(c)}delete(e,i,s=Pt.DEFAULT_PROGRAM_NAME){i==null&&(i=e),this.replace(e,i,null,s)}getProgram(e){let i=this.programs.get(e);return i==null&&(i=this.initializeProgram(e)),i}initializeProgram(e){const i=[];return this.programs.set(e,i),i}getText(e,i=Pt.DEFAULT_PROGRAM_NAME){let s;e instanceof P?s=e:s=new P(0,this.tokens.size-1),typeof e=="string"&&(i=e);const h=this.programs.get(i);let a=s.start,c=s.stop;if(c>this.tokens.size-1&&(c=this.tokens.size-1),a<0&&(a=0),h==null||h.length===0)return this.tokens.getText(new P(a,c));const r=[],E=this.reduceToSingleOperationPerIndex(h);let K=a;for(;K<=c&&K=this.tokens.size-1&&r.push(String(T.text));return r.join("")}reduceToSingleOperationPerIndex(e){for(let s=0;sa.index&&E.index<=a.lastIndex&&(e[E.instructionIndex]=null);const r=this.getKindOfOps(e,l7,s);for(const E of r){if(E.index>=a.index&&E.lastIndex<=a.lastIndex){e[E.instructionIndex]=null;continue}const K=E.lastIndexa.lastIndex;if(E.text==null&&a.text==null&&!K)e[E.instructionIndex]=null,a.index=Math.min(E.index,a.index),a.lastIndex=Math.max(E.lastIndex,a.lastIndex);else if(!K)throw new Error(`replace op boundaries of ${a} overlap with previous ${E}`)}}for(let s=0;s=E.index&&a.index<=E.lastIndex)throw new Error(`insert op ${a} within boundaries of previous ${E}`)}}const i=new Map;for(const s of e)if(s!=null){if(i.get(s.index)!=null)throw new Error("should only be one op per index");i.set(s.index,s)}return i}catOpText(e,i){let s="",h="";return e!=null&&(s=e.toString()),i!=null&&(h=i.toString()),s+h}getKindOfOps(e,i,s){return e.slice(0,s).filter(h=>h&&h instanceof i)}},I(Pt,"TokenStreamRewriter"),R(Pt,"DEFAULT_PROGRAM_NAME","default"),R(Pt,"PROGRAM_INIT_SIZE",100),R(Pt,"MIN_TOKEN_INDEX",0);var ta=(Gn=class{constructor(e,i,s,h){R(this,"instructionIndex");R(this,"index");R(this,"text");R(this,"tokens");this.tokens=e,this.instructionIndex=s,this.index=i,this.text=h===void 0?"":h}execute(e){return this.index}toString(){return"'}},I(Gn,"RewriteOperation"),Gn),x1=(bn=class extends ta{constructor(e,i,s,h){super(e,i,s,h)}execute(e){return this.text&&e.push(this.text.toString()),this.tokens.get(this.index).type!==l.EOF&&e.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},I(bn,"InsertBeforeOp"),bn),ea=(wn=class extends x1{constructor(e,i,s,h){super(e,i+1,s,h)}toString(){return"'}},I(wn,"InsertAfterOp"),wn),l7=(vn=class extends ta{constructor(i,s,h,a,c){super(i,s,a,c);R(this,"lastIndex");this.lastIndex=h}execute(i){return this.text&&i.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},I(vn,"ReplaceOp"),vn);class o extends ce{constructor(e){super(e),this.interpreter=new V0(this,o._ATN,o.decisionsToDFA,new Ti)}get grammarFileName(){return"MySqlLexer.g4"}get literalNames(){return o.literalNames}get symbolicNames(){return o.symbolicNames}get ruleNames(){return o.ruleNames}get serializedATN(){return o._serializedATN}get channelNames(){return o.channelNames}get modeNames(){return o.modeNames}static get _ATN(){return o.__ATN||(o.__ATN=new Ri().deserialize(o._serializedATN)),o.__ATN}get vocabulary(){return o.vocabulary}}o.SPACE=1,o.SPEC_MYSQL_COMMENT=2,o.COMMENT_INPUT=3,o.LINE_COMMENT=4,o.KW_ACTIVE=5,o.KW_ADD=6,o.KW_ALL=7,o.KW_ALTER=8,o.KW_ALWAYS=9,o.KW_ANALYZE=10,o.KW_AND=11,o.KW_ARRAY=12,o.KW_AS=13,o.KW_ASC=14,o.KW_ATTRIBUTE=15,o.KW_BEFORE=16,o.KW_BETWEEN=17,o.KW_BOTH=18,o.KW_BUCKETS=19,o.KW_BY=20,o.KW_CALL=21,o.KW_CASCADE=22,o.KW_CASE=23,o.KW_CAST=24,o.KW_CHANGE=25,o.KW_CHARACTER=26,o.KW_CHECK=27,o.KW_COLLATE=28,o.KW_COLUMN=29,o.KW_CONDITION=30,o.KW_CONSTRAINT=31,o.KW_CONTINUE=32,o.KW_CONVERT=33,o.KW_CREATE=34,o.KW_CROSS=35,o.KW_CURRENT=36,o.KW_CURRENT_USER=37,o.KW_CURSOR=38,o.KW_DATABASE=39,o.KW_DATABASES=40,o.KW_DECLARE=41,o.KW_DEFAULT=42,o.KW_DELAYED=43,o.KW_DELETE=44,o.KW_DESC=45,o.KW_DESCRIBE=46,o.KW_DETERMINISTIC=47,o.KW_DIAGNOSTICS=48,o.KW_DISTINCT=49,o.KW_DISTINCTROW=50,o.KW_DROP=51,o.KW_EACH=52,o.KW_ELSE=53,o.KW_ELSEIF=54,o.KW_EMPTY=55,o.KW_ENCLOSED=56,o.KW_ENFORCED=57,o.KW_ESCAPED=58,o.KW_EXCEPT=59,o.KW_EXISTS=60,o.KW_EXIT=61,o.KW_EXPLAIN=62,o.KW_FALSE=63,o.KW_FETCH=64,o.KW_FOR=65,o.KW_FORCE=66,o.KW_FOREIGN=67,o.KW_FROM=68,o.KW_FULLTEXT=69,o.KW_GENERATE=70,o.KW_GENERATED=71,o.KW_GET=72,o.KW_GRANT=73,o.KW_GROUP=74,o.KW_HAVING=75,o.KW_HIGH_PRIORITY=76,o.KW_HISTOGRAM=77,o.KW_IF=78,o.KW_IGNORE=79,o.KW_IN=80,o.KW_INACTIVE=81,o.KW_INDEX=82,o.KW_INFILE=83,o.KW_INNER=84,o.KW_INOUT=85,o.KW_INSERT=86,o.KW_INTERVAL=87,o.KW_INTO=88,o.KW_IS=89,o.KW_ITERATE=90,o.KW_JOIN=91,o.KW_KEY=92,o.KW_KEYS=93,o.KW_KILL=94,o.KW_LATERAL=95,o.KW_LEADING=96,o.KW_LEAVE=97,o.KW_LEFT=98,o.KW_LIKE=99,o.KW_LIMIT=100,o.KW_LINEAR=101,o.KW_LINES=102,o.KW_LOAD=103,o.KW_LOCK=104,o.KW_LOCKED=105,o.KW_LOOP=106,o.KW_LOW_PRIORITY=107,o.KW_MASTER_BIND=108,o.KW_MASTER_SSL_VERIFY_SERVER_CERT=109,o.KW_MATCH=110,o.KW_MAXVALUE=111,o.KW_MODIFIES=112,o.KW_NATURAL=113,o.KW_NOT=114,o.KW_NO_WRITE_TO_BINLOG=115,o.KW_NULL_LITERAL=116,o.KW_NUMBER=117,o.KW_STREAM=118,o.KW_ON=119,o.KW_OPTIMIZE=120,o.KW_OPTION=121,o.KW_OPTIONAL=122,o.KW_OPTIONALLY=123,o.KW_OR=124,o.KW_ORDER=125,o.KW_OUT=126,o.KW_OUTER=127,o.KW_OUTFILE=128,o.KW_OVER=129,o.KW_PARTITION=130,o.KW_PRIMARY=131,o.KW_PROCEDURE=132,o.KW_PURGE=133,o.KW_RANGE=134,o.KW_READ=135,o.KW_READS=136,o.KW_REFERENCE=137,o.KW_REFERENCES=138,o.KW_REGEXP=139,o.KW_RELEASE=140,o.KW_RENAME=141,o.KW_REPEAT=142,o.KW_REPLACE=143,o.KW_REQUIRE=144,o.KW_RESIGNAL=145,o.KW_RESTRICT=146,o.KW_RETAIN=147,o.KW_RETURN=148,o.KW_REVOKE=149,o.KW_RIGHT=150,o.KW_RLIKE=151,o.KW_SCHEMA=152,o.KW_SCHEMAS=153,o.KW_SELECT=154,o.KW_SET=155,o.KW_SEPARATOR=156,o.KW_SHOW=157,o.KW_SIGNAL=158,o.KW_SKIP=159,o.KW_SKIP_QUERY_REWRITE=160,o.KW_SPATIAL=161,o.KW_SQL=162,o.KW_SQLEXCEPTION=163,o.KW_SQLSTATE=164,o.KW_SQLWARNING=165,o.KW_SQL_BIG_RESULT=166,o.KW_SQL_CALC_FOUND_ROWS=167,o.KW_SQL_SMALL_RESULT=168,o.KW_SSL=169,o.KW_STACKED=170,o.KW_STARTING=171,o.KW_STRAIGHT_JOIN=172,o.KW_TABLE=173,o.KW_TERMINATED=174,o.KW_THEN=175,o.KW_TO=176,o.KW_TRAILING=177,o.KW_TRIGGER=178,o.KW_TRUE=179,o.KW_UNDO=180,o.KW_UNION=181,o.KW_UNIQUE=182,o.KW_UNLOCK=183,o.KW_UNSIGNED=184,o.KW_UPDATE=185,o.KW_USAGE=186,o.KW_USE=187,o.KW_USING=188,o.KW_VALUES=189,o.KW_VCPU=190,o.KW_WHEN=191,o.KW_WHERE=192,o.KW_WHILE=193,o.KW_WITH=194,o.KW_WRITE=195,o.KW_XOR=196,o.KW_ZEROFILL=197,o.KW_TINYINT=198,o.KW_SMALLINT=199,o.KW_MEDIUMINT=200,o.KW_MIDDLEINT=201,o.KW_INT=202,o.KW_INT1=203,o.KW_INT2=204,o.KW_INT3=205,o.KW_INT4=206,o.KW_INT8=207,o.KW_INTEGER=208,o.KW_BIGINT=209,o.KW_REAL=210,o.KW_DOUBLE=211,o.KW_PRECISION=212,o.KW_FLOAT=213,o.KW_FLOAT4=214,o.KW_FLOAT8=215,o.KW_DECIMAL=216,o.KW_DEC=217,o.KW_NUMERIC=218,o.KW_DATE=219,o.KW_TIME=220,o.KW_TIMESTAMP=221,o.KW_DATETIME=222,o.KW_YEAR=223,o.KW_CHAR=224,o.KW_VARCHAR=225,o.KW_NVARCHAR=226,o.KW_NATIONAL=227,o.KW_BINARY=228,o.KW_VARBINARY=229,o.KW_TINYBLOB=230,o.KW_BLOB=231,o.KW_MEDIUMBLOB=232,o.KW_LONG=233,o.KW_LONGBLOB=234,o.KW_TINYTEXT=235,o.KW_TEXT=236,o.KW_MEDIUMTEXT=237,o.KW_LONGTEXT=238,o.KW_ENUM=239,o.KW_VARYING=240,o.KW_SERIAL=241,o.KW_YEAR_MONTH=242,o.KW_DAY_HOUR=243,o.KW_DAY_MINUTE=244,o.KW_DAY_SECOND=245,o.KW_HOUR_MINUTE=246,o.KW_HOUR_SECOND=247,o.KW_MINUTE_SECOND=248,o.KW_SECOND_MICROSECOND=249,o.KW_MINUTE_MICROSECOND=250,o.KW_HOUR_MICROSECOND=251,o.KW_DAY_MICROSECOND=252,o.KW_JSON_TABLE=253,o.KW_JSON_VALUE=254,o.KW_NESTED=255,o.KW_ORDINALITY=256,o.KW_PATH=257,o.KW_AVG=258,o.KW_BIT_AND=259,o.KW_BIT_OR=260,o.KW_BIT_XOR=261,o.KW_COUNT=262,o.KW_CUME_DIST=263,o.KW_DENSE_RANK=264,o.KW_FIRST_VALUE=265,o.KW_GROUP_CONCAT=266,o.KW_LAG=267,o.KW_LAST_VALUE=268,o.KW_LEAD=269,o.KW_MAX=270,o.KW_MIN=271,o.KW_NTILE=272,o.KW_NTH_VALUE=273,o.KW_PERCENT_RANK=274,o.KW_RANK=275,o.KW_ROW_NUMBER=276,o.KW_STD=277,o.KW_STDDEV=278,o.KW_STDDEV_POP=279,o.KW_STDDEV_SAMP=280,o.KW_SUM=281,o.KW_VAR_POP=282,o.KW_VAR_SAMP=283,o.KW_VARIANCE=284,o.KW_CURRENT_DATE=285,o.KW_CURRENT_TIME=286,o.KW_CURRENT_TIMESTAMP=287,o.KW_LOCALTIME=288,o.KW_CURDATE=289,o.KW_CURTIME=290,o.KW_DATE_ADD=291,o.KW_DATE_SUB=292,o.KW_EXTRACT=293,o.KW_LOCALTIMESTAMP=294,o.KW_NOW=295,o.KW_POSITION=296,o.KW_SUBSTR=297,o.KW_SUBSTRING=298,o.KW_SYSDATE=299,o.KW_TRIM=300,o.KW_UTC_DATE=301,o.KW_UTC_TIME=302,o.KW_UTC_TIMESTAMP=303,o.KW_ACCOUNT=304,o.KW_ACTION=305,o.KW_AFTER=306,o.KW_AGGREGATE=307,o.KW_ALGORITHM=308,o.KW_ANY=309,o.KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS=310,o.KW_AT=311,o.KW_AUTHORS=312,o.KW_AUTOCOMMIT=313,o.KW_AUTOEXTEND_SIZE=314,o.KW_AUTO_INCREMENT=315,o.KW_AVG_ROW_LENGTH=316,o.KW_BEGIN=317,o.KW_BINLOG=318,o.KW_BIT=319,o.KW_BLOCK=320,o.KW_BOOL=321,o.KW_BOOLEAN=322,o.KW_BTREE=323,o.KW_CACHE=324,o.KW_CASCADED=325,o.KW_CHAIN=326,o.KW_CHANGED=327,o.KW_CHANNEL=328,o.KW_CHECKSUM=329,o.KW_CHALLENGE_RESPONSE=330,o.KW_CIPHER=331,o.KW_CLASS_ORIGIN=332,o.KW_CLIENT=333,o.KW_CLOSE=334,o.KW_COALESCE=335,o.KW_CODE=336,o.KW_COLUMNS=337,o.KW_COLUMN_FORMAT=338,o.KW_COLUMN_NAME=339,o.KW_COMMENT=340,o.KW_COMMIT=341,o.KW_COMPACT=342,o.KW_COMPLETION=343,o.KW_COMPONENT=344,o.KW_COMPRESSED=345,o.KW_COMPRESSION=346,o.KW_CONCURRENT=347,o.KW_CONNECT=348,o.KW_CONNECTION=349,o.KW_CONSISTENT=350,o.KW_CONSTRAINT_CATALOG=351,o.KW_CONSTRAINT_SCHEMA=352,o.KW_CONSTRAINT_NAME=353,o.KW_CONTAINS=354,o.KW_CONTEXT=355,o.KW_CONTRIBUTORS=356,o.KW_COPY=357,o.KW_CPU=358,o.KW_CURSOR_NAME=359,o.KW_DATA=360,o.KW_DATAFILE=361,o.KW_DEALLOCATE=362,o.KW_DEFAULT_AUTH=363,o.KW_DEFINER=364,o.KW_DELAY_KEY_WRITE=365,o.KW_DES_KEY_FILE=366,o.KW_DIRECTORY=367,o.KW_DISABLE=368,o.KW_DISCARD=369,o.KW_DISK=370,o.KW_DO=371,o.KW_DUMPFILE=372,o.KW_DUPLICATE=373,o.KW_DYNAMIC=374,o.KW_ENABLE=375,o.KW_ENCRYPTION=376,o.KW_ENCRYPTION_KEY_ID=377,o.KW_END=378,o.KW_ENDS=379,o.KW_ENGINE=380,o.KW_ENGINES=381,o.KW_ERROR=382,o.KW_ERRORS=383,o.KW_ESCAPE=384,o.KW_EVENT=385,o.KW_EVENTS=386,o.KW_EVERY=387,o.KW_EXCHANGE=388,o.KW_EXCLUSIVE=389,o.KW_EXPIRE=390,o.KW_EXPORT=391,o.KW_EXTENDED=392,o.KW_EXTENT_SIZE=393,o.KW_FACTOR=394,o.KW_FAILED_LOGIN_ATTEMPTS=395,o.KW_FAST=396,o.KW_FAULTS=397,o.KW_FIELDS=398,o.KW_FILE_BLOCK_SIZE=399,o.KW_FILTER=400,o.KW_FINISH=401,o.KW_FIRST=402,o.KW_FIXED=403,o.KW_FLUSH=404,o.KW_FOLLOWING=405,o.KW_FOLLOWS=406,o.KW_FOUND=407,o.KW_FULL=408,o.KW_FUNCTION=409,o.KW_GENERAL=410,o.KW_GET_MASTER_PUBLIC_KEY=411,o.KW_GET_SOURCE_PUBLIC_KEY=412,o.KW_GLOBAL=413,o.KW_GRANTS=414,o.KW_GROUP_REPLICATION=415,o.KW_GTID_ONLY=416,o.KW_HANDLER=417,o.KW_HASH=418,o.KW_HELP=419,o.KW_HISTORY=420,o.KW_HOST=421,o.KW_HOSTS=422,o.KW_IDENTIFIED=423,o.KW_IGNORE_SERVER_IDS=424,o.KW_IMPORT=425,o.KW_INDEXES=426,o.KW_INITIAL=427,o.KW_INITIAL_SIZE=428,o.KW_INITIATE=429,o.KW_INPLACE=430,o.KW_INSERT_METHOD=431,o.KW_INSTALL=432,o.KW_INSTANCE=433,o.KW_INSTANT=434,o.KW_INVISIBLE=435,o.KW_INVOKER=436,o.KW_IO=437,o.KW_IO_THREAD=438,o.KW_IPC=439,o.KW_ISOLATION=440,o.KW_ISSUER=441,o.KW_JSON=442,o.KW_KEY_BLOCK_SIZE=443,o.KW_LANGUAGE=444,o.KW_LAST=445,o.KW_LEAVES=446,o.KW_LESS=447,o.KW_LEVEL=448,o.KW_LIST=449,o.KW_LOCAL=450,o.KW_LOGFILE=451,o.KW_LOGS=452,o.KW_MASTER=453,o.KW_MASTER_AUTO_POSITION=454,o.KW_MASTER_COMPRESSION_ALGORITHMS=455,o.KW_MASTER_CONNECT_RETRY=456,o.KW_MASTER_DELAY=457,o.KW_MASTER_HEARTBEAT_PERIOD=458,o.KW_MASTER_HOST=459,o.KW_MASTER_LOG_FILE=460,o.KW_MASTER_LOG_POS=461,o.KW_MASTER_PASSWORD=462,o.KW_MASTER_PORT=463,o.KW_MASTER_PUBLIC_KEY_PATH=464,o.KW_MASTER_RETRY_COUNT=465,o.KW_MASTER_SSL=466,o.KW_MASTER_SSL_CA=467,o.KW_MASTER_SSL_CAPATH=468,o.KW_MASTER_SSL_CERT=469,o.KW_MASTER_SSL_CIPHER=470,o.KW_MASTER_SSL_CRL=471,o.KW_MASTER_SSL_CRLPATH=472,o.KW_MASTER_SSL_KEY=473,o.KW_MASTER_TLS_CIPHERSUITES=474,o.KW_MASTER_TLS_VERSION=475,o.KW_MASTER_USER=476,o.KW_MASTER_ZSTD_COMPRESSION_LEVEL=477,o.KW_MAX_CONNECTIONS_PER_HOUR=478,o.KW_MAX_QUERIES_PER_HOUR=479,o.KW_MAX_ROWS=480,o.KW_MAX_SIZE=481,o.KW_MAX_UPDATES_PER_HOUR=482,o.KW_MAX_USER_CONNECTIONS=483,o.KW_MEDIUM=484,o.KW_MEMBER=485,o.KW_MERGE=486,o.KW_MESSAGE_TEXT=487,o.KW_MID=488,o.KW_MIGRATE=489,o.KW_MIN_ROWS=490,o.KW_MODE=491,o.KW_MODIFY=492,o.KW_MUTEX=493,o.KW_MYSQL=494,o.KW_MYSQL_ERRNO=495,o.KW_NAME=496,o.KW_NAMES=497,o.KW_NCHAR=498,o.KW_NETWORK_NAMESPACE=499,o.KW_NEVER=500,o.KW_NEXT=501,o.KW_NO=502,o.KW_NOWAIT=503,o.KW_NODEGROUP=504,o.KW_NONE=505,o.KW_ODBC=506,o.KW_OFF=507,o.KW_OFFLINE=508,o.KW_OFFSET=509,o.KW_OF=510,o.KW_OLD=511,o.KW_OLD_PASSWORD=512,o.KW_ONE=513,o.KW_ONLINE=514,o.KW_ONLY=515,o.KW_OPEN=516,o.KW_OPTIMIZER_COSTS=517,o.KW_OPTIONS=518,o.KW_OWNER=519,o.KW_PACK_KEYS=520,o.KW_PAGE=521,o.KW_PAGE_CHECKSUM=522,o.KW_PAGE_COMPRESSED=523,o.KW_PAGE_COMPRESSION_LEVEL=524,o.KW_PARSER=525,o.KW_PARTIAL=526,o.KW_PARTITIONING=527,o.KW_PARTITIONS=528,o.KW_PASSWORD=529,o.KW_PASSWORD_LOCK_TIME=530,o.KW_PERSIST=531,o.KW_PERSIST_ONLY=532,o.KW_PHASE=533,o.KW_PLUGIN=534,o.KW_PLUGIN_DIR=535,o.KW_PLUGINS=536,o.KW_PORT=537,o.KW_PRECEDES=538,o.KW_PRECEDING=539,o.KW_PREPARE=540,o.KW_PRESERVE=541,o.KW_PREV=542,o.KW_PRIVILEGE_CHECKS_USER=543,o.KW_PROCESSLIST=544,o.KW_PROFILE=545,o.KW_PROFILES=546,o.KW_PROXY=547,o.KW_QUERY=548,o.KW_QUICK=549,o.KW_REBUILD=550,o.KW_RECOVER=551,o.KW_RECURSIVE=552,o.KW_REDO_BUFFER_SIZE=553,o.KW_REDUNDANT=554,o.KW_REGISTRATION=555,o.KW_RELAY=556,o.KW_RELAY_LOG_FILE=557,o.KW_RELAY_LOG_POS=558,o.KW_RELAYLOG=559,o.KW_REMOVE=560,o.KW_REORGANIZE=561,o.KW_REPAIR=562,o.KW_REPLICA=563,o.KW_REPLICAS=564,o.KW_REPLICATE_DO_DB=565,o.KW_REPLICATE_DO_TABLE=566,o.KW_REPLICATE_IGNORE_DB=567,o.KW_REPLICATE_IGNORE_TABLE=568,o.KW_REPLICATE_REWRITE_DB=569,o.KW_REPLICATE_WILD_DO_TABLE=570,o.KW_REPLICATE_WILD_IGNORE_TABLE=571,o.KW_REPLICATION=572,o.KW_REQUIRE_ROW_FORMAT=573,o.KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK=574,o.KW_RESET=575,o.KW_RESTART=576,o.KW_RESUME=577,o.KW_RETURNED_SQLSTATE=578,o.KW_RETURNING=579,o.KW_RETURNS=580,o.KW_REUSE=581,o.KW_ROLE=582,o.KW_ROLLBACK=583,o.KW_ROLLUP=584,o.KW_ROTATE=585,o.KW_ROW=586,o.KW_ROWS=587,o.KW_ROW_FORMAT=588,o.KW_SAVEPOINT=589,o.KW_SCHEDULE=590,o.KW_SECURITY=591,o.KW_SERVER=592,o.KW_SESSION=593,o.KW_SHARE=594,o.KW_SHARED=595,o.KW_SIGNED=596,o.KW_SIMPLE=597,o.KW_SLAVE=598,o.KW_SLOW=599,o.KW_SNAPSHOT=600,o.KW_SOCKET=601,o.KW_SOME=602,o.KW_SONAME=603,o.KW_SOUNDS=604,o.KW_SOURCE=605,o.KW_SOURCE_BIND=606,o.KW_SOURCE_HOST=607,o.KW_SOURCE_USER=608,o.KW_SOURCE_PASSWORD=609,o.KW_SOURCE_PORT=610,o.KW_SOURCE_LOG_FILE=611,o.KW_SOURCE_LOG_POS=612,o.KW_SOURCE_AUTO_POSITION=613,o.KW_SOURCE_HEARTBEAT_PERIOD=614,o.KW_SOURCE_CONNECT_RETRY=615,o.KW_SOURCE_RETRY_COUNT=616,o.KW_SOURCE_CONNECTION_AUTO_FAILOVER=617,o.KW_SOURCE_DELAY=618,o.KW_SOURCE_COMPRESSION_ALGORITHMS=619,o.KW_SOURCE_ZSTD_COMPRESSION_LEVEL=620,o.KW_SOURCE_SSL=621,o.KW_SOURCE_SSL_CA=622,o.KW_SOURCE_SSL_CAPATH=623,o.KW_SOURCE_SSL_CERT=624,o.KW_SOURCE_SSL_CRL=625,o.KW_SOURCE_SSL_CRLPATH=626,o.KW_SOURCE_SSL_KEY=627,o.KW_SOURCE_SSL_CIPHER=628,o.KW_SOURCE_SSL_VERIFY_SERVER_CERT=629,o.KW_SOURCE_TLS_VERSION=630,o.KW_SOURCE_TLS_CIPHERSUITES=631,o.KW_SOURCE_PUBLIC_KEY_PATH=632,o.KW_SQL_AFTER_GTIDS=633,o.KW_SQL_AFTER_MTS_GAPS=634,o.KW_SQL_BEFORE_GTIDS=635,o.KW_SQL_BUFFER_RESULT=636,o.KW_SQL_CACHE=637,o.KW_SQL_NO_CACHE=638,o.KW_SQL_THREAD=639,o.KW_START=640,o.KW_STARTS=641,o.KW_STATS_AUTO_RECALC=642,o.KW_STATS_PERSISTENT=643,o.KW_STATS_SAMPLE_PAGES=644,o.KW_STATUS=645,o.KW_STOP=646,o.KW_STORAGE=647,o.KW_STORED=648,o.KW_STRING=649,o.KW_SUBCLASS_ORIGIN=650,o.KW_SUBJECT=651,o.KW_SUBPARTITION=652,o.KW_SUBPARTITIONS=653,o.KW_SUSPEND=654,o.KW_SWAPS=655,o.KW_SWITCHES=656,o.KW_TABLE_NAME=657,o.KW_TABLESPACE=658,o.KW_TABLE_TYPE=659,o.KW_TEMPORARY=660,o.KW_TEMPTABLE=661,o.KW_THAN=662,o.KW_TRADITIONAL=663,o.KW_TRANSACTION=664,o.KW_TRANSACTIONAL=665,o.KW_TREE=666,o.KW_TRIGGERS=667,o.KW_TRUNCATE=668,o.KW_UNBOUNDED=669,o.KW_UNDEFINED=670,o.KW_UNDOFILE=671,o.KW_UNDO_BUFFER_SIZE=672,o.KW_UNINSTALL=673,o.KW_UNKNOWN=674,o.KW_UNREGISTER=675,o.KW_UNTIL=676,o.KW_UPGRADE=677,o.KW_USER=678,o.KW_USE_FRM=679,o.KW_USER_RESOURCES=680,o.KW_VALIDATION=681,o.KW_VALUE=682,o.KW_VARIABLES=683,o.KW_VIEW=684,o.KW_VIRTUAL=685,o.KW_VISIBLE=686,o.KW_WAIT=687,o.KW_WARNINGS=688,o.KW_WINDOW=689,o.KW_WITHOUT=690,o.KW_WORK=691,o.KW_WRAPPER=692,o.KW_X509=693,o.KW_XA=694,o.KW_XML=695,o.KW_QUARTER=696,o.KW_MONTH=697,o.KW_DAY=698,o.KW_HOUR=699,o.KW_MINUTE=700,o.KW_WEEK=701,o.KW_SECOND=702,o.KW_MICROSECOND=703,o.KW_ADMIN=704,o.KW_APPLICATION_PASSWORD_ADMIN=705,o.KW_AUDIT_ABORT_EXEMPT=706,o.KW_AUDIT_ADMIN=707,o.KW_AUTHENTICATION=708,o.KW_AUTHENTICATION_POLICY_ADMIN=709,o.KW_BACKUP_ADMIN=710,o.KW_BINLOG_ADMIN=711,o.KW_BINLOG_ENCRYPTION_ADMIN=712,o.KW_CLONE=713,o.KW_CLONE_ADMIN=714,o.KW_CONNECTION_ADMIN=715,o.KW_ENCRYPTION_KEY_ADMIN=716,o.KW_EXECUTE=717,o.KW_FILE=718,o.KW_FIREWALL_ADMIN=719,o.KW_FIREWALL_EXEMPT=720,o.KW_FIREWALL_USER=721,o.KW_FLUSH_OPTIMIZER_COSTS=722,o.KW_FLUSH_STATUS=723,o.KW_FLUSH_TABLES=724,o.KW_FLUSH_USER_RESOURCES=725,o.KW_GROUP_REPLICATION_ADMIN=726,o.KW_INNODB_REDO_LOG_ARCHIVE=727,o.KW_INNODB_REDO_LOG_ENABLE=728,o.KW_INVOKE=729,o.KW_LAMBDA=730,o.KW_NDB_STORED_USER=731,o.KW_PASSWORDLESS_USER_ADMIN=732,o.KW_PERSIST_RO_VARIABLES_ADMIN=733,o.KW_PRIVILEGES=734,o.KW_PROCESS=735,o.KW_RELOAD=736,o.KW_REPLICATION_APPLIER=737,o.KW_REPLICATION_SLAVE_ADMIN=738,o.KW_RESOURCE=739,o.KW_RESOURCE_GROUP_ADMIN=740,o.KW_RESOURCE_GROUP_USER=741,o.KW_ROLE_ADMIN=742,o.KW_ROUTINE=743,o.KW_S3=744,o.KW_SERVICE_CONNECTION_ADMIN=745,o.KW_SESSION_VARIABLES_ADMIN=746,o.KW_SET_USER_ID=747,o.KW_SHOW_ROUTINE=748,o.KW_SHUTDOWN=749,o.KW_SUPER=750,o.KW_SYSTEM_VARIABLES_ADMIN=751,o.KW_TABLES=752,o.KW_TABLE_ENCRYPTION_ADMIN=753,o.KW_VERSION_TOKEN_ADMIN=754,o.KW_XA_RECOVER_ADMIN=755,o.KW_ARMSCII8=756,o.KW_ASCII=757,o.KW_BIG5=758,o.KW_CP1250=759,o.KW_CP1251=760,o.KW_CP1256=761,o.KW_CP1257=762,o.KW_CP850=763,o.KW_CP852=764,o.KW_CP866=765,o.KW_CP932=766,o.KW_DEC8=767,o.KW_EUCJPMS=768,o.KW_EUCKR=769,o.KW_GB18030=770,o.KW_GB2312=771,o.KW_GBK=772,o.KW_GEOSTD8=773,o.KW_GREEK=774,o.KW_HEBREW=775,o.KW_HP8=776,o.KW_KEYBCS2=777,o.KW_KOI8R=778,o.KW_KOI8U=779,o.KW_LATIN1=780,o.KW_LATIN2=781,o.KW_LATIN5=782,o.KW_LATIN7=783,o.KW_MACCE=784,o.KW_MACROMAN=785,o.KW_SJIS=786,o.KW_SWE7=787,o.KW_TIS620=788,o.KW_UCS2=789,o.KW_UJIS=790,o.KW_UTF16=791,o.KW_UTF16LE=792,o.KW_UTF32=793,o.KW_UTF8=794,o.KW_UTF8MB3=795,o.KW_UTF8MB4=796,o.KW_ARCHIVE=797,o.KW_BLACKHOLE=798,o.KW_CSV=799,o.KW_FEDERATED=800,o.KW_INNODB=801,o.KW_MEMORY=802,o.KW_MRG_MYISAM=803,o.KW_MYISAM=804,o.KW_NDB=805,o.KW_NDBCLUSTER=806,o.KW_PERFORMANCE_SCHEMA=807,o.KW_TOKUDB=808,o.KW_REPEATABLE=809,o.KW_COMMITTED=810,o.KW_UNCOMMITTED=811,o.KW_SERIALIZABLE=812,o.KW_GEOMETRYCOLLECTION=813,o.KW_GEOMCOLLECTION=814,o.KW_GEOMETRY=815,o.KW_LINESTRING=816,o.KW_MULTILINESTRING=817,o.KW_MULTIPOINT=818,o.KW_MULTIPOLYGON=819,o.KW_POINT=820,o.KW_POLYGON=821,o.KW_CATALOG_NAME=822,o.KW_CHARSET=823,o.KW_COLLATION=824,o.KW_ENGINE_ATTRIBUTE=825,o.KW_FORMAT=826,o.KW_GET_FORMAT=827,o.KW_INTERSECT=828,o.KW_RANDOM=829,o.KW_REVERSE=830,o.KW_ROW_COUNT=831,o.KW_SCHEMA_NAME=832,o.KW_SECONDARY_ENGINE_ATTRIBUTE=833,o.KW_SRID=834,o.KW_SYSTEM=835,o.KW_SYSTEM_USER=836,o.KW_THREAD_PRIORITY=837,o.KW_TP_CONNECTION_ADMIN=838,o.KW_TYPE=839,o.KW_WEIGHT_STRING=840,o.VAR_ASSIGN=841,o.PLUS_ASSIGN=842,o.MINUS_ASSIGN=843,o.MULT_ASSIGN=844,o.DIV_ASSIGN=845,o.MOD_ASSIGN=846,o.AND_ASSIGN=847,o.XOR_ASSIGN=848,o.OR_ASSIGN=849,o.STAR=850,o.DIVIDE=851,o.MODULE=852,o.PLUS=853,o.MINUS=854,o.DIV=855,o.MOD=856,o.EQUAL_SYMBOL=857,o.GREATER_SYMBOL=858,o.LESS_SYMBOL=859,o.EXCLAMATION_SYMBOL=860,o.BIT_NOT_OP=861,o.BIT_OR_OP=862,o.BIT_AND_OP=863,o.BIT_XOR_OP=864,o.DOT=865,o.LR_BRACKET=866,o.RR_BRACKET=867,o.COMMA=868,o.SEMI=869,o.AT_SIGN=870,o.ZERO_DECIMAL=871,o.ONE_DECIMAL=872,o.TWO_DECIMAL=873,o.THREE_DECIMAL=874,o.SINGLE_QUOTE_SYMB=875,o.DOUBLE_QUOTE_SYMB=876,o.REVERSE_QUOTE_SYMB=877,o.COLON_SYMB=878,o.CHARSET_REVERSE_QOUTE_STRING=879,o.FILESIZE_LITERAL=880,o.START_NATIONAL_STRING_LITERAL=881,o.STRING_LITERAL=882,o.DECIMAL_LITERAL=883,o.HEXADECIMAL_LITERAL=884,o.REAL_LITERAL=885,o.NULL_SPEC_LITERAL=886,o.BIT_STRING=887,o.STRING_CHARSET_NAME=888,o.ID=889,o.REVERSE_QUOTE_ID=890,o.HOST_IP_ADDRESS=891,o.LOCAL_ID=892,o.GLOBAL_ID=893,o.PERSIST_ID=894,o.ERROR_RECONGNIGION=895,o.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","MYSQLCOMMENT","ERRORCHANNEL"],o.literalNames=[null,null,null,null,null,"'ACTIVE'","'ADD'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ARRAY'","'AS'","'ASC'","'ATTRIBUTE'","'BEFORE'","'BETWEEN'","'BOTH'","'BUCKETS'","'BY'","'CALL'","'CASCADE'","'CASE'","'CAST'","'CHANGE'","'CHARACTER'","'CHECK'","'COLLATE'","'COLUMN'","'CONDITION'","'CONSTRAINT'","'CONTINUE'","'CONVERT'","'CREATE'","'CROSS'","'CURRENT'","'CURRENT_USER'","'CURSOR'","'DATABASE'","'DATABASES'","'DECLARE'","'DEFAULT'","'DELAYED'","'DELETE'","'DESC'","'DESCRIBE'","'DETERMINISTIC'","'DIAGNOSTICS'","'DISTINCT'","'DISTINCTROW'","'DROP'","'EACH'","'ELSE'","'ELSEIF'","'EMPTY'","'ENCLOSED'","'ENFORCED'","'ESCAPED'","'EXCEPT'","'EXISTS'","'EXIT'","'EXPLAIN'","'FALSE'","'FETCH'","'FOR'","'FORCE'","'FOREIGN'","'FROM'","'FULLTEXT'","'GENERATE'","'GENERATED'","'GET'","'GRANT'","'GROUP'","'HAVING'","'HIGH_PRIORITY'","'HISTOGRAM'","'IF'","'IGNORE'","'IN'","'INACTIVE'","'INDEX'","'INFILE'","'INNER'","'INOUT'","'INSERT'","'INTERVAL'","'INTO'","'IS'","'ITERATE'","'JOIN'","'KEY'","'KEYS'","'KILL'","'LATERAL'","'LEADING'","'LEAVE'","'LEFT'","'LIKE'","'LIMIT'","'LINEAR'","'LINES'","'LOAD'","'LOCK'","'LOCKED'","'LOOP'","'LOW_PRIORITY'","'MASTER_BIND'","'MASTER_SSL_VERIFY_SERVER_CERT'","'MATCH'","'MAXVALUE'","'MODIFIES'","'NATURAL'","'NOT'","'NO_WRITE_TO_BINLOG'","'NULL'","'NUMBER'","'STREAM'","'ON'","'OPTIMIZE'","'OPTION'","'OPTIONAL'","'OPTIONALLY'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTFILE'","'OVER'","'PARTITION'","'PRIMARY'","'PROCEDURE'","'PURGE'","'RANGE'","'READ'","'READS'","'REFERENCE'","'REFERENCES'","'REGEXP'","'RELEASE'","'RENAME'","'REPEAT'","'REPLACE'","'REQUIRE'","'RESIGNAL'","'RESTRICT'","'RETAIN'","'RETURN'","'REVOKE'","'RIGHT'","'RLIKE'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SET'","'SEPARATOR'","'SHOW'","'SIGNAL'","'SKIP'","'SKIP_QUERY_REWRITE'","'SPATIAL'","'SQL'","'SQLEXCEPTION'","'SQLSTATE'","'SQLWARNING'","'SQL_BIG_RESULT'","'SQL_CALC_FOUND_ROWS'","'SQL_SMALL_RESULT'","'SSL'","'STACKED'","'STARTING'","'STRAIGHT_JOIN'","'TABLE'","'TERMINATED'","'THEN'","'TO'","'TRAILING'","'TRIGGER'","'TRUE'","'UNDO'","'UNION'","'UNIQUE'","'UNLOCK'","'UNSIGNED'","'UPDATE'","'USAGE'","'USE'","'USING'","'VALUES'","'VCPU'","'WHEN'","'WHERE'","'WHILE'","'WITH'","'WRITE'","'XOR'","'ZEROFILL'","'TINYINT'","'SMALLINT'","'MEDIUMINT'","'MIDDLEINT'","'INT'","'INT1'","'INT2'","'INT3'","'INT4'","'INT8'","'INTEGER'","'BIGINT'","'REAL'","'DOUBLE'","'PRECISION'","'FLOAT'","'FLOAT4'","'FLOAT8'","'DECIMAL'","'DEC'","'NUMERIC'","'DATE'","'TIME'","'TIMESTAMP'","'DATETIME'","'YEAR'","'CHAR'","'VARCHAR'","'NVARCHAR'","'NATIONAL'","'BINARY'","'VARBINARY'","'TINYBLOB'","'BLOB'","'MEDIUMBLOB'","'LONG'","'LONGBLOB'","'TINYTEXT'","'TEXT'","'MEDIUMTEXT'","'LONGTEXT'","'ENUM'","'VARYING'","'SERIAL'","'YEAR_MONTH'","'DAY_HOUR'","'DAY_MINUTE'","'DAY_SECOND'","'HOUR_MINUTE'","'HOUR_SECOND'","'MINUTE_SECOND'","'SECOND_MICROSECOND'","'MINUTE_MICROSECOND'","'HOUR_MICROSECOND'","'DAY_MICROSECOND'","'JSON_TABLE'","'JSON_VALUE'","'NESTED'","'ORDINALITY'","'PATH'","'AVG'","'BIT_AND'","'BIT_OR'","'BIT_XOR'","'COUNT'","'CUME_DIST'","'DENSE_RANK'","'FIRST_VALUE'","'GROUP_CONCAT'","'LAG'","'LAST_VALUE'","'LEAD'","'MAX'","'MIN'","'NTILE'","'NTH_VALUE'","'PERCENT_RANK'","'RANK'","'ROW_NUMBER'","'STD'","'STDDEV'","'STDDEV_POP'","'STDDEV_SAMP'","'SUM'","'VAR_POP'","'VAR_SAMP'","'VARIANCE'","'CURRENT_DATE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'LOCALTIME'","'CURDATE'","'CURTIME'","'DATE_ADD'","'DATE_SUB'","'EXTRACT'","'LOCALTIMESTAMP'","'NOW'","'POSITION'","'SUBSTR'","'SUBSTRING'","'SYSDATE'","'TRIM'","'UTC_DATE'","'UTC_TIME'","'UTC_TIMESTAMP'","'ACCOUNT'","'ACTION'","'AFTER'","'AGGREGATE'","'ALGORITHM'","'ANY'","'ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS'","'AT'","'AUTHORS'","'AUTOCOMMIT'","'AUTOEXTEND_SIZE'","'AUTO_INCREMENT'","'AVG_ROW_LENGTH'","'BEGIN'","'BINLOG'","'BIT'","'BLOCK'","'BOOL'","'BOOLEAN'","'BTREE'","'CACHE'","'CASCADED'","'CHAIN'","'CHANGED'","'CHANNEL'","'CHECKSUM'","'CHALLENGE_RESPONSE'","'CIPHER'","'CLASS_ORIGIN'","'CLIENT'","'CLOSE'","'COALESCE'","'CODE'","'COLUMNS'","'COLUMN_FORMAT'","'COLUMN_NAME'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPLETION'","'COMPONENT'","'COMPRESSED'","'COMPRESSION'","'CONCURRENT'","'CONNECT'","'CONNECTION'","'CONSISTENT'","'CONSTRAINT_CATALOG'","'CONSTRAINT_SCHEMA'","'CONSTRAINT_NAME'","'CONTAINS'","'CONTEXT'","'CONTRIBUTORS'","'COPY'","'CPU'","'CURSOR_NAME'","'DATA'","'DATAFILE'","'DEALLOCATE'","'DEFAULT_AUTH'","'DEFINER'","'DELAY_KEY_WRITE'","'DES_KEY_FILE'","'DIRECTORY'","'DISABLE'","'DISCARD'","'DISK'","'DO'","'DUMPFILE'","'DUPLICATE'","'DYNAMIC'","'ENABLE'","'ENCRYPTION'","'ENCRYPTION_KEY_ID'","'END'","'ENDS'","'ENGINE'","'ENGINES'","'ERROR'","'ERRORS'","'ESCAPE'","'EVENT'","'EVENTS'","'EVERY'","'EXCHANGE'","'EXCLUSIVE'","'EXPIRE'","'EXPORT'","'EXTENDED'","'EXTENT_SIZE'","'FACTOR'","'FAILED_LOGIN_ATTEMPTS'","'FAST'","'FAULTS'","'FIELDS'","'FILE_BLOCK_SIZE'","'FILTER'","'FINISH'","'FIRST'","'FIXED'","'FLUSH'","'FOLLOWING'","'FOLLOWS'","'FOUND'","'FULL'","'FUNCTION'","'GENERAL'","'GET_MASTER_PUBLIC_KEY'","'GET_SOURCE_PUBLIC_KEY'","'GLOBAL'","'GRANTS'","'GROUP_REPLICATION'","'GTID_ONLY'","'HANDLER'","'HASH'","'HELP'","'HISTORY'","'HOST'","'HOSTS'","'IDENTIFIED'","'IGNORE_SERVER_IDS'","'IMPORT'","'INDEXES'","'INITIAL'","'INITIAL_SIZE'","'INITIATE'","'INPLACE'","'INSERT_METHOD'","'INSTALL'","'INSTANCE'","'INSTANT'","'INVISIBLE'","'INVOKER'","'IO'","'IO_THREAD'","'IPC'","'ISOLATION'","'ISSUER'","'JSON'","'KEY_BLOCK_SIZE'","'LANGUAGE'","'LAST'","'LEAVES'","'LESS'","'LEVEL'","'LIST'","'LOCAL'","'LOGFILE'","'LOGS'","'MASTER'","'MASTER_AUTO_POSITION'","'MASTER_COMPRESSION_ALGORITHMS'","'MASTER_CONNECT_RETRY'","'MASTER_DELAY'","'MASTER_HEARTBEAT_PERIOD'","'MASTER_HOST'","'MASTER_LOG_FILE'","'MASTER_LOG_POS'","'MASTER_PASSWORD'","'MASTER_PORT'","'MASTER_PUBLIC_KEY_PATH'","'MASTER_RETRY_COUNT'","'MASTER_SSL'","'MASTER_SSL_CA'","'MASTER_SSL_CAPATH'","'MASTER_SSL_CERT'","'MASTER_SSL_CIPHER'","'MASTER_SSL_CRL'","'MASTER_SSL_CRLPATH'","'MASTER_SSL_KEY'","'MASTER_TLS_CIPHERSUITES'","'MASTER_TLS_VERSION'","'MASTER_USER'","'MASTER_ZSTD_COMPRESSION_LEVEL'","'MAX_CONNECTIONS_PER_HOUR'","'MAX_QUERIES_PER_HOUR'","'MAX_ROWS'","'MAX_SIZE'","'MAX_UPDATES_PER_HOUR'","'MAX_USER_CONNECTIONS'","'MEDIUM'","'MEMBER'","'MERGE'","'MESSAGE_TEXT'","'MID'","'MIGRATE'","'MIN_ROWS'","'MODE'","'MODIFY'","'MUTEX'","'MYSQL'","'MYSQL_ERRNO'","'NAME'","'NAMES'","'NCHAR'","'NETWORK_NAMESPACE'","'NEVER'","'NEXT'","'NO'","'NOWAIT'","'NODEGROUP'","'NONE'","'ODBC'","'OFF'","'OFFLINE'","'OFFSET'","'OF'","'OLD'","'OLD_PASSWORD'","'ONE'","'ONLINE'","'ONLY'","'OPEN'","'OPTIMIZER_COSTS'","'OPTIONS'","'OWNER'","'PACK_KEYS'","'PAGE'","'PAGE_CHECKSUM'","'PAGE_COMPRESSED'","'PAGE_COMPRESSION_LEVEL'","'PARSER'","'PARTIAL'","'PARTITIONING'","'PARTITIONS'","'PASSWORD'","'PASSWORD_LOCK_TIME'","'PERSIST'","'PERSIST_ONLY'","'PHASE'","'PLUGIN'","'PLUGIN_DIR'","'PLUGINS'","'PORT'","'PRECEDES'","'PRECEDING'","'PREPARE'","'PRESERVE'","'PREV'","'PRIVILEGE_CHECKS_USER'","'PROCESSLIST'","'PROFILE'","'PROFILES'","'PROXY'","'QUERY'","'QUICK'","'REBUILD'","'RECOVER'","'RECURSIVE'","'REDO_BUFFER_SIZE'","'REDUNDANT'","'REGISTRATION'","'RELAY'","'RELAY_LOG_FILE'","'RELAY_LOG_POS'","'RELAYLOG'","'REMOVE'","'REORGANIZE'","'REPAIR'","'REPLICA'","'REPLICAS'","'REPLICATE_DO_DB'","'REPLICATE_DO_TABLE'","'REPLICATE_IGNORE_DB'","'REPLICATE_IGNORE_TABLE'","'REPLICATE_REWRITE_DB'","'REPLICATE_WILD_DO_TABLE'","'REPLICATE_WILD_IGNORE_TABLE'","'REPLICATION'","'REQUIRE_ROW_FORMAT'","'REQUIRE_TABLE_PRIMARY_KEY_CHECK'","'RESET'","'RESTART'","'RESUME'","'RETURNED_SQLSTATE'","'RETURNING'","'RETURNS'","'REUSE'","'ROLE'","'ROLLBACK'","'ROLLUP'","'ROTATE'","'ROW'","'ROWS'","'ROW_FORMAT'","'SAVEPOINT'","'SCHEDULE'","'SECURITY'","'SERVER'","'SESSION'","'SHARE'","'SHARED'","'SIGNED'","'SIMPLE'","'SLAVE'","'SLOW'","'SNAPSHOT'","'SOCKET'","'SOME'","'SONAME'","'SOUNDS'","'SOURCE'","'SOURCE_BIND'","'SOURCE_HOST'","'SOURCE_USER'","'SOURCE_PASSWORD'","'SOURCE_PORT'","'SOURCE_LOG_FILE'","'SOURCE_LOG_POS'","'SOURCE_AUTO_POSITION'","'SOURCE_HEARTBEAT_PERIOD'","'SOURCE_CONNECT_RETRY'","'SOURCE_RETRY_COUNT'","'SOURCE_CONNECTION_AUTO_FAILOVER'","'SOURCE_DELAY'","'SOURCE_COMPRESSION_ALGORITHMS'","'SOURCE_ZSTD_COMPRESSION_LEVEL'","'SOURCE_SSL'","'SOURCE_SSL_CA'","'SOURCE_SSL_CAPATH'","'SOURCE_SSL_CERT'","'SOURCE_SSL_CRL'","'SOURCE_SSL_CRLPATH'","'SOURCE_SSL_KEY'","'SOURCE_SSL_CIPHER'","'SOURCE_SSL_VERIFY_SERVER_CERT'","'SOURCE_TLS_VERSION'","'SOURCE_TLS_CIPHERSUITES'","'SOURCE_PUBLIC_KEY_PATH'","'SQL_AFTER_GTIDS'","'SQL_AFTER_MTS_GAPS'","'SQL_BEFORE_GTIDS'","'SQL_BUFFER_RESULT'","'SQL_CACHE'","'SQL_NO_CACHE'","'SQL_THREAD'","'START'","'STARTS'","'STATS_AUTO_RECALC'","'STATS_PERSISTENT'","'STATS_SAMPLE_PAGES'","'STATUS'","'STOP'","'STORAGE'","'STORED'","'STRING'","'SUBCLASS_ORIGIN'","'SUBJECT'","'SUBPARTITION'","'SUBPARTITIONS'","'SUSPEND'","'SWAPS'","'SWITCHES'","'TABLE_NAME'","'TABLESPACE'","'TABLE_TYPE'","'TEMPORARY'","'TEMPTABLE'","'THAN'","'TRADITIONAL'","'TRANSACTION'","'TRANSACTIONAL'","'TREE'","'TRIGGERS'","'TRUNCATE'","'UNBOUNDED'","'UNDEFINED'","'UNDOFILE'","'UNDO_BUFFER_SIZE'","'UNINSTALL'","'UNKNOWN'","'UNREGISTER'","'UNTIL'","'UPGRADE'","'USER'","'USE_FRM'","'USER_RESOURCES'","'VALIDATION'","'VALUE'","'VARIABLES'","'VIEW'","'VIRTUAL'","'VISIBLE'","'WAIT'","'WARNINGS'","'WINDOW'","'WITHOUT'","'WORK'","'WRAPPER'","'X509'","'XA'","'XML'","'QUARTER'","'MONTH'","'DAY'","'HOUR'","'MINUTE'","'WEEK'","'SECOND'","'MICROSECOND'","'ADMIN'","'APPLICATION_PASSWORD_ADMIN'","'AUDIT_ABORT_EXEMPT'","'AUDIT_ADMIN'","'AUTHENTICATION'","'AUTHENTICATION_POLICY_ADMIN'","'BACKUP_ADMIN'","'BINLOG_ADMIN'","'BINLOG_ENCRYPTION_ADMIN'","'CLONE'","'CLONE_ADMIN'","'CONNECTION_ADMIN'","'ENCRYPTION_KEY_ADMIN'","'EXECUTE'","'FILE'","'FIREWALL_ADMIN'","'FIREWALL_EXEMPT'","'FIREWALL_USER'","'FLUSH_OPTIMIZER_COSTS'","'FLUSH_STATUS'","'FLUSH_TABLES'","'FLUSH_USER_RESOURCES'","'GROUP_REPLICATION_ADMIN'","'INNODB_REDO_LOG_ARCHIVE'","'INNODB_REDO_LOG_ENABLE'","'INVOKE'","'LAMBDA'","'NDB_STORED_USER'","'PASSWORDLESS_USER_ADMIN'","'PERSIST_RO_VARIABLES_ADMIN'","'PRIVILEGES'","'PROCESS'","'RELOAD'","'REPLICATION_APPLIER'","'REPLICATION_SLAVE_ADMIN'","'RESOURCE'","'RESOURCE_GROUP_ADMIN'","'RESOURCE_GROUP_USER'","'ROLE_ADMIN'","'ROUTINE'","'S3'","'SERVICE_CONNECTION_ADMIN'",null,"'SET_USER_ID'","'SHOW_ROUTINE'","'SHUTDOWN'","'SUPER'","'SYSTEM_VARIABLES_ADMIN'","'TABLES'","'TABLE_ENCRYPTION_ADMIN'","'VERSION_TOKEN_ADMIN'","'XA_RECOVER_ADMIN'","'ARMSCII8'","'ASCII'","'BIG5'","'CP1250'","'CP1251'","'CP1256'","'CP1257'","'CP850'","'CP852'","'CP866'","'CP932'","'DEC8'","'EUCJPMS'","'EUCKR'","'GB18030'","'GB2312'","'GBK'","'GEOSTD8'","'GREEK'","'HEBREW'","'HP8'","'KEYBCS2'","'KOI8R'","'KOI8U'","'LATIN1'","'LATIN2'","'LATIN5'","'LATIN7'","'MACCE'","'MACROMAN'","'SJIS'","'SWE7'","'TIS620'","'UCS2'","'UJIS'","'UTF16'","'UTF16LE'","'UTF32'","'UTF8'","'UTF8MB3'","'UTF8MB4'","'ARCHIVE'","'BLACKHOLE'","'CSV'","'FEDERATED'","'INNODB'","'MEMORY'","'MRG_MYISAM'","'MYISAM'","'NDB'","'NDBCLUSTER'","'PERFORMANCE_SCHEMA'","'TOKUDB'","'REPEATABLE'","'COMMITTED'","'UNCOMMITTED'","'SERIALIZABLE'","'GEOMETRYCOLLECTION'","'GEOMCOLLECTION'","'GEOMETRY'","'LINESTRING'","'MULTILINESTRING'","'MULTIPOINT'","'MULTIPOLYGON'","'POINT'","'POLYGON'","'CATALOG_NAME'","'CHARSET'","'COLLATION'","'ENGINE_ATTRIBUTE'","'FORMAT'","'GET_FORMAT'","'INTERSECT'","'RANDOM'","'REVERSE'","'ROW_COUNT'","'SCHEMA_NAME'","'SECONDARY_ENGINE_ATTRIBUTE'","'SRID'","'SYSTEM'","'SYSTEM_USER'","'THREAD_PRIORITY'","'TP_CONNECTION_ADMIN'","'TYPE'","'WEIGHT_STRING'","':='","'+='","'-='","'*='","'/='","'%='","'&='","'^='","'|='","'*'","'/'","'%'","'+'","'-'","'DIV'","'MOD'","'='","'>'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'('","')'","','","';'","'@'","'0'","'1'","'2'","'3'","'''",`'"'`,"'`'","':'"],o.symbolicNames=[null,"SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","KW_ACTIVE","KW_ADD","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ARRAY","KW_AS","KW_ASC","KW_ATTRIBUTE","KW_BEFORE","KW_BETWEEN","KW_BOTH","KW_BUCKETS","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CHANGE","KW_CHARACTER","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONDITION","KW_CONSTRAINT","KW_CONTINUE","KW_CONVERT","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_USER","KW_CURSOR","KW_DATABASE","KW_DATABASES","KW_DECLARE","KW_DEFAULT","KW_DELAYED","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DETERMINISTIC","KW_DIAGNOSTICS","KW_DISTINCT","KW_DISTINCTROW","KW_DROP","KW_EACH","KW_ELSE","KW_ELSEIF","KW_EMPTY","KW_ENCLOSED","KW_ENFORCED","KW_ESCAPED","KW_EXCEPT","KW_EXISTS","KW_EXIT","KW_EXPLAIN","KW_FALSE","KW_FETCH","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FROM","KW_FULLTEXT","KW_GENERATE","KW_GENERATED","KW_GET","KW_GRANT","KW_GROUP","KW_HAVING","KW_HIGH_PRIORITY","KW_HISTOGRAM","KW_IF","KW_IGNORE","KW_IN","KW_INACTIVE","KW_INDEX","KW_INFILE","KW_INNER","KW_INOUT","KW_INSERT","KW_INTERVAL","KW_INTO","KW_IS","KW_ITERATE","KW_JOIN","KW_KEY","KW_KEYS","KW_KILL","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINEAR","KW_LINES","KW_LOAD","KW_LOCK","KW_LOCKED","KW_LOOP","KW_LOW_PRIORITY","KW_MASTER_BIND","KW_MASTER_SSL_VERIFY_SERVER_CERT","KW_MATCH","KW_MAXVALUE","KW_MODIFIES","KW_NATURAL","KW_NOT","KW_NO_WRITE_TO_BINLOG","KW_NULL_LITERAL","KW_NUMBER","KW_STREAM","KW_ON","KW_OPTIMIZE","KW_OPTION","KW_OPTIONAL","KW_OPTIONALLY","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTFILE","KW_OVER","KW_PARTITION","KW_PRIMARY","KW_PROCEDURE","KW_PURGE","KW_RANGE","KW_READ","KW_READS","KW_REFERENCE","KW_REFERENCES","KW_REGEXP","KW_RELEASE","KW_RENAME","KW_REPEAT","KW_REPLACE","KW_REQUIRE","KW_RESIGNAL","KW_RESTRICT","KW_RETAIN","KW_RETURN","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SET","KW_SEPARATOR","KW_SHOW","KW_SIGNAL","KW_SKIP","KW_SKIP_QUERY_REWRITE","KW_SPATIAL","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQL_BIG_RESULT","KW_SQL_CALC_FOUND_ROWS","KW_SQL_SMALL_RESULT","KW_SSL","KW_STACKED","KW_STARTING","KW_STRAIGHT_JOIN","KW_TABLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRAILING","KW_TRIGGER","KW_TRUE","KW_UNDO","KW_UNION","KW_UNIQUE","KW_UNLOCK","KW_UNSIGNED","KW_UPDATE","KW_USAGE","KW_USE","KW_USING","KW_VALUES","KW_VCPU","KW_WHEN","KW_WHERE","KW_WHILE","KW_WITH","KW_WRITE","KW_XOR","KW_ZEROFILL","KW_TINYINT","KW_SMALLINT","KW_MEDIUMINT","KW_MIDDLEINT","KW_INT","KW_INT1","KW_INT2","KW_INT3","KW_INT4","KW_INT8","KW_INTEGER","KW_BIGINT","KW_REAL","KW_DOUBLE","KW_PRECISION","KW_FLOAT","KW_FLOAT4","KW_FLOAT8","KW_DECIMAL","KW_DEC","KW_NUMERIC","KW_DATE","KW_TIME","KW_TIMESTAMP","KW_DATETIME","KW_YEAR","KW_CHAR","KW_VARCHAR","KW_NVARCHAR","KW_NATIONAL","KW_BINARY","KW_VARBINARY","KW_TINYBLOB","KW_BLOB","KW_MEDIUMBLOB","KW_LONG","KW_LONGBLOB","KW_TINYTEXT","KW_TEXT","KW_MEDIUMTEXT","KW_LONGTEXT","KW_ENUM","KW_VARYING","KW_SERIAL","KW_YEAR_MONTH","KW_DAY_HOUR","KW_DAY_MINUTE","KW_DAY_SECOND","KW_HOUR_MINUTE","KW_HOUR_SECOND","KW_MINUTE_SECOND","KW_SECOND_MICROSECOND","KW_MINUTE_MICROSECOND","KW_HOUR_MICROSECOND","KW_DAY_MICROSECOND","KW_JSON_TABLE","KW_JSON_VALUE","KW_NESTED","KW_ORDINALITY","KW_PATH","KW_AVG","KW_BIT_AND","KW_BIT_OR","KW_BIT_XOR","KW_COUNT","KW_CUME_DIST","KW_DENSE_RANK","KW_FIRST_VALUE","KW_GROUP_CONCAT","KW_LAG","KW_LAST_VALUE","KW_LEAD","KW_MAX","KW_MIN","KW_NTILE","KW_NTH_VALUE","KW_PERCENT_RANK","KW_RANK","KW_ROW_NUMBER","KW_STD","KW_STDDEV","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_SUM","KW_VAR_POP","KW_VAR_SAMP","KW_VARIANCE","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_LOCALTIME","KW_CURDATE","KW_CURTIME","KW_DATE_ADD","KW_DATE_SUB","KW_EXTRACT","KW_LOCALTIMESTAMP","KW_NOW","KW_POSITION","KW_SUBSTR","KW_SUBSTRING","KW_SYSDATE","KW_TRIM","KW_UTC_DATE","KW_UTC_TIME","KW_UTC_TIMESTAMP","KW_ACCOUNT","KW_ACTION","KW_AFTER","KW_AGGREGATE","KW_ALGORITHM","KW_ANY","KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS","KW_AT","KW_AUTHORS","KW_AUTOCOMMIT","KW_AUTOEXTEND_SIZE","KW_AUTO_INCREMENT","KW_AVG_ROW_LENGTH","KW_BEGIN","KW_BINLOG","KW_BIT","KW_BLOCK","KW_BOOL","KW_BOOLEAN","KW_BTREE","KW_CACHE","KW_CASCADED","KW_CHAIN","KW_CHANGED","KW_CHANNEL","KW_CHECKSUM","KW_CHALLENGE_RESPONSE","KW_CIPHER","KW_CLASS_ORIGIN","KW_CLIENT","KW_CLOSE","KW_COALESCE","KW_CODE","KW_COLUMNS","KW_COLUMN_FORMAT","KW_COLUMN_NAME","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPLETION","KW_COMPONENT","KW_COMPRESSED","KW_COMPRESSION","KW_CONCURRENT","KW_CONNECT","KW_CONNECTION","KW_CONSISTENT","KW_CONSTRAINT_CATALOG","KW_CONSTRAINT_SCHEMA","KW_CONSTRAINT_NAME","KW_CONTAINS","KW_CONTEXT","KW_CONTRIBUTORS","KW_COPY","KW_CPU","KW_CURSOR_NAME","KW_DATA","KW_DATAFILE","KW_DEALLOCATE","KW_DEFAULT_AUTH","KW_DEFINER","KW_DELAY_KEY_WRITE","KW_DES_KEY_FILE","KW_DIRECTORY","KW_DISABLE","KW_DISCARD","KW_DISK","KW_DO","KW_DUMPFILE","KW_DUPLICATE","KW_DYNAMIC","KW_ENABLE","KW_ENCRYPTION","KW_ENCRYPTION_KEY_ID","KW_END","KW_ENDS","KW_ENGINE","KW_ENGINES","KW_ERROR","KW_ERRORS","KW_ESCAPE","KW_EVENT","KW_EVENTS","KW_EVERY","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXPIRE","KW_EXPORT","KW_EXTENDED","KW_EXTENT_SIZE","KW_FACTOR","KW_FAILED_LOGIN_ATTEMPTS","KW_FAST","KW_FAULTS","KW_FIELDS","KW_FILE_BLOCK_SIZE","KW_FILTER","KW_FINISH","KW_FIRST","KW_FIXED","KW_FLUSH","KW_FOLLOWING","KW_FOLLOWS","KW_FOUND","KW_FULL","KW_FUNCTION","KW_GENERAL","KW_GET_MASTER_PUBLIC_KEY","KW_GET_SOURCE_PUBLIC_KEY","KW_GLOBAL","KW_GRANTS","KW_GROUP_REPLICATION","KW_GTID_ONLY","KW_HANDLER","KW_HASH","KW_HELP","KW_HISTORY","KW_HOST","KW_HOSTS","KW_IDENTIFIED","KW_IGNORE_SERVER_IDS","KW_IMPORT","KW_INDEXES","KW_INITIAL","KW_INITIAL_SIZE","KW_INITIATE","KW_INPLACE","KW_INSERT_METHOD","KW_INSTALL","KW_INSTANCE","KW_INSTANT","KW_INVISIBLE","KW_INVOKER","KW_IO","KW_IO_THREAD","KW_IPC","KW_ISOLATION","KW_ISSUER","KW_JSON","KW_KEY_BLOCK_SIZE","KW_LANGUAGE","KW_LAST","KW_LEAVES","KW_LESS","KW_LEVEL","KW_LIST","KW_LOCAL","KW_LOGFILE","KW_LOGS","KW_MASTER","KW_MASTER_AUTO_POSITION","KW_MASTER_COMPRESSION_ALGORITHMS","KW_MASTER_CONNECT_RETRY","KW_MASTER_DELAY","KW_MASTER_HEARTBEAT_PERIOD","KW_MASTER_HOST","KW_MASTER_LOG_FILE","KW_MASTER_LOG_POS","KW_MASTER_PASSWORD","KW_MASTER_PORT","KW_MASTER_PUBLIC_KEY_PATH","KW_MASTER_RETRY_COUNT","KW_MASTER_SSL","KW_MASTER_SSL_CA","KW_MASTER_SSL_CAPATH","KW_MASTER_SSL_CERT","KW_MASTER_SSL_CIPHER","KW_MASTER_SSL_CRL","KW_MASTER_SSL_CRLPATH","KW_MASTER_SSL_KEY","KW_MASTER_TLS_CIPHERSUITES","KW_MASTER_TLS_VERSION","KW_MASTER_USER","KW_MASTER_ZSTD_COMPRESSION_LEVEL","KW_MAX_CONNECTIONS_PER_HOUR","KW_MAX_QUERIES_PER_HOUR","KW_MAX_ROWS","KW_MAX_SIZE","KW_MAX_UPDATES_PER_HOUR","KW_MAX_USER_CONNECTIONS","KW_MEDIUM","KW_MEMBER","KW_MERGE","KW_MESSAGE_TEXT","KW_MID","KW_MIGRATE","KW_MIN_ROWS","KW_MODE","KW_MODIFY","KW_MUTEX","KW_MYSQL","KW_MYSQL_ERRNO","KW_NAME","KW_NAMES","KW_NCHAR","KW_NETWORK_NAMESPACE","KW_NEVER","KW_NEXT","KW_NO","KW_NOWAIT","KW_NODEGROUP","KW_NONE","KW_ODBC","KW_OFF","KW_OFFLINE","KW_OFFSET","KW_OF","KW_OLD","KW_OLD_PASSWORD","KW_ONE","KW_ONLINE","KW_ONLY","KW_OPEN","KW_OPTIMIZER_COSTS","KW_OPTIONS","KW_OWNER","KW_PACK_KEYS","KW_PAGE","KW_PAGE_CHECKSUM","KW_PAGE_COMPRESSED","KW_PAGE_COMPRESSION_LEVEL","KW_PARSER","KW_PARTIAL","KW_PARTITIONING","KW_PARTITIONS","KW_PASSWORD","KW_PASSWORD_LOCK_TIME","KW_PERSIST","KW_PERSIST_ONLY","KW_PHASE","KW_PLUGIN","KW_PLUGIN_DIR","KW_PLUGINS","KW_PORT","KW_PRECEDES","KW_PRECEDING","KW_PREPARE","KW_PRESERVE","KW_PREV","KW_PRIVILEGE_CHECKS_USER","KW_PROCESSLIST","KW_PROFILE","KW_PROFILES","KW_PROXY","KW_QUERY","KW_QUICK","KW_REBUILD","KW_RECOVER","KW_RECURSIVE","KW_REDO_BUFFER_SIZE","KW_REDUNDANT","KW_REGISTRATION","KW_RELAY","KW_RELAY_LOG_FILE","KW_RELAY_LOG_POS","KW_RELAYLOG","KW_REMOVE","KW_REORGANIZE","KW_REPAIR","KW_REPLICA","KW_REPLICAS","KW_REPLICATE_DO_DB","KW_REPLICATE_DO_TABLE","KW_REPLICATE_IGNORE_DB","KW_REPLICATE_IGNORE_TABLE","KW_REPLICATE_REWRITE_DB","KW_REPLICATE_WILD_DO_TABLE","KW_REPLICATE_WILD_IGNORE_TABLE","KW_REPLICATION","KW_REQUIRE_ROW_FORMAT","KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK","KW_RESET","KW_RESTART","KW_RESUME","KW_RETURNED_SQLSTATE","KW_RETURNING","KW_RETURNS","KW_REUSE","KW_ROLE","KW_ROLLBACK","KW_ROLLUP","KW_ROTATE","KW_ROW","KW_ROWS","KW_ROW_FORMAT","KW_SAVEPOINT","KW_SCHEDULE","KW_SECURITY","KW_SERVER","KW_SESSION","KW_SHARE","KW_SHARED","KW_SIGNED","KW_SIMPLE","KW_SLAVE","KW_SLOW","KW_SNAPSHOT","KW_SOCKET","KW_SOME","KW_SONAME","KW_SOUNDS","KW_SOURCE","KW_SOURCE_BIND","KW_SOURCE_HOST","KW_SOURCE_USER","KW_SOURCE_PASSWORD","KW_SOURCE_PORT","KW_SOURCE_LOG_FILE","KW_SOURCE_LOG_POS","KW_SOURCE_AUTO_POSITION","KW_SOURCE_HEARTBEAT_PERIOD","KW_SOURCE_CONNECT_RETRY","KW_SOURCE_RETRY_COUNT","KW_SOURCE_CONNECTION_AUTO_FAILOVER","KW_SOURCE_DELAY","KW_SOURCE_COMPRESSION_ALGORITHMS","KW_SOURCE_ZSTD_COMPRESSION_LEVEL","KW_SOURCE_SSL","KW_SOURCE_SSL_CA","KW_SOURCE_SSL_CAPATH","KW_SOURCE_SSL_CERT","KW_SOURCE_SSL_CRL","KW_SOURCE_SSL_CRLPATH","KW_SOURCE_SSL_KEY","KW_SOURCE_SSL_CIPHER","KW_SOURCE_SSL_VERIFY_SERVER_CERT","KW_SOURCE_TLS_VERSION","KW_SOURCE_TLS_CIPHERSUITES","KW_SOURCE_PUBLIC_KEY_PATH","KW_SQL_AFTER_GTIDS","KW_SQL_AFTER_MTS_GAPS","KW_SQL_BEFORE_GTIDS","KW_SQL_BUFFER_RESULT","KW_SQL_CACHE","KW_SQL_NO_CACHE","KW_SQL_THREAD","KW_START","KW_STARTS","KW_STATS_AUTO_RECALC","KW_STATS_PERSISTENT","KW_STATS_SAMPLE_PAGES","KW_STATUS","KW_STOP","KW_STORAGE","KW_STORED","KW_STRING","KW_SUBCLASS_ORIGIN","KW_SUBJECT","KW_SUBPARTITION","KW_SUBPARTITIONS","KW_SUSPEND","KW_SWAPS","KW_SWITCHES","KW_TABLE_NAME","KW_TABLESPACE","KW_TABLE_TYPE","KW_TEMPORARY","KW_TEMPTABLE","KW_THAN","KW_TRADITIONAL","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TREE","KW_TRIGGERS","KW_TRUNCATE","KW_UNBOUNDED","KW_UNDEFINED","KW_UNDOFILE","KW_UNDO_BUFFER_SIZE","KW_UNINSTALL","KW_UNKNOWN","KW_UNREGISTER","KW_UNTIL","KW_UPGRADE","KW_USER","KW_USE_FRM","KW_USER_RESOURCES","KW_VALIDATION","KW_VALUE","KW_VARIABLES","KW_VIEW","KW_VIRTUAL","KW_VISIBLE","KW_WAIT","KW_WARNINGS","KW_WINDOW","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_X509","KW_XA","KW_XML","KW_QUARTER","KW_MONTH","KW_DAY","KW_HOUR","KW_MINUTE","KW_WEEK","KW_SECOND","KW_MICROSECOND","KW_ADMIN","KW_APPLICATION_PASSWORD_ADMIN","KW_AUDIT_ABORT_EXEMPT","KW_AUDIT_ADMIN","KW_AUTHENTICATION","KW_AUTHENTICATION_POLICY_ADMIN","KW_BACKUP_ADMIN","KW_BINLOG_ADMIN","KW_BINLOG_ENCRYPTION_ADMIN","KW_CLONE","KW_CLONE_ADMIN","KW_CONNECTION_ADMIN","KW_ENCRYPTION_KEY_ADMIN","KW_EXECUTE","KW_FILE","KW_FIREWALL_ADMIN","KW_FIREWALL_EXEMPT","KW_FIREWALL_USER","KW_FLUSH_OPTIMIZER_COSTS","KW_FLUSH_STATUS","KW_FLUSH_TABLES","KW_FLUSH_USER_RESOURCES","KW_GROUP_REPLICATION_ADMIN","KW_INNODB_REDO_LOG_ARCHIVE","KW_INNODB_REDO_LOG_ENABLE","KW_INVOKE","KW_LAMBDA","KW_NDB_STORED_USER","KW_PASSWORDLESS_USER_ADMIN","KW_PERSIST_RO_VARIABLES_ADMIN","KW_PRIVILEGES","KW_PROCESS","KW_RELOAD","KW_REPLICATION_APPLIER","KW_REPLICATION_SLAVE_ADMIN","KW_RESOURCE","KW_RESOURCE_GROUP_ADMIN","KW_RESOURCE_GROUP_USER","KW_ROLE_ADMIN","KW_ROUTINE","KW_S3","KW_SERVICE_CONNECTION_ADMIN","KW_SESSION_VARIABLES_ADMIN","KW_SET_USER_ID","KW_SHOW_ROUTINE","KW_SHUTDOWN","KW_SUPER","KW_SYSTEM_VARIABLES_ADMIN","KW_TABLES","KW_TABLE_ENCRYPTION_ADMIN","KW_VERSION_TOKEN_ADMIN","KW_XA_RECOVER_ADMIN","KW_ARMSCII8","KW_ASCII","KW_BIG5","KW_CP1250","KW_CP1251","KW_CP1256","KW_CP1257","KW_CP850","KW_CP852","KW_CP866","KW_CP932","KW_DEC8","KW_EUCJPMS","KW_EUCKR","KW_GB18030","KW_GB2312","KW_GBK","KW_GEOSTD8","KW_GREEK","KW_HEBREW","KW_HP8","KW_KEYBCS2","KW_KOI8R","KW_KOI8U","KW_LATIN1","KW_LATIN2","KW_LATIN5","KW_LATIN7","KW_MACCE","KW_MACROMAN","KW_SJIS","KW_SWE7","KW_TIS620","KW_UCS2","KW_UJIS","KW_UTF16","KW_UTF16LE","KW_UTF32","KW_UTF8","KW_UTF8MB3","KW_UTF8MB4","KW_ARCHIVE","KW_BLACKHOLE","KW_CSV","KW_FEDERATED","KW_INNODB","KW_MEMORY","KW_MRG_MYISAM","KW_MYISAM","KW_NDB","KW_NDBCLUSTER","KW_PERFORMANCE_SCHEMA","KW_TOKUDB","KW_REPEATABLE","KW_COMMITTED","KW_UNCOMMITTED","KW_SERIALIZABLE","KW_GEOMETRYCOLLECTION","KW_GEOMCOLLECTION","KW_GEOMETRY","KW_LINESTRING","KW_MULTILINESTRING","KW_MULTIPOINT","KW_MULTIPOLYGON","KW_POINT","KW_POLYGON","KW_CATALOG_NAME","KW_CHARSET","KW_COLLATION","KW_ENGINE_ATTRIBUTE","KW_FORMAT","KW_GET_FORMAT","KW_INTERSECT","KW_RANDOM","KW_REVERSE","KW_ROW_COUNT","KW_SCHEMA_NAME","KW_SECONDARY_ENGINE_ATTRIBUTE","KW_SRID","KW_SYSTEM","KW_SYSTEM_USER","KW_THREAD_PRIORITY","KW_TP_CONNECTION_ADMIN","KW_TYPE","KW_WEIGHT_STRING","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","THREE_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","PERSIST_ID","ERROR_RECONGNIGION"],o.modeNames=["DEFAULT_MODE"],o.ruleNames=["SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","KW_ACTIVE","KW_ADD","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ARRAY","KW_AS","KW_ASC","KW_ATTRIBUTE","KW_BEFORE","KW_BETWEEN","KW_BOTH","KW_BUCKETS","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CHANGE","KW_CHARACTER","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONDITION","KW_CONSTRAINT","KW_CONTINUE","KW_CONVERT","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_USER","KW_CURSOR","KW_DATABASE","KW_DATABASES","KW_DECLARE","KW_DEFAULT","KW_DELAYED","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DETERMINISTIC","KW_DIAGNOSTICS","KW_DISTINCT","KW_DISTINCTROW","KW_DROP","KW_EACH","KW_ELSE","KW_ELSEIF","KW_EMPTY","KW_ENCLOSED","KW_ENFORCED","KW_ESCAPED","KW_EXCEPT","KW_EXISTS","KW_EXIT","KW_EXPLAIN","KW_FALSE","KW_FETCH","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FROM","KW_FULLTEXT","KW_GENERATE","KW_GENERATED","KW_GET","KW_GRANT","KW_GROUP","KW_HAVING","KW_HIGH_PRIORITY","KW_HISTOGRAM","KW_IF","KW_IGNORE","KW_IN","KW_INACTIVE","KW_INDEX","KW_INFILE","KW_INNER","KW_INOUT","KW_INSERT","KW_INTERVAL","KW_INTO","KW_IS","KW_ITERATE","KW_JOIN","KW_KEY","KW_KEYS","KW_KILL","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINEAR","KW_LINES","KW_LOAD","KW_LOCK","KW_LOCKED","KW_LOOP","KW_LOW_PRIORITY","KW_MASTER_BIND","KW_MASTER_SSL_VERIFY_SERVER_CERT","KW_MATCH","KW_MAXVALUE","KW_MODIFIES","KW_NATURAL","KW_NOT","KW_NO_WRITE_TO_BINLOG","KW_NULL_LITERAL","KW_NUMBER","KW_STREAM","KW_ON","KW_OPTIMIZE","KW_OPTION","KW_OPTIONAL","KW_OPTIONALLY","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTFILE","KW_OVER","KW_PARTITION","KW_PRIMARY","KW_PROCEDURE","KW_PURGE","KW_RANGE","KW_READ","KW_READS","KW_REFERENCE","KW_REFERENCES","KW_REGEXP","KW_RELEASE","KW_RENAME","KW_REPEAT","KW_REPLACE","KW_REQUIRE","KW_RESIGNAL","KW_RESTRICT","KW_RETAIN","KW_RETURN","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SET","KW_SEPARATOR","KW_SHOW","KW_SIGNAL","KW_SKIP","KW_SKIP_QUERY_REWRITE","KW_SPATIAL","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQL_BIG_RESULT","KW_SQL_CALC_FOUND_ROWS","KW_SQL_SMALL_RESULT","KW_SSL","KW_STACKED","KW_STARTING","KW_STRAIGHT_JOIN","KW_TABLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRAILING","KW_TRIGGER","KW_TRUE","KW_UNDO","KW_UNION","KW_UNIQUE","KW_UNLOCK","KW_UNSIGNED","KW_UPDATE","KW_USAGE","KW_USE","KW_USING","KW_VALUES","KW_VCPU","KW_WHEN","KW_WHERE","KW_WHILE","KW_WITH","KW_WRITE","KW_XOR","KW_ZEROFILL","KW_TINYINT","KW_SMALLINT","KW_MEDIUMINT","KW_MIDDLEINT","KW_INT","KW_INT1","KW_INT2","KW_INT3","KW_INT4","KW_INT8","KW_INTEGER","KW_BIGINT","KW_REAL","KW_DOUBLE","KW_PRECISION","KW_FLOAT","KW_FLOAT4","KW_FLOAT8","KW_DECIMAL","KW_DEC","KW_NUMERIC","KW_DATE","KW_TIME","KW_TIMESTAMP","KW_DATETIME","KW_YEAR","KW_CHAR","KW_VARCHAR","KW_NVARCHAR","KW_NATIONAL","KW_BINARY","KW_VARBINARY","KW_TINYBLOB","KW_BLOB","KW_MEDIUMBLOB","KW_LONG","KW_LONGBLOB","KW_TINYTEXT","KW_TEXT","KW_MEDIUMTEXT","KW_LONGTEXT","KW_ENUM","KW_VARYING","KW_SERIAL","KW_YEAR_MONTH","KW_DAY_HOUR","KW_DAY_MINUTE","KW_DAY_SECOND","KW_HOUR_MINUTE","KW_HOUR_SECOND","KW_MINUTE_SECOND","KW_SECOND_MICROSECOND","KW_MINUTE_MICROSECOND","KW_HOUR_MICROSECOND","KW_DAY_MICROSECOND","KW_JSON_TABLE","KW_JSON_VALUE","KW_NESTED","KW_ORDINALITY","KW_PATH","KW_AVG","KW_BIT_AND","KW_BIT_OR","KW_BIT_XOR","KW_COUNT","KW_CUME_DIST","KW_DENSE_RANK","KW_FIRST_VALUE","KW_GROUP_CONCAT","KW_LAG","KW_LAST_VALUE","KW_LEAD","KW_MAX","KW_MIN","KW_NTILE","KW_NTH_VALUE","KW_PERCENT_RANK","KW_RANK","KW_ROW_NUMBER","KW_STD","KW_STDDEV","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_SUM","KW_VAR_POP","KW_VAR_SAMP","KW_VARIANCE","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_LOCALTIME","KW_CURDATE","KW_CURTIME","KW_DATE_ADD","KW_DATE_SUB","KW_EXTRACT","KW_LOCALTIMESTAMP","KW_NOW","KW_POSITION","KW_SUBSTR","KW_SUBSTRING","KW_SYSDATE","KW_TRIM","KW_UTC_DATE","KW_UTC_TIME","KW_UTC_TIMESTAMP","KW_ACCOUNT","KW_ACTION","KW_AFTER","KW_AGGREGATE","KW_ALGORITHM","KW_ANY","KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS","KW_AT","KW_AUTHORS","KW_AUTOCOMMIT","KW_AUTOEXTEND_SIZE","KW_AUTO_INCREMENT","KW_AVG_ROW_LENGTH","KW_BEGIN","KW_BINLOG","KW_BIT","KW_BLOCK","KW_BOOL","KW_BOOLEAN","KW_BTREE","KW_CACHE","KW_CASCADED","KW_CHAIN","KW_CHANGED","KW_CHANNEL","KW_CHECKSUM","KW_CHALLENGE_RESPONSE","KW_CIPHER","KW_CLASS_ORIGIN","KW_CLIENT","KW_CLOSE","KW_COALESCE","KW_CODE","KW_COLUMNS","KW_COLUMN_FORMAT","KW_COLUMN_NAME","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPLETION","KW_COMPONENT","KW_COMPRESSED","KW_COMPRESSION","KW_CONCURRENT","KW_CONNECT","KW_CONNECTION","KW_CONSISTENT","KW_CONSTRAINT_CATALOG","KW_CONSTRAINT_SCHEMA","KW_CONSTRAINT_NAME","KW_CONTAINS","KW_CONTEXT","KW_CONTRIBUTORS","KW_COPY","KW_CPU","KW_CURSOR_NAME","KW_DATA","KW_DATAFILE","KW_DEALLOCATE","KW_DEFAULT_AUTH","KW_DEFINER","KW_DELAY_KEY_WRITE","KW_DES_KEY_FILE","KW_DIRECTORY","KW_DISABLE","KW_DISCARD","KW_DISK","KW_DO","KW_DUMPFILE","KW_DUPLICATE","KW_DYNAMIC","KW_ENABLE","KW_ENCRYPTION","KW_ENCRYPTION_KEY_ID","KW_END","KW_ENDS","KW_ENGINE","KW_ENGINES","KW_ERROR","KW_ERRORS","KW_ESCAPE","KW_EVENT","KW_EVENTS","KW_EVERY","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXPIRE","KW_EXPORT","KW_EXTENDED","KW_EXTENT_SIZE","KW_FACTOR","KW_FAILED_LOGIN_ATTEMPTS","KW_FAST","KW_FAULTS","KW_FIELDS","KW_FILE_BLOCK_SIZE","KW_FILTER","KW_FINISH","KW_FIRST","KW_FIXED","KW_FLUSH","KW_FOLLOWING","KW_FOLLOWS","KW_FOUND","KW_FULL","KW_FUNCTION","KW_GENERAL","KW_GET_MASTER_PUBLIC_KEY","KW_GET_SOURCE_PUBLIC_KEY","KW_GLOBAL","KW_GRANTS","KW_GROUP_REPLICATION","KW_GTID_ONLY","KW_HANDLER","KW_HASH","KW_HELP","KW_HISTORY","KW_HOST","KW_HOSTS","KW_IDENTIFIED","KW_IGNORE_SERVER_IDS","KW_IMPORT","KW_INDEXES","KW_INITIAL","KW_INITIAL_SIZE","KW_INITIATE","KW_INPLACE","KW_INSERT_METHOD","KW_INSTALL","KW_INSTANCE","KW_INSTANT","KW_INVISIBLE","KW_INVOKER","KW_IO","KW_IO_THREAD","KW_IPC","KW_ISOLATION","KW_ISSUER","KW_JSON","KW_KEY_BLOCK_SIZE","KW_LANGUAGE","KW_LAST","KW_LEAVES","KW_LESS","KW_LEVEL","KW_LIST","KW_LOCAL","KW_LOGFILE","KW_LOGS","KW_MASTER","KW_MASTER_AUTO_POSITION","KW_MASTER_COMPRESSION_ALGORITHMS","KW_MASTER_CONNECT_RETRY","KW_MASTER_DELAY","KW_MASTER_HEARTBEAT_PERIOD","KW_MASTER_HOST","KW_MASTER_LOG_FILE","KW_MASTER_LOG_POS","KW_MASTER_PASSWORD","KW_MASTER_PORT","KW_MASTER_PUBLIC_KEY_PATH","KW_MASTER_RETRY_COUNT","KW_MASTER_SSL","KW_MASTER_SSL_CA","KW_MASTER_SSL_CAPATH","KW_MASTER_SSL_CERT","KW_MASTER_SSL_CIPHER","KW_MASTER_SSL_CRL","KW_MASTER_SSL_CRLPATH","KW_MASTER_SSL_KEY","KW_MASTER_TLS_CIPHERSUITES","KW_MASTER_TLS_VERSION","KW_MASTER_USER","KW_MASTER_ZSTD_COMPRESSION_LEVEL","KW_MAX_CONNECTIONS_PER_HOUR","KW_MAX_QUERIES_PER_HOUR","KW_MAX_ROWS","KW_MAX_SIZE","KW_MAX_UPDATES_PER_HOUR","KW_MAX_USER_CONNECTIONS","KW_MEDIUM","KW_MEMBER","KW_MERGE","KW_MESSAGE_TEXT","KW_MID","KW_MIGRATE","KW_MIN_ROWS","KW_MODE","KW_MODIFY","KW_MUTEX","KW_MYSQL","KW_MYSQL_ERRNO","KW_NAME","KW_NAMES","KW_NCHAR","KW_NETWORK_NAMESPACE","KW_NEVER","KW_NEXT","KW_NO","KW_NOWAIT","KW_NODEGROUP","KW_NONE","KW_ODBC","KW_OFF","KW_OFFLINE","KW_OFFSET","KW_OF","KW_OLD","KW_OLD_PASSWORD","KW_ONE","KW_ONLINE","KW_ONLY","KW_OPEN","KW_OPTIMIZER_COSTS","KW_OPTIONS","KW_OWNER","KW_PACK_KEYS","KW_PAGE","KW_PAGE_CHECKSUM","KW_PAGE_COMPRESSED","KW_PAGE_COMPRESSION_LEVEL","KW_PARSER","KW_PARTIAL","KW_PARTITIONING","KW_PARTITIONS","KW_PASSWORD","KW_PASSWORD_LOCK_TIME","KW_PERSIST","KW_PERSIST_ONLY","KW_PHASE","KW_PLUGIN","KW_PLUGIN_DIR","KW_PLUGINS","KW_PORT","KW_PRECEDES","KW_PRECEDING","KW_PREPARE","KW_PRESERVE","KW_PREV","KW_PRIVILEGE_CHECKS_USER","KW_PROCESSLIST","KW_PROFILE","KW_PROFILES","KW_PROXY","KW_QUERY","KW_QUICK","KW_REBUILD","KW_RECOVER","KW_RECURSIVE","KW_REDO_BUFFER_SIZE","KW_REDUNDANT","KW_REGISTRATION","KW_RELAY","KW_RELAY_LOG_FILE","KW_RELAY_LOG_POS","KW_RELAYLOG","KW_REMOVE","KW_REORGANIZE","KW_REPAIR","KW_REPLICA","KW_REPLICAS","KW_REPLICATE_DO_DB","KW_REPLICATE_DO_TABLE","KW_REPLICATE_IGNORE_DB","KW_REPLICATE_IGNORE_TABLE","KW_REPLICATE_REWRITE_DB","KW_REPLICATE_WILD_DO_TABLE","KW_REPLICATE_WILD_IGNORE_TABLE","KW_REPLICATION","KW_REQUIRE_ROW_FORMAT","KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK","KW_RESET","KW_RESTART","KW_RESUME","KW_RETURNED_SQLSTATE","KW_RETURNING","KW_RETURNS","KW_REUSE","KW_ROLE","KW_ROLLBACK","KW_ROLLUP","KW_ROTATE","KW_ROW","KW_ROWS","KW_ROW_FORMAT","KW_SAVEPOINT","KW_SCHEDULE","KW_SECURITY","KW_SERVER","KW_SESSION","KW_SHARE","KW_SHARED","KW_SIGNED","KW_SIMPLE","KW_SLAVE","KW_SLOW","KW_SNAPSHOT","KW_SOCKET","KW_SOME","KW_SONAME","KW_SOUNDS","KW_SOURCE","KW_SOURCE_BIND","KW_SOURCE_HOST","KW_SOURCE_USER","KW_SOURCE_PASSWORD","KW_SOURCE_PORT","KW_SOURCE_LOG_FILE","KW_SOURCE_LOG_POS","KW_SOURCE_AUTO_POSITION","KW_SOURCE_HEARTBEAT_PERIOD","KW_SOURCE_CONNECT_RETRY","KW_SOURCE_RETRY_COUNT","KW_SOURCE_CONNECTION_AUTO_FAILOVER","KW_SOURCE_DELAY","KW_SOURCE_COMPRESSION_ALGORITHMS","KW_SOURCE_ZSTD_COMPRESSION_LEVEL","KW_SOURCE_SSL","KW_SOURCE_SSL_CA","KW_SOURCE_SSL_CAPATH","KW_SOURCE_SSL_CERT","KW_SOURCE_SSL_CRL","KW_SOURCE_SSL_CRLPATH","KW_SOURCE_SSL_KEY","KW_SOURCE_SSL_CIPHER","KW_SOURCE_SSL_VERIFY_SERVER_CERT","KW_SOURCE_TLS_VERSION","KW_SOURCE_TLS_CIPHERSUITES","KW_SOURCE_PUBLIC_KEY_PATH","KW_SQL_AFTER_GTIDS","KW_SQL_AFTER_MTS_GAPS","KW_SQL_BEFORE_GTIDS","KW_SQL_BUFFER_RESULT","KW_SQL_CACHE","KW_SQL_NO_CACHE","KW_SQL_THREAD","KW_START","KW_STARTS","KW_STATS_AUTO_RECALC","KW_STATS_PERSISTENT","KW_STATS_SAMPLE_PAGES","KW_STATUS","KW_STOP","KW_STORAGE","KW_STORED","KW_STRING","KW_SUBCLASS_ORIGIN","KW_SUBJECT","KW_SUBPARTITION","KW_SUBPARTITIONS","KW_SUSPEND","KW_SWAPS","KW_SWITCHES","KW_TABLE_NAME","KW_TABLESPACE","KW_TABLE_TYPE","KW_TEMPORARY","KW_TEMPTABLE","KW_THAN","KW_TRADITIONAL","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TREE","KW_TRIGGERS","KW_TRUNCATE","KW_UNBOUNDED","KW_UNDEFINED","KW_UNDOFILE","KW_UNDO_BUFFER_SIZE","KW_UNINSTALL","KW_UNKNOWN","KW_UNREGISTER","KW_UNTIL","KW_UPGRADE","KW_USER","KW_USE_FRM","KW_USER_RESOURCES","KW_VALIDATION","KW_VALUE","KW_VARIABLES","KW_VIEW","KW_VIRTUAL","KW_VISIBLE","KW_WAIT","KW_WARNINGS","KW_WINDOW","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_X509","KW_XA","KW_XML","KW_QUARTER","KW_MONTH","KW_DAY","KW_HOUR","KW_MINUTE","KW_WEEK","KW_SECOND","KW_MICROSECOND","KW_ADMIN","KW_APPLICATION_PASSWORD_ADMIN","KW_AUDIT_ABORT_EXEMPT","KW_AUDIT_ADMIN","KW_AUTHENTICATION","KW_AUTHENTICATION_POLICY_ADMIN","KW_BACKUP_ADMIN","KW_BINLOG_ADMIN","KW_BINLOG_ENCRYPTION_ADMIN","KW_CLONE","KW_CLONE_ADMIN","KW_CONNECTION_ADMIN","KW_ENCRYPTION_KEY_ADMIN","KW_EXECUTE","KW_FILE","KW_FIREWALL_ADMIN","KW_FIREWALL_EXEMPT","KW_FIREWALL_USER","KW_FLUSH_OPTIMIZER_COSTS","KW_FLUSH_STATUS","KW_FLUSH_TABLES","KW_FLUSH_USER_RESOURCES","KW_GROUP_REPLICATION_ADMIN","KW_INNODB_REDO_LOG_ARCHIVE","KW_INNODB_REDO_LOG_ENABLE","KW_INVOKE","KW_LAMBDA","KW_NDB_STORED_USER","KW_PASSWORDLESS_USER_ADMIN","KW_PERSIST_RO_VARIABLES_ADMIN","KW_PRIVILEGES","KW_PROCESS","KW_RELOAD","KW_REPLICATION_APPLIER","KW_REPLICATION_SLAVE_ADMIN","KW_RESOURCE","KW_RESOURCE_GROUP_ADMIN","KW_RESOURCE_GROUP_USER","KW_ROLE_ADMIN","KW_ROUTINE","KW_S3","KW_SERVICE_CONNECTION_ADMIN","KW_SESSION_VARIABLES_ADMIN","KW_SET_USER_ID","KW_SHOW_ROUTINE","KW_SHUTDOWN","KW_SUPER","KW_SYSTEM_VARIABLES_ADMIN","KW_TABLES","KW_TABLE_ENCRYPTION_ADMIN","KW_VERSION_TOKEN_ADMIN","KW_XA_RECOVER_ADMIN","KW_ARMSCII8","KW_ASCII","KW_BIG5","KW_CP1250","KW_CP1251","KW_CP1256","KW_CP1257","KW_CP850","KW_CP852","KW_CP866","KW_CP932","KW_DEC8","KW_EUCJPMS","KW_EUCKR","KW_GB18030","KW_GB2312","KW_GBK","KW_GEOSTD8","KW_GREEK","KW_HEBREW","KW_HP8","KW_KEYBCS2","KW_KOI8R","KW_KOI8U","KW_LATIN1","KW_LATIN2","KW_LATIN5","KW_LATIN7","KW_MACCE","KW_MACROMAN","KW_SJIS","KW_SWE7","KW_TIS620","KW_UCS2","KW_UJIS","KW_UTF16","KW_UTF16LE","KW_UTF32","KW_UTF8","KW_UTF8MB3","KW_UTF8MB4","KW_ARCHIVE","KW_BLACKHOLE","KW_CSV","KW_FEDERATED","KW_INNODB","KW_MEMORY","KW_MRG_MYISAM","KW_MYISAM","KW_NDB","KW_NDBCLUSTER","KW_PERFORMANCE_SCHEMA","KW_TOKUDB","KW_REPEATABLE","KW_COMMITTED","KW_UNCOMMITTED","KW_SERIALIZABLE","KW_GEOMETRYCOLLECTION","KW_GEOMCOLLECTION","KW_GEOMETRY","KW_LINESTRING","KW_MULTILINESTRING","KW_MULTIPOINT","KW_MULTIPOLYGON","KW_POINT","KW_POLYGON","KW_CATALOG_NAME","KW_CHARSET","KW_COLLATION","KW_ENGINE_ATTRIBUTE","KW_FORMAT","KW_GET_FORMAT","KW_INTERSECT","KW_RANDOM","KW_REVERSE","KW_ROW_COUNT","KW_SCHEMA_NAME","KW_SECONDARY_ENGINE_ATTRIBUTE","KW_SRID","KW_SYSTEM","KW_SYSTEM_USER","KW_THREAD_PRIORITY","KW_TP_CONNECTION_ADMIN","KW_TYPE","KW_WEIGHT_STRING","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","THREE_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","QUOTE_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","PERSIST_ID","CHARSET_NAME","EXPONENT_NUM_PART","ID_LITERAL","DQUOTA_STRING","SQUOTA_STRING","BQUOTA_STRING","HEX_DIGIT","DEC_DIGIT","BIT_STRING_L","IP_ADDRESS","ERROR_RECONGNIGION"],o._serializedATN=[4,0,895,10421,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,2,606,7,606,2,607,7,607,2,608,7,608,2,609,7,609,2,610,7,610,2,611,7,611,2,612,7,612,2,613,7,613,2,614,7,614,2,615,7,615,2,616,7,616,2,617,7,617,2,618,7,618,2,619,7,619,2,620,7,620,2,621,7,621,2,622,7,622,2,623,7,623,2,624,7,624,2,625,7,625,2,626,7,626,2,627,7,627,2,628,7,628,2,629,7,629,2,630,7,630,2,631,7,631,2,632,7,632,2,633,7,633,2,634,7,634,2,635,7,635,2,636,7,636,2,637,7,637,2,638,7,638,2,639,7,639,2,640,7,640,2,641,7,641,2,642,7,642,2,643,7,643,2,644,7,644,2,645,7,645,2,646,7,646,2,647,7,647,2,648,7,648,2,649,7,649,2,650,7,650,2,651,7,651,2,652,7,652,2,653,7,653,2,654,7,654,2,655,7,655,2,656,7,656,2,657,7,657,2,658,7,658,2,659,7,659,2,660,7,660,2,661,7,661,2,662,7,662,2,663,7,663,2,664,7,664,2,665,7,665,2,666,7,666,2,667,7,667,2,668,7,668,2,669,7,669,2,670,7,670,2,671,7,671,2,672,7,672,2,673,7,673,2,674,7,674,2,675,7,675,2,676,7,676,2,677,7,677,2,678,7,678,2,679,7,679,2,680,7,680,2,681,7,681,2,682,7,682,2,683,7,683,2,684,7,684,2,685,7,685,2,686,7,686,2,687,7,687,2,688,7,688,2,689,7,689,2,690,7,690,2,691,7,691,2,692,7,692,2,693,7,693,2,694,7,694,2,695,7,695,2,696,7,696,2,697,7,697,2,698,7,698,2,699,7,699,2,700,7,700,2,701,7,701,2,702,7,702,2,703,7,703,2,704,7,704,2,705,7,705,2,706,7,706,2,707,7,707,2,708,7,708,2,709,7,709,2,710,7,710,2,711,7,711,2,712,7,712,2,713,7,713,2,714,7,714,2,715,7,715,2,716,7,716,2,717,7,717,2,718,7,718,2,719,7,719,2,720,7,720,2,721,7,721,2,722,7,722,2,723,7,723,2,724,7,724,2,725,7,725,2,726,7,726,2,727,7,727,2,728,7,728,2,729,7,729,2,730,7,730,2,731,7,731,2,732,7,732,2,733,7,733,2,734,7,734,2,735,7,735,2,736,7,736,2,737,7,737,2,738,7,738,2,739,7,739,2,740,7,740,2,741,7,741,2,742,7,742,2,743,7,743,2,744,7,744,2,745,7,745,2,746,7,746,2,747,7,747,2,748,7,748,2,749,7,749,2,750,7,750,2,751,7,751,2,752,7,752,2,753,7,753,2,754,7,754,2,755,7,755,2,756,7,756,2,757,7,757,2,758,7,758,2,759,7,759,2,760,7,760,2,761,7,761,2,762,7,762,2,763,7,763,2,764,7,764,2,765,7,765,2,766,7,766,2,767,7,767,2,768,7,768,2,769,7,769,2,770,7,770,2,771,7,771,2,772,7,772,2,773,7,773,2,774,7,774,2,775,7,775,2,776,7,776,2,777,7,777,2,778,7,778,2,779,7,779,2,780,7,780,2,781,7,781,2,782,7,782,2,783,7,783,2,784,7,784,2,785,7,785,2,786,7,786,2,787,7,787,2,788,7,788,2,789,7,789,2,790,7,790,2,791,7,791,2,792,7,792,2,793,7,793,2,794,7,794,2,795,7,795,2,796,7,796,2,797,7,797,2,798,7,798,2,799,7,799,2,800,7,800,2,801,7,801,2,802,7,802,2,803,7,803,2,804,7,804,2,805,7,805,2,806,7,806,2,807,7,807,2,808,7,808,2,809,7,809,2,810,7,810,2,811,7,811,2,812,7,812,2,813,7,813,2,814,7,814,2,815,7,815,2,816,7,816,2,817,7,817,2,818,7,818,2,819,7,819,2,820,7,820,2,821,7,821,2,822,7,822,2,823,7,823,2,824,7,824,2,825,7,825,2,826,7,826,2,827,7,827,2,828,7,828,2,829,7,829,2,830,7,830,2,831,7,831,2,832,7,832,2,833,7,833,2,834,7,834,2,835,7,835,2,836,7,836,2,837,7,837,2,838,7,838,2,839,7,839,2,840,7,840,2,841,7,841,2,842,7,842,2,843,7,843,2,844,7,844,2,845,7,845,2,846,7,846,2,847,7,847,2,848,7,848,2,849,7,849,2,850,7,850,2,851,7,851,2,852,7,852,2,853,7,853,2,854,7,854,2,855,7,855,2,856,7,856,2,857,7,857,2,858,7,858,2,859,7,859,2,860,7,860,2,861,7,861,2,862,7,862,2,863,7,863,2,864,7,864,2,865,7,865,2,866,7,866,2,867,7,867,2,868,7,868,2,869,7,869,2,870,7,870,2,871,7,871,2,872,7,872,2,873,7,873,2,874,7,874,2,875,7,875,2,876,7,876,2,877,7,877,2,878,7,878,2,879,7,879,2,880,7,880,2,881,7,881,2,882,7,882,2,883,7,883,2,884,7,884,2,885,7,885,2,886,7,886,2,887,7,887,2,888,7,888,2,889,7,889,2,890,7,890,2,891,7,891,2,892,7,892,2,893,7,893,2,894,7,894,2,895,7,895,2,896,7,896,2,897,7,897,2,898,7,898,2,899,7,899,2,900,7,900,2,901,7,901,2,902,7,902,2,903,7,903,2,904,7,904,2,905,7,905,1,0,4,0,1815,8,0,11,0,12,0,1816,1,0,1,0,1,1,1,1,1,1,1,1,1,1,4,1,1826,8,1,11,1,12,1,1827,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,5,2,1839,8,2,10,2,12,2,1842,9,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,5,3,1853,8,3,10,3,12,3,1856,9,3,1,3,3,3,1859,8,3,1,3,5,3,1862,8,3,10,3,12,3,1865,9,3,1,3,3,3,1868,8,3,1,3,1,3,3,3,1872,8,3,1,3,1,3,1,3,1,3,3,3,1878,8,3,1,3,1,3,3,3,1882,8,3,3,3,1884,8,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,504,1,504,1,504,1,505,1,505,1,505,1,505,1,505,1,506,1,506,1,506,1,506,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,509,1,509,1,509,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,512,1,512,1,512,1,512,1,513,1,513,1,513,1,513,1,513,1,513,1,513,1,514,1,514,1,514,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,517,1,517,1,517,1,517,1,517,1,517,1,517,1,517,1,518,1,518,1,518,1,518,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,520,1,520,1,520,1,520,1,520,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,532,1,532,1,532,1,532,1,532,1,532,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,536,1,536,1,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,1,548,1,548,1,548,1,548,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,552,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,555,1,555,1,555,1,555,1,555,1,555,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,556,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,559,1,559,1,559,1,559,1,559,1,559,1,559,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,561,1,561,1,561,1,561,1,561,1,561,1,561,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,566,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,567,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,574,1,574,1,574,1,574,1,574,1,574,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,576,1,576,1,576,1,576,1,576,1,576,1,576,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,579,1,579,1,579,1,579,1,579,1,579,1,579,1,579,1,580,1,580,1,580,1,580,1,580,1,580,1,581,1,581,1,581,1,581,1,581,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,585,1,585,1,585,1,585,1,586,1,586,1,586,1,586,1,586,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,588,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,593,1,593,1,593,1,593,1,593,1,593,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,597,1,597,1,597,1,597,1,597,1,597,1,598,1,598,1,598,1,598,1,598,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,601,1,601,1,601,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,604,1,604,1,604,1,604,1,604,1,604,1,604,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,617,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,639,1,639,1,639,1,639,1,639,1,639,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,643,1,644,1,644,1,644,1,644,1,644,1,644,1,644,1,645,1,645,1,645,1,645,1,645,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,648,1,648,1,648,1,648,1,648,1,648,1,648,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,650,1,650,1,650,1,650,1,650,1,650,1,650,1,650,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,654,1,654,1,654,1,654,1,654,1,654,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,661,1,661,1,661,1,661,1,661,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,662,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,664,1,665,1,665,1,665,1,665,1,665,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,668,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,670,1,670,1,670,1,670,1,670,1,670,1,670,1,670,1,670,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,675,1,675,1,675,1,675,1,675,1,675,1,676,1,676,1,676,1,676,1,676,1,676,1,676,1,676,1,677,1,677,1,677,1,677,1,677,1,678,1,678,1,678,1,678,1,678,1,678,1,678,1,678,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,680,1,681,1,681,1,681,1,681,1,681,1,681,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,683,1,683,1,683,1,683,1,683,1,684,1,684,1,684,1,684,1,684,1,684,1,684,1,684,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,686,1,686,1,686,1,686,1,686,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,688,1,688,1,688,1,688,1,688,1,688,1,688,1,689,1,689,1,689,1,689,1,689,1,689,1,689,1,689,1,690,1,690,1,690,1,690,1,690,1,691,1,691,1,691,1,691,1,691,1,691,1,691,1,691,1,692,1,692,1,692,1,692,1,692,1,693,1,693,1,693,1,694,1,694,1,694,1,694,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,696,1,696,1,696,1,696,1,696,1,696,1,697,1,697,1,697,1,697,1,698,1,698,1,698,1,698,1,698,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,700,1,700,1,700,1,700,1,700,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,703,1,703,1,703,1,703,1,703,1,703,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,712,1,712,1,712,1,712,1,712,1,712,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,717,1,717,1,717,1,717,1,717,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,739,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,743,1,743,1,743,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,745,3,745,9138,8,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,3,745,9165,8,745,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,746,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,747,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,749,1,749,1,749,1,749,1,749,1,749,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,751,1,751,1,751,1,751,1,751,1,751,1,751,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,752,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,753,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,755,1,755,1,755,1,755,1,755,1,755,1,755,1,755,1,755,1,756,1,756,1,756,1,756,1,756,1,756,1,757,1,757,1,757,1,757,1,757,1,758,1,758,1,758,1,758,1,758,1,758,1,758,1,759,1,759,1,759,1,759,1,759,1,759,1,759,1,760,1,760,1,760,1,760,1,760,1,760,1,760,1,761,1,761,1,761,1,761,1,761,1,761,1,761,1,762,1,762,1,762,1,762,1,762,1,762,1,763,1,763,1,763,1,763,1,763,1,763,1,764,1,764,1,764,1,764,1,764,1,764,1,765,1,765,1,765,1,765,1,765,1,765,1,766,1,766,1,766,1,766,1,766,1,767,1,767,1,767,1,767,1,767,1,767,1,767,1,767,1,768,1,768,1,768,1,768,1,768,1,768,1,769,1,769,1,769,1,769,1,769,1,769,1,769,1,769,1,770,1,770,1,770,1,770,1,770,1,770,1,770,1,771,1,771,1,771,1,771,1,772,1,772,1,772,1,772,1,772,1,772,1,772,1,772,1,773,1,773,1,773,1,773,1,773,1,773,1,774,1,774,1,774,1,774,1,774,1,774,1,774,1,775,1,775,1,775,1,775,1,776,1,776,1,776,1,776,1,776,1,776,1,776,1,776,1,777,1,777,1,777,1,777,1,777,1,777,1,778,1,778,1,778,1,778,1,778,1,778,1,779,1,779,1,779,1,779,1,779,1,779,1,779,1,780,1,780,1,780,1,780,1,780,1,780,1,780,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,782,1,782,1,782,1,782,1,782,1,782,1,782,1,783,1,783,1,783,1,783,1,783,1,783,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,785,1,785,1,785,1,785,1,785,1,786,1,786,1,786,1,786,1,786,1,787,1,787,1,787,1,787,1,787,1,787,1,787,1,788,1,788,1,788,1,788,1,788,1,789,1,789,1,789,1,789,1,789,1,790,1,790,1,790,1,790,1,790,1,790,1,791,1,791,1,791,1,791,1,791,1,791,1,791,1,791,1,792,1,792,1,792,1,792,1,792,1,792,1,793,1,793,1,793,1,793,1,793,1,794,1,794,1,794,1,794,1,794,1,794,1,794,1,794,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,798,1,798,1,798,1,798,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,804,1,804,1,804,1,804,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,809,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,811,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,812,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,817,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,819,1,819,1,819,1,819,1,819,1,819,1,820,1,820,1,820,1,820,1,820,1,820,1,820,1,820,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,821,1,822,1,822,1,822,1,822,1,822,1,822,1,822,1,822,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,828,1,828,1,828,1,828,1,828,1,828,1,828,1,829,1,829,1,829,1,829,1,829,1,829,1,829,1,829,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,831,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,833,1,833,1,833,1,833,1,833,1,834,1,834,1,834,1,834,1,834,1,834,1,834,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,836,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,838,1,838,1,838,1,838,1,838,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,840,1,840,1,840,1,841,1,841,1,841,1,842,1,842,1,842,1,843,1,843,1,843,1,844,1,844,1,844,1,845,1,845,1,845,1,846,1,846,1,846,1,847,1,847,1,847,1,848,1,848,1,848,1,849,1,849,1,850,1,850,1,851,1,851,1,852,1,852,1,853,1,853,1,854,1,854,1,854,1,854,1,855,1,855,1,855,1,855,1,856,1,856,1,857,1,857,1,858,1,858,1,859,1,859,1,860,1,860,1,861,1,861,1,862,1,862,1,863,1,863,1,864,1,864,1,865,1,865,1,866,1,866,1,867,1,867,1,868,1,868,1,869,1,869,1,870,1,870,1,871,1,871,1,872,1,872,1,873,1,873,1,874,1,874,1,875,1,875,1,876,1,876,1,877,1,877,1,878,1,878,1,878,3,878,10133,8,878,1,879,1,879,1,879,1,879,1,880,4,880,10140,8,880,11,880,12,880,10141,1,880,1,880,1,881,1,881,1,881,1,882,1,882,1,882,3,882,10152,8,882,1,883,4,883,10155,8,883,11,883,12,883,10156,1,884,1,884,1,884,1,884,1,884,4,884,10164,8,884,11,884,12,884,10165,1,884,1,884,1,884,1,884,1,884,1,884,4,884,10174,8,884,11,884,12,884,10175,3,884,10178,8,884,1,885,5,885,10181,8,885,10,885,12,885,10184,9,885,1,885,1,885,4,885,10188,8,885,11,885,12,885,10189,1,885,4,885,10193,8,885,11,885,12,885,10194,1,885,1,885,1,885,1,885,5,885,10201,8,885,10,885,12,885,10204,9,885,1,885,1,885,4,885,10208,8,885,11,885,12,885,10209,1,885,1,885,1,885,4,885,10215,8,885,11,885,12,885,10216,1,885,1,885,3,885,10221,8,885,1,886,1,886,1,886,1,887,1,887,1,888,1,888,1,888,1,889,1,889,1,890,1,890,1,891,1,891,1,891,1,892,1,892,1,892,4,892,10241,8,892,11,892,12,892,10242,3,892,10245,8,892,1,893,1,893,1,893,4,893,10250,8,893,11,893,12,893,10251,1,893,3,893,10255,8,893,1,894,1,894,1,894,4,894,10260,8,894,11,894,12,894,10261,1,894,3,894,10265,8,894,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,3,895,10308,8,895,1,896,1,896,3,896,10312,8,896,1,896,4,896,10315,8,896,11,896,12,896,10316,1,897,5,897,10320,8,897,10,897,12,897,10323,9,897,1,897,4,897,10326,8,897,11,897,12,897,10327,1,897,5,897,10331,8,897,10,897,12,897,10334,9,897,1,898,1,898,1,898,1,898,1,898,1,898,5,898,10342,8,898,10,898,12,898,10345,9,898,1,898,1,898,1,899,1,899,1,899,1,899,1,899,1,899,5,899,10355,8,899,10,899,12,899,10358,9,899,1,899,1,899,1,900,1,900,1,900,1,900,5,900,10366,8,900,10,900,12,900,10369,9,900,1,900,1,900,1,901,1,901,1,902,1,902,1,903,1,903,1,903,4,903,10380,8,903,11,903,12,903,10381,1,903,1,903,1,904,4,904,10387,8,904,11,904,12,904,10388,1,904,1,904,4,904,10393,8,904,11,904,12,904,10394,1,904,5,904,10398,8,904,10,904,12,904,10401,9,904,1,904,1,904,5,904,10405,8,904,10,904,12,904,10408,9,904,1,904,1,904,4,904,10412,8,904,11,904,12,904,10413,3,904,10416,8,904,1,905,1,905,1,905,1,905,4,1827,1840,10321,10327,0,906,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,433,867,434,869,435,871,436,873,437,875,438,877,439,879,440,881,441,883,442,885,443,887,444,889,445,891,446,893,447,895,448,897,449,899,450,901,451,903,452,905,453,907,454,909,455,911,456,913,457,915,458,917,459,919,460,921,461,923,462,925,463,927,464,929,465,931,466,933,467,935,468,937,469,939,470,941,471,943,472,945,473,947,474,949,475,951,476,953,477,955,478,957,479,959,480,961,481,963,482,965,483,967,484,969,485,971,486,973,487,975,488,977,489,979,490,981,491,983,492,985,493,987,494,989,495,991,496,993,497,995,498,997,499,999,500,1001,501,1003,502,1005,503,1007,504,1009,505,1011,506,1013,507,1015,508,1017,509,1019,510,1021,511,1023,512,1025,513,1027,514,1029,515,1031,516,1033,517,1035,518,1037,519,1039,520,1041,521,1043,522,1045,523,1047,524,1049,525,1051,526,1053,527,1055,528,1057,529,1059,530,1061,531,1063,532,1065,533,1067,534,1069,535,1071,536,1073,537,1075,538,1077,539,1079,540,1081,541,1083,542,1085,543,1087,544,1089,545,1091,546,1093,547,1095,548,1097,549,1099,550,1101,551,1103,552,1105,553,1107,554,1109,555,1111,556,1113,557,1115,558,1117,559,1119,560,1121,561,1123,562,1125,563,1127,564,1129,565,1131,566,1133,567,1135,568,1137,569,1139,570,1141,571,1143,572,1145,573,1147,574,1149,575,1151,576,1153,577,1155,578,1157,579,1159,580,1161,581,1163,582,1165,583,1167,584,1169,585,1171,586,1173,587,1175,588,1177,589,1179,590,1181,591,1183,592,1185,593,1187,594,1189,595,1191,596,1193,597,1195,598,1197,599,1199,600,1201,601,1203,602,1205,603,1207,604,1209,605,1211,606,1213,607,1215,608,1217,609,1219,610,1221,611,1223,612,1225,613,1227,614,1229,615,1231,616,1233,617,1235,618,1237,619,1239,620,1241,621,1243,622,1245,623,1247,624,1249,625,1251,626,1253,627,1255,628,1257,629,1259,630,1261,631,1263,632,1265,633,1267,634,1269,635,1271,636,1273,637,1275,638,1277,639,1279,640,1281,641,1283,642,1285,643,1287,644,1289,645,1291,646,1293,647,1295,648,1297,649,1299,650,1301,651,1303,652,1305,653,1307,654,1309,655,1311,656,1313,657,1315,658,1317,659,1319,660,1321,661,1323,662,1325,663,1327,664,1329,665,1331,666,1333,667,1335,668,1337,669,1339,670,1341,671,1343,672,1345,673,1347,674,1349,675,1351,676,1353,677,1355,678,1357,679,1359,680,1361,681,1363,682,1365,683,1367,684,1369,685,1371,686,1373,687,1375,688,1377,689,1379,690,1381,691,1383,692,1385,693,1387,694,1389,695,1391,696,1393,697,1395,698,1397,699,1399,700,1401,701,1403,702,1405,703,1407,704,1409,705,1411,706,1413,707,1415,708,1417,709,1419,710,1421,711,1423,712,1425,713,1427,714,1429,715,1431,716,1433,717,1435,718,1437,719,1439,720,1441,721,1443,722,1445,723,1447,724,1449,725,1451,726,1453,727,1455,728,1457,729,1459,730,1461,731,1463,732,1465,733,1467,734,1469,735,1471,736,1473,737,1475,738,1477,739,1479,740,1481,741,1483,742,1485,743,1487,744,1489,745,1491,746,1493,747,1495,748,1497,749,1499,750,1501,751,1503,752,1505,753,1507,754,1509,755,1511,756,1513,757,1515,758,1517,759,1519,760,1521,761,1523,762,1525,763,1527,764,1529,765,1531,766,1533,767,1535,768,1537,769,1539,770,1541,771,1543,772,1545,773,1547,774,1549,775,1551,776,1553,777,1555,778,1557,779,1559,780,1561,781,1563,782,1565,783,1567,784,1569,785,1571,786,1573,787,1575,788,1577,789,1579,790,1581,791,1583,792,1585,793,1587,794,1589,795,1591,796,1593,797,1595,798,1597,799,1599,800,1601,801,1603,802,1605,803,1607,804,1609,805,1611,806,1613,807,1615,808,1617,809,1619,810,1621,811,1623,812,1625,813,1627,814,1629,815,1631,816,1633,817,1635,818,1637,819,1639,820,1641,821,1643,822,1645,823,1647,824,1649,825,1651,826,1653,827,1655,828,1657,829,1659,830,1661,831,1663,832,1665,833,1667,834,1669,835,1671,836,1673,837,1675,838,1677,839,1679,840,1681,841,1683,842,1685,843,1687,844,1689,845,1691,846,1693,847,1695,848,1697,849,1699,850,1701,851,1703,852,1705,853,1707,854,1709,855,1711,856,1713,857,1715,858,1717,859,1719,860,1721,861,1723,862,1725,863,1727,864,1729,865,1731,866,1733,867,1735,868,1737,869,1739,870,1741,871,1743,872,1745,873,1747,874,1749,875,1751,876,1753,877,1755,878,1757,0,1759,879,1761,880,1763,881,1765,882,1767,883,1769,884,1771,885,1773,886,1775,887,1777,888,1779,889,1781,890,1783,891,1785,892,1787,893,1789,894,1791,0,1793,0,1795,0,1797,0,1799,0,1801,0,1803,0,1805,0,1807,0,1809,0,1811,895,1,0,42,3,0,9,10,13,13,32,32,2,0,9,9,32,32,2,0,10,10,13,13,2,0,65,65,97,97,2,0,67,67,99,99,2,0,84,84,116,116,2,0,73,73,105,105,2,0,86,86,118,118,2,0,69,69,101,101,2,0,68,68,100,100,2,0,76,76,108,108,2,0,82,82,114,114,2,0,87,87,119,119,2,0,89,89,121,121,2,0,83,83,115,115,2,0,78,78,110,110,2,0,90,90,122,122,2,0,66,66,98,98,2,0,85,85,117,117,2,0,70,70,102,102,2,0,79,79,111,111,2,0,72,72,104,104,2,0,75,75,107,107,2,0,71,71,103,103,2,0,77,77,109,109,2,0,80,80,112,112,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,8,0,71,71,75,75,77,77,84,84,103,103,107,107,109,109,116,116,7,0,36,36,46,46,48,57,65,90,95,95,97,122,128,65535,2,0,43,43,45,45,6,0,36,36,48,57,65,90,95,95,97,122,128,65535,5,0,36,36,65,90,95,95,97,122,128,65535,2,0,34,34,92,92,2,0,39,39,92,92,1,0,96,96,3,0,48,57,65,70,97,102,1,0,48,57,1,0,48,49,2,0,46,46,48,57,3,0,48,58,65,70,97,102,10506,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,0,1083,1,0,0,0,0,1085,1,0,0,0,0,1087,1,0,0,0,0,1089,1,0,0,0,0,1091,1,0,0,0,0,1093,1,0,0,0,0,1095,1,0,0,0,0,1097,1,0,0,0,0,1099,1,0,0,0,0,1101,1,0,0,0,0,1103,1,0,0,0,0,1105,1,0,0,0,0,1107,1,0,0,0,0,1109,1,0,0,0,0,1111,1,0,0,0,0,1113,1,0,0,0,0,1115,1,0,0,0,0,1117,1,0,0,0,0,1119,1,0,0,0,0,1121,1,0,0,0,0,1123,1,0,0,0,0,1125,1,0,0,0,0,1127,1,0,0,0,0,1129,1,0,0,0,0,1131,1,0,0,0,0,1133,1,0,0,0,0,1135,1,0,0,0,0,1137,1,0,0,0,0,1139,1,0,0,0,0,1141,1,0,0,0,0,1143,1,0,0,0,0,1145,1,0,0,0,0,1147,1,0,0,0,0,1149,1,0,0,0,0,1151,1,0,0,0,0,1153,1,0,0,0,0,1155,1,0,0,0,0,1157,1,0,0,0,0,1159,1,0,0,0,0,1161,1,0,0,0,0,1163,1,0,0,0,0,1165,1,0,0,0,0,1167,1,0,0,0,0,1169,1,0,0,0,0,1171,1,0,0,0,0,1173,1,0,0,0,0,1175,1,0,0,0,0,1177,1,0,0,0,0,1179,1,0,0,0,0,1181,1,0,0,0,0,1183,1,0,0,0,0,1185,1,0,0,0,0,1187,1,0,0,0,0,1189,1,0,0,0,0,1191,1,0,0,0,0,1193,1,0,0,0,0,1195,1,0,0,0,0,1197,1,0,0,0,0,1199,1,0,0,0,0,1201,1,0,0,0,0,1203,1,0,0,0,0,1205,1,0,0,0,0,1207,1,0,0,0,0,1209,1,0,0,0,0,1211,1,0,0,0,0,1213,1,0,0,0,0,1215,1,0,0,0,0,1217,1,0,0,0,0,1219,1,0,0,0,0,1221,1,0,0,0,0,1223,1,0,0,0,0,1225,1,0,0,0,0,1227,1,0,0,0,0,1229,1,0,0,0,0,1231,1,0,0,0,0,1233,1,0,0,0,0,1235,1,0,0,0,0,1237,1,0,0,0,0,1239,1,0,0,0,0,1241,1,0,0,0,0,1243,1,0,0,0,0,1245,1,0,0,0,0,1247,1,0,0,0,0,1249,1,0,0,0,0,1251,1,0,0,0,0,1253,1,0,0,0,0,1255,1,0,0,0,0,1257,1,0,0,0,0,1259,1,0,0,0,0,1261,1,0,0,0,0,1263,1,0,0,0,0,1265,1,0,0,0,0,1267,1,0,0,0,0,1269,1,0,0,0,0,1271,1,0,0,0,0,1273,1,0,0,0,0,1275,1,0,0,0,0,1277,1,0,0,0,0,1279,1,0,0,0,0,1281,1,0,0,0,0,1283,1,0,0,0,0,1285,1,0,0,0,0,1287,1,0,0,0,0,1289,1,0,0,0,0,1291,1,0,0,0,0,1293,1,0,0,0,0,1295,1,0,0,0,0,1297,1,0,0,0,0,1299,1,0,0,0,0,1301,1,0,0,0,0,1303,1,0,0,0,0,1305,1,0,0,0,0,1307,1,0,0,0,0,1309,1,0,0,0,0,1311,1,0,0,0,0,1313,1,0,0,0,0,1315,1,0,0,0,0,1317,1,0,0,0,0,1319,1,0,0,0,0,1321,1,0,0,0,0,1323,1,0,0,0,0,1325,1,0,0,0,0,1327,1,0,0,0,0,1329,1,0,0,0,0,1331,1,0,0,0,0,1333,1,0,0,0,0,1335,1,0,0,0,0,1337,1,0,0,0,0,1339,1,0,0,0,0,1341,1,0,0,0,0,1343,1,0,0,0,0,1345,1,0,0,0,0,1347,1,0,0,0,0,1349,1,0,0,0,0,1351,1,0,0,0,0,1353,1,0,0,0,0,1355,1,0,0,0,0,1357,1,0,0,0,0,1359,1,0,0,0,0,1361,1,0,0,0,0,1363,1,0,0,0,0,1365,1,0,0,0,0,1367,1,0,0,0,0,1369,1,0,0,0,0,1371,1,0,0,0,0,1373,1,0,0,0,0,1375,1,0,0,0,0,1377,1,0,0,0,0,1379,1,0,0,0,0,1381,1,0,0,0,0,1383,1,0,0,0,0,1385,1,0,0,0,0,1387,1,0,0,0,0,1389,1,0,0,0,0,1391,1,0,0,0,0,1393,1,0,0,0,0,1395,1,0,0,0,0,1397,1,0,0,0,0,1399,1,0,0,0,0,1401,1,0,0,0,0,1403,1,0,0,0,0,1405,1,0,0,0,0,1407,1,0,0,0,0,1409,1,0,0,0,0,1411,1,0,0,0,0,1413,1,0,0,0,0,1415,1,0,0,0,0,1417,1,0,0,0,0,1419,1,0,0,0,0,1421,1,0,0,0,0,1423,1,0,0,0,0,1425,1,0,0,0,0,1427,1,0,0,0,0,1429,1,0,0,0,0,1431,1,0,0,0,0,1433,1,0,0,0,0,1435,1,0,0,0,0,1437,1,0,0,0,0,1439,1,0,0,0,0,1441,1,0,0,0,0,1443,1,0,0,0,0,1445,1,0,0,0,0,1447,1,0,0,0,0,1449,1,0,0,0,0,1451,1,0,0,0,0,1453,1,0,0,0,0,1455,1,0,0,0,0,1457,1,0,0,0,0,1459,1,0,0,0,0,1461,1,0,0,0,0,1463,1,0,0,0,0,1465,1,0,0,0,0,1467,1,0,0,0,0,1469,1,0,0,0,0,1471,1,0,0,0,0,1473,1,0,0,0,0,1475,1,0,0,0,0,1477,1,0,0,0,0,1479,1,0,0,0,0,1481,1,0,0,0,0,1483,1,0,0,0,0,1485,1,0,0,0,0,1487,1,0,0,0,0,1489,1,0,0,0,0,1491,1,0,0,0,0,1493,1,0,0,0,0,1495,1,0,0,0,0,1497,1,0,0,0,0,1499,1,0,0,0,0,1501,1,0,0,0,0,1503,1,0,0,0,0,1505,1,0,0,0,0,1507,1,0,0,0,0,1509,1,0,0,0,0,1511,1,0,0,0,0,1513,1,0,0,0,0,1515,1,0,0,0,0,1517,1,0,0,0,0,1519,1,0,0,0,0,1521,1,0,0,0,0,1523,1,0,0,0,0,1525,1,0,0,0,0,1527,1,0,0,0,0,1529,1,0,0,0,0,1531,1,0,0,0,0,1533,1,0,0,0,0,1535,1,0,0,0,0,1537,1,0,0,0,0,1539,1,0,0,0,0,1541,1,0,0,0,0,1543,1,0,0,0,0,1545,1,0,0,0,0,1547,1,0,0,0,0,1549,1,0,0,0,0,1551,1,0,0,0,0,1553,1,0,0,0,0,1555,1,0,0,0,0,1557,1,0,0,0,0,1559,1,0,0,0,0,1561,1,0,0,0,0,1563,1,0,0,0,0,1565,1,0,0,0,0,1567,1,0,0,0,0,1569,1,0,0,0,0,1571,1,0,0,0,0,1573,1,0,0,0,0,1575,1,0,0,0,0,1577,1,0,0,0,0,1579,1,0,0,0,0,1581,1,0,0,0,0,1583,1,0,0,0,0,1585,1,0,0,0,0,1587,1,0,0,0,0,1589,1,0,0,0,0,1591,1,0,0,0,0,1593,1,0,0,0,0,1595,1,0,0,0,0,1597,1,0,0,0,0,1599,1,0,0,0,0,1601,1,0,0,0,0,1603,1,0,0,0,0,1605,1,0,0,0,0,1607,1,0,0,0,0,1609,1,0,0,0,0,1611,1,0,0,0,0,1613,1,0,0,0,0,1615,1,0,0,0,0,1617,1,0,0,0,0,1619,1,0,0,0,0,1621,1,0,0,0,0,1623,1,0,0,0,0,1625,1,0,0,0,0,1627,1,0,0,0,0,1629,1,0,0,0,0,1631,1,0,0,0,0,1633,1,0,0,0,0,1635,1,0,0,0,0,1637,1,0,0,0,0,1639,1,0,0,0,0,1641,1,0,0,0,0,1643,1,0,0,0,0,1645,1,0,0,0,0,1647,1,0,0,0,0,1649,1,0,0,0,0,1651,1,0,0,0,0,1653,1,0,0,0,0,1655,1,0,0,0,0,1657,1,0,0,0,0,1659,1,0,0,0,0,1661,1,0,0,0,0,1663,1,0,0,0,0,1665,1,0,0,0,0,1667,1,0,0,0,0,1669,1,0,0,0,0,1671,1,0,0,0,0,1673,1,0,0,0,0,1675,1,0,0,0,0,1677,1,0,0,0,0,1679,1,0,0,0,0,1681,1,0,0,0,0,1683,1,0,0,0,0,1685,1,0,0,0,0,1687,1,0,0,0,0,1689,1,0,0,0,0,1691,1,0,0,0,0,1693,1,0,0,0,0,1695,1,0,0,0,0,1697,1,0,0,0,0,1699,1,0,0,0,0,1701,1,0,0,0,0,1703,1,0,0,0,0,1705,1,0,0,0,0,1707,1,0,0,0,0,1709,1,0,0,0,0,1711,1,0,0,0,0,1713,1,0,0,0,0,1715,1,0,0,0,0,1717,1,0,0,0,0,1719,1,0,0,0,0,1721,1,0,0,0,0,1723,1,0,0,0,0,1725,1,0,0,0,0,1727,1,0,0,0,0,1729,1,0,0,0,0,1731,1,0,0,0,0,1733,1,0,0,0,0,1735,1,0,0,0,0,1737,1,0,0,0,0,1739,1,0,0,0,0,1741,1,0,0,0,0,1743,1,0,0,0,0,1745,1,0,0,0,0,1747,1,0,0,0,0,1749,1,0,0,0,0,1751,1,0,0,0,0,1753,1,0,0,0,0,1755,1,0,0,0,0,1759,1,0,0,0,0,1761,1,0,0,0,0,1763,1,0,0,0,0,1765,1,0,0,0,0,1767,1,0,0,0,0,1769,1,0,0,0,0,1771,1,0,0,0,0,1773,1,0,0,0,0,1775,1,0,0,0,0,1777,1,0,0,0,0,1779,1,0,0,0,0,1781,1,0,0,0,0,1783,1,0,0,0,0,1785,1,0,0,0,0,1787,1,0,0,0,0,1789,1,0,0,0,0,1811,1,0,0,0,1,1814,1,0,0,0,3,1820,1,0,0,0,5,1834,1,0,0,0,7,1883,1,0,0,0,9,1887,1,0,0,0,11,1894,1,0,0,0,13,1898,1,0,0,0,15,1902,1,0,0,0,17,1908,1,0,0,0,19,1915,1,0,0,0,21,1923,1,0,0,0,23,1927,1,0,0,0,25,1933,1,0,0,0,27,1936,1,0,0,0,29,1940,1,0,0,0,31,1950,1,0,0,0,33,1957,1,0,0,0,35,1965,1,0,0,0,37,1970,1,0,0,0,39,1978,1,0,0,0,41,1981,1,0,0,0,43,1986,1,0,0,0,45,1994,1,0,0,0,47,1999,1,0,0,0,49,2004,1,0,0,0,51,2011,1,0,0,0,53,2021,1,0,0,0,55,2027,1,0,0,0,57,2035,1,0,0,0,59,2042,1,0,0,0,61,2052,1,0,0,0,63,2063,1,0,0,0,65,2072,1,0,0,0,67,2080,1,0,0,0,69,2087,1,0,0,0,71,2093,1,0,0,0,73,2101,1,0,0,0,75,2114,1,0,0,0,77,2121,1,0,0,0,79,2130,1,0,0,0,81,2140,1,0,0,0,83,2148,1,0,0,0,85,2156,1,0,0,0,87,2164,1,0,0,0,89,2171,1,0,0,0,91,2176,1,0,0,0,93,2185,1,0,0,0,95,2199,1,0,0,0,97,2211,1,0,0,0,99,2220,1,0,0,0,101,2232,1,0,0,0,103,2237,1,0,0,0,105,2242,1,0,0,0,107,2247,1,0,0,0,109,2254,1,0,0,0,111,2260,1,0,0,0,113,2269,1,0,0,0,115,2278,1,0,0,0,117,2286,1,0,0,0,119,2293,1,0,0,0,121,2300,1,0,0,0,123,2305,1,0,0,0,125,2313,1,0,0,0,127,2319,1,0,0,0,129,2325,1,0,0,0,131,2329,1,0,0,0,133,2335,1,0,0,0,135,2343,1,0,0,0,137,2348,1,0,0,0,139,2357,1,0,0,0,141,2366,1,0,0,0,143,2376,1,0,0,0,145,2380,1,0,0,0,147,2386,1,0,0,0,149,2392,1,0,0,0,151,2399,1,0,0,0,153,2413,1,0,0,0,155,2423,1,0,0,0,157,2426,1,0,0,0,159,2433,1,0,0,0,161,2436,1,0,0,0,163,2445,1,0,0,0,165,2451,1,0,0,0,167,2458,1,0,0,0,169,2464,1,0,0,0,171,2470,1,0,0,0,173,2477,1,0,0,0,175,2486,1,0,0,0,177,2491,1,0,0,0,179,2494,1,0,0,0,181,2502,1,0,0,0,183,2507,1,0,0,0,185,2511,1,0,0,0,187,2516,1,0,0,0,189,2521,1,0,0,0,191,2529,1,0,0,0,193,2537,1,0,0,0,195,2543,1,0,0,0,197,2548,1,0,0,0,199,2553,1,0,0,0,201,2559,1,0,0,0,203,2566,1,0,0,0,205,2572,1,0,0,0,207,2577,1,0,0,0,209,2582,1,0,0,0,211,2589,1,0,0,0,213,2594,1,0,0,0,215,2607,1,0,0,0,217,2619,1,0,0,0,219,2649,1,0,0,0,221,2655,1,0,0,0,223,2664,1,0,0,0,225,2673,1,0,0,0,227,2681,1,0,0,0,229,2685,1,0,0,0,231,2704,1,0,0,0,233,2709,1,0,0,0,235,2716,1,0,0,0,237,2723,1,0,0,0,239,2726,1,0,0,0,241,2735,1,0,0,0,243,2742,1,0,0,0,245,2751,1,0,0,0,247,2762,1,0,0,0,249,2765,1,0,0,0,251,2771,1,0,0,0,253,2775,1,0,0,0,255,2781,1,0,0,0,257,2789,1,0,0,0,259,2794,1,0,0,0,261,2804,1,0,0,0,263,2812,1,0,0,0,265,2822,1,0,0,0,267,2828,1,0,0,0,269,2834,1,0,0,0,271,2839,1,0,0,0,273,2845,1,0,0,0,275,2855,1,0,0,0,277,2866,1,0,0,0,279,2873,1,0,0,0,281,2881,1,0,0,0,283,2888,1,0,0,0,285,2895,1,0,0,0,287,2903,1,0,0,0,289,2911,1,0,0,0,291,2920,1,0,0,0,293,2929,1,0,0,0,295,2936,1,0,0,0,297,2943,1,0,0,0,299,2950,1,0,0,0,301,2956,1,0,0,0,303,2962,1,0,0,0,305,2969,1,0,0,0,307,2977,1,0,0,0,309,2984,1,0,0,0,311,2988,1,0,0,0,313,2998,1,0,0,0,315,3003,1,0,0,0,317,3010,1,0,0,0,319,3015,1,0,0,0,321,3034,1,0,0,0,323,3042,1,0,0,0,325,3046,1,0,0,0,327,3059,1,0,0,0,329,3068,1,0,0,0,331,3079,1,0,0,0,333,3094,1,0,0,0,335,3114,1,0,0,0,337,3131,1,0,0,0,339,3135,1,0,0,0,341,3143,1,0,0,0,343,3152,1,0,0,0,345,3166,1,0,0,0,347,3172,1,0,0,0,349,3183,1,0,0,0,351,3188,1,0,0,0,353,3191,1,0,0,0,355,3200,1,0,0,0,357,3208,1,0,0,0,359,3213,1,0,0,0,361,3218,1,0,0,0,363,3224,1,0,0,0,365,3231,1,0,0,0,367,3238,1,0,0,0,369,3247,1,0,0,0,371,3254,1,0,0,0,373,3260,1,0,0,0,375,3264,1,0,0,0,377,3270,1,0,0,0,379,3277,1,0,0,0,381,3282,1,0,0,0,383,3287,1,0,0,0,385,3293,1,0,0,0,387,3299,1,0,0,0,389,3304,1,0,0,0,391,3310,1,0,0,0,393,3314,1,0,0,0,395,3323,1,0,0,0,397,3331,1,0,0,0,399,3340,1,0,0,0,401,3350,1,0,0,0,403,3360,1,0,0,0,405,3364,1,0,0,0,407,3369,1,0,0,0,409,3374,1,0,0,0,411,3379,1,0,0,0,413,3384,1,0,0,0,415,3389,1,0,0,0,417,3397,1,0,0,0,419,3404,1,0,0,0,421,3409,1,0,0,0,423,3416,1,0,0,0,425,3426,1,0,0,0,427,3432,1,0,0,0,429,3439,1,0,0,0,431,3446,1,0,0,0,433,3454,1,0,0,0,435,3458,1,0,0,0,437,3466,1,0,0,0,439,3471,1,0,0,0,441,3476,1,0,0,0,443,3486,1,0,0,0,445,3495,1,0,0,0,447,3500,1,0,0,0,449,3505,1,0,0,0,451,3513,1,0,0,0,453,3522,1,0,0,0,455,3531,1,0,0,0,457,3538,1,0,0,0,459,3548,1,0,0,0,461,3557,1,0,0,0,463,3562,1,0,0,0,465,3573,1,0,0,0,467,3578,1,0,0,0,469,3587,1,0,0,0,471,3596,1,0,0,0,473,3601,1,0,0,0,475,3612,1,0,0,0,477,3621,1,0,0,0,479,3626,1,0,0,0,481,3634,1,0,0,0,483,3641,1,0,0,0,485,3652,1,0,0,0,487,3661,1,0,0,0,489,3672,1,0,0,0,491,3683,1,0,0,0,493,3695,1,0,0,0,495,3707,1,0,0,0,497,3721,1,0,0,0,499,3740,1,0,0,0,501,3759,1,0,0,0,503,3776,1,0,0,0,505,3792,1,0,0,0,507,3803,1,0,0,0,509,3814,1,0,0,0,511,3821,1,0,0,0,513,3832,1,0,0,0,515,3837,1,0,0,0,517,3841,1,0,0,0,519,3849,1,0,0,0,521,3856,1,0,0,0,523,3864,1,0,0,0,525,3870,1,0,0,0,527,3880,1,0,0,0,529,3891,1,0,0,0,531,3903,1,0,0,0,533,3916,1,0,0,0,535,3920,1,0,0,0,537,3931,1,0,0,0,539,3936,1,0,0,0,541,3940,1,0,0,0,543,3944,1,0,0,0,545,3950,1,0,0,0,547,3960,1,0,0,0,549,3973,1,0,0,0,551,3978,1,0,0,0,553,3989,1,0,0,0,555,3993,1,0,0,0,557,4e3,1,0,0,0,559,4011,1,0,0,0,561,4023,1,0,0,0,563,4027,1,0,0,0,565,4035,1,0,0,0,567,4044,1,0,0,0,569,4053,1,0,0,0,571,4066,1,0,0,0,573,4079,1,0,0,0,575,4097,1,0,0,0,577,4107,1,0,0,0,579,4115,1,0,0,0,581,4123,1,0,0,0,583,4132,1,0,0,0,585,4141,1,0,0,0,587,4149,1,0,0,0,589,4164,1,0,0,0,591,4168,1,0,0,0,593,4177,1,0,0,0,595,4184,1,0,0,0,597,4194,1,0,0,0,599,4202,1,0,0,0,601,4207,1,0,0,0,603,4216,1,0,0,0,605,4225,1,0,0,0,607,4239,1,0,0,0,609,4247,1,0,0,0,611,4254,1,0,0,0,613,4260,1,0,0,0,615,4270,1,0,0,0,617,4280,1,0,0,0,619,4284,1,0,0,0,621,4323,1,0,0,0,623,4326,1,0,0,0,625,4334,1,0,0,0,627,4345,1,0,0,0,629,4361,1,0,0,0,631,4376,1,0,0,0,633,4391,1,0,0,0,635,4397,1,0,0,0,637,4404,1,0,0,0,639,4408,1,0,0,0,641,4414,1,0,0,0,643,4419,1,0,0,0,645,4427,1,0,0,0,647,4433,1,0,0,0,649,4439,1,0,0,0,651,4448,1,0,0,0,653,4454,1,0,0,0,655,4462,1,0,0,0,657,4470,1,0,0,0,659,4479,1,0,0,0,661,4498,1,0,0,0,663,4505,1,0,0,0,665,4518,1,0,0,0,667,4525,1,0,0,0,669,4531,1,0,0,0,671,4540,1,0,0,0,673,4545,1,0,0,0,675,4553,1,0,0,0,677,4567,1,0,0,0,679,4579,1,0,0,0,681,4587,1,0,0,0,683,4594,1,0,0,0,685,4602,1,0,0,0,687,4613,1,0,0,0,689,4623,1,0,0,0,691,4634,1,0,0,0,693,4646,1,0,0,0,695,4657,1,0,0,0,697,4665,1,0,0,0,699,4676,1,0,0,0,701,4687,1,0,0,0,703,4706,1,0,0,0,705,4724,1,0,0,0,707,4740,1,0,0,0,709,4749,1,0,0,0,711,4757,1,0,0,0,713,4770,1,0,0,0,715,4775,1,0,0,0,717,4779,1,0,0,0,719,4791,1,0,0,0,721,4796,1,0,0,0,723,4805,1,0,0,0,725,4816,1,0,0,0,727,4829,1,0,0,0,729,4837,1,0,0,0,731,4853,1,0,0,0,733,4866,1,0,0,0,735,4876,1,0,0,0,737,4884,1,0,0,0,739,4892,1,0,0,0,741,4897,1,0,0,0,743,4900,1,0,0,0,745,4909,1,0,0,0,747,4919,1,0,0,0,749,4927,1,0,0,0,751,4934,1,0,0,0,753,4945,1,0,0,0,755,4963,1,0,0,0,757,4967,1,0,0,0,759,4972,1,0,0,0,761,4979,1,0,0,0,763,4987,1,0,0,0,765,4993,1,0,0,0,767,5e3,1,0,0,0,769,5007,1,0,0,0,771,5013,1,0,0,0,773,5020,1,0,0,0,775,5026,1,0,0,0,777,5035,1,0,0,0,779,5045,1,0,0,0,781,5052,1,0,0,0,783,5059,1,0,0,0,785,5068,1,0,0,0,787,5080,1,0,0,0,789,5087,1,0,0,0,791,5109,1,0,0,0,793,5114,1,0,0,0,795,5121,1,0,0,0,797,5128,1,0,0,0,799,5144,1,0,0,0,801,5151,1,0,0,0,803,5158,1,0,0,0,805,5164,1,0,0,0,807,5170,1,0,0,0,809,5176,1,0,0,0,811,5186,1,0,0,0,813,5194,1,0,0,0,815,5200,1,0,0,0,817,5205,1,0,0,0,819,5214,1,0,0,0,821,5222,1,0,0,0,823,5244,1,0,0,0,825,5266,1,0,0,0,827,5273,1,0,0,0,829,5280,1,0,0,0,831,5298,1,0,0,0,833,5308,1,0,0,0,835,5316,1,0,0,0,837,5321,1,0,0,0,839,5326,1,0,0,0,841,5334,1,0,0,0,843,5339,1,0,0,0,845,5345,1,0,0,0,847,5356,1,0,0,0,849,5374,1,0,0,0,851,5381,1,0,0,0,853,5389,1,0,0,0,855,5397,1,0,0,0,857,5410,1,0,0,0,859,5419,1,0,0,0,861,5427,1,0,0,0,863,5441,1,0,0,0,865,5449,1,0,0,0,867,5458,1,0,0,0,869,5466,1,0,0,0,871,5476,1,0,0,0,873,5484,1,0,0,0,875,5487,1,0,0,0,877,5497,1,0,0,0,879,5501,1,0,0,0,881,5511,1,0,0,0,883,5518,1,0,0,0,885,5523,1,0,0,0,887,5538,1,0,0,0,889,5547,1,0,0,0,891,5552,1,0,0,0,893,5559,1,0,0,0,895,5564,1,0,0,0,897,5570,1,0,0,0,899,5575,1,0,0,0,901,5581,1,0,0,0,903,5589,1,0,0,0,905,5594,1,0,0,0,907,5601,1,0,0,0,909,5622,1,0,0,0,911,5652,1,0,0,0,913,5673,1,0,0,0,915,5686,1,0,0,0,917,5710,1,0,0,0,919,5722,1,0,0,0,921,5738,1,0,0,0,923,5753,1,0,0,0,925,5769,1,0,0,0,927,5781,1,0,0,0,929,5804,1,0,0,0,931,5823,1,0,0,0,933,5834,1,0,0,0,935,5848,1,0,0,0,937,5866,1,0,0,0,939,5882,1,0,0,0,941,5900,1,0,0,0,943,5915,1,0,0,0,945,5934,1,0,0,0,947,5949,1,0,0,0,949,5973,1,0,0,0,951,5992,1,0,0,0,953,6004,1,0,0,0,955,6034,1,0,0,0,957,6059,1,0,0,0,959,6080,1,0,0,0,961,6089,1,0,0,0,963,6098,1,0,0,0,965,6119,1,0,0,0,967,6140,1,0,0,0,969,6147,1,0,0,0,971,6154,1,0,0,0,973,6160,1,0,0,0,975,6173,1,0,0,0,977,6177,1,0,0,0,979,6185,1,0,0,0,981,6194,1,0,0,0,983,6199,1,0,0,0,985,6206,1,0,0,0,987,6212,1,0,0,0,989,6218,1,0,0,0,991,6230,1,0,0,0,993,6235,1,0,0,0,995,6241,1,0,0,0,997,6247,1,0,0,0,999,6265,1,0,0,0,1001,6271,1,0,0,0,1003,6276,1,0,0,0,1005,6279,1,0,0,0,1007,6286,1,0,0,0,1009,6296,1,0,0,0,1011,6301,1,0,0,0,1013,6306,1,0,0,0,1015,6310,1,0,0,0,1017,6318,1,0,0,0,1019,6325,1,0,0,0,1021,6328,1,0,0,0,1023,6332,1,0,0,0,1025,6345,1,0,0,0,1027,6349,1,0,0,0,1029,6356,1,0,0,0,1031,6361,1,0,0,0,1033,6366,1,0,0,0,1035,6382,1,0,0,0,1037,6390,1,0,0,0,1039,6396,1,0,0,0,1041,6406,1,0,0,0,1043,6411,1,0,0,0,1045,6425,1,0,0,0,1047,6441,1,0,0,0,1049,6464,1,0,0,0,1051,6471,1,0,0,0,1053,6479,1,0,0,0,1055,6492,1,0,0,0,1057,6503,1,0,0,0,1059,6512,1,0,0,0,1061,6531,1,0,0,0,1063,6539,1,0,0,0,1065,6552,1,0,0,0,1067,6558,1,0,0,0,1069,6565,1,0,0,0,1071,6576,1,0,0,0,1073,6584,1,0,0,0,1075,6589,1,0,0,0,1077,6598,1,0,0,0,1079,6608,1,0,0,0,1081,6616,1,0,0,0,1083,6625,1,0,0,0,1085,6630,1,0,0,0,1087,6652,1,0,0,0,1089,6664,1,0,0,0,1091,6672,1,0,0,0,1093,6681,1,0,0,0,1095,6687,1,0,0,0,1097,6693,1,0,0,0,1099,6699,1,0,0,0,1101,6707,1,0,0,0,1103,6715,1,0,0,0,1105,6725,1,0,0,0,1107,6742,1,0,0,0,1109,6752,1,0,0,0,1111,6765,1,0,0,0,1113,6771,1,0,0,0,1115,6786,1,0,0,0,1117,6800,1,0,0,0,1119,6809,1,0,0,0,1121,6816,1,0,0,0,1123,6827,1,0,0,0,1125,6834,1,0,0,0,1127,6842,1,0,0,0,1129,6851,1,0,0,0,1131,6867,1,0,0,0,1133,6886,1,0,0,0,1135,6906,1,0,0,0,1137,6929,1,0,0,0,1139,6950,1,0,0,0,1141,6974,1,0,0,0,1143,7002,1,0,0,0,1145,7014,1,0,0,0,1147,7033,1,0,0,0,1149,7065,1,0,0,0,1151,7071,1,0,0,0,1153,7079,1,0,0,0,1155,7086,1,0,0,0,1157,7104,1,0,0,0,1159,7114,1,0,0,0,1161,7122,1,0,0,0,1163,7128,1,0,0,0,1165,7133,1,0,0,0,1167,7142,1,0,0,0,1169,7149,1,0,0,0,1171,7156,1,0,0,0,1173,7160,1,0,0,0,1175,7165,1,0,0,0,1177,7176,1,0,0,0,1179,7186,1,0,0,0,1181,7195,1,0,0,0,1183,7204,1,0,0,0,1185,7211,1,0,0,0,1187,7219,1,0,0,0,1189,7225,1,0,0,0,1191,7232,1,0,0,0,1193,7239,1,0,0,0,1195,7246,1,0,0,0,1197,7252,1,0,0,0,1199,7257,1,0,0,0,1201,7266,1,0,0,0,1203,7273,1,0,0,0,1205,7278,1,0,0,0,1207,7285,1,0,0,0,1209,7292,1,0,0,0,1211,7299,1,0,0,0,1213,7311,1,0,0,0,1215,7323,1,0,0,0,1217,7335,1,0,0,0,1219,7351,1,0,0,0,1221,7363,1,0,0,0,1223,7379,1,0,0,0,1225,7394,1,0,0,0,1227,7415,1,0,0,0,1229,7439,1,0,0,0,1231,7460,1,0,0,0,1233,7479,1,0,0,0,1235,7511,1,0,0,0,1237,7524,1,0,0,0,1239,7554,1,0,0,0,1241,7584,1,0,0,0,1243,7595,1,0,0,0,1245,7609,1,0,0,0,1247,7627,1,0,0,0,1249,7643,1,0,0,0,1251,7658,1,0,0,0,1253,7677,1,0,0,0,1255,7692,1,0,0,0,1257,7710,1,0,0,0,1259,7740,1,0,0,0,1261,7759,1,0,0,0,1263,7783,1,0,0,0,1265,7806,1,0,0,0,1267,7822,1,0,0,0,1269,7841,1,0,0,0,1271,7858,1,0,0,0,1273,7876,1,0,0,0,1275,7886,1,0,0,0,1277,7899,1,0,0,0,1279,7910,1,0,0,0,1281,7916,1,0,0,0,1283,7923,1,0,0,0,1285,7941,1,0,0,0,1287,7958,1,0,0,0,1289,7977,1,0,0,0,1291,7984,1,0,0,0,1293,7989,1,0,0,0,1295,7997,1,0,0,0,1297,8004,1,0,0,0,1299,8011,1,0,0,0,1301,8027,1,0,0,0,1303,8035,1,0,0,0,1305,8048,1,0,0,0,1307,8062,1,0,0,0,1309,8070,1,0,0,0,1311,8076,1,0,0,0,1313,8085,1,0,0,0,1315,8096,1,0,0,0,1317,8107,1,0,0,0,1319,8118,1,0,0,0,1321,8128,1,0,0,0,1323,8138,1,0,0,0,1325,8143,1,0,0,0,1327,8155,1,0,0,0,1329,8167,1,0,0,0,1331,8181,1,0,0,0,1333,8186,1,0,0,0,1335,8195,1,0,0,0,1337,8204,1,0,0,0,1339,8214,1,0,0,0,1341,8224,1,0,0,0,1343,8233,1,0,0,0,1345,8250,1,0,0,0,1347,8260,1,0,0,0,1349,8268,1,0,0,0,1351,8279,1,0,0,0,1353,8285,1,0,0,0,1355,8293,1,0,0,0,1357,8298,1,0,0,0,1359,8306,1,0,0,0,1361,8321,1,0,0,0,1363,8332,1,0,0,0,1365,8338,1,0,0,0,1367,8348,1,0,0,0,1369,8353,1,0,0,0,1371,8361,1,0,0,0,1373,8369,1,0,0,0,1375,8374,1,0,0,0,1377,8383,1,0,0,0,1379,8390,1,0,0,0,1381,8398,1,0,0,0,1383,8403,1,0,0,0,1385,8411,1,0,0,0,1387,8416,1,0,0,0,1389,8419,1,0,0,0,1391,8423,1,0,0,0,1393,8431,1,0,0,0,1395,8437,1,0,0,0,1397,8441,1,0,0,0,1399,8446,1,0,0,0,1401,8453,1,0,0,0,1403,8458,1,0,0,0,1405,8465,1,0,0,0,1407,8477,1,0,0,0,1409,8483,1,0,0,0,1411,8510,1,0,0,0,1413,8529,1,0,0,0,1415,8541,1,0,0,0,1417,8556,1,0,0,0,1419,8584,1,0,0,0,1421,8597,1,0,0,0,1423,8610,1,0,0,0,1425,8634,1,0,0,0,1427,8640,1,0,0,0,1429,8652,1,0,0,0,1431,8669,1,0,0,0,1433,8690,1,0,0,0,1435,8698,1,0,0,0,1437,8703,1,0,0,0,1439,8718,1,0,0,0,1441,8734,1,0,0,0,1443,8748,1,0,0,0,1445,8770,1,0,0,0,1447,8783,1,0,0,0,1449,8796,1,0,0,0,1451,8817,1,0,0,0,1453,8841,1,0,0,0,1455,8865,1,0,0,0,1457,8888,1,0,0,0,1459,8895,1,0,0,0,1461,8902,1,0,0,0,1463,8918,1,0,0,0,1465,8942,1,0,0,0,1467,8969,1,0,0,0,1469,8980,1,0,0,0,1471,8988,1,0,0,0,1473,8995,1,0,0,0,1475,9015,1,0,0,0,1477,9039,1,0,0,0,1479,9048,1,0,0,0,1481,9069,1,0,0,0,1483,9089,1,0,0,0,1485,9100,1,0,0,0,1487,9108,1,0,0,0,1489,9111,1,0,0,0,1491,9137,1,0,0,0,1493,9166,1,0,0,0,1495,9178,1,0,0,0,1497,9191,1,0,0,0,1499,9200,1,0,0,0,1501,9206,1,0,0,0,1503,9229,1,0,0,0,1505,9236,1,0,0,0,1507,9259,1,0,0,0,1509,9279,1,0,0,0,1511,9296,1,0,0,0,1513,9305,1,0,0,0,1515,9311,1,0,0,0,1517,9316,1,0,0,0,1519,9323,1,0,0,0,1521,9330,1,0,0,0,1523,9337,1,0,0,0,1525,9344,1,0,0,0,1527,9350,1,0,0,0,1529,9356,1,0,0,0,1531,9362,1,0,0,0,1533,9368,1,0,0,0,1535,9373,1,0,0,0,1537,9381,1,0,0,0,1539,9387,1,0,0,0,1541,9395,1,0,0,0,1543,9402,1,0,0,0,1545,9406,1,0,0,0,1547,9414,1,0,0,0,1549,9420,1,0,0,0,1551,9427,1,0,0,0,1553,9431,1,0,0,0,1555,9439,1,0,0,0,1557,9445,1,0,0,0,1559,9451,1,0,0,0,1561,9458,1,0,0,0,1563,9465,1,0,0,0,1565,9472,1,0,0,0,1567,9479,1,0,0,0,1569,9485,1,0,0,0,1571,9494,1,0,0,0,1573,9499,1,0,0,0,1575,9504,1,0,0,0,1577,9511,1,0,0,0,1579,9516,1,0,0,0,1581,9521,1,0,0,0,1583,9527,1,0,0,0,1585,9535,1,0,0,0,1587,9541,1,0,0,0,1589,9546,1,0,0,0,1591,9554,1,0,0,0,1593,9562,1,0,0,0,1595,9570,1,0,0,0,1597,9580,1,0,0,0,1599,9584,1,0,0,0,1601,9594,1,0,0,0,1603,9601,1,0,0,0,1605,9608,1,0,0,0,1607,9619,1,0,0,0,1609,9626,1,0,0,0,1611,9630,1,0,0,0,1613,9641,1,0,0,0,1615,9660,1,0,0,0,1617,9667,1,0,0,0,1619,9678,1,0,0,0,1621,9688,1,0,0,0,1623,9700,1,0,0,0,1625,9713,1,0,0,0,1627,9732,1,0,0,0,1629,9747,1,0,0,0,1631,9756,1,0,0,0,1633,9767,1,0,0,0,1635,9783,1,0,0,0,1637,9794,1,0,0,0,1639,9807,1,0,0,0,1641,9813,1,0,0,0,1643,9821,1,0,0,0,1645,9834,1,0,0,0,1647,9842,1,0,0,0,1649,9852,1,0,0,0,1651,9869,1,0,0,0,1653,9876,1,0,0,0,1655,9887,1,0,0,0,1657,9897,1,0,0,0,1659,9904,1,0,0,0,1661,9912,1,0,0,0,1663,9922,1,0,0,0,1665,9934,1,0,0,0,1667,9961,1,0,0,0,1669,9966,1,0,0,0,1671,9973,1,0,0,0,1673,9985,1,0,0,0,1675,10001,1,0,0,0,1677,10021,1,0,0,0,1679,10026,1,0,0,0,1681,10040,1,0,0,0,1683,10043,1,0,0,0,1685,10046,1,0,0,0,1687,10049,1,0,0,0,1689,10052,1,0,0,0,1691,10055,1,0,0,0,1693,10058,1,0,0,0,1695,10061,1,0,0,0,1697,10064,1,0,0,0,1699,10067,1,0,0,0,1701,10069,1,0,0,0,1703,10071,1,0,0,0,1705,10073,1,0,0,0,1707,10075,1,0,0,0,1709,10077,1,0,0,0,1711,10081,1,0,0,0,1713,10085,1,0,0,0,1715,10087,1,0,0,0,1717,10089,1,0,0,0,1719,10091,1,0,0,0,1721,10093,1,0,0,0,1723,10095,1,0,0,0,1725,10097,1,0,0,0,1727,10099,1,0,0,0,1729,10101,1,0,0,0,1731,10103,1,0,0,0,1733,10105,1,0,0,0,1735,10107,1,0,0,0,1737,10109,1,0,0,0,1739,10111,1,0,0,0,1741,10113,1,0,0,0,1743,10115,1,0,0,0,1745,10117,1,0,0,0,1747,10119,1,0,0,0,1749,10121,1,0,0,0,1751,10123,1,0,0,0,1753,10125,1,0,0,0,1755,10127,1,0,0,0,1757,10132,1,0,0,0,1759,10134,1,0,0,0,1761,10139,1,0,0,0,1763,10145,1,0,0,0,1765,10151,1,0,0,0,1767,10154,1,0,0,0,1769,10177,1,0,0,0,1771,10220,1,0,0,0,1773,10222,1,0,0,0,1775,10225,1,0,0,0,1777,10227,1,0,0,0,1779,10230,1,0,0,0,1781,10232,1,0,0,0,1783,10234,1,0,0,0,1785,10237,1,0,0,0,1787,10246,1,0,0,0,1789,10256,1,0,0,0,1791,10307,1,0,0,0,1793,10309,1,0,0,0,1795,10321,1,0,0,0,1797,10335,1,0,0,0,1799,10348,1,0,0,0,1801,10361,1,0,0,0,1803,10372,1,0,0,0,1805,10374,1,0,0,0,1807,10376,1,0,0,0,1809,10415,1,0,0,0,1811,10417,1,0,0,0,1813,1815,7,0,0,0,1814,1813,1,0,0,0,1815,1816,1,0,0,0,1816,1814,1,0,0,0,1816,1817,1,0,0,0,1817,1818,1,0,0,0,1818,1819,6,0,0,0,1819,2,1,0,0,0,1820,1821,5,47,0,0,1821,1822,5,42,0,0,1822,1823,5,33,0,0,1823,1825,1,0,0,0,1824,1826,9,0,0,0,1825,1824,1,0,0,0,1826,1827,1,0,0,0,1827,1828,1,0,0,0,1827,1825,1,0,0,0,1828,1829,1,0,0,0,1829,1830,5,42,0,0,1830,1831,5,47,0,0,1831,1832,1,0,0,0,1832,1833,6,1,1,0,1833,4,1,0,0,0,1834,1835,5,47,0,0,1835,1836,5,42,0,0,1836,1840,1,0,0,0,1837,1839,9,0,0,0,1838,1837,1,0,0,0,1839,1842,1,0,0,0,1840,1841,1,0,0,0,1840,1838,1,0,0,0,1841,1843,1,0,0,0,1842,1840,1,0,0,0,1843,1844,5,42,0,0,1844,1845,5,47,0,0,1845,1846,1,0,0,0,1846,1847,6,2,0,0,1847,6,1,0,0,0,1848,1849,5,45,0,0,1849,1850,5,45,0,0,1850,1854,1,0,0,0,1851,1853,7,1,0,0,1852,1851,1,0,0,0,1853,1856,1,0,0,0,1854,1852,1,0,0,0,1854,1855,1,0,0,0,1855,1859,1,0,0,0,1856,1854,1,0,0,0,1857,1859,5,35,0,0,1858,1848,1,0,0,0,1858,1857,1,0,0,0,1859,1863,1,0,0,0,1860,1862,8,2,0,0,1861,1860,1,0,0,0,1862,1865,1,0,0,0,1863,1861,1,0,0,0,1863,1864,1,0,0,0,1864,1871,1,0,0,0,1865,1863,1,0,0,0,1866,1868,5,13,0,0,1867,1866,1,0,0,0,1867,1868,1,0,0,0,1868,1869,1,0,0,0,1869,1872,5,10,0,0,1870,1872,5,0,0,1,1871,1867,1,0,0,0,1871,1870,1,0,0,0,1872,1884,1,0,0,0,1873,1874,5,45,0,0,1874,1875,5,45,0,0,1875,1881,1,0,0,0,1876,1878,5,13,0,0,1877,1876,1,0,0,0,1877,1878,1,0,0,0,1878,1879,1,0,0,0,1879,1882,5,10,0,0,1880,1882,5,0,0,1,1881,1877,1,0,0,0,1881,1880,1,0,0,0,1882,1884,1,0,0,0,1883,1858,1,0,0,0,1883,1873,1,0,0,0,1884,1885,1,0,0,0,1885,1886,6,3,0,0,1886,8,1,0,0,0,1887,1888,7,3,0,0,1888,1889,7,4,0,0,1889,1890,7,5,0,0,1890,1891,7,6,0,0,1891,1892,7,7,0,0,1892,1893,7,8,0,0,1893,10,1,0,0,0,1894,1895,7,3,0,0,1895,1896,7,9,0,0,1896,1897,7,9,0,0,1897,12,1,0,0,0,1898,1899,7,3,0,0,1899,1900,7,10,0,0,1900,1901,7,10,0,0,1901,14,1,0,0,0,1902,1903,7,3,0,0,1903,1904,7,10,0,0,1904,1905,7,5,0,0,1905,1906,7,8,0,0,1906,1907,7,11,0,0,1907,16,1,0,0,0,1908,1909,7,3,0,0,1909,1910,7,10,0,0,1910,1911,7,12,0,0,1911,1912,7,3,0,0,1912,1913,7,13,0,0,1913,1914,7,14,0,0,1914,18,1,0,0,0,1915,1916,7,3,0,0,1916,1917,7,15,0,0,1917,1918,7,3,0,0,1918,1919,7,10,0,0,1919,1920,7,13,0,0,1920,1921,7,16,0,0,1921,1922,7,8,0,0,1922,20,1,0,0,0,1923,1924,7,3,0,0,1924,1925,7,15,0,0,1925,1926,7,9,0,0,1926,22,1,0,0,0,1927,1928,7,3,0,0,1928,1929,7,11,0,0,1929,1930,7,11,0,0,1930,1931,7,3,0,0,1931,1932,7,13,0,0,1932,24,1,0,0,0,1933,1934,7,3,0,0,1934,1935,7,14,0,0,1935,26,1,0,0,0,1936,1937,7,3,0,0,1937,1938,7,14,0,0,1938,1939,7,4,0,0,1939,28,1,0,0,0,1940,1941,7,3,0,0,1941,1942,7,5,0,0,1942,1943,7,5,0,0,1943,1944,7,11,0,0,1944,1945,7,6,0,0,1945,1946,7,17,0,0,1946,1947,7,18,0,0,1947,1948,7,5,0,0,1948,1949,7,8,0,0,1949,30,1,0,0,0,1950,1951,7,17,0,0,1951,1952,7,8,0,0,1952,1953,7,19,0,0,1953,1954,7,20,0,0,1954,1955,7,11,0,0,1955,1956,7,8,0,0,1956,32,1,0,0,0,1957,1958,7,17,0,0,1958,1959,7,8,0,0,1959,1960,7,5,0,0,1960,1961,7,12,0,0,1961,1962,7,8,0,0,1962,1963,7,8,0,0,1963,1964,7,15,0,0,1964,34,1,0,0,0,1965,1966,7,17,0,0,1966,1967,7,20,0,0,1967,1968,7,5,0,0,1968,1969,7,21,0,0,1969,36,1,0,0,0,1970,1971,7,17,0,0,1971,1972,7,18,0,0,1972,1973,7,4,0,0,1973,1974,7,22,0,0,1974,1975,7,8,0,0,1975,1976,7,5,0,0,1976,1977,7,14,0,0,1977,38,1,0,0,0,1978,1979,7,17,0,0,1979,1980,7,13,0,0,1980,40,1,0,0,0,1981,1982,7,4,0,0,1982,1983,7,3,0,0,1983,1984,7,10,0,0,1984,1985,7,10,0,0,1985,42,1,0,0,0,1986,1987,7,4,0,0,1987,1988,7,3,0,0,1988,1989,7,14,0,0,1989,1990,7,4,0,0,1990,1991,7,3,0,0,1991,1992,7,9,0,0,1992,1993,7,8,0,0,1993,44,1,0,0,0,1994,1995,7,4,0,0,1995,1996,7,3,0,0,1996,1997,7,14,0,0,1997,1998,7,8,0,0,1998,46,1,0,0,0,1999,2e3,7,4,0,0,2e3,2001,7,3,0,0,2001,2002,7,14,0,0,2002,2003,7,5,0,0,2003,48,1,0,0,0,2004,2005,7,4,0,0,2005,2006,7,21,0,0,2006,2007,7,3,0,0,2007,2008,7,15,0,0,2008,2009,7,23,0,0,2009,2010,7,8,0,0,2010,50,1,0,0,0,2011,2012,7,4,0,0,2012,2013,7,21,0,0,2013,2014,7,3,0,0,2014,2015,7,11,0,0,2015,2016,7,3,0,0,2016,2017,7,4,0,0,2017,2018,7,5,0,0,2018,2019,7,8,0,0,2019,2020,7,11,0,0,2020,52,1,0,0,0,2021,2022,7,4,0,0,2022,2023,7,21,0,0,2023,2024,7,8,0,0,2024,2025,7,4,0,0,2025,2026,7,22,0,0,2026,54,1,0,0,0,2027,2028,7,4,0,0,2028,2029,7,20,0,0,2029,2030,7,10,0,0,2030,2031,7,10,0,0,2031,2032,7,3,0,0,2032,2033,7,5,0,0,2033,2034,7,8,0,0,2034,56,1,0,0,0,2035,2036,7,4,0,0,2036,2037,7,20,0,0,2037,2038,7,10,0,0,2038,2039,7,18,0,0,2039,2040,7,24,0,0,2040,2041,7,15,0,0,2041,58,1,0,0,0,2042,2043,7,4,0,0,2043,2044,7,20,0,0,2044,2045,7,15,0,0,2045,2046,7,9,0,0,2046,2047,7,6,0,0,2047,2048,7,5,0,0,2048,2049,7,6,0,0,2049,2050,7,20,0,0,2050,2051,7,15,0,0,2051,60,1,0,0,0,2052,2053,7,4,0,0,2053,2054,7,20,0,0,2054,2055,7,15,0,0,2055,2056,7,14,0,0,2056,2057,7,5,0,0,2057,2058,7,11,0,0,2058,2059,7,3,0,0,2059,2060,7,6,0,0,2060,2061,7,15,0,0,2061,2062,7,5,0,0,2062,62,1,0,0,0,2063,2064,7,4,0,0,2064,2065,7,20,0,0,2065,2066,7,15,0,0,2066,2067,7,5,0,0,2067,2068,7,6,0,0,2068,2069,7,15,0,0,2069,2070,7,18,0,0,2070,2071,7,8,0,0,2071,64,1,0,0,0,2072,2073,7,4,0,0,2073,2074,7,20,0,0,2074,2075,7,15,0,0,2075,2076,7,7,0,0,2076,2077,7,8,0,0,2077,2078,7,11,0,0,2078,2079,7,5,0,0,2079,66,1,0,0,0,2080,2081,7,4,0,0,2081,2082,7,11,0,0,2082,2083,7,8,0,0,2083,2084,7,3,0,0,2084,2085,7,5,0,0,2085,2086,7,8,0,0,2086,68,1,0,0,0,2087,2088,7,4,0,0,2088,2089,7,11,0,0,2089,2090,7,20,0,0,2090,2091,7,14,0,0,2091,2092,7,14,0,0,2092,70,1,0,0,0,2093,2094,7,4,0,0,2094,2095,7,18,0,0,2095,2096,7,11,0,0,2096,2097,7,11,0,0,2097,2098,7,8,0,0,2098,2099,7,15,0,0,2099,2100,7,5,0,0,2100,72,1,0,0,0,2101,2102,7,4,0,0,2102,2103,7,18,0,0,2103,2104,7,11,0,0,2104,2105,7,11,0,0,2105,2106,7,8,0,0,2106,2107,7,15,0,0,2107,2108,7,5,0,0,2108,2109,5,95,0,0,2109,2110,7,18,0,0,2110,2111,7,14,0,0,2111,2112,7,8,0,0,2112,2113,7,11,0,0,2113,74,1,0,0,0,2114,2115,7,4,0,0,2115,2116,7,18,0,0,2116,2117,7,11,0,0,2117,2118,7,14,0,0,2118,2119,7,20,0,0,2119,2120,7,11,0,0,2120,76,1,0,0,0,2121,2122,7,9,0,0,2122,2123,7,3,0,0,2123,2124,7,5,0,0,2124,2125,7,3,0,0,2125,2126,7,17,0,0,2126,2127,7,3,0,0,2127,2128,7,14,0,0,2128,2129,7,8,0,0,2129,78,1,0,0,0,2130,2131,7,9,0,0,2131,2132,7,3,0,0,2132,2133,7,5,0,0,2133,2134,7,3,0,0,2134,2135,7,17,0,0,2135,2136,7,3,0,0,2136,2137,7,14,0,0,2137,2138,7,8,0,0,2138,2139,7,14,0,0,2139,80,1,0,0,0,2140,2141,7,9,0,0,2141,2142,7,8,0,0,2142,2143,7,4,0,0,2143,2144,7,10,0,0,2144,2145,7,3,0,0,2145,2146,7,11,0,0,2146,2147,7,8,0,0,2147,82,1,0,0,0,2148,2149,7,9,0,0,2149,2150,7,8,0,0,2150,2151,7,19,0,0,2151,2152,7,3,0,0,2152,2153,7,18,0,0,2153,2154,7,10,0,0,2154,2155,7,5,0,0,2155,84,1,0,0,0,2156,2157,7,9,0,0,2157,2158,7,8,0,0,2158,2159,7,10,0,0,2159,2160,7,3,0,0,2160,2161,7,13,0,0,2161,2162,7,8,0,0,2162,2163,7,9,0,0,2163,86,1,0,0,0,2164,2165,7,9,0,0,2165,2166,7,8,0,0,2166,2167,7,10,0,0,2167,2168,7,8,0,0,2168,2169,7,5,0,0,2169,2170,7,8,0,0,2170,88,1,0,0,0,2171,2172,7,9,0,0,2172,2173,7,8,0,0,2173,2174,7,14,0,0,2174,2175,7,4,0,0,2175,90,1,0,0,0,2176,2177,7,9,0,0,2177,2178,7,8,0,0,2178,2179,7,14,0,0,2179,2180,7,4,0,0,2180,2181,7,11,0,0,2181,2182,7,6,0,0,2182,2183,7,17,0,0,2183,2184,7,8,0,0,2184,92,1,0,0,0,2185,2186,7,9,0,0,2186,2187,7,8,0,0,2187,2188,7,5,0,0,2188,2189,7,8,0,0,2189,2190,7,11,0,0,2190,2191,7,24,0,0,2191,2192,7,6,0,0,2192,2193,7,15,0,0,2193,2194,7,6,0,0,2194,2195,7,14,0,0,2195,2196,7,5,0,0,2196,2197,7,6,0,0,2197,2198,7,4,0,0,2198,94,1,0,0,0,2199,2200,7,9,0,0,2200,2201,7,6,0,0,2201,2202,7,3,0,0,2202,2203,7,23,0,0,2203,2204,7,15,0,0,2204,2205,7,20,0,0,2205,2206,7,14,0,0,2206,2207,7,5,0,0,2207,2208,7,6,0,0,2208,2209,7,4,0,0,2209,2210,7,14,0,0,2210,96,1,0,0,0,2211,2212,7,9,0,0,2212,2213,7,6,0,0,2213,2214,7,14,0,0,2214,2215,7,5,0,0,2215,2216,7,6,0,0,2216,2217,7,15,0,0,2217,2218,7,4,0,0,2218,2219,7,5,0,0,2219,98,1,0,0,0,2220,2221,7,9,0,0,2221,2222,7,6,0,0,2222,2223,7,14,0,0,2223,2224,7,5,0,0,2224,2225,7,6,0,0,2225,2226,7,15,0,0,2226,2227,7,4,0,0,2227,2228,7,5,0,0,2228,2229,7,11,0,0,2229,2230,7,20,0,0,2230,2231,7,12,0,0,2231,100,1,0,0,0,2232,2233,7,9,0,0,2233,2234,7,11,0,0,2234,2235,7,20,0,0,2235,2236,7,25,0,0,2236,102,1,0,0,0,2237,2238,7,8,0,0,2238,2239,7,3,0,0,2239,2240,7,4,0,0,2240,2241,7,21,0,0,2241,104,1,0,0,0,2242,2243,7,8,0,0,2243,2244,7,10,0,0,2244,2245,7,14,0,0,2245,2246,7,8,0,0,2246,106,1,0,0,0,2247,2248,7,8,0,0,2248,2249,7,10,0,0,2249,2250,7,14,0,0,2250,2251,7,8,0,0,2251,2252,7,6,0,0,2252,2253,7,19,0,0,2253,108,1,0,0,0,2254,2255,7,8,0,0,2255,2256,7,24,0,0,2256,2257,7,25,0,0,2257,2258,7,5,0,0,2258,2259,7,13,0,0,2259,110,1,0,0,0,2260,2261,7,8,0,0,2261,2262,7,15,0,0,2262,2263,7,4,0,0,2263,2264,7,10,0,0,2264,2265,7,20,0,0,2265,2266,7,14,0,0,2266,2267,7,8,0,0,2267,2268,7,9,0,0,2268,112,1,0,0,0,2269,2270,7,8,0,0,2270,2271,7,15,0,0,2271,2272,7,19,0,0,2272,2273,7,20,0,0,2273,2274,7,11,0,0,2274,2275,7,4,0,0,2275,2276,7,8,0,0,2276,2277,7,9,0,0,2277,114,1,0,0,0,2278,2279,7,8,0,0,2279,2280,7,14,0,0,2280,2281,7,4,0,0,2281,2282,7,3,0,0,2282,2283,7,25,0,0,2283,2284,7,8,0,0,2284,2285,7,9,0,0,2285,116,1,0,0,0,2286,2287,7,8,0,0,2287,2288,7,26,0,0,2288,2289,7,4,0,0,2289,2290,7,8,0,0,2290,2291,7,25,0,0,2291,2292,7,5,0,0,2292,118,1,0,0,0,2293,2294,7,8,0,0,2294,2295,7,26,0,0,2295,2296,7,6,0,0,2296,2297,7,14,0,0,2297,2298,7,5,0,0,2298,2299,7,14,0,0,2299,120,1,0,0,0,2300,2301,7,8,0,0,2301,2302,7,26,0,0,2302,2303,7,6,0,0,2303,2304,7,5,0,0,2304,122,1,0,0,0,2305,2306,7,8,0,0,2306,2307,7,26,0,0,2307,2308,7,25,0,0,2308,2309,7,10,0,0,2309,2310,7,3,0,0,2310,2311,7,6,0,0,2311,2312,7,15,0,0,2312,124,1,0,0,0,2313,2314,7,19,0,0,2314,2315,7,3,0,0,2315,2316,7,10,0,0,2316,2317,7,14,0,0,2317,2318,7,8,0,0,2318,126,1,0,0,0,2319,2320,7,19,0,0,2320,2321,7,8,0,0,2321,2322,7,5,0,0,2322,2323,7,4,0,0,2323,2324,7,21,0,0,2324,128,1,0,0,0,2325,2326,7,19,0,0,2326,2327,7,20,0,0,2327,2328,7,11,0,0,2328,130,1,0,0,0,2329,2330,7,19,0,0,2330,2331,7,20,0,0,2331,2332,7,11,0,0,2332,2333,7,4,0,0,2333,2334,7,8,0,0,2334,132,1,0,0,0,2335,2336,7,19,0,0,2336,2337,7,20,0,0,2337,2338,7,11,0,0,2338,2339,7,8,0,0,2339,2340,7,6,0,0,2340,2341,7,23,0,0,2341,2342,7,15,0,0,2342,134,1,0,0,0,2343,2344,7,19,0,0,2344,2345,7,11,0,0,2345,2346,7,20,0,0,2346,2347,7,24,0,0,2347,136,1,0,0,0,2348,2349,7,19,0,0,2349,2350,7,18,0,0,2350,2351,7,10,0,0,2351,2352,7,10,0,0,2352,2353,7,5,0,0,2353,2354,7,8,0,0,2354,2355,7,26,0,0,2355,2356,7,5,0,0,2356,138,1,0,0,0,2357,2358,7,23,0,0,2358,2359,7,8,0,0,2359,2360,7,15,0,0,2360,2361,7,8,0,0,2361,2362,7,11,0,0,2362,2363,7,3,0,0,2363,2364,7,5,0,0,2364,2365,7,8,0,0,2365,140,1,0,0,0,2366,2367,7,23,0,0,2367,2368,7,8,0,0,2368,2369,7,15,0,0,2369,2370,7,8,0,0,2370,2371,7,11,0,0,2371,2372,7,3,0,0,2372,2373,7,5,0,0,2373,2374,7,8,0,0,2374,2375,7,9,0,0,2375,142,1,0,0,0,2376,2377,7,23,0,0,2377,2378,7,8,0,0,2378,2379,7,5,0,0,2379,144,1,0,0,0,2380,2381,7,23,0,0,2381,2382,7,11,0,0,2382,2383,7,3,0,0,2383,2384,7,15,0,0,2384,2385,7,5,0,0,2385,146,1,0,0,0,2386,2387,7,23,0,0,2387,2388,7,11,0,0,2388,2389,7,20,0,0,2389,2390,7,18,0,0,2390,2391,7,25,0,0,2391,148,1,0,0,0,2392,2393,7,21,0,0,2393,2394,7,3,0,0,2394,2395,7,7,0,0,2395,2396,7,6,0,0,2396,2397,7,15,0,0,2397,2398,7,23,0,0,2398,150,1,0,0,0,2399,2400,7,21,0,0,2400,2401,7,6,0,0,2401,2402,7,23,0,0,2402,2403,7,21,0,0,2403,2404,5,95,0,0,2404,2405,7,25,0,0,2405,2406,7,11,0,0,2406,2407,7,6,0,0,2407,2408,7,20,0,0,2408,2409,7,11,0,0,2409,2410,7,6,0,0,2410,2411,7,5,0,0,2411,2412,7,13,0,0,2412,152,1,0,0,0,2413,2414,7,21,0,0,2414,2415,7,6,0,0,2415,2416,7,14,0,0,2416,2417,7,5,0,0,2417,2418,7,20,0,0,2418,2419,7,23,0,0,2419,2420,7,11,0,0,2420,2421,7,3,0,0,2421,2422,7,24,0,0,2422,154,1,0,0,0,2423,2424,7,6,0,0,2424,2425,7,19,0,0,2425,156,1,0,0,0,2426,2427,7,6,0,0,2427,2428,7,23,0,0,2428,2429,7,15,0,0,2429,2430,7,20,0,0,2430,2431,7,11,0,0,2431,2432,7,8,0,0,2432,158,1,0,0,0,2433,2434,7,6,0,0,2434,2435,7,15,0,0,2435,160,1,0,0,0,2436,2437,7,6,0,0,2437,2438,7,15,0,0,2438,2439,7,3,0,0,2439,2440,7,4,0,0,2440,2441,7,5,0,0,2441,2442,7,6,0,0,2442,2443,7,7,0,0,2443,2444,7,8,0,0,2444,162,1,0,0,0,2445,2446,7,6,0,0,2446,2447,7,15,0,0,2447,2448,7,9,0,0,2448,2449,7,8,0,0,2449,2450,7,26,0,0,2450,164,1,0,0,0,2451,2452,7,6,0,0,2452,2453,7,15,0,0,2453,2454,7,19,0,0,2454,2455,7,6,0,0,2455,2456,7,10,0,0,2456,2457,7,8,0,0,2457,166,1,0,0,0,2458,2459,7,6,0,0,2459,2460,7,15,0,0,2460,2461,7,15,0,0,2461,2462,7,8,0,0,2462,2463,7,11,0,0,2463,168,1,0,0,0,2464,2465,7,6,0,0,2465,2466,7,15,0,0,2466,2467,7,20,0,0,2467,2468,7,18,0,0,2468,2469,7,5,0,0,2469,170,1,0,0,0,2470,2471,7,6,0,0,2471,2472,7,15,0,0,2472,2473,7,14,0,0,2473,2474,7,8,0,0,2474,2475,7,11,0,0,2475,2476,7,5,0,0,2476,172,1,0,0,0,2477,2478,7,6,0,0,2478,2479,7,15,0,0,2479,2480,7,5,0,0,2480,2481,7,8,0,0,2481,2482,7,11,0,0,2482,2483,7,7,0,0,2483,2484,7,3,0,0,2484,2485,7,10,0,0,2485,174,1,0,0,0,2486,2487,7,6,0,0,2487,2488,7,15,0,0,2488,2489,7,5,0,0,2489,2490,7,20,0,0,2490,176,1,0,0,0,2491,2492,7,6,0,0,2492,2493,7,14,0,0,2493,178,1,0,0,0,2494,2495,7,6,0,0,2495,2496,7,5,0,0,2496,2497,7,8,0,0,2497,2498,7,11,0,0,2498,2499,7,3,0,0,2499,2500,7,5,0,0,2500,2501,7,8,0,0,2501,180,1,0,0,0,2502,2503,7,27,0,0,2503,2504,7,20,0,0,2504,2505,7,6,0,0,2505,2506,7,15,0,0,2506,182,1,0,0,0,2507,2508,7,22,0,0,2508,2509,7,8,0,0,2509,2510,7,13,0,0,2510,184,1,0,0,0,2511,2512,7,22,0,0,2512,2513,7,8,0,0,2513,2514,7,13,0,0,2514,2515,7,14,0,0,2515,186,1,0,0,0,2516,2517,7,22,0,0,2517,2518,7,6,0,0,2518,2519,7,10,0,0,2519,2520,7,10,0,0,2520,188,1,0,0,0,2521,2522,7,10,0,0,2522,2523,7,3,0,0,2523,2524,7,5,0,0,2524,2525,7,8,0,0,2525,2526,7,11,0,0,2526,2527,7,3,0,0,2527,2528,7,10,0,0,2528,190,1,0,0,0,2529,2530,7,10,0,0,2530,2531,7,8,0,0,2531,2532,7,3,0,0,2532,2533,7,9,0,0,2533,2534,7,6,0,0,2534,2535,7,15,0,0,2535,2536,7,23,0,0,2536,192,1,0,0,0,2537,2538,7,10,0,0,2538,2539,7,8,0,0,2539,2540,7,3,0,0,2540,2541,7,7,0,0,2541,2542,7,8,0,0,2542,194,1,0,0,0,2543,2544,7,10,0,0,2544,2545,7,8,0,0,2545,2546,7,19,0,0,2546,2547,7,5,0,0,2547,196,1,0,0,0,2548,2549,7,10,0,0,2549,2550,7,6,0,0,2550,2551,7,22,0,0,2551,2552,7,8,0,0,2552,198,1,0,0,0,2553,2554,7,10,0,0,2554,2555,7,6,0,0,2555,2556,7,24,0,0,2556,2557,7,6,0,0,2557,2558,7,5,0,0,2558,200,1,0,0,0,2559,2560,7,10,0,0,2560,2561,7,6,0,0,2561,2562,7,15,0,0,2562,2563,7,8,0,0,2563,2564,7,3,0,0,2564,2565,7,11,0,0,2565,202,1,0,0,0,2566,2567,7,10,0,0,2567,2568,7,6,0,0,2568,2569,7,15,0,0,2569,2570,7,8,0,0,2570,2571,7,14,0,0,2571,204,1,0,0,0,2572,2573,7,10,0,0,2573,2574,7,20,0,0,2574,2575,7,3,0,0,2575,2576,7,9,0,0,2576,206,1,0,0,0,2577,2578,7,10,0,0,2578,2579,7,20,0,0,2579,2580,7,4,0,0,2580,2581,7,22,0,0,2581,208,1,0,0,0,2582,2583,7,10,0,0,2583,2584,7,20,0,0,2584,2585,7,4,0,0,2585,2586,7,22,0,0,2586,2587,7,8,0,0,2587,2588,7,9,0,0,2588,210,1,0,0,0,2589,2590,7,10,0,0,2590,2591,7,20,0,0,2591,2592,7,20,0,0,2592,2593,7,25,0,0,2593,212,1,0,0,0,2594,2595,7,10,0,0,2595,2596,7,20,0,0,2596,2597,7,12,0,0,2597,2598,5,95,0,0,2598,2599,7,25,0,0,2599,2600,7,11,0,0,2600,2601,7,6,0,0,2601,2602,7,20,0,0,2602,2603,7,11,0,0,2603,2604,7,6,0,0,2604,2605,7,5,0,0,2605,2606,7,13,0,0,2606,214,1,0,0,0,2607,2608,7,24,0,0,2608,2609,7,3,0,0,2609,2610,7,14,0,0,2610,2611,7,5,0,0,2611,2612,7,8,0,0,2612,2613,7,11,0,0,2613,2614,5,95,0,0,2614,2615,7,17,0,0,2615,2616,7,6,0,0,2616,2617,7,15,0,0,2617,2618,7,9,0,0,2618,216,1,0,0,0,2619,2620,7,24,0,0,2620,2621,7,3,0,0,2621,2622,7,14,0,0,2622,2623,7,5,0,0,2623,2624,7,8,0,0,2624,2625,7,11,0,0,2625,2626,5,95,0,0,2626,2627,7,14,0,0,2627,2628,7,14,0,0,2628,2629,7,10,0,0,2629,2630,5,95,0,0,2630,2631,7,7,0,0,2631,2632,7,8,0,0,2632,2633,7,11,0,0,2633,2634,7,6,0,0,2634,2635,7,19,0,0,2635,2636,7,13,0,0,2636,2637,5,95,0,0,2637,2638,7,14,0,0,2638,2639,7,8,0,0,2639,2640,7,11,0,0,2640,2641,7,7,0,0,2641,2642,7,8,0,0,2642,2643,7,11,0,0,2643,2644,5,95,0,0,2644,2645,7,4,0,0,2645,2646,7,8,0,0,2646,2647,7,11,0,0,2647,2648,7,5,0,0,2648,218,1,0,0,0,2649,2650,7,24,0,0,2650,2651,7,3,0,0,2651,2652,7,5,0,0,2652,2653,7,4,0,0,2653,2654,7,21,0,0,2654,220,1,0,0,0,2655,2656,7,24,0,0,2656,2657,7,3,0,0,2657,2658,7,26,0,0,2658,2659,7,7,0,0,2659,2660,7,3,0,0,2660,2661,7,10,0,0,2661,2662,7,18,0,0,2662,2663,7,8,0,0,2663,222,1,0,0,0,2664,2665,7,24,0,0,2665,2666,7,20,0,0,2666,2667,7,9,0,0,2667,2668,7,6,0,0,2668,2669,7,19,0,0,2669,2670,7,6,0,0,2670,2671,7,8,0,0,2671,2672,7,14,0,0,2672,224,1,0,0,0,2673,2674,7,15,0,0,2674,2675,7,3,0,0,2675,2676,7,5,0,0,2676,2677,7,18,0,0,2677,2678,7,11,0,0,2678,2679,7,3,0,0,2679,2680,7,10,0,0,2680,226,1,0,0,0,2681,2682,7,15,0,0,2682,2683,7,20,0,0,2683,2684,7,5,0,0,2684,228,1,0,0,0,2685,2686,7,15,0,0,2686,2687,7,20,0,0,2687,2688,5,95,0,0,2688,2689,7,12,0,0,2689,2690,7,11,0,0,2690,2691,7,6,0,0,2691,2692,7,5,0,0,2692,2693,7,8,0,0,2693,2694,5,95,0,0,2694,2695,7,5,0,0,2695,2696,7,20,0,0,2696,2697,5,95,0,0,2697,2698,7,17,0,0,2698,2699,7,6,0,0,2699,2700,7,15,0,0,2700,2701,7,10,0,0,2701,2702,7,20,0,0,2702,2703,7,23,0,0,2703,230,1,0,0,0,2704,2705,7,15,0,0,2705,2706,7,18,0,0,2706,2707,7,10,0,0,2707,2708,7,10,0,0,2708,232,1,0,0,0,2709,2710,7,15,0,0,2710,2711,7,18,0,0,2711,2712,7,24,0,0,2712,2713,7,17,0,0,2713,2714,7,8,0,0,2714,2715,7,11,0,0,2715,234,1,0,0,0,2716,2717,7,14,0,0,2717,2718,7,5,0,0,2718,2719,7,11,0,0,2719,2720,7,8,0,0,2720,2721,7,3,0,0,2721,2722,7,24,0,0,2722,236,1,0,0,0,2723,2724,7,20,0,0,2724,2725,7,15,0,0,2725,238,1,0,0,0,2726,2727,7,20,0,0,2727,2728,7,25,0,0,2728,2729,7,5,0,0,2729,2730,7,6,0,0,2730,2731,7,24,0,0,2731,2732,7,6,0,0,2732,2733,7,16,0,0,2733,2734,7,8,0,0,2734,240,1,0,0,0,2735,2736,7,20,0,0,2736,2737,7,25,0,0,2737,2738,7,5,0,0,2738,2739,7,6,0,0,2739,2740,7,20,0,0,2740,2741,7,15,0,0,2741,242,1,0,0,0,2742,2743,7,20,0,0,2743,2744,7,25,0,0,2744,2745,7,5,0,0,2745,2746,7,6,0,0,2746,2747,7,20,0,0,2747,2748,7,15,0,0,2748,2749,7,3,0,0,2749,2750,7,10,0,0,2750,244,1,0,0,0,2751,2752,7,20,0,0,2752,2753,7,25,0,0,2753,2754,7,5,0,0,2754,2755,7,6,0,0,2755,2756,7,20,0,0,2756,2757,7,15,0,0,2757,2758,7,3,0,0,2758,2759,7,10,0,0,2759,2760,7,10,0,0,2760,2761,7,13,0,0,2761,246,1,0,0,0,2762,2763,7,20,0,0,2763,2764,7,11,0,0,2764,248,1,0,0,0,2765,2766,7,20,0,0,2766,2767,7,11,0,0,2767,2768,7,9,0,0,2768,2769,7,8,0,0,2769,2770,7,11,0,0,2770,250,1,0,0,0,2771,2772,7,20,0,0,2772,2773,7,18,0,0,2773,2774,7,5,0,0,2774,252,1,0,0,0,2775,2776,7,20,0,0,2776,2777,7,18,0,0,2777,2778,7,5,0,0,2778,2779,7,8,0,0,2779,2780,7,11,0,0,2780,254,1,0,0,0,2781,2782,7,20,0,0,2782,2783,7,18,0,0,2783,2784,7,5,0,0,2784,2785,7,19,0,0,2785,2786,7,6,0,0,2786,2787,7,10,0,0,2787,2788,7,8,0,0,2788,256,1,0,0,0,2789,2790,7,20,0,0,2790,2791,7,7,0,0,2791,2792,7,8,0,0,2792,2793,7,11,0,0,2793,258,1,0,0,0,2794,2795,7,25,0,0,2795,2796,7,3,0,0,2796,2797,7,11,0,0,2797,2798,7,5,0,0,2798,2799,7,6,0,0,2799,2800,7,5,0,0,2800,2801,7,6,0,0,2801,2802,7,20,0,0,2802,2803,7,15,0,0,2803,260,1,0,0,0,2804,2805,7,25,0,0,2805,2806,7,11,0,0,2806,2807,7,6,0,0,2807,2808,7,24,0,0,2808,2809,7,3,0,0,2809,2810,7,11,0,0,2810,2811,7,13,0,0,2811,262,1,0,0,0,2812,2813,7,25,0,0,2813,2814,7,11,0,0,2814,2815,7,20,0,0,2815,2816,7,4,0,0,2816,2817,7,8,0,0,2817,2818,7,9,0,0,2818,2819,7,18,0,0,2819,2820,7,11,0,0,2820,2821,7,8,0,0,2821,264,1,0,0,0,2822,2823,7,25,0,0,2823,2824,7,18,0,0,2824,2825,7,11,0,0,2825,2826,7,23,0,0,2826,2827,7,8,0,0,2827,266,1,0,0,0,2828,2829,7,11,0,0,2829,2830,7,3,0,0,2830,2831,7,15,0,0,2831,2832,7,23,0,0,2832,2833,7,8,0,0,2833,268,1,0,0,0,2834,2835,7,11,0,0,2835,2836,7,8,0,0,2836,2837,7,3,0,0,2837,2838,7,9,0,0,2838,270,1,0,0,0,2839,2840,7,11,0,0,2840,2841,7,8,0,0,2841,2842,7,3,0,0,2842,2843,7,9,0,0,2843,2844,7,14,0,0,2844,272,1,0,0,0,2845,2846,7,11,0,0,2846,2847,7,8,0,0,2847,2848,7,19,0,0,2848,2849,7,8,0,0,2849,2850,7,11,0,0,2850,2851,7,8,0,0,2851,2852,7,15,0,0,2852,2853,7,4,0,0,2853,2854,7,8,0,0,2854,274,1,0,0,0,2855,2856,7,11,0,0,2856,2857,7,8,0,0,2857,2858,7,19,0,0,2858,2859,7,8,0,0,2859,2860,7,11,0,0,2860,2861,7,8,0,0,2861,2862,7,15,0,0,2862,2863,7,4,0,0,2863,2864,7,8,0,0,2864,2865,7,14,0,0,2865,276,1,0,0,0,2866,2867,7,11,0,0,2867,2868,7,8,0,0,2868,2869,7,23,0,0,2869,2870,7,8,0,0,2870,2871,7,26,0,0,2871,2872,7,25,0,0,2872,278,1,0,0,0,2873,2874,7,11,0,0,2874,2875,7,8,0,0,2875,2876,7,10,0,0,2876,2877,7,8,0,0,2877,2878,7,3,0,0,2878,2879,7,14,0,0,2879,2880,7,8,0,0,2880,280,1,0,0,0,2881,2882,7,11,0,0,2882,2883,7,8,0,0,2883,2884,7,15,0,0,2884,2885,7,3,0,0,2885,2886,7,24,0,0,2886,2887,7,8,0,0,2887,282,1,0,0,0,2888,2889,7,11,0,0,2889,2890,7,8,0,0,2890,2891,7,25,0,0,2891,2892,7,8,0,0,2892,2893,7,3,0,0,2893,2894,7,5,0,0,2894,284,1,0,0,0,2895,2896,7,11,0,0,2896,2897,7,8,0,0,2897,2898,7,25,0,0,2898,2899,7,10,0,0,2899,2900,7,3,0,0,2900,2901,7,4,0,0,2901,2902,7,8,0,0,2902,286,1,0,0,0,2903,2904,7,11,0,0,2904,2905,7,8,0,0,2905,2906,7,28,0,0,2906,2907,7,18,0,0,2907,2908,7,6,0,0,2908,2909,7,11,0,0,2909,2910,7,8,0,0,2910,288,1,0,0,0,2911,2912,7,11,0,0,2912,2913,7,8,0,0,2913,2914,7,14,0,0,2914,2915,7,6,0,0,2915,2916,7,23,0,0,2916,2917,7,15,0,0,2917,2918,7,3,0,0,2918,2919,7,10,0,0,2919,290,1,0,0,0,2920,2921,7,11,0,0,2921,2922,7,8,0,0,2922,2923,7,14,0,0,2923,2924,7,5,0,0,2924,2925,7,11,0,0,2925,2926,7,6,0,0,2926,2927,7,4,0,0,2927,2928,7,5,0,0,2928,292,1,0,0,0,2929,2930,7,11,0,0,2930,2931,7,8,0,0,2931,2932,7,5,0,0,2932,2933,7,3,0,0,2933,2934,7,6,0,0,2934,2935,7,15,0,0,2935,294,1,0,0,0,2936,2937,7,11,0,0,2937,2938,7,8,0,0,2938,2939,7,5,0,0,2939,2940,7,18,0,0,2940,2941,7,11,0,0,2941,2942,7,15,0,0,2942,296,1,0,0,0,2943,2944,7,11,0,0,2944,2945,7,8,0,0,2945,2946,7,7,0,0,2946,2947,7,20,0,0,2947,2948,7,22,0,0,2948,2949,7,8,0,0,2949,298,1,0,0,0,2950,2951,7,11,0,0,2951,2952,7,6,0,0,2952,2953,7,23,0,0,2953,2954,7,21,0,0,2954,2955,7,5,0,0,2955,300,1,0,0,0,2956,2957,7,11,0,0,2957,2958,7,10,0,0,2958,2959,7,6,0,0,2959,2960,7,22,0,0,2960,2961,7,8,0,0,2961,302,1,0,0,0,2962,2963,7,14,0,0,2963,2964,7,4,0,0,2964,2965,7,21,0,0,2965,2966,7,8,0,0,2966,2967,7,24,0,0,2967,2968,7,3,0,0,2968,304,1,0,0,0,2969,2970,7,14,0,0,2970,2971,7,4,0,0,2971,2972,7,21,0,0,2972,2973,7,8,0,0,2973,2974,7,24,0,0,2974,2975,7,3,0,0,2975,2976,7,14,0,0,2976,306,1,0,0,0,2977,2978,7,14,0,0,2978,2979,7,8,0,0,2979,2980,7,10,0,0,2980,2981,7,8,0,0,2981,2982,7,4,0,0,2982,2983,7,5,0,0,2983,308,1,0,0,0,2984,2985,7,14,0,0,2985,2986,7,8,0,0,2986,2987,7,5,0,0,2987,310,1,0,0,0,2988,2989,7,14,0,0,2989,2990,7,8,0,0,2990,2991,7,25,0,0,2991,2992,7,3,0,0,2992,2993,7,11,0,0,2993,2994,7,3,0,0,2994,2995,7,5,0,0,2995,2996,7,20,0,0,2996,2997,7,11,0,0,2997,312,1,0,0,0,2998,2999,7,14,0,0,2999,3e3,7,21,0,0,3e3,3001,7,20,0,0,3001,3002,7,12,0,0,3002,314,1,0,0,0,3003,3004,7,14,0,0,3004,3005,7,6,0,0,3005,3006,7,23,0,0,3006,3007,7,15,0,0,3007,3008,7,3,0,0,3008,3009,7,10,0,0,3009,316,1,0,0,0,3010,3011,7,14,0,0,3011,3012,7,22,0,0,3012,3013,7,6,0,0,3013,3014,7,25,0,0,3014,318,1,0,0,0,3015,3016,7,14,0,0,3016,3017,7,22,0,0,3017,3018,7,6,0,0,3018,3019,7,25,0,0,3019,3020,5,95,0,0,3020,3021,7,28,0,0,3021,3022,7,18,0,0,3022,3023,7,8,0,0,3023,3024,7,11,0,0,3024,3025,7,13,0,0,3025,3026,5,95,0,0,3026,3027,7,11,0,0,3027,3028,7,8,0,0,3028,3029,7,12,0,0,3029,3030,7,11,0,0,3030,3031,7,6,0,0,3031,3032,7,5,0,0,3032,3033,7,8,0,0,3033,320,1,0,0,0,3034,3035,7,14,0,0,3035,3036,7,25,0,0,3036,3037,7,3,0,0,3037,3038,7,5,0,0,3038,3039,7,6,0,0,3039,3040,7,3,0,0,3040,3041,7,10,0,0,3041,322,1,0,0,0,3042,3043,7,14,0,0,3043,3044,7,28,0,0,3044,3045,7,10,0,0,3045,324,1,0,0,0,3046,3047,7,14,0,0,3047,3048,7,28,0,0,3048,3049,7,10,0,0,3049,3050,7,8,0,0,3050,3051,7,26,0,0,3051,3052,7,4,0,0,3052,3053,7,8,0,0,3053,3054,7,25,0,0,3054,3055,7,5,0,0,3055,3056,7,6,0,0,3056,3057,7,20,0,0,3057,3058,7,15,0,0,3058,326,1,0,0,0,3059,3060,7,14,0,0,3060,3061,7,28,0,0,3061,3062,7,10,0,0,3062,3063,7,14,0,0,3063,3064,7,5,0,0,3064,3065,7,3,0,0,3065,3066,7,5,0,0,3066,3067,7,8,0,0,3067,328,1,0,0,0,3068,3069,7,14,0,0,3069,3070,7,28,0,0,3070,3071,7,10,0,0,3071,3072,7,12,0,0,3072,3073,7,3,0,0,3073,3074,7,11,0,0,3074,3075,7,15,0,0,3075,3076,7,6,0,0,3076,3077,7,15,0,0,3077,3078,7,23,0,0,3078,330,1,0,0,0,3079,3080,7,14,0,0,3080,3081,7,28,0,0,3081,3082,7,10,0,0,3082,3083,5,95,0,0,3083,3084,7,17,0,0,3084,3085,7,6,0,0,3085,3086,7,23,0,0,3086,3087,5,95,0,0,3087,3088,7,11,0,0,3088,3089,7,8,0,0,3089,3090,7,14,0,0,3090,3091,7,18,0,0,3091,3092,7,10,0,0,3092,3093,7,5,0,0,3093,332,1,0,0,0,3094,3095,7,14,0,0,3095,3096,7,28,0,0,3096,3097,7,10,0,0,3097,3098,5,95,0,0,3098,3099,7,4,0,0,3099,3100,7,3,0,0,3100,3101,7,10,0,0,3101,3102,7,4,0,0,3102,3103,5,95,0,0,3103,3104,7,19,0,0,3104,3105,7,20,0,0,3105,3106,7,18,0,0,3106,3107,7,15,0,0,3107,3108,7,9,0,0,3108,3109,5,95,0,0,3109,3110,7,11,0,0,3110,3111,7,20,0,0,3111,3112,7,12,0,0,3112,3113,7,14,0,0,3113,334,1,0,0,0,3114,3115,7,14,0,0,3115,3116,7,28,0,0,3116,3117,7,10,0,0,3117,3118,5,95,0,0,3118,3119,7,14,0,0,3119,3120,7,24,0,0,3120,3121,7,3,0,0,3121,3122,7,10,0,0,3122,3123,7,10,0,0,3123,3124,5,95,0,0,3124,3125,7,11,0,0,3125,3126,7,8,0,0,3126,3127,7,14,0,0,3127,3128,7,18,0,0,3128,3129,7,10,0,0,3129,3130,7,5,0,0,3130,336,1,0,0,0,3131,3132,7,14,0,0,3132,3133,7,14,0,0,3133,3134,7,10,0,0,3134,338,1,0,0,0,3135,3136,7,14,0,0,3136,3137,7,5,0,0,3137,3138,7,3,0,0,3138,3139,7,4,0,0,3139,3140,7,22,0,0,3140,3141,7,8,0,0,3141,3142,7,9,0,0,3142,340,1,0,0,0,3143,3144,7,14,0,0,3144,3145,7,5,0,0,3145,3146,7,3,0,0,3146,3147,7,11,0,0,3147,3148,7,5,0,0,3148,3149,7,6,0,0,3149,3150,7,15,0,0,3150,3151,7,23,0,0,3151,342,1,0,0,0,3152,3153,7,14,0,0,3153,3154,7,5,0,0,3154,3155,7,11,0,0,3155,3156,7,3,0,0,3156,3157,7,6,0,0,3157,3158,7,23,0,0,3158,3159,7,21,0,0,3159,3160,7,5,0,0,3160,3161,5,95,0,0,3161,3162,7,27,0,0,3162,3163,7,20,0,0,3163,3164,7,6,0,0,3164,3165,7,15,0,0,3165,344,1,0,0,0,3166,3167,7,5,0,0,3167,3168,7,3,0,0,3168,3169,7,17,0,0,3169,3170,7,10,0,0,3170,3171,7,8,0,0,3171,346,1,0,0,0,3172,3173,7,5,0,0,3173,3174,7,8,0,0,3174,3175,7,11,0,0,3175,3176,7,24,0,0,3176,3177,7,6,0,0,3177,3178,7,15,0,0,3178,3179,7,3,0,0,3179,3180,7,5,0,0,3180,3181,7,8,0,0,3181,3182,7,9,0,0,3182,348,1,0,0,0,3183,3184,7,5,0,0,3184,3185,7,21,0,0,3185,3186,7,8,0,0,3186,3187,7,15,0,0,3187,350,1,0,0,0,3188,3189,7,5,0,0,3189,3190,7,20,0,0,3190,352,1,0,0,0,3191,3192,7,5,0,0,3192,3193,7,11,0,0,3193,3194,7,3,0,0,3194,3195,7,6,0,0,3195,3196,7,10,0,0,3196,3197,7,6,0,0,3197,3198,7,15,0,0,3198,3199,7,23,0,0,3199,354,1,0,0,0,3200,3201,7,5,0,0,3201,3202,7,11,0,0,3202,3203,7,6,0,0,3203,3204,7,23,0,0,3204,3205,7,23,0,0,3205,3206,7,8,0,0,3206,3207,7,11,0,0,3207,356,1,0,0,0,3208,3209,7,5,0,0,3209,3210,7,11,0,0,3210,3211,7,18,0,0,3211,3212,7,8,0,0,3212,358,1,0,0,0,3213,3214,7,18,0,0,3214,3215,7,15,0,0,3215,3216,7,9,0,0,3216,3217,7,20,0,0,3217,360,1,0,0,0,3218,3219,7,18,0,0,3219,3220,7,15,0,0,3220,3221,7,6,0,0,3221,3222,7,20,0,0,3222,3223,7,15,0,0,3223,362,1,0,0,0,3224,3225,7,18,0,0,3225,3226,7,15,0,0,3226,3227,7,6,0,0,3227,3228,7,28,0,0,3228,3229,7,18,0,0,3229,3230,7,8,0,0,3230,364,1,0,0,0,3231,3232,7,18,0,0,3232,3233,7,15,0,0,3233,3234,7,10,0,0,3234,3235,7,20,0,0,3235,3236,7,4,0,0,3236,3237,7,22,0,0,3237,366,1,0,0,0,3238,3239,7,18,0,0,3239,3240,7,15,0,0,3240,3241,7,14,0,0,3241,3242,7,6,0,0,3242,3243,7,23,0,0,3243,3244,7,15,0,0,3244,3245,7,8,0,0,3245,3246,7,9,0,0,3246,368,1,0,0,0,3247,3248,7,18,0,0,3248,3249,7,25,0,0,3249,3250,7,9,0,0,3250,3251,7,3,0,0,3251,3252,7,5,0,0,3252,3253,7,8,0,0,3253,370,1,0,0,0,3254,3255,7,18,0,0,3255,3256,7,14,0,0,3256,3257,7,3,0,0,3257,3258,7,23,0,0,3258,3259,7,8,0,0,3259,372,1,0,0,0,3260,3261,7,18,0,0,3261,3262,7,14,0,0,3262,3263,7,8,0,0,3263,374,1,0,0,0,3264,3265,7,18,0,0,3265,3266,7,14,0,0,3266,3267,7,6,0,0,3267,3268,7,15,0,0,3268,3269,7,23,0,0,3269,376,1,0,0,0,3270,3271,7,7,0,0,3271,3272,7,3,0,0,3272,3273,7,10,0,0,3273,3274,7,18,0,0,3274,3275,7,8,0,0,3275,3276,7,14,0,0,3276,378,1,0,0,0,3277,3278,7,7,0,0,3278,3279,7,4,0,0,3279,3280,7,25,0,0,3280,3281,7,18,0,0,3281,380,1,0,0,0,3282,3283,7,12,0,0,3283,3284,7,21,0,0,3284,3285,7,8,0,0,3285,3286,7,15,0,0,3286,382,1,0,0,0,3287,3288,7,12,0,0,3288,3289,7,21,0,0,3289,3290,7,8,0,0,3290,3291,7,11,0,0,3291,3292,7,8,0,0,3292,384,1,0,0,0,3293,3294,7,12,0,0,3294,3295,7,21,0,0,3295,3296,7,6,0,0,3296,3297,7,10,0,0,3297,3298,7,8,0,0,3298,386,1,0,0,0,3299,3300,7,12,0,0,3300,3301,7,6,0,0,3301,3302,7,5,0,0,3302,3303,7,21,0,0,3303,388,1,0,0,0,3304,3305,7,12,0,0,3305,3306,7,11,0,0,3306,3307,7,6,0,0,3307,3308,7,5,0,0,3308,3309,7,8,0,0,3309,390,1,0,0,0,3310,3311,7,26,0,0,3311,3312,7,20,0,0,3312,3313,7,11,0,0,3313,392,1,0,0,0,3314,3315,7,16,0,0,3315,3316,7,8,0,0,3316,3317,7,11,0,0,3317,3318,7,20,0,0,3318,3319,7,19,0,0,3319,3320,7,6,0,0,3320,3321,7,10,0,0,3321,3322,7,10,0,0,3322,394,1,0,0,0,3323,3324,7,5,0,0,3324,3325,7,6,0,0,3325,3326,7,15,0,0,3326,3327,7,13,0,0,3327,3328,7,6,0,0,3328,3329,7,15,0,0,3329,3330,7,5,0,0,3330,396,1,0,0,0,3331,3332,7,14,0,0,3332,3333,7,24,0,0,3333,3334,7,3,0,0,3334,3335,7,10,0,0,3335,3336,7,10,0,0,3336,3337,7,6,0,0,3337,3338,7,15,0,0,3338,3339,7,5,0,0,3339,398,1,0,0,0,3340,3341,7,24,0,0,3341,3342,7,8,0,0,3342,3343,7,9,0,0,3343,3344,7,6,0,0,3344,3345,7,18,0,0,3345,3346,7,24,0,0,3346,3347,7,6,0,0,3347,3348,7,15,0,0,3348,3349,7,5,0,0,3349,400,1,0,0,0,3350,3351,7,24,0,0,3351,3352,7,6,0,0,3352,3353,7,9,0,0,3353,3354,7,9,0,0,3354,3355,7,10,0,0,3355,3356,7,8,0,0,3356,3357,7,6,0,0,3357,3358,7,15,0,0,3358,3359,7,5,0,0,3359,402,1,0,0,0,3360,3361,7,6,0,0,3361,3362,7,15,0,0,3362,3363,7,5,0,0,3363,404,1,0,0,0,3364,3365,7,6,0,0,3365,3366,7,15,0,0,3366,3367,7,5,0,0,3367,3368,5,49,0,0,3368,406,1,0,0,0,3369,3370,7,6,0,0,3370,3371,7,15,0,0,3371,3372,7,5,0,0,3372,3373,5,50,0,0,3373,408,1,0,0,0,3374,3375,7,6,0,0,3375,3376,7,15,0,0,3376,3377,7,5,0,0,3377,3378,5,51,0,0,3378,410,1,0,0,0,3379,3380,7,6,0,0,3380,3381,7,15,0,0,3381,3382,7,5,0,0,3382,3383,5,52,0,0,3383,412,1,0,0,0,3384,3385,7,6,0,0,3385,3386,7,15,0,0,3386,3387,7,5,0,0,3387,3388,5,56,0,0,3388,414,1,0,0,0,3389,3390,7,6,0,0,3390,3391,7,15,0,0,3391,3392,7,5,0,0,3392,3393,7,8,0,0,3393,3394,7,23,0,0,3394,3395,7,8,0,0,3395,3396,7,11,0,0,3396,416,1,0,0,0,3397,3398,7,17,0,0,3398,3399,7,6,0,0,3399,3400,7,23,0,0,3400,3401,7,6,0,0,3401,3402,7,15,0,0,3402,3403,7,5,0,0,3403,418,1,0,0,0,3404,3405,7,11,0,0,3405,3406,7,8,0,0,3406,3407,7,3,0,0,3407,3408,7,10,0,0,3408,420,1,0,0,0,3409,3410,7,9,0,0,3410,3411,7,20,0,0,3411,3412,7,18,0,0,3412,3413,7,17,0,0,3413,3414,7,10,0,0,3414,3415,7,8,0,0,3415,422,1,0,0,0,3416,3417,7,25,0,0,3417,3418,7,11,0,0,3418,3419,7,8,0,0,3419,3420,7,4,0,0,3420,3421,7,6,0,0,3421,3422,7,14,0,0,3422,3423,7,6,0,0,3423,3424,7,20,0,0,3424,3425,7,15,0,0,3425,424,1,0,0,0,3426,3427,7,19,0,0,3427,3428,7,10,0,0,3428,3429,7,20,0,0,3429,3430,7,3,0,0,3430,3431,7,5,0,0,3431,426,1,0,0,0,3432,3433,7,19,0,0,3433,3434,7,10,0,0,3434,3435,7,20,0,0,3435,3436,7,3,0,0,3436,3437,7,5,0,0,3437,3438,5,52,0,0,3438,428,1,0,0,0,3439,3440,7,19,0,0,3440,3441,7,10,0,0,3441,3442,7,20,0,0,3442,3443,7,3,0,0,3443,3444,7,5,0,0,3444,3445,5,56,0,0,3445,430,1,0,0,0,3446,3447,7,9,0,0,3447,3448,7,8,0,0,3448,3449,7,4,0,0,3449,3450,7,6,0,0,3450,3451,7,24,0,0,3451,3452,7,3,0,0,3452,3453,7,10,0,0,3453,432,1,0,0,0,3454,3455,7,9,0,0,3455,3456,7,8,0,0,3456,3457,7,4,0,0,3457,434,1,0,0,0,3458,3459,7,15,0,0,3459,3460,7,18,0,0,3460,3461,7,24,0,0,3461,3462,7,8,0,0,3462,3463,7,11,0,0,3463,3464,7,6,0,0,3464,3465,7,4,0,0,3465,436,1,0,0,0,3466,3467,7,9,0,0,3467,3468,7,3,0,0,3468,3469,7,5,0,0,3469,3470,7,8,0,0,3470,438,1,0,0,0,3471,3472,7,5,0,0,3472,3473,7,6,0,0,3473,3474,7,24,0,0,3474,3475,7,8,0,0,3475,440,1,0,0,0,3476,3477,7,5,0,0,3477,3478,7,6,0,0,3478,3479,7,24,0,0,3479,3480,7,8,0,0,3480,3481,7,14,0,0,3481,3482,7,5,0,0,3482,3483,7,3,0,0,3483,3484,7,24,0,0,3484,3485,7,25,0,0,3485,442,1,0,0,0,3486,3487,7,9,0,0,3487,3488,7,3,0,0,3488,3489,7,5,0,0,3489,3490,7,8,0,0,3490,3491,7,5,0,0,3491,3492,7,6,0,0,3492,3493,7,24,0,0,3493,3494,7,8,0,0,3494,444,1,0,0,0,3495,3496,7,13,0,0,3496,3497,7,8,0,0,3497,3498,7,3,0,0,3498,3499,7,11,0,0,3499,446,1,0,0,0,3500,3501,7,4,0,0,3501,3502,7,21,0,0,3502,3503,7,3,0,0,3503,3504,7,11,0,0,3504,448,1,0,0,0,3505,3506,7,7,0,0,3506,3507,7,3,0,0,3507,3508,7,11,0,0,3508,3509,7,4,0,0,3509,3510,7,21,0,0,3510,3511,7,3,0,0,3511,3512,7,11,0,0,3512,450,1,0,0,0,3513,3514,7,15,0,0,3514,3515,7,7,0,0,3515,3516,7,3,0,0,3516,3517,7,11,0,0,3517,3518,7,4,0,0,3518,3519,7,21,0,0,3519,3520,7,3,0,0,3520,3521,7,11,0,0,3521,452,1,0,0,0,3522,3523,7,15,0,0,3523,3524,7,3,0,0,3524,3525,7,5,0,0,3525,3526,7,6,0,0,3526,3527,7,20,0,0,3527,3528,7,15,0,0,3528,3529,7,3,0,0,3529,3530,7,10,0,0,3530,454,1,0,0,0,3531,3532,7,17,0,0,3532,3533,7,6,0,0,3533,3534,7,15,0,0,3534,3535,7,3,0,0,3535,3536,7,11,0,0,3536,3537,7,13,0,0,3537,456,1,0,0,0,3538,3539,7,7,0,0,3539,3540,7,3,0,0,3540,3541,7,11,0,0,3541,3542,7,17,0,0,3542,3543,7,6,0,0,3543,3544,7,15,0,0,3544,3545,7,3,0,0,3545,3546,7,11,0,0,3546,3547,7,13,0,0,3547,458,1,0,0,0,3548,3549,7,5,0,0,3549,3550,7,6,0,0,3550,3551,7,15,0,0,3551,3552,7,13,0,0,3552,3553,7,17,0,0,3553,3554,7,10,0,0,3554,3555,7,20,0,0,3555,3556,7,17,0,0,3556,460,1,0,0,0,3557,3558,7,17,0,0,3558,3559,7,10,0,0,3559,3560,7,20,0,0,3560,3561,7,17,0,0,3561,462,1,0,0,0,3562,3563,7,24,0,0,3563,3564,7,8,0,0,3564,3565,7,9,0,0,3565,3566,7,6,0,0,3566,3567,7,18,0,0,3567,3568,7,24,0,0,3568,3569,7,17,0,0,3569,3570,7,10,0,0,3570,3571,7,20,0,0,3571,3572,7,17,0,0,3572,464,1,0,0,0,3573,3574,7,10,0,0,3574,3575,7,20,0,0,3575,3576,7,15,0,0,3576,3577,7,23,0,0,3577,466,1,0,0,0,3578,3579,7,10,0,0,3579,3580,7,20,0,0,3580,3581,7,15,0,0,3581,3582,7,23,0,0,3582,3583,7,17,0,0,3583,3584,7,10,0,0,3584,3585,7,20,0,0,3585,3586,7,17,0,0,3586,468,1,0,0,0,3587,3588,7,5,0,0,3588,3589,7,6,0,0,3589,3590,7,15,0,0,3590,3591,7,13,0,0,3591,3592,7,5,0,0,3592,3593,7,8,0,0,3593,3594,7,26,0,0,3594,3595,7,5,0,0,3595,470,1,0,0,0,3596,3597,7,5,0,0,3597,3598,7,8,0,0,3598,3599,7,26,0,0,3599,3600,7,5,0,0,3600,472,1,0,0,0,3601,3602,7,24,0,0,3602,3603,7,8,0,0,3603,3604,7,9,0,0,3604,3605,7,6,0,0,3605,3606,7,18,0,0,3606,3607,7,24,0,0,3607,3608,7,5,0,0,3608,3609,7,8,0,0,3609,3610,7,26,0,0,3610,3611,7,5,0,0,3611,474,1,0,0,0,3612,3613,7,10,0,0,3613,3614,7,20,0,0,3614,3615,7,15,0,0,3615,3616,7,23,0,0,3616,3617,7,5,0,0,3617,3618,7,8,0,0,3618,3619,7,26,0,0,3619,3620,7,5,0,0,3620,476,1,0,0,0,3621,3622,7,8,0,0,3622,3623,7,15,0,0,3623,3624,7,18,0,0,3624,3625,7,24,0,0,3625,478,1,0,0,0,3626,3627,7,7,0,0,3627,3628,7,3,0,0,3628,3629,7,11,0,0,3629,3630,7,13,0,0,3630,3631,7,6,0,0,3631,3632,7,15,0,0,3632,3633,7,23,0,0,3633,480,1,0,0,0,3634,3635,7,14,0,0,3635,3636,7,8,0,0,3636,3637,7,11,0,0,3637,3638,7,6,0,0,3638,3639,7,3,0,0,3639,3640,7,10,0,0,3640,482,1,0,0,0,3641,3642,7,13,0,0,3642,3643,7,8,0,0,3643,3644,7,3,0,0,3644,3645,7,11,0,0,3645,3646,5,95,0,0,3646,3647,7,24,0,0,3647,3648,7,20,0,0,3648,3649,7,15,0,0,3649,3650,7,5,0,0,3650,3651,7,21,0,0,3651,484,1,0,0,0,3652,3653,7,9,0,0,3653,3654,7,3,0,0,3654,3655,7,13,0,0,3655,3656,5,95,0,0,3656,3657,7,21,0,0,3657,3658,7,20,0,0,3658,3659,7,18,0,0,3659,3660,7,11,0,0,3660,486,1,0,0,0,3661,3662,7,9,0,0,3662,3663,7,3,0,0,3663,3664,7,13,0,0,3664,3665,5,95,0,0,3665,3666,7,24,0,0,3666,3667,7,6,0,0,3667,3668,7,15,0,0,3668,3669,7,18,0,0,3669,3670,7,5,0,0,3670,3671,7,8,0,0,3671,488,1,0,0,0,3672,3673,7,9,0,0,3673,3674,7,3,0,0,3674,3675,7,13,0,0,3675,3676,5,95,0,0,3676,3677,7,14,0,0,3677,3678,7,8,0,0,3678,3679,7,4,0,0,3679,3680,7,20,0,0,3680,3681,7,15,0,0,3681,3682,7,9,0,0,3682,490,1,0,0,0,3683,3684,7,21,0,0,3684,3685,7,20,0,0,3685,3686,7,18,0,0,3686,3687,7,11,0,0,3687,3688,5,95,0,0,3688,3689,7,24,0,0,3689,3690,7,6,0,0,3690,3691,7,15,0,0,3691,3692,7,18,0,0,3692,3693,7,5,0,0,3693,3694,7,8,0,0,3694,492,1,0,0,0,3695,3696,7,21,0,0,3696,3697,7,20,0,0,3697,3698,7,18,0,0,3698,3699,7,11,0,0,3699,3700,5,95,0,0,3700,3701,7,14,0,0,3701,3702,7,8,0,0,3702,3703,7,4,0,0,3703,3704,7,20,0,0,3704,3705,7,15,0,0,3705,3706,7,9,0,0,3706,494,1,0,0,0,3707,3708,7,24,0,0,3708,3709,7,6,0,0,3709,3710,7,15,0,0,3710,3711,7,18,0,0,3711,3712,7,5,0,0,3712,3713,7,8,0,0,3713,3714,5,95,0,0,3714,3715,7,14,0,0,3715,3716,7,8,0,0,3716,3717,7,4,0,0,3717,3718,7,20,0,0,3718,3719,7,15,0,0,3719,3720,7,9,0,0,3720,496,1,0,0,0,3721,3722,7,14,0,0,3722,3723,7,8,0,0,3723,3724,7,4,0,0,3724,3725,7,20,0,0,3725,3726,7,15,0,0,3726,3727,7,9,0,0,3727,3728,5,95,0,0,3728,3729,7,24,0,0,3729,3730,7,6,0,0,3730,3731,7,4,0,0,3731,3732,7,11,0,0,3732,3733,7,20,0,0,3733,3734,7,14,0,0,3734,3735,7,8,0,0,3735,3736,7,4,0,0,3736,3737,7,20,0,0,3737,3738,7,15,0,0,3738,3739,7,9,0,0,3739,498,1,0,0,0,3740,3741,7,24,0,0,3741,3742,7,6,0,0,3742,3743,7,15,0,0,3743,3744,7,18,0,0,3744,3745,7,5,0,0,3745,3746,7,8,0,0,3746,3747,5,95,0,0,3747,3748,7,24,0,0,3748,3749,7,6,0,0,3749,3750,7,4,0,0,3750,3751,7,11,0,0,3751,3752,7,20,0,0,3752,3753,7,14,0,0,3753,3754,7,8,0,0,3754,3755,7,4,0,0,3755,3756,7,20,0,0,3756,3757,7,15,0,0,3757,3758,7,9,0,0,3758,500,1,0,0,0,3759,3760,7,21,0,0,3760,3761,7,20,0,0,3761,3762,7,18,0,0,3762,3763,7,11,0,0,3763,3764,5,95,0,0,3764,3765,7,24,0,0,3765,3766,7,6,0,0,3766,3767,7,4,0,0,3767,3768,7,11,0,0,3768,3769,7,20,0,0,3769,3770,7,14,0,0,3770,3771,7,8,0,0,3771,3772,7,4,0,0,3772,3773,7,20,0,0,3773,3774,7,15,0,0,3774,3775,7,9,0,0,3775,502,1,0,0,0,3776,3777,7,9,0,0,3777,3778,7,3,0,0,3778,3779,7,13,0,0,3779,3780,5,95,0,0,3780,3781,7,24,0,0,3781,3782,7,6,0,0,3782,3783,7,4,0,0,3783,3784,7,11,0,0,3784,3785,7,20,0,0,3785,3786,7,14,0,0,3786,3787,7,8,0,0,3787,3788,7,4,0,0,3788,3789,7,20,0,0,3789,3790,7,15,0,0,3790,3791,7,9,0,0,3791,504,1,0,0,0,3792,3793,7,27,0,0,3793,3794,7,14,0,0,3794,3795,7,20,0,0,3795,3796,7,15,0,0,3796,3797,5,95,0,0,3797,3798,7,5,0,0,3798,3799,7,3,0,0,3799,3800,7,17,0,0,3800,3801,7,10,0,0,3801,3802,7,8,0,0,3802,506,1,0,0,0,3803,3804,7,27,0,0,3804,3805,7,14,0,0,3805,3806,7,20,0,0,3806,3807,7,15,0,0,3807,3808,5,95,0,0,3808,3809,7,7,0,0,3809,3810,7,3,0,0,3810,3811,7,10,0,0,3811,3812,7,18,0,0,3812,3813,7,8,0,0,3813,508,1,0,0,0,3814,3815,7,15,0,0,3815,3816,7,8,0,0,3816,3817,7,14,0,0,3817,3818,7,5,0,0,3818,3819,7,8,0,0,3819,3820,7,9,0,0,3820,510,1,0,0,0,3821,3822,7,20,0,0,3822,3823,7,11,0,0,3823,3824,7,9,0,0,3824,3825,7,6,0,0,3825,3826,7,15,0,0,3826,3827,7,3,0,0,3827,3828,7,10,0,0,3828,3829,7,6,0,0,3829,3830,7,5,0,0,3830,3831,7,13,0,0,3831,512,1,0,0,0,3832,3833,7,25,0,0,3833,3834,7,3,0,0,3834,3835,7,5,0,0,3835,3836,7,21,0,0,3836,514,1,0,0,0,3837,3838,7,3,0,0,3838,3839,7,7,0,0,3839,3840,7,23,0,0,3840,516,1,0,0,0,3841,3842,7,17,0,0,3842,3843,7,6,0,0,3843,3844,7,5,0,0,3844,3845,5,95,0,0,3845,3846,7,3,0,0,3846,3847,7,15,0,0,3847,3848,7,9,0,0,3848,518,1,0,0,0,3849,3850,7,17,0,0,3850,3851,7,6,0,0,3851,3852,7,5,0,0,3852,3853,5,95,0,0,3853,3854,7,20,0,0,3854,3855,7,11,0,0,3855,520,1,0,0,0,3856,3857,7,17,0,0,3857,3858,7,6,0,0,3858,3859,7,5,0,0,3859,3860,5,95,0,0,3860,3861,7,26,0,0,3861,3862,7,20,0,0,3862,3863,7,11,0,0,3863,522,1,0,0,0,3864,3865,7,4,0,0,3865,3866,7,20,0,0,3866,3867,7,18,0,0,3867,3868,7,15,0,0,3868,3869,7,5,0,0,3869,524,1,0,0,0,3870,3871,7,4,0,0,3871,3872,7,18,0,0,3872,3873,7,24,0,0,3873,3874,7,8,0,0,3874,3875,5,95,0,0,3875,3876,7,9,0,0,3876,3877,7,6,0,0,3877,3878,7,14,0,0,3878,3879,7,5,0,0,3879,526,1,0,0,0,3880,3881,7,9,0,0,3881,3882,7,8,0,0,3882,3883,7,15,0,0,3883,3884,7,14,0,0,3884,3885,7,8,0,0,3885,3886,5,95,0,0,3886,3887,7,11,0,0,3887,3888,7,3,0,0,3888,3889,7,15,0,0,3889,3890,7,22,0,0,3890,528,1,0,0,0,3891,3892,7,19,0,0,3892,3893,7,6,0,0,3893,3894,7,11,0,0,3894,3895,7,14,0,0,3895,3896,7,5,0,0,3896,3897,5,95,0,0,3897,3898,7,7,0,0,3898,3899,7,3,0,0,3899,3900,7,10,0,0,3900,3901,7,18,0,0,3901,3902,7,8,0,0,3902,530,1,0,0,0,3903,3904,7,23,0,0,3904,3905,7,11,0,0,3905,3906,7,20,0,0,3906,3907,7,18,0,0,3907,3908,7,25,0,0,3908,3909,5,95,0,0,3909,3910,7,4,0,0,3910,3911,7,20,0,0,3911,3912,7,15,0,0,3912,3913,7,4,0,0,3913,3914,7,3,0,0,3914,3915,7,5,0,0,3915,532,1,0,0,0,3916,3917,7,10,0,0,3917,3918,7,3,0,0,3918,3919,7,23,0,0,3919,534,1,0,0,0,3920,3921,7,10,0,0,3921,3922,7,3,0,0,3922,3923,7,14,0,0,3923,3924,7,5,0,0,3924,3925,5,95,0,0,3925,3926,7,7,0,0,3926,3927,7,3,0,0,3927,3928,7,10,0,0,3928,3929,7,18,0,0,3929,3930,7,8,0,0,3930,536,1,0,0,0,3931,3932,7,10,0,0,3932,3933,7,8,0,0,3933,3934,7,3,0,0,3934,3935,7,9,0,0,3935,538,1,0,0,0,3936,3937,7,24,0,0,3937,3938,7,3,0,0,3938,3939,7,26,0,0,3939,540,1,0,0,0,3940,3941,7,24,0,0,3941,3942,7,6,0,0,3942,3943,7,15,0,0,3943,542,1,0,0,0,3944,3945,7,15,0,0,3945,3946,7,5,0,0,3946,3947,7,6,0,0,3947,3948,7,10,0,0,3948,3949,7,8,0,0,3949,544,1,0,0,0,3950,3951,7,15,0,0,3951,3952,7,5,0,0,3952,3953,7,21,0,0,3953,3954,5,95,0,0,3954,3955,7,7,0,0,3955,3956,7,3,0,0,3956,3957,7,10,0,0,3957,3958,7,18,0,0,3958,3959,7,8,0,0,3959,546,1,0,0,0,3960,3961,7,25,0,0,3961,3962,7,8,0,0,3962,3963,7,11,0,0,3963,3964,7,4,0,0,3964,3965,7,8,0,0,3965,3966,7,15,0,0,3966,3967,7,5,0,0,3967,3968,5,95,0,0,3968,3969,7,11,0,0,3969,3970,7,3,0,0,3970,3971,7,15,0,0,3971,3972,7,22,0,0,3972,548,1,0,0,0,3973,3974,7,11,0,0,3974,3975,7,3,0,0,3975,3976,7,15,0,0,3976,3977,7,22,0,0,3977,550,1,0,0,0,3978,3979,7,11,0,0,3979,3980,7,20,0,0,3980,3981,7,12,0,0,3981,3982,5,95,0,0,3982,3983,7,15,0,0,3983,3984,7,18,0,0,3984,3985,7,24,0,0,3985,3986,7,17,0,0,3986,3987,7,8,0,0,3987,3988,7,11,0,0,3988,552,1,0,0,0,3989,3990,7,14,0,0,3990,3991,7,5,0,0,3991,3992,7,9,0,0,3992,554,1,0,0,0,3993,3994,7,14,0,0,3994,3995,7,5,0,0,3995,3996,7,9,0,0,3996,3997,7,9,0,0,3997,3998,7,8,0,0,3998,3999,7,7,0,0,3999,556,1,0,0,0,4e3,4001,7,14,0,0,4001,4002,7,5,0,0,4002,4003,7,9,0,0,4003,4004,7,9,0,0,4004,4005,7,8,0,0,4005,4006,7,7,0,0,4006,4007,5,95,0,0,4007,4008,7,25,0,0,4008,4009,7,20,0,0,4009,4010,7,25,0,0,4010,558,1,0,0,0,4011,4012,7,14,0,0,4012,4013,7,5,0,0,4013,4014,7,9,0,0,4014,4015,7,9,0,0,4015,4016,7,8,0,0,4016,4017,7,7,0,0,4017,4018,5,95,0,0,4018,4019,7,14,0,0,4019,4020,7,3,0,0,4020,4021,7,24,0,0,4021,4022,7,25,0,0,4022,560,1,0,0,0,4023,4024,7,14,0,0,4024,4025,7,18,0,0,4025,4026,7,24,0,0,4026,562,1,0,0,0,4027,4028,7,7,0,0,4028,4029,7,3,0,0,4029,4030,7,11,0,0,4030,4031,5,95,0,0,4031,4032,7,25,0,0,4032,4033,7,20,0,0,4033,4034,7,25,0,0,4034,564,1,0,0,0,4035,4036,7,7,0,0,4036,4037,7,3,0,0,4037,4038,7,11,0,0,4038,4039,5,95,0,0,4039,4040,7,14,0,0,4040,4041,7,3,0,0,4041,4042,7,24,0,0,4042,4043,7,25,0,0,4043,566,1,0,0,0,4044,4045,7,7,0,0,4045,4046,7,3,0,0,4046,4047,7,11,0,0,4047,4048,7,6,0,0,4048,4049,7,3,0,0,4049,4050,7,15,0,0,4050,4051,7,4,0,0,4051,4052,7,8,0,0,4052,568,1,0,0,0,4053,4054,7,4,0,0,4054,4055,7,18,0,0,4055,4056,7,11,0,0,4056,4057,7,11,0,0,4057,4058,7,8,0,0,4058,4059,7,15,0,0,4059,4060,7,5,0,0,4060,4061,5,95,0,0,4061,4062,7,9,0,0,4062,4063,7,3,0,0,4063,4064,7,5,0,0,4064,4065,7,8,0,0,4065,570,1,0,0,0,4066,4067,7,4,0,0,4067,4068,7,18,0,0,4068,4069,7,11,0,0,4069,4070,7,11,0,0,4070,4071,7,8,0,0,4071,4072,7,15,0,0,4072,4073,7,5,0,0,4073,4074,5,95,0,0,4074,4075,7,5,0,0,4075,4076,7,6,0,0,4076,4077,7,24,0,0,4077,4078,7,8,0,0,4078,572,1,0,0,0,4079,4080,7,4,0,0,4080,4081,7,18,0,0,4081,4082,7,11,0,0,4082,4083,7,11,0,0,4083,4084,7,8,0,0,4084,4085,7,15,0,0,4085,4086,7,5,0,0,4086,4087,5,95,0,0,4087,4088,7,5,0,0,4088,4089,7,6,0,0,4089,4090,7,24,0,0,4090,4091,7,8,0,0,4091,4092,7,14,0,0,4092,4093,7,5,0,0,4093,4094,7,3,0,0,4094,4095,7,24,0,0,4095,4096,7,25,0,0,4096,574,1,0,0,0,4097,4098,7,10,0,0,4098,4099,7,20,0,0,4099,4100,7,4,0,0,4100,4101,7,3,0,0,4101,4102,7,10,0,0,4102,4103,7,5,0,0,4103,4104,7,6,0,0,4104,4105,7,24,0,0,4105,4106,7,8,0,0,4106,576,1,0,0,0,4107,4108,7,4,0,0,4108,4109,7,18,0,0,4109,4110,7,11,0,0,4110,4111,7,9,0,0,4111,4112,7,3,0,0,4112,4113,7,5,0,0,4113,4114,7,8,0,0,4114,578,1,0,0,0,4115,4116,7,4,0,0,4116,4117,7,18,0,0,4117,4118,7,11,0,0,4118,4119,7,5,0,0,4119,4120,7,6,0,0,4120,4121,7,24,0,0,4121,4122,7,8,0,0,4122,580,1,0,0,0,4123,4124,7,9,0,0,4124,4125,7,3,0,0,4125,4126,7,5,0,0,4126,4127,7,8,0,0,4127,4128,5,95,0,0,4128,4129,7,3,0,0,4129,4130,7,9,0,0,4130,4131,7,9,0,0,4131,582,1,0,0,0,4132,4133,7,9,0,0,4133,4134,7,3,0,0,4134,4135,7,5,0,0,4135,4136,7,8,0,0,4136,4137,5,95,0,0,4137,4138,7,14,0,0,4138,4139,7,18,0,0,4139,4140,7,17,0,0,4140,584,1,0,0,0,4141,4142,7,8,0,0,4142,4143,7,26,0,0,4143,4144,7,5,0,0,4144,4145,7,11,0,0,4145,4146,7,3,0,0,4146,4147,7,4,0,0,4147,4148,7,5,0,0,4148,586,1,0,0,0,4149,4150,7,10,0,0,4150,4151,7,20,0,0,4151,4152,7,4,0,0,4152,4153,7,3,0,0,4153,4154,7,10,0,0,4154,4155,7,5,0,0,4155,4156,7,6,0,0,4156,4157,7,24,0,0,4157,4158,7,8,0,0,4158,4159,7,14,0,0,4159,4160,7,5,0,0,4160,4161,7,3,0,0,4161,4162,7,24,0,0,4162,4163,7,25,0,0,4163,588,1,0,0,0,4164,4165,7,15,0,0,4165,4166,7,20,0,0,4166,4167,7,12,0,0,4167,590,1,0,0,0,4168,4169,7,25,0,0,4169,4170,7,20,0,0,4170,4171,7,14,0,0,4171,4172,7,6,0,0,4172,4173,7,5,0,0,4173,4174,7,6,0,0,4174,4175,7,20,0,0,4175,4176,7,15,0,0,4176,592,1,0,0,0,4177,4178,7,14,0,0,4178,4179,7,18,0,0,4179,4180,7,17,0,0,4180,4181,7,14,0,0,4181,4182,7,5,0,0,4182,4183,7,11,0,0,4183,594,1,0,0,0,4184,4185,7,14,0,0,4185,4186,7,18,0,0,4186,4187,7,17,0,0,4187,4188,7,14,0,0,4188,4189,7,5,0,0,4189,4190,7,11,0,0,4190,4191,7,6,0,0,4191,4192,7,15,0,0,4192,4193,7,23,0,0,4193,596,1,0,0,0,4194,4195,7,14,0,0,4195,4196,7,13,0,0,4196,4197,7,14,0,0,4197,4198,7,9,0,0,4198,4199,7,3,0,0,4199,4200,7,5,0,0,4200,4201,7,8,0,0,4201,598,1,0,0,0,4202,4203,7,5,0,0,4203,4204,7,11,0,0,4204,4205,7,6,0,0,4205,4206,7,24,0,0,4206,600,1,0,0,0,4207,4208,7,18,0,0,4208,4209,7,5,0,0,4209,4210,7,4,0,0,4210,4211,5,95,0,0,4211,4212,7,9,0,0,4212,4213,7,3,0,0,4213,4214,7,5,0,0,4214,4215,7,8,0,0,4215,602,1,0,0,0,4216,4217,7,18,0,0,4217,4218,7,5,0,0,4218,4219,7,4,0,0,4219,4220,5,95,0,0,4220,4221,7,5,0,0,4221,4222,7,6,0,0,4222,4223,7,24,0,0,4223,4224,7,8,0,0,4224,604,1,0,0,0,4225,4226,7,18,0,0,4226,4227,7,5,0,0,4227,4228,7,4,0,0,4228,4229,5,95,0,0,4229,4230,7,5,0,0,4230,4231,7,6,0,0,4231,4232,7,24,0,0,4232,4233,7,8,0,0,4233,4234,7,14,0,0,4234,4235,7,5,0,0,4235,4236,7,3,0,0,4236,4237,7,24,0,0,4237,4238,7,25,0,0,4238,606,1,0,0,0,4239,4240,7,3,0,0,4240,4241,7,4,0,0,4241,4242,7,4,0,0,4242,4243,7,20,0,0,4243,4244,7,18,0,0,4244,4245,7,15,0,0,4245,4246,7,5,0,0,4246,608,1,0,0,0,4247,4248,7,3,0,0,4248,4249,7,4,0,0,4249,4250,7,5,0,0,4250,4251,7,6,0,0,4251,4252,7,20,0,0,4252,4253,7,15,0,0,4253,610,1,0,0,0,4254,4255,7,3,0,0,4255,4256,7,19,0,0,4256,4257,7,5,0,0,4257,4258,7,8,0,0,4258,4259,7,11,0,0,4259,612,1,0,0,0,4260,4261,7,3,0,0,4261,4262,7,23,0,0,4262,4263,7,23,0,0,4263,4264,7,11,0,0,4264,4265,7,8,0,0,4265,4266,7,23,0,0,4266,4267,7,3,0,0,4267,4268,7,5,0,0,4268,4269,7,8,0,0,4269,614,1,0,0,0,4270,4271,7,3,0,0,4271,4272,7,10,0,0,4272,4273,7,23,0,0,4273,4274,7,20,0,0,4274,4275,7,11,0,0,4275,4276,7,6,0,0,4276,4277,7,5,0,0,4277,4278,7,21,0,0,4278,4279,7,24,0,0,4279,616,1,0,0,0,4280,4281,7,3,0,0,4281,4282,7,15,0,0,4282,4283,7,13,0,0,4283,618,1,0,0,0,4284,4285,7,3,0,0,4285,4286,7,14,0,0,4286,4287,7,14,0,0,4287,4288,7,6,0,0,4288,4289,7,23,0,0,4289,4290,7,15,0,0,4290,4291,5,95,0,0,4291,4292,7,23,0,0,4292,4293,7,5,0,0,4293,4294,7,6,0,0,4294,4295,7,9,0,0,4295,4296,7,14,0,0,4296,4297,5,95,0,0,4297,4298,7,5,0,0,4298,4299,7,20,0,0,4299,4300,5,95,0,0,4300,4301,7,3,0,0,4301,4302,7,15,0,0,4302,4303,7,20,0,0,4303,4304,7,15,0,0,4304,4305,7,13,0,0,4305,4306,7,24,0,0,4306,4307,7,20,0,0,4307,4308,7,18,0,0,4308,4309,7,14,0,0,4309,4310,5,95,0,0,4310,4311,7,5,0,0,4311,4312,7,11,0,0,4312,4313,7,3,0,0,4313,4314,7,15,0,0,4314,4315,7,14,0,0,4315,4316,7,3,0,0,4316,4317,7,4,0,0,4317,4318,7,5,0,0,4318,4319,7,6,0,0,4319,4320,7,20,0,0,4320,4321,7,15,0,0,4321,4322,7,14,0,0,4322,620,1,0,0,0,4323,4324,7,3,0,0,4324,4325,7,5,0,0,4325,622,1,0,0,0,4326,4327,7,3,0,0,4327,4328,7,18,0,0,4328,4329,7,5,0,0,4329,4330,7,21,0,0,4330,4331,7,20,0,0,4331,4332,7,11,0,0,4332,4333,7,14,0,0,4333,624,1,0,0,0,4334,4335,7,3,0,0,4335,4336,7,18,0,0,4336,4337,7,5,0,0,4337,4338,7,20,0,0,4338,4339,7,4,0,0,4339,4340,7,20,0,0,4340,4341,7,24,0,0,4341,4342,7,24,0,0,4342,4343,7,6,0,0,4343,4344,7,5,0,0,4344,626,1,0,0,0,4345,4346,7,3,0,0,4346,4347,7,18,0,0,4347,4348,7,5,0,0,4348,4349,7,20,0,0,4349,4350,7,8,0,0,4350,4351,7,26,0,0,4351,4352,7,5,0,0,4352,4353,7,8,0,0,4353,4354,7,15,0,0,4354,4355,7,9,0,0,4355,4356,5,95,0,0,4356,4357,7,14,0,0,4357,4358,7,6,0,0,4358,4359,7,16,0,0,4359,4360,7,8,0,0,4360,628,1,0,0,0,4361,4362,7,3,0,0,4362,4363,7,18,0,0,4363,4364,7,5,0,0,4364,4365,7,20,0,0,4365,4366,5,95,0,0,4366,4367,7,6,0,0,4367,4368,7,15,0,0,4368,4369,7,4,0,0,4369,4370,7,11,0,0,4370,4371,7,8,0,0,4371,4372,7,24,0,0,4372,4373,7,8,0,0,4373,4374,7,15,0,0,4374,4375,7,5,0,0,4375,630,1,0,0,0,4376,4377,7,3,0,0,4377,4378,7,7,0,0,4378,4379,7,23,0,0,4379,4380,5,95,0,0,4380,4381,7,11,0,0,4381,4382,7,20,0,0,4382,4383,7,12,0,0,4383,4384,5,95,0,0,4384,4385,7,10,0,0,4385,4386,7,8,0,0,4386,4387,7,15,0,0,4387,4388,7,23,0,0,4388,4389,7,5,0,0,4389,4390,7,21,0,0,4390,632,1,0,0,0,4391,4392,7,17,0,0,4392,4393,7,8,0,0,4393,4394,7,23,0,0,4394,4395,7,6,0,0,4395,4396,7,15,0,0,4396,634,1,0,0,0,4397,4398,7,17,0,0,4398,4399,7,6,0,0,4399,4400,7,15,0,0,4400,4401,7,10,0,0,4401,4402,7,20,0,0,4402,4403,7,23,0,0,4403,636,1,0,0,0,4404,4405,7,17,0,0,4405,4406,7,6,0,0,4406,4407,7,5,0,0,4407,638,1,0,0,0,4408,4409,7,17,0,0,4409,4410,7,10,0,0,4410,4411,7,20,0,0,4411,4412,7,4,0,0,4412,4413,7,22,0,0,4413,640,1,0,0,0,4414,4415,7,17,0,0,4415,4416,7,20,0,0,4416,4417,7,20,0,0,4417,4418,7,10,0,0,4418,642,1,0,0,0,4419,4420,7,17,0,0,4420,4421,7,20,0,0,4421,4422,7,20,0,0,4422,4423,7,10,0,0,4423,4424,7,8,0,0,4424,4425,7,3,0,0,4425,4426,7,15,0,0,4426,644,1,0,0,0,4427,4428,7,17,0,0,4428,4429,7,5,0,0,4429,4430,7,11,0,0,4430,4431,7,8,0,0,4431,4432,7,8,0,0,4432,646,1,0,0,0,4433,4434,7,4,0,0,4434,4435,7,3,0,0,4435,4436,7,4,0,0,4436,4437,7,21,0,0,4437,4438,7,8,0,0,4438,648,1,0,0,0,4439,4440,7,4,0,0,4440,4441,7,3,0,0,4441,4442,7,14,0,0,4442,4443,7,4,0,0,4443,4444,7,3,0,0,4444,4445,7,9,0,0,4445,4446,7,8,0,0,4446,4447,7,9,0,0,4447,650,1,0,0,0,4448,4449,7,4,0,0,4449,4450,7,21,0,0,4450,4451,7,3,0,0,4451,4452,7,6,0,0,4452,4453,7,15,0,0,4453,652,1,0,0,0,4454,4455,7,4,0,0,4455,4456,7,21,0,0,4456,4457,7,3,0,0,4457,4458,7,15,0,0,4458,4459,7,23,0,0,4459,4460,7,8,0,0,4460,4461,7,9,0,0,4461,654,1,0,0,0,4462,4463,7,4,0,0,4463,4464,7,21,0,0,4464,4465,7,3,0,0,4465,4466,7,15,0,0,4466,4467,7,15,0,0,4467,4468,7,8,0,0,4468,4469,7,10,0,0,4469,656,1,0,0,0,4470,4471,7,4,0,0,4471,4472,7,21,0,0,4472,4473,7,8,0,0,4473,4474,7,4,0,0,4474,4475,7,22,0,0,4475,4476,7,14,0,0,4476,4477,7,18,0,0,4477,4478,7,24,0,0,4478,658,1,0,0,0,4479,4480,7,4,0,0,4480,4481,7,21,0,0,4481,4482,7,3,0,0,4482,4483,7,10,0,0,4483,4484,7,10,0,0,4484,4485,7,8,0,0,4485,4486,7,15,0,0,4486,4487,7,23,0,0,4487,4488,7,8,0,0,4488,4489,5,95,0,0,4489,4490,7,11,0,0,4490,4491,7,8,0,0,4491,4492,7,14,0,0,4492,4493,7,25,0,0,4493,4494,7,20,0,0,4494,4495,7,15,0,0,4495,4496,7,14,0,0,4496,4497,7,8,0,0,4497,660,1,0,0,0,4498,4499,7,4,0,0,4499,4500,7,6,0,0,4500,4501,7,25,0,0,4501,4502,7,21,0,0,4502,4503,7,8,0,0,4503,4504,7,11,0,0,4504,662,1,0,0,0,4505,4506,7,4,0,0,4506,4507,7,10,0,0,4507,4508,7,3,0,0,4508,4509,7,14,0,0,4509,4510,7,14,0,0,4510,4511,5,95,0,0,4511,4512,7,20,0,0,4512,4513,7,11,0,0,4513,4514,7,6,0,0,4514,4515,7,23,0,0,4515,4516,7,6,0,0,4516,4517,7,15,0,0,4517,664,1,0,0,0,4518,4519,7,4,0,0,4519,4520,7,10,0,0,4520,4521,7,6,0,0,4521,4522,7,8,0,0,4522,4523,7,15,0,0,4523,4524,7,5,0,0,4524,666,1,0,0,0,4525,4526,7,4,0,0,4526,4527,7,10,0,0,4527,4528,7,20,0,0,4528,4529,7,14,0,0,4529,4530,7,8,0,0,4530,668,1,0,0,0,4531,4532,7,4,0,0,4532,4533,7,20,0,0,4533,4534,7,3,0,0,4534,4535,7,10,0,0,4535,4536,7,8,0,0,4536,4537,7,14,0,0,4537,4538,7,4,0,0,4538,4539,7,8,0,0,4539,670,1,0,0,0,4540,4541,7,4,0,0,4541,4542,7,20,0,0,4542,4543,7,9,0,0,4543,4544,7,8,0,0,4544,672,1,0,0,0,4545,4546,7,4,0,0,4546,4547,7,20,0,0,4547,4548,7,10,0,0,4548,4549,7,18,0,0,4549,4550,7,24,0,0,4550,4551,7,15,0,0,4551,4552,7,14,0,0,4552,674,1,0,0,0,4553,4554,7,4,0,0,4554,4555,7,20,0,0,4555,4556,7,10,0,0,4556,4557,7,18,0,0,4557,4558,7,24,0,0,4558,4559,7,15,0,0,4559,4560,5,95,0,0,4560,4561,7,19,0,0,4561,4562,7,20,0,0,4562,4563,7,11,0,0,4563,4564,7,24,0,0,4564,4565,7,3,0,0,4565,4566,7,5,0,0,4566,676,1,0,0,0,4567,4568,7,4,0,0,4568,4569,7,20,0,0,4569,4570,7,10,0,0,4570,4571,7,18,0,0,4571,4572,7,24,0,0,4572,4573,7,15,0,0,4573,4574,5,95,0,0,4574,4575,7,15,0,0,4575,4576,7,3,0,0,4576,4577,7,24,0,0,4577,4578,7,8,0,0,4578,678,1,0,0,0,4579,4580,7,4,0,0,4580,4581,7,20,0,0,4581,4582,7,24,0,0,4582,4583,7,24,0,0,4583,4584,7,8,0,0,4584,4585,7,15,0,0,4585,4586,7,5,0,0,4586,680,1,0,0,0,4587,4588,7,4,0,0,4588,4589,7,20,0,0,4589,4590,7,24,0,0,4590,4591,7,24,0,0,4591,4592,7,6,0,0,4592,4593,7,5,0,0,4593,682,1,0,0,0,4594,4595,7,4,0,0,4595,4596,7,20,0,0,4596,4597,7,24,0,0,4597,4598,7,25,0,0,4598,4599,7,3,0,0,4599,4600,7,4,0,0,4600,4601,7,5,0,0,4601,684,1,0,0,0,4602,4603,7,4,0,0,4603,4604,7,20,0,0,4604,4605,7,24,0,0,4605,4606,7,25,0,0,4606,4607,7,10,0,0,4607,4608,7,8,0,0,4608,4609,7,5,0,0,4609,4610,7,6,0,0,4610,4611,7,20,0,0,4611,4612,7,15,0,0,4612,686,1,0,0,0,4613,4614,7,4,0,0,4614,4615,7,20,0,0,4615,4616,7,24,0,0,4616,4617,7,25,0,0,4617,4618,7,20,0,0,4618,4619,7,15,0,0,4619,4620,7,8,0,0,4620,4621,7,15,0,0,4621,4622,7,5,0,0,4622,688,1,0,0,0,4623,4624,7,4,0,0,4624,4625,7,20,0,0,4625,4626,7,24,0,0,4626,4627,7,25,0,0,4627,4628,7,11,0,0,4628,4629,7,8,0,0,4629,4630,7,14,0,0,4630,4631,7,14,0,0,4631,4632,7,8,0,0,4632,4633,7,9,0,0,4633,690,1,0,0,0,4634,4635,7,4,0,0,4635,4636,7,20,0,0,4636,4637,7,24,0,0,4637,4638,7,25,0,0,4638,4639,7,11,0,0,4639,4640,7,8,0,0,4640,4641,7,14,0,0,4641,4642,7,14,0,0,4642,4643,7,6,0,0,4643,4644,7,20,0,0,4644,4645,7,15,0,0,4645,692,1,0,0,0,4646,4647,7,4,0,0,4647,4648,7,20,0,0,4648,4649,7,15,0,0,4649,4650,7,4,0,0,4650,4651,7,18,0,0,4651,4652,7,11,0,0,4652,4653,7,11,0,0,4653,4654,7,8,0,0,4654,4655,7,15,0,0,4655,4656,7,5,0,0,4656,694,1,0,0,0,4657,4658,7,4,0,0,4658,4659,7,20,0,0,4659,4660,7,15,0,0,4660,4661,7,15,0,0,4661,4662,7,8,0,0,4662,4663,7,4,0,0,4663,4664,7,5,0,0,4664,696,1,0,0,0,4665,4666,7,4,0,0,4666,4667,7,20,0,0,4667,4668,7,15,0,0,4668,4669,7,15,0,0,4669,4670,7,8,0,0,4670,4671,7,4,0,0,4671,4672,7,5,0,0,4672,4673,7,6,0,0,4673,4674,7,20,0,0,4674,4675,7,15,0,0,4675,698,1,0,0,0,4676,4677,7,4,0,0,4677,4678,7,20,0,0,4678,4679,7,15,0,0,4679,4680,7,14,0,0,4680,4681,7,6,0,0,4681,4682,7,14,0,0,4682,4683,7,5,0,0,4683,4684,7,8,0,0,4684,4685,7,15,0,0,4685,4686,7,5,0,0,4686,700,1,0,0,0,4687,4688,7,4,0,0,4688,4689,7,20,0,0,4689,4690,7,15,0,0,4690,4691,7,14,0,0,4691,4692,7,5,0,0,4692,4693,7,11,0,0,4693,4694,7,3,0,0,4694,4695,7,6,0,0,4695,4696,7,15,0,0,4696,4697,7,5,0,0,4697,4698,5,95,0,0,4698,4699,7,4,0,0,4699,4700,7,3,0,0,4700,4701,7,5,0,0,4701,4702,7,3,0,0,4702,4703,7,10,0,0,4703,4704,7,20,0,0,4704,4705,7,23,0,0,4705,702,1,0,0,0,4706,4707,7,4,0,0,4707,4708,7,20,0,0,4708,4709,7,15,0,0,4709,4710,7,14,0,0,4710,4711,7,5,0,0,4711,4712,7,11,0,0,4712,4713,7,3,0,0,4713,4714,7,6,0,0,4714,4715,7,15,0,0,4715,4716,7,5,0,0,4716,4717,5,95,0,0,4717,4718,7,14,0,0,4718,4719,7,4,0,0,4719,4720,7,21,0,0,4720,4721,7,8,0,0,4721,4722,7,24,0,0,4722,4723,7,3,0,0,4723,704,1,0,0,0,4724,4725,7,4,0,0,4725,4726,7,20,0,0,4726,4727,7,15,0,0,4727,4728,7,14,0,0,4728,4729,7,5,0,0,4729,4730,7,11,0,0,4730,4731,7,3,0,0,4731,4732,7,6,0,0,4732,4733,7,15,0,0,4733,4734,7,5,0,0,4734,4735,5,95,0,0,4735,4736,7,15,0,0,4736,4737,7,3,0,0,4737,4738,7,24,0,0,4738,4739,7,8,0,0,4739,706,1,0,0,0,4740,4741,7,4,0,0,4741,4742,7,20,0,0,4742,4743,7,15,0,0,4743,4744,7,5,0,0,4744,4745,7,3,0,0,4745,4746,7,6,0,0,4746,4747,7,15,0,0,4747,4748,7,14,0,0,4748,708,1,0,0,0,4749,4750,7,4,0,0,4750,4751,7,20,0,0,4751,4752,7,15,0,0,4752,4753,7,5,0,0,4753,4754,7,8,0,0,4754,4755,7,26,0,0,4755,4756,7,5,0,0,4756,710,1,0,0,0,4757,4758,7,4,0,0,4758,4759,7,20,0,0,4759,4760,7,15,0,0,4760,4761,7,5,0,0,4761,4762,7,11,0,0,4762,4763,7,6,0,0,4763,4764,7,17,0,0,4764,4765,7,18,0,0,4765,4766,7,5,0,0,4766,4767,7,20,0,0,4767,4768,7,11,0,0,4768,4769,7,14,0,0,4769,712,1,0,0,0,4770,4771,7,4,0,0,4771,4772,7,20,0,0,4772,4773,7,25,0,0,4773,4774,7,13,0,0,4774,714,1,0,0,0,4775,4776,7,4,0,0,4776,4777,7,25,0,0,4777,4778,7,18,0,0,4778,716,1,0,0,0,4779,4780,7,4,0,0,4780,4781,7,18,0,0,4781,4782,7,11,0,0,4782,4783,7,14,0,0,4783,4784,7,20,0,0,4784,4785,7,11,0,0,4785,4786,5,95,0,0,4786,4787,7,15,0,0,4787,4788,7,3,0,0,4788,4789,7,24,0,0,4789,4790,7,8,0,0,4790,718,1,0,0,0,4791,4792,7,9,0,0,4792,4793,7,3,0,0,4793,4794,7,5,0,0,4794,4795,7,3,0,0,4795,720,1,0,0,0,4796,4797,7,9,0,0,4797,4798,7,3,0,0,4798,4799,7,5,0,0,4799,4800,7,3,0,0,4800,4801,7,19,0,0,4801,4802,7,6,0,0,4802,4803,7,10,0,0,4803,4804,7,8,0,0,4804,722,1,0,0,0,4805,4806,7,9,0,0,4806,4807,7,8,0,0,4807,4808,7,3,0,0,4808,4809,7,10,0,0,4809,4810,7,10,0,0,4810,4811,7,20,0,0,4811,4812,7,4,0,0,4812,4813,7,3,0,0,4813,4814,7,5,0,0,4814,4815,7,8,0,0,4815,724,1,0,0,0,4816,4817,7,9,0,0,4817,4818,7,8,0,0,4818,4819,7,19,0,0,4819,4820,7,3,0,0,4820,4821,7,18,0,0,4821,4822,7,10,0,0,4822,4823,7,5,0,0,4823,4824,5,95,0,0,4824,4825,7,3,0,0,4825,4826,7,18,0,0,4826,4827,7,5,0,0,4827,4828,7,21,0,0,4828,726,1,0,0,0,4829,4830,7,9,0,0,4830,4831,7,8,0,0,4831,4832,7,19,0,0,4832,4833,7,6,0,0,4833,4834,7,15,0,0,4834,4835,7,8,0,0,4835,4836,7,11,0,0,4836,728,1,0,0,0,4837,4838,7,9,0,0,4838,4839,7,8,0,0,4839,4840,7,10,0,0,4840,4841,7,3,0,0,4841,4842,7,13,0,0,4842,4843,5,95,0,0,4843,4844,7,22,0,0,4844,4845,7,8,0,0,4845,4846,7,13,0,0,4846,4847,5,95,0,0,4847,4848,7,12,0,0,4848,4849,7,11,0,0,4849,4850,7,6,0,0,4850,4851,7,5,0,0,4851,4852,7,8,0,0,4852,730,1,0,0,0,4853,4854,7,9,0,0,4854,4855,7,8,0,0,4855,4856,7,14,0,0,4856,4857,5,95,0,0,4857,4858,7,22,0,0,4858,4859,7,8,0,0,4859,4860,7,13,0,0,4860,4861,5,95,0,0,4861,4862,7,19,0,0,4862,4863,7,6,0,0,4863,4864,7,10,0,0,4864,4865,7,8,0,0,4865,732,1,0,0,0,4866,4867,7,9,0,0,4867,4868,7,6,0,0,4868,4869,7,11,0,0,4869,4870,7,8,0,0,4870,4871,7,4,0,0,4871,4872,7,5,0,0,4872,4873,7,20,0,0,4873,4874,7,11,0,0,4874,4875,7,13,0,0,4875,734,1,0,0,0,4876,4877,7,9,0,0,4877,4878,7,6,0,0,4878,4879,7,14,0,0,4879,4880,7,3,0,0,4880,4881,7,17,0,0,4881,4882,7,10,0,0,4882,4883,7,8,0,0,4883,736,1,0,0,0,4884,4885,7,9,0,0,4885,4886,7,6,0,0,4886,4887,7,14,0,0,4887,4888,7,4,0,0,4888,4889,7,3,0,0,4889,4890,7,11,0,0,4890,4891,7,9,0,0,4891,738,1,0,0,0,4892,4893,7,9,0,0,4893,4894,7,6,0,0,4894,4895,7,14,0,0,4895,4896,7,22,0,0,4896,740,1,0,0,0,4897,4898,7,9,0,0,4898,4899,7,20,0,0,4899,742,1,0,0,0,4900,4901,7,9,0,0,4901,4902,7,18,0,0,4902,4903,7,24,0,0,4903,4904,7,25,0,0,4904,4905,7,19,0,0,4905,4906,7,6,0,0,4906,4907,7,10,0,0,4907,4908,7,8,0,0,4908,744,1,0,0,0,4909,4910,7,9,0,0,4910,4911,7,18,0,0,4911,4912,7,25,0,0,4912,4913,7,10,0,0,4913,4914,7,6,0,0,4914,4915,7,4,0,0,4915,4916,7,3,0,0,4916,4917,7,5,0,0,4917,4918,7,8,0,0,4918,746,1,0,0,0,4919,4920,7,9,0,0,4920,4921,7,13,0,0,4921,4922,7,15,0,0,4922,4923,7,3,0,0,4923,4924,7,24,0,0,4924,4925,7,6,0,0,4925,4926,7,4,0,0,4926,748,1,0,0,0,4927,4928,7,8,0,0,4928,4929,7,15,0,0,4929,4930,7,3,0,0,4930,4931,7,17,0,0,4931,4932,7,10,0,0,4932,4933,7,8,0,0,4933,750,1,0,0,0,4934,4935,7,8,0,0,4935,4936,7,15,0,0,4936,4937,7,4,0,0,4937,4938,7,11,0,0,4938,4939,7,13,0,0,4939,4940,7,25,0,0,4940,4941,7,5,0,0,4941,4942,7,6,0,0,4942,4943,7,20,0,0,4943,4944,7,15,0,0,4944,752,1,0,0,0,4945,4946,7,8,0,0,4946,4947,7,15,0,0,4947,4948,7,4,0,0,4948,4949,7,11,0,0,4949,4950,7,13,0,0,4950,4951,7,25,0,0,4951,4952,7,5,0,0,4952,4953,7,6,0,0,4953,4954,7,20,0,0,4954,4955,7,15,0,0,4955,4956,5,95,0,0,4956,4957,7,22,0,0,4957,4958,7,8,0,0,4958,4959,7,13,0,0,4959,4960,5,95,0,0,4960,4961,7,6,0,0,4961,4962,7,9,0,0,4962,754,1,0,0,0,4963,4964,7,8,0,0,4964,4965,7,15,0,0,4965,4966,7,9,0,0,4966,756,1,0,0,0,4967,4968,7,8,0,0,4968,4969,7,15,0,0,4969,4970,7,9,0,0,4970,4971,7,14,0,0,4971,758,1,0,0,0,4972,4973,7,8,0,0,4973,4974,7,15,0,0,4974,4975,7,23,0,0,4975,4976,7,6,0,0,4976,4977,7,15,0,0,4977,4978,7,8,0,0,4978,760,1,0,0,0,4979,4980,7,8,0,0,4980,4981,7,15,0,0,4981,4982,7,23,0,0,4982,4983,7,6,0,0,4983,4984,7,15,0,0,4984,4985,7,8,0,0,4985,4986,7,14,0,0,4986,762,1,0,0,0,4987,4988,7,8,0,0,4988,4989,7,11,0,0,4989,4990,7,11,0,0,4990,4991,7,20,0,0,4991,4992,7,11,0,0,4992,764,1,0,0,0,4993,4994,7,8,0,0,4994,4995,7,11,0,0,4995,4996,7,11,0,0,4996,4997,7,20,0,0,4997,4998,7,11,0,0,4998,4999,7,14,0,0,4999,766,1,0,0,0,5e3,5001,7,8,0,0,5001,5002,7,14,0,0,5002,5003,7,4,0,0,5003,5004,7,3,0,0,5004,5005,7,25,0,0,5005,5006,7,8,0,0,5006,768,1,0,0,0,5007,5008,7,8,0,0,5008,5009,7,7,0,0,5009,5010,7,8,0,0,5010,5011,7,15,0,0,5011,5012,7,5,0,0,5012,770,1,0,0,0,5013,5014,7,8,0,0,5014,5015,7,7,0,0,5015,5016,7,8,0,0,5016,5017,7,15,0,0,5017,5018,7,5,0,0,5018,5019,7,14,0,0,5019,772,1,0,0,0,5020,5021,7,8,0,0,5021,5022,7,7,0,0,5022,5023,7,8,0,0,5023,5024,7,11,0,0,5024,5025,7,13,0,0,5025,774,1,0,0,0,5026,5027,7,8,0,0,5027,5028,7,26,0,0,5028,5029,7,4,0,0,5029,5030,7,21,0,0,5030,5031,7,3,0,0,5031,5032,7,15,0,0,5032,5033,7,23,0,0,5033,5034,7,8,0,0,5034,776,1,0,0,0,5035,5036,7,8,0,0,5036,5037,7,26,0,0,5037,5038,7,4,0,0,5038,5039,7,10,0,0,5039,5040,7,18,0,0,5040,5041,7,14,0,0,5041,5042,7,6,0,0,5042,5043,7,7,0,0,5043,5044,7,8,0,0,5044,778,1,0,0,0,5045,5046,7,8,0,0,5046,5047,7,26,0,0,5047,5048,7,25,0,0,5048,5049,7,6,0,0,5049,5050,7,11,0,0,5050,5051,7,8,0,0,5051,780,1,0,0,0,5052,5053,7,8,0,0,5053,5054,7,26,0,0,5054,5055,7,25,0,0,5055,5056,7,20,0,0,5056,5057,7,11,0,0,5057,5058,7,5,0,0,5058,782,1,0,0,0,5059,5060,7,8,0,0,5060,5061,7,26,0,0,5061,5062,7,5,0,0,5062,5063,7,8,0,0,5063,5064,7,15,0,0,5064,5065,7,9,0,0,5065,5066,7,8,0,0,5066,5067,7,9,0,0,5067,784,1,0,0,0,5068,5069,7,8,0,0,5069,5070,7,26,0,0,5070,5071,7,5,0,0,5071,5072,7,8,0,0,5072,5073,7,15,0,0,5073,5074,7,5,0,0,5074,5075,5,95,0,0,5075,5076,7,14,0,0,5076,5077,7,6,0,0,5077,5078,7,16,0,0,5078,5079,7,8,0,0,5079,786,1,0,0,0,5080,5081,7,19,0,0,5081,5082,7,3,0,0,5082,5083,7,4,0,0,5083,5084,7,5,0,0,5084,5085,7,20,0,0,5085,5086,7,11,0,0,5086,788,1,0,0,0,5087,5088,7,19,0,0,5088,5089,7,3,0,0,5089,5090,7,6,0,0,5090,5091,7,10,0,0,5091,5092,7,8,0,0,5092,5093,7,9,0,0,5093,5094,5,95,0,0,5094,5095,7,10,0,0,5095,5096,7,20,0,0,5096,5097,7,23,0,0,5097,5098,7,6,0,0,5098,5099,7,15,0,0,5099,5100,5,95,0,0,5100,5101,7,3,0,0,5101,5102,7,5,0,0,5102,5103,7,5,0,0,5103,5104,7,8,0,0,5104,5105,7,24,0,0,5105,5106,7,25,0,0,5106,5107,7,5,0,0,5107,5108,7,14,0,0,5108,790,1,0,0,0,5109,5110,7,19,0,0,5110,5111,7,3,0,0,5111,5112,7,14,0,0,5112,5113,7,5,0,0,5113,792,1,0,0,0,5114,5115,7,19,0,0,5115,5116,7,3,0,0,5116,5117,7,18,0,0,5117,5118,7,10,0,0,5118,5119,7,5,0,0,5119,5120,7,14,0,0,5120,794,1,0,0,0,5121,5122,7,19,0,0,5122,5123,7,6,0,0,5123,5124,7,8,0,0,5124,5125,7,10,0,0,5125,5126,7,9,0,0,5126,5127,7,14,0,0,5127,796,1,0,0,0,5128,5129,7,19,0,0,5129,5130,7,6,0,0,5130,5131,7,10,0,0,5131,5132,7,8,0,0,5132,5133,5,95,0,0,5133,5134,7,17,0,0,5134,5135,7,10,0,0,5135,5136,7,20,0,0,5136,5137,7,4,0,0,5137,5138,7,22,0,0,5138,5139,5,95,0,0,5139,5140,7,14,0,0,5140,5141,7,6,0,0,5141,5142,7,16,0,0,5142,5143,7,8,0,0,5143,798,1,0,0,0,5144,5145,7,19,0,0,5145,5146,7,6,0,0,5146,5147,7,10,0,0,5147,5148,7,5,0,0,5148,5149,7,8,0,0,5149,5150,7,11,0,0,5150,800,1,0,0,0,5151,5152,7,19,0,0,5152,5153,7,6,0,0,5153,5154,7,15,0,0,5154,5155,7,6,0,0,5155,5156,7,14,0,0,5156,5157,7,21,0,0,5157,802,1,0,0,0,5158,5159,7,19,0,0,5159,5160,7,6,0,0,5160,5161,7,11,0,0,5161,5162,7,14,0,0,5162,5163,7,5,0,0,5163,804,1,0,0,0,5164,5165,7,19,0,0,5165,5166,7,6,0,0,5166,5167,7,26,0,0,5167,5168,7,8,0,0,5168,5169,7,9,0,0,5169,806,1,0,0,0,5170,5171,7,19,0,0,5171,5172,7,10,0,0,5172,5173,7,18,0,0,5173,5174,7,14,0,0,5174,5175,7,21,0,0,5175,808,1,0,0,0,5176,5177,7,19,0,0,5177,5178,7,20,0,0,5178,5179,7,10,0,0,5179,5180,7,10,0,0,5180,5181,7,20,0,0,5181,5182,7,12,0,0,5182,5183,7,6,0,0,5183,5184,7,15,0,0,5184,5185,7,23,0,0,5185,810,1,0,0,0,5186,5187,7,19,0,0,5187,5188,7,20,0,0,5188,5189,7,10,0,0,5189,5190,7,10,0,0,5190,5191,7,20,0,0,5191,5192,7,12,0,0,5192,5193,7,14,0,0,5193,812,1,0,0,0,5194,5195,7,19,0,0,5195,5196,7,20,0,0,5196,5197,7,18,0,0,5197,5198,7,15,0,0,5198,5199,7,9,0,0,5199,814,1,0,0,0,5200,5201,7,19,0,0,5201,5202,7,18,0,0,5202,5203,7,10,0,0,5203,5204,7,10,0,0,5204,816,1,0,0,0,5205,5206,7,19,0,0,5206,5207,7,18,0,0,5207,5208,7,15,0,0,5208,5209,7,4,0,0,5209,5210,7,5,0,0,5210,5211,7,6,0,0,5211,5212,7,20,0,0,5212,5213,7,15,0,0,5213,818,1,0,0,0,5214,5215,7,23,0,0,5215,5216,7,8,0,0,5216,5217,7,15,0,0,5217,5218,7,8,0,0,5218,5219,7,11,0,0,5219,5220,7,3,0,0,5220,5221,7,10,0,0,5221,820,1,0,0,0,5222,5223,7,23,0,0,5223,5224,7,8,0,0,5224,5225,7,5,0,0,5225,5226,5,95,0,0,5226,5227,7,24,0,0,5227,5228,7,3,0,0,5228,5229,7,14,0,0,5229,5230,7,5,0,0,5230,5231,7,8,0,0,5231,5232,7,11,0,0,5232,5233,5,95,0,0,5233,5234,7,25,0,0,5234,5235,7,18,0,0,5235,5236,7,17,0,0,5236,5237,7,10,0,0,5237,5238,7,6,0,0,5238,5239,7,4,0,0,5239,5240,5,95,0,0,5240,5241,7,22,0,0,5241,5242,7,8,0,0,5242,5243,7,13,0,0,5243,822,1,0,0,0,5244,5245,7,23,0,0,5245,5246,7,8,0,0,5246,5247,7,5,0,0,5247,5248,5,95,0,0,5248,5249,7,14,0,0,5249,5250,7,20,0,0,5250,5251,7,18,0,0,5251,5252,7,11,0,0,5252,5253,7,4,0,0,5253,5254,7,8,0,0,5254,5255,5,95,0,0,5255,5256,7,25,0,0,5256,5257,7,18,0,0,5257,5258,7,17,0,0,5258,5259,7,10,0,0,5259,5260,7,6,0,0,5260,5261,7,4,0,0,5261,5262,5,95,0,0,5262,5263,7,22,0,0,5263,5264,7,8,0,0,5264,5265,7,13,0,0,5265,824,1,0,0,0,5266,5267,7,23,0,0,5267,5268,7,10,0,0,5268,5269,7,20,0,0,5269,5270,7,17,0,0,5270,5271,7,3,0,0,5271,5272,7,10,0,0,5272,826,1,0,0,0,5273,5274,7,23,0,0,5274,5275,7,11,0,0,5275,5276,7,3,0,0,5276,5277,7,15,0,0,5277,5278,7,5,0,0,5278,5279,7,14,0,0,5279,828,1,0,0,0,5280,5281,7,23,0,0,5281,5282,7,11,0,0,5282,5283,7,20,0,0,5283,5284,7,18,0,0,5284,5285,7,25,0,0,5285,5286,5,95,0,0,5286,5287,7,11,0,0,5287,5288,7,8,0,0,5288,5289,7,25,0,0,5289,5290,7,10,0,0,5290,5291,7,6,0,0,5291,5292,7,4,0,0,5292,5293,7,3,0,0,5293,5294,7,5,0,0,5294,5295,7,6,0,0,5295,5296,7,20,0,0,5296,5297,7,15,0,0,5297,830,1,0,0,0,5298,5299,7,23,0,0,5299,5300,7,5,0,0,5300,5301,7,6,0,0,5301,5302,7,9,0,0,5302,5303,5,95,0,0,5303,5304,7,20,0,0,5304,5305,7,15,0,0,5305,5306,7,10,0,0,5306,5307,7,13,0,0,5307,832,1,0,0,0,5308,5309,7,21,0,0,5309,5310,7,3,0,0,5310,5311,7,15,0,0,5311,5312,7,9,0,0,5312,5313,7,10,0,0,5313,5314,7,8,0,0,5314,5315,7,11,0,0,5315,834,1,0,0,0,5316,5317,7,21,0,0,5317,5318,7,3,0,0,5318,5319,7,14,0,0,5319,5320,7,21,0,0,5320,836,1,0,0,0,5321,5322,7,21,0,0,5322,5323,7,8,0,0,5323,5324,7,10,0,0,5324,5325,7,25,0,0,5325,838,1,0,0,0,5326,5327,7,21,0,0,5327,5328,7,6,0,0,5328,5329,7,14,0,0,5329,5330,7,5,0,0,5330,5331,7,20,0,0,5331,5332,7,11,0,0,5332,5333,7,13,0,0,5333,840,1,0,0,0,5334,5335,7,21,0,0,5335,5336,7,20,0,0,5336,5337,7,14,0,0,5337,5338,7,5,0,0,5338,842,1,0,0,0,5339,5340,7,21,0,0,5340,5341,7,20,0,0,5341,5342,7,14,0,0,5342,5343,7,5,0,0,5343,5344,7,14,0,0,5344,844,1,0,0,0,5345,5346,7,6,0,0,5346,5347,7,9,0,0,5347,5348,7,8,0,0,5348,5349,7,15,0,0,5349,5350,7,5,0,0,5350,5351,7,6,0,0,5351,5352,7,19,0,0,5352,5353,7,6,0,0,5353,5354,7,8,0,0,5354,5355,7,9,0,0,5355,846,1,0,0,0,5356,5357,7,6,0,0,5357,5358,7,23,0,0,5358,5359,7,15,0,0,5359,5360,7,20,0,0,5360,5361,7,11,0,0,5361,5362,7,8,0,0,5362,5363,5,95,0,0,5363,5364,7,14,0,0,5364,5365,7,8,0,0,5365,5366,7,11,0,0,5366,5367,7,7,0,0,5367,5368,7,8,0,0,5368,5369,7,11,0,0,5369,5370,5,95,0,0,5370,5371,7,6,0,0,5371,5372,7,9,0,0,5372,5373,7,14,0,0,5373,848,1,0,0,0,5374,5375,7,6,0,0,5375,5376,7,24,0,0,5376,5377,7,25,0,0,5377,5378,7,20,0,0,5378,5379,7,11,0,0,5379,5380,7,5,0,0,5380,850,1,0,0,0,5381,5382,7,6,0,0,5382,5383,7,15,0,0,5383,5384,7,9,0,0,5384,5385,7,8,0,0,5385,5386,7,26,0,0,5386,5387,7,8,0,0,5387,5388,7,14,0,0,5388,852,1,0,0,0,5389,5390,7,6,0,0,5390,5391,7,15,0,0,5391,5392,7,6,0,0,5392,5393,7,5,0,0,5393,5394,7,6,0,0,5394,5395,7,3,0,0,5395,5396,7,10,0,0,5396,854,1,0,0,0,5397,5398,7,6,0,0,5398,5399,7,15,0,0,5399,5400,7,6,0,0,5400,5401,7,5,0,0,5401,5402,7,6,0,0,5402,5403,7,3,0,0,5403,5404,7,10,0,0,5404,5405,5,95,0,0,5405,5406,7,14,0,0,5406,5407,7,6,0,0,5407,5408,7,16,0,0,5408,5409,7,8,0,0,5409,856,1,0,0,0,5410,5411,7,6,0,0,5411,5412,7,15,0,0,5412,5413,7,6,0,0,5413,5414,7,5,0,0,5414,5415,7,6,0,0,5415,5416,7,3,0,0,5416,5417,7,5,0,0,5417,5418,7,8,0,0,5418,858,1,0,0,0,5419,5420,7,6,0,0,5420,5421,7,15,0,0,5421,5422,7,25,0,0,5422,5423,7,10,0,0,5423,5424,7,3,0,0,5424,5425,7,4,0,0,5425,5426,7,8,0,0,5426,860,1,0,0,0,5427,5428,7,6,0,0,5428,5429,7,15,0,0,5429,5430,7,14,0,0,5430,5431,7,8,0,0,5431,5432,7,11,0,0,5432,5433,7,5,0,0,5433,5434,5,95,0,0,5434,5435,7,24,0,0,5435,5436,7,8,0,0,5436,5437,7,5,0,0,5437,5438,7,21,0,0,5438,5439,7,20,0,0,5439,5440,7,9,0,0,5440,862,1,0,0,0,5441,5442,7,6,0,0,5442,5443,7,15,0,0,5443,5444,7,14,0,0,5444,5445,7,5,0,0,5445,5446,7,3,0,0,5446,5447,7,10,0,0,5447,5448,7,10,0,0,5448,864,1,0,0,0,5449,5450,7,6,0,0,5450,5451,7,15,0,0,5451,5452,7,14,0,0,5452,5453,7,5,0,0,5453,5454,7,3,0,0,5454,5455,7,15,0,0,5455,5456,7,4,0,0,5456,5457,7,8,0,0,5457,866,1,0,0,0,5458,5459,7,6,0,0,5459,5460,7,15,0,0,5460,5461,7,14,0,0,5461,5462,7,5,0,0,5462,5463,7,3,0,0,5463,5464,7,15,0,0,5464,5465,7,5,0,0,5465,868,1,0,0,0,5466,5467,7,6,0,0,5467,5468,7,15,0,0,5468,5469,7,7,0,0,5469,5470,7,6,0,0,5470,5471,7,14,0,0,5471,5472,7,6,0,0,5472,5473,7,17,0,0,5473,5474,7,10,0,0,5474,5475,7,8,0,0,5475,870,1,0,0,0,5476,5477,7,6,0,0,5477,5478,7,15,0,0,5478,5479,7,7,0,0,5479,5480,7,20,0,0,5480,5481,7,22,0,0,5481,5482,7,8,0,0,5482,5483,7,11,0,0,5483,872,1,0,0,0,5484,5485,7,6,0,0,5485,5486,7,20,0,0,5486,874,1,0,0,0,5487,5488,7,6,0,0,5488,5489,7,20,0,0,5489,5490,5,95,0,0,5490,5491,7,5,0,0,5491,5492,7,21,0,0,5492,5493,7,11,0,0,5493,5494,7,8,0,0,5494,5495,7,3,0,0,5495,5496,7,9,0,0,5496,876,1,0,0,0,5497,5498,7,6,0,0,5498,5499,7,25,0,0,5499,5500,7,4,0,0,5500,878,1,0,0,0,5501,5502,7,6,0,0,5502,5503,7,14,0,0,5503,5504,7,20,0,0,5504,5505,7,10,0,0,5505,5506,7,3,0,0,5506,5507,7,5,0,0,5507,5508,7,6,0,0,5508,5509,7,20,0,0,5509,5510,7,15,0,0,5510,880,1,0,0,0,5511,5512,7,6,0,0,5512,5513,7,14,0,0,5513,5514,7,14,0,0,5514,5515,7,18,0,0,5515,5516,7,8,0,0,5516,5517,7,11,0,0,5517,882,1,0,0,0,5518,5519,7,27,0,0,5519,5520,7,14,0,0,5520,5521,7,20,0,0,5521,5522,7,15,0,0,5522,884,1,0,0,0,5523,5524,7,22,0,0,5524,5525,7,8,0,0,5525,5526,7,13,0,0,5526,5527,5,95,0,0,5527,5528,7,17,0,0,5528,5529,7,10,0,0,5529,5530,7,20,0,0,5530,5531,7,4,0,0,5531,5532,7,22,0,0,5532,5533,5,95,0,0,5533,5534,7,14,0,0,5534,5535,7,6,0,0,5535,5536,7,16,0,0,5536,5537,7,8,0,0,5537,886,1,0,0,0,5538,5539,7,10,0,0,5539,5540,7,3,0,0,5540,5541,7,15,0,0,5541,5542,7,23,0,0,5542,5543,7,18,0,0,5543,5544,7,3,0,0,5544,5545,7,23,0,0,5545,5546,7,8,0,0,5546,888,1,0,0,0,5547,5548,7,10,0,0,5548,5549,7,3,0,0,5549,5550,7,14,0,0,5550,5551,7,5,0,0,5551,890,1,0,0,0,5552,5553,7,10,0,0,5553,5554,7,8,0,0,5554,5555,7,3,0,0,5555,5556,7,7,0,0,5556,5557,7,8,0,0,5557,5558,7,14,0,0,5558,892,1,0,0,0,5559,5560,7,10,0,0,5560,5561,7,8,0,0,5561,5562,7,14,0,0,5562,5563,7,14,0,0,5563,894,1,0,0,0,5564,5565,7,10,0,0,5565,5566,7,8,0,0,5566,5567,7,7,0,0,5567,5568,7,8,0,0,5568,5569,7,10,0,0,5569,896,1,0,0,0,5570,5571,7,10,0,0,5571,5572,7,6,0,0,5572,5573,7,14,0,0,5573,5574,7,5,0,0,5574,898,1,0,0,0,5575,5576,7,10,0,0,5576,5577,7,20,0,0,5577,5578,7,4,0,0,5578,5579,7,3,0,0,5579,5580,7,10,0,0,5580,900,1,0,0,0,5581,5582,7,10,0,0,5582,5583,7,20,0,0,5583,5584,7,23,0,0,5584,5585,7,19,0,0,5585,5586,7,6,0,0,5586,5587,7,10,0,0,5587,5588,7,8,0,0,5588,902,1,0,0,0,5589,5590,7,10,0,0,5590,5591,7,20,0,0,5591,5592,7,23,0,0,5592,5593,7,14,0,0,5593,904,1,0,0,0,5594,5595,7,24,0,0,5595,5596,7,3,0,0,5596,5597,7,14,0,0,5597,5598,7,5,0,0,5598,5599,7,8,0,0,5599,5600,7,11,0,0,5600,906,1,0,0,0,5601,5602,7,24,0,0,5602,5603,7,3,0,0,5603,5604,7,14,0,0,5604,5605,7,5,0,0,5605,5606,7,8,0,0,5606,5607,7,11,0,0,5607,5608,5,95,0,0,5608,5609,7,3,0,0,5609,5610,7,18,0,0,5610,5611,7,5,0,0,5611,5612,7,20,0,0,5612,5613,5,95,0,0,5613,5614,7,25,0,0,5614,5615,7,20,0,0,5615,5616,7,14,0,0,5616,5617,7,6,0,0,5617,5618,7,5,0,0,5618,5619,7,6,0,0,5619,5620,7,20,0,0,5620,5621,7,15,0,0,5621,908,1,0,0,0,5622,5623,7,24,0,0,5623,5624,7,3,0,0,5624,5625,7,14,0,0,5625,5626,7,5,0,0,5626,5627,7,8,0,0,5627,5628,7,11,0,0,5628,5629,5,95,0,0,5629,5630,7,4,0,0,5630,5631,7,20,0,0,5631,5632,7,24,0,0,5632,5633,7,25,0,0,5633,5634,7,11,0,0,5634,5635,7,8,0,0,5635,5636,7,14,0,0,5636,5637,7,14,0,0,5637,5638,7,6,0,0,5638,5639,7,20,0,0,5639,5640,7,15,0,0,5640,5641,5,95,0,0,5641,5642,7,3,0,0,5642,5643,7,10,0,0,5643,5644,7,23,0,0,5644,5645,7,20,0,0,5645,5646,7,11,0,0,5646,5647,7,6,0,0,5647,5648,7,5,0,0,5648,5649,7,21,0,0,5649,5650,7,24,0,0,5650,5651,7,14,0,0,5651,910,1,0,0,0,5652,5653,7,24,0,0,5653,5654,7,3,0,0,5654,5655,7,14,0,0,5655,5656,7,5,0,0,5656,5657,7,8,0,0,5657,5658,7,11,0,0,5658,5659,5,95,0,0,5659,5660,7,4,0,0,5660,5661,7,20,0,0,5661,5662,7,15,0,0,5662,5663,7,15,0,0,5663,5664,7,8,0,0,5664,5665,7,4,0,0,5665,5666,7,5,0,0,5666,5667,5,95,0,0,5667,5668,7,11,0,0,5668,5669,7,8,0,0,5669,5670,7,5,0,0,5670,5671,7,11,0,0,5671,5672,7,13,0,0,5672,912,1,0,0,0,5673,5674,7,24,0,0,5674,5675,7,3,0,0,5675,5676,7,14,0,0,5676,5677,7,5,0,0,5677,5678,7,8,0,0,5678,5679,7,11,0,0,5679,5680,5,95,0,0,5680,5681,7,9,0,0,5681,5682,7,8,0,0,5682,5683,7,10,0,0,5683,5684,7,3,0,0,5684,5685,7,13,0,0,5685,914,1,0,0,0,5686,5687,7,24,0,0,5687,5688,7,3,0,0,5688,5689,7,14,0,0,5689,5690,7,5,0,0,5690,5691,7,8,0,0,5691,5692,7,11,0,0,5692,5693,5,95,0,0,5693,5694,7,21,0,0,5694,5695,7,8,0,0,5695,5696,7,3,0,0,5696,5697,7,11,0,0,5697,5698,7,5,0,0,5698,5699,7,17,0,0,5699,5700,7,8,0,0,5700,5701,7,3,0,0,5701,5702,7,5,0,0,5702,5703,5,95,0,0,5703,5704,7,25,0,0,5704,5705,7,8,0,0,5705,5706,7,11,0,0,5706,5707,7,6,0,0,5707,5708,7,20,0,0,5708,5709,7,9,0,0,5709,916,1,0,0,0,5710,5711,7,24,0,0,5711,5712,7,3,0,0,5712,5713,7,14,0,0,5713,5714,7,5,0,0,5714,5715,7,8,0,0,5715,5716,7,11,0,0,5716,5717,5,95,0,0,5717,5718,7,21,0,0,5718,5719,7,20,0,0,5719,5720,7,14,0,0,5720,5721,7,5,0,0,5721,918,1,0,0,0,5722,5723,7,24,0,0,5723,5724,7,3,0,0,5724,5725,7,14,0,0,5725,5726,7,5,0,0,5726,5727,7,8,0,0,5727,5728,7,11,0,0,5728,5729,5,95,0,0,5729,5730,7,10,0,0,5730,5731,7,20,0,0,5731,5732,7,23,0,0,5732,5733,5,95,0,0,5733,5734,7,19,0,0,5734,5735,7,6,0,0,5735,5736,7,10,0,0,5736,5737,7,8,0,0,5737,920,1,0,0,0,5738,5739,7,24,0,0,5739,5740,7,3,0,0,5740,5741,7,14,0,0,5741,5742,7,5,0,0,5742,5743,7,8,0,0,5743,5744,7,11,0,0,5744,5745,5,95,0,0,5745,5746,7,10,0,0,5746,5747,7,20,0,0,5747,5748,7,23,0,0,5748,5749,5,95,0,0,5749,5750,7,25,0,0,5750,5751,7,20,0,0,5751,5752,7,14,0,0,5752,922,1,0,0,0,5753,5754,7,24,0,0,5754,5755,7,3,0,0,5755,5756,7,14,0,0,5756,5757,7,5,0,0,5757,5758,7,8,0,0,5758,5759,7,11,0,0,5759,5760,5,95,0,0,5760,5761,7,25,0,0,5761,5762,7,3,0,0,5762,5763,7,14,0,0,5763,5764,7,14,0,0,5764,5765,7,12,0,0,5765,5766,7,20,0,0,5766,5767,7,11,0,0,5767,5768,7,9,0,0,5768,924,1,0,0,0,5769,5770,7,24,0,0,5770,5771,7,3,0,0,5771,5772,7,14,0,0,5772,5773,7,5,0,0,5773,5774,7,8,0,0,5774,5775,7,11,0,0,5775,5776,5,95,0,0,5776,5777,7,25,0,0,5777,5778,7,20,0,0,5778,5779,7,11,0,0,5779,5780,7,5,0,0,5780,926,1,0,0,0,5781,5782,7,24,0,0,5782,5783,7,3,0,0,5783,5784,7,14,0,0,5784,5785,7,5,0,0,5785,5786,7,8,0,0,5786,5787,7,11,0,0,5787,5788,5,95,0,0,5788,5789,7,25,0,0,5789,5790,7,18,0,0,5790,5791,7,17,0,0,5791,5792,7,10,0,0,5792,5793,7,6,0,0,5793,5794,7,4,0,0,5794,5795,5,95,0,0,5795,5796,7,22,0,0,5796,5797,7,8,0,0,5797,5798,7,13,0,0,5798,5799,5,95,0,0,5799,5800,7,25,0,0,5800,5801,7,3,0,0,5801,5802,7,5,0,0,5802,5803,7,21,0,0,5803,928,1,0,0,0,5804,5805,7,24,0,0,5805,5806,7,3,0,0,5806,5807,7,14,0,0,5807,5808,7,5,0,0,5808,5809,7,8,0,0,5809,5810,7,11,0,0,5810,5811,5,95,0,0,5811,5812,7,11,0,0,5812,5813,7,8,0,0,5813,5814,7,5,0,0,5814,5815,7,11,0,0,5815,5816,7,13,0,0,5816,5817,5,95,0,0,5817,5818,7,4,0,0,5818,5819,7,20,0,0,5819,5820,7,18,0,0,5820,5821,7,15,0,0,5821,5822,7,5,0,0,5822,930,1,0,0,0,5823,5824,7,24,0,0,5824,5825,7,3,0,0,5825,5826,7,14,0,0,5826,5827,7,5,0,0,5827,5828,7,8,0,0,5828,5829,7,11,0,0,5829,5830,5,95,0,0,5830,5831,7,14,0,0,5831,5832,7,14,0,0,5832,5833,7,10,0,0,5833,932,1,0,0,0,5834,5835,7,24,0,0,5835,5836,7,3,0,0,5836,5837,7,14,0,0,5837,5838,7,5,0,0,5838,5839,7,8,0,0,5839,5840,7,11,0,0,5840,5841,5,95,0,0,5841,5842,7,14,0,0,5842,5843,7,14,0,0,5843,5844,7,10,0,0,5844,5845,5,95,0,0,5845,5846,7,4,0,0,5846,5847,7,3,0,0,5847,934,1,0,0,0,5848,5849,7,24,0,0,5849,5850,7,3,0,0,5850,5851,7,14,0,0,5851,5852,7,5,0,0,5852,5853,7,8,0,0,5853,5854,7,11,0,0,5854,5855,5,95,0,0,5855,5856,7,14,0,0,5856,5857,7,14,0,0,5857,5858,7,10,0,0,5858,5859,5,95,0,0,5859,5860,7,4,0,0,5860,5861,7,3,0,0,5861,5862,7,25,0,0,5862,5863,7,3,0,0,5863,5864,7,5,0,0,5864,5865,7,21,0,0,5865,936,1,0,0,0,5866,5867,7,24,0,0,5867,5868,7,3,0,0,5868,5869,7,14,0,0,5869,5870,7,5,0,0,5870,5871,7,8,0,0,5871,5872,7,11,0,0,5872,5873,5,95,0,0,5873,5874,7,14,0,0,5874,5875,7,14,0,0,5875,5876,7,10,0,0,5876,5877,5,95,0,0,5877,5878,7,4,0,0,5878,5879,7,8,0,0,5879,5880,7,11,0,0,5880,5881,7,5,0,0,5881,938,1,0,0,0,5882,5883,7,24,0,0,5883,5884,7,3,0,0,5884,5885,7,14,0,0,5885,5886,7,5,0,0,5886,5887,7,8,0,0,5887,5888,7,11,0,0,5888,5889,5,95,0,0,5889,5890,7,14,0,0,5890,5891,7,14,0,0,5891,5892,7,10,0,0,5892,5893,5,95,0,0,5893,5894,7,4,0,0,5894,5895,7,6,0,0,5895,5896,7,25,0,0,5896,5897,7,21,0,0,5897,5898,7,8,0,0,5898,5899,7,11,0,0,5899,940,1,0,0,0,5900,5901,7,24,0,0,5901,5902,7,3,0,0,5902,5903,7,14,0,0,5903,5904,7,5,0,0,5904,5905,7,8,0,0,5905,5906,7,11,0,0,5906,5907,5,95,0,0,5907,5908,7,14,0,0,5908,5909,7,14,0,0,5909,5910,7,10,0,0,5910,5911,5,95,0,0,5911,5912,7,4,0,0,5912,5913,7,11,0,0,5913,5914,7,10,0,0,5914,942,1,0,0,0,5915,5916,7,24,0,0,5916,5917,7,3,0,0,5917,5918,7,14,0,0,5918,5919,7,5,0,0,5919,5920,7,8,0,0,5920,5921,7,11,0,0,5921,5922,5,95,0,0,5922,5923,7,14,0,0,5923,5924,7,14,0,0,5924,5925,7,10,0,0,5925,5926,5,95,0,0,5926,5927,7,4,0,0,5927,5928,7,11,0,0,5928,5929,7,10,0,0,5929,5930,7,25,0,0,5930,5931,7,3,0,0,5931,5932,7,5,0,0,5932,5933,7,21,0,0,5933,944,1,0,0,0,5934,5935,7,24,0,0,5935,5936,7,3,0,0,5936,5937,7,14,0,0,5937,5938,7,5,0,0,5938,5939,7,8,0,0,5939,5940,7,11,0,0,5940,5941,5,95,0,0,5941,5942,7,14,0,0,5942,5943,7,14,0,0,5943,5944,7,10,0,0,5944,5945,5,95,0,0,5945,5946,7,22,0,0,5946,5947,7,8,0,0,5947,5948,7,13,0,0,5948,946,1,0,0,0,5949,5950,7,24,0,0,5950,5951,7,3,0,0,5951,5952,7,14,0,0,5952,5953,7,5,0,0,5953,5954,7,8,0,0,5954,5955,7,11,0,0,5955,5956,5,95,0,0,5956,5957,7,5,0,0,5957,5958,7,10,0,0,5958,5959,7,14,0,0,5959,5960,5,95,0,0,5960,5961,7,4,0,0,5961,5962,7,6,0,0,5962,5963,7,25,0,0,5963,5964,7,21,0,0,5964,5965,7,8,0,0,5965,5966,7,11,0,0,5966,5967,7,14,0,0,5967,5968,7,18,0,0,5968,5969,7,6,0,0,5969,5970,7,5,0,0,5970,5971,7,8,0,0,5971,5972,7,14,0,0,5972,948,1,0,0,0,5973,5974,7,24,0,0,5974,5975,7,3,0,0,5975,5976,7,14,0,0,5976,5977,7,5,0,0,5977,5978,7,8,0,0,5978,5979,7,11,0,0,5979,5980,5,95,0,0,5980,5981,7,5,0,0,5981,5982,7,10,0,0,5982,5983,7,14,0,0,5983,5984,5,95,0,0,5984,5985,7,7,0,0,5985,5986,7,8,0,0,5986,5987,7,11,0,0,5987,5988,7,14,0,0,5988,5989,7,6,0,0,5989,5990,7,20,0,0,5990,5991,7,15,0,0,5991,950,1,0,0,0,5992,5993,7,24,0,0,5993,5994,7,3,0,0,5994,5995,7,14,0,0,5995,5996,7,5,0,0,5996,5997,7,8,0,0,5997,5998,7,11,0,0,5998,5999,5,95,0,0,5999,6e3,7,18,0,0,6e3,6001,7,14,0,0,6001,6002,7,8,0,0,6002,6003,7,11,0,0,6003,952,1,0,0,0,6004,6005,7,24,0,0,6005,6006,7,3,0,0,6006,6007,7,14,0,0,6007,6008,7,5,0,0,6008,6009,7,8,0,0,6009,6010,7,11,0,0,6010,6011,5,95,0,0,6011,6012,7,16,0,0,6012,6013,7,14,0,0,6013,6014,7,5,0,0,6014,6015,7,9,0,0,6015,6016,5,95,0,0,6016,6017,7,4,0,0,6017,6018,7,20,0,0,6018,6019,7,24,0,0,6019,6020,7,25,0,0,6020,6021,7,11,0,0,6021,6022,7,8,0,0,6022,6023,7,14,0,0,6023,6024,7,14,0,0,6024,6025,7,6,0,0,6025,6026,7,20,0,0,6026,6027,7,15,0,0,6027,6028,5,95,0,0,6028,6029,7,10,0,0,6029,6030,7,8,0,0,6030,6031,7,7,0,0,6031,6032,7,8,0,0,6032,6033,7,10,0,0,6033,954,1,0,0,0,6034,6035,7,24,0,0,6035,6036,7,3,0,0,6036,6037,7,26,0,0,6037,6038,5,95,0,0,6038,6039,7,4,0,0,6039,6040,7,20,0,0,6040,6041,7,15,0,0,6041,6042,7,15,0,0,6042,6043,7,8,0,0,6043,6044,7,4,0,0,6044,6045,7,5,0,0,6045,6046,7,6,0,0,6046,6047,7,20,0,0,6047,6048,7,15,0,0,6048,6049,7,14,0,0,6049,6050,5,95,0,0,6050,6051,7,25,0,0,6051,6052,7,8,0,0,6052,6053,7,11,0,0,6053,6054,5,95,0,0,6054,6055,7,21,0,0,6055,6056,7,20,0,0,6056,6057,7,18,0,0,6057,6058,7,11,0,0,6058,956,1,0,0,0,6059,6060,7,24,0,0,6060,6061,7,3,0,0,6061,6062,7,26,0,0,6062,6063,5,95,0,0,6063,6064,7,28,0,0,6064,6065,7,18,0,0,6065,6066,7,8,0,0,6066,6067,7,11,0,0,6067,6068,7,6,0,0,6068,6069,7,8,0,0,6069,6070,7,14,0,0,6070,6071,5,95,0,0,6071,6072,7,25,0,0,6072,6073,7,8,0,0,6073,6074,7,11,0,0,6074,6075,5,95,0,0,6075,6076,7,21,0,0,6076,6077,7,20,0,0,6077,6078,7,18,0,0,6078,6079,7,11,0,0,6079,958,1,0,0,0,6080,6081,7,24,0,0,6081,6082,7,3,0,0,6082,6083,7,26,0,0,6083,6084,5,95,0,0,6084,6085,7,11,0,0,6085,6086,7,20,0,0,6086,6087,7,12,0,0,6087,6088,7,14,0,0,6088,960,1,0,0,0,6089,6090,7,24,0,0,6090,6091,7,3,0,0,6091,6092,7,26,0,0,6092,6093,5,95,0,0,6093,6094,7,14,0,0,6094,6095,7,6,0,0,6095,6096,7,16,0,0,6096,6097,7,8,0,0,6097,962,1,0,0,0,6098,6099,7,24,0,0,6099,6100,7,3,0,0,6100,6101,7,26,0,0,6101,6102,5,95,0,0,6102,6103,7,18,0,0,6103,6104,7,25,0,0,6104,6105,7,9,0,0,6105,6106,7,3,0,0,6106,6107,7,5,0,0,6107,6108,7,8,0,0,6108,6109,7,14,0,0,6109,6110,5,95,0,0,6110,6111,7,25,0,0,6111,6112,7,8,0,0,6112,6113,7,11,0,0,6113,6114,5,95,0,0,6114,6115,7,21,0,0,6115,6116,7,20,0,0,6116,6117,7,18,0,0,6117,6118,7,11,0,0,6118,964,1,0,0,0,6119,6120,7,24,0,0,6120,6121,7,3,0,0,6121,6122,7,26,0,0,6122,6123,5,95,0,0,6123,6124,7,18,0,0,6124,6125,7,14,0,0,6125,6126,7,8,0,0,6126,6127,7,11,0,0,6127,6128,5,95,0,0,6128,6129,7,4,0,0,6129,6130,7,20,0,0,6130,6131,7,15,0,0,6131,6132,7,15,0,0,6132,6133,7,8,0,0,6133,6134,7,4,0,0,6134,6135,7,5,0,0,6135,6136,7,6,0,0,6136,6137,7,20,0,0,6137,6138,7,15,0,0,6138,6139,7,14,0,0,6139,966,1,0,0,0,6140,6141,7,24,0,0,6141,6142,7,8,0,0,6142,6143,7,9,0,0,6143,6144,7,6,0,0,6144,6145,7,18,0,0,6145,6146,7,24,0,0,6146,968,1,0,0,0,6147,6148,7,24,0,0,6148,6149,7,8,0,0,6149,6150,7,24,0,0,6150,6151,7,17,0,0,6151,6152,7,8,0,0,6152,6153,7,11,0,0,6153,970,1,0,0,0,6154,6155,7,24,0,0,6155,6156,7,8,0,0,6156,6157,7,11,0,0,6157,6158,7,23,0,0,6158,6159,7,8,0,0,6159,972,1,0,0,0,6160,6161,7,24,0,0,6161,6162,7,8,0,0,6162,6163,7,14,0,0,6163,6164,7,14,0,0,6164,6165,7,3,0,0,6165,6166,7,23,0,0,6166,6167,7,8,0,0,6167,6168,5,95,0,0,6168,6169,7,5,0,0,6169,6170,7,8,0,0,6170,6171,7,26,0,0,6171,6172,7,5,0,0,6172,974,1,0,0,0,6173,6174,7,24,0,0,6174,6175,7,6,0,0,6175,6176,7,9,0,0,6176,976,1,0,0,0,6177,6178,7,24,0,0,6178,6179,7,6,0,0,6179,6180,7,23,0,0,6180,6181,7,11,0,0,6181,6182,7,3,0,0,6182,6183,7,5,0,0,6183,6184,7,8,0,0,6184,978,1,0,0,0,6185,6186,7,24,0,0,6186,6187,7,6,0,0,6187,6188,7,15,0,0,6188,6189,5,95,0,0,6189,6190,7,11,0,0,6190,6191,7,20,0,0,6191,6192,7,12,0,0,6192,6193,7,14,0,0,6193,980,1,0,0,0,6194,6195,7,24,0,0,6195,6196,7,20,0,0,6196,6197,7,9,0,0,6197,6198,7,8,0,0,6198,982,1,0,0,0,6199,6200,7,24,0,0,6200,6201,7,20,0,0,6201,6202,7,9,0,0,6202,6203,7,6,0,0,6203,6204,7,19,0,0,6204,6205,7,13,0,0,6205,984,1,0,0,0,6206,6207,7,24,0,0,6207,6208,7,18,0,0,6208,6209,7,5,0,0,6209,6210,7,8,0,0,6210,6211,7,26,0,0,6211,986,1,0,0,0,6212,6213,7,24,0,0,6213,6214,7,13,0,0,6214,6215,7,14,0,0,6215,6216,7,28,0,0,6216,6217,7,10,0,0,6217,988,1,0,0,0,6218,6219,7,24,0,0,6219,6220,7,13,0,0,6220,6221,7,14,0,0,6221,6222,7,28,0,0,6222,6223,7,10,0,0,6223,6224,5,95,0,0,6224,6225,7,8,0,0,6225,6226,7,11,0,0,6226,6227,7,11,0,0,6227,6228,7,15,0,0,6228,6229,7,20,0,0,6229,990,1,0,0,0,6230,6231,7,15,0,0,6231,6232,7,3,0,0,6232,6233,7,24,0,0,6233,6234,7,8,0,0,6234,992,1,0,0,0,6235,6236,7,15,0,0,6236,6237,7,3,0,0,6237,6238,7,24,0,0,6238,6239,7,8,0,0,6239,6240,7,14,0,0,6240,994,1,0,0,0,6241,6242,7,15,0,0,6242,6243,7,4,0,0,6243,6244,7,21,0,0,6244,6245,7,3,0,0,6245,6246,7,11,0,0,6246,996,1,0,0,0,6247,6248,7,15,0,0,6248,6249,7,8,0,0,6249,6250,7,5,0,0,6250,6251,7,12,0,0,6251,6252,7,20,0,0,6252,6253,7,11,0,0,6253,6254,7,22,0,0,6254,6255,5,95,0,0,6255,6256,7,15,0,0,6256,6257,7,3,0,0,6257,6258,7,24,0,0,6258,6259,7,8,0,0,6259,6260,7,14,0,0,6260,6261,7,25,0,0,6261,6262,7,3,0,0,6262,6263,7,4,0,0,6263,6264,7,8,0,0,6264,998,1,0,0,0,6265,6266,7,15,0,0,6266,6267,7,8,0,0,6267,6268,7,7,0,0,6268,6269,7,8,0,0,6269,6270,7,11,0,0,6270,1e3,1,0,0,0,6271,6272,7,15,0,0,6272,6273,7,8,0,0,6273,6274,7,26,0,0,6274,6275,7,5,0,0,6275,1002,1,0,0,0,6276,6277,7,15,0,0,6277,6278,7,20,0,0,6278,1004,1,0,0,0,6279,6280,7,15,0,0,6280,6281,7,20,0,0,6281,6282,7,12,0,0,6282,6283,7,3,0,0,6283,6284,7,6,0,0,6284,6285,7,5,0,0,6285,1006,1,0,0,0,6286,6287,7,15,0,0,6287,6288,7,20,0,0,6288,6289,7,9,0,0,6289,6290,7,8,0,0,6290,6291,7,23,0,0,6291,6292,7,11,0,0,6292,6293,7,20,0,0,6293,6294,7,18,0,0,6294,6295,7,25,0,0,6295,1008,1,0,0,0,6296,6297,7,15,0,0,6297,6298,7,20,0,0,6298,6299,7,15,0,0,6299,6300,7,8,0,0,6300,1010,1,0,0,0,6301,6302,7,20,0,0,6302,6303,7,9,0,0,6303,6304,7,17,0,0,6304,6305,7,4,0,0,6305,1012,1,0,0,0,6306,6307,7,20,0,0,6307,6308,7,19,0,0,6308,6309,7,19,0,0,6309,1014,1,0,0,0,6310,6311,7,20,0,0,6311,6312,7,19,0,0,6312,6313,7,19,0,0,6313,6314,7,10,0,0,6314,6315,7,6,0,0,6315,6316,7,15,0,0,6316,6317,7,8,0,0,6317,1016,1,0,0,0,6318,6319,7,20,0,0,6319,6320,7,19,0,0,6320,6321,7,19,0,0,6321,6322,7,14,0,0,6322,6323,7,8,0,0,6323,6324,7,5,0,0,6324,1018,1,0,0,0,6325,6326,7,20,0,0,6326,6327,7,19,0,0,6327,1020,1,0,0,0,6328,6329,7,20,0,0,6329,6330,7,10,0,0,6330,6331,7,9,0,0,6331,1022,1,0,0,0,6332,6333,7,20,0,0,6333,6334,7,10,0,0,6334,6335,7,9,0,0,6335,6336,5,95,0,0,6336,6337,7,25,0,0,6337,6338,7,3,0,0,6338,6339,7,14,0,0,6339,6340,7,14,0,0,6340,6341,7,12,0,0,6341,6342,7,20,0,0,6342,6343,7,11,0,0,6343,6344,7,9,0,0,6344,1024,1,0,0,0,6345,6346,7,20,0,0,6346,6347,7,15,0,0,6347,6348,7,8,0,0,6348,1026,1,0,0,0,6349,6350,7,20,0,0,6350,6351,7,15,0,0,6351,6352,7,10,0,0,6352,6353,7,6,0,0,6353,6354,7,15,0,0,6354,6355,7,8,0,0,6355,1028,1,0,0,0,6356,6357,7,20,0,0,6357,6358,7,15,0,0,6358,6359,7,10,0,0,6359,6360,7,13,0,0,6360,1030,1,0,0,0,6361,6362,7,20,0,0,6362,6363,7,25,0,0,6363,6364,7,8,0,0,6364,6365,7,15,0,0,6365,1032,1,0,0,0,6366,6367,7,20,0,0,6367,6368,7,25,0,0,6368,6369,7,5,0,0,6369,6370,7,6,0,0,6370,6371,7,24,0,0,6371,6372,7,6,0,0,6372,6373,7,16,0,0,6373,6374,7,8,0,0,6374,6375,7,11,0,0,6375,6376,5,95,0,0,6376,6377,7,4,0,0,6377,6378,7,20,0,0,6378,6379,7,14,0,0,6379,6380,7,5,0,0,6380,6381,7,14,0,0,6381,1034,1,0,0,0,6382,6383,7,20,0,0,6383,6384,7,25,0,0,6384,6385,7,5,0,0,6385,6386,7,6,0,0,6386,6387,7,20,0,0,6387,6388,7,15,0,0,6388,6389,7,14,0,0,6389,1036,1,0,0,0,6390,6391,7,20,0,0,6391,6392,7,12,0,0,6392,6393,7,15,0,0,6393,6394,7,8,0,0,6394,6395,7,11,0,0,6395,1038,1,0,0,0,6396,6397,7,25,0,0,6397,6398,7,3,0,0,6398,6399,7,4,0,0,6399,6400,7,22,0,0,6400,6401,5,95,0,0,6401,6402,7,22,0,0,6402,6403,7,8,0,0,6403,6404,7,13,0,0,6404,6405,7,14,0,0,6405,1040,1,0,0,0,6406,6407,7,25,0,0,6407,6408,7,3,0,0,6408,6409,7,23,0,0,6409,6410,7,8,0,0,6410,1042,1,0,0,0,6411,6412,7,25,0,0,6412,6413,7,3,0,0,6413,6414,7,23,0,0,6414,6415,7,8,0,0,6415,6416,5,95,0,0,6416,6417,7,4,0,0,6417,6418,7,21,0,0,6418,6419,7,8,0,0,6419,6420,7,4,0,0,6420,6421,7,22,0,0,6421,6422,7,14,0,0,6422,6423,7,18,0,0,6423,6424,7,24,0,0,6424,1044,1,0,0,0,6425,6426,7,25,0,0,6426,6427,7,3,0,0,6427,6428,7,23,0,0,6428,6429,7,8,0,0,6429,6430,5,95,0,0,6430,6431,7,4,0,0,6431,6432,7,20,0,0,6432,6433,7,24,0,0,6433,6434,7,25,0,0,6434,6435,7,11,0,0,6435,6436,7,8,0,0,6436,6437,7,14,0,0,6437,6438,7,14,0,0,6438,6439,7,8,0,0,6439,6440,7,9,0,0,6440,1046,1,0,0,0,6441,6442,7,25,0,0,6442,6443,7,3,0,0,6443,6444,7,23,0,0,6444,6445,7,8,0,0,6445,6446,5,95,0,0,6446,6447,7,4,0,0,6447,6448,7,20,0,0,6448,6449,7,24,0,0,6449,6450,7,25,0,0,6450,6451,7,11,0,0,6451,6452,7,8,0,0,6452,6453,7,14,0,0,6453,6454,7,14,0,0,6454,6455,7,6,0,0,6455,6456,7,20,0,0,6456,6457,7,15,0,0,6457,6458,5,95,0,0,6458,6459,7,10,0,0,6459,6460,7,8,0,0,6460,6461,7,7,0,0,6461,6462,7,8,0,0,6462,6463,7,10,0,0,6463,1048,1,0,0,0,6464,6465,7,25,0,0,6465,6466,7,3,0,0,6466,6467,7,11,0,0,6467,6468,7,14,0,0,6468,6469,7,8,0,0,6469,6470,7,11,0,0,6470,1050,1,0,0,0,6471,6472,7,25,0,0,6472,6473,7,3,0,0,6473,6474,7,11,0,0,6474,6475,7,5,0,0,6475,6476,7,6,0,0,6476,6477,7,3,0,0,6477,6478,7,10,0,0,6478,1052,1,0,0,0,6479,6480,7,25,0,0,6480,6481,7,3,0,0,6481,6482,7,11,0,0,6482,6483,7,5,0,0,6483,6484,7,6,0,0,6484,6485,7,5,0,0,6485,6486,7,6,0,0,6486,6487,7,20,0,0,6487,6488,7,15,0,0,6488,6489,7,6,0,0,6489,6490,7,15,0,0,6490,6491,7,23,0,0,6491,1054,1,0,0,0,6492,6493,7,25,0,0,6493,6494,7,3,0,0,6494,6495,7,11,0,0,6495,6496,7,5,0,0,6496,6497,7,6,0,0,6497,6498,7,5,0,0,6498,6499,7,6,0,0,6499,6500,7,20,0,0,6500,6501,7,15,0,0,6501,6502,7,14,0,0,6502,1056,1,0,0,0,6503,6504,7,25,0,0,6504,6505,7,3,0,0,6505,6506,7,14,0,0,6506,6507,7,14,0,0,6507,6508,7,12,0,0,6508,6509,7,20,0,0,6509,6510,7,11,0,0,6510,6511,7,9,0,0,6511,1058,1,0,0,0,6512,6513,7,25,0,0,6513,6514,7,3,0,0,6514,6515,7,14,0,0,6515,6516,7,14,0,0,6516,6517,7,12,0,0,6517,6518,7,20,0,0,6518,6519,7,11,0,0,6519,6520,7,9,0,0,6520,6521,5,95,0,0,6521,6522,7,10,0,0,6522,6523,7,20,0,0,6523,6524,7,4,0,0,6524,6525,7,22,0,0,6525,6526,5,95,0,0,6526,6527,7,5,0,0,6527,6528,7,6,0,0,6528,6529,7,24,0,0,6529,6530,7,8,0,0,6530,1060,1,0,0,0,6531,6532,7,25,0,0,6532,6533,7,8,0,0,6533,6534,7,11,0,0,6534,6535,7,14,0,0,6535,6536,7,6,0,0,6536,6537,7,14,0,0,6537,6538,7,5,0,0,6538,1062,1,0,0,0,6539,6540,7,25,0,0,6540,6541,7,8,0,0,6541,6542,7,11,0,0,6542,6543,7,14,0,0,6543,6544,7,6,0,0,6544,6545,7,14,0,0,6545,6546,7,5,0,0,6546,6547,5,95,0,0,6547,6548,7,20,0,0,6548,6549,7,15,0,0,6549,6550,7,10,0,0,6550,6551,7,13,0,0,6551,1064,1,0,0,0,6552,6553,7,25,0,0,6553,6554,7,21,0,0,6554,6555,7,3,0,0,6555,6556,7,14,0,0,6556,6557,7,8,0,0,6557,1066,1,0,0,0,6558,6559,7,25,0,0,6559,6560,7,10,0,0,6560,6561,7,18,0,0,6561,6562,7,23,0,0,6562,6563,7,6,0,0,6563,6564,7,15,0,0,6564,1068,1,0,0,0,6565,6566,7,25,0,0,6566,6567,7,10,0,0,6567,6568,7,18,0,0,6568,6569,7,23,0,0,6569,6570,7,6,0,0,6570,6571,7,15,0,0,6571,6572,5,95,0,0,6572,6573,7,9,0,0,6573,6574,7,6,0,0,6574,6575,7,11,0,0,6575,1070,1,0,0,0,6576,6577,7,25,0,0,6577,6578,7,10,0,0,6578,6579,7,18,0,0,6579,6580,7,23,0,0,6580,6581,7,6,0,0,6581,6582,7,15,0,0,6582,6583,7,14,0,0,6583,1072,1,0,0,0,6584,6585,7,25,0,0,6585,6586,7,20,0,0,6586,6587,7,11,0,0,6587,6588,7,5,0,0,6588,1074,1,0,0,0,6589,6590,7,25,0,0,6590,6591,7,11,0,0,6591,6592,7,8,0,0,6592,6593,7,4,0,0,6593,6594,7,8,0,0,6594,6595,7,9,0,0,6595,6596,7,8,0,0,6596,6597,7,14,0,0,6597,1076,1,0,0,0,6598,6599,7,25,0,0,6599,6600,7,11,0,0,6600,6601,7,8,0,0,6601,6602,7,4,0,0,6602,6603,7,8,0,0,6603,6604,7,9,0,0,6604,6605,7,6,0,0,6605,6606,7,15,0,0,6606,6607,7,23,0,0,6607,1078,1,0,0,0,6608,6609,7,25,0,0,6609,6610,7,11,0,0,6610,6611,7,8,0,0,6611,6612,7,25,0,0,6612,6613,7,3,0,0,6613,6614,7,11,0,0,6614,6615,7,8,0,0,6615,1080,1,0,0,0,6616,6617,7,25,0,0,6617,6618,7,11,0,0,6618,6619,7,8,0,0,6619,6620,7,14,0,0,6620,6621,7,8,0,0,6621,6622,7,11,0,0,6622,6623,7,7,0,0,6623,6624,7,8,0,0,6624,1082,1,0,0,0,6625,6626,7,25,0,0,6626,6627,7,11,0,0,6627,6628,7,8,0,0,6628,6629,7,7,0,0,6629,1084,1,0,0,0,6630,6631,7,25,0,0,6631,6632,7,11,0,0,6632,6633,7,6,0,0,6633,6634,7,7,0,0,6634,6635,7,6,0,0,6635,6636,7,10,0,0,6636,6637,7,8,0,0,6637,6638,7,23,0,0,6638,6639,7,8,0,0,6639,6640,5,95,0,0,6640,6641,7,4,0,0,6641,6642,7,21,0,0,6642,6643,7,8,0,0,6643,6644,7,4,0,0,6644,6645,7,22,0,0,6645,6646,7,14,0,0,6646,6647,5,95,0,0,6647,6648,7,18,0,0,6648,6649,7,14,0,0,6649,6650,7,8,0,0,6650,6651,7,11,0,0,6651,1086,1,0,0,0,6652,6653,7,25,0,0,6653,6654,7,11,0,0,6654,6655,7,20,0,0,6655,6656,7,4,0,0,6656,6657,7,8,0,0,6657,6658,7,14,0,0,6658,6659,7,14,0,0,6659,6660,7,10,0,0,6660,6661,7,6,0,0,6661,6662,7,14,0,0,6662,6663,7,5,0,0,6663,1088,1,0,0,0,6664,6665,7,25,0,0,6665,6666,7,11,0,0,6666,6667,7,20,0,0,6667,6668,7,19,0,0,6668,6669,7,6,0,0,6669,6670,7,10,0,0,6670,6671,7,8,0,0,6671,1090,1,0,0,0,6672,6673,7,25,0,0,6673,6674,7,11,0,0,6674,6675,7,20,0,0,6675,6676,7,19,0,0,6676,6677,7,6,0,0,6677,6678,7,10,0,0,6678,6679,7,8,0,0,6679,6680,7,14,0,0,6680,1092,1,0,0,0,6681,6682,7,25,0,0,6682,6683,7,11,0,0,6683,6684,7,20,0,0,6684,6685,7,26,0,0,6685,6686,7,13,0,0,6686,1094,1,0,0,0,6687,6688,7,28,0,0,6688,6689,7,18,0,0,6689,6690,7,8,0,0,6690,6691,7,11,0,0,6691,6692,7,13,0,0,6692,1096,1,0,0,0,6693,6694,7,28,0,0,6694,6695,7,18,0,0,6695,6696,7,6,0,0,6696,6697,7,4,0,0,6697,6698,7,22,0,0,6698,1098,1,0,0,0,6699,6700,7,11,0,0,6700,6701,7,8,0,0,6701,6702,7,17,0,0,6702,6703,7,18,0,0,6703,6704,7,6,0,0,6704,6705,7,10,0,0,6705,6706,7,9,0,0,6706,1100,1,0,0,0,6707,6708,7,11,0,0,6708,6709,7,8,0,0,6709,6710,7,4,0,0,6710,6711,7,20,0,0,6711,6712,7,7,0,0,6712,6713,7,8,0,0,6713,6714,7,11,0,0,6714,1102,1,0,0,0,6715,6716,7,11,0,0,6716,6717,7,8,0,0,6717,6718,7,4,0,0,6718,6719,7,18,0,0,6719,6720,7,11,0,0,6720,6721,7,14,0,0,6721,6722,7,6,0,0,6722,6723,7,7,0,0,6723,6724,7,8,0,0,6724,1104,1,0,0,0,6725,6726,7,11,0,0,6726,6727,7,8,0,0,6727,6728,7,9,0,0,6728,6729,7,20,0,0,6729,6730,5,95,0,0,6730,6731,7,17,0,0,6731,6732,7,18,0,0,6732,6733,7,19,0,0,6733,6734,7,19,0,0,6734,6735,7,8,0,0,6735,6736,7,11,0,0,6736,6737,5,95,0,0,6737,6738,7,14,0,0,6738,6739,7,6,0,0,6739,6740,7,16,0,0,6740,6741,7,8,0,0,6741,1106,1,0,0,0,6742,6743,7,11,0,0,6743,6744,7,8,0,0,6744,6745,7,9,0,0,6745,6746,7,18,0,0,6746,6747,7,15,0,0,6747,6748,7,9,0,0,6748,6749,7,3,0,0,6749,6750,7,15,0,0,6750,6751,7,5,0,0,6751,1108,1,0,0,0,6752,6753,7,11,0,0,6753,6754,7,8,0,0,6754,6755,7,23,0,0,6755,6756,7,6,0,0,6756,6757,7,14,0,0,6757,6758,7,5,0,0,6758,6759,7,11,0,0,6759,6760,7,3,0,0,6760,6761,7,5,0,0,6761,6762,7,6,0,0,6762,6763,7,20,0,0,6763,6764,7,15,0,0,6764,1110,1,0,0,0,6765,6766,7,11,0,0,6766,6767,7,8,0,0,6767,6768,7,10,0,0,6768,6769,7,3,0,0,6769,6770,7,13,0,0,6770,1112,1,0,0,0,6771,6772,7,11,0,0,6772,6773,7,8,0,0,6773,6774,7,10,0,0,6774,6775,7,3,0,0,6775,6776,7,13,0,0,6776,6777,5,95,0,0,6777,6778,7,10,0,0,6778,6779,7,20,0,0,6779,6780,7,23,0,0,6780,6781,5,95,0,0,6781,6782,7,19,0,0,6782,6783,7,6,0,0,6783,6784,7,10,0,0,6784,6785,7,8,0,0,6785,1114,1,0,0,0,6786,6787,7,11,0,0,6787,6788,7,8,0,0,6788,6789,7,10,0,0,6789,6790,7,3,0,0,6790,6791,7,13,0,0,6791,6792,5,95,0,0,6792,6793,7,10,0,0,6793,6794,7,20,0,0,6794,6795,7,23,0,0,6795,6796,5,95,0,0,6796,6797,7,25,0,0,6797,6798,7,20,0,0,6798,6799,7,14,0,0,6799,1116,1,0,0,0,6800,6801,7,11,0,0,6801,6802,7,8,0,0,6802,6803,7,10,0,0,6803,6804,7,3,0,0,6804,6805,7,13,0,0,6805,6806,7,10,0,0,6806,6807,7,20,0,0,6807,6808,7,23,0,0,6808,1118,1,0,0,0,6809,6810,7,11,0,0,6810,6811,7,8,0,0,6811,6812,7,24,0,0,6812,6813,7,20,0,0,6813,6814,7,7,0,0,6814,6815,7,8,0,0,6815,1120,1,0,0,0,6816,6817,7,11,0,0,6817,6818,7,8,0,0,6818,6819,7,20,0,0,6819,6820,7,11,0,0,6820,6821,7,23,0,0,6821,6822,7,3,0,0,6822,6823,7,15,0,0,6823,6824,7,6,0,0,6824,6825,7,16,0,0,6825,6826,7,8,0,0,6826,1122,1,0,0,0,6827,6828,7,11,0,0,6828,6829,7,8,0,0,6829,6830,7,25,0,0,6830,6831,7,3,0,0,6831,6832,7,6,0,0,6832,6833,7,11,0,0,6833,1124,1,0,0,0,6834,6835,7,11,0,0,6835,6836,7,8,0,0,6836,6837,7,25,0,0,6837,6838,7,10,0,0,6838,6839,7,6,0,0,6839,6840,7,4,0,0,6840,6841,7,3,0,0,6841,1126,1,0,0,0,6842,6843,7,11,0,0,6843,6844,7,8,0,0,6844,6845,7,25,0,0,6845,6846,7,10,0,0,6846,6847,7,6,0,0,6847,6848,7,4,0,0,6848,6849,7,3,0,0,6849,6850,7,14,0,0,6850,1128,1,0,0,0,6851,6852,7,11,0,0,6852,6853,7,8,0,0,6853,6854,7,25,0,0,6854,6855,7,10,0,0,6855,6856,7,6,0,0,6856,6857,7,4,0,0,6857,6858,7,3,0,0,6858,6859,7,5,0,0,6859,6860,7,8,0,0,6860,6861,5,95,0,0,6861,6862,7,9,0,0,6862,6863,7,20,0,0,6863,6864,5,95,0,0,6864,6865,7,9,0,0,6865,6866,7,17,0,0,6866,1130,1,0,0,0,6867,6868,7,11,0,0,6868,6869,7,8,0,0,6869,6870,7,25,0,0,6870,6871,7,10,0,0,6871,6872,7,6,0,0,6872,6873,7,4,0,0,6873,6874,7,3,0,0,6874,6875,7,5,0,0,6875,6876,7,8,0,0,6876,6877,5,95,0,0,6877,6878,7,9,0,0,6878,6879,7,20,0,0,6879,6880,5,95,0,0,6880,6881,7,5,0,0,6881,6882,7,3,0,0,6882,6883,7,17,0,0,6883,6884,7,10,0,0,6884,6885,7,8,0,0,6885,1132,1,0,0,0,6886,6887,7,11,0,0,6887,6888,7,8,0,0,6888,6889,7,25,0,0,6889,6890,7,10,0,0,6890,6891,7,6,0,0,6891,6892,7,4,0,0,6892,6893,7,3,0,0,6893,6894,7,5,0,0,6894,6895,7,8,0,0,6895,6896,5,95,0,0,6896,6897,7,6,0,0,6897,6898,7,23,0,0,6898,6899,7,15,0,0,6899,6900,7,20,0,0,6900,6901,7,11,0,0,6901,6902,7,8,0,0,6902,6903,5,95,0,0,6903,6904,7,9,0,0,6904,6905,7,17,0,0,6905,1134,1,0,0,0,6906,6907,7,11,0,0,6907,6908,7,8,0,0,6908,6909,7,25,0,0,6909,6910,7,10,0,0,6910,6911,7,6,0,0,6911,6912,7,4,0,0,6912,6913,7,3,0,0,6913,6914,7,5,0,0,6914,6915,7,8,0,0,6915,6916,5,95,0,0,6916,6917,7,6,0,0,6917,6918,7,23,0,0,6918,6919,7,15,0,0,6919,6920,7,20,0,0,6920,6921,7,11,0,0,6921,6922,7,8,0,0,6922,6923,5,95,0,0,6923,6924,7,5,0,0,6924,6925,7,3,0,0,6925,6926,7,17,0,0,6926,6927,7,10,0,0,6927,6928,7,8,0,0,6928,1136,1,0,0,0,6929,6930,7,11,0,0,6930,6931,7,8,0,0,6931,6932,7,25,0,0,6932,6933,7,10,0,0,6933,6934,7,6,0,0,6934,6935,7,4,0,0,6935,6936,7,3,0,0,6936,6937,7,5,0,0,6937,6938,7,8,0,0,6938,6939,5,95,0,0,6939,6940,7,11,0,0,6940,6941,7,8,0,0,6941,6942,7,12,0,0,6942,6943,7,11,0,0,6943,6944,7,6,0,0,6944,6945,7,5,0,0,6945,6946,7,8,0,0,6946,6947,5,95,0,0,6947,6948,7,9,0,0,6948,6949,7,17,0,0,6949,1138,1,0,0,0,6950,6951,7,11,0,0,6951,6952,7,8,0,0,6952,6953,7,25,0,0,6953,6954,7,10,0,0,6954,6955,7,6,0,0,6955,6956,7,4,0,0,6956,6957,7,3,0,0,6957,6958,7,5,0,0,6958,6959,7,8,0,0,6959,6960,5,95,0,0,6960,6961,7,12,0,0,6961,6962,7,6,0,0,6962,6963,7,10,0,0,6963,6964,7,9,0,0,6964,6965,5,95,0,0,6965,6966,7,9,0,0,6966,6967,7,20,0,0,6967,6968,5,95,0,0,6968,6969,7,5,0,0,6969,6970,7,3,0,0,6970,6971,7,17,0,0,6971,6972,7,10,0,0,6972,6973,7,8,0,0,6973,1140,1,0,0,0,6974,6975,7,11,0,0,6975,6976,7,8,0,0,6976,6977,7,25,0,0,6977,6978,7,10,0,0,6978,6979,7,6,0,0,6979,6980,7,4,0,0,6980,6981,7,3,0,0,6981,6982,7,5,0,0,6982,6983,7,8,0,0,6983,6984,5,95,0,0,6984,6985,7,12,0,0,6985,6986,7,6,0,0,6986,6987,7,10,0,0,6987,6988,7,9,0,0,6988,6989,5,95,0,0,6989,6990,7,6,0,0,6990,6991,7,23,0,0,6991,6992,7,15,0,0,6992,6993,7,20,0,0,6993,6994,7,11,0,0,6994,6995,7,8,0,0,6995,6996,5,95,0,0,6996,6997,7,5,0,0,6997,6998,7,3,0,0,6998,6999,7,17,0,0,6999,7e3,7,10,0,0,7e3,7001,7,8,0,0,7001,1142,1,0,0,0,7002,7003,7,11,0,0,7003,7004,7,8,0,0,7004,7005,7,25,0,0,7005,7006,7,10,0,0,7006,7007,7,6,0,0,7007,7008,7,4,0,0,7008,7009,7,3,0,0,7009,7010,7,5,0,0,7010,7011,7,6,0,0,7011,7012,7,20,0,0,7012,7013,7,15,0,0,7013,1144,1,0,0,0,7014,7015,7,11,0,0,7015,7016,7,8,0,0,7016,7017,7,28,0,0,7017,7018,7,18,0,0,7018,7019,7,6,0,0,7019,7020,7,11,0,0,7020,7021,7,8,0,0,7021,7022,5,95,0,0,7022,7023,7,11,0,0,7023,7024,7,20,0,0,7024,7025,7,12,0,0,7025,7026,5,95,0,0,7026,7027,7,19,0,0,7027,7028,7,20,0,0,7028,7029,7,11,0,0,7029,7030,7,24,0,0,7030,7031,7,3,0,0,7031,7032,7,5,0,0,7032,1146,1,0,0,0,7033,7034,7,11,0,0,7034,7035,7,8,0,0,7035,7036,7,28,0,0,7036,7037,7,18,0,0,7037,7038,7,6,0,0,7038,7039,7,11,0,0,7039,7040,7,8,0,0,7040,7041,5,95,0,0,7041,7042,7,5,0,0,7042,7043,7,3,0,0,7043,7044,7,17,0,0,7044,7045,7,10,0,0,7045,7046,7,8,0,0,7046,7047,5,95,0,0,7047,7048,7,25,0,0,7048,7049,7,11,0,0,7049,7050,7,6,0,0,7050,7051,7,24,0,0,7051,7052,7,3,0,0,7052,7053,7,11,0,0,7053,7054,7,13,0,0,7054,7055,5,95,0,0,7055,7056,7,22,0,0,7056,7057,7,8,0,0,7057,7058,7,13,0,0,7058,7059,5,95,0,0,7059,7060,7,4,0,0,7060,7061,7,21,0,0,7061,7062,7,8,0,0,7062,7063,7,4,0,0,7063,7064,7,22,0,0,7064,1148,1,0,0,0,7065,7066,7,11,0,0,7066,7067,7,8,0,0,7067,7068,7,14,0,0,7068,7069,7,8,0,0,7069,7070,7,5,0,0,7070,1150,1,0,0,0,7071,7072,7,11,0,0,7072,7073,7,8,0,0,7073,7074,7,14,0,0,7074,7075,7,5,0,0,7075,7076,7,3,0,0,7076,7077,7,11,0,0,7077,7078,7,5,0,0,7078,1152,1,0,0,0,7079,7080,7,11,0,0,7080,7081,7,8,0,0,7081,7082,7,14,0,0,7082,7083,7,18,0,0,7083,7084,7,24,0,0,7084,7085,7,8,0,0,7085,1154,1,0,0,0,7086,7087,7,11,0,0,7087,7088,7,8,0,0,7088,7089,7,5,0,0,7089,7090,7,18,0,0,7090,7091,7,11,0,0,7091,7092,7,15,0,0,7092,7093,7,8,0,0,7093,7094,7,9,0,0,7094,7095,5,95,0,0,7095,7096,7,14,0,0,7096,7097,7,28,0,0,7097,7098,7,10,0,0,7098,7099,7,14,0,0,7099,7100,7,5,0,0,7100,7101,7,3,0,0,7101,7102,7,5,0,0,7102,7103,7,8,0,0,7103,1156,1,0,0,0,7104,7105,7,11,0,0,7105,7106,7,8,0,0,7106,7107,7,5,0,0,7107,7108,7,18,0,0,7108,7109,7,11,0,0,7109,7110,7,15,0,0,7110,7111,7,6,0,0,7111,7112,7,15,0,0,7112,7113,7,23,0,0,7113,1158,1,0,0,0,7114,7115,7,11,0,0,7115,7116,7,8,0,0,7116,7117,7,5,0,0,7117,7118,7,18,0,0,7118,7119,7,11,0,0,7119,7120,7,15,0,0,7120,7121,7,14,0,0,7121,1160,1,0,0,0,7122,7123,7,11,0,0,7123,7124,7,8,0,0,7124,7125,7,18,0,0,7125,7126,7,14,0,0,7126,7127,7,8,0,0,7127,1162,1,0,0,0,7128,7129,7,11,0,0,7129,7130,7,20,0,0,7130,7131,7,10,0,0,7131,7132,7,8,0,0,7132,1164,1,0,0,0,7133,7134,7,11,0,0,7134,7135,7,20,0,0,7135,7136,7,10,0,0,7136,7137,7,10,0,0,7137,7138,7,17,0,0,7138,7139,7,3,0,0,7139,7140,7,4,0,0,7140,7141,7,22,0,0,7141,1166,1,0,0,0,7142,7143,7,11,0,0,7143,7144,7,20,0,0,7144,7145,7,10,0,0,7145,7146,7,10,0,0,7146,7147,7,18,0,0,7147,7148,7,25,0,0,7148,1168,1,0,0,0,7149,7150,7,11,0,0,7150,7151,7,20,0,0,7151,7152,7,5,0,0,7152,7153,7,3,0,0,7153,7154,7,5,0,0,7154,7155,7,8,0,0,7155,1170,1,0,0,0,7156,7157,7,11,0,0,7157,7158,7,20,0,0,7158,7159,7,12,0,0,7159,1172,1,0,0,0,7160,7161,7,11,0,0,7161,7162,7,20,0,0,7162,7163,7,12,0,0,7163,7164,7,14,0,0,7164,1174,1,0,0,0,7165,7166,7,11,0,0,7166,7167,7,20,0,0,7167,7168,7,12,0,0,7168,7169,5,95,0,0,7169,7170,7,19,0,0,7170,7171,7,20,0,0,7171,7172,7,11,0,0,7172,7173,7,24,0,0,7173,7174,7,3,0,0,7174,7175,7,5,0,0,7175,1176,1,0,0,0,7176,7177,7,14,0,0,7177,7178,7,3,0,0,7178,7179,7,7,0,0,7179,7180,7,8,0,0,7180,7181,7,25,0,0,7181,7182,7,20,0,0,7182,7183,7,6,0,0,7183,7184,7,15,0,0,7184,7185,7,5,0,0,7185,1178,1,0,0,0,7186,7187,7,14,0,0,7187,7188,7,4,0,0,7188,7189,7,21,0,0,7189,7190,7,8,0,0,7190,7191,7,9,0,0,7191,7192,7,18,0,0,7192,7193,7,10,0,0,7193,7194,7,8,0,0,7194,1180,1,0,0,0,7195,7196,7,14,0,0,7196,7197,7,8,0,0,7197,7198,7,4,0,0,7198,7199,7,18,0,0,7199,7200,7,11,0,0,7200,7201,7,6,0,0,7201,7202,7,5,0,0,7202,7203,7,13,0,0,7203,1182,1,0,0,0,7204,7205,7,14,0,0,7205,7206,7,8,0,0,7206,7207,7,11,0,0,7207,7208,7,7,0,0,7208,7209,7,8,0,0,7209,7210,7,11,0,0,7210,1184,1,0,0,0,7211,7212,7,14,0,0,7212,7213,7,8,0,0,7213,7214,7,14,0,0,7214,7215,7,14,0,0,7215,7216,7,6,0,0,7216,7217,7,20,0,0,7217,7218,7,15,0,0,7218,1186,1,0,0,0,7219,7220,7,14,0,0,7220,7221,7,21,0,0,7221,7222,7,3,0,0,7222,7223,7,11,0,0,7223,7224,7,8,0,0,7224,1188,1,0,0,0,7225,7226,7,14,0,0,7226,7227,7,21,0,0,7227,7228,7,3,0,0,7228,7229,7,11,0,0,7229,7230,7,8,0,0,7230,7231,7,9,0,0,7231,1190,1,0,0,0,7232,7233,7,14,0,0,7233,7234,7,6,0,0,7234,7235,7,23,0,0,7235,7236,7,15,0,0,7236,7237,7,8,0,0,7237,7238,7,9,0,0,7238,1192,1,0,0,0,7239,7240,7,14,0,0,7240,7241,7,6,0,0,7241,7242,7,24,0,0,7242,7243,7,25,0,0,7243,7244,7,10,0,0,7244,7245,7,8,0,0,7245,1194,1,0,0,0,7246,7247,7,14,0,0,7247,7248,7,10,0,0,7248,7249,7,3,0,0,7249,7250,7,7,0,0,7250,7251,7,8,0,0,7251,1196,1,0,0,0,7252,7253,7,14,0,0,7253,7254,7,10,0,0,7254,7255,7,20,0,0,7255,7256,7,12,0,0,7256,1198,1,0,0,0,7257,7258,7,14,0,0,7258,7259,7,15,0,0,7259,7260,7,3,0,0,7260,7261,7,25,0,0,7261,7262,7,14,0,0,7262,7263,7,21,0,0,7263,7264,7,20,0,0,7264,7265,7,5,0,0,7265,1200,1,0,0,0,7266,7267,7,14,0,0,7267,7268,7,20,0,0,7268,7269,7,4,0,0,7269,7270,7,22,0,0,7270,7271,7,8,0,0,7271,7272,7,5,0,0,7272,1202,1,0,0,0,7273,7274,7,14,0,0,7274,7275,7,20,0,0,7275,7276,7,24,0,0,7276,7277,7,8,0,0,7277,1204,1,0,0,0,7278,7279,7,14,0,0,7279,7280,7,20,0,0,7280,7281,7,15,0,0,7281,7282,7,3,0,0,7282,7283,7,24,0,0,7283,7284,7,8,0,0,7284,1206,1,0,0,0,7285,7286,7,14,0,0,7286,7287,7,20,0,0,7287,7288,7,18,0,0,7288,7289,7,15,0,0,7289,7290,7,9,0,0,7290,7291,7,14,0,0,7291,1208,1,0,0,0,7292,7293,7,14,0,0,7293,7294,7,20,0,0,7294,7295,7,18,0,0,7295,7296,7,11,0,0,7296,7297,7,4,0,0,7297,7298,7,8,0,0,7298,1210,1,0,0,0,7299,7300,7,14,0,0,7300,7301,7,20,0,0,7301,7302,7,18,0,0,7302,7303,7,11,0,0,7303,7304,7,4,0,0,7304,7305,7,8,0,0,7305,7306,5,95,0,0,7306,7307,7,17,0,0,7307,7308,7,6,0,0,7308,7309,7,15,0,0,7309,7310,7,9,0,0,7310,1212,1,0,0,0,7311,7312,7,14,0,0,7312,7313,7,20,0,0,7313,7314,7,18,0,0,7314,7315,7,11,0,0,7315,7316,7,4,0,0,7316,7317,7,8,0,0,7317,7318,5,95,0,0,7318,7319,7,21,0,0,7319,7320,7,20,0,0,7320,7321,7,14,0,0,7321,7322,7,5,0,0,7322,1214,1,0,0,0,7323,7324,7,14,0,0,7324,7325,7,20,0,0,7325,7326,7,18,0,0,7326,7327,7,11,0,0,7327,7328,7,4,0,0,7328,7329,7,8,0,0,7329,7330,5,95,0,0,7330,7331,7,18,0,0,7331,7332,7,14,0,0,7332,7333,7,8,0,0,7333,7334,7,11,0,0,7334,1216,1,0,0,0,7335,7336,7,14,0,0,7336,7337,7,20,0,0,7337,7338,7,18,0,0,7338,7339,7,11,0,0,7339,7340,7,4,0,0,7340,7341,7,8,0,0,7341,7342,5,95,0,0,7342,7343,7,25,0,0,7343,7344,7,3,0,0,7344,7345,7,14,0,0,7345,7346,7,14,0,0,7346,7347,7,12,0,0,7347,7348,7,20,0,0,7348,7349,7,11,0,0,7349,7350,7,9,0,0,7350,1218,1,0,0,0,7351,7352,7,14,0,0,7352,7353,7,20,0,0,7353,7354,7,18,0,0,7354,7355,7,11,0,0,7355,7356,7,4,0,0,7356,7357,7,8,0,0,7357,7358,5,95,0,0,7358,7359,7,25,0,0,7359,7360,7,20,0,0,7360,7361,7,11,0,0,7361,7362,7,5,0,0,7362,1220,1,0,0,0,7363,7364,7,14,0,0,7364,7365,7,20,0,0,7365,7366,7,18,0,0,7366,7367,7,11,0,0,7367,7368,7,4,0,0,7368,7369,7,8,0,0,7369,7370,5,95,0,0,7370,7371,7,10,0,0,7371,7372,7,20,0,0,7372,7373,7,23,0,0,7373,7374,5,95,0,0,7374,7375,7,19,0,0,7375,7376,7,6,0,0,7376,7377,7,10,0,0,7377,7378,7,8,0,0,7378,1222,1,0,0,0,7379,7380,7,14,0,0,7380,7381,7,20,0,0,7381,7382,7,18,0,0,7382,7383,7,11,0,0,7383,7384,7,4,0,0,7384,7385,7,8,0,0,7385,7386,5,95,0,0,7386,7387,7,10,0,0,7387,7388,7,20,0,0,7388,7389,7,23,0,0,7389,7390,5,95,0,0,7390,7391,7,25,0,0,7391,7392,7,20,0,0,7392,7393,7,14,0,0,7393,1224,1,0,0,0,7394,7395,7,14,0,0,7395,7396,7,20,0,0,7396,7397,7,18,0,0,7397,7398,7,11,0,0,7398,7399,7,4,0,0,7399,7400,7,8,0,0,7400,7401,5,95,0,0,7401,7402,7,3,0,0,7402,7403,7,18,0,0,7403,7404,7,5,0,0,7404,7405,7,20,0,0,7405,7406,5,95,0,0,7406,7407,7,25,0,0,7407,7408,7,20,0,0,7408,7409,7,14,0,0,7409,7410,7,6,0,0,7410,7411,7,5,0,0,7411,7412,7,6,0,0,7412,7413,7,20,0,0,7413,7414,7,15,0,0,7414,1226,1,0,0,0,7415,7416,7,14,0,0,7416,7417,7,20,0,0,7417,7418,7,18,0,0,7418,7419,7,11,0,0,7419,7420,7,4,0,0,7420,7421,7,8,0,0,7421,7422,5,95,0,0,7422,7423,7,21,0,0,7423,7424,7,8,0,0,7424,7425,7,3,0,0,7425,7426,7,11,0,0,7426,7427,7,5,0,0,7427,7428,7,17,0,0,7428,7429,7,8,0,0,7429,7430,7,3,0,0,7430,7431,7,5,0,0,7431,7432,5,95,0,0,7432,7433,7,25,0,0,7433,7434,7,8,0,0,7434,7435,7,11,0,0,7435,7436,7,6,0,0,7436,7437,7,20,0,0,7437,7438,7,9,0,0,7438,1228,1,0,0,0,7439,7440,7,14,0,0,7440,7441,7,20,0,0,7441,7442,7,18,0,0,7442,7443,7,11,0,0,7443,7444,7,4,0,0,7444,7445,7,8,0,0,7445,7446,5,95,0,0,7446,7447,7,4,0,0,7447,7448,7,20,0,0,7448,7449,7,15,0,0,7449,7450,7,15,0,0,7450,7451,7,8,0,0,7451,7452,7,4,0,0,7452,7453,7,5,0,0,7453,7454,5,95,0,0,7454,7455,7,11,0,0,7455,7456,7,8,0,0,7456,7457,7,5,0,0,7457,7458,7,11,0,0,7458,7459,7,13,0,0,7459,1230,1,0,0,0,7460,7461,7,14,0,0,7461,7462,7,20,0,0,7462,7463,7,18,0,0,7463,7464,7,11,0,0,7464,7465,7,4,0,0,7465,7466,7,8,0,0,7466,7467,5,95,0,0,7467,7468,7,11,0,0,7468,7469,7,8,0,0,7469,7470,7,5,0,0,7470,7471,7,11,0,0,7471,7472,7,13,0,0,7472,7473,5,95,0,0,7473,7474,7,4,0,0,7474,7475,7,20,0,0,7475,7476,7,18,0,0,7476,7477,7,15,0,0,7477,7478,7,5,0,0,7478,1232,1,0,0,0,7479,7480,7,14,0,0,7480,7481,7,20,0,0,7481,7482,7,18,0,0,7482,7483,7,11,0,0,7483,7484,7,4,0,0,7484,7485,7,8,0,0,7485,7486,5,95,0,0,7486,7487,7,4,0,0,7487,7488,7,20,0,0,7488,7489,7,15,0,0,7489,7490,7,15,0,0,7490,7491,7,8,0,0,7491,7492,7,4,0,0,7492,7493,7,5,0,0,7493,7494,7,6,0,0,7494,7495,7,20,0,0,7495,7496,7,15,0,0,7496,7497,5,95,0,0,7497,7498,7,3,0,0,7498,7499,7,18,0,0,7499,7500,7,5,0,0,7500,7501,7,20,0,0,7501,7502,5,95,0,0,7502,7503,7,19,0,0,7503,7504,7,3,0,0,7504,7505,7,6,0,0,7505,7506,7,10,0,0,7506,7507,7,20,0,0,7507,7508,7,7,0,0,7508,7509,7,8,0,0,7509,7510,7,11,0,0,7510,1234,1,0,0,0,7511,7512,7,14,0,0,7512,7513,7,20,0,0,7513,7514,7,18,0,0,7514,7515,7,11,0,0,7515,7516,7,4,0,0,7516,7517,7,8,0,0,7517,7518,5,95,0,0,7518,7519,7,9,0,0,7519,7520,7,8,0,0,7520,7521,7,10,0,0,7521,7522,7,3,0,0,7522,7523,7,13,0,0,7523,1236,1,0,0,0,7524,7525,7,14,0,0,7525,7526,7,20,0,0,7526,7527,7,18,0,0,7527,7528,7,11,0,0,7528,7529,7,4,0,0,7529,7530,7,8,0,0,7530,7531,5,95,0,0,7531,7532,7,4,0,0,7532,7533,7,20,0,0,7533,7534,7,24,0,0,7534,7535,7,25,0,0,7535,7536,7,11,0,0,7536,7537,7,8,0,0,7537,7538,7,14,0,0,7538,7539,7,14,0,0,7539,7540,7,6,0,0,7540,7541,7,20,0,0,7541,7542,7,15,0,0,7542,7543,5,95,0,0,7543,7544,7,3,0,0,7544,7545,7,10,0,0,7545,7546,7,23,0,0,7546,7547,7,20,0,0,7547,7548,7,11,0,0,7548,7549,7,6,0,0,7549,7550,7,5,0,0,7550,7551,7,21,0,0,7551,7552,7,24,0,0,7552,7553,7,14,0,0,7553,1238,1,0,0,0,7554,7555,7,14,0,0,7555,7556,7,20,0,0,7556,7557,7,18,0,0,7557,7558,7,11,0,0,7558,7559,7,4,0,0,7559,7560,7,8,0,0,7560,7561,5,95,0,0,7561,7562,7,16,0,0,7562,7563,7,14,0,0,7563,7564,7,5,0,0,7564,7565,7,9,0,0,7565,7566,5,95,0,0,7566,7567,7,4,0,0,7567,7568,7,20,0,0,7568,7569,7,24,0,0,7569,7570,7,25,0,0,7570,7571,7,11,0,0,7571,7572,7,8,0,0,7572,7573,7,14,0,0,7573,7574,7,14,0,0,7574,7575,7,6,0,0,7575,7576,7,20,0,0,7576,7577,7,15,0,0,7577,7578,5,95,0,0,7578,7579,7,10,0,0,7579,7580,7,8,0,0,7580,7581,7,7,0,0,7581,7582,7,8,0,0,7582,7583,7,10,0,0,7583,1240,1,0,0,0,7584,7585,7,14,0,0,7585,7586,7,20,0,0,7586,7587,7,18,0,0,7587,7588,7,11,0,0,7588,7589,7,4,0,0,7589,7590,7,8,0,0,7590,7591,5,95,0,0,7591,7592,7,14,0,0,7592,7593,7,14,0,0,7593,7594,7,10,0,0,7594,1242,1,0,0,0,7595,7596,7,14,0,0,7596,7597,7,20,0,0,7597,7598,7,18,0,0,7598,7599,7,11,0,0,7599,7600,7,4,0,0,7600,7601,7,8,0,0,7601,7602,5,95,0,0,7602,7603,7,14,0,0,7603,7604,7,14,0,0,7604,7605,7,10,0,0,7605,7606,5,95,0,0,7606,7607,7,4,0,0,7607,7608,7,3,0,0,7608,1244,1,0,0,0,7609,7610,7,14,0,0,7610,7611,7,20,0,0,7611,7612,7,18,0,0,7612,7613,7,11,0,0,7613,7614,7,4,0,0,7614,7615,7,8,0,0,7615,7616,5,95,0,0,7616,7617,7,14,0,0,7617,7618,7,14,0,0,7618,7619,7,10,0,0,7619,7620,5,95,0,0,7620,7621,7,4,0,0,7621,7622,7,3,0,0,7622,7623,7,25,0,0,7623,7624,7,3,0,0,7624,7625,7,5,0,0,7625,7626,7,21,0,0,7626,1246,1,0,0,0,7627,7628,7,14,0,0,7628,7629,7,20,0,0,7629,7630,7,18,0,0,7630,7631,7,11,0,0,7631,7632,7,4,0,0,7632,7633,7,8,0,0,7633,7634,5,95,0,0,7634,7635,7,14,0,0,7635,7636,7,14,0,0,7636,7637,7,10,0,0,7637,7638,5,95,0,0,7638,7639,7,4,0,0,7639,7640,7,8,0,0,7640,7641,7,11,0,0,7641,7642,7,5,0,0,7642,1248,1,0,0,0,7643,7644,7,14,0,0,7644,7645,7,20,0,0,7645,7646,7,18,0,0,7646,7647,7,11,0,0,7647,7648,7,4,0,0,7648,7649,7,8,0,0,7649,7650,5,95,0,0,7650,7651,7,14,0,0,7651,7652,7,14,0,0,7652,7653,7,10,0,0,7653,7654,5,95,0,0,7654,7655,7,4,0,0,7655,7656,7,11,0,0,7656,7657,7,10,0,0,7657,1250,1,0,0,0,7658,7659,7,14,0,0,7659,7660,7,20,0,0,7660,7661,7,18,0,0,7661,7662,7,11,0,0,7662,7663,7,4,0,0,7663,7664,7,8,0,0,7664,7665,5,95,0,0,7665,7666,7,14,0,0,7666,7667,7,14,0,0,7667,7668,7,10,0,0,7668,7669,5,95,0,0,7669,7670,7,4,0,0,7670,7671,7,11,0,0,7671,7672,7,10,0,0,7672,7673,7,25,0,0,7673,7674,7,3,0,0,7674,7675,7,5,0,0,7675,7676,7,21,0,0,7676,1252,1,0,0,0,7677,7678,7,14,0,0,7678,7679,7,20,0,0,7679,7680,7,18,0,0,7680,7681,7,11,0,0,7681,7682,7,4,0,0,7682,7683,7,8,0,0,7683,7684,5,95,0,0,7684,7685,7,14,0,0,7685,7686,7,14,0,0,7686,7687,7,10,0,0,7687,7688,5,95,0,0,7688,7689,7,22,0,0,7689,7690,7,8,0,0,7690,7691,7,13,0,0,7691,1254,1,0,0,0,7692,7693,7,14,0,0,7693,7694,7,20,0,0,7694,7695,7,18,0,0,7695,7696,7,11,0,0,7696,7697,7,4,0,0,7697,7698,7,8,0,0,7698,7699,5,95,0,0,7699,7700,7,14,0,0,7700,7701,7,14,0,0,7701,7702,7,10,0,0,7702,7703,5,95,0,0,7703,7704,7,4,0,0,7704,7705,7,6,0,0,7705,7706,7,25,0,0,7706,7707,7,21,0,0,7707,7708,7,8,0,0,7708,7709,7,11,0,0,7709,1256,1,0,0,0,7710,7711,7,14,0,0,7711,7712,7,20,0,0,7712,7713,7,18,0,0,7713,7714,7,11,0,0,7714,7715,7,4,0,0,7715,7716,7,8,0,0,7716,7717,5,95,0,0,7717,7718,7,14,0,0,7718,7719,7,14,0,0,7719,7720,7,10,0,0,7720,7721,5,95,0,0,7721,7722,7,7,0,0,7722,7723,7,8,0,0,7723,7724,7,11,0,0,7724,7725,7,6,0,0,7725,7726,7,19,0,0,7726,7727,7,13,0,0,7727,7728,5,95,0,0,7728,7729,7,14,0,0,7729,7730,7,8,0,0,7730,7731,7,11,0,0,7731,7732,7,7,0,0,7732,7733,7,8,0,0,7733,7734,7,11,0,0,7734,7735,5,95,0,0,7735,7736,7,4,0,0,7736,7737,7,8,0,0,7737,7738,7,11,0,0,7738,7739,7,5,0,0,7739,1258,1,0,0,0,7740,7741,7,14,0,0,7741,7742,7,20,0,0,7742,7743,7,18,0,0,7743,7744,7,11,0,0,7744,7745,7,4,0,0,7745,7746,7,8,0,0,7746,7747,5,95,0,0,7747,7748,7,5,0,0,7748,7749,7,10,0,0,7749,7750,7,14,0,0,7750,7751,5,95,0,0,7751,7752,7,7,0,0,7752,7753,7,8,0,0,7753,7754,7,11,0,0,7754,7755,7,14,0,0,7755,7756,7,6,0,0,7756,7757,7,20,0,0,7757,7758,7,15,0,0,7758,1260,1,0,0,0,7759,7760,7,14,0,0,7760,7761,7,20,0,0,7761,7762,7,18,0,0,7762,7763,7,11,0,0,7763,7764,7,4,0,0,7764,7765,7,8,0,0,7765,7766,5,95,0,0,7766,7767,7,5,0,0,7767,7768,7,10,0,0,7768,7769,7,14,0,0,7769,7770,5,95,0,0,7770,7771,7,4,0,0,7771,7772,7,6,0,0,7772,7773,7,25,0,0,7773,7774,7,21,0,0,7774,7775,7,8,0,0,7775,7776,7,11,0,0,7776,7777,7,14,0,0,7777,7778,7,18,0,0,7778,7779,7,6,0,0,7779,7780,7,5,0,0,7780,7781,7,8,0,0,7781,7782,7,14,0,0,7782,1262,1,0,0,0,7783,7784,7,14,0,0,7784,7785,7,20,0,0,7785,7786,7,18,0,0,7786,7787,7,11,0,0,7787,7788,7,4,0,0,7788,7789,7,8,0,0,7789,7790,5,95,0,0,7790,7791,7,25,0,0,7791,7792,7,18,0,0,7792,7793,7,17,0,0,7793,7794,7,10,0,0,7794,7795,7,6,0,0,7795,7796,7,4,0,0,7796,7797,5,95,0,0,7797,7798,7,22,0,0,7798,7799,7,8,0,0,7799,7800,7,13,0,0,7800,7801,5,95,0,0,7801,7802,7,25,0,0,7802,7803,7,3,0,0,7803,7804,7,5,0,0,7804,7805,7,21,0,0,7805,1264,1,0,0,0,7806,7807,7,14,0,0,7807,7808,7,28,0,0,7808,7809,7,10,0,0,7809,7810,5,95,0,0,7810,7811,7,3,0,0,7811,7812,7,19,0,0,7812,7813,7,5,0,0,7813,7814,7,8,0,0,7814,7815,7,11,0,0,7815,7816,5,95,0,0,7816,7817,7,23,0,0,7817,7818,7,5,0,0,7818,7819,7,6,0,0,7819,7820,7,9,0,0,7820,7821,7,14,0,0,7821,1266,1,0,0,0,7822,7823,7,14,0,0,7823,7824,7,28,0,0,7824,7825,7,10,0,0,7825,7826,5,95,0,0,7826,7827,7,3,0,0,7827,7828,7,19,0,0,7828,7829,7,5,0,0,7829,7830,7,8,0,0,7830,7831,7,11,0,0,7831,7832,5,95,0,0,7832,7833,7,24,0,0,7833,7834,7,5,0,0,7834,7835,7,14,0,0,7835,7836,5,95,0,0,7836,7837,7,23,0,0,7837,7838,7,3,0,0,7838,7839,7,25,0,0,7839,7840,7,14,0,0,7840,1268,1,0,0,0,7841,7842,7,14,0,0,7842,7843,7,28,0,0,7843,7844,7,10,0,0,7844,7845,5,95,0,0,7845,7846,7,17,0,0,7846,7847,7,8,0,0,7847,7848,7,19,0,0,7848,7849,7,20,0,0,7849,7850,7,11,0,0,7850,7851,7,8,0,0,7851,7852,5,95,0,0,7852,7853,7,23,0,0,7853,7854,7,5,0,0,7854,7855,7,6,0,0,7855,7856,7,9,0,0,7856,7857,7,14,0,0,7857,1270,1,0,0,0,7858,7859,7,14,0,0,7859,7860,7,28,0,0,7860,7861,7,10,0,0,7861,7862,5,95,0,0,7862,7863,7,17,0,0,7863,7864,7,18,0,0,7864,7865,7,19,0,0,7865,7866,7,19,0,0,7866,7867,7,8,0,0,7867,7868,7,11,0,0,7868,7869,5,95,0,0,7869,7870,7,11,0,0,7870,7871,7,8,0,0,7871,7872,7,14,0,0,7872,7873,7,18,0,0,7873,7874,7,10,0,0,7874,7875,7,5,0,0,7875,1272,1,0,0,0,7876,7877,7,14,0,0,7877,7878,7,28,0,0,7878,7879,7,10,0,0,7879,7880,5,95,0,0,7880,7881,7,4,0,0,7881,7882,7,3,0,0,7882,7883,7,4,0,0,7883,7884,7,21,0,0,7884,7885,7,8,0,0,7885,1274,1,0,0,0,7886,7887,7,14,0,0,7887,7888,7,28,0,0,7888,7889,7,10,0,0,7889,7890,5,95,0,0,7890,7891,7,15,0,0,7891,7892,7,20,0,0,7892,7893,5,95,0,0,7893,7894,7,4,0,0,7894,7895,7,3,0,0,7895,7896,7,4,0,0,7896,7897,7,21,0,0,7897,7898,7,8,0,0,7898,1276,1,0,0,0,7899,7900,7,14,0,0,7900,7901,7,28,0,0,7901,7902,7,10,0,0,7902,7903,5,95,0,0,7903,7904,7,5,0,0,7904,7905,7,21,0,0,7905,7906,7,11,0,0,7906,7907,7,8,0,0,7907,7908,7,3,0,0,7908,7909,7,9,0,0,7909,1278,1,0,0,0,7910,7911,7,14,0,0,7911,7912,7,5,0,0,7912,7913,7,3,0,0,7913,7914,7,11,0,0,7914,7915,7,5,0,0,7915,1280,1,0,0,0,7916,7917,7,14,0,0,7917,7918,7,5,0,0,7918,7919,7,3,0,0,7919,7920,7,11,0,0,7920,7921,7,5,0,0,7921,7922,7,14,0,0,7922,1282,1,0,0,0,7923,7924,7,14,0,0,7924,7925,7,5,0,0,7925,7926,7,3,0,0,7926,7927,7,5,0,0,7927,7928,7,14,0,0,7928,7929,5,95,0,0,7929,7930,7,3,0,0,7930,7931,7,18,0,0,7931,7932,7,5,0,0,7932,7933,7,20,0,0,7933,7934,5,95,0,0,7934,7935,7,11,0,0,7935,7936,7,8,0,0,7936,7937,7,4,0,0,7937,7938,7,3,0,0,7938,7939,7,10,0,0,7939,7940,7,4,0,0,7940,1284,1,0,0,0,7941,7942,7,14,0,0,7942,7943,7,5,0,0,7943,7944,7,3,0,0,7944,7945,7,5,0,0,7945,7946,7,14,0,0,7946,7947,5,95,0,0,7947,7948,7,25,0,0,7948,7949,7,8,0,0,7949,7950,7,11,0,0,7950,7951,7,14,0,0,7951,7952,7,6,0,0,7952,7953,7,14,0,0,7953,7954,7,5,0,0,7954,7955,7,8,0,0,7955,7956,7,15,0,0,7956,7957,7,5,0,0,7957,1286,1,0,0,0,7958,7959,7,14,0,0,7959,7960,7,5,0,0,7960,7961,7,3,0,0,7961,7962,7,5,0,0,7962,7963,7,14,0,0,7963,7964,5,95,0,0,7964,7965,7,14,0,0,7965,7966,7,3,0,0,7966,7967,7,24,0,0,7967,7968,7,25,0,0,7968,7969,7,10,0,0,7969,7970,7,8,0,0,7970,7971,5,95,0,0,7971,7972,7,25,0,0,7972,7973,7,3,0,0,7973,7974,7,23,0,0,7974,7975,7,8,0,0,7975,7976,7,14,0,0,7976,1288,1,0,0,0,7977,7978,7,14,0,0,7978,7979,7,5,0,0,7979,7980,7,3,0,0,7980,7981,7,5,0,0,7981,7982,7,18,0,0,7982,7983,7,14,0,0,7983,1290,1,0,0,0,7984,7985,7,14,0,0,7985,7986,7,5,0,0,7986,7987,7,20,0,0,7987,7988,7,25,0,0,7988,1292,1,0,0,0,7989,7990,7,14,0,0,7990,7991,7,5,0,0,7991,7992,7,20,0,0,7992,7993,7,11,0,0,7993,7994,7,3,0,0,7994,7995,7,23,0,0,7995,7996,7,8,0,0,7996,1294,1,0,0,0,7997,7998,7,14,0,0,7998,7999,7,5,0,0,7999,8e3,7,20,0,0,8e3,8001,7,11,0,0,8001,8002,7,8,0,0,8002,8003,7,9,0,0,8003,1296,1,0,0,0,8004,8005,7,14,0,0,8005,8006,7,5,0,0,8006,8007,7,11,0,0,8007,8008,7,6,0,0,8008,8009,7,15,0,0,8009,8010,7,23,0,0,8010,1298,1,0,0,0,8011,8012,7,14,0,0,8012,8013,7,18,0,0,8013,8014,7,17,0,0,8014,8015,7,4,0,0,8015,8016,7,10,0,0,8016,8017,7,3,0,0,8017,8018,7,14,0,0,8018,8019,7,14,0,0,8019,8020,5,95,0,0,8020,8021,7,20,0,0,8021,8022,7,11,0,0,8022,8023,7,6,0,0,8023,8024,7,23,0,0,8024,8025,7,6,0,0,8025,8026,7,15,0,0,8026,1300,1,0,0,0,8027,8028,7,14,0,0,8028,8029,7,18,0,0,8029,8030,7,17,0,0,8030,8031,7,27,0,0,8031,8032,7,8,0,0,8032,8033,7,4,0,0,8033,8034,7,5,0,0,8034,1302,1,0,0,0,8035,8036,7,14,0,0,8036,8037,7,18,0,0,8037,8038,7,17,0,0,8038,8039,7,25,0,0,8039,8040,7,3,0,0,8040,8041,7,11,0,0,8041,8042,7,5,0,0,8042,8043,7,6,0,0,8043,8044,7,5,0,0,8044,8045,7,6,0,0,8045,8046,7,20,0,0,8046,8047,7,15,0,0,8047,1304,1,0,0,0,8048,8049,7,14,0,0,8049,8050,7,18,0,0,8050,8051,7,17,0,0,8051,8052,7,25,0,0,8052,8053,7,3,0,0,8053,8054,7,11,0,0,8054,8055,7,5,0,0,8055,8056,7,6,0,0,8056,8057,7,5,0,0,8057,8058,7,6,0,0,8058,8059,7,20,0,0,8059,8060,7,15,0,0,8060,8061,7,14,0,0,8061,1306,1,0,0,0,8062,8063,7,14,0,0,8063,8064,7,18,0,0,8064,8065,7,14,0,0,8065,8066,7,25,0,0,8066,8067,7,8,0,0,8067,8068,7,15,0,0,8068,8069,7,9,0,0,8069,1308,1,0,0,0,8070,8071,7,14,0,0,8071,8072,7,12,0,0,8072,8073,7,3,0,0,8073,8074,7,25,0,0,8074,8075,7,14,0,0,8075,1310,1,0,0,0,8076,8077,7,14,0,0,8077,8078,7,12,0,0,8078,8079,7,6,0,0,8079,8080,7,5,0,0,8080,8081,7,4,0,0,8081,8082,7,21,0,0,8082,8083,7,8,0,0,8083,8084,7,14,0,0,8084,1312,1,0,0,0,8085,8086,7,5,0,0,8086,8087,7,3,0,0,8087,8088,7,17,0,0,8088,8089,7,10,0,0,8089,8090,7,8,0,0,8090,8091,5,95,0,0,8091,8092,7,15,0,0,8092,8093,7,3,0,0,8093,8094,7,24,0,0,8094,8095,7,8,0,0,8095,1314,1,0,0,0,8096,8097,7,5,0,0,8097,8098,7,3,0,0,8098,8099,7,17,0,0,8099,8100,7,10,0,0,8100,8101,7,8,0,0,8101,8102,7,14,0,0,8102,8103,7,25,0,0,8103,8104,7,3,0,0,8104,8105,7,4,0,0,8105,8106,7,8,0,0,8106,1316,1,0,0,0,8107,8108,7,5,0,0,8108,8109,7,3,0,0,8109,8110,7,17,0,0,8110,8111,7,10,0,0,8111,8112,7,8,0,0,8112,8113,5,95,0,0,8113,8114,7,5,0,0,8114,8115,7,13,0,0,8115,8116,7,25,0,0,8116,8117,7,8,0,0,8117,1318,1,0,0,0,8118,8119,7,5,0,0,8119,8120,7,8,0,0,8120,8121,7,24,0,0,8121,8122,7,25,0,0,8122,8123,7,20,0,0,8123,8124,7,11,0,0,8124,8125,7,3,0,0,8125,8126,7,11,0,0,8126,8127,7,13,0,0,8127,1320,1,0,0,0,8128,8129,7,5,0,0,8129,8130,7,8,0,0,8130,8131,7,24,0,0,8131,8132,7,25,0,0,8132,8133,7,5,0,0,8133,8134,7,3,0,0,8134,8135,7,17,0,0,8135,8136,7,10,0,0,8136,8137,7,8,0,0,8137,1322,1,0,0,0,8138,8139,7,5,0,0,8139,8140,7,21,0,0,8140,8141,7,3,0,0,8141,8142,7,15,0,0,8142,1324,1,0,0,0,8143,8144,7,5,0,0,8144,8145,7,11,0,0,8145,8146,7,3,0,0,8146,8147,7,9,0,0,8147,8148,7,6,0,0,8148,8149,7,5,0,0,8149,8150,7,6,0,0,8150,8151,7,20,0,0,8151,8152,7,15,0,0,8152,8153,7,3,0,0,8153,8154,7,10,0,0,8154,1326,1,0,0,0,8155,8156,7,5,0,0,8156,8157,7,11,0,0,8157,8158,7,3,0,0,8158,8159,7,15,0,0,8159,8160,7,14,0,0,8160,8161,7,3,0,0,8161,8162,7,4,0,0,8162,8163,7,5,0,0,8163,8164,7,6,0,0,8164,8165,7,20,0,0,8165,8166,7,15,0,0,8166,1328,1,0,0,0,8167,8168,7,5,0,0,8168,8169,7,11,0,0,8169,8170,7,3,0,0,8170,8171,7,15,0,0,8171,8172,7,14,0,0,8172,8173,7,3,0,0,8173,8174,7,4,0,0,8174,8175,7,5,0,0,8175,8176,7,6,0,0,8176,8177,7,20,0,0,8177,8178,7,15,0,0,8178,8179,7,3,0,0,8179,8180,7,10,0,0,8180,1330,1,0,0,0,8181,8182,7,5,0,0,8182,8183,7,11,0,0,8183,8184,7,8,0,0,8184,8185,7,8,0,0,8185,1332,1,0,0,0,8186,8187,7,5,0,0,8187,8188,7,11,0,0,8188,8189,7,6,0,0,8189,8190,7,23,0,0,8190,8191,7,23,0,0,8191,8192,7,8,0,0,8192,8193,7,11,0,0,8193,8194,7,14,0,0,8194,1334,1,0,0,0,8195,8196,7,5,0,0,8196,8197,7,11,0,0,8197,8198,7,18,0,0,8198,8199,7,15,0,0,8199,8200,7,4,0,0,8200,8201,7,3,0,0,8201,8202,7,5,0,0,8202,8203,7,8,0,0,8203,1336,1,0,0,0,8204,8205,7,18,0,0,8205,8206,7,15,0,0,8206,8207,7,17,0,0,8207,8208,7,20,0,0,8208,8209,7,18,0,0,8209,8210,7,15,0,0,8210,8211,7,9,0,0,8211,8212,7,8,0,0,8212,8213,7,9,0,0,8213,1338,1,0,0,0,8214,8215,7,18,0,0,8215,8216,7,15,0,0,8216,8217,7,9,0,0,8217,8218,7,8,0,0,8218,8219,7,19,0,0,8219,8220,7,6,0,0,8220,8221,7,15,0,0,8221,8222,7,8,0,0,8222,8223,7,9,0,0,8223,1340,1,0,0,0,8224,8225,7,18,0,0,8225,8226,7,15,0,0,8226,8227,7,9,0,0,8227,8228,7,20,0,0,8228,8229,7,19,0,0,8229,8230,7,6,0,0,8230,8231,7,10,0,0,8231,8232,7,8,0,0,8232,1342,1,0,0,0,8233,8234,7,18,0,0,8234,8235,7,15,0,0,8235,8236,7,9,0,0,8236,8237,7,20,0,0,8237,8238,5,95,0,0,8238,8239,7,17,0,0,8239,8240,7,18,0,0,8240,8241,7,19,0,0,8241,8242,7,19,0,0,8242,8243,7,8,0,0,8243,8244,7,11,0,0,8244,8245,5,95,0,0,8245,8246,7,14,0,0,8246,8247,7,6,0,0,8247,8248,7,16,0,0,8248,8249,7,8,0,0,8249,1344,1,0,0,0,8250,8251,7,18,0,0,8251,8252,7,15,0,0,8252,8253,7,6,0,0,8253,8254,7,15,0,0,8254,8255,7,14,0,0,8255,8256,7,5,0,0,8256,8257,7,3,0,0,8257,8258,7,10,0,0,8258,8259,7,10,0,0,8259,1346,1,0,0,0,8260,8261,7,18,0,0,8261,8262,7,15,0,0,8262,8263,7,22,0,0,8263,8264,7,15,0,0,8264,8265,7,20,0,0,8265,8266,7,12,0,0,8266,8267,7,15,0,0,8267,1348,1,0,0,0,8268,8269,7,18,0,0,8269,8270,7,15,0,0,8270,8271,7,11,0,0,8271,8272,7,8,0,0,8272,8273,7,23,0,0,8273,8274,7,6,0,0,8274,8275,7,14,0,0,8275,8276,7,5,0,0,8276,8277,7,8,0,0,8277,8278,7,11,0,0,8278,1350,1,0,0,0,8279,8280,7,18,0,0,8280,8281,7,15,0,0,8281,8282,7,5,0,0,8282,8283,7,6,0,0,8283,8284,7,10,0,0,8284,1352,1,0,0,0,8285,8286,7,18,0,0,8286,8287,7,25,0,0,8287,8288,7,23,0,0,8288,8289,7,11,0,0,8289,8290,7,3,0,0,8290,8291,7,9,0,0,8291,8292,7,8,0,0,8292,1354,1,0,0,0,8293,8294,7,18,0,0,8294,8295,7,14,0,0,8295,8296,7,8,0,0,8296,8297,7,11,0,0,8297,1356,1,0,0,0,8298,8299,7,18,0,0,8299,8300,7,14,0,0,8300,8301,7,8,0,0,8301,8302,5,95,0,0,8302,8303,7,19,0,0,8303,8304,7,11,0,0,8304,8305,7,24,0,0,8305,1358,1,0,0,0,8306,8307,7,18,0,0,8307,8308,7,14,0,0,8308,8309,7,8,0,0,8309,8310,7,11,0,0,8310,8311,5,95,0,0,8311,8312,7,11,0,0,8312,8313,7,8,0,0,8313,8314,7,14,0,0,8314,8315,7,20,0,0,8315,8316,7,18,0,0,8316,8317,7,11,0,0,8317,8318,7,4,0,0,8318,8319,7,8,0,0,8319,8320,7,14,0,0,8320,1360,1,0,0,0,8321,8322,7,7,0,0,8322,8323,7,3,0,0,8323,8324,7,10,0,0,8324,8325,7,6,0,0,8325,8326,7,9,0,0,8326,8327,7,3,0,0,8327,8328,7,5,0,0,8328,8329,7,6,0,0,8329,8330,7,20,0,0,8330,8331,7,15,0,0,8331,1362,1,0,0,0,8332,8333,7,7,0,0,8333,8334,7,3,0,0,8334,8335,7,10,0,0,8335,8336,7,18,0,0,8336,8337,7,8,0,0,8337,1364,1,0,0,0,8338,8339,7,7,0,0,8339,8340,7,3,0,0,8340,8341,7,11,0,0,8341,8342,7,6,0,0,8342,8343,7,3,0,0,8343,8344,7,17,0,0,8344,8345,7,10,0,0,8345,8346,7,8,0,0,8346,8347,7,14,0,0,8347,1366,1,0,0,0,8348,8349,7,7,0,0,8349,8350,7,6,0,0,8350,8351,7,8,0,0,8351,8352,7,12,0,0,8352,1368,1,0,0,0,8353,8354,7,7,0,0,8354,8355,7,6,0,0,8355,8356,7,11,0,0,8356,8357,7,5,0,0,8357,8358,7,18,0,0,8358,8359,7,3,0,0,8359,8360,7,10,0,0,8360,1370,1,0,0,0,8361,8362,7,7,0,0,8362,8363,7,6,0,0,8363,8364,7,14,0,0,8364,8365,7,6,0,0,8365,8366,7,17,0,0,8366,8367,7,10,0,0,8367,8368,7,8,0,0,8368,1372,1,0,0,0,8369,8370,7,12,0,0,8370,8371,7,3,0,0,8371,8372,7,6,0,0,8372,8373,7,5,0,0,8373,1374,1,0,0,0,8374,8375,7,12,0,0,8375,8376,7,3,0,0,8376,8377,7,11,0,0,8377,8378,7,15,0,0,8378,8379,7,6,0,0,8379,8380,7,15,0,0,8380,8381,7,23,0,0,8381,8382,7,14,0,0,8382,1376,1,0,0,0,8383,8384,7,12,0,0,8384,8385,7,6,0,0,8385,8386,7,15,0,0,8386,8387,7,9,0,0,8387,8388,7,20,0,0,8388,8389,7,12,0,0,8389,1378,1,0,0,0,8390,8391,7,12,0,0,8391,8392,7,6,0,0,8392,8393,7,5,0,0,8393,8394,7,21,0,0,8394,8395,7,20,0,0,8395,8396,7,18,0,0,8396,8397,7,5,0,0,8397,1380,1,0,0,0,8398,8399,7,12,0,0,8399,8400,7,20,0,0,8400,8401,7,11,0,0,8401,8402,7,22,0,0,8402,1382,1,0,0,0,8403,8404,7,12,0,0,8404,8405,7,11,0,0,8405,8406,7,3,0,0,8406,8407,7,25,0,0,8407,8408,7,25,0,0,8408,8409,7,8,0,0,8409,8410,7,11,0,0,8410,1384,1,0,0,0,8411,8412,7,26,0,0,8412,8413,5,53,0,0,8413,8414,5,48,0,0,8414,8415,5,57,0,0,8415,1386,1,0,0,0,8416,8417,7,26,0,0,8417,8418,7,3,0,0,8418,1388,1,0,0,0,8419,8420,7,26,0,0,8420,8421,7,24,0,0,8421,8422,7,10,0,0,8422,1390,1,0,0,0,8423,8424,7,28,0,0,8424,8425,7,18,0,0,8425,8426,7,3,0,0,8426,8427,7,11,0,0,8427,8428,7,5,0,0,8428,8429,7,8,0,0,8429,8430,7,11,0,0,8430,1392,1,0,0,0,8431,8432,7,24,0,0,8432,8433,7,20,0,0,8433,8434,7,15,0,0,8434,8435,7,5,0,0,8435,8436,7,21,0,0,8436,1394,1,0,0,0,8437,8438,7,9,0,0,8438,8439,7,3,0,0,8439,8440,7,13,0,0,8440,1396,1,0,0,0,8441,8442,7,21,0,0,8442,8443,7,20,0,0,8443,8444,7,18,0,0,8444,8445,7,11,0,0,8445,1398,1,0,0,0,8446,8447,7,24,0,0,8447,8448,7,6,0,0,8448,8449,7,15,0,0,8449,8450,7,18,0,0,8450,8451,7,5,0,0,8451,8452,7,8,0,0,8452,1400,1,0,0,0,8453,8454,7,12,0,0,8454,8455,7,8,0,0,8455,8456,7,8,0,0,8456,8457,7,22,0,0,8457,1402,1,0,0,0,8458,8459,7,14,0,0,8459,8460,7,8,0,0,8460,8461,7,4,0,0,8461,8462,7,20,0,0,8462,8463,7,15,0,0,8463,8464,7,9,0,0,8464,1404,1,0,0,0,8465,8466,7,24,0,0,8466,8467,7,6,0,0,8467,8468,7,4,0,0,8468,8469,7,11,0,0,8469,8470,7,20,0,0,8470,8471,7,14,0,0,8471,8472,7,8,0,0,8472,8473,7,4,0,0,8473,8474,7,20,0,0,8474,8475,7,15,0,0,8475,8476,7,9,0,0,8476,1406,1,0,0,0,8477,8478,7,3,0,0,8478,8479,7,9,0,0,8479,8480,7,24,0,0,8480,8481,7,6,0,0,8481,8482,7,15,0,0,8482,1408,1,0,0,0,8483,8484,7,3,0,0,8484,8485,7,25,0,0,8485,8486,7,25,0,0,8486,8487,7,10,0,0,8487,8488,7,6,0,0,8488,8489,7,4,0,0,8489,8490,7,3,0,0,8490,8491,7,5,0,0,8491,8492,7,6,0,0,8492,8493,7,20,0,0,8493,8494,7,15,0,0,8494,8495,5,95,0,0,8495,8496,7,25,0,0,8496,8497,7,3,0,0,8497,8498,7,14,0,0,8498,8499,7,14,0,0,8499,8500,7,12,0,0,8500,8501,7,20,0,0,8501,8502,7,11,0,0,8502,8503,7,9,0,0,8503,8504,5,95,0,0,8504,8505,7,3,0,0,8505,8506,7,9,0,0,8506,8507,7,24,0,0,8507,8508,7,6,0,0,8508,8509,7,15,0,0,8509,1410,1,0,0,0,8510,8511,7,3,0,0,8511,8512,7,18,0,0,8512,8513,7,9,0,0,8513,8514,7,6,0,0,8514,8515,7,5,0,0,8515,8516,5,95,0,0,8516,8517,7,3,0,0,8517,8518,7,17,0,0,8518,8519,7,20,0,0,8519,8520,7,11,0,0,8520,8521,7,5,0,0,8521,8522,5,95,0,0,8522,8523,7,8,0,0,8523,8524,7,26,0,0,8524,8525,7,8,0,0,8525,8526,7,24,0,0,8526,8527,7,25,0,0,8527,8528,7,5,0,0,8528,1412,1,0,0,0,8529,8530,7,3,0,0,8530,8531,7,18,0,0,8531,8532,7,9,0,0,8532,8533,7,6,0,0,8533,8534,7,5,0,0,8534,8535,5,95,0,0,8535,8536,7,3,0,0,8536,8537,7,9,0,0,8537,8538,7,24,0,0,8538,8539,7,6,0,0,8539,8540,7,15,0,0,8540,1414,1,0,0,0,8541,8542,7,3,0,0,8542,8543,7,18,0,0,8543,8544,7,5,0,0,8544,8545,7,21,0,0,8545,8546,7,8,0,0,8546,8547,7,15,0,0,8547,8548,7,5,0,0,8548,8549,7,6,0,0,8549,8550,7,4,0,0,8550,8551,7,3,0,0,8551,8552,7,5,0,0,8552,8553,7,6,0,0,8553,8554,7,20,0,0,8554,8555,7,15,0,0,8555,1416,1,0,0,0,8556,8557,7,3,0,0,8557,8558,7,18,0,0,8558,8559,7,5,0,0,8559,8560,7,21,0,0,8560,8561,7,8,0,0,8561,8562,7,15,0,0,8562,8563,7,5,0,0,8563,8564,7,6,0,0,8564,8565,7,4,0,0,8565,8566,7,3,0,0,8566,8567,7,5,0,0,8567,8568,7,6,0,0,8568,8569,7,20,0,0,8569,8570,7,15,0,0,8570,8571,5,95,0,0,8571,8572,7,25,0,0,8572,8573,7,20,0,0,8573,8574,7,10,0,0,8574,8575,7,6,0,0,8575,8576,7,4,0,0,8576,8577,7,13,0,0,8577,8578,5,95,0,0,8578,8579,7,3,0,0,8579,8580,7,9,0,0,8580,8581,7,24,0,0,8581,8582,7,6,0,0,8582,8583,7,15,0,0,8583,1418,1,0,0,0,8584,8585,7,17,0,0,8585,8586,7,3,0,0,8586,8587,7,4,0,0,8587,8588,7,22,0,0,8588,8589,7,18,0,0,8589,8590,7,25,0,0,8590,8591,5,95,0,0,8591,8592,7,3,0,0,8592,8593,7,9,0,0,8593,8594,7,24,0,0,8594,8595,7,6,0,0,8595,8596,7,15,0,0,8596,1420,1,0,0,0,8597,8598,7,17,0,0,8598,8599,7,6,0,0,8599,8600,7,15,0,0,8600,8601,7,10,0,0,8601,8602,7,20,0,0,8602,8603,7,23,0,0,8603,8604,5,95,0,0,8604,8605,7,3,0,0,8605,8606,7,9,0,0,8606,8607,7,24,0,0,8607,8608,7,6,0,0,8608,8609,7,15,0,0,8609,1422,1,0,0,0,8610,8611,7,17,0,0,8611,8612,7,6,0,0,8612,8613,7,15,0,0,8613,8614,7,10,0,0,8614,8615,7,20,0,0,8615,8616,7,23,0,0,8616,8617,5,95,0,0,8617,8618,7,8,0,0,8618,8619,7,15,0,0,8619,8620,7,4,0,0,8620,8621,7,11,0,0,8621,8622,7,13,0,0,8622,8623,7,25,0,0,8623,8624,7,5,0,0,8624,8625,7,6,0,0,8625,8626,7,20,0,0,8626,8627,7,15,0,0,8627,8628,5,95,0,0,8628,8629,7,3,0,0,8629,8630,7,9,0,0,8630,8631,7,24,0,0,8631,8632,7,6,0,0,8632,8633,7,15,0,0,8633,1424,1,0,0,0,8634,8635,7,4,0,0,8635,8636,7,10,0,0,8636,8637,7,20,0,0,8637,8638,7,15,0,0,8638,8639,7,8,0,0,8639,1426,1,0,0,0,8640,8641,7,4,0,0,8641,8642,7,10,0,0,8642,8643,7,20,0,0,8643,8644,7,15,0,0,8644,8645,7,8,0,0,8645,8646,5,95,0,0,8646,8647,7,3,0,0,8647,8648,7,9,0,0,8648,8649,7,24,0,0,8649,8650,7,6,0,0,8650,8651,7,15,0,0,8651,1428,1,0,0,0,8652,8653,7,4,0,0,8653,8654,7,20,0,0,8654,8655,7,15,0,0,8655,8656,7,15,0,0,8656,8657,7,8,0,0,8657,8658,7,4,0,0,8658,8659,7,5,0,0,8659,8660,7,6,0,0,8660,8661,7,20,0,0,8661,8662,7,15,0,0,8662,8663,5,95,0,0,8663,8664,7,3,0,0,8664,8665,7,9,0,0,8665,8666,7,24,0,0,8666,8667,7,6,0,0,8667,8668,7,15,0,0,8668,1430,1,0,0,0,8669,8670,7,8,0,0,8670,8671,7,15,0,0,8671,8672,7,4,0,0,8672,8673,7,11,0,0,8673,8674,7,13,0,0,8674,8675,7,25,0,0,8675,8676,7,5,0,0,8676,8677,7,6,0,0,8677,8678,7,20,0,0,8678,8679,7,15,0,0,8679,8680,5,95,0,0,8680,8681,7,22,0,0,8681,8682,7,8,0,0,8682,8683,7,13,0,0,8683,8684,5,95,0,0,8684,8685,7,3,0,0,8685,8686,7,9,0,0,8686,8687,7,24,0,0,8687,8688,7,6,0,0,8688,8689,7,15,0,0,8689,1432,1,0,0,0,8690,8691,7,8,0,0,8691,8692,7,26,0,0,8692,8693,7,8,0,0,8693,8694,7,4,0,0,8694,8695,7,18,0,0,8695,8696,7,5,0,0,8696,8697,7,8,0,0,8697,1434,1,0,0,0,8698,8699,7,19,0,0,8699,8700,7,6,0,0,8700,8701,7,10,0,0,8701,8702,7,8,0,0,8702,1436,1,0,0,0,8703,8704,7,19,0,0,8704,8705,7,6,0,0,8705,8706,7,11,0,0,8706,8707,7,8,0,0,8707,8708,7,12,0,0,8708,8709,7,3,0,0,8709,8710,7,10,0,0,8710,8711,7,10,0,0,8711,8712,5,95,0,0,8712,8713,7,3,0,0,8713,8714,7,9,0,0,8714,8715,7,24,0,0,8715,8716,7,6,0,0,8716,8717,7,15,0,0,8717,1438,1,0,0,0,8718,8719,7,19,0,0,8719,8720,7,6,0,0,8720,8721,7,11,0,0,8721,8722,7,8,0,0,8722,8723,7,12,0,0,8723,8724,7,3,0,0,8724,8725,7,10,0,0,8725,8726,7,10,0,0,8726,8727,5,95,0,0,8727,8728,7,8,0,0,8728,8729,7,26,0,0,8729,8730,7,8,0,0,8730,8731,7,24,0,0,8731,8732,7,25,0,0,8732,8733,7,5,0,0,8733,1440,1,0,0,0,8734,8735,7,19,0,0,8735,8736,7,6,0,0,8736,8737,7,11,0,0,8737,8738,7,8,0,0,8738,8739,7,12,0,0,8739,8740,7,3,0,0,8740,8741,7,10,0,0,8741,8742,7,10,0,0,8742,8743,5,95,0,0,8743,8744,7,18,0,0,8744,8745,7,14,0,0,8745,8746,7,8,0,0,8746,8747,7,11,0,0,8747,1442,1,0,0,0,8748,8749,7,19,0,0,8749,8750,7,10,0,0,8750,8751,7,18,0,0,8751,8752,7,14,0,0,8752,8753,7,21,0,0,8753,8754,5,95,0,0,8754,8755,7,20,0,0,8755,8756,7,25,0,0,8756,8757,7,5,0,0,8757,8758,7,6,0,0,8758,8759,7,24,0,0,8759,8760,7,6,0,0,8760,8761,7,16,0,0,8761,8762,7,8,0,0,8762,8763,7,11,0,0,8763,8764,5,95,0,0,8764,8765,7,4,0,0,8765,8766,7,20,0,0,8766,8767,7,14,0,0,8767,8768,7,5,0,0,8768,8769,7,14,0,0,8769,1444,1,0,0,0,8770,8771,7,19,0,0,8771,8772,7,10,0,0,8772,8773,7,18,0,0,8773,8774,7,14,0,0,8774,8775,7,21,0,0,8775,8776,5,95,0,0,8776,8777,7,14,0,0,8777,8778,7,5,0,0,8778,8779,7,3,0,0,8779,8780,7,5,0,0,8780,8781,7,18,0,0,8781,8782,7,14,0,0,8782,1446,1,0,0,0,8783,8784,7,19,0,0,8784,8785,7,10,0,0,8785,8786,7,18,0,0,8786,8787,7,14,0,0,8787,8788,7,21,0,0,8788,8789,5,95,0,0,8789,8790,7,5,0,0,8790,8791,7,3,0,0,8791,8792,7,17,0,0,8792,8793,7,10,0,0,8793,8794,7,8,0,0,8794,8795,7,14,0,0,8795,1448,1,0,0,0,8796,8797,7,19,0,0,8797,8798,7,10,0,0,8798,8799,7,18,0,0,8799,8800,7,14,0,0,8800,8801,7,21,0,0,8801,8802,5,95,0,0,8802,8803,7,18,0,0,8803,8804,7,14,0,0,8804,8805,7,8,0,0,8805,8806,7,11,0,0,8806,8807,5,95,0,0,8807,8808,7,11,0,0,8808,8809,7,8,0,0,8809,8810,7,14,0,0,8810,8811,7,20,0,0,8811,8812,7,18,0,0,8812,8813,7,11,0,0,8813,8814,7,4,0,0,8814,8815,7,8,0,0,8815,8816,7,14,0,0,8816,1450,1,0,0,0,8817,8818,7,23,0,0,8818,8819,7,11,0,0,8819,8820,7,20,0,0,8820,8821,7,18,0,0,8821,8822,7,25,0,0,8822,8823,5,95,0,0,8823,8824,7,11,0,0,8824,8825,7,8,0,0,8825,8826,7,25,0,0,8826,8827,7,10,0,0,8827,8828,7,6,0,0,8828,8829,7,4,0,0,8829,8830,7,3,0,0,8830,8831,7,5,0,0,8831,8832,7,6,0,0,8832,8833,7,20,0,0,8833,8834,7,15,0,0,8834,8835,5,95,0,0,8835,8836,7,3,0,0,8836,8837,7,9,0,0,8837,8838,7,24,0,0,8838,8839,7,6,0,0,8839,8840,7,15,0,0,8840,1452,1,0,0,0,8841,8842,7,6,0,0,8842,8843,7,15,0,0,8843,8844,7,15,0,0,8844,8845,7,20,0,0,8845,8846,7,9,0,0,8846,8847,7,17,0,0,8847,8848,5,95,0,0,8848,8849,7,11,0,0,8849,8850,7,8,0,0,8850,8851,7,9,0,0,8851,8852,7,20,0,0,8852,8853,5,95,0,0,8853,8854,7,10,0,0,8854,8855,7,20,0,0,8855,8856,7,23,0,0,8856,8857,5,95,0,0,8857,8858,7,3,0,0,8858,8859,7,11,0,0,8859,8860,7,4,0,0,8860,8861,7,21,0,0,8861,8862,7,6,0,0,8862,8863,7,7,0,0,8863,8864,7,8,0,0,8864,1454,1,0,0,0,8865,8866,7,6,0,0,8866,8867,7,15,0,0,8867,8868,7,15,0,0,8868,8869,7,20,0,0,8869,8870,7,9,0,0,8870,8871,7,17,0,0,8871,8872,5,95,0,0,8872,8873,7,11,0,0,8873,8874,7,8,0,0,8874,8875,7,9,0,0,8875,8876,7,20,0,0,8876,8877,5,95,0,0,8877,8878,7,10,0,0,8878,8879,7,20,0,0,8879,8880,7,23,0,0,8880,8881,5,95,0,0,8881,8882,7,8,0,0,8882,8883,7,15,0,0,8883,8884,7,3,0,0,8884,8885,7,17,0,0,8885,8886,7,10,0,0,8886,8887,7,8,0,0,8887,1456,1,0,0,0,8888,8889,7,6,0,0,8889,8890,7,15,0,0,8890,8891,7,7,0,0,8891,8892,7,20,0,0,8892,8893,7,22,0,0,8893,8894,7,8,0,0,8894,1458,1,0,0,0,8895,8896,7,10,0,0,8896,8897,7,3,0,0,8897,8898,7,24,0,0,8898,8899,7,17,0,0,8899,8900,7,9,0,0,8900,8901,7,3,0,0,8901,1460,1,0,0,0,8902,8903,7,15,0,0,8903,8904,7,9,0,0,8904,8905,7,17,0,0,8905,8906,5,95,0,0,8906,8907,7,14,0,0,8907,8908,7,5,0,0,8908,8909,7,20,0,0,8909,8910,7,11,0,0,8910,8911,7,8,0,0,8911,8912,7,9,0,0,8912,8913,5,95,0,0,8913,8914,7,18,0,0,8914,8915,7,14,0,0,8915,8916,7,8,0,0,8916,8917,7,11,0,0,8917,1462,1,0,0,0,8918,8919,7,25,0,0,8919,8920,7,3,0,0,8920,8921,7,14,0,0,8921,8922,7,14,0,0,8922,8923,7,12,0,0,8923,8924,7,20,0,0,8924,8925,7,11,0,0,8925,8926,7,9,0,0,8926,8927,7,10,0,0,8927,8928,7,8,0,0,8928,8929,7,14,0,0,8929,8930,7,14,0,0,8930,8931,5,95,0,0,8931,8932,7,18,0,0,8932,8933,7,14,0,0,8933,8934,7,8,0,0,8934,8935,7,11,0,0,8935,8936,5,95,0,0,8936,8937,7,3,0,0,8937,8938,7,9,0,0,8938,8939,7,24,0,0,8939,8940,7,6,0,0,8940,8941,7,15,0,0,8941,1464,1,0,0,0,8942,8943,7,25,0,0,8943,8944,7,8,0,0,8944,8945,7,11,0,0,8945,8946,7,14,0,0,8946,8947,7,6,0,0,8947,8948,7,14,0,0,8948,8949,7,5,0,0,8949,8950,5,95,0,0,8950,8951,7,11,0,0,8951,8952,7,20,0,0,8952,8953,5,95,0,0,8953,8954,7,7,0,0,8954,8955,7,3,0,0,8955,8956,7,11,0,0,8956,8957,7,6,0,0,8957,8958,7,3,0,0,8958,8959,7,17,0,0,8959,8960,7,10,0,0,8960,8961,7,8,0,0,8961,8962,7,14,0,0,8962,8963,5,95,0,0,8963,8964,7,3,0,0,8964,8965,7,9,0,0,8965,8966,7,24,0,0,8966,8967,7,6,0,0,8967,8968,7,15,0,0,8968,1466,1,0,0,0,8969,8970,7,25,0,0,8970,8971,7,11,0,0,8971,8972,7,6,0,0,8972,8973,7,7,0,0,8973,8974,7,6,0,0,8974,8975,7,10,0,0,8975,8976,7,8,0,0,8976,8977,7,23,0,0,8977,8978,7,8,0,0,8978,8979,7,14,0,0,8979,1468,1,0,0,0,8980,8981,7,25,0,0,8981,8982,7,11,0,0,8982,8983,7,20,0,0,8983,8984,7,4,0,0,8984,8985,7,8,0,0,8985,8986,7,14,0,0,8986,8987,7,14,0,0,8987,1470,1,0,0,0,8988,8989,7,11,0,0,8989,8990,7,8,0,0,8990,8991,7,10,0,0,8991,8992,7,20,0,0,8992,8993,7,3,0,0,8993,8994,7,9,0,0,8994,1472,1,0,0,0,8995,8996,7,11,0,0,8996,8997,7,8,0,0,8997,8998,7,25,0,0,8998,8999,7,10,0,0,8999,9e3,7,6,0,0,9e3,9001,7,4,0,0,9001,9002,7,3,0,0,9002,9003,7,5,0,0,9003,9004,7,6,0,0,9004,9005,7,20,0,0,9005,9006,7,15,0,0,9006,9007,5,95,0,0,9007,9008,7,3,0,0,9008,9009,7,25,0,0,9009,9010,7,25,0,0,9010,9011,7,10,0,0,9011,9012,7,6,0,0,9012,9013,7,8,0,0,9013,9014,7,11,0,0,9014,1474,1,0,0,0,9015,9016,7,11,0,0,9016,9017,7,8,0,0,9017,9018,7,25,0,0,9018,9019,7,10,0,0,9019,9020,7,6,0,0,9020,9021,7,4,0,0,9021,9022,7,3,0,0,9022,9023,7,5,0,0,9023,9024,7,6,0,0,9024,9025,7,20,0,0,9025,9026,7,15,0,0,9026,9027,5,95,0,0,9027,9028,7,14,0,0,9028,9029,7,10,0,0,9029,9030,7,3,0,0,9030,9031,7,7,0,0,9031,9032,7,8,0,0,9032,9033,5,95,0,0,9033,9034,7,3,0,0,9034,9035,7,9,0,0,9035,9036,7,24,0,0,9036,9037,7,6,0,0,9037,9038,7,15,0,0,9038,1476,1,0,0,0,9039,9040,7,11,0,0,9040,9041,7,8,0,0,9041,9042,7,14,0,0,9042,9043,7,20,0,0,9043,9044,7,18,0,0,9044,9045,7,11,0,0,9045,9046,7,4,0,0,9046,9047,7,8,0,0,9047,1478,1,0,0,0,9048,9049,7,11,0,0,9049,9050,7,8,0,0,9050,9051,7,14,0,0,9051,9052,7,20,0,0,9052,9053,7,18,0,0,9053,9054,7,11,0,0,9054,9055,7,4,0,0,9055,9056,7,8,0,0,9056,9057,5,95,0,0,9057,9058,7,23,0,0,9058,9059,7,11,0,0,9059,9060,7,20,0,0,9060,9061,7,18,0,0,9061,9062,7,25,0,0,9062,9063,5,95,0,0,9063,9064,7,3,0,0,9064,9065,7,9,0,0,9065,9066,7,24,0,0,9066,9067,7,6,0,0,9067,9068,7,15,0,0,9068,1480,1,0,0,0,9069,9070,7,11,0,0,9070,9071,7,8,0,0,9071,9072,7,14,0,0,9072,9073,7,20,0,0,9073,9074,7,18,0,0,9074,9075,7,11,0,0,9075,9076,7,4,0,0,9076,9077,7,8,0,0,9077,9078,5,95,0,0,9078,9079,7,23,0,0,9079,9080,7,11,0,0,9080,9081,7,20,0,0,9081,9082,7,18,0,0,9082,9083,7,25,0,0,9083,9084,5,95,0,0,9084,9085,7,18,0,0,9085,9086,7,14,0,0,9086,9087,7,8,0,0,9087,9088,7,11,0,0,9088,1482,1,0,0,0,9089,9090,7,11,0,0,9090,9091,7,20,0,0,9091,9092,7,10,0,0,9092,9093,7,8,0,0,9093,9094,5,95,0,0,9094,9095,7,3,0,0,9095,9096,7,9,0,0,9096,9097,7,24,0,0,9097,9098,7,6,0,0,9098,9099,7,15,0,0,9099,1484,1,0,0,0,9100,9101,7,11,0,0,9101,9102,7,20,0,0,9102,9103,7,18,0,0,9103,9104,7,5,0,0,9104,9105,7,6,0,0,9105,9106,7,15,0,0,9106,9107,7,8,0,0,9107,1486,1,0,0,0,9108,9109,7,14,0,0,9109,9110,5,51,0,0,9110,1488,1,0,0,0,9111,9112,7,14,0,0,9112,9113,7,8,0,0,9113,9114,7,11,0,0,9114,9115,7,7,0,0,9115,9116,7,6,0,0,9116,9117,7,4,0,0,9117,9118,7,8,0,0,9118,9119,5,95,0,0,9119,9120,7,4,0,0,9120,9121,7,20,0,0,9121,9122,7,15,0,0,9122,9123,7,15,0,0,9123,9124,7,8,0,0,9124,9125,7,4,0,0,9125,9126,7,5,0,0,9126,9127,7,6,0,0,9127,9128,7,20,0,0,9128,9129,7,15,0,0,9129,9130,5,95,0,0,9130,9131,7,3,0,0,9131,9132,7,9,0,0,9132,9133,7,24,0,0,9133,9134,7,6,0,0,9134,9135,7,15,0,0,9135,1490,1,0,0,0,9136,9138,3,1757,878,0,9137,9136,1,0,0,0,9137,9138,1,0,0,0,9138,9139,1,0,0,0,9139,9140,7,14,0,0,9140,9141,7,8,0,0,9141,9142,7,14,0,0,9142,9143,7,14,0,0,9143,9144,7,6,0,0,9144,9145,7,20,0,0,9145,9146,7,15,0,0,9146,9147,5,95,0,0,9147,9148,7,7,0,0,9148,9149,7,3,0,0,9149,9150,7,11,0,0,9150,9151,7,6,0,0,9151,9152,7,3,0,0,9152,9153,7,17,0,0,9153,9154,7,10,0,0,9154,9155,7,8,0,0,9155,9156,7,14,0,0,9156,9157,5,95,0,0,9157,9158,7,3,0,0,9158,9159,7,9,0,0,9159,9160,7,24,0,0,9160,9161,7,6,0,0,9161,9162,7,15,0,0,9162,9164,1,0,0,0,9163,9165,3,1757,878,0,9164,9163,1,0,0,0,9164,9165,1,0,0,0,9165,1492,1,0,0,0,9166,9167,7,14,0,0,9167,9168,7,8,0,0,9168,9169,7,5,0,0,9169,9170,5,95,0,0,9170,9171,7,18,0,0,9171,9172,7,14,0,0,9172,9173,7,8,0,0,9173,9174,7,11,0,0,9174,9175,5,95,0,0,9175,9176,7,6,0,0,9176,9177,7,9,0,0,9177,1494,1,0,0,0,9178,9179,7,14,0,0,9179,9180,7,21,0,0,9180,9181,7,20,0,0,9181,9182,7,12,0,0,9182,9183,5,95,0,0,9183,9184,7,11,0,0,9184,9185,7,20,0,0,9185,9186,7,18,0,0,9186,9187,7,5,0,0,9187,9188,7,6,0,0,9188,9189,7,15,0,0,9189,9190,7,8,0,0,9190,1496,1,0,0,0,9191,9192,7,14,0,0,9192,9193,7,21,0,0,9193,9194,7,18,0,0,9194,9195,7,5,0,0,9195,9196,7,9,0,0,9196,9197,7,20,0,0,9197,9198,7,12,0,0,9198,9199,7,15,0,0,9199,1498,1,0,0,0,9200,9201,7,14,0,0,9201,9202,7,18,0,0,9202,9203,7,25,0,0,9203,9204,7,8,0,0,9204,9205,7,11,0,0,9205,1500,1,0,0,0,9206,9207,7,14,0,0,9207,9208,7,13,0,0,9208,9209,7,14,0,0,9209,9210,7,5,0,0,9210,9211,7,8,0,0,9211,9212,7,24,0,0,9212,9213,5,95,0,0,9213,9214,7,7,0,0,9214,9215,7,3,0,0,9215,9216,7,11,0,0,9216,9217,7,6,0,0,9217,9218,7,3,0,0,9218,9219,7,17,0,0,9219,9220,7,10,0,0,9220,9221,7,8,0,0,9221,9222,7,14,0,0,9222,9223,5,95,0,0,9223,9224,7,3,0,0,9224,9225,7,9,0,0,9225,9226,7,24,0,0,9226,9227,7,6,0,0,9227,9228,7,15,0,0,9228,1502,1,0,0,0,9229,9230,7,5,0,0,9230,9231,7,3,0,0,9231,9232,7,17,0,0,9232,9233,7,10,0,0,9233,9234,7,8,0,0,9234,9235,7,14,0,0,9235,1504,1,0,0,0,9236,9237,7,5,0,0,9237,9238,7,3,0,0,9238,9239,7,17,0,0,9239,9240,7,10,0,0,9240,9241,7,8,0,0,9241,9242,5,95,0,0,9242,9243,7,8,0,0,9243,9244,7,15,0,0,9244,9245,7,4,0,0,9245,9246,7,11,0,0,9246,9247,7,13,0,0,9247,9248,7,25,0,0,9248,9249,7,5,0,0,9249,9250,7,6,0,0,9250,9251,7,20,0,0,9251,9252,7,15,0,0,9252,9253,5,95,0,0,9253,9254,7,3,0,0,9254,9255,7,9,0,0,9255,9256,7,24,0,0,9256,9257,7,6,0,0,9257,9258,7,15,0,0,9258,1506,1,0,0,0,9259,9260,7,7,0,0,9260,9261,7,8,0,0,9261,9262,7,11,0,0,9262,9263,7,14,0,0,9263,9264,7,6,0,0,9264,9265,7,20,0,0,9265,9266,7,15,0,0,9266,9267,5,95,0,0,9267,9268,7,5,0,0,9268,9269,7,20,0,0,9269,9270,7,22,0,0,9270,9271,7,8,0,0,9271,9272,7,15,0,0,9272,9273,5,95,0,0,9273,9274,7,3,0,0,9274,9275,7,9,0,0,9275,9276,7,24,0,0,9276,9277,7,6,0,0,9277,9278,7,15,0,0,9278,1508,1,0,0,0,9279,9280,7,26,0,0,9280,9281,7,3,0,0,9281,9282,5,95,0,0,9282,9283,7,11,0,0,9283,9284,7,8,0,0,9284,9285,7,4,0,0,9285,9286,7,20,0,0,9286,9287,7,7,0,0,9287,9288,7,8,0,0,9288,9289,7,11,0,0,9289,9290,5,95,0,0,9290,9291,7,3,0,0,9291,9292,7,9,0,0,9292,9293,7,24,0,0,9293,9294,7,6,0,0,9294,9295,7,15,0,0,9295,1510,1,0,0,0,9296,9297,7,3,0,0,9297,9298,7,11,0,0,9298,9299,7,24,0,0,9299,9300,7,14,0,0,9300,9301,7,4,0,0,9301,9302,7,6,0,0,9302,9303,7,6,0,0,9303,9304,5,56,0,0,9304,1512,1,0,0,0,9305,9306,7,3,0,0,9306,9307,7,14,0,0,9307,9308,7,4,0,0,9308,9309,7,6,0,0,9309,9310,7,6,0,0,9310,1514,1,0,0,0,9311,9312,7,17,0,0,9312,9313,7,6,0,0,9313,9314,7,23,0,0,9314,9315,5,53,0,0,9315,1516,1,0,0,0,9316,9317,7,4,0,0,9317,9318,7,25,0,0,9318,9319,5,49,0,0,9319,9320,5,50,0,0,9320,9321,5,53,0,0,9321,9322,5,48,0,0,9322,1518,1,0,0,0,9323,9324,7,4,0,0,9324,9325,7,25,0,0,9325,9326,5,49,0,0,9326,9327,5,50,0,0,9327,9328,5,53,0,0,9328,9329,5,49,0,0,9329,1520,1,0,0,0,9330,9331,7,4,0,0,9331,9332,7,25,0,0,9332,9333,5,49,0,0,9333,9334,5,50,0,0,9334,9335,5,53,0,0,9335,9336,5,54,0,0,9336,1522,1,0,0,0,9337,9338,7,4,0,0,9338,9339,7,25,0,0,9339,9340,5,49,0,0,9340,9341,5,50,0,0,9341,9342,5,53,0,0,9342,9343,5,55,0,0,9343,1524,1,0,0,0,9344,9345,7,4,0,0,9345,9346,7,25,0,0,9346,9347,5,56,0,0,9347,9348,5,53,0,0,9348,9349,5,48,0,0,9349,1526,1,0,0,0,9350,9351,7,4,0,0,9351,9352,7,25,0,0,9352,9353,5,56,0,0,9353,9354,5,53,0,0,9354,9355,5,50,0,0,9355,1528,1,0,0,0,9356,9357,7,4,0,0,9357,9358,7,25,0,0,9358,9359,5,56,0,0,9359,9360,5,54,0,0,9360,9361,5,54,0,0,9361,1530,1,0,0,0,9362,9363,7,4,0,0,9363,9364,7,25,0,0,9364,9365,5,57,0,0,9365,9366,5,51,0,0,9366,9367,5,50,0,0,9367,1532,1,0,0,0,9368,9369,7,9,0,0,9369,9370,7,8,0,0,9370,9371,7,4,0,0,9371,9372,5,56,0,0,9372,1534,1,0,0,0,9373,9374,7,8,0,0,9374,9375,7,18,0,0,9375,9376,7,4,0,0,9376,9377,7,27,0,0,9377,9378,7,25,0,0,9378,9379,7,24,0,0,9379,9380,7,14,0,0,9380,1536,1,0,0,0,9381,9382,7,8,0,0,9382,9383,7,18,0,0,9383,9384,7,4,0,0,9384,9385,7,22,0,0,9385,9386,7,11,0,0,9386,1538,1,0,0,0,9387,9388,7,23,0,0,9388,9389,7,17,0,0,9389,9390,5,49,0,0,9390,9391,5,56,0,0,9391,9392,5,48,0,0,9392,9393,5,51,0,0,9393,9394,5,48,0,0,9394,1540,1,0,0,0,9395,9396,7,23,0,0,9396,9397,7,17,0,0,9397,9398,5,50,0,0,9398,9399,5,51,0,0,9399,9400,5,49,0,0,9400,9401,5,50,0,0,9401,1542,1,0,0,0,9402,9403,7,23,0,0,9403,9404,7,17,0,0,9404,9405,7,22,0,0,9405,1544,1,0,0,0,9406,9407,7,23,0,0,9407,9408,7,8,0,0,9408,9409,7,20,0,0,9409,9410,7,14,0,0,9410,9411,7,5,0,0,9411,9412,7,9,0,0,9412,9413,5,56,0,0,9413,1546,1,0,0,0,9414,9415,7,23,0,0,9415,9416,7,11,0,0,9416,9417,7,8,0,0,9417,9418,7,8,0,0,9418,9419,7,22,0,0,9419,1548,1,0,0,0,9420,9421,7,21,0,0,9421,9422,7,8,0,0,9422,9423,7,17,0,0,9423,9424,7,11,0,0,9424,9425,7,8,0,0,9425,9426,7,12,0,0,9426,1550,1,0,0,0,9427,9428,7,21,0,0,9428,9429,7,25,0,0,9429,9430,5,56,0,0,9430,1552,1,0,0,0,9431,9432,7,22,0,0,9432,9433,7,8,0,0,9433,9434,7,13,0,0,9434,9435,7,17,0,0,9435,9436,7,4,0,0,9436,9437,7,14,0,0,9437,9438,5,50,0,0,9438,1554,1,0,0,0,9439,9440,7,22,0,0,9440,9441,7,20,0,0,9441,9442,7,6,0,0,9442,9443,5,56,0,0,9443,9444,7,11,0,0,9444,1556,1,0,0,0,9445,9446,7,22,0,0,9446,9447,7,20,0,0,9447,9448,7,6,0,0,9448,9449,5,56,0,0,9449,9450,7,18,0,0,9450,1558,1,0,0,0,9451,9452,7,10,0,0,9452,9453,7,3,0,0,9453,9454,7,5,0,0,9454,9455,7,6,0,0,9455,9456,7,15,0,0,9456,9457,5,49,0,0,9457,1560,1,0,0,0,9458,9459,7,10,0,0,9459,9460,7,3,0,0,9460,9461,7,5,0,0,9461,9462,7,6,0,0,9462,9463,7,15,0,0,9463,9464,5,50,0,0,9464,1562,1,0,0,0,9465,9466,7,10,0,0,9466,9467,7,3,0,0,9467,9468,7,5,0,0,9468,9469,7,6,0,0,9469,9470,7,15,0,0,9470,9471,5,53,0,0,9471,1564,1,0,0,0,9472,9473,7,10,0,0,9473,9474,7,3,0,0,9474,9475,7,5,0,0,9475,9476,7,6,0,0,9476,9477,7,15,0,0,9477,9478,5,55,0,0,9478,1566,1,0,0,0,9479,9480,7,24,0,0,9480,9481,7,3,0,0,9481,9482,7,4,0,0,9482,9483,7,4,0,0,9483,9484,7,8,0,0,9484,1568,1,0,0,0,9485,9486,7,24,0,0,9486,9487,7,3,0,0,9487,9488,7,4,0,0,9488,9489,7,11,0,0,9489,9490,7,20,0,0,9490,9491,7,24,0,0,9491,9492,7,3,0,0,9492,9493,7,15,0,0,9493,1570,1,0,0,0,9494,9495,7,14,0,0,9495,9496,7,27,0,0,9496,9497,7,6,0,0,9497,9498,7,14,0,0,9498,1572,1,0,0,0,9499,9500,7,14,0,0,9500,9501,7,12,0,0,9501,9502,7,8,0,0,9502,9503,5,55,0,0,9503,1574,1,0,0,0,9504,9505,7,5,0,0,9505,9506,7,6,0,0,9506,9507,7,14,0,0,9507,9508,5,54,0,0,9508,9509,5,50,0,0,9509,9510,5,48,0,0,9510,1576,1,0,0,0,9511,9512,7,18,0,0,9512,9513,7,4,0,0,9513,9514,7,14,0,0,9514,9515,5,50,0,0,9515,1578,1,0,0,0,9516,9517,7,18,0,0,9517,9518,7,27,0,0,9518,9519,7,6,0,0,9519,9520,7,14,0,0,9520,1580,1,0,0,0,9521,9522,7,18,0,0,9522,9523,7,5,0,0,9523,9524,7,19,0,0,9524,9525,5,49,0,0,9525,9526,5,54,0,0,9526,1582,1,0,0,0,9527,9528,7,18,0,0,9528,9529,7,5,0,0,9529,9530,7,19,0,0,9530,9531,5,49,0,0,9531,9532,5,54,0,0,9532,9533,7,10,0,0,9533,9534,7,8,0,0,9534,1584,1,0,0,0,9535,9536,7,18,0,0,9536,9537,7,5,0,0,9537,9538,7,19,0,0,9538,9539,5,51,0,0,9539,9540,5,50,0,0,9540,1586,1,0,0,0,9541,9542,7,18,0,0,9542,9543,7,5,0,0,9543,9544,7,19,0,0,9544,9545,5,56,0,0,9545,1588,1,0,0,0,9546,9547,7,18,0,0,9547,9548,7,5,0,0,9548,9549,7,19,0,0,9549,9550,5,56,0,0,9550,9551,7,24,0,0,9551,9552,7,17,0,0,9552,9553,5,51,0,0,9553,1590,1,0,0,0,9554,9555,7,18,0,0,9555,9556,7,5,0,0,9556,9557,7,19,0,0,9557,9558,5,56,0,0,9558,9559,7,24,0,0,9559,9560,7,17,0,0,9560,9561,5,52,0,0,9561,1592,1,0,0,0,9562,9563,7,3,0,0,9563,9564,7,11,0,0,9564,9565,7,4,0,0,9565,9566,7,21,0,0,9566,9567,7,6,0,0,9567,9568,7,7,0,0,9568,9569,7,8,0,0,9569,1594,1,0,0,0,9570,9571,7,17,0,0,9571,9572,7,10,0,0,9572,9573,7,3,0,0,9573,9574,7,4,0,0,9574,9575,7,22,0,0,9575,9576,7,21,0,0,9576,9577,7,20,0,0,9577,9578,7,10,0,0,9578,9579,7,8,0,0,9579,1596,1,0,0,0,9580,9581,7,4,0,0,9581,9582,7,14,0,0,9582,9583,7,7,0,0,9583,1598,1,0,0,0,9584,9585,7,19,0,0,9585,9586,7,8,0,0,9586,9587,7,9,0,0,9587,9588,7,8,0,0,9588,9589,7,11,0,0,9589,9590,7,3,0,0,9590,9591,7,5,0,0,9591,9592,7,8,0,0,9592,9593,7,9,0,0,9593,1600,1,0,0,0,9594,9595,7,6,0,0,9595,9596,7,15,0,0,9596,9597,7,15,0,0,9597,9598,7,20,0,0,9598,9599,7,9,0,0,9599,9600,7,17,0,0,9600,1602,1,0,0,0,9601,9602,7,24,0,0,9602,9603,7,8,0,0,9603,9604,7,24,0,0,9604,9605,7,20,0,0,9605,9606,7,11,0,0,9606,9607,7,13,0,0,9607,1604,1,0,0,0,9608,9609,7,24,0,0,9609,9610,7,11,0,0,9610,9611,7,23,0,0,9611,9612,5,95,0,0,9612,9613,7,24,0,0,9613,9614,7,13,0,0,9614,9615,7,6,0,0,9615,9616,7,14,0,0,9616,9617,7,3,0,0,9617,9618,7,24,0,0,9618,1606,1,0,0,0,9619,9620,7,24,0,0,9620,9621,7,13,0,0,9621,9622,7,6,0,0,9622,9623,7,14,0,0,9623,9624,7,3,0,0,9624,9625,7,24,0,0,9625,1608,1,0,0,0,9626,9627,7,15,0,0,9627,9628,7,9,0,0,9628,9629,7,17,0,0,9629,1610,1,0,0,0,9630,9631,7,15,0,0,9631,9632,7,9,0,0,9632,9633,7,17,0,0,9633,9634,7,4,0,0,9634,9635,7,10,0,0,9635,9636,7,18,0,0,9636,9637,7,14,0,0,9637,9638,7,5,0,0,9638,9639,7,8,0,0,9639,9640,7,11,0,0,9640,1612,1,0,0,0,9641,9642,7,25,0,0,9642,9643,7,8,0,0,9643,9644,7,11,0,0,9644,9645,7,19,0,0,9645,9646,7,20,0,0,9646,9647,7,11,0,0,9647,9648,7,24,0,0,9648,9649,7,3,0,0,9649,9650,7,15,0,0,9650,9651,7,4,0,0,9651,9652,7,8,0,0,9652,9653,5,95,0,0,9653,9654,7,14,0,0,9654,9655,7,4,0,0,9655,9656,7,21,0,0,9656,9657,7,8,0,0,9657,9658,7,24,0,0,9658,9659,7,3,0,0,9659,1614,1,0,0,0,9660,9661,7,5,0,0,9661,9662,7,20,0,0,9662,9663,7,22,0,0,9663,9664,7,18,0,0,9664,9665,7,9,0,0,9665,9666,7,17,0,0,9666,1616,1,0,0,0,9667,9668,7,11,0,0,9668,9669,7,8,0,0,9669,9670,7,25,0,0,9670,9671,7,8,0,0,9671,9672,7,3,0,0,9672,9673,7,5,0,0,9673,9674,7,3,0,0,9674,9675,7,17,0,0,9675,9676,7,10,0,0,9676,9677,7,8,0,0,9677,1618,1,0,0,0,9678,9679,7,4,0,0,9679,9680,7,20,0,0,9680,9681,7,24,0,0,9681,9682,7,24,0,0,9682,9683,7,6,0,0,9683,9684,7,5,0,0,9684,9685,7,5,0,0,9685,9686,7,8,0,0,9686,9687,7,9,0,0,9687,1620,1,0,0,0,9688,9689,7,18,0,0,9689,9690,7,15,0,0,9690,9691,7,4,0,0,9691,9692,7,20,0,0,9692,9693,7,24,0,0,9693,9694,7,24,0,0,9694,9695,7,6,0,0,9695,9696,7,5,0,0,9696,9697,7,5,0,0,9697,9698,7,8,0,0,9698,9699,7,9,0,0,9699,1622,1,0,0,0,9700,9701,7,14,0,0,9701,9702,7,8,0,0,9702,9703,7,11,0,0,9703,9704,7,6,0,0,9704,9705,7,3,0,0,9705,9706,7,10,0,0,9706,9707,7,6,0,0,9707,9708,7,16,0,0,9708,9709,7,3,0,0,9709,9710,7,17,0,0,9710,9711,7,10,0,0,9711,9712,7,8,0,0,9712,1624,1,0,0,0,9713,9714,7,23,0,0,9714,9715,7,8,0,0,9715,9716,7,20,0,0,9716,9717,7,24,0,0,9717,9718,7,8,0,0,9718,9719,7,5,0,0,9719,9720,7,11,0,0,9720,9721,7,13,0,0,9721,9722,7,4,0,0,9722,9723,7,20,0,0,9723,9724,7,10,0,0,9724,9725,7,10,0,0,9725,9726,7,8,0,0,9726,9727,7,4,0,0,9727,9728,7,5,0,0,9728,9729,7,6,0,0,9729,9730,7,20,0,0,9730,9731,7,15,0,0,9731,1626,1,0,0,0,9732,9733,7,23,0,0,9733,9734,7,8,0,0,9734,9735,7,20,0,0,9735,9736,7,24,0,0,9736,9737,7,4,0,0,9737,9738,7,20,0,0,9738,9739,7,10,0,0,9739,9740,7,10,0,0,9740,9741,7,8,0,0,9741,9742,7,4,0,0,9742,9743,7,5,0,0,9743,9744,7,6,0,0,9744,9745,7,20,0,0,9745,9746,7,15,0,0,9746,1628,1,0,0,0,9747,9748,7,23,0,0,9748,9749,7,8,0,0,9749,9750,7,20,0,0,9750,9751,7,24,0,0,9751,9752,7,8,0,0,9752,9753,7,5,0,0,9753,9754,7,11,0,0,9754,9755,7,13,0,0,9755,1630,1,0,0,0,9756,9757,7,10,0,0,9757,9758,7,6,0,0,9758,9759,7,15,0,0,9759,9760,7,8,0,0,9760,9761,7,14,0,0,9761,9762,7,5,0,0,9762,9763,7,11,0,0,9763,9764,7,6,0,0,9764,9765,7,15,0,0,9765,9766,7,23,0,0,9766,1632,1,0,0,0,9767,9768,7,24,0,0,9768,9769,7,18,0,0,9769,9770,7,10,0,0,9770,9771,7,5,0,0,9771,9772,7,6,0,0,9772,9773,7,10,0,0,9773,9774,7,6,0,0,9774,9775,7,15,0,0,9775,9776,7,8,0,0,9776,9777,7,14,0,0,9777,9778,7,5,0,0,9778,9779,7,11,0,0,9779,9780,7,6,0,0,9780,9781,7,15,0,0,9781,9782,7,23,0,0,9782,1634,1,0,0,0,9783,9784,7,24,0,0,9784,9785,7,18,0,0,9785,9786,7,10,0,0,9786,9787,7,5,0,0,9787,9788,7,6,0,0,9788,9789,7,25,0,0,9789,9790,7,20,0,0,9790,9791,7,6,0,0,9791,9792,7,15,0,0,9792,9793,7,5,0,0,9793,1636,1,0,0,0,9794,9795,7,24,0,0,9795,9796,7,18,0,0,9796,9797,7,10,0,0,9797,9798,7,5,0,0,9798,9799,7,6,0,0,9799,9800,7,25,0,0,9800,9801,7,20,0,0,9801,9802,7,10,0,0,9802,9803,7,13,0,0,9803,9804,7,23,0,0,9804,9805,7,20,0,0,9805,9806,7,15,0,0,9806,1638,1,0,0,0,9807,9808,7,25,0,0,9808,9809,7,20,0,0,9809,9810,7,6,0,0,9810,9811,7,15,0,0,9811,9812,7,5,0,0,9812,1640,1,0,0,0,9813,9814,7,25,0,0,9814,9815,7,20,0,0,9815,9816,7,10,0,0,9816,9817,7,13,0,0,9817,9818,7,23,0,0,9818,9819,7,20,0,0,9819,9820,7,15,0,0,9820,1642,1,0,0,0,9821,9822,7,4,0,0,9822,9823,7,3,0,0,9823,9824,7,5,0,0,9824,9825,7,3,0,0,9825,9826,7,10,0,0,9826,9827,7,20,0,0,9827,9828,7,23,0,0,9828,9829,5,95,0,0,9829,9830,7,15,0,0,9830,9831,7,3,0,0,9831,9832,7,24,0,0,9832,9833,7,8,0,0,9833,1644,1,0,0,0,9834,9835,7,4,0,0,9835,9836,7,21,0,0,9836,9837,7,3,0,0,9837,9838,7,11,0,0,9838,9839,7,14,0,0,9839,9840,7,8,0,0,9840,9841,7,5,0,0,9841,1646,1,0,0,0,9842,9843,7,4,0,0,9843,9844,7,20,0,0,9844,9845,7,10,0,0,9845,9846,7,10,0,0,9846,9847,7,3,0,0,9847,9848,7,5,0,0,9848,9849,7,6,0,0,9849,9850,7,20,0,0,9850,9851,7,15,0,0,9851,1648,1,0,0,0,9852,9853,7,8,0,0,9853,9854,7,15,0,0,9854,9855,7,23,0,0,9855,9856,7,6,0,0,9856,9857,7,15,0,0,9857,9858,7,8,0,0,9858,9859,5,95,0,0,9859,9860,7,3,0,0,9860,9861,7,5,0,0,9861,9862,7,5,0,0,9862,9863,7,11,0,0,9863,9864,7,6,0,0,9864,9865,7,17,0,0,9865,9866,7,18,0,0,9866,9867,7,5,0,0,9867,9868,7,8,0,0,9868,1650,1,0,0,0,9869,9870,7,19,0,0,9870,9871,7,20,0,0,9871,9872,7,11,0,0,9872,9873,7,24,0,0,9873,9874,7,3,0,0,9874,9875,7,5,0,0,9875,1652,1,0,0,0,9876,9877,7,23,0,0,9877,9878,7,8,0,0,9878,9879,7,5,0,0,9879,9880,5,95,0,0,9880,9881,7,19,0,0,9881,9882,7,20,0,0,9882,9883,7,11,0,0,9883,9884,7,24,0,0,9884,9885,7,3,0,0,9885,9886,7,5,0,0,9886,1654,1,0,0,0,9887,9888,7,6,0,0,9888,9889,7,15,0,0,9889,9890,7,5,0,0,9890,9891,7,8,0,0,9891,9892,7,11,0,0,9892,9893,7,14,0,0,9893,9894,7,8,0,0,9894,9895,7,4,0,0,9895,9896,7,5,0,0,9896,1656,1,0,0,0,9897,9898,7,11,0,0,9898,9899,7,3,0,0,9899,9900,7,15,0,0,9900,9901,7,9,0,0,9901,9902,7,20,0,0,9902,9903,7,24,0,0,9903,1658,1,0,0,0,9904,9905,7,11,0,0,9905,9906,7,8,0,0,9906,9907,7,7,0,0,9907,9908,7,8,0,0,9908,9909,7,11,0,0,9909,9910,7,14,0,0,9910,9911,7,8,0,0,9911,1660,1,0,0,0,9912,9913,7,11,0,0,9913,9914,7,20,0,0,9914,9915,7,12,0,0,9915,9916,5,95,0,0,9916,9917,7,4,0,0,9917,9918,7,20,0,0,9918,9919,7,18,0,0,9919,9920,7,15,0,0,9920,9921,7,5,0,0,9921,1662,1,0,0,0,9922,9923,7,14,0,0,9923,9924,7,4,0,0,9924,9925,7,21,0,0,9925,9926,7,8,0,0,9926,9927,7,24,0,0,9927,9928,7,3,0,0,9928,9929,5,95,0,0,9929,9930,7,15,0,0,9930,9931,7,3,0,0,9931,9932,7,24,0,0,9932,9933,7,8,0,0,9933,1664,1,0,0,0,9934,9935,7,14,0,0,9935,9936,7,8,0,0,9936,9937,7,4,0,0,9937,9938,7,20,0,0,9938,9939,7,15,0,0,9939,9940,7,9,0,0,9940,9941,7,3,0,0,9941,9942,7,11,0,0,9942,9943,7,13,0,0,9943,9944,5,95,0,0,9944,9945,7,8,0,0,9945,9946,7,15,0,0,9946,9947,7,23,0,0,9947,9948,7,6,0,0,9948,9949,7,15,0,0,9949,9950,7,8,0,0,9950,9951,5,95,0,0,9951,9952,7,3,0,0,9952,9953,7,5,0,0,9953,9954,7,5,0,0,9954,9955,7,11,0,0,9955,9956,7,6,0,0,9956,9957,7,17,0,0,9957,9958,7,18,0,0,9958,9959,7,5,0,0,9959,9960,7,8,0,0,9960,1666,1,0,0,0,9961,9962,7,14,0,0,9962,9963,7,11,0,0,9963,9964,7,6,0,0,9964,9965,7,9,0,0,9965,1668,1,0,0,0,9966,9967,7,14,0,0,9967,9968,7,13,0,0,9968,9969,7,14,0,0,9969,9970,7,5,0,0,9970,9971,7,8,0,0,9971,9972,7,24,0,0,9972,1670,1,0,0,0,9973,9974,7,14,0,0,9974,9975,7,13,0,0,9975,9976,7,14,0,0,9976,9977,7,5,0,0,9977,9978,7,8,0,0,9978,9979,7,24,0,0,9979,9980,5,95,0,0,9980,9981,7,18,0,0,9981,9982,7,14,0,0,9982,9983,7,8,0,0,9983,9984,7,11,0,0,9984,1672,1,0,0,0,9985,9986,7,5,0,0,9986,9987,7,21,0,0,9987,9988,7,11,0,0,9988,9989,7,8,0,0,9989,9990,7,3,0,0,9990,9991,7,9,0,0,9991,9992,5,95,0,0,9992,9993,7,25,0,0,9993,9994,7,11,0,0,9994,9995,7,6,0,0,9995,9996,7,20,0,0,9996,9997,7,11,0,0,9997,9998,7,6,0,0,9998,9999,7,5,0,0,9999,1e4,7,13,0,0,1e4,1674,1,0,0,0,10001,10002,7,5,0,0,10002,10003,7,25,0,0,10003,10004,5,95,0,0,10004,10005,7,4,0,0,10005,10006,7,20,0,0,10006,10007,7,15,0,0,10007,10008,7,15,0,0,10008,10009,7,8,0,0,10009,10010,7,4,0,0,10010,10011,7,5,0,0,10011,10012,7,6,0,0,10012,10013,7,20,0,0,10013,10014,7,15,0,0,10014,10015,5,95,0,0,10015,10016,7,3,0,0,10016,10017,7,9,0,0,10017,10018,7,24,0,0,10018,10019,7,6,0,0,10019,10020,7,15,0,0,10020,1676,1,0,0,0,10021,10022,7,5,0,0,10022,10023,7,13,0,0,10023,10024,7,25,0,0,10024,10025,7,8,0,0,10025,1678,1,0,0,0,10026,10027,7,12,0,0,10027,10028,7,8,0,0,10028,10029,7,6,0,0,10029,10030,7,23,0,0,10030,10031,7,21,0,0,10031,10032,7,5,0,0,10032,10033,5,95,0,0,10033,10034,7,14,0,0,10034,10035,7,5,0,0,10035,10036,7,11,0,0,10036,10037,7,6,0,0,10037,10038,7,15,0,0,10038,10039,7,23,0,0,10039,1680,1,0,0,0,10040,10041,5,58,0,0,10041,10042,5,61,0,0,10042,1682,1,0,0,0,10043,10044,5,43,0,0,10044,10045,5,61,0,0,10045,1684,1,0,0,0,10046,10047,5,45,0,0,10047,10048,5,61,0,0,10048,1686,1,0,0,0,10049,10050,5,42,0,0,10050,10051,5,61,0,0,10051,1688,1,0,0,0,10052,10053,5,47,0,0,10053,10054,5,61,0,0,10054,1690,1,0,0,0,10055,10056,5,37,0,0,10056,10057,5,61,0,0,10057,1692,1,0,0,0,10058,10059,5,38,0,0,10059,10060,5,61,0,0,10060,1694,1,0,0,0,10061,10062,5,94,0,0,10062,10063,5,61,0,0,10063,1696,1,0,0,0,10064,10065,5,124,0,0,10065,10066,5,61,0,0,10066,1698,1,0,0,0,10067,10068,5,42,0,0,10068,1700,1,0,0,0,10069,10070,5,47,0,0,10070,1702,1,0,0,0,10071,10072,5,37,0,0,10072,1704,1,0,0,0,10073,10074,5,43,0,0,10074,1706,1,0,0,0,10075,10076,5,45,0,0,10076,1708,1,0,0,0,10077,10078,7,9,0,0,10078,10079,7,6,0,0,10079,10080,7,7,0,0,10080,1710,1,0,0,0,10081,10082,7,24,0,0,10082,10083,7,20,0,0,10083,10084,7,9,0,0,10084,1712,1,0,0,0,10085,10086,5,61,0,0,10086,1714,1,0,0,0,10087,10088,5,62,0,0,10088,1716,1,0,0,0,10089,10090,5,60,0,0,10090,1718,1,0,0,0,10091,10092,5,33,0,0,10092,1720,1,0,0,0,10093,10094,5,126,0,0,10094,1722,1,0,0,0,10095,10096,5,124,0,0,10096,1724,1,0,0,0,10097,10098,5,38,0,0,10098,1726,1,0,0,0,10099,10100,5,94,0,0,10100,1728,1,0,0,0,10101,10102,5,46,0,0,10102,1730,1,0,0,0,10103,10104,5,40,0,0,10104,1732,1,0,0,0,10105,10106,5,41,0,0,10106,1734,1,0,0,0,10107,10108,5,44,0,0,10108,1736,1,0,0,0,10109,10110,5,59,0,0,10110,1738,1,0,0,0,10111,10112,5,64,0,0,10112,1740,1,0,0,0,10113,10114,5,48,0,0,10114,1742,1,0,0,0,10115,10116,5,49,0,0,10116,1744,1,0,0,0,10117,10118,5,50,0,0,10118,1746,1,0,0,0,10119,10120,5,51,0,0,10120,1748,1,0,0,0,10121,10122,5,39,0,0,10122,1750,1,0,0,0,10123,10124,5,34,0,0,10124,1752,1,0,0,0,10125,10126,5,96,0,0,10126,1754,1,0,0,0,10127,10128,5,58,0,0,10128,1756,1,0,0,0,10129,10133,3,1749,874,0,10130,10133,3,1751,875,0,10131,10133,3,1753,876,0,10132,10129,1,0,0,0,10132,10130,1,0,0,0,10132,10131,1,0,0,0,10133,1758,1,0,0,0,10134,10135,5,96,0,0,10135,10136,3,1791,895,0,10136,10137,5,96,0,0,10137,1760,1,0,0,0,10138,10140,3,1805,902,0,10139,10138,1,0,0,0,10140,10141,1,0,0,0,10141,10139,1,0,0,0,10141,10142,1,0,0,0,10142,10143,1,0,0,0,10143,10144,7,29,0,0,10144,1762,1,0,0,0,10145,10146,7,15,0,0,10146,10147,3,1799,899,0,10147,1764,1,0,0,0,10148,10152,3,1797,898,0,10149,10152,3,1799,899,0,10150,10152,3,1801,900,0,10151,10148,1,0,0,0,10151,10149,1,0,0,0,10151,10150,1,0,0,0,10152,1766,1,0,0,0,10153,10155,3,1805,902,0,10154,10153,1,0,0,0,10155,10156,1,0,0,0,10156,10154,1,0,0,0,10156,10157,1,0,0,0,10157,1768,1,0,0,0,10158,10159,7,26,0,0,10159,10163,5,39,0,0,10160,10161,3,1803,901,0,10161,10162,3,1803,901,0,10162,10164,1,0,0,0,10163,10160,1,0,0,0,10164,10165,1,0,0,0,10165,10163,1,0,0,0,10165,10166,1,0,0,0,10166,10167,1,0,0,0,10167,10168,5,39,0,0,10168,10178,1,0,0,0,10169,10170,5,48,0,0,10170,10171,7,26,0,0,10171,10173,1,0,0,0,10172,10174,3,1803,901,0,10173,10172,1,0,0,0,10174,10175,1,0,0,0,10175,10173,1,0,0,0,10175,10176,1,0,0,0,10176,10178,1,0,0,0,10177,10158,1,0,0,0,10177,10169,1,0,0,0,10178,1770,1,0,0,0,10179,10181,3,1805,902,0,10180,10179,1,0,0,0,10181,10184,1,0,0,0,10182,10180,1,0,0,0,10182,10183,1,0,0,0,10183,10185,1,0,0,0,10184,10182,1,0,0,0,10185,10187,5,46,0,0,10186,10188,3,1805,902,0,10187,10186,1,0,0,0,10188,10189,1,0,0,0,10189,10187,1,0,0,0,10189,10190,1,0,0,0,10190,10221,1,0,0,0,10191,10193,3,1805,902,0,10192,10191,1,0,0,0,10193,10194,1,0,0,0,10194,10192,1,0,0,0,10194,10195,1,0,0,0,10195,10196,1,0,0,0,10196,10197,5,46,0,0,10197,10198,3,1793,896,0,10198,10221,1,0,0,0,10199,10201,3,1805,902,0,10200,10199,1,0,0,0,10201,10204,1,0,0,0,10202,10200,1,0,0,0,10202,10203,1,0,0,0,10203,10205,1,0,0,0,10204,10202,1,0,0,0,10205,10207,5,46,0,0,10206,10208,3,1805,902,0,10207,10206,1,0,0,0,10208,10209,1,0,0,0,10209,10207,1,0,0,0,10209,10210,1,0,0,0,10210,10211,1,0,0,0,10211,10212,3,1793,896,0,10212,10221,1,0,0,0,10213,10215,3,1805,902,0,10214,10213,1,0,0,0,10215,10216,1,0,0,0,10216,10214,1,0,0,0,10216,10217,1,0,0,0,10217,10218,1,0,0,0,10218,10219,3,1793,896,0,10219,10221,1,0,0,0,10220,10182,1,0,0,0,10220,10192,1,0,0,0,10220,10202,1,0,0,0,10220,10214,1,0,0,0,10221,1772,1,0,0,0,10222,10223,5,92,0,0,10223,10224,7,15,0,0,10224,1774,1,0,0,0,10225,10226,3,1807,903,0,10226,1776,1,0,0,0,10227,10228,5,95,0,0,10228,10229,3,1791,895,0,10229,1778,1,0,0,0,10230,10231,3,1795,897,0,10231,1780,1,0,0,0,10232,10233,3,1801,900,0,10233,1782,1,0,0,0,10234,10235,3,1739,869,0,10235,10236,3,1809,904,0,10236,1784,1,0,0,0,10237,10244,3,1739,869,0,10238,10245,3,1765,882,0,10239,10241,7,30,0,0,10240,10239,1,0,0,0,10241,10242,1,0,0,0,10242,10240,1,0,0,0,10242,10243,1,0,0,0,10243,10245,1,0,0,0,10244,10238,1,0,0,0,10244,10240,1,0,0,0,10245,1786,1,0,0,0,10246,10247,3,1739,869,0,10247,10254,3,1739,869,0,10248,10250,7,30,0,0,10249,10248,1,0,0,0,10250,10251,1,0,0,0,10251,10249,1,0,0,0,10251,10252,1,0,0,0,10252,10255,1,0,0,0,10253,10255,3,1801,900,0,10254,10249,1,0,0,0,10254,10253,1,0,0,0,10255,1788,1,0,0,0,10256,10257,3,1739,869,0,10257,10264,3,1739,869,0,10258,10260,7,30,0,0,10259,10258,1,0,0,0,10260,10261,1,0,0,0,10261,10259,1,0,0,0,10261,10262,1,0,0,0,10262,10265,1,0,0,0,10263,10265,3,1801,900,0,10264,10259,1,0,0,0,10264,10263,1,0,0,0,10265,1790,1,0,0,0,10266,10308,3,1511,755,0,10267,10308,3,1513,756,0,10268,10308,3,1515,757,0,10269,10308,3,455,227,0,10270,10308,3,1517,758,0,10271,10308,3,1519,759,0,10272,10308,3,1521,760,0,10273,10308,3,1523,761,0,10274,10308,3,1525,762,0,10275,10308,3,1527,763,0,10276,10308,3,1529,764,0,10277,10308,3,1531,765,0,10278,10308,3,1533,766,0,10279,10308,3,1535,767,0,10280,10308,3,1537,768,0,10281,10308,3,1541,770,0,10282,10308,3,1543,771,0,10283,10308,3,1545,772,0,10284,10308,3,1547,773,0,10285,10308,3,1549,774,0,10286,10308,3,1551,775,0,10287,10308,3,1553,776,0,10288,10308,3,1555,777,0,10289,10308,3,1557,778,0,10290,10308,3,1559,779,0,10291,10308,3,1561,780,0,10292,10308,3,1563,781,0,10293,10308,3,1565,782,0,10294,10308,3,1567,783,0,10295,10308,3,1569,784,0,10296,10308,3,1571,785,0,10297,10308,3,1573,786,0,10298,10308,3,1575,787,0,10299,10308,3,1577,788,0,10300,10308,3,1579,789,0,10301,10308,3,1581,790,0,10302,10308,3,1583,791,0,10303,10308,3,1585,792,0,10304,10308,3,1587,793,0,10305,10308,3,1589,794,0,10306,10308,3,1591,795,0,10307,10266,1,0,0,0,10307,10267,1,0,0,0,10307,10268,1,0,0,0,10307,10269,1,0,0,0,10307,10270,1,0,0,0,10307,10271,1,0,0,0,10307,10272,1,0,0,0,10307,10273,1,0,0,0,10307,10274,1,0,0,0,10307,10275,1,0,0,0,10307,10276,1,0,0,0,10307,10277,1,0,0,0,10307,10278,1,0,0,0,10307,10279,1,0,0,0,10307,10280,1,0,0,0,10307,10281,1,0,0,0,10307,10282,1,0,0,0,10307,10283,1,0,0,0,10307,10284,1,0,0,0,10307,10285,1,0,0,0,10307,10286,1,0,0,0,10307,10287,1,0,0,0,10307,10288,1,0,0,0,10307,10289,1,0,0,0,10307,10290,1,0,0,0,10307,10291,1,0,0,0,10307,10292,1,0,0,0,10307,10293,1,0,0,0,10307,10294,1,0,0,0,10307,10295,1,0,0,0,10307,10296,1,0,0,0,10307,10297,1,0,0,0,10307,10298,1,0,0,0,10307,10299,1,0,0,0,10307,10300,1,0,0,0,10307,10301,1,0,0,0,10307,10302,1,0,0,0,10307,10303,1,0,0,0,10307,10304,1,0,0,0,10307,10305,1,0,0,0,10307,10306,1,0,0,0,10308,1792,1,0,0,0,10309,10311,7,8,0,0,10310,10312,7,31,0,0,10311,10310,1,0,0,0,10311,10312,1,0,0,0,10312,10314,1,0,0,0,10313,10315,3,1805,902,0,10314,10313,1,0,0,0,10315,10316,1,0,0,0,10316,10314,1,0,0,0,10316,10317,1,0,0,0,10317,1794,1,0,0,0,10318,10320,7,32,0,0,10319,10318,1,0,0,0,10320,10323,1,0,0,0,10321,10322,1,0,0,0,10321,10319,1,0,0,0,10322,10325,1,0,0,0,10323,10321,1,0,0,0,10324,10326,7,33,0,0,10325,10324,1,0,0,0,10326,10327,1,0,0,0,10327,10328,1,0,0,0,10327,10325,1,0,0,0,10328,10332,1,0,0,0,10329,10331,7,32,0,0,10330,10329,1,0,0,0,10331,10334,1,0,0,0,10332,10330,1,0,0,0,10332,10333,1,0,0,0,10333,1796,1,0,0,0,10334,10332,1,0,0,0,10335,10343,5,34,0,0,10336,10337,5,92,0,0,10337,10342,9,0,0,0,10338,10339,5,34,0,0,10339,10342,5,34,0,0,10340,10342,8,34,0,0,10341,10336,1,0,0,0,10341,10338,1,0,0,0,10341,10340,1,0,0,0,10342,10345,1,0,0,0,10343,10341,1,0,0,0,10343,10344,1,0,0,0,10344,10346,1,0,0,0,10345,10343,1,0,0,0,10346,10347,5,34,0,0,10347,1798,1,0,0,0,10348,10356,5,39,0,0,10349,10350,5,92,0,0,10350,10355,9,0,0,0,10351,10352,5,39,0,0,10352,10355,5,39,0,0,10353,10355,8,35,0,0,10354,10349,1,0,0,0,10354,10351,1,0,0,0,10354,10353,1,0,0,0,10355,10358,1,0,0,0,10356,10354,1,0,0,0,10356,10357,1,0,0,0,10357,10359,1,0,0,0,10358,10356,1,0,0,0,10359,10360,5,39,0,0,10360,1800,1,0,0,0,10361,10367,5,96,0,0,10362,10366,8,36,0,0,10363,10364,5,96,0,0,10364,10366,5,96,0,0,10365,10362,1,0,0,0,10365,10363,1,0,0,0,10366,10369,1,0,0,0,10367,10365,1,0,0,0,10367,10368,1,0,0,0,10368,10370,1,0,0,0,10369,10367,1,0,0,0,10370,10371,5,96,0,0,10371,1802,1,0,0,0,10372,10373,7,37,0,0,10373,1804,1,0,0,0,10374,10375,7,38,0,0,10375,1806,1,0,0,0,10376,10377,7,17,0,0,10377,10379,5,39,0,0,10378,10380,7,39,0,0,10379,10378,1,0,0,0,10380,10381,1,0,0,0,10381,10379,1,0,0,0,10381,10382,1,0,0,0,10382,10383,1,0,0,0,10383,10384,5,39,0,0,10384,1808,1,0,0,0,10385,10387,7,38,0,0,10386,10385,1,0,0,0,10387,10388,1,0,0,0,10388,10386,1,0,0,0,10388,10389,1,0,0,0,10389,10390,1,0,0,0,10390,10392,5,46,0,0,10391,10393,7,40,0,0,10392,10391,1,0,0,0,10393,10394,1,0,0,0,10394,10392,1,0,0,0,10394,10395,1,0,0,0,10395,10416,1,0,0,0,10396,10398,7,37,0,0,10397,10396,1,0,0,0,10398,10401,1,0,0,0,10399,10397,1,0,0,0,10399,10400,1,0,0,0,10400,10402,1,0,0,0,10401,10399,1,0,0,0,10402,10406,5,58,0,0,10403,10405,7,37,0,0,10404,10403,1,0,0,0,10405,10408,1,0,0,0,10406,10404,1,0,0,0,10406,10407,1,0,0,0,10407,10409,1,0,0,0,10408,10406,1,0,0,0,10409,10411,5,58,0,0,10410,10412,7,41,0,0,10411,10410,1,0,0,0,10412,10413,1,0,0,0,10413,10411,1,0,0,0,10413,10414,1,0,0,0,10414,10416,1,0,0,0,10415,10386,1,0,0,0,10415,10399,1,0,0,0,10416,1810,1,0,0,0,10417,10418,9,0,0,0,10418,10419,1,0,0,0,10419,10420,6,905,2,0,10420,1812,1,0,0,0,53,0,1816,1827,1840,1854,1858,1863,1867,1871,1877,1881,1883,9137,9164,10132,10141,10151,10156,10165,10175,10177,10182,10189,10194,10202,10209,10216,10220,10242,10244,10251,10254,10261,10264,10307,10311,10316,10321,10327,10332,10341,10343,10354,10356,10365,10367,10381,10388,10394,10399,10406,10413,10415,3,0,1,0,0,2,0,0,3,0],o.vocabulary=new Se(o.literalNames,o.symbolicNames,[]),o.decisionsToDFA=o._ATN.decisionToState.map((n,e)=>new Y0(n,e));class _r extends q5{constructor(e){super(e),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var e,i,s,h;return this.entityCollecting&&((i=(e=this.tokenStream.LT(-1))===null||e===void 0?void 0:e.tokenIndex)!==null&&i!==void 0?i:1/0)<=this.caretTokenIndex&&((h=(s=this.tokenStream.LT(1))===null||s===void 0?void 0:s.tokenIndex)!==null&&h!==void 0?h:-1/0)>=this.caretTokenIndex}}class t extends _r{get grammarFileName(){return"MySqlParser.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(e,i){return new d7(this,e,i)}constructor(e){super(e),this.interpreter=new C7(this,t._ATN,t.decisionsToDFA,new Ti)}program(){let e=new Ar(this.context,this.state);this.enterRule(e,0,t.RULE_program);let i;try{this.enterOuterAlt(e,1);{for(this.state=841,this.errorHandler.sync(this),i=this.tokenStream.LA(1);!(i&-32)&&1<'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'('","')'","','","';'","'@'","'0'","'1'","'2'","'3'","'''",`'"'`,"'`'","':'"],t.symbolicNames=[null,"SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","KW_ACTIVE","KW_ADD","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ARRAY","KW_AS","KW_ASC","KW_ATTRIBUTE","KW_BEFORE","KW_BETWEEN","KW_BOTH","KW_BUCKETS","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CHANGE","KW_CHARACTER","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONDITION","KW_CONSTRAINT","KW_CONTINUE","KW_CONVERT","KW_CREATE","KW_CROSS","KW_CURRENT","KW_CURRENT_USER","KW_CURSOR","KW_DATABASE","KW_DATABASES","KW_DECLARE","KW_DEFAULT","KW_DELAYED","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DETERMINISTIC","KW_DIAGNOSTICS","KW_DISTINCT","KW_DISTINCTROW","KW_DROP","KW_EACH","KW_ELSE","KW_ELSEIF","KW_EMPTY","KW_ENCLOSED","KW_ENFORCED","KW_ESCAPED","KW_EXCEPT","KW_EXISTS","KW_EXIT","KW_EXPLAIN","KW_FALSE","KW_FETCH","KW_FOR","KW_FORCE","KW_FOREIGN","KW_FROM","KW_FULLTEXT","KW_GENERATE","KW_GENERATED","KW_GET","KW_GRANT","KW_GROUP","KW_HAVING","KW_HIGH_PRIORITY","KW_HISTOGRAM","KW_IF","KW_IGNORE","KW_IN","KW_INACTIVE","KW_INDEX","KW_INFILE","KW_INNER","KW_INOUT","KW_INSERT","KW_INTERVAL","KW_INTO","KW_IS","KW_ITERATE","KW_JOIN","KW_KEY","KW_KEYS","KW_KILL","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LIKE","KW_LIMIT","KW_LINEAR","KW_LINES","KW_LOAD","KW_LOCK","KW_LOCKED","KW_LOOP","KW_LOW_PRIORITY","KW_MASTER_BIND","KW_MASTER_SSL_VERIFY_SERVER_CERT","KW_MATCH","KW_MAXVALUE","KW_MODIFIES","KW_NATURAL","KW_NOT","KW_NO_WRITE_TO_BINLOG","KW_NULL_LITERAL","KW_NUMBER","KW_STREAM","KW_ON","KW_OPTIMIZE","KW_OPTION","KW_OPTIONAL","KW_OPTIONALLY","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTFILE","KW_OVER","KW_PARTITION","KW_PRIMARY","KW_PROCEDURE","KW_PURGE","KW_RANGE","KW_READ","KW_READS","KW_REFERENCE","KW_REFERENCES","KW_REGEXP","KW_RELEASE","KW_RENAME","KW_REPEAT","KW_REPLACE","KW_REQUIRE","KW_RESIGNAL","KW_RESTRICT","KW_RETAIN","KW_RETURN","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SET","KW_SEPARATOR","KW_SHOW","KW_SIGNAL","KW_SKIP","KW_SKIP_QUERY_REWRITE","KW_SPATIAL","KW_SQL","KW_SQLEXCEPTION","KW_SQLSTATE","KW_SQLWARNING","KW_SQL_BIG_RESULT","KW_SQL_CALC_FOUND_ROWS","KW_SQL_SMALL_RESULT","KW_SSL","KW_STACKED","KW_STARTING","KW_STRAIGHT_JOIN","KW_TABLE","KW_TERMINATED","KW_THEN","KW_TO","KW_TRAILING","KW_TRIGGER","KW_TRUE","KW_UNDO","KW_UNION","KW_UNIQUE","KW_UNLOCK","KW_UNSIGNED","KW_UPDATE","KW_USAGE","KW_USE","KW_USING","KW_VALUES","KW_VCPU","KW_WHEN","KW_WHERE","KW_WHILE","KW_WITH","KW_WRITE","KW_XOR","KW_ZEROFILL","KW_TINYINT","KW_SMALLINT","KW_MEDIUMINT","KW_MIDDLEINT","KW_INT","KW_INT1","KW_INT2","KW_INT3","KW_INT4","KW_INT8","KW_INTEGER","KW_BIGINT","KW_REAL","KW_DOUBLE","KW_PRECISION","KW_FLOAT","KW_FLOAT4","KW_FLOAT8","KW_DECIMAL","KW_DEC","KW_NUMERIC","KW_DATE","KW_TIME","KW_TIMESTAMP","KW_DATETIME","KW_YEAR","KW_CHAR","KW_VARCHAR","KW_NVARCHAR","KW_NATIONAL","KW_BINARY","KW_VARBINARY","KW_TINYBLOB","KW_BLOB","KW_MEDIUMBLOB","KW_LONG","KW_LONGBLOB","KW_TINYTEXT","KW_TEXT","KW_MEDIUMTEXT","KW_LONGTEXT","KW_ENUM","KW_VARYING","KW_SERIAL","KW_YEAR_MONTH","KW_DAY_HOUR","KW_DAY_MINUTE","KW_DAY_SECOND","KW_HOUR_MINUTE","KW_HOUR_SECOND","KW_MINUTE_SECOND","KW_SECOND_MICROSECOND","KW_MINUTE_MICROSECOND","KW_HOUR_MICROSECOND","KW_DAY_MICROSECOND","KW_JSON_TABLE","KW_JSON_VALUE","KW_NESTED","KW_ORDINALITY","KW_PATH","KW_AVG","KW_BIT_AND","KW_BIT_OR","KW_BIT_XOR","KW_COUNT","KW_CUME_DIST","KW_DENSE_RANK","KW_FIRST_VALUE","KW_GROUP_CONCAT","KW_LAG","KW_LAST_VALUE","KW_LEAD","KW_MAX","KW_MIN","KW_NTILE","KW_NTH_VALUE","KW_PERCENT_RANK","KW_RANK","KW_ROW_NUMBER","KW_STD","KW_STDDEV","KW_STDDEV_POP","KW_STDDEV_SAMP","KW_SUM","KW_VAR_POP","KW_VAR_SAMP","KW_VARIANCE","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_LOCALTIME","KW_CURDATE","KW_CURTIME","KW_DATE_ADD","KW_DATE_SUB","KW_EXTRACT","KW_LOCALTIMESTAMP","KW_NOW","KW_POSITION","KW_SUBSTR","KW_SUBSTRING","KW_SYSDATE","KW_TRIM","KW_UTC_DATE","KW_UTC_TIME","KW_UTC_TIMESTAMP","KW_ACCOUNT","KW_ACTION","KW_AFTER","KW_AGGREGATE","KW_ALGORITHM","KW_ANY","KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS","KW_AT","KW_AUTHORS","KW_AUTOCOMMIT","KW_AUTOEXTEND_SIZE","KW_AUTO_INCREMENT","KW_AVG_ROW_LENGTH","KW_BEGIN","KW_BINLOG","KW_BIT","KW_BLOCK","KW_BOOL","KW_BOOLEAN","KW_BTREE","KW_CACHE","KW_CASCADED","KW_CHAIN","KW_CHANGED","KW_CHANNEL","KW_CHECKSUM","KW_CHALLENGE_RESPONSE","KW_CIPHER","KW_CLASS_ORIGIN","KW_CLIENT","KW_CLOSE","KW_COALESCE","KW_CODE","KW_COLUMNS","KW_COLUMN_FORMAT","KW_COLUMN_NAME","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPLETION","KW_COMPONENT","KW_COMPRESSED","KW_COMPRESSION","KW_CONCURRENT","KW_CONNECT","KW_CONNECTION","KW_CONSISTENT","KW_CONSTRAINT_CATALOG","KW_CONSTRAINT_SCHEMA","KW_CONSTRAINT_NAME","KW_CONTAINS","KW_CONTEXT","KW_CONTRIBUTORS","KW_COPY","KW_CPU","KW_CURSOR_NAME","KW_DATA","KW_DATAFILE","KW_DEALLOCATE","KW_DEFAULT_AUTH","KW_DEFINER","KW_DELAY_KEY_WRITE","KW_DES_KEY_FILE","KW_DIRECTORY","KW_DISABLE","KW_DISCARD","KW_DISK","KW_DO","KW_DUMPFILE","KW_DUPLICATE","KW_DYNAMIC","KW_ENABLE","KW_ENCRYPTION","KW_ENCRYPTION_KEY_ID","KW_END","KW_ENDS","KW_ENGINE","KW_ENGINES","KW_ERROR","KW_ERRORS","KW_ESCAPE","KW_EVENT","KW_EVENTS","KW_EVERY","KW_EXCHANGE","KW_EXCLUSIVE","KW_EXPIRE","KW_EXPORT","KW_EXTENDED","KW_EXTENT_SIZE","KW_FACTOR","KW_FAILED_LOGIN_ATTEMPTS","KW_FAST","KW_FAULTS","KW_FIELDS","KW_FILE_BLOCK_SIZE","KW_FILTER","KW_FINISH","KW_FIRST","KW_FIXED","KW_FLUSH","KW_FOLLOWING","KW_FOLLOWS","KW_FOUND","KW_FULL","KW_FUNCTION","KW_GENERAL","KW_GET_MASTER_PUBLIC_KEY","KW_GET_SOURCE_PUBLIC_KEY","KW_GLOBAL","KW_GRANTS","KW_GROUP_REPLICATION","KW_GTID_ONLY","KW_HANDLER","KW_HASH","KW_HELP","KW_HISTORY","KW_HOST","KW_HOSTS","KW_IDENTIFIED","KW_IGNORE_SERVER_IDS","KW_IMPORT","KW_INDEXES","KW_INITIAL","KW_INITIAL_SIZE","KW_INITIATE","KW_INPLACE","KW_INSERT_METHOD","KW_INSTALL","KW_INSTANCE","KW_INSTANT","KW_INVISIBLE","KW_INVOKER","KW_IO","KW_IO_THREAD","KW_IPC","KW_ISOLATION","KW_ISSUER","KW_JSON","KW_KEY_BLOCK_SIZE","KW_LANGUAGE","KW_LAST","KW_LEAVES","KW_LESS","KW_LEVEL","KW_LIST","KW_LOCAL","KW_LOGFILE","KW_LOGS","KW_MASTER","KW_MASTER_AUTO_POSITION","KW_MASTER_COMPRESSION_ALGORITHMS","KW_MASTER_CONNECT_RETRY","KW_MASTER_DELAY","KW_MASTER_HEARTBEAT_PERIOD","KW_MASTER_HOST","KW_MASTER_LOG_FILE","KW_MASTER_LOG_POS","KW_MASTER_PASSWORD","KW_MASTER_PORT","KW_MASTER_PUBLIC_KEY_PATH","KW_MASTER_RETRY_COUNT","KW_MASTER_SSL","KW_MASTER_SSL_CA","KW_MASTER_SSL_CAPATH","KW_MASTER_SSL_CERT","KW_MASTER_SSL_CIPHER","KW_MASTER_SSL_CRL","KW_MASTER_SSL_CRLPATH","KW_MASTER_SSL_KEY","KW_MASTER_TLS_CIPHERSUITES","KW_MASTER_TLS_VERSION","KW_MASTER_USER","KW_MASTER_ZSTD_COMPRESSION_LEVEL","KW_MAX_CONNECTIONS_PER_HOUR","KW_MAX_QUERIES_PER_HOUR","KW_MAX_ROWS","KW_MAX_SIZE","KW_MAX_UPDATES_PER_HOUR","KW_MAX_USER_CONNECTIONS","KW_MEDIUM","KW_MEMBER","KW_MERGE","KW_MESSAGE_TEXT","KW_MID","KW_MIGRATE","KW_MIN_ROWS","KW_MODE","KW_MODIFY","KW_MUTEX","KW_MYSQL","KW_MYSQL_ERRNO","KW_NAME","KW_NAMES","KW_NCHAR","KW_NETWORK_NAMESPACE","KW_NEVER","KW_NEXT","KW_NO","KW_NOWAIT","KW_NODEGROUP","KW_NONE","KW_ODBC","KW_OFF","KW_OFFLINE","KW_OFFSET","KW_OF","KW_OLD","KW_OLD_PASSWORD","KW_ONE","KW_ONLINE","KW_ONLY","KW_OPEN","KW_OPTIMIZER_COSTS","KW_OPTIONS","KW_OWNER","KW_PACK_KEYS","KW_PAGE","KW_PAGE_CHECKSUM","KW_PAGE_COMPRESSED","KW_PAGE_COMPRESSION_LEVEL","KW_PARSER","KW_PARTIAL","KW_PARTITIONING","KW_PARTITIONS","KW_PASSWORD","KW_PASSWORD_LOCK_TIME","KW_PERSIST","KW_PERSIST_ONLY","KW_PHASE","KW_PLUGIN","KW_PLUGIN_DIR","KW_PLUGINS","KW_PORT","KW_PRECEDES","KW_PRECEDING","KW_PREPARE","KW_PRESERVE","KW_PREV","KW_PRIVILEGE_CHECKS_USER","KW_PROCESSLIST","KW_PROFILE","KW_PROFILES","KW_PROXY","KW_QUERY","KW_QUICK","KW_REBUILD","KW_RECOVER","KW_RECURSIVE","KW_REDO_BUFFER_SIZE","KW_REDUNDANT","KW_REGISTRATION","KW_RELAY","KW_RELAY_LOG_FILE","KW_RELAY_LOG_POS","KW_RELAYLOG","KW_REMOVE","KW_REORGANIZE","KW_REPAIR","KW_REPLICA","KW_REPLICAS","KW_REPLICATE_DO_DB","KW_REPLICATE_DO_TABLE","KW_REPLICATE_IGNORE_DB","KW_REPLICATE_IGNORE_TABLE","KW_REPLICATE_REWRITE_DB","KW_REPLICATE_WILD_DO_TABLE","KW_REPLICATE_WILD_IGNORE_TABLE","KW_REPLICATION","KW_REQUIRE_ROW_FORMAT","KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK","KW_RESET","KW_RESTART","KW_RESUME","KW_RETURNED_SQLSTATE","KW_RETURNING","KW_RETURNS","KW_REUSE","KW_ROLE","KW_ROLLBACK","KW_ROLLUP","KW_ROTATE","KW_ROW","KW_ROWS","KW_ROW_FORMAT","KW_SAVEPOINT","KW_SCHEDULE","KW_SECURITY","KW_SERVER","KW_SESSION","KW_SHARE","KW_SHARED","KW_SIGNED","KW_SIMPLE","KW_SLAVE","KW_SLOW","KW_SNAPSHOT","KW_SOCKET","KW_SOME","KW_SONAME","KW_SOUNDS","KW_SOURCE","KW_SOURCE_BIND","KW_SOURCE_HOST","KW_SOURCE_USER","KW_SOURCE_PASSWORD","KW_SOURCE_PORT","KW_SOURCE_LOG_FILE","KW_SOURCE_LOG_POS","KW_SOURCE_AUTO_POSITION","KW_SOURCE_HEARTBEAT_PERIOD","KW_SOURCE_CONNECT_RETRY","KW_SOURCE_RETRY_COUNT","KW_SOURCE_CONNECTION_AUTO_FAILOVER","KW_SOURCE_DELAY","KW_SOURCE_COMPRESSION_ALGORITHMS","KW_SOURCE_ZSTD_COMPRESSION_LEVEL","KW_SOURCE_SSL","KW_SOURCE_SSL_CA","KW_SOURCE_SSL_CAPATH","KW_SOURCE_SSL_CERT","KW_SOURCE_SSL_CRL","KW_SOURCE_SSL_CRLPATH","KW_SOURCE_SSL_KEY","KW_SOURCE_SSL_CIPHER","KW_SOURCE_SSL_VERIFY_SERVER_CERT","KW_SOURCE_TLS_VERSION","KW_SOURCE_TLS_CIPHERSUITES","KW_SOURCE_PUBLIC_KEY_PATH","KW_SQL_AFTER_GTIDS","KW_SQL_AFTER_MTS_GAPS","KW_SQL_BEFORE_GTIDS","KW_SQL_BUFFER_RESULT","KW_SQL_CACHE","KW_SQL_NO_CACHE","KW_SQL_THREAD","KW_START","KW_STARTS","KW_STATS_AUTO_RECALC","KW_STATS_PERSISTENT","KW_STATS_SAMPLE_PAGES","KW_STATUS","KW_STOP","KW_STORAGE","KW_STORED","KW_STRING","KW_SUBCLASS_ORIGIN","KW_SUBJECT","KW_SUBPARTITION","KW_SUBPARTITIONS","KW_SUSPEND","KW_SWAPS","KW_SWITCHES","KW_TABLE_NAME","KW_TABLESPACE","KW_TABLE_TYPE","KW_TEMPORARY","KW_TEMPTABLE","KW_THAN","KW_TRADITIONAL","KW_TRANSACTION","KW_TRANSACTIONAL","KW_TREE","KW_TRIGGERS","KW_TRUNCATE","KW_UNBOUNDED","KW_UNDEFINED","KW_UNDOFILE","KW_UNDO_BUFFER_SIZE","KW_UNINSTALL","KW_UNKNOWN","KW_UNREGISTER","KW_UNTIL","KW_UPGRADE","KW_USER","KW_USE_FRM","KW_USER_RESOURCES","KW_VALIDATION","KW_VALUE","KW_VARIABLES","KW_VIEW","KW_VIRTUAL","KW_VISIBLE","KW_WAIT","KW_WARNINGS","KW_WINDOW","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_X509","KW_XA","KW_XML","KW_QUARTER","KW_MONTH","KW_DAY","KW_HOUR","KW_MINUTE","KW_WEEK","KW_SECOND","KW_MICROSECOND","KW_ADMIN","KW_APPLICATION_PASSWORD_ADMIN","KW_AUDIT_ABORT_EXEMPT","KW_AUDIT_ADMIN","KW_AUTHENTICATION","KW_AUTHENTICATION_POLICY_ADMIN","KW_BACKUP_ADMIN","KW_BINLOG_ADMIN","KW_BINLOG_ENCRYPTION_ADMIN","KW_CLONE","KW_CLONE_ADMIN","KW_CONNECTION_ADMIN","KW_ENCRYPTION_KEY_ADMIN","KW_EXECUTE","KW_FILE","KW_FIREWALL_ADMIN","KW_FIREWALL_EXEMPT","KW_FIREWALL_USER","KW_FLUSH_OPTIMIZER_COSTS","KW_FLUSH_STATUS","KW_FLUSH_TABLES","KW_FLUSH_USER_RESOURCES","KW_GROUP_REPLICATION_ADMIN","KW_INNODB_REDO_LOG_ARCHIVE","KW_INNODB_REDO_LOG_ENABLE","KW_INVOKE","KW_LAMBDA","KW_NDB_STORED_USER","KW_PASSWORDLESS_USER_ADMIN","KW_PERSIST_RO_VARIABLES_ADMIN","KW_PRIVILEGES","KW_PROCESS","KW_RELOAD","KW_REPLICATION_APPLIER","KW_REPLICATION_SLAVE_ADMIN","KW_RESOURCE","KW_RESOURCE_GROUP_ADMIN","KW_RESOURCE_GROUP_USER","KW_ROLE_ADMIN","KW_ROUTINE","KW_S3","KW_SERVICE_CONNECTION_ADMIN","KW_SESSION_VARIABLES_ADMIN","KW_SET_USER_ID","KW_SHOW_ROUTINE","KW_SHUTDOWN","KW_SUPER","KW_SYSTEM_VARIABLES_ADMIN","KW_TABLES","KW_TABLE_ENCRYPTION_ADMIN","KW_VERSION_TOKEN_ADMIN","KW_XA_RECOVER_ADMIN","KW_ARMSCII8","KW_ASCII","KW_BIG5","KW_CP1250","KW_CP1251","KW_CP1256","KW_CP1257","KW_CP850","KW_CP852","KW_CP866","KW_CP932","KW_DEC8","KW_EUCJPMS","KW_EUCKR","KW_GB18030","KW_GB2312","KW_GBK","KW_GEOSTD8","KW_GREEK","KW_HEBREW","KW_HP8","KW_KEYBCS2","KW_KOI8R","KW_KOI8U","KW_LATIN1","KW_LATIN2","KW_LATIN5","KW_LATIN7","KW_MACCE","KW_MACROMAN","KW_SJIS","KW_SWE7","KW_TIS620","KW_UCS2","KW_UJIS","KW_UTF16","KW_UTF16LE","KW_UTF32","KW_UTF8","KW_UTF8MB3","KW_UTF8MB4","KW_ARCHIVE","KW_BLACKHOLE","KW_CSV","KW_FEDERATED","KW_INNODB","KW_MEMORY","KW_MRG_MYISAM","KW_MYISAM","KW_NDB","KW_NDBCLUSTER","KW_PERFORMANCE_SCHEMA","KW_TOKUDB","KW_REPEATABLE","KW_COMMITTED","KW_UNCOMMITTED","KW_SERIALIZABLE","KW_GEOMETRYCOLLECTION","KW_GEOMCOLLECTION","KW_GEOMETRY","KW_LINESTRING","KW_MULTILINESTRING","KW_MULTIPOINT","KW_MULTIPOLYGON","KW_POINT","KW_POLYGON","KW_CATALOG_NAME","KW_CHARSET","KW_COLLATION","KW_ENGINE_ATTRIBUTE","KW_FORMAT","KW_GET_FORMAT","KW_INTERSECT","KW_RANDOM","KW_REVERSE","KW_ROW_COUNT","KW_SCHEMA_NAME","KW_SECONDARY_ENGINE_ATTRIBUTE","KW_SRID","KW_SYSTEM","KW_SYSTEM_USER","KW_THREAD_PRIORITY","KW_TP_CONNECTION_ADMIN","KW_TYPE","KW_WEIGHT_STRING","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","THREE_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","PERSIST_ID","ERROR_RECONGNIGION"],t.ruleNames=["program","singleStatement","sqlStatement","emptyStatement_","ddlStatement","dmlStatement","transactionStatement","replicationStatement","preparedStatement","compoundStatement","administrationStatement","utilityStatement","createDatabase","createEvent","createIndex","createLogfileGroup","createProcedure","createFunction","createFunctionLoadable","createRole","createServer","createTable","createTablespaceInnodb","createTablespaceNdb","createTrigger","withClause","commonTableExpressions","createView","createDatabaseOption","charSet","currentUserExpression","ownerStatement","scheduleExpression","timestampValue","intervalExpr","intervalType","enableType","indexType","indexOption","procedureParameter","functionParameter","routineOption","serverOption","createDefinitions","createDefinition","checkConstraintDefinition","constraintSymbol","columnDefinition","columnConstraint","referenceDefinition","referenceAction","referenceControlType","tableOption","tableType","tablespaceStorage","partitionDefinitions","partitionFunctionDefinition","subpartitionFunctionDefinition","partitionDefinition","partitionDefinerAtom","partitionDefinerVector","subpartitionDefinition","partitionOption","alterDatabase","alterEvent","alterFunction","alterInstance","alterLogfileGroup","alterProcedure","alterServer","alterTable","alterTablespace","alterView","alterOption","alterPartitionSpecification","dropDatabase","dropEvent","dropIndex","dropLogfileGroup","dropProcedure","dropFunction","dropServer","dropSpatial","dropTable","dropTablespace","dropTrigger","dropView","dropRole","setRole","renameTable","renameTableClause","truncateTable","callStatement","deleteStatement","doStatement","handlerStatement","insertStatement","asRowAlias","selectOrTableOrValues","interSectStatement","interSectQuery","loadDataStatement","loadXmlStatement","parenthesizedQuery","replaceStatement","selectStatement","setOperations","queryExpressionBody","queryItem","queryPrimary","updateStatement","valuesStatement","parenthesizedQueryExpression","queryBlock","replaceStatementValuesOrSelectOrTable","rowValuesList","setAssignmentList","updatedElement","assignmentField","lockClause","singleDeleteStatement","multipleDeleteStatement","handlerOpenStatement","handlerReadIndexStatement","handlerReadStatement","handlerCloseStatement","importTableStatement","singleUpdateStatement","multipleUpdateStatement","orderByClause","orderByExpression","tableSources","tableSource","tableSourceItem","fullColumnNames","indexHint","indexHintType","joinPart","joinSpec","queryExpression","querySpecification","unionStatement","lateralStatement","jsonTable","jsonColumnList","jsonColumn","jsonOnEmpty","jsonOnError","selectSpec","selectElements","selectElement","intoClause","selectFieldsInto","selectLinesInto","fromClause","groupByClause","havingClause","windowClause","groupByItem","limitClause","limitClauseAtom","startTransaction","beginWork","commitWork","rollbackWork","savepointStatement","rollbackStatement","releaseStatement","lockTables","unlockTables","setAutocommitStatement","setTransactionStatement","transactionMode","lockTableElement","lockAction","transactionOption","transactionLevel","changeMaster","changeReplicationFilter","changeReplicationSource","purgeBinaryLogs","startSlaveOrReplica","stopSlaveOrReplica","startGroupReplication","stopGroupReplication","masterOption","stringMasterOption","decimalMasterOption","boolMasterOption","v8NewMasterOption","replicationSourceOption","stringSourceOption","decimalSourceOption","boolSourceOption","otherSourceOption","channelOption","replicationFilter","tablePair","threadType","untilOption","connectionOptions","gtuidSet","xaStartTransaction","xaEndTransaction","xaPrepareStatement","xaCommitWork","xaRollbackWork","xaRecoverWork","prepareStatement","executeStatement","deallocatePrepare","routineBody","blockStatement","caseStatement","ifStatement","iterateStatement","leaveStatement","loopStatement","repeatStatement","returnStatement","whileStatement","cursorStatement","declareVariable","declareCondition","declareCursor","declareHandler","handlerConditionValue","procedureSqlStatement","caseAlternative","elifAlternative","alterUser","createUser","dropUser","grantStatement","roleOption","grantProxy","alterResourceGroup","createResourceGroup","dropResourceGroup","setResourceGroup","resourceGroupVcpuSpec","renameUser","revokeStatement","ignoreUnknownUser","privilegeObjectType","setPasswordStatement","userSpecification","alterUserAuthOption","createUserAuthOption","createUserInitialAuthOption","userAuthOption","authOptionClause","authenticationRule","tlsOption","userResourceOption","userPasswordOption","userLockOption","factorAuthOption","registrationOption","factor","privelegeClause","privilege","privilegeLevel","renameUserClause","analyzeTable","checkTable","checksumTable","optimizeTable","repairTable","tableActionOption","checkTableOption","installComponent","variableExpr","uninstallComponent","installPlugin","uninstallPlugin","cloneStatement","setStatement","showStatement","variableClause","showCommonEntity","showFilter","showGlobalInfoClause","showSchemaEntity","showProfileType","binlogStatement","cacheIndexStatement","flushStatement","killStatement","loadIndexIntoCache","resetStatement","resetOption","resetPersist","resetAllChannel","reStartStatement","shutdownStatement","tableIndex","flushOption","flushTableOption","loadedTableIndexes","simpleDescribeStatement","fullDescribeStatement","analyzeDescribeStatement","helpStatement","useStatement","signalStatement","resignalStatement","signalConditionInformation","withStatement","tableStatement","diagnosticsStatement","diagnosticsConditionInformationName","describeObjectClause","databaseNameCreate","databaseName","functionNameCreate","functionName","viewNameCreate","viewName","indexNameCreate","indexNames","indexName","groupNameCreate","groupName","tableNameCreate","tableNames","tableName","userOrRoleNames","userOrRoleName","columnNameCreate","columnNames","columnName","tablespaceNameCreate","tablespaceName","partitionNameCreate","partitionNames","partitionName","indexColumnName","userHostPort","userAtHost","simpleUserName","hostName","userName","mysqlVariable","charsetName","collationName","engineName","engineNameBase","uuidSet","xid","xuidStringId","fullId","uidList","uid","simpleId","dottedId","decimalLiteral","fileSizeLiteral","stringLiteral","booleanLiteral","hexadecimalLiteral","nullNotnull","constant","dataType","collectionOptions","convertedDataType","lengthOneDimension","lengthTwoDimension","lengthTwoOptionalDimension","indexColumnNames","expressions","valuesOrValueList","expressionsWithDefaults","expressionOrDefault","constants","simpleStrings","userVariables","defaultValue","currentTimestamp","ifExists","ifNotExists","orReplace","functionCall","specificFunction","caseFuncAlternative","levelsInWeightString","levelInWeightListElement","aggregateWindowedFunction","nonAggregateWindowedFunction","overClause","windowSpec","windowName","frameClause","frameUnits","frameExtent","frameBetween","frameRange","partitionClause","scalarFunctionName","passwordFunctionClause","functionArgs","functionArg","expression","predicate","expressionAtom","unaryOperator","comparisonOperator","comparisonBase","logicalOperator","bitOperator","mathOperator","jsonOperator","charsetNameBase","transactionLevelBase","privilegesBase","intervalTypeBase","dataTypeBase","keywordsCanBeId","functionNameBase"],t._serializedATN=[4,1,895,8072,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,1,0,5,0,840,8,0,10,0,12,0,843,9,0,1,0,1,0,1,1,1,1,3,1,849,8,1,1,1,3,1,852,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,861,8,2,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,905,8,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,924,8,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,935,8,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,3,7,951,8,7,1,8,1,8,1,8,3,8,956,8,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,968,8,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,1003,8,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11,1013,8,11,1,12,1,12,1,12,3,12,1018,8,12,1,12,1,12,5,12,1022,8,12,10,12,12,12,1025,9,12,1,13,1,13,3,13,1029,8,13,1,13,1,13,3,13,1033,8,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,3,13,1042,8,13,1,13,3,13,1045,8,13,1,13,3,13,1048,8,13,1,13,1,13,3,13,1052,8,13,1,13,1,13,1,13,1,14,1,14,3,14,1059,8,14,1,14,3,14,1062,8,14,1,14,1,14,1,14,3,14,1067,8,14,1,14,1,14,1,14,1,14,5,14,1073,8,14,10,14,12,14,1076,9,14,1,14,1,14,3,14,1080,8,14,1,14,1,14,1,14,3,14,1085,8,14,1,14,5,14,1088,8,14,10,14,12,14,1091,9,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,3,15,1102,8,15,1,15,3,15,1105,8,15,1,15,1,15,3,15,1109,8,15,1,15,3,15,1112,8,15,1,15,1,15,3,15,1116,8,15,1,15,3,15,1119,8,15,1,15,1,15,3,15,1123,8,15,1,15,3,15,1126,8,15,1,15,3,15,1129,8,15,1,15,1,15,3,15,1133,8,15,1,15,3,15,1136,8,15,1,15,1,15,3,15,1140,8,15,1,15,1,15,1,16,1,16,3,16,1146,8,16,1,16,1,16,3,16,1150,8,16,1,16,1,16,1,16,3,16,1155,8,16,1,16,1,16,5,16,1159,8,16,10,16,12,16,1162,9,16,1,16,1,16,5,16,1166,8,16,10,16,12,16,1169,9,16,1,16,1,16,1,17,1,17,3,17,1175,8,17,1,17,3,17,1178,8,17,1,17,1,17,3,17,1182,8,17,1,17,1,17,1,17,3,17,1187,8,17,1,17,1,17,5,17,1191,8,17,10,17,12,17,1194,9,17,1,17,1,17,1,17,1,17,5,17,1200,8,17,10,17,12,17,1203,9,17,1,17,1,17,3,17,1207,8,17,1,18,1,18,3,18,1211,8,18,1,18,1,18,3,18,1215,8,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,3,19,1226,8,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,5,20,1242,8,20,10,20,12,20,1245,9,20,1,20,1,20,1,21,1,21,3,21,1251,8,21,1,21,1,21,3,21,1255,8,21,1,21,1,21,3,21,1259,8,21,1,21,1,21,3,21,1263,8,21,1,21,5,21,1266,8,21,10,21,12,21,1269,9,21,3,21,1271,8,21,1,21,3,21,1274,8,21,1,21,3,21,1277,8,21,1,21,3,21,1280,8,21,1,21,1,21,1,21,1,21,3,21,1286,8,21,1,21,1,21,3,21,1290,8,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1300,8,21,1,21,1,21,3,21,1304,8,21,1,21,1,21,3,21,1308,8,21,1,21,1,21,1,21,1,21,3,21,1314,8,21,1,21,5,21,1317,8,21,10,21,12,21,1320,9,21,3,21,1322,8,21,1,21,3,21,1325,8,21,3,21,1327,8,21,1,22,1,22,3,22,1331,8,22,1,22,1,22,1,22,1,22,1,22,3,22,1338,8,22,1,22,1,22,3,22,1342,8,22,1,22,3,22,1345,8,22,1,22,1,22,1,22,3,22,1350,8,22,1,22,1,22,3,22,1354,8,22,1,22,3,22,1357,8,22,1,22,1,22,3,22,1361,8,22,1,22,3,22,1364,8,22,1,23,1,23,3,23,1368,8,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,3,23,1381,8,23,1,23,3,23,1384,8,23,1,23,1,23,3,23,1388,8,23,1,23,3,23,1391,8,23,1,23,1,23,3,23,1395,8,23,1,23,3,23,1398,8,23,1,23,1,23,3,23,1402,8,23,1,23,3,23,1405,8,23,1,23,1,23,3,23,1409,8,23,1,23,3,23,1412,8,23,1,23,3,23,1415,8,23,1,23,1,23,3,23,1419,8,23,1,23,3,23,1422,8,23,1,23,1,23,3,23,1426,8,23,1,23,1,23,1,24,1,24,3,24,1432,8,24,1,24,3,24,1435,8,24,1,24,1,24,3,24,1439,8,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,3,24,1451,8,24,1,24,1,24,1,25,1,25,3,25,1457,8,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,5,26,1466,8,26,10,26,12,26,1469,9,26,1,26,1,26,3,26,1473,8,26,1,26,1,26,1,26,1,26,1,26,1,26,3,26,1481,8,26,1,27,1,27,3,27,1485,8,27,1,27,1,27,1,27,3,27,1490,8,27,1,27,3,27,1493,8,27,1,27,1,27,1,27,3,27,1498,8,27,1,27,1,27,1,27,1,27,1,27,1,27,5,27,1506,8,27,10,27,12,27,1509,9,27,1,27,1,27,3,27,1513,8,27,1,27,1,27,1,27,3,27,1518,8,27,1,27,1,27,1,27,1,27,3,27,1524,8,27,1,27,1,27,1,27,3,27,1529,8,27,1,27,1,27,3,27,1533,8,27,3,27,1535,8,27,1,28,3,28,1538,8,28,1,28,1,28,3,28,1542,8,28,1,28,1,28,3,28,1546,8,28,1,28,3,28,1549,8,28,1,28,1,28,3,28,1553,8,28,1,28,1,28,3,28,1557,8,28,1,28,1,28,3,28,1561,8,28,1,28,1,28,1,28,1,28,3,28,1567,8,28,1,28,3,28,1570,8,28,1,29,1,29,1,29,1,29,1,29,3,29,1577,8,29,1,30,1,30,1,30,3,30,1582,8,30,1,31,1,31,1,31,1,31,3,31,1588,8,31,1,32,1,32,1,32,5,32,1593,8,32,10,32,12,32,1596,9,32,1,32,1,32,1,32,3,32,1601,8,32,1,32,1,32,1,32,1,32,5,32,1607,8,32,10,32,12,32,1610,9,32,3,32,1612,8,32,1,32,1,32,1,32,5,32,1617,8,32,10,32,12,32,1620,9,32,3,32,1622,8,32,3,32,1624,8,32,1,33,1,33,1,33,1,33,3,33,1630,8,33,1,34,1,34,1,34,1,34,3,34,1636,8,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1653,8,35,1,36,1,36,1,36,1,36,1,36,3,36,1660,8,36,1,37,1,37,1,37,1,38,1,38,3,38,1667,8,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1679,8,38,1,38,1,38,1,38,3,38,1684,8,38,1,38,3,38,1687,8,38,1,39,3,39,1690,8,39,1,39,1,39,1,39,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,3,41,1703,8,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,3,41,1716,8,41,1,41,1,41,1,41,3,41,1721,8,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,1737,8,42,1,43,1,43,1,43,1,43,5,43,1743,8,43,10,43,12,43,1746,9,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,3,44,1755,8,44,1,44,3,44,1758,8,44,1,44,1,44,5,44,1762,8,44,10,44,12,44,1765,9,44,1,44,1,44,3,44,1769,8,44,1,44,3,44,1772,8,44,1,44,1,44,5,44,1776,8,44,10,44,12,44,1779,9,44,1,44,3,44,1782,8,44,1,44,1,44,1,44,3,44,1787,8,44,1,44,1,44,5,44,1791,8,44,10,44,12,44,1794,9,44,1,44,3,44,1797,8,44,1,44,1,44,3,44,1801,8,44,1,44,3,44,1804,8,44,1,44,3,44,1807,8,44,1,44,1,44,5,44,1811,8,44,10,44,12,44,1814,9,44,1,44,3,44,1817,8,44,1,44,1,44,1,44,3,44,1822,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1833,8,44,1,45,3,45,1836,8,45,1,45,1,45,1,45,1,45,1,45,3,45,1843,8,45,1,45,3,45,1846,8,45,1,46,1,46,3,46,1850,8,46,1,47,1,47,5,47,1854,8,47,10,47,12,47,1857,9,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,1868,8,48,1,48,3,48,1871,8,48,1,48,1,48,1,48,3,48,1876,8,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,1889,8,48,1,48,1,48,1,48,1,48,1,48,3,48,1896,8,48,1,48,1,48,1,48,1,48,3,48,1902,8,48,1,49,1,49,1,49,3,49,1907,8,49,1,49,1,49,3,49,1911,8,49,1,49,3,49,1914,8,49,1,50,1,50,1,50,1,50,1,50,1,50,3,50,1922,8,50,1,50,1,50,1,50,1,50,1,50,1,50,3,50,1930,8,50,3,50,1932,8,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,3,51,1942,8,51,1,52,1,52,3,52,1946,8,52,1,52,3,52,1949,8,52,1,52,1,52,3,52,1953,8,52,1,52,1,52,1,52,3,52,1958,8,52,1,52,1,52,1,52,3,52,1963,8,52,1,52,1,52,1,52,3,52,1968,8,52,1,52,1,52,3,52,1972,8,52,1,52,1,52,3,52,1976,8,52,1,52,1,52,3,52,1980,8,52,1,52,1,52,3,52,1984,8,52,1,52,1,52,3,52,1988,8,52,1,52,1,52,3,52,1992,8,52,1,52,1,52,1,52,3,52,1997,8,52,1,52,1,52,1,52,3,52,2002,8,52,1,52,1,52,1,52,3,52,2007,8,52,1,52,1,52,1,52,1,52,3,52,2013,8,52,1,52,1,52,1,52,3,52,2018,8,52,1,52,1,52,1,52,3,52,2023,8,52,1,52,1,52,1,52,3,52,2028,8,52,1,52,1,52,1,52,3,52,2033,8,52,1,52,1,52,1,52,3,52,2038,8,52,1,52,1,52,1,52,1,52,3,52,2044,8,52,1,52,1,52,1,52,3,52,2049,8,52,1,52,1,52,1,52,3,52,2054,8,52,1,52,1,52,1,52,3,52,2059,8,52,1,52,1,52,1,52,3,52,2064,8,52,1,52,1,52,1,52,3,52,2069,8,52,1,52,1,52,1,52,3,52,2074,8,52,1,52,1,52,1,52,3,52,2079,8,52,1,52,1,52,1,52,1,52,1,52,3,52,2086,8,52,1,52,1,52,1,52,3,52,2091,8,52,1,52,1,52,1,52,3,52,2096,8,52,1,52,1,52,1,52,3,52,2101,8,52,1,52,1,52,3,52,2105,8,52,1,52,1,52,1,52,3,52,2110,8,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2118,8,52,1,52,1,52,1,52,3,52,2123,8,52,1,52,1,52,1,52,1,52,3,52,2129,8,52,1,53,1,53,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,3,55,2141,8,55,1,55,1,55,1,55,1,55,1,55,3,55,2148,8,55,3,55,2150,8,55,1,55,1,55,1,55,1,55,5,55,2156,8,55,10,55,12,55,2159,9,55,1,55,1,55,3,55,2163,8,55,1,56,3,56,2166,8,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,2174,8,56,1,56,1,56,1,56,1,56,3,56,2180,8,56,1,56,1,56,3,56,2184,8,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,2197,8,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,2209,8,56,3,56,2211,8,56,1,57,3,57,2214,8,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,2222,8,57,1,57,1,57,1,57,1,57,3,57,2228,8,57,1,57,1,57,1,57,1,57,3,57,2234,8,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2245,8,58,10,58,12,58,2248,9,58,1,58,1,58,5,58,2252,8,58,10,58,12,58,2255,9,58,1,58,1,58,1,58,1,58,5,58,2261,8,58,10,58,12,58,2264,9,58,1,58,1,58,3,58,2268,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2277,8,58,10,58,12,58,2280,9,58,1,58,1,58,1,58,1,58,5,58,2286,8,58,10,58,12,58,2289,9,58,1,58,1,58,3,58,2293,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2303,8,58,10,58,12,58,2306,9,58,1,58,1,58,5,58,2310,8,58,10,58,12,58,2313,9,58,1,58,1,58,1,58,1,58,5,58,2319,8,58,10,58,12,58,2322,9,58,1,58,1,58,3,58,2326,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2336,8,58,10,58,12,58,2339,9,58,1,58,1,58,5,58,2343,8,58,10,58,12,58,2346,9,58,1,58,1,58,1,58,1,58,5,58,2352,8,58,10,58,12,58,2355,9,58,1,58,1,58,3,58,2359,8,58,1,58,1,58,1,58,5,58,2364,8,58,10,58,12,58,2367,9,58,1,58,1,58,1,58,1,58,5,58,2373,8,58,10,58,12,58,2376,9,58,1,58,1,58,3,58,2380,8,58,3,58,2382,8,58,1,59,1,59,1,59,3,59,2387,8,59,1,60,1,60,1,60,1,60,4,60,2393,8,60,11,60,12,60,2394,1,60,1,60,1,61,1,61,1,61,5,61,2402,8,61,10,61,12,61,2405,9,61,1,62,3,62,2408,8,62,1,62,3,62,2411,8,62,1,62,1,62,3,62,2415,8,62,1,62,1,62,1,62,3,62,2420,8,62,1,62,1,62,1,62,1,62,3,62,2426,8,62,1,62,1,62,1,62,1,62,3,62,2432,8,62,1,62,1,62,1,62,3,62,2437,8,62,1,62,1,62,1,62,3,62,2442,8,62,1,62,1,62,1,62,3,62,2447,8,62,1,62,1,62,1,62,3,62,2452,8,62,1,62,3,62,2455,8,62,1,63,1,63,1,63,3,63,2460,8,63,1,63,4,63,2463,8,63,11,63,12,63,2464,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,3,63,2475,8,63,1,64,1,64,3,64,2479,8,64,1,64,1,64,1,64,1,64,1,64,3,64,2486,8,64,1,64,1,64,1,64,3,64,2491,8,64,1,64,3,64,2494,8,64,1,64,1,64,1,64,3,64,2499,8,64,1,64,3,64,2502,8,64,1,64,1,64,3,64,2506,8,64,1,64,1,64,3,64,2510,8,64,1,65,1,65,1,65,1,65,5,65,2516,8,65,10,65,12,65,2519,9,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,3,67,2537,8,67,1,67,3,67,2540,8,67,1,67,3,67,2543,8,67,1,67,1,67,3,67,2547,8,67,1,67,1,67,1,68,1,68,1,68,1,68,5,68,2555,8,68,10,68,12,68,2558,9,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,5,69,2568,8,69,10,69,12,69,2571,9,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,5,70,2581,8,70,10,70,12,70,2584,9,70,3,70,2586,8,70,1,70,1,70,5,70,2590,8,70,10,70,12,70,2593,9,70,3,70,2595,8,70,1,71,1,71,3,71,2599,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2608,8,71,1,71,3,71,2611,8,71,1,71,3,71,2614,8,71,1,71,1,71,1,71,3,71,2619,8,71,1,71,1,71,3,71,2623,8,71,1,71,3,71,2626,8,71,1,71,1,71,3,71,2630,8,71,1,71,1,71,3,71,2634,8,71,1,71,3,71,2637,8,71,1,71,1,71,3,71,2641,8,71,1,71,3,71,2644,8,71,1,71,1,71,3,71,2648,8,71,1,71,3,71,2651,8,71,1,72,1,72,1,72,1,72,3,72,2657,8,72,1,72,3,72,2660,8,72,1,72,1,72,1,72,3,72,2665,8,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2673,8,72,1,72,1,72,1,72,1,72,3,72,2679,8,72,1,72,1,72,3,72,2683,8,72,1,73,1,73,3,73,2687,8,73,1,73,5,73,2690,8,73,10,73,12,73,2693,9,73,1,73,1,73,3,73,2697,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2704,8,73,1,73,1,73,3,73,2708,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,5,73,2717,8,73,10,73,12,73,2720,9,73,1,73,1,73,1,73,1,73,1,73,3,73,2727,8,73,1,73,3,73,2730,8,73,1,73,1,73,5,73,2734,8,73,10,73,12,73,2737,9,73,1,73,1,73,1,73,3,73,2742,8,73,1,73,3,73,2745,8,73,1,73,1,73,5,73,2749,8,73,10,73,12,73,2752,9,73,1,73,1,73,1,73,3,73,2757,8,73,3,73,2759,8,73,1,73,1,73,1,73,3,73,2764,8,73,1,73,1,73,5,73,2768,8,73,10,73,12,73,2771,9,73,1,73,1,73,1,73,3,73,2776,8,73,3,73,2778,8,73,1,73,1,73,3,73,2782,8,73,1,73,3,73,2785,8,73,1,73,3,73,2788,8,73,1,73,1,73,5,73,2792,8,73,10,73,12,73,2795,9,73,1,73,1,73,1,73,3,73,2800,8,73,3,73,2802,8,73,1,73,1,73,1,73,3,73,2807,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2814,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2823,8,73,1,73,3,73,2826,8,73,1,73,1,73,3,73,2830,8,73,1,73,1,73,1,73,3,73,2835,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2845,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2854,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2862,8,73,1,73,3,73,2865,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2873,8,73,1,73,3,73,2876,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2883,8,73,1,73,1,73,1,73,3,73,2888,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2896,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2912,8,73,1,73,1,73,1,73,3,73,2917,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2924,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2943,8,73,1,73,1,73,1,73,1,73,3,73,2949,8,73,1,74,1,74,1,74,1,74,1,74,1,74,5,74,2957,8,74,10,74,12,74,2960,9,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,2971,8,74,1,74,1,74,1,74,1,74,1,74,3,74,2978,8,74,1,74,1,74,1,74,1,74,1,74,3,74,2985,8,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,5,74,2998,8,74,10,74,12,74,3001,9,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,3013,8,74,1,74,1,74,1,74,1,74,3,74,3019,8,74,1,74,1,74,1,74,1,74,3,74,3025,8,74,1,74,1,74,1,74,1,74,3,74,3031,8,74,1,74,1,74,1,74,1,74,3,74,3037,8,74,1,74,1,74,1,74,1,74,3,74,3043,8,74,1,74,1,74,1,74,1,74,3,74,3049,8,74,1,75,1,75,1,75,3,75,3054,8,75,1,75,1,75,1,76,1,76,1,76,3,76,3061,8,76,1,76,1,76,1,77,1,77,1,77,3,77,3068,8,77,1,77,1,77,1,77,1,77,1,77,3,77,3075,8,77,1,77,1,77,1,77,3,77,3080,8,77,1,77,5,77,3083,8,77,10,77,12,77,3086,9,77,1,78,1,78,1,78,1,78,1,78,1,78,3,78,3094,8,78,1,78,1,78,1,79,1,79,1,79,3,79,3101,8,79,1,79,1,79,1,80,1,80,1,80,3,80,3108,8,80,1,80,1,80,1,81,1,81,1,81,3,81,3115,8,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,3,82,3124,8,82,1,82,1,82,1,83,1,83,3,83,3130,8,83,1,83,1,83,3,83,3134,8,83,1,83,1,83,3,83,3138,8,83,1,84,1,84,3,84,3142,8,84,1,84,1,84,1,84,1,84,3,84,3148,8,84,1,84,3,84,3151,8,84,1,85,1,85,1,85,3,85,3156,8,85,1,85,1,85,1,86,1,86,1,86,3,86,3163,8,86,1,86,1,86,1,86,5,86,3168,8,86,10,86,12,86,3171,9,86,1,86,3,86,3174,8,86,1,87,1,87,1,87,3,87,3179,8,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,3,88,3189,8,88,1,88,1,88,1,88,1,88,5,88,3195,8,88,10,88,12,88,3198,9,88,1,88,1,88,1,88,3,88,3203,8,88,1,89,1,89,1,89,1,89,1,89,5,89,3210,8,89,10,89,12,89,3213,9,89,1,90,1,90,1,90,1,90,1,91,1,91,3,91,3221,8,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,3,92,3230,8,92,1,92,3,92,3233,8,92,1,93,1,93,3,93,3237,8,93,1,94,1,94,1,94,1,95,1,95,1,95,1,95,3,95,3246,8,95,1,96,1,96,3,96,3250,8,96,1,96,3,96,3253,8,96,1,96,3,96,3256,8,96,1,96,1,96,1,96,1,96,3,96,3262,8,96,1,96,3,96,3265,8,96,1,96,3,96,3268,8,96,1,96,1,96,3,96,3272,8,96,1,96,3,96,3275,8,96,1,96,3,96,3278,8,96,1,96,3,96,3281,8,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,5,96,3290,8,96,10,96,12,96,3293,9,96,3,96,3295,8,96,1,97,1,97,1,97,3,97,3300,8,97,1,98,1,98,1,98,1,98,3,98,3306,8,98,1,99,1,99,1,99,3,99,3311,8,99,1,99,4,99,3314,8,99,11,99,12,99,3315,1,100,3,100,3319,8,100,1,100,1,100,3,100,3323,8,100,1,101,1,101,1,101,3,101,3328,8,101,1,101,3,101,3331,8,101,1,101,1,101,1,101,3,101,3336,8,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,3,101,3346,8,101,1,101,1,101,1,101,3,101,3351,8,101,1,101,1,101,4,101,3355,8,101,11,101,12,101,3356,3,101,3359,8,101,1,101,1,101,4,101,3363,8,101,11,101,12,101,3364,3,101,3367,8,101,1,101,1,101,1,101,1,101,3,101,3373,8,101,1,101,1,101,1,101,1,101,5,101,3379,8,101,10,101,12,101,3382,9,101,1,101,1,101,3,101,3386,8,101,1,101,1,101,1,101,1,101,5,101,3392,8,101,10,101,12,101,3395,9,101,3,101,3397,8,101,1,102,1,102,1,102,3,102,3402,8,102,1,102,3,102,3405,8,102,1,102,1,102,1,102,3,102,3410,8,102,1,102,1,102,1,102,1,102,1,102,1,102,3,102,3418,8,102,1,102,1,102,1,102,1,102,3,102,3424,8,102,1,102,1,102,3,102,3428,8,102,3,102,3430,8,102,1,102,1,102,1,102,1,102,3,102,3436,8,102,1,102,1,102,1,102,1,102,5,102,3442,8,102,10,102,12,102,3445,9,102,1,102,1,102,3,102,3449,8,102,1,102,1,102,1,102,1,102,5,102,3455,8,102,10,102,12,102,3458,9,102,3,102,3460,8,102,1,103,1,103,1,103,3,103,3465,8,103,1,103,3,103,3468,8,103,1,103,1,103,3,103,3472,8,103,1,103,3,103,3475,8,103,1,103,3,103,3478,8,103,1,104,1,104,3,104,3482,8,104,1,104,3,104,3485,8,104,1,104,1,104,1,104,1,104,1,104,1,104,3,104,3493,8,104,1,104,1,104,1,104,1,104,3,104,3499,8,104,1,104,1,104,3,104,3503,8,104,1,105,1,105,5,105,3507,8,105,10,105,12,105,3510,9,105,1,105,1,105,3,105,3514,8,105,1,105,1,105,3,105,3518,8,105,3,105,3520,8,105,1,105,1,105,5,105,3524,8,105,10,105,12,105,3527,9,105,1,105,3,105,3530,8,105,1,105,3,105,3533,8,105,1,105,3,105,3536,8,105,1,105,3,105,3539,8,105,1,105,1,105,5,105,3543,8,105,10,105,12,105,3546,9,105,1,105,1,105,3,105,3550,8,105,1,105,3,105,3553,8,105,1,105,3,105,3556,8,105,1,105,3,105,3559,8,105,1,105,3,105,3562,8,105,3,105,3564,8,105,1,106,3,106,3567,8,106,1,106,1,106,3,106,3571,8,106,1,106,3,106,3574,8,106,1,106,3,106,3577,8,106,1,107,1,107,1,107,1,107,1,107,1,107,3,107,3585,8,107,1,107,1,107,1,107,1,107,3,107,3591,8,107,1,107,5,107,3594,8,107,10,107,12,107,3597,9,107,1,108,1,108,1,108,1,108,1,108,1,108,3,108,3605,8,108,1,108,5,108,3608,8,108,10,108,12,108,3611,9,108,1,109,1,109,1,109,1,109,3,109,3617,8,109,1,109,3,109,3620,8,109,1,109,3,109,3623,8,109,1,109,1,109,3,109,3627,8,109,1,110,1,110,3,110,3631,8,110,1,111,1,111,1,111,1,111,3,111,3637,8,111,1,111,1,111,3,111,3641,8,111,1,112,1,112,1,112,5,112,3646,8,112,10,112,12,112,3649,9,112,1,112,3,112,3652,8,112,1,112,3,112,3655,8,112,1,112,3,112,3658,8,112,1,113,1,113,1,113,3,113,3663,8,113,1,114,1,114,1,114,1,114,1,114,3,114,3670,8,114,1,115,1,115,1,115,1,115,1,115,1,115,5,115,3678,8,115,10,115,12,115,3681,9,115,1,116,1,116,1,116,1,116,5,116,3687,8,116,10,116,12,116,3690,9,116,1,117,1,117,1,117,1,117,1,118,1,118,3,118,3698,8,118,1,119,1,119,1,119,1,119,1,119,1,119,5,119,3706,8,119,10,119,12,119,3709,9,119,3,119,3711,8,119,1,119,1,119,3,119,3715,8,119,1,119,1,119,1,119,1,119,3,119,3721,8,119,1,120,1,120,3,120,3725,8,120,1,120,3,120,3728,8,120,1,120,3,120,3731,8,120,1,120,1,120,1,120,3,120,3736,8,120,1,120,3,120,3739,8,120,1,120,1,120,1,120,1,120,1,120,3,120,3746,8,120,1,120,1,120,3,120,3750,8,120,1,120,3,120,3753,8,120,1,120,1,120,3,120,3757,8,120,1,121,1,121,3,121,3761,8,121,1,121,3,121,3764,8,121,1,121,3,121,3767,8,121,1,121,1,121,1,121,3,121,3772,8,121,1,121,1,121,1,121,1,121,3,121,3778,8,121,5,121,3780,8,121,10,121,12,121,3783,9,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,3792,8,121,1,121,1,121,1,121,1,121,3,121,3798,8,121,5,121,3800,8,121,10,121,12,121,3803,9,121,1,121,1,121,1,121,3,121,3808,8,121,1,121,1,121,3,121,3812,8,121,1,122,1,122,1,122,1,122,3,122,3818,8,122,1,122,3,122,3821,8,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,3833,8,123,1,123,1,123,3,123,3837,8,123,1,123,1,123,3,123,3841,8,123,1,124,1,124,1,124,1,124,1,124,1,124,3,124,3849,8,124,1,124,1,124,3,124,3853,8,124,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,5,126,3865,8,126,10,126,12,126,3868,9,126,1,127,1,127,3,127,3872,8,127,1,127,3,127,3875,8,127,1,127,1,127,3,127,3879,8,127,1,127,3,127,3882,8,127,1,127,1,127,1,127,1,127,5,127,3888,8,127,10,127,12,127,3891,9,127,1,127,1,127,3,127,3895,8,127,1,127,3,127,3898,8,127,1,127,3,127,3901,8,127,1,128,1,128,3,128,3905,8,128,1,128,3,128,3908,8,128,1,128,1,128,1,128,1,128,1,128,5,128,3915,8,128,10,128,12,128,3918,9,128,1,128,1,128,3,128,3922,8,128,1,129,1,129,1,129,1,129,1,129,5,129,3929,8,129,10,129,12,129,3932,9,129,1,130,1,130,3,130,3936,8,130,1,131,1,131,1,131,5,131,3941,8,131,10,131,12,131,3944,9,131,1,132,1,132,5,132,3948,8,132,10,132,12,132,3951,9,132,1,132,1,132,1,132,5,132,3956,8,132,10,132,12,132,3959,9,132,1,132,1,132,1,132,3,132,3964,8,132,1,133,1,133,1,133,1,133,1,133,1,133,3,133,3972,8,133,1,133,3,133,3975,8,133,1,133,3,133,3978,8,133,1,133,1,133,1,133,5,133,3983,8,133,10,133,12,133,3986,9,133,3,133,3988,8,133,1,133,3,133,3991,8,133,1,133,1,133,1,133,1,133,1,133,3,133,3998,8,133,1,133,3,133,4001,8,133,1,133,1,133,3,133,4005,8,133,1,133,1,133,1,133,1,133,3,133,4011,8,133,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,3,135,4021,8,135,1,135,1,135,3,135,4025,8,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,3,136,4034,8,136,1,137,3,137,4037,8,137,1,137,1,137,3,137,4041,8,137,1,137,1,137,5,137,4045,8,137,10,137,12,137,4048,9,137,1,137,1,137,1,137,5,137,4053,8,137,10,137,12,137,4056,9,137,1,137,1,137,3,137,4060,8,137,1,137,1,137,3,137,4064,8,137,1,137,1,137,5,137,4068,8,137,10,137,12,137,4071,9,137,1,137,1,137,1,137,3,137,4076,8,137,1,137,3,137,4079,8,137,3,137,4081,8,137,1,137,1,137,3,137,4085,8,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,3,138,4094,8,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,4104,8,139,1,140,1,140,5,140,4108,8,140,10,140,12,140,4111,9,140,1,140,1,140,3,140,4115,8,140,1,140,1,140,3,140,4119,8,140,1,140,3,140,4122,8,140,1,140,3,140,4125,8,140,1,140,3,140,4128,8,140,1,140,3,140,4131,8,140,1,140,3,140,4134,8,140,1,140,3,140,4137,8,140,1,141,1,141,3,141,4141,8,141,1,141,1,141,3,141,4145,8,141,1,142,1,142,1,142,1,142,1,142,1,142,3,142,4153,8,142,1,142,1,142,3,142,4157,8,142,1,142,3,142,4160,8,142,3,142,4162,8,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,4175,8,143,1,143,3,143,4178,8,143,1,144,1,144,1,144,5,144,4183,8,144,10,144,12,144,4186,9,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,3,145,4195,8,145,1,145,3,145,4198,8,145,1,145,1,145,1,145,3,145,4203,8,145,3,145,4205,8,145,1,145,1,145,3,145,4209,8,145,1,145,1,145,1,145,1,145,1,145,1,145,3,145,4217,8,145,1,146,1,146,1,146,1,146,3,146,4223,8,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,3,147,4232,8,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,3,148,4245,8,148,1,149,1,149,3,149,4249,8,149,1,149,1,149,5,149,4253,8,149,10,149,12,149,4256,9,149,1,150,1,150,3,150,4260,8,150,1,150,1,150,3,150,4264,8,150,1,150,3,150,4267,8,150,1,150,1,150,3,150,4271,8,150,1,150,3,150,4274,8,150,1,150,1,150,1,150,1,150,1,150,1,150,3,150,4282,8,150,1,150,3,150,4285,8,150,3,150,4287,8,150,1,151,1,151,1,151,1,151,5,151,4293,8,151,10,151,12,151,4296,9,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,3,151,4307,8,151,1,151,1,151,4,151,4311,8,151,11,151,12,151,4312,3,151,4315,8,151,1,151,1,151,4,151,4319,8,151,11,151,12,151,4320,3,151,4323,8,151,3,151,4325,8,151,1,152,1,152,1,152,1,152,3,152,4331,8,152,1,152,1,152,1,152,1,152,1,152,1,152,3,152,4339,8,152,1,153,1,153,1,153,1,153,1,153,1,153,3,153,4347,8,153,1,154,1,154,3,154,4351,8,154,1,154,1,154,3,154,4355,8,154,1,155,1,155,1,155,1,155,1,155,5,155,4362,8,155,10,155,12,155,4365,9,155,1,155,1,155,3,155,4369,8,155,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,5,157,4387,8,157,10,157,12,157,4390,9,157,1,158,1,158,3,158,4394,8,158,1,159,1,159,1,159,1,159,3,159,4400,8,159,1,159,1,159,1,159,1,159,1,159,3,159,4407,8,159,1,160,1,160,1,160,3,160,4412,8,160,1,161,1,161,1,161,1,161,1,161,5,161,4419,8,161,10,161,12,161,4422,9,161,3,161,4424,8,161,1,162,1,162,3,162,4428,8,162,1,163,1,163,3,163,4432,8,163,1,163,1,163,3,163,4436,8,163,1,163,3,163,4439,8,163,1,163,3,163,4442,8,163,1,163,3,163,4445,8,163,1,164,1,164,3,164,4449,8,164,1,164,1,164,3,164,4453,8,164,1,164,3,164,4456,8,164,1,164,3,164,4459,8,164,1,164,3,164,4462,8,164,1,165,1,165,1,165,1,166,1,166,3,166,4469,8,166,1,166,1,166,3,166,4473,8,166,1,166,1,166,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,5,168,4486,8,168,10,168,12,168,4489,9,168,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,3,171,4501,8,171,1,171,1,171,1,171,1,171,5,171,4507,8,171,10,171,12,171,4510,9,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,3,172,4519,8,172,1,173,1,173,3,173,4523,8,173,1,173,3,173,4526,8,173,1,173,1,173,1,174,1,174,3,174,4532,8,174,1,174,3,174,4535,8,174,1,174,3,174,4538,8,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,3,175,4547,8,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,3,176,4556,8,176,1,177,1,177,1,177,1,177,1,177,1,177,5,177,4564,8,177,10,177,12,177,4567,9,177,1,177,3,177,4570,8,177,1,178,1,178,1,178,1,178,1,178,1,178,5,178,4578,8,178,10,178,12,178,4581,9,178,1,178,3,178,4584,8,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,5,179,4593,8,179,10,179,12,179,4596,9,179,1,179,3,179,4599,8,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,3,180,4608,8,180,1,181,1,181,1,181,1,181,1,181,5,181,4615,8,181,10,181,12,181,4618,9,181,3,181,4620,8,181,1,181,1,181,3,181,4624,8,181,1,181,5,181,4627,8,181,10,181,12,181,4630,9,181,1,181,3,181,4633,8,181,1,182,1,182,1,182,1,182,1,182,5,182,4640,8,182,10,182,12,182,4643,9,182,3,182,4645,8,182,1,182,3,182,4648,8,182,1,183,1,183,1,183,1,183,1,183,3,183,4655,8,183,1,183,1,183,1,183,1,183,3,183,4661,8,183,1,183,1,183,1,183,1,183,3,183,4667,8,183,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,185,5,185,4691,8,185,10,185,12,185,4694,9,185,3,185,4696,8,185,1,185,3,185,4699,8,185,1,186,1,186,1,187,1,187,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,3,189,4718,8,189,3,189,4720,8,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,5,190,4741,8,190,10,190,12,190,4744,9,190,3,190,4746,8,190,1,190,3,190,4749,8,190,1,191,1,191,1,192,1,192,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,3,194,4768,8,194,3,194,4770,8,194,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,5,196,4782,8,196,10,196,12,196,4785,9,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,5,196,4795,8,196,10,196,12,196,4798,9,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,5,196,4832,8,196,10,196,12,196,4835,9,196,1,196,1,196,3,196,4839,8,196,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,3,199,4874,8,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,3,200,4888,8,200,1,201,1,201,1,201,5,201,4893,8,201,10,201,12,201,4896,9,201,1,201,3,201,4899,8,201,1,202,1,202,1,202,1,202,3,202,4905,8,202,1,203,1,203,1,203,1,203,1,203,1,203,3,203,4913,8,203,3,203,4915,8,203,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,3,205,4926,8,205,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,3,207,4936,8,207,1,208,1,208,1,208,1,208,1,208,3,208,4943,8,208,1,209,1,209,1,209,1,209,3,209,4949,8,209,1,210,1,210,1,210,1,210,1,211,1,211,3,211,4957,8,211,1,212,1,212,1,212,3,212,4962,8,212,1,212,1,212,1,212,1,212,5,212,4968,8,212,10,212,12,212,4971,9,212,1,212,1,212,1,212,5,212,4976,8,212,10,212,12,212,4979,9,212,1,212,1,212,1,212,5,212,4984,8,212,10,212,12,212,4987,9,212,1,212,1,212,1,212,5,212,4992,8,212,10,212,12,212,4995,9,212,1,212,5,212,4998,8,212,10,212,12,212,5001,9,212,1,212,1,212,3,212,5005,8,212,1,213,1,213,1,213,3,213,5010,8,213,1,213,4,213,5013,8,213,11,213,12,213,5014,1,213,1,213,4,213,5019,8,213,11,213,12,213,5020,3,213,5023,8,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,4,214,5032,8,214,11,214,12,214,5033,1,214,5,214,5037,8,214,10,214,12,214,5040,9,214,1,214,1,214,4,214,5044,8,214,11,214,12,214,5045,3,214,5048,8,214,1,214,1,214,1,214,1,215,1,215,1,215,1,216,1,216,1,216,1,217,1,217,1,217,3,217,5062,8,217,1,217,1,217,4,217,5066,8,217,11,217,12,217,5067,1,217,1,217,1,217,3,217,5073,8,217,1,218,1,218,1,218,3,218,5078,8,218,1,218,1,218,4,218,5082,8,218,11,218,12,218,5083,1,218,1,218,1,218,1,218,1,218,3,218,5091,8,218,1,219,1,219,1,219,1,220,1,220,1,220,3,220,5099,8,220,1,220,1,220,1,220,1,220,4,220,5105,8,220,11,220,12,220,5106,1,220,1,220,1,220,3,220,5112,8,220,1,221,1,221,1,221,1,221,3,221,5118,8,221,1,221,3,221,5121,8,221,1,221,1,221,1,221,1,221,1,221,1,221,3,221,5129,8,221,1,222,1,222,1,222,1,222,1,222,3,222,5136,8,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,5145,8,223,1,223,3,223,5148,8,223,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,5,225,5163,8,225,10,225,12,225,5166,9,225,1,225,1,225,1,226,1,226,1,226,3,226,5173,8,226,1,226,1,226,1,226,1,226,1,226,1,226,3,226,5181,8,226,1,227,1,227,3,227,5185,8,227,1,227,1,227,1,228,1,228,1,228,3,228,5192,8,228,1,228,1,228,4,228,5196,8,228,11,228,12,228,5197,1,229,1,229,1,229,1,229,4,229,5204,8,229,11,229,12,229,5205,1,230,1,230,1,230,3,230,5211,8,230,1,230,1,230,1,230,5,230,5216,8,230,10,230,12,230,5219,9,230,1,230,1,230,1,230,5,230,5224,8,230,10,230,12,230,5227,9,230,1,230,1,230,1,230,1,230,3,230,5233,8,230,1,230,5,230,5236,8,230,10,230,12,230,5239,9,230,3,230,5241,8,230,3,230,5243,8,230,1,230,1,230,4,230,5247,8,230,11,230,12,230,5248,3,230,5251,8,230,1,230,1,230,5,230,5255,8,230,10,230,12,230,5258,9,230,1,230,1,230,3,230,5262,8,230,1,230,1,230,1,230,1,230,1,230,3,230,5269,8,230,1,231,1,231,1,231,3,231,5274,8,231,1,231,1,231,3,231,5278,8,231,1,231,1,231,1,231,3,231,5283,8,231,5,231,5285,8,231,10,231,12,231,5288,9,231,1,231,1,231,1,231,3,231,5293,8,231,1,231,1,231,1,231,1,231,3,231,5299,8,231,1,231,5,231,5302,8,231,10,231,12,231,5305,9,231,3,231,5307,8,231,3,231,5309,8,231,1,231,1,231,4,231,5313,8,231,11,231,12,231,5314,3,231,5317,8,231,1,231,1,231,5,231,5321,8,231,10,231,12,231,5324,9,231,1,231,1,231,3,231,5328,8,231,1,232,1,232,1,232,3,232,5333,8,232,1,232,1,232,1,232,5,232,5338,8,232,10,232,12,232,5341,9,232,1,233,1,233,1,233,1,233,5,233,5347,8,233,10,233,12,233,5350,9,233,1,233,1,233,3,233,5354,8,233,1,233,1,233,1,233,1,233,1,233,5,233,5361,8,233,10,233,12,233,5364,9,233,1,233,3,233,5367,8,233,1,233,1,233,1,233,1,233,3,233,5373,8,233,1,233,5,233,5376,8,233,10,233,12,233,5379,9,233,3,233,5381,8,233,3,233,5383,8,233,1,233,1,233,1,233,1,233,5,233,5389,8,233,10,233,12,233,5392,9,233,3,233,5394,8,233,1,233,1,233,1,233,1,233,1,233,3,233,5401,8,233,3,233,5403,8,233,1,233,1,233,1,233,3,233,5408,8,233,1,233,1,233,1,233,5,233,5413,8,233,10,233,12,233,5416,9,233,1,233,1,233,1,233,1,233,5,233,5422,8,233,10,233,12,233,5425,9,233,1,233,1,233,1,233,3,233,5430,8,233,3,233,5432,8,233,1,234,1,234,1,234,1,234,1,234,3,234,5439,8,234,1,234,3,234,5442,8,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,5,235,5452,8,235,10,235,12,235,5455,9,235,1,235,1,235,1,235,3,235,5460,8,235,1,236,1,236,1,236,1,236,1,236,1,236,3,236,5468,8,236,1,236,3,236,5471,8,236,1,236,1,236,3,236,5475,8,236,1,236,3,236,5478,8,236,1,236,1,236,3,236,5482,8,236,3,236,5484,8,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,3,237,5495,8,237,1,237,3,237,5498,8,237,1,237,1,237,3,237,5502,8,237,1,237,3,237,5505,8,237,1,237,3,237,5508,8,237,1,238,1,238,1,238,1,238,1,238,3,238,5515,8,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,5,239,5525,8,239,10,239,12,239,5528,9,239,3,239,5530,8,239,1,240,1,240,1,240,1,240,1,240,3,240,5537,8,240,1,240,1,240,5,240,5541,8,240,10,240,12,240,5544,9,240,1,241,1,241,1,241,1,241,1,241,5,241,5551,8,241,10,241,12,241,5554,9,241,1,242,1,242,3,242,5558,8,242,1,242,1,242,1,242,5,242,5563,8,242,10,242,12,242,5566,9,242,1,242,1,242,3,242,5570,8,242,1,242,1,242,1,242,1,242,3,242,5576,8,242,1,242,1,242,3,242,5580,8,242,1,242,1,242,3,242,5584,8,242,1,242,1,242,1,242,1,242,1,242,1,242,3,242,5592,8,242,1,242,1,242,3,242,5596,8,242,1,242,1,242,3,242,5600,8,242,1,242,1,242,1,242,1,242,3,242,5606,8,242,3,242,5608,8,242,1,243,1,243,1,243,1,243,1,244,1,244,1,245,1,245,1,245,1,245,3,245,5620,8,245,1,245,1,245,1,245,3,245,5625,8,245,1,245,1,245,1,245,1,245,3,245,5631,8,245,1,245,1,245,1,245,1,245,3,245,5637,8,245,1,245,1,245,3,245,5641,8,245,1,245,1,245,1,245,3,245,5646,8,245,3,245,5648,8,245,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,5672,8,247,4,247,5674,8,247,11,247,12,247,5675,1,247,3,247,5679,8,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,3,248,5688,8,248,1,248,1,248,3,248,5692,8,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,3,248,5701,8,248,1,248,1,248,3,248,5705,8,248,1,248,1,248,3,248,5709,8,248,1,248,1,248,1,248,1,248,3,248,5715,8,248,3,248,5717,8,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,3,249,5726,8,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,3,249,5736,8,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,3,250,5763,8,250,1,251,1,251,3,251,5767,8,251,1,251,1,251,1,251,3,251,5772,8,251,1,252,1,252,1,252,1,252,1,252,3,252,5779,8,252,1,252,3,252,5782,8,252,1,252,1,252,1,252,1,252,3,252,5788,8,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,3,253,5798,8,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,3,254,5808,8,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,3,255,5818,8,255,1,255,1,255,1,255,1,255,3,255,5824,8,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,3,255,5833,8,255,1,255,1,255,1,255,1,255,3,255,5839,8,255,1,255,1,255,1,255,1,255,1,255,3,255,5846,8,255,3,255,5848,8,255,1,256,1,256,1,256,1,257,1,257,1,257,3,257,5856,8,257,1,257,1,257,1,257,1,257,3,257,5862,8,257,1,257,1,257,3,257,5866,8,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,3,258,5883,8,258,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,3,260,5893,8,260,1,261,1,261,3,261,5897,8,261,1,261,1,261,3,261,5901,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5911,8,261,1,261,1,261,1,261,3,261,5916,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5988,8,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,3,262,6006,8,262,1,263,1,263,1,263,1,263,1,264,1,264,3,264,6014,8,264,1,264,1,264,1,264,1,264,3,264,6020,8,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,3,264,6032,8,264,1,264,1,264,3,264,6036,8,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,3,264,6047,8,264,1,264,1,264,3,264,6051,8,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,3,264,6060,8,264,1,265,1,265,1,265,1,265,5,265,6066,8,265,10,265,12,265,6069,9,265,1,266,1,266,1,266,1,266,3,266,6075,8,266,1,267,1,267,3,267,6079,8,267,1,267,1,267,1,267,1,268,1,268,3,268,6086,8,268,1,268,1,268,1,268,3,268,6091,8,268,1,268,3,268,6094,8,268,1,268,3,268,6097,8,268,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,3,270,6108,8,270,1,271,1,271,1,271,1,271,1,271,5,271,6115,8,271,10,271,12,271,6118,9,271,1,271,1,271,1,271,1,271,5,271,6124,8,271,10,271,12,271,6127,9,271,3,271,6129,8,271,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,5,273,6141,8,273,10,273,12,273,6144,9,273,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,3,276,6161,8,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,3,276,6174,8,276,1,276,3,276,6177,8,276,1,276,1,276,3,276,6181,8,276,1,276,3,276,6184,8,276,3,276,6186,8,276,1,277,1,277,1,277,1,277,1,277,3,277,6193,8,277,1,277,1,277,1,277,1,277,1,277,3,277,6200,8,277,5,277,6202,8,277,10,277,12,277,6205,9,277,1,277,1,277,1,277,1,277,3,277,6211,8,277,1,277,1,277,1,277,1,277,1,277,3,277,6218,8,277,1,277,3,277,6221,8,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,5,277,6235,8,277,10,277,12,277,6238,9,277,3,277,6240,8,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,3,278,6250,8,278,1,278,1,278,3,278,6254,8,278,1,278,1,278,1,278,1,278,3,278,6260,8,278,1,278,3,278,6263,8,278,1,278,3,278,6266,8,278,1,278,1,278,1,278,3,278,6271,8,278,1,278,1,278,3,278,6275,8,278,1,278,3,278,6278,8,278,1,278,1,278,1,278,1,278,1,278,3,278,6285,8,278,1,278,3,278,6288,8,278,1,278,1,278,1,278,1,278,3,278,6294,8,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,3,278,6330,8,278,1,278,3,278,6333,8,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,3,278,6345,8,278,1,278,3,278,6348,8,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,3,278,6364,8,278,3,278,6366,8,278,1,278,1,278,3,278,6370,8,278,1,278,1,278,1,278,1,278,1,278,3,278,6377,8,278,1,278,1,278,3,278,6381,8,278,1,278,1,278,1,278,1,278,1,278,3,278,6388,8,278,1,278,3,278,6391,8,278,1,278,1,278,1,278,1,278,1,278,5,278,6398,8,278,10,278,12,278,6401,9,278,3,278,6403,8,278,1,278,1,278,1,278,3,278,6408,8,278,1,278,1,278,1,278,1,278,3,278,6414,8,278,3,278,6416,8,278,1,278,1,278,1,278,1,278,3,278,6422,8,278,1,278,1,278,3,278,6426,8,278,1,279,1,279,1,279,1,279,3,279,6432,8,279,1,279,3,279,6435,8,279,1,279,3,279,6438,8,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,3,280,6451,8,280,1,280,3,280,6454,8,280,1,281,1,281,1,281,1,281,3,281,6460,8,281,1,282,3,282,6463,8,282,1,282,1,282,1,282,1,282,1,282,1,282,3,282,6471,8,282,1,282,1,282,1,282,1,282,1,282,1,282,3,282,6479,8,282,1,283,1,283,1,283,1,283,3,283,6485,8,283,1,283,3,283,6488,8,283,1,283,1,283,3,283,6492,8,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,3,284,6506,8,284,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,5,286,6516,8,286,10,286,12,286,6519,9,286,1,286,1,286,1,286,1,286,1,286,3,286,6526,8,286,1,286,1,286,3,286,6530,8,286,1,286,1,286,1,286,1,287,1,287,3,287,6537,8,287,1,287,1,287,1,287,5,287,6542,8,287,10,287,12,287,6545,9,287,1,288,1,288,3,288,6549,8,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,5,289,6560,8,289,10,289,12,289,6563,9,289,1,290,1,290,1,290,1,290,5,290,6569,8,290,10,290,12,290,6572,9,290,1,291,1,291,1,291,1,291,1,291,3,291,6579,8,291,1,292,1,292,1,292,3,292,6584,8,292,1,292,3,292,6587,8,292,1,293,1,293,1,293,3,293,6592,8,293,1,293,3,293,6595,8,293,1,294,1,294,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,3,296,6607,8,296,1,297,1,297,1,297,3,297,6612,8,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,3,297,6625,8,297,3,297,6627,8,297,1,297,1,297,1,297,3,297,6632,8,297,1,297,1,297,3,297,6636,8,297,1,297,3,297,6639,8,297,3,297,6641,8,297,1,298,1,298,1,298,1,298,1,298,3,298,6648,8,298,1,299,1,299,1,299,1,299,1,299,3,299,6655,8,299,1,299,3,299,6658,8,299,1,299,3,299,6661,8,299,1,299,1,299,1,299,1,299,3,299,6667,8,299,1,299,1,299,3,299,6671,8,299,1,300,1,300,1,300,1,300,3,300,6677,8,300,1,301,1,301,1,301,1,301,1,301,1,301,3,301,6685,8,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,3,302,6694,8,302,1,302,1,302,1,303,1,303,1,303,1,304,1,304,1,304,1,305,1,305,1,305,3,305,6707,8,305,1,305,1,305,1,305,3,305,6712,8,305,1,305,1,305,1,305,1,305,5,305,6718,8,305,10,305,12,305,6721,9,305,3,305,6723,8,305,1,306,1,306,1,306,3,306,6728,8,306,1,306,1,306,1,306,3,306,6733,8,306,1,306,1,306,1,306,1,306,5,306,6739,8,306,10,306,12,306,6742,9,306,3,306,6744,8,306,1,307,1,307,1,307,1,307,1,307,1,307,3,307,6752,8,307,1,308,1,308,3,308,6756,8,308,1,308,1,308,1,308,5,308,6761,8,308,10,308,12,308,6764,9,308,1,309,1,309,1,309,3,309,6769,8,309,1,309,3,309,6772,8,309,1,310,1,310,3,310,6776,8,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,5,310,6787,8,310,10,310,12,310,6790,9,310,1,310,1,310,1,310,3,310,6795,8,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,5,310,6805,8,310,10,310,12,310,6808,9,310,3,310,6810,8,310,1,311,1,311,1,312,1,312,1,312,1,312,1,312,3,312,6819,8,312,1,312,1,312,1,312,3,312,6824,8,312,1,313,1,313,1,314,1,314,1,315,1,315,1,316,1,316,1,317,1,317,1,318,1,318,1,319,1,319,1,320,1,320,1,320,5,320,6843,8,320,10,320,12,320,6846,9,320,1,321,1,321,1,322,1,322,1,323,1,323,1,324,1,324,1,325,1,325,1,325,5,325,6859,8,325,10,325,12,325,6862,9,325,1,326,1,326,1,327,1,327,1,327,5,327,6869,8,327,10,327,12,327,6872,9,327,1,328,1,328,3,328,6876,8,328,1,329,1,329,1,329,3,329,6881,8,329,3,329,6883,8,329,1,329,3,329,6886,8,329,1,329,1,329,3,329,6890,8,329,3,329,6892,8,329,1,330,1,330,1,330,5,330,6897,8,330,10,330,12,330,6900,9,330,1,331,1,331,1,331,3,331,6905,8,331,3,331,6907,8,331,1,331,3,331,6910,8,331,1,331,1,331,3,331,6914,8,331,1,331,3,331,6917,8,331,1,332,1,332,1,333,1,333,1,334,1,334,1,335,1,335,1,335,5,335,6928,8,335,10,335,12,335,6931,9,335,1,336,1,336,1,337,1,337,1,337,1,337,1,337,3,337,6940,8,337,1,337,3,337,6943,8,337,1,337,3,337,6946,8,337,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,340,1,340,1,340,1,340,3,340,6959,8,340,1,341,1,341,1,342,1,342,3,342,6965,8,342,1,342,3,342,6968,8,342,1,343,1,343,1,344,1,344,1,344,1,344,3,344,6976,8,344,1,345,1,345,1,346,1,346,1,346,3,346,6983,8,346,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,4,348,7001,8,348,11,348,12,348,7002,1,349,1,349,1,349,1,349,1,349,3,349,7010,8,349,3,349,7012,8,349,1,350,1,350,1,350,4,350,7017,8,350,11,350,12,350,7018,3,350,7021,8,350,1,351,1,351,3,351,7025,8,351,1,352,1,352,1,352,5,352,7030,8,352,10,352,12,352,7033,9,352,1,353,1,353,1,353,3,353,7038,8,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,3,354,7049,8,354,1,355,1,355,1,355,1,355,3,355,7055,8,355,1,356,1,356,1,357,1,357,3,357,7061,8,357,1,358,3,358,7064,8,358,1,358,1,358,3,358,7068,8,358,1,358,4,358,7071,8,358,11,358,12,358,7072,1,358,3,358,7076,8,358,1,358,1,358,3,358,7080,8,358,1,358,1,358,3,358,7084,8,358,3,358,7086,8,358,1,359,1,359,1,360,3,360,7091,8,360,1,360,1,360,1,361,3,361,7096,8,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,3,362,7109,8,362,1,362,3,362,7112,8,362,1,363,1,363,3,363,7116,8,363,1,363,3,363,7119,8,363,1,363,3,363,7122,8,363,1,363,1,363,1,363,3,363,7127,8,363,1,363,1,363,1,363,3,363,7132,8,363,1,363,1,363,1,363,1,363,3,363,7138,8,363,1,363,3,363,7141,8,363,1,363,1,363,1,363,3,363,7146,8,363,1,363,3,363,7149,8,363,1,363,1,363,1,363,3,363,7154,8,363,1,363,3,363,7157,8,363,1,363,1,363,3,363,7161,8,363,1,363,5,363,7164,8,363,10,363,12,363,7167,9,363,1,363,1,363,3,363,7171,8,363,1,363,5,363,7174,8,363,10,363,12,363,7177,9,363,1,363,1,363,3,363,7181,8,363,1,363,3,363,7184,8,363,1,363,5,363,7187,8,363,10,363,12,363,7190,9,363,1,363,1,363,3,363,7194,8,363,1,363,5,363,7197,8,363,10,363,12,363,7200,9,363,1,363,1,363,1,363,3,363,7205,8,363,1,363,1,363,1,363,3,363,7210,8,363,1,363,1,363,1,363,3,363,7215,8,363,1,363,1,363,1,363,3,363,7220,8,363,1,363,1,363,3,363,7224,8,363,1,363,3,363,7227,8,363,1,363,1,363,1,363,3,363,7232,8,363,1,363,1,363,3,363,7236,8,363,1,363,1,363,3,363,7240,8,363,1,364,1,364,1,364,1,364,5,364,7246,8,364,10,364,12,364,7249,9,364,1,364,1,364,1,365,1,365,3,365,7255,8,365,1,365,1,365,3,365,7259,8,365,1,365,1,365,1,365,3,365,7264,8,365,1,365,1,365,1,365,3,365,7269,8,365,1,365,1,365,3,365,7273,8,365,3,365,7275,8,365,1,365,3,365,7278,8,365,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,3,368,7294,8,368,1,368,1,368,1,369,1,369,1,369,1,369,5,369,7302,8,369,10,369,12,369,7305,9,369,1,369,1,369,1,370,1,370,1,370,5,370,7312,8,370,10,370,12,370,7315,9,370,1,371,1,371,1,371,1,371,5,371,7321,8,371,10,371,12,371,7324,9,371,1,372,1,372,1,372,1,372,5,372,7330,8,372,10,372,12,372,7333,9,372,1,372,1,372,1,373,1,373,3,373,7339,8,373,1,374,1,374,1,374,5,374,7344,8,374,10,374,12,374,7347,9,374,1,375,1,375,1,375,5,375,7352,8,375,10,375,12,375,7355,9,375,1,376,1,376,1,376,5,376,7360,8,376,10,376,12,376,7363,9,376,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,3,377,7374,8,377,1,377,1,377,1,377,1,377,1,377,3,377,7381,8,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,3,377,7391,8,377,1,378,1,378,1,378,3,378,7396,8,378,1,378,3,378,7399,8,378,1,378,1,378,1,378,3,378,7404,8,378,1,378,3,378,7407,8,378,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,3,382,7429,8,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,3,382,7438,8,382,1,382,3,382,7441,8,382,1,383,1,383,1,383,3,383,7446,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,4,383,7477,8,383,11,383,12,383,7478,1,383,1,383,3,383,7483,8,383,1,383,1,383,1,383,1,383,1,383,4,383,7490,8,383,11,383,12,383,7491,1,383,1,383,3,383,7496,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7505,8,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7513,8,383,1,383,1,383,1,383,3,383,7518,8,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7526,8,383,1,383,1,383,1,383,3,383,7531,8,383,1,383,1,383,1,383,3,383,7536,8,383,3,383,7538,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7547,8,383,1,383,1,383,1,383,3,383,7552,8,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7560,8,383,1,383,1,383,1,383,3,383,7565,8,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7573,8,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7581,8,383,1,383,3,383,7584,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7594,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7612,8,383,1,383,3,383,7615,8,383,1,383,3,383,7618,8,383,1,383,1,383,3,383,7622,8,383,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,5,385,7633,8,385,10,385,12,385,7636,9,385,1,385,1,385,1,385,1,385,1,385,3,385,7643,8,385,1,386,1,386,3,386,7647,8,386,1,387,1,387,1,387,3,387,7652,8,387,1,387,1,387,1,387,3,387,7657,8,387,1,387,1,387,1,387,1,387,3,387,7663,8,387,1,387,1,387,1,387,3,387,7668,8,387,1,387,1,387,3,387,7672,8,387,1,387,1,387,1,387,3,387,7677,8,387,1,387,1,387,1,387,3,387,7682,8,387,1,387,1,387,1,387,3,387,7687,8,387,1,387,1,387,1,387,1,387,1,387,1,387,5,387,7695,8,387,10,387,12,387,7698,9,387,3,387,7700,8,387,1,387,1,387,3,387,7704,8,387,1,387,1,387,3,387,7708,8,387,1,388,1,388,1,388,1,388,1,388,3,388,7715,8,388,1,388,1,388,3,388,7719,8,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,3,388,7748,8,388,1,389,1,389,1,389,1,389,1,389,1,389,3,389,7756,8,389,1,390,3,390,7759,8,390,1,390,3,390,7762,8,390,1,390,3,390,7765,8,390,1,390,3,390,7768,8,390,1,391,1,391,1,392,1,392,1,392,1,393,1,393,1,394,1,394,3,394,7779,8,394,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,3,396,7793,8,396,1,397,1,397,1,397,1,397,1,397,5,397,7800,8,397,10,397,12,397,7803,9,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,3,398,7829,8,398,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,5,400,7839,8,400,10,400,12,400,7842,9,400,1,401,1,401,1,401,3,401,7847,8,401,1,402,1,402,1,402,1,402,1,402,1,402,3,402,7855,8,402,1,402,1,402,1,402,3,402,7860,8,402,1,402,1,402,1,402,1,402,5,402,7866,8,402,10,402,12,402,7869,9,402,1,403,1,403,1,403,1,403,1,403,3,403,7876,8,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,3,403,7889,8,403,1,403,1,403,1,403,1,403,3,403,7895,8,403,1,403,1,403,1,403,1,403,3,403,7901,8,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,3,403,7916,8,403,1,403,1,403,3,403,7920,8,403,1,403,1,403,1,403,1,403,3,403,7926,8,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,5,403,7935,8,403,10,403,12,403,7938,9,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,5,404,7956,8,404,10,404,12,404,7959,9,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,4,404,7968,8,404,11,404,12,404,7969,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,3,404,7988,8,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,5,404,8005,8,404,10,404,12,404,8008,9,404,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,406,3,406,8020,8,406,1,407,1,407,1,407,1,407,1,407,1,407,1,407,3,407,8029,8,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,3,408,8038,8,408,1,409,1,409,1,409,1,409,1,409,1,409,1,409,3,409,8047,8,409,1,410,1,410,1,411,1,411,1,411,1,411,1,411,3,411,8056,8,411,1,412,1,412,1,413,1,413,1,414,1,414,1,415,1,415,1,416,1,416,1,417,1,417,1,418,1,418,1,418,0,5,214,216,804,806,808,419,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,0,160,2,0,39,39,152,152,2,0,508,508,514,514,3,0,69,69,161,161,182,182,3,0,42,42,357,357,430,430,4,0,42,42,389,389,505,505,595,595,4,0,208,208,210,210,216,216,649,649,2,0,494,494,882,882,2,0,79,79,143,143,2,0,16,16,306,306,3,0,44,44,86,86,185,185,2,0,406,406,538,538,3,0,486,486,661,661,670,670,2,0,364,364,436,436,2,0,325,325,450,450,2,0,42,42,871,872,2,0,37,37,678,678,2,0,323,323,418,418,2,0,435,435,686,686,3,0,80,80,85,85,126,126,2,0,82,82,92,92,2,0,69,69,161,161,3,0,42,42,374,374,403,403,3,0,42,42,370,370,802,802,2,0,648,648,685,685,3,0,408,408,526,526,597,597,2,0,329,329,522,522,1,0,871,872,2,0,882,882,889,889,2,0,82,82,360,360,2,0,523,523,882,882,2,0,524,524,882,882,3,0,402,402,445,445,502,502,7,0,42,42,342,342,345,345,374,374,403,403,554,554,889,889,2,0,494,494,506,506,1,0,872,873,2,0,6,6,51,51,2,0,5,5,81,81,2,0,27,27,31,31,4,0,42,42,357,357,430,430,434,434,2,0,368,368,375,375,2,0,369,369,425,425,2,0,13,13,176,176,2,0,194,194,690,690,2,0,22,22,146,146,3,0,43,43,76,76,107,107,2,0,7,7,49,49,2,0,107,107,347,347,2,0,337,337,398,398,2,0,102,102,587,587,2,0,43,43,107,107,3,0,59,59,181,181,828,828,2,0,185,185,594,594,2,0,159,159,503,503,4,0,402,402,445,445,501,501,542,542,2,0,402,402,501,501,2,0,14,14,45,45,3,0,66,66,79,79,187,187,2,0,35,35,84,84,2,0,98,98,150,150,2,0,7,7,49,50,1,0,637,638,2,0,173,173,752,752,2,0,413,413,593,593,2,0,228,228,453,453,2,0,563,563,598,598,8,0,108,108,455,455,459,460,462,462,464,464,467,476,499,499,557,557,6,0,456,458,461,461,463,463,465,465,477,477,558,558,7,0,109,109,411,411,416,416,454,454,466,466,573,573,617,617,2,0,116,116,882,882,2,0,118,119,507,507,7,0,499,499,557,557,606,609,611,611,619,619,622,628,630,632,6,0,558,558,610,610,612,612,614,616,618,618,620,620,7,0,412,412,416,416,573,573,613,613,617,617,621,621,629,629,3,0,70,70,118,119,507,507,2,0,438,438,639,639,2,0,633,633,635,635,2,0,317,317,640,640,2,0,91,91,577,577,2,0,51,51,362,362,3,0,32,32,61,61,180,180,2,0,15,15,340,340,2,0,678,678,835,835,3,0,132,132,173,173,409,409,3,0,6,6,51,51,492,492,3,0,13,13,20,20,188,188,2,0,42,42,122,122,2,0,104,104,183,183,1,0,873,874,2,0,333,333,598,598,2,0,40,40,684,684,2,0,392,392,549,549,2,0,115,115,450,450,3,0,413,413,531,531,893,894,2,0,841,841,857,857,2,0,318,318,559,559,2,0,68,68,80,80,3,0,132,132,178,178,385,385,2,0,493,493,645,645,2,0,383,383,688,688,3,0,82,82,93,93,426,426,4,0,413,413,450,450,531,532,593,593,2,0,645,645,683,683,2,0,349,349,548,548,6,0,228,228,380,380,382,382,410,410,556,556,599,599,2,0,45,46,62,62,3,0,442,442,663,663,666,666,10,0,332,332,339,339,351,353,359,359,487,487,495,495,650,650,657,657,822,822,832,832,2,0,36,36,170,170,2,0,117,117,831,831,11,0,332,332,339,339,351,353,359,359,487,487,495,495,578,578,650,650,657,657,822,822,832,832,2,0,870,870,891,892,1,0,892,893,2,0,348,348,797,808,3,0,871,874,883,883,885,885,2,0,63,63,179,179,2,0,116,116,886,886,5,0,26,26,224,226,233,233,235,238,498,498,2,0,26,26,224,224,2,0,26,26,224,225,1,0,198,209,3,0,184,184,197,197,596,596,2,0,213,218,403,403,6,0,219,219,230,230,232,232,234,234,241,241,321,322,4,0,220,223,228,229,231,231,319,319,2,0,155,155,239,239,2,0,442,442,813,821,2,0,228,228,498,498,5,0,202,202,208,208,219,220,222,222,442,442,1,0,216,217,2,0,184,184,596,596,2,0,202,202,208,208,2,0,189,189,682,682,2,0,287,288,294,294,3,0,152,152,285,288,303,303,1,0,297,298,3,0,18,18,96,96,177,177,2,0,224,224,228,228,2,0,219,220,222,222,3,0,14,14,45,45,830,830,3,0,258,258,270,271,281,281,3,0,259,261,277,280,282,284,2,0,267,267,269,269,2,0,265,265,268,268,2,0,263,264,274,276,2,0,134,134,587,587,2,0,405,405,539,539,2,0,512,512,529,529,2,0,114,114,860,860,3,0,63,63,179,179,674,674,2,0,139,139,151,151,3,0,7,7,309,309,602,602,3,0,114,114,853,854,860,861,1,0,850,856,2,0,228,228,756,796,1,0,809,812,5,0,717,718,734,736,743,743,749,750,752,752,1,0,696,703,3,0,219,223,236,236,239,239,75,0,12,12,15,15,19,19,30,30,36,37,42,42,48,48,55,55,57,57,59,59,74,74,95,95,117,117,122,122,125,125,131,131,160,160,170,170,241,241,255,262,266,266,270,271,277,284,304,309,311,329,331,343,345,376,378,393,395,400,402,404,406,410,413,415,417,426,428,428,430,434,436,454,456,463,465,473,475,476,478,498,500,506,508,510,512,522,525,530,533,538,540,542,544,554,556,562,565,572,575,575,577,605,633,647,649,665,667,674,676,685,687,688,690,695,704,704,706,707,709,712,714,716,719,721,726,727,729,733,737,738,740,742,744,744,746,748,751,751,753,755,802,802,822,822,825,825,832,833,838,838,24,0,39,39,98,98,150,150,152,152,219,221,223,223,253,254,262,265,267,269,272,276,296,296,435,435,686,686,696,703,746,746,813,813,816,821,823,824,826,827,829,831,834,834,836,836,840,840,856,856,9440,0,841,1,0,0,0,2,851,1,0,0,0,4,860,1,0,0,0,6,862,1,0,0,0,8,904,1,0,0,0,10,923,1,0,0,0,12,934,1,0,0,0,14,950,1,0,0,0,16,955,1,0,0,0,18,967,1,0,0,0,20,1002,1,0,0,0,22,1012,1,0,0,0,24,1014,1,0,0,0,26,1026,1,0,0,0,28,1056,1,0,0,0,30,1092,1,0,0,0,32,1143,1,0,0,0,34,1172,1,0,0,0,36,1208,1,0,0,0,38,1222,1,0,0,0,40,1229,1,0,0,0,42,1326,1,0,0,0,44,1328,1,0,0,0,46,1365,1,0,0,0,48,1429,1,0,0,0,50,1454,1,0,0,0,52,1460,1,0,0,0,54,1482,1,0,0,0,56,1569,1,0,0,0,58,1576,1,0,0,0,60,1578,1,0,0,0,62,1583,1,0,0,0,64,1623,1,0,0,0,66,1629,1,0,0,0,68,1631,1,0,0,0,70,1652,1,0,0,0,72,1659,1,0,0,0,74,1661,1,0,0,0,76,1686,1,0,0,0,78,1689,1,0,0,0,80,1694,1,0,0,0,82,1720,1,0,0,0,84,1736,1,0,0,0,86,1738,1,0,0,0,88,1832,1,0,0,0,90,1835,1,0,0,0,92,1847,1,0,0,0,94,1851,1,0,0,0,96,1901,1,0,0,0,98,1903,1,0,0,0,100,1931,1,0,0,0,102,1941,1,0,0,0,104,2128,1,0,0,0,106,2130,1,0,0,0,108,2132,1,0,0,0,110,2135,1,0,0,0,112,2210,1,0,0,0,114,2233,1,0,0,0,116,2381,1,0,0,0,118,2386,1,0,0,0,120,2388,1,0,0,0,122,2398,1,0,0,0,124,2454,1,0,0,0,126,2474,1,0,0,0,128,2476,1,0,0,0,130,2511,1,0,0,0,132,2520,1,0,0,0,134,2527,1,0,0,0,136,2550,1,0,0,0,138,2559,1,0,0,0,140,2574,1,0,0,0,142,2596,1,0,0,0,144,2652,1,0,0,0,146,2948,1,0,0,0,148,3048,1,0,0,0,150,3050,1,0,0,0,152,3057,1,0,0,0,154,3064,1,0,0,0,156,3087,1,0,0,0,158,3097,1,0,0,0,160,3104,1,0,0,0,162,3111,1,0,0,0,164,3118,1,0,0,0,166,3127,1,0,0,0,168,3139,1,0,0,0,170,3152,1,0,0,0,172,3159,1,0,0,0,174,3175,1,0,0,0,176,3202,1,0,0,0,178,3204,1,0,0,0,180,3214,1,0,0,0,182,3218,1,0,0,0,184,3224,1,0,0,0,186,3236,1,0,0,0,188,3238,1,0,0,0,190,3245,1,0,0,0,192,3247,1,0,0,0,194,3296,1,0,0,0,196,3305,1,0,0,0,198,3307,1,0,0,0,200,3318,1,0,0,0,202,3324,1,0,0,0,204,3398,1,0,0,0,206,3461,1,0,0,0,208,3479,1,0,0,0,210,3563,1,0,0,0,212,3566,1,0,0,0,214,3578,1,0,0,0,216,3598,1,0,0,0,218,3626,1,0,0,0,220,3630,1,0,0,0,222,3632,1,0,0,0,224,3642,1,0,0,0,226,3662,1,0,0,0,228,3669,1,0,0,0,230,3671,1,0,0,0,232,3682,1,0,0,0,234,3691,1,0,0,0,236,3697,1,0,0,0,238,3720,1,0,0,0,240,3722,1,0,0,0,242,3758,1,0,0,0,244,3813,1,0,0,0,246,3822,1,0,0,0,248,3842,1,0,0,0,250,3854,1,0,0,0,252,3858,1,0,0,0,254,3869,1,0,0,0,256,3902,1,0,0,0,258,3923,1,0,0,0,260,3933,1,0,0,0,262,3937,1,0,0,0,264,3963,1,0,0,0,266,4010,1,0,0,0,268,4012,1,0,0,0,270,4016,1,0,0,0,272,4033,1,0,0,0,274,4084,1,0,0,0,276,4093,1,0,0,0,278,4103,1,0,0,0,280,4105,1,0,0,0,282,4138,1,0,0,0,284,4146,1,0,0,0,286,4163,1,0,0,0,288,4179,1,0,0,0,290,4216,1,0,0,0,292,4222,1,0,0,0,294,4231,1,0,0,0,296,4244,1,0,0,0,298,4248,1,0,0,0,300,4286,1,0,0,0,302,4324,1,0,0,0,304,4338,1,0,0,0,306,4346,1,0,0,0,308,4350,1,0,0,0,310,4356,1,0,0,0,312,4370,1,0,0,0,314,4373,1,0,0,0,316,4391,1,0,0,0,318,4395,1,0,0,0,320,4411,1,0,0,0,322,4413,1,0,0,0,324,4425,1,0,0,0,326,4429,1,0,0,0,328,4446,1,0,0,0,330,4463,1,0,0,0,332,4466,1,0,0,0,334,4476,1,0,0,0,336,4480,1,0,0,0,338,4490,1,0,0,0,340,4493,1,0,0,0,342,4498,1,0,0,0,344,4518,1,0,0,0,346,4520,1,0,0,0,348,4537,1,0,0,0,350,4546,1,0,0,0,352,4555,1,0,0,0,354,4557,1,0,0,0,356,4571,1,0,0,0,358,4585,1,0,0,0,360,4600,1,0,0,0,362,4609,1,0,0,0,364,4634,1,0,0,0,366,4649,1,0,0,0,368,4668,1,0,0,0,370,4698,1,0,0,0,372,4700,1,0,0,0,374,4702,1,0,0,0,376,4704,1,0,0,0,378,4719,1,0,0,0,380,4748,1,0,0,0,382,4750,1,0,0,0,384,4752,1,0,0,0,386,4754,1,0,0,0,388,4769,1,0,0,0,390,4771,1,0,0,0,392,4838,1,0,0,0,394,4840,1,0,0,0,396,4846,1,0,0,0,398,4873,1,0,0,0,400,4887,1,0,0,0,402,4898,1,0,0,0,404,4900,1,0,0,0,406,4906,1,0,0,0,408,4916,1,0,0,0,410,4920,1,0,0,0,412,4927,1,0,0,0,414,4931,1,0,0,0,416,4937,1,0,0,0,418,4944,1,0,0,0,420,4950,1,0,0,0,422,4956,1,0,0,0,424,4961,1,0,0,0,426,5006,1,0,0,0,428,5027,1,0,0,0,430,5052,1,0,0,0,432,5055,1,0,0,0,434,5061,1,0,0,0,436,5077,1,0,0,0,438,5092,1,0,0,0,440,5098,1,0,0,0,442,5128,1,0,0,0,444,5130,1,0,0,0,446,5137,1,0,0,0,448,5149,1,0,0,0,450,5155,1,0,0,0,452,5180,1,0,0,0,454,5184,1,0,0,0,456,5188,1,0,0,0,458,5199,1,0,0,0,460,5207,1,0,0,0,462,5270,1,0,0,0,464,5329,1,0,0,0,466,5431,1,0,0,0,468,5441,1,0,0,0,470,5443,1,0,0,0,472,5461,1,0,0,0,474,5485,1,0,0,0,476,5509,1,0,0,0,478,5516,1,0,0,0,480,5536,1,0,0,0,482,5545,1,0,0,0,484,5607,1,0,0,0,486,5609,1,0,0,0,488,5613,1,0,0,0,490,5647,1,0,0,0,492,5649,1,0,0,0,494,5652,1,0,0,0,496,5716,1,0,0,0,498,5735,1,0,0,0,500,5762,1,0,0,0,502,5766,1,0,0,0,504,5787,1,0,0,0,506,5797,1,0,0,0,508,5807,1,0,0,0,510,5847,1,0,0,0,512,5849,1,0,0,0,514,5852,1,0,0,0,516,5882,1,0,0,0,518,5884,1,0,0,0,520,5887,1,0,0,0,522,5987,1,0,0,0,524,6005,1,0,0,0,526,6007,1,0,0,0,528,6059,1,0,0,0,530,6061,1,0,0,0,532,6070,1,0,0,0,534,6076,1,0,0,0,536,6083,1,0,0,0,538,6098,1,0,0,0,540,6107,1,0,0,0,542,6109,1,0,0,0,544,6130,1,0,0,0,546,6135,1,0,0,0,548,6145,1,0,0,0,550,6151,1,0,0,0,552,6185,1,0,0,0,554,6239,1,0,0,0,556,6425,1,0,0,0,558,6437,1,0,0,0,560,6453,1,0,0,0,562,6459,1,0,0,0,564,6478,1,0,0,0,566,6491,1,0,0,0,568,6505,1,0,0,0,570,6507,1,0,0,0,572,6510,1,0,0,0,574,6534,1,0,0,0,576,6546,1,0,0,0,578,6552,1,0,0,0,580,6564,1,0,0,0,582,6578,1,0,0,0,584,6580,1,0,0,0,586,6588,1,0,0,0,588,6596,1,0,0,0,590,6598,1,0,0,0,592,6600,1,0,0,0,594,6640,1,0,0,0,596,6647,1,0,0,0,598,6649,1,0,0,0,600,6672,1,0,0,0,602,6678,1,0,0,0,604,6688,1,0,0,0,606,6697,1,0,0,0,608,6700,1,0,0,0,610,6703,1,0,0,0,612,6724,1,0,0,0,614,6745,1,0,0,0,616,6753,1,0,0,0,618,6765,1,0,0,0,620,6773,1,0,0,0,622,6811,1,0,0,0,624,6823,1,0,0,0,626,6825,1,0,0,0,628,6827,1,0,0,0,630,6829,1,0,0,0,632,6831,1,0,0,0,634,6833,1,0,0,0,636,6835,1,0,0,0,638,6837,1,0,0,0,640,6839,1,0,0,0,642,6847,1,0,0,0,644,6849,1,0,0,0,646,6851,1,0,0,0,648,6853,1,0,0,0,650,6855,1,0,0,0,652,6863,1,0,0,0,654,6865,1,0,0,0,656,6875,1,0,0,0,658,6891,1,0,0,0,660,6893,1,0,0,0,662,6916,1,0,0,0,664,6918,1,0,0,0,666,6920,1,0,0,0,668,6922,1,0,0,0,670,6924,1,0,0,0,672,6932,1,0,0,0,674,6942,1,0,0,0,676,6947,1,0,0,0,678,6951,1,0,0,0,680,6958,1,0,0,0,682,6960,1,0,0,0,684,6967,1,0,0,0,686,6969,1,0,0,0,688,6975,1,0,0,0,690,6977,1,0,0,0,692,6982,1,0,0,0,694,6984,1,0,0,0,696,6986,1,0,0,0,698,7004,1,0,0,0,700,7020,1,0,0,0,702,7022,1,0,0,0,704,7026,1,0,0,0,706,7037,1,0,0,0,708,7048,1,0,0,0,710,7054,1,0,0,0,712,7056,1,0,0,0,714,7060,1,0,0,0,716,7085,1,0,0,0,718,7087,1,0,0,0,720,7090,1,0,0,0,722,7095,1,0,0,0,724,7111,1,0,0,0,726,7239,1,0,0,0,728,7241,1,0,0,0,730,7274,1,0,0,0,732,7279,1,0,0,0,734,7283,1,0,0,0,736,7289,1,0,0,0,738,7297,1,0,0,0,740,7308,1,0,0,0,742,7316,1,0,0,0,744,7325,1,0,0,0,746,7338,1,0,0,0,748,7340,1,0,0,0,750,7348,1,0,0,0,752,7356,1,0,0,0,754,7390,1,0,0,0,756,7406,1,0,0,0,758,7408,1,0,0,0,760,7411,1,0,0,0,762,7415,1,0,0,0,764,7440,1,0,0,0,766,7621,1,0,0,0,768,7623,1,0,0,0,770,7642,1,0,0,0,772,7644,1,0,0,0,774,7707,1,0,0,0,776,7747,1,0,0,0,778,7749,1,0,0,0,780,7758,1,0,0,0,782,7769,1,0,0,0,784,7771,1,0,0,0,786,7774,1,0,0,0,788,7778,1,0,0,0,790,7780,1,0,0,0,792,7792,1,0,0,0,794,7794,1,0,0,0,796,7828,1,0,0,0,798,7830,1,0,0,0,800,7835,1,0,0,0,802,7846,1,0,0,0,804,7859,1,0,0,0,806,7870,1,0,0,0,808,7987,1,0,0,0,810,8009,1,0,0,0,812,8019,1,0,0,0,814,8028,1,0,0,0,816,8037,1,0,0,0,818,8046,1,0,0,0,820,8048,1,0,0,0,822,8055,1,0,0,0,824,8057,1,0,0,0,826,8059,1,0,0,0,828,8061,1,0,0,0,830,8063,1,0,0,0,832,8065,1,0,0,0,834,8067,1,0,0,0,836,8069,1,0,0,0,838,840,3,2,1,0,839,838,1,0,0,0,840,843,1,0,0,0,841,839,1,0,0,0,841,842,1,0,0,0,842,844,1,0,0,0,843,841,1,0,0,0,844,845,5,0,0,1,845,1,1,0,0,0,846,848,3,4,2,0,847,849,5,869,0,0,848,847,1,0,0,0,848,849,1,0,0,0,849,852,1,0,0,0,850,852,3,6,3,0,851,846,1,0,0,0,851,850,1,0,0,0,852,3,1,0,0,0,853,861,3,8,4,0,854,861,3,10,5,0,855,861,3,12,6,0,856,861,3,14,7,0,857,861,3,16,8,0,858,861,3,20,10,0,859,861,3,22,11,0,860,853,1,0,0,0,860,854,1,0,0,0,860,855,1,0,0,0,860,856,1,0,0,0,860,857,1,0,0,0,860,858,1,0,0,0,860,859,1,0,0,0,861,5,1,0,0,0,862,863,5,869,0,0,863,7,1,0,0,0,864,905,3,24,12,0,865,905,3,26,13,0,866,905,3,28,14,0,867,905,3,30,15,0,868,905,3,32,16,0,869,905,3,34,17,0,870,905,3,36,18,0,871,905,3,40,20,0,872,905,3,42,21,0,873,905,3,44,22,0,874,905,3,46,23,0,875,905,3,48,24,0,876,905,3,54,27,0,877,905,3,38,19,0,878,905,3,126,63,0,879,905,3,128,64,0,880,905,3,130,65,0,881,905,3,132,66,0,882,905,3,134,67,0,883,905,3,136,68,0,884,905,3,138,69,0,885,905,3,140,70,0,886,905,3,142,71,0,887,905,3,144,72,0,888,905,3,150,75,0,889,905,3,152,76,0,890,905,3,154,77,0,891,905,3,156,78,0,892,905,3,158,79,0,893,905,3,160,80,0,894,905,3,162,81,0,895,905,3,164,82,0,896,905,3,166,83,0,897,905,3,168,84,0,898,905,3,170,85,0,899,905,3,172,86,0,900,905,3,174,87,0,901,905,3,176,88,0,902,905,3,178,89,0,903,905,3,182,91,0,904,864,1,0,0,0,904,865,1,0,0,0,904,866,1,0,0,0,904,867,1,0,0,0,904,868,1,0,0,0,904,869,1,0,0,0,904,870,1,0,0,0,904,871,1,0,0,0,904,872,1,0,0,0,904,873,1,0,0,0,904,874,1,0,0,0,904,875,1,0,0,0,904,876,1,0,0,0,904,877,1,0,0,0,904,878,1,0,0,0,904,879,1,0,0,0,904,880,1,0,0,0,904,881,1,0,0,0,904,882,1,0,0,0,904,883,1,0,0,0,904,884,1,0,0,0,904,885,1,0,0,0,904,886,1,0,0,0,904,887,1,0,0,0,904,888,1,0,0,0,904,889,1,0,0,0,904,890,1,0,0,0,904,891,1,0,0,0,904,892,1,0,0,0,904,893,1,0,0,0,904,894,1,0,0,0,904,895,1,0,0,0,904,896,1,0,0,0,904,897,1,0,0,0,904,898,1,0,0,0,904,899,1,0,0,0,904,900,1,0,0,0,904,901,1,0,0,0,904,902,1,0,0,0,904,903,1,0,0,0,905,9,1,0,0,0,906,924,3,210,105,0,907,924,3,212,106,0,908,924,3,192,96,0,909,924,3,220,110,0,910,924,3,186,93,0,911,924,3,208,104,0,912,924,3,184,92,0,913,924,3,198,99,0,914,924,3,202,101,0,915,924,3,204,102,0,916,924,3,206,103,0,917,924,3,188,94,0,918,924,3,190,95,0,919,924,3,252,126,0,920,924,3,222,111,0,921,924,3,616,308,0,922,924,3,618,309,0,923,906,1,0,0,0,923,907,1,0,0,0,923,908,1,0,0,0,923,909,1,0,0,0,923,910,1,0,0,0,923,911,1,0,0,0,923,912,1,0,0,0,923,913,1,0,0,0,923,914,1,0,0,0,923,915,1,0,0,0,923,916,1,0,0,0,923,917,1,0,0,0,923,918,1,0,0,0,923,919,1,0,0,0,923,920,1,0,0,0,923,921,1,0,0,0,923,922,1,0,0,0,924,11,1,0,0,0,925,935,3,322,161,0,926,935,3,324,162,0,927,935,3,326,163,0,928,935,3,328,164,0,929,935,3,330,165,0,930,935,3,332,166,0,931,935,3,334,167,0,932,935,3,336,168,0,933,935,3,338,169,0,934,925,1,0,0,0,934,926,1,0,0,0,934,927,1,0,0,0,934,928,1,0,0,0,934,929,1,0,0,0,934,930,1,0,0,0,934,931,1,0,0,0,934,932,1,0,0,0,934,933,1,0,0,0,935,13,1,0,0,0,936,951,3,354,177,0,937,951,3,356,178,0,938,951,3,358,179,0,939,951,3,360,180,0,940,951,3,362,181,0,941,951,3,364,182,0,942,951,3,366,183,0,943,951,3,368,184,0,944,951,3,404,202,0,945,951,3,406,203,0,946,951,3,408,204,0,947,951,3,410,205,0,948,951,3,412,206,0,949,951,3,414,207,0,950,936,1,0,0,0,950,937,1,0,0,0,950,938,1,0,0,0,950,939,1,0,0,0,950,940,1,0,0,0,950,941,1,0,0,0,950,942,1,0,0,0,950,943,1,0,0,0,950,944,1,0,0,0,950,945,1,0,0,0,950,946,1,0,0,0,950,947,1,0,0,0,950,948,1,0,0,0,950,949,1,0,0,0,951,15,1,0,0,0,952,956,3,416,208,0,953,956,3,418,209,0,954,956,3,420,210,0,955,952,1,0,0,0,955,953,1,0,0,0,955,954,1,0,0,0,956,17,1,0,0,0,957,968,3,424,212,0,958,968,3,426,213,0,959,968,3,428,214,0,960,968,3,432,216,0,961,968,3,434,217,0,962,968,3,436,218,0,963,968,3,440,220,0,964,968,3,430,215,0,965,968,3,438,219,0,966,968,3,442,221,0,967,957,1,0,0,0,967,958,1,0,0,0,967,959,1,0,0,0,967,960,1,0,0,0,967,961,1,0,0,0,967,962,1,0,0,0,967,963,1,0,0,0,967,964,1,0,0,0,967,965,1,0,0,0,967,966,1,0,0,0,968,19,1,0,0,0,969,1003,3,460,230,0,970,1003,3,462,231,0,971,1003,3,464,232,0,972,1003,3,466,233,0,973,1003,3,470,235,0,974,1003,3,482,241,0,975,1003,3,484,242,0,976,1003,3,472,236,0,977,1003,3,474,237,0,978,1003,3,476,238,0,979,1003,3,478,239,0,980,1003,3,528,264,0,981,1003,3,530,265,0,982,1003,3,532,266,0,983,1003,3,534,267,0,984,1003,3,536,268,0,985,1003,3,542,271,0,986,1003,3,546,273,0,987,1003,3,548,274,0,988,1003,3,550,275,0,989,1003,3,552,276,0,990,1003,3,554,277,0,991,1003,3,556,278,0,992,1003,3,570,285,0,993,1003,3,572,286,0,994,1003,3,574,287,0,995,1003,3,576,288,0,996,1003,3,578,289,0,997,1003,3,580,290,0,998,1003,3,584,292,0,999,1003,3,586,293,0,1e3,1003,3,588,294,0,1001,1003,3,590,295,0,1002,969,1,0,0,0,1002,970,1,0,0,0,1002,971,1,0,0,0,1002,972,1,0,0,0,1002,973,1,0,0,0,1002,974,1,0,0,0,1002,975,1,0,0,0,1002,976,1,0,0,0,1002,977,1,0,0,0,1002,978,1,0,0,0,1002,979,1,0,0,0,1002,980,1,0,0,0,1002,981,1,0,0,0,1002,982,1,0,0,0,1002,983,1,0,0,0,1002,984,1,0,0,0,1002,985,1,0,0,0,1002,986,1,0,0,0,1002,987,1,0,0,0,1002,988,1,0,0,0,1002,989,1,0,0,0,1002,990,1,0,0,0,1002,991,1,0,0,0,1002,992,1,0,0,0,1002,993,1,0,0,0,1002,994,1,0,0,0,1002,995,1,0,0,0,1002,996,1,0,0,0,1002,997,1,0,0,0,1002,998,1,0,0,0,1002,999,1,0,0,0,1002,1e3,1,0,0,0,1002,1001,1,0,0,0,1003,21,1,0,0,0,1004,1013,3,602,301,0,1005,1013,3,600,300,0,1006,1013,3,604,302,0,1007,1013,3,606,303,0,1008,1013,3,608,304,0,1009,1013,3,610,305,0,1010,1013,3,612,306,0,1011,1013,3,620,310,0,1012,1004,1,0,0,0,1012,1005,1,0,0,0,1012,1006,1,0,0,0,1012,1007,1,0,0,0,1012,1008,1,0,0,0,1012,1009,1,0,0,0,1012,1010,1,0,0,0,1012,1011,1,0,0,0,1013,23,1,0,0,0,1014,1015,5,34,0,0,1015,1017,7,0,0,0,1016,1018,3,760,380,0,1017,1016,1,0,0,0,1017,1018,1,0,0,0,1018,1019,1,0,0,0,1019,1023,3,626,313,0,1020,1022,3,56,28,0,1021,1020,1,0,0,0,1022,1025,1,0,0,0,1023,1021,1,0,0,0,1023,1024,1,0,0,0,1024,25,1,0,0,0,1025,1023,1,0,0,0,1026,1028,5,34,0,0,1027,1029,3,62,31,0,1028,1027,1,0,0,0,1028,1029,1,0,0,0,1029,1030,1,0,0,0,1030,1032,5,385,0,0,1031,1033,3,760,380,0,1032,1031,1,0,0,0,1032,1033,1,0,0,0,1033,1034,1,0,0,0,1034,1035,3,702,351,0,1035,1036,5,119,0,0,1036,1037,5,590,0,0,1037,1044,3,64,32,0,1038,1039,5,119,0,0,1039,1041,5,343,0,0,1040,1042,5,114,0,0,1041,1040,1,0,0,0,1041,1042,1,0,0,0,1042,1043,1,0,0,0,1043,1045,5,541,0,0,1044,1038,1,0,0,0,1044,1045,1,0,0,0,1045,1047,1,0,0,0,1046,1048,3,72,36,0,1047,1046,1,0,0,0,1047,1048,1,0,0,0,1048,1051,1,0,0,0,1049,1050,5,340,0,0,1050,1052,5,882,0,0,1051,1049,1,0,0,0,1051,1052,1,0,0,0,1052,1053,1,0,0,0,1053,1054,5,371,0,0,1054,1055,3,422,211,0,1055,27,1,0,0,0,1056,1058,5,34,0,0,1057,1059,7,1,0,0,1058,1057,1,0,0,0,1058,1059,1,0,0,0,1059,1061,1,0,0,0,1060,1062,7,2,0,0,1061,1060,1,0,0,0,1061,1062,1,0,0,0,1062,1063,1,0,0,0,1063,1064,5,82,0,0,1064,1066,3,638,319,0,1065,1067,3,74,37,0,1066,1065,1,0,0,0,1066,1067,1,0,0,0,1067,1068,1,0,0,0,1068,1069,5,119,0,0,1069,1070,3,652,326,0,1070,1074,3,738,369,0,1071,1073,3,76,38,0,1072,1071,1,0,0,0,1073,1076,1,0,0,0,1074,1072,1,0,0,0,1074,1075,1,0,0,0,1075,1089,1,0,0,0,1076,1074,1,0,0,0,1077,1079,5,308,0,0,1078,1080,5,857,0,0,1079,1078,1,0,0,0,1079,1080,1,0,0,0,1080,1081,1,0,0,0,1081,1088,7,3,0,0,1082,1084,5,104,0,0,1083,1085,5,857,0,0,1084,1083,1,0,0,0,1084,1085,1,0,0,0,1085,1086,1,0,0,0,1086,1088,7,4,0,0,1087,1077,1,0,0,0,1087,1082,1,0,0,0,1088,1091,1,0,0,0,1089,1087,1,0,0,0,1089,1090,1,0,0,0,1090,29,1,0,0,0,1091,1089,1,0,0,0,1092,1093,5,34,0,0,1093,1094,5,451,0,0,1094,1095,5,74,0,0,1095,1096,3,706,353,0,1096,1097,5,6,0,0,1097,1098,5,671,0,0,1098,1104,5,882,0,0,1099,1101,5,428,0,0,1100,1102,5,857,0,0,1101,1100,1,0,0,0,1101,1102,1,0,0,0,1102,1103,1,0,0,0,1103,1105,3,714,357,0,1104,1099,1,0,0,0,1104,1105,1,0,0,0,1105,1111,1,0,0,0,1106,1108,5,672,0,0,1107,1109,5,857,0,0,1108,1107,1,0,0,0,1108,1109,1,0,0,0,1109,1110,1,0,0,0,1110,1112,3,714,357,0,1111,1106,1,0,0,0,1111,1112,1,0,0,0,1112,1118,1,0,0,0,1113,1115,5,553,0,0,1114,1116,5,857,0,0,1115,1114,1,0,0,0,1115,1116,1,0,0,0,1116,1117,1,0,0,0,1117,1119,3,714,357,0,1118,1113,1,0,0,0,1118,1119,1,0,0,0,1119,1125,1,0,0,0,1120,1122,5,504,0,0,1121,1123,5,857,0,0,1122,1121,1,0,0,0,1122,1123,1,0,0,0,1123,1124,1,0,0,0,1124,1126,3,706,353,0,1125,1120,1,0,0,0,1125,1126,1,0,0,0,1126,1128,1,0,0,0,1127,1129,5,687,0,0,1128,1127,1,0,0,0,1128,1129,1,0,0,0,1129,1135,1,0,0,0,1130,1132,5,340,0,0,1131,1133,5,857,0,0,1132,1131,1,0,0,0,1132,1133,1,0,0,0,1133,1134,1,0,0,0,1134,1136,5,882,0,0,1135,1130,1,0,0,0,1135,1136,1,0,0,0,1136,1137,1,0,0,0,1137,1139,5,380,0,0,1138,1140,5,857,0,0,1139,1138,1,0,0,0,1139,1140,1,0,0,0,1140,1141,1,0,0,0,1141,1142,3,692,346,0,1142,31,1,0,0,0,1143,1145,5,34,0,0,1144,1146,3,62,31,0,1145,1144,1,0,0,0,1145,1146,1,0,0,0,1146,1147,1,0,0,0,1147,1149,5,132,0,0,1148,1150,3,760,380,0,1149,1148,1,0,0,0,1149,1150,1,0,0,0,1150,1151,1,0,0,0,1151,1152,3,702,351,0,1152,1154,5,866,0,0,1153,1155,3,78,39,0,1154,1153,1,0,0,0,1154,1155,1,0,0,0,1155,1160,1,0,0,0,1156,1157,5,868,0,0,1157,1159,3,78,39,0,1158,1156,1,0,0,0,1159,1162,1,0,0,0,1160,1158,1,0,0,0,1160,1161,1,0,0,0,1161,1163,1,0,0,0,1162,1160,1,0,0,0,1163,1167,5,867,0,0,1164,1166,3,82,41,0,1165,1164,1,0,0,0,1166,1169,1,0,0,0,1167,1165,1,0,0,0,1167,1168,1,0,0,0,1168,1170,1,0,0,0,1169,1167,1,0,0,0,1170,1171,3,422,211,0,1171,33,1,0,0,0,1172,1174,5,34,0,0,1173,1175,3,62,31,0,1174,1173,1,0,0,0,1174,1175,1,0,0,0,1175,1177,1,0,0,0,1176,1178,5,307,0,0,1177,1176,1,0,0,0,1177,1178,1,0,0,0,1178,1179,1,0,0,0,1179,1181,5,409,0,0,1180,1182,3,760,380,0,1181,1180,1,0,0,0,1181,1182,1,0,0,0,1182,1183,1,0,0,0,1183,1184,3,630,315,0,1184,1186,5,866,0,0,1185,1187,3,80,40,0,1186,1185,1,0,0,0,1186,1187,1,0,0,0,1187,1192,1,0,0,0,1188,1189,5,868,0,0,1189,1191,3,80,40,0,1190,1188,1,0,0,0,1191,1194,1,0,0,0,1192,1190,1,0,0,0,1192,1193,1,0,0,0,1193,1195,1,0,0,0,1194,1192,1,0,0,0,1195,1196,5,867,0,0,1196,1197,5,580,0,0,1197,1201,3,726,363,0,1198,1200,3,82,41,0,1199,1198,1,0,0,0,1200,1203,1,0,0,0,1201,1199,1,0,0,0,1201,1202,1,0,0,0,1202,1206,1,0,0,0,1203,1201,1,0,0,0,1204,1207,3,422,211,0,1205,1207,3,438,219,0,1206,1204,1,0,0,0,1206,1205,1,0,0,0,1207,35,1,0,0,0,1208,1210,5,34,0,0,1209,1211,5,307,0,0,1210,1209,1,0,0,0,1210,1211,1,0,0,0,1211,1212,1,0,0,0,1212,1214,5,409,0,0,1213,1215,3,760,380,0,1214,1213,1,0,0,0,1214,1215,1,0,0,0,1215,1216,1,0,0,0,1216,1217,3,630,315,0,1217,1218,5,580,0,0,1218,1219,7,5,0,0,1219,1220,5,603,0,0,1220,1221,5,882,0,0,1221,37,1,0,0,0,1222,1223,5,34,0,0,1223,1225,5,582,0,0,1224,1226,3,760,380,0,1225,1224,1,0,0,0,1225,1226,1,0,0,0,1226,1227,1,0,0,0,1227,1228,3,654,327,0,1228,39,1,0,0,0,1229,1230,5,34,0,0,1230,1231,5,592,0,0,1231,1232,3,706,353,0,1232,1233,5,67,0,0,1233,1234,5,360,0,0,1234,1235,5,692,0,0,1235,1236,7,6,0,0,1236,1237,5,518,0,0,1237,1238,5,866,0,0,1238,1243,3,84,42,0,1239,1240,5,868,0,0,1240,1242,3,84,42,0,1241,1239,1,0,0,0,1242,1245,1,0,0,0,1243,1241,1,0,0,0,1243,1244,1,0,0,0,1244,1246,1,0,0,0,1245,1243,1,0,0,0,1246,1247,5,867,0,0,1247,41,1,0,0,0,1248,1250,5,34,0,0,1249,1251,5,660,0,0,1250,1249,1,0,0,0,1250,1251,1,0,0,0,1251,1252,1,0,0,0,1252,1254,5,173,0,0,1253,1255,3,760,380,0,1254,1253,1,0,0,0,1254,1255,1,0,0,0,1255,1256,1,0,0,0,1256,1258,3,648,324,0,1257,1259,3,86,43,0,1258,1257,1,0,0,0,1258,1259,1,0,0,0,1259,1270,1,0,0,0,1260,1267,3,104,52,0,1261,1263,5,868,0,0,1262,1261,1,0,0,0,1262,1263,1,0,0,0,1263,1264,1,0,0,0,1264,1266,3,104,52,0,1265,1262,1,0,0,0,1266,1269,1,0,0,0,1267,1265,1,0,0,0,1267,1268,1,0,0,0,1268,1271,1,0,0,0,1269,1267,1,0,0,0,1270,1260,1,0,0,0,1270,1271,1,0,0,0,1271,1273,1,0,0,0,1272,1274,3,110,55,0,1273,1272,1,0,0,0,1273,1274,1,0,0,0,1274,1276,1,0,0,0,1275,1277,7,7,0,0,1276,1275,1,0,0,0,1276,1277,1,0,0,0,1277,1279,1,0,0,0,1278,1280,5,13,0,0,1279,1278,1,0,0,0,1279,1280,1,0,0,0,1280,1281,1,0,0,0,1281,1282,3,210,105,0,1282,1327,1,0,0,0,1283,1285,5,34,0,0,1284,1286,5,660,0,0,1285,1284,1,0,0,0,1285,1286,1,0,0,0,1286,1287,1,0,0,0,1287,1289,5,173,0,0,1288,1290,3,760,380,0,1289,1288,1,0,0,0,1289,1290,1,0,0,0,1290,1291,1,0,0,0,1291,1299,3,648,324,0,1292,1293,5,99,0,0,1293,1300,3,652,326,0,1294,1295,5,866,0,0,1295,1296,5,99,0,0,1296,1297,3,652,326,0,1297,1298,5,867,0,0,1298,1300,1,0,0,0,1299,1292,1,0,0,0,1299,1294,1,0,0,0,1300,1327,1,0,0,0,1301,1303,5,34,0,0,1302,1304,5,660,0,0,1303,1302,1,0,0,0,1303,1304,1,0,0,0,1304,1305,1,0,0,0,1305,1307,5,173,0,0,1306,1308,3,760,380,0,1307,1306,1,0,0,0,1307,1308,1,0,0,0,1308,1309,1,0,0,0,1309,1310,3,648,324,0,1310,1321,3,86,43,0,1311,1318,3,104,52,0,1312,1314,5,868,0,0,1313,1312,1,0,0,0,1313,1314,1,0,0,0,1314,1315,1,0,0,0,1315,1317,3,104,52,0,1316,1313,1,0,0,0,1317,1320,1,0,0,0,1318,1316,1,0,0,0,1318,1319,1,0,0,0,1319,1322,1,0,0,0,1320,1318,1,0,0,0,1321,1311,1,0,0,0,1321,1322,1,0,0,0,1322,1324,1,0,0,0,1323,1325,3,110,55,0,1324,1323,1,0,0,0,1324,1325,1,0,0,0,1325,1327,1,0,0,0,1326,1248,1,0,0,0,1326,1283,1,0,0,0,1326,1301,1,0,0,0,1327,43,1,0,0,0,1328,1330,5,34,0,0,1329,1331,5,180,0,0,1330,1329,1,0,0,0,1330,1331,1,0,0,0,1331,1332,1,0,0,0,1332,1333,5,658,0,0,1333,1337,3,664,332,0,1334,1335,5,6,0,0,1335,1336,5,361,0,0,1336,1338,5,882,0,0,1337,1334,1,0,0,0,1337,1338,1,0,0,0,1338,1344,1,0,0,0,1339,1341,5,314,0,0,1340,1342,5,857,0,0,1341,1340,1,0,0,0,1341,1342,1,0,0,0,1342,1343,1,0,0,0,1343,1345,3,714,357,0,1344,1339,1,0,0,0,1344,1345,1,0,0,0,1345,1349,1,0,0,0,1346,1347,5,399,0,0,1347,1348,5,857,0,0,1348,1350,3,714,357,0,1349,1346,1,0,0,0,1349,1350,1,0,0,0,1350,1356,1,0,0,0,1351,1353,5,380,0,0,1352,1354,5,857,0,0,1353,1352,1,0,0,0,1353,1354,1,0,0,0,1354,1355,1,0,0,0,1355,1357,3,692,346,0,1356,1351,1,0,0,0,1356,1357,1,0,0,0,1357,1363,1,0,0,0,1358,1360,5,825,0,0,1359,1361,5,857,0,0,1360,1359,1,0,0,0,1360,1361,1,0,0,0,1361,1362,1,0,0,0,1362,1364,5,882,0,0,1363,1358,1,0,0,0,1363,1364,1,0,0,0,1364,45,1,0,0,0,1365,1367,5,34,0,0,1366,1368,5,180,0,0,1367,1366,1,0,0,0,1367,1368,1,0,0,0,1368,1369,1,0,0,0,1369,1370,5,658,0,0,1370,1371,3,664,332,0,1371,1372,5,6,0,0,1372,1373,5,361,0,0,1373,1374,5,882,0,0,1374,1375,5,187,0,0,1375,1376,5,451,0,0,1376,1377,5,74,0,0,1377,1383,3,706,353,0,1378,1380,5,393,0,0,1379,1381,5,857,0,0,1380,1379,1,0,0,0,1380,1381,1,0,0,0,1381,1382,1,0,0,0,1382,1384,3,714,357,0,1383,1378,1,0,0,0,1383,1384,1,0,0,0,1384,1390,1,0,0,0,1385,1387,5,428,0,0,1386,1388,5,857,0,0,1387,1386,1,0,0,0,1387,1388,1,0,0,0,1388,1389,1,0,0,0,1389,1391,3,714,357,0,1390,1385,1,0,0,0,1390,1391,1,0,0,0,1391,1397,1,0,0,0,1392,1394,5,314,0,0,1393,1395,5,857,0,0,1394,1393,1,0,0,0,1394,1395,1,0,0,0,1395,1396,1,0,0,0,1396,1398,3,714,357,0,1397,1392,1,0,0,0,1397,1398,1,0,0,0,1398,1404,1,0,0,0,1399,1401,5,481,0,0,1400,1402,5,857,0,0,1401,1400,1,0,0,0,1401,1402,1,0,0,0,1402,1403,1,0,0,0,1403,1405,3,714,357,0,1404,1399,1,0,0,0,1404,1405,1,0,0,0,1405,1411,1,0,0,0,1406,1408,5,504,0,0,1407,1409,5,857,0,0,1408,1407,1,0,0,0,1408,1409,1,0,0,0,1409,1410,1,0,0,0,1410,1412,3,706,353,0,1411,1406,1,0,0,0,1411,1412,1,0,0,0,1412,1414,1,0,0,0,1413,1415,5,687,0,0,1414,1413,1,0,0,0,1414,1415,1,0,0,0,1415,1421,1,0,0,0,1416,1418,5,340,0,0,1417,1419,5,857,0,0,1418,1417,1,0,0,0,1418,1419,1,0,0,0,1419,1420,1,0,0,0,1420,1422,5,882,0,0,1421,1416,1,0,0,0,1421,1422,1,0,0,0,1422,1423,1,0,0,0,1423,1425,5,380,0,0,1424,1426,5,857,0,0,1425,1424,1,0,0,0,1425,1426,1,0,0,0,1426,1427,1,0,0,0,1427,1428,3,692,346,0,1428,47,1,0,0,0,1429,1431,5,34,0,0,1430,1432,3,62,31,0,1431,1430,1,0,0,0,1431,1432,1,0,0,0,1432,1434,1,0,0,0,1433,1435,3,760,380,0,1434,1433,1,0,0,0,1434,1435,1,0,0,0,1435,1436,1,0,0,0,1436,1438,5,178,0,0,1437,1439,3,760,380,0,1438,1437,1,0,0,0,1438,1439,1,0,0,0,1439,1440,1,0,0,0,1440,1441,3,702,351,0,1441,1442,7,8,0,0,1442,1443,7,9,0,0,1443,1444,5,119,0,0,1444,1445,3,652,326,0,1445,1446,5,65,0,0,1446,1447,5,52,0,0,1447,1450,5,586,0,0,1448,1449,7,10,0,0,1449,1451,3,702,351,0,1450,1448,1,0,0,0,1450,1451,1,0,0,0,1451,1452,1,0,0,0,1452,1453,3,422,211,0,1453,49,1,0,0,0,1454,1456,5,194,0,0,1455,1457,5,552,0,0,1456,1455,1,0,0,0,1456,1457,1,0,0,0,1457,1458,1,0,0,0,1458,1459,3,52,26,0,1459,51,1,0,0,0,1460,1472,3,706,353,0,1461,1462,5,866,0,0,1462,1467,3,706,353,0,1463,1464,5,868,0,0,1464,1466,3,706,353,0,1465,1463,1,0,0,0,1466,1469,1,0,0,0,1467,1465,1,0,0,0,1467,1468,1,0,0,0,1468,1470,1,0,0,0,1469,1467,1,0,0,0,1470,1471,5,867,0,0,1471,1473,1,0,0,0,1472,1461,1,0,0,0,1472,1473,1,0,0,0,1473,1474,1,0,0,0,1474,1475,5,13,0,0,1475,1476,5,866,0,0,1476,1477,3,10,5,0,1477,1480,5,867,0,0,1478,1479,5,868,0,0,1479,1481,3,52,26,0,1480,1478,1,0,0,0,1480,1481,1,0,0,0,1481,53,1,0,0,0,1482,1484,5,34,0,0,1483,1485,3,762,381,0,1484,1483,1,0,0,0,1484,1485,1,0,0,0,1485,1489,1,0,0,0,1486,1487,5,308,0,0,1487,1488,5,857,0,0,1488,1490,7,11,0,0,1489,1486,1,0,0,0,1489,1490,1,0,0,0,1490,1492,1,0,0,0,1491,1493,3,62,31,0,1492,1491,1,0,0,0,1492,1493,1,0,0,0,1493,1497,1,0,0,0,1494,1495,5,162,0,0,1495,1496,5,591,0,0,1496,1498,7,12,0,0,1497,1494,1,0,0,0,1497,1498,1,0,0,0,1498,1499,1,0,0,0,1499,1500,5,684,0,0,1500,1512,3,634,317,0,1501,1502,5,866,0,0,1502,1507,3,658,329,0,1503,1504,5,868,0,0,1504,1506,3,658,329,0,1505,1503,1,0,0,0,1506,1509,1,0,0,0,1507,1505,1,0,0,0,1507,1508,1,0,0,0,1508,1510,1,0,0,0,1509,1507,1,0,0,0,1510,1511,5,867,0,0,1511,1513,1,0,0,0,1512,1501,1,0,0,0,1512,1513,1,0,0,0,1513,1514,1,0,0,0,1514,1534,5,13,0,0,1515,1517,5,866,0,0,1516,1518,3,50,25,0,1517,1516,1,0,0,0,1517,1518,1,0,0,0,1518,1519,1,0,0,0,1519,1520,3,210,105,0,1520,1521,5,867,0,0,1521,1535,1,0,0,0,1522,1524,3,50,25,0,1523,1522,1,0,0,0,1523,1524,1,0,0,0,1524,1525,1,0,0,0,1525,1532,3,210,105,0,1526,1528,5,194,0,0,1527,1529,7,13,0,0,1528,1527,1,0,0,0,1528,1529,1,0,0,0,1529,1530,1,0,0,0,1530,1531,5,27,0,0,1531,1533,5,121,0,0,1532,1526,1,0,0,0,1532,1533,1,0,0,0,1533,1535,1,0,0,0,1534,1515,1,0,0,0,1534,1523,1,0,0,0,1535,55,1,0,0,0,1536,1538,5,42,0,0,1537,1536,1,0,0,0,1537,1538,1,0,0,0,1538,1539,1,0,0,0,1539,1541,3,58,29,0,1540,1542,5,857,0,0,1541,1540,1,0,0,0,1541,1542,1,0,0,0,1542,1545,1,0,0,0,1543,1546,3,688,344,0,1544,1546,5,42,0,0,1545,1543,1,0,0,0,1545,1544,1,0,0,0,1546,1570,1,0,0,0,1547,1549,5,42,0,0,1548,1547,1,0,0,0,1548,1549,1,0,0,0,1549,1550,1,0,0,0,1550,1552,5,28,0,0,1551,1553,5,857,0,0,1552,1551,1,0,0,0,1552,1553,1,0,0,0,1553,1554,1,0,0,0,1554,1570,3,690,345,0,1555,1557,5,42,0,0,1556,1555,1,0,0,0,1556,1557,1,0,0,0,1557,1558,1,0,0,0,1558,1560,5,376,0,0,1559,1561,5,857,0,0,1560,1559,1,0,0,0,1560,1561,1,0,0,0,1561,1562,1,0,0,0,1562,1570,5,882,0,0,1563,1564,5,135,0,0,1564,1566,5,515,0,0,1565,1567,5,857,0,0,1566,1565,1,0,0,0,1566,1567,1,0,0,0,1567,1568,1,0,0,0,1568,1570,7,14,0,0,1569,1537,1,0,0,0,1569,1548,1,0,0,0,1569,1556,1,0,0,0,1569,1563,1,0,0,0,1570,57,1,0,0,0,1571,1572,5,26,0,0,1572,1577,5,155,0,0,1573,1577,5,823,0,0,1574,1575,5,224,0,0,1575,1577,5,155,0,0,1576,1571,1,0,0,0,1576,1573,1,0,0,0,1576,1574,1,0,0,0,1577,59,1,0,0,0,1578,1581,7,15,0,0,1579,1580,5,866,0,0,1580,1582,5,867,0,0,1581,1579,1,0,0,0,1581,1582,1,0,0,0,1582,61,1,0,0,0,1583,1584,5,364,0,0,1584,1587,5,857,0,0,1585,1588,3,684,342,0,1586,1588,3,60,30,0,1587,1585,1,0,0,0,1587,1586,1,0,0,0,1588,63,1,0,0,0,1589,1590,5,311,0,0,1590,1594,3,66,33,0,1591,1593,3,68,34,0,1592,1591,1,0,0,0,1593,1596,1,0,0,0,1594,1592,1,0,0,0,1594,1595,1,0,0,0,1595,1624,1,0,0,0,1596,1594,1,0,0,0,1597,1600,5,387,0,0,1598,1601,3,712,356,0,1599,1601,3,804,402,0,1600,1598,1,0,0,0,1600,1599,1,0,0,0,1601,1602,1,0,0,0,1602,1611,3,70,35,0,1603,1604,5,641,0,0,1604,1608,3,66,33,0,1605,1607,3,68,34,0,1606,1605,1,0,0,0,1607,1610,1,0,0,0,1608,1606,1,0,0,0,1608,1609,1,0,0,0,1609,1612,1,0,0,0,1610,1608,1,0,0,0,1611,1603,1,0,0,0,1611,1612,1,0,0,0,1612,1621,1,0,0,0,1613,1614,5,379,0,0,1614,1618,3,66,33,0,1615,1617,3,68,34,0,1616,1615,1,0,0,0,1617,1620,1,0,0,0,1618,1616,1,0,0,0,1618,1619,1,0,0,0,1619,1622,1,0,0,0,1620,1618,1,0,0,0,1621,1613,1,0,0,0,1621,1622,1,0,0,0,1622,1624,1,0,0,0,1623,1589,1,0,0,0,1623,1597,1,0,0,0,1624,65,1,0,0,0,1625,1630,5,287,0,0,1626,1630,3,716,358,0,1627,1630,3,712,356,0,1628,1630,3,804,402,0,1629,1625,1,0,0,0,1629,1626,1,0,0,0,1629,1627,1,0,0,0,1629,1628,1,0,0,0,1630,67,1,0,0,0,1631,1632,5,853,0,0,1632,1635,5,87,0,0,1633,1636,3,712,356,0,1634,1636,3,804,402,0,1635,1633,1,0,0,0,1635,1634,1,0,0,0,1636,1637,1,0,0,0,1637,1638,3,70,35,0,1638,69,1,0,0,0,1639,1653,3,830,415,0,1640,1653,5,223,0,0,1641,1653,5,242,0,0,1642,1653,5,243,0,0,1643,1653,5,244,0,0,1644,1653,5,245,0,0,1645,1653,5,246,0,0,1646,1653,5,247,0,0,1647,1653,5,248,0,0,1648,1653,5,249,0,0,1649,1653,5,250,0,0,1650,1653,5,251,0,0,1651,1653,5,252,0,0,1652,1639,1,0,0,0,1652,1640,1,0,0,0,1652,1641,1,0,0,0,1652,1642,1,0,0,0,1652,1643,1,0,0,0,1652,1644,1,0,0,0,1652,1645,1,0,0,0,1652,1646,1,0,0,0,1652,1647,1,0,0,0,1652,1648,1,0,0,0,1652,1649,1,0,0,0,1652,1650,1,0,0,0,1652,1651,1,0,0,0,1653,71,1,0,0,0,1654,1660,5,375,0,0,1655,1660,5,368,0,0,1656,1657,5,368,0,0,1657,1658,5,119,0,0,1658,1660,5,598,0,0,1659,1654,1,0,0,0,1659,1655,1,0,0,0,1659,1656,1,0,0,0,1660,73,1,0,0,0,1661,1662,5,188,0,0,1662,1663,7,16,0,0,1663,75,1,0,0,0,1664,1666,5,443,0,0,1665,1667,5,857,0,0,1666,1665,1,0,0,0,1666,1667,1,0,0,0,1667,1668,1,0,0,0,1668,1687,3,714,357,0,1669,1687,3,74,37,0,1670,1671,5,194,0,0,1671,1672,5,525,0,0,1672,1687,3,706,353,0,1673,1674,5,340,0,0,1674,1687,5,882,0,0,1675,1687,7,17,0,0,1676,1678,5,825,0,0,1677,1679,5,857,0,0,1678,1677,1,0,0,0,1678,1679,1,0,0,0,1679,1680,1,0,0,0,1680,1687,5,882,0,0,1681,1683,5,833,0,0,1682,1684,5,857,0,0,1683,1682,1,0,0,0,1683,1684,1,0,0,0,1684,1685,1,0,0,0,1685,1687,5,882,0,0,1686,1664,1,0,0,0,1686,1669,1,0,0,0,1686,1670,1,0,0,0,1686,1673,1,0,0,0,1686,1675,1,0,0,0,1686,1676,1,0,0,0,1686,1681,1,0,0,0,1687,77,1,0,0,0,1688,1690,7,18,0,0,1689,1688,1,0,0,0,1689,1690,1,0,0,0,1690,1691,1,0,0,0,1691,1692,3,706,353,0,1692,1693,3,726,363,0,1693,79,1,0,0,0,1694,1695,3,706,353,0,1695,1696,3,726,363,0,1696,81,1,0,0,0,1697,1698,5,340,0,0,1698,1721,5,882,0,0,1699,1700,5,444,0,0,1700,1721,5,162,0,0,1701,1703,5,114,0,0,1702,1701,1,0,0,0,1702,1703,1,0,0,0,1703,1704,1,0,0,0,1704,1721,5,47,0,0,1705,1706,5,354,0,0,1706,1716,5,162,0,0,1707,1708,5,502,0,0,1708,1716,5,162,0,0,1709,1710,5,136,0,0,1710,1711,5,162,0,0,1711,1716,5,360,0,0,1712,1713,5,112,0,0,1713,1714,5,162,0,0,1714,1716,5,360,0,0,1715,1705,1,0,0,0,1715,1707,1,0,0,0,1715,1709,1,0,0,0,1715,1712,1,0,0,0,1716,1721,1,0,0,0,1717,1718,5,162,0,0,1718,1719,5,591,0,0,1719,1721,7,12,0,0,1720,1697,1,0,0,0,1720,1699,1,0,0,0,1720,1702,1,0,0,0,1720,1715,1,0,0,0,1720,1717,1,0,0,0,1721,83,1,0,0,0,1722,1723,5,421,0,0,1723,1737,5,882,0,0,1724,1725,5,39,0,0,1725,1737,5,882,0,0,1726,1727,5,678,0,0,1727,1737,5,882,0,0,1728,1729,5,529,0,0,1729,1737,5,882,0,0,1730,1731,5,601,0,0,1731,1737,5,882,0,0,1732,1733,5,519,0,0,1733,1737,5,882,0,0,1734,1735,5,537,0,0,1735,1737,3,712,356,0,1736,1722,1,0,0,0,1736,1724,1,0,0,0,1736,1726,1,0,0,0,1736,1728,1,0,0,0,1736,1730,1,0,0,0,1736,1732,1,0,0,0,1736,1734,1,0,0,0,1737,85,1,0,0,0,1738,1739,5,866,0,0,1739,1744,3,88,44,0,1740,1741,5,868,0,0,1741,1743,3,88,44,0,1742,1740,1,0,0,0,1743,1746,1,0,0,0,1744,1742,1,0,0,0,1744,1745,1,0,0,0,1745,1747,1,0,0,0,1746,1744,1,0,0,0,1747,1748,5,867,0,0,1748,87,1,0,0,0,1749,1750,3,658,329,0,1750,1751,3,94,47,0,1751,1833,1,0,0,0,1752,1754,7,19,0,0,1753,1755,3,642,321,0,1754,1753,1,0,0,0,1754,1755,1,0,0,0,1755,1757,1,0,0,0,1756,1758,3,74,37,0,1757,1756,1,0,0,0,1757,1758,1,0,0,0,1758,1759,1,0,0,0,1759,1763,3,738,369,0,1760,1762,3,76,38,0,1761,1760,1,0,0,0,1762,1765,1,0,0,0,1763,1761,1,0,0,0,1763,1764,1,0,0,0,1764,1833,1,0,0,0,1765,1763,1,0,0,0,1766,1768,7,20,0,0,1767,1769,7,19,0,0,1768,1767,1,0,0,0,1768,1769,1,0,0,0,1769,1771,1,0,0,0,1770,1772,3,642,321,0,1771,1770,1,0,0,0,1771,1772,1,0,0,0,1772,1773,1,0,0,0,1773,1777,3,738,369,0,1774,1776,3,76,38,0,1775,1774,1,0,0,0,1776,1779,1,0,0,0,1777,1775,1,0,0,0,1777,1778,1,0,0,0,1778,1833,1,0,0,0,1779,1777,1,0,0,0,1780,1782,3,92,46,0,1781,1780,1,0,0,0,1781,1782,1,0,0,0,1782,1783,1,0,0,0,1783,1784,5,131,0,0,1784,1786,5,92,0,0,1785,1787,3,74,37,0,1786,1785,1,0,0,0,1786,1787,1,0,0,0,1787,1788,1,0,0,0,1788,1792,3,738,369,0,1789,1791,3,76,38,0,1790,1789,1,0,0,0,1791,1794,1,0,0,0,1792,1790,1,0,0,0,1792,1793,1,0,0,0,1793,1833,1,0,0,0,1794,1792,1,0,0,0,1795,1797,3,92,46,0,1796,1795,1,0,0,0,1796,1797,1,0,0,0,1797,1798,1,0,0,0,1798,1800,5,182,0,0,1799,1801,7,19,0,0,1800,1799,1,0,0,0,1800,1801,1,0,0,0,1801,1803,1,0,0,0,1802,1804,3,642,321,0,1803,1802,1,0,0,0,1803,1804,1,0,0,0,1804,1806,1,0,0,0,1805,1807,3,74,37,0,1806,1805,1,0,0,0,1806,1807,1,0,0,0,1807,1808,1,0,0,0,1808,1812,3,738,369,0,1809,1811,3,76,38,0,1810,1809,1,0,0,0,1811,1814,1,0,0,0,1812,1810,1,0,0,0,1812,1813,1,0,0,0,1813,1833,1,0,0,0,1814,1812,1,0,0,0,1815,1817,3,92,46,0,1816,1815,1,0,0,0,1816,1817,1,0,0,0,1817,1818,1,0,0,0,1818,1819,5,67,0,0,1819,1821,5,92,0,0,1820,1822,3,642,321,0,1821,1820,1,0,0,0,1821,1822,1,0,0,0,1822,1823,1,0,0,0,1823,1824,3,738,369,0,1824,1825,3,98,49,0,1825,1833,1,0,0,0,1826,1827,5,27,0,0,1827,1828,5,866,0,0,1828,1829,3,804,402,0,1829,1830,5,867,0,0,1830,1833,1,0,0,0,1831,1833,3,90,45,0,1832,1749,1,0,0,0,1832,1752,1,0,0,0,1832,1766,1,0,0,0,1832,1781,1,0,0,0,1832,1796,1,0,0,0,1832,1816,1,0,0,0,1832,1826,1,0,0,0,1832,1831,1,0,0,0,1833,89,1,0,0,0,1834,1836,3,92,46,0,1835,1834,1,0,0,0,1835,1836,1,0,0,0,1836,1837,1,0,0,0,1837,1838,5,27,0,0,1838,1839,5,866,0,0,1839,1840,3,804,402,0,1840,1845,5,867,0,0,1841,1843,5,114,0,0,1842,1841,1,0,0,0,1842,1843,1,0,0,0,1843,1844,1,0,0,0,1844,1846,5,57,0,0,1845,1842,1,0,0,0,1845,1846,1,0,0,0,1846,91,1,0,0,0,1847,1849,5,31,0,0,1848,1850,3,706,353,0,1849,1848,1,0,0,0,1849,1850,1,0,0,0,1850,93,1,0,0,0,1851,1855,3,726,363,0,1852,1854,3,96,48,0,1853,1852,1,0,0,0,1854,1857,1,0,0,0,1855,1853,1,0,0,0,1855,1856,1,0,0,0,1856,95,1,0,0,0,1857,1855,1,0,0,0,1858,1902,3,722,361,0,1859,1860,5,42,0,0,1860,1902,3,754,377,0,1861,1902,5,686,0,0,1862,1902,5,435,0,0,1863,1868,5,315,0,0,1864,1865,5,119,0,0,1865,1866,5,185,0,0,1866,1868,3,756,378,0,1867,1863,1,0,0,0,1867,1864,1,0,0,0,1868,1902,1,0,0,0,1869,1871,5,131,0,0,1870,1869,1,0,0,0,1870,1871,1,0,0,0,1871,1872,1,0,0,0,1872,1902,5,92,0,0,1873,1875,5,182,0,0,1874,1876,5,92,0,0,1875,1874,1,0,0,0,1875,1876,1,0,0,0,1876,1902,1,0,0,0,1877,1878,5,340,0,0,1878,1902,5,882,0,0,1879,1880,5,338,0,0,1880,1902,7,21,0,0,1881,1882,5,647,0,0,1882,1902,7,22,0,0,1883,1902,3,98,49,0,1884,1885,5,28,0,0,1885,1902,3,690,345,0,1886,1887,5,71,0,0,1887,1889,5,9,0,0,1888,1886,1,0,0,0,1888,1889,1,0,0,0,1889,1890,1,0,0,0,1890,1891,5,13,0,0,1891,1892,5,866,0,0,1892,1893,3,804,402,0,1893,1895,5,867,0,0,1894,1896,7,23,0,0,1895,1894,1,0,0,0,1895,1896,1,0,0,0,1896,1902,1,0,0,0,1897,1898,5,241,0,0,1898,1899,5,42,0,0,1899,1902,5,682,0,0,1900,1902,3,90,45,0,1901,1858,1,0,0,0,1901,1859,1,0,0,0,1901,1861,1,0,0,0,1901,1862,1,0,0,0,1901,1867,1,0,0,0,1901,1870,1,0,0,0,1901,1873,1,0,0,0,1901,1877,1,0,0,0,1901,1879,1,0,0,0,1901,1881,1,0,0,0,1901,1883,1,0,0,0,1901,1884,1,0,0,0,1901,1888,1,0,0,0,1901,1897,1,0,0,0,1901,1900,1,0,0,0,1902,97,1,0,0,0,1903,1904,5,138,0,0,1904,1906,3,652,326,0,1905,1907,3,738,369,0,1906,1905,1,0,0,0,1906,1907,1,0,0,0,1907,1910,1,0,0,0,1908,1909,5,110,0,0,1909,1911,7,24,0,0,1910,1908,1,0,0,0,1910,1911,1,0,0,0,1911,1913,1,0,0,0,1912,1914,3,100,50,0,1913,1912,1,0,0,0,1913,1914,1,0,0,0,1914,99,1,0,0,0,1915,1916,5,119,0,0,1916,1917,5,44,0,0,1917,1921,3,102,51,0,1918,1919,5,119,0,0,1919,1920,5,185,0,0,1920,1922,3,102,51,0,1921,1918,1,0,0,0,1921,1922,1,0,0,0,1922,1932,1,0,0,0,1923,1924,5,119,0,0,1924,1925,5,185,0,0,1925,1929,3,102,51,0,1926,1927,5,119,0,0,1927,1928,5,44,0,0,1928,1930,3,102,51,0,1929,1926,1,0,0,0,1929,1930,1,0,0,0,1930,1932,1,0,0,0,1931,1915,1,0,0,0,1931,1923,1,0,0,0,1932,101,1,0,0,0,1933,1942,5,146,0,0,1934,1942,5,22,0,0,1935,1936,5,155,0,0,1936,1942,5,116,0,0,1937,1938,5,502,0,0,1938,1942,5,305,0,0,1939,1940,5,155,0,0,1940,1942,5,42,0,0,1941,1933,1,0,0,0,1941,1934,1,0,0,0,1941,1935,1,0,0,0,1941,1937,1,0,0,0,1941,1939,1,0,0,0,1942,103,1,0,0,0,1943,1945,5,380,0,0,1944,1946,5,857,0,0,1945,1944,1,0,0,0,1945,1946,1,0,0,0,1946,1948,1,0,0,0,1947,1949,3,692,346,0,1948,1947,1,0,0,0,1948,1949,1,0,0,0,1949,2129,1,0,0,0,1950,1952,5,825,0,0,1951,1953,5,857,0,0,1952,1951,1,0,0,0,1952,1953,1,0,0,0,1953,1954,1,0,0,0,1954,2129,5,882,0,0,1955,1957,5,314,0,0,1956,1958,5,857,0,0,1957,1956,1,0,0,0,1957,1958,1,0,0,0,1958,1959,1,0,0,0,1959,2129,3,712,356,0,1960,1962,5,315,0,0,1961,1963,5,857,0,0,1962,1961,1,0,0,0,1962,1963,1,0,0,0,1963,1964,1,0,0,0,1964,2129,3,712,356,0,1965,1967,5,316,0,0,1966,1968,5,857,0,0,1967,1966,1,0,0,0,1967,1968,1,0,0,0,1968,1969,1,0,0,0,1969,2129,3,712,356,0,1970,1972,5,42,0,0,1971,1970,1,0,0,0,1971,1972,1,0,0,0,1972,1973,1,0,0,0,1973,1975,3,58,29,0,1974,1976,5,857,0,0,1975,1974,1,0,0,0,1975,1976,1,0,0,0,1976,1979,1,0,0,0,1977,1980,3,688,344,0,1978,1980,5,42,0,0,1979,1977,1,0,0,0,1979,1978,1,0,0,0,1980,2129,1,0,0,0,1981,1983,7,25,0,0,1982,1984,5,857,0,0,1983,1982,1,0,0,0,1983,1984,1,0,0,0,1984,1985,1,0,0,0,1985,2129,7,26,0,0,1986,1988,5,42,0,0,1987,1986,1,0,0,0,1987,1988,1,0,0,0,1988,1989,1,0,0,0,1989,1991,5,28,0,0,1990,1992,5,857,0,0,1991,1990,1,0,0,0,1991,1992,1,0,0,0,1992,1993,1,0,0,0,1993,2129,3,690,345,0,1994,1996,5,340,0,0,1995,1997,5,857,0,0,1996,1995,1,0,0,0,1996,1997,1,0,0,0,1997,1998,1,0,0,0,1998,2129,5,882,0,0,1999,2001,5,346,0,0,2e3,2002,5,857,0,0,2001,2e3,1,0,0,0,2001,2002,1,0,0,0,2002,2003,1,0,0,0,2003,2129,7,27,0,0,2004,2006,5,349,0,0,2005,2007,5,857,0,0,2006,2005,1,0,0,0,2006,2007,1,0,0,0,2007,2008,1,0,0,0,2008,2129,5,882,0,0,2009,2010,7,28,0,0,2010,2012,5,367,0,0,2011,2013,5,857,0,0,2012,2011,1,0,0,0,2012,2013,1,0,0,0,2013,2014,1,0,0,0,2014,2129,5,882,0,0,2015,2017,5,365,0,0,2016,2018,5,857,0,0,2017,2016,1,0,0,0,2017,2018,1,0,0,0,2018,2019,1,0,0,0,2019,2129,7,26,0,0,2020,2022,5,376,0,0,2021,2023,5,857,0,0,2022,2021,1,0,0,0,2022,2023,1,0,0,0,2023,2024,1,0,0,0,2024,2129,5,882,0,0,2025,2027,7,29,0,0,2026,2028,5,857,0,0,2027,2026,1,0,0,0,2027,2028,1,0,0,0,2028,2029,1,0,0,0,2029,2129,7,26,0,0,2030,2032,7,30,0,0,2031,2033,5,857,0,0,2032,2031,1,0,0,0,2032,2033,1,0,0,0,2033,2034,1,0,0,0,2034,2129,3,712,356,0,2035,2037,5,377,0,0,2036,2038,5,857,0,0,2037,2036,1,0,0,0,2037,2038,1,0,0,0,2038,2039,1,0,0,0,2039,2129,3,712,356,0,2040,2041,5,82,0,0,2041,2043,5,367,0,0,2042,2044,5,857,0,0,2043,2042,1,0,0,0,2043,2044,1,0,0,0,2044,2045,1,0,0,0,2045,2129,5,882,0,0,2046,2048,5,431,0,0,2047,2049,5,857,0,0,2048,2047,1,0,0,0,2048,2049,1,0,0,0,2049,2050,1,0,0,0,2050,2129,7,31,0,0,2051,2053,5,443,0,0,2052,2054,5,857,0,0,2053,2052,1,0,0,0,2053,2054,1,0,0,0,2054,2055,1,0,0,0,2055,2129,3,714,357,0,2056,2058,5,480,0,0,2057,2059,5,857,0,0,2058,2057,1,0,0,0,2058,2059,1,0,0,0,2059,2060,1,0,0,0,2060,2129,3,712,356,0,2061,2063,5,490,0,0,2062,2064,5,857,0,0,2063,2062,1,0,0,0,2063,2064,1,0,0,0,2064,2065,1,0,0,0,2065,2129,3,712,356,0,2066,2068,5,520,0,0,2067,2069,5,857,0,0,2068,2067,1,0,0,0,2068,2069,1,0,0,0,2069,2070,1,0,0,0,2070,2129,7,14,0,0,2071,2073,5,529,0,0,2072,2074,5,857,0,0,2073,2072,1,0,0,0,2073,2074,1,0,0,0,2074,2075,1,0,0,0,2075,2129,5,882,0,0,2076,2078,5,588,0,0,2077,2079,5,857,0,0,2078,2077,1,0,0,0,2078,2079,1,0,0,0,2079,2080,1,0,0,0,2080,2129,7,32,0,0,2081,2082,5,640,0,0,2082,2129,5,664,0,0,2083,2085,5,833,0,0,2084,2086,5,857,0,0,2085,2084,1,0,0,0,2085,2086,1,0,0,0,2086,2087,1,0,0,0,2087,2129,5,882,0,0,2088,2090,5,642,0,0,2089,2091,5,857,0,0,2090,2089,1,0,0,0,2090,2091,1,0,0,0,2091,2092,1,0,0,0,2092,2129,7,14,0,0,2093,2095,5,643,0,0,2094,2096,5,857,0,0,2095,2094,1,0,0,0,2095,2096,1,0,0,0,2096,2097,1,0,0,0,2097,2129,7,14,0,0,2098,2100,5,644,0,0,2099,2101,5,857,0,0,2100,2099,1,0,0,0,2100,2101,1,0,0,0,2101,2104,1,0,0,0,2102,2105,5,42,0,0,2103,2105,3,712,356,0,2104,2102,1,0,0,0,2104,2103,1,0,0,0,2105,2129,1,0,0,0,2106,2107,5,658,0,0,2107,2109,3,666,333,0,2108,2110,3,108,54,0,2109,2108,1,0,0,0,2109,2110,1,0,0,0,2110,2129,1,0,0,0,2111,2112,5,659,0,0,2112,2113,5,857,0,0,2113,2129,3,106,53,0,2114,2129,3,108,54,0,2115,2117,5,665,0,0,2116,2118,5,857,0,0,2117,2116,1,0,0,0,2117,2118,1,0,0,0,2118,2119,1,0,0,0,2119,2129,7,26,0,0,2120,2122,5,181,0,0,2121,2123,5,857,0,0,2122,2121,1,0,0,0,2122,2123,1,0,0,0,2123,2124,1,0,0,0,2124,2125,5,866,0,0,2125,2126,3,650,325,0,2126,2127,5,867,0,0,2127,2129,1,0,0,0,2128,1943,1,0,0,0,2128,1950,1,0,0,0,2128,1955,1,0,0,0,2128,1960,1,0,0,0,2128,1965,1,0,0,0,2128,1971,1,0,0,0,2128,1981,1,0,0,0,2128,1987,1,0,0,0,2128,1994,1,0,0,0,2128,1999,1,0,0,0,2128,2004,1,0,0,0,2128,2009,1,0,0,0,2128,2015,1,0,0,0,2128,2020,1,0,0,0,2128,2025,1,0,0,0,2128,2030,1,0,0,0,2128,2035,1,0,0,0,2128,2040,1,0,0,0,2128,2046,1,0,0,0,2128,2051,1,0,0,0,2128,2056,1,0,0,0,2128,2061,1,0,0,0,2128,2066,1,0,0,0,2128,2071,1,0,0,0,2128,2076,1,0,0,0,2128,2081,1,0,0,0,2128,2083,1,0,0,0,2128,2088,1,0,0,0,2128,2093,1,0,0,0,2128,2098,1,0,0,0,2128,2106,1,0,0,0,2128,2111,1,0,0,0,2128,2114,1,0,0,0,2128,2115,1,0,0,0,2128,2120,1,0,0,0,2129,105,1,0,0,0,2130,2131,7,33,0,0,2131,107,1,0,0,0,2132,2133,5,647,0,0,2133,2134,7,22,0,0,2134,109,1,0,0,0,2135,2136,5,130,0,0,2136,2137,5,20,0,0,2137,2140,3,112,56,0,2138,2139,5,528,0,0,2139,2141,3,712,356,0,2140,2138,1,0,0,0,2140,2141,1,0,0,0,2141,2149,1,0,0,0,2142,2143,5,652,0,0,2143,2144,5,20,0,0,2144,2147,3,114,57,0,2145,2146,5,653,0,0,2146,2148,3,712,356,0,2147,2145,1,0,0,0,2147,2148,1,0,0,0,2148,2150,1,0,0,0,2149,2142,1,0,0,0,2149,2150,1,0,0,0,2150,2162,1,0,0,0,2151,2152,5,866,0,0,2152,2157,3,116,58,0,2153,2154,5,868,0,0,2154,2156,3,116,58,0,2155,2153,1,0,0,0,2156,2159,1,0,0,0,2157,2155,1,0,0,0,2157,2158,1,0,0,0,2158,2160,1,0,0,0,2159,2157,1,0,0,0,2160,2161,5,867,0,0,2161,2163,1,0,0,0,2162,2151,1,0,0,0,2162,2163,1,0,0,0,2163,111,1,0,0,0,2164,2166,5,101,0,0,2165,2164,1,0,0,0,2165,2166,1,0,0,0,2166,2167,1,0,0,0,2167,2168,5,418,0,0,2168,2169,5,866,0,0,2169,2170,3,804,402,0,2170,2171,5,867,0,0,2171,2211,1,0,0,0,2172,2174,5,101,0,0,2173,2172,1,0,0,0,2173,2174,1,0,0,0,2174,2175,1,0,0,0,2175,2179,5,92,0,0,2176,2177,5,308,0,0,2177,2178,5,857,0,0,2178,2180,7,34,0,0,2179,2176,1,0,0,0,2179,2180,1,0,0,0,2180,2181,1,0,0,0,2181,2183,5,866,0,0,2182,2184,3,660,330,0,2183,2182,1,0,0,0,2183,2184,1,0,0,0,2184,2185,1,0,0,0,2185,2211,5,867,0,0,2186,2196,5,134,0,0,2187,2188,5,866,0,0,2188,2189,3,804,402,0,2189,2190,5,867,0,0,2190,2197,1,0,0,0,2191,2192,5,337,0,0,2192,2193,5,866,0,0,2193,2194,3,660,330,0,2194,2195,5,867,0,0,2195,2197,1,0,0,0,2196,2187,1,0,0,0,2196,2191,1,0,0,0,2197,2211,1,0,0,0,2198,2208,5,449,0,0,2199,2200,5,866,0,0,2200,2201,3,804,402,0,2201,2202,5,867,0,0,2202,2209,1,0,0,0,2203,2204,5,337,0,0,2204,2205,5,866,0,0,2205,2206,3,660,330,0,2206,2207,5,867,0,0,2207,2209,1,0,0,0,2208,2199,1,0,0,0,2208,2203,1,0,0,0,2209,2211,1,0,0,0,2210,2165,1,0,0,0,2210,2173,1,0,0,0,2210,2186,1,0,0,0,2210,2198,1,0,0,0,2211,113,1,0,0,0,2212,2214,5,101,0,0,2213,2212,1,0,0,0,2213,2214,1,0,0,0,2214,2215,1,0,0,0,2215,2216,5,418,0,0,2216,2217,5,866,0,0,2217,2218,3,804,402,0,2218,2219,5,867,0,0,2219,2234,1,0,0,0,2220,2222,5,101,0,0,2221,2220,1,0,0,0,2221,2222,1,0,0,0,2222,2223,1,0,0,0,2223,2227,5,92,0,0,2224,2225,5,308,0,0,2225,2226,5,857,0,0,2226,2228,7,34,0,0,2227,2224,1,0,0,0,2227,2228,1,0,0,0,2228,2229,1,0,0,0,2229,2230,5,866,0,0,2230,2231,3,660,330,0,2231,2232,5,867,0,0,2232,2234,1,0,0,0,2233,2213,1,0,0,0,2233,2221,1,0,0,0,2234,115,1,0,0,0,2235,2236,5,130,0,0,2236,2237,3,672,336,0,2237,2238,5,189,0,0,2238,2239,5,447,0,0,2239,2240,5,662,0,0,2240,2241,5,866,0,0,2241,2246,3,118,59,0,2242,2243,5,868,0,0,2243,2245,3,118,59,0,2244,2242,1,0,0,0,2245,2248,1,0,0,0,2246,2244,1,0,0,0,2246,2247,1,0,0,0,2247,2249,1,0,0,0,2248,2246,1,0,0,0,2249,2253,5,867,0,0,2250,2252,3,124,62,0,2251,2250,1,0,0,0,2252,2255,1,0,0,0,2253,2251,1,0,0,0,2253,2254,1,0,0,0,2254,2267,1,0,0,0,2255,2253,1,0,0,0,2256,2257,5,866,0,0,2257,2262,3,122,61,0,2258,2259,5,868,0,0,2259,2261,3,122,61,0,2260,2258,1,0,0,0,2261,2264,1,0,0,0,2262,2260,1,0,0,0,2262,2263,1,0,0,0,2263,2265,1,0,0,0,2264,2262,1,0,0,0,2265,2266,5,867,0,0,2266,2268,1,0,0,0,2267,2256,1,0,0,0,2267,2268,1,0,0,0,2268,2382,1,0,0,0,2269,2270,5,130,0,0,2270,2271,3,672,336,0,2271,2272,5,189,0,0,2272,2273,5,447,0,0,2273,2274,5,662,0,0,2274,2278,3,118,59,0,2275,2277,3,124,62,0,2276,2275,1,0,0,0,2277,2280,1,0,0,0,2278,2276,1,0,0,0,2278,2279,1,0,0,0,2279,2292,1,0,0,0,2280,2278,1,0,0,0,2281,2282,5,866,0,0,2282,2287,3,122,61,0,2283,2284,5,868,0,0,2284,2286,3,122,61,0,2285,2283,1,0,0,0,2286,2289,1,0,0,0,2287,2285,1,0,0,0,2287,2288,1,0,0,0,2288,2290,1,0,0,0,2289,2287,1,0,0,0,2290,2291,5,867,0,0,2291,2293,1,0,0,0,2292,2281,1,0,0,0,2292,2293,1,0,0,0,2293,2382,1,0,0,0,2294,2295,5,130,0,0,2295,2296,3,672,336,0,2296,2297,5,189,0,0,2297,2298,5,80,0,0,2298,2299,5,866,0,0,2299,2304,3,118,59,0,2300,2301,5,868,0,0,2301,2303,3,118,59,0,2302,2300,1,0,0,0,2303,2306,1,0,0,0,2304,2302,1,0,0,0,2304,2305,1,0,0,0,2305,2307,1,0,0,0,2306,2304,1,0,0,0,2307,2311,5,867,0,0,2308,2310,3,124,62,0,2309,2308,1,0,0,0,2310,2313,1,0,0,0,2311,2309,1,0,0,0,2311,2312,1,0,0,0,2312,2325,1,0,0,0,2313,2311,1,0,0,0,2314,2315,5,866,0,0,2315,2320,3,122,61,0,2316,2317,5,868,0,0,2317,2319,3,122,61,0,2318,2316,1,0,0,0,2319,2322,1,0,0,0,2320,2318,1,0,0,0,2320,2321,1,0,0,0,2321,2323,1,0,0,0,2322,2320,1,0,0,0,2323,2324,5,867,0,0,2324,2326,1,0,0,0,2325,2314,1,0,0,0,2325,2326,1,0,0,0,2326,2382,1,0,0,0,2327,2328,5,130,0,0,2328,2329,3,672,336,0,2329,2330,5,189,0,0,2330,2331,5,80,0,0,2331,2332,5,866,0,0,2332,2337,3,120,60,0,2333,2334,5,868,0,0,2334,2336,3,120,60,0,2335,2333,1,0,0,0,2336,2339,1,0,0,0,2337,2335,1,0,0,0,2337,2338,1,0,0,0,2338,2340,1,0,0,0,2339,2337,1,0,0,0,2340,2344,5,867,0,0,2341,2343,3,124,62,0,2342,2341,1,0,0,0,2343,2346,1,0,0,0,2344,2342,1,0,0,0,2344,2345,1,0,0,0,2345,2358,1,0,0,0,2346,2344,1,0,0,0,2347,2348,5,866,0,0,2348,2353,3,122,61,0,2349,2350,5,868,0,0,2350,2352,3,122,61,0,2351,2349,1,0,0,0,2352,2355,1,0,0,0,2353,2351,1,0,0,0,2353,2354,1,0,0,0,2354,2356,1,0,0,0,2355,2353,1,0,0,0,2356,2357,5,867,0,0,2357,2359,1,0,0,0,2358,2347,1,0,0,0,2358,2359,1,0,0,0,2359,2382,1,0,0,0,2360,2361,5,130,0,0,2361,2365,3,672,336,0,2362,2364,3,124,62,0,2363,2362,1,0,0,0,2364,2367,1,0,0,0,2365,2363,1,0,0,0,2365,2366,1,0,0,0,2366,2379,1,0,0,0,2367,2365,1,0,0,0,2368,2369,5,866,0,0,2369,2374,3,122,61,0,2370,2371,5,868,0,0,2371,2373,3,122,61,0,2372,2370,1,0,0,0,2373,2376,1,0,0,0,2374,2372,1,0,0,0,2374,2375,1,0,0,0,2375,2377,1,0,0,0,2376,2374,1,0,0,0,2377,2378,5,867,0,0,2378,2380,1,0,0,0,2379,2368,1,0,0,0,2379,2380,1,0,0,0,2380,2382,1,0,0,0,2381,2235,1,0,0,0,2381,2269,1,0,0,0,2381,2294,1,0,0,0,2381,2327,1,0,0,0,2381,2360,1,0,0,0,2382,117,1,0,0,0,2383,2387,3,724,362,0,2384,2387,3,804,402,0,2385,2387,5,111,0,0,2386,2383,1,0,0,0,2386,2384,1,0,0,0,2386,2385,1,0,0,0,2387,119,1,0,0,0,2388,2389,5,866,0,0,2389,2392,3,118,59,0,2390,2391,5,868,0,0,2391,2393,3,118,59,0,2392,2390,1,0,0,0,2393,2394,1,0,0,0,2394,2392,1,0,0,0,2394,2395,1,0,0,0,2395,2396,1,0,0,0,2396,2397,5,867,0,0,2397,121,1,0,0,0,2398,2399,5,652,0,0,2399,2403,3,706,353,0,2400,2402,3,124,62,0,2401,2400,1,0,0,0,2402,2405,1,0,0,0,2403,2401,1,0,0,0,2403,2404,1,0,0,0,2404,123,1,0,0,0,2405,2403,1,0,0,0,2406,2408,5,42,0,0,2407,2406,1,0,0,0,2407,2408,1,0,0,0,2408,2410,1,0,0,0,2409,2411,5,647,0,0,2410,2409,1,0,0,0,2410,2411,1,0,0,0,2411,2412,1,0,0,0,2412,2414,5,380,0,0,2413,2415,5,857,0,0,2414,2413,1,0,0,0,2414,2415,1,0,0,0,2415,2416,1,0,0,0,2416,2455,3,692,346,0,2417,2419,5,340,0,0,2418,2420,5,857,0,0,2419,2418,1,0,0,0,2419,2420,1,0,0,0,2420,2421,1,0,0,0,2421,2455,5,882,0,0,2422,2423,5,360,0,0,2423,2425,5,367,0,0,2424,2426,5,857,0,0,2425,2424,1,0,0,0,2425,2426,1,0,0,0,2426,2427,1,0,0,0,2427,2455,5,882,0,0,2428,2429,5,82,0,0,2429,2431,5,367,0,0,2430,2432,5,857,0,0,2431,2430,1,0,0,0,2431,2432,1,0,0,0,2432,2433,1,0,0,0,2433,2455,5,882,0,0,2434,2436,5,480,0,0,2435,2437,5,857,0,0,2436,2435,1,0,0,0,2436,2437,1,0,0,0,2437,2438,1,0,0,0,2438,2455,3,712,356,0,2439,2441,5,490,0,0,2440,2442,5,857,0,0,2441,2440,1,0,0,0,2441,2442,1,0,0,0,2442,2443,1,0,0,0,2443,2455,3,712,356,0,2444,2446,5,658,0,0,2445,2447,5,857,0,0,2446,2445,1,0,0,0,2446,2447,1,0,0,0,2447,2448,1,0,0,0,2448,2455,3,666,333,0,2449,2451,5,504,0,0,2450,2452,5,857,0,0,2451,2450,1,0,0,0,2451,2452,1,0,0,0,2452,2453,1,0,0,0,2453,2455,3,706,353,0,2454,2407,1,0,0,0,2454,2417,1,0,0,0,2454,2422,1,0,0,0,2454,2428,1,0,0,0,2454,2434,1,0,0,0,2454,2439,1,0,0,0,2454,2444,1,0,0,0,2454,2449,1,0,0,0,2455,125,1,0,0,0,2456,2457,5,8,0,0,2457,2459,7,0,0,0,2458,2460,3,628,314,0,2459,2458,1,0,0,0,2459,2460,1,0,0,0,2460,2462,1,0,0,0,2461,2463,3,56,28,0,2462,2461,1,0,0,0,2463,2464,1,0,0,0,2464,2462,1,0,0,0,2464,2465,1,0,0,0,2465,2475,1,0,0,0,2466,2467,5,8,0,0,2467,2468,7,0,0,0,2468,2469,3,628,314,0,2469,2470,5,677,0,0,2470,2471,5,360,0,0,2471,2472,5,367,0,0,2472,2473,5,496,0,0,2473,2475,1,0,0,0,2474,2456,1,0,0,0,2474,2466,1,0,0,0,2475,127,1,0,0,0,2476,2478,5,8,0,0,2477,2479,3,62,31,0,2478,2477,1,0,0,0,2478,2479,1,0,0,0,2479,2480,1,0,0,0,2480,2481,5,385,0,0,2481,2485,3,702,351,0,2482,2483,5,119,0,0,2483,2484,5,590,0,0,2484,2486,3,64,32,0,2485,2482,1,0,0,0,2485,2486,1,0,0,0,2486,2493,1,0,0,0,2487,2488,5,119,0,0,2488,2490,5,343,0,0,2489,2491,5,114,0,0,2490,2489,1,0,0,0,2490,2491,1,0,0,0,2491,2492,1,0,0,0,2492,2494,5,541,0,0,2493,2487,1,0,0,0,2493,2494,1,0,0,0,2494,2498,1,0,0,0,2495,2496,5,141,0,0,2496,2497,5,176,0,0,2497,2499,3,702,351,0,2498,2495,1,0,0,0,2498,2499,1,0,0,0,2499,2501,1,0,0,0,2500,2502,3,72,36,0,2501,2500,1,0,0,0,2501,2502,1,0,0,0,2502,2505,1,0,0,0,2503,2504,5,340,0,0,2504,2506,5,882,0,0,2505,2503,1,0,0,0,2505,2506,1,0,0,0,2506,2509,1,0,0,0,2507,2508,5,371,0,0,2508,2510,3,422,211,0,2509,2507,1,0,0,0,2509,2510,1,0,0,0,2510,129,1,0,0,0,2511,2512,5,8,0,0,2512,2513,5,409,0,0,2513,2517,3,632,316,0,2514,2516,3,82,41,0,2515,2514,1,0,0,0,2516,2519,1,0,0,0,2517,2515,1,0,0,0,2517,2518,1,0,0,0,2518,131,1,0,0,0,2519,2517,1,0,0,0,2520,2521,5,8,0,0,2521,2522,5,433,0,0,2522,2523,5,585,0,0,2523,2524,5,801,0,0,2524,2525,5,453,0,0,2525,2526,5,92,0,0,2526,133,1,0,0,0,2527,2528,5,8,0,0,2528,2529,5,451,0,0,2529,2530,5,74,0,0,2530,2531,3,706,353,0,2531,2532,5,6,0,0,2532,2533,5,671,0,0,2533,2539,5,882,0,0,2534,2536,5,428,0,0,2535,2537,5,857,0,0,2536,2535,1,0,0,0,2536,2537,1,0,0,0,2537,2538,1,0,0,0,2538,2540,3,714,357,0,2539,2534,1,0,0,0,2539,2540,1,0,0,0,2540,2542,1,0,0,0,2541,2543,5,687,0,0,2542,2541,1,0,0,0,2542,2543,1,0,0,0,2543,2544,1,0,0,0,2544,2546,5,380,0,0,2545,2547,5,857,0,0,2546,2545,1,0,0,0,2546,2547,1,0,0,0,2547,2548,1,0,0,0,2548,2549,3,692,346,0,2549,135,1,0,0,0,2550,2551,5,8,0,0,2551,2552,5,132,0,0,2552,2556,3,702,351,0,2553,2555,3,82,41,0,2554,2553,1,0,0,0,2555,2558,1,0,0,0,2556,2554,1,0,0,0,2556,2557,1,0,0,0,2557,137,1,0,0,0,2558,2556,1,0,0,0,2559,2560,5,8,0,0,2560,2561,5,592,0,0,2561,2562,3,706,353,0,2562,2563,5,518,0,0,2563,2564,5,866,0,0,2564,2569,3,84,42,0,2565,2566,5,868,0,0,2566,2568,3,84,42,0,2567,2565,1,0,0,0,2568,2571,1,0,0,0,2569,2567,1,0,0,0,2569,2570,1,0,0,0,2570,2572,1,0,0,0,2571,2569,1,0,0,0,2572,2573,5,867,0,0,2573,139,1,0,0,0,2574,2575,5,8,0,0,2575,2576,5,173,0,0,2576,2585,3,652,326,0,2577,2582,3,146,73,0,2578,2579,5,868,0,0,2579,2581,3,146,73,0,2580,2578,1,0,0,0,2581,2584,1,0,0,0,2582,2580,1,0,0,0,2582,2583,1,0,0,0,2583,2586,1,0,0,0,2584,2582,1,0,0,0,2585,2577,1,0,0,0,2585,2586,1,0,0,0,2586,2594,1,0,0,0,2587,2591,3,148,74,0,2588,2590,3,148,74,0,2589,2588,1,0,0,0,2590,2593,1,0,0,0,2591,2589,1,0,0,0,2591,2592,1,0,0,0,2592,2595,1,0,0,0,2593,2591,1,0,0,0,2594,2587,1,0,0,0,2594,2595,1,0,0,0,2595,141,1,0,0,0,2596,2598,5,8,0,0,2597,2599,5,180,0,0,2598,2597,1,0,0,0,2598,2599,1,0,0,0,2599,2600,1,0,0,0,2600,2601,5,658,0,0,2601,2602,3,666,333,0,2602,2603,7,35,0,0,2603,2604,5,361,0,0,2604,2610,5,882,0,0,2605,2607,5,428,0,0,2606,2608,5,857,0,0,2607,2606,1,0,0,0,2607,2608,1,0,0,0,2608,2609,1,0,0,0,2609,2611,3,714,357,0,2610,2605,1,0,0,0,2610,2611,1,0,0,0,2611,2613,1,0,0,0,2612,2614,5,687,0,0,2613,2612,1,0,0,0,2613,2614,1,0,0,0,2614,2618,1,0,0,0,2615,2616,5,141,0,0,2616,2617,5,176,0,0,2617,2619,3,664,332,0,2618,2615,1,0,0,0,2618,2619,1,0,0,0,2619,2625,1,0,0,0,2620,2622,5,314,0,0,2621,2623,5,857,0,0,2622,2621,1,0,0,0,2622,2623,1,0,0,0,2623,2624,1,0,0,0,2624,2626,3,714,357,0,2625,2620,1,0,0,0,2625,2626,1,0,0,0,2626,2629,1,0,0,0,2627,2628,5,155,0,0,2628,2630,7,36,0,0,2629,2627,1,0,0,0,2629,2630,1,0,0,0,2630,2636,1,0,0,0,2631,2633,5,376,0,0,2632,2634,5,857,0,0,2633,2632,1,0,0,0,2633,2634,1,0,0,0,2634,2635,1,0,0,0,2635,2637,5,882,0,0,2636,2631,1,0,0,0,2636,2637,1,0,0,0,2637,2643,1,0,0,0,2638,2640,5,380,0,0,2639,2641,5,857,0,0,2640,2639,1,0,0,0,2640,2641,1,0,0,0,2641,2642,1,0,0,0,2642,2644,3,692,346,0,2643,2638,1,0,0,0,2643,2644,1,0,0,0,2644,2650,1,0,0,0,2645,2647,5,825,0,0,2646,2648,5,857,0,0,2647,2646,1,0,0,0,2647,2648,1,0,0,0,2648,2649,1,0,0,0,2649,2651,5,882,0,0,2650,2645,1,0,0,0,2650,2651,1,0,0,0,2651,143,1,0,0,0,2652,2656,5,8,0,0,2653,2654,5,308,0,0,2654,2655,5,857,0,0,2655,2657,7,11,0,0,2656,2653,1,0,0,0,2656,2657,1,0,0,0,2657,2659,1,0,0,0,2658,2660,3,62,31,0,2659,2658,1,0,0,0,2659,2660,1,0,0,0,2660,2664,1,0,0,0,2661,2662,5,162,0,0,2662,2663,5,591,0,0,2663,2665,7,12,0,0,2664,2661,1,0,0,0,2664,2665,1,0,0,0,2665,2666,1,0,0,0,2666,2667,5,684,0,0,2667,2672,3,636,318,0,2668,2669,5,866,0,0,2669,2670,3,660,330,0,2670,2671,5,867,0,0,2671,2673,1,0,0,0,2672,2668,1,0,0,0,2672,2673,1,0,0,0,2673,2674,1,0,0,0,2674,2675,5,13,0,0,2675,2682,3,210,105,0,2676,2678,5,194,0,0,2677,2679,7,13,0,0,2678,2677,1,0,0,0,2678,2679,1,0,0,0,2679,2680,1,0,0,0,2680,2681,5,27,0,0,2681,2683,5,121,0,0,2682,2676,1,0,0,0,2682,2683,1,0,0,0,2683,145,1,0,0,0,2684,2691,3,104,52,0,2685,2687,5,868,0,0,2686,2685,1,0,0,0,2686,2687,1,0,0,0,2687,2688,1,0,0,0,2688,2690,3,104,52,0,2689,2686,1,0,0,0,2690,2693,1,0,0,0,2691,2689,1,0,0,0,2691,2692,1,0,0,0,2692,2949,1,0,0,0,2693,2691,1,0,0,0,2694,2696,5,6,0,0,2695,2697,5,29,0,0,2696,2695,1,0,0,0,2696,2697,1,0,0,0,2697,2698,1,0,0,0,2698,2699,3,662,331,0,2699,2703,3,94,47,0,2700,2704,5,402,0,0,2701,2702,5,306,0,0,2702,2704,3,662,331,0,2703,2700,1,0,0,0,2703,2701,1,0,0,0,2703,2704,1,0,0,0,2704,2949,1,0,0,0,2705,2707,5,6,0,0,2706,2708,5,29,0,0,2707,2706,1,0,0,0,2707,2708,1,0,0,0,2708,2709,1,0,0,0,2709,2710,5,866,0,0,2710,2711,3,662,331,0,2711,2718,3,94,47,0,2712,2713,5,868,0,0,2713,2714,3,662,331,0,2714,2715,3,94,47,0,2715,2717,1,0,0,0,2716,2712,1,0,0,0,2717,2720,1,0,0,0,2718,2716,1,0,0,0,2718,2719,1,0,0,0,2719,2721,1,0,0,0,2720,2718,1,0,0,0,2721,2722,5,867,0,0,2722,2949,1,0,0,0,2723,2724,5,6,0,0,2724,2726,7,19,0,0,2725,2727,3,642,321,0,2726,2725,1,0,0,0,2726,2727,1,0,0,0,2727,2729,1,0,0,0,2728,2730,3,74,37,0,2729,2728,1,0,0,0,2729,2730,1,0,0,0,2730,2731,1,0,0,0,2731,2735,3,738,369,0,2732,2734,3,76,38,0,2733,2732,1,0,0,0,2734,2737,1,0,0,0,2735,2733,1,0,0,0,2735,2736,1,0,0,0,2736,2949,1,0,0,0,2737,2735,1,0,0,0,2738,2739,5,6,0,0,2739,2741,7,20,0,0,2740,2742,7,19,0,0,2741,2740,1,0,0,0,2741,2742,1,0,0,0,2742,2744,1,0,0,0,2743,2745,3,642,321,0,2744,2743,1,0,0,0,2744,2745,1,0,0,0,2745,2746,1,0,0,0,2746,2750,3,738,369,0,2747,2749,3,76,38,0,2748,2747,1,0,0,0,2749,2752,1,0,0,0,2750,2748,1,0,0,0,2750,2751,1,0,0,0,2751,2949,1,0,0,0,2752,2750,1,0,0,0,2753,2758,5,6,0,0,2754,2756,5,31,0,0,2755,2757,3,706,353,0,2756,2755,1,0,0,0,2756,2757,1,0,0,0,2757,2759,1,0,0,0,2758,2754,1,0,0,0,2758,2759,1,0,0,0,2759,2760,1,0,0,0,2760,2761,5,131,0,0,2761,2763,5,92,0,0,2762,2764,3,74,37,0,2763,2762,1,0,0,0,2763,2764,1,0,0,0,2764,2765,1,0,0,0,2765,2769,3,738,369,0,2766,2768,3,76,38,0,2767,2766,1,0,0,0,2768,2771,1,0,0,0,2769,2767,1,0,0,0,2769,2770,1,0,0,0,2770,2949,1,0,0,0,2771,2769,1,0,0,0,2772,2777,5,6,0,0,2773,2775,5,31,0,0,2774,2776,3,706,353,0,2775,2774,1,0,0,0,2775,2776,1,0,0,0,2776,2778,1,0,0,0,2777,2773,1,0,0,0,2777,2778,1,0,0,0,2778,2779,1,0,0,0,2779,2781,5,182,0,0,2780,2782,7,19,0,0,2781,2780,1,0,0,0,2781,2782,1,0,0,0,2782,2784,1,0,0,0,2783,2785,3,642,321,0,2784,2783,1,0,0,0,2784,2785,1,0,0,0,2785,2787,1,0,0,0,2786,2788,3,74,37,0,2787,2786,1,0,0,0,2787,2788,1,0,0,0,2788,2789,1,0,0,0,2789,2793,3,738,369,0,2790,2792,3,76,38,0,2791,2790,1,0,0,0,2792,2795,1,0,0,0,2793,2791,1,0,0,0,2793,2794,1,0,0,0,2794,2949,1,0,0,0,2795,2793,1,0,0,0,2796,2801,5,6,0,0,2797,2799,5,31,0,0,2798,2800,3,706,353,0,2799,2798,1,0,0,0,2799,2800,1,0,0,0,2800,2802,1,0,0,0,2801,2797,1,0,0,0,2801,2802,1,0,0,0,2802,2803,1,0,0,0,2803,2804,5,67,0,0,2804,2806,5,92,0,0,2805,2807,3,642,321,0,2806,2805,1,0,0,0,2806,2807,1,0,0,0,2807,2808,1,0,0,0,2808,2809,3,738,369,0,2809,2810,3,98,49,0,2810,2949,1,0,0,0,2811,2813,5,6,0,0,2812,2814,3,90,45,0,2813,2812,1,0,0,0,2813,2814,1,0,0,0,2814,2949,1,0,0,0,2815,2816,5,51,0,0,2816,2817,7,37,0,0,2817,2949,3,706,353,0,2818,2819,5,8,0,0,2819,2820,7,37,0,0,2820,2822,3,706,353,0,2821,2823,5,114,0,0,2822,2821,1,0,0,0,2822,2823,1,0,0,0,2823,2825,1,0,0,0,2824,2826,5,57,0,0,2825,2824,1,0,0,0,2825,2826,1,0,0,0,2826,2949,1,0,0,0,2827,2829,5,308,0,0,2828,2830,5,857,0,0,2829,2828,1,0,0,0,2829,2830,1,0,0,0,2830,2831,1,0,0,0,2831,2949,7,38,0,0,2832,2834,5,8,0,0,2833,2835,5,29,0,0,2834,2833,1,0,0,0,2834,2835,1,0,0,0,2835,2836,1,0,0,0,2836,2844,3,662,331,0,2837,2838,5,155,0,0,2838,2839,5,42,0,0,2839,2845,3,754,377,0,2840,2841,5,155,0,0,2841,2845,7,17,0,0,2842,2843,5,51,0,0,2843,2845,5,42,0,0,2844,2837,1,0,0,0,2844,2840,1,0,0,0,2844,2842,1,0,0,0,2845,2949,1,0,0,0,2846,2847,5,8,0,0,2847,2848,5,82,0,0,2848,2849,3,642,321,0,2849,2850,7,17,0,0,2850,2949,1,0,0,0,2851,2853,5,25,0,0,2852,2854,5,29,0,0,2853,2852,1,0,0,0,2853,2854,1,0,0,0,2854,2855,1,0,0,0,2855,2856,3,662,331,0,2856,2857,3,658,329,0,2857,2861,3,94,47,0,2858,2862,5,402,0,0,2859,2860,5,306,0,0,2860,2862,3,662,331,0,2861,2858,1,0,0,0,2861,2859,1,0,0,0,2861,2862,1,0,0,0,2862,2949,1,0,0,0,2863,2865,5,42,0,0,2864,2863,1,0,0,0,2864,2865,1,0,0,0,2865,2866,1,0,0,0,2866,2867,5,26,0,0,2867,2868,5,155,0,0,2868,2869,5,857,0,0,2869,2875,3,688,344,0,2870,2872,5,28,0,0,2871,2873,5,857,0,0,2872,2871,1,0,0,0,2872,2873,1,0,0,0,2873,2874,1,0,0,0,2874,2876,3,690,345,0,2875,2870,1,0,0,0,2875,2876,1,0,0,0,2876,2949,1,0,0,0,2877,2878,5,33,0,0,2878,2882,5,176,0,0,2879,2883,5,823,0,0,2880,2881,5,26,0,0,2881,2883,5,155,0,0,2882,2879,1,0,0,0,2882,2880,1,0,0,0,2883,2884,1,0,0,0,2884,2887,3,688,344,0,2885,2886,5,28,0,0,2886,2888,3,690,345,0,2887,2885,1,0,0,0,2887,2888,1,0,0,0,2888,2949,1,0,0,0,2889,2890,7,39,0,0,2890,2949,5,93,0,0,2891,2892,7,40,0,0,2892,2949,5,658,0,0,2893,2895,5,51,0,0,2894,2896,5,29,0,0,2895,2894,1,0,0,0,2895,2896,1,0,0,0,2896,2897,1,0,0,0,2897,2949,3,662,331,0,2898,2899,5,51,0,0,2899,2900,7,19,0,0,2900,2949,3,642,321,0,2901,2902,5,51,0,0,2902,2903,5,131,0,0,2903,2949,5,92,0,0,2904,2905,5,51,0,0,2905,2906,5,67,0,0,2906,2907,5,92,0,0,2907,2949,3,706,353,0,2908,2949,5,66,0,0,2909,2911,5,104,0,0,2910,2912,5,857,0,0,2911,2910,1,0,0,0,2911,2912,1,0,0,0,2912,2913,1,0,0,0,2913,2949,7,4,0,0,2914,2916,5,492,0,0,2915,2917,5,29,0,0,2916,2915,1,0,0,0,2916,2917,1,0,0,0,2917,2918,1,0,0,0,2918,2919,3,662,331,0,2919,2923,3,94,47,0,2920,2924,5,402,0,0,2921,2922,5,306,0,0,2922,2924,3,662,331,0,2923,2920,1,0,0,0,2923,2921,1,0,0,0,2923,2924,1,0,0,0,2924,2949,1,0,0,0,2925,2926,5,125,0,0,2926,2927,5,20,0,0,2927,2949,3,660,330,0,2928,2929,5,141,0,0,2929,2930,5,29,0,0,2930,2931,3,662,331,0,2931,2932,5,176,0,0,2932,2933,3,658,329,0,2933,2949,1,0,0,0,2934,2935,5,141,0,0,2935,2936,7,19,0,0,2936,2937,3,642,321,0,2937,2938,5,176,0,0,2938,2939,3,638,319,0,2939,2949,1,0,0,0,2940,2942,5,141,0,0,2941,2943,7,41,0,0,2942,2941,1,0,0,0,2942,2943,1,0,0,0,2943,2944,1,0,0,0,2944,2949,3,648,324,0,2945,2946,7,42,0,0,2946,2949,5,681,0,0,2947,2949,3,148,74,0,2948,2684,1,0,0,0,2948,2694,1,0,0,0,2948,2705,1,0,0,0,2948,2723,1,0,0,0,2948,2738,1,0,0,0,2948,2753,1,0,0,0,2948,2772,1,0,0,0,2948,2796,1,0,0,0,2948,2811,1,0,0,0,2948,2815,1,0,0,0,2948,2818,1,0,0,0,2948,2827,1,0,0,0,2948,2832,1,0,0,0,2948,2846,1,0,0,0,2948,2851,1,0,0,0,2948,2864,1,0,0,0,2948,2877,1,0,0,0,2948,2889,1,0,0,0,2948,2891,1,0,0,0,2948,2893,1,0,0,0,2948,2898,1,0,0,0,2948,2901,1,0,0,0,2948,2904,1,0,0,0,2948,2908,1,0,0,0,2948,2909,1,0,0,0,2948,2914,1,0,0,0,2948,2925,1,0,0,0,2948,2928,1,0,0,0,2948,2934,1,0,0,0,2948,2940,1,0,0,0,2948,2945,1,0,0,0,2948,2947,1,0,0,0,2949,147,1,0,0,0,2950,2951,5,6,0,0,2951,2952,5,130,0,0,2952,2953,5,866,0,0,2953,2958,3,116,58,0,2954,2955,5,868,0,0,2955,2957,3,116,58,0,2956,2954,1,0,0,0,2957,2960,1,0,0,0,2958,2956,1,0,0,0,2958,2959,1,0,0,0,2959,2961,1,0,0,0,2960,2958,1,0,0,0,2961,2962,5,867,0,0,2962,3049,1,0,0,0,2963,2964,5,51,0,0,2964,2965,5,130,0,0,2965,3049,3,670,335,0,2966,2967,5,369,0,0,2967,2970,5,130,0,0,2968,2971,3,670,335,0,2969,2971,5,7,0,0,2970,2968,1,0,0,0,2970,2969,1,0,0,0,2971,2972,1,0,0,0,2972,3049,5,658,0,0,2973,2974,5,425,0,0,2974,2977,5,130,0,0,2975,2978,3,670,335,0,2976,2978,5,7,0,0,2977,2975,1,0,0,0,2977,2976,1,0,0,0,2978,2979,1,0,0,0,2979,3049,5,658,0,0,2980,2981,5,668,0,0,2981,2984,5,130,0,0,2982,2985,3,670,335,0,2983,2985,5,7,0,0,2984,2982,1,0,0,0,2984,2983,1,0,0,0,2985,3049,1,0,0,0,2986,2987,5,335,0,0,2987,2988,5,130,0,0,2988,3049,3,712,356,0,2989,2990,5,561,0,0,2990,2991,5,130,0,0,2991,2992,3,670,335,0,2992,2993,5,88,0,0,2993,2994,5,866,0,0,2994,2999,3,116,58,0,2995,2996,5,868,0,0,2996,2998,3,116,58,0,2997,2995,1,0,0,0,2998,3001,1,0,0,0,2999,2997,1,0,0,0,2999,3e3,1,0,0,0,3e3,3002,1,0,0,0,3001,2999,1,0,0,0,3002,3003,5,867,0,0,3003,3049,1,0,0,0,3004,3005,5,388,0,0,3005,3006,5,130,0,0,3006,3007,3,672,336,0,3007,3008,5,194,0,0,3008,3009,5,173,0,0,3009,3012,3,652,326,0,3010,3011,7,42,0,0,3011,3013,5,681,0,0,3012,3010,1,0,0,0,3012,3013,1,0,0,0,3013,3049,1,0,0,0,3014,3015,5,10,0,0,3015,3018,5,130,0,0,3016,3019,3,670,335,0,3017,3019,5,7,0,0,3018,3016,1,0,0,0,3018,3017,1,0,0,0,3019,3049,1,0,0,0,3020,3021,5,27,0,0,3021,3024,5,130,0,0,3022,3025,3,670,335,0,3023,3025,5,7,0,0,3024,3022,1,0,0,0,3024,3023,1,0,0,0,3025,3049,1,0,0,0,3026,3027,5,120,0,0,3027,3030,5,130,0,0,3028,3031,3,670,335,0,3029,3031,5,7,0,0,3030,3028,1,0,0,0,3030,3029,1,0,0,0,3031,3049,1,0,0,0,3032,3033,5,550,0,0,3033,3036,5,130,0,0,3034,3037,3,670,335,0,3035,3037,5,7,0,0,3036,3034,1,0,0,0,3036,3035,1,0,0,0,3037,3049,1,0,0,0,3038,3039,5,562,0,0,3039,3042,5,130,0,0,3040,3043,3,670,335,0,3041,3043,5,7,0,0,3042,3040,1,0,0,0,3042,3041,1,0,0,0,3043,3049,1,0,0,0,3044,3045,5,560,0,0,3045,3049,5,527,0,0,3046,3047,5,677,0,0,3047,3049,5,527,0,0,3048,2950,1,0,0,0,3048,2963,1,0,0,0,3048,2966,1,0,0,0,3048,2973,1,0,0,0,3048,2980,1,0,0,0,3048,2986,1,0,0,0,3048,2989,1,0,0,0,3048,3004,1,0,0,0,3048,3014,1,0,0,0,3048,3020,1,0,0,0,3048,3026,1,0,0,0,3048,3032,1,0,0,0,3048,3038,1,0,0,0,3048,3044,1,0,0,0,3048,3046,1,0,0,0,3049,149,1,0,0,0,3050,3051,5,51,0,0,3051,3053,7,0,0,0,3052,3054,3,758,379,0,3053,3052,1,0,0,0,3053,3054,1,0,0,0,3054,3055,1,0,0,0,3055,3056,3,628,314,0,3056,151,1,0,0,0,3057,3058,5,51,0,0,3058,3060,5,385,0,0,3059,3061,3,758,379,0,3060,3059,1,0,0,0,3060,3061,1,0,0,0,3061,3062,1,0,0,0,3062,3063,3,702,351,0,3063,153,1,0,0,0,3064,3065,5,51,0,0,3065,3067,5,82,0,0,3066,3068,7,1,0,0,3067,3066,1,0,0,0,3067,3068,1,0,0,0,3068,3069,1,0,0,0,3069,3070,3,642,321,0,3070,3071,5,119,0,0,3071,3084,3,652,326,0,3072,3074,5,308,0,0,3073,3075,5,857,0,0,3074,3073,1,0,0,0,3074,3075,1,0,0,0,3075,3076,1,0,0,0,3076,3083,7,3,0,0,3077,3079,5,104,0,0,3078,3080,5,857,0,0,3079,3078,1,0,0,0,3079,3080,1,0,0,0,3080,3081,1,0,0,0,3081,3083,7,4,0,0,3082,3072,1,0,0,0,3082,3077,1,0,0,0,3083,3086,1,0,0,0,3084,3082,1,0,0,0,3084,3085,1,0,0,0,3085,155,1,0,0,0,3086,3084,1,0,0,0,3087,3088,5,51,0,0,3088,3089,5,451,0,0,3089,3090,5,74,0,0,3090,3091,3,706,353,0,3091,3093,5,380,0,0,3092,3094,5,857,0,0,3093,3092,1,0,0,0,3093,3094,1,0,0,0,3094,3095,1,0,0,0,3095,3096,3,692,346,0,3096,157,1,0,0,0,3097,3098,5,51,0,0,3098,3100,5,132,0,0,3099,3101,3,758,379,0,3100,3099,1,0,0,0,3100,3101,1,0,0,0,3101,3102,1,0,0,0,3102,3103,3,702,351,0,3103,159,1,0,0,0,3104,3105,5,51,0,0,3105,3107,5,409,0,0,3106,3108,3,758,379,0,3107,3106,1,0,0,0,3107,3108,1,0,0,0,3108,3109,1,0,0,0,3109,3110,3,632,316,0,3110,161,1,0,0,0,3111,3112,5,51,0,0,3112,3114,5,592,0,0,3113,3115,3,758,379,0,3114,3113,1,0,0,0,3114,3115,1,0,0,0,3115,3116,1,0,0,0,3116,3117,3,706,353,0,3117,163,1,0,0,0,3118,3119,5,51,0,0,3119,3120,5,161,0,0,3120,3121,5,137,0,0,3121,3123,5,835,0,0,3122,3124,3,758,379,0,3123,3122,1,0,0,0,3123,3124,1,0,0,0,3124,3125,1,0,0,0,3125,3126,5,883,0,0,3126,165,1,0,0,0,3127,3129,5,51,0,0,3128,3130,5,660,0,0,3129,3128,1,0,0,0,3129,3130,1,0,0,0,3130,3131,1,0,0,0,3131,3133,5,173,0,0,3132,3134,3,758,379,0,3133,3132,1,0,0,0,3133,3134,1,0,0,0,3134,3135,1,0,0,0,3135,3137,3,650,325,0,3136,3138,7,43,0,0,3137,3136,1,0,0,0,3137,3138,1,0,0,0,3138,167,1,0,0,0,3139,3141,5,51,0,0,3140,3142,5,180,0,0,3141,3140,1,0,0,0,3141,3142,1,0,0,0,3142,3143,1,0,0,0,3143,3144,5,658,0,0,3144,3150,3,666,333,0,3145,3147,5,380,0,0,3146,3148,5,857,0,0,3147,3146,1,0,0,0,3147,3148,1,0,0,0,3148,3149,1,0,0,0,3149,3151,3,692,346,0,3150,3145,1,0,0,0,3150,3151,1,0,0,0,3151,169,1,0,0,0,3152,3153,5,51,0,0,3153,3155,5,178,0,0,3154,3156,3,758,379,0,3155,3154,1,0,0,0,3155,3156,1,0,0,0,3156,3157,1,0,0,0,3157,3158,3,702,351,0,3158,171,1,0,0,0,3159,3160,5,51,0,0,3160,3162,5,684,0,0,3161,3163,3,758,379,0,3162,3161,1,0,0,0,3162,3163,1,0,0,0,3163,3164,1,0,0,0,3164,3169,3,636,318,0,3165,3166,5,868,0,0,3166,3168,3,636,318,0,3167,3165,1,0,0,0,3168,3171,1,0,0,0,3169,3167,1,0,0,0,3169,3170,1,0,0,0,3170,3173,1,0,0,0,3171,3169,1,0,0,0,3172,3174,7,43,0,0,3173,3172,1,0,0,0,3173,3174,1,0,0,0,3174,173,1,0,0,0,3175,3176,5,51,0,0,3176,3178,5,582,0,0,3177,3179,3,758,379,0,3178,3177,1,0,0,0,3178,3179,1,0,0,0,3179,3180,1,0,0,0,3180,3181,3,654,327,0,3181,175,1,0,0,0,3182,3183,5,155,0,0,3183,3184,5,42,0,0,3184,3188,5,582,0,0,3185,3189,5,505,0,0,3186,3189,5,7,0,0,3187,3189,3,654,327,0,3188,3185,1,0,0,0,3188,3186,1,0,0,0,3188,3187,1,0,0,0,3189,3190,1,0,0,0,3190,3191,5,176,0,0,3191,3196,3,656,328,0,3192,3193,5,868,0,0,3193,3195,3,656,328,0,3194,3192,1,0,0,0,3195,3198,1,0,0,0,3196,3194,1,0,0,0,3196,3197,1,0,0,0,3197,3203,1,0,0,0,3198,3196,1,0,0,0,3199,3200,5,155,0,0,3200,3201,5,582,0,0,3201,3203,3,468,234,0,3202,3182,1,0,0,0,3202,3199,1,0,0,0,3203,177,1,0,0,0,3204,3205,5,141,0,0,3205,3206,5,173,0,0,3206,3211,3,180,90,0,3207,3208,5,868,0,0,3208,3210,3,180,90,0,3209,3207,1,0,0,0,3210,3213,1,0,0,0,3211,3209,1,0,0,0,3211,3212,1,0,0,0,3212,179,1,0,0,0,3213,3211,1,0,0,0,3214,3215,3,652,326,0,3215,3216,5,176,0,0,3216,3217,3,648,324,0,3217,181,1,0,0,0,3218,3220,5,668,0,0,3219,3221,5,173,0,0,3220,3219,1,0,0,0,3220,3221,1,0,0,0,3221,3222,1,0,0,0,3222,3223,3,652,326,0,3223,183,1,0,0,0,3224,3225,5,21,0,0,3225,3232,3,702,351,0,3226,3229,5,866,0,0,3227,3230,3,748,374,0,3228,3230,3,740,370,0,3229,3227,1,0,0,0,3229,3228,1,0,0,0,3229,3230,1,0,0,0,3230,3231,1,0,0,0,3231,3233,5,867,0,0,3232,3226,1,0,0,0,3232,3233,1,0,0,0,3233,185,1,0,0,0,3234,3237,3,240,120,0,3235,3237,3,242,121,0,3236,3234,1,0,0,0,3236,3235,1,0,0,0,3237,187,1,0,0,0,3238,3239,5,371,0,0,3239,3240,3,740,370,0,3240,189,1,0,0,0,3241,3246,3,244,122,0,3242,3246,3,246,123,0,3243,3246,3,248,124,0,3244,3246,3,250,125,0,3245,3241,1,0,0,0,3245,3242,1,0,0,0,3245,3243,1,0,0,0,3245,3244,1,0,0,0,3246,191,1,0,0,0,3247,3249,5,86,0,0,3248,3250,7,44,0,0,3249,3248,1,0,0,0,3249,3250,1,0,0,0,3250,3252,1,0,0,0,3251,3253,5,79,0,0,3252,3251,1,0,0,0,3252,3253,1,0,0,0,3253,3255,1,0,0,0,3254,3256,5,88,0,0,3255,3254,1,0,0,0,3255,3256,1,0,0,0,3256,3257,1,0,0,0,3257,3264,3,652,326,0,3258,3259,5,130,0,0,3259,3261,5,866,0,0,3260,3262,3,670,335,0,3261,3260,1,0,0,0,3261,3262,1,0,0,0,3262,3263,1,0,0,0,3263,3265,5,867,0,0,3264,3258,1,0,0,0,3264,3265,1,0,0,0,3265,3277,1,0,0,0,3266,3268,3,268,134,0,3267,3266,1,0,0,0,3267,3268,1,0,0,0,3268,3271,1,0,0,0,3269,3272,3,742,371,0,3270,3272,3,196,98,0,3271,3269,1,0,0,0,3271,3270,1,0,0,0,3271,3272,1,0,0,0,3272,3274,1,0,0,0,3273,3275,3,194,97,0,3274,3273,1,0,0,0,3274,3275,1,0,0,0,3275,3278,1,0,0,0,3276,3278,3,232,116,0,3277,3267,1,0,0,0,3277,3276,1,0,0,0,3278,3280,1,0,0,0,3279,3281,3,194,97,0,3280,3279,1,0,0,0,3280,3281,1,0,0,0,3281,3294,1,0,0,0,3282,3283,5,119,0,0,3283,3284,5,373,0,0,3284,3285,5,92,0,0,3285,3286,5,185,0,0,3286,3291,3,234,117,0,3287,3288,5,868,0,0,3288,3290,3,234,117,0,3289,3287,1,0,0,0,3290,3293,1,0,0,0,3291,3289,1,0,0,0,3291,3292,1,0,0,0,3292,3295,1,0,0,0,3293,3291,1,0,0,0,3294,3282,1,0,0,0,3294,3295,1,0,0,0,3295,193,1,0,0,0,3296,3297,5,13,0,0,3297,3299,3,706,353,0,3298,3300,3,268,134,0,3299,3298,1,0,0,0,3299,3300,1,0,0,0,3300,195,1,0,0,0,3301,3306,3,210,105,0,3302,3303,5,173,0,0,3303,3306,3,652,326,0,3304,3306,3,230,115,0,3305,3301,1,0,0,0,3305,3302,1,0,0,0,3305,3304,1,0,0,0,3306,197,1,0,0,0,3307,3313,3,200,100,0,3308,3310,5,828,0,0,3309,3311,7,45,0,0,3310,3309,1,0,0,0,3310,3311,1,0,0,0,3311,3312,1,0,0,0,3312,3314,3,200,100,0,3313,3308,1,0,0,0,3314,3315,1,0,0,0,3315,3313,1,0,0,0,3315,3316,1,0,0,0,3316,199,1,0,0,0,3317,3319,5,866,0,0,3318,3317,1,0,0,0,3318,3319,1,0,0,0,3319,3320,1,0,0,0,3320,3322,3,280,140,0,3321,3323,5,867,0,0,3322,3321,1,0,0,0,3322,3323,1,0,0,0,3323,201,1,0,0,0,3324,3325,5,103,0,0,3325,3327,5,360,0,0,3326,3328,7,46,0,0,3327,3326,1,0,0,0,3327,3328,1,0,0,0,3328,3330,1,0,0,0,3329,3331,5,450,0,0,3330,3329,1,0,0,0,3330,3331,1,0,0,0,3331,3332,1,0,0,0,3332,3333,5,83,0,0,3333,3335,5,882,0,0,3334,3336,7,7,0,0,3335,3334,1,0,0,0,3335,3336,1,0,0,0,3336,3337,1,0,0,0,3337,3338,5,88,0,0,3338,3339,5,173,0,0,3339,3345,3,652,326,0,3340,3341,5,130,0,0,3341,3342,5,866,0,0,3342,3343,3,670,335,0,3343,3344,5,867,0,0,3344,3346,1,0,0,0,3345,3340,1,0,0,0,3345,3346,1,0,0,0,3346,3350,1,0,0,0,3347,3348,5,26,0,0,3348,3349,5,155,0,0,3349,3351,3,688,344,0,3350,3347,1,0,0,0,3350,3351,1,0,0,0,3351,3358,1,0,0,0,3352,3354,7,47,0,0,3353,3355,3,304,152,0,3354,3353,1,0,0,0,3355,3356,1,0,0,0,3356,3354,1,0,0,0,3356,3357,1,0,0,0,3357,3359,1,0,0,0,3358,3352,1,0,0,0,3358,3359,1,0,0,0,3359,3366,1,0,0,0,3360,3362,5,102,0,0,3361,3363,3,306,153,0,3362,3361,1,0,0,0,3363,3364,1,0,0,0,3364,3362,1,0,0,0,3364,3365,1,0,0,0,3365,3367,1,0,0,0,3366,3360,1,0,0,0,3366,3367,1,0,0,0,3367,3372,1,0,0,0,3368,3369,5,79,0,0,3369,3370,3,712,356,0,3370,3371,7,48,0,0,3371,3373,1,0,0,0,3372,3368,1,0,0,0,3372,3373,1,0,0,0,3373,3385,1,0,0,0,3374,3375,5,866,0,0,3375,3380,3,236,118,0,3376,3377,5,868,0,0,3377,3379,3,236,118,0,3378,3376,1,0,0,0,3379,3382,1,0,0,0,3380,3378,1,0,0,0,3380,3381,1,0,0,0,3381,3383,1,0,0,0,3382,3380,1,0,0,0,3383,3384,5,867,0,0,3384,3386,1,0,0,0,3385,3374,1,0,0,0,3385,3386,1,0,0,0,3386,3396,1,0,0,0,3387,3388,5,155,0,0,3388,3393,3,234,117,0,3389,3390,5,868,0,0,3390,3392,3,234,117,0,3391,3389,1,0,0,0,3392,3395,1,0,0,0,3393,3391,1,0,0,0,3393,3394,1,0,0,0,3394,3397,1,0,0,0,3395,3393,1,0,0,0,3396,3387,1,0,0,0,3396,3397,1,0,0,0,3397,203,1,0,0,0,3398,3399,5,103,0,0,3399,3401,5,695,0,0,3400,3402,7,46,0,0,3401,3400,1,0,0,0,3401,3402,1,0,0,0,3402,3404,1,0,0,0,3403,3405,5,450,0,0,3404,3403,1,0,0,0,3404,3405,1,0,0,0,3405,3406,1,0,0,0,3406,3407,5,83,0,0,3407,3409,5,882,0,0,3408,3410,7,7,0,0,3409,3408,1,0,0,0,3409,3410,1,0,0,0,3410,3411,1,0,0,0,3411,3412,5,88,0,0,3412,3413,5,173,0,0,3413,3417,3,652,326,0,3414,3415,5,26,0,0,3415,3416,5,155,0,0,3416,3418,3,688,344,0,3417,3414,1,0,0,0,3417,3418,1,0,0,0,3418,3429,1,0,0,0,3419,3420,5,587,0,0,3420,3421,5,423,0,0,3421,3423,5,20,0,0,3422,3424,5,859,0,0,3423,3422,1,0,0,0,3423,3424,1,0,0,0,3424,3425,1,0,0,0,3425,3427,5,882,0,0,3426,3428,5,858,0,0,3427,3426,1,0,0,0,3427,3428,1,0,0,0,3428,3430,1,0,0,0,3429,3419,1,0,0,0,3429,3430,1,0,0,0,3430,3435,1,0,0,0,3431,3432,5,79,0,0,3432,3433,3,712,356,0,3433,3434,7,48,0,0,3434,3436,1,0,0,0,3435,3431,1,0,0,0,3435,3436,1,0,0,0,3436,3448,1,0,0,0,3437,3438,5,866,0,0,3438,3443,3,236,118,0,3439,3440,5,868,0,0,3440,3442,3,236,118,0,3441,3439,1,0,0,0,3442,3445,1,0,0,0,3443,3441,1,0,0,0,3443,3444,1,0,0,0,3444,3446,1,0,0,0,3445,3443,1,0,0,0,3446,3447,5,867,0,0,3447,3449,1,0,0,0,3448,3437,1,0,0,0,3448,3449,1,0,0,0,3449,3459,1,0,0,0,3450,3451,5,155,0,0,3451,3456,3,234,117,0,3452,3453,5,868,0,0,3453,3455,3,234,117,0,3454,3452,1,0,0,0,3455,3458,1,0,0,0,3456,3454,1,0,0,0,3456,3457,1,0,0,0,3457,3460,1,0,0,0,3458,3456,1,0,0,0,3459,3450,1,0,0,0,3459,3460,1,0,0,0,3460,205,1,0,0,0,3461,3462,5,866,0,0,3462,3464,3,224,112,0,3463,3465,3,258,129,0,3464,3463,1,0,0,0,3464,3465,1,0,0,0,3465,3467,1,0,0,0,3466,3468,3,318,159,0,3467,3466,1,0,0,0,3467,3468,1,0,0,0,3468,3469,1,0,0,0,3469,3471,5,867,0,0,3470,3472,3,258,129,0,3471,3470,1,0,0,0,3471,3472,1,0,0,0,3472,3474,1,0,0,0,3473,3475,3,318,159,0,3474,3473,1,0,0,0,3474,3475,1,0,0,0,3475,3477,1,0,0,0,3476,3478,3,302,151,0,3477,3476,1,0,0,0,3477,3478,1,0,0,0,3478,207,1,0,0,0,3479,3481,5,143,0,0,3480,3482,7,49,0,0,3481,3480,1,0,0,0,3481,3482,1,0,0,0,3482,3484,1,0,0,0,3483,3485,5,88,0,0,3484,3483,1,0,0,0,3484,3485,1,0,0,0,3485,3486,1,0,0,0,3486,3492,3,652,326,0,3487,3488,5,130,0,0,3488,3489,5,866,0,0,3489,3490,3,670,335,0,3490,3491,5,867,0,0,3491,3493,1,0,0,0,3492,3487,1,0,0,0,3492,3493,1,0,0,0,3493,3502,1,0,0,0,3494,3495,5,866,0,0,3495,3496,3,660,330,0,3496,3497,5,867,0,0,3497,3499,1,0,0,0,3498,3494,1,0,0,0,3498,3499,1,0,0,0,3499,3500,1,0,0,0,3500,3503,3,228,114,0,3501,3503,3,232,116,0,3502,3498,1,0,0,0,3502,3501,1,0,0,0,3503,209,1,0,0,0,3504,3508,3,280,140,0,3505,3507,3,282,141,0,3506,3505,1,0,0,0,3507,3510,1,0,0,0,3508,3506,1,0,0,0,3508,3509,1,0,0,0,3509,3519,1,0,0,0,3510,3508,1,0,0,0,3511,3513,5,181,0,0,3512,3514,7,45,0,0,3513,3512,1,0,0,0,3513,3514,1,0,0,0,3514,3517,1,0,0,0,3515,3518,3,280,140,0,3516,3518,3,278,139,0,3517,3515,1,0,0,0,3517,3516,1,0,0,0,3518,3520,1,0,0,0,3519,3511,1,0,0,0,3519,3520,1,0,0,0,3520,3525,1,0,0,0,3521,3522,5,868,0,0,3522,3524,3,284,142,0,3523,3521,1,0,0,0,3524,3527,1,0,0,0,3525,3523,1,0,0,0,3525,3526,1,0,0,0,3526,3529,1,0,0,0,3527,3525,1,0,0,0,3528,3530,3,258,129,0,3529,3528,1,0,0,0,3529,3530,1,0,0,0,3530,3532,1,0,0,0,3531,3533,3,318,159,0,3532,3531,1,0,0,0,3532,3533,1,0,0,0,3533,3535,1,0,0,0,3534,3536,3,238,119,0,3535,3534,1,0,0,0,3535,3536,1,0,0,0,3536,3538,1,0,0,0,3537,3539,3,302,151,0,3538,3537,1,0,0,0,3538,3539,1,0,0,0,3539,3564,1,0,0,0,3540,3544,3,278,139,0,3541,3543,3,282,141,0,3542,3541,1,0,0,0,3543,3546,1,0,0,0,3544,3542,1,0,0,0,3544,3545,1,0,0,0,3545,3552,1,0,0,0,3546,3544,1,0,0,0,3547,3549,5,181,0,0,3548,3550,7,45,0,0,3549,3548,1,0,0,0,3549,3550,1,0,0,0,3550,3551,1,0,0,0,3551,3553,3,278,139,0,3552,3547,1,0,0,0,3552,3553,1,0,0,0,3553,3555,1,0,0,0,3554,3556,3,258,129,0,3555,3554,1,0,0,0,3555,3556,1,0,0,0,3556,3558,1,0,0,0,3557,3559,3,318,159,0,3558,3557,1,0,0,0,3558,3559,1,0,0,0,3559,3561,1,0,0,0,3560,3562,3,238,119,0,3561,3560,1,0,0,0,3561,3562,1,0,0,0,3562,3564,1,0,0,0,3563,3504,1,0,0,0,3563,3540,1,0,0,0,3564,211,1,0,0,0,3565,3567,3,50,25,0,3566,3565,1,0,0,0,3566,3567,1,0,0,0,3567,3568,1,0,0,0,3568,3570,3,214,107,0,3569,3571,3,258,129,0,3570,3569,1,0,0,0,3570,3571,1,0,0,0,3571,3573,1,0,0,0,3572,3574,3,318,159,0,3573,3572,1,0,0,0,3573,3574,1,0,0,0,3574,3576,1,0,0,0,3575,3577,3,302,151,0,3576,3575,1,0,0,0,3576,3577,1,0,0,0,3577,213,1,0,0,0,3578,3579,6,107,-1,0,3579,3580,3,216,108,0,3580,3595,1,0,0,0,3581,3582,10,2,0,0,3582,3584,5,181,0,0,3583,3585,7,45,0,0,3584,3583,1,0,0,0,3584,3585,1,0,0,0,3585,3586,1,0,0,0,3586,3594,3,216,108,0,3587,3588,10,1,0,0,3588,3590,5,59,0,0,3589,3591,7,45,0,0,3590,3589,1,0,0,0,3590,3591,1,0,0,0,3591,3592,1,0,0,0,3592,3594,3,216,108,0,3593,3581,1,0,0,0,3593,3587,1,0,0,0,3594,3597,1,0,0,0,3595,3593,1,0,0,0,3595,3596,1,0,0,0,3596,215,1,0,0,0,3597,3595,1,0,0,0,3598,3599,6,108,-1,0,3599,3600,3,218,109,0,3600,3609,1,0,0,0,3601,3602,10,1,0,0,3602,3604,5,828,0,0,3603,3605,7,45,0,0,3604,3603,1,0,0,0,3604,3605,1,0,0,0,3605,3606,1,0,0,0,3606,3608,3,218,109,0,3607,3601,1,0,0,0,3608,3611,1,0,0,0,3609,3607,1,0,0,0,3609,3610,1,0,0,0,3610,217,1,0,0,0,3611,3609,1,0,0,0,3612,3627,3,226,113,0,3613,3614,5,866,0,0,3614,3616,3,214,107,0,3615,3617,3,258,129,0,3616,3615,1,0,0,0,3616,3617,1,0,0,0,3617,3619,1,0,0,0,3618,3620,3,318,159,0,3619,3618,1,0,0,0,3619,3620,1,0,0,0,3620,3622,1,0,0,0,3621,3623,3,302,151,0,3622,3621,1,0,0,0,3622,3623,1,0,0,0,3623,3624,1,0,0,0,3624,3625,5,867,0,0,3625,3627,1,0,0,0,3626,3612,1,0,0,0,3626,3613,1,0,0,0,3627,219,1,0,0,0,3628,3631,3,254,127,0,3629,3631,3,256,128,0,3630,3628,1,0,0,0,3630,3629,1,0,0,0,3631,221,1,0,0,0,3632,3636,3,230,115,0,3633,3634,5,125,0,0,3634,3635,5,20,0,0,3635,3637,3,674,337,0,3636,3633,1,0,0,0,3636,3637,1,0,0,0,3637,3640,1,0,0,0,3638,3639,5,100,0,0,3639,3641,3,320,160,0,3640,3638,1,0,0,0,3640,3641,1,0,0,0,3641,223,1,0,0,0,3642,3647,3,226,113,0,3643,3644,7,50,0,0,3644,3646,3,226,113,0,3645,3643,1,0,0,0,3646,3649,1,0,0,0,3647,3645,1,0,0,0,3647,3648,1,0,0,0,3648,3651,1,0,0,0,3649,3647,1,0,0,0,3650,3652,3,258,129,0,3651,3650,1,0,0,0,3651,3652,1,0,0,0,3652,3654,1,0,0,0,3653,3655,3,318,159,0,3654,3653,1,0,0,0,3654,3655,1,0,0,0,3655,3657,1,0,0,0,3656,3658,3,302,151,0,3657,3656,1,0,0,0,3657,3658,1,0,0,0,3658,225,1,0,0,0,3659,3663,3,210,105,0,3660,3663,3,618,309,0,3661,3663,3,222,111,0,3662,3659,1,0,0,0,3662,3660,1,0,0,0,3662,3661,1,0,0,0,3663,227,1,0,0,0,3664,3670,3,210,105,0,3665,3666,5,173,0,0,3666,3670,3,652,326,0,3667,3670,3,742,371,0,3668,3670,3,230,115,0,3669,3664,1,0,0,0,3669,3665,1,0,0,0,3669,3667,1,0,0,0,3669,3668,1,0,0,0,3670,229,1,0,0,0,3671,3672,5,189,0,0,3672,3673,5,586,0,0,3673,3679,3,744,372,0,3674,3675,5,868,0,0,3675,3676,5,586,0,0,3676,3678,3,744,372,0,3677,3674,1,0,0,0,3678,3681,1,0,0,0,3679,3677,1,0,0,0,3679,3680,1,0,0,0,3680,231,1,0,0,0,3681,3679,1,0,0,0,3682,3683,5,155,0,0,3683,3688,3,234,117,0,3684,3685,5,868,0,0,3685,3687,3,234,117,0,3686,3684,1,0,0,0,3687,3690,1,0,0,0,3688,3686,1,0,0,0,3688,3689,1,0,0,0,3689,233,1,0,0,0,3690,3688,1,0,0,0,3691,3692,3,662,331,0,3692,3693,5,857,0,0,3693,3694,3,746,373,0,3694,235,1,0,0,0,3695,3698,3,706,353,0,3696,3698,5,892,0,0,3697,3695,1,0,0,0,3697,3696,1,0,0,0,3698,237,1,0,0,0,3699,3700,5,65,0,0,3700,3710,7,51,0,0,3701,3702,5,510,0,0,3702,3707,3,652,326,0,3703,3704,5,868,0,0,3704,3706,3,652,326,0,3705,3703,1,0,0,0,3706,3709,1,0,0,0,3707,3705,1,0,0,0,3707,3708,1,0,0,0,3708,3711,1,0,0,0,3709,3707,1,0,0,0,3710,3701,1,0,0,0,3710,3711,1,0,0,0,3711,3714,1,0,0,0,3712,3713,7,52,0,0,3713,3715,5,105,0,0,3714,3712,1,0,0,0,3714,3715,1,0,0,0,3715,3721,1,0,0,0,3716,3717,5,104,0,0,3717,3718,5,80,0,0,3718,3719,5,594,0,0,3719,3721,5,491,0,0,3720,3699,1,0,0,0,3720,3716,1,0,0,0,3721,239,1,0,0,0,3722,3724,5,44,0,0,3723,3725,5,107,0,0,3724,3723,1,0,0,0,3724,3725,1,0,0,0,3725,3727,1,0,0,0,3726,3728,5,549,0,0,3727,3726,1,0,0,0,3727,3728,1,0,0,0,3728,3730,1,0,0,0,3729,3731,5,79,0,0,3730,3729,1,0,0,0,3730,3731,1,0,0,0,3731,3732,1,0,0,0,3732,3733,5,68,0,0,3733,3738,3,652,326,0,3734,3736,5,13,0,0,3735,3734,1,0,0,0,3735,3736,1,0,0,0,3736,3737,1,0,0,0,3737,3739,3,706,353,0,3738,3735,1,0,0,0,3738,3739,1,0,0,0,3739,3745,1,0,0,0,3740,3741,5,130,0,0,3741,3742,5,866,0,0,3742,3743,3,670,335,0,3743,3744,5,867,0,0,3744,3746,1,0,0,0,3745,3740,1,0,0,0,3745,3746,1,0,0,0,3746,3749,1,0,0,0,3747,3748,5,192,0,0,3748,3750,3,804,402,0,3749,3747,1,0,0,0,3749,3750,1,0,0,0,3750,3752,1,0,0,0,3751,3753,3,258,129,0,3752,3751,1,0,0,0,3752,3753,1,0,0,0,3753,3756,1,0,0,0,3754,3755,5,100,0,0,3755,3757,3,320,160,0,3756,3754,1,0,0,0,3756,3757,1,0,0,0,3757,241,1,0,0,0,3758,3760,5,44,0,0,3759,3761,5,107,0,0,3760,3759,1,0,0,0,3760,3761,1,0,0,0,3761,3763,1,0,0,0,3762,3764,5,549,0,0,3763,3762,1,0,0,0,3763,3764,1,0,0,0,3764,3766,1,0,0,0,3765,3767,5,79,0,0,3766,3765,1,0,0,0,3766,3767,1,0,0,0,3767,3807,1,0,0,0,3768,3771,3,652,326,0,3769,3770,5,865,0,0,3770,3772,5,850,0,0,3771,3769,1,0,0,0,3771,3772,1,0,0,0,3772,3781,1,0,0,0,3773,3774,5,868,0,0,3774,3777,3,652,326,0,3775,3776,5,865,0,0,3776,3778,5,850,0,0,3777,3775,1,0,0,0,3777,3778,1,0,0,0,3778,3780,1,0,0,0,3779,3773,1,0,0,0,3780,3783,1,0,0,0,3781,3779,1,0,0,0,3781,3782,1,0,0,0,3782,3784,1,0,0,0,3783,3781,1,0,0,0,3784,3785,5,68,0,0,3785,3786,3,262,131,0,3786,3808,1,0,0,0,3787,3788,5,68,0,0,3788,3791,3,652,326,0,3789,3790,5,865,0,0,3790,3792,5,850,0,0,3791,3789,1,0,0,0,3791,3792,1,0,0,0,3792,3801,1,0,0,0,3793,3794,5,868,0,0,3794,3797,3,652,326,0,3795,3796,5,865,0,0,3796,3798,5,850,0,0,3797,3795,1,0,0,0,3797,3798,1,0,0,0,3798,3800,1,0,0,0,3799,3793,1,0,0,0,3800,3803,1,0,0,0,3801,3799,1,0,0,0,3801,3802,1,0,0,0,3802,3804,1,0,0,0,3803,3801,1,0,0,0,3804,3805,5,188,0,0,3805,3806,3,262,131,0,3806,3808,1,0,0,0,3807,3768,1,0,0,0,3807,3787,1,0,0,0,3808,3811,1,0,0,0,3809,3810,5,192,0,0,3810,3812,3,804,402,0,3811,3809,1,0,0,0,3811,3812,1,0,0,0,3812,243,1,0,0,0,3813,3814,5,417,0,0,3814,3815,3,652,326,0,3815,3820,5,516,0,0,3816,3818,5,13,0,0,3817,3816,1,0,0,0,3817,3818,1,0,0,0,3818,3819,1,0,0,0,3819,3821,3,706,353,0,3820,3817,1,0,0,0,3820,3821,1,0,0,0,3821,245,1,0,0,0,3822,3823,5,417,0,0,3823,3824,3,652,326,0,3824,3825,5,135,0,0,3825,3832,3,642,321,0,3826,3827,3,814,407,0,3827,3828,5,866,0,0,3828,3829,3,748,374,0,3829,3830,5,867,0,0,3830,3833,1,0,0,0,3831,3833,7,53,0,0,3832,3826,1,0,0,0,3832,3831,1,0,0,0,3833,3836,1,0,0,0,3834,3835,5,192,0,0,3835,3837,3,804,402,0,3836,3834,1,0,0,0,3836,3837,1,0,0,0,3837,3840,1,0,0,0,3838,3839,5,100,0,0,3839,3841,3,320,160,0,3840,3838,1,0,0,0,3840,3841,1,0,0,0,3841,247,1,0,0,0,3842,3843,5,417,0,0,3843,3844,3,652,326,0,3844,3845,5,135,0,0,3845,3848,7,54,0,0,3846,3847,5,192,0,0,3847,3849,3,804,402,0,3848,3846,1,0,0,0,3848,3849,1,0,0,0,3849,3852,1,0,0,0,3850,3851,5,100,0,0,3851,3853,3,320,160,0,3852,3850,1,0,0,0,3852,3853,1,0,0,0,3853,249,1,0,0,0,3854,3855,5,417,0,0,3855,3856,3,652,326,0,3856,3857,5,334,0,0,3857,251,1,0,0,0,3858,3859,5,425,0,0,3859,3860,5,173,0,0,3860,3861,5,68,0,0,3861,3866,3,716,358,0,3862,3863,5,868,0,0,3863,3865,3,716,358,0,3864,3862,1,0,0,0,3865,3868,1,0,0,0,3866,3864,1,0,0,0,3866,3867,1,0,0,0,3867,253,1,0,0,0,3868,3866,1,0,0,0,3869,3871,5,185,0,0,3870,3872,5,107,0,0,3871,3870,1,0,0,0,3871,3872,1,0,0,0,3872,3874,1,0,0,0,3873,3875,5,79,0,0,3874,3873,1,0,0,0,3874,3875,1,0,0,0,3875,3876,1,0,0,0,3876,3881,3,652,326,0,3877,3879,5,13,0,0,3878,3877,1,0,0,0,3878,3879,1,0,0,0,3879,3880,1,0,0,0,3880,3882,3,706,353,0,3881,3878,1,0,0,0,3881,3882,1,0,0,0,3882,3883,1,0,0,0,3883,3884,5,155,0,0,3884,3889,3,234,117,0,3885,3886,5,868,0,0,3886,3888,3,234,117,0,3887,3885,1,0,0,0,3888,3891,1,0,0,0,3889,3887,1,0,0,0,3889,3890,1,0,0,0,3890,3894,1,0,0,0,3891,3889,1,0,0,0,3892,3893,5,192,0,0,3893,3895,3,804,402,0,3894,3892,1,0,0,0,3894,3895,1,0,0,0,3895,3897,1,0,0,0,3896,3898,3,258,129,0,3897,3896,1,0,0,0,3897,3898,1,0,0,0,3898,3900,1,0,0,0,3899,3901,3,318,159,0,3900,3899,1,0,0,0,3900,3901,1,0,0,0,3901,255,1,0,0,0,3902,3904,5,185,0,0,3903,3905,5,107,0,0,3904,3903,1,0,0,0,3904,3905,1,0,0,0,3905,3907,1,0,0,0,3906,3908,5,79,0,0,3907,3906,1,0,0,0,3907,3908,1,0,0,0,3908,3909,1,0,0,0,3909,3910,3,262,131,0,3910,3911,5,155,0,0,3911,3916,3,234,117,0,3912,3913,5,868,0,0,3913,3915,3,234,117,0,3914,3912,1,0,0,0,3915,3918,1,0,0,0,3916,3914,1,0,0,0,3916,3917,1,0,0,0,3917,3921,1,0,0,0,3918,3916,1,0,0,0,3919,3920,5,192,0,0,3920,3922,3,804,402,0,3921,3919,1,0,0,0,3921,3922,1,0,0,0,3922,257,1,0,0,0,3923,3924,5,125,0,0,3924,3925,5,20,0,0,3925,3930,3,260,130,0,3926,3927,5,868,0,0,3927,3929,3,260,130,0,3928,3926,1,0,0,0,3929,3932,1,0,0,0,3930,3928,1,0,0,0,3930,3931,1,0,0,0,3931,259,1,0,0,0,3932,3930,1,0,0,0,3933,3935,3,804,402,0,3934,3936,7,55,0,0,3935,3934,1,0,0,0,3935,3936,1,0,0,0,3936,261,1,0,0,0,3937,3942,3,264,132,0,3938,3939,5,868,0,0,3939,3941,3,264,132,0,3940,3938,1,0,0,0,3941,3944,1,0,0,0,3942,3940,1,0,0,0,3942,3943,1,0,0,0,3943,263,1,0,0,0,3944,3942,1,0,0,0,3945,3949,3,266,133,0,3946,3948,3,274,137,0,3947,3946,1,0,0,0,3948,3951,1,0,0,0,3949,3947,1,0,0,0,3949,3950,1,0,0,0,3950,3964,1,0,0,0,3951,3949,1,0,0,0,3952,3953,5,866,0,0,3953,3957,3,266,133,0,3954,3956,3,274,137,0,3955,3954,1,0,0,0,3956,3959,1,0,0,0,3957,3955,1,0,0,0,3957,3958,1,0,0,0,3958,3960,1,0,0,0,3959,3957,1,0,0,0,3960,3961,5,867,0,0,3961,3964,1,0,0,0,3962,3964,3,286,143,0,3963,3945,1,0,0,0,3963,3952,1,0,0,0,3963,3962,1,0,0,0,3964,265,1,0,0,0,3965,3971,3,652,326,0,3966,3967,5,130,0,0,3967,3968,5,866,0,0,3968,3969,3,670,335,0,3969,3970,5,867,0,0,3970,3972,1,0,0,0,3971,3966,1,0,0,0,3971,3972,1,0,0,0,3972,3977,1,0,0,0,3973,3975,5,13,0,0,3974,3973,1,0,0,0,3974,3975,1,0,0,0,3975,3976,1,0,0,0,3976,3978,3,706,353,0,3977,3974,1,0,0,0,3977,3978,1,0,0,0,3978,3987,1,0,0,0,3979,3984,3,270,135,0,3980,3981,5,868,0,0,3981,3983,3,270,135,0,3982,3980,1,0,0,0,3983,3986,1,0,0,0,3984,3982,1,0,0,0,3984,3985,1,0,0,0,3985,3988,1,0,0,0,3986,3984,1,0,0,0,3987,3979,1,0,0,0,3987,3988,1,0,0,0,3988,4011,1,0,0,0,3989,3991,5,95,0,0,3990,3989,1,0,0,0,3990,3991,1,0,0,0,3991,3997,1,0,0,0,3992,3998,3,210,105,0,3993,3994,5,866,0,0,3994,3995,3,210,105,0,3995,3996,5,867,0,0,3996,3998,1,0,0,0,3997,3992,1,0,0,0,3997,3993,1,0,0,0,3998,4e3,1,0,0,0,3999,4001,5,13,0,0,4e3,3999,1,0,0,0,4e3,4001,1,0,0,0,4001,4002,1,0,0,0,4002,4004,3,706,353,0,4003,4005,3,268,134,0,4004,4003,1,0,0,0,4004,4005,1,0,0,0,4005,4011,1,0,0,0,4006,4007,5,866,0,0,4007,4008,3,262,131,0,4008,4009,5,867,0,0,4009,4011,1,0,0,0,4010,3965,1,0,0,0,4010,3990,1,0,0,0,4010,4006,1,0,0,0,4011,267,1,0,0,0,4012,4013,5,866,0,0,4013,4014,3,660,330,0,4014,4015,5,867,0,0,4015,269,1,0,0,0,4016,4017,7,56,0,0,4017,4020,7,19,0,0,4018,4019,5,65,0,0,4019,4021,3,272,136,0,4020,4018,1,0,0,0,4020,4021,1,0,0,0,4021,4022,1,0,0,0,4022,4024,5,866,0,0,4023,4025,3,640,320,0,4024,4023,1,0,0,0,4024,4025,1,0,0,0,4025,4026,1,0,0,0,4026,4027,5,867,0,0,4027,271,1,0,0,0,4028,4034,5,91,0,0,4029,4030,5,125,0,0,4030,4034,5,20,0,0,4031,4032,5,74,0,0,4032,4034,5,20,0,0,4033,4028,1,0,0,0,4033,4029,1,0,0,0,4033,4031,1,0,0,0,4034,273,1,0,0,0,4035,4037,7,57,0,0,4036,4035,1,0,0,0,4036,4037,1,0,0,0,4037,4038,1,0,0,0,4038,4040,5,91,0,0,4039,4041,5,95,0,0,4040,4039,1,0,0,0,4040,4041,1,0,0,0,4041,4042,1,0,0,0,4042,4046,3,266,133,0,4043,4045,3,276,138,0,4044,4043,1,0,0,0,4045,4048,1,0,0,0,4046,4044,1,0,0,0,4046,4047,1,0,0,0,4047,4085,1,0,0,0,4048,4046,1,0,0,0,4049,4050,5,172,0,0,4050,4054,3,266,133,0,4051,4053,3,276,138,0,4052,4051,1,0,0,0,4053,4056,1,0,0,0,4054,4052,1,0,0,0,4054,4055,1,0,0,0,4055,4085,1,0,0,0,4056,4054,1,0,0,0,4057,4059,7,58,0,0,4058,4060,5,127,0,0,4059,4058,1,0,0,0,4059,4060,1,0,0,0,4060,4061,1,0,0,0,4061,4063,5,91,0,0,4062,4064,5,95,0,0,4063,4062,1,0,0,0,4063,4064,1,0,0,0,4064,4065,1,0,0,0,4065,4069,3,266,133,0,4066,4068,3,276,138,0,4067,4066,1,0,0,0,4068,4071,1,0,0,0,4069,4067,1,0,0,0,4069,4070,1,0,0,0,4070,4085,1,0,0,0,4071,4069,1,0,0,0,4072,4080,5,113,0,0,4073,4076,5,84,0,0,4074,4076,7,58,0,0,4075,4073,1,0,0,0,4075,4074,1,0,0,0,4076,4078,1,0,0,0,4077,4079,5,127,0,0,4078,4077,1,0,0,0,4078,4079,1,0,0,0,4079,4081,1,0,0,0,4080,4075,1,0,0,0,4080,4081,1,0,0,0,4081,4082,1,0,0,0,4082,4083,5,91,0,0,4083,4085,3,266,133,0,4084,4036,1,0,0,0,4084,4049,1,0,0,0,4084,4057,1,0,0,0,4084,4072,1,0,0,0,4085,275,1,0,0,0,4086,4087,5,119,0,0,4087,4094,3,804,402,0,4088,4089,5,188,0,0,4089,4090,5,866,0,0,4090,4091,3,660,330,0,4091,4092,5,867,0,0,4092,4094,1,0,0,0,4093,4086,1,0,0,0,4093,4088,1,0,0,0,4094,277,1,0,0,0,4095,4096,5,866,0,0,4096,4097,3,280,140,0,4097,4098,5,867,0,0,4098,4104,1,0,0,0,4099,4100,5,866,0,0,4100,4101,3,278,139,0,4101,4102,5,867,0,0,4102,4104,1,0,0,0,4103,4095,1,0,0,0,4103,4099,1,0,0,0,4104,279,1,0,0,0,4105,4109,5,154,0,0,4106,4108,3,296,148,0,4107,4106,1,0,0,0,4108,4111,1,0,0,0,4109,4107,1,0,0,0,4109,4110,1,0,0,0,4110,4112,1,0,0,0,4111,4109,1,0,0,0,4112,4114,3,298,149,0,4113,4115,3,302,151,0,4114,4113,1,0,0,0,4114,4115,1,0,0,0,4115,4116,1,0,0,0,4116,4118,3,308,154,0,4117,4119,3,310,155,0,4118,4117,1,0,0,0,4118,4119,1,0,0,0,4119,4121,1,0,0,0,4120,4122,3,312,156,0,4121,4120,1,0,0,0,4121,4122,1,0,0,0,4122,4124,1,0,0,0,4123,4125,3,314,157,0,4124,4123,1,0,0,0,4124,4125,1,0,0,0,4125,4127,1,0,0,0,4126,4128,3,258,129,0,4127,4126,1,0,0,0,4127,4128,1,0,0,0,4128,4130,1,0,0,0,4129,4131,3,318,159,0,4130,4129,1,0,0,0,4130,4131,1,0,0,0,4131,4133,1,0,0,0,4132,4134,3,302,151,0,4133,4132,1,0,0,0,4133,4134,1,0,0,0,4134,4136,1,0,0,0,4135,4137,3,282,141,0,4136,4135,1,0,0,0,4136,4137,1,0,0,0,4137,281,1,0,0,0,4138,4140,5,181,0,0,4139,4141,7,45,0,0,4140,4139,1,0,0,0,4140,4141,1,0,0,0,4141,4144,1,0,0,0,4142,4145,3,280,140,0,4143,4145,3,278,139,0,4144,4142,1,0,0,0,4144,4143,1,0,0,0,4145,283,1,0,0,0,4146,4161,5,95,0,0,4147,4162,3,280,140,0,4148,4162,3,278,139,0,4149,4152,5,866,0,0,4150,4153,3,280,140,0,4151,4153,3,278,139,0,4152,4150,1,0,0,0,4152,4151,1,0,0,0,4153,4154,1,0,0,0,4154,4159,5,867,0,0,4155,4157,5,13,0,0,4156,4155,1,0,0,0,4156,4157,1,0,0,0,4157,4158,1,0,0,0,4158,4160,3,706,353,0,4159,4156,1,0,0,0,4159,4160,1,0,0,0,4160,4162,1,0,0,0,4161,4147,1,0,0,0,4161,4148,1,0,0,0,4161,4149,1,0,0,0,4162,285,1,0,0,0,4163,4164,5,253,0,0,4164,4165,5,866,0,0,4165,4166,5,882,0,0,4166,4167,5,868,0,0,4167,4168,5,882,0,0,4168,4169,5,337,0,0,4169,4170,5,866,0,0,4170,4171,3,288,144,0,4171,4172,5,867,0,0,4172,4177,5,867,0,0,4173,4175,5,13,0,0,4174,4173,1,0,0,0,4174,4175,1,0,0,0,4175,4176,1,0,0,0,4176,4178,3,706,353,0,4177,4174,1,0,0,0,4177,4178,1,0,0,0,4178,287,1,0,0,0,4179,4184,3,290,145,0,4180,4181,5,868,0,0,4181,4183,3,290,145,0,4182,4180,1,0,0,0,4183,4186,1,0,0,0,4184,4182,1,0,0,0,4184,4185,1,0,0,0,4185,289,1,0,0,0,4186,4184,1,0,0,0,4187,4204,3,662,331,0,4188,4189,5,65,0,0,4189,4205,5,256,0,0,4190,4202,3,726,363,0,4191,4192,5,257,0,0,4192,4194,5,882,0,0,4193,4195,3,292,146,0,4194,4193,1,0,0,0,4194,4195,1,0,0,0,4195,4197,1,0,0,0,4196,4198,3,294,147,0,4197,4196,1,0,0,0,4197,4198,1,0,0,0,4198,4203,1,0,0,0,4199,4200,5,60,0,0,4200,4201,5,257,0,0,4201,4203,5,882,0,0,4202,4191,1,0,0,0,4202,4199,1,0,0,0,4203,4205,1,0,0,0,4204,4188,1,0,0,0,4204,4190,1,0,0,0,4205,4217,1,0,0,0,4206,4208,5,255,0,0,4207,4209,5,257,0,0,4208,4207,1,0,0,0,4208,4209,1,0,0,0,4209,4210,1,0,0,0,4210,4211,5,882,0,0,4211,4212,5,337,0,0,4212,4213,5,866,0,0,4213,4214,3,288,144,0,4214,4215,5,867,0,0,4215,4217,1,0,0,0,4216,4187,1,0,0,0,4216,4206,1,0,0,0,4217,291,1,0,0,0,4218,4223,5,116,0,0,4219,4223,5,382,0,0,4220,4221,5,42,0,0,4221,4223,3,754,377,0,4222,4218,1,0,0,0,4222,4219,1,0,0,0,4222,4220,1,0,0,0,4223,4224,1,0,0,0,4224,4225,5,119,0,0,4225,4226,5,55,0,0,4226,293,1,0,0,0,4227,4232,5,116,0,0,4228,4232,5,382,0,0,4229,4230,5,42,0,0,4230,4232,3,754,377,0,4231,4227,1,0,0,0,4231,4228,1,0,0,0,4231,4229,1,0,0,0,4232,4233,1,0,0,0,4233,4234,5,119,0,0,4234,4235,5,382,0,0,4235,295,1,0,0,0,4236,4245,7,59,0,0,4237,4245,5,76,0,0,4238,4245,5,172,0,0,4239,4245,5,168,0,0,4240,4245,5,166,0,0,4241,4245,5,636,0,0,4242,4245,7,60,0,0,4243,4245,5,167,0,0,4244,4236,1,0,0,0,4244,4237,1,0,0,0,4244,4238,1,0,0,0,4244,4239,1,0,0,0,4244,4240,1,0,0,0,4244,4241,1,0,0,0,4244,4242,1,0,0,0,4244,4243,1,0,0,0,4245,297,1,0,0,0,4246,4249,5,850,0,0,4247,4249,3,300,150,0,4248,4246,1,0,0,0,4248,4247,1,0,0,0,4249,4254,1,0,0,0,4250,4251,5,868,0,0,4251,4253,3,300,150,0,4252,4250,1,0,0,0,4253,4256,1,0,0,0,4254,4252,1,0,0,0,4254,4255,1,0,0,0,4255,299,1,0,0,0,4256,4254,1,0,0,0,4257,4258,5,892,0,0,4258,4260,5,841,0,0,4259,4257,1,0,0,0,4259,4260,1,0,0,0,4260,4261,1,0,0,0,4261,4266,3,804,402,0,4262,4264,5,13,0,0,4263,4262,1,0,0,0,4263,4264,1,0,0,0,4264,4265,1,0,0,0,4265,4267,3,706,353,0,4266,4263,1,0,0,0,4266,4267,1,0,0,0,4267,4287,1,0,0,0,4268,4273,3,764,382,0,4269,4271,5,13,0,0,4270,4269,1,0,0,0,4270,4271,1,0,0,0,4271,4272,1,0,0,0,4272,4274,3,706,353,0,4273,4270,1,0,0,0,4273,4274,1,0,0,0,4274,4287,1,0,0,0,4275,4276,3,702,351,0,4276,4277,5,865,0,0,4277,4278,5,850,0,0,4278,4287,1,0,0,0,4279,4284,3,662,331,0,4280,4282,5,13,0,0,4281,4280,1,0,0,0,4281,4282,1,0,0,0,4282,4283,1,0,0,0,4283,4285,3,706,353,0,4284,4281,1,0,0,0,4284,4285,1,0,0,0,4285,4287,1,0,0,0,4286,4259,1,0,0,0,4286,4268,1,0,0,0,4286,4275,1,0,0,0,4286,4279,1,0,0,0,4287,301,1,0,0,0,4288,4289,5,88,0,0,4289,4294,3,236,118,0,4290,4291,5,868,0,0,4291,4293,3,236,118,0,4292,4290,1,0,0,0,4293,4296,1,0,0,0,4294,4292,1,0,0,0,4294,4295,1,0,0,0,4295,4325,1,0,0,0,4296,4294,1,0,0,0,4297,4298,5,88,0,0,4298,4299,5,372,0,0,4299,4325,5,882,0,0,4300,4301,5,88,0,0,4301,4302,5,128,0,0,4302,4306,5,882,0,0,4303,4304,5,26,0,0,4304,4305,5,155,0,0,4305,4307,3,688,344,0,4306,4303,1,0,0,0,4306,4307,1,0,0,0,4307,4314,1,0,0,0,4308,4310,7,47,0,0,4309,4311,3,304,152,0,4310,4309,1,0,0,0,4311,4312,1,0,0,0,4312,4310,1,0,0,0,4312,4313,1,0,0,0,4313,4315,1,0,0,0,4314,4308,1,0,0,0,4314,4315,1,0,0,0,4315,4322,1,0,0,0,4316,4318,5,102,0,0,4317,4319,3,306,153,0,4318,4317,1,0,0,0,4319,4320,1,0,0,0,4320,4318,1,0,0,0,4320,4321,1,0,0,0,4321,4323,1,0,0,0,4322,4316,1,0,0,0,4322,4323,1,0,0,0,4323,4325,1,0,0,0,4324,4288,1,0,0,0,4324,4297,1,0,0,0,4324,4300,1,0,0,0,4325,303,1,0,0,0,4326,4327,5,174,0,0,4327,4328,5,20,0,0,4328,4339,5,882,0,0,4329,4331,5,123,0,0,4330,4329,1,0,0,0,4330,4331,1,0,0,0,4331,4332,1,0,0,0,4332,4333,5,56,0,0,4333,4334,5,20,0,0,4334,4339,5,882,0,0,4335,4336,5,58,0,0,4336,4337,5,20,0,0,4337,4339,5,882,0,0,4338,4326,1,0,0,0,4338,4330,1,0,0,0,4338,4335,1,0,0,0,4339,305,1,0,0,0,4340,4341,5,171,0,0,4341,4342,5,20,0,0,4342,4347,5,882,0,0,4343,4344,5,174,0,0,4344,4345,5,20,0,0,4345,4347,5,882,0,0,4346,4340,1,0,0,0,4346,4343,1,0,0,0,4347,307,1,0,0,0,4348,4349,5,68,0,0,4349,4351,3,262,131,0,4350,4348,1,0,0,0,4350,4351,1,0,0,0,4351,4354,1,0,0,0,4352,4353,5,192,0,0,4353,4355,3,804,402,0,4354,4352,1,0,0,0,4354,4355,1,0,0,0,4355,309,1,0,0,0,4356,4357,5,74,0,0,4357,4358,5,20,0,0,4358,4363,3,316,158,0,4359,4360,5,868,0,0,4360,4362,3,316,158,0,4361,4359,1,0,0,0,4362,4365,1,0,0,0,4363,4361,1,0,0,0,4363,4364,1,0,0,0,4364,4368,1,0,0,0,4365,4363,1,0,0,0,4366,4367,5,194,0,0,4367,4369,5,584,0,0,4368,4366,1,0,0,0,4368,4369,1,0,0,0,4369,311,1,0,0,0,4370,4371,5,75,0,0,4371,4372,3,804,402,0,4372,313,1,0,0,0,4373,4374,5,689,0,0,4374,4375,3,782,391,0,4375,4376,5,13,0,0,4376,4377,5,866,0,0,4377,4378,3,780,390,0,4378,4388,5,867,0,0,4379,4380,5,868,0,0,4380,4381,3,782,391,0,4381,4382,5,13,0,0,4382,4383,5,866,0,0,4383,4384,3,780,390,0,4384,4385,5,867,0,0,4385,4387,1,0,0,0,4386,4379,1,0,0,0,4387,4390,1,0,0,0,4388,4386,1,0,0,0,4388,4389,1,0,0,0,4389,315,1,0,0,0,4390,4388,1,0,0,0,4391,4393,3,804,402,0,4392,4394,7,55,0,0,4393,4392,1,0,0,0,4393,4394,1,0,0,0,4394,317,1,0,0,0,4395,4406,5,100,0,0,4396,4397,3,320,160,0,4397,4398,5,868,0,0,4398,4400,1,0,0,0,4399,4396,1,0,0,0,4399,4400,1,0,0,0,4400,4401,1,0,0,0,4401,4407,3,320,160,0,4402,4403,3,320,160,0,4403,4404,5,509,0,0,4404,4405,3,320,160,0,4405,4407,1,0,0,0,4406,4399,1,0,0,0,4406,4402,1,0,0,0,4407,319,1,0,0,0,4408,4412,3,712,356,0,4409,4412,3,686,343,0,4410,4412,3,708,354,0,4411,4408,1,0,0,0,4411,4409,1,0,0,0,4411,4410,1,0,0,0,4412,321,1,0,0,0,4413,4414,5,640,0,0,4414,4423,5,664,0,0,4415,4420,3,344,172,0,4416,4417,5,868,0,0,4417,4419,3,344,172,0,4418,4416,1,0,0,0,4419,4422,1,0,0,0,4420,4418,1,0,0,0,4420,4421,1,0,0,0,4421,4424,1,0,0,0,4422,4420,1,0,0,0,4423,4415,1,0,0,0,4423,4424,1,0,0,0,4424,323,1,0,0,0,4425,4427,5,317,0,0,4426,4428,5,691,0,0,4427,4426,1,0,0,0,4427,4428,1,0,0,0,4428,325,1,0,0,0,4429,4431,5,341,0,0,4430,4432,5,691,0,0,4431,4430,1,0,0,0,4431,4432,1,0,0,0,4432,4438,1,0,0,0,4433,4435,5,11,0,0,4434,4436,5,502,0,0,4435,4434,1,0,0,0,4435,4436,1,0,0,0,4436,4437,1,0,0,0,4437,4439,5,326,0,0,4438,4433,1,0,0,0,4438,4439,1,0,0,0,4439,4444,1,0,0,0,4440,4442,5,502,0,0,4441,4440,1,0,0,0,4441,4442,1,0,0,0,4442,4443,1,0,0,0,4443,4445,5,140,0,0,4444,4441,1,0,0,0,4444,4445,1,0,0,0,4445,327,1,0,0,0,4446,4448,5,583,0,0,4447,4449,5,691,0,0,4448,4447,1,0,0,0,4448,4449,1,0,0,0,4449,4455,1,0,0,0,4450,4452,5,11,0,0,4451,4453,5,502,0,0,4452,4451,1,0,0,0,4452,4453,1,0,0,0,4453,4454,1,0,0,0,4454,4456,5,326,0,0,4455,4450,1,0,0,0,4455,4456,1,0,0,0,4456,4461,1,0,0,0,4457,4459,5,502,0,0,4458,4457,1,0,0,0,4458,4459,1,0,0,0,4459,4460,1,0,0,0,4460,4462,5,140,0,0,4461,4458,1,0,0,0,4461,4462,1,0,0,0,4462,329,1,0,0,0,4463,4464,5,589,0,0,4464,4465,3,706,353,0,4465,331,1,0,0,0,4466,4468,5,583,0,0,4467,4469,5,691,0,0,4468,4467,1,0,0,0,4468,4469,1,0,0,0,4469,4470,1,0,0,0,4470,4472,5,176,0,0,4471,4473,5,589,0,0,4472,4471,1,0,0,0,4472,4473,1,0,0,0,4473,4474,1,0,0,0,4474,4475,3,706,353,0,4475,333,1,0,0,0,4476,4477,5,140,0,0,4477,4478,5,589,0,0,4478,4479,3,706,353,0,4479,335,1,0,0,0,4480,4481,5,104,0,0,4481,4482,7,61,0,0,4482,4487,3,346,173,0,4483,4484,5,868,0,0,4484,4486,3,346,173,0,4485,4483,1,0,0,0,4486,4489,1,0,0,0,4487,4485,1,0,0,0,4487,4488,1,0,0,0,4488,337,1,0,0,0,4489,4487,1,0,0,0,4490,4491,5,183,0,0,4491,4492,5,752,0,0,4492,339,1,0,0,0,4493,4494,5,155,0,0,4494,4495,5,313,0,0,4495,4496,5,857,0,0,4496,4497,7,26,0,0,4497,341,1,0,0,0,4498,4500,5,155,0,0,4499,4501,7,62,0,0,4500,4499,1,0,0,0,4500,4501,1,0,0,0,4501,4502,1,0,0,0,4502,4503,5,664,0,0,4503,4508,3,350,175,0,4504,4505,5,868,0,0,4505,4507,3,350,175,0,4506,4504,1,0,0,0,4507,4510,1,0,0,0,4508,4506,1,0,0,0,4508,4509,1,0,0,0,4509,343,1,0,0,0,4510,4508,1,0,0,0,4511,4512,5,194,0,0,4512,4513,5,350,0,0,4513,4519,5,600,0,0,4514,4515,5,135,0,0,4515,4519,5,195,0,0,4516,4517,5,135,0,0,4517,4519,5,515,0,0,4518,4511,1,0,0,0,4518,4514,1,0,0,0,4518,4516,1,0,0,0,4519,345,1,0,0,0,4520,4525,3,652,326,0,4521,4523,5,13,0,0,4522,4521,1,0,0,0,4522,4523,1,0,0,0,4523,4524,1,0,0,0,4524,4526,3,706,353,0,4525,4522,1,0,0,0,4525,4526,1,0,0,0,4526,4527,1,0,0,0,4527,4528,3,348,174,0,4528,347,1,0,0,0,4529,4531,5,135,0,0,4530,4532,5,450,0,0,4531,4530,1,0,0,0,4531,4532,1,0,0,0,4532,4538,1,0,0,0,4533,4535,5,107,0,0,4534,4533,1,0,0,0,4534,4535,1,0,0,0,4535,4536,1,0,0,0,4536,4538,5,195,0,0,4537,4529,1,0,0,0,4537,4534,1,0,0,0,4538,349,1,0,0,0,4539,4540,5,440,0,0,4540,4541,5,448,0,0,4541,4547,3,352,176,0,4542,4543,5,135,0,0,4543,4547,5,195,0,0,4544,4545,5,135,0,0,4545,4547,5,515,0,0,4546,4539,1,0,0,0,4546,4542,1,0,0,0,4546,4544,1,0,0,0,4547,351,1,0,0,0,4548,4549,5,809,0,0,4549,4556,5,135,0,0,4550,4551,5,135,0,0,4551,4556,5,810,0,0,4552,4553,5,135,0,0,4553,4556,5,811,0,0,4554,4556,5,812,0,0,4555,4548,1,0,0,0,4555,4550,1,0,0,0,4555,4552,1,0,0,0,4555,4554,1,0,0,0,4556,353,1,0,0,0,4557,4558,5,25,0,0,4558,4559,5,453,0,0,4559,4560,5,176,0,0,4560,4565,3,370,185,0,4561,4562,5,868,0,0,4562,4564,3,370,185,0,4563,4561,1,0,0,0,4564,4567,1,0,0,0,4565,4563,1,0,0,0,4565,4566,1,0,0,0,4566,4569,1,0,0,0,4567,4565,1,0,0,0,4568,4570,3,390,195,0,4569,4568,1,0,0,0,4569,4570,1,0,0,0,4570,355,1,0,0,0,4571,4572,5,25,0,0,4572,4573,5,572,0,0,4573,4574,5,400,0,0,4574,4579,3,392,196,0,4575,4576,5,868,0,0,4576,4578,3,392,196,0,4577,4575,1,0,0,0,4578,4581,1,0,0,0,4579,4577,1,0,0,0,4579,4580,1,0,0,0,4580,4583,1,0,0,0,4581,4579,1,0,0,0,4582,4584,3,390,195,0,4583,4582,1,0,0,0,4583,4584,1,0,0,0,4584,357,1,0,0,0,4585,4586,5,25,0,0,4586,4587,5,572,0,0,4587,4588,5,605,0,0,4588,4589,5,176,0,0,4589,4594,3,380,190,0,4590,4591,5,868,0,0,4591,4593,3,380,190,0,4592,4590,1,0,0,0,4593,4596,1,0,0,0,4594,4592,1,0,0,0,4594,4595,1,0,0,0,4595,4598,1,0,0,0,4596,4594,1,0,0,0,4597,4599,3,390,195,0,4598,4597,1,0,0,0,4598,4599,1,0,0,0,4599,359,1,0,0,0,4600,4601,5,133,0,0,4601,4602,7,63,0,0,4602,4607,5,452,0,0,4603,4604,5,176,0,0,4604,4608,5,882,0,0,4605,4606,5,16,0,0,4606,4608,5,882,0,0,4607,4603,1,0,0,0,4607,4605,1,0,0,0,4608,361,1,0,0,0,4609,4610,5,640,0,0,4610,4619,7,64,0,0,4611,4616,3,396,198,0,4612,4613,5,868,0,0,4613,4615,3,396,198,0,4614,4612,1,0,0,0,4615,4618,1,0,0,0,4616,4614,1,0,0,0,4616,4617,1,0,0,0,4617,4620,1,0,0,0,4618,4616,1,0,0,0,4619,4611,1,0,0,0,4619,4620,1,0,0,0,4620,4623,1,0,0,0,4621,4622,5,676,0,0,4622,4624,3,398,199,0,4623,4621,1,0,0,0,4623,4624,1,0,0,0,4624,4628,1,0,0,0,4625,4627,3,400,200,0,4626,4625,1,0,0,0,4627,4630,1,0,0,0,4628,4626,1,0,0,0,4628,4629,1,0,0,0,4629,4632,1,0,0,0,4630,4628,1,0,0,0,4631,4633,3,390,195,0,4632,4631,1,0,0,0,4632,4633,1,0,0,0,4633,363,1,0,0,0,4634,4635,5,646,0,0,4635,4644,7,64,0,0,4636,4641,3,396,198,0,4637,4638,5,868,0,0,4638,4640,3,396,198,0,4639,4637,1,0,0,0,4640,4643,1,0,0,0,4641,4639,1,0,0,0,4641,4642,1,0,0,0,4642,4645,1,0,0,0,4643,4641,1,0,0,0,4644,4636,1,0,0,0,4644,4645,1,0,0,0,4645,4647,1,0,0,0,4646,4648,3,390,195,0,4647,4646,1,0,0,0,4647,4648,1,0,0,0,4648,365,1,0,0,0,4649,4650,5,640,0,0,4650,4654,5,415,0,0,4651,4652,5,678,0,0,4652,4653,5,857,0,0,4653,4655,5,882,0,0,4654,4651,1,0,0,0,4654,4655,1,0,0,0,4655,4660,1,0,0,0,4656,4657,5,868,0,0,4657,4658,5,529,0,0,4658,4659,5,857,0,0,4659,4661,5,882,0,0,4660,4656,1,0,0,0,4660,4661,1,0,0,0,4661,4666,1,0,0,0,4662,4663,5,868,0,0,4663,4664,5,363,0,0,4664,4665,5,857,0,0,4665,4667,5,882,0,0,4666,4662,1,0,0,0,4666,4667,1,0,0,0,4667,367,1,0,0,0,4668,4669,5,646,0,0,4669,4670,5,415,0,0,4670,369,1,0,0,0,4671,4672,3,372,186,0,4672,4673,5,857,0,0,4673,4674,5,882,0,0,4674,4699,1,0,0,0,4675,4676,3,374,187,0,4676,4677,5,857,0,0,4677,4678,3,712,356,0,4678,4699,1,0,0,0,4679,4680,3,376,188,0,4680,4681,5,857,0,0,4681,4682,7,26,0,0,4682,4699,1,0,0,0,4683,4699,3,378,189,0,4684,4685,5,424,0,0,4685,4686,5,857,0,0,4686,4695,5,866,0,0,4687,4692,3,706,353,0,4688,4689,5,868,0,0,4689,4691,3,706,353,0,4690,4688,1,0,0,0,4691,4694,1,0,0,0,4692,4690,1,0,0,0,4692,4693,1,0,0,0,4693,4696,1,0,0,0,4694,4692,1,0,0,0,4695,4687,1,0,0,0,4695,4696,1,0,0,0,4696,4697,1,0,0,0,4697,4699,5,867,0,0,4698,4671,1,0,0,0,4698,4675,1,0,0,0,4698,4679,1,0,0,0,4698,4683,1,0,0,0,4698,4684,1,0,0,0,4699,371,1,0,0,0,4700,4701,7,65,0,0,4701,373,1,0,0,0,4702,4703,7,66,0,0,4703,375,1,0,0,0,4704,4705,7,67,0,0,4705,377,1,0,0,0,4706,4707,5,543,0,0,4707,4708,5,857,0,0,4708,4720,7,68,0,0,4709,4710,5,574,0,0,4710,4711,5,857,0,0,4711,4720,7,69,0,0,4712,4713,5,310,0,0,4713,4717,5,857,0,0,4714,4718,5,507,0,0,4715,4718,5,450,0,0,4716,4718,3,402,201,0,4717,4714,1,0,0,0,4717,4715,1,0,0,0,4717,4716,1,0,0,0,4718,4720,1,0,0,0,4719,4706,1,0,0,0,4719,4709,1,0,0,0,4719,4712,1,0,0,0,4720,379,1,0,0,0,4721,4722,3,382,191,0,4722,4723,5,857,0,0,4723,4724,5,882,0,0,4724,4749,1,0,0,0,4725,4726,3,384,192,0,4726,4727,5,857,0,0,4727,4728,3,712,356,0,4728,4749,1,0,0,0,4729,4730,3,386,193,0,4730,4731,5,857,0,0,4731,4732,7,26,0,0,4732,4749,1,0,0,0,4733,4749,3,388,194,0,4734,4735,5,424,0,0,4735,4736,5,857,0,0,4736,4745,5,866,0,0,4737,4742,3,706,353,0,4738,4739,5,868,0,0,4739,4741,3,706,353,0,4740,4738,1,0,0,0,4741,4744,1,0,0,0,4742,4740,1,0,0,0,4742,4743,1,0,0,0,4743,4746,1,0,0,0,4744,4742,1,0,0,0,4745,4737,1,0,0,0,4745,4746,1,0,0,0,4746,4747,1,0,0,0,4747,4749,5,867,0,0,4748,4721,1,0,0,0,4748,4725,1,0,0,0,4748,4729,1,0,0,0,4748,4733,1,0,0,0,4748,4734,1,0,0,0,4749,381,1,0,0,0,4750,4751,7,70,0,0,4751,383,1,0,0,0,4752,4753,7,71,0,0,4753,385,1,0,0,0,4754,4755,7,72,0,0,4755,387,1,0,0,0,4756,4757,5,543,0,0,4757,4758,5,857,0,0,4758,4770,7,68,0,0,4759,4760,5,574,0,0,4760,4761,5,857,0,0,4761,4770,7,73,0,0,4762,4763,5,310,0,0,4763,4767,5,857,0,0,4764,4768,5,507,0,0,4765,4768,5,450,0,0,4766,4768,3,402,201,0,4767,4764,1,0,0,0,4767,4765,1,0,0,0,4767,4766,1,0,0,0,4768,4770,1,0,0,0,4769,4756,1,0,0,0,4769,4759,1,0,0,0,4769,4762,1,0,0,0,4770,389,1,0,0,0,4771,4772,5,65,0,0,4772,4773,5,328,0,0,4773,4774,5,882,0,0,4774,391,1,0,0,0,4775,4776,5,565,0,0,4776,4777,5,857,0,0,4777,4778,5,866,0,0,4778,4783,3,628,314,0,4779,4780,5,868,0,0,4780,4782,3,628,314,0,4781,4779,1,0,0,0,4782,4785,1,0,0,0,4783,4781,1,0,0,0,4783,4784,1,0,0,0,4784,4786,1,0,0,0,4785,4783,1,0,0,0,4786,4787,5,867,0,0,4787,4839,1,0,0,0,4788,4789,5,567,0,0,4789,4790,5,857,0,0,4790,4791,5,866,0,0,4791,4796,3,628,314,0,4792,4793,5,868,0,0,4793,4795,3,628,314,0,4794,4792,1,0,0,0,4795,4798,1,0,0,0,4796,4794,1,0,0,0,4796,4797,1,0,0,0,4797,4799,1,0,0,0,4798,4796,1,0,0,0,4799,4800,5,867,0,0,4800,4839,1,0,0,0,4801,4802,5,566,0,0,4802,4803,5,857,0,0,4803,4804,5,866,0,0,4804,4805,3,650,325,0,4805,4806,5,867,0,0,4806,4839,1,0,0,0,4807,4808,5,568,0,0,4808,4809,5,857,0,0,4809,4810,5,866,0,0,4810,4811,3,650,325,0,4811,4812,5,867,0,0,4812,4839,1,0,0,0,4813,4814,5,570,0,0,4814,4815,5,857,0,0,4815,4816,5,866,0,0,4816,4817,3,750,375,0,4817,4818,5,867,0,0,4818,4839,1,0,0,0,4819,4820,5,571,0,0,4820,4821,5,857,0,0,4821,4822,5,866,0,0,4822,4823,3,750,375,0,4823,4824,5,867,0,0,4824,4839,1,0,0,0,4825,4826,5,569,0,0,4826,4827,5,857,0,0,4827,4828,5,866,0,0,4828,4833,3,394,197,0,4829,4830,5,868,0,0,4830,4832,3,394,197,0,4831,4829,1,0,0,0,4832,4835,1,0,0,0,4833,4831,1,0,0,0,4833,4834,1,0,0,0,4834,4836,1,0,0,0,4835,4833,1,0,0,0,4836,4837,5,867,0,0,4837,4839,1,0,0,0,4838,4775,1,0,0,0,4838,4788,1,0,0,0,4838,4801,1,0,0,0,4838,4807,1,0,0,0,4838,4813,1,0,0,0,4838,4819,1,0,0,0,4838,4825,1,0,0,0,4839,393,1,0,0,0,4840,4841,5,866,0,0,4841,4842,3,652,326,0,4842,4843,5,868,0,0,4843,4844,3,652,326,0,4844,4845,5,867,0,0,4845,395,1,0,0,0,4846,4847,7,74,0,0,4847,397,1,0,0,0,4848,4849,7,75,0,0,4849,4850,5,857,0,0,4850,4874,3,402,201,0,4851,4852,5,460,0,0,4852,4853,5,857,0,0,4853,4854,5,882,0,0,4854,4855,5,868,0,0,4855,4856,5,461,0,0,4856,4857,5,857,0,0,4857,4874,3,712,356,0,4858,4859,5,611,0,0,4859,4860,5,857,0,0,4860,4861,5,882,0,0,4861,4862,5,868,0,0,4862,4863,5,612,0,0,4863,4864,5,857,0,0,4864,4874,3,712,356,0,4865,4866,5,557,0,0,4866,4867,5,857,0,0,4867,4868,5,882,0,0,4868,4869,5,868,0,0,4869,4870,5,558,0,0,4870,4871,5,857,0,0,4871,4874,3,712,356,0,4872,4874,5,634,0,0,4873,4848,1,0,0,0,4873,4851,1,0,0,0,4873,4858,1,0,0,0,4873,4865,1,0,0,0,4873,4872,1,0,0,0,4874,399,1,0,0,0,4875,4876,5,678,0,0,4876,4877,5,857,0,0,4877,4888,5,882,0,0,4878,4879,5,529,0,0,4879,4880,5,857,0,0,4880,4888,5,882,0,0,4881,4882,5,363,0,0,4882,4883,5,857,0,0,4883,4888,5,882,0,0,4884,4885,5,535,0,0,4885,4886,5,857,0,0,4886,4888,5,882,0,0,4887,4875,1,0,0,0,4887,4878,1,0,0,0,4887,4881,1,0,0,0,4887,4884,1,0,0,0,4888,401,1,0,0,0,4889,4894,3,696,348,0,4890,4891,5,868,0,0,4891,4893,3,696,348,0,4892,4890,1,0,0,0,4893,4896,1,0,0,0,4894,4892,1,0,0,0,4894,4895,1,0,0,0,4895,4899,1,0,0,0,4896,4894,1,0,0,0,4897,4899,5,882,0,0,4898,4889,1,0,0,0,4898,4897,1,0,0,0,4899,403,1,0,0,0,4900,4901,5,694,0,0,4901,4902,7,76,0,0,4902,4904,3,698,349,0,4903,4905,7,77,0,0,4904,4903,1,0,0,0,4904,4905,1,0,0,0,4905,405,1,0,0,0,4906,4907,5,694,0,0,4907,4908,5,378,0,0,4908,4914,3,698,349,0,4909,4912,5,654,0,0,4910,4911,5,65,0,0,4911,4913,5,489,0,0,4912,4910,1,0,0,0,4912,4913,1,0,0,0,4913,4915,1,0,0,0,4914,4909,1,0,0,0,4914,4915,1,0,0,0,4915,407,1,0,0,0,4916,4917,5,694,0,0,4917,4918,5,540,0,0,4918,4919,3,698,349,0,4919,409,1,0,0,0,4920,4921,5,694,0,0,4921,4922,5,341,0,0,4922,4925,3,698,349,0,4923,4924,5,513,0,0,4924,4926,5,533,0,0,4925,4923,1,0,0,0,4925,4926,1,0,0,0,4926,411,1,0,0,0,4927,4928,5,694,0,0,4928,4929,5,583,0,0,4929,4930,3,698,349,0,4930,413,1,0,0,0,4931,4932,5,694,0,0,4932,4935,5,551,0,0,4933,4934,5,33,0,0,4934,4936,3,698,349,0,4935,4933,1,0,0,0,4935,4936,1,0,0,0,4936,415,1,0,0,0,4937,4938,5,540,0,0,4938,4939,3,706,353,0,4939,4942,5,68,0,0,4940,4943,5,882,0,0,4941,4943,5,892,0,0,4942,4940,1,0,0,0,4942,4941,1,0,0,0,4943,417,1,0,0,0,4944,4945,5,717,0,0,4945,4948,3,706,353,0,4946,4947,5,188,0,0,4947,4949,3,752,376,0,4948,4946,1,0,0,0,4948,4949,1,0,0,0,4949,419,1,0,0,0,4950,4951,7,78,0,0,4951,4952,5,540,0,0,4952,4953,3,706,353,0,4953,421,1,0,0,0,4954,4957,3,424,212,0,4955,4957,3,4,2,0,4956,4954,1,0,0,0,4956,4955,1,0,0,0,4957,423,1,0,0,0,4958,4959,3,706,353,0,4959,4960,5,878,0,0,4960,4962,1,0,0,0,4961,4958,1,0,0,0,4961,4962,1,0,0,0,4962,4963,1,0,0,0,4963,4969,5,317,0,0,4964,4965,3,444,222,0,4965,4966,5,869,0,0,4966,4968,1,0,0,0,4967,4964,1,0,0,0,4968,4971,1,0,0,0,4969,4967,1,0,0,0,4969,4970,1,0,0,0,4970,4977,1,0,0,0,4971,4969,1,0,0,0,4972,4973,3,446,223,0,4973,4974,5,869,0,0,4974,4976,1,0,0,0,4975,4972,1,0,0,0,4976,4979,1,0,0,0,4977,4975,1,0,0,0,4977,4978,1,0,0,0,4978,4985,1,0,0,0,4979,4977,1,0,0,0,4980,4981,3,448,224,0,4981,4982,5,869,0,0,4982,4984,1,0,0,0,4983,4980,1,0,0,0,4984,4987,1,0,0,0,4985,4983,1,0,0,0,4985,4986,1,0,0,0,4986,4993,1,0,0,0,4987,4985,1,0,0,0,4988,4989,3,450,225,0,4989,4990,5,869,0,0,4990,4992,1,0,0,0,4991,4988,1,0,0,0,4992,4995,1,0,0,0,4993,4991,1,0,0,0,4993,4994,1,0,0,0,4994,4999,1,0,0,0,4995,4993,1,0,0,0,4996,4998,3,454,227,0,4997,4996,1,0,0,0,4998,5001,1,0,0,0,4999,4997,1,0,0,0,4999,5e3,1,0,0,0,5e3,5002,1,0,0,0,5001,4999,1,0,0,0,5002,5004,5,378,0,0,5003,5005,3,706,353,0,5004,5003,1,0,0,0,5004,5005,1,0,0,0,5005,425,1,0,0,0,5006,5009,5,23,0,0,5007,5010,3,706,353,0,5008,5010,3,804,402,0,5009,5007,1,0,0,0,5009,5008,1,0,0,0,5009,5010,1,0,0,0,5010,5012,1,0,0,0,5011,5013,3,456,228,0,5012,5011,1,0,0,0,5013,5014,1,0,0,0,5014,5012,1,0,0,0,5014,5015,1,0,0,0,5015,5022,1,0,0,0,5016,5018,5,53,0,0,5017,5019,3,454,227,0,5018,5017,1,0,0,0,5019,5020,1,0,0,0,5020,5018,1,0,0,0,5020,5021,1,0,0,0,5021,5023,1,0,0,0,5022,5016,1,0,0,0,5022,5023,1,0,0,0,5023,5024,1,0,0,0,5024,5025,5,378,0,0,5025,5026,5,23,0,0,5026,427,1,0,0,0,5027,5028,5,78,0,0,5028,5029,3,804,402,0,5029,5031,5,175,0,0,5030,5032,3,454,227,0,5031,5030,1,0,0,0,5032,5033,1,0,0,0,5033,5031,1,0,0,0,5033,5034,1,0,0,0,5034,5038,1,0,0,0,5035,5037,3,458,229,0,5036,5035,1,0,0,0,5037,5040,1,0,0,0,5038,5036,1,0,0,0,5038,5039,1,0,0,0,5039,5047,1,0,0,0,5040,5038,1,0,0,0,5041,5043,5,53,0,0,5042,5044,3,454,227,0,5043,5042,1,0,0,0,5044,5045,1,0,0,0,5045,5043,1,0,0,0,5045,5046,1,0,0,0,5046,5048,1,0,0,0,5047,5041,1,0,0,0,5047,5048,1,0,0,0,5048,5049,1,0,0,0,5049,5050,5,378,0,0,5050,5051,5,78,0,0,5051,429,1,0,0,0,5052,5053,5,90,0,0,5053,5054,3,706,353,0,5054,431,1,0,0,0,5055,5056,5,97,0,0,5056,5057,3,706,353,0,5057,433,1,0,0,0,5058,5059,3,706,353,0,5059,5060,5,878,0,0,5060,5062,1,0,0,0,5061,5058,1,0,0,0,5061,5062,1,0,0,0,5062,5063,1,0,0,0,5063,5065,5,106,0,0,5064,5066,3,454,227,0,5065,5064,1,0,0,0,5066,5067,1,0,0,0,5067,5065,1,0,0,0,5067,5068,1,0,0,0,5068,5069,1,0,0,0,5069,5070,5,378,0,0,5070,5072,5,106,0,0,5071,5073,3,706,353,0,5072,5071,1,0,0,0,5072,5073,1,0,0,0,5073,435,1,0,0,0,5074,5075,3,706,353,0,5075,5076,5,878,0,0,5076,5078,1,0,0,0,5077,5074,1,0,0,0,5077,5078,1,0,0,0,5078,5079,1,0,0,0,5079,5081,5,142,0,0,5080,5082,3,454,227,0,5081,5080,1,0,0,0,5082,5083,1,0,0,0,5083,5081,1,0,0,0,5083,5084,1,0,0,0,5084,5085,1,0,0,0,5085,5086,5,676,0,0,5086,5087,3,804,402,0,5087,5088,5,378,0,0,5088,5090,5,142,0,0,5089,5091,3,706,353,0,5090,5089,1,0,0,0,5090,5091,1,0,0,0,5091,437,1,0,0,0,5092,5093,5,148,0,0,5093,5094,3,804,402,0,5094,439,1,0,0,0,5095,5096,3,706,353,0,5096,5097,5,878,0,0,5097,5099,1,0,0,0,5098,5095,1,0,0,0,5098,5099,1,0,0,0,5099,5100,1,0,0,0,5100,5101,5,193,0,0,5101,5102,3,804,402,0,5102,5104,5,371,0,0,5103,5105,3,454,227,0,5104,5103,1,0,0,0,5105,5106,1,0,0,0,5106,5104,1,0,0,0,5106,5107,1,0,0,0,5107,5108,1,0,0,0,5108,5109,5,378,0,0,5109,5111,5,193,0,0,5110,5112,3,706,353,0,5111,5110,1,0,0,0,5111,5112,1,0,0,0,5112,441,1,0,0,0,5113,5114,5,334,0,0,5114,5129,3,706,353,0,5115,5120,5,64,0,0,5116,5118,5,501,0,0,5117,5116,1,0,0,0,5117,5118,1,0,0,0,5118,5119,1,0,0,0,5119,5121,5,68,0,0,5120,5117,1,0,0,0,5120,5121,1,0,0,0,5121,5122,1,0,0,0,5122,5123,3,706,353,0,5123,5124,5,88,0,0,5124,5125,3,704,352,0,5125,5129,1,0,0,0,5126,5127,5,516,0,0,5127,5129,3,706,353,0,5128,5113,1,0,0,0,5128,5115,1,0,0,0,5128,5126,1,0,0,0,5129,443,1,0,0,0,5130,5131,5,41,0,0,5131,5132,3,704,352,0,5132,5135,3,726,363,0,5133,5134,5,42,0,0,5134,5136,3,804,402,0,5135,5133,1,0,0,0,5135,5136,1,0,0,0,5136,445,1,0,0,0,5137,5138,5,41,0,0,5138,5139,3,706,353,0,5139,5140,5,30,0,0,5140,5147,5,65,0,0,5141,5148,3,712,356,0,5142,5144,5,164,0,0,5143,5145,5,682,0,0,5144,5143,1,0,0,0,5144,5145,1,0,0,0,5145,5146,1,0,0,0,5146,5148,5,882,0,0,5147,5141,1,0,0,0,5147,5142,1,0,0,0,5148,447,1,0,0,0,5149,5150,5,41,0,0,5150,5151,3,706,353,0,5151,5152,5,38,0,0,5152,5153,5,65,0,0,5153,5154,3,210,105,0,5154,449,1,0,0,0,5155,5156,5,41,0,0,5156,5157,7,79,0,0,5157,5158,5,417,0,0,5158,5159,5,65,0,0,5159,5164,3,452,226,0,5160,5161,5,868,0,0,5161,5163,3,452,226,0,5162,5160,1,0,0,0,5163,5166,1,0,0,0,5164,5162,1,0,0,0,5164,5165,1,0,0,0,5165,5167,1,0,0,0,5166,5164,1,0,0,0,5167,5168,3,422,211,0,5168,451,1,0,0,0,5169,5181,3,712,356,0,5170,5172,5,164,0,0,5171,5173,5,682,0,0,5172,5171,1,0,0,0,5172,5173,1,0,0,0,5173,5174,1,0,0,0,5174,5181,5,882,0,0,5175,5181,3,706,353,0,5176,5181,5,165,0,0,5177,5178,5,114,0,0,5178,5181,5,407,0,0,5179,5181,5,163,0,0,5180,5169,1,0,0,0,5180,5170,1,0,0,0,5180,5175,1,0,0,0,5180,5176,1,0,0,0,5180,5177,1,0,0,0,5180,5179,1,0,0,0,5181,453,1,0,0,0,5182,5185,3,18,9,0,5183,5185,3,4,2,0,5184,5182,1,0,0,0,5184,5183,1,0,0,0,5185,5186,1,0,0,0,5186,5187,5,869,0,0,5187,455,1,0,0,0,5188,5191,5,191,0,0,5189,5192,3,724,362,0,5190,5192,3,804,402,0,5191,5189,1,0,0,0,5191,5190,1,0,0,0,5192,5193,1,0,0,0,5193,5195,5,175,0,0,5194,5196,3,454,227,0,5195,5194,1,0,0,0,5196,5197,1,0,0,0,5197,5195,1,0,0,0,5197,5198,1,0,0,0,5198,457,1,0,0,0,5199,5200,5,54,0,0,5200,5201,3,804,402,0,5201,5203,5,175,0,0,5202,5204,3,454,227,0,5203,5202,1,0,0,0,5204,5205,1,0,0,0,5205,5203,1,0,0,0,5205,5206,1,0,0,0,5206,459,1,0,0,0,5207,5208,5,8,0,0,5208,5210,5,678,0,0,5209,5211,3,758,379,0,5210,5209,1,0,0,0,5210,5211,1,0,0,0,5211,5268,1,0,0,0,5212,5217,3,492,246,0,5213,5214,5,868,0,0,5214,5216,3,492,246,0,5215,5213,1,0,0,0,5216,5219,1,0,0,0,5217,5215,1,0,0,0,5217,5218,1,0,0,0,5218,5269,1,0,0,0,5219,5217,1,0,0,0,5220,5225,3,494,247,0,5221,5222,5,868,0,0,5222,5224,3,494,247,0,5223,5221,1,0,0,0,5224,5227,1,0,0,0,5225,5223,1,0,0,0,5225,5226,1,0,0,0,5226,5242,1,0,0,0,5227,5225,1,0,0,0,5228,5240,5,144,0,0,5229,5241,5,505,0,0,5230,5237,3,506,253,0,5231,5233,5,11,0,0,5232,5231,1,0,0,0,5232,5233,1,0,0,0,5233,5234,1,0,0,0,5234,5236,3,506,253,0,5235,5232,1,0,0,0,5236,5239,1,0,0,0,5237,5235,1,0,0,0,5237,5238,1,0,0,0,5238,5241,1,0,0,0,5239,5237,1,0,0,0,5240,5229,1,0,0,0,5240,5230,1,0,0,0,5241,5243,1,0,0,0,5242,5228,1,0,0,0,5242,5243,1,0,0,0,5243,5250,1,0,0,0,5244,5246,5,194,0,0,5245,5247,3,508,254,0,5246,5245,1,0,0,0,5247,5248,1,0,0,0,5248,5246,1,0,0,0,5248,5249,1,0,0,0,5249,5251,1,0,0,0,5250,5244,1,0,0,0,5250,5251,1,0,0,0,5251,5256,1,0,0,0,5252,5255,3,510,255,0,5253,5255,3,512,256,0,5254,5252,1,0,0,0,5254,5253,1,0,0,0,5255,5258,1,0,0,0,5256,5254,1,0,0,0,5256,5257,1,0,0,0,5257,5261,1,0,0,0,5258,5256,1,0,0,0,5259,5260,7,80,0,0,5260,5262,5,882,0,0,5261,5259,1,0,0,0,5261,5262,1,0,0,0,5262,5269,1,0,0,0,5263,5264,3,656,328,0,5264,5265,5,42,0,0,5265,5266,5,582,0,0,5266,5267,3,468,234,0,5267,5269,1,0,0,0,5268,5212,1,0,0,0,5268,5220,1,0,0,0,5268,5263,1,0,0,0,5269,461,1,0,0,0,5270,5271,5,34,0,0,5271,5273,5,678,0,0,5272,5274,3,760,380,0,5273,5272,1,0,0,0,5273,5274,1,0,0,0,5274,5275,1,0,0,0,5275,5277,3,684,342,0,5276,5278,3,496,248,0,5277,5276,1,0,0,0,5277,5278,1,0,0,0,5278,5286,1,0,0,0,5279,5280,5,868,0,0,5280,5282,3,684,342,0,5281,5283,3,496,248,0,5282,5281,1,0,0,0,5282,5283,1,0,0,0,5283,5285,1,0,0,0,5284,5279,1,0,0,0,5285,5288,1,0,0,0,5286,5284,1,0,0,0,5286,5287,1,0,0,0,5287,5292,1,0,0,0,5288,5286,1,0,0,0,5289,5290,5,42,0,0,5290,5291,5,582,0,0,5291,5293,3,468,234,0,5292,5289,1,0,0,0,5292,5293,1,0,0,0,5293,5308,1,0,0,0,5294,5306,5,144,0,0,5295,5307,5,505,0,0,5296,5303,3,506,253,0,5297,5299,5,11,0,0,5298,5297,1,0,0,0,5298,5299,1,0,0,0,5299,5300,1,0,0,0,5300,5302,3,506,253,0,5301,5298,1,0,0,0,5302,5305,1,0,0,0,5303,5301,1,0,0,0,5303,5304,1,0,0,0,5304,5307,1,0,0,0,5305,5303,1,0,0,0,5306,5295,1,0,0,0,5306,5296,1,0,0,0,5307,5309,1,0,0,0,5308,5294,1,0,0,0,5308,5309,1,0,0,0,5309,5316,1,0,0,0,5310,5312,5,194,0,0,5311,5313,3,508,254,0,5312,5311,1,0,0,0,5313,5314,1,0,0,0,5314,5312,1,0,0,0,5314,5315,1,0,0,0,5315,5317,1,0,0,0,5316,5310,1,0,0,0,5316,5317,1,0,0,0,5317,5322,1,0,0,0,5318,5321,3,510,255,0,5319,5321,3,512,256,0,5320,5318,1,0,0,0,5320,5319,1,0,0,0,5321,5324,1,0,0,0,5322,5320,1,0,0,0,5322,5323,1,0,0,0,5323,5327,1,0,0,0,5324,5322,1,0,0,0,5325,5326,7,80,0,0,5326,5328,5,882,0,0,5327,5325,1,0,0,0,5327,5328,1,0,0,0,5328,463,1,0,0,0,5329,5330,5,51,0,0,5330,5332,5,678,0,0,5331,5333,3,758,379,0,5332,5331,1,0,0,0,5332,5333,1,0,0,0,5333,5334,1,0,0,0,5334,5339,3,684,342,0,5335,5336,5,868,0,0,5336,5338,3,684,342,0,5337,5335,1,0,0,0,5338,5341,1,0,0,0,5339,5337,1,0,0,0,5339,5340,1,0,0,0,5340,465,1,0,0,0,5341,5339,1,0,0,0,5342,5343,5,73,0,0,5343,5348,3,520,260,0,5344,5345,5,868,0,0,5345,5347,3,520,260,0,5346,5344,1,0,0,0,5347,5350,1,0,0,0,5348,5346,1,0,0,0,5348,5349,1,0,0,0,5349,5351,1,0,0,0,5350,5348,1,0,0,0,5351,5353,5,119,0,0,5352,5354,3,488,244,0,5353,5352,1,0,0,0,5353,5354,1,0,0,0,5354,5355,1,0,0,0,5355,5356,3,524,262,0,5356,5366,5,176,0,0,5357,5362,3,500,250,0,5358,5359,5,868,0,0,5359,5361,3,500,250,0,5360,5358,1,0,0,0,5361,5364,1,0,0,0,5362,5360,1,0,0,0,5362,5363,1,0,0,0,5363,5367,1,0,0,0,5364,5362,1,0,0,0,5365,5367,3,654,327,0,5366,5357,1,0,0,0,5366,5365,1,0,0,0,5367,5382,1,0,0,0,5368,5380,5,144,0,0,5369,5381,5,505,0,0,5370,5377,3,506,253,0,5371,5373,5,11,0,0,5372,5371,1,0,0,0,5372,5373,1,0,0,0,5373,5374,1,0,0,0,5374,5376,3,506,253,0,5375,5372,1,0,0,0,5376,5379,1,0,0,0,5377,5375,1,0,0,0,5377,5378,1,0,0,0,5378,5381,1,0,0,0,5379,5377,1,0,0,0,5380,5369,1,0,0,0,5380,5370,1,0,0,0,5381,5383,1,0,0,0,5382,5368,1,0,0,0,5382,5383,1,0,0,0,5383,5393,1,0,0,0,5384,5390,5,194,0,0,5385,5386,5,73,0,0,5386,5389,5,121,0,0,5387,5389,3,508,254,0,5388,5385,1,0,0,0,5388,5387,1,0,0,0,5389,5392,1,0,0,0,5390,5388,1,0,0,0,5390,5391,1,0,0,0,5391,5394,1,0,0,0,5392,5390,1,0,0,0,5393,5384,1,0,0,0,5393,5394,1,0,0,0,5394,5402,1,0,0,0,5395,5396,5,13,0,0,5396,5400,3,684,342,0,5397,5398,5,194,0,0,5398,5399,5,582,0,0,5399,5401,3,468,234,0,5400,5397,1,0,0,0,5400,5401,1,0,0,0,5401,5403,1,0,0,0,5402,5395,1,0,0,0,5402,5403,1,0,0,0,5403,5432,1,0,0,0,5404,5407,5,73,0,0,5405,5406,5,547,0,0,5406,5408,5,119,0,0,5407,5405,1,0,0,0,5407,5408,1,0,0,0,5408,5409,1,0,0,0,5409,5414,3,656,328,0,5410,5411,5,868,0,0,5411,5413,3,656,328,0,5412,5410,1,0,0,0,5413,5416,1,0,0,0,5414,5412,1,0,0,0,5414,5415,1,0,0,0,5415,5417,1,0,0,0,5416,5414,1,0,0,0,5417,5418,5,176,0,0,5418,5423,3,656,328,0,5419,5420,5,868,0,0,5420,5422,3,656,328,0,5421,5419,1,0,0,0,5422,5425,1,0,0,0,5423,5421,1,0,0,0,5423,5424,1,0,0,0,5424,5429,1,0,0,0,5425,5423,1,0,0,0,5426,5427,5,194,0,0,5427,5428,5,704,0,0,5428,5430,5,121,0,0,5429,5426,1,0,0,0,5429,5430,1,0,0,0,5430,5432,1,0,0,0,5431,5342,1,0,0,0,5431,5404,1,0,0,0,5432,467,1,0,0,0,5433,5442,5,42,0,0,5434,5442,5,505,0,0,5435,5438,5,7,0,0,5436,5437,5,59,0,0,5437,5439,3,654,327,0,5438,5436,1,0,0,0,5438,5439,1,0,0,0,5439,5442,1,0,0,0,5440,5442,3,654,327,0,5441,5433,1,0,0,0,5441,5434,1,0,0,0,5441,5435,1,0,0,0,5441,5440,1,0,0,0,5442,469,1,0,0,0,5443,5444,5,73,0,0,5444,5445,5,547,0,0,5445,5446,5,119,0,0,5446,5447,3,684,342,0,5447,5448,5,176,0,0,5448,5453,3,684,342,0,5449,5450,5,868,0,0,5450,5452,3,684,342,0,5451,5449,1,0,0,0,5452,5455,1,0,0,0,5453,5451,1,0,0,0,5453,5454,1,0,0,0,5454,5459,1,0,0,0,5455,5453,1,0,0,0,5456,5457,5,194,0,0,5457,5458,5,73,0,0,5458,5460,5,121,0,0,5459,5456,1,0,0,0,5459,5460,1,0,0,0,5460,471,1,0,0,0,5461,5462,5,8,0,0,5462,5463,5,739,0,0,5463,5464,5,74,0,0,5464,5470,3,646,323,0,5465,5467,5,190,0,0,5466,5468,5,857,0,0,5467,5466,1,0,0,0,5467,5468,1,0,0,0,5468,5469,1,0,0,0,5469,5471,3,480,240,0,5470,5465,1,0,0,0,5470,5471,1,0,0,0,5471,5477,1,0,0,0,5472,5474,5,837,0,0,5473,5475,5,857,0,0,5474,5473,1,0,0,0,5474,5475,1,0,0,0,5475,5476,1,0,0,0,5476,5478,3,712,356,0,5477,5472,1,0,0,0,5477,5478,1,0,0,0,5478,5483,1,0,0,0,5479,5481,7,39,0,0,5480,5482,5,66,0,0,5481,5480,1,0,0,0,5481,5482,1,0,0,0,5482,5484,1,0,0,0,5483,5479,1,0,0,0,5483,5484,1,0,0,0,5484,473,1,0,0,0,5485,5486,5,34,0,0,5486,5487,5,739,0,0,5487,5488,5,74,0,0,5488,5489,3,644,322,0,5489,5490,5,839,0,0,5490,5491,5,857,0,0,5491,5497,7,81,0,0,5492,5494,5,190,0,0,5493,5495,5,857,0,0,5494,5493,1,0,0,0,5494,5495,1,0,0,0,5495,5496,1,0,0,0,5496,5498,3,480,240,0,5497,5492,1,0,0,0,5497,5498,1,0,0,0,5498,5504,1,0,0,0,5499,5501,5,837,0,0,5500,5502,5,857,0,0,5501,5500,1,0,0,0,5501,5502,1,0,0,0,5502,5503,1,0,0,0,5503,5505,3,712,356,0,5504,5499,1,0,0,0,5504,5505,1,0,0,0,5505,5507,1,0,0,0,5506,5508,7,39,0,0,5507,5506,1,0,0,0,5507,5508,1,0,0,0,5508,475,1,0,0,0,5509,5510,5,51,0,0,5510,5511,5,739,0,0,5511,5512,5,74,0,0,5512,5514,3,646,323,0,5513,5515,5,66,0,0,5514,5513,1,0,0,0,5514,5515,1,0,0,0,5515,477,1,0,0,0,5516,5517,5,155,0,0,5517,5518,5,739,0,0,5518,5519,5,74,0,0,5519,5529,3,646,323,0,5520,5521,5,65,0,0,5521,5526,3,712,356,0,5522,5523,5,868,0,0,5523,5525,3,712,356,0,5524,5522,1,0,0,0,5525,5528,1,0,0,0,5526,5524,1,0,0,0,5526,5527,1,0,0,0,5527,5530,1,0,0,0,5528,5526,1,0,0,0,5529,5520,1,0,0,0,5529,5530,1,0,0,0,5530,479,1,0,0,0,5531,5537,3,712,356,0,5532,5533,3,712,356,0,5533,5534,5,854,0,0,5534,5535,3,712,356,0,5535,5537,1,0,0,0,5536,5531,1,0,0,0,5536,5532,1,0,0,0,5537,5542,1,0,0,0,5538,5539,5,868,0,0,5539,5541,3,480,240,0,5540,5538,1,0,0,0,5541,5544,1,0,0,0,5542,5540,1,0,0,0,5542,5543,1,0,0,0,5543,481,1,0,0,0,5544,5542,1,0,0,0,5545,5546,5,141,0,0,5546,5547,5,678,0,0,5547,5552,3,526,263,0,5548,5549,5,868,0,0,5549,5551,3,526,263,0,5550,5548,1,0,0,0,5551,5554,1,0,0,0,5552,5550,1,0,0,0,5552,5553,1,0,0,0,5553,483,1,0,0,0,5554,5552,1,0,0,0,5555,5557,5,149,0,0,5556,5558,3,758,379,0,5557,5556,1,0,0,0,5557,5558,1,0,0,0,5558,5559,1,0,0,0,5559,5564,3,520,260,0,5560,5561,5,868,0,0,5561,5563,3,520,260,0,5562,5560,1,0,0,0,5563,5566,1,0,0,0,5564,5562,1,0,0,0,5564,5565,1,0,0,0,5565,5567,1,0,0,0,5566,5564,1,0,0,0,5567,5569,5,119,0,0,5568,5570,3,488,244,0,5569,5568,1,0,0,0,5569,5570,1,0,0,0,5570,5571,1,0,0,0,5571,5572,3,524,262,0,5572,5573,5,68,0,0,5573,5575,3,654,327,0,5574,5576,3,486,243,0,5575,5574,1,0,0,0,5575,5576,1,0,0,0,5576,5608,1,0,0,0,5577,5579,5,149,0,0,5578,5580,3,758,379,0,5579,5578,1,0,0,0,5579,5580,1,0,0,0,5580,5581,1,0,0,0,5581,5583,5,7,0,0,5582,5584,5,734,0,0,5583,5582,1,0,0,0,5583,5584,1,0,0,0,5584,5585,1,0,0,0,5585,5586,5,868,0,0,5586,5587,5,73,0,0,5587,5588,5,121,0,0,5588,5589,5,68,0,0,5589,5591,3,654,327,0,5590,5592,3,486,243,0,5591,5590,1,0,0,0,5591,5592,1,0,0,0,5592,5608,1,0,0,0,5593,5595,5,149,0,0,5594,5596,3,758,379,0,5595,5594,1,0,0,0,5595,5596,1,0,0,0,5596,5599,1,0,0,0,5597,5598,5,547,0,0,5598,5600,5,119,0,0,5599,5597,1,0,0,0,5599,5600,1,0,0,0,5600,5601,1,0,0,0,5601,5602,3,654,327,0,5602,5603,5,68,0,0,5603,5605,3,654,327,0,5604,5606,3,486,243,0,5605,5604,1,0,0,0,5605,5606,1,0,0,0,5606,5608,1,0,0,0,5607,5555,1,0,0,0,5607,5577,1,0,0,0,5607,5593,1,0,0,0,5608,485,1,0,0,0,5609,5610,5,79,0,0,5610,5611,5,674,0,0,5611,5612,5,678,0,0,5612,487,1,0,0,0,5613,5614,7,82,0,0,5614,489,1,0,0,0,5615,5616,5,155,0,0,5616,5619,5,529,0,0,5617,5618,5,65,0,0,5618,5620,3,684,342,0,5619,5617,1,0,0,0,5619,5620,1,0,0,0,5620,5621,1,0,0,0,5621,5624,5,857,0,0,5622,5625,3,798,399,0,5623,5625,5,882,0,0,5624,5622,1,0,0,0,5624,5623,1,0,0,0,5625,5648,1,0,0,0,5626,5627,5,155,0,0,5627,5630,5,529,0,0,5628,5629,5,65,0,0,5629,5631,3,684,342,0,5630,5628,1,0,0,0,5630,5631,1,0,0,0,5631,5636,1,0,0,0,5632,5633,5,176,0,0,5633,5637,5,829,0,0,5634,5635,5,857,0,0,5635,5637,5,882,0,0,5636,5632,1,0,0,0,5636,5634,1,0,0,0,5637,5640,1,0,0,0,5638,5639,5,143,0,0,5639,5641,5,882,0,0,5640,5638,1,0,0,0,5640,5641,1,0,0,0,5641,5645,1,0,0,0,5642,5643,5,147,0,0,5643,5644,5,36,0,0,5644,5646,5,529,0,0,5645,5642,1,0,0,0,5645,5646,1,0,0,0,5646,5648,1,0,0,0,5647,5615,1,0,0,0,5647,5626,1,0,0,0,5648,491,1,0,0,0,5649,5650,3,684,342,0,5650,5651,3,510,255,0,5651,493,1,0,0,0,5652,5678,3,684,342,0,5653,5654,5,423,0,0,5654,5655,5,20,0,0,5655,5656,5,882,0,0,5656,5679,3,502,251,0,5657,5658,5,423,0,0,5658,5659,5,20,0,0,5659,5660,5,829,0,0,5660,5661,5,529,0,0,5661,5679,3,502,251,0,5662,5663,5,423,0,0,5663,5664,5,194,0,0,5664,5679,3,504,252,0,5665,5666,5,369,0,0,5666,5667,5,511,0,0,5667,5679,5,529,0,0,5668,5669,7,83,0,0,5669,5671,3,518,259,0,5670,5672,3,514,257,0,5671,5670,1,0,0,0,5671,5672,1,0,0,0,5672,5674,1,0,0,0,5673,5668,1,0,0,0,5674,5675,1,0,0,0,5675,5673,1,0,0,0,5675,5676,1,0,0,0,5676,5679,1,0,0,0,5677,5679,3,516,258,0,5678,5653,1,0,0,0,5678,5657,1,0,0,0,5678,5662,1,0,0,0,5678,5665,1,0,0,0,5678,5673,1,0,0,0,5678,5677,1,0,0,0,5678,5679,1,0,0,0,5679,495,1,0,0,0,5680,5681,5,423,0,0,5681,5687,5,20,0,0,5682,5688,5,882,0,0,5683,5684,5,829,0,0,5684,5688,5,529,0,0,5685,5686,5,529,0,0,5686,5688,5,882,0,0,5687,5682,1,0,0,0,5687,5683,1,0,0,0,5687,5685,1,0,0,0,5688,5691,1,0,0,0,5689,5690,5,11,0,0,5690,5692,3,496,248,0,5691,5689,1,0,0,0,5691,5692,1,0,0,0,5692,5717,1,0,0,0,5693,5694,5,423,0,0,5694,5695,5,194,0,0,5695,5704,3,706,353,0,5696,5700,5,20,0,0,5697,5701,5,882,0,0,5698,5699,5,829,0,0,5699,5701,5,529,0,0,5700,5697,1,0,0,0,5700,5698,1,0,0,0,5701,5705,1,0,0,0,5702,5703,5,13,0,0,5703,5705,5,882,0,0,5704,5696,1,0,0,0,5704,5702,1,0,0,0,5704,5705,1,0,0,0,5705,5708,1,0,0,0,5706,5707,5,11,0,0,5707,5709,3,496,248,0,5708,5706,1,0,0,0,5708,5709,1,0,0,0,5709,5717,1,0,0,0,5710,5711,5,423,0,0,5711,5712,5,194,0,0,5712,5714,3,706,353,0,5713,5715,3,498,249,0,5714,5713,1,0,0,0,5714,5715,1,0,0,0,5715,5717,1,0,0,0,5716,5680,1,0,0,0,5716,5693,1,0,0,0,5716,5710,1,0,0,0,5717,497,1,0,0,0,5718,5719,5,427,0,0,5719,5720,5,708,0,0,5720,5721,5,423,0,0,5721,5725,5,20,0,0,5722,5723,5,829,0,0,5723,5726,5,529,0,0,5724,5726,5,882,0,0,5725,5722,1,0,0,0,5725,5724,1,0,0,0,5726,5736,1,0,0,0,5727,5728,5,427,0,0,5728,5729,5,708,0,0,5729,5730,5,423,0,0,5730,5731,5,194,0,0,5731,5732,3,706,353,0,5732,5733,5,13,0,0,5733,5734,5,882,0,0,5734,5736,1,0,0,0,5735,5718,1,0,0,0,5735,5727,1,0,0,0,5736,499,1,0,0,0,5737,5738,3,684,342,0,5738,5739,5,423,0,0,5739,5740,5,20,0,0,5740,5741,5,529,0,0,5741,5742,5,882,0,0,5742,5763,1,0,0,0,5743,5744,3,684,342,0,5744,5745,5,423,0,0,5745,5746,5,20,0,0,5746,5747,5,829,0,0,5747,5748,5,529,0,0,5748,5749,3,502,251,0,5749,5763,1,0,0,0,5750,5751,3,684,342,0,5751,5752,5,423,0,0,5752,5753,5,20,0,0,5753,5754,5,882,0,0,5754,5755,3,502,251,0,5755,5763,1,0,0,0,5756,5757,3,684,342,0,5757,5758,5,423,0,0,5758,5759,5,194,0,0,5759,5760,3,504,252,0,5760,5763,1,0,0,0,5761,5763,3,684,342,0,5762,5737,1,0,0,0,5762,5743,1,0,0,0,5762,5750,1,0,0,0,5762,5756,1,0,0,0,5762,5761,1,0,0,0,5763,501,1,0,0,0,5764,5765,5,143,0,0,5765,5767,5,882,0,0,5766,5764,1,0,0,0,5766,5767,1,0,0,0,5767,5771,1,0,0,0,5768,5769,5,147,0,0,5769,5770,5,36,0,0,5770,5772,5,529,0,0,5771,5768,1,0,0,0,5771,5772,1,0,0,0,5772,503,1,0,0,0,5773,5781,3,706,353,0,5774,5778,7,84,0,0,5775,5779,5,882,0,0,5776,5777,5,829,0,0,5777,5779,5,529,0,0,5778,5775,1,0,0,0,5778,5776,1,0,0,0,5779,5780,1,0,0,0,5780,5782,3,502,251,0,5781,5774,1,0,0,0,5781,5782,1,0,0,0,5782,5788,1,0,0,0,5783,5784,3,706,353,0,5784,5785,5,188,0,0,5785,5786,3,798,399,0,5786,5788,1,0,0,0,5787,5773,1,0,0,0,5787,5783,1,0,0,0,5788,505,1,0,0,0,5789,5798,5,169,0,0,5790,5798,5,693,0,0,5791,5792,5,331,0,0,5792,5798,5,882,0,0,5793,5794,5,441,0,0,5794,5798,5,882,0,0,5795,5796,5,651,0,0,5796,5798,5,882,0,0,5797,5789,1,0,0,0,5797,5790,1,0,0,0,5797,5791,1,0,0,0,5797,5793,1,0,0,0,5797,5795,1,0,0,0,5798,507,1,0,0,0,5799,5800,5,479,0,0,5800,5808,3,712,356,0,5801,5802,5,482,0,0,5802,5808,3,712,356,0,5803,5804,5,478,0,0,5804,5808,3,712,356,0,5805,5806,5,483,0,0,5806,5808,3,712,356,0,5807,5799,1,0,0,0,5807,5801,1,0,0,0,5807,5803,1,0,0,0,5807,5805,1,0,0,0,5808,509,1,0,0,0,5809,5810,5,529,0,0,5810,5817,5,390,0,0,5811,5818,5,42,0,0,5812,5818,5,500,0,0,5813,5814,5,87,0,0,5814,5815,3,712,356,0,5815,5816,5,698,0,0,5816,5818,1,0,0,0,5817,5811,1,0,0,0,5817,5812,1,0,0,0,5817,5813,1,0,0,0,5817,5818,1,0,0,0,5818,5848,1,0,0,0,5819,5820,5,529,0,0,5820,5823,5,420,0,0,5821,5824,5,42,0,0,5822,5824,3,712,356,0,5823,5821,1,0,0,0,5823,5822,1,0,0,0,5824,5848,1,0,0,0,5825,5826,5,529,0,0,5826,5827,5,581,0,0,5827,5832,5,87,0,0,5828,5833,5,42,0,0,5829,5830,3,712,356,0,5830,5831,5,698,0,0,5831,5833,1,0,0,0,5832,5828,1,0,0,0,5832,5829,1,0,0,0,5833,5848,1,0,0,0,5834,5835,5,529,0,0,5835,5836,5,144,0,0,5836,5838,5,36,0,0,5837,5839,7,85,0,0,5838,5837,1,0,0,0,5838,5839,1,0,0,0,5839,5848,1,0,0,0,5840,5841,5,395,0,0,5841,5848,3,712,356,0,5842,5845,5,530,0,0,5843,5846,3,712,356,0,5844,5846,5,669,0,0,5845,5843,1,0,0,0,5845,5844,1,0,0,0,5846,5848,1,0,0,0,5847,5809,1,0,0,0,5847,5819,1,0,0,0,5847,5825,1,0,0,0,5847,5834,1,0,0,0,5847,5840,1,0,0,0,5847,5842,1,0,0,0,5848,511,1,0,0,0,5849,5850,5,304,0,0,5850,5851,7,86,0,0,5851,513,1,0,0,0,5852,5855,5,423,0,0,5853,5854,5,194,0,0,5854,5856,3,706,353,0,5855,5853,1,0,0,0,5855,5856,1,0,0,0,5856,5865,1,0,0,0,5857,5861,5,20,0,0,5858,5862,5,882,0,0,5859,5860,5,829,0,0,5860,5862,5,529,0,0,5861,5858,1,0,0,0,5861,5859,1,0,0,0,5862,5866,1,0,0,0,5863,5864,5,13,0,0,5864,5866,5,882,0,0,5865,5857,1,0,0,0,5865,5863,1,0,0,0,5866,515,1,0,0,0,5867,5868,3,518,259,0,5868,5869,5,429,0,0,5869,5870,5,555,0,0,5870,5883,1,0,0,0,5871,5872,3,518,259,0,5872,5873,5,401,0,0,5873,5874,5,555,0,0,5874,5875,5,155,0,0,5875,5876,5,330,0,0,5876,5877,5,13,0,0,5877,5878,5,882,0,0,5878,5883,1,0,0,0,5879,5880,3,518,259,0,5880,5881,5,675,0,0,5881,5883,1,0,0,0,5882,5867,1,0,0,0,5882,5871,1,0,0,0,5882,5879,1,0,0,0,5883,517,1,0,0,0,5884,5885,7,87,0,0,5885,5886,5,394,0,0,5886,519,1,0,0,0,5887,5892,3,522,261,0,5888,5889,5,866,0,0,5889,5890,3,660,330,0,5890,5891,5,867,0,0,5891,5893,1,0,0,0,5892,5888,1,0,0,0,5892,5893,1,0,0,0,5893,521,1,0,0,0,5894,5896,5,7,0,0,5895,5897,5,734,0,0,5896,5895,1,0,0,0,5896,5897,1,0,0,0,5897,5988,1,0,0,0,5898,5900,5,8,0,0,5899,5901,5,743,0,0,5900,5899,1,0,0,0,5900,5901,1,0,0,0,5901,5988,1,0,0,0,5902,5910,5,34,0,0,5903,5904,5,660,0,0,5904,5911,5,752,0,0,5905,5911,5,743,0,0,5906,5911,5,684,0,0,5907,5911,5,678,0,0,5908,5911,5,658,0,0,5909,5911,5,582,0,0,5910,5903,1,0,0,0,5910,5905,1,0,0,0,5910,5906,1,0,0,0,5910,5907,1,0,0,0,5910,5908,1,0,0,0,5910,5909,1,0,0,0,5910,5911,1,0,0,0,5911,5988,1,0,0,0,5912,5988,5,44,0,0,5913,5915,5,51,0,0,5914,5916,5,582,0,0,5915,5914,1,0,0,0,5915,5916,1,0,0,0,5916,5988,1,0,0,0,5917,5988,5,385,0,0,5918,5988,5,717,0,0,5919,5988,5,718,0,0,5920,5921,5,73,0,0,5921,5988,5,121,0,0,5922,5988,5,82,0,0,5923,5988,5,86,0,0,5924,5925,5,104,0,0,5925,5988,5,752,0,0,5926,5988,5,735,0,0,5927,5988,5,547,0,0,5928,5988,5,138,0,0,5929,5988,5,736,0,0,5930,5931,5,572,0,0,5931,5988,7,88,0,0,5932,5988,5,154,0,0,5933,5934,5,157,0,0,5934,5988,7,89,0,0,5935,5988,5,749,0,0,5936,5988,5,750,0,0,5937,5988,5,178,0,0,5938,5988,5,185,0,0,5939,5988,5,186,0,0,5940,5988,5,705,0,0,5941,5988,5,706,0,0,5942,5988,5,707,0,0,5943,5988,5,709,0,0,5944,5988,5,710,0,0,5945,5988,5,711,0,0,5946,5988,5,712,0,0,5947,5988,5,714,0,0,5948,5988,5,715,0,0,5949,5988,5,716,0,0,5950,5988,5,719,0,0,5951,5988,5,720,0,0,5952,5988,5,721,0,0,5953,5988,5,722,0,0,5954,5988,5,723,0,0,5955,5988,5,724,0,0,5956,5988,5,725,0,0,5957,5988,5,726,0,0,5958,5988,5,727,0,0,5959,5988,5,728,0,0,5960,5988,5,731,0,0,5961,5988,5,732,0,0,5962,5988,5,733,0,0,5963,5988,5,737,0,0,5964,5988,5,738,0,0,5965,5988,5,740,0,0,5966,5988,5,741,0,0,5967,5988,5,742,0,0,5968,5988,5,745,0,0,5969,5988,5,746,0,0,5970,5988,5,747,0,0,5971,5988,5,160,0,0,5972,5988,5,748,0,0,5973,5988,5,836,0,0,5974,5988,5,751,0,0,5975,5988,5,753,0,0,5976,5988,5,838,0,0,5977,5988,5,754,0,0,5978,5988,5,755,0,0,5979,5980,5,103,0,0,5980,5981,5,68,0,0,5981,5988,5,744,0,0,5982,5983,5,154,0,0,5983,5984,5,88,0,0,5984,5988,5,744,0,0,5985,5986,5,729,0,0,5986,5988,5,730,0,0,5987,5894,1,0,0,0,5987,5898,1,0,0,0,5987,5902,1,0,0,0,5987,5912,1,0,0,0,5987,5913,1,0,0,0,5987,5917,1,0,0,0,5987,5918,1,0,0,0,5987,5919,1,0,0,0,5987,5920,1,0,0,0,5987,5922,1,0,0,0,5987,5923,1,0,0,0,5987,5924,1,0,0,0,5987,5926,1,0,0,0,5987,5927,1,0,0,0,5987,5928,1,0,0,0,5987,5929,1,0,0,0,5987,5930,1,0,0,0,5987,5932,1,0,0,0,5987,5933,1,0,0,0,5987,5935,1,0,0,0,5987,5936,1,0,0,0,5987,5937,1,0,0,0,5987,5938,1,0,0,0,5987,5939,1,0,0,0,5987,5940,1,0,0,0,5987,5941,1,0,0,0,5987,5942,1,0,0,0,5987,5943,1,0,0,0,5987,5944,1,0,0,0,5987,5945,1,0,0,0,5987,5946,1,0,0,0,5987,5947,1,0,0,0,5987,5948,1,0,0,0,5987,5949,1,0,0,0,5987,5950,1,0,0,0,5987,5951,1,0,0,0,5987,5952,1,0,0,0,5987,5953,1,0,0,0,5987,5954,1,0,0,0,5987,5955,1,0,0,0,5987,5956,1,0,0,0,5987,5957,1,0,0,0,5987,5958,1,0,0,0,5987,5959,1,0,0,0,5987,5960,1,0,0,0,5987,5961,1,0,0,0,5987,5962,1,0,0,0,5987,5963,1,0,0,0,5987,5964,1,0,0,0,5987,5965,1,0,0,0,5987,5966,1,0,0,0,5987,5967,1,0,0,0,5987,5968,1,0,0,0,5987,5969,1,0,0,0,5987,5970,1,0,0,0,5987,5971,1,0,0,0,5987,5972,1,0,0,0,5987,5973,1,0,0,0,5987,5974,1,0,0,0,5987,5975,1,0,0,0,5987,5976,1,0,0,0,5987,5977,1,0,0,0,5987,5978,1,0,0,0,5987,5979,1,0,0,0,5987,5982,1,0,0,0,5987,5985,1,0,0,0,5988,523,1,0,0,0,5989,6006,5,850,0,0,5990,5991,5,850,0,0,5991,5992,5,865,0,0,5992,6006,5,850,0,0,5993,5994,3,706,353,0,5994,5995,5,865,0,0,5995,5996,5,850,0,0,5996,6006,1,0,0,0,5997,5998,3,706,353,0,5998,5999,5,865,0,0,5999,6e3,3,706,353,0,6e3,6006,1,0,0,0,6001,6002,3,706,353,0,6002,6003,3,710,355,0,6003,6006,1,0,0,0,6004,6006,3,706,353,0,6005,5989,1,0,0,0,6005,5990,1,0,0,0,6005,5993,1,0,0,0,6005,5997,1,0,0,0,6005,6001,1,0,0,0,6005,6004,1,0,0,0,6006,525,1,0,0,0,6007,6008,3,684,342,0,6008,6009,5,176,0,0,6009,6010,3,684,342,0,6010,527,1,0,0,0,6011,6013,5,10,0,0,6012,6014,3,538,269,0,6013,6012,1,0,0,0,6013,6014,1,0,0,0,6014,6015,1,0,0,0,6015,6016,5,173,0,0,6016,6060,3,650,325,0,6017,6019,5,10,0,0,6018,6020,3,538,269,0,6019,6018,1,0,0,0,6019,6020,1,0,0,0,6020,6021,1,0,0,0,6021,6022,5,173,0,0,6022,6023,3,652,326,0,6023,6024,5,185,0,0,6024,6025,5,77,0,0,6025,6026,5,119,0,0,6026,6031,3,660,330,0,6027,6028,5,194,0,0,6028,6029,3,712,356,0,6029,6030,5,19,0,0,6030,6032,1,0,0,0,6031,6027,1,0,0,0,6031,6032,1,0,0,0,6032,6060,1,0,0,0,6033,6035,5,10,0,0,6034,6036,3,538,269,0,6035,6034,1,0,0,0,6035,6036,1,0,0,0,6036,6037,1,0,0,0,6037,6038,5,173,0,0,6038,6039,3,652,326,0,6039,6040,5,185,0,0,6040,6041,5,77,0,0,6041,6042,5,119,0,0,6042,6046,3,662,331,0,6043,6044,5,188,0,0,6044,6045,5,360,0,0,6045,6047,5,882,0,0,6046,6043,1,0,0,0,6046,6047,1,0,0,0,6047,6060,1,0,0,0,6048,6050,5,10,0,0,6049,6051,3,538,269,0,6050,6049,1,0,0,0,6050,6051,1,0,0,0,6051,6052,1,0,0,0,6052,6053,5,173,0,0,6053,6054,3,652,326,0,6054,6055,5,51,0,0,6055,6056,5,77,0,0,6056,6057,5,119,0,0,6057,6058,3,660,330,0,6058,6060,1,0,0,0,6059,6011,1,0,0,0,6059,6017,1,0,0,0,6059,6033,1,0,0,0,6059,6048,1,0,0,0,6060,529,1,0,0,0,6061,6062,5,27,0,0,6062,6063,5,173,0,0,6063,6067,3,650,325,0,6064,6066,3,540,270,0,6065,6064,1,0,0,0,6066,6069,1,0,0,0,6067,6065,1,0,0,0,6067,6068,1,0,0,0,6068,531,1,0,0,0,6069,6067,1,0,0,0,6070,6071,5,329,0,0,6071,6072,5,173,0,0,6072,6074,3,650,325,0,6073,6075,7,90,0,0,6074,6073,1,0,0,0,6074,6075,1,0,0,0,6075,533,1,0,0,0,6076,6078,5,120,0,0,6077,6079,3,538,269,0,6078,6077,1,0,0,0,6078,6079,1,0,0,0,6079,6080,1,0,0,0,6080,6081,7,61,0,0,6081,6082,3,650,325,0,6082,535,1,0,0,0,6083,6085,5,562,0,0,6084,6086,3,538,269,0,6085,6084,1,0,0,0,6085,6086,1,0,0,0,6086,6087,1,0,0,0,6087,6088,5,173,0,0,6088,6090,3,650,325,0,6089,6091,5,549,0,0,6090,6089,1,0,0,0,6090,6091,1,0,0,0,6091,6093,1,0,0,0,6092,6094,5,392,0,0,6093,6092,1,0,0,0,6093,6094,1,0,0,0,6094,6096,1,0,0,0,6095,6097,5,679,0,0,6096,6095,1,0,0,0,6096,6097,1,0,0,0,6097,537,1,0,0,0,6098,6099,7,91,0,0,6099,539,1,0,0,0,6100,6101,5,65,0,0,6101,6108,5,677,0,0,6102,6108,5,549,0,0,6103,6108,5,396,0,0,6104,6108,5,484,0,0,6105,6108,5,392,0,0,6106,6108,5,327,0,0,6107,6100,1,0,0,0,6107,6102,1,0,0,0,6107,6103,1,0,0,0,6107,6104,1,0,0,0,6107,6105,1,0,0,0,6107,6106,1,0,0,0,6108,541,1,0,0,0,6109,6110,5,432,0,0,6110,6111,5,344,0,0,6111,6116,3,706,353,0,6112,6113,5,868,0,0,6113,6115,3,706,353,0,6114,6112,1,0,0,0,6115,6118,1,0,0,0,6116,6114,1,0,0,0,6116,6117,1,0,0,0,6117,6128,1,0,0,0,6118,6116,1,0,0,0,6119,6120,5,155,0,0,6120,6125,3,544,272,0,6121,6122,5,868,0,0,6122,6124,3,544,272,0,6123,6121,1,0,0,0,6124,6127,1,0,0,0,6125,6123,1,0,0,0,6125,6126,1,0,0,0,6126,6129,1,0,0,0,6127,6125,1,0,0,0,6128,6119,1,0,0,0,6128,6129,1,0,0,0,6129,543,1,0,0,0,6130,6131,7,92,0,0,6131,6132,3,702,351,0,6132,6133,5,857,0,0,6133,6134,3,804,402,0,6134,545,1,0,0,0,6135,6136,5,673,0,0,6136,6137,5,344,0,0,6137,6142,3,706,353,0,6138,6139,5,868,0,0,6139,6141,3,706,353,0,6140,6138,1,0,0,0,6141,6144,1,0,0,0,6142,6140,1,0,0,0,6142,6143,1,0,0,0,6143,547,1,0,0,0,6144,6142,1,0,0,0,6145,6146,5,432,0,0,6146,6147,5,534,0,0,6147,6148,3,706,353,0,6148,6149,5,603,0,0,6149,6150,5,882,0,0,6150,549,1,0,0,0,6151,6152,5,673,0,0,6152,6153,5,534,0,0,6153,6154,3,706,353,0,6154,551,1,0,0,0,6155,6156,5,713,0,0,6156,6157,5,450,0,0,6157,6158,5,360,0,0,6158,6160,5,367,0,0,6159,6161,5,857,0,0,6160,6159,1,0,0,0,6160,6161,1,0,0,0,6161,6162,1,0,0,0,6162,6186,5,882,0,0,6163,6164,5,713,0,0,6164,6165,5,433,0,0,6165,6166,5,68,0,0,6166,6167,3,676,338,0,6167,6168,5,423,0,0,6168,6169,5,20,0,0,6169,6176,5,882,0,0,6170,6171,5,360,0,0,6171,6173,5,367,0,0,6172,6174,5,857,0,0,6173,6172,1,0,0,0,6173,6174,1,0,0,0,6174,6175,1,0,0,0,6175,6177,5,882,0,0,6176,6170,1,0,0,0,6176,6177,1,0,0,0,6177,6183,1,0,0,0,6178,6180,5,144,0,0,6179,6181,5,502,0,0,6180,6179,1,0,0,0,6180,6181,1,0,0,0,6181,6182,1,0,0,0,6182,6184,5,169,0,0,6183,6178,1,0,0,0,6183,6184,1,0,0,0,6184,6186,1,0,0,0,6185,6155,1,0,0,0,6185,6163,1,0,0,0,6186,553,1,0,0,0,6187,6188,5,155,0,0,6188,6189,3,558,279,0,6189,6192,7,93,0,0,6190,6193,3,804,402,0,6191,6193,5,119,0,0,6192,6190,1,0,0,0,6192,6191,1,0,0,0,6193,6203,1,0,0,0,6194,6195,5,868,0,0,6195,6196,3,558,279,0,6196,6199,7,93,0,0,6197,6200,3,804,402,0,6198,6200,5,119,0,0,6199,6197,1,0,0,0,6199,6198,1,0,0,0,6200,6202,1,0,0,0,6201,6194,1,0,0,0,6202,6205,1,0,0,0,6203,6201,1,0,0,0,6203,6204,1,0,0,0,6204,6240,1,0,0,0,6205,6203,1,0,0,0,6206,6207,5,155,0,0,6207,6210,3,58,29,0,6208,6211,3,688,344,0,6209,6211,5,42,0,0,6210,6208,1,0,0,0,6210,6209,1,0,0,0,6211,6240,1,0,0,0,6212,6213,5,155,0,0,6213,6220,5,497,0,0,6214,6217,3,688,344,0,6215,6216,5,28,0,0,6216,6218,3,690,345,0,6217,6215,1,0,0,0,6217,6218,1,0,0,0,6218,6221,1,0,0,0,6219,6221,5,42,0,0,6220,6214,1,0,0,0,6220,6219,1,0,0,0,6221,6240,1,0,0,0,6222,6240,3,490,245,0,6223,6240,3,342,171,0,6224,6240,3,340,170,0,6225,6226,5,155,0,0,6226,6227,3,702,351,0,6227,6228,7,93,0,0,6228,6236,3,804,402,0,6229,6230,5,868,0,0,6230,6231,3,702,351,0,6231,6232,7,93,0,0,6232,6233,3,804,402,0,6233,6235,1,0,0,0,6234,6229,1,0,0,0,6235,6238,1,0,0,0,6236,6234,1,0,0,0,6236,6237,1,0,0,0,6237,6240,1,0,0,0,6238,6236,1,0,0,0,6239,6187,1,0,0,0,6239,6206,1,0,0,0,6239,6212,1,0,0,0,6239,6222,1,0,0,0,6239,6223,1,0,0,0,6239,6224,1,0,0,0,6239,6225,1,0,0,0,6240,555,1,0,0,0,6241,6242,5,157,0,0,6242,6243,7,63,0,0,6243,6426,5,452,0,0,6244,6245,5,157,0,0,6245,6246,7,94,0,0,6246,6249,5,386,0,0,6247,6248,5,80,0,0,6248,6250,5,882,0,0,6249,6247,1,0,0,0,6249,6250,1,0,0,0,6250,6253,1,0,0,0,6251,6252,5,68,0,0,6252,6254,3,712,356,0,6253,6251,1,0,0,0,6253,6254,1,0,0,0,6254,6262,1,0,0,0,6255,6259,5,100,0,0,6256,6257,3,712,356,0,6257,6258,5,868,0,0,6258,6260,1,0,0,0,6259,6256,1,0,0,0,6259,6260,1,0,0,0,6260,6261,1,0,0,0,6261,6263,3,712,356,0,6262,6255,1,0,0,0,6262,6263,1,0,0,0,6263,6265,1,0,0,0,6264,6266,3,390,195,0,6265,6264,1,0,0,0,6265,6266,1,0,0,0,6266,6426,1,0,0,0,6267,6268,5,157,0,0,6268,6270,3,560,280,0,6269,6271,3,562,281,0,6270,6269,1,0,0,0,6270,6271,1,0,0,0,6271,6426,1,0,0,0,6272,6274,5,157,0,0,6273,6275,5,392,0,0,6274,6273,1,0,0,0,6274,6275,1,0,0,0,6275,6277,1,0,0,0,6276,6278,5,408,0,0,6277,6276,1,0,0,0,6277,6278,1,0,0,0,6278,6279,1,0,0,0,6279,6280,7,47,0,0,6280,6281,7,95,0,0,6281,6284,3,652,326,0,6282,6283,7,95,0,0,6283,6285,3,628,314,0,6284,6282,1,0,0,0,6284,6285,1,0,0,0,6285,6287,1,0,0,0,6286,6288,3,562,281,0,6287,6286,1,0,0,0,6287,6288,1,0,0,0,6288,6426,1,0,0,0,6289,6290,5,157,0,0,6290,6291,5,34,0,0,6291,6293,7,0,0,0,6292,6294,3,760,380,0,6293,6292,1,0,0,0,6293,6294,1,0,0,0,6294,6295,1,0,0,0,6295,6426,3,628,314,0,6296,6297,5,157,0,0,6297,6298,5,34,0,0,6298,6299,7,96,0,0,6299,6426,3,702,351,0,6300,6301,5,157,0,0,6301,6302,5,34,0,0,6302,6303,5,409,0,0,6303,6426,3,632,316,0,6304,6305,5,157,0,0,6305,6306,5,34,0,0,6306,6307,5,684,0,0,6307,6426,3,636,318,0,6308,6309,5,157,0,0,6309,6310,5,34,0,0,6310,6311,5,173,0,0,6311,6426,3,652,326,0,6312,6313,5,157,0,0,6313,6314,5,34,0,0,6314,6315,5,678,0,0,6315,6426,3,684,342,0,6316,6317,5,157,0,0,6317,6318,5,380,0,0,6318,6319,3,692,346,0,6319,6320,7,97,0,0,6320,6426,1,0,0,0,6321,6322,5,157,0,0,6322,6426,3,564,282,0,6323,6324,5,157,0,0,6324,6332,7,98,0,0,6325,6329,5,100,0,0,6326,6327,3,712,356,0,6327,6328,5,868,0,0,6328,6330,1,0,0,0,6329,6326,1,0,0,0,6329,6330,1,0,0,0,6330,6331,1,0,0,0,6331,6333,3,712,356,0,6332,6325,1,0,0,0,6332,6333,1,0,0,0,6333,6426,1,0,0,0,6334,6335,5,157,0,0,6335,6336,5,262,0,0,6336,6337,5,866,0,0,6337,6338,5,850,0,0,6338,6339,5,867,0,0,6339,6426,7,98,0,0,6340,6341,5,157,0,0,6341,6344,3,566,283,0,6342,6343,7,95,0,0,6343,6345,3,628,314,0,6344,6342,1,0,0,0,6344,6345,1,0,0,0,6345,6347,1,0,0,0,6346,6348,3,562,281,0,6347,6346,1,0,0,0,6347,6348,1,0,0,0,6348,6426,1,0,0,0,6349,6350,5,157,0,0,6350,6351,5,132,0,0,6351,6352,5,336,0,0,6352,6426,3,702,351,0,6353,6354,5,157,0,0,6354,6355,5,409,0,0,6355,6356,5,336,0,0,6356,6426,3,632,316,0,6357,6358,5,157,0,0,6358,6365,5,414,0,0,6359,6360,5,65,0,0,6360,6363,3,656,328,0,6361,6362,5,188,0,0,6362,6364,3,654,327,0,6363,6361,1,0,0,0,6363,6364,1,0,0,0,6364,6366,1,0,0,0,6365,6359,1,0,0,0,6365,6366,1,0,0,0,6366,6426,1,0,0,0,6367,6369,5,157,0,0,6368,6370,5,392,0,0,6369,6368,1,0,0,0,6369,6370,1,0,0,0,6370,6371,1,0,0,0,6371,6372,7,99,0,0,6372,6373,7,95,0,0,6373,6376,3,652,326,0,6374,6375,7,95,0,0,6375,6377,3,628,314,0,6376,6374,1,0,0,0,6376,6377,1,0,0,0,6377,6380,1,0,0,0,6378,6379,5,192,0,0,6379,6381,3,804,402,0,6380,6378,1,0,0,0,6380,6381,1,0,0,0,6381,6426,1,0,0,0,6382,6383,5,157,0,0,6383,6384,5,516,0,0,6384,6387,5,752,0,0,6385,6386,7,95,0,0,6386,6388,3,628,314,0,6387,6385,1,0,0,0,6387,6388,1,0,0,0,6388,6390,1,0,0,0,6389,6391,3,562,281,0,6390,6389,1,0,0,0,6390,6391,1,0,0,0,6391,6426,1,0,0,0,6392,6393,5,157,0,0,6393,6402,5,545,0,0,6394,6399,3,568,284,0,6395,6396,5,868,0,0,6396,6398,3,568,284,0,6397,6395,1,0,0,0,6398,6401,1,0,0,0,6399,6397,1,0,0,0,6399,6400,1,0,0,0,6400,6403,1,0,0,0,6401,6399,1,0,0,0,6402,6394,1,0,0,0,6402,6403,1,0,0,0,6403,6407,1,0,0,0,6404,6405,5,65,0,0,6405,6406,5,548,0,0,6406,6408,3,712,356,0,6407,6404,1,0,0,0,6407,6408,1,0,0,0,6408,6415,1,0,0,0,6409,6410,5,100,0,0,6410,6413,3,712,356,0,6411,6412,5,509,0,0,6412,6414,3,712,356,0,6413,6411,1,0,0,0,6413,6414,1,0,0,0,6414,6416,1,0,0,0,6415,6409,1,0,0,0,6415,6416,1,0,0,0,6416,6426,1,0,0,0,6417,6418,5,157,0,0,6418,6419,7,64,0,0,6419,6421,5,645,0,0,6420,6422,3,390,195,0,6421,6420,1,0,0,0,6421,6422,1,0,0,0,6422,6426,1,0,0,0,6423,6424,5,157,0,0,6424,6426,5,564,0,0,6425,6241,1,0,0,0,6425,6244,1,0,0,0,6425,6267,1,0,0,0,6425,6272,1,0,0,0,6425,6289,1,0,0,0,6425,6296,1,0,0,0,6425,6300,1,0,0,0,6425,6304,1,0,0,0,6425,6308,1,0,0,0,6425,6312,1,0,0,0,6425,6316,1,0,0,0,6425,6321,1,0,0,0,6425,6323,1,0,0,0,6425,6334,1,0,0,0,6425,6340,1,0,0,0,6425,6349,1,0,0,0,6425,6353,1,0,0,0,6425,6357,1,0,0,0,6425,6367,1,0,0,0,6425,6382,1,0,0,0,6425,6392,1,0,0,0,6425,6417,1,0,0,0,6425,6423,1,0,0,0,6426,557,1,0,0,0,6427,6438,5,892,0,0,6428,6438,5,893,0,0,6429,6430,5,870,0,0,6430,6432,5,870,0,0,6431,6429,1,0,0,0,6431,6432,1,0,0,0,6432,6433,1,0,0,0,6433,6435,7,100,0,0,6434,6431,1,0,0,0,6434,6435,1,0,0,0,6435,6436,1,0,0,0,6436,6438,3,706,353,0,6437,6427,1,0,0,0,6437,6428,1,0,0,0,6437,6434,1,0,0,0,6438,559,1,0,0,0,6439,6440,5,26,0,0,6440,6454,5,155,0,0,6441,6454,5,823,0,0,6442,6454,5,824,0,0,6443,6454,5,40,0,0,6444,6454,5,153,0,0,6445,6446,5,409,0,0,6446,6454,5,645,0,0,6447,6448,5,132,0,0,6448,6454,5,645,0,0,6449,6451,7,62,0,0,6450,6449,1,0,0,0,6450,6451,1,0,0,0,6451,6452,1,0,0,0,6452,6454,7,101,0,0,6453,6439,1,0,0,0,6453,6441,1,0,0,0,6453,6442,1,0,0,0,6453,6443,1,0,0,0,6453,6444,1,0,0,0,6453,6445,1,0,0,0,6453,6447,1,0,0,0,6453,6450,1,0,0,0,6454,561,1,0,0,0,6455,6456,5,99,0,0,6456,6460,5,882,0,0,6457,6458,5,192,0,0,6458,6460,3,804,402,0,6459,6455,1,0,0,0,6459,6457,1,0,0,0,6460,563,1,0,0,0,6461,6463,5,647,0,0,6462,6461,1,0,0,0,6462,6463,1,0,0,0,6463,6464,1,0,0,0,6464,6479,5,381,0,0,6465,6466,5,453,0,0,6466,6479,5,645,0,0,6467,6479,5,536,0,0,6468,6479,5,734,0,0,6469,6471,5,408,0,0,6470,6469,1,0,0,0,6470,6471,1,0,0,0,6471,6472,1,0,0,0,6472,6479,5,544,0,0,6473,6479,5,546,0,0,6474,6475,5,598,0,0,6475,6479,5,422,0,0,6476,6479,5,312,0,0,6477,6479,5,356,0,0,6478,6462,1,0,0,0,6478,6465,1,0,0,0,6478,6467,1,0,0,0,6478,6468,1,0,0,0,6478,6470,1,0,0,0,6478,6473,1,0,0,0,6478,6474,1,0,0,0,6478,6476,1,0,0,0,6478,6477,1,0,0,0,6479,565,1,0,0,0,6480,6492,5,386,0,0,6481,6482,5,173,0,0,6482,6492,5,645,0,0,6483,6485,5,392,0,0,6484,6483,1,0,0,0,6484,6485,1,0,0,0,6485,6487,1,0,0,0,6486,6488,5,408,0,0,6487,6486,1,0,0,0,6487,6488,1,0,0,0,6488,6489,1,0,0,0,6489,6492,5,752,0,0,6490,6492,5,667,0,0,6491,6480,1,0,0,0,6491,6481,1,0,0,0,6491,6484,1,0,0,0,6491,6490,1,0,0,0,6492,567,1,0,0,0,6493,6506,5,7,0,0,6494,6495,5,320,0,0,6495,6506,5,437,0,0,6496,6497,5,355,0,0,6497,6506,5,656,0,0,6498,6506,5,358,0,0,6499,6506,5,439,0,0,6500,6506,5,802,0,0,6501,6502,5,521,0,0,6502,6506,5,397,0,0,6503,6506,5,605,0,0,6504,6506,5,655,0,0,6505,6493,1,0,0,0,6505,6494,1,0,0,0,6505,6496,1,0,0,0,6505,6498,1,0,0,0,6505,6499,1,0,0,0,6505,6500,1,0,0,0,6505,6501,1,0,0,0,6505,6503,1,0,0,0,6505,6504,1,0,0,0,6506,569,1,0,0,0,6507,6508,5,318,0,0,6508,6509,5,882,0,0,6509,571,1,0,0,0,6510,6511,5,324,0,0,6511,6529,5,82,0,0,6512,6517,3,592,296,0,6513,6514,5,868,0,0,6514,6516,3,592,296,0,6515,6513,1,0,0,0,6516,6519,1,0,0,0,6517,6515,1,0,0,0,6517,6518,1,0,0,0,6518,6530,1,0,0,0,6519,6517,1,0,0,0,6520,6521,3,652,326,0,6521,6522,5,130,0,0,6522,6525,5,866,0,0,6523,6526,3,670,335,0,6524,6526,5,7,0,0,6525,6523,1,0,0,0,6525,6524,1,0,0,0,6526,6527,1,0,0,0,6527,6528,5,867,0,0,6528,6530,1,0,0,0,6529,6512,1,0,0,0,6529,6520,1,0,0,0,6530,6531,1,0,0,0,6531,6532,5,80,0,0,6532,6533,3,628,314,0,6533,573,1,0,0,0,6534,6536,5,404,0,0,6535,6537,3,538,269,0,6536,6535,1,0,0,0,6536,6537,1,0,0,0,6537,6538,1,0,0,0,6538,6543,3,594,297,0,6539,6540,5,868,0,0,6540,6542,3,594,297,0,6541,6539,1,0,0,0,6542,6545,1,0,0,0,6543,6541,1,0,0,0,6543,6544,1,0,0,0,6544,575,1,0,0,0,6545,6543,1,0,0,0,6546,6548,5,94,0,0,6547,6549,7,102,0,0,6548,6547,1,0,0,0,6548,6549,1,0,0,0,6549,6550,1,0,0,0,6550,6551,3,804,402,0,6551,577,1,0,0,0,6552,6553,5,103,0,0,6553,6554,5,82,0,0,6554,6555,5,88,0,0,6555,6556,5,324,0,0,6556,6561,3,598,299,0,6557,6558,5,868,0,0,6558,6560,3,598,299,0,6559,6557,1,0,0,0,6560,6563,1,0,0,0,6561,6559,1,0,0,0,6561,6562,1,0,0,0,6562,579,1,0,0,0,6563,6561,1,0,0,0,6564,6565,5,575,0,0,6565,6570,3,582,291,0,6566,6567,5,868,0,0,6567,6569,3,582,291,0,6568,6566,1,0,0,0,6569,6572,1,0,0,0,6570,6568,1,0,0,0,6570,6571,1,0,0,0,6571,581,1,0,0,0,6572,6570,1,0,0,0,6573,6579,5,453,0,0,6574,6579,5,563,0,0,6575,6576,5,548,0,0,6576,6579,5,324,0,0,6577,6579,5,598,0,0,6578,6573,1,0,0,0,6578,6574,1,0,0,0,6578,6575,1,0,0,0,6578,6577,1,0,0,0,6579,583,1,0,0,0,6580,6581,5,575,0,0,6581,6586,5,531,0,0,6582,6584,3,758,379,0,6583,6582,1,0,0,0,6583,6584,1,0,0,0,6584,6585,1,0,0,0,6585,6587,3,706,353,0,6586,6583,1,0,0,0,6586,6587,1,0,0,0,6587,585,1,0,0,0,6588,6589,5,575,0,0,6589,6591,7,64,0,0,6590,6592,5,7,0,0,6591,6590,1,0,0,0,6591,6592,1,0,0,0,6592,6594,1,0,0,0,6593,6595,3,390,195,0,6594,6593,1,0,0,0,6594,6595,1,0,0,0,6595,587,1,0,0,0,6596,6597,5,576,0,0,6597,589,1,0,0,0,6598,6599,5,749,0,0,6599,591,1,0,0,0,6600,6606,3,652,326,0,6601,6602,7,19,0,0,6602,6603,5,866,0,0,6603,6604,3,640,320,0,6604,6605,5,867,0,0,6605,6607,1,0,0,0,6606,6601,1,0,0,0,6606,6607,1,0,0,0,6607,593,1,0,0,0,6608,6627,5,366,0,0,6609,6627,5,422,0,0,6610,6612,7,103,0,0,6611,6610,1,0,0,0,6611,6612,1,0,0,0,6612,6613,1,0,0,0,6613,6627,5,452,0,0,6614,6627,5,517,0,0,6615,6627,5,734,0,0,6616,6617,5,548,0,0,6617,6627,5,324,0,0,6618,6627,5,645,0,0,6619,6627,5,680,0,0,6620,6624,5,752,0,0,6621,6622,5,194,0,0,6622,6623,5,135,0,0,6623,6625,5,104,0,0,6624,6621,1,0,0,0,6624,6625,1,0,0,0,6625,6627,1,0,0,0,6626,6608,1,0,0,0,6626,6609,1,0,0,0,6626,6611,1,0,0,0,6626,6614,1,0,0,0,6626,6615,1,0,0,0,6626,6616,1,0,0,0,6626,6618,1,0,0,0,6626,6619,1,0,0,0,6626,6620,1,0,0,0,6627,6641,1,0,0,0,6628,6629,5,556,0,0,6629,6631,5,452,0,0,6630,6632,3,390,195,0,6631,6630,1,0,0,0,6631,6632,1,0,0,0,6632,6641,1,0,0,0,6633,6635,7,61,0,0,6634,6636,3,650,325,0,6635,6634,1,0,0,0,6635,6636,1,0,0,0,6636,6638,1,0,0,0,6637,6639,3,596,298,0,6638,6637,1,0,0,0,6638,6639,1,0,0,0,6639,6641,1,0,0,0,6640,6626,1,0,0,0,6640,6628,1,0,0,0,6640,6633,1,0,0,0,6641,595,1,0,0,0,6642,6643,5,194,0,0,6643,6644,5,135,0,0,6644,6648,5,104,0,0,6645,6646,5,65,0,0,6646,6648,5,391,0,0,6647,6642,1,0,0,0,6647,6645,1,0,0,0,6648,597,1,0,0,0,6649,6657,3,652,326,0,6650,6651,5,130,0,0,6651,6654,5,866,0,0,6652,6655,3,670,335,0,6653,6655,5,7,0,0,6654,6652,1,0,0,0,6654,6653,1,0,0,0,6655,6656,1,0,0,0,6656,6658,5,867,0,0,6657,6650,1,0,0,0,6657,6658,1,0,0,0,6658,6666,1,0,0,0,6659,6661,7,19,0,0,6660,6659,1,0,0,0,6660,6661,1,0,0,0,6661,6662,1,0,0,0,6662,6663,5,866,0,0,6663,6664,3,640,320,0,6664,6665,5,867,0,0,6665,6667,1,0,0,0,6666,6660,1,0,0,0,6666,6667,1,0,0,0,6667,6670,1,0,0,0,6668,6669,5,79,0,0,6669,6671,5,446,0,0,6670,6668,1,0,0,0,6670,6671,1,0,0,0,6671,599,1,0,0,0,6672,6673,7,104,0,0,6673,6676,3,652,326,0,6674,6677,3,662,331,0,6675,6677,5,882,0,0,6676,6674,1,0,0,0,6676,6675,1,0,0,0,6676,6677,1,0,0,0,6677,601,1,0,0,0,6678,6684,7,104,0,0,6679,6685,5,392,0,0,6680,6685,5,528,0,0,6681,6682,5,826,0,0,6682,6683,5,857,0,0,6683,6685,7,105,0,0,6684,6679,1,0,0,0,6684,6680,1,0,0,0,6684,6681,1,0,0,0,6684,6685,1,0,0,0,6685,6686,1,0,0,0,6686,6687,3,624,312,0,6687,603,1,0,0,0,6688,6689,7,104,0,0,6689,6693,5,10,0,0,6690,6691,5,826,0,0,6691,6692,5,857,0,0,6692,6694,5,666,0,0,6693,6690,1,0,0,0,6693,6694,1,0,0,0,6694,6695,1,0,0,0,6695,6696,3,210,105,0,6696,605,1,0,0,0,6697,6698,5,419,0,0,6698,6699,5,882,0,0,6699,607,1,0,0,0,6700,6701,5,187,0,0,6701,6702,3,628,314,0,6702,609,1,0,0,0,6703,6711,5,158,0,0,6704,6706,5,164,0,0,6705,6707,5,682,0,0,6706,6705,1,0,0,0,6706,6707,1,0,0,0,6707,6708,1,0,0,0,6708,6712,3,716,358,0,6709,6712,5,889,0,0,6710,6712,5,890,0,0,6711,6704,1,0,0,0,6711,6709,1,0,0,0,6711,6710,1,0,0,0,6712,6722,1,0,0,0,6713,6714,5,155,0,0,6714,6719,3,614,307,0,6715,6716,5,868,0,0,6716,6718,3,614,307,0,6717,6715,1,0,0,0,6718,6721,1,0,0,0,6719,6717,1,0,0,0,6719,6720,1,0,0,0,6720,6723,1,0,0,0,6721,6719,1,0,0,0,6722,6713,1,0,0,0,6722,6723,1,0,0,0,6723,611,1,0,0,0,6724,6732,5,145,0,0,6725,6727,5,164,0,0,6726,6728,5,682,0,0,6727,6726,1,0,0,0,6727,6728,1,0,0,0,6728,6729,1,0,0,0,6729,6733,3,716,358,0,6730,6733,5,889,0,0,6731,6733,5,890,0,0,6732,6725,1,0,0,0,6732,6730,1,0,0,0,6732,6731,1,0,0,0,6732,6733,1,0,0,0,6733,6743,1,0,0,0,6734,6735,5,155,0,0,6735,6740,3,614,307,0,6736,6737,5,868,0,0,6737,6739,3,614,307,0,6738,6736,1,0,0,0,6739,6742,1,0,0,0,6740,6738,1,0,0,0,6740,6741,1,0,0,0,6741,6744,1,0,0,0,6742,6740,1,0,0,0,6743,6734,1,0,0,0,6743,6744,1,0,0,0,6744,613,1,0,0,0,6745,6746,7,106,0,0,6746,6751,5,857,0,0,6747,6752,3,716,358,0,6748,6752,5,883,0,0,6749,6752,3,686,343,0,6750,6752,3,708,354,0,6751,6747,1,0,0,0,6751,6748,1,0,0,0,6751,6749,1,0,0,0,6751,6750,1,0,0,0,6752,615,1,0,0,0,6753,6755,5,194,0,0,6754,6756,5,552,0,0,6755,6754,1,0,0,0,6755,6756,1,0,0,0,6756,6757,1,0,0,0,6757,6762,3,52,26,0,6758,6759,5,868,0,0,6759,6761,3,52,26,0,6760,6758,1,0,0,0,6761,6764,1,0,0,0,6762,6760,1,0,0,0,6762,6763,1,0,0,0,6763,617,1,0,0,0,6764,6762,1,0,0,0,6765,6766,5,173,0,0,6766,6768,3,652,326,0,6767,6769,3,258,129,0,6768,6767,1,0,0,0,6768,6769,1,0,0,0,6769,6771,1,0,0,0,6770,6772,3,318,159,0,6771,6770,1,0,0,0,6771,6772,1,0,0,0,6772,619,1,0,0,0,6773,6775,5,72,0,0,6774,6776,7,107,0,0,6775,6774,1,0,0,0,6775,6776,1,0,0,0,6776,6777,1,0,0,0,6777,6809,5,48,0,0,6778,6779,3,558,279,0,6779,6780,5,857,0,0,6780,6788,7,108,0,0,6781,6782,5,868,0,0,6782,6783,3,558,279,0,6783,6784,5,857,0,0,6784,6785,7,108,0,0,6785,6787,1,0,0,0,6786,6781,1,0,0,0,6787,6790,1,0,0,0,6788,6786,1,0,0,0,6788,6789,1,0,0,0,6789,6810,1,0,0,0,6790,6788,1,0,0,0,6791,6794,5,30,0,0,6792,6795,3,712,356,0,6793,6795,3,558,279,0,6794,6792,1,0,0,0,6794,6793,1,0,0,0,6795,6796,1,0,0,0,6796,6797,3,558,279,0,6797,6798,5,857,0,0,6798,6806,3,622,311,0,6799,6800,5,868,0,0,6800,6801,3,558,279,0,6801,6802,5,857,0,0,6802,6803,3,622,311,0,6803,6805,1,0,0,0,6804,6799,1,0,0,0,6805,6808,1,0,0,0,6806,6804,1,0,0,0,6806,6807,1,0,0,0,6807,6810,1,0,0,0,6808,6806,1,0,0,0,6809,6778,1,0,0,0,6809,6791,1,0,0,0,6810,621,1,0,0,0,6811,6812,7,109,0,0,6812,623,1,0,0,0,6813,6819,3,210,105,0,6814,6819,3,186,93,0,6815,6819,3,192,96,0,6816,6819,3,208,104,0,6817,6819,3,220,110,0,6818,6813,1,0,0,0,6818,6814,1,0,0,0,6818,6815,1,0,0,0,6818,6816,1,0,0,0,6818,6817,1,0,0,0,6819,6824,1,0,0,0,6820,6821,5,65,0,0,6821,6822,5,349,0,0,6822,6824,3,706,353,0,6823,6818,1,0,0,0,6823,6820,1,0,0,0,6824,625,1,0,0,0,6825,6826,3,702,351,0,6826,627,1,0,0,0,6827,6828,3,702,351,0,6828,629,1,0,0,0,6829,6830,3,702,351,0,6830,631,1,0,0,0,6831,6832,3,702,351,0,6832,633,1,0,0,0,6833,6834,3,702,351,0,6834,635,1,0,0,0,6835,6836,3,702,351,0,6836,637,1,0,0,0,6837,6838,3,706,353,0,6838,639,1,0,0,0,6839,6844,3,642,321,0,6840,6841,5,868,0,0,6841,6843,3,642,321,0,6842,6840,1,0,0,0,6843,6846,1,0,0,0,6844,6842,1,0,0,0,6844,6845,1,0,0,0,6845,641,1,0,0,0,6846,6844,1,0,0,0,6847,6848,3,706,353,0,6848,643,1,0,0,0,6849,6850,3,706,353,0,6850,645,1,0,0,0,6851,6852,3,706,353,0,6852,647,1,0,0,0,6853,6854,3,702,351,0,6854,649,1,0,0,0,6855,6860,3,652,326,0,6856,6857,5,868,0,0,6857,6859,3,652,326,0,6858,6856,1,0,0,0,6859,6862,1,0,0,0,6860,6858,1,0,0,0,6860,6861,1,0,0,0,6861,651,1,0,0,0,6862,6860,1,0,0,0,6863,6864,3,702,351,0,6864,653,1,0,0,0,6865,6870,3,656,328,0,6866,6867,5,868,0,0,6867,6869,3,656,328,0,6868,6866,1,0,0,0,6869,6872,1,0,0,0,6870,6868,1,0,0,0,6870,6871,1,0,0,0,6871,655,1,0,0,0,6872,6870,1,0,0,0,6873,6876,3,684,342,0,6874,6876,3,706,353,0,6875,6873,1,0,0,0,6875,6874,1,0,0,0,6876,657,1,0,0,0,6877,6882,3,706,353,0,6878,6880,3,710,355,0,6879,6881,3,710,355,0,6880,6879,1,0,0,0,6880,6881,1,0,0,0,6881,6883,1,0,0,0,6882,6878,1,0,0,0,6882,6883,1,0,0,0,6883,6892,1,0,0,0,6884,6886,9,0,0,0,6885,6884,1,0,0,0,6885,6886,1,0,0,0,6886,6887,1,0,0,0,6887,6889,3,710,355,0,6888,6890,3,710,355,0,6889,6888,1,0,0,0,6889,6890,1,0,0,0,6890,6892,1,0,0,0,6891,6877,1,0,0,0,6891,6885,1,0,0,0,6892,659,1,0,0,0,6893,6898,3,662,331,0,6894,6895,5,868,0,0,6895,6897,3,662,331,0,6896,6894,1,0,0,0,6897,6900,1,0,0,0,6898,6896,1,0,0,0,6898,6899,1,0,0,0,6899,661,1,0,0,0,6900,6898,1,0,0,0,6901,6906,3,706,353,0,6902,6904,3,710,355,0,6903,6905,3,710,355,0,6904,6903,1,0,0,0,6904,6905,1,0,0,0,6905,6907,1,0,0,0,6906,6902,1,0,0,0,6906,6907,1,0,0,0,6907,6917,1,0,0,0,6908,6910,9,0,0,0,6909,6908,1,0,0,0,6909,6910,1,0,0,0,6910,6911,1,0,0,0,6911,6913,3,710,355,0,6912,6914,3,710,355,0,6913,6912,1,0,0,0,6913,6914,1,0,0,0,6914,6917,1,0,0,0,6915,6917,4,331,3,0,6916,6901,1,0,0,0,6916,6909,1,0,0,0,6916,6915,1,0,0,0,6917,663,1,0,0,0,6918,6919,3,706,353,0,6919,665,1,0,0,0,6920,6921,3,706,353,0,6921,667,1,0,0,0,6922,6923,3,706,353,0,6923,669,1,0,0,0,6924,6929,3,672,336,0,6925,6926,5,868,0,0,6926,6928,3,672,336,0,6927,6925,1,0,0,0,6928,6931,1,0,0,0,6929,6927,1,0,0,0,6929,6930,1,0,0,0,6930,671,1,0,0,0,6931,6929,1,0,0,0,6932,6933,3,706,353,0,6933,673,1,0,0,0,6934,6939,3,706,353,0,6935,6936,5,866,0,0,6936,6937,3,712,356,0,6937,6938,5,867,0,0,6938,6940,1,0,0,0,6939,6935,1,0,0,0,6939,6940,1,0,0,0,6940,6943,1,0,0,0,6941,6943,3,804,402,0,6942,6934,1,0,0,0,6942,6941,1,0,0,0,6943,6945,1,0,0,0,6944,6946,7,55,0,0,6945,6944,1,0,0,0,6945,6946,1,0,0,0,6946,675,1,0,0,0,6947,6948,3,678,339,0,6948,6949,5,878,0,0,6949,6950,3,712,356,0,6950,677,1,0,0,0,6951,6952,3,680,340,0,6952,6953,5,891,0,0,6953,679,1,0,0,0,6954,6959,5,882,0,0,6955,6959,5,889,0,0,6956,6959,5,704,0,0,6957,6959,3,834,417,0,6958,6954,1,0,0,0,6958,6955,1,0,0,0,6958,6956,1,0,0,0,6958,6957,1,0,0,0,6959,681,1,0,0,0,6960,6961,7,110,0,0,6961,683,1,0,0,0,6962,6964,3,680,340,0,6963,6965,3,682,341,0,6964,6963,1,0,0,0,6964,6965,1,0,0,0,6965,6968,1,0,0,0,6966,6968,3,60,30,0,6967,6962,1,0,0,0,6967,6966,1,0,0,0,6968,685,1,0,0,0,6969,6970,7,111,0,0,6970,687,1,0,0,0,6971,6976,5,228,0,0,6972,6976,3,824,412,0,6973,6976,5,882,0,0,6974,6976,5,879,0,0,6975,6971,1,0,0,0,6975,6972,1,0,0,0,6975,6973,1,0,0,0,6975,6974,1,0,0,0,6976,689,1,0,0,0,6977,6978,3,706,353,0,6978,691,1,0,0,0,6979,6983,3,694,347,0,6980,6983,5,889,0,0,6981,6983,5,882,0,0,6982,6979,1,0,0,0,6982,6980,1,0,0,0,6982,6981,1,0,0,0,6983,693,1,0,0,0,6984,6985,7,112,0,0,6985,695,1,0,0,0,6986,6987,3,712,356,0,6987,6988,5,854,0,0,6988,6989,3,712,356,0,6989,6990,5,854,0,0,6990,6991,3,712,356,0,6991,6992,5,854,0,0,6992,6993,3,712,356,0,6993,6994,5,854,0,0,6994,7e3,3,712,356,0,6995,6996,5,878,0,0,6996,6997,3,712,356,0,6997,6998,5,854,0,0,6998,6999,3,712,356,0,6999,7001,1,0,0,0,7e3,6995,1,0,0,0,7001,7002,1,0,0,0,7002,7e3,1,0,0,0,7002,7003,1,0,0,0,7003,697,1,0,0,0,7004,7011,3,700,350,0,7005,7006,5,868,0,0,7006,7009,3,700,350,0,7007,7008,5,868,0,0,7008,7010,3,712,356,0,7009,7007,1,0,0,0,7009,7010,1,0,0,0,7010,7012,1,0,0,0,7011,7005,1,0,0,0,7011,7012,1,0,0,0,7012,699,1,0,0,0,7013,7021,5,882,0,0,7014,7021,5,887,0,0,7015,7017,5,884,0,0,7016,7015,1,0,0,0,7017,7018,1,0,0,0,7018,7016,1,0,0,0,7018,7019,1,0,0,0,7019,7021,1,0,0,0,7020,7013,1,0,0,0,7020,7014,1,0,0,0,7020,7016,1,0,0,0,7021,701,1,0,0,0,7022,7024,3,706,353,0,7023,7025,3,710,355,0,7024,7023,1,0,0,0,7024,7025,1,0,0,0,7025,703,1,0,0,0,7026,7031,3,706,353,0,7027,7028,5,868,0,0,7028,7030,3,706,353,0,7029,7027,1,0,0,0,7030,7033,1,0,0,0,7031,7029,1,0,0,0,7031,7032,1,0,0,0,7032,705,1,0,0,0,7033,7031,1,0,0,0,7034,7038,3,708,354,0,7035,7038,5,879,0,0,7036,7038,5,882,0,0,7037,7034,1,0,0,0,7037,7035,1,0,0,0,7037,7036,1,0,0,0,7038,707,1,0,0,0,7039,7049,5,889,0,0,7040,7049,3,824,412,0,7041,7049,3,826,413,0,7042,7049,3,694,347,0,7043,7049,3,828,414,0,7044,7049,3,830,415,0,7045,7049,3,832,416,0,7046,7049,3,834,417,0,7047,7049,3,796,398,0,7048,7039,1,0,0,0,7048,7040,1,0,0,0,7048,7041,1,0,0,0,7048,7042,1,0,0,0,7048,7043,1,0,0,0,7048,7044,1,0,0,0,7048,7045,1,0,0,0,7048,7046,1,0,0,0,7048,7047,1,0,0,0,7049,709,1,0,0,0,7050,7051,5,865,0,0,7051,7055,5,889,0,0,7052,7053,5,865,0,0,7053,7055,3,706,353,0,7054,7050,1,0,0,0,7054,7052,1,0,0,0,7055,711,1,0,0,0,7056,7057,7,113,0,0,7057,713,1,0,0,0,7058,7061,5,880,0,0,7059,7061,3,712,356,0,7060,7058,1,0,0,0,7060,7059,1,0,0,0,7061,715,1,0,0,0,7062,7064,5,888,0,0,7063,7062,1,0,0,0,7063,7064,1,0,0,0,7064,7065,1,0,0,0,7065,7068,5,882,0,0,7066,7068,5,881,0,0,7067,7063,1,0,0,0,7067,7066,1,0,0,0,7068,7070,1,0,0,0,7069,7071,5,882,0,0,7070,7069,1,0,0,0,7071,7072,1,0,0,0,7072,7070,1,0,0,0,7072,7073,1,0,0,0,7073,7086,1,0,0,0,7074,7076,5,888,0,0,7075,7074,1,0,0,0,7075,7076,1,0,0,0,7076,7077,1,0,0,0,7077,7080,5,882,0,0,7078,7080,5,881,0,0,7079,7075,1,0,0,0,7079,7078,1,0,0,0,7080,7083,1,0,0,0,7081,7082,5,28,0,0,7082,7084,3,690,345,0,7083,7081,1,0,0,0,7083,7084,1,0,0,0,7084,7086,1,0,0,0,7085,7067,1,0,0,0,7085,7079,1,0,0,0,7086,717,1,0,0,0,7087,7088,7,114,0,0,7088,719,1,0,0,0,7089,7091,5,888,0,0,7090,7089,1,0,0,0,7090,7091,1,0,0,0,7091,7092,1,0,0,0,7092,7093,5,884,0,0,7093,721,1,0,0,0,7094,7096,5,114,0,0,7095,7094,1,0,0,0,7095,7096,1,0,0,0,7096,7097,1,0,0,0,7097,7098,7,115,0,0,7098,723,1,0,0,0,7099,7112,3,716,358,0,7100,7112,3,712,356,0,7101,7102,5,854,0,0,7102,7112,3,712,356,0,7103,7112,3,720,360,0,7104,7112,3,718,359,0,7105,7112,5,885,0,0,7106,7112,5,887,0,0,7107,7109,5,114,0,0,7108,7107,1,0,0,0,7108,7109,1,0,0,0,7109,7110,1,0,0,0,7110,7112,7,115,0,0,7111,7099,1,0,0,0,7111,7100,1,0,0,0,7111,7101,1,0,0,0,7111,7103,1,0,0,0,7111,7104,1,0,0,0,7111,7105,1,0,0,0,7111,7106,1,0,0,0,7111,7108,1,0,0,0,7112,725,1,0,0,0,7113,7115,7,116,0,0,7114,7116,5,240,0,0,7115,7114,1,0,0,0,7115,7116,1,0,0,0,7116,7118,1,0,0,0,7117,7119,3,732,366,0,7118,7117,1,0,0,0,7118,7119,1,0,0,0,7119,7121,1,0,0,0,7120,7122,5,228,0,0,7121,7120,1,0,0,0,7121,7122,1,0,0,0,7122,7126,1,0,0,0,7123,7124,3,58,29,0,7124,7125,3,688,344,0,7125,7127,1,0,0,0,7126,7123,1,0,0,0,7126,7127,1,0,0,0,7127,7131,1,0,0,0,7128,7129,5,28,0,0,7129,7132,3,690,345,0,7130,7132,5,228,0,0,7131,7128,1,0,0,0,7131,7130,1,0,0,0,7131,7132,1,0,0,0,7132,7240,1,0,0,0,7133,7134,5,227,0,0,7134,7135,7,117,0,0,7135,7137,5,240,0,0,7136,7138,3,732,366,0,7137,7136,1,0,0,0,7137,7138,1,0,0,0,7138,7140,1,0,0,0,7139,7141,5,228,0,0,7140,7139,1,0,0,0,7140,7141,1,0,0,0,7141,7240,1,0,0,0,7142,7143,5,227,0,0,7143,7145,7,118,0,0,7144,7146,3,732,366,0,7145,7144,1,0,0,0,7145,7146,1,0,0,0,7146,7148,1,0,0,0,7147,7149,5,228,0,0,7148,7147,1,0,0,0,7148,7149,1,0,0,0,7149,7240,1,0,0,0,7150,7151,5,498,0,0,7151,7153,5,225,0,0,7152,7154,3,732,366,0,7153,7152,1,0,0,0,7153,7154,1,0,0,0,7154,7156,1,0,0,0,7155,7157,5,228,0,0,7156,7155,1,0,0,0,7156,7157,1,0,0,0,7157,7240,1,0,0,0,7158,7160,7,119,0,0,7159,7161,3,732,366,0,7160,7159,1,0,0,0,7160,7161,1,0,0,0,7161,7165,1,0,0,0,7162,7164,7,120,0,0,7163,7162,1,0,0,0,7164,7167,1,0,0,0,7165,7163,1,0,0,0,7165,7166,1,0,0,0,7166,7240,1,0,0,0,7167,7165,1,0,0,0,7168,7170,5,210,0,0,7169,7171,3,734,367,0,7170,7169,1,0,0,0,7170,7171,1,0,0,0,7171,7175,1,0,0,0,7172,7174,7,120,0,0,7173,7172,1,0,0,0,7174,7177,1,0,0,0,7175,7173,1,0,0,0,7175,7176,1,0,0,0,7176,7240,1,0,0,0,7177,7175,1,0,0,0,7178,7180,5,211,0,0,7179,7181,5,212,0,0,7180,7179,1,0,0,0,7180,7181,1,0,0,0,7181,7183,1,0,0,0,7182,7184,3,734,367,0,7183,7182,1,0,0,0,7183,7184,1,0,0,0,7184,7188,1,0,0,0,7185,7187,7,120,0,0,7186,7185,1,0,0,0,7187,7190,1,0,0,0,7188,7186,1,0,0,0,7188,7189,1,0,0,0,7189,7240,1,0,0,0,7190,7188,1,0,0,0,7191,7193,7,121,0,0,7192,7194,3,736,368,0,7193,7192,1,0,0,0,7193,7194,1,0,0,0,7194,7198,1,0,0,0,7195,7197,7,120,0,0,7196,7195,1,0,0,0,7197,7200,1,0,0,0,7198,7196,1,0,0,0,7198,7199,1,0,0,0,7199,7240,1,0,0,0,7200,7198,1,0,0,0,7201,7240,7,122,0,0,7202,7204,7,123,0,0,7203,7205,3,732,366,0,7204,7203,1,0,0,0,7204,7205,1,0,0,0,7205,7240,1,0,0,0,7206,7207,7,124,0,0,7207,7209,3,728,364,0,7208,7210,5,228,0,0,7209,7208,1,0,0,0,7209,7210,1,0,0,0,7210,7214,1,0,0,0,7211,7212,3,58,29,0,7212,7213,3,688,344,0,7213,7215,1,0,0,0,7214,7211,1,0,0,0,7214,7215,1,0,0,0,7215,7240,1,0,0,0,7216,7219,7,125,0,0,7217,7218,5,834,0,0,7218,7220,3,712,356,0,7219,7217,1,0,0,0,7219,7220,1,0,0,0,7220,7240,1,0,0,0,7221,7223,5,233,0,0,7222,7224,5,225,0,0,7223,7222,1,0,0,0,7223,7224,1,0,0,0,7224,7226,1,0,0,0,7225,7227,5,228,0,0,7226,7225,1,0,0,0,7226,7227,1,0,0,0,7227,7231,1,0,0,0,7228,7229,3,58,29,0,7229,7230,3,688,344,0,7230,7232,1,0,0,0,7231,7228,1,0,0,0,7231,7232,1,0,0,0,7232,7235,1,0,0,0,7233,7234,5,28,0,0,7234,7236,3,690,345,0,7235,7233,1,0,0,0,7235,7236,1,0,0,0,7236,7240,1,0,0,0,7237,7238,5,233,0,0,7238,7240,5,229,0,0,7239,7113,1,0,0,0,7239,7133,1,0,0,0,7239,7142,1,0,0,0,7239,7150,1,0,0,0,7239,7158,1,0,0,0,7239,7168,1,0,0,0,7239,7178,1,0,0,0,7239,7191,1,0,0,0,7239,7201,1,0,0,0,7239,7202,1,0,0,0,7239,7206,1,0,0,0,7239,7216,1,0,0,0,7239,7221,1,0,0,0,7239,7237,1,0,0,0,7240,727,1,0,0,0,7241,7242,5,866,0,0,7242,7247,5,882,0,0,7243,7244,5,868,0,0,7244,7246,5,882,0,0,7245,7243,1,0,0,0,7246,7249,1,0,0,0,7247,7245,1,0,0,0,7247,7248,1,0,0,0,7248,7250,1,0,0,0,7249,7247,1,0,0,0,7250,7251,5,867,0,0,7251,729,1,0,0,0,7252,7254,7,126,0,0,7253,7255,3,732,366,0,7254,7253,1,0,0,0,7254,7255,1,0,0,0,7255,7275,1,0,0,0,7256,7258,5,224,0,0,7257,7259,3,732,366,0,7258,7257,1,0,0,0,7258,7259,1,0,0,0,7259,7263,1,0,0,0,7260,7261,3,58,29,0,7261,7262,3,688,344,0,7262,7264,1,0,0,0,7263,7260,1,0,0,0,7263,7264,1,0,0,0,7264,7275,1,0,0,0,7265,7275,7,127,0,0,7266,7268,7,128,0,0,7267,7269,3,736,368,0,7268,7267,1,0,0,0,7268,7269,1,0,0,0,7269,7275,1,0,0,0,7270,7272,7,129,0,0,7271,7273,7,130,0,0,7272,7271,1,0,0,0,7272,7273,1,0,0,0,7273,7275,1,0,0,0,7274,7252,1,0,0,0,7274,7256,1,0,0,0,7274,7265,1,0,0,0,7274,7266,1,0,0,0,7274,7270,1,0,0,0,7275,7277,1,0,0,0,7276,7278,5,12,0,0,7277,7276,1,0,0,0,7277,7278,1,0,0,0,7278,731,1,0,0,0,7279,7280,5,866,0,0,7280,7281,3,712,356,0,7281,7282,5,867,0,0,7282,733,1,0,0,0,7283,7284,5,866,0,0,7284,7285,3,712,356,0,7285,7286,5,868,0,0,7286,7287,3,712,356,0,7287,7288,5,867,0,0,7288,735,1,0,0,0,7289,7290,5,866,0,0,7290,7293,3,712,356,0,7291,7292,5,868,0,0,7292,7294,3,712,356,0,7293,7291,1,0,0,0,7293,7294,1,0,0,0,7294,7295,1,0,0,0,7295,7296,5,867,0,0,7296,737,1,0,0,0,7297,7298,5,866,0,0,7298,7303,3,674,337,0,7299,7300,5,868,0,0,7300,7302,3,674,337,0,7301,7299,1,0,0,0,7302,7305,1,0,0,0,7303,7301,1,0,0,0,7303,7304,1,0,0,0,7304,7306,1,0,0,0,7305,7303,1,0,0,0,7306,7307,5,867,0,0,7307,739,1,0,0,0,7308,7313,3,804,402,0,7309,7310,5,868,0,0,7310,7312,3,804,402,0,7311,7309,1,0,0,0,7312,7315,1,0,0,0,7313,7311,1,0,0,0,7313,7314,1,0,0,0,7314,741,1,0,0,0,7315,7313,1,0,0,0,7316,7317,7,131,0,0,7317,7322,3,744,372,0,7318,7319,5,868,0,0,7319,7321,3,744,372,0,7320,7318,1,0,0,0,7321,7324,1,0,0,0,7322,7320,1,0,0,0,7322,7323,1,0,0,0,7323,743,1,0,0,0,7324,7322,1,0,0,0,7325,7326,5,866,0,0,7326,7331,3,746,373,0,7327,7328,5,868,0,0,7328,7330,3,746,373,0,7329,7327,1,0,0,0,7330,7333,1,0,0,0,7331,7329,1,0,0,0,7331,7332,1,0,0,0,7332,7334,1,0,0,0,7333,7331,1,0,0,0,7334,7335,5,867,0,0,7335,745,1,0,0,0,7336,7339,3,804,402,0,7337,7339,5,42,0,0,7338,7336,1,0,0,0,7338,7337,1,0,0,0,7339,747,1,0,0,0,7340,7345,3,724,362,0,7341,7342,5,868,0,0,7342,7344,3,724,362,0,7343,7341,1,0,0,0,7344,7347,1,0,0,0,7345,7343,1,0,0,0,7345,7346,1,0,0,0,7346,749,1,0,0,0,7347,7345,1,0,0,0,7348,7353,5,882,0,0,7349,7350,5,868,0,0,7350,7352,5,882,0,0,7351,7349,1,0,0,0,7352,7355,1,0,0,0,7353,7351,1,0,0,0,7353,7354,1,0,0,0,7354,751,1,0,0,0,7355,7353,1,0,0,0,7356,7361,5,892,0,0,7357,7358,5,868,0,0,7358,7360,5,892,0,0,7359,7357,1,0,0,0,7360,7363,1,0,0,0,7361,7359,1,0,0,0,7361,7362,1,0,0,0,7362,753,1,0,0,0,7363,7361,1,0,0,0,7364,7391,5,116,0,0,7365,7366,5,24,0,0,7366,7367,5,866,0,0,7367,7368,3,804,402,0,7368,7369,5,13,0,0,7369,7370,3,730,365,0,7370,7371,5,867,0,0,7371,7391,1,0,0,0,7372,7374,3,810,405,0,7373,7372,1,0,0,0,7373,7374,1,0,0,0,7374,7375,1,0,0,0,7375,7391,3,724,362,0,7376,7380,3,756,378,0,7377,7378,5,119,0,0,7378,7379,5,185,0,0,7379,7381,3,756,378,0,7380,7377,1,0,0,0,7380,7381,1,0,0,0,7381,7391,1,0,0,0,7382,7383,5,866,0,0,7383,7384,3,804,402,0,7384,7385,5,867,0,0,7385,7391,1,0,0,0,7386,7387,5,866,0,0,7387,7388,3,702,351,0,7388,7389,5,867,0,0,7389,7391,1,0,0,0,7390,7364,1,0,0,0,7390,7365,1,0,0,0,7390,7373,1,0,0,0,7390,7376,1,0,0,0,7390,7382,1,0,0,0,7390,7386,1,0,0,0,7391,755,1,0,0,0,7392,7398,7,132,0,0,7393,7395,5,866,0,0,7394,7396,3,712,356,0,7395,7394,1,0,0,0,7395,7396,1,0,0,0,7396,7397,1,0,0,0,7397,7399,5,867,0,0,7398,7393,1,0,0,0,7398,7399,1,0,0,0,7399,7407,1,0,0,0,7400,7401,5,295,0,0,7401,7403,5,866,0,0,7402,7404,3,712,356,0,7403,7402,1,0,0,0,7403,7404,1,0,0,0,7404,7405,1,0,0,0,7405,7407,5,867,0,0,7406,7392,1,0,0,0,7406,7400,1,0,0,0,7407,757,1,0,0,0,7408,7409,5,78,0,0,7409,7410,5,60,0,0,7410,759,1,0,0,0,7411,7412,5,78,0,0,7412,7413,5,114,0,0,7413,7414,5,60,0,0,7414,761,1,0,0,0,7415,7416,5,124,0,0,7416,7417,5,143,0,0,7417,763,1,0,0,0,7418,7441,3,766,383,0,7419,7441,3,774,387,0,7420,7441,3,776,388,0,7421,7428,3,796,398,0,7422,7423,5,866,0,0,7423,7429,5,867,0,0,7424,7425,5,866,0,0,7425,7426,3,800,400,0,7426,7427,5,867,0,0,7427,7429,1,0,0,0,7428,7422,1,0,0,0,7428,7424,1,0,0,0,7429,7441,1,0,0,0,7430,7437,3,632,316,0,7431,7432,5,866,0,0,7432,7438,5,867,0,0,7433,7434,5,866,0,0,7434,7435,3,800,400,0,7435,7436,5,867,0,0,7436,7438,1,0,0,0,7437,7431,1,0,0,0,7437,7433,1,0,0,0,7438,7441,1,0,0,0,7439,7441,3,798,399,0,7440,7418,1,0,0,0,7440,7419,1,0,0,0,7440,7420,1,0,0,0,7440,7421,1,0,0,0,7440,7430,1,0,0,0,7440,7439,1,0,0,0,7441,765,1,0,0,0,7442,7445,7,133,0,0,7443,7444,5,866,0,0,7444,7446,5,867,0,0,7445,7443,1,0,0,0,7445,7446,1,0,0,0,7446,7622,1,0,0,0,7447,7622,3,60,30,0,7448,7449,5,33,0,0,7449,7450,5,866,0,0,7450,7451,3,804,402,0,7451,7452,5,868,0,0,7452,7453,3,730,365,0,7453,7454,5,867,0,0,7454,7622,1,0,0,0,7455,7456,5,33,0,0,7456,7457,5,866,0,0,7457,7458,3,804,402,0,7458,7459,5,188,0,0,7459,7460,3,688,344,0,7460,7461,5,867,0,0,7461,7622,1,0,0,0,7462,7463,5,24,0,0,7463,7464,5,866,0,0,7464,7465,3,804,402,0,7465,7466,5,13,0,0,7466,7467,3,730,365,0,7467,7468,5,867,0,0,7468,7622,1,0,0,0,7469,7470,5,189,0,0,7470,7471,5,866,0,0,7471,7472,3,662,331,0,7472,7473,5,867,0,0,7473,7622,1,0,0,0,7474,7476,5,23,0,0,7475,7477,3,768,384,0,7476,7475,1,0,0,0,7477,7478,1,0,0,0,7478,7476,1,0,0,0,7478,7479,1,0,0,0,7479,7482,1,0,0,0,7480,7481,5,53,0,0,7481,7483,3,802,401,0,7482,7480,1,0,0,0,7482,7483,1,0,0,0,7483,7484,1,0,0,0,7484,7485,5,378,0,0,7485,7622,1,0,0,0,7486,7487,5,23,0,0,7487,7489,3,804,402,0,7488,7490,3,768,384,0,7489,7488,1,0,0,0,7490,7491,1,0,0,0,7491,7489,1,0,0,0,7491,7492,1,0,0,0,7492,7495,1,0,0,0,7493,7494,5,53,0,0,7494,7496,3,802,401,0,7495,7493,1,0,0,0,7495,7496,1,0,0,0,7496,7497,1,0,0,0,7497,7498,5,378,0,0,7498,7622,1,0,0,0,7499,7500,5,224,0,0,7500,7501,5,866,0,0,7501,7504,3,800,400,0,7502,7503,5,188,0,0,7503,7505,3,688,344,0,7504,7502,1,0,0,0,7504,7505,1,0,0,0,7505,7506,1,0,0,0,7506,7507,5,867,0,0,7507,7622,1,0,0,0,7508,7509,5,296,0,0,7509,7512,5,866,0,0,7510,7513,3,716,358,0,7511,7513,3,804,402,0,7512,7510,1,0,0,0,7512,7511,1,0,0,0,7513,7514,1,0,0,0,7514,7517,5,80,0,0,7515,7518,3,716,358,0,7516,7518,3,804,402,0,7517,7515,1,0,0,0,7517,7516,1,0,0,0,7518,7519,1,0,0,0,7519,7520,5,867,0,0,7520,7622,1,0,0,0,7521,7522,7,134,0,0,7522,7525,5,866,0,0,7523,7526,3,716,358,0,7524,7526,3,804,402,0,7525,7523,1,0,0,0,7525,7524,1,0,0,0,7526,7527,1,0,0,0,7527,7530,5,68,0,0,7528,7531,3,712,356,0,7529,7531,3,804,402,0,7530,7528,1,0,0,0,7530,7529,1,0,0,0,7531,7537,1,0,0,0,7532,7535,5,65,0,0,7533,7536,3,712,356,0,7534,7536,3,804,402,0,7535,7533,1,0,0,0,7535,7534,1,0,0,0,7536,7538,1,0,0,0,7537,7532,1,0,0,0,7537,7538,1,0,0,0,7538,7539,1,0,0,0,7539,7540,5,867,0,0,7540,7622,1,0,0,0,7541,7542,5,300,0,0,7542,7543,5,866,0,0,7543,7546,7,135,0,0,7544,7547,3,716,358,0,7545,7547,3,804,402,0,7546,7544,1,0,0,0,7546,7545,1,0,0,0,7546,7547,1,0,0,0,7547,7548,1,0,0,0,7548,7551,5,68,0,0,7549,7552,3,716,358,0,7550,7552,3,804,402,0,7551,7549,1,0,0,0,7551,7550,1,0,0,0,7552,7553,1,0,0,0,7553,7554,5,867,0,0,7554,7622,1,0,0,0,7555,7556,5,300,0,0,7556,7559,5,866,0,0,7557,7560,3,716,358,0,7558,7560,3,804,402,0,7559,7557,1,0,0,0,7559,7558,1,0,0,0,7560,7561,1,0,0,0,7561,7564,5,68,0,0,7562,7565,3,716,358,0,7563,7565,3,804,402,0,7564,7562,1,0,0,0,7564,7563,1,0,0,0,7565,7566,1,0,0,0,7566,7567,5,867,0,0,7567,7622,1,0,0,0,7568,7569,5,840,0,0,7569,7572,5,866,0,0,7570,7573,3,716,358,0,7571,7573,3,804,402,0,7572,7570,1,0,0,0,7572,7571,1,0,0,0,7573,7580,1,0,0,0,7574,7575,5,13,0,0,7575,7576,7,136,0,0,7576,7577,5,866,0,0,7577,7578,3,712,356,0,7578,7579,5,867,0,0,7579,7581,1,0,0,0,7580,7574,1,0,0,0,7580,7581,1,0,0,0,7581,7583,1,0,0,0,7582,7584,3,770,385,0,7583,7582,1,0,0,0,7583,7584,1,0,0,0,7584,7585,1,0,0,0,7585,7586,5,867,0,0,7586,7622,1,0,0,0,7587,7588,5,293,0,0,7588,7589,5,866,0,0,7589,7590,3,70,35,0,7590,7593,5,68,0,0,7591,7594,3,716,358,0,7592,7594,3,804,402,0,7593,7591,1,0,0,0,7593,7592,1,0,0,0,7594,7595,1,0,0,0,7595,7596,5,867,0,0,7596,7622,1,0,0,0,7597,7598,5,827,0,0,7598,7599,5,866,0,0,7599,7600,7,137,0,0,7600,7601,5,868,0,0,7601,7602,3,716,358,0,7602,7603,5,867,0,0,7603,7622,1,0,0,0,7604,7605,5,254,0,0,7605,7606,5,866,0,0,7606,7607,3,804,402,0,7607,7608,5,868,0,0,7608,7611,3,804,402,0,7609,7610,5,579,0,0,7610,7612,3,730,365,0,7611,7609,1,0,0,0,7611,7612,1,0,0,0,7612,7614,1,0,0,0,7613,7615,3,292,146,0,7614,7613,1,0,0,0,7614,7615,1,0,0,0,7615,7617,1,0,0,0,7616,7618,3,294,147,0,7617,7616,1,0,0,0,7617,7618,1,0,0,0,7618,7619,1,0,0,0,7619,7620,5,867,0,0,7620,7622,1,0,0,0,7621,7442,1,0,0,0,7621,7447,1,0,0,0,7621,7448,1,0,0,0,7621,7455,1,0,0,0,7621,7462,1,0,0,0,7621,7469,1,0,0,0,7621,7474,1,0,0,0,7621,7486,1,0,0,0,7621,7499,1,0,0,0,7621,7508,1,0,0,0,7621,7521,1,0,0,0,7621,7541,1,0,0,0,7621,7555,1,0,0,0,7621,7568,1,0,0,0,7621,7587,1,0,0,0,7621,7597,1,0,0,0,7621,7604,1,0,0,0,7622,767,1,0,0,0,7623,7624,5,191,0,0,7624,7625,3,802,401,0,7625,7626,5,175,0,0,7626,7627,3,802,401,0,7627,769,1,0,0,0,7628,7629,5,448,0,0,7629,7634,3,772,386,0,7630,7631,5,868,0,0,7631,7633,3,772,386,0,7632,7630,1,0,0,0,7633,7636,1,0,0,0,7634,7632,1,0,0,0,7634,7635,1,0,0,0,7635,7643,1,0,0,0,7636,7634,1,0,0,0,7637,7638,5,448,0,0,7638,7639,3,712,356,0,7639,7640,5,854,0,0,7640,7641,3,712,356,0,7641,7643,1,0,0,0,7642,7628,1,0,0,0,7642,7637,1,0,0,0,7643,771,1,0,0,0,7644,7646,3,712,356,0,7645,7647,7,138,0,0,7646,7645,1,0,0,0,7646,7647,1,0,0,0,7647,773,1,0,0,0,7648,7649,7,139,0,0,7649,7651,5,866,0,0,7650,7652,7,45,0,0,7651,7650,1,0,0,0,7651,7652,1,0,0,0,7652,7653,1,0,0,0,7653,7654,3,802,401,0,7654,7656,5,867,0,0,7655,7657,3,778,389,0,7656,7655,1,0,0,0,7656,7657,1,0,0,0,7657,7708,1,0,0,0,7658,7659,5,262,0,0,7659,7667,5,866,0,0,7660,7668,5,850,0,0,7661,7663,5,7,0,0,7662,7661,1,0,0,0,7662,7663,1,0,0,0,7663,7664,1,0,0,0,7664,7668,3,802,401,0,7665,7666,5,49,0,0,7666,7668,3,800,400,0,7667,7660,1,0,0,0,7667,7662,1,0,0,0,7667,7665,1,0,0,0,7668,7669,1,0,0,0,7669,7671,5,867,0,0,7670,7672,3,778,389,0,7671,7670,1,0,0,0,7671,7672,1,0,0,0,7672,7708,1,0,0,0,7673,7674,7,140,0,0,7674,7676,5,866,0,0,7675,7677,5,7,0,0,7676,7675,1,0,0,0,7676,7677,1,0,0,0,7677,7678,1,0,0,0,7678,7679,3,802,401,0,7679,7681,5,867,0,0,7680,7682,3,778,389,0,7681,7680,1,0,0,0,7681,7682,1,0,0,0,7682,7708,1,0,0,0,7683,7684,5,266,0,0,7684,7686,5,866,0,0,7685,7687,5,49,0,0,7686,7685,1,0,0,0,7686,7687,1,0,0,0,7687,7688,1,0,0,0,7688,7699,3,800,400,0,7689,7690,5,125,0,0,7690,7691,5,20,0,0,7691,7696,3,260,130,0,7692,7693,5,868,0,0,7693,7695,3,260,130,0,7694,7692,1,0,0,0,7695,7698,1,0,0,0,7696,7694,1,0,0,0,7696,7697,1,0,0,0,7697,7700,1,0,0,0,7698,7696,1,0,0,0,7699,7689,1,0,0,0,7699,7700,1,0,0,0,7700,7703,1,0,0,0,7701,7702,5,156,0,0,7702,7704,5,882,0,0,7703,7701,1,0,0,0,7703,7704,1,0,0,0,7704,7705,1,0,0,0,7705,7706,5,867,0,0,7706,7708,1,0,0,0,7707,7648,1,0,0,0,7707,7658,1,0,0,0,7707,7673,1,0,0,0,7707,7683,1,0,0,0,7708,775,1,0,0,0,7709,7710,7,141,0,0,7710,7711,5,866,0,0,7711,7714,3,804,402,0,7712,7713,5,868,0,0,7713,7715,3,712,356,0,7714,7712,1,0,0,0,7714,7715,1,0,0,0,7715,7718,1,0,0,0,7716,7717,5,868,0,0,7717,7719,3,712,356,0,7718,7716,1,0,0,0,7718,7719,1,0,0,0,7719,7720,1,0,0,0,7720,7721,5,867,0,0,7721,7722,3,778,389,0,7722,7748,1,0,0,0,7723,7724,7,142,0,0,7724,7725,5,866,0,0,7725,7726,3,804,402,0,7726,7727,5,867,0,0,7727,7728,3,778,389,0,7728,7748,1,0,0,0,7729,7730,7,143,0,0,7730,7731,5,866,0,0,7731,7732,5,867,0,0,7732,7748,3,778,389,0,7733,7734,5,273,0,0,7734,7735,5,866,0,0,7735,7736,3,804,402,0,7736,7737,5,868,0,0,7737,7738,3,712,356,0,7738,7739,5,867,0,0,7739,7740,3,778,389,0,7740,7748,1,0,0,0,7741,7742,5,272,0,0,7742,7743,5,866,0,0,7743,7744,3,712,356,0,7744,7745,5,867,0,0,7745,7746,3,778,389,0,7746,7748,1,0,0,0,7747,7709,1,0,0,0,7747,7723,1,0,0,0,7747,7729,1,0,0,0,7747,7733,1,0,0,0,7747,7741,1,0,0,0,7748,777,1,0,0,0,7749,7755,5,129,0,0,7750,7751,5,866,0,0,7751,7752,3,780,390,0,7752,7753,5,867,0,0,7753,7756,1,0,0,0,7754,7756,3,782,391,0,7755,7750,1,0,0,0,7755,7754,1,0,0,0,7756,779,1,0,0,0,7757,7759,3,782,391,0,7758,7757,1,0,0,0,7758,7759,1,0,0,0,7759,7761,1,0,0,0,7760,7762,3,794,397,0,7761,7760,1,0,0,0,7761,7762,1,0,0,0,7762,7764,1,0,0,0,7763,7765,3,258,129,0,7764,7763,1,0,0,0,7764,7765,1,0,0,0,7765,7767,1,0,0,0,7766,7768,3,784,392,0,7767,7766,1,0,0,0,7767,7768,1,0,0,0,7768,781,1,0,0,0,7769,7770,3,706,353,0,7770,783,1,0,0,0,7771,7772,3,786,393,0,7772,7773,3,788,394,0,7773,785,1,0,0,0,7774,7775,7,144,0,0,7775,787,1,0,0,0,7776,7779,3,792,396,0,7777,7779,3,790,395,0,7778,7776,1,0,0,0,7778,7777,1,0,0,0,7779,789,1,0,0,0,7780,7781,5,17,0,0,7781,7782,3,792,396,0,7782,7783,5,11,0,0,7783,7784,3,792,396,0,7784,791,1,0,0,0,7785,7786,5,36,0,0,7786,7793,5,586,0,0,7787,7788,5,669,0,0,7788,7793,7,145,0,0,7789,7790,3,804,402,0,7790,7791,7,145,0,0,7791,7793,1,0,0,0,7792,7785,1,0,0,0,7792,7787,1,0,0,0,7792,7789,1,0,0,0,7793,793,1,0,0,0,7794,7795,5,130,0,0,7795,7796,5,20,0,0,7796,7801,3,804,402,0,7797,7798,5,868,0,0,7798,7800,3,804,402,0,7799,7797,1,0,0,0,7800,7803,1,0,0,0,7801,7799,1,0,0,0,7801,7802,1,0,0,0,7802,795,1,0,0,0,7803,7801,1,0,0,0,7804,7829,3,836,418,0,7805,7829,5,757,0,0,7806,7829,5,289,0,0,7807,7829,5,285,0,0,7808,7829,5,286,0,0,7809,7829,5,287,0,0,7810,7829,5,290,0,0,7811,7829,5,291,0,0,7812,7829,5,292,0,0,7813,7829,5,78,0,0,7814,7829,5,86,0,0,7815,7829,5,288,0,0,7816,7829,5,294,0,0,7817,7829,5,488,0,0,7818,7829,5,295,0,0,7819,7829,5,142,0,0,7820,7829,5,143,0,0,7821,7829,5,297,0,0,7822,7829,5,298,0,0,7823,7829,5,299,0,0,7824,7829,5,300,0,0,7825,7829,5,301,0,0,7826,7829,5,302,0,0,7827,7829,5,303,0,0,7828,7804,1,0,0,0,7828,7805,1,0,0,0,7828,7806,1,0,0,0,7828,7807,1,0,0,0,7828,7808,1,0,0,0,7828,7809,1,0,0,0,7828,7810,1,0,0,0,7828,7811,1,0,0,0,7828,7812,1,0,0,0,7828,7813,1,0,0,0,7828,7814,1,0,0,0,7828,7815,1,0,0,0,7828,7816,1,0,0,0,7828,7817,1,0,0,0,7828,7818,1,0,0,0,7828,7819,1,0,0,0,7828,7820,1,0,0,0,7828,7821,1,0,0,0,7828,7822,1,0,0,0,7828,7823,1,0,0,0,7828,7824,1,0,0,0,7828,7825,1,0,0,0,7828,7826,1,0,0,0,7828,7827,1,0,0,0,7829,797,1,0,0,0,7830,7831,7,146,0,0,7831,7832,5,866,0,0,7832,7833,3,802,401,0,7833,7834,5,867,0,0,7834,799,1,0,0,0,7835,7840,3,802,401,0,7836,7837,5,868,0,0,7837,7839,3,802,401,0,7838,7836,1,0,0,0,7839,7842,1,0,0,0,7840,7838,1,0,0,0,7840,7841,1,0,0,0,7841,801,1,0,0,0,7842,7840,1,0,0,0,7843,7847,3,724,362,0,7844,7847,3,764,382,0,7845,7847,3,804,402,0,7846,7843,1,0,0,0,7846,7844,1,0,0,0,7846,7845,1,0,0,0,7847,803,1,0,0,0,7848,7849,6,402,-1,0,7849,7850,7,147,0,0,7850,7860,3,804,402,4,7851,7852,3,806,403,0,7852,7854,5,89,0,0,7853,7855,5,114,0,0,7854,7853,1,0,0,0,7854,7855,1,0,0,0,7855,7856,1,0,0,0,7856,7857,7,148,0,0,7857,7860,1,0,0,0,7858,7860,3,806,403,0,7859,7848,1,0,0,0,7859,7851,1,0,0,0,7859,7858,1,0,0,0,7860,7867,1,0,0,0,7861,7862,10,3,0,0,7862,7863,3,816,408,0,7863,7864,3,804,402,4,7864,7866,1,0,0,0,7865,7861,1,0,0,0,7866,7869,1,0,0,0,7867,7865,1,0,0,0,7867,7868,1,0,0,0,7868,805,1,0,0,0,7869,7867,1,0,0,0,7870,7871,6,403,-1,0,7871,7872,3,808,404,0,7872,7936,1,0,0,0,7873,7875,10,6,0,0,7874,7876,5,114,0,0,7875,7874,1,0,0,0,7875,7876,1,0,0,0,7876,7877,1,0,0,0,7877,7878,5,17,0,0,7878,7879,3,806,403,0,7879,7880,5,11,0,0,7880,7881,3,806,403,7,7881,7935,1,0,0,0,7882,7883,10,5,0,0,7883,7884,5,604,0,0,7884,7885,5,99,0,0,7885,7935,3,806,403,6,7886,7888,10,3,0,0,7887,7889,5,114,0,0,7888,7887,1,0,0,0,7888,7889,1,0,0,0,7889,7890,1,0,0,0,7890,7891,7,149,0,0,7891,7935,3,806,403,4,7892,7894,10,9,0,0,7893,7895,5,114,0,0,7894,7893,1,0,0,0,7894,7895,1,0,0,0,7895,7896,1,0,0,0,7896,7897,5,80,0,0,7897,7900,5,866,0,0,7898,7901,3,210,105,0,7899,7901,3,740,370,0,7900,7898,1,0,0,0,7900,7899,1,0,0,0,7901,7902,1,0,0,0,7902,7903,5,867,0,0,7903,7935,1,0,0,0,7904,7905,10,8,0,0,7905,7906,5,89,0,0,7906,7935,3,722,361,0,7907,7908,10,7,0,0,7908,7915,3,812,406,0,7909,7910,7,150,0,0,7910,7911,5,866,0,0,7911,7912,3,210,105,0,7912,7913,5,867,0,0,7913,7916,1,0,0,0,7914,7916,3,806,403,0,7915,7909,1,0,0,0,7915,7914,1,0,0,0,7916,7935,1,0,0,0,7917,7919,10,4,0,0,7918,7920,5,114,0,0,7919,7918,1,0,0,0,7919,7920,1,0,0,0,7920,7921,1,0,0,0,7921,7922,5,99,0,0,7922,7925,3,806,403,0,7923,7924,5,384,0,0,7924,7926,5,882,0,0,7925,7923,1,0,0,0,7925,7926,1,0,0,0,7926,7935,1,0,0,0,7927,7928,10,2,0,0,7928,7929,5,485,0,0,7929,7930,5,510,0,0,7930,7931,5,866,0,0,7931,7932,3,806,403,0,7932,7933,5,867,0,0,7933,7935,1,0,0,0,7934,7873,1,0,0,0,7934,7882,1,0,0,0,7934,7886,1,0,0,0,7934,7892,1,0,0,0,7934,7904,1,0,0,0,7934,7907,1,0,0,0,7934,7917,1,0,0,0,7934,7927,1,0,0,0,7935,7938,1,0,0,0,7936,7934,1,0,0,0,7936,7937,1,0,0,0,7937,807,1,0,0,0,7938,7936,1,0,0,0,7939,7940,6,404,-1,0,7940,7988,3,724,362,0,7941,7988,3,764,382,0,7942,7988,3,686,343,0,7943,7944,3,810,405,0,7944,7945,3,808,404,12,7945,7988,1,0,0,0,7946,7947,5,228,0,0,7947,7988,3,808,404,11,7948,7949,5,892,0,0,7949,7950,5,841,0,0,7950,7988,3,808,404,10,7951,7952,5,866,0,0,7952,7957,3,804,402,0,7953,7954,5,868,0,0,7954,7956,3,804,402,0,7955,7953,1,0,0,0,7956,7959,1,0,0,0,7957,7955,1,0,0,0,7957,7958,1,0,0,0,7958,7960,1,0,0,0,7959,7957,1,0,0,0,7960,7961,5,867,0,0,7961,7988,1,0,0,0,7962,7963,5,586,0,0,7963,7964,5,866,0,0,7964,7967,3,804,402,0,7965,7966,5,868,0,0,7966,7968,3,804,402,0,7967,7965,1,0,0,0,7968,7969,1,0,0,0,7969,7967,1,0,0,0,7969,7970,1,0,0,0,7970,7971,1,0,0,0,7971,7972,5,867,0,0,7972,7988,1,0,0,0,7973,7974,5,60,0,0,7974,7975,5,866,0,0,7975,7976,3,210,105,0,7976,7977,5,867,0,0,7977,7988,1,0,0,0,7978,7979,5,866,0,0,7979,7980,3,210,105,0,7980,7981,5,867,0,0,7981,7988,1,0,0,0,7982,7983,5,87,0,0,7983,7984,3,804,402,0,7984,7985,3,70,35,0,7985,7988,1,0,0,0,7986,7988,3,662,331,0,7987,7939,1,0,0,0,7987,7941,1,0,0,0,7987,7942,1,0,0,0,7987,7943,1,0,0,0,7987,7946,1,0,0,0,7987,7948,1,0,0,0,7987,7951,1,0,0,0,7987,7962,1,0,0,0,7987,7973,1,0,0,0,7987,7978,1,0,0,0,7987,7982,1,0,0,0,7987,7986,1,0,0,0,7988,8006,1,0,0,0,7989,7990,10,4,0,0,7990,7991,3,822,411,0,7991,7992,3,808,404,5,7992,8005,1,0,0,0,7993,7994,10,3,0,0,7994,7995,3,818,409,0,7995,7996,3,808,404,4,7996,8005,1,0,0,0,7997,7998,10,2,0,0,7998,7999,3,820,410,0,7999,8e3,3,808,404,3,8e3,8005,1,0,0,0,8001,8002,10,14,0,0,8002,8003,5,28,0,0,8003,8005,3,690,345,0,8004,7989,1,0,0,0,8004,7993,1,0,0,0,8004,7997,1,0,0,0,8004,8001,1,0,0,0,8005,8008,1,0,0,0,8006,8004,1,0,0,0,8006,8007,1,0,0,0,8007,809,1,0,0,0,8008,8006,1,0,0,0,8009,8010,7,151,0,0,8010,811,1,0,0,0,8011,8012,5,859,0,0,8012,8020,5,858,0,0,8013,8014,5,860,0,0,8014,8020,5,857,0,0,8015,8016,5,859,0,0,8016,8017,5,857,0,0,8017,8020,5,858,0,0,8018,8020,3,814,407,0,8019,8011,1,0,0,0,8019,8013,1,0,0,0,8019,8015,1,0,0,0,8019,8018,1,0,0,0,8020,813,1,0,0,0,8021,8022,5,859,0,0,8022,8029,5,857,0,0,8023,8024,5,858,0,0,8024,8029,5,857,0,0,8025,8029,5,857,0,0,8026,8029,5,858,0,0,8027,8029,5,859,0,0,8028,8021,1,0,0,0,8028,8023,1,0,0,0,8028,8025,1,0,0,0,8028,8026,1,0,0,0,8028,8027,1,0,0,0,8029,815,1,0,0,0,8030,8038,5,11,0,0,8031,8032,5,863,0,0,8032,8038,5,863,0,0,8033,8038,5,196,0,0,8034,8038,5,124,0,0,8035,8036,5,862,0,0,8036,8038,5,862,0,0,8037,8030,1,0,0,0,8037,8031,1,0,0,0,8037,8033,1,0,0,0,8037,8034,1,0,0,0,8037,8035,1,0,0,0,8038,817,1,0,0,0,8039,8040,5,859,0,0,8040,8047,5,859,0,0,8041,8042,5,858,0,0,8042,8047,5,858,0,0,8043,8047,5,863,0,0,8044,8047,5,864,0,0,8045,8047,5,862,0,0,8046,8039,1,0,0,0,8046,8041,1,0,0,0,8046,8043,1,0,0,0,8046,8044,1,0,0,0,8046,8045,1,0,0,0,8047,819,1,0,0,0,8048,8049,7,152,0,0,8049,821,1,0,0,0,8050,8051,5,854,0,0,8051,8056,5,858,0,0,8052,8053,5,854,0,0,8053,8054,5,858,0,0,8054,8056,5,858,0,0,8055,8050,1,0,0,0,8055,8052,1,0,0,0,8056,823,1,0,0,0,8057,8058,7,153,0,0,8058,825,1,0,0,0,8059,8060,7,154,0,0,8060,827,1,0,0,0,8061,8062,7,155,0,0,8062,829,1,0,0,0,8063,8064,7,156,0,0,8064,831,1,0,0,0,8065,8066,7,157,0,0,8066,833,1,0,0,0,8067,8068,7,158,0,0,8068,835,1,0,0,0,8069,8070,7,159,0,0,8070,837,1,0,0,0,1163,841,848,851,860,904,923,934,950,955,967,1002,1012,1017,1023,1028,1032,1041,1044,1047,1051,1058,1061,1066,1074,1079,1084,1087,1089,1101,1104,1108,1111,1115,1118,1122,1125,1128,1132,1135,1139,1145,1149,1154,1160,1167,1174,1177,1181,1186,1192,1201,1206,1210,1214,1225,1243,1250,1254,1258,1262,1267,1270,1273,1276,1279,1285,1289,1299,1303,1307,1313,1318,1321,1324,1326,1330,1337,1341,1344,1349,1353,1356,1360,1363,1367,1380,1383,1387,1390,1394,1397,1401,1404,1408,1411,1414,1418,1421,1425,1431,1434,1438,1450,1456,1467,1472,1480,1484,1489,1492,1497,1507,1512,1517,1523,1528,1532,1534,1537,1541,1545,1548,1552,1556,1560,1566,1569,1576,1581,1587,1594,1600,1608,1611,1618,1621,1623,1629,1635,1652,1659,1666,1678,1683,1686,1689,1702,1715,1720,1736,1744,1754,1757,1763,1768,1771,1777,1781,1786,1792,1796,1800,1803,1806,1812,1816,1821,1832,1835,1842,1845,1849,1855,1867,1870,1875,1888,1895,1901,1906,1910,1913,1921,1929,1931,1941,1945,1948,1952,1957,1962,1967,1971,1975,1979,1983,1987,1991,1996,2001,2006,2012,2017,2022,2027,2032,2037,2043,2048,2053,2058,2063,2068,2073,2078,2085,2090,2095,2100,2104,2109,2117,2122,2128,2140,2147,2149,2157,2162,2165,2173,2179,2183,2196,2208,2210,2213,2221,2227,2233,2246,2253,2262,2267,2278,2287,2292,2304,2311,2320,2325,2337,2344,2353,2358,2365,2374,2379,2381,2386,2394,2403,2407,2410,2414,2419,2425,2431,2436,2441,2446,2451,2454,2459,2464,2474,2478,2485,2490,2493,2498,2501,2505,2509,2517,2536,2539,2542,2546,2556,2569,2582,2585,2591,2594,2598,2607,2610,2613,2618,2622,2625,2629,2633,2636,2640,2643,2647,2650,2656,2659,2664,2672,2678,2682,2686,2691,2696,2703,2707,2718,2726,2729,2735,2741,2744,2750,2756,2758,2763,2769,2775,2777,2781,2784,2787,2793,2799,2801,2806,2813,2822,2825,2829,2834,2844,2853,2861,2864,2872,2875,2882,2887,2895,2911,2916,2923,2942,2948,2958,2970,2977,2984,2999,3012,3018,3024,3030,3036,3042,3048,3053,3060,3067,3074,3079,3082,3084,3093,3100,3107,3114,3123,3129,3133,3137,3141,3147,3150,3155,3162,3169,3173,3178,3188,3196,3202,3211,3220,3229,3232,3236,3245,3249,3252,3255,3261,3264,3267,3271,3274,3277,3280,3291,3294,3299,3305,3310,3315,3318,3322,3327,3330,3335,3345,3350,3356,3358,3364,3366,3372,3380,3385,3393,3396,3401,3404,3409,3417,3423,3427,3429,3435,3443,3448,3456,3459,3464,3467,3471,3474,3477,3481,3484,3492,3498,3502,3508,3513,3517,3519,3525,3529,3532,3535,3538,3544,3549,3552,3555,3558,3561,3563,3566,3570,3573,3576,3584,3590,3593,3595,3604,3609,3616,3619,3622,3626,3630,3636,3640,3647,3651,3654,3657,3662,3669,3679,3688,3697,3707,3710,3714,3720,3724,3727,3730,3735,3738,3745,3749,3752,3756,3760,3763,3766,3771,3777,3781,3791,3797,3801,3807,3811,3817,3820,3832,3836,3840,3848,3852,3866,3871,3874,3878,3881,3889,3894,3897,3900,3904,3907,3916,3921,3930,3935,3942,3949,3957,3963,3971,3974,3977,3984,3987,3990,3997,4e3,4004,4010,4020,4024,4033,4036,4040,4046,4054,4059,4063,4069,4075,4078,4080,4084,4093,4103,4109,4114,4118,4121,4124,4127,4130,4133,4136,4140,4144,4152,4156,4159,4161,4174,4177,4184,4194,4197,4202,4204,4208,4216,4222,4231,4244,4248,4254,4259,4263,4266,4270,4273,4281,4284,4286,4294,4306,4312,4314,4320,4322,4324,4330,4338,4346,4350,4354,4363,4368,4388,4393,4399,4406,4411,4420,4423,4427,4431,4435,4438,4441,4444,4448,4452,4455,4458,4461,4468,4472,4487,4500,4508,4518,4522,4525,4531,4534,4537,4546,4555,4565,4569,4579,4583,4594,4598,4607,4616,4619,4623,4628,4632,4641,4644,4647,4654,4660,4666,4692,4695,4698,4717,4719,4742,4745,4748,4767,4769,4783,4796,4833,4838,4873,4887,4894,4898,4904,4912,4914,4925,4935,4942,4948,4956,4961,4969,4977,4985,4993,4999,5004,5009,5014,5020,5022,5033,5038,5045,5047,5061,5067,5072,5077,5083,5090,5098,5106,5111,5117,5120,5128,5135,5144,5147,5164,5172,5180,5184,5191,5197,5205,5210,5217,5225,5232,5237,5240,5242,5248,5250,5254,5256,5261,5268,5273,5277,5282,5286,5292,5298,5303,5306,5308,5314,5316,5320,5322,5327,5332,5339,5348,5353,5362,5366,5372,5377,5380,5382,5388,5390,5393,5400,5402,5407,5414,5423,5429,5431,5438,5441,5453,5459,5467,5470,5474,5477,5481,5483,5494,5497,5501,5504,5507,5514,5526,5529,5536,5542,5552,5557,5564,5569,5575,5579,5583,5591,5595,5599,5605,5607,5619,5624,5630,5636,5640,5645,5647,5671,5675,5678,5687,5691,5700,5704,5708,5714,5716,5725,5735,5762,5766,5771,5778,5781,5787,5797,5807,5817,5823,5832,5838,5845,5847,5855,5861,5865,5882,5892,5896,5900,5910,5915,5987,6005,6013,6019,6031,6035,6046,6050,6059,6067,6074,6078,6085,6090,6093,6096,6107,6116,6125,6128,6142,6160,6173,6176,6180,6183,6185,6192,6199,6203,6210,6217,6220,6236,6239,6249,6253,6259,6262,6265,6270,6274,6277,6284,6287,6293,6329,6332,6344,6347,6363,6365,6369,6376,6380,6387,6390,6399,6402,6407,6413,6415,6421,6425,6431,6434,6437,6450,6453,6459,6462,6470,6478,6484,6487,6491,6505,6517,6525,6529,6536,6543,6548,6561,6570,6578,6583,6586,6591,6594,6606,6611,6624,6626,6631,6635,6638,6640,6647,6654,6657,6660,6666,6670,6676,6684,6693,6706,6711,6719,6722,6727,6732,6740,6743,6751,6755,6762,6768,6771,6775,6788,6794,6806,6809,6818,6823,6844,6860,6870,6875,6880,6882,6885,6889,6891,6898,6904,6906,6909,6913,6916,6929,6939,6942,6945,6958,6964,6967,6975,6982,7002,7009,7011,7018,7020,7024,7031,7037,7048,7054,7060,7063,7067,7072,7075,7079,7083,7085,7090,7095,7108,7111,7115,7118,7121,7126,7131,7137,7140,7145,7148,7153,7156,7160,7165,7170,7175,7180,7183,7188,7193,7198,7204,7209,7214,7219,7223,7226,7231,7235,7239,7247,7254,7258,7263,7268,7272,7274,7277,7293,7303,7313,7322,7331,7338,7345,7353,7361,7373,7380,7390,7395,7398,7403,7406,7428,7437,7440,7445,7478,7482,7491,7495,7504,7512,7517,7525,7530,7535,7537,7546,7551,7559,7564,7572,7580,7583,7593,7611,7614,7617,7621,7634,7642,7646,7651,7656,7662,7667,7671,7676,7681,7686,7696,7699,7703,7707,7714,7718,7747,7755,7758,7761,7764,7767,7778,7792,7801,7828,7840,7846,7854,7859,7867,7875,7888,7894,7900,7915,7919,7925,7934,7936,7957,7969,7987,8004,8006,8019,8028,8037,8046,8055],t.vocabulary=new Se(t.literalNames,t.symbolicNames,[]),t.decisionsToDFA=t._ATN.decisionToState.map((n,e)=>new Y0(n,e));class Ar extends W{constructor(e,i){super(e,i)}EOF(){return this.getToken(t.EOF,0)}singleStatement(e){return e===void 0?this.getRuleContexts(Z2):this.getRuleContext(e,Z2)}get ruleIndex(){return t.RULE_program}enterRule(e){e.enterProgram&&e.enterProgram(this)}exitRule(e){e.exitProgram&&e.exitProgram(this)}accept(e){return e.visitProgram?e.visitProgram(this):e.visitChildren(this)}}class Z2 extends W{constructor(e,i){super(e,i)}sqlStatement(){return this.getRuleContext(0,m7)}SEMI(){return this.getToken(t.SEMI,0)}emptyStatement_(){return this.getRuleContext(0,ia)}get ruleIndex(){return t.RULE_singleStatement}enterRule(e){e.enterSingleStatement&&e.enterSingleStatement(this)}exitRule(e){e.exitSingleStatement&&e.exitSingleStatement(this)}accept(e){return e.visitSingleStatement?e.visitSingleStatement(this):e.visitChildren(this)}}class m7 extends W{constructor(e,i){super(e,i)}ddlStatement(){return this.getRuleContext(0,sa)}dmlStatement(){return this.getRuleContext(0,J2)}transactionStatement(){return this.getRuleContext(0,na)}replicationStatement(){return this.getRuleContext(0,ha)}preparedStatement(){return this.getRuleContext(0,aa)}administrationStatement(){return this.getRuleContext(0,oa)}utilityStatement(){return this.getRuleContext(0,ra)}get ruleIndex(){return t.RULE_sqlStatement}enterRule(e){e.enterSqlStatement&&e.enterSqlStatement(this)}exitRule(e){e.exitSqlStatement&&e.exitSqlStatement(this)}accept(e){return e.visitSqlStatement?e.visitSqlStatement(this):e.visitChildren(this)}}class ia extends W{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_emptyStatement_}enterRule(e){e.enterEmptyStatement_&&e.enterEmptyStatement_(this)}exitRule(e){e.exitEmptyStatement_&&e.exitEmptyStatement_(this)}accept(e){return e.visitEmptyStatement_?e.visitEmptyStatement_(this):e.visitChildren(this)}}class sa extends W{constructor(e,i){super(e,i)}createDatabase(){return this.getRuleContext(0,Ea)}createEvent(){return this.getRuleContext(0,Ka)}createIndex(){return this.getRuleContext(0,Wa)}createLogfileGroup(){return this.getRuleContext(0,ua)}createProcedure(){return this.getRuleContext(0,Ra)}createFunction(){return this.getRuleContext(0,z2)}createFunctionLoadable(){return this.getRuleContext(0,Ta)}createServer(){return this.getRuleContext(0,Aa)}createTable(){return this.getRuleContext(0,Ai)}createTablespaceInnodb(){return this.getRuleContext(0,La)}createTablespaceNdb(){return this.getRuleContext(0,Oa)}createTrigger(){return this.getRuleContext(0,Ca)}createView(){return this.getRuleContext(0,Na)}createRole(){return this.getRuleContext(0,_a)}alterDatabase(){return this.getRuleContext(0,D7)}alterEvent(){return this.getRuleContext(0,fa)}alterFunction(){return this.getRuleContext(0,ga)}alterInstance(){return this.getRuleContext(0,Ua)}alterLogfileGroup(){return this.getRuleContext(0,Da)}alterProcedure(){return this.getRuleContext(0,ka)}alterServer(){return this.getRuleContext(0,Sa)}alterTable(){return this.getRuleContext(0,Ha)}alterTablespace(){return this.getRuleContext(0,Ba)}alterView(){return this.getRuleContext(0,Fa)}dropDatabase(){return this.getRuleContext(0,Ga)}dropEvent(){return this.getRuleContext(0,ba)}dropIndex(){return this.getRuleContext(0,wa)}dropLogfileGroup(){return this.getRuleContext(0,va)}dropProcedure(){return this.getRuleContext(0,Ya)}dropFunction(){return this.getRuleContext(0,Va)}dropServer(){return this.getRuleContext(0,Xa)}dropSpatial(){return this.getRuleContext(0,Qa)}dropTable(){return this.getRuleContext(0,Za)}dropTablespace(){return this.getRuleContext(0,Ja)}dropTrigger(){return this.getRuleContext(0,za)}dropView(){return this.getRuleContext(0,ja)}dropRole(){return this.getRuleContext(0,$a)}setRole(){return this.getRuleContext(0,Ma)}renameTable(){return this.getRuleContext(0,Pa)}truncateTable(){return this.getRuleContext(0,ya)}get ruleIndex(){return t.RULE_ddlStatement}enterRule(e){e.enterDdlStatement&&e.enterDdlStatement(this)}exitRule(e){e.exitDdlStatement&&e.exitDdlStatement(this)}accept(e){return e.visitDdlStatement?e.visitDdlStatement(this):e.visitChildren(this)}}class J2 extends W{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}setOperations(){return this.getRuleContext(0,cc)}insertStatement(){return this.getRuleContext(0,hh)}updateStatement(){return this.getRuleContext(0,rh)}deleteStatement(){return this.getRuleContext(0,nh)}replaceStatement(){return this.getRuleContext(0,oh)}callStatement(){return this.getRuleContext(0,qa)}interSectStatement(){return this.getRuleContext(0,sc)}loadDataStatement(){return this.getRuleContext(0,nc)}loadXmlStatement(){return this.getRuleContext(0,hc)}parenthesizedQuery(){return this.getRuleContext(0,ac)}doStatement(){return this.getRuleContext(0,tc)}handlerStatement(){return this.getRuleContext(0,ec)}importTableStatement(){return this.getRuleContext(0,Ac)}valuesStatement(){return this.getRuleContext(0,Eh)}withStatement(){return this.getRuleContext(0,r4)}tableStatement(){return this.getRuleContext(0,Qh)}get ruleIndex(){return t.RULE_dmlStatement}enterRule(e){e.enterDmlStatement&&e.enterDmlStatement(this)}exitRule(e){e.exitDmlStatement&&e.exitDmlStatement(this)}accept(e){return e.visitDmlStatement?e.visitDmlStatement(this):e.visitChildren(this)}}class na extends W{constructor(e,i){super(e,i)}startTransaction(){return this.getRuleContext(0,xc)}beginWork(){return this.getRuleContext(0,fc)}commitWork(){return this.getRuleContext(0,gc)}rollbackWork(){return this.getRuleContext(0,Uc)}savepointStatement(){return this.getRuleContext(0,Dc)}rollbackStatement(){return this.getRuleContext(0,kc)}releaseStatement(){return this.getRuleContext(0,Sc)}lockTables(){return this.getRuleContext(0,Hc)}unlockTables(){return this.getRuleContext(0,Bc)}get ruleIndex(){return t.RULE_transactionStatement}enterRule(e){e.enterTransactionStatement&&e.enterTransactionStatement(this)}exitRule(e){e.exitTransactionStatement&&e.exitTransactionStatement(this)}accept(e){return e.visitTransactionStatement?e.visitTransactionStatement(this):e.visitChildren(this)}}class ha extends W{constructor(e,i){super(e,i)}changeMaster(){return this.getRuleContext(0,vc)}changeReplicationFilter(){return this.getRuleContext(0,Yc)}changeReplicationSource(){return this.getRuleContext(0,Vc)}purgeBinaryLogs(){return this.getRuleContext(0,Xc)}startSlaveOrReplica(){return this.getRuleContext(0,Qc)}stopSlaveOrReplica(){return this.getRuleContext(0,Zc)}startGroupReplication(){return this.getRuleContext(0,Jc)}stopGroupReplication(){return this.getRuleContext(0,zc)}xaStartTransaction(){return this.getRuleContext(0,io)}xaEndTransaction(){return this.getRuleContext(0,so)}xaPrepareStatement(){return this.getRuleContext(0,no)}xaCommitWork(){return this.getRuleContext(0,ho)}xaRollbackWork(){return this.getRuleContext(0,ao)}xaRecoverWork(){return this.getRuleContext(0,co)}get ruleIndex(){return t.RULE_replicationStatement}enterRule(e){e.enterReplicationStatement&&e.enterReplicationStatement(this)}exitRule(e){e.exitReplicationStatement&&e.exitReplicationStatement(this)}accept(e){return e.visitReplicationStatement?e.visitReplicationStatement(this):e.visitChildren(this)}}class aa extends W{constructor(e,i){super(e,i)}prepareStatement(){return this.getRuleContext(0,oo)}executeStatement(){return this.getRuleContext(0,ro)}deallocatePrepare(){return this.getRuleContext(0,Eo)}get ruleIndex(){return t.RULE_preparedStatement}enterRule(e){e.enterPreparedStatement&&e.enterPreparedStatement(this)}exitRule(e){e.exitPreparedStatement&&e.exitPreparedStatement(this)}accept(e){return e.visitPreparedStatement?e.visitPreparedStatement(this):e.visitChildren(this)}}class ca extends W{constructor(e,i){super(e,i)}blockStatement(){return this.getRuleContext(0,mh)}caseStatement(){return this.getRuleContext(0,Ko)}ifStatement(){return this.getRuleContext(0,Wo)}leaveStatement(){return this.getRuleContext(0,Ro)}loopStatement(){return this.getRuleContext(0,To)}repeatStatement(){return this.getRuleContext(0,_o)}whileStatement(){return this.getRuleContext(0,Ao)}iterateStatement(){return this.getRuleContext(0,uo)}returnStatement(){return this.getRuleContext(0,ph)}cursorStatement(){return this.getRuleContext(0,Ui)}get ruleIndex(){return t.RULE_compoundStatement}enterRule(e){e.enterCompoundStatement&&e.enterCompoundStatement(this)}exitRule(e){e.exitCompoundStatement&&e.exitCompoundStatement(this)}accept(e){return e.visitCompoundStatement?e.visitCompoundStatement(this):e.visitChildren(this)}}class oa extends W{constructor(e,i){super(e,i)}alterUser(){return this.getRuleContext(0,Io)}createUser(){return this.getRuleContext(0,Lo)}dropUser(){return this.getRuleContext(0,Oo)}grantStatement(){return this.getRuleContext(0,Co)}grantProxy(){return this.getRuleContext(0,No)}renameUser(){return this.getRuleContext(0,fo)}revokeStatement(){return this.getRuleContext(0,ki)}alterResourceGroup(){return this.getRuleContext(0,lo)}createResourceGroup(){return this.getRuleContext(0,mo)}dropResourceGroup(){return this.getRuleContext(0,po)}setResourceGroup(){return this.getRuleContext(0,xo)}analyzeTable(){return this.getRuleContext(0,ko)}checkTable(){return this.getRuleContext(0,So)}checksumTable(){return this.getRuleContext(0,Ho)}optimizeTable(){return this.getRuleContext(0,Bo)}repairTable(){return this.getRuleContext(0,Fo)}installComponent(){return this.getRuleContext(0,Go)}uninstallComponent(){return this.getRuleContext(0,bo)}installPlugin(){return this.getRuleContext(0,wo)}uninstallPlugin(){return this.getRuleContext(0,vo)}cloneStatement(){return this.getRuleContext(0,Yo)}setStatement(){return this.getRuleContext(0,ze)}showStatement(){return this.getRuleContext(0,rt)}binlogStatement(){return this.getRuleContext(0,Zo)}cacheIndexStatement(){return this.getRuleContext(0,Jo)}flushStatement(){return this.getRuleContext(0,zo)}killStatement(){return this.getRuleContext(0,jo)}loadIndexIntoCache(){return this.getRuleContext(0,$o)}resetStatement(){return this.getRuleContext(0,Mo)}resetPersist(){return this.getRuleContext(0,Po)}resetAllChannel(){return this.getRuleContext(0,yo)}reStartStatement(){return this.getRuleContext(0,qo)}shutdownStatement(){return this.getRuleContext(0,t4)}get ruleIndex(){return t.RULE_administrationStatement}enterRule(e){e.enterAdministrationStatement&&e.enterAdministrationStatement(this)}exitRule(e){e.exitAdministrationStatement&&e.exitAdministrationStatement(this)}accept(e){return e.visitAdministrationStatement?e.visitAdministrationStatement(this):e.visitChildren(this)}}class ra extends W{constructor(e,i){super(e,i)}fullDescribeStatement(){return this.getRuleContext(0,s4)}simpleDescribeStatement(){return this.getRuleContext(0,i4)}analyzeDescribeStatement(){return this.getRuleContext(0,n4)}helpStatement(){return this.getRuleContext(0,h4)}useStatement(){return this.getRuleContext(0,a4)}signalStatement(){return this.getRuleContext(0,c4)}resignalStatement(){return this.getRuleContext(0,o4)}diagnosticsStatement(){return this.getRuleContext(0,E4)}get ruleIndex(){return t.RULE_utilityStatement}enterRule(e){e.enterUtilityStatement&&e.enterUtilityStatement(this)}exitRule(e){e.exitUtilityStatement&&e.exitUtilityStatement(this)}accept(e){return e.visitUtilityStatement?e.visitUtilityStatement(this):e.visitChildren(this)}}class Ea extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}databaseNameCreate(){return this.getRuleContext(0,K4)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}ifNotExists(){return this.getRuleContext(0,Mt)}createDatabaseOption(e){return e===void 0?this.getRuleContexts(Ii):this.getRuleContext(e,Ii)}get ruleIndex(){return t.RULE_createDatabase}enterRule(e){e.enterCreateDatabase&&e.enterCreateDatabase(this)}exitRule(e){e.exitCreateDatabase&&e.exitCreateDatabase(this)}accept(e){return e.visitCreateDatabase?e.visitCreateDatabase(this):e.visitChildren(this)}}class Ka extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_SCHEDULE(){return this.getToken(t.KW_SCHEDULE,0)}scheduleExpression(){return this.getRuleContext(0,Li)}KW_DO(){return this.getToken(t.KW_DO,0)}routineBody(){return this.getRuleContext(0,i1)}fullId(){return this.getRuleContext(0,at)}ownerStatement(){return this.getRuleContext(0,R0)}ifNotExists(){return this.getRuleContext(0,Mt)}KW_COMPLETION(){return this.getToken(t.KW_COMPLETION,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}enableType(){return this.getRuleContext(0,$2)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_createEvent}enterRule(e){e.enterCreateEvent&&e.enterCreateEvent(this)}exitRule(e){e.exitCreateEvent&&e.exitCreateEvent(this)}accept(e){return e.visitCreateEvent?e.visitCreateEvent(this):e.visitChildren(this)}}class Wa extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}indexNameCreate(){return this.getRuleContext(0,zh)}KW_ON(){return this.getToken(t.KW_ON,0)}tableName(){return this.getRuleContext(0,X)}indexColumnNames(){return this.getRuleContext(0,$e)}indexType(){return this.getRuleContext(0,Q0)}indexOption(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}KW_ALGORITHM(e){return e===void 0?this.getTokens(t.KW_ALGORITHM):this.getToken(t.KW_ALGORITHM,e)}KW_LOCK(e){return e===void 0?this.getTokens(t.KW_LOCK):this.getToken(t.KW_LOCK,e)}KW_ONLINE(){return this.getToken(t.KW_ONLINE,0)}KW_OFFLINE(){return this.getToken(t.KW_OFFLINE,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_FULLTEXT(){return this.getToken(t.KW_FULLTEXT,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}KW_INPLACE(e){return e===void 0?this.getTokens(t.KW_INPLACE):this.getToken(t.KW_INPLACE,e)}KW_COPY(e){return e===void 0?this.getTokens(t.KW_COPY):this.getToken(t.KW_COPY,e)}KW_NONE(e){return e===void 0?this.getTokens(t.KW_NONE):this.getToken(t.KW_NONE,e)}KW_SHARED(e){return e===void 0?this.getTokens(t.KW_SHARED):this.getToken(t.KW_SHARED,e)}KW_EXCLUSIVE(e){return e===void 0?this.getTokens(t.KW_EXCLUSIVE):this.getToken(t.KW_EXCLUSIVE,e)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_createIndex}enterRule(e){e.enterCreateIndex&&e.enterCreateIndex(this)}exitRule(e){e.exitCreateIndex&&e.exitCreateIndex(this)}accept(e){return e.visitCreateIndex?e.visitCreateIndex(this):e.visitChildren(this)}}class ua extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_UNDOFILE(){return this.getToken(t.KW_UNDOFILE,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}KW_UNDO_BUFFER_SIZE(){return this.getToken(t.KW_UNDO_BUFFER_SIZE,0)}KW_REDO_BUFFER_SIZE(){return this.getToken(t.KW_REDO_BUFFER_SIZE,0)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(re):this.getRuleContext(e,re)}get ruleIndex(){return t.RULE_createLogfileGroup}enterRule(e){e.enterCreateLogfileGroup&&e.enterCreateLogfileGroup(this)}exitRule(e){e.exitCreateLogfileGroup&&e.exitCreateLogfileGroup(this)}accept(e){return e.visitCreateLogfileGroup?e.visitCreateLogfileGroup(this):e.visitChildren(this)}}class Ra extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}routineBody(){return this.getRuleContext(0,i1)}fullId(){return this.getRuleContext(0,at)}ownerStatement(){return this.getRuleContext(0,R0)}ifNotExists(){return this.getRuleContext(0,Mt)}procedureParameter(e){return e===void 0?this.getRuleContexts(M2):this.getRuleContext(e,M2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}routineOption(e){return e===void 0?this.getRuleContexts($t):this.getRuleContext(e,$t)}get ruleIndex(){return t.RULE_createProcedure}enterRule(e){e.enterCreateProcedure&&e.enterCreateProcedure(this)}exitRule(e){e.exitCreateProcedure&&e.exitCreateProcedure(this)}accept(e){return e.visitCreateProcedure?e.visitCreateProcedure(this):e.visitChildren(this)}}class z2 extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Jh)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}dataType(){return this.getRuleContext(0,bt)}routineBody(){return this.getRuleContext(0,i1)}returnStatement(){return this.getRuleContext(0,ph)}ownerStatement(){return this.getRuleContext(0,R0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,Mt)}functionParameter(e){return e===void 0?this.getRuleContexts(P2):this.getRuleContext(e,P2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}routineOption(e){return e===void 0?this.getRuleContexts($t):this.getRuleContext(e,$t)}get ruleIndex(){return t.RULE_createFunction}enterRule(e){e.enterCreateFunction&&e.enterCreateFunction(this)}exitRule(e){e.exitCreateFunction&&e.exitCreateFunction(this)}accept(e){return e.visitCreateFunction?e.visitCreateFunction(this):e.visitChildren(this)}}class Ta extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Jh)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_SONAME(){return this.getToken(t.KW_SONAME,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_STRING(){return this.getToken(t.KW_STRING,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_REAL(){return this.getToken(t.KW_REAL,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,Mt)}get ruleIndex(){return t.RULE_createFunctionLoadable}enterRule(e){e.enterCreateFunctionLoadable&&e.enterCreateFunctionLoadable(this)}exitRule(e){e.exitCreateFunctionLoadable&&e.exitCreateFunctionLoadable(this)}accept(e){return e.visitCreateFunctionLoadable?e.visitCreateFunctionLoadable(this):e.visitChildren(this)}}class _a extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifNotExists(){return this.getRuleContext(0,Mt)}get ruleIndex(){return t.RULE_createRole}enterRule(e){e.enterCreateRole&&e.enterCreateRole(this)}exitRule(e){e.exitCreateRole&&e.exitCreateRole(this)}accept(e){return e.visitCreateRole?e.visitCreateRole(this):e.visitChildren(this)}}class Aa extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}serverOption(e){return e===void 0?this.getRuleContexts(Ni):this.getRuleContext(e,Ni)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(){return this.getRuleContext(0,d)}KW_MYSQL(){return this.getToken(t.KW_MYSQL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createServer}enterRule(e){e.enterCreateServer&&e.enterCreateServer(this)}exitRule(e){e.exitCreateServer&&e.exitCreateServer(this)}accept(e){return e.visitCreateServer?e.visitCreateServer(this):e.visitChildren(this)}}class Ai extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createTable}copyFrom(e){super.copyFrom(e)}}class Ir extends Ai{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,B1)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}tableName(){return this.getRuleContext(0,X)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,Mt)}enterRule(e){e.enterCopyCreateTable&&e.enterCopyCreateTable(this)}exitRule(e){e.exitCopyCreateTable&&e.exitCopyCreateTable(this)}accept(e){return e.visitCopyCreateTable?e.visitCopyCreateTable(this):e.visitChildren(this)}}class Ia extends Ai{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,B1)}createDefinitions(){return this.getRuleContext(0,y2)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,Mt)}tableOption(e){return e===void 0?this.getRuleContexts(V):this.getRuleContext(e,V)}partitionDefinitions(){return this.getRuleContext(0,eh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterColumnCreateTable&&e.enterColumnCreateTable(this)}exitRule(e){e.exitColumnCreateTable&&e.exitColumnCreateTable(this)}accept(e){return e.visitColumnCreateTable?e.visitColumnCreateTable(this):e.visitChildren(this)}}class Lr extends Ai{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}selectStatement(){return this.getRuleContext(0,ft)}tableNameCreate(){return this.getRuleContext(0,B1)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,Mt)}tableOption(e){return e===void 0?this.getRuleContexts(V):this.getRuleContext(e,V)}partitionDefinitions(){return this.getRuleContext(0,eh)}KW_AS(){return this.getToken(t.KW_AS,0)}createDefinitions(){return this.getRuleContext(0,y2)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterQueryCreateTable&&e.enterQueryCreateTable(this)}exitRule(e){e.exitQueryCreateTable&&e.exitQueryCreateTable(this)}accept(e){return e.visitQueryCreateTable?e.visitQueryCreateTable(this):e.visitChildren(this)}}class La extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceNameCreate(){return this.getRuleContext(0,V7)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_FILE_BLOCK_SIZE(){return this.getToken(t.KW_FILE_BLOCK_SIZE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(re):this.getRuleContext(e,re)}get ruleIndex(){return t.RULE_createTablespaceInnodb}enterRule(e){e.enterCreateTablespaceInnodb&&e.enterCreateTablespaceInnodb(this)}exitRule(e){e.exitCreateTablespaceInnodb&&e.exitCreateTablespaceInnodb(this)}accept(e){return e.visitCreateTablespaceInnodb?e.visitCreateTablespaceInnodb(this):e.visitChildren(this)}}class Oa extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceNameCreate(){return this.getRuleContext(0,V7)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}KW_USE(){return this.getToken(t.KW_USE,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_EXTENT_SIZE(){return this.getToken(t.KW_EXTENT_SIZE,0)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_MAX_SIZE(){return this.getToken(t.KW_MAX_SIZE,0)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(re):this.getRuleContext(e,re)}get ruleIndex(){return t.RULE_createTablespaceNdb}enterRule(e){e.enterCreateTablespaceNdb&&e.enterCreateTablespaceNdb(this)}exitRule(e){e.exitCreateTablespaceNdb&&e.exitCreateTablespaceNdb(this)}accept(e){return e.visitCreateTablespaceNdb?e.visitCreateTablespaceNdb(this):e.visitChildren(this)}}class Ca extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_ON(){return this.getToken(t.KW_ON,0)}tableName(){return this.getRuleContext(0,X)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_EACH(){return this.getToken(t.KW_EACH,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}routineBody(){return this.getRuleContext(0,i1)}fullId(e){return e===void 0?this.getRuleContexts(at):this.getRuleContext(e,at)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}ownerStatement(){return this.getRuleContext(0,R0)}ifNotExists(e){return e===void 0?this.getRuleContexts(Mt):this.getRuleContext(e,Mt)}KW_FOLLOWS(){return this.getToken(t.KW_FOLLOWS,0)}KW_PRECEDES(){return this.getToken(t.KW_PRECEDES,0)}get ruleIndex(){return t.RULE_createTrigger}enterRule(e){e.enterCreateTrigger&&e.enterCreateTrigger(this)}exitRule(e){e.exitCreateTrigger&&e.exitCreateTrigger(this)}accept(e){return e.visitCreateTrigger?e.visitCreateTrigger(this):e.visitChildren(this)}}class j2 extends W{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}commonTableExpressions(){return this.getRuleContext(0,f1)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}get ruleIndex(){return t.RULE_withClause}enterRule(e){e.enterWithClause&&e.enterWithClause(this)}exitRule(e){e.exitWithClause&&e.exitWithClause(this)}accept(e){return e.visitWithClause?e.visitWithClause(this):e.visitChildren(this)}}class f1 extends W{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}dmlStatement(){return this.getRuleContext(0,J2)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}commonTableExpressions(){return this.getRuleContext(0,f1)}get ruleIndex(){return t.RULE_commonTableExpressions}enterRule(e){e.enterCommonTableExpressions&&e.enterCommonTableExpressions(this)}exitRule(e){e.exitCommonTableExpressions&&e.exitCommonTableExpressions(this)}accept(e){return e.visitCommonTableExpressions?e.visitCommonTableExpressions(this):e.visitChildren(this)}}class Na extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,W4)}KW_AS(){return this.getToken(t.KW_AS,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}selectStatement(){return this.getRuleContext(0,ft)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}orReplace(){return this.getRuleContext(0,d4)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ownerStatement(){return this.getRuleContext(0,R0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}columnNameCreate(e){return e===void 0?this.getRuleContexts(F1):this.getRuleContext(e,F1)}KW_UNDEFINED(){return this.getToken(t.KW_UNDEFINED,0)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_TEMPTABLE(){return this.getToken(t.KW_TEMPTABLE,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}withClause(){return this.getRuleContext(0,j2)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_createView}enterRule(e){e.enterCreateView&&e.enterCreateView(this)}exitRule(e){e.exitCreateView&&e.exitCreateView(this)}accept(e){return e.visitCreateView?e.visitCreateView(this):e.visitChildren(this)}}class Ii extends W{constructor(e,i){super(e,i)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}get ruleIndex(){return t.RULE_createDatabaseOption}enterRule(e){e.enterCreateDatabaseOption&&e.enterCreateDatabaseOption(this)}exitRule(e){e.exitCreateDatabaseOption&&e.exitCreateDatabaseOption(this)}accept(e){return e.visitCreateDatabaseOption?e.visitCreateDatabaseOption(this):e.visitChildren(this)}}class u0 extends W{constructor(e,i){super(e,i)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}get ruleIndex(){return t.RULE_charSet}enterRule(e){e.enterCharSet&&e.enterCharSet(this)}exitRule(e){e.exitCharSet&&e.exitCharSet(this)}accept(e){return e.visitCharSet?e.visitCharSet(this):e.visitChildren(this)}}class p7 extends W{constructor(e,i){super(e,i)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_currentUserExpression}enterRule(e){e.enterCurrentUserExpression&&e.enterCurrentUserExpression(this)}exitRule(e){e.exitCurrentUserExpression&&e.exitCurrentUserExpression(this)}accept(e){return e.visitCurrentUserExpression?e.visitCurrentUserExpression(this):e.visitChildren(this)}}class R0 extends W{constructor(e,i){super(e,i)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}userName(){return this.getRuleContext(0,_t)}currentUserExpression(){return this.getRuleContext(0,p7)}get ruleIndex(){return t.RULE_ownerStatement}enterRule(e){e.enterOwnerStatement&&e.enterOwnerStatement(this)}exitRule(e){e.exitOwnerStatement&&e.exitOwnerStatement(this)}accept(e){return e.visitOwnerStatement?e.visitOwnerStatement(this):e.visitChildren(this)}}class Li extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_scheduleExpression}copyFrom(e){super.copyFrom(e)}}class Or extends Li{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AT(){return this.getToken(t.KW_AT,0)}timestampValue(){return this.getRuleContext(0,x7)}intervalExpr(e){return e===void 0?this.getRuleContexts(Oi):this.getRuleContext(e,Oi)}enterRule(e){e.enterPreciseSchedule&&e.enterPreciseSchedule(this)}exitRule(e){e.exitPreciseSchedule&&e.exitPreciseSchedule(this)}accept(e){return e.visitPreciseSchedule?e.visitPreciseSchedule(this):e.visitChildren(this)}}class Cr extends Li{constructor(e){super(e.parent,e.invokingState),this._startIntervals=[],this._endIntervals=[],super.copyFrom(e)}KW_EVERY(){return this.getToken(t.KW_EVERY,0)}intervalType(){return this.getRuleContext(0,Ci)}decimalLiteral(){return this.getRuleContext(0,H)}expression(){return this.getRuleContext(0,k)}KW_STARTS(){return this.getToken(t.KW_STARTS,0)}KW_ENDS(){return this.getToken(t.KW_ENDS,0)}timestampValue(e){return e===void 0?this.getRuleContexts(x7):this.getRuleContext(e,x7)}intervalExpr(e){return e===void 0?this.getRuleContexts(Oi):this.getRuleContext(e,Oi)}enterRule(e){e.enterIntervalSchedule&&e.enterIntervalSchedule(this)}exitRule(e){e.exitIntervalSchedule&&e.exitIntervalSchedule(this)}accept(e){return e.visitIntervalSchedule?e.visitIntervalSchedule(this):e.visitChildren(this)}}class x7 extends W{constructor(e,i){super(e,i)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}stringLiteral(){return this.getRuleContext(0,Gt)}decimalLiteral(){return this.getRuleContext(0,H)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_timestampValue}enterRule(e){e.enterTimestampValue&&e.enterTimestampValue(this)}exitRule(e){e.exitTimestampValue&&e.exitTimestampValue(this)}accept(e){return e.visitTimestampValue?e.visitTimestampValue(this):e.visitChildren(this)}}class Oi extends W{constructor(e,i){super(e,i)}PLUS(){return this.getToken(t.PLUS,0)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}intervalType(){return this.getRuleContext(0,Ci)}decimalLiteral(){return this.getRuleContext(0,H)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_intervalExpr}enterRule(e){e.enterIntervalExpr&&e.enterIntervalExpr(this)}exitRule(e){e.exitIntervalExpr&&e.exitIntervalExpr(this)}accept(e){return e.visitIntervalExpr?e.visitIntervalExpr(this):e.visitChildren(this)}}class Ci extends W{constructor(e,i){super(e,i)}intervalTypeBase(){return this.getRuleContext(0,K3)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_YEAR_MONTH(){return this.getToken(t.KW_YEAR_MONTH,0)}KW_DAY_HOUR(){return this.getToken(t.KW_DAY_HOUR,0)}KW_DAY_MINUTE(){return this.getToken(t.KW_DAY_MINUTE,0)}KW_DAY_SECOND(){return this.getToken(t.KW_DAY_SECOND,0)}KW_HOUR_MINUTE(){return this.getToken(t.KW_HOUR_MINUTE,0)}KW_HOUR_SECOND(){return this.getToken(t.KW_HOUR_SECOND,0)}KW_MINUTE_SECOND(){return this.getToken(t.KW_MINUTE_SECOND,0)}KW_SECOND_MICROSECOND(){return this.getToken(t.KW_SECOND_MICROSECOND,0)}KW_MINUTE_MICROSECOND(){return this.getToken(t.KW_MINUTE_MICROSECOND,0)}KW_HOUR_MICROSECOND(){return this.getToken(t.KW_HOUR_MICROSECOND,0)}KW_DAY_MICROSECOND(){return this.getToken(t.KW_DAY_MICROSECOND,0)}get ruleIndex(){return t.RULE_intervalType}enterRule(e){e.enterIntervalType&&e.enterIntervalType(this)}exitRule(e){e.exitIntervalType&&e.exitIntervalType(this)}accept(e){return e.visitIntervalType?e.visitIntervalType(this):e.visitChildren(this)}}class $2 extends W{constructor(e,i){super(e,i)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}get ruleIndex(){return t.RULE_enableType}enterRule(e){e.enterEnableType&&e.enterEnableType(this)}exitRule(e){e.exitEnableType&&e.exitEnableType(this)}accept(e){return e.visitEnableType?e.visitEnableType(this):e.visitChildren(this)}}class Q0 extends W{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_BTREE(){return this.getToken(t.KW_BTREE,0)}KW_HASH(){return this.getToken(t.KW_HASH,0)}get ruleIndex(){return t.RULE_indexType}enterRule(e){e.enterIndexType&&e.enterIndexType(this)}exitRule(e){e.exitIndexType&&e.exitIndexType(this)}accept(e){return e.visitIndexType?e.visitIndexType(this):e.visitChildren(this)}}class qt extends W{constructor(e,i){super(e,i)}KW_KEY_BLOCK_SIZE(){return this.getToken(t.KW_KEY_BLOCK_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,re)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}indexType(){return this.getRuleContext(0,Q0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}uid(){return this.getRuleContext(0,d)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}KW_SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_SECONDARY_ENGINE_ATTRIBUTE,0)}get ruleIndex(){return t.RULE_indexOption}enterRule(e){e.enterIndexOption&&e.enterIndexOption(this)}exitRule(e){e.exitIndexOption&&e.exitIndexOption(this)}accept(e){return e.visitIndexOption?e.visitIndexOption(this):e.visitChildren(this)}}class M2 extends W{constructor(e,i){super(e,i)}dataType(){return this.getRuleContext(0,bt)}uid(){return this.getRuleContext(0,d)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_OUT(){return this.getToken(t.KW_OUT,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}get ruleIndex(){return t.RULE_procedureParameter}enterRule(e){e.enterProcedureParameter&&e.enterProcedureParameter(this)}exitRule(e){e.exitProcedureParameter&&e.exitProcedureParameter(this)}accept(e){return e.visitProcedureParameter?e.visitProcedureParameter(this):e.visitChildren(this)}}class P2 extends W{constructor(e,i){super(e,i)}dataType(){return this.getRuleContext(0,bt)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_functionParameter}enterRule(e){e.enterFunctionParameter&&e.enterFunctionParameter(this)}exitRule(e){e.exitFunctionParameter&&e.exitFunctionParameter(this)}accept(e){return e.visitFunctionParameter?e.visitFunctionParameter(this):e.visitChildren(this)}}class $t extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_routineOption}copyFrom(e){super.copyFrom(e)}}class Nr extends $t{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DETERMINISTIC(){return this.getToken(t.KW_DETERMINISTIC,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterRoutineBehavior&&e.enterRoutineBehavior(this)}exitRule(e){e.exitRoutineBehavior&&e.exitRoutineBehavior(this)}accept(e){return e.visitRoutineBehavior?e.visitRoutineBehavior(this):e.visitChildren(this)}}class dr extends $t{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}enterRule(e){e.enterRoutineLanguage&&e.enterRoutineLanguage(this)}exitRule(e){e.exitRoutineLanguage&&e.exitRoutineLanguage(this)}accept(e){return e.visitRoutineLanguage?e.visitRoutineLanguage(this):e.visitChildren(this)}}class lr extends $t{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterRoutineComment&&e.enterRoutineComment(this)}exitRule(e){e.exitRoutineComment&&e.exitRoutineComment(this)}accept(e){return e.visitRoutineComment?e.visitRoutineComment(this):e.visitChildren(this)}}class mr extends $t{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}enterRule(e){e.enterRoutineSecurity&&e.enterRoutineSecurity(this)}exitRule(e){e.exitRoutineSecurity&&e.exitRoutineSecurity(this)}accept(e){return e.visitRoutineSecurity?e.visitRoutineSecurity(this):e.visitChildren(this)}}class pr extends $t{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONTAINS(){return this.getToken(t.KW_CONTAINS,0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_READS(){return this.getToken(t.KW_READS,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_MODIFIES(){return this.getToken(t.KW_MODIFIES,0)}enterRule(e){e.enterRoutineData&&e.enterRoutineData(this)}exitRule(e){e.exitRoutineData&&e.exitRoutineData(this)}accept(e){return e.visitRoutineData?e.visitRoutineData(this):e.visitChildren(this)}}class Ni extends W{constructor(e,i){super(e,i)}KW_HOST(){return this.getToken(t.KW_HOST,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_SOCKET(){return this.getToken(t.KW_SOCKET,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_PORT(){return this.getToken(t.KW_PORT,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_serverOption}enterRule(e){e.enterServerOption&&e.enterServerOption(this)}exitRule(e){e.exitServerOption&&e.exitServerOption(this)}accept(e){return e.visitServerOption?e.visitServerOption(this):e.visitChildren(this)}}class y2 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}createDefinition(e){return e===void 0?this.getRuleContexts(di):this.getRuleContext(e,di)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createDefinitions}enterRule(e){e.enterCreateDefinitions&&e.enterCreateDefinitions(this)}exitRule(e){e.exitCreateDefinitions&&e.exitCreateDefinitions(this)}accept(e){return e.visitCreateDefinitions?e.visitCreateDefinitions(this):e.visitChildren(this)}}class di extends W{constructor(e,i){super(e,i)}columnNameCreate(){return this.getRuleContext(0,F1)}columnDefinition(){return this.getRuleContext(0,Z0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexName(){return this.getRuleContext(0,ie)}indexType(){return this.getRuleContext(0,Q0)}indexOption(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}KW_FULLTEXT(){return this.getToken(t.KW_FULLTEXT,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}constraintSymbol(){return this.getRuleContext(0,q2)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}referenceDefinition(){return this.getRuleContext(0,g7)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}checkConstraintDefinition(){return this.getRuleContext(0,f7)}get ruleIndex(){return t.RULE_createDefinition}enterRule(e){e.enterCreateDefinition&&e.enterCreateDefinition(this)}exitRule(e){e.exitCreateDefinition&&e.exitCreateDefinition(this)}accept(e){return e.visitCreateDefinition?e.visitCreateDefinition(this):e.visitChildren(this)}}class f7 extends W{constructor(e,i){super(e,i)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}constraintSymbol(){return this.getRuleContext(0,q2)}KW_ENFORCED(){return this.getToken(t.KW_ENFORCED,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_checkConstraintDefinition}enterRule(e){e.enterCheckConstraintDefinition&&e.enterCheckConstraintDefinition(this)}exitRule(e){e.exitCheckConstraintDefinition&&e.exitCheckConstraintDefinition(this)}accept(e){return e.visitCheckConstraintDefinition?e.visitCheckConstraintDefinition(this):e.visitChildren(this)}}class q2 extends W{constructor(e,i){super(e,i)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_constraintSymbol}enterRule(e){e.enterConstraintSymbol&&e.enterConstraintSymbol(this)}exitRule(e){e.exitConstraintSymbol&&e.exitConstraintSymbol(this)}accept(e){return e.visitConstraintSymbol?e.visitConstraintSymbol(this):e.visitChildren(this)}}class Z0 extends W{constructor(e,i){super(e,i)}dataType(){return this.getRuleContext(0,bt)}columnConstraint(e){return e===void 0?this.getRuleContexts(xt):this.getRuleContext(e,xt)}get ruleIndex(){return t.RULE_columnDefinition}enterRule(e){e.enterColumnDefinition&&e.enterColumnDefinition(this)}exitRule(e){e.exitColumnDefinition&&e.exitColumnDefinition(this)}accept(e){return e.visitColumnDefinition?e.visitColumnDefinition(this):e.visitChildren(this)}}class xt extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_columnConstraint}copyFrom(e){super.copyFrom(e)}}class xr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_DISK(){return this.getToken(t.KW_DISK,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}enterRule(e){e.enterStorageColumnConstraint&&e.enterStorageColumnConstraint(this)}exitRule(e){e.exitStorageColumnConstraint&&e.exitStorageColumnConstraint(this)}accept(e){return e.visitStorageColumnConstraint?e.visitStorageColumnConstraint(this):e.visitChildren(this)}}class fr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}enterRule(e){e.enterVisibilityColumnConstraint&&e.enterVisibilityColumnConstraint(this)}exitRule(e){e.exitVisibilityColumnConstraint&&e.exitVisibilityColumnConstraint(this)}accept(e){return e.visitVisibilityColumnConstraint?e.visitVisibilityColumnConstraint(this):e.visitChildren(this)}}class gr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AUTO_INCREMENT(){return this.getToken(t.KW_AUTO_INCREMENT,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}currentTimestamp(){return this.getRuleContext(0,$7)}enterRule(e){e.enterAutoIncrementColumnConstraint&&e.enterAutoIncrementColumnConstraint(this)}exitRule(e){e.exitAutoIncrementColumnConstraint&&e.exitAutoIncrementColumnConstraint(this)}accept(e){return e.visitAutoIncrementColumnConstraint?e.visitAutoIncrementColumnConstraint(this):e.visitChildren(this)}}class Ur extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterCommentColumnConstraint&&e.enterCommentColumnConstraint(this)}exitRule(e){e.exitCommentColumnConstraint&&e.exitCommentColumnConstraint(this)}accept(e){return e.visitCommentColumnConstraint?e.visitCommentColumnConstraint(this):e.visitChildren(this)}}class Dr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}checkConstraintDefinition(){return this.getRuleContext(0,f7)}enterRule(e){e.enterCheckExpr&&e.enterCheckExpr(this)}exitRule(e){e.exitCheckExpr&&e.exitCheckExpr(this)}accept(e){return e.visitCheckExpr?e.visitCheckExpr(this):e.visitChildren(this)}}class kr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterUniqueKeyColumnConstraint&&e.enterUniqueKeyColumnConstraint(this)}exitRule(e){e.exitUniqueKeyColumnConstraint&&e.exitUniqueKeyColumnConstraint(this)}accept(e){return e.visitUniqueKeyColumnConstraint?e.visitUniqueKeyColumnConstraint(this):e.visitChildren(this)}}class Sr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SERIAL(){return this.getToken(t.KW_SERIAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}enterRule(e){e.enterSerialDefaultColumnConstraint&&e.enterSerialDefaultColumnConstraint(this)}exitRule(e){e.exitSerialDefaultColumnConstraint&&e.exitSerialDefaultColumnConstraint(this)}accept(e){return e.visitSerialDefaultColumnConstraint?e.visitSerialDefaultColumnConstraint(this):e.visitChildren(this)}}class Hr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AS(){return this.getToken(t.KW_AS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_VIRTUAL(){return this.getToken(t.KW_VIRTUAL,0)}KW_STORED(){return this.getToken(t.KW_STORED,0)}enterRule(e){e.enterGeneratedColumnConstraint&&e.enterGeneratedColumnConstraint(this)}exitRule(e){e.exitGeneratedColumnConstraint&&e.exitGeneratedColumnConstraint(this)}accept(e){return e.visitGeneratedColumnConstraint?e.visitGeneratedColumnConstraint(this):e.visitChildren(this)}}class Br extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COLUMN_FORMAT(){return this.getToken(t.KW_COLUMN_FORMAT,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_DYNAMIC(){return this.getToken(t.KW_DYNAMIC,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}enterRule(e){e.enterFormatColumnConstraint&&e.enterFormatColumnConstraint(this)}exitRule(e){e.exitFormatColumnConstraint&&e.exitFormatColumnConstraint(this)}accept(e){return e.visitFormatColumnConstraint?e.visitFormatColumnConstraint(this):e.visitChildren(this)}}class Fr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterCollateColumnConstraint&&e.enterCollateColumnConstraint(this)}exitRule(e){e.exitCollateColumnConstraint&&e.exitCollateColumnConstraint(this)}accept(e){return e.visitCollateColumnConstraint?e.visitCollateColumnConstraint(this):e.visitChildren(this)}}class Gr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}enterRule(e){e.enterPrimaryKeyColumnConstraint&&e.enterPrimaryKeyColumnConstraint(this)}exitRule(e){e.exitPrimaryKeyColumnConstraint&&e.exitPrimaryKeyColumnConstraint(this)}accept(e){return e.visitPrimaryKeyColumnConstraint?e.visitPrimaryKeyColumnConstraint(this):e.visitChildren(this)}}class br extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}nullNotnull(){return this.getRuleContext(0,qh)}enterRule(e){e.enterNullColumnConstraint&&e.enterNullColumnConstraint(this)}exitRule(e){e.exitNullColumnConstraint&&e.exitNullColumnConstraint(this)}accept(e){return e.visitNullColumnConstraint?e.visitNullColumnConstraint(this):e.visitChildren(this)}}class wr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Ji)}enterRule(e){e.enterDefaultColumnConstraint&&e.enterDefaultColumnConstraint(this)}exitRule(e){e.exitDefaultColumnConstraint&&e.exitDefaultColumnConstraint(this)}accept(e){return e.visitDefaultColumnConstraint?e.visitDefaultColumnConstraint(this):e.visitChildren(this)}}class vr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}referenceDefinition(){return this.getRuleContext(0,g7)}enterRule(e){e.enterReferenceColumnConstraint&&e.enterReferenceColumnConstraint(this)}exitRule(e){e.exitReferenceColumnConstraint&&e.exitReferenceColumnConstraint(this)}accept(e){return e.visitReferenceColumnConstraint?e.visitReferenceColumnConstraint(this):e.visitChildren(this)}}class Yr extends xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}enterRule(e){e.enterInvisibilityColumnConstraint&&e.enterInvisibilityColumnConstraint(this)}exitRule(e){e.exitInvisibilityColumnConstraint&&e.exitInvisibilityColumnConstraint(this)}accept(e){return e.visitInvisibilityColumnConstraint?e.visitInvisibilityColumnConstraint(this):e.visitChildren(this)}}class g7 extends W{constructor(e,i){super(e,i)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}tableName(){return this.getRuleContext(0,X)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_MATCH(){return this.getToken(t.KW_MATCH,0)}referenceAction(){return this.getRuleContext(0,da)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}get ruleIndex(){return t.RULE_referenceDefinition}enterRule(e){e.enterReferenceDefinition&&e.enterReferenceDefinition(this)}exitRule(e){e.exitReferenceDefinition&&e.exitReferenceDefinition(this)}accept(e){return e.visitReferenceDefinition?e.visitReferenceDefinition(this):e.visitChildren(this)}}class da extends W{constructor(e,i){super(e,i)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}referenceControlType(e){return e===void 0?this.getRuleContexts(th):this.getRuleContext(e,th)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}get ruleIndex(){return t.RULE_referenceAction}enterRule(e){e.enterReferenceAction&&e.enterReferenceAction(this)}exitRule(e){e.exitReferenceAction&&e.exitReferenceAction(this)}accept(e){return e.visitReferenceAction?e.visitReferenceAction(this):e.visitChildren(this)}}class th extends W{constructor(e,i){super(e,i)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_referenceControlType}enterRule(e){e.enterReferenceControlType&&e.enterReferenceControlType(this)}exitRule(e){e.exitReferenceControlType&&e.exitReferenceControlType(this)}accept(e){return e.visitReferenceControlType?e.visitReferenceControlType(this):e.visitChildren(this)}}class V extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tableOption}copyFrom(e){super.copyFrom(e)}}class Vr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}engineName(){return this.getRuleContext(0,Ne)}enterRule(e){e.enterTableOptionEngine&&e.enterTableOptionEngine(this)}exitRule(e){e.exitTableOptionEngine&&e.exitTableOptionEngine(this)}accept(e){return e.visitTableOptionEngine?e.visitTableOptionEngine(this):e.visitChildren(this)}}class Xr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MAX_ROWS(){return this.getToken(t.KW_MAX_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionMaxRows&&e.enterTableOptionMaxRows(this)}exitRule(e){e.exitTableOptionMaxRows&&e.exitTableOptionMaxRows(this)}accept(e){return e.visitTableOptionMaxRows?e.visitTableOptionMaxRows(this):e.visitChildren(this)}}class Qr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionCollate&&e.enterTableOptionCollate(this)}exitRule(e){e.exitTableOptionCollate&&e.exitTableOptionCollate(this)}accept(e){return e.visitTableOptionCollate?e.visitTableOptionCollate(this):e.visitChildren(this)}}class Zr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STATS_PERSISTENT(){return this.getToken(t.KW_STATS_PERSISTENT,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPersistent&&e.enterTableOptionPersistent(this)}exitRule(e){e.exitTableOptionPersistent&&e.exitTableOptionPersistent(this)}accept(e){return e.visitTableOptionPersistent?e.visitTableOptionPersistent(this):e.visitChildren(this)}}class la extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,Xi)}tablespaceStorage(){return this.getRuleContext(0,pa)}enterRule(e){e.enterTableOptionTablespace&&e.enterTableOptionTablespace(this)}exitRule(e){e.exitTableOptionTablespace&&e.exitTableOptionTablespace(this)}accept(e){return e.visitTableOptionTablespace?e.visitTableOptionTablespace(this):e.visitChildren(this)}}class Jr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionAutoextendSize&&e.enterTableOptionAutoextendSize(this)}exitRule(e){e.exitTableOptionAutoextendSize&&e.exitTableOptionAutoextendSize(this)}accept(e){return e.visitTableOptionAutoextendSize?e.visitTableOptionAutoextendSize(this):e.visitChildren(this)}}class zr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PAGE_COMPRESSED(){return this.getToken(t.KW_PAGE_COMPRESSED,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPageCompressed&&e.enterTableOptionPageCompressed(this)}exitRule(e){e.exitTableOptionPageCompressed&&e.exitTableOptionPageCompressed(this)}accept(e){return e.visitTableOptionPageCompressed?e.visitTableOptionPageCompressed(this):e.visitChildren(this)}}class jr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_START(){return this.getToken(t.KW_START,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}enterRule(e){e.enterTableOptionStartTransaction&&e.enterTableOptionStartTransaction(this)}exitRule(e){e.exitTableOptionStartTransaction&&e.exitTableOptionStartTransaction(this)}accept(e){return e.visitTableOptionStartTransaction?e.visitTableOptionStartTransaction(this):e.visitChildren(this)}}class $r extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PACK_KEYS(){return this.getToken(t.KW_PACK_KEYS,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPackKeys&&e.enterTableOptionPackKeys(this)}exitRule(e){e.exitTableOptionPackKeys&&e.exitTableOptionPackKeys(this)}accept(e){return e.visitTableOptionPackKeys?e.visitTableOptionPackKeys(this):e.visitChildren(this)}}class Mr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPassword&&e.enterTableOptionPassword(this)}exitRule(e){e.exitTableOptionPassword&&e.exitTableOptionPassword(this)}accept(e){return e.visitTableOptionPassword?e.visitTableOptionPassword(this):e.visitChildren(this)}}class Pr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UNION(){return this.getToken(t.KW_UNION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableNames(){return this.getRuleContext(0,Le)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionUnion&&e.enterTableOptionUnion(this)}exitRule(e){e.exitTableOptionUnion&&e.exitTableOptionUnion(this)}accept(e){return e.visitTableOptionUnion?e.visitTableOptionUnion(this):e.visitChildren(this)}}class yr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STATS_SAMPLE_PAGES(){return this.getToken(t.KW_STATS_SAMPLE_PAGES,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionSamplePage&&e.enterTableOptionSamplePage(this)}exitRule(e){e.exitTableOptionSamplePage&&e.exitTableOptionSamplePage(this)}accept(e){return e.visitTableOptionSamplePage?e.visitTableOptionSamplePage(this):e.visitChildren(this)}}class qr extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionCharset&&e.enterTableOptionCharset(this)}exitRule(e){e.exitTableOptionCharset&&e.exitTableOptionCharset(this)}accept(e){return e.visitTableOptionCharset?e.visitTableOptionCharset(this):e.visitChildren(this)}}class tE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionIndexDirectory&&e.enterTableOptionIndexDirectory(this)}exitRule(e){e.exitTableOptionIndexDirectory&&e.exitTableOptionIndexDirectory(this)}accept(e){return e.visitTableOptionIndexDirectory?e.visitTableOptionIndexDirectory(this):e.visitChildren(this)}}class eE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLE_TYPE(){return this.getToken(t.KW_TABLE_TYPE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}tableType(){return this.getRuleContext(0,ma)}enterRule(e){e.enterTableOptionTableType&&e.enterTableOptionTableType(this)}exitRule(e){e.exitTableOptionTableType&&e.exitTableOptionTableType(this)}accept(e){return e.visitTableOptionTableType?e.visitTableOptionTableType(this):e.visitChildren(this)}}class iE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY_BLOCK_SIZE(){return this.getToken(t.KW_KEY_BLOCK_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,re)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionKeyBlockSize&&e.enterTableOptionKeyBlockSize(this)}exitRule(e){e.exitTableOptionKeyBlockSize&&e.exitTableOptionKeyBlockSize(this)}accept(e){return e.visitTableOptionKeyBlockSize?e.visitTableOptionKeyBlockSize(this):e.visitChildren(this)}}class sE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionEncryption&&e.enterTableOptionEncryption(this)}exitRule(e){e.exitTableOptionEncryption&&e.exitTableOptionEncryption(this)}accept(e){return e.visitTableOptionEncryption?e.visitTableOptionEncryption(this):e.visitChildren(this)}}class nE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionDataDirectory&&e.enterTableOptionDataDirectory(this)}exitRule(e){e.exitTableOptionDataDirectory&&e.exitTableOptionDataDirectory(this)}accept(e){return e.visitTableOptionDataDirectory?e.visitTableOptionDataDirectory(this):e.visitChildren(this)}}class hE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STATS_AUTO_RECALC(){return this.getToken(t.KW_STATS_AUTO_RECALC,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionRecalculation&&e.enterTableOptionRecalculation(this)}exitRule(e){e.exitTableOptionRecalculation&&e.exitTableOptionRecalculation(this)}accept(e){return e.visitTableOptionRecalculation?e.visitTableOptionRecalculation(this):e.visitChildren(this)}}class aE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AUTO_INCREMENT(){return this.getToken(t.KW_AUTO_INCREMENT,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionAutoIncrement&&e.enterTableOptionAutoIncrement(this)}exitRule(e){e.exitTableOptionAutoIncrement&&e.exitTableOptionAutoIncrement(this)}accept(e){return e.visitTableOptionAutoIncrement?e.visitTableOptionAutoIncrement(this):e.visitChildren(this)}}class cE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENCRYPTION_KEY_ID(){return this.getToken(t.KW_ENCRYPTION_KEY_ID,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionEncryptionKeyId&&e.enterTableOptionEncryptionKeyId(this)}exitRule(e){e.exitTableOptionEncryptionKeyId&&e.exitTableOptionEncryptionKeyId(this)}accept(e){return e.visitTableOptionEncryptionKeyId?e.visitTableOptionEncryptionKeyId(this):e.visitChildren(this)}}class oE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHECKSUM(){return this.getToken(t.KW_CHECKSUM,0)}KW_PAGE_CHECKSUM(){return this.getToken(t.KW_PAGE_CHECKSUM,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionChecksum&&e.enterTableOptionChecksum(this)}exitRule(e){e.exitTableOptionChecksum&&e.exitTableOptionChecksum(this)}accept(e){return e.visitTableOptionChecksum?e.visitTableOptionChecksum(this):e.visitChildren(this)}}class rE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DELAY_KEY_WRITE(){return this.getToken(t.KW_DELAY_KEY_WRITE,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionDelay&&e.enterTableOptionDelay(this)}exitRule(e){e.exitTableOptionDelay&&e.exitTableOptionDelay(this)}accept(e){return e.visitTableOptionDelay?e.visitTableOptionDelay(this):e.visitChildren(this)}}class EE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionConnection&&e.enterTableOptionConnection(this)}exitRule(e){e.exitTableOptionConnection&&e.exitTableOptionConnection(this)}accept(e){return e.visitTableOptionConnection?e.visitTableOptionConnection(this):e.visitChildren(this)}}class KE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TRANSACTIONAL(){return this.getToken(t.KW_TRANSACTIONAL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionTransactional&&e.enterTableOptionTransactional(this)}exitRule(e){e.exitTableOptionTransactional&&e.exitTableOptionTransactional(this)}accept(e){return e.visitTableOptionTransactional?e.visitTableOptionTransactional(this):e.visitChildren(this)}}class WE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalLiteral(){return this.getRuleContext(0,H)}KW_PAGE_COMPRESSION_LEVEL(){return this.getToken(t.KW_PAGE_COMPRESSION_LEVEL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionPageCompressionLevel&&e.enterTableOptionPageCompressionLevel(this)}exitRule(e){e.exitTableOptionPageCompressionLevel&&e.exitTableOptionPageCompressionLevel(this)}accept(e){return e.visitTableOptionPageCompressionLevel?e.visitTableOptionPageCompressionLevel(this):e.visitChildren(this)}}class uE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_SECONDARY_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionSecondaryEngineAttribute&&e.enterTableOptionSecondaryEngineAttribute(this)}exitRule(e){e.exitTableOptionSecondaryEngineAttribute&&e.exitTableOptionSecondaryEngineAttribute(this)}accept(e){return e.visitTableOptionSecondaryEngineAttribute?e.visitTableOptionSecondaryEngineAttribute(this):e.visitChildren(this)}}class RE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionComment&&e.enterTableOptionComment(this)}exitRule(e){e.exitTableOptionComment&&e.exitTableOptionComment(this)}accept(e){return e.visitTableOptionComment?e.visitTableOptionComment(this):e.visitChildren(this)}}class TE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_AVG_ROW_LENGTH(){return this.getToken(t.KW_AVG_ROW_LENGTH,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionAverage&&e.enterTableOptionAverage(this)}exitRule(e){e.exitTableOptionAverage&&e.exitTableOptionAverage(this)}accept(e){return e.visitTableOptionAverage?e.visitTableOptionAverage(this):e.visitChildren(this)}}class _E extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ROW_FORMAT(){return this.getToken(t.KW_ROW_FORMAT,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DYNAMIC(){return this.getToken(t.KW_DYNAMIC,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_COMPRESSED(){return this.getToken(t.KW_COMPRESSED,0)}KW_REDUNDANT(){return this.getToken(t.KW_REDUNDANT,0)}KW_COMPACT(){return this.getToken(t.KW_COMPACT,0)}ID(){return this.getToken(t.ID,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionRowFormat&&e.enterTableOptionRowFormat(this)}exitRule(e){e.exitTableOptionRowFormat&&e.exitTableOptionRowFormat(this)}accept(e){return e.visitTableOptionRowFormat?e.visitTableOptionRowFormat(this):e.visitChildren(this)}}class AE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMPRESSION(){return this.getToken(t.KW_COMPRESSION,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}ID(){return this.getToken(t.ID,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionCompression&&e.enterTableOptionCompression(this)}exitRule(e){e.exitTableOptionCompression&&e.exitTableOptionCompression(this)}accept(e){return e.visitTableOptionCompression?e.visitTableOptionCompression(this):e.visitChildren(this)}}class IE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INSERT_METHOD(){return this.getToken(t.KW_INSERT_METHOD,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionInsertMethod&&e.enterTableOptionInsertMethod(this)}exitRule(e){e.exitTableOptionInsertMethod&&e.exitTableOptionInsertMethod(this)}accept(e){return e.visitTableOptionInsertMethod?e.visitTableOptionInsertMethod(this):e.visitChildren(this)}}class LE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionEngineAttribute&&e.enterTableOptionEngineAttribute(this)}exitRule(e){e.exitTableOptionEngineAttribute&&e.exitTableOptionEngineAttribute(this)}accept(e){return e.visitTableOptionEngineAttribute?e.visitTableOptionEngineAttribute(this):e.visitChildren(this)}}class OE extends V{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MIN_ROWS(){return this.getToken(t.KW_MIN_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterTableOptionMinRows&&e.enterTableOptionMinRows(this)}exitRule(e){e.exitTableOptionMinRows&&e.exitTableOptionMinRows(this)}accept(e){return e.visitTableOptionMinRows?e.visitTableOptionMinRows(this):e.visitChildren(this)}}class ma extends W{constructor(e,i){super(e,i)}KW_MYSQL(){return this.getToken(t.KW_MYSQL,0)}KW_ODBC(){return this.getToken(t.KW_ODBC,0)}get ruleIndex(){return t.RULE_tableType}enterRule(e){e.enterTableType&&e.enterTableType(this)}exitRule(e){e.exitTableType&&e.exitTableType(this)}accept(e){return e.visitTableType?e.visitTableType(this):e.visitChildren(this)}}class pa extends W{constructor(e,i){super(e,i)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_DISK(){return this.getToken(t.KW_DISK,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_tablespaceStorage}enterRule(e){e.enterTablespaceStorage&&e.enterTablespaceStorage(this)}exitRule(e){e.exitTablespaceStorage&&e.exitTablespaceStorage(this)}accept(e){return e.visitTablespaceStorage?e.visitTablespaceStorage(this):e.visitChildren(this)}}class eh extends W{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(e){return e===void 0?this.getTokens(t.KW_BY):this.getToken(t.KW_BY,e)}partitionFunctionDefinition(){return this.getRuleContext(0,g1)}KW_PARTITIONS(){return this.getToken(t.KW_PARTITIONS,0)}KW_SUBPARTITION(){return this.getToken(t.KW_SUBPARTITION,0)}subpartitionFunctionDefinition(){return this.getRuleContext(0,U7)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinition(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_SUBPARTITIONS(){return this.getToken(t.KW_SUBPARTITIONS,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionDefinitions}enterRule(e){e.enterPartitionDefinitions&&e.enterPartitionDefinitions(this)}exitRule(e){e.exitPartitionDefinitions&&e.exitPartitionDefinitions(this)}accept(e){return e.visitPartitionDefinitions?e.visitPartitionDefinitions(this):e.visitChildren(this)}}class g1 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_partitionFunctionDefinition}copyFrom(e){super.copyFrom(e)}}class CE extends g1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY(){return this.getToken(t.KW_KEY,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}columnNames(){return this.getRuleContext(0,oe)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}enterRule(e){e.enterPartitionFunctionKey&&e.enterPartitionFunctionKey(this)}exitRule(e){e.exitPartitionFunctionKey&&e.exitPartitionFunctionKey(this)}accept(e){return e.visitPartitionFunctionKey?e.visitPartitionFunctionKey(this):e.visitChildren(this)}}class NE extends g1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_HASH(){return this.getToken(t.KW_HASH,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}enterRule(e){e.enterPartitionFunctionHash&&e.enterPartitionFunctionHash(this)}exitRule(e){e.exitPartitionFunctionHash&&e.exitPartitionFunctionHash(this)}accept(e){return e.visitPartitionFunctionHash?e.visitPartitionFunctionHash(this):e.visitChildren(this)}}class dE extends g1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LIST(){return this.getToken(t.KW_LIST,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}columnNames(){return this.getRuleContext(0,oe)}enterRule(e){e.enterPartitionFunctionList&&e.enterPartitionFunctionList(this)}exitRule(e){e.exitPartitionFunctionList&&e.exitPartitionFunctionList(this)}accept(e){return e.visitPartitionFunctionList?e.visitPartitionFunctionList(this):e.visitChildren(this)}}class lE extends g1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}columnNames(){return this.getRuleContext(0,oe)}enterRule(e){e.enterPartitionFunctionRange&&e.enterPartitionFunctionRange(this)}exitRule(e){e.exitPartitionFunctionRange&&e.exitPartitionFunctionRange(this)}accept(e){return e.visitPartitionFunctionRange?e.visitPartitionFunctionRange(this):e.visitChildren(this)}}class U7 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_subpartitionFunctionDefinition}copyFrom(e){super.copyFrom(e)}}class mE extends U7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_HASH(){return this.getToken(t.KW_HASH,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}enterRule(e){e.enterSubPartitionFunctionHash&&e.enterSubPartitionFunctionHash(this)}exitRule(e){e.exitSubPartitionFunctionHash&&e.exitSubPartitionFunctionHash(this)}accept(e){return e.visitSubPartitionFunctionHash?e.visitSubPartitionFunctionHash(this):e.visitChildren(this)}}class pE extends U7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEY(){return this.getToken(t.KW_KEY,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,oe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LINEAR(){return this.getToken(t.KW_LINEAR,0)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}enterRule(e){e.enterSubPartitionFunctionKey&&e.enterSubPartitionFunctionKey(this)}exitRule(e){e.exitSubPartitionFunctionKey&&e.exitSubPartitionFunctionKey(this)}accept(e){return e.visitSubPartitionFunctionKey?e.visitSubPartitionFunctionKey(this):e.visitChildren(this)}}class _e extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_partitionDefinition}copyFrom(e){super.copyFrom(e)}}class xa extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,L0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_LESS(){return this.getToken(t.KW_LESS,0)}KW_THAN(){return this.getToken(t.KW_THAN,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionDefinerAtom(e){return e===void 0?this.getRuleContexts(J0):this.getRuleContext(e,J0)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}partitionOption(e){return e===void 0?this.getRuleContexts(dt):this.getRuleContext(e,dt)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterPartitionComparison&&e.enterPartitionComparison(this)}exitRule(e){e.exitPartitionComparison&&e.exitPartitionComparison(this)}accept(e){return e.visitPartitionComparison?e.visitPartitionComparison(this):e.visitChildren(this)}}class xE extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,L0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionDefinerAtom(e){return e===void 0?this.getRuleContexts(J0):this.getRuleContext(e,J0)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}partitionOption(e){return e===void 0?this.getRuleContexts(dt):this.getRuleContext(e,dt)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterPartitionListAtom&&e.enterPartitionListAtom(this)}exitRule(e){e.exitPartitionListAtom&&e.exitPartitionListAtom(this)}accept(e){return e.visitPartitionListAtom?e.visitPartitionListAtom(this):e.visitChildren(this)}}class fE extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,L0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionDefinerVector(e){return e===void 0?this.getRuleContexts(ih):this.getRuleContext(e,ih)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}partitionOption(e){return e===void 0?this.getRuleContexts(dt):this.getRuleContext(e,dt)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterPartitionListVector&&e.enterPartitionListVector(this)}exitRule(e){e.exitPartitionListVector&&e.exitPartitionListVector(this)}accept(e){return e.visitPartitionListVector?e.visitPartitionListVector(this):e.visitChildren(this)}}class gE extends _e{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,L0)}partitionOption(e){return e===void 0?this.getRuleContexts(dt):this.getRuleContext(e,dt)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}subpartitionDefinition(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterPartitionSimple&&e.enterPartitionSimple(this)}exitRule(e){e.exitPartitionSimple&&e.exitPartitionSimple(this)}accept(e){return e.visitPartitionSimple?e.visitPartitionSimple(this):e.visitChildren(this)}}class J0 extends W{constructor(e,i){super(e,i)}constant(){return this.getRuleContext(0,O0)}expression(){return this.getRuleContext(0,k)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}get ruleIndex(){return t.RULE_partitionDefinerAtom}enterRule(e){e.enterPartitionDefinerAtom&&e.enterPartitionDefinerAtom(this)}exitRule(e){e.exitPartitionDefinerAtom&&e.exitPartitionDefinerAtom(this)}accept(e){return e.visitPartitionDefinerAtom?e.visitPartitionDefinerAtom(this):e.visitChildren(this)}}class ih extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinerAtom(e){return e===void 0?this.getRuleContexts(J0):this.getRuleContext(e,J0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionDefinerVector}enterRule(e){e.enterPartitionDefinerVector&&e.enterPartitionDefinerVector(this)}exitRule(e){e.exitPartitionDefinerVector&&e.exitPartitionDefinerVector(this)}accept(e){return e.visitPartitionDefinerVector?e.visitPartitionDefinerVector(this):e.visitChildren(this)}}class Xe extends W{constructor(e,i){super(e,i)}KW_SUBPARTITION(){return this.getToken(t.KW_SUBPARTITION,0)}uid(){return this.getRuleContext(0,d)}partitionOption(e){return e===void 0?this.getRuleContexts(dt):this.getRuleContext(e,dt)}get ruleIndex(){return t.RULE_subpartitionDefinition}enterRule(e){e.enterSubpartitionDefinition&&e.enterSubpartitionDefinition(this)}exitRule(e){e.exitSubpartitionDefinition&&e.exitSubpartitionDefinition(this)}accept(e){return e.visitSubpartitionDefinition?e.visitSubpartitionDefinition(this):e.visitChildren(this)}}class dt extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_partitionOption}copyFrom(e){super.copyFrom(e)}}class UE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionComment&&e.enterPartitionOptionComment(this)}exitRule(e){e.exitPartitionOptionComment&&e.exitPartitionOptionComment(this)}accept(e){return e.visitPartitionOptionComment?e.visitPartitionOptionComment(this):e.visitChildren(this)}}class DE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}uid(){return this.getRuleContext(0,d)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionNodeGroup&&e.enterPartitionOptionNodeGroup(this)}exitRule(e){e.exitPartitionOptionNodeGroup&&e.exitPartitionOptionNodeGroup(this)}accept(e){return e.visitPartitionOptionNodeGroup?e.visitPartitionOptionNodeGroup(this):e.visitChildren(this)}}class kE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionIndexDirectory&&e.enterPartitionOptionIndexDirectory(this)}exitRule(e){e.exitPartitionOptionIndexDirectory&&e.exitPartitionOptionIndexDirectory(this)}accept(e){return e.visitPartitionOptionIndexDirectory?e.visitPartitionOptionIndexDirectory(this):e.visitChildren(this)}}class SE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MAX_ROWS(){return this.getToken(t.KW_MAX_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionMaxRows&&e.enterPartitionOptionMaxRows(this)}exitRule(e){e.exitPartitionOptionMaxRows&&e.exitPartitionOptionMaxRows(this)}accept(e){return e.visitPartitionOptionMaxRows?e.visitPartitionOptionMaxRows(this):e.visitChildren(this)}}class HE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,Xi)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionTablespace&&e.enterPartitionOptionTablespace(this)}exitRule(e){e.exitPartitionOptionTablespace&&e.exitPartitionOptionTablespace(this)}accept(e){return e.visitPartitionOptionTablespace?e.visitPartitionOptionTablespace(this):e.visitChildren(this)}}class BE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionEngine&&e.enterPartitionOptionEngine(this)}exitRule(e){e.exitPartitionOptionEngine&&e.exitPartitionOptionEngine(this)}accept(e){return e.visitPartitionOptionEngine?e.visitPartitionOptionEngine(this):e.visitChildren(this)}}class FE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MIN_ROWS(){return this.getToken(t.KW_MIN_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,H)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionMinRows&&e.enterPartitionOptionMinRows(this)}exitRule(e){e.exitPartitionOptionMinRows&&e.exitPartitionOptionMinRows(this)}accept(e){return e.visitPartitionOptionMinRows?e.visitPartitionOptionMinRows(this):e.visitChildren(this)}}class GE extends dt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterPartitionOptionDataDirectory&&e.enterPartitionOptionDataDirectory(this)}exitRule(e){e.exitPartitionOptionDataDirectory&&e.exitPartitionOptionDataDirectory(this)}accept(e){return e.visitPartitionOptionDataDirectory?e.visitPartitionOptionDataDirectory(this):e.visitChildren(this)}}class D7 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_alterDatabase}copyFrom(e){super.copyFrom(e)}}class bE extends D7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}databaseName(){return this.getRuleContext(0,Zt)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}enterRule(e){e.enterAlterUpgradeName&&e.enterAlterUpgradeName(this)}exitRule(e){e.exitAlterUpgradeName&&e.exitAlterUpgradeName(this)}accept(e){return e.visitAlterUpgradeName?e.visitAlterUpgradeName(this):e.visitChildren(this)}}class wE extends D7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}databaseName(){return this.getRuleContext(0,Zt)}createDatabaseOption(e){return e===void 0?this.getRuleContexts(Ii):this.getRuleContext(e,Ii)}enterRule(e){e.enterAlterSimpleDatabase&&e.enterAlterSimpleDatabase(this)}exitRule(e){e.exitAlterSimpleDatabase&&e.exitAlterSimpleDatabase(this)}accept(e){return e.visitAlterSimpleDatabase?e.visitAlterSimpleDatabase(this):e.visitChildren(this)}}class fa extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}fullId(e){return e===void 0?this.getRuleContexts(at):this.getRuleContext(e,at)}ownerStatement(){return this.getRuleContext(0,R0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_SCHEDULE(){return this.getToken(t.KW_SCHEDULE,0)}scheduleExpression(){return this.getRuleContext(0,Li)}KW_COMPLETION(){return this.getToken(t.KW_COMPLETION,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}enableType(){return this.getRuleContext(0,$2)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DO(){return this.getToken(t.KW_DO,0)}routineBody(){return this.getRuleContext(0,i1)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_alterEvent}enterRule(e){e.enterAlterEvent&&e.enterAlterEvent(this)}exitRule(e){e.exitAlterEvent&&e.exitAlterEvent(this)}accept(e){return e.visitAlterEvent?e.visitAlterEvent(this):e.visitChildren(this)}}class ga extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,H1)}routineOption(e){return e===void 0?this.getRuleContexts($t):this.getRuleContext(e,$t)}get ruleIndex(){return t.RULE_alterFunction}enterRule(e){e.enterAlterFunction&&e.enterAlterFunction(this)}exitRule(e){e.exitAlterFunction&&e.exitAlterFunction(this)}accept(e){return e.visitAlterFunction?e.visitAlterFunction(this):e.visitChildren(this)}}class Ua extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_INSTANCE(){return this.getToken(t.KW_INSTANCE,0)}KW_ROTATE(){return this.getToken(t.KW_ROTATE,0)}KW_INNODB(){return this.getToken(t.KW_INNODB,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_alterInstance}enterRule(e){e.enterAlterInstance&&e.enterAlterInstance(this)}exitRule(e){e.exitAlterInstance&&e.exitAlterInstance(this)}accept(e){return e.visitAlterInstance?e.visitAlterInstance(this):e.visitChildren(this)}}class Da extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_UNDOFILE(){return this.getToken(t.KW_UNDOFILE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}uid(){return this.getRuleContext(0,d)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,re)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_alterLogfileGroup}enterRule(e){e.enterAlterLogfileGroup&&e.enterAlterLogfileGroup(this)}exitRule(e){e.exitAlterLogfileGroup&&e.exitAlterLogfileGroup(this)}accept(e){return e.visitAlterLogfileGroup?e.visitAlterLogfileGroup(this):e.visitChildren(this)}}class ka extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}fullId(){return this.getRuleContext(0,at)}routineOption(e){return e===void 0?this.getRuleContexts($t):this.getRuleContext(e,$t)}get ruleIndex(){return t.RULE_alterProcedure}enterRule(e){e.enterAlterProcedure&&e.enterAlterProcedure(this)}exitRule(e){e.exitAlterProcedure&&e.exitAlterProcedure(this)}accept(e){return e.visitAlterProcedure?e.visitAlterProcedure(this):e.visitChildren(this)}}class Sa extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}serverOption(e){return e===void 0?this.getRuleContexts(Ni):this.getRuleContext(e,Ni)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(){return this.getRuleContext(0,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alterServer}enterRule(e){e.enterAlterServer&&e.enterAlterServer(this)}exitRule(e){e.exitAlterServer&&e.exitAlterServer(this)}accept(e){return e.visitAlterServer?e.visitAlterServer(this):e.visitChildren(this)}}class Ha extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}alterOption(e){return e===void 0?this.getRuleContexts(z):this.getRuleContext(e,z)}alterPartitionSpecification(e){return e===void 0?this.getRuleContexts(lt):this.getRuleContext(e,lt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alterTable}enterRule(e){e.enterAlterTable&&e.enterAlterTable(this)}exitRule(e){e.exitAlterTable&&e.exitAlterTable(this)}accept(e){return e.visitAlterTable?e.visitAlterTable(this):e.visitChildren(this)}}class Ba extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,Xi)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}fileSizeLiteral(e){return e===void 0?this.getRuleContexts(re):this.getRuleContext(e,re)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}tablespaceNameCreate(){return this.getRuleContext(0,V7)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}KW_ACTIVE(){return this.getToken(t.KW_ACTIVE,0)}KW_INACTIVE(){return this.getToken(t.KW_INACTIVE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_alterTablespace}enterRule(e){e.enterAlterTablespace&&e.enterAlterTablespace(this)}exitRule(e){e.exitAlterTablespace&&e.exitAlterTablespace(this)}accept(e){return e.visitAlterTablespace?e.visitAlterTablespace(this):e.visitChildren(this)}}class Fa extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Vi)}KW_AS(){return this.getToken(t.KW_AS,0)}selectStatement(){return this.getRuleContext(0,ft)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ownerStatement(){return this.getRuleContext(0,R0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,oe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_UNDEFINED(){return this.getToken(t.KW_UNDEFINED,0)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_TEMPTABLE(){return this.getToken(t.KW_TEMPTABLE,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_alterView}enterRule(e){e.enterAlterView&&e.enterAlterView(this)}exitRule(e){e.exitAlterView&&e.exitAlterView(this)}accept(e){return e.visitAlterView?e.visitAlterView(this):e.visitChildren(this)}}class z extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_alterOption}copyFrom(e){super.copyFrom(e)}}class vE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}columnName(){return this.getRuleContext(0,At)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Ji)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}enterRule(e){e.enterAlterByAlterColumnDefault&&e.enterAlterByAlterColumnDefault(this)}exitRule(e){e.exitAlterByAlterColumnDefault&&e.exitAlterByAlterColumnDefault(this)}accept(e){return e.visitAlterByAlterColumnDefault?e.visitAlterByAlterColumnDefault(this):e.visitChildren(this)}}class YE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}charsetName(){return this.getRuleContext(0,Ft)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterAlterByDefaultCharset&&e.enterAlterByDefaultCharset(this)}exitRule(e){e.exitAlterByDefaultCharset&&e.exitAlterByDefaultCharset(this)}accept(e){return e.visitAlterByDefaultCharset?e.visitAlterByDefaultCharset(this):e.visitChildren(this)}}class VE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONVERT(){return this.getToken(t.KW_CONVERT,0)}KW_TO(){return this.getToken(t.KW_TO,0)}charsetName(){return this.getRuleContext(0,Ft)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterAlterByConvertCharset&&e.enterAlterByConvertCharset(this)}exitRule(e){e.exitAlterByConvertCharset&&e.exitAlterByConvertCharset(this)}accept(e){return e.visitAlterByConvertCharset?e.visitAlterByConvertCharset(this):e.visitChildren(this)}}class XE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_TO(){return this.getToken(t.KW_TO,0)}columnName(){return this.getRuleContext(0,At)}columnNameCreate(){return this.getRuleContext(0,F1)}enterRule(e){e.enterAlterByRenameColumn&&e.enterAlterByRenameColumn(this)}exitRule(e){e.exitAlterByRenameColumn&&e.exitAlterByRenameColumn(this)}accept(e){return e.visitAlterByRenameColumn?e.visitAlterByRenameColumn(this):e.visitChildren(this)}}class QE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexColumnNames(){return this.getRuleContext(0,$e)}referenceDefinition(){return this.getRuleContext(0,g7)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}indexName(){return this.getRuleContext(0,ie)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterAlterByAddForeignKey&&e.enterAlterByAddForeignKey(this)}exitRule(e){e.exitAlterByAddForeignKey&&e.exitAlterByAddForeignKey(this)}accept(e){return e.visitAlterByAddForeignKey?e.visitAlterByAddForeignKey(this):e.visitChildren(this)}}class ZE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}indexName(){return this.getRuleContext(0,ie)}KW_TO(){return this.getToken(t.KW_TO,0)}indexNameCreate(){return this.getRuleContext(0,zh)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByRenameIndex&&e.enterAlterByRenameIndex(this)}exitRule(e){e.exitAlterByRenameIndex&&e.exitAlterByRenameIndex(this)}accept(e){return e.visitAlterByRenameIndex?e.visitAlterByRenameIndex(this):e.visitChildren(this)}}class JE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}enterRule(e){e.enterAlterTablespaceOption&&e.enterAlterTablespaceOption(this)}exitRule(e){e.exitAlterTablespaceOption&&e.exitAlterTablespaceOption(this)}accept(e){return e.visitAlterTablespaceOption?e.visitAlterTablespaceOption(this):e.visitChildren(this)}}class zE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}tableNameCreate(){return this.getRuleContext(0,B1)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterAlterByRename&&e.enterAlterByRename(this)}exitRule(e){e.exitAlterByRename&&e.exitAlterByRename(this)}accept(e){return e.visitAlterByRename?e.visitAlterByRename(this):e.visitChildren(this)}}class jE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterAlterByDropConstraintCheck&&e.enterAlterByDropConstraintCheck(this)}exitRule(e){e.exitAlterByDropConstraintCheck&&e.exitAlterByDropConstraintCheck(this)}accept(e){return e.visitAlterByDropConstraintCheck?e.visitAlterByDropConstraintCheck(this):e.visitChildren(this)}}class $E extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}uid(){return this.getRuleContext(0,d)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ENFORCED(){return this.getToken(t.KW_ENFORCED,0)}enterRule(e){e.enterAlterByAlterCheckTableConstraint&&e.enterAlterByAlterCheckTableConstraint(this)}exitRule(e){e.exitAlterByAlterCheckTableConstraint&&e.exitAlterByAlterCheckTableConstraint(this)}accept(e){return e.visitAlterByAlterCheckTableConstraint?e.visitAlterByAlterCheckTableConstraint(this):e.visitChildren(this)}}class ME extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnDefinition(e){return e===void 0?this.getRuleContexts(Z0):this.getRuleContext(e,Z0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByAddColumns&&e.enterAlterByAddColumns(this)}exitRule(e){e.exitAlterByAddColumns&&e.exitAlterByAddColumns(this)}accept(e){return e.visitAlterByAddColumns?e.visitAlterByAddColumns(this):e.visitChildren(this)}}class PE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}indexName(){return this.getRuleContext(0,ie)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}enterRule(e){e.enterAlterByAlterIndexVisibility&&e.enterAlterByAlterIndexVisibility(this)}exitRule(e){e.exitAlterByAlterIndexVisibility&&e.exitAlterByAlterIndexVisibility(this)}accept(e){return e.visitAlterByAlterIndexVisibility?e.visitAlterByAlterIndexVisibility(this):e.visitChildren(this)}}class yE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterAlterByDropForeignKey&&e.enterAlterByDropForeignKey(this)}exitRule(e){e.exitAlterByDropForeignKey&&e.exitAlterByDropForeignKey(this)}accept(e){return e.visitAlterByDropForeignKey?e.visitAlterByDropForeignKey(this):e.visitChildren(this)}}class qE extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}checkConstraintDefinition(){return this.getRuleContext(0,f7)}enterRule(e){e.enterAlterByAddCheckTableConstraint&&e.enterAlterByAddCheckTableConstraint(this)}exitRule(e){e.exitAlterByAddCheckTableConstraint&&e.exitAlterByAddCheckTableConstraint(this)}accept(e){return e.visitAlterByAddCheckTableConstraint?e.visitAlterByAddCheckTableConstraint(this):e.visitChildren(this)}}class t9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}alterPartitionSpecification(){return this.getRuleContext(0,lt)}enterRule(e){e.enterAlterPartition&&e.enterAlterPartition(this)}exitRule(e){e.exitAlterPartition&&e.exitAlterPartition(this)}accept(e){return e.visitAlterPartition?e.visitAlterPartition(this):e.visitChildren(this)}}class e9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexName(){return this.getRuleContext(0,ie)}indexType(){return this.getRuleContext(0,Q0)}indexOption(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}enterRule(e){e.enterAlterByAddIndex&&e.enterAlterByAddIndex(this)}exitRule(e){e.exitAlterByAddIndex&&e.exitAlterByAddIndex(this)}accept(e){return e.visitAlterByAddIndex?e.visitAlterByAddIndex(this):e.visitChildren(this)}}class i9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}columnName(){return this.getRuleContext(0,At)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}enterRule(e){e.enterAlterByDropColumn&&e.enterAlterByDropColumn(this)}exitRule(e){e.exitAlterByDropColumn&&e.exitAlterByDropColumn(this)}accept(e){return e.visitAlterByDropColumn?e.visitAlterByDropColumn(this):e.visitChildren(this)}}class s9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}enterRule(e){e.enterAlterByForce&&e.enterAlterByForce(this)}exitRule(e){e.exitAlterByForce&&e.exitAlterByForce(this)}accept(e){return e.visitAlterByForce?e.visitAlterByForce(this):e.visitChildren(this)}}class n9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_FULLTEXT(){return this.getToken(t.KW_FULLTEXT,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}indexName(){return this.getRuleContext(0,ie)}indexOption(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByAddSpecialIndex&&e.enterAlterByAddSpecialIndex(this)}exitRule(e){e.exitAlterByAddSpecialIndex&&e.exitAlterByAddSpecialIndex(this)}accept(e){return e.visitAlterByAddSpecialIndex?e.visitAlterByAddSpecialIndex(this):e.visitChildren(this)}}class h9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MODIFY(){return this.getToken(t.KW_MODIFY,0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnDefinition(){return this.getRuleContext(0,Z0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}enterRule(e){e.enterAlterByModifyColumn&&e.enterAlterByModifyColumn(this)}exitRule(e){e.exitAlterByModifyColumn&&e.exitAlterByModifyColumn(this)}accept(e){return e.visitAlterByModifyColumn?e.visitAlterByModifyColumn(this):e.visitChildren(this)}}class a9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}tableOption(e){return e===void 0?this.getRuleContexts(V):this.getRuleContext(e,V)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByTableOption&&e.enterAlterByTableOption(this)}exitRule(e){e.exitAlterByTableOption&&e.exitAlterByTableOption(this)}accept(e){return e.visitAlterByTableOption?e.visitAlterByTableOption(this):e.visitChildren(this)}}class c9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByDropPrimaryKey&&e.enterAlterByDropPrimaryKey(this)}exitRule(e){e.exitAlterByDropPrimaryKey&&e.exitAlterByDropPrimaryKey(this)}accept(e){return e.visitAlterByDropPrimaryKey?e.visitAlterByDropPrimaryKey(this):e.visitChildren(this)}}class o9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_SHARED(){return this.getToken(t.KW_SHARED,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterAlterByLock&&e.enterAlterByLock(this)}exitRule(e){e.exitAlterByLock&&e.exitAlterByLock(this)}accept(e){return e.visitAlterByLock?e.visitAlterByLock(this):e.visitChildren(this)}}class r9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_KEYS(){return this.getToken(t.KW_KEYS,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}enterRule(e){e.enterAlterKeys&&e.enterAlterKeys(this)}exitRule(e){e.exitAlterKeys&&e.exitAlterKeys(this)}accept(e){return e.visitAlterKeys?e.visitAlterKeys(this):e.visitChildren(this)}}class E9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_VALIDATION(){return this.getToken(t.KW_VALIDATION,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}enterRule(e){e.enterAlterByValidate&&e.enterAlterByValidate(this)}exitRule(e){e.exitAlterByValidate&&e.exitAlterByValidate(this)}accept(e){return e.visitAlterByValidate?e.visitAlterByValidate(this):e.visitChildren(this)}}class K9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}indexType(){return this.getRuleContext(0,Q0)}indexOption(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterAlterByAddPrimaryKey&&e.enterAlterByAddPrimaryKey(this)}exitRule(e){e.exitAlterByAddPrimaryKey&&e.exitAlterByAddPrimaryKey(this)}accept(e){return e.visitAlterByAddPrimaryKey?e.visitAlterByAddPrimaryKey(this):e.visitChildren(this)}}class W9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_INSTANT(){return this.getToken(t.KW_INSTANT,0)}KW_INPLACE(){return this.getToken(t.KW_INPLACE,0)}KW_COPY(){return this.getToken(t.KW_COPY,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}enterRule(e){e.enterAlterBySetAlgorithm&&e.enterAlterBySetAlgorithm(this)}exitRule(e){e.exitAlterBySetAlgorithm&&e.exitAlterBySetAlgorithm(this)}accept(e){return e.visitAlterBySetAlgorithm?e.visitAlterBySetAlgorithm(this):e.visitChildren(this)}}class u9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}columnDefinition(){return this.getRuleContext(0,Z0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnNameCreate(){return this.getRuleContext(0,F1)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}enterRule(e){e.enterAlterByChangeColumn&&e.enterAlterByChangeColumn(this)}exitRule(e){e.exitAlterByChangeColumn&&e.exitAlterByChangeColumn(this)}accept(e){return e.visitAlterByChangeColumn?e.visitAlterByChangeColumn(this):e.visitChildren(this)}}class R9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}indexColumnNames(){return this.getRuleContext(0,$e)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}indexName(){return this.getRuleContext(0,ie)}indexType(){return this.getRuleContext(0,Q0)}indexOption(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterAlterByAddUniqueKey&&e.enterAlterByAddUniqueKey(this)}exitRule(e){e.exitAlterByAddUniqueKey&&e.exitAlterByAddUniqueKey(this)}accept(e){return e.visitAlterByAddUniqueKey?e.visitAlterByAddUniqueKey(this):e.visitChildren(this)}}class T9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}indexName(){return this.getRuleContext(0,ie)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}enterRule(e){e.enterAlterByDropIndex&&e.enterAlterByDropIndex(this)}exitRule(e){e.exitAlterByDropIndex&&e.exitAlterByDropIndex(this)}accept(e){return e.visitAlterByDropIndex?e.visitAlterByDropIndex(this):e.visitChildren(this)}}class _9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}columnDefinition(){return this.getRuleContext(0,Z0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}enterRule(e){e.enterAlterByAddColumn&&e.enterAlterByAddColumn(this)}exitRule(e){e.exitAlterByAddColumn&&e.exitAlterByAddColumn(this)}accept(e){return e.visitAlterByAddColumn?e.visitAlterByAddColumn(this):e.visitChildren(this)}}class A9 extends z{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}columnNames(){return this.getRuleContext(0,oe)}enterRule(e){e.enterAlterByOrder&&e.enterAlterByOrder(this)}exitRule(e){e.exitAlterByOrder&&e.exitAlterByOrder(this)}accept(e){return e.visitAlterByOrder?e.visitAlterByOrder(this):e.visitChildren(this)}}class lt extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_alterPartitionSpecification}copyFrom(e){super.copyFrom(e)}}class I9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByImportPartition&&e.enterAlterByImportPartition(this)}exitRule(e){e.exitAlterByImportPartition&&e.exitAlterByImportPartition(this)}accept(e){return e.visitAlterByImportPartition?e.visitAlterByImportPartition(this):e.visitChildren(this)}}class L9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}enterRule(e){e.enterAlterByDropPartition&&e.enterAlterByDropPartition(this)}exitRule(e){e.exitAlterByDropPartition&&e.exitAlterByDropPartition(this)}accept(e){return e.visitAlterByDropPartition?e.visitAlterByDropPartition(this):e.visitChildren(this)}}class O9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByDiscardPartition&&e.enterAlterByDiscardPartition(this)}exitRule(e){e.exitAlterByDiscardPartition&&e.exitAlterByDiscardPartition(this)}accept(e){return e.visitAlterByDiscardPartition?e.visitAlterByDiscardPartition(this):e.visitChildren(this)}}class C9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinition(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByAddPartition&&e.enterAlterByAddPartition(this)}exitRule(e){e.exitAlterByAddPartition&&e.exitAlterByAddPartition(this)}accept(e){return e.visitAlterByAddPartition?e.visitAlterByAddPartition(this):e.visitChildren(this)}}class N9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REMOVE(){return this.getToken(t.KW_REMOVE,0)}KW_PARTITIONING(){return this.getToken(t.KW_PARTITIONING,0)}enterRule(e){e.enterAlterByRemovePartitioning&&e.enterAlterByRemovePartitioning(this)}exitRule(e){e.exitAlterByRemovePartitioning&&e.exitAlterByRemovePartitioning(this)}accept(e){return e.visitAlterByRemovePartitioning?e.visitAlterByRemovePartitioning(this):e.visitChildren(this)}}class d9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_OPTIMIZE(){return this.getToken(t.KW_OPTIMIZE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByOptimizePartition&&e.enterAlterByOptimizePartition(this)}exitRule(e){e.exitAlterByOptimizePartition&&e.exitAlterByOptimizePartition(this)}accept(e){return e.visitAlterByOptimizePartition?e.visitAlterByOptimizePartition(this):e.visitChildren(this)}}class l9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByCheckPartition&&e.enterAlterByCheckPartition(this)}exitRule(e){e.exitAlterByCheckPartition&&e.exitAlterByCheckPartition(this)}accept(e){return e.visitAlterByCheckPartition?e.visitAlterByCheckPartition(this):e.visitChildren(this)}}class m9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterAlterByCoalescePartition&&e.enterAlterByCoalescePartition(this)}exitRule(e){e.exitAlterByCoalescePartition&&e.exitAlterByCoalescePartition(this)}accept(e){return e.visitAlterByCoalescePartition?e.visitAlterByCoalescePartition(this):e.visitChildren(this)}}class p9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REORGANIZE(){return this.getToken(t.KW_REORGANIZE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_INTO(){return this.getToken(t.KW_INTO,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionDefinition(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAlterByReorganizePartition&&e.enterAlterByReorganizePartition(this)}exitRule(e){e.exitAlterByReorganizePartition&&e.exitAlterByReorganizePartition(this)}accept(e){return e.visitAlterByReorganizePartition?e.visitAlterByReorganizePartition(this):e.visitChildren(this)}}class x9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByAnalyzePartition&&e.enterAlterByAnalyzePartition(this)}exitRule(e){e.exitAlterByAnalyzePartition&&e.exitAlterByAnalyzePartition(this)}accept(e){return e.visitAlterByAnalyzePartition?e.visitAlterByAnalyzePartition(this):e.visitChildren(this)}}class f9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REBUILD(){return this.getToken(t.KW_REBUILD,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByRebuildPartition&&e.enterAlterByRebuildPartition(this)}exitRule(e){e.exitAlterByRebuildPartition&&e.exitAlterByRebuildPartition(this)}accept(e){return e.visitAlterByRebuildPartition?e.visitAlterByRebuildPartition(this):e.visitChildren(this)}}class g9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_PARTITIONING(){return this.getToken(t.KW_PARTITIONING,0)}enterRule(e){e.enterAlterByUpgradePartitioning&&e.enterAlterByUpgradePartitioning(this)}exitRule(e){e.exitAlterByUpgradePartitioning&&e.exitAlterByUpgradePartitioning(this)}accept(e){return e.visitAlterByUpgradePartitioning?e.visitAlterByUpgradePartitioning(this):e.visitChildren(this)}}class U9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByTruncatePartition&&e.enterAlterByTruncatePartition(this)}exitRule(e){e.exitAlterByTruncatePartition&&e.exitAlterByTruncatePartition(this)}accept(e){return e.visitAlterByTruncatePartition?e.visitAlterByTruncatePartition(this):e.visitChildren(this)}}class D9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPAIR(){return this.getToken(t.KW_REPAIR,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}enterRule(e){e.enterAlterByRepairPartition&&e.enterAlterByRepairPartition(this)}exitRule(e){e.exitAlterByRepairPartition&&e.exitAlterByRepairPartition(this)}accept(e){return e.visitAlterByRepairPartition?e.visitAlterByRepairPartition(this):e.visitChildren(this)}}class k9 extends lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXCHANGE(){return this.getToken(t.KW_EXCHANGE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}partitionName(){return this.getRuleContext(0,L0)}KW_WITH(e){return e===void 0?this.getTokens(t.KW_WITH):this.getToken(t.KW_WITH,e)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}KW_VALIDATION(){return this.getToken(t.KW_VALIDATION,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}enterRule(e){e.enterAlterByExchangePartition&&e.enterAlterByExchangePartition(this)}exitRule(e){e.exitAlterByExchangePartition&&e.exitAlterByExchangePartition(this)}accept(e){return e.visitAlterByExchangePartition?e.visitAlterByExchangePartition(this):e.visitChildren(this)}}class Ga extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}databaseName(){return this.getRuleContext(0,Zt)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropDatabase}enterRule(e){e.enterDropDatabase&&e.enterDropDatabase(this)}exitRule(e){e.exitDropDatabase&&e.exitDropDatabase(this)}accept(e){return e.visitDropDatabase?e.visitDropDatabase(this):e.visitChildren(this)}}class ba extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}fullId(){return this.getRuleContext(0,at)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropEvent}enterRule(e){e.enterDropEvent&&e.enterDropEvent(this)}exitRule(e){e.exitDropEvent&&e.exitDropEvent(this)}accept(e){return e.visitDropEvent?e.visitDropEvent(this):e.visitChildren(this)}}class wa extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}indexName(){return this.getRuleContext(0,ie)}KW_ON(){return this.getToken(t.KW_ON,0)}tableName(){return this.getRuleContext(0,X)}KW_ALGORITHM(e){return e===void 0?this.getTokens(t.KW_ALGORITHM):this.getToken(t.KW_ALGORITHM,e)}KW_LOCK(e){return e===void 0?this.getTokens(t.KW_LOCK):this.getToken(t.KW_LOCK,e)}KW_ONLINE(){return this.getToken(t.KW_ONLINE,0)}KW_OFFLINE(){return this.getToken(t.KW_OFFLINE,0)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}KW_INPLACE(e){return e===void 0?this.getTokens(t.KW_INPLACE):this.getToken(t.KW_INPLACE,e)}KW_COPY(e){return e===void 0?this.getTokens(t.KW_COPY):this.getToken(t.KW_COPY,e)}KW_NONE(e){return e===void 0?this.getTokens(t.KW_NONE):this.getToken(t.KW_NONE,e)}KW_SHARED(e){return e===void 0?this.getTokens(t.KW_SHARED):this.getToken(t.KW_SHARED,e)}KW_EXCLUSIVE(e){return e===void 0?this.getTokens(t.KW_EXCLUSIVE):this.getToken(t.KW_EXCLUSIVE,e)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}get ruleIndex(){return t.RULE_dropIndex}enterRule(e){e.enterDropIndex&&e.enterDropIndex(this)}exitRule(e){e.exitDropIndex&&e.exitDropIndex(this)}accept(e){return e.visitDropIndex?e.visitDropIndex(this):e.visitChildren(this)}}class va extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}uid(){return this.getRuleContext(0,d)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}get ruleIndex(){return t.RULE_dropLogfileGroup}enterRule(e){e.enterDropLogfileGroup&&e.enterDropLogfileGroup(this)}exitRule(e){e.exitDropLogfileGroup&&e.exitDropLogfileGroup(this)}accept(e){return e.visitDropLogfileGroup?e.visitDropLogfileGroup(this):e.visitChildren(this)}}class Ya extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}fullId(){return this.getRuleContext(0,at)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropProcedure}enterRule(e){e.enterDropProcedure&&e.enterDropProcedure(this)}exitRule(e){e.exitDropProcedure&&e.exitDropProcedure(this)}accept(e){return e.visitDropProcedure?e.visitDropProcedure(this):e.visitChildren(this)}}class Va extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,H1)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropFunction}enterRule(e){e.enterDropFunction&&e.enterDropFunction(this)}exitRule(e){e.exitDropFunction&&e.exitDropFunction(this)}accept(e){return e.visitDropFunction?e.visitDropFunction(this):e.visitChildren(this)}}class Xa extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}uid(){return this.getRuleContext(0,d)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropServer}enterRule(e){e.enterDropServer&&e.enterDropServer(this)}exitRule(e){e.exitDropServer&&e.exitDropServer(this)}accept(e){return e.visitDropServer?e.visitDropServer(this):e.visitChildren(this)}}class Qa extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_SPATIAL(){return this.getToken(t.KW_SPATIAL,0)}KW_REFERENCE(){return this.getToken(t.KW_REFERENCE,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}DECIMAL_LITERAL(){return this.getToken(t.DECIMAL_LITERAL,0)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropSpatial}enterRule(e){e.enterDropSpatial&&e.enterDropSpatial(this)}exitRule(e){e.exitDropSpatial&&e.exitDropSpatial(this)}accept(e){return e.visitDropSpatial?e.visitDropSpatial(this):e.visitChildren(this)}}class Za extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,kt)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}get ruleIndex(){return t.RULE_dropTable}enterRule(e){e.enterDropTable&&e.enterDropTable(this)}exitRule(e){e.exitDropTable&&e.exitDropTable(this)}accept(e){return e.visitDropTable?e.visitDropTable(this):e.visitChildren(this)}}class Ja extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespaceName(){return this.getRuleContext(0,Xi)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}get ruleIndex(){return t.RULE_dropTablespace}enterRule(e){e.enterDropTablespace&&e.enterDropTablespace(this)}exitRule(e){e.exitDropTablespace&&e.exitDropTablespace(this)}accept(e){return e.visitDropTablespace?e.visitDropTablespace(this):e.visitChildren(this)}}class za extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}fullId(){return this.getRuleContext(0,at)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropTrigger}enterRule(e){e.enterDropTrigger&&e.enterDropTrigger(this)}exitRule(e){e.exitDropTrigger&&e.exitDropTrigger(this)}accept(e){return e.visitDropTrigger?e.visitDropTrigger(this):e.visitChildren(this)}}class ja extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewName(e){return e===void 0?this.getRuleContexts(Vi):this.getRuleContext(e,Vi)}ifExists(){return this.getRuleContext(0,kt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}get ruleIndex(){return t.RULE_dropView}enterRule(e){e.enterDropView&&e.enterDropView(this)}exitRule(e){e.exitDropView&&e.exitDropView(this)}accept(e){return e.visitDropView?e.visitDropView(this):e.visitChildren(this)}}class $a extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_dropRole}enterRule(e){e.enterDropRole&&e.enterDropRole(this)}exitRule(e){e.exitDropRole&&e.exitDropRole(this)}accept(e){return e.visitDropRole?e.visitDropRole(this):e.visitChildren(this)}}class Ma extends W{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}userOrRoleName(e){return e===void 0?this.getRuleContexts(je):this.getRuleContext(e,je)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}roleOption(){return this.getRuleContext(0,Di)}get ruleIndex(){return t.RULE_setRole}enterRule(e){e.enterSetRole&&e.enterSetRole(this)}exitRule(e){e.exitSetRole&&e.exitSetRole(this)}accept(e){return e.visitSetRole?e.visitSetRole(this):e.visitChildren(this)}}class Pa extends W{constructor(e,i){super(e,i)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}renameTableClause(e){return e===void 0?this.getRuleContexts(sh):this.getRuleContext(e,sh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_renameTable}enterRule(e){e.enterRenameTable&&e.enterRenameTable(this)}exitRule(e){e.exitRenameTable&&e.exitRenameTable(this)}accept(e){return e.visitRenameTable?e.visitRenameTable(this):e.visitChildren(this)}}class sh extends W{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}KW_TO(){return this.getToken(t.KW_TO,0)}tableNameCreate(){return this.getRuleContext(0,B1)}get ruleIndex(){return t.RULE_renameTableClause}enterRule(e){e.enterRenameTableClause&&e.enterRenameTableClause(this)}exitRule(e){e.exitRenameTableClause&&e.exitRenameTableClause(this)}accept(e){return e.visitRenameTableClause?e.visitRenameTableClause(this):e.visitChildren(this)}}class ya extends W{constructor(e,i){super(e,i)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}tableName(){return this.getRuleContext(0,X)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}get ruleIndex(){return t.RULE_truncateTable}enterRule(e){e.enterTruncateTable&&e.enterTruncateTable(this)}exitRule(e){e.exitTruncateTable&&e.exitTruncateTable(this)}accept(e){return e.visitTruncateTable?e.visitTruncateTable(this):e.visitChildren(this)}}class qa extends W{constructor(e,i){super(e,i)}KW_CALL(){return this.getToken(t.KW_CALL,0)}fullId(){return this.getRuleContext(0,at)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}constants(){return this.getRuleContext(0,i3)}expressions(){return this.getRuleContext(0,z7)}get ruleIndex(){return t.RULE_callStatement}enterRule(e){e.enterCallStatement&&e.enterCallStatement(this)}exitRule(e){e.exitCallStatement&&e.exitCallStatement(this)}accept(e){return e.visitCallStatement?e.visitCallStatement(this):e.visitChildren(this)}}class nh extends W{constructor(e,i){super(e,i)}singleDeleteStatement(){return this.getRuleContext(0,Kc)}multipleDeleteStatement(){return this.getRuleContext(0,Wc)}get ruleIndex(){return t.RULE_deleteStatement}enterRule(e){e.enterDeleteStatement&&e.enterDeleteStatement(this)}exitRule(e){e.exitDeleteStatement&&e.exitDeleteStatement(this)}accept(e){return e.visitDeleteStatement?e.visitDeleteStatement(this):e.visitChildren(this)}}class tc extends W{constructor(e,i){super(e,i)}KW_DO(){return this.getToken(t.KW_DO,0)}expressions(){return this.getRuleContext(0,z7)}get ruleIndex(){return t.RULE_doStatement}enterRule(e){e.enterDoStatement&&e.enterDoStatement(this)}exitRule(e){e.exitDoStatement&&e.exitDoStatement(this)}accept(e){return e.visitDoStatement?e.visitDoStatement(this):e.visitChildren(this)}}class ec extends W{constructor(e,i){super(e,i)}handlerOpenStatement(){return this.getRuleContext(0,uc)}handlerReadIndexStatement(){return this.getRuleContext(0,Rc)}handlerReadStatement(){return this.getRuleContext(0,Tc)}handlerCloseStatement(){return this.getRuleContext(0,_c)}get ruleIndex(){return t.RULE_handlerStatement}enterRule(e){e.enterHandlerStatement&&e.enterHandlerStatement(this)}exitRule(e){e.exitHandlerStatement&&e.exitHandlerStatement(this)}accept(e){return e.visitHandlerStatement?e.visitHandlerStatement(this):e.visitChildren(this)}}class hh extends W{constructor(e,i){super(e,i),this._duplicatedElements=[]}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}tableName(){return this.getRuleContext(0,X)}setAssignmentList(){return this.getRuleContext(0,Kh)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}asRowAlias(e){return e===void 0?this.getRuleContexts(ah):this.getRuleContext(e,ah)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_DUPLICATE(){return this.getToken(t.KW_DUPLICATE,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}updatedElement(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_DELAYED(){return this.getToken(t.KW_DELAYED,0)}KW_HIGH_PRIORITY(){return this.getToken(t.KW_HIGH_PRIORITY,0)}fullColumnNames(){return this.getRuleContext(0,H7)}valuesOrValueList(){return this.getRuleContext(0,e3)}selectOrTableOrValues(){return this.getRuleContext(0,ic)}partitionNames(){return this.getRuleContext(0,gt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_insertStatement}enterRule(e){e.enterInsertStatement&&e.enterInsertStatement(this)}exitRule(e){e.exitInsertStatement&&e.exitInsertStatement(this)}accept(e){return e.visitInsertStatement?e.visitInsertStatement(this):e.visitChildren(this)}}class ah extends W{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}uid(){return this.getRuleContext(0,d)}fullColumnNames(){return this.getRuleContext(0,H7)}get ruleIndex(){return t.RULE_asRowAlias}enterRule(e){e.enterAsRowAlias&&e.enterAsRowAlias(this)}exitRule(e){e.exitAsRowAlias&&e.exitAsRowAlias(this)}accept(e){return e.visitAsRowAlias?e.visitAsRowAlias(this):e.visitChildren(this)}}class ic extends W{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}rowValuesList(){return this.getRuleContext(0,S7)}get ruleIndex(){return t.RULE_selectOrTableOrValues}enterRule(e){e.enterSelectOrTableOrValues&&e.enterSelectOrTableOrValues(this)}exitRule(e){e.exitSelectOrTableOrValues&&e.exitSelectOrTableOrValues(this)}accept(e){return e.visitSelectOrTableOrValues?e.visitSelectOrTableOrValues(this):e.visitChildren(this)}}class sc extends W{constructor(e,i){super(e,i)}interSectQuery(e){return e===void 0?this.getRuleContexts(ch):this.getRuleContext(e,ch)}KW_INTERSECT(e){return e===void 0?this.getTokens(t.KW_INTERSECT):this.getToken(t.KW_INTERSECT,e)}KW_ALL(e){return e===void 0?this.getTokens(t.KW_ALL):this.getToken(t.KW_ALL,e)}KW_DISTINCT(e){return e===void 0?this.getTokens(t.KW_DISTINCT):this.getToken(t.KW_DISTINCT,e)}get ruleIndex(){return t.RULE_interSectStatement}enterRule(e){e.enterInterSectStatement&&e.enterInterSectStatement(this)}exitRule(e){e.exitInterSectStatement&&e.exitInterSectStatement(this)}accept(e){return e.visitInterSectStatement?e.visitInterSectStatement(this):e.visitChildren(this)}}class ch extends W{constructor(e,i){super(e,i)}querySpecification(){return this.getRuleContext(0,P0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_interSectQuery}enterRule(e){e.enterInterSectQuery&&e.enterInterSectQuery(this)}exitRule(e){e.exitInterSectQuery&&e.exitInterSectQuery(this)}accept(e){return e.visitInterSectQuery?e.visitInterSectQuery(this):e.visitChildren(this)}}class nc extends W{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_INFILE(){return this.getToken(t.KW_INFILE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(e){return e===void 0?this.getTokens(t.KW_SET):this.getToken(t.KW_SET,e)}KW_LINES(e){return e===void 0?this.getTokens(t.KW_LINES):this.getToken(t.KW_LINES,e)}KW_IGNORE(e){return e===void 0?this.getTokens(t.KW_IGNORE):this.getToken(t.KW_IGNORE,e)}decimalLiteral(){return this.getRuleContext(0,H)}assignmentField(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}updatedElement(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}charsetName(){return this.getRuleContext(0,Ft)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_CONCURRENT(){return this.getToken(t.KW_CONCURRENT,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}selectFieldsInto(e){return e===void 0?this.getRuleContexts(xi):this.getRuleContext(e,xi)}selectLinesInto(e){return e===void 0?this.getRuleContexts(fi):this.getRuleContext(e,fi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_loadDataStatement}enterRule(e){e.enterLoadDataStatement&&e.enterLoadDataStatement(this)}exitRule(e){e.exitLoadDataStatement&&e.exitLoadDataStatement(this)}accept(e){return e.visitLoadDataStatement?e.visitLoadDataStatement(this):e.visitChildren(this)}}class hc extends W{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_INFILE(){return this.getToken(t.KW_INFILE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(e){return e===void 0?this.getTokens(t.KW_SET):this.getToken(t.KW_SET,e)}KW_ROWS(e){return e===void 0?this.getTokens(t.KW_ROWS):this.getToken(t.KW_ROWS,e)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_IGNORE(e){return e===void 0?this.getTokens(t.KW_IGNORE):this.getToken(t.KW_IGNORE,e)}decimalLiteral(){return this.getRuleContext(0,H)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}assignmentField(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}charsetName(){return this.getRuleContext(0,Ft)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_CONCURRENT(){return this.getToken(t.KW_CONCURRENT,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_LINES(){return this.getToken(t.KW_LINES,0)}LESS_SYMBOL(){return this.getToken(t.LESS_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(t.GREATER_SYMBOL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_loadXmlStatement}enterRule(e){e.enterLoadXmlStatement&&e.enterLoadXmlStatement(this)}exitRule(e){e.exitLoadXmlStatement&&e.exitLoadXmlStatement(this)}accept(e){return e.visitLoadXmlStatement?e.visitLoadXmlStatement(this):e.visitChildren(this)}}class ac extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}parenthesizedQueryExpression(){return this.getRuleContext(0,rc)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}orderByClause(e){return e===void 0?this.getRuleContexts(ee):this.getRuleContext(e,ee)}limitClause(e){return e===void 0?this.getRuleContexts(Ie):this.getRuleContext(e,Ie)}intoClause(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_parenthesizedQuery}enterRule(e){e.enterParenthesizedQuery&&e.enterParenthesizedQuery(this)}exitRule(e){e.exitParenthesizedQuery&&e.exitParenthesizedQuery(this)}accept(e){return e.visitParenthesizedQuery?e.visitParenthesizedQuery(this):e.visitChildren(this)}}class oh extends W{constructor(e,i){super(e,i)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}tableName(){return this.getRuleContext(0,X)}replaceStatementValuesOrSelectOrTable(){return this.getRuleContext(0,Ec)}setAssignmentList(){return this.getRuleContext(0,Kh)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}KW_DELAYED(){return this.getToken(t.KW_DELAYED,0)}columnNames(){return this.getRuleContext(0,oe)}get ruleIndex(){return t.RULE_replaceStatement}enterRule(e){e.enterReplaceStatement&&e.enterReplaceStatement(this)}exitRule(e){e.exitReplaceStatement&&e.exitReplaceStatement(this)}accept(e){return e.visitReplaceStatement?e.visitReplaceStatement(this):e.visitChildren(this)}}class ft extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_selectStatement}copyFrom(e){super.copyFrom(e)}}class S9 extends ft{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}querySpecification(e){return e===void 0?this.getRuleContexts(P0):this.getRuleContext(e,P0)}unionStatement(e){return e===void 0?this.getRuleContexts(U1):this.getRuleContext(e,U1)}KW_UNION(){return this.getToken(t.KW_UNION,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}lateralStatement(e){return e===void 0?this.getRuleContexts(Rh):this.getRuleContext(e,Rh)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}lockClause(){return this.getRuleContext(0,Wh)}intoClause(){return this.getRuleContext(0,Ae)}queryExpression(){return this.getRuleContext(0,T0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}enterRule(e){e.enterUnionAndLateralSelect&&e.enterUnionAndLateralSelect(this)}exitRule(e){e.exitUnionAndLateralSelect&&e.exitUnionAndLateralSelect(this)}accept(e){return e.visitUnionAndLateralSelect?e.visitUnionAndLateralSelect(this):e.visitChildren(this)}}class H9 extends ft{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}queryExpression(e){return e===void 0?this.getRuleContexts(T0):this.getRuleContext(e,T0)}unionStatement(e){return e===void 0?this.getRuleContexts(U1):this.getRuleContext(e,U1)}KW_UNION(){return this.getToken(t.KW_UNION,0)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}lockClause(){return this.getRuleContext(0,Wh)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}enterRule(e){e.enterSelectExpression&&e.enterSelectExpression(this)}exitRule(e){e.exitSelectExpression&&e.exitSelectExpression(this)}accept(e){return e.visitSelectExpression?e.visitSelectExpression(this):e.visitChildren(this)}}class cc extends W{constructor(e,i){super(e,i)}queryExpressionBody(){return this.getRuleContext(0,z0)}withClause(){return this.getRuleContext(0,j2)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}intoClause(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_setOperations}enterRule(e){e.enterSetOperations&&e.enterSetOperations(this)}exitRule(e){e.exitSetOperations&&e.exitSetOperations(this)}accept(e){return e.visitSetOperations?e.visitSetOperations(this):e.visitChildren(this)}}class z0 extends W{constructor(e,i){super(e,i)}queryItem(){return this.getRuleContext(0,li)}queryExpressionBody(){return this.getRuleContext(0,z0)}KW_UNION(){return this.getToken(t.KW_UNION,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}get ruleIndex(){return t.RULE_queryExpressionBody}enterRule(e){e.enterQueryExpressionBody&&e.enterQueryExpressionBody(this)}exitRule(e){e.exitQueryExpressionBody&&e.exitQueryExpressionBody(this)}accept(e){return e.visitQueryExpressionBody?e.visitQueryExpressionBody(this):e.visitChildren(this)}}class li extends W{constructor(e,i){super(e,i)}queryPrimary(){return this.getRuleContext(0,oc)}queryItem(){return this.getRuleContext(0,li)}KW_INTERSECT(){return this.getToken(t.KW_INTERSECT,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_queryItem}enterRule(e){e.enterQueryItem&&e.enterQueryItem(this)}exitRule(e){e.exitQueryItem&&e.exitQueryItem(this)}accept(e){return e.visitQueryItem?e.visitQueryItem(this):e.visitChildren(this)}}class oc extends W{constructor(e,i){super(e,i)}queryBlock(){return this.getRuleContext(0,k7)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}queryExpressionBody(){return this.getRuleContext(0,z0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}intoClause(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_queryPrimary}enterRule(e){e.enterQueryPrimary&&e.enterQueryPrimary(this)}exitRule(e){e.exitQueryPrimary&&e.exitQueryPrimary(this)}accept(e){return e.visitQueryPrimary?e.visitQueryPrimary(this):e.visitChildren(this)}}class rh extends W{constructor(e,i){super(e,i)}singleUpdateStatement(){return this.getRuleContext(0,Ic)}multipleUpdateStatement(){return this.getRuleContext(0,Lc)}get ruleIndex(){return t.RULE_updateStatement}enterRule(e){e.enterUpdateStatement&&e.enterUpdateStatement(this)}exitRule(e){e.exitUpdateStatement&&e.exitUpdateStatement(this)}accept(e){return e.visitUpdateStatement?e.visitUpdateStatement(this):e.visitChildren(this)}}class Eh extends W{constructor(e,i){super(e,i)}rowValuesList(){return this.getRuleContext(0,S7)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}indexColumnName(){return this.getRuleContext(0,X7)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,q0)}get ruleIndex(){return t.RULE_valuesStatement}enterRule(e){e.enterValuesStatement&&e.enterValuesStatement(this)}exitRule(e){e.exitValuesStatement&&e.exitValuesStatement(this)}accept(e){return e.visitValuesStatement?e.visitValuesStatement(this):e.visitChildren(this)}}class rc extends W{constructor(e,i){super(e,i)}queryBlock(e){return e===void 0?this.getRuleContexts(k7):this.getRuleContext(e,k7)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}intoClause(){return this.getRuleContext(0,Ae)}KW_UNION(e){return e===void 0?this.getTokens(t.KW_UNION):this.getToken(t.KW_UNION,e)}KW_INTERSECT(e){return e===void 0?this.getTokens(t.KW_INTERSECT):this.getToken(t.KW_INTERSECT,e)}KW_EXCEPT(e){return e===void 0?this.getTokens(t.KW_EXCEPT):this.getToken(t.KW_EXCEPT,e)}get ruleIndex(){return t.RULE_parenthesizedQueryExpression}enterRule(e){e.enterParenthesizedQueryExpression&&e.enterParenthesizedQueryExpression(this)}exitRule(e){e.exitParenthesizedQueryExpression&&e.exitParenthesizedQueryExpression(this)}accept(e){return e.visitParenthesizedQueryExpression?e.visitParenthesizedQueryExpression(this):e.visitChildren(this)}}class k7 extends W{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}tableStatement(){return this.getRuleContext(0,Qh)}valuesStatement(){return this.getRuleContext(0,Eh)}get ruleIndex(){return t.RULE_queryBlock}enterRule(e){e.enterQueryBlock&&e.enterQueryBlock(this)}exitRule(e){e.exitQueryBlock&&e.exitQueryBlock(this)}accept(e){return e.visitQueryBlock?e.visitQueryBlock(this):e.visitChildren(this)}}class Ec extends W{constructor(e,i){super(e,i)}selectStatement(){return this.getRuleContext(0,ft)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}valuesOrValueList(){return this.getRuleContext(0,e3)}rowValuesList(){return this.getRuleContext(0,S7)}get ruleIndex(){return t.RULE_replaceStatementValuesOrSelectOrTable}enterRule(e){e.enterReplaceStatementValuesOrSelectOrTable&&e.enterReplaceStatementValuesOrSelectOrTable(this)}exitRule(e){e.exitReplaceStatementValuesOrSelectOrTable&&e.exitReplaceStatementValuesOrSelectOrTable(this)}accept(e){return e.visitReplaceStatementValuesOrSelectOrTable?e.visitReplaceStatementValuesOrSelectOrTable(this):e.visitChildren(this)}}class S7 extends W{constructor(e,i){super(e,i)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_ROW(e){return e===void 0?this.getTokens(t.KW_ROW):this.getToken(t.KW_ROW,e)}expressionsWithDefaults(e){return e===void 0?this.getRuleContexts(Zi):this.getRuleContext(e,Zi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_rowValuesList}enterRule(e){e.enterRowValuesList&&e.enterRowValuesList(this)}exitRule(e){e.exitRowValuesList&&e.exitRowValuesList(this)}accept(e){return e.visitRowValuesList?e.visitRowValuesList(this):e.visitChildren(this)}}class Kh extends W{constructor(e,i){super(e,i),this._setElements=[]}KW_SET(){return this.getToken(t.KW_SET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_setAssignmentList}enterRule(e){e.enterSetAssignmentList&&e.enterSetAssignmentList(this)}exitRule(e){e.exitSetAssignmentList&&e.exitSetAssignmentList(this)}accept(e){return e.visitSetAssignmentList?e.visitSetAssignmentList(this):e.visitChildren(this)}}class te extends W{constructor(e,i){super(e,i)}columnName(){return this.getRuleContext(0,At)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}expressionOrDefault(){return this.getRuleContext(0,j7)}get ruleIndex(){return t.RULE_updatedElement}enterRule(e){e.enterUpdatedElement&&e.enterUpdatedElement(this)}exitRule(e){e.exitUpdatedElement&&e.exitUpdatedElement(this)}accept(e){return e.visitUpdatedElement?e.visitUpdatedElement(this):e.visitChildren(this)}}class j0 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}get ruleIndex(){return t.RULE_assignmentField}enterRule(e){e.enterAssignmentField&&e.enterAssignmentField(this)}exitRule(e){e.exitAssignmentField&&e.exitAssignmentField(this)}accept(e){return e.visitAssignmentField?e.visitAssignmentField(this):e.visitChildren(this)}}class Wh extends W{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_OF(){return this.getToken(t.KW_OF,0)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}KW_LOCKED(){return this.getToken(t.KW_LOCKED,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}get ruleIndex(){return t.RULE_lockClause}enterRule(e){e.enterLockClause&&e.enterLockClause(this)}exitRule(e){e.exitLockClause&&e.exitLockClause(this)}accept(e){return e.visitLockClause?e.visitLockClause(this):e.visitChildren(this)}}class Kc extends W{constructor(e,i){super(e,i)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}tableName(){return this.getRuleContext(0,X)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}orderByClause(){return this.getRuleContext(0,ee)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,q0)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_singleDeleteStatement}enterRule(e){e.enterSingleDeleteStatement&&e.enterSingleDeleteStatement(this)}exitRule(e){e.exitSingleDeleteStatement&&e.exitSingleDeleteStatement(this)}accept(e){return e.visitSingleDeleteStatement?e.visitSingleDeleteStatement(this):e.visitChildren(this)}}class Wc extends W{constructor(e,i){super(e,i)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}KW_FROM(){return this.getToken(t.KW_FROM,0)}tableSources(){return this.getRuleContext(0,pi)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}STAR(e){return e===void 0?this.getTokens(t.STAR):this.getToken(t.STAR,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_multipleDeleteStatement}enterRule(e){e.enterMultipleDeleteStatement&&e.enterMultipleDeleteStatement(this)}exitRule(e){e.exitMultipleDeleteStatement&&e.exitMultipleDeleteStatement(this)}accept(e){return e.visitMultipleDeleteStatement?e.visitMultipleDeleteStatement(this):e.visitChildren(this)}}class uc extends W{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_handlerOpenStatement}enterRule(e){e.enterHandlerOpenStatement&&e.enterHandlerOpenStatement(this)}exitRule(e){e.exitHandlerOpenStatement&&e.exitHandlerOpenStatement(this)}accept(e){return e.visitHandlerOpenStatement?e.visitHandlerOpenStatement(this):e.visitChildren(this)}}class Rc extends W{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_READ(){return this.getToken(t.KW_READ,0)}indexName(){return this.getRuleContext(0,ie)}comparisonBase(){return this.getRuleContext(0,r3)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}constants(){return this.getRuleContext(0,i3)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,q0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_PREV(){return this.getToken(t.KW_PREV,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}get ruleIndex(){return t.RULE_handlerReadIndexStatement}enterRule(e){e.enterHandlerReadIndexStatement&&e.enterHandlerReadIndexStatement(this)}exitRule(e){e.exitHandlerReadIndexStatement&&e.exitHandlerReadIndexStatement(this)}accept(e){return e.visitHandlerReadIndexStatement?e.visitHandlerReadIndexStatement(this):e.visitChildren(this)}}class Tc extends W{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,q0)}get ruleIndex(){return t.RULE_handlerReadStatement}enterRule(e){e.enterHandlerReadStatement&&e.enterHandlerReadStatement(this)}exitRule(e){e.exitHandlerReadStatement&&e.exitHandlerReadStatement(this)}accept(e){return e.visitHandlerReadStatement?e.visitHandlerReadStatement(this):e.visitChildren(this)}}class _c extends W{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}tableName(){return this.getRuleContext(0,X)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}get ruleIndex(){return t.RULE_handlerCloseStatement}enterRule(e){e.enterHandlerCloseStatement&&e.enterHandlerCloseStatement(this)}exitRule(e){e.exitHandlerCloseStatement&&e.exitHandlerCloseStatement(this)}accept(e){return e.visitHandlerCloseStatement?e.visitHandlerCloseStatement(this):e.visitChildren(this)}}class Ac extends W{constructor(e,i){super(e,i)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}stringLiteral(e){return e===void 0?this.getRuleContexts(Gt):this.getRuleContext(e,Gt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_importTableStatement}enterRule(e){e.enterImportTableStatement&&e.enterImportTableStatement(this)}exitRule(e){e.exitImportTableStatement&&e.exitImportTableStatement(this)}accept(e){return e.visitImportTableStatement?e.visitImportTableStatement(this):e.visitChildren(this)}}class Ic extends W{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}tableName(){return this.getRuleContext(0,X)}KW_SET(){return this.getToken(t.KW_SET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_singleUpdateStatement}enterRule(e){e.enterSingleUpdateStatement&&e.enterSingleUpdateStatement(this)}exitRule(e){e.exitSingleUpdateStatement&&e.exitSingleUpdateStatement(this)}accept(e){return e.visitSingleUpdateStatement?e.visitSingleUpdateStatement(this):e.visitChildren(this)}}class Lc extends W{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}tableSources(){return this.getRuleContext(0,pi)}KW_SET(){return this.getToken(t.KW_SET,0)}updatedElement(e){return e===void 0?this.getRuleContexts(te):this.getRuleContext(e,te)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}get ruleIndex(){return t.RULE_multipleUpdateStatement}enterRule(e){e.enterMultipleUpdateStatement&&e.enterMultipleUpdateStatement(this)}exitRule(e){e.exitMultipleUpdateStatement&&e.exitMultipleUpdateStatement(this)}accept(e){return e.visitMultipleUpdateStatement?e.visitMultipleUpdateStatement(this):e.visitChildren(this)}}class ee extends W{constructor(e,i){super(e,i)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}orderByExpression(e){return e===void 0?this.getRuleContexts(mi):this.getRuleContext(e,mi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_orderByClause}enterRule(e){e.enterOrderByClause&&e.enterOrderByClause(this)}exitRule(e){e.exitOrderByClause&&e.exitOrderByClause(this)}accept(e){return e.visitOrderByClause?e.visitOrderByClause(this):e.visitChildren(this)}}class mi extends W{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,k)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_orderByExpression}enterRule(e){e.enterOrderByExpression&&e.enterOrderByExpression(this)}exitRule(e){e.exitOrderByExpression&&e.exitOrderByExpression(this)}accept(e){return e.visitOrderByExpression?e.visitOrderByExpression(this):e.visitChildren(this)}}class pi extends W{constructor(e,i){super(e,i)}tableSource(e){return e===void 0?this.getRuleContexts($0):this.getRuleContext(e,$0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tableSources}enterRule(e){e.enterTableSources&&e.enterTableSources(this)}exitRule(e){e.exitTableSources&&e.exitTableSources(this)}accept(e){return e.visitTableSources?e.visitTableSources(this):e.visitChildren(this)}}class $0 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tableSource}copyFrom(e){super.copyFrom(e)}}class B9 extends $0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}jsonTable(){return this.getRuleContext(0,Cc)}enterRule(e){e.enterTableJson&&e.enterTableJson(this)}exitRule(e){e.exitTableJson&&e.exitTableJson(this)}accept(e){return e.visitTableJson?e.visitTableJson(this):e.visitChildren(this)}}class F9 extends $0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableSourceItem(){return this.getRuleContext(0,He)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}joinPart(e){return e===void 0?this.getRuleContexts(Qe):this.getRuleContext(e,Qe)}enterRule(e){e.enterTableSourceNested&&e.enterTableSourceNested(this)}exitRule(e){e.exitTableSourceNested&&e.exitTableSourceNested(this)}accept(e){return e.visitTableSourceNested?e.visitTableSourceNested(this):e.visitChildren(this)}}class G9 extends $0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}tableSourceItem(){return this.getRuleContext(0,He)}joinPart(e){return e===void 0?this.getRuleContexts(Qe):this.getRuleContext(e,Qe)}enterRule(e){e.enterTableSourceBase&&e.enterTableSourceBase(this)}exitRule(e){e.exitTableSourceBase&&e.exitTableSourceBase(this)}accept(e){return e.visitTableSourceBase?e.visitTableSourceBase(this):e.visitChildren(this)}}class He extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tableSourceItem}copyFrom(e){super.copyFrom(e)}}class b9 extends He{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,d)}selectStatement(){return this.getRuleContext(0,ft)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}KW_AS(){return this.getToken(t.KW_AS,0)}fullColumnNames(){return this.getRuleContext(0,H7)}enterRule(e){e.enterSubqueryTableItem&&e.enterSubqueryTableItem(this)}exitRule(e){e.exitSubqueryTableItem&&e.exitSubqueryTableItem(this)}accept(e){return e.visitSubqueryTableItem?e.visitSubqueryTableItem(this):e.visitChildren(this)}}class w9 extends He{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}tableName(){return this.getRuleContext(0,X)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}partitionNames(){return this.getRuleContext(0,gt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}indexHint(e){return e===void 0?this.getRuleContexts(uh):this.getRuleContext(e,uh)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterAtomTableItem&&e.enterAtomTableItem(this)}exitRule(e){e.exitAtomTableItem&&e.exitAtomTableItem(this)}accept(e){return e.visitAtomTableItem?e.visitAtomTableItem(this):e.visitChildren(this)}}class v9 extends He{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableSources(){return this.getRuleContext(0,pi)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterTableSourcesItem&&e.enterTableSourcesItem(this)}exitRule(e){e.exitTableSourcesItem&&e.exitTableSourcesItem(this)}accept(e){return e.visitTableSourcesItem?e.visitTableSourcesItem(this):e.visitChildren(this)}}class H7 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,oe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_fullColumnNames}enterRule(e){e.enterFullColumnNames&&e.enterFullColumnNames(this)}exitRule(e){e.exitFullColumnNames&&e.exitFullColumnNames(this)}accept(e){return e.visitFullColumnNames?e.visitFullColumnNames(this):e.visitChildren(this)}}class uh extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_USE(){return this.getToken(t.KW_USE,0)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}indexHintType(){return this.getRuleContext(0,Oc)}indexNames(){return this.getRuleContext(0,v7)}get ruleIndex(){return t.RULE_indexHint}enterRule(e){e.enterIndexHint&&e.enterIndexHint(this)}exitRule(e){e.exitIndexHint&&e.exitIndexHint(this)}accept(e){return e.visitIndexHint?e.visitIndexHint(this):e.visitChildren(this)}}class Oc extends W{constructor(e,i){super(e,i)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}get ruleIndex(){return t.RULE_indexHintType}enterRule(e){e.enterIndexHintType&&e.enterIndexHintType(this)}exitRule(e){e.exitIndexHintType&&e.exitIndexHintType(this)}accept(e){return e.visitIndexHintType?e.visitIndexHintType(this):e.visitChildren(this)}}class Qe extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_joinPart}copyFrom(e){super.copyFrom(e)}}class Y9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}joinSpec(e){return e===void 0?this.getRuleContexts(M0):this.getRuleContext(e,M0)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_CROSS(){return this.getToken(t.KW_CROSS,0)}enterRule(e){e.enterInnerJoin&&e.enterInnerJoin(this)}exitRule(e){e.exitInnerJoin&&e.exitInnerJoin(this)}accept(e){return e.visitInnerJoin?e.visitInnerJoin(this):e.visitChildren(this)}}class V9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NATURAL(){return this.getToken(t.KW_NATURAL,0)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}enterRule(e){e.enterNaturalJoin&&e.enterNaturalJoin(this)}exitRule(e){e.exitNaturalJoin&&e.exitNaturalJoin(this)}accept(e){return e.visitNaturalJoin?e.visitNaturalJoin(this):e.visitChildren(this)}}class X9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}joinSpec(e){return e===void 0?this.getRuleContexts(M0):this.getRuleContext(e,M0)}enterRule(e){e.enterOuterJoin&&e.enterOuterJoin(this)}exitRule(e){e.exitOuterJoin&&e.exitOuterJoin(this)}accept(e){return e.visitOuterJoin?e.visitOuterJoin(this):e.visitChildren(this)}}class Q9 extends Qe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_STRAIGHT_JOIN(){return this.getToken(t.KW_STRAIGHT_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,He)}joinSpec(e){return e===void 0?this.getRuleContexts(M0):this.getRuleContext(e,M0)}enterRule(e){e.enterStraightJoin&&e.enterStraightJoin(this)}exitRule(e){e.exitStraightJoin&&e.exitStraightJoin(this)}accept(e){return e.visitStraightJoin?e.visitStraightJoin(this):e.visitChildren(this)}}class M0 extends W{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}expression(){return this.getRuleContext(0,k)}KW_USING(){return this.getToken(t.KW_USING,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,oe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_joinSpec}enterRule(e){e.enterJoinSpec&&e.enterJoinSpec(this)}exitRule(e){e.exitJoinSpec&&e.exitJoinSpec(this)}accept(e){return e.visitJoinSpec?e.visitJoinSpec(this):e.visitChildren(this)}}class T0 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}querySpecification(){return this.getRuleContext(0,P0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}queryExpression(){return this.getRuleContext(0,T0)}get ruleIndex(){return t.RULE_queryExpression}enterRule(e){e.enterQueryExpression&&e.enterQueryExpression(this)}exitRule(e){e.exitQueryExpression&&e.exitQueryExpression(this)}accept(e){return e.visitQueryExpression?e.visitQueryExpression(this):e.visitChildren(this)}}class P0 extends W{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}selectElements(){return this.getRuleContext(0,Nc)}fromClause(){return this.getRuleContext(0,dc)}selectSpec(e){return e===void 0?this.getRuleContexts(Lh):this.getRuleContext(e,Lh)}intoClause(e){return e===void 0?this.getRuleContexts(Ae):this.getRuleContext(e,Ae)}groupByClause(){return this.getRuleContext(0,lc)}havingClause(){return this.getRuleContext(0,mc)}windowClause(){return this.getRuleContext(0,pc)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}unionStatement(){return this.getRuleContext(0,U1)}get ruleIndex(){return t.RULE_querySpecification}enterRule(e){e.enterQuerySpecification&&e.enterQuerySpecification(this)}exitRule(e){e.exitQuerySpecification&&e.exitQuerySpecification(this)}accept(e){return e.visitQuerySpecification?e.visitQuerySpecification(this):e.visitChildren(this)}}class U1 extends W{constructor(e,i){super(e,i)}KW_UNION(){return this.getToken(t.KW_UNION,0)}querySpecification(){return this.getRuleContext(0,P0)}queryExpression(){return this.getRuleContext(0,T0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_unionStatement}enterRule(e){e.enterUnionStatement&&e.enterUnionStatement(this)}exitRule(e){e.exitUnionStatement&&e.exitUnionStatement(this)}accept(e){return e.visitUnionStatement?e.visitUnionStatement(this):e.visitChildren(this)}}class Rh extends W{constructor(e,i){super(e,i)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}querySpecification(){return this.getRuleContext(0,P0)}queryExpression(){return this.getRuleContext(0,T0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_lateralStatement}enterRule(e){e.enterLateralStatement&&e.enterLateralStatement(this)}exitRule(e){e.exitLateralStatement&&e.exitLateralStatement(this)}accept(e){return e.visitLateralStatement?e.visitLateralStatement(this):e.visitChildren(this)}}class Cc extends W{constructor(e,i){super(e,i)}KW_JSON_TABLE(){return this.getToken(t.KW_JSON_TABLE,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}COMMA(){return this.getToken(t.COMMA,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}jsonColumnList(){return this.getRuleContext(0,Th)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_jsonTable}enterRule(e){e.enterJsonTable&&e.enterJsonTable(this)}exitRule(e){e.exitJsonTable&&e.exitJsonTable(this)}accept(e){return e.visitJsonTable?e.visitJsonTable(this):e.visitChildren(this)}}class Th extends W{constructor(e,i){super(e,i)}jsonColumn(e){return e===void 0?this.getRuleContexts(_h):this.getRuleContext(e,_h)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_jsonColumnList}enterRule(e){e.enterJsonColumnList&&e.enterJsonColumnList(this)}exitRule(e){e.exitJsonColumnList&&e.exitJsonColumnList(this)}accept(e){return e.visitJsonColumnList?e.visitJsonColumnList(this):e.visitChildren(this)}}class _h extends W{constructor(e,i){super(e,i)}columnName(){return this.getRuleContext(0,At)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}dataType(){return this.getRuleContext(0,bt)}KW_PATH(){return this.getToken(t.KW_PATH,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}jsonOnEmpty(){return this.getRuleContext(0,Ah)}jsonOnError(){return this.getRuleContext(0,Ih)}KW_NESTED(){return this.getToken(t.KW_NESTED,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}jsonColumnList(){return this.getRuleContext(0,Th)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_jsonColumn}enterRule(e){e.enterJsonColumn&&e.enterJsonColumn(this)}exitRule(e){e.exitJsonColumn&&e.exitJsonColumn(this)}accept(e){return e.visitJsonColumn?e.visitJsonColumn(this):e.visitChildren(this)}}class Ah extends W{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_EMPTY(){return this.getToken(t.KW_EMPTY,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Ji)}get ruleIndex(){return t.RULE_jsonOnEmpty}enterRule(e){e.enterJsonOnEmpty&&e.enterJsonOnEmpty(this)}exitRule(e){e.exitJsonOnEmpty&&e.exitJsonOnEmpty(this)}accept(e){return e.visitJsonOnEmpty?e.visitJsonOnEmpty(this):e.visitChildren(this)}}class Ih extends W{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_ERROR(e){return e===void 0?this.getTokens(t.KW_ERROR):this.getToken(t.KW_ERROR,e)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Ji)}get ruleIndex(){return t.RULE_jsonOnError}enterRule(e){e.enterJsonOnError&&e.enterJsonOnError(this)}exitRule(e){e.exitJsonOnError&&e.exitJsonOnError(this)}accept(e){return e.visitJsonOnError?e.visitJsonOnError(this):e.visitChildren(this)}}class Lh extends W{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_DISTINCTROW(){return this.getToken(t.KW_DISTINCTROW,0)}KW_HIGH_PRIORITY(){return this.getToken(t.KW_HIGH_PRIORITY,0)}KW_STRAIGHT_JOIN(){return this.getToken(t.KW_STRAIGHT_JOIN,0)}KW_SQL_SMALL_RESULT(){return this.getToken(t.KW_SQL_SMALL_RESULT,0)}KW_SQL_BIG_RESULT(){return this.getToken(t.KW_SQL_BIG_RESULT,0)}KW_SQL_BUFFER_RESULT(){return this.getToken(t.KW_SQL_BUFFER_RESULT,0)}KW_SQL_CACHE(){return this.getToken(t.KW_SQL_CACHE,0)}KW_SQL_NO_CACHE(){return this.getToken(t.KW_SQL_NO_CACHE,0)}KW_SQL_CALC_FOUND_ROWS(){return this.getToken(t.KW_SQL_CALC_FOUND_ROWS,0)}get ruleIndex(){return t.RULE_selectSpec}enterRule(e){e.enterSelectSpec&&e.enterSelectSpec(this)}exitRule(e){e.exitSelectSpec&&e.exitSelectSpec(this)}accept(e){return e.visitSelectSpec?e.visitSelectSpec(this):e.visitChildren(this)}}class Nc extends W{constructor(e,i){super(e,i)}selectElement(e){return e===void 0?this.getRuleContexts(y0):this.getRuleContext(e,y0)}STAR(){return this.getToken(t.STAR,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_selectElements}enterRule(e){e.enterSelectElements&&e.enterSelectElements(this)}exitRule(e){e.exitSelectElements&&e.exitSelectElements(this)}accept(e){return e.visitSelectElements?e.visitSelectElements(this):e.visitChildren(this)}}class y0 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_selectElement}copyFrom(e){super.copyFrom(e)}}class Z9 extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expression(){return this.getRuleContext(0,k)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}VAR_ASSIGN(){return this.getToken(t.VAR_ASSIGN,0)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterSelectExpressionElement&&e.enterSelectExpressionElement(this)}exitRule(e){e.exitSelectExpressionElement&&e.exitSelectExpressionElement(this)}accept(e){return e.visitSelectExpressionElement?e.visitSelectExpressionElement(this):e.visitChildren(this)}}class J9 extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}functionCall(){return this.getRuleContext(0,Ge)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterSelectFunctionElement&&e.enterSelectFunctionElement(this)}exitRule(e){e.exitSelectFunctionElement&&e.exitSelectFunctionElement(this)}accept(e){return e.visitSelectFunctionElement?e.visitSelectFunctionElement(this):e.visitChildren(this)}}class z9 extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}DOT(){return this.getToken(t.DOT,0)}STAR(){return this.getToken(t.STAR,0)}fullId(){return this.getRuleContext(0,at)}enterRule(e){e.enterSelectStarElement&&e.enterSelectStarElement(this)}exitRule(e){e.exitSelectStarElement&&e.exitSelectStarElement(this)}accept(e){return e.visitSelectStarElement?e.visitSelectStarElement(this):e.visitChildren(this)}}class j9 extends y0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}columnName(){return this.getRuleContext(0,At)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterSelectColumnElement&&e.enterSelectColumnElement(this)}exitRule(e){e.exitSelectColumnElement&&e.exitSelectColumnElement(this)}accept(e){return e.visitSelectColumnElement?e.visitSelectColumnElement(this):e.visitChildren(this)}}class Ae extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_intoClause}copyFrom(e){super.copyFrom(e)}}class $9 extends Ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTO(){return this.getToken(t.KW_INTO,0)}assignmentField(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSelectIntoVariables&&e.enterSelectIntoVariables(this)}exitRule(e){e.exitSelectIntoVariables&&e.exitSelectIntoVariables(this)}accept(e){return e.visitSelectIntoVariables?e.visitSelectIntoVariables(this):e.visitChildren(this)}}class M9 extends Ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_OUTFILE(){return this.getToken(t.KW_OUTFILE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_LINES(){return this.getToken(t.KW_LINES,0)}charsetName(){return this.getRuleContext(0,Ft)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}selectFieldsInto(e){return e===void 0?this.getRuleContexts(xi):this.getRuleContext(e,xi)}selectLinesInto(e){return e===void 0?this.getRuleContexts(fi):this.getRuleContext(e,fi)}enterRule(e){e.enterSelectIntoTextFile&&e.enterSelectIntoTextFile(this)}exitRule(e){e.exitSelectIntoTextFile&&e.exitSelectIntoTextFile(this)}accept(e){return e.visitSelectIntoTextFile?e.visitSelectIntoTextFile(this):e.visitChildren(this)}}class P9 extends Ae{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_DUMPFILE(){return this.getToken(t.KW_DUMPFILE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterSelectIntoDumpFile&&e.enterSelectIntoDumpFile(this)}exitRule(e){e.exitSelectIntoDumpFile&&e.exitSelectIntoDumpFile(this)}accept(e){return e.visitSelectIntoDumpFile?e.visitSelectIntoDumpFile(this):e.visitChildren(this)}}class xi extends W{constructor(e,i){super(e,i)}KW_TERMINATED(){return this.getToken(t.KW_TERMINATED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_ENCLOSED(){return this.getToken(t.KW_ENCLOSED,0)}KW_OPTIONALLY(){return this.getToken(t.KW_OPTIONALLY,0)}KW_ESCAPED(){return this.getToken(t.KW_ESCAPED,0)}get ruleIndex(){return t.RULE_selectFieldsInto}enterRule(e){e.enterSelectFieldsInto&&e.enterSelectFieldsInto(this)}exitRule(e){e.exitSelectFieldsInto&&e.exitSelectFieldsInto(this)}accept(e){return e.visitSelectFieldsInto?e.visitSelectFieldsInto(this):e.visitChildren(this)}}class fi extends W{constructor(e,i){super(e,i)}KW_STARTING(){return this.getToken(t.KW_STARTING,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_TERMINATED(){return this.getToken(t.KW_TERMINATED,0)}get ruleIndex(){return t.RULE_selectLinesInto}enterRule(e){e.enterSelectLinesInto&&e.enterSelectLinesInto(this)}exitRule(e){e.exitSelectLinesInto&&e.exitSelectLinesInto(this)}accept(e){return e.visitSelectLinesInto?e.visitSelectLinesInto(this):e.visitChildren(this)}}class dc extends W{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}tableSources(){return this.getRuleContext(0,pi)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_fromClause}enterRule(e){e.enterFromClause&&e.enterFromClause(this)}exitRule(e){e.exitFromClause&&e.exitFromClause(this)}accept(e){return e.visitFromClause?e.visitFromClause(this):e.visitChildren(this)}}class lc extends W{constructor(e,i){super(e,i)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_BY(){return this.getToken(t.KW_BY,0)}groupByItem(e){return e===void 0?this.getRuleContexts(Oh):this.getRuleContext(e,Oh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}get ruleIndex(){return t.RULE_groupByClause}enterRule(e){e.enterGroupByClause&&e.enterGroupByClause(this)}exitRule(e){e.exitGroupByClause&&e.exitGroupByClause(this)}accept(e){return e.visitGroupByClause?e.visitGroupByClause(this):e.visitChildren(this)}}class mc extends W{constructor(e,i){super(e,i)}KW_HAVING(){return this.getToken(t.KW_HAVING,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_havingClause}enterRule(e){e.enterHavingClause&&e.enterHavingClause(this)}exitRule(e){e.exitHavingClause&&e.exitHavingClause(this)}accept(e){return e.visitHavingClause?e.visitHavingClause(this):e.visitChildren(this)}}class pc extends W{constructor(e,i){super(e,i)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}windowName(e){return e===void 0?this.getRuleContexts(ji):this.getRuleContext(e,ji)}KW_AS(e){return e===void 0?this.getTokens(t.KW_AS):this.getToken(t.KW_AS,e)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}windowSpec(e){return e===void 0?this.getRuleContexts(P7):this.getRuleContext(e,P7)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_windowClause}enterRule(e){e.enterWindowClause&&e.enterWindowClause(this)}exitRule(e){e.exitWindowClause&&e.exitWindowClause(this)}accept(e){return e.visitWindowClause?e.visitWindowClause(this):e.visitChildren(this)}}class Oh extends W{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,k)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_groupByItem}enterRule(e){e.enterGroupByItem&&e.enterGroupByItem(this)}exitRule(e){e.exitGroupByItem&&e.exitGroupByItem(this)}accept(e){return e.visitGroupByItem?e.visitGroupByItem(this):e.visitChildren(this)}}class Ie extends W{constructor(e,i){super(e,i)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}limitClauseAtom(e){return e===void 0?this.getRuleContexts(q0):this.getRuleContext(e,q0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_limitClause}enterRule(e){e.enterLimitClause&&e.enterLimitClause(this)}exitRule(e){e.exitLimitClause&&e.exitLimitClause(this)}accept(e){return e.visitLimitClause?e.visitLimitClause(this):e.visitChildren(this)}}class q0 extends W{constructor(e,i){super(e,i)}decimalLiteral(){return this.getRuleContext(0,H)}mysqlVariable(){return this.getRuleContext(0,Q7)}simpleId(){return this.getRuleContext(0,Z7)}get ruleIndex(){return t.RULE_limitClauseAtom}enterRule(e){e.enterLimitClauseAtom&&e.enterLimitClauseAtom(this)}exitRule(e){e.exitLimitClauseAtom&&e.exitLimitClauseAtom(this)}accept(e){return e.visitLimitClauseAtom?e.visitLimitClauseAtom(this):e.visitChildren(this)}}class xc extends W{constructor(e,i){super(e,i)}KW_START(){return this.getToken(t.KW_START,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}transactionMode(e){return e===void 0?this.getRuleContexts(Ch):this.getRuleContext(e,Ch)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_startTransaction}enterRule(e){e.enterStartTransaction&&e.enterStartTransaction(this)}exitRule(e){e.exitStartTransaction&&e.exitStartTransaction(this)}accept(e){return e.visitStartTransaction?e.visitStartTransaction(this):e.visitChildren(this)}}class fc extends W{constructor(e,i){super(e,i)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}get ruleIndex(){return t.RULE_beginWork}enterRule(e){e.enterBeginWork&&e.enterBeginWork(this)}exitRule(e){e.exitBeginWork&&e.exitBeginWork(this)}accept(e){return e.visitBeginWork?e.visitBeginWork(this):e.visitChildren(this)}}class gc extends W{constructor(e,i){super(e,i)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}get ruleIndex(){return t.RULE_commitWork}enterRule(e){e.enterCommitWork&&e.enterCommitWork(this)}exitRule(e){e.exitCommitWork&&e.exitCommitWork(this)}accept(e){return e.visitCommitWork?e.visitCommitWork(this):e.visitChildren(this)}}class Uc extends W{constructor(e,i){super(e,i)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}get ruleIndex(){return t.RULE_rollbackWork}enterRule(e){e.enterRollbackWork&&e.enterRollbackWork(this)}exitRule(e){e.exitRollbackWork&&e.exitRollbackWork(this)}accept(e){return e.visitRollbackWork?e.visitRollbackWork(this):e.visitChildren(this)}}class Dc extends W{constructor(e,i){super(e,i)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_savepointStatement}enterRule(e){e.enterSavepointStatement&&e.enterSavepointStatement(this)}exitRule(e){e.exitSavepointStatement&&e.exitSavepointStatement(this)}accept(e){return e.visitSavepointStatement?e.visitSavepointStatement(this):e.visitChildren(this)}}class kc extends W{constructor(e,i){super(e,i)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_TO(){return this.getToken(t.KW_TO,0)}uid(){return this.getRuleContext(0,d)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}get ruleIndex(){return t.RULE_rollbackStatement}enterRule(e){e.enterRollbackStatement&&e.enterRollbackStatement(this)}exitRule(e){e.exitRollbackStatement&&e.exitRollbackStatement(this)}accept(e){return e.visitRollbackStatement?e.visitRollbackStatement(this):e.visitChildren(this)}}class Sc extends W{constructor(e,i){super(e,i)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_releaseStatement}enterRule(e){e.enterReleaseStatement&&e.enterReleaseStatement(this)}exitRule(e){e.exitReleaseStatement&&e.exitReleaseStatement(this)}accept(e){return e.visitReleaseStatement?e.visitReleaseStatement(this):e.visitChildren(this)}}class Hc extends W{constructor(e,i){super(e,i)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}lockTableElement(e){return e===void 0?this.getRuleContexts(Nh):this.getRuleContext(e,Nh)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_lockTables}enterRule(e){e.enterLockTables&&e.enterLockTables(this)}exitRule(e){e.exitLockTables&&e.exitLockTables(this)}accept(e){return e.visitLockTables?e.visitLockTables(this):e.visitChildren(this)}}class Bc extends W{constructor(e,i){super(e,i)}KW_UNLOCK(){return this.getToken(t.KW_UNLOCK,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}get ruleIndex(){return t.RULE_unlockTables}enterRule(e){e.enterUnlockTables&&e.enterUnlockTables(this)}exitRule(e){e.exitUnlockTables&&e.exitUnlockTables(this)}accept(e){return e.visitUnlockTables?e.visitUnlockTables(this):e.visitChildren(this)}}class Fc extends W{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_AUTOCOMMIT(){return this.getToken(t.KW_AUTOCOMMIT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}get ruleIndex(){return t.RULE_setAutocommitStatement}enterRule(e){e.enterSetAutocommitStatement&&e.enterSetAutocommitStatement(this)}exitRule(e){e.exitSetAutocommitStatement&&e.exitSetAutocommitStatement(this)}accept(e){return e.visitSetAutocommitStatement?e.visitSetAutocommitStatement(this):e.visitChildren(this)}}class Gc extends W{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}transactionOption(e){return e===void 0?this.getRuleContexts(dh):this.getRuleContext(e,dh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}get ruleIndex(){return t.RULE_setTransactionStatement}enterRule(e){e.enterSetTransactionStatement&&e.enterSetTransactionStatement(this)}exitRule(e){e.exitSetTransactionStatement&&e.exitSetTransactionStatement(this)}accept(e){return e.visitSetTransactionStatement?e.visitSetTransactionStatement(this):e.visitChildren(this)}}class Ch extends W{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CONSISTENT(){return this.getToken(t.KW_CONSISTENT,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}get ruleIndex(){return t.RULE_transactionMode}enterRule(e){e.enterTransactionMode&&e.enterTransactionMode(this)}exitRule(e){e.exitTransactionMode&&e.exitTransactionMode(this)}accept(e){return e.visitTransactionMode?e.visitTransactionMode(this):e.visitChildren(this)}}class Nh extends W{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}lockAction(){return this.getRuleContext(0,bc)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_lockTableElement}enterRule(e){e.enterLockTableElement&&e.enterLockTableElement(this)}exitRule(e){e.exitLockTableElement&&e.exitLockTableElement(this)}accept(e){return e.visitLockTableElement?e.visitLockTableElement(this):e.visitChildren(this)}}class bc extends W{constructor(e,i){super(e,i)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_LOW_PRIORITY(){return this.getToken(t.KW_LOW_PRIORITY,0)}get ruleIndex(){return t.RULE_lockAction}enterRule(e){e.enterLockAction&&e.enterLockAction(this)}exitRule(e){e.exitLockAction&&e.exitLockAction(this)}accept(e){return e.visitLockAction?e.visitLockAction(this):e.visitChildren(this)}}class dh extends W{constructor(e,i){super(e,i)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}transactionLevel(){return this.getRuleContext(0,wc)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}get ruleIndex(){return t.RULE_transactionOption}enterRule(e){e.enterTransactionOption&&e.enterTransactionOption(this)}exitRule(e){e.exitTransactionOption&&e.exitTransactionOption(this)}accept(e){return e.visitTransactionOption?e.visitTransactionOption(this):e.visitChildren(this)}}class wc extends W{constructor(e,i){super(e,i)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}get ruleIndex(){return t.RULE_transactionLevel}enterRule(e){e.enterTransactionLevel&&e.enterTransactionLevel(this)}exitRule(e){e.exitTransactionLevel&&e.exitTransactionLevel(this)}accept(e){return e.visitTransactionLevel?e.visitTransactionLevel(this):e.visitChildren(this)}}class vc extends W{constructor(e,i){super(e,i)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}masterOption(e){return e===void 0?this.getRuleContexts(_0):this.getRuleContext(e,_0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_changeMaster}enterRule(e){e.enterChangeMaster&&e.enterChangeMaster(this)}exitRule(e){e.exitChangeMaster&&e.exitChangeMaster(this)}accept(e){return e.visitChangeMaster?e.visitChangeMaster(this):e.visitChildren(this)}}class Yc extends W{constructor(e,i){super(e,i)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}replicationFilter(e){return e===void 0?this.getRuleContexts(Fe):this.getRuleContext(e,Fe)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_changeReplicationFilter}enterRule(e){e.enterChangeReplicationFilter&&e.enterChangeReplicationFilter(this)}exitRule(e){e.exitChangeReplicationFilter&&e.exitChangeReplicationFilter(this)}accept(e){return e.visitChangeReplicationFilter?e.visitChangeReplicationFilter(this):e.visitChildren(this)}}class Vc extends W{constructor(e,i){super(e,i)}KW_CHANGE(){return this.getToken(t.KW_CHANGE,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_SOURCE(){return this.getToken(t.KW_SOURCE,0)}KW_TO(){return this.getToken(t.KW_TO,0)}replicationSourceOption(e){return e===void 0?this.getRuleContexts(A0):this.getRuleContext(e,A0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_changeReplicationSource}enterRule(e){e.enterChangeReplicationSource&&e.enterChangeReplicationSource(this)}exitRule(e){e.exitChangeReplicationSource&&e.exitChangeReplicationSource(this)}accept(e){return e.visitChangeReplicationSource?e.visitChangeReplicationSource(this):e.visitChildren(this)}}class Xc extends W{constructor(e,i){super(e,i)}KW_PURGE(){return this.getToken(t.KW_PURGE,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_purgeBinaryLogs}enterRule(e){e.enterPurgeBinaryLogs&&e.enterPurgeBinaryLogs(this)}exitRule(e){e.exitPurgeBinaryLogs&&e.exitPurgeBinaryLogs(this)}accept(e){return e.visitPurgeBinaryLogs?e.visitPurgeBinaryLogs(this):e.visitChildren(this)}}class Qc extends W{constructor(e,i){super(e,i)}KW_START(){return this.getToken(t.KW_START,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}threadType(e){return e===void 0?this.getRuleContexts(gi):this.getRuleContext(e,gi)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}untilOption(){return this.getRuleContext(0,t1)}connectionOptions(e){return e===void 0?this.getRuleContexts(e1):this.getRuleContext(e,e1)}channelOption(){return this.getRuleContext(0,Be)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_startSlaveOrReplica}enterRule(e){e.enterStartSlaveOrReplica&&e.enterStartSlaveOrReplica(this)}exitRule(e){e.exitStartSlaveOrReplica&&e.exitStartSlaveOrReplica(this)}accept(e){return e.visitStartSlaveOrReplica?e.visitStartSlaveOrReplica(this):e.visitChildren(this)}}class Zc extends W{constructor(e,i){super(e,i)}KW_STOP(){return this.getToken(t.KW_STOP,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}threadType(e){return e===void 0?this.getRuleContexts(gi):this.getRuleContext(e,gi)}channelOption(){return this.getRuleContext(0,Be)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_stopSlaveOrReplica}enterRule(e){e.enterStopSlaveOrReplica&&e.enterStopSlaveOrReplica(this)}exitRule(e){e.exitStopSlaveOrReplica&&e.exitStopSlaveOrReplica(this)}accept(e){return e.visitStopSlaveOrReplica?e.visitStopSlaveOrReplica(this):e.visitChildren(this)}}class Jc extends W{constructor(e,i){super(e,i)}KW_START(){return this.getToken(t.KW_START,0)}KW_GROUP_REPLICATION(){return this.getToken(t.KW_GROUP_REPLICATION,0)}KW_USER(){return this.getToken(t.KW_USER,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_DEFAULT_AUTH(){return this.getToken(t.KW_DEFAULT_AUTH,0)}get ruleIndex(){return t.RULE_startGroupReplication}enterRule(e){e.enterStartGroupReplication&&e.enterStartGroupReplication(this)}exitRule(e){e.exitStartGroupReplication&&e.exitStartGroupReplication(this)}accept(e){return e.visitStartGroupReplication?e.visitStartGroupReplication(this):e.visitChildren(this)}}class zc extends W{constructor(e,i){super(e,i)}KW_STOP(){return this.getToken(t.KW_STOP,0)}KW_GROUP_REPLICATION(){return this.getToken(t.KW_GROUP_REPLICATION,0)}get ruleIndex(){return t.RULE_stopGroupReplication}enterRule(e){e.enterStopGroupReplication&&e.enterStopGroupReplication(this)}exitRule(e){e.exitStopGroupReplication&&e.exitStopGroupReplication(this)}accept(e){return e.visitStopGroupReplication?e.visitStopGroupReplication(this):e.visitChildren(this)}}class _0 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_masterOption}copyFrom(e){super.copyFrom(e)}}class y9 extends _0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}stringMasterOption(){return this.getRuleContext(0,jc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterMasterStringOption&&e.enterMasterStringOption(this)}exitRule(e){e.exitMasterStringOption&&e.exitMasterStringOption(this)}accept(e){return e.visitMasterStringOption?e.visitMasterStringOption(this):e.visitChildren(this)}}class q9 extends _0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}v8NewMasterOption(){return this.getRuleContext(0,Pc)}enterRule(e){e.enterV8AddMasterOption&&e.enterV8AddMasterOption(this)}exitRule(e){e.exitV8AddMasterOption&&e.exitV8AddMasterOption(this)}accept(e){return e.visitV8AddMasterOption?e.visitV8AddMasterOption(this):e.visitChildren(this)}}class tK extends _0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}boolMasterOption(){return this.getRuleContext(0,Mc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}enterRule(e){e.enterMasterBoolOption&&e.enterMasterBoolOption(this)}exitRule(e){e.exitMasterBoolOption&&e.exitMasterBoolOption(this)}accept(e){return e.visitMasterBoolOption?e.visitMasterBoolOption(this):e.visitChildren(this)}}class eK extends _0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_IGNORE_SERVER_IDS(){return this.getToken(t.KW_IGNORE_SERVER_IDS,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterMasterUidListOption&&e.enterMasterUidListOption(this)}exitRule(e){e.exitMasterUidListOption&&e.exitMasterUidListOption(this)}accept(e){return e.visitMasterUidListOption?e.visitMasterUidListOption(this):e.visitChildren(this)}}class iK extends _0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalMasterOption(){return this.getRuleContext(0,$c)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterMasterDecimalOption&&e.enterMasterDecimalOption(this)}exitRule(e){e.exitMasterDecimalOption&&e.exitMasterDecimalOption(this)}accept(e){return e.visitMasterDecimalOption?e.visitMasterDecimalOption(this):e.visitChildren(this)}}class jc extends W{constructor(e,i){super(e,i)}KW_MASTER_BIND(){return this.getToken(t.KW_MASTER_BIND,0)}KW_MASTER_HOST(){return this.getToken(t.KW_MASTER_HOST,0)}KW_MASTER_USER(){return this.getToken(t.KW_MASTER_USER,0)}KW_MASTER_PASSWORD(){return this.getToken(t.KW_MASTER_PASSWORD,0)}KW_MASTER_LOG_FILE(){return this.getToken(t.KW_MASTER_LOG_FILE,0)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}KW_MASTER_COMPRESSION_ALGORITHMS(){return this.getToken(t.KW_MASTER_COMPRESSION_ALGORITHMS,0)}KW_MASTER_SSL_CA(){return this.getToken(t.KW_MASTER_SSL_CA,0)}KW_MASTER_SSL_CAPATH(){return this.getToken(t.KW_MASTER_SSL_CAPATH,0)}KW_MASTER_SSL_CERT(){return this.getToken(t.KW_MASTER_SSL_CERT,0)}KW_MASTER_SSL_CRL(){return this.getToken(t.KW_MASTER_SSL_CRL,0)}KW_MASTER_SSL_CRLPATH(){return this.getToken(t.KW_MASTER_SSL_CRLPATH,0)}KW_MASTER_SSL_KEY(){return this.getToken(t.KW_MASTER_SSL_KEY,0)}KW_MASTER_SSL_CIPHER(){return this.getToken(t.KW_MASTER_SSL_CIPHER,0)}KW_MASTER_TLS_VERSION(){return this.getToken(t.KW_MASTER_TLS_VERSION,0)}KW_MASTER_TLS_CIPHERSUITES(){return this.getToken(t.KW_MASTER_TLS_CIPHERSUITES,0)}KW_MASTER_PUBLIC_KEY_PATH(){return this.getToken(t.KW_MASTER_PUBLIC_KEY_PATH,0)}KW_NETWORK_NAMESPACE(){return this.getToken(t.KW_NETWORK_NAMESPACE,0)}get ruleIndex(){return t.RULE_stringMasterOption}enterRule(e){e.enterStringMasterOption&&e.enterStringMasterOption(this)}exitRule(e){e.exitStringMasterOption&&e.exitStringMasterOption(this)}accept(e){return e.visitStringMasterOption?e.visitStringMasterOption(this):e.visitChildren(this)}}class $c extends W{constructor(e,i){super(e,i)}KW_MASTER_PORT(){return this.getToken(t.KW_MASTER_PORT,0)}KW_MASTER_LOG_POS(){return this.getToken(t.KW_MASTER_LOG_POS,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}KW_MASTER_HEARTBEAT_PERIOD(){return this.getToken(t.KW_MASTER_HEARTBEAT_PERIOD,0)}KW_MASTER_CONNECT_RETRY(){return this.getToken(t.KW_MASTER_CONNECT_RETRY,0)}KW_MASTER_RETRY_COUNT(){return this.getToken(t.KW_MASTER_RETRY_COUNT,0)}KW_MASTER_DELAY(){return this.getToken(t.KW_MASTER_DELAY,0)}KW_MASTER_ZSTD_COMPRESSION_LEVEL(){return this.getToken(t.KW_MASTER_ZSTD_COMPRESSION_LEVEL,0)}get ruleIndex(){return t.RULE_decimalMasterOption}enterRule(e){e.enterDecimalMasterOption&&e.enterDecimalMasterOption(this)}exitRule(e){e.exitDecimalMasterOption&&e.exitDecimalMasterOption(this)}accept(e){return e.visitDecimalMasterOption?e.visitDecimalMasterOption(this):e.visitChildren(this)}}class Mc extends W{constructor(e,i){super(e,i)}KW_REQUIRE_ROW_FORMAT(){return this.getToken(t.KW_REQUIRE_ROW_FORMAT,0)}KW_MASTER_AUTO_POSITION(){return this.getToken(t.KW_MASTER_AUTO_POSITION,0)}KW_SOURCE_CONNECTION_AUTO_FAILOVER(){return this.getToken(t.KW_SOURCE_CONNECTION_AUTO_FAILOVER,0)}KW_MASTER_SSL(){return this.getToken(t.KW_MASTER_SSL,0)}KW_MASTER_SSL_VERIFY_SERVER_CERT(){return this.getToken(t.KW_MASTER_SSL_VERIFY_SERVER_CERT,0)}KW_GET_MASTER_PUBLIC_KEY(){return this.getToken(t.KW_GET_MASTER_PUBLIC_KEY,0)}KW_GTID_ONLY(){return this.getToken(t.KW_GTID_ONLY,0)}get ruleIndex(){return t.RULE_boolMasterOption}enterRule(e){e.enterBoolMasterOption&&e.enterBoolMasterOption(this)}exitRule(e){e.exitBoolMasterOption&&e.exitBoolMasterOption(this)}accept(e){return e.visitBoolMasterOption?e.visitBoolMasterOption(this):e.visitChildren(this)}}class Pc extends W{constructor(e,i){super(e,i)}KW_PRIVILEGE_CHECKS_USER(){return this.getToken(t.KW_PRIVILEGE_CHECKS_USER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK(){return this.getToken(t.KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK,0)}KW_STREAM(){return this.getToken(t.KW_STREAM,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_OFF(){return this.getToken(t.KW_OFF,0)}KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS(){return this.getToken(t.KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}gtuidSet(){return this.getRuleContext(0,B7)}get ruleIndex(){return t.RULE_v8NewMasterOption}enterRule(e){e.enterV8NewMasterOption&&e.enterV8NewMasterOption(this)}exitRule(e){e.exitV8NewMasterOption&&e.exitV8NewMasterOption(this)}accept(e){return e.visitV8NewMasterOption?e.visitV8NewMasterOption(this):e.visitChildren(this)}}class A0 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_replicationSourceOption}copyFrom(e){super.copyFrom(e)}}class sK extends A0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}boolSourceOption(){return this.getRuleContext(0,to)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}enterRule(e){e.enterSourceBoolOption&&e.enterSourceBoolOption(this)}exitRule(e){e.exitSourceBoolOption&&e.exitSourceBoolOption(this)}accept(e){return e.visitSourceBoolOption?e.visitSourceBoolOption(this):e.visitChildren(this)}}class nK extends A0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_IGNORE_SERVER_IDS(){return this.getToken(t.KW_IGNORE_SERVER_IDS,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSourceUidListOption&&e.enterSourceUidListOption(this)}exitRule(e){e.exitSourceUidListOption&&e.exitSourceUidListOption(this)}accept(e){return e.visitSourceUidListOption?e.visitSourceUidListOption(this):e.visitChildren(this)}}class hK extends A0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}otherSourceOption(){return this.getRuleContext(0,eo)}enterRule(e){e.enterSourceOtherOption&&e.enterSourceOtherOption(this)}exitRule(e){e.exitSourceOtherOption&&e.exitSourceOtherOption(this)}accept(e){return e.visitSourceOtherOption?e.visitSourceOtherOption(this):e.visitChildren(this)}}class aK extends A0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}stringSourceOption(){return this.getRuleContext(0,yc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterSourceStringOption&&e.enterSourceStringOption(this)}exitRule(e){e.exitSourceStringOption&&e.exitSourceStringOption(this)}accept(e){return e.visitSourceStringOption?e.visitSourceStringOption(this):e.visitChildren(this)}}class cK extends A0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalSourceOption(){return this.getRuleContext(0,qc)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterSourceDecimalOption&&e.enterSourceDecimalOption(this)}exitRule(e){e.exitSourceDecimalOption&&e.exitSourceDecimalOption(this)}accept(e){return e.visitSourceDecimalOption?e.visitSourceDecimalOption(this):e.visitChildren(this)}}class yc extends W{constructor(e,i){super(e,i)}KW_SOURCE_BIND(){return this.getToken(t.KW_SOURCE_BIND,0)}KW_SOURCE_HOST(){return this.getToken(t.KW_SOURCE_HOST,0)}KW_SOURCE_USER(){return this.getToken(t.KW_SOURCE_USER,0)}KW_SOURCE_PASSWORD(){return this.getToken(t.KW_SOURCE_PASSWORD,0)}KW_SOURCE_LOG_FILE(){return this.getToken(t.KW_SOURCE_LOG_FILE,0)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}KW_SOURCE_COMPRESSION_ALGORITHMS(){return this.getToken(t.KW_SOURCE_COMPRESSION_ALGORITHMS,0)}KW_SOURCE_SSL_CA(){return this.getToken(t.KW_SOURCE_SSL_CA,0)}KW_SOURCE_SSL_CAPATH(){return this.getToken(t.KW_SOURCE_SSL_CAPATH,0)}KW_SOURCE_SSL_CERT(){return this.getToken(t.KW_SOURCE_SSL_CERT,0)}KW_SOURCE_SSL_CRL(){return this.getToken(t.KW_SOURCE_SSL_CRL,0)}KW_SOURCE_SSL_CRLPATH(){return this.getToken(t.KW_SOURCE_SSL_CRLPATH,0)}KW_SOURCE_SSL_KEY(){return this.getToken(t.KW_SOURCE_SSL_KEY,0)}KW_SOURCE_SSL_CIPHER(){return this.getToken(t.KW_SOURCE_SSL_CIPHER,0)}KW_SOURCE_TLS_VERSION(){return this.getToken(t.KW_SOURCE_TLS_VERSION,0)}KW_SOURCE_TLS_CIPHERSUITES(){return this.getToken(t.KW_SOURCE_TLS_CIPHERSUITES,0)}KW_SOURCE_PUBLIC_KEY_PATH(){return this.getToken(t.KW_SOURCE_PUBLIC_KEY_PATH,0)}KW_NETWORK_NAMESPACE(){return this.getToken(t.KW_NETWORK_NAMESPACE,0)}get ruleIndex(){return t.RULE_stringSourceOption}enterRule(e){e.enterStringSourceOption&&e.enterStringSourceOption(this)}exitRule(e){e.exitStringSourceOption&&e.exitStringSourceOption(this)}accept(e){return e.visitStringSourceOption?e.visitStringSourceOption(this):e.visitChildren(this)}}class qc extends W{constructor(e,i){super(e,i)}KW_SOURCE_PORT(){return this.getToken(t.KW_SOURCE_PORT,0)}KW_SOURCE_LOG_POS(){return this.getToken(t.KW_SOURCE_LOG_POS,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}KW_SOURCE_HEARTBEAT_PERIOD(){return this.getToken(t.KW_SOURCE_HEARTBEAT_PERIOD,0)}KW_SOURCE_CONNECT_RETRY(){return this.getToken(t.KW_SOURCE_CONNECT_RETRY,0)}KW_SOURCE_RETRY_COUNT(){return this.getToken(t.KW_SOURCE_RETRY_COUNT,0)}KW_SOURCE_DELAY(){return this.getToken(t.KW_SOURCE_DELAY,0)}KW_SOURCE_ZSTD_COMPRESSION_LEVEL(){return this.getToken(t.KW_SOURCE_ZSTD_COMPRESSION_LEVEL,0)}get ruleIndex(){return t.RULE_decimalSourceOption}enterRule(e){e.enterDecimalSourceOption&&e.enterDecimalSourceOption(this)}exitRule(e){e.exitDecimalSourceOption&&e.exitDecimalSourceOption(this)}accept(e){return e.visitDecimalSourceOption?e.visitDecimalSourceOption(this):e.visitChildren(this)}}class to extends W{constructor(e,i){super(e,i)}KW_REQUIRE_ROW_FORMAT(){return this.getToken(t.KW_REQUIRE_ROW_FORMAT,0)}KW_SOURCE_AUTO_POSITION(){return this.getToken(t.KW_SOURCE_AUTO_POSITION,0)}KW_SOURCE_CONNECTION_AUTO_FAILOVER(){return this.getToken(t.KW_SOURCE_CONNECTION_AUTO_FAILOVER,0)}KW_SOURCE_SSL(){return this.getToken(t.KW_SOURCE_SSL,0)}KW_SOURCE_SSL_VERIFY_SERVER_CERT(){return this.getToken(t.KW_SOURCE_SSL_VERIFY_SERVER_CERT,0)}KW_GET_SOURCE_PUBLIC_KEY(){return this.getToken(t.KW_GET_SOURCE_PUBLIC_KEY,0)}KW_GTID_ONLY(){return this.getToken(t.KW_GTID_ONLY,0)}get ruleIndex(){return t.RULE_boolSourceOption}enterRule(e){e.enterBoolSourceOption&&e.enterBoolSourceOption(this)}exitRule(e){e.exitBoolSourceOption&&e.exitBoolSourceOption(this)}accept(e){return e.visitBoolSourceOption?e.visitBoolSourceOption(this):e.visitChildren(this)}}class eo extends W{constructor(e,i){super(e,i)}KW_PRIVILEGE_CHECKS_USER(){return this.getToken(t.KW_PRIVILEGE_CHECKS_USER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK(){return this.getToken(t.KW_REQUIRE_TABLE_PRIMARY_KEY_CHECK,0)}KW_STREAM(){return this.getToken(t.KW_STREAM,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_OFF(){return this.getToken(t.KW_OFF,0)}KW_GENERATE(){return this.getToken(t.KW_GENERATE,0)}KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS(){return this.getToken(t.KW_ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}gtuidSet(){return this.getRuleContext(0,B7)}get ruleIndex(){return t.RULE_otherSourceOption}enterRule(e){e.enterOtherSourceOption&&e.enterOtherSourceOption(this)}exitRule(e){e.exitOtherSourceOption&&e.exitOtherSourceOption(this)}accept(e){return e.visitOtherSourceOption?e.visitOtherSourceOption(this):e.visitChildren(this)}}class Be extends W{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_CHANNEL(){return this.getToken(t.KW_CHANNEL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_channelOption}enterRule(e){e.enterChannelOption&&e.enterChannelOption(this)}exitRule(e){e.exitChannelOption&&e.exitChannelOption(this)}accept(e){return e.visitChannelOption?e.visitChannelOption(this):e.visitChildren(this)}}class Fe extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_replicationFilter}copyFrom(e){super.copyFrom(e)}}class oK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_WILD_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_IGNORE_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}simpleStrings(){return this.getRuleContext(0,s3)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterWildIgnoreTableReplication&&e.enterWildIgnoreTableReplication(this)}exitRule(e){e.exitWildIgnoreTableReplication&&e.exitWildIgnoreTableReplication(this)}accept(e){return e.visitWildIgnoreTableReplication?e.visitWildIgnoreTableReplication(this):e.visitChildren(this)}}class rK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_DO_TABLE(){return this.getToken(t.KW_REPLICATE_DO_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableNames(){return this.getRuleContext(0,Le)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterDoTableReplication&&e.enterDoTableReplication(this)}exitRule(e){e.exitDoTableReplication&&e.exitDoTableReplication(this)}accept(e){return e.visitDoTableReplication?e.visitDoTableReplication(this):e.visitChildren(this)}}class EK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_IGNORE_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tableNames(){return this.getRuleContext(0,Le)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterIgnoreTableReplication&&e.enterIgnoreTableReplication(this)}exitRule(e){e.exitIgnoreTableReplication&&e.exitIgnoreTableReplication(this)}accept(e){return e.visitIgnoreTableReplication?e.visitIgnoreTableReplication(this):e.visitChildren(this)}}class KK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_REWRITE_DB(){return this.getToken(t.KW_REPLICATE_REWRITE_DB,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}tablePair(e){return e===void 0?this.getRuleContexts(lh):this.getRuleContext(e,lh)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterRewriteDbReplication&&e.enterRewriteDbReplication(this)}exitRule(e){e.exitRewriteDbReplication&&e.exitRewriteDbReplication(this)}accept(e){return e.visitRewriteDbReplication?e.visitRewriteDbReplication(this):e.visitChildren(this)}}class WK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_DO_DB(){return this.getToken(t.KW_REPLICATE_DO_DB,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}databaseName(e){return e===void 0?this.getRuleContexts(Zt):this.getRuleContext(e,Zt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterDoDbReplication&&e.enterDoDbReplication(this)}exitRule(e){e.exitDoDbReplication&&e.exitDoDbReplication(this)}accept(e){return e.visitDoDbReplication?e.visitDoDbReplication(this):e.visitChildren(this)}}class uK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_IGNORE_DB(){return this.getToken(t.KW_REPLICATE_IGNORE_DB,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}databaseName(e){return e===void 0?this.getRuleContexts(Zt):this.getRuleContext(e,Zt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterIgnoreDbReplication&&e.enterIgnoreDbReplication(this)}exitRule(e){e.exitIgnoreDbReplication&&e.exitIgnoreDbReplication(this)}accept(e){return e.visitIgnoreDbReplication?e.visitIgnoreDbReplication(this):e.visitChildren(this)}}class RK extends Fe{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REPLICATE_WILD_DO_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_DO_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}simpleStrings(){return this.getRuleContext(0,s3)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterWildDoTableReplication&&e.enterWildDoTableReplication(this)}exitRule(e){e.exitWildDoTableReplication&&e.exitWildDoTableReplication(this)}accept(e){return e.visitWildDoTableReplication?e.visitWildDoTableReplication(this):e.visitChildren(this)}}class lh extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}get ruleIndex(){return t.RULE_tablePair}enterRule(e){e.enterTablePair&&e.enterTablePair(this)}exitRule(e){e.exitTablePair&&e.exitTablePair(this)}accept(e){return e.visitTablePair?e.visitTablePair(this):e.visitChildren(this)}}class gi extends W{constructor(e,i){super(e,i)}KW_IO_THREAD(){return this.getToken(t.KW_IO_THREAD,0)}KW_SQL_THREAD(){return this.getToken(t.KW_SQL_THREAD,0)}get ruleIndex(){return t.RULE_threadType}enterRule(e){e.enterThreadType&&e.enterThreadType(this)}exitRule(e){e.exitThreadType&&e.exitThreadType(this)}accept(e){return e.visitThreadType?e.visitThreadType(this):e.visitChildren(this)}}class t1 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_untilOption}copyFrom(e){super.copyFrom(e)}}class TK extends t1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SOURCE_LOG_FILE(){return this.getToken(t.KW_SOURCE_LOG_FILE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_SOURCE_LOG_POS(){return this.getToken(t.KW_SOURCE_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterSourceLogUntilOption&&e.enterSourceLogUntilOption(this)}exitRule(e){e.exitSourceLogUntilOption&&e.exitSourceLogUntilOption(this)}accept(e){return e.visitSourceLogUntilOption?e.visitSourceLogUntilOption(this):e.visitChildren(this)}}class _K extends t1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}gtuidSet(){return this.getRuleContext(0,B7)}KW_SQL_BEFORE_GTIDS(){return this.getToken(t.KW_SQL_BEFORE_GTIDS,0)}KW_SQL_AFTER_GTIDS(){return this.getToken(t.KW_SQL_AFTER_GTIDS,0)}enterRule(e){e.enterGtidsUntilOption&&e.enterGtidsUntilOption(this)}exitRule(e){e.exitGtidsUntilOption&&e.exitGtidsUntilOption(this)}accept(e){return e.visitGtidsUntilOption?e.visitGtidsUntilOption(this):e.visitChildren(this)}}class AK extends t1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQL_AFTER_MTS_GAPS(){return this.getToken(t.KW_SQL_AFTER_MTS_GAPS,0)}enterRule(e){e.enterSqlGapsUntilOption&&e.enterSqlGapsUntilOption(this)}exitRule(e){e.exitSqlGapsUntilOption&&e.exitSqlGapsUntilOption(this)}accept(e){return e.visitSqlGapsUntilOption?e.visitSqlGapsUntilOption(this):e.visitChildren(this)}}class IK extends t1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_MASTER_LOG_FILE(){return this.getToken(t.KW_MASTER_LOG_FILE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_MASTER_LOG_POS(){return this.getToken(t.KW_MASTER_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterMasterLogUntilOption&&e.enterMasterLogUntilOption(this)}exitRule(e){e.exitMasterLogUntilOption&&e.exitMasterLogUntilOption(this)}accept(e){return e.visitMasterLogUntilOption?e.visitMasterLogUntilOption(this):e.visitChildren(this)}}class LK extends t1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterRelayLogUntilOption&&e.enterRelayLogUntilOption(this)}exitRule(e){e.exitRelayLogUntilOption&&e.exitRelayLogUntilOption(this)}accept(e){return e.visitRelayLogUntilOption?e.visitRelayLogUntilOption(this):e.visitChildren(this)}}class e1 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_connectionOptions}copyFrom(e){super.copyFrom(e)}}class OK extends e1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PLUGIN_DIR(){return this.getToken(t.KW_PLUGIN_DIR,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterPluginDirConnectionOption&&e.enterPluginDirConnectionOption(this)}exitRule(e){e.exitPluginDirConnectionOption&&e.exitPluginDirConnectionOption(this)}accept(e){return e.visitPluginDirConnectionOption?e.visitPluginDirConnectionOption(this):e.visitChildren(this)}}class CK extends e1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_USER(){return this.getToken(t.KW_USER,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterUserConnectionOption&&e.enterUserConnectionOption(this)}exitRule(e){e.exitUserConnectionOption&&e.exitUserConnectionOption(this)}accept(e){return e.visitUserConnectionOption?e.visitUserConnectionOption(this):e.visitChildren(this)}}class NK extends e1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DEFAULT_AUTH(){return this.getToken(t.KW_DEFAULT_AUTH,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterDefaultAuthConnectionOption&&e.enterDefaultAuthConnectionOption(this)}exitRule(e){e.exitDefaultAuthConnectionOption&&e.exitDefaultAuthConnectionOption(this)}accept(e){return e.visitDefaultAuthConnectionOption?e.visitDefaultAuthConnectionOption(this):e.visitChildren(this)}}class dK extends e1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterPasswordConnectionOption&&e.enterPasswordConnectionOption(this)}exitRule(e){e.exitPasswordConnectionOption&&e.exitPasswordConnectionOption(this)}accept(e){return e.visitPasswordConnectionOption?e.visitPasswordConnectionOption(this):e.visitChildren(this)}}class B7 extends W{constructor(e,i){super(e,i)}uuidSet(e){return e===void 0?this.getRuleContexts(Mh):this.getRuleContext(e,Mh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_gtuidSet}enterRule(e){e.enterGtuidSet&&e.enterGtuidSet(this)}exitRule(e){e.exitGtuidSet&&e.exitGtuidSet(this)}accept(e){return e.visitGtuidSet?e.visitGtuidSet(this):e.visitChildren(this)}}class io extends W{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}xid(){return this.getRuleContext(0,h1)}KW_START(){return this.getToken(t.KW_START,0)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}KW_RESUME(){return this.getToken(t.KW_RESUME,0)}get ruleIndex(){return t.RULE_xaStartTransaction}enterRule(e){e.enterXaStartTransaction&&e.enterXaStartTransaction(this)}exitRule(e){e.exitXaStartTransaction&&e.exitXaStartTransaction(this)}accept(e){return e.visitXaStartTransaction?e.visitXaStartTransaction(this):e.visitChildren(this)}}class so extends W{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_END(){return this.getToken(t.KW_END,0)}xid(){return this.getRuleContext(0,h1)}KW_SUSPEND(){return this.getToken(t.KW_SUSPEND,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_MIGRATE(){return this.getToken(t.KW_MIGRATE,0)}get ruleIndex(){return t.RULE_xaEndTransaction}enterRule(e){e.enterXaEndTransaction&&e.enterXaEndTransaction(this)}exitRule(e){e.exitXaEndTransaction&&e.exitXaEndTransaction(this)}accept(e){return e.visitXaEndTransaction?e.visitXaEndTransaction(this):e.visitChildren(this)}}class no extends W{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}xid(){return this.getRuleContext(0,h1)}get ruleIndex(){return t.RULE_xaPrepareStatement}enterRule(e){e.enterXaPrepareStatement&&e.enterXaPrepareStatement(this)}exitRule(e){e.exitXaPrepareStatement&&e.exitXaPrepareStatement(this)}accept(e){return e.visitXaPrepareStatement?e.visitXaPrepareStatement(this):e.visitChildren(this)}}class ho extends W{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}xid(){return this.getRuleContext(0,h1)}KW_ONE(){return this.getToken(t.KW_ONE,0)}KW_PHASE(){return this.getToken(t.KW_PHASE,0)}get ruleIndex(){return t.RULE_xaCommitWork}enterRule(e){e.enterXaCommitWork&&e.enterXaCommitWork(this)}exitRule(e){e.exitXaCommitWork&&e.exitXaCommitWork(this)}accept(e){return e.visitXaCommitWork?e.visitXaCommitWork(this):e.visitChildren(this)}}class ao extends W{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}xid(){return this.getRuleContext(0,h1)}get ruleIndex(){return t.RULE_xaRollbackWork}enterRule(e){e.enterXaRollbackWork&&e.enterXaRollbackWork(this)}exitRule(e){e.exitXaRollbackWork&&e.exitXaRollbackWork(this)}accept(e){return e.visitXaRollbackWork?e.visitXaRollbackWork(this):e.visitChildren(this)}}class co extends W{constructor(e,i){super(e,i)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_RECOVER(){return this.getToken(t.KW_RECOVER,0)}KW_CONVERT(){return this.getToken(t.KW_CONVERT,0)}xid(){return this.getRuleContext(0,h1)}get ruleIndex(){return t.RULE_xaRecoverWork}enterRule(e){e.enterXaRecoverWork&&e.enterXaRecoverWork(this)}exitRule(e){e.exitXaRecoverWork&&e.exitXaRecoverWork(this)}accept(e){return e.visitXaRecoverWork?e.visitXaRecoverWork(this):e.visitChildren(this)}}class oo extends W{constructor(e,i){super(e,i)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}uid(){return this.getRuleContext(0,d)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}get ruleIndex(){return t.RULE_prepareStatement}enterRule(e){e.enterPrepareStatement&&e.enterPrepareStatement(this)}exitRule(e){e.exitPrepareStatement&&e.exitPrepareStatement(this)}accept(e){return e.visitPrepareStatement?e.visitPrepareStatement(this):e.visitChildren(this)}}class ro extends W{constructor(e,i){super(e,i)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}uid(){return this.getRuleContext(0,d)}KW_USING(){return this.getToken(t.KW_USING,0)}userVariables(){return this.getRuleContext(0,N4)}get ruleIndex(){return t.RULE_executeStatement}enterRule(e){e.enterExecuteStatement&&e.enterExecuteStatement(this)}exitRule(e){e.exitExecuteStatement&&e.exitExecuteStatement(this)}accept(e){return e.visitExecuteStatement?e.visitExecuteStatement(this):e.visitChildren(this)}}class Eo extends W{constructor(e,i){super(e,i)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}uid(){return this.getRuleContext(0,d)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_deallocatePrepare}enterRule(e){e.enterDeallocatePrepare&&e.enterDeallocatePrepare(this)}exitRule(e){e.exitDeallocatePrepare&&e.exitDeallocatePrepare(this)}accept(e){return e.visitDeallocatePrepare?e.visitDeallocatePrepare(this):e.visitChildren(this)}}class i1 extends W{constructor(e,i){super(e,i)}blockStatement(){return this.getRuleContext(0,mh)}sqlStatement(){return this.getRuleContext(0,m7)}get ruleIndex(){return t.RULE_routineBody}enterRule(e){e.enterRoutineBody&&e.enterRoutineBody(this)}exitRule(e){e.exitRoutineBody&&e.exitRoutineBody(this)}accept(e){return e.visitRoutineBody?e.visitRoutineBody(this):e.visitChildren(this)}}class mh extends W{constructor(e,i){super(e,i)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}declareVariable(e){return e===void 0?this.getRuleContexts(xh):this.getRuleContext(e,xh)}SEMI(e){return e===void 0?this.getTokens(t.SEMI):this.getToken(t.SEMI,e)}declareCondition(e){return e===void 0?this.getRuleContexts(fh):this.getRuleContext(e,fh)}declareCursor(e){return e===void 0?this.getRuleContexts(gh):this.getRuleContext(e,gh)}declareHandler(e){return e===void 0?this.getRuleContexts(Uh):this.getRuleContext(e,Uh)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}get ruleIndex(){return t.RULE_blockStatement}enterRule(e){e.enterBlockStatement&&e.enterBlockStatement(this)}exitRule(e){e.exitBlockStatement&&e.exitBlockStatement(this)}accept(e){return e.visitBlockStatement?e.visitBlockStatement(this):e.visitChildren(this)}}class Ko extends W{constructor(e,i){super(e,i)}KW_CASE(e){return e===void 0?this.getTokens(t.KW_CASE):this.getToken(t.KW_CASE,e)}KW_END(){return this.getToken(t.KW_END,0)}expression(){return this.getRuleContext(0,k)}caseAlternative(e){return e===void 0?this.getRuleContexts(Dh):this.getRuleContext(e,Dh)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}uid(){return this.getRuleContext(0,d)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}get ruleIndex(){return t.RULE_caseStatement}enterRule(e){e.enterCaseStatement&&e.enterCaseStatement(this)}exitRule(e){e.exitCaseStatement&&e.exitCaseStatement(this)}accept(e){return e.visitCaseStatement?e.visitCaseStatement(this):e.visitChildren(this)}}class Wo extends W{constructor(e,i){super(e,i),this._thenStatements=[],this._elseStatements=[]}KW_IF(e){return e===void 0?this.getTokens(t.KW_IF):this.getToken(t.KW_IF,e)}expression(){return this.getRuleContext(0,k)}KW_THEN(){return this.getToken(t.KW_THEN,0)}KW_END(){return this.getToken(t.KW_END,0)}elifAlternative(e){return e===void 0?this.getRuleContexts(kh):this.getRuleContext(e,kh)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}get ruleIndex(){return t.RULE_ifStatement}enterRule(e){e.enterIfStatement&&e.enterIfStatement(this)}exitRule(e){e.exitIfStatement&&e.exitIfStatement(this)}accept(e){return e.visitIfStatement?e.visitIfStatement(this):e.visitChildren(this)}}class uo extends W{constructor(e,i){super(e,i)}KW_ITERATE(){return this.getToken(t.KW_ITERATE,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_iterateStatement}enterRule(e){e.enterIterateStatement&&e.enterIterateStatement(this)}exitRule(e){e.exitIterateStatement&&e.exitIterateStatement(this)}accept(e){return e.visitIterateStatement?e.visitIterateStatement(this):e.visitChildren(this)}}class Ro extends W{constructor(e,i){super(e,i)}KW_LEAVE(){return this.getToken(t.KW_LEAVE,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_leaveStatement}enterRule(e){e.enterLeaveStatement&&e.enterLeaveStatement(this)}exitRule(e){e.exitLeaveStatement&&e.exitLeaveStatement(this)}accept(e){return e.visitLeaveStatement?e.visitLeaveStatement(this):e.visitChildren(this)}}class To extends W{constructor(e,i){super(e,i)}KW_LOOP(e){return e===void 0?this.getTokens(t.KW_LOOP):this.getToken(t.KW_LOOP,e)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}get ruleIndex(){return t.RULE_loopStatement}enterRule(e){e.enterLoopStatement&&e.enterLoopStatement(this)}exitRule(e){e.exitLoopStatement&&e.exitLoopStatement(this)}accept(e){return e.visitLoopStatement?e.visitLoopStatement(this):e.visitChildren(this)}}class _o extends W{constructor(e,i){super(e,i)}KW_REPEAT(e){return e===void 0?this.getTokens(t.KW_REPEAT):this.getToken(t.KW_REPEAT,e)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}expression(){return this.getRuleContext(0,k)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}get ruleIndex(){return t.RULE_repeatStatement}enterRule(e){e.enterRepeatStatement&&e.enterRepeatStatement(this)}exitRule(e){e.exitRepeatStatement&&e.exitRepeatStatement(this)}accept(e){return e.visitRepeatStatement?e.visitRepeatStatement(this):e.visitChildren(this)}}class ph extends W{constructor(e,i){super(e,i)}KW_RETURN(){return this.getToken(t.KW_RETURN,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_returnStatement}enterRule(e){e.enterReturnStatement&&e.enterReturnStatement(this)}exitRule(e){e.exitReturnStatement&&e.exitReturnStatement(this)}accept(e){return e.visitReturnStatement?e.visitReturnStatement(this):e.visitChildren(this)}}class Ao extends W{constructor(e,i){super(e,i)}KW_WHILE(e){return e===void 0?this.getTokens(t.KW_WHILE):this.getToken(t.KW_WHILE,e)}expression(){return this.getRuleContext(0,k)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_END(){return this.getToken(t.KW_END,0)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}get ruleIndex(){return t.RULE_whileStatement}enterRule(e){e.enterWhileStatement&&e.enterWhileStatement(this)}exitRule(e){e.exitWhileStatement&&e.exitWhileStatement(this)}accept(e){return e.visitWhileStatement?e.visitWhileStatement(this):e.visitChildren(this)}}class Ui extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_cursorStatement}copyFrom(e){super.copyFrom(e)}}class lK extends Ui{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterCloseCursor&&e.enterCloseCursor(this)}exitRule(e){e.exitCloseCursor&&e.exitCloseCursor(this)}accept(e){return e.visitCloseCursor?e.visitCloseCursor(this):e.visitChildren(this)}}class mK extends Ui{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterOpenCursor&&e.enterOpenCursor(this)}exitRule(e){e.exitOpenCursor&&e.exitOpenCursor(this)}accept(e){return e.visitOpenCursor?e.visitOpenCursor(this):e.visitChildren(this)}}class pK extends Ui{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}uid(){return this.getRuleContext(0,d)}uidList(){return this.getRuleContext(0,yh)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}enterRule(e){e.enterFetchCursor&&e.enterFetchCursor(this)}exitRule(e){e.exitFetchCursor&&e.exitFetchCursor(this)}accept(e){return e.visitFetchCursor?e.visitFetchCursor(this):e.visitChildren(this)}}class xh extends W{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}dataType(){return this.getRuleContext(0,bt)}uidList(){return this.getRuleContext(0,yh)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_declareVariable}enterRule(e){e.enterDeclareVariable&&e.enterDeclareVariable(this)}exitRule(e){e.exitDeclareVariable&&e.exitDeclareVariable(this)}accept(e){return e.visitDeclareVariable?e.visitDeclareVariable(this):e.visitChildren(this)}}class fh extends W{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_CONDITION(){return this.getToken(t.KW_CONDITION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}uid(){return this.getRuleContext(0,d)}decimalLiteral(){return this.getRuleContext(0,H)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_declareCondition}enterRule(e){e.enterDeclareCondition&&e.enterDeclareCondition(this)}exitRule(e){e.exitDeclareCondition&&e.exitDeclareCondition(this)}accept(e){return e.visitDeclareCondition?e.visitDeclareCondition(this):e.visitChildren(this)}}class gh extends W{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}selectStatement(){return this.getRuleContext(0,ft)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_declareCursor}enterRule(e){e.enterDeclareCursor&&e.enterDeclareCursor(this)}exitRule(e){e.exitDeclareCursor&&e.exitDeclareCursor(this)}accept(e){return e.visitDeclareCursor?e.visitDeclareCursor(this):e.visitChildren(this)}}class Uh extends W{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}handlerConditionValue(e){return e===void 0?this.getRuleContexts(Ze):this.getRuleContext(e,Ze)}routineBody(){return this.getRuleContext(0,i1)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_EXIT(){return this.getToken(t.KW_EXIT,0)}KW_UNDO(){return this.getToken(t.KW_UNDO,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_declareHandler}enterRule(e){e.enterDeclareHandler&&e.enterDeclareHandler(this)}exitRule(e){e.exitDeclareHandler&&e.exitDeclareHandler(this)}accept(e){return e.visitDeclareHandler?e.visitDeclareHandler(this):e.visitChildren(this)}}class Ze extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_handlerConditionValue}copyFrom(e){super.copyFrom(e)}}class xK extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQLWARNING(){return this.getToken(t.KW_SQLWARNING,0)}enterRule(e){e.enterHandlerConditionWarning&&e.enterHandlerConditionWarning(this)}exitRule(e){e.exitHandlerConditionWarning&&e.exitHandlerConditionWarning(this)}accept(e){return e.visitHandlerConditionWarning?e.visitHandlerConditionWarning(this):e.visitChildren(this)}}class fK extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterHandlerConditionCode&&e.enterHandlerConditionCode(this)}exitRule(e){e.exitHandlerConditionCode&&e.exitHandlerConditionCode(this)}accept(e){return e.visitHandlerConditionCode?e.visitHandlerConditionCode(this):e.visitChildren(this)}}class gK extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_FOUND(){return this.getToken(t.KW_FOUND,0)}enterRule(e){e.enterHandlerConditionNotfound&&e.enterHandlerConditionNotfound(this)}exitRule(e){e.exitHandlerConditionNotfound&&e.exitHandlerConditionNotfound(this)}accept(e){return e.visitHandlerConditionNotfound?e.visitHandlerConditionNotfound(this):e.visitChildren(this)}}class UK extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}enterRule(e){e.enterHandlerConditionState&&e.enterHandlerConditionState(this)}exitRule(e){e.exitHandlerConditionState&&e.exitHandlerConditionState(this)}accept(e){return e.visitHandlerConditionState?e.visitHandlerConditionState(this):e.visitChildren(this)}}class DK extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SQLEXCEPTION(){return this.getToken(t.KW_SQLEXCEPTION,0)}enterRule(e){e.enterHandlerConditionException&&e.enterHandlerConditionException(this)}exitRule(e){e.exitHandlerConditionException&&e.exitHandlerConditionException(this)}accept(e){return e.visitHandlerConditionException?e.visitHandlerConditionException(this):e.visitChildren(this)}}class kK extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterHandlerConditionName&&e.enterHandlerConditionName(this)}exitRule(e){e.exitHandlerConditionName&&e.exitHandlerConditionName(this)}accept(e){return e.visitHandlerConditionName?e.visitHandlerConditionName(this):e.visitChildren(this)}}class Dt extends W{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}compoundStatement(){return this.getRuleContext(0,ca)}sqlStatement(){return this.getRuleContext(0,m7)}get ruleIndex(){return t.RULE_procedureSqlStatement}enterRule(e){e.enterProcedureSqlStatement&&e.enterProcedureSqlStatement(this)}exitRule(e){e.exitProcedureSqlStatement&&e.exitProcedureSqlStatement(this)}accept(e){return e.visitProcedureSqlStatement?e.visitProcedureSqlStatement(this):e.visitChildren(this)}}class Dh extends W{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}constant(){return this.getRuleContext(0,O0)}expression(){return this.getRuleContext(0,k)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}get ruleIndex(){return t.RULE_caseAlternative}enterRule(e){e.enterCaseAlternative&&e.enterCaseAlternative(this)}exitRule(e){e.exitCaseAlternative&&e.exitCaseAlternative(this)}accept(e){return e.visitCaseAlternative?e.visitCaseAlternative(this):e.visitChildren(this)}}class kh extends W{constructor(e,i){super(e,i)}KW_ELSEIF(){return this.getToken(t.KW_ELSEIF,0)}expression(){return this.getRuleContext(0,k)}KW_THEN(){return this.getToken(t.KW_THEN,0)}procedureSqlStatement(e){return e===void 0?this.getRuleContexts(Dt):this.getRuleContext(e,Dt)}get ruleIndex(){return t.RULE_elifAlternative}enterRule(e){e.enterElifAlternative&&e.enterElifAlternative(this)}exitRule(e){e.exitElifAlternative&&e.exitElifAlternative(this)}accept(e){return e.visitElifAlternative?e.visitElifAlternative(this):e.visitChildren(this)}}class Io extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}ifExists(){return this.getRuleContext(0,kt)}userSpecification(e){return e===void 0?this.getRuleContexts(Hh):this.getRuleContext(e,Hh)}alterUserAuthOption(e){return e===void 0?this.getRuleContexts(Bh):this.getRuleContext(e,Bh)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleOption(){return this.getRuleContext(0,Di)}userOrRoleName(){return this.getRuleContext(0,je)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}userPasswordOption(e){return e===void 0?this.getRuleContexts(k1):this.getRuleContext(e,k1)}userLockOption(e){return e===void 0?this.getRuleContexts(Fi):this.getRuleContext(e,Fi)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}tlsOption(e){return e===void 0?this.getRuleContexts(s1):this.getRuleContext(e,s1)}userResourceOption(e){return e===void 0?this.getRuleContexts(n1):this.getRuleContext(e,n1)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_alterUser}enterRule(e){e.enterAlterUser&&e.enterAlterUser(this)}exitRule(e){e.exitAlterUser&&e.exitAlterUser(this)}accept(e){return e.visitAlterUser?e.visitAlterUser(this):e.visitChildren(this)}}class Lo extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}ifNotExists(){return this.getRuleContext(0,Mt)}createUserAuthOption(e){return e===void 0?this.getRuleContexts(Si):this.getRuleContext(e,Si)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleOption(){return this.getRuleContext(0,Di)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}userPasswordOption(e){return e===void 0?this.getRuleContexts(k1):this.getRuleContext(e,k1)}userLockOption(e){return e===void 0?this.getRuleContexts(Fi):this.getRuleContext(e,Fi)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}tlsOption(e){return e===void 0?this.getRuleContexts(s1):this.getRuleContext(e,s1)}userResourceOption(e){return e===void 0?this.getRuleContexts(n1):this.getRuleContext(e,n1)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_createUser}enterRule(e){e.enterCreateUser&&e.enterCreateUser(this)}exitRule(e){e.exitCreateUser&&e.exitCreateUser(this)}accept(e){return e.visitCreateUser?e.visitCreateUser(this):e.visitChildren(this)}}class Oo extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_USER(){return this.getToken(t.KW_USER,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}ifExists(){return this.getRuleContext(0,kt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_dropUser}enterRule(e){e.enterDropUser&&e.enterDropUser(this)}exitRule(e){e.exitDropUser&&e.exitDropUser(this)}accept(e){return e.visitDropUser?e.visitDropUser(this):e.visitChildren(this)}}class Co extends W{constructor(e,i){super(e,i)}KW_GRANT(e){return e===void 0?this.getTokens(t.KW_GRANT):this.getToken(t.KW_GRANT,e)}privelegeClause(e){return e===void 0?this.getRuleContexts(Gi):this.getRuleContext(e,Gi)}KW_ON(){return this.getToken(t.KW_ON,0)}privilegeLevel(){return this.getRuleContext(0,Je)}KW_TO(){return this.getToken(t.KW_TO,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}privilegeObjectType(){return this.getRuleContext(0,Sh)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_WITH(e){return e===void 0?this.getTokens(t.KW_WITH):this.getToken(t.KW_WITH,e)}KW_AS(){return this.getToken(t.KW_AS,0)}userName(){return this.getRuleContext(0,_t)}userAuthOption(e){return e===void 0?this.getRuleContexts(I0):this.getRuleContext(e,I0)}tlsOption(e){return e===void 0?this.getRuleContexts(s1):this.getRuleContext(e,s1)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_OPTION(e){return e===void 0?this.getTokens(t.KW_OPTION):this.getToken(t.KW_OPTION,e)}userResourceOption(e){return e===void 0?this.getRuleContexts(n1):this.getRuleContext(e,n1)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleOption(){return this.getRuleContext(0,Di)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}userOrRoleName(e){return e===void 0?this.getRuleContexts(je):this.getRuleContext(e,je)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}get ruleIndex(){return t.RULE_grantStatement}enterRule(e){e.enterGrantStatement&&e.enterGrantStatement(this)}exitRule(e){e.exitGrantStatement&&e.exitGrantStatement(this)}accept(e){return e.visitGrantStatement?e.visitGrantStatement(this):e.visitChildren(this)}}class Di extends W{constructor(e,i){super(e,i)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}get ruleIndex(){return t.RULE_roleOption}enterRule(e){e.enterRoleOption&&e.enterRoleOption(this)}exitRule(e){e.exitRoleOption&&e.exitRoleOption(this)}accept(e){return e.visitRoleOption?e.visitRoleOption(this):e.visitChildren(this)}}class No extends W{constructor(e,i){super(e,i),this._toOther=[]}KW_GRANT(e){return e===void 0?this.getTokens(t.KW_GRANT):this.getToken(t.KW_GRANT,e)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_TO(){return this.getToken(t.KW_TO,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}get ruleIndex(){return t.RULE_grantProxy}enterRule(e){e.enterGrantProxy&&e.enterGrantProxy(this)}exitRule(e){e.exitGrantProxy&&e.exitGrantProxy(this)}accept(e){return e.visitGrantProxy?e.visitGrantProxy(this):e.visitChildren(this)}}class lo extends W{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupName(){return this.getRuleContext(0,Y7)}KW_VCPU(){return this.getToken(t.KW_VCPU,0)}resourceGroupVcpuSpec(){return this.getRuleContext(0,D1)}KW_THREAD_PRIORITY(){return this.getToken(t.KW_THREAD_PRIORITY,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}get ruleIndex(){return t.RULE_alterResourceGroup}enterRule(e){e.enterAlterResourceGroup&&e.enterAlterResourceGroup(this)}exitRule(e){e.exitAlterResourceGroup&&e.exitAlterResourceGroup(this)}accept(e){return e.visitAlterResourceGroup?e.visitAlterResourceGroup(this):e.visitChildren(this)}}class mo extends W{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupNameCreate(){return this.getRuleContext(0,u4)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_VCPU(){return this.getToken(t.KW_VCPU,0)}resourceGroupVcpuSpec(){return this.getRuleContext(0,D1)}KW_THREAD_PRIORITY(){return this.getToken(t.KW_THREAD_PRIORITY,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}get ruleIndex(){return t.RULE_createResourceGroup}enterRule(e){e.enterCreateResourceGroup&&e.enterCreateResourceGroup(this)}exitRule(e){e.exitCreateResourceGroup&&e.exitCreateResourceGroup(this)}accept(e){return e.visitCreateResourceGroup?e.visitCreateResourceGroup(this):e.visitChildren(this)}}class po extends W{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupName(){return this.getRuleContext(0,Y7)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}get ruleIndex(){return t.RULE_dropResourceGroup}enterRule(e){e.enterDropResourceGroup&&e.enterDropResourceGroup(this)}exitRule(e){e.exitDropResourceGroup&&e.exitDropResourceGroup(this)}accept(e){return e.visitDropResourceGroup?e.visitDropResourceGroup(this):e.visitChildren(this)}}class xo extends W{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_RESOURCE(){return this.getToken(t.KW_RESOURCE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupName(){return this.getRuleContext(0,Y7)}KW_FOR(){return this.getToken(t.KW_FOR,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_setResourceGroup}enterRule(e){e.enterSetResourceGroup&&e.enterSetResourceGroup(this)}exitRule(e){e.exitSetResourceGroup&&e.exitSetResourceGroup(this)}accept(e){return e.visitSetResourceGroup?e.visitSetResourceGroup(this):e.visitChildren(this)}}class D1 extends W{constructor(e,i){super(e,i)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}MINUS(){return this.getToken(t.MINUS,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}resourceGroupVcpuSpec(e){return e===void 0?this.getRuleContexts(D1):this.getRuleContext(e,D1)}get ruleIndex(){return t.RULE_resourceGroupVcpuSpec}enterRule(e){e.enterResourceGroupVcpuSpec&&e.enterResourceGroupVcpuSpec(this)}exitRule(e){e.exitResourceGroupVcpuSpec&&e.exitResourceGroupVcpuSpec(this)}accept(e){return e.visitResourceGroupVcpuSpec?e.visitResourceGroupVcpuSpec(this):e.visitChildren(this)}}class fo extends W{constructor(e,i){super(e,i)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_USER(){return this.getToken(t.KW_USER,0)}renameUserClause(e){return e===void 0?this.getRuleContexts(Gh):this.getRuleContext(e,Gh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_renameUser}enterRule(e){e.enterRenameUser&&e.enterRenameUser(this)}exitRule(e){e.exitRenameUser&&e.exitRenameUser(this)}accept(e){return e.visitRenameUser?e.visitRenameUser(this):e.visitChildren(this)}}class ki extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_revokeStatement}copyFrom(e){super.copyFrom(e)}}class SK extends ki{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}privelegeClause(e){return e===void 0?this.getRuleContexts(Gi):this.getRuleContext(e,Gi)}KW_ON(){return this.getToken(t.KW_ON,0)}privilegeLevel(){return this.getRuleContext(0,Je)}KW_FROM(){return this.getToken(t.KW_FROM,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifExists(){return this.getRuleContext(0,kt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}privilegeObjectType(){return this.getRuleContext(0,Sh)}ignoreUnknownUser(){return this.getRuleContext(0,F7)}enterRule(e){e.enterDetailRevoke&&e.enterDetailRevoke(this)}exitRule(e){e.exitDetailRevoke&&e.exitDetailRevoke(this)}accept(e){return e.visitDetailRevoke?e.visitDetailRevoke(this):e.visitChildren(this)}}class HK extends ki{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}ifExists(){return this.getRuleContext(0,kt)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}ignoreUnknownUser(){return this.getRuleContext(0,F7)}enterRule(e){e.enterShortRevoke&&e.enterShortRevoke(this)}exitRule(e){e.exitShortRevoke&&e.exitShortRevoke(this)}accept(e){return e.visitShortRevoke?e.visitShortRevoke(this):e.visitChildren(this)}}class BK extends ki{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}userOrRoleNames(e){return e===void 0?this.getRuleContexts(Oe):this.getRuleContext(e,Oe)}KW_FROM(){return this.getToken(t.KW_FROM,0)}ifExists(){return this.getRuleContext(0,kt)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_ON(){return this.getToken(t.KW_ON,0)}ignoreUnknownUser(){return this.getRuleContext(0,F7)}enterRule(e){e.enterProxyAndRoleRevoke&&e.enterProxyAndRoleRevoke(this)}exitRule(e){e.exitProxyAndRoleRevoke&&e.exitProxyAndRoleRevoke(this)}accept(e){return e.visitProxyAndRoleRevoke?e.visitProxyAndRoleRevoke(this):e.visitChildren(this)}}class F7 extends W{constructor(e,i){super(e,i)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_USER(){return this.getToken(t.KW_USER,0)}get ruleIndex(){return t.RULE_ignoreUnknownUser}enterRule(e){e.enterIgnoreUnknownUser&&e.enterIgnoreUnknownUser(this)}exitRule(e){e.exitIgnoreUnknownUser&&e.exitIgnoreUnknownUser(this)}accept(e){return e.visitIgnoreUnknownUser?e.visitIgnoreUnknownUser(this):e.visitChildren(this)}}class Sh extends W{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}get ruleIndex(){return t.RULE_privilegeObjectType}enterRule(e){e.enterPrivilegeObjectType&&e.enterPrivilegeObjectType(this)}exitRule(e){e.exitPrivilegeObjectType&&e.exitPrivilegeObjectType(this)}accept(e){return e.visitPrivilegeObjectType?e.visitPrivilegeObjectType(this):e.visitChildren(this)}}class G7 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_setPasswordStatement}copyFrom(e){super.copyFrom(e)}}class FK extends G7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}passwordFunctionClause(){return this.getRuleContext(0,q7)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}userName(){return this.getRuleContext(0,_t)}enterRule(e){e.enterV57&&e.enterV57(this)}exitRule(e){e.exitV57&&e.exitV57(this)}accept(e){return e.visitV57?e.visitV57(this):e.visitChildren(this)}}class GK extends G7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_PASSWORD(e){return e===void 0?this.getTokens(t.KW_PASSWORD):this.getToken(t.KW_PASSWORD,e)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}KW_FOR(){return this.getToken(t.KW_FOR,0)}userName(){return this.getRuleContext(0,_t)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_RETAIN(){return this.getToken(t.KW_RETAIN,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}enterRule(e){e.enterV80&&e.enterV80(this)}exitRule(e){e.exitV80&&e.exitV80(this)}accept(e){return e.visitV80?e.visitV80(this):e.visitChildren(this)}}class Hh extends W{constructor(e,i){super(e,i)}userName(){return this.getRuleContext(0,_t)}userPasswordOption(){return this.getRuleContext(0,k1)}get ruleIndex(){return t.RULE_userSpecification}enterRule(e){e.enterUserSpecification&&e.enterUserSpecification(this)}exitRule(e){e.exitUserSpecification&&e.exitUserSpecification(this)}accept(e){return e.visitUserSpecification?e.visitUserSpecification(this):e.visitChildren(this)}}class Bh extends W{constructor(e,i){super(e,i)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}authOptionClause(){return this.getRuleContext(0,Hi)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}authenticationRule(){return this.getRuleContext(0,Bi)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_OLD(){return this.getToken(t.KW_OLD,0)}registrationOption(){return this.getRuleContext(0,Uo)}factor(e){return e===void 0?this.getRuleContexts(b7):this.getRuleContext(e,b7)}KW_ADD(e){return e===void 0?this.getTokens(t.KW_ADD):this.getToken(t.KW_ADD,e)}KW_MODIFY(e){return e===void 0?this.getTokens(t.KW_MODIFY):this.getToken(t.KW_MODIFY,e)}KW_DROP(e){return e===void 0?this.getTokens(t.KW_DROP):this.getToken(t.KW_DROP,e)}factorAuthOption(e){return e===void 0?this.getRuleContexts(Fh):this.getRuleContext(e,Fh)}get ruleIndex(){return t.RULE_alterUserAuthOption}enterRule(e){e.enterAlterUserAuthOption&&e.enterAlterUserAuthOption(this)}exitRule(e){e.exitAlterUserAuthOption&&e.exitAlterUserAuthOption(this)}accept(e){return e.visitAlterUserAuthOption?e.visitAlterUserAuthOption(this):e.visitChildren(this)}}class Si extends W{constructor(e,i){super(e,i)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_AND(){return this.getToken(t.KW_AND,0)}createUserAuthOption(){return this.getRuleContext(0,Si)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}uid(){return this.getRuleContext(0,d)}KW_AS(){return this.getToken(t.KW_AS,0)}createUserInitialAuthOption(){return this.getRuleContext(0,go)}get ruleIndex(){return t.RULE_createUserAuthOption}enterRule(e){e.enterCreateUserAuthOption&&e.enterCreateUserAuthOption(this)}exitRule(e){e.exitCreateUserAuthOption&&e.exitCreateUserAuthOption(this)}accept(e){return e.visitCreateUserAuthOption?e.visitCreateUserAuthOption(this):e.visitChildren(this)}}class go extends W{constructor(e,i){super(e,i)}KW_INITIAL(){return this.getToken(t.KW_INITIAL,0)}KW_AUTHENTICATION(){return this.getToken(t.KW_AUTHENTICATION,0)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_AS(){return this.getToken(t.KW_AS,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_createUserInitialAuthOption}enterRule(e){e.enterCreateUserInitialAuthOption&&e.enterCreateUserInitialAuthOption(this)}exitRule(e){e.exitCreateUserInitialAuthOption&&e.exitCreateUserInitialAuthOption(this)}accept(e){return e.visitCreateUserInitialAuthOption?e.visitCreateUserInitialAuthOption(this):e.visitChildren(this)}}class I0 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_userAuthOption}copyFrom(e){super.copyFrom(e)}}class bK extends I0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}enterRule(e){e.enterSimpleAuthOption&&e.enterSimpleAuthOption(this)}exitRule(e){e.exitSimpleAuthOption&&e.exitSimpleAuthOption(this)}accept(e){return e.visitSimpleAuthOption?e.visitSimpleAuthOption(this):e.visitChildren(this)}}class wK extends I0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}authenticationRule(){return this.getRuleContext(0,Bi)}enterRule(e){e.enterModuleAuthOption&&e.enterModuleAuthOption(this)}exitRule(e){e.exitModuleAuthOption&&e.exitModuleAuthOption(this)}accept(e){return e.visitModuleAuthOption?e.visitModuleAuthOption(this):e.visitChildren(this)}}class vK extends I0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}authOptionClause(){return this.getRuleContext(0,Hi)}enterRule(e){e.enterRandomAuthOption&&e.enterRandomAuthOption(this)}exitRule(e){e.exitRandomAuthOption&&e.exitRandomAuthOption(this)}accept(e){return e.visitRandomAuthOption?e.visitRandomAuthOption(this):e.visitChildren(this)}}class YK extends I0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}authOptionClause(){return this.getRuleContext(0,Hi)}enterRule(e){e.enterStringAuthOption&&e.enterStringAuthOption(this)}exitRule(e){e.exitStringAuthOption&&e.exitStringAuthOption(this)}accept(e){return e.visitStringAuthOption?e.visitStringAuthOption(this):e.visitChildren(this)}}class VK extends I0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}userName(){return this.getRuleContext(0,_t)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterHashAuthOption&&e.enterHashAuthOption(this)}exitRule(e){e.exitHashAuthOption&&e.exitHashAuthOption(this)}accept(e){return e.visitHashAuthOption?e.visitHashAuthOption(this):e.visitChildren(this)}}class Hi extends W{constructor(e,i){super(e,i)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_RETAIN(){return this.getToken(t.KW_RETAIN,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}get ruleIndex(){return t.RULE_authOptionClause}enterRule(e){e.enterAuthOptionClause&&e.enterAuthOptionClause(this)}exitRule(e){e.exitAuthOptionClause&&e.exitAuthOptionClause(this)}accept(e){return e.visitAuthOptionClause?e.visitAuthOptionClause(this):e.visitChildren(this)}}class Bi extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_authenticationRule}copyFrom(e){super.copyFrom(e)}}class XK extends Bi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_USING(){return this.getToken(t.KW_USING,0)}passwordFunctionClause(){return this.getRuleContext(0,q7)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterPasswordModuleOption&&e.enterPasswordModuleOption(this)}exitRule(e){e.exitPasswordModuleOption&&e.exitPasswordModuleOption(this)}accept(e){return e.visitPasswordModuleOption?e.visitPasswordModuleOption(this):e.visitChildren(this)}}class QK extends Bi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,d)}authOptionClause(){return this.getRuleContext(0,Hi)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_AS(){return this.getToken(t.KW_AS,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}enterRule(e){e.enterModule&&e.enterModule(this)}exitRule(e){e.exitModule&&e.exitModule(this)}accept(e){return e.visitModule?e.visitModule(this):e.visitChildren(this)}}class s1 extends W{constructor(e,i){super(e,i)}KW_SSL(){return this.getToken(t.KW_SSL,0)}KW_X509(){return this.getToken(t.KW_X509,0)}KW_CIPHER(){return this.getToken(t.KW_CIPHER,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_ISSUER(){return this.getToken(t.KW_ISSUER,0)}KW_SUBJECT(){return this.getToken(t.KW_SUBJECT,0)}get ruleIndex(){return t.RULE_tlsOption}enterRule(e){e.enterTlsOption&&e.enterTlsOption(this)}exitRule(e){e.exitTlsOption&&e.exitTlsOption(this)}accept(e){return e.visitTlsOption?e.visitTlsOption(this):e.visitChildren(this)}}class n1 extends W{constructor(e,i){super(e,i)}KW_MAX_QUERIES_PER_HOUR(){return this.getToken(t.KW_MAX_QUERIES_PER_HOUR,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_MAX_UPDATES_PER_HOUR(){return this.getToken(t.KW_MAX_UPDATES_PER_HOUR,0)}KW_MAX_CONNECTIONS_PER_HOUR(){return this.getToken(t.KW_MAX_CONNECTIONS_PER_HOUR,0)}KW_MAX_USER_CONNECTIONS(){return this.getToken(t.KW_MAX_USER_CONNECTIONS,0)}get ruleIndex(){return t.RULE_userResourceOption}enterRule(e){e.enterUserResourceOption&&e.enterUserResourceOption(this)}exitRule(e){e.exitUserResourceOption&&e.exitUserResourceOption(this)}accept(e){return e.visitUserResourceOption?e.visitUserResourceOption(this):e.visitChildren(this)}}class k1 extends W{constructor(e,i){super(e,i)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_EXPIRE(){return this.getToken(t.KW_EXPIRE,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NEVER(){return this.getToken(t.KW_NEVER,0)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}KW_HISTORY(){return this.getToken(t.KW_HISTORY,0)}KW_REUSE(){return this.getToken(t.KW_REUSE,0)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_OPTIONAL(){return this.getToken(t.KW_OPTIONAL,0)}KW_FAILED_LOGIN_ATTEMPTS(){return this.getToken(t.KW_FAILED_LOGIN_ATTEMPTS,0)}KW_PASSWORD_LOCK_TIME(){return this.getToken(t.KW_PASSWORD_LOCK_TIME,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}get ruleIndex(){return t.RULE_userPasswordOption}enterRule(e){e.enterUserPasswordOption&&e.enterUserPasswordOption(this)}exitRule(e){e.exitUserPasswordOption&&e.exitUserPasswordOption(this)}accept(e){return e.visitUserPasswordOption?e.visitUserPasswordOption(this):e.visitChildren(this)}}class Fi extends W{constructor(e,i){super(e,i)}KW_ACCOUNT(){return this.getToken(t.KW_ACCOUNT,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_UNLOCK(){return this.getToken(t.KW_UNLOCK,0)}get ruleIndex(){return t.RULE_userLockOption}enterRule(e){e.enterUserLockOption&&e.enterUserLockOption(this)}exitRule(e){e.exitUserLockOption&&e.exitUserLockOption(this)}accept(e){return e.visitUserLockOption?e.visitUserLockOption(this):e.visitChildren(this)}}class Fh extends W{constructor(e,i){super(e,i)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_AS(){return this.getToken(t.KW_AS,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}uid(){return this.getRuleContext(0,d)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}get ruleIndex(){return t.RULE_factorAuthOption}enterRule(e){e.enterFactorAuthOption&&e.enterFactorAuthOption(this)}exitRule(e){e.exitFactorAuthOption&&e.exitFactorAuthOption(this)}accept(e){return e.visitFactorAuthOption?e.visitFactorAuthOption(this):e.visitChildren(this)}}class Uo extends W{constructor(e,i){super(e,i)}factor(){return this.getRuleContext(0,b7)}KW_INITIATE(){return this.getToken(t.KW_INITIATE,0)}KW_REGISTRATION(){return this.getToken(t.KW_REGISTRATION,0)}KW_FINISH(){return this.getToken(t.KW_FINISH,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CHALLENGE_RESPONSE(){return this.getToken(t.KW_CHALLENGE_RESPONSE,0)}KW_AS(){return this.getToken(t.KW_AS,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_UNREGISTER(){return this.getToken(t.KW_UNREGISTER,0)}get ruleIndex(){return t.RULE_registrationOption}enterRule(e){e.enterRegistrationOption&&e.enterRegistrationOption(this)}exitRule(e){e.exitRegistrationOption&&e.exitRegistrationOption(this)}accept(e){return e.visitRegistrationOption?e.visitRegistrationOption(this):e.visitChildren(this)}}class b7 extends W{constructor(e,i){super(e,i)}KW_FACTOR(){return this.getToken(t.KW_FACTOR,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}THREE_DECIMAL(){return this.getToken(t.THREE_DECIMAL,0)}get ruleIndex(){return t.RULE_factor}enterRule(e){e.enterFactor&&e.enterFactor(this)}exitRule(e){e.exitFactor&&e.exitFactor(this)}accept(e){return e.visitFactor?e.visitFactor(this):e.visitChildren(this)}}class Gi extends W{constructor(e,i){super(e,i)}privilege(){return this.getRuleContext(0,Do)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnNames(){return this.getRuleContext(0,oe)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_privelegeClause}enterRule(e){e.enterPrivelegeClause&&e.enterPrivelegeClause(this)}exitRule(e){e.exitPrivelegeClause&&e.exitPrivelegeClause(this)}accept(e){return e.visitPrivelegeClause?e.visitPrivelegeClause(this):e.visitChildren(this)}}class Do extends W{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}KW_FILE(){return this.getToken(t.KW_FILE,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_PROCESS(){return this.getToken(t.KW_PROCESS,0)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}KW_RELOAD(){return this.getToken(t.KW_RELOAD,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_CLIENT(){return this.getToken(t.KW_CLIENT,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_DATABASES(){return this.getToken(t.KW_DATABASES,0)}KW_SHUTDOWN(){return this.getToken(t.KW_SHUTDOWN,0)}KW_SUPER(){return this.getToken(t.KW_SUPER,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_USAGE(){return this.getToken(t.KW_USAGE,0)}KW_APPLICATION_PASSWORD_ADMIN(){return this.getToken(t.KW_APPLICATION_PASSWORD_ADMIN,0)}KW_AUDIT_ABORT_EXEMPT(){return this.getToken(t.KW_AUDIT_ABORT_EXEMPT,0)}KW_AUDIT_ADMIN(){return this.getToken(t.KW_AUDIT_ADMIN,0)}KW_AUTHENTICATION_POLICY_ADMIN(){return this.getToken(t.KW_AUTHENTICATION_POLICY_ADMIN,0)}KW_BACKUP_ADMIN(){return this.getToken(t.KW_BACKUP_ADMIN,0)}KW_BINLOG_ADMIN(){return this.getToken(t.KW_BINLOG_ADMIN,0)}KW_BINLOG_ENCRYPTION_ADMIN(){return this.getToken(t.KW_BINLOG_ENCRYPTION_ADMIN,0)}KW_CLONE_ADMIN(){return this.getToken(t.KW_CLONE_ADMIN,0)}KW_CONNECTION_ADMIN(){return this.getToken(t.KW_CONNECTION_ADMIN,0)}KW_ENCRYPTION_KEY_ADMIN(){return this.getToken(t.KW_ENCRYPTION_KEY_ADMIN,0)}KW_FIREWALL_ADMIN(){return this.getToken(t.KW_FIREWALL_ADMIN,0)}KW_FIREWALL_EXEMPT(){return this.getToken(t.KW_FIREWALL_EXEMPT,0)}KW_FIREWALL_USER(){return this.getToken(t.KW_FIREWALL_USER,0)}KW_FLUSH_OPTIMIZER_COSTS(){return this.getToken(t.KW_FLUSH_OPTIMIZER_COSTS,0)}KW_FLUSH_STATUS(){return this.getToken(t.KW_FLUSH_STATUS,0)}KW_FLUSH_TABLES(){return this.getToken(t.KW_FLUSH_TABLES,0)}KW_FLUSH_USER_RESOURCES(){return this.getToken(t.KW_FLUSH_USER_RESOURCES,0)}KW_GROUP_REPLICATION_ADMIN(){return this.getToken(t.KW_GROUP_REPLICATION_ADMIN,0)}KW_INNODB_REDO_LOG_ARCHIVE(){return this.getToken(t.KW_INNODB_REDO_LOG_ARCHIVE,0)}KW_INNODB_REDO_LOG_ENABLE(){return this.getToken(t.KW_INNODB_REDO_LOG_ENABLE,0)}KW_NDB_STORED_USER(){return this.getToken(t.KW_NDB_STORED_USER,0)}KW_PASSWORDLESS_USER_ADMIN(){return this.getToken(t.KW_PASSWORDLESS_USER_ADMIN,0)}KW_PERSIST_RO_VARIABLES_ADMIN(){return this.getToken(t.KW_PERSIST_RO_VARIABLES_ADMIN,0)}KW_REPLICATION_APPLIER(){return this.getToken(t.KW_REPLICATION_APPLIER,0)}KW_REPLICATION_SLAVE_ADMIN(){return this.getToken(t.KW_REPLICATION_SLAVE_ADMIN,0)}KW_RESOURCE_GROUP_ADMIN(){return this.getToken(t.KW_RESOURCE_GROUP_ADMIN,0)}KW_RESOURCE_GROUP_USER(){return this.getToken(t.KW_RESOURCE_GROUP_USER,0)}KW_ROLE_ADMIN(){return this.getToken(t.KW_ROLE_ADMIN,0)}KW_SERVICE_CONNECTION_ADMIN(){return this.getToken(t.KW_SERVICE_CONNECTION_ADMIN,0)}KW_SESSION_VARIABLES_ADMIN(){return this.getToken(t.KW_SESSION_VARIABLES_ADMIN,0)}KW_SET_USER_ID(){return this.getToken(t.KW_SET_USER_ID,0)}KW_SKIP_QUERY_REWRITE(){return this.getToken(t.KW_SKIP_QUERY_REWRITE,0)}KW_SHOW_ROUTINE(){return this.getToken(t.KW_SHOW_ROUTINE,0)}KW_SYSTEM_USER(){return this.getToken(t.KW_SYSTEM_USER,0)}KW_SYSTEM_VARIABLES_ADMIN(){return this.getToken(t.KW_SYSTEM_VARIABLES_ADMIN,0)}KW_TABLE_ENCRYPTION_ADMIN(){return this.getToken(t.KW_TABLE_ENCRYPTION_ADMIN,0)}KW_TP_CONNECTION_ADMIN(){return this.getToken(t.KW_TP_CONNECTION_ADMIN,0)}KW_VERSION_TOKEN_ADMIN(){return this.getToken(t.KW_VERSION_TOKEN_ADMIN,0)}KW_XA_RECOVER_ADMIN(){return this.getToken(t.KW_XA_RECOVER_ADMIN,0)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_S3(){return this.getToken(t.KW_S3,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_INVOKE(){return this.getToken(t.KW_INVOKE,0)}KW_LAMBDA(){return this.getToken(t.KW_LAMBDA,0)}get ruleIndex(){return t.RULE_privilege}enterRule(e){e.enterPrivilege&&e.enterPrivilege(this)}exitRule(e){e.exitPrivilege&&e.exitPrivilege(this)}accept(e){return e.visitPrivilege?e.visitPrivilege(this):e.visitChildren(this)}}class Je extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_privilegeLevel}copyFrom(e){super.copyFrom(e)}}class ZK extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,d)}DOT(){return this.getToken(t.DOT,0)}STAR(){return this.getToken(t.STAR,0)}enterRule(e){e.enterDefiniteSchemaPrivLevel&&e.enterDefiniteSchemaPrivLevel(this)}exitRule(e){e.exitDefiniteSchemaPrivLevel&&e.exitDefiniteSchemaPrivLevel(this)}accept(e){return e.visitDefiniteSchemaPrivLevel?e.visitDefiniteSchemaPrivLevel(this):e.visitChildren(this)}}class JK extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,d)}dottedId(){return this.getRuleContext(0,a1)}enterRule(e){e.enterDefiniteFullTablePrivLevel2&&e.enterDefiniteFullTablePrivLevel2(this)}exitRule(e){e.exitDefiniteFullTablePrivLevel2&&e.exitDefiniteFullTablePrivLevel2(this)}accept(e){return e.visitDefiniteFullTablePrivLevel2?e.visitDefiniteFullTablePrivLevel2(this):e.visitChildren(this)}}class zK extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}DOT(){return this.getToken(t.DOT,0)}enterRule(e){e.enterDefiniteFullTablePrivLevel&&e.enterDefiniteFullTablePrivLevel(this)}exitRule(e){e.exitDefiniteFullTablePrivLevel&&e.exitDefiniteFullTablePrivLevel(this)}accept(e){return e.visitDefiniteFullTablePrivLevel?e.visitDefiniteFullTablePrivLevel(this):e.visitChildren(this)}}class jK extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}STAR(e){return e===void 0?this.getTokens(t.STAR):this.getToken(t.STAR,e)}DOT(){return this.getToken(t.DOT,0)}enterRule(e){e.enterGlobalPrivLevel&&e.enterGlobalPrivLevel(this)}exitRule(e){e.exitGlobalPrivLevel&&e.exitGlobalPrivLevel(this)}accept(e){return e.visitGlobalPrivLevel?e.visitGlobalPrivLevel(this):e.visitChildren(this)}}class $K extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterDefiniteTablePrivLevel&&e.enterDefiniteTablePrivLevel(this)}exitRule(e){e.exitDefiniteTablePrivLevel&&e.exitDefiniteTablePrivLevel(this)}accept(e){return e.visitDefiniteTablePrivLevel?e.visitDefiniteTablePrivLevel(this):e.visitChildren(this)}}class MK extends Je{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}STAR(){return this.getToken(t.STAR,0)}enterRule(e){e.enterCurrentSchemaPriviLevel&&e.enterCurrentSchemaPriviLevel(this)}exitRule(e){e.exitCurrentSchemaPriviLevel&&e.exitCurrentSchemaPriviLevel(this)}accept(e){return e.visitCurrentSchemaPriviLevel?e.visitCurrentSchemaPriviLevel(this):e.visitChildren(this)}}class Gh extends W{constructor(e,i){super(e,i)}KW_TO(){return this.getToken(t.KW_TO,0)}userName(e){return e===void 0?this.getRuleContexts(_t):this.getRuleContext(e,_t)}get ruleIndex(){return t.RULE_renameUserClause}enterRule(e){e.enterRenameUserClause&&e.enterRenameUserClause(this)}exitRule(e){e.exitRenameUserClause&&e.exitRenameUserClause(this)}accept(e){return e.visitRenameUserClause?e.visitRenameUserClause(this):e.visitChildren(this)}}class ko extends W{constructor(e,i){super(e,i)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}tableActionOption(){return this.getRuleContext(0,bi)}tableName(){return this.getRuleContext(0,X)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_HISTOGRAM(){return this.getToken(t.KW_HISTOGRAM,0)}KW_ON(){return this.getToken(t.KW_ON,0)}columnNames(){return this.getRuleContext(0,oe)}KW_WITH(){return this.getToken(t.KW_WITH,0)}decimalLiteral(){return this.getRuleContext(0,H)}KW_BUCKETS(){return this.getToken(t.KW_BUCKETS,0)}columnName(){return this.getRuleContext(0,At)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_analyzeTable}enterRule(e){e.enterAnalyzeTable&&e.enterAnalyzeTable(this)}exitRule(e){e.exitAnalyzeTable&&e.exitAnalyzeTable(this)}accept(e){return e.visitAnalyzeTable?e.visitAnalyzeTable(this):e.visitChildren(this)}}class So extends W{constructor(e,i){super(e,i)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}checkTableOption(e){return e===void 0?this.getRuleContexts(bh):this.getRuleContext(e,bh)}get ruleIndex(){return t.RULE_checkTable}enterRule(e){e.enterCheckTable&&e.enterCheckTable(this)}exitRule(e){e.exitCheckTable&&e.exitCheckTable(this)}accept(e){return e.visitCheckTable?e.visitCheckTable(this):e.visitChildren(this)}}class Ho extends W{constructor(e,i){super(e,i)}KW_CHECKSUM(){return this.getToken(t.KW_CHECKSUM,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}get ruleIndex(){return t.RULE_checksumTable}enterRule(e){e.enterChecksumTable&&e.enterChecksumTable(this)}exitRule(e){e.exitChecksumTable&&e.exitChecksumTable(this)}accept(e){return e.visitChecksumTable?e.visitChecksumTable(this):e.visitChildren(this)}}class Bo extends W{constructor(e,i){super(e,i)}KW_OPTIMIZE(){return this.getToken(t.KW_OPTIMIZE,0)}tableNames(){return this.getRuleContext(0,Le)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}tableActionOption(){return this.getRuleContext(0,bi)}get ruleIndex(){return t.RULE_optimizeTable}enterRule(e){e.enterOptimizeTable&&e.enterOptimizeTable(this)}exitRule(e){e.exitOptimizeTable&&e.exitOptimizeTable(this)}accept(e){return e.visitOptimizeTable?e.visitOptimizeTable(this):e.visitChildren(this)}}class Fo extends W{constructor(e,i){super(e,i)}KW_REPAIR(){return this.getToken(t.KW_REPAIR,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableNames(){return this.getRuleContext(0,Le)}tableActionOption(){return this.getRuleContext(0,bi)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_USE_FRM(){return this.getToken(t.KW_USE_FRM,0)}get ruleIndex(){return t.RULE_repairTable}enterRule(e){e.enterRepairTable&&e.enterRepairTable(this)}exitRule(e){e.exitRepairTable&&e.exitRepairTable(this)}accept(e){return e.visitRepairTable?e.visitRepairTable(this):e.visitChildren(this)}}class bi extends W{constructor(e,i){super(e,i)}KW_NO_WRITE_TO_BINLOG(){return this.getToken(t.KW_NO_WRITE_TO_BINLOG,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_tableActionOption}enterRule(e){e.enterTableActionOption&&e.enterTableActionOption(this)}exitRule(e){e.exitTableActionOption&&e.exitTableActionOption(this)}accept(e){return e.visitTableActionOption?e.visitTableActionOption(this):e.visitChildren(this)}}class bh extends W{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_FAST(){return this.getToken(t.KW_FAST,0)}KW_MEDIUM(){return this.getToken(t.KW_MEDIUM,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_CHANGED(){return this.getToken(t.KW_CHANGED,0)}get ruleIndex(){return t.RULE_checkTableOption}enterRule(e){e.enterCheckTableOption&&e.enterCheckTableOption(this)}exitRule(e){e.exitCheckTableOption&&e.exitCheckTableOption(this)}accept(e){return e.visitCheckTableOption?e.visitCheckTableOption(this):e.visitChildren(this)}}class Go extends W{constructor(e,i){super(e,i)}KW_INSTALL(){return this.getToken(t.KW_INSTALL,0)}KW_COMPONENT(){return this.getToken(t.KW_COMPONENT,0)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_SET(){return this.getToken(t.KW_SET,0)}variableExpr(e){return e===void 0?this.getRuleContexts(wh):this.getRuleContext(e,wh)}get ruleIndex(){return t.RULE_installComponent}enterRule(e){e.enterInstallComponent&&e.enterInstallComponent(this)}exitRule(e){e.exitInstallComponent&&e.exitInstallComponent(this)}accept(e){return e.visitInstallComponent?e.visitInstallComponent(this):e.visitChildren(this)}}class wh extends W{constructor(e,i){super(e,i)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}expression(){return this.getRuleContext(0,k)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}GLOBAL_ID(){return this.getToken(t.GLOBAL_ID,0)}KW_PERSIST(){return this.getToken(t.KW_PERSIST,0)}PERSIST_ID(){return this.getToken(t.PERSIST_ID,0)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_variableExpr}enterRule(e){e.enterVariableExpr&&e.enterVariableExpr(this)}exitRule(e){e.exitVariableExpr&&e.exitVariableExpr(this)}accept(e){return e.visitVariableExpr?e.visitVariableExpr(this):e.visitChildren(this)}}class bo extends W{constructor(e,i){super(e,i)}KW_UNINSTALL(){return this.getToken(t.KW_UNINSTALL,0)}KW_COMPONENT(){return this.getToken(t.KW_COMPONENT,0)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_uninstallComponent}enterRule(e){e.enterUninstallComponent&&e.enterUninstallComponent(this)}exitRule(e){e.exitUninstallComponent&&e.exitUninstallComponent(this)}accept(e){return e.visitUninstallComponent?e.visitUninstallComponent(this):e.visitChildren(this)}}class wo extends W{constructor(e,i){super(e,i)}KW_INSTALL(){return this.getToken(t.KW_INSTALL,0)}KW_PLUGIN(){return this.getToken(t.KW_PLUGIN,0)}KW_SONAME(){return this.getToken(t.KW_SONAME,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_installPlugin}enterRule(e){e.enterInstallPlugin&&e.enterInstallPlugin(this)}exitRule(e){e.exitInstallPlugin&&e.exitInstallPlugin(this)}accept(e){return e.visitInstallPlugin?e.visitInstallPlugin(this):e.visitChildren(this)}}class vo extends W{constructor(e,i){super(e,i)}KW_UNINSTALL(){return this.getToken(t.KW_UNINSTALL,0)}KW_PLUGIN(){return this.getToken(t.KW_PLUGIN,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_uninstallPlugin}enterRule(e){e.enterUninstallPlugin&&e.enterUninstallPlugin(this)}exitRule(e){e.exitUninstallPlugin&&e.exitUninstallPlugin(this)}accept(e){return e.visitUninstallPlugin?e.visitUninstallPlugin(this):e.visitChildren(this)}}class Yo extends W{constructor(e,i){super(e,i)}KW_CLONE(){return this.getToken(t.KW_CLONE,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_INSTANCE(){return this.getToken(t.KW_INSTANCE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}userHostPort(){return this.getRuleContext(0,R4)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_REQUIRE(){return this.getToken(t.KW_REQUIRE,0)}KW_SSL(){return this.getToken(t.KW_SSL,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_cloneStatement}enterRule(e){e.enterCloneStatement&&e.enterCloneStatement(this)}exitRule(e){e.exitCloneStatement&&e.exitCloneStatement(this)}accept(e){return e.visitCloneStatement?e.visitCloneStatement(this):e.visitChildren(this)}}class ze extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_setStatement}copyFrom(e){super.copyFrom(e)}}class PK extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}setTransactionStatement(){return this.getRuleContext(0,Gc)}enterRule(e){e.enterSetTransaction&&e.enterSetTransaction(this)}exitRule(e){e.exitSetTransaction&&e.exitSetTransaction(this)}accept(e){return e.visitSetTransaction?e.visitSetTransaction(this):e.visitChildren(this)}}class yK extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}enterRule(e){e.enterSetCharset&&e.enterSetCharset(this)}exitRule(e){e.exitSetCharset&&e.exitSetCharset(this)}accept(e){return e.visitSetCharset?e.visitSetCharset(this):e.visitChildren(this)}}class qK extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}charsetName(){return this.getRuleContext(0,Ft)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterSetNames&&e.enterSetNames(this)}exitRule(e){e.exitSetNames&&e.exitSetNames(this)}accept(e){return e.visitSetNames?e.visitSetNames(this):e.visitChildren(this)}}class tW extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}setPasswordStatement(){return this.getRuleContext(0,G7)}enterRule(e){e.enterSetPassword&&e.enterSetPassword(this)}exitRule(e){e.exitSetPassword&&e.exitSetPassword(this)}accept(e){return e.visitSetPassword?e.visitSetPassword(this):e.visitChildren(this)}}class eW extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}setAutocommitStatement(){return this.getRuleContext(0,Fc)}enterRule(e){e.enterSetAutocommit&&e.enterSetAutocommit(this)}exitRule(e){e.exitSetAutocommit&&e.exitSetAutocommit(this)}accept(e){return e.visitSetAutocommit?e.visitSetAutocommit(this):e.visitChildren(this)}}class iW extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}fullId(e){return e===void 0?this.getRuleContexts(at):this.getRuleContext(e,at)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}VAR_ASSIGN(e){return e===void 0?this.getTokens(t.VAR_ASSIGN):this.getToken(t.VAR_ASSIGN,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSetNewValueInsideTrigger&&e.enterSetNewValueInsideTrigger(this)}exitRule(e){e.exitSetNewValueInsideTrigger&&e.exitSetNewValueInsideTrigger(this)}accept(e){return e.visitSetNewValueInsideTrigger?e.visitSetNewValueInsideTrigger(this):e.visitChildren(this)}}class sW extends ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SET(){return this.getToken(t.KW_SET,0)}variableClause(e){return e===void 0?this.getRuleContexts(wi):this.getRuleContext(e,wi)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}VAR_ASSIGN(e){return e===void 0?this.getTokens(t.VAR_ASSIGN):this.getToken(t.VAR_ASSIGN,e)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterSetVariable&&e.enterSetVariable(this)}exitRule(e){e.exitSetVariable&&e.exitSetVariable(this)}accept(e){return e.visitSetVariable?e.visitSetVariable(this):e.visitChildren(this)}}class rt extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_showStatement}copyFrom(e){super.copyFrom(e)}}class nW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}databaseName(){return this.getRuleContext(0,Zt)}showFilter(){return this.getRuleContext(0,vi)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}enterRule(e){e.enterShowOpenTables&&e.enterShowOpenTables(this)}exitRule(e){e.exitShowOpenTables&&e.exitShowOpenTables(this)}accept(e){return e.visitShowOpenTables?e.visitShowOpenTables(this):e.visitChildren(this)}}class hW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}showGlobalInfoClause(){return this.getRuleContext(0,Xo)}enterRule(e){e.enterShowGlobalInfo&&e.enterShowGlobalInfo(this)}exitRule(e){e.exitShowGlobalInfo&&e.exitShowGlobalInfo(this)}accept(e){return e.visitShowGlobalInfo?e.visitShowGlobalInfo(this):e.visitChildren(this)}}class aW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}fullId(){return this.getRuleContext(0,at)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}enterRule(e){e.enterShowCreateFullIdObject&&e.enterShowCreateFullIdObject(this)}exitRule(e){e.exitShowCreateFullIdObject&&e.exitShowCreateFullIdObject(this)}accept(e){return e.visitShowCreateFullIdObject?e.visitShowCreateFullIdObject(this):e.visitChildren(this)}}class cW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}userName(){return this.getRuleContext(0,_t)}enterRule(e){e.enterShowCreateUser&&e.enterShowCreateUser(this)}exitRule(e){e.exitShowCreateUser&&e.exitShowCreateUser(this)}accept(e){return e.visitShowCreateUser?e.visitShowCreateUser(this):e.visitChildren(this)}}class oW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_ERRORS(){return this.getToken(t.KW_ERRORS,0)}KW_WARNINGS(){return this.getToken(t.KW_WARNINGS,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(){return this.getToken(t.COMMA,0)}enterRule(e){e.enterShowErrors&&e.enterShowErrors(this)}exitRule(e){e.exitShowErrors&&e.exitShowErrors(this)}accept(e){return e.visitShowErrors?e.visitShowErrors(this):e.visitChildren(this)}}class rW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,H1)}enterRule(e){e.enterShowCreateFunction&&e.enterShowCreateFunction(this)}exitRule(e){e.exitShowCreateFunction&&e.exitShowCreateFunction(this)}accept(e){return e.visitShowCreateFunction?e.visitShowCreateFunction(this):e.visitChildren(this)}}class EW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_CODE(){return this.getToken(t.KW_CODE,0)}fullId(){return this.getRuleContext(0,at)}enterRule(e){e.enterShowPercedureCode&&e.enterShowPercedureCode(this)}exitRule(e){e.exitShowPercedureCode&&e.exitShowPercedureCode(this)}accept(e){return e.visitShowPercedureCode?e.visitShowPercedureCode(this):e.visitChildren(this)}}class KW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}STAR(){return this.getToken(t.STAR,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_ERRORS(){return this.getToken(t.KW_ERRORS,0)}KW_WARNINGS(){return this.getToken(t.KW_WARNINGS,0)}enterRule(e){e.enterShowCountErrors&&e.enterShowCountErrors(this)}exitRule(e){e.exitShowCountErrors&&e.exitShowCountErrors(this)}accept(e){return e.visitShowCountErrors?e.visitShowCountErrors(this):e.visitChildren(this)}}class WW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_CODE(){return this.getToken(t.KW_CODE,0)}functionName(){return this.getRuleContext(0,H1)}enterRule(e){e.enterShowFunctionCode&&e.enterShowFunctionCode(this)}exitRule(e){e.exitShowFunctionCode&&e.exitShowFunctionCode(this)}accept(e){return e.visitShowFunctionCode?e.visitShowFunctionCode(this):e.visitChildren(this)}}class uW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}showCommonEntity(){return this.getRuleContext(0,Vo)}showFilter(){return this.getRuleContext(0,vi)}enterRule(e){e.enterShowObjectFilter&&e.enterShowObjectFilter(this)}exitRule(e){e.exitShowObjectFilter&&e.exitShowObjectFilter(this)}accept(e){return e.visitShowObjectFilter?e.visitShowObjectFilter(this):e.visitChildren(this)}}class RW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_REPLICAS(){return this.getToken(t.KW_REPLICAS,0)}enterRule(e){e.enterShowReplicas&&e.enterShowReplicas(this)}exitRule(e){e.exitShowReplicas&&e.exitShowReplicas(this)}accept(e){return e.visitShowReplicas?e.visitShowReplicas(this):e.visitChildren(this)}}class TW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}databaseName(){return this.getRuleContext(0,Zt)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}ifNotExists(){return this.getRuleContext(0,Mt)}enterRule(e){e.enterShowCreateDb&&e.enterShowCreateDb(this)}exitRule(e){e.exitShowCreateDb&&e.exitShowCreateDb(this)}accept(e){return e.visitShowCreateDb?e.visitShowCreateDb(this):e.visitChildren(this)}}class _W extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}engineName(){return this.getRuleContext(0,Ne)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_MUTEX(){return this.getToken(t.KW_MUTEX,0)}enterRule(e){e.enterShowEngine&&e.enterShowEngine(this)}exitRule(e){e.exitShowEngine&&e.exitShowEngine(this)}accept(e){return e.visitShowEngine?e.visitShowEngine(this):e.visitChildren(this)}}class AW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}showSchemaEntity(){return this.getRuleContext(0,Qo)}databaseName(){return this.getRuleContext(0,Zt)}showFilter(){return this.getRuleContext(0,vi)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}enterRule(e){e.enterShowSchemaFilter&&e.enterShowSchemaFilter(this)}exitRule(e){e.exitShowSchemaFilter&&e.exitShowSchemaFilter(this)}accept(e){return e.visitShowSchemaFilter?e.visitShowSchemaFilter(this):e.visitChildren(this)}}class IW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}tableName(){return this.getRuleContext(0,X)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_KEYS(){return this.getToken(t.KW_KEYS,0)}KW_FROM(e){return e===void 0?this.getTokens(t.KW_FROM):this.getToken(t.KW_FROM,e)}KW_IN(e){return e===void 0?this.getTokens(t.KW_IN):this.getToken(t.KW_IN,e)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}databaseName(){return this.getRuleContext(0,Zt)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}enterRule(e){e.enterShowIndexes&&e.enterShowIndexes(this)}exitRule(e){e.exitShowIndexes&&e.exitShowIndexes(this)}accept(e){return e.visitShowIndexes?e.visitShowIndexes(this):e.visitChildren(this)}}class LW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_EVENTS(){return this.getToken(t.KW_EVENTS,0)}KW_BINLOG(){return this.getToken(t.KW_BINLOG,0)}KW_RELAYLOG(){return this.getToken(t.KW_RELAYLOG,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}channelOption(){return this.getRuleContext(0,Be)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(){return this.getToken(t.COMMA,0)}enterRule(e){e.enterShowLogEvents&&e.enterShowLogEvents(this)}exitRule(e){e.exitShowLogEvents&&e.exitShowLogEvents(this)}accept(e){return e.visitShowLogEvents?e.visitShowLogEvents(this):e.visitChildren(this)}}class OW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}enterRule(e){e.enterShowMasterLogs&&e.enterShowMasterLogs(this)}exitRule(e){e.exitShowMasterLogs&&e.exitShowMasterLogs(this)}accept(e){return e.visitShowMasterLogs?e.visitShowMasterLogs(this):e.visitChildren(this)}}class CW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_GRANTS(){return this.getToken(t.KW_GRANTS,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}userOrRoleName(){return this.getRuleContext(0,je)}KW_USING(){return this.getToken(t.KW_USING,0)}userOrRoleNames(){return this.getRuleContext(0,Oe)}enterRule(e){e.enterShowGrants&&e.enterShowGrants(this)}exitRule(e){e.exitShowGrants&&e.exitShowGrants(this)}accept(e){return e.visitShowGrants?e.visitShowGrants(this):e.visitChildren(this)}}class NW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}channelOption(){return this.getRuleContext(0,Be)}enterRule(e){e.enterShowSlaveStatus&&e.enterShowSlaveStatus(this)}exitRule(e){e.exitShowSlaveStatus&&e.exitShowSlaveStatus(this)}accept(e){return e.visitShowSlaveStatus?e.visitShowSlaveStatus(this):e.visitChildren(this)}}class dW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}enterRule(e){e.enterShowCreateTable&&e.enterShowCreateTable(this)}exitRule(e){e.exitShowCreateTable&&e.exitShowCreateTable(this)}accept(e){return e.visitShowCreateTable?e.visitShowCreateTable(this):e.visitChildren(this)}}class lW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_PROFILE(){return this.getToken(t.KW_PROFILE,0)}showProfileType(e){return e===void 0?this.getRuleContexts(vh):this.getRuleContext(e,vh)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}enterRule(e){e.enterShowProfile&&e.enterShowProfile(this)}exitRule(e){e.exitShowProfile&&e.exitShowProfile(this)}accept(e){return e.visitShowProfile?e.visitShowProfile(this):e.visitChildren(this)}}class mW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}tableName(){return this.getRuleContext(0,X)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_FROM(e){return e===void 0?this.getTokens(t.KW_FROM):this.getToken(t.KW_FROM,e)}KW_IN(e){return e===void 0?this.getTokens(t.KW_IN):this.getToken(t.KW_IN,e)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}databaseName(){return this.getRuleContext(0,Zt)}showFilter(){return this.getRuleContext(0,vi)}enterRule(e){e.enterShowColumns&&e.enterShowColumns(this)}exitRule(e){e.exitShowColumns&&e.exitShowColumns(this)}accept(e){return e.visitShowColumns?e.visitShowColumns(this):e.visitChildren(this)}}class pW extends rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Vi)}enterRule(e){e.enterShowCreateView&&e.enterShowCreateView(this)}exitRule(e){e.exitShowCreateView&&e.exitShowCreateView(this)}accept(e){return e.visitShowCreateView?e.visitShowCreateView(this):e.visitChildren(this)}}class wi extends W{constructor(e,i){super(e,i)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}GLOBAL_ID(){return this.getToken(t.GLOBAL_ID,0)}uid(){return this.getRuleContext(0,d)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_PERSIST(){return this.getToken(t.KW_PERSIST,0)}KW_PERSIST_ONLY(){return this.getToken(t.KW_PERSIST_ONLY,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}AT_SIGN(e){return e===void 0?this.getTokens(t.AT_SIGN):this.getToken(t.AT_SIGN,e)}get ruleIndex(){return t.RULE_variableClause}enterRule(e){e.enterVariableClause&&e.enterVariableClause(this)}exitRule(e){e.exitVariableClause&&e.exitVariableClause(this)}accept(e){return e.visitVariableClause?e.visitVariableClause(this):e.visitChildren(this)}}class Vo extends W{constructor(e,i){super(e,i)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_DATABASES(){return this.getToken(t.KW_DATABASES,0)}KW_SCHEMAS(){return this.getToken(t.KW_SCHEMAS,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_VARIABLES(){return this.getToken(t.KW_VARIABLES,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}get ruleIndex(){return t.RULE_showCommonEntity}enterRule(e){e.enterShowCommonEntity&&e.enterShowCommonEntity(this)}exitRule(e){e.exitShowCommonEntity&&e.exitShowCommonEntity(this)}accept(e){return e.visitShowCommonEntity?e.visitShowCommonEntity(this):e.visitChildren(this)}}class vi extends W{constructor(e,i){super(e,i)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_showFilter}enterRule(e){e.enterShowFilter&&e.enterShowFilter(this)}exitRule(e){e.exitShowFilter&&e.exitShowFilter(this)}accept(e){return e.visitShowFilter?e.visitShowFilter(this):e.visitChildren(this)}}class Xo extends W{constructor(e,i){super(e,i)}KW_ENGINES(){return this.getToken(t.KW_ENGINES,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_PLUGINS(){return this.getToken(t.KW_PLUGINS,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_PROCESSLIST(){return this.getToken(t.KW_PROCESSLIST,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_PROFILES(){return this.getToken(t.KW_PROFILES,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_HOSTS(){return this.getToken(t.KW_HOSTS,0)}KW_AUTHORS(){return this.getToken(t.KW_AUTHORS,0)}KW_CONTRIBUTORS(){return this.getToken(t.KW_CONTRIBUTORS,0)}get ruleIndex(){return t.RULE_showGlobalInfoClause}enterRule(e){e.enterShowGlobalInfoClause&&e.enterShowGlobalInfoClause(this)}exitRule(e){e.exitShowGlobalInfoClause&&e.exitShowGlobalInfoClause(this)}accept(e){return e.visitShowGlobalInfoClause?e.visitShowGlobalInfoClause(this):e.visitChildren(this)}}class Qo extends W{constructor(e,i){super(e,i)}KW_EVENTS(){return this.getToken(t.KW_EVENTS,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_TRIGGERS(){return this.getToken(t.KW_TRIGGERS,0)}get ruleIndex(){return t.RULE_showSchemaEntity}enterRule(e){e.enterShowSchemaEntity&&e.enterShowSchemaEntity(this)}exitRule(e){e.exitShowSchemaEntity&&e.exitShowSchemaEntity(this)}accept(e){return e.visitShowSchemaEntity?e.visitShowSchemaEntity(this):e.visitChildren(this)}}class vh extends W{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_BLOCK(){return this.getToken(t.KW_BLOCK,0)}KW_IO(){return this.getToken(t.KW_IO,0)}KW_CONTEXT(){return this.getToken(t.KW_CONTEXT,0)}KW_SWITCHES(){return this.getToken(t.KW_SWITCHES,0)}KW_CPU(){return this.getToken(t.KW_CPU,0)}KW_IPC(){return this.getToken(t.KW_IPC,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_PAGE(){return this.getToken(t.KW_PAGE,0)}KW_FAULTS(){return this.getToken(t.KW_FAULTS,0)}KW_SOURCE(){return this.getToken(t.KW_SOURCE,0)}KW_SWAPS(){return this.getToken(t.KW_SWAPS,0)}get ruleIndex(){return t.RULE_showProfileType}enterRule(e){e.enterShowProfileType&&e.enterShowProfileType(this)}exitRule(e){e.exitShowProfileType&&e.exitShowProfileType(this)}accept(e){return e.visitShowProfileType?e.visitShowProfileType(this):e.visitChildren(this)}}class Zo extends W{constructor(e,i){super(e,i)}KW_BINLOG(){return this.getToken(t.KW_BINLOG,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_binlogStatement}enterRule(e){e.enterBinlogStatement&&e.enterBinlogStatement(this)}exitRule(e){e.exitBinlogStatement&&e.exitBinlogStatement(this)}accept(e){return e.visitBinlogStatement?e.visitBinlogStatement(this):e.visitChildren(this)}}class Jo extends W{constructor(e,i){super(e,i)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_IN(){return this.getToken(t.KW_IN,0)}databaseName(){return this.getRuleContext(0,Zt)}tableIndex(e){return e===void 0?this.getRuleContexts(Vh):this.getRuleContext(e,Vh)}tableName(){return this.getRuleContext(0,X)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_cacheIndexStatement}enterRule(e){e.enterCacheIndexStatement&&e.enterCacheIndexStatement(this)}exitRule(e){e.exitCacheIndexStatement&&e.exitCacheIndexStatement(this)}accept(e){return e.visitCacheIndexStatement?e.visitCacheIndexStatement(this):e.visitChildren(this)}}class zo extends W{constructor(e,i){super(e,i)}KW_FLUSH(){return this.getToken(t.KW_FLUSH,0)}flushOption(e){return e===void 0?this.getRuleContexts(S1):this.getRuleContext(e,S1)}tableActionOption(){return this.getRuleContext(0,bi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_flushStatement}enterRule(e){e.enterFlushStatement&&e.enterFlushStatement(this)}exitRule(e){e.exitFlushStatement&&e.exitFlushStatement(this)}accept(e){return e.visitFlushStatement?e.visitFlushStatement(this):e.visitChildren(this)}}class jo extends W{constructor(e,i){super(e,i)}KW_KILL(){return this.getToken(t.KW_KILL,0)}expression(){return this.getRuleContext(0,k)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}get ruleIndex(){return t.RULE_killStatement}enterRule(e){e.enterKillStatement&&e.enterKillStatement(this)}exitRule(e){e.exitKillStatement&&e.exitKillStatement(this)}accept(e){return e.visitKillStatement?e.visitKillStatement(this):e.visitChildren(this)}}class $o extends W{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}loadedTableIndexes(e){return e===void 0?this.getRuleContexts(Xh):this.getRuleContext(e,Xh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_loadIndexIntoCache}enterRule(e){e.enterLoadIndexIntoCache&&e.enterLoadIndexIntoCache(this)}exitRule(e){e.exitLoadIndexIntoCache&&e.exitLoadIndexIntoCache(this)}accept(e){return e.visitLoadIndexIntoCache?e.visitLoadIndexIntoCache(this):e.visitChildren(this)}}class Mo extends W{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}resetOption(e){return e===void 0?this.getRuleContexts(Yh):this.getRuleContext(e,Yh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_resetStatement}enterRule(e){e.enterResetStatement&&e.enterResetStatement(this)}exitRule(e){e.exitResetStatement&&e.exitResetStatement(this)}accept(e){return e.visitResetStatement?e.visitResetStatement(this):e.visitChildren(this)}}class Yh extends W{constructor(e,i){super(e,i)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}get ruleIndex(){return t.RULE_resetOption}enterRule(e){e.enterResetOption&&e.enterResetOption(this)}exitRule(e){e.exitResetOption&&e.exitResetOption(this)}accept(e){return e.visitResetOption?e.visitResetOption(this):e.visitChildren(this)}}class Po extends W{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_PERSIST(){return this.getToken(t.KW_PERSIST,0)}uid(){return this.getRuleContext(0,d)}ifExists(){return this.getRuleContext(0,kt)}get ruleIndex(){return t.RULE_resetPersist}enterRule(e){e.enterResetPersist&&e.enterResetPersist(this)}exitRule(e){e.exitResetPersist&&e.exitResetPersist(this)}accept(e){return e.visitResetPersist?e.visitResetPersist(this):e.visitChildren(this)}}class yo extends W{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}channelOption(){return this.getRuleContext(0,Be)}get ruleIndex(){return t.RULE_resetAllChannel}enterRule(e){e.enterResetAllChannel&&e.enterResetAllChannel(this)}exitRule(e){e.exitResetAllChannel&&e.exitResetAllChannel(this)}accept(e){return e.visitResetAllChannel?e.visitResetAllChannel(this):e.visitChildren(this)}}class qo extends W{constructor(e,i){super(e,i)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}get ruleIndex(){return t.RULE_reStartStatement}enterRule(e){e.enterReStartStatement&&e.enterReStartStatement(this)}exitRule(e){e.exitReStartStatement&&e.exitReStartStatement(this)}accept(e){return e.visitReStartStatement?e.visitReStartStatement(this):e.visitChildren(this)}}class t4 extends W{constructor(e,i){super(e,i)}KW_SHUTDOWN(){return this.getToken(t.KW_SHUTDOWN,0)}get ruleIndex(){return t.RULE_shutdownStatement}enterRule(e){e.enterShutdownStatement&&e.enterShutdownStatement(this)}exitRule(e){e.exitShutdownStatement&&e.exitShutdownStatement(this)}accept(e){return e.visitShutdownStatement?e.visitShutdownStatement(this):e.visitChildren(this)}}class Vh extends W{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}indexNames(){return this.getRuleContext(0,v7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_tableIndex}enterRule(e){e.enterTableIndex&&e.enterTableIndex(this)}exitRule(e){e.exitTableIndex&&e.exitTableIndex(this)}accept(e){return e.visitTableIndex?e.visitTableIndex(this):e.visitChildren(this)}}class S1 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_flushOption}copyFrom(e){super.copyFrom(e)}}class xW extends S1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}tableNames(){return this.getRuleContext(0,Le)}flushTableOption(){return this.getRuleContext(0,e4)}enterRule(e){e.enterTableFlushOption&&e.enterTableFlushOption(this)}exitRule(e){e.exitTableFlushOption&&e.exitTableFlushOption(this)}accept(e){return e.visitTableFlushOption?e.visitTableFlushOption(this):e.visitChildren(this)}}class fW extends S1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_RELAY(){return this.getToken(t.KW_RELAY,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}channelOption(){return this.getRuleContext(0,Be)}enterRule(e){e.enterChannelFlushOption&&e.enterChannelFlushOption(this)}exitRule(e){e.exitChannelFlushOption&&e.exitChannelFlushOption(this)}accept(e){return e.visitChannelFlushOption?e.visitChannelFlushOption(this):e.visitChildren(this)}}class gW extends S1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DES_KEY_FILE(){return this.getToken(t.KW_DES_KEY_FILE,0)}KW_HOSTS(){return this.getToken(t.KW_HOSTS,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_OPTIMIZER_COSTS(){return this.getToken(t.KW_OPTIMIZER_COSTS,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_USER_RESOURCES(){return this.getToken(t.KW_USER_RESOURCES,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_GENERAL(){return this.getToken(t.KW_GENERAL,0)}KW_RELAY(){return this.getToken(t.KW_RELAY,0)}KW_SLOW(){return this.getToken(t.KW_SLOW,0)}enterRule(e){e.enterSimpleFlushOption&&e.enterSimpleFlushOption(this)}exitRule(e){e.exitSimpleFlushOption&&e.exitSimpleFlushOption(this)}accept(e){return e.visitSimpleFlushOption?e.visitSimpleFlushOption(this):e.visitChildren(this)}}class e4 extends W{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_EXPORT(){return this.getToken(t.KW_EXPORT,0)}get ruleIndex(){return t.RULE_flushTableOption}enterRule(e){e.enterFlushTableOption&&e.enterFlushTableOption(this)}exitRule(e){e.exitFlushTableOption&&e.exitFlushTableOption(this)}accept(e){return e.visitFlushTableOption?e.visitFlushTableOption(this):e.visitChildren(this)}}class Xh extends W{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}indexNames(){return this.getRuleContext(0,v7)}KW_IGNORE(){return this.getToken(t.KW_IGNORE,0)}KW_LEAVES(){return this.getToken(t.KW_LEAVES,0)}partitionNames(){return this.getRuleContext(0,gt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_loadedTableIndexes}enterRule(e){e.enterLoadedTableIndexes&&e.enterLoadedTableIndexes(this)}exitRule(e){e.exitLoadedTableIndexes&&e.exitLoadedTableIndexes(this)}accept(e){return e.visitLoadedTableIndexes?e.visitLoadedTableIndexes(this):e.visitChildren(this)}}class i4 extends W{constructor(e,i){super(e,i)}tableName(){return this.getRuleContext(0,X)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_DESCRIBE(){return this.getToken(t.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}columnName(){return this.getRuleContext(0,At)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_simpleDescribeStatement}enterRule(e){e.enterSimpleDescribeStatement&&e.enterSimpleDescribeStatement(this)}exitRule(e){e.exitSimpleDescribeStatement&&e.exitSimpleDescribeStatement(this)}accept(e){return e.visitSimpleDescribeStatement?e.visitSimpleDescribeStatement(this):e.visitChildren(this)}}class s4 extends W{constructor(e,i){super(e,i)}describeObjectClause(){return this.getRuleContext(0,w7)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_DESCRIBE(){return this.getToken(t.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_PARTITIONS(){return this.getToken(t.KW_PARTITIONS,0)}KW_FORMAT(){return this.getToken(t.KW_FORMAT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_TRADITIONAL(){return this.getToken(t.KW_TRADITIONAL,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_TREE(){return this.getToken(t.KW_TREE,0)}get ruleIndex(){return t.RULE_fullDescribeStatement}enterRule(e){e.enterFullDescribeStatement&&e.enterFullDescribeStatement(this)}exitRule(e){e.exitFullDescribeStatement&&e.exitFullDescribeStatement(this)}accept(e){return e.visitFullDescribeStatement?e.visitFullDescribeStatement(this):e.visitChildren(this)}}class n4 extends W{constructor(e,i){super(e,i)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}selectStatement(){return this.getRuleContext(0,ft)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_DESCRIBE(){return this.getToken(t.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_FORMAT(){return this.getToken(t.KW_FORMAT,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_TREE(){return this.getToken(t.KW_TREE,0)}get ruleIndex(){return t.RULE_analyzeDescribeStatement}enterRule(e){e.enterAnalyzeDescribeStatement&&e.enterAnalyzeDescribeStatement(this)}exitRule(e){e.exitAnalyzeDescribeStatement&&e.exitAnalyzeDescribeStatement(this)}accept(e){return e.visitAnalyzeDescribeStatement?e.visitAnalyzeDescribeStatement(this):e.visitChildren(this)}}class h4 extends W{constructor(e,i){super(e,i)}KW_HELP(){return this.getToken(t.KW_HELP,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_helpStatement}enterRule(e){e.enterHelpStatement&&e.enterHelpStatement(this)}exitRule(e){e.exitHelpStatement&&e.exitHelpStatement(this)}accept(e){return e.visitHelpStatement?e.visitHelpStatement(this):e.visitChildren(this)}}class a4 extends W{constructor(e,i){super(e,i)}KW_USE(){return this.getToken(t.KW_USE,0)}databaseName(){return this.getRuleContext(0,Zt)}get ruleIndex(){return t.RULE_useStatement}enterRule(e){e.enterUseStatement&&e.enterUseStatement(this)}exitRule(e){e.exitUseStatement&&e.exitUseStatement(this)}accept(e){return e.visitUseStatement?e.visitUseStatement(this):e.visitChildren(this)}}class c4 extends W{constructor(e,i){super(e,i)}KW_SIGNAL(){return this.getToken(t.KW_SIGNAL,0)}ID(){return this.getToken(t.ID,0)}REVERSE_QUOTE_ID(){return this.getToken(t.REVERSE_QUOTE_ID,0)}KW_SET(){return this.getToken(t.KW_SET,0)}signalConditionInformation(e){return e===void 0?this.getRuleContexts(Yi):this.getRuleContext(e,Yi)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}stringLiteral(){return this.getRuleContext(0,Gt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_signalStatement}enterRule(e){e.enterSignalStatement&&e.enterSignalStatement(this)}exitRule(e){e.exitSignalStatement&&e.exitSignalStatement(this)}accept(e){return e.visitSignalStatement?e.visitSignalStatement(this):e.visitChildren(this)}}class o4 extends W{constructor(e,i){super(e,i)}KW_RESIGNAL(){return this.getToken(t.KW_RESIGNAL,0)}ID(){return this.getToken(t.ID,0)}REVERSE_QUOTE_ID(){return this.getToken(t.REVERSE_QUOTE_ID,0)}KW_SET(){return this.getToken(t.KW_SET,0)}signalConditionInformation(e){return e===void 0?this.getRuleContexts(Yi):this.getRuleContext(e,Yi)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}stringLiteral(){return this.getRuleContext(0,Gt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_resignalStatement}enterRule(e){e.enterResignalStatement&&e.enterResignalStatement(this)}exitRule(e){e.exitResignalStatement&&e.exitResignalStatement(this)}accept(e){return e.visitResignalStatement?e.visitResignalStatement(this):e.visitChildren(this)}}class Yi extends W{constructor(e,i){super(e,i)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}KW_CLASS_ORIGIN(){return this.getToken(t.KW_CLASS_ORIGIN,0)}KW_SUBCLASS_ORIGIN(){return this.getToken(t.KW_SUBCLASS_ORIGIN,0)}KW_MESSAGE_TEXT(){return this.getToken(t.KW_MESSAGE_TEXT,0)}KW_MYSQL_ERRNO(){return this.getToken(t.KW_MYSQL_ERRNO,0)}KW_CONSTRAINT_CATALOG(){return this.getToken(t.KW_CONSTRAINT_CATALOG,0)}KW_CONSTRAINT_SCHEMA(){return this.getToken(t.KW_CONSTRAINT_SCHEMA,0)}KW_CONSTRAINT_NAME(){return this.getToken(t.KW_CONSTRAINT_NAME,0)}KW_CATALOG_NAME(){return this.getToken(t.KW_CATALOG_NAME,0)}KW_SCHEMA_NAME(){return this.getToken(t.KW_SCHEMA_NAME,0)}KW_TABLE_NAME(){return this.getToken(t.KW_TABLE_NAME,0)}KW_COLUMN_NAME(){return this.getToken(t.KW_COLUMN_NAME,0)}KW_CURSOR_NAME(){return this.getToken(t.KW_CURSOR_NAME,0)}stringLiteral(){return this.getRuleContext(0,Gt)}DECIMAL_LITERAL(){return this.getToken(t.DECIMAL_LITERAL,0)}mysqlVariable(){return this.getRuleContext(0,Q7)}simpleId(){return this.getRuleContext(0,Z7)}get ruleIndex(){return t.RULE_signalConditionInformation}enterRule(e){e.enterSignalConditionInformation&&e.enterSignalConditionInformation(this)}exitRule(e){e.exitSignalConditionInformation&&e.exitSignalConditionInformation(this)}accept(e){return e.visitSignalConditionInformation?e.visitSignalConditionInformation(this):e.visitChildren(this)}}class r4 extends W{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}commonTableExpressions(e){return e===void 0?this.getRuleContexts(f1):this.getRuleContext(e,f1)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_withStatement}enterRule(e){e.enterWithStatement&&e.enterWithStatement(this)}exitRule(e){e.exitWithStatement&&e.exitWithStatement(this)}accept(e){return e.visitWithStatement?e.visitWithStatement(this):e.visitChildren(this)}}class Qh extends W{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}tableName(){return this.getRuleContext(0,X)}orderByClause(){return this.getRuleContext(0,ee)}limitClause(){return this.getRuleContext(0,Ie)}get ruleIndex(){return t.RULE_tableStatement}enterRule(e){e.enterTableStatement&&e.enterTableStatement(this)}exitRule(e){e.exitTableStatement&&e.exitTableStatement(this)}accept(e){return e.visitTableStatement?e.visitTableStatement(this):e.visitChildren(this)}}class E4 extends W{constructor(e,i){super(e,i)}KW_GET(){return this.getToken(t.KW_GET,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}variableClause(e){return e===void 0?this.getRuleContexts(wi):this.getRuleContext(e,wi)}EQUAL_SYMBOL(e){return e===void 0?this.getTokens(t.EQUAL_SYMBOL):this.getToken(t.EQUAL_SYMBOL,e)}KW_CONDITION(){return this.getToken(t.KW_CONDITION,0)}diagnosticsConditionInformationName(e){return e===void 0?this.getRuleContexts(Zh):this.getRuleContext(e,Zh)}KW_NUMBER(e){return e===void 0?this.getTokens(t.KW_NUMBER):this.getToken(t.KW_NUMBER,e)}KW_ROW_COUNT(e){return e===void 0?this.getTokens(t.KW_ROW_COUNT):this.getToken(t.KW_ROW_COUNT,e)}decimalLiteral(){return this.getRuleContext(0,H)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_diagnosticsStatement}enterRule(e){e.enterDiagnosticsStatement&&e.enterDiagnosticsStatement(this)}exitRule(e){e.exitDiagnosticsStatement&&e.exitDiagnosticsStatement(this)}accept(e){return e.visitDiagnosticsStatement?e.visitDiagnosticsStatement(this):e.visitChildren(this)}}class Zh extends W{constructor(e,i){super(e,i)}KW_CLASS_ORIGIN(){return this.getToken(t.KW_CLASS_ORIGIN,0)}KW_SUBCLASS_ORIGIN(){return this.getToken(t.KW_SUBCLASS_ORIGIN,0)}KW_RETURNED_SQLSTATE(){return this.getToken(t.KW_RETURNED_SQLSTATE,0)}KW_MESSAGE_TEXT(){return this.getToken(t.KW_MESSAGE_TEXT,0)}KW_MYSQL_ERRNO(){return this.getToken(t.KW_MYSQL_ERRNO,0)}KW_CONSTRAINT_CATALOG(){return this.getToken(t.KW_CONSTRAINT_CATALOG,0)}KW_CONSTRAINT_SCHEMA(){return this.getToken(t.KW_CONSTRAINT_SCHEMA,0)}KW_CONSTRAINT_NAME(){return this.getToken(t.KW_CONSTRAINT_NAME,0)}KW_CATALOG_NAME(){return this.getToken(t.KW_CATALOG_NAME,0)}KW_SCHEMA_NAME(){return this.getToken(t.KW_SCHEMA_NAME,0)}KW_TABLE_NAME(){return this.getToken(t.KW_TABLE_NAME,0)}KW_COLUMN_NAME(){return this.getToken(t.KW_COLUMN_NAME,0)}KW_CURSOR_NAME(){return this.getToken(t.KW_CURSOR_NAME,0)}get ruleIndex(){return t.RULE_diagnosticsConditionInformationName}enterRule(e){e.enterDiagnosticsConditionInformationName&&e.enterDiagnosticsConditionInformationName(this)}exitRule(e){e.exitDiagnosticsConditionInformationName&&e.exitDiagnosticsConditionInformationName(this)}accept(e){return e.visitDiagnosticsConditionInformationName?e.visitDiagnosticsConditionInformationName(this):e.visitChildren(this)}}class w7 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_describeObjectClause}copyFrom(e){super.copyFrom(e)}}class UW extends w7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}selectStatement(){return this.getRuleContext(0,ft)}deleteStatement(){return this.getRuleContext(0,nh)}insertStatement(){return this.getRuleContext(0,hh)}replaceStatement(){return this.getRuleContext(0,oh)}updateStatement(){return this.getRuleContext(0,rh)}enterRule(e){e.enterDescribeStatements&&e.enterDescribeStatements(this)}exitRule(e){e.exitDescribeStatements&&e.exitDescribeStatements(this)}accept(e){return e.visitDescribeStatements?e.visitDescribeStatements(this):e.visitChildren(this)}}class DW extends w7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}uid(){return this.getRuleContext(0,d)}enterRule(e){e.enterDescribeConnection&&e.enterDescribeConnection(this)}exitRule(e){e.exitDescribeConnection&&e.exitDescribeConnection(this)}accept(e){return e.visitDescribeConnection?e.visitDescribeConnection(this):e.visitChildren(this)}}class K4 extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_databaseNameCreate}enterRule(e){e.enterDatabaseNameCreate&&e.enterDatabaseNameCreate(this)}exitRule(e){e.exitDatabaseNameCreate&&e.exitDatabaseNameCreate(this)}accept(e){return e.visitDatabaseNameCreate?e.visitDatabaseNameCreate(this):e.visitChildren(this)}}class Zt extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_databaseName}enterRule(e){e.enterDatabaseName&&e.enterDatabaseName(this)}exitRule(e){e.exitDatabaseName&&e.exitDatabaseName(this)}accept(e){return e.visitDatabaseName?e.visitDatabaseName(this):e.visitChildren(this)}}class Jh extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_functionNameCreate}enterRule(e){e.enterFunctionNameCreate&&e.enterFunctionNameCreate(this)}exitRule(e){e.exitFunctionNameCreate&&e.exitFunctionNameCreate(this)}accept(e){return e.visitFunctionNameCreate?e.visitFunctionNameCreate(this):e.visitChildren(this)}}class H1 extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_functionName}enterRule(e){e.enterFunctionName&&e.enterFunctionName(this)}exitRule(e){e.exitFunctionName&&e.exitFunctionName(this)}accept(e){return e.visitFunctionName?e.visitFunctionName(this):e.visitChildren(this)}}class W4 extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_viewNameCreate}enterRule(e){e.enterViewNameCreate&&e.enterViewNameCreate(this)}exitRule(e){e.exitViewNameCreate&&e.exitViewNameCreate(this)}accept(e){return e.visitViewNameCreate?e.visitViewNameCreate(this):e.visitChildren(this)}}class Vi extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_viewName}enterRule(e){e.enterViewName&&e.enterViewName(this)}exitRule(e){e.exitViewName&&e.exitViewName(this)}accept(e){return e.visitViewName?e.visitViewName(this):e.visitChildren(this)}}class zh extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_indexNameCreate}enterRule(e){e.enterIndexNameCreate&&e.enterIndexNameCreate(this)}exitRule(e){e.exitIndexNameCreate&&e.exitIndexNameCreate(this)}accept(e){return e.visitIndexNameCreate?e.visitIndexNameCreate(this):e.visitChildren(this)}}class v7 extends W{constructor(e,i){super(e,i)}indexName(e){return e===void 0?this.getRuleContexts(ie):this.getRuleContext(e,ie)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_indexNames}enterRule(e){e.enterIndexNames&&e.enterIndexNames(this)}exitRule(e){e.exitIndexNames&&e.exitIndexNames(this)}accept(e){return e.visitIndexNames?e.visitIndexNames(this):e.visitChildren(this)}}class ie extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_indexName}enterRule(e){e.enterIndexName&&e.enterIndexName(this)}exitRule(e){e.exitIndexName&&e.exitIndexName(this)}accept(e){return e.visitIndexName?e.visitIndexName(this):e.visitChildren(this)}}class u4 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_groupNameCreate}enterRule(e){e.enterGroupNameCreate&&e.enterGroupNameCreate(this)}exitRule(e){e.exitGroupNameCreate&&e.exitGroupNameCreate(this)}accept(e){return e.visitGroupNameCreate?e.visitGroupNameCreate(this):e.visitChildren(this)}}class Y7 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_groupName}enterRule(e){e.enterGroupName&&e.enterGroupName(this)}exitRule(e){e.exitGroupName&&e.exitGroupName(this)}accept(e){return e.visitGroupName?e.visitGroupName(this):e.visitChildren(this)}}class B1 extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_tableNameCreate}enterRule(e){e.enterTableNameCreate&&e.enterTableNameCreate(this)}exitRule(e){e.exitTableNameCreate&&e.exitTableNameCreate(this)}accept(e){return e.visitTableNameCreate?e.visitTableNameCreate(this):e.visitChildren(this)}}class Le extends W{constructor(e,i){super(e,i)}tableName(e){return e===void 0?this.getRuleContexts(X):this.getRuleContext(e,X)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tableNames}enterRule(e){e.enterTableNames&&e.enterTableNames(this)}exitRule(e){e.exitTableNames&&e.exitTableNames(this)}accept(e){return e.visitTableNames?e.visitTableNames(this):e.visitChildren(this)}}class X extends W{constructor(e,i){super(e,i)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_tableName}enterRule(e){e.enterTableName&&e.enterTableName(this)}exitRule(e){e.exitTableName&&e.exitTableName(this)}accept(e){return e.visitTableName?e.visitTableName(this):e.visitChildren(this)}}class Oe extends W{constructor(e,i){super(e,i)}userOrRoleName(e){return e===void 0?this.getRuleContexts(je):this.getRuleContext(e,je)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_userOrRoleNames}enterRule(e){e.enterUserOrRoleNames&&e.enterUserOrRoleNames(this)}exitRule(e){e.exitUserOrRoleNames&&e.exitUserOrRoleNames(this)}accept(e){return e.visitUserOrRoleNames?e.visitUserOrRoleNames(this):e.visitChildren(this)}}class je extends W{constructor(e,i){super(e,i)}userName(){return this.getRuleContext(0,_t)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_userOrRoleName}enterRule(e){e.enterUserOrRoleName&&e.enterUserOrRoleName(this)}exitRule(e){e.exitUserOrRoleName&&e.exitUserOrRoleName(this)}accept(e){return e.visitUserOrRoleName?e.visitUserOrRoleName(this):e.visitChildren(this)}}class F1 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}dottedId(e){return e===void 0?this.getRuleContexts(a1):this.getRuleContext(e,a1)}get ruleIndex(){return t.RULE_columnNameCreate}enterRule(e){e.enterColumnNameCreate&&e.enterColumnNameCreate(this)}exitRule(e){e.exitColumnNameCreate&&e.exitColumnNameCreate(this)}accept(e){return e.visitColumnNameCreate?e.visitColumnNameCreate(this):e.visitChildren(this)}}class oe extends W{constructor(e,i){super(e,i)}columnName(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_columnNames}enterRule(e){e.enterColumnNames&&e.enterColumnNames(this)}exitRule(e){e.exitColumnNames&&e.exitColumnNames(this)}accept(e){return e.visitColumnNames?e.visitColumnNames(this):e.visitChildren(this)}}class At extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}dottedId(e){return e===void 0?this.getRuleContexts(a1):this.getRuleContext(e,a1)}get ruleIndex(){return t.RULE_columnName}enterRule(e){e.enterColumnName&&e.enterColumnName(this)}exitRule(e){e.exitColumnName&&e.exitColumnName(this)}accept(e){return e.visitColumnName?e.visitColumnName(this):e.visitChildren(this)}}class V7 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_tablespaceNameCreate}enterRule(e){e.enterTablespaceNameCreate&&e.enterTablespaceNameCreate(this)}exitRule(e){e.exitTablespaceNameCreate&&e.exitTablespaceNameCreate(this)}accept(e){return e.visitTablespaceNameCreate?e.visitTablespaceNameCreate(this):e.visitChildren(this)}}class Xi extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_tablespaceName}enterRule(e){e.enterTablespaceName&&e.enterTablespaceName(this)}exitRule(e){e.exitTablespaceName&&e.exitTablespaceName(this)}accept(e){return e.visitTablespaceName?e.visitTablespaceName(this):e.visitChildren(this)}}class kW extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_partitionNameCreate}enterRule(e){e.enterPartitionNameCreate&&e.enterPartitionNameCreate(this)}exitRule(e){e.exitPartitionNameCreate&&e.exitPartitionNameCreate(this)}accept(e){return e.visitPartitionNameCreate?e.visitPartitionNameCreate(this):e.visitChildren(this)}}class gt extends W{constructor(e,i){super(e,i)}partitionName(e){return e===void 0?this.getRuleContexts(L0):this.getRuleContext(e,L0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionNames}enterRule(e){e.enterPartitionNames&&e.enterPartitionNames(this)}exitRule(e){e.exitPartitionNames&&e.exitPartitionNames(this)}accept(e){return e.visitPartitionNames?e.visitPartitionNames(this):e.visitChildren(this)}}class L0 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_partitionName}enterRule(e){e.enterPartitionName&&e.enterPartitionName(this)}exitRule(e){e.exitPartitionName&&e.exitPartitionName(this)}accept(e){return e.visitPartitionName?e.visitPartitionName(this):e.visitChildren(this)}}class X7 extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}expression(){return this.getRuleContext(0,k)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,H)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_indexColumnName}enterRule(e){e.enterIndexColumnName&&e.enterIndexColumnName(this)}exitRule(e){e.exitIndexColumnName&&e.exitIndexColumnName(this)}accept(e){return e.visitIndexColumnName?e.visitIndexColumnName(this):e.visitChildren(this)}}class R4 extends W{constructor(e,i){super(e,i)}userAtHost(){return this.getRuleContext(0,T4)}COLON_SYMB(){return this.getToken(t.COLON_SYMB,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_userHostPort}enterRule(e){e.enterUserHostPort&&e.enterUserHostPort(this)}exitRule(e){e.exitUserHostPort&&e.exitUserHostPort(this)}accept(e){return e.visitUserHostPort?e.visitUserHostPort(this):e.visitChildren(this)}}class T4 extends W{constructor(e,i){super(e,i)}simpleUserName(){return this.getRuleContext(0,jh)}HOST_IP_ADDRESS(){return this.getToken(t.HOST_IP_ADDRESS,0)}get ruleIndex(){return t.RULE_userAtHost}enterRule(e){e.enterUserAtHost&&e.enterUserAtHost(this)}exitRule(e){e.exitUserAtHost&&e.exitUserAtHost(this)}accept(e){return e.visitUserAtHost?e.visitUserAtHost(this):e.visitChildren(this)}}class jh extends W{constructor(e,i){super(e,i)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}ID(){return this.getToken(t.ID,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}keywordsCanBeId(){return this.getRuleContext(0,W3)}get ruleIndex(){return t.RULE_simpleUserName}enterRule(e){e.enterSimpleUserName&&e.enterSimpleUserName(this)}exitRule(e){e.exitSimpleUserName&&e.exitSimpleUserName(this)}accept(e){return e.visitSimpleUserName?e.visitSimpleUserName(this):e.visitChildren(this)}}class _4 extends W{constructor(e,i){super(e,i)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}HOST_IP_ADDRESS(){return this.getToken(t.HOST_IP_ADDRESS,0)}AT_SIGN(){return this.getToken(t.AT_SIGN,0)}get ruleIndex(){return t.RULE_hostName}enterRule(e){e.enterHostName&&e.enterHostName(this)}exitRule(e){e.exitHostName&&e.exitHostName(this)}accept(e){return e.visitHostName?e.visitHostName(this):e.visitChildren(this)}}class _t extends W{constructor(e,i){super(e,i)}simpleUserName(){return this.getRuleContext(0,jh)}hostName(){return this.getRuleContext(0,_4)}currentUserExpression(){return this.getRuleContext(0,p7)}get ruleIndex(){return t.RULE_userName}enterRule(e){e.enterUserName&&e.enterUserName(this)}exitRule(e){e.exitUserName&&e.exitUserName(this)}accept(e){return e.visitUserName?e.visitUserName(this):e.visitChildren(this)}}class Q7 extends W{constructor(e,i){super(e,i)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}GLOBAL_ID(){return this.getToken(t.GLOBAL_ID,0)}get ruleIndex(){return t.RULE_mysqlVariable}enterRule(e){e.enterMysqlVariable&&e.enterMysqlVariable(this)}exitRule(e){e.exitMysqlVariable&&e.exitMysqlVariable(this)}accept(e){return e.visitMysqlVariable?e.visitMysqlVariable(this):e.visitChildren(this)}}class Ft extends W{constructor(e,i){super(e,i)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}charsetNameBase(){return this.getRuleContext(0,E3)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}CHARSET_REVERSE_QOUTE_STRING(){return this.getToken(t.CHARSET_REVERSE_QOUTE_STRING,0)}get ruleIndex(){return t.RULE_charsetName}enterRule(e){e.enterCharsetName&&e.enterCharsetName(this)}exitRule(e){e.exitCharsetName&&e.exitCharsetName(this)}accept(e){return e.visitCharsetName?e.visitCharsetName(this):e.visitChildren(this)}}class Ce extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_collationName}enterRule(e){e.enterCollationName&&e.enterCollationName(this)}exitRule(e){e.exitCollationName&&e.exitCollationName(this)}accept(e){return e.visitCollationName?e.visitCollationName(this):e.visitChildren(this)}}class Ne extends W{constructor(e,i){super(e,i)}engineNameBase(){return this.getRuleContext(0,$h)}ID(){return this.getToken(t.ID,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_engineName}enterRule(e){e.enterEngineName&&e.enterEngineName(this)}exitRule(e){e.exitEngineName&&e.exitEngineName(this)}accept(e){return e.visitEngineName?e.visitEngineName(this):e.visitChildren(this)}}class $h extends W{constructor(e,i){super(e,i)}KW_ARCHIVE(){return this.getToken(t.KW_ARCHIVE,0)}KW_BLACKHOLE(){return this.getToken(t.KW_BLACKHOLE,0)}KW_CONNECT(){return this.getToken(t.KW_CONNECT,0)}KW_CSV(){return this.getToken(t.KW_CSV,0)}KW_FEDERATED(){return this.getToken(t.KW_FEDERATED,0)}KW_INNODB(){return this.getToken(t.KW_INNODB,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_MRG_MYISAM(){return this.getToken(t.KW_MRG_MYISAM,0)}KW_MYISAM(){return this.getToken(t.KW_MYISAM,0)}KW_NDB(){return this.getToken(t.KW_NDB,0)}KW_NDBCLUSTER(){return this.getToken(t.KW_NDBCLUSTER,0)}KW_PERFORMANCE_SCHEMA(){return this.getToken(t.KW_PERFORMANCE_SCHEMA,0)}KW_TOKUDB(){return this.getToken(t.KW_TOKUDB,0)}get ruleIndex(){return t.RULE_engineNameBase}enterRule(e){e.enterEngineNameBase&&e.enterEngineNameBase(this)}exitRule(e){e.exitEngineNameBase&&e.exitEngineNameBase(this)}accept(e){return e.visitEngineNameBase?e.visitEngineNameBase(this):e.visitChildren(this)}}class Mh extends W{constructor(e,i){super(e,i)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}MINUS(e){return e===void 0?this.getTokens(t.MINUS):this.getToken(t.MINUS,e)}COLON_SYMB(e){return e===void 0?this.getTokens(t.COLON_SYMB):this.getToken(t.COLON_SYMB,e)}get ruleIndex(){return t.RULE_uuidSet}enterRule(e){e.enterUuidSet&&e.enterUuidSet(this)}exitRule(e){e.exitUuidSet&&e.exitUuidSet(this)}accept(e){return e.visitUuidSet?e.visitUuidSet(this):e.visitChildren(this)}}class h1 extends W{constructor(e,i){super(e,i)}xuidStringId(e){return e===void 0?this.getRuleContexts(Ph):this.getRuleContext(e,Ph)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_xid}enterRule(e){e.enterXid&&e.enterXid(this)}exitRule(e){e.exitXid&&e.exitXid(this)}accept(e){return e.visitXid?e.visitXid(this):e.visitChildren(this)}}class Ph extends W{constructor(e,i){super(e,i)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}BIT_STRING(){return this.getToken(t.BIT_STRING,0)}HEXADECIMAL_LITERAL(e){return e===void 0?this.getTokens(t.HEXADECIMAL_LITERAL):this.getToken(t.HEXADECIMAL_LITERAL,e)}get ruleIndex(){return t.RULE_xuidStringId}enterRule(e){e.enterXuidStringId&&e.enterXuidStringId(this)}exitRule(e){e.exitXuidStringId&&e.exitXuidStringId(this)}accept(e){return e.visitXuidStringId?e.visitXuidStringId(this):e.visitChildren(this)}}class at extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}dottedId(){return this.getRuleContext(0,a1)}get ruleIndex(){return t.RULE_fullId}enterRule(e){e.enterFullId&&e.enterFullId(this)}exitRule(e){e.exitFullId&&e.exitFullId(this)}accept(e){return e.visitFullId?e.visitFullId(this):e.visitChildren(this)}}class yh extends W{constructor(e,i){super(e,i)}uid(e){return e===void 0?this.getRuleContexts(d):this.getRuleContext(e,d)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_uidList}enterRule(e){e.enterUidList&&e.enterUidList(this)}exitRule(e){e.exitUidList&&e.exitUidList(this)}accept(e){return e.visitUidList?e.visitUidList(this):e.visitChildren(this)}}class d extends W{constructor(e,i){super(e,i)}simpleId(){return this.getRuleContext(0,Z7)}CHARSET_REVERSE_QOUTE_STRING(){return this.getToken(t.CHARSET_REVERSE_QOUTE_STRING,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}get ruleIndex(){return t.RULE_uid}enterRule(e){e.enterUid&&e.enterUid(this)}exitRule(e){e.exitUid&&e.exitUid(this)}accept(e){return e.visitUid?e.visitUid(this):e.visitChildren(this)}}class Z7 extends W{constructor(e,i){super(e,i)}ID(){return this.getToken(t.ID,0)}charsetNameBase(){return this.getRuleContext(0,E3)}transactionLevelBase(){return this.getRuleContext(0,G4)}engineNameBase(){return this.getRuleContext(0,$h)}privilegesBase(){return this.getRuleContext(0,b4)}intervalTypeBase(){return this.getRuleContext(0,K3)}dataTypeBase(){return this.getRuleContext(0,w4)}keywordsCanBeId(){return this.getRuleContext(0,W3)}scalarFunctionName(){return this.getRuleContext(0,c3)}get ruleIndex(){return t.RULE_simpleId}enterRule(e){e.enterSimpleId&&e.enterSimpleId(this)}exitRule(e){e.exitSimpleId&&e.exitSimpleId(this)}accept(e){return e.visitSimpleId?e.visitSimpleId(this):e.visitChildren(this)}}class a1 extends W{constructor(e,i){super(e,i)}DOT(){return this.getToken(t.DOT,0)}ID(){return this.getToken(t.ID,0)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_dottedId}enterRule(e){e.enterDottedId&&e.enterDottedId(this)}exitRule(e){e.exitDottedId&&e.exitDottedId(this)}accept(e){return e.visitDottedId?e.visitDottedId(this):e.visitChildren(this)}}class H extends W{constructor(e,i){super(e,i)}DECIMAL_LITERAL(){return this.getToken(t.DECIMAL_LITERAL,0)}ZERO_DECIMAL(){return this.getToken(t.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(t.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(t.TWO_DECIMAL,0)}THREE_DECIMAL(){return this.getToken(t.THREE_DECIMAL,0)}REAL_LITERAL(){return this.getToken(t.REAL_LITERAL,0)}get ruleIndex(){return t.RULE_decimalLiteral}enterRule(e){e.enterDecimalLiteral&&e.enterDecimalLiteral(this)}exitRule(e){e.exitDecimalLiteral&&e.exitDecimalLiteral(this)}accept(e){return e.visitDecimalLiteral?e.visitDecimalLiteral(this):e.visitChildren(this)}}class re extends W{constructor(e,i){super(e,i)}FILESIZE_LITERAL(){return this.getToken(t.FILESIZE_LITERAL,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_fileSizeLiteral}enterRule(e){e.enterFileSizeLiteral&&e.enterFileSizeLiteral(this)}exitRule(e){e.exitFileSizeLiteral&&e.exitFileSizeLiteral(this)}accept(e){return e.visitFileSizeLiteral?e.visitFileSizeLiteral(this):e.visitChildren(this)}}class Gt extends W{constructor(e,i){super(e,i)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}START_NATIONAL_STRING_LITERAL(){return this.getToken(t.START_NATIONAL_STRING_LITERAL,0)}STRING_CHARSET_NAME(){return this.getToken(t.STRING_CHARSET_NAME,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}get ruleIndex(){return t.RULE_stringLiteral}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}}class A4 extends W{constructor(e,i){super(e,i)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}get ruleIndex(){return t.RULE_booleanLiteral}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}}class I4 extends W{constructor(e,i){super(e,i)}HEXADECIMAL_LITERAL(){return this.getToken(t.HEXADECIMAL_LITERAL,0)}STRING_CHARSET_NAME(){return this.getToken(t.STRING_CHARSET_NAME,0)}get ruleIndex(){return t.RULE_hexadecimalLiteral}enterRule(e){e.enterHexadecimalLiteral&&e.enterHexadecimalLiteral(this)}exitRule(e){e.exitHexadecimalLiteral&&e.exitHexadecimalLiteral(this)}accept(e){return e.visitHexadecimalLiteral?e.visitHexadecimalLiteral(this):e.visitChildren(this)}}class qh extends W{constructor(e,i){super(e,i)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}NULL_SPEC_LITERAL(){return this.getToken(t.NULL_SPEC_LITERAL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_nullNotnull}enterRule(e){e.enterNullNotnull&&e.enterNullNotnull(this)}exitRule(e){e.exitNullNotnull&&e.exitNullNotnull(this)}accept(e){return e.visitNullNotnull?e.visitNullNotnull(this):e.visitChildren(this)}}class O0 extends W{constructor(e,i){super(e,i)}stringLiteral(){return this.getRuleContext(0,Gt)}decimalLiteral(){return this.getRuleContext(0,H)}MINUS(){return this.getToken(t.MINUS,0)}hexadecimalLiteral(){return this.getRuleContext(0,I4)}booleanLiteral(){return this.getRuleContext(0,A4)}REAL_LITERAL(){return this.getToken(t.REAL_LITERAL,0)}BIT_STRING(){return this.getToken(t.BIT_STRING,0)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}NULL_SPEC_LITERAL(){return this.getToken(t.NULL_SPEC_LITERAL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_constant}enterRule(e){e.enterConstant&&e.enterConstant(this)}exitRule(e){e.exitConstant&&e.exitConstant(this)}accept(e){return e.visitConstant?e.visitConstant(this):e.visitChildren(this)}}class bt extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_dataType}copyFrom(e){super.copyFrom(e)}}class SW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_GEOMETRYCOLLECTION(){return this.getToken(t.KW_GEOMETRYCOLLECTION,0)}KW_GEOMCOLLECTION(){return this.getToken(t.KW_GEOMCOLLECTION,0)}KW_LINESTRING(){return this.getToken(t.KW_LINESTRING,0)}KW_MULTILINESTRING(){return this.getToken(t.KW_MULTILINESTRING,0)}KW_MULTIPOINT(){return this.getToken(t.KW_MULTIPOINT,0)}KW_MULTIPOLYGON(){return this.getToken(t.KW_MULTIPOLYGON,0)}KW_POINT(){return this.getToken(t.KW_POINT,0)}KW_POLYGON(){return this.getToken(t.KW_POLYGON,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_GEOMETRY(){return this.getToken(t.KW_GEOMETRY,0)}KW_SRID(){return this.getToken(t.KW_SRID,0)}decimalLiteral(){return this.getRuleContext(0,H)}enterRule(e){e.enterSpatialDataType&&e.enterSpatialDataType(this)}exitRule(e){e.exitSpatialDataType&&e.exitSpatialDataType(this)}accept(e){return e.visitSpatialDataType?e.visitSpatialDataType(this):e.visitChildren(this)}}class HW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LONG(){return this.getToken(t.KW_LONG,0)}KW_VARBINARY(){return this.getToken(t.KW_VARBINARY,0)}enterRule(e){e.enterLongVarbinaryDataType&&e.enterLongVarbinaryDataType(this)}exitRule(e){e.exitLongVarbinaryDataType&&e.exitLongVarbinaryDataType(this)}accept(e){return e.visitLongVarbinaryDataType?e.visitLongVarbinaryDataType(this):e.visitChildren(this)}}class BW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}collectionOptions(){return this.getRuleContext(0,O4)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}enterRule(e){e.enterCollectionDataType&&e.enterCollectionDataType(this)}exitRule(e){e.exitCollectionDataType&&e.exitCollectionDataType(this)}accept(e){return e.visitCollectionDataType?e.visitCollectionDataType(this):e.visitChildren(this)}}class FW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}lengthOneDimension(){return this.getRuleContext(0,G1)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}enterRule(e){e.enterNationalVaryingStringDataType&&e.enterNationalVaryingStringDataType(this)}exitRule(e){e.exitNationalVaryingStringDataType&&e.exitNationalVaryingStringDataType(this)}accept(e){return e.visitNationalVaryingStringDataType?e.visitNationalVaryingStringDataType(this):e.visitChildren(this)}}class Qi extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TINYINT(){return this.getToken(t.KW_TINYINT,0)}KW_SMALLINT(){return this.getToken(t.KW_SMALLINT,0)}KW_MEDIUMINT(){return this.getToken(t.KW_MEDIUMINT,0)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(t.KW_BIGINT,0)}KW_MIDDLEINT(){return this.getToken(t.KW_MIDDLEINT,0)}KW_INT1(){return this.getToken(t.KW_INT1,0)}KW_INT2(){return this.getToken(t.KW_INT2,0)}KW_INT3(){return this.getToken(t.KW_INT3,0)}KW_INT4(){return this.getToken(t.KW_INT4,0)}KW_INT8(){return this.getToken(t.KW_INT8,0)}lengthOneDimension(){return this.getRuleContext(0,G1)}KW_SIGNED(e){return e===void 0?this.getTokens(t.KW_SIGNED):this.getToken(t.KW_SIGNED,e)}KW_UNSIGNED(e){return e===void 0?this.getTokens(t.KW_UNSIGNED):this.getToken(t.KW_UNSIGNED,e)}KW_ZEROFILL(e){return e===void 0?this.getTokens(t.KW_ZEROFILL):this.getToken(t.KW_ZEROFILL,e)}KW_REAL(){return this.getToken(t.KW_REAL,0)}lengthTwoDimension(){return this.getRuleContext(0,C4)}KW_DOUBLE(){return this.getToken(t.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(t.KW_PRECISION,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_NUMERIC(){return this.getToken(t.KW_NUMERIC,0)}KW_FLOAT(){return this.getToken(t.KW_FLOAT,0)}KW_FLOAT4(){return this.getToken(t.KW_FLOAT4,0)}KW_FLOAT8(){return this.getToken(t.KW_FLOAT8,0)}lengthTwoOptionalDimension(){return this.getRuleContext(0,t3)}KW_BIT(){return this.getToken(t.KW_BIT,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_VARBINARY(){return this.getToken(t.KW_VARBINARY,0)}KW_BLOB(){return this.getToken(t.KW_BLOB,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}enterRule(e){e.enterDimensionDataType&&e.enterDimensionDataType(this)}exitRule(e){e.exitDimensionDataType&&e.exitDimensionDataType(this)}accept(e){return e.visitDimensionDataType?e.visitDimensionDataType(this):e.visitChildren(this)}}class GW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_TINYTEXT(){return this.getToken(t.KW_TINYTEXT,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_MEDIUMTEXT(){return this.getToken(t.KW_MEDIUMTEXT,0)}KW_LONGTEXT(){return this.getToken(t.KW_LONGTEXT,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_NVARCHAR(){return this.getToken(t.KW_NVARCHAR,0)}KW_LONG(){return this.getToken(t.KW_LONG,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}lengthOneDimension(){return this.getRuleContext(0,G1)}KW_BINARY(e){return e===void 0?this.getTokens(t.KW_BINARY):this.getToken(t.KW_BINARY,e)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterStringDataType&&e.enterStringDataType(this)}exitRule(e){e.exitStringDataType&&e.exitStringDataType(this)}accept(e){return e.visitStringDataType?e.visitStringDataType(this):e.visitChildren(this)}}class bW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LONG(){return this.getToken(t.KW_LONG,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterLongVarcharDataType&&e.enterLongVarcharDataType(this)}exitRule(e){e.exitLongVarcharDataType&&e.exitLongVarcharDataType(this)}accept(e){return e.visitLongVarcharDataType?e.visitLongVarcharDataType(this):e.visitChildren(this)}}class L4 extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}lengthOneDimension(){return this.getRuleContext(0,G1)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}enterRule(e){e.enterNationalStringDataType&&e.enterNationalStringDataType(this)}exitRule(e){e.exitNationalStringDataType&&e.exitNationalStringDataType(this)}accept(e){return e.visitNationalStringDataType?e.visitNationalStringDataType(this):e.visitChildren(this)}}class wW extends bt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_TINYBLOB(){return this.getToken(t.KW_TINYBLOB,0)}KW_MEDIUMBLOB(){return this.getToken(t.KW_MEDIUMBLOB,0)}KW_LONGBLOB(){return this.getToken(t.KW_LONGBLOB,0)}KW_BOOL(){return this.getToken(t.KW_BOOL,0)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}KW_SERIAL(){return this.getToken(t.KW_SERIAL,0)}enterRule(e){e.enterSimpleDataType&&e.enterSimpleDataType(this)}exitRule(e){e.exitSimpleDataType&&e.exitSimpleDataType(this)}accept(e){return e.visitSimpleDataType?e.visitSimpleDataType(this):e.visitChildren(this)}}class O4 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_collectionOptions}enterRule(e){e.enterCollectionOptions&&e.enterCollectionOptions(this)}exitRule(e){e.exitCollectionOptions&&e.exitCollectionOptions(this)}accept(e){return e.visitCollectionOptions?e.visitCollectionOptions(this):e.visitChildren(this)}}class J7 extends W{constructor(e,i){super(e,i)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_SIGNED(){return this.getToken(t.KW_SIGNED,0)}KW_UNSIGNED(){return this.getToken(t.KW_UNSIGNED,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}lengthOneDimension(){return this.getRuleContext(0,G1)}charSet(){return this.getRuleContext(0,u0)}charsetName(){return this.getRuleContext(0,Ft)}lengthTwoOptionalDimension(){return this.getRuleContext(0,t3)}get ruleIndex(){return t.RULE_convertedDataType}enterRule(e){e.enterConvertedDataType&&e.enterConvertedDataType(this)}exitRule(e){e.exitConvertedDataType&&e.exitConvertedDataType(this)}accept(e){return e.visitConvertedDataType?e.visitConvertedDataType(this):e.visitChildren(this)}}class G1 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,H)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_lengthOneDimension}enterRule(e){e.enterLengthOneDimension&&e.enterLengthOneDimension(this)}exitRule(e){e.exitLengthOneDimension&&e.exitLengthOneDimension(this)}accept(e){return e.visitLengthOneDimension?e.visitLengthOneDimension(this):e.visitChildren(this)}}class C4 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}COMMA(){return this.getToken(t.COMMA,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}get ruleIndex(){return t.RULE_lengthTwoDimension}enterRule(e){e.enterLengthTwoDimension&&e.enterLengthTwoDimension(this)}exitRule(e){e.exitLengthTwoDimension&&e.exitLengthTwoDimension(this)}accept(e){return e.visitLengthTwoDimension?e.visitLengthTwoDimension(this):e.visitChildren(this)}}class t3 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_lengthTwoOptionalDimension}enterRule(e){e.enterLengthTwoOptionalDimension&&e.enterLengthTwoOptionalDimension(this)}exitRule(e){e.exitLengthTwoOptionalDimension&&e.exitLengthTwoOptionalDimension(this)}accept(e){return e.visitLengthTwoOptionalDimension?e.visitLengthTwoOptionalDimension(this):e.visitChildren(this)}}class $e extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}indexColumnName(e){return e===void 0?this.getRuleContexts(X7):this.getRuleContext(e,X7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_indexColumnNames}enterRule(e){e.enterIndexColumnNames&&e.enterIndexColumnNames(this)}exitRule(e){e.exitIndexColumnNames&&e.exitIndexColumnNames(this)}accept(e){return e.visitIndexColumnNames?e.visitIndexColumnNames(this):e.visitChildren(this)}}class z7 extends W{constructor(e,i){super(e,i)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_expressions}enterRule(e){e.enterExpressions&&e.enterExpressions(this)}exitRule(e){e.exitExpressions&&e.exitExpressions(this)}accept(e){return e.visitExpressions?e.visitExpressions(this):e.visitChildren(this)}}class e3 extends W{constructor(e,i){super(e,i)}expressionsWithDefaults(e){return e===void 0?this.getRuleContexts(Zi):this.getRuleContext(e,Zi)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_valuesOrValueList}enterRule(e){e.enterValuesOrValueList&&e.enterValuesOrValueList(this)}exitRule(e){e.exitValuesOrValueList&&e.exitValuesOrValueList(this)}accept(e){return e.visitValuesOrValueList?e.visitValuesOrValueList(this):e.visitChildren(this)}}class Zi extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expressionOrDefault(e){return e===void 0?this.getRuleContexts(j7):this.getRuleContext(e,j7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_expressionsWithDefaults}enterRule(e){e.enterExpressionsWithDefaults&&e.enterExpressionsWithDefaults(this)}exitRule(e){e.exitExpressionsWithDefaults&&e.exitExpressionsWithDefaults(this)}accept(e){return e.visitExpressionsWithDefaults?e.visitExpressionsWithDefaults(this):e.visitChildren(this)}}class j7 extends W{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,k)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_expressionOrDefault}enterRule(e){e.enterExpressionOrDefault&&e.enterExpressionOrDefault(this)}exitRule(e){e.exitExpressionOrDefault&&e.exitExpressionOrDefault(this)}accept(e){return e.visitExpressionOrDefault?e.visitExpressionOrDefault(this):e.visitChildren(this)}}class i3 extends W{constructor(e,i){super(e,i)}constant(e){return e===void 0?this.getRuleContexts(O0):this.getRuleContext(e,O0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_constants}enterRule(e){e.enterConstants&&e.enterConstants(this)}exitRule(e){e.exitConstants&&e.exitConstants(this)}accept(e){return e.visitConstants?e.visitConstants(this):e.visitChildren(this)}}class s3 extends W{constructor(e,i){super(e,i)}STRING_LITERAL(e){return e===void 0?this.getTokens(t.STRING_LITERAL):this.getToken(t.STRING_LITERAL,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_simpleStrings}enterRule(e){e.enterSimpleStrings&&e.enterSimpleStrings(this)}exitRule(e){e.exitSimpleStrings&&e.exitSimpleStrings(this)}accept(e){return e.visitSimpleStrings?e.visitSimpleStrings(this):e.visitChildren(this)}}class N4 extends W{constructor(e,i){super(e,i)}LOCAL_ID(e){return e===void 0?this.getTokens(t.LOCAL_ID):this.getToken(t.LOCAL_ID,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_userVariables}enterRule(e){e.enterUserVariables&&e.enterUserVariables(this)}exitRule(e){e.exitUserVariables&&e.exitUserVariables(this)}accept(e){return e.visitUserVariables?e.visitUserVariables(this):e.visitChildren(this)}}class Ji extends W{constructor(e,i){super(e,i)}KW_NULL_LITERAL(){return this.getToken(t.KW_NULL_LITERAL,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}KW_AS(){return this.getToken(t.KW_AS,0)}convertedDataType(){return this.getRuleContext(0,J7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}constant(){return this.getRuleContext(0,O0)}unaryOperator(){return this.getRuleContext(0,o3)}currentTimestamp(e){return e===void 0?this.getRuleContexts($7):this.getRuleContext(e,$7)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}fullId(){return this.getRuleContext(0,at)}get ruleIndex(){return t.RULE_defaultValue}enterRule(e){e.enterDefaultValue&&e.enterDefaultValue(this)}exitRule(e){e.exitDefaultValue&&e.exitDefaultValue(this)}accept(e){return e.visitDefaultValue?e.visitDefaultValue(this):e.visitChildren(this)}}class $7 extends W{constructor(e,i){super(e,i)}KW_NOW(){return this.getToken(t.KW_NOW,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}decimalLiteral(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_currentTimestamp}enterRule(e){e.enterCurrentTimestamp&&e.enterCurrentTimestamp(this)}exitRule(e){e.exitCurrentTimestamp&&e.exitCurrentTimestamp(this)}accept(e){return e.visitCurrentTimestamp?e.visitCurrentTimestamp(this):e.visitChildren(this)}}class kt extends W{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_ifExists}enterRule(e){e.enterIfExists&&e.enterIfExists(this)}exitRule(e){e.exitIfExists&&e.exitIfExists(this)}accept(e){return e.visitIfExists?e.visitIfExists(this):e.visitChildren(this)}}class Mt extends W{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_ifNotExists}enterRule(e){e.enterIfNotExists&&e.enterIfNotExists(this)}exitRule(e){e.exitIfNotExists&&e.exitIfNotExists(this)}accept(e){return e.visitIfNotExists?e.visitIfNotExists(this):e.visitChildren(this)}}class d4 extends W{constructor(e,i){super(e,i)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}get ruleIndex(){return t.RULE_orReplace}enterRule(e){e.enterOrReplace&&e.enterOrReplace(this)}exitRule(e){e.exitOrReplace&&e.exitOrReplace(this)}accept(e){return e.visitOrReplace?e.visitOrReplace(this):e.visitChildren(this)}}class Ge extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_functionCall}copyFrom(e){super.copyFrom(e)}}class vW extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}specificFunction(){return this.getRuleContext(0,wt)}enterRule(e){e.enterSpecificFunctionCall&&e.enterSpecificFunctionCall(this)}exitRule(e){e.exitSpecificFunctionCall&&e.exitSpecificFunctionCall(this)}accept(e){return e.visitSpecificFunctionCall?e.visitSpecificFunctionCall(this):e.visitChildren(this)}}class YW extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}passwordFunctionClause(){return this.getRuleContext(0,q7)}enterRule(e){e.enterPasswordFunctionCall&&e.enterPasswordFunctionCall(this)}exitRule(e){e.exitPasswordFunctionCall&&e.exitPasswordFunctionCall(this)}accept(e){return e.visitPasswordFunctionCall?e.visitPasswordFunctionCall(this):e.visitChildren(this)}}class VW extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}functionName(){return this.getRuleContext(0,H1)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,$i)}enterRule(e){e.enterUdfFunctionCall&&e.enterUdfFunctionCall(this)}exitRule(e){e.exitUdfFunctionCall&&e.exitUdfFunctionCall(this)}accept(e){return e.visitUdfFunctionCall?e.visitUdfFunctionCall(this):e.visitChildren(this)}}class XW extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}nonAggregateWindowedFunction(){return this.getRuleContext(0,p4)}enterRule(e){e.enterNonAggregateFunctionCall&&e.enterNonAggregateFunctionCall(this)}exitRule(e){e.exitNonAggregateFunctionCall&&e.exitNonAggregateFunctionCall(this)}accept(e){return e.visitNonAggregateFunctionCall?e.visitNonAggregateFunctionCall(this):e.visitChildren(this)}}class QW extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}aggregateWindowedFunction(){return this.getRuleContext(0,m4)}enterRule(e){e.enterAggregateFunctionCall&&e.enterAggregateFunctionCall(this)}exitRule(e){e.exitAggregateFunctionCall&&e.exitAggregateFunctionCall(this)}accept(e){return e.visitAggregateFunctionCall?e.visitAggregateFunctionCall(this):e.visitChildren(this)}}class ZW extends Ge{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}scalarFunctionName(){return this.getRuleContext(0,c3)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,$i)}enterRule(e){e.enterScalarFunctionCall&&e.enterScalarFunctionCall(this)}exitRule(e){e.exitScalarFunctionCall&&e.exitScalarFunctionCall(this)}accept(e){return e.visitScalarFunctionCall?e.visitScalarFunctionCall(this):e.visitChildren(this)}}class wt extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_specificFunction}copyFrom(e){super.copyFrom(e)}}class JW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}KW_IN(){return this.getToken(t.KW_IN,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}stringLiteral(e){return e===void 0?this.getRuleContexts(Gt):this.getRuleContext(e,Gt)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}enterRule(e){e.enterPositionFunctionCall&&e.enterPositionFunctionCall(this)}exitRule(e){e.exitPositionFunctionCall&&e.exitPositionFunctionCall(this)}accept(e){return e.visitPositionFunctionCall?e.visitPositionFunctionCall(this):e.visitChildren(this)}}class l4 extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_BOTH(){return this.getToken(t.KW_BOTH,0)}KW_LEADING(){return this.getToken(t.KW_LEADING,0)}KW_TRAILING(){return this.getToken(t.KW_TRAILING,0)}stringLiteral(e){return e===void 0?this.getRuleContexts(Gt):this.getRuleContext(e,Gt)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}enterRule(e){e.enterTrimFunctionCall&&e.enterTrimFunctionCall(this)}exitRule(e){e.exitTrimFunctionCall&&e.exitTrimFunctionCall(this)}accept(e){return e.visitTrimFunctionCall?e.visitTrimFunctionCall(this):e.visitChildren(this)}}class zW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_JSON_VALUE(){return this.getToken(t.KW_JSON_VALUE,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}COMMA(){return this.getToken(t.COMMA,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}convertedDataType(){return this.getRuleContext(0,J7)}jsonOnEmpty(){return this.getRuleContext(0,Ah)}jsonOnError(){return this.getRuleContext(0,Ih)}enterRule(e){e.enterJsonValueFunctionCall&&e.enterJsonValueFunctionCall(this)}exitRule(e){e.exitJsonValueFunctionCall&&e.exitJsonValueFunctionCall(this)}accept(e){return e.visitJsonValueFunctionCall?e.visitJsonValueFunctionCall(this):e.visitChildren(this)}}class jW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CASE(){return this.getToken(t.KW_CASE,0)}KW_END(){return this.getToken(t.KW_END,0)}caseFuncAlternative(e){return e===void 0?this.getRuleContexts(zi):this.getRuleContext(e,zi)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}functionArg(){return this.getRuleContext(0,Me)}enterRule(e){e.enterCaseFunctionCall&&e.enterCaseFunctionCall(this)}exitRule(e){e.exitCaseFunctionCall&&e.exitCaseFunctionCall(this)}accept(e){return e.visitCaseFunctionCall?e.visitCaseFunctionCall(this):e.visitChildren(this)}}class $W extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXTRACT(){return this.getToken(t.KW_EXTRACT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}intervalType(){return this.getRuleContext(0,Ci)}KW_FROM(){return this.getToken(t.KW_FROM,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}stringLiteral(){return this.getRuleContext(0,Gt)}expression(){return this.getRuleContext(0,k)}enterRule(e){e.enterExtractFunctionCall&&e.enterExtractFunctionCall(this)}exitRule(e){e.exitExtractFunctionCall&&e.exitExtractFunctionCall(this)}accept(e){return e.visitExtractFunctionCall?e.visitExtractFunctionCall(this):e.visitChildren(this)}}class n3 extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CONVERT(){return this.getToken(t.KW_CONVERT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}convertedDataType(){return this.getRuleContext(0,J7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_USING(){return this.getToken(t.KW_USING,0)}charsetName(){return this.getRuleContext(0,Ft)}KW_CAST(){return this.getToken(t.KW_CAST,0)}KW_AS(){return this.getToken(t.KW_AS,0)}enterRule(e){e.enterDataTypeFunctionCall&&e.enterDataTypeFunctionCall(this)}exitRule(e){e.exitDataTypeFunctionCall&&e.exitDataTypeFunctionCall(this)}accept(e){return e.visitDataTypeFunctionCall?e.visitDataTypeFunctionCall(this):e.visitChildren(this)}}class MW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}columnName(){return this.getRuleContext(0,At)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterValuesFunctionCall&&e.enterValuesFunctionCall(this)}exitRule(e){e.exitValuesFunctionCall&&e.exitValuesFunctionCall(this)}accept(e){return e.visitValuesFunctionCall?e.visitValuesFunctionCall(this):e.visitChildren(this)}}class PW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CASE(){return this.getToken(t.KW_CASE,0)}expression(){return this.getRuleContext(0,k)}KW_END(){return this.getToken(t.KW_END,0)}caseFuncAlternative(e){return e===void 0?this.getRuleContexts(zi):this.getRuleContext(e,zi)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}functionArg(){return this.getRuleContext(0,Me)}enterRule(e){e.enterCaseExpressionFunctionCall&&e.enterCaseExpressionFunctionCall(this)}exitRule(e){e.exitCaseExpressionFunctionCall&&e.exitCaseExpressionFunctionCall(this)}accept(e){return e.visitCaseExpressionFunctionCall?e.visitCaseExpressionFunctionCall(this):e.visitChildren(this)}}class yW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}currentUserExpression(){return this.getRuleContext(0,p7)}enterRule(e){e.enterCurrentUser&&e.enterCurrentUser(this)}exitRule(e){e.exitCurrentUser&&e.exitCurrentUser(this)}accept(e){return e.visitCurrentUser?e.visitCurrentUser(this):e.visitChildren(this)}}class qW extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_UTC_TIMESTAMP(){return this.getToken(t.KW_UTC_TIMESTAMP,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterSimpleFunctionCall&&e.enterSimpleFunctionCall(this)}exitRule(e){e.exitSimpleFunctionCall&&e.exitSimpleFunctionCall(this)}accept(e){return e.visitSimpleFunctionCall?e.visitSimpleFunctionCall(this):e.visitChildren(this)}}class tu extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,$i)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_USING(){return this.getToken(t.KW_USING,0)}charsetName(){return this.getRuleContext(0,Ft)}enterRule(e){e.enterCharFunctionCall&&e.enterCharFunctionCall(this)}exitRule(e){e.exitCharFunctionCall&&e.exitCharFunctionCall(this)}accept(e){return e.visitCharFunctionCall?e.visitCharFunctionCall(this):e.visitChildren(this)}}class eu extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_WEIGHT_STRING(){return this.getToken(t.KW_WEIGHT_STRING,0)}LR_BRACKET(e){return e===void 0?this.getTokens(t.LR_BRACKET):this.getToken(t.LR_BRACKET,e)}RR_BRACKET(e){return e===void 0?this.getTokens(t.RR_BRACKET):this.getToken(t.RR_BRACKET,e)}stringLiteral(){return this.getRuleContext(0,Gt)}expression(){return this.getRuleContext(0,k)}KW_AS(){return this.getToken(t.KW_AS,0)}decimalLiteral(){return this.getRuleContext(0,H)}levelsInWeightString(){return this.getRuleContext(0,M7)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}enterRule(e){e.enterWeightFunctionCall&&e.enterWeightFunctionCall(this)}exitRule(e){e.exitWeightFunctionCall&&e.exitWeightFunctionCall(this)}accept(e){return e.visitWeightFunctionCall?e.visitWeightFunctionCall(this):e.visitChildren(this)}}class iu extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_GET_FORMAT(){return this.getToken(t.KW_GET_FORMAT,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}COMMA(){return this.getToken(t.COMMA,0)}stringLiteral(){return this.getRuleContext(0,Gt)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}enterRule(e){e.enterGetFormatFunctionCall&&e.enterGetFormatFunctionCall(this)}exitRule(e){e.exitGetFormatFunctionCall&&e.exitGetFormatFunctionCall(this)}accept(e){return e.visitGetFormatFunctionCall?e.visitGetFormatFunctionCall(this):e.visitChildren(this)}}class su extends wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_SUBSTR(){return this.getToken(t.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}stringLiteral(){return this.getRuleContext(0,Gt)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_FOR(){return this.getToken(t.KW_FOR,0)}enterRule(e){e.enterSubstrFunctionCall&&e.enterSubstrFunctionCall(this)}exitRule(e){e.exitSubstrFunctionCall&&e.exitSubstrFunctionCall(this)}accept(e){return e.visitSubstrFunctionCall?e.visitSubstrFunctionCall(this):e.visitChildren(this)}}class zi extends W{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}functionArg(e){return e===void 0?this.getRuleContexts(Me):this.getRuleContext(e,Me)}get ruleIndex(){return t.RULE_caseFuncAlternative}enterRule(e){e.enterCaseFuncAlternative&&e.enterCaseFuncAlternative(this)}exitRule(e){e.exitCaseFuncAlternative&&e.exitCaseFuncAlternative(this)}accept(e){return e.visitCaseFuncAlternative?e.visitCaseFuncAlternative(this):e.visitChildren(this)}}class M7 extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_levelsInWeightString}copyFrom(e){super.copyFrom(e)}}class nu extends M7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}MINUS(){return this.getToken(t.MINUS,0)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}enterRule(e){e.enterLevelWeightRange&&e.enterLevelWeightRange(this)}exitRule(e){e.exitLevelWeightRange&&e.exitLevelWeightRange(this)}accept(e){return e.visitLevelWeightRange?e.visitLevelWeightRange(this):e.visitChildren(this)}}class hu extends M7{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}levelInWeightListElement(e){return e===void 0?this.getRuleContexts(h3):this.getRuleContext(e,h3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterLevelWeightList&&e.enterLevelWeightList(this)}exitRule(e){e.exitLevelWeightList&&e.exitLevelWeightList(this)}accept(e){return e.visitLevelWeightList?e.visitLevelWeightList(this):e.visitChildren(this)}}class h3 extends W{constructor(e,i){super(e,i)}decimalLiteral(){return this.getRuleContext(0,H)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}get ruleIndex(){return t.RULE_levelInWeightListElement}enterRule(e){e.enterLevelInWeightListElement&&e.enterLevelInWeightListElement(this)}exitRule(e){e.exitLevelInWeightListElement&&e.exitLevelInWeightListElement(this)}accept(e){return e.visitLevelInWeightListElement?e.visitLevelInWeightListElement(this):e.visitChildren(this)}}class m4 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}functionArg(){return this.getRuleContext(0,Me)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_AVG(){return this.getToken(t.KW_AVG,0)}KW_MAX(){return this.getToken(t.KW_MAX,0)}KW_MIN(){return this.getToken(t.KW_MIN,0)}KW_SUM(){return this.getToken(t.KW_SUM,0)}overClause(){return this.getRuleContext(0,a3)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}functionArgs(){return this.getRuleContext(0,$i)}STAR(){return this.getToken(t.STAR,0)}KW_BIT_AND(){return this.getToken(t.KW_BIT_AND,0)}KW_BIT_OR(){return this.getToken(t.KW_BIT_OR,0)}KW_BIT_XOR(){return this.getToken(t.KW_BIT_XOR,0)}KW_STD(){return this.getToken(t.KW_STD,0)}KW_STDDEV(){return this.getToken(t.KW_STDDEV,0)}KW_STDDEV_POP(){return this.getToken(t.KW_STDDEV_POP,0)}KW_STDDEV_SAMP(){return this.getToken(t.KW_STDDEV_SAMP,0)}KW_VAR_POP(){return this.getToken(t.KW_VAR_POP,0)}KW_VAR_SAMP(){return this.getToken(t.KW_VAR_SAMP,0)}KW_VARIANCE(){return this.getToken(t.KW_VARIANCE,0)}KW_GROUP_CONCAT(){return this.getToken(t.KW_GROUP_CONCAT,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}orderByExpression(e){return e===void 0?this.getRuleContexts(mi):this.getRuleContext(e,mi)}KW_SEPARATOR(){return this.getToken(t.KW_SEPARATOR,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_aggregateWindowedFunction}enterRule(e){e.enterAggregateWindowedFunction&&e.enterAggregateWindowedFunction(this)}exitRule(e){e.exitAggregateWindowedFunction&&e.exitAggregateWindowedFunction(this)}accept(e){return e.visitAggregateWindowedFunction?e.visitAggregateWindowedFunction(this):e.visitChildren(this)}}class p4 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(){return this.getRuleContext(0,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}overClause(){return this.getRuleContext(0,a3)}KW_LAG(){return this.getToken(t.KW_LAG,0)}KW_LEAD(){return this.getToken(t.KW_LEAD,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}decimalLiteral(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_FIRST_VALUE(){return this.getToken(t.KW_FIRST_VALUE,0)}KW_LAST_VALUE(){return this.getToken(t.KW_LAST_VALUE,0)}KW_CUME_DIST(){return this.getToken(t.KW_CUME_DIST,0)}KW_DENSE_RANK(){return this.getToken(t.KW_DENSE_RANK,0)}KW_PERCENT_RANK(){return this.getToken(t.KW_PERCENT_RANK,0)}KW_RANK(){return this.getToken(t.KW_RANK,0)}KW_ROW_NUMBER(){return this.getToken(t.KW_ROW_NUMBER,0)}KW_NTH_VALUE(){return this.getToken(t.KW_NTH_VALUE,0)}KW_NTILE(){return this.getToken(t.KW_NTILE,0)}get ruleIndex(){return t.RULE_nonAggregateWindowedFunction}enterRule(e){e.enterNonAggregateWindowedFunction&&e.enterNonAggregateWindowedFunction(this)}exitRule(e){e.exitNonAggregateWindowedFunction&&e.exitNonAggregateWindowedFunction(this)}accept(e){return e.visitNonAggregateWindowedFunction?e.visitNonAggregateWindowedFunction(this):e.visitChildren(this)}}class a3 extends W{constructor(e,i){super(e,i)}KW_OVER(){return this.getToken(t.KW_OVER,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}windowSpec(){return this.getRuleContext(0,P7)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}windowName(){return this.getRuleContext(0,ji)}get ruleIndex(){return t.RULE_overClause}enterRule(e){e.enterOverClause&&e.enterOverClause(this)}exitRule(e){e.exitOverClause&&e.exitOverClause(this)}accept(e){return e.visitOverClause?e.visitOverClause(this):e.visitChildren(this)}}class P7 extends W{constructor(e,i){super(e,i)}windowName(){return this.getRuleContext(0,ji)}partitionClause(){return this.getRuleContext(0,D4)}orderByClause(){return this.getRuleContext(0,ee)}frameClause(){return this.getRuleContext(0,x4)}get ruleIndex(){return t.RULE_windowSpec}enterRule(e){e.enterWindowSpec&&e.enterWindowSpec(this)}exitRule(e){e.exitWindowSpec&&e.exitWindowSpec(this)}accept(e){return e.visitWindowSpec?e.visitWindowSpec(this):e.visitChildren(this)}}class ji extends W{constructor(e,i){super(e,i)}uid(){return this.getRuleContext(0,d)}get ruleIndex(){return t.RULE_windowName}enterRule(e){e.enterWindowName&&e.enterWindowName(this)}exitRule(e){e.exitWindowName&&e.exitWindowName(this)}accept(e){return e.visitWindowName?e.visitWindowName(this):e.visitChildren(this)}}class x4 extends W{constructor(e,i){super(e,i)}frameUnits(){return this.getRuleContext(0,f4)}frameExtent(){return this.getRuleContext(0,g4)}get ruleIndex(){return t.RULE_frameClause}enterRule(e){e.enterFrameClause&&e.enterFrameClause(this)}exitRule(e){e.exitFrameClause&&e.exitFrameClause(this)}accept(e){return e.visitFrameClause?e.visitFrameClause(this):e.visitChildren(this)}}class f4 extends W{constructor(e,i){super(e,i)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}get ruleIndex(){return t.RULE_frameUnits}enterRule(e){e.enterFrameUnits&&e.enterFrameUnits(this)}exitRule(e){e.exitFrameUnits&&e.exitFrameUnits(this)}accept(e){return e.visitFrameUnits?e.visitFrameUnits(this):e.visitChildren(this)}}class g4 extends W{constructor(e,i){super(e,i)}frameRange(){return this.getRuleContext(0,y7)}frameBetween(){return this.getRuleContext(0,U4)}get ruleIndex(){return t.RULE_frameExtent}enterRule(e){e.enterFrameExtent&&e.enterFrameExtent(this)}exitRule(e){e.exitFrameExtent&&e.exitFrameExtent(this)}accept(e){return e.visitFrameExtent?e.visitFrameExtent(this):e.visitChildren(this)}}class U4 extends W{constructor(e,i){super(e,i)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}frameRange(e){return e===void 0?this.getRuleContexts(y7):this.getRuleContext(e,y7)}KW_AND(){return this.getToken(t.KW_AND,0)}get ruleIndex(){return t.RULE_frameBetween}enterRule(e){e.enterFrameBetween&&e.enterFrameBetween(this)}exitRule(e){e.exitFrameBetween&&e.exitFrameBetween(this)}accept(e){return e.visitFrameBetween?e.visitFrameBetween(this):e.visitChildren(this)}}class y7 extends W{constructor(e,i){super(e,i)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(t.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(t.KW_FOLLOWING,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_frameRange}enterRule(e){e.enterFrameRange&&e.enterFrameRange(this)}exitRule(e){e.exitFrameRange&&e.exitFrameRange(this)}accept(e){return e.visitFrameRange?e.visitFrameRange(this):e.visitChildren(this)}}class D4 extends W{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(){return this.getToken(t.KW_BY,0)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionClause}enterRule(e){e.enterPartitionClause&&e.enterPartitionClause(this)}exitRule(e){e.exitPartitionClause&&e.exitPartitionClause(this)}accept(e){return e.visitPartitionClause?e.visitPartitionClause(this):e.visitChildren(this)}}class c3 extends W{constructor(e,i){super(e,i)}functionNameBase(){return this.getRuleContext(0,v4)}KW_ASCII(){return this.getToken(t.KW_ASCII,0)}KW_CURDATE(){return this.getToken(t.KW_CURDATE,0)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_CURTIME(){return this.getToken(t.KW_CURTIME,0)}KW_DATE_ADD(){return this.getToken(t.KW_DATE_ADD,0)}KW_DATE_SUB(){return this.getToken(t.KW_DATE_SUB,0)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}KW_MID(){return this.getToken(t.KW_MID,0)}KW_NOW(){return this.getToken(t.KW_NOW,0)}KW_REPEAT(){return this.getToken(t.KW_REPEAT,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_SUBSTR(){return this.getToken(t.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}KW_SYSDATE(){return this.getToken(t.KW_SYSDATE,0)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}KW_UTC_DATE(){return this.getToken(t.KW_UTC_DATE,0)}KW_UTC_TIME(){return this.getToken(t.KW_UTC_TIME,0)}KW_UTC_TIMESTAMP(){return this.getToken(t.KW_UTC_TIMESTAMP,0)}get ruleIndex(){return t.RULE_scalarFunctionName}enterRule(e){e.enterScalarFunctionName&&e.enterScalarFunctionName(this)}exitRule(e){e.exitScalarFunctionName&&e.exitScalarFunctionName(this)}accept(e){return e.visitScalarFunctionName?e.visitScalarFunctionName(this):e.visitChildren(this)}}class q7 extends W{constructor(e,i){super(e,i)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}functionArg(){return this.getRuleContext(0,Me)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_OLD_PASSWORD(){return this.getToken(t.KW_OLD_PASSWORD,0)}get ruleIndex(){return t.RULE_passwordFunctionClause}enterRule(e){e.enterPasswordFunctionClause&&e.enterPasswordFunctionClause(this)}exitRule(e){e.exitPasswordFunctionClause&&e.exitPasswordFunctionClause(this)}accept(e){return e.visitPasswordFunctionClause?e.visitPasswordFunctionClause(this):e.visitChildren(this)}}class $i extends W{constructor(e,i){super(e,i)}functionArg(e){return e===void 0?this.getRuleContexts(Me):this.getRuleContext(e,Me)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_functionArgs}enterRule(e){e.enterFunctionArgs&&e.enterFunctionArgs(this)}exitRule(e){e.exitFunctionArgs&&e.exitFunctionArgs(this)}accept(e){return e.visitFunctionArgs?e.visitFunctionArgs(this):e.visitChildren(this)}}class Me extends W{constructor(e,i){super(e,i)}constant(){return this.getRuleContext(0,O0)}functionCall(){return this.getRuleContext(0,Ge)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return t.RULE_functionArg}enterRule(e){e.enterFunctionArg&&e.enterFunctionArg(this)}exitRule(e){e.exitFunctionArg&&e.exitFunctionArg(this)}accept(e){return e.visitFunctionArg?e.visitFunctionArg(this):e.visitChildren(this)}}class k extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_expression}copyFrom(e){super.copyFrom(e)}}class au extends k{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterIsExpression&&e.enterIsExpression(this)}exitRule(e){e.exitIsExpression&&e.exitIsExpression(this)}accept(e){return e.visitIsExpression?e.visitIsExpression(this):e.visitChildren(this)}}class cu extends k{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expression(){return this.getRuleContext(0,k)}KW_NOT(){return this.getToken(t.KW_NOT,0)}EXCLAMATION_SYMBOL(){return this.getToken(t.EXCLAMATION_SYMBOL,0)}enterRule(e){e.enterNotExpression&&e.enterNotExpression(this)}exitRule(e){e.exitNotExpression&&e.exitNotExpression(this)}accept(e){return e.visitNotExpression?e.visitNotExpression(this):e.visitChildren(this)}}class ou extends k{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}logicalOperator(){return this.getRuleContext(0,S4)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}}class ru extends k{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}enterRule(e){e.enterPredicateExpression&&e.enterPredicateExpression(this)}exitRule(e){e.exitPredicateExpression&&e.exitPredicateExpression(this)}accept(e){return e.visitPredicateExpression?e.visitPredicateExpression(this):e.visitChildren(this)}}class j extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_predicate}copyFrom(e){super.copyFrom(e)}}class Eu extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_SOUNDS(){return this.getToken(t.KW_SOUNDS,0)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}enterRule(e){e.enterSoundsLikePredicate&&e.enterSoundsLikePredicate(this)}exitRule(e){e.exitSoundsLikePredicate&&e.exitSoundsLikePredicate(this)}accept(e){return e.visitSoundsLikePredicate?e.visitSoundsLikePredicate(this):e.visitChildren(this)}}class Ku extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterExpressionAtomPredicate&&e.enterExpressionAtomPredicate(this)}exitRule(e){e.exitExpressionAtomPredicate&&e.exitExpressionAtomPredicate(this)}accept(e){return e.visitExpressionAtomPredicate?e.visitExpressionAtomPredicate(this):e.visitChildren(this)}}class Wu extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_MEMBER(){return this.getToken(t.KW_MEMBER,0)}KW_OF(){return this.getToken(t.KW_OF,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterJsonMemberOfPredicate&&e.enterJsonMemberOfPredicate(this)}exitRule(e){e.exitJsonMemberOfPredicate&&e.exitJsonMemberOfPredicate(this)}accept(e){return e.visitJsonMemberOfPredicate?e.visitJsonMemberOfPredicate(this):e.visitChildren(this)}}class uu extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}comparisonOperator(){return this.getRuleContext(0,k4)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}enterRule(e){e.enterBinaryComparisonPredicate&&e.enterBinaryComparisonPredicate(this)}exitRule(e){e.exitBinaryComparisonPredicate&&e.exitBinaryComparisonPredicate(this)}accept(e){return e.visitBinaryComparisonPredicate?e.visitBinaryComparisonPredicate(this):e.visitChildren(this)}}class Ru extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}KW_IN(){return this.getToken(t.KW_IN,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}expressions(){return this.getRuleContext(0,z7)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterInPredicate&&e.enterInPredicate(this)}exitRule(e){e.exitInPredicate&&e.exitInPredicate(this)}accept(e){return e.visitInPredicate?e.visitInPredicate(this):e.visitChildren(this)}}class Tu extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterBetweenPredicate&&e.enterBetweenPredicate(this)}exitRule(e){e.exitBetweenPredicate&&e.exitBetweenPredicate(this)}accept(e){return e.visitBetweenPredicate?e.visitBetweenPredicate(this):e.visitChildren(this)}}class _u extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(){return this.getRuleContext(0,j)}KW_IS(){return this.getToken(t.KW_IS,0)}nullNotnull(){return this.getRuleContext(0,qh)}enterRule(e){e.enterIsNullPredicate&&e.enterIsNullPredicate(this)}exitRule(e){e.exitIsNullPredicate&&e.exitIsNullPredicate(this)}accept(e){return e.visitIsNullPredicate?e.visitIsNullPredicate(this):e.visitChildren(this)}}class Au extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}STRING_LITERAL(){return this.getToken(t.STRING_LITERAL,0)}enterRule(e){e.enterLikePredicate&&e.enterLikePredicate(this)}exitRule(e){e.exitLikePredicate&&e.exitLikePredicate(this)}accept(e){return e.visitLikePredicate?e.visitLikePredicate(this):e.visitChildren(this)}}class Iu extends j{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}predicate(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_REGEXP(){return this.getToken(t.KW_REGEXP,0)}KW_RLIKE(){return this.getToken(t.KW_RLIKE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterRegexpPredicate&&e.enterRegexpPredicate(this)}exitRule(e){e.exitRegexpPredicate&&e.exitRegexpPredicate(this)}accept(e){return e.visitRegexpPredicate?e.visitRegexpPredicate(this):e.visitChildren(this)}}class y extends W{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_expressionAtom}copyFrom(e){super.copyFrom(e)}}class Lu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}unaryOperator(){return this.getRuleContext(0,o3)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterUnaryExpressionAtom&&e.enterUnaryExpressionAtom(this)}exitRule(e){e.exitUnaryExpressionAtom&&e.exitUnaryExpressionAtom(this)}accept(e){return e.visitUnaryExpressionAtom?e.visitUnaryExpressionAtom(this):e.visitChildren(this)}}class Ou extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}expressionAtom(){return this.getRuleContext(0,y)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}collationName(){return this.getRuleContext(0,Ce)}enterRule(e){e.enterCollateExpressionAtom&&e.enterCollateExpressionAtom(this)}exitRule(e){e.exitCollateExpressionAtom&&e.exitCollateExpressionAtom(this)}accept(e){return e.visitCollateExpressionAtom?e.visitCollateExpressionAtom(this):e.visitChildren(this)}}class Cu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}columnName(){return this.getRuleContext(0,At)}enterRule(e){e.enterColumnNameExpressionAtom&&e.enterColumnNameExpressionAtom(this)}exitRule(e){e.exitColumnNameExpressionAtom&&e.exitColumnNameExpressionAtom(this)}accept(e){return e.visitColumnNameExpressionAtom?e.visitColumnNameExpressionAtom(this):e.visitChildren(this)}}class Nu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LOCAL_ID(){return this.getToken(t.LOCAL_ID,0)}VAR_ASSIGN(){return this.getToken(t.VAR_ASSIGN,0)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterVariableAssignExpressionAtom&&e.enterVariableAssignExpressionAtom(this)}exitRule(e){e.exitVariableAssignExpressionAtom&&e.exitVariableAssignExpressionAtom(this)}accept(e){return e.visitVariableAssignExpressionAtom?e.visitVariableAssignExpressionAtom(this):e.visitChildren(this)}}class du extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}mysqlVariable(){return this.getRuleContext(0,Q7)}enterRule(e){e.enterMysqlVariableExpressionAtom&&e.enterMysqlVariableExpressionAtom(this)}exitRule(e){e.exitMysqlVariableExpressionAtom&&e.exitMysqlVariableExpressionAtom(this)}accept(e){return e.visitMysqlVariableExpressionAtom?e.visitMysqlVariableExpressionAtom(this):e.visitChildren(this)}}class lu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterNestedExpressionAtom&&e.enterNestedExpressionAtom(this)}exitRule(e){e.exitNestedExpressionAtom&&e.exitNestedExpressionAtom(this)}accept(e){return e.visitNestedExpressionAtom?e.visitNestedExpressionAtom(this):e.visitChildren(this)}}class mu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ROW(){return this.getToken(t.KW_ROW,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(k):this.getRuleContext(e,k)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterNestedRowExpressionAtom&&e.enterNestedRowExpressionAtom(this)}exitRule(e){e.exitNestedRowExpressionAtom&&e.exitNestedRowExpressionAtom(this)}accept(e){return e.visitNestedRowExpressionAtom?e.visitNestedRowExpressionAtom(this):e.visitChildren(this)}}class pu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}mathOperator(){return this.getRuleContext(0,B4)}expressionAtom(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}enterRule(e){e.enterMathExpressionAtom&&e.enterMathExpressionAtom(this)}exitRule(e){e.exitMathExpressionAtom&&e.exitMathExpressionAtom(this)}accept(e){return e.visitMathExpressionAtom?e.visitMathExpressionAtom(this):e.visitChildren(this)}}class xu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterExistsExpressionAtom&&e.enterExistsExpressionAtom(this)}exitRule(e){e.exitExistsExpressionAtom&&e.exitExistsExpressionAtom(this)}accept(e){return e.visitExistsExpressionAtom?e.visitExistsExpressionAtom(this):e.visitChildren(this)}}class fu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}expression(){return this.getRuleContext(0,k)}intervalType(){return this.getRuleContext(0,Ci)}enterRule(e){e.enterIntervalExpressionAtom&&e.enterIntervalExpressionAtom(this)}exitRule(e){e.exitIntervalExpressionAtom&&e.exitIntervalExpressionAtom(this)}accept(e){return e.visitIntervalExpressionAtom?e.visitIntervalExpressionAtom(this):e.visitChildren(this)}}class gu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}jsonOperator(){return this.getRuleContext(0,F4)}expressionAtom(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}enterRule(e){e.enterJsonExpressionAtom&&e.enterJsonExpressionAtom(this)}exitRule(e){e.exitJsonExpressionAtom&&e.exitJsonExpressionAtom(this)}accept(e){return e.visitJsonExpressionAtom?e.visitJsonExpressionAtom(this):e.visitChildren(this)}}class Uu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}LR_BRACKET(){return this.getToken(t.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,ft)}RR_BRACKET(){return this.getToken(t.RR_BRACKET,0)}enterRule(e){e.enterSubqueryExpressionAtom&&e.enterSubqueryExpressionAtom(this)}exitRule(e){e.exitSubqueryExpressionAtom&&e.exitSubqueryExpressionAtom(this)}accept(e){return e.visitSubqueryExpressionAtom?e.visitSubqueryExpressionAtom(this):e.visitChildren(this)}}class Du extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}constant(){return this.getRuleContext(0,O0)}enterRule(e){e.enterConstantExpressionAtom&&e.enterConstantExpressionAtom(this)}exitRule(e){e.exitConstantExpressionAtom&&e.exitConstantExpressionAtom(this)}accept(e){return e.visitConstantExpressionAtom?e.visitConstantExpressionAtom(this):e.visitChildren(this)}}class ku extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}functionCall(){return this.getRuleContext(0,Ge)}enterRule(e){e.enterFunctionCallExpressionAtom&&e.enterFunctionCallExpressionAtom(this)}exitRule(e){e.exitFunctionCallExpressionAtom&&e.exitFunctionCallExpressionAtom(this)}accept(e){return e.visitFunctionCallExpressionAtom?e.visitFunctionCallExpressionAtom(this):e.visitChildren(this)}}class Su extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}expressionAtom(){return this.getRuleContext(0,y)}enterRule(e){e.enterBinaryExpressionAtom&&e.enterBinaryExpressionAtom(this)}exitRule(e){e.exitBinaryExpressionAtom&&e.exitBinaryExpressionAtom(this)}accept(e){return e.visitBinaryExpressionAtom?e.visitBinaryExpressionAtom(this):e.visitChildren(this)}}class Hu extends y{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}bitOperator(){return this.getRuleContext(0,H4)}expressionAtom(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}enterRule(e){e.enterBitExpressionAtom&&e.enterBitExpressionAtom(this)}exitRule(e){e.exitBitExpressionAtom&&e.exitBitExpressionAtom(this)}accept(e){return e.visitBitExpressionAtom?e.visitBitExpressionAtom(this):e.visitChildren(this)}}class o3 extends W{constructor(e,i){super(e,i)}EXCLAMATION_SYMBOL(){return this.getToken(t.EXCLAMATION_SYMBOL,0)}BIT_NOT_OP(){return this.getToken(t.BIT_NOT_OP,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_unaryOperator}enterRule(e){e.enterUnaryOperator&&e.enterUnaryOperator(this)}exitRule(e){e.exitUnaryOperator&&e.exitUnaryOperator(this)}accept(e){return e.visitUnaryOperator?e.visitUnaryOperator(this):e.visitChildren(this)}}class k4 extends W{constructor(e,i){super(e,i)}LESS_SYMBOL(){return this.getToken(t.LESS_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(t.GREATER_SYMBOL,0)}EXCLAMATION_SYMBOL(){return this.getToken(t.EXCLAMATION_SYMBOL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}comparisonBase(){return this.getRuleContext(0,r3)}get ruleIndex(){return t.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}}class r3 extends W{constructor(e,i){super(e,i)}LESS_SYMBOL(){return this.getToken(t.LESS_SYMBOL,0)}EQUAL_SYMBOL(){return this.getToken(t.EQUAL_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(t.GREATER_SYMBOL,0)}get ruleIndex(){return t.RULE_comparisonBase}enterRule(e){e.enterComparisonBase&&e.enterComparisonBase(this)}exitRule(e){e.exitComparisonBase&&e.exitComparisonBase(this)}accept(e){return e.visitComparisonBase?e.visitComparisonBase(this):e.visitChildren(this)}}class S4 extends W{constructor(e,i){super(e,i)}KW_AND(){return this.getToken(t.KW_AND,0)}BIT_AND_OP(e){return e===void 0?this.getTokens(t.BIT_AND_OP):this.getToken(t.BIT_AND_OP,e)}KW_XOR(){return this.getToken(t.KW_XOR,0)}KW_OR(){return this.getToken(t.KW_OR,0)}BIT_OR_OP(e){return e===void 0?this.getTokens(t.BIT_OR_OP):this.getToken(t.BIT_OR_OP,e)}get ruleIndex(){return t.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}}class H4 extends W{constructor(e,i){super(e,i)}LESS_SYMBOL(e){return e===void 0?this.getTokens(t.LESS_SYMBOL):this.getToken(t.LESS_SYMBOL,e)}GREATER_SYMBOL(e){return e===void 0?this.getTokens(t.GREATER_SYMBOL):this.getToken(t.GREATER_SYMBOL,e)}BIT_AND_OP(){return this.getToken(t.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(t.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(t.BIT_OR_OP,0)}get ruleIndex(){return t.RULE_bitOperator}enterRule(e){e.enterBitOperator&&e.enterBitOperator(this)}exitRule(e){e.exitBitOperator&&e.exitBitOperator(this)}accept(e){return e.visitBitOperator?e.visitBitOperator(this):e.visitChildren(this)}}class B4 extends W{constructor(e,i){super(e,i)}STAR(){return this.getToken(t.STAR,0)}DIVIDE(){return this.getToken(t.DIVIDE,0)}MODULE(){return this.getToken(t.MODULE,0)}DIV(){return this.getToken(t.DIV,0)}MOD(){return this.getToken(t.MOD,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}get ruleIndex(){return t.RULE_mathOperator}enterRule(e){e.enterMathOperator&&e.enterMathOperator(this)}exitRule(e){e.exitMathOperator&&e.exitMathOperator(this)}accept(e){return e.visitMathOperator?e.visitMathOperator(this):e.visitChildren(this)}}class F4 extends W{constructor(e,i){super(e,i)}MINUS(){return this.getToken(t.MINUS,0)}GREATER_SYMBOL(e){return e===void 0?this.getTokens(t.GREATER_SYMBOL):this.getToken(t.GREATER_SYMBOL,e)}get ruleIndex(){return t.RULE_jsonOperator}enterRule(e){e.enterJsonOperator&&e.enterJsonOperator(this)}exitRule(e){e.exitJsonOperator&&e.exitJsonOperator(this)}accept(e){return e.visitJsonOperator?e.visitJsonOperator(this):e.visitChildren(this)}}class E3 extends W{constructor(e,i){super(e,i)}KW_ARMSCII8(){return this.getToken(t.KW_ARMSCII8,0)}KW_ASCII(){return this.getToken(t.KW_ASCII,0)}KW_BIG5(){return this.getToken(t.KW_BIG5,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_CP1250(){return this.getToken(t.KW_CP1250,0)}KW_CP1251(){return this.getToken(t.KW_CP1251,0)}KW_CP1256(){return this.getToken(t.KW_CP1256,0)}KW_CP1257(){return this.getToken(t.KW_CP1257,0)}KW_CP850(){return this.getToken(t.KW_CP850,0)}KW_CP852(){return this.getToken(t.KW_CP852,0)}KW_CP866(){return this.getToken(t.KW_CP866,0)}KW_CP932(){return this.getToken(t.KW_CP932,0)}KW_DEC8(){return this.getToken(t.KW_DEC8,0)}KW_EUCJPMS(){return this.getToken(t.KW_EUCJPMS,0)}KW_EUCKR(){return this.getToken(t.KW_EUCKR,0)}KW_GB18030(){return this.getToken(t.KW_GB18030,0)}KW_GB2312(){return this.getToken(t.KW_GB2312,0)}KW_GBK(){return this.getToken(t.KW_GBK,0)}KW_GEOSTD8(){return this.getToken(t.KW_GEOSTD8,0)}KW_GREEK(){return this.getToken(t.KW_GREEK,0)}KW_HEBREW(){return this.getToken(t.KW_HEBREW,0)}KW_HP8(){return this.getToken(t.KW_HP8,0)}KW_KEYBCS2(){return this.getToken(t.KW_KEYBCS2,0)}KW_KOI8R(){return this.getToken(t.KW_KOI8R,0)}KW_KOI8U(){return this.getToken(t.KW_KOI8U,0)}KW_LATIN1(){return this.getToken(t.KW_LATIN1,0)}KW_LATIN2(){return this.getToken(t.KW_LATIN2,0)}KW_LATIN5(){return this.getToken(t.KW_LATIN5,0)}KW_LATIN7(){return this.getToken(t.KW_LATIN7,0)}KW_MACCE(){return this.getToken(t.KW_MACCE,0)}KW_MACROMAN(){return this.getToken(t.KW_MACROMAN,0)}KW_SJIS(){return this.getToken(t.KW_SJIS,0)}KW_SWE7(){return this.getToken(t.KW_SWE7,0)}KW_TIS620(){return this.getToken(t.KW_TIS620,0)}KW_UCS2(){return this.getToken(t.KW_UCS2,0)}KW_UJIS(){return this.getToken(t.KW_UJIS,0)}KW_UTF16(){return this.getToken(t.KW_UTF16,0)}KW_UTF16LE(){return this.getToken(t.KW_UTF16LE,0)}KW_UTF32(){return this.getToken(t.KW_UTF32,0)}KW_UTF8(){return this.getToken(t.KW_UTF8,0)}KW_UTF8MB3(){return this.getToken(t.KW_UTF8MB3,0)}KW_UTF8MB4(){return this.getToken(t.KW_UTF8MB4,0)}get ruleIndex(){return t.RULE_charsetNameBase}enterRule(e){e.enterCharsetNameBase&&e.enterCharsetNameBase(this)}exitRule(e){e.exitCharsetNameBase&&e.exitCharsetNameBase(this)}accept(e){return e.visitCharsetNameBase?e.visitCharsetNameBase(this):e.visitChildren(this)}}class G4 extends W{constructor(e,i){super(e,i)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}get ruleIndex(){return t.RULE_transactionLevelBase}enterRule(e){e.enterTransactionLevelBase&&e.enterTransactionLevelBase(this)}exitRule(e){e.exitTransactionLevelBase&&e.exitTransactionLevelBase(this)}accept(e){return e.visitTransactionLevelBase?e.visitTransactionLevelBase(this):e.visitChildren(this)}}class b4 extends W{constructor(e,i){super(e,i)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}KW_FILE(){return this.getToken(t.KW_FILE,0)}KW_PROCESS(){return this.getToken(t.KW_PROCESS,0)}KW_RELOAD(){return this.getToken(t.KW_RELOAD,0)}KW_SHUTDOWN(){return this.getToken(t.KW_SHUTDOWN,0)}KW_SUPER(){return this.getToken(t.KW_SUPER,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}get ruleIndex(){return t.RULE_privilegesBase}enterRule(e){e.enterPrivilegesBase&&e.enterPrivilegesBase(this)}exitRule(e){e.exitPrivilegesBase&&e.exitPrivilegesBase(this)}accept(e){return e.visitPrivilegesBase?e.visitPrivilegesBase(this):e.visitChildren(this)}}class K3 extends W{constructor(e,i){super(e,i)}KW_QUARTER(){return this.getToken(t.KW_QUARTER,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}KW_WEEK(){return this.getToken(t.KW_WEEK,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}KW_MICROSECOND(){return this.getToken(t.KW_MICROSECOND,0)}get ruleIndex(){return t.RULE_intervalTypeBase}enterRule(e){e.enterIntervalTypeBase&&e.enterIntervalTypeBase(this)}exitRule(e){e.exitIntervalTypeBase&&e.exitIntervalTypeBase(this)}accept(e){return e.visitIntervalTypeBase?e.visitIntervalTypeBase(this):e.visitChildren(this)}}class w4 extends W{constructor(e,i){super(e,i)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_DATETIME(){return this.getToken(t.KW_DATETIME,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}get ruleIndex(){return t.RULE_dataTypeBase}enterRule(e){e.enterDataTypeBase&&e.enterDataTypeBase(this)}exitRule(e){e.exitDataTypeBase&&e.exitDataTypeBase(this)}accept(e){return e.visitDataTypeBase?e.visitDataTypeBase(this):e.visitChildren(this)}}class W3 extends W{constructor(e,i){super(e,i)}KW_ACCOUNT(){return this.getToken(t.KW_ACCOUNT,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}KW_ALGORITHM(){return this.getToken(t.KW_ALGORITHM,0)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_AT(){return this.getToken(t.KW_AT,0)}KW_AUDIT_ADMIN(){return this.getToken(t.KW_AUDIT_ADMIN,0)}KW_AUDIT_ABORT_EXEMPT(){return this.getToken(t.KW_AUDIT_ABORT_EXEMPT,0)}KW_AUTHORS(){return this.getToken(t.KW_AUTHORS,0)}KW_AUTOCOMMIT(){return this.getToken(t.KW_AUTOCOMMIT,0)}KW_AUTOEXTEND_SIZE(){return this.getToken(t.KW_AUTOEXTEND_SIZE,0)}KW_AUTO_INCREMENT(){return this.getToken(t.KW_AUTO_INCREMENT,0)}KW_AUTHENTICATION_POLICY_ADMIN(){return this.getToken(t.KW_AUTHENTICATION_POLICY_ADMIN,0)}KW_AVG(){return this.getToken(t.KW_AVG,0)}KW_AVG_ROW_LENGTH(){return this.getToken(t.KW_AVG_ROW_LENGTH,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_BACKUP_ADMIN(){return this.getToken(t.KW_BACKUP_ADMIN,0)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_BINLOG(){return this.getToken(t.KW_BINLOG,0)}KW_BINLOG_ADMIN(){return this.getToken(t.KW_BINLOG_ADMIN,0)}KW_BINLOG_ENCRYPTION_ADMIN(){return this.getToken(t.KW_BINLOG_ENCRYPTION_ADMIN,0)}KW_BIT(){return this.getToken(t.KW_BIT,0)}KW_BIT_AND(){return this.getToken(t.KW_BIT_AND,0)}KW_BIT_OR(){return this.getToken(t.KW_BIT_OR,0)}KW_BIT_XOR(){return this.getToken(t.KW_BIT_XOR,0)}KW_BLOCK(){return this.getToken(t.KW_BLOCK,0)}KW_BOOL(){return this.getToken(t.KW_BOOL,0)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}KW_BTREE(){return this.getToken(t.KW_BTREE,0)}KW_BUCKETS(){return this.getToken(t.KW_BUCKETS,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_CHANGED(){return this.getToken(t.KW_CHANGED,0)}KW_CHANNEL(){return this.getToken(t.KW_CHANNEL,0)}KW_CHECKSUM(){return this.getToken(t.KW_CHECKSUM,0)}KW_PAGE_CHECKSUM(){return this.getToken(t.KW_PAGE_CHECKSUM,0)}KW_CATALOG_NAME(){return this.getToken(t.KW_CATALOG_NAME,0)}KW_CIPHER(){return this.getToken(t.KW_CIPHER,0)}KW_CLASS_ORIGIN(){return this.getToken(t.KW_CLASS_ORIGIN,0)}KW_CLIENT(){return this.getToken(t.KW_CLIENT,0)}KW_CLONE_ADMIN(){return this.getToken(t.KW_CLONE_ADMIN,0)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_CODE(){return this.getToken(t.KW_CODE,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_COLUMN_FORMAT(){return this.getToken(t.KW_COLUMN_FORMAT,0)}KW_COLUMN_NAME(){return this.getToken(t.KW_COLUMN_NAME,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_COMPACT(){return this.getToken(t.KW_COMPACT,0)}KW_COMPLETION(){return this.getToken(t.KW_COMPLETION,0)}KW_COMPRESSED(){return this.getToken(t.KW_COMPRESSED,0)}KW_COMPRESSION(){return this.getToken(t.KW_COMPRESSION,0)}KW_CONCURRENT(){return this.getToken(t.KW_CONCURRENT,0)}KW_CONDITION(){return this.getToken(t.KW_CONDITION,0)}KW_CONNECT(){return this.getToken(t.KW_CONNECT,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_CONNECTION_ADMIN(){return this.getToken(t.KW_CONNECTION_ADMIN,0)}KW_CONSISTENT(){return this.getToken(t.KW_CONSISTENT,0)}KW_CONSTRAINT_CATALOG(){return this.getToken(t.KW_CONSTRAINT_CATALOG,0)}KW_CONSTRAINT_NAME(){return this.getToken(t.KW_CONSTRAINT_NAME,0)}KW_CONSTRAINT_SCHEMA(){return this.getToken(t.KW_CONSTRAINT_SCHEMA,0)}KW_CONTAINS(){return this.getToken(t.KW_CONTAINS,0)}KW_CONTEXT(){return this.getToken(t.KW_CONTEXT,0)}KW_CONTRIBUTORS(){return this.getToken(t.KW_CONTRIBUTORS,0)}KW_COPY(){return this.getToken(t.KW_COPY,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}KW_CPU(){return this.getToken(t.KW_CPU,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_CURSOR_NAME(){return this.getToken(t.KW_CURSOR_NAME,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DATAFILE(){return this.getToken(t.KW_DATAFILE,0)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DEFAULT_AUTH(){return this.getToken(t.KW_DEFAULT_AUTH,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_DELAY_KEY_WRITE(){return this.getToken(t.KW_DELAY_KEY_WRITE,0)}KW_DES_KEY_FILE(){return this.getToken(t.KW_DES_KEY_FILE,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}KW_DIRECTORY(){return this.getToken(t.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_DISK(){return this.getToken(t.KW_DISK,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_DUMPFILE(){return this.getToken(t.KW_DUMPFILE,0)}KW_DUPLICATE(){return this.getToken(t.KW_DUPLICATE,0)}KW_DYNAMIC(){return this.getToken(t.KW_DYNAMIC,0)}KW_EMPTY(){return this.getToken(t.KW_EMPTY,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_ENCRYPTION(){return this.getToken(t.KW_ENCRYPTION,0)}KW_ENCRYPTION_KEY_ADMIN(){return this.getToken(t.KW_ENCRYPTION_KEY_ADMIN,0)}KW_END(){return this.getToken(t.KW_END,0)}KW_ENDS(){return this.getToken(t.KW_ENDS,0)}KW_ENGINE(){return this.getToken(t.KW_ENGINE,0)}KW_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_ENGINE_ATTRIBUTE,0)}KW_ENGINES(){return this.getToken(t.KW_ENGINES,0)}KW_ENFORCED(){return this.getToken(t.KW_ENFORCED,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_ERRORS(){return this.getToken(t.KW_ERRORS,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_EVENTS(){return this.getToken(t.KW_EVENTS,0)}KW_EVERY(){return this.getToken(t.KW_EVERY,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}KW_EXCHANGE(){return this.getToken(t.KW_EXCHANGE,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}KW_EXPIRE(){return this.getToken(t.KW_EXPIRE,0)}KW_EXPORT(){return this.getToken(t.KW_EXPORT,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_EXTENT_SIZE(){return this.getToken(t.KW_EXTENT_SIZE,0)}KW_FAILED_LOGIN_ATTEMPTS(){return this.getToken(t.KW_FAILED_LOGIN_ATTEMPTS,0)}KW_FAST(){return this.getToken(t.KW_FAST,0)}KW_FAULTS(){return this.getToken(t.KW_FAULTS,0)}KW_FIELDS(){return this.getToken(t.KW_FIELDS,0)}KW_FILE_BLOCK_SIZE(){return this.getToken(t.KW_FILE_BLOCK_SIZE,0)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}KW_FIREWALL_ADMIN(){return this.getToken(t.KW_FIREWALL_ADMIN,0)}KW_FIREWALL_EXEMPT(){return this.getToken(t.KW_FIREWALL_EXEMPT,0)}KW_FIREWALL_USER(){return this.getToken(t.KW_FIREWALL_USER,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_FIXED(){return this.getToken(t.KW_FIXED,0)}KW_FLUSH(){return this.getToken(t.KW_FLUSH,0)}KW_FOLLOWS(){return this.getToken(t.KW_FOLLOWS,0)}KW_FOUND(){return this.getToken(t.KW_FOUND,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_GENERAL(){return this.getToken(t.KW_GENERAL,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_GRANTS(){return this.getToken(t.KW_GRANTS,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_GROUP_CONCAT(){return this.getToken(t.KW_GROUP_CONCAT,0)}KW_GROUP_REPLICATION(){return this.getToken(t.KW_GROUP_REPLICATION,0)}KW_GROUP_REPLICATION_ADMIN(){return this.getToken(t.KW_GROUP_REPLICATION_ADMIN,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_HASH(){return this.getToken(t.KW_HASH,0)}KW_HELP(){return this.getToken(t.KW_HELP,0)}KW_HISTORY(){return this.getToken(t.KW_HISTORY,0)}KW_HOST(){return this.getToken(t.KW_HOST,0)}KW_HOSTS(){return this.getToken(t.KW_HOSTS,0)}KW_IDENTIFIED(){return this.getToken(t.KW_IDENTIFIED,0)}KW_IGNORE_SERVER_IDS(){return this.getToken(t.KW_IGNORE_SERVER_IDS,0)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_INITIAL_SIZE(){return this.getToken(t.KW_INITIAL_SIZE,0)}KW_INNODB_REDO_LOG_ARCHIVE(){return this.getToken(t.KW_INNODB_REDO_LOG_ARCHIVE,0)}KW_INPLACE(){return this.getToken(t.KW_INPLACE,0)}KW_INSERT_METHOD(){return this.getToken(t.KW_INSERT_METHOD,0)}KW_INSTALL(){return this.getToken(t.KW_INSTALL,0)}KW_INSTANCE(){return this.getToken(t.KW_INSTANCE,0)}KW_INSTANT(){return this.getToken(t.KW_INSTANT,0)}KW_INVOKE(){return this.getToken(t.KW_INVOKE,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_IO(){return this.getToken(t.KW_IO,0)}KW_IO_THREAD(){return this.getToken(t.KW_IO_THREAD,0)}KW_IPC(){return this.getToken(t.KW_IPC,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_ISSUER(){return this.getToken(t.KW_ISSUER,0)}KW_JSON(){return this.getToken(t.KW_JSON,0)}KW_KEY_BLOCK_SIZE(){return this.getToken(t.KW_KEY_BLOCK_SIZE,0)}KW_LAMBDA(){return this.getToken(t.KW_LAMBDA,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}KW_LEAVES(){return this.getToken(t.KW_LEAVES,0)}KW_LESS(){return this.getToken(t.KW_LESS,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_LIST(){return this.getToken(t.KW_LIST,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_LOGFILE(){return this.getToken(t.KW_LOGFILE,0)}KW_LOGS(){return this.getToken(t.KW_LOGS,0)}KW_MASTER(){return this.getToken(t.KW_MASTER,0)}KW_MASTER_AUTO_POSITION(){return this.getToken(t.KW_MASTER_AUTO_POSITION,0)}KW_MASTER_CONNECT_RETRY(){return this.getToken(t.KW_MASTER_CONNECT_RETRY,0)}KW_MASTER_DELAY(){return this.getToken(t.KW_MASTER_DELAY,0)}KW_MASTER_HEARTBEAT_PERIOD(){return this.getToken(t.KW_MASTER_HEARTBEAT_PERIOD,0)}KW_MASTER_HOST(){return this.getToken(t.KW_MASTER_HOST,0)}KW_MASTER_LOG_FILE(){return this.getToken(t.KW_MASTER_LOG_FILE,0)}KW_MASTER_LOG_POS(){return this.getToken(t.KW_MASTER_LOG_POS,0)}KW_MASTER_PASSWORD(){return this.getToken(t.KW_MASTER_PASSWORD,0)}KW_MASTER_PORT(){return this.getToken(t.KW_MASTER_PORT,0)}KW_MASTER_RETRY_COUNT(){return this.getToken(t.KW_MASTER_RETRY_COUNT,0)}KW_MASTER_SSL(){return this.getToken(t.KW_MASTER_SSL,0)}KW_MASTER_SSL_CA(){return this.getToken(t.KW_MASTER_SSL_CA,0)}KW_MASTER_SSL_CAPATH(){return this.getToken(t.KW_MASTER_SSL_CAPATH,0)}KW_MASTER_SSL_CERT(){return this.getToken(t.KW_MASTER_SSL_CERT,0)}KW_MASTER_SSL_CIPHER(){return this.getToken(t.KW_MASTER_SSL_CIPHER,0)}KW_MASTER_SSL_CRL(){return this.getToken(t.KW_MASTER_SSL_CRL,0)}KW_MASTER_SSL_CRLPATH(){return this.getToken(t.KW_MASTER_SSL_CRLPATH,0)}KW_MASTER_SSL_KEY(){return this.getToken(t.KW_MASTER_SSL_KEY,0)}KW_MASTER_TLS_VERSION(){return this.getToken(t.KW_MASTER_TLS_VERSION,0)}KW_MASTER_USER(){return this.getToken(t.KW_MASTER_USER,0)}KW_MAX_CONNECTIONS_PER_HOUR(){return this.getToken(t.KW_MAX_CONNECTIONS_PER_HOUR,0)}KW_MAX_QUERIES_PER_HOUR(){return this.getToken(t.KW_MAX_QUERIES_PER_HOUR,0)}KW_MAX(){return this.getToken(t.KW_MAX,0)}KW_MAX_ROWS(){return this.getToken(t.KW_MAX_ROWS,0)}KW_MAX_SIZE(){return this.getToken(t.KW_MAX_SIZE,0)}KW_MAX_UPDATES_PER_HOUR(){return this.getToken(t.KW_MAX_UPDATES_PER_HOUR,0)}KW_MAX_USER_CONNECTIONS(){return this.getToken(t.KW_MAX_USER_CONNECTIONS,0)}KW_MEDIUM(){return this.getToken(t.KW_MEDIUM,0)}KW_MEMBER(){return this.getToken(t.KW_MEMBER,0)}KW_MEMORY(){return this.getToken(t.KW_MEMORY,0)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_MESSAGE_TEXT(){return this.getToken(t.KW_MESSAGE_TEXT,0)}KW_MID(){return this.getToken(t.KW_MID,0)}KW_MIGRATE(){return this.getToken(t.KW_MIGRATE,0)}KW_MIN(){return this.getToken(t.KW_MIN,0)}KW_MIN_ROWS(){return this.getToken(t.KW_MIN_ROWS,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}KW_MODIFY(){return this.getToken(t.KW_MODIFY,0)}KW_MUTEX(){return this.getToken(t.KW_MUTEX,0)}KW_MYSQL(){return this.getToken(t.KW_MYSQL,0)}KW_MYSQL_ERRNO(){return this.getToken(t.KW_MYSQL_ERRNO,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_NDB_STORED_USER(){return this.getToken(t.KW_NDB_STORED_USER,0)}KW_NESTED(){return this.getToken(t.KW_NESTED,0)}KW_NEVER(){return this.getToken(t.KW_NEVER,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_NODEGROUP(){return this.getToken(t.KW_NODEGROUP,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_NUMBER(){return this.getToken(t.KW_NUMBER,0)}KW_ODBC(){return this.getToken(t.KW_ODBC,0)}KW_OFFLINE(){return this.getToken(t.KW_OFFLINE,0)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}KW_OF(){return this.getToken(t.KW_OF,0)}KW_OLD_PASSWORD(){return this.getToken(t.KW_OLD_PASSWORD,0)}KW_ONE(){return this.getToken(t.KW_ONE,0)}KW_ONLINE(){return this.getToken(t.KW_ONLINE,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}KW_OPTIMIZER_COSTS(){return this.getToken(t.KW_OPTIMIZER_COSTS,0)}KW_OPTIONAL(){return this.getToken(t.KW_OPTIONAL,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_PACK_KEYS(){return this.getToken(t.KW_PACK_KEYS,0)}KW_PAGE(){return this.getToken(t.KW_PAGE,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_PARTITIONING(){return this.getToken(t.KW_PARTITIONING,0)}KW_PARTITIONS(){return this.getToken(t.KW_PARTITIONS,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_PASSWORDLESS_USER_ADMIN(){return this.getToken(t.KW_PASSWORDLESS_USER_ADMIN,0)}KW_PASSWORD_LOCK_TIME(){return this.getToken(t.KW_PASSWORD_LOCK_TIME,0)}KW_PATH(){return this.getToken(t.KW_PATH,0)}KW_PERSIST_RO_VARIABLES_ADMIN(){return this.getToken(t.KW_PERSIST_RO_VARIABLES_ADMIN,0)}KW_PHASE(){return this.getToken(t.KW_PHASE,0)}KW_PLUGINS(){return this.getToken(t.KW_PLUGINS,0)}KW_PLUGIN_DIR(){return this.getToken(t.KW_PLUGIN_DIR,0)}KW_PLUGIN(){return this.getToken(t.KW_PLUGIN,0)}KW_PORT(){return this.getToken(t.KW_PORT,0)}KW_PRECEDES(){return this.getToken(t.KW_PRECEDES,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_PREV(){return this.getToken(t.KW_PREV,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_PROCESSLIST(){return this.getToken(t.KW_PROCESSLIST,0)}KW_PROFILE(){return this.getToken(t.KW_PROFILE,0)}KW_PROFILES(){return this.getToken(t.KW_PROFILES,0)}KW_PROXY(){return this.getToken(t.KW_PROXY,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_QUICK(){return this.getToken(t.KW_QUICK,0)}KW_REBUILD(){return this.getToken(t.KW_REBUILD,0)}KW_RECOVER(){return this.getToken(t.KW_RECOVER,0)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}KW_REDO_BUFFER_SIZE(){return this.getToken(t.KW_REDO_BUFFER_SIZE,0)}KW_REDUNDANT(){return this.getToken(t.KW_REDUNDANT,0)}KW_RELAY(){return this.getToken(t.KW_RELAY,0)}KW_RELAYLOG(){return this.getToken(t.KW_RELAYLOG,0)}KW_RELAY_LOG_FILE(){return this.getToken(t.KW_RELAY_LOG_FILE,0)}KW_RELAY_LOG_POS(){return this.getToken(t.KW_RELAY_LOG_POS,0)}KW_REMOVE(){return this.getToken(t.KW_REMOVE,0)}KW_REORGANIZE(){return this.getToken(t.KW_REORGANIZE,0)}KW_REPAIR(){return this.getToken(t.KW_REPAIR,0)}KW_REPLICATE_DO_DB(){return this.getToken(t.KW_REPLICATE_DO_DB,0)}KW_REPLICATE_DO_TABLE(){return this.getToken(t.KW_REPLICATE_DO_TABLE,0)}KW_REPLICATE_IGNORE_DB(){return this.getToken(t.KW_REPLICATE_IGNORE_DB,0)}KW_REPLICATE_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_IGNORE_TABLE,0)}KW_REPLICATE_REWRITE_DB(){return this.getToken(t.KW_REPLICATE_REWRITE_DB,0)}KW_REPLICATE_WILD_DO_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_DO_TABLE,0)}KW_REPLICATE_WILD_IGNORE_TABLE(){return this.getToken(t.KW_REPLICATE_WILD_IGNORE_TABLE,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_REPLICATION_APPLIER(){return this.getToken(t.KW_REPLICATION_APPLIER,0)}KW_REPLICATION_SLAVE_ADMIN(){return this.getToken(t.KW_REPLICATION_SLAVE_ADMIN,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_RESOURCE_GROUP_ADMIN(){return this.getToken(t.KW_RESOURCE_GROUP_ADMIN,0)}KW_RESOURCE_GROUP_USER(){return this.getToken(t.KW_RESOURCE_GROUP_USER,0)}KW_RESUME(){return this.getToken(t.KW_RESUME,0)}KW_RETURNED_SQLSTATE(){return this.getToken(t.KW_RETURNED_SQLSTATE,0)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_REUSE(){return this.getToken(t.KW_REUSE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_ROLE_ADMIN(){return this.getToken(t.KW_ROLE_ADMIN,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}KW_ROTATE(){return this.getToken(t.KW_ROTATE,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_ROW_FORMAT(){return this.getToken(t.KW_ROW_FORMAT,0)}KW_S3(){return this.getToken(t.KW_S3,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}KW_SCHEDULE(){return this.getToken(t.KW_SCHEDULE,0)}KW_SCHEMA_NAME(){return this.getToken(t.KW_SCHEMA_NAME,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(t.KW_SECONDARY_ENGINE_ATTRIBUTE,0)}KW_SERIAL(){return this.getToken(t.KW_SERIAL,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_SESSION_VARIABLES_ADMIN(){return this.getToken(t.KW_SESSION_VARIABLES_ADMIN,0)}KW_SET_USER_ID(){return this.getToken(t.KW_SET_USER_ID,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_SHARED(){return this.getToken(t.KW_SHARED,0)}KW_SHOW_ROUTINE(){return this.getToken(t.KW_SHOW_ROUTINE,0)}KW_SIGNED(){return this.getToken(t.KW_SIGNED,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}KW_SLAVE(){return this.getToken(t.KW_SLAVE,0)}KW_SLOW(){return this.getToken(t.KW_SLOW,0)}KW_SKIP_QUERY_REWRITE(){return this.getToken(t.KW_SKIP_QUERY_REWRITE,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}KW_SOCKET(){return this.getToken(t.KW_SOCKET,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}KW_SONAME(){return this.getToken(t.KW_SONAME,0)}KW_SOUNDS(){return this.getToken(t.KW_SOUNDS,0)}KW_SOURCE(){return this.getToken(t.KW_SOURCE,0)}KW_SQL_AFTER_GTIDS(){return this.getToken(t.KW_SQL_AFTER_GTIDS,0)}KW_SQL_AFTER_MTS_GAPS(){return this.getToken(t.KW_SQL_AFTER_MTS_GAPS,0)}KW_SQL_BEFORE_GTIDS(){return this.getToken(t.KW_SQL_BEFORE_GTIDS,0)}KW_SQL_BUFFER_RESULT(){return this.getToken(t.KW_SQL_BUFFER_RESULT,0)}KW_SQL_CACHE(){return this.getToken(t.KW_SQL_CACHE,0)}KW_SQL_NO_CACHE(){return this.getToken(t.KW_SQL_NO_CACHE,0)}KW_SQL_THREAD(){return this.getToken(t.KW_SQL_THREAD,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}KW_START(){return this.getToken(t.KW_START,0)}KW_STARTS(){return this.getToken(t.KW_STARTS,0)}KW_STATS_AUTO_RECALC(){return this.getToken(t.KW_STATS_AUTO_RECALC,0)}KW_STATS_PERSISTENT(){return this.getToken(t.KW_STATS_PERSISTENT,0)}KW_STATS_SAMPLE_PAGES(){return this.getToken(t.KW_STATS_SAMPLE_PAGES,0)}KW_STATUS(){return this.getToken(t.KW_STATUS,0)}KW_STD(){return this.getToken(t.KW_STD,0)}KW_STDDEV(){return this.getToken(t.KW_STDDEV,0)}KW_STDDEV_POP(){return this.getToken(t.KW_STDDEV_POP,0)}KW_STDDEV_SAMP(){return this.getToken(t.KW_STDDEV_SAMP,0)}KW_STOP(){return this.getToken(t.KW_STOP,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_STRING(){return this.getToken(t.KW_STRING,0)}KW_SUBCLASS_ORIGIN(){return this.getToken(t.KW_SUBCLASS_ORIGIN,0)}KW_SUBJECT(){return this.getToken(t.KW_SUBJECT,0)}KW_SUBPARTITION(){return this.getToken(t.KW_SUBPARTITION,0)}KW_SUBPARTITIONS(){return this.getToken(t.KW_SUBPARTITIONS,0)}KW_SUM(){return this.getToken(t.KW_SUM,0)}KW_SUSPEND(){return this.getToken(t.KW_SUSPEND,0)}KW_SWAPS(){return this.getToken(t.KW_SWAPS,0)}KW_SWITCHES(){return this.getToken(t.KW_SWITCHES,0)}KW_SYSTEM_VARIABLES_ADMIN(){return this.getToken(t.KW_SYSTEM_VARIABLES_ADMIN,0)}KW_TABLE_NAME(){return this.getToken(t.KW_TABLE_NAME,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_TABLE_ENCRYPTION_ADMIN(){return this.getToken(t.KW_TABLE_ENCRYPTION_ADMIN,0)}KW_TABLE_TYPE(){return this.getToken(t.KW_TABLE_TYPE,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMPTABLE(){return this.getToken(t.KW_TEMPTABLE,0)}KW_THAN(){return this.getToken(t.KW_THAN,0)}KW_TP_CONNECTION_ADMIN(){return this.getToken(t.KW_TP_CONNECTION_ADMIN,0)}KW_TRADITIONAL(){return this.getToken(t.KW_TRADITIONAL,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_TRANSACTIONAL(){return this.getToken(t.KW_TRANSACTIONAL,0)}KW_TRIGGERS(){return this.getToken(t.KW_TRIGGERS,0)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_UNDEFINED(){return this.getToken(t.KW_UNDEFINED,0)}KW_UNDOFILE(){return this.getToken(t.KW_UNDOFILE,0)}KW_UNDO_BUFFER_SIZE(){return this.getToken(t.KW_UNDO_BUFFER_SIZE,0)}KW_UNINSTALL(){return this.getToken(t.KW_UNINSTALL,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}KW_UPGRADE(){return this.getToken(t.KW_UPGRADE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_USE_FRM(){return this.getToken(t.KW_USE_FRM,0)}KW_USER_RESOURCES(){return this.getToken(t.KW_USER_RESOURCES,0)}KW_VALIDATION(){return this.getToken(t.KW_VALIDATION,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_VAR_POP(){return this.getToken(t.KW_VAR_POP,0)}KW_VAR_SAMP(){return this.getToken(t.KW_VAR_SAMP,0)}KW_VARIABLES(){return this.getToken(t.KW_VARIABLES,0)}KW_VARIANCE(){return this.getToken(t.KW_VARIANCE,0)}KW_VERSION_TOKEN_ADMIN(){return this.getToken(t.KW_VERSION_TOKEN_ADMIN,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}KW_VIRTUAL(){return this.getToken(t.KW_VIRTUAL,0)}KW_WAIT(){return this.getToken(t.KW_WAIT,0)}KW_WARNINGS(){return this.getToken(t.KW_WARNINGS,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_X509(){return this.getToken(t.KW_X509,0)}KW_XA(){return this.getToken(t.KW_XA,0)}KW_XA_RECOVER_ADMIN(){return this.getToken(t.KW_XA_RECOVER_ADMIN,0)}KW_XML(){return this.getToken(t.KW_XML,0)}get ruleIndex(){return t.RULE_keywordsCanBeId}enterRule(e){e.enterKeywordsCanBeId&&e.enterKeywordsCanBeId(this)}exitRule(e){e.exitKeywordsCanBeId&&e.exitKeywordsCanBeId(this)}accept(e){return e.visitKeywordsCanBeId?e.visitKeywordsCanBeId(this):e.visitChildren(this)}}class v4 extends W{constructor(e,i){super(e,i)}KW_CHARSET(){return this.getToken(t.KW_CHARSET,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_COUNT(){return this.getToken(t.KW_COUNT,0)}KW_CUME_DIST(){return this.getToken(t.KW_CUME_DIST,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_DATE(){return this.getToken(t.KW_DATE,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_DENSE_RANK(){return this.getToken(t.KW_DENSE_RANK,0)}KW_FIRST_VALUE(){return this.getToken(t.KW_FIRST_VALUE,0)}KW_FORMAT(){return this.getToken(t.KW_FORMAT,0)}KW_GEOMETRYCOLLECTION(){return this.getToken(t.KW_GEOMETRYCOLLECTION,0)}KW_GET_FORMAT(){return this.getToken(t.KW_GET_FORMAT,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_INVISIBLE(){return this.getToken(t.KW_INVISIBLE,0)}KW_LAG(){return this.getToken(t.KW_LAG,0)}KW_LAST_VALUE(){return this.getToken(t.KW_LAST_VALUE,0)}KW_LEAD(){return this.getToken(t.KW_LEAD,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_LINESTRING(){return this.getToken(t.KW_LINESTRING,0)}KW_MICROSECOND(){return this.getToken(t.KW_MICROSECOND,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}MOD(){return this.getToken(t.MOD,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_MULTILINESTRING(){return this.getToken(t.KW_MULTILINESTRING,0)}KW_MULTIPOINT(){return this.getToken(t.KW_MULTIPOINT,0)}KW_MULTIPOLYGON(){return this.getToken(t.KW_MULTIPOLYGON,0)}KW_NTH_VALUE(){return this.getToken(t.KW_NTH_VALUE,0)}KW_NTILE(){return this.getToken(t.KW_NTILE,0)}KW_PERCENT_RANK(){return this.getToken(t.KW_PERCENT_RANK,0)}KW_POINT(){return this.getToken(t.KW_POINT,0)}KW_POLYGON(){return this.getToken(t.KW_POLYGON,0)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}KW_QUARTER(){return this.getToken(t.KW_QUARTER,0)}KW_RANDOM(){return this.getToken(t.KW_RANDOM,0)}KW_RANK(){return this.getToken(t.KW_RANK,0)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_ROW_COUNT(){return this.getToken(t.KW_ROW_COUNT,0)}KW_ROW_NUMBER(){return this.getToken(t.KW_ROW_NUMBER,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}KW_SESSION_VARIABLES_ADMIN(){return this.getToken(t.KW_SESSION_VARIABLES_ADMIN,0)}KW_SRID(){return this.getToken(t.KW_SRID,0)}KW_SYSTEM_USER(){return this.getToken(t.KW_SYSTEM_USER,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_VISIBLE(){return this.getToken(t.KW_VISIBLE,0)}KW_WEEK(){return this.getToken(t.KW_WEEK,0)}KW_WEIGHT_STRING(){return this.getToken(t.KW_WEIGHT_STRING,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_JSON_VALUE(){return this.getToken(t.KW_JSON_VALUE,0)}KW_JSON_TABLE(){return this.getToken(t.KW_JSON_TABLE,0)}get ruleIndex(){return t.RULE_functionNameBase}enterRule(e){e.enterFunctionNameBase&&e.enterFunctionNameBase(this)}exitRule(e){e.exitFunctionNameBase&&e.exitFunctionNameBase(this)}accept(e){return e.visitFunctionNameBase?e.visitFunctionNameBase(this):e.visitChildren(this)}}var Bu=Object.defineProperty,Kt=(n,e)=>Bu(n,"name",{value:e,configurable:!0}),C0=(Yn=class{constructor(e=""){R(this,"name");R(this,"context");R(this,"modifiers",new Set);R(this,"visibility",0);tt(this,It,void 0);this.name=e}get parent(){return p(this,It)}get firstSibling(){var e;if(p(this,It))return(e=p(this,It))==null?void 0:e.firstChild}get previousSibling(){if(p(this,It))return p(this,It)?p(this,It).previousSiblingOf(this):this}get nextSibling(){var e;return(e=p(this,It))==null?void 0:e.nextSiblingOf(this)}get lastSibling(){var e;return(e=p(this,It))==null?void 0:e.lastChild}get next(){var e;return(e=p(this,It))==null?void 0:e.nextOf(this)}get root(){let e=p(this,It);for(;e;){if(!e.parent||this.isSymbolTable(e.parent))return e;e=e.parent}return e}get symbolTable(){if(this.isSymbolTable(this))return this;let e=p(this,It);for(;e;){if(this.isSymbolTable(e))return e;e=e.parent}}get symbolPath(){const e=[];let i=this;for(;i&&(e.push(i),!!i.parent);)i=i.parent;return e}setParent(e){$(this,It,e)}removeFromParent(){var e;(e=p(this,It))==null||e.removeSymbol(this),$(this,It,void 0)}async resolve(e,i=!1){var s;return(s=p(this,It))==null?void 0:s.resolve(e,i)}resolveSync(e,i=!1){var s;return(s=p(this,It))==null?void 0:s.resolveSync(e,i)}getParentOfType(e){let i=p(this,It);for(;i;){if(i instanceof e)return i;i=i.parent}}qualifiedName(e=".",i=!1,s=!1){if(!s&&this.name.length===0)return"";let h=this.name.length===0?"":this.name,a=p(this,It);for(;a&&((s||a.name.length>0)&&(h=(a.name.length===0?"":a.name)+e+h),!(!i||!a.parent));)a=a.parent;return h}isSymbolTable(e){return e.info!==void 0}},It=new WeakMap,Kt(Yn,"BaseSymbol"),Yn);Vn=class extends C0{constructor(i,s,h,a=0){super(i);R(this,"elementType");R(this,"size");R(this,"referenceKind");this.referenceKind=s,this.elementType=h,this.size=a}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},Kt(Vn,"ArrayType");var Y4=(Xn=class extends Error{},Kt(Xn,"DuplicateSymbolError"),Xn),N0=(Ke=class extends C0{constructor(i=""){super(i);tt(this,ct,[]);tt(this,ve,new Map)}get directScopes(){return this.getSymbolsOfType(Ke)}get children(){return p(this,ct)}get firstChild(){if(p(this,ct).length>0)return p(this,ct)[0]}get lastChild(){if(p(this,ct).length>0)return p(this,ct)[p(this,ct).length-1]}clear(){$(this,ct,[]),p(this,ve).clear()}addSymbol(i){i.removeFromParent();const s=this.symbolTable,h=p(this,ve).get(i.name);if(!s||!s.options.allowDuplicateSymbols){if(h!==void 0)throw new Y4("Attempt to add duplicate symbol '"+(i.name??"")+"'");if(p(this,ve).set(i.name,1),p(this,ct).indexOf(i)>-1)throw new Y4("Attempt to add duplicate symbol '"+(i.name??"")+"'")}else p(this,ve).set(i.name,h===void 0?1:h+1);p(this,ct).push(i),i.setParent(this)}removeSymbol(i){const s=p(this,ct).indexOf(i);if(s>-1){p(this,ct).splice(s,1),i.setParent(void 0);const h=p(this,ve).get(i.name);h!==void 0&&(h===1?p(this,ve).delete(i.name):p(this,ve).set(i.name,h-1))}}async getNestedSymbolsOfType(i){const s=[],h=[];return p(this,ct).forEach(c=>{c instanceof i&&s.push(c),c instanceof Ke&&h.push(c.getNestedSymbolsOfType(i))}),(await Promise.all(h)).forEach(c=>{s.push(...c)}),s}getNestedSymbolsOfTypeSync(i){const s=[];return p(this,ct).forEach(h=>{h instanceof i&&s.push(h),h instanceof Ke&&s.push(...h.getNestedSymbolsOfTypeSync(i))}),s}async getAllNestedSymbols(i){const s=[],h=[];return p(this,ct).forEach(c=>{(!i||c.name===i)&&s.push(c),c instanceof Ke&&h.push(c.getAllNestedSymbols(i))}),(await Promise.all(h)).forEach(c=>{s.push(...c)}),s}getAllNestedSymbolsSync(i){const s=[];return p(this,ct).forEach(h=>{(!i||h.name===i)&&s.push(h),h instanceof Ke&&s.push(...h.getAllNestedSymbolsSync(i))}),s}getSymbolsOfType(i){return new Promise(s=>{const h=[];p(this,ct).forEach(a=>{a instanceof i&&h.push(a)}),s(h)})}async getAllSymbols(i,s=!1){const h=[];for(const a of p(this,ct))if(a instanceof i&&h.push(a),this.isNamespace(a)){const c=await a.getAllSymbols(i,!0);h.push(...c)}if(!s&&this.parent){const a=await this.getAllSymbols(i,!0);h.push(...a)}return h}getAllSymbolsSync(i,s=!1){const h=[];for(const a of p(this,ct))if(a instanceof i&&h.push(a),this.isNamespace(a)){const c=a.getAllSymbolsSync(i,!0);h.push(...c)}if(!s&&this.parent){const a=this.getAllSymbolsSync(i,!0);h.push(...a)}return h}async resolve(i,s=!1){return new Promise(h=>{for(const a of p(this,ct))if(a.name===i){h(a);return}if(!s&&this.parent){h(this.parent.resolve(i,!1));return}h(void 0)})}resolveSync(i,s=!1){for(const h of p(this,ct))if(h.name===i)return h;if(!s&&this.parent)return this.parent.resolveSync(i,!1)}symbolFromPath(i,s="."){const h=i.split(s);let a=0;(h[0]===this.name||h[0].length===0)&&++a;let c=this;for(;aE.name===h[a]);if(!r)return;c=r,++a}return c}indexOfChild(i){return p(this,ct).findIndex(s=>s===i)}nextSiblingOf(i){const s=this.indexOfChild(i);if(!(s===-1||s>=p(this,ct).length-1))return p(this,ct)[s+1]}previousSiblingOf(i){const s=this.indexOfChild(i);if(!(s<1))return p(this,ct)[s-1]}nextOf(i){if(!i.parent)return;if(i.parent!==this)return i.parent.nextOf(i);if(i instanceof Ke&&i.children.length>0)return i.children[0];const s=this.nextSiblingOf(i);return s||this.parent.nextOf(this)}isNamespace(i){return i.inline!==void 0&&i.attributes!==void 0}},ct=new WeakMap,ve=new WeakMap,Kt(Ke,"ScopedSymbol"),Ke);Qn=class extends N0{},Kt(Qn,"BlockSymbol");var V4=(Zn=class extends C0{constructor(i,s){super(i);R(this,"type");this.type=s}},Kt(Zn,"TypedSymbol"),Zn),u3=(Jn=class extends V4{constructor(i,s,h){super(i,h);R(this,"value");this.value=s}},Kt(Jn,"VariableSymbol"),Jn),X4=(zn=class extends u3{constructor(){super(...arguments);R(this,"setter");R(this,"getter")}},Kt(zn,"FieldSymbol"),zn),Fu=(jn=class extends u3{},Kt(jn,"ParameterSymbol"),jn),Gu=($n=class extends N0{constructor(i,s){super(i);R(this,"returnType");this.returnType=s}getVariables(i=!0){return this.getSymbolsOfType(u3)}getParameters(i=!0){return this.getSymbolsOfType(Fu)}},Kt($n,"RoutineSymbol"),$n),Q4=(Mn=class extends Gu{constructor(){super(...arguments);R(this,"methodFlags",0)}},Kt(Mn,"MethodSymbol"),Mn);Pn=class extends N0{constructor(i,s,h){super(i);R(this,"isStruct",!1);R(this,"reference",0);R(this,"extends");R(this,"implements");this.extends=s,this.implements=h}get baseTypes(){return this.extends}get kind(){return 7}getMethods(i=!1){return this.getSymbolsOfType(Q4)}getFields(i=!1){return this.getSymbolsOfType(X4)}},Kt(Pn,"ClassSymbol"),ne=class{constructor(e,i=0,s=0){R(this,"name");R(this,"typeKind");R(this,"referenceKind");this.name=e,this.typeKind=i,this.referenceKind=s}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},Kt(ne,"FundamentalType"),R(ne,"integerType",new ne("int",1,3)),R(ne,"floatType",new ne("float",2,3)),R(ne,"stringType",new ne("string",4,3)),R(ne,"boolType",new ne("bool",6,3)),yn=class extends N0{constructor(i,s){super(i);R(this,"reference",0);R(this,"extends");this.extends=s}get baseTypes(){return this.extends}get kind(){return 8}getMethods(i=!1){return this.getSymbolsOfType(Q4)}getFields(i=!1){return this.getSymbolsOfType(X4)}},Kt(yn,"InterfaceSymbol"),qn=class extends V4{constructor(i,s,h){super(i,h);R(this,"value");this.value=s}},Kt(qn,"LiteralSymbol");var t2=(t7=class extends N0{constructor(i,s=!1,h=[]){super(i);R(this,"inline");R(this,"attributes");this.inline=s,this.attributes=h}},Kt(t7,"NamespaceSymbol"),t7);e7=class extends C0{constructor(i,s){super(i);R(this,"targetType");this.targetType=s}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},Kt(e7,"TypeAlias");var bu=Kt((n,e)=>{if(!n||!e)return[];let i;for(i=0;i=e||r.type===l.EOF)||r.type===l.EOF)break}const a=[],c=i?i.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[c],0,a,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const E of this.candidates.rules){let K="";for(const T of E[1].ruleList)K+=this.ruleNames[T]+" ";console.log(this.ruleNames[E[0]]+", path: ",K)}const r=new Set;for(const E of this.candidates.tokens){let K=this.vocabulary.getDisplayName(E[0])??"";for(const T of E[1])K+=" "+this.vocabulary.getDisplayName(T);r.add(K)}console.log(` + +Collected tokens: +`);for(const E of r)console.log(E);console.log(` + +`)}return this.candidates}checkPredicate(e){return e.getPredicate().evaluate(this.parser,W.EMPTY)}translateStackToRuleIndex(e){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let i=e.length-1;i>=0;i--)if(this.translateToRuleIndex(i,e))return!0}else for(let i=0;ir);let c=!0;for(const r of this.candidates.rules)if(!(r[0]!==s||r[1].ruleList.length!==a.length)&&a.every((E,K)=>E===r[1].ruleList[K])){c=!1;break}return c&&(this.candidates.rules.set(s,{startTokenIndex:h,ruleList:a}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[s])),!0}return!1}getFollowingTokens(e){const i=[],s=[e.target];for(;s.length>0;){const h=s.pop();h&&h.transitions.forEach(a=>{if(a.serializationType===G.ATOM)if(a.isEpsilon)s.push(a.target);else{const c=a.label.toArray();c.length===1&&!this.ignoredTokens.has(c[0])&&(i.push(c[0]),s.push(a.target))}})}return i}determineFollowSets(e,i){const s=[],h=[],a=[],c=this.collectFollowSets(e,i,s,h,a),r=new Ht;for(const E of s)r.addSet(E.intervals);return{sets:s,isExhaustive:c,combined:r}}collectFollowSets(e,i,s,h,a){if(h.find(r=>r===e))return!0;if(h.push(e),e===i||e.stateType===Z.RULE_STOP)return h.pop(),!1;let c=!0;for(const r of e.transitions)if(r.serializationType===G.RULE){const E=r;if(a.indexOf(E.target.ruleIndex)!==-1)continue;a.push(E.target.ruleIndex);const K=this.collectFollowSets(r.target,i,s,h,a);if(a.pop(),!K){const T=this.collectFollowSets(E.followState,i,s,h,a);c&&(c=T)}}else if(r.serializationType===G.PREDICATE){if(this.checkPredicate(r)){const E=this.collectFollowSets(r.target,i,s,h,a);c&&(c=E)}}else if(r.isEpsilon){const E=this.collectFollowSets(r.target,i,s,h,a);c&&(c=E)}else if(r.serializationType===G.WILDCARD){const E=new Z4;E.intervals=Ht.of(l.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),E.path=a.slice(),s.push(E)}else{let E=r.label;if(E&&E.length>0){r.serializationType===G.NOT_SET&&(E=E.complement(l.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const K=new Z4;K.intervals=E??new Ht,K.path=a.slice(),K.following=this.getFollowingTokens(r),s.push(K)}}return h.pop(),c}processRule(e,i,s,h,a){let c=this.shortcutMap.get(e.ruleIndex);if(!c)c=new Map,this.shortcutMap.set(e.ruleIndex,c);else if(c.has(i))return this.showDebugOutput&&console.log("=====> shortcut"),c.get(i);const r=new Set;let E=me.followSetsByATN.get(this.parser.constructor.name);E||(E=new Map,me.followSetsByATN.set(this.parser.constructor.name,E));let K=E.get(e.stateNumber);if(!K){const C=this.atn.ruleToStopState[e.ruleIndex];K=this.determineFollowSets(e,C),E.set(e.stateNumber,K)}const T=this.tokens[i].tokenIndex;if(s.push({startTokenIndex:T,ruleIndex:e.ruleIndex}),i>=this.tokens.length-1){if(this.preferredRules.has(e.ruleIndex))this.translateStackToRuleIndex(s);else for(const C of K.sets){const m=s.slice(),U=C.path.map(D=>({startTokenIndex:T,ruleIndex:D}));if(m.push(...U),!this.translateStackToRuleIndex(m))for(const D of C.intervals.toArray())this.ignoredTokens.has(D)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(D)),this.candidates.tokens.has(D)?this.candidates.tokens.get(D)!==C.following&&this.candidates.tokens.set(D,[]):this.candidates.tokens.set(D,C.following))}return K.isExhaustive||r.add(i),s.pop(),r}else{const C=this.tokens[i].type;if(K.isExhaustive&&!K.combined.contains(C))return s.pop(),r}e.isPrecedenceRule&&this.precedenceStack.push(h);const _=[];let A;for(_.push({state:e,tokenListIndex:i});_.length>0;){A=_.pop(),++this.statesProcessed;const C=this.tokens[A.tokenListIndex].type,m=A.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(a,A.state,this.generateBaseDescription(A.state),A.tokenListIndex),this.showRuleStack&&this.printRuleState(s)),A.state.stateType===Z.RULE_STOP){r.add(A.tokenListIndex);continue}const U=A.state.transitions;for(const D of U)switch(D.serializationType){case G.RULE:{const B=D,N=this.processRule(D.target,A.tokenListIndex,s,B.precedence,a+1);for(const O of N)_.push({state:D.followState,tokenListIndex:O});break}case G.PREDICATE:{this.checkPredicate(D)&&_.push({state:D.target,tokenListIndex:A.tokenListIndex});break}case G.PRECEDENCE:{D.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&_.push({state:D.target,tokenListIndex:A.tokenListIndex});break}case G.WILDCARD:{if(m){if(!this.translateStackToRuleIndex(s))for(const B of Ht.of(l.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(B)||this.candidates.tokens.set(B,[])}else _.push({state:D.target,tokenListIndex:A.tokenListIndex+1});break}default:{if(D.isEpsilon){_.push({state:D.target,tokenListIndex:A.tokenListIndex});continue}let B=D.label;if(B&&B.length>0)if(D.serializationType===G.NOT_SET&&(B=B.complement(l.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),m){if(!this.translateStackToRuleIndex(s)){const N=B.toArray(),O=N.length===1;for(const x of N)if(!this.ignoredTokens.has(x)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(x));const f=O?this.getFollowingTokens(D):[];this.candidates.tokens.has(x)?this.candidates.tokens.set(x,bu(f,this.candidates.tokens.get(x))):this.candidates.tokens.set(x,f)}}}else B.contains(C)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(C)),_.push({state:D.target,tokenListIndex:A.tokenListIndex+1}))}}}return s.pop(),e.isPrecedenceRule&&this.precedenceStack.pop(),c.set(i,r),r}generateBaseDescription(e){return`[${e.stateNumber===Ue.INVALID_STATE_NUMBER?"Invalid":e.stateNumber} ${me.atnStateTypeMap[e.stateType]}] in ${this.ruleNames[e.ruleIndex]}`}printDescription(e,i,s,h){const a=" ".repeat(e);let c=a,r="";if(this.debugOutputWithTransitions)for(const E of i.transitions){let K="";const T=E.label?E.label.toArray():[];if(T.length>2)K=this.vocabulary.getDisplayName(T[0])+" .. "+this.vocabulary.getDisplayName(T[T.length-1]);else for(const _ of T)K.length>0&&(K+=", "),K+=this.vocabulary.getDisplayName(_);K.length===0&&(K="ε"),r+=` +${a} (${K}) [${E.target.stateNumber} ${me.atnStateTypeMap[E.target.stateType]}] in ${this.ruleNames[E.target.ruleIndex]}`}h>=this.tokens.length-1?c+=`<<${this.tokenStartIndex+h}>> `:c+=`<${this.tokenStartIndex+h}> `,console.log(c+"Current state: "+s+r)}printRuleState(e){if(e.length===0){console.log("");return}for(const i of e)console.log(this.ruleNames[i.ruleIndex])}},Kt(me,"CodeCompletionCore"),R(me,"followSetsByATN",new Map),R(me,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),me);n7=class extends N0{constructor(i,s){super(i);R(this,"dependencies",new Set);this.options=s}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...i){i.forEach(s=>{this.dependencies.add(s)})}removeDependency(i){this.dependencies.has(i)&&this.dependencies.delete(i)}addNewSymbolOfType(i,s,...h){const a=new i(...h);return!s||s===this?this.addSymbol(a):s.addSymbol(a),a}async addNewNamespaceFromPath(i,s,h="."){const a=s.split(h);let c=0,r=i===void 0?this:i;for(;cc.getAllSymbols(i,s)))).forEach(c=>{h.push(...c)}),h}getAllSymbolsSync(i,s=!1){const h=super.getAllSymbolsSync(i,s);return s||this.dependencies.forEach(a=>{h.push(...a.getAllSymbolsSync(i,s))}),h}async symbolWithContext(i){const s=Kt(a=>{if(a.context===i)return a;if(a instanceof N0)for(const c of a.children){const r=s(c);if(r)return r}},"findRecursive");let h=await this.getAllSymbols(C0);for(const a of h){const c=s(a);if(c)return c}for(const a of this.dependencies){h=await a.getAllSymbols(C0);for(const c of h){const r=s(c);if(r)return r}}}symbolWithContextSync(i){const s=Kt(a=>{if(a.context===i)return a;if(a instanceof N0)for(const c of a.children){const r=s(c);if(r)return r}},"findRecursive");let h=this.getAllSymbolsSync(C0);for(const a of h){const c=s(a);if(c)return c}for(const a of this.dependencies){h=a.getAllSymbolsSync(C0);for(const c of h){const r=s(c);if(r)return r}}}async resolve(i,s=!1){let h=await super.resolve(i,s);if(!h&&!s){for(const a of this.dependencies)if(h=await a.resolve(i,!1),h)return h}return h}resolveSync(i,s=!1){let h=super.resolveSync(i,s);if(!h&&!s){for(const a of this.dependencies)if(h=a.resolveSync(i,!1),h)return h}return h}},Kt(n7,"SymbolTable");function z4(n,e){var i,s;const{lineNumber:h,column:a}=n;let c=0,r=e.length-1;for(;c<=r;){const E=c+(r-c>>1),K=e[E];if(K.line>h||K.line===h&&K.column+1>=a)r=E-1;else if(K.line{this._parseErrors.push(e)},this.locale="en_US"}createLexer(e,i){const s=X2.fromString(e),h=this.createLexerFromCharStream(s);return i&&(h.removeErrorListeners(),h.addErrorListener(this.createErrorListener(i))),h}createParser(e,i){const s=this.createLexer(e,i),h=new N7(s),a=this.createParserFromTokenStream(h);return a.interpreter.predictionMode=Nt.SLL,i&&(a.removeErrorListeners(),a.addErrorListener(this.createErrorListener(i))),a}parse(e,i){const s=this.createParser(e,i);return s.buildParseTrees=!0,s.errorHandler=new R3,s.program()}createParserWithCache(e){return this._parseTree=null,this._charStreams=X2.fromString(e),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new N7(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=Nt.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new R3,this._parser}parseWithCache(e,i){if(this._parsedInput===e&&!i&&this._parseTree)return this._parseTree;this._parseErrors=[];const s=this.createParserWithCache(e);return this._parsedInput=e,s.removeErrorListeners(),s.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=s.program(),this._parseTree}validate(e){return this.parseWithCache(e),this._parseErrors}getAllTokens(e){this.parseWithCache(e);let i=this._tokenStream.getTokens();return i[i.length-1].text===""&&(i=i.slice(0,-1)),i}listen(e,i){sr.DEFAULT.walk(e,i)}splitSQLByStatement(e){if(this.validate(e).length||!this._parseTree)return null;const s=this.splitListener;return this.listen(s,this._parseTree),s.statementsContext.map(a=>e2(a,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(e,i){var s,h,a,c,r,E,K,T,_;const A=this.splitListener;if(this.parseWithCache(e),!this._parseTree)return null;let C=this._parser;const m=this.getAllTokens(e);let U=z4(i,m),D=this._parseTree,B=0;if(!U&&U!==0)return null;this.listen(A,this._parseTree);const N=(s=A.statementsContext)===null||s===void 0?void 0:s.length,O=A.statementsContext;if(N>1){let S=null,J=null;for(let A1=0;A1U&&sR){J=I1;break}}const Ot=(r=(c=S==null?void 0:S.start)===null||c===void 0?void 0:c.start)!==null&&r!==void 0?r:0,q=(K=(E=J==null?void 0:J.stop)===null||E===void 0?void 0:E.stop)!==null&&K!==void 0?K:e.length-1;B=(_=(T=S==null?void 0:S.start)===null||T===void 0?void 0:T.tokenIndex)!==null&&_!==void 0?_:0,U=U-B;const v=e.slice(Ot,q),pe=this.createLexer(v);pe.removeErrorListeners();const q4=new N7(pe);q4.fill();const ti=this.createParserFromTokenStream(q4);ti.interpreter.predictionMode=Nt.SLL,ti.removeErrorListeners(),ti.buildParseTrees=!0,ti.errorHandler=new R3,C=ti,D=ti.program()}const x=new J4(C);x.preferredRules=this.preferredRules;const f=x.collectCandidates(U,D),b=this.processCandidates(f,m,U,B);return{syntax:b.syntax.map(S=>{const J=S.wordRanges.map(Ot=>j4(Ot,this._parsedInput));return{syntaxContextType:S.syntaxContextType,wordRanges:J}}),keywords:b.keywords}}getAllEntities(e,i){const s=this.getAllTokens(e),h=i?z4(i,s):void 0,a=this.createEntityCollector(e,h),c=this.parseWithCache(e);return this.listen(a,c),a.getEntities()}}var et;(function(n){n.CATALOG="catalog",n.CATALOG_CREATE="catalogCreate",n.DATABASE="database",n.DATABASE_CREATE="databaseCreate",n.TABLE="table",n.TABLE_CREATE="tableCreate",n.VIEW="view",n.VIEW_CREATE="viewCreate",n.FUNCTION="function",n.FUNCTION_CREATE="functionCreate",n.PROCEDURE="procedure",n.PROCEDURE_CREATE="procedureCreate",n.COLUMN="column",n.COLUMN_CREATE="columnCreate"})(et||(et={}));class Vu{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class Xu extends Vu{exitSingleStatement(e){this._statementsContext.push(e)}}class $4{constructor(){this.stack=[]}push(e){this.stack.push(e)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var T3=function(n,e){var i={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(i[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,s=Object.getOwnPropertySymbols(n);h=0&&(h=!!e.start&&!!e.stop&&e.start.tokenIndex<=this._caretTokenIndex&&e.stop.tokenIndex>=this._caretTokenIndex);const a=Qu(e,i,this._input,this._rootStmt,this._stmtStack.peek(),h);return a&&((this._stmtStack.isEmpty()||((s=this._stmtStack.peek())===null||s===void 0?void 0:s.stmtContextType)===Ut.COMMON_STMT)&&(this._rootStmt=a),this._stmtStack.push(a)),a}popStmt(){const e=this._stmtStack.pop();return e&&this._rootStmt===e&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(e)),e}pushEntity(e,i,s){const h=Ju(e,i,this._input,this._stmtStack.peek(),s);return h&&(this._stmtStack.isEmpty()?this._entitiesSet.add(h):this._entityStack.push(h)),h}combineEntitiesAndAdd(e){const i=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===e||this._entityStack.peek().belongStmt.rootStmt===e);)i.unshift(this._entityStack.pop());const s=this.combineRootStmtEntities(e,i);for(;s.length;){const h=s.shift();h&&this._entitiesSet.add(h)}}combineRootStmtEntities(e,i){return e.stmtContextType===Ut.CREATE_VIEW_STMT||e.stmtContextType===Ut.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(e,i):i}combineCreateTableOrViewStmtEntities(e,i){const s=[],h=[];let a=null;const c=i.reduce((r,E)=>{if(E.belongStmt!==e)return E.entityContextType!==et.COLUMN&&E.entityContextType!==et.COLUMN_CREATE&&(h.push(E),r.push(E)),r;if(E.entityContextType===et.COLUMN_CREATE)s.push(E);else{if(E.entityContextType===et.TABLE_CREATE||E.entityContextType===et.VIEW_CREATE)return a=E,r.push(E),r;E.entityContextType!==et.COLUMN&&(h.push(E),r.push(E))}return r},[]);return a&&s.length&&M4(a)&&(a=Object.assign(a,{columns:s})),a&&h.length&&(M4(a)||Zu(a))&&(a=Object.assign(a,{relatedEntities:h})),c}}class ju extends zu{exitDatabaseName(e){this.pushEntity(e,et.DATABASE)}exitDatabaseNameCreate(e){this.pushEntity(e,et.DATABASE_CREATE)}exitTableName(e){var i;const s=((i=this.getRootStmt())===null||i===void 0?void 0:i.stmtContextType)===Ut.SELECT_STMT;this.pushEntity(e,et.TABLE,s?[{attrName:Pe.alias,endContextList:[$0.name]}]:void 0)}exitTableNameCreate(e){this.pushEntity(e,et.TABLE_CREATE,[{attrName:Pe.comment,endContextList:[Ia.name]}])}exitViewName(e){this.pushEntity(e,et.VIEW)}exitViewNameCreate(e){this.pushEntity(e,et.VIEW_CREATE)}exitFunctionNameCreate(e){this.pushEntity(e,et.FUNCTION_CREATE,[{attrName:Pe.comment,endContextList:[z2.name]}])}exitColumnNameCreate(e){this.pushEntity(e,et.COLUMN_CREATE,[{attrName:Pe.comment,endContextList:[di.name]},{attrName:Pe.colType,endContextList:[di.name]}])}enterSingleStatement(e){this.pushStmt(e,Ut.COMMON_STMT)}exitSingleStatement(e){this.popStmt()}enterQueryCreateTable(e){this.pushStmt(e,Ut.CREATE_TABLE_STMT)}exitQueryCreateTable(e){this.popStmt()}enterColumnCreateTable(e){this.pushStmt(e,Ut.CREATE_TABLE_STMT)}exitColumnCreateTable(e){this.popStmt()}enterCopyCreateTable(e){this.pushStmt(e,Ut.CREATE_TABLE_STMT)}exitCopyCreateTable(e){this.popStmt()}enterCreateView(e){this.pushStmt(e,Ut.CREATE_VIEW_STMT)}exitCreateView(e){this.popStmt()}enterSimpleSelect(e){this.pushStmt(e,Ut.SELECT_STMT)}exitSimpleSelect(e){this.popStmt()}enterUnionAndLateralSelect(e){this.pushStmt(e,Ut.SELECT_STMT)}exitUnionAndLateralSelect(e){this.popStmt()}enterSelectExpression(e){this.pushStmt(e,Ut.SELECT_STMT)}exitSelectExpression(e){this.popStmt()}enterInsertStatement(e){this.pushStmt(e,Ut.INSERT_STMT)}exitInsertStatement(e){this.popStmt()}enterCreateDatabase(e){this.pushStmt(e,Ut.CREATE_DATABASE_STMT)}exitCreateDatabase(e){this.popStmt()}enterCreateFunction(e){this.pushStmt(e,Ut.CREATE_FUNCTION_STMT)}exitCreateFunction(e){this.popStmt()}enterCreateFunctionLoadable(e){this.pushStmt(e,Ut.CREATE_FUNCTION_STMT)}exitCreateFunctionLoadable(e){this.popStmt()}}const $u={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function Mu(n,e){const i=/{([^}]+)}/g;return n.replace(i,(s,h)=>$u[e][h]||"")}class Pu{constructor(e,i="en_US"){this.locale=i,this._errorListener=e}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(e,i,s,h,a,c){var r;let E="";if(i){let T=i;const _=e,A=T.type===l.EOF;A&&(T=_.tokenStream.get(T.tokenIndex-1));const C=(r=T.text)!==null&&r!==void 0?r:"",U=A&&C!==" "?"":this.getExpectedText(_,T);if(c)c instanceof W0||c instanceof L?(A?E="{stmtInComplete}":E=`'${C}' {noValidPosition}`,U.length>0&&(E+=`{expecting}${U}`)):E=a;else if(E=a,a.includes("extraneous")&&(E=`'${C}' {noValidPosition}${U.length?`{expecting}${U}`:""}`),a.includes("missing")){const D=/missing\s+'([^']+)'/,B=a.match(D);if(E="{missing}",B){const N=B[1];E+=`'${N}'`}else E+="{keyword}";E+=`{at}'${C}'`}}else if(c instanceof Ei){const T=e,_=T.inputStream;let A=T.getErrorDisplay(_.getText(T._tokenStartCharIndex,_.index));switch(A[0]){case"/":E="{unfinishedMultilineComment}";break;case'"':E="{unfinishedDoubleQuoted}";break;case"'":E="{unfinishedSingleQuoted}";break;case"`":E="{unfinishedTickQuoted}";break;default:E='"'+A+'" {noValidInput}';break}}E=Mu(E,this.locale);let K=h+1;i&&i.text!==null&&(K=h+i.text.length),this._errorListener&&this._errorListener({startLine:s,endLine:s,startColumn:h+1,endColumn:K+1,message:E},{e:c,line:s,msg:a,recognizer:e,offendingSymbol:i,charPositionInLine:h})}}class yu extends Pu{constructor(e,i,s){super(e,s),this.objectNames=new Map([[t.RULE_databaseName,"database"],[t.RULE_databaseNameCreate,"database"],[t.RULE_tableName,"table"],[t.RULE_tableNameCreate,"table"],[t.RULE_viewName,"view"],[t.RULE_viewNameCreate,"view"],[t.RULE_functionName,"function"],[t.RULE_functionNameCreate,"function"],[t.RULE_columnName,"column"],[t.RULE_columnNameCreate,"column"]]),this.preferredRules=i}getExpectedText(e,i){var s;let h="",a=(s=e.context)!==null&&s!==void 0?s:void 0;for(;a!=null&&a.parent;)a=a.parent;const c=new J4(e);c.preferredRules=this.preferredRules;const r=c.collectCandidates(i.tokenIndex,a);if(r.rules.size){const E=[];for(const K of r.rules){const[T]=K,_=this.objectNames.get(T);switch(T){case t.RULE_databaseName:case t.RULE_tableName:case t.RULE_functionName:case t.RULE_viewName:case t.RULE_columnName:{E.push(`{existing}${_}`);break}case t.RULE_databaseNameCreate:case t.RULE_tableNameCreate:case t.RULE_functionNameCreate:case t.RULE_viewNameCreate:case t.RULE_columnNameCreate:{E.push(`{new}${_}`);break}}}h=E.join("{or}")}return r.tokens.size&&(h+=h?"{orKeyword}":"{keyword}"),h}}class qu extends Yu{constructor(){super(...arguments),this.preferredRules=new Set([t.RULE_databaseName,t.RULE_databaseNameCreate,t.RULE_tableName,t.RULE_tableNameCreate,t.RULE_viewName,t.RULE_viewNameCreate,t.RULE_functionName,t.RULE_functionNameCreate,t.RULE_columnName,t.RULE_columnNameCreate])}createLexerFromCharStream(e){return new o(e)}createParserFromTokenStream(e){return new t(e)}get splitListener(){return new Xu}createErrorListener(e){return new yu(e,this.preferredRules,this.locale)}createEntityCollector(e,i){return new ju(e,i)}processCandidates(e,i,s,h){const a=[],c=[];for(const r of e.rules){const[E,K]=r,T=K.startTokenIndex+h,_=i.slice(T,s+h+1);let A;switch(E){case t.RULE_databaseName:{A=et.DATABASE;break}case t.RULE_databaseNameCreate:{A=et.DATABASE_CREATE;break}case t.RULE_tableName:{A=et.TABLE;break}case t.RULE_tableNameCreate:{A=et.TABLE_CREATE;break}case t.RULE_viewName:{A=et.VIEW;break}case t.RULE_viewNameCreate:{A=et.VIEW_CREATE;break}case t.RULE_functionName:{A=et.FUNCTION;break}case t.RULE_functionNameCreate:{A=et.FUNCTION_CREATE;break}case t.RULE_columnName:{A=et.COLUMN;break}case t.RULE_columnNameCreate:{A=et.COLUMN_CREATE;break}}A&&a.push({syntaxContextType:A,wordRanges:_})}for(const r of e.tokens){const E=this._parser.vocabulary.getSymbolicName(r[0]),K=this._parser.vocabulary.getDisplayName(r[0]);if(K&&E&&E.startsWith("KW_")){const T=K.startsWith("'")&&K.endsWith("'")?K.slice(1,-1):K;c.push(T)}}return{syntax:a,keywords:c}}}var Mi=function(n,e,i,s){function h(a){return a instanceof i?a:new i(function(c){c(a)})}return new(i||(i=Promise))(function(a,c){function r(T){try{K(s.next(T))}catch(_){c(_)}}function E(T){try{K(s.throw(T))}catch(_){c(_)}}function K(T){T.done?a(T.value):h(T.value).then(r,E)}K((s=s.apply(n,e||[])).next())})};class tR{constructor(e,i){this.keywords=[]}doValidation(e){return Mi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const i=this.parser.validate(e);return Promise.resolve(i)}return Promise.resolve([])})}parserTreeToString(e){return Mi(this,void 0,void 0,function*(){if(e){const i=this.parser.createParser(e),h=i.program().toStringTree(i);return Promise.resolve(h)}return Promise.resolve("")})}doCompletion(e,i){return Mi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const s=this.parser.getSuggestionAtCaretPosition(e,i);return Promise.resolve(s)}return Promise.resolve(null)})}doCompletionWithEntities(e,i){return Mi(this,void 0,void 0,function*(){var s;if(e=e||this.getTextDocument(),e){const h=this.parser.getSuggestionAtCaretPosition(e,i);let a=null;return!((s=h==null?void 0:h.syntax)===null||s===void 0)&&s.length&&(a=this.parser.getAllEntities(e,i)),Promise.resolve([h,a])}return Promise.resolve([null,null])})}getAllEntities(e,i){return Mi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const s=this.parser.getAllEntities(e,i);return Promise.resolve(s)}return Promise.resolve(null)})}getTextDocument(){const e=this._ctx.getMirrorModels()[0];return e&&e.getValue()}}class eR extends tR{constructor(e,i){super(e,i),this._ctx=e,this.parser=new qu}}self.onmessage=()=>{x5((n,e)=>new eR(n,e))}})(); diff --git a/assets/pgsql-6338d7e7.js b/assets/pgsql-3b70d09a.js similarity index 99% rename from assets/pgsql-6338d7e7.js rename to assets/pgsql-3b70d09a.js index 79969329..e825fb9e 100644 --- a/assets/pgsql-6338d7e7.js +++ b/assets/pgsql-3b70d09a.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const T={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","ADD","AGGREGATE","BY","CLUSTER","COMMENT","DATABASE","DELETE","DROP","EXECUTE","EXPLAIN","FUNCTION","GRANTED","IF","INDEX","INSERT","KEY","LOAD","LOCATION","LOCK","LOCKED","LOGGED","MATCH","MOVE","PARTITION","PREPARE","PRIVILEGES","RANGE","READ","REASSIGN","REFERENCING","REFRESH","REINDEX","RELATIVE","RELEASE","RENAME","REPLACE","RESET","RETURNS","REVOKE","ROLE","ROLLBACK","ROLLUP","ROUTINE","ROWS","RULE","SCHEMA","SEARCH","SET","SHOW","STORED","SUBSCRIPTION","TABLES","TRANSACTION","TRIGGER","TRUNCATE","UPDATE","VALUE","VIEW"],operators:["AND","OR","NOT","BETWEEN","IS","ISNULL","NOTNULL","NULL","TRUE","FALSE","LIKE","SIMILAR","TO","OVERLAPS","GROUPING","EXISTS","IN","SOME","ALL","DISTINCT"],builtinFunctions:["NUM_NONNULLS","NUM_NULLS","ABS","CBRT","CEIL","CEILING","DEGREES","DIV","ERF","ERFC","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","ROUND","SCALE","SIGN","SQRT","TRIM_SCALE","TRUNC","WIDTH_BUCKET","RANDOM","RANDOM_NORMAL","SETSEED","ACOS","ACOSD","ASIN","ASIND","ATAN","ATAND","ATAN2","ATAN2D","COS","COSD","COT","COTD","SIN","SIND","TAN","TAND","SINH","COSH","TANH","ASINH","ACOSH","ATANH","BTRIM","BIT_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","LOWER","LPAD","LTRIM","NORMALIZE","OCTET_LENGTH","OVERLAY","POSITION","RPAD","RTRIM","SUBSTRING","TRIM","UPPER","ASCII","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","MD5","PARSE_IDENT","PG_CLIENT_ENCODING","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH","REGEXP_MATCHS","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGEXP_SUBSTR","REPEAT","REPLACE","REVERSE","RIGHT","SPLIT_PART","STARTS_WITH","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","TO_ASCII","TO_HEX","TRANSLATE","UNISTR","FORMAT","BIT_COUNT","GET_BIT","GET_BYTE","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","CONVERT","CONVERT_FROM","CONVERT_TO","ENCODE","DECODE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","AGE","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_ADD","DATE_BIN","DATE_PART","DATE_SUBTRACT","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","STATEMENT_TIMESTAMP","TIMEOFDAY","TRANSACTION_TIMESTAMP","TO_TIMESTAMP","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","CENTER","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","NPOINTS","PCLOSE","POPEN","RADIUS","SLOPE","WIDTH","BOX","BOUND_BOX","CIRCLE","LINE","LSEG","PATH","POINT","POLYGON","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TEXT","MACADDR8_SET7BIT","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","NUMNODE","PLAINTO_TSQUERY","PHRASETO_TSQURY","WEBSEARCH_TO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","JSON_TO_TSVECTOR","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_RANK","TS_RANK_CD","TS_REWRITE","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","UNNEST","TS_DEBUG","TS_LEXIZE","TS_PARSE","TS_TOKEN_TYPE","TS_STAT","GEN_RANDOM_UUID","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLFOREST","XMLPI","XMLROOT","XMLAGG","XMLEXISTS","XML_IS_WELL_FORMED","XPATH","XPATH_EXISTS","XMLTABLE","TABLE_TO_XML","QUERY_TO_XML","CURSOR_TO_XML","TABLE_TO_XMLSCHEMA","QUERY_TO_XMLSCHEMA","CURSOR_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","CURSOR_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","DATABSE_TO_XML","DATABSE_TO_XMLSCHEMA","DATABSE_TO_XML_AND_XMLSCHEMA","XMLPARSE","TO_JSON","TO_JSONB","ARRAY_TO_JSON","JSON_ARRAY","ROW_TO_JSON","JSON_BUILD_ARRAY","JSONB_BUILD_ARRAY","JSON_OBJECT","JSONB_OBJECT","JSON_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSONB_ARRAY_LENGTH","JSON_EACH","JSONB_EACH","JSON_EACH_TEXT","JSONB_EACH_TEXT","JSON_EXTRACT_PATH","JSONB_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSONB_EXTRACT_PATH_TEXT","JSON_OBJECT_KEYS","JSONB_OBJECT_KEYS","JSON_POPULATE_RECORD","JSONB_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSONB_POPULATE_RECORDSET","JSON_TO_RECORD","JSONB_TO_RECORD","JSON_TO_RECORDSET","JSONB_TO_RECORDSET","JSONB_SET","JSONB_SET_LAX","JSONB_INSERT","JSON_STRIP_NULLS","JSONB_STRIP_NULLS","JSONB_PATH_EXISTS","JSONB_PATH_MATCH","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_FIRST","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY_TZ","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PRETTY","JSONB_TYPEOF","JSON_TYPEOF","TYPE","SIZE","DOUBLE","DATETIME","KEYVALUE","NEXTVAL","SETVAL","CURRVAL","LASTVAL","COALESCE","NULLIF","GREATEST","LEAST","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_SAMPLE","ARRAY_SHUFFLE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER_INC","UPPER_INC","LOWER_INF","UPPER_INF","RANGE_MERGE","MULTIRANGE","ANY_VALUE","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","EVERY","JSON_AGG","JSONB_AGG","JSON_OBJECT_AGG","JSONB_OBJECT_AGG","JSON_OBJECT_AGG_STRICT","JSONB_OBJECT_AGG_STRICT","JSON_OBJECT_AGG_UNIQUE","JSONB_OBJECT_AGG_UNIQUE","JSON_OBJECT_AGG_UNIQUE_STRICT","JSONB_OBJECT_AGG_UNIQUE_STRICT","MAX","MIN","RANGE_AGG","RANGE_INTERSECT_AGG","JSON_AGG_STRICT","JSONB_AGG_STRICT","STRING_AGG","SUM","XMLAGG","CORR","COVAR_POP","COVAR_SAMP","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","VARIANCE","VAR_POP","VAR_SAMP","PERCENTILE_CONT","PERCENTILE_DISC","RANK","SENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","DENSE_RANK","NTILE","LAG","LEAD","FIRST_VALUE","LAST_VALUE","NTH_VALUE","GENERATE_SERIES","GENERATE_SUBSCRIPTS","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_CONF_LOAD_TIME","PG_CURRENT_LOGFILE","PG_MY_TEMP_SCHEMA","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LISTENING_CHANNELS","PG_NOTIFICATION_QUEUE_USAGE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_TRIGGER_DEPTH","SESSION_USER","SYSTEM_USER","USER","VERSION","HAS_TABLE_PRIVILEGE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_PARAMETER_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TYPE_PRIVILEGE","PG_HAS_ROLE","ROW_SECURITY_ACTIVE","ACLDEFAULT","ACLEXPLODE","MAKEACLITEM","PG_COLLACTION_IS_VISIBLE","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLE_IS_VISIBLE","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPE_IS_VISIBLE","FORMAT_TYPE","PG_CHAR_TO_ENCODING","PG_ENCODING_TO_CHAR","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTIFY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_KEYWORDS","PG_GET_PARTKEYDEF","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_INDEXAM_HAS_PROPERTY","PG_OPTIONS_TO_TABLE","PG_SETTINGS_GET_FLAGS","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TYPEOF","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","PG_DESCRIBE_OBJECT","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_GET_OBJECT_ADDRESS","COL_DESCRIPTION","OBJ_DESCRIPTION","SHOBJ_DESCRIPTION","PG_INPUT_IS_VALID","PG_INPUT_ERROR_INFO","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_XACT_STATUS","PG_SNAPSHOT_XIP","PG_CURRENT_SNAPSHOT","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_VISIBLE_IN_SNAPSHOT","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_VISIBLE_IN_SNAPSHOT","TXID_STATUS","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_LAST_COMMITED_XACT","PG_CONTROL_CHECKPOINT","PG_CONTROL_SYSTEM","PG_CONTROL_INIT","PG_CONTROL_RECOVERY","CURRENT_SETTING","SET_CONFIG","PG_CANCEL_BACKEND","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_RELOAD_CONF","PG_ROTATE_LOGFILE","PG_TERMINATE_BACKEND","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_LSN","PG_BACKUP_START","PG_BACKUP_STOP","PG_SWITCH_WAL","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_SPLIT_WALFILE_NAME","PG_WAL_LSN_DIFF","PG_IS_IN_RECOVERY","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_GET_WAL_RESOURCE_MANAGERS","PG_IS_WAL_REPLAY_PAUSED","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_PROMOTE","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","PG_EXPORT_SNAPSHOT","PG_LOG_STANDBY_SNAPSHOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_DROP_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_REPLICATION_SLOT_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_PROGRESS","PG_LOGICAL_EMIT_MESSAGE","PG_COLUMN_SIZE","PG_COLUMN_COMPRESSION","PG_DATABASE_SIZE","PG_INDEXES_SIZE","PG_RELATION_SIZE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_TABLE_SIZE","PG_TABLESPACE_SIZE","PG_TOTAL_RELATION_SIZE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_FILENODE_RELATION","PG_COLLATION_ACTUAL_VERSION","PG_DATABASE_COLLATION_ACTUAL_VERSION","PG_IMPORT_SYSTEM_COLLATIONS","PG_PARTITION_TREE","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","BRIN_DESUMMARIZE_RANGE","GIN_CLEAN_PENDING_LIST","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_WALDIR","PG_LS_LOGICALSNAPDIR","PG_LS_REPLSLOTDIR","PG_LS_ARCHIVE_STATUSDIR","PG_LS_TMPDIR","PG_READ_FILE","PG_READ_BINARY_FILE","PG_STAT_FILE","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_MCV_LIST_ITEMS"],builtinVariables:[],typeKeywords:["SMALLINT","INTEGER","BIGINT","DECIMAL","NUMERIC","REAL","DOUBLE","PRECISION","SMALLSERIAL","SERIAL","BIGSERIAL","CHARACTER","VARYING","VARCHAR","CHARACTER","CAHR","BPCHAR","TEXT","BYTEA","JSON","GEOMETRY","MAP","ARRAY","INT","TIMESTAMP","DATE","INTERVAL","TIME","BOOLEAN","ENUM","NONE","INT4RANGE","INT8RANGE","NUMRANGE","TSRANGE","TSTZRANGE","DATERANGE","ANY","INTERNAL","UNKNOWN"],scopeKeywords:["PREPARE","END","DECLARE","CASE","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/\s+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}],[/"/,{token:E.STRING,next:"@stringDouble"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],stringDouble:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[[/DOUBLE\s+PRECISION\b/i,{token:E.TYPE}],[/REFERENCES\b/i,{token:E.TYPE}]]}};export{T as conf,R as language}; +import{T as E}from"./index-e7f600bf.js";const T={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","ADD","AGGREGATE","BY","CLUSTER","COMMENT","DATABASE","DELETE","DROP","EXECUTE","EXPLAIN","FUNCTION","GRANTED","IF","INDEX","INSERT","KEY","LOAD","LOCATION","LOCK","LOCKED","LOGGED","MATCH","MOVE","PARTITION","PREPARE","PRIVILEGES","RANGE","READ","REASSIGN","REFERENCING","REFRESH","REINDEX","RELATIVE","RELEASE","RENAME","REPLACE","RESET","RETURNS","REVOKE","ROLE","ROLLBACK","ROLLUP","ROUTINE","ROWS","RULE","SCHEMA","SEARCH","SET","SHOW","STORED","SUBSCRIPTION","TABLES","TRANSACTION","TRIGGER","TRUNCATE","UPDATE","VALUE","VIEW"],operators:["AND","OR","NOT","BETWEEN","IS","ISNULL","NOTNULL","NULL","TRUE","FALSE","LIKE","SIMILAR","TO","OVERLAPS","GROUPING","EXISTS","IN","SOME","ALL","DISTINCT"],builtinFunctions:["NUM_NONNULLS","NUM_NULLS","ABS","CBRT","CEIL","CEILING","DEGREES","DIV","ERF","ERFC","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","ROUND","SCALE","SIGN","SQRT","TRIM_SCALE","TRUNC","WIDTH_BUCKET","RANDOM","RANDOM_NORMAL","SETSEED","ACOS","ACOSD","ASIN","ASIND","ATAN","ATAND","ATAN2","ATAN2D","COS","COSD","COT","COTD","SIN","SIND","TAN","TAND","SINH","COSH","TANH","ASINH","ACOSH","ATANH","BTRIM","BIT_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","LOWER","LPAD","LTRIM","NORMALIZE","OCTET_LENGTH","OVERLAY","POSITION","RPAD","RTRIM","SUBSTRING","TRIM","UPPER","ASCII","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","MD5","PARSE_IDENT","PG_CLIENT_ENCODING","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH","REGEXP_MATCHS","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGEXP_SUBSTR","REPEAT","REPLACE","REVERSE","RIGHT","SPLIT_PART","STARTS_WITH","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","TO_ASCII","TO_HEX","TRANSLATE","UNISTR","FORMAT","BIT_COUNT","GET_BIT","GET_BYTE","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","CONVERT","CONVERT_FROM","CONVERT_TO","ENCODE","DECODE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","AGE","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_ADD","DATE_BIN","DATE_PART","DATE_SUBTRACT","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","STATEMENT_TIMESTAMP","TIMEOFDAY","TRANSACTION_TIMESTAMP","TO_TIMESTAMP","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","CENTER","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","NPOINTS","PCLOSE","POPEN","RADIUS","SLOPE","WIDTH","BOX","BOUND_BOX","CIRCLE","LINE","LSEG","PATH","POINT","POLYGON","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TEXT","MACADDR8_SET7BIT","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","NUMNODE","PLAINTO_TSQUERY","PHRASETO_TSQURY","WEBSEARCH_TO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","JSON_TO_TSVECTOR","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_RANK","TS_RANK_CD","TS_REWRITE","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","UNNEST","TS_DEBUG","TS_LEXIZE","TS_PARSE","TS_TOKEN_TYPE","TS_STAT","GEN_RANDOM_UUID","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLFOREST","XMLPI","XMLROOT","XMLAGG","XMLEXISTS","XML_IS_WELL_FORMED","XPATH","XPATH_EXISTS","XMLTABLE","TABLE_TO_XML","QUERY_TO_XML","CURSOR_TO_XML","TABLE_TO_XMLSCHEMA","QUERY_TO_XMLSCHEMA","CURSOR_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","CURSOR_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","DATABSE_TO_XML","DATABSE_TO_XMLSCHEMA","DATABSE_TO_XML_AND_XMLSCHEMA","XMLPARSE","TO_JSON","TO_JSONB","ARRAY_TO_JSON","JSON_ARRAY","ROW_TO_JSON","JSON_BUILD_ARRAY","JSONB_BUILD_ARRAY","JSON_OBJECT","JSONB_OBJECT","JSON_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSONB_ARRAY_LENGTH","JSON_EACH","JSONB_EACH","JSON_EACH_TEXT","JSONB_EACH_TEXT","JSON_EXTRACT_PATH","JSONB_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSONB_EXTRACT_PATH_TEXT","JSON_OBJECT_KEYS","JSONB_OBJECT_KEYS","JSON_POPULATE_RECORD","JSONB_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSONB_POPULATE_RECORDSET","JSON_TO_RECORD","JSONB_TO_RECORD","JSON_TO_RECORDSET","JSONB_TO_RECORDSET","JSONB_SET","JSONB_SET_LAX","JSONB_INSERT","JSON_STRIP_NULLS","JSONB_STRIP_NULLS","JSONB_PATH_EXISTS","JSONB_PATH_MATCH","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_FIRST","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY_TZ","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PRETTY","JSONB_TYPEOF","JSON_TYPEOF","TYPE","SIZE","DOUBLE","DATETIME","KEYVALUE","NEXTVAL","SETVAL","CURRVAL","LASTVAL","COALESCE","NULLIF","GREATEST","LEAST","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_SAMPLE","ARRAY_SHUFFLE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER_INC","UPPER_INC","LOWER_INF","UPPER_INF","RANGE_MERGE","MULTIRANGE","ANY_VALUE","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","EVERY","JSON_AGG","JSONB_AGG","JSON_OBJECT_AGG","JSONB_OBJECT_AGG","JSON_OBJECT_AGG_STRICT","JSONB_OBJECT_AGG_STRICT","JSON_OBJECT_AGG_UNIQUE","JSONB_OBJECT_AGG_UNIQUE","JSON_OBJECT_AGG_UNIQUE_STRICT","JSONB_OBJECT_AGG_UNIQUE_STRICT","MAX","MIN","RANGE_AGG","RANGE_INTERSECT_AGG","JSON_AGG_STRICT","JSONB_AGG_STRICT","STRING_AGG","SUM","XMLAGG","CORR","COVAR_POP","COVAR_SAMP","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","VARIANCE","VAR_POP","VAR_SAMP","PERCENTILE_CONT","PERCENTILE_DISC","RANK","SENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","DENSE_RANK","NTILE","LAG","LEAD","FIRST_VALUE","LAST_VALUE","NTH_VALUE","GENERATE_SERIES","GENERATE_SUBSCRIPTS","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_CONF_LOAD_TIME","PG_CURRENT_LOGFILE","PG_MY_TEMP_SCHEMA","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LISTENING_CHANNELS","PG_NOTIFICATION_QUEUE_USAGE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_TRIGGER_DEPTH","SESSION_USER","SYSTEM_USER","USER","VERSION","HAS_TABLE_PRIVILEGE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_PARAMETER_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TYPE_PRIVILEGE","PG_HAS_ROLE","ROW_SECURITY_ACTIVE","ACLDEFAULT","ACLEXPLODE","MAKEACLITEM","PG_COLLACTION_IS_VISIBLE","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLE_IS_VISIBLE","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPE_IS_VISIBLE","FORMAT_TYPE","PG_CHAR_TO_ENCODING","PG_ENCODING_TO_CHAR","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTIFY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_KEYWORDS","PG_GET_PARTKEYDEF","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_INDEXAM_HAS_PROPERTY","PG_OPTIONS_TO_TABLE","PG_SETTINGS_GET_FLAGS","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TYPEOF","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","PG_DESCRIBE_OBJECT","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_GET_OBJECT_ADDRESS","COL_DESCRIPTION","OBJ_DESCRIPTION","SHOBJ_DESCRIPTION","PG_INPUT_IS_VALID","PG_INPUT_ERROR_INFO","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_XACT_STATUS","PG_SNAPSHOT_XIP","PG_CURRENT_SNAPSHOT","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_VISIBLE_IN_SNAPSHOT","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_VISIBLE_IN_SNAPSHOT","TXID_STATUS","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_LAST_COMMITED_XACT","PG_CONTROL_CHECKPOINT","PG_CONTROL_SYSTEM","PG_CONTROL_INIT","PG_CONTROL_RECOVERY","CURRENT_SETTING","SET_CONFIG","PG_CANCEL_BACKEND","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_RELOAD_CONF","PG_ROTATE_LOGFILE","PG_TERMINATE_BACKEND","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_LSN","PG_BACKUP_START","PG_BACKUP_STOP","PG_SWITCH_WAL","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_SPLIT_WALFILE_NAME","PG_WAL_LSN_DIFF","PG_IS_IN_RECOVERY","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_GET_WAL_RESOURCE_MANAGERS","PG_IS_WAL_REPLAY_PAUSED","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_PROMOTE","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","PG_EXPORT_SNAPSHOT","PG_LOG_STANDBY_SNAPSHOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_DROP_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_REPLICATION_SLOT_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_PROGRESS","PG_LOGICAL_EMIT_MESSAGE","PG_COLUMN_SIZE","PG_COLUMN_COMPRESSION","PG_DATABASE_SIZE","PG_INDEXES_SIZE","PG_RELATION_SIZE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_TABLE_SIZE","PG_TABLESPACE_SIZE","PG_TOTAL_RELATION_SIZE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_FILENODE_RELATION","PG_COLLATION_ACTUAL_VERSION","PG_DATABASE_COLLATION_ACTUAL_VERSION","PG_IMPORT_SYSTEM_COLLATIONS","PG_PARTITION_TREE","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","BRIN_DESUMMARIZE_RANGE","GIN_CLEAN_PENDING_LIST","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_WALDIR","PG_LS_LOGICALSNAPDIR","PG_LS_REPLSLOTDIR","PG_LS_ARCHIVE_STATUSDIR","PG_LS_TMPDIR","PG_READ_FILE","PG_READ_BINARY_FILE","PG_STAT_FILE","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_MCV_LIST_ITEMS"],builtinVariables:[],typeKeywords:["SMALLINT","INTEGER","BIGINT","DECIMAL","NUMERIC","REAL","DOUBLE","PRECISION","SMALLSERIAL","SERIAL","BIGSERIAL","CHARACTER","VARYING","VARCHAR","CHARACTER","CAHR","BPCHAR","TEXT","BYTEA","JSON","GEOMETRY","MAP","ARRAY","INT","TIMESTAMP","DATE","INTERVAL","TIME","BOOLEAN","ENUM","NONE","INT4RANGE","INT8RANGE","NUMRANGE","TSRANGE","TSTZRANGE","DATERANGE","ANY","INTERNAL","UNKNOWN"],scopeKeywords:["PREPARE","END","DECLARE","CASE","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/\s+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}],[/"/,{token:E.STRING,next:"@stringDouble"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],stringDouble:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[[/DOUBLE\s+PRECISION\b/i,{token:E.TYPE}],[/REFERENCES\b/i,{token:E.TYPE}]]}};export{T as conf,R as language}; diff --git a/assets/pgsql.worker-ef889c71.js b/assets/pgsql.worker-ef889c71.js deleted file mode 100644 index e1044baf..00000000 --- a/assets/pgsql.worker-ef889c71.js +++ /dev/null @@ -1,22 +0,0 @@ -var bl=Object.defineProperty;var vl=(_t,at,lt)=>at in _t?bl(_t,at,{enumerable:!0,configurable:!0,writable:!0,value:lt}):_t[at]=lt;var o=(_t,at,lt)=>(vl(_t,typeof at!="symbol"?at+"":at,lt),lt),E7=(_t,at,lt)=>{if(!at.has(_t))throw TypeError("Cannot "+lt)};var x=(_t,at,lt)=>(E7(_t,at,"read from private field"),lt?lt.call(_t):at.get(_t)),q=(_t,at,lt)=>{if(at.has(_t))throw TypeError("Cannot add the same private member more than once");at instanceof WeakSet?at.add(_t):at.set(_t,lt)},J=(_t,at,lt,zi)=>(E7(_t,at,"write to private field"),zi?zi.call(_t,lt):at.set(_t,lt),lt);var _7=(_t,at,lt)=>(E7(_t,at,"access private method"),lt);(function(){var Ui,B1,V1,Xe,X0,ki,Y1,Ce,K0,R0,Q0,Kt,X1,Z0,Q1,ae,He,Z1,o0,we,z0,Di,z1,j0,A0,j1,J1,$1,Pt,S1,g1,J0,q1,Mi,yi,Hi,P1,T0,tn,en,wi,nn,bi,Qe,sn,wt,hn,cn,an,tt,xt,Et,un,l0,En,_n,Wn,r0,vi,C0,Kn,Rn,on,An,Tn,ln,rn,Cn,pn,dn,On,Ln,xn,Nn,mn,In,fn,Un,kn,$0,Fi,Gi,S0,Bi,Vi,g0,Yi,p0,Dn,Mn,bt,v,yn,Hn,wn,bn,vn,Fn,Gn,Ze,ze,Bn,Vn,Yn,Xi,Xn,Qn,q0,Zn,W7,zn,jn,Jn,$n,Q,Sn,gn,qn,Pn,ts,es,is,ns,d0,ss,hs,cs,as,us,Es,_s,Ws,Ks,Rs,os,As,Ts,ls,Dc,rs,Cs,ps,ds,pe,Os,Ls,xs,Mc,Qi,Ns,$t,ms,Is,fs,Us,Tt,ks,Ds,Ms,st,be,ue,ys,Hs,ws,bs,vs,Fs,Gs,Bs,te,Vs,Ys,Xs,Qs,Zs,zs,de,js;"use strict";class _t{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?new Error(e.message+` - -`+e.stack):e},0)}}emit(e){this.listeners.forEach(i=>{i(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const at=new _t;function lt(s){_o(s)||at.onUnexpectedError(s)}function zi(s){if(s instanceof Error){let{name:e,message:i}=s;const n=s.stacktrace||s.stack;return{$isError:!0,name:e,message:i,stack:n}}return s}const K7="Canceled";function _o(s){return s instanceof Error&&s.name===K7&&s.message===K7}function Wo(s){const e=this;let i=!1,n;return function(){return i||(i=!0,n=s.apply(e,arguments)),n}}var yc;(function(s){function e(d){return d&&typeof d=="object"&&typeof d[Symbol.iterator]=="function"}s.is=e;const i=Object.freeze([]);function n(){return i}s.empty=n;function*h(d){yield d}s.single=h;function c(d){return d||i}s.from=c;function a(d){return!d||d[Symbol.iterator]().next().done===!0}s.isEmpty=a;function _(d){return d[Symbol.iterator]().next().value}s.first=_;function W(d,p){for(const N of d)if(p(N))return!0;return!1}s.some=W;function R(d,p){for(const N of d)if(p(N))return N}s.find=R;function*A(d,p){for(const N of d)p(N)&&(yield N)}s.filter=A;function*T(d,p){let N=0;for(const I of d)yield p(I,N++)}s.map=T;function*l(...d){for(const p of d)for(const N of p)yield N}s.concat=l;function*O(d){for(const p of d)for(const N of p)yield N}s.concatNested=O;function m(d,p,N){let I=N;for(const G of d)I=p(I,G);return I}s.reduce=m;function*f(d,p,N=d.length){for(p<0&&(p+=d.length),N<0?N+=d.length:N>d.length&&(N=d.length);pI===G){const I=d[Symbol.iterator](),G=p[Symbol.iterator]();for(;;){const b=I.next(),M=G.next();if(b.done!==M.done)return!1;if(b.done)return!0;if(!N(b.value,M.value))return!1}}s.equals=F})(yc||(yc={}));function Fl(s){return s}function Gl(s,e){}class Ko extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function R7(s){if(yc.is(s)){let e=[];for(const i of s)if(i)try{i.dispose()}catch(n){e.push(n)}if(e.length===1)throw e[0];if(e.length>1)throw new Ko(e);return Array.isArray(s)?[]:s}else if(s)return s.dispose(),s}function Ro(...s){return o7(()=>R7(s))}function o7(s){return{dispose:Wo(()=>{s()})}}class ji{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{R7(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?ji.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}ji.DISABLE_DISPOSED_WARNING=!1;class A7{constructor(){this._store=new ji,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}A7.None=Object.freeze({dispose(){}});class et{constructor(e){this.element=e,this.next=et.Undefined,this.prev=et.Undefined}}et.Undefined=new et(void 0);class T7{constructor(){this._first=et.Undefined,this._last=et.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===et.Undefined}clear(){let e=this._first;for(;e!==et.Undefined;){const i=e.next;e.prev=et.Undefined,e.next=et.Undefined,e=i}this._first=et.Undefined,this._last=et.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,i){const n=new et(e);if(this._first===et.Undefined)this._first=n,this._last=n;else if(i){const c=this._last;this._last=n,n.prev=c,c.next=n}else{const c=this._first;this._first=n,n.next=c,c.prev=n}this._size+=1;let h=!1;return()=>{h||(h=!0,this._remove(n))}}shift(){if(this._first!==et.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==et.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==et.Undefined&&e.next!==et.Undefined){const i=e.prev;i.next=e.next,e.next.prev=i}else e.prev===et.Undefined&&e.next===et.Undefined?(this._first=et.Undefined,this._last=et.Undefined):e.next===et.Undefined?(this._last=this._last.prev,this._last.next=et.Undefined):e.prev===et.Undefined&&(this._first=this._first.next,this._first.prev=et.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==et.Undefined;)yield e.element,e=e.next}}var Hc;const Js="en";let wc=!1,bc=!1,vc=!1,Ji,$s=Js,oo,O0;const kt=typeof self=="object"?self:typeof global=="object"?global:{};let vt;typeof kt.vscode<"u"&&typeof kt.vscode.process<"u"?vt=kt.vscode.process:typeof process<"u"&&(vt=process);const Ao=typeof((Hc=vt==null?void 0:vt.versions)===null||Hc===void 0?void 0:Hc.electron)=="string"&&(vt==null?void 0:vt.type)==="renderer";if(typeof navigator=="object"&&!Ao)O0=navigator.userAgent,wc=O0.indexOf("Windows")>=0,bc=O0.indexOf("Macintosh")>=0,(O0.indexOf("Macintosh")>=0||O0.indexOf("iPad")>=0||O0.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,vc=O0.indexOf("Linux")>=0,Ji=navigator.language,$s=Ji;else if(typeof vt=="object"){wc=vt.platform==="win32",bc=vt.platform==="darwin",vc=vt.platform==="linux",vc&&vt.env.SNAP&&vt.env.SNAP_REVISION,Ji=Js,$s=Js;const s=vt.env.VSCODE_NLS_CONFIG;if(s)try{const e=JSON.parse(s),i=e.availableLanguages["*"];Ji=e.locale,$s=i||Js,oo=e._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const $i=wc,To=bc,lo=$s,ro=Ji;(()=>{if(typeof kt.postMessage=="function"&&!kt.importScripts){let s=[];kt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let n=0,h=s.length;n{const n=++e;s.push({id:n,callback:i}),kt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return s=>setTimeout(s)})();const Co=kt.performance&&typeof kt.performance.now=="function";class Ss{constructor(e){this._highResolution=Co&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new Ss(e)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?kt.performance.now():Date.now()}}var Fc;(function(s){s.None=()=>A7.None;function e(d){return(p,N=null,I)=>{let G=!1,b;return b=d(M=>{if(!G)return b?b.dispose():G=!0,p.call(N,M)},null,I),G&&b.dispose(),b}}s.once=e;function i(d,p){return W((N,I=null,G)=>d(b=>N.call(I,p(b)),null,G))}s.map=i;function n(d,p){return W((N,I=null,G)=>d(b=>{p(b),N.call(I,b)},null,G))}s.forEach=n;function h(d,p){return W((N,I=null,G)=>d(b=>p(b)&&N.call(I,b),null,G))}s.filter=h;function c(d){return d}s.signal=c;function a(...d){return(p,N=null,I)=>Ro(...d.map(G=>G(b=>p.call(N,b),null,I)))}s.any=a;function _(d,p,N){let I=N;return i(d,G=>(I=p(I,G),I))}s.reduce=_;function W(d){let p;const N=new je({onFirstListenerAdd(){p=d(N.fire,N)},onLastListenerRemove(){p.dispose()}});return N.event}function R(d,p,N=100,I=!1,G){let b,M,z,Ct=0;const g=new je({leakWarningThreshold:G,onFirstListenerAdd(){b=d(V=>{Ct++,M=p(M,V),I&&!z&&(g.fire(M),M=void 0),clearTimeout(z),z=setTimeout(()=>{const Oe=M;M=void 0,z=void 0,(!I||Ct>1)&&g.fire(Oe),Ct=0},N)})},onLastListenerRemove(){b.dispose()}});return g.event}s.debounce=R;function A(d,p=(N,I)=>N===I){let N=!0,I;return h(d,G=>{const b=N||!p(G,I);return N=!1,I=G,b})}s.latch=A;function T(d,p){return[s.filter(d,p),s.filter(d,N=>!p(N))]}s.split=T;function l(d,p=!1,N=[]){let I=N.slice(),G=d(z=>{I?I.push(z):M.fire(z)});const b=()=>{I&&I.forEach(z=>M.fire(z)),I=null},M=new je({onFirstListenerAdd(){G||(G=d(z=>M.fire(z)))},onFirstListenerDidAdd(){I&&(p?setTimeout(b):b())},onLastListenerRemove(){G&&G.dispose(),G=null}});return M.event}s.buffer=l;class O{constructor(p){this.event=p}map(p){return new O(i(this.event,p))}forEach(p){return new O(n(this.event,p))}filter(p){return new O(h(this.event,p))}reduce(p,N){return new O(_(this.event,p,N))}latch(){return new O(A(this.event))}debounce(p,N=100,I=!1,G){return new O(R(this.event,p,N,I,G))}on(p,N,I){return this.event(p,N,I)}once(p,N,I){return e(this.event)(p,N,I)}}function m(d){return new O(d)}s.chain=m;function f(d,p,N=I=>I){const I=(...z)=>M.fire(N(...z)),G=()=>d.on(p,I),b=()=>d.removeListener(p,I),M=new je({onFirstListenerAdd:G,onLastListenerRemove:b});return M.event}s.fromNodeEventEmitter=f;function k(d,p,N=I=>I){const I=(...z)=>M.fire(N(...z)),G=()=>d.addEventListener(p,I),b=()=>d.removeEventListener(p,I),M=new je({onFirstListenerAdd:G,onLastListenerRemove:b});return M.event}s.fromDOMEventEmitter=k;function F(d){return new Promise(p=>e(d)(p))}s.toPromise=F})(Fc||(Fc={}));class gs{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${gs._idPool++}`}start(e){this._stopWatch=new Ss(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}gs._idPool=0;class je{constructor(e){var i;this._disposed=!1,this._options=e,this._leakageMon=void 0,this._perfMon=!((i=this._options)===null||i===void 0)&&i._profName?new gs(this._options._profName):void 0}get event(){return this._event||(this._event=(e,i,n)=>{var h;this._listeners||(this._listeners=new T7);const c=this._listeners.isEmpty();c&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const a=this._listeners.push(i?[e,i]:e);c&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,i);const _=(h=this._leakageMon)===null||h===void 0?void 0:h.check(this._listeners.size),W=o7(()=>{_&&_(),this._disposed||(a(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return n instanceof ji?n.add(W):Array.isArray(n)&&n.push(W),W}),this._event}fire(e){var i,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new T7);for(let h of this._listeners)this._deliveryQueue.push([h,e]);for((i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[h,c]=this._deliveryQueue.shift();try{typeof h=="function"?h.call(void 0,c):h[0].call(h[1],c)}catch(a){lt(a)}}(n=this._perfMon)===null||n===void 0||n.stop()}}dispose(){var e,i,n,h,c;this._disposed||(this._disposed=!0,(e=this._listeners)===null||e===void 0||e.clear(),(i=this._deliveryQueue)===null||i===void 0||i.clear(),(h=(n=this._options)===null||n===void 0?void 0:n.onLastListenerRemove)===null||h===void 0||h.call(n),(c=this._leakageMon)===null||c===void 0||c.dispose())}}function po(s){let e=[],i=Object.getPrototypeOf(s);for(;Object.prototype!==i;)e=e.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return e}function Gc(s){const e=[];for(const i of po(s))typeof s[i]=="function"&&e.push(i);return e}function Oo(s,e){const i=h=>function(){const c=Array.prototype.slice.call(arguments,0);return e(h,c)};let n={};for(const h of s)n[h]=i(h);return n}function Lo(s,e="Unreachable"){throw new Error(e)}function xo(s){return s.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function No(s){return s.split(/\r\n|\r|\n/)}function mo(s){for(let e=0,i=s.length;e=0;i--){const n=s.charCodeAt(i);if(n!==32&&n!==9)return i}return-1}function l7(s){return s>=65&&s<=90}function Bc(s){return 55296<=s&&s<=56319}function fo(s){return 56320<=s&&s<=57343}function Uo(s,e){return(s-55296<<10)+(e-56320)+65536}function ko(s,e,i){const n=s.charCodeAt(i);if(Bc(n)&&i+1{this._pendingReplies[n]={resolve:h,reject:c},this._send(new Mo(this._workerId,n,e,i))})}listen(e,i){let n=null;const h=new je({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,h),this._send(new yo(this._workerId,n,e,i))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new wo(this._workerId,n)),n=null}});return h.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}let i=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),i.reject(n);return}i.resolve(e.res)}_handleRequestMessage(e){let i=e.req;this._handler.handleMessage(e.method,e.args).then(h=>{this._send(new r7(this._workerId,i,h,void 0))},h=>{h.detail instanceof Error&&(h.detail=zi(h.detail)),this._send(new r7(this._workerId,i,void 0,zi(h)))})}_handleSubscribeEventMessage(e){const i=e.req,n=this._handler.handleEvent(e.eventName,e.arg)(h=>{this._send(new Ho(this._workerId,i,h))});this._pendingEvents.set(i,n)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){let i=[];if(e.type===0)for(let n=0;nfunction(){const _=Array.prototype.slice.call(arguments,0);return e(a,_)},h=a=>function(_){return i(a,_)};let c={};for(const a of s){if(p7(a)){c[a]=h(a);continue}if(C7(a)){c[a]=i(a,void 0);continue}c[a]=n(a)}return c}class Fo{constructor(e,i){this._requestHandlerFactory=i,this._requestHandler=null,this._protocol=new bo({sendMessage:(n,h)=>{e(n,h)},handleMessage:(n,h)=>this._handleMessage(n,h),handleEvent:(n,h)=>this._handleEvent(n,h)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,i){if(e===Do)return this.initialize(i[0],i[1],i[2],i[3]);if(!this._requestHandler||typeof this._requestHandler[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,i))}catch(n){return Promise.reject(n)}}_handleEvent(e,i){if(!this._requestHandler)throw new Error("Missing requestHandler");if(p7(e)){const n=this._requestHandler[e].call(this._requestHandler,i);if(typeof n!="function")throw new Error(`Missing dynamic event ${e} on request handler.`);return n}if(C7(e)){const n=this._requestHandler[e];if(typeof n!="function")throw new Error(`Missing event ${e} on request handler.`);return n}throw new Error(`Malformed event name ${e}`)}initialize(e,i,n,h){this._protocol.setWorkerId(e);const _=vo(h,(W,R)=>this._protocol.sendMessage(W,R),(W,R)=>this._protocol.listen(W,R));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(_),Promise.resolve(Gc(this._requestHandler))):(i&&(typeof i.baseUrl<"u"&&delete i.baseUrl,typeof i.paths<"u"&&typeof i.paths.vs<"u"&&delete i.paths.vs,typeof i.trustedTypesPolicy!==void 0&&delete i.trustedTypesPolicy,i.catchError=!0,kt.require.config(i)),new Promise((W,R)=>{const A=kt.require;A([n],T=>{if(this._requestHandler=T.create(_),!this._requestHandler){R(new Error("No RequestHandler!"));return}W(Gc(this._requestHandler))},R)}))}}class Je{constructor(e,i,n,h){this.originalStart=e,this.originalLength=i,this.modifiedStart=n,this.modifiedLength=h}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function d7(s,e){return(e<<5)-e+s|0}function Go(s,e){e=d7(149417,e);for(let i=0,n=s.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new Je(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class $e{constructor(e,i,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=i;const[h,c,a]=$e._getElements(e),[_,W,R]=$e._getElements(i);this._hasStrings=a&&R,this._originalStringElements=h,this._originalElementsOrHash=c,this._modifiedStringElements=_,this._modifiedElementsOrHash=W,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const i=e.getElements();if($e._isStringArray(i)){const n=new Int32Array(i.length);for(let h=0,c=i.length;h=e&&h>=n&&this.ElementsAreEqual(i,h);)i--,h--;if(e>i||n>h){let T;return n<=h?(ei.Assert(e===i+1,"originalStart should only be one more than originalEnd"),T=[new Je(e,0,n,h-n+1)]):e<=i?(ei.Assert(n===h+1,"modifiedStart should only be one more than modifiedEnd"),T=[new Je(e,i-e+1,n,0)]):(ei.Assert(e===i+1,"originalStart should only be one more than originalEnd"),ei.Assert(n===h+1,"modifiedStart should only be one more than modifiedEnd"),T=[]),T}const a=[0],_=[0],W=this.ComputeRecursionPoint(e,i,n,h,a,_,c),R=a[0],A=_[0];if(W!==null)return W;if(!c[0]){const T=this.ComputeDiffRecursive(e,R,n,A,c);let l=[];return c[0]?l=[new Je(R+1,i-(R+1)+1,A+1,h-(A+1)+1)]:l=this.ComputeDiffRecursive(R+1,i,A+1,h,c),this.ConcatenateChanges(T,l)}return[new Je(e,i-e+1,n,h-n+1)]}WALKTRACE(e,i,n,h,c,a,_,W,R,A,T,l,O,m,f,k,F,d){let p=null,N=null,I=new L7,G=i,b=n,M=O[0]-k[0]-h,z=-1073741824,Ct=this.m_forwardHistory.length-1;do{const g=M+e;g===G||g=0&&(R=this.m_forwardHistory[Ct],e=R[0],G=1,b=R.length-1)}while(--Ct>=-1);if(p=I.getReverseChanges(),d[0]){let g=O[0]+1,V=k[0]+1;if(p!==null&&p.length>0){const Oe=p[p.length-1];g=Math.max(g,Oe.getOriginalEnd()),V=Math.max(V,Oe.getModifiedEnd())}N=[new Je(g,l-g+1,V,f-V+1)]}else{I=new L7,G=a,b=_,M=O[0]-k[0]-W,z=1073741824,Ct=F?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const g=M+c;g===G||g=A[g+1]?(T=A[g+1]-1,m=T-M-W,T>z&&I.MarkNextChange(),z=T+1,I.AddOriginalElement(T+1,m+1),M=g+1-c):(T=A[g-1],m=T-M-W,T>z&&I.MarkNextChange(),z=T,I.AddModifiedElement(T+1,m+1),M=g-1-c),Ct>=0&&(A=this.m_reverseHistory[Ct],c=A[0],G=1,b=A.length-1)}while(--Ct>=-1);N=I.getChanges()}return this.ConcatenateChanges(p,N)}ComputeRecursionPoint(e,i,n,h,c,a,_){let W=0,R=0,A=0,T=0,l=0,O=0;e--,n--,c[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const m=i-e+(h-n),f=m+1,k=new Int32Array(f),F=new Int32Array(f),d=h-n,p=i-e,N=e-n,I=i-h,b=(p-d)%2===0;k[d]=e,F[p]=i,_[0]=!1;for(let M=1;M<=m/2+1;M++){let z=0,Ct=0;A=this.ClipDiagonalBound(d-M,M,d,f),T=this.ClipDiagonalBound(d+M,M,d,f);for(let V=A;V<=T;V+=2){V===A||Vz+Ct&&(z=W,Ct=R),!b&&Math.abs(V-p)<=M-1&&W>=F[V])return c[0]=W,a[0]=R,Oe<=F[V]&&1447>0&&M<=1447+1?this.WALKTRACE(d,A,T,N,p,l,O,I,k,F,W,i,c,R,h,a,b,_):null}const g=(z-e+(Ct-n)-M)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(z,g))return _[0]=!0,c[0]=z,a[0]=Ct,g>0&&1447>0&&M<=1447+1?this.WALKTRACE(d,A,T,N,p,l,O,I,k,F,W,i,c,R,h,a,b,_):(e++,n++,[new Je(e,i-e+1,n,h-n+1)]);l=this.ClipDiagonalBound(p-M,M,p,f),O=this.ClipDiagonalBound(p+M,M,p,f);for(let V=l;V<=O;V+=2){V===l||V=F[V+1]?W=F[V+1]-1:W=F[V-1],R=W-(V-p)-I;const Oe=W;for(;W>e&&R>n&&this.ElementsAreEqual(W,R);)W--,R--;if(F[V]=W,b&&Math.abs(V-d)<=M&&W<=k[V])return c[0]=W,a[0]=R,Oe>=k[V]&&1447>0&&M<=1447+1?this.WALKTRACE(d,A,T,N,p,l,O,I,k,F,W,i,c,R,h,a,b,_):null}if(M<=1447){let V=new Int32Array(T-A+2);V[0]=d-A+1,ii.Copy2(k,A,V,1,T-A+1),this.m_forwardHistory.push(V),V=new Int32Array(O-l+2),V[0]=p-l+1,ii.Copy2(F,l,V,1,O-l+1),this.m_reverseHistory.push(V)}}return this.WALKTRACE(d,A,T,N,p,l,O,I,k,F,W,i,c,R,h,a,b,_)}PrettifyChanges(e){for(let i=0;i0,_=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;i--){const n=e[i];let h=0,c=0;if(i>0){const T=e[i-1];h=T.originalStart+T.originalLength,c=T.modifiedStart+T.modifiedLength}const a=n.originalLength>0,_=n.modifiedLength>0;let W=0,R=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let T=1;;T++){const l=n.originalStart-T,O=n.modifiedStart-T;if(lR&&(R=f,W=T)}n.originalStart-=W,n.modifiedStart-=W;const A=[null];if(i>0&&this.ChangesOverlap(e[i-1],e[i],A)){e[i-1]=A[0],e.splice(i,1),i++;continue}}if(this._hasStrings)for(let i=1,n=e.length;i0&&O>W&&(W=O,R=T,A=l)}return W>0?[R,A]:null}_contiguousSequenceScore(e,i,n){let h=0;for(let c=0;c=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,i){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(i>0){const n=e+i;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,i){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(i>0){const n=e+i;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,i,n,h){const c=this._OriginalRegionIsBoundary(e,i)?1:0,a=this._ModifiedRegionIsBoundary(n,h)?1:0;return c+a}ConcatenateChanges(e,i){let n=[];if(e.length===0||i.length===0)return i.length>0?i:e;if(this.ChangesOverlap(e[e.length-1],i[0],n)){const h=new Array(e.length+i.length-1);return ii.Copy(e,0,h,0,e.length-1),h[e.length-1]=n[0],ii.Copy(i,1,h,e.length,i.length-1),h}else{const h=new Array(e.length+i.length);return ii.Copy(e,0,h,0,e.length),ii.Copy(i,0,h,e.length,i.length),h}}ChangesOverlap(e,i,n){if(ei.Assert(e.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),ei.Assert(e.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=i.originalStart||e.modifiedStart+e.modifiedLength>=i.modifiedStart){const h=e.originalStart;let c=e.originalLength;const a=e.modifiedStart;let _=e.modifiedLength;return e.originalStart+e.originalLength>=i.originalStart&&(c=i.originalStart+i.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=i.modifiedStart&&(_=i.modifiedStart+i.modifiedLength-e.modifiedStart),n[0]=new Je(h,c,a,_),!0}else return n[0]=null,!1}ClipDiagonalBound(e,i,n,h){if(e>=0&&e=Yo&&s<=Qo||s>=Xo&&s<=Zo}function qs(s,e,i,n){let h="",c=0,a=-1,_=0,W=0;for(let R=0;R<=s.length;++R){if(R2){const A=h.lastIndexOf(i);A===-1?(h="",c=0):(h=h.slice(0,A),c=h.length-1-h.lastIndexOf(i)),a=R,_=0;continue}else if(h.length!==0){h="",c=0,a=R,_=0;continue}}e&&(h+=h.length>0?`${i}..`:"..",c=2)}else h.length>0?h+=`${i}${s.slice(a+1,R)}`:h=s.slice(a+1,R),c=R-a-1;a=R,_=0}else W===Se&&_!==-1?++_:_=-1}return h}function N7(s,e){if(e===null||typeof e!="object")throw new x7("pathObject","Object",e);const i=e.dir||e.root,n=e.base||`${e.name||""}${e.ext||""}`;return i?i===e.root?`${i}${n}`:`${i}${s}${n}`:n}const Ft={resolve(...s){let e="",i="",n=!1;for(let h=s.length-1;h>=-1;h--){let c;if(h>=0){if(c=s[h],Rt(c,"path"),c.length===0)continue}else e.length===0?c=Vc():(c=Vo[`=${e}`]||Vc(),(c===void 0||c.slice(0,2).toLowerCase()!==e.toLowerCase()&&c.charCodeAt(2)===Xt)&&(c=`${e}\\`));const a=c.length;let _=0,W="",R=!1;const A=c.charCodeAt(0);if(a===1)X(A)&&(_=1,R=!0);else if(X(A))if(R=!0,X(c.charCodeAt(1))){let T=2,l=T;for(;T2&&X(c.charCodeAt(2))&&(R=!0,_=3));if(W.length>0)if(e.length>0){if(W.toLowerCase()!==e.toLowerCase())continue}else e=W;if(n){if(e.length>0)break}else if(i=`${c.slice(_)}\\${i}`,n=R,R&&e.length>0)break}return i=qs(i,!n,"\\",X),n?`${e}\\${i}`:`${e}${i}`||"."},normalize(s){Rt(s,"path");const e=s.length;if(e===0)return".";let i=0,n,h=!1;const c=s.charCodeAt(0);if(e===1)return Yc(c)?"\\":s;if(X(c))if(h=!0,X(s.charCodeAt(1))){let _=2,W=_;for(;_2&&X(s.charCodeAt(2))&&(h=!0,i=3));let a=i0&&X(s.charCodeAt(e-1))&&(a+="\\"),n===void 0?h?`\\${a}`:a:h?`${n}\\${a}`:`${n}${a}`},isAbsolute(s){Rt(s,"path");const e=s.length;if(e===0)return!1;const i=s.charCodeAt(0);return X(i)||e>2&&qe(i)&&s.charCodeAt(1)===ge&&X(s.charCodeAt(2))},join(...s){if(s.length===0)return".";let e,i;for(let c=0;c0&&(e===void 0?e=i=a:e+=`\\${a}`)}if(e===void 0)return".";let n=!0,h=0;if(typeof i=="string"&&X(i.charCodeAt(0))){++h;const c=i.length;c>1&&X(i.charCodeAt(1))&&(++h,c>2&&(X(i.charCodeAt(2))?++h:n=!1))}if(n){for(;h=2&&(e=`\\${e.slice(h)}`)}return Ft.normalize(e)},relative(s,e){if(Rt(s,"from"),Rt(e,"to"),s===e)return"";const i=Ft.resolve(s),n=Ft.resolve(e);if(i===n||(s=i.toLowerCase(),e=n.toLowerCase(),s===e))return"";let h=0;for(;hh&&s.charCodeAt(c-1)===Xt;)c--;const a=c-h;let _=0;for(;__&&e.charCodeAt(W-1)===Xt;)W--;const R=W-_,A=aA){if(e.charCodeAt(_+l)===Xt)return n.slice(_+l+1);if(l===2)return n.slice(_+l)}a>A&&(s.charCodeAt(h+l)===Xt?T=l:l===2&&(T=3)),T===-1&&(T=0)}let O="";for(l=h+T+1;l<=c;++l)(l===c||s.charCodeAt(l)===Xt)&&(O+=O.length===0?"..":"\\..");return _+=T,O.length>0?`${O}${n.slice(_,W)}`:(n.charCodeAt(_)===Xt&&++_,n.slice(_,W))},toNamespacedPath(s){if(typeof s!="string")return s;if(s.length===0)return"";const e=Ft.resolve(s);if(e.length<=2)return s;if(e.charCodeAt(0)===Xt){if(e.charCodeAt(1)===Xt){const i=e.charCodeAt(2);if(i!==zo&&i!==Se)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(qe(e.charCodeAt(0))&&e.charCodeAt(1)===ge&&e.charCodeAt(2)===Xt)return`\\\\?\\${e}`;return s},dirname(s){Rt(s,"path");const e=s.length;if(e===0)return".";let i=-1,n=0;const h=s.charCodeAt(0);if(e===1)return X(h)?s:".";if(X(h)){if(i=n=1,X(s.charCodeAt(1))){let _=2,W=_;for(;_2&&X(s.charCodeAt(2))?3:2,n=i);let c=-1,a=!0;for(let _=e-1;_>=n;--_)if(X(s.charCodeAt(_))){if(!a){c=_;break}}else a=!1;if(c===-1){if(i===-1)return".";c=i}return s.slice(0,c)},basename(s,e){e!==void 0&&Rt(e,"ext"),Rt(s,"path");let i=0,n=-1,h=!0,c;if(s.length>=2&&qe(s.charCodeAt(0))&&s.charCodeAt(1)===ge&&(i=2),e!==void 0&&e.length>0&&e.length<=s.length){if(e===s)return"";let a=e.length-1,_=-1;for(c=s.length-1;c>=i;--c){const W=s.charCodeAt(c);if(X(W)){if(!h){i=c+1;break}}else _===-1&&(h=!1,_=c+1),a>=0&&(W===e.charCodeAt(a)?--a===-1&&(n=c):(a=-1,n=_))}return i===n?n=_:n===-1&&(n=s.length),s.slice(i,n)}for(c=s.length-1;c>=i;--c)if(X(s.charCodeAt(c))){if(!h){i=c+1;break}}else n===-1&&(h=!1,n=c+1);return n===-1?"":s.slice(i,n)},extname(s){Rt(s,"path");let e=0,i=-1,n=0,h=-1,c=!0,a=0;s.length>=2&&s.charCodeAt(1)===ge&&qe(s.charCodeAt(0))&&(e=n=2);for(let _=s.length-1;_>=e;--_){const W=s.charCodeAt(_);if(X(W)){if(!c){n=_+1;break}continue}h===-1&&(c=!1,h=_+1),W===Se?i===-1?i=_:a!==1&&(a=1):i!==-1&&(a=-1)}return i===-1||h===-1||a===0||a===1&&i===h-1&&i===n+1?"":s.slice(i,h)},format:N7.bind(null,"\\"),parse(s){Rt(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return e;const i=s.length;let n=0,h=s.charCodeAt(0);if(i===1)return X(h)?(e.root=e.dir=s,e):(e.base=e.name=s,e);if(X(h)){if(n=1,X(s.charCodeAt(1))){let T=2,l=T;for(;T0&&(e.root=s.slice(0,n));let c=-1,a=n,_=-1,W=!0,R=s.length-1,A=0;for(;R>=n;--R){if(h=s.charCodeAt(R),X(h)){if(!W){a=R+1;break}continue}_===-1&&(W=!1,_=R+1),h===Se?c===-1?c=R:A!==1&&(A=1):c!==-1&&(A=-1)}return _!==-1&&(c===-1||A===0||A===1&&c===_-1&&c===a+1?e.base=e.name=s.slice(a,_):(e.name=s.slice(a,c),e.base=s.slice(a,_),e.ext=s.slice(c,_))),a>0&&a!==n?e.dir=s.slice(0,a-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},Qt={resolve(...s){let e="",i=!1;for(let n=s.length-1;n>=-1&&!i;n--){const h=n>=0?s[n]:Vc();Rt(h,"path"),h.length!==0&&(e=`${h}/${e}`,i=h.charCodeAt(0)===Nt)}return e=qs(e,!i,"/",Yc),i?`/${e}`:e.length>0?e:"."},normalize(s){if(Rt(s,"path"),s.length===0)return".";const e=s.charCodeAt(0)===Nt,i=s.charCodeAt(s.length-1)===Nt;return s=qs(s,!e,"/",Yc),s.length===0?e?"/":i?"./":".":(i&&(s+="/"),e?`/${s}`:s)},isAbsolute(s){return Rt(s,"path"),s.length>0&&s.charCodeAt(0)===Nt},join(...s){if(s.length===0)return".";let e;for(let i=0;i0&&(e===void 0?e=n:e+=`/${n}`)}return e===void 0?".":Qt.normalize(e)},relative(s,e){if(Rt(s,"from"),Rt(e,"to"),s===e||(s=Qt.resolve(s),e=Qt.resolve(e),s===e))return"";const i=1,n=s.length,h=n-i,c=1,a=e.length-c,_=h_){if(e.charCodeAt(c+R)===Nt)return e.slice(c+R+1);if(R===0)return e.slice(c+R)}else h>_&&(s.charCodeAt(i+R)===Nt?W=R:R===0&&(W=0));let A="";for(R=i+W+1;R<=n;++R)(R===n||s.charCodeAt(R)===Nt)&&(A+=A.length===0?"..":"/..");return`${A}${e.slice(c+W)}`},toNamespacedPath(s){return s},dirname(s){if(Rt(s,"path"),s.length===0)return".";const e=s.charCodeAt(0)===Nt;let i=-1,n=!0;for(let h=s.length-1;h>=1;--h)if(s.charCodeAt(h)===Nt){if(!n){i=h;break}}else n=!1;return i===-1?e?"/":".":e&&i===1?"//":s.slice(0,i)},basename(s,e){e!==void 0&&Rt(e,"ext"),Rt(s,"path");let i=0,n=-1,h=!0,c;if(e!==void 0&&e.length>0&&e.length<=s.length){if(e===s)return"";let a=e.length-1,_=-1;for(c=s.length-1;c>=0;--c){const W=s.charCodeAt(c);if(W===Nt){if(!h){i=c+1;break}}else _===-1&&(h=!1,_=c+1),a>=0&&(W===e.charCodeAt(a)?--a===-1&&(n=c):(a=-1,n=_))}return i===n?n=_:n===-1&&(n=s.length),s.slice(i,n)}for(c=s.length-1;c>=0;--c)if(s.charCodeAt(c)===Nt){if(!h){i=c+1;break}}else n===-1&&(h=!1,n=c+1);return n===-1?"":s.slice(i,n)},extname(s){Rt(s,"path");let e=-1,i=0,n=-1,h=!0,c=0;for(let a=s.length-1;a>=0;--a){const _=s.charCodeAt(a);if(_===Nt){if(!h){i=a+1;break}continue}n===-1&&(h=!1,n=a+1),_===Se?e===-1?e=a:c!==1&&(c=1):e!==-1&&(c=-1)}return e===-1||n===-1||c===0||c===1&&e===n-1&&e===i+1?"":s.slice(e,n)},format:N7.bind(null,"/"),parse(s){Rt(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return e;const i=s.charCodeAt(0)===Nt;let n;i?(e.root="/",n=1):n=0;let h=-1,c=0,a=-1,_=!0,W=s.length-1,R=0;for(;W>=n;--W){const A=s.charCodeAt(W);if(A===Nt){if(!_){c=W+1;break}continue}a===-1&&(_=!1,a=W+1),A===Se?h===-1?h=W:R!==1&&(R=1):h!==-1&&(R=-1)}if(a!==-1){const A=c===0&&i?1:c;h===-1||R===0||R===1&&h===a-1&&h===c+1?e.base=e.name=s.slice(A,a):(e.name=s.slice(A,h),e.base=s.slice(A,a),e.ext=s.slice(h,a))}return c>0?e.dir=s.slice(0,c-1):i&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};Qt.win32=Ft.win32=Ft,Qt.posix=Ft.posix=Qt,x0==="win32"?Ft.normalize:Qt.normalize,x0==="win32"?Ft.resolve:Qt.resolve,x0==="win32"?Ft.relative:Qt.relative,x0==="win32"?Ft.dirname:Qt.dirname,x0==="win32"?Ft.basename:Qt.basename,x0==="win32"?Ft.extname:Qt.extname,x0==="win32"?Ft.sep:Qt.sep;const jo=/^\w[\w\d+.-]*$/,Jo=/^\//,$o=/^\/\//;function m7(s,e){if(!s.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${s.authority}", path: "${s.path}", query: "${s.query}", fragment: "${s.fragment}"}`);if(s.scheme&&!jo.test(s.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(s.path){if(s.authority){if(!Jo.test(s.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if($o.test(s.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function So(s,e){return!s&&!e?"file":s}function go(s,e){switch(s){case"https":case"http":case"file":e?e[0]!==_e&&(e=_e+e):e=_e;break}return e}const it="",_e="/",qo=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class N0{constructor(e,i,n,h,c,a=!1){typeof e=="object"?(this.scheme=e.scheme||it,this.authority=e.authority||it,this.path=e.path||it,this.query=e.query||it,this.fragment=e.fragment||it):(this.scheme=So(e,a),this.authority=i||it,this.path=go(this.scheme,n||it),this.query=h||it,this.fragment=c||it,m7(this,a))}static isUri(e){return e instanceof N0?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}get fsPath(){return Xc(this,!1)}with(e){if(!e)return this;let{scheme:i,authority:n,path:h,query:c,fragment:a}=e;return i===void 0?i=this.scheme:i===null&&(i=it),n===void 0?n=this.authority:n===null&&(n=it),h===void 0?h=this.path:h===null&&(h=it),c===void 0?c=this.query:c===null&&(c=it),a===void 0?a=this.fragment:a===null&&(a=it),i===this.scheme&&n===this.authority&&h===this.path&&c===this.query&&a===this.fragment?this:new si(i,n,h,c,a)}static parse(e,i=!1){const n=qo.exec(e);return n?new si(n[2]||it,Ps(n[4]||it),Ps(n[5]||it),Ps(n[7]||it),Ps(n[9]||it),i):new si(it,it,it,it,it)}static file(e){let i=it;if($i&&(e=e.replace(/\\/g,_e)),e[0]===_e&&e[1]===_e){const n=e.indexOf(_e,2);n===-1?(i=e.substring(2),e=_e):(i=e.substring(2,n),e=e.substring(n)||_e)}return new si("file",i,e,it,it)}static from(e){const i=new si(e.scheme,e.authority,e.path,e.query,e.fragment);return m7(i,!0),i}static joinPath(e,...i){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return $i&&e.scheme==="file"?n=N0.file(Ft.join(Xc(e,!0),...i)).path:n=Qt.join(e.path,...i),e.with({path:n})}toString(e=!1){return Qc(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof N0)return e;{const i=new si(e);return i._formatted=e.external,i._fsPath=e._sep===I7?e.fsPath:null,i}}else return e}}const I7=$i?1:void 0;class si extends N0{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Xc(this,!1)),this._fsPath}toString(e=!1){return e?Qc(this,!0):(this._formatted||(this._formatted=Qc(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=I7),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const f7={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function U7(s,e){let i,n=-1;for(let h=0;h=97&&c<=122||c>=65&&c<=90||c>=48&&c<=57||c===45||c===46||c===95||c===126||e&&c===47)n!==-1&&(i+=encodeURIComponent(s.substring(n,h)),n=-1),i!==void 0&&(i+=s.charAt(h));else{i===void 0&&(i=s.substr(0,h));const a=f7[c];a!==void 0?(n!==-1&&(i+=encodeURIComponent(s.substring(n,h)),n=-1),i+=a):n===-1&&(n=h)}}return n!==-1&&(i+=encodeURIComponent(s.substring(n))),i!==void 0?i:s}function Po(s){let e;for(let i=0;i1&&s.scheme==="file"?i=`//${s.authority}${s.path}`:s.path.charCodeAt(0)===47&&(s.path.charCodeAt(1)>=65&&s.path.charCodeAt(1)<=90||s.path.charCodeAt(1)>=97&&s.path.charCodeAt(1)<=122)&&s.path.charCodeAt(2)===58?e?i=s.path.substr(1):i=s.path[1].toLowerCase()+s.path.substr(2):i=s.path,$i&&(i=i.replace(/\//g,"\\")),i}function Qc(s,e){const i=e?Po:U7;let n="",{scheme:h,authority:c,path:a,query:_,fragment:W}=s;if(h&&(n+=h,n+=":"),(c||h==="file")&&(n+=_e,n+=_e),c){let R=c.indexOf("@");if(R!==-1){const A=c.substr(0,R);c=c.substr(R+1),R=A.indexOf(":"),R===-1?n+=i(A,!1):(n+=i(A.substr(0,R),!1),n+=":",n+=i(A.substr(R+1),!1)),n+="@"}c=c.toLowerCase(),R=c.indexOf(":"),R===-1?n+=i(c,!1):(n+=i(c.substr(0,R),!1),n+=c.substr(R))}if(a){if(a.length>=3&&a.charCodeAt(0)===47&&a.charCodeAt(2)===58){const R=a.charCodeAt(1);R>=65&&R<=90&&(a=`/${String.fromCharCode(R+32)}:${a.substr(3)}`)}else if(a.length>=2&&a.charCodeAt(1)===58){const R=a.charCodeAt(0);R>=65&&R<=90&&(a=`${String.fromCharCode(R+32)}:${a.substr(2)}`)}n+=i(a,!0)}return _&&(n+="?",n+=i(_,!1)),W&&(n+="#",n+=e?W:U7(W,!1)),n}function k7(s){try{return decodeURIComponent(s)}catch{return s.length>3?s.substr(0,3)+k7(s.substr(3)):s}}const D7=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Ps(s){return s.match(D7)?s.replace(D7,e=>k7(e)):s}class Zt{constructor(e,i){this.lineNumber=e,this.column=i}with(e=this.lineNumber,i=this.column){return e===this.lineNumber&&i===this.column?this:new Zt(e,i)}delta(e=0,i=0){return this.with(this.lineNumber+e,this.column+i)}equals(e){return Zt.equals(this,e)}static equals(e,i){return!e&&!i?!0:!!e&&!!i&&e.lineNumber===i.lineNumber&&e.column===i.column}isBefore(e){return Zt.isBefore(this,e)}static isBefore(e,i){return e.lineNumbern||e===n&&i>h?(this.startLineNumber=n,this.startColumn=h,this.endLineNumber=e,this.endColumn=i):(this.startLineNumber=e,this.startColumn=i,this.endLineNumber=n,this.endColumn=h)}isEmpty(){return ct.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return ct.containsPosition(this,e)}static containsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.columne.endColumn)}static strictContainsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.column<=e.startColumn||i.lineNumber===e.endLineNumber&&i.column>=e.endColumn)}containsRange(e){return ct.containsRange(this,e)}static containsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumne.endColumn)}strictContainsRange(e){return ct.strictContainsRange(this,e)}static strictContainsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumn<=e.startColumn||i.endLineNumber===e.endLineNumber&&i.endColumn>=e.endColumn)}plusRange(e){return ct.plusRange(this,e)}static plusRange(e,i){let n,h,c,a;return i.startLineNumbere.endLineNumber?(c=i.endLineNumber,a=i.endColumn):i.endLineNumber===e.endLineNumber?(c=i.endLineNumber,a=Math.max(i.endColumn,e.endColumn)):(c=e.endLineNumber,a=e.endColumn),new ct(n,h,c,a)}intersectRanges(e){return ct.intersectRanges(this,e)}static intersectRanges(e,i){let n=e.startLineNumber,h=e.startColumn,c=e.endLineNumber,a=e.endColumn,_=i.startLineNumber,W=i.startColumn,R=i.endLineNumber,A=i.endColumn;return n<_?(n=_,h=W):n===_&&(h=Math.max(h,W)),c>R?(c=R,a=A):c===R&&(a=Math.min(a,A)),n>c||n===c&&h>a?null:new ct(n,h,c,a)}equalsRange(e){return ct.equalsRange(this,e)}static equalsRange(e,i){return!!e&&!!i&&e.startLineNumber===i.startLineNumber&&e.startColumn===i.startColumn&&e.endLineNumber===i.endLineNumber&&e.endColumn===i.endColumn}getEndPosition(){return ct.getEndPosition(this)}static getEndPosition(e){return new Zt(e.endLineNumber,e.endColumn)}getStartPosition(){return ct.getStartPosition(this)}static getStartPosition(e){return new Zt(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,i){return new ct(this.startLineNumber,this.startColumn,e,i)}setStartPosition(e,i){return new ct(e,i,this.endLineNumber,this.endColumn)}collapseToStart(){return ct.collapseToStart(this)}static collapseToStart(e){return new ct(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,i=e){return new ct(e.lineNumber,e.column,i.lineNumber,i.column)}static lift(e){return e?new ct(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,i){return!(e.endLineNumbere.startLineNumber}}const tA=3;function M7(s,e,i,n){return new $e(s,e,i).ComputeDiff(n)}class y7{constructor(e){const i=[],n=[];for(let h=0,c=e.length;h0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&c()){const O=n.createCharSequence(e,i.originalStart,i.originalStart+i.originalLength-1),m=h.createCharSequence(e,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let f=M7(O,m,c,!0).changes;_&&(f=iA(f)),l=[];for(let k=0,F=f.length;k1&&f>1;){const k=l.charCodeAt(m-2),F=O.charCodeAt(f-2);if(k!==F)break;m--,f--}(m>1||f>1)&&this._pushTrimWhitespaceCharChange(h,c+1,1,m,a+1,1,f)}{let m=zc(l,1),f=zc(O,1);const k=l.length+1,F=O.length+1;for(;m!0;const e=Date.now();return()=>Date.now()-e255?255:s|0}function hi(s){return s<0?0:s>4294967295?4294967295:s|0}class sA{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,i){e=hi(e);const n=this.values,h=this.prefixSum,c=i.length;return c===0?!1:(this.values=new Uint32Array(n.length+c),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+c),this.values.set(i,e),e-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,i){return e=hi(e),i=hi(i),this.values[e]===i?!1:(this.values[e]=i,e-1=n.length)return!1;let c=n.length-e;return i>=c&&(i=c),i===0?!1:(this.values=new Uint32Array(n.length-i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+i),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(h.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=hi(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let i=this.prefixSumValidIndex[0]+1;i===0&&(this.prefixSum[0]=this.values[0],i++),e>=this.values.length&&(e=this.values.length-1);for(let n=i;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let i=0,n=this.values.length-1,h=0,c=0,a=0;for(;i<=n;)if(h=i+(n-i)/2|0,c=this.prefixSum[h],a=c-this.values[h],e=c)i=h+1;else break;return new hA(h,e-a)}}class hA{constructor(e,i){this.index=e,this.remainder=i,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=i}}class cA{constructor(e,i,n,h){this._uri=e,this._lines=i,this._eol=n,this._versionId=h,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const i=e.changes;for(const n of i)this._acceptDeleteRange(n.range),this._acceptInsertText(new Zt(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,i=this._lines.length,n=new Uint32Array(i);for(let h=0;h/?";function uA(s=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const i of aA)s.indexOf(i)>=0||(e+="\\"+i);return e+="\\s]+)",new RegExp(e,"g")}const EA=uA();function _A(s){let e=EA;if(s&&s instanceof RegExp)if(s.global)e=s;else{let i="g";s.ignoreCase&&(i+="i"),s.multiline&&(i+="m"),s.unicode&&(i+="u"),e=new RegExp(s.source,i)}return e.lastIndex=0,e}const WA={maxLen:1e3,windowSize:15,timeBudget:150};function b7(s,e,i,n,h=WA){if(i.length>h.maxLen){let R=s-h.maxLen/2;return R<0?R=0:n+=R,i=i.substring(R,s+h.maxLen/2),b7(s,e,i,n,h)}const c=Date.now(),a=s-1-n;let _=-1,W=null;for(let R=1;!(Date.now()-c>=h.timeBudget);R++){const A=a-h.windowSize*R;e.lastIndex=Math.max(0,A);const T=KA(e,i,a,_);if(!T&&W||(W=T,A<=0))break;_=A}if(W){let R={word:W[0],startColumn:n+1+W.index,endColumn:n+1+W.index+W[0].length};return e.lastIndex=0,R}return null}function KA(s,e,i,n){let h;for(;h=s.exec(e);){const c=h.index||0;if(c<=i&&s.lastIndex>=i)return h;if(n>0&&c>n)return null}return null}class jc{constructor(e){let i=w7(e);this._defaultValue=i,this._asciiMap=jc._createAsciiMap(i),this._map=new Map}static _createAsciiMap(e){let i=new Uint8Array(256);for(let n=0;n<256;n++)i[n]=e;return i}set(e,i){let n=w7(i);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class RA{constructor(e,i,n){const h=new Uint8Array(e*i);for(let c=0,a=e*i;ci&&(i=W),_>n&&(n=_),R>n&&(n=R)}i++,n++;let h=new RA(n,i,0);for(let c=0,a=e.length;c=this._maxCharCode?0:this._states.get(e,i)}}let Jc=null;function AA(){return Jc===null&&(Jc=new oA([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Jc}let qi=null;function TA(){if(qi===null){qi=new jc(0);const s=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;ih);if(h>0){const _=i.charCodeAt(h-1),W=i.charCodeAt(a);(_===40&&W===41||_===91&&W===93||_===123&&W===125)&&a--}return{range:{startLineNumber:n,startColumn:h+1,endLineNumber:n,endColumn:a+2},url:i.substring(h,a+1)}}static computeLinks(e,i=AA()){const n=TA();let h=[];for(let c=1,a=e.getLineCount();c<=a;c++){const _=e.getLineContent(c),W=_.length;let R=0,A=0,T=0,l=1,O=!1,m=!1,f=!1,k=!1;for(;R=0?(h+=n?1:-1,h<0?h=e.length-1:h%=e.length,e[h]):null}}$c.INSTANCE=new $c;const v7=Object.freeze(function(s,e){const i=setTimeout(s.bind(e),0);return{dispose(){clearTimeout(i)}}});var eh;(function(s){function e(i){return i===s.None||i===s.Cancelled||i instanceof ih?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}s.isCancellationToken=e,s.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Fc.None}),s.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:v7})})(eh||(eh={}));class ih{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?v7:(this._emitter||(this._emitter=new je),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class rA{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new ih),this._token}cancel(){this._token?this._token instanceof ih&&this._token.cancel():this._token=eh.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof ih&&this._token.dispose():this._token=eh.None}}class Sc{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,i){this._keyCodeToStr[e]=i,this._strToKeyCode[i.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const nh=new Sc,gc=new Sc,qc=new Sc,CA=new Array(230),pA=Object.create(null),dA=Object.create(null);(function(){const s="",e=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",s,s],[0,1,1,"Hyper",0,s,0,s,s,s],[0,1,2,"Super",0,s,0,s,s,s],[0,1,3,"Fn",0,s,0,s,s,s],[0,1,4,"FnLock",0,s,0,s,s,s],[0,1,5,"Suspend",0,s,0,s,s,s],[0,1,6,"Resume",0,s,0,s,s,s],[0,1,7,"Turbo",0,s,0,s,s,s],[0,1,8,"Sleep",0,s,0,"VK_SLEEP",s,s],[0,1,9,"WakeUp",0,s,0,s,s,s],[31,0,10,"KeyA",31,"A",65,"VK_A",s,s],[32,0,11,"KeyB",32,"B",66,"VK_B",s,s],[33,0,12,"KeyC",33,"C",67,"VK_C",s,s],[34,0,13,"KeyD",34,"D",68,"VK_D",s,s],[35,0,14,"KeyE",35,"E",69,"VK_E",s,s],[36,0,15,"KeyF",36,"F",70,"VK_F",s,s],[37,0,16,"KeyG",37,"G",71,"VK_G",s,s],[38,0,17,"KeyH",38,"H",72,"VK_H",s,s],[39,0,18,"KeyI",39,"I",73,"VK_I",s,s],[40,0,19,"KeyJ",40,"J",74,"VK_J",s,s],[41,0,20,"KeyK",41,"K",75,"VK_K",s,s],[42,0,21,"KeyL",42,"L",76,"VK_L",s,s],[43,0,22,"KeyM",43,"M",77,"VK_M",s,s],[44,0,23,"KeyN",44,"N",78,"VK_N",s,s],[45,0,24,"KeyO",45,"O",79,"VK_O",s,s],[46,0,25,"KeyP",46,"P",80,"VK_P",s,s],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",s,s],[48,0,27,"KeyR",48,"R",82,"VK_R",s,s],[49,0,28,"KeyS",49,"S",83,"VK_S",s,s],[50,0,29,"KeyT",50,"T",84,"VK_T",s,s],[51,0,30,"KeyU",51,"U",85,"VK_U",s,s],[52,0,31,"KeyV",52,"V",86,"VK_V",s,s],[53,0,32,"KeyW",53,"W",87,"VK_W",s,s],[54,0,33,"KeyX",54,"X",88,"VK_X",s,s],[55,0,34,"KeyY",55,"Y",89,"VK_Y",s,s],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",s,s],[22,0,36,"Digit1",22,"1",49,"VK_1",s,s],[23,0,37,"Digit2",23,"2",50,"VK_2",s,s],[24,0,38,"Digit3",24,"3",51,"VK_3",s,s],[25,0,39,"Digit4",25,"4",52,"VK_4",s,s],[26,0,40,"Digit5",26,"5",53,"VK_5",s,s],[27,0,41,"Digit6",27,"6",54,"VK_6",s,s],[28,0,42,"Digit7",28,"7",55,"VK_7",s,s],[29,0,43,"Digit8",29,"8",56,"VK_8",s,s],[30,0,44,"Digit9",30,"9",57,"VK_9",s,s],[21,0,45,"Digit0",21,"0",48,"VK_0",s,s],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",s,s],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",s,s],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",s,s],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",s,s],[10,1,50,"Space",10,"Space",32,"VK_SPACE",s,s],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,s,0,s,s,s],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",s,s],[59,1,64,"F1",59,"F1",112,"VK_F1",s,s],[60,1,65,"F2",60,"F2",113,"VK_F2",s,s],[61,1,66,"F3",61,"F3",114,"VK_F3",s,s],[62,1,67,"F4",62,"F4",115,"VK_F4",s,s],[63,1,68,"F5",63,"F5",116,"VK_F5",s,s],[64,1,69,"F6",64,"F6",117,"VK_F6",s,s],[65,1,70,"F7",65,"F7",118,"VK_F7",s,s],[66,1,71,"F8",66,"F8",119,"VK_F8",s,s],[67,1,72,"F9",67,"F9",120,"VK_F9",s,s],[68,1,73,"F10",68,"F10",121,"VK_F10",s,s],[69,1,74,"F11",69,"F11",122,"VK_F11",s,s],[70,1,75,"F12",70,"F12",123,"VK_F12",s,s],[0,1,76,"PrintScreen",0,s,0,s,s,s],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",s,s],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",s,s],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",s,s],[14,1,80,"Home",14,"Home",36,"VK_HOME",s,s],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",s,s],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",s,s],[13,1,83,"End",13,"End",35,"VK_END",s,s],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",s,s],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",s],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",s],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",s],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",s],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",s,s],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",s,s],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",s,s],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",s,s],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",s,s],[3,1,94,"NumpadEnter",3,s,0,s,s,s],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",s,s],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",s,s],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",s,s],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",s,s],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",s,s],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",s,s],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",s,s],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",s,s],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",s,s],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",s,s],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",s,s],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",s,s],[58,1,107,"ContextMenu",58,"ContextMenu",93,s,s,s],[0,1,108,"Power",0,s,0,s,s,s],[0,1,109,"NumpadEqual",0,s,0,s,s,s],[71,1,110,"F13",71,"F13",124,"VK_F13",s,s],[72,1,111,"F14",72,"F14",125,"VK_F14",s,s],[73,1,112,"F15",73,"F15",126,"VK_F15",s,s],[74,1,113,"F16",74,"F16",127,"VK_F16",s,s],[75,1,114,"F17",75,"F17",128,"VK_F17",s,s],[76,1,115,"F18",76,"F18",129,"VK_F18",s,s],[77,1,116,"F19",77,"F19",130,"VK_F19",s,s],[0,1,117,"F20",0,s,0,"VK_F20",s,s],[0,1,118,"F21",0,s,0,"VK_F21",s,s],[0,1,119,"F22",0,s,0,"VK_F22",s,s],[0,1,120,"F23",0,s,0,"VK_F23",s,s],[0,1,121,"F24",0,s,0,"VK_F24",s,s],[0,1,122,"Open",0,s,0,s,s,s],[0,1,123,"Help",0,s,0,s,s,s],[0,1,124,"Select",0,s,0,s,s,s],[0,1,125,"Again",0,s,0,s,s,s],[0,1,126,"Undo",0,s,0,s,s,s],[0,1,127,"Cut",0,s,0,s,s,s],[0,1,128,"Copy",0,s,0,s,s,s],[0,1,129,"Paste",0,s,0,s,s,s],[0,1,130,"Find",0,s,0,s,s,s],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",s,s],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",s,s],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",s,s],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",s,s],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",s,s],[0,1,136,"KanaMode",0,s,0,s,s,s],[0,0,137,"IntlYen",0,s,0,s,s,s],[0,1,138,"Convert",0,s,0,s,s,s],[0,1,139,"NonConvert",0,s,0,s,s,s],[0,1,140,"Lang1",0,s,0,s,s,s],[0,1,141,"Lang2",0,s,0,s,s,s],[0,1,142,"Lang3",0,s,0,s,s,s],[0,1,143,"Lang4",0,s,0,s,s,s],[0,1,144,"Lang5",0,s,0,s,s,s],[0,1,145,"Abort",0,s,0,s,s,s],[0,1,146,"Props",0,s,0,s,s,s],[0,1,147,"NumpadParenLeft",0,s,0,s,s,s],[0,1,148,"NumpadParenRight",0,s,0,s,s,s],[0,1,149,"NumpadBackspace",0,s,0,s,s,s],[0,1,150,"NumpadMemoryStore",0,s,0,s,s,s],[0,1,151,"NumpadMemoryRecall",0,s,0,s,s,s],[0,1,152,"NumpadMemoryClear",0,s,0,s,s,s],[0,1,153,"NumpadMemoryAdd",0,s,0,s,s,s],[0,1,154,"NumpadMemorySubtract",0,s,0,s,s,s],[0,1,155,"NumpadClear",0,s,0,s,s,s],[0,1,156,"NumpadClearEntry",0,s,0,s,s,s],[5,1,0,s,5,"Ctrl",17,"VK_CONTROL",s,s],[4,1,0,s,4,"Shift",16,"VK_SHIFT",s,s],[6,1,0,s,6,"Alt",18,"VK_MENU",s,s],[57,1,0,s,57,"Meta",0,"VK_COMMAND",s,s],[5,1,157,"ControlLeft",5,s,0,"VK_LCONTROL",s,s],[4,1,158,"ShiftLeft",4,s,0,"VK_LSHIFT",s,s],[6,1,159,"AltLeft",6,s,0,"VK_LMENU",s,s],[57,1,160,"MetaLeft",57,s,0,"VK_LWIN",s,s],[5,1,161,"ControlRight",5,s,0,"VK_RCONTROL",s,s],[4,1,162,"ShiftRight",4,s,0,"VK_RSHIFT",s,s],[6,1,163,"AltRight",6,s,0,"VK_RMENU",s,s],[57,1,164,"MetaRight",57,s,0,"VK_RWIN",s,s],[0,1,165,"BrightnessUp",0,s,0,s,s,s],[0,1,166,"BrightnessDown",0,s,0,s,s,s],[0,1,167,"MediaPlay",0,s,0,s,s,s],[0,1,168,"MediaRecord",0,s,0,s,s,s],[0,1,169,"MediaFastForward",0,s,0,s,s,s],[0,1,170,"MediaRewind",0,s,0,s,s,s],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",s,s],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",s,s],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",s,s],[0,1,174,"Eject",0,s,0,s,s,s],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",s,s],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",s,s],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",s,s],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",s,s],[0,1,179,"LaunchApp1",0,s,0,"VK_MEDIA_LAUNCH_APP1",s,s],[0,1,180,"SelectTask",0,s,0,s,s,s],[0,1,181,"LaunchScreenSaver",0,s,0,s,s,s],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",s,s],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",s,s],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",s,s],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",s,s],[0,1,186,"BrowserStop",0,s,0,"VK_BROWSER_STOP",s,s],[0,1,187,"BrowserRefresh",0,s,0,"VK_BROWSER_REFRESH",s,s],[0,1,188,"BrowserFavorites",0,s,0,"VK_BROWSER_FAVORITES",s,s],[0,1,189,"ZoomToggle",0,s,0,s,s,s],[0,1,190,"MailReply",0,s,0,s,s,s],[0,1,191,"MailForward",0,s,0,s,s,s],[0,1,192,"MailSend",0,s,0,s,s,s],[109,1,0,s,109,"KeyInComposition",229,s,s,s],[111,1,0,s,111,"ABNT_C2",194,"VK_ABNT_C2",s,s],[91,1,0,s,91,"OEM_8",223,"VK_OEM_8",s,s],[0,1,0,s,0,s,0,"VK_CLEAR",s,s],[0,1,0,s,0,s,0,"VK_KANA",s,s],[0,1,0,s,0,s,0,"VK_HANGUL",s,s],[0,1,0,s,0,s,0,"VK_JUNJA",s,s],[0,1,0,s,0,s,0,"VK_FINAL",s,s],[0,1,0,s,0,s,0,"VK_HANJA",s,s],[0,1,0,s,0,s,0,"VK_KANJI",s,s],[0,1,0,s,0,s,0,"VK_CONVERT",s,s],[0,1,0,s,0,s,0,"VK_NONCONVERT",s,s],[0,1,0,s,0,s,0,"VK_ACCEPT",s,s],[0,1,0,s,0,s,0,"VK_MODECHANGE",s,s],[0,1,0,s,0,s,0,"VK_SELECT",s,s],[0,1,0,s,0,s,0,"VK_PRINT",s,s],[0,1,0,s,0,s,0,"VK_EXECUTE",s,s],[0,1,0,s,0,s,0,"VK_SNAPSHOT",s,s],[0,1,0,s,0,s,0,"VK_HELP",s,s],[0,1,0,s,0,s,0,"VK_APPS",s,s],[0,1,0,s,0,s,0,"VK_PROCESSKEY",s,s],[0,1,0,s,0,s,0,"VK_PACKET",s,s],[0,1,0,s,0,s,0,"VK_DBE_SBCSCHAR",s,s],[0,1,0,s,0,s,0,"VK_DBE_DBCSCHAR",s,s],[0,1,0,s,0,s,0,"VK_ATTN",s,s],[0,1,0,s,0,s,0,"VK_CRSEL",s,s],[0,1,0,s,0,s,0,"VK_EXSEL",s,s],[0,1,0,s,0,s,0,"VK_EREOF",s,s],[0,1,0,s,0,s,0,"VK_PLAY",s,s],[0,1,0,s,0,s,0,"VK_ZOOM",s,s],[0,1,0,s,0,s,0,"VK_NONAME",s,s],[0,1,0,s,0,s,0,"VK_PA1",s,s],[0,1,0,s,0,s,0,"VK_OEM_CLEAR",s,s]];let i=[],n=[];for(const h of e){const[c,a,_,W,R,A,T,l,O,m]=h;if(n[_]||(n[_]=!0,pA[W]=_,dA[W.toLowerCase()]=_),!i[R]){if(i[R]=!0,!A)throw new Error(`String representation missing for key code ${R} around scan code ${W}`);nh.define(R,A),gc.define(R,O||A),qc.define(R,m||O||A)}T&&(CA[T]=R)}})();var F7;(function(s){function e(_){return nh.keyCodeToStr(_)}s.toString=e;function i(_){return nh.strToKeyCode(_)}s.fromString=i;function n(_){return gc.keyCodeToStr(_)}s.toUserSettingsUS=n;function h(_){return qc.keyCodeToStr(_)}s.toUserSettingsGeneral=h;function c(_){return gc.strToKeyCode(_)||qc.strToKeyCode(_)}s.fromUserSettings=c;function a(_){if(_>=93&&_<=108)return null;switch(_){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return nh.keyCodeToStr(_)}s.toElectronAccelerator=a})(F7||(F7={}));function OA(s,e){const i=(e&65535)<<16>>>0;return(s|i)>>>0}class St extends ct{constructor(e,i,n,h){super(e,i,n,h),this.selectionStartLineNumber=e,this.selectionStartColumn=i,this.positionLineNumber=n,this.positionColumn=h}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return St.selectionsEqual(this,e)}static selectionsEqual(e,i){return e.selectionStartLineNumber===i.selectionStartLineNumber&&e.selectionStartColumn===i.selectionStartColumn&&e.positionLineNumber===i.positionLineNumber&&e.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,i){return this.getDirection()===0?new St(this.startLineNumber,this.startColumn,e,i):new St(e,i,this.startLineNumber,this.startColumn)}getPosition(){return new Zt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Zt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,i){return this.getDirection()===0?new St(e,i,this.endLineNumber,this.endColumn):new St(this.endLineNumber,this.endColumn,e,i)}static fromPositions(e,i=e){return new St(e.lineNumber,e.column,i.lineNumber,i.column)}static fromRange(e,i){return i===0?new St(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new St(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new St(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,i){if(e&&!i||!e&&i)return!1;if(!e&&!i)return!0;if(e.length!==i.length)return!1;for(let n=0,h=e.length;n0){const a=e.charCodeAt(n);if(s.get(a)!==0)return!0}return!1}function mA(s,e,i,n,h){if(n+h===i)return!0;const c=e.charCodeAt(n+h);if(s.get(c)!==0||c===13||c===10)return!0;if(h>0){const a=e.charCodeAt(n+h-1);if(s.get(a)!==0)return!0}return!1}function IA(s,e,i,n,h){return NA(s,e,i,n,h)&&mA(s,e,i,n,h)}class fA{constructor(e,i){this._wordSeparators=e,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const i=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===i||(n=this._searchRegex.exec(e),!n))return null;const h=n.index,c=n[0].length;if(h===this._prevMatchStartIndex&&c===this._prevMatchLength){if(c===0){ko(e,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=h,this._prevMatchLength=c,!this._wordSeparators||IA(this._wordSeparators,e,i,h,c))return n}while(n);return null}}class UA{static computeUnicodeHighlights(e,i,n){const h=n?n.startLineNumber:1,c=n?n.endLineNumber:e.getLineCount(),a=new C4(i),_=a.getCandidateCodePoints();let W;_==="allNonBasicAscii"?W=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):W=new RegExp(`${kA(Array.from(_))}`,"g");const R=new fA(null,W),A=[];let T=!1,l,O=0,m=0,f=0;t:for(let k=h,F=c;k<=F;k++){const d=e.getLineContent(k),p=d.length;R.reset(0);do if(l=R.next(d),l){let N=l.index,I=l.index+l[0].length;if(N>0){const M=d.charCodeAt(N-1);Bc(M)&&N--}if(I+1=M){T=!0;break t}A.push(new ct(k,N+1,k,I+1))}}while(l)}return{ranges:A,hasMore:T,ambiguousCharacterCount:O,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:f}}static computeUnicodeHighlightReason(e,i){switch(new C4(i).shouldHighlightNonBasicASCII(e)){case 0:return null;case 2:return{kind:1};case 3:const c=Ee.getPrimaryConfusable(e.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(c)};case 1:return{kind:2}}}}function kA(s,e){return`[${xo(s.map(n=>String.fromCodePoint(n)).join(""))}]`}class C4{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const i of L0.codePoints)e.add(i);if(this.options.ambiguousCharacters)for(const i of Ee.getPrimaryConfusableCodePoints())e.add(i);for(const i of this.allowedCodePoints)e.delete(i);return e}shouldHighlightNonBasicASCII(e){const i=e.codePointAt(0);return this.allowedCodePoints.has(i)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(e===" "||e===` -`||e===" ")&&L0.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&Ee.isAmbiguous(i)?3:0}}var m0=function(s,e,i,n){function h(c){return c instanceof i?c:new i(function(a){a(c)})}return new(i||(i=Promise))(function(c,a){function _(A){try{R(n.next(A))}catch(T){a(T)}}function W(A){try{R(n.throw(A))}catch(T){a(T)}}function R(A){A.done?c(A.value):h(A.value).then(_,W)}R((n=n.apply(s,e||[])).next())})};class DA extends cA{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,i){let n=b7(e.column,_A(i),this._lines[e.lineNumber-1],0);return n?new ct(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){const i=this._lines,n=this._wordenize.bind(this);let h=0,c="",a=0,_=[];return{*[Symbol.iterator](){for(;;)if(a<_.length){const W=c.substring(_[a].start,_[a].end);a+=1,yield W}else if(hthis._lines.length)i=this._lines.length,n=this._lines[i-1].length+1,h=!0;else{let c=this._lines[i-1].length+1;n<1?(n=1,h=!0):n>c&&(n=c,h=!0)}return h?{lineNumber:i,column:n}:e}}class ci{constructor(e,i){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(i=>e.push(this._models[i])),e}acceptNewModel(e){this._models[e.url]=new DA(N0.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,i){if(!this._models[e])return;this._models[e].onEvents(i)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,i,n){return m0(this,void 0,void 0,function*(){const h=this._getModel(e);return h?UA.computeUnicodeHighlights(h,i,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(e,i,n,h){return m0(this,void 0,void 0,function*(){const c=this._getModel(e),a=this._getModel(i);if(!c||!a)return null;const _=c.getLinesContent(),W=a.getLinesContent(),A=new nA(_,W,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:h}).computeDiff(),T=A.changes.length>0?!1:this._modelsAreIdentical(c,a);return{quitEarly:A.quitEarly,identical:T,changes:A.changes}})}_modelsAreIdentical(e,i){const n=e.getLineCount(),h=i.getLineCount();if(n!==h)return!1;for(let c=1;c<=n;c++){const a=e.getLineContent(c),_=i.getLineContent(c);if(a!==_)return!1}return!0}computeMoreMinimalEdits(e,i){return m0(this,void 0,void 0,function*(){const n=this._getModel(e);if(!n)return i;const h=[];let c;i=i.slice(0).sort((a,_)=>{if(a.range&&_.range)return ct.compareRangesUsingStarts(a.range,_.range);let W=a.range?0:1,R=_.range?0:1;return W-R});for(let{range:a,text:_,eol:W}of i){if(typeof W=="number"&&(c=W),ct.isEmpty(a)&&!_)continue;const R=n.getValueInRange(a);if(_=_.replace(/\r\n|\n|\r/g,n.eol),R===_)continue;if(Math.max(_.length,R.length)>ci._diffLimit){h.push({range:a,text:_});continue}const A=Bo(R,_,!1),T=n.offsetAt(ct.lift(a).getStartPosition());for(const l of A){const O=n.positionAt(T+l.originalStart),m=n.positionAt(T+l.originalStart+l.originalLength),f={text:_.substr(l.modifiedStart,l.modifiedLength),range:{startLineNumber:O.lineNumber,startColumn:O.column,endLineNumber:m.lineNumber,endColumn:m.column}};n.getValueInRange(f.range)!==f.text&&h.push(f)}}return typeof c=="number"&&h.push({eol:c,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),h})}computeLinks(e){return m0(this,void 0,void 0,function*(){let i=this._getModel(e);return i?lA(i):null})}textualSuggest(e,i,n,h){return m0(this,void 0,void 0,function*(){const c=new Ss(!0),a=new RegExp(n,h),_=new Set;t:for(let W of e){const R=this._getModel(W);if(R){for(let A of R.words(a))if(!(A===i||!isNaN(Number(A)))&&(_.add(A),_.size>ci._suggestionsLimit))break t}}return{words:Array.from(_),duration:c.elapsed()}})}computeWordRanges(e,i,n,h){return m0(this,void 0,void 0,function*(){let c=this._getModel(e);if(!c)return Object.create(null);const a=new RegExp(n,h),_=Object.create(null);for(let W=i.startLineNumber;Wthis._host.fhr(_,W)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(a,i),Promise.resolve(Gc(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,i){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,i))}catch(n){return Promise.reject(n)}}}ci._diffLimit=1e5,ci._suggestionsLimit=1e4,typeof importScripts=="function"&&(kt.monaco=xA());let na=!1;function p4(s){if(na)return;na=!0;const e=new Fo(i=>{self.postMessage(i)},i=>new ci(i,s));self.onmessage=i=>{e.onmessage(i.data)}}self.onmessage=s=>{na||p4(null)};var MA=Object.defineProperty,C=(s,e)=>MA(s,"name",{value:e,configurable:!0}),Pe=(Ui=class{constructor(e){o(this,"target");this.target=e}get isEpsilon(){return!1}get label(){return null}},C(Ui,"Transition"),o(Ui,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),Ui),sa=(B1=class extends Pe{constructor(e){super(e)}},C(B1,"AbstractPredicateTransition"),B1),w={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},d4=(V1=class extends Pe{constructor(i,n,h,c){super(i);o(this,"ruleIndex");o(this,"actionIndex");o(this,"isCtxDependent");this.ruleIndex=n,this.actionIndex=h===void 0?-1:h,this.isCtxDependent=c===void 0?!1:c}get isEpsilon(){return!0}get serializationType(){return w.ACTION}matches(i,n,h){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},C(V1,"ActionTransition"),V1),$=(Xe=class{constructor(e){o(this,"cachedHashCode");this.cachedHashCode=e}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Xe.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}toString(e){return""}},C(Xe,"PredictionContext"),o(Xe,"EMPTY_RETURN_STATE",2147483647),o(Xe,"EMPTY"),o(Xe,"trace_atn_sim",!1),Xe),O4=3432918353,L4=461845907,sh=15,hh=13,x4=5,N4=3864292196,Le=(X0=class{constructor(){o(this,"count");o(this,"hash");this.count=0,this.hash=0}static hashStuff(...e){const i=new X0;return i.update(e),i.finish()}static hashString(e=0,i){let n=3735928559^e,h=1103547991^e;for(const c of i){const a=c.charCodeAt(0);n=Math.imul(n^a,2654435761),h=Math.imul(h^a,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(h^h>>>13,3266489909),h=Math.imul(h^h>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),Math.imul(4294967296,2097151&h)+(n>>>0)}update(...e){for(const i of e)if(i!=null)if(Array.isArray(i))this.update(...i);else{let n=0;switch(typeof i){case"undefined":case"function":continue;case"number":{n=i;break}case"boolean":{n=i?1237:4327;break}case"string":{n=X0.hashString(this.hash,i);break}default:{i.updateHashCode(this);continue}}this.count=this.count+1,n=Math.imul(n,O4),n=n<>>32-sh,n=Math.imul(n,L4);let h=this.hash^n;h=h<>>32-hh,this.hash=Math.imul(h,x4)+N4}}updateWithHashCode(e){this.count=this.count+1,e=Math.imul(e,O4),e=e<>>32-sh,e=Math.imul(e,L4);let i=this.hash^e;i=i<>>32-hh,this.hash=Math.imul(i,x4)+N4}finish(){let e=this.hash^this.count*4;return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,e}},C(X0,"HashCode"),X0),yA=C(s=>typeof s.equals=="function","isComparable"),HA=C(s=>s===null?"null":s,"valueToString"),I0=C(s=>Array.isArray(s)?"["+s.map(HA).join(", ")+"]":"null","arrayToString"),t1=C((s,e)=>{if(s===e)return!0;if(s.length!==e.length)return!1;for(let i=0;i(s=s.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),e&&(s=s.replace(/ /g,"·")),s),"escapeWhitespace"),m4=C((s,e)=>s?s.equals(e):s===e,"standardEqualsFunction"),bA=Math.round(Math.random()*Math.pow(2,32)),vA=C(s=>{let e,i;const n=s.length&3,h=s.length-n;let c=bA;const a=3432918353,_=461845907;let W=0;for(;W>>16)*a&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*_+(((i>>>16)*_&65535)<<16)&4294967295,c^=i,c=c<<13|c>>>19,e=(c&65535)*5+(((c>>>16)*5&65535)<<16)&4294967295,c=(e&65535)+27492+(((e>>>16)+58964&65535)<<16);switch(i=0,n){case 3:i^=(s.charCodeAt(W+2)&255)<<16;case 2:i^=(s.charCodeAt(W+1)&255)<<8;case 1:i^=s.charCodeAt(W)&255,i=(i&65535)*a+(((i>>>16)*a&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*_+(((i>>>16)*_&65535)<<16)&4294967295,c^=i}return c^=s.length,c^=c>>>16,c=(c&65535)*2246822507+(((c>>>16)*2246822507&65535)<<16)&4294967295,c^=c>>>13,c=(c&65535)*3266489909+(((c>>>16)*3266489909&65535)<<16)&4294967295,c^=c>>>16,c>>>0},"stringHashCode"),I4=C(s=>s?typeof s=="string"?vA(s):s.hashCode():-1,"standardHashCodeFunction"),t0=(ki=class extends ${constructor(i,n){const h=new Le;h.update(i,n);const c=h.finish();super(c);o(this,"parents",[]);o(this,"returnStates",[]);return this.parents=i,this.returnStates=n,this}isEmpty(){return this.returnStates[0]===$.EMPTY_RETURN_STATE}getParent(i){return this.parents[i]}getReturnState(i){return this.returnStates[i]}equals(i){return this===i?!0:!(i instanceof ki)||this.hashCode()!==i.hashCode()?!1:t1(this.returnStates,i.returnStates)&&t1(this.parents,i.parents)}toString(){if(this.isEmpty())return"[]";{let i="[";for(let n=0;n0&&(i=i+", "),this.returnStates[n]===$.EMPTY_RETURN_STATE){i=i+"$";continue}i=i+this.returnStates[n],this.parents[n]!==null?i=i+" "+this.parents[n]:i=i+"null"}return i+"]"}}get length(){return this.returnStates.length}},C(ki,"ArrayPredictionContext"),ki),ch;(s=>{s.EOF=-1,s.UNKNOWN_SOURCE_NAME=""})(ch||(ch={}));var L;(s=>{s.INVALID_TYPE=0,s.EPSILON=-2,s.MIN_USER_TOKEN_TYPE=1,s.EOF=ch.EOF,s.DEFAULT_CHANNEL=0,s.HIDDEN_CHANNEL=1,s.MIN_USER_CHANNEL_VALUE=2})(L||(L={}));var FA=C(s=>{const e=s;return e.tokenSource!==void 0&&e.channel!==void 0},"isToken"),ee=(Y1=class{constructor(e,i){o(this,"data");o(this,"hashFunction");o(this,"equalsFunction");this.data={},this.hashFunction=e??I4,this.equalsFunction=i??m4}add(e){const i=this.hashFunction(e);if(i in this.data){const n=this.data[i];for(const h of n)if(this.equalsFunction(e,h))return h;return n.push(e),e}else return this.data[i]=[e],e}has(e){return this.get(e)!=null}get(e){const i=this.hashFunction(e);if(i in this.data){const n=this.data[i];for(const h of n)if(this.equalsFunction(e,h))return h}return null}values(){return Object.keys(this.data).flatMap(e=>this.data[e],this)}toString(){return I0(this.values())}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},C(Y1,"HashSet"),Y1),nt=(Ce=class{static andContext(e,i){if(e===null||e===Ce.NONE)return i;if(i===null||i===Ce.NONE)return e;const n=new GA(e,i);return n.opnds.length===1?n.opnds[0]:n}static orContext(e,i){if(e===null)return i;if(i===null)return e;if(e===Ce.NONE||i===Ce.NONE)return Ce.NONE;const n=new BA(e,i);return n.opnds.length===1?n.opnds[0]:n}static filterPrecedencePredicates(e){const i=[];return e.values().forEach(n=>{n instanceof Ce.PrecedencePredicate&&i.push(n)}),i}hashCode(){const e=new Le;return this.updateHashCode(e),e.finish()}evalPrecedence(e,i){return this}},C(Ce,"SemanticContext"),Ce),GA=(K0=class extends nt{constructor(i,n){super();o(this,"opnds");const h=new ee;i instanceof K0?i.opnds.forEach(a=>{h.add(a)}):h.add(i),n instanceof K0?n.opnds.forEach(a=>{h.add(a)}):h.add(n);const c=nt.filterPrecedencePredicates(h);if(c.length>0){let a=null;c.forEach(_=>{(a===null||_.precedence{a=a===null?_:nt.andContext(a,_)}),a}toString(){const i=this.opnds.map(n=>n.toString());return(i.length>3?i.slice(3):i).join("&&")}},C(K0,"AND"),K0),BA=(R0=class extends nt{constructor(i,n){super();o(this,"opnds");const h=new ee;i instanceof R0?i.opnds.forEach(a=>{h.add(a)}):h.add(i),n instanceof R0?n.opnds.forEach(a=>{h.add(a)}):h.add(n);const c=nt.filterPrecedencePredicates(h);if(c.length>0){const a=c.sort((W,R)=>W.compareTo(R)),_=a[a.length-1];h.add(_)}this.opnds=Array.from(h.values())}equals(i){return this===i?!0:i instanceof R0?t1(this.opnds,i.opnds):!1}updateHashCode(i){i.update(this.opnds),i.updateWithHashCode(3383313031)}evaluate(i,n){for(const h of this.opnds)if(h.evaluate(i,n))return!0;return!1}evalPrecedence(i,n){let h=!1;const c=[];for(const _ of this.opnds){const W=_.evalPrecedence(i,n);if(h||(h=W!==_),W===nt.NONE)return nt.NONE;W!==null&&c.push(W)}if(!h)return this;if(c.length===0)return null;let a=null;return c.forEach(_=>{a=a===null?_:nt.orContext(a,_)}),a}toString(){const i=this.opnds.map(n=>n.toString());return(i.length>3?i.slice(3):i).join("||")}},C(R0,"OR"),R0);(s=>{const n=class n extends s{constructor(_,W,R){super();o(this,"ruleIndex");o(this,"predIndex");o(this,"isCtxDependent");this.ruleIndex=_??-1,this.predIndex=W??-1,this.isCtxDependent=R??!1}evaluate(_,W){const R=this.isCtxDependent?W:null;return _.sempred(R,this.ruleIndex,this.predIndex)}updateHashCode(_){_.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(_){return this===_?!0:_ instanceof n?this.ruleIndex===_.ruleIndex&&this.predIndex===_.predIndex&&this.isCtxDependent===_.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};C(n,"Predicate");let e=n;s.Predicate=e;const h=class h extends s{constructor(_){super();o(this,"precedence");this.precedence=_??0}evaluate(_,W){return _.precpred(W,this.precedence)}evalPrecedence(_,W){return _.precpred(W,this.precedence)?s.NONE:null}compareTo(_){return this.precedence-_.precedence}updateHashCode(_){_.update(this.precedence)}equals(_){return this===_?!0:_ instanceof h?this.precedence===_.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};C(h,"PrecedencePredicate");let i=h;s.PrecedencePredicate=i,s.NONE=new e})(nt||(nt={}));var VA=C(s=>s===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:s.state??null,alt:s.alt??null,context:s.context??null,semanticContext:s.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),YA=C(s=>s===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:s.state??null,alt:s.alt??null,context:s.context??null,semanticContext:s.semanticContext??null,reachesIntoOuterContext:s.reachesIntoOuterContext??0,precedenceFilterSuppressed:s.precedenceFilterSuppressed??!1},"checkConfig"),pt=(Q0=class{constructor(e,i){o(this,"state");o(this,"alt");o(this,"context");o(this,"reachesIntoOuterContext");o(this,"precedenceFilterSuppressed",!1);o(this,"semanticContext");this.checkContext(e,i);const n=VA(e),h=YA(i);this.state=n.state??h.state,this.alt=n.alt??h.alt??0,this.context=n.context??h.context,this.semanticContext=n.semanticContext??h.semanticContext??nt.NONE,this.reachesIntoOuterContext=h.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=h.precedenceFilterSuppressed??!1}hashCode(){const e=new Le;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(e){return this===e?!0:e instanceof Q0?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&(this.context===null?e.context===null:this.context.equals(e.context))&&this.semanticContext.equals(e.semanticContext)&&this.precedenceFilterSuppressed===e.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const e=new Le;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(e){return this===e?!0:e instanceof Q0?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&this.semanticContext.equals(e.semanticContext):!1}toString(e,i=!0){let n="";return i&&(n=","+this.alt),"("+this.state+n+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==nt.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(e,i){(e.context===null||e.context===void 0)&&(i===null||i.context===null||i.context===void 0)&&(this.context=null)}},C(Q0,"ATNConfig"),Q0),S=(Kt=class{constructor(e,i){o(this,"start");o(this,"stop");this.start=e,this.stop=i}static of(e,i){return e!==i||e<0||e>Kt.INTERVAL_POOL_MAX_VALUE?new Kt(e,i):(Kt.cache[e]===null&&(Kt.cache[e]=new Kt(e,e)),Kt.cache[e])}equals(e){return e instanceof Kt?this.start===e.start&&this.stop===e.stop:!1}hashCode(){let e=23;return e=e*31+this.start,e=e*31+this.stop,e}startsBeforeDisjoint(e){return this.start=e.start}startsAfter(e){return this.start>e.start}startsAfterDisjoint(e){return this.start>e.stop}startsAfterNonDisjoint(e){return this.start>e.start&&this.start<=e.stop}disjoint(e){return this.startsBeforeDisjoint(e)||this.startsAfterDisjoint(e)}adjacent(e){return this.start===e.stop+1||this.stop===e.start-1}properlyContains(e){return e.start>=this.start&&e.stop<=this.stop}union(e){return Kt.of(Math.min(this.start,e.start),Math.max(this.stop,e.stop))}intersection(e){return Kt.of(Math.max(this.start,e.start),Math.min(this.stop,e.stop))}differenceNotProperlyContained(e){let i=null;return e.startsBeforeNonDisjoint(this)?i=Kt.of(Math.max(this.start,e.stop+1),this.stop):e.startsAfterNonDisjoint(this)&&(i=Kt.of(this.start,e.start-1)),i}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{_.syntaxError(e,i,n,h,c,a)})}reportAmbiguity(e,i,n,h,c,a,_){this.delegates.forEach(W=>{W.reportAmbiguity(e,i,n,h,c,a,_)})}reportAttemptingFullContext(e,i,n,h,c,a){this.delegates.forEach(_=>{_.reportAttemptingFullContext(e,i,n,h,c,a)})}reportContextSensitivity(e,i,n,h,c,a){this.delegates.forEach(_=>{_.reportContextSensitivity(e,i,n,h,c,a)})}},C(Q1,"ProxyErrorListener"),Q1),f4=(ae=class{constructor(){o(this,"interpreter");q(this,He,[XA.INSTANCE]);q(this,Z1,-1)}checkVersion(e){const i="4.13.1";i!==e&&console.error("ANTLR runtime and generated code versions disagree: "+i+"!="+e)}addErrorListener(e){x(this,He).push(e)}removeErrorListeners(){J(this,He,[])}removeErrorListener(e){for(let i=0;ii.set(n,h)),ae.ruleIndexMapCache.set(e,i)),i}getTokenType(e){const i=this.getTokenTypeMap().get(e);return i||L.INVALID_TYPE}getErrorHeader(e){var h,c;const i=(h=e.offendingToken)==null?void 0:h.line,n=(c=e.offendingToken)==null?void 0:c.column;return"line "+i+":"+n}getErrorListenerDispatch(){return new QA(x(this,He))}sempred(e,i,n){return!0}precpred(e,i){return!0}action(e,i,n){}get atn(){return this.interpreter.atn}get state(){return x(this,Z1)}set state(e){J(this,Z1,e)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},He=new WeakMap,Z1=new WeakMap,C(ae,"Recognizer"),o(ae,"EOF",-1),o(ae,"tokenTypeMapCache",new Map),o(ae,"ruleIndexMapCache",new Map),ae),ZA=(o0=class{constructor(e,i,n,h,c){o(this,"source");o(this,"tokenIndex",-1);o(this,"start",0);o(this,"stop",0);o(this,"type",0);o(this,"line",0);o(this,"column",-1);o(this,"channel",L.DEFAULT_CHANNEL);q(this,we,null);this.source=e,this.type=i,this.channel=n??L.DEFAULT_CHANNEL,this.start=h,this.stop=c,this.source[0]!==null?(this.line=e[0].line,this.column=e[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const e=new o0(this.source,this.type,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,J(e,we,x(this,we)),e}cloneWithType(e){const i=new o0(this.source,e,this.channel,this.start,this.stop);return i.tokenIndex=this.tokenIndex,i.line=this.line,i.column=this.column,e===L.EOF&&J(i,we,""),i}toString(e){let i="";this.channel>0&&(i=",channel="+this.channel);let n=this.text;n?(n=n.replace(/\n/g,"\\n"),n=n.replace(/\r/g,"\\r"),n=n.replace(/\t/g,"\\t")):n="";let h=String(this.type);return e&&(h=e.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+n+"',<"+h+">"+i+","+this.line+":"+this.column+"]"}get text(){if(x(this,we)!==null)return x(this,we);const e=this.inputStream;if(e===null)return null;const i=e.size;return this.start"}set text(e){J(this,we,e)}setText(e){J(this,we,e)}setType(e){this.type=e}setLine(e){this.line=e}setCharPositionInLine(e){this.column=e}setChannel(e){this.channel=e}setTokenIndex(e){this.tokenIndex=e}},we=new WeakMap,C(o0,"CommonToken"),o(o0,"EMPTY_SOURCE",[null,null]),o0),zA=(z0=class{constructor(e){o(this,"copyText",!1);this.copyText=e??!1}create(e,i,n,h,c,a,_,W){const R=new ZA(e,i,h,c,a);return R.line=_,R.column=W,n!==null?R.text=n:this.copyText&&e[1]!==null&&(R.text=e[1].getText(c,a)),R}},C(z0,"CommonTokenFactory"),o(z0,"DEFAULT",new z0),z0),E=(Di=class extends Error{constructor(i){super(i.message);o(this,"ctx");o(this,"offendingToken",null);o(this,"offendingState",-1);o(this,"recognizer");o(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,Di),this.message=i.message,this.recognizer=i.recognizer,this.input=i.input,this.ctx=i.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},C(Di,"RecognitionException"),Di),uh=(z1=class extends E{constructor(i,n,h,c){super({message:"",recognizer:i,input:n,ctx:null});o(this,"startIndex");o(this,"deadEndConfigs");this.startIndex=h,this.deadEndConfigs=c}toString(){let i="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[e],this)}getKeys(){return this.entries().map(e=>e.key)}getValues(){return this.entries().map(e=>e.value)}toString(){return"["+this.entries().map(i=>"{"+i.key+":"+i.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},C(j1,"HashMap"),j1),ve=(J1=class{constructor(e){o(this,"parent",null);o(this,"symbol");this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return S.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new S(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){var e;return((e=this.symbol)==null?void 0:e.text)??""}toString(){var e,i;return((e=this.symbol)==null?void 0:e.type)===L.EOF?"":((i=this.symbol)==null?void 0:i.text)??""}toStringTree(){return this.toString()}},C(J1,"TerminalNode"),J1),e1=($1=class extends ve{accept(e){return e.visitErrorNode(this)}},C($1,"ErrorNode"),$1),e0=(Pt=class{static toStringTree(e,i,n){i=i??null,n=n??null,n!==null&&(i=n.ruleNames);let h=Pt.getNodeText(e,i);h=wA(h,!1);const c=e.getChildCount();if(c===0)return h;let a="("+h+" ";c>0&&(h=Pt.toStringTree(e.getChild(0),i),a=a.concat(h));for(let _=1;_e.getText()).join("")}getAltNumber(){return y.INVALID_ALT_NUMBER}setAltNumber(e){}getChild(e){return null}getChildCount(){return 0}accept(e){return e.visitChildren(this)}toStringTree(...e){return e.length===1?e0.toStringTree(this,null,e[0]):e0.toStringTree(this,e[0],e[1])}toString(e,i){e=e??null,i=i??null;let n=this,h="[";for(;n!==null&&n!==i;){if(e===null)n.isEmpty()||(h+=n.invokingState);else{const c=n.ruleIndex,a=c>=0&&c{super(...Zl);o(this,"start",null);o(this,"stop",null);o(this,"exception",null)};i?e(i,n):e(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(i){super.parent=i}copyFrom(i){this.parent=i.parent,this.invokingState=i.invokingState,this.children=null,this.start=i.start,this.stop=i.stop,i.children&&(this.children=[],i.children.forEach(n=>{n instanceof e1&&(this.children.push(n),n.parent=this)},this))}enterRule(i){}exitRule(i){}addAnyChild(i){return this.children==null&&(this.children=[]),this.children.push(i),i}addChild(i){return this.addAnyChild(i)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(i){const n=new ve(i);return this.addAnyChild(n),n.parent=this,n}addErrorNode(i){return i.parent=this,this.addAnyChild(i)}getChild(i,n){if(this.children===null||i<0||i>=this.children.length)return null;if(n){for(const h of this.children)if(h instanceof n){if(i===0)return h;i-=1}return null}else return this.children[i]}getToken(i,n){var h;if(this.children===null||n<0||n>=this.children.length)return null;for(const c of this.children)if(c instanceof ve&&((h=c.symbol)==null?void 0:h.type)===i){if(n===0)return c;n-=1}return null}getTokens(i){var n;if(this.children===null)return[];{const h=[];for(const c of this.children)c instanceof ve&&((n=c.symbol)==null?void 0:n.type)===i&&h.push(c);return h}}getRuleContext(i,n){return this.getChild(i,n)}getRuleContexts(i){if(this.children===null)return[];{const n=[];for(const h of this.children)h instanceof i&&n.push(h);return n}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?S.INVALID_INTERVAL:new S(this.start.tokenIndex,this.stop.tokenIndex)}},C(J0,"ParserRuleContext"),o(J0,"EMPTY",new J0),J0),ca=C((s,e)=>{if(e==null&&(e=u.EMPTY),e.parent===null||e===u.EMPTY)return $.EMPTY;const i=ca(s,e.parent),h=s.states[e.invokingState].transitions[0];return ie.create(i,h.followState.stateNumber)},"predictionContextFromRuleContext"),k4=C((s,e,i)=>{if(s.isEmpty())return s;let n=i.get(s)||null;if(n!==null)return n;if(n=e.get(s),n!==null)return i.set(s,n),n;let h=!1,c=[];for(let _=0;_{if(s===e)return s;if(s instanceof ie&&e instanceof ie)return $A(s,e,i,n);if(i){if(s instanceof U4)return s;if(e instanceof U4)return e}return s instanceof ie&&(s=new t0([s.parent],[s.returnState])),e instanceof ie&&(e=new t0([e.parent],[e.returnState])),jA(s,e,i,n)},"merge"),jA=C((s,e,i,n)=>{if(n!==null){let A=n.get(s,e);if(A!==null||(A=n.get(e,s),A!==null))return A}let h=0,c=0,a=0,_=new Array(s.returnStates.length+e.returnStates.length).fill(0),W=new Array(s.returnStates.length+e.returnStates.length).fill(null);for(;h{const e=new f0;for(const i of s)i&&(e.containsKey(i)||e.set(i,i));for(let i=0;i{if(n!==null){let c=n.get(s,e);if(c!==null||(c=n.get(e,s),c!==null))return c}const h=SA(s,e,i);if(h!==null)return n!==null&&n.set(s,e,h),h;if(s.returnState===e.returnState){const c=aa(s.parent,e.parent,i,n);if(c===s.parent)return s;if(c===e.parent)return e;const a=ie.create(c,s.returnState);return n!==null&&n.set(s,e,a),a}else{let c=null;if((s===e||s.parent!==null&&s.parent===e.parent)&&(c=s.parent),c!==null){const R=[s.returnState,e.returnState];s.returnState>e.returnState&&(R[0]=e.returnState,R[1]=s.returnState);const A=[c,c],T=new t0(A,R);return n!==null&&n.set(s,e,T),T}const a=[s.returnState,e.returnState];let _=[s.parent,e.parent];s.returnState>e.returnState&&(a[0]=e.returnState,a[1]=s.returnState,_=[e.parent,s.parent]);const W=new t0(_,a);return n!==null&&n.set(s,e,W),W}},"mergeSingletons"),SA=C((s,e,i)=>{if(i){if(s===$.EMPTY||e===$.EMPTY)return $.EMPTY}else{if(s===$.EMPTY&&e===$.EMPTY)return $.EMPTY;if(s===$.EMPTY){const n=[e.returnState,$.EMPTY_RETURN_STATE],h=[e.parent,null];return new t0(h,n)}else if(e===$.EMPTY){const n=[s.returnState,$.EMPTY_RETURN_STATE],h=[s.parent,null];return new t0(h,n)}}return null},"mergeRoot"),xe=(q1=class{constructor(e){o(this,"data");e?this.data=new Uint32Array(e.map(i=>i>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const e=this.data.length;let i=0,n=this.data[i];const h=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;i>>5]&=~(1<>>5;return i>=this.data.length?!1:(this.data[i]&1<e)return i}set(e){if(e<0)throw new RangeError("index cannot be negative");this.resize(e),this.data[e>>>5]|=1<>>5;if(i<=this.data.length)return;const n=new Uint32Array(i);n.set(this.data),n.fill(0,this.data.length),this.data=n}bitCount(e){return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),e=e+(e>>4)&252645135,e=e+(e>>8),e=e+(e>>16),e&63}},C(q1,"BitSet"),q1),gA=C(s=>s.hashCodeForConfigSet(),"hashATNConfig"),qA=C((s,e)=>s===e?!0:s===null||e===null?!1:s.equalsForConfigSet(e),"equalATNConfigs"),We=(Mi=class{constructor(e){o(this,"configs",[]);o(this,"hasSemanticContext",!1);o(this,"dipsIntoOuterContext",!1);o(this,"fullCtx");o(this,"uniqueAlt",0);o(this,"configLookup",new ee(gA,qA));o(this,"conflictingAlts",null);o(this,"readOnly",!1);o(this,"cachedHashCode",-1);this.fullCtx=e??!0}add(e,i){if(i===void 0&&(i=null),this.readOnly)throw new Error("This set is readonly");e.semanticContext!==nt.NONE&&(this.hasSemanticContext=!0),e.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;const h=!this.fullCtx,c=aa(n.context,e.context,h,i);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=c,!0}getStates(){const e=new ee;for(const i of this.configs)e.add(i.state);return e}getPredicates(){const e=[];for(const i of this.configs)i.semanticContext!==nt.NONE&&e.push(i.semanticContext);return e}optimizeConfigs(e){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const i of this.configs)i.context=e.getCachedContext(i.context)}addAll(e){for(const i of e)this.add(i,null);return!1}equals(e){return this===e||e instanceof Mi&&t1(this.configs,e.configs)&&this.fullCtx===e.fullCtx&&this.uniqueAlt===e.uniqueAlt&&this.conflictingAlts===e.conflictingAlts&&this.hasSemanticContext===e.hasSemanticContext&&this.dipsIntoOuterContext===e.dipsIntoOuterContext}hashCode(){const e=new Le;return e.update(this.configs),e.finish()}updateHashCode(e){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),e.update(this.cachedHashCode)):e.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}containsFast(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new ee}setReadonly(e){this.readOnly=e,e&&(this.configLookup=new ee)}toString(){return I0(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==y.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let e=new xe;for(let i of this.configs)e.set(i.alt);return e}},C(Mi,"ATNConfigSet"),Mi),Fe=(yi=class{constructor(e){o(this,"stateNumber",-1);o(this,"configs",new We);o(this,"edges",null);o(this,"isAcceptState",!1);o(this,"prediction",-1);o(this,"lexerActionExecutor",null);o(this,"requiresFullContext",!1);o(this,"predicates",null);e&&(typeof e=="number"?this.stateNumber=e:this.configs=e)}hashCode(){const e=new Le;return e.update(this.configs.configs),e.finish()}equals(e){return this===e?!0:e instanceof yi?this.configs===null?e.configs===null:this.configs.equals(e.configs):!1}toString(){let e="";return e+=this.stateNumber,e+=":",e+=this.configs?this.configs.toString():"",this.isAcceptState&&(e+="=>",this.predicates?e+=I0(this.predicates):e+=this.prediction),e.toString()}},C(yi,"DFAState"),yi);(s=>{const i=class i{constructor(h,c){o(this,"pred");o(this,"alt");this.alt=c,this.pred=h}toString(){return`(${this.pred}, ${this.alt})`}};C(i,"PredPrediction");let e=i;s.PredPrediction=e})(Fe||(Fe={}));var Ne=(Hi=class{constructor(e,i){o(this,"atn");o(this,"sharedContextCache",null);return this.atn=e,this.sharedContextCache=i,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(e){if(this.sharedContextCache===null)return e;const i=new f0;return k4(e,this.sharedContextCache,i)}getSharedContextCache(){return this.sharedContextCache}},C(Hi,"ATNSimulator"),o(Hi,"ERROR",new Fe(2147483647)),Hi),D4=(P1=class extends We{constructor(){super(),this.configLookup=new ee}},C(P1,"OrderedATNConfigSet"),P1),me=(T0=class{constructor(){o(this,"atn");o(this,"stateNumber");o(this,"ruleIndex");o(this,"epsilonOnlyTransitions");o(this,"nextTokenWithinRule");o(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return T0.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(e){return e instanceof T0?this.stateNumber===e.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(e,i){i===void 0&&(i=-1),this.transitions.length===0?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),i===-1?this.transitions.push(e):this.transitions.splice(i,1,e)}},C(T0,"ATNState"),o(T0,"INVALID_STATE_NUMBER",-1),T0),Z={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Gt=(tn=class extends me{get stateType(){return Z.RULE_STOP}},C(tn,"RuleStopState"),tn),U0=(en=class extends me{constructor(){super(...arguments);o(this,"decision",-1);o(this,"nonGreedy",!1)}},C(en,"DecisionState"),en),Ie=(wi=class extends pt{constructor(i,n){super(i,n);o(this,"lexerActionExecutor");o(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=i.lexerActionExecutor??(n==null?void 0:n.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=n!==null?this.checkNonGreedyDecision(n,this.state):!1,this}updateHashCode(i){i.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(i){return this===i||i instanceof wi&&this.passedThroughNonGreedyDecision===i.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(i.lexerActionExecutor):!i.lexerActionExecutor)&&super.equals(i)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(i){return this.equals(i)}checkNonGreedyDecision(i,n){return i.passedThroughNonGreedyDecision||n instanceof U0&&n.nonGreedy}},C(wi,"LexerATNConfig"),wi),fe=(nn=class{constructor(e){o(this,"actionType");o(this,"isPositionDependent");this.actionType=e,this.isPositionDependent=!1}hashCode(){const e=new Le;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}},C(nn,"LexerAction"),nn),ua=(bi=class extends fe{constructor(i,n){super(n.actionType);o(this,"offset");o(this,"action");this.offset=i,this.action=n,this.isPositionDependent=!0}execute(i){this.action.execute(i)}updateHashCode(i){i.update(this.actionType,this.offset,this.action)}equals(i){return this===i?!0:i instanceof bi?this.offset===i.offset&&this.action===i.action:!1}},C(bi,"LexerIndexedCustomAction"),bi),PA=(Qe=class extends fe{constructor(i){super(-1);o(this,"lexerActions");o(this,"cachedHashCode");return this.lexerActions=i===null?[]:i,this.cachedHashCode=Le.hashStuff(i),this}static append(i,n){if(i===null)return new Qe([n]);const h=i.lexerActions.concat([n]);return new Qe(h)}fixOffsetBeforeMatch(i){let n=null;for(let h=0;h",e+=this.getStateString(a),e+=` -`}}}}return e}getEdgeLabel(e){return`${this.vocabulary.getDisplayName(e-1)}`}getStateString(e){const i=e.stateNumber,n=(e.isAcceptState?":":"")+"s"+i+(e.requiresFullContext?"^":"");return e.isAcceptState?e.predicates!==null?`${n}=>${e.predicates.toString()}`:`${n}=>${e.prediction}`:`${n}`}},C(sn,"DFASerializer"),sn),Ue=(wt=class{constructor(e,i,n){o(this,"maxTokenType");o(this,"literalNames");o(this,"symbolicNames");o(this,"displayNames");this.literalNames=e??wt.EMPTY_NAMES,this.symbolicNames=i??wt.EMPTY_NAMES,this.displayNames=n??wt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(e){if(e==null||e.length===0)return wt.EMPTY_VOCABULARY;const i=[...e],n=[...e];for(let h=0;h0){const a=c.charAt(0);if(a==="'"){n[h]=null;continue}else if(a.toUpperCase()===a){i[h]=null;continue}}i[h]=null,n[h]=null}}return new wt(i,n,e)}getMaxTokenType(){return this.maxTokenType}getLiteralName(e){return e>=0&&e=0&&e=0&&e"'"+String.fromCharCode(i)+"'")}},C(hn,"LexerDFASerializer"),hn),i0=(cn=class extends U0{constructor(){super();o(this,"loopBackState");o(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return Z.STAR_LOOP_ENTRY}},C(cn,"StarLoopEntryState"),cn),k0=(an=class{constructor(e,i){o(this,"states",new ee);o(this,"s0",null);o(this,"decision");o(this,"atnStartState");o(this,"precedenceDfa");o(this,"isPrecedenceDfa",()=>this.precedenceDfa);o(this,"getPrecedenceStartState",e=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||e<0||e>=this.s0.edges.length?null:this.s0.edges[e]});o(this,"setPrecedenceStartState",(e,i)=>{var n;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(e<0||!((n=this.s0)!=null&&n.edges))){if(e>=this.s0.edges.length){const h=this.s0.edges.length;this.s0.edges.length=e+1,this.s0.edges.fill(null,h,e)}this.s0.edges[e]=i}});this.atnStartState=e,this.decision=i??0;let n=!1;if(e instanceof i0&&e.precedenceRuleDecision){n=!0;const h=new Fe;h.edges=[],h.isAcceptState=!1,h.requiresFullContext=!1,this.s0=h}this.precedenceDfa=n}setPrecedenceDfa(e){if(e!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const e=this.states.values();return e.sort((i,n)=>i.stateNumber-n.stateNumber),e}toString(e){return e?this.s0===null?"":new M4(this,e).toString()??"":this.toString(Ue.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new tT(this).toString()??""}},C(an,"DFA"),an),D0=(tt=class extends Ne{constructor(i,n,h,c){super(n,c);o(this,"decisionToDFA");o(this,"recog",null);o(this,"startIndex",-1);o(this,"line",1);o(this,"column",0);o(this,"mode",ne.DEFAULT_MODE);o(this,"prevAccept",new tt.SimState);this.decisionToDFA=h,this.recog=i}copyState(i){this.column=i.column,this.line=i.line,this.mode=i.mode,this.startIndex=i.startIndex}match(i,n){this.mode=n;const h=i.mark();try{this.startIndex=i.index,this.prevAccept.reset();const c=this.decisionToDFA[n];return c.s0===null?this.matchATN(i):this.execATN(i,c.s0)}finally{i.release(h)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=ne.DEFAULT_MODE}getDFA(i){return this.decisionToDFA[i]}getText(i){return i.getText(this.startIndex,i.index-1)}consume(i){i.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,i.consume()}getTokenName(i){return i===-1?"EOF":"'"+String.fromCharCode(i)+"'"}clearDFA(){for(let i=0;itt.MAX_DFA_EDGE)return null;let h=i.edges[n-tt.MIN_DFA_EDGE];return h===void 0&&(h=null),tt.debug&&h!==null&&console.log("reuse state "+i.stateNumber+" edge to "+h.stateNumber),h}computeTargetState(i,n,h){const c=new D4;return this.getReachableConfigSet(i,n.configs,c,h),c.items.length===0?(c.hasSemanticContext||this.addDFAEdge(n,h,Ne.ERROR),Ne.ERROR):this.addDFAEdge(n,h,null,c)}failOrAccept(i,n,h,c){if(i.dfaState!==null){const a=i.dfaState.lexerActionExecutor;return this.accept(n,a,this.startIndex,i.index,i.line,i.column),i.dfaState.prediction}else{if(c===L.EOF&&n.index===this.startIndex)return L.EOF;throw new uh(this.recog,n,this.startIndex,h)}}getReachableConfigSet(i,n,h,c){let a=y.INVALID_ALT_NUMBER;for(const _ of n.items){const W=_.alt===a;if(!(W&&_.passedThroughNonGreedyDecision)){tt.debug&&console.log(`testing %s at %s -`,this.getTokenName(c),_.toString(this.recog,!0));for(const R of _.state.transitions){const A=this.getReachableTarget(R,c);if(A!==null){let T=_.lexerActionExecutor;T!==null&&(T=T.fixOffsetBeforeMatch(i.index-this.startIndex));const l=c===L.EOF,O=new Ie({state:A,lexerActionExecutor:T},_);this.closure(i,O,h,W,!0,l)&&(a=_.alt)}}}}}accept(i,n,h,c,a,_){tt.debug&&console.log(`ACTION %s -`,n),i.seek(c),this.line=a,this.column=_,n!==null&&this.recog!==null&&n.execute(this.recog,i,h)}getReachableTarget(i,n){return i.matches(n,0,ne.MAX_CHAR_VALUE)?i.target:null}computeStartState(i,n){const h=$.EMPTY,c=new D4;for(let a=0;att.MAX_DFA_EDGE||(tt.debug&&console.log("EDGE "+i+" -> "+h+" upon "+n),i.edges===null&&(i.edges=new Array(tt.MAX_DFA_EDGE-tt.MIN_DFA_EDGE+1),i.edges.fill(null)),i.edges[n-tt.MIN_DFA_EDGE]=h),h}addDFAState(i){const n=new Fe(i);let h=null;for(const W of i.items)if(W.state instanceof Gt){h=W;break}h!==null&&(n.isAcceptState=!0,n.lexerActionExecutor=h.lexerActionExecutor,n.prediction=this.atn.ruleToTokenType[h.state.ruleIndex]);const c=this.decisionToDFA[this.mode],a=c.states.get(n);if(a!==null)return a;const _=n;return _.stateNumber=c.states.length,i.setReadonly(!0),_.configs=i,c.states.add(_),_}},C(tt,"LexerATNSimulator"),o(tt,"MIN_DFA_EDGE",0),o(tt,"MAX_DFA_EDGE",127),o(tt,"debug",!1),o(tt,"dfa_debug",!1),tt);(s=>{const i=class i{constructor(){o(this,"index",-1);o(this,"line",0);o(this,"column",-1);o(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};C(i,"SimState");let e=i;s.SimState=e})(D0||(D0={}));var ne=(xt=class extends f4{constructor(i){super();o(this,"_input");o(this,"_token",null);o(this,"_tokenStartCharIndex",-1);o(this,"_tokenStartLine",0);o(this,"_tokenStartColumn",0);o(this,"_hitEOF",!1);o(this,"_channel",0);o(this,"_type",0);o(this,"_modeStack",[]);o(this,"_mode",xt.DEFAULT_MODE);o(this,"_text",null);o(this,"_factory");this._input=i,this._factory=zA.DEFAULT}reset(i=!0){i&&this._input.seek(0),this._token=null,this._type=L.INVALID_TYPE,this._channel=L.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=xt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const i=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=L.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let n=!1;for(;;){this._type=L.INVALID_TYPE;let h=xt.SKIP;try{h=this.interpreter.match(this._input,this._mode)}catch(c){if(c instanceof uh)this.notifyListeners(c),this.recover(c);else throw c}if(this._input.LA(1)===L.EOF&&(this._hitEOF=!0),this._type===L.INVALID_TYPE&&(this._type=h),this._type===xt.SKIP){n=!0;break}if(this._type!==xt.MORE)break}if(!n)return this._token===null&&this.emit(),this._token}}finally{this._input.release(i)}}skip(){this._type=xt.SKIP}more(){this._type=xt.MORE}mode(i){this._mode=i}pushMode(i){D0.debug&&console.log("pushMode "+i),this._modeStack.push(this._mode),this.mode(i)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return D0.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(i){this._token=i}emit(){const i=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(i),i}emitEOF(){const i=this.column,n=this.line,h=this._factory.create([this,this._input],L.EOF,null,L.DEFAULT_CHANNEL,this._input.index,this._input.index-1,n,i);return this.emitToken(h),h}getCharIndex(){return this._input.index}getAllTokens(){const i=[];let n=this.nextToken();for(;n.type!==L.EOF;)i.push(n),n=this.nextToken();return i}notifyListeners(i){const n=this._tokenStartCharIndex,h=this._input.index,c=this._input.getText(n,h),a="token recognition error at: '"+this.getErrorDisplay(c)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,a,i)}getErrorDisplay(i){return i}getErrorDisplayForChar(i){return i.charCodeAt(0)===L.EOF?"":i===` -`?"\\n":i===" "?"\\t":i==="\r"?"\\r":i}getCharErrorDisplay(i){return"'"+this.getErrorDisplayForChar(i)+"'"}recover(i){this._input.LA(1)!==L.EOF&&(i instanceof uh?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(i){this.reset(!1),this._input=i}set tokenFactory(i){this._factory=i}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(i){this._type=i}get line(){return this.interpreter.line}set line(i){this.interpreter.line=i}get column(){return this.interpreter.column}set column(i){this.interpreter.column=i}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(i){this._text=i}},C(xt,"Lexer"),o(xt,"DEFAULT_MODE",0),o(xt,"MORE",-2),o(xt,"SKIP",-3),o(xt,"DEFAULT_TOKEN_CHANNEL",L.DEFAULT_CHANNEL),o(xt,"HIDDEN",L.HIDDEN_CHANNEL),o(xt,"MIN_CHAR_VALUE",0),o(xt,"MAX_CHAR_VALUE",1114111),xt),Dt=(Et=class{constructor(e){o(this,"intervals",[]);o(this,"readOnly",!1);e&&this.addSet(e)}static of(e,i){const n=new Et;return n.addRange(e,i),n}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?L.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?L.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(e){this.addInterval(new S(e,e))}addRange(e,i){this.addInterval(new S(e,i))}addInterval(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(e);else{for(let i=0;ithis.addInterval(i),this),this}complement(e,i){if(!e)return new Et;const n=new Et;if(e instanceof Et){if(e.isNil)return new Et;n.addSet(e)}else n.addInterval(new S(e,i??0));return n.subtract(this)}or(e){const i=new Et;return i.addSet(this),e.forEach(n=>i.addSet(n)),i}and(e){if(e.isNil)return new Et;const i=this.intervals,n=e.intervals;let h;const c=i.length,a=n.length;let _=0,W=0;for(;_c.stop){n++;continue}let _=null,W=null;if(a.start>c.start&&(_=new S(c.start,a.start-1)),a.stope)h=c-1;else return!0}return!1}removeRange(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(e.start===e.stop)this.removeOne(e.start);else if(this.intervals!==null){let i=0;for(const n of this.intervals){if(e.stop<=n.start)return;if(e.start>n.start&&e.stop=n.stop?(this.intervals.splice(i,1),i=i-1):e.start1&&(i+="{");let n=!1,h;e instanceof Ue?h=e:Array.isArray(e)?h=Ue.fromTokenNames(e):n=e??!1;for(let c=0;c":n?i+="'"+String.fromCodePoint(_)+"'":h?i+=this.elementName(h,_):i+=_;else if(n)i+="'"+String.fromCodePoint(_)+"'..'"+String.fromCodePoint(W)+"'";else if(h)for(let R=_;R<=W;++R)R>_&&(i+=", "),i+=this.elementName(h,R);else i+=_+".."+W;c1&&(i+="}"),i}toArray(){const e=[];for(const i of this.intervals)for(let n=i.start;n<=i.stop;n++)e.push(n);return e}get length(){let e=0;if(this.intervals.length===1){const n=this.intervals[0];return n.stop-n.start+1}for(const n of this.intervals)e+=n.length;return e}isReadonly(){return this.readOnly}setReadonly(e){if(this.readOnly&&!e)throw new Error("can't alter readonly IntervalSet");this.readOnly=e}elementName(e,i){return i===L.EOF?"":i===L.EPSILON?"":e.getDisplayName(i)}},C(Et,"IntervalSet"),o(Et,"COMPLETE_CHAR_SET",Et.of(ne.MIN_CHAR_VALUE,ne.MAX_CHAR_VALUE)),o(Et,"EMPTY_SET",new Et),Et.COMPLETE_CHAR_SET.readOnly=!0,Et.EMPTY_SET.readOnly=!0,Et),Eh=(un=class extends Pe{constructor(i,n,h,c){super(i);o(this,"ruleIndex");o(this,"precedence");o(this,"followState");this.ruleIndex=n,this.precedence=h,this.followState=c}get isEpsilon(){return!0}get serializationType(){return w.RULE}matches(i,n,h){return!1}},C(un,"RuleTransition"),un),Ea=(En=class extends Pe{constructor(i,n){super(i);q(this,l0,void 0);n!=null?J(this,l0,n):(J(this,l0,new Dt),x(this,l0).addOne(L.INVALID_TYPE))}get label(){return x(this,l0)}get serializationType(){return w.SET}matches(i,n,h){return this.label.contains(i)}toString(){return x(this,l0).toString()}},l0=new WeakMap,C(En,"SetTransition"),En),_a=(_n=class extends Ea{constructor(e,i){super(e,i)}get serializationType(){return w.NOT_SET}matches(e,i,n){return e>=i&&e<=n&&!super.matches(e,i,n)}toString(){return"~"+super.toString()}},C(_n,"NotSetTransition"),_n),y4=(Wn=class extends Pe{constructor(e){super(e)}get serializationType(){return w.WILDCARD}matches(e,i,n){return e>=i&&e<=n}toString(){return"."}},C(Wn,"WildcardTransition"),Wn),eT=(r0=class{constructor(e){o(this,"atn");this.atn=e}getDecisionLookahead(e){if(e===null)return null;const i=e.transitions.length,n=new Array(i);n.fill(null);for(let h=0;h=this.states.length)throw new Error("Invalid state number.");const n=this.states[e];let h=this.nextTokens(n);if(!h.contains(L.EPSILON))return h;let c=i;const a=new Dt;for(a.addSet(h),a.removeOne(L.EPSILON);c!==null&&c.invokingState>=0&&h.contains(L.EPSILON);){const W=this.states[c.invokingState].transitions[0];h=this.nextTokens(W.followState),a.addSet(h),a.removeOne(L.EPSILON),c=c.parent}return h.contains(L.EPSILON)&&a.addOne(L.EOF),a}nextTokens(e,i){return i===void 0?(e.nextTokenWithinRule!==null||(e.nextTokenWithinRule=this.nextTokens(e,null),e.nextTokenWithinRule.setReadonly(!0)),e.nextTokenWithinRule):new eT(this).LOOK(e,null,i)}},C(vi,"ATN"),o(vi,"INVALID_ALT_NUMBER",0),vi),H4=(C0=class{constructor(e){o(this,"readOnly",!1);o(this,"verifyATN");o(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=e==null?!0:e.verifyATN,this.generateRuleBypassTransitions=e==null?!1:e.generateRuleBypassTransitions}},C(C0,"ATNDeserializationOptions"),o(C0,"defaultOptions",new C0),C0.defaultOptions.readOnly=!0,C0),i1={LEXER:0,PARSER:1},w4=(Kn=class extends me{get stateType(){return Z.BASIC}},C(Kn,"BasicState"),Kn),ai=(Rn=class extends U0{constructor(){super();o(this,"endState");this.endState=null}},C(Rn,"BlockStartState"),Rn),Wa=(on=class extends me{constructor(){super(...arguments);o(this,"startState",null)}get stateType(){return Z.BLOCK_END}},C(on,"BlockEndState"),on),M0=(An=class extends me{constructor(){super(...arguments);o(this,"loopBackState",null)}get stateType(){return Z.LOOP_END}},C(An,"LoopEndState"),An),b4=(Tn=class extends me{constructor(){super();o(this,"stopState");o(this,"isLeftRecursiveRule");o(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return Z.RULE_START}},C(Tn,"RuleStartState"),Tn),iT=(ln=class extends U0{get stateType(){return Z.TOKEN_START}},C(ln,"TokensStartState"),ln),v4=(rn=class extends U0{get stateType(){return Z.PLUS_LOOP_BACK}},C(rn,"PlusLoopbackState"),rn),Ka=(Cn=class extends me{get stateType(){return Z.STAR_LOOP_BACK}},C(Cn,"StarLoopbackState"),Cn),Ra=(pn=class extends ai{constructor(){super(...arguments);o(this,"loopBackState")}get stateType(){return Z.PLUS_BLOCK_START}},C(pn,"PlusBlockStartState"),pn),oa=(dn=class extends ai{get stateType(){return Z.STAR_BLOCK_START}},C(dn,"StarBlockStartState"),dn),F4=(On=class extends ai{get stateType(){return Z.BLOCK_START}},C(On,"BasicBlockStartState"),On),_h=(xn=class extends Pe{constructor(i,n){super(i);o(this,"labelValue");q(this,Ln,void 0);this.labelValue=n,J(this,Ln,Dt.of(n,n))}get label(){return x(this,Ln)}matches(i,n,h){return this.labelValue===i}get serializationType(){return w.ATOM}toString(){return this.labelValue.toString()}},Ln=new WeakMap,C(xn,"AtomTransition"),xn),G4=(mn=class extends Pe{constructor(i,n,h){super(i);o(this,"start");o(this,"stop");q(this,Nn,new Dt);this.start=n,this.stop=h,x(this,Nn).addRange(n,h)}get label(){return x(this,Nn)}get serializationType(){return w.RANGE}matches(i,n,h){return i>=this.start&&i<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},Nn=new WeakMap,C(mn,"RangeTransition"),mn),n1=(fn=class extends Pe{constructor(i,n=-1){super(i);q(this,In,void 0);J(this,In,n)}get isEpsilon(){return!0}matches(i,n,h){return!1}get outermostPrecedenceReturn(){return x(this,In)}get serializationType(){return w.EPSILON}toString(){return"epsilon"}},In=new WeakMap,C(fn,"EpsilonTransition"),fn),B4=(Un=class extends sa{constructor(i,n,h,c){super(i);o(this,"ruleIndex");o(this,"predIndex");o(this,"isCtxDependent");this.ruleIndex=n,this.predIndex=h,this.isCtxDependent=c}get isEpsilon(){return!0}matches(i,n,h){return!1}get serializationType(){return w.PREDICATE}getPredicate(){return new nt.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},C(Un,"PredicateTransition"),Un),nT=(kn=class extends sa{constructor(i,n){super(i);o(this,"precedence");this.precedence=n}get isEpsilon(){return!0}matches(i,n,h){return!1}getPredicate(){return new nt.PrecedencePredicate(this.precedence)}get serializationType(){return w.PRECEDENCE}toString(){return this.precedence+" >= _p"}},C(kn,"PrecedencePredicateTransition"),kn),Mt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},sT=($0=class extends fe{constructor(){super(Mt.SKIP)}execute(e){e.skip()}toString(){return"skip"}},C($0,"LexerSkipAction"),o($0,"INSTANCE",new $0),$0),hT=(Fi=class extends fe{constructor(i){super(Mt.CHANNEL);o(this,"channel");this.channel=i}execute(i){i._channel=this.channel}updateHashCode(i){i.update(this.actionType,this.channel)}equals(i){return this===i?!0:i instanceof Fi?this.channel===i.channel:!1}toString(){return"channel("+this.channel+")"}},C(Fi,"LexerChannelAction"),Fi),cT=(Gi=class extends fe{constructor(i,n){super(Mt.CUSTOM);o(this,"ruleIndex");o(this,"actionIndex");this.ruleIndex=i,this.actionIndex=n,this.isPositionDependent=!0}execute(i){i.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(i){i.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(i){return this===i?!0:i instanceof Gi?this.ruleIndex===i.ruleIndex&&this.actionIndex===i.actionIndex:!1}},C(Gi,"LexerCustomAction"),Gi),aT=(S0=class extends fe{constructor(){super(Mt.MORE)}execute(e){e.more()}toString(){return"more"}},C(S0,"LexerMoreAction"),o(S0,"INSTANCE",new S0),S0),uT=(Bi=class extends fe{constructor(i){super(Mt.TYPE);o(this,"type");this.type=i}execute(i){i._type=this.type}updateHashCode(i){i.update(this.actionType,this.type)}equals(i){return this===i?!0:i instanceof Bi?this.type===i.type:!1}toString(){return"type("+this.type+")"}},C(Bi,"LexerTypeAction"),Bi),ET=(Vi=class extends fe{constructor(i){super(Mt.PUSH_MODE);o(this,"mode");this.mode=i}execute(i){i.pushMode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof Vi?this.mode===i.mode:!1}toString(){return"pushMode("+this.mode+")"}},C(Vi,"LexerPushModeAction"),Vi),_T=(g0=class extends fe{constructor(){super(Mt.POP_MODE)}execute(e){e.popMode()}toString(){return"popMode"}},C(g0,"LexerPopModeAction"),o(g0,"INSTANCE",new g0),g0),WT=(Yi=class extends fe{constructor(i){super(Mt.MODE);o(this,"mode");this.mode=i}execute(i){i.mode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof Yi?this.mode===i.mode:!1}toString(){return"mode("+this.mode+")"}},C(Yi,"LexerModeAction"),Yi),Aa=C((s,e)=>{const i=new Array(s-1);return i[s-1]=e,i.map(()=>e)},"initArray"),s1=(p0=class{constructor(e){o(this,"data",[]);o(this,"pos",0);o(this,"deserializationOptions");o(this,"stateFactories",null);o(this,"actionFactories",null);e||(e=H4.defaultOptions),this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){this.reset(e),this.checkVersion();const i=this.readATN();this.readStates(i),this.readRules(i),this.readModes(i);const n=[];return this.readSets(i,n),this.readEdges(i,n),this.readDecisions(i),this.readLexerActions(i),this.markPrecedenceDecisions(i),this.verifyATN(i),this.deserializationOptions.generateRuleBypassTransitions&&i.grammarType===i1.PARSER&&(this.generateRuleBypassTransitions(i),this.verifyATN(i)),i}reset(e){return this.data=e,this.pos=0,!1}checkVersion(){const e=this.readInt();if(e!==p0.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+e+" (expected "+p0.SERIALIZED_VERSION+").")}readATN(){const e=this.readInt(),i=this.readInt();return new y(e,i)}readStates(e){let i,n;const h=[],c=[],a=this.readInt();for(let R=0;R0;)c.addTransition(R.transitions[A-1]),R.transitions=R.transitions.slice(-1);e.ruleToStartState[i].addTransition(new n1(c)),W&&a.addTransition(new n1(W));const T=new w4;e.addState(T),T.addTransition(new _h(a,e.ruleToTokenType[i])),c.addTransition(new n1(T))}stateIsEndStateFor(e,i){if(e.ruleIndex!==i||!(e instanceof i0))return null;const n=e.transitions[e.transitions.length-1].target;return n instanceof M0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Gt?e:null}markPrecedenceDecisions(e){for(const i of e.states)if(i instanceof i0&&e.ruleToStartState[i.ruleIndex].isPrecedenceRule){const n=i.transitions[i.transitions.length-1].target;n instanceof M0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Gt&&(i.precedenceRuleDecision=!0)}}verifyATN(e){if(this.deserializationOptions.verifyATN){for(const i of e.states)if(i!==null)if(this.checkCondition(i.epsilonOnlyTransitions||i.transitions.length<=1),i instanceof Ra)this.checkCondition(i.loopBackState!==null);else if(i instanceof i0)if(this.checkCondition(i.loopBackState!==null),this.checkCondition(i.transitions.length===2),i.transitions[0].target instanceof oa)this.checkCondition(i.transitions[1].target instanceof M0),this.checkCondition(!i.nonGreedy);else if(i.transitions[0].target instanceof M0)this.checkCondition(i.transitions[1].target instanceof oa),this.checkCondition(i.nonGreedy);else throw new Error("IllegalState");else i instanceof Ka?(this.checkCondition(i.transitions.length===1),this.checkCondition(i.transitions[0].target instanceof i0)):i instanceof M0?this.checkCondition(i.loopBackState!==null):i instanceof b4?this.checkCondition(i.stopState!==null):i instanceof ai?this.checkCondition(i.endState!==null):i instanceof Wa?this.checkCondition(i.startState!==null):i instanceof U0?this.checkCondition(i.transitions.length<=1||i.decision>=0):this.checkCondition(i.transitions.length<=1||i instanceof Gt)}}checkCondition(e,i){if(!e)throw i==null&&(i="IllegalState"),i}readInt(){return this.data[this.pos++]}edgeFactory(e,i,n,h,c,a,_){const W=e.states[n];switch(i){case w.EPSILON:return new n1(W);case w.RANGE:return a!==0?new G4(W,L.EOF,c):new G4(W,h,c);case w.RULE:return new Eh(e.states[h],c,a,W);case w.PREDICATE:return new B4(W,h,c,a!==0);case w.PRECEDENCE:return new nT(W,h);case w.ATOM:return a!==0?new _h(W,L.EOF):new _h(W,h);case w.ACTION:return new d4(W,h,c,a!==0);case w.SET:return new Ea(W,_[h]);case w.NOT_SET:return new _a(W,_[h]);case w.WILDCARD:return new y4(W);default:throw new Error("The specified transition type: "+i+" is not valid.")}}stateFactory(e,i){var n,h;if(this.stateFactories===null){const c=[];c[Z.INVALID_TYPE]=null,c[Z.BASIC]=()=>new w4,c[Z.RULE_START]=()=>new b4,c[Z.BLOCK_START]=()=>new F4,c[Z.PLUS_BLOCK_START]=()=>new Ra,c[Z.STAR_BLOCK_START]=()=>new oa,c[Z.TOKEN_START]=()=>new iT,c[Z.RULE_STOP]=()=>new Gt,c[Z.BLOCK_END]=()=>new Wa,c[Z.STAR_LOOP_BACK]=()=>new Ka,c[Z.STAR_LOOP_ENTRY]=()=>new i0,c[Z.PLUS_LOOP_BACK]=()=>new v4,c[Z.LOOP_END]=()=>new M0,this.stateFactories=c}if(e>this.stateFactories.length||this.stateFactories[e]===null)throw new Error("The specified state type "+e+" is not valid.");{const c=((h=(n=this.stateFactories)[e])==null?void 0:h.call(n))??null;if(c!==null)return c.ruleIndex=i,c}return null}lexerActionFactory(e,i,n){if(this.actionFactories===null){const h=[];h[Mt.CHANNEL]=(c,a)=>new hT(c),h[Mt.CUSTOM]=(c,a)=>new cT(c,a),h[Mt.MODE]=(c,a)=>new WT(c),h[Mt.MORE]=(c,a)=>aT.INSTANCE,h[Mt.POP_MODE]=(c,a)=>_T.INSTANCE,h[Mt.PUSH_MODE]=(c,a)=>new ET(c),h[Mt.SKIP]=(c,a)=>sT.INSTANCE,h[Mt.TYPE]=(c,a)=>new uT(c),this.actionFactories=h}if(e>this.actionFactories.length||this.actionFactories[e]===null)throw new Error("The specified lexer action type "+e+" is not valid.");return this.actionFactories[e](i,n)}},C(p0,"ATNDeserializer"),o(p0,"SERIALIZED_VERSION",4),p0),r=(Dn=class extends E{constructor(i,n=null,h=null,c=null,a=null,_=null){_=_??i.context,c=c??i.getCurrentToken(),h=h??i.getCurrentToken(),n=n??i.inputStream;super({message:"",recognizer:i,input:n,ctx:_});o(this,"deadEndConfigs",null);o(this,"startToken");this.deadEndConfigs=a,this.startToken=h,this.offendingToken=c}},C(Dn,"NoViableAltException"),Dn),KT=(Mn=class{constructor(){o(this,"cacheMap");this.cacheMap=new f0}get(e,i){const n=this.cacheMap.get(e)??null;return n===null?null:n.get(i)??null}set(e,i,n){let h=this.cacheMap.get(e)??null;h===null&&(h=new f0,this.cacheMap.set(e,h)),h.set(i,n)}},C(Mn,"DoubleDict"),Mn),dt=(bt=class{static hasSLLConflictTerminatingPrediction(e,i){if(bt.allConfigsInRuleStopStates(i))return!0;if(e===bt.SLL&&i.hasSemanticContext){const h=new We;for(let c of i.items)c=new pt({semanticContext:nt.NONE},c),h.add(c);i=h}const n=bt.getConflictingAltSubsets(i);return bt.hasConflictingAltSet(n)&&!bt.hasStateAssociatedWithOneAlt(i)}static hasConfigInRuleStopState(e){for(const i of e.items)if(i.state instanceof Gt)return!0;return!1}static allConfigsInRuleStopStates(e){for(const i of e.items)if(!(i.state instanceof Gt))return!1;return!0}static resolvesToJustOneViableAlt(e){return bt.getSingleViableAlt(e)}static allSubsetsConflict(e){return!bt.hasNonConflictingAltSet(e)}static hasNonConflictingAltSet(e){for(const i of e)if(i.length===1)return!0;return!1}static hasConflictingAltSet(e){for(const i of e)if(i.length>1)return!0;return!1}static allSubsetsEqual(e){let i=null;for(const n of e)if(i===null)i=n;else if(n!==i)return!1;return!0}static getUniqueAlt(e){const i=bt.getAlts(e);return i.length===1?i.nextSetBit(0):y.INVALID_ALT_NUMBER}static getAlts(e){const i=new xe;return e.forEach(n=>{i.or(n)}),i}static getConflictingAltSubsets(e){const i=new f0(n=>Le.hashStuff(n.state.stateNumber,n.context),(n,h)=>{var c;return n.state.stateNumber===h.state.stateNumber&&(((c=n.context)==null?void 0:c.equals(h.context))??!0)});return e.items.forEach(n=>{let h=i.get(n);h===null&&(h=new xe,i.set(n,h)),h.set(n.alt)}),i.getValues()}static getStateToAltMap(e){const i=new f0;return e.items.forEach(n=>{let h=i.get(n.state);h||(h=new xe,i.set(n.state,h)),h.set(n.alt)}),i}static hasStateAssociatedWithOneAlt(e){const i={};return e.items.forEach(n=>{const h=n.state.stateNumber;i[h]||(i[h]=0),i[h]++}),Object.values(i).some(n=>n===1)}static getSingleViableAlt(e){let i=null;for(const n of e){const h=n.nextSetBit(0);if(i===null)i=h;else if(i!==h)return y.INVALID_ALT_NUMBER}return i??0}},C(bt,"PredictionMode"),o(bt,"SLL",0),o(bt,"LL",1),o(bt,"LL_EXACT_AMBIG_DETECTION",2),bt),Wh=(v=class extends Ne{constructor(i,n,h,c){super(n,c);o(this,"predictionMode");o(this,"decisionToDFA");o(this,"parser");o(this,"mergeCache",null);o(this,"_input",null);o(this,"_startIndex",0);o(this,"_outerContext",null);o(this,"_dfa",null);this.parser=i,this.decisionToDFA=h}static getUniqueAlt(i){let n=y.INVALID_ALT_NUMBER;for(const h of i.items)if(n===y.INVALID_ALT_NUMBER)n=h.alt;else if(h.alt!==n)return y.INVALID_ALT_NUMBER;return n}reset(){}clearDFA(){for(let i=0;i"}getTokenName(i){if(i===L.EOF)return"EOF";const h=(this.parser!=null?this.parser.vocabulary:Ue.EMPTY_VOCABULARY).getDisplayName(i);return h===i.toString()?h:h+"<"+i+">"}getLookaheadName(i){return this.getTokenName(i.LA(1))}dumpDeadEndConfigs(i){console.log("dead end configs: ");const n=i.deadEndConfigs.items;for(const h of n){let c="no edges";if(h.state.transitions.length>0){const a=h.state.transitions[0];a instanceof _h?c="Atom "+this.getTokenName(a.labelValue):a instanceof Ea&&(c=(a instanceof _a?"~":"")+"Set "+a.label)}console.error(h.toString(this.parser,!0)+":"+c)}}predicateDFAState(i,n){const h=n.transitions.length,c=this.getConflictingAltsOrUniqueAlt(i.configs),a=this.getPredsForAmbigAlts(c,i.configs,h);a!==null?(i.predicates=this.getPredicatePredictions(c,a),i.prediction=y.INVALID_ALT_NUMBER):i.prediction=c.nextSetBit(0)}execATNWithFullContext(i,n,h,c,a,_){(v.debug||v.trace_atn_sim)&&console.log("execATNWithFullContext "+h);const W=!0;let R=!1,A,T=h;c.seek(a);let l=c.LA(1),O=-1;for(;;){if(A=this.computeReachSet(T,l,W),A===null){const f=this.noViableAlt(c,_,T,a);c.seek(a);const k=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(T,_);if(k!==y.INVALID_ALT_NUMBER)return k;throw f}const m=dt.getConflictingAltSubsets(A);if(v.debug&&console.log("LL altSubSets="+m+", predict="+dt.getUniqueAlt(m)+", resolvesToJustOneViableAlt="+dt.resolvesToJustOneViableAlt(m)),A.uniqueAlt=v.getUniqueAlt(A),A.uniqueAlt!==y.INVALID_ALT_NUMBER){O=A.uniqueAlt;break}else if(this.predictionMode!==dt.LL_EXACT_AMBIG_DETECTION){if(O=dt.resolvesToJustOneViableAlt(m),O!==y.INVALID_ALT_NUMBER)break}else if(dt.allSubsetsConflict(m)&&dt.allSubsetsEqual(m)){R=!0,O=dt.getSingleViableAlt(m);break}T=A,l!==L.EOF&&(c.consume(),l=c.LA(1))}return A.uniqueAlt!==y.INVALID_ALT_NUMBER?(this.reportContextSensitivity(i,O,A,a,c.index),O):(this.reportAmbiguity(i,n,a,c.index,R,null,A),O)}computeReachSet(i,n,h){v.debug&&console.log("in computeReachSet, starting closure: "+i),this.mergeCache===null&&(this.mergeCache=new KT);const c=new We(h);let a=null;for(const W of i.items){if(v.debug&&console.log("testing "+this.getTokenName(n)+" at "+W),W.state instanceof Gt){(h||n===L.EOF)&&(a===null&&(a=[]),a.push(W));continue}for(const R of W.state.transitions){const A=this.getReachableTarget(R,n);if(A!==null){const T=new pt({state:A},W);c.add(T,this.mergeCache)}}}let _=null;if(a===null&&n!==L.EOF&&(c.items.length===1||v.getUniqueAlt(c)!==y.INVALID_ALT_NUMBER)&&(_=c),_===null){_=new We(h);const W=new ee,R=n===L.EOF;for(const A of c.items)this.closure(A,_,W,!1,h,R)}if(n===L.EOF&&(_=this.removeAllConfigsNotInRuleStopState(_,_===c)),a!==null&&(!h||!dt.hasConfigInRuleStopState(_)))for(const W of a)_.add(W,this.mergeCache);return _.items.length===0?null:_}removeAllConfigsNotInRuleStopState(i,n){if(dt.allConfigsInRuleStopStates(i))return i;const h=new We(i.fullCtx);for(const c of i.items){if(c.state instanceof Gt){h.add(c,this.mergeCache);continue}if(n&&c.state.epsilonOnlyTransitions&&this.atn.nextTokens(c.state).contains(L.EPSILON)){const _=this.atn.ruleToStopState[c.state.ruleIndex];h.add(new pt({state:_},c),this.mergeCache)}}return h}computeStartState(i,n,h){const c=ca(this.atn,n),a=new We(h);for(let _=0;_0&&(_=this.getAltThatFinishedDecisionEntryRule(a),_!==y.INVALID_ALT_NUMBER)?_:y.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(i){const n=[];for(const h of i.items)(h.reachesIntoOuterContext>0||h.state instanceof Gt&&h.context.hasEmptyPath())&&n.indexOf(h.alt)<0&&n.push(h.alt);return n.length===0?y.INVALID_ALT_NUMBER:Math.min(...n)}splitAccordingToSemanticValidity(i,n){const h=new We(i.fullCtx),c=new We(i.fullCtx);for(const a of i.items)a.semanticContext!==nt.NONE?a.semanticContext.evaluate(this.parser,n)?h.add(a):c.add(a):h.add(a);return[h,c]}evalSemanticContext(i,n,h){const c=new xe;for(const a of i){if(a.pred===nt.NONE){if(c.set(a.alt),!h)break;continue}const _=a.pred.evaluate(this.parser,n);if((v.debug||v.dfa_debug)&&console.log("eval pred "+a+"="+_),_&&((v.debug||v.dfa_debug)&&console.log("PREDICT "+a.alt),c.set(a.alt),!h))break}return c}closure(i,n,h,c,a,_){this.closureCheckingStopState(i,n,h,c,a,0,_)}closureCheckingStopState(i,n,h,c,a,_,W){if(i.state instanceof Gt)if(i.context&&!i.context.isEmpty()){for(let R=0;R=0&&(f+=1)}this.closureCheckingStopState(m,n,h,O,a,f,W)}}}canDropLoopEntryEdgeInLeftRecursiveRule(i){const n=i.state;if(n.stateType!==Z.STAR_LOOP_ENTRY||!i.context||!n.precedenceRuleDecision||i.context.isEmpty()||i.context.hasEmptyPath())return!1;const h=i.context.length;for(let W=0;W=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+I0(this.parser.getRuleInvocationStack())));let _=null;if(h&&c)if(a&&this._input){const W=this._input.index;this._input.seek(this._startIndex);const R=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(W),R&&(_=new pt({state:n.target},i))}else{const W=nt.andContext(i.semanticContext,n.getPredicate());_=new pt({state:n.target,semanticContext:W},i)}else _=new pt({state:n.target},i);return v.debug&&console.log("config from pred transition="+_),_}predTransition(i,n,h,c,a){v.debug&&(console.log("PRED (collectPredicates="+h+") "+n.ruleIndex+":"+n.predIndex+", ctx dependent="+n.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+I0(this.parser.getRuleInvocationStack())));let _=null;if(h&&(n.isCtxDependent&&c||!n.isCtxDependent))if(a&&this._input){const W=this._input.index;this._input.seek(this._startIndex);const R=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(W),R&&(_=new pt({state:n.target},i))}else{const W=nt.andContext(i.semanticContext,n.getPredicate());_=new pt({state:n.target,semanticContext:W},i)}else _=new pt({state:n.target},i);return v.debug&&console.log("config from pred transition="+_),_}ruleTransition(i,n){v.debug&&console.log("CALL rule "+this.getRuleName(n.target.ruleIndex)+", ctx="+i.context);const h=n.followState,c=ie.create(i.context,h.stateNumber);return new pt({state:n.target,context:c},i)}getConflictingAlts(i){const n=dt.getConflictingAltSubsets(i);return dt.getAlts(n)}getConflictingAltsOrUniqueAlt(i){let n;return i.uniqueAlt!==y.INVALID_ALT_NUMBER?(n=new xe,n.set(i.uniqueAlt)):n=i.conflictingAlts,n}noViableAlt(i,n,h,c){return new r(this.parser,i,i.get(c),i.LT(1),h,n)}addDFAEdge(i,n,h,c){return v.debug&&console.log("EDGE "+n+" -> "+c+" upon "+this.getTokenName(h)),c===null?null:(c=this.addDFAState(i,c),n===null||h<-1||h>this.atn.maxTokenType||(n.edges===null&&(n.edges=new Array(this.atn.maxTokenType+2),n.edges.fill(null)),n.edges[h+1]=c,v.debug&&console.log(`DFA= -`+i.toString(this.parser!=null?this.parser.vocabulary:Ue.EMPTY_VOCABULARY))),c)}addDFAState(i,n){if(n===Ne.ERROR)return n;const h=i.states.get(n);return h!==null?h:(n.stateNumber=i.states.length,n.configs.readOnly||(n.configs.optimizeConfigs(this),n.configs.setReadonly(!0)),i.states.add(n),v.debug&&console.log("adding new DFA state: "+n),n)}reportAttemptingFullContext(i,n,h,c,a){if(v.debug||v.retry_debug){const _=new S(c,a+1);console.log("reportAttemptingFullContext decision="+i.decision+":"+h+", input="+this.parser.tokenStream.getText(_))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,i,c,a,n,h)}reportContextSensitivity(i,n,h,c,a){if(v.debug||v.retry_debug){const _=new S(c,a+1);console.log("reportContextSensitivity decision="+i.decision+":"+h+", input="+this.parser.tokenStream.getText(_))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,i,c,a,n,h)}reportAmbiguity(i,n,h,c,a,_,W){if(v.debug||v.retry_debug){const R=new S(h,c+1);console.log("reportAmbiguity "+_+":"+W+", input="+this.parser.tokenStream.getText(R))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,i,h,c,a,_,W)}},C(v,"ParserATNSimulator"),o(v,"debug"),o(v,"trace_atn_sim",!1),o(v,"debug_add",!1),o(v,"debug_closure",!1),o(v,"dfa_debug",!1),o(v,"retry_debug",!1),v),h1=(yn=class{constructor(){o(this,"cache",new f0)}add(e){if(e===$.EMPTY)return $.EMPTY;const i=this.cache.get(e)||null;return i!==null?i:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}},C(yn,"PredictionContextCache"),yn),c1=(Hn=class{constructor(e,i,n,h,c,a){o(this,"decision");o(this,"configs");o(this,"input");o(this,"startIndex");o(this,"stopIndex");o(this,"fullCtx");this.decision=e,this.configs=i,this.input=n,this.startIndex=h,this.stopIndex=c,this.fullCtx=a}},C(Hn,"DecisionEventInfo"),Hn),RT=(wn=class extends c1{constructor(i,n,h,c,a,_,W){super(i,n,c,a,_,W);o(this,"ambigAlts");this.ambigAlts=h}},C(wn,"AmbiguityInfo"),wn),V4=(bn=class extends c1{constructor(e,i,n,h,c){super(e,i,n,h,c,!0)}},C(bn,"ContextSensitivityInfo"),bn),oT=(vn=class{constructor(e){o(this,"decision",0);o(this,"invocations",0);o(this,"timeInPrediction",0);o(this,"SLL_TotalLook",0);o(this,"SLL_MinLook",0);o(this,"SLL_MaxLook",0);o(this,"SLL_MaxLookEvent");o(this,"LL_TotalLook",0);o(this,"LL_MinLook",0);o(this,"LL_MaxLook",0);o(this,"LL_MaxLookEvent");o(this,"contextSensitivities");o(this,"errors");o(this,"ambiguities");o(this,"predicateEvals");o(this,"SLL_ATNTransitions",0);o(this,"SLL_DFATransitions",0);o(this,"LL_Fallback",0);o(this,"LL_ATNTransitions",0);o(this,"LL_DFATransitions",0);this.decision=e,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},C(vn,"DecisionInfo"),vn),Ta=(Fn=class extends c1{constructor(e,i,n,h,c,a){super(e,i,n,h,c,a)}},C(Fn,"ErrorInfo"),Fn),Y4=(Gn=class extends c1{constructor(i,n,h,c,a,_,W){super(i,n,c,a,_,W);o(this,"predictedAlt");this.predictedAlt=h}},C(Gn,"LookaheadEventInfo"),Gn),la=(Bn=class extends Wh{constructor(i){const n=i.interpreter.getSharedContextCache();super(i,i.interpreter.atn,i.interpreter.decisionToDFA,n);o(this,"decisions");o(this,"numDecisions",0);o(this,"currentDecision",0);o(this,"currentState");o(this,"conflictingAltResolvedBySLL");q(this,Ze,0);q(this,ze,0);if(n){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let h=0;hthis.decisions[n].SLL_MaxLook&&(this.decisions[n].SLL_MaxLook=W,this.decisions[n].SLL_MaxLookEvent=new Y4(n,null,a,i,this._startIndex,x(this,Ze),!1)),x(this,ze)>=0){const R=x(this,ze)-this._startIndex+1;this.decisions[n].LL_TotalLook+=R,this.decisions[n].LL_MinLook=this.decisions[n].LL_MinLook===0?R:Math.min(this.decisions[n].LL_MinLook,R),R>this.decisions[n].LL_MaxLook&&(this.decisions[n].LL_MaxLook=R,this.decisions[n].LL_MaxLookEvent=new Y4(n,null,a,i,this._startIndex,x(this,ze),!0))}return a}finally{this.currentDecision=-1}}getExistingTargetState(i,n){if(this._input){J(this,Ze,this._input.index);const h=super.getExistingTargetState(i,n);return h!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,h===Ne.ERROR&&this.decisions[this.currentDecision].errors.push(new Ta(this.currentDecision,i.configs,this._input,this._startIndex,x(this,Ze),!1))),this.currentState=h,h}return null}computeTargetState(i,n,h){const c=super.computeTargetState(i,n,h);return this.currentState=c,c}computeReachSet(i,n,h){h&&this._input&&J(this,ze,this._input.index);const c=super.computeReachSet(i,n,h);return this._input&&(h?(this.decisions[this.currentDecision].LL_ATNTransitions++,c===null&&this.decisions[this.currentDecision].errors.push(new Ta(this.currentDecision,i,this._input,this._startIndex,x(this,ze),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,c===null&&this.decisions[this.currentDecision].errors.push(new Ta(this.currentDecision,i,this._input,this._startIndex,x(this,Ze),!1)))),c}reportAttemptingFullContext(i,n,h,c,a){n!==null?this.conflictingAltResolvedBySLL=n.nextSetBit(0):this.conflictingAltResolvedBySLL=h.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,n&&super.reportAttemptingFullContext(i,n,h,c,a)}reportContextSensitivity(i,n,h,c,a){n!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new V4(this.currentDecision,h,this._input,c,a)),super.reportContextSensitivity(i,n,h,c,a)}reportAmbiguity(i,n,h,c,a,_,W){let R;_!==null?R=_.nextSetBit(0):R=W.getAlts().nextSetBit(0),this._input&&(W.fullCtx&&R!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new V4(this.currentDecision,W,this._input,h,c)),this.decisions[this.currentDecision].ambiguities.push(new RT(this.currentDecision,W,_,this._input,h,c,W.fullCtx))),super.reportAmbiguity(i,n,h,c,a,_,W)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ze=new WeakMap,ze=new WeakMap,C(Bn,"ProfilingATNSimulator"),Bn);Vn=class{constructor(e){o(this,"atnSimulator");this.atnSimulator=e}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const e=this.atnSimulator.getDecisionInfo(),i=[];for(let n=0;n0&&i.push(n);return i}getTotalTimeInPrediction(){const e=this.atnSimulator.getDecisionInfo();let i=0;for(let n=0;n0?n:void 0,modes:h.length>0?h:void 0}}},C(Xn,"InterpreterDataReader"),Qn=class{visit(e){return e.accept(this)}visitChildren(e){let i=this.defaultResult();const n=e.getChildCount();for(let h=0;h=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(e){if(e===0)return 0;e<0&&(e+=1);const i=this.index+e-1;return i<0||i>=this.data.length?L.EOF:this.data[i]}mark(){return-1}release(e){}seek(e){if(e<=this.index){this.index=e;return}this.index=Math.min(e,this.data.length)}getText(e,i){let n,h;return e instanceof S?(n=e.start,h=e.stop):(n=e,h=i??this.data.length-1),h>=this.data.length&&(h=this.data.length-1),n>=this.data.length?"":_7(this,Zn,W7).call(this,n,h+1)}toString(){return _7(this,Zn,W7).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:ch.UNKNOWN_SOURCE_NAME}},Zn=new WeakSet,W7=function(e,i){const n=this.data.slice(e,i);let h="";return n.forEach(c=>{h+=String.fromCodePoint(c)}),h},C(zn,"CharStreamImpl"),zn),ra=(jn=class{static fromString(e){return new TT(e)}},C(jn,"CharStreams"),jn),lT=(Jn=class{constructor(e){o(this,"tokenSource");o(this,"tokens",[]);o(this,"p",-1);o(this,"fetchedEOF",!1);this.tokenSource=e}mark(){return 0}release(e){}reset(){this.seek(0)}seek(e){this.lazyInit(),this.p=this.adjustSeekIndex(e)}get size(){return this.tokens.length}get index(){return this.p}get(e){return this.lazyInit(),this.tokens[e]}consume(){let e=!1;if(this.p>=0?this.fetchedEOF?e=this.p0?this.fetch(i)>=i:!0}fetch(e){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length||i<0||e>=this.tokens.length)throw new RangeError("start "+e+" or stop "+i+" not in 0.."+(this.tokens.length-1));if(e>i)return[];if(n===void 0)return this.tokens.slice(e,i+1);const h=[];i>=this.tokens.length&&(i=this.tokens.length-1);for(let c=e;c=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(e){return e}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(e,i){if(this.sync(e),e>=this.tokens.length)return-1;let n=this.tokens[e];for(;n.channel!==i;){if(n.type===L.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}previousTokenOnChannel(e,i){for(;e>=0&&this.tokens[e].channel!==i;)e-=1;return e}getHiddenTokensToRight(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const n=this.nextTokenOnChannel(e+1,ne.DEFAULT_TOKEN_CHANNEL),h=e+1,c=n===-1?this.tokens.length-1:n;return this.filterForChannel(h,c,i)}getHiddenTokensToLeft(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const n=this.previousTokenOnChannel(e-1,ne.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;const h=n+1,c=e-1;return this.filterForChannel(h,c,i)}filterForChannel(e,i,n){const h=[];for(let c=e;c=this.tokens.length&&(h=this.tokens.length-1);let c="";for(let a=n;a<=h;a++){const _=this.tokens[a];if(_.type===L.EOF)break;c+=_.text}return c.toString()}else{const i=e[0];return this.getText(i.getSourceInterval())}case 2:{const i=e[0],n=e[1];return i!==null&&n!==null?this.getText(S.of(i.tokenIndex,n.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},C(Jn,"BufferedTokenStream"),Jn),Kh=($n=class extends lT{constructor(i,n){super(i);o(this,"channel",L.DEFAULT_CHANNEL);this.channel=n??L.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(i){if(i===0||this.index-i<0)return null;let n=this.index,h=1;for(;h<=i;)n=this.previousTokenOnChannel(n-1,this.channel),h+=1;return n<0?null:this.tokens[n]}LT(i){if(this.lazyInit(),i===0)return null;if(i<0)return this.LB(-i);let n=this.index,h=1;for(;hnew k0(e,i))),Q),rT=(Sn=class extends ah{syntaxError(e,i,n,h,c,a){}},C(Sn,"XPathLexerErrorListener"),Sn),ui=(gn=class{constructor(e){o(this,"invert");o(this,"nodeName");this.nodeName=e,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(gn,"XPathElement"),gn),CT=(qn=class extends ui{constructor(i,n){super(i);o(this,"ruleIndex");this.ruleIndex=n}evaluate(i){return e0.findAllRuleNodes(i,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(qn,"XPathRuleAnywhereElement"),qn),pT=(Pn=class extends ui{constructor(i,n){super(i);o(this,"ruleIndex");this.ruleIndex=n}evaluate(i){const n=[];for(const h of e0.getChildren(i))h instanceof u&&(h.ruleIndex===this.ruleIndex&&!this.invert||h.ruleIndex!==this.ruleIndex&&this.invert)&&n.push(h);return n}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(Pn,"XPathRuleElement"),Pn),dT=(ts=class extends ui{constructor(i,n){super(i);o(this,"tokenType");this.tokenType=n}evaluate(i){return e0.findAllTokenNodes(i,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(ts,"XPathTokenAnywhereElement"),ts),OT=(es=class extends ui{constructor(i,n){super(i);o(this,"tokenType");this.tokenType=n}evaluate(i){const n=[];for(const h of e0.getChildren(i))h instanceof ve&&h.symbol&&(h.symbol.type===this.tokenType&&!this.invert||h.symbol.type!==this.tokenType&&this.invert)&&n.push(h);return n}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(es,"XPathTokenElement"),es),LT=(is=class extends ui{constructor(){super(Q4.WILDCARD)}evaluate(e){return this.invert?[]:e0.descendants(e)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(is,"XPathWildcardAnywhereElement"),is),xT=(ns=class extends ui{constructor(){super(Q4.WILDCARD)}evaluate(e){const i=[];if(this.invert)return i;for(const n of e0.getChildren(e))i.push(n);return i}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},C(ns,"XPathWildcardElement"),ns),Q4=(d0=class{constructor(e,i){o(this,"path");o(this,"elements");o(this,"parser");this.parser=e,this.path=i,this.elements=this.split(i)}static findAll(e,i,n){return new d0(n,i).evaluate(e)}split(e){const i=new Ke(ra.fromString(e));i.recover=W=>{throw W},i.removeErrorListeners(),i.addErrorListener(new rT);const n=new Kh(i);try{n.fill()}catch(W){if(W instanceof uh){const A="Invalid tokens or characters at index "+i.column+" in path '"+e+"' -- "+W.message;throw new RangeError(A)}throw W}const h=n.getTokens(),c=[],a=h.length;let _=0;t:for(;_0&&this.elements[h].evaluate(a).forEach(W=>{c.add(W)},c);h++,n=c}return n}getXPathElement(e,i){if(e.type===L.EOF)throw new Error("Missing path element at end of path");const n=e.text;if(n==null)throw new Error("Expected wordToken to have text content.");const h=this.parser.getTokenType(n),c=this.parser.getRuleIndex(n);switch(e.type){case Ke.WILDCARD:return i?new LT:new xT;case Ke.TOKEN_REF:case Ke.STRING:if(h===L.INVALID_TYPE)throw new Error(n+" at index "+e.start+" isn't a valid token name");return i?new dT(n,h):new OT(n,h);default:if(c===-1)throw new Error(n+" at index "+e.start+" isn't a valid rule name");return i?new CT(n,c):new pT(n,c)}}},C(d0,"XPath"),o(d0,"WILDCARD","*"),o(d0,"NOT","!"),d0),y0=(ss=class extends E{constructor(e){super({message:"",recognizer:e,input:e.inputStream,ctx:e.context}),this.offendingToken=e.getCurrentToken()}},C(ss,"InputMismatchException"),ss),Rh=(hs=class extends E{constructor(i,n,h=null){super({message:NT(n??"no predicate",h??null),recognizer:i,input:i.inputStream,ctx:i.context});o(this,"ruleIndex",0);o(this,"predicateIndex",0);o(this,"predicate");const a=i.atn.states[i.state].transitions[0];a instanceof B4?(this.ruleIndex=a.ruleIndex,this.predicateIndex=a.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=n,this.offendingToken=i.getCurrentToken()}},C(hs,"FailedPredicateException"),hs),NT=C((s,e)=>e!==null?e:"failed predicate: {"+s+"}?","formatMessage"),Ca=(cs=class{constructor(){o(this,"errorRecoveryMode",!1);o(this,"lastErrorIndex",-1);o(this,"lastErrorStates",new Dt);o(this,"nextTokensContext",null);o(this,"nextTokenState",0)}reset(e){this.endErrorCondition(e)}beginErrorCondition(e){this.errorRecoveryMode=!0}inErrorRecoveryMode(e){return this.errorRecoveryMode}endErrorCondition(e){this.errorRecoveryMode=!1,this.lastErrorStates=new Dt,this.lastErrorIndex=-1}reportMatch(e){this.endErrorCondition(e)}reportError(e,i){this.inErrorRecoveryMode(e)||(this.beginErrorCondition(e),i instanceof r?this.reportNoViableAlternative(e,i):i instanceof y0?this.reportInputMismatch(e,i):i instanceof Rh?this.reportFailedPredicate(e,i):e.notifyErrorListeners(i.message,i.offendingToken,i))}recover(e,i){this.lastErrorIndex===e.inputStream.index&&this.lastErrorStates.contains(e.state)&&e.consume(),this.lastErrorIndex=e.inputStream.index,this.lastErrorStates.addOne(e.state);const n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}sync(e){if(this.inErrorRecoveryMode(e))return;const i=e.atn.states[e.state],n=e.tokenStream.LA(1),h=e.atn.nextTokens(i);if(h.contains(n)){this.nextTokensContext=null,this.nextTokenState=me.INVALID_STATE_NUMBER;return}else if(h.contains(L.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=e.context,this.nextTokenState=e.state);return}switch(i.stateType){case Z.BLOCK_START:case Z.STAR_BLOCK_START:case Z.PLUS_BLOCK_START:case Z.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(e)!==null)return;throw new y0(e);case Z.PLUS_LOOP_BACK:case Z.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const c=new Dt;c.addSet(e.getExpectedTokens());const a=c.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,a)}break}}reportNoViableAlternative(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const n=e.tokenStream;let h;n!==null&&i.startToken?i.startToken.type===L.EOF?h="":h=n.getText(new S(i.startToken.tokenIndex,i.offendingToken.tokenIndex)):h="";const c="no viable alternative at input "+this.escapeWSAndQuote(h);e.notifyErrorListeners(c,i.offendingToken,i)}reportInputMismatch(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const n="mismatched input "+this.getTokenErrorDisplay(i.offendingToken)+" expecting "+i.getExpectedTokens().toString(e.vocabulary);e.notifyErrorListeners(n,i.offendingToken,i)}reportFailedPredicate(e,i){const h="rule "+e.ruleNames[e.context.ruleIndex]+" "+i.message;e.notifyErrorListeners(h,i.offendingToken,i)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),n=this.getTokenErrorDisplay(i),h=this.getExpectedTokens(e),c="extraneous input "+n+" expecting "+h.toString(e.vocabulary);e.notifyErrorListeners(c,i,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),h="missing "+this.getExpectedTokens(e).toString(e.vocabulary)+" at "+this.getTokenErrorDisplay(i);e.notifyErrorListeners(h,i,null)}recoverInline(e){const i=this.singleTokenDeletion(e);if(i!==null)return e.consume(),i;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new y0(e)}singleTokenInsertion(e){const i=e.tokenStream.LA(1),n=e.atn,c=n.states[e.state].transitions[0].target;return n.nextTokens(c,e.context).contains(i)?(this.reportMissingToken(e),!0):!1}singleTokenDeletion(e){const i=e.tokenStream.LA(2);if(this.getExpectedTokens(e).contains(i)){this.reportUnwantedToken(e),e.consume();const h=e.getCurrentToken();return this.reportMatch(e),h}else return null}getMissingSymbol(e){const i=e.getCurrentToken(),n=this.getExpectedTokens(e);let h=L.INVALID_TYPE;n.isNil||(h=n.minElement);let c;h===L.EOF?c="":c="";let a=i;const _=e.tokenStream.LT(-1);return a.type===L.EOF&&_!==null&&(a=_),e.getTokenFactory().create(a.source,h,c,L.DEFAULT_CHANNEL,-1,-1,a.line,a.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(e){if(e===null)return"";let i=e.text;return i===null&&(e.type===L.EOF?i="":i="<"+e.type+">"),this.escapeWSAndQuote(i)}escapeWSAndQuote(e){return e=e.replace(/\n/g,"\\n"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\t/g,"\\t"),"'"+e+"'"}getErrorRecoverySet(e){const i=e.atn;let n=e.context;const h=new Dt;for(;n!==null&&n.invokingState>=0;){const a=i.states[n.invokingState].transitions[0],_=i.nextTokens(a.followState);h.addSet(_),n=n.parent}return h.removeOne(L.EPSILON),h}consumeUntil(e,i){let n=e.tokenStream.LA(1);for(;n!==L.EOF&&!i.contains(n);)e.consume(),n=e.tokenStream.LA(1)}},C(cs,"DefaultErrorStrategy"),cs);as=class extends Ca{recover(e,i){let n=e.context;for(;n!==null;)n.exception=i,n=n.parent;throw new X4(i)}recoverInline(e){const i=new y0(e);let n=e.context;for(;n!==null;)n.exception=i,n=n.parent;throw new X4(i)}sync(e){}},C(as,"BailErrorStrategy"),us=class extends ah{constructor(i){super();o(this,"exactOnly");o(this,"reportAmbiguity",(i,n,h,c,a,_,W)=>{if(this.exactOnly&&!a)return;const R=this.getDecisionDescription(i,n),A=this.getConflictingAlts(_,W),T=i.tokenStream.getText(S.of(h,c)),l=`reportAmbiguity d=${R}: ambigAlts=${A}, input='${T}'`;i.notifyErrorListeners(l,null,null)});o(this,"reportAttemptingFullContext",(i,n,h,c,a,_)=>{const W=this.getDecisionDescription(i,n),R=i.tokenStream.getText(S.of(h,c)),A=`reportAttemptingFullContext d=${W}, input='${R}'`;i.notifyErrorListeners(A,null,null)});o(this,"reportContextSensitivity",(i,n,h,c,a,_)=>{const W=this.getDecisionDescription(i,n),R=i.tokenStream.getText(S.of(h,c)),A=`reportContextSensitivity d=${W}, input='${R}'`;i.notifyErrorListeners(A,null,null)});o(this,"getDecisionDescription",(i,n)=>{const h=n.decision,c=n.atnStartState.ruleIndex,a=i.ruleNames;if(c<0||c>=a.length)return h.toString();const _=a[c];return _.length===0?h.toString():`${h} (${_})`});o(this,"getConflictingAlts",(i,n)=>{if(i!==null)return i;const h=new xe;for(let c=0;c{super(...jl);q(this,Es,void 0)};h!==void 0?s(n,h):s(),J(this,Es,i)}get ruleIndex(){return x(this,Es)}},Es=new WeakMap,C(_s,"InterpreterRuleContext"),_s);rs=class extends ne{constructor(i,n,h,c,a,_,W){super(W);q(this,Ws,void 0);q(this,Ks,void 0);q(this,Rs,void 0);q(this,os,void 0);q(this,As,void 0);q(this,Ts,void 0);q(this,ls,void 0);q(this,Dc,new h1);if(_.grammarType!==i1.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");J(this,Ws,i),J(this,Ks,_),J(this,Rs,h.slice(0)),J(this,os,c.slice(0)),J(this,As,a.slice(0)),J(this,Ts,n),J(this,ls,_.decisionToState.map((R,A)=>new k0(R,A))),this.interpreter=new D0(this,_,x(this,ls),x(this,Dc))}get atn(){return x(this,Ks)}get grammarFileName(){return x(this,Ws)}get ruleNames(){return x(this,Rs)}get channelNames(){return x(this,os)}get modeNames(){return x(this,As)}get vocabulary(){return x(this,Ts)}},Ws=new WeakMap,Ks=new WeakMap,Rs=new WeakMap,os=new WeakMap,As=new WeakMap,Ts=new WeakMap,ls=new WeakMap,Dc=new WeakMap,C(rs,"LexerInterpreter");var IT=(Cs=class{constructor(e){o(this,"parser");this.parser=e}enterEveryRule(e){console.log("enter "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(e){console.log("consume "+e.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(e){console.log("exit "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(e){}},C(Cs,"TraceListener"),Cs),Z4=(ps=class extends f4{constructor(i){super();o(this,"printer",null);o(this,"buildParseTrees",!0);o(this,"errorHandler",new Ca);o(this,"context",null);o(this,"_input",null);o(this,"_precedenceStack",[]);o(this,"_parseListeners",null);o(this,"_syntaxErrors",0);o(this,"matchedEOF",!1);o(this,"_tracer",null);o(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=i}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(i){let n=this.getCurrentToken();return n.type===i?(this.errorHandler.reportMatch(this),this.consume()):(n=this.errorHandler.recoverInline(this),this.buildParseTrees&&n.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,n))),n}matchWildcard(){let i=this.getCurrentToken();return i.type>0?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}getParseListeners(){return this._parseListeners??[]}addParseListener(i){if(i===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(i)}removeParseListener(i){if(this._parseListeners!==null&&i!==null){const n=this._parseListeners.indexOf(i);n>=0&&this._parseListeners.splice(n,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.forEach(n=>{n.enterEveryRule(i),i.enterRule(n)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.slice(0).reverse().forEach(n=>{i.exitRule(n),n.exitEveryRule(i)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(i){this._input.getTokenSource().tokenFactory=i}getATNWithBypassAlts(){const i=this.getSerializedATN();if(i===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const n=new H4;return n.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new s1(n).deserialize(i),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(i){this._input=null,this.reset(),this._input=i}get inputStream(){return this._input}set inputStream(i){this.tokenStream=i}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(i,n,h){n=n??null,h=h??null,n===null&&(n=this.getCurrentToken()),this._syntaxErrors+=1;const c=n.line,a=n.column;this.getErrorListenerDispatch().syntaxError(this,n,c,a,i,h)}consume(){const i=this.getCurrentToken();i.type!==L.EOF&&this.tokenStream.consume();const n=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||n){let h;this.errorHandler.inErrorRecoveryMode(this)?h=this.context.addErrorNode(this.createErrorNode(this.context,i)):h=this.context.addTokenNode(i),n&&this._parseListeners.forEach(c=>{h instanceof e1?c.visitErrorNode(h):c.visitTerminal(h)})}return i}addContextToParseTree(){var i;((i=this.context)==null?void 0:i.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(i,n,h){this.state=n,this.context=i,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(i,n){i.setAltNumber(n),this.buildParseTrees&&this.context!==i&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(i)),this.context=i}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(i,n,h,c){this.state=n,this._precedenceStack.push(c),this.context=i,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(i,n,h){const c=this.context;c.parent=i,c.invokingState=n,c.stop=this._input.LT(-1),this.context=i,this.context.start=c.start,this.buildParseTrees&&this.context.addChild(c),this.triggerEnterRuleEvent()}unrollRecursionContexts(i){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const n=this.context,h=this.getParseListeners();if(h!==null&&h.length>0)for(;this.context!==i;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=i;n.parent=i,this.buildParseTrees&&i!==null&&i.addChild(n)}getInvokingContext(i){let n=this.context;for(;n!==null;){if(n.ruleIndex===i)return n;n=n.parent}return null}precpred(i,n){return n>=this._precedenceStack[this._precedenceStack.length-1]}inContext(i){return!1}isExpectedToken(i){const n=this.interpreter.atn;let h=this.context;const c=n.states[this.state];let a=n.nextTokens(c);if(a.contains(i))return!0;if(!a.contains(L.EPSILON))return!1;for(;h!==null&&h.invokingState>=0&&a.contains(L.EPSILON);){const W=n.states[h.invokingState].transitions[0];if(a=n.nextTokens(W.followState),a.contains(i))return!0;h=h.parent}return!!(a.contains(L.EPSILON)&&i===L.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const i=this.interpreter.atn,n=i.states[this.state];return i.nextTokens(n)}getRuleIndex(i){const n=this.getRuleIndexMap().get(i);return n??-1}getRuleInvocationStack(i){i=i??null,i===null&&(i=this.context);const n=[];for(;i!==null;){const h=i.ruleIndex;h<0?n.push("n/a"):n.push(this.ruleNames[h]),i=i.parent}return n}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let i=!1;for(const n of this.interpreter.decisionToDFA)n.states.length>0&&(i&&console.log(),this.printer&&(this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.vocabulary))),i=!0)}getSourceName(){return this._input.getSourceName()}setProfile(i){const n=this.interpreter,h=n.predictionMode;if(i)n instanceof la||(this.interpreter=new la(this));else if(n instanceof la){const c=n.getSharedContextCache();if(c){const a=new Wh(this,this.atn,n.decisionToDFA,c);this.interpreter=a}}this.interpreter.predictionMode=h}setTrace(i){i?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new IT(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(i,n){return new ve(n)}createErrorNode(i,n){return new e1(n)}},C(ps,"Parser"),ps);Ns=class extends Z4{constructor(i,n,h,c,a){super(a);o(this,"_rootContext");o(this,"_parentContextStack",[]);o(this,"overrideDecision",-1);o(this,"overrideDecisionInputIndex",-1);o(this,"overrideDecisionAlt",-1);o(this,"overrideDecisionReached",!1);o(this,"_overrideDecisionRoot",null);q(this,ds,void 0);q(this,pe,void 0);q(this,Os,void 0);q(this,Ls,void 0);q(this,xs,void 0);q(this,Mc,new h1);q(this,Qi,void 0);J(this,ds,i),J(this,pe,c),J(this,Os,h.slice(0)),J(this,Ls,n),J(this,Qi,new xe);for(const _ of c.states)_ instanceof i0&&_.precedenceRuleDecision&&x(this,Qi).set(_.stateNumber);J(this,xs,c.decisionToState.map((_,W)=>new k0(_,W))),this.interpreter=new Wh(this,c,x(this,xs),x(this,Mc))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return x(this,pe)}get vocabulary(){return x(this,Ls)}get ruleNames(){return x(this,Os)}get grammarFileName(){return x(this,ds)}get atnState(){return x(this,pe).states[this.state]}parse(i){var h;const n=x(this,pe).ruleToStartState[i];for(this._rootContext=this.createInterpreterRuleContext(null,me.INVALID_STATE_NUMBER,i),n.isPrecedenceRule?this.enterRecursionRule(this._rootContext,n.stateNumber,i,0):this.enterRule(this._rootContext,n.stateNumber,i);;){const c=this.atnState;switch(c.stateType){case Z.RULE_STOP:if((h=this.context)!=null&&h.isEmpty)if(n.isPrecedenceRule){const a=this.context,_=this._parentContextStack.pop();return this.unrollRecursionContexts(_[0]),a}else return this.exitRule(),this._rootContext;this.visitRuleStopState(c);break;default:try{this.visitState(c)}catch(a){if(a instanceof E)this.state=x(this,pe).ruleToStopState[c.ruleIndex].stateNumber,this.context.exception=a,this.errorHandler.reportError(this,a),this.recover(a);else throw a}break}}}addDecisionOverride(i,n,h){this.overrideDecision=i,this.overrideDecisionInputIndex=n,this.overrideDecisionAlt=h}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(i,n,h,c){this._parentContextStack.push([this.context,i.invokingState]),super.enterRecursionRule(i,n,h,c)}visitState(i){let n=1;i instanceof U0&&(n=this.visitDecisionState(i));const h=i.transitions[n-1];switch(h.serializationType){case w.EPSILON:if(x(this,Qi).get(i.stateNumber)&&!(h.target instanceof M0)){const A=this._parentContextStack[this._parentContextStack.length-1],T=this.createInterpreterRuleContext(A[0],A[1],this.context.ruleIndex);this.pushNewRecursionContext(T,x(this,pe).ruleToStartState[i.ruleIndex].stateNumber,this.context.ruleIndex)}break;case w.ATOM:this.match(h.label.minElement);break;case w.RANGE:case w.SET:case w.NOT_SET:h.matches(this._input.LA(1),L.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case w.WILDCARD:this.matchWildcard();break;case w.RULE:const c=h.target,a=c.ruleIndex,_=this.createInterpreterRuleContext(this.context,i.stateNumber,a);c.isPrecedenceRule?this.enterRecursionRule(_,c.stateNumber,a,h.precedence):this.enterRule(_,h.target.stateNumber,a);break;case w.PREDICATE:const W=h;if(!this.sempred(this.context,W.ruleIndex,W.predIndex))throw new Rh(this);break;case w.ACTION:const R=h;this.action(this.context,R.ruleIndex,R.actionIndex);break;case w.PRECEDENCE:if(!this.precpred(this.context,h.precedence)){const A=h.precedence;throw new Rh(this,`precpred(_ctx, ${A})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=h.target.stateNumber}visitDecisionState(i){let n=1;if(i.transitions.length>1){this.errorHandler.sync(this);const h=i.decision;h===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(n=this.overrideDecisionAlt,this.overrideDecisionReached=!0):n=this.interpreter.adaptivePredict(this._input,h,this.context)}return n}createInterpreterRuleContext(i,n,h){return new mT(h,i,n)}visitRuleStopState(i){if(x(this,pe).ruleToStartState[i.ruleIndex].isPrecedenceRule){const[c,a]=this._parentContextStack.pop();this.unrollRecursionContexts(c),this.state=a}else this.exitRule();const h=x(this,pe).states[this.state].transitions[0];this.state=h.followState.stateNumber}recover(i){const n=this._input.index;if(this.errorHandler.recover(this,i),this._input.index===n){const h=i.offendingToken;if(!h)throw new Error("Expected exception to have an offending token");const c=h.tokenSource,a=(c==null?void 0:c.inputStream)??null,_=[c,a];if(i instanceof y0){const W=i.getExpectedTokens();if(!W)throw new Error("Expected the exception to provide expected tokens");let R=L.INVALID_TYPE;W.isNil||(R=W.minElement);const A=this.getTokenFactory().create(_,R,h.text,L.DEFAULT_CHANNEL,-1,-1,h.line,h.column);this.context.addErrorNode(this.createErrorNode(this.context,A))}else{const W=this.getTokenFactory().create(_,L.INVALID_TYPE,h.text,L.DEFAULT_CHANNEL,-1,-1,h.line,h.column);this.context.addErrorNode(this.createErrorNode(this.context,W))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},ds=new WeakMap,pe=new WeakMap,Os=new WeakMap,Ls=new WeakMap,xs=new WeakMap,Mc=new WeakMap,Qi=new WeakMap,C(Ns,"ParserInterpreter"),$t=class{constructor(e){o(this,"tokens");o(this,"programs",new Map);o(this,"lastRewriteTokenIndexes");this.tokens=e}getTokenStream(){return this.tokens}insertAfter(e,i,n=$t.DEFAULT_PROGRAM_NAME){let h;typeof e=="number"?h=e:h=e.tokenIndex;const c=this.getProgram(n),a=new j4(this.tokens,h,c.length,i);c.push(a)}insertBefore(e,i,n=$t.DEFAULT_PROGRAM_NAME){let h;typeof e=="number"?h=e:h=e.tokenIndex;const c=this.getProgram(n),a=new Ei(this.tokens,h,c.length,i);c.push(a)}replaceSingle(e,i,n=$t.DEFAULT_PROGRAM_NAME){this.replace(e,e,i,n)}replace(e,i,n,h=$t.DEFAULT_PROGRAM_NAME){if(typeof e!="number"&&(e=e.tokenIndex),typeof i!="number"&&(i=i.tokenIndex),e>i||e<0||i<0||i>=this.tokens.size)throw new RangeError(`replace: range invalid: ${e}..${i}(size=${this.tokens.size})`);const c=this.getProgram(h),a=new oh(this.tokens,e,i,c.length,n);c.push(a)}delete(e,i,n=$t.DEFAULT_PROGRAM_NAME){i==null&&(i=e),this.replace(e,i,null,n)}getProgram(e){let i=this.programs.get(e);return i==null&&(i=this.initializeProgram(e)),i}initializeProgram(e){const i=[];return this.programs.set(e,i),i}getText(e,i=$t.DEFAULT_PROGRAM_NAME){let n;e instanceof S?n=e:n=new S(0,this.tokens.size-1),typeof e=="string"&&(i=e);const h=this.programs.get(i);let c=n.start,a=n.stop;if(a>this.tokens.size-1&&(a=this.tokens.size-1),c<0&&(c=0),h==null||h.length===0)return this.tokens.getText(new S(c,a));const _=[],W=this.reduceToSingleOperationPerIndex(h);let R=c;for(;R<=a&&R=this.tokens.size-1&&_.push(String(A.text));return _.join("")}reduceToSingleOperationPerIndex(e){for(let n=0;nc.index&&W.index<=c.lastIndex&&(e[W.instructionIndex]=null);const _=this.getKindOfOps(e,oh,n);for(const W of _){if(W.index>=c.index&&W.lastIndex<=c.lastIndex){e[W.instructionIndex]=null;continue}const R=W.lastIndexc.lastIndex;if(W.text==null&&c.text==null&&!R)e[W.instructionIndex]=null,c.index=Math.min(W.index,c.index),c.lastIndex=Math.max(W.lastIndex,c.lastIndex);else if(!R)throw new Error(`replace op boundaries of ${c} overlap with previous ${W}`)}}for(let n=0;n=W.index&&c.index<=W.lastIndex)throw new Error(`insert op ${c} within boundaries of previous ${W}`)}}const i=new Map;for(const n of e)if(n!=null){if(i.get(n.index)!=null)throw new Error("should only be one op per index");i.set(n.index,n)}return i}catOpText(e,i){let n="",h="";return e!=null&&(n=e.toString()),i!=null&&(h=i.toString()),n+h}getKindOfOps(e,i,n){return e.slice(0,n).filter(h=>h&&h instanceof i)}},C($t,"TokenStreamRewriter"),o($t,"DEFAULT_PROGRAM_NAME","default"),o($t,"PROGRAM_INIT_SIZE",100),o($t,"MIN_TOKEN_INDEX",0);var z4=(ms=class{constructor(e,i,n,h){o(this,"instructionIndex");o(this,"index");o(this,"text");o(this,"tokens");this.tokens=e,this.instructionIndex=n,this.index=i,this.text=h===void 0?"":h}execute(e){return this.index}toString(){return"'}},C(ms,"RewriteOperation"),ms),Ei=(Is=class extends z4{constructor(e,i,n,h){super(e,i,n,h)}execute(e){return this.text&&e.push(this.text.toString()),this.tokens.get(this.index).type!==L.EOF&&e.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},C(Is,"InsertBeforeOp"),Is),j4=(fs=class extends Ei{constructor(e,i,n,h){super(e,i+1,n,h)}toString(){return"'}},C(fs,"InsertAfterOp"),fs),oh=(Us=class extends z4{constructor(i,n,h,c,a){super(i,n,c,a);o(this,"lastIndex");this.lastIndex=h}execute(i){return this.text&&i.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},C(Us,"ReplaceOp"),Us);class K extends ne{constructor(e){super(e),this.interpreter=new D0(this,K._ATN,K.decisionsToDFA,new h1)}get grammarFileName(){return"PostgreSqlLexer.g4"}get literalNames(){return K.literalNames}get symbolicNames(){return K.symbolicNames}get ruleNames(){return K.ruleNames}get serializedATN(){return K._serializedATN}get channelNames(){return K.channelNames}get modeNames(){return K.modeNames}static get _ATN(){return K.__ATN||(K.__ATN=new s1().deserialize(K._serializedATN)),K.__ATN}get vocabulary(){return K.vocabulary}}K.Dollar=1,K.OPEN_PAREN=2,K.CLOSE_PAREN=3,K.OPEN_BRACKET=4,K.CLOSE_BRACKET=5,K.COMMA=6,K.SEMI=7,K.COLON=8,K.STAR=9,K.EQUAL=10,K.DOT=11,K.PLUS=12,K.MINUS=13,K.SLASH=14,K.CARET=15,K.LT=16,K.GT=17,K.LESS_LESS=18,K.GREATER_GREATER=19,K.COLON_EQUALS=20,K.LESS_EQUALS=21,K.EQUALS_GREATER=22,K.GREATER_EQUALS=23,K.DOT_DOT=24,K.NOT_EQUALS=25,K.TYPECAST=26,K.PERCENT=27,K.PARAM=28,K.Operator=29,K.KW_ALL=30,K.KW_ANALYSE=31,K.KW_ANALYZE=32,K.KW_AND=33,K.KW_ANY=34,K.KW_ARRAY=35,K.KW_AS=36,K.KW_ASC=37,K.KW_ASYMMETRIC=38,K.KW_BOTH=39,K.KW_CASE=40,K.KW_CAST=41,K.KW_CHECK=42,K.KW_COLLATE=43,K.KW_COLUMN=44,K.KW_CONSTRAINT=45,K.KW_CREATE=46,K.KW_CURRENT_CATALOG=47,K.KW_CURRENT_DATE=48,K.KW_CURRENT_ROLE=49,K.KW_CURRENT_TIME=50,K.KW_CURRENT_TIMESTAMP=51,K.KW_CURRENT_USER=52,K.KW_DEFAULT=53,K.KW_DEFERRABLE=54,K.KW_DESC=55,K.KW_DISTINCT=56,K.KW_DO=57,K.KW_ELSE=58,K.KW_EXCEPT=59,K.KW_FALSE=60,K.KW_FETCH=61,K.KW_FOR=62,K.KW_FOREIGN=63,K.KW_FROM=64,K.KW_GRANT=65,K.KW_GROUP=66,K.KW_HAVING=67,K.KW_IN=68,K.KW_INITIALLY=69,K.KW_INTERSECT=70,K.KW_INTO=71,K.KW_LATERAL=72,K.KW_LEADING=73,K.KW_LIMIT=74,K.KW_LOCALTIME=75,K.KW_LOCALTIMESTAMP=76,K.KW_NOT=77,K.KW_NULL=78,K.KW_OFFSET=79,K.KW_ON=80,K.KW_ONLY=81,K.KW_OR=82,K.KW_ORDER=83,K.KW_PLACING=84,K.KW_PRIMARY=85,K.KW_REFERENCES=86,K.KW_RETURNING=87,K.KW_SELECT=88,K.KW_SESSION_USER=89,K.KW_SOME=90,K.KW_SYMMETRIC=91,K.KW_TABLE=92,K.KW_THEN=93,K.KW_TO=94,K.KW_TRAILING=95,K.KW_TRUE=96,K.KW_UNION=97,K.KW_UNIQUE=98,K.KW_USER=99,K.KW_USING=100,K.KW_VARIADIC=101,K.KW_WHEN=102,K.KW_WHERE=103,K.KW_WINDOW=104,K.KW_WITH=105,K.KW_AUTHORIZATION=106,K.KW_BINARY=107,K.KW_COLLATION=108,K.KW_CONCURRENTLY=109,K.KW_CROSS=110,K.KW_CURRENT_SCHEMA=111,K.KW_FREEZE=112,K.KW_FULL=113,K.KW_ILIKE=114,K.KW_INNER=115,K.KW_IS=116,K.KW_ISNULL=117,K.KW_JOIN=118,K.KW_LEFT=119,K.KW_LIKE=120,K.KW_NATURAL=121,K.KW_NOTNULL=122,K.KW_OUTER=123,K.KW_OVER=124,K.KW_OVERLAPS=125,K.KW_RIGHT=126,K.KW_SIMILAR=127,K.KW_VERBOSE=128,K.KW_ABORT=129,K.KW_ABSOLUTE=130,K.KW_ACCESS=131,K.KW_ACTION=132,K.KW_ADD=133,K.KW_ADMIN=134,K.KW_AFTER=135,K.KW_AGGREGATE=136,K.KW_ALSO=137,K.KW_ALTER=138,K.KW_ALWAYS=139,K.KW_ASSERTION=140,K.KW_ASSIGNMENT=141,K.KW_AT=142,K.KW_ATTRIBUTE=143,K.KW_BACKWARD=144,K.KW_BEFORE=145,K.KW_BEGIN=146,K.KW_BY=147,K.KW_CACHE=148,K.KW_CALLED=149,K.KW_CASCADE=150,K.KW_CASCADED=151,K.KW_CATALOG=152,K.KW_CHAIN=153,K.KW_CHARACTERISTICS=154,K.KW_CHECKPOINT=155,K.KW_CLASS=156,K.KW_CLOSE=157,K.KW_CLUSTER=158,K.KW_COMMENT=159,K.KW_COMMENTS=160,K.KW_COMMIT=161,K.KW_COMMITTED=162,K.KW_CONFIGURATION=163,K.KW_CONNECTION=164,K.KW_CONSTRAINTS=165,K.KW_CONTENT=166,K.KW_CONTINUE=167,K.KW_CONVERSION=168,K.KW_COPY=169,K.KW_COST=170,K.KW_CSV=171,K.KW_CURSOR=172,K.KW_CYCLE=173,K.KW_DATA=174,K.KW_DATABASE=175,K.KW_DAY=176,K.KW_DEALLOCATE=177,K.KW_DECLARE=178,K.KW_DEFAULTS=179,K.KW_DEFERRED=180,K.KW_DEFINER=181,K.KW_DELETE=182,K.KW_DELIMITER=183,K.KW_DELIMITERS=184,K.KW_DICTIONARY=185,K.KW_DISABLE=186,K.KW_DISCARD=187,K.KW_DOCUMENT=188,K.KW_DOMAIN=189,K.KW_DOUBLE=190,K.KW_DROP=191,K.KW_EACH=192,K.KW_ENABLE=193,K.KW_ENCODING=194,K.KW_ENCRYPTED=195,K.KW_ENUM=196,K.KW_ESCAPE=197,K.KW_EVENT=198,K.KW_EXCLUDE=199,K.KW_EXCLUDING=200,K.KW_EXCLUSIVE=201,K.KW_EXECUTE=202,K.KW_EXPLAIN=203,K.KW_EXTENSION=204,K.KW_EXTERNAL=205,K.KW_FAMILY=206,K.KW_FIRST=207,K.KW_FOLLOWING=208,K.KW_FORCE=209,K.KW_FORWARD=210,K.KW_FUNCTION=211,K.KW_FUNCTIONS=212,K.KW_GLOBAL=213,K.KW_GRANTED=214,K.KW_HANDLER=215,K.KW_HEADER=216,K.KW_HOLD=217,K.KW_HOUR=218,K.KW_IDENTITY=219,K.KW_IF=220,K.KW_IMMEDIATE=221,K.KW_IMMUTABLE=222,K.KW_IMPLICIT=223,K.KW_INCLUDING=224,K.KW_INCREMENT=225,K.KW_INDEX=226,K.KW_INDEXES=227,K.KW_INHERIT=228,K.KW_NOINHERIT=229,K.KW_SUPERUSER=230,K.KW_NOSUPERUSER=231,K.KW_CREATEDB=232,K.KW_NOCREATEDB=233,K.KW_CREATEROLE=234,K.KW_NOCREATEROLE=235,K.KW_CREATEUSER=236,K.KW_NOCREATEUSER=237,K.KW_INHERITS=238,K.KW_INLINE=239,K.KW_INSENSITIVE=240,K.KW_INSERT=241,K.KW_INSTEAD=242,K.KW_INVOKER=243,K.KW_ISOLATION=244,K.KW_KEY=245,K.KW_LABEL=246,K.KW_LANGUAGE=247,K.KW_LARGE=248,K.KW_LAST=249,K.KW_LEAKPROOF=250,K.KW_LEVEL=251,K.KW_LISTEN=252,K.KW_LOAD=253,K.KW_LOCAL=254,K.KW_LOCATION=255,K.KW_LOCK=256,K.KW_MAPPING=257,K.KW_MATCH=258,K.KW_MATERIALIZED=259,K.KW_MAXVALUE=260,K.KW_MINUTE=261,K.KW_MINVALUE=262,K.KW_MODE=263,K.KW_MONTH=264,K.KW_MOVE=265,K.KW_NAME=266,K.KW_NAMES=267,K.KW_NEXT=268,K.KW_NO=269,K.KW_NOTHING=270,K.KW_NOTIFY=271,K.KW_NOWAIT=272,K.KW_NULLS=273,K.KW_OBJECT=274,K.KW_OF=275,K.KW_OFF=276,K.KW_OIDS=277,K.KW_OPERATOR=278,K.KW_OPTION=279,K.KW_OPTIONS=280,K.KW_OWNED=281,K.KW_OWNER=282,K.KW_PARSER=283,K.KW_PARTIAL=284,K.KW_PARTITION=285,K.KW_PASSING=286,K.KW_PASSWORD=287,K.KW_PLANS=288,K.KW_PRECEDING=289,K.KW_PREPARE=290,K.KW_PREPARED=291,K.KW_PRESERVE=292,K.KW_PRIOR=293,K.KW_PRIVILEGES=294,K.KW_PROCEDURAL=295,K.KW_PROCEDURE=296,K.KW_PROGRAM=297,K.KW_QUOTE=298,K.KW_RANGE=299,K.KW_READ=300,K.KW_REASSIGN=301,K.KW_RECHECK=302,K.KW_RECURSIVE=303,K.KW_REF=304,K.KW_REFRESH=305,K.KW_REINDEX=306,K.KW_RELATIVE=307,K.KW_RELEASE=308,K.KW_RENAME=309,K.KW_REPEATABLE=310,K.KW_REPLACE=311,K.KW_REPLICA=312,K.KW_RESET=313,K.KW_RESTART=314,K.KW_RESTRICT=315,K.KW_RETURNS=316,K.KW_REVOKE=317,K.KW_ROLE=318,K.KW_ROLLBACK=319,K.KW_ROWS=320,K.KW_RULE=321,K.KW_SAVEPOINT=322,K.KW_SCHEMA=323,K.KW_SCROLL=324,K.KW_SEARCH=325,K.KW_SECOND=326,K.KW_SECURITY=327,K.KW_SEQUENCE=328,K.KW_SEQUENCES=329,K.KW_SERIALIZABLE=330,K.KW_SERVER=331,K.KW_SESSION=332,K.KW_SET=333,K.KW_SHARE=334,K.KW_SHOW=335,K.KW_SIMPLE=336,K.KW_SNAPSHOT=337,K.KW_STABLE=338,K.KW_STANDALONE=339,K.KW_START=340,K.KW_STATEMENT=341,K.KW_STATISTICS=342,K.KW_STDIN=343,K.KW_STDOUT=344,K.KW_STORAGE=345,K.KW_STRICT=346,K.KW_STRIP=347,K.KW_SYSID=348,K.KW_SYSTEM=349,K.KW_TABLES=350,K.KW_TABLESPACE=351,K.KW_TEMP=352,K.KW_TEMPLATE=353,K.KW_TEMPORARY=354,K.KW_TEXT=355,K.KW_TRANSACTION=356,K.KW_TRIGGER=357,K.KW_TRUNCATE=358,K.KW_TRUSTED=359,K.KW_TYPE=360,K.KW_TYPES=361,K.KW_UNBOUNDED=362,K.KW_UNCOMMITTED=363,K.KW_UNENCRYPTED=364,K.KW_UNKNOWN=365,K.KW_UNLISTEN=366,K.KW_UNLOGGED=367,K.KW_UNTIL=368,K.KW_UPDATE=369,K.KW_VACUUM=370,K.KW_VALID=371,K.KW_VALIDATE=372,K.KW_VALIDATOR=373,K.KW_VARYING=374,K.KW_VERSION=375,K.KW_VIEW=376,K.KW_VOLATILE=377,K.KW_WHITESPACE=378,K.KW_WITHOUT=379,K.KW_WORK=380,K.KW_WRAPPER=381,K.KW_WRITE=382,K.KW_XML=383,K.KW_YEAR=384,K.KW_YES=385,K.KW_ZONE=386,K.KW_BETWEEN=387,K.KW_BIGINT=388,K.KW_BIT=389,K.KW_BOOLEAN=390,K.KW_CHAR=391,K.KW_CHARACTER=392,K.KW_COALESCE=393,K.KW_DEC=394,K.KW_DECIMAL=395,K.KW_EXISTS=396,K.KW_EXTRACT=397,K.KW_FLOAT=398,K.KW_GREATEST=399,K.KW_INOUT=400,K.KW_INT=401,K.KW_INTEGER=402,K.KW_INTERVAL=403,K.KW_LEAST=404,K.KW_NATIONAL=405,K.KW_NCHAR=406,K.KW_NONE=407,K.KW_NULLIF=408,K.KW_NUMERIC=409,K.KW_OVERLAY=410,K.KW_POSITION=411,K.KW_PRECISION=412,K.KW_REAL=413,K.KW_ROW=414,K.KW_SETOF=415,K.KW_SMALLINT=416,K.KW_SUBSTRING=417,K.KW_TIME=418,K.KW_TIMESTAMP=419,K.KW_TREAT=420,K.KW_TRIM=421,K.KW_VALUES=422,K.KW_VARCHAR=423,K.KW_XMLATTRIBUTES=424,K.KW_XMLCONCAT=425,K.KW_XMLELEMENT=426,K.KW_XMLEXISTS=427,K.KW_XMLFOREST=428,K.KW_XMLPARSE=429,K.KW_XMLPI=430,K.KW_XMLROOT=431,K.KW_XMLSERIALIZE=432,K.KW_CALL=433,K.KW_CURRENT=434,K.KW_ATTACH=435,K.KW_DETACH=436,K.KW_EXPRESSION=437,K.KW_GENERATED=438,K.KW_LOGGED=439,K.KW_STORED=440,K.KW_INCLUDE=441,K.KW_ROUTINE=442,K.KW_TRANSFORM=443,K.KW_IMPORT=444,K.KW_POLICY=445,K.KW_METHOD=446,K.KW_REFERENCING=447,K.KW_NEW=448,K.KW_OLD=449,K.KW_VALUE=450,K.KW_SUBSCRIPTION=451,K.KW_PUBLICATION=452,K.KW_OUT=453,K.KW_END=454,K.KW_ROUTINES=455,K.KW_SCHEMAS=456,K.KW_PROCEDURES=457,K.KW_INPUT=458,K.KW_SUPPORT=459,K.KW_PARALLEL=460,K.KW_SQL=461,K.KW_DEPENDS=462,K.KW_OVERRIDING=463,K.KW_CONFLICT=464,K.KW_SKIP=465,K.KW_LOCKED=466,K.KW_TIES=467,K.KW_ROLLUP=468,K.KW_CUBE=469,K.KW_GROUPING=470,K.KW_SETS=471,K.KW_TABLESAMPLE=472,K.KW_ORDINALITY=473,K.KW_XMLTABLE=474,K.KW_COLUMNS=475,K.KW_XMLNAMESPACES=476,K.KW_ROWTYPE=477,K.KW_NORMALIZED=478,K.KW_WITHIN=479,K.KW_FILTER=480,K.KW_GROUPS=481,K.KW_OTHERS=482,K.KW_NFC=483,K.KW_NFD=484,K.KW_NFKC=485,K.KW_NFKD=486,K.KW_UESCAPE=487,K.KW_VIEWS=488,K.KW_NORMALIZE=489,K.KW_DUMP=490,K.KW_PRINT_STRICT_PARAMS=491,K.KW_VARIABLE_CONFLICT=492,K.KW_ERROR=493,K.KW_USE_VARIABLE=494,K.KW_USE_COLUMN=495,K.KW_ALIAS=496,K.KW_CONSTANT=497,K.KW_PERFORM=498,K.KW_GET=499,K.KW_DIAGNOSTICS=500,K.KW_STACKED=501,K.KW_ELSIF=502,K.KW_WHILE=503,K.KW_REVERSE=504,K.KW_FOREACH=505,K.KW_SLICE=506,K.KW_EXIT=507,K.KW_RETURN=508,K.KW_QUERY=509,K.KW_RAISE=510,K.KW_SQLSTATE=511,K.KW_DEBUG=512,K.KW_LOG=513,K.KW_INFO=514,K.KW_NOTICE=515,K.KW_WARNING=516,K.KW_EXCEPTION=517,K.KW_ASSERT=518,K.KW_LOOP=519,K.KW_OPEN=520,K.KW_PEFERENCES=521,K.KW_USAGE=522,K.KW_CONNECT=523,K.KW_PUBLIC=524,K.KW_MERGE=525,K.KW_MATCHED=526,K.KW_BREADTH=527,K.KW_DEPTH=528,K.KW_UNSAFE=529,K.KW_RESTRICTED=530,K.KW_SAFE=531,K.KW_FINALIZE=532,K.KW_MODULUS=533,K.KW_REMAINDER=534,K.KW_LOGIN=535,K.KW_NOLOGIN=536,K.KW_REPLICATION=537,K.KW_NOREPLICATION=538,K.KW_BYPASSRLS=539,K.KW_NOBYPASSRLS=540,K.KW_PERMISSIVE=541,K.KW_RESTRICTIVE=542,K.KW_COMPRESSION=543,K.KW_PLAIN=544,K.KW_EXTENDED=545,K.KW_MAIN=546,K.KW_SKIP_LOCKED=547,K.KW_BUFFER_USAGE_LIMIT=548,K.Identifier=549,K.QuotedIdentifier=550,K.UnterminatedQuotedIdentifier=551,K.InvalidQuotedIdentifier=552,K.InvalidUnterminatedQuotedIdentifier=553,K.UnicodeQuotedIdentifier=554,K.UnterminatedUnicodeQuotedIdentifier=555,K.InvalidUnicodeQuotedIdentifier=556,K.InvalidUnterminatedUnicodeQuotedIdentifier=557,K.StringConstant=558,K.UnterminatedStringConstant=559,K.UnicodeEscapeStringConstant=560,K.UnterminatedUnicodeEscapeStringConstant=561,K.BeginDollarStringConstant=562,K.BinaryStringConstant=563,K.UnterminatedBinaryStringConstant=564,K.InvalidBinaryStringConstant=565,K.InvalidUnterminatedBinaryStringConstant=566,K.HexadecimalStringConstant=567,K.UnterminatedHexadecimalStringConstant=568,K.InvalidHexadecimalStringConstant=569,K.InvalidUnterminatedHexadecimalStringConstant=570,K.Integral=571,K.NumericFail=572,K.Numeric=573,K.PLSQLVARIABLENAME=574,K.PLSQLIDENTIFIER=575,K.Whitespace=576,K.Newline=577,K.LineComment=578,K.BlockComment=579,K.UnterminatedBlockComment=580,K.MetaCommand=581,K.EndMetaCommand=582,K.ErrorCharacter=583,K.EscapeStringConstant=584,K.UnterminatedEscapeStringConstant=585,K.InvalidEscapeStringConstant=586,K.InvalidUnterminatedEscapeStringConstant=587,K.DollarText=588,K.EndDollarStringConstant=589,K.AfterEscapeStringConstantWithNewlineMode_Continued=590,K.EscapeStringConstantMode=1,K.AfterEscapeStringConstantMode=2,K.AfterEscapeStringConstantWithNewlineMode=3,K.DollarQuotedStringMode=4,K.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],K.literalNames=[null,"'$'","'('","')'","'['","']'","','","';'","':'","'*'","'='","'.'","'+'","'-'","'/'","'^'","'<'","'>'","'<<'","'>>'","':='","'<='","'=>'","'>='","'..'","'<>'","'::'","'%'",null,null,"'ALL'","'ANALYSE'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'ASYMMETRIC'","'BOTH'","'CASE'","'CAST'","'CHECK'","'COLLATE'","'COLUMN'","'CONSTRAINT'","'CREATE'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_ROLE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DEFAULT'","'DEFERRABLE'","'DESC'","'DISTINCT'","'DO'","'ELSE'","'EXCEPT'","'FALSE'","'FETCH'","'FOR'","'FOREIGN'","'FROM'","'GRANT'","'GROUP'","'HAVING'","'IN'","'INITIALLY'","'INTERSECT'","'INTO'","'LATERAL'","'LEADING'","'LIMIT'","'LOCALTIME'","'LOCALTIMESTAMP'","'NOT'","'NULL'","'OFFSET'","'ON'","'ONLY'","'OR'","'ORDER'","'PLACING'","'PRIMARY'","'REFERENCES'","'RETURNING'","'SELECT'","'SESSION_USER'","'SOME'","'SYMMETRIC'","'TABLE'","'THEN'","'TO'","'TRAILING'","'TRUE'","'UNION'","'UNIQUE'","'USER'","'USING'","'VARIADIC'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'AUTHORIZATION'","'BINARY'","'COLLATION'","'CONCURRENTLY'","'CROSS'","'CURRENT_SCHEMA'","'FREEZE'","'FULL'","'ILIKE'","'INNER'","'IS'","'ISNULL'","'JOIN'","'LEFT'","'LIKE'","'NATURAL'","'NOTNULL'","'OUTER'","'OVER'","'OVERLAPS'","'RIGHT'","'SIMILAR'","'VERBOSE'","'ABORT'","'ABSOLUTE'","'ACCESS'","'ACTION'","'ADD'","'ADMIN'","'AFTER'","'AGGREGATE'","'ALSO'","'ALTER'","'ALWAYS'","'ASSERTION'","'ASSIGNMENT'","'AT'","'ATTRIBUTE'","'BACKWARD'","'BEFORE'","'BEGIN'","'BY'","'CACHE'","'CALLED'","'CASCADE'","'CASCADED'","'CATALOG'","'CHAIN'","'CHARACTERISTICS'","'CHECKPOINT'","'CLASS'","'CLOSE'","'CLUSTER'","'COMMENT'","'COMMENTS'","'COMMIT'","'COMMITTED'","'CONFIGURATION'","'CONNECTION'","'CONSTRAINTS'","'CONTENT'","'CONTINUE'","'CONVERSION'","'COPY'","'COST'","'CSV'","'CURSOR'","'CYCLE'","'DATA'","'DATABASE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULTS'","'DEFERRED'","'DEFINER'","'DELETE'","'DELIMITER'","'DELIMITERS'","'DICTIONARY'","'DISABLE'","'DISCARD'","'DOCUMENT'","'DOMAIN'","'DOUBLE'","'DROP'","'EACH'","'ENABLE'","'ENCODING'","'ENCRYPTED'","'ENUM'","'ESCAPE'","'EVENT'","'EXCLUDE'","'EXCLUDING'","'EXCLUSIVE'","'EXECUTE'","'EXPLAIN'","'EXTENSION'","'EXTERNAL'","'FAMILY'","'FIRST'","'FOLLOWING'","'FORCE'","'FORWARD'","'FUNCTION'","'FUNCTIONS'","'GLOBAL'","'GRANTED'","'HANDLER'","'HEADER'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'IMMEDIATE'","'IMMUTABLE'","'IMPLICIT'","'INCLUDING'","'INCREMENT'","'INDEX'","'INDEXES'","'INHERIT'","'NOINHERIT'","'SUPERUSER'","'NOSUPERUSER'","'CREATEDB'","'NOCREATEDB'","'CREATEROLE'","'NOCREATEROLE'","'CREATEUSER'","'NOCREATEUSER'","'INHERITS'","'INLINE'","'INSENSITIVE'","'INSERT'","'INSTEAD'","'INVOKER'","'ISOLATION'","'KEY'","'LABEL'","'LANGUAGE'","'LARGE'","'LAST'","'LEAKPROOF'","'LEVEL'","'LISTEN'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'MAPPING'","'MATCH'","'MATERIALIZED'","'MAXVALUE'","'MINUTE'","'MINVALUE'","'MODE'","'MONTH'","'MOVE'","'NAME'","'NAMES'","'NEXT'","'NO'","'NOTHING'","'NOTIFY'","'NOWAIT'","'NULLS'","'OBJECT'","'OF'","'OFF'","'OIDS'","'OPERATOR'","'OPTION'","'OPTIONS'","'OWNED'","'OWNER'","'PARSER'","'PARTIAL'","'PARTITION'","'PASSING'","'PASSWORD'","'PLANS'","'PRECEDING'","'PREPARE'","'PREPARED'","'PRESERVE'","'PRIOR'","'PRIVILEGES'","'PROCEDURAL'","'PROCEDURE'","'PROGRAM'","'QUOTE'","'RANGE'","'READ'","'REASSIGN'","'RECHECK'","'RECURSIVE'","'REF'","'REFRESH'","'REINDEX'","'RELATIVE'","'RELEASE'","'RENAME'","'REPEATABLE'","'REPLACE'","'REPLICA'","'RESET'","'RESTART'","'RESTRICT'","'RETURNS'","'REVOKE'","'ROLE'","'ROLLBACK'","'ROWS'","'RULE'","'SAVEPOINT'","'SCHEMA'","'SCROLL'","'SEARCH'","'SECOND'","'SECURITY'","'SEQUENCE'","'SEQUENCES'","'SERIALIZABLE'","'SERVER'","'SESSION'","'SET'","'SHARE'","'SHOW'","'SIMPLE'","'SNAPSHOT'","'STABLE'","'STANDALONE'","'START'","'STATEMENT'","'STATISTICS'","'STDIN'","'STDOUT'","'STORAGE'","'STRICT'","'STRIP'","'SYSID'","'SYSTEM'","'TABLES'","'TABLESPACE'","'TEMP'","'TEMPLATE'","'TEMPORARY'","'TEXT'","'TRANSACTION'","'TRIGGER'","'TRUNCATE'","'TRUSTED'","'TYPE'","'TYPES'","'UNBOUNDED'","'UNCOMMITTED'","'UNENCRYPTED'","'UNKNOWN'","'UNLISTEN'","'UNLOGGED'","'UNTIL'","'UPDATE'","'VACUUM'","'VALID'","'VALIDATE'","'VALIDATOR'","'VARYING'","'VERSION'","'VIEW'","'VOLATILE'","'WHITESPACE'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'XML'","'YEAR'","'YES'","'ZONE'","'BETWEEN'","'BIGINT'","'BIT'","'BOOLEAN'","'CHAR'","'CHARACTER'","'COALESCE'","'DEC'","'DECIMAL'","'EXISTS'","'EXTRACT'","'FLOAT'","'GREATEST'","'INOUT'","'INT'","'INTEGER'","'INTERVAL'","'LEAST'","'NATIONAL'","'NCHAR'","'NONE'","'NULLIF'","'NUMERIC'","'OVERLAY'","'POSITION'","'PRECISION'","'REAL'","'ROW'","'SETOF'","'SMALLINT'","'SUBSTRING'","'TIME'","'TIMESTAMP'","'TREAT'","'TRIM'","'VALUES'","'VARCHAR'","'XMLATTRIBUTES'","'XMLCONCAT'","'XMLELEMENT'","'XMLEXISTS'","'XMLFOREST'","'XMLPARSE'","'XMLPI'","'XMLROOT'","'XMLSERIALIZE'","'CALL'","'CURRENT'","'ATTACH'","'DETACH'","'EXPRESSION'","'GENERATED'","'LOGGED'","'STORED'","'INCLUDE'","'ROUTINE'","'TRANSFORM'","'IMPORT'","'POLICY'","'METHOD'","'REFERENCING'","'NEW'","'OLD'","'VALUE'","'SUBSCRIPTION'","'PUBLICATION'","'OUT'","'END'","'ROUTINES'","'SCHEMAS'","'PROCEDURES'","'INPUT'","'SUPPORT'","'PARALLEL'","'SQL'","'DEPENDS'","'OVERRIDING'","'CONFLICT'","'SKIP'","'LOCKED'","'TIES'","'ROLLUP'","'CUBE'","'GROUPING'","'SETS'","'TABLESAMPLE'","'ORDINALITY'","'XMLTABLE'","'COLUMNS'","'XMLNAMESPACES'","'ROWTYPE'","'NORMALIZED'","'WITHIN'","'FILTER'","'GROUPS'","'OTHERS'","'NFC'","'NFD'","'NFKC'","'NFKD'","'UESCAPE'","'VIEWS'","'NORMALIZE'","'DUMP'","'PRINT_STRICT_PARAMS'","'VARIABLE_CONFLICT'","'ERROR'","'USE_VARIABLE'","'USE_COLUMN'","'ALIAS'","'CONSTANT'","'PERFORM'","'GET'","'DIAGNOSTICS'","'STACKED'","'ELSIF'","'WHILE'","'REVERSE'","'FOREACH'","'SLICE'","'EXIT'","'RETURN'","'QUERY'","'RAISE'","'SQLSTATE'","'DEBUG'","'LOG'","'INFO'","'NOTICE'","'WARNING'","'EXCEPTION'","'ASSERT'","'LOOP'","'OPEN'","'PEFERENCES'","'USAGE'","'CONNECT'","'PUBLIC'","'MERGE'","'MATCHED'","'BREADTH'","'DEPTH'","'UNSAFE'","'RESTRICTED'","'SAFE'","'FINALIZE'","'MODULUS'","'REMAINDER'","'LOGIN'","'NOLOGIN'","'REPLICATION'","'NOREPLICATION'","'BYPASSRLS'","'NOBYPASSRLS'","'PERMISSIVE'","'RESTRICTIVE'","'COMPRESSION'","'PLAIN'","'EXTENDED'","'MAIN'","'SKIP_LOCKED'","'BUFFER_USAGE_LIMIT'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'\\\\'",null,null,null,null,null,null,null,"'''"],K.symbolicNames=[null,"Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","KW_ALL","KW_ANALYSE","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_ASYMMETRIC","KW_BOTH","KW_CASE","KW_CAST","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONSTRAINT","KW_CREATE","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_ROLE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DEFAULT","KW_DEFERRABLE","KW_DESC","KW_DISTINCT","KW_DO","KW_ELSE","KW_EXCEPT","KW_FALSE","KW_FETCH","KW_FOR","KW_FOREIGN","KW_FROM","KW_GRANT","KW_GROUP","KW_HAVING","KW_IN","KW_INITIALLY","KW_INTERSECT","KW_INTO","KW_LATERAL","KW_LEADING","KW_LIMIT","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_NOT","KW_NULL","KW_OFFSET","KW_ON","KW_ONLY","KW_OR","KW_ORDER","KW_PLACING","KW_PRIMARY","KW_REFERENCES","KW_RETURNING","KW_SELECT","KW_SESSION_USER","KW_SOME","KW_SYMMETRIC","KW_TABLE","KW_THEN","KW_TO","KW_TRAILING","KW_TRUE","KW_UNION","KW_UNIQUE","KW_USER","KW_USING","KW_VARIADIC","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_AUTHORIZATION","KW_BINARY","KW_COLLATION","KW_CONCURRENTLY","KW_CROSS","KW_CURRENT_SCHEMA","KW_FREEZE","KW_FULL","KW_ILIKE","KW_INNER","KW_IS","KW_ISNULL","KW_JOIN","KW_LEFT","KW_LIKE","KW_NATURAL","KW_NOTNULL","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_RIGHT","KW_SIMILAR","KW_VERBOSE","KW_ABORT","KW_ABSOLUTE","KW_ACCESS","KW_ACTION","KW_ADD","KW_ADMIN","KW_AFTER","KW_AGGREGATE","KW_ALSO","KW_ALTER","KW_ALWAYS","KW_ASSERTION","KW_ASSIGNMENT","KW_AT","KW_ATTRIBUTE","KW_BACKWARD","KW_BEFORE","KW_BEGIN","KW_BY","KW_CACHE","KW_CALLED","KW_CASCADE","KW_CASCADED","KW_CATALOG","KW_CHAIN","KW_CHARACTERISTICS","KW_CHECKPOINT","KW_CLASS","KW_CLOSE","KW_CLUSTER","KW_COMMENT","KW_COMMENTS","KW_COMMIT","KW_COMMITTED","KW_CONFIGURATION","KW_CONNECTION","KW_CONSTRAINTS","KW_CONTENT","KW_CONTINUE","KW_CONVERSION","KW_COPY","KW_COST","KW_CSV","KW_CURSOR","KW_CYCLE","KW_DATA","KW_DATABASE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULTS","KW_DEFERRED","KW_DEFINER","KW_DELETE","KW_DELIMITER","KW_DELIMITERS","KW_DICTIONARY","KW_DISABLE","KW_DISCARD","KW_DOCUMENT","KW_DOMAIN","KW_DOUBLE","KW_DROP","KW_EACH","KW_ENABLE","KW_ENCODING","KW_ENCRYPTED","KW_ENUM","KW_ESCAPE","KW_EVENT","KW_EXCLUDE","KW_EXCLUDING","KW_EXCLUSIVE","KW_EXECUTE","KW_EXPLAIN","KW_EXTENSION","KW_EXTERNAL","KW_FAMILY","KW_FIRST","KW_FOLLOWING","KW_FORCE","KW_FORWARD","KW_FUNCTION","KW_FUNCTIONS","KW_GLOBAL","KW_GRANTED","KW_HANDLER","KW_HEADER","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_IMMEDIATE","KW_IMMUTABLE","KW_IMPLICIT","KW_INCLUDING","KW_INCREMENT","KW_INDEX","KW_INDEXES","KW_INHERIT","KW_NOINHERIT","KW_SUPERUSER","KW_NOSUPERUSER","KW_CREATEDB","KW_NOCREATEDB","KW_CREATEROLE","KW_NOCREATEROLE","KW_CREATEUSER","KW_NOCREATEUSER","KW_INHERITS","KW_INLINE","KW_INSENSITIVE","KW_INSERT","KW_INSTEAD","KW_INVOKER","KW_ISOLATION","KW_KEY","KW_LABEL","KW_LANGUAGE","KW_LARGE","KW_LAST","KW_LEAKPROOF","KW_LEVEL","KW_LISTEN","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_MAPPING","KW_MATCH","KW_MATERIALIZED","KW_MAXVALUE","KW_MINUTE","KW_MINVALUE","KW_MODE","KW_MONTH","KW_MOVE","KW_NAME","KW_NAMES","KW_NEXT","KW_NO","KW_NOTHING","KW_NOTIFY","KW_NOWAIT","KW_NULLS","KW_OBJECT","KW_OF","KW_OFF","KW_OIDS","KW_OPERATOR","KW_OPTION","KW_OPTIONS","KW_OWNED","KW_OWNER","KW_PARSER","KW_PARTIAL","KW_PARTITION","KW_PASSING","KW_PASSWORD","KW_PLANS","KW_PRECEDING","KW_PREPARE","KW_PREPARED","KW_PRESERVE","KW_PRIOR","KW_PRIVILEGES","KW_PROCEDURAL","KW_PROCEDURE","KW_PROGRAM","KW_QUOTE","KW_RANGE","KW_READ","KW_REASSIGN","KW_RECHECK","KW_RECURSIVE","KW_REF","KW_REFRESH","KW_REINDEX","KW_RELATIVE","KW_RELEASE","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_REPLICA","KW_RESET","KW_RESTART","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_ROLE","KW_ROLLBACK","KW_ROWS","KW_RULE","KW_SAVEPOINT","KW_SCHEMA","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SECURITY","KW_SEQUENCE","KW_SEQUENCES","KW_SERIALIZABLE","KW_SERVER","KW_SESSION","KW_SET","KW_SHARE","KW_SHOW","KW_SIMPLE","KW_SNAPSHOT","KW_STABLE","KW_STANDALONE","KW_START","KW_STATEMENT","KW_STATISTICS","KW_STDIN","KW_STDOUT","KW_STORAGE","KW_STRICT","KW_STRIP","KW_SYSID","KW_SYSTEM","KW_TABLES","KW_TABLESPACE","KW_TEMP","KW_TEMPLATE","KW_TEMPORARY","KW_TEXT","KW_TRANSACTION","KW_TRIGGER","KW_TRUNCATE","KW_TRUSTED","KW_TYPE","KW_TYPES","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNENCRYPTED","KW_UNKNOWN","KW_UNLISTEN","KW_UNLOGGED","KW_UNTIL","KW_UPDATE","KW_VACUUM","KW_VALID","KW_VALIDATE","KW_VALIDATOR","KW_VARYING","KW_VERSION","KW_VIEW","KW_VOLATILE","KW_WHITESPACE","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_XML","KW_YEAR","KW_YES","KW_ZONE","KW_BETWEEN","KW_BIGINT","KW_BIT","KW_BOOLEAN","KW_CHAR","KW_CHARACTER","KW_COALESCE","KW_DEC","KW_DECIMAL","KW_EXISTS","KW_EXTRACT","KW_FLOAT","KW_GREATEST","KW_INOUT","KW_INT","KW_INTEGER","KW_INTERVAL","KW_LEAST","KW_NATIONAL","KW_NCHAR","KW_NONE","KW_NULLIF","KW_NUMERIC","KW_OVERLAY","KW_POSITION","KW_PRECISION","KW_REAL","KW_ROW","KW_SETOF","KW_SMALLINT","KW_SUBSTRING","KW_TIME","KW_TIMESTAMP","KW_TREAT","KW_TRIM","KW_VALUES","KW_VARCHAR","KW_XMLATTRIBUTES","KW_XMLCONCAT","KW_XMLELEMENT","KW_XMLEXISTS","KW_XMLFOREST","KW_XMLPARSE","KW_XMLPI","KW_XMLROOT","KW_XMLSERIALIZE","KW_CALL","KW_CURRENT","KW_ATTACH","KW_DETACH","KW_EXPRESSION","KW_GENERATED","KW_LOGGED","KW_STORED","KW_INCLUDE","KW_ROUTINE","KW_TRANSFORM","KW_IMPORT","KW_POLICY","KW_METHOD","KW_REFERENCING","KW_NEW","KW_OLD","KW_VALUE","KW_SUBSCRIPTION","KW_PUBLICATION","KW_OUT","KW_END","KW_ROUTINES","KW_SCHEMAS","KW_PROCEDURES","KW_INPUT","KW_SUPPORT","KW_PARALLEL","KW_SQL","KW_DEPENDS","KW_OVERRIDING","KW_CONFLICT","KW_SKIP","KW_LOCKED","KW_TIES","KW_ROLLUP","KW_CUBE","KW_GROUPING","KW_SETS","KW_TABLESAMPLE","KW_ORDINALITY","KW_XMLTABLE","KW_COLUMNS","KW_XMLNAMESPACES","KW_ROWTYPE","KW_NORMALIZED","KW_WITHIN","KW_FILTER","KW_GROUPS","KW_OTHERS","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_UESCAPE","KW_VIEWS","KW_NORMALIZE","KW_DUMP","KW_PRINT_STRICT_PARAMS","KW_VARIABLE_CONFLICT","KW_ERROR","KW_USE_VARIABLE","KW_USE_COLUMN","KW_ALIAS","KW_CONSTANT","KW_PERFORM","KW_GET","KW_DIAGNOSTICS","KW_STACKED","KW_ELSIF","KW_WHILE","KW_REVERSE","KW_FOREACH","KW_SLICE","KW_EXIT","KW_RETURN","KW_QUERY","KW_RAISE","KW_SQLSTATE","KW_DEBUG","KW_LOG","KW_INFO","KW_NOTICE","KW_WARNING","KW_EXCEPTION","KW_ASSERT","KW_LOOP","KW_OPEN","KW_PEFERENCES","KW_USAGE","KW_CONNECT","KW_PUBLIC","KW_MERGE","KW_MATCHED","KW_BREADTH","KW_DEPTH","KW_UNSAFE","KW_RESTRICTED","KW_SAFE","KW_FINALIZE","KW_MODULUS","KW_REMAINDER","KW_LOGIN","KW_NOLOGIN","KW_REPLICATION","KW_NOREPLICATION","KW_BYPASSRLS","KW_NOBYPASSRLS","KW_PERMISSIVE","KW_RESTRICTIVE","KW_COMPRESSION","KW_PLAIN","KW_EXTENDED","KW_MAIN","KW_SKIP_LOCKED","KW_BUFFER_USAGE_LIMIT","Identifier","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","DollarText","EndDollarStringConstant","AfterEscapeStringConstantWithNewlineMode_Continued"],K.modeNames=["DEFAULT_MODE","EscapeStringConstantMode","AfterEscapeStringConstantMode","AfterEscapeStringConstantWithNewlineMode","DollarQuotedStringMode"],K.ruleNames=["Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","OperatorEndingWithPlusMinus","OperatorCharacter","OperatorCharacterNotAllowPlusMinusAtEnd","OperatorCharacterAllowPlusMinusAtEnd","KW_ALL","KW_ANALYSE","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_ASYMMETRIC","KW_BOTH","KW_CASE","KW_CAST","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONSTRAINT","KW_CREATE","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_ROLE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DEFAULT","KW_DEFERRABLE","KW_DESC","KW_DISTINCT","KW_DO","KW_ELSE","KW_EXCEPT","KW_FALSE","KW_FETCH","KW_FOR","KW_FOREIGN","KW_FROM","KW_GRANT","KW_GROUP","KW_HAVING","KW_IN","KW_INITIALLY","KW_INTERSECT","KW_INTO","KW_LATERAL","KW_LEADING","KW_LIMIT","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_NOT","KW_NULL","KW_OFFSET","KW_ON","KW_ONLY","KW_OR","KW_ORDER","KW_PLACING","KW_PRIMARY","KW_REFERENCES","KW_RETURNING","KW_SELECT","KW_SESSION_USER","KW_SOME","KW_SYMMETRIC","KW_TABLE","KW_THEN","KW_TO","KW_TRAILING","KW_TRUE","KW_UNION","KW_UNIQUE","KW_USER","KW_USING","KW_VARIADIC","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_AUTHORIZATION","KW_BINARY","KW_COLLATION","KW_CONCURRENTLY","KW_CROSS","KW_CURRENT_SCHEMA","KW_FREEZE","KW_FULL","KW_ILIKE","KW_INNER","KW_IS","KW_ISNULL","KW_JOIN","KW_LEFT","KW_LIKE","KW_NATURAL","KW_NOTNULL","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_RIGHT","KW_SIMILAR","KW_VERBOSE","KW_ABORT","KW_ABSOLUTE","KW_ACCESS","KW_ACTION","KW_ADD","KW_ADMIN","KW_AFTER","KW_AGGREGATE","KW_ALSO","KW_ALTER","KW_ALWAYS","KW_ASSERTION","KW_ASSIGNMENT","KW_AT","KW_ATTRIBUTE","KW_BACKWARD","KW_BEFORE","KW_BEGIN","KW_BY","KW_CACHE","KW_CALLED","KW_CASCADE","KW_CASCADED","KW_CATALOG","KW_CHAIN","KW_CHARACTERISTICS","KW_CHECKPOINT","KW_CLASS","KW_CLOSE","KW_CLUSTER","KW_COMMENT","KW_COMMENTS","KW_COMMIT","KW_COMMITTED","KW_CONFIGURATION","KW_CONNECTION","KW_CONSTRAINTS","KW_CONTENT","KW_CONTINUE","KW_CONVERSION","KW_COPY","KW_COST","KW_CSV","KW_CURSOR","KW_CYCLE","KW_DATA","KW_DATABASE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULTS","KW_DEFERRED","KW_DEFINER","KW_DELETE","KW_DELIMITER","KW_DELIMITERS","KW_DICTIONARY","KW_DISABLE","KW_DISCARD","KW_DOCUMENT","KW_DOMAIN","KW_DOUBLE","KW_DROP","KW_EACH","KW_ENABLE","KW_ENCODING","KW_ENCRYPTED","KW_ENUM","KW_ESCAPE","KW_EVENT","KW_EXCLUDE","KW_EXCLUDING","KW_EXCLUSIVE","KW_EXECUTE","KW_EXPLAIN","KW_EXTENSION","KW_EXTERNAL","KW_FAMILY","KW_FIRST","KW_FOLLOWING","KW_FORCE","KW_FORWARD","KW_FUNCTION","KW_FUNCTIONS","KW_GLOBAL","KW_GRANTED","KW_HANDLER","KW_HEADER","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_IMMEDIATE","KW_IMMUTABLE","KW_IMPLICIT","KW_INCLUDING","KW_INCREMENT","KW_INDEX","KW_INDEXES","KW_INHERIT","KW_NOINHERIT","KW_SUPERUSER","KW_NOSUPERUSER","KW_CREATEDB","KW_NOCREATEDB","KW_CREATEROLE","KW_NOCREATEROLE","KW_CREATEUSER","KW_NOCREATEUSER","KW_INHERITS","KW_INLINE","KW_INSENSITIVE","KW_INSERT","KW_INSTEAD","KW_INVOKER","KW_ISOLATION","KW_KEY","KW_LABEL","KW_LANGUAGE","KW_LARGE","KW_LAST","KW_LEAKPROOF","KW_LEVEL","KW_LISTEN","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_MAPPING","KW_MATCH","KW_MATERIALIZED","KW_MAXVALUE","KW_MINUTE","KW_MINVALUE","KW_MODE","KW_MONTH","KW_MOVE","KW_NAME","KW_NAMES","KW_NEXT","KW_NO","KW_NOTHING","KW_NOTIFY","KW_NOWAIT","KW_NULLS","KW_OBJECT","KW_OF","KW_OFF","KW_OIDS","KW_OPERATOR","KW_OPTION","KW_OPTIONS","KW_OWNED","KW_OWNER","KW_PARSER","KW_PARTIAL","KW_PARTITION","KW_PASSING","KW_PASSWORD","KW_PLANS","KW_PRECEDING","KW_PREPARE","KW_PREPARED","KW_PRESERVE","KW_PRIOR","KW_PRIVILEGES","KW_PROCEDURAL","KW_PROCEDURE","KW_PROGRAM","KW_QUOTE","KW_RANGE","KW_READ","KW_REASSIGN","KW_RECHECK","KW_RECURSIVE","KW_REF","KW_REFRESH","KW_REINDEX","KW_RELATIVE","KW_RELEASE","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_REPLICA","KW_RESET","KW_RESTART","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_ROLE","KW_ROLLBACK","KW_ROWS","KW_RULE","KW_SAVEPOINT","KW_SCHEMA","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SECURITY","KW_SEQUENCE","KW_SEQUENCES","KW_SERIALIZABLE","KW_SERVER","KW_SESSION","KW_SET","KW_SHARE","KW_SHOW","KW_SIMPLE","KW_SNAPSHOT","KW_STABLE","KW_STANDALONE","KW_START","KW_STATEMENT","KW_STATISTICS","KW_STDIN","KW_STDOUT","KW_STORAGE","KW_STRICT","KW_STRIP","KW_SYSID","KW_SYSTEM","KW_TABLES","KW_TABLESPACE","KW_TEMP","KW_TEMPLATE","KW_TEMPORARY","KW_TEXT","KW_TRANSACTION","KW_TRIGGER","KW_TRUNCATE","KW_TRUSTED","KW_TYPE","KW_TYPES","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNENCRYPTED","KW_UNKNOWN","KW_UNLISTEN","KW_UNLOGGED","KW_UNTIL","KW_UPDATE","KW_VACUUM","KW_VALID","KW_VALIDATE","KW_VALIDATOR","KW_VARYING","KW_VERSION","KW_VIEW","KW_VOLATILE","KW_WHITESPACE","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_XML","KW_YEAR","KW_YES","KW_ZONE","KW_BETWEEN","KW_BIGINT","KW_BIT","KW_BOOLEAN","KW_CHAR","KW_CHARACTER","KW_COALESCE","KW_DEC","KW_DECIMAL","KW_EXISTS","KW_EXTRACT","KW_FLOAT","KW_GREATEST","KW_INOUT","KW_INT","KW_INTEGER","KW_INTERVAL","KW_LEAST","KW_NATIONAL","KW_NCHAR","KW_NONE","KW_NULLIF","KW_NUMERIC","KW_OVERLAY","KW_POSITION","KW_PRECISION","KW_REAL","KW_ROW","KW_SETOF","KW_SMALLINT","KW_SUBSTRING","KW_TIME","KW_TIMESTAMP","KW_TREAT","KW_TRIM","KW_VALUES","KW_VARCHAR","KW_XMLATTRIBUTES","KW_XMLCONCAT","KW_XMLELEMENT","KW_XMLEXISTS","KW_XMLFOREST","KW_XMLPARSE","KW_XMLPI","KW_XMLROOT","KW_XMLSERIALIZE","KW_CALL","KW_CURRENT","KW_ATTACH","KW_DETACH","KW_EXPRESSION","KW_GENERATED","KW_LOGGED","KW_STORED","KW_INCLUDE","KW_ROUTINE","KW_TRANSFORM","KW_IMPORT","KW_POLICY","KW_METHOD","KW_REFERENCING","KW_NEW","KW_OLD","KW_VALUE","KW_SUBSCRIPTION","KW_PUBLICATION","KW_OUT","KW_END","KW_ROUTINES","KW_SCHEMAS","KW_PROCEDURES","KW_INPUT","KW_SUPPORT","KW_PARALLEL","KW_SQL","KW_DEPENDS","KW_OVERRIDING","KW_CONFLICT","KW_SKIP","KW_LOCKED","KW_TIES","KW_ROLLUP","KW_CUBE","KW_GROUPING","KW_SETS","KW_TABLESAMPLE","KW_ORDINALITY","KW_XMLTABLE","KW_COLUMNS","KW_XMLNAMESPACES","KW_ROWTYPE","KW_NORMALIZED","KW_WITHIN","KW_FILTER","KW_GROUPS","KW_OTHERS","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_UESCAPE","KW_VIEWS","KW_NORMALIZE","KW_DUMP","KW_PRINT_STRICT_PARAMS","KW_VARIABLE_CONFLICT","KW_ERROR","KW_USE_VARIABLE","KW_USE_COLUMN","KW_ALIAS","KW_CONSTANT","KW_PERFORM","KW_GET","KW_DIAGNOSTICS","KW_STACKED","KW_ELSIF","KW_WHILE","KW_REVERSE","KW_FOREACH","KW_SLICE","KW_EXIT","KW_RETURN","KW_QUERY","KW_RAISE","KW_SQLSTATE","KW_DEBUG","KW_LOG","KW_INFO","KW_NOTICE","KW_WARNING","KW_EXCEPTION","KW_ASSERT","KW_LOOP","KW_OPEN","KW_PEFERENCES","KW_USAGE","KW_CONNECT","KW_PUBLIC","KW_MERGE","KW_MATCHED","KW_BREADTH","KW_DEPTH","KW_UNSAFE","KW_RESTRICTED","KW_SAFE","KW_FINALIZE","KW_MODULUS","KW_REMAINDER","KW_LOGIN","KW_NOLOGIN","KW_REPLICATION","KW_NOREPLICATION","KW_BYPASSRLS","KW_NOBYPASSRLS","KW_PERMISSIVE","KW_RESTRICTIVE","KW_COMPRESSION","KW_PLAIN","KW_EXTENDED","KW_MAIN","KW_SKIP_LOCKED","KW_BUFFER_USAGE_LIMIT","Identifier","IdentifierStartChar","IdentifierChar","StrictIdentifierChar","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","BeginEscapeStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","Tag","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","Digits","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","EscapeStringText","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","InvalidEscapeStringText","AfterEscapeStringConstantMode_Whitespace","AfterEscapeStringConstantMode_Newline","AfterEscapeStringConstantWithNewlineMode_Whitespace","AfterEscapeStringConstantWithNewlineMode_Newline","AfterEscapeStringConstantWithNewlineMode_Continued","DollarText","EndDollarStringConstant"],K._serializedATN=[4,0,590,5802,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,27,1,27,4,27,1283,8,27,11,27,12,27,1284,1,28,1,28,4,28,1289,8,28,11,28,12,28,1290,1,28,1,28,3,28,1295,8,28,3,28,1297,8,28,1,28,4,28,1300,8,28,11,28,12,28,1301,1,28,3,28,1305,8,28,1,29,1,29,5,29,1309,8,29,10,29,12,29,1312,9,29,1,29,1,29,3,29,1316,8,29,1,29,4,29,1319,8,29,11,29,12,29,1320,1,29,1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,505,1,505,1,505,1,505,1,505,1,505,1,506,1,506,1,506,1,506,1,506,1,506,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,509,1,509,1,509,1,509,1,509,1,509,1,510,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,512,1,512,1,512,1,512,1,512,1,512,1,513,1,513,1,513,1,513,1,513,1,513,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,515,1,516,1,516,1,516,1,516,1,517,1,517,1,517,1,517,1,517,1,518,1,518,1,518,1,518,1,518,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,522,1,522,1,522,1,522,1,522,1,523,1,523,1,523,1,523,1,523,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,525,1,525,1,525,1,525,1,525,1,525,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,528,1,528,1,528,1,528,1,528,1,528,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,531,1,531,1,531,1,531,1,531,1,531,1,532,1,532,1,532,1,532,1,532,1,532,1,532,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,534,1,534,1,534,1,534,1,534,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,536,1,536,1,536,1,536,1,536,1,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,538,1,538,1,538,1,538,1,538,1,538,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,552,1,552,5,552,5355,8,552,10,552,12,552,5358,9,552,1,553,1,553,1,553,3,553,5363,8,553,1,554,1,554,3,554,5367,8,554,1,555,1,555,3,555,5371,8,555,1,556,1,556,1,556,1,557,1,557,1,557,1,557,5,557,5380,8,557,10,557,12,557,5383,9,557,1,558,1,558,1,558,1,559,1,559,1,559,1,559,5,559,5392,8,559,10,559,12,559,5395,9,559,1,560,1,560,1,560,1,560,1,561,1,561,1,561,1,561,1,562,1,562,1,562,1,562,1,563,1,563,1,563,1,563,1,564,1,564,1,564,1,565,1,565,1,565,1,565,5,565,5420,8,565,10,565,12,565,5423,9,565,1,566,1,566,1,566,1,566,1,566,1,566,1,567,1,567,1,567,1,568,1,568,1,568,1,568,1,569,1,569,3,569,5440,8,569,1,569,1,569,1,569,1,569,1,570,1,570,5,570,5448,8,570,10,570,12,570,5451,9,570,1,571,1,571,1,571,1,572,1,572,1,572,5,572,5459,8,572,10,572,12,572,5462,9,572,1,573,1,573,1,573,1,574,1,574,1,574,1,575,1,575,1,575,1,576,1,576,1,576,5,576,5476,8,576,10,576,12,576,5479,9,576,1,577,1,577,1,577,1,578,1,578,1,578,1,579,1,579,1,580,1,580,1,580,1,580,1,581,1,581,1,581,3,581,5496,8,581,1,581,1,581,3,581,5500,8,581,1,581,3,581,5503,8,581,1,581,1,581,1,581,1,581,3,581,5509,8,581,1,581,3,581,5512,8,581,1,581,1,581,1,581,3,581,5517,8,581,1,581,1,581,3,581,5521,8,581,1,582,4,582,5524,8,582,11,582,12,582,5525,1,583,1,583,1,583,5,583,5531,8,583,10,583,12,583,5534,9,583,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,5,584,5544,8,584,10,584,12,584,5547,9,584,1,584,1,584,1,585,4,585,5552,8,585,11,585,12,585,5553,1,585,1,585,1,586,1,586,3,586,5560,8,586,1,586,3,586,5563,8,586,1,586,1,586,1,587,1,587,1,587,1,587,5,587,5571,8,587,10,587,12,587,5574,9,587,1,587,1,587,1,588,1,588,1,588,1,588,5,588,5582,8,588,10,588,12,588,5585,9,588,1,588,1,588,1,588,4,588,5590,8,588,11,588,12,588,5591,1,588,1,588,4,588,5596,8,588,11,588,12,588,5597,1,588,5,588,5601,8,588,10,588,12,588,5604,9,588,1,588,5,588,5607,8,588,10,588,12,588,5610,9,588,1,588,1,588,1,588,1,588,1,588,1,589,1,589,1,589,1,589,5,589,5621,8,589,10,589,12,589,5624,9,589,1,589,1,589,1,589,4,589,5629,8,589,11,589,12,589,5630,1,589,1,589,4,589,5635,8,589,11,589,12,589,5636,1,589,3,589,5640,8,589,5,589,5642,8,589,10,589,12,589,5645,9,589,1,589,4,589,5648,8,589,11,589,12,589,5649,1,589,4,589,5653,8,589,11,589,12,589,5654,1,589,5,589,5658,8,589,10,589,12,589,5661,9,589,1,589,3,589,5664,8,589,1,590,1,590,1,590,1,590,5,590,5670,8,590,10,590,12,590,5673,9,590,1,590,5,590,5676,8,590,10,590,12,590,5679,9,590,1,590,1,590,5,590,5683,8,590,10,590,12,590,5686,9,590,3,590,5688,8,590,1,591,1,591,1,591,1,592,1,592,1,593,1,593,1,593,1,593,1,593,1,594,1,594,3,594,5702,8,594,1,594,1,594,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,3,595,5726,8,595,1,595,5,595,5729,8,595,10,595,12,595,5732,9,595,1,596,1,596,1,596,1,596,1,596,1,597,1,597,3,597,5741,8,597,1,597,1,597,1,598,1,598,1,598,1,598,1,598,5,598,5750,8,598,10,598,12,598,5753,9,598,1,599,1,599,1,599,1,599,1,599,1,600,1,600,1,600,1,600,1,600,1,600,1,601,1,601,1,601,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,603,1,603,1,603,1,603,1,603,1,604,4,604,5782,8,604,11,604,12,604,5783,1,604,1,604,5,604,5788,8,604,10,604,12,604,5791,9,604,3,604,5793,8,604,1,605,1,605,3,605,5797,8,605,1,605,1,605,1,605,1,605,0,0,606,5,1,7,2,9,3,11,4,13,5,15,6,17,7,19,8,21,9,23,10,25,11,27,12,29,13,31,14,33,15,35,16,37,17,39,18,41,19,43,20,45,21,47,22,49,23,51,24,53,25,55,26,57,27,59,28,61,29,63,0,65,0,67,0,69,0,71,30,73,31,75,32,77,33,79,34,81,35,83,36,85,37,87,38,89,39,91,40,93,41,95,42,97,43,99,44,101,45,103,46,105,47,107,48,109,49,111,50,113,51,115,52,117,53,119,54,121,55,123,56,125,57,127,58,129,59,131,60,133,61,135,62,137,63,139,64,141,65,143,66,145,67,147,68,149,69,151,70,153,71,155,72,157,73,159,74,161,75,163,76,165,77,167,78,169,79,171,80,173,81,175,82,177,83,179,84,181,85,183,86,185,87,187,88,189,89,191,90,193,91,195,92,197,93,199,94,201,95,203,96,205,97,207,98,209,99,211,100,213,101,215,102,217,103,219,104,221,105,223,106,225,107,227,108,229,109,231,110,233,111,235,112,237,113,239,114,241,115,243,116,245,117,247,118,249,119,251,120,253,121,255,122,257,123,259,124,261,125,263,126,265,127,267,128,269,129,271,130,273,131,275,132,277,133,279,134,281,135,283,136,285,137,287,138,289,139,291,140,293,141,295,142,297,143,299,144,301,145,303,146,305,147,307,148,309,149,311,150,313,151,315,152,317,153,319,154,321,155,323,156,325,157,327,158,329,159,331,160,333,161,335,162,337,163,339,164,341,165,343,166,345,167,347,168,349,169,351,170,353,171,355,172,357,173,359,174,361,175,363,176,365,177,367,178,369,179,371,180,373,181,375,182,377,183,379,184,381,185,383,186,385,187,387,188,389,189,391,190,393,191,395,192,397,193,399,194,401,195,403,196,405,197,407,198,409,199,411,200,413,201,415,202,417,203,419,204,421,205,423,206,425,207,427,208,429,209,431,210,433,211,435,212,437,213,439,214,441,215,443,216,445,217,447,218,449,219,451,220,453,221,455,222,457,223,459,224,461,225,463,226,465,227,467,228,469,229,471,230,473,231,475,232,477,233,479,234,481,235,483,236,485,237,487,238,489,239,491,240,493,241,495,242,497,243,499,244,501,245,503,246,505,247,507,248,509,249,511,250,513,251,515,252,517,253,519,254,521,255,523,256,525,257,527,258,529,259,531,260,533,261,535,262,537,263,539,264,541,265,543,266,545,267,547,268,549,269,551,270,553,271,555,272,557,273,559,274,561,275,563,276,565,277,567,278,569,279,571,280,573,281,575,282,577,283,579,284,581,285,583,286,585,287,587,288,589,289,591,290,593,291,595,292,597,293,599,294,601,295,603,296,605,297,607,298,609,299,611,300,613,301,615,302,617,303,619,304,621,305,623,306,625,307,627,308,629,309,631,310,633,311,635,312,637,313,639,314,641,315,643,316,645,317,647,318,649,319,651,320,653,321,655,322,657,323,659,324,661,325,663,326,665,327,667,328,669,329,671,330,673,331,675,332,677,333,679,334,681,335,683,336,685,337,687,338,689,339,691,340,693,341,695,342,697,343,699,344,701,345,703,346,705,347,707,348,709,349,711,350,713,351,715,352,717,353,719,354,721,355,723,356,725,357,727,358,729,359,731,360,733,361,735,362,737,363,739,364,741,365,743,366,745,367,747,368,749,369,751,370,753,371,755,372,757,373,759,374,761,375,763,376,765,377,767,378,769,379,771,380,773,381,775,382,777,383,779,384,781,385,783,386,785,387,787,388,789,389,791,390,793,391,795,392,797,393,799,394,801,395,803,396,805,397,807,398,809,399,811,400,813,401,815,402,817,403,819,404,821,405,823,406,825,407,827,408,829,409,831,410,833,411,835,412,837,413,839,414,841,415,843,416,845,417,847,418,849,419,851,420,853,421,855,422,857,423,859,424,861,425,863,426,865,427,867,428,869,429,871,430,873,431,875,432,877,433,879,434,881,435,883,436,885,437,887,438,889,439,891,440,893,441,895,442,897,443,899,444,901,445,903,446,905,447,907,448,909,449,911,450,913,451,915,452,917,453,919,454,921,455,923,456,925,457,927,458,929,459,931,460,933,461,935,462,937,463,939,464,941,465,943,466,945,467,947,468,949,469,951,470,953,471,955,472,957,473,959,474,961,475,963,476,965,477,967,478,969,479,971,480,973,481,975,482,977,483,979,484,981,485,983,486,985,487,987,488,989,489,991,490,993,491,995,492,997,493,999,494,1001,495,1003,496,1005,497,1007,498,1009,499,1011,500,1013,501,1015,502,1017,503,1019,504,1021,505,1023,506,1025,507,1027,508,1029,509,1031,510,1033,511,1035,512,1037,513,1039,514,1041,515,1043,516,1045,517,1047,518,1049,519,1051,520,1053,521,1055,522,1057,523,1059,524,1061,525,1063,526,1065,527,1067,528,1069,529,1071,530,1073,531,1075,532,1077,533,1079,534,1081,535,1083,536,1085,537,1087,538,1089,539,1091,540,1093,541,1095,542,1097,543,1099,544,1101,545,1103,546,1105,547,1107,548,1109,549,1111,0,1113,0,1115,0,1117,550,1119,551,1121,552,1123,553,1125,554,1127,555,1129,556,1131,557,1133,558,1135,559,1137,0,1139,560,1141,561,1143,562,1145,0,1147,563,1149,564,1151,565,1153,566,1155,567,1157,568,1159,569,1161,570,1163,571,1165,572,1167,573,1169,0,1171,574,1173,575,1175,576,1177,577,1179,578,1181,579,1183,580,1185,581,1187,582,1189,583,1191,584,1193,585,1195,0,1197,586,1199,587,1201,0,1203,0,1205,0,1207,0,1209,0,1211,590,1213,588,1215,589,5,0,1,2,3,4,51,1,0,48,57,2,0,43,43,45,45,2,0,45,45,47,47,9,0,33,33,35,35,37,38,42,42,60,64,94,94,96,96,124,124,126,126,2,0,42,43,60,62,8,0,33,33,35,35,37,38,63,64,94,94,96,96,124,124,126,126,2,0,65,65,97,97,2,0,76,76,108,108,2,0,78,78,110,110,2,0,89,89,121,121,2,0,83,83,115,115,2,0,69,69,101,101,2,0,90,90,122,122,2,0,68,68,100,100,2,0,82,82,114,114,2,0,67,67,99,99,2,0,77,77,109,109,2,0,84,84,116,116,2,0,73,73,105,105,2,0,66,66,98,98,2,0,79,79,111,111,2,0,72,72,104,104,2,0,75,75,107,107,2,0,85,85,117,117,2,0,71,71,103,103,2,0,80,80,112,112,2,0,70,70,102,102,2,0,88,88,120,120,2,0,86,86,118,118,2,0,81,81,113,113,2,0,87,87,119,119,2,0,74,74,106,106,10,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,224,246,248,55295,57344,65535,1,0,55296,56319,1,0,56320,57343,2,0,0,0,34,34,1,0,34,34,1,0,39,39,1,0,48,49,3,0,48,57,65,70,97,102,3,0,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,34,34,92,92,2,0,9,9,32,32,2,0,10,10,13,13,2,0,42,42,47,47,4,0,10,10,13,13,34,34,92,92,3,0,10,10,13,13,34,34,4,0,85,85,88,88,117,117,120,120,2,0,39,39,92,92,1,0,36,36,5871,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,0,1083,1,0,0,0,0,1085,1,0,0,0,0,1087,1,0,0,0,0,1089,1,0,0,0,0,1091,1,0,0,0,0,1093,1,0,0,0,0,1095,1,0,0,0,0,1097,1,0,0,0,0,1099,1,0,0,0,0,1101,1,0,0,0,0,1103,1,0,0,0,0,1105,1,0,0,0,0,1107,1,0,0,0,0,1109,1,0,0,0,0,1117,1,0,0,0,0,1119,1,0,0,0,0,1121,1,0,0,0,0,1123,1,0,0,0,0,1125,1,0,0,0,0,1127,1,0,0,0,0,1129,1,0,0,0,0,1131,1,0,0,0,0,1133,1,0,0,0,0,1135,1,0,0,0,0,1137,1,0,0,0,0,1139,1,0,0,0,0,1141,1,0,0,0,0,1143,1,0,0,0,0,1147,1,0,0,0,0,1149,1,0,0,0,0,1151,1,0,0,0,0,1153,1,0,0,0,0,1155,1,0,0,0,0,1157,1,0,0,0,0,1159,1,0,0,0,0,1161,1,0,0,0,0,1163,1,0,0,0,0,1165,1,0,0,0,0,1167,1,0,0,0,0,1171,1,0,0,0,0,1173,1,0,0,0,0,1175,1,0,0,0,0,1177,1,0,0,0,0,1179,1,0,0,0,0,1181,1,0,0,0,0,1183,1,0,0,0,0,1185,1,0,0,0,0,1187,1,0,0,0,0,1189,1,0,0,0,1,1191,1,0,0,0,1,1193,1,0,0,0,1,1197,1,0,0,0,1,1199,1,0,0,0,2,1203,1,0,0,0,2,1205,1,0,0,0,3,1207,1,0,0,0,3,1209,1,0,0,0,3,1211,1,0,0,0,4,1213,1,0,0,0,4,1215,1,0,0,0,5,1217,1,0,0,0,7,1219,1,0,0,0,9,1221,1,0,0,0,11,1223,1,0,0,0,13,1225,1,0,0,0,15,1227,1,0,0,0,17,1229,1,0,0,0,19,1231,1,0,0,0,21,1233,1,0,0,0,23,1235,1,0,0,0,25,1237,1,0,0,0,27,1239,1,0,0,0,29,1241,1,0,0,0,31,1243,1,0,0,0,33,1245,1,0,0,0,35,1247,1,0,0,0,37,1249,1,0,0,0,39,1251,1,0,0,0,41,1254,1,0,0,0,43,1257,1,0,0,0,45,1260,1,0,0,0,47,1263,1,0,0,0,49,1266,1,0,0,0,51,1269,1,0,0,0,53,1272,1,0,0,0,55,1275,1,0,0,0,57,1278,1,0,0,0,59,1280,1,0,0,0,61,1304,1,0,0,0,63,1310,1,0,0,0,65,1324,1,0,0,0,67,1326,1,0,0,0,69,1328,1,0,0,0,71,1330,1,0,0,0,73,1334,1,0,0,0,75,1342,1,0,0,0,77,1350,1,0,0,0,79,1354,1,0,0,0,81,1358,1,0,0,0,83,1364,1,0,0,0,85,1367,1,0,0,0,87,1371,1,0,0,0,89,1382,1,0,0,0,91,1387,1,0,0,0,93,1392,1,0,0,0,95,1397,1,0,0,0,97,1403,1,0,0,0,99,1411,1,0,0,0,101,1418,1,0,0,0,103,1429,1,0,0,0,105,1436,1,0,0,0,107,1452,1,0,0,0,109,1465,1,0,0,0,111,1478,1,0,0,0,113,1491,1,0,0,0,115,1509,1,0,0,0,117,1522,1,0,0,0,119,1530,1,0,0,0,121,1541,1,0,0,0,123,1546,1,0,0,0,125,1555,1,0,0,0,127,1558,1,0,0,0,129,1563,1,0,0,0,131,1570,1,0,0,0,133,1576,1,0,0,0,135,1582,1,0,0,0,137,1586,1,0,0,0,139,1594,1,0,0,0,141,1599,1,0,0,0,143,1605,1,0,0,0,145,1611,1,0,0,0,147,1618,1,0,0,0,149,1621,1,0,0,0,151,1631,1,0,0,0,153,1641,1,0,0,0,155,1646,1,0,0,0,157,1654,1,0,0,0,159,1662,1,0,0,0,161,1668,1,0,0,0,163,1678,1,0,0,0,165,1693,1,0,0,0,167,1697,1,0,0,0,169,1702,1,0,0,0,171,1709,1,0,0,0,173,1712,1,0,0,0,175,1717,1,0,0,0,177,1720,1,0,0,0,179,1726,1,0,0,0,181,1734,1,0,0,0,183,1742,1,0,0,0,185,1753,1,0,0,0,187,1763,1,0,0,0,189,1770,1,0,0,0,191,1783,1,0,0,0,193,1788,1,0,0,0,195,1798,1,0,0,0,197,1804,1,0,0,0,199,1809,1,0,0,0,201,1812,1,0,0,0,203,1821,1,0,0,0,205,1826,1,0,0,0,207,1832,1,0,0,0,209,1839,1,0,0,0,211,1844,1,0,0,0,213,1850,1,0,0,0,215,1859,1,0,0,0,217,1864,1,0,0,0,219,1870,1,0,0,0,221,1877,1,0,0,0,223,1882,1,0,0,0,225,1896,1,0,0,0,227,1903,1,0,0,0,229,1913,1,0,0,0,231,1926,1,0,0,0,233,1932,1,0,0,0,235,1947,1,0,0,0,237,1954,1,0,0,0,239,1959,1,0,0,0,241,1965,1,0,0,0,243,1971,1,0,0,0,245,1974,1,0,0,0,247,1981,1,0,0,0,249,1986,1,0,0,0,251,1991,1,0,0,0,253,1996,1,0,0,0,255,2004,1,0,0,0,257,2012,1,0,0,0,259,2018,1,0,0,0,261,2023,1,0,0,0,263,2032,1,0,0,0,265,2038,1,0,0,0,267,2046,1,0,0,0,269,2054,1,0,0,0,271,2060,1,0,0,0,273,2069,1,0,0,0,275,2076,1,0,0,0,277,2083,1,0,0,0,279,2087,1,0,0,0,281,2093,1,0,0,0,283,2099,1,0,0,0,285,2109,1,0,0,0,287,2114,1,0,0,0,289,2120,1,0,0,0,291,2127,1,0,0,0,293,2137,1,0,0,0,295,2148,1,0,0,0,297,2151,1,0,0,0,299,2161,1,0,0,0,301,2170,1,0,0,0,303,2177,1,0,0,0,305,2183,1,0,0,0,307,2186,1,0,0,0,309,2192,1,0,0,0,311,2199,1,0,0,0,313,2207,1,0,0,0,315,2216,1,0,0,0,317,2224,1,0,0,0,319,2230,1,0,0,0,321,2246,1,0,0,0,323,2257,1,0,0,0,325,2263,1,0,0,0,327,2269,1,0,0,0,329,2277,1,0,0,0,331,2285,1,0,0,0,333,2294,1,0,0,0,335,2301,1,0,0,0,337,2311,1,0,0,0,339,2325,1,0,0,0,341,2336,1,0,0,0,343,2348,1,0,0,0,345,2356,1,0,0,0,347,2365,1,0,0,0,349,2376,1,0,0,0,351,2381,1,0,0,0,353,2386,1,0,0,0,355,2390,1,0,0,0,357,2397,1,0,0,0,359,2403,1,0,0,0,361,2408,1,0,0,0,363,2417,1,0,0,0,365,2421,1,0,0,0,367,2432,1,0,0,0,369,2440,1,0,0,0,371,2449,1,0,0,0,373,2458,1,0,0,0,375,2466,1,0,0,0,377,2473,1,0,0,0,379,2483,1,0,0,0,381,2494,1,0,0,0,383,2505,1,0,0,0,385,2513,1,0,0,0,387,2521,1,0,0,0,389,2530,1,0,0,0,391,2537,1,0,0,0,393,2544,1,0,0,0,395,2549,1,0,0,0,397,2554,1,0,0,0,399,2561,1,0,0,0,401,2570,1,0,0,0,403,2580,1,0,0,0,405,2585,1,0,0,0,407,2592,1,0,0,0,409,2598,1,0,0,0,411,2606,1,0,0,0,413,2616,1,0,0,0,415,2626,1,0,0,0,417,2634,1,0,0,0,419,2642,1,0,0,0,421,2652,1,0,0,0,423,2661,1,0,0,0,425,2668,1,0,0,0,427,2674,1,0,0,0,429,2684,1,0,0,0,431,2690,1,0,0,0,433,2698,1,0,0,0,435,2707,1,0,0,0,437,2717,1,0,0,0,439,2724,1,0,0,0,441,2732,1,0,0,0,443,2740,1,0,0,0,445,2747,1,0,0,0,447,2752,1,0,0,0,449,2757,1,0,0,0,451,2766,1,0,0,0,453,2769,1,0,0,0,455,2779,1,0,0,0,457,2789,1,0,0,0,459,2798,1,0,0,0,461,2808,1,0,0,0,463,2818,1,0,0,0,465,2824,1,0,0,0,467,2832,1,0,0,0,469,2840,1,0,0,0,471,2850,1,0,0,0,473,2860,1,0,0,0,475,2872,1,0,0,0,477,2881,1,0,0,0,479,2892,1,0,0,0,481,2903,1,0,0,0,483,2916,1,0,0,0,485,2927,1,0,0,0,487,2940,1,0,0,0,489,2949,1,0,0,0,491,2956,1,0,0,0,493,2968,1,0,0,0,495,2975,1,0,0,0,497,2983,1,0,0,0,499,2991,1,0,0,0,501,3001,1,0,0,0,503,3005,1,0,0,0,505,3011,1,0,0,0,507,3020,1,0,0,0,509,3026,1,0,0,0,511,3031,1,0,0,0,513,3041,1,0,0,0,515,3047,1,0,0,0,517,3054,1,0,0,0,519,3059,1,0,0,0,521,3065,1,0,0,0,523,3074,1,0,0,0,525,3079,1,0,0,0,527,3087,1,0,0,0,529,3093,1,0,0,0,531,3106,1,0,0,0,533,3115,1,0,0,0,535,3122,1,0,0,0,537,3131,1,0,0,0,539,3136,1,0,0,0,541,3142,1,0,0,0,543,3147,1,0,0,0,545,3152,1,0,0,0,547,3158,1,0,0,0,549,3163,1,0,0,0,551,3166,1,0,0,0,553,3174,1,0,0,0,555,3181,1,0,0,0,557,3188,1,0,0,0,559,3194,1,0,0,0,561,3201,1,0,0,0,563,3204,1,0,0,0,565,3208,1,0,0,0,567,3213,1,0,0,0,569,3222,1,0,0,0,571,3229,1,0,0,0,573,3237,1,0,0,0,575,3243,1,0,0,0,577,3249,1,0,0,0,579,3256,1,0,0,0,581,3264,1,0,0,0,583,3274,1,0,0,0,585,3282,1,0,0,0,587,3291,1,0,0,0,589,3297,1,0,0,0,591,3307,1,0,0,0,593,3315,1,0,0,0,595,3324,1,0,0,0,597,3333,1,0,0,0,599,3339,1,0,0,0,601,3350,1,0,0,0,603,3361,1,0,0,0,605,3371,1,0,0,0,607,3379,1,0,0,0,609,3385,1,0,0,0,611,3391,1,0,0,0,613,3396,1,0,0,0,615,3405,1,0,0,0,617,3413,1,0,0,0,619,3423,1,0,0,0,621,3427,1,0,0,0,623,3435,1,0,0,0,625,3443,1,0,0,0,627,3452,1,0,0,0,629,3460,1,0,0,0,631,3467,1,0,0,0,633,3478,1,0,0,0,635,3486,1,0,0,0,637,3494,1,0,0,0,639,3500,1,0,0,0,641,3508,1,0,0,0,643,3517,1,0,0,0,645,3525,1,0,0,0,647,3532,1,0,0,0,649,3537,1,0,0,0,651,3546,1,0,0,0,653,3551,1,0,0,0,655,3556,1,0,0,0,657,3566,1,0,0,0,659,3573,1,0,0,0,661,3580,1,0,0,0,663,3587,1,0,0,0,665,3594,1,0,0,0,667,3603,1,0,0,0,669,3612,1,0,0,0,671,3622,1,0,0,0,673,3635,1,0,0,0,675,3642,1,0,0,0,677,3650,1,0,0,0,679,3654,1,0,0,0,681,3660,1,0,0,0,683,3665,1,0,0,0,685,3672,1,0,0,0,687,3681,1,0,0,0,689,3688,1,0,0,0,691,3699,1,0,0,0,693,3705,1,0,0,0,695,3715,1,0,0,0,697,3726,1,0,0,0,699,3732,1,0,0,0,701,3739,1,0,0,0,703,3747,1,0,0,0,705,3754,1,0,0,0,707,3760,1,0,0,0,709,3766,1,0,0,0,711,3773,1,0,0,0,713,3780,1,0,0,0,715,3791,1,0,0,0,717,3796,1,0,0,0,719,3805,1,0,0,0,721,3815,1,0,0,0,723,3820,1,0,0,0,725,3832,1,0,0,0,727,3840,1,0,0,0,729,3849,1,0,0,0,731,3857,1,0,0,0,733,3862,1,0,0,0,735,3868,1,0,0,0,737,3878,1,0,0,0,739,3890,1,0,0,0,741,3902,1,0,0,0,743,3910,1,0,0,0,745,3919,1,0,0,0,747,3928,1,0,0,0,749,3934,1,0,0,0,751,3941,1,0,0,0,753,3948,1,0,0,0,755,3954,1,0,0,0,757,3963,1,0,0,0,759,3973,1,0,0,0,761,3981,1,0,0,0,763,3989,1,0,0,0,765,3994,1,0,0,0,767,4003,1,0,0,0,769,4014,1,0,0,0,771,4022,1,0,0,0,773,4027,1,0,0,0,775,4035,1,0,0,0,777,4041,1,0,0,0,779,4045,1,0,0,0,781,4050,1,0,0,0,783,4054,1,0,0,0,785,4059,1,0,0,0,787,4067,1,0,0,0,789,4074,1,0,0,0,791,4078,1,0,0,0,793,4086,1,0,0,0,795,4091,1,0,0,0,797,4101,1,0,0,0,799,4110,1,0,0,0,801,4114,1,0,0,0,803,4122,1,0,0,0,805,4129,1,0,0,0,807,4137,1,0,0,0,809,4143,1,0,0,0,811,4152,1,0,0,0,813,4158,1,0,0,0,815,4162,1,0,0,0,817,4170,1,0,0,0,819,4179,1,0,0,0,821,4185,1,0,0,0,823,4194,1,0,0,0,825,4200,1,0,0,0,827,4205,1,0,0,0,829,4212,1,0,0,0,831,4220,1,0,0,0,833,4228,1,0,0,0,835,4237,1,0,0,0,837,4247,1,0,0,0,839,4252,1,0,0,0,841,4256,1,0,0,0,843,4262,1,0,0,0,845,4271,1,0,0,0,847,4281,1,0,0,0,849,4286,1,0,0,0,851,4296,1,0,0,0,853,4302,1,0,0,0,855,4307,1,0,0,0,857,4314,1,0,0,0,859,4322,1,0,0,0,861,4336,1,0,0,0,863,4346,1,0,0,0,865,4357,1,0,0,0,867,4367,1,0,0,0,869,4377,1,0,0,0,871,4386,1,0,0,0,873,4392,1,0,0,0,875,4400,1,0,0,0,877,4413,1,0,0,0,879,4418,1,0,0,0,881,4426,1,0,0,0,883,4433,1,0,0,0,885,4440,1,0,0,0,887,4451,1,0,0,0,889,4461,1,0,0,0,891,4468,1,0,0,0,893,4475,1,0,0,0,895,4483,1,0,0,0,897,4491,1,0,0,0,899,4501,1,0,0,0,901,4508,1,0,0,0,903,4515,1,0,0,0,905,4522,1,0,0,0,907,4534,1,0,0,0,909,4538,1,0,0,0,911,4542,1,0,0,0,913,4548,1,0,0,0,915,4561,1,0,0,0,917,4573,1,0,0,0,919,4577,1,0,0,0,921,4581,1,0,0,0,923,4590,1,0,0,0,925,4598,1,0,0,0,927,4609,1,0,0,0,929,4615,1,0,0,0,931,4623,1,0,0,0,933,4632,1,0,0,0,935,4636,1,0,0,0,937,4644,1,0,0,0,939,4655,1,0,0,0,941,4664,1,0,0,0,943,4669,1,0,0,0,945,4676,1,0,0,0,947,4681,1,0,0,0,949,4688,1,0,0,0,951,4693,1,0,0,0,953,4702,1,0,0,0,955,4707,1,0,0,0,957,4719,1,0,0,0,959,4730,1,0,0,0,961,4739,1,0,0,0,963,4747,1,0,0,0,965,4761,1,0,0,0,967,4769,1,0,0,0,969,4780,1,0,0,0,971,4787,1,0,0,0,973,4794,1,0,0,0,975,4801,1,0,0,0,977,4808,1,0,0,0,979,4812,1,0,0,0,981,4816,1,0,0,0,983,4821,1,0,0,0,985,4826,1,0,0,0,987,4834,1,0,0,0,989,4840,1,0,0,0,991,4850,1,0,0,0,993,4855,1,0,0,0,995,4875,1,0,0,0,997,4893,1,0,0,0,999,4899,1,0,0,0,1001,4912,1,0,0,0,1003,4923,1,0,0,0,1005,4929,1,0,0,0,1007,4938,1,0,0,0,1009,4946,1,0,0,0,1011,4950,1,0,0,0,1013,4962,1,0,0,0,1015,4970,1,0,0,0,1017,4976,1,0,0,0,1019,4982,1,0,0,0,1021,4990,1,0,0,0,1023,4998,1,0,0,0,1025,5004,1,0,0,0,1027,5009,1,0,0,0,1029,5016,1,0,0,0,1031,5022,1,0,0,0,1033,5028,1,0,0,0,1035,5037,1,0,0,0,1037,5043,1,0,0,0,1039,5047,1,0,0,0,1041,5052,1,0,0,0,1043,5059,1,0,0,0,1045,5067,1,0,0,0,1047,5077,1,0,0,0,1049,5084,1,0,0,0,1051,5089,1,0,0,0,1053,5094,1,0,0,0,1055,5105,1,0,0,0,1057,5111,1,0,0,0,1059,5119,1,0,0,0,1061,5126,1,0,0,0,1063,5132,1,0,0,0,1065,5140,1,0,0,0,1067,5148,1,0,0,0,1069,5154,1,0,0,0,1071,5161,1,0,0,0,1073,5172,1,0,0,0,1075,5177,1,0,0,0,1077,5186,1,0,0,0,1079,5194,1,0,0,0,1081,5204,1,0,0,0,1083,5210,1,0,0,0,1085,5218,1,0,0,0,1087,5230,1,0,0,0,1089,5244,1,0,0,0,1091,5254,1,0,0,0,1093,5266,1,0,0,0,1095,5277,1,0,0,0,1097,5289,1,0,0,0,1099,5301,1,0,0,0,1101,5307,1,0,0,0,1103,5316,1,0,0,0,1105,5321,1,0,0,0,1107,5333,1,0,0,0,1109,5352,1,0,0,0,1111,5362,1,0,0,0,1113,5366,1,0,0,0,1115,5370,1,0,0,0,1117,5372,1,0,0,0,1119,5375,1,0,0,0,1121,5384,1,0,0,0,1123,5387,1,0,0,0,1125,5396,1,0,0,0,1127,5400,1,0,0,0,1129,5404,1,0,0,0,1131,5408,1,0,0,0,1133,5412,1,0,0,0,1135,5415,1,0,0,0,1137,5424,1,0,0,0,1139,5430,1,0,0,0,1141,5433,1,0,0,0,1143,5437,1,0,0,0,1145,5445,1,0,0,0,1147,5452,1,0,0,0,1149,5455,1,0,0,0,1151,5463,1,0,0,0,1153,5466,1,0,0,0,1155,5469,1,0,0,0,1157,5472,1,0,0,0,1159,5480,1,0,0,0,1161,5483,1,0,0,0,1163,5486,1,0,0,0,1165,5488,1,0,0,0,1167,5520,1,0,0,0,1169,5523,1,0,0,0,1171,5527,1,0,0,0,1173,5535,1,0,0,0,1175,5551,1,0,0,0,1177,5562,1,0,0,0,1179,5566,1,0,0,0,1181,5577,1,0,0,0,1183,5616,1,0,0,0,1185,5665,1,0,0,0,1187,5689,1,0,0,0,1189,5692,1,0,0,0,1191,5694,1,0,0,0,1193,5699,1,0,0,0,1195,5730,1,0,0,0,1197,5733,1,0,0,0,1199,5738,1,0,0,0,1201,5751,1,0,0,0,1203,5754,1,0,0,0,1205,5759,1,0,0,0,1207,5765,1,0,0,0,1209,5770,1,0,0,0,1211,5775,1,0,0,0,1213,5792,1,0,0,0,1215,5794,1,0,0,0,1217,1218,5,36,0,0,1218,6,1,0,0,0,1219,1220,5,40,0,0,1220,8,1,0,0,0,1221,1222,5,41,0,0,1222,10,1,0,0,0,1223,1224,5,91,0,0,1224,12,1,0,0,0,1225,1226,5,93,0,0,1226,14,1,0,0,0,1227,1228,5,44,0,0,1228,16,1,0,0,0,1229,1230,5,59,0,0,1230,18,1,0,0,0,1231,1232,5,58,0,0,1232,20,1,0,0,0,1233,1234,5,42,0,0,1234,22,1,0,0,0,1235,1236,5,61,0,0,1236,24,1,0,0,0,1237,1238,5,46,0,0,1238,26,1,0,0,0,1239,1240,5,43,0,0,1240,28,1,0,0,0,1241,1242,5,45,0,0,1242,30,1,0,0,0,1243,1244,5,47,0,0,1244,32,1,0,0,0,1245,1246,5,94,0,0,1246,34,1,0,0,0,1247,1248,5,60,0,0,1248,36,1,0,0,0,1249,1250,5,62,0,0,1250,38,1,0,0,0,1251,1252,5,60,0,0,1252,1253,5,60,0,0,1253,40,1,0,0,0,1254,1255,5,62,0,0,1255,1256,5,62,0,0,1256,42,1,0,0,0,1257,1258,5,58,0,0,1258,1259,5,61,0,0,1259,44,1,0,0,0,1260,1261,5,60,0,0,1261,1262,5,61,0,0,1262,46,1,0,0,0,1263,1264,5,61,0,0,1264,1265,5,62,0,0,1265,48,1,0,0,0,1266,1267,5,62,0,0,1267,1268,5,61,0,0,1268,50,1,0,0,0,1269,1270,5,46,0,0,1270,1271,5,46,0,0,1271,52,1,0,0,0,1272,1273,5,60,0,0,1273,1274,5,62,0,0,1274,54,1,0,0,0,1275,1276,5,58,0,0,1276,1277,5,58,0,0,1277,56,1,0,0,0,1278,1279,5,37,0,0,1279,58,1,0,0,0,1280,1282,5,36,0,0,1281,1283,7,0,0,0,1282,1281,1,0,0,0,1283,1284,1,0,0,0,1284,1282,1,0,0,0,1284,1285,1,0,0,0,1285,60,1,0,0,0,1286,1300,3,65,30,0,1287,1289,7,1,0,0,1288,1287,1,0,0,0,1289,1290,1,0,0,0,1290,1288,1,0,0,0,1290,1291,1,0,0,0,1291,1296,1,0,0,0,1292,1297,3,65,30,0,1293,1295,5,47,0,0,1294,1293,1,0,0,0,1294,1295,1,0,0,0,1295,1297,1,0,0,0,1296,1292,1,0,0,0,1296,1294,1,0,0,0,1297,1300,1,0,0,0,1298,1300,5,47,0,0,1299,1286,1,0,0,0,1299,1288,1,0,0,0,1299,1298,1,0,0,0,1300,1301,1,0,0,0,1301,1299,1,0,0,0,1301,1302,1,0,0,0,1302,1305,1,0,0,0,1303,1305,7,1,0,0,1304,1299,1,0,0,0,1304,1303,1,0,0,0,1305,62,1,0,0,0,1306,1309,3,67,31,0,1307,1309,7,2,0,0,1308,1306,1,0,0,0,1308,1307,1,0,0,0,1309,1312,1,0,0,0,1310,1308,1,0,0,0,1310,1311,1,0,0,0,1311,1313,1,0,0,0,1312,1310,1,0,0,0,1313,1315,3,69,32,0,1314,1316,3,61,28,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1318,1,0,0,0,1317,1319,7,1,0,0,1318,1317,1,0,0,0,1319,1320,1,0,0,0,1320,1318,1,0,0,0,1320,1321,1,0,0,0,1321,1322,1,0,0,0,1322,1323,6,29,0,0,1323,64,1,0,0,0,1324,1325,7,3,0,0,1325,66,1,0,0,0,1326,1327,7,4,0,0,1327,68,1,0,0,0,1328,1329,7,5,0,0,1329,70,1,0,0,0,1330,1331,7,6,0,0,1331,1332,7,7,0,0,1332,1333,7,7,0,0,1333,72,1,0,0,0,1334,1335,7,6,0,0,1335,1336,7,8,0,0,1336,1337,7,6,0,0,1337,1338,7,7,0,0,1338,1339,7,9,0,0,1339,1340,7,10,0,0,1340,1341,7,11,0,0,1341,74,1,0,0,0,1342,1343,7,6,0,0,1343,1344,7,8,0,0,1344,1345,7,6,0,0,1345,1346,7,7,0,0,1346,1347,7,9,0,0,1347,1348,7,12,0,0,1348,1349,7,11,0,0,1349,76,1,0,0,0,1350,1351,7,6,0,0,1351,1352,7,8,0,0,1352,1353,7,13,0,0,1353,78,1,0,0,0,1354,1355,7,6,0,0,1355,1356,7,8,0,0,1356,1357,7,9,0,0,1357,80,1,0,0,0,1358,1359,7,6,0,0,1359,1360,7,14,0,0,1360,1361,7,14,0,0,1361,1362,7,6,0,0,1362,1363,7,9,0,0,1363,82,1,0,0,0,1364,1365,7,6,0,0,1365,1366,7,10,0,0,1366,84,1,0,0,0,1367,1368,7,6,0,0,1368,1369,7,10,0,0,1369,1370,7,15,0,0,1370,86,1,0,0,0,1371,1372,7,6,0,0,1372,1373,7,10,0,0,1373,1374,7,9,0,0,1374,1375,7,16,0,0,1375,1376,7,16,0,0,1376,1377,7,11,0,0,1377,1378,7,17,0,0,1378,1379,7,14,0,0,1379,1380,7,18,0,0,1380,1381,7,15,0,0,1381,88,1,0,0,0,1382,1383,7,19,0,0,1383,1384,7,20,0,0,1384,1385,7,17,0,0,1385,1386,7,21,0,0,1386,90,1,0,0,0,1387,1388,7,15,0,0,1388,1389,7,6,0,0,1389,1390,7,10,0,0,1390,1391,7,11,0,0,1391,92,1,0,0,0,1392,1393,7,15,0,0,1393,1394,7,6,0,0,1394,1395,7,10,0,0,1395,1396,7,17,0,0,1396,94,1,0,0,0,1397,1398,7,15,0,0,1398,1399,7,21,0,0,1399,1400,7,11,0,0,1400,1401,7,15,0,0,1401,1402,7,22,0,0,1402,96,1,0,0,0,1403,1404,7,15,0,0,1404,1405,7,20,0,0,1405,1406,7,7,0,0,1406,1407,7,7,0,0,1407,1408,7,6,0,0,1408,1409,7,17,0,0,1409,1410,7,11,0,0,1410,98,1,0,0,0,1411,1412,7,15,0,0,1412,1413,7,20,0,0,1413,1414,7,7,0,0,1414,1415,7,23,0,0,1415,1416,7,16,0,0,1416,1417,7,8,0,0,1417,100,1,0,0,0,1418,1419,7,15,0,0,1419,1420,7,20,0,0,1420,1421,7,8,0,0,1421,1422,7,10,0,0,1422,1423,7,17,0,0,1423,1424,7,14,0,0,1424,1425,7,6,0,0,1425,1426,7,18,0,0,1426,1427,7,8,0,0,1427,1428,7,17,0,0,1428,102,1,0,0,0,1429,1430,7,15,0,0,1430,1431,7,14,0,0,1431,1432,7,11,0,0,1432,1433,7,6,0,0,1433,1434,7,17,0,0,1434,1435,7,11,0,0,1435,104,1,0,0,0,1436,1437,7,15,0,0,1437,1438,7,23,0,0,1438,1439,7,14,0,0,1439,1440,7,14,0,0,1440,1441,7,11,0,0,1441,1442,7,8,0,0,1442,1443,7,17,0,0,1443,1444,5,95,0,0,1444,1445,7,15,0,0,1445,1446,7,6,0,0,1446,1447,7,17,0,0,1447,1448,7,6,0,0,1448,1449,7,7,0,0,1449,1450,7,20,0,0,1450,1451,7,24,0,0,1451,106,1,0,0,0,1452,1453,7,15,0,0,1453,1454,7,23,0,0,1454,1455,7,14,0,0,1455,1456,7,14,0,0,1456,1457,7,11,0,0,1457,1458,7,8,0,0,1458,1459,7,17,0,0,1459,1460,5,95,0,0,1460,1461,7,13,0,0,1461,1462,7,6,0,0,1462,1463,7,17,0,0,1463,1464,7,11,0,0,1464,108,1,0,0,0,1465,1466,7,15,0,0,1466,1467,7,23,0,0,1467,1468,7,14,0,0,1468,1469,7,14,0,0,1469,1470,7,11,0,0,1470,1471,7,8,0,0,1471,1472,7,17,0,0,1472,1473,5,95,0,0,1473,1474,7,14,0,0,1474,1475,7,20,0,0,1475,1476,7,7,0,0,1476,1477,7,11,0,0,1477,110,1,0,0,0,1478,1479,7,15,0,0,1479,1480,7,23,0,0,1480,1481,7,14,0,0,1481,1482,7,14,0,0,1482,1483,7,11,0,0,1483,1484,7,8,0,0,1484,1485,7,17,0,0,1485,1486,5,95,0,0,1486,1487,7,17,0,0,1487,1488,7,18,0,0,1488,1489,7,16,0,0,1489,1490,7,11,0,0,1490,112,1,0,0,0,1491,1492,7,15,0,0,1492,1493,7,23,0,0,1493,1494,7,14,0,0,1494,1495,7,14,0,0,1495,1496,7,11,0,0,1496,1497,7,8,0,0,1497,1498,7,17,0,0,1498,1499,5,95,0,0,1499,1500,7,17,0,0,1500,1501,7,18,0,0,1501,1502,7,16,0,0,1502,1503,7,11,0,0,1503,1504,7,10,0,0,1504,1505,7,17,0,0,1505,1506,7,6,0,0,1506,1507,7,16,0,0,1507,1508,7,25,0,0,1508,114,1,0,0,0,1509,1510,7,15,0,0,1510,1511,7,23,0,0,1511,1512,7,14,0,0,1512,1513,7,14,0,0,1513,1514,7,11,0,0,1514,1515,7,8,0,0,1515,1516,7,17,0,0,1516,1517,5,95,0,0,1517,1518,7,23,0,0,1518,1519,7,10,0,0,1519,1520,7,11,0,0,1520,1521,7,14,0,0,1521,116,1,0,0,0,1522,1523,7,13,0,0,1523,1524,7,11,0,0,1524,1525,7,26,0,0,1525,1526,7,6,0,0,1526,1527,7,23,0,0,1527,1528,7,7,0,0,1528,1529,7,17,0,0,1529,118,1,0,0,0,1530,1531,7,13,0,0,1531,1532,7,11,0,0,1532,1533,7,26,0,0,1533,1534,7,11,0,0,1534,1535,7,14,0,0,1535,1536,7,14,0,0,1536,1537,7,6,0,0,1537,1538,7,19,0,0,1538,1539,7,7,0,0,1539,1540,7,11,0,0,1540,120,1,0,0,0,1541,1542,7,13,0,0,1542,1543,7,11,0,0,1543,1544,7,10,0,0,1544,1545,7,15,0,0,1545,122,1,0,0,0,1546,1547,7,13,0,0,1547,1548,7,18,0,0,1548,1549,7,10,0,0,1549,1550,7,17,0,0,1550,1551,7,18,0,0,1551,1552,7,8,0,0,1552,1553,7,15,0,0,1553,1554,7,17,0,0,1554,124,1,0,0,0,1555,1556,7,13,0,0,1556,1557,7,20,0,0,1557,126,1,0,0,0,1558,1559,7,11,0,0,1559,1560,7,7,0,0,1560,1561,7,10,0,0,1561,1562,7,11,0,0,1562,128,1,0,0,0,1563,1564,7,11,0,0,1564,1565,7,27,0,0,1565,1566,7,15,0,0,1566,1567,7,11,0,0,1567,1568,7,25,0,0,1568,1569,7,17,0,0,1569,130,1,0,0,0,1570,1571,7,26,0,0,1571,1572,7,6,0,0,1572,1573,7,7,0,0,1573,1574,7,10,0,0,1574,1575,7,11,0,0,1575,132,1,0,0,0,1576,1577,7,26,0,0,1577,1578,7,11,0,0,1578,1579,7,17,0,0,1579,1580,7,15,0,0,1580,1581,7,21,0,0,1581,134,1,0,0,0,1582,1583,7,26,0,0,1583,1584,7,20,0,0,1584,1585,7,14,0,0,1585,136,1,0,0,0,1586,1587,7,26,0,0,1587,1588,7,20,0,0,1588,1589,7,14,0,0,1589,1590,7,11,0,0,1590,1591,7,18,0,0,1591,1592,7,24,0,0,1592,1593,7,8,0,0,1593,138,1,0,0,0,1594,1595,7,26,0,0,1595,1596,7,14,0,0,1596,1597,7,20,0,0,1597,1598,7,16,0,0,1598,140,1,0,0,0,1599,1600,7,24,0,0,1600,1601,7,14,0,0,1601,1602,7,6,0,0,1602,1603,7,8,0,0,1603,1604,7,17,0,0,1604,142,1,0,0,0,1605,1606,7,24,0,0,1606,1607,7,14,0,0,1607,1608,7,20,0,0,1608,1609,7,23,0,0,1609,1610,7,25,0,0,1610,144,1,0,0,0,1611,1612,7,21,0,0,1612,1613,7,6,0,0,1613,1614,7,28,0,0,1614,1615,7,18,0,0,1615,1616,7,8,0,0,1616,1617,7,24,0,0,1617,146,1,0,0,0,1618,1619,7,18,0,0,1619,1620,7,8,0,0,1620,148,1,0,0,0,1621,1622,7,18,0,0,1622,1623,7,8,0,0,1623,1624,7,18,0,0,1624,1625,7,17,0,0,1625,1626,7,18,0,0,1626,1627,7,6,0,0,1627,1628,7,7,0,0,1628,1629,7,7,0,0,1629,1630,7,9,0,0,1630,150,1,0,0,0,1631,1632,7,18,0,0,1632,1633,7,8,0,0,1633,1634,7,17,0,0,1634,1635,7,11,0,0,1635,1636,7,14,0,0,1636,1637,7,10,0,0,1637,1638,7,11,0,0,1638,1639,7,15,0,0,1639,1640,7,17,0,0,1640,152,1,0,0,0,1641,1642,7,18,0,0,1642,1643,7,8,0,0,1643,1644,7,17,0,0,1644,1645,7,20,0,0,1645,154,1,0,0,0,1646,1647,7,7,0,0,1647,1648,7,6,0,0,1648,1649,7,17,0,0,1649,1650,7,11,0,0,1650,1651,7,14,0,0,1651,1652,7,6,0,0,1652,1653,7,7,0,0,1653,156,1,0,0,0,1654,1655,7,7,0,0,1655,1656,7,11,0,0,1656,1657,7,6,0,0,1657,1658,7,13,0,0,1658,1659,7,18,0,0,1659,1660,7,8,0,0,1660,1661,7,24,0,0,1661,158,1,0,0,0,1662,1663,7,7,0,0,1663,1664,7,18,0,0,1664,1665,7,16,0,0,1665,1666,7,18,0,0,1666,1667,7,17,0,0,1667,160,1,0,0,0,1668,1669,7,7,0,0,1669,1670,7,20,0,0,1670,1671,7,15,0,0,1671,1672,7,6,0,0,1672,1673,7,7,0,0,1673,1674,7,17,0,0,1674,1675,7,18,0,0,1675,1676,7,16,0,0,1676,1677,7,11,0,0,1677,162,1,0,0,0,1678,1679,7,7,0,0,1679,1680,7,20,0,0,1680,1681,7,15,0,0,1681,1682,7,6,0,0,1682,1683,7,7,0,0,1683,1684,7,17,0,0,1684,1685,7,18,0,0,1685,1686,7,16,0,0,1686,1687,7,11,0,0,1687,1688,7,10,0,0,1688,1689,7,17,0,0,1689,1690,7,6,0,0,1690,1691,7,16,0,0,1691,1692,7,25,0,0,1692,164,1,0,0,0,1693,1694,7,8,0,0,1694,1695,7,20,0,0,1695,1696,7,17,0,0,1696,166,1,0,0,0,1697,1698,7,8,0,0,1698,1699,7,23,0,0,1699,1700,7,7,0,0,1700,1701,7,7,0,0,1701,168,1,0,0,0,1702,1703,7,20,0,0,1703,1704,7,26,0,0,1704,1705,7,26,0,0,1705,1706,7,10,0,0,1706,1707,7,11,0,0,1707,1708,7,17,0,0,1708,170,1,0,0,0,1709,1710,7,20,0,0,1710,1711,7,8,0,0,1711,172,1,0,0,0,1712,1713,7,20,0,0,1713,1714,7,8,0,0,1714,1715,7,7,0,0,1715,1716,7,9,0,0,1716,174,1,0,0,0,1717,1718,7,20,0,0,1718,1719,7,14,0,0,1719,176,1,0,0,0,1720,1721,7,20,0,0,1721,1722,7,14,0,0,1722,1723,7,13,0,0,1723,1724,7,11,0,0,1724,1725,7,14,0,0,1725,178,1,0,0,0,1726,1727,7,25,0,0,1727,1728,7,7,0,0,1728,1729,7,6,0,0,1729,1730,7,15,0,0,1730,1731,7,18,0,0,1731,1732,7,8,0,0,1732,1733,7,24,0,0,1733,180,1,0,0,0,1734,1735,7,25,0,0,1735,1736,7,14,0,0,1736,1737,7,18,0,0,1737,1738,7,16,0,0,1738,1739,7,6,0,0,1739,1740,7,14,0,0,1740,1741,7,9,0,0,1741,182,1,0,0,0,1742,1743,7,14,0,0,1743,1744,7,11,0,0,1744,1745,7,26,0,0,1745,1746,7,11,0,0,1746,1747,7,14,0,0,1747,1748,7,11,0,0,1748,1749,7,8,0,0,1749,1750,7,15,0,0,1750,1751,7,11,0,0,1751,1752,7,10,0,0,1752,184,1,0,0,0,1753,1754,7,14,0,0,1754,1755,7,11,0,0,1755,1756,7,17,0,0,1756,1757,7,23,0,0,1757,1758,7,14,0,0,1758,1759,7,8,0,0,1759,1760,7,18,0,0,1760,1761,7,8,0,0,1761,1762,7,24,0,0,1762,186,1,0,0,0,1763,1764,7,10,0,0,1764,1765,7,11,0,0,1765,1766,7,7,0,0,1766,1767,7,11,0,0,1767,1768,7,15,0,0,1768,1769,7,17,0,0,1769,188,1,0,0,0,1770,1771,7,10,0,0,1771,1772,7,11,0,0,1772,1773,7,10,0,0,1773,1774,7,10,0,0,1774,1775,7,18,0,0,1775,1776,7,20,0,0,1776,1777,7,8,0,0,1777,1778,5,95,0,0,1778,1779,7,23,0,0,1779,1780,7,10,0,0,1780,1781,7,11,0,0,1781,1782,7,14,0,0,1782,190,1,0,0,0,1783,1784,7,10,0,0,1784,1785,7,20,0,0,1785,1786,7,16,0,0,1786,1787,7,11,0,0,1787,192,1,0,0,0,1788,1789,7,10,0,0,1789,1790,7,9,0,0,1790,1791,7,16,0,0,1791,1792,7,16,0,0,1792,1793,7,11,0,0,1793,1794,7,17,0,0,1794,1795,7,14,0,0,1795,1796,7,18,0,0,1796,1797,7,15,0,0,1797,194,1,0,0,0,1798,1799,7,17,0,0,1799,1800,7,6,0,0,1800,1801,7,19,0,0,1801,1802,7,7,0,0,1802,1803,7,11,0,0,1803,196,1,0,0,0,1804,1805,7,17,0,0,1805,1806,7,21,0,0,1806,1807,7,11,0,0,1807,1808,7,8,0,0,1808,198,1,0,0,0,1809,1810,7,17,0,0,1810,1811,7,20,0,0,1811,200,1,0,0,0,1812,1813,7,17,0,0,1813,1814,7,14,0,0,1814,1815,7,6,0,0,1815,1816,7,18,0,0,1816,1817,7,7,0,0,1817,1818,7,18,0,0,1818,1819,7,8,0,0,1819,1820,7,24,0,0,1820,202,1,0,0,0,1821,1822,7,17,0,0,1822,1823,7,14,0,0,1823,1824,7,23,0,0,1824,1825,7,11,0,0,1825,204,1,0,0,0,1826,1827,7,23,0,0,1827,1828,7,8,0,0,1828,1829,7,18,0,0,1829,1830,7,20,0,0,1830,1831,7,8,0,0,1831,206,1,0,0,0,1832,1833,7,23,0,0,1833,1834,7,8,0,0,1834,1835,7,18,0,0,1835,1836,7,29,0,0,1836,1837,7,23,0,0,1837,1838,7,11,0,0,1838,208,1,0,0,0,1839,1840,7,23,0,0,1840,1841,7,10,0,0,1841,1842,7,11,0,0,1842,1843,7,14,0,0,1843,210,1,0,0,0,1844,1845,7,23,0,0,1845,1846,7,10,0,0,1846,1847,7,18,0,0,1847,1848,7,8,0,0,1848,1849,7,24,0,0,1849,212,1,0,0,0,1850,1851,7,28,0,0,1851,1852,7,6,0,0,1852,1853,7,14,0,0,1853,1854,7,18,0,0,1854,1855,7,6,0,0,1855,1856,7,13,0,0,1856,1857,7,18,0,0,1857,1858,7,15,0,0,1858,214,1,0,0,0,1859,1860,7,30,0,0,1860,1861,7,21,0,0,1861,1862,7,11,0,0,1862,1863,7,8,0,0,1863,216,1,0,0,0,1864,1865,7,30,0,0,1865,1866,7,21,0,0,1866,1867,7,11,0,0,1867,1868,7,14,0,0,1868,1869,7,11,0,0,1869,218,1,0,0,0,1870,1871,7,30,0,0,1871,1872,7,18,0,0,1872,1873,7,8,0,0,1873,1874,7,13,0,0,1874,1875,7,20,0,0,1875,1876,7,30,0,0,1876,220,1,0,0,0,1877,1878,7,30,0,0,1878,1879,7,18,0,0,1879,1880,7,17,0,0,1880,1881,7,21,0,0,1881,222,1,0,0,0,1882,1883,7,6,0,0,1883,1884,7,23,0,0,1884,1885,7,17,0,0,1885,1886,7,21,0,0,1886,1887,7,20,0,0,1887,1888,7,14,0,0,1888,1889,7,18,0,0,1889,1890,7,12,0,0,1890,1891,7,6,0,0,1891,1892,7,17,0,0,1892,1893,7,18,0,0,1893,1894,7,20,0,0,1894,1895,7,8,0,0,1895,224,1,0,0,0,1896,1897,7,19,0,0,1897,1898,7,18,0,0,1898,1899,7,8,0,0,1899,1900,7,6,0,0,1900,1901,7,14,0,0,1901,1902,7,9,0,0,1902,226,1,0,0,0,1903,1904,7,15,0,0,1904,1905,7,20,0,0,1905,1906,7,7,0,0,1906,1907,7,7,0,0,1907,1908,7,6,0,0,1908,1909,7,17,0,0,1909,1910,7,18,0,0,1910,1911,7,20,0,0,1911,1912,7,8,0,0,1912,228,1,0,0,0,1913,1914,7,15,0,0,1914,1915,7,20,0,0,1915,1916,7,8,0,0,1916,1917,7,15,0,0,1917,1918,7,23,0,0,1918,1919,7,14,0,0,1919,1920,7,14,0,0,1920,1921,7,11,0,0,1921,1922,7,8,0,0,1922,1923,7,17,0,0,1923,1924,7,7,0,0,1924,1925,7,9,0,0,1925,230,1,0,0,0,1926,1927,7,15,0,0,1927,1928,7,14,0,0,1928,1929,7,20,0,0,1929,1930,7,10,0,0,1930,1931,7,10,0,0,1931,232,1,0,0,0,1932,1933,7,15,0,0,1933,1934,7,23,0,0,1934,1935,7,14,0,0,1935,1936,7,14,0,0,1936,1937,7,11,0,0,1937,1938,7,8,0,0,1938,1939,7,17,0,0,1939,1940,5,95,0,0,1940,1941,7,10,0,0,1941,1942,7,15,0,0,1942,1943,7,21,0,0,1943,1944,7,11,0,0,1944,1945,7,16,0,0,1945,1946,7,6,0,0,1946,234,1,0,0,0,1947,1948,7,26,0,0,1948,1949,7,14,0,0,1949,1950,7,11,0,0,1950,1951,7,11,0,0,1951,1952,7,12,0,0,1952,1953,7,11,0,0,1953,236,1,0,0,0,1954,1955,7,26,0,0,1955,1956,7,23,0,0,1956,1957,7,7,0,0,1957,1958,7,7,0,0,1958,238,1,0,0,0,1959,1960,7,18,0,0,1960,1961,7,7,0,0,1961,1962,7,18,0,0,1962,1963,7,22,0,0,1963,1964,7,11,0,0,1964,240,1,0,0,0,1965,1966,7,18,0,0,1966,1967,7,8,0,0,1967,1968,7,8,0,0,1968,1969,7,11,0,0,1969,1970,7,14,0,0,1970,242,1,0,0,0,1971,1972,7,18,0,0,1972,1973,7,10,0,0,1973,244,1,0,0,0,1974,1975,7,18,0,0,1975,1976,7,10,0,0,1976,1977,7,8,0,0,1977,1978,7,23,0,0,1978,1979,7,7,0,0,1979,1980,7,7,0,0,1980,246,1,0,0,0,1981,1982,7,31,0,0,1982,1983,7,20,0,0,1983,1984,7,18,0,0,1984,1985,7,8,0,0,1985,248,1,0,0,0,1986,1987,7,7,0,0,1987,1988,7,11,0,0,1988,1989,7,26,0,0,1989,1990,7,17,0,0,1990,250,1,0,0,0,1991,1992,7,7,0,0,1992,1993,7,18,0,0,1993,1994,7,22,0,0,1994,1995,7,11,0,0,1995,252,1,0,0,0,1996,1997,7,8,0,0,1997,1998,7,6,0,0,1998,1999,7,17,0,0,1999,2e3,7,23,0,0,2e3,2001,7,14,0,0,2001,2002,7,6,0,0,2002,2003,7,7,0,0,2003,254,1,0,0,0,2004,2005,7,8,0,0,2005,2006,7,20,0,0,2006,2007,7,17,0,0,2007,2008,7,8,0,0,2008,2009,7,23,0,0,2009,2010,7,7,0,0,2010,2011,7,7,0,0,2011,256,1,0,0,0,2012,2013,7,20,0,0,2013,2014,7,23,0,0,2014,2015,7,17,0,0,2015,2016,7,11,0,0,2016,2017,7,14,0,0,2017,258,1,0,0,0,2018,2019,7,20,0,0,2019,2020,7,28,0,0,2020,2021,7,11,0,0,2021,2022,7,14,0,0,2022,260,1,0,0,0,2023,2024,7,20,0,0,2024,2025,7,28,0,0,2025,2026,7,11,0,0,2026,2027,7,14,0,0,2027,2028,7,7,0,0,2028,2029,7,6,0,0,2029,2030,7,25,0,0,2030,2031,7,10,0,0,2031,262,1,0,0,0,2032,2033,7,14,0,0,2033,2034,7,18,0,0,2034,2035,7,24,0,0,2035,2036,7,21,0,0,2036,2037,7,17,0,0,2037,264,1,0,0,0,2038,2039,7,10,0,0,2039,2040,7,18,0,0,2040,2041,7,16,0,0,2041,2042,7,18,0,0,2042,2043,7,7,0,0,2043,2044,7,6,0,0,2044,2045,7,14,0,0,2045,266,1,0,0,0,2046,2047,7,28,0,0,2047,2048,7,11,0,0,2048,2049,7,14,0,0,2049,2050,7,19,0,0,2050,2051,7,20,0,0,2051,2052,7,10,0,0,2052,2053,7,11,0,0,2053,268,1,0,0,0,2054,2055,7,6,0,0,2055,2056,7,19,0,0,2056,2057,7,20,0,0,2057,2058,7,14,0,0,2058,2059,7,17,0,0,2059,270,1,0,0,0,2060,2061,7,6,0,0,2061,2062,7,19,0,0,2062,2063,7,10,0,0,2063,2064,7,20,0,0,2064,2065,7,7,0,0,2065,2066,7,23,0,0,2066,2067,7,17,0,0,2067,2068,7,11,0,0,2068,272,1,0,0,0,2069,2070,7,6,0,0,2070,2071,7,15,0,0,2071,2072,7,15,0,0,2072,2073,7,11,0,0,2073,2074,7,10,0,0,2074,2075,7,10,0,0,2075,274,1,0,0,0,2076,2077,7,6,0,0,2077,2078,7,15,0,0,2078,2079,7,17,0,0,2079,2080,7,18,0,0,2080,2081,7,20,0,0,2081,2082,7,8,0,0,2082,276,1,0,0,0,2083,2084,7,6,0,0,2084,2085,7,13,0,0,2085,2086,7,13,0,0,2086,278,1,0,0,0,2087,2088,7,6,0,0,2088,2089,7,13,0,0,2089,2090,7,16,0,0,2090,2091,7,18,0,0,2091,2092,7,8,0,0,2092,280,1,0,0,0,2093,2094,7,6,0,0,2094,2095,7,26,0,0,2095,2096,7,17,0,0,2096,2097,7,11,0,0,2097,2098,7,14,0,0,2098,282,1,0,0,0,2099,2100,7,6,0,0,2100,2101,7,24,0,0,2101,2102,7,24,0,0,2102,2103,7,14,0,0,2103,2104,7,11,0,0,2104,2105,7,24,0,0,2105,2106,7,6,0,0,2106,2107,7,17,0,0,2107,2108,7,11,0,0,2108,284,1,0,0,0,2109,2110,7,6,0,0,2110,2111,7,7,0,0,2111,2112,7,10,0,0,2112,2113,7,20,0,0,2113,286,1,0,0,0,2114,2115,7,6,0,0,2115,2116,7,7,0,0,2116,2117,7,17,0,0,2117,2118,7,11,0,0,2118,2119,7,14,0,0,2119,288,1,0,0,0,2120,2121,7,6,0,0,2121,2122,7,7,0,0,2122,2123,7,30,0,0,2123,2124,7,6,0,0,2124,2125,7,9,0,0,2125,2126,7,10,0,0,2126,290,1,0,0,0,2127,2128,7,6,0,0,2128,2129,7,10,0,0,2129,2130,7,10,0,0,2130,2131,7,11,0,0,2131,2132,7,14,0,0,2132,2133,7,17,0,0,2133,2134,7,18,0,0,2134,2135,7,20,0,0,2135,2136,7,8,0,0,2136,292,1,0,0,0,2137,2138,7,6,0,0,2138,2139,7,10,0,0,2139,2140,7,10,0,0,2140,2141,7,18,0,0,2141,2142,7,24,0,0,2142,2143,7,8,0,0,2143,2144,7,16,0,0,2144,2145,7,11,0,0,2145,2146,7,8,0,0,2146,2147,7,17,0,0,2147,294,1,0,0,0,2148,2149,7,6,0,0,2149,2150,7,17,0,0,2150,296,1,0,0,0,2151,2152,7,6,0,0,2152,2153,7,17,0,0,2153,2154,7,17,0,0,2154,2155,7,14,0,0,2155,2156,7,18,0,0,2156,2157,7,19,0,0,2157,2158,7,23,0,0,2158,2159,7,17,0,0,2159,2160,7,11,0,0,2160,298,1,0,0,0,2161,2162,7,19,0,0,2162,2163,7,6,0,0,2163,2164,7,15,0,0,2164,2165,7,22,0,0,2165,2166,7,30,0,0,2166,2167,7,6,0,0,2167,2168,7,14,0,0,2168,2169,7,13,0,0,2169,300,1,0,0,0,2170,2171,7,19,0,0,2171,2172,7,11,0,0,2172,2173,7,26,0,0,2173,2174,7,20,0,0,2174,2175,7,14,0,0,2175,2176,7,11,0,0,2176,302,1,0,0,0,2177,2178,7,19,0,0,2178,2179,7,11,0,0,2179,2180,7,24,0,0,2180,2181,7,18,0,0,2181,2182,7,8,0,0,2182,304,1,0,0,0,2183,2184,7,19,0,0,2184,2185,7,9,0,0,2185,306,1,0,0,0,2186,2187,7,15,0,0,2187,2188,7,6,0,0,2188,2189,7,15,0,0,2189,2190,7,21,0,0,2190,2191,7,11,0,0,2191,308,1,0,0,0,2192,2193,7,15,0,0,2193,2194,7,6,0,0,2194,2195,7,7,0,0,2195,2196,7,7,0,0,2196,2197,7,11,0,0,2197,2198,7,13,0,0,2198,310,1,0,0,0,2199,2200,7,15,0,0,2200,2201,7,6,0,0,2201,2202,7,10,0,0,2202,2203,7,15,0,0,2203,2204,7,6,0,0,2204,2205,7,13,0,0,2205,2206,7,11,0,0,2206,312,1,0,0,0,2207,2208,7,15,0,0,2208,2209,7,6,0,0,2209,2210,7,10,0,0,2210,2211,7,15,0,0,2211,2212,7,6,0,0,2212,2213,7,13,0,0,2213,2214,7,11,0,0,2214,2215,7,13,0,0,2215,314,1,0,0,0,2216,2217,7,15,0,0,2217,2218,7,6,0,0,2218,2219,7,17,0,0,2219,2220,7,6,0,0,2220,2221,7,7,0,0,2221,2222,7,20,0,0,2222,2223,7,24,0,0,2223,316,1,0,0,0,2224,2225,7,15,0,0,2225,2226,7,21,0,0,2226,2227,7,6,0,0,2227,2228,7,18,0,0,2228,2229,7,8,0,0,2229,318,1,0,0,0,2230,2231,7,15,0,0,2231,2232,7,21,0,0,2232,2233,7,6,0,0,2233,2234,7,14,0,0,2234,2235,7,6,0,0,2235,2236,7,15,0,0,2236,2237,7,17,0,0,2237,2238,7,11,0,0,2238,2239,7,14,0,0,2239,2240,7,18,0,0,2240,2241,7,10,0,0,2241,2242,7,17,0,0,2242,2243,7,18,0,0,2243,2244,7,15,0,0,2244,2245,7,10,0,0,2245,320,1,0,0,0,2246,2247,7,15,0,0,2247,2248,7,21,0,0,2248,2249,7,11,0,0,2249,2250,7,15,0,0,2250,2251,7,22,0,0,2251,2252,7,25,0,0,2252,2253,7,20,0,0,2253,2254,7,18,0,0,2254,2255,7,8,0,0,2255,2256,7,17,0,0,2256,322,1,0,0,0,2257,2258,7,15,0,0,2258,2259,7,7,0,0,2259,2260,7,6,0,0,2260,2261,7,10,0,0,2261,2262,7,10,0,0,2262,324,1,0,0,0,2263,2264,7,15,0,0,2264,2265,7,7,0,0,2265,2266,7,20,0,0,2266,2267,7,10,0,0,2267,2268,7,11,0,0,2268,326,1,0,0,0,2269,2270,7,15,0,0,2270,2271,7,7,0,0,2271,2272,7,23,0,0,2272,2273,7,10,0,0,2273,2274,7,17,0,0,2274,2275,7,11,0,0,2275,2276,7,14,0,0,2276,328,1,0,0,0,2277,2278,7,15,0,0,2278,2279,7,20,0,0,2279,2280,7,16,0,0,2280,2281,7,16,0,0,2281,2282,7,11,0,0,2282,2283,7,8,0,0,2283,2284,7,17,0,0,2284,330,1,0,0,0,2285,2286,7,15,0,0,2286,2287,7,20,0,0,2287,2288,7,16,0,0,2288,2289,7,16,0,0,2289,2290,7,11,0,0,2290,2291,7,8,0,0,2291,2292,7,17,0,0,2292,2293,7,10,0,0,2293,332,1,0,0,0,2294,2295,7,15,0,0,2295,2296,7,20,0,0,2296,2297,7,16,0,0,2297,2298,7,16,0,0,2298,2299,7,18,0,0,2299,2300,7,17,0,0,2300,334,1,0,0,0,2301,2302,7,15,0,0,2302,2303,7,20,0,0,2303,2304,7,16,0,0,2304,2305,7,16,0,0,2305,2306,7,18,0,0,2306,2307,7,17,0,0,2307,2308,7,17,0,0,2308,2309,7,11,0,0,2309,2310,7,13,0,0,2310,336,1,0,0,0,2311,2312,7,15,0,0,2312,2313,7,20,0,0,2313,2314,7,8,0,0,2314,2315,7,26,0,0,2315,2316,7,18,0,0,2316,2317,7,24,0,0,2317,2318,7,23,0,0,2318,2319,7,14,0,0,2319,2320,7,6,0,0,2320,2321,7,17,0,0,2321,2322,7,18,0,0,2322,2323,7,20,0,0,2323,2324,7,8,0,0,2324,338,1,0,0,0,2325,2326,7,15,0,0,2326,2327,7,20,0,0,2327,2328,7,8,0,0,2328,2329,7,8,0,0,2329,2330,7,11,0,0,2330,2331,7,15,0,0,2331,2332,7,17,0,0,2332,2333,7,18,0,0,2333,2334,7,20,0,0,2334,2335,7,8,0,0,2335,340,1,0,0,0,2336,2337,7,15,0,0,2337,2338,7,20,0,0,2338,2339,7,8,0,0,2339,2340,7,10,0,0,2340,2341,7,17,0,0,2341,2342,7,14,0,0,2342,2343,7,6,0,0,2343,2344,7,18,0,0,2344,2345,7,8,0,0,2345,2346,7,17,0,0,2346,2347,7,10,0,0,2347,342,1,0,0,0,2348,2349,7,15,0,0,2349,2350,7,20,0,0,2350,2351,7,8,0,0,2351,2352,7,17,0,0,2352,2353,7,11,0,0,2353,2354,7,8,0,0,2354,2355,7,17,0,0,2355,344,1,0,0,0,2356,2357,7,15,0,0,2357,2358,7,20,0,0,2358,2359,7,8,0,0,2359,2360,7,17,0,0,2360,2361,7,18,0,0,2361,2362,7,8,0,0,2362,2363,7,23,0,0,2363,2364,7,11,0,0,2364,346,1,0,0,0,2365,2366,7,15,0,0,2366,2367,7,20,0,0,2367,2368,7,8,0,0,2368,2369,7,28,0,0,2369,2370,7,11,0,0,2370,2371,7,14,0,0,2371,2372,7,10,0,0,2372,2373,7,18,0,0,2373,2374,7,20,0,0,2374,2375,7,8,0,0,2375,348,1,0,0,0,2376,2377,7,15,0,0,2377,2378,7,20,0,0,2378,2379,7,25,0,0,2379,2380,7,9,0,0,2380,350,1,0,0,0,2381,2382,7,15,0,0,2382,2383,7,20,0,0,2383,2384,7,10,0,0,2384,2385,7,17,0,0,2385,352,1,0,0,0,2386,2387,7,15,0,0,2387,2388,7,10,0,0,2388,2389,7,28,0,0,2389,354,1,0,0,0,2390,2391,7,15,0,0,2391,2392,7,23,0,0,2392,2393,7,14,0,0,2393,2394,7,10,0,0,2394,2395,7,20,0,0,2395,2396,7,14,0,0,2396,356,1,0,0,0,2397,2398,7,15,0,0,2398,2399,7,9,0,0,2399,2400,7,15,0,0,2400,2401,7,7,0,0,2401,2402,7,11,0,0,2402,358,1,0,0,0,2403,2404,7,13,0,0,2404,2405,7,6,0,0,2405,2406,7,17,0,0,2406,2407,7,6,0,0,2407,360,1,0,0,0,2408,2409,7,13,0,0,2409,2410,7,6,0,0,2410,2411,7,17,0,0,2411,2412,7,6,0,0,2412,2413,7,19,0,0,2413,2414,7,6,0,0,2414,2415,7,10,0,0,2415,2416,7,11,0,0,2416,362,1,0,0,0,2417,2418,7,13,0,0,2418,2419,7,6,0,0,2419,2420,7,9,0,0,2420,364,1,0,0,0,2421,2422,7,13,0,0,2422,2423,7,11,0,0,2423,2424,7,6,0,0,2424,2425,7,7,0,0,2425,2426,7,7,0,0,2426,2427,7,20,0,0,2427,2428,7,15,0,0,2428,2429,7,6,0,0,2429,2430,7,17,0,0,2430,2431,7,11,0,0,2431,366,1,0,0,0,2432,2433,7,13,0,0,2433,2434,7,11,0,0,2434,2435,7,15,0,0,2435,2436,7,7,0,0,2436,2437,7,6,0,0,2437,2438,7,14,0,0,2438,2439,7,11,0,0,2439,368,1,0,0,0,2440,2441,7,13,0,0,2441,2442,7,11,0,0,2442,2443,7,26,0,0,2443,2444,7,6,0,0,2444,2445,7,23,0,0,2445,2446,7,7,0,0,2446,2447,7,17,0,0,2447,2448,7,10,0,0,2448,370,1,0,0,0,2449,2450,7,13,0,0,2450,2451,7,11,0,0,2451,2452,7,26,0,0,2452,2453,7,11,0,0,2453,2454,7,14,0,0,2454,2455,7,14,0,0,2455,2456,7,11,0,0,2456,2457,7,13,0,0,2457,372,1,0,0,0,2458,2459,7,13,0,0,2459,2460,7,11,0,0,2460,2461,7,26,0,0,2461,2462,7,18,0,0,2462,2463,7,8,0,0,2463,2464,7,11,0,0,2464,2465,7,14,0,0,2465,374,1,0,0,0,2466,2467,7,13,0,0,2467,2468,7,11,0,0,2468,2469,7,7,0,0,2469,2470,7,11,0,0,2470,2471,7,17,0,0,2471,2472,7,11,0,0,2472,376,1,0,0,0,2473,2474,7,13,0,0,2474,2475,7,11,0,0,2475,2476,7,7,0,0,2476,2477,7,18,0,0,2477,2478,7,16,0,0,2478,2479,7,18,0,0,2479,2480,7,17,0,0,2480,2481,7,11,0,0,2481,2482,7,14,0,0,2482,378,1,0,0,0,2483,2484,7,13,0,0,2484,2485,7,11,0,0,2485,2486,7,7,0,0,2486,2487,7,18,0,0,2487,2488,7,16,0,0,2488,2489,7,18,0,0,2489,2490,7,17,0,0,2490,2491,7,11,0,0,2491,2492,7,14,0,0,2492,2493,7,10,0,0,2493,380,1,0,0,0,2494,2495,7,13,0,0,2495,2496,7,18,0,0,2496,2497,7,15,0,0,2497,2498,7,17,0,0,2498,2499,7,18,0,0,2499,2500,7,20,0,0,2500,2501,7,8,0,0,2501,2502,7,6,0,0,2502,2503,7,14,0,0,2503,2504,7,9,0,0,2504,382,1,0,0,0,2505,2506,7,13,0,0,2506,2507,7,18,0,0,2507,2508,7,10,0,0,2508,2509,7,6,0,0,2509,2510,7,19,0,0,2510,2511,7,7,0,0,2511,2512,7,11,0,0,2512,384,1,0,0,0,2513,2514,7,13,0,0,2514,2515,7,18,0,0,2515,2516,7,10,0,0,2516,2517,7,15,0,0,2517,2518,7,6,0,0,2518,2519,7,14,0,0,2519,2520,7,13,0,0,2520,386,1,0,0,0,2521,2522,7,13,0,0,2522,2523,7,20,0,0,2523,2524,7,15,0,0,2524,2525,7,23,0,0,2525,2526,7,16,0,0,2526,2527,7,11,0,0,2527,2528,7,8,0,0,2528,2529,7,17,0,0,2529,388,1,0,0,0,2530,2531,7,13,0,0,2531,2532,7,20,0,0,2532,2533,7,16,0,0,2533,2534,7,6,0,0,2534,2535,7,18,0,0,2535,2536,7,8,0,0,2536,390,1,0,0,0,2537,2538,7,13,0,0,2538,2539,7,20,0,0,2539,2540,7,23,0,0,2540,2541,7,19,0,0,2541,2542,7,7,0,0,2542,2543,7,11,0,0,2543,392,1,0,0,0,2544,2545,7,13,0,0,2545,2546,7,14,0,0,2546,2547,7,20,0,0,2547,2548,7,25,0,0,2548,394,1,0,0,0,2549,2550,7,11,0,0,2550,2551,7,6,0,0,2551,2552,7,15,0,0,2552,2553,7,21,0,0,2553,396,1,0,0,0,2554,2555,7,11,0,0,2555,2556,7,8,0,0,2556,2557,7,6,0,0,2557,2558,7,19,0,0,2558,2559,7,7,0,0,2559,2560,7,11,0,0,2560,398,1,0,0,0,2561,2562,7,11,0,0,2562,2563,7,8,0,0,2563,2564,7,15,0,0,2564,2565,7,20,0,0,2565,2566,7,13,0,0,2566,2567,7,18,0,0,2567,2568,7,8,0,0,2568,2569,7,24,0,0,2569,400,1,0,0,0,2570,2571,7,11,0,0,2571,2572,7,8,0,0,2572,2573,7,15,0,0,2573,2574,7,14,0,0,2574,2575,7,9,0,0,2575,2576,7,25,0,0,2576,2577,7,17,0,0,2577,2578,7,11,0,0,2578,2579,7,13,0,0,2579,402,1,0,0,0,2580,2581,7,11,0,0,2581,2582,7,8,0,0,2582,2583,7,23,0,0,2583,2584,7,16,0,0,2584,404,1,0,0,0,2585,2586,7,11,0,0,2586,2587,7,10,0,0,2587,2588,7,15,0,0,2588,2589,7,6,0,0,2589,2590,7,25,0,0,2590,2591,7,11,0,0,2591,406,1,0,0,0,2592,2593,7,11,0,0,2593,2594,7,28,0,0,2594,2595,7,11,0,0,2595,2596,7,8,0,0,2596,2597,7,17,0,0,2597,408,1,0,0,0,2598,2599,7,11,0,0,2599,2600,7,27,0,0,2600,2601,7,15,0,0,2601,2602,7,7,0,0,2602,2603,7,23,0,0,2603,2604,7,13,0,0,2604,2605,7,11,0,0,2605,410,1,0,0,0,2606,2607,7,11,0,0,2607,2608,7,27,0,0,2608,2609,7,15,0,0,2609,2610,7,7,0,0,2610,2611,7,23,0,0,2611,2612,7,13,0,0,2612,2613,7,18,0,0,2613,2614,7,8,0,0,2614,2615,7,24,0,0,2615,412,1,0,0,0,2616,2617,7,11,0,0,2617,2618,7,27,0,0,2618,2619,7,15,0,0,2619,2620,7,7,0,0,2620,2621,7,23,0,0,2621,2622,7,10,0,0,2622,2623,7,18,0,0,2623,2624,7,28,0,0,2624,2625,7,11,0,0,2625,414,1,0,0,0,2626,2627,7,11,0,0,2627,2628,7,27,0,0,2628,2629,7,11,0,0,2629,2630,7,15,0,0,2630,2631,7,23,0,0,2631,2632,7,17,0,0,2632,2633,7,11,0,0,2633,416,1,0,0,0,2634,2635,7,11,0,0,2635,2636,7,27,0,0,2636,2637,7,25,0,0,2637,2638,7,7,0,0,2638,2639,7,6,0,0,2639,2640,7,18,0,0,2640,2641,7,8,0,0,2641,418,1,0,0,0,2642,2643,7,11,0,0,2643,2644,7,27,0,0,2644,2645,7,17,0,0,2645,2646,7,11,0,0,2646,2647,7,8,0,0,2647,2648,7,10,0,0,2648,2649,7,18,0,0,2649,2650,7,20,0,0,2650,2651,7,8,0,0,2651,420,1,0,0,0,2652,2653,7,11,0,0,2653,2654,7,27,0,0,2654,2655,7,17,0,0,2655,2656,7,11,0,0,2656,2657,7,14,0,0,2657,2658,7,8,0,0,2658,2659,7,6,0,0,2659,2660,7,7,0,0,2660,422,1,0,0,0,2661,2662,7,26,0,0,2662,2663,7,6,0,0,2663,2664,7,16,0,0,2664,2665,7,18,0,0,2665,2666,7,7,0,0,2666,2667,7,9,0,0,2667,424,1,0,0,0,2668,2669,7,26,0,0,2669,2670,7,18,0,0,2670,2671,7,14,0,0,2671,2672,7,10,0,0,2672,2673,7,17,0,0,2673,426,1,0,0,0,2674,2675,7,26,0,0,2675,2676,7,20,0,0,2676,2677,7,7,0,0,2677,2678,7,7,0,0,2678,2679,7,20,0,0,2679,2680,7,30,0,0,2680,2681,7,18,0,0,2681,2682,7,8,0,0,2682,2683,7,24,0,0,2683,428,1,0,0,0,2684,2685,7,26,0,0,2685,2686,7,20,0,0,2686,2687,7,14,0,0,2687,2688,7,15,0,0,2688,2689,7,11,0,0,2689,430,1,0,0,0,2690,2691,7,26,0,0,2691,2692,7,20,0,0,2692,2693,7,14,0,0,2693,2694,7,30,0,0,2694,2695,7,6,0,0,2695,2696,7,14,0,0,2696,2697,7,13,0,0,2697,432,1,0,0,0,2698,2699,7,26,0,0,2699,2700,7,23,0,0,2700,2701,7,8,0,0,2701,2702,7,15,0,0,2702,2703,7,17,0,0,2703,2704,7,18,0,0,2704,2705,7,20,0,0,2705,2706,7,8,0,0,2706,434,1,0,0,0,2707,2708,7,26,0,0,2708,2709,7,23,0,0,2709,2710,7,8,0,0,2710,2711,7,15,0,0,2711,2712,7,17,0,0,2712,2713,7,18,0,0,2713,2714,7,20,0,0,2714,2715,7,8,0,0,2715,2716,7,10,0,0,2716,436,1,0,0,0,2717,2718,7,24,0,0,2718,2719,7,7,0,0,2719,2720,7,20,0,0,2720,2721,7,19,0,0,2721,2722,7,6,0,0,2722,2723,7,7,0,0,2723,438,1,0,0,0,2724,2725,7,24,0,0,2725,2726,7,14,0,0,2726,2727,7,6,0,0,2727,2728,7,8,0,0,2728,2729,7,17,0,0,2729,2730,7,11,0,0,2730,2731,7,13,0,0,2731,440,1,0,0,0,2732,2733,7,21,0,0,2733,2734,7,6,0,0,2734,2735,7,8,0,0,2735,2736,7,13,0,0,2736,2737,7,7,0,0,2737,2738,7,11,0,0,2738,2739,7,14,0,0,2739,442,1,0,0,0,2740,2741,7,21,0,0,2741,2742,7,11,0,0,2742,2743,7,6,0,0,2743,2744,7,13,0,0,2744,2745,7,11,0,0,2745,2746,7,14,0,0,2746,444,1,0,0,0,2747,2748,7,21,0,0,2748,2749,7,20,0,0,2749,2750,7,7,0,0,2750,2751,7,13,0,0,2751,446,1,0,0,0,2752,2753,7,21,0,0,2753,2754,7,20,0,0,2754,2755,7,23,0,0,2755,2756,7,14,0,0,2756,448,1,0,0,0,2757,2758,7,18,0,0,2758,2759,7,13,0,0,2759,2760,7,11,0,0,2760,2761,7,8,0,0,2761,2762,7,17,0,0,2762,2763,7,18,0,0,2763,2764,7,17,0,0,2764,2765,7,9,0,0,2765,450,1,0,0,0,2766,2767,7,18,0,0,2767,2768,7,26,0,0,2768,452,1,0,0,0,2769,2770,7,18,0,0,2770,2771,7,16,0,0,2771,2772,7,16,0,0,2772,2773,7,11,0,0,2773,2774,7,13,0,0,2774,2775,7,18,0,0,2775,2776,7,6,0,0,2776,2777,7,17,0,0,2777,2778,7,11,0,0,2778,454,1,0,0,0,2779,2780,7,18,0,0,2780,2781,7,16,0,0,2781,2782,7,16,0,0,2782,2783,7,23,0,0,2783,2784,7,17,0,0,2784,2785,7,6,0,0,2785,2786,7,19,0,0,2786,2787,7,7,0,0,2787,2788,7,11,0,0,2788,456,1,0,0,0,2789,2790,7,18,0,0,2790,2791,7,16,0,0,2791,2792,7,25,0,0,2792,2793,7,7,0,0,2793,2794,7,18,0,0,2794,2795,7,15,0,0,2795,2796,7,18,0,0,2796,2797,7,17,0,0,2797,458,1,0,0,0,2798,2799,7,18,0,0,2799,2800,7,8,0,0,2800,2801,7,15,0,0,2801,2802,7,7,0,0,2802,2803,7,23,0,0,2803,2804,7,13,0,0,2804,2805,7,18,0,0,2805,2806,7,8,0,0,2806,2807,7,24,0,0,2807,460,1,0,0,0,2808,2809,7,18,0,0,2809,2810,7,8,0,0,2810,2811,7,15,0,0,2811,2812,7,14,0,0,2812,2813,7,11,0,0,2813,2814,7,16,0,0,2814,2815,7,11,0,0,2815,2816,7,8,0,0,2816,2817,7,17,0,0,2817,462,1,0,0,0,2818,2819,7,18,0,0,2819,2820,7,8,0,0,2820,2821,7,13,0,0,2821,2822,7,11,0,0,2822,2823,7,27,0,0,2823,464,1,0,0,0,2824,2825,7,18,0,0,2825,2826,7,8,0,0,2826,2827,7,13,0,0,2827,2828,7,11,0,0,2828,2829,7,27,0,0,2829,2830,7,11,0,0,2830,2831,7,10,0,0,2831,466,1,0,0,0,2832,2833,7,18,0,0,2833,2834,7,8,0,0,2834,2835,7,21,0,0,2835,2836,7,11,0,0,2836,2837,7,14,0,0,2837,2838,7,18,0,0,2838,2839,7,17,0,0,2839,468,1,0,0,0,2840,2841,7,8,0,0,2841,2842,7,20,0,0,2842,2843,7,18,0,0,2843,2844,7,8,0,0,2844,2845,7,21,0,0,2845,2846,7,11,0,0,2846,2847,7,14,0,0,2847,2848,7,18,0,0,2848,2849,7,17,0,0,2849,470,1,0,0,0,2850,2851,7,10,0,0,2851,2852,7,23,0,0,2852,2853,7,25,0,0,2853,2854,7,11,0,0,2854,2855,7,14,0,0,2855,2856,7,23,0,0,2856,2857,7,10,0,0,2857,2858,7,11,0,0,2858,2859,7,14,0,0,2859,472,1,0,0,0,2860,2861,7,8,0,0,2861,2862,7,20,0,0,2862,2863,7,10,0,0,2863,2864,7,23,0,0,2864,2865,7,25,0,0,2865,2866,7,11,0,0,2866,2867,7,14,0,0,2867,2868,7,23,0,0,2868,2869,7,10,0,0,2869,2870,7,11,0,0,2870,2871,7,14,0,0,2871,474,1,0,0,0,2872,2873,7,15,0,0,2873,2874,7,14,0,0,2874,2875,7,11,0,0,2875,2876,7,6,0,0,2876,2877,7,17,0,0,2877,2878,7,11,0,0,2878,2879,7,13,0,0,2879,2880,7,19,0,0,2880,476,1,0,0,0,2881,2882,7,8,0,0,2882,2883,7,20,0,0,2883,2884,7,15,0,0,2884,2885,7,14,0,0,2885,2886,7,11,0,0,2886,2887,7,6,0,0,2887,2888,7,17,0,0,2888,2889,7,11,0,0,2889,2890,7,13,0,0,2890,2891,7,19,0,0,2891,478,1,0,0,0,2892,2893,7,15,0,0,2893,2894,7,14,0,0,2894,2895,7,11,0,0,2895,2896,7,6,0,0,2896,2897,7,17,0,0,2897,2898,7,11,0,0,2898,2899,7,14,0,0,2899,2900,7,20,0,0,2900,2901,7,7,0,0,2901,2902,7,11,0,0,2902,480,1,0,0,0,2903,2904,7,8,0,0,2904,2905,7,20,0,0,2905,2906,7,15,0,0,2906,2907,7,14,0,0,2907,2908,7,11,0,0,2908,2909,7,6,0,0,2909,2910,7,17,0,0,2910,2911,7,11,0,0,2911,2912,7,14,0,0,2912,2913,7,20,0,0,2913,2914,7,7,0,0,2914,2915,7,11,0,0,2915,482,1,0,0,0,2916,2917,7,15,0,0,2917,2918,7,14,0,0,2918,2919,7,11,0,0,2919,2920,7,6,0,0,2920,2921,7,17,0,0,2921,2922,7,11,0,0,2922,2923,7,23,0,0,2923,2924,7,10,0,0,2924,2925,7,11,0,0,2925,2926,7,14,0,0,2926,484,1,0,0,0,2927,2928,7,8,0,0,2928,2929,7,20,0,0,2929,2930,7,15,0,0,2930,2931,7,14,0,0,2931,2932,7,11,0,0,2932,2933,7,6,0,0,2933,2934,7,17,0,0,2934,2935,7,11,0,0,2935,2936,7,23,0,0,2936,2937,7,10,0,0,2937,2938,7,11,0,0,2938,2939,7,14,0,0,2939,486,1,0,0,0,2940,2941,7,18,0,0,2941,2942,7,8,0,0,2942,2943,7,21,0,0,2943,2944,7,11,0,0,2944,2945,7,14,0,0,2945,2946,7,18,0,0,2946,2947,7,17,0,0,2947,2948,7,10,0,0,2948,488,1,0,0,0,2949,2950,7,18,0,0,2950,2951,7,8,0,0,2951,2952,7,7,0,0,2952,2953,7,18,0,0,2953,2954,7,8,0,0,2954,2955,7,11,0,0,2955,490,1,0,0,0,2956,2957,7,18,0,0,2957,2958,7,8,0,0,2958,2959,7,10,0,0,2959,2960,7,11,0,0,2960,2961,7,8,0,0,2961,2962,7,10,0,0,2962,2963,7,18,0,0,2963,2964,7,17,0,0,2964,2965,7,18,0,0,2965,2966,7,28,0,0,2966,2967,7,11,0,0,2967,492,1,0,0,0,2968,2969,7,18,0,0,2969,2970,7,8,0,0,2970,2971,7,10,0,0,2971,2972,7,11,0,0,2972,2973,7,14,0,0,2973,2974,7,17,0,0,2974,494,1,0,0,0,2975,2976,7,18,0,0,2976,2977,7,8,0,0,2977,2978,7,10,0,0,2978,2979,7,17,0,0,2979,2980,7,11,0,0,2980,2981,7,6,0,0,2981,2982,7,13,0,0,2982,496,1,0,0,0,2983,2984,7,18,0,0,2984,2985,7,8,0,0,2985,2986,7,28,0,0,2986,2987,7,20,0,0,2987,2988,7,22,0,0,2988,2989,7,11,0,0,2989,2990,7,14,0,0,2990,498,1,0,0,0,2991,2992,7,18,0,0,2992,2993,7,10,0,0,2993,2994,7,20,0,0,2994,2995,7,7,0,0,2995,2996,7,6,0,0,2996,2997,7,17,0,0,2997,2998,7,18,0,0,2998,2999,7,20,0,0,2999,3e3,7,8,0,0,3e3,500,1,0,0,0,3001,3002,7,22,0,0,3002,3003,7,11,0,0,3003,3004,7,9,0,0,3004,502,1,0,0,0,3005,3006,7,7,0,0,3006,3007,7,6,0,0,3007,3008,7,19,0,0,3008,3009,7,11,0,0,3009,3010,7,7,0,0,3010,504,1,0,0,0,3011,3012,7,7,0,0,3012,3013,7,6,0,0,3013,3014,7,8,0,0,3014,3015,7,24,0,0,3015,3016,7,23,0,0,3016,3017,7,6,0,0,3017,3018,7,24,0,0,3018,3019,7,11,0,0,3019,506,1,0,0,0,3020,3021,7,7,0,0,3021,3022,7,6,0,0,3022,3023,7,14,0,0,3023,3024,7,24,0,0,3024,3025,7,11,0,0,3025,508,1,0,0,0,3026,3027,7,7,0,0,3027,3028,7,6,0,0,3028,3029,7,10,0,0,3029,3030,7,17,0,0,3030,510,1,0,0,0,3031,3032,7,7,0,0,3032,3033,7,11,0,0,3033,3034,7,6,0,0,3034,3035,7,22,0,0,3035,3036,7,25,0,0,3036,3037,7,14,0,0,3037,3038,7,20,0,0,3038,3039,7,20,0,0,3039,3040,7,26,0,0,3040,512,1,0,0,0,3041,3042,7,7,0,0,3042,3043,7,11,0,0,3043,3044,7,28,0,0,3044,3045,7,11,0,0,3045,3046,7,7,0,0,3046,514,1,0,0,0,3047,3048,7,7,0,0,3048,3049,7,18,0,0,3049,3050,7,10,0,0,3050,3051,7,17,0,0,3051,3052,7,11,0,0,3052,3053,7,8,0,0,3053,516,1,0,0,0,3054,3055,7,7,0,0,3055,3056,7,20,0,0,3056,3057,7,6,0,0,3057,3058,7,13,0,0,3058,518,1,0,0,0,3059,3060,7,7,0,0,3060,3061,7,20,0,0,3061,3062,7,15,0,0,3062,3063,7,6,0,0,3063,3064,7,7,0,0,3064,520,1,0,0,0,3065,3066,7,7,0,0,3066,3067,7,20,0,0,3067,3068,7,15,0,0,3068,3069,7,6,0,0,3069,3070,7,17,0,0,3070,3071,7,18,0,0,3071,3072,7,20,0,0,3072,3073,7,8,0,0,3073,522,1,0,0,0,3074,3075,7,7,0,0,3075,3076,7,20,0,0,3076,3077,7,15,0,0,3077,3078,7,22,0,0,3078,524,1,0,0,0,3079,3080,7,16,0,0,3080,3081,7,6,0,0,3081,3082,7,25,0,0,3082,3083,7,25,0,0,3083,3084,7,18,0,0,3084,3085,7,8,0,0,3085,3086,7,24,0,0,3086,526,1,0,0,0,3087,3088,7,16,0,0,3088,3089,7,6,0,0,3089,3090,7,17,0,0,3090,3091,7,15,0,0,3091,3092,7,21,0,0,3092,528,1,0,0,0,3093,3094,7,16,0,0,3094,3095,7,6,0,0,3095,3096,7,17,0,0,3096,3097,7,11,0,0,3097,3098,7,14,0,0,3098,3099,7,18,0,0,3099,3100,7,6,0,0,3100,3101,7,7,0,0,3101,3102,7,18,0,0,3102,3103,7,12,0,0,3103,3104,7,11,0,0,3104,3105,7,13,0,0,3105,530,1,0,0,0,3106,3107,7,16,0,0,3107,3108,7,6,0,0,3108,3109,7,27,0,0,3109,3110,7,28,0,0,3110,3111,7,6,0,0,3111,3112,7,7,0,0,3112,3113,7,23,0,0,3113,3114,7,11,0,0,3114,532,1,0,0,0,3115,3116,7,16,0,0,3116,3117,7,18,0,0,3117,3118,7,8,0,0,3118,3119,7,23,0,0,3119,3120,7,17,0,0,3120,3121,7,11,0,0,3121,534,1,0,0,0,3122,3123,7,16,0,0,3123,3124,7,18,0,0,3124,3125,7,8,0,0,3125,3126,7,28,0,0,3126,3127,7,6,0,0,3127,3128,7,7,0,0,3128,3129,7,23,0,0,3129,3130,7,11,0,0,3130,536,1,0,0,0,3131,3132,7,16,0,0,3132,3133,7,20,0,0,3133,3134,7,13,0,0,3134,3135,7,11,0,0,3135,538,1,0,0,0,3136,3137,7,16,0,0,3137,3138,7,20,0,0,3138,3139,7,8,0,0,3139,3140,7,17,0,0,3140,3141,7,21,0,0,3141,540,1,0,0,0,3142,3143,7,16,0,0,3143,3144,7,20,0,0,3144,3145,7,28,0,0,3145,3146,7,11,0,0,3146,542,1,0,0,0,3147,3148,7,8,0,0,3148,3149,7,6,0,0,3149,3150,7,16,0,0,3150,3151,7,11,0,0,3151,544,1,0,0,0,3152,3153,7,8,0,0,3153,3154,7,6,0,0,3154,3155,7,16,0,0,3155,3156,7,11,0,0,3156,3157,7,10,0,0,3157,546,1,0,0,0,3158,3159,7,8,0,0,3159,3160,7,11,0,0,3160,3161,7,27,0,0,3161,3162,7,17,0,0,3162,548,1,0,0,0,3163,3164,7,8,0,0,3164,3165,7,20,0,0,3165,550,1,0,0,0,3166,3167,7,8,0,0,3167,3168,7,20,0,0,3168,3169,7,17,0,0,3169,3170,7,21,0,0,3170,3171,7,18,0,0,3171,3172,7,8,0,0,3172,3173,7,24,0,0,3173,552,1,0,0,0,3174,3175,7,8,0,0,3175,3176,7,20,0,0,3176,3177,7,17,0,0,3177,3178,7,18,0,0,3178,3179,7,26,0,0,3179,3180,7,9,0,0,3180,554,1,0,0,0,3181,3182,7,8,0,0,3182,3183,7,20,0,0,3183,3184,7,30,0,0,3184,3185,7,6,0,0,3185,3186,7,18,0,0,3186,3187,7,17,0,0,3187,556,1,0,0,0,3188,3189,7,8,0,0,3189,3190,7,23,0,0,3190,3191,7,7,0,0,3191,3192,7,7,0,0,3192,3193,7,10,0,0,3193,558,1,0,0,0,3194,3195,7,20,0,0,3195,3196,7,19,0,0,3196,3197,7,31,0,0,3197,3198,7,11,0,0,3198,3199,7,15,0,0,3199,3200,7,17,0,0,3200,560,1,0,0,0,3201,3202,7,20,0,0,3202,3203,7,26,0,0,3203,562,1,0,0,0,3204,3205,7,20,0,0,3205,3206,7,26,0,0,3206,3207,7,26,0,0,3207,564,1,0,0,0,3208,3209,7,20,0,0,3209,3210,7,18,0,0,3210,3211,7,13,0,0,3211,3212,7,10,0,0,3212,566,1,0,0,0,3213,3214,7,20,0,0,3214,3215,7,25,0,0,3215,3216,7,11,0,0,3216,3217,7,14,0,0,3217,3218,7,6,0,0,3218,3219,7,17,0,0,3219,3220,7,20,0,0,3220,3221,7,14,0,0,3221,568,1,0,0,0,3222,3223,7,20,0,0,3223,3224,7,25,0,0,3224,3225,7,17,0,0,3225,3226,7,18,0,0,3226,3227,7,20,0,0,3227,3228,7,8,0,0,3228,570,1,0,0,0,3229,3230,7,20,0,0,3230,3231,7,25,0,0,3231,3232,7,17,0,0,3232,3233,7,18,0,0,3233,3234,7,20,0,0,3234,3235,7,8,0,0,3235,3236,7,10,0,0,3236,572,1,0,0,0,3237,3238,7,20,0,0,3238,3239,7,30,0,0,3239,3240,7,8,0,0,3240,3241,7,11,0,0,3241,3242,7,13,0,0,3242,574,1,0,0,0,3243,3244,7,20,0,0,3244,3245,7,30,0,0,3245,3246,7,8,0,0,3246,3247,7,11,0,0,3247,3248,7,14,0,0,3248,576,1,0,0,0,3249,3250,7,25,0,0,3250,3251,7,6,0,0,3251,3252,7,14,0,0,3252,3253,7,10,0,0,3253,3254,7,11,0,0,3254,3255,7,14,0,0,3255,578,1,0,0,0,3256,3257,7,25,0,0,3257,3258,7,6,0,0,3258,3259,7,14,0,0,3259,3260,7,17,0,0,3260,3261,7,18,0,0,3261,3262,7,6,0,0,3262,3263,7,7,0,0,3263,580,1,0,0,0,3264,3265,7,25,0,0,3265,3266,7,6,0,0,3266,3267,7,14,0,0,3267,3268,7,17,0,0,3268,3269,7,18,0,0,3269,3270,7,17,0,0,3270,3271,7,18,0,0,3271,3272,7,20,0,0,3272,3273,7,8,0,0,3273,582,1,0,0,0,3274,3275,7,25,0,0,3275,3276,7,6,0,0,3276,3277,7,10,0,0,3277,3278,7,10,0,0,3278,3279,7,18,0,0,3279,3280,7,8,0,0,3280,3281,7,24,0,0,3281,584,1,0,0,0,3282,3283,7,25,0,0,3283,3284,7,6,0,0,3284,3285,7,10,0,0,3285,3286,7,10,0,0,3286,3287,7,30,0,0,3287,3288,7,20,0,0,3288,3289,7,14,0,0,3289,3290,7,13,0,0,3290,586,1,0,0,0,3291,3292,7,25,0,0,3292,3293,7,7,0,0,3293,3294,7,6,0,0,3294,3295,7,8,0,0,3295,3296,7,10,0,0,3296,588,1,0,0,0,3297,3298,7,25,0,0,3298,3299,7,14,0,0,3299,3300,7,11,0,0,3300,3301,7,15,0,0,3301,3302,7,11,0,0,3302,3303,7,13,0,0,3303,3304,7,18,0,0,3304,3305,7,8,0,0,3305,3306,7,24,0,0,3306,590,1,0,0,0,3307,3308,7,25,0,0,3308,3309,7,14,0,0,3309,3310,7,11,0,0,3310,3311,7,25,0,0,3311,3312,7,6,0,0,3312,3313,7,14,0,0,3313,3314,7,11,0,0,3314,592,1,0,0,0,3315,3316,7,25,0,0,3316,3317,7,14,0,0,3317,3318,7,11,0,0,3318,3319,7,25,0,0,3319,3320,7,6,0,0,3320,3321,7,14,0,0,3321,3322,7,11,0,0,3322,3323,7,13,0,0,3323,594,1,0,0,0,3324,3325,7,25,0,0,3325,3326,7,14,0,0,3326,3327,7,11,0,0,3327,3328,7,10,0,0,3328,3329,7,11,0,0,3329,3330,7,14,0,0,3330,3331,7,28,0,0,3331,3332,7,11,0,0,3332,596,1,0,0,0,3333,3334,7,25,0,0,3334,3335,7,14,0,0,3335,3336,7,18,0,0,3336,3337,7,20,0,0,3337,3338,7,14,0,0,3338,598,1,0,0,0,3339,3340,7,25,0,0,3340,3341,7,14,0,0,3341,3342,7,18,0,0,3342,3343,7,28,0,0,3343,3344,7,18,0,0,3344,3345,7,7,0,0,3345,3346,7,11,0,0,3346,3347,7,24,0,0,3347,3348,7,11,0,0,3348,3349,7,10,0,0,3349,600,1,0,0,0,3350,3351,7,25,0,0,3351,3352,7,14,0,0,3352,3353,7,20,0,0,3353,3354,7,15,0,0,3354,3355,7,11,0,0,3355,3356,7,13,0,0,3356,3357,7,23,0,0,3357,3358,7,14,0,0,3358,3359,7,6,0,0,3359,3360,7,7,0,0,3360,602,1,0,0,0,3361,3362,7,25,0,0,3362,3363,7,14,0,0,3363,3364,7,20,0,0,3364,3365,7,15,0,0,3365,3366,7,11,0,0,3366,3367,7,13,0,0,3367,3368,7,23,0,0,3368,3369,7,14,0,0,3369,3370,7,11,0,0,3370,604,1,0,0,0,3371,3372,7,25,0,0,3372,3373,7,14,0,0,3373,3374,7,20,0,0,3374,3375,7,24,0,0,3375,3376,7,14,0,0,3376,3377,7,6,0,0,3377,3378,7,16,0,0,3378,606,1,0,0,0,3379,3380,7,29,0,0,3380,3381,7,23,0,0,3381,3382,7,20,0,0,3382,3383,7,17,0,0,3383,3384,7,11,0,0,3384,608,1,0,0,0,3385,3386,7,14,0,0,3386,3387,7,6,0,0,3387,3388,7,8,0,0,3388,3389,7,24,0,0,3389,3390,7,11,0,0,3390,610,1,0,0,0,3391,3392,7,14,0,0,3392,3393,7,11,0,0,3393,3394,7,6,0,0,3394,3395,7,13,0,0,3395,612,1,0,0,0,3396,3397,7,14,0,0,3397,3398,7,11,0,0,3398,3399,7,6,0,0,3399,3400,7,10,0,0,3400,3401,7,10,0,0,3401,3402,7,18,0,0,3402,3403,7,24,0,0,3403,3404,7,8,0,0,3404,614,1,0,0,0,3405,3406,7,14,0,0,3406,3407,7,11,0,0,3407,3408,7,15,0,0,3408,3409,7,21,0,0,3409,3410,7,11,0,0,3410,3411,7,15,0,0,3411,3412,7,22,0,0,3412,616,1,0,0,0,3413,3414,7,14,0,0,3414,3415,7,11,0,0,3415,3416,7,15,0,0,3416,3417,7,23,0,0,3417,3418,7,14,0,0,3418,3419,7,10,0,0,3419,3420,7,18,0,0,3420,3421,7,28,0,0,3421,3422,7,11,0,0,3422,618,1,0,0,0,3423,3424,7,14,0,0,3424,3425,7,11,0,0,3425,3426,7,26,0,0,3426,620,1,0,0,0,3427,3428,7,14,0,0,3428,3429,7,11,0,0,3429,3430,7,26,0,0,3430,3431,7,14,0,0,3431,3432,7,11,0,0,3432,3433,7,10,0,0,3433,3434,7,21,0,0,3434,622,1,0,0,0,3435,3436,7,14,0,0,3436,3437,7,11,0,0,3437,3438,7,18,0,0,3438,3439,7,8,0,0,3439,3440,7,13,0,0,3440,3441,7,11,0,0,3441,3442,7,27,0,0,3442,624,1,0,0,0,3443,3444,7,14,0,0,3444,3445,7,11,0,0,3445,3446,7,7,0,0,3446,3447,7,6,0,0,3447,3448,7,17,0,0,3448,3449,7,18,0,0,3449,3450,7,28,0,0,3450,3451,7,11,0,0,3451,626,1,0,0,0,3452,3453,7,14,0,0,3453,3454,7,11,0,0,3454,3455,7,7,0,0,3455,3456,7,11,0,0,3456,3457,7,6,0,0,3457,3458,7,10,0,0,3458,3459,7,11,0,0,3459,628,1,0,0,0,3460,3461,7,14,0,0,3461,3462,7,11,0,0,3462,3463,7,8,0,0,3463,3464,7,6,0,0,3464,3465,7,16,0,0,3465,3466,7,11,0,0,3466,630,1,0,0,0,3467,3468,7,14,0,0,3468,3469,7,11,0,0,3469,3470,7,25,0,0,3470,3471,7,11,0,0,3471,3472,7,6,0,0,3472,3473,7,17,0,0,3473,3474,7,6,0,0,3474,3475,7,19,0,0,3475,3476,7,7,0,0,3476,3477,7,11,0,0,3477,632,1,0,0,0,3478,3479,7,14,0,0,3479,3480,7,11,0,0,3480,3481,7,25,0,0,3481,3482,7,7,0,0,3482,3483,7,6,0,0,3483,3484,7,15,0,0,3484,3485,7,11,0,0,3485,634,1,0,0,0,3486,3487,7,14,0,0,3487,3488,7,11,0,0,3488,3489,7,25,0,0,3489,3490,7,7,0,0,3490,3491,7,18,0,0,3491,3492,7,15,0,0,3492,3493,7,6,0,0,3493,636,1,0,0,0,3494,3495,7,14,0,0,3495,3496,7,11,0,0,3496,3497,7,10,0,0,3497,3498,7,11,0,0,3498,3499,7,17,0,0,3499,638,1,0,0,0,3500,3501,7,14,0,0,3501,3502,7,11,0,0,3502,3503,7,10,0,0,3503,3504,7,17,0,0,3504,3505,7,6,0,0,3505,3506,7,14,0,0,3506,3507,7,17,0,0,3507,640,1,0,0,0,3508,3509,7,14,0,0,3509,3510,7,11,0,0,3510,3511,7,10,0,0,3511,3512,7,17,0,0,3512,3513,7,14,0,0,3513,3514,7,18,0,0,3514,3515,7,15,0,0,3515,3516,7,17,0,0,3516,642,1,0,0,0,3517,3518,7,14,0,0,3518,3519,7,11,0,0,3519,3520,7,17,0,0,3520,3521,7,23,0,0,3521,3522,7,14,0,0,3522,3523,7,8,0,0,3523,3524,7,10,0,0,3524,644,1,0,0,0,3525,3526,7,14,0,0,3526,3527,7,11,0,0,3527,3528,7,28,0,0,3528,3529,7,20,0,0,3529,3530,7,22,0,0,3530,3531,7,11,0,0,3531,646,1,0,0,0,3532,3533,7,14,0,0,3533,3534,7,20,0,0,3534,3535,7,7,0,0,3535,3536,7,11,0,0,3536,648,1,0,0,0,3537,3538,7,14,0,0,3538,3539,7,20,0,0,3539,3540,7,7,0,0,3540,3541,7,7,0,0,3541,3542,7,19,0,0,3542,3543,7,6,0,0,3543,3544,7,15,0,0,3544,3545,7,22,0,0,3545,650,1,0,0,0,3546,3547,7,14,0,0,3547,3548,7,20,0,0,3548,3549,7,30,0,0,3549,3550,7,10,0,0,3550,652,1,0,0,0,3551,3552,7,14,0,0,3552,3553,7,23,0,0,3553,3554,7,7,0,0,3554,3555,7,11,0,0,3555,654,1,0,0,0,3556,3557,7,10,0,0,3557,3558,7,6,0,0,3558,3559,7,28,0,0,3559,3560,7,11,0,0,3560,3561,7,25,0,0,3561,3562,7,20,0,0,3562,3563,7,18,0,0,3563,3564,7,8,0,0,3564,3565,7,17,0,0,3565,656,1,0,0,0,3566,3567,7,10,0,0,3567,3568,7,15,0,0,3568,3569,7,21,0,0,3569,3570,7,11,0,0,3570,3571,7,16,0,0,3571,3572,7,6,0,0,3572,658,1,0,0,0,3573,3574,7,10,0,0,3574,3575,7,15,0,0,3575,3576,7,14,0,0,3576,3577,7,20,0,0,3577,3578,7,7,0,0,3578,3579,7,7,0,0,3579,660,1,0,0,0,3580,3581,7,10,0,0,3581,3582,7,11,0,0,3582,3583,7,6,0,0,3583,3584,7,14,0,0,3584,3585,7,15,0,0,3585,3586,7,21,0,0,3586,662,1,0,0,0,3587,3588,7,10,0,0,3588,3589,7,11,0,0,3589,3590,7,15,0,0,3590,3591,7,20,0,0,3591,3592,7,8,0,0,3592,3593,7,13,0,0,3593,664,1,0,0,0,3594,3595,7,10,0,0,3595,3596,7,11,0,0,3596,3597,7,15,0,0,3597,3598,7,23,0,0,3598,3599,7,14,0,0,3599,3600,7,18,0,0,3600,3601,7,17,0,0,3601,3602,7,9,0,0,3602,666,1,0,0,0,3603,3604,7,10,0,0,3604,3605,7,11,0,0,3605,3606,7,29,0,0,3606,3607,7,23,0,0,3607,3608,7,11,0,0,3608,3609,7,8,0,0,3609,3610,7,15,0,0,3610,3611,7,11,0,0,3611,668,1,0,0,0,3612,3613,7,10,0,0,3613,3614,7,11,0,0,3614,3615,7,29,0,0,3615,3616,7,23,0,0,3616,3617,7,11,0,0,3617,3618,7,8,0,0,3618,3619,7,15,0,0,3619,3620,7,11,0,0,3620,3621,7,10,0,0,3621,670,1,0,0,0,3622,3623,7,10,0,0,3623,3624,7,11,0,0,3624,3625,7,14,0,0,3625,3626,7,18,0,0,3626,3627,7,6,0,0,3627,3628,7,7,0,0,3628,3629,7,18,0,0,3629,3630,7,12,0,0,3630,3631,7,6,0,0,3631,3632,7,19,0,0,3632,3633,7,7,0,0,3633,3634,7,11,0,0,3634,672,1,0,0,0,3635,3636,7,10,0,0,3636,3637,7,11,0,0,3637,3638,7,14,0,0,3638,3639,7,28,0,0,3639,3640,7,11,0,0,3640,3641,7,14,0,0,3641,674,1,0,0,0,3642,3643,7,10,0,0,3643,3644,7,11,0,0,3644,3645,7,10,0,0,3645,3646,7,10,0,0,3646,3647,7,18,0,0,3647,3648,7,20,0,0,3648,3649,7,8,0,0,3649,676,1,0,0,0,3650,3651,7,10,0,0,3651,3652,7,11,0,0,3652,3653,7,17,0,0,3653,678,1,0,0,0,3654,3655,7,10,0,0,3655,3656,7,21,0,0,3656,3657,7,6,0,0,3657,3658,7,14,0,0,3658,3659,7,11,0,0,3659,680,1,0,0,0,3660,3661,7,10,0,0,3661,3662,7,21,0,0,3662,3663,7,20,0,0,3663,3664,7,30,0,0,3664,682,1,0,0,0,3665,3666,7,10,0,0,3666,3667,7,18,0,0,3667,3668,7,16,0,0,3668,3669,7,25,0,0,3669,3670,7,7,0,0,3670,3671,7,11,0,0,3671,684,1,0,0,0,3672,3673,7,10,0,0,3673,3674,7,8,0,0,3674,3675,7,6,0,0,3675,3676,7,25,0,0,3676,3677,7,10,0,0,3677,3678,7,21,0,0,3678,3679,7,20,0,0,3679,3680,7,17,0,0,3680,686,1,0,0,0,3681,3682,7,10,0,0,3682,3683,7,17,0,0,3683,3684,7,6,0,0,3684,3685,7,19,0,0,3685,3686,7,7,0,0,3686,3687,7,11,0,0,3687,688,1,0,0,0,3688,3689,7,10,0,0,3689,3690,7,17,0,0,3690,3691,7,6,0,0,3691,3692,7,8,0,0,3692,3693,7,13,0,0,3693,3694,7,6,0,0,3694,3695,7,7,0,0,3695,3696,7,20,0,0,3696,3697,7,8,0,0,3697,3698,7,11,0,0,3698,690,1,0,0,0,3699,3700,7,10,0,0,3700,3701,7,17,0,0,3701,3702,7,6,0,0,3702,3703,7,14,0,0,3703,3704,7,17,0,0,3704,692,1,0,0,0,3705,3706,7,10,0,0,3706,3707,7,17,0,0,3707,3708,7,6,0,0,3708,3709,7,17,0,0,3709,3710,7,11,0,0,3710,3711,7,16,0,0,3711,3712,7,11,0,0,3712,3713,7,8,0,0,3713,3714,7,17,0,0,3714,694,1,0,0,0,3715,3716,7,10,0,0,3716,3717,7,17,0,0,3717,3718,7,6,0,0,3718,3719,7,17,0,0,3719,3720,7,18,0,0,3720,3721,7,10,0,0,3721,3722,7,17,0,0,3722,3723,7,18,0,0,3723,3724,7,15,0,0,3724,3725,7,10,0,0,3725,696,1,0,0,0,3726,3727,7,10,0,0,3727,3728,7,17,0,0,3728,3729,7,13,0,0,3729,3730,7,18,0,0,3730,3731,7,8,0,0,3731,698,1,0,0,0,3732,3733,7,10,0,0,3733,3734,7,17,0,0,3734,3735,7,13,0,0,3735,3736,7,20,0,0,3736,3737,7,23,0,0,3737,3738,7,17,0,0,3738,700,1,0,0,0,3739,3740,7,10,0,0,3740,3741,7,17,0,0,3741,3742,7,20,0,0,3742,3743,7,14,0,0,3743,3744,7,6,0,0,3744,3745,7,24,0,0,3745,3746,7,11,0,0,3746,702,1,0,0,0,3747,3748,7,10,0,0,3748,3749,7,17,0,0,3749,3750,7,14,0,0,3750,3751,7,18,0,0,3751,3752,7,15,0,0,3752,3753,7,17,0,0,3753,704,1,0,0,0,3754,3755,7,10,0,0,3755,3756,7,17,0,0,3756,3757,7,14,0,0,3757,3758,7,18,0,0,3758,3759,7,25,0,0,3759,706,1,0,0,0,3760,3761,7,10,0,0,3761,3762,7,9,0,0,3762,3763,7,10,0,0,3763,3764,7,18,0,0,3764,3765,7,13,0,0,3765,708,1,0,0,0,3766,3767,7,10,0,0,3767,3768,7,9,0,0,3768,3769,7,10,0,0,3769,3770,7,17,0,0,3770,3771,7,11,0,0,3771,3772,7,16,0,0,3772,710,1,0,0,0,3773,3774,7,17,0,0,3774,3775,7,6,0,0,3775,3776,7,19,0,0,3776,3777,7,7,0,0,3777,3778,7,11,0,0,3778,3779,7,10,0,0,3779,712,1,0,0,0,3780,3781,7,17,0,0,3781,3782,7,6,0,0,3782,3783,7,19,0,0,3783,3784,7,7,0,0,3784,3785,7,11,0,0,3785,3786,7,10,0,0,3786,3787,7,25,0,0,3787,3788,7,6,0,0,3788,3789,7,15,0,0,3789,3790,7,11,0,0,3790,714,1,0,0,0,3791,3792,7,17,0,0,3792,3793,7,11,0,0,3793,3794,7,16,0,0,3794,3795,7,25,0,0,3795,716,1,0,0,0,3796,3797,7,17,0,0,3797,3798,7,11,0,0,3798,3799,7,16,0,0,3799,3800,7,25,0,0,3800,3801,7,7,0,0,3801,3802,7,6,0,0,3802,3803,7,17,0,0,3803,3804,7,11,0,0,3804,718,1,0,0,0,3805,3806,7,17,0,0,3806,3807,7,11,0,0,3807,3808,7,16,0,0,3808,3809,7,25,0,0,3809,3810,7,20,0,0,3810,3811,7,14,0,0,3811,3812,7,6,0,0,3812,3813,7,14,0,0,3813,3814,7,9,0,0,3814,720,1,0,0,0,3815,3816,7,17,0,0,3816,3817,7,11,0,0,3817,3818,7,27,0,0,3818,3819,7,17,0,0,3819,722,1,0,0,0,3820,3821,7,17,0,0,3821,3822,7,14,0,0,3822,3823,7,6,0,0,3823,3824,7,8,0,0,3824,3825,7,10,0,0,3825,3826,7,6,0,0,3826,3827,7,15,0,0,3827,3828,7,17,0,0,3828,3829,7,18,0,0,3829,3830,7,20,0,0,3830,3831,7,8,0,0,3831,724,1,0,0,0,3832,3833,7,17,0,0,3833,3834,7,14,0,0,3834,3835,7,18,0,0,3835,3836,7,24,0,0,3836,3837,7,24,0,0,3837,3838,7,11,0,0,3838,3839,7,14,0,0,3839,726,1,0,0,0,3840,3841,7,17,0,0,3841,3842,7,14,0,0,3842,3843,7,23,0,0,3843,3844,7,8,0,0,3844,3845,7,15,0,0,3845,3846,7,6,0,0,3846,3847,7,17,0,0,3847,3848,7,11,0,0,3848,728,1,0,0,0,3849,3850,7,17,0,0,3850,3851,7,14,0,0,3851,3852,7,23,0,0,3852,3853,7,10,0,0,3853,3854,7,17,0,0,3854,3855,7,11,0,0,3855,3856,7,13,0,0,3856,730,1,0,0,0,3857,3858,7,17,0,0,3858,3859,7,9,0,0,3859,3860,7,25,0,0,3860,3861,7,11,0,0,3861,732,1,0,0,0,3862,3863,7,17,0,0,3863,3864,7,9,0,0,3864,3865,7,25,0,0,3865,3866,7,11,0,0,3866,3867,7,10,0,0,3867,734,1,0,0,0,3868,3869,7,23,0,0,3869,3870,7,8,0,0,3870,3871,7,19,0,0,3871,3872,7,20,0,0,3872,3873,7,23,0,0,3873,3874,7,8,0,0,3874,3875,7,13,0,0,3875,3876,7,11,0,0,3876,3877,7,13,0,0,3877,736,1,0,0,0,3878,3879,7,23,0,0,3879,3880,7,8,0,0,3880,3881,7,15,0,0,3881,3882,7,20,0,0,3882,3883,7,16,0,0,3883,3884,7,16,0,0,3884,3885,7,18,0,0,3885,3886,7,17,0,0,3886,3887,7,17,0,0,3887,3888,7,11,0,0,3888,3889,7,13,0,0,3889,738,1,0,0,0,3890,3891,7,23,0,0,3891,3892,7,8,0,0,3892,3893,7,11,0,0,3893,3894,7,8,0,0,3894,3895,7,15,0,0,3895,3896,7,14,0,0,3896,3897,7,9,0,0,3897,3898,7,25,0,0,3898,3899,7,17,0,0,3899,3900,7,11,0,0,3900,3901,7,13,0,0,3901,740,1,0,0,0,3902,3903,7,23,0,0,3903,3904,7,8,0,0,3904,3905,7,22,0,0,3905,3906,7,8,0,0,3906,3907,7,20,0,0,3907,3908,7,30,0,0,3908,3909,7,8,0,0,3909,742,1,0,0,0,3910,3911,7,23,0,0,3911,3912,7,8,0,0,3912,3913,7,7,0,0,3913,3914,7,18,0,0,3914,3915,7,10,0,0,3915,3916,7,17,0,0,3916,3917,7,11,0,0,3917,3918,7,8,0,0,3918,744,1,0,0,0,3919,3920,7,23,0,0,3920,3921,7,8,0,0,3921,3922,7,7,0,0,3922,3923,7,20,0,0,3923,3924,7,24,0,0,3924,3925,7,24,0,0,3925,3926,7,11,0,0,3926,3927,7,13,0,0,3927,746,1,0,0,0,3928,3929,7,23,0,0,3929,3930,7,8,0,0,3930,3931,7,17,0,0,3931,3932,7,18,0,0,3932,3933,7,7,0,0,3933,748,1,0,0,0,3934,3935,7,23,0,0,3935,3936,7,25,0,0,3936,3937,7,13,0,0,3937,3938,7,6,0,0,3938,3939,7,17,0,0,3939,3940,7,11,0,0,3940,750,1,0,0,0,3941,3942,7,28,0,0,3942,3943,7,6,0,0,3943,3944,7,15,0,0,3944,3945,7,23,0,0,3945,3946,7,23,0,0,3946,3947,7,16,0,0,3947,752,1,0,0,0,3948,3949,7,28,0,0,3949,3950,7,6,0,0,3950,3951,7,7,0,0,3951,3952,7,18,0,0,3952,3953,7,13,0,0,3953,754,1,0,0,0,3954,3955,7,28,0,0,3955,3956,7,6,0,0,3956,3957,7,7,0,0,3957,3958,7,18,0,0,3958,3959,7,13,0,0,3959,3960,7,6,0,0,3960,3961,7,17,0,0,3961,3962,7,11,0,0,3962,756,1,0,0,0,3963,3964,7,28,0,0,3964,3965,7,6,0,0,3965,3966,7,7,0,0,3966,3967,7,18,0,0,3967,3968,7,13,0,0,3968,3969,7,6,0,0,3969,3970,7,17,0,0,3970,3971,7,20,0,0,3971,3972,7,14,0,0,3972,758,1,0,0,0,3973,3974,7,28,0,0,3974,3975,7,6,0,0,3975,3976,7,14,0,0,3976,3977,7,9,0,0,3977,3978,7,18,0,0,3978,3979,7,8,0,0,3979,3980,7,24,0,0,3980,760,1,0,0,0,3981,3982,7,28,0,0,3982,3983,7,11,0,0,3983,3984,7,14,0,0,3984,3985,7,10,0,0,3985,3986,7,18,0,0,3986,3987,7,20,0,0,3987,3988,7,8,0,0,3988,762,1,0,0,0,3989,3990,7,28,0,0,3990,3991,7,18,0,0,3991,3992,7,11,0,0,3992,3993,7,30,0,0,3993,764,1,0,0,0,3994,3995,7,28,0,0,3995,3996,7,20,0,0,3996,3997,7,7,0,0,3997,3998,7,6,0,0,3998,3999,7,17,0,0,3999,4e3,7,18,0,0,4e3,4001,7,7,0,0,4001,4002,7,11,0,0,4002,766,1,0,0,0,4003,4004,7,30,0,0,4004,4005,7,21,0,0,4005,4006,7,18,0,0,4006,4007,7,17,0,0,4007,4008,7,11,0,0,4008,4009,7,10,0,0,4009,4010,7,25,0,0,4010,4011,7,6,0,0,4011,4012,7,15,0,0,4012,4013,7,11,0,0,4013,768,1,0,0,0,4014,4015,7,30,0,0,4015,4016,7,18,0,0,4016,4017,7,17,0,0,4017,4018,7,21,0,0,4018,4019,7,20,0,0,4019,4020,7,23,0,0,4020,4021,7,17,0,0,4021,770,1,0,0,0,4022,4023,7,30,0,0,4023,4024,7,20,0,0,4024,4025,7,14,0,0,4025,4026,7,22,0,0,4026,772,1,0,0,0,4027,4028,7,30,0,0,4028,4029,7,14,0,0,4029,4030,7,6,0,0,4030,4031,7,25,0,0,4031,4032,7,25,0,0,4032,4033,7,11,0,0,4033,4034,7,14,0,0,4034,774,1,0,0,0,4035,4036,7,30,0,0,4036,4037,7,14,0,0,4037,4038,7,18,0,0,4038,4039,7,17,0,0,4039,4040,7,11,0,0,4040,776,1,0,0,0,4041,4042,7,27,0,0,4042,4043,7,16,0,0,4043,4044,7,7,0,0,4044,778,1,0,0,0,4045,4046,7,9,0,0,4046,4047,7,11,0,0,4047,4048,7,6,0,0,4048,4049,7,14,0,0,4049,780,1,0,0,0,4050,4051,7,9,0,0,4051,4052,7,11,0,0,4052,4053,7,10,0,0,4053,782,1,0,0,0,4054,4055,7,12,0,0,4055,4056,7,20,0,0,4056,4057,7,8,0,0,4057,4058,7,11,0,0,4058,784,1,0,0,0,4059,4060,7,19,0,0,4060,4061,7,11,0,0,4061,4062,7,17,0,0,4062,4063,7,30,0,0,4063,4064,7,11,0,0,4064,4065,7,11,0,0,4065,4066,7,8,0,0,4066,786,1,0,0,0,4067,4068,7,19,0,0,4068,4069,7,18,0,0,4069,4070,7,24,0,0,4070,4071,7,18,0,0,4071,4072,7,8,0,0,4072,4073,7,17,0,0,4073,788,1,0,0,0,4074,4075,7,19,0,0,4075,4076,7,18,0,0,4076,4077,7,17,0,0,4077,790,1,0,0,0,4078,4079,7,19,0,0,4079,4080,7,20,0,0,4080,4081,7,20,0,0,4081,4082,7,7,0,0,4082,4083,7,11,0,0,4083,4084,7,6,0,0,4084,4085,7,8,0,0,4085,792,1,0,0,0,4086,4087,7,15,0,0,4087,4088,7,21,0,0,4088,4089,7,6,0,0,4089,4090,7,14,0,0,4090,794,1,0,0,0,4091,4092,7,15,0,0,4092,4093,7,21,0,0,4093,4094,7,6,0,0,4094,4095,7,14,0,0,4095,4096,7,6,0,0,4096,4097,7,15,0,0,4097,4098,7,17,0,0,4098,4099,7,11,0,0,4099,4100,7,14,0,0,4100,796,1,0,0,0,4101,4102,7,15,0,0,4102,4103,7,20,0,0,4103,4104,7,6,0,0,4104,4105,7,7,0,0,4105,4106,7,11,0,0,4106,4107,7,10,0,0,4107,4108,7,15,0,0,4108,4109,7,11,0,0,4109,798,1,0,0,0,4110,4111,7,13,0,0,4111,4112,7,11,0,0,4112,4113,7,15,0,0,4113,800,1,0,0,0,4114,4115,7,13,0,0,4115,4116,7,11,0,0,4116,4117,7,15,0,0,4117,4118,7,18,0,0,4118,4119,7,16,0,0,4119,4120,7,6,0,0,4120,4121,7,7,0,0,4121,802,1,0,0,0,4122,4123,7,11,0,0,4123,4124,7,27,0,0,4124,4125,7,18,0,0,4125,4126,7,10,0,0,4126,4127,7,17,0,0,4127,4128,7,10,0,0,4128,804,1,0,0,0,4129,4130,7,11,0,0,4130,4131,7,27,0,0,4131,4132,7,17,0,0,4132,4133,7,14,0,0,4133,4134,7,6,0,0,4134,4135,7,15,0,0,4135,4136,7,17,0,0,4136,806,1,0,0,0,4137,4138,7,26,0,0,4138,4139,7,7,0,0,4139,4140,7,20,0,0,4140,4141,7,6,0,0,4141,4142,7,17,0,0,4142,808,1,0,0,0,4143,4144,7,24,0,0,4144,4145,7,14,0,0,4145,4146,7,11,0,0,4146,4147,7,6,0,0,4147,4148,7,17,0,0,4148,4149,7,11,0,0,4149,4150,7,10,0,0,4150,4151,7,17,0,0,4151,810,1,0,0,0,4152,4153,7,18,0,0,4153,4154,7,8,0,0,4154,4155,7,20,0,0,4155,4156,7,23,0,0,4156,4157,7,17,0,0,4157,812,1,0,0,0,4158,4159,7,18,0,0,4159,4160,7,8,0,0,4160,4161,7,17,0,0,4161,814,1,0,0,0,4162,4163,7,18,0,0,4163,4164,7,8,0,0,4164,4165,7,17,0,0,4165,4166,7,11,0,0,4166,4167,7,24,0,0,4167,4168,7,11,0,0,4168,4169,7,14,0,0,4169,816,1,0,0,0,4170,4171,7,18,0,0,4171,4172,7,8,0,0,4172,4173,7,17,0,0,4173,4174,7,11,0,0,4174,4175,7,14,0,0,4175,4176,7,28,0,0,4176,4177,7,6,0,0,4177,4178,7,7,0,0,4178,818,1,0,0,0,4179,4180,7,7,0,0,4180,4181,7,11,0,0,4181,4182,7,6,0,0,4182,4183,7,10,0,0,4183,4184,7,17,0,0,4184,820,1,0,0,0,4185,4186,7,8,0,0,4186,4187,7,6,0,0,4187,4188,7,17,0,0,4188,4189,7,18,0,0,4189,4190,7,20,0,0,4190,4191,7,8,0,0,4191,4192,7,6,0,0,4192,4193,7,7,0,0,4193,822,1,0,0,0,4194,4195,7,8,0,0,4195,4196,7,15,0,0,4196,4197,7,21,0,0,4197,4198,7,6,0,0,4198,4199,7,14,0,0,4199,824,1,0,0,0,4200,4201,7,8,0,0,4201,4202,7,20,0,0,4202,4203,7,8,0,0,4203,4204,7,11,0,0,4204,826,1,0,0,0,4205,4206,7,8,0,0,4206,4207,7,23,0,0,4207,4208,7,7,0,0,4208,4209,7,7,0,0,4209,4210,7,18,0,0,4210,4211,7,26,0,0,4211,828,1,0,0,0,4212,4213,7,8,0,0,4213,4214,7,23,0,0,4214,4215,7,16,0,0,4215,4216,7,11,0,0,4216,4217,7,14,0,0,4217,4218,7,18,0,0,4218,4219,7,15,0,0,4219,830,1,0,0,0,4220,4221,7,20,0,0,4221,4222,7,28,0,0,4222,4223,7,11,0,0,4223,4224,7,14,0,0,4224,4225,7,7,0,0,4225,4226,7,6,0,0,4226,4227,7,9,0,0,4227,832,1,0,0,0,4228,4229,7,25,0,0,4229,4230,7,20,0,0,4230,4231,7,10,0,0,4231,4232,7,18,0,0,4232,4233,7,17,0,0,4233,4234,7,18,0,0,4234,4235,7,20,0,0,4235,4236,7,8,0,0,4236,834,1,0,0,0,4237,4238,7,25,0,0,4238,4239,7,14,0,0,4239,4240,7,11,0,0,4240,4241,7,15,0,0,4241,4242,7,18,0,0,4242,4243,7,10,0,0,4243,4244,7,18,0,0,4244,4245,7,20,0,0,4245,4246,7,8,0,0,4246,836,1,0,0,0,4247,4248,7,14,0,0,4248,4249,7,11,0,0,4249,4250,7,6,0,0,4250,4251,7,7,0,0,4251,838,1,0,0,0,4252,4253,7,14,0,0,4253,4254,7,20,0,0,4254,4255,7,30,0,0,4255,840,1,0,0,0,4256,4257,7,10,0,0,4257,4258,7,11,0,0,4258,4259,7,17,0,0,4259,4260,7,20,0,0,4260,4261,7,26,0,0,4261,842,1,0,0,0,4262,4263,7,10,0,0,4263,4264,7,16,0,0,4264,4265,7,6,0,0,4265,4266,7,7,0,0,4266,4267,7,7,0,0,4267,4268,7,18,0,0,4268,4269,7,8,0,0,4269,4270,7,17,0,0,4270,844,1,0,0,0,4271,4272,7,10,0,0,4272,4273,7,23,0,0,4273,4274,7,19,0,0,4274,4275,7,10,0,0,4275,4276,7,17,0,0,4276,4277,7,14,0,0,4277,4278,7,18,0,0,4278,4279,7,8,0,0,4279,4280,7,24,0,0,4280,846,1,0,0,0,4281,4282,7,17,0,0,4282,4283,7,18,0,0,4283,4284,7,16,0,0,4284,4285,7,11,0,0,4285,848,1,0,0,0,4286,4287,7,17,0,0,4287,4288,7,18,0,0,4288,4289,7,16,0,0,4289,4290,7,11,0,0,4290,4291,7,10,0,0,4291,4292,7,17,0,0,4292,4293,7,6,0,0,4293,4294,7,16,0,0,4294,4295,7,25,0,0,4295,850,1,0,0,0,4296,4297,7,17,0,0,4297,4298,7,14,0,0,4298,4299,7,11,0,0,4299,4300,7,6,0,0,4300,4301,7,17,0,0,4301,852,1,0,0,0,4302,4303,7,17,0,0,4303,4304,7,14,0,0,4304,4305,7,18,0,0,4305,4306,7,16,0,0,4306,854,1,0,0,0,4307,4308,7,28,0,0,4308,4309,7,6,0,0,4309,4310,7,7,0,0,4310,4311,7,23,0,0,4311,4312,7,11,0,0,4312,4313,7,10,0,0,4313,856,1,0,0,0,4314,4315,7,28,0,0,4315,4316,7,6,0,0,4316,4317,7,14,0,0,4317,4318,7,15,0,0,4318,4319,7,21,0,0,4319,4320,7,6,0,0,4320,4321,7,14,0,0,4321,858,1,0,0,0,4322,4323,7,27,0,0,4323,4324,7,16,0,0,4324,4325,7,7,0,0,4325,4326,7,6,0,0,4326,4327,7,17,0,0,4327,4328,7,17,0,0,4328,4329,7,14,0,0,4329,4330,7,18,0,0,4330,4331,7,19,0,0,4331,4332,7,23,0,0,4332,4333,7,17,0,0,4333,4334,7,11,0,0,4334,4335,7,10,0,0,4335,860,1,0,0,0,4336,4337,7,27,0,0,4337,4338,7,16,0,0,4338,4339,7,7,0,0,4339,4340,7,15,0,0,4340,4341,7,20,0,0,4341,4342,7,8,0,0,4342,4343,7,15,0,0,4343,4344,7,6,0,0,4344,4345,7,17,0,0,4345,862,1,0,0,0,4346,4347,7,27,0,0,4347,4348,7,16,0,0,4348,4349,7,7,0,0,4349,4350,7,11,0,0,4350,4351,7,7,0,0,4351,4352,7,11,0,0,4352,4353,7,16,0,0,4353,4354,7,11,0,0,4354,4355,7,8,0,0,4355,4356,7,17,0,0,4356,864,1,0,0,0,4357,4358,7,27,0,0,4358,4359,7,16,0,0,4359,4360,7,7,0,0,4360,4361,7,11,0,0,4361,4362,7,27,0,0,4362,4363,7,18,0,0,4363,4364,7,10,0,0,4364,4365,7,17,0,0,4365,4366,7,10,0,0,4366,866,1,0,0,0,4367,4368,7,27,0,0,4368,4369,7,16,0,0,4369,4370,7,7,0,0,4370,4371,7,26,0,0,4371,4372,7,20,0,0,4372,4373,7,14,0,0,4373,4374,7,11,0,0,4374,4375,7,10,0,0,4375,4376,7,17,0,0,4376,868,1,0,0,0,4377,4378,7,27,0,0,4378,4379,7,16,0,0,4379,4380,7,7,0,0,4380,4381,7,25,0,0,4381,4382,7,6,0,0,4382,4383,7,14,0,0,4383,4384,7,10,0,0,4384,4385,7,11,0,0,4385,870,1,0,0,0,4386,4387,7,27,0,0,4387,4388,7,16,0,0,4388,4389,7,7,0,0,4389,4390,7,25,0,0,4390,4391,7,18,0,0,4391,872,1,0,0,0,4392,4393,7,27,0,0,4393,4394,7,16,0,0,4394,4395,7,7,0,0,4395,4396,7,14,0,0,4396,4397,7,20,0,0,4397,4398,7,20,0,0,4398,4399,7,17,0,0,4399,874,1,0,0,0,4400,4401,7,27,0,0,4401,4402,7,16,0,0,4402,4403,7,7,0,0,4403,4404,7,10,0,0,4404,4405,7,11,0,0,4405,4406,7,14,0,0,4406,4407,7,18,0,0,4407,4408,7,6,0,0,4408,4409,7,7,0,0,4409,4410,7,18,0,0,4410,4411,7,12,0,0,4411,4412,7,11,0,0,4412,876,1,0,0,0,4413,4414,7,15,0,0,4414,4415,7,6,0,0,4415,4416,7,7,0,0,4416,4417,7,7,0,0,4417,878,1,0,0,0,4418,4419,7,15,0,0,4419,4420,7,23,0,0,4420,4421,7,14,0,0,4421,4422,7,14,0,0,4422,4423,7,11,0,0,4423,4424,7,8,0,0,4424,4425,7,17,0,0,4425,880,1,0,0,0,4426,4427,7,6,0,0,4427,4428,7,17,0,0,4428,4429,7,17,0,0,4429,4430,7,6,0,0,4430,4431,7,15,0,0,4431,4432,7,21,0,0,4432,882,1,0,0,0,4433,4434,7,13,0,0,4434,4435,7,11,0,0,4435,4436,7,17,0,0,4436,4437,7,6,0,0,4437,4438,7,15,0,0,4438,4439,7,21,0,0,4439,884,1,0,0,0,4440,4441,7,11,0,0,4441,4442,7,27,0,0,4442,4443,7,25,0,0,4443,4444,7,14,0,0,4444,4445,7,11,0,0,4445,4446,7,10,0,0,4446,4447,7,10,0,0,4447,4448,7,18,0,0,4448,4449,7,20,0,0,4449,4450,7,8,0,0,4450,886,1,0,0,0,4451,4452,7,24,0,0,4452,4453,7,11,0,0,4453,4454,7,8,0,0,4454,4455,7,11,0,0,4455,4456,7,14,0,0,4456,4457,7,6,0,0,4457,4458,7,17,0,0,4458,4459,7,11,0,0,4459,4460,7,13,0,0,4460,888,1,0,0,0,4461,4462,7,7,0,0,4462,4463,7,20,0,0,4463,4464,7,24,0,0,4464,4465,7,24,0,0,4465,4466,7,11,0,0,4466,4467,7,13,0,0,4467,890,1,0,0,0,4468,4469,7,10,0,0,4469,4470,7,17,0,0,4470,4471,7,20,0,0,4471,4472,7,14,0,0,4472,4473,7,11,0,0,4473,4474,7,13,0,0,4474,892,1,0,0,0,4475,4476,7,18,0,0,4476,4477,7,8,0,0,4477,4478,7,15,0,0,4478,4479,7,7,0,0,4479,4480,7,23,0,0,4480,4481,7,13,0,0,4481,4482,7,11,0,0,4482,894,1,0,0,0,4483,4484,7,14,0,0,4484,4485,7,20,0,0,4485,4486,7,23,0,0,4486,4487,7,17,0,0,4487,4488,7,18,0,0,4488,4489,7,8,0,0,4489,4490,7,11,0,0,4490,896,1,0,0,0,4491,4492,7,17,0,0,4492,4493,7,14,0,0,4493,4494,7,6,0,0,4494,4495,7,8,0,0,4495,4496,7,10,0,0,4496,4497,7,26,0,0,4497,4498,7,20,0,0,4498,4499,7,14,0,0,4499,4500,7,16,0,0,4500,898,1,0,0,0,4501,4502,7,18,0,0,4502,4503,7,16,0,0,4503,4504,7,25,0,0,4504,4505,7,20,0,0,4505,4506,7,14,0,0,4506,4507,7,17,0,0,4507,900,1,0,0,0,4508,4509,7,25,0,0,4509,4510,7,20,0,0,4510,4511,7,7,0,0,4511,4512,7,18,0,0,4512,4513,7,15,0,0,4513,4514,7,9,0,0,4514,902,1,0,0,0,4515,4516,7,16,0,0,4516,4517,7,11,0,0,4517,4518,7,17,0,0,4518,4519,7,21,0,0,4519,4520,7,20,0,0,4520,4521,7,13,0,0,4521,904,1,0,0,0,4522,4523,7,14,0,0,4523,4524,7,11,0,0,4524,4525,7,26,0,0,4525,4526,7,11,0,0,4526,4527,7,14,0,0,4527,4528,7,11,0,0,4528,4529,7,8,0,0,4529,4530,7,15,0,0,4530,4531,7,18,0,0,4531,4532,7,8,0,0,4532,4533,7,24,0,0,4533,906,1,0,0,0,4534,4535,7,8,0,0,4535,4536,7,11,0,0,4536,4537,7,30,0,0,4537,908,1,0,0,0,4538,4539,7,20,0,0,4539,4540,7,7,0,0,4540,4541,7,13,0,0,4541,910,1,0,0,0,4542,4543,7,28,0,0,4543,4544,7,6,0,0,4544,4545,7,7,0,0,4545,4546,7,23,0,0,4546,4547,7,11,0,0,4547,912,1,0,0,0,4548,4549,7,10,0,0,4549,4550,7,23,0,0,4550,4551,7,19,0,0,4551,4552,7,10,0,0,4552,4553,7,15,0,0,4553,4554,7,14,0,0,4554,4555,7,18,0,0,4555,4556,7,25,0,0,4556,4557,7,17,0,0,4557,4558,7,18,0,0,4558,4559,7,20,0,0,4559,4560,7,8,0,0,4560,914,1,0,0,0,4561,4562,7,25,0,0,4562,4563,7,23,0,0,4563,4564,7,19,0,0,4564,4565,7,7,0,0,4565,4566,7,18,0,0,4566,4567,7,15,0,0,4567,4568,7,6,0,0,4568,4569,7,17,0,0,4569,4570,7,18,0,0,4570,4571,7,20,0,0,4571,4572,7,8,0,0,4572,916,1,0,0,0,4573,4574,7,20,0,0,4574,4575,7,23,0,0,4575,4576,7,17,0,0,4576,918,1,0,0,0,4577,4578,7,11,0,0,4578,4579,7,8,0,0,4579,4580,7,13,0,0,4580,920,1,0,0,0,4581,4582,7,14,0,0,4582,4583,7,20,0,0,4583,4584,7,23,0,0,4584,4585,7,17,0,0,4585,4586,7,18,0,0,4586,4587,7,8,0,0,4587,4588,7,11,0,0,4588,4589,7,10,0,0,4589,922,1,0,0,0,4590,4591,7,10,0,0,4591,4592,7,15,0,0,4592,4593,7,21,0,0,4593,4594,7,11,0,0,4594,4595,7,16,0,0,4595,4596,7,6,0,0,4596,4597,7,10,0,0,4597,924,1,0,0,0,4598,4599,7,25,0,0,4599,4600,7,14,0,0,4600,4601,7,20,0,0,4601,4602,7,15,0,0,4602,4603,7,11,0,0,4603,4604,7,13,0,0,4604,4605,7,23,0,0,4605,4606,7,14,0,0,4606,4607,7,11,0,0,4607,4608,7,10,0,0,4608,926,1,0,0,0,4609,4610,7,18,0,0,4610,4611,7,8,0,0,4611,4612,7,25,0,0,4612,4613,7,23,0,0,4613,4614,7,17,0,0,4614,928,1,0,0,0,4615,4616,7,10,0,0,4616,4617,7,23,0,0,4617,4618,7,25,0,0,4618,4619,7,25,0,0,4619,4620,7,20,0,0,4620,4621,7,14,0,0,4621,4622,7,17,0,0,4622,930,1,0,0,0,4623,4624,7,25,0,0,4624,4625,7,6,0,0,4625,4626,7,14,0,0,4626,4627,7,6,0,0,4627,4628,7,7,0,0,4628,4629,7,7,0,0,4629,4630,7,11,0,0,4630,4631,7,7,0,0,4631,932,1,0,0,0,4632,4633,7,10,0,0,4633,4634,7,29,0,0,4634,4635,7,7,0,0,4635,934,1,0,0,0,4636,4637,7,13,0,0,4637,4638,7,11,0,0,4638,4639,7,25,0,0,4639,4640,7,11,0,0,4640,4641,7,8,0,0,4641,4642,7,13,0,0,4642,4643,7,10,0,0,4643,936,1,0,0,0,4644,4645,7,20,0,0,4645,4646,7,28,0,0,4646,4647,7,11,0,0,4647,4648,7,14,0,0,4648,4649,7,14,0,0,4649,4650,7,18,0,0,4650,4651,7,13,0,0,4651,4652,7,18,0,0,4652,4653,7,8,0,0,4653,4654,7,24,0,0,4654,938,1,0,0,0,4655,4656,7,15,0,0,4656,4657,7,20,0,0,4657,4658,7,8,0,0,4658,4659,7,26,0,0,4659,4660,7,7,0,0,4660,4661,7,18,0,0,4661,4662,7,15,0,0,4662,4663,7,17,0,0,4663,940,1,0,0,0,4664,4665,7,10,0,0,4665,4666,7,22,0,0,4666,4667,7,18,0,0,4667,4668,7,25,0,0,4668,942,1,0,0,0,4669,4670,7,7,0,0,4670,4671,7,20,0,0,4671,4672,7,15,0,0,4672,4673,7,22,0,0,4673,4674,7,11,0,0,4674,4675,7,13,0,0,4675,944,1,0,0,0,4676,4677,7,17,0,0,4677,4678,7,18,0,0,4678,4679,7,11,0,0,4679,4680,7,10,0,0,4680,946,1,0,0,0,4681,4682,7,14,0,0,4682,4683,7,20,0,0,4683,4684,7,7,0,0,4684,4685,7,7,0,0,4685,4686,7,23,0,0,4686,4687,7,25,0,0,4687,948,1,0,0,0,4688,4689,7,15,0,0,4689,4690,7,23,0,0,4690,4691,7,19,0,0,4691,4692,7,11,0,0,4692,950,1,0,0,0,4693,4694,7,24,0,0,4694,4695,7,14,0,0,4695,4696,7,20,0,0,4696,4697,7,23,0,0,4697,4698,7,25,0,0,4698,4699,7,18,0,0,4699,4700,7,8,0,0,4700,4701,7,24,0,0,4701,952,1,0,0,0,4702,4703,7,10,0,0,4703,4704,7,11,0,0,4704,4705,7,17,0,0,4705,4706,7,10,0,0,4706,954,1,0,0,0,4707,4708,7,17,0,0,4708,4709,7,6,0,0,4709,4710,7,19,0,0,4710,4711,7,7,0,0,4711,4712,7,11,0,0,4712,4713,7,10,0,0,4713,4714,7,6,0,0,4714,4715,7,16,0,0,4715,4716,7,25,0,0,4716,4717,7,7,0,0,4717,4718,7,11,0,0,4718,956,1,0,0,0,4719,4720,7,20,0,0,4720,4721,7,14,0,0,4721,4722,7,13,0,0,4722,4723,7,18,0,0,4723,4724,7,8,0,0,4724,4725,7,6,0,0,4725,4726,7,7,0,0,4726,4727,7,18,0,0,4727,4728,7,17,0,0,4728,4729,7,9,0,0,4729,958,1,0,0,0,4730,4731,7,27,0,0,4731,4732,7,16,0,0,4732,4733,7,7,0,0,4733,4734,7,17,0,0,4734,4735,7,6,0,0,4735,4736,7,19,0,0,4736,4737,7,7,0,0,4737,4738,7,11,0,0,4738,960,1,0,0,0,4739,4740,7,15,0,0,4740,4741,7,20,0,0,4741,4742,7,7,0,0,4742,4743,7,23,0,0,4743,4744,7,16,0,0,4744,4745,7,8,0,0,4745,4746,7,10,0,0,4746,962,1,0,0,0,4747,4748,7,27,0,0,4748,4749,7,16,0,0,4749,4750,7,7,0,0,4750,4751,7,8,0,0,4751,4752,7,6,0,0,4752,4753,7,16,0,0,4753,4754,7,11,0,0,4754,4755,7,10,0,0,4755,4756,7,25,0,0,4756,4757,7,6,0,0,4757,4758,7,15,0,0,4758,4759,7,11,0,0,4759,4760,7,10,0,0,4760,964,1,0,0,0,4761,4762,7,14,0,0,4762,4763,7,20,0,0,4763,4764,7,30,0,0,4764,4765,7,17,0,0,4765,4766,7,9,0,0,4766,4767,7,25,0,0,4767,4768,7,11,0,0,4768,966,1,0,0,0,4769,4770,7,8,0,0,4770,4771,7,20,0,0,4771,4772,7,14,0,0,4772,4773,7,16,0,0,4773,4774,7,6,0,0,4774,4775,7,7,0,0,4775,4776,7,18,0,0,4776,4777,7,12,0,0,4777,4778,7,11,0,0,4778,4779,7,13,0,0,4779,968,1,0,0,0,4780,4781,7,30,0,0,4781,4782,7,18,0,0,4782,4783,7,17,0,0,4783,4784,7,21,0,0,4784,4785,7,18,0,0,4785,4786,7,8,0,0,4786,970,1,0,0,0,4787,4788,7,26,0,0,4788,4789,7,18,0,0,4789,4790,7,7,0,0,4790,4791,7,17,0,0,4791,4792,7,11,0,0,4792,4793,7,14,0,0,4793,972,1,0,0,0,4794,4795,7,24,0,0,4795,4796,7,14,0,0,4796,4797,7,20,0,0,4797,4798,7,23,0,0,4798,4799,7,25,0,0,4799,4800,7,10,0,0,4800,974,1,0,0,0,4801,4802,7,20,0,0,4802,4803,7,17,0,0,4803,4804,7,21,0,0,4804,4805,7,11,0,0,4805,4806,7,14,0,0,4806,4807,7,10,0,0,4807,976,1,0,0,0,4808,4809,7,8,0,0,4809,4810,7,26,0,0,4810,4811,7,15,0,0,4811,978,1,0,0,0,4812,4813,7,8,0,0,4813,4814,7,26,0,0,4814,4815,7,13,0,0,4815,980,1,0,0,0,4816,4817,7,8,0,0,4817,4818,7,26,0,0,4818,4819,7,22,0,0,4819,4820,7,15,0,0,4820,982,1,0,0,0,4821,4822,7,8,0,0,4822,4823,7,26,0,0,4823,4824,7,22,0,0,4824,4825,7,13,0,0,4825,984,1,0,0,0,4826,4827,7,23,0,0,4827,4828,7,11,0,0,4828,4829,7,10,0,0,4829,4830,7,15,0,0,4830,4831,7,6,0,0,4831,4832,7,25,0,0,4832,4833,7,11,0,0,4833,986,1,0,0,0,4834,4835,7,28,0,0,4835,4836,7,18,0,0,4836,4837,7,11,0,0,4837,4838,7,30,0,0,4838,4839,7,10,0,0,4839,988,1,0,0,0,4840,4841,7,8,0,0,4841,4842,7,20,0,0,4842,4843,7,14,0,0,4843,4844,7,16,0,0,4844,4845,7,6,0,0,4845,4846,7,7,0,0,4846,4847,7,18,0,0,4847,4848,7,12,0,0,4848,4849,7,11,0,0,4849,990,1,0,0,0,4850,4851,7,13,0,0,4851,4852,7,23,0,0,4852,4853,7,16,0,0,4853,4854,7,25,0,0,4854,992,1,0,0,0,4855,4856,7,25,0,0,4856,4857,7,14,0,0,4857,4858,7,18,0,0,4858,4859,7,8,0,0,4859,4860,7,17,0,0,4860,4861,5,95,0,0,4861,4862,7,10,0,0,4862,4863,7,17,0,0,4863,4864,7,14,0,0,4864,4865,7,18,0,0,4865,4866,7,15,0,0,4866,4867,7,17,0,0,4867,4868,5,95,0,0,4868,4869,7,25,0,0,4869,4870,7,6,0,0,4870,4871,7,14,0,0,4871,4872,7,6,0,0,4872,4873,7,16,0,0,4873,4874,7,10,0,0,4874,994,1,0,0,0,4875,4876,7,28,0,0,4876,4877,7,6,0,0,4877,4878,7,14,0,0,4878,4879,7,18,0,0,4879,4880,7,6,0,0,4880,4881,7,19,0,0,4881,4882,7,7,0,0,4882,4883,7,11,0,0,4883,4884,5,95,0,0,4884,4885,7,15,0,0,4885,4886,7,20,0,0,4886,4887,7,8,0,0,4887,4888,7,26,0,0,4888,4889,7,7,0,0,4889,4890,7,18,0,0,4890,4891,7,15,0,0,4891,4892,7,17,0,0,4892,996,1,0,0,0,4893,4894,7,11,0,0,4894,4895,7,14,0,0,4895,4896,7,14,0,0,4896,4897,7,20,0,0,4897,4898,7,14,0,0,4898,998,1,0,0,0,4899,4900,7,23,0,0,4900,4901,7,10,0,0,4901,4902,7,11,0,0,4902,4903,5,95,0,0,4903,4904,7,28,0,0,4904,4905,7,6,0,0,4905,4906,7,14,0,0,4906,4907,7,18,0,0,4907,4908,7,6,0,0,4908,4909,7,19,0,0,4909,4910,7,7,0,0,4910,4911,7,11,0,0,4911,1e3,1,0,0,0,4912,4913,7,23,0,0,4913,4914,7,10,0,0,4914,4915,7,11,0,0,4915,4916,5,95,0,0,4916,4917,7,15,0,0,4917,4918,7,20,0,0,4918,4919,7,7,0,0,4919,4920,7,23,0,0,4920,4921,7,16,0,0,4921,4922,7,8,0,0,4922,1002,1,0,0,0,4923,4924,7,6,0,0,4924,4925,7,7,0,0,4925,4926,7,18,0,0,4926,4927,7,6,0,0,4927,4928,7,10,0,0,4928,1004,1,0,0,0,4929,4930,7,15,0,0,4930,4931,7,20,0,0,4931,4932,7,8,0,0,4932,4933,7,10,0,0,4933,4934,7,17,0,0,4934,4935,7,6,0,0,4935,4936,7,8,0,0,4936,4937,7,17,0,0,4937,1006,1,0,0,0,4938,4939,7,25,0,0,4939,4940,7,11,0,0,4940,4941,7,14,0,0,4941,4942,7,26,0,0,4942,4943,7,20,0,0,4943,4944,7,14,0,0,4944,4945,7,16,0,0,4945,1008,1,0,0,0,4946,4947,7,24,0,0,4947,4948,7,11,0,0,4948,4949,7,17,0,0,4949,1010,1,0,0,0,4950,4951,7,13,0,0,4951,4952,7,18,0,0,4952,4953,7,6,0,0,4953,4954,7,24,0,0,4954,4955,7,8,0,0,4955,4956,7,20,0,0,4956,4957,7,10,0,0,4957,4958,7,17,0,0,4958,4959,7,18,0,0,4959,4960,7,15,0,0,4960,4961,7,10,0,0,4961,1012,1,0,0,0,4962,4963,7,10,0,0,4963,4964,7,17,0,0,4964,4965,7,6,0,0,4965,4966,7,15,0,0,4966,4967,7,22,0,0,4967,4968,7,11,0,0,4968,4969,7,13,0,0,4969,1014,1,0,0,0,4970,4971,7,11,0,0,4971,4972,7,7,0,0,4972,4973,7,10,0,0,4973,4974,7,18,0,0,4974,4975,7,26,0,0,4975,1016,1,0,0,0,4976,4977,7,30,0,0,4977,4978,7,21,0,0,4978,4979,7,18,0,0,4979,4980,7,7,0,0,4980,4981,7,11,0,0,4981,1018,1,0,0,0,4982,4983,7,14,0,0,4983,4984,7,11,0,0,4984,4985,7,28,0,0,4985,4986,7,11,0,0,4986,4987,7,14,0,0,4987,4988,7,10,0,0,4988,4989,7,11,0,0,4989,1020,1,0,0,0,4990,4991,7,26,0,0,4991,4992,7,20,0,0,4992,4993,7,14,0,0,4993,4994,7,11,0,0,4994,4995,7,6,0,0,4995,4996,7,15,0,0,4996,4997,7,21,0,0,4997,1022,1,0,0,0,4998,4999,7,10,0,0,4999,5e3,7,7,0,0,5e3,5001,7,18,0,0,5001,5002,7,15,0,0,5002,5003,7,11,0,0,5003,1024,1,0,0,0,5004,5005,7,11,0,0,5005,5006,7,27,0,0,5006,5007,7,18,0,0,5007,5008,7,17,0,0,5008,1026,1,0,0,0,5009,5010,7,14,0,0,5010,5011,7,11,0,0,5011,5012,7,17,0,0,5012,5013,7,23,0,0,5013,5014,7,14,0,0,5014,5015,7,8,0,0,5015,1028,1,0,0,0,5016,5017,7,29,0,0,5017,5018,7,23,0,0,5018,5019,7,11,0,0,5019,5020,7,14,0,0,5020,5021,7,9,0,0,5021,1030,1,0,0,0,5022,5023,7,14,0,0,5023,5024,7,6,0,0,5024,5025,7,18,0,0,5025,5026,7,10,0,0,5026,5027,7,11,0,0,5027,1032,1,0,0,0,5028,5029,7,10,0,0,5029,5030,7,29,0,0,5030,5031,7,7,0,0,5031,5032,7,10,0,0,5032,5033,7,17,0,0,5033,5034,7,6,0,0,5034,5035,7,17,0,0,5035,5036,7,11,0,0,5036,1034,1,0,0,0,5037,5038,7,13,0,0,5038,5039,7,11,0,0,5039,5040,7,19,0,0,5040,5041,7,23,0,0,5041,5042,7,24,0,0,5042,1036,1,0,0,0,5043,5044,7,7,0,0,5044,5045,7,20,0,0,5045,5046,7,24,0,0,5046,1038,1,0,0,0,5047,5048,7,18,0,0,5048,5049,7,8,0,0,5049,5050,7,26,0,0,5050,5051,7,20,0,0,5051,1040,1,0,0,0,5052,5053,7,8,0,0,5053,5054,7,20,0,0,5054,5055,7,17,0,0,5055,5056,7,18,0,0,5056,5057,7,15,0,0,5057,5058,7,11,0,0,5058,1042,1,0,0,0,5059,5060,7,30,0,0,5060,5061,7,6,0,0,5061,5062,7,14,0,0,5062,5063,7,8,0,0,5063,5064,7,18,0,0,5064,5065,7,8,0,0,5065,5066,7,24,0,0,5066,1044,1,0,0,0,5067,5068,7,11,0,0,5068,5069,7,27,0,0,5069,5070,7,15,0,0,5070,5071,7,11,0,0,5071,5072,7,25,0,0,5072,5073,7,17,0,0,5073,5074,7,18,0,0,5074,5075,7,20,0,0,5075,5076,7,8,0,0,5076,1046,1,0,0,0,5077,5078,7,6,0,0,5078,5079,7,10,0,0,5079,5080,7,10,0,0,5080,5081,7,11,0,0,5081,5082,7,14,0,0,5082,5083,7,17,0,0,5083,1048,1,0,0,0,5084,5085,7,7,0,0,5085,5086,7,20,0,0,5086,5087,7,20,0,0,5087,5088,7,25,0,0,5088,1050,1,0,0,0,5089,5090,7,20,0,0,5090,5091,7,25,0,0,5091,5092,7,11,0,0,5092,5093,7,8,0,0,5093,1052,1,0,0,0,5094,5095,7,25,0,0,5095,5096,7,11,0,0,5096,5097,7,26,0,0,5097,5098,7,11,0,0,5098,5099,7,14,0,0,5099,5100,7,11,0,0,5100,5101,7,8,0,0,5101,5102,7,15,0,0,5102,5103,7,11,0,0,5103,5104,7,10,0,0,5104,1054,1,0,0,0,5105,5106,7,23,0,0,5106,5107,7,10,0,0,5107,5108,7,6,0,0,5108,5109,7,24,0,0,5109,5110,7,11,0,0,5110,1056,1,0,0,0,5111,5112,7,15,0,0,5112,5113,7,20,0,0,5113,5114,7,8,0,0,5114,5115,7,8,0,0,5115,5116,7,11,0,0,5116,5117,7,15,0,0,5117,5118,7,17,0,0,5118,1058,1,0,0,0,5119,5120,7,25,0,0,5120,5121,7,23,0,0,5121,5122,7,19,0,0,5122,5123,7,7,0,0,5123,5124,7,18,0,0,5124,5125,7,15,0,0,5125,1060,1,0,0,0,5126,5127,7,16,0,0,5127,5128,7,11,0,0,5128,5129,7,14,0,0,5129,5130,7,24,0,0,5130,5131,7,11,0,0,5131,1062,1,0,0,0,5132,5133,7,16,0,0,5133,5134,7,6,0,0,5134,5135,7,17,0,0,5135,5136,7,15,0,0,5136,5137,7,21,0,0,5137,5138,7,11,0,0,5138,5139,7,13,0,0,5139,1064,1,0,0,0,5140,5141,7,19,0,0,5141,5142,7,14,0,0,5142,5143,7,11,0,0,5143,5144,7,6,0,0,5144,5145,7,13,0,0,5145,5146,7,17,0,0,5146,5147,7,21,0,0,5147,1066,1,0,0,0,5148,5149,7,13,0,0,5149,5150,7,11,0,0,5150,5151,7,25,0,0,5151,5152,7,17,0,0,5152,5153,7,21,0,0,5153,1068,1,0,0,0,5154,5155,7,23,0,0,5155,5156,7,8,0,0,5156,5157,7,10,0,0,5157,5158,7,6,0,0,5158,5159,7,26,0,0,5159,5160,7,11,0,0,5160,1070,1,0,0,0,5161,5162,7,14,0,0,5162,5163,7,11,0,0,5163,5164,7,10,0,0,5164,5165,7,17,0,0,5165,5166,7,14,0,0,5166,5167,7,18,0,0,5167,5168,7,15,0,0,5168,5169,7,17,0,0,5169,5170,7,11,0,0,5170,5171,7,13,0,0,5171,1072,1,0,0,0,5172,5173,7,10,0,0,5173,5174,7,6,0,0,5174,5175,7,26,0,0,5175,5176,7,11,0,0,5176,1074,1,0,0,0,5177,5178,7,26,0,0,5178,5179,7,18,0,0,5179,5180,7,8,0,0,5180,5181,7,6,0,0,5181,5182,7,7,0,0,5182,5183,7,18,0,0,5183,5184,7,12,0,0,5184,5185,7,11,0,0,5185,1076,1,0,0,0,5186,5187,7,16,0,0,5187,5188,7,20,0,0,5188,5189,7,13,0,0,5189,5190,7,23,0,0,5190,5191,7,7,0,0,5191,5192,7,23,0,0,5192,5193,7,10,0,0,5193,1078,1,0,0,0,5194,5195,7,14,0,0,5195,5196,7,11,0,0,5196,5197,7,16,0,0,5197,5198,7,6,0,0,5198,5199,7,18,0,0,5199,5200,7,8,0,0,5200,5201,7,13,0,0,5201,5202,7,11,0,0,5202,5203,7,14,0,0,5203,1080,1,0,0,0,5204,5205,7,7,0,0,5205,5206,7,20,0,0,5206,5207,7,24,0,0,5207,5208,7,18,0,0,5208,5209,7,8,0,0,5209,1082,1,0,0,0,5210,5211,7,8,0,0,5211,5212,7,20,0,0,5212,5213,7,7,0,0,5213,5214,7,20,0,0,5214,5215,7,24,0,0,5215,5216,7,18,0,0,5216,5217,7,8,0,0,5217,1084,1,0,0,0,5218,5219,7,14,0,0,5219,5220,7,11,0,0,5220,5221,7,25,0,0,5221,5222,7,7,0,0,5222,5223,7,18,0,0,5223,5224,7,15,0,0,5224,5225,7,6,0,0,5225,5226,7,17,0,0,5226,5227,7,18,0,0,5227,5228,7,20,0,0,5228,5229,7,8,0,0,5229,1086,1,0,0,0,5230,5231,7,8,0,0,5231,5232,7,20,0,0,5232,5233,7,14,0,0,5233,5234,7,11,0,0,5234,5235,7,25,0,0,5235,5236,7,7,0,0,5236,5237,7,18,0,0,5237,5238,7,15,0,0,5238,5239,7,6,0,0,5239,5240,7,17,0,0,5240,5241,7,18,0,0,5241,5242,7,20,0,0,5242,5243,7,8,0,0,5243,1088,1,0,0,0,5244,5245,7,19,0,0,5245,5246,7,9,0,0,5246,5247,7,25,0,0,5247,5248,7,6,0,0,5248,5249,7,10,0,0,5249,5250,7,10,0,0,5250,5251,7,14,0,0,5251,5252,7,7,0,0,5252,5253,7,10,0,0,5253,1090,1,0,0,0,5254,5255,7,8,0,0,5255,5256,7,20,0,0,5256,5257,7,19,0,0,5257,5258,7,9,0,0,5258,5259,7,25,0,0,5259,5260,7,6,0,0,5260,5261,7,10,0,0,5261,5262,7,10,0,0,5262,5263,7,14,0,0,5263,5264,7,7,0,0,5264,5265,7,10,0,0,5265,1092,1,0,0,0,5266,5267,7,25,0,0,5267,5268,7,11,0,0,5268,5269,7,14,0,0,5269,5270,7,16,0,0,5270,5271,7,18,0,0,5271,5272,7,10,0,0,5272,5273,7,10,0,0,5273,5274,7,18,0,0,5274,5275,7,28,0,0,5275,5276,7,11,0,0,5276,1094,1,0,0,0,5277,5278,7,14,0,0,5278,5279,7,11,0,0,5279,5280,7,10,0,0,5280,5281,7,17,0,0,5281,5282,7,14,0,0,5282,5283,7,18,0,0,5283,5284,7,15,0,0,5284,5285,7,17,0,0,5285,5286,7,18,0,0,5286,5287,7,28,0,0,5287,5288,7,11,0,0,5288,1096,1,0,0,0,5289,5290,7,15,0,0,5290,5291,7,20,0,0,5291,5292,7,16,0,0,5292,5293,7,25,0,0,5293,5294,7,14,0,0,5294,5295,7,11,0,0,5295,5296,7,10,0,0,5296,5297,7,10,0,0,5297,5298,7,18,0,0,5298,5299,7,20,0,0,5299,5300,7,8,0,0,5300,1098,1,0,0,0,5301,5302,7,25,0,0,5302,5303,7,7,0,0,5303,5304,7,6,0,0,5304,5305,7,18,0,0,5305,5306,7,8,0,0,5306,1100,1,0,0,0,5307,5308,7,11,0,0,5308,5309,7,27,0,0,5309,5310,7,17,0,0,5310,5311,7,11,0,0,5311,5312,7,8,0,0,5312,5313,7,13,0,0,5313,5314,7,11,0,0,5314,5315,7,13,0,0,5315,1102,1,0,0,0,5316,5317,7,16,0,0,5317,5318,7,6,0,0,5318,5319,7,18,0,0,5319,5320,7,8,0,0,5320,1104,1,0,0,0,5321,5322,7,10,0,0,5322,5323,7,22,0,0,5323,5324,7,18,0,0,5324,5325,7,25,0,0,5325,5326,5,95,0,0,5326,5327,7,7,0,0,5327,5328,7,20,0,0,5328,5329,7,15,0,0,5329,5330,7,22,0,0,5330,5331,7,11,0,0,5331,5332,7,13,0,0,5332,1106,1,0,0,0,5333,5334,7,19,0,0,5334,5335,7,23,0,0,5335,5336,7,26,0,0,5336,5337,7,26,0,0,5337,5338,7,11,0,0,5338,5339,7,14,0,0,5339,5340,5,95,0,0,5340,5341,7,23,0,0,5341,5342,7,10,0,0,5342,5343,7,6,0,0,5343,5344,7,24,0,0,5344,5345,7,11,0,0,5345,5346,5,95,0,0,5346,5347,7,7,0,0,5347,5348,7,18,0,0,5348,5349,7,16,0,0,5349,5350,7,18,0,0,5350,5351,7,17,0,0,5351,1108,1,0,0,0,5352,5356,3,1111,553,0,5353,5355,3,1113,554,0,5354,5353,1,0,0,0,5355,5358,1,0,0,0,5356,5354,1,0,0,0,5356,5357,1,0,0,0,5357,1110,1,0,0,0,5358,5356,1,0,0,0,5359,5363,7,32,0,0,5360,5361,7,33,0,0,5361,5363,7,34,0,0,5362,5359,1,0,0,0,5362,5360,1,0,0,0,5363,1112,1,0,0,0,5364,5367,3,1115,555,0,5365,5367,5,36,0,0,5366,5364,1,0,0,0,5366,5365,1,0,0,0,5367,1114,1,0,0,0,5368,5371,3,1111,553,0,5369,5371,7,0,0,0,5370,5368,1,0,0,0,5370,5369,1,0,0,0,5371,1116,1,0,0,0,5372,5373,3,1119,557,0,5373,5374,5,34,0,0,5374,1118,1,0,0,0,5375,5381,5,34,0,0,5376,5377,5,34,0,0,5377,5380,5,34,0,0,5378,5380,8,35,0,0,5379,5376,1,0,0,0,5379,5378,1,0,0,0,5380,5383,1,0,0,0,5381,5379,1,0,0,0,5381,5382,1,0,0,0,5382,1120,1,0,0,0,5383,5381,1,0,0,0,5384,5385,3,1123,559,0,5385,5386,5,34,0,0,5386,1122,1,0,0,0,5387,5393,5,34,0,0,5388,5389,5,34,0,0,5389,5392,5,34,0,0,5390,5392,8,36,0,0,5391,5388,1,0,0,0,5391,5390,1,0,0,0,5392,5395,1,0,0,0,5393,5391,1,0,0,0,5393,5394,1,0,0,0,5394,1124,1,0,0,0,5395,5393,1,0,0,0,5396,5397,7,23,0,0,5397,5398,5,38,0,0,5398,5399,3,1117,556,0,5399,1126,1,0,0,0,5400,5401,7,23,0,0,5401,5402,5,38,0,0,5402,5403,3,1119,557,0,5403,1128,1,0,0,0,5404,5405,7,23,0,0,5405,5406,5,38,0,0,5406,5407,3,1121,558,0,5407,1130,1,0,0,0,5408,5409,7,23,0,0,5409,5410,5,38,0,0,5410,5411,3,1123,559,0,5411,1132,1,0,0,0,5412,5413,3,1135,565,0,5413,5414,5,39,0,0,5414,1134,1,0,0,0,5415,5421,5,39,0,0,5416,5417,5,39,0,0,5417,5420,5,39,0,0,5418,5420,8,37,0,0,5419,5416,1,0,0,0,5419,5418,1,0,0,0,5420,5423,1,0,0,0,5421,5419,1,0,0,0,5421,5422,1,0,0,0,5422,1136,1,0,0,0,5423,5421,1,0,0,0,5424,5425,7,11,0,0,5425,5426,5,39,0,0,5426,5427,1,0,0,0,5427,5428,6,566,1,0,5428,5429,6,566,2,0,5429,1138,1,0,0,0,5430,5431,3,1141,568,0,5431,5432,5,39,0,0,5432,1140,1,0,0,0,5433,5434,7,23,0,0,5434,5435,5,38,0,0,5435,5436,3,1135,565,0,5436,1142,1,0,0,0,5437,5439,5,36,0,0,5438,5440,3,1145,570,0,5439,5438,1,0,0,0,5439,5440,1,0,0,0,5440,5441,1,0,0,0,5441,5442,5,36,0,0,5442,5443,1,0,0,0,5443,5444,6,569,3,0,5444,1144,1,0,0,0,5445,5449,3,1111,553,0,5446,5448,3,1115,555,0,5447,5446,1,0,0,0,5448,5451,1,0,0,0,5449,5447,1,0,0,0,5449,5450,1,0,0,0,5450,1146,1,0,0,0,5451,5449,1,0,0,0,5452,5453,3,1149,572,0,5453,5454,5,39,0,0,5454,1148,1,0,0,0,5455,5456,7,19,0,0,5456,5460,5,39,0,0,5457,5459,7,38,0,0,5458,5457,1,0,0,0,5459,5462,1,0,0,0,5460,5458,1,0,0,0,5460,5461,1,0,0,0,5461,1150,1,0,0,0,5462,5460,1,0,0,0,5463,5464,3,1153,574,0,5464,5465,5,39,0,0,5465,1152,1,0,0,0,5466,5467,7,19,0,0,5467,5468,3,1135,565,0,5468,1154,1,0,0,0,5469,5470,3,1157,576,0,5470,5471,5,39,0,0,5471,1156,1,0,0,0,5472,5473,7,27,0,0,5473,5477,5,39,0,0,5474,5476,7,39,0,0,5475,5474,1,0,0,0,5476,5479,1,0,0,0,5477,5475,1,0,0,0,5477,5478,1,0,0,0,5478,1158,1,0,0,0,5479,5477,1,0,0,0,5480,5481,3,1161,578,0,5481,5482,5,39,0,0,5482,1160,1,0,0,0,5483,5484,7,27,0,0,5484,5485,3,1135,565,0,5485,1162,1,0,0,0,5486,5487,3,1169,582,0,5487,1164,1,0,0,0,5488,5489,3,1169,582,0,5489,5490,5,46,0,0,5490,5491,5,46,0,0,5491,1166,1,0,0,0,5492,5493,3,1169,582,0,5493,5495,5,46,0,0,5494,5496,3,1169,582,0,5495,5494,1,0,0,0,5495,5496,1,0,0,0,5496,5502,1,0,0,0,5497,5499,7,11,0,0,5498,5500,7,1,0,0,5499,5498,1,0,0,0,5499,5500,1,0,0,0,5500,5501,1,0,0,0,5501,5503,3,1169,582,0,5502,5497,1,0,0,0,5502,5503,1,0,0,0,5503,5521,1,0,0,0,5504,5505,5,46,0,0,5505,5511,3,1169,582,0,5506,5508,7,11,0,0,5507,5509,7,1,0,0,5508,5507,1,0,0,0,5508,5509,1,0,0,0,5509,5510,1,0,0,0,5510,5512,3,1169,582,0,5511,5506,1,0,0,0,5511,5512,1,0,0,0,5512,5521,1,0,0,0,5513,5514,3,1169,582,0,5514,5516,7,11,0,0,5515,5517,7,1,0,0,5516,5515,1,0,0,0,5516,5517,1,0,0,0,5517,5518,1,0,0,0,5518,5519,3,1169,582,0,5519,5521,1,0,0,0,5520,5492,1,0,0,0,5520,5504,1,0,0,0,5520,5513,1,0,0,0,5521,1168,1,0,0,0,5522,5524,7,0,0,0,5523,5522,1,0,0,0,5524,5525,1,0,0,0,5525,5523,1,0,0,0,5525,5526,1,0,0,0,5526,1170,1,0,0,0,5527,5528,5,58,0,0,5528,5532,7,40,0,0,5529,5531,7,41,0,0,5530,5529,1,0,0,0,5531,5534,1,0,0,0,5532,5530,1,0,0,0,5532,5533,1,0,0,0,5533,1172,1,0,0,0,5534,5532,1,0,0,0,5535,5536,5,58,0,0,5536,5537,5,34,0,0,5537,5545,1,0,0,0,5538,5539,5,92,0,0,5539,5544,9,0,0,0,5540,5541,5,34,0,0,5541,5544,5,34,0,0,5542,5544,8,42,0,0,5543,5538,1,0,0,0,5543,5540,1,0,0,0,5543,5542,1,0,0,0,5544,5547,1,0,0,0,5545,5543,1,0,0,0,5545,5546,1,0,0,0,5546,5548,1,0,0,0,5547,5545,1,0,0,0,5548,5549,5,34,0,0,5549,1174,1,0,0,0,5550,5552,7,43,0,0,5551,5550,1,0,0,0,5552,5553,1,0,0,0,5553,5551,1,0,0,0,5553,5554,1,0,0,0,5554,5555,1,0,0,0,5555,5556,6,585,4,0,5556,1176,1,0,0,0,5557,5559,5,13,0,0,5558,5560,5,10,0,0,5559,5558,1,0,0,0,5559,5560,1,0,0,0,5560,5563,1,0,0,0,5561,5563,5,10,0,0,5562,5557,1,0,0,0,5562,5561,1,0,0,0,5563,5564,1,0,0,0,5564,5565,6,586,4,0,5565,1178,1,0,0,0,5566,5567,5,45,0,0,5567,5568,5,45,0,0,5568,5572,1,0,0,0,5569,5571,8,44,0,0,5570,5569,1,0,0,0,5571,5574,1,0,0,0,5572,5570,1,0,0,0,5572,5573,1,0,0,0,5573,5575,1,0,0,0,5574,5572,1,0,0,0,5575,5576,6,587,4,0,5576,1180,1,0,0,0,5577,5578,5,47,0,0,5578,5579,5,42,0,0,5579,5602,1,0,0,0,5580,5582,5,47,0,0,5581,5580,1,0,0,0,5582,5585,1,0,0,0,5583,5581,1,0,0,0,5583,5584,1,0,0,0,5584,5586,1,0,0,0,5585,5583,1,0,0,0,5586,5601,3,1181,588,0,5587,5601,8,45,0,0,5588,5590,5,47,0,0,5589,5588,1,0,0,0,5590,5591,1,0,0,0,5591,5589,1,0,0,0,5591,5592,1,0,0,0,5592,5593,1,0,0,0,5593,5601,8,45,0,0,5594,5596,5,42,0,0,5595,5594,1,0,0,0,5596,5597,1,0,0,0,5597,5595,1,0,0,0,5597,5598,1,0,0,0,5598,5599,1,0,0,0,5599,5601,8,45,0,0,5600,5583,1,0,0,0,5600,5587,1,0,0,0,5600,5589,1,0,0,0,5600,5595,1,0,0,0,5601,5604,1,0,0,0,5602,5600,1,0,0,0,5602,5603,1,0,0,0,5603,5608,1,0,0,0,5604,5602,1,0,0,0,5605,5607,5,42,0,0,5606,5605,1,0,0,0,5607,5610,1,0,0,0,5608,5606,1,0,0,0,5608,5609,1,0,0,0,5609,5611,1,0,0,0,5610,5608,1,0,0,0,5611,5612,5,42,0,0,5612,5613,5,47,0,0,5613,5614,1,0,0,0,5614,5615,6,588,4,0,5615,1182,1,0,0,0,5616,5617,5,47,0,0,5617,5618,5,42,0,0,5618,5643,1,0,0,0,5619,5621,5,47,0,0,5620,5619,1,0,0,0,5621,5624,1,0,0,0,5622,5620,1,0,0,0,5622,5623,1,0,0,0,5623,5625,1,0,0,0,5624,5622,1,0,0,0,5625,5642,3,1181,588,0,5626,5642,8,45,0,0,5627,5629,5,47,0,0,5628,5627,1,0,0,0,5629,5630,1,0,0,0,5630,5628,1,0,0,0,5630,5631,1,0,0,0,5631,5632,1,0,0,0,5632,5640,8,45,0,0,5633,5635,5,42,0,0,5634,5633,1,0,0,0,5635,5636,1,0,0,0,5636,5634,1,0,0,0,5636,5637,1,0,0,0,5637,5638,1,0,0,0,5638,5640,8,45,0,0,5639,5628,1,0,0,0,5639,5634,1,0,0,0,5640,5642,1,0,0,0,5641,5622,1,0,0,0,5641,5626,1,0,0,0,5641,5639,1,0,0,0,5642,5645,1,0,0,0,5643,5641,1,0,0,0,5643,5644,1,0,0,0,5644,5663,1,0,0,0,5645,5643,1,0,0,0,5646,5648,5,47,0,0,5647,5646,1,0,0,0,5648,5649,1,0,0,0,5649,5647,1,0,0,0,5649,5650,1,0,0,0,5650,5664,1,0,0,0,5651,5653,5,42,0,0,5652,5651,1,0,0,0,5653,5654,1,0,0,0,5654,5652,1,0,0,0,5654,5655,1,0,0,0,5655,5664,1,0,0,0,5656,5658,5,47,0,0,5657,5656,1,0,0,0,5658,5661,1,0,0,0,5659,5657,1,0,0,0,5659,5660,1,0,0,0,5660,5662,1,0,0,0,5661,5659,1,0,0,0,5662,5664,3,1183,589,0,5663,5647,1,0,0,0,5663,5652,1,0,0,0,5663,5659,1,0,0,0,5663,5664,1,0,0,0,5664,1184,1,0,0,0,5665,5677,5,92,0,0,5666,5676,8,46,0,0,5667,5671,5,34,0,0,5668,5670,8,47,0,0,5669,5668,1,0,0,0,5670,5673,1,0,0,0,5671,5669,1,0,0,0,5671,5672,1,0,0,0,5672,5674,1,0,0,0,5673,5671,1,0,0,0,5674,5676,5,34,0,0,5675,5666,1,0,0,0,5675,5667,1,0,0,0,5676,5679,1,0,0,0,5677,5675,1,0,0,0,5677,5678,1,0,0,0,5678,5687,1,0,0,0,5679,5677,1,0,0,0,5680,5684,5,34,0,0,5681,5683,8,47,0,0,5682,5681,1,0,0,0,5683,5686,1,0,0,0,5684,5682,1,0,0,0,5684,5685,1,0,0,0,5685,5688,1,0,0,0,5686,5684,1,0,0,0,5687,5680,1,0,0,0,5687,5688,1,0,0,0,5688,1186,1,0,0,0,5689,5690,5,92,0,0,5690,5691,5,92,0,0,5691,1188,1,0,0,0,5692,5693,9,0,0,0,5693,1190,1,0,0,0,5694,5695,3,1195,595,0,5695,5696,5,39,0,0,5696,5697,1,0,0,0,5697,5698,6,593,5,0,5698,1192,1,0,0,0,5699,5701,3,1195,595,0,5700,5702,5,92,0,0,5701,5700,1,0,0,0,5701,5702,1,0,0,0,5702,5703,1,0,0,0,5703,5704,5,0,0,1,5704,1194,1,0,0,0,5705,5706,5,39,0,0,5706,5729,5,39,0,0,5707,5725,5,92,0,0,5708,5709,7,27,0,0,5709,5726,7,39,0,0,5710,5711,7,23,0,0,5711,5712,7,39,0,0,5712,5713,7,39,0,0,5713,5714,7,39,0,0,5714,5726,7,39,0,0,5715,5716,7,23,0,0,5716,5717,7,39,0,0,5717,5718,7,39,0,0,5718,5719,7,39,0,0,5719,5720,7,39,0,0,5720,5721,7,39,0,0,5721,5722,7,39,0,0,5722,5723,7,39,0,0,5723,5726,7,39,0,0,5724,5726,8,48,0,0,5725,5708,1,0,0,0,5725,5710,1,0,0,0,5725,5715,1,0,0,0,5725,5724,1,0,0,0,5726,5729,1,0,0,0,5727,5729,8,49,0,0,5728,5705,1,0,0,0,5728,5707,1,0,0,0,5728,5727,1,0,0,0,5729,5732,1,0,0,0,5730,5728,1,0,0,0,5730,5731,1,0,0,0,5731,1196,1,0,0,0,5732,5730,1,0,0,0,5733,5734,3,1201,598,0,5734,5735,5,39,0,0,5735,5736,1,0,0,0,5736,5737,6,596,5,0,5737,1198,1,0,0,0,5738,5740,3,1201,598,0,5739,5741,5,92,0,0,5740,5739,1,0,0,0,5740,5741,1,0,0,0,5741,5742,1,0,0,0,5742,5743,5,0,0,1,5743,1200,1,0,0,0,5744,5745,5,39,0,0,5745,5750,5,39,0,0,5746,5747,5,92,0,0,5747,5750,9,0,0,0,5748,5750,8,49,0,0,5749,5744,1,0,0,0,5749,5746,1,0,0,0,5749,5748,1,0,0,0,5750,5753,1,0,0,0,5751,5749,1,0,0,0,5751,5752,1,0,0,0,5752,1202,1,0,0,0,5753,5751,1,0,0,0,5754,5755,3,1175,585,0,5755,5756,1,0,0,0,5756,5757,6,599,6,0,5757,5758,6,599,4,0,5758,1204,1,0,0,0,5759,5760,3,1177,586,0,5760,5761,1,0,0,0,5761,5762,6,600,7,0,5762,5763,6,600,4,0,5763,5764,6,600,8,0,5764,1206,1,0,0,0,5765,5766,3,1175,585,0,5766,5767,1,0,0,0,5767,5768,6,601,6,0,5768,5769,6,601,4,0,5769,1208,1,0,0,0,5770,5771,3,1177,586,0,5771,5772,1,0,0,0,5772,5773,6,602,7,0,5773,5774,6,602,4,0,5774,1210,1,0,0,0,5775,5776,5,39,0,0,5776,5777,1,0,0,0,5777,5778,6,603,1,0,5778,5779,6,603,9,0,5779,1212,1,0,0,0,5780,5782,8,50,0,0,5781,5780,1,0,0,0,5782,5783,1,0,0,0,5783,5781,1,0,0,0,5783,5784,1,0,0,0,5784,5793,1,0,0,0,5785,5789,5,36,0,0,5786,5788,8,50,0,0,5787,5786,1,0,0,0,5788,5791,1,0,0,0,5789,5787,1,0,0,0,5789,5790,1,0,0,0,5790,5793,1,0,0,0,5791,5789,1,0,0,0,5792,5781,1,0,0,0,5792,5785,1,0,0,0,5793,1214,1,0,0,0,5794,5796,5,36,0,0,5795,5797,3,1145,570,0,5796,5795,1,0,0,0,5796,5797,1,0,0,0,5797,5798,1,0,0,0,5798,5799,5,36,0,0,5799,5800,1,0,0,0,5800,5801,6,605,10,0,5801,1216,1,0,0,0,77,0,1,2,3,4,1284,1290,1294,1296,1299,1301,1304,1308,1310,1315,1320,5356,5362,5366,5370,5379,5381,5391,5393,5419,5421,5439,5449,5460,5477,5495,5499,5502,5508,5511,5516,5520,5525,5532,5543,5545,5553,5559,5562,5572,5583,5591,5597,5600,5602,5608,5622,5630,5636,5639,5641,5643,5649,5654,5659,5663,5671,5675,5677,5684,5687,5701,5725,5728,5730,5740,5749,5751,5783,5789,5792,5796,11,7,29,0,3,0,0,5,1,0,5,4,0,0,1,0,2,2,0,7,576,0,7,577,0,2,3,0,2,1,0,4,0,0],K.vocabulary=new Ue(K.literalNames,K.symbolicNames,[]),K.decisionsToDFA=K._ATN.decisionToState.map((s,e)=>new k0(s,e));class fT extends Z4{constructor(e){super(e),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var e,i,n,h;return this.entityCollecting&&((i=(e=this.tokenStream.LT(-1))===null||e===void 0?void 0:e.tokenIndex)!==null&&i!==void 0?i:1/0)<=this.caretTokenIndex&&((h=(n=this.tokenStream.LT(1))===null||n===void 0?void 0:n.tokenIndex)!==null&&h!==void 0?h:-1/0)>=this.caretTokenIndex}}class t extends fT{get grammarFileName(){return"PostgreSqlParser.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(e,i){return new Rh(this,e,i)}constructor(e){super(e),this.interpreter=new Wh(this,t._ATN,t.decisionsToDFA,new h1)}program(){let e=new UT(this.context,this.state);this.enterRule(e,0,t.RULE_program);let i;try{this.enterOuterAlt(e,1);{for(this.state=1753,this.errorHandler.sync(this),i=this.tokenStream.LA(1);i===2||i===31||!(i-32&-32)&&1<'","'<<'","'>>'","':='","'<='","'=>'","'>='","'..'","'<>'","'::'","'%'",null,null,"'ALL'","'ANALYSE'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'ASYMMETRIC'","'BOTH'","'CASE'","'CAST'","'CHECK'","'COLLATE'","'COLUMN'","'CONSTRAINT'","'CREATE'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_ROLE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DEFAULT'","'DEFERRABLE'","'DESC'","'DISTINCT'","'DO'","'ELSE'","'EXCEPT'","'FALSE'","'FETCH'","'FOR'","'FOREIGN'","'FROM'","'GRANT'","'GROUP'","'HAVING'","'IN'","'INITIALLY'","'INTERSECT'","'INTO'","'LATERAL'","'LEADING'","'LIMIT'","'LOCALTIME'","'LOCALTIMESTAMP'","'NOT'","'NULL'","'OFFSET'","'ON'","'ONLY'","'OR'","'ORDER'","'PLACING'","'PRIMARY'","'REFERENCES'","'RETURNING'","'SELECT'","'SESSION_USER'","'SOME'","'SYMMETRIC'","'TABLE'","'THEN'","'TO'","'TRAILING'","'TRUE'","'UNION'","'UNIQUE'","'USER'","'USING'","'VARIADIC'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'AUTHORIZATION'","'BINARY'","'COLLATION'","'CONCURRENTLY'","'CROSS'","'CURRENT_SCHEMA'","'FREEZE'","'FULL'","'ILIKE'","'INNER'","'IS'","'ISNULL'","'JOIN'","'LEFT'","'LIKE'","'NATURAL'","'NOTNULL'","'OUTER'","'OVER'","'OVERLAPS'","'RIGHT'","'SIMILAR'","'VERBOSE'","'ABORT'","'ABSOLUTE'","'ACCESS'","'ACTION'","'ADD'","'ADMIN'","'AFTER'","'AGGREGATE'","'ALSO'","'ALTER'","'ALWAYS'","'ASSERTION'","'ASSIGNMENT'","'AT'","'ATTRIBUTE'","'BACKWARD'","'BEFORE'","'BEGIN'","'BY'","'CACHE'","'CALLED'","'CASCADE'","'CASCADED'","'CATALOG'","'CHAIN'","'CHARACTERISTICS'","'CHECKPOINT'","'CLASS'","'CLOSE'","'CLUSTER'","'COMMENT'","'COMMENTS'","'COMMIT'","'COMMITTED'","'CONFIGURATION'","'CONNECTION'","'CONSTRAINTS'","'CONTENT'","'CONTINUE'","'CONVERSION'","'COPY'","'COST'","'CSV'","'CURSOR'","'CYCLE'","'DATA'","'DATABASE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULTS'","'DEFERRED'","'DEFINER'","'DELETE'","'DELIMITER'","'DELIMITERS'","'DICTIONARY'","'DISABLE'","'DISCARD'","'DOCUMENT'","'DOMAIN'","'DOUBLE'","'DROP'","'EACH'","'ENABLE'","'ENCODING'","'ENCRYPTED'","'ENUM'","'ESCAPE'","'EVENT'","'EXCLUDE'","'EXCLUDING'","'EXCLUSIVE'","'EXECUTE'","'EXPLAIN'","'EXTENSION'","'EXTERNAL'","'FAMILY'","'FIRST'","'FOLLOWING'","'FORCE'","'FORWARD'","'FUNCTION'","'FUNCTIONS'","'GLOBAL'","'GRANTED'","'HANDLER'","'HEADER'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'IMMEDIATE'","'IMMUTABLE'","'IMPLICIT'","'INCLUDING'","'INCREMENT'","'INDEX'","'INDEXES'","'INHERIT'","'NOINHERIT'","'SUPERUSER'","'NOSUPERUSER'","'CREATEDB'","'NOCREATEDB'","'CREATEROLE'","'NOCREATEROLE'","'CREATEUSER'","'NOCREATEUSER'","'INHERITS'","'INLINE'","'INSENSITIVE'","'INSERT'","'INSTEAD'","'INVOKER'","'ISOLATION'","'KEY'","'LABEL'","'LANGUAGE'","'LARGE'","'LAST'","'LEAKPROOF'","'LEVEL'","'LISTEN'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'MAPPING'","'MATCH'","'MATERIALIZED'","'MAXVALUE'","'MINUTE'","'MINVALUE'","'MODE'","'MONTH'","'MOVE'","'NAME'","'NAMES'","'NEXT'","'NO'","'NOTHING'","'NOTIFY'","'NOWAIT'","'NULLS'","'OBJECT'","'OF'","'OFF'","'OIDS'","'OPERATOR'","'OPTION'","'OPTIONS'","'OWNED'","'OWNER'","'PARSER'","'PARTIAL'","'PARTITION'","'PASSING'","'PASSWORD'","'PLANS'","'PRECEDING'","'PREPARE'","'PREPARED'","'PRESERVE'","'PRIOR'","'PRIVILEGES'","'PROCEDURAL'","'PROCEDURE'","'PROGRAM'","'QUOTE'","'RANGE'","'READ'","'REASSIGN'","'RECHECK'","'RECURSIVE'","'REF'","'REFRESH'","'REINDEX'","'RELATIVE'","'RELEASE'","'RENAME'","'REPEATABLE'","'REPLACE'","'REPLICA'","'RESET'","'RESTART'","'RESTRICT'","'RETURNS'","'REVOKE'","'ROLE'","'ROLLBACK'","'ROWS'","'RULE'","'SAVEPOINT'","'SCHEMA'","'SCROLL'","'SEARCH'","'SECOND'","'SECURITY'","'SEQUENCE'","'SEQUENCES'","'SERIALIZABLE'","'SERVER'","'SESSION'","'SET'","'SHARE'","'SHOW'","'SIMPLE'","'SNAPSHOT'","'STABLE'","'STANDALONE'","'START'","'STATEMENT'","'STATISTICS'","'STDIN'","'STDOUT'","'STORAGE'","'STRICT'","'STRIP'","'SYSID'","'SYSTEM'","'TABLES'","'TABLESPACE'","'TEMP'","'TEMPLATE'","'TEMPORARY'","'TEXT'","'TRANSACTION'","'TRIGGER'","'TRUNCATE'","'TRUSTED'","'TYPE'","'TYPES'","'UNBOUNDED'","'UNCOMMITTED'","'UNENCRYPTED'","'UNKNOWN'","'UNLISTEN'","'UNLOGGED'","'UNTIL'","'UPDATE'","'VACUUM'","'VALID'","'VALIDATE'","'VALIDATOR'","'VARYING'","'VERSION'","'VIEW'","'VOLATILE'","'WHITESPACE'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'XML'","'YEAR'","'YES'","'ZONE'","'BETWEEN'","'BIGINT'","'BIT'","'BOOLEAN'","'CHAR'","'CHARACTER'","'COALESCE'","'DEC'","'DECIMAL'","'EXISTS'","'EXTRACT'","'FLOAT'","'GREATEST'","'INOUT'","'INT'","'INTEGER'","'INTERVAL'","'LEAST'","'NATIONAL'","'NCHAR'","'NONE'","'NULLIF'","'NUMERIC'","'OVERLAY'","'POSITION'","'PRECISION'","'REAL'","'ROW'","'SETOF'","'SMALLINT'","'SUBSTRING'","'TIME'","'TIMESTAMP'","'TREAT'","'TRIM'","'VALUES'","'VARCHAR'","'XMLATTRIBUTES'","'XMLCONCAT'","'XMLELEMENT'","'XMLEXISTS'","'XMLFOREST'","'XMLPARSE'","'XMLPI'","'XMLROOT'","'XMLSERIALIZE'","'CALL'","'CURRENT'","'ATTACH'","'DETACH'","'EXPRESSION'","'GENERATED'","'LOGGED'","'STORED'","'INCLUDE'","'ROUTINE'","'TRANSFORM'","'IMPORT'","'POLICY'","'METHOD'","'REFERENCING'","'NEW'","'OLD'","'VALUE'","'SUBSCRIPTION'","'PUBLICATION'","'OUT'","'END'","'ROUTINES'","'SCHEMAS'","'PROCEDURES'","'INPUT'","'SUPPORT'","'PARALLEL'","'SQL'","'DEPENDS'","'OVERRIDING'","'CONFLICT'","'SKIP'","'LOCKED'","'TIES'","'ROLLUP'","'CUBE'","'GROUPING'","'SETS'","'TABLESAMPLE'","'ORDINALITY'","'XMLTABLE'","'COLUMNS'","'XMLNAMESPACES'","'ROWTYPE'","'NORMALIZED'","'WITHIN'","'FILTER'","'GROUPS'","'OTHERS'","'NFC'","'NFD'","'NFKC'","'NFKD'","'UESCAPE'","'VIEWS'","'NORMALIZE'","'DUMP'","'PRINT_STRICT_PARAMS'","'VARIABLE_CONFLICT'","'ERROR'","'USE_VARIABLE'","'USE_COLUMN'","'ALIAS'","'CONSTANT'","'PERFORM'","'GET'","'DIAGNOSTICS'","'STACKED'","'ELSIF'","'WHILE'","'REVERSE'","'FOREACH'","'SLICE'","'EXIT'","'RETURN'","'QUERY'","'RAISE'","'SQLSTATE'","'DEBUG'","'LOG'","'INFO'","'NOTICE'","'WARNING'","'EXCEPTION'","'ASSERT'","'LOOP'","'OPEN'","'PEFERENCES'","'USAGE'","'CONNECT'","'PUBLIC'","'MERGE'","'MATCHED'","'BREADTH'","'DEPTH'","'UNSAFE'","'RESTRICTED'","'SAFE'","'FINALIZE'","'MODULUS'","'REMAINDER'","'LOGIN'","'NOLOGIN'","'REPLICATION'","'NOREPLICATION'","'BYPASSRLS'","'NOBYPASSRLS'","'PERMISSIVE'","'RESTRICTIVE'","'COMPRESSION'","'PLAIN'","'EXTENDED'","'MAIN'","'SKIP_LOCKED'","'BUFFER_USAGE_LIMIT'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'\\\\'",null,null,null,null,null,null,null,"'''"],t.symbolicNames=[null,"Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","KW_ALL","KW_ANALYSE","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_ASYMMETRIC","KW_BOTH","KW_CASE","KW_CAST","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONSTRAINT","KW_CREATE","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_ROLE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DEFAULT","KW_DEFERRABLE","KW_DESC","KW_DISTINCT","KW_DO","KW_ELSE","KW_EXCEPT","KW_FALSE","KW_FETCH","KW_FOR","KW_FOREIGN","KW_FROM","KW_GRANT","KW_GROUP","KW_HAVING","KW_IN","KW_INITIALLY","KW_INTERSECT","KW_INTO","KW_LATERAL","KW_LEADING","KW_LIMIT","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_NOT","KW_NULL","KW_OFFSET","KW_ON","KW_ONLY","KW_OR","KW_ORDER","KW_PLACING","KW_PRIMARY","KW_REFERENCES","KW_RETURNING","KW_SELECT","KW_SESSION_USER","KW_SOME","KW_SYMMETRIC","KW_TABLE","KW_THEN","KW_TO","KW_TRAILING","KW_TRUE","KW_UNION","KW_UNIQUE","KW_USER","KW_USING","KW_VARIADIC","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_AUTHORIZATION","KW_BINARY","KW_COLLATION","KW_CONCURRENTLY","KW_CROSS","KW_CURRENT_SCHEMA","KW_FREEZE","KW_FULL","KW_ILIKE","KW_INNER","KW_IS","KW_ISNULL","KW_JOIN","KW_LEFT","KW_LIKE","KW_NATURAL","KW_NOTNULL","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_RIGHT","KW_SIMILAR","KW_VERBOSE","KW_ABORT","KW_ABSOLUTE","KW_ACCESS","KW_ACTION","KW_ADD","KW_ADMIN","KW_AFTER","KW_AGGREGATE","KW_ALSO","KW_ALTER","KW_ALWAYS","KW_ASSERTION","KW_ASSIGNMENT","KW_AT","KW_ATTRIBUTE","KW_BACKWARD","KW_BEFORE","KW_BEGIN","KW_BY","KW_CACHE","KW_CALLED","KW_CASCADE","KW_CASCADED","KW_CATALOG","KW_CHAIN","KW_CHARACTERISTICS","KW_CHECKPOINT","KW_CLASS","KW_CLOSE","KW_CLUSTER","KW_COMMENT","KW_COMMENTS","KW_COMMIT","KW_COMMITTED","KW_CONFIGURATION","KW_CONNECTION","KW_CONSTRAINTS","KW_CONTENT","KW_CONTINUE","KW_CONVERSION","KW_COPY","KW_COST","KW_CSV","KW_CURSOR","KW_CYCLE","KW_DATA","KW_DATABASE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULTS","KW_DEFERRED","KW_DEFINER","KW_DELETE","KW_DELIMITER","KW_DELIMITERS","KW_DICTIONARY","KW_DISABLE","KW_DISCARD","KW_DOCUMENT","KW_DOMAIN","KW_DOUBLE","KW_DROP","KW_EACH","KW_ENABLE","KW_ENCODING","KW_ENCRYPTED","KW_ENUM","KW_ESCAPE","KW_EVENT","KW_EXCLUDE","KW_EXCLUDING","KW_EXCLUSIVE","KW_EXECUTE","KW_EXPLAIN","KW_EXTENSION","KW_EXTERNAL","KW_FAMILY","KW_FIRST","KW_FOLLOWING","KW_FORCE","KW_FORWARD","KW_FUNCTION","KW_FUNCTIONS","KW_GLOBAL","KW_GRANTED","KW_HANDLER","KW_HEADER","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_IMMEDIATE","KW_IMMUTABLE","KW_IMPLICIT","KW_INCLUDING","KW_INCREMENT","KW_INDEX","KW_INDEXES","KW_INHERIT","KW_NOINHERIT","KW_SUPERUSER","KW_NOSUPERUSER","KW_CREATEDB","KW_NOCREATEDB","KW_CREATEROLE","KW_NOCREATEROLE","KW_CREATEUSER","KW_NOCREATEUSER","KW_INHERITS","KW_INLINE","KW_INSENSITIVE","KW_INSERT","KW_INSTEAD","KW_INVOKER","KW_ISOLATION","KW_KEY","KW_LABEL","KW_LANGUAGE","KW_LARGE","KW_LAST","KW_LEAKPROOF","KW_LEVEL","KW_LISTEN","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_MAPPING","KW_MATCH","KW_MATERIALIZED","KW_MAXVALUE","KW_MINUTE","KW_MINVALUE","KW_MODE","KW_MONTH","KW_MOVE","KW_NAME","KW_NAMES","KW_NEXT","KW_NO","KW_NOTHING","KW_NOTIFY","KW_NOWAIT","KW_NULLS","KW_OBJECT","KW_OF","KW_OFF","KW_OIDS","KW_OPERATOR","KW_OPTION","KW_OPTIONS","KW_OWNED","KW_OWNER","KW_PARSER","KW_PARTIAL","KW_PARTITION","KW_PASSING","KW_PASSWORD","KW_PLANS","KW_PRECEDING","KW_PREPARE","KW_PREPARED","KW_PRESERVE","KW_PRIOR","KW_PRIVILEGES","KW_PROCEDURAL","KW_PROCEDURE","KW_PROGRAM","KW_QUOTE","KW_RANGE","KW_READ","KW_REASSIGN","KW_RECHECK","KW_RECURSIVE","KW_REF","KW_REFRESH","KW_REINDEX","KW_RELATIVE","KW_RELEASE","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_REPLICA","KW_RESET","KW_RESTART","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_ROLE","KW_ROLLBACK","KW_ROWS","KW_RULE","KW_SAVEPOINT","KW_SCHEMA","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SECURITY","KW_SEQUENCE","KW_SEQUENCES","KW_SERIALIZABLE","KW_SERVER","KW_SESSION","KW_SET","KW_SHARE","KW_SHOW","KW_SIMPLE","KW_SNAPSHOT","KW_STABLE","KW_STANDALONE","KW_START","KW_STATEMENT","KW_STATISTICS","KW_STDIN","KW_STDOUT","KW_STORAGE","KW_STRICT","KW_STRIP","KW_SYSID","KW_SYSTEM","KW_TABLES","KW_TABLESPACE","KW_TEMP","KW_TEMPLATE","KW_TEMPORARY","KW_TEXT","KW_TRANSACTION","KW_TRIGGER","KW_TRUNCATE","KW_TRUSTED","KW_TYPE","KW_TYPES","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNENCRYPTED","KW_UNKNOWN","KW_UNLISTEN","KW_UNLOGGED","KW_UNTIL","KW_UPDATE","KW_VACUUM","KW_VALID","KW_VALIDATE","KW_VALIDATOR","KW_VARYING","KW_VERSION","KW_VIEW","KW_VOLATILE","KW_WHITESPACE","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_XML","KW_YEAR","KW_YES","KW_ZONE","KW_BETWEEN","KW_BIGINT","KW_BIT","KW_BOOLEAN","KW_CHAR","KW_CHARACTER","KW_COALESCE","KW_DEC","KW_DECIMAL","KW_EXISTS","KW_EXTRACT","KW_FLOAT","KW_GREATEST","KW_INOUT","KW_INT","KW_INTEGER","KW_INTERVAL","KW_LEAST","KW_NATIONAL","KW_NCHAR","KW_NONE","KW_NULLIF","KW_NUMERIC","KW_OVERLAY","KW_POSITION","KW_PRECISION","KW_REAL","KW_ROW","KW_SETOF","KW_SMALLINT","KW_SUBSTRING","KW_TIME","KW_TIMESTAMP","KW_TREAT","KW_TRIM","KW_VALUES","KW_VARCHAR","KW_XMLATTRIBUTES","KW_XMLCONCAT","KW_XMLELEMENT","KW_XMLEXISTS","KW_XMLFOREST","KW_XMLPARSE","KW_XMLPI","KW_XMLROOT","KW_XMLSERIALIZE","KW_CALL","KW_CURRENT","KW_ATTACH","KW_DETACH","KW_EXPRESSION","KW_GENERATED","KW_LOGGED","KW_STORED","KW_INCLUDE","KW_ROUTINE","KW_TRANSFORM","KW_IMPORT","KW_POLICY","KW_METHOD","KW_REFERENCING","KW_NEW","KW_OLD","KW_VALUE","KW_SUBSCRIPTION","KW_PUBLICATION","KW_OUT","KW_END","KW_ROUTINES","KW_SCHEMAS","KW_PROCEDURES","KW_INPUT","KW_SUPPORT","KW_PARALLEL","KW_SQL","KW_DEPENDS","KW_OVERRIDING","KW_CONFLICT","KW_SKIP","KW_LOCKED","KW_TIES","KW_ROLLUP","KW_CUBE","KW_GROUPING","KW_SETS","KW_TABLESAMPLE","KW_ORDINALITY","KW_XMLTABLE","KW_COLUMNS","KW_XMLNAMESPACES","KW_ROWTYPE","KW_NORMALIZED","KW_WITHIN","KW_FILTER","KW_GROUPS","KW_OTHERS","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_UESCAPE","KW_VIEWS","KW_NORMALIZE","KW_DUMP","KW_PRINT_STRICT_PARAMS","KW_VARIABLE_CONFLICT","KW_ERROR","KW_USE_VARIABLE","KW_USE_COLUMN","KW_ALIAS","KW_CONSTANT","KW_PERFORM","KW_GET","KW_DIAGNOSTICS","KW_STACKED","KW_ELSIF","KW_WHILE","KW_REVERSE","KW_FOREACH","KW_SLICE","KW_EXIT","KW_RETURN","KW_QUERY","KW_RAISE","KW_SQLSTATE","KW_DEBUG","KW_LOG","KW_INFO","KW_NOTICE","KW_WARNING","KW_EXCEPTION","KW_ASSERT","KW_LOOP","KW_OPEN","KW_PEFERENCES","KW_USAGE","KW_CONNECT","KW_PUBLIC","KW_MERGE","KW_MATCHED","KW_BREADTH","KW_DEPTH","KW_UNSAFE","KW_RESTRICTED","KW_SAFE","KW_FINALIZE","KW_MODULUS","KW_REMAINDER","KW_LOGIN","KW_NOLOGIN","KW_REPLICATION","KW_NOREPLICATION","KW_BYPASSRLS","KW_NOBYPASSRLS","KW_PERMISSIVE","KW_RESTRICTIVE","KW_COMPRESSION","KW_PLAIN","KW_EXTENDED","KW_MAIN","KW_SKIP_LOCKED","KW_BUFFER_USAGE_LIMIT","Identifier","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","DollarText","EndDollarStringConstant","AfterEscapeStringConstantWithNewlineMode_Continued"],t.ruleNames=["program","plsqlroot","singleStmt","stmt","plsqlconsolecommand","callstmt","createrolestmt","opt_with","optrolelist","alteroptrolelist","alteroptroleelem","createoptroleelem","createuserstmt","alterrolestmt","opt_in_database","alterrolesetstmt","alterroutinestmt","alter_routine_cluase","routine_action_list","routine_action","creategroupstmt","altergroupstmt","add_drop","createschemastmt","schema_name_create","optschemaeltlist","schema_stmt","variablesetstmt","set_rest","generic_set","set_rest_more","var_name","var_list","var_value","iso_level","opt_boolean_or_string_column","opt_boolean_or_string","zone_value","opt_encoding","nonreservedword_or_sconst_column","nonreservedword_or_sconst","variableresetstmt","reset_rest","generic_reset","setresetclause","functionsetresetclause","variableshowstmt","constraintssetstmt","constraints_set_list","constraints_set_mode","checkpointstmt","discardstmt","altertablestmt","alter_table_cmds","partition_bound_spec","partition_bound_cluase","partition_bound_choose","partition_with_cluase","partition_cmd","index_partition_cmd","alter_table_cmd","alter_column_default","opt_drop_behavior","opt_collate_clause","alter_using","replica_identity","reloptions","opt_reloptions","reloption_list","reloption_elem","alter_identity_column_option_list","alter_identity_column_option","partitionboundspec","hash_partbound_elem","hash_partbound","altercompositetypestmt","alter_type_cmds","alter_type_cmd","closeportalstmt","copystmt","copy_from","opt_program","copy_file_name","copy_options","copy_opt_list","copy_opt_item","opt_binary","copy_delimiter","opt_using","copy_generic_opt_list","copy_generic_opt_elem","copy_generic_opt_arg","copy_generic_opt_arg_list","copy_generic_opt_arg_list_item","createstmt","opttemp","table_column_list","opttableelementlist","opttypedtableelementlist","tableelementlist","typedtableelementlist","tableelement","typedtableelement","column_def","compressionCluase","storageCluase","columnOptions","colquallist","colconstraint","colconstraintelem","nulls_distinct","generated_when","deferrable_trigger","initially_trigger","tablelikeclause","tablelikeoptionlist","tablelikeoption","tableconstraint","constraintelem","opt_no_inherit","opt_column_list","opt_column_list_create","column_list","column_list_create","opt_c_include","key_match","exclusionconstraintlist","exclusionconstraintelem","exclusionwhereclause","key_actions","key_update","key_delete","key_action","optinherit","optpartitionspec","partitionspec","part_params","part_elem","table_access_method_clause","optwith","oncommitoption","opttablespace","index_paramenters_create","optconstablespace","existingindex","createstatsstmt","alterstatsstmt","createasstmt","create_as_target","opt_with_data","creatematviewstmt","create_mv_target","optnolog","refreshmatviewstmt","createseqstmt","alterseqstmt","optseqoptlist","optparenthesizedseqoptlist","seqoptlist","seqoptelem","opt_by","numericonly","numericonly_list","createplangstmt","opt_trusted","handler_name","opt_inline_handler","validator_clause","opt_validator","opt_procedural","createtablespacestmt","opttablespaceowner","createextensionstmt","create_extension_opt_list","create_extension_opt_item","alterextensionstmt","alter_extension_opt_list","alter_extension_opt_item","alterextensioncontentsstmt","createfdwstmt","fdw_option","fdw_options","opt_fdw_options","alterfdwstmt","create_generic_options","generic_option_list","alter_generic_options","alter_generic_option_list","alter_generic_option_elem","generic_option_elem","generic_option_name","generic_option_arg","createforeignserverstmt","opt_type","foreign_server_version","opt_foreign_server_version","alterforeignserverstmt","createforeigntablestmt","importforeignschemastmt","import_qualification_type","import_qualification","createusermappingstmt","auth_ident","alterusermappingstmt","createpolicystmt","alterpolicystmt","alterprocedurestmt","procedure_cluase","procedure_action","rowsecurityoptionalexpr","rowsecurityoptionalwithcheck","rowsecuritydefaulttorole","rowsecurityoptionaltorole","rowsecuritydefaultpermissive","rowsecuritydefaultforcmd","row_security_cmd","createamstmt","am_type","createtrigstmt","triggeractiontime","foreachrow","roworstatment","triggerevents","triggeroneevent","triggerreferencing","triggertransitions","triggertransition","transitionoldornew","transitionrowortable","transitionrelname","triggerforspec","triggerforopteach","triggerfortype","triggerwhen","function_or_procedure","triggerfuncargs","triggerfuncarg","optconstrfromtable","constraintattributespec","constraintattributeElem","createeventtrigstmt","event_trigger_when_list","event_trigger_when_item","event_trigger_value_list","altereventtrigstmt","enable_trigger","createassertionstmt","definestmt","definition","def_list","def_elem","def_arg","old_aggr_definition","old_aggr_list","old_aggr_elem","opt_enum_val_list","enum_val_list","alterenumstmt","opt_if_not_exists","createopclassstmt","opclass_item_list","opclass_item","opt_default","opt_opfamily","opclass_purpose","opt_recheck","createopfamilystmt","alteropfamilystmt","opclass_drop_list","opclass_drop","reassignownedstmt","dropstmt","view_nameList","object_type_any_name","object_type_name","object_type_name_on_any_name","any_name_list","relation_column_name","relation_name","any_name","attrs","type_name_list","truncatestmt","truncate_table","commentstmt","comment_text","seclabelstmt","opt_provider","security_label","fetchstmt","fetch_args","from_in","opt_from_in","grantstmt","revokestmt","privileges","beforeprivilegeselectlist","beforeprivilegeselect","privilege_list","privilege","privilege_target","grantee_list","grantee","opt_grant_grant_option","grantrolestmt","revokerolestmt","opt_grant_admin_option","opt_granted_by","alterdefaultprivilegesstmt","defacloptionlist","defacloption","defaclaction","defacl_privilege_target","indexstmt","opt_unique","opt_concurrently","opt_index_name","access_method_clause","index_params","index_elem_options","index_elem","opt_include","index_including_params","opt_collate","opt_class","opt_asc_desc","opt_nulls_order","createfunctionstmt","attrilist","opt_or_replace","func_args","func_args_list","routine_with_argtypes_list","routine_with_argtypes","procedure_with_argtypes_list","procedure_with_argtypes","function_with_argtypes_list","function_with_argtypes","func_args_with_defaults","func_args_with_defaults_list","func_arg","arg_class","param_name","func_return","func_type","func_arg_with_default","aggr_arg","aggr_args","aggr_args_list","aggregate_with_argtypes","aggregate_with_argtypes_list","createfunc_opt_list","common_func_opt_item","createfunc_opt_item","transform_type_list","opt_definition","table_func_column","table_func_column_list","alterfunctionstmt","alterFunctionTypeClause","alterfunc_opt_list","opt_restrict","removefuncstmt","removeaggrstmt","removeoperstmt","oper_argtypes","any_operator","operator_with_argtypes_list","operator_with_argtypes","dostmt","dostmt_opt_list","dostmt_opt_item","createcaststmt","cast_context","opt_if_exists","createtransformstmt","transform_element_list","reindexstmt","reindex_target_type","reindex_target_multitable","reindex_option_list","reindex_option_elem","altertblspcstmt","renamestmt","opt_set_data","alterobjectdependsstmt","opt_no","alterobjectschemastmt","alteroperatorstmt","operator_def_list","operator_def_elem","operator_def_arg","altertypestmt","alterownerstmt","createpublicationstmt","opt_publication_for_tables","publication_for_tables","alterpublicationstmt","createsubscriptionstmt","publication_name_list","publication_name_item","altersubscriptionstmt","rulestmt","ruleactionlist","ruleactionmulti","ruleactionstmt","ruleactionstmtOrEmpty","event","opt_instead","notifystmt","notify_payload","listenstmt","unlistenstmt","transactionstmt","opt_transaction","transaction_mode_item","transaction_mode_list","transaction_mode_list_or_empty","opt_transaction_chain","viewstmt","opt_check_option","loadstmt","createdbstmt","createdb_opt_list","createdb_opt_items","createdb_opt_item","createdb_opt_name","opt_equal","alterdatabasestmt","alterdatabasesetstmt","drop_option_list","drop_option","altercollationstmt","altersystemstmt","createdomainstmt","alterdomainstmt","opt_as","altertsdictionarystmt","altertsconfigurationstmt","any_with","createconversionstmt","clusterstmt","opt_verbose_list","cluster_index_specification","vacuumstmt","analyzestmt","vac_analyze_option_list","analyze_keyword","vac_analyze_option_elem","vac_analyze_option_name","vac_analyze_option_arg","opt_analyze","analyze_options_list","analyze_option_elem","opt_verbose","opt_skiplock","opt_buffer_usage_limit","opt_full","opt_freeze","opt_name_list","vacuum_relation","vacuum_relation_list","opt_vacuum_relation_list","explainstmt","explainablestmt","explain_option_list","explain_option_elem","explain_option_name","explain_option_arg","preparestmt","prep_type_clause","preparablestmt","executestmt","execute_param_clause","deallocatestmt","insertstmt","insert_target","insert_rest","override_kind","insert_column_list","insert_column_item","opt_on_conflict","opt_conf_expr","returning_clause","deletestmt","using_clause","lockstmt","opt_lock","lock_type","opt_nowait","opt_nowait_or_skip","updatestmt","set_clause_list","set_clause","set_target","set_target_list","declarecursorstmt","cursor_name","cursor_options","opt_hold","selectstmt","select_with_parens","select_no_parens","select_clause","simple_select","set_operator","set_operator_with_all_or_distinct","with_clause","cte_list","common_table_expr","search_cluase","cycle_cluase","opt_materialized","opt_with_clause","into_clause","opt_strict","opttempTableName","opt_table","all_or_distinct","distinct_clause","opt_all_clause","opt_sort_clause","sort_clause","sortby_list","sortby","select_limit","opt_select_limit","limit_clause","fetch_clause","offset_clause","select_limit_value","select_offset_value","select_fetch_first_value","i_or_f_const","row_or_rows","first_or_next","group_clause","group_by_list","group_by_item","empty_grouping_set","rollup_clause","cube_clause","grouping_sets_clause","having_clause","for_locking_clause","opt_for_locking_clause","for_locking_items","for_locking_item","for_locking_strength","locked_rels_list","values_clause","from_clause","from_list","table_ref","alias_clause","opt_alias_clause","func_alias_clause","join_type","join_qual","relation_expr","view_relation_expr","publication_relation_expr","relation_expr_list","publication_relation_expr_list","relation_expr_opt_alias","tablesample_clause","opt_repeatable_clause","func_table","rowsfrom_item","rowsfrom_list","opt_col_def_list","opt_ordinality","where_clause","where_or_current_clause","opttablefuncelementlist","tablefuncelementlist","tablefuncelement","xmltable","xmltable_column_list","xmltable_column_el","xmltable_column_option_list","xmltable_column_option_el","xml_namespace_list","xml_namespace_el","typename","opt_array_bounds","simpletypename","consttypename","generictype","opt_type_modifiers","numeric","opt_float","bit","constbit","bitwithlength","bitwithoutlength","character","constcharacter","character_c","opt_varying","constdatetime","constinterval","opt_timezone","opt_interval","interval_second","opt_escape","a_expr","a_expr_qual","a_expr_lessless","a_expr_or","a_expr_and","a_expr_in","a_expr_unary_not","a_expr_isnull","a_expr_is_not","a_expr_compare","a_expr_like","a_expr_qual_op","a_expr_unary_qualop","a_expr_add","a_expr_mul","a_expr_caret","a_expr_unary_sign","a_expr_at_time_zone","a_expr_collate","a_expr_typecast","b_expr","c_expr","plsqlvariablename","func_application","func_expr","func_expr_windowless","func_expr_common_subexpr","xml_root_version","opt_xml_root_standalone","xml_attributes","xml_attribute_list","xml_attribute_el","document_or_content","xml_whitespace_option","xmlexists_argument","xml_passing_mech","within_group_clause","filter_clause","window_clause","window_definition_list","window_definition","over_clause","window_specification","opt_existing_window_name","opt_partition_clause","opt_frame_clause","frame_extent","frame_bound","opt_window_exclusion_clause","row","explicit_row","implicit_row","sub_type","all_op","mathop","qual_op","qual_all_op","subquery_Op","expr_list","column_expr_list_noparen","column_expr_list","column_expr","column_expr_noparen","func_arg_list","func_arg_expr","type_list","array_expr","array_expr_list","extract_list","extract_arg","unicode_normal_form","overlay_list","position_list","substr_list","trim_list","in_expr","case_expr","when_clause_list","when_clause","case_default","case_arg","columnref","indirection_el","opt_slice_bound","indirection","opt_indirection","opt_target_list","target_list","target_el","qualified_name_list","table_name_list","schema_name_list","database_nameList","procedure_name_list","tablespace_name_create","tablespace_name","table_name_create","table_name","view_name_create","view_name","qualified_name","tablespace_name_list","name_list","database_name_create","database_name","schema_name","routine_name_create","routine_name","procedure_name","procedure_name_create","column_name","column_name_create","name","attr_name","file_name","function_name_create","function_name","usual_name","aexprconst","xconst","bconst","fconst","iconst","sconst","anysconst","opt_uescape","signediconst","groupname","roleid","rolespec","role_list","colid","index_method_choices","exclude_element","index_paramenters","type_function_name","type_usual_name","nonreservedword_column","nonreservedword","collabel","identifier","plsqlidentifier","unreserved_keyword","col_name_keyword","type_func_name_keyword","reserved_keyword","pl_function","comp_options","comp_option","sharp","option_value","opt_semi","pl_block","decl_sect","decl_start","decl_stmts","label_decl","decl_stmt","decl_statement","opt_scrollable","decl_cursor_query","decl_cursor_args","decl_cursor_arglist","decl_cursor_arg","decl_is_for","decl_aliasitem","decl_varname","decl_const","decl_datatype","decl_collate","decl_notnull","decl_defval","decl_defkey","assign_operator","proc_sect","proc_stmt","stmt_perform","stmt_call","opt_expr_list","stmt_assign","stmt_getdiag","getdiag_area_opt","getdiag_list","getdiag_list_item","getdiag_item","getdiag_target","assign_var","stmt_if","stmt_elsifs","stmt_else","stmt_case","opt_expr_until_when","case_when_list","case_when","opt_case_else","stmt_loop","stmt_while","stmt_for","for_control","opt_for_using_expression","opt_cursor_parameters","opt_reverse","opt_by_expression","for_variable","stmt_foreach_a","foreach_slice","stmt_exit","exit_type","stmt_return","opt_return_result","stmt_raise","opt_stmt_raise_level","opt_raise_list","opt_raise_using","opt_raise_using_elem","opt_raise_using_elem_list","stmt_assert","opt_stmt_assert_message","loop_body","stmt_execsql","stmt_dynexecute","opt_execute_using","opt_execute_using_list","opt_execute_into","stmt_open","opt_open_bound_list_item","opt_open_bound_list","opt_open_using","opt_scroll_option","opt_scroll_option_no","stmt_fetch","into_target","opt_cursor_from","opt_fetch_direction","stmt_move","mergestmt","data_source","join_condition","merge_when_clause","merge_insert","merge_update","default_values_or_values","exprofdefaultlist","exprofdefault","stmt_close","stmt_null","stmt_commit","stmt_rollback","plsql_opt_transaction_chain","stmt_set","cursor_variable","exception_sect","proc_exceptions","proc_exception","proc_conditions","proc_condition","opt_block_label","opt_loop_label","opt_label","opt_exitcond","any_identifier","plsql_unreserved_keyword","sql_expression","expr_until_then","expr_until_semi","expr_until_rightbracket","expr_until_loop","make_execsql_stmt","opt_returning_clause_into"],t._serializedATN=[4,1,590,11834,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,2,606,7,606,2,607,7,607,2,608,7,608,2,609,7,609,2,610,7,610,2,611,7,611,2,612,7,612,2,613,7,613,2,614,7,614,2,615,7,615,2,616,7,616,2,617,7,617,2,618,7,618,2,619,7,619,2,620,7,620,2,621,7,621,2,622,7,622,2,623,7,623,2,624,7,624,2,625,7,625,2,626,7,626,2,627,7,627,2,628,7,628,2,629,7,629,2,630,7,630,2,631,7,631,2,632,7,632,2,633,7,633,2,634,7,634,2,635,7,635,2,636,7,636,2,637,7,637,2,638,7,638,2,639,7,639,2,640,7,640,2,641,7,641,2,642,7,642,2,643,7,643,2,644,7,644,2,645,7,645,2,646,7,646,2,647,7,647,2,648,7,648,2,649,7,649,2,650,7,650,2,651,7,651,2,652,7,652,2,653,7,653,2,654,7,654,2,655,7,655,2,656,7,656,2,657,7,657,2,658,7,658,2,659,7,659,2,660,7,660,2,661,7,661,2,662,7,662,2,663,7,663,2,664,7,664,2,665,7,665,2,666,7,666,2,667,7,667,2,668,7,668,2,669,7,669,2,670,7,670,2,671,7,671,2,672,7,672,2,673,7,673,2,674,7,674,2,675,7,675,2,676,7,676,2,677,7,677,2,678,7,678,2,679,7,679,2,680,7,680,2,681,7,681,2,682,7,682,2,683,7,683,2,684,7,684,2,685,7,685,2,686,7,686,2,687,7,687,2,688,7,688,2,689,7,689,2,690,7,690,2,691,7,691,2,692,7,692,2,693,7,693,2,694,7,694,2,695,7,695,2,696,7,696,2,697,7,697,2,698,7,698,2,699,7,699,2,700,7,700,2,701,7,701,2,702,7,702,2,703,7,703,2,704,7,704,2,705,7,705,2,706,7,706,2,707,7,707,2,708,7,708,2,709,7,709,2,710,7,710,2,711,7,711,2,712,7,712,2,713,7,713,2,714,7,714,2,715,7,715,2,716,7,716,2,717,7,717,2,718,7,718,2,719,7,719,2,720,7,720,2,721,7,721,2,722,7,722,2,723,7,723,2,724,7,724,2,725,7,725,2,726,7,726,2,727,7,727,2,728,7,728,2,729,7,729,2,730,7,730,2,731,7,731,2,732,7,732,2,733,7,733,2,734,7,734,2,735,7,735,2,736,7,736,2,737,7,737,2,738,7,738,2,739,7,739,2,740,7,740,2,741,7,741,2,742,7,742,2,743,7,743,2,744,7,744,2,745,7,745,2,746,7,746,2,747,7,747,2,748,7,748,2,749,7,749,2,750,7,750,2,751,7,751,2,752,7,752,2,753,7,753,2,754,7,754,2,755,7,755,2,756,7,756,2,757,7,757,2,758,7,758,2,759,7,759,2,760,7,760,2,761,7,761,2,762,7,762,2,763,7,763,2,764,7,764,2,765,7,765,2,766,7,766,2,767,7,767,2,768,7,768,2,769,7,769,2,770,7,770,2,771,7,771,2,772,7,772,2,773,7,773,2,774,7,774,2,775,7,775,2,776,7,776,2,777,7,777,2,778,7,778,2,779,7,779,2,780,7,780,2,781,7,781,2,782,7,782,2,783,7,783,2,784,7,784,2,785,7,785,2,786,7,786,2,787,7,787,2,788,7,788,2,789,7,789,2,790,7,790,2,791,7,791,2,792,7,792,2,793,7,793,2,794,7,794,2,795,7,795,2,796,7,796,2,797,7,797,2,798,7,798,2,799,7,799,2,800,7,800,2,801,7,801,2,802,7,802,2,803,7,803,2,804,7,804,2,805,7,805,2,806,7,806,2,807,7,807,2,808,7,808,2,809,7,809,2,810,7,810,2,811,7,811,2,812,7,812,2,813,7,813,2,814,7,814,2,815,7,815,2,816,7,816,2,817,7,817,2,818,7,818,2,819,7,819,2,820,7,820,2,821,7,821,2,822,7,822,2,823,7,823,2,824,7,824,2,825,7,825,2,826,7,826,2,827,7,827,2,828,7,828,2,829,7,829,2,830,7,830,2,831,7,831,2,832,7,832,2,833,7,833,2,834,7,834,2,835,7,835,2,836,7,836,2,837,7,837,2,838,7,838,2,839,7,839,2,840,7,840,2,841,7,841,2,842,7,842,2,843,7,843,2,844,7,844,2,845,7,845,2,846,7,846,2,847,7,847,2,848,7,848,2,849,7,849,2,850,7,850,2,851,7,851,2,852,7,852,2,853,7,853,2,854,7,854,2,855,7,855,2,856,7,856,2,857,7,857,2,858,7,858,2,859,7,859,2,860,7,860,2,861,7,861,2,862,7,862,2,863,7,863,2,864,7,864,2,865,7,865,2,866,7,866,2,867,7,867,2,868,7,868,2,869,7,869,2,870,7,870,2,871,7,871,2,872,7,872,2,873,7,873,2,874,7,874,1,0,5,0,1752,8,0,10,0,12,0,1755,9,0,1,0,1,0,1,1,1,1,1,2,1,2,3,2,1763,8,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,1882,8,3,1,4,1,4,3,4,1886,8,4,1,5,1,5,1,5,1,6,1,6,1,6,1,6,3,6,1895,8,6,1,6,1,6,1,7,1,7,1,8,5,8,1902,8,8,10,8,12,8,1905,9,8,1,9,5,9,1908,8,9,10,9,12,9,1911,9,9,1,10,1,10,1,10,3,10,1916,8,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,1948,8,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11,1960,8,11,1,12,1,12,1,12,1,12,3,12,1966,8,12,1,12,1,12,1,13,1,13,1,13,1,13,3,13,1974,8,13,1,13,1,13,1,14,1,14,1,14,1,14,3,14,1982,8,14,1,15,1,15,1,15,1,15,3,15,1988,8,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,3,16,1997,8,16,1,16,1,16,1,17,1,17,3,17,2003,8,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,3,17,2015,8,17,1,17,1,17,1,17,1,17,3,17,2021,8,17,1,18,1,18,5,18,2025,8,18,10,18,12,18,2028,9,18,1,19,1,19,1,19,1,19,3,19,2034,8,19,1,19,1,19,3,19,2038,8,19,1,19,1,19,1,19,3,19,2043,8,19,1,19,1,19,3,19,2047,8,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,2060,8,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,2071,8,19,1,20,1,20,1,20,1,20,3,20,2077,8,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,3,23,2093,8,23,1,23,3,23,2096,8,23,1,23,1,23,1,23,3,23,2101,8,23,1,23,1,23,1,24,1,24,3,24,2107,8,24,1,25,5,25,2110,8,25,10,25,12,25,2113,9,25,1,26,1,26,1,26,1,26,1,26,1,26,3,26,2121,8,26,1,27,1,27,3,27,2125,8,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,3,28,2137,8,28,1,29,1,29,3,29,2141,8,29,1,29,3,29,2144,8,29,1,29,1,29,3,29,2148,8,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,3,30,2159,8,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,3,30,2177,8,30,1,31,1,31,1,31,5,31,2182,8,31,10,31,12,31,2185,9,31,1,32,1,32,1,32,5,32,2190,8,32,10,32,12,32,2193,9,32,1,33,1,33,3,33,2197,8,33,1,34,1,34,1,34,1,34,1,34,3,34,2204,8,34,1,35,1,35,1,35,1,35,3,35,2210,8,35,1,36,1,36,1,36,1,36,3,36,2216,8,36,1,37,1,37,1,37,1,37,1,37,3,37,2223,8,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,2234,8,37,1,38,1,38,3,38,2238,8,38,1,39,1,39,3,39,2242,8,39,1,40,1,40,3,40,2246,8,40,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,2259,8,42,1,43,1,43,3,43,2263,8,43,1,44,1,44,1,44,3,44,2268,8,44,1,45,1,45,1,45,3,45,2273,8,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,2285,8,46,1,47,1,47,1,47,1,47,1,47,1,48,1,48,3,48,2294,8,48,1,49,1,49,1,50,1,50,1,51,1,51,1,51,1,52,1,52,1,52,3,52,2306,8,52,1,52,1,52,1,52,3,52,2311,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2322,8,52,1,52,1,52,1,52,1,52,3,52,2328,8,52,1,52,1,52,1,52,3,52,2333,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2343,8,52,1,52,1,52,1,52,3,52,2348,8,52,1,52,1,52,1,52,1,52,1,52,3,52,2355,8,52,1,52,1,52,1,52,3,52,2360,8,52,1,52,1,52,1,52,3,52,2365,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2376,8,52,1,52,1,52,1,52,1,52,3,52,2382,8,52,1,52,1,52,1,52,3,52,2387,8,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2395,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2404,8,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2419,8,52,1,52,1,52,1,52,1,52,3,52,2425,8,52,1,52,1,52,1,52,1,52,3,52,2431,8,52,1,52,1,52,1,52,3,52,2436,8,52,1,53,1,53,1,53,5,53,2441,8,53,10,53,12,53,2444,9,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,3,54,2455,8,54,1,55,1,55,1,55,1,55,5,55,2461,8,55,10,55,12,55,2464,9,55,1,55,1,55,1,56,1,56,1,56,3,56,2471,8,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,3,58,2489,8,58,1,59,1,59,1,59,1,59,1,60,1,60,1,60,3,60,2498,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2512,8,60,1,60,1,60,3,60,2516,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2531,8,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2539,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2549,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2589,8,60,1,60,3,60,2592,8,60,1,60,1,60,3,60,2596,8,60,1,60,1,60,3,60,2600,8,60,1,60,3,60,2603,8,60,1,60,1,60,1,60,3,60,2608,8,60,1,60,1,60,1,60,1,60,1,60,3,60,2615,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2624,8,60,1,60,1,60,1,60,1,60,3,60,2630,8,60,1,60,1,60,3,60,2634,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2643,8,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2651,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2660,8,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2669,8,60,1,60,1,60,3,60,2673,8,60,1,60,1,60,1,60,1,60,1,60,3,60,2680,8,60,1,60,1,60,1,60,1,60,3,60,2686,8,60,1,60,1,60,3,60,2690,8,60,1,60,1,60,3,60,2694,8,60,1,60,1,60,1,60,3,60,2699,8,60,1,60,3,60,2702,8,60,1,60,1,60,3,60,2706,8,60,1,60,1,60,1,60,1,60,3,60,2712,8,60,1,61,1,61,1,61,1,61,1,61,3,61,2719,8,61,1,62,1,62,1,63,1,63,1,63,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,3,65,2735,8,65,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,68,1,68,1,68,5,68,2747,8,68,10,68,12,68,2750,9,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,3,69,2759,8,69,3,69,2761,8,69,1,70,4,70,2764,8,70,11,70,12,70,2765,1,71,1,71,3,71,2770,8,71,1,71,3,71,2773,8,71,1,71,1,71,1,71,1,71,3,71,2779,8,71,3,71,2781,8,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2809,8,72,1,73,1,73,1,73,1,74,1,74,1,74,5,74,2817,8,74,10,74,12,74,2820,9,74,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,5,76,2830,8,76,10,76,12,76,2833,9,76,1,77,1,77,1,77,1,77,3,77,2839,8,77,1,77,1,77,1,77,3,77,2844,8,77,1,77,1,77,3,77,2848,8,77,1,77,1,77,1,77,1,77,3,77,2854,8,77,1,77,1,77,1,77,3,77,2859,8,77,1,77,3,77,2862,8,77,3,77,2864,8,77,1,78,1,78,1,78,3,78,2869,8,78,1,79,1,79,3,79,2873,8,79,1,79,1,79,3,79,2877,8,79,1,79,1,79,3,79,2881,8,79,1,79,1,79,3,79,2885,8,79,1,79,3,79,2888,8,79,1,79,1,79,3,79,2892,8,79,1,79,1,79,1,79,1,79,1,79,1,79,3,79,2900,8,79,1,79,1,79,3,79,2904,8,79,1,79,1,79,3,79,2908,8,79,1,80,1,80,1,81,1,81,1,82,1,82,1,82,3,82,2917,8,82,1,83,1,83,1,83,1,83,1,83,3,83,2924,8,83,1,84,5,84,2927,8,84,10,84,12,84,2930,9,84,1,85,1,85,1,85,1,85,3,85,2936,8,85,1,85,1,85,1,85,3,85,2941,8,85,1,85,1,85,1,85,1,85,1,85,3,85,2948,8,85,1,85,1,85,1,85,3,85,2953,8,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,3,85,2971,8,85,1,86,1,86,1,87,3,87,2976,8,87,1,87,1,87,1,87,1,88,1,88,1,89,1,89,1,89,5,89,2986,8,89,10,89,12,89,2989,9,89,1,90,1,90,3,90,2993,8,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,3002,8,91,1,92,1,92,1,92,5,92,3007,8,92,10,92,12,92,3010,9,92,1,93,1,93,1,94,1,94,3,94,3016,8,94,1,94,1,94,3,94,3020,8,94,1,94,1,94,1,94,3,94,3025,8,94,1,94,1,94,3,94,3029,8,94,1,94,3,94,3032,8,94,1,94,3,94,3035,8,94,1,94,3,94,3038,8,94,1,94,3,94,3041,8,94,1,94,3,94,3044,8,94,1,94,1,94,1,94,3,94,3049,8,94,1,94,3,94,3052,8,94,1,94,3,94,3055,8,94,1,94,3,94,3058,8,94,1,94,3,94,3061,8,94,1,94,3,94,3064,8,94,1,94,1,94,1,94,1,94,3,94,3070,8,94,1,94,1,94,3,94,3074,8,94,1,94,3,94,3077,8,94,1,94,3,94,3080,8,94,1,94,3,94,3083,8,94,1,94,3,94,3086,8,94,3,94,3088,8,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,3097,8,95,1,96,1,96,1,97,1,97,1,98,1,98,1,98,1,98,1,99,1,99,1,99,5,99,3110,8,99,10,99,12,99,3113,9,99,1,100,1,100,1,100,5,100,3118,8,100,10,100,12,100,3121,9,100,1,101,1,101,1,101,3,101,3126,8,101,1,102,1,102,3,102,3130,8,102,1,103,1,103,1,103,3,103,3135,8,103,1,103,3,103,3138,8,103,1,103,3,103,3141,8,103,1,103,1,103,3,103,3145,8,103,1,103,1,103,3,103,3149,8,103,1,103,1,103,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,3163,8,105,1,106,1,106,1,106,3,106,3168,8,106,1,106,1,106,1,107,5,107,3173,8,107,10,107,12,107,3176,9,107,1,108,1,108,3,108,3180,8,108,1,108,1,108,3,108,3184,8,108,1,108,3,108,3187,8,108,1,108,1,108,3,108,3191,8,108,1,108,3,108,3194,8,108,3,108,3196,8,108,1,109,1,109,1,109,1,109,1,109,3,109,3203,8,109,1,109,3,109,3206,8,109,1,109,1,109,3,109,3210,8,109,1,109,1,109,1,109,1,109,3,109,3216,8,109,1,109,3,109,3219,8,109,1,109,1,109,1,109,1,109,1,109,3,109,3226,8,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,3,109,3235,8,109,1,109,1,109,1,109,1,109,1,109,3,109,3242,8,109,1,109,1,109,1,109,3,109,3247,8,109,1,109,3,109,3250,8,109,1,109,3,109,3253,8,109,1,109,3,109,3256,8,109,1,110,1,110,3,110,3260,8,110,1,110,1,110,1,111,1,111,1,111,3,111,3267,8,111,1,112,1,112,1,112,3,112,3272,8,112,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,115,1,115,5,115,3283,8,115,10,115,12,115,3286,9,115,1,116,1,116,1,117,1,117,1,117,1,117,1,117,3,117,3295,8,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3308,8,118,1,118,3,118,3311,8,118,1,118,3,118,3314,8,118,1,118,1,118,1,118,1,118,1,118,3,118,3321,8,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3329,8,118,1,118,3,118,3332,8,118,1,118,3,118,3335,8,118,1,118,1,118,1,118,1,118,1,118,3,118,3342,8,118,1,118,1,118,3,118,3346,8,118,1,118,1,118,1,118,1,118,3,118,3352,8,118,1,118,3,118,3355,8,118,1,118,3,118,3358,8,118,1,118,3,118,3361,8,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3373,8,118,1,118,3,118,3376,8,118,1,118,3,118,3379,8,118,1,118,1,118,3,118,3383,8,118,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,122,1,122,1,122,5,122,3399,8,122,10,122,12,122,3402,9,122,1,123,1,123,1,123,5,123,3407,8,123,10,123,12,123,3410,9,123,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,126,1,126,1,126,5,126,3423,8,126,10,126,12,126,3426,9,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,3,127,3436,8,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,3,129,3451,8,129,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,3,132,3468,8,132,3,132,3470,8,132,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,5,136,3489,8,136,10,136,12,136,3492,9,136,1,137,1,137,3,137,3496,8,137,1,137,3,137,3499,8,137,1,137,1,137,3,137,3503,8,137,1,137,3,137,3506,8,137,1,137,1,137,1,137,1,137,3,137,3512,8,137,1,137,3,137,3515,8,137,3,137,3517,8,137,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,3,139,3528,8,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,3,140,3537,8,140,1,141,1,141,1,141,1,142,3,142,3543,8,142,1,142,3,142,3546,8,142,1,142,3,142,3549,8,142,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,145,1,145,1,145,3,145,3563,8,145,1,145,3,145,3566,8,145,1,145,3,145,3569,8,145,1,145,1,145,1,145,3,145,3574,8,145,1,145,1,145,1,145,1,146,1,146,1,146,3,146,3582,8,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,3,147,3591,8,147,1,147,1,147,3,147,3595,8,147,1,147,1,147,1,147,1,147,3,147,3601,8,147,1,148,1,148,3,148,3605,8,148,1,148,3,148,3608,8,148,1,148,3,148,3611,8,148,1,148,3,148,3614,8,148,1,148,3,148,3617,8,148,1,149,1,149,1,149,1,149,3,149,3623,8,149,1,150,1,150,3,150,3627,8,150,1,150,1,150,1,150,3,150,3632,8,150,1,150,1,150,1,150,1,150,3,150,3638,8,150,1,151,1,151,3,151,3642,8,151,1,151,3,151,3645,8,151,1,151,3,151,3648,8,151,1,151,3,151,3651,8,151,1,152,1,152,1,153,1,153,1,153,1,153,3,153,3659,8,153,1,153,1,153,3,153,3663,8,153,1,154,1,154,3,154,3667,8,154,1,154,1,154,3,154,3671,8,154,1,154,1,154,3,154,3675,8,154,1,155,1,155,1,155,3,155,3680,8,155,1,155,1,155,1,155,1,156,1,156,1,157,1,157,1,157,1,157,1,158,4,158,3692,8,158,11,158,12,158,3693,1,159,1,159,1,159,1,159,1,159,1,159,1,159,3,159,3703,8,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,3,159,3720,8,159,1,159,1,159,1,159,3,159,3725,8,159,1,159,3,159,3728,8,159,3,159,3730,8,159,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,3,161,3740,8,161,1,162,1,162,1,162,5,162,3745,8,162,10,162,12,162,3748,9,162,1,163,1,163,3,163,3752,8,163,1,163,3,163,3755,8,163,1,163,3,163,3758,8,163,1,163,1,163,1,163,1,163,1,163,3,163,3765,8,163,1,163,3,163,3768,8,163,3,163,3770,8,163,1,164,1,164,1,165,1,165,3,165,3776,8,165,1,166,1,166,1,166,1,167,1,167,1,167,1,167,3,167,3785,8,167,1,168,1,168,1,169,1,169,1,170,1,170,1,170,1,170,3,170,3795,8,170,1,170,1,170,1,170,3,170,3800,8,170,1,171,1,171,1,171,1,172,1,172,1,172,3,172,3808,8,172,1,172,1,172,3,172,3812,8,172,1,172,1,172,1,173,5,173,3817,8,173,10,173,12,173,3820,9,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,3829,8,174,1,175,1,175,1,175,1,175,1,175,1,175,1,176,5,176,3838,8,176,10,176,12,176,3841,9,176,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,3,178,3948,8,178,1,179,1,179,1,179,1,179,1,179,1,179,3,179,3956,8,179,1,179,3,179,3959,8,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,3,180,3969,8,180,1,181,4,181,3972,8,181,11,181,12,181,3973,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,3,183,3984,8,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,3,183,3995,8,183,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,5,185,4005,8,185,10,185,12,185,4008,9,185,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,5,187,4018,8,187,10,187,12,187,4021,9,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,3,188,4030,8,188,1,189,1,189,1,189,1,190,1,190,1,191,1,191,1,192,1,192,1,192,3,192,4042,8,192,1,192,1,192,3,192,4046,8,192,1,192,3,192,4049,8,192,1,192,1,192,1,192,1,192,1,192,3,192,4056,8,192,1,193,1,193,1,193,1,194,1,194,1,194,3,194,4064,8,194,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,3,196,4074,8,196,3,196,4076,8,196,1,197,1,197,1,197,1,197,3,197,4082,8,197,1,197,1,197,1,197,3,197,4087,8,197,1,197,1,197,3,197,4091,8,197,1,197,1,197,1,197,3,197,4096,8,197,1,197,1,197,1,197,1,197,3,197,4102,8,197,1,197,1,197,1,197,1,197,1,197,3,197,4109,8,197,1,197,1,197,1,197,1,197,3,197,4115,8,197,3,197,4117,8,197,1,198,1,198,1,198,1,198,1,198,3,198,4124,8,198,1,198,1,198,1,198,1,198,1,198,1,198,3,198,4132,8,198,1,199,1,199,1,199,3,199,4137,8,199,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,3,201,4148,8,201,1,201,1,201,1,201,1,201,1,201,3,201,4155,8,201,1,202,1,202,3,202,4159,8,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,3,204,4176,8,204,1,204,3,204,4179,8,204,1,204,3,204,4182,8,204,1,204,3,204,4185,8,204,1,204,3,204,4188,8,204,1,205,1,205,1,205,1,205,1,205,1,205,3,205,4196,8,205,1,205,3,205,4199,8,205,1,205,3,205,4202,8,205,1,206,1,206,1,206,1,206,3,206,4208,8,206,1,206,1,206,1,207,1,207,5,207,4214,8,207,10,207,12,207,4217,9,207,1,207,3,207,4220,8,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,4232,8,207,1,207,1,207,1,207,1,207,3,207,4238,8,207,1,208,3,208,4241,8,208,1,208,1,208,1,208,3,208,4246,8,208,1,208,1,208,3,208,4250,8,208,1,208,1,208,1,208,1,208,1,208,3,208,4257,8,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,3,208,4268,8,208,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,212,1,212,1,212,1,213,1,213,1,213,1,213,3,213,4291,8,213,1,214,1,214,1,214,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,218,1,218,3,218,4311,8,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,4320,8,218,1,218,3,218,4323,8,218,1,218,3,218,4326,8,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,4336,8,218,1,218,3,218,4339,8,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,4348,8,218,1,218,1,218,3,218,4352,8,218,1,218,3,218,4355,8,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,4363,8,218,1,219,1,219,1,219,1,219,3,219,4369,8,219,1,220,1,220,3,220,4373,8,220,1,220,1,220,1,221,1,221,1,222,1,222,1,222,5,222,4382,8,222,10,222,12,222,4385,9,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,4394,8,223,1,224,1,224,1,224,1,225,4,225,4400,8,225,11,225,12,225,4401,1,226,1,226,1,226,3,226,4407,8,226,1,226,1,226,1,227,1,227,1,228,1,228,1,229,1,229,1,230,1,230,3,230,4419,8,230,1,230,1,230,1,231,1,231,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,3,234,4436,8,234,1,235,1,235,3,235,4440,8,235,1,235,1,235,5,235,4444,8,235,10,235,12,235,4447,9,235,1,236,1,236,1,236,1,236,3,236,4453,8,236,1,237,1,237,1,237,1,238,5,238,4459,8,238,10,238,12,238,4462,9,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,3,239,4475,8,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,3,240,4501,8,240,1,241,1,241,1,241,5,241,4506,8,241,10,241,12,241,4509,9,241,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,5,243,4520,8,243,10,243,12,243,4523,9,243,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,3,245,4533,8,245,1,245,3,245,4536,8,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,3,247,4549,8,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,4558,8,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,4583,8,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,4594,8,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,4636,8,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,4644,8,247,1,247,1,247,1,247,1,247,3,247,4650,8,247,1,248,1,248,1,248,1,248,1,249,1,249,1,249,5,249,4659,8,249,10,249,12,249,4662,9,249,1,250,1,250,1,250,3,250,4667,8,250,1,251,1,251,1,251,1,251,1,251,1,251,3,251,4675,8,251,1,252,1,252,1,252,1,252,1,253,1,253,1,253,5,253,4684,8,253,10,253,12,253,4687,9,253,1,254,1,254,1,254,1,254,1,255,1,255,1,256,1,256,1,256,5,256,4698,8,256,10,256,12,256,4701,9,256,1,257,1,257,1,257,1,257,1,257,1,257,3,257,4709,8,257,1,257,1,257,1,257,3,257,4714,8,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,3,257,4725,8,257,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,3,259,4736,8,259,1,259,1,259,1,259,1,259,1,259,1,259,3,259,4744,8,259,1,259,1,259,1,259,1,260,1,260,1,260,5,260,4752,8,260,10,260,12,260,4755,9,260,1,261,1,261,1,261,1,261,3,261,4761,8,261,1,261,3,261,4764,8,261,1,261,1,261,1,261,1,261,3,261,4770,8,261,1,261,3,261,4773,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,4788,8,261,1,262,1,262,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,3,264,4801,8,264,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,3,267,4830,8,267,1,268,1,268,1,268,5,268,4835,8,268,10,268,12,268,4838,9,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,3,269,4852,8,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,3,271,4864,8,271,1,271,1,271,3,271,4868,8,271,1,271,1,271,1,271,3,271,4873,8,271,1,271,1,271,3,271,4877,8,271,1,271,1,271,1,271,3,271,4882,8,271,1,271,1,271,3,271,4886,8,271,1,271,1,271,1,271,1,271,3,271,4892,8,271,1,271,1,271,3,271,4896,8,271,1,271,1,271,1,271,3,271,4901,8,271,1,271,1,271,3,271,4905,8,271,1,271,1,271,1,271,1,271,3,271,4911,8,271,1,271,1,271,3,271,4915,8,271,1,271,1,271,1,271,3,271,4920,8,271,1,271,1,271,3,271,4924,8,271,1,271,1,271,1,271,3,271,4929,8,271,1,271,1,271,3,271,4933,8,271,1,271,1,271,1,271,3,271,4938,8,271,1,271,1,271,3,271,4942,8,271,1,271,1,271,1,271,1,271,1,271,3,271,4949,8,271,1,271,1,271,3,271,4953,8,271,1,271,1,271,1,271,1,271,1,271,3,271,4960,8,271,1,271,1,271,3,271,4964,8,271,1,271,1,271,1,271,1,271,1,271,3,271,4971,8,271,1,271,1,271,3,271,4975,8,271,1,271,1,271,1,271,1,271,1,271,3,271,4982,8,271,1,271,1,271,3,271,4986,8,271,1,271,1,271,1,271,1,271,3,271,4992,8,271,1,271,1,271,3,271,4996,8,271,1,271,1,271,1,271,1,271,3,271,5002,8,271,1,271,1,271,3,271,5006,8,271,1,271,1,271,1,271,3,271,5011,8,271,1,271,1,271,3,271,5015,8,271,1,271,1,271,1,271,1,271,1,271,3,271,5022,8,271,1,271,1,271,3,271,5026,8,271,1,271,1,271,3,271,5030,8,271,1,271,1,271,3,271,5034,8,271,1,271,1,271,3,271,5038,8,271,1,271,1,271,1,271,3,271,5043,8,271,1,271,1,271,3,271,5047,8,271,1,271,1,271,1,271,3,271,5052,8,271,1,271,1,271,3,271,5056,8,271,1,271,1,271,1,271,3,271,5061,8,271,1,271,1,271,3,271,5065,8,271,1,271,1,271,1,271,3,271,5070,8,271,1,271,1,271,1,271,1,271,3,271,5076,8,271,1,271,1,271,1,271,3,271,5081,8,271,1,271,1,271,1,271,1,271,3,271,5087,8,271,1,271,1,271,1,271,3,271,5092,8,271,1,271,1,271,1,271,1,271,3,271,5098,8,271,1,271,1,271,1,271,3,271,5103,8,271,1,271,1,271,3,271,5107,8,271,1,271,1,271,1,271,3,271,5112,8,271,1,271,1,271,3,271,5116,8,271,1,271,1,271,1,271,1,271,3,271,5122,8,271,1,271,1,271,3,271,5126,8,271,1,271,1,271,1,271,3,271,5131,8,271,1,271,1,271,1,271,1,271,1,271,1,271,3,271,5139,8,271,1,271,1,271,1,271,1,271,3,271,5145,8,271,1,271,1,271,1,271,1,271,3,271,5151,8,271,1,271,1,271,1,271,1,271,3,271,5157,8,271,1,271,1,271,1,271,1,271,3,271,5163,8,271,1,271,1,271,1,271,1,271,1,271,3,271,5170,8,271,1,271,1,271,1,271,3,271,5175,8,271,1,271,1,271,3,271,5179,8,271,1,271,1,271,1,271,3,271,5184,8,271,1,271,1,271,3,271,5188,8,271,1,271,1,271,1,271,3,271,5193,8,271,1,271,1,271,1,271,1,271,3,271,5199,8,271,1,271,1,271,1,271,1,271,1,271,3,271,5206,8,271,1,271,1,271,1,271,3,271,5211,8,271,1,271,1,271,1,271,1,271,1,271,3,271,5218,8,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,3,271,5228,8,271,1,271,1,271,3,271,5232,8,271,1,271,1,271,1,271,1,271,3,271,5238,8,271,3,271,5240,8,271,1,272,1,272,1,272,5,272,5245,8,272,10,272,12,272,5248,9,272,1,273,3,273,5251,8,273,1,273,1,273,1,273,3,273,5256,8,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,3,273,5274,8,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,3,274,5289,8,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,3,274,5307,8,274,1,275,1,275,1,276,1,276,1,276,5,276,5314,8,276,10,276,12,276,5317,9,276,1,277,1,277,1,277,1,277,1,278,1,278,3,278,5325,8,278,1,279,1,279,3,279,5329,8,279,1,280,1,280,4,280,5333,8,280,11,280,12,280,5334,1,281,1,281,1,281,5,281,5340,8,281,10,281,12,281,5343,9,281,1,282,1,282,3,282,5347,8,282,1,282,1,282,1,282,5,282,5352,8,282,10,282,12,282,5355,9,282,1,282,1,282,3,282,5359,8,282,1,282,3,282,5362,8,282,1,283,3,283,5365,8,283,1,283,1,283,3,283,5369,8,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,3,284,5440,8,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,3,284,5536,8,284,1,285,1,285,3,285,5540,8,285,1,286,1,286,1,286,3,286,5545,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5556,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5567,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5578,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5589,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5600,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5612,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5623,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5634,8,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,3,286,5644,8,286,1,286,1,286,1,286,1,286,1,286,3,286,5651,8,286,1,287,1,287,1,287,1,288,1,288,3,288,5658,8,288,1,289,1,289,1,289,1,289,3,289,5664,8,289,1,290,1,290,1,290,1,290,1,290,1,290,3,290,5672,8,290,1,290,1,290,1,290,3,290,5677,8,290,1,290,1,290,1,290,3,290,5682,8,290,1,290,1,290,1,290,3,290,5687,8,290,1,290,1,290,1,290,1,290,3,290,5693,8,290,1,290,1,290,1,290,1,290,1,290,3,290,5700,8,290,1,290,1,290,1,290,1,290,3,290,5706,8,290,1,290,1,290,1,290,1,290,3,290,5712,8,290,1,290,1,290,1,290,3,290,5717,8,290,1,290,1,290,1,290,1,290,3,290,5723,8,290,1,290,1,290,1,290,1,290,1,290,3,290,5730,8,290,1,290,1,290,1,290,3,290,5735,8,290,1,290,1,290,1,290,1,290,3,290,5741,8,290,1,290,1,290,1,290,1,290,1,290,3,290,5748,8,290,1,290,3,290,5751,8,290,1,291,1,291,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,3,293,5764,8,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,3,294,5773,8,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,3,294,5785,8,294,3,294,5787,8,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,3,295,5805,8,295,1,296,1,296,1,296,5,296,5810,8,296,10,296,12,296,5813,9,296,1,297,1,297,1,298,1,298,1,298,5,298,5820,8,298,10,298,12,298,5823,9,298,1,299,1,299,3,299,5827,8,299,1,299,1,299,3,299,5831,8,299,1,299,1,299,3,299,5835,8,299,1,299,1,299,3,299,5839,8,299,3,299,5841,8,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,3,300,5901,8,300,1,301,1,301,1,301,5,301,5906,8,301,10,301,12,301,5909,9,301,1,302,1,302,1,302,3,302,5914,8,302,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,3,304,5925,8,304,1,304,3,304,5928,8,304,1,305,1,305,1,305,1,305,1,305,3,305,5935,8,305,1,305,3,305,5938,8,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,3,305,5948,8,305,1,305,3,305,5951,8,305,3,305,5953,8,305,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,309,5,309,5970,8,309,10,309,12,309,5973,9,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,3,310,5984,8,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,3,311,5993,8,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,3,311,6002,8,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,3,311,6014,8,311,3,311,6016,8,311,1,312,1,312,1,313,1,313,3,313,6022,8,313,1,313,1,313,3,313,6026,8,313,1,313,3,313,6029,8,313,1,313,3,313,6032,8,313,1,313,1,313,1,313,3,313,6037,8,313,1,313,1,313,1,313,1,313,3,313,6043,8,313,1,313,3,313,6046,8,313,1,313,3,313,6049,8,313,1,313,3,313,6052,8,313,1,313,3,313,6055,8,313,1,314,1,314,1,315,1,315,1,316,1,316,1,317,1,317,1,317,1,318,1,318,1,318,5,318,6069,8,318,10,318,12,318,6072,9,318,1,319,3,319,6075,8,319,1,319,3,319,6078,8,319,1,319,3,319,6081,8,319,1,319,3,319,6084,8,319,1,319,3,319,6087,8,319,1,319,1,319,1,319,3,319,6092,8,319,1,319,3,319,6095,8,319,3,319,6097,8,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,3,320,6110,8,320,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,5,322,6120,8,322,10,322,12,322,6123,9,322,1,323,1,323,1,323,1,324,1,324,1,325,1,325,1,326,1,326,1,326,1,326,3,326,6136,8,326,1,327,1,327,3,327,6140,8,327,1,327,1,327,1,327,1,327,3,327,6146,8,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,3,327,6156,8,327,3,327,6158,8,327,1,327,1,327,1,327,3,327,6163,8,327,1,328,1,328,1,328,1,328,5,328,6169,8,328,10,328,12,328,6172,9,328,1,328,1,328,1,329,1,329,1,329,1,330,1,330,3,330,6181,8,330,1,330,1,330,1,331,1,331,1,331,5,331,6188,8,331,10,331,12,331,6191,9,331,1,332,1,332,1,332,5,332,6196,8,332,10,332,12,332,6199,9,332,1,333,1,333,1,333,1,333,1,333,1,333,3,333,6207,8,333,3,333,6209,8,333,1,334,1,334,1,334,5,334,6214,8,334,10,334,12,334,6217,9,334,1,335,1,335,1,335,1,335,1,335,1,335,3,335,6225,8,335,3,335,6227,8,335,1,336,1,336,1,336,5,336,6232,8,336,10,336,12,336,6235,9,336,1,337,1,337,1,337,1,337,1,337,1,337,3,337,6243,8,337,3,337,6245,8,337,1,338,1,338,3,338,6249,8,338,1,338,1,338,1,339,1,339,1,339,5,339,6256,8,339,10,339,12,339,6259,9,339,1,340,1,340,3,340,6263,8,340,1,340,1,340,1,340,1,340,3,340,6269,8,340,1,340,1,340,1,340,3,340,6274,8,340,1,341,1,341,3,341,6278,8,341,1,341,1,341,1,341,3,341,6283,8,341,1,342,1,342,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,3,344,6301,8,344,1,345,1,345,1,345,3,345,6306,8,345,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,3,347,6321,8,347,1,347,1,347,1,348,1,348,1,348,5,348,6328,8,348,10,348,12,348,6331,9,348,1,349,1,349,1,349,1,350,1,350,1,350,5,350,6339,8,350,10,350,12,350,6342,9,350,1,351,4,351,6345,8,351,11,351,12,351,6346,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,3,352,6384,8,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,3,353,6404,8,353,1,353,1,353,1,353,1,353,1,353,3,353,6411,8,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,5,354,6420,8,354,10,354,12,354,6423,9,354,1,355,1,355,1,355,1,356,1,356,1,356,1,357,1,357,1,357,5,357,6434,8,357,10,357,12,357,6437,9,357,1,358,1,358,1,358,1,358,3,358,6443,8,358,1,359,1,359,1,359,1,359,1,359,1,359,3,359,6451,8,359,1,360,4,360,6454,8,360,11,360,12,360,6455,1,361,1,361,1,362,1,362,1,362,3,362,6463,8,362,1,362,1,362,3,362,6467,8,362,1,362,1,362,1,362,3,362,6472,8,362,1,362,1,362,3,362,6476,8,362,1,362,1,362,1,362,3,362,6481,8,362,1,362,1,362,3,362,6485,8,362,3,362,6487,8,362,1,363,1,363,1,363,3,363,6492,8,363,1,363,1,363,3,363,6496,8,363,1,364,1,364,1,364,3,364,6501,8,364,1,364,1,364,3,364,6505,8,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,3,365,6529,8,365,1,366,1,366,1,366,5,366,6534,8,366,10,366,12,366,6537,9,366,1,366,1,366,1,367,1,367,1,367,5,367,6544,8,367,10,367,12,367,6547,9,367,1,368,1,368,1,368,1,369,1,369,1,369,1,370,4,370,6556,8,370,11,370,12,370,6557,1,371,1,371,1,371,3,371,6563,8,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,3,372,6576,8,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,3,372,6588,8,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,3,372,6600,8,372,3,372,6602,8,372,1,373,1,373,1,373,1,373,3,373,6608,8,373,1,374,1,374,1,374,1,375,1,375,3,375,6615,8,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,3,376,6660,8,376,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,3,377,6678,8,377,1,378,1,378,3,378,6682,8,378,1,378,1,378,1,378,3,378,6687,8,378,1,378,3,378,6690,8,378,1,379,1,379,3,379,6694,8,379,1,379,1,379,1,379,3,379,6699,8,379,1,379,1,379,1,379,3,379,6704,8,379,1,379,3,379,6707,8,379,1,380,1,380,1,380,5,380,6712,8,380,10,380,12,380,6715,9,380,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,3,382,6731,8,382,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6802,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6833,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6887,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6897,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6907,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6918,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6928,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6939,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6949,8,383,1,383,1,383,1,383,3,383,6954,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6963,8,383,1,383,1,383,1,383,3,383,6968,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6978,8,383,1,383,1,383,1,383,3,383,6983,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,6992,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7005,8,383,1,383,1,383,1,383,3,383,7010,8,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,3,383,7122,8,383,3,383,7124,8,383,1,384,1,384,1,384,1,385,1,385,1,385,1,385,3,385,7133,8,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,3,385,7144,8,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,3,385,7155,8,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,3,385,7168,8,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,3,385,7180,8,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,1,385,3,385,7191,8,385,1,385,1,385,1,385,1,385,1,385,3,385,7198,8,385,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7288,8,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7341,8,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7351,8,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7362,8,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7373,8,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,1,387,3,387,7387,8,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,5,389,7400,8,389,10,389,12,389,7403,9,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,3,390,7413,8,390,1,391,1,391,1,391,1,391,1,391,3,391,7420,8,391,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,3,393,7474,8,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,3,393,7615,8,393,1,394,1,394,1,394,1,394,3,394,7621,8,394,1,394,3,394,7624,8,394,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,3,396,7634,8,396,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,1,397,3,397,7674,8,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,3,398,7684,8,398,1,399,1,399,1,399,5,399,7689,8,399,10,399,12,399,7692,9,399,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7714,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7723,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7732,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7741,8,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7774,8,401,1,402,1,402,3,402,7778,8,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,3,402,7788,8,402,1,402,1,402,3,402,7792,8,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,3,403,7802,8,403,1,404,3,404,7805,8,404,1,404,1,404,3,404,7809,8,404,5,404,7811,8,404,10,404,12,404,7814,9,404,1,405,1,405,1,405,1,405,1,405,3,405,7821,8,405,1,406,1,406,1,407,1,407,1,408,1,408,1,409,1,409,1,409,3,409,7832,8,409,1,410,1,410,1,410,1,411,1,411,1,411,1,412,1,412,1,412,1,412,3,412,7844,8,412,1,413,1,413,3,413,7848,8,413,1,413,3,413,7851,8,413,1,413,1,413,3,413,7855,8,413,1,413,3,413,7858,8,413,1,413,1,413,1,413,3,413,7863,8,413,1,413,1,413,3,413,7867,8,413,1,413,3,413,7870,8,413,1,413,1,413,1,413,1,413,3,413,7876,8,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,3,413,7887,8,413,1,413,3,413,7890,8,413,1,413,1,413,1,413,1,413,1,413,3,413,7897,8,413,1,413,1,413,3,413,7901,8,413,1,413,1,413,1,413,3,413,7906,8,413,1,413,3,413,7909,8,413,3,413,7911,8,413,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,3,415,7925,8,415,1,416,1,416,3,416,7929,8,416,1,416,5,416,7932,8,416,10,416,12,416,7935,9,416,1,417,1,417,1,418,1,418,3,418,7941,8,418,1,418,1,418,1,419,1,419,1,419,3,419,7948,8,419,1,419,3,419,7951,8,419,1,419,1,419,1,419,3,419,7956,8,419,1,419,3,419,7959,8,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,3,419,7968,8,419,3,419,7970,8,419,1,419,1,419,1,419,3,419,7975,8,419,1,420,1,420,3,420,7979,8,420,1,420,1,420,1,420,1,421,1,421,1,421,1,422,1,422,1,422,1,422,3,422,7991,8,422,1,422,3,422,7994,8,422,1,423,1,423,1,424,4,424,7999,8,424,11,424,12,424,8e3,1,425,1,425,3,425,8005,8,425,1,425,1,425,1,425,3,425,8010,8,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,426,3,426,8020,8,426,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,3,428,8030,8,428,1,428,3,428,8033,8,428,1,428,3,428,8036,8,428,3,428,8038,8,428,1,429,1,429,1,429,1,429,3,429,8044,8,429,1,430,1,430,1,430,5,430,8049,8,430,10,430,12,430,8052,9,430,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,3,434,8071,8,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,3,435,8091,8,435,1,435,1,435,3,435,8095,8,435,1,435,1,435,1,435,3,435,8100,8,435,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,438,3,438,8169,8,438,1,438,1,438,1,438,3,438,8174,8,438,1,439,1,439,1,440,1,440,3,440,8180,8,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,3,441,8193,8,441,1,441,1,441,3,441,8197,8,441,1,441,1,441,3,441,8201,8,441,1,441,1,441,1,441,1,441,3,441,8207,8,441,3,441,8209,8,441,1,442,1,442,1,442,1,442,5,442,8215,8,442,10,442,12,442,8218,9,442,1,442,1,442,1,443,1,443,1,443,1,444,1,444,3,444,8227,8,444,1,444,3,444,8230,8,444,1,444,3,444,8233,8,444,1,444,3,444,8236,8,444,1,444,3,444,8239,8,444,1,444,1,444,1,444,1,444,1,444,3,444,8246,8,444,1,444,3,444,8249,8,444,3,444,8251,8,444,1,445,1,445,3,445,8255,8,445,1,445,3,445,8258,8,445,1,445,1,445,1,445,1,445,1,445,3,445,8265,8,445,3,445,8267,8,445,1,446,1,446,1,446,5,446,8272,8,446,10,446,12,446,8275,9,446,1,447,1,447,1,448,1,448,3,448,8281,8,448,1,449,1,449,3,449,8285,8,449,1,450,1,450,3,450,8289,8,450,1,451,1,451,1,452,1,452,1,452,5,452,8296,8,452,10,452,12,452,8299,9,452,1,453,1,453,1,453,3,453,8304,8,453,1,454,1,454,3,454,8308,8,454,1,455,1,455,3,455,8312,8,455,1,456,1,456,1,456,3,456,8317,8,456,1,457,1,457,1,458,1,458,1,459,1,459,1,459,1,459,1,460,1,460,3,460,8329,8,460,1,461,1,461,1,461,5,461,8334,8,461,10,461,12,461,8337,9,461,1,462,1,462,1,463,1,463,1,463,1,463,1,463,3,463,8346,8,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,3,463,8359,8,463,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,464,3,464,8370,8,464,1,465,1,465,1,465,5,465,8375,8,465,10,465,12,465,8378,9,465,1,466,1,466,3,466,8382,8,466,1,467,1,467,3,467,8386,8,467,1,468,1,468,3,468,8390,8,468,1,469,1,469,1,469,3,469,8395,8,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,3,471,8408,8,471,1,472,1,472,1,472,3,472,8413,8,472,1,472,1,472,3,472,8417,8,472,1,472,1,472,3,472,8421,8,472,1,472,1,472,1,472,1,472,1,472,3,472,8428,8,472,1,472,3,472,8431,8,472,3,472,8433,8,472,1,473,1,473,1,473,1,473,1,474,1,474,3,474,8441,8,474,1,474,1,474,3,474,8445,8,474,1,475,3,475,8448,8,475,1,475,1,475,1,475,1,475,1,475,3,475,8455,8,475,1,475,3,475,8458,8,475,1,476,1,476,1,476,3,476,8463,8,476,1,477,1,477,1,477,1,477,3,477,8469,8,477,1,477,1,477,1,477,1,477,3,477,8475,8,477,1,477,1,477,3,477,8479,8,477,1,478,1,478,1,479,1,479,1,479,5,479,8486,8,479,10,479,12,479,8489,9,479,1,480,1,480,1,480,1,481,1,481,1,481,3,481,8497,8,481,1,481,1,481,1,481,1,481,1,481,3,481,8504,8,481,1,481,3,481,8507,8,481,1,482,1,482,1,482,1,482,3,482,8513,8,482,1,482,1,482,1,482,3,482,8518,8,482,1,483,1,483,1,483,1,484,3,484,8524,8,484,1,484,1,484,1,484,1,484,3,484,8530,8,484,1,484,3,484,8533,8,484,1,484,3,484,8536,8,484,1,485,1,485,1,485,1,486,1,486,3,486,8543,8,486,1,486,1,486,3,486,8547,8,486,1,486,3,486,8550,8,486,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,3,488,8565,8,488,1,488,3,488,8568,8,488,1,489,1,489,1,490,1,490,1,490,3,490,8575,8,490,1,491,3,491,8578,8,491,1,491,1,491,1,491,1,491,1,491,3,491,8585,8,491,1,491,3,491,8588,8,491,1,491,3,491,8591,8,491,1,492,1,492,1,492,5,492,8596,8,492,10,492,12,492,8599,9,492,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,3,493,8610,8,493,1,493,1,493,1,493,1,493,1,493,3,493,8617,8,493,3,493,8619,8,493,1,494,1,494,1,494,1,495,1,495,1,495,5,495,8627,8,495,10,495,12,495,8630,9,495,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,498,1,498,1,498,1,498,1,498,5,498,8647,8,498,10,498,12,498,8650,9,498,1,499,1,499,1,499,1,499,1,499,3,499,8657,8,499,1,500,1,500,3,500,8661,8,500,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,3,501,8671,8,501,1,502,1,502,3,502,8675,8,502,1,502,1,502,3,502,8679,8,502,1,502,1,502,3,502,8683,8,502,3,502,8685,8,502,1,502,1,502,1,502,3,502,8690,8,502,1,502,1,502,3,502,8694,8,502,1,502,1,502,3,502,8698,8,502,3,502,8700,8,502,3,502,8702,8,502,1,503,1,503,3,503,8706,8,503,1,504,1,504,3,504,8710,8,504,1,504,3,504,8713,8,504,1,504,3,504,8716,8,504,1,504,3,504,8719,8,504,1,504,3,504,8722,8,504,3,504,8724,8,504,1,504,3,504,8727,8,504,1,504,3,504,8730,8,504,1,504,3,504,8733,8,504,1,504,3,504,8736,8,504,1,504,3,504,8739,8,504,1,504,3,504,8742,8,504,1,504,1,504,1,504,1,504,1,504,1,504,1,504,3,504,8751,8,504,3,504,8753,8,504,1,504,1,504,1,504,3,504,8758,8,504,5,504,8760,8,504,10,504,12,504,8763,9,504,1,505,1,505,1,505,3,505,8768,8,505,1,506,1,506,3,506,8772,8,506,1,507,1,507,3,507,8776,8,507,1,507,1,507,1,508,1,508,1,508,5,508,8783,8,508,10,508,12,508,8786,9,508,1,509,1,509,3,509,8790,8,509,1,509,1,509,3,509,8794,8,509,1,509,1,509,1,509,1,509,3,509,8800,8,509,1,509,3,509,8803,8,509,1,510,1,510,1,510,1,510,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,511,3,511,8822,8,511,1,511,1,511,1,511,1,512,1,512,1,512,3,512,8830,8,512,1,513,1,513,1,514,1,514,1,514,1,514,1,514,3,514,8839,8,514,1,515,1,515,3,515,8843,8,515,1,516,3,516,8846,8,516,1,516,1,516,3,516,8850,8,516,1,516,1,516,1,516,3,516,8855,8,516,1,516,1,516,1,516,1,516,3,516,8861,8,516,1,517,1,517,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,519,3,519,8873,8,519,1,520,1,520,1,521,1,521,1,522,1,522,1,522,1,522,1,523,1,523,1,523,5,523,8886,8,523,10,523,12,523,8889,9,523,1,524,1,524,1,524,1,524,3,524,8895,8,524,1,524,3,524,8898,8,524,1,525,1,525,3,525,8902,8,525,1,525,1,525,3,525,8906,8,525,1,525,1,525,3,525,8910,8,525,3,525,8912,8,525,1,526,1,526,1,527,1,527,1,527,1,527,3,527,8920,8,527,1,528,1,528,1,528,1,528,1,528,1,528,1,528,3,528,8929,8,528,1,528,1,528,1,528,1,528,3,528,8935,8,528,3,528,8937,8,528,1,529,1,529,1,529,1,529,1,529,3,529,8944,8,529,1,530,1,530,3,530,8948,8,530,1,531,1,531,1,532,1,532,1,532,1,532,1,532,3,532,8957,8,532,1,533,1,533,3,533,8961,8,533,1,534,1,534,1,535,1,535,1,536,1,536,1,536,3,536,8970,8,536,1,536,1,536,1,537,1,537,1,537,5,537,8977,8,537,10,537,12,537,8980,9,537,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,1,538,3,538,8991,8,538,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,544,1,544,1,544,1,544,3,544,9019,8,544,1,545,1,545,1,546,4,546,9024,8,546,11,546,12,546,9025,1,547,1,547,3,547,9030,8,547,1,547,3,547,9033,8,547,1,548,1,548,1,548,3,548,9038,8,548,1,548,1,548,3,548,9042,8,548,1,548,3,548,9045,8,548,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,5,550,9059,8,550,10,550,12,550,9062,9,550,1,551,1,551,1,551,1,552,1,552,1,552,5,552,9070,8,552,10,552,12,552,9073,9,552,1,553,1,553,3,553,9077,8,553,1,553,3,553,9080,8,553,1,553,3,553,9083,8,553,1,553,1,553,3,553,9087,8,553,1,553,1,553,3,553,9091,8,553,1,553,1,553,3,553,9095,8,553,1,553,1,553,1,553,3,553,9100,8,553,1,553,1,553,3,553,9104,8,553,1,553,1,553,3,553,9108,8,553,3,553,9110,8,553,1,553,1,553,1,553,1,553,1,553,1,553,1,553,3,553,9119,8,553,1,553,1,553,1,553,3,553,9124,8,553,1,553,1,553,1,553,1,553,3,553,9130,8,553,1,553,1,553,3,553,9134,8,553,3,553,9136,8,553,1,553,1,553,1,553,1,553,1,553,3,553,9143,8,553,1,553,1,553,1,553,3,553,9148,8,553,1,553,1,553,1,553,1,553,5,553,9154,8,553,10,553,12,553,9157,9,553,1,554,3,554,9160,8,554,1,554,1,554,1,554,1,554,1,554,3,554,9167,8,554,1,555,1,555,1,556,1,556,1,556,3,556,9174,8,556,1,556,3,556,9177,8,556,1,556,1,556,1,556,1,556,3,556,9183,8,556,1,557,1,557,3,557,9187,8,557,1,558,1,558,1,558,1,558,1,558,1,558,1,558,3,558,9196,8,558,1,559,3,559,9199,8,559,1,559,1,559,3,559,9203,8,559,1,559,1,559,1,559,1,559,1,559,1,559,3,559,9211,8,559,1,559,1,559,1,559,1,559,3,559,9217,8,559,3,559,9219,8,559,1,560,3,560,9222,8,560,1,560,1,560,3,560,9226,8,560,1,560,3,560,9229,8,560,1,560,3,560,9232,8,560,1,561,1,561,3,561,9236,8,561,1,561,1,561,3,561,9240,8,561,1,561,1,561,1,561,1,561,3,561,9246,8,561,1,561,3,561,9249,8,561,1,561,1,561,1,561,1,561,1,561,1,561,1,561,3,561,9258,8,561,1,561,1,561,1,561,1,561,1,561,3,561,9265,8,561,3,561,9267,8,561,1,562,1,562,1,562,5,562,9272,8,562,10,562,12,562,9275,9,562,1,563,1,563,1,563,5,563,9280,8,563,10,563,12,563,9283,9,563,1,564,1,564,3,564,9287,8,564,1,564,3,564,9290,8,564,1,565,1,565,1,565,1,565,1,565,1,565,3,565,9298,8,565,1,566,1,566,1,566,1,566,1,566,1,567,1,567,3,567,9307,8,567,1,567,1,567,1,567,1,567,1,567,1,567,3,567,9315,8,567,3,567,9317,8,567,1,568,1,568,3,568,9321,8,568,1,569,1,569,1,569,5,569,9326,8,569,10,569,12,569,9329,9,569,1,570,1,570,1,570,1,570,1,570,1,571,1,571,1,571,1,572,1,572,1,572,1,573,1,573,1,573,1,573,1,573,3,573,9347,8,573,1,574,1,574,1,575,1,575,1,575,5,575,9354,8,575,10,575,12,575,9357,9,575,1,576,1,576,1,576,3,576,9362,8,576,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,3,577,9381,8,577,1,577,1,577,1,578,1,578,1,578,5,578,9388,8,578,10,578,12,578,9391,9,578,1,579,1,579,1,579,3,579,9396,8,579,1,579,1,579,3,579,9400,8,579,1,580,4,580,9403,8,580,11,580,12,580,9404,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,3,581,9415,8,581,1,582,1,582,1,582,5,582,9420,8,582,10,582,12,582,9423,9,582,1,583,1,583,1,583,1,583,1,583,1,583,3,583,9431,8,583,1,584,3,584,9434,8,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,3,584,9443,8,584,3,584,9445,8,584,1,584,1,584,1,584,1,584,3,584,9451,8,584,1,585,1,585,3,585,9455,8,585,1,585,5,585,9458,8,585,10,585,12,585,9461,9,585,1,586,1,586,1,586,1,586,1,586,1,586,1,586,3,586,9470,8,586,1,586,1,586,1,586,1,586,3,586,9476,8,586,3,586,9478,8,586,1,587,1,587,1,587,1,587,3,587,9484,8,587,1,588,1,588,3,588,9488,8,588,1,588,3,588,9491,8,588,1,589,1,589,1,589,1,589,1,590,1,590,1,590,1,590,1,590,1,590,1,590,3,590,9504,8,590,1,590,1,590,1,590,1,590,3,590,9510,8,590,1,590,1,590,3,590,9514,8,590,1,590,1,590,3,590,9518,8,590,1,590,3,590,9521,8,590,1,591,1,591,1,591,1,591,1,592,1,592,3,592,9529,8,592,1,593,1,593,3,593,9533,8,593,1,594,1,594,3,594,9537,8,594,1,594,1,594,1,594,1,594,1,595,1,595,3,595,9545,8,595,1,596,1,596,1,596,1,596,1,596,3,596,9552,8,596,1,597,1,597,1,597,1,597,1,597,3,597,9559,8,597,1,598,1,598,3,598,9563,8,598,1,598,1,598,1,598,1,598,3,598,9569,8,598,3,598,9571,8,598,1,599,1,599,1,600,1,600,1,600,1,600,1,600,3,600,9580,8,600,1,600,3,600,9583,8,600,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,602,3,602,9593,8,602,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,3,603,9609,8,603,1,603,1,603,1,603,1,603,3,603,9615,8,603,1,603,1,603,1,603,3,603,9620,8,603,1,604,1,604,1,604,1,604,1,604,3,604,9627,8,604,1,605,1,605,1,605,1,606,1,606,1,607,1,607,3,607,9636,8,607,1,608,1,608,1,608,5,608,9641,8,608,10,608,12,608,9644,9,608,1,609,1,609,1,609,5,609,9649,8,609,10,609,12,609,9652,9,609,1,610,1,610,1,610,5,610,9657,8,610,10,610,12,610,9660,9,610,1,611,1,611,3,611,9664,8,611,1,611,1,611,3,611,9668,8,611,1,612,3,612,9671,8,612,1,612,1,612,1,613,1,613,3,613,9677,8,613,1,614,1,614,1,614,3,614,9682,8,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,614,3,614,9698,8,614,1,614,3,614,9701,8,614,3,614,9703,8,614,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,3,615,9715,8,615,3,615,9717,8,615,1,616,1,616,3,616,9721,8,616,1,616,1,616,1,616,1,616,1,616,1,616,3,616,9729,8,616,3,616,9731,8,616,1,616,1,616,3,616,9735,8,616,3,616,9737,8,616,1,617,1,617,1,617,1,617,5,617,9743,8,617,10,617,12,617,9746,9,617,1,618,3,618,9749,8,618,1,618,1,618,1,619,1,619,1,619,5,619,9756,8,619,10,619,12,619,9759,9,619,1,620,1,620,1,620,5,620,9764,8,620,10,620,12,620,9767,9,620,1,621,1,621,1,621,3,621,9772,8,621,1,622,3,622,9775,8,622,1,622,1,622,1,623,1,623,1,623,1,623,1,623,3,623,9784,8,623,1,624,1,624,1,624,3,624,9789,8,624,1,625,1,625,1,625,5,625,9794,8,625,10,625,12,625,9797,9,625,1,626,1,626,1,626,1,626,1,626,1,626,1,626,3,626,9806,8,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,3,626,9832,8,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,3,626,9843,8,626,5,626,9845,8,626,10,626,12,626,9848,9,626,1,627,1,627,1,627,1,627,1,627,3,627,9855,8,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,3,627,9877,8,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,3,627,9886,8,627,1,628,1,628,1,629,1,629,1,629,1,629,1,629,1,629,3,629,9896,8,629,1,629,3,629,9899,8,629,1,629,1,629,1,629,3,629,9904,8,629,1,629,1,629,1,629,3,629,9909,8,629,1,629,1,629,3,629,9913,8,629,1,629,3,629,9916,8,629,1,630,1,630,3,630,9920,8,630,1,630,3,630,9923,8,630,1,630,3,630,9926,8,630,1,630,3,630,9929,8,630,1,631,1,631,3,631,9933,8,631,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,9947,8,632,1,632,1,632,1,632,1,632,1,632,3,632,9954,8,632,1,632,1,632,1,632,1,632,1,632,3,632,9961,8,632,1,632,1,632,1,632,1,632,1,632,3,632,9968,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,9986,8,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,9994,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10006,8,632,1,632,1,632,1,632,1,632,3,632,10012,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10025,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10064,8,632,3,632,10066,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10086,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10096,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10107,8,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,3,632,10119,8,632,1,633,1,633,1,633,1,633,1,633,3,633,10126,8,633,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,3,634,10138,8,634,1,635,1,635,1,635,1,635,1,635,1,636,1,636,1,636,5,636,10148,8,636,10,636,12,636,10151,9,636,1,637,1,637,1,637,3,637,10156,8,637,1,638,1,638,1,639,1,639,1,639,1,639,3,639,10164,8,639,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,3,640,10181,8,640,1,641,1,641,1,641,1,642,1,642,1,642,1,642,1,642,1,642,1,643,1,643,1,643,1,643,1,643,1,643,1,644,1,644,1,644,1,645,1,645,1,645,5,645,10204,8,645,10,645,12,645,10207,9,645,1,646,1,646,1,646,1,646,1,647,1,647,1,647,3,647,10216,8,647,1,648,1,648,3,648,10220,8,648,1,648,3,648,10223,8,648,1,648,3,648,10226,8,648,1,648,3,648,10229,8,648,1,648,1,648,1,649,1,649,1,650,1,650,1,650,1,650,1,651,1,651,1,651,3,651,10242,8,651,1,651,1,651,1,651,3,651,10247,8,651,1,651,1,651,1,651,3,651,10252,8,651,3,651,10254,8,651,1,652,1,652,1,652,1,652,1,652,1,652,3,652,10262,8,652,1,653,1,653,1,653,1,653,1,653,1,653,1,653,3,653,10271,8,653,1,654,1,654,1,654,1,654,1,654,1,654,1,654,3,654,10280,8,654,1,655,1,655,1,655,3,655,10285,8,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,3,655,10294,8,655,1,656,1,656,1,656,3,656,10299,8,656,1,656,1,656,1,657,1,657,1,657,1,657,1,657,1,657,1,658,1,658,1,659,1,659,3,659,10313,8,659,1,660,1,660,1,661,1,661,1,661,1,661,1,661,1,661,3,661,10323,8,661,1,662,1,662,1,662,1,662,1,662,1,662,3,662,10331,8,662,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,3,663,10345,8,663,1,664,1,664,1,664,5,664,10350,8,664,10,664,12,664,10353,9,664,1,665,1,665,1,665,5,665,10358,8,665,10,665,12,665,10361,9,665,1,666,1,666,1,666,5,666,10366,8,666,10,666,12,666,10369,9,666,1,667,1,667,1,667,1,667,1,667,3,667,10376,8,667,1,668,1,668,3,668,10380,8,668,1,669,1,669,1,669,5,669,10385,8,669,10,669,12,669,10388,9,669,1,670,1,670,1,670,1,670,1,670,3,670,10395,8,670,1,671,1,671,1,671,5,671,10400,8,671,10,671,12,671,10403,9,671,1,672,1,672,1,672,3,672,10408,8,672,1,672,1,672,1,673,1,673,1,673,5,673,10415,8,673,10,673,12,673,10418,9,673,1,674,1,674,1,674,1,674,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,3,675,10432,8,675,1,676,1,676,1,677,1,677,1,677,1,677,1,677,1,677,1,677,3,677,10443,8,677,1,678,1,678,1,678,1,678,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,1,679,3,679,10476,8,679,1,680,1,680,1,680,1,680,1,680,1,680,1,680,3,680,10485,8,680,1,681,1,681,1,681,1,681,1,681,3,681,10492,8,681,1,682,1,682,3,682,10496,8,682,1,682,1,682,3,682,10500,8,682,1,682,1,682,1,683,4,683,10505,8,683,11,683,12,683,10506,1,684,1,684,1,684,1,684,1,684,1,685,1,685,1,685,1,686,1,686,1,687,1,687,3,687,10521,8,687,1,688,1,688,1,688,3,688,10526,8,688,1,688,1,688,1,688,3,688,10531,8,688,1,688,1,688,3,688,10535,8,688,3,688,10537,8,688,1,688,3,688,10540,8,688,1,689,1,689,1,690,4,690,10545,8,690,11,690,12,690,10546,1,691,5,691,10550,8,691,10,691,12,691,10553,9,691,1,692,1,692,1,693,1,693,1,693,5,693,10560,8,693,10,693,12,693,10563,9,693,1,694,1,694,1,694,1,694,1,694,3,694,10570,8,694,1,694,3,694,10573,8,694,1,695,1,695,1,695,5,695,10578,8,695,10,695,12,695,10581,9,695,1,696,1,696,1,696,5,696,10586,8,696,10,696,12,696,10589,9,696,1,697,1,697,1,697,5,697,10594,8,697,10,697,12,697,10597,9,697,1,698,1,698,1,698,5,698,10602,8,698,10,698,12,698,10605,9,698,1,699,1,699,1,699,5,699,10610,8,699,10,699,12,699,10613,9,699,1,700,1,700,3,700,10617,8,700,1,701,1,701,3,701,10621,8,701,1,702,1,702,3,702,10625,8,702,1,703,1,703,3,703,10629,8,703,1,704,1,704,3,704,10633,8,704,1,705,1,705,3,705,10637,8,705,1,706,1,706,3,706,10641,8,706,1,707,1,707,1,707,5,707,10646,8,707,10,707,12,707,10649,9,707,1,708,1,708,1,708,5,708,10654,8,708,10,708,12,708,10657,9,708,1,709,1,709,3,709,10661,8,709,1,710,1,710,3,710,10665,8,710,1,711,1,711,3,711,10669,8,711,1,712,1,712,1,713,1,713,1,714,1,714,1,714,1,714,3,714,10679,8,714,1,715,1,715,1,715,1,715,3,715,10685,8,715,1,716,1,716,5,716,10689,8,716,10,716,12,716,10692,9,716,1,716,3,716,10695,8,716,1,717,1,717,1,718,1,718,1,719,1,719,1,720,1,720,1,721,1,721,1,721,1,721,3,721,10709,8,721,1,722,1,722,1,722,1,722,3,722,10715,8,722,1,723,1,723,1,723,1,723,3,723,10721,8,723,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,3,724,10733,8,724,1,724,1,724,1,724,3,724,10738,8,724,1,724,1,724,1,724,1,724,1,724,1,724,3,724,10746,8,724,1,724,1,724,1,724,1,724,1,724,3,724,10753,8,724,1,724,1,724,1,724,3,724,10758,8,724,1,725,1,725,1,726,1,726,1,727,1,727,1,728,1,728,1,729,1,729,3,729,10770,8,729,1,730,1,730,1,730,1,730,5,730,10776,8,730,10,730,12,730,10779,9,730,1,730,1,730,3,730,10783,8,730,1,731,1,731,1,731,1,732,1,732,1,732,1,732,1,732,3,732,10793,8,732,1,733,1,733,1,734,1,734,1,735,1,735,1,735,1,735,1,735,3,735,10804,8,735,1,736,1,736,1,736,5,736,10809,8,736,10,736,12,736,10812,9,736,1,737,1,737,1,737,1,737,3,737,10818,8,737,1,738,1,738,1,739,1,739,1,739,1,739,1,739,1,739,1,739,3,739,10829,8,739,1,739,3,739,10832,8,739,3,739,10834,8,739,1,740,1,740,3,740,10838,8,740,1,740,3,740,10841,8,740,1,741,1,741,1,741,1,741,3,741,10847,8,741,1,742,1,742,1,742,1,742,3,742,10853,8,742,1,743,1,743,3,743,10857,8,743,1,744,1,744,1,744,1,744,3,744,10863,8,744,1,745,1,745,1,745,1,745,1,745,1,745,3,745,10871,8,745,1,746,1,746,3,746,10875,8,746,1,746,1,746,1,746,1,746,1,746,1,746,3,746,10883,8,746,1,747,1,747,1,748,1,748,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,749,3,749,10940,8,749,1,750,1,750,1,751,1,751,1,752,1,752,1,752,1,752,1,753,5,753,10951,8,753,10,753,12,753,10954,9,753,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,1,754,3,754,10976,8,754,1,755,1,755,1,756,1,756,1,756,1,756,3,756,10984,8,756,1,757,1,757,3,757,10988,8,757,1,758,1,758,1,758,1,758,1,758,1,758,1,758,1,759,1,759,1,759,3,759,11e3,8,759,3,759,11002,8,759,1,760,1,760,1,761,4,761,11007,8,761,11,761,12,761,11008,1,762,1,762,1,762,1,762,1,763,1,763,1,763,3,763,11018,8,763,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,764,3,764,11036,8,764,1,764,1,764,1,765,1,765,1,765,1,765,3,765,11044,8,765,1,766,1,766,1,767,1,767,1,767,1,767,1,767,3,767,11053,8,767,1,768,1,768,1,768,5,768,11058,8,768,10,768,12,768,11061,9,768,1,769,1,769,1,769,1,770,1,770,1,771,1,771,3,771,11070,8,771,1,772,1,772,1,773,1,773,3,773,11076,8,773,1,774,1,774,1,775,1,775,1,775,3,775,11083,8,775,1,776,1,776,1,776,3,776,11088,8,776,1,777,1,777,1,777,1,777,3,777,11094,8,777,1,778,1,778,3,778,11098,8,778,1,779,1,779,1,780,5,780,11103,8,780,10,780,12,780,11106,9,780,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,3,781,11135,8,781,1,782,1,782,1,782,1,782,1,783,1,783,1,783,1,783,1,783,1,783,1,783,3,783,11148,8,783,1,783,1,783,1,783,1,783,1,783,1,783,1,783,3,783,11157,8,783,1,784,1,784,3,784,11161,8,784,1,785,1,785,1,785,1,785,1,785,1,786,1,786,1,786,1,786,1,786,1,786,1,787,1,787,1,787,3,787,11177,8,787,1,788,1,788,1,788,5,788,11182,8,788,10,788,12,788,11185,9,788,1,789,1,789,1,789,1,789,1,790,1,790,1,791,1,791,1,792,1,792,3,792,11197,8,792,1,792,1,792,1,792,1,792,5,792,11203,8,792,10,792,12,792,11206,9,792,1,793,1,793,1,793,1,793,1,793,1,793,1,793,1,793,1,793,1,793,1,794,1,794,1,794,1,794,1,794,5,794,11223,8,794,10,794,12,794,11226,9,794,1,795,1,795,1,795,3,795,11231,8,795,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,797,1,797,3,797,11243,8,797,1,798,4,798,11246,8,798,11,798,12,798,11247,1,799,1,799,1,799,1,799,1,799,1,800,1,800,1,800,3,800,11258,8,800,1,801,1,801,1,801,1,802,1,802,1,802,1,802,1,802,1,803,1,803,1,803,1,803,1,803,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,3,804,11290,8,804,1,805,1,805,1,805,3,805,11295,8,805,1,806,1,806,1,806,1,806,1,806,5,806,11302,8,806,10,806,12,806,11305,9,806,1,806,1,806,3,806,11309,8,806,1,807,1,807,3,807,11313,8,807,1,808,1,808,1,808,3,808,11318,8,808,1,809,1,809,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,811,1,811,1,811,3,811,11334,8,811,1,812,1,812,1,812,3,812,11339,8,812,1,812,1,812,1,813,1,813,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,3,814,11354,8,814,1,814,3,814,11357,8,814,1,814,1,814,1,815,1,815,3,815,11363,8,815,1,816,1,816,3,816,11367,8,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,3,816,11376,8,816,1,816,1,816,1,816,1,816,1,816,1,816,3,816,11384,8,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,3,816,11393,8,816,1,816,1,816,1,816,1,816,3,816,11399,8,816,1,817,1,817,1,818,1,818,1,818,4,818,11406,8,818,11,818,12,818,11407,3,818,11410,8,818,1,819,1,819,1,819,3,819,11415,8,819,1,820,1,820,1,820,1,820,1,821,1,821,1,821,5,821,11424,8,821,10,821,12,821,11427,9,821,1,822,1,822,1,822,1,822,1,822,1,823,1,823,1,823,3,823,11437,8,823,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,825,1,825,1,825,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,3,826,11458,8,826,1,826,1,826,1,827,1,827,1,827,3,827,11465,8,827,1,828,1,828,1,828,5,828,11470,8,828,10,828,12,828,11473,9,828,1,829,1,829,1,829,3,829,11478,8,829,1,829,3,829,11481,8,829,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,3,830,11492,8,830,1,830,1,830,1,830,1,830,1,830,3,830,11499,8,830,3,830,11501,8,830,1,830,1,830,1,831,1,831,1,831,1,831,1,831,3,831,11510,8,831,1,832,1,832,1,832,5,832,11515,8,832,10,832,12,832,11518,9,832,1,833,1,833,1,833,3,833,11523,8,833,1,834,1,834,1,834,1,834,3,834,11529,8,834,1,835,1,835,3,835,11533,8,835,1,836,1,836,3,836,11537,8,836,1,836,1,836,1,836,1,836,1,836,1,836,1,837,1,837,1,838,1,838,1,838,3,838,11550,8,838,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,3,839,11565,8,839,3,839,11567,8,839,1,840,1,840,3,840,11571,8,840,1,840,1,840,1,840,1,841,3,841,11577,8,841,1,841,1,841,1,841,3,841,11582,8,841,1,841,1,841,3,841,11586,8,841,1,841,3,841,11589,8,841,1,841,3,841,11592,8,841,1,841,1,841,1,841,1,841,1,841,4,841,11599,8,841,11,841,12,841,11600,1,842,3,842,11604,8,842,1,842,1,842,3,842,11608,8,842,1,842,1,842,3,842,11612,8,842,3,842,11614,8,842,1,842,3,842,11617,8,842,1,842,3,842,11620,8,842,1,843,1,843,1,844,1,844,1,844,1,844,3,844,11628,8,844,1,844,1,844,1,844,1,844,1,844,3,844,11635,8,844,1,844,1,844,1,844,1,844,1,844,3,844,11642,8,844,1,844,1,844,1,844,1,844,3,844,11648,8,844,3,844,11650,8,844,1,845,1,845,1,845,1,845,1,845,3,845,11657,8,845,1,845,1,845,1,845,3,845,11662,8,845,1,845,1,845,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,4,846,11680,8,846,11,846,12,846,11681,1,847,1,847,1,847,1,847,3,847,11688,8,847,1,848,1,848,1,848,1,848,5,848,11694,8,848,10,848,12,848,11697,9,848,1,848,1,848,1,849,1,849,3,849,11703,8,849,1,850,1,850,1,850,1,850,1,851,1,851,1,851,1,852,1,852,3,852,11714,8,852,1,852,1,852,1,853,1,853,3,853,11720,8,853,1,853,1,853,1,854,1,854,3,854,11726,8,854,1,854,1,854,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,3,855,11739,8,855,1,855,3,855,11742,8,855,1,856,1,856,3,856,11746,8,856,1,857,1,857,1,857,3,857,11751,8,857,1,858,4,858,11754,8,858,11,858,12,858,11755,1,859,1,859,1,859,1,859,1,859,1,860,1,860,1,860,5,860,11766,8,860,10,860,12,860,11769,9,860,1,861,1,861,1,861,3,861,11774,8,861,1,862,1,862,3,862,11778,8,862,1,863,1,863,3,863,11782,8,863,1,864,1,864,3,864,11786,8,864,1,865,1,865,1,865,1,866,1,866,3,866,11793,8,866,1,867,1,867,1,868,3,868,11798,8,868,1,868,3,868,11801,8,868,1,868,3,868,11804,8,868,1,868,3,868,11807,8,868,1,868,3,868,11810,8,868,1,868,3,868,11813,8,868,1,868,3,868,11816,8,868,1,869,1,869,1,870,1,870,1,871,1,871,1,872,1,872,1,873,1,873,3,873,11828,8,873,1,874,1,874,1,874,1,874,1,874,0,1,1252,875,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,0,87,2,0,195,195,364,364,1,0,228,229,1,0,236,237,1,0,234,235,1,0,232,233,1,0,230,231,1,0,535,536,1,0,537,538,1,0,539,540,2,0,66,66,318,318,2,0,99,99,318,318,1,0,529,531,2,0,10,10,94,94,2,0,133,133,191,191,2,0,254,254,332,332,2,0,162,162,363,363,2,0,180,180,221,221,5,0,30,30,288,288,329,329,352,352,354,354,2,0,109,109,532,532,2,0,367,367,439,439,2,0,139,139,312,312,2,0,191,191,333,333,2,0,313,313,333,333,2,0,150,150,315,315,2,0,64,64,94,94,2,0,352,352,354,354,2,0,200,200,224,224,9,0,30,30,160,160,165,165,179,179,219,219,227,227,342,342,345,345,438,438,3,0,113,113,284,284,336,336,2,0,53,53,78,78,3,0,173,173,260,260,262,262,2,0,9,9,94,94,5,0,30,30,88,88,182,182,241,241,369,369,2,0,92,92,226,226,2,0,341,341,414,414,1,0,448,449,2,0,92,92,414,414,2,0,135,135,145,145,3,0,66,66,99,99,318,318,4,0,163,163,185,185,283,283,353,353,3,0,321,321,357,357,445,445,2,0,167,167,314,314,2,0,64,64,68,68,10,0,46,46,88,88,182,182,202,202,241,241,352,352,354,354,357,358,369,369,521,523,5,0,212,212,329,329,350,350,361,361,455,456,2,0,37,37,55,55,2,0,10,10,53,53,4,0,88,88,182,182,241,241,369,369,2,0,137,137,242,242,2,0,356,356,380,380,2,0,151,151,254,254,1,0,31,32,2,0,60,60,96,96,2,0,99,99,349,349,2,0,201,201,334,334,1,0,527,528,2,0,213,213,254,254,2,0,30,30,56,56,2,0,320,320,414,414,2,0,207,207,268,268,4,0,113,113,115,115,119,119,126,126,2,0,360,360,477,477,2,0,391,392,406,406,1,0,391,392,1,0,418,419,1,0,18,19,2,0,117,117,122,122,5,0,10,10,16,17,21,21,23,23,25,25,1,0,12,13,3,0,9,9,14,14,27,27,3,0,39,39,73,73,95,95,2,0,166,166,188,188,2,0,304,304,450,450,2,0,208,208,289,289,3,0,30,30,34,34,90,90,6,0,9,10,12,17,21,21,23,23,25,25,27,27,2,0,20,20,22,22,1,0,483,486,10,0,124,124,129,228,238,386,433,452,455,469,471,471,473,473,475,475,478,488,547,548,3,0,106,123,125,128,472,472,4,0,30,52,54,70,72,105,454,454,2,0,62,62,116,116,2,0,10,10,20,20,2,0,167,167,507,507,1,0,512,517,2,0,144,144,210,210,36,0,33,33,35,35,43,43,45,45,53,53,57,57,61,61,116,116,123,123,130,130,144,144,153,153,157,157,161,161,167,167,172,172,207,207,210,210,241,241,249,249,265,265,268,269,279,279,293,293,307,307,313,313,319,319,323,324,333,333,360,360,433,434,477,477,490,502,504,504,506,518,520,520,13157,0,1753,1,0,0,0,2,1758,1,0,0,0,4,1760,1,0,0,0,6,1881,1,0,0,0,8,1883,1,0,0,0,10,1887,1,0,0,0,12,1890,1,0,0,0,14,1898,1,0,0,0,16,1903,1,0,0,0,18,1909,1,0,0,0,20,1947,1,0,0,0,22,1959,1,0,0,0,24,1961,1,0,0,0,26,1969,1,0,0,0,28,1981,1,0,0,0,30,1983,1,0,0,0,32,1992,1,0,0,0,34,2020,1,0,0,0,36,2022,1,0,0,0,38,2070,1,0,0,0,40,2072,1,0,0,0,42,2080,1,0,0,0,44,2087,1,0,0,0,46,2089,1,0,0,0,48,2104,1,0,0,0,50,2111,1,0,0,0,52,2120,1,0,0,0,54,2122,1,0,0,0,56,2136,1,0,0,0,58,2140,1,0,0,0,60,2176,1,0,0,0,62,2178,1,0,0,0,64,2186,1,0,0,0,66,2196,1,0,0,0,68,2203,1,0,0,0,70,2209,1,0,0,0,72,2215,1,0,0,0,74,2233,1,0,0,0,76,2237,1,0,0,0,78,2241,1,0,0,0,80,2245,1,0,0,0,82,2247,1,0,0,0,84,2258,1,0,0,0,86,2262,1,0,0,0,88,2267,1,0,0,0,90,2272,1,0,0,0,92,2274,1,0,0,0,94,2286,1,0,0,0,96,2293,1,0,0,0,98,2295,1,0,0,0,100,2297,1,0,0,0,102,2299,1,0,0,0,104,2435,1,0,0,0,106,2437,1,0,0,0,108,2454,1,0,0,0,110,2456,1,0,0,0,112,2470,1,0,0,0,114,2472,1,0,0,0,116,2488,1,0,0,0,118,2490,1,0,0,0,120,2711,1,0,0,0,122,2718,1,0,0,0,124,2720,1,0,0,0,126,2722,1,0,0,0,128,2725,1,0,0,0,130,2734,1,0,0,0,132,2736,1,0,0,0,134,2740,1,0,0,0,136,2743,1,0,0,0,138,2751,1,0,0,0,140,2763,1,0,0,0,142,2780,1,0,0,0,144,2808,1,0,0,0,146,2810,1,0,0,0,148,2813,1,0,0,0,150,2821,1,0,0,0,152,2826,1,0,0,0,154,2863,1,0,0,0,156,2865,1,0,0,0,158,2907,1,0,0,0,160,2909,1,0,0,0,162,2911,1,0,0,0,164,2916,1,0,0,0,166,2923,1,0,0,0,168,2928,1,0,0,0,170,2970,1,0,0,0,172,2972,1,0,0,0,174,2975,1,0,0,0,176,2980,1,0,0,0,178,2982,1,0,0,0,180,2990,1,0,0,0,182,3001,1,0,0,0,184,3003,1,0,0,0,186,3011,1,0,0,0,188,3013,1,0,0,0,190,3096,1,0,0,0,192,3098,1,0,0,0,194,3100,1,0,0,0,196,3102,1,0,0,0,198,3106,1,0,0,0,200,3114,1,0,0,0,202,3125,1,0,0,0,204,3129,1,0,0,0,206,3131,1,0,0,0,208,3152,1,0,0,0,210,3155,1,0,0,0,212,3164,1,0,0,0,214,3174,1,0,0,0,216,3195,1,0,0,0,218,3255,1,0,0,0,220,3257,1,0,0,0,222,3266,1,0,0,0,224,3271,1,0,0,0,226,3273,1,0,0,0,228,3276,1,0,0,0,230,3284,1,0,0,0,232,3287,1,0,0,0,234,3294,1,0,0,0,236,3382,1,0,0,0,238,3384,1,0,0,0,240,3387,1,0,0,0,242,3391,1,0,0,0,244,3395,1,0,0,0,246,3403,1,0,0,0,248,3411,1,0,0,0,250,3416,1,0,0,0,252,3419,1,0,0,0,254,3427,1,0,0,0,256,3437,1,0,0,0,258,3450,1,0,0,0,260,3452,1,0,0,0,262,3456,1,0,0,0,264,3469,1,0,0,0,266,3471,1,0,0,0,268,3476,1,0,0,0,270,3478,1,0,0,0,272,3485,1,0,0,0,274,3516,1,0,0,0,276,3518,1,0,0,0,278,3527,1,0,0,0,280,3529,1,0,0,0,282,3538,1,0,0,0,284,3542,1,0,0,0,286,3550,1,0,0,0,288,3555,1,0,0,0,290,3559,1,0,0,0,292,3578,1,0,0,0,294,3588,1,0,0,0,296,3602,1,0,0,0,298,3618,1,0,0,0,300,3624,1,0,0,0,302,3639,1,0,0,0,304,3652,1,0,0,0,306,3654,1,0,0,0,308,3664,1,0,0,0,310,3676,1,0,0,0,312,3684,1,0,0,0,314,3686,1,0,0,0,316,3691,1,0,0,0,318,3729,1,0,0,0,320,3731,1,0,0,0,322,3739,1,0,0,0,324,3741,1,0,0,0,326,3749,1,0,0,0,328,3771,1,0,0,0,330,3773,1,0,0,0,332,3777,1,0,0,0,334,3784,1,0,0,0,336,3786,1,0,0,0,338,3788,1,0,0,0,340,3790,1,0,0,0,342,3801,1,0,0,0,344,3804,1,0,0,0,346,3818,1,0,0,0,348,3828,1,0,0,0,350,3830,1,0,0,0,352,3839,1,0,0,0,354,3842,1,0,0,0,356,3947,1,0,0,0,358,3949,1,0,0,0,360,3968,1,0,0,0,362,3971,1,0,0,0,364,3975,1,0,0,0,366,3994,1,0,0,0,368,3996,1,0,0,0,370,4001,1,0,0,0,372,4009,1,0,0,0,374,4014,1,0,0,0,376,4029,1,0,0,0,378,4031,1,0,0,0,380,4034,1,0,0,0,382,4036,1,0,0,0,384,4038,1,0,0,0,386,4057,1,0,0,0,388,4060,1,0,0,0,390,4065,1,0,0,0,392,4067,1,0,0,0,394,4116,1,0,0,0,396,4118,1,0,0,0,398,4136,1,0,0,0,400,4138,1,0,0,0,402,4143,1,0,0,0,404,4158,1,0,0,0,406,4160,1,0,0,0,408,4169,1,0,0,0,410,4189,1,0,0,0,412,4203,1,0,0,0,414,4237,1,0,0,0,416,4267,1,0,0,0,418,4269,1,0,0,0,420,4274,1,0,0,0,422,4280,1,0,0,0,424,4283,1,0,0,0,426,4286,1,0,0,0,428,4292,1,0,0,0,430,4295,1,0,0,0,432,4297,1,0,0,0,434,4306,1,0,0,0,436,4362,1,0,0,0,438,4368,1,0,0,0,440,4370,1,0,0,0,442,4376,1,0,0,0,444,4378,1,0,0,0,446,4393,1,0,0,0,448,4395,1,0,0,0,450,4399,1,0,0,0,452,4403,1,0,0,0,454,4410,1,0,0,0,456,4412,1,0,0,0,458,4414,1,0,0,0,460,4416,1,0,0,0,462,4422,1,0,0,0,464,4424,1,0,0,0,466,4426,1,0,0,0,468,4435,1,0,0,0,470,4439,1,0,0,0,472,4452,1,0,0,0,474,4454,1,0,0,0,476,4460,1,0,0,0,478,4474,1,0,0,0,480,4500,1,0,0,0,482,4502,1,0,0,0,484,4510,1,0,0,0,486,4516,1,0,0,0,488,4524,1,0,0,0,490,4535,1,0,0,0,492,4537,1,0,0,0,494,4649,1,0,0,0,496,4651,1,0,0,0,498,4655,1,0,0,0,500,4663,1,0,0,0,502,4674,1,0,0,0,504,4676,1,0,0,0,506,4680,1,0,0,0,508,4688,1,0,0,0,510,4692,1,0,0,0,512,4694,1,0,0,0,514,4724,1,0,0,0,516,4726,1,0,0,0,518,4730,1,0,0,0,520,4748,1,0,0,0,522,4787,1,0,0,0,524,4789,1,0,0,0,526,4791,1,0,0,0,528,4800,1,0,0,0,530,4802,1,0,0,0,532,4804,1,0,0,0,534,4829,1,0,0,0,536,4831,1,0,0,0,538,4851,1,0,0,0,540,4853,1,0,0,0,542,5239,1,0,0,0,544,5241,1,0,0,0,546,5273,1,0,0,0,548,5306,1,0,0,0,550,5308,1,0,0,0,552,5310,1,0,0,0,554,5318,1,0,0,0,556,5322,1,0,0,0,558,5326,1,0,0,0,560,5332,1,0,0,0,562,5336,1,0,0,0,564,5344,1,0,0,0,566,5364,1,0,0,0,568,5535,1,0,0,0,570,5539,1,0,0,0,572,5650,1,0,0,0,574,5652,1,0,0,0,576,5657,1,0,0,0,578,5663,1,0,0,0,580,5750,1,0,0,0,582,5752,1,0,0,0,584,5754,1,0,0,0,586,5756,1,0,0,0,588,5786,1,0,0,0,590,5804,1,0,0,0,592,5806,1,0,0,0,594,5814,1,0,0,0,596,5816,1,0,0,0,598,5840,1,0,0,0,600,5900,1,0,0,0,602,5902,1,0,0,0,604,5913,1,0,0,0,606,5915,1,0,0,0,608,5919,1,0,0,0,610,5952,1,0,0,0,612,5954,1,0,0,0,614,5958,1,0,0,0,616,5962,1,0,0,0,618,5971,1,0,0,0,620,5983,1,0,0,0,622,6015,1,0,0,0,624,6017,1,0,0,0,626,6019,1,0,0,0,628,6056,1,0,0,0,630,6058,1,0,0,0,632,6060,1,0,0,0,634,6062,1,0,0,0,636,6065,1,0,0,0,638,6096,1,0,0,0,640,6109,1,0,0,0,642,6111,1,0,0,0,644,6116,1,0,0,0,646,6124,1,0,0,0,648,6127,1,0,0,0,650,6129,1,0,0,0,652,6135,1,0,0,0,654,6137,1,0,0,0,656,6164,1,0,0,0,658,6175,1,0,0,0,660,6178,1,0,0,0,662,6184,1,0,0,0,664,6192,1,0,0,0,666,6208,1,0,0,0,668,6210,1,0,0,0,670,6226,1,0,0,0,672,6228,1,0,0,0,674,6244,1,0,0,0,676,6246,1,0,0,0,678,6252,1,0,0,0,680,6273,1,0,0,0,682,6282,1,0,0,0,684,6284,1,0,0,0,686,6286,1,0,0,0,688,6300,1,0,0,0,690,6302,1,0,0,0,692,6307,1,0,0,0,694,6309,1,0,0,0,696,6324,1,0,0,0,698,6332,1,0,0,0,700,6335,1,0,0,0,702,6344,1,0,0,0,704,6383,1,0,0,0,706,6410,1,0,0,0,708,6412,1,0,0,0,710,6424,1,0,0,0,712,6427,1,0,0,0,714,6430,1,0,0,0,716,6438,1,0,0,0,718,6450,1,0,0,0,720,6453,1,0,0,0,722,6457,1,0,0,0,724,6486,1,0,0,0,726,6488,1,0,0,0,728,6497,1,0,0,0,730,6528,1,0,0,0,732,6535,1,0,0,0,734,6540,1,0,0,0,736,6548,1,0,0,0,738,6551,1,0,0,0,740,6555,1,0,0,0,742,6562,1,0,0,0,744,6601,1,0,0,0,746,6607,1,0,0,0,748,6609,1,0,0,0,750,6612,1,0,0,0,752,6659,1,0,0,0,754,6677,1,0,0,0,756,6689,1,0,0,0,758,6706,1,0,0,0,760,6708,1,0,0,0,762,6716,1,0,0,0,764,6730,1,0,0,0,766,7123,1,0,0,0,768,7125,1,0,0,0,770,7197,1,0,0,0,772,7199,1,0,0,0,774,7386,1,0,0,0,776,7388,1,0,0,0,778,7396,1,0,0,0,780,7412,1,0,0,0,782,7419,1,0,0,0,784,7421,1,0,0,0,786,7614,1,0,0,0,788,7616,1,0,0,0,790,7625,1,0,0,0,792,7633,1,0,0,0,794,7673,1,0,0,0,796,7675,1,0,0,0,798,7685,1,0,0,0,800,7693,1,0,0,0,802,7773,1,0,0,0,804,7775,1,0,0,0,806,7801,1,0,0,0,808,7804,1,0,0,0,810,7820,1,0,0,0,812,7822,1,0,0,0,814,7824,1,0,0,0,816,7826,1,0,0,0,818,7828,1,0,0,0,820,7833,1,0,0,0,822,7836,1,0,0,0,824,7843,1,0,0,0,826,7910,1,0,0,0,828,7912,1,0,0,0,830,7924,1,0,0,0,832,7926,1,0,0,0,834,7936,1,0,0,0,836,7938,1,0,0,0,838,7944,1,0,0,0,840,7976,1,0,0,0,842,7983,1,0,0,0,844,7986,1,0,0,0,846,7995,1,0,0,0,848,7998,1,0,0,0,850,8002,1,0,0,0,852,8019,1,0,0,0,854,8021,1,0,0,0,856,8023,1,0,0,0,858,8039,1,0,0,0,860,8045,1,0,0,0,862,8053,1,0,0,0,864,8055,1,0,0,0,866,8061,1,0,0,0,868,8066,1,0,0,0,870,8075,1,0,0,0,872,8101,1,0,0,0,874,8103,1,0,0,0,876,8173,1,0,0,0,878,8175,1,0,0,0,880,8177,1,0,0,0,882,8208,1,0,0,0,884,8210,1,0,0,0,886,8221,1,0,0,0,888,8250,1,0,0,0,890,8266,1,0,0,0,892,8268,1,0,0,0,894,8276,1,0,0,0,896,8278,1,0,0,0,898,8284,1,0,0,0,900,8288,1,0,0,0,902,8290,1,0,0,0,904,8292,1,0,0,0,906,8303,1,0,0,0,908,8305,1,0,0,0,910,8309,1,0,0,0,912,8313,1,0,0,0,914,8318,1,0,0,0,916,8320,1,0,0,0,918,8322,1,0,0,0,920,8326,1,0,0,0,922,8330,1,0,0,0,924,8338,1,0,0,0,926,8358,1,0,0,0,928,8369,1,0,0,0,930,8371,1,0,0,0,932,8379,1,0,0,0,934,8385,1,0,0,0,936,8389,1,0,0,0,938,8391,1,0,0,0,940,8399,1,0,0,0,942,8407,1,0,0,0,944,8432,1,0,0,0,946,8434,1,0,0,0,948,8438,1,0,0,0,950,8447,1,0,0,0,952,8459,1,0,0,0,954,8468,1,0,0,0,956,8480,1,0,0,0,958,8482,1,0,0,0,960,8490,1,0,0,0,962,8493,1,0,0,0,964,8517,1,0,0,0,966,8519,1,0,0,0,968,8523,1,0,0,0,970,8537,1,0,0,0,972,8540,1,0,0,0,974,8551,1,0,0,0,976,8567,1,0,0,0,978,8569,1,0,0,0,980,8574,1,0,0,0,982,8577,1,0,0,0,984,8592,1,0,0,0,986,8618,1,0,0,0,988,8620,1,0,0,0,990,8623,1,0,0,0,992,8631,1,0,0,0,994,8639,1,0,0,0,996,8648,1,0,0,0,998,8656,1,0,0,0,1e3,8660,1,0,0,0,1002,8670,1,0,0,0,1004,8701,1,0,0,0,1006,8705,1,0,0,0,1008,8752,1,0,0,0,1010,8767,1,0,0,0,1012,8769,1,0,0,0,1014,8773,1,0,0,0,1016,8779,1,0,0,0,1018,8787,1,0,0,0,1020,8804,1,0,0,0,1022,8812,1,0,0,0,1024,8829,1,0,0,0,1026,8831,1,0,0,0,1028,8833,1,0,0,0,1030,8842,1,0,0,0,1032,8860,1,0,0,0,1034,8862,1,0,0,0,1036,8864,1,0,0,0,1038,8866,1,0,0,0,1040,8874,1,0,0,0,1042,8876,1,0,0,0,1044,8878,1,0,0,0,1046,8882,1,0,0,0,1048,8890,1,0,0,0,1050,8911,1,0,0,0,1052,8913,1,0,0,0,1054,8915,1,0,0,0,1056,8921,1,0,0,0,1058,8938,1,0,0,0,1060,8947,1,0,0,0,1062,8949,1,0,0,0,1064,8956,1,0,0,0,1066,8960,1,0,0,0,1068,8962,1,0,0,0,1070,8964,1,0,0,0,1072,8966,1,0,0,0,1074,8973,1,0,0,0,1076,8990,1,0,0,0,1078,8992,1,0,0,0,1080,8995,1,0,0,0,1082,9e3,1,0,0,0,1084,9005,1,0,0,0,1086,9011,1,0,0,0,1088,9018,1,0,0,0,1090,9020,1,0,0,0,1092,9023,1,0,0,0,1094,9027,1,0,0,0,1096,9034,1,0,0,0,1098,9046,1,0,0,0,1100,9049,1,0,0,0,1102,9063,1,0,0,0,1104,9066,1,0,0,0,1106,9135,1,0,0,0,1108,9159,1,0,0,0,1110,9168,1,0,0,0,1112,9182,1,0,0,0,1114,9184,1,0,0,0,1116,9195,1,0,0,0,1118,9218,1,0,0,0,1120,9221,1,0,0,0,1122,9266,1,0,0,0,1124,9268,1,0,0,0,1126,9276,1,0,0,0,1128,9284,1,0,0,0,1130,9291,1,0,0,0,1132,9299,1,0,0,0,1134,9316,1,0,0,0,1136,9318,1,0,0,0,1138,9322,1,0,0,0,1140,9330,1,0,0,0,1142,9335,1,0,0,0,1144,9338,1,0,0,0,1146,9341,1,0,0,0,1148,9348,1,0,0,0,1150,9350,1,0,0,0,1152,9358,1,0,0,0,1154,9363,1,0,0,0,1156,9384,1,0,0,0,1158,9392,1,0,0,0,1160,9402,1,0,0,0,1162,9414,1,0,0,0,1164,9416,1,0,0,0,1166,9430,1,0,0,0,1168,9450,1,0,0,0,1170,9459,1,0,0,0,1172,9477,1,0,0,0,1174,9483,1,0,0,0,1176,9485,1,0,0,0,1178,9492,1,0,0,0,1180,9520,1,0,0,0,1182,9522,1,0,0,0,1184,9528,1,0,0,0,1186,9532,1,0,0,0,1188,9534,1,0,0,0,1190,9542,1,0,0,0,1192,9546,1,0,0,0,1194,9553,1,0,0,0,1196,9570,1,0,0,0,1198,9572,1,0,0,0,1200,9574,1,0,0,0,1202,9584,1,0,0,0,1204,9592,1,0,0,0,1206,9619,1,0,0,0,1208,9621,1,0,0,0,1210,9628,1,0,0,0,1212,9631,1,0,0,0,1214,9633,1,0,0,0,1216,9637,1,0,0,0,1218,9645,1,0,0,0,1220,9653,1,0,0,0,1222,9661,1,0,0,0,1224,9670,1,0,0,0,1226,9674,1,0,0,0,1228,9678,1,0,0,0,1230,9704,1,0,0,0,1232,9718,1,0,0,0,1234,9738,1,0,0,0,1236,9748,1,0,0,0,1238,9752,1,0,0,0,1240,9760,1,0,0,0,1242,9768,1,0,0,0,1244,9774,1,0,0,0,1246,9778,1,0,0,0,1248,9785,1,0,0,0,1250,9790,1,0,0,0,1252,9805,1,0,0,0,1254,9885,1,0,0,0,1256,9887,1,0,0,0,1258,9889,1,0,0,0,1260,9928,1,0,0,0,1262,9932,1,0,0,0,1264,10118,1,0,0,0,1266,10125,1,0,0,0,1268,10137,1,0,0,0,1270,10139,1,0,0,0,1272,10144,1,0,0,0,1274,10152,1,0,0,0,1276,10157,1,0,0,0,1278,10163,1,0,0,0,1280,10180,1,0,0,0,1282,10182,1,0,0,0,1284,10185,1,0,0,0,1286,10191,1,0,0,0,1288,10197,1,0,0,0,1290,10200,1,0,0,0,1292,10208,1,0,0,0,1294,10212,1,0,0,0,1296,10217,1,0,0,0,1298,10232,1,0,0,0,1300,10234,1,0,0,0,1302,10253,1,0,0,0,1304,10261,1,0,0,0,1306,10270,1,0,0,0,1308,10272,1,0,0,0,1310,10293,1,0,0,0,1312,10295,1,0,0,0,1314,10302,1,0,0,0,1316,10308,1,0,0,0,1318,10312,1,0,0,0,1320,10314,1,0,0,0,1322,10322,1,0,0,0,1324,10330,1,0,0,0,1326,10344,1,0,0,0,1328,10346,1,0,0,0,1330,10354,1,0,0,0,1332,10362,1,0,0,0,1334,10375,1,0,0,0,1336,10379,1,0,0,0,1338,10381,1,0,0,0,1340,10394,1,0,0,0,1342,10396,1,0,0,0,1344,10404,1,0,0,0,1346,10411,1,0,0,0,1348,10419,1,0,0,0,1350,10431,1,0,0,0,1352,10433,1,0,0,0,1354,10435,1,0,0,0,1356,10444,1,0,0,0,1358,10475,1,0,0,0,1360,10484,1,0,0,0,1362,10491,1,0,0,0,1364,10493,1,0,0,0,1366,10504,1,0,0,0,1368,10508,1,0,0,0,1370,10513,1,0,0,0,1372,10516,1,0,0,0,1374,10518,1,0,0,0,1376,10539,1,0,0,0,1378,10541,1,0,0,0,1380,10544,1,0,0,0,1382,10551,1,0,0,0,1384,10554,1,0,0,0,1386,10556,1,0,0,0,1388,10572,1,0,0,0,1390,10574,1,0,0,0,1392,10582,1,0,0,0,1394,10590,1,0,0,0,1396,10598,1,0,0,0,1398,10606,1,0,0,0,1400,10614,1,0,0,0,1402,10618,1,0,0,0,1404,10622,1,0,0,0,1406,10626,1,0,0,0,1408,10630,1,0,0,0,1410,10634,1,0,0,0,1412,10638,1,0,0,0,1414,10642,1,0,0,0,1416,10650,1,0,0,0,1418,10658,1,0,0,0,1420,10662,1,0,0,0,1422,10666,1,0,0,0,1424,10670,1,0,0,0,1426,10672,1,0,0,0,1428,10678,1,0,0,0,1430,10684,1,0,0,0,1432,10694,1,0,0,0,1434,10696,1,0,0,0,1436,10698,1,0,0,0,1438,10700,1,0,0,0,1440,10702,1,0,0,0,1442,10708,1,0,0,0,1444,10714,1,0,0,0,1446,10720,1,0,0,0,1448,10757,1,0,0,0,1450,10759,1,0,0,0,1452,10761,1,0,0,0,1454,10763,1,0,0,0,1456,10765,1,0,0,0,1458,10767,1,0,0,0,1460,10782,1,0,0,0,1462,10784,1,0,0,0,1464,10792,1,0,0,0,1466,10794,1,0,0,0,1468,10796,1,0,0,0,1470,10803,1,0,0,0,1472,10805,1,0,0,0,1474,10817,1,0,0,0,1476,10819,1,0,0,0,1478,10833,1,0,0,0,1480,10837,1,0,0,0,1482,10846,1,0,0,0,1484,10852,1,0,0,0,1486,10856,1,0,0,0,1488,10862,1,0,0,0,1490,10870,1,0,0,0,1492,10882,1,0,0,0,1494,10884,1,0,0,0,1496,10886,1,0,0,0,1498,10939,1,0,0,0,1500,10941,1,0,0,0,1502,10943,1,0,0,0,1504,10945,1,0,0,0,1506,10952,1,0,0,0,1508,10975,1,0,0,0,1510,10977,1,0,0,0,1512,10983,1,0,0,0,1514,10987,1,0,0,0,1516,10989,1,0,0,0,1518,10996,1,0,0,0,1520,11003,1,0,0,0,1522,11006,1,0,0,0,1524,11010,1,0,0,0,1526,11017,1,0,0,0,1528,11019,1,0,0,0,1530,11043,1,0,0,0,1532,11045,1,0,0,0,1534,11052,1,0,0,0,1536,11054,1,0,0,0,1538,11062,1,0,0,0,1540,11065,1,0,0,0,1542,11069,1,0,0,0,1544,11071,1,0,0,0,1546,11075,1,0,0,0,1548,11077,1,0,0,0,1550,11082,1,0,0,0,1552,11087,1,0,0,0,1554,11093,1,0,0,0,1556,11097,1,0,0,0,1558,11099,1,0,0,0,1560,11104,1,0,0,0,1562,11134,1,0,0,0,1564,11136,1,0,0,0,1566,11156,1,0,0,0,1568,11160,1,0,0,0,1570,11162,1,0,0,0,1572,11167,1,0,0,0,1574,11176,1,0,0,0,1576,11178,1,0,0,0,1578,11186,1,0,0,0,1580,11190,1,0,0,0,1582,11192,1,0,0,0,1584,11196,1,0,0,0,1586,11207,1,0,0,0,1588,11224,1,0,0,0,1590,11230,1,0,0,0,1592,11232,1,0,0,0,1594,11242,1,0,0,0,1596,11245,1,0,0,0,1598,11249,1,0,0,0,1600,11257,1,0,0,0,1602,11259,1,0,0,0,1604,11262,1,0,0,0,1606,11267,1,0,0,0,1608,11272,1,0,0,0,1610,11294,1,0,0,0,1612,11308,1,0,0,0,1614,11312,1,0,0,0,1616,11317,1,0,0,0,1618,11319,1,0,0,0,1620,11321,1,0,0,0,1622,11333,1,0,0,0,1624,11335,1,0,0,0,1626,11342,1,0,0,0,1628,11344,1,0,0,0,1630,11362,1,0,0,0,1632,11398,1,0,0,0,1634,11400,1,0,0,0,1636,11409,1,0,0,0,1638,11414,1,0,0,0,1640,11416,1,0,0,0,1642,11420,1,0,0,0,1644,11428,1,0,0,0,1646,11436,1,0,0,0,1648,11438,1,0,0,0,1650,11445,1,0,0,0,1652,11448,1,0,0,0,1654,11464,1,0,0,0,1656,11466,1,0,0,0,1658,11480,1,0,0,0,1660,11482,1,0,0,0,1662,11509,1,0,0,0,1664,11511,1,0,0,0,1666,11522,1,0,0,0,1668,11528,1,0,0,0,1670,11532,1,0,0,0,1672,11534,1,0,0,0,1674,11544,1,0,0,0,1676,11549,1,0,0,0,1678,11566,1,0,0,0,1680,11568,1,0,0,0,1682,11576,1,0,0,0,1684,11613,1,0,0,0,1686,11621,1,0,0,0,1688,11649,1,0,0,0,1690,11651,1,0,0,0,1692,11665,1,0,0,0,1694,11687,1,0,0,0,1696,11689,1,0,0,0,1698,11702,1,0,0,0,1700,11704,1,0,0,0,1702,11708,1,0,0,0,1704,11711,1,0,0,0,1706,11717,1,0,0,0,1708,11723,1,0,0,0,1710,11741,1,0,0,0,1712,11745,1,0,0,0,1714,11750,1,0,0,0,1716,11753,1,0,0,0,1718,11757,1,0,0,0,1720,11762,1,0,0,0,1722,11773,1,0,0,0,1724,11777,1,0,0,0,1726,11781,1,0,0,0,1728,11785,1,0,0,0,1730,11787,1,0,0,0,1732,11792,1,0,0,0,1734,11794,1,0,0,0,1736,11797,1,0,0,0,1738,11817,1,0,0,0,1740,11819,1,0,0,0,1742,11821,1,0,0,0,1744,11823,1,0,0,0,1746,11825,1,0,0,0,1748,11829,1,0,0,0,1750,1752,3,4,2,0,1751,1750,1,0,0,0,1752,1755,1,0,0,0,1753,1751,1,0,0,0,1753,1754,1,0,0,0,1754,1756,1,0,0,0,1755,1753,1,0,0,0,1756,1757,5,0,0,1,1757,1,1,0,0,0,1758,1759,3,1504,752,0,1759,3,1,0,0,0,1760,1762,3,6,3,0,1761,1763,5,7,0,0,1762,1761,1,0,0,0,1762,1763,1,0,0,0,1763,5,1,0,0,0,1764,1882,3,488,244,0,1765,1882,3,864,432,0,1766,1882,3,856,428,0,1767,1882,3,858,429,0,1768,1882,3,616,308,0,1769,1882,3,870,435,0,1770,1882,3,514,257,0,1771,1882,3,350,175,0,1772,1882,3,356,178,0,1773,1882,3,366,183,0,1774,1882,3,392,196,0,1775,1882,3,716,358,0,1776,1882,3,42,21,0,1777,1882,3,770,385,0,1778,1882,3,774,387,0,1779,1882,3,786,393,0,1780,1882,3,776,388,0,1781,1882,3,784,392,0,1782,1882,3,410,205,0,1783,1882,3,412,206,0,1784,1882,3,310,155,0,1785,1882,3,866,433,0,1786,1882,3,104,52,0,1787,1882,3,764,382,0,1788,1882,3,150,75,0,1789,1882,3,794,397,0,1790,1882,3,30,15,0,1791,1882,3,32,16,0,1792,1882,3,26,13,0,1793,1882,3,802,401,0,1794,1882,3,292,146,0,1795,1882,3,876,438,0,1796,1882,3,874,437,0,1797,1882,3,406,203,0,1798,1882,3,890,445,0,1799,1882,3,10,5,0,1800,1882,3,100,50,0,1801,1882,3,156,78,0,1802,1882,3,882,441,0,1803,1882,3,568,284,0,1804,1882,3,94,47,0,1805,1882,3,158,79,0,1806,1882,3,432,216,0,1807,1882,3,294,147,0,1808,1882,3,492,246,0,1809,1882,3,744,372,0,1810,1882,3,880,440,0,1811,1882,3,868,434,0,1812,1882,3,344,172,0,1813,1882,3,358,179,0,1814,1882,3,384,192,0,1815,1882,3,394,197,0,1816,1882,3,654,327,0,1817,1882,3,40,20,0,1818,1882,3,300,150,0,1819,1882,3,518,259,0,1820,1882,3,532,266,0,1821,1882,3,788,394,0,1822,1882,3,534,267,0,1823,1882,3,408,204,0,1824,1882,3,326,163,0,1825,1882,3,46,23,0,1826,1882,3,308,154,0,1827,1882,3,188,94,0,1828,1882,3,796,398,0,1829,1882,3,290,145,0,1830,1882,3,340,170,0,1831,1882,3,750,375,0,1832,1882,3,436,218,0,1833,1882,3,480,240,0,1834,1882,3,12,6,0,1835,1882,3,24,12,0,1836,1882,3,402,201,0,1837,1882,3,844,422,0,1838,1882,3,948,474,0,1839,1882,3,992,496,0,1840,1882,3,494,247,0,1841,1882,3,968,484,0,1842,1882,3,102,51,0,1843,1882,3,738,369,0,1844,1882,3,542,271,0,1845,1882,3,944,472,0,1846,1882,3,926,463,0,1847,1882,3,578,289,0,1848,1882,3,586,293,0,1849,1882,3,608,304,0,1850,1882,3,1682,841,0,1851,1882,3,396,198,0,1852,1882,3,626,313,0,1853,1882,3,950,475,0,1854,1882,3,822,411,0,1855,1882,3,306,153,0,1856,1882,3,842,421,0,1857,1882,3,972,486,0,1858,1882,3,818,409,0,1859,1882,3,938,469,0,1860,1882,3,540,270,0,1861,1882,3,754,377,0,1862,1882,3,726,363,0,1863,1882,3,724,362,0,1864,1882,3,728,364,0,1865,1882,3,766,383,0,1866,1882,3,588,294,0,1867,1882,3,610,305,0,1868,1882,3,804,402,0,1869,1882,3,572,286,0,1870,1882,3,1e3,500,0,1871,1882,3,826,413,0,1872,1882,3,564,282,0,1873,1882,3,824,412,0,1874,1882,3,982,491,0,1875,1882,3,888,444,0,1876,1882,3,82,41,0,1877,1882,3,54,27,0,1878,1882,3,92,46,0,1879,1882,3,838,419,0,1880,1882,3,8,4,0,1881,1764,1,0,0,0,1881,1765,1,0,0,0,1881,1766,1,0,0,0,1881,1767,1,0,0,0,1881,1768,1,0,0,0,1881,1769,1,0,0,0,1881,1770,1,0,0,0,1881,1771,1,0,0,0,1881,1772,1,0,0,0,1881,1773,1,0,0,0,1881,1774,1,0,0,0,1881,1775,1,0,0,0,1881,1776,1,0,0,0,1881,1777,1,0,0,0,1881,1778,1,0,0,0,1881,1779,1,0,0,0,1881,1780,1,0,0,0,1881,1781,1,0,0,0,1881,1782,1,0,0,0,1881,1783,1,0,0,0,1881,1784,1,0,0,0,1881,1785,1,0,0,0,1881,1786,1,0,0,0,1881,1787,1,0,0,0,1881,1788,1,0,0,0,1881,1789,1,0,0,0,1881,1790,1,0,0,0,1881,1791,1,0,0,0,1881,1792,1,0,0,0,1881,1793,1,0,0,0,1881,1794,1,0,0,0,1881,1795,1,0,0,0,1881,1796,1,0,0,0,1881,1797,1,0,0,0,1881,1798,1,0,0,0,1881,1799,1,0,0,0,1881,1800,1,0,0,0,1881,1801,1,0,0,0,1881,1802,1,0,0,0,1881,1803,1,0,0,0,1881,1804,1,0,0,0,1881,1805,1,0,0,0,1881,1806,1,0,0,0,1881,1807,1,0,0,0,1881,1808,1,0,0,0,1881,1809,1,0,0,0,1881,1810,1,0,0,0,1881,1811,1,0,0,0,1881,1812,1,0,0,0,1881,1813,1,0,0,0,1881,1814,1,0,0,0,1881,1815,1,0,0,0,1881,1816,1,0,0,0,1881,1817,1,0,0,0,1881,1818,1,0,0,0,1881,1819,1,0,0,0,1881,1820,1,0,0,0,1881,1821,1,0,0,0,1881,1822,1,0,0,0,1881,1823,1,0,0,0,1881,1824,1,0,0,0,1881,1825,1,0,0,0,1881,1826,1,0,0,0,1881,1827,1,0,0,0,1881,1828,1,0,0,0,1881,1829,1,0,0,0,1881,1830,1,0,0,0,1881,1831,1,0,0,0,1881,1832,1,0,0,0,1881,1833,1,0,0,0,1881,1834,1,0,0,0,1881,1835,1,0,0,0,1881,1836,1,0,0,0,1881,1837,1,0,0,0,1881,1838,1,0,0,0,1881,1839,1,0,0,0,1881,1840,1,0,0,0,1881,1841,1,0,0,0,1881,1842,1,0,0,0,1881,1843,1,0,0,0,1881,1844,1,0,0,0,1881,1845,1,0,0,0,1881,1846,1,0,0,0,1881,1847,1,0,0,0,1881,1848,1,0,0,0,1881,1849,1,0,0,0,1881,1850,1,0,0,0,1881,1851,1,0,0,0,1881,1852,1,0,0,0,1881,1853,1,0,0,0,1881,1854,1,0,0,0,1881,1855,1,0,0,0,1881,1856,1,0,0,0,1881,1857,1,0,0,0,1881,1858,1,0,0,0,1881,1859,1,0,0,0,1881,1860,1,0,0,0,1881,1861,1,0,0,0,1881,1862,1,0,0,0,1881,1863,1,0,0,0,1881,1864,1,0,0,0,1881,1865,1,0,0,0,1881,1866,1,0,0,0,1881,1867,1,0,0,0,1881,1868,1,0,0,0,1881,1869,1,0,0,0,1881,1870,1,0,0,0,1881,1871,1,0,0,0,1881,1872,1,0,0,0,1881,1873,1,0,0,0,1881,1874,1,0,0,0,1881,1875,1,0,0,0,1881,1876,1,0,0,0,1881,1877,1,0,0,0,1881,1878,1,0,0,0,1881,1879,1,0,0,0,1881,1880,1,0,0,0,1882,7,1,0,0,0,1883,1885,5,581,0,0,1884,1886,5,582,0,0,1885,1884,1,0,0,0,1885,1886,1,0,0,0,1886,9,1,0,0,0,1887,1888,5,433,0,0,1888,1889,3,1258,629,0,1889,11,1,0,0,0,1890,1891,5,46,0,0,1891,1892,5,318,0,0,1892,1894,3,1468,734,0,1893,1895,3,14,7,0,1894,1893,1,0,0,0,1894,1895,1,0,0,0,1895,1896,1,0,0,0,1896,1897,3,16,8,0,1897,13,1,0,0,0,1898,1899,5,105,0,0,1899,15,1,0,0,0,1900,1902,3,22,11,0,1901,1900,1,0,0,0,1902,1905,1,0,0,0,1903,1901,1,0,0,0,1903,1904,1,0,0,0,1904,17,1,0,0,0,1905,1903,1,0,0,0,1906,1908,3,20,10,0,1907,1906,1,0,0,0,1908,1911,1,0,0,0,1909,1907,1,0,0,0,1909,1910,1,0,0,0,1910,19,1,0,0,0,1911,1909,1,0,0,0,1912,1915,5,287,0,0,1913,1916,3,1458,729,0,1914,1916,5,78,0,0,1915,1913,1,0,0,0,1915,1914,1,0,0,0,1916,1948,1,0,0,0,1917,1918,7,0,0,0,1918,1919,5,287,0,0,1919,1948,3,1458,729,0,1920,1948,7,1,0,0,1921,1948,7,2,0,0,1922,1948,7,3,0,0,1923,1948,7,4,0,0,1924,1948,7,5,0,0,1925,1948,7,6,0,0,1926,1948,7,7,0,0,1927,1948,7,8,0,0,1928,1929,5,164,0,0,1929,1930,5,74,0,0,1930,1948,3,1464,732,0,1931,1932,5,371,0,0,1932,1933,5,368,0,0,1933,1948,3,1458,729,0,1934,1935,5,68,0,0,1935,1936,5,318,0,0,1936,1948,3,1416,708,0,1937,1938,5,68,0,0,1938,1939,5,66,0,0,1939,1948,3,1416,708,0,1940,1941,5,318,0,0,1941,1948,3,1472,736,0,1942,1943,5,134,0,0,1943,1948,3,1416,708,0,1944,1945,5,99,0,0,1945,1948,3,1472,736,0,1946,1948,3,1492,746,0,1947,1912,1,0,0,0,1947,1917,1,0,0,0,1947,1920,1,0,0,0,1947,1921,1,0,0,0,1947,1922,1,0,0,0,1947,1923,1,0,0,0,1947,1924,1,0,0,0,1947,1925,1,0,0,0,1947,1926,1,0,0,0,1947,1927,1,0,0,0,1947,1928,1,0,0,0,1947,1931,1,0,0,0,1947,1934,1,0,0,0,1947,1937,1,0,0,0,1947,1940,1,0,0,0,1947,1942,1,0,0,0,1947,1944,1,0,0,0,1947,1946,1,0,0,0,1948,21,1,0,0,0,1949,1960,3,20,10,0,1950,1951,5,348,0,0,1951,1960,3,1456,728,0,1952,1953,5,134,0,0,1953,1960,3,1472,736,0,1954,1955,5,318,0,0,1955,1960,3,1472,736,0,1956,1957,5,68,0,0,1957,1958,7,9,0,0,1958,1960,3,1472,736,0,1959,1949,1,0,0,0,1959,1950,1,0,0,0,1959,1952,1,0,0,0,1959,1954,1,0,0,0,1959,1956,1,0,0,0,1960,23,1,0,0,0,1961,1962,5,46,0,0,1962,1963,5,99,0,0,1963,1965,3,1468,734,0,1964,1966,3,14,7,0,1965,1964,1,0,0,0,1965,1966,1,0,0,0,1966,1967,1,0,0,0,1967,1968,3,16,8,0,1968,25,1,0,0,0,1969,1970,5,138,0,0,1970,1971,7,10,0,0,1971,1973,3,1470,735,0,1972,1974,3,14,7,0,1973,1972,1,0,0,0,1973,1974,1,0,0,0,1974,1975,1,0,0,0,1975,1976,3,18,9,0,1976,27,1,0,0,0,1977,1982,1,0,0,0,1978,1979,5,68,0,0,1979,1980,5,175,0,0,1980,1982,3,1420,710,0,1981,1977,1,0,0,0,1981,1978,1,0,0,0,1982,29,1,0,0,0,1983,1984,5,138,0,0,1984,1987,7,10,0,0,1985,1988,5,30,0,0,1986,1988,3,1470,735,0,1987,1985,1,0,0,0,1987,1986,1,0,0,0,1988,1989,1,0,0,0,1989,1990,3,28,14,0,1990,1991,3,88,44,0,1991,31,1,0,0,0,1992,1993,5,138,0,0,1993,1994,5,442,0,0,1994,1996,3,1426,713,0,1995,1997,3,660,330,0,1996,1995,1,0,0,0,1996,1997,1,0,0,0,1997,1998,1,0,0,0,1998,1999,3,34,17,0,1999,33,1,0,0,0,2e3,2002,3,36,18,0,2001,2003,5,315,0,0,2002,2001,1,0,0,0,2002,2003,1,0,0,0,2003,2021,1,0,0,0,2004,2005,5,309,0,0,2005,2006,5,94,0,0,2006,2021,3,1424,712,0,2007,2008,5,282,0,0,2008,2009,5,94,0,0,2009,2021,3,1470,735,0,2010,2011,5,333,0,0,2011,2012,5,323,0,0,2012,2021,3,48,24,0,2013,2015,5,269,0,0,2014,2013,1,0,0,0,2014,2015,1,0,0,0,2015,2016,1,0,0,0,2016,2017,5,462,0,0,2017,2018,5,80,0,0,2018,2019,5,204,0,0,2019,2021,3,1436,718,0,2020,2e3,1,0,0,0,2020,2004,1,0,0,0,2020,2007,1,0,0,0,2020,2010,1,0,0,0,2020,2014,1,0,0,0,2021,35,1,0,0,0,2022,2026,3,38,19,0,2023,2025,3,38,19,0,2024,2023,1,0,0,0,2025,2028,1,0,0,0,2026,2024,1,0,0,0,2026,2027,1,0,0,0,2027,37,1,0,0,0,2028,2026,1,0,0,0,2029,2071,5,222,0,0,2030,2071,5,338,0,0,2031,2071,5,377,0,0,2032,2034,5,77,0,0,2033,2032,1,0,0,0,2033,2034,1,0,0,0,2034,2035,1,0,0,0,2035,2071,5,250,0,0,2036,2038,5,205,0,0,2037,2036,1,0,0,0,2037,2038,1,0,0,0,2038,2039,1,0,0,0,2039,2040,5,327,0,0,2040,2047,5,243,0,0,2041,2043,5,205,0,0,2042,2041,1,0,0,0,2042,2043,1,0,0,0,2043,2044,1,0,0,0,2044,2045,5,327,0,0,2045,2047,5,181,0,0,2046,2037,1,0,0,0,2046,2042,1,0,0,0,2047,2071,1,0,0,0,2048,2049,5,460,0,0,2049,2071,7,11,0,0,2050,2051,5,170,0,0,2051,2071,3,1438,719,0,2052,2053,5,320,0,0,2053,2071,3,1436,718,0,2054,2055,5,333,0,0,2055,2056,3,1436,718,0,2056,2059,7,12,0,0,2057,2060,3,1436,718,0,2058,2060,5,53,0,0,2059,2057,1,0,0,0,2059,2058,1,0,0,0,2060,2071,1,0,0,0,2061,2062,5,333,0,0,2062,2063,3,1436,718,0,2063,2064,5,64,0,0,2064,2065,5,434,0,0,2065,2071,1,0,0,0,2066,2067,5,313,0,0,2067,2071,3,1436,718,0,2068,2069,5,313,0,0,2069,2071,5,30,0,0,2070,2029,1,0,0,0,2070,2030,1,0,0,0,2070,2031,1,0,0,0,2070,2033,1,0,0,0,2070,2046,1,0,0,0,2070,2048,1,0,0,0,2070,2050,1,0,0,0,2070,2052,1,0,0,0,2070,2054,1,0,0,0,2070,2061,1,0,0,0,2070,2066,1,0,0,0,2070,2068,1,0,0,0,2071,39,1,0,0,0,2072,2073,5,46,0,0,2073,2074,5,66,0,0,2074,2076,3,1466,733,0,2075,2077,3,14,7,0,2076,2075,1,0,0,0,2076,2077,1,0,0,0,2077,2078,1,0,0,0,2078,2079,3,16,8,0,2079,41,1,0,0,0,2080,2081,5,138,0,0,2081,2082,5,66,0,0,2082,2083,3,1470,735,0,2083,2084,3,44,22,0,2084,2085,5,99,0,0,2085,2086,3,1472,736,0,2086,43,1,0,0,0,2087,2088,7,13,0,0,2088,45,1,0,0,0,2089,2090,5,46,0,0,2090,2092,5,323,0,0,2091,2093,3,516,258,0,2092,2091,1,0,0,0,2092,2093,1,0,0,0,2093,2100,1,0,0,0,2094,2096,3,48,24,0,2095,2094,1,0,0,0,2095,2096,1,0,0,0,2096,2097,1,0,0,0,2097,2098,5,106,0,0,2098,2101,3,1470,735,0,2099,2101,3,48,24,0,2100,2095,1,0,0,0,2100,2099,1,0,0,0,2101,2102,1,0,0,0,2102,2103,3,50,25,0,2103,47,1,0,0,0,2104,2106,3,1474,737,0,2105,2107,3,560,280,0,2106,2105,1,0,0,0,2106,2107,1,0,0,0,2107,49,1,0,0,0,2108,2110,3,52,26,0,2109,2108,1,0,0,0,2110,2113,1,0,0,0,2111,2109,1,0,0,0,2111,2112,1,0,0,0,2112,51,1,0,0,0,2113,2111,1,0,0,0,2114,2121,3,188,94,0,2115,2121,3,626,313,0,2116,2121,3,308,154,0,2117,2121,3,436,218,0,2118,2121,3,586,293,0,2119,2121,3,838,419,0,2120,2114,1,0,0,0,2120,2115,1,0,0,0,2120,2116,1,0,0,0,2120,2117,1,0,0,0,2120,2118,1,0,0,0,2120,2119,1,0,0,0,2121,53,1,0,0,0,2122,2124,5,333,0,0,2123,2125,7,14,0,0,2124,2123,1,0,0,0,2124,2125,1,0,0,0,2125,2126,1,0,0,0,2126,2127,3,56,28,0,2127,55,1,0,0,0,2128,2129,5,356,0,0,2129,2137,3,832,416,0,2130,2131,5,332,0,0,2131,2132,5,154,0,0,2132,2133,5,36,0,0,2133,2134,5,356,0,0,2134,2137,3,832,416,0,2135,2137,3,60,30,0,2136,2128,1,0,0,0,2136,2130,1,0,0,0,2136,2135,1,0,0,0,2137,57,1,0,0,0,2138,2141,5,30,0,0,2139,2141,3,62,31,0,2140,2138,1,0,0,0,2140,2139,1,0,0,0,2141,2143,1,0,0,0,2142,2144,7,12,0,0,2143,2142,1,0,0,0,2143,2144,1,0,0,0,2144,2147,1,0,0,0,2145,2148,5,53,0,0,2146,2148,3,64,32,0,2147,2145,1,0,0,0,2147,2146,1,0,0,0,2147,2148,1,0,0,0,2148,59,1,0,0,0,2149,2150,5,418,0,0,2150,2151,5,386,0,0,2151,2177,3,74,37,0,2152,2153,5,152,0,0,2153,2177,3,1458,729,0,2154,2155,5,323,0,0,2155,2177,3,1422,711,0,2156,2158,5,267,0,0,2157,2159,3,76,38,0,2158,2157,1,0,0,0,2158,2159,1,0,0,0,2159,2177,1,0,0,0,2160,2161,5,318,0,0,2161,2177,3,80,40,0,2162,2163,5,332,0,0,2163,2164,5,106,0,0,2164,2177,3,80,40,0,2165,2166,5,383,0,0,2166,2167,5,279,0,0,2167,2177,3,1276,638,0,2168,2169,5,356,0,0,2169,2170,5,337,0,0,2170,2177,3,1458,729,0,2171,2172,3,62,31,0,2172,2173,5,64,0,0,2173,2174,5,434,0,0,2174,2177,1,0,0,0,2175,2177,3,58,29,0,2176,2149,1,0,0,0,2176,2152,1,0,0,0,2176,2154,1,0,0,0,2176,2156,1,0,0,0,2176,2160,1,0,0,0,2176,2162,1,0,0,0,2176,2165,1,0,0,0,2176,2168,1,0,0,0,2176,2171,1,0,0,0,2176,2175,1,0,0,0,2177,61,1,0,0,0,2178,2183,3,1474,737,0,2179,2180,5,11,0,0,2180,2182,3,1474,737,0,2181,2179,1,0,0,0,2182,2185,1,0,0,0,2183,2181,1,0,0,0,2183,2184,1,0,0,0,2184,63,1,0,0,0,2185,2183,1,0,0,0,2186,2191,3,66,33,0,2187,2188,5,6,0,0,2188,2190,3,66,33,0,2189,2187,1,0,0,0,2190,2193,1,0,0,0,2191,2189,1,0,0,0,2191,2192,1,0,0,0,2192,65,1,0,0,0,2193,2191,1,0,0,0,2194,2197,3,72,36,0,2195,2197,3,322,161,0,2196,2194,1,0,0,0,2196,2195,1,0,0,0,2197,67,1,0,0,0,2198,2199,5,300,0,0,2199,2204,7,15,0,0,2200,2201,5,310,0,0,2201,2204,5,300,0,0,2202,2204,5,330,0,0,2203,2198,1,0,0,0,2203,2200,1,0,0,0,2203,2202,1,0,0,0,2204,69,1,0,0,0,2205,2210,5,96,0,0,2206,2210,5,60,0,0,2207,2210,5,80,0,0,2208,2210,3,78,39,0,2209,2205,1,0,0,0,2209,2206,1,0,0,0,2209,2207,1,0,0,0,2209,2208,1,0,0,0,2210,71,1,0,0,0,2211,2216,5,96,0,0,2212,2216,5,60,0,0,2213,2216,5,80,0,0,2214,2216,3,80,40,0,2215,2211,1,0,0,0,2215,2212,1,0,0,0,2215,2213,1,0,0,0,2215,2214,1,0,0,0,2216,73,1,0,0,0,2217,2234,3,1458,729,0,2218,2234,3,1492,746,0,2219,2220,3,1202,601,0,2220,2222,3,1458,729,0,2221,2223,3,1206,603,0,2222,2221,1,0,0,0,2222,2223,1,0,0,0,2223,2234,1,0,0,0,2224,2225,3,1202,601,0,2225,2226,5,2,0,0,2226,2227,3,1456,728,0,2227,2228,5,3,0,0,2228,2229,3,1458,729,0,2229,2234,1,0,0,0,2230,2234,3,322,161,0,2231,2234,5,53,0,0,2232,2234,5,254,0,0,2233,2217,1,0,0,0,2233,2218,1,0,0,0,2233,2219,1,0,0,0,2233,2224,1,0,0,0,2233,2230,1,0,0,0,2233,2231,1,0,0,0,2233,2232,1,0,0,0,2234,75,1,0,0,0,2235,2238,3,1458,729,0,2236,2238,5,53,0,0,2237,2235,1,0,0,0,2237,2236,1,0,0,0,2238,77,1,0,0,0,2239,2242,3,1486,743,0,2240,2242,3,1458,729,0,2241,2239,1,0,0,0,2241,2240,1,0,0,0,2242,79,1,0,0,0,2243,2246,3,1488,744,0,2244,2246,3,1458,729,0,2245,2243,1,0,0,0,2245,2244,1,0,0,0,2246,81,1,0,0,0,2247,2248,5,313,0,0,2248,2249,3,84,42,0,2249,83,1,0,0,0,2250,2251,5,418,0,0,2251,2259,5,386,0,0,2252,2253,5,356,0,0,2253,2254,5,244,0,0,2254,2259,5,251,0,0,2255,2256,5,332,0,0,2256,2259,5,106,0,0,2257,2259,3,86,43,0,2258,2250,1,0,0,0,2258,2252,1,0,0,0,2258,2255,1,0,0,0,2258,2257,1,0,0,0,2259,85,1,0,0,0,2260,2263,5,30,0,0,2261,2263,3,62,31,0,2262,2260,1,0,0,0,2262,2261,1,0,0,0,2263,87,1,0,0,0,2264,2265,5,333,0,0,2265,2268,3,56,28,0,2266,2268,3,82,41,0,2267,2264,1,0,0,0,2267,2266,1,0,0,0,2268,89,1,0,0,0,2269,2270,5,333,0,0,2270,2273,3,60,30,0,2271,2273,3,82,41,0,2272,2269,1,0,0,0,2272,2271,1,0,0,0,2273,91,1,0,0,0,2274,2284,5,335,0,0,2275,2285,3,62,31,0,2276,2277,5,418,0,0,2277,2285,5,386,0,0,2278,2279,5,356,0,0,2279,2280,5,244,0,0,2280,2285,5,251,0,0,2281,2282,5,332,0,0,2282,2285,5,106,0,0,2283,2285,5,30,0,0,2284,2275,1,0,0,0,2284,2276,1,0,0,0,2284,2278,1,0,0,0,2284,2281,1,0,0,0,2284,2283,1,0,0,0,2285,93,1,0,0,0,2286,2287,5,333,0,0,2287,2288,5,165,0,0,2288,2289,3,96,48,0,2289,2290,3,98,49,0,2290,95,1,0,0,0,2291,2294,5,30,0,0,2292,2294,3,1390,695,0,2293,2291,1,0,0,0,2293,2292,1,0,0,0,2294,97,1,0,0,0,2295,2296,7,16,0,0,2296,99,1,0,0,0,2297,2298,5,155,0,0,2298,101,1,0,0,0,2299,2300,5,187,0,0,2300,2301,7,17,0,0,2301,103,1,0,0,0,2302,2303,5,138,0,0,2303,2305,5,92,0,0,2304,2306,3,748,374,0,2305,2304,1,0,0,0,2305,2306,1,0,0,0,2306,2307,1,0,0,0,2307,2310,3,1118,559,0,2308,2311,3,106,53,0,2309,2311,3,116,58,0,2310,2308,1,0,0,0,2310,2309,1,0,0,0,2311,2436,1,0,0,0,2312,2313,5,138,0,0,2313,2314,5,92,0,0,2314,2315,5,30,0,0,2315,2316,5,68,0,0,2316,2317,5,351,0,0,2317,2321,3,1402,701,0,2318,2319,5,281,0,0,2319,2320,5,147,0,0,2320,2322,3,1472,736,0,2321,2318,1,0,0,0,2321,2322,1,0,0,0,2322,2323,1,0,0,0,2323,2324,5,333,0,0,2324,2325,5,351,0,0,2325,2327,3,1400,700,0,2326,2328,3,978,489,0,2327,2326,1,0,0,0,2327,2328,1,0,0,0,2328,2436,1,0,0,0,2329,2330,5,138,0,0,2330,2332,5,92,0,0,2331,2333,3,748,374,0,2332,2331,1,0,0,0,2332,2333,1,0,0,0,2333,2334,1,0,0,0,2334,2335,3,1406,703,0,2335,2336,5,435,0,0,2336,2337,5,285,0,0,2337,2342,3,1412,706,0,2338,2339,5,62,0,0,2339,2340,5,422,0,0,2340,2343,3,108,54,0,2341,2343,5,53,0,0,2342,2338,1,0,0,0,2342,2341,1,0,0,0,2343,2436,1,0,0,0,2344,2345,5,138,0,0,2345,2347,5,92,0,0,2346,2348,3,748,374,0,2347,2346,1,0,0,0,2347,2348,1,0,0,0,2348,2349,1,0,0,0,2349,2350,3,1406,703,0,2350,2351,5,436,0,0,2351,2352,5,285,0,0,2352,2354,3,1412,706,0,2353,2355,7,18,0,0,2354,2353,1,0,0,0,2354,2355,1,0,0,0,2355,2436,1,0,0,0,2356,2357,5,138,0,0,2357,2359,5,226,0,0,2358,2360,3,748,374,0,2359,2358,1,0,0,0,2359,2360,1,0,0,0,2360,2361,1,0,0,0,2361,2364,3,1412,706,0,2362,2365,3,106,53,0,2363,2365,3,118,59,0,2364,2362,1,0,0,0,2364,2363,1,0,0,0,2365,2436,1,0,0,0,2366,2367,5,138,0,0,2367,2368,5,226,0,0,2368,2369,5,30,0,0,2369,2370,5,68,0,0,2370,2371,5,351,0,0,2371,2375,3,1402,701,0,2372,2373,5,281,0,0,2373,2374,5,147,0,0,2374,2376,3,1472,736,0,2375,2372,1,0,0,0,2375,2376,1,0,0,0,2376,2377,1,0,0,0,2377,2378,5,333,0,0,2378,2379,5,351,0,0,2379,2381,3,1402,701,0,2380,2382,3,978,489,0,2381,2380,1,0,0,0,2381,2382,1,0,0,0,2382,2436,1,0,0,0,2383,2384,5,138,0,0,2384,2386,5,328,0,0,2385,2387,3,748,374,0,2386,2385,1,0,0,0,2386,2387,1,0,0,0,2387,2388,1,0,0,0,2388,2389,3,1412,706,0,2389,2390,3,106,53,0,2390,2436,1,0,0,0,2391,2392,5,138,0,0,2392,2394,5,376,0,0,2393,2395,3,748,374,0,2394,2393,1,0,0,0,2394,2395,1,0,0,0,2395,2396,1,0,0,0,2396,2397,3,1410,705,0,2397,2398,3,106,53,0,2398,2436,1,0,0,0,2399,2400,5,138,0,0,2400,2401,5,259,0,0,2401,2403,5,376,0,0,2402,2404,3,748,374,0,2403,2402,1,0,0,0,2403,2404,1,0,0,0,2404,2405,1,0,0,0,2405,2406,3,1410,705,0,2406,2407,3,106,53,0,2407,2436,1,0,0,0,2408,2409,5,138,0,0,2409,2410,5,259,0,0,2410,2411,5,376,0,0,2411,2412,5,30,0,0,2412,2413,5,68,0,0,2413,2414,5,351,0,0,2414,2418,3,1402,701,0,2415,2416,5,281,0,0,2416,2417,5,147,0,0,2417,2419,3,1472,736,0,2418,2415,1,0,0,0,2418,2419,1,0,0,0,2419,2420,1,0,0,0,2420,2421,5,333,0,0,2421,2422,5,351,0,0,2422,2424,3,1400,700,0,2423,2425,3,978,489,0,2424,2423,1,0,0,0,2424,2425,1,0,0,0,2425,2436,1,0,0,0,2426,2427,5,138,0,0,2427,2428,5,63,0,0,2428,2430,5,92,0,0,2429,2431,3,748,374,0,2430,2429,1,0,0,0,2430,2431,1,0,0,0,2431,2432,1,0,0,0,2432,2433,3,1118,559,0,2433,2434,3,106,53,0,2434,2436,1,0,0,0,2435,2302,1,0,0,0,2435,2312,1,0,0,0,2435,2329,1,0,0,0,2435,2344,1,0,0,0,2435,2356,1,0,0,0,2435,2366,1,0,0,0,2435,2383,1,0,0,0,2435,2391,1,0,0,0,2435,2399,1,0,0,0,2435,2408,1,0,0,0,2435,2426,1,0,0,0,2436,105,1,0,0,0,2437,2442,3,120,60,0,2438,2439,5,6,0,0,2439,2441,3,120,60,0,2440,2438,1,0,0,0,2441,2444,1,0,0,0,2442,2440,1,0,0,0,2442,2443,1,0,0,0,2443,107,1,0,0,0,2444,2442,1,0,0,0,2445,2446,5,68,0,0,2446,2455,3,1178,589,0,2447,2448,5,64,0,0,2448,2449,3,110,55,0,2449,2450,5,94,0,0,2450,2451,3,110,55,0,2451,2455,1,0,0,0,2452,2453,5,105,0,0,2453,2455,3,114,57,0,2454,2445,1,0,0,0,2454,2447,1,0,0,0,2454,2452,1,0,0,0,2455,109,1,0,0,0,2456,2457,5,2,0,0,2457,2462,3,112,56,0,2458,2459,5,6,0,0,2459,2461,3,112,56,0,2460,2458,1,0,0,0,2461,2464,1,0,0,0,2462,2460,1,0,0,0,2462,2463,1,0,0,0,2463,2465,1,0,0,0,2464,2462,1,0,0,0,2465,2466,5,3,0,0,2466,111,1,0,0,0,2467,2471,3,1178,589,0,2468,2471,5,262,0,0,2469,2471,5,260,0,0,2470,2467,1,0,0,0,2470,2468,1,0,0,0,2470,2469,1,0,0,0,2471,113,1,0,0,0,2472,2473,5,2,0,0,2473,2474,5,533,0,0,2474,2475,3,322,161,0,2475,2476,5,6,0,0,2476,2477,5,534,0,0,2477,2478,3,322,161,0,2478,2479,5,3,0,0,2479,115,1,0,0,0,2480,2481,5,435,0,0,2481,2482,5,285,0,0,2482,2483,3,1412,706,0,2483,2484,3,144,72,0,2484,2489,1,0,0,0,2485,2486,5,436,0,0,2486,2487,5,285,0,0,2487,2489,3,1412,706,0,2488,2480,1,0,0,0,2488,2485,1,0,0,0,2489,117,1,0,0,0,2490,2491,5,435,0,0,2491,2492,5,285,0,0,2492,2493,3,1412,706,0,2493,119,1,0,0,0,2494,2497,5,133,0,0,2495,2496,5,45,0,0,2496,2498,3,1436,718,0,2497,2495,1,0,0,0,2497,2498,1,0,0,0,2498,2499,1,0,0,0,2499,2712,3,236,118,0,2500,2501,5,138,0,0,2501,2502,5,45,0,0,2502,2503,3,1436,718,0,2503,2504,3,476,238,0,2504,2712,1,0,0,0,2505,2506,5,372,0,0,2506,2507,5,45,0,0,2507,2712,3,1436,718,0,2508,2509,5,191,0,0,2509,2511,5,45,0,0,2510,2512,3,748,374,0,2511,2510,1,0,0,0,2511,2512,1,0,0,0,2512,2513,1,0,0,0,2513,2515,3,1436,718,0,2514,2516,3,124,62,0,2515,2514,1,0,0,0,2515,2516,1,0,0,0,2516,2712,1,0,0,0,2517,2518,5,333,0,0,2518,2519,5,379,0,0,2519,2712,5,277,0,0,2520,2521,5,158,0,0,2521,2522,5,80,0,0,2522,2712,3,1436,718,0,2523,2524,5,333,0,0,2524,2525,5,379,0,0,2525,2712,5,158,0,0,2526,2527,5,333,0,0,2527,2712,7,19,0,0,2528,2530,5,193,0,0,2529,2531,7,20,0,0,2530,2529,1,0,0,0,2530,2531,1,0,0,0,2531,2532,1,0,0,0,2532,2712,5,357,0,0,2533,2534,5,186,0,0,2534,2538,5,357,0,0,2535,2539,5,30,0,0,2536,2539,5,99,0,0,2537,2539,3,1436,718,0,2538,2535,1,0,0,0,2538,2536,1,0,0,0,2538,2537,1,0,0,0,2539,2712,1,0,0,0,2540,2541,5,193,0,0,2541,2542,7,20,0,0,2542,2543,5,321,0,0,2543,2712,3,1436,718,0,2544,2545,5,186,0,0,2545,2546,5,321,0,0,2546,2712,3,1436,718,0,2547,2549,5,269,0,0,2548,2547,1,0,0,0,2548,2549,1,0,0,0,2549,2550,1,0,0,0,2550,2551,5,228,0,0,2551,2712,3,1412,706,0,2552,2553,5,275,0,0,2553,2712,3,558,279,0,2554,2555,5,77,0,0,2555,2712,5,275,0,0,2556,2557,5,282,0,0,2557,2558,5,94,0,0,2558,2712,3,1470,735,0,2559,2560,5,333,0,0,2560,2561,5,351,0,0,2561,2712,3,1400,700,0,2562,2563,5,333,0,0,2563,2712,3,132,66,0,2564,2565,5,313,0,0,2565,2712,3,132,66,0,2566,2567,5,312,0,0,2567,2568,5,219,0,0,2568,2712,3,130,65,0,2569,2570,5,193,0,0,2570,2571,5,414,0,0,2571,2572,5,251,0,0,2572,2712,5,327,0,0,2573,2574,5,186,0,0,2574,2575,5,414,0,0,2575,2576,5,251,0,0,2576,2712,5,327,0,0,2577,2578,5,209,0,0,2578,2579,5,414,0,0,2579,2580,5,251,0,0,2580,2712,5,327,0,0,2581,2582,5,269,0,0,2582,2583,5,209,0,0,2583,2584,5,414,0,0,2584,2585,5,251,0,0,2585,2712,5,327,0,0,2586,2588,5,191,0,0,2587,2589,5,44,0,0,2588,2587,1,0,0,0,2588,2589,1,0,0,0,2589,2591,1,0,0,0,2590,2592,3,748,374,0,2591,2590,1,0,0,0,2591,2592,1,0,0,0,2592,2593,1,0,0,0,2593,2595,3,1432,716,0,2594,2596,3,124,62,0,2595,2594,1,0,0,0,2595,2596,1,0,0,0,2596,2712,1,0,0,0,2597,2599,5,133,0,0,2598,2600,5,44,0,0,2599,2598,1,0,0,0,2599,2600,1,0,0,0,2600,2602,1,0,0,0,2601,2603,3,516,258,0,2602,2601,1,0,0,0,2602,2603,1,0,0,0,2603,2604,1,0,0,0,2604,2712,3,206,103,0,2605,2607,5,138,0,0,2606,2608,5,44,0,0,2607,2606,1,0,0,0,2607,2608,1,0,0,0,2608,2609,1,0,0,0,2609,2610,3,1432,716,0,2610,2611,3,122,61,0,2611,2712,1,0,0,0,2612,2614,5,138,0,0,2613,2615,5,44,0,0,2614,2613,1,0,0,0,2614,2615,1,0,0,0,2615,2616,1,0,0,0,2616,2617,3,1432,716,0,2617,2618,7,21,0,0,2618,2619,5,77,0,0,2619,2620,5,78,0,0,2620,2712,1,0,0,0,2621,2623,5,138,0,0,2622,2624,5,44,0,0,2623,2622,1,0,0,0,2623,2624,1,0,0,0,2624,2625,1,0,0,0,2625,2626,3,1432,716,0,2626,2627,5,191,0,0,2627,2629,5,437,0,0,2628,2630,3,748,374,0,2629,2628,1,0,0,0,2629,2630,1,0,0,0,2630,2712,1,0,0,0,2631,2633,5,138,0,0,2632,2634,5,44,0,0,2633,2632,1,0,0,0,2633,2634,1,0,0,0,2634,2635,1,0,0,0,2635,2636,3,1432,716,0,2636,2637,5,333,0,0,2637,2638,5,342,0,0,2638,2639,3,1464,732,0,2639,2712,1,0,0,0,2640,2642,5,138,0,0,2641,2643,5,44,0,0,2642,2641,1,0,0,0,2642,2643,1,0,0,0,2643,2644,1,0,0,0,2644,2645,3,1432,716,0,2645,2646,7,22,0,0,2646,2647,3,132,66,0,2647,2712,1,0,0,0,2648,2650,5,138,0,0,2649,2651,5,44,0,0,2650,2649,1,0,0,0,2650,2651,1,0,0,0,2651,2652,1,0,0,0,2652,2653,3,1432,716,0,2653,2654,5,333,0,0,2654,2655,5,345,0,0,2655,2656,3,1474,737,0,2656,2712,1,0,0,0,2657,2659,5,138,0,0,2658,2660,5,44,0,0,2659,2658,1,0,0,0,2659,2660,1,0,0,0,2660,2661,1,0,0,0,2661,2662,3,1432,716,0,2662,2663,5,133,0,0,2663,2664,5,438,0,0,2664,2665,3,222,111,0,2665,2666,5,36,0,0,2666,2668,5,219,0,0,2667,2669,3,314,157,0,2668,2667,1,0,0,0,2668,2669,1,0,0,0,2669,2712,1,0,0,0,2670,2672,5,138,0,0,2671,2673,5,44,0,0,2672,2671,1,0,0,0,2672,2673,1,0,0,0,2673,2674,1,0,0,0,2674,2675,3,1432,716,0,2675,2676,3,140,70,0,2676,2712,1,0,0,0,2677,2679,5,138,0,0,2678,2680,5,44,0,0,2679,2678,1,0,0,0,2679,2680,1,0,0,0,2680,2681,1,0,0,0,2681,2682,3,1432,716,0,2682,2683,5,191,0,0,2683,2685,5,219,0,0,2684,2686,3,748,374,0,2685,2684,1,0,0,0,2685,2686,1,0,0,0,2686,2712,1,0,0,0,2687,2689,5,138,0,0,2688,2690,5,44,0,0,2689,2688,1,0,0,0,2689,2690,1,0,0,0,2690,2691,1,0,0,0,2691,2693,3,1432,716,0,2692,2694,3,768,384,0,2693,2692,1,0,0,0,2693,2694,1,0,0,0,2694,2695,1,0,0,0,2695,2696,5,360,0,0,2696,2698,3,1168,584,0,2697,2699,3,126,63,0,2698,2697,1,0,0,0,2698,2699,1,0,0,0,2699,2701,1,0,0,0,2700,2702,3,128,64,0,2701,2700,1,0,0,0,2701,2702,1,0,0,0,2702,2712,1,0,0,0,2703,2705,5,138,0,0,2704,2706,5,44,0,0,2705,2704,1,0,0,0,2705,2706,1,0,0,0,2706,2707,1,0,0,0,2707,2708,3,1432,716,0,2708,2709,3,372,186,0,2709,2712,1,0,0,0,2710,2712,3,372,186,0,2711,2494,1,0,0,0,2711,2500,1,0,0,0,2711,2505,1,0,0,0,2711,2508,1,0,0,0,2711,2517,1,0,0,0,2711,2520,1,0,0,0,2711,2523,1,0,0,0,2711,2526,1,0,0,0,2711,2528,1,0,0,0,2711,2533,1,0,0,0,2711,2540,1,0,0,0,2711,2544,1,0,0,0,2711,2548,1,0,0,0,2711,2552,1,0,0,0,2711,2554,1,0,0,0,2711,2556,1,0,0,0,2711,2559,1,0,0,0,2711,2562,1,0,0,0,2711,2564,1,0,0,0,2711,2566,1,0,0,0,2711,2569,1,0,0,0,2711,2573,1,0,0,0,2711,2577,1,0,0,0,2711,2581,1,0,0,0,2711,2586,1,0,0,0,2711,2597,1,0,0,0,2711,2605,1,0,0,0,2711,2612,1,0,0,0,2711,2621,1,0,0,0,2711,2631,1,0,0,0,2711,2640,1,0,0,0,2711,2648,1,0,0,0,2711,2657,1,0,0,0,2711,2670,1,0,0,0,2711,2677,1,0,0,0,2711,2687,1,0,0,0,2711,2703,1,0,0,0,2711,2710,1,0,0,0,2712,121,1,0,0,0,2713,2714,5,333,0,0,2714,2715,5,53,0,0,2715,2719,3,1212,606,0,2716,2717,5,191,0,0,2717,2719,5,53,0,0,2718,2713,1,0,0,0,2718,2716,1,0,0,0,2719,123,1,0,0,0,2720,2721,7,23,0,0,2721,125,1,0,0,0,2722,2723,5,43,0,0,2723,2724,3,558,279,0,2724,127,1,0,0,0,2725,2726,5,100,0,0,2726,2727,3,1212,606,0,2727,129,1,0,0,0,2728,2735,5,270,0,0,2729,2735,5,113,0,0,2730,2735,5,53,0,0,2731,2732,5,100,0,0,2732,2733,5,226,0,0,2733,2735,3,1436,718,0,2734,2728,1,0,0,0,2734,2729,1,0,0,0,2734,2730,1,0,0,0,2734,2731,1,0,0,0,2735,131,1,0,0,0,2736,2737,5,2,0,0,2737,2738,3,136,68,0,2738,2739,5,3,0,0,2739,133,1,0,0,0,2740,2741,5,105,0,0,2741,2742,3,132,66,0,2742,135,1,0,0,0,2743,2748,3,138,69,0,2744,2745,5,6,0,0,2745,2747,3,138,69,0,2746,2744,1,0,0,0,2747,2750,1,0,0,0,2748,2746,1,0,0,0,2748,2749,1,0,0,0,2749,137,1,0,0,0,2750,2748,1,0,0,0,2751,2760,3,1490,745,0,2752,2753,5,10,0,0,2753,2761,3,502,251,0,2754,2755,5,11,0,0,2755,2758,3,1490,745,0,2756,2757,5,10,0,0,2757,2759,3,502,251,0,2758,2756,1,0,0,0,2758,2759,1,0,0,0,2759,2761,1,0,0,0,2760,2752,1,0,0,0,2760,2754,1,0,0,0,2760,2761,1,0,0,0,2761,139,1,0,0,0,2762,2764,3,142,71,0,2763,2762,1,0,0,0,2764,2765,1,0,0,0,2765,2763,1,0,0,0,2765,2766,1,0,0,0,2766,141,1,0,0,0,2767,2772,5,314,0,0,2768,2770,3,14,7,0,2769,2768,1,0,0,0,2769,2770,1,0,0,0,2770,2771,1,0,0,0,2771,2773,3,322,161,0,2772,2769,1,0,0,0,2772,2773,1,0,0,0,2773,2781,1,0,0,0,2774,2778,5,333,0,0,2775,2779,3,318,159,0,2776,2777,5,438,0,0,2777,2779,3,222,111,0,2778,2775,1,0,0,0,2778,2776,1,0,0,0,2779,2781,1,0,0,0,2780,2767,1,0,0,0,2780,2774,1,0,0,0,2781,143,1,0,0,0,2782,2783,5,62,0,0,2783,2784,5,422,0,0,2784,2785,5,105,0,0,2785,2786,5,2,0,0,2786,2787,3,148,74,0,2787,2788,5,3,0,0,2788,2809,1,0,0,0,2789,2790,5,62,0,0,2790,2791,5,422,0,0,2791,2792,5,68,0,0,2792,2793,5,2,0,0,2793,2794,3,1328,664,0,2794,2795,5,3,0,0,2795,2809,1,0,0,0,2796,2797,5,62,0,0,2797,2798,5,422,0,0,2798,2799,5,64,0,0,2799,2800,5,2,0,0,2800,2801,3,1328,664,0,2801,2802,5,3,0,0,2802,2803,5,94,0,0,2803,2804,5,2,0,0,2804,2805,3,1328,664,0,2805,2806,5,3,0,0,2806,2809,1,0,0,0,2807,2809,5,53,0,0,2808,2782,1,0,0,0,2808,2789,1,0,0,0,2808,2796,1,0,0,0,2808,2807,1,0,0,0,2809,145,1,0,0,0,2810,2811,3,1488,744,0,2811,2812,3,1456,728,0,2812,147,1,0,0,0,2813,2818,3,146,73,0,2814,2815,5,6,0,0,2815,2817,3,146,73,0,2816,2814,1,0,0,0,2817,2820,1,0,0,0,2818,2816,1,0,0,0,2818,2819,1,0,0,0,2819,149,1,0,0,0,2820,2818,1,0,0,0,2821,2822,5,138,0,0,2822,2823,5,360,0,0,2823,2824,3,558,279,0,2824,2825,3,152,76,0,2825,151,1,0,0,0,2826,2831,3,154,77,0,2827,2828,5,6,0,0,2828,2830,3,154,77,0,2829,2827,1,0,0,0,2830,2833,1,0,0,0,2831,2829,1,0,0,0,2831,2832,1,0,0,0,2832,153,1,0,0,0,2833,2831,1,0,0,0,2834,2835,5,133,0,0,2835,2836,5,143,0,0,2836,2838,3,1152,576,0,2837,2839,3,124,62,0,2838,2837,1,0,0,0,2838,2839,1,0,0,0,2839,2864,1,0,0,0,2840,2841,5,191,0,0,2841,2843,5,143,0,0,2842,2844,3,748,374,0,2843,2842,1,0,0,0,2843,2844,1,0,0,0,2844,2845,1,0,0,0,2845,2847,3,1474,737,0,2846,2848,3,124,62,0,2847,2846,1,0,0,0,2847,2848,1,0,0,0,2848,2864,1,0,0,0,2849,2850,5,138,0,0,2850,2851,5,143,0,0,2851,2853,3,1474,737,0,2852,2854,3,768,384,0,2853,2852,1,0,0,0,2853,2854,1,0,0,0,2854,2855,1,0,0,0,2855,2856,5,360,0,0,2856,2858,3,1168,584,0,2857,2859,3,126,63,0,2858,2857,1,0,0,0,2858,2859,1,0,0,0,2859,2861,1,0,0,0,2860,2862,3,124,62,0,2861,2860,1,0,0,0,2861,2862,1,0,0,0,2862,2864,1,0,0,0,2863,2834,1,0,0,0,2863,2840,1,0,0,0,2863,2849,1,0,0,0,2864,155,1,0,0,0,2865,2868,5,157,0,0,2866,2869,3,994,497,0,2867,2869,5,30,0,0,2868,2866,1,0,0,0,2868,2867,1,0,0,0,2869,157,1,0,0,0,2870,2872,5,169,0,0,2871,2873,3,172,86,0,2872,2871,1,0,0,0,2872,2873,1,0,0,0,2873,2874,1,0,0,0,2874,2876,3,1406,703,0,2875,2877,3,240,120,0,2876,2875,1,0,0,0,2876,2877,1,0,0,0,2877,2878,1,0,0,0,2878,2880,3,160,80,0,2879,2881,3,162,81,0,2880,2879,1,0,0,0,2880,2881,1,0,0,0,2881,2882,1,0,0,0,2882,2884,3,164,82,0,2883,2885,3,174,87,0,2884,2883,1,0,0,0,2884,2885,1,0,0,0,2885,2887,1,0,0,0,2886,2888,3,14,7,0,2887,2886,1,0,0,0,2887,2888,1,0,0,0,2888,2889,1,0,0,0,2889,2891,3,166,83,0,2890,2892,3,1144,572,0,2891,2890,1,0,0,0,2891,2892,1,0,0,0,2892,2908,1,0,0,0,2893,2894,5,169,0,0,2894,2895,5,2,0,0,2895,2896,3,942,471,0,2896,2897,5,3,0,0,2897,2899,5,94,0,0,2898,2900,3,162,81,0,2899,2898,1,0,0,0,2899,2900,1,0,0,0,2900,2901,1,0,0,0,2901,2903,3,164,82,0,2902,2904,3,14,7,0,2903,2902,1,0,0,0,2903,2904,1,0,0,0,2904,2905,1,0,0,0,2905,2906,3,166,83,0,2906,2908,1,0,0,0,2907,2870,1,0,0,0,2907,2893,1,0,0,0,2908,159,1,0,0,0,2909,2910,7,24,0,0,2910,161,1,0,0,0,2911,2912,5,297,0,0,2912,163,1,0,0,0,2913,2917,3,1458,729,0,2914,2917,5,343,0,0,2915,2917,5,344,0,0,2916,2913,1,0,0,0,2916,2914,1,0,0,0,2916,2915,1,0,0,0,2917,165,1,0,0,0,2918,2924,3,168,84,0,2919,2920,5,2,0,0,2920,2921,3,178,89,0,2921,2922,5,3,0,0,2922,2924,1,0,0,0,2923,2918,1,0,0,0,2923,2919,1,0,0,0,2924,167,1,0,0,0,2925,2927,3,170,85,0,2926,2925,1,0,0,0,2927,2930,1,0,0,0,2928,2926,1,0,0,0,2928,2929,1,0,0,0,2929,169,1,0,0,0,2930,2928,1,0,0,0,2931,2971,5,107,0,0,2932,2971,5,112,0,0,2933,2935,5,183,0,0,2934,2936,3,872,436,0,2935,2934,1,0,0,0,2935,2936,1,0,0,0,2936,2937,1,0,0,0,2937,2971,3,1458,729,0,2938,2940,5,78,0,0,2939,2941,3,872,436,0,2940,2939,1,0,0,0,2940,2941,1,0,0,0,2941,2942,1,0,0,0,2942,2971,3,1458,729,0,2943,2971,5,171,0,0,2944,2971,5,216,0,0,2945,2947,5,298,0,0,2946,2948,3,872,436,0,2947,2946,1,0,0,0,2947,2948,1,0,0,0,2948,2949,1,0,0,0,2949,2971,3,1458,729,0,2950,2952,5,197,0,0,2951,2953,3,872,436,0,2952,2951,1,0,0,0,2952,2953,1,0,0,0,2953,2954,1,0,0,0,2954,2971,3,1458,729,0,2955,2956,5,209,0,0,2956,2957,5,298,0,0,2957,2971,3,244,122,0,2958,2959,5,209,0,0,2959,2960,5,298,0,0,2960,2971,5,9,0,0,2961,2962,5,209,0,0,2962,2963,5,77,0,0,2963,2964,5,78,0,0,2964,2971,3,244,122,0,2965,2966,5,209,0,0,2966,2967,5,78,0,0,2967,2971,3,244,122,0,2968,2969,5,194,0,0,2969,2971,3,1458,729,0,2970,2931,1,0,0,0,2970,2932,1,0,0,0,2970,2933,1,0,0,0,2970,2938,1,0,0,0,2970,2943,1,0,0,0,2970,2944,1,0,0,0,2970,2945,1,0,0,0,2970,2950,1,0,0,0,2970,2955,1,0,0,0,2970,2958,1,0,0,0,2970,2961,1,0,0,0,2970,2965,1,0,0,0,2970,2968,1,0,0,0,2971,171,1,0,0,0,2972,2973,5,107,0,0,2973,173,1,0,0,0,2974,2976,3,176,88,0,2975,2974,1,0,0,0,2975,2976,1,0,0,0,2976,2977,1,0,0,0,2977,2978,5,184,0,0,2978,2979,3,1458,729,0,2979,175,1,0,0,0,2980,2981,5,100,0,0,2981,177,1,0,0,0,2982,2987,3,180,90,0,2983,2984,5,6,0,0,2984,2986,3,180,90,0,2985,2983,1,0,0,0,2986,2989,1,0,0,0,2987,2985,1,0,0,0,2987,2988,1,0,0,0,2988,179,1,0,0,0,2989,2987,1,0,0,0,2990,2992,3,1490,745,0,2991,2993,3,182,91,0,2992,2991,1,0,0,0,2992,2993,1,0,0,0,2993,181,1,0,0,0,2994,3002,3,72,36,0,2995,3002,3,322,161,0,2996,3002,5,9,0,0,2997,2998,5,2,0,0,2998,2999,3,184,92,0,2999,3e3,5,3,0,0,3e3,3002,1,0,0,0,3001,2994,1,0,0,0,3001,2995,1,0,0,0,3001,2996,1,0,0,0,3001,2997,1,0,0,0,3002,183,1,0,0,0,3003,3008,3,186,93,0,3004,3005,5,6,0,0,3005,3007,3,186,93,0,3006,3004,1,0,0,0,3007,3010,1,0,0,0,3008,3006,1,0,0,0,3008,3009,1,0,0,0,3009,185,1,0,0,0,3010,3008,1,0,0,0,3011,3012,3,70,35,0,3012,187,1,0,0,0,3013,3015,5,46,0,0,3014,3016,3,190,95,0,3015,3014,1,0,0,0,3015,3016,1,0,0,0,3016,3017,1,0,0,0,3017,3019,5,92,0,0,3018,3020,3,516,258,0,3019,3018,1,0,0,0,3019,3020,1,0,0,0,3020,3021,1,0,0,0,3021,3087,3,1404,702,0,3022,3024,5,2,0,0,3023,3025,3,192,96,0,3024,3023,1,0,0,0,3024,3025,1,0,0,0,3025,3026,1,0,0,0,3026,3028,5,3,0,0,3027,3029,3,266,133,0,3028,3027,1,0,0,0,3028,3029,1,0,0,0,3029,3031,1,0,0,0,3030,3032,3,268,134,0,3031,3030,1,0,0,0,3031,3032,1,0,0,0,3032,3034,1,0,0,0,3033,3035,3,276,138,0,3034,3033,1,0,0,0,3034,3035,1,0,0,0,3035,3037,1,0,0,0,3036,3038,3,278,139,0,3037,3036,1,0,0,0,3037,3038,1,0,0,0,3038,3040,1,0,0,0,3039,3041,3,280,140,0,3040,3039,1,0,0,0,3040,3041,1,0,0,0,3041,3043,1,0,0,0,3042,3044,3,282,141,0,3043,3042,1,0,0,0,3043,3044,1,0,0,0,3044,3088,1,0,0,0,3045,3046,5,275,0,0,3046,3048,3,558,279,0,3047,3049,3,196,98,0,3048,3047,1,0,0,0,3048,3049,1,0,0,0,3049,3051,1,0,0,0,3050,3052,3,268,134,0,3051,3050,1,0,0,0,3051,3052,1,0,0,0,3052,3054,1,0,0,0,3053,3055,3,276,138,0,3054,3053,1,0,0,0,3054,3055,1,0,0,0,3055,3057,1,0,0,0,3056,3058,3,278,139,0,3057,3056,1,0,0,0,3057,3058,1,0,0,0,3058,3060,1,0,0,0,3059,3061,3,280,140,0,3060,3059,1,0,0,0,3060,3061,1,0,0,0,3061,3063,1,0,0,0,3062,3064,3,282,141,0,3063,3062,1,0,0,0,3063,3064,1,0,0,0,3064,3088,1,0,0,0,3065,3066,5,285,0,0,3066,3067,5,275,0,0,3067,3069,3,1412,706,0,3068,3070,3,196,98,0,3069,3068,1,0,0,0,3069,3070,1,0,0,0,3070,3071,1,0,0,0,3071,3073,3,144,72,0,3072,3074,3,268,134,0,3073,3072,1,0,0,0,3073,3074,1,0,0,0,3074,3076,1,0,0,0,3075,3077,3,276,138,0,3076,3075,1,0,0,0,3076,3077,1,0,0,0,3077,3079,1,0,0,0,3078,3080,3,278,139,0,3079,3078,1,0,0,0,3079,3080,1,0,0,0,3080,3082,1,0,0,0,3081,3083,3,280,140,0,3082,3081,1,0,0,0,3082,3083,1,0,0,0,3083,3085,1,0,0,0,3084,3086,3,282,141,0,3085,3084,1,0,0,0,3085,3086,1,0,0,0,3086,3088,1,0,0,0,3087,3022,1,0,0,0,3087,3045,1,0,0,0,3087,3065,1,0,0,0,3088,189,1,0,0,0,3089,3097,5,354,0,0,3090,3097,5,352,0,0,3091,3092,5,254,0,0,3092,3097,7,25,0,0,3093,3094,5,213,0,0,3094,3097,7,25,0,0,3095,3097,5,367,0,0,3096,3089,1,0,0,0,3096,3090,1,0,0,0,3096,3091,1,0,0,0,3096,3093,1,0,0,0,3096,3095,1,0,0,0,3097,191,1,0,0,0,3098,3099,3,198,99,0,3099,193,1,0,0,0,3100,3101,3,198,99,0,3101,195,1,0,0,0,3102,3103,5,2,0,0,3103,3104,3,200,100,0,3104,3105,5,3,0,0,3105,197,1,0,0,0,3106,3111,3,202,101,0,3107,3108,5,6,0,0,3108,3110,3,202,101,0,3109,3107,1,0,0,0,3110,3113,1,0,0,0,3111,3109,1,0,0,0,3111,3112,1,0,0,0,3112,199,1,0,0,0,3113,3111,1,0,0,0,3114,3119,3,204,102,0,3115,3116,5,6,0,0,3116,3118,3,204,102,0,3117,3115,1,0,0,0,3118,3121,1,0,0,0,3119,3117,1,0,0,0,3119,3120,1,0,0,0,3120,201,1,0,0,0,3121,3119,1,0,0,0,3122,3126,3,206,103,0,3123,3126,3,228,114,0,3124,3126,3,234,117,0,3125,3122,1,0,0,0,3125,3123,1,0,0,0,3125,3124,1,0,0,0,3126,203,1,0,0,0,3127,3130,3,212,106,0,3128,3130,3,234,117,0,3129,3127,1,0,0,0,3129,3128,1,0,0,0,3130,205,1,0,0,0,3131,3132,3,1434,717,0,3132,3134,3,1168,584,0,3133,3135,3,368,184,0,3134,3133,1,0,0,0,3134,3135,1,0,0,0,3135,3137,1,0,0,0,3136,3138,3,210,105,0,3137,3136,1,0,0,0,3137,3138,1,0,0,0,3138,3140,1,0,0,0,3139,3141,3,208,104,0,3140,3139,1,0,0,0,3140,3141,1,0,0,0,3141,3144,1,0,0,0,3142,3143,5,43,0,0,3143,3145,3,558,279,0,3144,3142,1,0,0,0,3144,3145,1,0,0,0,3145,3148,1,0,0,0,3146,3147,5,105,0,0,3147,3149,5,280,0,0,3148,3146,1,0,0,0,3148,3149,1,0,0,0,3149,3150,1,0,0,0,3150,3151,3,214,107,0,3151,207,1,0,0,0,3152,3153,5,543,0,0,3153,3154,3,1474,737,0,3154,209,1,0,0,0,3155,3162,5,345,0,0,3156,3163,5,544,0,0,3157,3163,5,205,0,0,3158,3163,5,545,0,0,3159,3163,5,546,0,0,3160,3163,5,53,0,0,3161,3163,3,1474,737,0,3162,3156,1,0,0,0,3162,3157,1,0,0,0,3162,3158,1,0,0,0,3162,3159,1,0,0,0,3162,3160,1,0,0,0,3162,3161,1,0,0,0,3163,211,1,0,0,0,3164,3167,3,1434,717,0,3165,3166,5,105,0,0,3166,3168,5,280,0,0,3167,3165,1,0,0,0,3167,3168,1,0,0,0,3168,3169,1,0,0,0,3169,3170,3,214,107,0,3170,213,1,0,0,0,3171,3173,3,216,108,0,3172,3171,1,0,0,0,3173,3176,1,0,0,0,3174,3172,1,0,0,0,3174,3175,1,0,0,0,3175,215,1,0,0,0,3176,3174,1,0,0,0,3177,3178,5,45,0,0,3178,3180,3,1436,718,0,3179,3177,1,0,0,0,3179,3180,1,0,0,0,3180,3181,1,0,0,0,3181,3183,3,218,109,0,3182,3184,3,224,112,0,3183,3182,1,0,0,0,3183,3184,1,0,0,0,3184,3186,1,0,0,0,3185,3187,3,226,113,0,3186,3185,1,0,0,0,3186,3187,1,0,0,0,3187,3196,1,0,0,0,3188,3190,3,218,109,0,3189,3191,3,224,112,0,3190,3189,1,0,0,0,3190,3191,1,0,0,0,3191,3193,1,0,0,0,3192,3194,3,226,113,0,3193,3192,1,0,0,0,3193,3194,1,0,0,0,3194,3196,1,0,0,0,3195,3179,1,0,0,0,3195,3188,1,0,0,0,3196,217,1,0,0,0,3197,3198,5,77,0,0,3198,3256,5,78,0,0,3199,3256,5,78,0,0,3200,3202,5,98,0,0,3201,3203,3,710,355,0,3202,3201,1,0,0,0,3202,3203,1,0,0,0,3203,3205,1,0,0,0,3204,3206,3,286,143,0,3205,3204,1,0,0,0,3205,3206,1,0,0,0,3206,3256,1,0,0,0,3207,3209,5,98,0,0,3208,3210,3,220,110,0,3209,3208,1,0,0,0,3209,3210,1,0,0,0,3210,3211,1,0,0,0,3211,3256,3,284,142,0,3212,3213,5,85,0,0,3213,3215,5,245,0,0,3214,3216,3,710,355,0,3215,3214,1,0,0,0,3215,3216,1,0,0,0,3216,3218,1,0,0,0,3217,3219,3,286,143,0,3218,3217,1,0,0,0,3218,3219,1,0,0,0,3219,3256,1,0,0,0,3220,3221,5,42,0,0,3221,3222,5,2,0,0,3222,3223,3,1212,606,0,3223,3225,5,3,0,0,3224,3226,3,238,119,0,3225,3224,1,0,0,0,3225,3226,1,0,0,0,3226,3256,1,0,0,0,3227,3228,5,53,0,0,3228,3256,3,1252,626,0,3229,3230,5,438,0,0,3230,3231,3,222,111,0,3231,3241,5,36,0,0,3232,3234,5,219,0,0,3233,3235,3,314,157,0,3234,3233,1,0,0,0,3234,3235,1,0,0,0,3235,3242,1,0,0,0,3236,3237,5,2,0,0,3237,3238,3,1212,606,0,3238,3239,5,3,0,0,3239,3240,5,440,0,0,3240,3242,1,0,0,0,3241,3232,1,0,0,0,3241,3236,1,0,0,0,3242,3256,1,0,0,0,3243,3244,5,86,0,0,3244,3246,3,1412,706,0,3245,3247,3,240,120,0,3246,3245,1,0,0,0,3246,3247,1,0,0,0,3247,3249,1,0,0,0,3248,3250,3,250,125,0,3249,3248,1,0,0,0,3249,3250,1,0,0,0,3250,3252,1,0,0,0,3251,3253,3,258,129,0,3252,3251,1,0,0,0,3252,3253,1,0,0,0,3253,3256,1,0,0,0,3254,3256,3,646,323,0,3255,3197,1,0,0,0,3255,3199,1,0,0,0,3255,3200,1,0,0,0,3255,3207,1,0,0,0,3255,3212,1,0,0,0,3255,3220,1,0,0,0,3255,3227,1,0,0,0,3255,3229,1,0,0,0,3255,3243,1,0,0,0,3255,3254,1,0,0,0,3256,219,1,0,0,0,3257,3259,5,273,0,0,3258,3260,5,77,0,0,3259,3258,1,0,0,0,3259,3260,1,0,0,0,3260,3261,1,0,0,0,3261,3262,5,56,0,0,3262,221,1,0,0,0,3263,3267,5,139,0,0,3264,3265,5,147,0,0,3265,3267,5,53,0,0,3266,3263,1,0,0,0,3266,3264,1,0,0,0,3267,223,1,0,0,0,3268,3272,5,54,0,0,3269,3270,5,77,0,0,3270,3272,5,54,0,0,3271,3268,1,0,0,0,3271,3269,1,0,0,0,3272,225,1,0,0,0,3273,3274,5,69,0,0,3274,3275,7,16,0,0,3275,227,1,0,0,0,3276,3277,5,120,0,0,3277,3278,3,1412,706,0,3278,3279,3,230,115,0,3279,229,1,0,0,0,3280,3281,7,26,0,0,3281,3283,3,232,116,0,3282,3280,1,0,0,0,3283,3286,1,0,0,0,3284,3282,1,0,0,0,3284,3285,1,0,0,0,3285,231,1,0,0,0,3286,3284,1,0,0,0,3287,3288,7,27,0,0,3288,233,1,0,0,0,3289,3290,5,45,0,0,3290,3291,3,1436,718,0,3291,3292,3,236,118,0,3292,3295,1,0,0,0,3293,3295,3,236,118,0,3294,3289,1,0,0,0,3294,3293,1,0,0,0,3295,235,1,0,0,0,3296,3297,5,42,0,0,3297,3298,5,2,0,0,3298,3299,3,1212,606,0,3299,3300,5,3,0,0,3300,3301,3,476,238,0,3301,3383,1,0,0,0,3302,3320,5,98,0,0,3303,3304,5,2,0,0,3304,3305,3,244,122,0,3305,3307,5,3,0,0,3306,3308,3,248,124,0,3307,3306,1,0,0,0,3307,3308,1,0,0,0,3308,3310,1,0,0,0,3309,3311,3,710,355,0,3310,3309,1,0,0,0,3310,3311,1,0,0,0,3311,3313,1,0,0,0,3312,3314,3,286,143,0,3313,3312,1,0,0,0,3313,3314,1,0,0,0,3314,3315,1,0,0,0,3315,3316,3,476,238,0,3316,3321,1,0,0,0,3317,3318,3,288,144,0,3318,3319,3,476,238,0,3319,3321,1,0,0,0,3320,3303,1,0,0,0,3320,3317,1,0,0,0,3321,3383,1,0,0,0,3322,3323,5,85,0,0,3323,3341,5,245,0,0,3324,3325,5,2,0,0,3325,3326,3,244,122,0,3326,3328,5,3,0,0,3327,3329,3,248,124,0,3328,3327,1,0,0,0,3328,3329,1,0,0,0,3329,3331,1,0,0,0,3330,3332,3,710,355,0,3331,3330,1,0,0,0,3331,3332,1,0,0,0,3332,3334,1,0,0,0,3333,3335,3,286,143,0,3334,3333,1,0,0,0,3334,3335,1,0,0,0,3335,3336,1,0,0,0,3336,3337,3,476,238,0,3337,3342,1,0,0,0,3338,3339,3,288,144,0,3339,3340,3,476,238,0,3340,3342,1,0,0,0,3341,3324,1,0,0,0,3341,3338,1,0,0,0,3342,3383,1,0,0,0,3343,3345,5,199,0,0,3344,3346,3,634,317,0,3345,3344,1,0,0,0,3345,3346,1,0,0,0,3346,3347,1,0,0,0,3347,3348,5,2,0,0,3348,3349,3,252,126,0,3349,3351,5,3,0,0,3350,3352,3,248,124,0,3351,3350,1,0,0,0,3351,3352,1,0,0,0,3352,3354,1,0,0,0,3353,3355,3,710,355,0,3354,3353,1,0,0,0,3354,3355,1,0,0,0,3355,3357,1,0,0,0,3356,3358,3,286,143,0,3357,3356,1,0,0,0,3357,3358,1,0,0,0,3358,3360,1,0,0,0,3359,3361,3,256,128,0,3360,3359,1,0,0,0,3360,3361,1,0,0,0,3361,3362,1,0,0,0,3362,3363,3,476,238,0,3363,3383,1,0,0,0,3364,3365,5,63,0,0,3365,3366,5,245,0,0,3366,3367,5,2,0,0,3367,3368,3,244,122,0,3368,3369,5,3,0,0,3369,3370,5,86,0,0,3370,3372,3,1412,706,0,3371,3373,3,240,120,0,3372,3371,1,0,0,0,3372,3373,1,0,0,0,3373,3375,1,0,0,0,3374,3376,3,250,125,0,3375,3374,1,0,0,0,3375,3376,1,0,0,0,3376,3378,1,0,0,0,3377,3379,3,258,129,0,3378,3377,1,0,0,0,3378,3379,1,0,0,0,3379,3380,1,0,0,0,3380,3381,3,476,238,0,3381,3383,1,0,0,0,3382,3296,1,0,0,0,3382,3302,1,0,0,0,3382,3322,1,0,0,0,3382,3343,1,0,0,0,3382,3364,1,0,0,0,3383,237,1,0,0,0,3384,3385,5,269,0,0,3385,3386,5,228,0,0,3386,239,1,0,0,0,3387,3388,5,2,0,0,3388,3389,3,244,122,0,3389,3390,5,3,0,0,3390,241,1,0,0,0,3391,3392,5,2,0,0,3392,3393,3,246,123,0,3393,3394,5,3,0,0,3394,243,1,0,0,0,3395,3400,3,1432,716,0,3396,3397,5,6,0,0,3397,3399,3,1432,716,0,3398,3396,1,0,0,0,3399,3402,1,0,0,0,3400,3398,1,0,0,0,3400,3401,1,0,0,0,3401,245,1,0,0,0,3402,3400,1,0,0,0,3403,3408,3,1434,717,0,3404,3405,5,6,0,0,3405,3407,3,1434,717,0,3406,3404,1,0,0,0,3407,3410,1,0,0,0,3408,3406,1,0,0,0,3408,3409,1,0,0,0,3409,247,1,0,0,0,3410,3408,1,0,0,0,3411,3412,5,441,0,0,3412,3413,5,2,0,0,3413,3414,3,244,122,0,3414,3415,5,3,0,0,3415,249,1,0,0,0,3416,3417,5,258,0,0,3417,3418,7,28,0,0,3418,251,1,0,0,0,3419,3424,3,254,127,0,3420,3421,5,6,0,0,3421,3423,3,254,127,0,3422,3420,1,0,0,0,3423,3426,1,0,0,0,3424,3422,1,0,0,0,3424,3425,1,0,0,0,3425,253,1,0,0,0,3426,3424,1,0,0,0,3427,3428,3,640,320,0,3428,3435,5,105,0,0,3429,3436,3,732,366,0,3430,3431,5,278,0,0,3431,3432,5,2,0,0,3432,3433,3,732,366,0,3433,3434,5,3,0,0,3434,3436,1,0,0,0,3435,3429,1,0,0,0,3435,3430,1,0,0,0,3436,255,1,0,0,0,3437,3438,5,103,0,0,3438,3439,5,2,0,0,3439,3440,3,1212,606,0,3440,3441,5,3,0,0,3441,257,1,0,0,0,3442,3451,3,260,130,0,3443,3451,3,262,131,0,3444,3445,3,260,130,0,3445,3446,3,262,131,0,3446,3451,1,0,0,0,3447,3448,3,262,131,0,3448,3449,3,260,130,0,3449,3451,1,0,0,0,3450,3442,1,0,0,0,3450,3443,1,0,0,0,3450,3444,1,0,0,0,3450,3447,1,0,0,0,3451,259,1,0,0,0,3452,3453,5,80,0,0,3453,3454,5,369,0,0,3454,3455,3,264,132,0,3455,261,1,0,0,0,3456,3457,5,80,0,0,3457,3458,5,182,0,0,3458,3459,3,264,132,0,3459,263,1,0,0,0,3460,3461,5,269,0,0,3461,3470,5,132,0,0,3462,3470,5,315,0,0,3463,3470,5,150,0,0,3464,3465,5,333,0,0,3465,3467,7,29,0,0,3466,3468,3,244,122,0,3467,3466,1,0,0,0,3467,3468,1,0,0,0,3468,3470,1,0,0,0,3469,3460,1,0,0,0,3469,3462,1,0,0,0,3469,3463,1,0,0,0,3469,3464,1,0,0,0,3470,265,1,0,0,0,3471,3472,5,238,0,0,3472,3473,5,2,0,0,3473,3474,3,1390,695,0,3474,3475,5,3,0,0,3475,267,1,0,0,0,3476,3477,3,270,135,0,3477,269,1,0,0,0,3478,3479,5,285,0,0,3479,3480,5,147,0,0,3480,3481,3,1474,737,0,3481,3482,5,2,0,0,3482,3483,3,272,136,0,3483,3484,5,3,0,0,3484,271,1,0,0,0,3485,3490,3,274,137,0,3486,3487,5,6,0,0,3487,3489,3,274,137,0,3488,3486,1,0,0,0,3489,3492,1,0,0,0,3490,3488,1,0,0,0,3490,3491,1,0,0,0,3491,273,1,0,0,0,3492,3490,1,0,0,0,3493,3495,3,1432,716,0,3494,3496,3,646,323,0,3495,3494,1,0,0,0,3495,3496,1,0,0,0,3496,3498,1,0,0,0,3497,3499,3,648,324,0,3498,3497,1,0,0,0,3498,3499,1,0,0,0,3499,3517,1,0,0,0,3500,3502,3,1262,631,0,3501,3503,3,646,323,0,3502,3501,1,0,0,0,3502,3503,1,0,0,0,3503,3505,1,0,0,0,3504,3506,3,648,324,0,3505,3504,1,0,0,0,3505,3506,1,0,0,0,3506,3517,1,0,0,0,3507,3508,5,2,0,0,3508,3509,3,1212,606,0,3509,3511,5,3,0,0,3510,3512,3,646,323,0,3511,3510,1,0,0,0,3511,3512,1,0,0,0,3512,3514,1,0,0,0,3513,3515,3,648,324,0,3514,3513,1,0,0,0,3514,3515,1,0,0,0,3515,3517,1,0,0,0,3516,3493,1,0,0,0,3516,3500,1,0,0,0,3516,3507,1,0,0,0,3517,275,1,0,0,0,3518,3519,5,100,0,0,3519,3520,3,1436,718,0,3520,277,1,0,0,0,3521,3522,5,105,0,0,3522,3528,3,132,66,0,3523,3524,5,379,0,0,3524,3528,5,277,0,0,3525,3526,5,105,0,0,3526,3528,5,277,0,0,3527,3521,1,0,0,0,3527,3523,1,0,0,0,3527,3525,1,0,0,0,3528,279,1,0,0,0,3529,3530,5,80,0,0,3530,3536,5,161,0,0,3531,3537,5,191,0,0,3532,3533,5,182,0,0,3533,3537,5,320,0,0,3534,3535,5,292,0,0,3535,3537,5,320,0,0,3536,3531,1,0,0,0,3536,3532,1,0,0,0,3536,3534,1,0,0,0,3537,281,1,0,0,0,3538,3539,5,351,0,0,3539,3540,3,1402,701,0,3540,283,1,0,0,0,3541,3543,3,642,321,0,3542,3541,1,0,0,0,3542,3543,1,0,0,0,3543,3545,1,0,0,0,3544,3546,3,1014,507,0,3545,3544,1,0,0,0,3545,3546,1,0,0,0,3546,3548,1,0,0,0,3547,3549,3,286,143,0,3548,3547,1,0,0,0,3548,3549,1,0,0,0,3549,285,1,0,0,0,3550,3551,5,100,0,0,3551,3552,5,226,0,0,3552,3553,5,351,0,0,3553,3554,3,1402,701,0,3554,287,1,0,0,0,3555,3556,5,100,0,0,3556,3557,5,226,0,0,3557,3558,3,1436,718,0,3558,289,1,0,0,0,3559,3560,5,46,0,0,3560,3565,5,342,0,0,3561,3563,3,516,258,0,3562,3561,1,0,0,0,3562,3563,1,0,0,0,3563,3564,1,0,0,0,3564,3566,3,558,279,0,3565,3562,1,0,0,0,3565,3566,1,0,0,0,3566,3568,1,0,0,0,3567,3569,3,918,459,0,3568,3567,1,0,0,0,3568,3569,1,0,0,0,3569,3570,1,0,0,0,3570,3573,5,80,0,0,3571,3574,3,1332,666,0,3572,3574,3,1328,664,0,3573,3571,1,0,0,0,3573,3572,1,0,0,0,3574,3575,1,0,0,0,3575,3576,5,64,0,0,3576,3577,3,1104,552,0,3577,291,1,0,0,0,3578,3579,5,138,0,0,3579,3581,5,342,0,0,3580,3582,3,748,374,0,3581,3580,1,0,0,0,3581,3582,1,0,0,0,3582,3583,1,0,0,0,3583,3584,3,558,279,0,3584,3585,5,333,0,0,3585,3586,5,342,0,0,3586,3587,3,1464,732,0,3587,293,1,0,0,0,3588,3590,5,46,0,0,3589,3591,3,190,95,0,3590,3589,1,0,0,0,3590,3591,1,0,0,0,3591,3592,1,0,0,0,3592,3594,5,92,0,0,3593,3595,3,516,258,0,3594,3593,1,0,0,0,3594,3595,1,0,0,0,3595,3596,1,0,0,0,3596,3597,3,296,148,0,3597,3598,5,36,0,0,3598,3600,3,1e3,500,0,3599,3601,3,298,149,0,3600,3599,1,0,0,0,3600,3601,1,0,0,0,3601,295,1,0,0,0,3602,3604,3,1404,702,0,3603,3605,3,242,121,0,3604,3603,1,0,0,0,3604,3605,1,0,0,0,3605,3607,1,0,0,0,3606,3608,3,276,138,0,3607,3606,1,0,0,0,3607,3608,1,0,0,0,3608,3610,1,0,0,0,3609,3611,3,278,139,0,3610,3609,1,0,0,0,3610,3611,1,0,0,0,3611,3613,1,0,0,0,3612,3614,3,280,140,0,3613,3612,1,0,0,0,3613,3614,1,0,0,0,3614,3616,1,0,0,0,3615,3617,3,282,141,0,3616,3615,1,0,0,0,3616,3617,1,0,0,0,3617,297,1,0,0,0,3618,3622,5,105,0,0,3619,3623,5,174,0,0,3620,3621,5,269,0,0,3621,3623,5,174,0,0,3622,3619,1,0,0,0,3622,3620,1,0,0,0,3623,299,1,0,0,0,3624,3626,5,46,0,0,3625,3627,3,304,152,0,3626,3625,1,0,0,0,3626,3627,1,0,0,0,3627,3628,1,0,0,0,3628,3629,5,259,0,0,3629,3631,5,376,0,0,3630,3632,3,516,258,0,3631,3630,1,0,0,0,3631,3632,1,0,0,0,3632,3633,1,0,0,0,3633,3634,3,302,151,0,3634,3635,5,36,0,0,3635,3637,3,1e3,500,0,3636,3638,3,298,149,0,3637,3636,1,0,0,0,3637,3638,1,0,0,0,3638,301,1,0,0,0,3639,3641,3,1408,704,0,3640,3642,3,242,121,0,3641,3640,1,0,0,0,3641,3642,1,0,0,0,3642,3644,1,0,0,0,3643,3645,3,276,138,0,3644,3643,1,0,0,0,3644,3645,1,0,0,0,3645,3647,1,0,0,0,3646,3648,3,134,67,0,3647,3646,1,0,0,0,3647,3648,1,0,0,0,3648,3650,1,0,0,0,3649,3651,3,282,141,0,3650,3649,1,0,0,0,3650,3651,1,0,0,0,3651,303,1,0,0,0,3652,3653,5,367,0,0,3653,305,1,0,0,0,3654,3655,5,305,0,0,3655,3656,5,259,0,0,3656,3658,5,376,0,0,3657,3659,3,630,315,0,3658,3657,1,0,0,0,3658,3659,1,0,0,0,3659,3660,1,0,0,0,3660,3662,3,1410,705,0,3661,3663,3,298,149,0,3662,3661,1,0,0,0,3662,3663,1,0,0,0,3663,307,1,0,0,0,3664,3666,5,46,0,0,3665,3667,3,190,95,0,3666,3665,1,0,0,0,3666,3667,1,0,0,0,3667,3668,1,0,0,0,3668,3670,5,328,0,0,3669,3671,3,516,258,0,3670,3669,1,0,0,0,3670,3671,1,0,0,0,3671,3672,1,0,0,0,3672,3674,3,1412,706,0,3673,3675,3,312,156,0,3674,3673,1,0,0,0,3674,3675,1,0,0,0,3675,309,1,0,0,0,3676,3677,5,138,0,0,3677,3679,5,328,0,0,3678,3680,3,748,374,0,3679,3678,1,0,0,0,3679,3680,1,0,0,0,3680,3681,1,0,0,0,3681,3682,3,1412,706,0,3682,3683,3,316,158,0,3683,311,1,0,0,0,3684,3685,3,316,158,0,3685,313,1,0,0,0,3686,3687,5,2,0,0,3687,3688,3,316,158,0,3688,3689,5,3,0,0,3689,315,1,0,0,0,3690,3692,3,318,159,0,3691,3690,1,0,0,0,3692,3693,1,0,0,0,3693,3691,1,0,0,0,3693,3694,1,0,0,0,3694,317,1,0,0,0,3695,3696,5,36,0,0,3696,3730,3,1172,586,0,3697,3698,5,148,0,0,3698,3730,3,322,161,0,3699,3730,5,173,0,0,3700,3702,5,225,0,0,3701,3703,3,320,160,0,3702,3701,1,0,0,0,3702,3703,1,0,0,0,3703,3704,1,0,0,0,3704,3730,3,322,161,0,3705,3706,5,260,0,0,3706,3730,3,322,161,0,3707,3708,5,262,0,0,3708,3730,3,322,161,0,3709,3710,5,269,0,0,3710,3730,7,30,0,0,3711,3712,5,281,0,0,3712,3713,5,147,0,0,3713,3730,3,1432,716,0,3714,3715,5,328,0,0,3715,3716,5,266,0,0,3716,3730,3,558,279,0,3717,3719,5,340,0,0,3718,3720,3,14,7,0,3719,3718,1,0,0,0,3719,3720,1,0,0,0,3720,3721,1,0,0,0,3721,3730,3,322,161,0,3722,3724,5,314,0,0,3723,3725,3,14,7,0,3724,3723,1,0,0,0,3724,3725,1,0,0,0,3725,3727,1,0,0,0,3726,3728,3,322,161,0,3727,3726,1,0,0,0,3727,3728,1,0,0,0,3728,3730,1,0,0,0,3729,3695,1,0,0,0,3729,3697,1,0,0,0,3729,3699,1,0,0,0,3729,3700,1,0,0,0,3729,3705,1,0,0,0,3729,3707,1,0,0,0,3729,3709,1,0,0,0,3729,3711,1,0,0,0,3729,3714,1,0,0,0,3729,3717,1,0,0,0,3729,3722,1,0,0,0,3730,319,1,0,0,0,3731,3732,5,147,0,0,3732,321,1,0,0,0,3733,3740,3,1454,727,0,3734,3735,5,12,0,0,3735,3740,3,1454,727,0,3736,3737,5,13,0,0,3737,3740,3,1454,727,0,3738,3740,3,1464,732,0,3739,3733,1,0,0,0,3739,3734,1,0,0,0,3739,3736,1,0,0,0,3739,3738,1,0,0,0,3740,323,1,0,0,0,3741,3746,3,322,161,0,3742,3743,5,6,0,0,3743,3745,3,322,161,0,3744,3742,1,0,0,0,3745,3748,1,0,0,0,3746,3744,1,0,0,0,3746,3747,1,0,0,0,3747,325,1,0,0,0,3748,3746,1,0,0,0,3749,3751,5,46,0,0,3750,3752,3,658,329,0,3751,3750,1,0,0,0,3751,3752,1,0,0,0,3752,3754,1,0,0,0,3753,3755,3,328,164,0,3754,3753,1,0,0,0,3754,3755,1,0,0,0,3755,3757,1,0,0,0,3756,3758,3,338,169,0,3757,3756,1,0,0,0,3757,3758,1,0,0,0,3758,3759,1,0,0,0,3759,3760,5,247,0,0,3760,3769,3,1436,718,0,3761,3762,5,215,0,0,3762,3764,3,330,165,0,3763,3765,3,332,166,0,3764,3763,1,0,0,0,3764,3765,1,0,0,0,3765,3767,1,0,0,0,3766,3768,3,336,168,0,3767,3766,1,0,0,0,3767,3768,1,0,0,0,3768,3770,1,0,0,0,3769,3761,1,0,0,0,3769,3770,1,0,0,0,3770,327,1,0,0,0,3771,3772,5,359,0,0,3772,329,1,0,0,0,3773,3775,3,1436,718,0,3774,3776,3,560,280,0,3775,3774,1,0,0,0,3775,3776,1,0,0,0,3776,331,1,0,0,0,3777,3778,5,239,0,0,3778,3779,3,330,165,0,3779,333,1,0,0,0,3780,3781,5,373,0,0,3781,3785,3,330,165,0,3782,3783,5,269,0,0,3783,3785,5,373,0,0,3784,3780,1,0,0,0,3784,3782,1,0,0,0,3785,335,1,0,0,0,3786,3787,3,334,167,0,3787,337,1,0,0,0,3788,3789,5,295,0,0,3789,339,1,0,0,0,3790,3791,5,46,0,0,3791,3792,5,351,0,0,3792,3794,3,1402,701,0,3793,3795,3,342,171,0,3794,3793,1,0,0,0,3794,3795,1,0,0,0,3795,3796,1,0,0,0,3796,3797,5,255,0,0,3797,3799,3,1458,729,0,3798,3800,3,134,67,0,3799,3798,1,0,0,0,3799,3800,1,0,0,0,3800,341,1,0,0,0,3801,3802,5,282,0,0,3802,3803,3,1470,735,0,3803,343,1,0,0,0,3804,3805,5,46,0,0,3805,3807,5,204,0,0,3806,3808,3,516,258,0,3807,3806,1,0,0,0,3807,3808,1,0,0,0,3808,3809,1,0,0,0,3809,3811,3,1436,718,0,3810,3812,3,14,7,0,3811,3810,1,0,0,0,3811,3812,1,0,0,0,3812,3813,1,0,0,0,3813,3814,3,346,173,0,3814,345,1,0,0,0,3815,3817,3,348,174,0,3816,3815,1,0,0,0,3817,3820,1,0,0,0,3818,3816,1,0,0,0,3818,3819,1,0,0,0,3819,347,1,0,0,0,3820,3818,1,0,0,0,3821,3822,5,323,0,0,3822,3829,3,1422,711,0,3823,3824,5,375,0,0,3824,3829,3,80,40,0,3825,3826,5,64,0,0,3826,3829,3,80,40,0,3827,3829,5,150,0,0,3828,3821,1,0,0,0,3828,3823,1,0,0,0,3828,3825,1,0,0,0,3828,3827,1,0,0,0,3829,349,1,0,0,0,3830,3831,5,138,0,0,3831,3832,5,204,0,0,3832,3833,3,1436,718,0,3833,3834,5,369,0,0,3834,3835,3,352,176,0,3835,351,1,0,0,0,3836,3838,3,354,177,0,3837,3836,1,0,0,0,3838,3841,1,0,0,0,3839,3837,1,0,0,0,3839,3840,1,0,0,0,3840,353,1,0,0,0,3841,3839,1,0,0,0,3842,3843,5,94,0,0,3843,3844,3,80,40,0,3844,355,1,0,0,0,3845,3846,5,138,0,0,3846,3847,5,204,0,0,3847,3848,3,1436,718,0,3848,3849,3,44,22,0,3849,3850,3,548,274,0,3850,3948,1,0,0,0,3851,3852,5,138,0,0,3852,3853,5,204,0,0,3853,3854,3,1436,718,0,3854,3855,3,44,22,0,3855,3856,3,546,273,0,3856,3948,1,0,0,0,3857,3858,5,138,0,0,3858,3859,5,204,0,0,3859,3860,3,1436,718,0,3860,3861,3,44,22,0,3861,3862,5,136,0,0,3862,3863,3,698,349,0,3863,3948,1,0,0,0,3864,3865,5,138,0,0,3865,3866,5,204,0,0,3866,3867,3,1436,718,0,3867,3868,3,44,22,0,3868,3869,5,41,0,0,3869,3870,5,2,0,0,3870,3871,3,1168,584,0,3871,3872,5,36,0,0,3872,3873,3,1168,584,0,3873,3874,5,3,0,0,3874,3948,1,0,0,0,3875,3876,5,138,0,0,3876,3877,5,204,0,0,3877,3878,3,1436,718,0,3878,3879,3,44,22,0,3879,3880,5,189,0,0,3880,3881,3,1168,584,0,3881,3948,1,0,0,0,3882,3883,5,138,0,0,3883,3884,5,204,0,0,3884,3885,3,1436,718,0,3885,3886,3,44,22,0,3886,3887,5,211,0,0,3887,3888,3,674,337,0,3888,3948,1,0,0,0,3889,3890,5,138,0,0,3890,3891,5,204,0,0,3891,3892,3,1436,718,0,3892,3893,3,44,22,0,3893,3894,5,278,0,0,3894,3895,3,736,368,0,3895,3948,1,0,0,0,3896,3897,5,138,0,0,3897,3898,5,204,0,0,3898,3899,3,1436,718,0,3899,3900,3,44,22,0,3900,3901,5,278,0,0,3901,3902,5,156,0,0,3902,3903,3,558,279,0,3903,3904,5,100,0,0,3904,3905,3,1436,718,0,3905,3948,1,0,0,0,3906,3907,5,138,0,0,3907,3908,5,204,0,0,3908,3909,3,1436,718,0,3909,3910,3,44,22,0,3910,3911,5,278,0,0,3911,3912,5,206,0,0,3912,3913,3,558,279,0,3913,3914,5,100,0,0,3914,3915,3,1436,718,0,3915,3948,1,0,0,0,3916,3917,5,138,0,0,3917,3918,5,204,0,0,3918,3919,3,1436,718,0,3919,3920,3,44,22,0,3920,3921,5,296,0,0,3921,3922,3,670,335,0,3922,3948,1,0,0,0,3923,3924,5,138,0,0,3924,3925,5,204,0,0,3925,3926,3,1436,718,0,3926,3927,3,44,22,0,3927,3928,5,442,0,0,3928,3929,3,666,333,0,3929,3948,1,0,0,0,3930,3931,5,138,0,0,3931,3932,5,204,0,0,3932,3933,3,1436,718,0,3933,3934,3,44,22,0,3934,3935,5,443,0,0,3935,3936,5,62,0,0,3936,3937,3,1168,584,0,3937,3938,5,247,0,0,3938,3939,3,1436,718,0,3939,3948,1,0,0,0,3940,3941,5,138,0,0,3941,3942,5,204,0,0,3942,3943,3,1436,718,0,3943,3944,3,44,22,0,3944,3945,5,360,0,0,3945,3946,3,1168,584,0,3946,3948,1,0,0,0,3947,3845,1,0,0,0,3947,3851,1,0,0,0,3947,3857,1,0,0,0,3947,3864,1,0,0,0,3947,3875,1,0,0,0,3947,3882,1,0,0,0,3947,3889,1,0,0,0,3947,3896,1,0,0,0,3947,3906,1,0,0,0,3947,3916,1,0,0,0,3947,3923,1,0,0,0,3947,3930,1,0,0,0,3947,3940,1,0,0,0,3948,357,1,0,0,0,3949,3950,5,46,0,0,3950,3951,5,63,0,0,3951,3952,5,174,0,0,3952,3953,5,381,0,0,3953,3955,3,1436,718,0,3954,3956,3,364,182,0,3955,3954,1,0,0,0,3955,3956,1,0,0,0,3956,3958,1,0,0,0,3957,3959,3,368,184,0,3958,3957,1,0,0,0,3958,3959,1,0,0,0,3959,359,1,0,0,0,3960,3961,5,215,0,0,3961,3969,3,330,165,0,3962,3963,5,269,0,0,3963,3969,5,215,0,0,3964,3965,5,373,0,0,3965,3969,3,330,165,0,3966,3967,5,269,0,0,3967,3969,5,373,0,0,3968,3960,1,0,0,0,3968,3962,1,0,0,0,3968,3964,1,0,0,0,3968,3966,1,0,0,0,3969,361,1,0,0,0,3970,3972,3,360,180,0,3971,3970,1,0,0,0,3972,3973,1,0,0,0,3973,3971,1,0,0,0,3973,3974,1,0,0,0,3974,363,1,0,0,0,3975,3976,3,362,181,0,3976,365,1,0,0,0,3977,3978,5,138,0,0,3978,3979,5,63,0,0,3979,3980,5,174,0,0,3980,3981,5,381,0,0,3981,3983,3,1436,718,0,3982,3984,3,364,182,0,3983,3982,1,0,0,0,3983,3984,1,0,0,0,3984,3985,1,0,0,0,3985,3986,3,372,186,0,3986,3995,1,0,0,0,3987,3988,5,138,0,0,3988,3989,5,63,0,0,3989,3990,5,174,0,0,3990,3991,5,381,0,0,3991,3992,3,1436,718,0,3992,3993,3,362,181,0,3993,3995,1,0,0,0,3994,3977,1,0,0,0,3994,3987,1,0,0,0,3995,367,1,0,0,0,3996,3997,5,280,0,0,3997,3998,5,2,0,0,3998,3999,3,370,185,0,3999,4e3,5,3,0,0,4e3,369,1,0,0,0,4001,4006,3,378,189,0,4002,4003,5,6,0,0,4003,4005,3,378,189,0,4004,4002,1,0,0,0,4005,4008,1,0,0,0,4006,4004,1,0,0,0,4006,4007,1,0,0,0,4007,371,1,0,0,0,4008,4006,1,0,0,0,4009,4010,5,280,0,0,4010,4011,5,2,0,0,4011,4012,3,374,187,0,4012,4013,5,3,0,0,4013,373,1,0,0,0,4014,4019,3,376,188,0,4015,4016,5,6,0,0,4016,4018,3,376,188,0,4017,4015,1,0,0,0,4018,4021,1,0,0,0,4019,4017,1,0,0,0,4019,4020,1,0,0,0,4020,375,1,0,0,0,4021,4019,1,0,0,0,4022,4030,3,378,189,0,4023,4024,5,333,0,0,4024,4030,3,378,189,0,4025,4026,5,133,0,0,4026,4030,3,378,189,0,4027,4028,5,191,0,0,4028,4030,3,378,189,0,4029,4022,1,0,0,0,4029,4023,1,0,0,0,4029,4025,1,0,0,0,4029,4027,1,0,0,0,4030,377,1,0,0,0,4031,4032,3,380,190,0,4032,4033,3,382,191,0,4033,379,1,0,0,0,4034,4035,3,1490,745,0,4035,381,1,0,0,0,4036,4037,3,1458,729,0,4037,383,1,0,0,0,4038,4039,5,46,0,0,4039,4041,5,331,0,0,4040,4042,3,516,258,0,4041,4040,1,0,0,0,4041,4042,1,0,0,0,4042,4043,1,0,0,0,4043,4045,3,1436,718,0,4044,4046,3,386,193,0,4045,4044,1,0,0,0,4045,4046,1,0,0,0,4046,4048,1,0,0,0,4047,4049,3,390,195,0,4048,4047,1,0,0,0,4048,4049,1,0,0,0,4049,4050,1,0,0,0,4050,4051,5,63,0,0,4051,4052,5,174,0,0,4052,4053,5,381,0,0,4053,4055,3,1436,718,0,4054,4056,3,368,184,0,4055,4054,1,0,0,0,4055,4056,1,0,0,0,4056,385,1,0,0,0,4057,4058,5,360,0,0,4058,4059,3,1458,729,0,4059,387,1,0,0,0,4060,4063,5,375,0,0,4061,4064,3,1458,729,0,4062,4064,5,78,0,0,4063,4061,1,0,0,0,4063,4062,1,0,0,0,4064,389,1,0,0,0,4065,4066,3,388,194,0,4066,391,1,0,0,0,4067,4068,5,138,0,0,4068,4069,5,331,0,0,4069,4075,3,1436,718,0,4070,4076,3,372,186,0,4071,4073,3,388,194,0,4072,4074,3,372,186,0,4073,4072,1,0,0,0,4073,4074,1,0,0,0,4074,4076,1,0,0,0,4075,4070,1,0,0,0,4075,4071,1,0,0,0,4076,393,1,0,0,0,4077,4078,5,46,0,0,4078,4079,5,63,0,0,4079,4081,5,92,0,0,4080,4082,3,516,258,0,4081,4080,1,0,0,0,4081,4082,1,0,0,0,4082,4083,1,0,0,0,4083,4084,3,1404,702,0,4084,4086,5,2,0,0,4085,4087,3,194,97,0,4086,4085,1,0,0,0,4086,4087,1,0,0,0,4087,4088,1,0,0,0,4088,4090,5,3,0,0,4089,4091,3,266,133,0,4090,4089,1,0,0,0,4090,4091,1,0,0,0,4091,4092,1,0,0,0,4092,4093,5,331,0,0,4093,4095,3,1436,718,0,4094,4096,3,368,184,0,4095,4094,1,0,0,0,4095,4096,1,0,0,0,4096,4117,1,0,0,0,4097,4098,5,46,0,0,4098,4099,5,63,0,0,4099,4101,5,92,0,0,4100,4102,3,516,258,0,4101,4100,1,0,0,0,4101,4102,1,0,0,0,4102,4103,1,0,0,0,4103,4104,3,1404,702,0,4104,4105,5,285,0,0,4105,4106,5,275,0,0,4106,4108,3,1406,703,0,4107,4109,3,196,98,0,4108,4107,1,0,0,0,4108,4109,1,0,0,0,4109,4110,1,0,0,0,4110,4111,3,144,72,0,4111,4112,5,331,0,0,4112,4114,3,1436,718,0,4113,4115,3,368,184,0,4114,4113,1,0,0,0,4114,4115,1,0,0,0,4115,4117,1,0,0,0,4116,4077,1,0,0,0,4116,4097,1,0,0,0,4117,395,1,0,0,0,4118,4119,5,444,0,0,4119,4120,5,63,0,0,4120,4121,5,323,0,0,4121,4123,3,1422,711,0,4122,4124,3,400,200,0,4123,4122,1,0,0,0,4123,4124,1,0,0,0,4124,4125,1,0,0,0,4125,4126,5,64,0,0,4126,4127,5,331,0,0,4127,4128,3,1436,718,0,4128,4129,5,71,0,0,4129,4131,3,1436,718,0,4130,4132,3,368,184,0,4131,4130,1,0,0,0,4131,4132,1,0,0,0,4132,397,1,0,0,0,4133,4134,5,74,0,0,4134,4137,5,94,0,0,4135,4137,5,59,0,0,4136,4133,1,0,0,0,4136,4135,1,0,0,0,4137,399,1,0,0,0,4138,4139,3,398,199,0,4139,4140,5,2,0,0,4140,4141,3,1124,562,0,4141,4142,5,3,0,0,4142,401,1,0,0,0,4143,4144,5,46,0,0,4144,4145,5,99,0,0,4145,4147,5,257,0,0,4146,4148,3,516,258,0,4147,4146,1,0,0,0,4147,4148,1,0,0,0,4148,4149,1,0,0,0,4149,4150,5,62,0,0,4150,4151,3,404,202,0,4151,4152,5,331,0,0,4152,4154,3,1436,718,0,4153,4155,3,368,184,0,4154,4153,1,0,0,0,4154,4155,1,0,0,0,4155,403,1,0,0,0,4156,4159,3,1470,735,0,4157,4159,5,99,0,0,4158,4156,1,0,0,0,4158,4157,1,0,0,0,4159,405,1,0,0,0,4160,4161,5,138,0,0,4161,4162,5,99,0,0,4162,4163,5,257,0,0,4163,4164,5,62,0,0,4164,4165,3,404,202,0,4165,4166,5,331,0,0,4166,4167,3,1436,718,0,4167,4168,3,372,186,0,4168,407,1,0,0,0,4169,4170,5,46,0,0,4170,4171,5,445,0,0,4171,4172,3,1436,718,0,4172,4173,5,80,0,0,4173,4175,3,1412,706,0,4174,4176,3,426,213,0,4175,4174,1,0,0,0,4175,4176,1,0,0,0,4176,4178,1,0,0,0,4177,4179,3,428,214,0,4178,4177,1,0,0,0,4178,4179,1,0,0,0,4179,4181,1,0,0,0,4180,4182,3,422,211,0,4181,4180,1,0,0,0,4181,4182,1,0,0,0,4182,4184,1,0,0,0,4183,4185,3,418,209,0,4184,4183,1,0,0,0,4184,4185,1,0,0,0,4185,4187,1,0,0,0,4186,4188,3,420,210,0,4187,4186,1,0,0,0,4187,4188,1,0,0,0,4188,409,1,0,0,0,4189,4190,5,138,0,0,4190,4191,5,445,0,0,4191,4192,3,1436,718,0,4192,4193,5,80,0,0,4193,4195,3,1412,706,0,4194,4196,3,424,212,0,4195,4194,1,0,0,0,4195,4196,1,0,0,0,4196,4198,1,0,0,0,4197,4199,3,418,209,0,4198,4197,1,0,0,0,4198,4199,1,0,0,0,4199,4201,1,0,0,0,4200,4202,3,420,210,0,4201,4200,1,0,0,0,4201,4202,1,0,0,0,4202,411,1,0,0,0,4203,4204,5,138,0,0,4204,4205,5,296,0,0,4205,4207,3,1428,714,0,4206,4208,3,660,330,0,4207,4206,1,0,0,0,4207,4208,1,0,0,0,4208,4209,1,0,0,0,4209,4210,3,414,207,0,4210,413,1,0,0,0,4211,4215,3,416,208,0,4212,4214,3,416,208,0,4213,4212,1,0,0,0,4214,4217,1,0,0,0,4215,4213,1,0,0,0,4215,4216,1,0,0,0,4216,4219,1,0,0,0,4217,4215,1,0,0,0,4218,4220,5,315,0,0,4219,4218,1,0,0,0,4219,4220,1,0,0,0,4220,4238,1,0,0,0,4221,4222,5,309,0,0,4222,4223,5,94,0,0,4223,4238,3,1430,715,0,4224,4225,5,282,0,0,4225,4226,5,94,0,0,4226,4238,3,1470,735,0,4227,4228,5,333,0,0,4228,4229,5,323,0,0,4229,4238,3,48,24,0,4230,4232,5,269,0,0,4231,4230,1,0,0,0,4231,4232,1,0,0,0,4232,4233,1,0,0,0,4233,4234,5,462,0,0,4234,4235,5,80,0,0,4235,4236,5,204,0,0,4236,4238,3,1436,718,0,4237,4211,1,0,0,0,4237,4221,1,0,0,0,4237,4224,1,0,0,0,4237,4227,1,0,0,0,4237,4231,1,0,0,0,4238,415,1,0,0,0,4239,4241,5,205,0,0,4240,4239,1,0,0,0,4240,4241,1,0,0,0,4241,4242,1,0,0,0,4242,4243,5,327,0,0,4243,4250,5,243,0,0,4244,4246,5,205,0,0,4245,4244,1,0,0,0,4245,4246,1,0,0,0,4246,4247,1,0,0,0,4247,4248,5,327,0,0,4248,4250,5,181,0,0,4249,4240,1,0,0,0,4249,4245,1,0,0,0,4250,4268,1,0,0,0,4251,4252,5,333,0,0,4252,4253,3,1436,718,0,4253,4256,7,31,0,0,4254,4257,3,1436,718,0,4255,4257,5,53,0,0,4256,4254,1,0,0,0,4256,4255,1,0,0,0,4257,4268,1,0,0,0,4258,4259,5,333,0,0,4259,4260,3,1436,718,0,4260,4261,5,64,0,0,4261,4262,5,434,0,0,4262,4268,1,0,0,0,4263,4264,5,313,0,0,4264,4268,3,1436,718,0,4265,4266,5,313,0,0,4266,4268,5,30,0,0,4267,4249,1,0,0,0,4267,4251,1,0,0,0,4267,4258,1,0,0,0,4267,4263,1,0,0,0,4267,4265,1,0,0,0,4268,417,1,0,0,0,4269,4270,5,100,0,0,4270,4271,5,2,0,0,4271,4272,3,1212,606,0,4272,4273,5,3,0,0,4273,419,1,0,0,0,4274,4275,5,105,0,0,4275,4276,5,42,0,0,4276,4277,5,2,0,0,4277,4278,3,1212,606,0,4278,4279,5,3,0,0,4279,421,1,0,0,0,4280,4281,5,94,0,0,4281,4282,3,1472,736,0,4282,423,1,0,0,0,4283,4284,5,94,0,0,4284,4285,3,1472,736,0,4285,425,1,0,0,0,4286,4290,5,36,0,0,4287,4291,5,541,0,0,4288,4291,5,542,0,0,4289,4291,3,1492,746,0,4290,4287,1,0,0,0,4290,4288,1,0,0,0,4290,4289,1,0,0,0,4291,427,1,0,0,0,4292,4293,5,62,0,0,4293,4294,3,430,215,0,4294,429,1,0,0,0,4295,4296,7,32,0,0,4296,431,1,0,0,0,4297,4298,5,46,0,0,4298,4299,5,131,0,0,4299,4300,5,446,0,0,4300,4301,3,1436,718,0,4301,4302,5,360,0,0,4302,4303,3,434,217,0,4303,4304,5,215,0,0,4304,4305,3,330,165,0,4305,433,1,0,0,0,4306,4307,7,33,0,0,4307,435,1,0,0,0,4308,4310,5,46,0,0,4309,4311,3,658,329,0,4310,4309,1,0,0,0,4310,4311,1,0,0,0,4311,4312,1,0,0,0,4312,4313,5,357,0,0,4313,4314,3,1436,718,0,4314,4315,3,438,219,0,4315,4316,3,444,222,0,4316,4317,5,80,0,0,4317,4319,3,1406,703,0,4318,4320,3,448,224,0,4319,4318,1,0,0,0,4319,4320,1,0,0,0,4320,4322,1,0,0,0,4321,4323,3,460,230,0,4322,4321,1,0,0,0,4322,4323,1,0,0,0,4323,4325,1,0,0,0,4324,4326,3,466,233,0,4325,4324,1,0,0,0,4325,4326,1,0,0,0,4326,4327,1,0,0,0,4327,4328,5,202,0,0,4328,4329,3,468,234,0,4329,4330,5,2,0,0,4330,4331,3,470,235,0,4331,4332,5,3,0,0,4332,4363,1,0,0,0,4333,4335,5,46,0,0,4334,4336,3,658,329,0,4335,4334,1,0,0,0,4335,4336,1,0,0,0,4336,4338,1,0,0,0,4337,4339,5,45,0,0,4338,4337,1,0,0,0,4338,4339,1,0,0,0,4339,4340,1,0,0,0,4340,4341,5,357,0,0,4341,4342,3,1436,718,0,4342,4343,3,438,219,0,4343,4344,3,444,222,0,4344,4345,5,80,0,0,4345,4347,3,1406,703,0,4346,4348,3,474,237,0,4347,4346,1,0,0,0,4347,4348,1,0,0,0,4348,4349,1,0,0,0,4349,4351,3,476,238,0,4350,4352,3,440,220,0,4351,4350,1,0,0,0,4351,4352,1,0,0,0,4352,4354,1,0,0,0,4353,4355,3,466,233,0,4354,4353,1,0,0,0,4354,4355,1,0,0,0,4355,4356,1,0,0,0,4356,4357,5,202,0,0,4357,4358,3,468,234,0,4358,4359,5,2,0,0,4359,4360,3,470,235,0,4360,4361,5,3,0,0,4361,4363,1,0,0,0,4362,4308,1,0,0,0,4362,4333,1,0,0,0,4363,437,1,0,0,0,4364,4369,5,145,0,0,4365,4369,5,135,0,0,4366,4367,5,242,0,0,4367,4369,5,275,0,0,4368,4364,1,0,0,0,4368,4365,1,0,0,0,4368,4366,1,0,0,0,4369,439,1,0,0,0,4370,4372,5,62,0,0,4371,4373,5,192,0,0,4372,4371,1,0,0,0,4372,4373,1,0,0,0,4373,4374,1,0,0,0,4374,4375,3,442,221,0,4375,441,1,0,0,0,4376,4377,7,34,0,0,4377,443,1,0,0,0,4378,4383,3,446,223,0,4379,4380,5,82,0,0,4380,4382,3,446,223,0,4381,4379,1,0,0,0,4382,4385,1,0,0,0,4383,4381,1,0,0,0,4383,4384,1,0,0,0,4384,445,1,0,0,0,4385,4383,1,0,0,0,4386,4394,5,241,0,0,4387,4394,5,182,0,0,4388,4394,5,369,0,0,4389,4390,5,369,0,0,4390,4391,5,275,0,0,4391,4394,3,244,122,0,4392,4394,5,358,0,0,4393,4386,1,0,0,0,4393,4387,1,0,0,0,4393,4388,1,0,0,0,4393,4389,1,0,0,0,4393,4392,1,0,0,0,4394,447,1,0,0,0,4395,4396,5,447,0,0,4396,4397,3,450,225,0,4397,449,1,0,0,0,4398,4400,3,452,226,0,4399,4398,1,0,0,0,4400,4401,1,0,0,0,4401,4399,1,0,0,0,4401,4402,1,0,0,0,4402,451,1,0,0,0,4403,4404,3,454,227,0,4404,4406,3,456,228,0,4405,4407,3,872,436,0,4406,4405,1,0,0,0,4406,4407,1,0,0,0,4407,4408,1,0,0,0,4408,4409,3,458,229,0,4409,453,1,0,0,0,4410,4411,7,35,0,0,4411,455,1,0,0,0,4412,4413,7,36,0,0,4413,457,1,0,0,0,4414,4415,3,1474,737,0,4415,459,1,0,0,0,4416,4418,5,62,0,0,4417,4419,3,462,231,0,4418,4417,1,0,0,0,4418,4419,1,0,0,0,4419,4420,1,0,0,0,4420,4421,3,464,232,0,4421,461,1,0,0,0,4422,4423,5,192,0,0,4423,463,1,0,0,0,4424,4425,7,34,0,0,4425,465,1,0,0,0,4426,4427,5,102,0,0,4427,4428,5,2,0,0,4428,4429,3,1212,606,0,4429,4430,5,3,0,0,4430,467,1,0,0,0,4431,4432,5,211,0,0,4432,4436,3,1444,722,0,4433,4434,5,296,0,0,4434,4436,3,1428,714,0,4435,4431,1,0,0,0,4435,4433,1,0,0,0,4436,469,1,0,0,0,4437,4440,3,472,236,0,4438,4440,1,0,0,0,4439,4437,1,0,0,0,4439,4438,1,0,0,0,4440,4445,1,0,0,0,4441,4442,5,6,0,0,4442,4444,3,472,236,0,4443,4441,1,0,0,0,4444,4447,1,0,0,0,4445,4443,1,0,0,0,4445,4446,1,0,0,0,4446,471,1,0,0,0,4447,4445,1,0,0,0,4448,4453,3,1456,728,0,4449,4453,3,1454,727,0,4450,4453,3,1458,729,0,4451,4453,3,1490,745,0,4452,4448,1,0,0,0,4452,4449,1,0,0,0,4452,4450,1,0,0,0,4452,4451,1,0,0,0,4453,473,1,0,0,0,4454,4455,5,64,0,0,4455,4456,3,1412,706,0,4456,475,1,0,0,0,4457,4459,3,478,239,0,4458,4457,1,0,0,0,4459,4462,1,0,0,0,4460,4458,1,0,0,0,4460,4461,1,0,0,0,4461,477,1,0,0,0,4462,4460,1,0,0,0,4463,4464,5,77,0,0,4464,4475,5,54,0,0,4465,4475,5,54,0,0,4466,4467,5,69,0,0,4467,4475,5,221,0,0,4468,4469,5,69,0,0,4469,4475,5,180,0,0,4470,4471,5,77,0,0,4471,4475,5,371,0,0,4472,4473,5,269,0,0,4473,4475,5,228,0,0,4474,4463,1,0,0,0,4474,4465,1,0,0,0,4474,4466,1,0,0,0,4474,4468,1,0,0,0,4474,4470,1,0,0,0,4474,4472,1,0,0,0,4475,479,1,0,0,0,4476,4477,5,46,0,0,4477,4478,5,198,0,0,4478,4479,5,357,0,0,4479,4480,3,1436,718,0,4480,4481,5,80,0,0,4481,4482,3,1490,745,0,4482,4483,5,202,0,0,4483,4484,3,468,234,0,4484,4485,5,2,0,0,4485,4486,5,3,0,0,4486,4501,1,0,0,0,4487,4488,5,46,0,0,4488,4489,5,198,0,0,4489,4490,5,357,0,0,4490,4491,3,1436,718,0,4491,4492,5,80,0,0,4492,4493,3,1490,745,0,4493,4494,5,102,0,0,4494,4495,3,482,241,0,4495,4496,5,202,0,0,4496,4497,3,468,234,0,4497,4498,5,2,0,0,4498,4499,5,3,0,0,4499,4501,1,0,0,0,4500,4476,1,0,0,0,4500,4487,1,0,0,0,4501,481,1,0,0,0,4502,4507,3,484,242,0,4503,4504,5,33,0,0,4504,4506,3,484,242,0,4505,4503,1,0,0,0,4506,4509,1,0,0,0,4507,4505,1,0,0,0,4507,4508,1,0,0,0,4508,483,1,0,0,0,4509,4507,1,0,0,0,4510,4511,3,1474,737,0,4511,4512,5,68,0,0,4512,4513,5,2,0,0,4513,4514,3,486,243,0,4514,4515,5,3,0,0,4515,485,1,0,0,0,4516,4521,3,1458,729,0,4517,4518,5,6,0,0,4518,4520,3,1458,729,0,4519,4517,1,0,0,0,4520,4523,1,0,0,0,4521,4519,1,0,0,0,4521,4522,1,0,0,0,4522,487,1,0,0,0,4523,4521,1,0,0,0,4524,4525,5,138,0,0,4525,4526,5,198,0,0,4526,4527,5,357,0,0,4527,4528,3,1436,718,0,4528,4529,3,490,245,0,4529,489,1,0,0,0,4530,4532,5,193,0,0,4531,4533,7,20,0,0,4532,4531,1,0,0,0,4532,4533,1,0,0,0,4533,4536,1,0,0,0,4534,4536,5,186,0,0,4535,4530,1,0,0,0,4535,4534,1,0,0,0,4536,491,1,0,0,0,4537,4538,5,46,0,0,4538,4539,5,140,0,0,4539,4540,3,558,279,0,4540,4541,5,42,0,0,4541,4542,5,2,0,0,4542,4543,3,1212,606,0,4543,4544,5,3,0,0,4544,4545,3,476,238,0,4545,493,1,0,0,0,4546,4548,5,46,0,0,4547,4549,3,658,329,0,4548,4547,1,0,0,0,4548,4549,1,0,0,0,4549,4550,1,0,0,0,4550,4551,5,136,0,0,4551,4552,3,1444,722,0,4552,4553,3,694,347,0,4553,4554,3,496,248,0,4554,4650,1,0,0,0,4555,4557,5,46,0,0,4556,4558,3,658,329,0,4557,4556,1,0,0,0,4557,4558,1,0,0,0,4558,4559,1,0,0,0,4559,4560,5,136,0,0,4560,4561,3,1444,722,0,4561,4562,3,504,252,0,4562,4650,1,0,0,0,4563,4564,5,46,0,0,4564,4565,5,278,0,0,4565,4566,3,732,366,0,4566,4567,3,496,248,0,4567,4650,1,0,0,0,4568,4569,5,46,0,0,4569,4570,5,360,0,0,4570,4571,3,558,279,0,4571,4572,3,496,248,0,4572,4650,1,0,0,0,4573,4574,5,46,0,0,4574,4575,5,360,0,0,4575,4650,3,558,279,0,4576,4577,5,46,0,0,4577,4578,5,360,0,0,4578,4579,3,558,279,0,4579,4580,5,36,0,0,4580,4582,5,2,0,0,4581,4583,3,1148,574,0,4582,4581,1,0,0,0,4582,4583,1,0,0,0,4583,4584,1,0,0,0,4584,4585,5,3,0,0,4585,4650,1,0,0,0,4586,4587,5,46,0,0,4587,4588,5,360,0,0,4588,4589,3,558,279,0,4589,4590,5,36,0,0,4590,4591,5,196,0,0,4591,4593,5,2,0,0,4592,4594,3,510,255,0,4593,4592,1,0,0,0,4593,4594,1,0,0,0,4594,4595,1,0,0,0,4595,4596,5,3,0,0,4596,4650,1,0,0,0,4597,4598,5,46,0,0,4598,4599,5,360,0,0,4599,4600,3,558,279,0,4600,4601,5,36,0,0,4601,4602,5,299,0,0,4602,4603,3,496,248,0,4603,4650,1,0,0,0,4604,4605,5,46,0,0,4605,4606,5,355,0,0,4606,4607,5,325,0,0,4607,4608,5,283,0,0,4608,4609,3,558,279,0,4609,4610,3,496,248,0,4610,4650,1,0,0,0,4611,4612,5,46,0,0,4612,4613,5,355,0,0,4613,4614,5,325,0,0,4614,4615,5,185,0,0,4615,4616,3,558,279,0,4616,4617,3,496,248,0,4617,4650,1,0,0,0,4618,4619,5,46,0,0,4619,4620,5,355,0,0,4620,4621,5,325,0,0,4621,4622,5,353,0,0,4622,4623,3,558,279,0,4623,4624,3,496,248,0,4624,4650,1,0,0,0,4625,4626,5,46,0,0,4626,4627,5,355,0,0,4627,4628,5,325,0,0,4628,4629,5,163,0,0,4629,4630,3,558,279,0,4630,4631,3,496,248,0,4631,4650,1,0,0,0,4632,4633,5,46,0,0,4633,4635,5,108,0,0,4634,4636,3,516,258,0,4635,4634,1,0,0,0,4635,4636,1,0,0,0,4636,4637,1,0,0,0,4637,4638,3,558,279,0,4638,4639,3,496,248,0,4639,4650,1,0,0,0,4640,4641,5,46,0,0,4641,4643,5,108,0,0,4642,4644,3,516,258,0,4643,4642,1,0,0,0,4643,4644,1,0,0,0,4644,4645,1,0,0,0,4645,4646,3,558,279,0,4646,4647,5,64,0,0,4647,4648,3,558,279,0,4648,4650,1,0,0,0,4649,4546,1,0,0,0,4649,4555,1,0,0,0,4649,4563,1,0,0,0,4649,4568,1,0,0,0,4649,4573,1,0,0,0,4649,4576,1,0,0,0,4649,4586,1,0,0,0,4649,4597,1,0,0,0,4649,4604,1,0,0,0,4649,4611,1,0,0,0,4649,4618,1,0,0,0,4649,4625,1,0,0,0,4649,4632,1,0,0,0,4649,4640,1,0,0,0,4650,495,1,0,0,0,4651,4652,5,2,0,0,4652,4653,3,498,249,0,4653,4654,5,3,0,0,4654,497,1,0,0,0,4655,4660,3,500,250,0,4656,4657,5,6,0,0,4657,4659,3,500,250,0,4658,4656,1,0,0,0,4659,4662,1,0,0,0,4660,4658,1,0,0,0,4660,4661,1,0,0,0,4661,499,1,0,0,0,4662,4660,1,0,0,0,4663,4666,3,1490,745,0,4664,4665,5,10,0,0,4665,4667,3,502,251,0,4666,4664,1,0,0,0,4666,4667,1,0,0,0,4667,501,1,0,0,0,4668,4675,3,688,344,0,4669,4675,3,1502,751,0,4670,4675,3,1324,662,0,4671,4675,3,322,161,0,4672,4675,3,1458,729,0,4673,4675,5,407,0,0,4674,4668,1,0,0,0,4674,4669,1,0,0,0,4674,4670,1,0,0,0,4674,4671,1,0,0,0,4674,4672,1,0,0,0,4674,4673,1,0,0,0,4675,503,1,0,0,0,4676,4677,5,2,0,0,4677,4678,3,506,253,0,4678,4679,5,3,0,0,4679,505,1,0,0,0,4680,4685,3,508,254,0,4681,4682,5,6,0,0,4682,4684,3,508,254,0,4683,4681,1,0,0,0,4684,4687,1,0,0,0,4685,4683,1,0,0,0,4685,4686,1,0,0,0,4686,507,1,0,0,0,4687,4685,1,0,0,0,4688,4689,3,1492,746,0,4689,4690,5,10,0,0,4690,4691,3,502,251,0,4691,509,1,0,0,0,4692,4693,3,512,256,0,4693,511,1,0,0,0,4694,4699,3,1458,729,0,4695,4696,5,6,0,0,4696,4698,3,1458,729,0,4697,4695,1,0,0,0,4698,4701,1,0,0,0,4699,4697,1,0,0,0,4699,4700,1,0,0,0,4700,513,1,0,0,0,4701,4699,1,0,0,0,4702,4703,5,138,0,0,4703,4704,5,360,0,0,4704,4705,3,558,279,0,4705,4706,5,133,0,0,4706,4708,5,450,0,0,4707,4709,3,516,258,0,4708,4707,1,0,0,0,4708,4709,1,0,0,0,4709,4710,1,0,0,0,4710,4713,3,1458,729,0,4711,4712,7,37,0,0,4712,4714,3,1458,729,0,4713,4711,1,0,0,0,4713,4714,1,0,0,0,4714,4725,1,0,0,0,4715,4716,5,138,0,0,4716,4717,5,360,0,0,4717,4718,3,558,279,0,4718,4719,5,309,0,0,4719,4720,5,450,0,0,4720,4721,3,1458,729,0,4721,4722,5,94,0,0,4722,4723,3,1458,729,0,4723,4725,1,0,0,0,4724,4702,1,0,0,0,4724,4715,1,0,0,0,4725,515,1,0,0,0,4726,4727,5,220,0,0,4727,4728,5,77,0,0,4728,4729,5,396,0,0,4729,517,1,0,0,0,4730,4731,5,46,0,0,4731,4732,5,278,0,0,4732,4733,5,156,0,0,4733,4735,3,558,279,0,4734,4736,3,524,262,0,4735,4734,1,0,0,0,4735,4736,1,0,0,0,4736,4737,1,0,0,0,4737,4738,5,62,0,0,4738,4739,5,360,0,0,4739,4740,3,1168,584,0,4740,4741,5,100,0,0,4741,4743,3,1436,718,0,4742,4744,3,526,263,0,4743,4742,1,0,0,0,4743,4744,1,0,0,0,4744,4745,1,0,0,0,4745,4746,5,36,0,0,4746,4747,3,520,260,0,4747,519,1,0,0,0,4748,4753,3,522,261,0,4749,4750,5,6,0,0,4750,4752,3,522,261,0,4751,4749,1,0,0,0,4752,4755,1,0,0,0,4753,4751,1,0,0,0,4753,4754,1,0,0,0,4754,521,1,0,0,0,4755,4753,1,0,0,0,4756,4757,5,278,0,0,4757,4758,3,1456,728,0,4758,4760,3,732,366,0,4759,4761,3,528,264,0,4760,4759,1,0,0,0,4760,4761,1,0,0,0,4761,4763,1,0,0,0,4762,4764,3,530,265,0,4763,4762,1,0,0,0,4763,4764,1,0,0,0,4764,4788,1,0,0,0,4765,4766,5,278,0,0,4766,4767,3,1456,728,0,4767,4769,3,736,368,0,4768,4770,3,528,264,0,4769,4768,1,0,0,0,4769,4770,1,0,0,0,4770,4772,1,0,0,0,4771,4773,3,530,265,0,4772,4771,1,0,0,0,4772,4773,1,0,0,0,4773,4788,1,0,0,0,4774,4775,5,211,0,0,4775,4776,3,1456,728,0,4776,4777,3,674,337,0,4777,4788,1,0,0,0,4778,4779,5,211,0,0,4779,4780,3,1456,728,0,4780,4781,5,2,0,0,4781,4782,3,1342,671,0,4782,4783,5,3,0,0,4783,4784,3,674,337,0,4784,4788,1,0,0,0,4785,4786,5,345,0,0,4786,4788,3,1168,584,0,4787,4756,1,0,0,0,4787,4765,1,0,0,0,4787,4774,1,0,0,0,4787,4778,1,0,0,0,4787,4785,1,0,0,0,4788,523,1,0,0,0,4789,4790,5,53,0,0,4790,525,1,0,0,0,4791,4792,5,206,0,0,4792,4793,3,558,279,0,4793,527,1,0,0,0,4794,4795,5,62,0,0,4795,4801,5,325,0,0,4796,4797,5,62,0,0,4797,4798,5,83,0,0,4798,4799,5,147,0,0,4799,4801,3,558,279,0,4800,4794,1,0,0,0,4800,4796,1,0,0,0,4801,529,1,0,0,0,4802,4803,5,302,0,0,4803,531,1,0,0,0,4804,4805,5,46,0,0,4805,4806,5,278,0,0,4806,4807,5,206,0,0,4807,4808,3,558,279,0,4808,4809,5,100,0,0,4809,4810,3,1436,718,0,4810,533,1,0,0,0,4811,4812,5,138,0,0,4812,4813,5,278,0,0,4813,4814,5,206,0,0,4814,4815,3,558,279,0,4815,4816,5,100,0,0,4816,4817,3,1436,718,0,4817,4818,5,133,0,0,4818,4819,3,520,260,0,4819,4830,1,0,0,0,4820,4821,5,138,0,0,4821,4822,5,278,0,0,4822,4823,5,206,0,0,4823,4824,3,558,279,0,4824,4825,5,100,0,0,4825,4826,3,1436,718,0,4826,4827,5,191,0,0,4827,4828,3,536,268,0,4828,4830,1,0,0,0,4829,4811,1,0,0,0,4829,4820,1,0,0,0,4830,535,1,0,0,0,4831,4836,3,538,269,0,4832,4833,5,6,0,0,4833,4835,3,538,269,0,4834,4832,1,0,0,0,4835,4838,1,0,0,0,4836,4834,1,0,0,0,4836,4837,1,0,0,0,4837,537,1,0,0,0,4838,4836,1,0,0,0,4839,4840,5,278,0,0,4840,4841,3,1456,728,0,4841,4842,5,2,0,0,4842,4843,3,1342,671,0,4843,4844,5,3,0,0,4844,4852,1,0,0,0,4845,4846,5,211,0,0,4846,4847,3,1456,728,0,4847,4848,5,2,0,0,4848,4849,3,1342,671,0,4849,4850,5,3,0,0,4850,4852,1,0,0,0,4851,4839,1,0,0,0,4851,4845,1,0,0,0,4852,539,1,0,0,0,4853,4854,5,301,0,0,4854,4855,5,281,0,0,4855,4856,5,147,0,0,4856,4857,3,1472,736,0,4857,4858,5,94,0,0,4858,4859,3,1470,735,0,4859,541,1,0,0,0,4860,4861,5,191,0,0,4861,4863,5,92,0,0,4862,4864,3,748,374,0,4863,4862,1,0,0,0,4863,4864,1,0,0,0,4864,4865,1,0,0,0,4865,4867,3,1392,696,0,4866,4868,3,124,62,0,4867,4866,1,0,0,0,4867,4868,1,0,0,0,4868,5240,1,0,0,0,4869,4870,5,191,0,0,4870,4872,5,328,0,0,4871,4873,3,748,374,0,4872,4871,1,0,0,0,4872,4873,1,0,0,0,4873,4874,1,0,0,0,4874,4876,3,1416,708,0,4875,4877,3,124,62,0,4876,4875,1,0,0,0,4876,4877,1,0,0,0,4877,5240,1,0,0,0,4878,4879,5,191,0,0,4879,4881,5,376,0,0,4880,4882,3,748,374,0,4881,4880,1,0,0,0,4881,4882,1,0,0,0,4882,4883,1,0,0,0,4883,4885,3,544,272,0,4884,4886,3,124,62,0,4885,4884,1,0,0,0,4885,4886,1,0,0,0,4886,5240,1,0,0,0,4887,4888,5,191,0,0,4888,4889,5,259,0,0,4889,4891,5,376,0,0,4890,4892,3,748,374,0,4891,4890,1,0,0,0,4891,4892,1,0,0,0,4892,4893,1,0,0,0,4893,4895,3,544,272,0,4894,4896,3,124,62,0,4895,4894,1,0,0,0,4895,4896,1,0,0,0,4896,5240,1,0,0,0,4897,4898,5,191,0,0,4898,4900,5,226,0,0,4899,4901,3,748,374,0,4900,4899,1,0,0,0,4900,4901,1,0,0,0,4901,4902,1,0,0,0,4902,4904,3,1416,708,0,4903,4905,3,124,62,0,4904,4903,1,0,0,0,4904,4905,1,0,0,0,4905,5240,1,0,0,0,4906,4907,5,191,0,0,4907,4908,5,63,0,0,4908,4910,5,92,0,0,4909,4911,3,748,374,0,4910,4909,1,0,0,0,4910,4911,1,0,0,0,4911,4912,1,0,0,0,4912,4914,3,1392,696,0,4913,4915,3,124,62,0,4914,4913,1,0,0,0,4914,4915,1,0,0,0,4915,5240,1,0,0,0,4916,4917,5,191,0,0,4917,4919,5,108,0,0,4918,4920,3,748,374,0,4919,4918,1,0,0,0,4919,4920,1,0,0,0,4920,4921,1,0,0,0,4921,4923,3,1416,708,0,4922,4924,3,124,62,0,4923,4922,1,0,0,0,4923,4924,1,0,0,0,4924,5240,1,0,0,0,4925,4926,5,191,0,0,4926,4928,5,168,0,0,4927,4929,3,748,374,0,4928,4927,1,0,0,0,4928,4929,1,0,0,0,4929,4930,1,0,0,0,4930,4932,3,1416,708,0,4931,4933,3,124,62,0,4932,4931,1,0,0,0,4932,4933,1,0,0,0,4933,5240,1,0,0,0,4934,4935,5,191,0,0,4935,4937,5,342,0,0,4936,4938,3,748,374,0,4937,4936,1,0,0,0,4937,4938,1,0,0,0,4938,4939,1,0,0,0,4939,4941,3,1416,708,0,4940,4942,3,124,62,0,4941,4940,1,0,0,0,4941,4942,1,0,0,0,4942,5240,1,0,0,0,4943,4944,5,191,0,0,4944,4945,5,355,0,0,4945,4946,5,325,0,0,4946,4948,5,283,0,0,4947,4949,3,748,374,0,4948,4947,1,0,0,0,4948,4949,1,0,0,0,4949,4950,1,0,0,0,4950,4952,3,1416,708,0,4951,4953,3,124,62,0,4952,4951,1,0,0,0,4952,4953,1,0,0,0,4953,5240,1,0,0,0,4954,4955,5,191,0,0,4955,4956,5,355,0,0,4956,4957,5,325,0,0,4957,4959,5,185,0,0,4958,4960,3,748,374,0,4959,4958,1,0,0,0,4959,4960,1,0,0,0,4960,4961,1,0,0,0,4961,4963,3,1416,708,0,4962,4964,3,124,62,0,4963,4962,1,0,0,0,4963,4964,1,0,0,0,4964,5240,1,0,0,0,4965,4966,5,191,0,0,4966,4967,5,355,0,0,4967,4968,5,325,0,0,4968,4970,5,353,0,0,4969,4971,3,748,374,0,4970,4969,1,0,0,0,4970,4971,1,0,0,0,4971,4972,1,0,0,0,4972,4974,3,1416,708,0,4973,4975,3,124,62,0,4974,4973,1,0,0,0,4974,4975,1,0,0,0,4975,5240,1,0,0,0,4976,4977,5,191,0,0,4977,4978,5,355,0,0,4978,4979,5,325,0,0,4979,4981,5,163,0,0,4980,4982,3,748,374,0,4981,4980,1,0,0,0,4981,4982,1,0,0,0,4982,4983,1,0,0,0,4983,4985,3,1416,708,0,4984,4986,3,124,62,0,4985,4984,1,0,0,0,4985,4986,1,0,0,0,4986,5240,1,0,0,0,4987,4988,5,191,0,0,4988,4989,5,131,0,0,4989,4991,5,446,0,0,4990,4992,3,748,374,0,4991,4990,1,0,0,0,4991,4992,1,0,0,0,4992,4993,1,0,0,0,4993,4995,3,1416,708,0,4994,4996,3,124,62,0,4995,4994,1,0,0,0,4995,4996,1,0,0,0,4996,5240,1,0,0,0,4997,4998,5,191,0,0,4998,4999,5,198,0,0,4999,5001,5,357,0,0,5e3,5002,3,748,374,0,5001,5e3,1,0,0,0,5001,5002,1,0,0,0,5002,5003,1,0,0,0,5003,5005,3,1416,708,0,5004,5006,3,124,62,0,5005,5004,1,0,0,0,5005,5006,1,0,0,0,5006,5240,1,0,0,0,5007,5008,5,191,0,0,5008,5010,5,204,0,0,5009,5011,3,748,374,0,5010,5009,1,0,0,0,5010,5011,1,0,0,0,5011,5012,1,0,0,0,5012,5014,3,1416,708,0,5013,5015,3,124,62,0,5014,5013,1,0,0,0,5014,5015,1,0,0,0,5015,5240,1,0,0,0,5016,5017,5,191,0,0,5017,5018,5,63,0,0,5018,5019,5,174,0,0,5019,5021,5,381,0,0,5020,5022,3,748,374,0,5021,5020,1,0,0,0,5021,5022,1,0,0,0,5022,5023,1,0,0,0,5023,5025,3,1416,708,0,5024,5026,3,124,62,0,5025,5024,1,0,0,0,5025,5026,1,0,0,0,5026,5240,1,0,0,0,5027,5029,5,191,0,0,5028,5030,3,338,169,0,5029,5028,1,0,0,0,5029,5030,1,0,0,0,5030,5031,1,0,0,0,5031,5033,5,247,0,0,5032,5034,3,748,374,0,5033,5032,1,0,0,0,5033,5034,1,0,0,0,5034,5035,1,0,0,0,5035,5037,3,1416,708,0,5036,5038,3,124,62,0,5037,5036,1,0,0,0,5037,5038,1,0,0,0,5038,5240,1,0,0,0,5039,5040,5,191,0,0,5040,5042,5,452,0,0,5041,5043,3,748,374,0,5042,5041,1,0,0,0,5042,5043,1,0,0,0,5043,5044,1,0,0,0,5044,5046,3,1416,708,0,5045,5047,3,124,62,0,5046,5045,1,0,0,0,5046,5047,1,0,0,0,5047,5240,1,0,0,0,5048,5049,5,191,0,0,5049,5051,5,331,0,0,5050,5052,3,748,374,0,5051,5050,1,0,0,0,5051,5052,1,0,0,0,5052,5053,1,0,0,0,5053,5055,3,1416,708,0,5054,5056,3,124,62,0,5055,5054,1,0,0,0,5055,5056,1,0,0,0,5056,5240,1,0,0,0,5057,5058,5,191,0,0,5058,5060,5,323,0,0,5059,5061,3,748,374,0,5060,5059,1,0,0,0,5060,5061,1,0,0,0,5061,5062,1,0,0,0,5062,5064,3,1394,697,0,5063,5065,3,124,62,0,5064,5063,1,0,0,0,5064,5065,1,0,0,0,5065,5240,1,0,0,0,5066,5067,5,191,0,0,5067,5069,5,445,0,0,5068,5070,3,748,374,0,5069,5068,1,0,0,0,5069,5070,1,0,0,0,5070,5071,1,0,0,0,5071,5072,3,1436,718,0,5072,5073,5,80,0,0,5073,5075,3,558,279,0,5074,5076,3,124,62,0,5075,5074,1,0,0,0,5075,5076,1,0,0,0,5076,5240,1,0,0,0,5077,5078,5,191,0,0,5078,5080,5,321,0,0,5079,5081,3,748,374,0,5080,5079,1,0,0,0,5080,5081,1,0,0,0,5081,5082,1,0,0,0,5082,5083,3,1436,718,0,5083,5084,5,80,0,0,5084,5086,3,558,279,0,5085,5087,3,124,62,0,5086,5085,1,0,0,0,5086,5087,1,0,0,0,5087,5240,1,0,0,0,5088,5089,5,191,0,0,5089,5091,5,357,0,0,5090,5092,3,748,374,0,5091,5090,1,0,0,0,5091,5092,1,0,0,0,5092,5093,1,0,0,0,5093,5094,3,1436,718,0,5094,5095,5,80,0,0,5095,5097,3,558,279,0,5096,5098,3,124,62,0,5097,5096,1,0,0,0,5097,5098,1,0,0,0,5098,5240,1,0,0,0,5099,5100,5,191,0,0,5100,5102,5,360,0,0,5101,5103,3,748,374,0,5102,5101,1,0,0,0,5102,5103,1,0,0,0,5103,5104,1,0,0,0,5104,5106,3,562,281,0,5105,5107,3,124,62,0,5106,5105,1,0,0,0,5106,5107,1,0,0,0,5107,5240,1,0,0,0,5108,5109,5,191,0,0,5109,5111,5,189,0,0,5110,5112,3,748,374,0,5111,5110,1,0,0,0,5111,5112,1,0,0,0,5112,5113,1,0,0,0,5113,5115,3,562,281,0,5114,5116,3,124,62,0,5115,5114,1,0,0,0,5115,5116,1,0,0,0,5116,5240,1,0,0,0,5117,5118,5,191,0,0,5118,5119,5,226,0,0,5119,5121,5,109,0,0,5120,5122,3,748,374,0,5121,5120,1,0,0,0,5121,5122,1,0,0,0,5122,5123,1,0,0,0,5123,5125,3,552,276,0,5124,5126,3,124,62,0,5125,5124,1,0,0,0,5125,5126,1,0,0,0,5126,5240,1,0,0,0,5127,5128,5,191,0,0,5128,5130,5,41,0,0,5129,5131,3,748,374,0,5130,5129,1,0,0,0,5130,5131,1,0,0,0,5131,5132,1,0,0,0,5132,5133,5,2,0,0,5133,5134,3,1168,584,0,5134,5135,5,36,0,0,5135,5136,3,1168,584,0,5136,5138,5,3,0,0,5137,5139,3,124,62,0,5138,5137,1,0,0,0,5138,5139,1,0,0,0,5139,5240,1,0,0,0,5140,5141,5,191,0,0,5141,5142,5,278,0,0,5142,5144,5,156,0,0,5143,5145,3,748,374,0,5144,5143,1,0,0,0,5144,5145,1,0,0,0,5145,5146,1,0,0,0,5146,5147,3,558,279,0,5147,5148,5,100,0,0,5148,5150,3,1436,718,0,5149,5151,3,124,62,0,5150,5149,1,0,0,0,5150,5151,1,0,0,0,5151,5240,1,0,0,0,5152,5153,5,191,0,0,5153,5154,5,278,0,0,5154,5156,5,206,0,0,5155,5157,3,748,374,0,5156,5155,1,0,0,0,5156,5157,1,0,0,0,5157,5158,1,0,0,0,5158,5159,3,558,279,0,5159,5160,5,100,0,0,5160,5162,3,1436,718,0,5161,5163,3,124,62,0,5162,5161,1,0,0,0,5162,5163,1,0,0,0,5163,5240,1,0,0,0,5164,5165,5,191,0,0,5165,5166,5,281,0,0,5166,5167,5,147,0,0,5167,5169,3,1472,736,0,5168,5170,3,124,62,0,5169,5168,1,0,0,0,5169,5170,1,0,0,0,5170,5240,1,0,0,0,5171,5172,5,191,0,0,5172,5174,5,376,0,0,5173,5175,3,748,374,0,5174,5173,1,0,0,0,5174,5175,1,0,0,0,5175,5176,1,0,0,0,5176,5178,3,544,272,0,5177,5179,3,124,62,0,5178,5177,1,0,0,0,5178,5179,1,0,0,0,5179,5240,1,0,0,0,5180,5181,5,191,0,0,5181,5183,5,451,0,0,5182,5184,3,748,374,0,5183,5182,1,0,0,0,5183,5184,1,0,0,0,5184,5185,1,0,0,0,5185,5187,3,1436,718,0,5186,5188,3,124,62,0,5187,5186,1,0,0,0,5187,5188,1,0,0,0,5188,5240,1,0,0,0,5189,5190,5,191,0,0,5190,5192,5,351,0,0,5191,5193,3,748,374,0,5192,5191,1,0,0,0,5192,5193,1,0,0,0,5193,5194,1,0,0,0,5194,5240,3,1402,701,0,5195,5196,5,191,0,0,5196,5198,5,443,0,0,5197,5199,3,748,374,0,5198,5197,1,0,0,0,5198,5199,1,0,0,0,5199,5200,1,0,0,0,5200,5201,5,62,0,0,5201,5202,3,1168,584,0,5202,5203,5,247,0,0,5203,5205,3,1436,718,0,5204,5206,3,124,62,0,5205,5204,1,0,0,0,5205,5206,1,0,0,0,5206,5240,1,0,0,0,5207,5208,5,191,0,0,5208,5210,7,38,0,0,5209,5211,3,748,374,0,5210,5209,1,0,0,0,5210,5211,1,0,0,0,5211,5212,1,0,0,0,5212,5240,3,1472,736,0,5213,5214,5,191,0,0,5214,5215,5,99,0,0,5215,5217,5,257,0,0,5216,5218,3,748,374,0,5217,5216,1,0,0,0,5217,5218,1,0,0,0,5218,5219,1,0,0,0,5219,5220,5,62,0,0,5220,5221,3,404,202,0,5221,5222,5,331,0,0,5222,5223,3,1436,718,0,5223,5240,1,0,0,0,5224,5225,5,191,0,0,5225,5227,5,175,0,0,5226,5228,3,748,374,0,5227,5226,1,0,0,0,5227,5228,1,0,0,0,5228,5229,1,0,0,0,5229,5237,3,1420,710,0,5230,5232,3,14,7,0,5231,5230,1,0,0,0,5231,5232,1,0,0,0,5232,5233,1,0,0,0,5233,5234,5,2,0,0,5234,5235,3,860,430,0,5235,5236,5,3,0,0,5236,5238,1,0,0,0,5237,5231,1,0,0,0,5237,5238,1,0,0,0,5238,5240,1,0,0,0,5239,4860,1,0,0,0,5239,4869,1,0,0,0,5239,4878,1,0,0,0,5239,4887,1,0,0,0,5239,4897,1,0,0,0,5239,4906,1,0,0,0,5239,4916,1,0,0,0,5239,4925,1,0,0,0,5239,4934,1,0,0,0,5239,4943,1,0,0,0,5239,4954,1,0,0,0,5239,4965,1,0,0,0,5239,4976,1,0,0,0,5239,4987,1,0,0,0,5239,4997,1,0,0,0,5239,5007,1,0,0,0,5239,5016,1,0,0,0,5239,5027,1,0,0,0,5239,5039,1,0,0,0,5239,5048,1,0,0,0,5239,5057,1,0,0,0,5239,5066,1,0,0,0,5239,5077,1,0,0,0,5239,5088,1,0,0,0,5239,5099,1,0,0,0,5239,5108,1,0,0,0,5239,5117,1,0,0,0,5239,5127,1,0,0,0,5239,5140,1,0,0,0,5239,5152,1,0,0,0,5239,5164,1,0,0,0,5239,5171,1,0,0,0,5239,5180,1,0,0,0,5239,5189,1,0,0,0,5239,5195,1,0,0,0,5239,5207,1,0,0,0,5239,5213,1,0,0,0,5239,5224,1,0,0,0,5240,543,1,0,0,0,5241,5246,3,1410,705,0,5242,5243,5,6,0,0,5243,5245,3,1410,705,0,5244,5242,1,0,0,0,5245,5248,1,0,0,0,5246,5244,1,0,0,0,5246,5247,1,0,0,0,5247,545,1,0,0,0,5248,5246,1,0,0,0,5249,5251,5,63,0,0,5250,5249,1,0,0,0,5250,5251,1,0,0,0,5251,5252,1,0,0,0,5252,5253,5,92,0,0,5253,5274,3,1406,703,0,5254,5256,5,259,0,0,5255,5254,1,0,0,0,5255,5256,1,0,0,0,5256,5257,1,0,0,0,5257,5258,5,376,0,0,5258,5274,3,1410,705,0,5259,5260,5,226,0,0,5260,5274,3,558,279,0,5261,5262,5,108,0,0,5262,5274,3,558,279,0,5263,5264,5,168,0,0,5264,5274,3,558,279,0,5265,5266,5,342,0,0,5266,5274,3,558,279,0,5267,5268,5,328,0,0,5268,5274,3,558,279,0,5269,5270,5,355,0,0,5270,5271,5,325,0,0,5271,5272,7,39,0,0,5272,5274,3,558,279,0,5273,5250,1,0,0,0,5273,5255,1,0,0,0,5273,5259,1,0,0,0,5273,5261,1,0,0,0,5273,5263,1,0,0,0,5273,5265,1,0,0,0,5273,5267,1,0,0,0,5273,5269,1,0,0,0,5274,547,1,0,0,0,5275,5276,5,131,0,0,5276,5277,5,446,0,0,5277,5307,3,1436,718,0,5278,5279,5,198,0,0,5279,5280,5,357,0,0,5280,5307,3,1436,718,0,5281,5282,5,204,0,0,5282,5307,3,1436,718,0,5283,5284,5,63,0,0,5284,5285,5,174,0,0,5285,5286,5,381,0,0,5286,5307,3,1436,718,0,5287,5289,3,338,169,0,5288,5287,1,0,0,0,5288,5289,1,0,0,0,5289,5290,1,0,0,0,5290,5291,5,247,0,0,5291,5307,3,1436,718,0,5292,5293,5,452,0,0,5293,5307,3,1436,718,0,5294,5295,5,323,0,0,5295,5307,3,1422,711,0,5296,5297,5,331,0,0,5297,5307,3,1436,718,0,5298,5299,5,175,0,0,5299,5307,3,1420,710,0,5300,5301,5,318,0,0,5301,5307,3,1436,718,0,5302,5303,5,451,0,0,5303,5307,3,1436,718,0,5304,5305,5,351,0,0,5305,5307,3,1402,701,0,5306,5275,1,0,0,0,5306,5278,1,0,0,0,5306,5281,1,0,0,0,5306,5283,1,0,0,0,5306,5288,1,0,0,0,5306,5292,1,0,0,0,5306,5294,1,0,0,0,5306,5296,1,0,0,0,5306,5298,1,0,0,0,5306,5300,1,0,0,0,5306,5302,1,0,0,0,5306,5304,1,0,0,0,5307,549,1,0,0,0,5308,5309,7,40,0,0,5309,551,1,0,0,0,5310,5315,3,558,279,0,5311,5312,5,6,0,0,5312,5314,3,558,279,0,5313,5311,1,0,0,0,5314,5317,1,0,0,0,5315,5313,1,0,0,0,5315,5316,1,0,0,0,5316,553,1,0,0,0,5317,5315,1,0,0,0,5318,5319,3,556,278,0,5319,5320,5,11,0,0,5320,5321,3,1432,716,0,5321,555,1,0,0,0,5322,5324,3,1474,737,0,5323,5325,3,560,280,0,5324,5323,1,0,0,0,5324,5325,1,0,0,0,5325,557,1,0,0,0,5326,5328,3,1474,737,0,5327,5329,3,560,280,0,5328,5327,1,0,0,0,5328,5329,1,0,0,0,5329,559,1,0,0,0,5330,5331,5,11,0,0,5331,5333,3,1438,719,0,5332,5330,1,0,0,0,5333,5334,1,0,0,0,5334,5332,1,0,0,0,5334,5335,1,0,0,0,5335,561,1,0,0,0,5336,5341,3,1168,584,0,5337,5338,5,6,0,0,5338,5340,3,1168,584,0,5339,5337,1,0,0,0,5340,5343,1,0,0,0,5341,5339,1,0,0,0,5341,5342,1,0,0,0,5342,563,1,0,0,0,5343,5341,1,0,0,0,5344,5346,5,358,0,0,5345,5347,5,92,0,0,5346,5345,1,0,0,0,5346,5347,1,0,0,0,5347,5348,1,0,0,0,5348,5353,3,566,283,0,5349,5350,5,6,0,0,5350,5352,3,566,283,0,5351,5349,1,0,0,0,5352,5355,1,0,0,0,5353,5351,1,0,0,0,5353,5354,1,0,0,0,5354,5358,1,0,0,0,5355,5353,1,0,0,0,5356,5357,7,41,0,0,5357,5359,5,219,0,0,5358,5356,1,0,0,0,5358,5359,1,0,0,0,5359,5361,1,0,0,0,5360,5362,3,124,62,0,5361,5360,1,0,0,0,5361,5362,1,0,0,0,5362,565,1,0,0,0,5363,5365,5,81,0,0,5364,5363,1,0,0,0,5364,5365,1,0,0,0,5365,5366,1,0,0,0,5366,5368,3,1406,703,0,5367,5369,5,9,0,0,5368,5367,1,0,0,0,5368,5369,1,0,0,0,5369,567,1,0,0,0,5370,5371,5,159,0,0,5371,5372,5,80,0,0,5372,5373,3,546,273,0,5373,5374,5,116,0,0,5374,5375,3,570,285,0,5375,5536,1,0,0,0,5376,5377,5,159,0,0,5377,5378,5,80,0,0,5378,5379,5,44,0,0,5379,5380,3,554,277,0,5380,5381,5,116,0,0,5381,5382,3,570,285,0,5382,5536,1,0,0,0,5383,5384,5,159,0,0,5384,5385,5,80,0,0,5385,5386,3,548,274,0,5386,5387,5,116,0,0,5387,5388,3,570,285,0,5388,5536,1,0,0,0,5389,5390,5,159,0,0,5390,5391,5,80,0,0,5391,5392,5,360,0,0,5392,5393,3,1168,584,0,5393,5394,5,116,0,0,5394,5395,3,570,285,0,5395,5536,1,0,0,0,5396,5397,5,159,0,0,5397,5398,5,80,0,0,5398,5399,5,189,0,0,5399,5400,3,1168,584,0,5400,5401,5,116,0,0,5401,5402,3,570,285,0,5402,5536,1,0,0,0,5403,5404,5,159,0,0,5404,5405,5,80,0,0,5405,5406,5,136,0,0,5406,5407,3,698,349,0,5407,5408,5,116,0,0,5408,5409,3,570,285,0,5409,5536,1,0,0,0,5410,5411,5,159,0,0,5411,5412,5,80,0,0,5412,5413,5,211,0,0,5413,5414,3,674,337,0,5414,5415,5,116,0,0,5415,5416,3,570,285,0,5416,5536,1,0,0,0,5417,5418,5,159,0,0,5418,5419,5,80,0,0,5419,5420,5,278,0,0,5420,5421,3,736,368,0,5421,5422,5,116,0,0,5422,5423,3,570,285,0,5423,5536,1,0,0,0,5424,5425,5,159,0,0,5425,5426,5,80,0,0,5426,5427,5,45,0,0,5427,5428,3,1436,718,0,5428,5429,5,80,0,0,5429,5430,3,1406,703,0,5430,5431,5,116,0,0,5431,5432,3,570,285,0,5432,5536,1,0,0,0,5433,5434,5,159,0,0,5434,5435,5,80,0,0,5435,5436,5,45,0,0,5436,5437,3,1436,718,0,5437,5439,5,80,0,0,5438,5440,5,189,0,0,5439,5438,1,0,0,0,5439,5440,1,0,0,0,5440,5441,1,0,0,0,5441,5442,3,558,279,0,5442,5443,5,116,0,0,5443,5444,3,570,285,0,5444,5536,1,0,0,0,5445,5446,5,159,0,0,5446,5447,5,80,0,0,5447,5448,5,445,0,0,5448,5449,3,1436,718,0,5449,5450,5,80,0,0,5450,5451,3,558,279,0,5451,5452,5,116,0,0,5452,5453,3,570,285,0,5453,5536,1,0,0,0,5454,5455,5,159,0,0,5455,5456,5,80,0,0,5456,5457,5,321,0,0,5457,5458,3,1436,718,0,5458,5459,5,80,0,0,5459,5460,3,558,279,0,5460,5461,5,116,0,0,5461,5462,3,570,285,0,5462,5536,1,0,0,0,5463,5464,5,159,0,0,5464,5465,5,80,0,0,5465,5466,5,357,0,0,5466,5467,3,1436,718,0,5467,5468,5,80,0,0,5468,5469,3,558,279,0,5469,5470,5,116,0,0,5470,5471,3,570,285,0,5471,5536,1,0,0,0,5472,5473,5,159,0,0,5473,5474,5,80,0,0,5474,5475,5,296,0,0,5475,5476,3,670,335,0,5476,5477,5,116,0,0,5477,5478,3,570,285,0,5478,5536,1,0,0,0,5479,5480,5,159,0,0,5480,5481,5,80,0,0,5481,5482,5,442,0,0,5482,5483,3,666,333,0,5483,5484,5,116,0,0,5484,5485,3,570,285,0,5485,5536,1,0,0,0,5486,5487,5,159,0,0,5487,5488,5,80,0,0,5488,5489,5,443,0,0,5489,5490,5,62,0,0,5490,5491,3,1168,584,0,5491,5492,5,247,0,0,5492,5493,3,1436,718,0,5493,5494,5,116,0,0,5494,5495,3,570,285,0,5495,5536,1,0,0,0,5496,5497,5,159,0,0,5497,5498,5,80,0,0,5498,5499,5,278,0,0,5499,5500,5,156,0,0,5500,5501,3,558,279,0,5501,5502,5,100,0,0,5502,5503,3,1436,718,0,5503,5504,5,116,0,0,5504,5505,3,570,285,0,5505,5536,1,0,0,0,5506,5507,5,159,0,0,5507,5508,5,80,0,0,5508,5509,5,278,0,0,5509,5510,5,206,0,0,5510,5511,3,558,279,0,5511,5512,5,100,0,0,5512,5513,3,1436,718,0,5513,5514,5,116,0,0,5514,5515,3,570,285,0,5515,5536,1,0,0,0,5516,5517,5,159,0,0,5517,5518,5,80,0,0,5518,5519,5,248,0,0,5519,5520,5,274,0,0,5520,5521,3,322,161,0,5521,5522,5,116,0,0,5522,5523,3,570,285,0,5523,5536,1,0,0,0,5524,5525,5,159,0,0,5525,5526,5,80,0,0,5526,5527,5,41,0,0,5527,5528,5,2,0,0,5528,5529,3,1168,584,0,5529,5530,5,36,0,0,5530,5531,3,1168,584,0,5531,5532,5,3,0,0,5532,5533,5,116,0,0,5533,5534,3,570,285,0,5534,5536,1,0,0,0,5535,5370,1,0,0,0,5535,5376,1,0,0,0,5535,5383,1,0,0,0,5535,5389,1,0,0,0,5535,5396,1,0,0,0,5535,5403,1,0,0,0,5535,5410,1,0,0,0,5535,5417,1,0,0,0,5535,5424,1,0,0,0,5535,5433,1,0,0,0,5535,5445,1,0,0,0,5535,5454,1,0,0,0,5535,5463,1,0,0,0,5535,5472,1,0,0,0,5535,5479,1,0,0,0,5535,5486,1,0,0,0,5535,5496,1,0,0,0,5535,5506,1,0,0,0,5535,5516,1,0,0,0,5535,5524,1,0,0,0,5536,569,1,0,0,0,5537,5540,3,1458,729,0,5538,5540,5,78,0,0,5539,5537,1,0,0,0,5539,5538,1,0,0,0,5540,571,1,0,0,0,5541,5542,5,327,0,0,5542,5544,5,246,0,0,5543,5545,3,574,287,0,5544,5543,1,0,0,0,5544,5545,1,0,0,0,5545,5546,1,0,0,0,5546,5547,5,80,0,0,5547,5548,5,44,0,0,5548,5549,3,1432,716,0,5549,5550,5,116,0,0,5550,5551,3,576,288,0,5551,5651,1,0,0,0,5552,5553,5,327,0,0,5553,5555,5,246,0,0,5554,5556,3,574,287,0,5555,5554,1,0,0,0,5555,5556,1,0,0,0,5556,5557,1,0,0,0,5557,5558,5,80,0,0,5558,5559,5,360,0,0,5559,5560,3,1168,584,0,5560,5561,5,116,0,0,5561,5562,3,576,288,0,5562,5651,1,0,0,0,5563,5564,5,327,0,0,5564,5566,5,246,0,0,5565,5567,3,574,287,0,5566,5565,1,0,0,0,5566,5567,1,0,0,0,5567,5568,1,0,0,0,5568,5569,5,80,0,0,5569,5570,5,189,0,0,5570,5571,3,1168,584,0,5571,5572,5,116,0,0,5572,5573,3,576,288,0,5573,5651,1,0,0,0,5574,5575,5,327,0,0,5575,5577,5,246,0,0,5576,5578,3,574,287,0,5577,5576,1,0,0,0,5577,5578,1,0,0,0,5578,5579,1,0,0,0,5579,5580,5,80,0,0,5580,5581,5,136,0,0,5581,5582,3,698,349,0,5582,5583,5,116,0,0,5583,5584,3,576,288,0,5584,5651,1,0,0,0,5585,5586,5,327,0,0,5586,5588,5,246,0,0,5587,5589,3,574,287,0,5588,5587,1,0,0,0,5588,5589,1,0,0,0,5589,5590,1,0,0,0,5590,5591,5,80,0,0,5591,5592,5,211,0,0,5592,5593,3,674,337,0,5593,5594,5,116,0,0,5594,5595,3,576,288,0,5595,5651,1,0,0,0,5596,5597,5,327,0,0,5597,5599,5,246,0,0,5598,5600,3,574,287,0,5599,5598,1,0,0,0,5599,5600,1,0,0,0,5600,5601,1,0,0,0,5601,5602,5,80,0,0,5602,5603,5,248,0,0,5603,5604,5,274,0,0,5604,5605,3,322,161,0,5605,5606,5,116,0,0,5606,5607,3,576,288,0,5607,5651,1,0,0,0,5608,5609,5,327,0,0,5609,5611,5,246,0,0,5610,5612,3,574,287,0,5611,5610,1,0,0,0,5611,5612,1,0,0,0,5612,5613,1,0,0,0,5613,5614,5,80,0,0,5614,5615,5,296,0,0,5615,5616,3,670,335,0,5616,5617,5,116,0,0,5617,5618,3,576,288,0,5618,5651,1,0,0,0,5619,5620,5,327,0,0,5620,5622,5,246,0,0,5621,5623,3,574,287,0,5622,5621,1,0,0,0,5622,5623,1,0,0,0,5623,5624,1,0,0,0,5624,5625,5,80,0,0,5625,5626,5,442,0,0,5626,5627,3,666,333,0,5627,5628,5,116,0,0,5628,5629,3,576,288,0,5629,5651,1,0,0,0,5630,5631,5,327,0,0,5631,5633,5,246,0,0,5632,5634,3,574,287,0,5633,5632,1,0,0,0,5633,5634,1,0,0,0,5634,5635,1,0,0,0,5635,5636,5,80,0,0,5636,5637,3,546,273,0,5637,5638,5,116,0,0,5638,5639,3,576,288,0,5639,5651,1,0,0,0,5640,5641,5,327,0,0,5641,5643,5,246,0,0,5642,5644,3,574,287,0,5643,5642,1,0,0,0,5643,5644,1,0,0,0,5644,5645,1,0,0,0,5645,5646,5,80,0,0,5646,5647,3,548,274,0,5647,5648,5,116,0,0,5648,5649,3,576,288,0,5649,5651,1,0,0,0,5650,5541,1,0,0,0,5650,5552,1,0,0,0,5650,5563,1,0,0,0,5650,5574,1,0,0,0,5650,5585,1,0,0,0,5650,5596,1,0,0,0,5650,5608,1,0,0,0,5650,5619,1,0,0,0,5650,5630,1,0,0,0,5650,5640,1,0,0,0,5651,573,1,0,0,0,5652,5653,5,62,0,0,5653,5654,3,80,40,0,5654,575,1,0,0,0,5655,5658,3,1458,729,0,5656,5658,5,78,0,0,5657,5655,1,0,0,0,5657,5656,1,0,0,0,5658,577,1,0,0,0,5659,5660,5,61,0,0,5660,5664,3,580,290,0,5661,5662,5,265,0,0,5662,5664,3,580,290,0,5663,5659,1,0,0,0,5663,5661,1,0,0,0,5664,579,1,0,0,0,5665,5751,3,994,497,0,5666,5667,3,582,291,0,5667,5668,3,994,497,0,5668,5751,1,0,0,0,5669,5671,5,268,0,0,5670,5672,3,584,292,0,5671,5670,1,0,0,0,5671,5672,1,0,0,0,5672,5673,1,0,0,0,5673,5751,3,994,497,0,5674,5676,5,293,0,0,5675,5677,3,584,292,0,5676,5675,1,0,0,0,5676,5677,1,0,0,0,5677,5678,1,0,0,0,5678,5751,3,994,497,0,5679,5681,5,207,0,0,5680,5682,3,584,292,0,5681,5680,1,0,0,0,5681,5682,1,0,0,0,5682,5683,1,0,0,0,5683,5751,3,994,497,0,5684,5686,5,249,0,0,5685,5687,3,584,292,0,5686,5685,1,0,0,0,5686,5687,1,0,0,0,5687,5688,1,0,0,0,5688,5751,3,994,497,0,5689,5690,5,130,0,0,5690,5692,3,1464,732,0,5691,5693,3,584,292,0,5692,5691,1,0,0,0,5692,5693,1,0,0,0,5693,5694,1,0,0,0,5694,5695,3,994,497,0,5695,5751,1,0,0,0,5696,5697,5,307,0,0,5697,5699,3,1464,732,0,5698,5700,3,584,292,0,5699,5698,1,0,0,0,5699,5700,1,0,0,0,5700,5701,1,0,0,0,5701,5702,3,994,497,0,5702,5751,1,0,0,0,5703,5705,3,1464,732,0,5704,5706,3,584,292,0,5705,5704,1,0,0,0,5705,5706,1,0,0,0,5706,5707,1,0,0,0,5707,5708,3,994,497,0,5708,5751,1,0,0,0,5709,5711,5,30,0,0,5710,5712,3,584,292,0,5711,5710,1,0,0,0,5711,5712,1,0,0,0,5712,5713,1,0,0,0,5713,5751,3,994,497,0,5714,5716,5,210,0,0,5715,5717,3,584,292,0,5716,5715,1,0,0,0,5716,5717,1,0,0,0,5717,5718,1,0,0,0,5718,5751,3,994,497,0,5719,5720,5,210,0,0,5720,5722,3,1464,732,0,5721,5723,3,584,292,0,5722,5721,1,0,0,0,5722,5723,1,0,0,0,5723,5724,1,0,0,0,5724,5725,3,994,497,0,5725,5751,1,0,0,0,5726,5727,5,210,0,0,5727,5729,5,30,0,0,5728,5730,3,584,292,0,5729,5728,1,0,0,0,5729,5730,1,0,0,0,5730,5731,1,0,0,0,5731,5751,3,994,497,0,5732,5734,5,144,0,0,5733,5735,3,584,292,0,5734,5733,1,0,0,0,5734,5735,1,0,0,0,5735,5736,1,0,0,0,5736,5751,3,994,497,0,5737,5738,5,144,0,0,5738,5740,3,1464,732,0,5739,5741,3,584,292,0,5740,5739,1,0,0,0,5740,5741,1,0,0,0,5741,5742,1,0,0,0,5742,5743,3,994,497,0,5743,5751,1,0,0,0,5744,5745,5,144,0,0,5745,5747,5,30,0,0,5746,5748,3,584,292,0,5747,5746,1,0,0,0,5747,5748,1,0,0,0,5748,5749,1,0,0,0,5749,5751,3,994,497,0,5750,5665,1,0,0,0,5750,5666,1,0,0,0,5750,5669,1,0,0,0,5750,5674,1,0,0,0,5750,5679,1,0,0,0,5750,5684,1,0,0,0,5750,5689,1,0,0,0,5750,5696,1,0,0,0,5750,5703,1,0,0,0,5750,5709,1,0,0,0,5750,5714,1,0,0,0,5750,5719,1,0,0,0,5750,5726,1,0,0,0,5750,5732,1,0,0,0,5750,5737,1,0,0,0,5750,5744,1,0,0,0,5751,581,1,0,0,0,5752,5753,7,42,0,0,5753,583,1,0,0,0,5754,5755,3,582,291,0,5755,585,1,0,0,0,5756,5757,5,65,0,0,5757,5758,3,590,295,0,5758,5759,5,80,0,0,5759,5760,3,600,300,0,5760,5761,5,94,0,0,5761,5763,3,602,301,0,5762,5764,3,606,303,0,5763,5762,1,0,0,0,5763,5764,1,0,0,0,5764,587,1,0,0,0,5765,5766,5,317,0,0,5766,5767,3,590,295,0,5767,5768,5,80,0,0,5768,5769,3,600,300,0,5769,5770,5,64,0,0,5770,5772,3,602,301,0,5771,5773,3,124,62,0,5772,5771,1,0,0,0,5772,5773,1,0,0,0,5773,5787,1,0,0,0,5774,5775,5,317,0,0,5775,5776,5,65,0,0,5776,5777,5,279,0,0,5777,5778,5,62,0,0,5778,5779,3,590,295,0,5779,5780,5,80,0,0,5780,5781,3,600,300,0,5781,5782,5,64,0,0,5782,5784,3,602,301,0,5783,5785,3,124,62,0,5784,5783,1,0,0,0,5784,5785,1,0,0,0,5785,5787,1,0,0,0,5786,5765,1,0,0,0,5786,5774,1,0,0,0,5787,589,1,0,0,0,5788,5805,3,596,298,0,5789,5805,5,30,0,0,5790,5791,5,30,0,0,5791,5805,5,294,0,0,5792,5793,5,30,0,0,5793,5794,5,2,0,0,5794,5795,3,244,122,0,5795,5796,5,3,0,0,5796,5805,1,0,0,0,5797,5798,5,30,0,0,5798,5799,5,294,0,0,5799,5800,5,2,0,0,5800,5801,3,244,122,0,5801,5802,5,3,0,0,5802,5805,1,0,0,0,5803,5805,3,592,296,0,5804,5788,1,0,0,0,5804,5789,1,0,0,0,5804,5790,1,0,0,0,5804,5792,1,0,0,0,5804,5797,1,0,0,0,5804,5803,1,0,0,0,5805,591,1,0,0,0,5806,5811,3,594,297,0,5807,5808,5,6,0,0,5808,5810,3,594,297,0,5809,5807,1,0,0,0,5810,5813,1,0,0,0,5811,5809,1,0,0,0,5811,5812,1,0,0,0,5812,593,1,0,0,0,5813,5811,1,0,0,0,5814,5815,7,43,0,0,5815,595,1,0,0,0,5816,5821,3,598,299,0,5817,5818,5,6,0,0,5818,5820,3,598,299,0,5819,5817,1,0,0,0,5820,5823,1,0,0,0,5821,5819,1,0,0,0,5821,5822,1,0,0,0,5822,597,1,0,0,0,5823,5821,1,0,0,0,5824,5826,5,88,0,0,5825,5827,3,240,120,0,5826,5825,1,0,0,0,5826,5827,1,0,0,0,5827,5841,1,0,0,0,5828,5830,5,86,0,0,5829,5831,3,240,120,0,5830,5829,1,0,0,0,5830,5831,1,0,0,0,5831,5841,1,0,0,0,5832,5834,5,46,0,0,5833,5835,3,240,120,0,5834,5833,1,0,0,0,5834,5835,1,0,0,0,5835,5841,1,0,0,0,5836,5838,3,1474,737,0,5837,5839,3,240,120,0,5838,5837,1,0,0,0,5838,5839,1,0,0,0,5839,5841,1,0,0,0,5840,5824,1,0,0,0,5840,5828,1,0,0,0,5840,5832,1,0,0,0,5840,5836,1,0,0,0,5841,599,1,0,0,0,5842,5901,3,1390,695,0,5843,5844,5,92,0,0,5844,5901,3,1392,696,0,5845,5846,5,328,0,0,5846,5901,3,1390,695,0,5847,5848,5,63,0,0,5848,5849,5,174,0,0,5849,5850,5,381,0,0,5850,5901,3,1416,708,0,5851,5852,5,63,0,0,5852,5853,5,331,0,0,5853,5901,3,1416,708,0,5854,5855,5,211,0,0,5855,5901,3,672,336,0,5856,5857,5,296,0,0,5857,5901,3,668,334,0,5858,5859,5,442,0,0,5859,5901,3,664,332,0,5860,5861,5,175,0,0,5861,5901,3,1396,698,0,5862,5863,5,189,0,0,5863,5901,3,552,276,0,5864,5865,5,247,0,0,5865,5901,3,1416,708,0,5866,5867,5,248,0,0,5867,5868,5,274,0,0,5868,5901,3,324,162,0,5869,5870,5,323,0,0,5870,5901,3,1394,697,0,5871,5872,5,351,0,0,5872,5901,3,1414,707,0,5873,5874,5,360,0,0,5874,5901,3,552,276,0,5875,5876,5,30,0,0,5876,5877,5,350,0,0,5877,5878,5,68,0,0,5878,5879,5,323,0,0,5879,5901,3,1394,697,0,5880,5881,5,30,0,0,5881,5882,5,329,0,0,5882,5883,5,68,0,0,5883,5884,5,323,0,0,5884,5901,3,1394,697,0,5885,5886,5,30,0,0,5886,5887,5,212,0,0,5887,5888,5,68,0,0,5888,5889,5,323,0,0,5889,5901,3,1394,697,0,5890,5891,5,30,0,0,5891,5892,5,457,0,0,5892,5893,5,68,0,0,5893,5894,5,323,0,0,5894,5901,3,1394,697,0,5895,5896,5,30,0,0,5896,5897,5,455,0,0,5897,5898,5,68,0,0,5898,5899,5,323,0,0,5899,5901,3,1394,697,0,5900,5842,1,0,0,0,5900,5843,1,0,0,0,5900,5845,1,0,0,0,5900,5847,1,0,0,0,5900,5851,1,0,0,0,5900,5854,1,0,0,0,5900,5856,1,0,0,0,5900,5858,1,0,0,0,5900,5860,1,0,0,0,5900,5862,1,0,0,0,5900,5864,1,0,0,0,5900,5866,1,0,0,0,5900,5869,1,0,0,0,5900,5871,1,0,0,0,5900,5873,1,0,0,0,5900,5875,1,0,0,0,5900,5880,1,0,0,0,5900,5885,1,0,0,0,5900,5890,1,0,0,0,5900,5895,1,0,0,0,5901,601,1,0,0,0,5902,5907,3,604,302,0,5903,5904,5,6,0,0,5904,5906,3,604,302,0,5905,5903,1,0,0,0,5906,5909,1,0,0,0,5907,5905,1,0,0,0,5907,5908,1,0,0,0,5908,603,1,0,0,0,5909,5907,1,0,0,0,5910,5914,3,1470,735,0,5911,5912,5,66,0,0,5912,5914,3,1470,735,0,5913,5910,1,0,0,0,5913,5911,1,0,0,0,5914,605,1,0,0,0,5915,5916,5,105,0,0,5916,5917,5,65,0,0,5917,5918,5,279,0,0,5918,607,1,0,0,0,5919,5920,5,65,0,0,5920,5921,3,596,298,0,5921,5922,5,94,0,0,5922,5924,3,1472,736,0,5923,5925,3,612,306,0,5924,5923,1,0,0,0,5924,5925,1,0,0,0,5925,5927,1,0,0,0,5926,5928,3,614,307,0,5927,5926,1,0,0,0,5927,5928,1,0,0,0,5928,609,1,0,0,0,5929,5930,5,317,0,0,5930,5931,3,596,298,0,5931,5932,5,64,0,0,5932,5934,3,1472,736,0,5933,5935,3,614,307,0,5934,5933,1,0,0,0,5934,5935,1,0,0,0,5935,5937,1,0,0,0,5936,5938,3,124,62,0,5937,5936,1,0,0,0,5937,5938,1,0,0,0,5938,5953,1,0,0,0,5939,5940,5,317,0,0,5940,5941,5,134,0,0,5941,5942,5,279,0,0,5942,5943,5,62,0,0,5943,5944,3,596,298,0,5944,5945,5,64,0,0,5945,5947,3,1472,736,0,5946,5948,3,614,307,0,5947,5946,1,0,0,0,5947,5948,1,0,0,0,5948,5950,1,0,0,0,5949,5951,3,124,62,0,5950,5949,1,0,0,0,5950,5951,1,0,0,0,5951,5953,1,0,0,0,5952,5929,1,0,0,0,5952,5939,1,0,0,0,5953,611,1,0,0,0,5954,5955,5,105,0,0,5955,5956,5,134,0,0,5956,5957,5,279,0,0,5957,613,1,0,0,0,5958,5959,5,214,0,0,5959,5960,5,147,0,0,5960,5961,3,1470,735,0,5961,615,1,0,0,0,5962,5963,5,138,0,0,5963,5964,5,53,0,0,5964,5965,5,294,0,0,5965,5966,3,618,309,0,5966,5967,3,622,311,0,5967,617,1,0,0,0,5968,5970,3,620,310,0,5969,5968,1,0,0,0,5970,5973,1,0,0,0,5971,5969,1,0,0,0,5971,5972,1,0,0,0,5972,619,1,0,0,0,5973,5971,1,0,0,0,5974,5975,5,68,0,0,5975,5976,5,323,0,0,5976,5984,3,1394,697,0,5977,5978,5,62,0,0,5978,5979,5,318,0,0,5979,5984,3,1472,736,0,5980,5981,5,62,0,0,5981,5982,5,99,0,0,5982,5984,3,1472,736,0,5983,5974,1,0,0,0,5983,5977,1,0,0,0,5983,5980,1,0,0,0,5984,621,1,0,0,0,5985,5986,5,65,0,0,5986,5987,3,590,295,0,5987,5988,5,80,0,0,5988,5989,3,624,312,0,5989,5990,5,94,0,0,5990,5992,3,602,301,0,5991,5993,3,606,303,0,5992,5991,1,0,0,0,5992,5993,1,0,0,0,5993,6016,1,0,0,0,5994,5995,5,317,0,0,5995,5996,3,590,295,0,5996,5997,5,80,0,0,5997,5998,3,624,312,0,5998,5999,5,64,0,0,5999,6001,3,602,301,0,6e3,6002,3,124,62,0,6001,6e3,1,0,0,0,6001,6002,1,0,0,0,6002,6016,1,0,0,0,6003,6004,5,317,0,0,6004,6005,5,65,0,0,6005,6006,5,279,0,0,6006,6007,5,62,0,0,6007,6008,3,590,295,0,6008,6009,5,80,0,0,6009,6010,3,624,312,0,6010,6011,5,64,0,0,6011,6013,3,602,301,0,6012,6014,3,124,62,0,6013,6012,1,0,0,0,6013,6014,1,0,0,0,6014,6016,1,0,0,0,6015,5985,1,0,0,0,6015,5994,1,0,0,0,6015,6003,1,0,0,0,6016,623,1,0,0,0,6017,6018,7,44,0,0,6018,625,1,0,0,0,6019,6021,5,46,0,0,6020,6022,3,628,314,0,6021,6020,1,0,0,0,6021,6022,1,0,0,0,6022,6023,1,0,0,0,6023,6025,5,226,0,0,6024,6026,3,630,315,0,6025,6024,1,0,0,0,6025,6026,1,0,0,0,6026,6028,1,0,0,0,6027,6029,3,516,258,0,6028,6027,1,0,0,0,6028,6029,1,0,0,0,6029,6031,1,0,0,0,6030,6032,3,632,316,0,6031,6030,1,0,0,0,6031,6032,1,0,0,0,6032,6033,1,0,0,0,6033,6034,5,80,0,0,6034,6036,3,1118,559,0,6035,6037,3,634,317,0,6036,6035,1,0,0,0,6036,6037,1,0,0,0,6037,6038,1,0,0,0,6038,6039,5,2,0,0,6039,6040,3,636,318,0,6040,6042,5,3,0,0,6041,6043,3,642,321,0,6042,6041,1,0,0,0,6042,6043,1,0,0,0,6043,6045,1,0,0,0,6044,6046,3,220,110,0,6045,6044,1,0,0,0,6045,6046,1,0,0,0,6046,6048,1,0,0,0,6047,6049,3,134,67,0,6048,6047,1,0,0,0,6048,6049,1,0,0,0,6049,6051,1,0,0,0,6050,6052,3,282,141,0,6051,6050,1,0,0,0,6051,6052,1,0,0,0,6052,6054,1,0,0,0,6053,6055,3,1144,572,0,6054,6053,1,0,0,0,6054,6055,1,0,0,0,6055,627,1,0,0,0,6056,6057,5,98,0,0,6057,629,1,0,0,0,6058,6059,5,109,0,0,6059,631,1,0,0,0,6060,6061,3,1436,718,0,6061,633,1,0,0,0,6062,6063,5,100,0,0,6063,6064,3,1436,718,0,6064,635,1,0,0,0,6065,6070,3,640,320,0,6066,6067,5,6,0,0,6067,6069,3,640,320,0,6068,6066,1,0,0,0,6069,6072,1,0,0,0,6070,6068,1,0,0,0,6070,6071,1,0,0,0,6071,637,1,0,0,0,6072,6070,1,0,0,0,6073,6075,3,646,323,0,6074,6073,1,0,0,0,6074,6075,1,0,0,0,6075,6077,1,0,0,0,6076,6078,3,648,324,0,6077,6076,1,0,0,0,6077,6078,1,0,0,0,6078,6080,1,0,0,0,6079,6081,3,650,325,0,6080,6079,1,0,0,0,6080,6081,1,0,0,0,6081,6083,1,0,0,0,6082,6084,3,652,326,0,6083,6082,1,0,0,0,6083,6084,1,0,0,0,6084,6097,1,0,0,0,6085,6087,3,646,323,0,6086,6085,1,0,0,0,6086,6087,1,0,0,0,6087,6088,1,0,0,0,6088,6089,3,558,279,0,6089,6091,3,132,66,0,6090,6092,3,650,325,0,6091,6090,1,0,0,0,6091,6092,1,0,0,0,6092,6094,1,0,0,0,6093,6095,3,652,326,0,6094,6093,1,0,0,0,6094,6095,1,0,0,0,6095,6097,1,0,0,0,6096,6074,1,0,0,0,6096,6086,1,0,0,0,6097,639,1,0,0,0,6098,6099,3,1432,716,0,6099,6100,3,638,319,0,6100,6110,1,0,0,0,6101,6102,3,1262,631,0,6102,6103,3,638,319,0,6103,6110,1,0,0,0,6104,6105,5,2,0,0,6105,6106,3,1212,606,0,6106,6107,5,3,0,0,6107,6108,3,638,319,0,6108,6110,1,0,0,0,6109,6098,1,0,0,0,6109,6101,1,0,0,0,6109,6104,1,0,0,0,6110,641,1,0,0,0,6111,6112,5,441,0,0,6112,6113,5,2,0,0,6113,6114,3,644,322,0,6114,6115,5,3,0,0,6115,643,1,0,0,0,6116,6121,3,640,320,0,6117,6118,5,6,0,0,6118,6120,3,640,320,0,6119,6117,1,0,0,0,6120,6123,1,0,0,0,6121,6119,1,0,0,0,6121,6122,1,0,0,0,6122,645,1,0,0,0,6123,6121,1,0,0,0,6124,6125,5,43,0,0,6125,6126,3,558,279,0,6126,647,1,0,0,0,6127,6128,3,558,279,0,6128,649,1,0,0,0,6129,6130,7,45,0,0,6130,651,1,0,0,0,6131,6132,5,273,0,0,6132,6136,5,207,0,0,6133,6134,5,273,0,0,6134,6136,5,249,0,0,6135,6131,1,0,0,0,6135,6133,1,0,0,0,6136,653,1,0,0,0,6137,6139,5,46,0,0,6138,6140,3,658,329,0,6139,6138,1,0,0,0,6139,6140,1,0,0,0,6140,6145,1,0,0,0,6141,6142,5,211,0,0,6142,6146,3,1442,721,0,6143,6144,5,296,0,0,6144,6146,3,1430,715,0,6145,6141,1,0,0,0,6145,6143,1,0,0,0,6146,6147,1,0,0,0,6147,6157,3,676,338,0,6148,6155,5,316,0,0,6149,6156,3,686,343,0,6150,6151,5,92,0,0,6151,6152,5,2,0,0,6152,6153,3,714,357,0,6153,6154,5,3,0,0,6154,6156,1,0,0,0,6155,6149,1,0,0,0,6155,6150,1,0,0,0,6156,6158,1,0,0,0,6157,6148,1,0,0,0,6157,6158,1,0,0,0,6158,6159,1,0,0,0,6159,6162,3,702,351,0,6160,6161,5,105,0,0,6161,6163,3,656,328,0,6162,6160,1,0,0,0,6162,6163,1,0,0,0,6163,655,1,0,0,0,6164,6165,5,2,0,0,6165,6170,3,1474,737,0,6166,6167,5,6,0,0,6167,6169,3,1474,737,0,6168,6166,1,0,0,0,6169,6172,1,0,0,0,6170,6168,1,0,0,0,6170,6171,1,0,0,0,6171,6173,1,0,0,0,6172,6170,1,0,0,0,6173,6174,5,3,0,0,6174,657,1,0,0,0,6175,6176,5,82,0,0,6176,6177,5,311,0,0,6177,659,1,0,0,0,6178,6180,5,2,0,0,6179,6181,3,662,331,0,6180,6179,1,0,0,0,6180,6181,1,0,0,0,6181,6182,1,0,0,0,6182,6183,5,3,0,0,6183,661,1,0,0,0,6184,6189,3,680,340,0,6185,6186,5,6,0,0,6186,6188,3,680,340,0,6187,6185,1,0,0,0,6188,6191,1,0,0,0,6189,6187,1,0,0,0,6189,6190,1,0,0,0,6190,663,1,0,0,0,6191,6189,1,0,0,0,6192,6197,3,666,333,0,6193,6194,5,6,0,0,6194,6196,3,666,333,0,6195,6193,1,0,0,0,6196,6199,1,0,0,0,6197,6195,1,0,0,0,6197,6198,1,0,0,0,6198,665,1,0,0,0,6199,6197,1,0,0,0,6200,6201,3,1426,713,0,6201,6202,3,660,330,0,6202,6209,1,0,0,0,6203,6209,3,1500,750,0,6204,6206,3,1474,737,0,6205,6207,3,1380,690,0,6206,6205,1,0,0,0,6206,6207,1,0,0,0,6207,6209,1,0,0,0,6208,6200,1,0,0,0,6208,6203,1,0,0,0,6208,6204,1,0,0,0,6209,667,1,0,0,0,6210,6215,3,670,335,0,6211,6212,5,6,0,0,6212,6214,3,670,335,0,6213,6211,1,0,0,0,6214,6217,1,0,0,0,6215,6213,1,0,0,0,6215,6216,1,0,0,0,6216,669,1,0,0,0,6217,6215,1,0,0,0,6218,6219,3,1428,714,0,6219,6220,3,660,330,0,6220,6227,1,0,0,0,6221,6227,3,1500,750,0,6222,6224,3,1474,737,0,6223,6225,3,1380,690,0,6224,6223,1,0,0,0,6224,6225,1,0,0,0,6225,6227,1,0,0,0,6226,6218,1,0,0,0,6226,6221,1,0,0,0,6226,6222,1,0,0,0,6227,671,1,0,0,0,6228,6233,3,674,337,0,6229,6230,5,6,0,0,6230,6232,3,674,337,0,6231,6229,1,0,0,0,6232,6235,1,0,0,0,6233,6231,1,0,0,0,6233,6234,1,0,0,0,6234,673,1,0,0,0,6235,6233,1,0,0,0,6236,6237,3,1444,722,0,6237,6238,3,660,330,0,6238,6245,1,0,0,0,6239,6245,3,1500,750,0,6240,6242,3,1474,737,0,6241,6243,3,1380,690,0,6242,6241,1,0,0,0,6242,6243,1,0,0,0,6243,6245,1,0,0,0,6244,6236,1,0,0,0,6244,6239,1,0,0,0,6244,6240,1,0,0,0,6245,675,1,0,0,0,6246,6248,5,2,0,0,6247,6249,3,678,339,0,6248,6247,1,0,0,0,6248,6249,1,0,0,0,6249,6250,1,0,0,0,6250,6251,5,3,0,0,6251,677,1,0,0,0,6252,6257,3,690,345,0,6253,6254,5,6,0,0,6254,6256,3,690,345,0,6255,6253,1,0,0,0,6256,6259,1,0,0,0,6257,6255,1,0,0,0,6257,6258,1,0,0,0,6258,679,1,0,0,0,6259,6257,1,0,0,0,6260,6262,3,682,341,0,6261,6263,3,684,342,0,6262,6261,1,0,0,0,6262,6263,1,0,0,0,6263,6264,1,0,0,0,6264,6265,3,688,344,0,6265,6274,1,0,0,0,6266,6268,3,684,342,0,6267,6269,3,682,341,0,6268,6267,1,0,0,0,6268,6269,1,0,0,0,6269,6270,1,0,0,0,6270,6271,3,688,344,0,6271,6274,1,0,0,0,6272,6274,3,688,344,0,6273,6260,1,0,0,0,6273,6266,1,0,0,0,6273,6272,1,0,0,0,6274,681,1,0,0,0,6275,6277,5,68,0,0,6276,6278,5,453,0,0,6277,6276,1,0,0,0,6277,6278,1,0,0,0,6278,6283,1,0,0,0,6279,6283,5,453,0,0,6280,6283,5,400,0,0,6281,6283,5,101,0,0,6282,6275,1,0,0,0,6282,6279,1,0,0,0,6282,6280,1,0,0,0,6282,6281,1,0,0,0,6283,683,1,0,0,0,6284,6285,3,1482,741,0,6285,685,1,0,0,0,6286,6287,3,688,344,0,6287,687,1,0,0,0,6288,6301,3,1168,584,0,6289,6290,3,1482,741,0,6290,6291,3,560,280,0,6291,6292,5,27,0,0,6292,6293,5,360,0,0,6293,6301,1,0,0,0,6294,6295,5,415,0,0,6295,6296,3,1482,741,0,6296,6297,3,560,280,0,6297,6298,5,27,0,0,6298,6299,5,360,0,0,6299,6301,1,0,0,0,6300,6288,1,0,0,0,6300,6289,1,0,0,0,6300,6294,1,0,0,0,6301,689,1,0,0,0,6302,6305,3,680,340,0,6303,6304,7,46,0,0,6304,6306,3,1212,606,0,6305,6303,1,0,0,0,6305,6306,1,0,0,0,6306,691,1,0,0,0,6307,6308,3,680,340,0,6308,693,1,0,0,0,6309,6320,5,2,0,0,6310,6321,5,9,0,0,6311,6321,3,696,348,0,6312,6313,5,83,0,0,6313,6314,5,147,0,0,6314,6321,3,696,348,0,6315,6316,3,696,348,0,6316,6317,5,83,0,0,6317,6318,5,147,0,0,6318,6319,3,696,348,0,6319,6321,1,0,0,0,6320,6310,1,0,0,0,6320,6311,1,0,0,0,6320,6312,1,0,0,0,6320,6315,1,0,0,0,6321,6322,1,0,0,0,6322,6323,5,3,0,0,6323,695,1,0,0,0,6324,6329,3,692,346,0,6325,6326,5,6,0,0,6326,6328,3,692,346,0,6327,6325,1,0,0,0,6328,6331,1,0,0,0,6329,6327,1,0,0,0,6329,6330,1,0,0,0,6330,697,1,0,0,0,6331,6329,1,0,0,0,6332,6333,3,1444,722,0,6333,6334,3,694,347,0,6334,699,1,0,0,0,6335,6340,3,698,349,0,6336,6337,5,6,0,0,6337,6339,3,698,349,0,6338,6336,1,0,0,0,6339,6342,1,0,0,0,6340,6338,1,0,0,0,6340,6341,1,0,0,0,6341,701,1,0,0,0,6342,6340,1,0,0,0,6343,6345,3,706,353,0,6344,6343,1,0,0,0,6345,6346,1,0,0,0,6346,6344,1,0,0,0,6346,6347,1,0,0,0,6347,703,1,0,0,0,6348,6349,5,149,0,0,6349,6350,5,80,0,0,6350,6351,5,78,0,0,6351,6384,5,458,0,0,6352,6353,5,316,0,0,6353,6354,5,78,0,0,6354,6355,5,80,0,0,6355,6356,5,78,0,0,6356,6384,5,458,0,0,6357,6384,5,346,0,0,6358,6384,5,222,0,0,6359,6384,5,338,0,0,6360,6384,5,377,0,0,6361,6362,5,205,0,0,6362,6363,5,327,0,0,6363,6384,5,181,0,0,6364,6365,5,205,0,0,6365,6366,5,327,0,0,6366,6384,5,243,0,0,6367,6368,5,327,0,0,6368,6384,5,181,0,0,6369,6370,5,327,0,0,6370,6384,5,243,0,0,6371,6384,5,250,0,0,6372,6373,5,77,0,0,6373,6384,5,250,0,0,6374,6375,5,170,0,0,6375,6384,3,322,161,0,6376,6377,5,320,0,0,6377,6384,3,322,161,0,6378,6379,5,459,0,0,6379,6384,3,558,279,0,6380,6384,3,90,45,0,6381,6382,5,460,0,0,6382,6384,3,1474,737,0,6383,6348,1,0,0,0,6383,6352,1,0,0,0,6383,6357,1,0,0,0,6383,6358,1,0,0,0,6383,6359,1,0,0,0,6383,6360,1,0,0,0,6383,6361,1,0,0,0,6383,6364,1,0,0,0,6383,6367,1,0,0,0,6383,6369,1,0,0,0,6383,6371,1,0,0,0,6383,6372,1,0,0,0,6383,6374,1,0,0,0,6383,6376,1,0,0,0,6383,6378,1,0,0,0,6383,6380,1,0,0,0,6383,6381,1,0,0,0,6384,705,1,0,0,0,6385,6386,5,36,0,0,6386,6387,3,1458,729,0,6387,6388,5,6,0,0,6388,6389,3,1458,729,0,6389,6411,1,0,0,0,6390,6391,5,247,0,0,6391,6411,3,80,40,0,6392,6393,5,443,0,0,6393,6411,3,708,354,0,6394,6411,5,104,0,0,6395,6396,5,333,0,0,6396,6403,3,1474,737,0,6397,6398,5,94,0,0,6398,6404,3,1474,737,0,6399,6400,5,10,0,0,6400,6404,3,1474,737,0,6401,6402,5,64,0,0,6402,6404,5,434,0,0,6403,6397,1,0,0,0,6403,6399,1,0,0,0,6403,6401,1,0,0,0,6404,6411,1,0,0,0,6405,6406,5,36,0,0,6406,6411,3,1474,737,0,6407,6411,3,6,3,0,6408,6411,3,704,352,0,6409,6411,3,1474,737,0,6410,6385,1,0,0,0,6410,6390,1,0,0,0,6410,6392,1,0,0,0,6410,6394,1,0,0,0,6410,6395,1,0,0,0,6410,6405,1,0,0,0,6410,6407,1,0,0,0,6410,6408,1,0,0,0,6410,6409,1,0,0,0,6411,707,1,0,0,0,6412,6413,5,62,0,0,6413,6414,5,360,0,0,6414,6421,3,1168,584,0,6415,6416,5,6,0,0,6416,6417,5,62,0,0,6417,6418,5,360,0,0,6418,6420,3,1168,584,0,6419,6415,1,0,0,0,6420,6423,1,0,0,0,6421,6419,1,0,0,0,6421,6422,1,0,0,0,6422,709,1,0,0,0,6423,6421,1,0,0,0,6424,6425,5,105,0,0,6425,6426,3,496,248,0,6426,711,1,0,0,0,6427,6428,3,1432,716,0,6428,6429,3,688,344,0,6429,713,1,0,0,0,6430,6435,3,712,356,0,6431,6432,5,6,0,0,6432,6434,3,712,356,0,6433,6431,1,0,0,0,6434,6437,1,0,0,0,6435,6433,1,0,0,0,6435,6436,1,0,0,0,6436,715,1,0,0,0,6437,6435,1,0,0,0,6438,6439,5,138,0,0,6439,6440,3,718,359,0,6440,6442,3,720,360,0,6441,6443,3,722,361,0,6442,6441,1,0,0,0,6442,6443,1,0,0,0,6443,717,1,0,0,0,6444,6445,5,211,0,0,6445,6451,3,674,337,0,6446,6447,5,296,0,0,6447,6451,3,670,335,0,6448,6449,5,442,0,0,6449,6451,3,666,333,0,6450,6444,1,0,0,0,6450,6446,1,0,0,0,6450,6448,1,0,0,0,6451,719,1,0,0,0,6452,6454,3,704,352,0,6453,6452,1,0,0,0,6454,6455,1,0,0,0,6455,6453,1,0,0,0,6455,6456,1,0,0,0,6456,721,1,0,0,0,6457,6458,5,315,0,0,6458,723,1,0,0,0,6459,6460,5,191,0,0,6460,6462,5,211,0,0,6461,6463,3,748,374,0,6462,6461,1,0,0,0,6462,6463,1,0,0,0,6463,6464,1,0,0,0,6464,6466,3,672,336,0,6465,6467,3,124,62,0,6466,6465,1,0,0,0,6466,6467,1,0,0,0,6467,6487,1,0,0,0,6468,6469,5,191,0,0,6469,6471,5,296,0,0,6470,6472,3,748,374,0,6471,6470,1,0,0,0,6471,6472,1,0,0,0,6472,6473,1,0,0,0,6473,6475,3,668,334,0,6474,6476,3,124,62,0,6475,6474,1,0,0,0,6475,6476,1,0,0,0,6476,6487,1,0,0,0,6477,6478,5,191,0,0,6478,6480,5,442,0,0,6479,6481,3,748,374,0,6480,6479,1,0,0,0,6480,6481,1,0,0,0,6481,6482,1,0,0,0,6482,6484,3,664,332,0,6483,6485,3,124,62,0,6484,6483,1,0,0,0,6484,6485,1,0,0,0,6485,6487,1,0,0,0,6486,6459,1,0,0,0,6486,6468,1,0,0,0,6486,6477,1,0,0,0,6487,725,1,0,0,0,6488,6489,5,191,0,0,6489,6491,5,136,0,0,6490,6492,3,748,374,0,6491,6490,1,0,0,0,6491,6492,1,0,0,0,6492,6493,1,0,0,0,6493,6495,3,700,350,0,6494,6496,3,124,62,0,6495,6494,1,0,0,0,6495,6496,1,0,0,0,6496,727,1,0,0,0,6497,6498,5,191,0,0,6498,6500,5,278,0,0,6499,6501,3,748,374,0,6500,6499,1,0,0,0,6500,6501,1,0,0,0,6501,6502,1,0,0,0,6502,6504,3,734,367,0,6503,6505,3,124,62,0,6504,6503,1,0,0,0,6504,6505,1,0,0,0,6505,729,1,0,0,0,6506,6507,5,2,0,0,6507,6508,3,1168,584,0,6508,6509,5,3,0,0,6509,6529,1,0,0,0,6510,6511,5,2,0,0,6511,6512,3,1168,584,0,6512,6513,5,6,0,0,6513,6514,3,1168,584,0,6514,6515,5,3,0,0,6515,6529,1,0,0,0,6516,6517,5,2,0,0,6517,6518,5,407,0,0,6518,6519,5,6,0,0,6519,6520,3,1168,584,0,6520,6521,5,3,0,0,6521,6529,1,0,0,0,6522,6523,5,2,0,0,6523,6524,3,1168,584,0,6524,6525,5,6,0,0,6525,6526,5,407,0,0,6526,6527,5,3,0,0,6527,6529,1,0,0,0,6528,6506,1,0,0,0,6528,6510,1,0,0,0,6528,6516,1,0,0,0,6528,6522,1,0,0,0,6529,731,1,0,0,0,6530,6531,3,1474,737,0,6531,6532,5,11,0,0,6532,6534,1,0,0,0,6533,6530,1,0,0,0,6534,6537,1,0,0,0,6535,6533,1,0,0,0,6535,6536,1,0,0,0,6536,6538,1,0,0,0,6537,6535,1,0,0,0,6538,6539,3,1318,659,0,6539,733,1,0,0,0,6540,6545,3,736,368,0,6541,6542,5,6,0,0,6542,6544,3,736,368,0,6543,6541,1,0,0,0,6544,6547,1,0,0,0,6545,6543,1,0,0,0,6545,6546,1,0,0,0,6546,735,1,0,0,0,6547,6545,1,0,0,0,6548,6549,3,732,366,0,6549,6550,3,730,365,0,6550,737,1,0,0,0,6551,6552,5,57,0,0,6552,6553,3,740,370,0,6553,739,1,0,0,0,6554,6556,3,742,371,0,6555,6554,1,0,0,0,6556,6557,1,0,0,0,6557,6555,1,0,0,0,6557,6558,1,0,0,0,6558,741,1,0,0,0,6559,6563,3,1458,729,0,6560,6561,5,247,0,0,6561,6563,3,80,40,0,6562,6559,1,0,0,0,6562,6560,1,0,0,0,6563,743,1,0,0,0,6564,6565,5,46,0,0,6565,6566,5,41,0,0,6566,6567,5,2,0,0,6567,6568,3,1168,584,0,6568,6569,5,36,0,0,6569,6570,3,1168,584,0,6570,6571,5,3,0,0,6571,6572,5,105,0,0,6572,6573,5,211,0,0,6573,6575,3,674,337,0,6574,6576,3,746,373,0,6575,6574,1,0,0,0,6575,6576,1,0,0,0,6576,6602,1,0,0,0,6577,6578,5,46,0,0,6578,6579,5,41,0,0,6579,6580,5,2,0,0,6580,6581,3,1168,584,0,6581,6582,5,36,0,0,6582,6583,3,1168,584,0,6583,6584,5,3,0,0,6584,6585,5,379,0,0,6585,6587,5,211,0,0,6586,6588,3,746,373,0,6587,6586,1,0,0,0,6587,6588,1,0,0,0,6588,6602,1,0,0,0,6589,6590,5,46,0,0,6590,6591,5,41,0,0,6591,6592,5,2,0,0,6592,6593,3,1168,584,0,6593,6594,5,36,0,0,6594,6595,3,1168,584,0,6595,6596,5,3,0,0,6596,6597,5,105,0,0,6597,6599,5,400,0,0,6598,6600,3,746,373,0,6599,6598,1,0,0,0,6599,6600,1,0,0,0,6600,6602,1,0,0,0,6601,6564,1,0,0,0,6601,6577,1,0,0,0,6601,6589,1,0,0,0,6602,745,1,0,0,0,6603,6604,5,36,0,0,6604,6608,5,223,0,0,6605,6606,5,36,0,0,6606,6608,5,141,0,0,6607,6603,1,0,0,0,6607,6605,1,0,0,0,6608,747,1,0,0,0,6609,6610,5,220,0,0,6610,6611,5,396,0,0,6611,749,1,0,0,0,6612,6614,5,46,0,0,6613,6615,3,658,329,0,6614,6613,1,0,0,0,6614,6615,1,0,0,0,6615,6616,1,0,0,0,6616,6617,5,443,0,0,6617,6618,5,62,0,0,6618,6619,3,1168,584,0,6619,6620,5,247,0,0,6620,6621,3,1436,718,0,6621,6622,5,2,0,0,6622,6623,3,752,376,0,6623,6624,5,3,0,0,6624,751,1,0,0,0,6625,6626,5,64,0,0,6626,6627,5,461,0,0,6627,6628,5,105,0,0,6628,6629,5,211,0,0,6629,6630,3,674,337,0,6630,6631,5,6,0,0,6631,6632,5,94,0,0,6632,6633,5,461,0,0,6633,6634,5,105,0,0,6634,6635,5,211,0,0,6635,6636,3,674,337,0,6636,6660,1,0,0,0,6637,6638,5,94,0,0,6638,6639,5,461,0,0,6639,6640,5,105,0,0,6640,6641,5,211,0,0,6641,6642,3,674,337,0,6642,6643,5,6,0,0,6643,6644,5,64,0,0,6644,6645,5,461,0,0,6645,6646,5,105,0,0,6646,6647,5,211,0,0,6647,6648,3,674,337,0,6648,6660,1,0,0,0,6649,6650,5,64,0,0,6650,6651,5,461,0,0,6651,6652,5,105,0,0,6652,6653,5,211,0,0,6653,6660,3,674,337,0,6654,6655,5,94,0,0,6655,6656,5,461,0,0,6656,6657,5,105,0,0,6657,6658,5,211,0,0,6658,6660,3,674,337,0,6659,6625,1,0,0,0,6659,6637,1,0,0,0,6659,6649,1,0,0,0,6659,6654,1,0,0,0,6660,753,1,0,0,0,6661,6662,5,306,0,0,6662,6678,3,756,378,0,6663,6664,5,306,0,0,6664,6678,3,758,379,0,6665,6666,5,306,0,0,6666,6667,5,2,0,0,6667,6668,3,760,380,0,6668,6669,5,3,0,0,6669,6670,3,756,378,0,6670,6678,1,0,0,0,6671,6672,5,306,0,0,6672,6673,5,2,0,0,6673,6674,3,760,380,0,6674,6675,5,3,0,0,6675,6676,3,758,379,0,6676,6678,1,0,0,0,6677,6661,1,0,0,0,6677,6663,1,0,0,0,6677,6665,1,0,0,0,6677,6671,1,0,0,0,6678,755,1,0,0,0,6679,6681,5,226,0,0,6680,6682,3,630,315,0,6681,6680,1,0,0,0,6681,6682,1,0,0,0,6682,6683,1,0,0,0,6683,6690,3,1412,706,0,6684,6686,5,92,0,0,6685,6687,3,630,315,0,6686,6685,1,0,0,0,6686,6687,1,0,0,0,6687,6688,1,0,0,0,6688,6690,3,1406,703,0,6689,6679,1,0,0,0,6689,6684,1,0,0,0,6690,757,1,0,0,0,6691,6693,5,323,0,0,6692,6694,3,630,315,0,6693,6692,1,0,0,0,6693,6694,1,0,0,0,6694,6695,1,0,0,0,6695,6707,3,1422,711,0,6696,6698,5,349,0,0,6697,6699,3,630,315,0,6698,6697,1,0,0,0,6698,6699,1,0,0,0,6699,6700,1,0,0,0,6700,6707,3,1436,718,0,6701,6703,5,175,0,0,6702,6704,3,630,315,0,6703,6702,1,0,0,0,6703,6704,1,0,0,0,6704,6705,1,0,0,0,6705,6707,3,1420,710,0,6706,6691,1,0,0,0,6706,6696,1,0,0,0,6706,6701,1,0,0,0,6707,759,1,0,0,0,6708,6713,3,762,381,0,6709,6710,5,6,0,0,6710,6712,3,762,381,0,6711,6709,1,0,0,0,6712,6715,1,0,0,0,6713,6711,1,0,0,0,6713,6714,1,0,0,0,6714,761,1,0,0,0,6715,6713,1,0,0,0,6716,6717,5,128,0,0,6717,763,1,0,0,0,6718,6719,5,138,0,0,6719,6720,5,351,0,0,6720,6721,3,1402,701,0,6721,6722,5,333,0,0,6722,6723,3,132,66,0,6723,6731,1,0,0,0,6724,6725,5,138,0,0,6725,6726,5,351,0,0,6726,6727,3,1402,701,0,6727,6728,5,313,0,0,6728,6729,3,132,66,0,6729,6731,1,0,0,0,6730,6718,1,0,0,0,6730,6724,1,0,0,0,6731,765,1,0,0,0,6732,6733,5,138,0,0,6733,6734,5,136,0,0,6734,6735,3,698,349,0,6735,6736,5,309,0,0,6736,6737,5,94,0,0,6737,6738,3,1436,718,0,6738,7124,1,0,0,0,6739,6740,5,138,0,0,6740,6741,5,108,0,0,6741,6742,3,558,279,0,6742,6743,5,309,0,0,6743,6744,5,94,0,0,6744,6745,3,1436,718,0,6745,7124,1,0,0,0,6746,6747,5,138,0,0,6747,6748,5,168,0,0,6748,6749,3,558,279,0,6749,6750,5,309,0,0,6750,6751,5,94,0,0,6751,6752,3,1436,718,0,6752,7124,1,0,0,0,6753,6754,5,138,0,0,6754,6755,5,175,0,0,6755,6756,3,1420,710,0,6756,6757,5,309,0,0,6757,6758,5,94,0,0,6758,6759,3,1418,709,0,6759,7124,1,0,0,0,6760,6761,5,138,0,0,6761,6762,5,189,0,0,6762,6763,3,558,279,0,6763,6764,5,309,0,0,6764,6765,5,94,0,0,6765,6766,3,1436,718,0,6766,7124,1,0,0,0,6767,6768,5,138,0,0,6768,6769,5,189,0,0,6769,6770,3,558,279,0,6770,6771,5,309,0,0,6771,6772,5,45,0,0,6772,6773,3,1436,718,0,6773,6774,5,94,0,0,6774,6775,3,1436,718,0,6775,7124,1,0,0,0,6776,6777,5,138,0,0,6777,6778,5,63,0,0,6778,6779,5,174,0,0,6779,6780,5,381,0,0,6780,6781,3,1436,718,0,6781,6782,5,309,0,0,6782,6783,5,94,0,0,6783,6784,3,1436,718,0,6784,7124,1,0,0,0,6785,6786,5,138,0,0,6786,6787,5,211,0,0,6787,6788,3,674,337,0,6788,6789,5,309,0,0,6789,6790,5,94,0,0,6790,6791,3,1442,721,0,6791,7124,1,0,0,0,6792,6793,5,138,0,0,6793,6794,5,66,0,0,6794,6795,3,1468,734,0,6795,6796,5,309,0,0,6796,6797,5,94,0,0,6797,6798,3,1468,734,0,6798,7124,1,0,0,0,6799,6801,5,138,0,0,6800,6802,3,338,169,0,6801,6800,1,0,0,0,6801,6802,1,0,0,0,6802,6803,1,0,0,0,6803,6804,5,247,0,0,6804,6805,3,1436,718,0,6805,6806,5,309,0,0,6806,6807,5,94,0,0,6807,6808,3,1436,718,0,6808,7124,1,0,0,0,6809,6810,5,138,0,0,6810,6811,5,278,0,0,6811,6812,5,156,0,0,6812,6813,3,558,279,0,6813,6814,5,100,0,0,6814,6815,3,1436,718,0,6815,6816,5,309,0,0,6816,6817,5,94,0,0,6817,6818,3,1436,718,0,6818,7124,1,0,0,0,6819,6820,5,138,0,0,6820,6821,5,278,0,0,6821,6822,5,206,0,0,6822,6823,3,558,279,0,6823,6824,5,100,0,0,6824,6825,3,1436,718,0,6825,6826,5,309,0,0,6826,6827,5,94,0,0,6827,6828,3,1436,718,0,6828,7124,1,0,0,0,6829,6830,5,138,0,0,6830,6832,5,445,0,0,6831,6833,3,748,374,0,6832,6831,1,0,0,0,6832,6833,1,0,0,0,6833,6834,1,0,0,0,6834,6835,3,1436,718,0,6835,6836,5,80,0,0,6836,6837,3,1412,706,0,6837,6838,5,309,0,0,6838,6839,5,94,0,0,6839,6840,3,1436,718,0,6840,7124,1,0,0,0,6841,6842,5,138,0,0,6842,6843,5,296,0,0,6843,6844,3,670,335,0,6844,6845,5,309,0,0,6845,6846,5,94,0,0,6846,6847,3,1430,715,0,6847,7124,1,0,0,0,6848,6849,5,138,0,0,6849,6850,5,452,0,0,6850,6851,3,1436,718,0,6851,6852,5,309,0,0,6852,6853,5,94,0,0,6853,6854,3,1436,718,0,6854,7124,1,0,0,0,6855,6856,5,138,0,0,6856,6857,5,442,0,0,6857,6858,3,666,333,0,6858,6859,5,309,0,0,6859,6860,5,94,0,0,6860,6861,3,1436,718,0,6861,7124,1,0,0,0,6862,6863,5,138,0,0,6863,6864,5,323,0,0,6864,6865,3,1422,711,0,6865,6866,5,309,0,0,6866,6867,5,94,0,0,6867,6868,3,48,24,0,6868,7124,1,0,0,0,6869,6870,5,138,0,0,6870,6871,5,331,0,0,6871,6872,3,1436,718,0,6872,6873,5,309,0,0,6873,6874,5,94,0,0,6874,6875,3,1436,718,0,6875,7124,1,0,0,0,6876,6877,5,138,0,0,6877,6878,5,451,0,0,6878,6879,3,1436,718,0,6879,6880,5,309,0,0,6880,6881,5,94,0,0,6881,6882,3,1436,718,0,6882,7124,1,0,0,0,6883,6884,5,138,0,0,6884,6886,5,92,0,0,6885,6887,3,748,374,0,6886,6885,1,0,0,0,6886,6887,1,0,0,0,6887,6888,1,0,0,0,6888,6889,3,1118,559,0,6889,6890,5,309,0,0,6890,6891,5,94,0,0,6891,6892,3,1404,702,0,6892,7124,1,0,0,0,6893,6894,5,138,0,0,6894,6896,5,328,0,0,6895,6897,3,748,374,0,6896,6895,1,0,0,0,6896,6897,1,0,0,0,6897,6898,1,0,0,0,6898,6899,3,1412,706,0,6899,6900,5,309,0,0,6900,6901,5,94,0,0,6901,6902,3,1436,718,0,6902,7124,1,0,0,0,6903,6904,5,138,0,0,6904,6906,5,376,0,0,6905,6907,3,748,374,0,6906,6905,1,0,0,0,6906,6907,1,0,0,0,6907,6908,1,0,0,0,6908,6909,3,1410,705,0,6909,6910,5,309,0,0,6910,6911,5,94,0,0,6911,6912,3,1408,704,0,6912,7124,1,0,0,0,6913,6914,5,138,0,0,6914,6915,5,259,0,0,6915,6917,5,376,0,0,6916,6918,3,748,374,0,6917,6916,1,0,0,0,6917,6918,1,0,0,0,6918,6919,1,0,0,0,6919,6920,3,1410,705,0,6920,6921,5,309,0,0,6921,6922,5,94,0,0,6922,6923,3,1408,704,0,6923,7124,1,0,0,0,6924,6925,5,138,0,0,6925,6927,5,226,0,0,6926,6928,3,748,374,0,6927,6926,1,0,0,0,6927,6928,1,0,0,0,6928,6929,1,0,0,0,6929,6930,3,1412,706,0,6930,6931,5,309,0,0,6931,6932,5,94,0,0,6932,6933,3,1436,718,0,6933,7124,1,0,0,0,6934,6935,5,138,0,0,6935,6936,5,63,0,0,6936,6938,5,92,0,0,6937,6939,3,748,374,0,6938,6937,1,0,0,0,6938,6939,1,0,0,0,6939,6940,1,0,0,0,6940,6941,3,1118,559,0,6941,6942,5,309,0,0,6942,6943,5,94,0,0,6943,6944,3,1404,702,0,6944,7124,1,0,0,0,6945,6946,5,138,0,0,6946,6948,5,92,0,0,6947,6949,3,748,374,0,6948,6947,1,0,0,0,6948,6949,1,0,0,0,6949,6950,1,0,0,0,6950,6951,3,1118,559,0,6951,6953,5,309,0,0,6952,6954,5,44,0,0,6953,6952,1,0,0,0,6953,6954,1,0,0,0,6954,6955,1,0,0,0,6955,6956,3,1432,716,0,6956,6957,5,94,0,0,6957,6958,3,1434,717,0,6958,7124,1,0,0,0,6959,6960,5,138,0,0,6960,6962,5,376,0,0,6961,6963,3,748,374,0,6962,6961,1,0,0,0,6962,6963,1,0,0,0,6963,6964,1,0,0,0,6964,6965,3,1410,705,0,6965,6967,5,309,0,0,6966,6968,5,44,0,0,6967,6966,1,0,0,0,6967,6968,1,0,0,0,6968,6969,1,0,0,0,6969,6970,3,1432,716,0,6970,6971,5,94,0,0,6971,6972,3,1434,717,0,6972,7124,1,0,0,0,6973,6974,5,138,0,0,6974,6975,5,259,0,0,6975,6977,5,376,0,0,6976,6978,3,748,374,0,6977,6976,1,0,0,0,6977,6978,1,0,0,0,6978,6979,1,0,0,0,6979,6980,3,1410,705,0,6980,6982,5,309,0,0,6981,6983,5,44,0,0,6982,6981,1,0,0,0,6982,6983,1,0,0,0,6983,6984,1,0,0,0,6984,6985,3,1432,716,0,6985,6986,5,94,0,0,6986,6987,3,1434,717,0,6987,7124,1,0,0,0,6988,6989,5,138,0,0,6989,6991,5,92,0,0,6990,6992,3,748,374,0,6991,6990,1,0,0,0,6991,6992,1,0,0,0,6992,6993,1,0,0,0,6993,6994,3,1118,559,0,6994,6995,5,309,0,0,6995,6996,5,45,0,0,6996,6997,3,1436,718,0,6997,6998,5,94,0,0,6998,6999,3,1436,718,0,6999,7124,1,0,0,0,7e3,7001,5,138,0,0,7001,7002,5,63,0,0,7002,7004,5,92,0,0,7003,7005,3,748,374,0,7004,7003,1,0,0,0,7004,7005,1,0,0,0,7005,7006,1,0,0,0,7006,7007,3,1118,559,0,7007,7009,5,309,0,0,7008,7010,5,44,0,0,7009,7008,1,0,0,0,7009,7010,1,0,0,0,7010,7011,1,0,0,0,7011,7012,3,1432,716,0,7012,7013,5,94,0,0,7013,7014,3,1434,717,0,7014,7124,1,0,0,0,7015,7016,5,138,0,0,7016,7017,5,321,0,0,7017,7018,3,1436,718,0,7018,7019,5,80,0,0,7019,7020,3,1412,706,0,7020,7021,5,309,0,0,7021,7022,5,94,0,0,7022,7023,3,1436,718,0,7023,7124,1,0,0,0,7024,7025,5,138,0,0,7025,7026,5,357,0,0,7026,7027,3,1436,718,0,7027,7028,5,80,0,0,7028,7029,3,1412,706,0,7029,7030,5,309,0,0,7030,7031,5,94,0,0,7031,7032,3,1436,718,0,7032,7124,1,0,0,0,7033,7034,5,138,0,0,7034,7035,5,198,0,0,7035,7036,5,357,0,0,7036,7037,3,1436,718,0,7037,7038,5,309,0,0,7038,7039,5,94,0,0,7039,7040,3,1436,718,0,7040,7124,1,0,0,0,7041,7042,5,138,0,0,7042,7043,5,318,0,0,7043,7044,3,1468,734,0,7044,7045,5,309,0,0,7045,7046,5,94,0,0,7046,7047,3,1468,734,0,7047,7124,1,0,0,0,7048,7049,5,138,0,0,7049,7050,5,99,0,0,7050,7051,3,1468,734,0,7051,7052,5,309,0,0,7052,7053,5,94,0,0,7053,7054,3,1468,734,0,7054,7124,1,0,0,0,7055,7056,5,138,0,0,7056,7057,5,351,0,0,7057,7058,3,1402,701,0,7058,7059,5,309,0,0,7059,7060,5,94,0,0,7060,7061,3,1400,700,0,7061,7124,1,0,0,0,7062,7063,5,138,0,0,7063,7064,5,342,0,0,7064,7065,3,558,279,0,7065,7066,5,309,0,0,7066,7067,5,94,0,0,7067,7068,3,1436,718,0,7068,7124,1,0,0,0,7069,7070,5,138,0,0,7070,7071,5,355,0,0,7071,7072,5,325,0,0,7072,7073,5,283,0,0,7073,7074,3,558,279,0,7074,7075,5,309,0,0,7075,7076,5,94,0,0,7076,7077,3,1436,718,0,7077,7124,1,0,0,0,7078,7079,5,138,0,0,7079,7080,5,355,0,0,7080,7081,5,325,0,0,7081,7082,5,185,0,0,7082,7083,3,558,279,0,7083,7084,5,309,0,0,7084,7085,5,94,0,0,7085,7086,3,1436,718,0,7086,7124,1,0,0,0,7087,7088,5,138,0,0,7088,7089,5,355,0,0,7089,7090,5,325,0,0,7090,7091,5,353,0,0,7091,7092,3,558,279,0,7092,7093,5,309,0,0,7093,7094,5,94,0,0,7094,7095,3,1436,718,0,7095,7124,1,0,0,0,7096,7097,5,138,0,0,7097,7098,5,355,0,0,7098,7099,5,325,0,0,7099,7100,5,163,0,0,7100,7101,3,558,279,0,7101,7102,5,309,0,0,7102,7103,5,94,0,0,7103,7104,3,1436,718,0,7104,7124,1,0,0,0,7105,7106,5,138,0,0,7106,7107,5,360,0,0,7107,7108,3,558,279,0,7108,7109,5,309,0,0,7109,7110,5,94,0,0,7110,7111,3,1436,718,0,7111,7124,1,0,0,0,7112,7113,5,138,0,0,7113,7114,5,360,0,0,7114,7115,3,558,279,0,7115,7116,5,309,0,0,7116,7117,5,143,0,0,7117,7118,3,1436,718,0,7118,7119,5,94,0,0,7119,7121,3,1436,718,0,7120,7122,3,124,62,0,7121,7120,1,0,0,0,7121,7122,1,0,0,0,7122,7124,1,0,0,0,7123,6732,1,0,0,0,7123,6739,1,0,0,0,7123,6746,1,0,0,0,7123,6753,1,0,0,0,7123,6760,1,0,0,0,7123,6767,1,0,0,0,7123,6776,1,0,0,0,7123,6785,1,0,0,0,7123,6792,1,0,0,0,7123,6799,1,0,0,0,7123,6809,1,0,0,0,7123,6819,1,0,0,0,7123,6829,1,0,0,0,7123,6841,1,0,0,0,7123,6848,1,0,0,0,7123,6855,1,0,0,0,7123,6862,1,0,0,0,7123,6869,1,0,0,0,7123,6876,1,0,0,0,7123,6883,1,0,0,0,7123,6893,1,0,0,0,7123,6903,1,0,0,0,7123,6913,1,0,0,0,7123,6924,1,0,0,0,7123,6934,1,0,0,0,7123,6945,1,0,0,0,7123,6959,1,0,0,0,7123,6973,1,0,0,0,7123,6988,1,0,0,0,7123,7e3,1,0,0,0,7123,7015,1,0,0,0,7123,7024,1,0,0,0,7123,7033,1,0,0,0,7123,7041,1,0,0,0,7123,7048,1,0,0,0,7123,7055,1,0,0,0,7123,7062,1,0,0,0,7123,7069,1,0,0,0,7123,7078,1,0,0,0,7123,7087,1,0,0,0,7123,7096,1,0,0,0,7123,7105,1,0,0,0,7123,7112,1,0,0,0,7124,767,1,0,0,0,7125,7126,5,333,0,0,7126,7127,5,174,0,0,7127,769,1,0,0,0,7128,7129,5,138,0,0,7129,7130,5,211,0,0,7130,7132,3,674,337,0,7131,7133,3,772,386,0,7132,7131,1,0,0,0,7132,7133,1,0,0,0,7133,7134,1,0,0,0,7134,7135,5,462,0,0,7135,7136,5,80,0,0,7136,7137,5,204,0,0,7137,7138,3,1436,718,0,7138,7198,1,0,0,0,7139,7140,5,138,0,0,7140,7141,5,296,0,0,7141,7143,3,670,335,0,7142,7144,3,772,386,0,7143,7142,1,0,0,0,7143,7144,1,0,0,0,7144,7145,1,0,0,0,7145,7146,5,462,0,0,7146,7147,5,80,0,0,7147,7148,5,204,0,0,7148,7149,3,1436,718,0,7149,7198,1,0,0,0,7150,7151,5,138,0,0,7151,7152,5,442,0,0,7152,7154,3,666,333,0,7153,7155,3,772,386,0,7154,7153,1,0,0,0,7154,7155,1,0,0,0,7155,7156,1,0,0,0,7156,7157,5,462,0,0,7157,7158,5,80,0,0,7158,7159,5,204,0,0,7159,7160,3,1436,718,0,7160,7198,1,0,0,0,7161,7162,5,138,0,0,7162,7163,5,357,0,0,7163,7164,3,1436,718,0,7164,7165,5,80,0,0,7165,7167,3,1412,706,0,7166,7168,3,772,386,0,7167,7166,1,0,0,0,7167,7168,1,0,0,0,7168,7169,1,0,0,0,7169,7170,5,462,0,0,7170,7171,5,80,0,0,7171,7172,5,204,0,0,7172,7173,3,1436,718,0,7173,7198,1,0,0,0,7174,7175,5,138,0,0,7175,7176,5,259,0,0,7176,7177,5,376,0,0,7177,7179,3,1410,705,0,7178,7180,3,772,386,0,7179,7178,1,0,0,0,7179,7180,1,0,0,0,7180,7181,1,0,0,0,7181,7182,5,462,0,0,7182,7183,5,80,0,0,7183,7184,5,204,0,0,7184,7185,3,1436,718,0,7185,7198,1,0,0,0,7186,7187,5,138,0,0,7187,7188,5,226,0,0,7188,7190,3,1412,706,0,7189,7191,3,772,386,0,7190,7189,1,0,0,0,7190,7191,1,0,0,0,7191,7192,1,0,0,0,7192,7193,5,462,0,0,7193,7194,5,80,0,0,7194,7195,5,204,0,0,7195,7196,3,1436,718,0,7196,7198,1,0,0,0,7197,7128,1,0,0,0,7197,7139,1,0,0,0,7197,7150,1,0,0,0,7197,7161,1,0,0,0,7197,7174,1,0,0,0,7197,7186,1,0,0,0,7198,771,1,0,0,0,7199,7200,5,269,0,0,7200,773,1,0,0,0,7201,7202,5,138,0,0,7202,7203,5,136,0,0,7203,7204,3,698,349,0,7204,7205,5,333,0,0,7205,7206,5,323,0,0,7206,7207,3,1422,711,0,7207,7387,1,0,0,0,7208,7209,5,138,0,0,7209,7210,5,108,0,0,7210,7211,3,558,279,0,7211,7212,5,333,0,0,7212,7213,5,323,0,0,7213,7214,3,1422,711,0,7214,7387,1,0,0,0,7215,7216,5,138,0,0,7216,7217,5,168,0,0,7217,7218,3,558,279,0,7218,7219,5,333,0,0,7219,7220,5,323,0,0,7220,7221,3,1422,711,0,7221,7387,1,0,0,0,7222,7223,5,138,0,0,7223,7224,5,189,0,0,7224,7225,3,558,279,0,7225,7226,5,333,0,0,7226,7227,5,323,0,0,7227,7228,3,1422,711,0,7228,7387,1,0,0,0,7229,7230,5,138,0,0,7230,7231,5,204,0,0,7231,7232,3,1436,718,0,7232,7233,5,333,0,0,7233,7234,5,323,0,0,7234,7235,3,1422,711,0,7235,7387,1,0,0,0,7236,7237,5,138,0,0,7237,7238,5,211,0,0,7238,7239,3,674,337,0,7239,7240,5,333,0,0,7240,7241,5,323,0,0,7241,7242,3,1422,711,0,7242,7387,1,0,0,0,7243,7244,5,138,0,0,7244,7245,5,278,0,0,7245,7246,3,736,368,0,7246,7247,5,333,0,0,7247,7248,5,323,0,0,7248,7249,3,1422,711,0,7249,7387,1,0,0,0,7250,7251,5,138,0,0,7251,7252,5,278,0,0,7252,7253,5,156,0,0,7253,7254,3,558,279,0,7254,7255,5,100,0,0,7255,7256,3,1436,718,0,7256,7257,5,333,0,0,7257,7258,5,323,0,0,7258,7259,3,1422,711,0,7259,7387,1,0,0,0,7260,7261,5,138,0,0,7261,7262,5,278,0,0,7262,7263,5,206,0,0,7263,7264,3,558,279,0,7264,7265,5,100,0,0,7265,7266,3,1436,718,0,7266,7267,5,333,0,0,7267,7268,5,323,0,0,7268,7269,3,1422,711,0,7269,7387,1,0,0,0,7270,7271,5,138,0,0,7271,7272,5,296,0,0,7272,7273,3,670,335,0,7273,7274,5,333,0,0,7274,7275,5,323,0,0,7275,7276,3,1422,711,0,7276,7387,1,0,0,0,7277,7278,5,138,0,0,7278,7279,5,442,0,0,7279,7280,3,666,333,0,7280,7281,5,333,0,0,7281,7282,5,323,0,0,7282,7283,3,1422,711,0,7283,7387,1,0,0,0,7284,7285,5,138,0,0,7285,7287,5,92,0,0,7286,7288,3,748,374,0,7287,7286,1,0,0,0,7287,7288,1,0,0,0,7288,7289,1,0,0,0,7289,7290,3,1118,559,0,7290,7291,5,333,0,0,7291,7292,5,323,0,0,7292,7293,3,1422,711,0,7293,7387,1,0,0,0,7294,7295,5,138,0,0,7295,7296,5,342,0,0,7296,7297,3,558,279,0,7297,7298,5,333,0,0,7298,7299,5,323,0,0,7299,7300,3,1422,711,0,7300,7387,1,0,0,0,7301,7302,5,138,0,0,7302,7303,5,355,0,0,7303,7304,5,325,0,0,7304,7305,5,283,0,0,7305,7306,3,558,279,0,7306,7307,5,333,0,0,7307,7308,5,323,0,0,7308,7309,3,1422,711,0,7309,7387,1,0,0,0,7310,7311,5,138,0,0,7311,7312,5,355,0,0,7312,7313,5,325,0,0,7313,7314,5,185,0,0,7314,7315,3,558,279,0,7315,7316,5,333,0,0,7316,7317,5,323,0,0,7317,7318,3,1422,711,0,7318,7387,1,0,0,0,7319,7320,5,138,0,0,7320,7321,5,355,0,0,7321,7322,5,325,0,0,7322,7323,5,353,0,0,7323,7324,3,558,279,0,7324,7325,5,333,0,0,7325,7326,5,323,0,0,7326,7327,3,1422,711,0,7327,7387,1,0,0,0,7328,7329,5,138,0,0,7329,7330,5,355,0,0,7330,7331,5,325,0,0,7331,7332,5,163,0,0,7332,7333,3,558,279,0,7333,7334,5,333,0,0,7334,7335,5,323,0,0,7335,7336,3,1422,711,0,7336,7387,1,0,0,0,7337,7338,5,138,0,0,7338,7340,5,328,0,0,7339,7341,3,748,374,0,7340,7339,1,0,0,0,7340,7341,1,0,0,0,7341,7342,1,0,0,0,7342,7343,3,1412,706,0,7343,7344,5,333,0,0,7344,7345,5,323,0,0,7345,7346,3,1422,711,0,7346,7387,1,0,0,0,7347,7348,5,138,0,0,7348,7350,5,376,0,0,7349,7351,3,748,374,0,7350,7349,1,0,0,0,7350,7351,1,0,0,0,7351,7352,1,0,0,0,7352,7353,3,1410,705,0,7353,7354,5,333,0,0,7354,7355,5,323,0,0,7355,7356,3,1422,711,0,7356,7387,1,0,0,0,7357,7358,5,138,0,0,7358,7359,5,259,0,0,7359,7361,5,376,0,0,7360,7362,3,748,374,0,7361,7360,1,0,0,0,7361,7362,1,0,0,0,7362,7363,1,0,0,0,7363,7364,3,1410,705,0,7364,7365,5,333,0,0,7365,7366,5,323,0,0,7366,7367,3,1422,711,0,7367,7387,1,0,0,0,7368,7369,5,138,0,0,7369,7370,5,63,0,0,7370,7372,5,92,0,0,7371,7373,3,748,374,0,7372,7371,1,0,0,0,7372,7373,1,0,0,0,7373,7374,1,0,0,0,7374,7375,3,1118,559,0,7375,7376,5,333,0,0,7376,7377,5,323,0,0,7377,7378,3,1422,711,0,7378,7387,1,0,0,0,7379,7380,5,138,0,0,7380,7381,5,360,0,0,7381,7382,3,558,279,0,7382,7383,5,333,0,0,7383,7384,5,323,0,0,7384,7385,3,1422,711,0,7385,7387,1,0,0,0,7386,7201,1,0,0,0,7386,7208,1,0,0,0,7386,7215,1,0,0,0,7386,7222,1,0,0,0,7386,7229,1,0,0,0,7386,7236,1,0,0,0,7386,7243,1,0,0,0,7386,7250,1,0,0,0,7386,7260,1,0,0,0,7386,7270,1,0,0,0,7386,7277,1,0,0,0,7386,7284,1,0,0,0,7386,7294,1,0,0,0,7386,7301,1,0,0,0,7386,7310,1,0,0,0,7386,7319,1,0,0,0,7386,7328,1,0,0,0,7386,7337,1,0,0,0,7386,7347,1,0,0,0,7386,7357,1,0,0,0,7386,7368,1,0,0,0,7386,7379,1,0,0,0,7387,775,1,0,0,0,7388,7389,5,138,0,0,7389,7390,5,278,0,0,7390,7391,3,736,368,0,7391,7392,5,333,0,0,7392,7393,5,2,0,0,7393,7394,3,778,389,0,7394,7395,5,3,0,0,7395,777,1,0,0,0,7396,7401,3,780,390,0,7397,7398,5,6,0,0,7398,7400,3,780,390,0,7399,7397,1,0,0,0,7400,7403,1,0,0,0,7401,7399,1,0,0,0,7401,7402,1,0,0,0,7402,779,1,0,0,0,7403,7401,1,0,0,0,7404,7405,3,1490,745,0,7405,7406,5,10,0,0,7406,7407,5,407,0,0,7407,7413,1,0,0,0,7408,7409,3,1490,745,0,7409,7410,5,10,0,0,7410,7411,3,782,391,0,7411,7413,1,0,0,0,7412,7404,1,0,0,0,7412,7408,1,0,0,0,7413,781,1,0,0,0,7414,7420,3,688,344,0,7415,7420,3,1502,751,0,7416,7420,3,1324,662,0,7417,7420,3,322,161,0,7418,7420,3,1458,729,0,7419,7414,1,0,0,0,7419,7415,1,0,0,0,7419,7416,1,0,0,0,7419,7417,1,0,0,0,7419,7418,1,0,0,0,7420,783,1,0,0,0,7421,7422,5,138,0,0,7422,7423,5,360,0,0,7423,7424,3,558,279,0,7424,7425,5,333,0,0,7425,7426,5,2,0,0,7426,7427,3,778,389,0,7427,7428,5,3,0,0,7428,785,1,0,0,0,7429,7430,5,138,0,0,7430,7431,5,136,0,0,7431,7432,3,698,349,0,7432,7433,5,282,0,0,7433,7434,5,94,0,0,7434,7435,3,1470,735,0,7435,7615,1,0,0,0,7436,7437,5,138,0,0,7437,7438,5,108,0,0,7438,7439,3,558,279,0,7439,7440,5,282,0,0,7440,7441,5,94,0,0,7441,7442,3,1470,735,0,7442,7615,1,0,0,0,7443,7444,5,138,0,0,7444,7445,5,168,0,0,7445,7446,3,558,279,0,7446,7447,5,282,0,0,7447,7448,5,94,0,0,7448,7449,3,1470,735,0,7449,7615,1,0,0,0,7450,7451,5,138,0,0,7451,7452,5,175,0,0,7452,7453,3,1420,710,0,7453,7454,5,282,0,0,7454,7455,5,94,0,0,7455,7456,3,1470,735,0,7456,7615,1,0,0,0,7457,7458,5,138,0,0,7458,7459,5,189,0,0,7459,7460,3,558,279,0,7460,7461,5,282,0,0,7461,7462,5,94,0,0,7462,7463,3,1470,735,0,7463,7615,1,0,0,0,7464,7465,5,138,0,0,7465,7466,5,211,0,0,7466,7467,3,674,337,0,7467,7468,5,282,0,0,7468,7469,5,94,0,0,7469,7470,3,1470,735,0,7470,7615,1,0,0,0,7471,7473,5,138,0,0,7472,7474,3,338,169,0,7473,7472,1,0,0,0,7473,7474,1,0,0,0,7474,7475,1,0,0,0,7475,7476,5,247,0,0,7476,7477,3,1436,718,0,7477,7478,5,282,0,0,7478,7479,5,94,0,0,7479,7480,3,1470,735,0,7480,7615,1,0,0,0,7481,7482,5,138,0,0,7482,7483,5,248,0,0,7483,7484,5,274,0,0,7484,7485,3,322,161,0,7485,7486,5,282,0,0,7486,7487,5,94,0,0,7487,7488,3,1470,735,0,7488,7615,1,0,0,0,7489,7490,5,138,0,0,7490,7491,5,278,0,0,7491,7492,3,736,368,0,7492,7493,5,282,0,0,7493,7494,5,94,0,0,7494,7495,3,1470,735,0,7495,7615,1,0,0,0,7496,7497,5,138,0,0,7497,7498,5,278,0,0,7498,7499,5,156,0,0,7499,7500,3,558,279,0,7500,7501,5,100,0,0,7501,7502,3,1436,718,0,7502,7503,5,282,0,0,7503,7504,5,94,0,0,7504,7505,3,1470,735,0,7505,7615,1,0,0,0,7506,7507,5,138,0,0,7507,7508,5,278,0,0,7508,7509,5,206,0,0,7509,7510,3,558,279,0,7510,7511,5,100,0,0,7511,7512,3,1436,718,0,7512,7513,5,282,0,0,7513,7514,5,94,0,0,7514,7515,3,1470,735,0,7515,7615,1,0,0,0,7516,7517,5,138,0,0,7517,7518,5,296,0,0,7518,7519,3,670,335,0,7519,7520,5,282,0,0,7520,7521,5,94,0,0,7521,7522,3,1470,735,0,7522,7615,1,0,0,0,7523,7524,5,138,0,0,7524,7525,5,442,0,0,7525,7526,3,666,333,0,7526,7527,5,282,0,0,7527,7528,5,94,0,0,7528,7529,3,1470,735,0,7529,7615,1,0,0,0,7530,7531,5,138,0,0,7531,7532,5,323,0,0,7532,7533,3,1422,711,0,7533,7534,5,282,0,0,7534,7535,5,94,0,0,7535,7536,3,1470,735,0,7536,7615,1,0,0,0,7537,7538,5,138,0,0,7538,7539,5,360,0,0,7539,7540,3,558,279,0,7540,7541,5,282,0,0,7541,7542,5,94,0,0,7542,7543,3,1470,735,0,7543,7615,1,0,0,0,7544,7545,5,138,0,0,7545,7546,5,351,0,0,7546,7547,3,1402,701,0,7547,7548,5,282,0,0,7548,7549,5,94,0,0,7549,7550,3,1470,735,0,7550,7615,1,0,0,0,7551,7552,5,138,0,0,7552,7553,5,342,0,0,7553,7554,3,558,279,0,7554,7555,5,282,0,0,7555,7556,5,94,0,0,7556,7557,3,1470,735,0,7557,7615,1,0,0,0,7558,7559,5,138,0,0,7559,7560,5,355,0,0,7560,7561,5,325,0,0,7561,7562,5,185,0,0,7562,7563,3,558,279,0,7563,7564,5,282,0,0,7564,7565,5,94,0,0,7565,7566,3,1470,735,0,7566,7615,1,0,0,0,7567,7568,5,138,0,0,7568,7569,5,355,0,0,7569,7570,5,325,0,0,7570,7571,5,163,0,0,7571,7572,3,558,279,0,7572,7573,5,282,0,0,7573,7574,5,94,0,0,7574,7575,3,1470,735,0,7575,7615,1,0,0,0,7576,7577,5,138,0,0,7577,7578,5,63,0,0,7578,7579,5,174,0,0,7579,7580,5,381,0,0,7580,7581,3,1436,718,0,7581,7582,5,282,0,0,7582,7583,5,94,0,0,7583,7584,3,1470,735,0,7584,7615,1,0,0,0,7585,7586,5,138,0,0,7586,7587,5,331,0,0,7587,7588,3,1436,718,0,7588,7589,5,282,0,0,7589,7590,5,94,0,0,7590,7591,3,1470,735,0,7591,7615,1,0,0,0,7592,7593,5,138,0,0,7593,7594,5,198,0,0,7594,7595,5,357,0,0,7595,7596,3,1436,718,0,7596,7597,5,282,0,0,7597,7598,5,94,0,0,7598,7599,3,1470,735,0,7599,7615,1,0,0,0,7600,7601,5,138,0,0,7601,7602,5,452,0,0,7602,7603,3,1436,718,0,7603,7604,5,282,0,0,7604,7605,5,94,0,0,7605,7606,3,1470,735,0,7606,7615,1,0,0,0,7607,7608,5,138,0,0,7608,7609,5,451,0,0,7609,7610,3,1436,718,0,7610,7611,5,282,0,0,7611,7612,5,94,0,0,7612,7613,3,1470,735,0,7613,7615,1,0,0,0,7614,7429,1,0,0,0,7614,7436,1,0,0,0,7614,7443,1,0,0,0,7614,7450,1,0,0,0,7614,7457,1,0,0,0,7614,7464,1,0,0,0,7614,7471,1,0,0,0,7614,7481,1,0,0,0,7614,7489,1,0,0,0,7614,7496,1,0,0,0,7614,7506,1,0,0,0,7614,7516,1,0,0,0,7614,7523,1,0,0,0,7614,7530,1,0,0,0,7614,7537,1,0,0,0,7614,7544,1,0,0,0,7614,7551,1,0,0,0,7614,7558,1,0,0,0,7614,7567,1,0,0,0,7614,7576,1,0,0,0,7614,7585,1,0,0,0,7614,7592,1,0,0,0,7614,7600,1,0,0,0,7614,7607,1,0,0,0,7615,787,1,0,0,0,7616,7617,5,46,0,0,7617,7618,5,452,0,0,7618,7620,3,1436,718,0,7619,7621,3,790,395,0,7620,7619,1,0,0,0,7620,7621,1,0,0,0,7621,7623,1,0,0,0,7622,7624,3,710,355,0,7623,7622,1,0,0,0,7623,7624,1,0,0,0,7624,789,1,0,0,0,7625,7626,3,792,396,0,7626,791,1,0,0,0,7627,7628,5,62,0,0,7628,7629,5,92,0,0,7629,7634,3,1124,562,0,7630,7631,5,62,0,0,7631,7632,5,30,0,0,7632,7634,5,350,0,0,7633,7627,1,0,0,0,7633,7630,1,0,0,0,7634,793,1,0,0,0,7635,7636,5,138,0,0,7636,7637,5,452,0,0,7637,7638,3,1436,718,0,7638,7639,5,333,0,0,7639,7640,3,496,248,0,7640,7674,1,0,0,0,7641,7642,5,138,0,0,7642,7643,5,452,0,0,7643,7644,3,1436,718,0,7644,7645,5,133,0,0,7645,7646,3,1126,563,0,7646,7674,1,0,0,0,7647,7648,5,138,0,0,7648,7649,5,452,0,0,7649,7650,3,1436,718,0,7650,7651,5,333,0,0,7651,7652,3,1126,563,0,7652,7674,1,0,0,0,7653,7654,5,138,0,0,7654,7655,5,452,0,0,7655,7656,3,1436,718,0,7656,7657,5,191,0,0,7657,7658,3,1126,563,0,7658,7674,1,0,0,0,7659,7660,5,138,0,0,7660,7661,5,452,0,0,7661,7662,3,1436,718,0,7662,7663,5,282,0,0,7663,7664,5,94,0,0,7664,7665,3,1470,735,0,7665,7674,1,0,0,0,7666,7667,5,138,0,0,7667,7668,5,452,0,0,7668,7669,3,1436,718,0,7669,7670,5,309,0,0,7670,7671,5,94,0,0,7671,7672,3,1436,718,0,7672,7674,1,0,0,0,7673,7635,1,0,0,0,7673,7641,1,0,0,0,7673,7647,1,0,0,0,7673,7653,1,0,0,0,7673,7659,1,0,0,0,7673,7666,1,0,0,0,7674,795,1,0,0,0,7675,7676,5,46,0,0,7676,7677,5,451,0,0,7677,7678,3,1436,718,0,7678,7679,5,164,0,0,7679,7680,3,1458,729,0,7680,7681,5,452,0,0,7681,7683,3,798,399,0,7682,7684,3,710,355,0,7683,7682,1,0,0,0,7683,7684,1,0,0,0,7684,797,1,0,0,0,7685,7690,3,800,400,0,7686,7687,5,6,0,0,7687,7689,3,800,400,0,7688,7686,1,0,0,0,7689,7692,1,0,0,0,7690,7688,1,0,0,0,7690,7691,1,0,0,0,7691,799,1,0,0,0,7692,7690,1,0,0,0,7693,7694,3,1490,745,0,7694,801,1,0,0,0,7695,7696,5,138,0,0,7696,7697,5,451,0,0,7697,7698,3,1436,718,0,7698,7699,5,333,0,0,7699,7700,3,496,248,0,7700,7774,1,0,0,0,7701,7702,5,138,0,0,7702,7703,5,451,0,0,7703,7704,3,1436,718,0,7704,7705,5,164,0,0,7705,7706,3,1458,729,0,7706,7774,1,0,0,0,7707,7708,5,138,0,0,7708,7709,5,451,0,0,7709,7710,3,1436,718,0,7710,7711,5,305,0,0,7711,7713,5,452,0,0,7712,7714,3,710,355,0,7713,7712,1,0,0,0,7713,7714,1,0,0,0,7714,7774,1,0,0,0,7715,7716,5,138,0,0,7716,7717,5,451,0,0,7717,7718,3,1436,718,0,7718,7719,5,333,0,0,7719,7720,5,452,0,0,7720,7722,3,798,399,0,7721,7723,3,710,355,0,7722,7721,1,0,0,0,7722,7723,1,0,0,0,7723,7774,1,0,0,0,7724,7725,5,138,0,0,7725,7726,5,451,0,0,7726,7727,3,1436,718,0,7727,7728,5,133,0,0,7728,7729,5,452,0,0,7729,7731,3,798,399,0,7730,7732,3,710,355,0,7731,7730,1,0,0,0,7731,7732,1,0,0,0,7732,7774,1,0,0,0,7733,7734,5,138,0,0,7734,7735,5,451,0,0,7735,7736,3,1436,718,0,7736,7737,5,191,0,0,7737,7738,5,452,0,0,7738,7740,3,798,399,0,7739,7741,3,710,355,0,7740,7739,1,0,0,0,7740,7741,1,0,0,0,7741,7774,1,0,0,0,7742,7743,5,138,0,0,7743,7744,5,451,0,0,7744,7745,3,1436,718,0,7745,7746,5,193,0,0,7746,7774,1,0,0,0,7747,7748,5,138,0,0,7748,7749,5,451,0,0,7749,7750,3,1436,718,0,7750,7751,5,186,0,0,7751,7774,1,0,0,0,7752,7753,5,138,0,0,7753,7754,5,451,0,0,7754,7755,3,1436,718,0,7755,7756,5,333,0,0,7756,7757,3,496,248,0,7757,7774,1,0,0,0,7758,7759,5,138,0,0,7759,7760,5,451,0,0,7760,7761,3,1436,718,0,7761,7762,5,465,0,0,7762,7763,5,2,0,0,7763,7764,3,508,254,0,7764,7765,5,3,0,0,7765,7774,1,0,0,0,7766,7767,5,138,0,0,7767,7768,5,451,0,0,7768,7769,3,1436,718,0,7769,7770,5,282,0,0,7770,7771,5,94,0,0,7771,7772,3,1470,735,0,7772,7774,1,0,0,0,7773,7695,1,0,0,0,7773,7701,1,0,0,0,7773,7707,1,0,0,0,7773,7715,1,0,0,0,7773,7724,1,0,0,0,7773,7733,1,0,0,0,7773,7742,1,0,0,0,7773,7747,1,0,0,0,7773,7752,1,0,0,0,7773,7758,1,0,0,0,7773,7766,1,0,0,0,7774,803,1,0,0,0,7775,7777,5,46,0,0,7776,7778,3,658,329,0,7777,7776,1,0,0,0,7777,7778,1,0,0,0,7778,7779,1,0,0,0,7779,7780,5,321,0,0,7780,7781,3,1436,718,0,7781,7782,5,36,0,0,7782,7783,5,80,0,0,7783,7784,3,814,407,0,7784,7785,5,94,0,0,7785,7787,3,1412,706,0,7786,7788,3,1144,572,0,7787,7786,1,0,0,0,7787,7788,1,0,0,0,7788,7789,1,0,0,0,7789,7791,5,57,0,0,7790,7792,3,816,408,0,7791,7790,1,0,0,0,7791,7792,1,0,0,0,7792,7793,1,0,0,0,7793,7794,3,806,403,0,7794,805,1,0,0,0,7795,7802,5,270,0,0,7796,7802,3,810,405,0,7797,7798,5,2,0,0,7798,7799,3,808,404,0,7799,7800,5,3,0,0,7800,7802,1,0,0,0,7801,7795,1,0,0,0,7801,7796,1,0,0,0,7801,7797,1,0,0,0,7802,807,1,0,0,0,7803,7805,3,812,406,0,7804,7803,1,0,0,0,7804,7805,1,0,0,0,7805,7812,1,0,0,0,7806,7808,5,7,0,0,7807,7809,3,812,406,0,7808,7807,1,0,0,0,7808,7809,1,0,0,0,7809,7811,1,0,0,0,7810,7806,1,0,0,0,7811,7814,1,0,0,0,7812,7810,1,0,0,0,7812,7813,1,0,0,0,7813,809,1,0,0,0,7814,7812,1,0,0,0,7815,7821,3,1e3,500,0,7816,7821,3,950,475,0,7817,7821,3,982,491,0,7818,7821,3,968,484,0,7819,7821,3,818,409,0,7820,7815,1,0,0,0,7820,7816,1,0,0,0,7820,7817,1,0,0,0,7820,7818,1,0,0,0,7820,7819,1,0,0,0,7821,811,1,0,0,0,7822,7823,3,810,405,0,7823,813,1,0,0,0,7824,7825,7,47,0,0,7825,815,1,0,0,0,7826,7827,7,48,0,0,7827,817,1,0,0,0,7828,7829,5,271,0,0,7829,7831,3,1474,737,0,7830,7832,3,820,410,0,7831,7830,1,0,0,0,7831,7832,1,0,0,0,7832,819,1,0,0,0,7833,7834,5,6,0,0,7834,7835,3,1458,729,0,7835,821,1,0,0,0,7836,7837,5,252,0,0,7837,7838,3,1474,737,0,7838,823,1,0,0,0,7839,7840,5,366,0,0,7840,7844,3,1474,737,0,7841,7842,5,366,0,0,7842,7844,5,9,0,0,7843,7839,1,0,0,0,7843,7841,1,0,0,0,7844,825,1,0,0,0,7845,7847,5,129,0,0,7846,7848,3,828,414,0,7847,7846,1,0,0,0,7847,7848,1,0,0,0,7848,7850,1,0,0,0,7849,7851,3,836,418,0,7850,7849,1,0,0,0,7850,7851,1,0,0,0,7851,7911,1,0,0,0,7852,7854,5,146,0,0,7853,7855,3,828,414,0,7854,7853,1,0,0,0,7854,7855,1,0,0,0,7855,7857,1,0,0,0,7856,7858,3,834,417,0,7857,7856,1,0,0,0,7857,7858,1,0,0,0,7858,7911,1,0,0,0,7859,7860,5,340,0,0,7860,7862,5,356,0,0,7861,7863,3,834,417,0,7862,7861,1,0,0,0,7862,7863,1,0,0,0,7863,7911,1,0,0,0,7864,7866,5,454,0,0,7865,7867,3,828,414,0,7866,7865,1,0,0,0,7866,7867,1,0,0,0,7867,7869,1,0,0,0,7868,7870,3,836,418,0,7869,7868,1,0,0,0,7869,7870,1,0,0,0,7870,7911,1,0,0,0,7871,7872,5,322,0,0,7872,7911,3,1474,737,0,7873,7875,5,308,0,0,7874,7876,5,322,0,0,7875,7874,1,0,0,0,7875,7876,1,0,0,0,7876,7877,1,0,0,0,7877,7911,3,1474,737,0,7878,7879,5,290,0,0,7879,7880,5,356,0,0,7880,7911,3,1458,729,0,7881,7882,5,161,0,0,7882,7883,5,291,0,0,7883,7911,3,1458,729,0,7884,7886,5,161,0,0,7885,7887,3,828,414,0,7886,7885,1,0,0,0,7886,7887,1,0,0,0,7887,7889,1,0,0,0,7888,7890,3,836,418,0,7889,7888,1,0,0,0,7889,7890,1,0,0,0,7890,7911,1,0,0,0,7891,7892,5,319,0,0,7892,7893,5,291,0,0,7893,7911,3,1458,729,0,7894,7896,5,319,0,0,7895,7897,3,828,414,0,7896,7895,1,0,0,0,7896,7897,1,0,0,0,7897,7898,1,0,0,0,7898,7900,5,94,0,0,7899,7901,5,322,0,0,7900,7899,1,0,0,0,7900,7901,1,0,0,0,7901,7902,1,0,0,0,7902,7911,3,1474,737,0,7903,7905,5,319,0,0,7904,7906,3,828,414,0,7905,7904,1,0,0,0,7905,7906,1,0,0,0,7906,7908,1,0,0,0,7907,7909,3,836,418,0,7908,7907,1,0,0,0,7908,7909,1,0,0,0,7909,7911,1,0,0,0,7910,7845,1,0,0,0,7910,7852,1,0,0,0,7910,7859,1,0,0,0,7910,7864,1,0,0,0,7910,7871,1,0,0,0,7910,7873,1,0,0,0,7910,7878,1,0,0,0,7910,7881,1,0,0,0,7910,7884,1,0,0,0,7910,7891,1,0,0,0,7910,7894,1,0,0,0,7910,7903,1,0,0,0,7911,827,1,0,0,0,7912,7913,7,49,0,0,7913,829,1,0,0,0,7914,7915,5,244,0,0,7915,7916,5,251,0,0,7916,7925,3,68,34,0,7917,7918,5,300,0,0,7918,7925,5,81,0,0,7919,7920,5,300,0,0,7920,7925,5,382,0,0,7921,7925,5,54,0,0,7922,7923,5,77,0,0,7923,7925,5,54,0,0,7924,7914,1,0,0,0,7924,7917,1,0,0,0,7924,7919,1,0,0,0,7924,7921,1,0,0,0,7924,7922,1,0,0,0,7925,831,1,0,0,0,7926,7933,3,830,415,0,7927,7929,5,6,0,0,7928,7927,1,0,0,0,7928,7929,1,0,0,0,7929,7930,1,0,0,0,7930,7932,3,830,415,0,7931,7928,1,0,0,0,7932,7935,1,0,0,0,7933,7931,1,0,0,0,7933,7934,1,0,0,0,7934,833,1,0,0,0,7935,7933,1,0,0,0,7936,7937,3,832,416,0,7937,835,1,0,0,0,7938,7940,5,33,0,0,7939,7941,5,269,0,0,7940,7939,1,0,0,0,7940,7941,1,0,0,0,7941,7942,1,0,0,0,7942,7943,5,153,0,0,7943,837,1,0,0,0,7944,7947,5,46,0,0,7945,7946,5,82,0,0,7946,7948,5,311,0,0,7947,7945,1,0,0,0,7947,7948,1,0,0,0,7948,7950,1,0,0,0,7949,7951,3,190,95,0,7950,7949,1,0,0,0,7950,7951,1,0,0,0,7951,7969,1,0,0,0,7952,7953,5,376,0,0,7953,7955,3,1408,704,0,7954,7956,3,242,121,0,7955,7954,1,0,0,0,7955,7956,1,0,0,0,7956,7958,1,0,0,0,7957,7959,3,134,67,0,7958,7957,1,0,0,0,7958,7959,1,0,0,0,7959,7970,1,0,0,0,7960,7961,5,303,0,0,7961,7962,5,376,0,0,7962,7963,3,1408,704,0,7963,7964,5,2,0,0,7964,7965,3,244,122,0,7965,7967,5,3,0,0,7966,7968,3,134,67,0,7967,7966,1,0,0,0,7967,7968,1,0,0,0,7968,7970,1,0,0,0,7969,7952,1,0,0,0,7969,7960,1,0,0,0,7970,7971,1,0,0,0,7971,7972,5,36,0,0,7972,7974,3,1e3,500,0,7973,7975,3,840,420,0,7974,7973,1,0,0,0,7974,7975,1,0,0,0,7975,839,1,0,0,0,7976,7978,5,105,0,0,7977,7979,7,50,0,0,7978,7977,1,0,0,0,7978,7979,1,0,0,0,7979,7980,1,0,0,0,7980,7981,5,42,0,0,7981,7982,5,279,0,0,7982,841,1,0,0,0,7983,7984,5,253,0,0,7984,7985,3,1440,720,0,7985,843,1,0,0,0,7986,7987,5,46,0,0,7987,7988,5,175,0,0,7988,7990,3,1418,709,0,7989,7991,3,14,7,0,7990,7989,1,0,0,0,7990,7991,1,0,0,0,7991,7993,1,0,0,0,7992,7994,3,846,423,0,7993,7992,1,0,0,0,7993,7994,1,0,0,0,7994,845,1,0,0,0,7995,7996,3,848,424,0,7996,847,1,0,0,0,7997,7999,3,850,425,0,7998,7997,1,0,0,0,7999,8e3,1,0,0,0,8e3,7998,1,0,0,0,8e3,8001,1,0,0,0,8001,849,1,0,0,0,8002,8004,3,852,426,0,8003,8005,3,854,427,0,8004,8003,1,0,0,0,8004,8005,1,0,0,0,8005,8009,1,0,0,0,8006,8010,3,1464,732,0,8007,8010,3,72,36,0,8008,8010,5,53,0,0,8009,8006,1,0,0,0,8009,8007,1,0,0,0,8009,8008,1,0,0,0,8010,851,1,0,0,0,8011,8012,5,164,0,0,8012,8020,5,74,0,0,8013,8020,5,194,0,0,8014,8020,5,255,0,0,8015,8020,5,282,0,0,8016,8020,5,351,0,0,8017,8020,5,353,0,0,8018,8020,3,1492,746,0,8019,8011,1,0,0,0,8019,8013,1,0,0,0,8019,8014,1,0,0,0,8019,8015,1,0,0,0,8019,8016,1,0,0,0,8019,8017,1,0,0,0,8019,8018,1,0,0,0,8020,853,1,0,0,0,8021,8022,5,10,0,0,8022,855,1,0,0,0,8023,8024,5,138,0,0,8024,8025,5,175,0,0,8025,8037,3,1420,710,0,8026,8027,5,333,0,0,8027,8028,5,351,0,0,8028,8030,3,1400,700,0,8029,8026,1,0,0,0,8029,8030,1,0,0,0,8030,8038,1,0,0,0,8031,8033,5,105,0,0,8032,8031,1,0,0,0,8032,8033,1,0,0,0,8033,8034,1,0,0,0,8034,8036,3,846,423,0,8035,8032,1,0,0,0,8035,8036,1,0,0,0,8036,8038,1,0,0,0,8037,8029,1,0,0,0,8037,8035,1,0,0,0,8038,857,1,0,0,0,8039,8040,5,138,0,0,8040,8041,5,175,0,0,8041,8043,3,1420,710,0,8042,8044,3,88,44,0,8043,8042,1,0,0,0,8043,8044,1,0,0,0,8044,859,1,0,0,0,8045,8050,3,862,431,0,8046,8047,5,6,0,0,8047,8049,3,862,431,0,8048,8046,1,0,0,0,8049,8052,1,0,0,0,8050,8048,1,0,0,0,8050,8051,1,0,0,0,8051,861,1,0,0,0,8052,8050,1,0,0,0,8053,8054,5,209,0,0,8054,863,1,0,0,0,8055,8056,5,138,0,0,8056,8057,5,108,0,0,8057,8058,3,558,279,0,8058,8059,5,305,0,0,8059,8060,5,375,0,0,8060,865,1,0,0,0,8061,8062,5,138,0,0,8062,8063,5,349,0,0,8063,8064,7,22,0,0,8064,8065,3,58,29,0,8065,867,1,0,0,0,8066,8067,5,46,0,0,8067,8068,5,189,0,0,8068,8070,3,558,279,0,8069,8071,3,872,436,0,8070,8069,1,0,0,0,8070,8071,1,0,0,0,8071,8072,1,0,0,0,8072,8073,3,1168,584,0,8073,8074,3,214,107,0,8074,869,1,0,0,0,8075,8076,5,138,0,0,8076,8077,5,189,0,0,8077,8099,3,558,279,0,8078,8100,3,122,61,0,8079,8080,5,191,0,0,8080,8081,5,77,0,0,8081,8100,5,78,0,0,8082,8083,5,333,0,0,8083,8084,5,77,0,0,8084,8100,5,78,0,0,8085,8086,5,133,0,0,8086,8100,3,234,117,0,8087,8088,5,191,0,0,8088,8090,5,45,0,0,8089,8091,3,748,374,0,8090,8089,1,0,0,0,8090,8091,1,0,0,0,8091,8092,1,0,0,0,8092,8094,3,1436,718,0,8093,8095,3,124,62,0,8094,8093,1,0,0,0,8094,8095,1,0,0,0,8095,8100,1,0,0,0,8096,8097,5,372,0,0,8097,8098,5,45,0,0,8098,8100,3,1436,718,0,8099,8078,1,0,0,0,8099,8079,1,0,0,0,8099,8082,1,0,0,0,8099,8085,1,0,0,0,8099,8087,1,0,0,0,8099,8096,1,0,0,0,8100,871,1,0,0,0,8101,8102,5,36,0,0,8102,873,1,0,0,0,8103,8104,5,138,0,0,8104,8105,5,355,0,0,8105,8106,5,325,0,0,8106,8107,5,185,0,0,8107,8108,3,558,279,0,8108,8109,3,496,248,0,8109,875,1,0,0,0,8110,8111,5,138,0,0,8111,8112,5,355,0,0,8112,8113,5,325,0,0,8113,8114,5,163,0,0,8114,8115,3,558,279,0,8115,8116,5,133,0,0,8116,8117,5,257,0,0,8117,8118,5,62,0,0,8118,8119,3,1416,708,0,8119,8120,3,878,439,0,8120,8121,3,552,276,0,8121,8174,1,0,0,0,8122,8123,5,138,0,0,8123,8124,5,355,0,0,8124,8125,5,325,0,0,8125,8126,5,163,0,0,8126,8127,3,558,279,0,8127,8128,5,138,0,0,8128,8129,5,257,0,0,8129,8130,5,62,0,0,8130,8131,3,1416,708,0,8131,8132,3,878,439,0,8132,8133,3,552,276,0,8133,8174,1,0,0,0,8134,8135,5,138,0,0,8135,8136,5,355,0,0,8136,8137,5,325,0,0,8137,8138,5,163,0,0,8138,8139,3,558,279,0,8139,8140,5,138,0,0,8140,8141,5,257,0,0,8141,8142,5,311,0,0,8142,8143,3,558,279,0,8143,8144,3,878,439,0,8144,8145,3,558,279,0,8145,8174,1,0,0,0,8146,8147,5,138,0,0,8147,8148,5,355,0,0,8148,8149,5,325,0,0,8149,8150,5,163,0,0,8150,8151,3,558,279,0,8151,8152,5,138,0,0,8152,8153,5,257,0,0,8153,8154,5,62,0,0,8154,8155,3,1416,708,0,8155,8156,5,311,0,0,8156,8157,3,558,279,0,8157,8158,3,878,439,0,8158,8159,3,558,279,0,8159,8174,1,0,0,0,8160,8161,5,138,0,0,8161,8162,5,355,0,0,8162,8163,5,325,0,0,8163,8164,5,163,0,0,8164,8165,3,558,279,0,8165,8166,5,191,0,0,8166,8168,5,257,0,0,8167,8169,3,748,374,0,8168,8167,1,0,0,0,8168,8169,1,0,0,0,8169,8170,1,0,0,0,8170,8171,5,62,0,0,8171,8172,3,1416,708,0,8172,8174,1,0,0,0,8173,8110,1,0,0,0,8173,8122,1,0,0,0,8173,8134,1,0,0,0,8173,8146,1,0,0,0,8173,8160,1,0,0,0,8174,877,1,0,0,0,8175,8176,5,105,0,0,8176,879,1,0,0,0,8177,8179,5,46,0,0,8178,8180,3,524,262,0,8179,8178,1,0,0,0,8179,8180,1,0,0,0,8180,8181,1,0,0,0,8181,8182,5,168,0,0,8182,8183,3,558,279,0,8183,8184,5,62,0,0,8184,8185,3,1458,729,0,8185,8186,5,94,0,0,8186,8187,3,1458,729,0,8187,8188,5,64,0,0,8188,8189,3,558,279,0,8189,881,1,0,0,0,8190,8192,5,158,0,0,8191,8193,3,908,454,0,8192,8191,1,0,0,0,8192,8193,1,0,0,0,8193,8194,1,0,0,0,8194,8196,3,1406,703,0,8195,8197,3,886,443,0,8196,8195,1,0,0,0,8196,8197,1,0,0,0,8197,8209,1,0,0,0,8198,8200,5,158,0,0,8199,8201,3,908,454,0,8200,8199,1,0,0,0,8200,8201,1,0,0,0,8201,8209,1,0,0,0,8202,8203,5,158,0,0,8203,8204,3,884,442,0,8204,8206,3,1406,703,0,8205,8207,3,886,443,0,8206,8205,1,0,0,0,8206,8207,1,0,0,0,8207,8209,1,0,0,0,8208,8190,1,0,0,0,8208,8198,1,0,0,0,8208,8202,1,0,0,0,8209,883,1,0,0,0,8210,8211,5,2,0,0,8211,8216,3,908,454,0,8212,8213,5,6,0,0,8213,8215,3,908,454,0,8214,8212,1,0,0,0,8215,8218,1,0,0,0,8216,8214,1,0,0,0,8216,8217,1,0,0,0,8217,8219,1,0,0,0,8218,8216,1,0,0,0,8219,8220,5,3,0,0,8220,885,1,0,0,0,8221,8222,5,100,0,0,8222,8223,3,1436,718,0,8223,887,1,0,0,0,8224,8226,5,370,0,0,8225,8227,3,914,457,0,8226,8225,1,0,0,0,8226,8227,1,0,0,0,8227,8229,1,0,0,0,8228,8230,3,916,458,0,8229,8228,1,0,0,0,8229,8230,1,0,0,0,8230,8232,1,0,0,0,8231,8233,3,908,454,0,8232,8231,1,0,0,0,8232,8233,1,0,0,0,8233,8235,1,0,0,0,8234,8236,3,902,451,0,8235,8234,1,0,0,0,8235,8236,1,0,0,0,8236,8238,1,0,0,0,8237,8239,3,924,462,0,8238,8237,1,0,0,0,8238,8239,1,0,0,0,8239,8251,1,0,0,0,8240,8245,5,370,0,0,8241,8242,5,2,0,0,8242,8243,3,892,446,0,8243,8244,5,3,0,0,8244,8246,1,0,0,0,8245,8241,1,0,0,0,8245,8246,1,0,0,0,8246,8248,1,0,0,0,8247,8249,3,924,462,0,8248,8247,1,0,0,0,8248,8249,1,0,0,0,8249,8251,1,0,0,0,8250,8224,1,0,0,0,8250,8240,1,0,0,0,8251,889,1,0,0,0,8252,8254,3,894,447,0,8253,8255,3,908,454,0,8254,8253,1,0,0,0,8254,8255,1,0,0,0,8255,8257,1,0,0,0,8256,8258,3,924,462,0,8257,8256,1,0,0,0,8257,8258,1,0,0,0,8258,8267,1,0,0,0,8259,8260,3,894,447,0,8260,8261,5,2,0,0,8261,8262,3,904,452,0,8262,8264,5,3,0,0,8263,8265,3,924,462,0,8264,8263,1,0,0,0,8264,8265,1,0,0,0,8265,8267,1,0,0,0,8266,8252,1,0,0,0,8266,8259,1,0,0,0,8267,891,1,0,0,0,8268,8273,3,896,448,0,8269,8270,5,6,0,0,8270,8272,3,896,448,0,8271,8269,1,0,0,0,8272,8275,1,0,0,0,8273,8271,1,0,0,0,8273,8274,1,0,0,0,8274,893,1,0,0,0,8275,8273,1,0,0,0,8276,8277,7,51,0,0,8277,895,1,0,0,0,8278,8280,3,898,449,0,8279,8281,3,900,450,0,8280,8279,1,0,0,0,8280,8281,1,0,0,0,8281,897,1,0,0,0,8282,8285,3,1488,744,0,8283,8285,3,894,447,0,8284,8282,1,0,0,0,8284,8283,1,0,0,0,8285,899,1,0,0,0,8286,8289,3,72,36,0,8287,8289,3,322,161,0,8288,8286,1,0,0,0,8288,8287,1,0,0,0,8289,901,1,0,0,0,8290,8291,3,894,447,0,8291,903,1,0,0,0,8292,8297,3,906,453,0,8293,8294,5,6,0,0,8294,8296,3,906,453,0,8295,8293,1,0,0,0,8296,8299,1,0,0,0,8297,8295,1,0,0,0,8297,8298,1,0,0,0,8298,905,1,0,0,0,8299,8297,1,0,0,0,8300,8304,3,908,454,0,8301,8304,3,910,455,0,8302,8304,3,912,456,0,8303,8300,1,0,0,0,8303,8301,1,0,0,0,8303,8302,1,0,0,0,8304,907,1,0,0,0,8305,8307,5,128,0,0,8306,8308,7,52,0,0,8307,8306,1,0,0,0,8307,8308,1,0,0,0,8308,909,1,0,0,0,8309,8311,5,547,0,0,8310,8312,7,52,0,0,8311,8310,1,0,0,0,8311,8312,1,0,0,0,8312,911,1,0,0,0,8313,8316,5,548,0,0,8314,8317,3,322,161,0,8315,8317,3,1458,729,0,8316,8314,1,0,0,0,8316,8315,1,0,0,0,8317,913,1,0,0,0,8318,8319,5,113,0,0,8319,915,1,0,0,0,8320,8321,5,112,0,0,8321,917,1,0,0,0,8322,8323,5,2,0,0,8323,8324,3,244,122,0,8324,8325,5,3,0,0,8325,919,1,0,0,0,8326,8328,3,1406,703,0,8327,8329,3,918,459,0,8328,8327,1,0,0,0,8328,8329,1,0,0,0,8329,921,1,0,0,0,8330,8335,3,920,460,0,8331,8332,5,6,0,0,8332,8334,3,920,460,0,8333,8331,1,0,0,0,8334,8337,1,0,0,0,8335,8333,1,0,0,0,8335,8336,1,0,0,0,8336,923,1,0,0,0,8337,8335,1,0,0,0,8338,8339,3,922,461,0,8339,925,1,0,0,0,8340,8341,5,203,0,0,8341,8359,3,928,464,0,8342,8343,5,203,0,0,8343,8345,3,894,447,0,8344,8346,3,908,454,0,8345,8344,1,0,0,0,8345,8346,1,0,0,0,8346,8347,1,0,0,0,8347,8348,3,928,464,0,8348,8359,1,0,0,0,8349,8350,5,203,0,0,8350,8351,5,128,0,0,8351,8359,3,928,464,0,8352,8353,5,203,0,0,8353,8354,5,2,0,0,8354,8355,3,930,465,0,8355,8356,5,3,0,0,8356,8357,3,928,464,0,8357,8359,1,0,0,0,8358,8340,1,0,0,0,8358,8342,1,0,0,0,8358,8349,1,0,0,0,8358,8352,1,0,0,0,8359,927,1,0,0,0,8360,8370,3,1e3,500,0,8361,8370,3,950,475,0,8362,8370,3,982,491,0,8363,8370,3,968,484,0,8364,8370,3,992,496,0,8365,8370,3,294,147,0,8366,8370,3,300,150,0,8367,8370,3,306,153,0,8368,8370,3,944,472,0,8369,8360,1,0,0,0,8369,8361,1,0,0,0,8369,8362,1,0,0,0,8369,8363,1,0,0,0,8369,8364,1,0,0,0,8369,8365,1,0,0,0,8369,8366,1,0,0,0,8369,8367,1,0,0,0,8369,8368,1,0,0,0,8370,929,1,0,0,0,8371,8376,3,932,466,0,8372,8373,5,6,0,0,8373,8375,3,932,466,0,8374,8372,1,0,0,0,8375,8378,1,0,0,0,8376,8374,1,0,0,0,8376,8377,1,0,0,0,8377,931,1,0,0,0,8378,8376,1,0,0,0,8379,8381,3,934,467,0,8380,8382,3,936,468,0,8381,8380,1,0,0,0,8381,8382,1,0,0,0,8382,933,1,0,0,0,8383,8386,3,1488,744,0,8384,8386,3,894,447,0,8385,8383,1,0,0,0,8385,8384,1,0,0,0,8386,935,1,0,0,0,8387,8390,3,72,36,0,8388,8390,3,322,161,0,8389,8387,1,0,0,0,8389,8388,1,0,0,0,8390,937,1,0,0,0,8391,8392,5,290,0,0,8392,8394,3,1436,718,0,8393,8395,3,940,470,0,8394,8393,1,0,0,0,8394,8395,1,0,0,0,8395,8396,1,0,0,0,8396,8397,5,36,0,0,8397,8398,3,942,471,0,8398,939,1,0,0,0,8399,8400,5,2,0,0,8400,8401,3,1342,671,0,8401,8402,5,3,0,0,8402,941,1,0,0,0,8403,8408,3,1e3,500,0,8404,8408,3,950,475,0,8405,8408,3,982,491,0,8406,8408,3,968,484,0,8407,8403,1,0,0,0,8407,8404,1,0,0,0,8407,8405,1,0,0,0,8407,8406,1,0,0,0,8408,943,1,0,0,0,8409,8410,5,202,0,0,8410,8412,3,1436,718,0,8411,8413,3,946,473,0,8412,8411,1,0,0,0,8412,8413,1,0,0,0,8413,8433,1,0,0,0,8414,8416,5,46,0,0,8415,8417,3,190,95,0,8416,8415,1,0,0,0,8416,8417,1,0,0,0,8417,8418,1,0,0,0,8418,8420,5,92,0,0,8419,8421,3,516,258,0,8420,8419,1,0,0,0,8420,8421,1,0,0,0,8421,8422,1,0,0,0,8422,8423,3,296,148,0,8423,8424,5,36,0,0,8424,8425,5,202,0,0,8425,8427,3,1436,718,0,8426,8428,3,946,473,0,8427,8426,1,0,0,0,8427,8428,1,0,0,0,8428,8430,1,0,0,0,8429,8431,3,298,149,0,8430,8429,1,0,0,0,8430,8431,1,0,0,0,8431,8433,1,0,0,0,8432,8409,1,0,0,0,8432,8414,1,0,0,0,8433,945,1,0,0,0,8434,8435,5,2,0,0,8435,8436,3,1328,664,0,8436,8437,5,3,0,0,8437,947,1,0,0,0,8438,8440,5,177,0,0,8439,8441,5,290,0,0,8440,8439,1,0,0,0,8440,8441,1,0,0,0,8441,8444,1,0,0,0,8442,8445,3,1436,718,0,8443,8445,5,30,0,0,8444,8442,1,0,0,0,8444,8443,1,0,0,0,8445,949,1,0,0,0,8446,8448,3,1026,513,0,8447,8446,1,0,0,0,8447,8448,1,0,0,0,8448,8449,1,0,0,0,8449,8450,5,241,0,0,8450,8451,5,71,0,0,8451,8452,3,952,476,0,8452,8454,3,954,477,0,8453,8455,3,962,481,0,8454,8453,1,0,0,0,8454,8455,1,0,0,0,8455,8457,1,0,0,0,8456,8458,3,966,483,0,8457,8456,1,0,0,0,8457,8458,1,0,0,0,8458,951,1,0,0,0,8459,8462,3,1406,703,0,8460,8461,5,36,0,0,8461,8463,3,1474,737,0,8462,8460,1,0,0,0,8462,8463,1,0,0,0,8463,953,1,0,0,0,8464,8465,5,2,0,0,8465,8466,3,958,479,0,8466,8467,5,3,0,0,8467,8469,1,0,0,0,8468,8464,1,0,0,0,8468,8469,1,0,0,0,8469,8474,1,0,0,0,8470,8471,5,463,0,0,8471,8472,3,956,478,0,8472,8473,5,450,0,0,8473,8475,1,0,0,0,8474,8470,1,0,0,0,8474,8475,1,0,0,0,8475,8478,1,0,0,0,8476,8479,3,1694,847,0,8477,8479,3,1e3,500,0,8478,8476,1,0,0,0,8478,8477,1,0,0,0,8479,955,1,0,0,0,8480,8481,7,53,0,0,8481,957,1,0,0,0,8482,8487,3,960,480,0,8483,8484,5,6,0,0,8484,8486,3,960,480,0,8485,8483,1,0,0,0,8486,8489,1,0,0,0,8487,8485,1,0,0,0,8487,8488,1,0,0,0,8488,959,1,0,0,0,8489,8487,1,0,0,0,8490,8491,3,1432,716,0,8491,8492,3,1382,691,0,8492,961,1,0,0,0,8493,8494,5,80,0,0,8494,8496,5,464,0,0,8495,8497,3,964,482,0,8496,8495,1,0,0,0,8496,8497,1,0,0,0,8497,8498,1,0,0,0,8498,8506,5,57,0,0,8499,8500,5,369,0,0,8500,8501,5,333,0,0,8501,8503,3,984,492,0,8502,8504,3,1144,572,0,8503,8502,1,0,0,0,8503,8504,1,0,0,0,8504,8507,1,0,0,0,8505,8507,5,270,0,0,8506,8499,1,0,0,0,8506,8505,1,0,0,0,8507,963,1,0,0,0,8508,8509,5,2,0,0,8509,8510,3,636,318,0,8510,8512,5,3,0,0,8511,8513,3,1144,572,0,8512,8511,1,0,0,0,8512,8513,1,0,0,0,8513,8518,1,0,0,0,8514,8515,5,80,0,0,8515,8516,5,45,0,0,8516,8518,3,1436,718,0,8517,8508,1,0,0,0,8517,8514,1,0,0,0,8518,965,1,0,0,0,8519,8520,5,87,0,0,8520,8521,3,1386,693,0,8521,967,1,0,0,0,8522,8524,3,1026,513,0,8523,8522,1,0,0,0,8523,8524,1,0,0,0,8524,8525,1,0,0,0,8525,8526,5,182,0,0,8526,8527,5,64,0,0,8527,8529,3,1128,564,0,8528,8530,3,970,485,0,8529,8528,1,0,0,0,8529,8530,1,0,0,0,8530,8532,1,0,0,0,8531,8533,3,1146,573,0,8532,8531,1,0,0,0,8532,8533,1,0,0,0,8533,8535,1,0,0,0,8534,8536,3,966,483,0,8535,8534,1,0,0,0,8535,8536,1,0,0,0,8536,969,1,0,0,0,8537,8538,5,100,0,0,8538,8539,3,1104,552,0,8539,971,1,0,0,0,8540,8542,5,256,0,0,8541,8543,3,1034,517,0,8542,8541,1,0,0,0,8542,8543,1,0,0,0,8543,8544,1,0,0,0,8544,8546,3,1124,562,0,8545,8547,3,974,487,0,8546,8545,1,0,0,0,8546,8547,1,0,0,0,8547,8549,1,0,0,0,8548,8550,3,978,489,0,8549,8548,1,0,0,0,8549,8550,1,0,0,0,8550,973,1,0,0,0,8551,8552,5,68,0,0,8552,8553,3,976,488,0,8553,8554,5,263,0,0,8554,975,1,0,0,0,8555,8556,5,131,0,0,8556,8568,7,54,0,0,8557,8558,5,414,0,0,8558,8568,7,54,0,0,8559,8564,5,334,0,0,8560,8561,5,369,0,0,8561,8565,5,201,0,0,8562,8563,5,414,0,0,8563,8565,5,201,0,0,8564,8560,1,0,0,0,8564,8562,1,0,0,0,8564,8565,1,0,0,0,8565,8568,1,0,0,0,8566,8568,5,201,0,0,8567,8555,1,0,0,0,8567,8557,1,0,0,0,8567,8559,1,0,0,0,8567,8566,1,0,0,0,8568,977,1,0,0,0,8569,8570,5,272,0,0,8570,979,1,0,0,0,8571,8575,5,272,0,0,8572,8573,5,465,0,0,8573,8575,5,466,0,0,8574,8571,1,0,0,0,8574,8572,1,0,0,0,8575,981,1,0,0,0,8576,8578,3,1026,513,0,8577,8576,1,0,0,0,8577,8578,1,0,0,0,8578,8579,1,0,0,0,8579,8580,5,369,0,0,8580,8581,3,1128,564,0,8581,8582,5,333,0,0,8582,8584,3,984,492,0,8583,8585,3,1102,551,0,8584,8583,1,0,0,0,8584,8585,1,0,0,0,8585,8587,1,0,0,0,8586,8588,3,1146,573,0,8587,8586,1,0,0,0,8587,8588,1,0,0,0,8588,8590,1,0,0,0,8589,8591,3,966,483,0,8590,8589,1,0,0,0,8590,8591,1,0,0,0,8591,983,1,0,0,0,8592,8597,3,986,493,0,8593,8594,5,6,0,0,8594,8596,3,986,493,0,8595,8593,1,0,0,0,8596,8599,1,0,0,0,8597,8595,1,0,0,0,8597,8598,1,0,0,0,8598,985,1,0,0,0,8599,8597,1,0,0,0,8600,8601,3,988,494,0,8601,8602,5,10,0,0,8602,8603,3,1212,606,0,8603,8619,1,0,0,0,8604,8605,5,2,0,0,8605,8606,3,990,495,0,8606,8607,5,3,0,0,8607,8616,5,10,0,0,8608,8610,5,414,0,0,8609,8608,1,0,0,0,8609,8610,1,0,0,0,8610,8611,1,0,0,0,8611,8617,3,1212,606,0,8612,8613,5,2,0,0,8613,8614,3,1006,503,0,8614,8615,5,3,0,0,8615,8617,1,0,0,0,8616,8609,1,0,0,0,8616,8612,1,0,0,0,8617,8619,1,0,0,0,8618,8600,1,0,0,0,8618,8604,1,0,0,0,8619,987,1,0,0,0,8620,8621,3,1432,716,0,8621,8622,3,1382,691,0,8622,989,1,0,0,0,8623,8628,3,988,494,0,8624,8625,5,6,0,0,8625,8627,3,988,494,0,8626,8624,1,0,0,0,8627,8630,1,0,0,0,8628,8626,1,0,0,0,8628,8629,1,0,0,0,8629,991,1,0,0,0,8630,8628,1,0,0,0,8631,8632,5,178,0,0,8632,8633,3,994,497,0,8633,8634,3,996,498,0,8634,8635,5,172,0,0,8635,8636,3,998,499,0,8636,8637,5,62,0,0,8637,8638,3,1e3,500,0,8638,993,1,0,0,0,8639,8640,3,1436,718,0,8640,995,1,0,0,0,8641,8642,5,269,0,0,8642,8647,5,324,0,0,8643,8647,5,324,0,0,8644,8647,5,107,0,0,8645,8647,5,240,0,0,8646,8641,1,0,0,0,8646,8643,1,0,0,0,8646,8644,1,0,0,0,8646,8645,1,0,0,0,8647,8650,1,0,0,0,8648,8646,1,0,0,0,8648,8649,1,0,0,0,8649,997,1,0,0,0,8650,8648,1,0,0,0,8651,8657,1,0,0,0,8652,8653,5,105,0,0,8653,8657,5,217,0,0,8654,8655,5,379,0,0,8655,8657,5,217,0,0,8656,8651,1,0,0,0,8656,8652,1,0,0,0,8656,8654,1,0,0,0,8657,999,1,0,0,0,8658,8661,3,1004,502,0,8659,8661,3,1002,501,0,8660,8658,1,0,0,0,8660,8659,1,0,0,0,8661,1001,1,0,0,0,8662,8663,5,2,0,0,8663,8664,3,1004,502,0,8664,8665,5,3,0,0,8665,8671,1,0,0,0,8666,8667,5,2,0,0,8667,8668,3,1002,501,0,8668,8669,5,3,0,0,8669,8671,1,0,0,0,8670,8662,1,0,0,0,8670,8666,1,0,0,0,8671,1003,1,0,0,0,8672,8674,3,1006,503,0,8673,8675,3,1042,521,0,8674,8673,1,0,0,0,8674,8675,1,0,0,0,8675,8684,1,0,0,0,8676,8678,3,1088,544,0,8677,8679,3,1052,526,0,8678,8677,1,0,0,0,8678,8679,1,0,0,0,8679,8685,1,0,0,0,8680,8682,3,1050,525,0,8681,8683,3,1090,545,0,8682,8681,1,0,0,0,8682,8683,1,0,0,0,8683,8685,1,0,0,0,8684,8676,1,0,0,0,8684,8680,1,0,0,0,8684,8685,1,0,0,0,8685,8702,1,0,0,0,8686,8687,3,1014,507,0,8687,8689,3,1006,503,0,8688,8690,3,1042,521,0,8689,8688,1,0,0,0,8689,8690,1,0,0,0,8690,8699,1,0,0,0,8691,8693,3,1088,544,0,8692,8694,3,1052,526,0,8693,8692,1,0,0,0,8693,8694,1,0,0,0,8694,8700,1,0,0,0,8695,8697,3,1050,525,0,8696,8698,3,1090,545,0,8697,8696,1,0,0,0,8697,8698,1,0,0,0,8698,8700,1,0,0,0,8699,8691,1,0,0,0,8699,8695,1,0,0,0,8699,8700,1,0,0,0,8700,8702,1,0,0,0,8701,8672,1,0,0,0,8701,8686,1,0,0,0,8702,1005,1,0,0,0,8703,8706,3,1008,504,0,8704,8706,3,1002,501,0,8705,8703,1,0,0,0,8705,8704,1,0,0,0,8706,1007,1,0,0,0,8707,8723,5,88,0,0,8708,8710,3,1040,520,0,8709,8708,1,0,0,0,8709,8710,1,0,0,0,8710,8712,1,0,0,0,8711,8713,3,1028,514,0,8712,8711,1,0,0,0,8712,8713,1,0,0,0,8713,8715,1,0,0,0,8714,8716,3,1384,692,0,8715,8714,1,0,0,0,8715,8716,1,0,0,0,8716,8724,1,0,0,0,8717,8719,3,1038,519,0,8718,8717,1,0,0,0,8718,8719,1,0,0,0,8719,8721,1,0,0,0,8720,8722,3,1386,693,0,8721,8720,1,0,0,0,8721,8722,1,0,0,0,8722,8724,1,0,0,0,8723,8709,1,0,0,0,8723,8718,1,0,0,0,8724,8726,1,0,0,0,8725,8727,3,1028,514,0,8726,8725,1,0,0,0,8726,8727,1,0,0,0,8727,8729,1,0,0,0,8728,8730,3,1102,551,0,8729,8728,1,0,0,0,8729,8730,1,0,0,0,8730,8732,1,0,0,0,8731,8733,3,1144,572,0,8732,8731,1,0,0,0,8732,8733,1,0,0,0,8733,8735,1,0,0,0,8734,8736,3,1072,536,0,8735,8734,1,0,0,0,8735,8736,1,0,0,0,8736,8738,1,0,0,0,8737,8739,3,1086,543,0,8738,8737,1,0,0,0,8738,8739,1,0,0,0,8739,8741,1,0,0,0,8740,8742,3,1288,644,0,8741,8740,1,0,0,0,8741,8742,1,0,0,0,8742,8753,1,0,0,0,8743,8753,3,1100,550,0,8744,8745,5,92,0,0,8745,8753,3,1118,559,0,8746,8747,3,1002,501,0,8747,8750,3,1012,506,0,8748,8751,3,1008,504,0,8749,8751,3,1002,501,0,8750,8748,1,0,0,0,8750,8749,1,0,0,0,8751,8753,1,0,0,0,8752,8707,1,0,0,0,8752,8743,1,0,0,0,8752,8744,1,0,0,0,8752,8746,1,0,0,0,8753,8761,1,0,0,0,8754,8757,3,1012,506,0,8755,8758,3,1008,504,0,8756,8758,3,1002,501,0,8757,8755,1,0,0,0,8757,8756,1,0,0,0,8758,8760,1,0,0,0,8759,8754,1,0,0,0,8760,8763,1,0,0,0,8761,8759,1,0,0,0,8761,8762,1,0,0,0,8762,1009,1,0,0,0,8763,8761,1,0,0,0,8764,8768,5,97,0,0,8765,8768,5,70,0,0,8766,8768,5,59,0,0,8767,8764,1,0,0,0,8767,8765,1,0,0,0,8767,8766,1,0,0,0,8768,1011,1,0,0,0,8769,8771,3,1010,505,0,8770,8772,3,1036,518,0,8771,8770,1,0,0,0,8771,8772,1,0,0,0,8772,1013,1,0,0,0,8773,8775,5,105,0,0,8774,8776,5,303,0,0,8775,8774,1,0,0,0,8775,8776,1,0,0,0,8776,8777,1,0,0,0,8777,8778,3,1016,508,0,8778,1015,1,0,0,0,8779,8784,3,1018,509,0,8780,8781,5,6,0,0,8781,8783,3,1018,509,0,8782,8780,1,0,0,0,8783,8786,1,0,0,0,8784,8782,1,0,0,0,8784,8785,1,0,0,0,8785,1017,1,0,0,0,8786,8784,1,0,0,0,8787,8789,3,1436,718,0,8788,8790,3,918,459,0,8789,8788,1,0,0,0,8789,8790,1,0,0,0,8790,8791,1,0,0,0,8791,8793,5,36,0,0,8792,8794,3,1024,512,0,8793,8792,1,0,0,0,8793,8794,1,0,0,0,8794,8795,1,0,0,0,8795,8796,5,2,0,0,8796,8797,3,942,471,0,8797,8799,5,3,0,0,8798,8800,3,1020,510,0,8799,8798,1,0,0,0,8799,8800,1,0,0,0,8800,8802,1,0,0,0,8801,8803,3,1022,511,0,8802,8801,1,0,0,0,8802,8803,1,0,0,0,8803,1019,1,0,0,0,8804,8805,5,325,0,0,8805,8806,7,55,0,0,8806,8807,5,207,0,0,8807,8808,5,147,0,0,8808,8809,3,244,122,0,8809,8810,5,333,0,0,8810,8811,3,1432,716,0,8811,1021,1,0,0,0,8812,8813,5,173,0,0,8813,8814,3,244,122,0,8814,8815,5,333,0,0,8815,8821,3,1432,716,0,8816,8817,5,94,0,0,8817,8818,3,1436,718,0,8818,8819,5,53,0,0,8819,8820,3,1436,718,0,8820,8822,1,0,0,0,8821,8816,1,0,0,0,8821,8822,1,0,0,0,8822,8823,1,0,0,0,8823,8824,5,100,0,0,8824,8825,3,1432,716,0,8825,1023,1,0,0,0,8826,8830,5,259,0,0,8827,8828,5,77,0,0,8828,8830,5,259,0,0,8829,8826,1,0,0,0,8829,8827,1,0,0,0,8830,1025,1,0,0,0,8831,8832,3,1014,507,0,8832,1027,1,0,0,0,8833,8838,5,71,0,0,8834,8835,3,1030,515,0,8835,8836,3,1032,516,0,8836,8839,1,0,0,0,8837,8839,3,1674,837,0,8838,8834,1,0,0,0,8838,8837,1,0,0,0,8839,1029,1,0,0,0,8840,8843,1,0,0,0,8841,8843,5,346,0,0,8842,8840,1,0,0,0,8842,8841,1,0,0,0,8843,1031,1,0,0,0,8844,8846,7,56,0,0,8845,8844,1,0,0,0,8845,8846,1,0,0,0,8846,8847,1,0,0,0,8847,8849,7,25,0,0,8848,8850,3,1034,517,0,8849,8848,1,0,0,0,8849,8850,1,0,0,0,8850,8851,1,0,0,0,8851,8861,3,1404,702,0,8852,8854,5,367,0,0,8853,8855,3,1034,517,0,8854,8853,1,0,0,0,8854,8855,1,0,0,0,8855,8856,1,0,0,0,8856,8861,3,1404,702,0,8857,8858,5,92,0,0,8858,8861,3,1404,702,0,8859,8861,3,1404,702,0,8860,8845,1,0,0,0,8860,8852,1,0,0,0,8860,8857,1,0,0,0,8860,8859,1,0,0,0,8861,1033,1,0,0,0,8862,8863,5,92,0,0,8863,1035,1,0,0,0,8864,8865,7,57,0,0,8865,1037,1,0,0,0,8866,8872,5,56,0,0,8867,8868,5,80,0,0,8868,8869,5,2,0,0,8869,8870,3,1328,664,0,8870,8871,5,3,0,0,8871,8873,1,0,0,0,8872,8867,1,0,0,0,8872,8873,1,0,0,0,8873,1039,1,0,0,0,8874,8875,5,30,0,0,8875,1041,1,0,0,0,8876,8877,3,1044,522,0,8877,1043,1,0,0,0,8878,8879,5,83,0,0,8879,8880,5,147,0,0,8880,8881,3,1046,523,0,8881,1045,1,0,0,0,8882,8887,3,1048,524,0,8883,8884,5,6,0,0,8884,8886,3,1048,524,0,8885,8883,1,0,0,0,8886,8889,1,0,0,0,8887,8885,1,0,0,0,8887,8888,1,0,0,0,8888,1047,1,0,0,0,8889,8887,1,0,0,0,8890,8894,3,1336,668,0,8891,8892,5,100,0,0,8892,8895,3,1324,662,0,8893,8895,3,650,325,0,8894,8891,1,0,0,0,8894,8893,1,0,0,0,8894,8895,1,0,0,0,8895,8897,1,0,0,0,8896,8898,3,652,326,0,8897,8896,1,0,0,0,8897,8898,1,0,0,0,8898,1049,1,0,0,0,8899,8901,3,1054,527,0,8900,8902,3,1058,529,0,8901,8900,1,0,0,0,8901,8902,1,0,0,0,8902,8912,1,0,0,0,8903,8905,3,1058,529,0,8904,8906,3,1056,528,0,8905,8904,1,0,0,0,8905,8906,1,0,0,0,8906,8912,1,0,0,0,8907,8909,3,1056,528,0,8908,8910,3,1058,529,0,8909,8908,1,0,0,0,8909,8910,1,0,0,0,8910,8912,1,0,0,0,8911,8899,1,0,0,0,8911,8903,1,0,0,0,8911,8907,1,0,0,0,8912,1051,1,0,0,0,8913,8914,3,1050,525,0,8914,1053,1,0,0,0,8915,8916,5,74,0,0,8916,8919,3,1060,530,0,8917,8918,5,6,0,0,8918,8920,3,1062,531,0,8919,8917,1,0,0,0,8919,8920,1,0,0,0,8920,1055,1,0,0,0,8921,8922,5,61,0,0,8922,8936,3,1070,535,0,8923,8924,3,1064,532,0,8924,8928,3,1068,534,0,8925,8929,5,81,0,0,8926,8927,5,105,0,0,8927,8929,5,467,0,0,8928,8925,1,0,0,0,8928,8926,1,0,0,0,8929,8937,1,0,0,0,8930,8934,3,1068,534,0,8931,8935,5,81,0,0,8932,8933,5,105,0,0,8933,8935,5,467,0,0,8934,8931,1,0,0,0,8934,8932,1,0,0,0,8935,8937,1,0,0,0,8936,8923,1,0,0,0,8936,8930,1,0,0,0,8937,1057,1,0,0,0,8938,8943,5,79,0,0,8939,8940,3,1064,532,0,8940,8941,3,1068,534,0,8941,8944,1,0,0,0,8942,8944,3,1062,531,0,8943,8939,1,0,0,0,8943,8942,1,0,0,0,8944,1059,1,0,0,0,8945,8948,3,1212,606,0,8946,8948,5,30,0,0,8947,8945,1,0,0,0,8947,8946,1,0,0,0,8948,1061,1,0,0,0,8949,8950,3,1212,606,0,8950,1063,1,0,0,0,8951,8952,5,12,0,0,8952,8957,3,1066,533,0,8953,8954,5,13,0,0,8954,8957,3,1066,533,0,8955,8957,3,1254,627,0,8956,8951,1,0,0,0,8956,8953,1,0,0,0,8956,8955,1,0,0,0,8957,1065,1,0,0,0,8958,8961,3,1456,728,0,8959,8961,3,1454,727,0,8960,8958,1,0,0,0,8960,8959,1,0,0,0,8961,1067,1,0,0,0,8962,8963,7,58,0,0,8963,1069,1,0,0,0,8964,8965,7,59,0,0,8965,1071,1,0,0,0,8966,8967,5,66,0,0,8967,8969,5,147,0,0,8968,8970,3,1036,518,0,8969,8968,1,0,0,0,8969,8970,1,0,0,0,8970,8971,1,0,0,0,8971,8972,3,1074,537,0,8972,1073,1,0,0,0,8973,8978,3,1076,538,0,8974,8975,5,6,0,0,8975,8977,3,1076,538,0,8976,8974,1,0,0,0,8977,8980,1,0,0,0,8978,8976,1,0,0,0,8978,8979,1,0,0,0,8979,1075,1,0,0,0,8980,8978,1,0,0,0,8981,8991,3,1336,668,0,8982,8991,3,1078,539,0,8983,8991,3,1082,541,0,8984,8991,3,1080,540,0,8985,8991,3,1084,542,0,8986,8987,5,2,0,0,8987,8988,3,1330,665,0,8988,8989,5,3,0,0,8989,8991,1,0,0,0,8990,8981,1,0,0,0,8990,8982,1,0,0,0,8990,8983,1,0,0,0,8990,8984,1,0,0,0,8990,8985,1,0,0,0,8990,8986,1,0,0,0,8991,1077,1,0,0,0,8992,8993,5,2,0,0,8993,8994,5,3,0,0,8994,1079,1,0,0,0,8995,8996,5,468,0,0,8996,8997,5,2,0,0,8997,8998,3,1330,665,0,8998,8999,5,3,0,0,8999,1081,1,0,0,0,9e3,9001,5,469,0,0,9001,9002,5,2,0,0,9002,9003,3,1330,665,0,9003,9004,5,3,0,0,9004,1083,1,0,0,0,9005,9006,5,470,0,0,9006,9007,5,471,0,0,9007,9008,5,2,0,0,9008,9009,3,1074,537,0,9009,9010,5,3,0,0,9010,1085,1,0,0,0,9011,9012,5,67,0,0,9012,9013,3,1212,606,0,9013,1087,1,0,0,0,9014,9019,3,1092,546,0,9015,9016,5,62,0,0,9016,9017,5,300,0,0,9017,9019,5,81,0,0,9018,9014,1,0,0,0,9018,9015,1,0,0,0,9019,1089,1,0,0,0,9020,9021,3,1088,544,0,9021,1091,1,0,0,0,9022,9024,3,1094,547,0,9023,9022,1,0,0,0,9024,9025,1,0,0,0,9025,9023,1,0,0,0,9025,9026,1,0,0,0,9026,1093,1,0,0,0,9027,9029,3,1096,548,0,9028,9030,3,1098,549,0,9029,9028,1,0,0,0,9029,9030,1,0,0,0,9030,9032,1,0,0,0,9031,9033,3,980,490,0,9032,9031,1,0,0,0,9032,9033,1,0,0,0,9033,1095,1,0,0,0,9034,9044,5,62,0,0,9035,9036,5,269,0,0,9036,9038,5,245,0,0,9037,9035,1,0,0,0,9037,9038,1,0,0,0,9038,9039,1,0,0,0,9039,9045,5,369,0,0,9040,9042,5,245,0,0,9041,9040,1,0,0,0,9041,9042,1,0,0,0,9042,9043,1,0,0,0,9043,9045,5,334,0,0,9044,9037,1,0,0,0,9044,9041,1,0,0,0,9045,1097,1,0,0,0,9046,9047,5,275,0,0,9047,9048,3,1390,695,0,9048,1099,1,0,0,0,9049,9050,5,422,0,0,9050,9051,5,2,0,0,9051,9052,3,1328,664,0,9052,9060,5,3,0,0,9053,9054,5,6,0,0,9054,9055,5,2,0,0,9055,9056,3,1328,664,0,9056,9057,5,3,0,0,9057,9059,1,0,0,0,9058,9053,1,0,0,0,9059,9062,1,0,0,0,9060,9058,1,0,0,0,9060,9061,1,0,0,0,9061,1101,1,0,0,0,9062,9060,1,0,0,0,9063,9064,5,64,0,0,9064,9065,3,1104,552,0,9065,1103,1,0,0,0,9066,9071,3,1106,553,0,9067,9068,5,6,0,0,9068,9070,3,1106,553,0,9069,9067,1,0,0,0,9070,9073,1,0,0,0,9071,9069,1,0,0,0,9071,9072,1,0,0,0,9072,1105,1,0,0,0,9073,9071,1,0,0,0,9074,9077,3,1118,559,0,9075,9077,3,1120,560,0,9076,9074,1,0,0,0,9076,9075,1,0,0,0,9077,9079,1,0,0,0,9078,9080,3,1110,555,0,9079,9078,1,0,0,0,9079,9080,1,0,0,0,9080,9082,1,0,0,0,9081,9083,3,1130,565,0,9082,9081,1,0,0,0,9082,9083,1,0,0,0,9083,9136,1,0,0,0,9084,9086,3,1134,567,0,9085,9087,3,1112,556,0,9086,9085,1,0,0,0,9086,9087,1,0,0,0,9087,9136,1,0,0,0,9088,9090,3,1154,577,0,9089,9091,3,1110,555,0,9090,9089,1,0,0,0,9090,9091,1,0,0,0,9091,9136,1,0,0,0,9092,9094,3,1002,501,0,9093,9095,3,1110,555,0,9094,9093,1,0,0,0,9094,9095,1,0,0,0,9095,9136,1,0,0,0,9096,9109,5,72,0,0,9097,9099,3,1154,577,0,9098,9100,3,1110,555,0,9099,9098,1,0,0,0,9099,9100,1,0,0,0,9100,9110,1,0,0,0,9101,9103,3,1134,567,0,9102,9104,3,1112,556,0,9103,9102,1,0,0,0,9103,9104,1,0,0,0,9104,9110,1,0,0,0,9105,9107,3,1002,501,0,9106,9108,3,1110,555,0,9107,9106,1,0,0,0,9107,9108,1,0,0,0,9108,9110,1,0,0,0,9109,9097,1,0,0,0,9109,9101,1,0,0,0,9109,9105,1,0,0,0,9110,9136,1,0,0,0,9111,9112,5,2,0,0,9112,9129,3,1106,553,0,9113,9114,5,110,0,0,9114,9115,5,118,0,0,9115,9130,3,1106,553,0,9116,9118,5,121,0,0,9117,9119,3,1114,557,0,9118,9117,1,0,0,0,9118,9119,1,0,0,0,9119,9120,1,0,0,0,9120,9121,5,118,0,0,9121,9130,3,1106,553,0,9122,9124,3,1114,557,0,9123,9122,1,0,0,0,9123,9124,1,0,0,0,9124,9125,1,0,0,0,9125,9126,5,118,0,0,9126,9127,3,1106,553,0,9127,9128,3,1116,558,0,9128,9130,1,0,0,0,9129,9113,1,0,0,0,9129,9116,1,0,0,0,9129,9123,1,0,0,0,9129,9130,1,0,0,0,9130,9131,1,0,0,0,9131,9133,5,3,0,0,9132,9134,3,1110,555,0,9133,9132,1,0,0,0,9133,9134,1,0,0,0,9134,9136,1,0,0,0,9135,9076,1,0,0,0,9135,9084,1,0,0,0,9135,9088,1,0,0,0,9135,9092,1,0,0,0,9135,9096,1,0,0,0,9135,9111,1,0,0,0,9136,9155,1,0,0,0,9137,9138,5,110,0,0,9138,9139,5,118,0,0,9139,9154,3,1106,553,0,9140,9142,5,121,0,0,9141,9143,3,1114,557,0,9142,9141,1,0,0,0,9142,9143,1,0,0,0,9143,9144,1,0,0,0,9144,9145,5,118,0,0,9145,9154,3,1106,553,0,9146,9148,3,1114,557,0,9147,9146,1,0,0,0,9147,9148,1,0,0,0,9148,9149,1,0,0,0,9149,9150,5,118,0,0,9150,9151,3,1106,553,0,9151,9152,3,1116,558,0,9152,9154,1,0,0,0,9153,9137,1,0,0,0,9153,9140,1,0,0,0,9153,9147,1,0,0,0,9154,9157,1,0,0,0,9155,9153,1,0,0,0,9155,9156,1,0,0,0,9156,1107,1,0,0,0,9157,9155,1,0,0,0,9158,9160,5,36,0,0,9159,9158,1,0,0,0,9159,9160,1,0,0,0,9160,9161,1,0,0,0,9161,9166,3,1474,737,0,9162,9163,5,2,0,0,9163,9164,3,1416,708,0,9164,9165,5,3,0,0,9165,9167,1,0,0,0,9166,9162,1,0,0,0,9166,9167,1,0,0,0,9167,1109,1,0,0,0,9168,9169,3,1108,554,0,9169,1111,1,0,0,0,9170,9183,3,1108,554,0,9171,9173,5,36,0,0,9172,9174,3,1474,737,0,9173,9172,1,0,0,0,9173,9174,1,0,0,0,9174,9177,1,0,0,0,9175,9177,3,1474,737,0,9176,9171,1,0,0,0,9176,9175,1,0,0,0,9177,9178,1,0,0,0,9178,9179,5,2,0,0,9179,9180,3,1150,575,0,9180,9181,5,3,0,0,9181,9183,1,0,0,0,9182,9170,1,0,0,0,9182,9176,1,0,0,0,9183,1113,1,0,0,0,9184,9186,7,60,0,0,9185,9187,5,123,0,0,9186,9185,1,0,0,0,9186,9187,1,0,0,0,9187,1115,1,0,0,0,9188,9189,5,100,0,0,9189,9190,5,2,0,0,9190,9191,3,244,122,0,9191,9192,5,3,0,0,9192,9196,1,0,0,0,9193,9194,5,80,0,0,9194,9196,3,1212,606,0,9195,9188,1,0,0,0,9195,9193,1,0,0,0,9196,1117,1,0,0,0,9197,9199,5,81,0,0,9198,9197,1,0,0,0,9198,9199,1,0,0,0,9199,9200,1,0,0,0,9200,9202,3,1406,703,0,9201,9203,5,9,0,0,9202,9201,1,0,0,0,9202,9203,1,0,0,0,9203,9219,1,0,0,0,9204,9210,5,81,0,0,9205,9211,3,1406,703,0,9206,9207,5,2,0,0,9207,9208,3,1406,703,0,9208,9209,5,3,0,0,9209,9211,1,0,0,0,9210,9205,1,0,0,0,9210,9206,1,0,0,0,9211,9219,1,0,0,0,9212,9213,5,68,0,0,9213,9216,5,323,0,0,9214,9217,3,1422,711,0,9215,9217,5,111,0,0,9216,9214,1,0,0,0,9216,9215,1,0,0,0,9217,9219,1,0,0,0,9218,9198,1,0,0,0,9218,9204,1,0,0,0,9218,9212,1,0,0,0,9219,1119,1,0,0,0,9220,9222,5,81,0,0,9221,9220,1,0,0,0,9221,9222,1,0,0,0,9222,9223,1,0,0,0,9223,9225,3,1410,705,0,9224,9226,5,9,0,0,9225,9224,1,0,0,0,9225,9226,1,0,0,0,9226,9228,1,0,0,0,9227,9229,3,244,122,0,9228,9227,1,0,0,0,9228,9229,1,0,0,0,9229,9231,1,0,0,0,9230,9232,3,1144,572,0,9231,9230,1,0,0,0,9231,9232,1,0,0,0,9232,1121,1,0,0,0,9233,9235,5,92,0,0,9234,9236,5,81,0,0,9235,9234,1,0,0,0,9235,9236,1,0,0,0,9236,9237,1,0,0,0,9237,9239,3,1406,703,0,9238,9240,5,9,0,0,9239,9238,1,0,0,0,9239,9240,1,0,0,0,9240,9245,1,0,0,0,9241,9242,5,2,0,0,9242,9243,3,244,122,0,9243,9244,5,3,0,0,9244,9246,1,0,0,0,9245,9241,1,0,0,0,9245,9246,1,0,0,0,9246,9248,1,0,0,0,9247,9249,3,1144,572,0,9248,9247,1,0,0,0,9248,9249,1,0,0,0,9249,9267,1,0,0,0,9250,9251,5,92,0,0,9251,9257,5,81,0,0,9252,9258,3,1406,703,0,9253,9254,5,2,0,0,9254,9255,3,1406,703,0,9255,9256,5,3,0,0,9256,9258,1,0,0,0,9257,9252,1,0,0,0,9257,9253,1,0,0,0,9258,9267,1,0,0,0,9259,9260,5,350,0,0,9260,9261,5,68,0,0,9261,9264,5,323,0,0,9262,9265,3,1422,711,0,9263,9265,5,111,0,0,9264,9262,1,0,0,0,9264,9263,1,0,0,0,9265,9267,1,0,0,0,9266,9233,1,0,0,0,9266,9250,1,0,0,0,9266,9259,1,0,0,0,9267,1123,1,0,0,0,9268,9273,3,1118,559,0,9269,9270,5,6,0,0,9270,9272,3,1118,559,0,9271,9269,1,0,0,0,9272,9275,1,0,0,0,9273,9271,1,0,0,0,9273,9274,1,0,0,0,9274,1125,1,0,0,0,9275,9273,1,0,0,0,9276,9281,3,1122,561,0,9277,9278,5,6,0,0,9278,9280,3,1122,561,0,9279,9277,1,0,0,0,9280,9283,1,0,0,0,9281,9279,1,0,0,0,9281,9282,1,0,0,0,9282,1127,1,0,0,0,9283,9281,1,0,0,0,9284,9289,3,1118,559,0,9285,9287,5,36,0,0,9286,9285,1,0,0,0,9286,9287,1,0,0,0,9287,9288,1,0,0,0,9288,9290,3,1474,737,0,9289,9286,1,0,0,0,9289,9290,1,0,0,0,9290,1129,1,0,0,0,9291,9292,5,472,0,0,9292,9293,3,1444,722,0,9293,9294,5,2,0,0,9294,9295,3,1328,664,0,9295,9297,5,3,0,0,9296,9298,3,1132,566,0,9297,9296,1,0,0,0,9297,9298,1,0,0,0,9298,1131,1,0,0,0,9299,9300,5,310,0,0,9300,9301,5,2,0,0,9301,9302,3,1212,606,0,9302,9303,5,3,0,0,9303,1133,1,0,0,0,9304,9306,3,1262,631,0,9305,9307,3,1142,571,0,9306,9305,1,0,0,0,9306,9307,1,0,0,0,9307,9317,1,0,0,0,9308,9309,5,320,0,0,9309,9310,5,64,0,0,9310,9311,5,2,0,0,9311,9312,3,1138,569,0,9312,9314,5,3,0,0,9313,9315,3,1142,571,0,9314,9313,1,0,0,0,9314,9315,1,0,0,0,9315,9317,1,0,0,0,9316,9304,1,0,0,0,9316,9308,1,0,0,0,9317,1135,1,0,0,0,9318,9320,3,1262,631,0,9319,9321,3,1140,570,0,9320,9319,1,0,0,0,9320,9321,1,0,0,0,9321,1137,1,0,0,0,9322,9327,3,1136,568,0,9323,9324,5,6,0,0,9324,9326,3,1136,568,0,9325,9323,1,0,0,0,9326,9329,1,0,0,0,9327,9325,1,0,0,0,9327,9328,1,0,0,0,9328,1139,1,0,0,0,9329,9327,1,0,0,0,9330,9331,5,36,0,0,9331,9332,5,2,0,0,9332,9333,3,1150,575,0,9333,9334,5,3,0,0,9334,1141,1,0,0,0,9335,9336,5,105,0,0,9336,9337,5,473,0,0,9337,1143,1,0,0,0,9338,9339,5,103,0,0,9339,9340,3,1336,668,0,9340,1145,1,0,0,0,9341,9346,5,103,0,0,9342,9343,5,434,0,0,9343,9344,5,275,0,0,9344,9347,3,994,497,0,9345,9347,3,1212,606,0,9346,9342,1,0,0,0,9346,9345,1,0,0,0,9347,1147,1,0,0,0,9348,9349,3,1150,575,0,9349,1149,1,0,0,0,9350,9355,3,1152,576,0,9351,9352,5,6,0,0,9352,9354,3,1152,576,0,9353,9351,1,0,0,0,9354,9357,1,0,0,0,9355,9353,1,0,0,0,9355,9356,1,0,0,0,9356,1151,1,0,0,0,9357,9355,1,0,0,0,9358,9359,3,1474,737,0,9359,9361,3,1168,584,0,9360,9362,3,126,63,0,9361,9360,1,0,0,0,9361,9362,1,0,0,0,9362,1153,1,0,0,0,9363,9364,5,474,0,0,9364,9380,5,2,0,0,9365,9366,3,1254,627,0,9366,9367,3,1280,640,0,9367,9368,5,475,0,0,9368,9369,3,1156,578,0,9369,9381,1,0,0,0,9370,9371,5,476,0,0,9371,9372,5,2,0,0,9372,9373,3,1164,582,0,9373,9374,5,3,0,0,9374,9375,5,6,0,0,9375,9376,3,1254,627,0,9376,9377,3,1280,640,0,9377,9378,5,475,0,0,9378,9379,3,1156,578,0,9379,9381,1,0,0,0,9380,9365,1,0,0,0,9380,9370,1,0,0,0,9381,9382,1,0,0,0,9382,9383,5,3,0,0,9383,1155,1,0,0,0,9384,9389,3,1158,579,0,9385,9386,5,6,0,0,9386,9388,3,1158,579,0,9387,9385,1,0,0,0,9388,9391,1,0,0,0,9389,9387,1,0,0,0,9389,9390,1,0,0,0,9390,1157,1,0,0,0,9391,9389,1,0,0,0,9392,9399,3,1474,737,0,9393,9395,3,1168,584,0,9394,9396,3,1160,580,0,9395,9394,1,0,0,0,9395,9396,1,0,0,0,9396,9400,1,0,0,0,9397,9398,5,62,0,0,9398,9400,5,473,0,0,9399,9393,1,0,0,0,9399,9397,1,0,0,0,9400,1159,1,0,0,0,9401,9403,3,1162,581,0,9402,9401,1,0,0,0,9403,9404,1,0,0,0,9404,9402,1,0,0,0,9404,9405,1,0,0,0,9405,1161,1,0,0,0,9406,9407,5,53,0,0,9407,9415,3,1212,606,0,9408,9409,3,1492,746,0,9409,9410,3,1212,606,0,9410,9415,1,0,0,0,9411,9412,5,77,0,0,9412,9415,5,78,0,0,9413,9415,5,78,0,0,9414,9406,1,0,0,0,9414,9408,1,0,0,0,9414,9411,1,0,0,0,9414,9413,1,0,0,0,9415,1163,1,0,0,0,9416,9421,3,1166,583,0,9417,9418,5,6,0,0,9418,9420,3,1166,583,0,9419,9417,1,0,0,0,9420,9423,1,0,0,0,9421,9419,1,0,0,0,9421,9422,1,0,0,0,9422,1165,1,0,0,0,9423,9421,1,0,0,0,9424,9425,3,1252,626,0,9425,9426,5,36,0,0,9426,9427,3,1490,745,0,9427,9431,1,0,0,0,9428,9429,5,53,0,0,9429,9431,3,1252,626,0,9430,9424,1,0,0,0,9430,9428,1,0,0,0,9431,1167,1,0,0,0,9432,9434,5,415,0,0,9433,9432,1,0,0,0,9433,9434,1,0,0,0,9434,9435,1,0,0,0,9435,9444,3,1172,586,0,9436,9445,3,1170,585,0,9437,9442,5,35,0,0,9438,9439,5,4,0,0,9439,9440,3,1456,728,0,9440,9441,5,5,0,0,9441,9443,1,0,0,0,9442,9438,1,0,0,0,9442,9443,1,0,0,0,9443,9445,1,0,0,0,9444,9436,1,0,0,0,9444,9437,1,0,0,0,9445,9451,1,0,0,0,9446,9447,3,1412,706,0,9447,9448,5,27,0,0,9448,9449,7,61,0,0,9449,9451,1,0,0,0,9450,9433,1,0,0,0,9450,9446,1,0,0,0,9451,1169,1,0,0,0,9452,9454,5,4,0,0,9453,9455,3,1456,728,0,9454,9453,1,0,0,0,9454,9455,1,0,0,0,9455,9456,1,0,0,0,9456,9458,5,5,0,0,9457,9452,1,0,0,0,9458,9461,1,0,0,0,9459,9457,1,0,0,0,9459,9460,1,0,0,0,9460,1171,1,0,0,0,9461,9459,1,0,0,0,9462,9478,3,1176,588,0,9463,9478,3,1180,590,0,9464,9478,3,1184,592,0,9465,9478,3,1192,596,0,9466,9478,3,1200,600,0,9467,9475,3,1202,601,0,9468,9470,3,1206,603,0,9469,9468,1,0,0,0,9469,9470,1,0,0,0,9470,9476,1,0,0,0,9471,9472,5,2,0,0,9472,9473,3,1456,728,0,9473,9474,5,3,0,0,9474,9476,1,0,0,0,9475,9469,1,0,0,0,9475,9471,1,0,0,0,9476,9478,1,0,0,0,9477,9462,1,0,0,0,9477,9463,1,0,0,0,9477,9464,1,0,0,0,9477,9465,1,0,0,0,9477,9466,1,0,0,0,9477,9467,1,0,0,0,9478,1173,1,0,0,0,9479,9484,3,1180,590,0,9480,9484,3,1186,593,0,9481,9484,3,1194,597,0,9482,9484,3,1200,600,0,9483,9479,1,0,0,0,9483,9480,1,0,0,0,9483,9481,1,0,0,0,9483,9482,1,0,0,0,9484,1175,1,0,0,0,9485,9487,3,1482,741,0,9486,9488,3,560,280,0,9487,9486,1,0,0,0,9487,9488,1,0,0,0,9488,9490,1,0,0,0,9489,9491,3,1178,589,0,9490,9489,1,0,0,0,9490,9491,1,0,0,0,9491,1177,1,0,0,0,9492,9493,5,2,0,0,9493,9494,3,1328,664,0,9494,9495,5,3,0,0,9495,1179,1,0,0,0,9496,9521,5,401,0,0,9497,9521,5,402,0,0,9498,9521,5,416,0,0,9499,9521,5,388,0,0,9500,9521,5,413,0,0,9501,9503,5,398,0,0,9502,9504,3,1182,591,0,9503,9502,1,0,0,0,9503,9504,1,0,0,0,9504,9521,1,0,0,0,9505,9506,5,190,0,0,9506,9521,5,412,0,0,9507,9509,5,395,0,0,9508,9510,3,1178,589,0,9509,9508,1,0,0,0,9509,9510,1,0,0,0,9510,9521,1,0,0,0,9511,9513,5,394,0,0,9512,9514,3,1178,589,0,9513,9512,1,0,0,0,9513,9514,1,0,0,0,9514,9521,1,0,0,0,9515,9517,5,409,0,0,9516,9518,3,1178,589,0,9517,9516,1,0,0,0,9517,9518,1,0,0,0,9518,9521,1,0,0,0,9519,9521,5,390,0,0,9520,9496,1,0,0,0,9520,9497,1,0,0,0,9520,9498,1,0,0,0,9520,9499,1,0,0,0,9520,9500,1,0,0,0,9520,9501,1,0,0,0,9520,9505,1,0,0,0,9520,9507,1,0,0,0,9520,9511,1,0,0,0,9520,9515,1,0,0,0,9520,9519,1,0,0,0,9521,1181,1,0,0,0,9522,9523,5,2,0,0,9523,9524,3,1456,728,0,9524,9525,5,3,0,0,9525,1183,1,0,0,0,9526,9529,3,1188,594,0,9527,9529,3,1190,595,0,9528,9526,1,0,0,0,9528,9527,1,0,0,0,9529,1185,1,0,0,0,9530,9533,3,1188,594,0,9531,9533,3,1190,595,0,9532,9530,1,0,0,0,9532,9531,1,0,0,0,9533,1187,1,0,0,0,9534,9536,5,389,0,0,9535,9537,3,1198,599,0,9536,9535,1,0,0,0,9536,9537,1,0,0,0,9537,9538,1,0,0,0,9538,9539,5,2,0,0,9539,9540,3,1328,664,0,9540,9541,5,3,0,0,9541,1189,1,0,0,0,9542,9544,5,389,0,0,9543,9545,3,1198,599,0,9544,9543,1,0,0,0,9544,9545,1,0,0,0,9545,1191,1,0,0,0,9546,9551,3,1196,598,0,9547,9548,5,2,0,0,9548,9549,3,1456,728,0,9549,9550,5,3,0,0,9550,9552,1,0,0,0,9551,9547,1,0,0,0,9551,9552,1,0,0,0,9552,1193,1,0,0,0,9553,9558,3,1196,598,0,9554,9555,5,2,0,0,9555,9556,3,1456,728,0,9556,9557,5,3,0,0,9557,9559,1,0,0,0,9558,9554,1,0,0,0,9558,9559,1,0,0,0,9559,1195,1,0,0,0,9560,9562,7,62,0,0,9561,9563,3,1198,599,0,9562,9561,1,0,0,0,9562,9563,1,0,0,0,9563,9571,1,0,0,0,9564,9571,5,423,0,0,9565,9566,5,405,0,0,9566,9568,7,63,0,0,9567,9569,3,1198,599,0,9568,9567,1,0,0,0,9568,9569,1,0,0,0,9569,9571,1,0,0,0,9570,9560,1,0,0,0,9570,9564,1,0,0,0,9570,9565,1,0,0,0,9571,1197,1,0,0,0,9572,9573,5,374,0,0,9573,1199,1,0,0,0,9574,9579,7,64,0,0,9575,9576,5,2,0,0,9576,9577,3,1456,728,0,9577,9578,5,3,0,0,9578,9580,1,0,0,0,9579,9575,1,0,0,0,9579,9580,1,0,0,0,9580,9582,1,0,0,0,9581,9583,3,1204,602,0,9582,9581,1,0,0,0,9582,9583,1,0,0,0,9583,1201,1,0,0,0,9584,9585,5,403,0,0,9585,1203,1,0,0,0,9586,9587,5,105,0,0,9587,9588,5,418,0,0,9588,9593,5,386,0,0,9589,9590,5,379,0,0,9590,9591,5,418,0,0,9591,9593,5,386,0,0,9592,9586,1,0,0,0,9592,9589,1,0,0,0,9593,1205,1,0,0,0,9594,9620,5,384,0,0,9595,9620,5,264,0,0,9596,9620,5,176,0,0,9597,9620,5,218,0,0,9598,9620,5,261,0,0,9599,9620,3,1208,604,0,9600,9601,5,384,0,0,9601,9602,5,94,0,0,9602,9620,5,264,0,0,9603,9604,5,176,0,0,9604,9608,5,94,0,0,9605,9609,5,218,0,0,9606,9609,5,261,0,0,9607,9609,3,1208,604,0,9608,9605,1,0,0,0,9608,9606,1,0,0,0,9608,9607,1,0,0,0,9609,9620,1,0,0,0,9610,9611,5,218,0,0,9611,9614,5,94,0,0,9612,9615,5,261,0,0,9613,9615,3,1208,604,0,9614,9612,1,0,0,0,9614,9613,1,0,0,0,9615,9620,1,0,0,0,9616,9617,5,261,0,0,9617,9618,5,94,0,0,9618,9620,3,1208,604,0,9619,9594,1,0,0,0,9619,9595,1,0,0,0,9619,9596,1,0,0,0,9619,9597,1,0,0,0,9619,9598,1,0,0,0,9619,9599,1,0,0,0,9619,9600,1,0,0,0,9619,9603,1,0,0,0,9619,9610,1,0,0,0,9619,9616,1,0,0,0,9620,1207,1,0,0,0,9621,9626,5,326,0,0,9622,9623,5,2,0,0,9623,9624,3,1456,728,0,9624,9625,5,3,0,0,9625,9627,1,0,0,0,9626,9622,1,0,0,0,9626,9627,1,0,0,0,9627,1209,1,0,0,0,9628,9629,5,197,0,0,9629,9630,3,1212,606,0,9630,1211,1,0,0,0,9631,9632,3,1214,607,0,9632,1213,1,0,0,0,9633,9635,3,1216,608,0,9634,9636,3,1322,661,0,9635,9634,1,0,0,0,9635,9636,1,0,0,0,9636,1215,1,0,0,0,9637,9642,3,1218,609,0,9638,9639,7,65,0,0,9639,9641,3,1218,609,0,9640,9638,1,0,0,0,9641,9644,1,0,0,0,9642,9640,1,0,0,0,9642,9643,1,0,0,0,9643,1217,1,0,0,0,9644,9642,1,0,0,0,9645,9650,3,1220,610,0,9646,9647,5,82,0,0,9647,9649,3,1220,610,0,9648,9646,1,0,0,0,9649,9652,1,0,0,0,9650,9648,1,0,0,0,9650,9651,1,0,0,0,9651,1219,1,0,0,0,9652,9650,1,0,0,0,9653,9658,3,1222,611,0,9654,9655,5,33,0,0,9655,9657,3,1222,611,0,9656,9654,1,0,0,0,9657,9660,1,0,0,0,9658,9656,1,0,0,0,9658,9659,1,0,0,0,9659,1221,1,0,0,0,9660,9658,1,0,0,0,9661,9667,3,1224,612,0,9662,9664,5,77,0,0,9663,9662,1,0,0,0,9663,9664,1,0,0,0,9664,9665,1,0,0,0,9665,9666,5,68,0,0,9666,9668,3,1362,681,0,9667,9663,1,0,0,0,9667,9668,1,0,0,0,9668,1223,1,0,0,0,9669,9671,5,77,0,0,9670,9669,1,0,0,0,9670,9671,1,0,0,0,9671,9672,1,0,0,0,9672,9673,3,1226,613,0,9673,1225,1,0,0,0,9674,9676,3,1228,614,0,9675,9677,7,66,0,0,9676,9675,1,0,0,0,9676,9677,1,0,0,0,9677,1227,1,0,0,0,9678,9702,3,1230,615,0,9679,9681,5,116,0,0,9680,9682,5,77,0,0,9681,9680,1,0,0,0,9681,9682,1,0,0,0,9682,9700,1,0,0,0,9683,9701,5,78,0,0,9684,9701,5,96,0,0,9685,9701,5,60,0,0,9686,9701,5,365,0,0,9687,9688,5,56,0,0,9688,9689,5,64,0,0,9689,9701,3,1212,606,0,9690,9691,5,275,0,0,9691,9692,5,2,0,0,9692,9693,3,1342,671,0,9693,9694,5,3,0,0,9694,9701,1,0,0,0,9695,9701,5,188,0,0,9696,9698,3,1352,676,0,9697,9696,1,0,0,0,9697,9698,1,0,0,0,9698,9699,1,0,0,0,9699,9701,5,478,0,0,9700,9683,1,0,0,0,9700,9684,1,0,0,0,9700,9685,1,0,0,0,9700,9686,1,0,0,0,9700,9687,1,0,0,0,9700,9690,1,0,0,0,9700,9695,1,0,0,0,9700,9697,1,0,0,0,9701,9703,1,0,0,0,9702,9679,1,0,0,0,9702,9703,1,0,0,0,9703,1229,1,0,0,0,9704,9716,3,1232,616,0,9705,9706,7,67,0,0,9706,9717,3,1232,616,0,9707,9708,3,1326,663,0,9708,9714,3,1316,658,0,9709,9715,3,1002,501,0,9710,9711,5,2,0,0,9711,9712,3,1212,606,0,9712,9713,5,3,0,0,9713,9715,1,0,0,0,9714,9709,1,0,0,0,9714,9710,1,0,0,0,9715,9717,1,0,0,0,9716,9705,1,0,0,0,9716,9707,1,0,0,0,9716,9717,1,0,0,0,9717,1231,1,0,0,0,9718,9736,3,1234,617,0,9719,9721,5,77,0,0,9720,9719,1,0,0,0,9720,9721,1,0,0,0,9721,9730,1,0,0,0,9722,9731,5,120,0,0,9723,9731,5,114,0,0,9724,9725,5,127,0,0,9725,9731,5,94,0,0,9726,9728,5,387,0,0,9727,9729,5,91,0,0,9728,9727,1,0,0,0,9728,9729,1,0,0,0,9729,9731,1,0,0,0,9730,9722,1,0,0,0,9730,9723,1,0,0,0,9730,9724,1,0,0,0,9730,9726,1,0,0,0,9731,9732,1,0,0,0,9732,9734,3,1234,617,0,9733,9735,3,1210,605,0,9734,9733,1,0,0,0,9734,9735,1,0,0,0,9735,9737,1,0,0,0,9736,9720,1,0,0,0,9736,9737,1,0,0,0,9737,1233,1,0,0,0,9738,9744,3,1236,618,0,9739,9740,3,1322,661,0,9740,9741,3,1236,618,0,9741,9743,1,0,0,0,9742,9739,1,0,0,0,9743,9746,1,0,0,0,9744,9742,1,0,0,0,9744,9745,1,0,0,0,9745,1235,1,0,0,0,9746,9744,1,0,0,0,9747,9749,3,1322,661,0,9748,9747,1,0,0,0,9748,9749,1,0,0,0,9749,9750,1,0,0,0,9750,9751,3,1238,619,0,9751,1237,1,0,0,0,9752,9757,3,1240,620,0,9753,9754,7,68,0,0,9754,9756,3,1240,620,0,9755,9753,1,0,0,0,9756,9759,1,0,0,0,9757,9755,1,0,0,0,9757,9758,1,0,0,0,9758,1239,1,0,0,0,9759,9757,1,0,0,0,9760,9765,3,1242,621,0,9761,9762,7,69,0,0,9762,9764,3,1242,621,0,9763,9761,1,0,0,0,9764,9767,1,0,0,0,9765,9763,1,0,0,0,9765,9766,1,0,0,0,9766,1241,1,0,0,0,9767,9765,1,0,0,0,9768,9771,3,1244,622,0,9769,9770,5,15,0,0,9770,9772,3,1212,606,0,9771,9769,1,0,0,0,9771,9772,1,0,0,0,9772,1243,1,0,0,0,9773,9775,7,68,0,0,9774,9773,1,0,0,0,9774,9775,1,0,0,0,9775,9776,1,0,0,0,9776,9777,3,1246,623,0,9777,1245,1,0,0,0,9778,9783,3,1248,624,0,9779,9780,5,142,0,0,9780,9781,5,418,0,0,9781,9782,5,386,0,0,9782,9784,3,1212,606,0,9783,9779,1,0,0,0,9783,9784,1,0,0,0,9784,1247,1,0,0,0,9785,9788,3,1250,625,0,9786,9787,5,43,0,0,9787,9789,3,558,279,0,9788,9786,1,0,0,0,9788,9789,1,0,0,0,9789,1249,1,0,0,0,9790,9795,3,1254,627,0,9791,9792,5,26,0,0,9792,9794,3,1168,584,0,9793,9791,1,0,0,0,9794,9797,1,0,0,0,9795,9793,1,0,0,0,9795,9796,1,0,0,0,9796,1251,1,0,0,0,9797,9795,1,0,0,0,9798,9799,6,626,-1,0,9799,9806,3,1254,627,0,9800,9801,7,68,0,0,9801,9806,3,1252,626,9,9802,9803,3,1322,661,0,9803,9804,3,1252,626,3,9804,9806,1,0,0,0,9805,9798,1,0,0,0,9805,9800,1,0,0,0,9805,9802,1,0,0,0,9806,9846,1,0,0,0,9807,9808,10,8,0,0,9808,9809,5,15,0,0,9809,9845,3,1252,626,9,9810,9811,10,7,0,0,9811,9812,7,69,0,0,9812,9845,3,1252,626,8,9813,9814,10,6,0,0,9814,9815,7,68,0,0,9815,9845,3,1252,626,7,9816,9817,10,5,0,0,9817,9818,3,1322,661,0,9818,9819,3,1252,626,6,9819,9845,1,0,0,0,9820,9821,10,4,0,0,9821,9822,7,67,0,0,9822,9845,3,1252,626,5,9823,9824,10,10,0,0,9824,9825,5,26,0,0,9825,9845,3,1168,584,0,9826,9827,10,2,0,0,9827,9845,3,1322,661,0,9828,9829,10,1,0,0,9829,9831,5,116,0,0,9830,9832,5,77,0,0,9831,9830,1,0,0,0,9831,9832,1,0,0,0,9832,9842,1,0,0,0,9833,9834,5,56,0,0,9834,9835,5,64,0,0,9835,9843,3,1252,626,0,9836,9837,5,275,0,0,9837,9838,5,2,0,0,9838,9839,3,1342,671,0,9839,9840,5,3,0,0,9840,9843,1,0,0,0,9841,9843,5,188,0,0,9842,9833,1,0,0,0,9842,9836,1,0,0,0,9842,9841,1,0,0,0,9843,9845,1,0,0,0,9844,9807,1,0,0,0,9844,9810,1,0,0,0,9844,9813,1,0,0,0,9844,9816,1,0,0,0,9844,9820,1,0,0,0,9844,9823,1,0,0,0,9844,9826,1,0,0,0,9844,9828,1,0,0,0,9845,9848,1,0,0,0,9846,9844,1,0,0,0,9846,9847,1,0,0,0,9847,1253,1,0,0,0,9848,9846,1,0,0,0,9849,9850,5,396,0,0,9850,9886,3,1002,501,0,9851,9854,5,35,0,0,9852,9855,3,1002,501,0,9853,9855,3,1344,672,0,9854,9852,1,0,0,0,9854,9853,1,0,0,0,9855,9886,1,0,0,0,9856,9857,5,28,0,0,9857,9886,3,1382,691,0,9858,9859,5,470,0,0,9859,9860,5,2,0,0,9860,9861,3,1328,664,0,9861,9862,5,3,0,0,9862,9886,1,0,0,0,9863,9864,5,98,0,0,9864,9886,3,1002,501,0,9865,9886,3,1448,724,0,9866,9886,3,1256,628,0,9867,9868,5,2,0,0,9868,9869,3,1212,606,0,9869,9870,5,3,0,0,9870,9871,3,1382,691,0,9871,9886,1,0,0,0,9872,9886,3,1364,682,0,9873,9886,3,1260,630,0,9874,9876,3,1002,501,0,9875,9877,3,1380,690,0,9876,9875,1,0,0,0,9876,9877,1,0,0,0,9877,9886,1,0,0,0,9878,9886,3,1312,656,0,9879,9886,3,1314,657,0,9880,9881,3,1310,655,0,9881,9882,5,125,0,0,9882,9883,3,1310,655,0,9883,9886,1,0,0,0,9884,9886,3,1374,687,0,9885,9849,1,0,0,0,9885,9851,1,0,0,0,9885,9856,1,0,0,0,9885,9858,1,0,0,0,9885,9863,1,0,0,0,9885,9865,1,0,0,0,9885,9866,1,0,0,0,9885,9867,1,0,0,0,9885,9872,1,0,0,0,9885,9873,1,0,0,0,9885,9874,1,0,0,0,9885,9878,1,0,0,0,9885,9879,1,0,0,0,9885,9880,1,0,0,0,9885,9884,1,0,0,0,9886,1255,1,0,0,0,9887,9888,5,574,0,0,9888,1257,1,0,0,0,9889,9915,3,1444,722,0,9890,9912,5,2,0,0,9891,9895,3,1338,669,0,9892,9893,5,6,0,0,9893,9894,5,101,0,0,9894,9896,3,1340,670,0,9895,9892,1,0,0,0,9895,9896,1,0,0,0,9896,9898,1,0,0,0,9897,9899,3,1042,521,0,9898,9897,1,0,0,0,9898,9899,1,0,0,0,9899,9913,1,0,0,0,9900,9901,5,101,0,0,9901,9903,3,1340,670,0,9902,9904,3,1042,521,0,9903,9902,1,0,0,0,9903,9904,1,0,0,0,9904,9913,1,0,0,0,9905,9906,7,57,0,0,9906,9908,3,1338,669,0,9907,9909,3,1042,521,0,9908,9907,1,0,0,0,9908,9909,1,0,0,0,9909,9913,1,0,0,0,9910,9913,5,9,0,0,9911,9913,1,0,0,0,9912,9891,1,0,0,0,9912,9900,1,0,0,0,9912,9905,1,0,0,0,9912,9910,1,0,0,0,9912,9911,1,0,0,0,9913,9914,1,0,0,0,9914,9916,5,3,0,0,9915,9890,1,0,0,0,9915,9916,1,0,0,0,9916,1259,1,0,0,0,9917,9919,3,1258,629,0,9918,9920,3,1284,642,0,9919,9918,1,0,0,0,9919,9920,1,0,0,0,9920,9922,1,0,0,0,9921,9923,3,1286,643,0,9922,9921,1,0,0,0,9922,9923,1,0,0,0,9923,9925,1,0,0,0,9924,9926,3,1294,647,0,9925,9924,1,0,0,0,9925,9926,1,0,0,0,9926,9929,1,0,0,0,9927,9929,3,1264,632,0,9928,9917,1,0,0,0,9928,9927,1,0,0,0,9929,1261,1,0,0,0,9930,9933,3,1258,629,0,9931,9933,3,1264,632,0,9932,9930,1,0,0,0,9932,9931,1,0,0,0,9933,1263,1,0,0,0,9934,9935,5,108,0,0,9935,9936,5,62,0,0,9936,9937,5,2,0,0,9937,9938,3,1212,606,0,9938,9939,5,3,0,0,9939,10119,1,0,0,0,9940,10119,5,48,0,0,9941,9946,5,50,0,0,9942,9943,5,2,0,0,9943,9944,3,1456,728,0,9944,9945,5,3,0,0,9945,9947,1,0,0,0,9946,9942,1,0,0,0,9946,9947,1,0,0,0,9947,10119,1,0,0,0,9948,9953,5,51,0,0,9949,9950,5,2,0,0,9950,9951,3,1456,728,0,9951,9952,5,3,0,0,9952,9954,1,0,0,0,9953,9949,1,0,0,0,9953,9954,1,0,0,0,9954,10119,1,0,0,0,9955,9960,5,75,0,0,9956,9957,5,2,0,0,9957,9958,3,1456,728,0,9958,9959,5,3,0,0,9959,9961,1,0,0,0,9960,9956,1,0,0,0,9960,9961,1,0,0,0,9961,10119,1,0,0,0,9962,9967,5,76,0,0,9963,9964,5,2,0,0,9964,9965,3,1456,728,0,9965,9966,5,3,0,0,9966,9968,1,0,0,0,9967,9963,1,0,0,0,9967,9968,1,0,0,0,9968,10119,1,0,0,0,9969,10119,5,49,0,0,9970,10119,5,52,0,0,9971,10119,5,89,0,0,9972,10119,5,99,0,0,9973,10119,5,47,0,0,9974,10119,5,111,0,0,9975,9976,5,41,0,0,9976,9977,5,2,0,0,9977,9978,3,1212,606,0,9978,9979,5,36,0,0,9979,9980,3,1168,584,0,9980,9981,5,3,0,0,9981,10119,1,0,0,0,9982,9983,5,397,0,0,9983,9985,5,2,0,0,9984,9986,3,1348,674,0,9985,9984,1,0,0,0,9985,9986,1,0,0,0,9986,9987,1,0,0,0,9987,10119,5,3,0,0,9988,9989,5,489,0,0,9989,9990,5,2,0,0,9990,9993,3,1212,606,0,9991,9992,5,6,0,0,9992,9994,3,1352,676,0,9993,9991,1,0,0,0,9993,9994,1,0,0,0,9994,9995,1,0,0,0,9995,9996,5,3,0,0,9996,10119,1,0,0,0,9997,9998,5,410,0,0,9998,9999,5,2,0,0,9999,1e4,3,1354,677,0,1e4,10001,5,3,0,0,10001,10119,1,0,0,0,10002,10003,5,411,0,0,10003,10005,5,2,0,0,10004,10006,3,1356,678,0,10005,10004,1,0,0,0,10005,10006,1,0,0,0,10006,10007,1,0,0,0,10007,10119,5,3,0,0,10008,10009,5,417,0,0,10009,10011,5,2,0,0,10010,10012,3,1358,679,0,10011,10010,1,0,0,0,10011,10012,1,0,0,0,10012,10013,1,0,0,0,10013,10119,5,3,0,0,10014,10015,5,420,0,0,10015,10016,5,2,0,0,10016,10017,3,1212,606,0,10017,10018,5,36,0,0,10018,10019,3,1168,584,0,10019,10020,5,3,0,0,10020,10119,1,0,0,0,10021,10022,5,421,0,0,10022,10024,5,2,0,0,10023,10025,7,70,0,0,10024,10023,1,0,0,0,10024,10025,1,0,0,0,10025,10026,1,0,0,0,10026,10027,3,1360,680,0,10027,10028,5,3,0,0,10028,10119,1,0,0,0,10029,10030,5,408,0,0,10030,10031,5,2,0,0,10031,10032,3,1212,606,0,10032,10033,5,6,0,0,10033,10034,3,1212,606,0,10034,10035,5,3,0,0,10035,10119,1,0,0,0,10036,10037,5,393,0,0,10037,10038,5,2,0,0,10038,10039,3,1328,664,0,10039,10040,5,3,0,0,10040,10119,1,0,0,0,10041,10042,5,399,0,0,10042,10043,5,2,0,0,10043,10044,3,1328,664,0,10044,10045,5,3,0,0,10045,10119,1,0,0,0,10046,10047,5,404,0,0,10047,10048,5,2,0,0,10048,10049,3,1328,664,0,10049,10050,5,3,0,0,10050,10119,1,0,0,0,10051,10052,5,425,0,0,10052,10053,5,2,0,0,10053,10054,3,1328,664,0,10054,10055,5,3,0,0,10055,10119,1,0,0,0,10056,10057,5,426,0,0,10057,10058,5,2,0,0,10058,10059,5,266,0,0,10059,10065,3,1490,745,0,10060,10063,5,6,0,0,10061,10064,3,1270,635,0,10062,10064,3,1328,664,0,10063,10061,1,0,0,0,10063,10062,1,0,0,0,10064,10066,1,0,0,0,10065,10060,1,0,0,0,10065,10066,1,0,0,0,10066,10067,1,0,0,0,10067,10068,5,3,0,0,10068,10119,1,0,0,0,10069,10070,5,427,0,0,10070,10071,5,2,0,0,10071,10072,3,1254,627,0,10072,10073,3,1280,640,0,10073,10074,5,3,0,0,10074,10119,1,0,0,0,10075,10076,5,428,0,0,10076,10077,5,2,0,0,10077,10078,3,1272,636,0,10078,10079,5,3,0,0,10079,10119,1,0,0,0,10080,10081,5,429,0,0,10081,10082,5,2,0,0,10082,10083,3,1276,638,0,10083,10085,3,1212,606,0,10084,10086,3,1278,639,0,10085,10084,1,0,0,0,10085,10086,1,0,0,0,10086,10087,1,0,0,0,10087,10088,5,3,0,0,10088,10119,1,0,0,0,10089,10090,5,430,0,0,10090,10091,5,2,0,0,10091,10092,5,266,0,0,10092,10095,3,1490,745,0,10093,10094,5,6,0,0,10094,10096,3,1212,606,0,10095,10093,1,0,0,0,10095,10096,1,0,0,0,10096,10097,1,0,0,0,10097,10098,5,3,0,0,10098,10119,1,0,0,0,10099,10100,5,431,0,0,10100,10101,5,2,0,0,10101,10102,5,383,0,0,10102,10103,3,1212,606,0,10103,10104,5,6,0,0,10104,10106,3,1266,633,0,10105,10107,3,1268,634,0,10106,10105,1,0,0,0,10106,10107,1,0,0,0,10107,10108,1,0,0,0,10108,10109,5,3,0,0,10109,10119,1,0,0,0,10110,10111,5,432,0,0,10111,10112,5,2,0,0,10112,10113,3,1276,638,0,10113,10114,3,1212,606,0,10114,10115,5,36,0,0,10115,10116,3,1172,586,0,10116,10117,5,3,0,0,10117,10119,1,0,0,0,10118,9934,1,0,0,0,10118,9940,1,0,0,0,10118,9941,1,0,0,0,10118,9948,1,0,0,0,10118,9955,1,0,0,0,10118,9962,1,0,0,0,10118,9969,1,0,0,0,10118,9970,1,0,0,0,10118,9971,1,0,0,0,10118,9972,1,0,0,0,10118,9973,1,0,0,0,10118,9974,1,0,0,0,10118,9975,1,0,0,0,10118,9982,1,0,0,0,10118,9988,1,0,0,0,10118,9997,1,0,0,0,10118,10002,1,0,0,0,10118,10008,1,0,0,0,10118,10014,1,0,0,0,10118,10021,1,0,0,0,10118,10029,1,0,0,0,10118,10036,1,0,0,0,10118,10041,1,0,0,0,10118,10046,1,0,0,0,10118,10051,1,0,0,0,10118,10056,1,0,0,0,10118,10069,1,0,0,0,10118,10075,1,0,0,0,10118,10080,1,0,0,0,10118,10089,1,0,0,0,10118,10099,1,0,0,0,10118,10110,1,0,0,0,10119,1265,1,0,0,0,10120,10121,5,375,0,0,10121,10126,3,1212,606,0,10122,10123,5,375,0,0,10123,10124,5,269,0,0,10124,10126,5,450,0,0,10125,10120,1,0,0,0,10125,10122,1,0,0,0,10126,1267,1,0,0,0,10127,10128,5,6,0,0,10128,10129,5,339,0,0,10129,10138,5,385,0,0,10130,10131,5,6,0,0,10131,10132,5,339,0,0,10132,10138,5,269,0,0,10133,10134,5,6,0,0,10134,10135,5,339,0,0,10135,10136,5,269,0,0,10136,10138,5,450,0,0,10137,10127,1,0,0,0,10137,10130,1,0,0,0,10137,10133,1,0,0,0,10138,1269,1,0,0,0,10139,10140,5,424,0,0,10140,10141,5,2,0,0,10141,10142,3,1272,636,0,10142,10143,5,3,0,0,10143,1271,1,0,0,0,10144,10149,3,1274,637,0,10145,10146,5,6,0,0,10146,10148,3,1274,637,0,10147,10145,1,0,0,0,10148,10151,1,0,0,0,10149,10147,1,0,0,0,10149,10150,1,0,0,0,10150,1273,1,0,0,0,10151,10149,1,0,0,0,10152,10155,3,1212,606,0,10153,10154,5,36,0,0,10154,10156,3,1490,745,0,10155,10153,1,0,0,0,10155,10156,1,0,0,0,10156,1275,1,0,0,0,10157,10158,7,71,0,0,10158,1277,1,0,0,0,10159,10160,5,292,0,0,10160,10164,5,378,0,0,10161,10162,5,347,0,0,10162,10164,5,378,0,0,10163,10159,1,0,0,0,10163,10161,1,0,0,0,10164,1279,1,0,0,0,10165,10166,5,286,0,0,10166,10181,3,1254,627,0,10167,10168,5,286,0,0,10168,10169,3,1254,627,0,10169,10170,3,1282,641,0,10170,10181,1,0,0,0,10171,10172,5,286,0,0,10172,10173,3,1282,641,0,10173,10174,3,1254,627,0,10174,10181,1,0,0,0,10175,10176,5,286,0,0,10176,10177,3,1282,641,0,10177,10178,3,1254,627,0,10178,10179,3,1282,641,0,10179,10181,1,0,0,0,10180,10165,1,0,0,0,10180,10167,1,0,0,0,10180,10171,1,0,0,0,10180,10175,1,0,0,0,10181,1281,1,0,0,0,10182,10183,5,147,0,0,10183,10184,7,72,0,0,10184,1283,1,0,0,0,10185,10186,5,479,0,0,10186,10187,5,66,0,0,10187,10188,5,2,0,0,10188,10189,3,1044,522,0,10189,10190,5,3,0,0,10190,1285,1,0,0,0,10191,10192,5,480,0,0,10192,10193,5,2,0,0,10193,10194,5,103,0,0,10194,10195,3,1212,606,0,10195,10196,5,3,0,0,10196,1287,1,0,0,0,10197,10198,5,104,0,0,10198,10199,3,1290,645,0,10199,1289,1,0,0,0,10200,10205,3,1292,646,0,10201,10202,5,6,0,0,10202,10204,3,1292,646,0,10203,10201,1,0,0,0,10204,10207,1,0,0,0,10205,10203,1,0,0,0,10205,10206,1,0,0,0,10206,1291,1,0,0,0,10207,10205,1,0,0,0,10208,10209,3,1474,737,0,10209,10210,5,36,0,0,10210,10211,3,1296,648,0,10211,1293,1,0,0,0,10212,10215,5,124,0,0,10213,10216,3,1296,648,0,10214,10216,3,1474,737,0,10215,10213,1,0,0,0,10215,10214,1,0,0,0,10216,1295,1,0,0,0,10217,10219,5,2,0,0,10218,10220,3,1298,649,0,10219,10218,1,0,0,0,10219,10220,1,0,0,0,10220,10222,1,0,0,0,10221,10223,3,1300,650,0,10222,10221,1,0,0,0,10222,10223,1,0,0,0,10223,10225,1,0,0,0,10224,10226,3,1042,521,0,10225,10224,1,0,0,0,10225,10226,1,0,0,0,10226,10228,1,0,0,0,10227,10229,3,1302,651,0,10228,10227,1,0,0,0,10228,10229,1,0,0,0,10229,10230,1,0,0,0,10230,10231,5,3,0,0,10231,1297,1,0,0,0,10232,10233,3,1474,737,0,10233,1299,1,0,0,0,10234,10235,5,285,0,0,10235,10236,5,147,0,0,10236,10237,3,1328,664,0,10237,1301,1,0,0,0,10238,10239,5,299,0,0,10239,10241,3,1304,652,0,10240,10242,3,1308,654,0,10241,10240,1,0,0,0,10241,10242,1,0,0,0,10242,10254,1,0,0,0,10243,10244,5,320,0,0,10244,10246,3,1304,652,0,10245,10247,3,1308,654,0,10246,10245,1,0,0,0,10246,10247,1,0,0,0,10247,10254,1,0,0,0,10248,10249,5,481,0,0,10249,10251,3,1304,652,0,10250,10252,3,1308,654,0,10251,10250,1,0,0,0,10251,10252,1,0,0,0,10252,10254,1,0,0,0,10253,10238,1,0,0,0,10253,10243,1,0,0,0,10253,10248,1,0,0,0,10254,1303,1,0,0,0,10255,10262,3,1306,653,0,10256,10257,5,387,0,0,10257,10258,3,1306,653,0,10258,10259,5,33,0,0,10259,10260,3,1306,653,0,10260,10262,1,0,0,0,10261,10255,1,0,0,0,10261,10256,1,0,0,0,10262,1305,1,0,0,0,10263,10264,5,362,0,0,10264,10271,7,73,0,0,10265,10266,5,434,0,0,10266,10271,5,414,0,0,10267,10268,3,1212,606,0,10268,10269,7,73,0,0,10269,10271,1,0,0,0,10270,10263,1,0,0,0,10270,10265,1,0,0,0,10270,10267,1,0,0,0,10271,1307,1,0,0,0,10272,10279,5,199,0,0,10273,10274,5,434,0,0,10274,10280,5,414,0,0,10275,10280,5,66,0,0,10276,10280,5,467,0,0,10277,10278,5,269,0,0,10278,10280,5,482,0,0,10279,10273,1,0,0,0,10279,10275,1,0,0,0,10279,10276,1,0,0,0,10279,10277,1,0,0,0,10280,1309,1,0,0,0,10281,10282,5,414,0,0,10282,10284,5,2,0,0,10283,10285,3,1328,664,0,10284,10283,1,0,0,0,10284,10285,1,0,0,0,10285,10286,1,0,0,0,10286,10294,5,3,0,0,10287,10288,5,2,0,0,10288,10289,3,1328,664,0,10289,10290,5,6,0,0,10290,10291,3,1212,606,0,10291,10292,5,3,0,0,10292,10294,1,0,0,0,10293,10281,1,0,0,0,10293,10287,1,0,0,0,10294,1311,1,0,0,0,10295,10296,5,414,0,0,10296,10298,5,2,0,0,10297,10299,3,1328,664,0,10298,10297,1,0,0,0,10298,10299,1,0,0,0,10299,10300,1,0,0,0,10300,10301,5,3,0,0,10301,1313,1,0,0,0,10302,10303,5,2,0,0,10303,10304,3,1212,606,0,10304,10305,5,6,0,0,10305,10306,3,1328,664,0,10306,10307,5,3,0,0,10307,1315,1,0,0,0,10308,10309,7,74,0,0,10309,1317,1,0,0,0,10310,10313,5,29,0,0,10311,10313,3,1320,660,0,10312,10310,1,0,0,0,10312,10311,1,0,0,0,10313,1319,1,0,0,0,10314,10315,7,75,0,0,10315,1321,1,0,0,0,10316,10323,5,29,0,0,10317,10318,5,278,0,0,10318,10319,5,2,0,0,10319,10320,3,732,366,0,10320,10321,5,3,0,0,10321,10323,1,0,0,0,10322,10316,1,0,0,0,10322,10317,1,0,0,0,10323,1323,1,0,0,0,10324,10331,3,1318,659,0,10325,10326,5,278,0,0,10326,10327,5,2,0,0,10327,10328,3,732,366,0,10328,10329,5,3,0,0,10329,10331,1,0,0,0,10330,10324,1,0,0,0,10330,10325,1,0,0,0,10331,1325,1,0,0,0,10332,10345,3,1318,659,0,10333,10334,5,278,0,0,10334,10335,5,2,0,0,10335,10336,3,732,366,0,10336,10337,5,3,0,0,10337,10345,1,0,0,0,10338,10345,5,120,0,0,10339,10340,5,77,0,0,10340,10345,5,120,0,0,10341,10345,5,114,0,0,10342,10343,5,77,0,0,10343,10345,5,114,0,0,10344,10332,1,0,0,0,10344,10333,1,0,0,0,10344,10338,1,0,0,0,10344,10339,1,0,0,0,10344,10341,1,0,0,0,10344,10342,1,0,0,0,10345,1327,1,0,0,0,10346,10351,3,1212,606,0,10347,10348,5,6,0,0,10348,10350,3,1212,606,0,10349,10347,1,0,0,0,10350,10353,1,0,0,0,10351,10349,1,0,0,0,10351,10352,1,0,0,0,10352,1329,1,0,0,0,10353,10351,1,0,0,0,10354,10359,3,1336,668,0,10355,10356,5,6,0,0,10356,10358,3,1336,668,0,10357,10355,1,0,0,0,10358,10361,1,0,0,0,10359,10357,1,0,0,0,10359,10360,1,0,0,0,10360,1331,1,0,0,0,10361,10359,1,0,0,0,10362,10367,3,1334,667,0,10363,10364,5,6,0,0,10364,10366,3,1334,667,0,10365,10363,1,0,0,0,10366,10369,1,0,0,0,10367,10365,1,0,0,0,10367,10368,1,0,0,0,10368,1333,1,0,0,0,10369,10367,1,0,0,0,10370,10371,5,2,0,0,10371,10372,3,1212,606,0,10372,10373,5,3,0,0,10373,10376,1,0,0,0,10374,10376,3,1432,716,0,10375,10370,1,0,0,0,10375,10374,1,0,0,0,10376,1335,1,0,0,0,10377,10380,3,1212,606,0,10378,10380,3,1432,716,0,10379,10377,1,0,0,0,10379,10378,1,0,0,0,10380,1337,1,0,0,0,10381,10386,3,1340,670,0,10382,10383,5,6,0,0,10383,10385,3,1340,670,0,10384,10382,1,0,0,0,10385,10388,1,0,0,0,10386,10384,1,0,0,0,10386,10387,1,0,0,0,10387,1339,1,0,0,0,10388,10386,1,0,0,0,10389,10395,3,1212,606,0,10390,10391,3,684,342,0,10391,10392,7,76,0,0,10392,10393,3,1212,606,0,10393,10395,1,0,0,0,10394,10389,1,0,0,0,10394,10390,1,0,0,0,10395,1341,1,0,0,0,10396,10401,3,1168,584,0,10397,10398,5,6,0,0,10398,10400,3,1168,584,0,10399,10397,1,0,0,0,10400,10403,1,0,0,0,10401,10399,1,0,0,0,10401,10402,1,0,0,0,10402,1343,1,0,0,0,10403,10401,1,0,0,0,10404,10407,5,4,0,0,10405,10408,3,1328,664,0,10406,10408,3,1346,673,0,10407,10405,1,0,0,0,10407,10406,1,0,0,0,10407,10408,1,0,0,0,10408,10409,1,0,0,0,10409,10410,5,5,0,0,10410,1345,1,0,0,0,10411,10416,3,1344,672,0,10412,10413,5,6,0,0,10413,10415,3,1344,672,0,10414,10412,1,0,0,0,10415,10418,1,0,0,0,10416,10414,1,0,0,0,10416,10417,1,0,0,0,10417,1347,1,0,0,0,10418,10416,1,0,0,0,10419,10420,3,1350,675,0,10420,10421,5,64,0,0,10421,10422,3,1212,606,0,10422,1349,1,0,0,0,10423,10432,3,1492,746,0,10424,10432,5,384,0,0,10425,10432,5,264,0,0,10426,10432,5,176,0,0,10427,10432,5,218,0,0,10428,10432,5,261,0,0,10429,10432,5,326,0,0,10430,10432,3,1458,729,0,10431,10423,1,0,0,0,10431,10424,1,0,0,0,10431,10425,1,0,0,0,10431,10426,1,0,0,0,10431,10427,1,0,0,0,10431,10428,1,0,0,0,10431,10429,1,0,0,0,10431,10430,1,0,0,0,10432,1351,1,0,0,0,10433,10434,7,77,0,0,10434,1353,1,0,0,0,10435,10436,3,1212,606,0,10436,10437,5,84,0,0,10437,10438,3,1212,606,0,10438,10439,5,64,0,0,10439,10442,3,1212,606,0,10440,10441,5,62,0,0,10441,10443,3,1212,606,0,10442,10440,1,0,0,0,10442,10443,1,0,0,0,10443,1355,1,0,0,0,10444,10445,3,1252,626,0,10445,10446,5,68,0,0,10446,10447,3,1252,626,0,10447,1357,1,0,0,0,10448,10449,3,1212,606,0,10449,10450,5,64,0,0,10450,10451,3,1212,606,0,10451,10452,5,62,0,0,10452,10453,3,1212,606,0,10453,10476,1,0,0,0,10454,10455,3,1212,606,0,10455,10456,5,62,0,0,10456,10457,3,1212,606,0,10457,10458,5,64,0,0,10458,10459,3,1212,606,0,10459,10476,1,0,0,0,10460,10461,3,1212,606,0,10461,10462,5,64,0,0,10462,10463,3,1212,606,0,10463,10476,1,0,0,0,10464,10465,3,1212,606,0,10465,10466,5,62,0,0,10466,10467,3,1212,606,0,10467,10476,1,0,0,0,10468,10469,3,1212,606,0,10469,10470,5,127,0,0,10470,10471,3,1212,606,0,10471,10472,5,197,0,0,10472,10473,3,1212,606,0,10473,10476,1,0,0,0,10474,10476,3,1328,664,0,10475,10448,1,0,0,0,10475,10454,1,0,0,0,10475,10460,1,0,0,0,10475,10464,1,0,0,0,10475,10468,1,0,0,0,10475,10474,1,0,0,0,10476,1359,1,0,0,0,10477,10478,3,1212,606,0,10478,10479,5,64,0,0,10479,10480,3,1328,664,0,10480,10485,1,0,0,0,10481,10482,5,64,0,0,10482,10485,3,1328,664,0,10483,10485,3,1328,664,0,10484,10477,1,0,0,0,10484,10481,1,0,0,0,10484,10483,1,0,0,0,10485,1361,1,0,0,0,10486,10492,3,1002,501,0,10487,10488,5,2,0,0,10488,10489,3,1328,664,0,10489,10490,5,3,0,0,10490,10492,1,0,0,0,10491,10486,1,0,0,0,10491,10487,1,0,0,0,10492,1363,1,0,0,0,10493,10495,5,40,0,0,10494,10496,3,1372,686,0,10495,10494,1,0,0,0,10495,10496,1,0,0,0,10496,10497,1,0,0,0,10497,10499,3,1366,683,0,10498,10500,3,1370,685,0,10499,10498,1,0,0,0,10499,10500,1,0,0,0,10500,10501,1,0,0,0,10501,10502,5,454,0,0,10502,1365,1,0,0,0,10503,10505,3,1368,684,0,10504,10503,1,0,0,0,10505,10506,1,0,0,0,10506,10504,1,0,0,0,10506,10507,1,0,0,0,10507,1367,1,0,0,0,10508,10509,5,102,0,0,10509,10510,3,1212,606,0,10510,10511,5,93,0,0,10511,10512,3,1212,606,0,10512,1369,1,0,0,0,10513,10514,5,58,0,0,10514,10515,3,1212,606,0,10515,1371,1,0,0,0,10516,10517,3,1212,606,0,10517,1373,1,0,0,0,10518,10520,3,1474,737,0,10519,10521,3,1380,690,0,10520,10519,1,0,0,0,10520,10521,1,0,0,0,10521,1375,1,0,0,0,10522,10525,5,11,0,0,10523,10526,3,1438,719,0,10524,10526,5,9,0,0,10525,10523,1,0,0,0,10525,10524,1,0,0,0,10526,10540,1,0,0,0,10527,10536,5,4,0,0,10528,10537,3,1212,606,0,10529,10531,3,1378,689,0,10530,10529,1,0,0,0,10530,10531,1,0,0,0,10531,10532,1,0,0,0,10532,10534,5,8,0,0,10533,10535,3,1378,689,0,10534,10533,1,0,0,0,10534,10535,1,0,0,0,10535,10537,1,0,0,0,10536,10528,1,0,0,0,10536,10530,1,0,0,0,10537,10538,1,0,0,0,10538,10540,5,5,0,0,10539,10522,1,0,0,0,10539,10527,1,0,0,0,10540,1377,1,0,0,0,10541,10542,3,1212,606,0,10542,1379,1,0,0,0,10543,10545,3,1376,688,0,10544,10543,1,0,0,0,10545,10546,1,0,0,0,10546,10544,1,0,0,0,10546,10547,1,0,0,0,10547,1381,1,0,0,0,10548,10550,3,1376,688,0,10549,10548,1,0,0,0,10550,10553,1,0,0,0,10551,10549,1,0,0,0,10551,10552,1,0,0,0,10552,1383,1,0,0,0,10553,10551,1,0,0,0,10554,10555,3,1386,693,0,10555,1385,1,0,0,0,10556,10561,3,1388,694,0,10557,10558,5,6,0,0,10558,10560,3,1388,694,0,10559,10557,1,0,0,0,10560,10563,1,0,0,0,10561,10559,1,0,0,0,10561,10562,1,0,0,0,10562,1387,1,0,0,0,10563,10561,1,0,0,0,10564,10569,3,1336,668,0,10565,10566,5,36,0,0,10566,10570,3,1490,745,0,10567,10570,3,1492,746,0,10568,10570,1,0,0,0,10569,10565,1,0,0,0,10569,10567,1,0,0,0,10569,10568,1,0,0,0,10570,10573,1,0,0,0,10571,10573,5,9,0,0,10572,10564,1,0,0,0,10572,10571,1,0,0,0,10573,1389,1,0,0,0,10574,10579,3,1412,706,0,10575,10576,5,6,0,0,10576,10578,3,1412,706,0,10577,10575,1,0,0,0,10578,10581,1,0,0,0,10579,10577,1,0,0,0,10579,10580,1,0,0,0,10580,1391,1,0,0,0,10581,10579,1,0,0,0,10582,10587,3,1406,703,0,10583,10584,5,6,0,0,10584,10586,3,1406,703,0,10585,10583,1,0,0,0,10586,10589,1,0,0,0,10587,10585,1,0,0,0,10587,10588,1,0,0,0,10588,1393,1,0,0,0,10589,10587,1,0,0,0,10590,10595,3,1422,711,0,10591,10592,5,6,0,0,10592,10594,3,1422,711,0,10593,10591,1,0,0,0,10594,10597,1,0,0,0,10595,10593,1,0,0,0,10595,10596,1,0,0,0,10596,1395,1,0,0,0,10597,10595,1,0,0,0,10598,10603,3,1420,710,0,10599,10600,5,6,0,0,10600,10602,3,1420,710,0,10601,10599,1,0,0,0,10602,10605,1,0,0,0,10603,10601,1,0,0,0,10603,10604,1,0,0,0,10604,1397,1,0,0,0,10605,10603,1,0,0,0,10606,10611,3,1428,714,0,10607,10608,5,6,0,0,10608,10610,3,1428,714,0,10609,10607,1,0,0,0,10610,10613,1,0,0,0,10611,10609,1,0,0,0,10611,10612,1,0,0,0,10612,1399,1,0,0,0,10613,10611,1,0,0,0,10614,10616,3,1474,737,0,10615,10617,3,1380,690,0,10616,10615,1,0,0,0,10616,10617,1,0,0,0,10617,1401,1,0,0,0,10618,10620,3,1474,737,0,10619,10621,3,1380,690,0,10620,10619,1,0,0,0,10620,10621,1,0,0,0,10621,1403,1,0,0,0,10622,10624,3,1474,737,0,10623,10625,3,1380,690,0,10624,10623,1,0,0,0,10624,10625,1,0,0,0,10625,1405,1,0,0,0,10626,10628,3,1474,737,0,10627,10629,3,1380,690,0,10628,10627,1,0,0,0,10628,10629,1,0,0,0,10629,1407,1,0,0,0,10630,10632,3,1474,737,0,10631,10633,3,1380,690,0,10632,10631,1,0,0,0,10632,10633,1,0,0,0,10633,1409,1,0,0,0,10634,10636,3,1474,737,0,10635,10637,3,560,280,0,10636,10635,1,0,0,0,10636,10637,1,0,0,0,10637,1411,1,0,0,0,10638,10640,3,1474,737,0,10639,10641,3,1380,690,0,10640,10639,1,0,0,0,10640,10641,1,0,0,0,10641,1413,1,0,0,0,10642,10647,3,1402,701,0,10643,10644,5,6,0,0,10644,10646,3,1402,701,0,10645,10643,1,0,0,0,10646,10649,1,0,0,0,10647,10645,1,0,0,0,10647,10648,1,0,0,0,10648,1415,1,0,0,0,10649,10647,1,0,0,0,10650,10655,3,1436,718,0,10651,10652,5,6,0,0,10652,10654,3,1436,718,0,10653,10651,1,0,0,0,10654,10657,1,0,0,0,10655,10653,1,0,0,0,10655,10656,1,0,0,0,10656,1417,1,0,0,0,10657,10655,1,0,0,0,10658,10660,3,1474,737,0,10659,10661,3,560,280,0,10660,10659,1,0,0,0,10660,10661,1,0,0,0,10661,1419,1,0,0,0,10662,10664,3,1474,737,0,10663,10665,3,560,280,0,10664,10663,1,0,0,0,10664,10665,1,0,0,0,10665,1421,1,0,0,0,10666,10668,3,1474,737,0,10667,10669,3,560,280,0,10668,10667,1,0,0,0,10668,10669,1,0,0,0,10669,1423,1,0,0,0,10670,10671,3,1474,737,0,10671,1425,1,0,0,0,10672,10673,3,1474,737,0,10673,1427,1,0,0,0,10674,10679,3,1482,741,0,10675,10676,3,1474,737,0,10676,10677,3,1380,690,0,10677,10679,1,0,0,0,10678,10674,1,0,0,0,10678,10675,1,0,0,0,10679,1429,1,0,0,0,10680,10685,3,1482,741,0,10681,10682,3,1474,737,0,10682,10683,3,1380,690,0,10683,10685,1,0,0,0,10684,10680,1,0,0,0,10684,10681,1,0,0,0,10685,1431,1,0,0,0,10686,10690,3,1474,737,0,10687,10689,3,1376,688,0,10688,10687,1,0,0,0,10689,10692,1,0,0,0,10690,10688,1,0,0,0,10690,10691,1,0,0,0,10691,10695,1,0,0,0,10692,10690,1,0,0,0,10693,10695,4,716,8,0,10694,10686,1,0,0,0,10694,10693,1,0,0,0,10695,1433,1,0,0,0,10696,10697,3,1474,737,0,10697,1435,1,0,0,0,10698,10699,3,1474,737,0,10699,1437,1,0,0,0,10700,10701,3,1490,745,0,10701,1439,1,0,0,0,10702,10703,3,1458,729,0,10703,1441,1,0,0,0,10704,10709,3,1482,741,0,10705,10706,3,1474,737,0,10706,10707,3,1380,690,0,10707,10709,1,0,0,0,10708,10704,1,0,0,0,10708,10705,1,0,0,0,10709,1443,1,0,0,0,10710,10715,3,1482,741,0,10711,10712,3,1474,737,0,10712,10713,3,1380,690,0,10713,10715,1,0,0,0,10714,10710,1,0,0,0,10714,10711,1,0,0,0,10715,1445,1,0,0,0,10716,10721,3,1484,742,0,10717,10718,3,1474,737,0,10718,10719,3,1380,690,0,10719,10721,1,0,0,0,10720,10716,1,0,0,0,10720,10717,1,0,0,0,10721,1447,1,0,0,0,10722,10758,3,1456,728,0,10723,10758,3,1454,727,0,10724,10758,3,1458,729,0,10725,10758,3,1452,726,0,10726,10758,3,1450,725,0,10727,10737,3,1444,722,0,10728,10738,3,1458,729,0,10729,10730,5,2,0,0,10730,10732,3,1338,669,0,10731,10733,3,1042,521,0,10732,10731,1,0,0,0,10732,10733,1,0,0,0,10733,10734,1,0,0,0,10734,10735,5,3,0,0,10735,10736,3,1458,729,0,10736,10738,1,0,0,0,10737,10728,1,0,0,0,10737,10729,1,0,0,0,10738,10758,1,0,0,0,10739,10740,3,1174,587,0,10740,10741,3,1458,729,0,10741,10758,1,0,0,0,10742,10752,3,1202,601,0,10743,10745,3,1458,729,0,10744,10746,3,1206,603,0,10745,10744,1,0,0,0,10745,10746,1,0,0,0,10746,10753,1,0,0,0,10747,10748,5,2,0,0,10748,10749,3,1456,728,0,10749,10750,5,3,0,0,10750,10751,3,1458,729,0,10751,10753,1,0,0,0,10752,10743,1,0,0,0,10752,10747,1,0,0,0,10753,10758,1,0,0,0,10754,10758,5,96,0,0,10755,10758,5,60,0,0,10756,10758,5,78,0,0,10757,10722,1,0,0,0,10757,10723,1,0,0,0,10757,10724,1,0,0,0,10757,10725,1,0,0,0,10757,10726,1,0,0,0,10757,10727,1,0,0,0,10757,10739,1,0,0,0,10757,10742,1,0,0,0,10757,10754,1,0,0,0,10757,10755,1,0,0,0,10757,10756,1,0,0,0,10758,1449,1,0,0,0,10759,10760,5,567,0,0,10760,1451,1,0,0,0,10761,10762,5,563,0,0,10762,1453,1,0,0,0,10763,10764,5,573,0,0,10764,1455,1,0,0,0,10765,10766,5,571,0,0,10766,1457,1,0,0,0,10767,10769,3,1460,730,0,10768,10770,3,1462,731,0,10769,10768,1,0,0,0,10769,10770,1,0,0,0,10770,1459,1,0,0,0,10771,10783,5,558,0,0,10772,10783,5,560,0,0,10773,10777,5,562,0,0,10774,10776,5,588,0,0,10775,10774,1,0,0,0,10776,10779,1,0,0,0,10777,10775,1,0,0,0,10777,10778,1,0,0,0,10778,10780,1,0,0,0,10779,10777,1,0,0,0,10780,10783,5,589,0,0,10781,10783,5,584,0,0,10782,10771,1,0,0,0,10782,10772,1,0,0,0,10782,10773,1,0,0,0,10782,10781,1,0,0,0,10783,1461,1,0,0,0,10784,10785,5,487,0,0,10785,10786,3,1460,730,0,10786,1463,1,0,0,0,10787,10793,3,1456,728,0,10788,10789,5,12,0,0,10789,10793,3,1456,728,0,10790,10791,5,13,0,0,10791,10793,3,1456,728,0,10792,10787,1,0,0,0,10792,10788,1,0,0,0,10792,10790,1,0,0,0,10793,1465,1,0,0,0,10794,10795,3,1470,735,0,10795,1467,1,0,0,0,10796,10797,3,1470,735,0,10797,1469,1,0,0,0,10798,10804,3,1488,744,0,10799,10804,5,52,0,0,10800,10804,5,49,0,0,10801,10804,5,89,0,0,10802,10804,5,524,0,0,10803,10798,1,0,0,0,10803,10799,1,0,0,0,10803,10800,1,0,0,0,10803,10801,1,0,0,0,10803,10802,1,0,0,0,10804,1471,1,0,0,0,10805,10810,3,1470,735,0,10806,10807,5,6,0,0,10807,10809,3,1470,735,0,10808,10806,1,0,0,0,10809,10812,1,0,0,0,10810,10808,1,0,0,0,10810,10811,1,0,0,0,10811,1473,1,0,0,0,10812,10810,1,0,0,0,10813,10818,3,1492,746,0,10814,10818,3,1496,748,0,10815,10818,3,1498,749,0,10816,10818,3,1734,867,0,10817,10813,1,0,0,0,10817,10814,1,0,0,0,10817,10815,1,0,0,0,10817,10816,1,0,0,0,10818,1475,1,0,0,0,10819,10820,3,1492,746,0,10820,1477,1,0,0,0,10821,10834,3,710,355,0,10822,10823,5,2,0,0,10823,10824,3,1212,606,0,10824,10825,5,3,0,0,10825,10826,1,0,0,0,10826,10828,3,1492,746,0,10827,10829,3,650,325,0,10828,10827,1,0,0,0,10828,10829,1,0,0,0,10829,10831,1,0,0,0,10830,10832,3,652,326,0,10831,10830,1,0,0,0,10831,10832,1,0,0,0,10832,10834,1,0,0,0,10833,10821,1,0,0,0,10833,10822,1,0,0,0,10834,1479,1,0,0,0,10835,10836,5,105,0,0,10836,10838,3,132,66,0,10837,10835,1,0,0,0,10837,10838,1,0,0,0,10838,10840,1,0,0,0,10839,10841,3,286,143,0,10840,10839,1,0,0,0,10840,10841,1,0,0,0,10841,1481,1,0,0,0,10842,10847,3,1492,746,0,10843,10847,3,1496,748,0,10844,10847,3,1734,867,0,10845,10847,3,1500,750,0,10846,10842,1,0,0,0,10846,10843,1,0,0,0,10846,10844,1,0,0,0,10846,10845,1,0,0,0,10847,1483,1,0,0,0,10848,10853,3,1492,746,0,10849,10853,3,1496,748,0,10850,10853,3,1734,867,0,10851,10853,3,1500,750,0,10852,10848,1,0,0,0,10852,10849,1,0,0,0,10852,10850,1,0,0,0,10852,10851,1,0,0,0,10853,1485,1,0,0,0,10854,10857,3,1432,716,0,10855,10857,3,1500,750,0,10856,10854,1,0,0,0,10856,10855,1,0,0,0,10857,1487,1,0,0,0,10858,10863,3,1492,746,0,10859,10863,3,1496,748,0,10860,10863,3,1498,749,0,10861,10863,3,1500,750,0,10862,10858,1,0,0,0,10862,10859,1,0,0,0,10862,10860,1,0,0,0,10862,10861,1,0,0,0,10863,1489,1,0,0,0,10864,10871,3,1492,746,0,10865,10871,3,1734,867,0,10866,10871,3,1496,748,0,10867,10871,3,1498,749,0,10868,10871,3,1500,750,0,10869,10871,3,1502,751,0,10870,10864,1,0,0,0,10870,10865,1,0,0,0,10870,10866,1,0,0,0,10870,10867,1,0,0,0,10870,10868,1,0,0,0,10870,10869,1,0,0,0,10871,1491,1,0,0,0,10872,10874,5,549,0,0,10873,10875,3,1462,731,0,10874,10873,1,0,0,0,10874,10875,1,0,0,0,10875,10883,1,0,0,0,10876,10883,3,1458,729,0,10877,10883,5,550,0,0,10878,10883,5,554,0,0,10879,10883,3,1256,628,0,10880,10883,3,1494,747,0,10881,10883,3,1734,867,0,10882,10872,1,0,0,0,10882,10876,1,0,0,0,10882,10877,1,0,0,0,10882,10878,1,0,0,0,10882,10879,1,0,0,0,10882,10880,1,0,0,0,10882,10881,1,0,0,0,10883,1493,1,0,0,0,10884,10885,5,575,0,0,10885,1495,1,0,0,0,10886,10887,7,78,0,0,10887,1497,1,0,0,0,10888,10940,5,387,0,0,10889,10940,5,388,0,0,10890,10940,3,1184,592,0,10891,10940,5,390,0,0,10892,10940,5,391,0,0,10893,10940,3,1192,596,0,10894,10940,5,393,0,0,10895,10940,5,394,0,0,10896,10940,5,395,0,0,10897,10940,5,396,0,0,10898,10940,5,397,0,0,10899,10940,5,398,0,0,10900,10940,5,399,0,0,10901,10940,5,470,0,0,10902,10940,5,400,0,0,10903,10940,5,401,0,0,10904,10940,5,402,0,0,10905,10940,5,403,0,0,10906,10940,5,404,0,0,10907,10940,5,405,0,0,10908,10940,5,406,0,0,10909,10940,5,407,0,0,10910,10940,5,489,0,0,10911,10940,5,408,0,0,10912,10940,3,1180,590,0,10913,10940,5,453,0,0,10914,10940,5,410,0,0,10915,10940,5,411,0,0,10916,10940,5,412,0,0,10917,10940,5,413,0,0,10918,10940,5,414,0,0,10919,10940,5,415,0,0,10920,10940,5,416,0,0,10921,10940,5,417,0,0,10922,10940,5,418,0,0,10923,10940,5,419,0,0,10924,10940,5,420,0,0,10925,10940,5,421,0,0,10926,10940,5,422,0,0,10927,10940,5,423,0,0,10928,10940,5,424,0,0,10929,10940,5,425,0,0,10930,10940,5,426,0,0,10931,10940,5,427,0,0,10932,10940,5,428,0,0,10933,10940,5,476,0,0,10934,10940,5,429,0,0,10935,10940,5,430,0,0,10936,10940,5,431,0,0,10937,10940,5,432,0,0,10938,10940,5,474,0,0,10939,10888,1,0,0,0,10939,10889,1,0,0,0,10939,10890,1,0,0,0,10939,10891,1,0,0,0,10939,10892,1,0,0,0,10939,10893,1,0,0,0,10939,10894,1,0,0,0,10939,10895,1,0,0,0,10939,10896,1,0,0,0,10939,10897,1,0,0,0,10939,10898,1,0,0,0,10939,10899,1,0,0,0,10939,10900,1,0,0,0,10939,10901,1,0,0,0,10939,10902,1,0,0,0,10939,10903,1,0,0,0,10939,10904,1,0,0,0,10939,10905,1,0,0,0,10939,10906,1,0,0,0,10939,10907,1,0,0,0,10939,10908,1,0,0,0,10939,10909,1,0,0,0,10939,10910,1,0,0,0,10939,10911,1,0,0,0,10939,10912,1,0,0,0,10939,10913,1,0,0,0,10939,10914,1,0,0,0,10939,10915,1,0,0,0,10939,10916,1,0,0,0,10939,10917,1,0,0,0,10939,10918,1,0,0,0,10939,10919,1,0,0,0,10939,10920,1,0,0,0,10939,10921,1,0,0,0,10939,10922,1,0,0,0,10939,10923,1,0,0,0,10939,10924,1,0,0,0,10939,10925,1,0,0,0,10939,10926,1,0,0,0,10939,10927,1,0,0,0,10939,10928,1,0,0,0,10939,10929,1,0,0,0,10939,10930,1,0,0,0,10939,10931,1,0,0,0,10939,10932,1,0,0,0,10939,10933,1,0,0,0,10939,10934,1,0,0,0,10939,10935,1,0,0,0,10939,10936,1,0,0,0,10939,10937,1,0,0,0,10939,10938,1,0,0,0,10940,1499,1,0,0,0,10941,10942,7,79,0,0,10942,1501,1,0,0,0,10943,10944,7,80,0,0,10944,1503,1,0,0,0,10945,10946,3,1506,753,0,10946,10947,3,1516,758,0,10947,10948,3,1514,757,0,10948,1505,1,0,0,0,10949,10951,3,1508,754,0,10950,10949,1,0,0,0,10951,10954,1,0,0,0,10952,10950,1,0,0,0,10952,10953,1,0,0,0,10953,1507,1,0,0,0,10954,10952,1,0,0,0,10955,10956,3,1510,755,0,10956,10957,5,279,0,0,10957,10958,5,490,0,0,10958,10976,1,0,0,0,10959,10960,3,1510,755,0,10960,10961,5,491,0,0,10961,10962,3,1512,756,0,10962,10976,1,0,0,0,10963,10964,3,1510,755,0,10964,10965,5,492,0,0,10965,10966,5,493,0,0,10966,10976,1,0,0,0,10967,10968,3,1510,755,0,10968,10969,5,492,0,0,10969,10970,5,494,0,0,10970,10976,1,0,0,0,10971,10972,3,1510,755,0,10972,10973,5,492,0,0,10973,10974,5,495,0,0,10974,10976,1,0,0,0,10975,10955,1,0,0,0,10975,10959,1,0,0,0,10975,10963,1,0,0,0,10975,10967,1,0,0,0,10975,10971,1,0,0,0,10976,1509,1,0,0,0,10977,10978,5,29,0,0,10978,1511,1,0,0,0,10979,10984,3,1458,729,0,10980,10984,3,1502,751,0,10981,10984,3,1734,867,0,10982,10984,3,1496,748,0,10983,10979,1,0,0,0,10983,10980,1,0,0,0,10983,10981,1,0,0,0,10983,10982,1,0,0,0,10984,1513,1,0,0,0,10985,10988,1,0,0,0,10986,10988,5,7,0,0,10987,10985,1,0,0,0,10987,10986,1,0,0,0,10988,1515,1,0,0,0,10989,10990,3,1518,759,0,10990,10991,5,146,0,0,10991,10992,3,1560,780,0,10992,10993,3,1714,857,0,10993,10994,5,454,0,0,10994,10995,3,1728,864,0,10995,1517,1,0,0,0,10996,11001,3,1724,862,0,10997,10999,3,1520,760,0,10998,11e3,3,1522,761,0,10999,10998,1,0,0,0,10999,11e3,1,0,0,0,11e3,11002,1,0,0,0,11001,10997,1,0,0,0,11001,11002,1,0,0,0,11002,1519,1,0,0,0,11003,11004,5,178,0,0,11004,1521,1,0,0,0,11005,11007,3,1526,763,0,11006,11005,1,0,0,0,11007,11008,1,0,0,0,11008,11006,1,0,0,0,11008,11009,1,0,0,0,11009,1523,1,0,0,0,11010,11011,5,18,0,0,11011,11012,3,1732,866,0,11012,11013,5,19,0,0,11013,1525,1,0,0,0,11014,11018,3,1528,764,0,11015,11018,5,178,0,0,11016,11018,3,1524,762,0,11017,11014,1,0,0,0,11017,11015,1,0,0,0,11017,11016,1,0,0,0,11018,1527,1,0,0,0,11019,11035,3,1544,772,0,11020,11021,5,496,0,0,11021,11022,5,62,0,0,11022,11036,3,1542,771,0,11023,11024,3,1546,773,0,11024,11025,3,1548,774,0,11025,11026,3,1550,775,0,11026,11027,3,1552,776,0,11027,11028,3,1554,777,0,11028,11036,1,0,0,0,11029,11030,3,1530,765,0,11030,11031,5,172,0,0,11031,11032,3,1534,767,0,11032,11033,3,1540,770,0,11033,11034,3,1532,766,0,11034,11036,1,0,0,0,11035,11020,1,0,0,0,11035,11023,1,0,0,0,11035,11029,1,0,0,0,11036,11037,1,0,0,0,11037,11038,5,7,0,0,11038,1529,1,0,0,0,11039,11044,1,0,0,0,11040,11041,5,269,0,0,11041,11044,5,324,0,0,11042,11044,5,324,0,0,11043,11039,1,0,0,0,11043,11040,1,0,0,0,11043,11042,1,0,0,0,11044,1531,1,0,0,0,11045,11046,3,1e3,500,0,11046,1533,1,0,0,0,11047,11053,1,0,0,0,11048,11049,5,2,0,0,11049,11050,3,1536,768,0,11050,11051,5,3,0,0,11051,11053,1,0,0,0,11052,11047,1,0,0,0,11052,11048,1,0,0,0,11053,1535,1,0,0,0,11054,11059,3,1538,769,0,11055,11056,5,6,0,0,11056,11058,3,1538,769,0,11057,11055,1,0,0,0,11058,11061,1,0,0,0,11059,11057,1,0,0,0,11059,11060,1,0,0,0,11060,1537,1,0,0,0,11061,11059,1,0,0,0,11062,11063,3,1544,772,0,11063,11064,3,1548,774,0,11064,1539,1,0,0,0,11065,11066,7,81,0,0,11066,1541,1,0,0,0,11067,11070,5,28,0,0,11068,11070,3,1474,737,0,11069,11067,1,0,0,0,11069,11068,1,0,0,0,11070,1543,1,0,0,0,11071,11072,3,1732,866,0,11072,1545,1,0,0,0,11073,11076,1,0,0,0,11074,11076,5,497,0,0,11075,11073,1,0,0,0,11075,11074,1,0,0,0,11076,1547,1,0,0,0,11077,11078,3,1168,584,0,11078,1549,1,0,0,0,11079,11083,1,0,0,0,11080,11081,5,43,0,0,11081,11083,3,558,279,0,11082,11079,1,0,0,0,11082,11080,1,0,0,0,11083,1551,1,0,0,0,11084,11088,1,0,0,0,11085,11086,5,77,0,0,11086,11088,5,78,0,0,11087,11084,1,0,0,0,11087,11085,1,0,0,0,11088,1553,1,0,0,0,11089,11094,1,0,0,0,11090,11091,3,1556,778,0,11091,11092,3,1736,868,0,11092,11094,1,0,0,0,11093,11089,1,0,0,0,11093,11090,1,0,0,0,11094,1555,1,0,0,0,11095,11098,3,1558,779,0,11096,11098,5,53,0,0,11097,11095,1,0,0,0,11097,11096,1,0,0,0,11098,1557,1,0,0,0,11099,11100,7,82,0,0,11100,1559,1,0,0,0,11101,11103,3,1562,781,0,11102,11101,1,0,0,0,11103,11106,1,0,0,0,11104,11102,1,0,0,0,11104,11105,1,0,0,0,11105,1561,1,0,0,0,11106,11104,1,0,0,0,11107,11108,3,1516,758,0,11108,11109,5,7,0,0,11109,11135,1,0,0,0,11110,11135,3,1628,814,0,11111,11135,3,1632,816,0,11112,11135,3,1570,785,0,11113,11135,3,1586,793,0,11114,11135,3,1592,796,0,11115,11135,3,1602,801,0,11116,11135,3,1604,802,0,11117,11135,3,1606,803,0,11118,11135,3,1620,810,0,11119,11135,3,1624,812,0,11120,11135,3,1644,822,0,11121,11135,3,1650,825,0,11122,11135,3,1652,826,0,11123,11135,3,1564,782,0,11124,11135,3,1566,783,0,11125,11135,3,1572,786,0,11126,11135,3,1660,830,0,11127,11135,3,1672,836,0,11128,11135,3,1680,840,0,11129,11135,3,1700,850,0,11130,11135,3,1702,851,0,11131,11135,3,1704,852,0,11132,11135,3,1706,853,0,11133,11135,3,1710,855,0,11134,11107,1,0,0,0,11134,11110,1,0,0,0,11134,11111,1,0,0,0,11134,11112,1,0,0,0,11134,11113,1,0,0,0,11134,11114,1,0,0,0,11134,11115,1,0,0,0,11134,11116,1,0,0,0,11134,11117,1,0,0,0,11134,11118,1,0,0,0,11134,11119,1,0,0,0,11134,11120,1,0,0,0,11134,11121,1,0,0,0,11134,11122,1,0,0,0,11134,11123,1,0,0,0,11134,11124,1,0,0,0,11134,11125,1,0,0,0,11134,11126,1,0,0,0,11134,11127,1,0,0,0,11134,11128,1,0,0,0,11134,11129,1,0,0,0,11134,11130,1,0,0,0,11134,11131,1,0,0,0,11134,11132,1,0,0,0,11134,11133,1,0,0,0,11135,1563,1,0,0,0,11136,11137,5,498,0,0,11137,11138,3,1740,870,0,11138,11139,5,7,0,0,11139,1565,1,0,0,0,11140,11141,5,433,0,0,11141,11147,3,1732,866,0,11142,11143,5,2,0,0,11143,11144,3,1568,784,0,11144,11145,5,3,0,0,11145,11146,5,7,0,0,11146,11148,1,0,0,0,11147,11142,1,0,0,0,11147,11148,1,0,0,0,11148,11157,1,0,0,0,11149,11150,5,57,0,0,11150,11151,3,1732,866,0,11151,11152,5,2,0,0,11152,11153,3,1568,784,0,11153,11154,5,3,0,0,11154,11155,5,7,0,0,11155,11157,1,0,0,0,11156,11140,1,0,0,0,11156,11149,1,0,0,0,11157,1567,1,0,0,0,11158,11161,1,0,0,0,11159,11161,3,1328,664,0,11160,11158,1,0,0,0,11160,11159,1,0,0,0,11161,1569,1,0,0,0,11162,11163,3,1584,792,0,11163,11164,3,1558,779,0,11164,11165,3,1736,868,0,11165,11166,5,7,0,0,11166,1571,1,0,0,0,11167,11168,5,499,0,0,11168,11169,3,1574,787,0,11169,11170,5,500,0,0,11170,11171,3,1576,788,0,11171,11172,5,7,0,0,11172,1573,1,0,0,0,11173,11177,1,0,0,0,11174,11177,5,434,0,0,11175,11177,5,501,0,0,11176,11173,1,0,0,0,11176,11174,1,0,0,0,11176,11175,1,0,0,0,11177,1575,1,0,0,0,11178,11183,3,1578,789,0,11179,11180,5,6,0,0,11180,11182,3,1578,789,0,11181,11179,1,0,0,0,11182,11185,1,0,0,0,11183,11181,1,0,0,0,11183,11184,1,0,0,0,11184,1577,1,0,0,0,11185,11183,1,0,0,0,11186,11187,3,1582,791,0,11187,11188,3,1558,779,0,11188,11189,3,1580,790,0,11189,1579,1,0,0,0,11190,11191,3,1474,737,0,11191,1581,1,0,0,0,11192,11193,3,1584,792,0,11193,1583,1,0,0,0,11194,11197,3,558,279,0,11195,11197,5,28,0,0,11196,11194,1,0,0,0,11196,11195,1,0,0,0,11197,11204,1,0,0,0,11198,11199,5,4,0,0,11199,11200,3,1742,871,0,11200,11201,5,5,0,0,11201,11203,1,0,0,0,11202,11198,1,0,0,0,11203,11206,1,0,0,0,11204,11202,1,0,0,0,11204,11205,1,0,0,0,11205,1585,1,0,0,0,11206,11204,1,0,0,0,11207,11208,5,220,0,0,11208,11209,3,1738,869,0,11209,11210,5,93,0,0,11210,11211,3,1560,780,0,11211,11212,3,1588,794,0,11212,11213,3,1590,795,0,11213,11214,5,454,0,0,11214,11215,5,220,0,0,11215,11216,5,7,0,0,11216,1587,1,0,0,0,11217,11218,5,502,0,0,11218,11219,3,1212,606,0,11219,11220,5,93,0,0,11220,11221,3,1560,780,0,11221,11223,1,0,0,0,11222,11217,1,0,0,0,11223,11226,1,0,0,0,11224,11222,1,0,0,0,11224,11225,1,0,0,0,11225,1589,1,0,0,0,11226,11224,1,0,0,0,11227,11231,1,0,0,0,11228,11229,5,58,0,0,11229,11231,3,1560,780,0,11230,11227,1,0,0,0,11230,11228,1,0,0,0,11231,1591,1,0,0,0,11232,11233,5,40,0,0,11233,11234,3,1594,797,0,11234,11235,3,1596,798,0,11235,11236,3,1600,800,0,11236,11237,5,454,0,0,11237,11238,5,40,0,0,11238,11239,5,7,0,0,11239,1593,1,0,0,0,11240,11243,1,0,0,0,11241,11243,3,1736,868,0,11242,11240,1,0,0,0,11242,11241,1,0,0,0,11243,1595,1,0,0,0,11244,11246,3,1598,799,0,11245,11244,1,0,0,0,11246,11247,1,0,0,0,11247,11245,1,0,0,0,11247,11248,1,0,0,0,11248,1597,1,0,0,0,11249,11250,5,102,0,0,11250,11251,3,1328,664,0,11251,11252,5,93,0,0,11252,11253,3,1560,780,0,11253,1599,1,0,0,0,11254,11258,1,0,0,0,11255,11256,5,58,0,0,11256,11258,3,1560,780,0,11257,11254,1,0,0,0,11257,11255,1,0,0,0,11258,1601,1,0,0,0,11259,11260,3,1726,863,0,11260,11261,3,1648,824,0,11261,1603,1,0,0,0,11262,11263,3,1726,863,0,11263,11264,5,503,0,0,11264,11265,3,1744,872,0,11265,11266,3,1648,824,0,11266,1605,1,0,0,0,11267,11268,3,1726,863,0,11268,11269,5,62,0,0,11269,11270,3,1608,804,0,11270,11271,3,1648,824,0,11271,1607,1,0,0,0,11272,11273,3,1618,809,0,11273,11289,5,68,0,0,11274,11275,3,994,497,0,11275,11276,3,1612,806,0,11276,11290,1,0,0,0,11277,11290,3,1e3,500,0,11278,11290,3,926,463,0,11279,11280,5,202,0,0,11280,11281,3,1212,606,0,11281,11282,3,1610,805,0,11282,11290,1,0,0,0,11283,11284,3,1614,807,0,11284,11285,3,1212,606,0,11285,11286,5,24,0,0,11286,11287,3,1212,606,0,11287,11288,3,1616,808,0,11288,11290,1,0,0,0,11289,11274,1,0,0,0,11289,11277,1,0,0,0,11289,11278,1,0,0,0,11289,11279,1,0,0,0,11289,11283,1,0,0,0,11290,1609,1,0,0,0,11291,11295,1,0,0,0,11292,11293,5,100,0,0,11293,11295,3,1328,664,0,11294,11291,1,0,0,0,11294,11292,1,0,0,0,11295,1611,1,0,0,0,11296,11309,1,0,0,0,11297,11298,5,2,0,0,11298,11303,3,1212,606,0,11299,11300,5,6,0,0,11300,11302,3,1212,606,0,11301,11299,1,0,0,0,11302,11305,1,0,0,0,11303,11301,1,0,0,0,11303,11304,1,0,0,0,11304,11306,1,0,0,0,11305,11303,1,0,0,0,11306,11307,5,3,0,0,11307,11309,1,0,0,0,11308,11296,1,0,0,0,11308,11297,1,0,0,0,11309,1613,1,0,0,0,11310,11313,1,0,0,0,11311,11313,5,504,0,0,11312,11310,1,0,0,0,11312,11311,1,0,0,0,11313,1615,1,0,0,0,11314,11318,1,0,0,0,11315,11316,5,147,0,0,11316,11318,3,1212,606,0,11317,11314,1,0,0,0,11317,11315,1,0,0,0,11318,1617,1,0,0,0,11319,11320,3,552,276,0,11320,1619,1,0,0,0,11321,11322,3,1726,863,0,11322,11323,5,505,0,0,11323,11324,3,1618,809,0,11324,11325,3,1622,811,0,11325,11326,5,68,0,0,11326,11327,5,35,0,0,11327,11328,3,1212,606,0,11328,11329,3,1648,824,0,11329,1621,1,0,0,0,11330,11334,1,0,0,0,11331,11332,5,506,0,0,11332,11334,3,1456,728,0,11333,11330,1,0,0,0,11333,11331,1,0,0,0,11334,1623,1,0,0,0,11335,11336,3,1626,813,0,11336,11338,3,1728,864,0,11337,11339,3,1730,865,0,11338,11337,1,0,0,0,11338,11339,1,0,0,0,11339,11340,1,0,0,0,11340,11341,5,7,0,0,11341,1625,1,0,0,0,11342,11343,7,83,0,0,11343,1627,1,0,0,0,11344,11356,5,508,0,0,11345,11346,5,268,0,0,11346,11357,3,1736,868,0,11347,11353,5,509,0,0,11348,11349,5,202,0,0,11349,11350,3,1212,606,0,11350,11351,3,1610,805,0,11351,11354,1,0,0,0,11352,11354,3,1e3,500,0,11353,11348,1,0,0,0,11353,11352,1,0,0,0,11354,11357,1,0,0,0,11355,11357,3,1630,815,0,11356,11345,1,0,0,0,11356,11347,1,0,0,0,11356,11355,1,0,0,0,11357,11358,1,0,0,0,11358,11359,5,7,0,0,11359,1629,1,0,0,0,11360,11363,1,0,0,0,11361,11363,3,1736,868,0,11362,11360,1,0,0,0,11362,11361,1,0,0,0,11363,1631,1,0,0,0,11364,11366,5,510,0,0,11365,11367,3,1634,817,0,11366,11365,1,0,0,0,11366,11367,1,0,0,0,11367,11368,1,0,0,0,11368,11369,3,1458,729,0,11369,11370,3,1636,818,0,11370,11371,3,1638,819,0,11371,11372,5,7,0,0,11372,11399,1,0,0,0,11373,11375,5,510,0,0,11374,11376,3,1634,817,0,11375,11374,1,0,0,0,11375,11376,1,0,0,0,11376,11377,1,0,0,0,11377,11378,3,1492,746,0,11378,11379,3,1638,819,0,11379,11380,5,7,0,0,11380,11399,1,0,0,0,11381,11383,5,510,0,0,11382,11384,3,1634,817,0,11383,11382,1,0,0,0,11383,11384,1,0,0,0,11384,11385,1,0,0,0,11385,11386,5,511,0,0,11386,11387,3,1458,729,0,11387,11388,3,1638,819,0,11388,11389,5,7,0,0,11389,11399,1,0,0,0,11390,11392,5,510,0,0,11391,11393,3,1634,817,0,11392,11391,1,0,0,0,11392,11393,1,0,0,0,11393,11394,1,0,0,0,11394,11395,3,1638,819,0,11395,11396,5,7,0,0,11396,11399,1,0,0,0,11397,11399,5,510,0,0,11398,11364,1,0,0,0,11398,11373,1,0,0,0,11398,11381,1,0,0,0,11398,11390,1,0,0,0,11398,11397,1,0,0,0,11399,1633,1,0,0,0,11400,11401,7,84,0,0,11401,1635,1,0,0,0,11402,11410,1,0,0,0,11403,11404,5,6,0,0,11404,11406,3,1212,606,0,11405,11403,1,0,0,0,11406,11407,1,0,0,0,11407,11405,1,0,0,0,11407,11408,1,0,0,0,11408,11410,1,0,0,0,11409,11402,1,0,0,0,11409,11405,1,0,0,0,11410,1637,1,0,0,0,11411,11415,1,0,0,0,11412,11413,5,100,0,0,11413,11415,3,1642,821,0,11414,11411,1,0,0,0,11414,11412,1,0,0,0,11415,1639,1,0,0,0,11416,11417,3,1492,746,0,11417,11418,5,10,0,0,11418,11419,3,1212,606,0,11419,1641,1,0,0,0,11420,11425,3,1640,820,0,11421,11422,5,6,0,0,11422,11424,3,1640,820,0,11423,11421,1,0,0,0,11424,11427,1,0,0,0,11425,11423,1,0,0,0,11425,11426,1,0,0,0,11426,1643,1,0,0,0,11427,11425,1,0,0,0,11428,11429,5,518,0,0,11429,11430,3,1736,868,0,11430,11431,3,1646,823,0,11431,11432,5,7,0,0,11432,1645,1,0,0,0,11433,11437,1,0,0,0,11434,11435,5,6,0,0,11435,11437,3,1736,868,0,11436,11433,1,0,0,0,11436,11434,1,0,0,0,11437,1647,1,0,0,0,11438,11439,5,519,0,0,11439,11440,3,1560,780,0,11440,11441,5,454,0,0,11441,11442,5,519,0,0,11442,11443,3,1728,864,0,11443,11444,5,7,0,0,11444,1649,1,0,0,0,11445,11446,3,1746,873,0,11446,11447,5,7,0,0,11447,1651,1,0,0,0,11448,11449,5,202,0,0,11449,11457,3,1212,606,0,11450,11451,3,1658,829,0,11451,11452,3,1654,827,0,11452,11458,1,0,0,0,11453,11454,3,1654,827,0,11454,11455,3,1658,829,0,11455,11458,1,0,0,0,11456,11458,1,0,0,0,11457,11450,1,0,0,0,11457,11453,1,0,0,0,11457,11456,1,0,0,0,11458,11459,1,0,0,0,11459,11460,5,7,0,0,11460,1653,1,0,0,0,11461,11465,1,0,0,0,11462,11463,5,100,0,0,11463,11465,3,1656,828,0,11464,11461,1,0,0,0,11464,11462,1,0,0,0,11465,1655,1,0,0,0,11466,11471,3,1212,606,0,11467,11468,5,6,0,0,11468,11470,3,1212,606,0,11469,11467,1,0,0,0,11470,11473,1,0,0,0,11471,11469,1,0,0,0,11471,11472,1,0,0,0,11472,1657,1,0,0,0,11473,11471,1,0,0,0,11474,11481,1,0,0,0,11475,11477,5,71,0,0,11476,11478,5,346,0,0,11477,11476,1,0,0,0,11477,11478,1,0,0,0,11478,11479,1,0,0,0,11479,11481,3,1674,837,0,11480,11474,1,0,0,0,11480,11475,1,0,0,0,11481,1659,1,0,0,0,11482,11500,5,520,0,0,11483,11484,3,1712,856,0,11484,11485,3,1668,834,0,11485,11491,5,62,0,0,11486,11492,3,1e3,500,0,11487,11488,5,202,0,0,11488,11489,3,1736,868,0,11489,11490,3,1666,833,0,11490,11492,1,0,0,0,11491,11486,1,0,0,0,11491,11487,1,0,0,0,11492,11501,1,0,0,0,11493,11498,3,1474,737,0,11494,11495,5,2,0,0,11495,11496,3,1664,832,0,11496,11497,5,3,0,0,11497,11499,1,0,0,0,11498,11494,1,0,0,0,11498,11499,1,0,0,0,11499,11501,1,0,0,0,11500,11483,1,0,0,0,11500,11493,1,0,0,0,11501,11502,1,0,0,0,11502,11503,5,7,0,0,11503,1661,1,0,0,0,11504,11505,3,1474,737,0,11505,11506,5,20,0,0,11506,11507,3,1212,606,0,11507,11510,1,0,0,0,11508,11510,3,1212,606,0,11509,11504,1,0,0,0,11509,11508,1,0,0,0,11510,1663,1,0,0,0,11511,11516,3,1662,831,0,11512,11513,5,6,0,0,11513,11515,3,1662,831,0,11514,11512,1,0,0,0,11515,11518,1,0,0,0,11516,11514,1,0,0,0,11516,11517,1,0,0,0,11517,1665,1,0,0,0,11518,11516,1,0,0,0,11519,11523,1,0,0,0,11520,11521,5,100,0,0,11521,11523,3,1328,664,0,11522,11519,1,0,0,0,11522,11520,1,0,0,0,11523,1667,1,0,0,0,11524,11529,1,0,0,0,11525,11526,3,1670,835,0,11526,11527,5,324,0,0,11527,11529,1,0,0,0,11528,11524,1,0,0,0,11528,11525,1,0,0,0,11529,1669,1,0,0,0,11530,11533,1,0,0,0,11531,11533,5,269,0,0,11532,11530,1,0,0,0,11532,11531,1,0,0,0,11533,1671,1,0,0,0,11534,11536,5,61,0,0,11535,11537,3,1678,839,0,11536,11535,1,0,0,0,11536,11537,1,0,0,0,11537,11538,1,0,0,0,11538,11539,3,1676,838,0,11539,11540,3,1712,856,0,11540,11541,5,71,0,0,11541,11542,3,1674,837,0,11542,11543,5,7,0,0,11543,1673,1,0,0,0,11544,11545,3,1328,664,0,11545,1675,1,0,0,0,11546,11550,1,0,0,0,11547,11550,5,64,0,0,11548,11550,5,68,0,0,11549,11546,1,0,0,0,11549,11547,1,0,0,0,11549,11548,1,0,0,0,11550,1677,1,0,0,0,11551,11567,5,268,0,0,11552,11567,5,293,0,0,11553,11567,5,207,0,0,11554,11567,5,249,0,0,11555,11556,5,130,0,0,11556,11567,3,1212,606,0,11557,11558,5,307,0,0,11558,11567,3,1212,606,0,11559,11567,3,1212,606,0,11560,11567,5,30,0,0,11561,11564,7,85,0,0,11562,11565,3,1212,606,0,11563,11565,5,30,0,0,11564,11562,1,0,0,0,11564,11563,1,0,0,0,11564,11565,1,0,0,0,11565,11567,1,0,0,0,11566,11551,1,0,0,0,11566,11552,1,0,0,0,11566,11553,1,0,0,0,11566,11554,1,0,0,0,11566,11555,1,0,0,0,11566,11557,1,0,0,0,11566,11559,1,0,0,0,11566,11560,1,0,0,0,11566,11561,1,0,0,0,11567,1679,1,0,0,0,11568,11570,5,265,0,0,11569,11571,3,1678,839,0,11570,11569,1,0,0,0,11570,11571,1,0,0,0,11571,11572,1,0,0,0,11572,11573,3,1712,856,0,11573,11574,5,7,0,0,11574,1681,1,0,0,0,11575,11577,3,1014,507,0,11576,11575,1,0,0,0,11576,11577,1,0,0,0,11577,11578,1,0,0,0,11578,11579,5,525,0,0,11579,11581,5,71,0,0,11580,11582,5,81,0,0,11581,11580,1,0,0,0,11581,11582,1,0,0,0,11582,11583,1,0,0,0,11583,11585,3,1406,703,0,11584,11586,5,9,0,0,11585,11584,1,0,0,0,11585,11586,1,0,0,0,11586,11591,1,0,0,0,11587,11589,5,36,0,0,11588,11587,1,0,0,0,11588,11589,1,0,0,0,11589,11590,1,0,0,0,11590,11592,3,1474,737,0,11591,11588,1,0,0,0,11591,11592,1,0,0,0,11592,11593,1,0,0,0,11593,11594,5,100,0,0,11594,11595,3,1684,842,0,11595,11596,5,80,0,0,11596,11598,3,1686,843,0,11597,11599,3,1688,844,0,11598,11597,1,0,0,0,11599,11600,1,0,0,0,11600,11598,1,0,0,0,11600,11601,1,0,0,0,11601,1683,1,0,0,0,11602,11604,5,81,0,0,11603,11602,1,0,0,0,11603,11604,1,0,0,0,11604,11605,1,0,0,0,11605,11607,3,1406,703,0,11606,11608,5,9,0,0,11607,11606,1,0,0,0,11607,11608,1,0,0,0,11608,11614,1,0,0,0,11609,11612,3,1004,502,0,11610,11612,3,1100,550,0,11611,11609,1,0,0,0,11611,11610,1,0,0,0,11612,11614,1,0,0,0,11613,11603,1,0,0,0,11613,11611,1,0,0,0,11614,11619,1,0,0,0,11615,11617,5,36,0,0,11616,11615,1,0,0,0,11616,11617,1,0,0,0,11617,11618,1,0,0,0,11618,11620,3,1474,737,0,11619,11616,1,0,0,0,11619,11620,1,0,0,0,11620,1685,1,0,0,0,11621,11622,3,1212,606,0,11622,1687,1,0,0,0,11623,11624,5,102,0,0,11624,11627,5,526,0,0,11625,11626,5,33,0,0,11626,11628,3,1212,606,0,11627,11625,1,0,0,0,11627,11628,1,0,0,0,11628,11629,1,0,0,0,11629,11634,5,93,0,0,11630,11635,3,1692,846,0,11631,11635,5,182,0,0,11632,11633,5,57,0,0,11633,11635,5,270,0,0,11634,11630,1,0,0,0,11634,11631,1,0,0,0,11634,11632,1,0,0,0,11635,11650,1,0,0,0,11636,11637,5,102,0,0,11637,11638,5,77,0,0,11638,11641,5,526,0,0,11639,11640,5,33,0,0,11640,11642,3,1212,606,0,11641,11639,1,0,0,0,11641,11642,1,0,0,0,11642,11643,1,0,0,0,11643,11647,5,93,0,0,11644,11648,3,1690,845,0,11645,11646,5,57,0,0,11646,11648,5,270,0,0,11647,11644,1,0,0,0,11647,11645,1,0,0,0,11648,11650,1,0,0,0,11649,11623,1,0,0,0,11649,11636,1,0,0,0,11650,1689,1,0,0,0,11651,11656,5,241,0,0,11652,11653,5,2,0,0,11653,11654,3,244,122,0,11654,11655,5,3,0,0,11655,11657,1,0,0,0,11656,11652,1,0,0,0,11656,11657,1,0,0,0,11657,11661,1,0,0,0,11658,11659,5,463,0,0,11659,11660,7,53,0,0,11660,11662,5,450,0,0,11661,11658,1,0,0,0,11661,11662,1,0,0,0,11662,11663,1,0,0,0,11663,11664,3,1694,847,0,11664,1691,1,0,0,0,11665,11666,5,369,0,0,11666,11679,5,333,0,0,11667,11668,3,1432,716,0,11668,11669,5,10,0,0,11669,11670,3,1698,849,0,11670,11680,1,0,0,0,11671,11672,5,2,0,0,11672,11673,3,244,122,0,11673,11674,5,3,0,0,11674,11675,5,10,0,0,11675,11676,5,2,0,0,11676,11677,3,1696,848,0,11677,11678,5,3,0,0,11678,11680,1,0,0,0,11679,11667,1,0,0,0,11679,11671,1,0,0,0,11680,11681,1,0,0,0,11681,11679,1,0,0,0,11681,11682,1,0,0,0,11682,1693,1,0,0,0,11683,11684,5,422,0,0,11684,11688,3,1696,848,0,11685,11686,5,53,0,0,11686,11688,5,422,0,0,11687,11683,1,0,0,0,11687,11685,1,0,0,0,11688,1695,1,0,0,0,11689,11690,5,2,0,0,11690,11695,3,1698,849,0,11691,11692,5,6,0,0,11692,11694,3,1698,849,0,11693,11691,1,0,0,0,11694,11697,1,0,0,0,11695,11693,1,0,0,0,11695,11696,1,0,0,0,11696,11698,1,0,0,0,11697,11695,1,0,0,0,11698,11699,5,3,0,0,11699,1697,1,0,0,0,11700,11703,3,1048,524,0,11701,11703,5,53,0,0,11702,11700,1,0,0,0,11702,11701,1,0,0,0,11703,1699,1,0,0,0,11704,11705,5,157,0,0,11705,11706,3,1712,856,0,11706,11707,5,7,0,0,11707,1701,1,0,0,0,11708,11709,5,78,0,0,11709,11710,5,7,0,0,11710,1703,1,0,0,0,11711,11713,5,161,0,0,11712,11714,3,1708,854,0,11713,11712,1,0,0,0,11713,11714,1,0,0,0,11714,11715,1,0,0,0,11715,11716,5,7,0,0,11716,1705,1,0,0,0,11717,11719,5,319,0,0,11718,11720,3,1708,854,0,11719,11718,1,0,0,0,11719,11720,1,0,0,0,11720,11721,1,0,0,0,11721,11722,5,7,0,0,11722,1707,1,0,0,0,11723,11725,5,33,0,0,11724,11726,5,269,0,0,11725,11724,1,0,0,0,11725,11726,1,0,0,0,11726,11727,1,0,0,0,11727,11728,5,153,0,0,11728,1709,1,0,0,0,11729,11730,5,333,0,0,11730,11731,3,558,279,0,11731,11732,5,94,0,0,11732,11733,5,53,0,0,11733,11734,5,7,0,0,11734,11742,1,0,0,0,11735,11738,5,313,0,0,11736,11739,3,558,279,0,11737,11739,5,30,0,0,11738,11736,1,0,0,0,11738,11737,1,0,0,0,11739,11740,1,0,0,0,11740,11742,5,7,0,0,11741,11729,1,0,0,0,11741,11735,1,0,0,0,11742,1711,1,0,0,0,11743,11746,3,1474,737,0,11744,11746,5,28,0,0,11745,11743,1,0,0,0,11745,11744,1,0,0,0,11746,1713,1,0,0,0,11747,11751,1,0,0,0,11748,11749,5,517,0,0,11749,11751,3,1716,858,0,11750,11747,1,0,0,0,11750,11748,1,0,0,0,11751,1715,1,0,0,0,11752,11754,3,1718,859,0,11753,11752,1,0,0,0,11754,11755,1,0,0,0,11755,11753,1,0,0,0,11755,11756,1,0,0,0,11756,1717,1,0,0,0,11757,11758,5,102,0,0,11758,11759,3,1720,860,0,11759,11760,5,93,0,0,11760,11761,3,1560,780,0,11761,1719,1,0,0,0,11762,11767,3,1722,861,0,11763,11764,5,82,0,0,11764,11766,3,1722,861,0,11765,11763,1,0,0,0,11766,11769,1,0,0,0,11767,11765,1,0,0,0,11767,11768,1,0,0,0,11768,1721,1,0,0,0,11769,11767,1,0,0,0,11770,11774,3,1732,866,0,11771,11772,5,511,0,0,11772,11774,3,1458,729,0,11773,11770,1,0,0,0,11773,11771,1,0,0,0,11774,1723,1,0,0,0,11775,11778,1,0,0,0,11776,11778,3,1524,762,0,11777,11775,1,0,0,0,11777,11776,1,0,0,0,11778,1725,1,0,0,0,11779,11782,1,0,0,0,11780,11782,3,1524,762,0,11781,11779,1,0,0,0,11781,11780,1,0,0,0,11782,1727,1,0,0,0,11783,11786,1,0,0,0,11784,11786,3,1732,866,0,11785,11783,1,0,0,0,11785,11784,1,0,0,0,11786,1729,1,0,0,0,11787,11788,5,102,0,0,11788,11789,3,1740,870,0,11789,1731,1,0,0,0,11790,11793,3,1474,737,0,11791,11793,3,1734,867,0,11792,11790,1,0,0,0,11792,11791,1,0,0,0,11793,1733,1,0,0,0,11794,11795,7,86,0,0,11795,1735,1,0,0,0,11796,11798,3,1384,692,0,11797,11796,1,0,0,0,11797,11798,1,0,0,0,11798,11800,1,0,0,0,11799,11801,3,1028,514,0,11800,11799,1,0,0,0,11800,11801,1,0,0,0,11801,11803,1,0,0,0,11802,11804,3,1102,551,0,11803,11802,1,0,0,0,11803,11804,1,0,0,0,11804,11806,1,0,0,0,11805,11807,3,1144,572,0,11806,11805,1,0,0,0,11806,11807,1,0,0,0,11807,11809,1,0,0,0,11808,11810,3,1072,536,0,11809,11808,1,0,0,0,11809,11810,1,0,0,0,11810,11812,1,0,0,0,11811,11813,3,1086,543,0,11812,11811,1,0,0,0,11812,11813,1,0,0,0,11813,11815,1,0,0,0,11814,11816,3,1288,644,0,11815,11814,1,0,0,0,11815,11816,1,0,0,0,11816,1737,1,0,0,0,11817,11818,3,1736,868,0,11818,1739,1,0,0,0,11819,11820,3,1736,868,0,11820,1741,1,0,0,0,11821,11822,3,1212,606,0,11822,1743,1,0,0,0,11823,11824,3,1212,606,0,11824,1745,1,0,0,0,11825,11827,3,6,3,0,11826,11828,3,1748,874,0,11827,11826,1,0,0,0,11827,11828,1,0,0,0,11828,1747,1,0,0,0,11829,11830,5,71,0,0,11830,11831,3,1030,515,0,11831,11832,3,1674,837,0,11832,1749,1,0,0,0,1282,1753,1762,1881,1885,1894,1903,1909,1915,1947,1959,1965,1973,1981,1987,1996,2002,2014,2020,2026,2033,2037,2042,2046,2059,2070,2076,2092,2095,2100,2106,2111,2120,2124,2136,2140,2143,2147,2158,2176,2183,2191,2196,2203,2209,2215,2222,2233,2237,2241,2245,2258,2262,2267,2272,2284,2293,2305,2310,2321,2327,2332,2342,2347,2354,2359,2364,2375,2381,2386,2394,2403,2418,2424,2430,2435,2442,2454,2462,2470,2488,2497,2511,2515,2530,2538,2548,2588,2591,2595,2599,2602,2607,2614,2623,2629,2633,2642,2650,2659,2668,2672,2679,2685,2689,2693,2698,2701,2705,2711,2718,2734,2748,2758,2760,2765,2769,2772,2778,2780,2808,2818,2831,2838,2843,2847,2853,2858,2861,2863,2868,2872,2876,2880,2884,2887,2891,2899,2903,2907,2916,2923,2928,2935,2940,2947,2952,2970,2975,2987,2992,3001,3008,3015,3019,3024,3028,3031,3034,3037,3040,3043,3048,3051,3054,3057,3060,3063,3069,3073,3076,3079,3082,3085,3087,3096,3111,3119,3125,3129,3134,3137,3140,3144,3148,3162,3167,3174,3179,3183,3186,3190,3193,3195,3202,3205,3209,3215,3218,3225,3234,3241,3246,3249,3252,3255,3259,3266,3271,3284,3294,3307,3310,3313,3320,3328,3331,3334,3341,3345,3351,3354,3357,3360,3372,3375,3378,3382,3400,3408,3424,3435,3450,3467,3469,3490,3495,3498,3502,3505,3511,3514,3516,3527,3536,3542,3545,3548,3562,3565,3568,3573,3581,3590,3594,3600,3604,3607,3610,3613,3616,3622,3626,3631,3637,3641,3644,3647,3650,3658,3662,3666,3670,3674,3679,3693,3702,3719,3724,3727,3729,3739,3746,3751,3754,3757,3764,3767,3769,3775,3784,3794,3799,3807,3811,3818,3828,3839,3947,3955,3958,3968,3973,3983,3994,4006,4019,4029,4041,4045,4048,4055,4063,4073,4075,4081,4086,4090,4095,4101,4108,4114,4116,4123,4131,4136,4147,4154,4158,4175,4178,4181,4184,4187,4195,4198,4201,4207,4215,4219,4231,4237,4240,4245,4249,4256,4267,4290,4310,4319,4322,4325,4335,4338,4347,4351,4354,4362,4368,4372,4383,4393,4401,4406,4418,4435,4439,4445,4452,4460,4474,4500,4507,4521,4532,4535,4548,4557,4582,4593,4635,4643,4649,4660,4666,4674,4685,4699,4708,4713,4724,4735,4743,4753,4760,4763,4769,4772,4787,4800,4829,4836,4851,4863,4867,4872,4876,4881,4885,4891,4895,4900,4904,4910,4914,4919,4923,4928,4932,4937,4941,4948,4952,4959,4963,4970,4974,4981,4985,4991,4995,5001,5005,5010,5014,5021,5025,5029,5033,5037,5042,5046,5051,5055,5060,5064,5069,5075,5080,5086,5091,5097,5102,5106,5111,5115,5121,5125,5130,5138,5144,5150,5156,5162,5169,5174,5178,5183,5187,5192,5198,5205,5210,5217,5227,5231,5237,5239,5246,5250,5255,5273,5288,5306,5315,5324,5328,5334,5341,5346,5353,5358,5361,5364,5368,5439,5535,5539,5544,5555,5566,5577,5588,5599,5611,5622,5633,5643,5650,5657,5663,5671,5676,5681,5686,5692,5699,5705,5711,5716,5722,5729,5734,5740,5747,5750,5763,5772,5784,5786,5804,5811,5821,5826,5830,5834,5838,5840,5900,5907,5913,5924,5927,5934,5937,5947,5950,5952,5971,5983,5992,6001,6013,6015,6021,6025,6028,6031,6036,6042,6045,6048,6051,6054,6070,6074,6077,6080,6083,6086,6091,6094,6096,6109,6121,6135,6139,6145,6155,6157,6162,6170,6180,6189,6197,6206,6208,6215,6224,6226,6233,6242,6244,6248,6257,6262,6268,6273,6277,6282,6300,6305,6320,6329,6340,6346,6383,6403,6410,6421,6435,6442,6450,6455,6462,6466,6471,6475,6480,6484,6486,6491,6495,6500,6504,6528,6535,6545,6557,6562,6575,6587,6599,6601,6607,6614,6659,6677,6681,6686,6689,6693,6698,6703,6706,6713,6730,6801,6832,6886,6896,6906,6917,6927,6938,6948,6953,6962,6967,6977,6982,6991,7004,7009,7121,7123,7132,7143,7154,7167,7179,7190,7197,7287,7340,7350,7361,7372,7386,7401,7412,7419,7473,7614,7620,7623,7633,7673,7683,7690,7713,7722,7731,7740,7773,7777,7787,7791,7801,7804,7808,7812,7820,7831,7843,7847,7850,7854,7857,7862,7866,7869,7875,7886,7889,7896,7900,7905,7908,7910,7924,7928,7933,7940,7947,7950,7955,7958,7967,7969,7974,7978,7990,7993,8e3,8004,8009,8019,8029,8032,8035,8037,8043,8050,8070,8090,8094,8099,8168,8173,8179,8192,8196,8200,8206,8208,8216,8226,8229,8232,8235,8238,8245,8248,8250,8254,8257,8264,8266,8273,8280,8284,8288,8297,8303,8307,8311,8316,8328,8335,8345,8358,8369,8376,8381,8385,8389,8394,8407,8412,8416,8420,8427,8430,8432,8440,8444,8447,8454,8457,8462,8468,8474,8478,8487,8496,8503,8506,8512,8517,8523,8529,8532,8535,8542,8546,8549,8564,8567,8574,8577,8584,8587,8590,8597,8609,8616,8618,8628,8646,8648,8656,8660,8670,8674,8678,8682,8684,8689,8693,8697,8699,8701,8705,8709,8712,8715,8718,8721,8723,8726,8729,8732,8735,8738,8741,8750,8752,8757,8761,8767,8771,8775,8784,8789,8793,8799,8802,8821,8829,8838,8842,8845,8849,8854,8860,8872,8887,8894,8897,8901,8905,8909,8911,8919,8928,8934,8936,8943,8947,8956,8960,8969,8978,8990,9018,9025,9029,9032,9037,9041,9044,9060,9071,9076,9079,9082,9086,9090,9094,9099,9103,9107,9109,9118,9123,9129,9133,9135,9142,9147,9153,9155,9159,9166,9173,9176,9182,9186,9195,9198,9202,9210,9216,9218,9221,9225,9228,9231,9235,9239,9245,9248,9257,9264,9266,9273,9281,9286,9289,9297,9306,9314,9316,9320,9327,9346,9355,9361,9380,9389,9395,9399,9404,9414,9421,9430,9433,9442,9444,9450,9454,9459,9469,9475,9477,9483,9487,9490,9503,9509,9513,9517,9520,9528,9532,9536,9544,9551,9558,9562,9568,9570,9579,9582,9592,9608,9614,9619,9626,9635,9642,9650,9658,9663,9667,9670,9676,9681,9697,9700,9702,9714,9716,9720,9728,9730,9734,9736,9744,9748,9757,9765,9771,9774,9783,9788,9795,9805,9831,9842,9844,9846,9854,9876,9885,9895,9898,9903,9908,9912,9915,9919,9922,9925,9928,9932,9946,9953,9960,9967,9985,9993,10005,10011,10024,10063,10065,10085,10095,10106,10118,10125,10137,10149,10155,10163,10180,10205,10215,10219,10222,10225,10228,10241,10246,10251,10253,10261,10270,10279,10284,10293,10298,10312,10322,10330,10344,10351,10359,10367,10375,10379,10386,10394,10401,10407,10416,10431,10442,10475,10484,10491,10495,10499,10506,10520,10525,10530,10534,10536,10539,10546,10551,10561,10569,10572,10579,10587,10595,10603,10611,10616,10620,10624,10628,10632,10636,10640,10647,10655,10660,10664,10668,10678,10684,10690,10694,10708,10714,10720,10732,10737,10745,10752,10757,10769,10777,10782,10792,10803,10810,10817,10828,10831,10833,10837,10840,10846,10852,10856,10862,10870,10874,10882,10939,10952,10975,10983,10987,10999,11001,11008,11017,11035,11043,11052,11059,11069,11075,11082,11087,11093,11097,11104,11134,11147,11156,11160,11176,11183,11196,11204,11224,11230,11242,11247,11257,11289,11294,11303,11308,11312,11317,11333,11338,11353,11356,11362,11366,11375,11383,11392,11398,11407,11409,11414,11425,11436,11457,11464,11471,11477,11480,11491,11498,11500,11509,11516,11522,11528,11532,11536,11549,11564,11566,11570,11576,11581,11585,11588,11591,11600,11603,11607,11611,11613,11616,11619,11627,11634,11641,11647,11649,11656,11661,11679,11681,11687,11695,11702,11713,11719,11725,11738,11741,11745,11750,11755,11767,11773,11777,11781,11785,11792,11797,11800,11803,11806,11809,11812,11815,11827],t.vocabulary=new Ue(t.literalNames,t.symbolicNames,[]),t.decisionsToDFA=t._ATN.decisionToState.map((s,e)=>new k0(s,e));class UT extends u{constructor(e,i){super(e,i)}EOF(){return this.getToken(t.EOF,0)}singleStmt(e){return e===void 0?this.getRuleContexts(pa):this.getRuleContext(e,pa)}get ruleIndex(){return t.RULE_program}enterRule(e){e.enterProgram&&e.enterProgram(this)}exitRule(e){e.exitProgram&&e.exitProgram(this)}accept(e){return e.visitProgram?e.visitProgram(this):e.visitChildren(this)}}class kT extends u{constructor(e,i){super(e,i)}pl_function(){return this.getRuleContext(0,pK)}get ruleIndex(){return t.RULE_plsqlroot}enterRule(e){e.enterPlsqlroot&&e.enterPlsqlroot(this)}exitRule(e){e.exitPlsqlroot&&e.exitPlsqlroot(this)}accept(e){return e.visitPlsqlroot?e.visitPlsqlroot(this):e.visitChildren(this)}}class pa extends u{constructor(e,i){super(e,i)}stmt(){return this.getRuleContext(0,Ah)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_singleStmt}enterRule(e){e.enterSingleStmt&&e.enterSingleStmt(this)}exitRule(e){e.exitSingleStmt&&e.exitSingleStmt(this)}accept(e){return e.visitSingleStmt?e.visitSingleStmt(this):e.visitChildren(this)}}class Ah extends u{constructor(e,i){super(e,i)}altereventtrigstmt(){return this.getRuleContext(0,k6)}altercollationstmt(){return this.getRuleContext(0,M_)}alterdatabasestmt(){return this.getRuleContext(0,U_)}alterdatabasesetstmt(){return this.getRuleContext(0,k_)}alterdefaultprivilegesstmt(){return this.getRuleContext(0,RE)}alterdomainstmt(){return this.getRuleContext(0,w_)}alterenumstmt(){return this.getRuleContext(0,G6)}alterextensionstmt(){return this.getRuleContext(0,vu)}alterextensioncontentsstmt(){return this.getRuleContext(0,Gu)}alterfdwstmt(){return this.getRuleContext(0,Vu)}alterforeignserverstmt(){return this.getRuleContext(0,$u)}alterfunctionstmt(){return this.getRuleContext(0,ME)}altergroupstmt(){return this.getRuleContext(0,c8)}alterobjectdependsstmt(){return this.getRuleContext(0,PE)}alterobjectschemastmt(){return this.getRuleContext(0,e_)}alterownerstmt(){return this.getRuleContext(0,h_)}alteroperatorstmt(){return this.getRuleContext(0,i_)}altertypestmt(){return this.getRuleContext(0,s_)}alterpolicystmt(){return this.getRuleContext(0,i6)}alterprocedurestmt(){return this.getRuleContext(0,n6)}alterseqstmt(){return this.getRuleContext(0,xu)}altersystemstmt(){return this.getRuleContext(0,y_)}altertablestmt(){return this.getRuleContext(0,N8)}altertblspcstmt(){return this.getRuleContext(0,gE)}altercompositetypestmt(){return this.getRuleContext(0,b8)}alterpublicationstmt(){return this.getRuleContext(0,E_)}alterrolesetstmt(){return this.getRuleContext(0,e8)}alterroutinestmt(){return this.getRuleContext(0,i8)}alterrolestmt(){return this.getRuleContext(0,P4)}altersubscriptionstmt(){return this.getRuleContext(0,W_)}alterstatsstmt(){return this.getRuleContext(0,du)}altertsconfigurationstmt(){return this.getRuleContext(0,v_)}altertsdictionarystmt(){return this.getRuleContext(0,b_)}alterusermappingstmt(){return this.getRuleContext(0,t6)}analyzestmt(){return this.getRuleContext(0,Q_)}callstmt(){return this.getRuleContext(0,$4)}checkpointstmt(){return this.getRuleContext(0,L8)}closeportalstmt(){return this.getRuleContext(0,F8)}clusterstmt(){return this.getRuleContext(0,B_)}commentstmt(){return this.getRuleContext(0,tE)}constraintssetstmt(){return this.getRuleContext(0,p8)}copystmt(){return this.getRuleContext(0,G8)}createamstmt(){return this.getRuleContext(0,_6)}createasstmt(){return this.getRuleContext(0,Ih)}createassertionstmt(){return this.getRuleContext(0,M6)}createcaststmt(){return this.getRuleContext(0,XE)}createconversionstmt(){return this.getRuleContext(0,G_)}createdomainstmt(){return this.getRuleContext(0,H_)}createextensionstmt(){return this.getRuleContext(0,wu)}createfdwstmt(){return this.getRuleContext(0,Bu)}createforeignserverstmt(){return this.getRuleContext(0,zu)}createforeigntablestmt(){return this.getRuleContext(0,Mh)}createfunctionstmt(){return this.getRuleContext(0,dE)}creategroupstmt(){return this.getRuleContext(0,h8)}creatematviewstmt(){return this.getRuleContext(0,fh)}createopclassstmt(){return this.getRuleContext(0,B6)}createopfamilystmt(){return this.getRuleContext(0,Q6)}createpublicationstmt(){return this.getRuleContext(0,c_)}alteropfamilystmt(){return this.getRuleContext(0,Z6)}createpolicystmt(){return this.getRuleContext(0,e6)}createplangstmt(){return this.getRuleContext(0,fu)}createschemastmt(){return this.getRuleContext(0,a8)}createseqstmt(){return this.getRuleContext(0,c2)}createstmt(){return this.getRuleContext(0,dh)}createsubscriptionstmt(){return this.getRuleContext(0,__)}createstatsstmt(){return this.getRuleContext(0,pu)}createtablespacestmt(){return this.getRuleContext(0,yu)}createtransformstmt(){return this.getRuleContext(0,ZE)}createtrigstmt(){return this.getRuleContext(0,r2)}createeventtrigstmt(){return this.getRuleContext(0,I6)}createrolestmt(){return this.getRuleContext(0,S4)}createuserstmt(){return this.getRuleContext(0,q4)}createusermappingstmt(){return this.getRuleContext(0,Pu)}createdbstmt(){return this.getRuleContext(0,R3)}deallocatestmt(){return this.getRuleContext(0,u9)}declarecursorstmt(){return this.getRuleContext(0,f3)}definestmt(){return this.getRuleContext(0,y6)}deletestmt(){return this.getRuleContext(0,r1)}discardstmt(){return this.getRuleContext(0,x8)}dostmt(){return this.getRuleContext(0,VE)}dropstmt(){return this.getRuleContext(0,J6)}executestmt(){return this.getRuleContext(0,L3)}explainstmt(){return this.getRuleContext(0,d3)}fetchstmt(){return this.getRuleContext(0,hE)}grantstmt(){return this.getRuleContext(0,M2)}grantrolestmt(){return this.getRuleContext(0,_E)}mergestmt(){return this.getRuleContext(0,wR)}importforeignschemastmt(){return this.getRuleContext(0,Su)}indexstmt(){return this.getRuleContext(0,B2)}insertstmt(){return this.getRuleContext(0,pi)}listenstmt(){return this.getRuleContext(0,r_)}refreshmatviewstmt(){return this.getRuleContext(0,h2)}loadstmt(){return this.getRuleContext(0,N_)}lockstmt(){return this.getRuleContext(0,T9)}notifystmt(){return this.getRuleContext(0,_3)}preparestmt(){return this.getRuleContext(0,h9)}reassignownedstmt(){return this.getRuleContext(0,j6)}reindexstmt(){return this.getRuleContext(0,jE)}removeaggrstmt(){return this.getRuleContext(0,vE)}removefuncstmt(){return this.getRuleContext(0,bE)}removeoperstmt(){return this.getRuleContext(0,FE)}renamestmt(){return this.getRuleContext(0,qE)}revokestmt(){return this.getRuleContext(0,uE)}revokerolestmt(){return this.getRuleContext(0,WE)}rulestmt(){return this.getRuleContext(0,K_)}seclabelstmt(){return this.getRuleContext(0,iE)}selectstmt(){return this.getRuleContext(0,Vt)}transactionstmt(){return this.getRuleContext(0,p_)}truncatestmt(){return this.getRuleContext(0,P6)}unlistenstmt(){return this.getRuleContext(0,C_)}updatestmt(){return this.getRuleContext(0,C1)}vacuumstmt(){return this.getRuleContext(0,X_)}variableresetstmt(){return this.getRuleContext(0,rh)}variablesetstmt(){return this.getRuleContext(0,E8)}variableshowstmt(){return this.getRuleContext(0,C8)}viewstmt(){return this.getRuleContext(0,Zh)}plsqlconsolecommand(){return this.getRuleContext(0,J4)}get ruleIndex(){return t.RULE_stmt}enterRule(e){e.enterStmt&&e.enterStmt(this)}exitRule(e){e.exitStmt&&e.exitStmt(this)}accept(e){return e.visitStmt?e.visitStmt(this):e.visitChildren(this)}}class J4 extends u{constructor(e,i){super(e,i)}MetaCommand(){return this.getToken(t.MetaCommand,0)}EndMetaCommand(){return this.getToken(t.EndMetaCommand,0)}get ruleIndex(){return t.RULE_plsqlconsolecommand}enterRule(e){e.enterPlsqlconsolecommand&&e.enterPlsqlconsolecommand(this)}exitRule(e){e.exitPlsqlconsolecommand&&e.exitPlsqlconsolecommand(this)}accept(e){return e.visitPlsqlconsolecommand?e.visitPlsqlconsolecommand(this):e.visitChildren(this)}}class $4 extends u{constructor(e,i){super(e,i)}KW_CALL(){return this.getToken(t.KW_CALL,0)}func_application(){return this.getRuleContext(0,Wc)}get ruleIndex(){return t.RULE_callstmt}enterRule(e){e.enterCallstmt&&e.enterCallstmt(this)}exitRule(e){e.exitCallstmt&&e.exitCallstmt(this)}accept(e){return e.visitCallstmt?e.visitCallstmt(this):e.visitChildren(this)}}class S4 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}roleid(){return this.getRuleContext(0,M1)}optrolelist(){return this.getRuleContext(0,Th)}opt_with(){return this.getRuleContext(0,Re)}get ruleIndex(){return t.RULE_createrolestmt}enterRule(e){e.enterCreaterolestmt&&e.enterCreaterolestmt(this)}exitRule(e){e.exitCreaterolestmt&&e.exitCreaterolestmt(this)}accept(e){return e.visitCreaterolestmt?e.visitCreaterolestmt(this):e.visitChildren(this)}}class Re extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}get ruleIndex(){return t.RULE_opt_with}enterRule(e){e.enterOpt_with&&e.enterOpt_with(this)}exitRule(e){e.exitOpt_with&&e.exitOpt_with(this)}accept(e){return e.visitOpt_with?e.visitOpt_with(this):e.visitChildren(this)}}class Th extends u{constructor(e,i){super(e,i)}createoptroleelem(e){return e===void 0?this.getRuleContexts(da):this.getRuleContext(e,da)}get ruleIndex(){return t.RULE_optrolelist}enterRule(e){e.enterOptrolelist&&e.enterOptrolelist(this)}exitRule(e){e.exitOptrolelist&&e.exitOptrolelist(this)}accept(e){return e.visitOptrolelist?e.visitOptrolelist(this):e.visitChildren(this)}}class g4 extends u{constructor(e,i){super(e,i)}alteroptroleelem(e){return e===void 0?this.getRuleContexts(lh):this.getRuleContext(e,lh)}get ruleIndex(){return t.RULE_alteroptrolelist}enterRule(e){e.enterAlteroptrolelist&&e.enterAlteroptrolelist(this)}exitRule(e){e.exitAlteroptrolelist&&e.exitAlteroptrolelist(this)}accept(e){return e.visitAlteroptrolelist?e.visitAlteroptrolelist(this):e.visitChildren(this)}}class lh extends u{constructor(e,i){super(e,i)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}sconst(){return this.getRuleContext(0,Y)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_ENCRYPTED(){return this.getToken(t.KW_ENCRYPTED,0)}KW_UNENCRYPTED(){return this.getToken(t.KW_UNENCRYPTED,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}KW_NOINHERIT(){return this.getToken(t.KW_NOINHERIT,0)}KW_CREATEUSER(){return this.getToken(t.KW_CREATEUSER,0)}KW_NOCREATEUSER(){return this.getToken(t.KW_NOCREATEUSER,0)}KW_CREATEROLE(){return this.getToken(t.KW_CREATEROLE,0)}KW_NOCREATEROLE(){return this.getToken(t.KW_NOCREATEROLE,0)}KW_CREATEDB(){return this.getToken(t.KW_CREATEDB,0)}KW_NOCREATEDB(){return this.getToken(t.KW_NOCREATEDB,0)}KW_SUPERUSER(){return this.getToken(t.KW_SUPERUSER,0)}KW_NOSUPERUSER(){return this.getToken(t.KW_NOSUPERUSER,0)}KW_LOGIN(){return this.getToken(t.KW_LOGIN,0)}KW_NOLOGIN(){return this.getToken(t.KW_NOLOGIN,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_NOREPLICATION(){return this.getToken(t.KW_NOREPLICATION,0)}KW_BYPASSRLS(){return this.getToken(t.KW_BYPASSRLS,0)}KW_NOBYPASSRLS(){return this.getToken(t.KW_NOBYPASSRLS,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}signediconst(){return this.getRuleContext(0,V0)}KW_VALID(){return this.getToken(t.KW_VALID,0)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}name_list(){return this.getRuleContext(0,mi)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}role_list(){return this.getRuleContext(0,ce)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_USER(){return this.getToken(t.KW_USER,0)}identifier(){return this.getRuleContext(0,It)}get ruleIndex(){return t.RULE_alteroptroleelem}enterRule(e){e.enterAlteroptroleelem&&e.enterAlteroptroleelem(this)}exitRule(e){e.exitAlteroptroleelem&&e.exitAlteroptroleelem(this)}accept(e){return e.visitAlteroptroleelem?e.visitAlteroptroleelem(this):e.visitChildren(this)}}class da extends u{constructor(e,i){super(e,i)}alteroptroleelem(){return this.getRuleContext(0,lh)}KW_SYSID(){return this.getToken(t.KW_SYSID,0)}iconst(){return this.getRuleContext(0,At)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}role_list(){return this.getRuleContext(0,ce)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}get ruleIndex(){return t.RULE_createoptroleelem}enterRule(e){e.enterCreateoptroleelem&&e.enterCreateoptroleelem(this)}exitRule(e){e.exitCreateoptroleelem&&e.exitCreateoptroleelem(this)}accept(e){return e.visitCreateoptroleelem?e.visitCreateoptroleelem(this):e.visitChildren(this)}}class q4 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}roleid(){return this.getRuleContext(0,M1)}optrolelist(){return this.getRuleContext(0,Th)}opt_with(){return this.getRuleContext(0,Re)}get ruleIndex(){return t.RULE_createuserstmt}enterRule(e){e.enterCreateuserstmt&&e.enterCreateuserstmt(this)}exitRule(e){e.exitCreateuserstmt&&e.exitCreateuserstmt(this)}accept(e){return e.visitCreateuserstmt?e.visitCreateuserstmt(this):e.visitChildren(this)}}class P4 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}rolespec(){return this.getRuleContext(0,rt)}alteroptrolelist(){return this.getRuleContext(0,g4)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}opt_with(){return this.getRuleContext(0,Re)}get ruleIndex(){return t.RULE_alterrolestmt}enterRule(e){e.enterAlterrolestmt&&e.enterAlterrolestmt(this)}exitRule(e){e.exitAlterrolestmt&&e.exitAlterrolestmt(this)}accept(e){return e.visitAlterrolestmt?e.visitAlterrolestmt(this):e.visitChildren(this)}}class t8 extends u{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}get ruleIndex(){return t.RULE_opt_in_database}enterRule(e){e.enterOpt_in_database&&e.enterOpt_in_database(this)}exitRule(e){e.exitOpt_in_database&&e.exitOpt_in_database(this)}accept(e){return e.visitOpt_in_database?e.visitOpt_in_database(this):e.visitChildren(this)}}class e8 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}opt_in_database(){return this.getRuleContext(0,t8)}setresetclause(){return this.getRuleContext(0,Ua)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_alterrolesetstmt}enterRule(e){e.enterAlterrolesetstmt&&e.enterAlterrolesetstmt(this)}exitRule(e){e.exitAlterrolesetstmt&&e.exitAlterrolesetstmt(this)}accept(e){return e.visitAlterrolesetstmt?e.visitAlterrolesetstmt(this):e.visitChildren(this)}}class i8 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_name(){return this.getRuleContext(0,Oc)}alter_routine_cluase(){return this.getRuleContext(0,n8)}func_args(){return this.getRuleContext(0,li)}get ruleIndex(){return t.RULE_alterroutinestmt}enterRule(e){e.enterAlterroutinestmt&&e.enterAlterroutinestmt(this)}exitRule(e){e.exitAlterroutinestmt&&e.exitAlterroutinestmt(this)}accept(e){return e.visitAlterroutinestmt?e.visitAlterroutinestmt(this):e.visitChildren(this)}}class n8 extends u{constructor(e,i){super(e,i)}routine_action_list(){return this.getRuleContext(0,s8)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}routine_name_create(){return this.getRuleContext(0,b5)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}rolespec(){return this.getRuleContext(0,rt)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_create(){return this.getRuleContext(0,_i)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(){return this.getRuleContext(0,D)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_alter_routine_cluase}enterRule(e){e.enterAlter_routine_cluase&&e.enterAlter_routine_cluase(this)}exitRule(e){e.exitAlter_routine_cluase&&e.exitAlter_routine_cluase(this)}accept(e){return e.visitAlter_routine_cluase?e.visitAlter_routine_cluase(this):e.visitChildren(this)}}class s8 extends u{constructor(e,i){super(e,i)}routine_action(e){return e===void 0?this.getRuleContexts(Oa):this.getRuleContext(e,Oa)}get ruleIndex(){return t.RULE_routine_action_list}enterRule(e){e.enterRoutine_action_list&&e.enterRoutine_action_list(this)}exitRule(e){e.exitRoutine_action_list&&e.exitRoutine_action_list(this)}accept(e){return e.visitRoutine_action_list?e.visitRoutine_action_list(this):e.visitChildren(this)}}class Oa extends u{constructor(e,i){super(e,i)}KW_IMMUTABLE(){return this.getToken(t.KW_IMMUTABLE,0)}KW_STABLE(){return this.getToken(t.KW_STABLE,0)}KW_VOLATILE(){return this.getToken(t.KW_VOLATILE,0)}KW_LEAKPROOF(){return this.getToken(t.KW_LEAKPROOF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_PARALLEL(){return this.getToken(t.KW_PARALLEL,0)}KW_UNSAFE(){return this.getToken(t.KW_UNSAFE,0)}KW_RESTRICTED(){return this.getToken(t.KW_RESTRICTED,0)}KW_SAFE(){return this.getToken(t.KW_SAFE,0)}KW_COST(){return this.getToken(t.KW_COST,0)}attr_name(){return this.getRuleContext(0,k1)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TO(){return this.getToken(t.KW_TO,0)}EQUAL(){return this.getToken(t.EQUAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_routine_action}enterRule(e){e.enterRoutine_action&&e.enterRoutine_action(this)}exitRule(e){e.exitRoutine_action&&e.exitRoutine_action(this)}accept(e){return e.visitRoutine_action?e.visitRoutine_action(this):e.visitChildren(this)}}class h8 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}groupname(){return this.getRuleContext(0,TK)}optrolelist(){return this.getRuleContext(0,Th)}opt_with(){return this.getRuleContext(0,Re)}get ruleIndex(){return t.RULE_creategroupstmt}enterRule(e){e.enterCreategroupstmt&&e.enterCreategroupstmt(this)}exitRule(e){e.exitCreategroupstmt&&e.exitCreategroupstmt(this)}accept(e){return e.visitCreategroupstmt?e.visitCreategroupstmt(this):e.visitChildren(this)}}class c8 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}rolespec(){return this.getRuleContext(0,rt)}add_drop(){return this.getRuleContext(0,La)}KW_USER(){return this.getToken(t.KW_USER,0)}role_list(){return this.getRuleContext(0,ce)}get ruleIndex(){return t.RULE_altergroupstmt}enterRule(e){e.enterAltergroupstmt&&e.enterAltergroupstmt(this)}exitRule(e){e.exitAltergroupstmt&&e.exitAltergroupstmt(this)}accept(e){return e.visitAltergroupstmt?e.visitAltergroupstmt(this):e.visitChildren(this)}}class La extends u{constructor(e,i){super(e,i)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_add_drop}enterRule(e){e.enterAdd_drop&&e.enterAdd_drop(this)}exitRule(e){e.exitAdd_drop&&e.exitAdd_drop(this)}accept(e){return e.visitAdd_drop?e.visitAdd_drop(this):e.visitChildren(this)}}class a8 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}optschemaeltlist(){return this.getRuleContext(0,u8)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}rolespec(){return this.getRuleContext(0,rt)}schema_name_create(){return this.getRuleContext(0,_i)}opt_if_not_exists(){return this.getRuleContext(0,ft)}get ruleIndex(){return t.RULE_createschemastmt}enterRule(e){e.enterCreateschemastmt&&e.enterCreateschemastmt(this)}exitRule(e){e.exitCreateschemastmt&&e.exitCreateschemastmt(this)}accept(e){return e.visitCreateschemastmt?e.visitCreateschemastmt(this):e.visitChildren(this)}}class _i extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_schema_name_create}copyFrom(e){super.copyFrom(e)}}class DT extends _i{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}enterRule(e){e.enterSchemaNameCreate&&e.enterSchemaNameCreate(this)}exitRule(e){e.exitSchemaNameCreate&&e.exitSchemaNameCreate(this)}accept(e){return e.visitSchemaNameCreate?e.visitSchemaNameCreate(this):e.visitChildren(this)}}class u8 extends u{constructor(e,i){super(e,i)}schema_stmt(e){return e===void 0?this.getRuleContexts(xa):this.getRuleContext(e,xa)}get ruleIndex(){return t.RULE_optschemaeltlist}enterRule(e){e.enterOptschemaeltlist&&e.enterOptschemaeltlist(this)}exitRule(e){e.exitOptschemaeltlist&&e.exitOptschemaeltlist(this)}accept(e){return e.visitOptschemaeltlist?e.visitOptschemaeltlist(this):e.visitChildren(this)}}class xa extends u{constructor(e,i){super(e,i)}createstmt(){return this.getRuleContext(0,dh)}indexstmt(){return this.getRuleContext(0,B2)}createseqstmt(){return this.getRuleContext(0,c2)}createtrigstmt(){return this.getRuleContext(0,r2)}grantstmt(){return this.getRuleContext(0,M2)}viewstmt(){return this.getRuleContext(0,Zh)}get ruleIndex(){return t.RULE_schema_stmt}enterRule(e){e.enterSchema_stmt&&e.enterSchema_stmt(this)}exitRule(e){e.exitSchema_stmt&&e.exitSchema_stmt(this)}accept(e){return e.visitSchema_stmt?e.visitSchema_stmt(this):e.visitChildren(this)}}class E8 extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest(){return this.getRuleContext(0,Na)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}get ruleIndex(){return t.RULE_variablesetstmt}enterRule(e){e.enterVariablesetstmt&&e.enterVariablesetstmt(this)}exitRule(e){e.exitVariablesetstmt&&e.exitVariablesetstmt(this)}accept(e){return e.visitVariablesetstmt?e.visitVariablesetstmt(this):e.visitChildren(this)}}class Na extends u{constructor(e,i){super(e,i)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}transaction_mode_list(){return this.getRuleContext(0,K3)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_CHARACTERISTICS(){return this.getToken(t.KW_CHARACTERISTICS,0)}KW_AS(){return this.getToken(t.KW_AS,0)}set_rest_more(){return this.getRuleContext(0,Ia)}get ruleIndex(){return t.RULE_set_rest}enterRule(e){e.enterSet_rest&&e.enterSet_rest(this)}exitRule(e){e.exitSet_rest&&e.exitSet_rest(this)}accept(e){return e.visitSet_rest?e.visitSet_rest(this):e.visitChildren(this)}}class ma extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}var_name(){return this.getRuleContext(0,a1)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}var_list(){return this.getRuleContext(0,_8)}KW_TO(){return this.getToken(t.KW_TO,0)}EQUAL(){return this.getToken(t.EQUAL,0)}get ruleIndex(){return t.RULE_generic_set}enterRule(e){e.enterGeneric_set&&e.enterGeneric_set(this)}exitRule(e){e.exitGeneric_set&&e.exitGeneric_set(this)}accept(e){return e.visitGeneric_set?e.visitGeneric_set(this):e.visitChildren(this)}}class Ia extends u{constructor(e,i){super(e,i)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}zone_value(){return this.getRuleContext(0,R8)}KW_CATALOG(){return this.getToken(t.KW_CATALOG,0)}sconst(){return this.getRuleContext(0,Y)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}opt_encoding(){return this.getRuleContext(0,o8)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}document_or_content(){return this.getRuleContext(0,d5)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}var_name(){return this.getRuleContext(0,a1)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}generic_set(){return this.getRuleContext(0,ma)}get ruleIndex(){return t.RULE_set_rest_more}enterRule(e){e.enterSet_rest_more&&e.enterSet_rest_more(this)}exitRule(e){e.exitSet_rest_more&&e.exitSet_rest_more(this)}accept(e){return e.visitSet_rest_more?e.visitSet_rest_more(this):e.visitChildren(this)}}class a1 extends u{constructor(e,i){super(e,i)}colid(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}get ruleIndex(){return t.RULE_var_name}enterRule(e){e.enterVar_name&&e.enterVar_name(this)}exitRule(e){e.exitVar_name&&e.exitVar_name(this)}accept(e){return e.visitVar_name?e.visitVar_name(this):e.visitChildren(this)}}class _8 extends u{constructor(e,i){super(e,i)}var_value(e){return e===void 0?this.getRuleContexts(fa):this.getRuleContext(e,fa)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_var_list}enterRule(e){e.enterVar_list&&e.enterVar_list(this)}exitRule(e){e.exitVar_list&&e.exitVar_list(this)}accept(e){return e.visitVar_list?e.visitVar_list(this):e.visitChildren(this)}}class fa extends u{constructor(e,i){super(e,i)}opt_boolean_or_string(){return this.getRuleContext(0,Wi)}numericonly(){return this.getRuleContext(0,Ot)}get ruleIndex(){return t.RULE_var_value}enterRule(e){e.enterVar_value&&e.enterVar_value(this)}exitRule(e){e.exitVar_value&&e.exitVar_value(this)}accept(e){return e.visitVar_value?e.visitVar_value(this):e.visitChildren(this)}}class W8 extends u{constructor(e,i){super(e,i)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}get ruleIndex(){return t.RULE_iso_level}enterRule(e){e.enterIso_level&&e.enterIso_level(this)}exitRule(e){e.exitIso_level&&e.exitIso_level(this)}accept(e){return e.visitIso_level?e.visitIso_level(this):e.visitChildren(this)}}class K8 extends u{constructor(e,i){super(e,i)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_ON(){return this.getToken(t.KW_ON,0)}nonreservedword_or_sconst_column(){return this.getRuleContext(0,A8)}get ruleIndex(){return t.RULE_opt_boolean_or_string_column}enterRule(e){e.enterOpt_boolean_or_string_column&&e.enterOpt_boolean_or_string_column(this)}exitRule(e){e.exitOpt_boolean_or_string_column&&e.exitOpt_boolean_or_string_column(this)}accept(e){return e.visitOpt_boolean_or_string_column?e.visitOpt_boolean_or_string_column(this):e.visitChildren(this)}}class Wi extends u{constructor(e,i){super(e,i)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_ON(){return this.getToken(t.KW_ON,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}get ruleIndex(){return t.RULE_opt_boolean_or_string}enterRule(e){e.enterOpt_boolean_or_string&&e.enterOpt_boolean_or_string(this)}exitRule(e){e.exitOpt_boolean_or_string&&e.exitOpt_boolean_or_string(this)}accept(e){return e.visitOpt_boolean_or_string?e.visitOpt_boolean_or_string(this):e.visitChildren(this)}}class R8 extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}identifier(){return this.getRuleContext(0,It)}constinterval(){return this.getRuleContext(0,Ec)}opt_interval(){return this.getRuleContext(0,_c)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}numericonly(){return this.getRuleContext(0,Ot)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_zone_value}enterRule(e){e.enterZone_value&&e.enterZone_value(this)}exitRule(e){e.exitZone_value&&e.exitZone_value(this)}accept(e){return e.visitZone_value?e.visitZone_value(this):e.visitChildren(this)}}class o8 extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_opt_encoding}enterRule(e){e.enterOpt_encoding&&e.enterOpt_encoding(this)}exitRule(e){e.exitOpt_encoding&&e.exitOpt_encoding(this)}accept(e){return e.visitOpt_encoding?e.visitOpt_encoding(this):e.visitChildren(this)}}class A8 extends u{constructor(e,i){super(e,i)}nonreservedword_column(){return this.getRuleContext(0,rK)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_nonreservedword_or_sconst_column}enterRule(e){e.enterNonreservedword_or_sconst_column&&e.enterNonreservedword_or_sconst_column(this)}exitRule(e){e.exitNonreservedword_or_sconst_column&&e.exitNonreservedword_or_sconst_column(this)}accept(e){return e.visitNonreservedword_or_sconst_column?e.visitNonreservedword_or_sconst_column(this):e.visitChildren(this)}}class n0 extends u{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,Ii)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_nonreservedword_or_sconst}enterRule(e){e.enterNonreservedword_or_sconst&&e.enterNonreservedword_or_sconst(this)}exitRule(e){e.exitNonreservedword_or_sconst&&e.exitNonreservedword_or_sconst(this)}accept(e){return e.visitNonreservedword_or_sconst?e.visitNonreservedword_or_sconst(this):e.visitChildren(this)}}class rh extends u{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}reset_rest(){return this.getRuleContext(0,T8)}get ruleIndex(){return t.RULE_variableresetstmt}enterRule(e){e.enterVariableresetstmt&&e.enterVariableresetstmt(this)}exitRule(e){e.exitVariableresetstmt&&e.exitVariableresetstmt(this)}accept(e){return e.visitVariableresetstmt?e.visitVariableresetstmt(this):e.visitChildren(this)}}class T8 extends u{constructor(e,i){super(e,i)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}generic_reset(){return this.getRuleContext(0,l8)}get ruleIndex(){return t.RULE_reset_rest}enterRule(e){e.enterReset_rest&&e.enterReset_rest(this)}exitRule(e){e.exitReset_rest&&e.exitReset_rest(this)}accept(e){return e.visitReset_rest?e.visitReset_rest(this):e.visitChildren(this)}}class l8 extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}var_name(){return this.getRuleContext(0,a1)}get ruleIndex(){return t.RULE_generic_reset}enterRule(e){e.enterGeneric_reset&&e.enterGeneric_reset(this)}exitRule(e){e.exitGeneric_reset&&e.exitGeneric_reset(this)}accept(e){return e.visitGeneric_reset?e.visitGeneric_reset(this):e.visitChildren(this)}}class Ua extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest(){return this.getRuleContext(0,Na)}variableresetstmt(){return this.getRuleContext(0,rh)}get ruleIndex(){return t.RULE_setresetclause}enterRule(e){e.enterSetresetclause&&e.enterSetresetclause(this)}exitRule(e){e.exitSetresetclause&&e.exitSetresetclause(this)}accept(e){return e.visitSetresetclause?e.visitSetresetclause(this):e.visitChildren(this)}}class r8 extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest_more(){return this.getRuleContext(0,Ia)}variableresetstmt(){return this.getRuleContext(0,rh)}get ruleIndex(){return t.RULE_functionsetresetclause}enterRule(e){e.enterFunctionsetresetclause&&e.enterFunctionsetresetclause(this)}exitRule(e){e.exitFunctionsetresetclause&&e.exitFunctionsetresetclause(this)}accept(e){return e.visitFunctionsetresetclause?e.visitFunctionsetresetclause(this):e.visitChildren(this)}}class C8 extends u{constructor(e,i){super(e,i)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}var_name(){return this.getRuleContext(0,a1)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_variableshowstmt}enterRule(e){e.enterVariableshowstmt&&e.enterVariableshowstmt(this)}exitRule(e){e.exitVariableshowstmt&&e.exitVariableshowstmt(this)}accept(e){return e.visitVariableshowstmt?e.visitVariableshowstmt(this):e.visitChildren(this)}}class p8 extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CONSTRAINTS(){return this.getToken(t.KW_CONSTRAINTS,0)}constraints_set_list(){return this.getRuleContext(0,d8)}constraints_set_mode(){return this.getRuleContext(0,O8)}get ruleIndex(){return t.RULE_constraintssetstmt}enterRule(e){e.enterConstraintssetstmt&&e.enterConstraintssetstmt(this)}exitRule(e){e.exitConstraintssetstmt&&e.exitConstraintssetstmt(this)}accept(e){return e.visitConstraintssetstmt?e.visitConstraintssetstmt(this):e.visitChildren(this)}}class d8 extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}qualified_name_list(){return this.getRuleContext(0,I1)}get ruleIndex(){return t.RULE_constraints_set_list}enterRule(e){e.enterConstraints_set_list&&e.enterConstraints_set_list(this)}exitRule(e){e.exitConstraints_set_list&&e.exitConstraints_set_list(this)}accept(e){return e.visitConstraints_set_list?e.visitConstraints_set_list(this):e.visitChildren(this)}}class O8 extends u{constructor(e,i){super(e,i)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}get ruleIndex(){return t.RULE_constraints_set_mode}enterRule(e){e.enterConstraints_set_mode&&e.enterConstraints_set_mode(this)}exitRule(e){e.exitConstraints_set_mode&&e.exitConstraints_set_mode(this)}accept(e){return e.visitConstraints_set_mode?e.visitConstraints_set_mode(this):e.visitChildren(this)}}class L8 extends u{constructor(e,i){super(e,i)}KW_CHECKPOINT(){return this.getToken(t.KW_CHECKPOINT,0)}get ruleIndex(){return t.RULE_checkpointstmt}enterRule(e){e.enterCheckpointstmt&&e.enterCheckpointstmt(this)}exitRule(e){e.exitCheckpointstmt&&e.exitCheckpointstmt(this)}accept(e){return e.visitCheckpointstmt?e.visitCheckpointstmt(this):e.visitChildren(this)}}class x8 extends u{constructor(e,i){super(e,i)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_PLANS(){return this.getToken(t.KW_PLANS,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}get ruleIndex(){return t.RULE_discardstmt}enterRule(e){e.enterDiscardstmt&&e.enterDiscardstmt(this)}exitRule(e){e.exitDiscardstmt&&e.exitDiscardstmt(this)}accept(e){return e.visitDiscardstmt?e.visitDiscardstmt(this):e.visitChildren(this)}}class N8 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}alter_table_cmds(){return this.getRuleContext(0,m8)}partition_cmd(){return this.getRuleContext(0,U8)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_TABLESPACE(e){return e===void 0?this.getTokens(t.KW_TABLESPACE):this.getToken(t.KW_TABLESPACE,e)}tablespace_name(e){return e===void 0?this.getRuleContexts(jt):this.getRuleContext(e,jt)}KW_SET(){return this.getToken(t.KW_SET,0)}tablespace_name_create(){return this.getRuleContext(0,Ni)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}role_list(){return this.getRuleContext(0,ce)}opt_nowait(){return this.getRuleContext(0,N3)}table_name(){return this.getRuleContext(0,Lt)}KW_ATTACH(){return this.getToken(t.KW_ATTACH,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,ot)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}partition_bound_spec(){return this.getRuleContext(0,I8)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DETACH(){return this.getToken(t.KW_DETACH,0)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}KW_FINALIZE(){return this.getToken(t.KW_FINALIZE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}index_partition_cmd(){return this.getRuleContext(0,k8)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,le)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}get ruleIndex(){return t.RULE_altertablestmt}enterRule(e){e.enterAltertablestmt&&e.enterAltertablestmt(this)}exitRule(e){e.exitAltertablestmt&&e.exitAltertablestmt(this)}accept(e){return e.visitAltertablestmt?e.visitAltertablestmt(this):e.visitChildren(this)}}class m8 extends u{constructor(e,i){super(e,i)}alter_table_cmd(e){return e===void 0?this.getRuleContexts(Ma):this.getRuleContext(e,Ma)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alter_table_cmds}enterRule(e){e.enterAlter_table_cmds&&e.enterAlter_table_cmds(this)}exitRule(e){e.exitAlter_table_cmds&&e.exitAlter_table_cmds(this)}accept(e){return e.visitAlter_table_cmds?e.visitAlter_table_cmds(this):e.visitChildren(this)}}class I8 extends u{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}opt_type_modifiers(){return this.getRuleContext(0,x1)}KW_FROM(){return this.getToken(t.KW_FROM,0)}partition_bound_cluase(e){return e===void 0?this.getRuleContexts(ka):this.getRuleContext(e,ka)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}partition_with_cluase(){return this.getRuleContext(0,f8)}get ruleIndex(){return t.RULE_partition_bound_spec}enterRule(e){e.enterPartition_bound_spec&&e.enterPartition_bound_spec(this)}exitRule(e){e.exitPartition_bound_spec&&e.exitPartition_bound_spec(this)}accept(e){return e.visitPartition_bound_spec?e.visitPartition_bound_spec(this):e.visitChildren(this)}}class ka extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}partition_bound_choose(e){return e===void 0?this.getRuleContexts(Da):this.getRuleContext(e,Da)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partition_bound_cluase}enterRule(e){e.enterPartition_bound_cluase&&e.enterPartition_bound_cluase(this)}exitRule(e){e.exitPartition_bound_cluase&&e.exitPartition_bound_cluase(this)}accept(e){return e.visitPartition_bound_cluase?e.visitPartition_bound_cluase(this):e.visitChildren(this)}}class Da extends u{constructor(e,i){super(e,i)}opt_type_modifiers(){return this.getRuleContext(0,x1)}KW_MINVALUE(){return this.getToken(t.KW_MINVALUE,0)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}get ruleIndex(){return t.RULE_partition_bound_choose}enterRule(e){e.enterPartition_bound_choose&&e.enterPartition_bound_choose(this)}exitRule(e){e.exitPartition_bound_choose&&e.exitPartition_bound_choose(this)}accept(e){return e.visitPartition_bound_choose?e.visitPartition_bound_choose(this):e.visitChildren(this)}}class f8 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_MODULUS(){return this.getToken(t.KW_MODULUS,0)}numericonly(e){return e===void 0?this.getRuleContexts(Ot):this.getRuleContext(e,Ot)}COMMA(){return this.getToken(t.COMMA,0)}KW_REMAINDER(){return this.getToken(t.KW_REMAINDER,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_partition_with_cluase}enterRule(e){e.enterPartition_with_cluase&&e.enterPartition_with_cluase(this)}exitRule(e){e.exitPartition_with_cluase&&e.exitPartition_with_cluase(this)}accept(e){return e.visitPartition_with_cluase?e.visitPartition_with_cluase(this):e.visitChildren(this)}}class U8 extends u{constructor(e,i){super(e,i)}KW_ATTACH(){return this.getToken(t.KW_ATTACH,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,ot)}partitionboundspec(){return this.getRuleContext(0,ph)}KW_DETACH(){return this.getToken(t.KW_DETACH,0)}get ruleIndex(){return t.RULE_partition_cmd}enterRule(e){e.enterPartition_cmd&&e.enterPartition_cmd(this)}exitRule(e){e.exitPartition_cmd&&e.exitPartition_cmd(this)}accept(e){return e.visitPartition_cmd?e.visitPartition_cmd(this):e.visitChildren(this)}}class k8 extends u{constructor(e,i){super(e,i)}KW_ATTACH(){return this.getToken(t.KW_ATTACH,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,ot)}get ruleIndex(){return t.RULE_index_partition_cmd}enterRule(e){e.enterIndex_partition_cmd&&e.enterIndex_partition_cmd(this)}exitRule(e){e.exitIndex_partition_cmd&&e.exitIndex_partition_cmd(this)}accept(e){return e.visitIndex_partition_cmd?e.visitIndex_partition_cmd(this):e.visitChildren(this)}}class Ma extends u{constructor(e,i){super(e,i)}KW_ADD(){return this.getToken(t.KW_ADD,0)}constraintelem(){return this.getRuleContext(0,$a)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}name(){return this.getRuleContext(0,D)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}constraintattributespec(){return this.getRuleContext(0,o1)}KW_VALIDATE(){return this.getToken(t.KW_VALIDATE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_OIDS(){return this.getToken(t.KW_OIDS,0)}KW_CLUSTER(){return this.getToken(t.KW_CLUSTER,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_LOGGED(){return this.getToken(t.KW_LOGGED,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}qualified_name(){return this.getRuleContext(0,ot)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_OF(){return this.getToken(t.KW_OF,0)}any_name(){return this.getRuleContext(0,B)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,rt)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_create(){return this.getRuleContext(0,Ni)}reloptions(){return this.getRuleContext(0,H0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}replica_identity(){return this.getRuleContext(0,M8)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}column_name(){return this.getRuleContext(0,Wt)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}column_def(){return this.getRuleContext(0,Za)}opt_if_not_exists(){return this.getRuleContext(0,ft)}alter_column_default(){return this.getRuleContext(0,ya)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_EXPRESSION(){return this.getToken(t.KW_EXPRESSION,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}signediconst(){return this.getRuleContext(0,V0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}colid(){return this.getRuleContext(0,H)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}generated_when(){return this.getRuleContext(0,Lh)}KW_AS(){return this.getToken(t.KW_AS,0)}optparenthesizedseqoptlist(){return this.getRuleContext(0,a2)}alter_identity_column_option_list(){return this.getRuleContext(0,H8)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,j)}opt_set_data(){return this.getRuleContext(0,n3)}opt_collate_clause(){return this.getRuleContext(0,Ch)}alter_using(){return this.getRuleContext(0,D8)}alter_generic_options(){return this.getRuleContext(0,R1)}get ruleIndex(){return t.RULE_alter_table_cmd}enterRule(e){e.enterAlter_table_cmd&&e.enterAlter_table_cmd(this)}exitRule(e){e.exitAlter_table_cmd&&e.exitAlter_table_cmd(this)}accept(e){return e.visitAlter_table_cmd?e.visitAlter_table_cmd(this):e.visitChildren(this)}}class ya extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}a_expr(){return this.getRuleContext(0,U)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_alter_column_default}enterRule(e){e.enterAlter_column_default&&e.enterAlter_column_default(this)}exitRule(e){e.exitAlter_column_default&&e.exitAlter_column_default(this)}accept(e){return e.visitAlter_column_default?e.visitAlter_column_default(this):e.visitChildren(this)}}class gt extends u{constructor(e,i){super(e,i)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}get ruleIndex(){return t.RULE_opt_drop_behavior}enterRule(e){e.enterOpt_drop_behavior&&e.enterOpt_drop_behavior(this)}exitRule(e){e.exitOpt_drop_behavior&&e.exitOpt_drop_behavior(this)}accept(e){return e.visitOpt_drop_behavior?e.visitOpt_drop_behavior(this):e.visitChildren(this)}}class Ch extends u{constructor(e,i){super(e,i)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_opt_collate_clause}enterRule(e){e.enterOpt_collate_clause&&e.enterOpt_collate_clause(this)}exitRule(e){e.exitOpt_collate_clause&&e.exitOpt_collate_clause(this)}accept(e){return e.visitOpt_collate_clause?e.visitOpt_collate_clause(this):e.visitChildren(this)}}class D8 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_alter_using}enterRule(e){e.enterAlter_using&&e.enterAlter_using(this)}exitRule(e){e.exitAlter_using&&e.exitAlter_using(this)}accept(e){return e.visitAlter_using?e.visitAlter_using(this):e.visitChildren(this)}}class M8 extends u{constructor(e,i){super(e,i)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_replica_identity}enterRule(e){e.enterReplica_identity&&e.enterReplica_identity(this)}exitRule(e){e.exitReplica_identity&&e.exitReplica_identity(this)}accept(e){return e.visitReplica_identity?e.visitReplica_identity(this):e.visitChildren(this)}}class H0 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}reloption_list(){return this.getRuleContext(0,y8)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_reloptions}enterRule(e){e.enterReloptions&&e.enterReloptions(this)}exitRule(e){e.exitReloptions&&e.exitReloptions(this)}accept(e){return e.visitReloptions?e.visitReloptions(this):e.visitChildren(this)}}class u1 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}reloptions(){return this.getRuleContext(0,H0)}get ruleIndex(){return t.RULE_opt_reloptions}enterRule(e){e.enterOpt_reloptions&&e.enterOpt_reloptions(this)}exitRule(e){e.exitOpt_reloptions&&e.exitOpt_reloptions(this)}accept(e){return e.visitOpt_reloptions?e.visitOpt_reloptions(this):e.visitChildren(this)}}class y8 extends u{constructor(e,i){super(e,i)}reloption_elem(e){return e===void 0?this.getRuleContexts(Ha):this.getRuleContext(e,Ha)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_reloption_list}enterRule(e){e.enterReloption_list&&e.enterReloption_list(this)}exitRule(e){e.exitReloption_list&&e.exitReloption_list(this)}accept(e){return e.visitReloption_list?e.visitReloption_list(this):e.visitChildren(this)}}class Ha extends u{constructor(e,i){super(e,i)}collabel(e){return e===void 0?this.getRuleContexts(Yt):this.getRuleContext(e,Yt)}EQUAL(){return this.getToken(t.EQUAL,0)}def_arg(){return this.getRuleContext(0,Hh)}DOT(){return this.getToken(t.DOT,0)}get ruleIndex(){return t.RULE_reloption_elem}enterRule(e){e.enterReloption_elem&&e.enterReloption_elem(this)}exitRule(e){e.exitReloption_elem&&e.exitReloption_elem(this)}accept(e){return e.visitReloption_elem?e.visitReloption_elem(this):e.visitChildren(this)}}class H8 extends u{constructor(e,i){super(e,i)}alter_identity_column_option(e){return e===void 0?this.getRuleContexts(wa):this.getRuleContext(e,wa)}get ruleIndex(){return t.RULE_alter_identity_column_option_list}enterRule(e){e.enterAlter_identity_column_option_list&&e.enterAlter_identity_column_option_list(this)}exitRule(e){e.exitAlter_identity_column_option_list&&e.exitAlter_identity_column_option_list(this)}accept(e){return e.visitAlter_identity_column_option_list?e.visitAlter_identity_column_option_list(this):e.visitChildren(this)}}class wa extends u{constructor(e,i){super(e,i)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}numericonly(){return this.getRuleContext(0,Ot)}opt_with(){return this.getRuleContext(0,Re)}KW_SET(){return this.getToken(t.KW_SET,0)}seqoptelem(){return this.getRuleContext(0,kh)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}generated_when(){return this.getRuleContext(0,Lh)}get ruleIndex(){return t.RULE_alter_identity_column_option}enterRule(e){e.enterAlter_identity_column_option&&e.enterAlter_identity_column_option(this)}exitRule(e){e.exitAlter_identity_column_option&&e.exitAlter_identity_column_option(this)}accept(e){return e.visitAlter_identity_column_option?e.visitAlter_identity_column_option(this):e.visitChildren(this)}}class ph extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}hash_partbound(){return this.getRuleContext(0,w8)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}KW_IN(){return this.getToken(t.KW_IN,0)}expr_list(e){return e===void 0?this.getRuleContexts(ht):this.getRuleContext(e,ht)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_partitionboundspec}enterRule(e){e.enterPartitionboundspec&&e.enterPartitionboundspec(this)}exitRule(e){e.exitPartitionboundspec&&e.exitPartitionboundspec(this)}accept(e){return e.visitPartitionboundspec?e.visitPartitionboundspec(this):e.visitChildren(this)}}class ba extends u{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,Ii)}iconst(){return this.getRuleContext(0,At)}get ruleIndex(){return t.RULE_hash_partbound_elem}enterRule(e){e.enterHash_partbound_elem&&e.enterHash_partbound_elem(this)}exitRule(e){e.exitHash_partbound_elem&&e.exitHash_partbound_elem(this)}accept(e){return e.visitHash_partbound_elem?e.visitHash_partbound_elem(this):e.visitChildren(this)}}class w8 extends u{constructor(e,i){super(e,i)}hash_partbound_elem(e){return e===void 0?this.getRuleContexts(ba):this.getRuleContext(e,ba)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_hash_partbound}enterRule(e){e.enterHash_partbound&&e.enterHash_partbound(this)}exitRule(e){e.exitHash_partbound&&e.exitHash_partbound(this)}accept(e){return e.visitHash_partbound?e.visitHash_partbound(this):e.visitChildren(this)}}class b8 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(){return this.getRuleContext(0,B)}alter_type_cmds(){return this.getRuleContext(0,v8)}get ruleIndex(){return t.RULE_altercompositetypestmt}enterRule(e){e.enterAltercompositetypestmt&&e.enterAltercompositetypestmt(this)}exitRule(e){e.exitAltercompositetypestmt&&e.exitAltercompositetypestmt(this)}accept(e){return e.visitAltercompositetypestmt?e.visitAltercompositetypestmt(this):e.visitChildren(this)}}class v8 extends u{constructor(e,i){super(e,i)}alter_type_cmd(e){return e===void 0?this.getRuleContexts(va):this.getRuleContext(e,va)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alter_type_cmds}enterRule(e){e.enterAlter_type_cmds&&e.enterAlter_type_cmds(this)}exitRule(e){e.exitAlter_type_cmds&&e.exitAlter_type_cmds(this)}accept(e){return e.visitAlter_type_cmds?e.visitAlter_type_cmds(this):e.visitChildren(this)}}class va extends u{constructor(e,i){super(e,i)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}tablefuncelement(){return this.getRuleContext(0,hc)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_DROP(){return this.getToken(t.KW_DROP,0)}colid(){return this.getRuleContext(0,H)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,j)}opt_set_data(){return this.getRuleContext(0,n3)}opt_collate_clause(){return this.getRuleContext(0,Ch)}get ruleIndex(){return t.RULE_alter_type_cmd}enterRule(e){e.enterAlter_type_cmd&&e.enterAlter_type_cmd(this)}exitRule(e){e.exitAlter_type_cmd&&e.exitAlter_type_cmd(this)}accept(e){return e.visitAlter_type_cmd?e.visitAlter_type_cmd(this):e.visitChildren(this)}}class F8 extends u{constructor(e,i){super(e,i)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}cursor_name(){return this.getRuleContext(0,di)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_closeportalstmt}enterRule(e){e.enterCloseportalstmt&&e.enterCloseportalstmt(this)}exitRule(e){e.exitCloseportalstmt&&e.exitCloseportalstmt(this)}accept(e){return e.visitCloseportalstmt?e.visitCloseportalstmt(this):e.visitChildren(this)}}class G8 extends u{constructor(e,i){super(e,i)}KW_COPY(){return this.getToken(t.KW_COPY,0)}table_name(){return this.getRuleContext(0,Lt)}copy_from(){return this.getRuleContext(0,B8)}copy_file_name(){return this.getRuleContext(0,Y8)}copy_options(){return this.getRuleContext(0,X8)}opt_binary(){return this.getRuleContext(0,Z8)}opt_column_list(){return this.getRuleContext(0,E1)}opt_program(){return this.getRuleContext(0,V8)}copy_delimiter(){return this.getRuleContext(0,z8)}opt_with(){return this.getRuleContext(0,Re)}where_clause(){return this.getRuleContext(0,De)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}preparablestmt(){return this.getRuleContext(0,Jh)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_copystmt}enterRule(e){e.enterCopystmt&&e.enterCopystmt(this)}exitRule(e){e.exitCopystmt&&e.exitCopystmt(this)}accept(e){return e.visitCopystmt?e.visitCopystmt(this):e.visitChildren(this)}}class B8 extends u{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_copy_from}enterRule(e){e.enterCopy_from&&e.enterCopy_from(this)}exitRule(e){e.exitCopy_from&&e.exitCopy_from(this)}accept(e){return e.visitCopy_from?e.visitCopy_from(this):e.visitChildren(this)}}class V8 extends u{constructor(e,i){super(e,i)}KW_PROGRAM(){return this.getToken(t.KW_PROGRAM,0)}get ruleIndex(){return t.RULE_opt_program}enterRule(e){e.enterOpt_program&&e.enterOpt_program(this)}exitRule(e){e.exitOpt_program&&e.exitOpt_program(this)}accept(e){return e.visitOpt_program?e.visitOpt_program(this):e.visitChildren(this)}}class Y8 extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}KW_STDIN(){return this.getToken(t.KW_STDIN,0)}KW_STDOUT(){return this.getToken(t.KW_STDOUT,0)}get ruleIndex(){return t.RULE_copy_file_name}enterRule(e){e.enterCopy_file_name&&e.enterCopy_file_name(this)}exitRule(e){e.exitCopy_file_name&&e.exitCopy_file_name(this)}accept(e){return e.visitCopy_file_name?e.visitCopy_file_name(this):e.visitChildren(this)}}class X8 extends u{constructor(e,i){super(e,i)}copy_opt_list(){return this.getRuleContext(0,Q8)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}copy_generic_opt_list(){return this.getRuleContext(0,J8)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_copy_options}enterRule(e){e.enterCopy_options&&e.enterCopy_options(this)}exitRule(e){e.exitCopy_options&&e.exitCopy_options(this)}accept(e){return e.visitCopy_options?e.visitCopy_options(this):e.visitChildren(this)}}class Q8 extends u{constructor(e,i){super(e,i)}copy_opt_item(e){return e===void 0?this.getRuleContexts(Fa):this.getRuleContext(e,Fa)}get ruleIndex(){return t.RULE_copy_opt_list}enterRule(e){e.enterCopy_opt_list&&e.enterCopy_opt_list(this)}exitRule(e){e.exitCopy_opt_list&&e.exitCopy_opt_list(this)}accept(e){return e.visitCopy_opt_list?e.visitCopy_opt_list(this):e.visitChildren(this)}}class Fa extends u{constructor(e,i){super(e,i)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_FREEZE(){return this.getToken(t.KW_FREEZE,0)}KW_DELIMITER(){return this.getToken(t.KW_DELIMITER,0)}sconst(){return this.getRuleContext(0,Y)}opt_as(){return this.getRuleContext(0,zh)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_CSV(){return this.getToken(t.KW_CSV,0)}KW_HEADER(){return this.getToken(t.KW_HEADER,0)}KW_QUOTE(){return this.getToken(t.KW_QUOTE,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}column_list(){return this.getRuleContext(0,mt)}STAR(){return this.getToken(t.STAR,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ENCODING(){return this.getToken(t.KW_ENCODING,0)}get ruleIndex(){return t.RULE_copy_opt_item}enterRule(e){e.enterCopy_opt_item&&e.enterCopy_opt_item(this)}exitRule(e){e.exitCopy_opt_item&&e.exitCopy_opt_item(this)}accept(e){return e.visitCopy_opt_item?e.visitCopy_opt_item(this):e.visitChildren(this)}}class Z8 extends u{constructor(e,i){super(e,i)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}get ruleIndex(){return t.RULE_opt_binary}enterRule(e){e.enterOpt_binary&&e.enterOpt_binary(this)}exitRule(e){e.exitOpt_binary&&e.exitOpt_binary(this)}accept(e){return e.visitOpt_binary?e.visitOpt_binary(this):e.visitChildren(this)}}class z8 extends u{constructor(e,i){super(e,i)}KW_DELIMITERS(){return this.getToken(t.KW_DELIMITERS,0)}sconst(){return this.getRuleContext(0,Y)}opt_using(){return this.getRuleContext(0,j8)}get ruleIndex(){return t.RULE_copy_delimiter}enterRule(e){e.enterCopy_delimiter&&e.enterCopy_delimiter(this)}exitRule(e){e.exitCopy_delimiter&&e.exitCopy_delimiter(this)}accept(e){return e.visitCopy_delimiter?e.visitCopy_delimiter(this):e.visitChildren(this)}}class j8 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}get ruleIndex(){return t.RULE_opt_using}enterRule(e){e.enterOpt_using&&e.enterOpt_using(this)}exitRule(e){e.exitOpt_using&&e.exitOpt_using(this)}accept(e){return e.visitOpt_using?e.visitOpt_using(this):e.visitChildren(this)}}class J8 extends u{constructor(e,i){super(e,i)}copy_generic_opt_elem(e){return e===void 0?this.getRuleContexts(Ga):this.getRuleContext(e,Ga)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_copy_generic_opt_list}enterRule(e){e.enterCopy_generic_opt_list&&e.enterCopy_generic_opt_list(this)}exitRule(e){e.exitCopy_generic_opt_list&&e.exitCopy_generic_opt_list(this)}accept(e){return e.visitCopy_generic_opt_list?e.visitCopy_generic_opt_list(this):e.visitChildren(this)}}class Ga extends u{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,Yt)}copy_generic_opt_arg(){return this.getRuleContext(0,$8)}get ruleIndex(){return t.RULE_copy_generic_opt_elem}enterRule(e){e.enterCopy_generic_opt_elem&&e.enterCopy_generic_opt_elem(this)}exitRule(e){e.exitCopy_generic_opt_elem&&e.exitCopy_generic_opt_elem(this)}accept(e){return e.visitCopy_generic_opt_elem?e.visitCopy_generic_opt_elem(this):e.visitChildren(this)}}class $8 extends u{constructor(e,i){super(e,i)}opt_boolean_or_string(){return this.getRuleContext(0,Wi)}numericonly(){return this.getRuleContext(0,Ot)}STAR(){return this.getToken(t.STAR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}copy_generic_opt_arg_list(){return this.getRuleContext(0,S8)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_copy_generic_opt_arg}enterRule(e){e.enterCopy_generic_opt_arg&&e.enterCopy_generic_opt_arg(this)}exitRule(e){e.exitCopy_generic_opt_arg&&e.exitCopy_generic_opt_arg(this)}accept(e){return e.visitCopy_generic_opt_arg?e.visitCopy_generic_opt_arg(this):e.visitChildren(this)}}class S8 extends u{constructor(e,i){super(e,i)}copy_generic_opt_arg_list_item(e){return e===void 0?this.getRuleContexts(Ba):this.getRuleContext(e,Ba)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_copy_generic_opt_arg_list}enterRule(e){e.enterCopy_generic_opt_arg_list&&e.enterCopy_generic_opt_arg_list(this)}exitRule(e){e.exitCopy_generic_opt_arg_list&&e.exitCopy_generic_opt_arg_list(this)}accept(e){return e.visitCopy_generic_opt_arg_list?e.visitCopy_generic_opt_arg_list(this):e.visitChildren(this)}}class Ba extends u{constructor(e,i){super(e,i)}opt_boolean_or_string_column(){return this.getRuleContext(0,K8)}get ruleIndex(){return t.RULE_copy_generic_opt_arg_list_item}enterRule(e){e.enterCopy_generic_opt_arg_list_item&&e.enterCopy_generic_opt_arg_list_item(this)}exitRule(e){e.exitCopy_generic_opt_arg_list_item&&e.exitCopy_generic_opt_arg_list_item(this)}accept(e){return e.visitCopy_generic_opt_arg_list_item?e.visitCopy_generic_opt_arg_list_item(this):e.visitChildren(this)}}class dh extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createstmt}copyFrom(e){super.copyFrom(e)}}class MT extends dh{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_create(){return this.getRuleContext(0,a0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OF(){return this.getToken(t.KW_OF,0)}any_name(){return this.getRuleContext(0,B)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,ot)}partitionboundspec(){return this.getRuleContext(0,ph)}opttemp(){return this.getRuleContext(0,Ki)}opt_if_not_exists(){return this.getRuleContext(0,ft)}table_column_list(){return this.getRuleContext(0,g8)}optinherit(){return this.getRuleContext(0,t2)}optpartitionspec(){return this.getRuleContext(0,Au)}table_access_method_clause(){return this.getRuleContext(0,mh)}optwith(){return this.getRuleContext(0,i2)}oncommitoption(){return this.getRuleContext(0,n2)}opttablespace(){return this.getRuleContext(0,_1)}opttypedtableelementlist(){return this.getRuleContext(0,Va)}enterRule(e){e.enterColumnCreateTable&&e.enterColumnCreateTable(this)}exitRule(e){e.exitColumnCreateTable&&e.exitColumnCreateTable(this)}accept(e){return e.visitColumnCreateTable?e.visitColumnCreateTable(this):e.visitChildren(this)}}class Ki extends u{constructor(e,i){super(e,i)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}get ruleIndex(){return t.RULE_opttemp}enterRule(e){e.enterOpttemp&&e.enterOpttemp(this)}exitRule(e){e.exitOpttemp&&e.exitOpttemp(this)}accept(e){return e.visitOpttemp?e.visitOpttemp(this):e.visitChildren(this)}}class g8 extends u{constructor(e,i){super(e,i)}tableelementlist(){return this.getRuleContext(0,Ya)}get ruleIndex(){return t.RULE_table_column_list}enterRule(e){e.enterTable_column_list&&e.enterTable_column_list(this)}exitRule(e){e.exitTable_column_list&&e.exitTable_column_list(this)}accept(e){return e.visitTable_column_list?e.visitTable_column_list(this):e.visitChildren(this)}}class q8 extends u{constructor(e,i){super(e,i)}tableelementlist(){return this.getRuleContext(0,Ya)}get ruleIndex(){return t.RULE_opttableelementlist}enterRule(e){e.enterOpttableelementlist&&e.enterOpttableelementlist(this)}exitRule(e){e.exitOpttableelementlist&&e.exitOpttableelementlist(this)}accept(e){return e.visitOpttableelementlist?e.visitOpttableelementlist(this):e.visitChildren(this)}}class Va extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typedtableelementlist(){return this.getRuleContext(0,P8)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opttypedtableelementlist}enterRule(e){e.enterOpttypedtableelementlist&&e.enterOpttypedtableelementlist(this)}exitRule(e){e.exitOpttypedtableelementlist&&e.exitOpttypedtableelementlist(this)}accept(e){return e.visitOpttypedtableelementlist?e.visitOpttypedtableelementlist(this):e.visitChildren(this)}}class Ya extends u{constructor(e,i){super(e,i)}tableelement(e){return e===void 0?this.getRuleContexts(Xa):this.getRuleContext(e,Xa)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tableelementlist}enterRule(e){e.enterTableelementlist&&e.enterTableelementlist(this)}exitRule(e){e.exitTableelementlist&&e.exitTableelementlist(this)}accept(e){return e.visitTableelementlist?e.visitTableelementlist(this):e.visitChildren(this)}}class P8 extends u{constructor(e,i){super(e,i)}typedtableelement(e){return e===void 0?this.getRuleContexts(Qa):this.getRuleContext(e,Qa)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_typedtableelementlist}enterRule(e){e.enterTypedtableelementlist&&e.enterTypedtableelementlist(this)}exitRule(e){e.exitTypedtableelementlist&&e.exitTypedtableelementlist(this)}accept(e){return e.visitTypedtableelementlist?e.visitTypedtableelementlist(this):e.visitChildren(this)}}class Xa extends u{constructor(e,i){super(e,i)}column_def(){return this.getRuleContext(0,Za)}tablelikeclause(){return this.getRuleContext(0,cu)}tableconstraint(){return this.getRuleContext(0,xh)}get ruleIndex(){return t.RULE_tableelement}enterRule(e){e.enterTableelement&&e.enterTableelement(this)}exitRule(e){e.exitTableelement&&e.exitTableelement(this)}accept(e){return e.visitTableelement?e.visitTableelement(this):e.visitChildren(this)}}class Qa extends u{constructor(e,i){super(e,i)}columnOptions(){return this.getRuleContext(0,iu)}tableconstraint(){return this.getRuleContext(0,xh)}get ruleIndex(){return t.RULE_typedtableelement}enterRule(e){e.enterTypedtableelement&&e.enterTypedtableelement(this)}exitRule(e){e.exitTypedtableelement&&e.exitTypedtableelement(this)}accept(e){return e.visitTypedtableelement?e.visitTypedtableelement(this):e.visitChildren(this)}}class Za extends u{constructor(e,i){super(e,i)}column_name_create(){return this.getRuleContext(0,B0)}typename(){return this.getRuleContext(0,j)}colquallist(){return this.getRuleContext(0,Oh)}create_generic_options(){return this.getRuleContext(0,s0)}storageCluase(){return this.getRuleContext(0,eu)}compressionCluase(){return this.getRuleContext(0,tu)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}any_name(){return this.getRuleContext(0,B)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}get ruleIndex(){return t.RULE_column_def}enterRule(e){e.enterColumn_def&&e.enterColumn_def(this)}exitRule(e){e.exitColumn_def&&e.exitColumn_def(this)}accept(e){return e.visitColumn_def?e.visitColumn_def(this):e.visitChildren(this)}}class tu extends u{constructor(e,i){super(e,i)}KW_COMPRESSION(){return this.getToken(t.KW_COMPRESSION,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_compressionCluase}enterRule(e){e.enterCompressionCluase&&e.enterCompressionCluase(this)}exitRule(e){e.exitCompressionCluase&&e.exitCompressionCluase(this)}accept(e){return e.visitCompressionCluase?e.visitCompressionCluase(this):e.visitChildren(this)}}class eu extends u{constructor(e,i){super(e,i)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_PLAIN(){return this.getToken(t.KW_PLAIN,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_MAIN(){return this.getToken(t.KW_MAIN,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_storageCluase}enterRule(e){e.enterStorageCluase&&e.enterStorageCluase(this)}exitRule(e){e.exitStorageCluase&&e.exitStorageCluase(this)}accept(e){return e.visitStorageCluase?e.visitStorageCluase(this):e.visitChildren(this)}}class iu extends u{constructor(e,i){super(e,i)}column_name_create(){return this.getRuleContext(0,B0)}colquallist(){return this.getRuleContext(0,Oh)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}get ruleIndex(){return t.RULE_columnOptions}enterRule(e){e.enterColumnOptions&&e.enterColumnOptions(this)}exitRule(e){e.exitColumnOptions&&e.exitColumnOptions(this)}accept(e){return e.visitColumnOptions?e.visitColumnOptions(this):e.visitChildren(this)}}class Oh extends u{constructor(e,i){super(e,i)}colconstraint(e){return e===void 0?this.getRuleContexts(za):this.getRuleContext(e,za)}get ruleIndex(){return t.RULE_colquallist}enterRule(e){e.enterColquallist&&e.enterColquallist(this)}exitRule(e){e.exitColquallist&&e.exitColquallist(this)}accept(e){return e.visitColquallist?e.visitColquallist(this):e.visitChildren(this)}}class za extends u{constructor(e,i){super(e,i)}colconstraintelem(){return this.getRuleContext(0,nu)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}name(){return this.getRuleContext(0,D)}deferrable_trigger(){return this.getRuleContext(0,su)}initially_trigger(){return this.getRuleContext(0,hu)}get ruleIndex(){return t.RULE_colconstraint}enterRule(e){e.enterColconstraint&&e.enterColconstraint(this)}exitRule(e){e.exitColconstraint&&e.exitColconstraint(this)}accept(e){return e.visitColconstraint?e.visitColconstraint(this):e.visitChildren(this)}}class nu extends u{constructor(e,i){super(e,i)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}opt_definition(){return this.getRuleContext(0,b0)}optconstablespace(){return this.getRuleContext(0,W1)}index_paramenters_create(){return this.getRuleContext(0,ru)}nulls_distinct(){return this.getRuleContext(0,ja)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_no_inherit(){return this.getRuleContext(0,uu)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}b_expr(){return this.getRuleContext(0,yt)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}generated_when(){return this.getRuleContext(0,Lh)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_STORED(){return this.getToken(t.KW_STORED,0)}optparenthesizedseqoptlist(){return this.getRuleContext(0,a2)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}qualified_name(){return this.getRuleContext(0,ot)}opt_column_list(){return this.getRuleContext(0,E1)}key_match(){return this.getRuleContext(0,Sa)}key_actions(){return this.getRuleContext(0,qa)}opt_collate(){return this.getRuleContext(0,Vh)}get ruleIndex(){return t.RULE_colconstraintelem}enterRule(e){e.enterColconstraintelem&&e.enterColconstraintelem(this)}exitRule(e){e.exitColconstraintelem&&e.exitColconstraintelem(this)}accept(e){return e.visitColconstraintelem?e.visitColconstraintelem(this):e.visitChildren(this)}}class ja extends u{constructor(e,i){super(e,i)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_nulls_distinct}enterRule(e){e.enterNulls_distinct&&e.enterNulls_distinct(this)}exitRule(e){e.exitNulls_distinct&&e.exitNulls_distinct(this)}accept(e){return e.visitNulls_distinct?e.visitNulls_distinct(this):e.visitChildren(this)}}class Lh extends u{constructor(e,i){super(e,i)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_generated_when}enterRule(e){e.enterGenerated_when&&e.enterGenerated_when(this)}exitRule(e){e.exitGenerated_when&&e.exitGenerated_when(this)}accept(e){return e.visitGenerated_when?e.visitGenerated_when(this):e.visitChildren(this)}}class su extends u{constructor(e,i){super(e,i)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_deferrable_trigger}enterRule(e){e.enterDeferrable_trigger&&e.enterDeferrable_trigger(this)}exitRule(e){e.exitDeferrable_trigger&&e.exitDeferrable_trigger(this)}accept(e){return e.visitDeferrable_trigger?e.visitDeferrable_trigger(this):e.visitChildren(this)}}class hu extends u{constructor(e,i){super(e,i)}KW_INITIALLY(){return this.getToken(t.KW_INITIALLY,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}get ruleIndex(){return t.RULE_initially_trigger}enterRule(e){e.enterInitially_trigger&&e.enterInitially_trigger(this)}exitRule(e){e.exitInitially_trigger&&e.exitInitially_trigger(this)}accept(e){return e.visitInitially_trigger?e.visitInitially_trigger(this):e.visitChildren(this)}}class cu extends u{constructor(e,i){super(e,i)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}qualified_name(){return this.getRuleContext(0,ot)}tablelikeoptionlist(){return this.getRuleContext(0,au)}get ruleIndex(){return t.RULE_tablelikeclause}enterRule(e){e.enterTablelikeclause&&e.enterTablelikeclause(this)}exitRule(e){e.exitTablelikeclause&&e.exitTablelikeclause(this)}accept(e){return e.visitTablelikeclause?e.visitTablelikeclause(this):e.visitChildren(this)}}class au extends u{constructor(e,i){super(e,i)}tablelikeoption(e){return e===void 0?this.getRuleContexts(Ja):this.getRuleContext(e,Ja)}KW_INCLUDING(e){return e===void 0?this.getTokens(t.KW_INCLUDING):this.getToken(t.KW_INCLUDING,e)}KW_EXCLUDING(e){return e===void 0?this.getTokens(t.KW_EXCLUDING):this.getToken(t.KW_EXCLUDING,e)}get ruleIndex(){return t.RULE_tablelikeoptionlist}enterRule(e){e.enterTablelikeoptionlist&&e.enterTablelikeoptionlist(this)}exitRule(e){e.exitTablelikeoptionlist&&e.exitTablelikeoptionlist(this)}accept(e){return e.visitTablelikeoptionlist?e.visitTablelikeoptionlist(this):e.visitChildren(this)}}class Ja extends u{constructor(e,i){super(e,i)}KW_COMMENTS(){return this.getToken(t.KW_COMMENTS,0)}KW_CONSTRAINTS(){return this.getToken(t.KW_CONSTRAINTS,0)}KW_DEFAULTS(){return this.getToken(t.KW_DEFAULTS,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_tablelikeoption}enterRule(e){e.enterTablelikeoption&&e.enterTablelikeoption(this)}exitRule(e){e.exitTablelikeoption&&e.exitTablelikeoption(this)}accept(e){return e.visitTablelikeoption?e.visitTablelikeoption(this):e.visitChildren(this)}}class xh extends u{constructor(e,i){super(e,i)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}name(){return this.getRuleContext(0,D)}constraintelem(){return this.getRuleContext(0,$a)}get ruleIndex(){return t.RULE_tableconstraint}enterRule(e){e.enterTableconstraint&&e.enterTableconstraint(this)}exitRule(e){e.exitTableconstraint&&e.exitTableconstraint(this)}accept(e){return e.visitTableconstraint?e.visitTableconstraint(this):e.visitChildren(this)}}class $a extends u{constructor(e,i){super(e,i)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}constraintattributespec(){return this.getRuleContext(0,o1)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}column_list(){return this.getRuleContext(0,mt)}existingindex(){return this.getRuleContext(0,Cu)}opt_c_include(){return this.getRuleContext(0,_u)}opt_definition(){return this.getRuleContext(0,b0)}optconstablespace(){return this.getRuleContext(0,W1)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_EXCLUDE(){return this.getToken(t.KW_EXCLUDE,0)}exclusionconstraintlist(){return this.getRuleContext(0,Wu)}access_method_clause(){return this.getRuleContext(0,V2)}exclusionwhereclause(){return this.getRuleContext(0,Ku)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}qualified_name(){return this.getRuleContext(0,ot)}opt_column_list(){return this.getRuleContext(0,E1)}key_match(){return this.getRuleContext(0,Sa)}key_actions(){return this.getRuleContext(0,qa)}get ruleIndex(){return t.RULE_constraintelem}enterRule(e){e.enterConstraintelem&&e.enterConstraintelem(this)}exitRule(e){e.exitConstraintelem&&e.exitConstraintelem(this)}accept(e){return e.visitConstraintelem?e.visitConstraintelem(this):e.visitChildren(this)}}class uu extends u{constructor(e,i){super(e,i)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}get ruleIndex(){return t.RULE_opt_no_inherit}enterRule(e){e.enterOpt_no_inherit&&e.enterOpt_no_inherit(this)}exitRule(e){e.exitOpt_no_inherit&&e.exitOpt_no_inherit(this)}accept(e){return e.visitOpt_no_inherit?e.visitOpt_no_inherit(this):e.visitChildren(this)}}class E1 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_column_list}enterRule(e){e.enterOpt_column_list&&e.enterOpt_column_list(this)}exitRule(e){e.exitOpt_column_list&&e.exitOpt_column_list(this)}accept(e){return e.visitOpt_column_list?e.visitOpt_column_list(this):e.visitChildren(this)}}class Nh extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list_create(){return this.getRuleContext(0,Eu)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_column_list_create}enterRule(e){e.enterOpt_column_list_create&&e.enterOpt_column_list_create(this)}exitRule(e){e.exitOpt_column_list_create&&e.exitOpt_column_list_create(this)}accept(e){return e.visitOpt_column_list_create?e.visitOpt_column_list_create(this):e.visitChildren(this)}}class mt extends u{constructor(e,i){super(e,i)}column_name(e){return e===void 0?this.getRuleContexts(Wt):this.getRuleContext(e,Wt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_column_list}enterRule(e){e.enterColumn_list&&e.enterColumn_list(this)}exitRule(e){e.exitColumn_list&&e.exitColumn_list(this)}accept(e){return e.visitColumn_list?e.visitColumn_list(this):e.visitChildren(this)}}class Eu extends u{constructor(e,i){super(e,i)}column_name_create(e){return e===void 0?this.getRuleContexts(B0):this.getRuleContext(e,B0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_column_list_create}enterRule(e){e.enterColumn_list_create&&e.enterColumn_list_create(this)}exitRule(e){e.exitColumn_list_create&&e.exitColumn_list_create(this)}accept(e){return e.visitColumn_list_create?e.visitColumn_list_create(this):e.visitChildren(this)}}class _u extends u{constructor(e,i){super(e,i)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_c_include}enterRule(e){e.enterOpt_c_include&&e.enterOpt_c_include(this)}exitRule(e){e.exitOpt_c_include&&e.exitOpt_c_include(this)}accept(e){return e.visitOpt_c_include?e.visitOpt_c_include(this):e.visitChildren(this)}}class Sa extends u{constructor(e,i){super(e,i)}KW_MATCH(){return this.getToken(t.KW_MATCH,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}get ruleIndex(){return t.RULE_key_match}enterRule(e){e.enterKey_match&&e.enterKey_match(this)}exitRule(e){e.exitKey_match&&e.exitKey_match(this)}accept(e){return e.visitKey_match?e.visitKey_match(this):e.visitChildren(this)}}class Wu extends u{constructor(e,i){super(e,i)}exclusionconstraintelem(e){return e===void 0?this.getRuleContexts(ga):this.getRuleContext(e,ga)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_exclusionconstraintlist}enterRule(e){e.enterExclusionconstraintlist&&e.enterExclusionconstraintlist(this)}exitRule(e){e.exitExclusionconstraintlist&&e.exitExclusionconstraintlist(this)}accept(e){return e.visitExclusionconstraintlist?e.visitExclusionconstraintlist(this):e.visitChildren(this)}}class ga extends u{constructor(e,i){super(e,i)}index_elem(){return this.getRuleContext(0,Ti)}KW_WITH(){return this.getToken(t.KW_WITH,0)}any_operator(){return this.getRuleContext(0,h0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_exclusionconstraintelem}enterRule(e){e.enterExclusionconstraintelem&&e.enterExclusionconstraintelem(this)}exitRule(e){e.exitExclusionconstraintelem&&e.exitExclusionconstraintelem(this)}accept(e){return e.visitExclusionconstraintelem?e.visitExclusionconstraintelem(this):e.visitChildren(this)}}class Ku extends u{constructor(e,i){super(e,i)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_exclusionwhereclause}enterRule(e){e.enterExclusionwhereclause&&e.enterExclusionwhereclause(this)}exitRule(e){e.exitExclusionwhereclause&&e.exitExclusionwhereclause(this)}accept(e){return e.visitExclusionwhereclause?e.visitExclusionwhereclause(this):e.visitChildren(this)}}class qa extends u{constructor(e,i){super(e,i)}key_update(){return this.getRuleContext(0,Ru)}key_delete(){return this.getRuleContext(0,ou)}get ruleIndex(){return t.RULE_key_actions}enterRule(e){e.enterKey_actions&&e.enterKey_actions(this)}exitRule(e){e.exitKey_actions&&e.exitKey_actions(this)}accept(e){return e.visitKey_actions?e.visitKey_actions(this):e.visitChildren(this)}}class Ru extends u{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}key_action(){return this.getRuleContext(0,Pa)}get ruleIndex(){return t.RULE_key_update}enterRule(e){e.enterKey_update&&e.enterKey_update(this)}exitRule(e){e.exitKey_update&&e.exitKey_update(this)}accept(e){return e.visitKey_update?e.visitKey_update(this):e.visitChildren(this)}}class ou extends u{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}key_action(){return this.getRuleContext(0,Pa)}get ruleIndex(){return t.RULE_key_delete}enterRule(e){e.enterKey_delete&&e.enterKey_delete(this)}exitRule(e){e.exitKey_delete&&e.exitKey_delete(this)}accept(e){return e.visitKey_delete?e.visitKey_delete(this):e.visitChildren(this)}}class Pa extends u{constructor(e,i){super(e,i)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}column_list(){return this.getRuleContext(0,mt)}get ruleIndex(){return t.RULE_key_action}enterRule(e){e.enterKey_action&&e.enterKey_action(this)}exitRule(e){e.exitKey_action&&e.exitKey_action(this)}accept(e){return e.visitKey_action?e.visitKey_action(this):e.visitChildren(this)}}class t2 extends u{constructor(e,i){super(e,i)}KW_INHERITS(){return this.getToken(t.KW_INHERITS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}qualified_name_list(){return this.getRuleContext(0,I1)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_optinherit}enterRule(e){e.enterOptinherit&&e.enterOptinherit(this)}exitRule(e){e.exitOptinherit&&e.exitOptinherit(this)}accept(e){return e.visitOptinherit?e.visitOptinherit(this):e.visitChildren(this)}}class Au extends u{constructor(e,i){super(e,i)}partitionspec(){return this.getRuleContext(0,Tu)}get ruleIndex(){return t.RULE_optpartitionspec}enterRule(e){e.enterOptpartitionspec&&e.enterOptpartitionspec(this)}exitRule(e){e.exitOptpartitionspec&&e.exitOptpartitionspec(this)}accept(e){return e.visitOptpartitionspec?e.visitOptpartitionspec(this):e.visitChildren(this)}}class Tu extends u{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(){return this.getToken(t.KW_BY,0)}colid(){return this.getRuleContext(0,H)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}part_params(){return this.getRuleContext(0,lu)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_partitionspec}enterRule(e){e.enterPartitionspec&&e.enterPartitionspec(this)}exitRule(e){e.exitPartitionspec&&e.exitPartitionspec(this)}accept(e){return e.visitPartitionspec?e.visitPartitionspec(this):e.visitChildren(this)}}class lu extends u{constructor(e,i){super(e,i)}part_elem(e){return e===void 0?this.getRuleContexts(e2):this.getRuleContext(e,e2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_part_params}enterRule(e){e.enterPart_params&&e.enterPart_params(this)}exitRule(e){e.exitPart_params&&e.exitPart_params(this)}accept(e){return e.visitPart_params?e.visitPart_params(this):e.visitChildren(this)}}class e2 extends u{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Wt)}opt_collate(){return this.getRuleContext(0,Vh)}opt_class(){return this.getRuleContext(0,Q2)}func_expr_windowless(){return this.getRuleContext(0,N1)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_part_elem}enterRule(e){e.enterPart_elem&&e.enterPart_elem(this)}exitRule(e){e.exitPart_elem&&e.exitPart_elem(this)}accept(e){return e.visitPart_elem?e.visitPart_elem(this):e.visitChildren(this)}}class mh extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_table_access_method_clause}enterRule(e){e.enterTable_access_method_clause&&e.enterTable_access_method_clause(this)}exitRule(e){e.exitTable_access_method_clause&&e.exitTable_access_method_clause(this)}accept(e){return e.visitTable_access_method_clause?e.visitTable_access_method_clause(this):e.visitChildren(this)}}class i2 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}reloptions(){return this.getRuleContext(0,H0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_OIDS(){return this.getToken(t.KW_OIDS,0)}get ruleIndex(){return t.RULE_optwith}enterRule(e){e.enterOptwith&&e.enterOptwith(this)}exitRule(e){e.exitOptwith&&e.exitOptwith(this)}accept(e){return e.visitOptwith?e.visitOptwith(this):e.visitChildren(this)}}class n2 extends u{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}get ruleIndex(){return t.RULE_oncommitoption}enterRule(e){e.enterOncommitoption&&e.enterOncommitoption(this)}exitRule(e){e.exitOncommitoption&&e.exitOncommitoption(this)}accept(e){return e.visitOncommitoption?e.visitOncommitoption(this):e.visitChildren(this)}}class _1 extends u{constructor(e,i){super(e,i)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}get ruleIndex(){return t.RULE_opttablespace}enterRule(e){e.enterOpttablespace&&e.enterOpttablespace(this)}exitRule(e){e.exitOpttablespace&&e.exitOpttablespace(this)}accept(e){return e.visitOpttablespace?e.visitOpttablespace(this):e.visitChildren(this)}}class ru extends u{constructor(e,i){super(e,i)}opt_include(){return this.getRuleContext(0,X2)}with_clause(){return this.getRuleContext(0,O1)}optconstablespace(){return this.getRuleContext(0,W1)}get ruleIndex(){return t.RULE_index_paramenters_create}enterRule(e){e.enterIndex_paramenters_create&&e.enterIndex_paramenters_create(this)}exitRule(e){e.exitIndex_paramenters_create&&e.exitIndex_paramenters_create(this)}accept(e){return e.visitIndex_paramenters_create?e.visitIndex_paramenters_create(this):e.visitChildren(this)}}class W1 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}get ruleIndex(){return t.RULE_optconstablespace}enterRule(e){e.enterOptconstablespace&&e.enterOptconstablespace(this)}exitRule(e){e.exitOptconstablespace&&e.exitOptconstablespace(this)}accept(e){return e.visitOptconstablespace?e.visitOptconstablespace(this):e.visitChildren(this)}}class Cu extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_existingindex}enterRule(e){e.enterExistingindex&&e.enterExistingindex(this)}exitRule(e){e.exitExistingindex&&e.exitExistingindex(this)}accept(e){return e.visitExistingindex?e.visitExistingindex(this):e.visitChildren(this)}}class pu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}from_list(){return this.getRuleContext(0,ic)}column_expr_list(){return this.getRuleContext(0,jW)}expr_list(){return this.getRuleContext(0,ht)}any_name(){return this.getRuleContext(0,B)}opt_name_list(){return this.getRuleContext(0,jh)}opt_if_not_exists(){return this.getRuleContext(0,ft)}get ruleIndex(){return t.RULE_createstatsstmt}enterRule(e){e.enterCreatestatsstmt&&e.enterCreatestatsstmt(this)}exitRule(e){e.exitCreatestatsstmt&&e.exitCreatestatsstmt(this)}accept(e){return e.visitCreatestatsstmt?e.visitCreatestatsstmt(this):e.visitChildren(this)}}class du extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_STATISTICS(e){return e===void 0?this.getTokens(t.KW_STATISTICS):this.getToken(t.KW_STATISTICS,e)}any_name(){return this.getRuleContext(0,B)}KW_SET(){return this.getToken(t.KW_SET,0)}signediconst(){return this.getRuleContext(0,V0)}opt_if_exists(){return this.getRuleContext(0,zt)}get ruleIndex(){return t.RULE_alterstatsstmt}enterRule(e){e.enterAlterstatsstmt&&e.enterAlterstatsstmt(this)}exitRule(e){e.exitAlterstatsstmt&&e.exitAlterstatsstmt(this)}accept(e){return e.visitAlterstatsstmt?e.visitAlterstatsstmt(this):e.visitChildren(this)}}class Ih extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createasstmt}copyFrom(e){super.copyFrom(e)}}class yT extends Ih{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}create_as_target(){return this.getRuleContext(0,s2)}KW_AS(){return this.getToken(t.KW_AS,0)}selectstmt(){return this.getRuleContext(0,Vt)}opttemp(){return this.getRuleContext(0,Ki)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opt_with_data(){return this.getRuleContext(0,K1)}enterRule(e){e.enterQueryCreateTable&&e.enterQueryCreateTable(this)}exitRule(e){e.exitQueryCreateTable&&e.exitQueryCreateTable(this)}accept(e){return e.visitQueryCreateTable?e.visitQueryCreateTable(this):e.visitChildren(this)}}class s2 extends u{constructor(e,i){super(e,i)}table_name_create(){return this.getRuleContext(0,a0)}opt_column_list_create(){return this.getRuleContext(0,Nh)}table_access_method_clause(){return this.getRuleContext(0,mh)}optwith(){return this.getRuleContext(0,i2)}oncommitoption(){return this.getRuleContext(0,n2)}opttablespace(){return this.getRuleContext(0,_1)}get ruleIndex(){return t.RULE_create_as_target}enterRule(e){e.enterCreate_as_target&&e.enterCreate_as_target(this)}exitRule(e){e.exitCreate_as_target&&e.exitCreate_as_target(this)}accept(e){return e.visitCreate_as_target?e.visitCreate_as_target(this):e.visitChildren(this)}}class K1 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_opt_with_data}enterRule(e){e.enterOpt_with_data&&e.enterOpt_with_data(this)}exitRule(e){e.exitOpt_with_data&&e.exitOpt_with_data(this)}accept(e){return e.visitOpt_with_data?e.visitOpt_with_data(this):e.visitChildren(this)}}class fh extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_creatematviewstmt}copyFrom(e){super.copyFrom(e)}}class HT extends fh{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}create_mv_target(){return this.getRuleContext(0,Ou)}KW_AS(){return this.getToken(t.KW_AS,0)}selectstmt(){return this.getRuleContext(0,Vt)}optnolog(){return this.getRuleContext(0,Lu)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opt_with_data(){return this.getRuleContext(0,K1)}enterRule(e){e.enterCreateMaterializedView&&e.enterCreateMaterializedView(this)}exitRule(e){e.exitCreateMaterializedView&&e.exitCreateMaterializedView(this)}accept(e){return e.visitCreateMaterializedView?e.visitCreateMaterializedView(this):e.visitChildren(this)}}class Ou extends u{constructor(e,i){super(e,i)}view_name_create(){return this.getRuleContext(0,f1)}opt_column_list_create(){return this.getRuleContext(0,Nh)}table_access_method_clause(){return this.getRuleContext(0,mh)}opt_reloptions(){return this.getRuleContext(0,u1)}opttablespace(){return this.getRuleContext(0,_1)}get ruleIndex(){return t.RULE_create_mv_target}enterRule(e){e.enterCreate_mv_target&&e.enterCreate_mv_target(this)}exitRule(e){e.exitCreate_mv_target&&e.exitCreate_mv_target(this)}accept(e){return e.visitCreate_mv_target?e.visitCreate_mv_target(this):e.visitChildren(this)}}class Lu extends u{constructor(e,i){super(e,i)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}get ruleIndex(){return t.RULE_optnolog}enterRule(e){e.enterOptnolog&&e.enterOptnolog(this)}exitRule(e){e.exitOptnolog&&e.exitOptnolog(this)}accept(e){return e.visitOptnolog?e.visitOptnolog(this):e.visitChildren(this)}}class h2 extends u{constructor(e,i){super(e,i)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,le)}opt_concurrently(){return this.getRuleContext(0,T1)}opt_with_data(){return this.getRuleContext(0,K1)}get ruleIndex(){return t.RULE_refreshmatviewstmt}enterRule(e){e.enterRefreshmatviewstmt&&e.enterRefreshmatviewstmt(this)}exitRule(e){e.exitRefreshmatviewstmt&&e.exitRefreshmatviewstmt(this)}accept(e){return e.visitRefreshmatviewstmt?e.visitRefreshmatviewstmt(this):e.visitChildren(this)}}class c2 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}qualified_name(){return this.getRuleContext(0,ot)}opttemp(){return this.getRuleContext(0,Ki)}opt_if_not_exists(){return this.getRuleContext(0,ft)}optseqoptlist(){return this.getRuleContext(0,Nu)}get ruleIndex(){return t.RULE_createseqstmt}enterRule(e){e.enterCreateseqstmt&&e.enterCreateseqstmt(this)}exitRule(e){e.exitCreateseqstmt&&e.exitCreateseqstmt(this)}accept(e){return e.visitCreateseqstmt?e.visitCreateseqstmt(this):e.visitChildren(this)}}class xu extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}qualified_name(){return this.getRuleContext(0,ot)}seqoptlist(){return this.getRuleContext(0,Uh)}opt_if_exists(){return this.getRuleContext(0,zt)}get ruleIndex(){return t.RULE_alterseqstmt}enterRule(e){e.enterAlterseqstmt&&e.enterAlterseqstmt(this)}exitRule(e){e.exitAlterseqstmt&&e.exitAlterseqstmt(this)}accept(e){return e.visitAlterseqstmt?e.visitAlterseqstmt(this):e.visitChildren(this)}}class Nu extends u{constructor(e,i){super(e,i)}seqoptlist(){return this.getRuleContext(0,Uh)}get ruleIndex(){return t.RULE_optseqoptlist}enterRule(e){e.enterOptseqoptlist&&e.enterOptseqoptlist(this)}exitRule(e){e.exitOptseqoptlist&&e.exitOptseqoptlist(this)}accept(e){return e.visitOptseqoptlist?e.visitOptseqoptlist(this):e.visitChildren(this)}}class a2 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}seqoptlist(){return this.getRuleContext(0,Uh)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_optparenthesizedseqoptlist}enterRule(e){e.enterOptparenthesizedseqoptlist&&e.enterOptparenthesizedseqoptlist(this)}exitRule(e){e.exitOptparenthesizedseqoptlist&&e.exitOptparenthesizedseqoptlist(this)}accept(e){return e.visitOptparenthesizedseqoptlist?e.visitOptparenthesizedseqoptlist(this):e.visitChildren(this)}}class Uh extends u{constructor(e,i){super(e,i)}seqoptelem(e){return e===void 0?this.getRuleContexts(kh):this.getRuleContext(e,kh)}get ruleIndex(){return t.RULE_seqoptlist}enterRule(e){e.enterSeqoptlist&&e.enterSeqoptlist(this)}exitRule(e){e.exitSeqoptlist&&e.exitSeqoptlist(this)}accept(e){return e.visitSeqoptlist?e.visitSeqoptlist(this):e.visitChildren(this)}}class kh extends u{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}simpletypename(){return this.getRuleContext(0,cc)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}numericonly(){return this.getRuleContext(0,Ot)}KW_CYCLE(){return this.getToken(t.KW_CYCLE,0)}KW_INCREMENT(){return this.getToken(t.KW_INCREMENT,0)}opt_by(){return this.getRuleContext(0,mu)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}KW_MINVALUE(){return this.getToken(t.KW_MINVALUE,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}column_name(){return this.getRuleContext(0,Wt)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}any_name(){return this.getRuleContext(0,B)}KW_START(){return this.getToken(t.KW_START,0)}opt_with(){return this.getRuleContext(0,Re)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}get ruleIndex(){return t.RULE_seqoptelem}enterRule(e){e.enterSeqoptelem&&e.enterSeqoptelem(this)}exitRule(e){e.exitSeqoptelem&&e.exitSeqoptelem(this)}accept(e){return e.visitSeqoptelem?e.visitSeqoptelem(this):e.visitChildren(this)}}class mu extends u{constructor(e,i){super(e,i)}KW_BY(){return this.getToken(t.KW_BY,0)}get ruleIndex(){return t.RULE_opt_by}enterRule(e){e.enterOpt_by&&e.enterOpt_by(this)}exitRule(e){e.exitOpt_by&&e.exitOpt_by(this)}accept(e){return e.visitOpt_by?e.visitOpt_by(this):e.visitChildren(this)}}class Ot extends u{constructor(e,i){super(e,i)}fconst(){return this.getRuleContext(0,D1)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}signediconst(){return this.getRuleContext(0,V0)}get ruleIndex(){return t.RULE_numericonly}enterRule(e){e.enterNumericonly&&e.enterNumericonly(this)}exitRule(e){e.exitNumericonly&&e.exitNumericonly(this)}accept(e){return e.visitNumericonly?e.visitNumericonly(this):e.visitChildren(this)}}class Iu extends u{constructor(e,i){super(e,i)}numericonly(e){return e===void 0?this.getRuleContexts(Ot):this.getRuleContext(e,Ot)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_numericonly_list}enterRule(e){e.enterNumericonly_list&&e.enterNumericonly_list(this)}exitRule(e){e.exitNumericonly_list&&e.exitNumericonly_list(this)}accept(e){return e.visitNumericonly_list?e.visitNumericonly_list(this):e.visitChildren(this)}}class fu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}name(){return this.getRuleContext(0,D)}opt_or_replace(){return this.getRuleContext(0,w0)}opt_trusted(){return this.getRuleContext(0,Uu)}opt_procedural(){return this.getRuleContext(0,oi)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}handler_name(){return this.getRuleContext(0,Ri)}opt_inline_handler(){return this.getRuleContext(0,ku)}opt_validator(){return this.getRuleContext(0,Mu)}get ruleIndex(){return t.RULE_createplangstmt}enterRule(e){e.enterCreateplangstmt&&e.enterCreateplangstmt(this)}exitRule(e){e.exitCreateplangstmt&&e.exitCreateplangstmt(this)}accept(e){return e.visitCreateplangstmt?e.visitCreateplangstmt(this):e.visitChildren(this)}}class Uu extends u{constructor(e,i){super(e,i)}KW_TRUSTED(){return this.getToken(t.KW_TRUSTED,0)}get ruleIndex(){return t.RULE_opt_trusted}enterRule(e){e.enterOpt_trusted&&e.enterOpt_trusted(this)}exitRule(e){e.exitOpt_trusted&&e.exitOpt_trusted(this)}accept(e){return e.visitOpt_trusted?e.visitOpt_trusted(this):e.visitChildren(this)}}class Ri extends u{constructor(e,i){super(e,i)}name(){return this.getRuleContext(0,D)}attrs(){return this.getRuleContext(0,oe)}get ruleIndex(){return t.RULE_handler_name}enterRule(e){e.enterHandler_name&&e.enterHandler_name(this)}exitRule(e){e.exitHandler_name&&e.exitHandler_name(this)}accept(e){return e.visitHandler_name?e.visitHandler_name(this):e.visitChildren(this)}}class ku extends u{constructor(e,i){super(e,i)}KW_INLINE(){return this.getToken(t.KW_INLINE,0)}handler_name(){return this.getRuleContext(0,Ri)}get ruleIndex(){return t.RULE_opt_inline_handler}enterRule(e){e.enterOpt_inline_handler&&e.enterOpt_inline_handler(this)}exitRule(e){e.exitOpt_inline_handler&&e.exitOpt_inline_handler(this)}accept(e){return e.visitOpt_inline_handler?e.visitOpt_inline_handler(this):e.visitChildren(this)}}class Du extends u{constructor(e,i){super(e,i)}KW_VALIDATOR(){return this.getToken(t.KW_VALIDATOR,0)}handler_name(){return this.getRuleContext(0,Ri)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_validator_clause}enterRule(e){e.enterValidator_clause&&e.enterValidator_clause(this)}exitRule(e){e.exitValidator_clause&&e.exitValidator_clause(this)}accept(e){return e.visitValidator_clause?e.visitValidator_clause(this):e.visitChildren(this)}}class Mu extends u{constructor(e,i){super(e,i)}validator_clause(){return this.getRuleContext(0,Du)}get ruleIndex(){return t.RULE_opt_validator}enterRule(e){e.enterOpt_validator&&e.enterOpt_validator(this)}exitRule(e){e.exitOpt_validator&&e.exitOpt_validator(this)}accept(e){return e.visitOpt_validator?e.visitOpt_validator(this):e.visitChildren(this)}}class oi extends u{constructor(e,i){super(e,i)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}get ruleIndex(){return t.RULE_opt_procedural}enterRule(e){e.enterOpt_procedural&&e.enterOpt_procedural(this)}exitRule(e){e.exitOpt_procedural&&e.exitOpt_procedural(this)}accept(e){return e.visitOpt_procedural?e.visitOpt_procedural(this):e.visitChildren(this)}}class yu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}KW_LOCATION(){return this.getToken(t.KW_LOCATION,0)}sconst(){return this.getRuleContext(0,Y)}opttablespaceowner(){return this.getRuleContext(0,Hu)}opt_reloptions(){return this.getRuleContext(0,u1)}get ruleIndex(){return t.RULE_createtablespacestmt}enterRule(e){e.enterCreatetablespacestmt&&e.enterCreatetablespacestmt(this)}exitRule(e){e.exitCreatetablespacestmt&&e.exitCreatetablespacestmt(this)}accept(e){return e.visitCreatetablespacestmt?e.visitCreatetablespacestmt(this):e.visitChildren(this)}}class Hu extends u{constructor(e,i){super(e,i)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_opttablespaceowner}enterRule(e){e.enterOpttablespaceowner&&e.enterOpttablespaceowner(this)}exitRule(e){e.exitOpttablespaceowner&&e.exitOpttablespaceowner(this)}accept(e){return e.visitOpttablespaceowner?e.visitOpttablespaceowner(this):e.visitChildren(this)}}class wu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(){return this.getRuleContext(0,D)}create_extension_opt_list(){return this.getRuleContext(0,bu)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opt_with(){return this.getRuleContext(0,Re)}get ruleIndex(){return t.RULE_createextensionstmt}enterRule(e){e.enterCreateextensionstmt&&e.enterCreateextensionstmt(this)}exitRule(e){e.exitCreateextensionstmt&&e.exitCreateextensionstmt(this)}accept(e){return e.visitCreateextensionstmt?e.visitCreateextensionstmt(this):e.visitChildren(this)}}class bu extends u{constructor(e,i){super(e,i)}create_extension_opt_item(e){return e===void 0?this.getRuleContexts(u2):this.getRuleContext(e,u2)}get ruleIndex(){return t.RULE_create_extension_opt_list}enterRule(e){e.enterCreate_extension_opt_list&&e.enterCreate_extension_opt_list(this)}exitRule(e){e.exitCreate_extension_opt_list&&e.exitCreate_extension_opt_list(this)}accept(e){return e.visitCreate_extension_opt_list?e.visitCreate_extension_opt_list(this):e.visitChildren(this)}}class u2 extends u{constructor(e,i){super(e,i)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}get ruleIndex(){return t.RULE_create_extension_opt_item}enterRule(e){e.enterCreate_extension_opt_item&&e.enterCreate_extension_opt_item(this)}exitRule(e){e.exitCreate_extension_opt_item&&e.exitCreate_extension_opt_item(this)}accept(e){return e.visitCreate_extension_opt_item?e.visitCreate_extension_opt_item(this):e.visitChildren(this)}}class vu extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(){return this.getRuleContext(0,D)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}alter_extension_opt_list(){return this.getRuleContext(0,Fu)}get ruleIndex(){return t.RULE_alterextensionstmt}enterRule(e){e.enterAlterextensionstmt&&e.enterAlterextensionstmt(this)}exitRule(e){e.exitAlterextensionstmt&&e.exitAlterextensionstmt(this)}accept(e){return e.visitAlterextensionstmt?e.visitAlterextensionstmt(this):e.visitChildren(this)}}class Fu extends u{constructor(e,i){super(e,i)}alter_extension_opt_item(e){return e===void 0?this.getRuleContexts(E2):this.getRuleContext(e,E2)}get ruleIndex(){return t.RULE_alter_extension_opt_list}enterRule(e){e.enterAlter_extension_opt_list&&e.enterAlter_extension_opt_list(this)}exitRule(e){e.exitAlter_extension_opt_list&&e.exitAlter_extension_opt_list(this)}accept(e){return e.visitAlter_extension_opt_list?e.visitAlter_extension_opt_list(this):e.visitChildren(this)}}class E2 extends u{constructor(e,i){super(e,i)}KW_TO(){return this.getToken(t.KW_TO,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}get ruleIndex(){return t.RULE_alter_extension_opt_item}enterRule(e){e.enterAlter_extension_opt_item&&e.enterAlter_extension_opt_item(this)}exitRule(e){e.exitAlter_extension_opt_item&&e.exitAlter_extension_opt_item(this)}accept(e){return e.visitAlter_extension_opt_item?e.visitAlter_extension_opt_item(this):e.visitChildren(this)}}class Gu extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}add_drop(){return this.getRuleContext(0,La)}object_type_name(){return this.getRuleContext(0,vh)}object_type_any_name(){return this.getRuleContext(0,bh)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ge)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,Be)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}any_name(){return this.getRuleContext(0,B)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}get ruleIndex(){return t.RULE_alterextensioncontentsstmt}enterRule(e){e.enterAlterextensioncontentsstmt&&e.enterAlterextensioncontentsstmt(this)}exitRule(e){e.exitAlterextensioncontentsstmt&&e.exitAlterextensioncontentsstmt(this)}accept(e){return e.visitAlterextensioncontentsstmt?e.visitAlterextensioncontentsstmt(this):e.visitChildren(this)}}class Bu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}name(){return this.getRuleContext(0,D)}opt_fdw_options(){return this.getRuleContext(0,K2)}create_generic_options(){return this.getRuleContext(0,s0)}get ruleIndex(){return t.RULE_createfdwstmt}enterRule(e){e.enterCreatefdwstmt&&e.enterCreatefdwstmt(this)}exitRule(e){e.exitCreatefdwstmt&&e.exitCreatefdwstmt(this)}accept(e){return e.visitCreatefdwstmt?e.visitCreatefdwstmt(this):e.visitChildren(this)}}class _2 extends u{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}handler_name(){return this.getRuleContext(0,Ri)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_VALIDATOR(){return this.getToken(t.KW_VALIDATOR,0)}get ruleIndex(){return t.RULE_fdw_option}enterRule(e){e.enterFdw_option&&e.enterFdw_option(this)}exitRule(e){e.exitFdw_option&&e.exitFdw_option(this)}accept(e){return e.visitFdw_option?e.visitFdw_option(this):e.visitChildren(this)}}class W2 extends u{constructor(e,i){super(e,i)}fdw_option(e){return e===void 0?this.getRuleContexts(_2):this.getRuleContext(e,_2)}get ruleIndex(){return t.RULE_fdw_options}enterRule(e){e.enterFdw_options&&e.enterFdw_options(this)}exitRule(e){e.exitFdw_options&&e.exitFdw_options(this)}accept(e){return e.visitFdw_options?e.visitFdw_options(this):e.visitChildren(this)}}class K2 extends u{constructor(e,i){super(e,i)}fdw_options(){return this.getRuleContext(0,W2)}get ruleIndex(){return t.RULE_opt_fdw_options}enterRule(e){e.enterOpt_fdw_options&&e.enterOpt_fdw_options(this)}exitRule(e){e.exitOpt_fdw_options&&e.exitOpt_fdw_options(this)}accept(e){return e.visitOpt_fdw_options?e.visitOpt_fdw_options(this):e.visitChildren(this)}}class Vu extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}name(){return this.getRuleContext(0,D)}alter_generic_options(){return this.getRuleContext(0,R1)}opt_fdw_options(){return this.getRuleContext(0,K2)}fdw_options(){return this.getRuleContext(0,W2)}get ruleIndex(){return t.RULE_alterfdwstmt}enterRule(e){e.enterAlterfdwstmt&&e.enterAlterfdwstmt(this)}exitRule(e){e.exitAlterfdwstmt&&e.exitAlterfdwstmt(this)}accept(e){return e.visitAlterfdwstmt?e.visitAlterfdwstmt(this):e.visitChildren(this)}}class s0 extends u{constructor(e,i){super(e,i)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}generic_option_list(){return this.getRuleContext(0,Yu)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_create_generic_options}enterRule(e){e.enterCreate_generic_options&&e.enterCreate_generic_options(this)}exitRule(e){e.exitCreate_generic_options&&e.exitCreate_generic_options(this)}accept(e){return e.visitCreate_generic_options?e.visitCreate_generic_options(this):e.visitChildren(this)}}class Yu extends u{constructor(e,i){super(e,i)}generic_option_elem(e){return e===void 0?this.getRuleContexts(Dh):this.getRuleContext(e,Dh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_generic_option_list}enterRule(e){e.enterGeneric_option_list&&e.enterGeneric_option_list(this)}exitRule(e){e.exitGeneric_option_list&&e.exitGeneric_option_list(this)}accept(e){return e.visitGeneric_option_list?e.visitGeneric_option_list(this):e.visitChildren(this)}}class R1 extends u{constructor(e,i){super(e,i)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}alter_generic_option_list(){return this.getRuleContext(0,Xu)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_alter_generic_options}enterRule(e){e.enterAlter_generic_options&&e.enterAlter_generic_options(this)}exitRule(e){e.exitAlter_generic_options&&e.exitAlter_generic_options(this)}accept(e){return e.visitAlter_generic_options?e.visitAlter_generic_options(this):e.visitChildren(this)}}class Xu extends u{constructor(e,i){super(e,i)}alter_generic_option_elem(e){return e===void 0?this.getRuleContexts(R2):this.getRuleContext(e,R2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alter_generic_option_list}enterRule(e){e.enterAlter_generic_option_list&&e.enterAlter_generic_option_list(this)}exitRule(e){e.exitAlter_generic_option_list&&e.exitAlter_generic_option_list(this)}accept(e){return e.visitAlter_generic_option_list?e.visitAlter_generic_option_list(this):e.visitChildren(this)}}class R2 extends u{constructor(e,i){super(e,i)}generic_option_elem(){return this.getRuleContext(0,Dh)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_alter_generic_option_elem}enterRule(e){e.enterAlter_generic_option_elem&&e.enterAlter_generic_option_elem(this)}exitRule(e){e.exitAlter_generic_option_elem&&e.exitAlter_generic_option_elem(this)}accept(e){return e.visitAlter_generic_option_elem?e.visitAlter_generic_option_elem(this):e.visitChildren(this)}}class Dh extends u{constructor(e,i){super(e,i)}generic_option_name(){return this.getRuleContext(0,Qu)}generic_option_arg(){return this.getRuleContext(0,Zu)}get ruleIndex(){return t.RULE_generic_option_elem}enterRule(e){e.enterGeneric_option_elem&&e.enterGeneric_option_elem(this)}exitRule(e){e.exitGeneric_option_elem&&e.exitGeneric_option_elem(this)}accept(e){return e.visitGeneric_option_elem?e.visitGeneric_option_elem(this):e.visitChildren(this)}}class Qu extends u{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,Yt)}get ruleIndex(){return t.RULE_generic_option_name}enterRule(e){e.enterGeneric_option_name&&e.enterGeneric_option_name(this)}exitRule(e){e.exitGeneric_option_name&&e.exitGeneric_option_name(this)}accept(e){return e.visitGeneric_option_name?e.visitGeneric_option_name(this):e.visitChildren(this)}}class Zu extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_generic_option_arg}enterRule(e){e.enterGeneric_option_arg&&e.enterGeneric_option_arg(this)}exitRule(e){e.exitGeneric_option_arg&&e.exitGeneric_option_arg(this)}accept(e){return e.visitGeneric_option_arg?e.visitGeneric_option_arg(this):e.visitChildren(this)}}class zu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opt_type(){return this.getRuleContext(0,ju)}opt_foreign_server_version(){return this.getRuleContext(0,Ju)}create_generic_options(){return this.getRuleContext(0,s0)}get ruleIndex(){return t.RULE_createforeignserverstmt}enterRule(e){e.enterCreateforeignserverstmt&&e.enterCreateforeignserverstmt(this)}exitRule(e){e.exitCreateforeignserverstmt&&e.exitCreateforeignserverstmt(this)}accept(e){return e.visitCreateforeignserverstmt?e.visitCreateforeignserverstmt(this):e.visitChildren(this)}}class ju extends u{constructor(e,i){super(e,i)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_opt_type}enterRule(e){e.enterOpt_type&&e.enterOpt_type(this)}exitRule(e){e.exitOpt_type&&e.exitOpt_type(this)}accept(e){return e.visitOpt_type?e.visitOpt_type(this):e.visitChildren(this)}}class o2 extends u{constructor(e,i){super(e,i)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}sconst(){return this.getRuleContext(0,Y)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_foreign_server_version}enterRule(e){e.enterForeign_server_version&&e.enterForeign_server_version(this)}exitRule(e){e.exitForeign_server_version&&e.exitForeign_server_version(this)}accept(e){return e.visitForeign_server_version?e.visitForeign_server_version(this):e.visitChildren(this)}}class Ju extends u{constructor(e,i){super(e,i)}foreign_server_version(){return this.getRuleContext(0,o2)}get ruleIndex(){return t.RULE_opt_foreign_server_version}enterRule(e){e.enterOpt_foreign_server_version&&e.enterOpt_foreign_server_version(this)}exitRule(e){e.exitOpt_foreign_server_version&&e.exitOpt_foreign_server_version(this)}accept(e){return e.visitOpt_foreign_server_version?e.visitOpt_foreign_server_version(this):e.visitChildren(this)}}class $u extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(){return this.getRuleContext(0,D)}alter_generic_options(){return this.getRuleContext(0,R1)}foreign_server_version(){return this.getRuleContext(0,o2)}get ruleIndex(){return t.RULE_alterforeignserverstmt}enterRule(e){e.enterAlterforeignserverstmt&&e.enterAlterforeignserverstmt(this)}exitRule(e){e.exitAlterforeignserverstmt&&e.exitAlterforeignserverstmt(this)}accept(e){return e.visitAlterforeignserverstmt?e.visitAlterforeignserverstmt(this):e.visitChildren(this)}}class Mh extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createforeigntablestmt}copyFrom(e){super.copyFrom(e)}}class wT extends Mh{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_create(){return this.getRuleContext(0,a0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(){return this.getRuleContext(0,D)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opttableelementlist(){return this.getRuleContext(0,q8)}optinherit(){return this.getRuleContext(0,t2)}create_generic_options(){return this.getRuleContext(0,s0)}enterRule(e){e.enterCreateForeignTable&&e.enterCreateForeignTable(this)}exitRule(e){e.exitCreateForeignTable&&e.exitCreateForeignTable(this)}accept(e){return e.visitCreateForeignTable?e.visitCreateForeignTable(this):e.visitChildren(this)}}class bT extends Mh{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_create(){return this.getRuleContext(0,a0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_OF(){return this.getToken(t.KW_OF,0)}table_name(){return this.getRuleContext(0,Lt)}partitionboundspec(){return this.getRuleContext(0,ph)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(){return this.getRuleContext(0,D)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opttypedtableelementlist(){return this.getRuleContext(0,Va)}create_generic_options(){return this.getRuleContext(0,s0)}enterRule(e){e.enterCreatePartitionForeignTable&&e.enterCreatePartitionForeignTable(this)}exitRule(e){e.exitCreatePartitionForeignTable&&e.exitCreatePartitionForeignTable(this)}accept(e){return e.visitCreatePartitionForeignTable?e.visitCreatePartitionForeignTable(this):e.visitChildren(this)}}class Su extends u{constructor(e,i){super(e,i)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_INTO(){return this.getToken(t.KW_INTO,0)}import_qualification(){return this.getRuleContext(0,qu)}create_generic_options(){return this.getRuleContext(0,s0)}get ruleIndex(){return t.RULE_importforeignschemastmt}enterRule(e){e.enterImportforeignschemastmt&&e.enterImportforeignschemastmt(this)}exitRule(e){e.exitImportforeignschemastmt&&e.exitImportforeignschemastmt(this)}accept(e){return e.visitImportforeignschemastmt?e.visitImportforeignschemastmt(this):e.visitChildren(this)}}class gu extends u{constructor(e,i){super(e,i)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}get ruleIndex(){return t.RULE_import_qualification_type}enterRule(e){e.enterImport_qualification_type&&e.enterImport_qualification_type(this)}exitRule(e){e.exitImport_qualification_type&&e.exitImport_qualification_type(this)}accept(e){return e.visitImport_qualification_type?e.visitImport_qualification_type(this):e.visitChildren(this)}}class qu extends u{constructor(e,i){super(e,i)}import_qualification_type(){return this.getRuleContext(0,gu)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}relation_expr_list(){return this.getRuleContext(0,nc)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_import_qualification}enterRule(e){e.enterImport_qualification&&e.enterImport_qualification(this)}exitRule(e){e.exitImport_qualification&&e.exitImport_qualification(this)}accept(e){return e.visitImport_qualification?e.visitImport_qualification(this):e.visitChildren(this)}}class Pu extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}auth_ident(){return this.getRuleContext(0,yh)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(){return this.getRuleContext(0,D)}opt_if_not_exists(){return this.getRuleContext(0,ft)}create_generic_options(){return this.getRuleContext(0,s0)}get ruleIndex(){return t.RULE_createusermappingstmt}enterRule(e){e.enterCreateusermappingstmt&&e.enterCreateusermappingstmt(this)}exitRule(e){e.exitCreateusermappingstmt&&e.exitCreateusermappingstmt(this)}accept(e){return e.visitCreateusermappingstmt?e.visitCreateusermappingstmt(this):e.visitChildren(this)}}class yh extends u{constructor(e,i){super(e,i)}rolespec(){return this.getRuleContext(0,rt)}KW_USER(){return this.getToken(t.KW_USER,0)}get ruleIndex(){return t.RULE_auth_ident}enterRule(e){e.enterAuth_ident&&e.enterAuth_ident(this)}exitRule(e){e.exitAuth_ident&&e.exitAuth_ident(this)}accept(e){return e.visitAuth_ident?e.visitAuth_ident(this):e.visitChildren(this)}}class t6 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}auth_ident(){return this.getRuleContext(0,yh)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}name(){return this.getRuleContext(0,D)}alter_generic_options(){return this.getRuleContext(0,R1)}get ruleIndex(){return t.RULE_alterusermappingstmt}enterRule(e){e.enterAlterusermappingstmt&&e.enterAlterusermappingstmt(this)}exitRule(e){e.exitAlterusermappingstmt&&e.exitAlterusermappingstmt(this)}accept(e){return e.visitAlterusermappingstmt?e.visitAlterusermappingstmt(this):e.visitChildren(this)}}class e6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}name(){return this.getRuleContext(0,D)}KW_ON(){return this.getToken(t.KW_ON,0)}qualified_name(){return this.getRuleContext(0,ot)}rowsecuritydefaultpermissive(){return this.getRuleContext(0,a6)}rowsecuritydefaultforcmd(){return this.getRuleContext(0,u6)}rowsecuritydefaulttorole(){return this.getRuleContext(0,h6)}rowsecurityoptionalexpr(){return this.getRuleContext(0,T2)}rowsecurityoptionalwithcheck(){return this.getRuleContext(0,l2)}get ruleIndex(){return t.RULE_createpolicystmt}enterRule(e){e.enterCreatepolicystmt&&e.enterCreatepolicystmt(this)}exitRule(e){e.exitCreatepolicystmt&&e.exitCreatepolicystmt(this)}accept(e){return e.visitCreatepolicystmt?e.visitCreatepolicystmt(this):e.visitChildren(this)}}class i6 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}name(){return this.getRuleContext(0,D)}KW_ON(){return this.getToken(t.KW_ON,0)}qualified_name(){return this.getRuleContext(0,ot)}rowsecurityoptionaltorole(){return this.getRuleContext(0,c6)}rowsecurityoptionalexpr(){return this.getRuleContext(0,T2)}rowsecurityoptionalwithcheck(){return this.getRuleContext(0,l2)}get ruleIndex(){return t.RULE_alterpolicystmt}enterRule(e){e.enterAlterpolicystmt&&e.enterAlterpolicystmt(this)}exitRule(e){e.exitAlterpolicystmt&&e.exitAlterpolicystmt(this)}accept(e){return e.visitAlterpolicystmt?e.visitAlterpolicystmt(this):e.visitChildren(this)}}class n6 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_name(){return this.getRuleContext(0,G0)}procedure_cluase(){return this.getRuleContext(0,s6)}func_args(){return this.getRuleContext(0,li)}get ruleIndex(){return t.RULE_alterprocedurestmt}enterRule(e){e.enterAlterprocedurestmt&&e.enterAlterprocedurestmt(this)}exitRule(e){e.exitAlterprocedurestmt&&e.exitAlterprocedurestmt(this)}accept(e){return e.visitAlterprocedurestmt?e.visitAlterprocedurestmt(this):e.visitChildren(this)}}class s6 extends u{constructor(e,i){super(e,i)}procedure_action(e){return e===void 0?this.getRuleContexts(A2):this.getRuleContext(e,A2)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}procedure_name_create(){return this.getRuleContext(0,U1)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}rolespec(){return this.getRuleContext(0,rt)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_create(){return this.getRuleContext(0,_i)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(){return this.getRuleContext(0,D)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_procedure_cluase}enterRule(e){e.enterProcedure_cluase&&e.enterProcedure_cluase(this)}exitRule(e){e.exitProcedure_cluase&&e.exitProcedure_cluase(this)}accept(e){return e.visitProcedure_cluase?e.visitProcedure_cluase(this):e.visitChildren(this)}}class A2 extends u{constructor(e,i){super(e,i)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_SET(){return this.getToken(t.KW_SET,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_TO(){return this.getToken(t.KW_TO,0)}STAR(){return this.getToken(t.STAR,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_procedure_action}enterRule(e){e.enterProcedure_action&&e.enterProcedure_action(this)}exitRule(e){e.exitProcedure_action&&e.exitProcedure_action(this)}accept(e){return e.visitProcedure_action?e.visitProcedure_action(this):e.visitChildren(this)}}class T2 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_rowsecurityoptionalexpr}enterRule(e){e.enterRowsecurityoptionalexpr&&e.enterRowsecurityoptionalexpr(this)}exitRule(e){e.exitRowsecurityoptionalexpr&&e.exitRowsecurityoptionalexpr(this)}accept(e){return e.visitRowsecurityoptionalexpr?e.visitRowsecurityoptionalexpr(this):e.visitChildren(this)}}class l2 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_rowsecurityoptionalwithcheck}enterRule(e){e.enterRowsecurityoptionalwithcheck&&e.enterRowsecurityoptionalwithcheck(this)}exitRule(e){e.exitRowsecurityoptionalwithcheck&&e.exitRowsecurityoptionalwithcheck(this)}accept(e){return e.visitRowsecurityoptionalwithcheck?e.visitRowsecurityoptionalwithcheck(this):e.visitChildren(this)}}class h6 extends u{constructor(e,i){super(e,i)}KW_TO(){return this.getToken(t.KW_TO,0)}role_list(){return this.getRuleContext(0,ce)}get ruleIndex(){return t.RULE_rowsecuritydefaulttorole}enterRule(e){e.enterRowsecuritydefaulttorole&&e.enterRowsecuritydefaulttorole(this)}exitRule(e){e.exitRowsecuritydefaulttorole&&e.exitRowsecuritydefaulttorole(this)}accept(e){return e.visitRowsecuritydefaulttorole?e.visitRowsecuritydefaulttorole(this):e.visitChildren(this)}}class c6 extends u{constructor(e,i){super(e,i)}KW_TO(){return this.getToken(t.KW_TO,0)}role_list(){return this.getRuleContext(0,ce)}get ruleIndex(){return t.RULE_rowsecurityoptionaltorole}enterRule(e){e.enterRowsecurityoptionaltorole&&e.enterRowsecurityoptionaltorole(this)}exitRule(e){e.exitRowsecurityoptionaltorole&&e.exitRowsecurityoptionaltorole(this)}accept(e){return e.visitRowsecurityoptionaltorole?e.visitRowsecurityoptionaltorole(this):e.visitChildren(this)}}class a6 extends u{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_PERMISSIVE(){return this.getToken(t.KW_PERMISSIVE,0)}KW_RESTRICTIVE(){return this.getToken(t.KW_RESTRICTIVE,0)}identifier(){return this.getRuleContext(0,It)}get ruleIndex(){return t.RULE_rowsecuritydefaultpermissive}enterRule(e){e.enterRowsecuritydefaultpermissive&&e.enterRowsecuritydefaultpermissive(this)}exitRule(e){e.exitRowsecuritydefaultpermissive&&e.exitRowsecuritydefaultpermissive(this)}accept(e){return e.visitRowsecuritydefaultpermissive?e.visitRowsecuritydefaultpermissive(this):e.visitChildren(this)}}class u6 extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}row_security_cmd(){return this.getRuleContext(0,E6)}get ruleIndex(){return t.RULE_rowsecuritydefaultforcmd}enterRule(e){e.enterRowsecuritydefaultforcmd&&e.enterRowsecuritydefaultforcmd(this)}exitRule(e){e.exitRowsecuritydefaultforcmd&&e.exitRowsecuritydefaultforcmd(this)}accept(e){return e.visitRowsecuritydefaultforcmd?e.visitRowsecuritydefaultforcmd(this):e.visitChildren(this)}}class E6 extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}get ruleIndex(){return t.RULE_row_security_cmd}enterRule(e){e.enterRow_security_cmd&&e.enterRow_security_cmd(this)}exitRule(e){e.exitRow_security_cmd&&e.exitRow_security_cmd(this)}accept(e){return e.visitRow_security_cmd?e.visitRow_security_cmd(this):e.visitChildren(this)}}class _6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}name(){return this.getRuleContext(0,D)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}am_type(){return this.getRuleContext(0,W6)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}handler_name(){return this.getRuleContext(0,Ri)}get ruleIndex(){return t.RULE_createamstmt}enterRule(e){e.enterCreateamstmt&&e.enterCreateamstmt(this)}exitRule(e){e.exitCreateamstmt&&e.exitCreateamstmt(this)}accept(e){return e.visitCreateamstmt?e.visitCreateamstmt(this):e.visitChildren(this)}}class W6 extends u{constructor(e,i){super(e,i)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}get ruleIndex(){return t.RULE_am_type}enterRule(e){e.enterAm_type&&e.enterAm_type(this)}exitRule(e){e.exitAm_type&&e.exitAm_type(this)}accept(e){return e.visitAm_type?e.visitAm_type(this):e.visitChildren(this)}}class r2 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}name(){return this.getRuleContext(0,D)}triggeractiontime(){return this.getRuleContext(0,K6)}triggerevents(){return this.getRuleContext(0,A6)}KW_ON(){return this.getToken(t.KW_ON,0)}table_name(){return this.getRuleContext(0,Lt)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}function_or_procedure(){return this.getRuleContext(0,d2)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}triggerfuncargs(){return this.getRuleContext(0,N6)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_or_replace(){return this.getRuleContext(0,w0)}triggerreferencing(){return this.getRuleContext(0,T6)}triggerforspec(){return this.getRuleContext(0,d6)}triggerwhen(){return this.getRuleContext(0,x6)}constraintattributespec(){return this.getRuleContext(0,o1)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}optconstrfromtable(){return this.getRuleContext(0,m6)}foreachrow(){return this.getRuleContext(0,R6)}get ruleIndex(){return t.RULE_createtrigstmt}enterRule(e){e.enterCreatetrigstmt&&e.enterCreatetrigstmt(this)}exitRule(e){e.exitCreatetrigstmt&&e.exitCreatetrigstmt(this)}accept(e){return e.visitCreatetrigstmt?e.visitCreatetrigstmt(this):e.visitChildren(this)}}class K6 extends u{constructor(e,i){super(e,i)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_INSTEAD(){return this.getToken(t.KW_INSTEAD,0)}KW_OF(){return this.getToken(t.KW_OF,0)}get ruleIndex(){return t.RULE_triggeractiontime}enterRule(e){e.enterTriggeractiontime&&e.enterTriggeractiontime(this)}exitRule(e){e.exitTriggeractiontime&&e.exitTriggeractiontime(this)}accept(e){return e.visitTriggeractiontime?e.visitTriggeractiontime(this):e.visitChildren(this)}}class R6 extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}roworstatment(){return this.getRuleContext(0,o6)}KW_EACH(){return this.getToken(t.KW_EACH,0)}get ruleIndex(){return t.RULE_foreachrow}enterRule(e){e.enterForeachrow&&e.enterForeachrow(this)}exitRule(e){e.exitForeachrow&&e.exitForeachrow(this)}accept(e){return e.visitForeachrow?e.visitForeachrow(this):e.visitChildren(this)}}class o6 extends u{constructor(e,i){super(e,i)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_STATEMENT(){return this.getToken(t.KW_STATEMENT,0)}get ruleIndex(){return t.RULE_roworstatment}enterRule(e){e.enterRoworstatment&&e.enterRoworstatment(this)}exitRule(e){e.exitRoworstatment&&e.exitRoworstatment(this)}accept(e){return e.visitRoworstatment?e.visitRoworstatment(this):e.visitChildren(this)}}class A6 extends u{constructor(e,i){super(e,i)}triggeroneevent(e){return e===void 0?this.getRuleContexts(C2):this.getRuleContext(e,C2)}KW_OR(e){return e===void 0?this.getTokens(t.KW_OR):this.getToken(t.KW_OR,e)}get ruleIndex(){return t.RULE_triggerevents}enterRule(e){e.enterTriggerevents&&e.enterTriggerevents(this)}exitRule(e){e.exitTriggerevents&&e.exitTriggerevents(this)}accept(e){return e.visitTriggerevents?e.visitTriggerevents(this):e.visitChildren(this)}}class C2 extends u{constructor(e,i){super(e,i)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_OF(){return this.getToken(t.KW_OF,0)}column_list(){return this.getRuleContext(0,mt)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}get ruleIndex(){return t.RULE_triggeroneevent}enterRule(e){e.enterTriggeroneevent&&e.enterTriggeroneevent(this)}exitRule(e){e.exitTriggeroneevent&&e.exitTriggeroneevent(this)}accept(e){return e.visitTriggeroneevent?e.visitTriggeroneevent(this):e.visitChildren(this)}}class T6 extends u{constructor(e,i){super(e,i)}KW_REFERENCING(){return this.getToken(t.KW_REFERENCING,0)}triggertransitions(){return this.getRuleContext(0,l6)}get ruleIndex(){return t.RULE_triggerreferencing}enterRule(e){e.enterTriggerreferencing&&e.enterTriggerreferencing(this)}exitRule(e){e.exitTriggerreferencing&&e.exitTriggerreferencing(this)}accept(e){return e.visitTriggerreferencing?e.visitTriggerreferencing(this):e.visitChildren(this)}}class l6 extends u{constructor(e,i){super(e,i)}triggertransition(e){return e===void 0?this.getRuleContexts(p2):this.getRuleContext(e,p2)}get ruleIndex(){return t.RULE_triggertransitions}enterRule(e){e.enterTriggertransitions&&e.enterTriggertransitions(this)}exitRule(e){e.exitTriggertransitions&&e.exitTriggertransitions(this)}accept(e){return e.visitTriggertransitions?e.visitTriggertransitions(this):e.visitChildren(this)}}class p2 extends u{constructor(e,i){super(e,i)}transitionoldornew(){return this.getRuleContext(0,r6)}transitionrowortable(){return this.getRuleContext(0,C6)}transitionrelname(){return this.getRuleContext(0,p6)}opt_as(){return this.getRuleContext(0,zh)}get ruleIndex(){return t.RULE_triggertransition}enterRule(e){e.enterTriggertransition&&e.enterTriggertransition(this)}exitRule(e){e.exitTriggertransition&&e.exitTriggertransition(this)}accept(e){return e.visitTriggertransition?e.visitTriggertransition(this):e.visitChildren(this)}}class r6 extends u{constructor(e,i){super(e,i)}KW_NEW(){return this.getToken(t.KW_NEW,0)}KW_OLD(){return this.getToken(t.KW_OLD,0)}get ruleIndex(){return t.RULE_transitionoldornew}enterRule(e){e.enterTransitionoldornew&&e.enterTransitionoldornew(this)}exitRule(e){e.exitTransitionoldornew&&e.exitTransitionoldornew(this)}accept(e){return e.visitTransitionoldornew?e.visitTransitionoldornew(this):e.visitChildren(this)}}class C6 extends u{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}get ruleIndex(){return t.RULE_transitionrowortable}enterRule(e){e.enterTransitionrowortable&&e.enterTransitionrowortable(this)}exitRule(e){e.exitTransitionrowortable&&e.exitTransitionrowortable(this)}accept(e){return e.visitTransitionrowortable?e.visitTransitionrowortable(this):e.visitChildren(this)}}class p6 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_transitionrelname}enterRule(e){e.enterTransitionrelname&&e.enterTransitionrelname(this)}exitRule(e){e.exitTransitionrelname&&e.exitTransitionrelname(this)}accept(e){return e.visitTransitionrelname?e.visitTransitionrelname(this):e.visitChildren(this)}}class d6 extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}triggerfortype(){return this.getRuleContext(0,L6)}triggerforopteach(){return this.getRuleContext(0,O6)}get ruleIndex(){return t.RULE_triggerforspec}enterRule(e){e.enterTriggerforspec&&e.enterTriggerforspec(this)}exitRule(e){e.exitTriggerforspec&&e.exitTriggerforspec(this)}accept(e){return e.visitTriggerforspec?e.visitTriggerforspec(this):e.visitChildren(this)}}class O6 extends u{constructor(e,i){super(e,i)}KW_EACH(){return this.getToken(t.KW_EACH,0)}get ruleIndex(){return t.RULE_triggerforopteach}enterRule(e){e.enterTriggerforopteach&&e.enterTriggerforopteach(this)}exitRule(e){e.exitTriggerforopteach&&e.exitTriggerforopteach(this)}accept(e){return e.visitTriggerforopteach?e.visitTriggerforopteach(this):e.visitChildren(this)}}class L6 extends u{constructor(e,i){super(e,i)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_STATEMENT(){return this.getToken(t.KW_STATEMENT,0)}get ruleIndex(){return t.RULE_triggerfortype}enterRule(e){e.enterTriggerfortype&&e.enterTriggerfortype(this)}exitRule(e){e.exitTriggerfortype&&e.exitTriggerfortype(this)}accept(e){return e.visitTriggerfortype?e.visitTriggerfortype(this):e.visitChildren(this)}}class x6 extends u{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_triggerwhen}enterRule(e){e.enterTriggerwhen&&e.enterTriggerwhen(this)}exitRule(e){e.exitTriggerwhen&&e.exitTriggerwhen(this)}accept(e){return e.visitTriggerwhen?e.visitTriggerwhen(this):e.visitChildren(this)}}class d2 extends u{constructor(e,i){super(e,i)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_name(){return this.getRuleContext(0,Ve)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_name(){return this.getRuleContext(0,G0)}get ruleIndex(){return t.RULE_function_or_procedure}enterRule(e){e.enterFunction_or_procedure&&e.enterFunction_or_procedure(this)}exitRule(e){e.exitFunction_or_procedure&&e.exitFunction_or_procedure(this)}accept(e){return e.visitFunction_or_procedure?e.visitFunction_or_procedure(this):e.visitChildren(this)}}class N6 extends u{constructor(e,i){super(e,i)}triggerfuncarg(e){return e===void 0?this.getRuleContexts(O2):this.getRuleContext(e,O2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_triggerfuncargs}enterRule(e){e.enterTriggerfuncargs&&e.enterTriggerfuncargs(this)}exitRule(e){e.exitTriggerfuncargs&&e.exitTriggerfuncargs(this)}accept(e){return e.visitTriggerfuncargs?e.visitTriggerfuncargs(this):e.visitChildren(this)}}class O2 extends u{constructor(e,i){super(e,i)}iconst(){return this.getRuleContext(0,At)}fconst(){return this.getRuleContext(0,D1)}sconst(){return this.getRuleContext(0,Y)}collabel(){return this.getRuleContext(0,Yt)}get ruleIndex(){return t.RULE_triggerfuncarg}enterRule(e){e.enterTriggerfuncarg&&e.enterTriggerfuncarg(this)}exitRule(e){e.exitTriggerfuncarg&&e.exitTriggerfuncarg(this)}accept(e){return e.visitTriggerfuncarg?e.visitTriggerfuncarg(this):e.visitChildren(this)}}class m6 extends u{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}qualified_name(){return this.getRuleContext(0,ot)}get ruleIndex(){return t.RULE_optconstrfromtable}enterRule(e){e.enterOptconstrfromtable&&e.enterOptconstrfromtable(this)}exitRule(e){e.exitOptconstrfromtable&&e.exitOptconstrfromtable(this)}accept(e){return e.visitOptconstrfromtable?e.visitOptconstrfromtable(this):e.visitChildren(this)}}class o1 extends u{constructor(e,i){super(e,i)}constraintattributeElem(e){return e===void 0?this.getRuleContexts(L2):this.getRuleContext(e,L2)}get ruleIndex(){return t.RULE_constraintattributespec}enterRule(e){e.enterConstraintattributespec&&e.enterConstraintattributespec(this)}exitRule(e){e.exitConstraintattributespec&&e.exitConstraintattributespec(this)}accept(e){return e.visitConstraintattributespec?e.visitConstraintattributespec(this):e.visitChildren(this)}}class L2 extends u{constructor(e,i){super(e,i)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_INITIALLY(){return this.getToken(t.KW_INITIALLY,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_VALID(){return this.getToken(t.KW_VALID,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}get ruleIndex(){return t.RULE_constraintattributeElem}enterRule(e){e.enterConstraintattributeElem&&e.enterConstraintattributeElem(this)}exitRule(e){e.exitConstraintattributeElem&&e.exitConstraintattributeElem(this)}accept(e){return e.visitConstraintattributeElem?e.visitConstraintattributeElem(this):e.visitChildren(this)}}class I6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}name(){return this.getRuleContext(0,D)}KW_ON(){return this.getToken(t.KW_ON,0)}collabel(){return this.getRuleContext(0,Yt)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}function_or_procedure(){return this.getRuleContext(0,d2)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}event_trigger_when_list(){return this.getRuleContext(0,f6)}get ruleIndex(){return t.RULE_createeventtrigstmt}enterRule(e){e.enterCreateeventtrigstmt&&e.enterCreateeventtrigstmt(this)}exitRule(e){e.exitCreateeventtrigstmt&&e.exitCreateeventtrigstmt(this)}accept(e){return e.visitCreateeventtrigstmt?e.visitCreateeventtrigstmt(this):e.visitChildren(this)}}class f6 extends u{constructor(e,i){super(e,i)}event_trigger_when_item(e){return e===void 0?this.getRuleContexts(x2):this.getRuleContext(e,x2)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_event_trigger_when_list}enterRule(e){e.enterEvent_trigger_when_list&&e.enterEvent_trigger_when_list(this)}exitRule(e){e.exitEvent_trigger_when_list&&e.exitEvent_trigger_when_list(this)}accept(e){return e.visitEvent_trigger_when_list?e.visitEvent_trigger_when_list(this):e.visitChildren(this)}}class x2 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}KW_IN(){return this.getToken(t.KW_IN,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}event_trigger_value_list(){return this.getRuleContext(0,U6)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_event_trigger_when_item}enterRule(e){e.enterEvent_trigger_when_item&&e.enterEvent_trigger_when_item(this)}exitRule(e){e.exitEvent_trigger_when_item&&e.exitEvent_trigger_when_item(this)}accept(e){return e.visitEvent_trigger_when_item?e.visitEvent_trigger_when_item(this):e.visitChildren(this)}}class U6 extends u{constructor(e,i){super(e,i)}sconst(e){return e===void 0?this.getRuleContexts(Y):this.getRuleContext(e,Y)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_event_trigger_value_list}enterRule(e){e.enterEvent_trigger_value_list&&e.enterEvent_trigger_value_list(this)}exitRule(e){e.exitEvent_trigger_value_list&&e.exitEvent_trigger_value_list(this)}accept(e){return e.visitEvent_trigger_value_list?e.visitEvent_trigger_value_list(this):e.visitChildren(this)}}class k6 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}name(){return this.getRuleContext(0,D)}enable_trigger(){return this.getRuleContext(0,D6)}get ruleIndex(){return t.RULE_altereventtrigstmt}enterRule(e){e.enterAltereventtrigstmt&&e.enterAltereventtrigstmt(this)}exitRule(e){e.exitAltereventtrigstmt&&e.exitAltereventtrigstmt(this)}accept(e){return e.visitAltereventtrigstmt?e.visitAltereventtrigstmt(this):e.visitChildren(this)}}class D6 extends u{constructor(e,i){super(e,i)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}get ruleIndex(){return t.RULE_enable_trigger}enterRule(e){e.enterEnable_trigger&&e.enterEnable_trigger(this)}exitRule(e){e.exitEnable_trigger&&e.exitEnable_trigger(this)}accept(e){return e.visitEnable_trigger?e.visitEnable_trigger(this):e.visitChildren(this)}}class M6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ASSERTION(){return this.getToken(t.KW_ASSERTION,0)}any_name(){return this.getRuleContext(0,B)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}constraintattributespec(){return this.getRuleContext(0,o1)}get ruleIndex(){return t.RULE_createassertionstmt}enterRule(e){e.enterCreateassertionstmt&&e.enterCreateassertionstmt(this)}exitRule(e){e.exitCreateassertionstmt&&e.exitCreateassertionstmt(this)}accept(e){return e.visitCreateassertionstmt?e.visitCreateassertionstmt(this):e.visitChildren(this)}}class y6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}function_name(){return this.getRuleContext(0,Ve)}aggr_args(){return this.getRuleContext(0,g2)}definition(){return this.getRuleContext(0,Ai)}opt_or_replace(){return this.getRuleContext(0,w0)}old_aggr_definition(){return this.getRuleContext(0,w6)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}any_operator(){return this.getRuleContext(0,h0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opttablefuncelementlist(){return this.getRuleContext(0,nW)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}opt_enum_val_list(){return this.getRuleContext(0,v6)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}opt_if_not_exists(){return this.getRuleContext(0,ft)}KW_FROM(){return this.getToken(t.KW_FROM,0)}get ruleIndex(){return t.RULE_definestmt}enterRule(e){e.enterDefinestmt&&e.enterDefinestmt(this)}exitRule(e){e.exitDefinestmt&&e.exitDefinestmt(this)}accept(e){return e.visitDefinestmt?e.visitDefinestmt(this):e.visitChildren(this)}}class Ai extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}def_list(){return this.getRuleContext(0,H6)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_definition}enterRule(e){e.enterDefinition&&e.enterDefinition(this)}exitRule(e){e.exitDefinition&&e.exitDefinition(this)}accept(e){return e.visitDefinition?e.visitDefinition(this):e.visitChildren(this)}}class H6 extends u{constructor(e,i){super(e,i)}def_elem(e){return e===void 0?this.getRuleContexts(N2):this.getRuleContext(e,N2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_def_list}enterRule(e){e.enterDef_list&&e.enterDef_list(this)}exitRule(e){e.exitDef_list&&e.exitDef_list(this)}accept(e){return e.visitDef_list?e.visitDef_list(this):e.visitChildren(this)}}class N2 extends u{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,Yt)}EQUAL(){return this.getToken(t.EQUAL,0)}def_arg(){return this.getRuleContext(0,Hh)}get ruleIndex(){return t.RULE_def_elem}enterRule(e){e.enterDef_elem&&e.enterDef_elem(this)}exitRule(e){e.exitDef_elem&&e.exitDef_elem(this)}accept(e){return e.visitDef_elem?e.visitDef_elem(this):e.visitChildren(this)}}class Hh extends u{constructor(e,i){super(e,i)}func_type(){return this.getRuleContext(0,ri)}reserved_keyword(){return this.getRuleContext(0,y1)}qual_all_op(){return this.getRuleContext(0,Rc)}numericonly(){return this.getRuleContext(0,Ot)}sconst(){return this.getRuleContext(0,Y)}KW_NONE(){return this.getToken(t.KW_NONE,0)}get ruleIndex(){return t.RULE_def_arg}enterRule(e){e.enterDef_arg&&e.enterDef_arg(this)}exitRule(e){e.exitDef_arg&&e.exitDef_arg(this)}accept(e){return e.visitDef_arg?e.visitDef_arg(this):e.visitChildren(this)}}class w6 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}old_aggr_list(){return this.getRuleContext(0,b6)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_old_aggr_definition}enterRule(e){e.enterOld_aggr_definition&&e.enterOld_aggr_definition(this)}exitRule(e){e.exitOld_aggr_definition&&e.exitOld_aggr_definition(this)}accept(e){return e.visitOld_aggr_definition?e.visitOld_aggr_definition(this):e.visitChildren(this)}}class b6 extends u{constructor(e,i){super(e,i)}old_aggr_elem(e){return e===void 0?this.getRuleContexts(wh):this.getRuleContext(e,wh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_old_aggr_list}enterRule(e){e.enterOld_aggr_list&&e.enterOld_aggr_list(this)}exitRule(e){e.exitOld_aggr_list&&e.exitOld_aggr_list(this)}accept(e){return e.visitOld_aggr_list?e.visitOld_aggr_list(this):e.visitChildren(this)}}class wh extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}EQUAL(){return this.getToken(t.EQUAL,0)}def_arg(){return this.getRuleContext(0,Hh)}get ruleIndex(){return t.RULE_old_aggr_elem}enterRule(e){e.enterOld_aggr_elem&&e.enterOld_aggr_elem(this)}exitRule(e){e.exitOld_aggr_elem&&e.exitOld_aggr_elem(this)}accept(e){return e.visitOld_aggr_elem?e.visitOld_aggr_elem(this):e.visitChildren(this)}}class v6 extends u{constructor(e,i){super(e,i)}enum_val_list(){return this.getRuleContext(0,F6)}get ruleIndex(){return t.RULE_opt_enum_val_list}enterRule(e){e.enterOpt_enum_val_list&&e.enterOpt_enum_val_list(this)}exitRule(e){e.exitOpt_enum_val_list&&e.exitOpt_enum_val_list(this)}accept(e){return e.visitOpt_enum_val_list?e.visitOpt_enum_val_list(this):e.visitChildren(this)}}class F6 extends u{constructor(e,i){super(e,i)}sconst(e){return e===void 0?this.getRuleContexts(Y):this.getRuleContext(e,Y)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_enum_val_list}enterRule(e){e.enterEnum_val_list&&e.enterEnum_val_list(this)}exitRule(e){e.exitEnum_val_list&&e.exitEnum_val_list(this)}accept(e){return e.visitEnum_val_list?e.visitEnum_val_list(this):e.visitChildren(this)}}class G6 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(){return this.getRuleContext(0,B)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}sconst(e){return e===void 0?this.getRuleContexts(Y):this.getRuleContext(e,Y)}opt_if_not_exists(){return this.getRuleContext(0,ft)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_alterenumstmt}enterRule(e){e.enterAlterenumstmt&&e.enterAlterenumstmt(this)}exitRule(e){e.exitAlterenumstmt&&e.exitAlterenumstmt(this)}accept(e){return e.visitAlterenumstmt?e.visitAlterenumstmt(this):e.visitChildren(this)}}class ft extends u{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_opt_if_not_exists}enterRule(e){e.enterOpt_if_not_exists&&e.enterOpt_if_not_exists(this)}exitRule(e){e.exitOpt_if_not_exists&&e.exitOpt_if_not_exists(this)}accept(e){return e.visitOpt_if_not_exists?e.visitOpt_if_not_exists(this):e.visitChildren(this)}}class B6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}any_name(){return this.getRuleContext(0,B)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,j)}KW_USING(){return this.getToken(t.KW_USING,0)}name(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(t.KW_AS,0)}opclass_item_list(){return this.getRuleContext(0,m2)}opt_default(){return this.getRuleContext(0,f2)}opt_opfamily(){return this.getRuleContext(0,V6)}get ruleIndex(){return t.RULE_createopclassstmt}enterRule(e){e.enterCreateopclassstmt&&e.enterCreateopclassstmt(this)}exitRule(e){e.exitCreateopclassstmt&&e.exitCreateopclassstmt(this)}accept(e){return e.visitCreateopclassstmt?e.visitCreateopclassstmt(this):e.visitChildren(this)}}class m2 extends u{constructor(e,i){super(e,i)}opclass_item(e){return e===void 0?this.getRuleContexts(I2):this.getRuleContext(e,I2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opclass_item_list}enterRule(e){e.enterOpclass_item_list&&e.enterOpclass_item_list(this)}exitRule(e){e.exitOpclass_item_list&&e.exitOpclass_item_list(this)}accept(e){return e.visitOpclass_item_list?e.visitOpclass_item_list(this):e.visitChildren(this)}}class I2 extends u{constructor(e,i){super(e,i)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}iconst(){return this.getRuleContext(0,At)}any_operator(){return this.getRuleContext(0,h0)}opclass_purpose(){return this.getRuleContext(0,Y6)}opt_recheck(){return this.getRuleContext(0,X6)}operator_with_argtypes(){return this.getRuleContext(0,Be)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}type_list(){return this.getRuleContext(0,xi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}typename(){return this.getRuleContext(0,j)}get ruleIndex(){return t.RULE_opclass_item}enterRule(e){e.enterOpclass_item&&e.enterOpclass_item(this)}exitRule(e){e.exitOpclass_item&&e.exitOpclass_item(this)}accept(e){return e.visitOpclass_item?e.visitOpclass_item(this):e.visitChildren(this)}}class f2 extends u{constructor(e,i){super(e,i)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_opt_default}enterRule(e){e.enterOpt_default&&e.enterOpt_default(this)}exitRule(e){e.exitOpt_default&&e.exitOpt_default(this)}accept(e){return e.visitOpt_default?e.visitOpt_default(this):e.visitChildren(this)}}class V6 extends u{constructor(e,i){super(e,i)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_opt_opfamily}enterRule(e){e.enterOpt_opfamily&&e.enterOpt_opfamily(this)}exitRule(e){e.exitOpt_opfamily&&e.exitOpt_opfamily(this)}accept(e){return e.visitOpt_opfamily?e.visitOpt_opfamily(this):e.visitChildren(this)}}class Y6 extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_opclass_purpose}enterRule(e){e.enterOpclass_purpose&&e.enterOpclass_purpose(this)}exitRule(e){e.exitOpclass_purpose&&e.exitOpclass_purpose(this)}accept(e){return e.visitOpclass_purpose?e.visitOpclass_purpose(this):e.visitChildren(this)}}class X6 extends u{constructor(e,i){super(e,i)}KW_RECHECK(){return this.getToken(t.KW_RECHECK,0)}get ruleIndex(){return t.RULE_opt_recheck}enterRule(e){e.enterOpt_recheck&&e.enterOpt_recheck(this)}exitRule(e){e.exitOpt_recheck&&e.exitOpt_recheck(this)}accept(e){return e.visitOpt_recheck?e.visitOpt_recheck(this):e.visitChildren(this)}}class Q6 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}any_name(){return this.getRuleContext(0,B)}KW_USING(){return this.getToken(t.KW_USING,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_createopfamilystmt}enterRule(e){e.enterCreateopfamilystmt&&e.enterCreateopfamilystmt(this)}exitRule(e){e.exitCreateopfamilystmt&&e.exitCreateopfamilystmt(this)}accept(e){return e.visitCreateopfamilystmt?e.visitCreateopfamilystmt(this):e.visitChildren(this)}}class Z6 extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}any_name(){return this.getRuleContext(0,B)}KW_USING(){return this.getToken(t.KW_USING,0)}name(){return this.getRuleContext(0,D)}KW_ADD(){return this.getToken(t.KW_ADD,0)}opclass_item_list(){return this.getRuleContext(0,m2)}KW_DROP(){return this.getToken(t.KW_DROP,0)}opclass_drop_list(){return this.getRuleContext(0,z6)}get ruleIndex(){return t.RULE_alteropfamilystmt}enterRule(e){e.enterAlteropfamilystmt&&e.enterAlteropfamilystmt(this)}exitRule(e){e.exitAlteropfamilystmt&&e.exitAlteropfamilystmt(this)}accept(e){return e.visitAlteropfamilystmt?e.visitAlteropfamilystmt(this):e.visitChildren(this)}}class z6 extends u{constructor(e,i){super(e,i)}opclass_drop(e){return e===void 0?this.getRuleContexts(U2):this.getRuleContext(e,U2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opclass_drop_list}enterRule(e){e.enterOpclass_drop_list&&e.enterOpclass_drop_list(this)}exitRule(e){e.exitOpclass_drop_list&&e.exitOpclass_drop_list(this)}accept(e){return e.visitOpclass_drop_list?e.visitOpclass_drop_list(this):e.visitChildren(this)}}class U2 extends u{constructor(e,i){super(e,i)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}iconst(){return this.getRuleContext(0,At)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}type_list(){return this.getRuleContext(0,xi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}get ruleIndex(){return t.RULE_opclass_drop}enterRule(e){e.enterOpclass_drop&&e.enterOpclass_drop(this)}exitRule(e){e.exitOpclass_drop&&e.exitOpclass_drop(this)}accept(e){return e.visitOpclass_drop?e.visitOpclass_drop(this):e.visitChildren(this)}}class j6 extends u{constructor(e,i){super(e,i)}KW_REASSIGN(){return this.getToken(t.KW_REASSIGN,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}role_list(){return this.getRuleContext(0,ce)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_reassignownedstmt}enterRule(e){e.enterReassignownedstmt&&e.enterReassignownedstmt(this)}exitRule(e){e.exitReassignownedstmt&&e.exitReassignownedstmt(this)}accept(e){return e.visitReassignownedstmt?e.visitReassignownedstmt(this):e.visitChildren(this)}}class J6 extends u{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_list(){return this.getRuleContext(0,w5)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}name_list(){return this.getRuleContext(0,mi)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_nameList(){return this.getRuleContext(0,$6)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}opt_procedural(){return this.getRuleContext(0,oi)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_list(){return this.getRuleContext(0,pc)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}name(){return this.getRuleContext(0,D)}KW_ON(){return this.getToken(t.KW_ON,0)}any_name(){return this.getRuleContext(0,B)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}type_name_list(){return this.getRuleContext(0,q6)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}any_name_list(){return this.getRuleContext(0,A1)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}role_list(){return this.getRuleContext(0,ce)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}auth_ident(){return this.getRuleContext(0,yh)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}drop_option_list(){return this.getRuleContext(0,D_)}opt_with(){return this.getRuleContext(0,Re)}get ruleIndex(){return t.RULE_dropstmt}enterRule(e){e.enterDropstmt&&e.enterDropstmt(this)}exitRule(e){e.exitDropstmt&&e.exitDropstmt(this)}accept(e){return e.visitDropstmt?e.visitDropstmt(this):e.visitChildren(this)}}class $6 extends u{constructor(e,i){super(e,i)}view_name(e){return e===void 0?this.getRuleContexts(le):this.getRuleContext(e,le)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_view_nameList}enterRule(e){e.enterView_nameList&&e.enterView_nameList(this)}exitRule(e){e.exitView_nameList&&e.exitView_nameList(this)}accept(e){return e.visitView_nameList?e.visitView_nameList(this):e.visitChildren(this)}}class bh extends u{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name(){return this.getRuleContext(0,Lt)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,le)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}any_name(){return this.getRuleContext(0,B)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}get ruleIndex(){return t.RULE_object_type_any_name}enterRule(e){e.enterObject_type_any_name&&e.enterObject_type_any_name(this)}exitRule(e){e.exitObject_type_any_name&&e.exitObject_type_any_name(this)}accept(e){return e.visitObject_type_any_name?e.visitObject_type_any_name(this):e.visitChildren(this)}}class vh extends u{constructor(e,i){super(e,i)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}name(){return this.getRuleContext(0,D)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}opt_procedural(){return this.getRuleContext(0,oi)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}get ruleIndex(){return t.RULE_object_type_name}enterRule(e){e.enterObject_type_name&&e.enterObject_type_name(this)}exitRule(e){e.exitObject_type_name&&e.exitObject_type_name(this)}accept(e){return e.visitObject_type_name?e.visitObject_type_name(this):e.visitChildren(this)}}class vT extends u{constructor(e,i){super(e,i)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}get ruleIndex(){return t.RULE_object_type_name_on_any_name}enterRule(e){e.enterObject_type_name_on_any_name&&e.enterObject_type_name_on_any_name(this)}exitRule(e){e.exitObject_type_name_on_any_name&&e.exitObject_type_name_on_any_name(this)}accept(e){return e.visitObject_type_name_on_any_name?e.visitObject_type_name_on_any_name(this):e.visitChildren(this)}}class A1 extends u{constructor(e,i){super(e,i)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_any_name_list}enterRule(e){e.enterAny_name_list&&e.enterAny_name_list(this)}exitRule(e){e.exitAny_name_list&&e.exitAny_name_list(this)}accept(e){return e.visitAny_name_list?e.visitAny_name_list(this):e.visitChildren(this)}}class S6 extends u{constructor(e,i){super(e,i)}relation_name(){return this.getRuleContext(0,g6)}DOT(){return this.getToken(t.DOT,0)}column_name(){return this.getRuleContext(0,Wt)}get ruleIndex(){return t.RULE_relation_column_name}enterRule(e){e.enterRelation_column_name&&e.enterRelation_column_name(this)}exitRule(e){e.exitRelation_column_name&&e.exitRelation_column_name(this)}accept(e){return e.visitRelation_column_name?e.visitRelation_column_name(this):e.visitChildren(this)}}class g6 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}get ruleIndex(){return t.RULE_relation_name}enterRule(e){e.enterRelation_name&&e.enterRelation_name(this)}exitRule(e){e.exitRelation_name&&e.exitRelation_name(this)}accept(e){return e.visitRelation_name?e.visitRelation_name(this):e.visitChildren(this)}}class B extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}get ruleIndex(){return t.RULE_any_name}enterRule(e){e.enterAny_name&&e.enterAny_name(this)}exitRule(e){e.exitAny_name&&e.exitAny_name(this)}accept(e){return e.visitAny_name?e.visitAny_name(this):e.visitChildren(this)}}class oe extends u{constructor(e,i){super(e,i)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}attr_name(e){return e===void 0?this.getRuleContexts(k1):this.getRuleContext(e,k1)}get ruleIndex(){return t.RULE_attrs}enterRule(e){e.enterAttrs&&e.enterAttrs(this)}exitRule(e){e.exitAttrs&&e.exitAttrs(this)}accept(e){return e.visitAttrs?e.visitAttrs(this):e.visitChildren(this)}}class q6 extends u{constructor(e,i){super(e,i)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_type_name_list}enterRule(e){e.enterType_name_list&&e.enterType_name_list(this)}exitRule(e){e.exitType_name_list&&e.exitType_name_list(this)}accept(e){return e.visitType_name_list?e.visitType_name_list(this):e.visitChildren(this)}}class P6 extends u{constructor(e,i){super(e,i)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}truncate_table(e){return e===void 0?this.getRuleContexts(k2):this.getRuleContext(e,k2)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}get ruleIndex(){return t.RULE_truncatestmt}enterRule(e){e.enterTruncatestmt&&e.enterTruncatestmt(this)}exitRule(e){e.exitTruncatestmt&&e.exitTruncatestmt(this)}accept(e){return e.visitTruncatestmt?e.visitTruncatestmt(this):e.visitChildren(this)}}class k2 extends u{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,Lt)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}get ruleIndex(){return t.RULE_truncate_table}enterRule(e){e.enterTruncate_table&&e.enterTruncate_table(this)}exitRule(e){e.exitTruncate_table&&e.exitTruncate_table(this)}accept(e){return e.visitTruncate_table?e.visitTruncate_table(this):e.visitChildren(this)}}class tE extends u{constructor(e,i){super(e,i)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}object_type_any_name(){return this.getRuleContext(0,bh)}KW_IS(){return this.getToken(t.KW_IS,0)}comment_text(){return this.getRuleContext(0,eE)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}relation_column_name(){return this.getRuleContext(0,S6)}object_type_name(){return this.getRuleContext(0,vh)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ge)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,Be)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}name(){return this.getRuleContext(0,D)}table_name(){return this.getRuleContext(0,Lt)}any_name(){return this.getRuleContext(0,B)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(){return this.getRuleContext(0,Ot)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_commentstmt}enterRule(e){e.enterCommentstmt&&e.enterCommentstmt(this)}exitRule(e){e.exitCommentstmt&&e.exitCommentstmt(this)}accept(e){return e.visitCommentstmt?e.visitCommentstmt(this):e.visitChildren(this)}}class eE extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_comment_text}enterRule(e){e.enterComment_text&&e.enterComment_text(this)}exitRule(e){e.exitComment_text&&e.exitComment_text(this)}accept(e){return e.visitComment_text?e.visitComment_text(this):e.visitChildren(this)}}class iE extends u{constructor(e,i){super(e,i)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_LABEL(){return this.getToken(t.KW_LABEL,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}column_name(){return this.getRuleContext(0,Wt)}KW_IS(){return this.getToken(t.KW_IS,0)}security_label(){return this.getRuleContext(0,sE)}opt_provider(){return this.getRuleContext(0,nE)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,j)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ge)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(){return this.getRuleContext(0,Ot)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}object_type_any_name(){return this.getRuleContext(0,bh)}object_type_name(){return this.getRuleContext(0,vh)}get ruleIndex(){return t.RULE_seclabelstmt}enterRule(e){e.enterSeclabelstmt&&e.enterSeclabelstmt(this)}exitRule(e){e.exitSeclabelstmt&&e.exitSeclabelstmt(this)}accept(e){return e.visitSeclabelstmt?e.visitSeclabelstmt(this):e.visitChildren(this)}}class nE extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}get ruleIndex(){return t.RULE_opt_provider}enterRule(e){e.enterOpt_provider&&e.enterOpt_provider(this)}exitRule(e){e.exitOpt_provider&&e.exitOpt_provider(this)}accept(e){return e.visitOpt_provider?e.visitOpt_provider(this):e.visitChildren(this)}}class sE extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_security_label}enterRule(e){e.enterSecurity_label&&e.enterSecurity_label(this)}exitRule(e){e.exitSecurity_label&&e.exitSecurity_label(this)}accept(e){return e.visitSecurity_label?e.visitSecurity_label(this):e.visitChildren(this)}}class hE extends u{constructor(e,i){super(e,i)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}fetch_args(){return this.getRuleContext(0,cE)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}get ruleIndex(){return t.RULE_fetchstmt}enterRule(e){e.enterFetchstmt&&e.enterFetchstmt(this)}exitRule(e){e.exitFetchstmt&&e.exitFetchstmt(this)}accept(e){return e.visitFetchstmt?e.visitFetchstmt(this):e.visitChildren(this)}}class cE extends u{constructor(e,i){super(e,i)}cursor_name(){return this.getRuleContext(0,di)}from_in(){return this.getRuleContext(0,D2)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}opt_from_in(){return this.getRuleContext(0,aE)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}signediconst(){return this.getRuleContext(0,V0)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}get ruleIndex(){return t.RULE_fetch_args}enterRule(e){e.enterFetch_args&&e.enterFetch_args(this)}exitRule(e){e.exitFetch_args&&e.exitFetch_args(this)}accept(e){return e.visitFetch_args?e.visitFetch_args(this):e.visitChildren(this)}}class D2 extends u{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}get ruleIndex(){return t.RULE_from_in}enterRule(e){e.enterFrom_in&&e.enterFrom_in(this)}exitRule(e){e.exitFrom_in&&e.exitFrom_in(this)}accept(e){return e.visitFrom_in?e.visitFrom_in(this):e.visitChildren(this)}}class aE extends u{constructor(e,i){super(e,i)}from_in(){return this.getRuleContext(0,D2)}get ruleIndex(){return t.RULE_opt_from_in}enterRule(e){e.enterOpt_from_in&&e.enterOpt_from_in(this)}exitRule(e){e.exitOpt_from_in&&e.exitOpt_from_in(this)}accept(e){return e.visitOpt_from_in?e.visitOpt_from_in(this):e.visitChildren(this)}}class M2 extends u{constructor(e,i){super(e,i)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}privileges(){return this.getRuleContext(0,Fh)}KW_ON(){return this.getToken(t.KW_ON,0)}privilege_target(){return this.getRuleContext(0,w2)}KW_TO(){return this.getToken(t.KW_TO,0)}grantee_list(){return this.getRuleContext(0,Bh)}opt_grant_grant_option(){return this.getRuleContext(0,v2)}get ruleIndex(){return t.RULE_grantstmt}enterRule(e){e.enterGrantstmt&&e.enterGrantstmt(this)}exitRule(e){e.exitGrantstmt&&e.exitGrantstmt(this)}accept(e){return e.visitGrantstmt?e.visitGrantstmt(this):e.visitChildren(this)}}class uE extends u{constructor(e,i){super(e,i)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}privileges(){return this.getRuleContext(0,Fh)}KW_ON(){return this.getToken(t.KW_ON,0)}privilege_target(){return this.getRuleContext(0,w2)}KW_FROM(){return this.getToken(t.KW_FROM,0)}grantee_list(){return this.getRuleContext(0,Bh)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}get ruleIndex(){return t.RULE_revokestmt}enterRule(e){e.enterRevokestmt&&e.enterRevokestmt(this)}exitRule(e){e.exitRevokestmt&&e.exitRevokestmt(this)}accept(e){return e.visitRevokestmt?e.visitRevokestmt(this):e.visitChildren(this)}}class Fh extends u{constructor(e,i){super(e,i)}privilege_list(){return this.getRuleContext(0,Gh)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}beforeprivilegeselectlist(){return this.getRuleContext(0,EE)}get ruleIndex(){return t.RULE_privileges}enterRule(e){e.enterPrivileges&&e.enterPrivileges(this)}exitRule(e){e.exitPrivileges&&e.exitPrivileges(this)}accept(e){return e.visitPrivileges?e.visitPrivileges(this):e.visitChildren(this)}}class EE extends u{constructor(e,i){super(e,i)}beforeprivilegeselect(e){return e===void 0?this.getRuleContexts(y2):this.getRuleContext(e,y2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_beforeprivilegeselectlist}enterRule(e){e.enterBeforeprivilegeselectlist&&e.enterBeforeprivilegeselectlist(this)}exitRule(e){e.exitBeforeprivilegeselectlist&&e.exitBeforeprivilegeselectlist(this)}accept(e){return e.visitBeforeprivilegeselectlist?e.visitBeforeprivilegeselectlist(this):e.visitChildren(this)}}class y2 extends u{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_PEFERENCES(){return this.getToken(t.KW_PEFERENCES,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_USAGE(){return this.getToken(t.KW_USAGE,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CONNECT(){return this.getToken(t.KW_CONNECT,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}get ruleIndex(){return t.RULE_beforeprivilegeselect}enterRule(e){e.enterBeforeprivilegeselect&&e.enterBeforeprivilegeselect(this)}exitRule(e){e.exitBeforeprivilegeselect&&e.exitBeforeprivilegeselect(this)}accept(e){return e.visitBeforeprivilegeselect?e.visitBeforeprivilegeselect(this):e.visitChildren(this)}}class Gh extends u{constructor(e,i){super(e,i)}privilege(e){return e===void 0?this.getRuleContexts(H2):this.getRuleContext(e,H2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_privilege_list}enterRule(e){e.enterPrivilege_list&&e.enterPrivilege_list(this)}exitRule(e){e.exitPrivilege_list&&e.exitPrivilege_list(this)}accept(e){return e.visitPrivilege_list?e.visitPrivilege_list(this):e.visitChildren(this)}}class H2 extends u{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}opt_column_list(){return this.getRuleContext(0,E1)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_privilege}enterRule(e){e.enterPrivilege&&e.enterPrivilege(this)}exitRule(e){e.exitPrivilege&&e.exitPrivilege(this)}accept(e){return e.visitPrivilege?e.visitPrivilege(this):e.visitChildren(this)}}class w2 extends u{constructor(e,i){super(e,i)}qualified_name_list(){return this.getRuleContext(0,I1)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_list(){return this.getRuleContext(0,w5)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}name_list(){return this.getRuleContext(0,mi)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes_list(){return this.getRuleContext(0,j2)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes_list(){return this.getRuleContext(0,z2)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes_list(){return this.getRuleContext(0,Z2)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_nameList(){return this.getRuleContext(0,cK)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}any_name_list(){return this.getRuleContext(0,A1)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly_list(){return this.getRuleContext(0,Iu)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_list(){return this.getRuleContext(0,pc)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_list(){return this.getRuleContext(0,aK)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}KW_FUNCTIONS(){return this.getToken(t.KW_FUNCTIONS,0)}KW_PROCEDURES(){return this.getToken(t.KW_PROCEDURES,0)}KW_ROUTINES(){return this.getToken(t.KW_ROUTINES,0)}get ruleIndex(){return t.RULE_privilege_target}enterRule(e){e.enterPrivilege_target&&e.enterPrivilege_target(this)}exitRule(e){e.exitPrivilege_target&&e.exitPrivilege_target(this)}accept(e){return e.visitPrivilege_target?e.visitPrivilege_target(this):e.visitChildren(this)}}class Bh extends u{constructor(e,i){super(e,i)}grantee(e){return e===void 0?this.getRuleContexts(b2):this.getRuleContext(e,b2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_grantee_list}enterRule(e){e.enterGrantee_list&&e.enterGrantee_list(this)}exitRule(e){e.exitGrantee_list&&e.exitGrantee_list(this)}accept(e){return e.visitGrantee_list?e.visitGrantee_list(this):e.visitChildren(this)}}class b2 extends u{constructor(e,i){super(e,i)}rolespec(){return this.getRuleContext(0,rt)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}get ruleIndex(){return t.RULE_grantee}enterRule(e){e.enterGrantee&&e.enterGrantee(this)}exitRule(e){e.exitGrantee&&e.exitGrantee(this)}accept(e){return e.visitGrantee?e.visitGrantee(this):e.visitChildren(this)}}class v2 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}get ruleIndex(){return t.RULE_opt_grant_grant_option}enterRule(e){e.enterOpt_grant_grant_option&&e.enterOpt_grant_grant_option(this)}exitRule(e){e.exitOpt_grant_grant_option&&e.exitOpt_grant_grant_option(this)}accept(e){return e.visitOpt_grant_grant_option?e.visitOpt_grant_grant_option(this):e.visitChildren(this)}}class _E extends u{constructor(e,i){super(e,i)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}privilege_list(){return this.getRuleContext(0,Gh)}KW_TO(){return this.getToken(t.KW_TO,0)}role_list(){return this.getRuleContext(0,ce)}opt_grant_admin_option(){return this.getRuleContext(0,KE)}opt_granted_by(){return this.getRuleContext(0,F2)}get ruleIndex(){return t.RULE_grantrolestmt}enterRule(e){e.enterGrantrolestmt&&e.enterGrantrolestmt(this)}exitRule(e){e.exitGrantrolestmt&&e.exitGrantrolestmt(this)}accept(e){return e.visitGrantrolestmt?e.visitGrantrolestmt(this):e.visitChildren(this)}}class WE extends u{constructor(e,i){super(e,i)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}privilege_list(){return this.getRuleContext(0,Gh)}KW_FROM(){return this.getToken(t.KW_FROM,0)}role_list(){return this.getRuleContext(0,ce)}opt_granted_by(){return this.getRuleContext(0,F2)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}get ruleIndex(){return t.RULE_revokerolestmt}enterRule(e){e.enterRevokerolestmt&&e.enterRevokerolestmt(this)}exitRule(e){e.exitRevokerolestmt&&e.exitRevokerolestmt(this)}accept(e){return e.visitRevokerolestmt?e.visitRevokerolestmt(this):e.visitChildren(this)}}class KE extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}get ruleIndex(){return t.RULE_opt_grant_admin_option}enterRule(e){e.enterOpt_grant_admin_option&&e.enterOpt_grant_admin_option(this)}exitRule(e){e.exitOpt_grant_admin_option&&e.exitOpt_grant_admin_option(this)}accept(e){return e.visitOpt_grant_admin_option?e.visitOpt_grant_admin_option(this):e.visitChildren(this)}}class F2 extends u{constructor(e,i){super(e,i)}KW_GRANTED(){return this.getToken(t.KW_GRANTED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_opt_granted_by}enterRule(e){e.enterOpt_granted_by&&e.enterOpt_granted_by(this)}exitRule(e){e.exitOpt_granted_by&&e.exitOpt_granted_by(this)}accept(e){return e.visitOpt_granted_by?e.visitOpt_granted_by(this):e.visitChildren(this)}}class RE extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}defacloptionlist(){return this.getRuleContext(0,oE)}defaclaction(){return this.getRuleContext(0,AE)}get ruleIndex(){return t.RULE_alterdefaultprivilegesstmt}enterRule(e){e.enterAlterdefaultprivilegesstmt&&e.enterAlterdefaultprivilegesstmt(this)}exitRule(e){e.exitAlterdefaultprivilegesstmt&&e.exitAlterdefaultprivilegesstmt(this)}accept(e){return e.visitAlterdefaultprivilegesstmt?e.visitAlterdefaultprivilegesstmt(this):e.visitChildren(this)}}class oE extends u{constructor(e,i){super(e,i)}defacloption(e){return e===void 0?this.getRuleContexts(G2):this.getRuleContext(e,G2)}get ruleIndex(){return t.RULE_defacloptionlist}enterRule(e){e.enterDefacloptionlist&&e.enterDefacloptionlist(this)}exitRule(e){e.exitDefacloptionlist&&e.exitDefacloptionlist(this)}accept(e){return e.visitDefacloptionlist?e.visitDefacloptionlist(this):e.visitChildren(this)}}class G2 extends u{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_list(){return this.getRuleContext(0,pc)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}role_list(){return this.getRuleContext(0,ce)}KW_USER(){return this.getToken(t.KW_USER,0)}get ruleIndex(){return t.RULE_defacloption}enterRule(e){e.enterDefacloption&&e.enterDefacloption(this)}exitRule(e){e.exitDefacloption&&e.exitDefacloption(this)}accept(e){return e.visitDefacloption?e.visitDefacloption(this):e.visitChildren(this)}}class AE extends u{constructor(e,i){super(e,i)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}privileges(){return this.getRuleContext(0,Fh)}KW_ON(){return this.getToken(t.KW_ON,0)}defacl_privilege_target(){return this.getRuleContext(0,TE)}KW_TO(){return this.getToken(t.KW_TO,0)}grantee_list(){return this.getRuleContext(0,Bh)}opt_grant_grant_option(){return this.getRuleContext(0,v2)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}get ruleIndex(){return t.RULE_defaclaction}enterRule(e){e.enterDefaclaction&&e.enterDefaclaction(this)}exitRule(e){e.exitDefaclaction&&e.exitDefaclaction(this)}accept(e){return e.visitDefaclaction?e.visitDefaclaction(this):e.visitChildren(this)}}class TE extends u{constructor(e,i){super(e,i)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_FUNCTIONS(){return this.getToken(t.KW_FUNCTIONS,0)}KW_ROUTINES(){return this.getToken(t.KW_ROUTINES,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}KW_TYPES(){return this.getToken(t.KW_TYPES,0)}KW_SCHEMAS(){return this.getToken(t.KW_SCHEMAS,0)}get ruleIndex(){return t.RULE_defacl_privilege_target}enterRule(e){e.enterDefacl_privilege_target&&e.enterDefacl_privilege_target(this)}exitRule(e){e.exitDefacl_privilege_target&&e.exitDefacl_privilege_target(this)}accept(e){return e.visitDefacl_privilege_target?e.visitDefacl_privilege_target(this):e.visitChildren(this)}}class B2 extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_ON(){return this.getToken(t.KW_ON,0)}relation_expr(){return this.getRuleContext(0,ke)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}index_params(){return this.getRuleContext(0,Y2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_unique(){return this.getRuleContext(0,lE)}opt_concurrently(){return this.getRuleContext(0,T1)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opt_index_name(){return this.getRuleContext(0,rE)}access_method_clause(){return this.getRuleContext(0,V2)}opt_include(){return this.getRuleContext(0,X2)}nulls_distinct(){return this.getRuleContext(0,ja)}opt_reloptions(){return this.getRuleContext(0,u1)}opttablespace(){return this.getRuleContext(0,_1)}where_clause(){return this.getRuleContext(0,De)}get ruleIndex(){return t.RULE_indexstmt}enterRule(e){e.enterIndexstmt&&e.enterIndexstmt(this)}exitRule(e){e.exitIndexstmt&&e.exitIndexstmt(this)}accept(e){return e.visitIndexstmt?e.visitIndexstmt(this):e.visitChildren(this)}}class lE extends u{constructor(e,i){super(e,i)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}get ruleIndex(){return t.RULE_opt_unique}enterRule(e){e.enterOpt_unique&&e.enterOpt_unique(this)}exitRule(e){e.exitOpt_unique&&e.exitOpt_unique(this)}accept(e){return e.visitOpt_unique?e.visitOpt_unique(this):e.visitChildren(this)}}class T1 extends u{constructor(e,i){super(e,i)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}get ruleIndex(){return t.RULE_opt_concurrently}enterRule(e){e.enterOpt_concurrently&&e.enterOpt_concurrently(this)}exitRule(e){e.exitOpt_concurrently&&e.exitOpt_concurrently(this)}accept(e){return e.visitOpt_concurrently?e.visitOpt_concurrently(this):e.visitChildren(this)}}class rE extends u{constructor(e,i){super(e,i)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_opt_index_name}enterRule(e){e.enterOpt_index_name&&e.enterOpt_index_name(this)}exitRule(e){e.exitOpt_index_name&&e.exitOpt_index_name(this)}accept(e){return e.visitOpt_index_name?e.visitOpt_index_name(this):e.visitChildren(this)}}class V2 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_access_method_clause}enterRule(e){e.enterAccess_method_clause&&e.enterAccess_method_clause(this)}exitRule(e){e.exitAccess_method_clause&&e.exitAccess_method_clause(this)}accept(e){return e.visitAccess_method_clause?e.visitAccess_method_clause(this):e.visitChildren(this)}}class Y2 extends u{constructor(e,i){super(e,i)}index_elem(e){return e===void 0?this.getRuleContexts(Ti):this.getRuleContext(e,Ti)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_index_params}enterRule(e){e.enterIndex_params&&e.enterIndex_params(this)}exitRule(e){e.exitIndex_params&&e.exitIndex_params(this)}accept(e){return e.visitIndex_params?e.visitIndex_params(this):e.visitChildren(this)}}class CE extends u{constructor(e,i){super(e,i)}opt_collate(){return this.getRuleContext(0,Vh)}opt_class(){return this.getRuleContext(0,Q2)}opt_asc_desc(){return this.getRuleContext(0,Yh)}opt_nulls_order(){return this.getRuleContext(0,Xh)}any_name(){return this.getRuleContext(0,B)}reloptions(){return this.getRuleContext(0,H0)}get ruleIndex(){return t.RULE_index_elem_options}enterRule(e){e.enterIndex_elem_options&&e.enterIndex_elem_options(this)}exitRule(e){e.exitIndex_elem_options&&e.exitIndex_elem_options(this)}accept(e){return e.visitIndex_elem_options?e.visitIndex_elem_options(this):e.visitChildren(this)}}class Ti extends u{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Wt)}index_elem_options(){return this.getRuleContext(0,CE)}func_expr_windowless(){return this.getRuleContext(0,N1)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_index_elem}enterRule(e){e.enterIndex_elem&&e.enterIndex_elem(this)}exitRule(e){e.exitIndex_elem&&e.exitIndex_elem(this)}accept(e){return e.visitIndex_elem?e.visitIndex_elem(this):e.visitChildren(this)}}class X2 extends u{constructor(e,i){super(e,i)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}index_including_params(){return this.getRuleContext(0,pE)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_include}enterRule(e){e.enterOpt_include&&e.enterOpt_include(this)}exitRule(e){e.exitOpt_include&&e.exitOpt_include(this)}accept(e){return e.visitOpt_include?e.visitOpt_include(this):e.visitChildren(this)}}class pE extends u{constructor(e,i){super(e,i)}index_elem(e){return e===void 0?this.getRuleContexts(Ti):this.getRuleContext(e,Ti)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_index_including_params}enterRule(e){e.enterIndex_including_params&&e.enterIndex_including_params(this)}exitRule(e){e.exitIndex_including_params&&e.exitIndex_including_params(this)}accept(e){return e.visitIndex_including_params?e.visitIndex_including_params(this):e.visitChildren(this)}}class Vh extends u{constructor(e,i){super(e,i)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_opt_collate}enterRule(e){e.enterOpt_collate&&e.enterOpt_collate(this)}exitRule(e){e.exitOpt_collate&&e.exitOpt_collate(this)}accept(e){return e.visitOpt_collate?e.visitOpt_collate(this):e.visitChildren(this)}}class Q2 extends u{constructor(e,i){super(e,i)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_opt_class}enterRule(e){e.enterOpt_class&&e.enterOpt_class(this)}exitRule(e){e.exitOpt_class&&e.exitOpt_class(this)}accept(e){return e.visitOpt_class?e.visitOpt_class(this):e.visitChildren(this)}}class Yh extends u{constructor(e,i){super(e,i)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}get ruleIndex(){return t.RULE_opt_asc_desc}enterRule(e){e.enterOpt_asc_desc&&e.enterOpt_asc_desc(this)}exitRule(e){e.exitOpt_asc_desc&&e.exitOpt_asc_desc(this)}accept(e){return e.visitOpt_asc_desc?e.visitOpt_asc_desc(this):e.visitChildren(this)}}class Xh extends u{constructor(e,i){super(e,i)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}get ruleIndex(){return t.RULE_opt_nulls_order}enterRule(e){e.enterOpt_nulls_order&&e.enterOpt_nulls_order(this)}exitRule(e){e.exitOpt_nulls_order&&e.exitOpt_nulls_order(this)}accept(e){return e.visitOpt_nulls_order?e.visitOpt_nulls_order(this):e.visitChildren(this)}}class dE extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}func_args_with_defaults(){return this.getRuleContext(0,xE)}createfunc_opt_list(){return this.getRuleContext(0,UE)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_name_create(){return this.getRuleContext(0,Lc)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_name_create(){return this.getRuleContext(0,U1)}opt_or_replace(){return this.getRuleContext(0,w0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}attrilist(){return this.getRuleContext(0,OE)}func_return(){return this.getRuleContext(0,IE)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}table_func_column_list(){return this.getRuleContext(0,DE)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_createfunctionstmt}enterRule(e){e.enterCreatefunctionstmt&&e.enterCreatefunctionstmt(this)}exitRule(e){e.exitCreatefunctionstmt&&e.exitCreatefunctionstmt(this)}accept(e){return e.visitCreatefunctionstmt?e.visitCreatefunctionstmt(this):e.visitChildren(this)}}class OE extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}colid(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_attrilist}enterRule(e){e.enterAttrilist&&e.enterAttrilist(this)}exitRule(e){e.exitAttrilist&&e.exitAttrilist(this)}accept(e){return e.visitAttrilist?e.visitAttrilist(this):e.visitChildren(this)}}class w0 extends u{constructor(e,i){super(e,i)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}get ruleIndex(){return t.RULE_opt_or_replace}enterRule(e){e.enterOpt_or_replace&&e.enterOpt_or_replace(this)}exitRule(e){e.exitOpt_or_replace&&e.exitOpt_or_replace(this)}accept(e){return e.visitOpt_or_replace?e.visitOpt_or_replace(this):e.visitChildren(this)}}class li extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}func_args_list(){return this.getRuleContext(0,LE)}get ruleIndex(){return t.RULE_func_args}enterRule(e){e.enterFunc_args&&e.enterFunc_args(this)}exitRule(e){e.exitFunc_args&&e.exitFunc_args(this)}accept(e){return e.visitFunc_args?e.visitFunc_args(this):e.visitChildren(this)}}class LE extends u{constructor(e,i){super(e,i)}func_arg(e){return e===void 0?this.getRuleContexts(l1):this.getRuleContext(e,l1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_func_args_list}enterRule(e){e.enterFunc_args_list&&e.enterFunc_args_list(this)}exitRule(e){e.exitFunc_args_list&&e.exitFunc_args_list(this)}accept(e){return e.visitFunc_args_list?e.visitFunc_args_list(this):e.visitChildren(this)}}class Z2 extends u{constructor(e,i){super(e,i)}routine_with_argtypes(e){return e===void 0?this.getRuleContexts(Ae):this.getRuleContext(e,Ae)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_routine_with_argtypes_list}enterRule(e){e.enterRoutine_with_argtypes_list&&e.enterRoutine_with_argtypes_list(this)}exitRule(e){e.exitRoutine_with_argtypes_list&&e.exitRoutine_with_argtypes_list(this)}accept(e){return e.visitRoutine_with_argtypes_list?e.visitRoutine_with_argtypes_list(this):e.visitChildren(this)}}class Ae extends u{constructor(e,i){super(e,i)}routine_name(){return this.getRuleContext(0,Oc)}func_args(){return this.getRuleContext(0,li)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_routine_with_argtypes}enterRule(e){e.enterRoutine_with_argtypes&&e.enterRoutine_with_argtypes(this)}exitRule(e){e.exitRoutine_with_argtypes&&e.exitRoutine_with_argtypes(this)}accept(e){return e.visitRoutine_with_argtypes?e.visitRoutine_with_argtypes(this):e.visitChildren(this)}}class z2 extends u{constructor(e,i){super(e,i)}procedure_with_argtypes(e){return e===void 0?this.getRuleContexts(Te):this.getRuleContext(e,Te)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_procedure_with_argtypes_list}enterRule(e){e.enterProcedure_with_argtypes_list&&e.enterProcedure_with_argtypes_list(this)}exitRule(e){e.exitProcedure_with_argtypes_list&&e.exitProcedure_with_argtypes_list(this)}accept(e){return e.visitProcedure_with_argtypes_list?e.visitProcedure_with_argtypes_list(this):e.visitChildren(this)}}class Te extends u{constructor(e,i){super(e,i)}procedure_name(){return this.getRuleContext(0,G0)}func_args(){return this.getRuleContext(0,li)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_procedure_with_argtypes}enterRule(e){e.enterProcedure_with_argtypes&&e.enterProcedure_with_argtypes(this)}exitRule(e){e.exitProcedure_with_argtypes&&e.exitProcedure_with_argtypes(this)}accept(e){return e.visitProcedure_with_argtypes?e.visitProcedure_with_argtypes(this):e.visitChildren(this)}}class j2 extends u{constructor(e,i){super(e,i)}function_with_argtypes(e){return e===void 0?this.getRuleContexts(Bt):this.getRuleContext(e,Bt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_function_with_argtypes_list}enterRule(e){e.enterFunction_with_argtypes_list&&e.enterFunction_with_argtypes_list(this)}exitRule(e){e.exitFunction_with_argtypes_list&&e.exitFunction_with_argtypes_list(this)}accept(e){return e.visitFunction_with_argtypes_list?e.visitFunction_with_argtypes_list(this):e.visitChildren(this)}}class Bt extends u{constructor(e,i){super(e,i)}function_name(){return this.getRuleContext(0,Ve)}func_args(){return this.getRuleContext(0,li)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_function_with_argtypes}enterRule(e){e.enterFunction_with_argtypes&&e.enterFunction_with_argtypes(this)}exitRule(e){e.exitFunction_with_argtypes&&e.exitFunction_with_argtypes(this)}accept(e){return e.visitFunction_with_argtypes?e.visitFunction_with_argtypes(this):e.visitChildren(this)}}class xE extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}func_args_with_defaults_list(){return this.getRuleContext(0,NE)}get ruleIndex(){return t.RULE_func_args_with_defaults}enterRule(e){e.enterFunc_args_with_defaults&&e.enterFunc_args_with_defaults(this)}exitRule(e){e.exitFunc_args_with_defaults&&e.exitFunc_args_with_defaults(this)}accept(e){return e.visitFunc_args_with_defaults?e.visitFunc_args_with_defaults(this):e.visitChildren(this)}}class NE extends u{constructor(e,i){super(e,i)}func_arg_with_default(e){return e===void 0?this.getRuleContexts($2):this.getRuleContext(e,$2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_func_args_with_defaults_list}enterRule(e){e.enterFunc_args_with_defaults_list&&e.enterFunc_args_with_defaults_list(this)}exitRule(e){e.exitFunc_args_with_defaults_list&&e.exitFunc_args_with_defaults_list(this)}accept(e){return e.visitFunc_args_with_defaults_list?e.visitFunc_args_with_defaults_list(this):e.visitChildren(this)}}class l1 extends u{constructor(e,i){super(e,i)}arg_class(){return this.getRuleContext(0,mE)}func_type(){return this.getRuleContext(0,ri)}param_name(){return this.getRuleContext(0,J2)}get ruleIndex(){return t.RULE_func_arg}enterRule(e){e.enterFunc_arg&&e.enterFunc_arg(this)}exitRule(e){e.exitFunc_arg&&e.exitFunc_arg(this)}accept(e){return e.visitFunc_arg?e.visitFunc_arg(this):e.visitChildren(this)}}class mE extends u{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_OUT(){return this.getToken(t.KW_OUT,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}KW_VARIADIC(){return this.getToken(t.KW_VARIADIC,0)}get ruleIndex(){return t.RULE_arg_class}enterRule(e){e.enterArg_class&&e.enterArg_class(this)}exitRule(e){e.exitArg_class&&e.exitArg_class(this)}accept(e){return e.visitArg_class?e.visitArg_class(this):e.visitChildren(this)}}class J2 extends u{constructor(e,i){super(e,i)}type_function_name(){return this.getRuleContext(0,u0)}get ruleIndex(){return t.RULE_param_name}enterRule(e){e.enterParam_name&&e.enterParam_name(this)}exitRule(e){e.exitParam_name&&e.exitParam_name(this)}accept(e){return e.visitParam_name?e.visitParam_name(this):e.visitChildren(this)}}class IE extends u{constructor(e,i){super(e,i)}func_type(){return this.getRuleContext(0,ri)}get ruleIndex(){return t.RULE_func_return}enterRule(e){e.enterFunc_return&&e.enterFunc_return(this)}exitRule(e){e.exitFunc_return&&e.exitFunc_return(this)}accept(e){return e.visitFunc_return?e.visitFunc_return(this):e.visitChildren(this)}}class ri extends u{constructor(e,i){super(e,i)}typename(){return this.getRuleContext(0,j)}type_function_name(){return this.getRuleContext(0,u0)}attrs(){return this.getRuleContext(0,oe)}PERCENT(){return this.getToken(t.PERCENT,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_SETOF(){return this.getToken(t.KW_SETOF,0)}get ruleIndex(){return t.RULE_func_type}enterRule(e){e.enterFunc_type&&e.enterFunc_type(this)}exitRule(e){e.exitFunc_type&&e.exitFunc_type(this)}accept(e){return e.visitFunc_type?e.visitFunc_type(this):e.visitChildren(this)}}class $2 extends u{constructor(e,i){super(e,i)}func_arg(){return this.getRuleContext(0,l1)}a_expr(){return this.getRuleContext(0,U)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}get ruleIndex(){return t.RULE_func_arg_with_default}enterRule(e){e.enterFunc_arg_with_default&&e.enterFunc_arg_with_default(this)}exitRule(e){e.exitFunc_arg_with_default&&e.exitFunc_arg_with_default(this)}accept(e){return e.visitFunc_arg_with_default?e.visitFunc_arg_with_default(this):e.visitChildren(this)}}class S2 extends u{constructor(e,i){super(e,i)}func_arg(){return this.getRuleContext(0,l1)}get ruleIndex(){return t.RULE_aggr_arg}enterRule(e){e.enterAggr_arg&&e.enterAggr_arg(this)}exitRule(e){e.exitAggr_arg&&e.exitAggr_arg(this)}accept(e){return e.visitAggr_arg?e.visitAggr_arg(this):e.visitChildren(this)}}class g2 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}STAR(){return this.getToken(t.STAR,0)}aggr_args_list(e){return e===void 0?this.getRuleContexts(q2):this.getRuleContext(e,q2)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}get ruleIndex(){return t.RULE_aggr_args}enterRule(e){e.enterAggr_args&&e.enterAggr_args(this)}exitRule(e){e.exitAggr_args&&e.exitAggr_args(this)}accept(e){return e.visitAggr_args?e.visitAggr_args(this):e.visitChildren(this)}}class q2 extends u{constructor(e,i){super(e,i)}aggr_arg(e){return e===void 0?this.getRuleContexts(S2):this.getRuleContext(e,S2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_aggr_args_list}enterRule(e){e.enterAggr_args_list&&e.enterAggr_args_list(this)}exitRule(e){e.exitAggr_args_list&&e.exitAggr_args_list(this)}accept(e){return e.visitAggr_args_list?e.visitAggr_args_list(this):e.visitChildren(this)}}class Ge extends u{constructor(e,i){super(e,i)}function_name(){return this.getRuleContext(0,Ve)}aggr_args(){return this.getRuleContext(0,g2)}get ruleIndex(){return t.RULE_aggregate_with_argtypes}enterRule(e){e.enterAggregate_with_argtypes&&e.enterAggregate_with_argtypes(this)}exitRule(e){e.exitAggregate_with_argtypes&&e.exitAggregate_with_argtypes(this)}accept(e){return e.visitAggregate_with_argtypes?e.visitAggregate_with_argtypes(this):e.visitChildren(this)}}class fE extends u{constructor(e,i){super(e,i)}aggregate_with_argtypes(e){return e===void 0?this.getRuleContexts(Ge):this.getRuleContext(e,Ge)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_aggregate_with_argtypes_list}enterRule(e){e.enterAggregate_with_argtypes_list&&e.enterAggregate_with_argtypes_list(this)}exitRule(e){e.exitAggregate_with_argtypes_list&&e.exitAggregate_with_argtypes_list(this)}accept(e){return e.visitAggregate_with_argtypes_list?e.visitAggregate_with_argtypes_list(this):e.visitChildren(this)}}class UE extends u{constructor(e,i){super(e,i)}createfunc_opt_item(e){return e===void 0?this.getRuleContexts(P2):this.getRuleContext(e,P2)}get ruleIndex(){return t.RULE_createfunc_opt_list}enterRule(e){e.enterCreatefunc_opt_list&&e.enterCreatefunc_opt_list(this)}exitRule(e){e.exitCreatefunc_opt_list&&e.exitCreatefunc_opt_list(this)}accept(e){return e.visitCreatefunc_opt_list?e.visitCreatefunc_opt_list(this):e.visitChildren(this)}}class Qh extends u{constructor(e,i){super(e,i)}KW_CALLED(){return this.getToken(t.KW_CALLED,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_NULL(e){return e===void 0?this.getTokens(t.KW_NULL):this.getToken(t.KW_NULL,e)}KW_INPUT(){return this.getToken(t.KW_INPUT,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}KW_IMMUTABLE(){return this.getToken(t.KW_IMMUTABLE,0)}KW_STABLE(){return this.getToken(t.KW_STABLE,0)}KW_VOLATILE(){return this.getToken(t.KW_VOLATILE,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_LEAKPROOF(){return this.getToken(t.KW_LEAKPROOF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_COST(){return this.getToken(t.KW_COST,0)}numericonly(){return this.getRuleContext(0,Ot)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_SUPPORT(){return this.getToken(t.KW_SUPPORT,0)}any_name(){return this.getRuleContext(0,B)}functionsetresetclause(){return this.getRuleContext(0,r8)}KW_PARALLEL(){return this.getToken(t.KW_PARALLEL,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_common_func_opt_item}enterRule(e){e.enterCommon_func_opt_item&&e.enterCommon_func_opt_item(this)}exitRule(e){e.exitCommon_func_opt_item&&e.exitCommon_func_opt_item(this)}accept(e){return e.visitCommon_func_opt_item?e.visitCommon_func_opt_item(this):e.visitChildren(this)}}class P2 extends u{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}sconst(e){return e===void 0?this.getRuleContexts(Y):this.getRuleContext(e,Y)}COMMA(){return this.getToken(t.COMMA,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}transform_type_list(){return this.getRuleContext(0,kE)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}KW_SET(){return this.getToken(t.KW_SET,0)}colid(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}KW_TO(){return this.getToken(t.KW_TO,0)}EQUAL(){return this.getToken(t.EQUAL,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}stmt(){return this.getRuleContext(0,Ah)}common_func_opt_item(){return this.getRuleContext(0,Qh)}get ruleIndex(){return t.RULE_createfunc_opt_item}enterRule(e){e.enterCreatefunc_opt_item&&e.enterCreatefunc_opt_item(this)}exitRule(e){e.exitCreatefunc_opt_item&&e.exitCreatefunc_opt_item(this)}accept(e){return e.visitCreatefunc_opt_item?e.visitCreatefunc_opt_item(this):e.visitChildren(this)}}class kE extends u{constructor(e,i){super(e,i)}KW_FOR(e){return e===void 0?this.getTokens(t.KW_FOR):this.getToken(t.KW_FOR,e)}KW_TYPE(e){return e===void 0?this.getTokens(t.KW_TYPE):this.getToken(t.KW_TYPE,e)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_transform_type_list}enterRule(e){e.enterTransform_type_list&&e.enterTransform_type_list(this)}exitRule(e){e.exitTransform_type_list&&e.exitTransform_type_list(this)}accept(e){return e.visitTransform_type_list?e.visitTransform_type_list(this):e.visitChildren(this)}}class b0 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}definition(){return this.getRuleContext(0,Ai)}get ruleIndex(){return t.RULE_opt_definition}enterRule(e){e.enterOpt_definition&&e.enterOpt_definition(this)}exitRule(e){e.exitOpt_definition&&e.exitOpt_definition(this)}accept(e){return e.visitOpt_definition?e.visitOpt_definition(this):e.visitChildren(this)}}class t3 extends u{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Wt)}func_type(){return this.getRuleContext(0,ri)}get ruleIndex(){return t.RULE_table_func_column}enterRule(e){e.enterTable_func_column&&e.enterTable_func_column(this)}exitRule(e){e.exitTable_func_column&&e.exitTable_func_column(this)}accept(e){return e.visitTable_func_column?e.visitTable_func_column(this):e.visitChildren(this)}}class DE extends u{constructor(e,i){super(e,i)}table_func_column(e){return e===void 0?this.getRuleContexts(t3):this.getRuleContext(e,t3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_table_func_column_list}enterRule(e){e.enterTable_func_column_list&&e.enterTable_func_column_list(this)}exitRule(e){e.exitTable_func_column_list&&e.exitTable_func_column_list(this)}accept(e){return e.visitTable_func_column_list?e.visitTable_func_column_list(this):e.visitChildren(this)}}class ME extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}alterFunctionTypeClause(){return this.getRuleContext(0,yE)}alterfunc_opt_list(){return this.getRuleContext(0,HE)}opt_restrict(){return this.getRuleContext(0,wE)}get ruleIndex(){return t.RULE_alterfunctionstmt}enterRule(e){e.enterAlterfunctionstmt&&e.enterAlterfunctionstmt(this)}exitRule(e){e.exitAlterfunctionstmt&&e.exitAlterfunctionstmt(this)}accept(e){return e.visitAlterfunctionstmt?e.visitAlterfunctionstmt(this):e.visitChildren(this)}}class yE extends u{constructor(e,i){super(e,i)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}get ruleIndex(){return t.RULE_alterFunctionTypeClause}enterRule(e){e.enterAlterFunctionTypeClause&&e.enterAlterFunctionTypeClause(this)}exitRule(e){e.exitAlterFunctionTypeClause&&e.exitAlterFunctionTypeClause(this)}accept(e){return e.visitAlterFunctionTypeClause?e.visitAlterFunctionTypeClause(this):e.visitChildren(this)}}class HE extends u{constructor(e,i){super(e,i)}common_func_opt_item(e){return e===void 0?this.getRuleContexts(Qh):this.getRuleContext(e,Qh)}get ruleIndex(){return t.RULE_alterfunc_opt_list}enterRule(e){e.enterAlterfunc_opt_list&&e.enterAlterfunc_opt_list(this)}exitRule(e){e.exitAlterfunc_opt_list&&e.exitAlterfunc_opt_list(this)}accept(e){return e.visitAlterfunc_opt_list?e.visitAlterfunc_opt_list(this):e.visitChildren(this)}}class wE extends u{constructor(e,i){super(e,i)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}get ruleIndex(){return t.RULE_opt_restrict}enterRule(e){e.enterOpt_restrict&&e.enterOpt_restrict(this)}exitRule(e){e.exitOpt_restrict&&e.exitOpt_restrict(this)}accept(e){return e.visitOpt_restrict?e.visitOpt_restrict(this):e.visitChildren(this)}}class bE extends u{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes_list(){return this.getRuleContext(0,j2)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,gt)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes_list(){return this.getRuleContext(0,z2)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes_list(){return this.getRuleContext(0,Z2)}get ruleIndex(){return t.RULE_removefuncstmt}enterRule(e){e.enterRemovefuncstmt&&e.enterRemovefuncstmt(this)}exitRule(e){e.exitRemovefuncstmt&&e.exitRemovefuncstmt(this)}accept(e){return e.visitRemovefuncstmt?e.visitRemovefuncstmt(this):e.visitChildren(this)}}class vE extends u{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes_list(){return this.getRuleContext(0,fE)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_removeaggrstmt}enterRule(e){e.enterRemoveaggrstmt&&e.enterRemoveaggrstmt(this)}exitRule(e){e.exitRemoveaggrstmt&&e.exitRemoveaggrstmt(this)}accept(e){return e.visitRemoveaggrstmt?e.visitRemoveaggrstmt(this):e.visitChildren(this)}}class FE extends u{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes_list(){return this.getRuleContext(0,BE)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_removeoperstmt}enterRule(e){e.enterRemoveoperstmt&&e.enterRemoveoperstmt(this)}exitRule(e){e.exitRemoveoperstmt&&e.exitRemoveoperstmt(this)}accept(e){return e.visitRemoveoperstmt?e.visitRemoveoperstmt(this):e.visitChildren(this)}}class GE extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(){return this.getToken(t.COMMA,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}get ruleIndex(){return t.RULE_oper_argtypes}enterRule(e){e.enterOper_argtypes&&e.enterOper_argtypes(this)}exitRule(e){e.exitOper_argtypes&&e.exitOper_argtypes(this)}accept(e){return e.visitOper_argtypes?e.visitOper_argtypes(this):e.visitChildren(this)}}class h0 extends u{constructor(e,i){super(e,i)}all_op(){return this.getRuleContext(0,Kc)}colid(e){return e===void 0?this.getRuleContexts(H):this.getRuleContext(e,H)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}get ruleIndex(){return t.RULE_any_operator}enterRule(e){e.enterAny_operator&&e.enterAny_operator(this)}exitRule(e){e.exitAny_operator&&e.exitAny_operator(this)}accept(e){return e.visitAny_operator?e.visitAny_operator(this):e.visitChildren(this)}}class BE extends u{constructor(e,i){super(e,i)}operator_with_argtypes(e){return e===void 0?this.getRuleContexts(Be):this.getRuleContext(e,Be)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_operator_with_argtypes_list}enterRule(e){e.enterOperator_with_argtypes_list&&e.enterOperator_with_argtypes_list(this)}exitRule(e){e.exitOperator_with_argtypes_list&&e.exitOperator_with_argtypes_list(this)}accept(e){return e.visitOperator_with_argtypes_list?e.visitOperator_with_argtypes_list(this):e.visitChildren(this)}}class Be extends u{constructor(e,i){super(e,i)}any_operator(){return this.getRuleContext(0,h0)}oper_argtypes(){return this.getRuleContext(0,GE)}get ruleIndex(){return t.RULE_operator_with_argtypes}enterRule(e){e.enterOperator_with_argtypes&&e.enterOperator_with_argtypes(this)}exitRule(e){e.exitOperator_with_argtypes&&e.exitOperator_with_argtypes(this)}accept(e){return e.visitOperator_with_argtypes?e.visitOperator_with_argtypes(this):e.visitChildren(this)}}class VE extends u{constructor(e,i){super(e,i)}KW_DO(){return this.getToken(t.KW_DO,0)}dostmt_opt_list(){return this.getRuleContext(0,YE)}get ruleIndex(){return t.RULE_dostmt}enterRule(e){e.enterDostmt&&e.enterDostmt(this)}exitRule(e){e.exitDostmt&&e.exitDostmt(this)}accept(e){return e.visitDostmt?e.visitDostmt(this):e.visitChildren(this)}}class YE extends u{constructor(e,i){super(e,i)}dostmt_opt_item(e){return e===void 0?this.getRuleContexts(e3):this.getRuleContext(e,e3)}get ruleIndex(){return t.RULE_dostmt_opt_list}enterRule(e){e.enterDostmt_opt_list&&e.enterDostmt_opt_list(this)}exitRule(e){e.exitDostmt_opt_list&&e.exitDostmt_opt_list(this)}accept(e){return e.visitDostmt_opt_list?e.visitDostmt_opt_list(this):e.visitChildren(this)}}class e3 extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,n0)}get ruleIndex(){return t.RULE_dostmt_opt_item}enterRule(e){e.enterDostmt_opt_item&&e.enterDostmt_opt_item(this)}exitRule(e){e.exitDostmt_opt_item&&e.exitDostmt_opt_item(this)}accept(e){return e.visitDostmt_opt_item?e.visitDostmt_opt_item(this):e.visitChildren(this)}}class XE extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}cast_context(){return this.getRuleContext(0,QE)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}get ruleIndex(){return t.RULE_createcaststmt}enterRule(e){e.enterCreatecaststmt&&e.enterCreatecaststmt(this)}exitRule(e){e.exitCreatecaststmt&&e.exitCreatecaststmt(this)}accept(e){return e.visitCreatecaststmt?e.visitCreatecaststmt(this):e.visitChildren(this)}}class QE extends u{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_IMPLICIT(){return this.getToken(t.KW_IMPLICIT,0)}KW_ASSIGNMENT(){return this.getToken(t.KW_ASSIGNMENT,0)}get ruleIndex(){return t.RULE_cast_context}enterRule(e){e.enterCast_context&&e.enterCast_context(this)}exitRule(e){e.exitCast_context&&e.exitCast_context(this)}accept(e){return e.visitCast_context?e.visitCast_context(this):e.visitChildren(this)}}class zt extends u{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_opt_if_exists}enterRule(e){e.enterOpt_if_exists&&e.enterOpt_if_exists(this)}exitRule(e){e.exitOpt_if_exists&&e.exitOpt_if_exists(this)}accept(e){return e.visitOpt_if_exists?e.visitOpt_if_exists(this):e.visitChildren(this)}}class ZE extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}typename(){return this.getRuleContext(0,j)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}name(){return this.getRuleContext(0,D)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}transform_element_list(){return this.getRuleContext(0,zE)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_or_replace(){return this.getRuleContext(0,w0)}get ruleIndex(){return t.RULE_createtransformstmt}enterRule(e){e.enterCreatetransformstmt&&e.enterCreatetransformstmt(this)}exitRule(e){e.exitCreatetransformstmt&&e.exitCreatetransformstmt(this)}accept(e){return e.visitCreatetransformstmt?e.visitCreatetransformstmt(this):e.visitChildren(this)}}class zE extends u{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_SQL(e){return e===void 0?this.getTokens(t.KW_SQL):this.getToken(t.KW_SQL,e)}KW_WITH(e){return e===void 0?this.getTokens(t.KW_WITH):this.getToken(t.KW_WITH,e)}KW_FUNCTION(e){return e===void 0?this.getTokens(t.KW_FUNCTION):this.getToken(t.KW_FUNCTION,e)}function_with_argtypes(e){return e===void 0?this.getRuleContexts(Bt):this.getRuleContext(e,Bt)}COMMA(){return this.getToken(t.COMMA,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_transform_element_list}enterRule(e){e.enterTransform_element_list&&e.enterTransform_element_list(this)}exitRule(e){e.exitTransform_element_list&&e.exitTransform_element_list(this)}accept(e){return e.visitTransform_element_list?e.visitTransform_element_list(this):e.visitChildren(this)}}class jE extends u{constructor(e,i){super(e,i)}KW_REINDEX(){return this.getToken(t.KW_REINDEX,0)}reindex_target_type(){return this.getRuleContext(0,JE)}reindex_target_multitable(){return this.getRuleContext(0,$E)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}reindex_option_list(){return this.getRuleContext(0,SE)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_reindexstmt}enterRule(e){e.enterReindexstmt&&e.enterReindexstmt(this)}exitRule(e){e.exitReindexstmt&&e.exitReindexstmt(this)}accept(e){return e.visitReindexstmt?e.visitReindexstmt(this):e.visitChildren(this)}}class JE extends u{constructor(e,i){super(e,i)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}qualified_name(){return this.getRuleContext(0,ot)}opt_concurrently(){return this.getRuleContext(0,T1)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name(){return this.getRuleContext(0,Lt)}get ruleIndex(){return t.RULE_reindex_target_type}enterRule(e){e.enterReindex_target_type&&e.enterReindex_target_type(this)}exitRule(e){e.exitReindex_target_type&&e.exitReindex_target_type(this)}accept(e){return e.visitReindex_target_type?e.visitReindex_target_type(this):e.visitChildren(this)}}class $E extends u{constructor(e,i){super(e,i)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}opt_concurrently(){return this.getRuleContext(0,T1)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}name(){return this.getRuleContext(0,D)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}get ruleIndex(){return t.RULE_reindex_target_multitable}enterRule(e){e.enterReindex_target_multitable&&e.enterReindex_target_multitable(this)}exitRule(e){e.exitReindex_target_multitable&&e.exitReindex_target_multitable(this)}accept(e){return e.visitReindex_target_multitable?e.visitReindex_target_multitable(this):e.visitChildren(this)}}class SE extends u{constructor(e,i){super(e,i)}reindex_option_elem(e){return e===void 0?this.getRuleContexts(i3):this.getRuleContext(e,i3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_reindex_option_list}enterRule(e){e.enterReindex_option_list&&e.enterReindex_option_list(this)}exitRule(e){e.exitReindex_option_list&&e.exitReindex_option_list(this)}accept(e){return e.visitReindex_option_list?e.visitReindex_option_list(this):e.visitChildren(this)}}class i3 extends u{constructor(e,i){super(e,i)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}get ruleIndex(){return t.RULE_reindex_option_elem}enterRule(e){e.enterReindex_option_elem&&e.enterReindex_option_elem(this)}exitRule(e){e.exitReindex_option_elem&&e.exitReindex_option_elem(this)}accept(e){return e.visitReindex_option_elem?e.visitReindex_option_elem(this):e.visitChildren(this)}}class gE extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}KW_SET(){return this.getToken(t.KW_SET,0)}reloptions(){return this.getRuleContext(0,H0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}get ruleIndex(){return t.RULE_altertblspcstmt}enterRule(e){e.enterAltertblspcstmt&&e.enterAltertblspcstmt(this)}exitRule(e){e.exitAltertblspcstmt&&e.exitAltertblspcstmt(this)}accept(e){return e.visitAltertblspcstmt?e.visitAltertblspcstmt(this):e.visitChildren(this)}}class qE extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ge)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}any_name(){return this.getRuleContext(0,B)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}database_name_create(){return this.getRuleContext(0,dc)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}function_name_create(){return this.getRuleContext(0,Lc)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}roleid(e){return e===void 0?this.getRuleContexts(M1):this.getRuleContext(e,M1)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}opt_procedural(){return this.getRuleContext(0,oi)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_ON(){return this.getToken(t.KW_ON,0)}qualified_name(){return this.getRuleContext(0,ot)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}procedure_name_create(){return this.getRuleContext(0,U1)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}schema_name_create(){return this.getRuleContext(0,_i)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}table_name_create(){return this.getRuleContext(0,a0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,le)}view_name_create(){return this.getRuleContext(0,f1)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}column_name(){return this.getRuleContext(0,Wt)}column_name_create(){return this.getRuleContext(0,B0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}tablespace_name_create(){return this.getRuleContext(0,Ni)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}opt_drop_behavior(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_renamestmt}enterRule(e){e.enterRenamestmt&&e.enterRenamestmt(this)}exitRule(e){e.exitRenamestmt&&e.exitRenamestmt(this)}accept(e){return e.visitRenamestmt?e.visitRenamestmt(this):e.visitChildren(this)}}class n3 extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}get ruleIndex(){return t.RULE_opt_set_data}enterRule(e){e.enterOpt_set_data&&e.enterOpt_set_data(this)}exitRule(e){e.exitOpt_set_data&&e.exitOpt_set_data(this)}accept(e){return e.visitOpt_set_data?e.visitOpt_set_data(this):e.visitChildren(this)}}class PE extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}opt_no(){return this.getRuleContext(0,t_)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}qualified_name(){return this.getRuleContext(0,ot)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,le)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}get ruleIndex(){return t.RULE_alterobjectdependsstmt}enterRule(e){e.enterAlterobjectdependsstmt&&e.enterAlterobjectdependsstmt(this)}exitRule(e){e.exitAlterobjectdependsstmt&&e.exitAlterobjectdependsstmt(this)}accept(e){return e.visitAlterobjectdependsstmt?e.visitAlterobjectdependsstmt(this):e.visitChildren(this)}}class t_ extends u{constructor(e,i){super(e,i)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_opt_no}enterRule(e){e.enterOpt_no&&e.enterOpt_no(this)}exitRule(e){e.exitOpt_no&&e.exitOpt_no(this)}accept(e){return e.visitOpt_no?e.visitOpt_no(this):e.visitChildren(this)}}class e_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ge)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}any_name(){return this.getRuleContext(0,B)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}name(){return this.getRuleContext(0,D)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,Be)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}qualified_name(){return this.getRuleContext(0,ot)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,le)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}get ruleIndex(){return t.RULE_alterobjectschemastmt}enterRule(e){e.enterAlterobjectschemastmt&&e.enterAlterobjectschemastmt(this)}exitRule(e){e.exitAlterobjectschemastmt&&e.exitAlterobjectschemastmt(this)}accept(e){return e.visitAlterobjectschemastmt?e.visitAlterobjectschemastmt(this):e.visitChildren(this)}}class i_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,Be)}KW_SET(){return this.getToken(t.KW_SET,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}operator_def_list(){return this.getRuleContext(0,s3)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_alteroperatorstmt}enterRule(e){e.enterAlteroperatorstmt&&e.enterAlteroperatorstmt(this)}exitRule(e){e.exitAlteroperatorstmt&&e.exitAlteroperatorstmt(this)}accept(e){return e.visitAlteroperatorstmt?e.visitAlteroperatorstmt(this):e.visitChildren(this)}}class s3 extends u{constructor(e,i){super(e,i)}operator_def_elem(e){return e===void 0?this.getRuleContexts(h3):this.getRuleContext(e,h3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_operator_def_list}enterRule(e){e.enterOperator_def_list&&e.enterOperator_def_list(this)}exitRule(e){e.exitOperator_def_list&&e.exitOperator_def_list(this)}accept(e){return e.visitOperator_def_list?e.visitOperator_def_list(this):e.visitChildren(this)}}class h3 extends u{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,Yt)}EQUAL(){return this.getToken(t.EQUAL,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}operator_def_arg(){return this.getRuleContext(0,n_)}get ruleIndex(){return t.RULE_operator_def_elem}enterRule(e){e.enterOperator_def_elem&&e.enterOperator_def_elem(this)}exitRule(e){e.exitOperator_def_elem&&e.exitOperator_def_elem(this)}accept(e){return e.visitOperator_def_elem?e.visitOperator_def_elem(this):e.visitChildren(this)}}class n_ extends u{constructor(e,i){super(e,i)}func_type(){return this.getRuleContext(0,ri)}reserved_keyword(){return this.getRuleContext(0,y1)}qual_all_op(){return this.getRuleContext(0,Rc)}numericonly(){return this.getRuleContext(0,Ot)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_operator_def_arg}enterRule(e){e.enterOperator_def_arg&&e.enterOperator_def_arg(this)}exitRule(e){e.exitOperator_def_arg&&e.exitOperator_def_arg(this)}accept(e){return e.visitOperator_def_arg?e.visitOperator_def_arg(this):e.visitChildren(this)}}class s_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(){return this.getRuleContext(0,B)}KW_SET(){return this.getToken(t.KW_SET,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}operator_def_list(){return this.getRuleContext(0,s3)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_altertypestmt}enterRule(e){e.enterAltertypestmt&&e.enterAltertypestmt(this)}exitRule(e){e.exitAltertypestmt&&e.exitAltertypestmt(this)}accept(e){return e.visitAltertypestmt?e.visitAltertypestmt(this):e.visitChildren(this)}}class h_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ge)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,rt)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}any_name(){return this.getRuleContext(0,B)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,Bt)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}name(){return this.getRuleContext(0,D)}opt_procedural(){return this.getRuleContext(0,oi)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(){return this.getRuleContext(0,Ot)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,Be)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,Te)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,jt)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}get ruleIndex(){return t.RULE_alterownerstmt}enterRule(e){e.enterAlterownerstmt&&e.enterAlterownerstmt(this)}exitRule(e){e.exitAlterownerstmt&&e.exitAlterownerstmt(this)}accept(e){return e.visitAlterownerstmt?e.visitAlterownerstmt(this):e.visitChildren(this)}}class c_ extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}name(){return this.getRuleContext(0,D)}opt_publication_for_tables(){return this.getRuleContext(0,a_)}opt_definition(){return this.getRuleContext(0,b0)}get ruleIndex(){return t.RULE_createpublicationstmt}enterRule(e){e.enterCreatepublicationstmt&&e.enterCreatepublicationstmt(this)}exitRule(e){e.exitCreatepublicationstmt&&e.exitCreatepublicationstmt(this)}accept(e){return e.visitCreatepublicationstmt?e.visitCreatepublicationstmt(this):e.visitChildren(this)}}class a_ extends u{constructor(e,i){super(e,i)}publication_for_tables(){return this.getRuleContext(0,u_)}get ruleIndex(){return t.RULE_opt_publication_for_tables}enterRule(e){e.enterOpt_publication_for_tables&&e.enterOpt_publication_for_tables(this)}exitRule(e){e.exitOpt_publication_for_tables&&e.exitOpt_publication_for_tables(this)}accept(e){return e.visitOpt_publication_for_tables?e.visitOpt_publication_for_tables(this):e.visitChildren(this)}}class u_ extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr_list(){return this.getRuleContext(0,nc)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}get ruleIndex(){return t.RULE_publication_for_tables}enterRule(e){e.enterPublication_for_tables&&e.enterPublication_for_tables(this)}exitRule(e){e.exitPublication_for_tables&&e.exitPublication_for_tables(this)}accept(e){return e.visitPublication_for_tables?e.visitPublication_for_tables(this):e.visitChildren(this)}}class E_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_SET(){return this.getToken(t.KW_SET,0)}definition(){return this.getRuleContext(0,Ai)}KW_ADD(){return this.getToken(t.KW_ADD,0)}publication_relation_expr_list(){return this.getRuleContext(0,S9)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,rt)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}get ruleIndex(){return t.RULE_alterpublicationstmt}enterRule(e){e.enterAlterpublicationstmt&&e.enterAlterpublicationstmt(this)}exitRule(e){e.exitAlterpublicationstmt&&e.exitAlterpublicationstmt(this)}accept(e){return e.visitAlterpublicationstmt?e.visitAlterpublicationstmt(this):e.visitChildren(this)}}class __ extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}name(){return this.getRuleContext(0,D)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}sconst(){return this.getRuleContext(0,Y)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}publication_name_list(){return this.getRuleContext(0,c3)}opt_definition(){return this.getRuleContext(0,b0)}get ruleIndex(){return t.RULE_createsubscriptionstmt}enterRule(e){e.enterCreatesubscriptionstmt&&e.enterCreatesubscriptionstmt(this)}exitRule(e){e.exitCreatesubscriptionstmt&&e.exitCreatesubscriptionstmt(this)}accept(e){return e.visitCreatesubscriptionstmt?e.visitCreatesubscriptionstmt(this):e.visitChildren(this)}}class c3 extends u{constructor(e,i){super(e,i)}publication_name_item(e){return e===void 0?this.getRuleContexts(a3):this.getRuleContext(e,a3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_publication_name_list}enterRule(e){e.enterPublication_name_list&&e.enterPublication_name_list(this)}exitRule(e){e.exitPublication_name_list&&e.exitPublication_name_list(this)}accept(e){return e.visitPublication_name_list?e.visitPublication_name_list(this):e.visitChildren(this)}}class a3 extends u{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,Yt)}get ruleIndex(){return t.RULE_publication_name_item}enterRule(e){e.enterPublication_name_item&&e.enterPublication_name_item(this)}exitRule(e){e.exitPublication_name_item&&e.exitPublication_name_item(this)}accept(e){return e.visitPublication_name_item?e.visitPublication_name_item(this):e.visitChildren(this)}}class W_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}name(){return this.getRuleContext(0,D)}KW_SET(){return this.getToken(t.KW_SET,0)}definition(){return this.getRuleContext(0,Ai)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}sconst(){return this.getRuleContext(0,Y)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}opt_definition(){return this.getRuleContext(0,b0)}publication_name_list(){return this.getRuleContext(0,c3)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}old_aggr_elem(){return this.getRuleContext(0,wh)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_altersubscriptionstmt}enterRule(e){e.enterAltersubscriptionstmt&&e.enterAltersubscriptionstmt(this)}exitRule(e){e.exitAltersubscriptionstmt&&e.exitAltersubscriptionstmt(this)}accept(e){return e.visitAltersubscriptionstmt?e.visitAltersubscriptionstmt(this):e.visitChildren(this)}}class K_ extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}name(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}event(){return this.getRuleContext(0,A_)}KW_TO(){return this.getToken(t.KW_TO,0)}qualified_name(){return this.getRuleContext(0,ot)}KW_DO(){return this.getToken(t.KW_DO,0)}ruleactionlist(){return this.getRuleContext(0,R_)}opt_or_replace(){return this.getRuleContext(0,w0)}where_clause(){return this.getRuleContext(0,De)}opt_instead(){return this.getRuleContext(0,T_)}get ruleIndex(){return t.RULE_rulestmt}enterRule(e){e.enterRulestmt&&e.enterRulestmt(this)}exitRule(e){e.exitRulestmt&&e.exitRulestmt(this)}accept(e){return e.visitRulestmt?e.visitRulestmt(this):e.visitChildren(this)}}class R_ extends u{constructor(e,i){super(e,i)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}ruleactionstmt(){return this.getRuleContext(0,u3)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}ruleactionmulti(){return this.getRuleContext(0,o_)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_ruleactionlist}enterRule(e){e.enterRuleactionlist&&e.enterRuleactionlist(this)}exitRule(e){e.exitRuleactionlist&&e.exitRuleactionlist(this)}accept(e){return e.visitRuleactionlist?e.visitRuleactionlist(this):e.visitChildren(this)}}class o_ extends u{constructor(e,i){super(e,i)}ruleactionstmtOrEmpty(e){return e===void 0?this.getRuleContexts(E3):this.getRuleContext(e,E3)}SEMI(e){return e===void 0?this.getTokens(t.SEMI):this.getToken(t.SEMI,e)}get ruleIndex(){return t.RULE_ruleactionmulti}enterRule(e){e.enterRuleactionmulti&&e.enterRuleactionmulti(this)}exitRule(e){e.exitRuleactionmulti&&e.exitRuleactionmulti(this)}accept(e){return e.visitRuleactionmulti?e.visitRuleactionmulti(this):e.visitChildren(this)}}class u3 extends u{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Vt)}insertstmt(){return this.getRuleContext(0,pi)}updatestmt(){return this.getRuleContext(0,C1)}deletestmt(){return this.getRuleContext(0,r1)}notifystmt(){return this.getRuleContext(0,_3)}get ruleIndex(){return t.RULE_ruleactionstmt}enterRule(e){e.enterRuleactionstmt&&e.enterRuleactionstmt(this)}exitRule(e){e.exitRuleactionstmt&&e.exitRuleactionstmt(this)}accept(e){return e.visitRuleactionstmt?e.visitRuleactionstmt(this):e.visitChildren(this)}}class E3 extends u{constructor(e,i){super(e,i)}ruleactionstmt(){return this.getRuleContext(0,u3)}get ruleIndex(){return t.RULE_ruleactionstmtOrEmpty}enterRule(e){e.enterRuleactionstmtOrEmpty&&e.enterRuleactionstmtOrEmpty(this)}exitRule(e){e.exitRuleactionstmtOrEmpty&&e.exitRuleactionstmtOrEmpty(this)}accept(e){return e.visitRuleactionstmtOrEmpty?e.visitRuleactionstmtOrEmpty(this):e.visitChildren(this)}}class A_ extends u{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}get ruleIndex(){return t.RULE_event}enterRule(e){e.enterEvent&&e.enterEvent(this)}exitRule(e){e.exitEvent&&e.exitEvent(this)}accept(e){return e.visitEvent?e.visitEvent(this):e.visitChildren(this)}}class T_ extends u{constructor(e,i){super(e,i)}KW_INSTEAD(){return this.getToken(t.KW_INSTEAD,0)}KW_ALSO(){return this.getToken(t.KW_ALSO,0)}get ruleIndex(){return t.RULE_opt_instead}enterRule(e){e.enterOpt_instead&&e.enterOpt_instead(this)}exitRule(e){e.exitOpt_instead&&e.exitOpt_instead(this)}accept(e){return e.visitOpt_instead?e.visitOpt_instead(this):e.visitChildren(this)}}class _3 extends u{constructor(e,i){super(e,i)}KW_NOTIFY(){return this.getToken(t.KW_NOTIFY,0)}colid(){return this.getRuleContext(0,H)}notify_payload(){return this.getRuleContext(0,l_)}get ruleIndex(){return t.RULE_notifystmt}enterRule(e){e.enterNotifystmt&&e.enterNotifystmt(this)}exitRule(e){e.exitNotifystmt&&e.exitNotifystmt(this)}accept(e){return e.visitNotifystmt?e.visitNotifystmt(this):e.visitChildren(this)}}class l_ extends u{constructor(e,i){super(e,i)}COMMA(){return this.getToken(t.COMMA,0)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_notify_payload}enterRule(e){e.enterNotify_payload&&e.enterNotify_payload(this)}exitRule(e){e.exitNotify_payload&&e.exitNotify_payload(this)}accept(e){return e.visitNotify_payload?e.visitNotify_payload(this):e.visitChildren(this)}}class r_ extends u{constructor(e,i){super(e,i)}KW_LISTEN(){return this.getToken(t.KW_LISTEN,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_listenstmt}enterRule(e){e.enterListenstmt&&e.enterListenstmt(this)}exitRule(e){e.exitListenstmt&&e.exitListenstmt(this)}accept(e){return e.visitListenstmt?e.visitListenstmt(this):e.visitChildren(this)}}class C_ extends u{constructor(e,i){super(e,i)}KW_UNLISTEN(){return this.getToken(t.KW_UNLISTEN,0)}colid(){return this.getRuleContext(0,H)}STAR(){return this.getToken(t.STAR,0)}get ruleIndex(){return t.RULE_unlistenstmt}enterRule(e){e.enterUnlistenstmt&&e.enterUnlistenstmt(this)}exitRule(e){e.exitUnlistenstmt&&e.exitUnlistenstmt(this)}accept(e){return e.visitUnlistenstmt?e.visitUnlistenstmt(this):e.visitChildren(this)}}class p_ extends u{constructor(e,i){super(e,i)}KW_ABORT(){return this.getToken(t.KW_ABORT,0)}opt_transaction(){return this.getRuleContext(0,d_)}opt_transaction_chain(){return this.getRuleContext(0,L_)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}transaction_mode_list_or_empty(){return this.getRuleContext(0,O_)}KW_START(){return this.getToken(t.KW_START,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_END(){return this.getToken(t.KW_END,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}colid(){return this.getRuleContext(0,H)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}sconst(){return this.getRuleContext(0,Y)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_PREPARED(){return this.getToken(t.KW_PREPARED,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_transactionstmt}enterRule(e){e.enterTransactionstmt&&e.enterTransactionstmt(this)}exitRule(e){e.exitTransactionstmt&&e.exitTransactionstmt(this)}accept(e){return e.visitTransactionstmt?e.visitTransactionstmt(this):e.visitChildren(this)}}class d_ extends u{constructor(e,i){super(e,i)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}get ruleIndex(){return t.RULE_opt_transaction}enterRule(e){e.enterOpt_transaction&&e.enterOpt_transaction(this)}exitRule(e){e.exitOpt_transaction&&e.exitOpt_transaction(this)}accept(e){return e.visitOpt_transaction?e.visitOpt_transaction(this):e.visitChildren(this)}}class W3 extends u{constructor(e,i){super(e,i)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}iso_level(){return this.getRuleContext(0,W8)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_transaction_mode_item}enterRule(e){e.enterTransaction_mode_item&&e.enterTransaction_mode_item(this)}exitRule(e){e.exitTransaction_mode_item&&e.exitTransaction_mode_item(this)}accept(e){return e.visitTransaction_mode_item?e.visitTransaction_mode_item(this):e.visitChildren(this)}}class K3 extends u{constructor(e,i){super(e,i)}transaction_mode_item(e){return e===void 0?this.getRuleContexts(W3):this.getRuleContext(e,W3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_transaction_mode_list}enterRule(e){e.enterTransaction_mode_list&&e.enterTransaction_mode_list(this)}exitRule(e){e.exitTransaction_mode_list&&e.exitTransaction_mode_list(this)}accept(e){return e.visitTransaction_mode_list?e.visitTransaction_mode_list(this):e.visitChildren(this)}}class O_ extends u{constructor(e,i){super(e,i)}transaction_mode_list(){return this.getRuleContext(0,K3)}get ruleIndex(){return t.RULE_transaction_mode_list_or_empty}enterRule(e){e.enterTransaction_mode_list_or_empty&&e.enterTransaction_mode_list_or_empty(this)}exitRule(e){e.exitTransaction_mode_list_or_empty&&e.exitTransaction_mode_list_or_empty(this)}accept(e){return e.visitTransaction_mode_list_or_empty?e.visitTransaction_mode_list_or_empty(this):e.visitChildren(this)}}class L_ extends u{constructor(e,i){super(e,i)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_opt_transaction_chain}enterRule(e){e.enterOpt_transaction_chain&&e.enterOpt_transaction_chain(this)}exitRule(e){e.exitOpt_transaction_chain&&e.exitOpt_transaction_chain(this)}accept(e){return e.visitOpt_transaction_chain?e.visitOpt_transaction_chain(this):e.visitChildren(this)}}class Zh extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_viewstmt}copyFrom(e){super.copyFrom(e)}}class FT extends Zh{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_AS(){return this.getToken(t.KW_AS,0)}selectstmt(){return this.getRuleContext(0,Vt)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name_create(){return this.getRuleContext(0,f1)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}opttemp(){return this.getRuleContext(0,Ki)}opt_check_option(){return this.getRuleContext(0,x_)}opt_column_list_create(){return this.getRuleContext(0,Nh)}opt_reloptions(){return this.getRuleContext(0,u1)}enterRule(e){e.enterCreateView&&e.enterCreateView(this)}exitRule(e){e.exitCreateView&&e.exitCreateView(this)}accept(e){return e.visitCreateView?e.visitCreateView(this):e.visitChildren(this)}}class x_ extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_opt_check_option}enterRule(e){e.enterOpt_check_option&&e.enterOpt_check_option(this)}exitRule(e){e.exitOpt_check_option&&e.exitOpt_check_option(this)}accept(e){return e.visitOpt_check_option?e.visitOpt_check_option(this):e.visitChildren(this)}}class N_ extends u{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}file_name(){return this.getRuleContext(0,_K)}get ruleIndex(){return t.RULE_loadstmt}enterRule(e){e.enterLoadstmt&&e.enterLoadstmt(this)}exitRule(e){e.exitLoadstmt&&e.exitLoadstmt(this)}accept(e){return e.visitLoadstmt?e.visitLoadstmt(this):e.visitChildren(this)}}class R3 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createdbstmt}copyFrom(e){super.copyFrom(e)}}class GT extends R3{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name_create(){return this.getRuleContext(0,dc)}opt_with(){return this.getRuleContext(0,Re)}createdb_opt_list(){return this.getRuleContext(0,o3)}enterRule(e){e.enterCreateDatabase&&e.enterCreateDatabase(this)}exitRule(e){e.exitCreateDatabase&&e.exitCreateDatabase(this)}accept(e){return e.visitCreateDatabase?e.visitCreateDatabase(this):e.visitChildren(this)}}class o3 extends u{constructor(e,i){super(e,i)}createdb_opt_items(){return this.getRuleContext(0,m_)}get ruleIndex(){return t.RULE_createdb_opt_list}enterRule(e){e.enterCreatedb_opt_list&&e.enterCreatedb_opt_list(this)}exitRule(e){e.exitCreatedb_opt_list&&e.exitCreatedb_opt_list(this)}accept(e){return e.visitCreatedb_opt_list?e.visitCreatedb_opt_list(this):e.visitChildren(this)}}class m_ extends u{constructor(e,i){super(e,i)}createdb_opt_item(e){return e===void 0?this.getRuleContexts(A3):this.getRuleContext(e,A3)}get ruleIndex(){return t.RULE_createdb_opt_items}enterRule(e){e.enterCreatedb_opt_items&&e.enterCreatedb_opt_items(this)}exitRule(e){e.exitCreatedb_opt_items&&e.exitCreatedb_opt_items(this)}accept(e){return e.visitCreatedb_opt_items?e.visitCreatedb_opt_items(this):e.visitChildren(this)}}class A3 extends u{constructor(e,i){super(e,i)}createdb_opt_name(){return this.getRuleContext(0,I_)}signediconst(){return this.getRuleContext(0,V0)}opt_boolean_or_string(){return this.getRuleContext(0,Wi)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}opt_equal(){return this.getRuleContext(0,f_)}get ruleIndex(){return t.RULE_createdb_opt_item}enterRule(e){e.enterCreatedb_opt_item&&e.enterCreatedb_opt_item(this)}exitRule(e){e.exitCreatedb_opt_item&&e.exitCreatedb_opt_item(this)}accept(e){return e.visitCreatedb_opt_item?e.visitCreatedb_opt_item(this):e.visitChildren(this)}}class I_ extends u{constructor(e,i){super(e,i)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_ENCODING(){return this.getToken(t.KW_ENCODING,0)}KW_LOCATION(){return this.getToken(t.KW_LOCATION,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}identifier(){return this.getRuleContext(0,It)}get ruleIndex(){return t.RULE_createdb_opt_name}enterRule(e){e.enterCreatedb_opt_name&&e.enterCreatedb_opt_name(this)}exitRule(e){e.exitCreatedb_opt_name&&e.exitCreatedb_opt_name(this)}accept(e){return e.visitCreatedb_opt_name?e.visitCreatedb_opt_name(this):e.visitChildren(this)}}class f_ extends u{constructor(e,i){super(e,i)}EQUAL(){return this.getToken(t.EQUAL,0)}get ruleIndex(){return t.RULE_opt_equal}enterRule(e){e.enterOpt_equal&&e.enterOpt_equal(this)}exitRule(e){e.exitOpt_equal&&e.exitOpt_equal(this)}accept(e){return e.visitOpt_equal?e.visitOpt_equal(this):e.visitChildren(this)}}class U_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_create(){return this.getRuleContext(0,Ni)}createdb_opt_list(){return this.getRuleContext(0,o3)}KW_WITH(){return this.getToken(t.KW_WITH,0)}get ruleIndex(){return t.RULE_alterdatabasestmt}enterRule(e){e.enterAlterdatabasestmt&&e.enterAlterdatabasestmt(this)}exitRule(e){e.exitAlterdatabasestmt&&e.exitAlterdatabasestmt(this)}accept(e){return e.visitAlterdatabasestmt?e.visitAlterdatabasestmt(this):e.visitChildren(this)}}class k_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,he)}setresetclause(){return this.getRuleContext(0,Ua)}get ruleIndex(){return t.RULE_alterdatabasesetstmt}enterRule(e){e.enterAlterdatabasesetstmt&&e.enterAlterdatabasesetstmt(this)}exitRule(e){e.exitAlterdatabasesetstmt&&e.exitAlterdatabasesetstmt(this)}accept(e){return e.visitAlterdatabasesetstmt?e.visitAlterdatabasesetstmt(this):e.visitChildren(this)}}class D_ extends u{constructor(e,i){super(e,i)}drop_option(e){return e===void 0?this.getRuleContexts(T3):this.getRuleContext(e,T3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_drop_option_list}enterRule(e){e.enterDrop_option_list&&e.enterDrop_option_list(this)}exitRule(e){e.exitDrop_option_list&&e.exitDrop_option_list(this)}accept(e){return e.visitDrop_option_list?e.visitDrop_option_list(this):e.visitChildren(this)}}class T3 extends u{constructor(e,i){super(e,i)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}get ruleIndex(){return t.RULE_drop_option}enterRule(e){e.enterDrop_option&&e.enterDrop_option(this)}exitRule(e){e.exitDrop_option&&e.exitDrop_option(this)}accept(e){return e.visitDrop_option?e.visitDrop_option(this):e.visitChildren(this)}}class M_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}any_name(){return this.getRuleContext(0,B)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}get ruleIndex(){return t.RULE_altercollationstmt}enterRule(e){e.enterAltercollationstmt&&e.enterAltercollationstmt(this)}exitRule(e){e.exitAltercollationstmt&&e.exitAltercollationstmt(this)}accept(e){return e.visitAltercollationstmt?e.visitAltercollationstmt(this):e.visitChildren(this)}}class y_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}generic_set(){return this.getRuleContext(0,ma)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}get ruleIndex(){return t.RULE_altersystemstmt}enterRule(e){e.enterAltersystemstmt&&e.enterAltersystemstmt(this)}exitRule(e){e.exitAltersystemstmt&&e.exitAltersystemstmt(this)}accept(e){return e.visitAltersystemstmt?e.visitAltersystemstmt(this):e.visitChildren(this)}}class H_ extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}any_name(){return this.getRuleContext(0,B)}typename(){return this.getRuleContext(0,j)}colquallist(){return this.getRuleContext(0,Oh)}opt_as(){return this.getRuleContext(0,zh)}get ruleIndex(){return t.RULE_createdomainstmt}enterRule(e){e.enterCreatedomainstmt&&e.enterCreatedomainstmt(this)}exitRule(e){e.exitCreatedomainstmt&&e.exitCreatedomainstmt(this)}accept(e){return e.visitCreatedomainstmt?e.visitCreatedomainstmt(this):e.visitChildren(this)}}class w_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}any_name(){return this.getRuleContext(0,B)}alter_column_default(){return this.getRuleContext(0,ya)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}tableconstraint(){return this.getRuleContext(0,xh)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}name(){return this.getRuleContext(0,D)}KW_VALIDATE(){return this.getToken(t.KW_VALIDATE,0)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_alterdomainstmt}enterRule(e){e.enterAlterdomainstmt&&e.enterAlterdomainstmt(this)}exitRule(e){e.exitAlterdomainstmt&&e.exitAlterdomainstmt(this)}accept(e){return e.visitAlterdomainstmt?e.visitAlterdomainstmt(this):e.visitChildren(this)}}class zh extends u{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_opt_as}enterRule(e){e.enterOpt_as&&e.enterOpt_as(this)}exitRule(e){e.exitOpt_as&&e.exitOpt_as(this)}accept(e){return e.visitOpt_as?e.visitOpt_as(this):e.visitChildren(this)}}class b_ extends u{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}any_name(){return this.getRuleContext(0,B)}definition(){return this.getRuleContext(0,Ai)}get ruleIndex(){return t.RULE_altertsdictionarystmt}enterRule(e){e.enterAltertsdictionarystmt&&e.enterAltertsdictionarystmt(this)}exitRule(e){e.exitAltertsdictionarystmt&&e.exitAltertsdictionarystmt(this)}accept(e){return e.visitAltertsdictionarystmt?e.visitAltertsdictionarystmt(this):e.visitChildren(this)}}class v_ extends u{constructor(e,i){super(e,i)}KW_ALTER(e){return e===void 0?this.getTokens(t.KW_ALTER):this.getToken(t.KW_ALTER,e)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}name_list(){return this.getRuleContext(0,mi)}any_with(){return this.getRuleContext(0,F_)}any_name_list(){return this.getRuleContext(0,A1)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}opt_if_exists(){return this.getRuleContext(0,zt)}get ruleIndex(){return t.RULE_altertsconfigurationstmt}enterRule(e){e.enterAltertsconfigurationstmt&&e.enterAltertsconfigurationstmt(this)}exitRule(e){e.exitAltertsconfigurationstmt&&e.exitAltertsconfigurationstmt(this)}accept(e){return e.visitAltertsconfigurationstmt?e.visitAltertsconfigurationstmt(this):e.visitChildren(this)}}class F_ extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}get ruleIndex(){return t.RULE_any_with}enterRule(e){e.enterAny_with&&e.enterAny_with(this)}exitRule(e){e.exitAny_with&&e.exitAny_with(this)}accept(e){return e.visitAny_with?e.visitAny_with(this):e.visitChildren(this)}}class G_ extends u{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_FOR(){return this.getToken(t.KW_FOR,0)}sconst(e){return e===void 0?this.getRuleContexts(Y):this.getRuleContext(e,Y)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}opt_default(){return this.getRuleContext(0,f2)}get ruleIndex(){return t.RULE_createconversionstmt}enterRule(e){e.enterCreateconversionstmt&&e.enterCreateconversionstmt(this)}exitRule(e){e.exitCreateconversionstmt&&e.exitCreateconversionstmt(this)}accept(e){return e.visitCreateconversionstmt?e.visitCreateconversionstmt(this):e.visitChildren(this)}}class B_ extends u{constructor(e,i){super(e,i)}KW_CLUSTER(){return this.getToken(t.KW_CLUSTER,0)}table_name(){return this.getRuleContext(0,Lt)}opt_verbose(){return this.getRuleContext(0,c0)}cluster_index_specification(){return this.getRuleContext(0,Y_)}opt_verbose_list(){return this.getRuleContext(0,V_)}get ruleIndex(){return t.RULE_clusterstmt}enterRule(e){e.enterClusterstmt&&e.enterClusterstmt(this)}exitRule(e){e.exitClusterstmt&&e.exitClusterstmt(this)}accept(e){return e.visitClusterstmt?e.visitClusterstmt(this):e.visitChildren(this)}}class V_ extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}opt_verbose(e){return e===void 0?this.getRuleContexts(c0):this.getRuleContext(e,c0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opt_verbose_list}enterRule(e){e.enterOpt_verbose_list&&e.enterOpt_verbose_list(this)}exitRule(e){e.exitOpt_verbose_list&&e.exitOpt_verbose_list(this)}accept(e){return e.visitOpt_verbose_list?e.visitOpt_verbose_list(this):e.visitChildren(this)}}class Y_ extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_cluster_index_specification}enterRule(e){e.enterCluster_index_specification&&e.enterCluster_index_specification(this)}exitRule(e){e.exitCluster_index_specification&&e.exitCluster_index_specification(this)}accept(e){return e.visitCluster_index_specification?e.visitCluster_index_specification(this):e.visitChildren(this)}}class X_ extends u{constructor(e,i){super(e,i)}KW_VACUUM(){return this.getToken(t.KW_VACUUM,0)}opt_full(){return this.getRuleContext(0,q_)}opt_freeze(){return this.getRuleContext(0,P_)}opt_verbose(){return this.getRuleContext(0,c0)}opt_analyze(){return this.getRuleContext(0,J_)}opt_vacuum_relation_list(){return this.getRuleContext(0,p3)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}vac_analyze_option_list(){return this.getRuleContext(0,Z_)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_vacuumstmt}enterRule(e){e.enterVacuumstmt&&e.enterVacuumstmt(this)}exitRule(e){e.exitVacuumstmt&&e.exitVacuumstmt(this)}accept(e){return e.visitVacuumstmt?e.visitVacuumstmt(this):e.visitChildren(this)}}class Q_ extends u{constructor(e,i){super(e,i)}analyze_keyword(){return this.getRuleContext(0,Ci)}opt_verbose(){return this.getRuleContext(0,c0)}opt_vacuum_relation_list(){return this.getRuleContext(0,p3)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}analyze_options_list(){return this.getRuleContext(0,$_)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_analyzestmt}enterRule(e){e.enterAnalyzestmt&&e.enterAnalyzestmt(this)}exitRule(e){e.exitAnalyzestmt&&e.exitAnalyzestmt(this)}accept(e){return e.visitAnalyzestmt?e.visitAnalyzestmt(this):e.visitChildren(this)}}class Z_ extends u{constructor(e,i){super(e,i)}vac_analyze_option_elem(e){return e===void 0?this.getRuleContexts(l3):this.getRuleContext(e,l3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_vac_analyze_option_list}enterRule(e){e.enterVac_analyze_option_list&&e.enterVac_analyze_option_list(this)}exitRule(e){e.exitVac_analyze_option_list&&e.exitVac_analyze_option_list(this)}accept(e){return e.visitVac_analyze_option_list?e.visitVac_analyze_option_list(this):e.visitChildren(this)}}class Ci extends u{constructor(e,i){super(e,i)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_ANALYSE(){return this.getToken(t.KW_ANALYSE,0)}get ruleIndex(){return t.RULE_analyze_keyword}enterRule(e){e.enterAnalyze_keyword&&e.enterAnalyze_keyword(this)}exitRule(e){e.exitAnalyze_keyword&&e.exitAnalyze_keyword(this)}accept(e){return e.visitAnalyze_keyword?e.visitAnalyze_keyword(this):e.visitChildren(this)}}class l3 extends u{constructor(e,i){super(e,i)}vac_analyze_option_name(){return this.getRuleContext(0,z_)}vac_analyze_option_arg(){return this.getRuleContext(0,j_)}get ruleIndex(){return t.RULE_vac_analyze_option_elem}enterRule(e){e.enterVac_analyze_option_elem&&e.enterVac_analyze_option_elem(this)}exitRule(e){e.exitVac_analyze_option_elem&&e.exitVac_analyze_option_elem(this)}accept(e){return e.visitVac_analyze_option_elem?e.visitVac_analyze_option_elem(this):e.visitChildren(this)}}class z_ extends u{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,Ii)}analyze_keyword(){return this.getRuleContext(0,Ci)}get ruleIndex(){return t.RULE_vac_analyze_option_name}enterRule(e){e.enterVac_analyze_option_name&&e.enterVac_analyze_option_name(this)}exitRule(e){e.exitVac_analyze_option_name&&e.exitVac_analyze_option_name(this)}accept(e){return e.visitVac_analyze_option_name?e.visitVac_analyze_option_name(this):e.visitChildren(this)}}class j_ extends u{constructor(e,i){super(e,i)}opt_boolean_or_string(){return this.getRuleContext(0,Wi)}numericonly(){return this.getRuleContext(0,Ot)}get ruleIndex(){return t.RULE_vac_analyze_option_arg}enterRule(e){e.enterVac_analyze_option_arg&&e.enterVac_analyze_option_arg(this)}exitRule(e){e.exitVac_analyze_option_arg&&e.exitVac_analyze_option_arg(this)}accept(e){return e.visitVac_analyze_option_arg?e.visitVac_analyze_option_arg(this):e.visitChildren(this)}}class J_ extends u{constructor(e,i){super(e,i)}analyze_keyword(){return this.getRuleContext(0,Ci)}get ruleIndex(){return t.RULE_opt_analyze}enterRule(e){e.enterOpt_analyze&&e.enterOpt_analyze(this)}exitRule(e){e.exitOpt_analyze&&e.exitOpt_analyze(this)}accept(e){return e.visitOpt_analyze?e.visitOpt_analyze(this):e.visitChildren(this)}}class $_ extends u{constructor(e,i){super(e,i)}analyze_option_elem(e){return e===void 0?this.getRuleContexts(r3):this.getRuleContext(e,r3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_analyze_options_list}enterRule(e){e.enterAnalyze_options_list&&e.enterAnalyze_options_list(this)}exitRule(e){e.exitAnalyze_options_list&&e.exitAnalyze_options_list(this)}accept(e){return e.visitAnalyze_options_list?e.visitAnalyze_options_list(this):e.visitChildren(this)}}class r3 extends u{constructor(e,i){super(e,i)}opt_verbose(){return this.getRuleContext(0,c0)}opt_skiplock(){return this.getRuleContext(0,S_)}opt_buffer_usage_limit(){return this.getRuleContext(0,g_)}get ruleIndex(){return t.RULE_analyze_option_elem}enterRule(e){e.enterAnalyze_option_elem&&e.enterAnalyze_option_elem(this)}exitRule(e){e.exitAnalyze_option_elem&&e.exitAnalyze_option_elem(this)}accept(e){return e.visitAnalyze_option_elem?e.visitAnalyze_option_elem(this):e.visitChildren(this)}}class c0 extends u{constructor(e,i){super(e,i)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}get ruleIndex(){return t.RULE_opt_verbose}enterRule(e){e.enterOpt_verbose&&e.enterOpt_verbose(this)}exitRule(e){e.exitOpt_verbose&&e.exitOpt_verbose(this)}accept(e){return e.visitOpt_verbose?e.visitOpt_verbose(this):e.visitChildren(this)}}class S_ extends u{constructor(e,i){super(e,i)}KW_SKIP_LOCKED(){return this.getToken(t.KW_SKIP_LOCKED,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}get ruleIndex(){return t.RULE_opt_skiplock}enterRule(e){e.enterOpt_skiplock&&e.enterOpt_skiplock(this)}exitRule(e){e.exitOpt_skiplock&&e.exitOpt_skiplock(this)}accept(e){return e.visitOpt_skiplock?e.visitOpt_skiplock(this):e.visitChildren(this)}}class g_ extends u{constructor(e,i){super(e,i)}KW_BUFFER_USAGE_LIMIT(){return this.getToken(t.KW_BUFFER_USAGE_LIMIT,0)}numericonly(){return this.getRuleContext(0,Ot)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_opt_buffer_usage_limit}enterRule(e){e.enterOpt_buffer_usage_limit&&e.enterOpt_buffer_usage_limit(this)}exitRule(e){e.exitOpt_buffer_usage_limit&&e.exitOpt_buffer_usage_limit(this)}accept(e){return e.visitOpt_buffer_usage_limit?e.visitOpt_buffer_usage_limit(this):e.visitChildren(this)}}class q_ extends u{constructor(e,i){super(e,i)}KW_FULL(){return this.getToken(t.KW_FULL,0)}get ruleIndex(){return t.RULE_opt_full}enterRule(e){e.enterOpt_full&&e.enterOpt_full(this)}exitRule(e){e.exitOpt_full&&e.exitOpt_full(this)}accept(e){return e.visitOpt_full?e.visitOpt_full(this):e.visitChildren(this)}}class P_ extends u{constructor(e,i){super(e,i)}KW_FREEZE(){return this.getToken(t.KW_FREEZE,0)}get ruleIndex(){return t.RULE_opt_freeze}enterRule(e){e.enterOpt_freeze&&e.enterOpt_freeze(this)}exitRule(e){e.exitOpt_freeze&&e.exitOpt_freeze(this)}accept(e){return e.visitOpt_freeze?e.visitOpt_freeze(this):e.visitChildren(this)}}class jh extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_name_list}enterRule(e){e.enterOpt_name_list&&e.enterOpt_name_list(this)}exitRule(e){e.exitOpt_name_list&&e.exitOpt_name_list(this)}accept(e){return e.visitOpt_name_list?e.visitOpt_name_list(this):e.visitChildren(this)}}class C3 extends u{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,Lt)}opt_name_list(){return this.getRuleContext(0,jh)}get ruleIndex(){return t.RULE_vacuum_relation}enterRule(e){e.enterVacuum_relation&&e.enterVacuum_relation(this)}exitRule(e){e.exitVacuum_relation&&e.exitVacuum_relation(this)}accept(e){return e.visitVacuum_relation?e.visitVacuum_relation(this):e.visitChildren(this)}}class t9 extends u{constructor(e,i){super(e,i)}vacuum_relation(e){return e===void 0?this.getRuleContexts(C3):this.getRuleContext(e,C3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_vacuum_relation_list}enterRule(e){e.enterVacuum_relation_list&&e.enterVacuum_relation_list(this)}exitRule(e){e.exitVacuum_relation_list&&e.exitVacuum_relation_list(this)}accept(e){return e.visitVacuum_relation_list?e.visitVacuum_relation_list(this):e.visitChildren(this)}}class p3 extends u{constructor(e,i){super(e,i)}vacuum_relation_list(){return this.getRuleContext(0,t9)}get ruleIndex(){return t.RULE_opt_vacuum_relation_list}enterRule(e){e.enterOpt_vacuum_relation_list&&e.enterOpt_vacuum_relation_list(this)}exitRule(e){e.exitOpt_vacuum_relation_list&&e.exitOpt_vacuum_relation_list(this)}accept(e){return e.visitOpt_vacuum_relation_list?e.visitOpt_vacuum_relation_list(this):e.visitChildren(this)}}class d3 extends u{constructor(e,i){super(e,i)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}explainablestmt(){return this.getRuleContext(0,e9)}analyze_keyword(){return this.getRuleContext(0,Ci)}opt_verbose(){return this.getRuleContext(0,c0)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}explain_option_list(){return this.getRuleContext(0,i9)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_explainstmt}enterRule(e){e.enterExplainstmt&&e.enterExplainstmt(this)}exitRule(e){e.exitExplainstmt&&e.exitExplainstmt(this)}accept(e){return e.visitExplainstmt?e.visitExplainstmt(this):e.visitChildren(this)}}class e9 extends u{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Vt)}insertstmt(){return this.getRuleContext(0,pi)}updatestmt(){return this.getRuleContext(0,C1)}deletestmt(){return this.getRuleContext(0,r1)}declarecursorstmt(){return this.getRuleContext(0,f3)}createasstmt(){return this.getRuleContext(0,Ih)}creatematviewstmt(){return this.getRuleContext(0,fh)}refreshmatviewstmt(){return this.getRuleContext(0,h2)}executestmt(){return this.getRuleContext(0,L3)}get ruleIndex(){return t.RULE_explainablestmt}enterRule(e){e.enterExplainablestmt&&e.enterExplainablestmt(this)}exitRule(e){e.exitExplainablestmt&&e.exitExplainablestmt(this)}accept(e){return e.visitExplainablestmt?e.visitExplainablestmt(this):e.visitChildren(this)}}class i9 extends u{constructor(e,i){super(e,i)}explain_option_elem(e){return e===void 0?this.getRuleContexts(O3):this.getRuleContext(e,O3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_explain_option_list}enterRule(e){e.enterExplain_option_list&&e.enterExplain_option_list(this)}exitRule(e){e.exitExplain_option_list&&e.exitExplain_option_list(this)}accept(e){return e.visitExplain_option_list?e.visitExplain_option_list(this):e.visitChildren(this)}}class O3 extends u{constructor(e,i){super(e,i)}explain_option_name(){return this.getRuleContext(0,n9)}explain_option_arg(){return this.getRuleContext(0,s9)}get ruleIndex(){return t.RULE_explain_option_elem}enterRule(e){e.enterExplain_option_elem&&e.enterExplain_option_elem(this)}exitRule(e){e.exitExplain_option_elem&&e.exitExplain_option_elem(this)}accept(e){return e.visitExplain_option_elem?e.visitExplain_option_elem(this):e.visitChildren(this)}}class n9 extends u{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,Ii)}analyze_keyword(){return this.getRuleContext(0,Ci)}get ruleIndex(){return t.RULE_explain_option_name}enterRule(e){e.enterExplain_option_name&&e.enterExplain_option_name(this)}exitRule(e){e.exitExplain_option_name&&e.exitExplain_option_name(this)}accept(e){return e.visitExplain_option_name?e.visitExplain_option_name(this):e.visitChildren(this)}}class s9 extends u{constructor(e,i){super(e,i)}opt_boolean_or_string(){return this.getRuleContext(0,Wi)}numericonly(){return this.getRuleContext(0,Ot)}get ruleIndex(){return t.RULE_explain_option_arg}enterRule(e){e.enterExplain_option_arg&&e.enterExplain_option_arg(this)}exitRule(e){e.exitExplain_option_arg&&e.exitExplain_option_arg(this)}accept(e){return e.visitExplain_option_arg?e.visitExplain_option_arg(this):e.visitChildren(this)}}class h9 extends u{constructor(e,i){super(e,i)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}name(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(t.KW_AS,0)}preparablestmt(){return this.getRuleContext(0,Jh)}prep_type_clause(){return this.getRuleContext(0,c9)}get ruleIndex(){return t.RULE_preparestmt}enterRule(e){e.enterPreparestmt&&e.enterPreparestmt(this)}exitRule(e){e.exitPreparestmt&&e.exitPreparestmt(this)}accept(e){return e.visitPreparestmt?e.visitPreparestmt(this):e.visitChildren(this)}}class c9 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}type_list(){return this.getRuleContext(0,xi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_prep_type_clause}enterRule(e){e.enterPrep_type_clause&&e.enterPrep_type_clause(this)}exitRule(e){e.exitPrep_type_clause&&e.exitPrep_type_clause(this)}accept(e){return e.visitPrep_type_clause?e.visitPrep_type_clause(this):e.visitChildren(this)}}class Jh extends u{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Vt)}insertstmt(){return this.getRuleContext(0,pi)}updatestmt(){return this.getRuleContext(0,C1)}deletestmt(){return this.getRuleContext(0,r1)}get ruleIndex(){return t.RULE_preparablestmt}enterRule(e){e.enterPreparablestmt&&e.enterPreparablestmt(this)}exitRule(e){e.exitPreparablestmt&&e.exitPreparablestmt(this)}accept(e){return e.visitPreparablestmt?e.visitPreparablestmt(this):e.visitChildren(this)}}class L3 extends u{constructor(e,i){super(e,i)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}name(){return this.getRuleContext(0,D)}execute_param_clause(){return this.getRuleContext(0,a9)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}create_as_target(){return this.getRuleContext(0,s2)}KW_AS(){return this.getToken(t.KW_AS,0)}opttemp(){return this.getRuleContext(0,Ki)}opt_if_not_exists(){return this.getRuleContext(0,ft)}opt_with_data(){return this.getRuleContext(0,K1)}get ruleIndex(){return t.RULE_executestmt}enterRule(e){e.enterExecutestmt&&e.enterExecutestmt(this)}exitRule(e){e.exitExecutestmt&&e.exitExecutestmt(this)}accept(e){return e.visitExecutestmt?e.visitExecutestmt(this):e.visitChildren(this)}}class a9 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_execute_param_clause}enterRule(e){e.enterExecute_param_clause&&e.enterExecute_param_clause(this)}exitRule(e){e.exitExecute_param_clause&&e.exitExecute_param_clause(this)}accept(e){return e.visitExecute_param_clause?e.visitExecute_param_clause(this):e.visitChildren(this)}}class u9 extends u{constructor(e,i){super(e,i)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}name(){return this.getRuleContext(0,D)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}get ruleIndex(){return t.RULE_deallocatestmt}enterRule(e){e.enterDeallocatestmt&&e.enterDeallocatestmt(this)}exitRule(e){e.exitDeallocatestmt&&e.exitDeallocatestmt(this)}accept(e){return e.visitDeallocatestmt?e.visitDeallocatestmt(this):e.visitChildren(this)}}class pi extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_insertstmt}copyFrom(e){super.copyFrom(e)}}class BT extends pi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}insert_target(){return this.getRuleContext(0,E9)}insert_rest(){return this.getRuleContext(0,_9)}opt_with_clause(){return this.getRuleContext(0,qh)}opt_on_conflict(){return this.getRuleContext(0,R9)}returning_clause(){return this.getRuleContext(0,$h)}enterRule(e){e.enterInsertStatement&&e.enterInsertStatement(this)}exitRule(e){e.exitInsertStatement&&e.exitInsertStatement(this)}accept(e){return e.visitInsertStatement?e.visitInsertStatement(this):e.visitChildren(this)}}class E9 extends u{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,Lt)}KW_AS(){return this.getToken(t.KW_AS,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_insert_target}enterRule(e){e.enterInsert_target&&e.enterInsert_target(this)}exitRule(e){e.exitInsert_target&&e.exitInsert_target(this)}accept(e){return e.visitInsert_target?e.visitInsert_target(this):e.visitChildren(this)}}class _9 extends u{constructor(e,i){super(e,i)}default_values_or_values(){return this.getRuleContext(0,e7)}selectstmt(){return this.getRuleContext(0,Vt)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}insert_column_list(){return this.getRuleContext(0,K9)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OVERRIDING(){return this.getToken(t.KW_OVERRIDING,0)}override_kind(){return this.getRuleContext(0,W9)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_insert_rest}enterRule(e){e.enterInsert_rest&&e.enterInsert_rest(this)}exitRule(e){e.exitInsert_rest&&e.exitInsert_rest(this)}accept(e){return e.visitInsert_rest?e.visitInsert_rest(this):e.visitChildren(this)}}class W9 extends u{constructor(e,i){super(e,i)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}get ruleIndex(){return t.RULE_override_kind}enterRule(e){e.enterOverride_kind&&e.enterOverride_kind(this)}exitRule(e){e.exitOverride_kind&&e.exitOverride_kind(this)}accept(e){return e.visitOverride_kind?e.visitOverride_kind(this):e.visitChildren(this)}}class K9 extends u{constructor(e,i){super(e,i)}insert_column_item(e){return e===void 0?this.getRuleContexts(x3):this.getRuleContext(e,x3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_insert_column_list}enterRule(e){e.enterInsert_column_list&&e.enterInsert_column_list(this)}exitRule(e){e.exitInsert_column_list&&e.exitInsert_column_list(this)}accept(e){return e.visitInsert_column_list?e.visitInsert_column_list(this):e.visitChildren(this)}}class x3 extends u{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Wt)}opt_indirection(){return this.getRuleContext(0,rc)}get ruleIndex(){return t.RULE_insert_column_item}enterRule(e){e.enterInsert_column_item&&e.enterInsert_column_item(this)}exitRule(e){e.exitInsert_column_item&&e.exitInsert_column_item(this)}accept(e){return e.visitInsert_column_item?e.visitInsert_column_item(this):e.visitChildren(this)}}class R9 extends u{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_CONFLICT(){return this.getToken(t.KW_CONFLICT,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}set_clause_list(){return this.getRuleContext(0,m3)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}opt_conf_expr(){return this.getRuleContext(0,o9)}where_clause(){return this.getRuleContext(0,De)}get ruleIndex(){return t.RULE_opt_on_conflict}enterRule(e){e.enterOpt_on_conflict&&e.enterOpt_on_conflict(this)}exitRule(e){e.exitOpt_on_conflict&&e.exitOpt_on_conflict(this)}accept(e){return e.visitOpt_on_conflict?e.visitOpt_on_conflict(this):e.visitChildren(this)}}class o9 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}index_params(){return this.getRuleContext(0,Y2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}where_clause(){return this.getRuleContext(0,De)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_opt_conf_expr}enterRule(e){e.enterOpt_conf_expr&&e.enterOpt_conf_expr(this)}exitRule(e){e.exitOpt_conf_expr&&e.exitOpt_conf_expr(this)}accept(e){return e.visitOpt_conf_expr?e.visitOpt_conf_expr(this):e.visitChildren(this)}}class $h extends u{constructor(e,i){super(e,i)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}target_list(){return this.getRuleContext(0,Cc)}get ruleIndex(){return t.RULE_returning_clause}enterRule(e){e.enterReturning_clause&&e.enterReturning_clause(this)}exitRule(e){e.exitReturning_clause&&e.exitReturning_clause(this)}accept(e){return e.visitReturning_clause?e.visitReturning_clause(this):e.visitChildren(this)}}class r1 extends u{constructor(e,i){super(e,i)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}relation_expr_opt_alias(){return this.getRuleContext(0,g3)}opt_with_clause(){return this.getRuleContext(0,qh)}using_clause(){return this.getRuleContext(0,A9)}where_or_current_clause(){return this.getRuleContext(0,P3)}returning_clause(){return this.getRuleContext(0,$h)}get ruleIndex(){return t.RULE_deletestmt}enterRule(e){e.enterDeletestmt&&e.enterDeletestmt(this)}exitRule(e){e.exitDeletestmt&&e.exitDeletestmt(this)}accept(e){return e.visitDeletestmt?e.visitDeletestmt(this):e.visitChildren(this)}}class A9 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}from_list(){return this.getRuleContext(0,ic)}get ruleIndex(){return t.RULE_using_clause}enterRule(e){e.enterUsing_clause&&e.enterUsing_clause(this)}exitRule(e){e.exitUsing_clause&&e.exitUsing_clause(this)}accept(e){return e.visitUsing_clause?e.visitUsing_clause(this):e.visitChildren(this)}}class T9 extends u{constructor(e,i){super(e,i)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}relation_expr_list(){return this.getRuleContext(0,nc)}opt_table(){return this.getRuleContext(0,y3)}opt_lock(){return this.getRuleContext(0,l9)}opt_nowait(){return this.getRuleContext(0,N3)}get ruleIndex(){return t.RULE_lockstmt}enterRule(e){e.enterLockstmt&&e.enterLockstmt(this)}exitRule(e){e.exitLockstmt&&e.exitLockstmt(this)}accept(e){return e.visitLockstmt?e.visitLockstmt(this):e.visitChildren(this)}}class l9 extends u{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}lock_type(){return this.getRuleContext(0,r9)}KW_MODE(){return this.getToken(t.KW_MODE,0)}get ruleIndex(){return t.RULE_opt_lock}enterRule(e){e.enterOpt_lock&&e.enterOpt_lock(this)}exitRule(e){e.exitOpt_lock&&e.exitOpt_lock(this)}accept(e){return e.visitOpt_lock?e.visitOpt_lock(this):e.visitChildren(this)}}class r9 extends u{constructor(e,i){super(e,i)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}get ruleIndex(){return t.RULE_lock_type}enterRule(e){e.enterLock_type&&e.enterLock_type(this)}exitRule(e){e.exitLock_type&&e.exitLock_type(this)}accept(e){return e.visitLock_type?e.visitLock_type(this):e.visitChildren(this)}}class N3 extends u{constructor(e,i){super(e,i)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}get ruleIndex(){return t.RULE_opt_nowait}enterRule(e){e.enterOpt_nowait&&e.enterOpt_nowait(this)}exitRule(e){e.exitOpt_nowait&&e.exitOpt_nowait(this)}accept(e){return e.visitOpt_nowait?e.visitOpt_nowait(this):e.visitChildren(this)}}class C9 extends u{constructor(e,i){super(e,i)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}KW_LOCKED(){return this.getToken(t.KW_LOCKED,0)}get ruleIndex(){return t.RULE_opt_nowait_or_skip}enterRule(e){e.enterOpt_nowait_or_skip&&e.enterOpt_nowait_or_skip(this)}exitRule(e){e.exitOpt_nowait_or_skip&&e.exitOpt_nowait_or_skip(this)}accept(e){return e.visitOpt_nowait_or_skip?e.visitOpt_nowait_or_skip(this):e.visitChildren(this)}}class C1 extends u{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}relation_expr_opt_alias(){return this.getRuleContext(0,g3)}KW_SET(){return this.getToken(t.KW_SET,0)}set_clause_list(){return this.getRuleContext(0,m3)}opt_with_clause(){return this.getRuleContext(0,qh)}from_clause(){return this.getRuleContext(0,ec)}where_or_current_clause(){return this.getRuleContext(0,P3)}returning_clause(){return this.getRuleContext(0,$h)}get ruleIndex(){return t.RULE_updatestmt}enterRule(e){e.enterUpdatestmt&&e.enterUpdatestmt(this)}exitRule(e){e.exitUpdatestmt&&e.exitUpdatestmt(this)}accept(e){return e.visitUpdatestmt?e.visitUpdatestmt(this):e.visitChildren(this)}}class m3 extends u{constructor(e,i){super(e,i)}set_clause(e){return e===void 0?this.getRuleContexts(I3):this.getRuleContext(e,I3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_set_clause_list}enterRule(e){e.enterSet_clause_list&&e.enterSet_clause_list(this)}exitRule(e){e.exitSet_clause_list&&e.exitSet_clause_list(this)}accept(e){return e.visitSet_clause_list?e.visitSet_clause_list(this):e.visitChildren(this)}}class I3 extends u{constructor(e,i){super(e,i)}set_target(){return this.getRuleContext(0,Sh)}EQUAL(){return this.getToken(t.EQUAL,0)}a_expr(){return this.getRuleContext(0,U)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}set_target_list(){return this.getRuleContext(0,p9)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}select_clause(){return this.getRuleContext(0,U3)}KW_ROW(){return this.getToken(t.KW_ROW,0)}get ruleIndex(){return t.RULE_set_clause}enterRule(e){e.enterSet_clause&&e.enterSet_clause(this)}exitRule(e){e.exitSet_clause&&e.exitSet_clause(this)}accept(e){return e.visitSet_clause?e.visitSet_clause(this):e.visitChildren(this)}}class Sh extends u{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Wt)}opt_indirection(){return this.getRuleContext(0,rc)}get ruleIndex(){return t.RULE_set_target}enterRule(e){e.enterSet_target&&e.enterSet_target(this)}exitRule(e){e.exitSet_target&&e.exitSet_target(this)}accept(e){return e.visitSet_target?e.visitSet_target(this):e.visitChildren(this)}}class p9 extends u{constructor(e,i){super(e,i)}set_target(e){return e===void 0?this.getRuleContexts(Sh):this.getRuleContext(e,Sh)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_set_target_list}enterRule(e){e.enterSet_target_list&&e.enterSet_target_list(this)}exitRule(e){e.exitSet_target_list&&e.exitSet_target_list(this)}accept(e){return e.visitSet_target_list?e.visitSet_target_list(this):e.visitChildren(this)}}class f3 extends u{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}cursor_name(){return this.getRuleContext(0,di)}cursor_options(){return this.getRuleContext(0,d9)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}opt_hold(){return this.getRuleContext(0,O9)}KW_FOR(){return this.getToken(t.KW_FOR,0)}selectstmt(){return this.getRuleContext(0,Vt)}get ruleIndex(){return t.RULE_declarecursorstmt}enterRule(e){e.enterDeclarecursorstmt&&e.enterDeclarecursorstmt(this)}exitRule(e){e.exitDeclarecursorstmt&&e.exitDeclarecursorstmt(this)}accept(e){return e.visitDeclarecursorstmt?e.visitDeclarecursorstmt(this):e.visitChildren(this)}}class di extends u{constructor(e,i){super(e,i)}name(){return this.getRuleContext(0,D)}get ruleIndex(){return t.RULE_cursor_name}enterRule(e){e.enterCursor_name&&e.enterCursor_name(this)}exitRule(e){e.exitCursor_name&&e.exitCursor_name(this)}accept(e){return e.visitCursor_name?e.visitCursor_name(this):e.visitChildren(this)}}class d9 extends u{constructor(e,i){super(e,i)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}KW_SCROLL(e){return e===void 0?this.getTokens(t.KW_SCROLL):this.getToken(t.KW_SCROLL,e)}KW_BINARY(e){return e===void 0?this.getTokens(t.KW_BINARY):this.getToken(t.KW_BINARY,e)}KW_INSENSITIVE(e){return e===void 0?this.getTokens(t.KW_INSENSITIVE):this.getToken(t.KW_INSENSITIVE,e)}get ruleIndex(){return t.RULE_cursor_options}enterRule(e){e.enterCursor_options&&e.enterCursor_options(this)}exitRule(e){e.exitCursor_options&&e.exitCursor_options(this)}accept(e){return e.visitCursor_options?e.visitCursor_options(this):e.visitChildren(this)}}class O9 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_HOLD(){return this.getToken(t.KW_HOLD,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}get ruleIndex(){return t.RULE_opt_hold}enterRule(e){e.enterOpt_hold&&e.enterOpt_hold(this)}exitRule(e){e.exitOpt_hold&&e.exitOpt_hold(this)}accept(e){return e.visitOpt_hold?e.visitOpt_hold(this):e.visitChildren(this)}}class Vt extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_selectstmt}copyFrom(e){super.copyFrom(e)}}class L9 extends Vt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}select_no_parens(){return this.getRuleContext(0,gh)}select_with_parens(){return this.getRuleContext(0,se)}enterRule(e){e.enterSelectStatement&&e.enterSelectStatement(this)}exitRule(e){e.exitSelectStatement&&e.exitSelectStatement(this)}accept(e){return e.visitSelectStatement?e.visitSelectStatement(this):e.visitChildren(this)}}class se extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}select_no_parens(){return this.getRuleContext(0,gh)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}select_with_parens(){return this.getRuleContext(0,se)}get ruleIndex(){return t.RULE_select_with_parens}enterRule(e){e.enterSelect_with_parens&&e.enterSelect_with_parens(this)}exitRule(e){e.exitSelect_with_parens&&e.exitSelect_with_parens(this)}accept(e){return e.visitSelect_with_parens?e.visitSelect_with_parens(this):e.visitChildren(this)}}class gh extends u{constructor(e,i){super(e,i)}select_clause(){return this.getRuleContext(0,U3)}opt_sort_clause(){return this.getRuleContext(0,L1)}for_locking_clause(){return this.getRuleContext(0,Q3)}select_limit(){return this.getRuleContext(0,b3)}opt_select_limit(){return this.getRuleContext(0,M9)}opt_for_locking_clause(){return this.getRuleContext(0,X9)}with_clause(){return this.getRuleContext(0,O1)}get ruleIndex(){return t.RULE_select_no_parens}enterRule(e){e.enterSelect_no_parens&&e.enterSelect_no_parens(this)}exitRule(e){e.exitSelect_no_parens&&e.exitSelect_no_parens(this)}accept(e){return e.visitSelect_no_parens?e.visitSelect_no_parens(this):e.visitChildren(this)}}class U3 extends u{constructor(e,i){super(e,i)}simple_select(){return this.getRuleContext(0,p1)}select_with_parens(){return this.getRuleContext(0,se)}get ruleIndex(){return t.RULE_select_clause}enterRule(e){e.enterSelect_clause&&e.enterSelect_clause(this)}exitRule(e){e.exitSelect_clause&&e.exitSelect_clause(this)}accept(e){return e.visitSelect_clause?e.visitSelect_clause(this):e.visitChildren(this)}}class p1 extends u{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}values_clause(){return this.getRuleContext(0,z3)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}select_with_parens(e){return e===void 0?this.getRuleContexts(se):this.getRuleContext(e,se)}set_operator_with_all_or_distinct(e){return e===void 0?this.getRuleContexts(k3):this.getRuleContext(e,k3)}simple_select(e){return e===void 0?this.getRuleContexts(p1):this.getRuleContext(e,p1)}into_clause(e){return e===void 0?this.getRuleContexts(Ph):this.getRuleContext(e,Ph)}from_clause(){return this.getRuleContext(0,ec)}where_clause(){return this.getRuleContext(0,De)}group_clause(){return this.getRuleContext(0,B3)}having_clause(){return this.getRuleContext(0,X3)}window_clause(){return this.getRuleContext(0,x5)}opt_all_clause(){return this.getRuleContext(0,k9)}opt_target_list(){return this.getRuleContext(0,H5)}distinct_clause(){return this.getRuleContext(0,U9)}target_list(){return this.getRuleContext(0,Cc)}get ruleIndex(){return t.RULE_simple_select}enterRule(e){e.enterSimple_select&&e.enterSimple_select(this)}exitRule(e){e.exitSimple_select&&e.exitSimple_select(this)}accept(e){return e.visitSimple_select?e.visitSimple_select(this):e.visitChildren(this)}}class d1 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_set_operator}copyFrom(e){super.copyFrom(e)}}class VT extends d1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INTERSECT(){return this.getToken(t.KW_INTERSECT,0)}enterRule(e){e.enterIntersect&&e.enterIntersect(this)}exitRule(e){e.exitIntersect&&e.exitIntersect(this)}accept(e){return e.visitIntersect?e.visitIntersect(this):e.visitChildren(this)}}class YT extends d1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}enterRule(e){e.enterExcept&&e.enterExcept(this)}exitRule(e){e.exitExcept&&e.exitExcept(this)}accept(e){return e.visitExcept?e.visitExcept(this):e.visitChildren(this)}}class XT extends d1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_UNION(){return this.getToken(t.KW_UNION,0)}enterRule(e){e.enterUnion&&e.enterUnion(this)}exitRule(e){e.exitUnion&&e.exitUnion(this)}accept(e){return e.visitUnion?e.visitUnion(this):e.visitChildren(this)}}class k3 extends u{constructor(e,i){super(e,i)}set_operator(){return this.getRuleContext(0,d1)}all_or_distinct(){return this.getRuleContext(0,H3)}get ruleIndex(){return t.RULE_set_operator_with_all_or_distinct}enterRule(e){e.enterSet_operator_with_all_or_distinct&&e.enterSet_operator_with_all_or_distinct(this)}exitRule(e){e.exitSet_operator_with_all_or_distinct&&e.exitSet_operator_with_all_or_distinct(this)}accept(e){return e.visitSet_operator_with_all_or_distinct?e.visitSet_operator_with_all_or_distinct(this):e.visitChildren(this)}}class O1 extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}cte_list(){return this.getRuleContext(0,x9)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}get ruleIndex(){return t.RULE_with_clause}enterRule(e){e.enterWith_clause&&e.enterWith_clause(this)}exitRule(e){e.exitWith_clause&&e.exitWith_clause(this)}accept(e){return e.visitWith_clause?e.visitWith_clause(this):e.visitChildren(this)}}class x9 extends u{constructor(e,i){super(e,i)}common_table_expr(e){return e===void 0?this.getRuleContexts(D3):this.getRuleContext(e,D3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_cte_list}enterRule(e){e.enterCte_list&&e.enterCte_list(this)}exitRule(e){e.exitCte_list&&e.exitCte_list(this)}accept(e){return e.visitCte_list?e.visitCte_list(this):e.visitChildren(this)}}class D3 extends u{constructor(e,i){super(e,i)}name(){return this.getRuleContext(0,D)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}preparablestmt(){return this.getRuleContext(0,Jh)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_name_list(){return this.getRuleContext(0,jh)}opt_materialized(){return this.getRuleContext(0,I9)}search_cluase(){return this.getRuleContext(0,N9)}cycle_cluase(){return this.getRuleContext(0,m9)}get ruleIndex(){return t.RULE_common_table_expr}enterRule(e){e.enterCommon_table_expr&&e.enterCommon_table_expr(this)}exitRule(e){e.exitCommon_table_expr&&e.exitCommon_table_expr(this)}accept(e){return e.visitCommon_table_expr?e.visitCommon_table_expr(this):e.visitChildren(this)}}class N9 extends u{constructor(e,i){super(e,i)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_BY(){return this.getToken(t.KW_BY,0)}column_list(){return this.getRuleContext(0,mt)}KW_SET(){return this.getToken(t.KW_SET,0)}column_name(){return this.getRuleContext(0,Wt)}KW_BREADTH(){return this.getToken(t.KW_BREADTH,0)}KW_DEPTH(){return this.getToken(t.KW_DEPTH,0)}get ruleIndex(){return t.RULE_search_cluase}enterRule(e){e.enterSearch_cluase&&e.enterSearch_cluase(this)}exitRule(e){e.exitSearch_cluase&&e.exitSearch_cluase(this)}accept(e){return e.visitSearch_cluase?e.visitSearch_cluase(this):e.visitChildren(this)}}class m9 extends u{constructor(e,i){super(e,i)}KW_CYCLE(){return this.getToken(t.KW_CYCLE,0)}column_list(){return this.getRuleContext(0,mt)}KW_SET(){return this.getToken(t.KW_SET,0)}column_name(e){return e===void 0?this.getRuleContexts(Wt):this.getRuleContext(e,Wt)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_TO(){return this.getToken(t.KW_TO,0)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_cycle_cluase}enterRule(e){e.enterCycle_cluase&&e.enterCycle_cluase(this)}exitRule(e){e.exitCycle_cluase&&e.exitCycle_cluase(this)}accept(e){return e.visitCycle_cluase?e.visitCycle_cluase(this):e.visitChildren(this)}}class I9 extends u{constructor(e,i){super(e,i)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_opt_materialized}enterRule(e){e.enterOpt_materialized&&e.enterOpt_materialized(this)}exitRule(e){e.exitOpt_materialized&&e.exitOpt_materialized(this)}accept(e){return e.visitOpt_materialized?e.visitOpt_materialized(this):e.visitChildren(this)}}class qh extends u{constructor(e,i){super(e,i)}with_clause(){return this.getRuleContext(0,O1)}get ruleIndex(){return t.RULE_opt_with_clause}enterRule(e){e.enterOpt_with_clause&&e.enterOpt_with_clause(this)}exitRule(e){e.exitOpt_with_clause&&e.exitOpt_with_clause(this)}accept(e){return e.visitOpt_with_clause?e.visitOpt_with_clause(this):e.visitChildren(this)}}class Ph extends u{constructor(e,i){super(e,i)}KW_INTO(){return this.getToken(t.KW_INTO,0)}opt_strict(){return this.getRuleContext(0,M3)}opttempTableName(){return this.getRuleContext(0,f9)}into_target(){return this.getRuleContext(0,w1)}get ruleIndex(){return t.RULE_into_clause}enterRule(e){e.enterInto_clause&&e.enterInto_clause(this)}exitRule(e){e.exitInto_clause&&e.exitInto_clause(this)}accept(e){return e.visitInto_clause?e.visitInto_clause(this):e.visitChildren(this)}}class M3 extends u{constructor(e,i){super(e,i)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}get ruleIndex(){return t.RULE_opt_strict}enterRule(e){e.enterOpt_strict&&e.enterOpt_strict(this)}exitRule(e){e.exitOpt_strict&&e.exitOpt_strict(this)}accept(e){return e.visitOpt_strict?e.visitOpt_strict(this):e.visitChildren(this)}}class f9 extends u{constructor(e,i){super(e,i)}table_name_create(){return this.getRuleContext(0,a0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}opt_table(){return this.getRuleContext(0,y3)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}get ruleIndex(){return t.RULE_opttempTableName}enterRule(e){e.enterOpttempTableName&&e.enterOpttempTableName(this)}exitRule(e){e.exitOpttempTableName&&e.exitOpttempTableName(this)}accept(e){return e.visitOpttempTableName?e.visitOpttempTableName(this):e.visitChildren(this)}}class y3 extends u{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}get ruleIndex(){return t.RULE_opt_table}enterRule(e){e.enterOpt_table&&e.enterOpt_table(this)}exitRule(e){e.exitOpt_table&&e.exitOpt_table(this)}accept(e){return e.visitOpt_table?e.visitOpt_table(this):e.visitChildren(this)}}class H3 extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_all_or_distinct}enterRule(e){e.enterAll_or_distinct&&e.enterAll_or_distinct(this)}exitRule(e){e.exitAll_or_distinct&&e.exitAll_or_distinct(this)}accept(e){return e.visitAll_or_distinct?e.visitAll_or_distinct(this):e.visitChildren(this)}}class U9 extends u{constructor(e,i){super(e,i)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_ON(){return this.getToken(t.KW_ON,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_distinct_clause}enterRule(e){e.enterDistinct_clause&&e.enterDistinct_clause(this)}exitRule(e){e.exitDistinct_clause&&e.exitDistinct_clause(this)}accept(e){return e.visitDistinct_clause?e.visitDistinct_clause(this):e.visitChildren(this)}}class k9 extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_opt_all_clause}enterRule(e){e.enterOpt_all_clause&&e.enterOpt_all_clause(this)}exitRule(e){e.exitOpt_all_clause&&e.exitOpt_all_clause(this)}accept(e){return e.visitOpt_all_clause?e.visitOpt_all_clause(this):e.visitChildren(this)}}class L1 extends u{constructor(e,i){super(e,i)}sort_clause(){return this.getRuleContext(0,w3)}get ruleIndex(){return t.RULE_opt_sort_clause}enterRule(e){e.enterOpt_sort_clause&&e.enterOpt_sort_clause(this)}exitRule(e){e.exitOpt_sort_clause&&e.exitOpt_sort_clause(this)}accept(e){return e.visitOpt_sort_clause?e.visitOpt_sort_clause(this):e.visitChildren(this)}}class w3 extends u{constructor(e,i){super(e,i)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}sortby_list(){return this.getRuleContext(0,D9)}get ruleIndex(){return t.RULE_sort_clause}enterRule(e){e.enterSort_clause&&e.enterSort_clause(this)}exitRule(e){e.exitSort_clause&&e.exitSort_clause(this)}accept(e){return e.visitSort_clause?e.visitSort_clause(this):e.visitChildren(this)}}class D9 extends u{constructor(e,i){super(e,i)}sortby(e){return e===void 0?this.getRuleContexts(tc):this.getRuleContext(e,tc)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_sortby_list}enterRule(e){e.enterSortby_list&&e.enterSortby_list(this)}exitRule(e){e.exitSortby_list&&e.exitSortby_list(this)}accept(e){return e.visitSortby_list?e.visitSortby_list(this):e.visitChildren(this)}}class tc extends u{constructor(e,i){super(e,i)}column_expr_noparen(){return this.getRuleContext(0,v0)}KW_USING(){return this.getToken(t.KW_USING,0)}qual_all_op(){return this.getRuleContext(0,Rc)}opt_asc_desc(){return this.getRuleContext(0,Yh)}opt_nulls_order(){return this.getRuleContext(0,Xh)}get ruleIndex(){return t.RULE_sortby}enterRule(e){e.enterSortby&&e.enterSortby(this)}exitRule(e){e.exitSortby&&e.exitSortby(this)}accept(e){return e.visitSortby?e.visitSortby(this):e.visitChildren(this)}}class b3 extends u{constructor(e,i){super(e,i)}limit_clause(){return this.getRuleContext(0,y9)}offset_clause(){return this.getRuleContext(0,w9)}fetch_clause(){return this.getRuleContext(0,H9)}get ruleIndex(){return t.RULE_select_limit}enterRule(e){e.enterSelect_limit&&e.enterSelect_limit(this)}exitRule(e){e.exitSelect_limit&&e.exitSelect_limit(this)}accept(e){return e.visitSelect_limit?e.visitSelect_limit(this):e.visitChildren(this)}}class M9 extends u{constructor(e,i){super(e,i)}select_limit(){return this.getRuleContext(0,b3)}get ruleIndex(){return t.RULE_opt_select_limit}enterRule(e){e.enterOpt_select_limit&&e.enterOpt_select_limit(this)}exitRule(e){e.exitOpt_select_limit&&e.exitOpt_select_limit(this)}accept(e){return e.visitOpt_select_limit?e.visitOpt_select_limit(this):e.visitChildren(this)}}class y9 extends u{constructor(e,i){super(e,i)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}select_limit_value(){return this.getRuleContext(0,b9)}COMMA(){return this.getToken(t.COMMA,0)}select_offset_value(){return this.getRuleContext(0,v3)}get ruleIndex(){return t.RULE_limit_clause}enterRule(e){e.enterLimit_clause&&e.enterLimit_clause(this)}exitRule(e){e.exitLimit_clause&&e.exitLimit_clause(this)}accept(e){return e.visitLimit_clause?e.visitLimit_clause(this):e.visitChildren(this)}}class H9 extends u{constructor(e,i){super(e,i)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}first_or_next(){return this.getRuleContext(0,F9)}select_fetch_first_value(){return this.getRuleContext(0,F3)}row_or_rows(){return this.getRuleContext(0,G3)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_TIES(){return this.getToken(t.KW_TIES,0)}get ruleIndex(){return t.RULE_fetch_clause}enterRule(e){e.enterFetch_clause&&e.enterFetch_clause(this)}exitRule(e){e.exitFetch_clause&&e.exitFetch_clause(this)}accept(e){return e.visitFetch_clause?e.visitFetch_clause(this):e.visitChildren(this)}}class w9 extends u{constructor(e,i){super(e,i)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}select_fetch_first_value(){return this.getRuleContext(0,F3)}row_or_rows(){return this.getRuleContext(0,G3)}select_offset_value(){return this.getRuleContext(0,v3)}get ruleIndex(){return t.RULE_offset_clause}enterRule(e){e.enterOffset_clause&&e.enterOffset_clause(this)}exitRule(e){e.exitOffset_clause&&e.exitOffset_clause(this)}accept(e){return e.visitOffset_clause?e.visitOffset_clause(this):e.visitChildren(this)}}class b9 extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_select_limit_value}enterRule(e){e.enterSelect_limit_value&&e.enterSelect_limit_value(this)}exitRule(e){e.exitSelect_limit_value&&e.exitSelect_limit_value(this)}accept(e){return e.visitSelect_limit_value?e.visitSelect_limit_value(this):e.visitChildren(this)}}class v3 extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_select_offset_value}enterRule(e){e.enterSelect_offset_value&&e.enterSelect_offset_value(this)}exitRule(e){e.exitSelect_offset_value&&e.exitSelect_offset_value(this)}accept(e){return e.visitSelect_offset_value?e.visitSelect_offset_value(this):e.visitChildren(this)}}class F3 extends u{constructor(e,i){super(e,i)}PLUS(){return this.getToken(t.PLUS,0)}i_or_f_const(){return this.getRuleContext(0,v9)}MINUS(){return this.getToken(t.MINUS,0)}c_expr(){return this.getRuleContext(0,Me)}get ruleIndex(){return t.RULE_select_fetch_first_value}enterRule(e){e.enterSelect_fetch_first_value&&e.enterSelect_fetch_first_value(this)}exitRule(e){e.exitSelect_fetch_first_value&&e.exitSelect_fetch_first_value(this)}accept(e){return e.visitSelect_fetch_first_value?e.visitSelect_fetch_first_value(this):e.visitChildren(this)}}class v9 extends u{constructor(e,i){super(e,i)}iconst(){return this.getRuleContext(0,At)}fconst(){return this.getRuleContext(0,D1)}get ruleIndex(){return t.RULE_i_or_f_const}enterRule(e){e.enterI_or_f_const&&e.enterI_or_f_const(this)}exitRule(e){e.exitI_or_f_const&&e.exitI_or_f_const(this)}accept(e){return e.visitI_or_f_const?e.visitI_or_f_const(this):e.visitChildren(this)}}class G3 extends u{constructor(e,i){super(e,i)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}get ruleIndex(){return t.RULE_row_or_rows}enterRule(e){e.enterRow_or_rows&&e.enterRow_or_rows(this)}exitRule(e){e.exitRow_or_rows&&e.exitRow_or_rows(this)}accept(e){return e.visitRow_or_rows?e.visitRow_or_rows(this):e.visitChildren(this)}}class F9 extends u{constructor(e,i){super(e,i)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}get ruleIndex(){return t.RULE_first_or_next}enterRule(e){e.enterFirst_or_next&&e.enterFirst_or_next(this)}exitRule(e){e.exitFirst_or_next&&e.exitFirst_or_next(this)}accept(e){return e.visitFirst_or_next?e.visitFirst_or_next(this):e.visitChildren(this)}}class B3 extends u{constructor(e,i){super(e,i)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_BY(){return this.getToken(t.KW_BY,0)}group_by_list(){return this.getRuleContext(0,V3)}all_or_distinct(){return this.getRuleContext(0,H3)}get ruleIndex(){return t.RULE_group_clause}enterRule(e){e.enterGroup_clause&&e.enterGroup_clause(this)}exitRule(e){e.exitGroup_clause&&e.exitGroup_clause(this)}accept(e){return e.visitGroup_clause?e.visitGroup_clause(this):e.visitChildren(this)}}class V3 extends u{constructor(e,i){super(e,i)}group_by_item(e){return e===void 0?this.getRuleContexts(Y3):this.getRuleContext(e,Y3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_group_by_list}enterRule(e){e.enterGroup_by_list&&e.enterGroup_by_list(this)}exitRule(e){e.exitGroup_by_list&&e.exitGroup_by_list(this)}accept(e){return e.visitGroup_by_list?e.visitGroup_by_list(this):e.visitChildren(this)}}class Y3 extends u{constructor(e,i){super(e,i)}column_expr_noparen(){return this.getRuleContext(0,v0)}empty_grouping_set(){return this.getRuleContext(0,G9)}cube_clause(){return this.getRuleContext(0,V9)}rollup_clause(){return this.getRuleContext(0,B9)}grouping_sets_clause(){return this.getRuleContext(0,Y9)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_expr_list_noparen(){return this.getRuleContext(0,oc)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_group_by_item}enterRule(e){e.enterGroup_by_item&&e.enterGroup_by_item(this)}exitRule(e){e.exitGroup_by_item&&e.exitGroup_by_item(this)}accept(e){return e.visitGroup_by_item?e.visitGroup_by_item(this):e.visitChildren(this)}}class G9 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_empty_grouping_set}enterRule(e){e.enterEmpty_grouping_set&&e.enterEmpty_grouping_set(this)}exitRule(e){e.exitEmpty_grouping_set&&e.exitEmpty_grouping_set(this)}accept(e){return e.visitEmpty_grouping_set?e.visitEmpty_grouping_set(this):e.visitChildren(this)}}class B9 extends u{constructor(e,i){super(e,i)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_expr_list_noparen(){return this.getRuleContext(0,oc)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_rollup_clause}enterRule(e){e.enterRollup_clause&&e.enterRollup_clause(this)}exitRule(e){e.exitRollup_clause&&e.exitRollup_clause(this)}accept(e){return e.visitRollup_clause?e.visitRollup_clause(this):e.visitChildren(this)}}class V9 extends u{constructor(e,i){super(e,i)}KW_CUBE(){return this.getToken(t.KW_CUBE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_expr_list_noparen(){return this.getRuleContext(0,oc)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_cube_clause}enterRule(e){e.enterCube_clause&&e.enterCube_clause(this)}exitRule(e){e.exitCube_clause&&e.exitCube_clause(this)}accept(e){return e.visitCube_clause?e.visitCube_clause(this):e.visitChildren(this)}}class Y9 extends u{constructor(e,i){super(e,i)}KW_GROUPING(){return this.getToken(t.KW_GROUPING,0)}KW_SETS(){return this.getToken(t.KW_SETS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}group_by_list(){return this.getRuleContext(0,V3)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_grouping_sets_clause}enterRule(e){e.enterGrouping_sets_clause&&e.enterGrouping_sets_clause(this)}exitRule(e){e.exitGrouping_sets_clause&&e.exitGrouping_sets_clause(this)}accept(e){return e.visitGrouping_sets_clause?e.visitGrouping_sets_clause(this):e.visitChildren(this)}}class X3 extends u{constructor(e,i){super(e,i)}KW_HAVING(){return this.getToken(t.KW_HAVING,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_having_clause}enterRule(e){e.enterHaving_clause&&e.enterHaving_clause(this)}exitRule(e){e.exitHaving_clause&&e.exitHaving_clause(this)}accept(e){return e.visitHaving_clause?e.visitHaving_clause(this):e.visitChildren(this)}}class Q3 extends u{constructor(e,i){super(e,i)}for_locking_items(){return this.getRuleContext(0,Q9)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}get ruleIndex(){return t.RULE_for_locking_clause}enterRule(e){e.enterFor_locking_clause&&e.enterFor_locking_clause(this)}exitRule(e){e.exitFor_locking_clause&&e.exitFor_locking_clause(this)}accept(e){return e.visitFor_locking_clause?e.visitFor_locking_clause(this):e.visitChildren(this)}}class X9 extends u{constructor(e,i){super(e,i)}for_locking_clause(){return this.getRuleContext(0,Q3)}get ruleIndex(){return t.RULE_opt_for_locking_clause}enterRule(e){e.enterOpt_for_locking_clause&&e.enterOpt_for_locking_clause(this)}exitRule(e){e.exitOpt_for_locking_clause&&e.exitOpt_for_locking_clause(this)}accept(e){return e.visitOpt_for_locking_clause?e.visitOpt_for_locking_clause(this):e.visitChildren(this)}}class Q9 extends u{constructor(e,i){super(e,i)}for_locking_item(e){return e===void 0?this.getRuleContexts(Z3):this.getRuleContext(e,Z3)}get ruleIndex(){return t.RULE_for_locking_items}enterRule(e){e.enterFor_locking_items&&e.enterFor_locking_items(this)}exitRule(e){e.exitFor_locking_items&&e.exitFor_locking_items(this)}accept(e){return e.visitFor_locking_items?e.visitFor_locking_items(this):e.visitChildren(this)}}class Z3 extends u{constructor(e,i){super(e,i)}for_locking_strength(){return this.getRuleContext(0,Z9)}locked_rels_list(){return this.getRuleContext(0,z9)}opt_nowait_or_skip(){return this.getRuleContext(0,C9)}get ruleIndex(){return t.RULE_for_locking_item}enterRule(e){e.enterFor_locking_item&&e.enterFor_locking_item(this)}exitRule(e){e.exitFor_locking_item&&e.exitFor_locking_item(this)}accept(e){return e.visitFor_locking_item?e.visitFor_locking_item(this):e.visitChildren(this)}}class Z9 extends u{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}get ruleIndex(){return t.RULE_for_locking_strength}enterRule(e){e.enterFor_locking_strength&&e.enterFor_locking_strength(this)}exitRule(e){e.exitFor_locking_strength&&e.exitFor_locking_strength(this)}accept(e){return e.visitFor_locking_strength?e.visitFor_locking_strength(this):e.visitChildren(this)}}class z9 extends u{constructor(e,i){super(e,i)}KW_OF(){return this.getToken(t.KW_OF,0)}qualified_name_list(){return this.getRuleContext(0,I1)}get ruleIndex(){return t.RULE_locked_rels_list}enterRule(e){e.enterLocked_rels_list&&e.enterLocked_rels_list(this)}exitRule(e){e.exitLocked_rels_list&&e.exitLocked_rels_list(this)}accept(e){return e.visitLocked_rels_list?e.visitLocked_rels_list(this):e.visitChildren(this)}}class z3 extends u{constructor(e,i){super(e,i)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}expr_list(e){return e===void 0?this.getRuleContexts(ht):this.getRuleContext(e,ht)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_values_clause}enterRule(e){e.enterValues_clause&&e.enterValues_clause(this)}exitRule(e){e.exitValues_clause&&e.exitValues_clause(this)}accept(e){return e.visitValues_clause?e.visitValues_clause(this):e.visitChildren(this)}}class ec extends u{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}from_list(){return this.getRuleContext(0,ic)}get ruleIndex(){return t.RULE_from_clause}enterRule(e){e.enterFrom_clause&&e.enterFrom_clause(this)}exitRule(e){e.exitFrom_clause&&e.exitFrom_clause(this)}accept(e){return e.visitFrom_clause?e.visitFrom_clause(this):e.visitChildren(this)}}class ic extends u{constructor(e,i){super(e,i)}table_ref(e){return e===void 0?this.getRuleContexts(Oi):this.getRuleContext(e,Oi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_from_list}enterRule(e){e.enterFrom_list&&e.enterFrom_list(this)}exitRule(e){e.exitFrom_list&&e.exitFrom_list(this)}accept(e){return e.visitFrom_list?e.visitFrom_list(this):e.visitChildren(this)}}class Oi extends u{constructor(e,i){super(e,i)}func_table(){return this.getRuleContext(0,P9)}xmltable(){return this.getRuleContext(0,sW)}select_with_parens(){return this.getRuleContext(0,se)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}table_ref(e){return e===void 0?this.getRuleContexts(Oi):this.getRuleContext(e,Oi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_CROSS(e){return e===void 0?this.getTokens(t.KW_CROSS):this.getToken(t.KW_CROSS,e)}KW_JOIN(e){return e===void 0?this.getTokens(t.KW_JOIN):this.getToken(t.KW_JOIN,e)}KW_NATURAL(e){return e===void 0?this.getTokens(t.KW_NATURAL):this.getToken(t.KW_NATURAL,e)}join_qual(e){return e===void 0?this.getRuleContexts($3):this.getRuleContext(e,$3)}relation_expr(){return this.getRuleContext(0,ke)}view_relation_expr(){return this.getRuleContext(0,$9)}opt_alias_clause(){return this.getRuleContext(0,j9)}tablesample_clause(){return this.getRuleContext(0,g9)}func_alias_clause(){return this.getRuleContext(0,J9)}join_type(e){return e===void 0?this.getRuleContexts(J3):this.getRuleContext(e,J3)}get ruleIndex(){return t.RULE_table_ref}enterRule(e){e.enterTable_ref&&e.enterTable_ref(this)}exitRule(e){e.exitTable_ref&&e.exitTable_ref(this)}accept(e){return e.visitTable_ref?e.visitTable_ref(this):e.visitChildren(this)}}class j3 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}name_list(){return this.getRuleContext(0,mi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_alias_clause}enterRule(e){e.enterAlias_clause&&e.enterAlias_clause(this)}exitRule(e){e.exitAlias_clause&&e.exitAlias_clause(this)}accept(e){return e.visitAlias_clause?e.visitAlias_clause(this):e.visitChildren(this)}}class j9 extends u{constructor(e,i){super(e,i)}alias_clause(){return this.getRuleContext(0,j3)}get ruleIndex(){return t.RULE_opt_alias_clause}enterRule(e){e.enterOpt_alias_clause&&e.enterOpt_alias_clause(this)}exitRule(e){e.exitOpt_alias_clause&&e.exitOpt_alias_clause(this)}accept(e){return e.visitOpt_alias_clause?e.visitOpt_alias_clause(this):e.visitChildren(this)}}class J9 extends u{constructor(e,i){super(e,i)}alias_clause(){return this.getRuleContext(0,j3)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}tablefuncelementlist(){return this.getRuleContext(0,sc)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_AS(){return this.getToken(t.KW_AS,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_func_alias_clause}enterRule(e){e.enterFunc_alias_clause&&e.enterFunc_alias_clause(this)}exitRule(e){e.exitFunc_alias_clause&&e.exitFunc_alias_clause(this)}accept(e){return e.visitFunc_alias_clause?e.visitFunc_alias_clause(this):e.visitChildren(this)}}class J3 extends u{constructor(e,i){super(e,i)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}get ruleIndex(){return t.RULE_join_type}enterRule(e){e.enterJoin_type&&e.enterJoin_type(this)}exitRule(e){e.exitJoin_type&&e.exitJoin_type(this)}accept(e){return e.visitJoin_type?e.visitJoin_type(this):e.visitChildren(this)}}class $3 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_ON(){return this.getToken(t.KW_ON,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_join_qual}enterRule(e){e.enterJoin_qual&&e.enterJoin_qual(this)}exitRule(e){e.exitJoin_qual&&e.exitJoin_qual(this)}accept(e){return e.visitJoin_qual?e.visitJoin_qual(this):e.visitChildren(this)}}class ke extends u{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,Lt)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}get ruleIndex(){return t.RULE_relation_expr}enterRule(e){e.enterRelation_expr&&e.enterRelation_expr(this)}exitRule(e){e.exitRelation_expr&&e.exitRelation_expr(this)}accept(e){return e.visitRelation_expr?e.visitRelation_expr(this):e.visitChildren(this)}}class $9 extends u{constructor(e,i){super(e,i)}view_name(){return this.getRuleContext(0,le)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}column_list(){return this.getRuleContext(0,mt)}where_clause(){return this.getRuleContext(0,De)}get ruleIndex(){return t.RULE_view_relation_expr}enterRule(e){e.enterView_relation_expr&&e.enterView_relation_expr(this)}exitRule(e){e.exitView_relation_expr&&e.exitView_relation_expr(this)}accept(e){return e.visitView_relation_expr?e.visitView_relation_expr(this):e.visitChildren(this)}}class S3 extends u{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name(){return this.getRuleContext(0,Lt)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}where_clause(){return this.getRuleContext(0,De)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Jt)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}get ruleIndex(){return t.RULE_publication_relation_expr}enterRule(e){e.enterPublication_relation_expr&&e.enterPublication_relation_expr(this)}exitRule(e){e.exitPublication_relation_expr&&e.exitPublication_relation_expr(this)}accept(e){return e.visitPublication_relation_expr?e.visitPublication_relation_expr(this):e.visitChildren(this)}}class nc extends u{constructor(e,i){super(e,i)}relation_expr(e){return e===void 0?this.getRuleContexts(ke):this.getRuleContext(e,ke)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_relation_expr_list}enterRule(e){e.enterRelation_expr_list&&e.enterRelation_expr_list(this)}exitRule(e){e.exitRelation_expr_list&&e.exitRelation_expr_list(this)}accept(e){return e.visitRelation_expr_list?e.visitRelation_expr_list(this):e.visitChildren(this)}}class S9 extends u{constructor(e,i){super(e,i)}publication_relation_expr(e){return e===void 0?this.getRuleContexts(S3):this.getRuleContext(e,S3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_publication_relation_expr_list}enterRule(e){e.enterPublication_relation_expr_list&&e.enterPublication_relation_expr_list(this)}exitRule(e){e.exitPublication_relation_expr_list&&e.exitPublication_relation_expr_list(this)}accept(e){return e.visitPublication_relation_expr_list?e.visitPublication_relation_expr_list(this):e.visitChildren(this)}}class g3 extends u{constructor(e,i){super(e,i)}relation_expr(){return this.getRuleContext(0,ke)}colid(){return this.getRuleContext(0,H)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_relation_expr_opt_alias}enterRule(e){e.enterRelation_expr_opt_alias&&e.enterRelation_expr_opt_alias(this)}exitRule(e){e.exitRelation_expr_opt_alias&&e.exitRelation_expr_opt_alias(this)}accept(e){return e.visitRelation_expr_opt_alias?e.visitRelation_expr_opt_alias(this):e.visitChildren(this)}}class g9 extends u{constructor(e,i){super(e,i)}KW_TABLESAMPLE(){return this.getToken(t.KW_TABLESAMPLE,0)}function_name(){return this.getRuleContext(0,Ve)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_repeatable_clause(){return this.getRuleContext(0,q9)}get ruleIndex(){return t.RULE_tablesample_clause}enterRule(e){e.enterTablesample_clause&&e.enterTablesample_clause(this)}exitRule(e){e.exitTablesample_clause&&e.exitTablesample_clause(this)}accept(e){return e.visitTablesample_clause?e.visitTablesample_clause(this):e.visitChildren(this)}}class q9 extends u{constructor(e,i){super(e,i)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_repeatable_clause}enterRule(e){e.enterOpt_repeatable_clause&&e.enterOpt_repeatable_clause(this)}exitRule(e){e.exitOpt_repeatable_clause&&e.exitOpt_repeatable_clause(this)}accept(e){return e.visitOpt_repeatable_clause?e.visitOpt_repeatable_clause(this):e.visitChildren(this)}}class P9 extends u{constructor(e,i){super(e,i)}func_expr_windowless(){return this.getRuleContext(0,N1)}opt_ordinality(){return this.getRuleContext(0,iW)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}rowsfrom_list(){return this.getRuleContext(0,tW)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_func_table}enterRule(e){e.enterFunc_table&&e.enterFunc_table(this)}exitRule(e){e.exitFunc_table&&e.exitFunc_table(this)}accept(e){return e.visitFunc_table?e.visitFunc_table(this):e.visitChildren(this)}}class q3 extends u{constructor(e,i){super(e,i)}func_expr_windowless(){return this.getRuleContext(0,N1)}opt_col_def_list(){return this.getRuleContext(0,eW)}get ruleIndex(){return t.RULE_rowsfrom_item}enterRule(e){e.enterRowsfrom_item&&e.enterRowsfrom_item(this)}exitRule(e){e.exitRowsfrom_item&&e.exitRowsfrom_item(this)}accept(e){return e.visitRowsfrom_item?e.visitRowsfrom_item(this):e.visitChildren(this)}}class tW extends u{constructor(e,i){super(e,i)}rowsfrom_item(e){return e===void 0?this.getRuleContexts(q3):this.getRuleContext(e,q3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_rowsfrom_list}enterRule(e){e.enterRowsfrom_list&&e.enterRowsfrom_list(this)}exitRule(e){e.exitRowsfrom_list&&e.exitRowsfrom_list(this)}accept(e){return e.visitRowsfrom_list?e.visitRowsfrom_list(this):e.visitChildren(this)}}class eW extends u{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}tablefuncelementlist(){return this.getRuleContext(0,sc)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_col_def_list}enterRule(e){e.enterOpt_col_def_list&&e.enterOpt_col_def_list(this)}exitRule(e){e.exitOpt_col_def_list&&e.exitOpt_col_def_list(this)}accept(e){return e.visitOpt_col_def_list?e.visitOpt_col_def_list(this):e.visitChildren(this)}}class iW extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}get ruleIndex(){return t.RULE_opt_ordinality}enterRule(e){e.enterOpt_ordinality&&e.enterOpt_ordinality(this)}exitRule(e){e.exitOpt_ordinality&&e.exitOpt_ordinality(this)}accept(e){return e.visitOpt_ordinality?e.visitOpt_ordinality(this):e.visitChildren(this)}}class De extends u{constructor(e,i){super(e,i)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}column_expr_noparen(){return this.getRuleContext(0,v0)}get ruleIndex(){return t.RULE_where_clause}enterRule(e){e.enterWhere_clause&&e.enterWhere_clause(this)}exitRule(e){e.exitWhere_clause&&e.exitWhere_clause(this)}accept(e){return e.visitWhere_clause?e.visitWhere_clause(this):e.visitChildren(this)}}class P3 extends u{constructor(e,i){super(e,i)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_OF(){return this.getToken(t.KW_OF,0)}cursor_name(){return this.getRuleContext(0,di)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_where_or_current_clause}enterRule(e){e.enterWhere_or_current_clause&&e.enterWhere_or_current_clause(this)}exitRule(e){e.exitWhere_or_current_clause&&e.exitWhere_or_current_clause(this)}accept(e){return e.visitWhere_or_current_clause?e.visitWhere_or_current_clause(this):e.visitChildren(this)}}class nW extends u{constructor(e,i){super(e,i)}tablefuncelementlist(){return this.getRuleContext(0,sc)}get ruleIndex(){return t.RULE_opttablefuncelementlist}enterRule(e){e.enterOpttablefuncelementlist&&e.enterOpttablefuncelementlist(this)}exitRule(e){e.exitOpttablefuncelementlist&&e.exitOpttablefuncelementlist(this)}accept(e){return e.visitOpttablefuncelementlist?e.visitOpttablefuncelementlist(this):e.visitChildren(this)}}class sc extends u{constructor(e,i){super(e,i)}tablefuncelement(e){return e===void 0?this.getRuleContexts(hc):this.getRuleContext(e,hc)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tablefuncelementlist}enterRule(e){e.enterTablefuncelementlist&&e.enterTablefuncelementlist(this)}exitRule(e){e.exitTablefuncelementlist&&e.exitTablefuncelementlist(this)}accept(e){return e.visitTablefuncelementlist?e.visitTablefuncelementlist(this):e.visitChildren(this)}}class hc extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}typename(){return this.getRuleContext(0,j)}opt_collate_clause(){return this.getRuleContext(0,Ch)}get ruleIndex(){return t.RULE_tablefuncelement}enterRule(e){e.enterTablefuncelement&&e.enterTablefuncelement(this)}exitRule(e){e.exitTablefuncelement&&e.exitTablefuncelement(this)}accept(e){return e.visitTablefuncelement?e.visitTablefuncelement(this):e.visitChildren(this)}}class sW extends u{constructor(e,i){super(e,i)}KW_XMLTABLE(){return this.getToken(t.KW_XMLTABLE,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}c_expr(){return this.getRuleContext(0,Me)}xmlexists_argument(){return this.getRuleContext(0,O5)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}xmltable_column_list(){return this.getRuleContext(0,hW)}KW_XMLNAMESPACES(){return this.getToken(t.KW_XMLNAMESPACES,0)}xml_namespace_list(){return this.getRuleContext(0,aW)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_xmltable}enterRule(e){e.enterXmltable&&e.enterXmltable(this)}exitRule(e){e.exitXmltable&&e.exitXmltable(this)}accept(e){return e.visitXmltable?e.visitXmltable(this):e.visitChildren(this)}}class hW extends u{constructor(e,i){super(e,i)}xmltable_column_el(e){return e===void 0?this.getRuleContexts(t5):this.getRuleContext(e,t5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_xmltable_column_list}enterRule(e){e.enterXmltable_column_list&&e.enterXmltable_column_list(this)}exitRule(e){e.exitXmltable_column_list&&e.exitXmltable_column_list(this)}accept(e){return e.visitXmltable_column_list?e.visitXmltable_column_list(this):e.visitChildren(this)}}class t5 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}typename(){return this.getRuleContext(0,j)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}xmltable_column_option_list(){return this.getRuleContext(0,cW)}get ruleIndex(){return t.RULE_xmltable_column_el}enterRule(e){e.enterXmltable_column_el&&e.enterXmltable_column_el(this)}exitRule(e){e.exitXmltable_column_el&&e.exitXmltable_column_el(this)}accept(e){return e.visitXmltable_column_el?e.visitXmltable_column_el(this):e.visitChildren(this)}}class cW extends u{constructor(e,i){super(e,i)}xmltable_column_option_el(e){return e===void 0?this.getRuleContexts(e5):this.getRuleContext(e,e5)}get ruleIndex(){return t.RULE_xmltable_column_option_list}enterRule(e){e.enterXmltable_column_option_list&&e.enterXmltable_column_option_list(this)}exitRule(e){e.exitXmltable_column_option_list&&e.exitXmltable_column_option_list(this)}accept(e){return e.visitXmltable_column_option_list?e.visitXmltable_column_option_list(this):e.visitChildren(this)}}class e5 extends u{constructor(e,i){super(e,i)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}a_expr(){return this.getRuleContext(0,U)}identifier(){return this.getRuleContext(0,It)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_xmltable_column_option_el}enterRule(e){e.enterXmltable_column_option_el&&e.enterXmltable_column_option_el(this)}exitRule(e){e.exitXmltable_column_option_el&&e.exitXmltable_column_option_el(this)}accept(e){return e.visitXmltable_column_option_el?e.visitXmltable_column_option_el(this):e.visitChildren(this)}}class aW extends u{constructor(e,i){super(e,i)}xml_namespace_el(e){return e===void 0?this.getRuleContexts(i5):this.getRuleContext(e,i5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_xml_namespace_list}enterRule(e){e.enterXml_namespace_list&&e.enterXml_namespace_list(this)}exitRule(e){e.exitXml_namespace_list&&e.exitXml_namespace_list(this)}accept(e){return e.visitXml_namespace_list?e.visitXml_namespace_list(this):e.visitChildren(this)}}class i5 extends u{constructor(e,i){super(e,i)}b_expr(){return this.getRuleContext(0,yt)}KW_AS(){return this.getToken(t.KW_AS,0)}collabel(){return this.getRuleContext(0,Yt)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_xml_namespace_el}enterRule(e){e.enterXml_namespace_el&&e.enterXml_namespace_el(this)}exitRule(e){e.exitXml_namespace_el&&e.exitXml_namespace_el(this)}accept(e){return e.visitXml_namespace_el?e.visitXml_namespace_el(this):e.visitChildren(this)}}class j extends u{constructor(e,i){super(e,i)}simpletypename(){return this.getRuleContext(0,cc)}opt_array_bounds(){return this.getRuleContext(0,uW)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_SETOF(){return this.getToken(t.KW_SETOF,0)}OPEN_BRACKET(){return this.getToken(t.OPEN_BRACKET,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_BRACKET(){return this.getToken(t.CLOSE_BRACKET,0)}qualified_name(){return this.getRuleContext(0,ot)}PERCENT(){return this.getToken(t.PERCENT,0)}KW_ROWTYPE(){return this.getToken(t.KW_ROWTYPE,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}get ruleIndex(){return t.RULE_typename}enterRule(e){e.enterTypename&&e.enterTypename(this)}exitRule(e){e.exitTypename&&e.exitTypename(this)}accept(e){return e.visitTypename?e.visitTypename(this):e.visitChildren(this)}}class uW extends u{constructor(e,i){super(e,i)}OPEN_BRACKET(e){return e===void 0?this.getTokens(t.OPEN_BRACKET):this.getToken(t.OPEN_BRACKET,e)}CLOSE_BRACKET(e){return e===void 0?this.getTokens(t.CLOSE_BRACKET):this.getToken(t.CLOSE_BRACKET,e)}iconst(e){return e===void 0?this.getRuleContexts(At):this.getRuleContext(e,At)}get ruleIndex(){return t.RULE_opt_array_bounds}enterRule(e){e.enterOpt_array_bounds&&e.enterOpt_array_bounds(this)}exitRule(e){e.exitOpt_array_bounds&&e.exitOpt_array_bounds(this)}accept(e){return e.visitOpt_array_bounds?e.visitOpt_array_bounds(this):e.visitChildren(this)}}class cc extends u{constructor(e,i){super(e,i)}generictype(){return this.getRuleContext(0,_W)}numeric(){return this.getRuleContext(0,ac)}bit(){return this.getRuleContext(0,n5)}character(){return this.getRuleContext(0,c5)}constdatetime(){return this.getRuleContext(0,u5)}constinterval(){return this.getRuleContext(0,Ec)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_interval(){return this.getRuleContext(0,_c)}get ruleIndex(){return t.RULE_simpletypename}enterRule(e){e.enterSimpletypename&&e.enterSimpletypename(this)}exitRule(e){e.exitSimpletypename&&e.exitSimpletypename(this)}accept(e){return e.visitSimpletypename?e.visitSimpletypename(this):e.visitChildren(this)}}class EW extends u{constructor(e,i){super(e,i)}numeric(){return this.getRuleContext(0,ac)}constbit(){return this.getRuleContext(0,KW)}constcharacter(){return this.getRuleContext(0,RW)}constdatetime(){return this.getRuleContext(0,u5)}get ruleIndex(){return t.RULE_consttypename}enterRule(e){e.enterConsttypename&&e.enterConsttypename(this)}exitRule(e){e.exitConsttypename&&e.exitConsttypename(this)}accept(e){return e.visitConsttypename?e.visitConsttypename(this):e.visitChildren(this)}}class _W extends u{constructor(e,i){super(e,i)}type_function_name(){return this.getRuleContext(0,u0)}attrs(){return this.getRuleContext(0,oe)}opt_type_modifiers(){return this.getRuleContext(0,x1)}get ruleIndex(){return t.RULE_generictype}enterRule(e){e.enterGenerictype&&e.enterGenerictype(this)}exitRule(e){e.exitGenerictype&&e.exitGenerictype(this)}accept(e){return e.visitGenerictype?e.visitGenerictype(this):e.visitChildren(this)}}class x1 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_type_modifiers}enterRule(e){e.enterOpt_type_modifiers&&e.enterOpt_type_modifiers(this)}exitRule(e){e.exitOpt_type_modifiers&&e.exitOpt_type_modifiers(this)}accept(e){return e.visitOpt_type_modifiers?e.visitOpt_type_modifiers(this):e.visitChildren(this)}}class ac extends u{constructor(e,i){super(e,i)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_SMALLINT(){return this.getToken(t.KW_SMALLINT,0)}KW_BIGINT(){return this.getToken(t.KW_BIGINT,0)}KW_REAL(){return this.getToken(t.KW_REAL,0)}KW_FLOAT(){return this.getToken(t.KW_FLOAT,0)}opt_float(){return this.getRuleContext(0,WW)}KW_DOUBLE(){return this.getToken(t.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(t.KW_PRECISION,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}opt_type_modifiers(){return this.getRuleContext(0,x1)}KW_DEC(){return this.getToken(t.KW_DEC,0)}KW_NUMERIC(){return this.getToken(t.KW_NUMERIC,0)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}get ruleIndex(){return t.RULE_numeric}enterRule(e){e.enterNumeric&&e.enterNumeric(this)}exitRule(e){e.exitNumeric&&e.exitNumeric(this)}accept(e){return e.visitNumeric?e.visitNumeric(this):e.visitChildren(this)}}class WW extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_float}enterRule(e){e.enterOpt_float&&e.enterOpt_float(this)}exitRule(e){e.exitOpt_float&&e.exitOpt_float(this)}accept(e){return e.visitOpt_float?e.visitOpt_float(this):e.visitChildren(this)}}class n5 extends u{constructor(e,i){super(e,i)}bitwithlength(){return this.getRuleContext(0,s5)}bitwithoutlength(){return this.getRuleContext(0,h5)}get ruleIndex(){return t.RULE_bit}enterRule(e){e.enterBit&&e.enterBit(this)}exitRule(e){e.exitBit&&e.exitBit(this)}accept(e){return e.visitBit?e.visitBit(this):e.visitChildren(this)}}class KW extends u{constructor(e,i){super(e,i)}bitwithlength(){return this.getRuleContext(0,s5)}bitwithoutlength(){return this.getRuleContext(0,h5)}get ruleIndex(){return t.RULE_constbit}enterRule(e){e.enterConstbit&&e.enterConstbit(this)}exitRule(e){e.exitConstbit&&e.exitConstbit(this)}accept(e){return e.visitConstbit?e.visitConstbit(this):e.visitChildren(this)}}class s5 extends u{constructor(e,i){super(e,i)}KW_BIT(){return this.getToken(t.KW_BIT,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_varying(){return this.getRuleContext(0,uc)}get ruleIndex(){return t.RULE_bitwithlength}enterRule(e){e.enterBitwithlength&&e.enterBitwithlength(this)}exitRule(e){e.exitBitwithlength&&e.exitBitwithlength(this)}accept(e){return e.visitBitwithlength?e.visitBitwithlength(this):e.visitChildren(this)}}class h5 extends u{constructor(e,i){super(e,i)}KW_BIT(){return this.getToken(t.KW_BIT,0)}opt_varying(){return this.getRuleContext(0,uc)}get ruleIndex(){return t.RULE_bitwithoutlength}enterRule(e){e.enterBitwithoutlength&&e.enterBitwithoutlength(this)}exitRule(e){e.exitBitwithoutlength&&e.exitBitwithoutlength(this)}accept(e){return e.visitBitwithoutlength?e.visitBitwithoutlength(this):e.visitChildren(this)}}class c5 extends u{constructor(e,i){super(e,i)}character_c(){return this.getRuleContext(0,a5)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_character}enterRule(e){e.enterCharacter&&e.enterCharacter(this)}exitRule(e){e.exitCharacter&&e.exitCharacter(this)}accept(e){return e.visitCharacter?e.visitCharacter(this):e.visitChildren(this)}}class RW extends u{constructor(e,i){super(e,i)}character_c(){return this.getRuleContext(0,a5)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_constcharacter}enterRule(e){e.enterConstcharacter&&e.enterConstcharacter(this)}exitRule(e){e.exitConstcharacter&&e.exitConstcharacter(this)}accept(e){return e.visitConstcharacter?e.visitConstcharacter(this):e.visitChildren(this)}}class a5 extends u{constructor(e,i){super(e,i)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}opt_varying(){return this.getRuleContext(0,uc)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}get ruleIndex(){return t.RULE_character_c}enterRule(e){e.enterCharacter_c&&e.enterCharacter_c(this)}exitRule(e){e.exitCharacter_c&&e.exitCharacter_c(this)}accept(e){return e.visitCharacter_c?e.visitCharacter_c(this):e.visitChildren(this)}}class uc extends u{constructor(e,i){super(e,i)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}get ruleIndex(){return t.RULE_opt_varying}enterRule(e){e.enterOpt_varying&&e.enterOpt_varying(this)}exitRule(e){e.exitOpt_varying&&e.exitOpt_varying(this)}accept(e){return e.visitOpt_varying?e.visitOpt_varying(this):e.visitChildren(this)}}class u5 extends u{constructor(e,i){super(e,i)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_timezone(){return this.getRuleContext(0,oW)}get ruleIndex(){return t.RULE_constdatetime}enterRule(e){e.enterConstdatetime&&e.enterConstdatetime(this)}exitRule(e){e.exitConstdatetime&&e.exitConstdatetime(this)}accept(e){return e.visitConstdatetime?e.visitConstdatetime(this):e.visitChildren(this)}}class Ec extends u{constructor(e,i){super(e,i)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}get ruleIndex(){return t.RULE_constinterval}enterRule(e){e.enterConstinterval&&e.enterConstinterval(this)}exitRule(e){e.exitConstinterval&&e.exitConstinterval(this)}accept(e){return e.visitConstinterval?e.visitConstinterval(this):e.visitChildren(this)}}class oW extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}get ruleIndex(){return t.RULE_opt_timezone}enterRule(e){e.enterOpt_timezone&&e.enterOpt_timezone(this)}exitRule(e){e.exitOpt_timezone&&e.exitOpt_timezone(this)}accept(e){return e.visitOpt_timezone?e.visitOpt_timezone(this):e.visitChildren(this)}}class _c extends u{constructor(e,i){super(e,i)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}interval_second(){return this.getRuleContext(0,AW)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_opt_interval}enterRule(e){e.enterOpt_interval&&e.enterOpt_interval(this)}exitRule(e){e.exitOpt_interval&&e.exitOpt_interval(this)}accept(e){return e.visitOpt_interval?e.visitOpt_interval(this):e.visitChildren(this)}}class AW extends u{constructor(e,i){super(e,i)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,At)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_interval_second}enterRule(e){e.enterInterval_second&&e.enterInterval_second(this)}exitRule(e){e.exitInterval_second&&e.exitInterval_second(this)}accept(e){return e.visitInterval_second?e.visitInterval_second(this):e.visitChildren(this)}}class TW extends u{constructor(e,i){super(e,i)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_opt_escape}enterRule(e){e.enterOpt_escape&&e.enterOpt_escape(this)}exitRule(e){e.exitOpt_escape&&e.exitOpt_escape(this)}accept(e){return e.visitOpt_escape?e.visitOpt_escape(this):e.visitChildren(this)}}class U extends u{constructor(e,i){super(e,i)}a_expr_qual(){return this.getRuleContext(0,lW)}get ruleIndex(){return t.RULE_a_expr}enterRule(e){e.enterA_expr&&e.enterA_expr(this)}exitRule(e){e.exitA_expr&&e.exitA_expr(this)}accept(e){return e.visitA_expr?e.visitA_expr(this):e.visitChildren(this)}}class lW extends u{constructor(e,i){super(e,i)}a_expr_lessless(){return this.getRuleContext(0,rW)}qual_op(){return this.getRuleContext(0,Li)}get ruleIndex(){return t.RULE_a_expr_qual}enterRule(e){e.enterA_expr_qual&&e.enterA_expr_qual(this)}exitRule(e){e.exitA_expr_qual&&e.exitA_expr_qual(this)}accept(e){return e.visitA_expr_qual?e.visitA_expr_qual(this):e.visitChildren(this)}}class rW extends u{constructor(e,i){super(e,i)}a_expr_or(e){return e===void 0?this.getRuleContexts(E5):this.getRuleContext(e,E5)}LESS_LESS(e){return e===void 0?this.getTokens(t.LESS_LESS):this.getToken(t.LESS_LESS,e)}GREATER_GREATER(e){return e===void 0?this.getTokens(t.GREATER_GREATER):this.getToken(t.GREATER_GREATER,e)}get ruleIndex(){return t.RULE_a_expr_lessless}enterRule(e){e.enterA_expr_lessless&&e.enterA_expr_lessless(this)}exitRule(e){e.exitA_expr_lessless&&e.exitA_expr_lessless(this)}accept(e){return e.visitA_expr_lessless?e.visitA_expr_lessless(this):e.visitChildren(this)}}class E5 extends u{constructor(e,i){super(e,i)}a_expr_and(e){return e===void 0?this.getRuleContexts(_5):this.getRuleContext(e,_5)}KW_OR(e){return e===void 0?this.getTokens(t.KW_OR):this.getToken(t.KW_OR,e)}get ruleIndex(){return t.RULE_a_expr_or}enterRule(e){e.enterA_expr_or&&e.enterA_expr_or(this)}exitRule(e){e.exitA_expr_or&&e.exitA_expr_or(this)}accept(e){return e.visitA_expr_or?e.visitA_expr_or(this):e.visitChildren(this)}}class _5 extends u{constructor(e,i){super(e,i)}a_expr_in(e){return e===void 0?this.getRuleContexts(W5):this.getRuleContext(e,W5)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_a_expr_and}enterRule(e){e.enterA_expr_and&&e.enterA_expr_and(this)}exitRule(e){e.exitA_expr_and&&e.exitA_expr_and(this)}accept(e){return e.visitA_expr_and?e.visitA_expr_and(this):e.visitChildren(this)}}class W5 extends u{constructor(e,i){super(e,i)}a_expr_unary_not(){return this.getRuleContext(0,CW)}KW_IN(){return this.getToken(t.KW_IN,0)}in_expr(){return this.getRuleContext(0,lc)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_a_expr_in}enterRule(e){e.enterA_expr_in&&e.enterA_expr_in(this)}exitRule(e){e.exitA_expr_in&&e.exitA_expr_in(this)}accept(e){return e.visitA_expr_in?e.visitA_expr_in(this):e.visitChildren(this)}}class CW extends u{constructor(e,i){super(e,i)}a_expr_isnull(){return this.getRuleContext(0,pW)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_a_expr_unary_not}enterRule(e){e.enterA_expr_unary_not&&e.enterA_expr_unary_not(this)}exitRule(e){e.exitA_expr_unary_not&&e.exitA_expr_unary_not(this)}accept(e){return e.visitA_expr_unary_not?e.visitA_expr_unary_not(this):e.visitChildren(this)}}class pW extends u{constructor(e,i){super(e,i)}a_expr_is_not(){return this.getRuleContext(0,dW)}KW_ISNULL(){return this.getToken(t.KW_ISNULL,0)}KW_NOTNULL(){return this.getToken(t.KW_NOTNULL,0)}get ruleIndex(){return t.RULE_a_expr_isnull}enterRule(e){e.enterA_expr_isnull&&e.enterA_expr_isnull(this)}exitRule(e){e.exitA_expr_isnull&&e.exitA_expr_isnull(this)}accept(e){return e.visitA_expr_isnull?e.visitA_expr_isnull(this):e.visitChildren(this)}}class dW extends u{constructor(e,i){super(e,i)}a_expr_compare(){return this.getRuleContext(0,OW)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}a_expr(){return this.getRuleContext(0,U)}KW_OF(){return this.getToken(t.KW_OF,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}type_list(){return this.getRuleContext(0,xi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_NORMALIZED(){return this.getToken(t.KW_NORMALIZED,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}unicode_normal_form(){return this.getRuleContext(0,D5)}get ruleIndex(){return t.RULE_a_expr_is_not}enterRule(e){e.enterA_expr_is_not&&e.enterA_expr_is_not(this)}exitRule(e){e.exitA_expr_is_not&&e.exitA_expr_is_not(this)}accept(e){return e.visitA_expr_is_not?e.visitA_expr_is_not(this):e.visitChildren(this)}}class OW extends u{constructor(e,i){super(e,i)}a_expr_like(e){return e===void 0?this.getRuleContexts(K5):this.getRuleContext(e,K5)}subquery_Op(){return this.getRuleContext(0,zW)}sub_type(){return this.getRuleContext(0,QW)}LT(){return this.getToken(t.LT,0)}GT(){return this.getToken(t.GT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}LESS_EQUALS(){return this.getToken(t.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(t.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(t.NOT_EQUALS,0)}select_with_parens(){return this.getRuleContext(0,se)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_a_expr_compare}enterRule(e){e.enterA_expr_compare&&e.enterA_expr_compare(this)}exitRule(e){e.exitA_expr_compare&&e.exitA_expr_compare(this)}accept(e){return e.visitA_expr_compare?e.visitA_expr_compare(this):e.visitChildren(this)}}class K5 extends u{constructor(e,i){super(e,i)}a_expr_qual_op(e){return e===void 0?this.getRuleContexts(R5):this.getRuleContext(e,R5)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_ILIKE(){return this.getToken(t.KW_ILIKE,0)}KW_SIMILAR(){return this.getToken(t.KW_SIMILAR,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}opt_escape(){return this.getRuleContext(0,TW)}KW_SYMMETRIC(){return this.getToken(t.KW_SYMMETRIC,0)}get ruleIndex(){return t.RULE_a_expr_like}enterRule(e){e.enterA_expr_like&&e.enterA_expr_like(this)}exitRule(e){e.exitA_expr_like&&e.exitA_expr_like(this)}accept(e){return e.visitA_expr_like?e.visitA_expr_like(this):e.visitChildren(this)}}class R5 extends u{constructor(e,i){super(e,i)}a_expr_unary_qualop(e){return e===void 0?this.getRuleContexts(o5):this.getRuleContext(e,o5)}qual_op(e){return e===void 0?this.getRuleContexts(Li):this.getRuleContext(e,Li)}get ruleIndex(){return t.RULE_a_expr_qual_op}enterRule(e){e.enterA_expr_qual_op&&e.enterA_expr_qual_op(this)}exitRule(e){e.exitA_expr_qual_op&&e.exitA_expr_qual_op(this)}accept(e){return e.visitA_expr_qual_op?e.visitA_expr_qual_op(this):e.visitChildren(this)}}class o5 extends u{constructor(e,i){super(e,i)}a_expr_add(){return this.getRuleContext(0,LW)}qual_op(){return this.getRuleContext(0,Li)}get ruleIndex(){return t.RULE_a_expr_unary_qualop}enterRule(e){e.enterA_expr_unary_qualop&&e.enterA_expr_unary_qualop(this)}exitRule(e){e.exitA_expr_unary_qualop&&e.exitA_expr_unary_qualop(this)}accept(e){return e.visitA_expr_unary_qualop?e.visitA_expr_unary_qualop(this):e.visitChildren(this)}}class LW extends u{constructor(e,i){super(e,i)}a_expr_mul(e){return e===void 0?this.getRuleContexts(A5):this.getRuleContext(e,A5)}MINUS(e){return e===void 0?this.getTokens(t.MINUS):this.getToken(t.MINUS,e)}PLUS(e){return e===void 0?this.getTokens(t.PLUS):this.getToken(t.PLUS,e)}get ruleIndex(){return t.RULE_a_expr_add}enterRule(e){e.enterA_expr_add&&e.enterA_expr_add(this)}exitRule(e){e.exitA_expr_add&&e.exitA_expr_add(this)}accept(e){return e.visitA_expr_add?e.visitA_expr_add(this):e.visitChildren(this)}}class A5 extends u{constructor(e,i){super(e,i)}a_expr_caret(e){return e===void 0?this.getRuleContexts(T5):this.getRuleContext(e,T5)}STAR(e){return e===void 0?this.getTokens(t.STAR):this.getToken(t.STAR,e)}SLASH(e){return e===void 0?this.getTokens(t.SLASH):this.getToken(t.SLASH,e)}PERCENT(e){return e===void 0?this.getTokens(t.PERCENT):this.getToken(t.PERCENT,e)}get ruleIndex(){return t.RULE_a_expr_mul}enterRule(e){e.enterA_expr_mul&&e.enterA_expr_mul(this)}exitRule(e){e.exitA_expr_mul&&e.exitA_expr_mul(this)}accept(e){return e.visitA_expr_mul?e.visitA_expr_mul(this):e.visitChildren(this)}}class T5 extends u{constructor(e,i){super(e,i)}a_expr_unary_sign(){return this.getRuleContext(0,xW)}CARET(){return this.getToken(t.CARET,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_a_expr_caret}enterRule(e){e.enterA_expr_caret&&e.enterA_expr_caret(this)}exitRule(e){e.exitA_expr_caret&&e.exitA_expr_caret(this)}accept(e){return e.visitA_expr_caret?e.visitA_expr_caret(this):e.visitChildren(this)}}class xW extends u{constructor(e,i){super(e,i)}a_expr_at_time_zone(){return this.getRuleContext(0,NW)}MINUS(){return this.getToken(t.MINUS,0)}PLUS(){return this.getToken(t.PLUS,0)}get ruleIndex(){return t.RULE_a_expr_unary_sign}enterRule(e){e.enterA_expr_unary_sign&&e.enterA_expr_unary_sign(this)}exitRule(e){e.exitA_expr_unary_sign&&e.exitA_expr_unary_sign(this)}accept(e){return e.visitA_expr_unary_sign?e.visitA_expr_unary_sign(this):e.visitChildren(this)}}class NW extends u{constructor(e,i){super(e,i)}a_expr_collate(){return this.getRuleContext(0,mW)}KW_AT(){return this.getToken(t.KW_AT,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_a_expr_at_time_zone}enterRule(e){e.enterA_expr_at_time_zone&&e.enterA_expr_at_time_zone(this)}exitRule(e){e.exitA_expr_at_time_zone&&e.exitA_expr_at_time_zone(this)}accept(e){return e.visitA_expr_at_time_zone?e.visitA_expr_at_time_zone(this):e.visitChildren(this)}}class mW extends u{constructor(e,i){super(e,i)}a_expr_typecast(){return this.getRuleContext(0,IW)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_a_expr_collate}enterRule(e){e.enterA_expr_collate&&e.enterA_expr_collate(this)}exitRule(e){e.exitA_expr_collate&&e.exitA_expr_collate(this)}accept(e){return e.visitA_expr_collate?e.visitA_expr_collate(this):e.visitChildren(this)}}class IW extends u{constructor(e,i){super(e,i)}c_expr(){return this.getRuleContext(0,Me)}TYPECAST(e){return e===void 0?this.getTokens(t.TYPECAST):this.getToken(t.TYPECAST,e)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}get ruleIndex(){return t.RULE_a_expr_typecast}enterRule(e){e.enterA_expr_typecast&&e.enterA_expr_typecast(this)}exitRule(e){e.exitA_expr_typecast&&e.exitA_expr_typecast(this)}accept(e){return e.visitA_expr_typecast?e.visitA_expr_typecast(this):e.visitChildren(this)}}class yt extends u{constructor(e,i){super(e,i)}c_expr(){return this.getRuleContext(0,Me)}b_expr(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}qual_op(){return this.getRuleContext(0,Li)}CARET(){return this.getToken(t.CARET,0)}STAR(){return this.getToken(t.STAR,0)}SLASH(){return this.getToken(t.SLASH,0)}PERCENT(){return this.getToken(t.PERCENT,0)}LT(){return this.getToken(t.LT,0)}GT(){return this.getToken(t.GT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}LESS_EQUALS(){return this.getToken(t.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(t.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(t.NOT_EQUALS,0)}TYPECAST(){return this.getToken(t.TYPECAST,0)}typename(){return this.getRuleContext(0,j)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_OF(){return this.getToken(t.KW_OF,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}type_list(){return this.getRuleContext(0,xi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_b_expr}enterRule(e){e.enterB_expr&&e.enterB_expr(this)}exitRule(e){e.exitB_expr&&e.exitB_expr(this)}accept(e){return e.visitB_expr?e.visitB_expr(this):e.visitChildren(this)}}class Me extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_c_expr}copyFrom(e){super.copyFrom(e)}}class QT extends Me{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}select_with_parens(){return this.getRuleContext(0,se)}enterRule(e){e.enterC_expr_exists&&e.enterC_expr_exists(this)}exitRule(e){e.exitC_expr_exists&&e.exitC_expr_exists(this)}accept(e){return e.visitC_expr_exists?e.visitC_expr_exists(this):e.visitChildren(this)}}class ZT extends Me{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}case_expr(){return this.getRuleContext(0,eK)}enterRule(e){e.enterC_expr_case&&e.enterC_expr_case(this)}exitRule(e){e.exitC_expr_case&&e.exitC_expr_case(this)}accept(e){return e.visitC_expr_case?e.visitC_expr_case(this):e.visitChildren(this)}}class qt extends Me{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}select_with_parens(){return this.getRuleContext(0,se)}array_expr(){return this.getRuleContext(0,Tc)}PARAM(){return this.getToken(t.PARAM,0)}opt_indirection(){return this.getRuleContext(0,rc)}KW_GROUPING(){return this.getToken(t.KW_GROUPING,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}aexprconst(){return this.getRuleContext(0,RK)}plsqlvariablename(){return this.getRuleContext(0,l5)}a_expr(){return this.getRuleContext(0,U)}func_expr(){return this.getRuleContext(0,fW)}indirection(){return this.getRuleContext(0,Ut)}explicit_row(){return this.getRuleContext(0,YW)}implicit_row(){return this.getRuleContext(0,XW)}row(e){return e===void 0?this.getRuleContexts(f5):this.getRuleContext(e,f5)}KW_OVERLAPS(){return this.getToken(t.KW_OVERLAPS,0)}columnref(){return this.getRuleContext(0,hK)}enterRule(e){e.enterC_expr_expr&&e.enterC_expr_expr(this)}exitRule(e){e.exitC_expr_expr&&e.exitC_expr_expr(this)}accept(e){return e.visitC_expr_expr?e.visitC_expr_expr(this):e.visitChildren(this)}}class l5 extends u{constructor(e,i){super(e,i)}PLSQLVARIABLENAME(){return this.getToken(t.PLSQLVARIABLENAME,0)}get ruleIndex(){return t.RULE_plsqlvariablename}enterRule(e){e.enterPlsqlvariablename&&e.enterPlsqlvariablename(this)}exitRule(e){e.exitPlsqlvariablename&&e.exitPlsqlvariablename(this)}accept(e){return e.visitPlsqlvariablename?e.visitPlsqlvariablename(this):e.visitChildren(this)}}class Wc extends u{constructor(e,i){super(e,i)}function_name(){return this.getRuleContext(0,Ve)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}func_arg_list(){return this.getRuleContext(0,k5)}KW_VARIADIC(){return this.getToken(t.KW_VARIADIC,0)}func_arg_expr(){return this.getRuleContext(0,Ac)}STAR(){return this.getToken(t.STAR,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}COMMA(){return this.getToken(t.COMMA,0)}opt_sort_clause(){return this.getRuleContext(0,L1)}get ruleIndex(){return t.RULE_func_application}enterRule(e){e.enterFunc_application&&e.enterFunc_application(this)}exitRule(e){e.exitFunc_application&&e.exitFunc_application(this)}accept(e){return e.visitFunc_application?e.visitFunc_application(this):e.visitChildren(this)}}class fW extends u{constructor(e,i){super(e,i)}func_application(){return this.getRuleContext(0,Wc)}within_group_clause(){return this.getRuleContext(0,yW)}filter_clause(){return this.getRuleContext(0,HW)}over_clause(){return this.getRuleContext(0,bW)}func_expr_common_subexpr(){return this.getRuleContext(0,r5)}get ruleIndex(){return t.RULE_func_expr}enterRule(e){e.enterFunc_expr&&e.enterFunc_expr(this)}exitRule(e){e.exitFunc_expr&&e.exitFunc_expr(this)}accept(e){return e.visitFunc_expr?e.visitFunc_expr(this):e.visitChildren(this)}}class N1 extends u{constructor(e,i){super(e,i)}func_application(){return this.getRuleContext(0,Wc)}func_expr_common_subexpr(){return this.getRuleContext(0,r5)}get ruleIndex(){return t.RULE_func_expr_windowless}enterRule(e){e.enterFunc_expr_windowless&&e.enterFunc_expr_windowless(this)}exitRule(e){e.exitFunc_expr_windowless&&e.exitFunc_expr_windowless(this)}accept(e){return e.visitFunc_expr_windowless?e.visitFunc_expr_windowless(this):e.visitChildren(this)}}class r5 extends u{constructor(e,i){super(e,i)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}iconst(){return this.getRuleContext(0,At)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}KW_CURRENT_ROLE(){return this.getToken(t.KW_CURRENT_ROLE,0)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_SESSION_USER(){return this.getToken(t.KW_SESSION_USER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_CURRENT_CATALOG(){return this.getToken(t.KW_CURRENT_CATALOG,0)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}KW_AS(){return this.getToken(t.KW_AS,0)}typename(){return this.getRuleContext(0,j)}KW_EXTRACT(){return this.getToken(t.KW_EXTRACT,0)}extract_list(){return this.getRuleContext(0,$W)}KW_NORMALIZE(){return this.getToken(t.KW_NORMALIZE,0)}COMMA(){return this.getToken(t.COMMA,0)}unicode_normal_form(){return this.getRuleContext(0,D5)}KW_OVERLAY(){return this.getToken(t.KW_OVERLAY,0)}overlay_list(){return this.getRuleContext(0,gW)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}position_list(){return this.getRuleContext(0,qW)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}substr_list(){return this.getRuleContext(0,PW)}KW_TREAT(){return this.getToken(t.KW_TREAT,0)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}trim_list(){return this.getRuleContext(0,tK)}KW_BOTH(){return this.getToken(t.KW_BOTH,0)}KW_LEADING(){return this.getToken(t.KW_LEADING,0)}KW_TRAILING(){return this.getToken(t.KW_TRAILING,0)}KW_NULLIF(){return this.getToken(t.KW_NULLIF,0)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}expr_list(){return this.getRuleContext(0,ht)}KW_GREATEST(){return this.getToken(t.KW_GREATEST,0)}KW_LEAST(){return this.getToken(t.KW_LEAST,0)}KW_XMLCONCAT(){return this.getToken(t.KW_XMLCONCAT,0)}KW_XMLELEMENT(){return this.getToken(t.KW_XMLELEMENT,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}collabel(){return this.getRuleContext(0,Yt)}xml_attributes(){return this.getRuleContext(0,DW)}KW_XMLEXISTS(){return this.getToken(t.KW_XMLEXISTS,0)}c_expr(){return this.getRuleContext(0,Me)}xmlexists_argument(){return this.getRuleContext(0,O5)}KW_XMLFOREST(){return this.getToken(t.KW_XMLFOREST,0)}xml_attribute_list(){return this.getRuleContext(0,C5)}KW_XMLPARSE(){return this.getToken(t.KW_XMLPARSE,0)}document_or_content(){return this.getRuleContext(0,d5)}xml_whitespace_option(){return this.getRuleContext(0,MW)}KW_XMLPI(){return this.getToken(t.KW_XMLPI,0)}KW_XMLROOT(){return this.getToken(t.KW_XMLROOT,0)}KW_XML(){return this.getToken(t.KW_XML,0)}xml_root_version(){return this.getRuleContext(0,UW)}opt_xml_root_standalone(){return this.getRuleContext(0,kW)}KW_XMLSERIALIZE(){return this.getToken(t.KW_XMLSERIALIZE,0)}simpletypename(){return this.getRuleContext(0,cc)}get ruleIndex(){return t.RULE_func_expr_common_subexpr}enterRule(e){e.enterFunc_expr_common_subexpr&&e.enterFunc_expr_common_subexpr(this)}exitRule(e){e.exitFunc_expr_common_subexpr&&e.exitFunc_expr_common_subexpr(this)}accept(e){return e.visitFunc_expr_common_subexpr?e.visitFunc_expr_common_subexpr(this):e.visitChildren(this)}}class UW extends u{constructor(e,i){super(e,i)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}a_expr(){return this.getRuleContext(0,U)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_xml_root_version}enterRule(e){e.enterXml_root_version&&e.enterXml_root_version(this)}exitRule(e){e.exitXml_root_version&&e.exitXml_root_version(this)}accept(e){return e.visitXml_root_version?e.visitXml_root_version(this):e.visitChildren(this)}}class kW extends u{constructor(e,i){super(e,i)}COMMA(){return this.getToken(t.COMMA,0)}KW_STANDALONE(){return this.getToken(t.KW_STANDALONE,0)}KW_YES(){return this.getToken(t.KW_YES,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_opt_xml_root_standalone}enterRule(e){e.enterOpt_xml_root_standalone&&e.enterOpt_xml_root_standalone(this)}exitRule(e){e.exitOpt_xml_root_standalone&&e.exitOpt_xml_root_standalone(this)}accept(e){return e.visitOpt_xml_root_standalone?e.visitOpt_xml_root_standalone(this):e.visitChildren(this)}}class DW extends u{constructor(e,i){super(e,i)}KW_XMLATTRIBUTES(){return this.getToken(t.KW_XMLATTRIBUTES,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}xml_attribute_list(){return this.getRuleContext(0,C5)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_xml_attributes}enterRule(e){e.enterXml_attributes&&e.enterXml_attributes(this)}exitRule(e){e.exitXml_attributes&&e.exitXml_attributes(this)}accept(e){return e.visitXml_attributes?e.visitXml_attributes(this):e.visitChildren(this)}}class C5 extends u{constructor(e,i){super(e,i)}xml_attribute_el(e){return e===void 0?this.getRuleContexts(p5):this.getRuleContext(e,p5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_xml_attribute_list}enterRule(e){e.enterXml_attribute_list&&e.enterXml_attribute_list(this)}exitRule(e){e.exitXml_attribute_list&&e.exitXml_attribute_list(this)}accept(e){return e.visitXml_attribute_list?e.visitXml_attribute_list(this):e.visitChildren(this)}}class p5 extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}KW_AS(){return this.getToken(t.KW_AS,0)}collabel(){return this.getRuleContext(0,Yt)}get ruleIndex(){return t.RULE_xml_attribute_el}enterRule(e){e.enterXml_attribute_el&&e.enterXml_attribute_el(this)}exitRule(e){e.exitXml_attribute_el&&e.exitXml_attribute_el(this)}accept(e){return e.visitXml_attribute_el?e.visitXml_attribute_el(this):e.visitChildren(this)}}class d5 extends u{constructor(e,i){super(e,i)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_CONTENT(){return this.getToken(t.KW_CONTENT,0)}get ruleIndex(){return t.RULE_document_or_content}enterRule(e){e.enterDocument_or_content&&e.enterDocument_or_content(this)}exitRule(e){e.exitDocument_or_content&&e.exitDocument_or_content(this)}accept(e){return e.visitDocument_or_content?e.visitDocument_or_content(this):e.visitChildren(this)}}class MW extends u{constructor(e,i){super(e,i)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_WHITESPACE(){return this.getToken(t.KW_WHITESPACE,0)}KW_STRIP(){return this.getToken(t.KW_STRIP,0)}get ruleIndex(){return t.RULE_xml_whitespace_option}enterRule(e){e.enterXml_whitespace_option&&e.enterXml_whitespace_option(this)}exitRule(e){e.exitXml_whitespace_option&&e.exitXml_whitespace_option(this)}accept(e){return e.visitXml_whitespace_option?e.visitXml_whitespace_option(this):e.visitChildren(this)}}class O5 extends u{constructor(e,i){super(e,i)}KW_PASSING(){return this.getToken(t.KW_PASSING,0)}c_expr(){return this.getRuleContext(0,Me)}xml_passing_mech(e){return e===void 0?this.getRuleContexts(L5):this.getRuleContext(e,L5)}get ruleIndex(){return t.RULE_xmlexists_argument}enterRule(e){e.enterXmlexists_argument&&e.enterXmlexists_argument(this)}exitRule(e){e.exitXmlexists_argument&&e.exitXmlexists_argument(this)}accept(e){return e.visitXmlexists_argument?e.visitXmlexists_argument(this):e.visitChildren(this)}}class L5 extends u{constructor(e,i){super(e,i)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_REF(){return this.getToken(t.KW_REF,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_xml_passing_mech}enterRule(e){e.enterXml_passing_mech&&e.enterXml_passing_mech(this)}exitRule(e){e.exitXml_passing_mech&&e.exitXml_passing_mech(this)}accept(e){return e.visitXml_passing_mech?e.visitXml_passing_mech(this):e.visitChildren(this)}}class yW extends u{constructor(e,i){super(e,i)}KW_WITHIN(){return this.getToken(t.KW_WITHIN,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}sort_clause(){return this.getRuleContext(0,w3)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_within_group_clause}enterRule(e){e.enterWithin_group_clause&&e.enterWithin_group_clause(this)}exitRule(e){e.exitWithin_group_clause&&e.exitWithin_group_clause(this)}accept(e){return e.visitWithin_group_clause?e.visitWithin_group_clause(this):e.visitChildren(this)}}class HW extends u{constructor(e,i){super(e,i)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_filter_clause}enterRule(e){e.enterFilter_clause&&e.enterFilter_clause(this)}exitRule(e){e.exitFilter_clause&&e.exitFilter_clause(this)}accept(e){return e.visitFilter_clause?e.visitFilter_clause(this):e.visitChildren(this)}}class x5 extends u{constructor(e,i){super(e,i)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}window_definition_list(){return this.getRuleContext(0,wW)}get ruleIndex(){return t.RULE_window_clause}enterRule(e){e.enterWindow_clause&&e.enterWindow_clause(this)}exitRule(e){e.exitWindow_clause&&e.exitWindow_clause(this)}accept(e){return e.visitWindow_clause?e.visitWindow_clause(this):e.visitChildren(this)}}class wW extends u{constructor(e,i){super(e,i)}window_definition(e){return e===void 0?this.getRuleContexts(N5):this.getRuleContext(e,N5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_window_definition_list}enterRule(e){e.enterWindow_definition_list&&e.enterWindow_definition_list(this)}exitRule(e){e.exitWindow_definition_list&&e.exitWindow_definition_list(this)}accept(e){return e.visitWindow_definition_list?e.visitWindow_definition_list(this):e.visitChildren(this)}}class N5 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}KW_AS(){return this.getToken(t.KW_AS,0)}window_specification(){return this.getRuleContext(0,m5)}get ruleIndex(){return t.RULE_window_definition}enterRule(e){e.enterWindow_definition&&e.enterWindow_definition(this)}exitRule(e){e.exitWindow_definition&&e.exitWindow_definition(this)}accept(e){return e.visitWindow_definition?e.visitWindow_definition(this):e.visitChildren(this)}}class bW extends u{constructor(e,i){super(e,i)}KW_OVER(){return this.getToken(t.KW_OVER,0)}window_specification(){return this.getRuleContext(0,m5)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_over_clause}enterRule(e){e.enterOver_clause&&e.enterOver_clause(this)}exitRule(e){e.exitOver_clause&&e.exitOver_clause(this)}accept(e){return e.visitOver_clause?e.visitOver_clause(this):e.visitChildren(this)}}class m5 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_existing_window_name(){return this.getRuleContext(0,vW)}opt_partition_clause(){return this.getRuleContext(0,FW)}opt_sort_clause(){return this.getRuleContext(0,L1)}opt_frame_clause(){return this.getRuleContext(0,GW)}get ruleIndex(){return t.RULE_window_specification}enterRule(e){e.enterWindow_specification&&e.enterWindow_specification(this)}exitRule(e){e.exitWindow_specification&&e.exitWindow_specification(this)}accept(e){return e.visitWindow_specification?e.visitWindow_specification(this):e.visitChildren(this)}}class vW extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_opt_existing_window_name}enterRule(e){e.enterOpt_existing_window_name&&e.enterOpt_existing_window_name(this)}exitRule(e){e.exitOpt_existing_window_name&&e.exitOpt_existing_window_name(this)}accept(e){return e.visitOpt_existing_window_name?e.visitOpt_existing_window_name(this):e.visitChildren(this)}}class FW extends u{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(){return this.getToken(t.KW_BY,0)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_opt_partition_clause}enterRule(e){e.enterOpt_partition_clause&&e.enterOpt_partition_clause(this)}exitRule(e){e.exitOpt_partition_clause&&e.exitOpt_partition_clause(this)}accept(e){return e.visitOpt_partition_clause?e.visitOpt_partition_clause(this):e.visitChildren(this)}}class GW extends u{constructor(e,i){super(e,i)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}frame_extent(){return this.getRuleContext(0,BW)}opt_window_exclusion_clause(){return this.getRuleContext(0,VW)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_GROUPS(){return this.getToken(t.KW_GROUPS,0)}get ruleIndex(){return t.RULE_opt_frame_clause}enterRule(e){e.enterOpt_frame_clause&&e.enterOpt_frame_clause(this)}exitRule(e){e.exitOpt_frame_clause&&e.exitOpt_frame_clause(this)}accept(e){return e.visitOpt_frame_clause?e.visitOpt_frame_clause(this):e.visitChildren(this)}}class BW extends u{constructor(e,i){super(e,i)}frame_bound(e){return e===void 0?this.getRuleContexts(I5):this.getRuleContext(e,I5)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_AND(){return this.getToken(t.KW_AND,0)}get ruleIndex(){return t.RULE_frame_extent}enterRule(e){e.enterFrame_extent&&e.enterFrame_extent(this)}exitRule(e){e.exitFrame_extent&&e.exitFrame_extent(this)}accept(e){return e.visitFrame_extent?e.visitFrame_extent(this):e.visitChildren(this)}}class I5 extends u{constructor(e,i){super(e,i)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(t.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(t.KW_FOLLOWING,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_frame_bound}enterRule(e){e.enterFrame_bound&&e.enterFrame_bound(this)}exitRule(e){e.exitFrame_bound&&e.exitFrame_bound(this)}accept(e){return e.visitFrame_bound?e.visitFrame_bound(this):e.visitChildren(this)}}class VW extends u{constructor(e,i){super(e,i)}KW_EXCLUDE(){return this.getToken(t.KW_EXCLUDE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_TIES(){return this.getToken(t.KW_TIES,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_OTHERS(){return this.getToken(t.KW_OTHERS,0)}get ruleIndex(){return t.RULE_opt_window_exclusion_clause}enterRule(e){e.enterOpt_window_exclusion_clause&&e.enterOpt_window_exclusion_clause(this)}exitRule(e){e.exitOpt_window_exclusion_clause&&e.exitOpt_window_exclusion_clause(this)}accept(e){return e.visitOpt_window_exclusion_clause?e.visitOpt_window_exclusion_clause(this):e.visitChildren(this)}}class f5 extends u{constructor(e,i){super(e,i)}KW_ROW(){return this.getToken(t.KW_ROW,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}COMMA(){return this.getToken(t.COMMA,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_row}enterRule(e){e.enterRow&&e.enterRow(this)}exitRule(e){e.exitRow&&e.exitRow(this)}accept(e){return e.visitRow?e.visitRow(this):e.visitChildren(this)}}class YW extends u{constructor(e,i){super(e,i)}KW_ROW(){return this.getToken(t.KW_ROW,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_explicit_row}enterRule(e){e.enterExplicit_row&&e.enterExplicit_row(this)}exitRule(e){e.exitExplicit_row&&e.exitExplicit_row(this)}accept(e){return e.visitExplicit_row?e.visitExplicit_row(this):e.visitChildren(this)}}class XW extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}COMMA(){return this.getToken(t.COMMA,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_implicit_row}enterRule(e){e.enterImplicit_row&&e.enterImplicit_row(this)}exitRule(e){e.exitImplicit_row&&e.exitImplicit_row(this)}accept(e){return e.visitImplicit_row?e.visitImplicit_row(this):e.visitChildren(this)}}class QW extends u{constructor(e,i){super(e,i)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_sub_type}enterRule(e){e.enterSub_type&&e.enterSub_type(this)}exitRule(e){e.exitSub_type&&e.exitSub_type(this)}accept(e){return e.visitSub_type?e.visitSub_type(this):e.visitChildren(this)}}class Kc extends u{constructor(e,i){super(e,i)}Operator(){return this.getToken(t.Operator,0)}mathop(){return this.getRuleContext(0,ZW)}get ruleIndex(){return t.RULE_all_op}enterRule(e){e.enterAll_op&&e.enterAll_op(this)}exitRule(e){e.exitAll_op&&e.exitAll_op(this)}accept(e){return e.visitAll_op?e.visitAll_op(this):e.visitChildren(this)}}class ZW extends u{constructor(e,i){super(e,i)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}STAR(){return this.getToken(t.STAR,0)}SLASH(){return this.getToken(t.SLASH,0)}PERCENT(){return this.getToken(t.PERCENT,0)}CARET(){return this.getToken(t.CARET,0)}LT(){return this.getToken(t.LT,0)}GT(){return this.getToken(t.GT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}LESS_EQUALS(){return this.getToken(t.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(t.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(t.NOT_EQUALS,0)}get ruleIndex(){return t.RULE_mathop}enterRule(e){e.enterMathop&&e.enterMathop(this)}exitRule(e){e.exitMathop&&e.exitMathop(this)}accept(e){return e.visitMathop?e.visitMathop(this):e.visitChildren(this)}}class Li extends u{constructor(e,i){super(e,i)}Operator(){return this.getToken(t.Operator,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}any_operator(){return this.getRuleContext(0,h0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_qual_op}enterRule(e){e.enterQual_op&&e.enterQual_op(this)}exitRule(e){e.exitQual_op&&e.exitQual_op(this)}accept(e){return e.visitQual_op?e.visitQual_op(this):e.visitChildren(this)}}class Rc extends u{constructor(e,i){super(e,i)}all_op(){return this.getRuleContext(0,Kc)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}any_operator(){return this.getRuleContext(0,h0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_qual_all_op}enterRule(e){e.enterQual_all_op&&e.enterQual_all_op(this)}exitRule(e){e.exitQual_all_op&&e.exitQual_all_op(this)}accept(e){return e.visitQual_all_op?e.visitQual_all_op(this):e.visitChildren(this)}}class zW extends u{constructor(e,i){super(e,i)}all_op(){return this.getRuleContext(0,Kc)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}any_operator(){return this.getRuleContext(0,h0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ILIKE(){return this.getToken(t.KW_ILIKE,0)}get ruleIndex(){return t.RULE_subquery_Op}enterRule(e){e.enterSubquery_Op&&e.enterSubquery_Op(this)}exitRule(e){e.exitSubquery_Op&&e.exitSubquery_Op(this)}accept(e){return e.visitSubquery_Op?e.visitSubquery_Op(this):e.visitChildren(this)}}class ht extends u{constructor(e,i){super(e,i)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_expr_list}enterRule(e){e.enterExpr_list&&e.enterExpr_list(this)}exitRule(e){e.exitExpr_list&&e.exitExpr_list(this)}accept(e){return e.visitExpr_list?e.visitExpr_list(this):e.visitChildren(this)}}class oc extends u{constructor(e,i){super(e,i)}column_expr_noparen(e){return e===void 0?this.getRuleContexts(v0):this.getRuleContext(e,v0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_column_expr_list_noparen}enterRule(e){e.enterColumn_expr_list_noparen&&e.enterColumn_expr_list_noparen(this)}exitRule(e){e.exitColumn_expr_list_noparen&&e.exitColumn_expr_list_noparen(this)}accept(e){return e.visitColumn_expr_list_noparen?e.visitColumn_expr_list_noparen(this):e.visitChildren(this)}}class jW extends u{constructor(e,i){super(e,i)}column_expr(e){return e===void 0?this.getRuleContexts(U5):this.getRuleContext(e,U5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_column_expr_list}enterRule(e){e.enterColumn_expr_list&&e.enterColumn_expr_list(this)}exitRule(e){e.exitColumn_expr_list&&e.exitColumn_expr_list(this)}accept(e){return e.visitColumn_expr_list?e.visitColumn_expr_list(this):e.visitChildren(this)}}class U5 extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}column_name(){return this.getRuleContext(0,Wt)}get ruleIndex(){return t.RULE_column_expr}enterRule(e){e.enterColumn_expr&&e.enterColumn_expr(this)}exitRule(e){e.exitColumn_expr&&e.exitColumn_expr(this)}accept(e){return e.visitColumn_expr?e.visitColumn_expr(this):e.visitChildren(this)}}class v0 extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}column_name(){return this.getRuleContext(0,Wt)}get ruleIndex(){return t.RULE_column_expr_noparen}enterRule(e){e.enterColumn_expr_noparen&&e.enterColumn_expr_noparen(this)}exitRule(e){e.exitColumn_expr_noparen&&e.exitColumn_expr_noparen(this)}accept(e){return e.visitColumn_expr_noparen?e.visitColumn_expr_noparen(this):e.visitChildren(this)}}class k5 extends u{constructor(e,i){super(e,i)}func_arg_expr(e){return e===void 0?this.getRuleContexts(Ac):this.getRuleContext(e,Ac)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_func_arg_list}enterRule(e){e.enterFunc_arg_list&&e.enterFunc_arg_list(this)}exitRule(e){e.exitFunc_arg_list&&e.exitFunc_arg_list(this)}accept(e){return e.visitFunc_arg_list?e.visitFunc_arg_list(this):e.visitChildren(this)}}class Ac extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}param_name(){return this.getRuleContext(0,J2)}COLON_EQUALS(){return this.getToken(t.COLON_EQUALS,0)}EQUALS_GREATER(){return this.getToken(t.EQUALS_GREATER,0)}get ruleIndex(){return t.RULE_func_arg_expr}enterRule(e){e.enterFunc_arg_expr&&e.enterFunc_arg_expr(this)}exitRule(e){e.exitFunc_arg_expr&&e.exitFunc_arg_expr(this)}accept(e){return e.visitFunc_arg_expr?e.visitFunc_arg_expr(this):e.visitChildren(this)}}class xi extends u{constructor(e,i){super(e,i)}typename(e){return e===void 0?this.getRuleContexts(j):this.getRuleContext(e,j)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_type_list}enterRule(e){e.enterType_list&&e.enterType_list(this)}exitRule(e){e.exitType_list&&e.exitType_list(this)}accept(e){return e.visitType_list?e.visitType_list(this):e.visitChildren(this)}}class Tc extends u{constructor(e,i){super(e,i)}OPEN_BRACKET(){return this.getToken(t.OPEN_BRACKET,0)}CLOSE_BRACKET(){return this.getToken(t.CLOSE_BRACKET,0)}expr_list(){return this.getRuleContext(0,ht)}array_expr_list(){return this.getRuleContext(0,JW)}get ruleIndex(){return t.RULE_array_expr}enterRule(e){e.enterArray_expr&&e.enterArray_expr(this)}exitRule(e){e.exitArray_expr&&e.exitArray_expr(this)}accept(e){return e.visitArray_expr?e.visitArray_expr(this):e.visitChildren(this)}}class JW extends u{constructor(e,i){super(e,i)}array_expr(e){return e===void 0?this.getRuleContexts(Tc):this.getRuleContext(e,Tc)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_array_expr_list}enterRule(e){e.enterArray_expr_list&&e.enterArray_expr_list(this)}exitRule(e){e.exitArray_expr_list&&e.exitArray_expr_list(this)}accept(e){return e.visitArray_expr_list?e.visitArray_expr_list(this):e.visitChildren(this)}}class $W extends u{constructor(e,i){super(e,i)}extract_arg(){return this.getRuleContext(0,SW)}KW_FROM(){return this.getToken(t.KW_FROM,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_extract_list}enterRule(e){e.enterExtract_list&&e.enterExtract_list(this)}exitRule(e){e.exitExtract_list&&e.exitExtract_list(this)}accept(e){return e.visitExtract_list?e.visitExtract_list(this):e.visitChildren(this)}}class SW extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_extract_arg}enterRule(e){e.enterExtract_arg&&e.enterExtract_arg(this)}exitRule(e){e.exitExtract_arg&&e.exitExtract_arg(this)}accept(e){return e.visitExtract_arg?e.visitExtract_arg(this):e.visitChildren(this)}}class D5 extends u{constructor(e,i){super(e,i)}KW_NFC(){return this.getToken(t.KW_NFC,0)}KW_NFD(){return this.getToken(t.KW_NFD,0)}KW_NFKC(){return this.getToken(t.KW_NFKC,0)}KW_NFKD(){return this.getToken(t.KW_NFKD,0)}get ruleIndex(){return t.RULE_unicode_normal_form}enterRule(e){e.enterUnicode_normal_form&&e.enterUnicode_normal_form(this)}exitRule(e){e.exitUnicode_normal_form&&e.exitUnicode_normal_form(this)}accept(e){return e.visitUnicode_normal_form?e.visitUnicode_normal_form(this):e.visitChildren(this)}}class gW extends u{constructor(e,i){super(e,i)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}KW_PLACING(){return this.getToken(t.KW_PLACING,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}get ruleIndex(){return t.RULE_overlay_list}enterRule(e){e.enterOverlay_list&&e.enterOverlay_list(this)}exitRule(e){e.exitOverlay_list&&e.exitOverlay_list(this)}accept(e){return e.visitOverlay_list?e.visitOverlay_list(this):e.visitChildren(this)}}class qW extends u{constructor(e,i){super(e,i)}b_expr(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}KW_IN(){return this.getToken(t.KW_IN,0)}get ruleIndex(){return t.RULE_position_list}enterRule(e){e.enterPosition_list&&e.enterPosition_list(this)}exitRule(e){e.exitPosition_list&&e.exitPosition_list(this)}accept(e){return e.visitPosition_list?e.visitPosition_list(this):e.visitChildren(this)}}class PW extends u{constructor(e,i){super(e,i)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_SIMILAR(){return this.getToken(t.KW_SIMILAR,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_substr_list}enterRule(e){e.enterSubstr_list&&e.enterSubstr_list(this)}exitRule(e){e.exitSubstr_list&&e.exitSubstr_list(this)}accept(e){return e.visitSubstr_list?e.visitSubstr_list(this):e.visitChildren(this)}}class tK extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}KW_FROM(){return this.getToken(t.KW_FROM,0)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_trim_list}enterRule(e){e.enterTrim_list&&e.enterTrim_list(this)}exitRule(e){e.exitTrim_list&&e.exitTrim_list(this)}accept(e){return e.visitTrim_list?e.visitTrim_list(this):e.visitChildren(this)}}class lc extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_in_expr}copyFrom(e){super.copyFrom(e)}}class zT extends lc{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,ht)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}enterRule(e){e.enterIn_expr_list&&e.enterIn_expr_list(this)}exitRule(e){e.exitIn_expr_list&&e.exitIn_expr_list(this)}accept(e){return e.visitIn_expr_list?e.visitIn_expr_list(this):e.visitChildren(this)}}class jT extends lc{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}select_with_parens(){return this.getRuleContext(0,se)}enterRule(e){e.enterIn_expr_select&&e.enterIn_expr_select(this)}exitRule(e){e.exitIn_expr_select&&e.exitIn_expr_select(this)}accept(e){return e.visitIn_expr_select?e.visitIn_expr_select(this):e.visitChildren(this)}}class eK extends u{constructor(e,i){super(e,i)}KW_CASE(){return this.getToken(t.KW_CASE,0)}when_clause_list(){return this.getRuleContext(0,iK)}KW_END(){return this.getToken(t.KW_END,0)}case_arg(){return this.getRuleContext(0,sK)}case_default(){return this.getRuleContext(0,nK)}get ruleIndex(){return t.RULE_case_expr}enterRule(e){e.enterCase_expr&&e.enterCase_expr(this)}exitRule(e){e.exitCase_expr&&e.exitCase_expr(this)}accept(e){return e.visitCase_expr?e.visitCase_expr(this):e.visitChildren(this)}}class iK extends u{constructor(e,i){super(e,i)}when_clause(e){return e===void 0?this.getRuleContexts(M5):this.getRuleContext(e,M5)}get ruleIndex(){return t.RULE_when_clause_list}enterRule(e){e.enterWhen_clause_list&&e.enterWhen_clause_list(this)}exitRule(e){e.exitWhen_clause_list&&e.exitWhen_clause_list(this)}accept(e){return e.visitWhen_clause_list?e.visitWhen_clause_list(this):e.visitChildren(this)}}class M5 extends u{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}KW_THEN(){return this.getToken(t.KW_THEN,0)}get ruleIndex(){return t.RULE_when_clause}enterRule(e){e.enterWhen_clause&&e.enterWhen_clause(this)}exitRule(e){e.exitWhen_clause&&e.exitWhen_clause(this)}accept(e){return e.visitWhen_clause?e.visitWhen_clause(this):e.visitChildren(this)}}class nK extends u{constructor(e,i){super(e,i)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_case_default}enterRule(e){e.enterCase_default&&e.enterCase_default(this)}exitRule(e){e.exitCase_default&&e.exitCase_default(this)}accept(e){return e.visitCase_default?e.visitCase_default(this):e.visitChildren(this)}}class sK extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_case_arg}enterRule(e){e.enterCase_arg&&e.enterCase_arg(this)}exitRule(e){e.exitCase_arg&&e.exitCase_arg(this)}accept(e){return e.visitCase_arg?e.visitCase_arg(this):e.visitChildren(this)}}class hK extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_columnref}enterRule(e){e.enterColumnref&&e.enterColumnref(this)}exitRule(e){e.exitColumnref&&e.exitColumnref(this)}accept(e){return e.visitColumnref?e.visitColumnref(this):e.visitChildren(this)}}class F0 extends u{constructor(e,i){super(e,i)}DOT(){return this.getToken(t.DOT,0)}attr_name(){return this.getRuleContext(0,k1)}STAR(){return this.getToken(t.STAR,0)}OPEN_BRACKET(){return this.getToken(t.OPEN_BRACKET,0)}CLOSE_BRACKET(){return this.getToken(t.CLOSE_BRACKET,0)}a_expr(){return this.getRuleContext(0,U)}COLON(){return this.getToken(t.COLON,0)}opt_slice_bound(e){return e===void 0?this.getRuleContexts(y5):this.getRuleContext(e,y5)}get ruleIndex(){return t.RULE_indirection_el}enterRule(e){e.enterIndirection_el&&e.enterIndirection_el(this)}exitRule(e){e.exitIndirection_el&&e.exitIndirection_el(this)}accept(e){return e.visitIndirection_el?e.visitIndirection_el(this):e.visitChildren(this)}}class y5 extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_opt_slice_bound}enterRule(e){e.enterOpt_slice_bound&&e.enterOpt_slice_bound(this)}exitRule(e){e.exitOpt_slice_bound&&e.exitOpt_slice_bound(this)}accept(e){return e.visitOpt_slice_bound?e.visitOpt_slice_bound(this):e.visitChildren(this)}}class Ut extends u{constructor(e,i){super(e,i)}indirection_el(e){return e===void 0?this.getRuleContexts(F0):this.getRuleContext(e,F0)}get ruleIndex(){return t.RULE_indirection}enterRule(e){e.enterIndirection&&e.enterIndirection(this)}exitRule(e){e.exitIndirection&&e.exitIndirection(this)}accept(e){return e.visitIndirection?e.visitIndirection(this):e.visitChildren(this)}}class rc extends u{constructor(e,i){super(e,i)}indirection_el(e){return e===void 0?this.getRuleContexts(F0):this.getRuleContext(e,F0)}get ruleIndex(){return t.RULE_opt_indirection}enterRule(e){e.enterOpt_indirection&&e.enterOpt_indirection(this)}exitRule(e){e.exitOpt_indirection&&e.exitOpt_indirection(this)}accept(e){return e.visitOpt_indirection?e.visitOpt_indirection(this):e.visitChildren(this)}}class H5 extends u{constructor(e,i){super(e,i)}target_list(){return this.getRuleContext(0,Cc)}get ruleIndex(){return t.RULE_opt_target_list}enterRule(e){e.enterOpt_target_list&&e.enterOpt_target_list(this)}exitRule(e){e.exitOpt_target_list&&e.exitOpt_target_list(this)}accept(e){return e.visitOpt_target_list?e.visitOpt_target_list(this):e.visitChildren(this)}}class Cc extends u{constructor(e,i){super(e,i)}target_el(e){return e===void 0?this.getRuleContexts(m1):this.getRuleContext(e,m1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_target_list}enterRule(e){e.enterTarget_list&&e.enterTarget_list(this)}exitRule(e){e.exitTarget_list&&e.exitTarget_list(this)}accept(e){return e.visitTarget_list?e.visitTarget_list(this):e.visitChildren(this)}}class m1 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_target_el}copyFrom(e){super.copyFrom(e)}}class JT extends m1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}column_expr_noparen(){return this.getRuleContext(0,v0)}KW_AS(){return this.getToken(t.KW_AS,0)}collabel(){return this.getRuleContext(0,Yt)}identifier(){return this.getRuleContext(0,It)}enterRule(e){e.enterTarget_label&&e.enterTarget_label(this)}exitRule(e){e.exitTarget_label&&e.exitTarget_label(this)}accept(e){return e.visitTarget_label?e.visitTarget_label(this):e.visitChildren(this)}}class $T extends m1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}STAR(){return this.getToken(t.STAR,0)}enterRule(e){e.enterTarget_star&&e.enterTarget_star(this)}exitRule(e){e.exitTarget_star&&e.exitTarget_star(this)}accept(e){return e.visitTarget_star?e.visitTarget_star(this):e.visitChildren(this)}}class I1 extends u{constructor(e,i){super(e,i)}qualified_name(e){return e===void 0?this.getRuleContexts(ot):this.getRuleContext(e,ot)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_qualified_name_list}enterRule(e){e.enterQualified_name_list&&e.enterQualified_name_list(this)}exitRule(e){e.exitQualified_name_list&&e.exitQualified_name_list(this)}accept(e){return e.visitQualified_name_list?e.visitQualified_name_list(this):e.visitChildren(this)}}class w5 extends u{constructor(e,i){super(e,i)}table_name(e){return e===void 0?this.getRuleContexts(Lt):this.getRuleContext(e,Lt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_table_name_list}enterRule(e){e.enterTable_name_list&&e.enterTable_name_list(this)}exitRule(e){e.exitTable_name_list&&e.exitTable_name_list(this)}accept(e){return e.visitTable_name_list?e.visitTable_name_list(this):e.visitChildren(this)}}class pc extends u{constructor(e,i){super(e,i)}schema_name(e){return e===void 0?this.getRuleContexts(Jt):this.getRuleContext(e,Jt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_schema_name_list}enterRule(e){e.enterSchema_name_list&&e.enterSchema_name_list(this)}exitRule(e){e.exitSchema_name_list&&e.exitSchema_name_list(this)}accept(e){return e.visitSchema_name_list?e.visitSchema_name_list(this):e.visitChildren(this)}}class cK extends u{constructor(e,i){super(e,i)}database_name(e){return e===void 0?this.getRuleContexts(he):this.getRuleContext(e,he)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_database_nameList}enterRule(e){e.enterDatabase_nameList&&e.enterDatabase_nameList(this)}exitRule(e){e.exitDatabase_nameList&&e.exitDatabase_nameList(this)}accept(e){return e.visitDatabase_nameList?e.visitDatabase_nameList(this):e.visitChildren(this)}}class ST extends u{constructor(e,i){super(e,i)}procedure_name(e){return e===void 0?this.getRuleContexts(G0):this.getRuleContext(e,G0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_procedure_name_list}enterRule(e){e.enterProcedure_name_list&&e.enterProcedure_name_list(this)}exitRule(e){e.exitProcedure_name_list&&e.exitProcedure_name_list(this)}accept(e){return e.visitProcedure_name_list?e.visitProcedure_name_list(this):e.visitChildren(this)}}class Ni extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tablespace_name_create}copyFrom(e){super.copyFrom(e)}}class gT extends Ni{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterTablespaceNameCreate&&e.enterTablespaceNameCreate(this)}exitRule(e){e.exitTablespaceNameCreate&&e.exitTablespaceNameCreate(this)}accept(e){return e.visitTablespaceNameCreate?e.visitTablespaceNameCreate(this):e.visitChildren(this)}}class jt extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tablespace_name}copyFrom(e){super.copyFrom(e)}}class qT extends jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterTablespaceName&&e.enterTablespaceName(this)}exitRule(e){e.exitTablespaceName&&e.exitTablespaceName(this)}accept(e){return e.visitTablespaceName?e.visitTablespaceName(this):e.visitChildren(this)}}class a0 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_table_name_create}copyFrom(e){super.copyFrom(e)}}class PT extends a0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterTableNameCreate&&e.enterTableNameCreate(this)}exitRule(e){e.exitTableNameCreate&&e.exitTableNameCreate(this)}accept(e){return e.visitTableNameCreate?e.visitTableNameCreate(this):e.visitChildren(this)}}class Lt extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_table_name}copyFrom(e){super.copyFrom(e)}}class tl extends Lt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterTableName&&e.enterTableName(this)}exitRule(e){e.exitTableName&&e.exitTableName(this)}accept(e){return e.visitTableName?e.visitTableName(this):e.visitChildren(this)}}class f1 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_view_name_create}copyFrom(e){super.copyFrom(e)}}class el extends f1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterViewNameCreate&&e.enterViewNameCreate(this)}exitRule(e){e.exitViewNameCreate&&e.exitViewNameCreate(this)}accept(e){return e.visitViewNameCreate?e.visitViewNameCreate(this):e.visitChildren(this)}}class le extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_view_name}copyFrom(e){super.copyFrom(e)}}class il extends le{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}enterRule(e){e.enterViewName&&e.enterViewName(this)}exitRule(e){e.exitViewName&&e.exitViewName(this)}accept(e){return e.visitViewName?e.visitViewName(this):e.visitChildren(this)}}class ot extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_qualified_name}enterRule(e){e.enterQualified_name&&e.enterQualified_name(this)}exitRule(e){e.exitQualified_name&&e.exitQualified_name(this)}accept(e){return e.visitQualified_name?e.visitQualified_name(this):e.visitChildren(this)}}class aK extends u{constructor(e,i){super(e,i)}tablespace_name(e){return e===void 0?this.getRuleContexts(jt):this.getRuleContext(e,jt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tablespace_name_list}enterRule(e){e.enterTablespace_name_list&&e.enterTablespace_name_list(this)}exitRule(e){e.exitTablespace_name_list&&e.exitTablespace_name_list(this)}accept(e){return e.visitTablespace_name_list?e.visitTablespace_name_list(this):e.visitChildren(this)}}class mi extends u{constructor(e,i){super(e,i)}name(e){return e===void 0?this.getRuleContexts(D):this.getRuleContext(e,D)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_name_list}enterRule(e){e.enterName_list&&e.enterName_list(this)}exitRule(e){e.exitName_list&&e.exitName_list(this)}accept(e){return e.visitName_list?e.visitName_list(this):e.visitChildren(this)}}class dc extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_database_name_create}copyFrom(e){super.copyFrom(e)}}class nl extends dc{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}enterRule(e){e.enterDatabaseNameCreate&&e.enterDatabaseNameCreate(this)}exitRule(e){e.exitDatabaseNameCreate&&e.exitDatabaseNameCreate(this)}accept(e){return e.visitDatabaseNameCreate?e.visitDatabaseNameCreate(this):e.visitChildren(this)}}class he extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_database_name}copyFrom(e){super.copyFrom(e)}}class sl extends he{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}enterRule(e){e.enterDatabaseName&&e.enterDatabaseName(this)}exitRule(e){e.exitDatabaseName&&e.exitDatabaseName(this)}accept(e){return e.visitDatabaseName?e.visitDatabaseName(this):e.visitChildren(this)}}class Jt extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_schema_name}copyFrom(e){super.copyFrom(e)}}class hl extends Jt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}attrs(){return this.getRuleContext(0,oe)}enterRule(e){e.enterSchemaName&&e.enterSchemaName(this)}exitRule(e){e.exitSchemaName&&e.exitSchemaName(this)}accept(e){return e.visitSchemaName?e.visitSchemaName(this):e.visitChildren(this)}}class b5 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_routine_name_create}copyFrom(e){super.copyFrom(e)}}class cl extends b5{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}enterRule(e){e.enterRoutineNameCreate&&e.enterRoutineNameCreate(this)}exitRule(e){e.exitRoutineNameCreate&&e.exitRoutineNameCreate(this)}accept(e){return e.visitRoutineNameCreate?e.visitRoutineNameCreate(this):e.visitChildren(this)}}class Oc extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_routine_name}copyFrom(e){super.copyFrom(e)}}class al extends Oc{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}enterRule(e){e.enterRoutineName&&e.enterRoutineName(this)}exitRule(e){e.exitRoutineName&&e.exitRoutineName(this)}accept(e){return e.visitRoutineName?e.visitRoutineName(this):e.visitChildren(this)}}class G0 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_procedure_name}copyFrom(e){super.copyFrom(e)}}class uK extends G0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,u0)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterProcedureName&&e.enterProcedureName(this)}exitRule(e){e.exitProcedureName&&e.exitProcedureName(this)}accept(e){return e.visitProcedureName?e.visitProcedureName(this):e.visitChildren(this)}}class U1 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_procedure_name_create}copyFrom(e){super.copyFrom(e)}}class EK extends U1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,u0)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterProcedureNameCreate&&e.enterProcedureNameCreate(this)}exitRule(e){e.exitProcedureNameCreate&&e.exitProcedureNameCreate(this)}accept(e){return e.visitProcedureNameCreate?e.visitProcedureNameCreate(this):e.visitChildren(this)}}class Wt extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_column_name}copyFrom(e){super.copyFrom(e)}}class ul extends Wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}enterRule(e){e.enterColumnNameMatch&&e.enterColumnNameMatch(this)}exitRule(e){e.exitColumnNameMatch&&e.exitColumnNameMatch(this)}accept(e){return e.visitColumnNameMatch?e.visitColumnNameMatch(this):e.visitChildren(this)}}class El extends Wt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}indirection_el(e){return e===void 0?this.getRuleContexts(F0):this.getRuleContext(e,F0)}enterRule(e){e.enterColumnName&&e.enterColumnName(this)}exitRule(e){e.exitColumnName&&e.exitColumnName(this)}accept(e){return e.visitColumnName?e.visitColumnName(this):e.visitChildren(this)}}class B0 extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_column_name_create}copyFrom(e){super.copyFrom(e)}}class _l extends B0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,H)}enterRule(e){e.enterColumnNameCreate&&e.enterColumnNameCreate(this)}exitRule(e){e.exitColumnNameCreate&&e.exitColumnNameCreate(this)}accept(e){return e.visitColumnNameCreate?e.visitColumnNameCreate(this):e.visitChildren(this)}}class D extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_name}enterRule(e){e.enterName&&e.enterName(this)}exitRule(e){e.exitName&&e.exitName(this)}accept(e){return e.visitName?e.visitName(this):e.visitChildren(this)}}class k1 extends u{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,Yt)}get ruleIndex(){return t.RULE_attr_name}enterRule(e){e.enterAttr_name&&e.enterAttr_name(this)}exitRule(e){e.exitAttr_name&&e.exitAttr_name(this)}accept(e){return e.visitAttr_name?e.visitAttr_name(this):e.visitChildren(this)}}class _K extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_file_name}enterRule(e){e.enterFile_name&&e.enterFile_name(this)}exitRule(e){e.exitFile_name&&e.exitFile_name(this)}accept(e){return e.visitFile_name?e.visitFile_name(this):e.visitChildren(this)}}class Lc extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_function_name_create}copyFrom(e){super.copyFrom(e)}}class WK extends Lc{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,u0)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterFunctionNameCreate&&e.enterFunctionNameCreate(this)}exitRule(e){e.exitFunctionNameCreate&&e.exitFunctionNameCreate(this)}accept(e){return e.visitFunctionNameCreate?e.visitFunctionNameCreate(this):e.visitChildren(this)}}class Ve extends u{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_function_name}copyFrom(e){super.copyFrom(e)}}class KK extends Ve{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,u0)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}enterRule(e){e.enterFunctionName&&e.enterFunctionName(this)}exitRule(e){e.exitFunctionName&&e.exitFunctionName(this)}accept(e){return e.visitFunctionName?e.visitFunctionName(this):e.visitChildren(this)}}class Wl extends u{constructor(e,i){super(e,i)}type_usual_name(){return this.getRuleContext(0,lK)}colid(){return this.getRuleContext(0,H)}indirection(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_usual_name}enterRule(e){e.enterUsual_name&&e.enterUsual_name(this)}exitRule(e){e.exitUsual_name&&e.exitUsual_name(this)}accept(e){return e.visitUsual_name?e.visitUsual_name(this):e.visitChildren(this)}}class RK extends u{constructor(e,i){super(e,i)}iconst(){return this.getRuleContext(0,At)}fconst(){return this.getRuleContext(0,D1)}sconst(){return this.getRuleContext(0,Y)}bconst(){return this.getRuleContext(0,AK)}xconst(){return this.getRuleContext(0,oK)}function_name(){return this.getRuleContext(0,Ve)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}func_arg_list(){return this.getRuleContext(0,k5)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_sort_clause(){return this.getRuleContext(0,L1)}consttypename(){return this.getRuleContext(0,EW)}constinterval(){return this.getRuleContext(0,Ec)}opt_interval(){return this.getRuleContext(0,_c)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_aexprconst}enterRule(e){e.enterAexprconst&&e.enterAexprconst(this)}exitRule(e){e.exitAexprconst&&e.exitAexprconst(this)}accept(e){return e.visitAexprconst?e.visitAexprconst(this):e.visitChildren(this)}}class oK extends u{constructor(e,i){super(e,i)}HexadecimalStringConstant(){return this.getToken(t.HexadecimalStringConstant,0)}get ruleIndex(){return t.RULE_xconst}enterRule(e){e.enterXconst&&e.enterXconst(this)}exitRule(e){e.exitXconst&&e.exitXconst(this)}accept(e){return e.visitXconst?e.visitXconst(this):e.visitChildren(this)}}class AK extends u{constructor(e,i){super(e,i)}BinaryStringConstant(){return this.getToken(t.BinaryStringConstant,0)}get ruleIndex(){return t.RULE_bconst}enterRule(e){e.enterBconst&&e.enterBconst(this)}exitRule(e){e.exitBconst&&e.exitBconst(this)}accept(e){return e.visitBconst?e.visitBconst(this):e.visitChildren(this)}}class D1 extends u{constructor(e,i){super(e,i)}Numeric(){return this.getToken(t.Numeric,0)}get ruleIndex(){return t.RULE_fconst}enterRule(e){e.enterFconst&&e.enterFconst(this)}exitRule(e){e.exitFconst&&e.exitFconst(this)}accept(e){return e.visitFconst?e.visitFconst(this):e.visitChildren(this)}}class At extends u{constructor(e,i){super(e,i)}Integral(){return this.getToken(t.Integral,0)}get ruleIndex(){return t.RULE_iconst}enterRule(e){e.enterIconst&&e.enterIconst(this)}exitRule(e){e.exitIconst&&e.exitIconst(this)}accept(e){return e.visitIconst?e.visitIconst(this):e.visitChildren(this)}}class Y extends u{constructor(e,i){super(e,i)}anysconst(){return this.getRuleContext(0,v5)}opt_uescape(){return this.getRuleContext(0,F5)}get ruleIndex(){return t.RULE_sconst}enterRule(e){e.enterSconst&&e.enterSconst(this)}exitRule(e){e.exitSconst&&e.exitSconst(this)}accept(e){return e.visitSconst?e.visitSconst(this):e.visitChildren(this)}}class v5 extends u{constructor(e,i){super(e,i)}StringConstant(){return this.getToken(t.StringConstant,0)}UnicodeEscapeStringConstant(){return this.getToken(t.UnicodeEscapeStringConstant,0)}BeginDollarStringConstant(){return this.getToken(t.BeginDollarStringConstant,0)}EndDollarStringConstant(){return this.getToken(t.EndDollarStringConstant,0)}DollarText(e){return e===void 0?this.getTokens(t.DollarText):this.getToken(t.DollarText,e)}EscapeStringConstant(){return this.getToken(t.EscapeStringConstant,0)}get ruleIndex(){return t.RULE_anysconst}enterRule(e){e.enterAnysconst&&e.enterAnysconst(this)}exitRule(e){e.exitAnysconst&&e.exitAnysconst(this)}accept(e){return e.visitAnysconst?e.visitAnysconst(this):e.visitChildren(this)}}class F5 extends u{constructor(e,i){super(e,i)}KW_UESCAPE(){return this.getToken(t.KW_UESCAPE,0)}anysconst(){return this.getRuleContext(0,v5)}get ruleIndex(){return t.RULE_opt_uescape}enterRule(e){e.enterOpt_uescape&&e.enterOpt_uescape(this)}exitRule(e){e.exitOpt_uescape&&e.exitOpt_uescape(this)}accept(e){return e.visitOpt_uescape?e.visitOpt_uescape(this):e.visitChildren(this)}}class V0 extends u{constructor(e,i){super(e,i)}iconst(){return this.getRuleContext(0,At)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}get ruleIndex(){return t.RULE_signediconst}enterRule(e){e.enterSignediconst&&e.enterSignediconst(this)}exitRule(e){e.exitSignediconst&&e.exitSignediconst(this)}accept(e){return e.visitSignediconst?e.visitSignediconst(this):e.visitChildren(this)}}class TK extends u{constructor(e,i){super(e,i)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_groupname}enterRule(e){e.enterGroupname&&e.enterGroupname(this)}exitRule(e){e.exitGroupname&&e.exitGroupname(this)}accept(e){return e.visitGroupname?e.visitGroupname(this):e.visitChildren(this)}}class M1 extends u{constructor(e,i){super(e,i)}rolespec(){return this.getRuleContext(0,rt)}get ruleIndex(){return t.RULE_roleid}enterRule(e){e.enterRoleid&&e.enterRoleid(this)}exitRule(e){e.exitRoleid&&e.exitRoleid(this)}accept(e){return e.visitRoleid?e.visitRoleid(this):e.visitChildren(this)}}class rt extends u{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,Ii)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_CURRENT_ROLE(){return this.getToken(t.KW_CURRENT_ROLE,0)}KW_SESSION_USER(){return this.getToken(t.KW_SESSION_USER,0)}KW_PUBLIC(){return this.getToken(t.KW_PUBLIC,0)}get ruleIndex(){return t.RULE_rolespec}enterRule(e){e.enterRolespec&&e.enterRolespec(this)}exitRule(e){e.exitRolespec&&e.exitRolespec(this)}accept(e){return e.visitRolespec?e.visitRolespec(this):e.visitChildren(this)}}class ce extends u{constructor(e,i){super(e,i)}rolespec(e){return e===void 0?this.getRuleContexts(rt):this.getRuleContext(e,rt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_role_list}enterRule(e){e.enterRole_list&&e.enterRole_list(this)}exitRule(e){e.exitRole_list&&e.exitRole_list(this)}accept(e){return e.visitRole_list?e.visitRole_list(this):e.visitChildren(this)}}class H extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}unreserved_keyword(){return this.getRuleContext(0,Y0)}col_name_keyword(){return this.getRuleContext(0,xc)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}get ruleIndex(){return t.RULE_colid}enterRule(e){e.enterColid&&e.enterColid(this)}exitRule(e){e.exitColid&&e.exitColid(this)}accept(e){return e.visitColid?e.visitColid(this):e.visitChildren(this)}}class Kl extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}get ruleIndex(){return t.RULE_index_method_choices}enterRule(e){e.enterIndex_method_choices&&e.enterIndex_method_choices(this)}exitRule(e){e.exitIndex_method_choices&&e.exitIndex_method_choices(this)}accept(e){return e.visitIndex_method_choices?e.visitIndex_method_choices(this):e.visitChildren(this)}}class Rl extends u{constructor(e,i){super(e,i)}opt_definition(){return this.getRuleContext(0,b0)}identifier(){return this.getRuleContext(0,It)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(){return this.getRuleContext(0,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_asc_desc(){return this.getRuleContext(0,Yh)}opt_nulls_order(){return this.getRuleContext(0,Xh)}get ruleIndex(){return t.RULE_exclude_element}enterRule(e){e.enterExclude_element&&e.enterExclude_element(this)}exitRule(e){e.exitExclude_element&&e.exitExclude_element(this)}accept(e){return e.visitExclude_element?e.visitExclude_element(this):e.visitChildren(this)}}class ol extends u{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}reloptions(){return this.getRuleContext(0,H0)}optconstablespace(){return this.getRuleContext(0,W1)}get ruleIndex(){return t.RULE_index_paramenters}enterRule(e){e.enterIndex_paramenters&&e.enterIndex_paramenters(this)}exitRule(e){e.exitIndex_paramenters&&e.exitIndex_paramenters(this)}accept(e){return e.visitIndex_paramenters?e.visitIndex_paramenters(this):e.visitChildren(this)}}class u0 extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}unreserved_keyword(){return this.getRuleContext(0,Y0)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}get ruleIndex(){return t.RULE_type_function_name}enterRule(e){e.enterType_function_name&&e.enterType_function_name(this)}exitRule(e){e.exitType_function_name&&e.exitType_function_name(this)}accept(e){return e.visitType_function_name?e.visitType_function_name(this):e.visitChildren(this)}}class lK extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}unreserved_keyword(){return this.getRuleContext(0,Y0)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}get ruleIndex(){return t.RULE_type_usual_name}enterRule(e){e.enterType_usual_name&&e.enterType_usual_name(this)}exitRule(e){e.exitType_usual_name&&e.exitType_usual_name(this)}accept(e){return e.visitType_usual_name?e.visitType_usual_name(this):e.visitChildren(this)}}class rK extends u{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Wt)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}get ruleIndex(){return t.RULE_nonreservedword_column}enterRule(e){e.enterNonreservedword_column&&e.enterNonreservedword_column(this)}exitRule(e){e.exitNonreservedword_column&&e.exitNonreservedword_column(this)}accept(e){return e.visitNonreservedword_column?e.visitNonreservedword_column(this):e.visitChildren(this)}}class Ii extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}unreserved_keyword(){return this.getRuleContext(0,Y0)}col_name_keyword(){return this.getRuleContext(0,xc)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}get ruleIndex(){return t.RULE_nonreservedword}enterRule(e){e.enterNonreservedword&&e.enterNonreservedword(this)}exitRule(e){e.exitNonreservedword&&e.exitNonreservedword(this)}accept(e){return e.visitNonreservedword?e.visitNonreservedword(this):e.visitChildren(this)}}class Yt extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}unreserved_keyword(){return this.getRuleContext(0,Y0)}col_name_keyword(){return this.getRuleContext(0,xc)}type_func_name_keyword(){return this.getRuleContext(0,Ye)}reserved_keyword(){return this.getRuleContext(0,y1)}get ruleIndex(){return t.RULE_collabel}enterRule(e){e.enterCollabel&&e.enterCollabel(this)}exitRule(e){e.exitCollabel&&e.exitCollabel(this)}accept(e){return e.visitCollabel?e.visitCollabel(this):e.visitChildren(this)}}class It extends u{constructor(e,i){super(e,i)}Identifier(){return this.getToken(t.Identifier,0)}opt_uescape(){return this.getRuleContext(0,F5)}sconst(){return this.getRuleContext(0,Y)}QuotedIdentifier(){return this.getToken(t.QuotedIdentifier,0)}UnicodeQuotedIdentifier(){return this.getToken(t.UnicodeQuotedIdentifier,0)}plsqlvariablename(){return this.getRuleContext(0,l5)}plsqlidentifier(){return this.getRuleContext(0,CK)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}get ruleIndex(){return t.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}}class CK extends u{constructor(e,i){super(e,i)}PLSQLIDENTIFIER(){return this.getToken(t.PLSQLIDENTIFIER,0)}get ruleIndex(){return t.RULE_plsqlidentifier}enterRule(e){e.enterPlsqlidentifier&&e.enterPlsqlidentifier(this)}exitRule(e){e.exitPlsqlidentifier&&e.exitPlsqlidentifier(this)}accept(e){return e.visitPlsqlidentifier?e.visitPlsqlidentifier(this):e.visitChildren(this)}}class Y0 extends u{constructor(e,i){super(e,i)}KW_ABORT(){return this.getToken(t.KW_ABORT,0)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}KW_ALSO(){return this.getToken(t.KW_ALSO,0)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_ASSERTION(){return this.getToken(t.KW_ASSERTION,0)}KW_ASSIGNMENT(){return this.getToken(t.KW_ASSIGNMENT,0)}KW_AT(){return this.getToken(t.KW_AT,0)}KW_ATTACH(){return this.getToken(t.KW_ATTACH,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_BUFFER_USAGE_LIMIT(){return this.getToken(t.KW_BUFFER_USAGE_LIMIT,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_CALL(){return this.getToken(t.KW_CALL,0)}KW_CALLED(){return this.getToken(t.KW_CALLED,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_CATALOG(){return this.getToken(t.KW_CATALOG,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_CHARACTERISTICS(){return this.getToken(t.KW_CHARACTERISTICS,0)}KW_CHECKPOINT(){return this.getToken(t.KW_CHECKPOINT,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}KW_CLUSTER(){return this.getToken(t.KW_CLUSTER,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_COMMENTS(){return this.getToken(t.KW_COMMENTS,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_CONFLICT(){return this.getToken(t.KW_CONFLICT,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_CONSTRAINTS(){return this.getToken(t.KW_CONSTRAINTS,0)}KW_CONTENT(){return this.getToken(t.KW_CONTENT,0)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_COPY(){return this.getToken(t.KW_COPY,0)}KW_COST(){return this.getToken(t.KW_COST,0)}KW_CSV(){return this.getToken(t.KW_CSV,0)}KW_CUBE(){return this.getToken(t.KW_CUBE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}KW_CYCLE(){return this.getToken(t.KW_CYCLE,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_DEFAULTS(){return this.getToken(t.KW_DEFAULTS,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_DELIMITER(){return this.getToken(t.KW_DELIMITER,0)}KW_DELIMITERS(){return this.getToken(t.KW_DELIMITERS,0)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_DETACH(){return this.getToken(t.KW_DETACH,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_DOUBLE(){return this.getToken(t.KW_DOUBLE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_EACH(){return this.getToken(t.KW_EACH,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_ENCODING(){return this.getToken(t.KW_ENCODING,0)}KW_ENCRYPTED(){return this.getToken(t.KW_ENCRYPTED,0)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_EXCLUDE(){return this.getToken(t.KW_EXCLUDE,0)}KW_EXCLUDING(){return this.getToken(t.KW_EXCLUDING,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_EXPRESSION(){return this.getToken(t.KW_EXPRESSION,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_FOLLOWING(){return this.getToken(t.KW_FOLLOWING,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(t.KW_FUNCTIONS,0)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_GRANTED(){return this.getToken(t.KW_GRANTED,0)}KW_GROUPS(){return this.getToken(t.KW_GROUPS,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_HEADER(){return this.getToken(t.KW_HEADER,0)}KW_HOLD(){return this.getToken(t.KW_HOLD,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}KW_IMMUTABLE(){return this.getToken(t.KW_IMMUTABLE,0)}KW_IMPLICIT(){return this.getToken(t.KW_IMPLICIT,0)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}KW_INCLUDING(){return this.getToken(t.KW_INCLUDING,0)}KW_INCREMENT(){return this.getToken(t.KW_INCREMENT,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}KW_INHERITS(){return this.getToken(t.KW_INHERITS,0)}KW_INLINE(){return this.getToken(t.KW_INLINE,0)}KW_INPUT(){return this.getToken(t.KW_INPUT,0)}KW_INSENSITIVE(){return this.getToken(t.KW_INSENSITIVE,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_INSTEAD(){return this.getToken(t.KW_INSTEAD,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_LABEL(){return this.getToken(t.KW_LABEL,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_LEAKPROOF(){return this.getToken(t.KW_LEAKPROOF,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_LISTEN(){return this.getToken(t.KW_LISTEN,0)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_LOCATION(){return this.getToken(t.KW_LOCATION,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_LOCKED(){return this.getToken(t.KW_LOCKED,0)}KW_LOGGED(){return this.getToken(t.KW_LOGGED,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_MATCH(){return this.getToken(t.KW_MATCH,0)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}KW_MINVALUE(){return this.getToken(t.KW_MINVALUE,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}KW_NEW(){return this.getToken(t.KW_NEW,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_NFC(){return this.getToken(t.KW_NFC,0)}KW_NFD(){return this.getToken(t.KW_NFD,0)}KW_NFKC(){return this.getToken(t.KW_NFKC,0)}KW_NFKD(){return this.getToken(t.KW_NFKD,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_NORMALIZED(){return this.getToken(t.KW_NORMALIZED,0)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}KW_NOTIFY(){return this.getToken(t.KW_NOTIFY,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}KW_OF(){return this.getToken(t.KW_OF,0)}KW_OFF(){return this.getToken(t.KW_OFF,0)}KW_OIDS(){return this.getToken(t.KW_OIDS,0)}KW_OLD(){return this.getToken(t.KW_OLD,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}KW_OTHERS(){return this.getToken(t.KW_OTHERS,0)}KW_OVER(){return this.getToken(t.KW_OVER,0)}KW_OVERRIDING(){return this.getToken(t.KW_OVERRIDING,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_PARALLEL(){return this.getToken(t.KW_PARALLEL,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_PASSING(){return this.getToken(t.KW_PASSING,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_PLANS(){return this.getToken(t.KW_PLANS,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_PRECEDING(){return this.getToken(t.KW_PRECEDING,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}KW_PREPARED(){return this.getToken(t.KW_PREPARED,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_PROCEDURES(){return this.getToken(t.KW_PROCEDURES,0)}KW_PROGRAM(){return this.getToken(t.KW_PROGRAM,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_QUOTE(){return this.getToken(t.KW_QUOTE,0)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_REASSIGN(){return this.getToken(t.KW_REASSIGN,0)}KW_RECHECK(){return this.getToken(t.KW_RECHECK,0)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}KW_REF(){return this.getToken(t.KW_REF,0)}KW_REFERENCING(){return this.getToken(t.KW_REFERENCING,0)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_REINDEX(){return this.getToken(t.KW_REINDEX,0)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}KW_ROUTINES(){return this.getToken(t.KW_ROUTINES,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(t.KW_SCHEMAS,0)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SETS(){return this.getToken(t.KW_SETS,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}KW_SKIP_LOCKED(){return this.getToken(t.KW_SKIP_LOCKED,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_STABLE(){return this.getToken(t.KW_STABLE,0)}KW_STANDALONE(){return this.getToken(t.KW_STANDALONE,0)}KW_START(){return this.getToken(t.KW_START,0)}KW_STATEMENT(){return this.getToken(t.KW_STATEMENT,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_STDIN(){return this.getToken(t.KW_STDIN,0)}KW_STDOUT(){return this.getToken(t.KW_STDOUT,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_STORED(){return this.getToken(t.KW_STORED,0)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}KW_STRIP(){return this.getToken(t.KW_STRIP,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_SUPPORT(){return this.getToken(t.KW_SUPPORT,0)}KW_SYSID(){return this.getToken(t.KW_SYSID,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_TIES(){return this.getToken(t.KW_TIES,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_TRUSTED(){return this.getToken(t.KW_TRUSTED,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_TYPES(){return this.getToken(t.KW_TYPES,0)}KW_UESCAPE(){return this.getToken(t.KW_UESCAPE,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_UNENCRYPTED(){return this.getToken(t.KW_UNENCRYPTED,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_UNLISTEN(){return this.getToken(t.KW_UNLISTEN,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_VACUUM(){return this.getToken(t.KW_VACUUM,0)}KW_VALID(){return this.getToken(t.KW_VALID,0)}KW_VALIDATE(){return this.getToken(t.KW_VALIDATE,0)}KW_VALIDATOR(){return this.getToken(t.KW_VALIDATOR,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}KW_VIEWS(){return this.getToken(t.KW_VIEWS,0)}KW_VOLATILE(){return this.getToken(t.KW_VOLATILE,0)}KW_WHITESPACE(){return this.getToken(t.KW_WHITESPACE,0)}KW_WITHIN(){return this.getToken(t.KW_WITHIN,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_YES(){return this.getToken(t.KW_YES,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}get ruleIndex(){return t.RULE_unreserved_keyword}enterRule(e){e.enterUnreserved_keyword&&e.enterUnreserved_keyword(this)}exitRule(e){e.exitUnreserved_keyword&&e.exitUnreserved_keyword(this)}accept(e){return e.visitUnreserved_keyword?e.visitUnreserved_keyword(this):e.visitChildren(this)}}class xc extends u{constructor(e,i){super(e,i)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_BIGINT(){return this.getToken(t.KW_BIGINT,0)}bit(){return this.getRuleContext(0,n5)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}character(){return this.getRuleContext(0,c5)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}KW_EXTRACT(){return this.getToken(t.KW_EXTRACT,0)}KW_FLOAT(){return this.getToken(t.KW_FLOAT,0)}KW_GREATEST(){return this.getToken(t.KW_GREATEST,0)}KW_GROUPING(){return this.getToken(t.KW_GROUPING,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}KW_LEAST(){return this.getToken(t.KW_LEAST,0)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_NORMALIZE(){return this.getToken(t.KW_NORMALIZE,0)}KW_NULLIF(){return this.getToken(t.KW_NULLIF,0)}numeric(){return this.getRuleContext(0,ac)}KW_OUT(){return this.getToken(t.KW_OUT,0)}KW_OVERLAY(){return this.getToken(t.KW_OVERLAY,0)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}KW_PRECISION(){return this.getToken(t.KW_PRECISION,0)}KW_REAL(){return this.getToken(t.KW_REAL,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_SETOF(){return this.getToken(t.KW_SETOF,0)}KW_SMALLINT(){return this.getToken(t.KW_SMALLINT,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_TREAT(){return this.getToken(t.KW_TREAT,0)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_XMLATTRIBUTES(){return this.getToken(t.KW_XMLATTRIBUTES,0)}KW_XMLCONCAT(){return this.getToken(t.KW_XMLCONCAT,0)}KW_XMLELEMENT(){return this.getToken(t.KW_XMLELEMENT,0)}KW_XMLEXISTS(){return this.getToken(t.KW_XMLEXISTS,0)}KW_XMLFOREST(){return this.getToken(t.KW_XMLFOREST,0)}KW_XMLNAMESPACES(){return this.getToken(t.KW_XMLNAMESPACES,0)}KW_XMLPARSE(){return this.getToken(t.KW_XMLPARSE,0)}KW_XMLPI(){return this.getToken(t.KW_XMLPI,0)}KW_XMLROOT(){return this.getToken(t.KW_XMLROOT,0)}KW_XMLSERIALIZE(){return this.getToken(t.KW_XMLSERIALIZE,0)}KW_XMLTABLE(){return this.getToken(t.KW_XMLTABLE,0)}get ruleIndex(){return t.RULE_col_name_keyword}enterRule(e){e.enterCol_name_keyword&&e.enterCol_name_keyword(this)}exitRule(e){e.exitCol_name_keyword&&e.exitCol_name_keyword(this)}accept(e){return e.visitCol_name_keyword?e.visitCol_name_keyword(this):e.visitChildren(this)}}class Ye extends u{constructor(e,i){super(e,i)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}KW_CROSS(){return this.getToken(t.KW_CROSS,0)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}KW_FREEZE(){return this.getToken(t.KW_FREEZE,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_ILIKE(){return this.getToken(t.KW_ILIKE,0)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_ISNULL(){return this.getToken(t.KW_ISNULL,0)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_NATURAL(){return this.getToken(t.KW_NATURAL,0)}KW_NOTNULL(){return this.getToken(t.KW_NOTNULL,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}KW_OVERLAPS(){return this.getToken(t.KW_OVERLAPS,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_SIMILAR(){return this.getToken(t.KW_SIMILAR,0)}KW_TABLESAMPLE(){return this.getToken(t.KW_TABLESAMPLE,0)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}get ruleIndex(){return t.RULE_type_func_name_keyword}enterRule(e){e.enterType_func_name_keyword&&e.enterType_func_name_keyword(this)}exitRule(e){e.exitType_func_name_keyword&&e.exitType_func_name_keyword(this)}accept(e){return e.visitType_func_name_keyword?e.visitType_func_name_keyword(this):e.visitChildren(this)}}class y1 extends u{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_ANALYSE(){return this.getToken(t.KW_ANALYSE,0)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_ASYMMETRIC(){return this.getToken(t.KW_ASYMMETRIC,0)}KW_BOTH(){return this.getToken(t.KW_BOTH,0)}KW_CASE(){return this.getToken(t.KW_CASE,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CURRENT_CATALOG(){return this.getToken(t.KW_CURRENT_CATALOG,0)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_ROLE(){return this.getToken(t.KW_CURRENT_ROLE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}KW_END(){return this.getToken(t.KW_END,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_HAVING(){return this.getToken(t.KW_HAVING,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_INITIALLY(){return this.getToken(t.KW_INITIALLY,0)}KW_INTERSECT(){return this.getToken(t.KW_INTERSECT,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}KW_LEADING(){return this.getToken(t.KW_LEADING,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_PLACING(){return this.getToken(t.KW_PLACING,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_SESSION_USER(){return this.getToken(t.KW_SESSION_USER,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}KW_SYMMETRIC(){return this.getToken(t.KW_SYMMETRIC,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_TRAILING(){return this.getToken(t.KW_TRAILING,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_UNION(){return this.getToken(t.KW_UNION,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_VARIADIC(){return this.getToken(t.KW_VARIADIC,0)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}get ruleIndex(){return t.RULE_reserved_keyword}enterRule(e){e.enterReserved_keyword&&e.enterReserved_keyword(this)}exitRule(e){e.exitReserved_keyword&&e.exitReserved_keyword(this)}accept(e){return e.visitReserved_keyword?e.visitReserved_keyword(this):e.visitChildren(this)}}class pK extends u{constructor(e,i){super(e,i)}comp_options(){return this.getRuleContext(0,dK)}pl_block(){return this.getRuleContext(0,B5)}opt_semi(){return this.getRuleContext(0,xK)}get ruleIndex(){return t.RULE_pl_function}enterRule(e){e.enterPl_function&&e.enterPl_function(this)}exitRule(e){e.exitPl_function&&e.exitPl_function(this)}accept(e){return e.visitPl_function?e.visitPl_function(this):e.visitChildren(this)}}class dK extends u{constructor(e,i){super(e,i)}comp_option(e){return e===void 0?this.getRuleContexts(G5):this.getRuleContext(e,G5)}get ruleIndex(){return t.RULE_comp_options}enterRule(e){e.enterComp_options&&e.enterComp_options(this)}exitRule(e){e.exitComp_options&&e.exitComp_options(this)}accept(e){return e.visitComp_options?e.visitComp_options(this):e.visitChildren(this)}}class G5 extends u{constructor(e,i){super(e,i)}sharp(){return this.getRuleContext(0,OK)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_DUMP(){return this.getToken(t.KW_DUMP,0)}KW_PRINT_STRICT_PARAMS(){return this.getToken(t.KW_PRINT_STRICT_PARAMS,0)}option_value(){return this.getRuleContext(0,LK)}KW_VARIABLE_CONFLICT(){return this.getToken(t.KW_VARIABLE_CONFLICT,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_USE_VARIABLE(){return this.getToken(t.KW_USE_VARIABLE,0)}KW_USE_COLUMN(){return this.getToken(t.KW_USE_COLUMN,0)}get ruleIndex(){return t.RULE_comp_option}enterRule(e){e.enterComp_option&&e.enterComp_option(this)}exitRule(e){e.exitComp_option&&e.exitComp_option(this)}accept(e){return e.visitComp_option?e.visitComp_option(this):e.visitChildren(this)}}class OK extends u{constructor(e,i){super(e,i)}Operator(){return this.getToken(t.Operator,0)}get ruleIndex(){return t.RULE_sharp}enterRule(e){e.enterSharp&&e.enterSharp(this)}exitRule(e){e.exitSharp&&e.exitSharp(this)}accept(e){return e.visitSharp?e.visitSharp(this):e.visitChildren(this)}}class LK extends u{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Y)}reserved_keyword(){return this.getRuleContext(0,y1)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}unreserved_keyword(){return this.getRuleContext(0,Y0)}get ruleIndex(){return t.RULE_option_value}enterRule(e){e.enterOption_value&&e.enterOption_value(this)}exitRule(e){e.exitOption_value&&e.exitOption_value(this)}accept(e){return e.visitOption_value?e.visitOption_value(this):e.visitChildren(this)}}class xK extends u{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_opt_semi}enterRule(e){e.enterOpt_semi&&e.enterOpt_semi(this)}exitRule(e){e.exitOpt_semi&&e.exitOpt_semi(this)}accept(e){return e.visitOpt_semi?e.visitOpt_semi(this):e.visitChildren(this)}}class B5 extends u{constructor(e,i){super(e,i)}decl_sect(){return this.getRuleContext(0,NK)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}proc_sect(){return this.getRuleContext(0,ye)}exception_sect(){return this.getRuleContext(0,ZR)}KW_END(){return this.getToken(t.KW_END,0)}opt_label(){return this.getRuleContext(0,fc)}get ruleIndex(){return t.RULE_pl_block}enterRule(e){e.enterPl_block&&e.enterPl_block(this)}exitRule(e){e.exitPl_block&&e.exitPl_block(this)}accept(e){return e.visitPl_block?e.visitPl_block(this):e.visitChildren(this)}}class NK extends u{constructor(e,i){super(e,i)}opt_block_label(){return this.getRuleContext(0,JR)}decl_start(){return this.getRuleContext(0,mK)}decl_stmts(){return this.getRuleContext(0,IK)}get ruleIndex(){return t.RULE_decl_sect}enterRule(e){e.enterDecl_sect&&e.enterDecl_sect(this)}exitRule(e){e.exitDecl_sect&&e.exitDecl_sect(this)}accept(e){return e.visitDecl_sect?e.visitDecl_sect(this):e.visitChildren(this)}}class mK extends u{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}get ruleIndex(){return t.RULE_decl_start}enterRule(e){e.enterDecl_start&&e.enterDecl_start(this)}exitRule(e){e.exitDecl_start&&e.exitDecl_start(this)}accept(e){return e.visitDecl_start?e.visitDecl_start(this):e.visitChildren(this)}}class IK extends u{constructor(e,i){super(e,i)}decl_stmt(e){return e===void 0?this.getRuleContexts(V5):this.getRuleContext(e,V5)}get ruleIndex(){return t.RULE_decl_stmts}enterRule(e){e.enterDecl_stmts&&e.enterDecl_stmts(this)}exitRule(e){e.exitDecl_stmts&&e.exitDecl_stmts(this)}accept(e){return e.visitDecl_stmts?e.visitDecl_stmts(this):e.visitChildren(this)}}class Nc extends u{constructor(e,i){super(e,i)}LESS_LESS(){return this.getToken(t.LESS_LESS,0)}any_identifier(){return this.getRuleContext(0,fi)}GREATER_GREATER(){return this.getToken(t.GREATER_GREATER,0)}get ruleIndex(){return t.RULE_label_decl}enterRule(e){e.enterLabel_decl&&e.enterLabel_decl(this)}exitRule(e){e.exitLabel_decl&&e.exitLabel_decl(this)}accept(e){return e.visitLabel_decl?e.visitLabel_decl(this):e.visitChildren(this)}}class V5 extends u{constructor(e,i){super(e,i)}decl_statement(){return this.getRuleContext(0,fK)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}label_decl(){return this.getRuleContext(0,Nc)}get ruleIndex(){return t.RULE_decl_stmt}enterRule(e){e.enterDecl_stmt&&e.enterDecl_stmt(this)}exitRule(e){e.exitDecl_stmt&&e.exitDecl_stmt(this)}accept(e){return e.visitDecl_stmt?e.visitDecl_stmt(this):e.visitChildren(this)}}class fK extends u{constructor(e,i){super(e,i)}decl_varname(){return this.getRuleContext(0,X5)}SEMI(){return this.getToken(t.SEMI,0)}KW_ALIAS(){return this.getToken(t.KW_ALIAS,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}decl_aliasitem(){return this.getRuleContext(0,HK)}decl_const(){return this.getRuleContext(0,wK)}decl_datatype(){return this.getRuleContext(0,Q5)}decl_collate(){return this.getRuleContext(0,bK)}decl_notnull(){return this.getRuleContext(0,vK)}decl_defval(){return this.getRuleContext(0,FK)}opt_scrollable(){return this.getRuleContext(0,UK)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}decl_cursor_args(){return this.getRuleContext(0,DK)}decl_is_for(){return this.getRuleContext(0,yK)}decl_cursor_query(){return this.getRuleContext(0,kK)}get ruleIndex(){return t.RULE_decl_statement}enterRule(e){e.enterDecl_statement&&e.enterDecl_statement(this)}exitRule(e){e.exitDecl_statement&&e.exitDecl_statement(this)}accept(e){return e.visitDecl_statement?e.visitDecl_statement(this):e.visitChildren(this)}}class UK extends u{constructor(e,i){super(e,i)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}get ruleIndex(){return t.RULE_opt_scrollable}enterRule(e){e.enterOpt_scrollable&&e.enterOpt_scrollable(this)}exitRule(e){e.exitOpt_scrollable&&e.exitOpt_scrollable(this)}accept(e){return e.visitOpt_scrollable?e.visitOpt_scrollable(this):e.visitChildren(this)}}class kK extends u{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Vt)}get ruleIndex(){return t.RULE_decl_cursor_query}enterRule(e){e.enterDecl_cursor_query&&e.enterDecl_cursor_query(this)}exitRule(e){e.exitDecl_cursor_query&&e.exitDecl_cursor_query(this)}accept(e){return e.visitDecl_cursor_query?e.visitDecl_cursor_query(this):e.visitChildren(this)}}class DK extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}decl_cursor_arglist(){return this.getRuleContext(0,MK)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_decl_cursor_args}enterRule(e){e.enterDecl_cursor_args&&e.enterDecl_cursor_args(this)}exitRule(e){e.exitDecl_cursor_args&&e.exitDecl_cursor_args(this)}accept(e){return e.visitDecl_cursor_args?e.visitDecl_cursor_args(this):e.visitChildren(this)}}class MK extends u{constructor(e,i){super(e,i)}decl_cursor_arg(e){return e===void 0?this.getRuleContexts(Y5):this.getRuleContext(e,Y5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_decl_cursor_arglist}enterRule(e){e.enterDecl_cursor_arglist&&e.enterDecl_cursor_arglist(this)}exitRule(e){e.exitDecl_cursor_arglist&&e.exitDecl_cursor_arglist(this)}accept(e){return e.visitDecl_cursor_arglist?e.visitDecl_cursor_arglist(this):e.visitChildren(this)}}class Y5 extends u{constructor(e,i){super(e,i)}decl_varname(){return this.getRuleContext(0,X5)}decl_datatype(){return this.getRuleContext(0,Q5)}get ruleIndex(){return t.RULE_decl_cursor_arg}enterRule(e){e.enterDecl_cursor_arg&&e.enterDecl_cursor_arg(this)}exitRule(e){e.exitDecl_cursor_arg&&e.exitDecl_cursor_arg(this)}accept(e){return e.visitDecl_cursor_arg?e.visitDecl_cursor_arg(this):e.visitChildren(this)}}class yK extends u{constructor(e,i){super(e,i)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}get ruleIndex(){return t.RULE_decl_is_for}enterRule(e){e.enterDecl_is_for&&e.enterDecl_is_for(this)}exitRule(e){e.exitDecl_is_for&&e.exitDecl_is_for(this)}accept(e){return e.visitDecl_is_for?e.visitDecl_is_for(this):e.visitChildren(this)}}class HK extends u{constructor(e,i){super(e,i)}PARAM(){return this.getToken(t.PARAM,0)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_decl_aliasitem}enterRule(e){e.enterDecl_aliasitem&&e.enterDecl_aliasitem(this)}exitRule(e){e.exitDecl_aliasitem&&e.exitDecl_aliasitem(this)}accept(e){return e.visitDecl_aliasitem?e.visitDecl_aliasitem(this):e.visitChildren(this)}}class X5 extends u{constructor(e,i){super(e,i)}any_identifier(){return this.getRuleContext(0,fi)}get ruleIndex(){return t.RULE_decl_varname}enterRule(e){e.enterDecl_varname&&e.enterDecl_varname(this)}exitRule(e){e.exitDecl_varname&&e.exitDecl_varname(this)}accept(e){return e.visitDecl_varname?e.visitDecl_varname(this):e.visitChildren(this)}}class wK extends u{constructor(e,i){super(e,i)}KW_CONSTANT(){return this.getToken(t.KW_CONSTANT,0)}get ruleIndex(){return t.RULE_decl_const}enterRule(e){e.enterDecl_const&&e.enterDecl_const(this)}exitRule(e){e.exitDecl_const&&e.exitDecl_const(this)}accept(e){return e.visitDecl_const?e.visitDecl_const(this):e.visitChildren(this)}}class Q5 extends u{constructor(e,i){super(e,i)}typename(){return this.getRuleContext(0,j)}get ruleIndex(){return t.RULE_decl_datatype}enterRule(e){e.enterDecl_datatype&&e.enterDecl_datatype(this)}exitRule(e){e.exitDecl_datatype&&e.exitDecl_datatype(this)}accept(e){return e.visitDecl_datatype?e.visitDecl_datatype(this):e.visitChildren(this)}}class bK extends u{constructor(e,i){super(e,i)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_decl_collate}enterRule(e){e.enterDecl_collate&&e.enterDecl_collate(this)}exitRule(e){e.exitDecl_collate&&e.exitDecl_collate(this)}accept(e){return e.visitDecl_collate?e.visitDecl_collate(this):e.visitChildren(this)}}class vK extends u{constructor(e,i){super(e,i)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_decl_notnull}enterRule(e){e.enterDecl_notnull&&e.enterDecl_notnull(this)}exitRule(e){e.exitDecl_notnull&&e.exitDecl_notnull(this)}accept(e){return e.visitDecl_notnull?e.visitDecl_notnull(this):e.visitChildren(this)}}class FK extends u{constructor(e,i){super(e,i)}decl_defkey(){return this.getRuleContext(0,GK)}sql_expression(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_decl_defval}enterRule(e){e.enterDecl_defval&&e.enterDecl_defval(this)}exitRule(e){e.exitDecl_defval&&e.exitDecl_defval(this)}accept(e){return e.visitDecl_defval?e.visitDecl_defval(this):e.visitChildren(this)}}class GK extends u{constructor(e,i){super(e,i)}assign_operator(){return this.getRuleContext(0,mc)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_decl_defkey}enterRule(e){e.enterDecl_defkey&&e.enterDecl_defkey(this)}exitRule(e){e.exitDecl_defkey&&e.exitDecl_defkey(this)}accept(e){return e.visitDecl_defkey?e.visitDecl_defkey(this):e.visitChildren(this)}}class mc extends u{constructor(e,i){super(e,i)}EQUAL(){return this.getToken(t.EQUAL,0)}COLON_EQUALS(){return this.getToken(t.COLON_EQUALS,0)}get ruleIndex(){return t.RULE_assign_operator}enterRule(e){e.enterAssign_operator&&e.enterAssign_operator(this)}exitRule(e){e.exitAssign_operator&&e.exitAssign_operator(this)}accept(e){return e.visitAssign_operator?e.visitAssign_operator(this):e.visitChildren(this)}}class ye extends u{constructor(e,i){super(e,i)}proc_stmt(e){return e===void 0?this.getRuleContexts(Z5):this.getRuleContext(e,Z5)}get ruleIndex(){return t.RULE_proc_sect}enterRule(e){e.enterProc_sect&&e.enterProc_sect(this)}exitRule(e){e.exitProc_sect&&e.exitProc_sect(this)}accept(e){return e.visitProc_sect?e.visitProc_sect(this):e.visitChildren(this)}}class Z5 extends u{constructor(e,i){super(e,i)}pl_block(){return this.getRuleContext(0,B5)}SEMI(){return this.getToken(t.SEMI,0)}stmt_return(){return this.getRuleContext(0,RR)}stmt_raise(){return this.getRuleContext(0,AR)}stmt_assign(){return this.getRuleContext(0,XK)}stmt_if(){return this.getRuleContext(0,$K)}stmt_case(){return this.getRuleContext(0,qK)}stmt_loop(){return this.getRuleContext(0,iR)}stmt_while(){return this.getRuleContext(0,nR)}stmt_for(){return this.getRuleContext(0,sR)}stmt_foreach_a(){return this.getRuleContext(0,ER)}stmt_exit(){return this.getRuleContext(0,WR)}stmt_assert(){return this.getRuleContext(0,pR)}stmt_execsql(){return this.getRuleContext(0,OR)}stmt_dynexecute(){return this.getRuleContext(0,LR)}stmt_perform(){return this.getRuleContext(0,BK)}stmt_call(){return this.getRuleContext(0,VK)}stmt_getdiag(){return this.getRuleContext(0,QK)}stmt_open(){return this.getRuleContext(0,IR)}stmt_fetch(){return this.getRuleContext(0,MR)}stmt_move(){return this.getRuleContext(0,HR)}stmt_close(){return this.getRuleContext(0,BR)}stmt_null(){return this.getRuleContext(0,VR)}stmt_commit(){return this.getRuleContext(0,YR)}stmt_rollback(){return this.getRuleContext(0,XR)}stmt_set(){return this.getRuleContext(0,QR)}get ruleIndex(){return t.RULE_proc_stmt}enterRule(e){e.enterProc_stmt&&e.enterProc_stmt(this)}exitRule(e){e.exitProc_stmt&&e.exitProc_stmt(this)}accept(e){return e.visitProc_stmt?e.visitProc_stmt(this):e.visitChildren(this)}}class BK extends u{constructor(e,i){super(e,i)}KW_PERFORM(){return this.getToken(t.KW_PERFORM,0)}expr_until_semi(){return this.getRuleContext(0,h7)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_perform}enterRule(e){e.enterStmt_perform&&e.enterStmt_perform(this)}exitRule(e){e.exitStmt_perform&&e.exitStmt_perform(this)}accept(e){return e.visitStmt_perform?e.visitStmt_perform(this):e.visitChildren(this)}}class VK extends u{constructor(e,i){super(e,i)}KW_CALL(){return this.getToken(t.KW_CALL,0)}any_identifier(){return this.getRuleContext(0,fi)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}opt_expr_list(){return this.getRuleContext(0,YK)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}SEMI(){return this.getToken(t.SEMI,0)}KW_DO(){return this.getToken(t.KW_DO,0)}get ruleIndex(){return t.RULE_stmt_call}enterRule(e){e.enterStmt_call&&e.enterStmt_call(this)}exitRule(e){e.exitStmt_call&&e.exitStmt_call(this)}accept(e){return e.visitStmt_call?e.visitStmt_call(this):e.visitChildren(this)}}class YK extends u{constructor(e,i){super(e,i)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_opt_expr_list}enterRule(e){e.enterOpt_expr_list&&e.enterOpt_expr_list(this)}exitRule(e){e.exitOpt_expr_list&&e.exitOpt_expr_list(this)}accept(e){return e.visitOpt_expr_list?e.visitOpt_expr_list(this):e.visitChildren(this)}}class XK extends u{constructor(e,i){super(e,i)}assign_var(){return this.getRuleContext(0,j5)}assign_operator(){return this.getRuleContext(0,mc)}sql_expression(){return this.getRuleContext(0,re)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_assign}enterRule(e){e.enterStmt_assign&&e.enterStmt_assign(this)}exitRule(e){e.exitStmt_assign&&e.exitStmt_assign(this)}accept(e){return e.visitStmt_assign?e.visitStmt_assign(this):e.visitChildren(this)}}class QK extends u{constructor(e,i){super(e,i)}KW_GET(){return this.getToken(t.KW_GET,0)}getdiag_area_opt(){return this.getRuleContext(0,ZK)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}getdiag_list(){return this.getRuleContext(0,zK)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_getdiag}enterRule(e){e.enterStmt_getdiag&&e.enterStmt_getdiag(this)}exitRule(e){e.exitStmt_getdiag&&e.exitStmt_getdiag(this)}accept(e){return e.visitStmt_getdiag?e.visitStmt_getdiag(this):e.visitChildren(this)}}class ZK extends u{constructor(e,i){super(e,i)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}get ruleIndex(){return t.RULE_getdiag_area_opt}enterRule(e){e.enterGetdiag_area_opt&&e.enterGetdiag_area_opt(this)}exitRule(e){e.exitGetdiag_area_opt&&e.exitGetdiag_area_opt(this)}accept(e){return e.visitGetdiag_area_opt?e.visitGetdiag_area_opt(this):e.visitChildren(this)}}class zK extends u{constructor(e,i){super(e,i)}getdiag_list_item(e){return e===void 0?this.getRuleContexts(z5):this.getRuleContext(e,z5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_getdiag_list}enterRule(e){e.enterGetdiag_list&&e.enterGetdiag_list(this)}exitRule(e){e.exitGetdiag_list&&e.exitGetdiag_list(this)}accept(e){return e.visitGetdiag_list?e.visitGetdiag_list(this):e.visitChildren(this)}}class z5 extends u{constructor(e,i){super(e,i)}getdiag_target(){return this.getRuleContext(0,JK)}assign_operator(){return this.getRuleContext(0,mc)}getdiag_item(){return this.getRuleContext(0,jK)}get ruleIndex(){return t.RULE_getdiag_list_item}enterRule(e){e.enterGetdiag_list_item&&e.enterGetdiag_list_item(this)}exitRule(e){e.exitGetdiag_list_item&&e.exitGetdiag_list_item(this)}accept(e){return e.visitGetdiag_list_item?e.visitGetdiag_list_item(this):e.visitChildren(this)}}class jK extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}get ruleIndex(){return t.RULE_getdiag_item}enterRule(e){e.enterGetdiag_item&&e.enterGetdiag_item(this)}exitRule(e){e.exitGetdiag_item&&e.exitGetdiag_item(this)}accept(e){return e.visitGetdiag_item?e.visitGetdiag_item(this):e.visitChildren(this)}}class JK extends u{constructor(e,i){super(e,i)}assign_var(){return this.getRuleContext(0,j5)}get ruleIndex(){return t.RULE_getdiag_target}enterRule(e){e.enterGetdiag_target&&e.enterGetdiag_target(this)}exitRule(e){e.exitGetdiag_target&&e.exitGetdiag_target(this)}accept(e){return e.visitGetdiag_target?e.visitGetdiag_target(this):e.visitChildren(this)}}class j5 extends u{constructor(e,i){super(e,i)}any_name(){return this.getRuleContext(0,B)}PARAM(){return this.getToken(t.PARAM,0)}OPEN_BRACKET(e){return e===void 0?this.getTokens(t.OPEN_BRACKET):this.getToken(t.OPEN_BRACKET,e)}expr_until_rightbracket(e){return e===void 0?this.getRuleContexts(c7):this.getRuleContext(e,c7)}CLOSE_BRACKET(e){return e===void 0?this.getTokens(t.CLOSE_BRACKET):this.getToken(t.CLOSE_BRACKET,e)}get ruleIndex(){return t.RULE_assign_var}enterRule(e){e.enterAssign_var&&e.enterAssign_var(this)}exitRule(e){e.exitAssign_var&&e.exitAssign_var(this)}accept(e){return e.visitAssign_var?e.visitAssign_var(this):e.visitChildren(this)}}class $K extends u{constructor(e,i){super(e,i)}KW_IF(e){return e===void 0?this.getTokens(t.KW_IF):this.getToken(t.KW_IF,e)}expr_until_then(){return this.getRuleContext(0,SR)}KW_THEN(){return this.getToken(t.KW_THEN,0)}proc_sect(){return this.getRuleContext(0,ye)}stmt_elsifs(){return this.getRuleContext(0,SK)}stmt_else(){return this.getRuleContext(0,gK)}KW_END(){return this.getToken(t.KW_END,0)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_if}enterRule(e){e.enterStmt_if&&e.enterStmt_if(this)}exitRule(e){e.exitStmt_if&&e.exitStmt_if(this)}accept(e){return e.visitStmt_if?e.visitStmt_if(this):e.visitChildren(this)}}class SK extends u{constructor(e,i){super(e,i)}KW_ELSIF(e){return e===void 0?this.getTokens(t.KW_ELSIF):this.getToken(t.KW_ELSIF,e)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}KW_THEN(e){return e===void 0?this.getTokens(t.KW_THEN):this.getToken(t.KW_THEN,e)}proc_sect(e){return e===void 0?this.getRuleContexts(ye):this.getRuleContext(e,ye)}get ruleIndex(){return t.RULE_stmt_elsifs}enterRule(e){e.enterStmt_elsifs&&e.enterStmt_elsifs(this)}exitRule(e){e.exitStmt_elsifs&&e.exitStmt_elsifs(this)}accept(e){return e.visitStmt_elsifs?e.visitStmt_elsifs(this):e.visitChildren(this)}}class gK extends u{constructor(e,i){super(e,i)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}proc_sect(){return this.getRuleContext(0,ye)}get ruleIndex(){return t.RULE_stmt_else}enterRule(e){e.enterStmt_else&&e.enterStmt_else(this)}exitRule(e){e.exitStmt_else&&e.exitStmt_else(this)}accept(e){return e.visitStmt_else?e.visitStmt_else(this):e.visitChildren(this)}}class qK extends u{constructor(e,i){super(e,i)}KW_CASE(e){return e===void 0?this.getTokens(t.KW_CASE):this.getToken(t.KW_CASE,e)}opt_expr_until_when(){return this.getRuleContext(0,PK)}case_when_list(){return this.getRuleContext(0,tR)}opt_case_else(){return this.getRuleContext(0,eR)}KW_END(){return this.getToken(t.KW_END,0)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_case}enterRule(e){e.enterStmt_case&&e.enterStmt_case(this)}exitRule(e){e.exitStmt_case&&e.exitStmt_case(this)}accept(e){return e.visitStmt_case?e.visitStmt_case(this):e.visitChildren(this)}}class PK extends u{constructor(e,i){super(e,i)}sql_expression(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_opt_expr_until_when}enterRule(e){e.enterOpt_expr_until_when&&e.enterOpt_expr_until_when(this)}exitRule(e){e.exitOpt_expr_until_when&&e.exitOpt_expr_until_when(this)}accept(e){return e.visitOpt_expr_until_when?e.visitOpt_expr_until_when(this):e.visitChildren(this)}}class tR extends u{constructor(e,i){super(e,i)}case_when(e){return e===void 0?this.getRuleContexts(J5):this.getRuleContext(e,J5)}get ruleIndex(){return t.RULE_case_when_list}enterRule(e){e.enterCase_when_list&&e.enterCase_when_list(this)}exitRule(e){e.exitCase_when_list&&e.exitCase_when_list(this)}accept(e){return e.visitCase_when_list?e.visitCase_when_list(this):e.visitChildren(this)}}class J5 extends u{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}expr_list(){return this.getRuleContext(0,ht)}KW_THEN(){return this.getToken(t.KW_THEN,0)}proc_sect(){return this.getRuleContext(0,ye)}get ruleIndex(){return t.RULE_case_when}enterRule(e){e.enterCase_when&&e.enterCase_when(this)}exitRule(e){e.exitCase_when&&e.exitCase_when(this)}accept(e){return e.visitCase_when?e.visitCase_when(this):e.visitChildren(this)}}class eR extends u{constructor(e,i){super(e,i)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}proc_sect(){return this.getRuleContext(0,ye)}get ruleIndex(){return t.RULE_opt_case_else}enterRule(e){e.enterOpt_case_else&&e.enterOpt_case_else(this)}exitRule(e){e.exitOpt_case_else&&e.exitOpt_case_else(this)}accept(e){return e.visitOpt_case_else?e.visitOpt_case_else(this):e.visitChildren(this)}}class iR extends u{constructor(e,i){super(e,i)}opt_loop_label(){return this.getRuleContext(0,F1)}loop_body(){return this.getRuleContext(0,H1)}get ruleIndex(){return t.RULE_stmt_loop}enterRule(e){e.enterStmt_loop&&e.enterStmt_loop(this)}exitRule(e){e.exitStmt_loop&&e.exitStmt_loop(this)}accept(e){return e.visitStmt_loop?e.visitStmt_loop(this):e.visitChildren(this)}}class nR extends u{constructor(e,i){super(e,i)}opt_loop_label(){return this.getRuleContext(0,F1)}KW_WHILE(){return this.getToken(t.KW_WHILE,0)}expr_until_loop(){return this.getRuleContext(0,gR)}loop_body(){return this.getRuleContext(0,H1)}get ruleIndex(){return t.RULE_stmt_while}enterRule(e){e.enterStmt_while&&e.enterStmt_while(this)}exitRule(e){e.exitStmt_while&&e.exitStmt_while(this)}accept(e){return e.visitStmt_while?e.visitStmt_while(this):e.visitChildren(this)}}class sR extends u{constructor(e,i){super(e,i)}opt_loop_label(){return this.getRuleContext(0,F1)}KW_FOR(){return this.getToken(t.KW_FOR,0)}for_control(){return this.getRuleContext(0,hR)}loop_body(){return this.getRuleContext(0,H1)}get ruleIndex(){return t.RULE_stmt_for}enterRule(e){e.enterStmt_for&&e.enterStmt_for(this)}exitRule(e){e.exitStmt_for&&e.exitStmt_for(this)}accept(e){return e.visitStmt_for?e.visitStmt_for(this):e.visitChildren(this)}}class hR extends u{constructor(e,i){super(e,i)}for_variable(){return this.getRuleContext(0,S5)}KW_IN(){return this.getToken(t.KW_IN,0)}cursor_name(){return this.getRuleContext(0,di)}opt_cursor_parameters(){return this.getRuleContext(0,cR)}selectstmt(){return this.getRuleContext(0,Vt)}explainstmt(){return this.getRuleContext(0,d3)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}opt_for_using_expression(){return this.getRuleContext(0,$5)}opt_reverse(){return this.getRuleContext(0,aR)}DOT_DOT(){return this.getToken(t.DOT_DOT,0)}opt_by_expression(){return this.getRuleContext(0,uR)}get ruleIndex(){return t.RULE_for_control}enterRule(e){e.enterFor_control&&e.enterFor_control(this)}exitRule(e){e.exitFor_control&&e.exitFor_control(this)}accept(e){return e.visitFor_control?e.visitFor_control(this):e.visitChildren(this)}}class $5 extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_opt_for_using_expression}enterRule(e){e.enterOpt_for_using_expression&&e.enterOpt_for_using_expression(this)}exitRule(e){e.exitOpt_for_using_expression&&e.exitOpt_for_using_expression(this)}accept(e){return e.visitOpt_for_using_expression?e.visitOpt_for_using_expression(this):e.visitChildren(this)}}class cR extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opt_cursor_parameters}enterRule(e){e.enterOpt_cursor_parameters&&e.enterOpt_cursor_parameters(this)}exitRule(e){e.exitOpt_cursor_parameters&&e.exitOpt_cursor_parameters(this)}accept(e){return e.visitOpt_cursor_parameters?e.visitOpt_cursor_parameters(this):e.visitChildren(this)}}class aR extends u{constructor(e,i){super(e,i)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}get ruleIndex(){return t.RULE_opt_reverse}enterRule(e){e.enterOpt_reverse&&e.enterOpt_reverse(this)}exitRule(e){e.exitOpt_reverse&&e.exitOpt_reverse(this)}accept(e){return e.visitOpt_reverse?e.visitOpt_reverse(this):e.visitChildren(this)}}class uR extends u{constructor(e,i){super(e,i)}KW_BY(){return this.getToken(t.KW_BY,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_opt_by_expression}enterRule(e){e.enterOpt_by_expression&&e.enterOpt_by_expression(this)}exitRule(e){e.exitOpt_by_expression&&e.exitOpt_by_expression(this)}accept(e){return e.visitOpt_by_expression?e.visitOpt_by_expression(this):e.visitChildren(this)}}class S5 extends u{constructor(e,i){super(e,i)}any_name_list(){return this.getRuleContext(0,A1)}get ruleIndex(){return t.RULE_for_variable}enterRule(e){e.enterFor_variable&&e.enterFor_variable(this)}exitRule(e){e.exitFor_variable&&e.exitFor_variable(this)}accept(e){return e.visitFor_variable?e.visitFor_variable(this):e.visitChildren(this)}}class ER extends u{constructor(e,i){super(e,i)}opt_loop_label(){return this.getRuleContext(0,F1)}KW_FOREACH(){return this.getToken(t.KW_FOREACH,0)}for_variable(){return this.getRuleContext(0,S5)}foreach_slice(){return this.getRuleContext(0,_R)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}a_expr(){return this.getRuleContext(0,U)}loop_body(){return this.getRuleContext(0,H1)}get ruleIndex(){return t.RULE_stmt_foreach_a}enterRule(e){e.enterStmt_foreach_a&&e.enterStmt_foreach_a(this)}exitRule(e){e.exitStmt_foreach_a&&e.exitStmt_foreach_a(this)}accept(e){return e.visitStmt_foreach_a?e.visitStmt_foreach_a(this):e.visitChildren(this)}}class _R extends u{constructor(e,i){super(e,i)}KW_SLICE(){return this.getToken(t.KW_SLICE,0)}iconst(){return this.getRuleContext(0,At)}get ruleIndex(){return t.RULE_foreach_slice}enterRule(e){e.enterForeach_slice&&e.enterForeach_slice(this)}exitRule(e){e.exitForeach_slice&&e.exitForeach_slice(this)}accept(e){return e.visitForeach_slice?e.visitForeach_slice(this):e.visitChildren(this)}}class WR extends u{constructor(e,i){super(e,i)}exit_type(){return this.getRuleContext(0,KR)}opt_label(){return this.getRuleContext(0,fc)}SEMI(){return this.getToken(t.SEMI,0)}opt_exitcond(){return this.getRuleContext(0,$R)}get ruleIndex(){return t.RULE_stmt_exit}enterRule(e){e.enterStmt_exit&&e.enterStmt_exit(this)}exitRule(e){e.exitStmt_exit&&e.exitStmt_exit(this)}accept(e){return e.visitStmt_exit?e.visitStmt_exit(this):e.visitChildren(this)}}class KR extends u{constructor(e,i){super(e,i)}KW_EXIT(){return this.getToken(t.KW_EXIT,0)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}get ruleIndex(){return t.RULE_exit_type}enterRule(e){e.enterExit_type&&e.enterExit_type(this)}exitRule(e){e.exitExit_type&&e.exitExit_type(this)}accept(e){return e.visitExit_type?e.visitExit_type(this):e.visitChildren(this)}}class RR extends u{constructor(e,i){super(e,i)}KW_RETURN(){return this.getToken(t.KW_RETURN,0)}SEMI(){return this.getToken(t.SEMI,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}sql_expression(){return this.getRuleContext(0,re)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}opt_return_result(){return this.getRuleContext(0,oR)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}a_expr(){return this.getRuleContext(0,U)}opt_for_using_expression(){return this.getRuleContext(0,$5)}selectstmt(){return this.getRuleContext(0,Vt)}get ruleIndex(){return t.RULE_stmt_return}enterRule(e){e.enterStmt_return&&e.enterStmt_return(this)}exitRule(e){e.exitStmt_return&&e.exitStmt_return(this)}accept(e){return e.visitStmt_return?e.visitStmt_return(this):e.visitChildren(this)}}class oR extends u{constructor(e,i){super(e,i)}sql_expression(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_opt_return_result}enterRule(e){e.enterOpt_return_result&&e.enterOpt_return_result(this)}exitRule(e){e.exitOpt_return_result&&e.exitOpt_return_result(this)}accept(e){return e.visitOpt_return_result?e.visitOpt_return_result(this):e.visitChildren(this)}}class AR extends u{constructor(e,i){super(e,i)}KW_RAISE(){return this.getToken(t.KW_RAISE,0)}sconst(){return this.getRuleContext(0,Y)}opt_raise_list(){return this.getRuleContext(0,lR)}opt_raise_using(){return this.getRuleContext(0,rR)}SEMI(){return this.getToken(t.SEMI,0)}opt_stmt_raise_level(){return this.getRuleContext(0,TR)}identifier(){return this.getRuleContext(0,It)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}get ruleIndex(){return t.RULE_stmt_raise}enterRule(e){e.enterStmt_raise&&e.enterStmt_raise(this)}exitRule(e){e.exitStmt_raise&&e.exitStmt_raise(this)}accept(e){return e.visitStmt_raise?e.visitStmt_raise(this):e.visitChildren(this)}}class TR extends u{constructor(e,i){super(e,i)}KW_DEBUG(){return this.getToken(t.KW_DEBUG,0)}KW_LOG(){return this.getToken(t.KW_LOG,0)}KW_INFO(){return this.getToken(t.KW_INFO,0)}KW_NOTICE(){return this.getToken(t.KW_NOTICE,0)}KW_WARNING(){return this.getToken(t.KW_WARNING,0)}KW_EXCEPTION(){return this.getToken(t.KW_EXCEPTION,0)}get ruleIndex(){return t.RULE_opt_stmt_raise_level}enterRule(e){e.enterOpt_stmt_raise_level&&e.enterOpt_stmt_raise_level(this)}exitRule(e){e.exitOpt_stmt_raise_level&&e.exitOpt_stmt_raise_level(this)}accept(e){return e.visitOpt_stmt_raise_level?e.visitOpt_stmt_raise_level(this):e.visitChildren(this)}}class lR extends u{constructor(e,i){super(e,i)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}get ruleIndex(){return t.RULE_opt_raise_list}enterRule(e){e.enterOpt_raise_list&&e.enterOpt_raise_list(this)}exitRule(e){e.exitOpt_raise_list&&e.exitOpt_raise_list(this)}accept(e){return e.visitOpt_raise_list?e.visitOpt_raise_list(this):e.visitChildren(this)}}class rR extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}opt_raise_using_elem_list(){return this.getRuleContext(0,CR)}get ruleIndex(){return t.RULE_opt_raise_using}enterRule(e){e.enterOpt_raise_using&&e.enterOpt_raise_using(this)}exitRule(e){e.exitOpt_raise_using&&e.exitOpt_raise_using(this)}accept(e){return e.visitOpt_raise_using?e.visitOpt_raise_using(this):e.visitChildren(this)}}class g5 extends u{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,It)}EQUAL(){return this.getToken(t.EQUAL,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_opt_raise_using_elem}enterRule(e){e.enterOpt_raise_using_elem&&e.enterOpt_raise_using_elem(this)}exitRule(e){e.exitOpt_raise_using_elem&&e.exitOpt_raise_using_elem(this)}accept(e){return e.visitOpt_raise_using_elem?e.visitOpt_raise_using_elem(this):e.visitChildren(this)}}class CR extends u{constructor(e,i){super(e,i)}opt_raise_using_elem(e){return e===void 0?this.getRuleContexts(g5):this.getRuleContext(e,g5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opt_raise_using_elem_list}enterRule(e){e.enterOpt_raise_using_elem_list&&e.enterOpt_raise_using_elem_list(this)}exitRule(e){e.exitOpt_raise_using_elem_list&&e.exitOpt_raise_using_elem_list(this)}accept(e){return e.visitOpt_raise_using_elem_list?e.visitOpt_raise_using_elem_list(this):e.visitChildren(this)}}class pR extends u{constructor(e,i){super(e,i)}KW_ASSERT(){return this.getToken(t.KW_ASSERT,0)}sql_expression(){return this.getRuleContext(0,re)}opt_stmt_assert_message(){return this.getRuleContext(0,dR)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_assert}enterRule(e){e.enterStmt_assert&&e.enterStmt_assert(this)}exitRule(e){e.exitStmt_assert&&e.exitStmt_assert(this)}accept(e){return e.visitStmt_assert?e.visitStmt_assert(this):e.visitChildren(this)}}class dR extends u{constructor(e,i){super(e,i)}COMMA(){return this.getToken(t.COMMA,0)}sql_expression(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_opt_stmt_assert_message}enterRule(e){e.enterOpt_stmt_assert_message&&e.enterOpt_stmt_assert_message(this)}exitRule(e){e.exitOpt_stmt_assert_message&&e.exitOpt_stmt_assert_message(this)}accept(e){return e.visitOpt_stmt_assert_message?e.visitOpt_stmt_assert_message(this):e.visitChildren(this)}}class H1 extends u{constructor(e,i){super(e,i)}KW_LOOP(e){return e===void 0?this.getTokens(t.KW_LOOP):this.getToken(t.KW_LOOP,e)}proc_sect(){return this.getRuleContext(0,ye)}KW_END(){return this.getToken(t.KW_END,0)}opt_label(){return this.getRuleContext(0,fc)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_loop_body}enterRule(e){e.enterLoop_body&&e.enterLoop_body(this)}exitRule(e){e.exitLoop_body&&e.exitLoop_body(this)}accept(e){return e.visitLoop_body?e.visitLoop_body(this):e.visitChildren(this)}}class OR extends u{constructor(e,i){super(e,i)}make_execsql_stmt(){return this.getRuleContext(0,qR)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_execsql}enterRule(e){e.enterStmt_execsql&&e.enterStmt_execsql(this)}exitRule(e){e.exitStmt_execsql&&e.exitStmt_execsql(this)}accept(e){return e.visitStmt_execsql?e.visitStmt_execsql(this):e.visitChildren(this)}}class LR extends u{constructor(e,i){super(e,i)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}a_expr(){return this.getRuleContext(0,U)}SEMI(){return this.getToken(t.SEMI,0)}opt_execute_into(){return this.getRuleContext(0,mR)}opt_execute_using(){return this.getRuleContext(0,xR)}get ruleIndex(){return t.RULE_stmt_dynexecute}enterRule(e){e.enterStmt_dynexecute&&e.enterStmt_dynexecute(this)}exitRule(e){e.exitStmt_dynexecute&&e.exitStmt_dynexecute(this)}accept(e){return e.visitStmt_dynexecute?e.visitStmt_dynexecute(this):e.visitChildren(this)}}class xR extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}opt_execute_using_list(){return this.getRuleContext(0,NR)}get ruleIndex(){return t.RULE_opt_execute_using}enterRule(e){e.enterOpt_execute_using&&e.enterOpt_execute_using(this)}exitRule(e){e.exitOpt_execute_using&&e.exitOpt_execute_using(this)}accept(e){return e.visitOpt_execute_using?e.visitOpt_execute_using(this):e.visitChildren(this)}}class NR extends u{constructor(e,i){super(e,i)}a_expr(e){return e===void 0?this.getRuleContexts(U):this.getRuleContext(e,U)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opt_execute_using_list}enterRule(e){e.enterOpt_execute_using_list&&e.enterOpt_execute_using_list(this)}exitRule(e){e.exitOpt_execute_using_list&&e.exitOpt_execute_using_list(this)}accept(e){return e.visitOpt_execute_using_list?e.visitOpt_execute_using_list(this):e.visitChildren(this)}}class mR extends u{constructor(e,i){super(e,i)}KW_INTO(){return this.getToken(t.KW_INTO,0)}into_target(){return this.getRuleContext(0,w1)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}get ruleIndex(){return t.RULE_opt_execute_into}enterRule(e){e.enterOpt_execute_into&&e.enterOpt_execute_into(this)}exitRule(e){e.exitOpt_execute_into&&e.exitOpt_execute_into(this)}accept(e){return e.visitOpt_execute_into?e.visitOpt_execute_into(this):e.visitChildren(this)}}class IR extends u{constructor(e,i){super(e,i)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}SEMI(){return this.getToken(t.SEMI,0)}cursor_variable(){return this.getRuleContext(0,v1)}opt_scroll_option(){return this.getRuleContext(0,kR)}KW_FOR(){return this.getToken(t.KW_FOR,0)}colid(){return this.getRuleContext(0,H)}selectstmt(){return this.getRuleContext(0,Vt)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}sql_expression(){return this.getRuleContext(0,re)}opt_open_using(){return this.getRuleContext(0,UR)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}opt_open_bound_list(){return this.getRuleContext(0,fR)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_stmt_open}enterRule(e){e.enterStmt_open&&e.enterStmt_open(this)}exitRule(e){e.exitStmt_open&&e.exitStmt_open(this)}accept(e){return e.visitStmt_open?e.visitStmt_open(this):e.visitChildren(this)}}class q5 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}COLON_EQUALS(){return this.getToken(t.COLON_EQUALS,0)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_opt_open_bound_list_item}enterRule(e){e.enterOpt_open_bound_list_item&&e.enterOpt_open_bound_list_item(this)}exitRule(e){e.exitOpt_open_bound_list_item&&e.exitOpt_open_bound_list_item(this)}accept(e){return e.visitOpt_open_bound_list_item?e.visitOpt_open_bound_list_item(this):e.visitChildren(this)}}class fR extends u{constructor(e,i){super(e,i)}opt_open_bound_list_item(e){return e===void 0?this.getRuleContexts(q5):this.getRuleContext(e,q5)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opt_open_bound_list}enterRule(e){e.enterOpt_open_bound_list&&e.enterOpt_open_bound_list(this)}exitRule(e){e.exitOpt_open_bound_list&&e.exitOpt_open_bound_list(this)}accept(e){return e.visitOpt_open_bound_list?e.visitOpt_open_bound_list(this):e.visitChildren(this)}}class UR extends u{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_opt_open_using}enterRule(e){e.enterOpt_open_using&&e.enterOpt_open_using(this)}exitRule(e){e.exitOpt_open_using&&e.exitOpt_open_using(this)}accept(e){return e.visitOpt_open_using?e.visitOpt_open_using(this):e.visitChildren(this)}}class kR extends u{constructor(e,i){super(e,i)}opt_scroll_option_no(){return this.getRuleContext(0,DR)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}get ruleIndex(){return t.RULE_opt_scroll_option}enterRule(e){e.enterOpt_scroll_option&&e.enterOpt_scroll_option(this)}exitRule(e){e.exitOpt_scroll_option&&e.exitOpt_scroll_option(this)}accept(e){return e.visitOpt_scroll_option?e.visitOpt_scroll_option(this):e.visitChildren(this)}}class DR extends u{constructor(e,i){super(e,i)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_opt_scroll_option_no}enterRule(e){e.enterOpt_scroll_option_no&&e.enterOpt_scroll_option_no(this)}exitRule(e){e.exitOpt_scroll_option_no&&e.exitOpt_scroll_option_no(this)}accept(e){return e.visitOpt_scroll_option_no?e.visitOpt_scroll_option_no(this):e.visitChildren(this)}}class MR extends u{constructor(e,i){super(e,i)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}opt_cursor_from(){return this.getRuleContext(0,yR)}cursor_variable(){return this.getRuleContext(0,v1)}KW_INTO(){return this.getToken(t.KW_INTO,0)}into_target(){return this.getRuleContext(0,w1)}SEMI(){return this.getToken(t.SEMI,0)}opt_fetch_direction(){return this.getRuleContext(0,P5)}get ruleIndex(){return t.RULE_stmt_fetch}enterRule(e){e.enterStmt_fetch&&e.enterStmt_fetch(this)}exitRule(e){e.exitStmt_fetch&&e.exitStmt_fetch(this)}accept(e){return e.visitStmt_fetch?e.visitStmt_fetch(this):e.visitChildren(this)}}class w1 extends u{constructor(e,i){super(e,i)}expr_list(){return this.getRuleContext(0,ht)}get ruleIndex(){return t.RULE_into_target}enterRule(e){e.enterInto_target&&e.enterInto_target(this)}exitRule(e){e.exitInto_target&&e.exitInto_target(this)}accept(e){return e.visitInto_target?e.visitInto_target(this):e.visitChildren(this)}}class yR extends u{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}get ruleIndex(){return t.RULE_opt_cursor_from}enterRule(e){e.enterOpt_cursor_from&&e.enterOpt_cursor_from(this)}exitRule(e){e.exitOpt_cursor_from&&e.exitOpt_cursor_from(this)}accept(e){return e.visitOpt_cursor_from?e.visitOpt_cursor_from(this):e.visitChildren(this)}}class P5 extends u{constructor(e,i){super(e,i)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}a_expr(){return this.getRuleContext(0,U)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}get ruleIndex(){return t.RULE_opt_fetch_direction}enterRule(e){e.enterOpt_fetch_direction&&e.enterOpt_fetch_direction(this)}exitRule(e){e.exitOpt_fetch_direction&&e.exitOpt_fetch_direction(this)}accept(e){return e.visitOpt_fetch_direction?e.visitOpt_fetch_direction(this):e.visitChildren(this)}}class HR extends u{constructor(e,i){super(e,i)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}cursor_variable(){return this.getRuleContext(0,v1)}SEMI(){return this.getToken(t.SEMI,0)}opt_fetch_direction(){return this.getRuleContext(0,P5)}get ruleIndex(){return t.RULE_stmt_move}enterRule(e){e.enterStmt_move&&e.enterStmt_move(this)}exitRule(e){e.exitStmt_move&&e.exitStmt_move(this)}accept(e){return e.visitStmt_move?e.visitStmt_move(this):e.visitChildren(this)}}class wR extends u{constructor(e,i){super(e,i)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}table_name(){return this.getRuleContext(0,Lt)}KW_USING(){return this.getToken(t.KW_USING,0)}data_source(){return this.getRuleContext(0,bR)}KW_ON(){return this.getToken(t.KW_ON,0)}join_condition(){return this.getRuleContext(0,vR)}with_clause(){return this.getRuleContext(0,O1)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}colid(){return this.getRuleContext(0,H)}merge_when_clause(e){return e===void 0?this.getRuleContexts(t7):this.getRuleContext(e,t7)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_mergestmt}enterRule(e){e.enterMergestmt&&e.enterMergestmt(this)}exitRule(e){e.exitMergestmt&&e.exitMergestmt(this)}accept(e){return e.visitMergestmt?e.visitMergestmt(this):e.visitChildren(this)}}class bR extends u{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,Lt)}colid(){return this.getRuleContext(0,H)}select_no_parens(){return this.getRuleContext(0,gh)}values_clause(){return this.getRuleContext(0,z3)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_data_source}enterRule(e){e.enterData_source&&e.enterData_source(this)}exitRule(e){e.exitData_source&&e.exitData_source(this)}accept(e){return e.visitData_source?e.visitData_source(this):e.visitChildren(this)}}class vR extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_join_condition}enterRule(e){e.enterJoin_condition&&e.enterJoin_condition(this)}exitRule(e){e.exitJoin_condition&&e.exitJoin_condition(this)}accept(e){return e.visitJoin_condition?e.visitJoin_condition(this):e.visitChildren(this)}}class t7 extends u{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_MATCHED(){return this.getToken(t.KW_MATCHED,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}merge_update(){return this.getRuleContext(0,GR)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}KW_AND(){return this.getToken(t.KW_AND,0)}a_expr(){return this.getRuleContext(0,U)}KW_NOT(){return this.getToken(t.KW_NOT,0)}merge_insert(){return this.getRuleContext(0,FR)}get ruleIndex(){return t.RULE_merge_when_clause}enterRule(e){e.enterMerge_when_clause&&e.enterMerge_when_clause(this)}exitRule(e){e.exitMerge_when_clause&&e.exitMerge_when_clause(this)}accept(e){return e.visitMerge_when_clause?e.visitMerge_when_clause(this):e.visitChildren(this)}}class FR extends u{constructor(e,i){super(e,i)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}default_values_or_values(){return this.getRuleContext(0,e7)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,mt)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OVERRIDING(){return this.getToken(t.KW_OVERRIDING,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}KW_USER(){return this.getToken(t.KW_USER,0)}get ruleIndex(){return t.RULE_merge_insert}enterRule(e){e.enterMerge_insert&&e.enterMerge_insert(this)}exitRule(e){e.exitMerge_insert&&e.exitMerge_insert(this)}accept(e){return e.visitMerge_insert?e.visitMerge_insert(this):e.visitChildren(this)}}class GR extends u{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}column_name(e){return e===void 0?this.getRuleContexts(Wt):this.getRuleContext(e,Wt)}EQUAL(e){return e===void 0?this.getTokens(t.EQUAL):this.getToken(t.EQUAL,e)}exprofdefault(e){return e===void 0?this.getRuleContexts(b1):this.getRuleContext(e,b1)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}column_list(e){return e===void 0?this.getRuleContexts(mt):this.getRuleContext(e,mt)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}exprofdefaultlist(e){return e===void 0?this.getRuleContexts(Ic):this.getRuleContext(e,Ic)}get ruleIndex(){return t.RULE_merge_update}enterRule(e){e.enterMerge_update&&e.enterMerge_update(this)}exitRule(e){e.exitMerge_update&&e.exitMerge_update(this)}accept(e){return e.visitMerge_update?e.visitMerge_update(this):e.visitChildren(this)}}class e7 extends u{constructor(e,i){super(e,i)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}exprofdefaultlist(){return this.getRuleContext(0,Ic)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_default_values_or_values}enterRule(e){e.enterDefault_values_or_values&&e.enterDefault_values_or_values(this)}exitRule(e){e.exitDefault_values_or_values&&e.exitDefault_values_or_values(this)}accept(e){return e.visitDefault_values_or_values?e.visitDefault_values_or_values(this):e.visitChildren(this)}}class Ic extends u{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}exprofdefault(e){return e===void 0?this.getRuleContexts(b1):this.getRuleContext(e,b1)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_exprofdefaultlist}enterRule(e){e.enterExprofdefaultlist&&e.enterExprofdefaultlist(this)}exitRule(e){e.exitExprofdefaultlist&&e.exitExprofdefaultlist(this)}accept(e){return e.visitExprofdefaultlist?e.visitExprofdefaultlist(this):e.visitChildren(this)}}class b1 extends u{constructor(e,i){super(e,i)}sortby(){return this.getRuleContext(0,tc)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_exprofdefault}enterRule(e){e.enterExprofdefault&&e.enterExprofdefault(this)}exitRule(e){e.exitExprofdefault&&e.exitExprofdefault(this)}accept(e){return e.visitExprofdefault?e.visitExprofdefault(this):e.visitChildren(this)}}class BR extends u{constructor(e,i){super(e,i)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}cursor_variable(){return this.getRuleContext(0,v1)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_close}enterRule(e){e.enterStmt_close&&e.enterStmt_close(this)}exitRule(e){e.exitStmt_close&&e.exitStmt_close(this)}accept(e){return e.visitStmt_close?e.visitStmt_close(this):e.visitChildren(this)}}class VR extends u{constructor(e,i){super(e,i)}KW_NULL(){return this.getToken(t.KW_NULL,0)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_null}enterRule(e){e.enterStmt_null&&e.enterStmt_null(this)}exitRule(e){e.exitStmt_null&&e.exitStmt_null(this)}accept(e){return e.visitStmt_null?e.visitStmt_null(this):e.visitChildren(this)}}class YR extends u{constructor(e,i){super(e,i)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}SEMI(){return this.getToken(t.SEMI,0)}plsql_opt_transaction_chain(){return this.getRuleContext(0,i7)}get ruleIndex(){return t.RULE_stmt_commit}enterRule(e){e.enterStmt_commit&&e.enterStmt_commit(this)}exitRule(e){e.exitStmt_commit&&e.exitStmt_commit(this)}accept(e){return e.visitStmt_commit?e.visitStmt_commit(this):e.visitChildren(this)}}class XR extends u{constructor(e,i){super(e,i)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}SEMI(){return this.getToken(t.SEMI,0)}plsql_opt_transaction_chain(){return this.getRuleContext(0,i7)}get ruleIndex(){return t.RULE_stmt_rollback}enterRule(e){e.enterStmt_rollback&&e.enterStmt_rollback(this)}exitRule(e){e.exitStmt_rollback&&e.exitStmt_rollback(this)}accept(e){return e.visitStmt_rollback?e.visitStmt_rollback(this):e.visitChildren(this)}}class i7 extends u{constructor(e,i){super(e,i)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_plsql_opt_transaction_chain}enterRule(e){e.enterPlsql_opt_transaction_chain&&e.enterPlsql_opt_transaction_chain(this)}exitRule(e){e.exitPlsql_opt_transaction_chain&&e.exitPlsql_opt_transaction_chain(this)}accept(e){return e.visitPlsql_opt_transaction_chain?e.visitPlsql_opt_transaction_chain(this):e.visitChildren(this)}}class QR extends u{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}any_name(){return this.getRuleContext(0,B)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}SEMI(){return this.getToken(t.SEMI,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_stmt_set}enterRule(e){e.enterStmt_set&&e.enterStmt_set(this)}exitRule(e){e.exitStmt_set&&e.exitStmt_set(this)}accept(e){return e.visitStmt_set?e.visitStmt_set(this):e.visitChildren(this)}}class v1 extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}PARAM(){return this.getToken(t.PARAM,0)}get ruleIndex(){return t.RULE_cursor_variable}enterRule(e){e.enterCursor_variable&&e.enterCursor_variable(this)}exitRule(e){e.exitCursor_variable&&e.exitCursor_variable(this)}accept(e){return e.visitCursor_variable?e.visitCursor_variable(this):e.visitChildren(this)}}class ZR extends u{constructor(e,i){super(e,i)}KW_EXCEPTION(){return this.getToken(t.KW_EXCEPTION,0)}proc_exceptions(){return this.getRuleContext(0,zR)}get ruleIndex(){return t.RULE_exception_sect}enterRule(e){e.enterException_sect&&e.enterException_sect(this)}exitRule(e){e.exitException_sect&&e.exitException_sect(this)}accept(e){return e.visitException_sect?e.visitException_sect(this):e.visitChildren(this)}}class zR extends u{constructor(e,i){super(e,i)}proc_exception(e){return e===void 0?this.getRuleContexts(n7):this.getRuleContext(e,n7)}get ruleIndex(){return t.RULE_proc_exceptions}enterRule(e){e.enterProc_exceptions&&e.enterProc_exceptions(this)}exitRule(e){e.exitProc_exceptions&&e.exitProc_exceptions(this)}accept(e){return e.visitProc_exceptions?e.visitProc_exceptions(this):e.visitChildren(this)}}class n7 extends u{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}proc_conditions(){return this.getRuleContext(0,jR)}KW_THEN(){return this.getToken(t.KW_THEN,0)}proc_sect(){return this.getRuleContext(0,ye)}get ruleIndex(){return t.RULE_proc_exception}enterRule(e){e.enterProc_exception&&e.enterProc_exception(this)}exitRule(e){e.exitProc_exception&&e.exitProc_exception(this)}accept(e){return e.visitProc_exception?e.visitProc_exception(this):e.visitChildren(this)}}class jR extends u{constructor(e,i){super(e,i)}proc_condition(e){return e===void 0?this.getRuleContexts(s7):this.getRuleContext(e,s7)}KW_OR(e){return e===void 0?this.getTokens(t.KW_OR):this.getToken(t.KW_OR,e)}get ruleIndex(){return t.RULE_proc_conditions}enterRule(e){e.enterProc_conditions&&e.enterProc_conditions(this)}exitRule(e){e.exitProc_conditions&&e.exitProc_conditions(this)}accept(e){return e.visitProc_conditions?e.visitProc_conditions(this):e.visitChildren(this)}}class s7 extends u{constructor(e,i){super(e,i)}any_identifier(){return this.getRuleContext(0,fi)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}sconst(){return this.getRuleContext(0,Y)}get ruleIndex(){return t.RULE_proc_condition}enterRule(e){e.enterProc_condition&&e.enterProc_condition(this)}exitRule(e){e.exitProc_condition&&e.exitProc_condition(this)}accept(e){return e.visitProc_condition?e.visitProc_condition(this):e.visitChildren(this)}}class JR extends u{constructor(e,i){super(e,i)}label_decl(){return this.getRuleContext(0,Nc)}get ruleIndex(){return t.RULE_opt_block_label}enterRule(e){e.enterOpt_block_label&&e.enterOpt_block_label(this)}exitRule(e){e.exitOpt_block_label&&e.exitOpt_block_label(this)}accept(e){return e.visitOpt_block_label?e.visitOpt_block_label(this):e.visitChildren(this)}}class F1 extends u{constructor(e,i){super(e,i)}label_decl(){return this.getRuleContext(0,Nc)}get ruleIndex(){return t.RULE_opt_loop_label}enterRule(e){e.enterOpt_loop_label&&e.enterOpt_loop_label(this)}exitRule(e){e.exitOpt_loop_label&&e.exitOpt_loop_label(this)}accept(e){return e.visitOpt_loop_label?e.visitOpt_loop_label(this):e.visitChildren(this)}}class fc extends u{constructor(e,i){super(e,i)}any_identifier(){return this.getRuleContext(0,fi)}get ruleIndex(){return t.RULE_opt_label}enterRule(e){e.enterOpt_label&&e.enterOpt_label(this)}exitRule(e){e.exitOpt_label&&e.exitOpt_label(this)}accept(e){return e.visitOpt_label?e.visitOpt_label(this):e.visitChildren(this)}}class $R extends u{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}expr_until_semi(){return this.getRuleContext(0,h7)}get ruleIndex(){return t.RULE_opt_exitcond}enterRule(e){e.enterOpt_exitcond&&e.enterOpt_exitcond(this)}exitRule(e){e.exitOpt_exitcond&&e.exitOpt_exitcond(this)}accept(e){return e.visitOpt_exitcond?e.visitOpt_exitcond(this):e.visitChildren(this)}}class fi extends u{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,H)}plsql_unreserved_keyword(){return this.getRuleContext(0,E0)}get ruleIndex(){return t.RULE_any_identifier}enterRule(e){e.enterAny_identifier&&e.enterAny_identifier(this)}exitRule(e){e.exitAny_identifier&&e.exitAny_identifier(this)}accept(e){return e.visitAny_identifier?e.visitAny_identifier(this):e.visitChildren(this)}}class E0 extends u{constructor(e,i){super(e,i)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}KW_ALIAS(){return this.getToken(t.KW_ALIAS,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_ASSERT(){return this.getToken(t.KW_ASSERT,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}KW_CALL(){return this.getToken(t.KW_CALL,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_CONSTANT(){return this.getToken(t.KW_CONSTANT,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}KW_DEBUG(){return this.getToken(t.KW_DEBUG,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_DUMP(){return this.getToken(t.KW_DUMP,0)}KW_ELSIF(){return this.getToken(t.KW_ELSIF,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_EXCEPTION(){return this.getToken(t.KW_EXCEPTION,0)}KW_EXIT(){return this.getToken(t.KW_EXIT,0)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_GET(){return this.getToken(t.KW_GET,0)}KW_INFO(){return this.getToken(t.KW_INFO,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_LOG(){return this.getToken(t.KW_LOG,0)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_NOTICE(){return this.getToken(t.KW_NOTICE,0)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_PERFORM(){return this.getToken(t.KW_PERFORM,0)}KW_PRINT_STRICT_PARAMS(){return this.getToken(t.KW_PRINT_STRICT_PARAMS,0)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_RAISE(){return this.getToken(t.KW_RAISE,0)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_RETURN(){return this.getToken(t.KW_RETURN,0)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_ROWTYPE(){return this.getToken(t.KW_ROWTYPE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SLICE(){return this.getToken(t.KW_SLICE,0)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_USE_COLUMN(){return this.getToken(t.KW_USE_COLUMN,0)}KW_USE_VARIABLE(){return this.getToken(t.KW_USE_VARIABLE,0)}KW_VARIABLE_CONFLICT(){return this.getToken(t.KW_VARIABLE_CONFLICT,0)}KW_WARNING(){return this.getToken(t.KW_WARNING,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}get ruleIndex(){return t.RULE_plsql_unreserved_keyword}enterRule(e){e.enterPlsql_unreserved_keyword&&e.enterPlsql_unreserved_keyword(this)}exitRule(e){e.exitPlsql_unreserved_keyword&&e.exitPlsql_unreserved_keyword(this)}accept(e){return e.visitPlsql_unreserved_keyword?e.visitPlsql_unreserved_keyword(this):e.visitChildren(this)}}class re extends u{constructor(e,i){super(e,i)}opt_target_list(){return this.getRuleContext(0,H5)}into_clause(){return this.getRuleContext(0,Ph)}from_clause(){return this.getRuleContext(0,ec)}where_clause(){return this.getRuleContext(0,De)}group_clause(){return this.getRuleContext(0,B3)}having_clause(){return this.getRuleContext(0,X3)}window_clause(){return this.getRuleContext(0,x5)}get ruleIndex(){return t.RULE_sql_expression}enterRule(e){e.enterSql_expression&&e.enterSql_expression(this)}exitRule(e){e.exitSql_expression&&e.exitSql_expression(this)}accept(e){return e.visitSql_expression?e.visitSql_expression(this):e.visitChildren(this)}}class SR extends u{constructor(e,i){super(e,i)}sql_expression(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_expr_until_then}enterRule(e){e.enterExpr_until_then&&e.enterExpr_until_then(this)}exitRule(e){e.exitExpr_until_then&&e.exitExpr_until_then(this)}accept(e){return e.visitExpr_until_then?e.visitExpr_until_then(this):e.visitChildren(this)}}class h7 extends u{constructor(e,i){super(e,i)}sql_expression(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_expr_until_semi}enterRule(e){e.enterExpr_until_semi&&e.enterExpr_until_semi(this)}exitRule(e){e.exitExpr_until_semi&&e.exitExpr_until_semi(this)}accept(e){return e.visitExpr_until_semi?e.visitExpr_until_semi(this):e.visitChildren(this)}}class c7 extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_expr_until_rightbracket}enterRule(e){e.enterExpr_until_rightbracket&&e.enterExpr_until_rightbracket(this)}exitRule(e){e.exitExpr_until_rightbracket&&e.exitExpr_until_rightbracket(this)}accept(e){return e.visitExpr_until_rightbracket?e.visitExpr_until_rightbracket(this):e.visitChildren(this)}}class gR extends u{constructor(e,i){super(e,i)}a_expr(){return this.getRuleContext(0,U)}get ruleIndex(){return t.RULE_expr_until_loop}enterRule(e){e.enterExpr_until_loop&&e.enterExpr_until_loop(this)}exitRule(e){e.exitExpr_until_loop&&e.exitExpr_until_loop(this)}accept(e){return e.visitExpr_until_loop?e.visitExpr_until_loop(this):e.visitChildren(this)}}class qR extends u{constructor(e,i){super(e,i)}stmt(){return this.getRuleContext(0,Ah)}opt_returning_clause_into(){return this.getRuleContext(0,PR)}get ruleIndex(){return t.RULE_make_execsql_stmt}enterRule(e){e.enterMake_execsql_stmt&&e.enterMake_execsql_stmt(this)}exitRule(e){e.exitMake_execsql_stmt&&e.exitMake_execsql_stmt(this)}accept(e){return e.visitMake_execsql_stmt?e.visitMake_execsql_stmt(this):e.visitChildren(this)}}class PR extends u{constructor(e,i){super(e,i)}KW_INTO(){return this.getToken(t.KW_INTO,0)}opt_strict(){return this.getRuleContext(0,M3)}into_target(){return this.getRuleContext(0,w1)}get ruleIndex(){return t.RULE_opt_returning_clause_into}enterRule(e){e.enterOpt_returning_clause_into&&e.enterOpt_returning_clause_into(this)}exitRule(e){e.exitOpt_returning_clause_into&&e.exitOpt_returning_clause_into(this)}accept(e){return e.visitOpt_returning_clause_into?e.visitOpt_returning_clause_into(this):e.visitChildren(this)}}var P;(function(s){s.CATALOG="catalog",s.CATALOG_CREATE="catalogCreate",s.DATABASE="database",s.DATABASE_CREATE="databaseCreate",s.TABLE="table",s.TABLE_CREATE="tableCreate",s.VIEW="view",s.VIEW_CREATE="viewCreate",s.FUNCTION="function",s.FUNCTION_CREATE="functionCreate",s.PROCEDURE="procedure",s.PROCEDURE_CREATE="procedureCreate",s.COLUMN="column",s.COLUMN_CREATE="columnCreate"})(P||(P={}));var Al=Object.defineProperty,ut=(s,e)=>Al(s,"name",{value:e,configurable:!0}),_0=(ks=class{constructor(e=""){o(this,"name");o(this,"context");o(this,"modifiers",new Set);o(this,"visibility",0);q(this,Tt,void 0);this.name=e}get parent(){return x(this,Tt)}get firstSibling(){var e;if(x(this,Tt))return(e=x(this,Tt))==null?void 0:e.firstChild}get previousSibling(){if(x(this,Tt))return x(this,Tt)?x(this,Tt).previousSiblingOf(this):this}get nextSibling(){var e;return(e=x(this,Tt))==null?void 0:e.nextSiblingOf(this)}get lastSibling(){var e;return(e=x(this,Tt))==null?void 0:e.lastChild}get next(){var e;return(e=x(this,Tt))==null?void 0:e.nextOf(this)}get root(){let e=x(this,Tt);for(;e;){if(!e.parent||this.isSymbolTable(e.parent))return e;e=e.parent}return e}get symbolTable(){if(this.isSymbolTable(this))return this;let e=x(this,Tt);for(;e;){if(this.isSymbolTable(e))return e;e=e.parent}}get symbolPath(){const e=[];let i=this;for(;i&&(e.push(i),!!i.parent);)i=i.parent;return e}setParent(e){J(this,Tt,e)}removeFromParent(){var e;(e=x(this,Tt))==null||e.removeSymbol(this),J(this,Tt,void 0)}async resolve(e,i=!1){var n;return(n=x(this,Tt))==null?void 0:n.resolve(e,i)}resolveSync(e,i=!1){var n;return(n=x(this,Tt))==null?void 0:n.resolveSync(e,i)}getParentOfType(e){let i=x(this,Tt);for(;i;){if(i instanceof e)return i;i=i.parent}}qualifiedName(e=".",i=!1,n=!1){if(!n&&this.name.length===0)return"";let h=this.name.length===0?"":this.name,c=x(this,Tt);for(;c&&((n||c.name.length>0)&&(h=(c.name.length===0?"":c.name)+e+h),!(!i||!c.parent));)c=c.parent;return h}isSymbolTable(e){return e.info!==void 0}},Tt=new WeakMap,ut(ks,"BaseSymbol"),ks);Ds=class extends _0{constructor(i,n,h,c=0){super(i);o(this,"elementType");o(this,"size");o(this,"referenceKind");this.referenceKind=n,this.elementType=h,this.size=c}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ut(Ds,"ArrayType");var to=(Ms=class extends Error{},ut(Ms,"DuplicateSymbolError"),Ms),W0=(ue=class extends _0{constructor(i=""){super(i);q(this,st,[]);q(this,be,new Map)}get directScopes(){return this.getSymbolsOfType(ue)}get children(){return x(this,st)}get firstChild(){if(x(this,st).length>0)return x(this,st)[0]}get lastChild(){if(x(this,st).length>0)return x(this,st)[x(this,st).length-1]}clear(){J(this,st,[]),x(this,be).clear()}addSymbol(i){i.removeFromParent();const n=this.symbolTable,h=x(this,be).get(i.name);if(!n||!n.options.allowDuplicateSymbols){if(h!==void 0)throw new to("Attempt to add duplicate symbol '"+(i.name??"")+"'");if(x(this,be).set(i.name,1),x(this,st).indexOf(i)>-1)throw new to("Attempt to add duplicate symbol '"+(i.name??"")+"'")}else x(this,be).set(i.name,h===void 0?1:h+1);x(this,st).push(i),i.setParent(this)}removeSymbol(i){const n=x(this,st).indexOf(i);if(n>-1){x(this,st).splice(n,1),i.setParent(void 0);const h=x(this,be).get(i.name);h!==void 0&&(h===1?x(this,be).delete(i.name):x(this,be).set(i.name,h-1))}}async getNestedSymbolsOfType(i){const n=[],h=[];return x(this,st).forEach(a=>{a instanceof i&&n.push(a),a instanceof ue&&h.push(a.getNestedSymbolsOfType(i))}),(await Promise.all(h)).forEach(a=>{n.push(...a)}),n}getNestedSymbolsOfTypeSync(i){const n=[];return x(this,st).forEach(h=>{h instanceof i&&n.push(h),h instanceof ue&&n.push(...h.getNestedSymbolsOfTypeSync(i))}),n}async getAllNestedSymbols(i){const n=[],h=[];return x(this,st).forEach(a=>{(!i||a.name===i)&&n.push(a),a instanceof ue&&h.push(a.getAllNestedSymbols(i))}),(await Promise.all(h)).forEach(a=>{n.push(...a)}),n}getAllNestedSymbolsSync(i){const n=[];return x(this,st).forEach(h=>{(!i||h.name===i)&&n.push(h),h instanceof ue&&n.push(...h.getAllNestedSymbolsSync(i))}),n}getSymbolsOfType(i){return new Promise(n=>{const h=[];x(this,st).forEach(c=>{c instanceof i&&h.push(c)}),n(h)})}async getAllSymbols(i,n=!1){const h=[];for(const c of x(this,st))if(c instanceof i&&h.push(c),this.isNamespace(c)){const a=await c.getAllSymbols(i,!0);h.push(...a)}if(!n&&this.parent){const c=await this.getAllSymbols(i,!0);h.push(...c)}return h}getAllSymbolsSync(i,n=!1){const h=[];for(const c of x(this,st))if(c instanceof i&&h.push(c),this.isNamespace(c)){const a=c.getAllSymbolsSync(i,!0);h.push(...a)}if(!n&&this.parent){const c=this.getAllSymbolsSync(i,!0);h.push(...c)}return h}async resolve(i,n=!1){return new Promise(h=>{for(const c of x(this,st))if(c.name===i){h(c);return}if(!n&&this.parent){h(this.parent.resolve(i,!1));return}h(void 0)})}resolveSync(i,n=!1){for(const h of x(this,st))if(h.name===i)return h;if(!n&&this.parent)return this.parent.resolveSync(i,!1)}symbolFromPath(i,n="."){const h=i.split(n);let c=0;(h[0]===this.name||h[0].length===0)&&++c;let a=this;for(;cW.name===h[c]);if(!_)return;a=_,++c}return a}indexOfChild(i){return x(this,st).findIndex(n=>n===i)}nextSiblingOf(i){const n=this.indexOfChild(i);if(!(n===-1||n>=x(this,st).length-1))return x(this,st)[n+1]}previousSiblingOf(i){const n=this.indexOfChild(i);if(!(n<1))return x(this,st)[n-1]}nextOf(i){if(!i.parent)return;if(i.parent!==this)return i.parent.nextOf(i);if(i instanceof ue&&i.children.length>0)return i.children[0];const n=this.nextSiblingOf(i);return n||this.parent.nextOf(this)}isNamespace(i){return i.inline!==void 0&&i.attributes!==void 0}},st=new WeakMap,be=new WeakMap,ut(ue,"ScopedSymbol"),ue);ys=class extends W0{},ut(ys,"BlockSymbol");var eo=(Hs=class extends _0{constructor(i,n){super(i);o(this,"type");this.type=n}},ut(Hs,"TypedSymbol"),Hs),a7=(ws=class extends eo{constructor(i,n,h){super(i,h);o(this,"value");this.value=n}},ut(ws,"VariableSymbol"),ws),io=(bs=class extends a7{constructor(){super(...arguments);o(this,"setter");o(this,"getter")}},ut(bs,"FieldSymbol"),bs),Tl=(vs=class extends a7{},ut(vs,"ParameterSymbol"),vs),ll=(Fs=class extends W0{constructor(i,n){super(i);o(this,"returnType");this.returnType=n}getVariables(i=!0){return this.getSymbolsOfType(a7)}getParameters(i=!0){return this.getSymbolsOfType(Tl)}},ut(Fs,"RoutineSymbol"),Fs),no=(Gs=class extends ll{constructor(){super(...arguments);o(this,"methodFlags",0)}},ut(Gs,"MethodSymbol"),Gs);Bs=class extends W0{constructor(i,n,h){super(i);o(this,"isStruct",!1);o(this,"reference",0);o(this,"extends");o(this,"implements");this.extends=n,this.implements=h}get baseTypes(){return this.extends}get kind(){return 7}getMethods(i=!1){return this.getSymbolsOfType(no)}getFields(i=!1){return this.getSymbolsOfType(io)}},ut(Bs,"ClassSymbol"),te=class{constructor(e,i=0,n=0){o(this,"name");o(this,"typeKind");o(this,"referenceKind");this.name=e,this.typeKind=i,this.referenceKind=n}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ut(te,"FundamentalType"),o(te,"integerType",new te("int",1,3)),o(te,"floatType",new te("float",2,3)),o(te,"stringType",new te("string",4,3)),o(te,"boolType",new te("bool",6,3)),Vs=class extends W0{constructor(i,n){super(i);o(this,"reference",0);o(this,"extends");this.extends=n}get baseTypes(){return this.extends}get kind(){return 8}getMethods(i=!1){return this.getSymbolsOfType(no)}getFields(i=!1){return this.getSymbolsOfType(io)}},ut(Vs,"InterfaceSymbol"),Ys=class extends eo{constructor(i,n,h){super(i,h);o(this,"value");this.value=n}},ut(Ys,"LiteralSymbol");var Uc=(Xs=class extends W0{constructor(i,n=!1,h=[]){super(i);o(this,"inline");o(this,"attributes");this.inline=n,this.attributes=h}},ut(Xs,"NamespaceSymbol"),Xs);Qs=class extends _0{constructor(i,n){super(i);o(this,"targetType");this.targetType=n}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ut(Qs,"TypeAlias");var rl=ut((s,e)=>{if(!s||!e)return[];let i;for(i=0;i=e||_.type===L.EOF)||_.type===L.EOF)break}const c=[],a=i?i.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[a],0,c,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const W of this.candidates.rules){let R="";for(const A of W[1].ruleList)R+=this.ruleNames[A]+" ";console.log(this.ruleNames[W[0]]+", path: ",R)}const _=new Set;for(const W of this.candidates.tokens){let R=this.vocabulary.getDisplayName(W[0])??"";for(const A of W[1])R+=" "+this.vocabulary.getDisplayName(A);_.add(R)}console.log(` - -Collected tokens: -`);for(const W of _)console.log(W);console.log(` - -`)}return this.candidates}checkPredicate(e){return e.getPredicate().evaluate(this.parser,u.EMPTY)}translateStackToRuleIndex(e){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let i=e.length-1;i>=0;i--)if(this.translateToRuleIndex(i,e))return!0}else for(let i=0;i_);let a=!0;for(const _ of this.candidates.rules)if(!(_[0]!==n||_[1].ruleList.length!==c.length)&&c.every((W,R)=>W===_[1].ruleList[R])){a=!1;break}return a&&(this.candidates.rules.set(n,{startTokenIndex:h,ruleList:c}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[n])),!0}return!1}getFollowingTokens(e){const i=[],n=[e.target];for(;n.length>0;){const h=n.pop();h&&h.transitions.forEach(c=>{if(c.serializationType===w.ATOM)if(c.isEpsilon)n.push(c.target);else{const a=c.label.toArray();a.length===1&&!this.ignoredTokens.has(a[0])&&(i.push(a[0]),n.push(c.target))}})}return i}determineFollowSets(e,i){const n=[],h=[],c=[],a=this.collectFollowSets(e,i,n,h,c),_=new Dt;for(const W of n)_.addSet(W.intervals);return{sets:n,isExhaustive:a,combined:_}}collectFollowSets(e,i,n,h,c){if(h.find(_=>_===e))return!0;if(h.push(e),e===i||e.stateType===Z.RULE_STOP)return h.pop(),!1;let a=!0;for(const _ of e.transitions)if(_.serializationType===w.RULE){const W=_;if(c.indexOf(W.target.ruleIndex)!==-1)continue;c.push(W.target.ruleIndex);const R=this.collectFollowSets(_.target,i,n,h,c);if(c.pop(),!R){const A=this.collectFollowSets(W.followState,i,n,h,c);a&&(a=A)}}else if(_.serializationType===w.PREDICATE){if(this.checkPredicate(_)){const W=this.collectFollowSets(_.target,i,n,h,c);a&&(a=W)}}else if(_.isEpsilon){const W=this.collectFollowSets(_.target,i,n,h,c);a&&(a=W)}else if(_.serializationType===w.WILDCARD){const W=new so;W.intervals=Dt.of(L.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),W.path=c.slice(),n.push(W)}else{let W=_.label;if(W&&W.length>0){_.serializationType===w.NOT_SET&&(W=W.complement(L.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const R=new so;R.intervals=W??new Dt,R.path=c.slice(),R.following=this.getFollowingTokens(_),n.push(R)}}return h.pop(),a}processRule(e,i,n,h,c){let a=this.shortcutMap.get(e.ruleIndex);if(!a)a=new Map,this.shortcutMap.set(e.ruleIndex,a);else if(a.has(i))return this.showDebugOutput&&console.log("=====> shortcut"),a.get(i);const _=new Set;let W=de.followSetsByATN.get(this.parser.constructor.name);W||(W=new Map,de.followSetsByATN.set(this.parser.constructor.name,W));let R=W.get(e.stateNumber);if(!R){const O=this.atn.ruleToStopState[e.ruleIndex];R=this.determineFollowSets(e,O),W.set(e.stateNumber,R)}const A=this.tokens[i].tokenIndex;if(n.push({startTokenIndex:A,ruleIndex:e.ruleIndex}),i>=this.tokens.length-1){if(this.preferredRules.has(e.ruleIndex))this.translateStackToRuleIndex(n);else for(const O of R.sets){const m=n.slice(),f=O.path.map(k=>({startTokenIndex:A,ruleIndex:k}));if(m.push(...f),!this.translateStackToRuleIndex(m))for(const k of O.intervals.toArray())this.ignoredTokens.has(k)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(k)),this.candidates.tokens.has(k)?this.candidates.tokens.get(k)!==O.following&&this.candidates.tokens.set(k,[]):this.candidates.tokens.set(k,O.following))}return R.isExhaustive||_.add(i),n.pop(),_}else{const O=this.tokens[i].type;if(R.isExhaustive&&!R.combined.contains(O))return n.pop(),_}e.isPrecedenceRule&&this.precedenceStack.push(h);const T=[];let l;for(T.push({state:e,tokenListIndex:i});T.length>0;){l=T.pop(),++this.statesProcessed;const O=this.tokens[l.tokenListIndex].type,m=l.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(c,l.state,this.generateBaseDescription(l.state),l.tokenListIndex),this.showRuleStack&&this.printRuleState(n)),l.state.stateType===Z.RULE_STOP){_.add(l.tokenListIndex);continue}const f=l.state.transitions;for(const k of f)switch(k.serializationType){case w.RULE:{const F=k,d=this.processRule(k.target,l.tokenListIndex,n,F.precedence,c+1);for(const p of d)T.push({state:k.followState,tokenListIndex:p});break}case w.PREDICATE:{this.checkPredicate(k)&&T.push({state:k.target,tokenListIndex:l.tokenListIndex});break}case w.PRECEDENCE:{k.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&T.push({state:k.target,tokenListIndex:l.tokenListIndex});break}case w.WILDCARD:{if(m){if(!this.translateStackToRuleIndex(n))for(const F of Dt.of(L.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(F)||this.candidates.tokens.set(F,[])}else T.push({state:k.target,tokenListIndex:l.tokenListIndex+1});break}default:{if(k.isEpsilon){T.push({state:k.target,tokenListIndex:l.tokenListIndex});continue}let F=k.label;if(F&&F.length>0)if(k.serializationType===w.NOT_SET&&(F=F.complement(L.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),m){if(!this.translateStackToRuleIndex(n)){const d=F.toArray(),p=d.length===1;for(const N of d)if(!this.ignoredTokens.has(N)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(N));const I=p?this.getFollowingTokens(k):[];this.candidates.tokens.has(N)?this.candidates.tokens.set(N,rl(I,this.candidates.tokens.get(N))):this.candidates.tokens.set(N,I)}}}else F.contains(O)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(O)),T.push({state:k.target,tokenListIndex:l.tokenListIndex+1}))}}}return n.pop(),e.isPrecedenceRule&&this.precedenceStack.pop(),a.set(i,_),_}generateBaseDescription(e){return`[${e.stateNumber===me.INVALID_STATE_NUMBER?"Invalid":e.stateNumber} ${de.atnStateTypeMap[e.stateType]}] in ${this.ruleNames[e.ruleIndex]}`}printDescription(e,i,n,h){const c=" ".repeat(e);let a=c,_="";if(this.debugOutputWithTransitions)for(const W of i.transitions){let R="";const A=W.label?W.label.toArray():[];if(A.length>2)R=this.vocabulary.getDisplayName(A[0])+" .. "+this.vocabulary.getDisplayName(A[A.length-1]);else for(const T of A)R.length>0&&(R+=", "),R+=this.vocabulary.getDisplayName(T);R.length===0&&(R="ε"),_+=` -${c} (${R}) [${W.target.stateNumber} ${de.atnStateTypeMap[W.target.stateType]}] in ${this.ruleNames[W.target.ruleIndex]}`}h>=this.tokens.length-1?a+=`<<${this.tokenStartIndex+h}>> `:a+=`<${this.tokenStartIndex+h}> `,console.log(a+"Current state: "+n+_)}printRuleState(e){if(e.length===0){console.log("");return}for(const i of e)console.log(this.ruleNames[i.ruleIndex])}},ut(de,"CodeCompletionCore"),o(de,"followSetsByATN",new Map),o(de,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),de);js=class extends W0{constructor(i,n){super(i);o(this,"dependencies",new Set);this.options=n}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...i){i.forEach(n=>{this.dependencies.add(n)})}removeDependency(i){this.dependencies.has(i)&&this.dependencies.delete(i)}addNewSymbolOfType(i,n,...h){const c=new i(...h);return!n||n===this?this.addSymbol(c):n.addSymbol(c),c}async addNewNamespaceFromPath(i,n,h="."){const c=n.split(h);let a=0,_=i===void 0?this:i;for(;aa.getAllSymbols(i,n)))).forEach(a=>{h.push(...a)}),h}getAllSymbolsSync(i,n=!1){const h=super.getAllSymbolsSync(i,n);return n||this.dependencies.forEach(c=>{h.push(...c.getAllSymbolsSync(i,n))}),h}async symbolWithContext(i){const n=ut(c=>{if(c.context===i)return c;if(c instanceof W0)for(const a of c.children){const _=n(a);if(_)return _}},"findRecursive");let h=await this.getAllSymbols(_0);for(const c of h){const a=n(c);if(a)return a}for(const c of this.dependencies){h=await c.getAllSymbols(_0);for(const a of h){const _=n(a);if(_)return _}}}symbolWithContextSync(i){const n=ut(c=>{if(c.context===i)return c;if(c instanceof W0)for(const a of c.children){const _=n(a);if(_)return _}},"findRecursive");let h=this.getAllSymbolsSync(_0);for(const c of h){const a=n(c);if(a)return a}for(const c of this.dependencies){h=c.getAllSymbolsSync(_0);for(const a of h){const _=n(a);if(_)return _}}}async resolve(i,n=!1){let h=await super.resolve(i,n);if(!h&&!n){for(const c of this.dependencies)if(h=await c.resolve(i,!1),h)return h}return h}resolveSync(i,n=!1){let h=super.resolveSync(i,n);if(!h&&!n){for(const c of this.dependencies)if(h=c.resolveSync(i,!1),h)return h}return h}},ut(js,"SymbolTable");function ho(s,e){var i,n;const{lineNumber:h,column:c}=s;let a=0,_=e.length-1;for(;a<=_;){const W=a+(_-a>>1),R=e[W];if(R.line>h||R.line===h&&R.column+1>=c)_=W-1;else if(R.line{this._parseErrors.push(e)}}createLexer(e,i){const n=ra.fromString(e),h=this.createLexerFromCharStream(n);return i&&(h.removeErrorListeners(),h.addErrorListener(new kc(i))),h}createParser(e,i){const n=this.createLexer(e,i),h=new Kh(n),c=this.createParserFromTokenStream(h);return c.interpreter.predictionMode=dt.SLL,i&&(c.removeErrorListeners(),c.addErrorListener(new kc(i))),c}parse(e,i){const n=this.createParser(e,i);return n.buildParseTrees=!0,n.errorHandler=new u7,n.program()}createParserWithCache(e){return this._parseTree=null,this._charStreams=ra.fromString(e),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new kc(this._errorListener)),this._tokenStream=new Kh(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=dt.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new u7,this._parser}parseWithCache(e,i){if(this._parsedInput===e&&!i&&this._parseTree)return this._parseTree;this._parseErrors=[];const n=this.createParserWithCache(e);return this._parsedInput=e,n.removeErrorListeners(),n.addErrorListener(new kc(this._errorListener)),this._parseTree=n.program(),this._parseTree}validate(e){return this.parseWithCache(e),this._parseErrors}getAllTokens(e){this.parseWithCache(e);let i=this._tokenStream.getTokens();return i[i.length-1].text===""&&(i=i.slice(0,-1)),i}listen(e,i){AT.DEFAULT.walk(e,i)}splitSQLByStatement(e){if(this.validate(e).length||!this._parseTree)return null;const n=this.splitListener;return n?(this.listen(n,this._parseTree),n.statementsContext.map(c=>co(c,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(e,i){var n,h,c,a,_,W,R,A,T;const l=this.splitListener;if(!l||(this.parseWithCache(e),!this._parseTree))return null;let O=this._parser;const m=this.getAllTokens(e);let f=ho(i,m),k=this._parseTree,F=0;if(!f&&f!==0)return null;this.listen(l,this._parseTree);const d=(n=l.statementsContext)===null||n===void 0?void 0:n.length,p=l.statementsContext;if(d>1){let M=null,z=null;for(let P0=0;P0f&&wl){z=ti;break}}const Ct=(_=(a=M==null?void 0:M.start)===null||a===void 0?void 0:a.start)!==null&&_!==void 0?_:0,g=(R=(W=z==null?void 0:z.stop)===null||W===void 0?void 0:W.stop)!==null&&R!==void 0?R:e.length-1;F=(T=(A=M==null?void 0:M.start)===null||A===void 0?void 0:A.tokenIndex)!==null&&T!==void 0?T:0,f=f-F;const V=e.slice(Ct,g),Oe=this.createLexer(V);Oe.removeErrorListeners();const Eo=new Kh(Oe);Eo.fill();const Zi=this.createParserFromTokenStream(Eo);Zi.interpreter.predictionMode=dt.SLL,Zi.removeErrorListeners(),Zi.buildParseTrees=!0,Zi.errorHandler=new u7,O=Zi,k=Zi.program()}const N=new pl(O);N.preferredRules=this.preferredRules;const I=N.collectCandidates(f,k),G=this.processCandidates(I,m,f,F);return{syntax:G.syntax.map(M=>{const z=M.wordRanges.map(Ct=>dl(Ct,this._parsedInput));return{syntaxContextType:M.syntaxContextType,wordRanges:z}}),keywords:G.keywords}}getAllEntities(e,i){const n=this.getAllTokens(e),h=i?ho(i,n):void 0,c=this.createEntityCollector(e,h);if(!c)return null;const a=this.parseWithCache(e);return this.listen(c,a),c.getEntities()}}class ao{constructor(){this.stack=[]}push(e){this.stack.push(e)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var uo=function(s,e){var i={};for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&e.indexOf(n)<0&&(i[n]=s[n]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,n=Object.getOwnPropertySymbols(s);h=0&&(h=!!e.start&&!!e.stop&&e.start.tokenIndex<=this._caretTokenIndex&&e.stop.tokenIndex>=this._caretTokenIndex);const c=xl(e,i,this._input,this._rootStmt,this._stmtStack.peek(),h);return c&&((this._stmtStack.isEmpty()||((n=this._stmtStack.peek())===null||n===void 0?void 0:n.stmtContextType)===Ht.COMMON_STMT)&&(this._rootStmt=c),this._stmtStack.push(c)),c}popStmt(){const e=this._stmtStack.pop();return e&&this._rootStmt===e&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(e)),e}pushEntity(e,i,n){const h=ml(e,i,this._input,this._stmtStack.peek(),n);return h&&(this._stmtStack.isEmpty()?this._entitiesSet.add(h):this._entityStack.push(h)),h}combineEntitiesAndAdd(e){const i=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===e||this._entityStack.peek().belongStmt.rootStmt===e);)i.unshift(this._entityStack.pop());const n=this.combineRootStmtEntities(e,i);for(;n.length;){const h=n.shift();h&&this._entitiesSet.add(h)}}combineRootStmtEntities(e,i){return e.stmtContextType===Ht.CREATE_VIEW_STMT||e.stmtContextType===Ht.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(e,i):i}combineCreateTableOrViewStmtEntities(e,i){const n=[],h=[];let c=null;const a=i.reduce((_,W)=>{if(W.belongStmt!==e)return W.entityContextType!==P.COLUMN&&W.entityContextType!==P.COLUMN_CREATE&&(h.push(W),_.push(W)),_;if(W.entityContextType===P.COLUMN_CREATE)n.push(W);else{if(W.entityContextType===P.TABLE_CREATE||W.entityContextType===P.VIEW_CREATE)return c=W,_.push(W),_;W.entityContextType!==P.COLUMN&&(h.push(W),_.push(W))}return _},[]);return c&&n.length&&(c.columns=n),c&&h.length&&(c.relatedEntities=h),a}}class fl extends Il{exitDatabaseName(e){this.pushEntity(e,P.DATABASE)}exitDatabaseNameCreate(e){this.pushEntity(e,P.DATABASE_CREATE)}exitTableName(e){this.pushEntity(e,P.TABLE)}exitTableNameCreate(e){this.pushEntity(e,P.TABLE_CREATE)}exitViewName(e){this.pushEntity(e,P.VIEW)}exitViewNameCreate(e){this.pushEntity(e,P.VIEW_CREATE)}exitFunctionNameCreate(e){this.pushEntity(e,P.FUNCTION_CREATE)}exitColumnNameCreate(e){this.pushEntity(e,P.COLUMN_CREATE)}enterSingleStatement(e){this.pushStmt(e,Ht.COMMON_STMT)}exitSingleStatement(e){this.popStmt()}enterCreateDatabase(e){this.pushStmt(e,Ht.CREATE_DATABASE_STMT)}exitCreateDatabase(e){this.popStmt()}enterQueryCreateTable(e){this.pushStmt(e,Ht.CREATE_TABLE_STMT)}exitQueryCreateTable(e){this.popStmt()}enterColumnCreateTable(e){this.pushStmt(e,Ht.CREATE_TABLE_STMT)}exitColumnCreateTable(e){this.popStmt()}enterCreateForeignTable(e){this.pushStmt(e,Ht.CREATE_TABLE_STMT)}exitCreateForeignTable(e){this.popStmt()}enterCreatePartitionForeignTable(e){this.pushStmt(e,Ht.CREATE_TABLE_STMT)}exitCreatePartitionForeignTable(e){this.popStmt()}enterCreateView(e){this.pushStmt(e,Ht.CREATE_VIEW_STMT)}exitCreateView(e){this.popStmt()}enterCreateMaterializedView(e){this.pushStmt(e,Ht.CREATE_VIEW_STMT)}exitCreateMaterializedView(e){this.popStmt()}enterSelectStatement(e){this.pushStmt(e,Ht.SELECT_STMT)}exitSelectStatement(e){this.popStmt()}enterInsertStatement(e){this.pushStmt(e,Ht.INSERT_STMT)}exitInsertStatement(e){this.popStmt()}enterCreatefunctionstmt(e){this.pushStmt(e,Ht.CREATE_FUNCTION_STMT)}exitCreatefunctionstmt(e){this.popStmt()}}class Ul{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class kl extends Ul{exitSingleStmt(e){this._statementsContext.push(e)}}class Dl extends Ll{constructor(){super(...arguments),this.preferredRules=new Set([t.RULE_table_name_create,t.RULE_table_name,t.RULE_function_name,t.RULE_function_name_create,t.RULE_schema_name_create,t.RULE_schema_name,t.RULE_view_name_create,t.RULE_view_name,t.RULE_database_name_create,t.RULE_database_name,t.RULE_procedure_name_create,t.RULE_procedure_name,t.RULE_column_name_create,t.RULE_column_name])}createLexerFromCharStream(e){return new K(e)}createParserFromTokenStream(e){return new t(e)}get splitListener(){return new kl}createEntityCollector(e,i){return new fl(e,i)}processCandidates(e,i,n,h){const c=[],a=[];for(let _ of e.rules){const[W,R]=_,A=R.startTokenIndex+h,T=i.slice(A,n+h+1);let l;switch(W){case t.RULE_table_name_create:{l=P.TABLE_CREATE;break}case t.RULE_table_name:{l=P.TABLE;break}case t.RULE_function_name_create:{l=P.FUNCTION_CREATE;break}case t.RULE_function_name:{l=P.FUNCTION;break}case t.RULE_schema_name_create:{l=P.DATABASE_CREATE;break}case t.RULE_schema_name:{l=P.DATABASE;break}case t.RULE_view_name_create:{l=P.VIEW_CREATE;break}case t.RULE_view_name:{l=P.VIEW;break}case t.RULE_database_name_create:{l=P.DATABASE_CREATE;break}case t.RULE_database_name:{l=P.DATABASE;break}case t.RULE_procedure_name_create:{l=P.PROCEDURE_CREATE;break}case t.RULE_procedure_name:{l=P.PROCEDURE;break}case t.RULE_column_name_create:{l=P.COLUMN_CREATE;break}case t.RULE_column_name:{l=P.COLUMN;break}}l&&c.push({syntaxContextType:l,wordRanges:T})}for(let _ of e.tokens){const W=this._parser.vocabulary.getSymbolicName(_[0]),R=this._parser.vocabulary.getDisplayName(_[0]);if(R&&W&&W.startsWith("KW_")){const A=R.startsWith("'")&&R.endsWith("'")?R.slice(1,-1):R;a.push(A)}}return{syntax:c,keywords:a}}}var G1=function(s,e,i,n){function h(c){return c instanceof i?c:new i(function(a){a(c)})}return new(i||(i=Promise))(function(c,a){function _(A){try{R(n.next(A))}catch(T){a(T)}}function W(A){try{R(n.throw(A))}catch(T){a(T)}}function R(A){A.done?c(A.value):h(A.value).then(_,W)}R((n=n.apply(s,e||[])).next())})};class Ml{constructor(e,i){this.keywords=[]}doValidation(e){return G1(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const i=this.parser.validate(e);return Promise.resolve(i)}return Promise.resolve([])})}parserTreeToString(e){return G1(this,void 0,void 0,function*(){if(e){const i=this.parser.createParser(e),h=i.program().toStringTree(i);return Promise.resolve(h)}return Promise.resolve("")})}doCompletion(e,i){return G1(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const n=this.parser.getSuggestionAtCaretPosition(e,i);return Promise.resolve(n)}return Promise.resolve(null)})}doCompletionWithEntities(e,i){return G1(this,void 0,void 0,function*(){var n;if(e=e||this.getTextDocument(),e){const h=this.parser.getSuggestionAtCaretPosition(e,i);let c=null;return!((n=h==null?void 0:h.syntax)===null||n===void 0)&&n.length&&(c=this.parser.getAllEntities(e,i)),Promise.resolve([h,c])}return Promise.resolve([null,null])})}getAllEntities(e,i){return G1(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const n=this.parser.getAllEntities(e,i);return Promise.resolve(n)}return Promise.resolve(null)})}getTextDocument(){const e=this._ctx.getMirrorModels()[0];return e&&e.getValue()}}class yl extends Ml{constructor(e,i){super(e,i),this._ctx=e,this.parser=new Dl}}self.onmessage=()=>{p4((s,e)=>new yl(s,e))}})(); diff --git a/assets/pgsql.worker-fd5fcc44.js b/assets/pgsql.worker-fd5fcc44.js new file mode 100644 index 00000000..3485593f --- /dev/null +++ b/assets/pgsql.worker-fd5fcc44.js @@ -0,0 +1,22 @@ +var Lu=Object.defineProperty;var Ou=(Kt,at,Nt)=>at in Kt?Lu(Kt,at,{enumerable:!0,configurable:!0,writable:!0,value:Nt}):Kt[at]=Nt;var A=(Kt,at,Nt)=>(Ou(Kt,typeof at!="symbol"?at+"":at,Nt),Nt),p3=(Kt,at,Nt)=>{if(!at.has(Kt))throw TypeError("Cannot "+Nt)};var x=(Kt,at,Nt)=>(p3(Kt,at,"read from private field"),Nt?Nt.call(Kt):at.get(Kt)),q=(Kt,at,Nt)=>{if(at.has(Kt))throw TypeError("Cannot add the same private member more than once");at instanceof WeakSet?at.add(Kt):at.set(Kt,Nt)},z=(Kt,at,Nt,$1)=>(p3(Kt,at,"write to private field"),$1?$1.call(Kt,Nt):at.set(Kt,Nt),Nt);var f3=(Kt,at,Nt)=>(p3(Kt,at,"access private method"),Nt);(function(){var M1,Xi,Qi,ze,$0,H1,Zi,Ie,N0,C0,J0,Tt,ri,S0,ji,ae,He,zi,I0,ye,g0,y1,$i,q0,L0,Ji,Si,gi,te,qi,Pi,P0,tn,F1,w1,b1,en,O0,nn,cn,v1,sn,G1,$e,hn,bt,an,En,Wn,tt,ft,Wt,Kn,d0,un,Rn,Tn,m0,B1,o0,An,_n,Nn,Cn,In,Ln,On,dn,mn,on,pn,fn,xn,Un,ln,kn,Dn,Mn,Hn,t1,V1,Y1,e1,X1,Q1,i1,Z1,p0,yn,Fn,vt,G,wn,bn,vn,Gn,Bn,Vn,Yn,Je,Se,Xn,Qn,Zn,r1,rn,jn,n1,zn,x3,$n,Jn,Sn,gn,X,qn,Pn,tc,ec,ic,nc,cc,sc,f0,hc,ac,Ec,Wc,Kc,uc,Rc,Tc,Ac,_c,Nc,Cc,Ic,Lc,Wh,Oc,dc,mc,oc,Le,pc,fc,xc,Kh,j1,Uc,$t,lc,kc,Dc,Mc,_t,Hc,yc,Fc,st,Fe,Ee,wc,bc,vc,Gc,Bc,Vc,Yc,Xc,ee,Qc,Zc,rc,jc,zc,$c,Oe,Jc;"use strict";class Kt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?new Error(e.message+` + +`+e.stack):e},0)}}emit(e){this.listeners.forEach(i=>{i(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const at=new Kt;function Nt(c){rW(c)||at.onUnexpectedError(c)}function $1(c){if(c instanceof Error){let{name:e,message:i}=c;const n=c.stacktrace||c.stack;return{$isError:!0,name:e,message:i,stack:n}}return c}const U3="Canceled";function rW(c){return c instanceof Error&&c.name===U3&&c.message===U3}function jW(c){const e=this;let i=!1,n;return function(){return i||(i=!0,n=c.apply(e,arguments)),n}}var uh;(function(c){function e(m){return m&&typeof m=="object"&&typeof m[Symbol.iterator]=="function"}c.is=e;const i=Object.freeze([]);function n(){return i}c.empty=n;function*s(m){yield m}c.single=s;function h(m){return m||i}c.from=h;function a(m){return!m||m[Symbol.iterator]().next().done===!0}c.isEmpty=a;function E(m){return m[Symbol.iterator]().next().value}c.first=E;function W(m,O){for(const U of m)if(O(U))return!0;return!1}c.some=W;function u(m,O){for(const U of m)if(O(U))return U}c.find=u;function*_(m,O){for(const U of m)O(U)&&(yield U)}c.filter=_;function*N(m,O){let U=0;for(const l of m)yield O(l,U++)}c.map=N;function*C(...m){for(const O of m)for(const U of O)yield U}c.concat=C;function*d(m){for(const O of m)for(const U of O)yield U}c.concatNested=d;function f(m,O,U){let l=U;for(const v of m)l=O(l,v);return l}c.reduce=f;function*k(m,O,U=m.length){for(O<0&&(O+=m.length),U<0?U+=m.length:U>m.length&&(U=m.length);Ol===v){const l=m[Symbol.iterator](),v=O[Symbol.iterator]();for(;;){const w=l.next(),H=v.next();if(w.done!==H.done)return!1;if(w.done)return!0;if(!U(w.value,H.value))return!1}}c.equals=F})(uh||(uh={}));function du(c){return c}function mu(c,e){}class zW extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function l3(c){if(uh.is(c)){let e=[];for(const i of c)if(i)try{i.dispose()}catch(n){e.push(n)}if(e.length===1)throw e[0];if(e.length>1)throw new zW(e);return Array.isArray(c)?[]:c}else if(c)return c.dispose(),c}function $W(...c){return k3(()=>l3(c))}function k3(c){return{dispose:jW(()=>{c()})}}class J1{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{l3(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?J1.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}J1.DISABLE_DISPOSED_WARNING=!1;class D3{constructor(){this._store=new J1,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}D3.None=Object.freeze({dispose(){}});class et{constructor(e){this.element=e,this.next=et.Undefined,this.prev=et.Undefined}}et.Undefined=new et(void 0);class M3{constructor(){this._first=et.Undefined,this._last=et.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===et.Undefined}clear(){let e=this._first;for(;e!==et.Undefined;){const i=e.next;e.prev=et.Undefined,e.next=et.Undefined,e=i}this._first=et.Undefined,this._last=et.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,i){const n=new et(e);if(this._first===et.Undefined)this._first=n,this._last=n;else if(i){const h=this._last;this._last=n,n.prev=h,h.next=n}else{const h=this._first;this._first=n,n.next=h,h.prev=n}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(n))}}shift(){if(this._first!==et.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==et.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==et.Undefined&&e.next!==et.Undefined){const i=e.prev;i.next=e.next,e.next.prev=i}else e.prev===et.Undefined&&e.next===et.Undefined?(this._first=et.Undefined,this._last=et.Undefined):e.next===et.Undefined?(this._last=this._last.prev,this._last.next=et.Undefined):e.prev===et.Undefined&&(this._first=this._first.next,this._first.prev=et.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==et.Undefined;)yield e.element,e=e.next}}var Rh;const Sc="en";let Th=!1,Ah=!1,_h=!1,S1,gc=Sc,JW,x0;const kt=typeof self=="object"?self:typeof global=="object"?global:{};let Gt;typeof kt.vscode<"u"&&typeof kt.vscode.process<"u"?Gt=kt.vscode.process:typeof process<"u"&&(Gt=process);const SW=typeof((Rh=Gt==null?void 0:Gt.versions)===null||Rh===void 0?void 0:Rh.electron)=="string"&&(Gt==null?void 0:Gt.type)==="renderer";if(typeof navigator=="object"&&!SW)x0=navigator.userAgent,Th=x0.indexOf("Windows")>=0,Ah=x0.indexOf("Macintosh")>=0,(x0.indexOf("Macintosh")>=0||x0.indexOf("iPad")>=0||x0.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,_h=x0.indexOf("Linux")>=0,S1=navigator.language,gc=S1;else if(typeof Gt=="object"){Th=Gt.platform==="win32",Ah=Gt.platform==="darwin",_h=Gt.platform==="linux",_h&&Gt.env.SNAP&&Gt.env.SNAP_REVISION,S1=Sc,gc=Sc;const c=Gt.env.VSCODE_NLS_CONFIG;if(c)try{const e=JSON.parse(c),i=e.availableLanguages["*"];S1=e.locale,gc=i||Sc,JW=e._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const g1=Th,gW=Ah,qW=gc,PW=S1;(()=>{if(typeof kt.postMessage=="function"&&!kt.importScripts){let c=[];kt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let n=0,s=c.length;n{const n=++e;c.push({id:n,callback:i}),kt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return c=>setTimeout(c)})();const tK=kt.performance&&typeof kt.performance.now=="function";class qc{constructor(e){this._highResolution=tK&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new qc(e)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?kt.performance.now():Date.now()}}var Nh;(function(c){c.None=()=>D3.None;function e(m){return(O,U=null,l)=>{let v=!1,w;return w=m(H=>{if(!v)return w?w.dispose():v=!0,O.call(U,H)},null,l),v&&w.dispose(),w}}c.once=e;function i(m,O){return W((U,l=null,v)=>m(w=>U.call(l,O(w)),null,v))}c.map=i;function n(m,O){return W((U,l=null,v)=>m(w=>{O(w),U.call(l,w)},null,v))}c.forEach=n;function s(m,O){return W((U,l=null,v)=>m(w=>O(w)&&U.call(l,w),null,v))}c.filter=s;function h(m){return m}c.signal=h;function a(...m){return(O,U=null,l)=>$W(...m.map(v=>v(w=>O.call(U,w),null,l)))}c.any=a;function E(m,O,U){let l=U;return i(m,v=>(l=O(l,v),l))}c.reduce=E;function W(m){let O;const U=new ge({onFirstListenerAdd(){O=m(U.fire,U)},onLastListenerRemove(){O.dispose()}});return U.event}function u(m,O,U=100,l=!1,v){let w,H,r,Lt=0;const g=new ge({leakWarningThreshold:v,onFirstListenerAdd(){w=m(V=>{Lt++,H=O(H,V),l&&!r&&(g.fire(H),H=void 0),clearTimeout(r),r=setTimeout(()=>{const de=H;H=void 0,r=void 0,(!l||Lt>1)&&g.fire(de),Lt=0},U)})},onLastListenerRemove(){w.dispose()}});return g.event}c.debounce=u;function _(m,O=(U,l)=>U===l){let U=!0,l;return s(m,v=>{const w=U||!O(v,l);return U=!1,l=v,w})}c.latch=_;function N(m,O){return[c.filter(m,O),c.filter(m,U=>!O(U))]}c.split=N;function C(m,O=!1,U=[]){let l=U.slice(),v=m(r=>{l?l.push(r):H.fire(r)});const w=()=>{l&&l.forEach(r=>H.fire(r)),l=null},H=new ge({onFirstListenerAdd(){v||(v=m(r=>H.fire(r)))},onFirstListenerDidAdd(){l&&(O?setTimeout(w):w())},onLastListenerRemove(){v&&v.dispose(),v=null}});return H.event}c.buffer=C;class d{constructor(O){this.event=O}map(O){return new d(i(this.event,O))}forEach(O){return new d(n(this.event,O))}filter(O){return new d(s(this.event,O))}reduce(O,U){return new d(E(this.event,O,U))}latch(){return new d(_(this.event))}debounce(O,U=100,l=!1,v){return new d(u(this.event,O,U,l,v))}on(O,U,l){return this.event(O,U,l)}once(O,U,l){return e(this.event)(O,U,l)}}function f(m){return new d(m)}c.chain=f;function k(m,O,U=l=>l){const l=(...r)=>H.fire(U(...r)),v=()=>m.on(O,l),w=()=>m.removeListener(O,l),H=new ge({onFirstListenerAdd:v,onLastListenerRemove:w});return H.event}c.fromNodeEventEmitter=k;function D(m,O,U=l=>l){const l=(...r)=>H.fire(U(...r)),v=()=>m.addEventListener(O,l),w=()=>m.removeEventListener(O,l),H=new ge({onFirstListenerAdd:v,onLastListenerRemove:w});return H.event}c.fromDOMEventEmitter=D;function F(m){return new Promise(O=>e(m)(O))}c.toPromise=F})(Nh||(Nh={}));class Pc{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${Pc._idPool++}`}start(e){this._stopWatch=new qc(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Pc._idPool=0;class ge{constructor(e){var i;this._disposed=!1,this._options=e,this._leakageMon=void 0,this._perfMon=!((i=this._options)===null||i===void 0)&&i._profName?new Pc(this._options._profName):void 0}get event(){return this._event||(this._event=(e,i,n)=>{var s;this._listeners||(this._listeners=new M3);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const a=this._listeners.push(i?[e,i]:e);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,i);const E=(s=this._leakageMon)===null||s===void 0?void 0:s.check(this._listeners.size),W=k3(()=>{E&&E(),this._disposed||(a(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return n instanceof J1?n.add(W):Array.isArray(n)&&n.push(W),W}),this._event}fire(e){var i,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new M3);for(let s of this._listeners)this._deliveryQueue.push([s,e]);for((i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[s,h]=this._deliveryQueue.shift();try{typeof s=="function"?s.call(void 0,h):s[0].call(s[1],h)}catch(a){Nt(a)}}(n=this._perfMon)===null||n===void 0||n.stop()}}dispose(){var e,i,n,s,h;this._disposed||(this._disposed=!0,(e=this._listeners)===null||e===void 0||e.clear(),(i=this._deliveryQueue)===null||i===void 0||i.clear(),(s=(n=this._options)===null||n===void 0?void 0:n.onLastListenerRemove)===null||s===void 0||s.call(n),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function eK(c){let e=[],i=Object.getPrototypeOf(c);for(;Object.prototype!==i;)e=e.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return e}function Ch(c){const e=[];for(const i of eK(c))typeof c[i]=="function"&&e.push(i);return e}function iK(c,e){const i=s=>function(){const h=Array.prototype.slice.call(arguments,0);return e(s,h)};let n={};for(const s of c)n[s]=i(s);return n}function nK(c,e="Unreachable"){throw new Error(e)}function cK(c){return c.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function sK(c){return c.split(/\r\n|\r|\n/)}function hK(c){for(let e=0,i=c.length;e=0;i--){const n=c.charCodeAt(i);if(n!==32&&n!==9)return i}return-1}function H3(c){return c>=65&&c<=90}function Ih(c){return 55296<=c&&c<=56319}function EK(c){return 56320<=c&&c<=57343}function WK(c,e){return(c-55296<<10)+(e-56320)+65536}function KK(c,e,i){const n=c.charCodeAt(i);if(Ih(n)&&i+1{this._pendingReplies[n]={resolve:s,reject:h},this._send(new RK(this._workerId,n,e,i))})}listen(e,i){let n=null;const s=new ge({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,s),this._send(new TK(this._workerId,n,e,i))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new _K(this._workerId,n)),n=null}});return s.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}let i=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),i.reject(n);return}i.resolve(e.res)}_handleRequestMessage(e){let i=e.req;this._handler.handleMessage(e.method,e.args).then(s=>{this._send(new y3(this._workerId,i,s,void 0))},s=>{s.detail instanceof Error&&(s.detail=$1(s.detail)),this._send(new y3(this._workerId,i,void 0,$1(s)))})}_handleSubscribeEventMessage(e){const i=e.req,n=this._handler.handleEvent(e.eventName,e.arg)(s=>{this._send(new AK(this._workerId,i,s))});this._pendingEvents.set(i,n)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){let i=[];if(e.type===0)for(let n=0;nfunction(){const E=Array.prototype.slice.call(arguments,0);return e(a,E)},s=a=>function(E){return i(a,E)};let h={};for(const a of c){if(w3(a)){h[a]=s(a);continue}if(F3(a)){h[a]=i(a,void 0);continue}h[a]=n(a)}return h}class IK{constructor(e,i){this._requestHandlerFactory=i,this._requestHandler=null,this._protocol=new NK({sendMessage:(n,s)=>{e(n,s)},handleMessage:(n,s)=>this._handleMessage(n,s),handleEvent:(n,s)=>this._handleEvent(n,s)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,i){if(e===uK)return this.initialize(i[0],i[1],i[2],i[3]);if(!this._requestHandler||typeof this._requestHandler[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,i))}catch(n){return Promise.reject(n)}}_handleEvent(e,i){if(!this._requestHandler)throw new Error("Missing requestHandler");if(w3(e)){const n=this._requestHandler[e].call(this._requestHandler,i);if(typeof n!="function")throw new Error(`Missing dynamic event ${e} on request handler.`);return n}if(F3(e)){const n=this._requestHandler[e];if(typeof n!="function")throw new Error(`Missing event ${e} on request handler.`);return n}throw new Error(`Malformed event name ${e}`)}initialize(e,i,n,s){this._protocol.setWorkerId(e);const E=CK(s,(W,u)=>this._protocol.sendMessage(W,u),(W,u)=>this._protocol.listen(W,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(E),Promise.resolve(Ch(this._requestHandler))):(i&&(typeof i.baseUrl<"u"&&delete i.baseUrl,typeof i.paths<"u"&&typeof i.paths.vs<"u"&&delete i.paths.vs,typeof i.trustedTypesPolicy!==void 0&&delete i.trustedTypesPolicy,i.catchError=!0,kt.require.config(i)),new Promise((W,u)=>{const _=kt.require;_([n],N=>{if(this._requestHandler=N.create(E),!this._requestHandler){u(new Error("No RequestHandler!"));return}W(Ch(this._requestHandler))},u)}))}}class qe{constructor(e,i,n,s){this.originalStart=e,this.originalLength=i,this.modifiedStart=n,this.modifiedLength=s}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function b3(c,e){return(e<<5)-e+c|0}function LK(c,e){e=b3(149417,e);for(let i=0,n=c.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new qe(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(e,i){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Pe{constructor(e,i,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=i;const[s,h,a]=Pe._getElements(e),[E,W,u]=Pe._getElements(i);this._hasStrings=a&&u,this._originalStringElements=s,this._originalElementsOrHash=h,this._modifiedStringElements=E,this._modifiedElementsOrHash=W,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const i=e.getElements();if(Pe._isStringArray(i)){const n=new Int32Array(i.length);for(let s=0,h=i.length;s=e&&s>=n&&this.ElementsAreEqual(i,s);)i--,s--;if(e>i||n>s){let N;return n<=s?(h1.Assert(e===i+1,"originalStart should only be one more than originalEnd"),N=[new qe(e,0,n,s-n+1)]):e<=i?(h1.Assert(n===s+1,"modifiedStart should only be one more than modifiedEnd"),N=[new qe(e,i-e+1,n,0)]):(h1.Assert(e===i+1,"originalStart should only be one more than originalEnd"),h1.Assert(n===s+1,"modifiedStart should only be one more than modifiedEnd"),N=[]),N}const a=[0],E=[0],W=this.ComputeRecursionPoint(e,i,n,s,a,E,h),u=a[0],_=E[0];if(W!==null)return W;if(!h[0]){const N=this.ComputeDiffRecursive(e,u,n,_,h);let C=[];return h[0]?C=[new qe(u+1,i-(u+1)+1,_+1,s-(_+1)+1)]:C=this.ComputeDiffRecursive(u+1,i,_+1,s,h),this.ConcatenateChanges(N,C)}return[new qe(e,i-e+1,n,s-n+1)]}WALKTRACE(e,i,n,s,h,a,E,W,u,_,N,C,d,f,k,D,F,m){let O=null,U=null,l=new G3,v=i,w=n,H=d[0]-D[0]-s,r=-1073741824,Lt=this.m_forwardHistory.length-1;do{const g=H+e;g===v||g=0&&(u=this.m_forwardHistory[Lt],e=u[0],v=1,w=u.length-1)}while(--Lt>=-1);if(O=l.getReverseChanges(),m[0]){let g=d[0]+1,V=D[0]+1;if(O!==null&&O.length>0){const de=O[O.length-1];g=Math.max(g,de.getOriginalEnd()),V=Math.max(V,de.getModifiedEnd())}U=[new qe(g,C-g+1,V,k-V+1)]}else{l=new G3,v=a,w=E,H=d[0]-D[0]-W,r=1073741824,Lt=F?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const g=H+h;g===v||g=_[g+1]?(N=_[g+1]-1,f=N-H-W,N>r&&l.MarkNextChange(),r=N+1,l.AddOriginalElement(N+1,f+1),H=g+1-h):(N=_[g-1],f=N-H-W,N>r&&l.MarkNextChange(),r=N,l.AddModifiedElement(N+1,f+1),H=g-1-h),Lt>=0&&(_=this.m_reverseHistory[Lt],h=_[0],v=1,w=_.length-1)}while(--Lt>=-1);U=l.getChanges()}return this.ConcatenateChanges(O,U)}ComputeRecursionPoint(e,i,n,s,h,a,E){let W=0,u=0,_=0,N=0,C=0,d=0;e--,n--,h[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=i-e+(s-n),k=f+1,D=new Int32Array(k),F=new Int32Array(k),m=s-n,O=i-e,U=e-n,l=i-s,w=(O-m)%2===0;D[m]=e,F[O]=i,E[0]=!1;for(let H=1;H<=f/2+1;H++){let r=0,Lt=0;_=this.ClipDiagonalBound(m-H,H,m,k),N=this.ClipDiagonalBound(m+H,H,m,k);for(let V=_;V<=N;V+=2){V===_||Vr+Lt&&(r=W,Lt=u),!w&&Math.abs(V-O)<=H-1&&W>=F[V])return h[0]=W,a[0]=u,de<=F[V]&&1447>0&&H<=1447+1?this.WALKTRACE(m,_,N,U,O,C,d,l,D,F,W,i,h,u,s,a,w,E):null}const g=(r-e+(Lt-n)-H)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(r,g))return E[0]=!0,h[0]=r,a[0]=Lt,g>0&&1447>0&&H<=1447+1?this.WALKTRACE(m,_,N,U,O,C,d,l,D,F,W,i,h,u,s,a,w,E):(e++,n++,[new qe(e,i-e+1,n,s-n+1)]);C=this.ClipDiagonalBound(O-H,H,O,k),d=this.ClipDiagonalBound(O+H,H,O,k);for(let V=C;V<=d;V+=2){V===C||V=F[V+1]?W=F[V+1]-1:W=F[V-1],u=W-(V-O)-l;const de=W;for(;W>e&&u>n&&this.ElementsAreEqual(W,u);)W--,u--;if(F[V]=W,w&&Math.abs(V-m)<=H&&W<=D[V])return h[0]=W,a[0]=u,de>=D[V]&&1447>0&&H<=1447+1?this.WALKTRACE(m,_,N,U,O,C,d,l,D,F,W,i,h,u,s,a,w,E):null}if(H<=1447){let V=new Int32Array(N-_+2);V[0]=m-_+1,a1.Copy2(D,_,V,1,N-_+1),this.m_forwardHistory.push(V),V=new Int32Array(d-C+2),V[0]=O-C+1,a1.Copy2(F,C,V,1,d-C+1),this.m_reverseHistory.push(V)}}return this.WALKTRACE(m,_,N,U,O,C,d,l,D,F,W,i,h,u,s,a,w,E)}PrettifyChanges(e){for(let i=0;i0,E=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;i--){const n=e[i];let s=0,h=0;if(i>0){const N=e[i-1];s=N.originalStart+N.originalLength,h=N.modifiedStart+N.modifiedLength}const a=n.originalLength>0,E=n.modifiedLength>0;let W=0,u=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let N=1;;N++){const C=n.originalStart-N,d=n.modifiedStart-N;if(Cu&&(u=k,W=N)}n.originalStart-=W,n.modifiedStart-=W;const _=[null];if(i>0&&this.ChangesOverlap(e[i-1],e[i],_)){e[i-1]=_[0],e.splice(i,1),i++;continue}}if(this._hasStrings)for(let i=1,n=e.length;i0&&d>W&&(W=d,u=N,_=C)}return W>0?[u,_]:null}_contiguousSequenceScore(e,i,n){let s=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,i){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(i>0){const n=e+i;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,i){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(i>0){const n=e+i;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,i,n,s){const h=this._OriginalRegionIsBoundary(e,i)?1:0,a=this._ModifiedRegionIsBoundary(n,s)?1:0;return h+a}ConcatenateChanges(e,i){let n=[];if(e.length===0||i.length===0)return i.length>0?i:e;if(this.ChangesOverlap(e[e.length-1],i[0],n)){const s=new Array(e.length+i.length-1);return a1.Copy(e,0,s,0,e.length-1),s[e.length-1]=n[0],a1.Copy(i,1,s,e.length,i.length-1),s}else{const s=new Array(e.length+i.length);return a1.Copy(e,0,s,0,e.length),a1.Copy(i,0,s,e.length,i.length),s}}ChangesOverlap(e,i,n){if(h1.Assert(e.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),h1.Assert(e.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=i.originalStart||e.modifiedStart+e.modifiedLength>=i.modifiedStart){const s=e.originalStart;let h=e.originalLength;const a=e.modifiedStart;let E=e.modifiedLength;return e.originalStart+e.originalLength>=i.originalStart&&(h=i.originalStart+i.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=i.modifiedStart&&(E=i.modifiedStart+i.modifiedLength-e.modifiedStart),n[0]=new qe(s,h,a,E),!0}else return n[0]=null,!1}ClipDiagonalBound(e,i,n,s){if(e>=0&&e=mK&&c<=pK||c>=oK&&c<=fK}function ts(c,e,i,n){let s="",h=0,a=-1,E=0,W=0;for(let u=0;u<=c.length;++u){if(u2){const _=s.lastIndexOf(i);_===-1?(s="",h=0):(s=s.slice(0,_),h=s.length-1-s.lastIndexOf(i)),a=u,E=0;continue}else if(s.length!==0){s="",h=0,a=u,E=0;continue}}e&&(s+=s.length>0?`${i}..`:"..",h=2)}else s.length>0?s+=`${i}${c.slice(a+1,u)}`:s=c.slice(a+1,u),h=u-a-1;a=u,E=0}else W===t0&&E!==-1?++E:E=-1}return s}function V3(c,e){if(e===null||typeof e!="object")throw new B3("pathObject","Object",e);const i=e.dir||e.root,n=e.base||`${e.name||""}${e.ext||""}`;return i?i===e.root?`${i}${n}`:`${i}${c}${n}`:n}const Bt={resolve(...c){let e="",i="",n=!1;for(let s=c.length-1;s>=-1;s--){let h;if(s>=0){if(h=c[s],At(h,"path"),h.length===0)continue}else e.length===0?h=Lh():(h=dK[`=${e}`]||Lh(),(h===void 0||h.slice(0,2).toLowerCase()!==e.toLowerCase()&&h.charCodeAt(2)===Qt)&&(h=`${e}\\`));const a=h.length;let E=0,W="",u=!1;const _=h.charCodeAt(0);if(a===1)Y(_)&&(E=1,u=!0);else if(Y(_))if(u=!0,Y(h.charCodeAt(1))){let N=2,C=N;for(;N2&&Y(h.charCodeAt(2))&&(u=!0,E=3));if(W.length>0)if(e.length>0){if(W.toLowerCase()!==e.toLowerCase())continue}else e=W;if(n){if(e.length>0)break}else if(i=`${h.slice(E)}\\${i}`,n=u,u&&e.length>0)break}return i=ts(i,!n,"\\",Y),n?`${e}\\${i}`:`${e}${i}`||"."},normalize(c){At(c,"path");const e=c.length;if(e===0)return".";let i=0,n,s=!1;const h=c.charCodeAt(0);if(e===1)return Oh(h)?"\\":c;if(Y(h))if(s=!0,Y(c.charCodeAt(1))){let E=2,W=E;for(;E2&&Y(c.charCodeAt(2))&&(s=!0,i=3));let a=i0&&Y(c.charCodeAt(e-1))&&(a+="\\"),n===void 0?s?`\\${a}`:a:s?`${n}\\${a}`:`${n}${a}`},isAbsolute(c){At(c,"path");const e=c.length;if(e===0)return!1;const i=c.charCodeAt(0);return Y(i)||e>2&&i0(i)&&c.charCodeAt(1)===e0&&Y(c.charCodeAt(2))},join(...c){if(c.length===0)return".";let e,i;for(let h=0;h0&&(e===void 0?e=i=a:e+=`\\${a}`)}if(e===void 0)return".";let n=!0,s=0;if(typeof i=="string"&&Y(i.charCodeAt(0))){++s;const h=i.length;h>1&&Y(i.charCodeAt(1))&&(++s,h>2&&(Y(i.charCodeAt(2))?++s:n=!1))}if(n){for(;s=2&&(e=`\\${e.slice(s)}`)}return Bt.normalize(e)},relative(c,e){if(At(c,"from"),At(e,"to"),c===e)return"";const i=Bt.resolve(c),n=Bt.resolve(e);if(i===n||(c=i.toLowerCase(),e=n.toLowerCase(),c===e))return"";let s=0;for(;ss&&c.charCodeAt(h-1)===Qt;)h--;const a=h-s;let E=0;for(;EE&&e.charCodeAt(W-1)===Qt;)W--;const u=W-E,_=a_){if(e.charCodeAt(E+C)===Qt)return n.slice(E+C+1);if(C===2)return n.slice(E+C)}a>_&&(c.charCodeAt(s+C)===Qt?N=C:C===2&&(N=3)),N===-1&&(N=0)}let d="";for(C=s+N+1;C<=h;++C)(C===h||c.charCodeAt(C)===Qt)&&(d+=d.length===0?"..":"\\..");return E+=N,d.length>0?`${d}${n.slice(E,W)}`:(n.charCodeAt(E)===Qt&&++E,n.slice(E,W))},toNamespacedPath(c){if(typeof c!="string")return c;if(c.length===0)return"";const e=Bt.resolve(c);if(e.length<=2)return c;if(e.charCodeAt(0)===Qt){if(e.charCodeAt(1)===Qt){const i=e.charCodeAt(2);if(i!==xK&&i!==t0)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(i0(e.charCodeAt(0))&&e.charCodeAt(1)===e0&&e.charCodeAt(2)===Qt)return`\\\\?\\${e}`;return c},dirname(c){At(c,"path");const e=c.length;if(e===0)return".";let i=-1,n=0;const s=c.charCodeAt(0);if(e===1)return Y(s)?c:".";if(Y(s)){if(i=n=1,Y(c.charCodeAt(1))){let E=2,W=E;for(;E2&&Y(c.charCodeAt(2))?3:2,n=i);let h=-1,a=!0;for(let E=e-1;E>=n;--E)if(Y(c.charCodeAt(E))){if(!a){h=E;break}}else a=!1;if(h===-1){if(i===-1)return".";h=i}return c.slice(0,h)},basename(c,e){e!==void 0&&At(e,"ext"),At(c,"path");let i=0,n=-1,s=!0,h;if(c.length>=2&&i0(c.charCodeAt(0))&&c.charCodeAt(1)===e0&&(i=2),e!==void 0&&e.length>0&&e.length<=c.length){if(e===c)return"";let a=e.length-1,E=-1;for(h=c.length-1;h>=i;--h){const W=c.charCodeAt(h);if(Y(W)){if(!s){i=h+1;break}}else E===-1&&(s=!1,E=h+1),a>=0&&(W===e.charCodeAt(a)?--a===-1&&(n=h):(a=-1,n=E))}return i===n?n=E:n===-1&&(n=c.length),c.slice(i,n)}for(h=c.length-1;h>=i;--h)if(Y(c.charCodeAt(h))){if(!s){i=h+1;break}}else n===-1&&(s=!1,n=h+1);return n===-1?"":c.slice(i,n)},extname(c){At(c,"path");let e=0,i=-1,n=0,s=-1,h=!0,a=0;c.length>=2&&c.charCodeAt(1)===e0&&i0(c.charCodeAt(0))&&(e=n=2);for(let E=c.length-1;E>=e;--E){const W=c.charCodeAt(E);if(Y(W)){if(!h){n=E+1;break}continue}s===-1&&(h=!1,s=E+1),W===t0?i===-1?i=E:a!==1&&(a=1):i!==-1&&(a=-1)}return i===-1||s===-1||a===0||a===1&&i===s-1&&i===n+1?"":c.slice(i,s)},format:V3.bind(null,"\\"),parse(c){At(c,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return e;const i=c.length;let n=0,s=c.charCodeAt(0);if(i===1)return Y(s)?(e.root=e.dir=c,e):(e.base=e.name=c,e);if(Y(s)){if(n=1,Y(c.charCodeAt(1))){let N=2,C=N;for(;N0&&(e.root=c.slice(0,n));let h=-1,a=n,E=-1,W=!0,u=c.length-1,_=0;for(;u>=n;--u){if(s=c.charCodeAt(u),Y(s)){if(!W){a=u+1;break}continue}E===-1&&(W=!1,E=u+1),s===t0?h===-1?h=u:_!==1&&(_=1):h!==-1&&(_=-1)}return E!==-1&&(h===-1||_===0||_===1&&h===E-1&&h===a+1?e.base=e.name=c.slice(a,E):(e.name=c.slice(a,h),e.base=c.slice(a,E),e.ext=c.slice(h,E))),a>0&&a!==n?e.dir=c.slice(0,a-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},Zt={resolve(...c){let e="",i=!1;for(let n=c.length-1;n>=-1&&!i;n--){const s=n>=0?c[n]:Lh();At(s,"path"),s.length!==0&&(e=`${s}/${e}`,i=s.charCodeAt(0)===xt)}return e=ts(e,!i,"/",Oh),i?`/${e}`:e.length>0?e:"."},normalize(c){if(At(c,"path"),c.length===0)return".";const e=c.charCodeAt(0)===xt,i=c.charCodeAt(c.length-1)===xt;return c=ts(c,!e,"/",Oh),c.length===0?e?"/":i?"./":".":(i&&(c+="/"),e?`/${c}`:c)},isAbsolute(c){return At(c,"path"),c.length>0&&c.charCodeAt(0)===xt},join(...c){if(c.length===0)return".";let e;for(let i=0;i0&&(e===void 0?e=n:e+=`/${n}`)}return e===void 0?".":Zt.normalize(e)},relative(c,e){if(At(c,"from"),At(e,"to"),c===e||(c=Zt.resolve(c),e=Zt.resolve(e),c===e))return"";const i=1,n=c.length,s=n-i,h=1,a=e.length-h,E=sE){if(e.charCodeAt(h+u)===xt)return e.slice(h+u+1);if(u===0)return e.slice(h+u)}else s>E&&(c.charCodeAt(i+u)===xt?W=u:u===0&&(W=0));let _="";for(u=i+W+1;u<=n;++u)(u===n||c.charCodeAt(u)===xt)&&(_+=_.length===0?"..":"/..");return`${_}${e.slice(h+W)}`},toNamespacedPath(c){return c},dirname(c){if(At(c,"path"),c.length===0)return".";const e=c.charCodeAt(0)===xt;let i=-1,n=!0;for(let s=c.length-1;s>=1;--s)if(c.charCodeAt(s)===xt){if(!n){i=s;break}}else n=!1;return i===-1?e?"/":".":e&&i===1?"//":c.slice(0,i)},basename(c,e){e!==void 0&&At(e,"ext"),At(c,"path");let i=0,n=-1,s=!0,h;if(e!==void 0&&e.length>0&&e.length<=c.length){if(e===c)return"";let a=e.length-1,E=-1;for(h=c.length-1;h>=0;--h){const W=c.charCodeAt(h);if(W===xt){if(!s){i=h+1;break}}else E===-1&&(s=!1,E=h+1),a>=0&&(W===e.charCodeAt(a)?--a===-1&&(n=h):(a=-1,n=E))}return i===n?n=E:n===-1&&(n=c.length),c.slice(i,n)}for(h=c.length-1;h>=0;--h)if(c.charCodeAt(h)===xt){if(!s){i=h+1;break}}else n===-1&&(s=!1,n=h+1);return n===-1?"":c.slice(i,n)},extname(c){At(c,"path");let e=-1,i=0,n=-1,s=!0,h=0;for(let a=c.length-1;a>=0;--a){const E=c.charCodeAt(a);if(E===xt){if(!s){i=a+1;break}continue}n===-1&&(s=!1,n=a+1),E===t0?e===-1?e=a:h!==1&&(h=1):e!==-1&&(h=-1)}return e===-1||n===-1||h===0||h===1&&e===n-1&&e===i+1?"":c.slice(e,n)},format:V3.bind(null,"/"),parse(c){At(c,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return e;const i=c.charCodeAt(0)===xt;let n;i?(e.root="/",n=1):n=0;let s=-1,h=0,a=-1,E=!0,W=c.length-1,u=0;for(;W>=n;--W){const _=c.charCodeAt(W);if(_===xt){if(!E){h=W+1;break}continue}a===-1&&(E=!1,a=W+1),_===t0?s===-1?s=W:u!==1&&(u=1):s!==-1&&(u=-1)}if(a!==-1){const _=h===0&&i?1:h;s===-1||u===0||u===1&&s===a-1&&s===h+1?e.base=e.name=c.slice(_,a):(e.name=c.slice(_,s),e.base=c.slice(_,a),e.ext=c.slice(s,a))}return h>0?e.dir=c.slice(0,h-1):i&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};Zt.win32=Bt.win32=Bt,Zt.posix=Bt.posix=Zt,l0==="win32"?Bt.normalize:Zt.normalize,l0==="win32"?Bt.resolve:Zt.resolve,l0==="win32"?Bt.relative:Zt.relative,l0==="win32"?Bt.dirname:Zt.dirname,l0==="win32"?Bt.basename:Zt.basename,l0==="win32"?Bt.extname:Zt.extname,l0==="win32"?Bt.sep:Zt.sep;const UK=/^\w[\w\d+.-]*$/,lK=/^\//,kK=/^\/\//;function Y3(c,e){if(!c.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${c.authority}", path: "${c.path}", query: "${c.query}", fragment: "${c.fragment}"}`);if(c.scheme&&!UK.test(c.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(c.path){if(c.authority){if(!lK.test(c.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(kK.test(c.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function DK(c,e){return!c&&!e?"file":c}function MK(c,e){switch(c){case"https":case"http":case"file":e?e[0]!==Ke&&(e=Ke+e):e=Ke;break}return e}const it="",Ke="/",HK=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class k0{constructor(e,i,n,s,h,a=!1){typeof e=="object"?(this.scheme=e.scheme||it,this.authority=e.authority||it,this.path=e.path||it,this.query=e.query||it,this.fragment=e.fragment||it):(this.scheme=DK(e,a),this.authority=i||it,this.path=MK(this.scheme,n||it),this.query=s||it,this.fragment=h||it,Y3(this,a))}static isUri(e){return e instanceof k0?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}get fsPath(){return dh(this,!1)}with(e){if(!e)return this;let{scheme:i,authority:n,path:s,query:h,fragment:a}=e;return i===void 0?i=this.scheme:i===null&&(i=it),n===void 0?n=this.authority:n===null&&(n=it),s===void 0?s=this.path:s===null&&(s=it),h===void 0?h=this.query:h===null&&(h=it),a===void 0?a=this.fragment:a===null&&(a=it),i===this.scheme&&n===this.authority&&s===this.path&&h===this.query&&a===this.fragment?this:new W1(i,n,s,h,a)}static parse(e,i=!1){const n=HK.exec(e);return n?new W1(n[2]||it,es(n[4]||it),es(n[5]||it),es(n[7]||it),es(n[9]||it),i):new W1(it,it,it,it,it)}static file(e){let i=it;if(g1&&(e=e.replace(/\\/g,Ke)),e[0]===Ke&&e[1]===Ke){const n=e.indexOf(Ke,2);n===-1?(i=e.substring(2),e=Ke):(i=e.substring(2,n),e=e.substring(n)||Ke)}return new W1("file",i,e,it,it)}static from(e){const i=new W1(e.scheme,e.authority,e.path,e.query,e.fragment);return Y3(i,!0),i}static joinPath(e,...i){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return g1&&e.scheme==="file"?n=k0.file(Bt.join(dh(e,!0),...i)).path:n=Zt.join(e.path,...i),e.with({path:n})}toString(e=!1){return mh(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof k0)return e;{const i=new W1(e);return i._formatted=e.external,i._fsPath=e._sep===X3?e.fsPath:null,i}}else return e}}const X3=g1?1:void 0;class W1 extends k0{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=dh(this,!1)),this._fsPath}toString(e=!1){return e?mh(this,!0):(this._formatted||(this._formatted=mh(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=X3),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const Q3={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Z3(c,e){let i,n=-1;for(let s=0;s=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||e&&h===47)n!==-1&&(i+=encodeURIComponent(c.substring(n,s)),n=-1),i!==void 0&&(i+=c.charAt(s));else{i===void 0&&(i=c.substr(0,s));const a=Q3[h];a!==void 0?(n!==-1&&(i+=encodeURIComponent(c.substring(n,s)),n=-1),i+=a):n===-1&&(n=s)}}return n!==-1&&(i+=encodeURIComponent(c.substring(n))),i!==void 0?i:c}function yK(c){let e;for(let i=0;i1&&c.scheme==="file"?i=`//${c.authority}${c.path}`:c.path.charCodeAt(0)===47&&(c.path.charCodeAt(1)>=65&&c.path.charCodeAt(1)<=90||c.path.charCodeAt(1)>=97&&c.path.charCodeAt(1)<=122)&&c.path.charCodeAt(2)===58?e?i=c.path.substr(1):i=c.path[1].toLowerCase()+c.path.substr(2):i=c.path,g1&&(i=i.replace(/\//g,"\\")),i}function mh(c,e){const i=e?yK:Z3;let n="",{scheme:s,authority:h,path:a,query:E,fragment:W}=c;if(s&&(n+=s,n+=":"),(h||s==="file")&&(n+=Ke,n+=Ke),h){let u=h.indexOf("@");if(u!==-1){const _=h.substr(0,u);h=h.substr(u+1),u=_.indexOf(":"),u===-1?n+=i(_,!1):(n+=i(_.substr(0,u),!1),n+=":",n+=i(_.substr(u+1),!1)),n+="@"}h=h.toLowerCase(),u=h.indexOf(":"),u===-1?n+=i(h,!1):(n+=i(h.substr(0,u),!1),n+=h.substr(u))}if(a){if(a.length>=3&&a.charCodeAt(0)===47&&a.charCodeAt(2)===58){const u=a.charCodeAt(1);u>=65&&u<=90&&(a=`/${String.fromCharCode(u+32)}:${a.substr(3)}`)}else if(a.length>=2&&a.charCodeAt(1)===58){const u=a.charCodeAt(0);u>=65&&u<=90&&(a=`${String.fromCharCode(u+32)}:${a.substr(2)}`)}n+=i(a,!0)}return E&&(n+="?",n+=i(E,!1)),W&&(n+="#",n+=e?W:Z3(W,!1)),n}function r3(c){try{return decodeURIComponent(c)}catch{return c.length>3?c.substr(0,3)+r3(c.substr(3)):c}}const j3=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function es(c){return c.match(j3)?c.replace(j3,e=>r3(e)):c}class rt{constructor(e,i){this.lineNumber=e,this.column=i}with(e=this.lineNumber,i=this.column){return e===this.lineNumber&&i===this.column?this:new rt(e,i)}delta(e=0,i=0){return this.with(this.lineNumber+e,this.column+i)}equals(e){return rt.equals(this,e)}static equals(e,i){return!e&&!i?!0:!!e&&!!i&&e.lineNumber===i.lineNumber&&e.column===i.column}isBefore(e){return rt.isBefore(this,e)}static isBefore(e,i){return e.lineNumbern||e===n&&i>s?(this.startLineNumber=n,this.startColumn=s,this.endLineNumber=e,this.endColumn=i):(this.startLineNumber=e,this.startColumn=i,this.endLineNumber=n,this.endColumn=s)}isEmpty(){return ht.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return ht.containsPosition(this,e)}static containsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.columne.endColumn)}static strictContainsPosition(e,i){return!(i.lineNumbere.endLineNumber||i.lineNumber===e.startLineNumber&&i.column<=e.startColumn||i.lineNumber===e.endLineNumber&&i.column>=e.endColumn)}containsRange(e){return ht.containsRange(this,e)}static containsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumne.endColumn)}strictContainsRange(e){return ht.strictContainsRange(this,e)}static strictContainsRange(e,i){return!(i.startLineNumbere.endLineNumber||i.endLineNumber>e.endLineNumber||i.startLineNumber===e.startLineNumber&&i.startColumn<=e.startColumn||i.endLineNumber===e.endLineNumber&&i.endColumn>=e.endColumn)}plusRange(e){return ht.plusRange(this,e)}static plusRange(e,i){let n,s,h,a;return i.startLineNumbere.endLineNumber?(h=i.endLineNumber,a=i.endColumn):i.endLineNumber===e.endLineNumber?(h=i.endLineNumber,a=Math.max(i.endColumn,e.endColumn)):(h=e.endLineNumber,a=e.endColumn),new ht(n,s,h,a)}intersectRanges(e){return ht.intersectRanges(this,e)}static intersectRanges(e,i){let n=e.startLineNumber,s=e.startColumn,h=e.endLineNumber,a=e.endColumn,E=i.startLineNumber,W=i.startColumn,u=i.endLineNumber,_=i.endColumn;return nu?(h=u,a=_):h===u&&(a=Math.min(a,_)),n>h||n===h&&s>a?null:new ht(n,s,h,a)}equalsRange(e){return ht.equalsRange(this,e)}static equalsRange(e,i){return!!e&&!!i&&e.startLineNumber===i.startLineNumber&&e.startColumn===i.startColumn&&e.endLineNumber===i.endLineNumber&&e.endColumn===i.endColumn}getEndPosition(){return ht.getEndPosition(this)}static getEndPosition(e){return new rt(e.endLineNumber,e.endColumn)}getStartPosition(){return ht.getStartPosition(this)}static getStartPosition(e){return new rt(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,i){return new ht(this.startLineNumber,this.startColumn,e,i)}setStartPosition(e,i){return new ht(e,i,this.endLineNumber,this.endColumn)}collapseToStart(){return ht.collapseToStart(this)}static collapseToStart(e){return new ht(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,i=e){return new ht(e.lineNumber,e.column,i.lineNumber,i.column)}static lift(e){return e?new ht(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,i){return!(e.endLineNumbere.startLineNumber}}const FK=3;function z3(c,e,i,n){return new Pe(c,e,i).ComputeDiff(n)}class $3{constructor(e){const i=[],n=[];for(let s=0,h=e.length;s0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&h()){const d=n.createCharSequence(e,i.originalStart,i.originalStart+i.originalLength-1),f=s.createCharSequence(e,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let k=z3(d,f,h,!0).changes;E&&(k=bK(k)),C=[];for(let D=0,F=k.length;D1&&k>1;){const D=C.charCodeAt(f-2),F=d.charCodeAt(k-2);if(D!==F)break;f--,k--}(f>1||k>1)&&this._pushTrimWhitespaceCharChange(s,h+1,1,f,a+1,1,k)}{let f=ph(C,1),k=ph(d,1);const D=C.length+1,F=d.length+1;for(;f!0;const e=Date.now();return()=>Date.now()-e255?255:c|0}function K1(c){return c<0?0:c>4294967295?4294967295:c|0}class GK{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,i){e=K1(e);const n=this.values,s=this.prefixSum,h=i.length;return h===0?!1:(this.values=new Uint32Array(n.length+h),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+h),this.values.set(i,e),e-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,i){return e=K1(e),i=K1(i),this.values[e]===i?!1:(this.values[e]=i,e-1=n.length)return!1;let h=n.length-e;return i>=h&&(i=h),i===0?!1:(this.values=new Uint32Array(n.length-i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+i),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=K1(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let i=this.prefixSumValidIndex[0]+1;i===0&&(this.prefixSum[0]=this.values[0],i++),e>=this.values.length&&(e=this.values.length-1);for(let n=i;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let i=0,n=this.values.length-1,s=0,h=0,a=0;for(;i<=n;)if(s=i+(n-i)/2|0,h=this.prefixSum[s],a=h-this.values[s],e=h)i=s+1;else break;return new BK(s,e-a)}}class BK{constructor(e,i){this.index=e,this.remainder=i,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=i}}class VK{constructor(e,i,n,s){this._uri=e,this._lines=i,this._eol=n,this._versionId=s,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const i=e.changes;for(const n of i)this._acceptDeleteRange(n.range),this._acceptInsertText(new rt(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,i=this._lines.length,n=new Uint32Array(i);for(let s=0;s/?";function XK(c=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const i of YK)c.indexOf(i)>=0||(e+="\\"+i);return e+="\\s]+)",new RegExp(e,"g")}const QK=XK();function ZK(c){let e=QK;if(c&&c instanceof RegExp)if(c.global)e=c;else{let i="g";c.ignoreCase&&(i+="i"),c.multiline&&(i+="m"),c.unicode&&(i+="u"),e=new RegExp(c.source,i)}return e.lastIndex=0,e}const rK={maxLen:1e3,windowSize:15,timeBudget:150};function g3(c,e,i,n,s=rK){if(i.length>s.maxLen){let u=c-s.maxLen/2;return u<0?u=0:n+=u,i=i.substring(u,c+s.maxLen/2),g3(c,e,i,n,s)}const h=Date.now(),a=c-1-n;let E=-1,W=null;for(let u=1;!(Date.now()-h>=s.timeBudget);u++){const _=a-s.windowSize*u;e.lastIndex=Math.max(0,_);const N=jK(e,i,a,E);if(!N&&W||(W=N,_<=0))break;E=_}if(W){let u={word:W[0],startColumn:n+1+W.index,endColumn:n+1+W.index+W[0].length};return e.lastIndex=0,u}return null}function jK(c,e,i,n){let s;for(;s=c.exec(e);){const h=s.index||0;if(h<=i&&c.lastIndex>=i)return s;if(n>0&&h>n)return null}return null}class fh{constructor(e){let i=S3(e);this._defaultValue=i,this._asciiMap=fh._createAsciiMap(i),this._map=new Map}static _createAsciiMap(e){let i=new Uint8Array(256);for(let n=0;n<256;n++)i[n]=e;return i}set(e,i){let n=S3(i);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class zK{constructor(e,i,n){const s=new Uint8Array(e*i);for(let h=0,a=e*i;hi&&(i=W),E>n&&(n=E),u>n&&(n=u)}i++,n++;let s=new zK(n,i,0);for(let h=0,a=e.length;h=this._maxCharCode?0:this._states.get(e,i)}}let xh=null;function JK(){return xh===null&&(xh=new $K([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),xh}let ti=null;function SK(){if(ti===null){ti=new fh(0);const c=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;is);if(s>0){const E=i.charCodeAt(s-1),W=i.charCodeAt(a);(E===40&&W===41||E===91&&W===93||E===123&&W===125)&&a--}return{range:{startLineNumber:n,startColumn:s+1,endLineNumber:n,endColumn:a+2},url:i.substring(s,a+1)}}static computeLinks(e,i=JK()){const n=SK();let s=[];for(let h=1,a=e.getLineCount();h<=a;h++){const E=e.getLineContent(h),W=E.length;let u=0,_=0,N=0,C=1,d=!1,f=!1,k=!1,D=!1;for(;u=0?(s+=n?1:-1,s<0?s=e.length-1:s%=e.length,e[s]):null}}Uh.INSTANCE=new Uh;const q3=Object.freeze(function(c,e){const i=setTimeout(c.bind(e),0);return{dispose(){clearTimeout(i)}}});var ns;(function(c){function e(i){return i===c.None||i===c.Cancelled||i instanceof cs?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}c.isCancellationToken=e,c.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Nh.None}),c.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:q3})})(ns||(ns={}));class cs{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?q3:(this._emitter||(this._emitter=new ge),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class qK{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new cs),this._token}cancel(){this._token?this._token instanceof cs&&this._token.cancel():this._token=ns.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof cs&&this._token.dispose():this._token=ns.None}}class lh{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,i){this._keyCodeToStr[e]=i,this._strToKeyCode[i.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const ss=new lh,kh=new lh,Dh=new lh,PK=new Array(230),t6=Object.create(null),e6=Object.create(null);(function(){const c="",e=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",c,c],[0,1,1,"Hyper",0,c,0,c,c,c],[0,1,2,"Super",0,c,0,c,c,c],[0,1,3,"Fn",0,c,0,c,c,c],[0,1,4,"FnLock",0,c,0,c,c,c],[0,1,5,"Suspend",0,c,0,c,c,c],[0,1,6,"Resume",0,c,0,c,c,c],[0,1,7,"Turbo",0,c,0,c,c,c],[0,1,8,"Sleep",0,c,0,"VK_SLEEP",c,c],[0,1,9,"WakeUp",0,c,0,c,c,c],[31,0,10,"KeyA",31,"A",65,"VK_A",c,c],[32,0,11,"KeyB",32,"B",66,"VK_B",c,c],[33,0,12,"KeyC",33,"C",67,"VK_C",c,c],[34,0,13,"KeyD",34,"D",68,"VK_D",c,c],[35,0,14,"KeyE",35,"E",69,"VK_E",c,c],[36,0,15,"KeyF",36,"F",70,"VK_F",c,c],[37,0,16,"KeyG",37,"G",71,"VK_G",c,c],[38,0,17,"KeyH",38,"H",72,"VK_H",c,c],[39,0,18,"KeyI",39,"I",73,"VK_I",c,c],[40,0,19,"KeyJ",40,"J",74,"VK_J",c,c],[41,0,20,"KeyK",41,"K",75,"VK_K",c,c],[42,0,21,"KeyL",42,"L",76,"VK_L",c,c],[43,0,22,"KeyM",43,"M",77,"VK_M",c,c],[44,0,23,"KeyN",44,"N",78,"VK_N",c,c],[45,0,24,"KeyO",45,"O",79,"VK_O",c,c],[46,0,25,"KeyP",46,"P",80,"VK_P",c,c],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",c,c],[48,0,27,"KeyR",48,"R",82,"VK_R",c,c],[49,0,28,"KeyS",49,"S",83,"VK_S",c,c],[50,0,29,"KeyT",50,"T",84,"VK_T",c,c],[51,0,30,"KeyU",51,"U",85,"VK_U",c,c],[52,0,31,"KeyV",52,"V",86,"VK_V",c,c],[53,0,32,"KeyW",53,"W",87,"VK_W",c,c],[54,0,33,"KeyX",54,"X",88,"VK_X",c,c],[55,0,34,"KeyY",55,"Y",89,"VK_Y",c,c],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",c,c],[22,0,36,"Digit1",22,"1",49,"VK_1",c,c],[23,0,37,"Digit2",23,"2",50,"VK_2",c,c],[24,0,38,"Digit3",24,"3",51,"VK_3",c,c],[25,0,39,"Digit4",25,"4",52,"VK_4",c,c],[26,0,40,"Digit5",26,"5",53,"VK_5",c,c],[27,0,41,"Digit6",27,"6",54,"VK_6",c,c],[28,0,42,"Digit7",28,"7",55,"VK_7",c,c],[29,0,43,"Digit8",29,"8",56,"VK_8",c,c],[30,0,44,"Digit9",30,"9",57,"VK_9",c,c],[21,0,45,"Digit0",21,"0",48,"VK_0",c,c],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",c,c],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",c,c],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",c,c],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",c,c],[10,1,50,"Space",10,"Space",32,"VK_SPACE",c,c],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,c,0,c,c,c],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",c,c],[59,1,64,"F1",59,"F1",112,"VK_F1",c,c],[60,1,65,"F2",60,"F2",113,"VK_F2",c,c],[61,1,66,"F3",61,"F3",114,"VK_F3",c,c],[62,1,67,"F4",62,"F4",115,"VK_F4",c,c],[63,1,68,"F5",63,"F5",116,"VK_F5",c,c],[64,1,69,"F6",64,"F6",117,"VK_F6",c,c],[65,1,70,"F7",65,"F7",118,"VK_F7",c,c],[66,1,71,"F8",66,"F8",119,"VK_F8",c,c],[67,1,72,"F9",67,"F9",120,"VK_F9",c,c],[68,1,73,"F10",68,"F10",121,"VK_F10",c,c],[69,1,74,"F11",69,"F11",122,"VK_F11",c,c],[70,1,75,"F12",70,"F12",123,"VK_F12",c,c],[0,1,76,"PrintScreen",0,c,0,c,c,c],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",c,c],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",c,c],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",c,c],[14,1,80,"Home",14,"Home",36,"VK_HOME",c,c],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",c,c],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",c,c],[13,1,83,"End",13,"End",35,"VK_END",c,c],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",c,c],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",c],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",c],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",c],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",c],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",c,c],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",c,c],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",c,c],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",c,c],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",c,c],[3,1,94,"NumpadEnter",3,c,0,c,c,c],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",c,c],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",c,c],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",c,c],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",c,c],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",c,c],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",c,c],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",c,c],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",c,c],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",c,c],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",c,c],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",c,c],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",c,c],[58,1,107,"ContextMenu",58,"ContextMenu",93,c,c,c],[0,1,108,"Power",0,c,0,c,c,c],[0,1,109,"NumpadEqual",0,c,0,c,c,c],[71,1,110,"F13",71,"F13",124,"VK_F13",c,c],[72,1,111,"F14",72,"F14",125,"VK_F14",c,c],[73,1,112,"F15",73,"F15",126,"VK_F15",c,c],[74,1,113,"F16",74,"F16",127,"VK_F16",c,c],[75,1,114,"F17",75,"F17",128,"VK_F17",c,c],[76,1,115,"F18",76,"F18",129,"VK_F18",c,c],[77,1,116,"F19",77,"F19",130,"VK_F19",c,c],[0,1,117,"F20",0,c,0,"VK_F20",c,c],[0,1,118,"F21",0,c,0,"VK_F21",c,c],[0,1,119,"F22",0,c,0,"VK_F22",c,c],[0,1,120,"F23",0,c,0,"VK_F23",c,c],[0,1,121,"F24",0,c,0,"VK_F24",c,c],[0,1,122,"Open",0,c,0,c,c,c],[0,1,123,"Help",0,c,0,c,c,c],[0,1,124,"Select",0,c,0,c,c,c],[0,1,125,"Again",0,c,0,c,c,c],[0,1,126,"Undo",0,c,0,c,c,c],[0,1,127,"Cut",0,c,0,c,c,c],[0,1,128,"Copy",0,c,0,c,c,c],[0,1,129,"Paste",0,c,0,c,c,c],[0,1,130,"Find",0,c,0,c,c,c],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",c,c],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",c,c],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",c,c],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",c,c],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",c,c],[0,1,136,"KanaMode",0,c,0,c,c,c],[0,0,137,"IntlYen",0,c,0,c,c,c],[0,1,138,"Convert",0,c,0,c,c,c],[0,1,139,"NonConvert",0,c,0,c,c,c],[0,1,140,"Lang1",0,c,0,c,c,c],[0,1,141,"Lang2",0,c,0,c,c,c],[0,1,142,"Lang3",0,c,0,c,c,c],[0,1,143,"Lang4",0,c,0,c,c,c],[0,1,144,"Lang5",0,c,0,c,c,c],[0,1,145,"Abort",0,c,0,c,c,c],[0,1,146,"Props",0,c,0,c,c,c],[0,1,147,"NumpadParenLeft",0,c,0,c,c,c],[0,1,148,"NumpadParenRight",0,c,0,c,c,c],[0,1,149,"NumpadBackspace",0,c,0,c,c,c],[0,1,150,"NumpadMemoryStore",0,c,0,c,c,c],[0,1,151,"NumpadMemoryRecall",0,c,0,c,c,c],[0,1,152,"NumpadMemoryClear",0,c,0,c,c,c],[0,1,153,"NumpadMemoryAdd",0,c,0,c,c,c],[0,1,154,"NumpadMemorySubtract",0,c,0,c,c,c],[0,1,155,"NumpadClear",0,c,0,c,c,c],[0,1,156,"NumpadClearEntry",0,c,0,c,c,c],[5,1,0,c,5,"Ctrl",17,"VK_CONTROL",c,c],[4,1,0,c,4,"Shift",16,"VK_SHIFT",c,c],[6,1,0,c,6,"Alt",18,"VK_MENU",c,c],[57,1,0,c,57,"Meta",0,"VK_COMMAND",c,c],[5,1,157,"ControlLeft",5,c,0,"VK_LCONTROL",c,c],[4,1,158,"ShiftLeft",4,c,0,"VK_LSHIFT",c,c],[6,1,159,"AltLeft",6,c,0,"VK_LMENU",c,c],[57,1,160,"MetaLeft",57,c,0,"VK_LWIN",c,c],[5,1,161,"ControlRight",5,c,0,"VK_RCONTROL",c,c],[4,1,162,"ShiftRight",4,c,0,"VK_RSHIFT",c,c],[6,1,163,"AltRight",6,c,0,"VK_RMENU",c,c],[57,1,164,"MetaRight",57,c,0,"VK_RWIN",c,c],[0,1,165,"BrightnessUp",0,c,0,c,c,c],[0,1,166,"BrightnessDown",0,c,0,c,c,c],[0,1,167,"MediaPlay",0,c,0,c,c,c],[0,1,168,"MediaRecord",0,c,0,c,c,c],[0,1,169,"MediaFastForward",0,c,0,c,c,c],[0,1,170,"MediaRewind",0,c,0,c,c,c],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",c,c],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",c,c],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",c,c],[0,1,174,"Eject",0,c,0,c,c,c],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",c,c],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",c,c],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",c,c],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",c,c],[0,1,179,"LaunchApp1",0,c,0,"VK_MEDIA_LAUNCH_APP1",c,c],[0,1,180,"SelectTask",0,c,0,c,c,c],[0,1,181,"LaunchScreenSaver",0,c,0,c,c,c],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",c,c],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",c,c],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",c,c],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",c,c],[0,1,186,"BrowserStop",0,c,0,"VK_BROWSER_STOP",c,c],[0,1,187,"BrowserRefresh",0,c,0,"VK_BROWSER_REFRESH",c,c],[0,1,188,"BrowserFavorites",0,c,0,"VK_BROWSER_FAVORITES",c,c],[0,1,189,"ZoomToggle",0,c,0,c,c,c],[0,1,190,"MailReply",0,c,0,c,c,c],[0,1,191,"MailForward",0,c,0,c,c,c],[0,1,192,"MailSend",0,c,0,c,c,c],[109,1,0,c,109,"KeyInComposition",229,c,c,c],[111,1,0,c,111,"ABNT_C2",194,"VK_ABNT_C2",c,c],[91,1,0,c,91,"OEM_8",223,"VK_OEM_8",c,c],[0,1,0,c,0,c,0,"VK_CLEAR",c,c],[0,1,0,c,0,c,0,"VK_KANA",c,c],[0,1,0,c,0,c,0,"VK_HANGUL",c,c],[0,1,0,c,0,c,0,"VK_JUNJA",c,c],[0,1,0,c,0,c,0,"VK_FINAL",c,c],[0,1,0,c,0,c,0,"VK_HANJA",c,c],[0,1,0,c,0,c,0,"VK_KANJI",c,c],[0,1,0,c,0,c,0,"VK_CONVERT",c,c],[0,1,0,c,0,c,0,"VK_NONCONVERT",c,c],[0,1,0,c,0,c,0,"VK_ACCEPT",c,c],[0,1,0,c,0,c,0,"VK_MODECHANGE",c,c],[0,1,0,c,0,c,0,"VK_SELECT",c,c],[0,1,0,c,0,c,0,"VK_PRINT",c,c],[0,1,0,c,0,c,0,"VK_EXECUTE",c,c],[0,1,0,c,0,c,0,"VK_SNAPSHOT",c,c],[0,1,0,c,0,c,0,"VK_HELP",c,c],[0,1,0,c,0,c,0,"VK_APPS",c,c],[0,1,0,c,0,c,0,"VK_PROCESSKEY",c,c],[0,1,0,c,0,c,0,"VK_PACKET",c,c],[0,1,0,c,0,c,0,"VK_DBE_SBCSCHAR",c,c],[0,1,0,c,0,c,0,"VK_DBE_DBCSCHAR",c,c],[0,1,0,c,0,c,0,"VK_ATTN",c,c],[0,1,0,c,0,c,0,"VK_CRSEL",c,c],[0,1,0,c,0,c,0,"VK_EXSEL",c,c],[0,1,0,c,0,c,0,"VK_EREOF",c,c],[0,1,0,c,0,c,0,"VK_PLAY",c,c],[0,1,0,c,0,c,0,"VK_ZOOM",c,c],[0,1,0,c,0,c,0,"VK_NONAME",c,c],[0,1,0,c,0,c,0,"VK_PA1",c,c],[0,1,0,c,0,c,0,"VK_OEM_CLEAR",c,c]];let i=[],n=[];for(const s of e){const[h,a,E,W,u,_,N,C,d,f]=s;if(n[E]||(n[E]=!0,t6[W]=E,e6[W.toLowerCase()]=E),!i[u]){if(i[u]=!0,!_)throw new Error(`String representation missing for key code ${u} around scan code ${W}`);ss.define(u,_),kh.define(u,d||_),Dh.define(u,f||d||_)}N&&(PK[N]=u)}})();var P3;(function(c){function e(E){return ss.keyCodeToStr(E)}c.toString=e;function i(E){return ss.strToKeyCode(E)}c.fromString=i;function n(E){return kh.keyCodeToStr(E)}c.toUserSettingsUS=n;function s(E){return Dh.keyCodeToStr(E)}c.toUserSettingsGeneral=s;function h(E){return kh.strToKeyCode(E)||Dh.strToKeyCode(E)}c.fromUserSettings=h;function a(E){if(E>=93&&E<=108)return null;switch(E){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return ss.keyCodeToStr(E)}c.toElectronAccelerator=a})(P3||(P3={}));function i6(c,e){const i=(e&65535)<<16>>>0;return(c|i)>>>0}class Jt extends ht{constructor(e,i,n,s){super(e,i,n,s),this.selectionStartLineNumber=e,this.selectionStartColumn=i,this.positionLineNumber=n,this.positionColumn=s}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return Jt.selectionsEqual(this,e)}static selectionsEqual(e,i){return e.selectionStartLineNumber===i.selectionStartLineNumber&&e.selectionStartColumn===i.selectionStartColumn&&e.positionLineNumber===i.positionLineNumber&&e.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,i){return this.getDirection()===0?new Jt(this.startLineNumber,this.startColumn,e,i):new Jt(e,i,this.startLineNumber,this.startColumn)}getPosition(){return new rt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new rt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,i){return this.getDirection()===0?new Jt(e,i,this.endLineNumber,this.endColumn):new Jt(this.endLineNumber,this.endColumn,e,i)}static fromPositions(e,i=e){return new Jt(e.lineNumber,e.column,i.lineNumber,i.column)}static fromRange(e,i){return i===0?new Jt(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Jt(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Jt(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,i){if(e&&!i||!e&&i)return!1;if(!e&&!i)return!0;if(e.length!==i.length)return!1;for(let n=0,s=e.length;n0){const a=e.charCodeAt(n);if(c.get(a)!==0)return!0}return!1}function h6(c,e,i,n,s){if(n+s===i)return!0;const h=e.charCodeAt(n+s);if(c.get(h)!==0||h===13||h===10)return!0;if(s>0){const a=e.charCodeAt(n+s-1);if(c.get(a)!==0)return!0}return!1}function a6(c,e,i,n,s){return s6(c,e,i,n,s)&&h6(c,e,i,n,s)}class E6{constructor(e,i){this._wordSeparators=e,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const i=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===i||(n=this._searchRegex.exec(e),!n))return null;const s=n.index,h=n[0].length;if(s===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){KK(e,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=h,!this._wordSeparators||a6(this._wordSeparators,e,i,s,h))return n}while(n);return null}}class W6{static computeUnicodeHighlights(e,i,n){const s=n?n.startLineNumber:1,h=n?n.endLineNumber:e.getLineCount(),a=new F4(i),E=a.getCandidateCodePoints();let W;E==="allNonBasicAscii"?W=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):W=new RegExp(`${K6(Array.from(E))}`,"g");const u=new E6(null,W),_=[];let N=!1,C,d=0,f=0,k=0;t:for(let D=s,F=h;D<=F;D++){const m=e.getLineContent(D),O=m.length;u.reset(0);do if(C=u.next(m),C){let U=C.index,l=C.index+C[0].length;if(U>0){const H=m.charCodeAt(U-1);Ih(H)&&U--}if(l+1=H){N=!0;break t}_.push(new ht(D,U+1,D,l+1))}}while(C)}return{ranges:_,hasMore:N,ambiguousCharacterCount:d,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:k}}static computeUnicodeHighlightReason(e,i){switch(new F4(i).shouldHighlightNonBasicASCII(e)){case 0:return null;case 2:return{kind:1};case 3:const h=We.getPrimaryConfusable(e.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function K6(c,e){return`[${cK(c.map(n=>String.fromCodePoint(n)).join(""))}]`}class F4{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const i of U0.codePoints)e.add(i);if(this.options.ambiguousCharacters)for(const i of We.getPrimaryConfusableCodePoints())e.add(i);for(const i of this.allowedCodePoints)e.delete(i);return e}shouldHighlightNonBasicASCII(e){const i=e.codePointAt(0);return this.allowedCodePoints.has(i)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(e===" "||e===` +`||e===" ")&&U0.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&We.isAmbiguous(i)?3:0}}var D0=function(c,e,i,n){function s(h){return h instanceof i?h:new i(function(a){a(h)})}return new(i||(i=Promise))(function(h,a){function E(_){try{u(n.next(_))}catch(N){a(N)}}function W(_){try{u(n.throw(_))}catch(N){a(N)}}function u(_){_.done?h(_.value):s(_.value).then(E,W)}u((n=n.apply(c,e||[])).next())})};class u6 extends VK{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,i){let n=g3(e.column,ZK(i),this._lines[e.lineNumber-1],0);return n?new ht(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){const i=this._lines,n=this._wordenize.bind(this);let s=0,h="",a=0,E=[];return{*[Symbol.iterator](){for(;;)if(athis._lines.length)i=this._lines.length,n=this._lines[i-1].length+1,s=!0;else{let h=this._lines[i-1].length+1;n<1?(n=1,s=!0):n>h&&(n=h,s=!0)}return s?{lineNumber:i,column:n}:e}}class u1{constructor(e,i){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(i=>e.push(this._models[i])),e}acceptNewModel(e){this._models[e.url]=new u6(k0.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,i){if(!this._models[e])return;this._models[e].onEvents(i)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,i,n){return D0(this,void 0,void 0,function*(){const s=this._getModel(e);return s?W6.computeUnicodeHighlights(s,i,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(e,i,n,s){return D0(this,void 0,void 0,function*(){const h=this._getModel(e),a=this._getModel(i);if(!h||!a)return null;const E=h.getLinesContent(),W=a.getLinesContent(),_=new vK(E,W,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:s}).computeDiff(),N=_.changes.length>0?!1:this._modelsAreIdentical(h,a);return{quitEarly:_.quitEarly,identical:N,changes:_.changes}})}_modelsAreIdentical(e,i){const n=e.getLineCount(),s=i.getLineCount();if(n!==s)return!1;for(let h=1;h<=n;h++){const a=e.getLineContent(h),E=i.getLineContent(h);if(a!==E)return!1}return!0}computeMoreMinimalEdits(e,i){return D0(this,void 0,void 0,function*(){const n=this._getModel(e);if(!n)return i;const s=[];let h;i=i.slice(0).sort((a,E)=>{if(a.range&&E.range)return ht.compareRangesUsingStarts(a.range,E.range);let W=a.range?0:1,u=E.range?0:1;return W-u});for(let{range:a,text:E,eol:W}of i){if(typeof W=="number"&&(h=W),ht.isEmpty(a)&&!E)continue;const u=n.getValueInRange(a);if(E=E.replace(/\r\n|\n|\r/g,n.eol),u===E)continue;if(Math.max(E.length,u.length)>u1._diffLimit){s.push({range:a,text:E});continue}const _=OK(u,E,!1),N=n.offsetAt(ht.lift(a).getStartPosition());for(const C of _){const d=n.positionAt(N+C.originalStart),f=n.positionAt(N+C.originalStart+C.originalLength),k={text:E.substr(C.modifiedStart,C.modifiedLength),range:{startLineNumber:d.lineNumber,startColumn:d.column,endLineNumber:f.lineNumber,endColumn:f.column}};n.getValueInRange(k.range)!==k.text&&s.push(k)}}return typeof h=="number"&&s.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),s})}computeLinks(e){return D0(this,void 0,void 0,function*(){let i=this._getModel(e);return i?gK(i):null})}textualSuggest(e,i,n,s){return D0(this,void 0,void 0,function*(){const h=new qc(!0),a=new RegExp(n,s),E=new Set;t:for(let W of e){const u=this._getModel(W);if(u){for(let _ of u.words(a))if(!(_===i||!isNaN(Number(_)))&&(E.add(_),E.size>u1._suggestionsLimit))break t}}return{words:Array.from(E),duration:h.elapsed()}})}computeWordRanges(e,i,n,s){return D0(this,void 0,void 0,function*(){let h=this._getModel(e);if(!h)return Object.create(null);const a=new RegExp(n,s),E=Object.create(null);for(let W=i.startLineNumber;Wthis._host.fhr(E,W)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(a,i),Promise.resolve(Ch(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,i){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,i))}catch(n){return Promise.reject(n)}}}u1._diffLimit=1e5,u1._suggestionsLimit=1e4,typeof importScripts=="function"&&(kt.monaco=c6());let wh=!1;function w4(c){if(wh)return;wh=!0;const e=new IK(i=>{self.postMessage(i)},i=>new u1(i,c));self.onmessage=i=>{e.onmessage(i.data)}}self.onmessage=c=>{wh||w4(null)};var R6=Object.defineProperty,L=(c,e)=>R6(c,"name",{value:e,configurable:!0}),n0=(M1=class{constructor(e){A(this,"target");this.target=e}get isEpsilon(){return!1}get label(){return null}},L(M1,"Transition"),A(M1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),M1),bh=(Xi=class extends n0{constructor(e){super(e)}},L(Xi,"AbstractPredicateTransition"),Xi),b={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},b4=(Qi=class extends n0{constructor(i,n,s,h){super(i);A(this,"ruleIndex");A(this,"actionIndex");A(this,"isCtxDependent");this.ruleIndex=n,this.actionIndex=s===void 0?-1:s,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return b.ACTION}matches(i,n,s){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},L(Qi,"ActionTransition"),Qi),$=(ze=class{constructor(e){A(this,"cachedHashCode");this.cachedHashCode=e}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===ze.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}toString(e){return""}},L(ze,"PredictionContext"),A(ze,"EMPTY_RETURN_STATE",2147483647),A(ze,"EMPTY"),A(ze,"trace_atn_sim",!1),ze),v4=3432918353,G4=461845907,hs=15,as=13,B4=5,V4=3864292196,me=($0=class{constructor(){A(this,"count");A(this,"hash");this.count=0,this.hash=0}static hashStuff(...e){const i=new $0;return i.update(e),i.finish()}static hashString(e=0,i){let n=3735928559^e,s=1103547991^e;for(const h of i){const a=h.charCodeAt(0);n=Math.imul(n^a,2654435761),s=Math.imul(s^a,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(s^s>>>13,3266489909),s=Math.imul(s^s>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),Math.imul(4294967296,2097151&s)+(n>>>0)}update(...e){for(const i of e)if(i!=null)if(Array.isArray(i))this.update(...i);else{let n=0;switch(typeof i){case"undefined":case"function":continue;case"number":{n=i;break}case"boolean":{n=i?1237:4327;break}case"string":{n=$0.hashString(this.hash,i);break}default:{i.updateHashCode(this);continue}}this.count=this.count+1,n=Math.imul(n,v4),n=n<>>32-hs,n=Math.imul(n,G4);let s=this.hash^n;s=s<>>32-as,this.hash=Math.imul(s,B4)+V4}}updateWithHashCode(e){this.count=this.count+1,e=Math.imul(e,v4),e=e<>>32-hs,e=Math.imul(e,G4);let i=this.hash^e;i=i<>>32-as,this.hash=Math.imul(i,B4)+V4}finish(){let e=this.hash^this.count*4;return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,e}},L($0,"HashCode"),$0),T6=L(c=>typeof c.equals=="function","isComparable"),A6=L(c=>c===null?"null":c,"valueToString"),M0=L(c=>Array.isArray(c)?"["+c.map(A6).join(", ")+"]":"null","arrayToString"),ii=L((c,e)=>{if(c===e)return!0;if(c.length!==e.length)return!1;for(let i=0;i(c=c.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),e&&(c=c.replace(/ /g,"·")),c),"escapeWhitespace"),Y4=L((c,e)=>c?c.equals(e):c===e,"standardEqualsFunction"),N6=Math.round(Math.random()*Math.pow(2,32)),C6=L(c=>{let e,i;const n=c.length&3,s=c.length-n;let h=N6;const a=3432918353,E=461845907;let W=0;for(;W>>16)*a&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*E+(((i>>>16)*E&65535)<<16)&4294967295,h^=i,h=h<<13|h>>>19,e=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(e&65535)+27492+(((e>>>16)+58964&65535)<<16);switch(i=0,n){case 3:i^=(c.charCodeAt(W+2)&255)<<16;case 2:i^=(c.charCodeAt(W+1)&255)<<8;case 1:i^=c.charCodeAt(W)&255,i=(i&65535)*a+(((i>>>16)*a&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*E+(((i>>>16)*E&65535)<<16)&4294967295,h^=i}return h^=c.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),X4=L(c=>c?typeof c=="string"?C6(c):c.hashCode():-1,"standardHashCodeFunction"),c0=(H1=class extends ${constructor(i,n){const s=new me;s.update(i,n);const h=s.finish();super(h);A(this,"parents",[]);A(this,"returnStates",[]);return this.parents=i,this.returnStates=n,this}isEmpty(){return this.returnStates[0]===$.EMPTY_RETURN_STATE}getParent(i){return this.parents[i]}getReturnState(i){return this.returnStates[i]}equals(i){return this===i?!0:!(i instanceof H1)||this.hashCode()!==i.hashCode()?!1:ii(this.returnStates,i.returnStates)&&ii(this.parents,i.parents)}toString(){if(this.isEmpty())return"[]";{let i="[";for(let n=0;n0&&(i=i+", "),this.returnStates[n]===$.EMPTY_RETURN_STATE){i=i+"$";continue}i=i+this.returnStates[n],this.parents[n]!==null?i=i+" "+this.parents[n]:i=i+"null"}return i+"]"}}get length(){return this.returnStates.length}},L(H1,"ArrayPredictionContext"),H1),Es;(c=>{c.EOF=-1,c.UNKNOWN_SOURCE_NAME=""})(Es||(Es={}));var p;(c=>{c.INVALID_TYPE=0,c.EPSILON=-2,c.MIN_USER_TOKEN_TYPE=1,c.EOF=Es.EOF,c.DEFAULT_CHANNEL=0,c.HIDDEN_CHANNEL=1,c.MIN_USER_CHANNEL_VALUE=2})(p||(p={}));var Q4=L(c=>{const e=c;return e.tokenSource!==void 0&&e.channel!==void 0},"isToken"),ie=(Zi=class{constructor(e,i){A(this,"data");A(this,"hashFunction");A(this,"equalsFunction");this.data={},this.hashFunction=e??X4,this.equalsFunction=i??Y4}add(e){const i=this.hashFunction(e);if(i in this.data){const n=this.data[i];for(const s of n)if(this.equalsFunction(e,s))return s;return n.push(e),e}else return this.data[i]=[e],e}has(e){return this.get(e)!=null}get(e){const i=this.hashFunction(e);if(i in this.data){const n=this.data[i];for(const s of n)if(this.equalsFunction(e,s))return s}return null}values(){return Object.keys(this.data).flatMap(e=>this.data[e],this)}toString(){return M0(this.values())}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},L(Zi,"HashSet"),Zi),nt=(Ie=class{static andContext(e,i){if(e===null||e===Ie.NONE)return i;if(i===null||i===Ie.NONE)return e;const n=new I6(e,i);return n.opnds.length===1?n.opnds[0]:n}static orContext(e,i){if(e===null)return i;if(i===null)return e;if(e===Ie.NONE||i===Ie.NONE)return Ie.NONE;const n=new L6(e,i);return n.opnds.length===1?n.opnds[0]:n}static filterPrecedencePredicates(e){const i=[];return e.values().forEach(n=>{n instanceof Ie.PrecedencePredicate&&i.push(n)}),i}hashCode(){const e=new me;return this.updateHashCode(e),e.finish()}evalPrecedence(e,i){return this}},L(Ie,"SemanticContext"),Ie),I6=(N0=class extends nt{constructor(i,n){super();A(this,"opnds");const s=new ie;i instanceof N0?i.opnds.forEach(a=>{s.add(a)}):s.add(i),n instanceof N0?n.opnds.forEach(a=>{s.add(a)}):s.add(n);const h=nt.filterPrecedencePredicates(s);if(h.length>0){let a=null;h.forEach(E=>{(a===null||E.precedence{a=a===null?E:nt.andContext(a,E)}),a}toString(){const i=this.opnds.map(n=>n.toString());return(i.length>3?i.slice(3):i).join("&&")}},L(N0,"AND"),N0),L6=(C0=class extends nt{constructor(i,n){super();A(this,"opnds");const s=new ie;i instanceof C0?i.opnds.forEach(a=>{s.add(a)}):s.add(i),n instanceof C0?n.opnds.forEach(a=>{s.add(a)}):s.add(n);const h=nt.filterPrecedencePredicates(s);if(h.length>0){const a=h.sort((W,u)=>W.compareTo(u)),E=a[a.length-1];s.add(E)}this.opnds=Array.from(s.values())}equals(i){return this===i?!0:i instanceof C0?ii(this.opnds,i.opnds):!1}updateHashCode(i){i.update(this.opnds),i.updateWithHashCode(3383313031)}evaluate(i,n){for(const s of this.opnds)if(s.evaluate(i,n))return!0;return!1}evalPrecedence(i,n){let s=!1;const h=[];for(const E of this.opnds){const W=E.evalPrecedence(i,n);if(s||(s=W!==E),W===nt.NONE)return nt.NONE;W!==null&&h.push(W)}if(!s)return this;if(h.length===0)return null;let a=null;return h.forEach(E=>{a=a===null?E:nt.orContext(a,E)}),a}toString(){const i=this.opnds.map(n=>n.toString());return(i.length>3?i.slice(3):i).join("||")}},L(C0,"OR"),C0);(c=>{const n=class n extends c{constructor(E,W,u){super();A(this,"ruleIndex");A(this,"predIndex");A(this,"isCtxDependent");this.ruleIndex=E??-1,this.predIndex=W??-1,this.isCtxDependent=u??!1}evaluate(E,W){const u=this.isCtxDependent?W:null;return E.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(E){E.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(E){return this===E?!0:E instanceof n?this.ruleIndex===E.ruleIndex&&this.predIndex===E.predIndex&&this.isCtxDependent===E.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};L(n,"Predicate");let e=n;c.Predicate=e;const s=class s extends c{constructor(E){super();A(this,"precedence");this.precedence=E??0}evaluate(E,W){return E.precpred(W,this.precedence)}evalPrecedence(E,W){return E.precpred(W,this.precedence)?c.NONE:null}compareTo(E){return this.precedence-E.precedence}updateHashCode(E){E.update(this.precedence)}equals(E){return this===E?!0:E instanceof s?this.precedence===E.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};L(s,"PrecedencePredicate");let i=s;c.PrecedencePredicate=i,c.NONE=new e})(nt||(nt={}));var O6=L(c=>c===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:c.state??null,alt:c.alt??null,context:c.context??null,semanticContext:c.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),d6=L(c=>c===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:c.state??null,alt:c.alt??null,context:c.context??null,semanticContext:c.semanticContext??null,reachesIntoOuterContext:c.reachesIntoOuterContext??0,precedenceFilterSuppressed:c.precedenceFilterSuppressed??!1},"checkConfig"),Ot=(J0=class{constructor(e,i){A(this,"state");A(this,"alt");A(this,"context");A(this,"reachesIntoOuterContext");A(this,"precedenceFilterSuppressed",!1);A(this,"semanticContext");this.checkContext(e,i);const n=O6(e),s=d6(i);this.state=n.state??s.state,this.alt=n.alt??s.alt??0,this.context=n.context??s.context,this.semanticContext=n.semanticContext??s.semanticContext??nt.NONE,this.reachesIntoOuterContext=s.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=s.precedenceFilterSuppressed??!1}hashCode(){const e=new me;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(e){return this===e?!0:e instanceof J0?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&(this.context===null?e.context===null:this.context.equals(e.context))&&this.semanticContext.equals(e.semanticContext)&&this.precedenceFilterSuppressed===e.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const e=new me;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(e){return this===e?!0:e instanceof J0?this.state.stateNumber===e.state.stateNumber&&this.alt===e.alt&&this.semanticContext.equals(e.semanticContext):!1}toString(e,i=!0){let n="";return i&&(n=","+this.alt),"("+this.state+n+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==nt.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(e,i){(e.context===null||e.context===void 0)&&(i===null||i.context===null||i.context===void 0)&&(this.context=null)}},L(J0,"ATNConfig"),J0),J=(Tt=class{constructor(e,i){A(this,"start");A(this,"stop");this.start=e,this.stop=i}static of(e,i){return e!==i||e<0||e>Tt.INTERVAL_POOL_MAX_VALUE?new Tt(e,i):(Tt.cache[e]===null&&(Tt.cache[e]=new Tt(e,e)),Tt.cache[e])}equals(e){return e instanceof Tt?this.start===e.start&&this.stop===e.stop:!1}hashCode(){let e=23;return e=e*31+this.start,e=e*31+this.stop,e}startsBeforeDisjoint(e){return this.start=e.start}startsAfter(e){return this.start>e.start}startsAfterDisjoint(e){return this.start>e.stop}startsAfterNonDisjoint(e){return this.start>e.start&&this.start<=e.stop}disjoint(e){return this.startsBeforeDisjoint(e)||this.startsAfterDisjoint(e)}adjacent(e){return this.start===e.stop+1||this.stop===e.start-1}properlyContains(e){return e.start>=this.start&&e.stop<=this.stop}union(e){return Tt.of(Math.min(this.start,e.start),Math.max(this.stop,e.stop))}intersection(e){return Tt.of(Math.max(this.start,e.start),Math.min(this.stop,e.stop))}differenceNotProperlyContained(e){let i=null;return e.startsBeforeNonDisjoint(this)?i=Tt.of(Math.max(this.start,e.stop+1),this.stop):e.startsAfterNonDisjoint(this)&&(i=Tt.of(this.start,e.start-1)),i}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{E.syntaxError(e,i,n,s,h,a)})}reportAmbiguity(e,i,n,s,h,a,E){this.delegates.forEach(W=>{W.reportAmbiguity(e,i,n,s,h,a,E)})}reportAttemptingFullContext(e,i,n,s,h,a){this.delegates.forEach(E=>{E.reportAttemptingFullContext(e,i,n,s,h,a)})}reportContextSensitivity(e,i,n,s,h,a){this.delegates.forEach(E=>{E.reportContextSensitivity(e,i,n,s,h,a)})}},L(ji,"ProxyErrorListener"),ji),Z4=(ae=class{constructor(){A(this,"interpreter");q(this,He,[m6.INSTANCE]);q(this,zi,-1)}checkVersion(e){const i="4.13.1";i!==e&&console.error("ANTLR runtime and generated code versions disagree: "+i+"!="+e)}addErrorListener(e){x(this,He).push(e)}removeErrorListeners(){z(this,He,[])}removeErrorListener(e){for(let i=0;ii.set(n,s)),ae.ruleIndexMapCache.set(e,i)),i}getTokenType(e){const i=this.getTokenTypeMap().get(e);return i||p.INVALID_TYPE}getErrorHeader(e){var s,h;const i=(s=e.offendingToken)==null?void 0:s.line,n=(h=e.offendingToken)==null?void 0:h.column;return"line "+i+":"+n}getErrorListenerDispatch(){return new o6(x(this,He))}sempred(e,i,n){return!0}precpred(e,i){return!0}action(e,i,n){}get atn(){return this.interpreter.atn}get state(){return x(this,zi)}set state(e){z(this,zi,e)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},He=new WeakMap,zi=new WeakMap,L(ae,"Recognizer"),A(ae,"EOF",-1),A(ae,"tokenTypeMapCache",new Map),A(ae,"ruleIndexMapCache",new Map),ae),p6=(I0=class{constructor(e,i,n,s,h){A(this,"source");A(this,"tokenIndex",-1);A(this,"start",0);A(this,"stop",0);A(this,"type",0);A(this,"line",0);A(this,"column",-1);A(this,"channel",p.DEFAULT_CHANNEL);q(this,ye,null);this.source=e,this.type=i,this.channel=n??p.DEFAULT_CHANNEL,this.start=s,this.stop=h,this.source[0]!==null?(this.line=e[0].line,this.column=e[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const e=new I0(this.source,this.type,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,z(e,ye,x(this,ye)),e}cloneWithType(e){const i=new I0(this.source,e,this.channel,this.start,this.stop);return i.tokenIndex=this.tokenIndex,i.line=this.line,i.column=this.column,e===p.EOF&&z(i,ye,""),i}toString(e){let i="";this.channel>0&&(i=",channel="+this.channel);let n=this.text;n?(n=n.replace(/\n/g,"\\n"),n=n.replace(/\r/g,"\\r"),n=n.replace(/\t/g,"\\t")):n="";let s=String(this.type);return e&&(s=e.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+n+"',<"+s+">"+i+","+this.line+":"+this.column+"]"}get text(){if(x(this,ye)!==null)return x(this,ye);const e=this.inputStream;if(e===null)return null;const i=e.size;return this.start"}set text(e){z(this,ye,e)}setText(e){z(this,ye,e)}setType(e){this.type=e}setLine(e){this.line=e}setCharPositionInLine(e){this.column=e}setChannel(e){this.channel=e}setTokenIndex(e){this.tokenIndex=e}},ye=new WeakMap,L(I0,"CommonToken"),A(I0,"EMPTY_SOURCE",[null,null]),I0),f6=(g0=class{constructor(e){A(this,"copyText",!1);this.copyText=e??!1}create(e,i,n,s,h,a,E,W){const u=new p6(e,i,s,h,a);return u.line=E,u.column=W,n!==null?u.text=n:this.copyText&&e[1]!==null&&(u.text=e[1].getText(h,a)),u}},L(g0,"CommonTokenFactory"),A(g0,"DEFAULT",new g0),g0),T=(y1=class extends Error{constructor(i){super(i.message);A(this,"ctx");A(this,"offendingToken",null);A(this,"offendingState",-1);A(this,"recognizer");A(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,y1),this.message=i.message,this.recognizer=i.recognizer,this.input=i.input,this.ctx=i.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},L(y1,"RecognitionException"),y1),ni=($i=class extends T{constructor(i,n,s,h){super({message:"",recognizer:i,input:n,ctx:null});A(this,"startIndex");A(this,"deadEndConfigs");this.startIndex=s,this.deadEndConfigs=h}toString(){let i="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[e],this)}getKeys(){return this.entries().map(e=>e.key)}getValues(){return this.entries().map(e=>e.value)}toString(){return"["+this.entries().map(i=>"{"+i.key+":"+i.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(e=>this.data[e].length,this).reduce((e,i)=>e+i,0)}},L(Ji,"HashMap"),Ji),we=(Si=class{constructor(e){A(this,"parent",null);A(this,"symbol");this.symbol=e}getChild(e){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return J.INVALID_INTERVAL;const e=this.symbol.tokenIndex;return new J(e,e)}getChildCount(){return 0}accept(e){return e.visitTerminal(this)}getText(){var e;return((e=this.symbol)==null?void 0:e.text)??""}toString(){var e,i;return((e=this.symbol)==null?void 0:e.type)===p.EOF?"":((i=this.symbol)==null?void 0:i.text)??""}toStringTree(){return this.toString()}},L(Si,"TerminalNode"),Si),ci=(gi=class extends we{accept(e){return e.visitErrorNode(this)}},L(gi,"ErrorNode"),gi),s0=(te=class{static toStringTree(e,i,n){i=i??null,n=n??null,n!==null&&(i=n.ruleNames);let s=te.getNodeText(e,i);s=_6(s,!1);const h=e.getChildCount();if(h===0)return s;let a="("+s+" ";h>0&&(s=te.toStringTree(e.getChild(0),i),a=a.concat(s));for(let E=1;Ee.getText()).join("")}getAltNumber(){return M.INVALID_ALT_NUMBER}setAltNumber(e){}getChild(e){return null}getChildCount(){return 0}accept(e){return e.visitChildren(this)}toStringTree(...e){return e.length===1?s0.toStringTree(this,null,e[0]):s0.toStringTree(this,e[0],e[1])}toString(e,i){e=e??null,i=i??null;let n=this,s="[";for(;n!==null&&n!==i;){if(e===null)n.isEmpty()||(s+=n.invokingState);else{const h=n.ruleIndex,a=h>=0&&h{super(...Du);A(this,"start",null);A(this,"stop",null);A(this,"exception",null)};i?e(i,n):e(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(i){super.parent=i}copyFrom(i){this.parent=i.parent,this.invokingState=i.invokingState,this.children=null,this.start=i.start,this.stop=i.stop,i.children&&(this.children=[],i.children.forEach(n=>{n instanceof ci&&(this.children.push(n),n.parent=this)},this))}enterRule(i){}exitRule(i){}addAnyChild(i){return this.children==null&&(this.children=[]),this.children.push(i),i}addChild(i){return this.addAnyChild(i)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(i){const n=new we(i);return this.addAnyChild(n),n.parent=this,n}addErrorNode(i){return i.parent=this,this.addAnyChild(i)}getChild(i,n){if(this.children===null||i<0||i>=this.children.length)return null;if(n){for(const s of this.children)if(s instanceof n){if(i===0)return s;i-=1}return null}else return this.children[i]}getToken(i,n){var s;if(this.children===null||n<0||n>=this.children.length)return null;for(const h of this.children)if(h instanceof we&&((s=h.symbol)==null?void 0:s.type)===i){if(n===0)return h;n-=1}return null}getTokens(i){var n;if(this.children===null)return[];{const s=[];for(const h of this.children)h instanceof we&&((n=h.symbol)==null?void 0:n.type)===i&&s.push(h);return s}}getRuleContext(i,n){return this.getChild(i,n)}getRuleContexts(i){if(this.children===null)return[];{const n=[];for(const s of this.children)s instanceof i&&n.push(s);return n}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?J.INVALID_INTERVAL:new J(this.start.tokenIndex,this.stop.tokenIndex)}},L(P0,"ParserRuleContext"),A(P0,"EMPTY",new P0),P0),Gh=L((c,e)=>{if(e==null&&(e=R.EMPTY),e.parent===null||e===R.EMPTY)return $.EMPTY;const i=Gh(c,e.parent),s=c.states[e.invokingState].transitions[0];return ne.create(i,s.followState.stateNumber)},"predictionContextFromRuleContext"),j4=L((c,e,i)=>{if(c.isEmpty())return c;let n=i.get(c)||null;if(n!==null)return n;if(n=e.get(c),n!==null)return i.set(c,n),n;let s=!1,h=[];for(let E=0;E{if(c===e)return c;if(c instanceof ne&&e instanceof ne)return l6(c,e,i,n);if(i){if(c instanceof r4)return c;if(e instanceof r4)return e}return c instanceof ne&&(c=new c0([c.parent],[c.returnState])),e instanceof ne&&(e=new c0([e.parent],[e.returnState])),x6(c,e,i,n)},"merge"),x6=L((c,e,i,n)=>{if(n!==null){let _=n.get(c,e);if(_!==null||(_=n.get(e,c),_!==null))return _}let s=0,h=0,a=0,E=new Array(c.returnStates.length+e.returnStates.length).fill(0),W=new Array(c.returnStates.length+e.returnStates.length).fill(null);for(;s{const e=new H0;for(const i of c)i&&(e.containsKey(i)||e.set(i,i));for(let i=0;i{if(n!==null){let h=n.get(c,e);if(h!==null||(h=n.get(e,c),h!==null))return h}const s=k6(c,e,i);if(s!==null)return n!==null&&n.set(c,e,s),s;if(c.returnState===e.returnState){const h=Bh(c.parent,e.parent,i,n);if(h===c.parent)return c;if(h===e.parent)return e;const a=ne.create(h,c.returnState);return n!==null&&n.set(c,e,a),a}else{let h=null;if((c===e||c.parent!==null&&c.parent===e.parent)&&(h=c.parent),h!==null){const u=[c.returnState,e.returnState];c.returnState>e.returnState&&(u[0]=e.returnState,u[1]=c.returnState);const _=[h,h],N=new c0(_,u);return n!==null&&n.set(c,e,N),N}const a=[c.returnState,e.returnState];let E=[c.parent,e.parent];c.returnState>e.returnState&&(a[0]=e.returnState,a[1]=c.returnState,E=[e.parent,c.parent]);const W=new c0(E,a);return n!==null&&n.set(c,e,W),W}},"mergeSingletons"),k6=L((c,e,i)=>{if(i){if(c===$.EMPTY||e===$.EMPTY)return $.EMPTY}else{if(c===$.EMPTY&&e===$.EMPTY)return $.EMPTY;if(c===$.EMPTY){const n=[e.returnState,$.EMPTY_RETURN_STATE],s=[e.parent,null];return new c0(s,n)}else if(e===$.EMPTY){const n=[c.returnState,$.EMPTY_RETURN_STATE],s=[c.parent,null];return new c0(s,n)}}return null},"mergeRoot"),oe=(tn=class{constructor(e){A(this,"data");e?this.data=new Uint32Array(e.map(i=>i>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const e=this.data.length;let i=0,n=this.data[i];const s=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;i>>5]&=~(1<>>5;return i>=this.data.length?!1:(this.data[i]&1<e)return i}set(e){if(e<0)throw new RangeError("index cannot be negative");this.resize(e),this.data[e>>>5]|=1<>>5;if(i<=this.data.length)return;const n=new Uint32Array(i);n.set(this.data),n.fill(0,this.data.length),this.data=n}bitCount(e){return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),e=e+(e>>4)&252645135,e=e+(e>>8),e=e+(e>>16),e&63}},L(tn,"BitSet"),tn),D6=L(c=>c.hashCodeForConfigSet(),"hashATNConfig"),M6=L((c,e)=>c===e?!0:c===null||e===null?!1:c.equalsForConfigSet(e),"equalATNConfigs"),ue=(F1=class{constructor(e){A(this,"configs",[]);A(this,"hasSemanticContext",!1);A(this,"dipsIntoOuterContext",!1);A(this,"fullCtx");A(this,"uniqueAlt",0);A(this,"configLookup",new ie(D6,M6));A(this,"conflictingAlts",null);A(this,"readOnly",!1);A(this,"cachedHashCode",-1);this.fullCtx=e??!0}add(e,i){if(i===void 0&&(i=null),this.readOnly)throw new Error("This set is readonly");e.semanticContext!==nt.NONE&&(this.hasSemanticContext=!0),e.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;const s=!this.fullCtx,h=Bh(n.context,e.context,s,i);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=h,!0}getStates(){const e=new ie;for(const i of this.configs)e.add(i.state);return e}getPredicates(){const e=[];for(const i of this.configs)i.semanticContext!==nt.NONE&&e.push(i.semanticContext);return e}optimizeConfigs(e){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const i of this.configs)i.context=e.getCachedContext(i.context)}addAll(e){for(const i of e)this.add(i,null);return!1}equals(e){return this===e||e instanceof F1&&ii(this.configs,e.configs)&&this.fullCtx===e.fullCtx&&this.uniqueAlt===e.uniqueAlt&&this.conflictingAlts===e.conflictingAlts&&this.hasSemanticContext===e.hasSemanticContext&&this.dipsIntoOuterContext===e.dipsIntoOuterContext}hashCode(){const e=new me;return e.update(this.configs),e.finish()}updateHashCode(e){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),e.update(this.cachedHashCode)):e.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}containsFast(e){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(e)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new ie}setReadonly(e){this.readOnly=e,e&&(this.configLookup=new ie)}toString(){return M0(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==M.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let e=new oe;for(let i of this.configs)e.set(i.alt);return e}},L(F1,"ATNConfigSet"),F1),be=(w1=class{constructor(e){A(this,"stateNumber",-1);A(this,"configs",new ue);A(this,"edges",null);A(this,"isAcceptState",!1);A(this,"prediction",-1);A(this,"lexerActionExecutor",null);A(this,"requiresFullContext",!1);A(this,"predicates",null);e&&(typeof e=="number"?this.stateNumber=e:this.configs=e)}hashCode(){const e=new me;return e.update(this.configs.configs),e.finish()}equals(e){return this===e?!0:e instanceof w1?this.configs===null?e.configs===null:this.configs.equals(e.configs):!1}toString(){let e="";return e+=this.stateNumber,e+=":",e+=this.configs?this.configs.toString():"",this.isAcceptState&&(e+="=>",this.predicates?e+=M0(this.predicates):e+=this.prediction),e.toString()}},L(w1,"DFAState"),w1);(c=>{const i=class i{constructor(s,h){A(this,"pred");A(this,"alt");this.alt=h,this.pred=s}toString(){return`(${this.pred}, ${this.alt})`}};L(i,"PredPrediction");let e=i;c.PredPrediction=e})(be||(be={}));var pe=(b1=class{constructor(e,i){A(this,"atn");A(this,"sharedContextCache",null);return this.atn=e,this.sharedContextCache=i,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(e){if(this.sharedContextCache===null)return e;const i=new H0;return j4(e,this.sharedContextCache,i)}getSharedContextCache(){return this.sharedContextCache}},L(b1,"ATNSimulator"),A(b1,"ERROR",new be(2147483647)),b1),z4=(en=class extends ue{constructor(){super(),this.configLookup=new ie}},L(en,"OrderedATNConfigSet"),en),fe=(O0=class{constructor(){A(this,"atn");A(this,"stateNumber");A(this,"ruleIndex");A(this,"epsilonOnlyTransitions");A(this,"nextTokenWithinRule");A(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return O0.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(e){return e instanceof O0?this.stateNumber===e.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(e,i){i===void 0&&(i=-1),this.transitions.length===0?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),i===-1?this.transitions.push(e):this.transitions.splice(i,1,e)}},L(O0,"ATNState"),A(O0,"INVALID_STATE_NUMBER",-1),O0),Q={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Vt=(nn=class extends fe{get stateType(){return Q.RULE_STOP}},L(nn,"RuleStopState"),nn),y0=(cn=class extends fe{constructor(){super(...arguments);A(this,"decision",-1);A(this,"nonGreedy",!1)}},L(cn,"DecisionState"),cn),xe=(v1=class extends Ot{constructor(i,n){super(i,n);A(this,"lexerActionExecutor");A(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=i.lexerActionExecutor??(n==null?void 0:n.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=n!==null?this.checkNonGreedyDecision(n,this.state):!1,this}updateHashCode(i){i.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(i){return this===i||i instanceof v1&&this.passedThroughNonGreedyDecision===i.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(i.lexerActionExecutor):!i.lexerActionExecutor)&&super.equals(i)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(i){return this.equals(i)}checkNonGreedyDecision(i,n){return i.passedThroughNonGreedyDecision||n instanceof y0&&n.nonGreedy}},L(v1,"LexerATNConfig"),v1),Ue=(sn=class{constructor(e){A(this,"actionType");A(this,"isPositionDependent");this.actionType=e,this.isPositionDependent=!1}hashCode(){const e=new me;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}},L(sn,"LexerAction"),sn),Vh=(G1=class extends Ue{constructor(i,n){super(n.actionType);A(this,"offset");A(this,"action");this.offset=i,this.action=n,this.isPositionDependent=!0}execute(i){this.action.execute(i)}updateHashCode(i){i.update(this.actionType,this.offset,this.action)}equals(i){return this===i?!0:i instanceof G1?this.offset===i.offset&&this.action===i.action:!1}},L(G1,"LexerIndexedCustomAction"),G1),H6=($e=class extends Ue{constructor(i){super(-1);A(this,"lexerActions");A(this,"cachedHashCode");return this.lexerActions=i===null?[]:i,this.cachedHashCode=me.hashStuff(i),this}static append(i,n){if(i===null)return new $e([n]);const s=i.lexerActions.concat([n]);return new $e(s)}fixOffsetBeforeMatch(i){let n=null;for(let s=0;s",e+=this.getStateString(a),e+=` +`}}}}return e}getEdgeLabel(e){return`${this.vocabulary.getDisplayName(e-1)}`}getStateString(e){const i=e.stateNumber,n=(e.isAcceptState?":":"")+"s"+i+(e.requiresFullContext?"^":"");return e.isAcceptState?e.predicates!==null?`${n}=>${e.predicates.toString()}`:`${n}=>${e.prediction}`:`${n}`}},L(hn,"DFASerializer"),hn),le=(bt=class{constructor(e,i,n){A(this,"maxTokenType");A(this,"literalNames");A(this,"symbolicNames");A(this,"displayNames");this.literalNames=e??bt.EMPTY_NAMES,this.symbolicNames=i??bt.EMPTY_NAMES,this.displayNames=n??bt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(e){if(e==null||e.length===0)return bt.EMPTY_VOCABULARY;const i=[...e],n=[...e];for(let s=0;s0){const a=h.charAt(0);if(a==="'"){n[s]=null;continue}else if(a.toUpperCase()===a){i[s]=null;continue}}i[s]=null,n[s]=null}}return new bt(i,n,e)}getMaxTokenType(){return this.maxTokenType}getLiteralName(e){return e>=0&&e=0&&e=0&&e"'"+String.fromCharCode(i)+"'")}},L(an,"LexerDFASerializer"),an),h0=(En=class extends y0{constructor(){super();A(this,"loopBackState");A(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return Q.STAR_LOOP_ENTRY}},L(En,"StarLoopEntryState"),En),F0=(Wn=class{constructor(e,i){A(this,"states",new ie);A(this,"s0",null);A(this,"decision");A(this,"atnStartState");A(this,"precedenceDfa");A(this,"isPrecedenceDfa",()=>this.precedenceDfa);A(this,"getPrecedenceStartState",e=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||e<0||e>=this.s0.edges.length?null:this.s0.edges[e]});A(this,"setPrecedenceStartState",(e,i)=>{var n;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(e<0||!((n=this.s0)!=null&&n.edges))){if(e>=this.s0.edges.length){const s=this.s0.edges.length;this.s0.edges.length=e+1,this.s0.edges.fill(null,s,e)}this.s0.edges[e]=i}});this.atnStartState=e,this.decision=i??0;let n=!1;if(e instanceof h0&&e.precedenceRuleDecision){n=!0;const s=new be;s.edges=[],s.isAcceptState=!1,s.requiresFullContext=!1,this.s0=s}this.precedenceDfa=n}setPrecedenceDfa(e){if(e!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const e=this.states.values();return e.sort((i,n)=>i.stateNumber-n.stateNumber),e}toString(e){return e?this.s0===null?"":new $4(this,e).toString()??"":this.toString(le.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new y6(this).toString()??""}},L(Wn,"DFA"),Wn),w0=(tt=class extends pe{constructor(i,n,s,h){super(n,h);A(this,"decisionToDFA");A(this,"recog",null);A(this,"startIndex",-1);A(this,"line",1);A(this,"column",0);A(this,"mode",ce.DEFAULT_MODE);A(this,"prevAccept",new tt.SimState);this.decisionToDFA=s,this.recog=i}copyState(i){this.column=i.column,this.line=i.line,this.mode=i.mode,this.startIndex=i.startIndex}match(i,n){this.mode=n;const s=i.mark();try{this.startIndex=i.index,this.prevAccept.reset();const h=this.decisionToDFA[n];return h.s0===null?this.matchATN(i):this.execATN(i,h.s0)}finally{i.release(s)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=ce.DEFAULT_MODE}getDFA(i){return this.decisionToDFA[i]}getText(i){return i.getText(this.startIndex,i.index-1)}consume(i){i.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,i.consume()}getTokenName(i){return i===-1?"EOF":"'"+String.fromCharCode(i)+"'"}clearDFA(){for(let i=0;itt.MAX_DFA_EDGE)return null;let s=i.edges[n-tt.MIN_DFA_EDGE];return s===void 0&&(s=null),tt.debug&&s!==null&&console.log("reuse state "+i.stateNumber+" edge to "+s.stateNumber),s}computeTargetState(i,n,s){const h=new z4;return this.getReachableConfigSet(i,n.configs,h,s),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(n,s,pe.ERROR),pe.ERROR):this.addDFAEdge(n,s,null,h)}failOrAccept(i,n,s,h){if(i.dfaState!==null){const a=i.dfaState.lexerActionExecutor;return this.accept(n,a,this.startIndex,i.index,i.line,i.column),i.dfaState.prediction}else{if(h===p.EOF&&n.index===this.startIndex)return p.EOF;throw new ni(this.recog,n,this.startIndex,s)}}getReachableConfigSet(i,n,s,h){let a=M.INVALID_ALT_NUMBER;for(const E of n.items){const W=E.alt===a;if(!(W&&E.passedThroughNonGreedyDecision)){tt.debug&&console.log(`testing %s at %s +`,this.getTokenName(h),E.toString(this.recog,!0));for(const u of E.state.transitions){const _=this.getReachableTarget(u,h);if(_!==null){let N=E.lexerActionExecutor;N!==null&&(N=N.fixOffsetBeforeMatch(i.index-this.startIndex));const C=h===p.EOF,d=new xe({state:_,lexerActionExecutor:N},E);this.closure(i,d,s,W,!0,C)&&(a=E.alt)}}}}}accept(i,n,s,h,a,E){tt.debug&&console.log(`ACTION %s +`,n),i.seek(h),this.line=a,this.column=E,n!==null&&this.recog!==null&&n.execute(this.recog,i,s)}getReachableTarget(i,n){return i.matches(n,0,ce.MAX_CHAR_VALUE)?i.target:null}computeStartState(i,n){const s=$.EMPTY,h=new z4;for(let a=0;att.MAX_DFA_EDGE||(tt.debug&&console.log("EDGE "+i+" -> "+s+" upon "+n),i.edges===null&&(i.edges=new Array(tt.MAX_DFA_EDGE-tt.MIN_DFA_EDGE+1),i.edges.fill(null)),i.edges[n-tt.MIN_DFA_EDGE]=s),s}addDFAState(i){const n=new be(i);let s=null;for(const W of i.items)if(W.state instanceof Vt){s=W;break}s!==null&&(n.isAcceptState=!0,n.lexerActionExecutor=s.lexerActionExecutor,n.prediction=this.atn.ruleToTokenType[s.state.ruleIndex]);const h=this.decisionToDFA[this.mode],a=h.states.get(n);if(a!==null)return a;const E=n;return E.stateNumber=h.states.length,i.setReadonly(!0),E.configs=i,h.states.add(E),E}},L(tt,"LexerATNSimulator"),A(tt,"MIN_DFA_EDGE",0),A(tt,"MAX_DFA_EDGE",127),A(tt,"debug",!1),A(tt,"dfa_debug",!1),tt);(c=>{const i=class i{constructor(){A(this,"index",-1);A(this,"line",0);A(this,"column",-1);A(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};L(i,"SimState");let e=i;c.SimState=e})(w0||(w0={}));var ce=(ft=class extends Z4{constructor(i){super();A(this,"_input");A(this,"_token",null);A(this,"_tokenStartCharIndex",-1);A(this,"_tokenStartLine",0);A(this,"_tokenStartColumn",0);A(this,"_hitEOF",!1);A(this,"_channel",0);A(this,"_type",0);A(this,"_modeStack",[]);A(this,"_mode",ft.DEFAULT_MODE);A(this,"_text",null);A(this,"_factory");this._input=i,this._factory=f6.DEFAULT}reset(i=!0){i&&this._input.seek(0),this._token=null,this._type=p.INVALID_TYPE,this._channel=p.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=ft.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const i=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=p.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let n=!1;for(;;){this._type=p.INVALID_TYPE;let s=ft.SKIP;try{s=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof ni)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===p.EOF&&(this._hitEOF=!0),this._type===p.INVALID_TYPE&&(this._type=s),this._type===ft.SKIP){n=!0;break}if(this._type!==ft.MORE)break}if(!n)return this._token===null&&this.emit(),this._token}}finally{this._input.release(i)}}skip(){this._type=ft.SKIP}more(){this._type=ft.MORE}mode(i){this._mode=i}pushMode(i){w0.debug&&console.log("pushMode "+i),this._modeStack.push(this._mode),this.mode(i)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return w0.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(i){this._token=i}emit(){const i=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(i),i}emitEOF(){const i=this.column,n=this.line,s=this._factory.create([this,this._input],p.EOF,null,p.DEFAULT_CHANNEL,this._input.index,this._input.index-1,n,i);return this.emitToken(s),s}getCharIndex(){return this._input.index}getAllTokens(){const i=[];let n=this.nextToken();for(;n.type!==p.EOF;)i.push(n),n=this.nextToken();return i}notifyListeners(i){const n=this._tokenStartCharIndex,s=this._input.index,h=this._input.getText(n,s),a="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,a,i)}getErrorDisplay(i){return i}getErrorDisplayForChar(i){return i.charCodeAt(0)===p.EOF?"":i===` +`?"\\n":i===" "?"\\t":i==="\r"?"\\r":i}getCharErrorDisplay(i){return"'"+this.getErrorDisplayForChar(i)+"'"}recover(i){this._input.LA(1)!==p.EOF&&(i instanceof ni?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(i){this.reset(!1),this._input=i}set tokenFactory(i){this._factory=i}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(i){this._type=i}get line(){return this.interpreter.line}set line(i){this.interpreter.line=i}get column(){return this.interpreter.column}set column(i){this.interpreter.column=i}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(i){this._text=i}},L(ft,"Lexer"),A(ft,"DEFAULT_MODE",0),A(ft,"MORE",-2),A(ft,"SKIP",-3),A(ft,"DEFAULT_TOKEN_CHANNEL",p.DEFAULT_CHANNEL),A(ft,"HIDDEN",p.HIDDEN_CHANNEL),A(ft,"MIN_CHAR_VALUE",0),A(ft,"MAX_CHAR_VALUE",1114111),ft),Dt=(Wt=class{constructor(e){A(this,"intervals",[]);A(this,"readOnly",!1);e&&this.addSet(e)}static of(e,i){const n=new Wt;return n.addRange(e,i),n}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?p.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?p.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(e){this.addInterval(new J(e,e))}addRange(e,i){this.addInterval(new J(e,i))}addInterval(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(e);else{for(let i=0;ithis.addInterval(i),this),this}complement(e,i){if(!e)return new Wt;const n=new Wt;if(e instanceof Wt){if(e.isNil)return new Wt;n.addSet(e)}else n.addInterval(new J(e,i??0));return n.subtract(this)}or(e){const i=new Wt;return i.addSet(this),e.forEach(n=>i.addSet(n)),i}and(e){if(e.isNil)return new Wt;const i=this.intervals,n=e.intervals;let s;const h=i.length,a=n.length;let E=0,W=0;for(;Eh.stop){n++;continue}let E=null,W=null;if(a.start>h.start&&(E=new J(h.start,a.start-1)),a.stope)s=h-1;else return!0}return!1}removeRange(e){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(e.start===e.stop)this.removeOne(e.start);else if(this.intervals!==null){let i=0;for(const n of this.intervals){if(e.stop<=n.start)return;if(e.start>n.start&&e.stop=n.stop?(this.intervals.splice(i,1),i=i-1):e.start1&&(i+="{");let n=!1,s;e instanceof le?s=e:Array.isArray(e)?s=le.fromTokenNames(e):n=e??!1;for(let h=0;h":n?i+="'"+String.fromCodePoint(E)+"'":s?i+=this.elementName(s,E):i+=E;else if(n)i+="'"+String.fromCodePoint(E)+"'..'"+String.fromCodePoint(W)+"'";else if(s)for(let u=E;u<=W;++u)u>E&&(i+=", "),i+=this.elementName(s,u);else i+=E+".."+W;h1&&(i+="}"),i}toArray(){const e=[];for(const i of this.intervals)for(let n=i.start;n<=i.stop;n++)e.push(n);return e}get length(){let e=0;if(this.intervals.length===1){const n=this.intervals[0];return n.stop-n.start+1}for(const n of this.intervals)e+=n.length;return e}isReadonly(){return this.readOnly}setReadonly(e){if(this.readOnly&&!e)throw new Error("can't alter readonly IntervalSet");this.readOnly=e}elementName(e,i){return i===p.EOF?"":i===p.EPSILON?"":e.getDisplayName(i)}},L(Wt,"IntervalSet"),A(Wt,"COMPLETE_CHAR_SET",Wt.of(ce.MIN_CHAR_VALUE,ce.MAX_CHAR_VALUE)),A(Wt,"EMPTY_SET",new Wt),Wt.COMPLETE_CHAR_SET.readOnly=!0,Wt.EMPTY_SET.readOnly=!0,Wt),Ks=(Kn=class extends n0{constructor(i,n,s,h){super(i);A(this,"ruleIndex");A(this,"precedence");A(this,"followState");this.ruleIndex=n,this.precedence=s,this.followState=h}get isEpsilon(){return!0}get serializationType(){return b.RULE}matches(i,n,s){return!1}},L(Kn,"RuleTransition"),Kn),Yh=(un=class extends n0{constructor(i,n){super(i);q(this,d0,void 0);n!=null?z(this,d0,n):(z(this,d0,new Dt),x(this,d0).addOne(p.INVALID_TYPE))}get label(){return x(this,d0)}get serializationType(){return b.SET}matches(i,n,s){return this.label.contains(i)}toString(){return x(this,d0).toString()}},d0=new WeakMap,L(un,"SetTransition"),un),Xh=(Rn=class extends Yh{constructor(e,i){super(e,i)}get serializationType(){return b.NOT_SET}matches(e,i,n){return e>=i&&e<=n&&!super.matches(e,i,n)}toString(){return"~"+super.toString()}},L(Rn,"NotSetTransition"),Rn),J4=(Tn=class extends n0{constructor(e){super(e)}get serializationType(){return b.WILDCARD}matches(e,i,n){return e>=i&&e<=n}toString(){return"."}},L(Tn,"WildcardTransition"),Tn),F6=(m0=class{constructor(e){A(this,"atn");this.atn=e}getDecisionLookahead(e){if(e===null)return null;const i=e.transitions.length,n=new Array(i);n.fill(null);for(let s=0;s=this.states.length)throw new Error("Invalid state number.");const n=this.states[e];let s=this.nextTokens(n);if(!s.contains(p.EPSILON))return s;let h=i;const a=new Dt;for(a.addSet(s),a.removeOne(p.EPSILON);h!==null&&h.invokingState>=0&&s.contains(p.EPSILON);){const W=this.states[h.invokingState].transitions[0];s=this.nextTokens(W.followState),a.addSet(s),a.removeOne(p.EPSILON),h=h.parent}return s.contains(p.EPSILON)&&a.addOne(p.EOF),a}nextTokens(e,i){return i===void 0?(e.nextTokenWithinRule!==null||(e.nextTokenWithinRule=this.nextTokens(e,null),e.nextTokenWithinRule.setReadonly(!0)),e.nextTokenWithinRule):new F6(this).LOOK(e,null,i)}},L(B1,"ATN"),A(B1,"INVALID_ALT_NUMBER",0),B1),S4=(o0=class{constructor(e){A(this,"readOnly",!1);A(this,"verifyATN");A(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=e==null?!0:e.verifyATN,this.generateRuleBypassTransitions=e==null?!1:e.generateRuleBypassTransitions}},L(o0,"ATNDeserializationOptions"),A(o0,"defaultOptions",new o0),o0.defaultOptions.readOnly=!0,o0),si={LEXER:0,PARSER:1},g4=(An=class extends fe{get stateType(){return Q.BASIC}},L(An,"BasicState"),An),R1=(_n=class extends y0{constructor(){super();A(this,"endState");this.endState=null}},L(_n,"BlockStartState"),_n),Qh=(Nn=class extends fe{constructor(){super(...arguments);A(this,"startState",null)}get stateType(){return Q.BLOCK_END}},L(Nn,"BlockEndState"),Nn),b0=(Cn=class extends fe{constructor(){super(...arguments);A(this,"loopBackState",null)}get stateType(){return Q.LOOP_END}},L(Cn,"LoopEndState"),Cn),q4=(In=class extends fe{constructor(){super();A(this,"stopState");A(this,"isLeftRecursiveRule");A(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return Q.RULE_START}},L(In,"RuleStartState"),In),w6=(Ln=class extends y0{get stateType(){return Q.TOKEN_START}},L(Ln,"TokensStartState"),Ln),P4=(On=class extends y0{get stateType(){return Q.PLUS_LOOP_BACK}},L(On,"PlusLoopbackState"),On),Zh=(dn=class extends fe{get stateType(){return Q.STAR_LOOP_BACK}},L(dn,"StarLoopbackState"),dn),rh=(mn=class extends R1{constructor(){super(...arguments);A(this,"loopBackState")}get stateType(){return Q.PLUS_BLOCK_START}},L(mn,"PlusBlockStartState"),mn),jh=(on=class extends R1{get stateType(){return Q.STAR_BLOCK_START}},L(on,"StarBlockStartState"),on),t5=(pn=class extends R1{get stateType(){return Q.BLOCK_START}},L(pn,"BasicBlockStartState"),pn),us=(xn=class extends n0{constructor(i,n){super(i);A(this,"labelValue");q(this,fn,void 0);this.labelValue=n,z(this,fn,Dt.of(n,n))}get label(){return x(this,fn)}matches(i,n,s){return this.labelValue===i}get serializationType(){return b.ATOM}toString(){return this.labelValue.toString()}},fn=new WeakMap,L(xn,"AtomTransition"),xn),e5=(ln=class extends n0{constructor(i,n,s){super(i);A(this,"start");A(this,"stop");q(this,Un,new Dt);this.start=n,this.stop=s,x(this,Un).addRange(n,s)}get label(){return x(this,Un)}get serializationType(){return b.RANGE}matches(i,n,s){return i>=this.start&&i<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},Un=new WeakMap,L(ln,"RangeTransition"),ln),hi=(Dn=class extends n0{constructor(i,n=-1){super(i);q(this,kn,void 0);z(this,kn,n)}get isEpsilon(){return!0}matches(i,n,s){return!1}get outermostPrecedenceReturn(){return x(this,kn)}get serializationType(){return b.EPSILON}toString(){return"epsilon"}},kn=new WeakMap,L(Dn,"EpsilonTransition"),Dn),i5=(Mn=class extends bh{constructor(i,n,s,h){super(i);A(this,"ruleIndex");A(this,"predIndex");A(this,"isCtxDependent");this.ruleIndex=n,this.predIndex=s,this.isCtxDependent=h}get isEpsilon(){return!0}matches(i,n,s){return!1}get serializationType(){return b.PREDICATE}getPredicate(){return new nt.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},L(Mn,"PredicateTransition"),Mn),b6=(Hn=class extends bh{constructor(i,n){super(i);A(this,"precedence");this.precedence=n}get isEpsilon(){return!0}matches(i,n,s){return!1}getPredicate(){return new nt.PrecedencePredicate(this.precedence)}get serializationType(){return b.PRECEDENCE}toString(){return this.precedence+" >= _p"}},L(Hn,"PrecedencePredicateTransition"),Hn),Mt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},v6=(t1=class extends Ue{constructor(){super(Mt.SKIP)}execute(e){e.skip()}toString(){return"skip"}},L(t1,"LexerSkipAction"),A(t1,"INSTANCE",new t1),t1),G6=(V1=class extends Ue{constructor(i){super(Mt.CHANNEL);A(this,"channel");this.channel=i}execute(i){i._channel=this.channel}updateHashCode(i){i.update(this.actionType,this.channel)}equals(i){return this===i?!0:i instanceof V1?this.channel===i.channel:!1}toString(){return"channel("+this.channel+")"}},L(V1,"LexerChannelAction"),V1),B6=(Y1=class extends Ue{constructor(i,n){super(Mt.CUSTOM);A(this,"ruleIndex");A(this,"actionIndex");this.ruleIndex=i,this.actionIndex=n,this.isPositionDependent=!0}execute(i){i.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(i){i.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(i){return this===i?!0:i instanceof Y1?this.ruleIndex===i.ruleIndex&&this.actionIndex===i.actionIndex:!1}},L(Y1,"LexerCustomAction"),Y1),V6=(e1=class extends Ue{constructor(){super(Mt.MORE)}execute(e){e.more()}toString(){return"more"}},L(e1,"LexerMoreAction"),A(e1,"INSTANCE",new e1),e1),Y6=(X1=class extends Ue{constructor(i){super(Mt.TYPE);A(this,"type");this.type=i}execute(i){i._type=this.type}updateHashCode(i){i.update(this.actionType,this.type)}equals(i){return this===i?!0:i instanceof X1?this.type===i.type:!1}toString(){return"type("+this.type+")"}},L(X1,"LexerTypeAction"),X1),X6=(Q1=class extends Ue{constructor(i){super(Mt.PUSH_MODE);A(this,"mode");this.mode=i}execute(i){i.pushMode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof Q1?this.mode===i.mode:!1}toString(){return"pushMode("+this.mode+")"}},L(Q1,"LexerPushModeAction"),Q1),Q6=(i1=class extends Ue{constructor(){super(Mt.POP_MODE)}execute(e){e.popMode()}toString(){return"popMode"}},L(i1,"LexerPopModeAction"),A(i1,"INSTANCE",new i1),i1),Z6=(Z1=class extends Ue{constructor(i){super(Mt.MODE);A(this,"mode");this.mode=i}execute(i){i.mode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof Z1?this.mode===i.mode:!1}toString(){return"mode("+this.mode+")"}},L(Z1,"LexerModeAction"),Z1),zh=L((c,e)=>{const i=new Array(c-1);return i[c-1]=e,i.map(()=>e)},"initArray"),ai=(p0=class{constructor(e){A(this,"data",[]);A(this,"pos",0);A(this,"deserializationOptions");A(this,"stateFactories",null);A(this,"actionFactories",null);e||(e=S4.defaultOptions),this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){this.reset(e),this.checkVersion();const i=this.readATN();this.readStates(i),this.readRules(i),this.readModes(i);const n=[];return this.readSets(i,n),this.readEdges(i,n),this.readDecisions(i),this.readLexerActions(i),this.markPrecedenceDecisions(i),this.verifyATN(i),this.deserializationOptions.generateRuleBypassTransitions&&i.grammarType===si.PARSER&&(this.generateRuleBypassTransitions(i),this.verifyATN(i)),i}reset(e){return this.data=e,this.pos=0,!1}checkVersion(){const e=this.readInt();if(e!==p0.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+e+" (expected "+p0.SERIALIZED_VERSION+").")}readATN(){const e=this.readInt(),i=this.readInt();return new M(e,i)}readStates(e){let i,n;const s=[],h=[],a=this.readInt();for(let u=0;u0;)h.addTransition(u.transitions[_-1]),u.transitions=u.transitions.slice(-1);e.ruleToStartState[i].addTransition(new hi(h)),W&&a.addTransition(new hi(W));const N=new g4;e.addState(N),N.addTransition(new us(a,e.ruleToTokenType[i])),h.addTransition(new hi(N))}stateIsEndStateFor(e,i){if(e.ruleIndex!==i||!(e instanceof h0))return null;const n=e.transitions[e.transitions.length-1].target;return n instanceof b0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Vt?e:null}markPrecedenceDecisions(e){for(const i of e.states)if(i instanceof h0&&e.ruleToStartState[i.ruleIndex].isPrecedenceRule){const n=i.transitions[i.transitions.length-1].target;n instanceof b0&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Vt&&(i.precedenceRuleDecision=!0)}}verifyATN(e){if(this.deserializationOptions.verifyATN){for(const i of e.states)if(i!==null)if(this.checkCondition(i.epsilonOnlyTransitions||i.transitions.length<=1),i instanceof rh)this.checkCondition(i.loopBackState!==null);else if(i instanceof h0)if(this.checkCondition(i.loopBackState!==null),this.checkCondition(i.transitions.length===2),i.transitions[0].target instanceof jh)this.checkCondition(i.transitions[1].target instanceof b0),this.checkCondition(!i.nonGreedy);else if(i.transitions[0].target instanceof b0)this.checkCondition(i.transitions[1].target instanceof jh),this.checkCondition(i.nonGreedy);else throw new Error("IllegalState");else i instanceof Zh?(this.checkCondition(i.transitions.length===1),this.checkCondition(i.transitions[0].target instanceof h0)):i instanceof b0?this.checkCondition(i.loopBackState!==null):i instanceof q4?this.checkCondition(i.stopState!==null):i instanceof R1?this.checkCondition(i.endState!==null):i instanceof Qh?this.checkCondition(i.startState!==null):i instanceof y0?this.checkCondition(i.transitions.length<=1||i.decision>=0):this.checkCondition(i.transitions.length<=1||i instanceof Vt)}}checkCondition(e,i){if(!e)throw i==null&&(i="IllegalState"),i}readInt(){return this.data[this.pos++]}edgeFactory(e,i,n,s,h,a,E){const W=e.states[n];switch(i){case b.EPSILON:return new hi(W);case b.RANGE:return a!==0?new e5(W,p.EOF,h):new e5(W,s,h);case b.RULE:return new Ks(e.states[s],h,a,W);case b.PREDICATE:return new i5(W,s,h,a!==0);case b.PRECEDENCE:return new b6(W,s);case b.ATOM:return a!==0?new us(W,p.EOF):new us(W,s);case b.ACTION:return new b4(W,s,h,a!==0);case b.SET:return new Yh(W,E[s]);case b.NOT_SET:return new Xh(W,E[s]);case b.WILDCARD:return new J4(W);default:throw new Error("The specified transition type: "+i+" is not valid.")}}stateFactory(e,i){var n,s;if(this.stateFactories===null){const h=[];h[Q.INVALID_TYPE]=null,h[Q.BASIC]=()=>new g4,h[Q.RULE_START]=()=>new q4,h[Q.BLOCK_START]=()=>new t5,h[Q.PLUS_BLOCK_START]=()=>new rh,h[Q.STAR_BLOCK_START]=()=>new jh,h[Q.TOKEN_START]=()=>new w6,h[Q.RULE_STOP]=()=>new Vt,h[Q.BLOCK_END]=()=>new Qh,h[Q.STAR_LOOP_BACK]=()=>new Zh,h[Q.STAR_LOOP_ENTRY]=()=>new h0,h[Q.PLUS_LOOP_BACK]=()=>new P4,h[Q.LOOP_END]=()=>new b0,this.stateFactories=h}if(e>this.stateFactories.length||this.stateFactories[e]===null)throw new Error("The specified state type "+e+" is not valid.");{const h=((s=(n=this.stateFactories)[e])==null?void 0:s.call(n))??null;if(h!==null)return h.ruleIndex=i,h}return null}lexerActionFactory(e,i,n){if(this.actionFactories===null){const s=[];s[Mt.CHANNEL]=(h,a)=>new G6(h),s[Mt.CUSTOM]=(h,a)=>new B6(h,a),s[Mt.MODE]=(h,a)=>new Z6(h),s[Mt.MORE]=(h,a)=>V6.INSTANCE,s[Mt.POP_MODE]=(h,a)=>Q6.INSTANCE,s[Mt.PUSH_MODE]=(h,a)=>new X6(h),s[Mt.SKIP]=(h,a)=>v6.INSTANCE,s[Mt.TYPE]=(h,a)=>new Y6(h),this.actionFactories=s}if(e>this.actionFactories.length||this.actionFactories[e]===null)throw new Error("The specified lexer action type "+e+" is not valid.");return this.actionFactories[e](i,n)}},L(p0,"ATNDeserializer"),A(p0,"SERIALIZED_VERSION",4),p0),I=(yn=class extends T{constructor(i,n=null,s=null,h=null,a=null,E=null){E=E??i.context,h=h??i.getCurrentToken(),s=s??i.getCurrentToken(),n=n??i.inputStream;super({message:"",recognizer:i,input:n,ctx:E});A(this,"deadEndConfigs",null);A(this,"startToken");this.deadEndConfigs=a,this.startToken=s,this.offendingToken=h}},L(yn,"NoViableAltException"),yn),r6=(Fn=class{constructor(){A(this,"cacheMap");this.cacheMap=new H0}get(e,i){const n=this.cacheMap.get(e)??null;return n===null?null:n.get(i)??null}set(e,i,n){let s=this.cacheMap.get(e)??null;s===null&&(s=new H0,this.cacheMap.set(e,s)),s.set(i,n)}},L(Fn,"DoubleDict"),Fn),dt=(vt=class{static hasSLLConflictTerminatingPrediction(e,i){if(vt.allConfigsInRuleStopStates(i))return!0;if(e===vt.SLL&&i.hasSemanticContext){const s=new ue;for(let h of i.items)h=new Ot({semanticContext:nt.NONE},h),s.add(h);i=s}const n=vt.getConflictingAltSubsets(i);return vt.hasConflictingAltSet(n)&&!vt.hasStateAssociatedWithOneAlt(i)}static hasConfigInRuleStopState(e){for(const i of e.items)if(i.state instanceof Vt)return!0;return!1}static allConfigsInRuleStopStates(e){for(const i of e.items)if(!(i.state instanceof Vt))return!1;return!0}static resolvesToJustOneViableAlt(e){return vt.getSingleViableAlt(e)}static allSubsetsConflict(e){return!vt.hasNonConflictingAltSet(e)}static hasNonConflictingAltSet(e){for(const i of e)if(i.length===1)return!0;return!1}static hasConflictingAltSet(e){for(const i of e)if(i.length>1)return!0;return!1}static allSubsetsEqual(e){let i=null;for(const n of e)if(i===null)i=n;else if(n!==i)return!1;return!0}static getUniqueAlt(e){const i=vt.getAlts(e);return i.length===1?i.nextSetBit(0):M.INVALID_ALT_NUMBER}static getAlts(e){const i=new oe;return e.forEach(n=>{i.or(n)}),i}static getConflictingAltSubsets(e){const i=new H0(n=>me.hashStuff(n.state.stateNumber,n.context),(n,s)=>{var h;return n.state.stateNumber===s.state.stateNumber&&(((h=n.context)==null?void 0:h.equals(s.context))??!0)});return e.items.forEach(n=>{let s=i.get(n);s===null&&(s=new oe,i.set(n,s)),s.set(n.alt)}),i.getValues()}static getStateToAltMap(e){const i=new H0;return e.items.forEach(n=>{let s=i.get(n.state);s||(s=new oe,i.set(n.state,s)),s.set(n.alt)}),i}static hasStateAssociatedWithOneAlt(e){const i={};return e.items.forEach(n=>{const s=n.state.stateNumber;i[s]||(i[s]=0),i[s]++}),Object.values(i).some(n=>n===1)}static getSingleViableAlt(e){let i=null;for(const n of e){const s=n.nextSetBit(0);if(i===null)i=s;else if(i!==s)return M.INVALID_ALT_NUMBER}return i??0}},L(vt,"PredictionMode"),A(vt,"SLL",0),A(vt,"LL",1),A(vt,"LL_EXACT_AMBIG_DETECTION",2),vt),Rs=(G=class extends pe{constructor(i,n,s,h){super(n,h);A(this,"predictionMode");A(this,"decisionToDFA");A(this,"parser");A(this,"mergeCache",null);A(this,"_input",null);A(this,"_startIndex",0);A(this,"_outerContext",null);A(this,"_dfa",null);this.parser=i,this.decisionToDFA=s}static getUniqueAlt(i){let n=M.INVALID_ALT_NUMBER;for(const s of i.items)if(n===M.INVALID_ALT_NUMBER)n=s.alt;else if(s.alt!==n)return M.INVALID_ALT_NUMBER;return n}reset(){}clearDFA(){for(let i=0;i"}getTokenName(i){if(i===p.EOF)return"EOF";const s=(this.parser!=null?this.parser.vocabulary:le.EMPTY_VOCABULARY).getDisplayName(i);return s===i.toString()?s:s+"<"+i+">"}getLookaheadName(i){return this.getTokenName(i.LA(1))}dumpDeadEndConfigs(i){console.log("dead end configs: ");const n=i.deadEndConfigs.items;for(const s of n){let h="no edges";if(s.state.transitions.length>0){const a=s.state.transitions[0];a instanceof us?h="Atom "+this.getTokenName(a.labelValue):a instanceof Yh&&(h=(a instanceof Xh?"~":"")+"Set "+a.label)}console.error(s.toString(this.parser,!0)+":"+h)}}predicateDFAState(i,n){const s=n.transitions.length,h=this.getConflictingAltsOrUniqueAlt(i.configs),a=this.getPredsForAmbigAlts(h,i.configs,s);a!==null?(i.predicates=this.getPredicatePredictions(h,a),i.prediction=M.INVALID_ALT_NUMBER):i.prediction=h.nextSetBit(0)}execATNWithFullContext(i,n,s,h,a,E){(G.debug||G.trace_atn_sim)&&console.log("execATNWithFullContext "+s);const W=!0;let u=!1,_,N=s;h.seek(a);let C=h.LA(1),d=-1;for(;;){if(_=this.computeReachSet(N,C,W),_===null){const k=this.noViableAlt(h,E,N,a);h.seek(a);const D=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(N,E);if(D!==M.INVALID_ALT_NUMBER)return D;throw k}const f=dt.getConflictingAltSubsets(_);if(G.debug&&console.log("LL altSubSets="+f+", predict="+dt.getUniqueAlt(f)+", resolvesToJustOneViableAlt="+dt.resolvesToJustOneViableAlt(f)),_.uniqueAlt=G.getUniqueAlt(_),_.uniqueAlt!==M.INVALID_ALT_NUMBER){d=_.uniqueAlt;break}else if(this.predictionMode!==dt.LL_EXACT_AMBIG_DETECTION){if(d=dt.resolvesToJustOneViableAlt(f),d!==M.INVALID_ALT_NUMBER)break}else if(dt.allSubsetsConflict(f)&&dt.allSubsetsEqual(f)){u=!0,d=dt.getSingleViableAlt(f);break}N=_,C!==p.EOF&&(h.consume(),C=h.LA(1))}return _.uniqueAlt!==M.INVALID_ALT_NUMBER?(this.reportContextSensitivity(i,d,_,a,h.index),d):(this.reportAmbiguity(i,n,a,h.index,u,null,_),d)}computeReachSet(i,n,s){G.debug&&console.log("in computeReachSet, starting closure: "+i),this.mergeCache===null&&(this.mergeCache=new r6);const h=new ue(s);let a=null;for(const W of i.items){if(G.debug&&console.log("testing "+this.getTokenName(n)+" at "+W),W.state instanceof Vt){(s||n===p.EOF)&&(a===null&&(a=[]),a.push(W));continue}for(const u of W.state.transitions){const _=this.getReachableTarget(u,n);if(_!==null){const N=new Ot({state:_},W);h.add(N,this.mergeCache)}}}let E=null;if(a===null&&n!==p.EOF&&(h.items.length===1||G.getUniqueAlt(h)!==M.INVALID_ALT_NUMBER)&&(E=h),E===null){E=new ue(s);const W=new ie,u=n===p.EOF;for(const _ of h.items)this.closure(_,E,W,!1,s,u)}if(n===p.EOF&&(E=this.removeAllConfigsNotInRuleStopState(E,E===h)),a!==null&&(!s||!dt.hasConfigInRuleStopState(E)))for(const W of a)E.add(W,this.mergeCache);return E.items.length===0?null:E}removeAllConfigsNotInRuleStopState(i,n){if(dt.allConfigsInRuleStopStates(i))return i;const s=new ue(i.fullCtx);for(const h of i.items){if(h.state instanceof Vt){s.add(h,this.mergeCache);continue}if(n&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(p.EPSILON)){const E=this.atn.ruleToStopState[h.state.ruleIndex];s.add(new Ot({state:E},h),this.mergeCache)}}return s}computeStartState(i,n,s){const h=Gh(this.atn,n),a=new ue(s);for(let E=0;E0&&(E=this.getAltThatFinishedDecisionEntryRule(a),E!==M.INVALID_ALT_NUMBER)?E:M.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(i){const n=[];for(const s of i.items)(s.reachesIntoOuterContext>0||s.state instanceof Vt&&s.context.hasEmptyPath())&&n.indexOf(s.alt)<0&&n.push(s.alt);return n.length===0?M.INVALID_ALT_NUMBER:Math.min(...n)}splitAccordingToSemanticValidity(i,n){const s=new ue(i.fullCtx),h=new ue(i.fullCtx);for(const a of i.items)a.semanticContext!==nt.NONE?a.semanticContext.evaluate(this.parser,n)?s.add(a):h.add(a):s.add(a);return[s,h]}evalSemanticContext(i,n,s){const h=new oe;for(const a of i){if(a.pred===nt.NONE){if(h.set(a.alt),!s)break;continue}const E=a.pred.evaluate(this.parser,n);if((G.debug||G.dfa_debug)&&console.log("eval pred "+a+"="+E),E&&((G.debug||G.dfa_debug)&&console.log("PREDICT "+a.alt),h.set(a.alt),!s))break}return h}closure(i,n,s,h,a,E){this.closureCheckingStopState(i,n,s,h,a,0,E)}closureCheckingStopState(i,n,s,h,a,E,W){if(i.state instanceof Vt)if(i.context&&!i.context.isEmpty()){for(let u=0;u=0&&(k+=1)}this.closureCheckingStopState(f,n,s,d,a,k,W)}}}canDropLoopEntryEdgeInLeftRecursiveRule(i){const n=i.state;if(n.stateType!==Q.STAR_LOOP_ENTRY||!i.context||!n.precedenceRuleDecision||i.context.isEmpty()||i.context.hasEmptyPath())return!1;const s=i.context.length;for(let W=0;W=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+M0(this.parser.getRuleInvocationStack())));let E=null;if(s&&h)if(a&&this._input){const W=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(W),u&&(E=new Ot({state:n.target},i))}else{const W=nt.andContext(i.semanticContext,n.getPredicate());E=new Ot({state:n.target,semanticContext:W},i)}else E=new Ot({state:n.target},i);return G.debug&&console.log("config from pred transition="+E),E}predTransition(i,n,s,h,a){G.debug&&(console.log("PRED (collectPredicates="+s+") "+n.ruleIndex+":"+n.predIndex+", ctx dependent="+n.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+M0(this.parser.getRuleInvocationStack())));let E=null;if(s&&(n.isCtxDependent&&h||!n.isCtxDependent))if(a&&this._input){const W=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(W),u&&(E=new Ot({state:n.target},i))}else{const W=nt.andContext(i.semanticContext,n.getPredicate());E=new Ot({state:n.target,semanticContext:W},i)}else E=new Ot({state:n.target},i);return G.debug&&console.log("config from pred transition="+E),E}ruleTransition(i,n){G.debug&&console.log("CALL rule "+this.getRuleName(n.target.ruleIndex)+", ctx="+i.context);const s=n.followState,h=ne.create(i.context,s.stateNumber);return new Ot({state:n.target,context:h},i)}getConflictingAlts(i){const n=dt.getConflictingAltSubsets(i);return dt.getAlts(n)}getConflictingAltsOrUniqueAlt(i){let n;return i.uniqueAlt!==M.INVALID_ALT_NUMBER?(n=new oe,n.set(i.uniqueAlt)):n=i.conflictingAlts,n}noViableAlt(i,n,s,h){return new I(this.parser,i,i.get(h),i.LT(1),s,n)}addDFAEdge(i,n,s,h){return G.debug&&console.log("EDGE "+n+" -> "+h+" upon "+this.getTokenName(s)),h===null?null:(h=this.addDFAState(i,h),n===null||s<-1||s>this.atn.maxTokenType||(n.edges===null&&(n.edges=new Array(this.atn.maxTokenType+2),n.edges.fill(null)),n.edges[s+1]=h,G.debug&&console.log(`DFA= +`+i.toString(this.parser!=null?this.parser.vocabulary:le.EMPTY_VOCABULARY))),h)}addDFAState(i,n){if(n===pe.ERROR)return n;const s=i.states.get(n);return s!==null?s:(n.stateNumber=i.states.length,n.configs.readOnly||(n.configs.optimizeConfigs(this),n.configs.setReadonly(!0)),i.states.add(n),G.debug&&console.log("adding new DFA state: "+n),n)}reportAttemptingFullContext(i,n,s,h,a){if(G.debug||G.retry_debug){const E=new J(h,a+1);console.log("reportAttemptingFullContext decision="+i.decision+":"+s+", input="+this.parser.tokenStream.getText(E))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,i,h,a,n,s)}reportContextSensitivity(i,n,s,h,a){if(G.debug||G.retry_debug){const E=new J(h,a+1);console.log("reportContextSensitivity decision="+i.decision+":"+s+", input="+this.parser.tokenStream.getText(E))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,i,h,a,n,s)}reportAmbiguity(i,n,s,h,a,E,W){if(G.debug||G.retry_debug){const u=new J(s,h+1);console.log("reportAmbiguity "+E+":"+W+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,i,s,h,a,E,W)}},L(G,"ParserATNSimulator"),A(G,"debug"),A(G,"trace_atn_sim",!1),A(G,"debug_add",!1),A(G,"debug_closure",!1),A(G,"dfa_debug",!1),A(G,"retry_debug",!1),G),Ei=(wn=class{constructor(){A(this,"cache",new H0)}add(e){if(e===$.EMPTY)return $.EMPTY;const i=this.cache.get(e)||null;return i!==null?i:(this.cache.set(e,e),e)}get(e){return this.cache.get(e)||null}get length(){return this.cache.length}},L(wn,"PredictionContextCache"),wn),Wi=(bn=class{constructor(e,i,n,s,h,a){A(this,"decision");A(this,"configs");A(this,"input");A(this,"startIndex");A(this,"stopIndex");A(this,"fullCtx");this.decision=e,this.configs=i,this.input=n,this.startIndex=s,this.stopIndex=h,this.fullCtx=a}},L(bn,"DecisionEventInfo"),bn),j6=(vn=class extends Wi{constructor(i,n,s,h,a,E,W){super(i,n,h,a,E,W);A(this,"ambigAlts");this.ambigAlts=s}},L(vn,"AmbiguityInfo"),vn),n5=(Gn=class extends Wi{constructor(e,i,n,s,h){super(e,i,n,s,h,!0)}},L(Gn,"ContextSensitivityInfo"),Gn),z6=(Bn=class{constructor(e){A(this,"decision",0);A(this,"invocations",0);A(this,"timeInPrediction",0);A(this,"SLL_TotalLook",0);A(this,"SLL_MinLook",0);A(this,"SLL_MaxLook",0);A(this,"SLL_MaxLookEvent");A(this,"LL_TotalLook",0);A(this,"LL_MinLook",0);A(this,"LL_MaxLook",0);A(this,"LL_MaxLookEvent");A(this,"contextSensitivities");A(this,"errors");A(this,"ambiguities");A(this,"predicateEvals");A(this,"SLL_ATNTransitions",0);A(this,"SLL_DFATransitions",0);A(this,"LL_Fallback",0);A(this,"LL_ATNTransitions",0);A(this,"LL_DFATransitions",0);this.decision=e,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},L(Bn,"DecisionInfo"),Bn),$h=(Vn=class extends Wi{constructor(e,i,n,s,h,a){super(e,i,n,s,h,a)}},L(Vn,"ErrorInfo"),Vn),c5=(Yn=class extends Wi{constructor(i,n,s,h,a,E,W){super(i,n,h,a,E,W);A(this,"predictedAlt");this.predictedAlt=s}},L(Yn,"LookaheadEventInfo"),Yn),Jh=(Xn=class extends Rs{constructor(i){const n=i.interpreter.getSharedContextCache();super(i,i.interpreter.atn,i.interpreter.decisionToDFA,n);A(this,"decisions");A(this,"numDecisions",0);A(this,"currentDecision",0);A(this,"currentState");A(this,"conflictingAltResolvedBySLL");q(this,Je,0);q(this,Se,0);if(n){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let s=0;sthis.decisions[n].SLL_MaxLook&&(this.decisions[n].SLL_MaxLook=W,this.decisions[n].SLL_MaxLookEvent=new c5(n,null,a,i,this._startIndex,x(this,Je),!1)),x(this,Se)>=0){const u=x(this,Se)-this._startIndex+1;this.decisions[n].LL_TotalLook+=u,this.decisions[n].LL_MinLook=this.decisions[n].LL_MinLook===0?u:Math.min(this.decisions[n].LL_MinLook,u),u>this.decisions[n].LL_MaxLook&&(this.decisions[n].LL_MaxLook=u,this.decisions[n].LL_MaxLookEvent=new c5(n,null,a,i,this._startIndex,x(this,Se),!0))}return a}finally{this.currentDecision=-1}}getExistingTargetState(i,n){if(this._input){z(this,Je,this._input.index);const s=super.getExistingTargetState(i,n);return s!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,s===pe.ERROR&&this.decisions[this.currentDecision].errors.push(new $h(this.currentDecision,i.configs,this._input,this._startIndex,x(this,Je),!1))),this.currentState=s,s}return null}computeTargetState(i,n,s){const h=super.computeTargetState(i,n,s);return this.currentState=h,h}computeReachSet(i,n,s){s&&this._input&&z(this,Se,this._input.index);const h=super.computeReachSet(i,n,s);return this._input&&(s?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new $h(this.currentDecision,i,this._input,this._startIndex,x(this,Se),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new $h(this.currentDecision,i,this._input,this._startIndex,x(this,Je),!1)))),h}reportAttemptingFullContext(i,n,s,h,a){n!==null?this.conflictingAltResolvedBySLL=n.nextSetBit(0):this.conflictingAltResolvedBySLL=s.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,n&&super.reportAttemptingFullContext(i,n,s,h,a)}reportContextSensitivity(i,n,s,h,a){n!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new n5(this.currentDecision,s,this._input,h,a)),super.reportContextSensitivity(i,n,s,h,a)}reportAmbiguity(i,n,s,h,a,E,W){let u;E!==null?u=E.nextSetBit(0):u=W.getAlts().nextSetBit(0),this._input&&(W.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new n5(this.currentDecision,W,this._input,s,h)),this.decisions[this.currentDecision].ambiguities.push(new j6(this.currentDecision,W,E,this._input,s,h,W.fullCtx))),super.reportAmbiguity(i,n,s,h,a,E,W)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Je=new WeakMap,Se=new WeakMap,L(Xn,"ProfilingATNSimulator"),Xn);Qn=class{constructor(e){A(this,"atnSimulator");this.atnSimulator=e}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const e=this.atnSimulator.getDecisionInfo(),i=[];for(let n=0;n0&&i.push(n);return i}getTotalTimeInPrediction(){const e=this.atnSimulator.getDecisionInfo();let i=0;for(let n=0;n0?n:void 0,modes:s.length>0?s:void 0}}},L(rn,"InterpreterDataReader"),jn=class{visit(e){return e.accept(this)}visitChildren(e){let i=this.defaultResult();const n=e.getChildCount();for(let s=0;s=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(e){if(e===0)return 0;e<0&&(e+=1);const i=this.index+e-1;return i<0||i>=this.data.length?p.EOF:this.data[i]}mark(){return-1}release(e){}seek(e){if(e<=this.index){this.index=e;return}this.index=Math.min(e,this.data.length)}getText(e,i){let n,s;return e instanceof J?(n=e.start,s=e.stop):(n=e,s=i??this.data.length-1),s>=this.data.length&&(s=this.data.length-1),n>=this.data.length?"":f3(this,zn,x3).call(this,n,s+1)}toString(){return f3(this,zn,x3).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:Es.UNKNOWN_SOURCE_NAME}},zn=new WeakSet,x3=function(e,i){const n=this.data.slice(e,i);let s="";return n.forEach(h=>{s+=String.fromCodePoint(h)}),s},L($n,"CharStreamImpl"),$n),Sh=(Jn=class{static fromString(e){return new J6(e)}},L(Jn,"CharStreams"),Jn),S6=(Sn=class{constructor(e){A(this,"tokenSource");A(this,"tokens",[]);A(this,"p",-1);A(this,"fetchedEOF",!1);this.tokenSource=e}mark(){return 0}release(e){}reset(){this.seek(0)}seek(e){this.lazyInit(),this.p=this.adjustSeekIndex(e)}get size(){return this.tokens.length}get index(){return this.p}get(e){return this.lazyInit(),this.tokens[e]}consume(){let e=!1;if(this.p>=0?this.fetchedEOF?e=this.p0?this.fetch(i)>=i:!0}fetch(e){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length||i<0||e>=this.tokens.length)throw new RangeError("start "+e+" or stop "+i+" not in 0.."+(this.tokens.length-1));if(e>i)return[];if(n===void 0)return this.tokens.slice(e,i+1);const s=[];i>=this.tokens.length&&(i=this.tokens.length-1);for(let h=e;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(e){return e}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(e){this.tokenSource=e,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(e,i){if(this.sync(e),e>=this.tokens.length)return-1;let n=this.tokens[e];for(;n.channel!==i;){if(n.type===p.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}previousTokenOnChannel(e,i){for(;e>=0&&this.tokens[e].channel!==i;)e-=1;return e}getHiddenTokensToRight(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const n=this.nextTokenOnChannel(e+1,ce.DEFAULT_TOKEN_CHANNEL),s=e+1,h=n===-1?this.tokens.length-1:n;return this.filterForChannel(s,h,i)}getHiddenTokensToLeft(e,i){if(i===void 0&&(i=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw new Error(`${e} not in 0..${this.tokens.length-1}`);const n=this.previousTokenOnChannel(e-1,ce.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;const s=n+1,h=e-1;return this.filterForChannel(s,h,i)}filterForChannel(e,i,n){const s=[];for(let h=e;h=this.tokens.length&&(s=this.tokens.length-1);let h="";for(let a=n;a<=s;a++){const E=this.tokens[a];if(E.type===p.EOF)break;h+=E.text}return h.toString()}else{const i=e[0];return this.getText(i.getSourceInterval())}case 2:{const i=e[0],n=e[1];return i!==null&&n!==null?this.getText(J.of(i.tokenIndex,n.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},L(Sn,"BufferedTokenStream"),Sn),Ts=(gn=class extends S6{constructor(i,n){super(i);A(this,"channel",p.DEFAULT_CHANNEL);this.channel=n??p.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(i){if(i===0||this.index-i<0)return null;let n=this.index,s=1;for(;s<=i;)n=this.previousTokenOnChannel(n-1,this.channel),s+=1;return n<0?null:this.tokens[n]}LT(i){if(this.lazyInit(),i===0)return null;if(i<0)return this.LB(-i);let n=this.index,s=1;for(;snew F0(e,i))),X),g6=(qn=class extends Ws{syntaxError(e,i,n,s,h,a){}},L(qn,"XPathLexerErrorListener"),qn),T1=(Pn=class{constructor(e){A(this,"invert");A(this,"nodeName");this.nodeName=e,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(Pn,"XPathElement"),Pn),q6=(tc=class extends T1{constructor(i,n){super(i);A(this,"ruleIndex");this.ruleIndex=n}evaluate(i){return s0.findAllRuleNodes(i,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(tc,"XPathRuleAnywhereElement"),tc),P6=(ec=class extends T1{constructor(i,n){super(i);A(this,"ruleIndex");this.ruleIndex=n}evaluate(i){const n=[];for(const s of s0.getChildren(i))s instanceof R&&(s.ruleIndex===this.ruleIndex&&!this.invert||s.ruleIndex!==this.ruleIndex&&this.invert)&&n.push(s);return n}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(ec,"XPathRuleElement"),ec),t8=(ic=class extends T1{constructor(i,n){super(i);A(this,"tokenType");this.tokenType=n}evaluate(i){return s0.findAllTokenNodes(i,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(ic,"XPathTokenAnywhereElement"),ic),e8=(nc=class extends T1{constructor(i,n){super(i);A(this,"tokenType");this.tokenType=n}evaluate(i){const n=[];for(const s of s0.getChildren(i))s instanceof we&&s.symbol&&(s.symbol.type===this.tokenType&&!this.invert||s.symbol.type!==this.tokenType&&this.invert)&&n.push(s);return n}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(nc,"XPathTokenElement"),nc),i8=(cc=class extends T1{constructor(){super(h5.WILDCARD)}evaluate(e){return this.invert?[]:s0.descendants(e)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(cc,"XPathWildcardAnywhereElement"),cc),n8=(sc=class extends T1{constructor(){super(h5.WILDCARD)}evaluate(e){const i=[];if(this.invert)return i;for(const n of s0.getChildren(e))i.push(n);return i}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},L(sc,"XPathWildcardElement"),sc),h5=(f0=class{constructor(e,i){A(this,"path");A(this,"elements");A(this,"parser");this.parser=e,this.path=i,this.elements=this.split(i)}static findAll(e,i,n){return new f0(n,i).evaluate(e)}split(e){const i=new Re(Sh.fromString(e));i.recover=W=>{throw W},i.removeErrorListeners(),i.addErrorListener(new g6);const n=new Ts(i);try{n.fill()}catch(W){if(W instanceof ni){const _="Invalid tokens or characters at index "+i.column+" in path '"+e+"' -- "+W.message;throw new RangeError(_)}throw W}const s=n.getTokens(),h=[],a=s.length;let E=0;t:for(;E0&&this.elements[s].evaluate(a).forEach(W=>{h.add(W)},h);s++,n=h}return n}getXPathElement(e,i){if(e.type===p.EOF)throw new Error("Missing path element at end of path");const n=e.text;if(n==null)throw new Error("Expected wordToken to have text content.");const s=this.parser.getTokenType(n),h=this.parser.getRuleIndex(n);switch(e.type){case Re.WILDCARD:return i?new i8:new n8;case Re.TOKEN_REF:case Re.STRING:if(s===p.INVALID_TYPE)throw new Error(n+" at index "+e.start+" isn't a valid token name");return i?new t8(n,s):new e8(n,s);default:if(h===-1)throw new Error(n+" at index "+e.start+" isn't a valid rule name");return i?new q6(n,h):new P6(n,h)}}},L(f0,"XPath"),A(f0,"WILDCARD","*"),A(f0,"NOT","!"),f0),a0=(hc=class extends T{constructor(e){super({message:"",recognizer:e,input:e.inputStream,ctx:e.context}),this.offendingToken=e.getCurrentToken()}},L(hc,"InputMismatchException"),hc),As=(ac=class extends T{constructor(i,n,s=null){super({message:c8(n??"no predicate",s??null),recognizer:i,input:i.inputStream,ctx:i.context});A(this,"ruleIndex",0);A(this,"predicateIndex",0);A(this,"predicate");const a=i.atn.states[i.state].transitions[0];a instanceof i5?(this.ruleIndex=a.ruleIndex,this.predicateIndex=a.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=n,this.offendingToken=i.getCurrentToken()}},L(ac,"FailedPredicateException"),ac),c8=L((c,e)=>e!==null?e:"failed predicate: {"+c+"}?","formatMessage"),gh=(Ec=class{constructor(){A(this,"errorRecoveryMode",!1);A(this,"lastErrorIndex",-1);A(this,"lastErrorStates",new Dt);A(this,"nextTokensContext",null);A(this,"nextTokenState",0)}reset(e){this.endErrorCondition(e)}beginErrorCondition(e){this.errorRecoveryMode=!0}inErrorRecoveryMode(e){return this.errorRecoveryMode}endErrorCondition(e){this.errorRecoveryMode=!1,this.lastErrorStates=new Dt,this.lastErrorIndex=-1}reportMatch(e){this.endErrorCondition(e)}reportError(e,i){this.inErrorRecoveryMode(e)||(this.beginErrorCondition(e),i instanceof I?this.reportNoViableAlternative(e,i):i instanceof a0?this.reportInputMismatch(e,i):i instanceof As?this.reportFailedPredicate(e,i):e.notifyErrorListeners(i.message,i.offendingToken,i))}recover(e,i){this.lastErrorIndex===e.inputStream.index&&this.lastErrorStates.contains(e.state)&&e.consume(),this.lastErrorIndex=e.inputStream.index,this.lastErrorStates.addOne(e.state);const n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}sync(e){if(this.inErrorRecoveryMode(e))return;const i=e.atn.states[e.state],n=e.tokenStream.LA(1),s=e.atn.nextTokens(i);if(s.contains(n)){this.nextTokensContext=null,this.nextTokenState=fe.INVALID_STATE_NUMBER;return}else if(s.contains(p.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=e.context,this.nextTokenState=e.state);return}switch(i.stateType){case Q.BLOCK_START:case Q.STAR_BLOCK_START:case Q.PLUS_BLOCK_START:case Q.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(e)!==null)return;throw new a0(e);case Q.PLUS_LOOP_BACK:case Q.STAR_LOOP_BACK:{this.reportUnwantedToken(e);const h=new Dt;h.addSet(e.getExpectedTokens());const a=h.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,a)}break}}reportNoViableAlternative(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const n=e.tokenStream;let s;n!==null&&i.startToken?i.startToken.type===p.EOF?s="":s=n.getText(new J(i.startToken.tokenIndex,i.offendingToken.tokenIndex)):s="";const h="no viable alternative at input "+this.escapeWSAndQuote(s);e.notifyErrorListeners(h,i.offendingToken,i)}reportInputMismatch(e,i){if(i.message.length>0){e.notifyErrorListeners(i.message,i.offendingToken,i);return}const n="mismatched input "+this.getTokenErrorDisplay(i.offendingToken)+" expecting "+i.getExpectedTokens().toString(e.vocabulary);e.notifyErrorListeners(n,i.offendingToken,i)}reportFailedPredicate(e,i){const s="rule "+e.ruleNames[e.context.ruleIndex]+" "+i.message;e.notifyErrorListeners(s,i.offendingToken,i)}reportUnwantedToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),n=this.getTokenErrorDisplay(i),s=this.getExpectedTokens(e),h="extraneous input "+n+" expecting "+s.toString(e.vocabulary);e.notifyErrorListeners(h,i,null)}reportMissingToken(e){if(this.inErrorRecoveryMode(e))return;this.beginErrorCondition(e);const i=e.getCurrentToken(),s="missing "+this.getExpectedTokens(e).toString(e.vocabulary)+" at "+this.getTokenErrorDisplay(i);e.notifyErrorListeners(s,i,null)}recoverInline(e){const i=this.singleTokenDeletion(e);if(i!==null)return e.consume(),i;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new a0(e)}singleTokenInsertion(e){const i=e.tokenStream.LA(1),n=e.atn,h=n.states[e.state].transitions[0].target;return n.nextTokens(h,e.context).contains(i)?(this.reportMissingToken(e),!0):!1}singleTokenDeletion(e){const i=e.tokenStream.LA(2);if(this.getExpectedTokens(e).contains(i)){this.reportUnwantedToken(e),e.consume();const s=e.getCurrentToken();return this.reportMatch(e),s}else return null}getMissingSymbol(e){const i=e.getCurrentToken(),n=this.getExpectedTokens(e);let s=p.INVALID_TYPE;n.isNil||(s=n.minElement);let h;s===p.EOF?h="":h="";let a=i;const E=e.tokenStream.LT(-1);return a.type===p.EOF&&E!==null&&(a=E),e.getTokenFactory().create(a.source,s,h,p.DEFAULT_CHANNEL,-1,-1,a.line,a.column)}getExpectedTokens(e){return e.getExpectedTokens()}getTokenErrorDisplay(e){if(e===null)return"";let i=e.text;return i===null&&(e.type===p.EOF?i="":i="<"+e.type+">"),this.escapeWSAndQuote(i)}escapeWSAndQuote(e){return e=e.replace(/\n/g,"\\n"),e=e.replace(/\r/g,"\\r"),e=e.replace(/\t/g,"\\t"),"'"+e+"'"}getErrorRecoverySet(e){const i=e.atn;let n=e.context;const s=new Dt;for(;n!==null&&n.invokingState>=0;){const a=i.states[n.invokingState].transitions[0],E=i.nextTokens(a.followState);s.addSet(E),n=n.parent}return s.removeOne(p.EPSILON),s}consumeUntil(e,i){let n=e.tokenStream.LA(1);for(;n!==p.EOF&&!i.contains(n);)e.consume(),n=e.tokenStream.LA(1)}},L(Ec,"DefaultErrorStrategy"),Ec);Wc=class extends gh{recover(e,i){let n=e.context;for(;n!==null;)n.exception=i,n=n.parent;throw new s5(i)}recoverInline(e){const i=new a0(e);let n=e.context;for(;n!==null;)n.exception=i,n=n.parent;throw new s5(i)}sync(e){}},L(Wc,"BailErrorStrategy"),Kc=class extends Ws{constructor(i){super();A(this,"exactOnly");A(this,"reportAmbiguity",(i,n,s,h,a,E,W)=>{if(this.exactOnly&&!a)return;const u=this.getDecisionDescription(i,n),_=this.getConflictingAlts(E,W),N=i.tokenStream.getText(J.of(s,h)),C=`reportAmbiguity d=${u}: ambigAlts=${_}, input='${N}'`;i.notifyErrorListeners(C,null,null)});A(this,"reportAttemptingFullContext",(i,n,s,h,a,E)=>{const W=this.getDecisionDescription(i,n),u=i.tokenStream.getText(J.of(s,h)),_=`reportAttemptingFullContext d=${W}, input='${u}'`;i.notifyErrorListeners(_,null,null)});A(this,"reportContextSensitivity",(i,n,s,h,a,E)=>{const W=this.getDecisionDescription(i,n),u=i.tokenStream.getText(J.of(s,h)),_=`reportContextSensitivity d=${W}, input='${u}'`;i.notifyErrorListeners(_,null,null)});A(this,"getDecisionDescription",(i,n)=>{const s=n.decision,h=n.atnStartState.ruleIndex,a=i.ruleNames;if(h<0||h>=a.length)return s.toString();const E=a[h];return E.length===0?s.toString():`${s} (${E})`});A(this,"getConflictingAlts",(i,n)=>{if(i!==null)return i;const s=new oe;for(let h=0;h{super(...Hu);q(this,uc,void 0)};s!==void 0?c(n,s):c(),z(this,uc,i)}get ruleIndex(){return x(this,uc)}},uc=new WeakMap,L(Rc,"InterpreterRuleContext"),Rc);Oc=class extends ce{constructor(i,n,s,h,a,E,W){super(W);q(this,Tc,void 0);q(this,Ac,void 0);q(this,_c,void 0);q(this,Nc,void 0);q(this,Cc,void 0);q(this,Ic,void 0);q(this,Lc,void 0);q(this,Wh,new Ei);if(E.grammarType!==si.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");z(this,Tc,i),z(this,Ac,E),z(this,_c,s.slice(0)),z(this,Nc,h.slice(0)),z(this,Cc,a.slice(0)),z(this,Ic,n),z(this,Lc,E.decisionToState.map((u,_)=>new F0(u,_))),this.interpreter=new w0(this,E,x(this,Lc),x(this,Wh))}get atn(){return x(this,Ac)}get grammarFileName(){return x(this,Tc)}get ruleNames(){return x(this,_c)}get channelNames(){return x(this,Nc)}get modeNames(){return x(this,Cc)}get vocabulary(){return x(this,Ic)}},Tc=new WeakMap,Ac=new WeakMap,_c=new WeakMap,Nc=new WeakMap,Cc=new WeakMap,Ic=new WeakMap,Lc=new WeakMap,Wh=new WeakMap,L(Oc,"LexerInterpreter");var h8=(dc=class{constructor(e){A(this,"parser");this.parser=e}enterEveryRule(e){console.log("enter "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(e){console.log("consume "+e.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(e){console.log("exit "+this.parser.ruleNames[e.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(e){}},L(dc,"TraceListener"),dc),a5=(mc=class extends Z4{constructor(i){super();A(this,"printer",null);A(this,"buildParseTrees",!0);A(this,"errorHandler",new gh);A(this,"context",null);A(this,"_input",null);A(this,"_precedenceStack",[]);A(this,"_parseListeners",null);A(this,"_syntaxErrors",0);A(this,"matchedEOF",!1);A(this,"_tracer",null);A(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=i}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(i){let n=this.getCurrentToken();return n.type===i?(this.errorHandler.reportMatch(this),this.consume()):(n=this.errorHandler.recoverInline(this),this.buildParseTrees&&n.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,n))),n}matchWildcard(){let i=this.getCurrentToken();return i.type>0?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}getParseListeners(){return this._parseListeners??[]}addParseListener(i){if(i===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(i)}removeParseListener(i){if(this._parseListeners!==null&&i!==null){const n=this._parseListeners.indexOf(i);n>=0&&this._parseListeners.splice(n,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.forEach(n=>{n.enterEveryRule(i),i.enterRule(n)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.slice(0).reverse().forEach(n=>{i.exitRule(n),n.exitEveryRule(i)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(i){this._input.getTokenSource().tokenFactory=i}getATNWithBypassAlts(){const i=this.getSerializedATN();if(i===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const n=new S4;return n.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new ai(n).deserialize(i),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(i){this._input=null,this.reset(),this._input=i}get inputStream(){return this._input}set inputStream(i){this.tokenStream=i}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(i,n,s){n=n??null,s=s??null,n===null&&(n=this.getCurrentToken()),this._syntaxErrors+=1;const h=n.line,a=n.column;this.getErrorListenerDispatch().syntaxError(this,n,h,a,i,s)}consume(){const i=this.getCurrentToken();i.type!==p.EOF&&this.tokenStream.consume();const n=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||n){let s;this.errorHandler.inErrorRecoveryMode(this)?s=this.context.addErrorNode(this.createErrorNode(this.context,i)):s=this.context.addTokenNode(i),n&&this._parseListeners.forEach(h=>{s instanceof ci?h.visitErrorNode(s):h.visitTerminal(s)})}return i}addContextToParseTree(){var i;((i=this.context)==null?void 0:i.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(i,n,s){this.state=n,this.context=i,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(i,n){i.setAltNumber(n),this.buildParseTrees&&this.context!==i&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(i)),this.context=i}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(i,n,s,h){this.state=n,this._precedenceStack.push(h),this.context=i,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(i,n,s){const h=this.context;h.parent=i,h.invokingState=n,h.stop=this._input.LT(-1),this.context=i,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(i){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const n=this.context,s=this.getParseListeners();if(s!==null&&s.length>0)for(;this.context!==i;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=i;n.parent=i,this.buildParseTrees&&i!==null&&i.addChild(n)}getInvokingContext(i){let n=this.context;for(;n!==null;){if(n.ruleIndex===i)return n;n=n.parent}return null}precpred(i,n){return n>=this._precedenceStack[this._precedenceStack.length-1]}inContext(i){return!1}isExpectedToken(i){const n=this.interpreter.atn;let s=this.context;const h=n.states[this.state];let a=n.nextTokens(h);if(a.contains(i))return!0;if(!a.contains(p.EPSILON))return!1;for(;s!==null&&s.invokingState>=0&&a.contains(p.EPSILON);){const W=n.states[s.invokingState].transitions[0];if(a=n.nextTokens(W.followState),a.contains(i))return!0;s=s.parent}return!!(a.contains(p.EPSILON)&&i===p.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const i=this.interpreter.atn,n=i.states[this.state];return i.nextTokens(n)}getRuleIndex(i){const n=this.getRuleIndexMap().get(i);return n??-1}getRuleInvocationStack(i){i=i??null,i===null&&(i=this.context);const n=[];for(;i!==null;){const s=i.ruleIndex;s<0?n.push("n/a"):n.push(this.ruleNames[s]),i=i.parent}return n}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let i=!1;for(const n of this.interpreter.decisionToDFA)n.states.length>0&&(i&&console.log(),this.printer&&(this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.vocabulary))),i=!0)}getSourceName(){return this._input.getSourceName()}setProfile(i){const n=this.interpreter,s=n.predictionMode;if(i)n instanceof Jh||(this.interpreter=new Jh(this));else if(n instanceof Jh){const h=n.getSharedContextCache();if(h){const a=new Rs(this,this.atn,n.decisionToDFA,h);this.interpreter=a}}this.interpreter.predictionMode=s}setTrace(i){i?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new h8(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(i,n){return new we(n)}createErrorNode(i,n){return new ci(n)}},L(mc,"Parser"),mc);Uc=class extends a5{constructor(i,n,s,h,a){super(a);A(this,"_rootContext");A(this,"_parentContextStack",[]);A(this,"overrideDecision",-1);A(this,"overrideDecisionInputIndex",-1);A(this,"overrideDecisionAlt",-1);A(this,"overrideDecisionReached",!1);A(this,"_overrideDecisionRoot",null);q(this,oc,void 0);q(this,Le,void 0);q(this,pc,void 0);q(this,fc,void 0);q(this,xc,void 0);q(this,Kh,new Ei);q(this,j1,void 0);z(this,oc,i),z(this,Le,h),z(this,pc,s.slice(0)),z(this,fc,n),z(this,j1,new oe);for(const E of h.states)E instanceof h0&&E.precedenceRuleDecision&&x(this,j1).set(E.stateNumber);z(this,xc,h.decisionToState.map((E,W)=>new F0(E,W))),this.interpreter=new Rs(this,h,x(this,xc),x(this,Kh))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return x(this,Le)}get vocabulary(){return x(this,fc)}get ruleNames(){return x(this,pc)}get grammarFileName(){return x(this,oc)}get atnState(){return x(this,Le).states[this.state]}parse(i){var s;const n=x(this,Le).ruleToStartState[i];for(this._rootContext=this.createInterpreterRuleContext(null,fe.INVALID_STATE_NUMBER,i),n.isPrecedenceRule?this.enterRecursionRule(this._rootContext,n.stateNumber,i,0):this.enterRule(this._rootContext,n.stateNumber,i);;){const h=this.atnState;switch(h.stateType){case Q.RULE_STOP:if((s=this.context)!=null&&s.isEmpty)if(n.isPrecedenceRule){const a=this.context,E=this._parentContextStack.pop();return this.unrollRecursionContexts(E[0]),a}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(a){if(a instanceof T)this.state=x(this,Le).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=a,this.errorHandler.reportError(this,a),this.recover(a);else throw a}break}}}addDecisionOverride(i,n,s){this.overrideDecision=i,this.overrideDecisionInputIndex=n,this.overrideDecisionAlt=s}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(i,n,s,h){this._parentContextStack.push([this.context,i.invokingState]),super.enterRecursionRule(i,n,s,h)}visitState(i){let n=1;i instanceof y0&&(n=this.visitDecisionState(i));const s=i.transitions[n-1];switch(s.serializationType){case b.EPSILON:if(x(this,j1).get(i.stateNumber)&&!(s.target instanceof b0)){const _=this._parentContextStack[this._parentContextStack.length-1],N=this.createInterpreterRuleContext(_[0],_[1],this.context.ruleIndex);this.pushNewRecursionContext(N,x(this,Le).ruleToStartState[i.ruleIndex].stateNumber,this.context.ruleIndex)}break;case b.ATOM:this.match(s.label.minElement);break;case b.RANGE:case b.SET:case b.NOT_SET:s.matches(this._input.LA(1),p.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case b.WILDCARD:this.matchWildcard();break;case b.RULE:const h=s.target,a=h.ruleIndex,E=this.createInterpreterRuleContext(this.context,i.stateNumber,a);h.isPrecedenceRule?this.enterRecursionRule(E,h.stateNumber,a,s.precedence):this.enterRule(E,s.target.stateNumber,a);break;case b.PREDICATE:const W=s;if(!this.sempred(this.context,W.ruleIndex,W.predIndex))throw new As(this);break;case b.ACTION:const u=s;this.action(this.context,u.ruleIndex,u.actionIndex);break;case b.PRECEDENCE:if(!this.precpred(this.context,s.precedence)){const _=s.precedence;throw new As(this,`precpred(_ctx, ${_})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=s.target.stateNumber}visitDecisionState(i){let n=1;if(i.transitions.length>1){this.errorHandler.sync(this);const s=i.decision;s===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(n=this.overrideDecisionAlt,this.overrideDecisionReached=!0):n=this.interpreter.adaptivePredict(this._input,s,this.context)}return n}createInterpreterRuleContext(i,n,s){return new s8(s,i,n)}visitRuleStopState(i){if(x(this,Le).ruleToStartState[i.ruleIndex].isPrecedenceRule){const[h,a]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=a}else this.exitRule();const s=x(this,Le).states[this.state].transitions[0];this.state=s.followState.stateNumber}recover(i){const n=this._input.index;if(this.errorHandler.recover(this,i),this._input.index===n){const s=i.offendingToken;if(!s)throw new Error("Expected exception to have an offending token");const h=s.tokenSource,a=(h==null?void 0:h.inputStream)??null,E=[h,a];if(i instanceof a0){const W=i.getExpectedTokens();if(!W)throw new Error("Expected the exception to provide expected tokens");let u=p.INVALID_TYPE;W.isNil||(u=W.minElement);const _=this.getTokenFactory().create(E,u,s.text,p.DEFAULT_CHANNEL,-1,-1,s.line,s.column);this.context.addErrorNode(this.createErrorNode(this.context,_))}else{const W=this.getTokenFactory().create(E,p.INVALID_TYPE,s.text,p.DEFAULT_CHANNEL,-1,-1,s.line,s.column);this.context.addErrorNode(this.createErrorNode(this.context,W))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},oc=new WeakMap,Le=new WeakMap,pc=new WeakMap,fc=new WeakMap,xc=new WeakMap,Kh=new WeakMap,j1=new WeakMap,L(Uc,"ParserInterpreter"),$t=class{constructor(e){A(this,"tokens");A(this,"programs",new Map);A(this,"lastRewriteTokenIndexes");this.tokens=e}getTokenStream(){return this.tokens}insertAfter(e,i,n=$t.DEFAULT_PROGRAM_NAME){let s;typeof e=="number"?s=e:s=e.tokenIndex;const h=this.getProgram(n),a=new W5(this.tokens,s,h.length,i);h.push(a)}insertBefore(e,i,n=$t.DEFAULT_PROGRAM_NAME){let s;typeof e=="number"?s=e:s=e.tokenIndex;const h=this.getProgram(n),a=new A1(this.tokens,s,h.length,i);h.push(a)}replaceSingle(e,i,n=$t.DEFAULT_PROGRAM_NAME){this.replace(e,e,i,n)}replace(e,i,n,s=$t.DEFAULT_PROGRAM_NAME){if(typeof e!="number"&&(e=e.tokenIndex),typeof i!="number"&&(i=i.tokenIndex),e>i||e<0||i<0||i>=this.tokens.size)throw new RangeError(`replace: range invalid: ${e}..${i}(size=${this.tokens.size})`);const h=this.getProgram(s),a=new _s(this.tokens,e,i,h.length,n);h.push(a)}delete(e,i,n=$t.DEFAULT_PROGRAM_NAME){i==null&&(i=e),this.replace(e,i,null,n)}getProgram(e){let i=this.programs.get(e);return i==null&&(i=this.initializeProgram(e)),i}initializeProgram(e){const i=[];return this.programs.set(e,i),i}getText(e,i=$t.DEFAULT_PROGRAM_NAME){let n;e instanceof J?n=e:n=new J(0,this.tokens.size-1),typeof e=="string"&&(i=e);const s=this.programs.get(i);let h=n.start,a=n.stop;if(a>this.tokens.size-1&&(a=this.tokens.size-1),h<0&&(h=0),s==null||s.length===0)return this.tokens.getText(new J(h,a));const E=[],W=this.reduceToSingleOperationPerIndex(s);let u=h;for(;u<=a&&u=this.tokens.size-1&&E.push(String(_.text));return E.join("")}reduceToSingleOperationPerIndex(e){for(let n=0;nh.index&&W.index<=h.lastIndex&&(e[W.instructionIndex]=null);const E=this.getKindOfOps(e,_s,n);for(const W of E){if(W.index>=h.index&&W.lastIndex<=h.lastIndex){e[W.instructionIndex]=null;continue}const u=W.lastIndexh.lastIndex;if(W.text==null&&h.text==null&&!u)e[W.instructionIndex]=null,h.index=Math.min(W.index,h.index),h.lastIndex=Math.max(W.lastIndex,h.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${h} overlap with previous ${W}`)}}for(let n=0;n=W.index&&h.index<=W.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${W}`)}}const i=new Map;for(const n of e)if(n!=null){if(i.get(n.index)!=null)throw new Error("should only be one op per index");i.set(n.index,n)}return i}catOpText(e,i){let n="",s="";return e!=null&&(n=e.toString()),i!=null&&(s=i.toString()),n+s}getKindOfOps(e,i,n){return e.slice(0,n).filter(s=>s&&s instanceof i)}},L($t,"TokenStreamRewriter"),A($t,"DEFAULT_PROGRAM_NAME","default"),A($t,"PROGRAM_INIT_SIZE",100),A($t,"MIN_TOKEN_INDEX",0);var E5=(lc=class{constructor(e,i,n,s){A(this,"instructionIndex");A(this,"index");A(this,"text");A(this,"tokens");this.tokens=e,this.instructionIndex=n,this.index=i,this.text=s===void 0?"":s}execute(e){return this.index}toString(){return"'}},L(lc,"RewriteOperation"),lc),A1=(kc=class extends E5{constructor(e,i,n,s){super(e,i,n,s)}execute(e){return this.text&&e.push(this.text.toString()),this.tokens.get(this.index).type!==p.EOF&&e.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},L(kc,"InsertBeforeOp"),kc),W5=(Dc=class extends A1{constructor(e,i,n,s){super(e,i+1,n,s)}toString(){return"'}},L(Dc,"InsertAfterOp"),Dc),_s=(Mc=class extends E5{constructor(i,n,s,h,a){super(i,n,h,a);A(this,"lastIndex");this.lastIndex=s}execute(i){return this.text&&i.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},L(Mc,"ReplaceOp"),Mc);class K extends ce{constructor(e){super(e),this.interpreter=new w0(this,K._ATN,K.decisionsToDFA,new Ei)}get grammarFileName(){return"PostgreSqlLexer.g4"}get literalNames(){return K.literalNames}get symbolicNames(){return K.symbolicNames}get ruleNames(){return K.ruleNames}get serializedATN(){return K._serializedATN}get channelNames(){return K.channelNames}get modeNames(){return K.modeNames}static get _ATN(){return K.__ATN||(K.__ATN=new ai().deserialize(K._serializedATN)),K.__ATN}get vocabulary(){return K.vocabulary}}K.Dollar=1,K.OPEN_PAREN=2,K.CLOSE_PAREN=3,K.OPEN_BRACKET=4,K.CLOSE_BRACKET=5,K.COMMA=6,K.SEMI=7,K.COLON=8,K.STAR=9,K.EQUAL=10,K.DOT=11,K.PLUS=12,K.MINUS=13,K.SLASH=14,K.CARET=15,K.LT=16,K.GT=17,K.LESS_LESS=18,K.GREATER_GREATER=19,K.COLON_EQUALS=20,K.LESS_EQUALS=21,K.EQUALS_GREATER=22,K.GREATER_EQUALS=23,K.DOT_DOT=24,K.NOT_EQUALS=25,K.TYPECAST=26,K.PERCENT=27,K.PARAM=28,K.Operator=29,K.KW_ALL=30,K.KW_ANALYSE=31,K.KW_ANALYZE=32,K.KW_AND=33,K.KW_ANY=34,K.KW_ARRAY=35,K.KW_AS=36,K.KW_ASC=37,K.KW_ASYMMETRIC=38,K.KW_BOTH=39,K.KW_CASE=40,K.KW_CAST=41,K.KW_CHECK=42,K.KW_COLLATE=43,K.KW_COLUMN=44,K.KW_CONSTRAINT=45,K.KW_CREATE=46,K.KW_CURRENT_CATALOG=47,K.KW_CURRENT_DATE=48,K.KW_CURRENT_ROLE=49,K.KW_CURRENT_TIME=50,K.KW_CURRENT_TIMESTAMP=51,K.KW_CURRENT_USER=52,K.KW_DEFAULT=53,K.KW_DEFERRABLE=54,K.KW_DESC=55,K.KW_DISTINCT=56,K.KW_DO=57,K.KW_ELSE=58,K.KW_EXCEPT=59,K.KW_FALSE=60,K.KW_FETCH=61,K.KW_FOR=62,K.KW_FOREIGN=63,K.KW_FROM=64,K.KW_GRANT=65,K.KW_GROUP=66,K.KW_HAVING=67,K.KW_IN=68,K.KW_INITIALLY=69,K.KW_INTERSECT=70,K.KW_INTO=71,K.KW_LATERAL=72,K.KW_LEADING=73,K.KW_LIMIT=74,K.KW_LOCALTIME=75,K.KW_LOCALTIMESTAMP=76,K.KW_NOT=77,K.KW_NULL=78,K.KW_OFFSET=79,K.KW_ON=80,K.KW_ONLY=81,K.KW_OR=82,K.KW_ORDER=83,K.KW_PLACING=84,K.KW_PRIMARY=85,K.KW_REFERENCES=86,K.KW_RETURNING=87,K.KW_SELECT=88,K.KW_SESSION_USER=89,K.KW_SOME=90,K.KW_SYMMETRIC=91,K.KW_TABLE=92,K.KW_THEN=93,K.KW_TO=94,K.KW_TRAILING=95,K.KW_TRUE=96,K.KW_UNION=97,K.KW_UNIQUE=98,K.KW_USER=99,K.KW_USING=100,K.KW_VARIADIC=101,K.KW_WHEN=102,K.KW_WHERE=103,K.KW_WINDOW=104,K.KW_WITH=105,K.KW_AUTHORIZATION=106,K.KW_BINARY=107,K.KW_COLLATION=108,K.KW_CONCURRENTLY=109,K.KW_CROSS=110,K.KW_CURRENT_SCHEMA=111,K.KW_FREEZE=112,K.KW_FULL=113,K.KW_ILIKE=114,K.KW_INNER=115,K.KW_IS=116,K.KW_ISNULL=117,K.KW_JOIN=118,K.KW_LEFT=119,K.KW_LIKE=120,K.KW_NATURAL=121,K.KW_NOTNULL=122,K.KW_OUTER=123,K.KW_OVER=124,K.KW_OVERLAPS=125,K.KW_RIGHT=126,K.KW_SIMILAR=127,K.KW_VERBOSE=128,K.KW_ABORT=129,K.KW_ABSOLUTE=130,K.KW_ACCESS=131,K.KW_ACTION=132,K.KW_ADD=133,K.KW_ADMIN=134,K.KW_AFTER=135,K.KW_AGGREGATE=136,K.KW_ALSO=137,K.KW_ALTER=138,K.KW_ALWAYS=139,K.KW_ASSERTION=140,K.KW_ASSIGNMENT=141,K.KW_AT=142,K.KW_ATTRIBUTE=143,K.KW_BACKWARD=144,K.KW_BEFORE=145,K.KW_BEGIN=146,K.KW_BY=147,K.KW_CACHE=148,K.KW_CALLED=149,K.KW_CASCADE=150,K.KW_CASCADED=151,K.KW_CATALOG=152,K.KW_CHAIN=153,K.KW_CHARACTERISTICS=154,K.KW_CHECKPOINT=155,K.KW_CLASS=156,K.KW_CLOSE=157,K.KW_CLUSTER=158,K.KW_COMMENT=159,K.KW_COMMENTS=160,K.KW_COMMIT=161,K.KW_COMMITTED=162,K.KW_CONFIGURATION=163,K.KW_CONNECTION=164,K.KW_CONSTRAINTS=165,K.KW_CONTENT=166,K.KW_CONTINUE=167,K.KW_CONVERSION=168,K.KW_COPY=169,K.KW_COST=170,K.KW_CSV=171,K.KW_CURSOR=172,K.KW_CYCLE=173,K.KW_DATA=174,K.KW_DATABASE=175,K.KW_DAY=176,K.KW_DEALLOCATE=177,K.KW_DECLARE=178,K.KW_DEFAULTS=179,K.KW_DEFERRED=180,K.KW_DEFINER=181,K.KW_DELETE=182,K.KW_DELIMITER=183,K.KW_DELIMITERS=184,K.KW_DICTIONARY=185,K.KW_DISABLE=186,K.KW_DISCARD=187,K.KW_DOCUMENT=188,K.KW_DOMAIN=189,K.KW_DOUBLE=190,K.KW_DROP=191,K.KW_EACH=192,K.KW_ENABLE=193,K.KW_ENCODING=194,K.KW_ENCRYPTED=195,K.KW_ENUM=196,K.KW_ESCAPE=197,K.KW_EVENT=198,K.KW_EXCLUDE=199,K.KW_EXCLUDING=200,K.KW_EXCLUSIVE=201,K.KW_EXECUTE=202,K.KW_EXPLAIN=203,K.KW_EXTENSION=204,K.KW_EXTERNAL=205,K.KW_FAMILY=206,K.KW_FIRST=207,K.KW_FOLLOWING=208,K.KW_FORCE=209,K.KW_FORWARD=210,K.KW_FUNCTION=211,K.KW_FUNCTIONS=212,K.KW_GLOBAL=213,K.KW_GRANTED=214,K.KW_HANDLER=215,K.KW_HEADER=216,K.KW_HOLD=217,K.KW_HOUR=218,K.KW_IDENTITY=219,K.KW_IF=220,K.KW_IMMEDIATE=221,K.KW_IMMUTABLE=222,K.KW_IMPLICIT=223,K.KW_INCLUDING=224,K.KW_INCREMENT=225,K.KW_INDEX=226,K.KW_INDEXES=227,K.KW_INHERIT=228,K.KW_NOINHERIT=229,K.KW_SUPERUSER=230,K.KW_NOSUPERUSER=231,K.KW_CREATEDB=232,K.KW_NOCREATEDB=233,K.KW_CREATEROLE=234,K.KW_NOCREATEROLE=235,K.KW_CREATEUSER=236,K.KW_NOCREATEUSER=237,K.KW_INHERITS=238,K.KW_INLINE=239,K.KW_INSENSITIVE=240,K.KW_INSERT=241,K.KW_INSTEAD=242,K.KW_INVOKER=243,K.KW_ISOLATION=244,K.KW_KEY=245,K.KW_LABEL=246,K.KW_LANGUAGE=247,K.KW_LARGE=248,K.KW_LAST=249,K.KW_LEAKPROOF=250,K.KW_LEVEL=251,K.KW_LISTEN=252,K.KW_LOAD=253,K.KW_LOCAL=254,K.KW_LOCATION=255,K.KW_LOCK=256,K.KW_MAPPING=257,K.KW_MATCH=258,K.KW_MATERIALIZED=259,K.KW_MAXVALUE=260,K.KW_MINUTE=261,K.KW_MINVALUE=262,K.KW_MODE=263,K.KW_MONTH=264,K.KW_MOVE=265,K.KW_NAME=266,K.KW_NAMES=267,K.KW_NEXT=268,K.KW_NO=269,K.KW_NOTHING=270,K.KW_NOTIFY=271,K.KW_NOWAIT=272,K.KW_NULLS=273,K.KW_OBJECT=274,K.KW_OF=275,K.KW_OFF=276,K.KW_OIDS=277,K.KW_OPERATOR=278,K.KW_OPTION=279,K.KW_OPTIONS=280,K.KW_OWNED=281,K.KW_OWNER=282,K.KW_PARSER=283,K.KW_PARTIAL=284,K.KW_PARTITION=285,K.KW_PASSING=286,K.KW_PASSWORD=287,K.KW_PLANS=288,K.KW_PRECEDING=289,K.KW_PREPARE=290,K.KW_PREPARED=291,K.KW_PRESERVE=292,K.KW_PRIOR=293,K.KW_PRIVILEGES=294,K.KW_PROCEDURAL=295,K.KW_PROCEDURE=296,K.KW_PROGRAM=297,K.KW_QUOTE=298,K.KW_RANGE=299,K.KW_READ=300,K.KW_REASSIGN=301,K.KW_RECHECK=302,K.KW_RECURSIVE=303,K.KW_REF=304,K.KW_REFRESH=305,K.KW_REINDEX=306,K.KW_RELATIVE=307,K.KW_RELEASE=308,K.KW_RENAME=309,K.KW_REPEATABLE=310,K.KW_REPLACE=311,K.KW_REPLICA=312,K.KW_RESET=313,K.KW_RESTART=314,K.KW_RESTRICT=315,K.KW_RETURNS=316,K.KW_REVOKE=317,K.KW_ROLE=318,K.KW_ROLLBACK=319,K.KW_ROWS=320,K.KW_RULE=321,K.KW_SAVEPOINT=322,K.KW_SCHEMA=323,K.KW_SCROLL=324,K.KW_SEARCH=325,K.KW_SECOND=326,K.KW_SECURITY=327,K.KW_SEQUENCE=328,K.KW_SEQUENCES=329,K.KW_SERIALIZABLE=330,K.KW_SERVER=331,K.KW_SESSION=332,K.KW_SET=333,K.KW_SHARE=334,K.KW_SHOW=335,K.KW_SIMPLE=336,K.KW_SNAPSHOT=337,K.KW_STABLE=338,K.KW_STANDALONE=339,K.KW_START=340,K.KW_STATEMENT=341,K.KW_STATISTICS=342,K.KW_STDIN=343,K.KW_STDOUT=344,K.KW_STORAGE=345,K.KW_STRICT=346,K.KW_STRIP=347,K.KW_SYSID=348,K.KW_SYSTEM=349,K.KW_TABLES=350,K.KW_TABLESPACE=351,K.KW_TEMP=352,K.KW_TEMPLATE=353,K.KW_TEMPORARY=354,K.KW_TEXT=355,K.KW_TRANSACTION=356,K.KW_TRIGGER=357,K.KW_TRUNCATE=358,K.KW_TRUSTED=359,K.KW_TYPE=360,K.KW_TYPES=361,K.KW_UNBOUNDED=362,K.KW_UNCOMMITTED=363,K.KW_UNENCRYPTED=364,K.KW_UNKNOWN=365,K.KW_UNLISTEN=366,K.KW_UNLOGGED=367,K.KW_UNTIL=368,K.KW_UPDATE=369,K.KW_VACUUM=370,K.KW_VALID=371,K.KW_VALIDATE=372,K.KW_VALIDATOR=373,K.KW_VARYING=374,K.KW_VERSION=375,K.KW_VIEW=376,K.KW_VOLATILE=377,K.KW_WHITESPACE=378,K.KW_WITHOUT=379,K.KW_WORK=380,K.KW_WRAPPER=381,K.KW_WRITE=382,K.KW_XML=383,K.KW_YEAR=384,K.KW_YES=385,K.KW_ZONE=386,K.KW_BETWEEN=387,K.KW_BIGINT=388,K.KW_BIT=389,K.KW_BOOLEAN=390,K.KW_CHAR=391,K.KW_CHARACTER=392,K.KW_COALESCE=393,K.KW_DEC=394,K.KW_DECIMAL=395,K.KW_EXISTS=396,K.KW_EXTRACT=397,K.KW_FLOAT=398,K.KW_GREATEST=399,K.KW_INOUT=400,K.KW_INT=401,K.KW_INTEGER=402,K.KW_INTERVAL=403,K.KW_LEAST=404,K.KW_NATIONAL=405,K.KW_NCHAR=406,K.KW_NONE=407,K.KW_NULLIF=408,K.KW_NUMERIC=409,K.KW_OVERLAY=410,K.KW_POSITION=411,K.KW_PRECISION=412,K.KW_REAL=413,K.KW_ROW=414,K.KW_SETOF=415,K.KW_SMALLINT=416,K.KW_SUBSTRING=417,K.KW_TIME=418,K.KW_TIMESTAMP=419,K.KW_TREAT=420,K.KW_TRIM=421,K.KW_VALUES=422,K.KW_VARCHAR=423,K.KW_XMLATTRIBUTES=424,K.KW_XMLCONCAT=425,K.KW_XMLELEMENT=426,K.KW_XMLEXISTS=427,K.KW_XMLFOREST=428,K.KW_XMLPARSE=429,K.KW_XMLPI=430,K.KW_XMLROOT=431,K.KW_XMLSERIALIZE=432,K.KW_CALL=433,K.KW_CURRENT=434,K.KW_ATTACH=435,K.KW_DETACH=436,K.KW_EXPRESSION=437,K.KW_GENERATED=438,K.KW_LOGGED=439,K.KW_STORED=440,K.KW_INCLUDE=441,K.KW_ROUTINE=442,K.KW_TRANSFORM=443,K.KW_IMPORT=444,K.KW_POLICY=445,K.KW_METHOD=446,K.KW_REFERENCING=447,K.KW_NEW=448,K.KW_OLD=449,K.KW_VALUE=450,K.KW_SUBSCRIPTION=451,K.KW_PUBLICATION=452,K.KW_OUT=453,K.KW_END=454,K.KW_ROUTINES=455,K.KW_SCHEMAS=456,K.KW_PROCEDURES=457,K.KW_INPUT=458,K.KW_SUPPORT=459,K.KW_PARALLEL=460,K.KW_SQL=461,K.KW_DEPENDS=462,K.KW_OVERRIDING=463,K.KW_CONFLICT=464,K.KW_SKIP=465,K.KW_LOCKED=466,K.KW_TIES=467,K.KW_ROLLUP=468,K.KW_CUBE=469,K.KW_GROUPING=470,K.KW_SETS=471,K.KW_TABLESAMPLE=472,K.KW_ORDINALITY=473,K.KW_XMLTABLE=474,K.KW_COLUMNS=475,K.KW_XMLNAMESPACES=476,K.KW_ROWTYPE=477,K.KW_NORMALIZED=478,K.KW_WITHIN=479,K.KW_FILTER=480,K.KW_GROUPS=481,K.KW_OTHERS=482,K.KW_NFC=483,K.KW_NFD=484,K.KW_NFKC=485,K.KW_NFKD=486,K.KW_UESCAPE=487,K.KW_VIEWS=488,K.KW_NORMALIZE=489,K.KW_DUMP=490,K.KW_PRINT_STRICT_PARAMS=491,K.KW_VARIABLE_CONFLICT=492,K.KW_ERROR=493,K.KW_USE_VARIABLE=494,K.KW_USE_COLUMN=495,K.KW_ALIAS=496,K.KW_CONSTANT=497,K.KW_PERFORM=498,K.KW_GET=499,K.KW_DIAGNOSTICS=500,K.KW_STACKED=501,K.KW_ELSIF=502,K.KW_WHILE=503,K.KW_REVERSE=504,K.KW_FOREACH=505,K.KW_SLICE=506,K.KW_EXIT=507,K.KW_RETURN=508,K.KW_QUERY=509,K.KW_RAISE=510,K.KW_SQLSTATE=511,K.KW_DEBUG=512,K.KW_LOG=513,K.KW_INFO=514,K.KW_NOTICE=515,K.KW_WARNING=516,K.KW_EXCEPTION=517,K.KW_ASSERT=518,K.KW_LOOP=519,K.KW_OPEN=520,K.KW_PEFERENCES=521,K.KW_USAGE=522,K.KW_CONNECT=523,K.KW_PUBLIC=524,K.KW_MERGE=525,K.KW_MATCHED=526,K.KW_BREADTH=527,K.KW_DEPTH=528,K.KW_UNSAFE=529,K.KW_RESTRICTED=530,K.KW_SAFE=531,K.KW_FINALIZE=532,K.KW_MODULUS=533,K.KW_REMAINDER=534,K.KW_LOGIN=535,K.KW_NOLOGIN=536,K.KW_REPLICATION=537,K.KW_NOREPLICATION=538,K.KW_BYPASSRLS=539,K.KW_NOBYPASSRLS=540,K.KW_PERMISSIVE=541,K.KW_RESTRICTIVE=542,K.KW_COMPRESSION=543,K.KW_PLAIN=544,K.KW_EXTENDED=545,K.KW_MAIN=546,K.KW_SKIP_LOCKED=547,K.KW_BUFFER_USAGE_LIMIT=548,K.Identifier=549,K.QuotedIdentifier=550,K.UnterminatedQuotedIdentifier=551,K.InvalidQuotedIdentifier=552,K.InvalidUnterminatedQuotedIdentifier=553,K.UnicodeQuotedIdentifier=554,K.UnterminatedUnicodeQuotedIdentifier=555,K.InvalidUnicodeQuotedIdentifier=556,K.InvalidUnterminatedUnicodeQuotedIdentifier=557,K.StringConstant=558,K.UnterminatedStringConstant=559,K.UnicodeEscapeStringConstant=560,K.UnterminatedUnicodeEscapeStringConstant=561,K.BeginDollarStringConstant=562,K.BinaryStringConstant=563,K.UnterminatedBinaryStringConstant=564,K.InvalidBinaryStringConstant=565,K.InvalidUnterminatedBinaryStringConstant=566,K.HexadecimalStringConstant=567,K.UnterminatedHexadecimalStringConstant=568,K.InvalidHexadecimalStringConstant=569,K.InvalidUnterminatedHexadecimalStringConstant=570,K.Integral=571,K.NumericFail=572,K.Numeric=573,K.PLSQLVARIABLENAME=574,K.PLSQLIDENTIFIER=575,K.Whitespace=576,K.Newline=577,K.LineComment=578,K.BlockComment=579,K.UnterminatedBlockComment=580,K.MetaCommand=581,K.EndMetaCommand=582,K.ErrorCharacter=583,K.EscapeStringConstant=584,K.UnterminatedEscapeStringConstant=585,K.InvalidEscapeStringConstant=586,K.InvalidUnterminatedEscapeStringConstant=587,K.DollarText=588,K.EndDollarStringConstant=589,K.AfterEscapeStringConstantWithNewlineMode_Continued=590,K.EscapeStringConstantMode=1,K.AfterEscapeStringConstantMode=2,K.AfterEscapeStringConstantWithNewlineMode=3,K.DollarQuotedStringMode=4,K.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],K.literalNames=[null,"'$'","'('","')'","'['","']'","','","';'","':'","'*'","'='","'.'","'+'","'-'","'/'","'^'","'<'","'>'","'<<'","'>>'","':='","'<='","'=>'","'>='","'..'","'<>'","'::'","'%'",null,null,"'ALL'","'ANALYSE'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'ASYMMETRIC'","'BOTH'","'CASE'","'CAST'","'CHECK'","'COLLATE'","'COLUMN'","'CONSTRAINT'","'CREATE'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_ROLE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DEFAULT'","'DEFERRABLE'","'DESC'","'DISTINCT'","'DO'","'ELSE'","'EXCEPT'","'FALSE'","'FETCH'","'FOR'","'FOREIGN'","'FROM'","'GRANT'","'GROUP'","'HAVING'","'IN'","'INITIALLY'","'INTERSECT'","'INTO'","'LATERAL'","'LEADING'","'LIMIT'","'LOCALTIME'","'LOCALTIMESTAMP'","'NOT'","'NULL'","'OFFSET'","'ON'","'ONLY'","'OR'","'ORDER'","'PLACING'","'PRIMARY'","'REFERENCES'","'RETURNING'","'SELECT'","'SESSION_USER'","'SOME'","'SYMMETRIC'","'TABLE'","'THEN'","'TO'","'TRAILING'","'TRUE'","'UNION'","'UNIQUE'","'USER'","'USING'","'VARIADIC'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'AUTHORIZATION'","'BINARY'","'COLLATION'","'CONCURRENTLY'","'CROSS'","'CURRENT_SCHEMA'","'FREEZE'","'FULL'","'ILIKE'","'INNER'","'IS'","'ISNULL'","'JOIN'","'LEFT'","'LIKE'","'NATURAL'","'NOTNULL'","'OUTER'","'OVER'","'OVERLAPS'","'RIGHT'","'SIMILAR'","'VERBOSE'","'ABORT'","'ABSOLUTE'","'ACCESS'","'ACTION'","'ADD'","'ADMIN'","'AFTER'","'AGGREGATE'","'ALSO'","'ALTER'","'ALWAYS'","'ASSERTION'","'ASSIGNMENT'","'AT'","'ATTRIBUTE'","'BACKWARD'","'BEFORE'","'BEGIN'","'BY'","'CACHE'","'CALLED'","'CASCADE'","'CASCADED'","'CATALOG'","'CHAIN'","'CHARACTERISTICS'","'CHECKPOINT'","'CLASS'","'CLOSE'","'CLUSTER'","'COMMENT'","'COMMENTS'","'COMMIT'","'COMMITTED'","'CONFIGURATION'","'CONNECTION'","'CONSTRAINTS'","'CONTENT'","'CONTINUE'","'CONVERSION'","'COPY'","'COST'","'CSV'","'CURSOR'","'CYCLE'","'DATA'","'DATABASE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULTS'","'DEFERRED'","'DEFINER'","'DELETE'","'DELIMITER'","'DELIMITERS'","'DICTIONARY'","'DISABLE'","'DISCARD'","'DOCUMENT'","'DOMAIN'","'DOUBLE'","'DROP'","'EACH'","'ENABLE'","'ENCODING'","'ENCRYPTED'","'ENUM'","'ESCAPE'","'EVENT'","'EXCLUDE'","'EXCLUDING'","'EXCLUSIVE'","'EXECUTE'","'EXPLAIN'","'EXTENSION'","'EXTERNAL'","'FAMILY'","'FIRST'","'FOLLOWING'","'FORCE'","'FORWARD'","'FUNCTION'","'FUNCTIONS'","'GLOBAL'","'GRANTED'","'HANDLER'","'HEADER'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'IMMEDIATE'","'IMMUTABLE'","'IMPLICIT'","'INCLUDING'","'INCREMENT'","'INDEX'","'INDEXES'","'INHERIT'","'NOINHERIT'","'SUPERUSER'","'NOSUPERUSER'","'CREATEDB'","'NOCREATEDB'","'CREATEROLE'","'NOCREATEROLE'","'CREATEUSER'","'NOCREATEUSER'","'INHERITS'","'INLINE'","'INSENSITIVE'","'INSERT'","'INSTEAD'","'INVOKER'","'ISOLATION'","'KEY'","'LABEL'","'LANGUAGE'","'LARGE'","'LAST'","'LEAKPROOF'","'LEVEL'","'LISTEN'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'MAPPING'","'MATCH'","'MATERIALIZED'","'MAXVALUE'","'MINUTE'","'MINVALUE'","'MODE'","'MONTH'","'MOVE'","'NAME'","'NAMES'","'NEXT'","'NO'","'NOTHING'","'NOTIFY'","'NOWAIT'","'NULLS'","'OBJECT'","'OF'","'OFF'","'OIDS'","'OPERATOR'","'OPTION'","'OPTIONS'","'OWNED'","'OWNER'","'PARSER'","'PARTIAL'","'PARTITION'","'PASSING'","'PASSWORD'","'PLANS'","'PRECEDING'","'PREPARE'","'PREPARED'","'PRESERVE'","'PRIOR'","'PRIVILEGES'","'PROCEDURAL'","'PROCEDURE'","'PROGRAM'","'QUOTE'","'RANGE'","'READ'","'REASSIGN'","'RECHECK'","'RECURSIVE'","'REF'","'REFRESH'","'REINDEX'","'RELATIVE'","'RELEASE'","'RENAME'","'REPEATABLE'","'REPLACE'","'REPLICA'","'RESET'","'RESTART'","'RESTRICT'","'RETURNS'","'REVOKE'","'ROLE'","'ROLLBACK'","'ROWS'","'RULE'","'SAVEPOINT'","'SCHEMA'","'SCROLL'","'SEARCH'","'SECOND'","'SECURITY'","'SEQUENCE'","'SEQUENCES'","'SERIALIZABLE'","'SERVER'","'SESSION'","'SET'","'SHARE'","'SHOW'","'SIMPLE'","'SNAPSHOT'","'STABLE'","'STANDALONE'","'START'","'STATEMENT'","'STATISTICS'","'STDIN'","'STDOUT'","'STORAGE'","'STRICT'","'STRIP'","'SYSID'","'SYSTEM'","'TABLES'","'TABLESPACE'","'TEMP'","'TEMPLATE'","'TEMPORARY'","'TEXT'","'TRANSACTION'","'TRIGGER'","'TRUNCATE'","'TRUSTED'","'TYPE'","'TYPES'","'UNBOUNDED'","'UNCOMMITTED'","'UNENCRYPTED'","'UNKNOWN'","'UNLISTEN'","'UNLOGGED'","'UNTIL'","'UPDATE'","'VACUUM'","'VALID'","'VALIDATE'","'VALIDATOR'","'VARYING'","'VERSION'","'VIEW'","'VOLATILE'","'WHITESPACE'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'XML'","'YEAR'","'YES'","'ZONE'","'BETWEEN'","'BIGINT'","'BIT'","'BOOLEAN'","'CHAR'","'CHARACTER'","'COALESCE'","'DEC'","'DECIMAL'","'EXISTS'","'EXTRACT'","'FLOAT'","'GREATEST'","'INOUT'","'INT'","'INTEGER'","'INTERVAL'","'LEAST'","'NATIONAL'","'NCHAR'","'NONE'","'NULLIF'","'NUMERIC'","'OVERLAY'","'POSITION'","'PRECISION'","'REAL'","'ROW'","'SETOF'","'SMALLINT'","'SUBSTRING'","'TIME'","'TIMESTAMP'","'TREAT'","'TRIM'","'VALUES'","'VARCHAR'","'XMLATTRIBUTES'","'XMLCONCAT'","'XMLELEMENT'","'XMLEXISTS'","'XMLFOREST'","'XMLPARSE'","'XMLPI'","'XMLROOT'","'XMLSERIALIZE'","'CALL'","'CURRENT'","'ATTACH'","'DETACH'","'EXPRESSION'","'GENERATED'","'LOGGED'","'STORED'","'INCLUDE'","'ROUTINE'","'TRANSFORM'","'IMPORT'","'POLICY'","'METHOD'","'REFERENCING'","'NEW'","'OLD'","'VALUE'","'SUBSCRIPTION'","'PUBLICATION'","'OUT'","'END'","'ROUTINES'","'SCHEMAS'","'PROCEDURES'","'INPUT'","'SUPPORT'","'PARALLEL'","'SQL'","'DEPENDS'","'OVERRIDING'","'CONFLICT'","'SKIP'","'LOCKED'","'TIES'","'ROLLUP'","'CUBE'","'GROUPING'","'SETS'","'TABLESAMPLE'","'ORDINALITY'","'XMLTABLE'","'COLUMNS'","'XMLNAMESPACES'","'ROWTYPE'","'NORMALIZED'","'WITHIN'","'FILTER'","'GROUPS'","'OTHERS'","'NFC'","'NFD'","'NFKC'","'NFKD'","'UESCAPE'","'VIEWS'","'NORMALIZE'","'DUMP'","'PRINT_STRICT_PARAMS'","'VARIABLE_CONFLICT'","'ERROR'","'USE_VARIABLE'","'USE_COLUMN'","'ALIAS'","'CONSTANT'","'PERFORM'","'GET'","'DIAGNOSTICS'","'STACKED'","'ELSIF'","'WHILE'","'REVERSE'","'FOREACH'","'SLICE'","'EXIT'","'RETURN'","'QUERY'","'RAISE'","'SQLSTATE'","'DEBUG'","'LOG'","'INFO'","'NOTICE'","'WARNING'","'EXCEPTION'","'ASSERT'","'LOOP'","'OPEN'","'PEFERENCES'","'USAGE'","'CONNECT'","'PUBLIC'","'MERGE'","'MATCHED'","'BREADTH'","'DEPTH'","'UNSAFE'","'RESTRICTED'","'SAFE'","'FINALIZE'","'MODULUS'","'REMAINDER'","'LOGIN'","'NOLOGIN'","'REPLICATION'","'NOREPLICATION'","'BYPASSRLS'","'NOBYPASSRLS'","'PERMISSIVE'","'RESTRICTIVE'","'COMPRESSION'","'PLAIN'","'EXTENDED'","'MAIN'","'SKIP_LOCKED'","'BUFFER_USAGE_LIMIT'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'\\\\'",null,null,null,null,null,null,null,"'''"],K.symbolicNames=[null,"Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","KW_ALL","KW_ANALYSE","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_ASYMMETRIC","KW_BOTH","KW_CASE","KW_CAST","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONSTRAINT","KW_CREATE","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_ROLE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DEFAULT","KW_DEFERRABLE","KW_DESC","KW_DISTINCT","KW_DO","KW_ELSE","KW_EXCEPT","KW_FALSE","KW_FETCH","KW_FOR","KW_FOREIGN","KW_FROM","KW_GRANT","KW_GROUP","KW_HAVING","KW_IN","KW_INITIALLY","KW_INTERSECT","KW_INTO","KW_LATERAL","KW_LEADING","KW_LIMIT","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_NOT","KW_NULL","KW_OFFSET","KW_ON","KW_ONLY","KW_OR","KW_ORDER","KW_PLACING","KW_PRIMARY","KW_REFERENCES","KW_RETURNING","KW_SELECT","KW_SESSION_USER","KW_SOME","KW_SYMMETRIC","KW_TABLE","KW_THEN","KW_TO","KW_TRAILING","KW_TRUE","KW_UNION","KW_UNIQUE","KW_USER","KW_USING","KW_VARIADIC","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_AUTHORIZATION","KW_BINARY","KW_COLLATION","KW_CONCURRENTLY","KW_CROSS","KW_CURRENT_SCHEMA","KW_FREEZE","KW_FULL","KW_ILIKE","KW_INNER","KW_IS","KW_ISNULL","KW_JOIN","KW_LEFT","KW_LIKE","KW_NATURAL","KW_NOTNULL","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_RIGHT","KW_SIMILAR","KW_VERBOSE","KW_ABORT","KW_ABSOLUTE","KW_ACCESS","KW_ACTION","KW_ADD","KW_ADMIN","KW_AFTER","KW_AGGREGATE","KW_ALSO","KW_ALTER","KW_ALWAYS","KW_ASSERTION","KW_ASSIGNMENT","KW_AT","KW_ATTRIBUTE","KW_BACKWARD","KW_BEFORE","KW_BEGIN","KW_BY","KW_CACHE","KW_CALLED","KW_CASCADE","KW_CASCADED","KW_CATALOG","KW_CHAIN","KW_CHARACTERISTICS","KW_CHECKPOINT","KW_CLASS","KW_CLOSE","KW_CLUSTER","KW_COMMENT","KW_COMMENTS","KW_COMMIT","KW_COMMITTED","KW_CONFIGURATION","KW_CONNECTION","KW_CONSTRAINTS","KW_CONTENT","KW_CONTINUE","KW_CONVERSION","KW_COPY","KW_COST","KW_CSV","KW_CURSOR","KW_CYCLE","KW_DATA","KW_DATABASE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULTS","KW_DEFERRED","KW_DEFINER","KW_DELETE","KW_DELIMITER","KW_DELIMITERS","KW_DICTIONARY","KW_DISABLE","KW_DISCARD","KW_DOCUMENT","KW_DOMAIN","KW_DOUBLE","KW_DROP","KW_EACH","KW_ENABLE","KW_ENCODING","KW_ENCRYPTED","KW_ENUM","KW_ESCAPE","KW_EVENT","KW_EXCLUDE","KW_EXCLUDING","KW_EXCLUSIVE","KW_EXECUTE","KW_EXPLAIN","KW_EXTENSION","KW_EXTERNAL","KW_FAMILY","KW_FIRST","KW_FOLLOWING","KW_FORCE","KW_FORWARD","KW_FUNCTION","KW_FUNCTIONS","KW_GLOBAL","KW_GRANTED","KW_HANDLER","KW_HEADER","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_IMMEDIATE","KW_IMMUTABLE","KW_IMPLICIT","KW_INCLUDING","KW_INCREMENT","KW_INDEX","KW_INDEXES","KW_INHERIT","KW_NOINHERIT","KW_SUPERUSER","KW_NOSUPERUSER","KW_CREATEDB","KW_NOCREATEDB","KW_CREATEROLE","KW_NOCREATEROLE","KW_CREATEUSER","KW_NOCREATEUSER","KW_INHERITS","KW_INLINE","KW_INSENSITIVE","KW_INSERT","KW_INSTEAD","KW_INVOKER","KW_ISOLATION","KW_KEY","KW_LABEL","KW_LANGUAGE","KW_LARGE","KW_LAST","KW_LEAKPROOF","KW_LEVEL","KW_LISTEN","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_MAPPING","KW_MATCH","KW_MATERIALIZED","KW_MAXVALUE","KW_MINUTE","KW_MINVALUE","KW_MODE","KW_MONTH","KW_MOVE","KW_NAME","KW_NAMES","KW_NEXT","KW_NO","KW_NOTHING","KW_NOTIFY","KW_NOWAIT","KW_NULLS","KW_OBJECT","KW_OF","KW_OFF","KW_OIDS","KW_OPERATOR","KW_OPTION","KW_OPTIONS","KW_OWNED","KW_OWNER","KW_PARSER","KW_PARTIAL","KW_PARTITION","KW_PASSING","KW_PASSWORD","KW_PLANS","KW_PRECEDING","KW_PREPARE","KW_PREPARED","KW_PRESERVE","KW_PRIOR","KW_PRIVILEGES","KW_PROCEDURAL","KW_PROCEDURE","KW_PROGRAM","KW_QUOTE","KW_RANGE","KW_READ","KW_REASSIGN","KW_RECHECK","KW_RECURSIVE","KW_REF","KW_REFRESH","KW_REINDEX","KW_RELATIVE","KW_RELEASE","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_REPLICA","KW_RESET","KW_RESTART","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_ROLE","KW_ROLLBACK","KW_ROWS","KW_RULE","KW_SAVEPOINT","KW_SCHEMA","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SECURITY","KW_SEQUENCE","KW_SEQUENCES","KW_SERIALIZABLE","KW_SERVER","KW_SESSION","KW_SET","KW_SHARE","KW_SHOW","KW_SIMPLE","KW_SNAPSHOT","KW_STABLE","KW_STANDALONE","KW_START","KW_STATEMENT","KW_STATISTICS","KW_STDIN","KW_STDOUT","KW_STORAGE","KW_STRICT","KW_STRIP","KW_SYSID","KW_SYSTEM","KW_TABLES","KW_TABLESPACE","KW_TEMP","KW_TEMPLATE","KW_TEMPORARY","KW_TEXT","KW_TRANSACTION","KW_TRIGGER","KW_TRUNCATE","KW_TRUSTED","KW_TYPE","KW_TYPES","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNENCRYPTED","KW_UNKNOWN","KW_UNLISTEN","KW_UNLOGGED","KW_UNTIL","KW_UPDATE","KW_VACUUM","KW_VALID","KW_VALIDATE","KW_VALIDATOR","KW_VARYING","KW_VERSION","KW_VIEW","KW_VOLATILE","KW_WHITESPACE","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_XML","KW_YEAR","KW_YES","KW_ZONE","KW_BETWEEN","KW_BIGINT","KW_BIT","KW_BOOLEAN","KW_CHAR","KW_CHARACTER","KW_COALESCE","KW_DEC","KW_DECIMAL","KW_EXISTS","KW_EXTRACT","KW_FLOAT","KW_GREATEST","KW_INOUT","KW_INT","KW_INTEGER","KW_INTERVAL","KW_LEAST","KW_NATIONAL","KW_NCHAR","KW_NONE","KW_NULLIF","KW_NUMERIC","KW_OVERLAY","KW_POSITION","KW_PRECISION","KW_REAL","KW_ROW","KW_SETOF","KW_SMALLINT","KW_SUBSTRING","KW_TIME","KW_TIMESTAMP","KW_TREAT","KW_TRIM","KW_VALUES","KW_VARCHAR","KW_XMLATTRIBUTES","KW_XMLCONCAT","KW_XMLELEMENT","KW_XMLEXISTS","KW_XMLFOREST","KW_XMLPARSE","KW_XMLPI","KW_XMLROOT","KW_XMLSERIALIZE","KW_CALL","KW_CURRENT","KW_ATTACH","KW_DETACH","KW_EXPRESSION","KW_GENERATED","KW_LOGGED","KW_STORED","KW_INCLUDE","KW_ROUTINE","KW_TRANSFORM","KW_IMPORT","KW_POLICY","KW_METHOD","KW_REFERENCING","KW_NEW","KW_OLD","KW_VALUE","KW_SUBSCRIPTION","KW_PUBLICATION","KW_OUT","KW_END","KW_ROUTINES","KW_SCHEMAS","KW_PROCEDURES","KW_INPUT","KW_SUPPORT","KW_PARALLEL","KW_SQL","KW_DEPENDS","KW_OVERRIDING","KW_CONFLICT","KW_SKIP","KW_LOCKED","KW_TIES","KW_ROLLUP","KW_CUBE","KW_GROUPING","KW_SETS","KW_TABLESAMPLE","KW_ORDINALITY","KW_XMLTABLE","KW_COLUMNS","KW_XMLNAMESPACES","KW_ROWTYPE","KW_NORMALIZED","KW_WITHIN","KW_FILTER","KW_GROUPS","KW_OTHERS","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_UESCAPE","KW_VIEWS","KW_NORMALIZE","KW_DUMP","KW_PRINT_STRICT_PARAMS","KW_VARIABLE_CONFLICT","KW_ERROR","KW_USE_VARIABLE","KW_USE_COLUMN","KW_ALIAS","KW_CONSTANT","KW_PERFORM","KW_GET","KW_DIAGNOSTICS","KW_STACKED","KW_ELSIF","KW_WHILE","KW_REVERSE","KW_FOREACH","KW_SLICE","KW_EXIT","KW_RETURN","KW_QUERY","KW_RAISE","KW_SQLSTATE","KW_DEBUG","KW_LOG","KW_INFO","KW_NOTICE","KW_WARNING","KW_EXCEPTION","KW_ASSERT","KW_LOOP","KW_OPEN","KW_PEFERENCES","KW_USAGE","KW_CONNECT","KW_PUBLIC","KW_MERGE","KW_MATCHED","KW_BREADTH","KW_DEPTH","KW_UNSAFE","KW_RESTRICTED","KW_SAFE","KW_FINALIZE","KW_MODULUS","KW_REMAINDER","KW_LOGIN","KW_NOLOGIN","KW_REPLICATION","KW_NOREPLICATION","KW_BYPASSRLS","KW_NOBYPASSRLS","KW_PERMISSIVE","KW_RESTRICTIVE","KW_COMPRESSION","KW_PLAIN","KW_EXTENDED","KW_MAIN","KW_SKIP_LOCKED","KW_BUFFER_USAGE_LIMIT","Identifier","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","DollarText","EndDollarStringConstant","AfterEscapeStringConstantWithNewlineMode_Continued"],K.modeNames=["DEFAULT_MODE","EscapeStringConstantMode","AfterEscapeStringConstantMode","AfterEscapeStringConstantWithNewlineMode","DollarQuotedStringMode"],K.ruleNames=["Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","OperatorEndingWithPlusMinus","OperatorCharacter","OperatorCharacterNotAllowPlusMinusAtEnd","OperatorCharacterAllowPlusMinusAtEnd","KW_ALL","KW_ANALYSE","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_ASYMMETRIC","KW_BOTH","KW_CASE","KW_CAST","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONSTRAINT","KW_CREATE","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_ROLE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DEFAULT","KW_DEFERRABLE","KW_DESC","KW_DISTINCT","KW_DO","KW_ELSE","KW_EXCEPT","KW_FALSE","KW_FETCH","KW_FOR","KW_FOREIGN","KW_FROM","KW_GRANT","KW_GROUP","KW_HAVING","KW_IN","KW_INITIALLY","KW_INTERSECT","KW_INTO","KW_LATERAL","KW_LEADING","KW_LIMIT","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_NOT","KW_NULL","KW_OFFSET","KW_ON","KW_ONLY","KW_OR","KW_ORDER","KW_PLACING","KW_PRIMARY","KW_REFERENCES","KW_RETURNING","KW_SELECT","KW_SESSION_USER","KW_SOME","KW_SYMMETRIC","KW_TABLE","KW_THEN","KW_TO","KW_TRAILING","KW_TRUE","KW_UNION","KW_UNIQUE","KW_USER","KW_USING","KW_VARIADIC","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_AUTHORIZATION","KW_BINARY","KW_COLLATION","KW_CONCURRENTLY","KW_CROSS","KW_CURRENT_SCHEMA","KW_FREEZE","KW_FULL","KW_ILIKE","KW_INNER","KW_IS","KW_ISNULL","KW_JOIN","KW_LEFT","KW_LIKE","KW_NATURAL","KW_NOTNULL","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_RIGHT","KW_SIMILAR","KW_VERBOSE","KW_ABORT","KW_ABSOLUTE","KW_ACCESS","KW_ACTION","KW_ADD","KW_ADMIN","KW_AFTER","KW_AGGREGATE","KW_ALSO","KW_ALTER","KW_ALWAYS","KW_ASSERTION","KW_ASSIGNMENT","KW_AT","KW_ATTRIBUTE","KW_BACKWARD","KW_BEFORE","KW_BEGIN","KW_BY","KW_CACHE","KW_CALLED","KW_CASCADE","KW_CASCADED","KW_CATALOG","KW_CHAIN","KW_CHARACTERISTICS","KW_CHECKPOINT","KW_CLASS","KW_CLOSE","KW_CLUSTER","KW_COMMENT","KW_COMMENTS","KW_COMMIT","KW_COMMITTED","KW_CONFIGURATION","KW_CONNECTION","KW_CONSTRAINTS","KW_CONTENT","KW_CONTINUE","KW_CONVERSION","KW_COPY","KW_COST","KW_CSV","KW_CURSOR","KW_CYCLE","KW_DATA","KW_DATABASE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULTS","KW_DEFERRED","KW_DEFINER","KW_DELETE","KW_DELIMITER","KW_DELIMITERS","KW_DICTIONARY","KW_DISABLE","KW_DISCARD","KW_DOCUMENT","KW_DOMAIN","KW_DOUBLE","KW_DROP","KW_EACH","KW_ENABLE","KW_ENCODING","KW_ENCRYPTED","KW_ENUM","KW_ESCAPE","KW_EVENT","KW_EXCLUDE","KW_EXCLUDING","KW_EXCLUSIVE","KW_EXECUTE","KW_EXPLAIN","KW_EXTENSION","KW_EXTERNAL","KW_FAMILY","KW_FIRST","KW_FOLLOWING","KW_FORCE","KW_FORWARD","KW_FUNCTION","KW_FUNCTIONS","KW_GLOBAL","KW_GRANTED","KW_HANDLER","KW_HEADER","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_IMMEDIATE","KW_IMMUTABLE","KW_IMPLICIT","KW_INCLUDING","KW_INCREMENT","KW_INDEX","KW_INDEXES","KW_INHERIT","KW_NOINHERIT","KW_SUPERUSER","KW_NOSUPERUSER","KW_CREATEDB","KW_NOCREATEDB","KW_CREATEROLE","KW_NOCREATEROLE","KW_CREATEUSER","KW_NOCREATEUSER","KW_INHERITS","KW_INLINE","KW_INSENSITIVE","KW_INSERT","KW_INSTEAD","KW_INVOKER","KW_ISOLATION","KW_KEY","KW_LABEL","KW_LANGUAGE","KW_LARGE","KW_LAST","KW_LEAKPROOF","KW_LEVEL","KW_LISTEN","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_MAPPING","KW_MATCH","KW_MATERIALIZED","KW_MAXVALUE","KW_MINUTE","KW_MINVALUE","KW_MODE","KW_MONTH","KW_MOVE","KW_NAME","KW_NAMES","KW_NEXT","KW_NO","KW_NOTHING","KW_NOTIFY","KW_NOWAIT","KW_NULLS","KW_OBJECT","KW_OF","KW_OFF","KW_OIDS","KW_OPERATOR","KW_OPTION","KW_OPTIONS","KW_OWNED","KW_OWNER","KW_PARSER","KW_PARTIAL","KW_PARTITION","KW_PASSING","KW_PASSWORD","KW_PLANS","KW_PRECEDING","KW_PREPARE","KW_PREPARED","KW_PRESERVE","KW_PRIOR","KW_PRIVILEGES","KW_PROCEDURAL","KW_PROCEDURE","KW_PROGRAM","KW_QUOTE","KW_RANGE","KW_READ","KW_REASSIGN","KW_RECHECK","KW_RECURSIVE","KW_REF","KW_REFRESH","KW_REINDEX","KW_RELATIVE","KW_RELEASE","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_REPLICA","KW_RESET","KW_RESTART","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_ROLE","KW_ROLLBACK","KW_ROWS","KW_RULE","KW_SAVEPOINT","KW_SCHEMA","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SECURITY","KW_SEQUENCE","KW_SEQUENCES","KW_SERIALIZABLE","KW_SERVER","KW_SESSION","KW_SET","KW_SHARE","KW_SHOW","KW_SIMPLE","KW_SNAPSHOT","KW_STABLE","KW_STANDALONE","KW_START","KW_STATEMENT","KW_STATISTICS","KW_STDIN","KW_STDOUT","KW_STORAGE","KW_STRICT","KW_STRIP","KW_SYSID","KW_SYSTEM","KW_TABLES","KW_TABLESPACE","KW_TEMP","KW_TEMPLATE","KW_TEMPORARY","KW_TEXT","KW_TRANSACTION","KW_TRIGGER","KW_TRUNCATE","KW_TRUSTED","KW_TYPE","KW_TYPES","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNENCRYPTED","KW_UNKNOWN","KW_UNLISTEN","KW_UNLOGGED","KW_UNTIL","KW_UPDATE","KW_VACUUM","KW_VALID","KW_VALIDATE","KW_VALIDATOR","KW_VARYING","KW_VERSION","KW_VIEW","KW_VOLATILE","KW_WHITESPACE","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_XML","KW_YEAR","KW_YES","KW_ZONE","KW_BETWEEN","KW_BIGINT","KW_BIT","KW_BOOLEAN","KW_CHAR","KW_CHARACTER","KW_COALESCE","KW_DEC","KW_DECIMAL","KW_EXISTS","KW_EXTRACT","KW_FLOAT","KW_GREATEST","KW_INOUT","KW_INT","KW_INTEGER","KW_INTERVAL","KW_LEAST","KW_NATIONAL","KW_NCHAR","KW_NONE","KW_NULLIF","KW_NUMERIC","KW_OVERLAY","KW_POSITION","KW_PRECISION","KW_REAL","KW_ROW","KW_SETOF","KW_SMALLINT","KW_SUBSTRING","KW_TIME","KW_TIMESTAMP","KW_TREAT","KW_TRIM","KW_VALUES","KW_VARCHAR","KW_XMLATTRIBUTES","KW_XMLCONCAT","KW_XMLELEMENT","KW_XMLEXISTS","KW_XMLFOREST","KW_XMLPARSE","KW_XMLPI","KW_XMLROOT","KW_XMLSERIALIZE","KW_CALL","KW_CURRENT","KW_ATTACH","KW_DETACH","KW_EXPRESSION","KW_GENERATED","KW_LOGGED","KW_STORED","KW_INCLUDE","KW_ROUTINE","KW_TRANSFORM","KW_IMPORT","KW_POLICY","KW_METHOD","KW_REFERENCING","KW_NEW","KW_OLD","KW_VALUE","KW_SUBSCRIPTION","KW_PUBLICATION","KW_OUT","KW_END","KW_ROUTINES","KW_SCHEMAS","KW_PROCEDURES","KW_INPUT","KW_SUPPORT","KW_PARALLEL","KW_SQL","KW_DEPENDS","KW_OVERRIDING","KW_CONFLICT","KW_SKIP","KW_LOCKED","KW_TIES","KW_ROLLUP","KW_CUBE","KW_GROUPING","KW_SETS","KW_TABLESAMPLE","KW_ORDINALITY","KW_XMLTABLE","KW_COLUMNS","KW_XMLNAMESPACES","KW_ROWTYPE","KW_NORMALIZED","KW_WITHIN","KW_FILTER","KW_GROUPS","KW_OTHERS","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_UESCAPE","KW_VIEWS","KW_NORMALIZE","KW_DUMP","KW_PRINT_STRICT_PARAMS","KW_VARIABLE_CONFLICT","KW_ERROR","KW_USE_VARIABLE","KW_USE_COLUMN","KW_ALIAS","KW_CONSTANT","KW_PERFORM","KW_GET","KW_DIAGNOSTICS","KW_STACKED","KW_ELSIF","KW_WHILE","KW_REVERSE","KW_FOREACH","KW_SLICE","KW_EXIT","KW_RETURN","KW_QUERY","KW_RAISE","KW_SQLSTATE","KW_DEBUG","KW_LOG","KW_INFO","KW_NOTICE","KW_WARNING","KW_EXCEPTION","KW_ASSERT","KW_LOOP","KW_OPEN","KW_PEFERENCES","KW_USAGE","KW_CONNECT","KW_PUBLIC","KW_MERGE","KW_MATCHED","KW_BREADTH","KW_DEPTH","KW_UNSAFE","KW_RESTRICTED","KW_SAFE","KW_FINALIZE","KW_MODULUS","KW_REMAINDER","KW_LOGIN","KW_NOLOGIN","KW_REPLICATION","KW_NOREPLICATION","KW_BYPASSRLS","KW_NOBYPASSRLS","KW_PERMISSIVE","KW_RESTRICTIVE","KW_COMPRESSION","KW_PLAIN","KW_EXTENDED","KW_MAIN","KW_SKIP_LOCKED","KW_BUFFER_USAGE_LIMIT","Identifier","IdentifierStartChar","IdentifierChar","StrictIdentifierChar","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","BeginEscapeStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","Tag","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","Digits","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","EscapeStringText","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","InvalidEscapeStringText","AfterEscapeStringConstantMode_Whitespace","AfterEscapeStringConstantMode_Newline","AfterEscapeStringConstantWithNewlineMode_Whitespace","AfterEscapeStringConstantWithNewlineMode_Newline","AfterEscapeStringConstantWithNewlineMode_Continued","DollarText","EndDollarStringConstant"],K._serializedATN=[4,0,590,5802,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,27,1,27,4,27,1283,8,27,11,27,12,27,1284,1,28,1,28,4,28,1289,8,28,11,28,12,28,1290,1,28,1,28,3,28,1295,8,28,3,28,1297,8,28,1,28,4,28,1300,8,28,11,28,12,28,1301,1,28,3,28,1305,8,28,1,29,1,29,5,29,1309,8,29,10,29,12,29,1312,9,29,1,29,1,29,3,29,1316,8,29,1,29,4,29,1319,8,29,11,29,12,29,1320,1,29,1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,505,1,505,1,505,1,505,1,505,1,505,1,506,1,506,1,506,1,506,1,506,1,506,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,509,1,509,1,509,1,509,1,509,1,509,1,510,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,512,1,512,1,512,1,512,1,512,1,512,1,513,1,513,1,513,1,513,1,513,1,513,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,515,1,516,1,516,1,516,1,516,1,517,1,517,1,517,1,517,1,517,1,518,1,518,1,518,1,518,1,518,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,522,1,522,1,522,1,522,1,522,1,523,1,523,1,523,1,523,1,523,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,525,1,525,1,525,1,525,1,525,1,525,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,528,1,528,1,528,1,528,1,528,1,528,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,531,1,531,1,531,1,531,1,531,1,531,1,532,1,532,1,532,1,532,1,532,1,532,1,532,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,533,1,534,1,534,1,534,1,534,1,534,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,535,1,536,1,536,1,536,1,536,1,536,1,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,538,1,538,1,538,1,538,1,538,1,538,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,552,1,552,5,552,5355,8,552,10,552,12,552,5358,9,552,1,553,1,553,1,553,3,553,5363,8,553,1,554,1,554,3,554,5367,8,554,1,555,1,555,3,555,5371,8,555,1,556,1,556,1,556,1,557,1,557,1,557,1,557,5,557,5380,8,557,10,557,12,557,5383,9,557,1,558,1,558,1,558,1,559,1,559,1,559,1,559,5,559,5392,8,559,10,559,12,559,5395,9,559,1,560,1,560,1,560,1,560,1,561,1,561,1,561,1,561,1,562,1,562,1,562,1,562,1,563,1,563,1,563,1,563,1,564,1,564,1,564,1,565,1,565,1,565,1,565,5,565,5420,8,565,10,565,12,565,5423,9,565,1,566,1,566,1,566,1,566,1,566,1,566,1,567,1,567,1,567,1,568,1,568,1,568,1,568,1,569,1,569,3,569,5440,8,569,1,569,1,569,1,569,1,569,1,570,1,570,5,570,5448,8,570,10,570,12,570,5451,9,570,1,571,1,571,1,571,1,572,1,572,1,572,5,572,5459,8,572,10,572,12,572,5462,9,572,1,573,1,573,1,573,1,574,1,574,1,574,1,575,1,575,1,575,1,576,1,576,1,576,5,576,5476,8,576,10,576,12,576,5479,9,576,1,577,1,577,1,577,1,578,1,578,1,578,1,579,1,579,1,580,1,580,1,580,1,580,1,581,1,581,1,581,3,581,5496,8,581,1,581,1,581,3,581,5500,8,581,1,581,3,581,5503,8,581,1,581,1,581,1,581,1,581,3,581,5509,8,581,1,581,3,581,5512,8,581,1,581,1,581,1,581,3,581,5517,8,581,1,581,1,581,3,581,5521,8,581,1,582,4,582,5524,8,582,11,582,12,582,5525,1,583,1,583,1,583,5,583,5531,8,583,10,583,12,583,5534,9,583,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,5,584,5544,8,584,10,584,12,584,5547,9,584,1,584,1,584,1,585,4,585,5552,8,585,11,585,12,585,5553,1,585,1,585,1,586,1,586,3,586,5560,8,586,1,586,3,586,5563,8,586,1,586,1,586,1,587,1,587,1,587,1,587,5,587,5571,8,587,10,587,12,587,5574,9,587,1,587,1,587,1,588,1,588,1,588,1,588,5,588,5582,8,588,10,588,12,588,5585,9,588,1,588,1,588,1,588,4,588,5590,8,588,11,588,12,588,5591,1,588,1,588,4,588,5596,8,588,11,588,12,588,5597,1,588,5,588,5601,8,588,10,588,12,588,5604,9,588,1,588,5,588,5607,8,588,10,588,12,588,5610,9,588,1,588,1,588,1,588,1,588,1,588,1,589,1,589,1,589,1,589,5,589,5621,8,589,10,589,12,589,5624,9,589,1,589,1,589,1,589,4,589,5629,8,589,11,589,12,589,5630,1,589,1,589,4,589,5635,8,589,11,589,12,589,5636,1,589,3,589,5640,8,589,5,589,5642,8,589,10,589,12,589,5645,9,589,1,589,4,589,5648,8,589,11,589,12,589,5649,1,589,4,589,5653,8,589,11,589,12,589,5654,1,589,5,589,5658,8,589,10,589,12,589,5661,9,589,1,589,3,589,5664,8,589,1,590,1,590,1,590,1,590,5,590,5670,8,590,10,590,12,590,5673,9,590,1,590,5,590,5676,8,590,10,590,12,590,5679,9,590,1,590,1,590,5,590,5683,8,590,10,590,12,590,5686,9,590,3,590,5688,8,590,1,591,1,591,1,591,1,592,1,592,1,593,1,593,1,593,1,593,1,593,1,594,1,594,3,594,5702,8,594,1,594,1,594,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,3,595,5726,8,595,1,595,5,595,5729,8,595,10,595,12,595,5732,9,595,1,596,1,596,1,596,1,596,1,596,1,597,1,597,3,597,5741,8,597,1,597,1,597,1,598,1,598,1,598,1,598,1,598,5,598,5750,8,598,10,598,12,598,5753,9,598,1,599,1,599,1,599,1,599,1,599,1,600,1,600,1,600,1,600,1,600,1,600,1,601,1,601,1,601,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,603,1,603,1,603,1,603,1,603,1,604,4,604,5782,8,604,11,604,12,604,5783,1,604,1,604,5,604,5788,8,604,10,604,12,604,5791,9,604,3,604,5793,8,604,1,605,1,605,3,605,5797,8,605,1,605,1,605,1,605,1,605,0,0,606,5,1,7,2,9,3,11,4,13,5,15,6,17,7,19,8,21,9,23,10,25,11,27,12,29,13,31,14,33,15,35,16,37,17,39,18,41,19,43,20,45,21,47,22,49,23,51,24,53,25,55,26,57,27,59,28,61,29,63,0,65,0,67,0,69,0,71,30,73,31,75,32,77,33,79,34,81,35,83,36,85,37,87,38,89,39,91,40,93,41,95,42,97,43,99,44,101,45,103,46,105,47,107,48,109,49,111,50,113,51,115,52,117,53,119,54,121,55,123,56,125,57,127,58,129,59,131,60,133,61,135,62,137,63,139,64,141,65,143,66,145,67,147,68,149,69,151,70,153,71,155,72,157,73,159,74,161,75,163,76,165,77,167,78,169,79,171,80,173,81,175,82,177,83,179,84,181,85,183,86,185,87,187,88,189,89,191,90,193,91,195,92,197,93,199,94,201,95,203,96,205,97,207,98,209,99,211,100,213,101,215,102,217,103,219,104,221,105,223,106,225,107,227,108,229,109,231,110,233,111,235,112,237,113,239,114,241,115,243,116,245,117,247,118,249,119,251,120,253,121,255,122,257,123,259,124,261,125,263,126,265,127,267,128,269,129,271,130,273,131,275,132,277,133,279,134,281,135,283,136,285,137,287,138,289,139,291,140,293,141,295,142,297,143,299,144,301,145,303,146,305,147,307,148,309,149,311,150,313,151,315,152,317,153,319,154,321,155,323,156,325,157,327,158,329,159,331,160,333,161,335,162,337,163,339,164,341,165,343,166,345,167,347,168,349,169,351,170,353,171,355,172,357,173,359,174,361,175,363,176,365,177,367,178,369,179,371,180,373,181,375,182,377,183,379,184,381,185,383,186,385,187,387,188,389,189,391,190,393,191,395,192,397,193,399,194,401,195,403,196,405,197,407,198,409,199,411,200,413,201,415,202,417,203,419,204,421,205,423,206,425,207,427,208,429,209,431,210,433,211,435,212,437,213,439,214,441,215,443,216,445,217,447,218,449,219,451,220,453,221,455,222,457,223,459,224,461,225,463,226,465,227,467,228,469,229,471,230,473,231,475,232,477,233,479,234,481,235,483,236,485,237,487,238,489,239,491,240,493,241,495,242,497,243,499,244,501,245,503,246,505,247,507,248,509,249,511,250,513,251,515,252,517,253,519,254,521,255,523,256,525,257,527,258,529,259,531,260,533,261,535,262,537,263,539,264,541,265,543,266,545,267,547,268,549,269,551,270,553,271,555,272,557,273,559,274,561,275,563,276,565,277,567,278,569,279,571,280,573,281,575,282,577,283,579,284,581,285,583,286,585,287,587,288,589,289,591,290,593,291,595,292,597,293,599,294,601,295,603,296,605,297,607,298,609,299,611,300,613,301,615,302,617,303,619,304,621,305,623,306,625,307,627,308,629,309,631,310,633,311,635,312,637,313,639,314,641,315,643,316,645,317,647,318,649,319,651,320,653,321,655,322,657,323,659,324,661,325,663,326,665,327,667,328,669,329,671,330,673,331,675,332,677,333,679,334,681,335,683,336,685,337,687,338,689,339,691,340,693,341,695,342,697,343,699,344,701,345,703,346,705,347,707,348,709,349,711,350,713,351,715,352,717,353,719,354,721,355,723,356,725,357,727,358,729,359,731,360,733,361,735,362,737,363,739,364,741,365,743,366,745,367,747,368,749,369,751,370,753,371,755,372,757,373,759,374,761,375,763,376,765,377,767,378,769,379,771,380,773,381,775,382,777,383,779,384,781,385,783,386,785,387,787,388,789,389,791,390,793,391,795,392,797,393,799,394,801,395,803,396,805,397,807,398,809,399,811,400,813,401,815,402,817,403,819,404,821,405,823,406,825,407,827,408,829,409,831,410,833,411,835,412,837,413,839,414,841,415,843,416,845,417,847,418,849,419,851,420,853,421,855,422,857,423,859,424,861,425,863,426,865,427,867,428,869,429,871,430,873,431,875,432,877,433,879,434,881,435,883,436,885,437,887,438,889,439,891,440,893,441,895,442,897,443,899,444,901,445,903,446,905,447,907,448,909,449,911,450,913,451,915,452,917,453,919,454,921,455,923,456,925,457,927,458,929,459,931,460,933,461,935,462,937,463,939,464,941,465,943,466,945,467,947,468,949,469,951,470,953,471,955,472,957,473,959,474,961,475,963,476,965,477,967,478,969,479,971,480,973,481,975,482,977,483,979,484,981,485,983,486,985,487,987,488,989,489,991,490,993,491,995,492,997,493,999,494,1001,495,1003,496,1005,497,1007,498,1009,499,1011,500,1013,501,1015,502,1017,503,1019,504,1021,505,1023,506,1025,507,1027,508,1029,509,1031,510,1033,511,1035,512,1037,513,1039,514,1041,515,1043,516,1045,517,1047,518,1049,519,1051,520,1053,521,1055,522,1057,523,1059,524,1061,525,1063,526,1065,527,1067,528,1069,529,1071,530,1073,531,1075,532,1077,533,1079,534,1081,535,1083,536,1085,537,1087,538,1089,539,1091,540,1093,541,1095,542,1097,543,1099,544,1101,545,1103,546,1105,547,1107,548,1109,549,1111,0,1113,0,1115,0,1117,550,1119,551,1121,552,1123,553,1125,554,1127,555,1129,556,1131,557,1133,558,1135,559,1137,0,1139,560,1141,561,1143,562,1145,0,1147,563,1149,564,1151,565,1153,566,1155,567,1157,568,1159,569,1161,570,1163,571,1165,572,1167,573,1169,0,1171,574,1173,575,1175,576,1177,577,1179,578,1181,579,1183,580,1185,581,1187,582,1189,583,1191,584,1193,585,1195,0,1197,586,1199,587,1201,0,1203,0,1205,0,1207,0,1209,0,1211,590,1213,588,1215,589,5,0,1,2,3,4,51,1,0,48,57,2,0,43,43,45,45,2,0,45,45,47,47,9,0,33,33,35,35,37,38,42,42,60,64,94,94,96,96,124,124,126,126,2,0,42,43,60,62,8,0,33,33,35,35,37,38,63,64,94,94,96,96,124,124,126,126,2,0,65,65,97,97,2,0,76,76,108,108,2,0,78,78,110,110,2,0,89,89,121,121,2,0,83,83,115,115,2,0,69,69,101,101,2,0,90,90,122,122,2,0,68,68,100,100,2,0,82,82,114,114,2,0,67,67,99,99,2,0,77,77,109,109,2,0,84,84,116,116,2,0,73,73,105,105,2,0,66,66,98,98,2,0,79,79,111,111,2,0,72,72,104,104,2,0,75,75,107,107,2,0,85,85,117,117,2,0,71,71,103,103,2,0,80,80,112,112,2,0,70,70,102,102,2,0,88,88,120,120,2,0,86,86,118,118,2,0,81,81,113,113,2,0,87,87,119,119,2,0,74,74,106,106,10,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,224,246,248,55295,57344,65535,1,0,55296,56319,1,0,56320,57343,2,0,0,0,34,34,1,0,34,34,1,0,39,39,1,0,48,49,3,0,48,57,65,70,97,102,3,0,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,34,34,92,92,2,0,9,9,32,32,2,0,10,10,13,13,2,0,42,42,47,47,4,0,10,10,13,13,34,34,92,92,3,0,10,10,13,13,34,34,4,0,85,85,88,88,117,117,120,120,2,0,39,39,92,92,1,0,36,36,5871,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,0,1083,1,0,0,0,0,1085,1,0,0,0,0,1087,1,0,0,0,0,1089,1,0,0,0,0,1091,1,0,0,0,0,1093,1,0,0,0,0,1095,1,0,0,0,0,1097,1,0,0,0,0,1099,1,0,0,0,0,1101,1,0,0,0,0,1103,1,0,0,0,0,1105,1,0,0,0,0,1107,1,0,0,0,0,1109,1,0,0,0,0,1117,1,0,0,0,0,1119,1,0,0,0,0,1121,1,0,0,0,0,1123,1,0,0,0,0,1125,1,0,0,0,0,1127,1,0,0,0,0,1129,1,0,0,0,0,1131,1,0,0,0,0,1133,1,0,0,0,0,1135,1,0,0,0,0,1137,1,0,0,0,0,1139,1,0,0,0,0,1141,1,0,0,0,0,1143,1,0,0,0,0,1147,1,0,0,0,0,1149,1,0,0,0,0,1151,1,0,0,0,0,1153,1,0,0,0,0,1155,1,0,0,0,0,1157,1,0,0,0,0,1159,1,0,0,0,0,1161,1,0,0,0,0,1163,1,0,0,0,0,1165,1,0,0,0,0,1167,1,0,0,0,0,1171,1,0,0,0,0,1173,1,0,0,0,0,1175,1,0,0,0,0,1177,1,0,0,0,0,1179,1,0,0,0,0,1181,1,0,0,0,0,1183,1,0,0,0,0,1185,1,0,0,0,0,1187,1,0,0,0,0,1189,1,0,0,0,1,1191,1,0,0,0,1,1193,1,0,0,0,1,1197,1,0,0,0,1,1199,1,0,0,0,2,1203,1,0,0,0,2,1205,1,0,0,0,3,1207,1,0,0,0,3,1209,1,0,0,0,3,1211,1,0,0,0,4,1213,1,0,0,0,4,1215,1,0,0,0,5,1217,1,0,0,0,7,1219,1,0,0,0,9,1221,1,0,0,0,11,1223,1,0,0,0,13,1225,1,0,0,0,15,1227,1,0,0,0,17,1229,1,0,0,0,19,1231,1,0,0,0,21,1233,1,0,0,0,23,1235,1,0,0,0,25,1237,1,0,0,0,27,1239,1,0,0,0,29,1241,1,0,0,0,31,1243,1,0,0,0,33,1245,1,0,0,0,35,1247,1,0,0,0,37,1249,1,0,0,0,39,1251,1,0,0,0,41,1254,1,0,0,0,43,1257,1,0,0,0,45,1260,1,0,0,0,47,1263,1,0,0,0,49,1266,1,0,0,0,51,1269,1,0,0,0,53,1272,1,0,0,0,55,1275,1,0,0,0,57,1278,1,0,0,0,59,1280,1,0,0,0,61,1304,1,0,0,0,63,1310,1,0,0,0,65,1324,1,0,0,0,67,1326,1,0,0,0,69,1328,1,0,0,0,71,1330,1,0,0,0,73,1334,1,0,0,0,75,1342,1,0,0,0,77,1350,1,0,0,0,79,1354,1,0,0,0,81,1358,1,0,0,0,83,1364,1,0,0,0,85,1367,1,0,0,0,87,1371,1,0,0,0,89,1382,1,0,0,0,91,1387,1,0,0,0,93,1392,1,0,0,0,95,1397,1,0,0,0,97,1403,1,0,0,0,99,1411,1,0,0,0,101,1418,1,0,0,0,103,1429,1,0,0,0,105,1436,1,0,0,0,107,1452,1,0,0,0,109,1465,1,0,0,0,111,1478,1,0,0,0,113,1491,1,0,0,0,115,1509,1,0,0,0,117,1522,1,0,0,0,119,1530,1,0,0,0,121,1541,1,0,0,0,123,1546,1,0,0,0,125,1555,1,0,0,0,127,1558,1,0,0,0,129,1563,1,0,0,0,131,1570,1,0,0,0,133,1576,1,0,0,0,135,1582,1,0,0,0,137,1586,1,0,0,0,139,1594,1,0,0,0,141,1599,1,0,0,0,143,1605,1,0,0,0,145,1611,1,0,0,0,147,1618,1,0,0,0,149,1621,1,0,0,0,151,1631,1,0,0,0,153,1641,1,0,0,0,155,1646,1,0,0,0,157,1654,1,0,0,0,159,1662,1,0,0,0,161,1668,1,0,0,0,163,1678,1,0,0,0,165,1693,1,0,0,0,167,1697,1,0,0,0,169,1702,1,0,0,0,171,1709,1,0,0,0,173,1712,1,0,0,0,175,1717,1,0,0,0,177,1720,1,0,0,0,179,1726,1,0,0,0,181,1734,1,0,0,0,183,1742,1,0,0,0,185,1753,1,0,0,0,187,1763,1,0,0,0,189,1770,1,0,0,0,191,1783,1,0,0,0,193,1788,1,0,0,0,195,1798,1,0,0,0,197,1804,1,0,0,0,199,1809,1,0,0,0,201,1812,1,0,0,0,203,1821,1,0,0,0,205,1826,1,0,0,0,207,1832,1,0,0,0,209,1839,1,0,0,0,211,1844,1,0,0,0,213,1850,1,0,0,0,215,1859,1,0,0,0,217,1864,1,0,0,0,219,1870,1,0,0,0,221,1877,1,0,0,0,223,1882,1,0,0,0,225,1896,1,0,0,0,227,1903,1,0,0,0,229,1913,1,0,0,0,231,1926,1,0,0,0,233,1932,1,0,0,0,235,1947,1,0,0,0,237,1954,1,0,0,0,239,1959,1,0,0,0,241,1965,1,0,0,0,243,1971,1,0,0,0,245,1974,1,0,0,0,247,1981,1,0,0,0,249,1986,1,0,0,0,251,1991,1,0,0,0,253,1996,1,0,0,0,255,2004,1,0,0,0,257,2012,1,0,0,0,259,2018,1,0,0,0,261,2023,1,0,0,0,263,2032,1,0,0,0,265,2038,1,0,0,0,267,2046,1,0,0,0,269,2054,1,0,0,0,271,2060,1,0,0,0,273,2069,1,0,0,0,275,2076,1,0,0,0,277,2083,1,0,0,0,279,2087,1,0,0,0,281,2093,1,0,0,0,283,2099,1,0,0,0,285,2109,1,0,0,0,287,2114,1,0,0,0,289,2120,1,0,0,0,291,2127,1,0,0,0,293,2137,1,0,0,0,295,2148,1,0,0,0,297,2151,1,0,0,0,299,2161,1,0,0,0,301,2170,1,0,0,0,303,2177,1,0,0,0,305,2183,1,0,0,0,307,2186,1,0,0,0,309,2192,1,0,0,0,311,2199,1,0,0,0,313,2207,1,0,0,0,315,2216,1,0,0,0,317,2224,1,0,0,0,319,2230,1,0,0,0,321,2246,1,0,0,0,323,2257,1,0,0,0,325,2263,1,0,0,0,327,2269,1,0,0,0,329,2277,1,0,0,0,331,2285,1,0,0,0,333,2294,1,0,0,0,335,2301,1,0,0,0,337,2311,1,0,0,0,339,2325,1,0,0,0,341,2336,1,0,0,0,343,2348,1,0,0,0,345,2356,1,0,0,0,347,2365,1,0,0,0,349,2376,1,0,0,0,351,2381,1,0,0,0,353,2386,1,0,0,0,355,2390,1,0,0,0,357,2397,1,0,0,0,359,2403,1,0,0,0,361,2408,1,0,0,0,363,2417,1,0,0,0,365,2421,1,0,0,0,367,2432,1,0,0,0,369,2440,1,0,0,0,371,2449,1,0,0,0,373,2458,1,0,0,0,375,2466,1,0,0,0,377,2473,1,0,0,0,379,2483,1,0,0,0,381,2494,1,0,0,0,383,2505,1,0,0,0,385,2513,1,0,0,0,387,2521,1,0,0,0,389,2530,1,0,0,0,391,2537,1,0,0,0,393,2544,1,0,0,0,395,2549,1,0,0,0,397,2554,1,0,0,0,399,2561,1,0,0,0,401,2570,1,0,0,0,403,2580,1,0,0,0,405,2585,1,0,0,0,407,2592,1,0,0,0,409,2598,1,0,0,0,411,2606,1,0,0,0,413,2616,1,0,0,0,415,2626,1,0,0,0,417,2634,1,0,0,0,419,2642,1,0,0,0,421,2652,1,0,0,0,423,2661,1,0,0,0,425,2668,1,0,0,0,427,2674,1,0,0,0,429,2684,1,0,0,0,431,2690,1,0,0,0,433,2698,1,0,0,0,435,2707,1,0,0,0,437,2717,1,0,0,0,439,2724,1,0,0,0,441,2732,1,0,0,0,443,2740,1,0,0,0,445,2747,1,0,0,0,447,2752,1,0,0,0,449,2757,1,0,0,0,451,2766,1,0,0,0,453,2769,1,0,0,0,455,2779,1,0,0,0,457,2789,1,0,0,0,459,2798,1,0,0,0,461,2808,1,0,0,0,463,2818,1,0,0,0,465,2824,1,0,0,0,467,2832,1,0,0,0,469,2840,1,0,0,0,471,2850,1,0,0,0,473,2860,1,0,0,0,475,2872,1,0,0,0,477,2881,1,0,0,0,479,2892,1,0,0,0,481,2903,1,0,0,0,483,2916,1,0,0,0,485,2927,1,0,0,0,487,2940,1,0,0,0,489,2949,1,0,0,0,491,2956,1,0,0,0,493,2968,1,0,0,0,495,2975,1,0,0,0,497,2983,1,0,0,0,499,2991,1,0,0,0,501,3001,1,0,0,0,503,3005,1,0,0,0,505,3011,1,0,0,0,507,3020,1,0,0,0,509,3026,1,0,0,0,511,3031,1,0,0,0,513,3041,1,0,0,0,515,3047,1,0,0,0,517,3054,1,0,0,0,519,3059,1,0,0,0,521,3065,1,0,0,0,523,3074,1,0,0,0,525,3079,1,0,0,0,527,3087,1,0,0,0,529,3093,1,0,0,0,531,3106,1,0,0,0,533,3115,1,0,0,0,535,3122,1,0,0,0,537,3131,1,0,0,0,539,3136,1,0,0,0,541,3142,1,0,0,0,543,3147,1,0,0,0,545,3152,1,0,0,0,547,3158,1,0,0,0,549,3163,1,0,0,0,551,3166,1,0,0,0,553,3174,1,0,0,0,555,3181,1,0,0,0,557,3188,1,0,0,0,559,3194,1,0,0,0,561,3201,1,0,0,0,563,3204,1,0,0,0,565,3208,1,0,0,0,567,3213,1,0,0,0,569,3222,1,0,0,0,571,3229,1,0,0,0,573,3237,1,0,0,0,575,3243,1,0,0,0,577,3249,1,0,0,0,579,3256,1,0,0,0,581,3264,1,0,0,0,583,3274,1,0,0,0,585,3282,1,0,0,0,587,3291,1,0,0,0,589,3297,1,0,0,0,591,3307,1,0,0,0,593,3315,1,0,0,0,595,3324,1,0,0,0,597,3333,1,0,0,0,599,3339,1,0,0,0,601,3350,1,0,0,0,603,3361,1,0,0,0,605,3371,1,0,0,0,607,3379,1,0,0,0,609,3385,1,0,0,0,611,3391,1,0,0,0,613,3396,1,0,0,0,615,3405,1,0,0,0,617,3413,1,0,0,0,619,3423,1,0,0,0,621,3427,1,0,0,0,623,3435,1,0,0,0,625,3443,1,0,0,0,627,3452,1,0,0,0,629,3460,1,0,0,0,631,3467,1,0,0,0,633,3478,1,0,0,0,635,3486,1,0,0,0,637,3494,1,0,0,0,639,3500,1,0,0,0,641,3508,1,0,0,0,643,3517,1,0,0,0,645,3525,1,0,0,0,647,3532,1,0,0,0,649,3537,1,0,0,0,651,3546,1,0,0,0,653,3551,1,0,0,0,655,3556,1,0,0,0,657,3566,1,0,0,0,659,3573,1,0,0,0,661,3580,1,0,0,0,663,3587,1,0,0,0,665,3594,1,0,0,0,667,3603,1,0,0,0,669,3612,1,0,0,0,671,3622,1,0,0,0,673,3635,1,0,0,0,675,3642,1,0,0,0,677,3650,1,0,0,0,679,3654,1,0,0,0,681,3660,1,0,0,0,683,3665,1,0,0,0,685,3672,1,0,0,0,687,3681,1,0,0,0,689,3688,1,0,0,0,691,3699,1,0,0,0,693,3705,1,0,0,0,695,3715,1,0,0,0,697,3726,1,0,0,0,699,3732,1,0,0,0,701,3739,1,0,0,0,703,3747,1,0,0,0,705,3754,1,0,0,0,707,3760,1,0,0,0,709,3766,1,0,0,0,711,3773,1,0,0,0,713,3780,1,0,0,0,715,3791,1,0,0,0,717,3796,1,0,0,0,719,3805,1,0,0,0,721,3815,1,0,0,0,723,3820,1,0,0,0,725,3832,1,0,0,0,727,3840,1,0,0,0,729,3849,1,0,0,0,731,3857,1,0,0,0,733,3862,1,0,0,0,735,3868,1,0,0,0,737,3878,1,0,0,0,739,3890,1,0,0,0,741,3902,1,0,0,0,743,3910,1,0,0,0,745,3919,1,0,0,0,747,3928,1,0,0,0,749,3934,1,0,0,0,751,3941,1,0,0,0,753,3948,1,0,0,0,755,3954,1,0,0,0,757,3963,1,0,0,0,759,3973,1,0,0,0,761,3981,1,0,0,0,763,3989,1,0,0,0,765,3994,1,0,0,0,767,4003,1,0,0,0,769,4014,1,0,0,0,771,4022,1,0,0,0,773,4027,1,0,0,0,775,4035,1,0,0,0,777,4041,1,0,0,0,779,4045,1,0,0,0,781,4050,1,0,0,0,783,4054,1,0,0,0,785,4059,1,0,0,0,787,4067,1,0,0,0,789,4074,1,0,0,0,791,4078,1,0,0,0,793,4086,1,0,0,0,795,4091,1,0,0,0,797,4101,1,0,0,0,799,4110,1,0,0,0,801,4114,1,0,0,0,803,4122,1,0,0,0,805,4129,1,0,0,0,807,4137,1,0,0,0,809,4143,1,0,0,0,811,4152,1,0,0,0,813,4158,1,0,0,0,815,4162,1,0,0,0,817,4170,1,0,0,0,819,4179,1,0,0,0,821,4185,1,0,0,0,823,4194,1,0,0,0,825,4200,1,0,0,0,827,4205,1,0,0,0,829,4212,1,0,0,0,831,4220,1,0,0,0,833,4228,1,0,0,0,835,4237,1,0,0,0,837,4247,1,0,0,0,839,4252,1,0,0,0,841,4256,1,0,0,0,843,4262,1,0,0,0,845,4271,1,0,0,0,847,4281,1,0,0,0,849,4286,1,0,0,0,851,4296,1,0,0,0,853,4302,1,0,0,0,855,4307,1,0,0,0,857,4314,1,0,0,0,859,4322,1,0,0,0,861,4336,1,0,0,0,863,4346,1,0,0,0,865,4357,1,0,0,0,867,4367,1,0,0,0,869,4377,1,0,0,0,871,4386,1,0,0,0,873,4392,1,0,0,0,875,4400,1,0,0,0,877,4413,1,0,0,0,879,4418,1,0,0,0,881,4426,1,0,0,0,883,4433,1,0,0,0,885,4440,1,0,0,0,887,4451,1,0,0,0,889,4461,1,0,0,0,891,4468,1,0,0,0,893,4475,1,0,0,0,895,4483,1,0,0,0,897,4491,1,0,0,0,899,4501,1,0,0,0,901,4508,1,0,0,0,903,4515,1,0,0,0,905,4522,1,0,0,0,907,4534,1,0,0,0,909,4538,1,0,0,0,911,4542,1,0,0,0,913,4548,1,0,0,0,915,4561,1,0,0,0,917,4573,1,0,0,0,919,4577,1,0,0,0,921,4581,1,0,0,0,923,4590,1,0,0,0,925,4598,1,0,0,0,927,4609,1,0,0,0,929,4615,1,0,0,0,931,4623,1,0,0,0,933,4632,1,0,0,0,935,4636,1,0,0,0,937,4644,1,0,0,0,939,4655,1,0,0,0,941,4664,1,0,0,0,943,4669,1,0,0,0,945,4676,1,0,0,0,947,4681,1,0,0,0,949,4688,1,0,0,0,951,4693,1,0,0,0,953,4702,1,0,0,0,955,4707,1,0,0,0,957,4719,1,0,0,0,959,4730,1,0,0,0,961,4739,1,0,0,0,963,4747,1,0,0,0,965,4761,1,0,0,0,967,4769,1,0,0,0,969,4780,1,0,0,0,971,4787,1,0,0,0,973,4794,1,0,0,0,975,4801,1,0,0,0,977,4808,1,0,0,0,979,4812,1,0,0,0,981,4816,1,0,0,0,983,4821,1,0,0,0,985,4826,1,0,0,0,987,4834,1,0,0,0,989,4840,1,0,0,0,991,4850,1,0,0,0,993,4855,1,0,0,0,995,4875,1,0,0,0,997,4893,1,0,0,0,999,4899,1,0,0,0,1001,4912,1,0,0,0,1003,4923,1,0,0,0,1005,4929,1,0,0,0,1007,4938,1,0,0,0,1009,4946,1,0,0,0,1011,4950,1,0,0,0,1013,4962,1,0,0,0,1015,4970,1,0,0,0,1017,4976,1,0,0,0,1019,4982,1,0,0,0,1021,4990,1,0,0,0,1023,4998,1,0,0,0,1025,5004,1,0,0,0,1027,5009,1,0,0,0,1029,5016,1,0,0,0,1031,5022,1,0,0,0,1033,5028,1,0,0,0,1035,5037,1,0,0,0,1037,5043,1,0,0,0,1039,5047,1,0,0,0,1041,5052,1,0,0,0,1043,5059,1,0,0,0,1045,5067,1,0,0,0,1047,5077,1,0,0,0,1049,5084,1,0,0,0,1051,5089,1,0,0,0,1053,5094,1,0,0,0,1055,5105,1,0,0,0,1057,5111,1,0,0,0,1059,5119,1,0,0,0,1061,5126,1,0,0,0,1063,5132,1,0,0,0,1065,5140,1,0,0,0,1067,5148,1,0,0,0,1069,5154,1,0,0,0,1071,5161,1,0,0,0,1073,5172,1,0,0,0,1075,5177,1,0,0,0,1077,5186,1,0,0,0,1079,5194,1,0,0,0,1081,5204,1,0,0,0,1083,5210,1,0,0,0,1085,5218,1,0,0,0,1087,5230,1,0,0,0,1089,5244,1,0,0,0,1091,5254,1,0,0,0,1093,5266,1,0,0,0,1095,5277,1,0,0,0,1097,5289,1,0,0,0,1099,5301,1,0,0,0,1101,5307,1,0,0,0,1103,5316,1,0,0,0,1105,5321,1,0,0,0,1107,5333,1,0,0,0,1109,5352,1,0,0,0,1111,5362,1,0,0,0,1113,5366,1,0,0,0,1115,5370,1,0,0,0,1117,5372,1,0,0,0,1119,5375,1,0,0,0,1121,5384,1,0,0,0,1123,5387,1,0,0,0,1125,5396,1,0,0,0,1127,5400,1,0,0,0,1129,5404,1,0,0,0,1131,5408,1,0,0,0,1133,5412,1,0,0,0,1135,5415,1,0,0,0,1137,5424,1,0,0,0,1139,5430,1,0,0,0,1141,5433,1,0,0,0,1143,5437,1,0,0,0,1145,5445,1,0,0,0,1147,5452,1,0,0,0,1149,5455,1,0,0,0,1151,5463,1,0,0,0,1153,5466,1,0,0,0,1155,5469,1,0,0,0,1157,5472,1,0,0,0,1159,5480,1,0,0,0,1161,5483,1,0,0,0,1163,5486,1,0,0,0,1165,5488,1,0,0,0,1167,5520,1,0,0,0,1169,5523,1,0,0,0,1171,5527,1,0,0,0,1173,5535,1,0,0,0,1175,5551,1,0,0,0,1177,5562,1,0,0,0,1179,5566,1,0,0,0,1181,5577,1,0,0,0,1183,5616,1,0,0,0,1185,5665,1,0,0,0,1187,5689,1,0,0,0,1189,5692,1,0,0,0,1191,5694,1,0,0,0,1193,5699,1,0,0,0,1195,5730,1,0,0,0,1197,5733,1,0,0,0,1199,5738,1,0,0,0,1201,5751,1,0,0,0,1203,5754,1,0,0,0,1205,5759,1,0,0,0,1207,5765,1,0,0,0,1209,5770,1,0,0,0,1211,5775,1,0,0,0,1213,5792,1,0,0,0,1215,5794,1,0,0,0,1217,1218,5,36,0,0,1218,6,1,0,0,0,1219,1220,5,40,0,0,1220,8,1,0,0,0,1221,1222,5,41,0,0,1222,10,1,0,0,0,1223,1224,5,91,0,0,1224,12,1,0,0,0,1225,1226,5,93,0,0,1226,14,1,0,0,0,1227,1228,5,44,0,0,1228,16,1,0,0,0,1229,1230,5,59,0,0,1230,18,1,0,0,0,1231,1232,5,58,0,0,1232,20,1,0,0,0,1233,1234,5,42,0,0,1234,22,1,0,0,0,1235,1236,5,61,0,0,1236,24,1,0,0,0,1237,1238,5,46,0,0,1238,26,1,0,0,0,1239,1240,5,43,0,0,1240,28,1,0,0,0,1241,1242,5,45,0,0,1242,30,1,0,0,0,1243,1244,5,47,0,0,1244,32,1,0,0,0,1245,1246,5,94,0,0,1246,34,1,0,0,0,1247,1248,5,60,0,0,1248,36,1,0,0,0,1249,1250,5,62,0,0,1250,38,1,0,0,0,1251,1252,5,60,0,0,1252,1253,5,60,0,0,1253,40,1,0,0,0,1254,1255,5,62,0,0,1255,1256,5,62,0,0,1256,42,1,0,0,0,1257,1258,5,58,0,0,1258,1259,5,61,0,0,1259,44,1,0,0,0,1260,1261,5,60,0,0,1261,1262,5,61,0,0,1262,46,1,0,0,0,1263,1264,5,61,0,0,1264,1265,5,62,0,0,1265,48,1,0,0,0,1266,1267,5,62,0,0,1267,1268,5,61,0,0,1268,50,1,0,0,0,1269,1270,5,46,0,0,1270,1271,5,46,0,0,1271,52,1,0,0,0,1272,1273,5,60,0,0,1273,1274,5,62,0,0,1274,54,1,0,0,0,1275,1276,5,58,0,0,1276,1277,5,58,0,0,1277,56,1,0,0,0,1278,1279,5,37,0,0,1279,58,1,0,0,0,1280,1282,5,36,0,0,1281,1283,7,0,0,0,1282,1281,1,0,0,0,1283,1284,1,0,0,0,1284,1282,1,0,0,0,1284,1285,1,0,0,0,1285,60,1,0,0,0,1286,1300,3,65,30,0,1287,1289,7,1,0,0,1288,1287,1,0,0,0,1289,1290,1,0,0,0,1290,1288,1,0,0,0,1290,1291,1,0,0,0,1291,1296,1,0,0,0,1292,1297,3,65,30,0,1293,1295,5,47,0,0,1294,1293,1,0,0,0,1294,1295,1,0,0,0,1295,1297,1,0,0,0,1296,1292,1,0,0,0,1296,1294,1,0,0,0,1297,1300,1,0,0,0,1298,1300,5,47,0,0,1299,1286,1,0,0,0,1299,1288,1,0,0,0,1299,1298,1,0,0,0,1300,1301,1,0,0,0,1301,1299,1,0,0,0,1301,1302,1,0,0,0,1302,1305,1,0,0,0,1303,1305,7,1,0,0,1304,1299,1,0,0,0,1304,1303,1,0,0,0,1305,62,1,0,0,0,1306,1309,3,67,31,0,1307,1309,7,2,0,0,1308,1306,1,0,0,0,1308,1307,1,0,0,0,1309,1312,1,0,0,0,1310,1308,1,0,0,0,1310,1311,1,0,0,0,1311,1313,1,0,0,0,1312,1310,1,0,0,0,1313,1315,3,69,32,0,1314,1316,3,61,28,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1318,1,0,0,0,1317,1319,7,1,0,0,1318,1317,1,0,0,0,1319,1320,1,0,0,0,1320,1318,1,0,0,0,1320,1321,1,0,0,0,1321,1322,1,0,0,0,1322,1323,6,29,0,0,1323,64,1,0,0,0,1324,1325,7,3,0,0,1325,66,1,0,0,0,1326,1327,7,4,0,0,1327,68,1,0,0,0,1328,1329,7,5,0,0,1329,70,1,0,0,0,1330,1331,7,6,0,0,1331,1332,7,7,0,0,1332,1333,7,7,0,0,1333,72,1,0,0,0,1334,1335,7,6,0,0,1335,1336,7,8,0,0,1336,1337,7,6,0,0,1337,1338,7,7,0,0,1338,1339,7,9,0,0,1339,1340,7,10,0,0,1340,1341,7,11,0,0,1341,74,1,0,0,0,1342,1343,7,6,0,0,1343,1344,7,8,0,0,1344,1345,7,6,0,0,1345,1346,7,7,0,0,1346,1347,7,9,0,0,1347,1348,7,12,0,0,1348,1349,7,11,0,0,1349,76,1,0,0,0,1350,1351,7,6,0,0,1351,1352,7,8,0,0,1352,1353,7,13,0,0,1353,78,1,0,0,0,1354,1355,7,6,0,0,1355,1356,7,8,0,0,1356,1357,7,9,0,0,1357,80,1,0,0,0,1358,1359,7,6,0,0,1359,1360,7,14,0,0,1360,1361,7,14,0,0,1361,1362,7,6,0,0,1362,1363,7,9,0,0,1363,82,1,0,0,0,1364,1365,7,6,0,0,1365,1366,7,10,0,0,1366,84,1,0,0,0,1367,1368,7,6,0,0,1368,1369,7,10,0,0,1369,1370,7,15,0,0,1370,86,1,0,0,0,1371,1372,7,6,0,0,1372,1373,7,10,0,0,1373,1374,7,9,0,0,1374,1375,7,16,0,0,1375,1376,7,16,0,0,1376,1377,7,11,0,0,1377,1378,7,17,0,0,1378,1379,7,14,0,0,1379,1380,7,18,0,0,1380,1381,7,15,0,0,1381,88,1,0,0,0,1382,1383,7,19,0,0,1383,1384,7,20,0,0,1384,1385,7,17,0,0,1385,1386,7,21,0,0,1386,90,1,0,0,0,1387,1388,7,15,0,0,1388,1389,7,6,0,0,1389,1390,7,10,0,0,1390,1391,7,11,0,0,1391,92,1,0,0,0,1392,1393,7,15,0,0,1393,1394,7,6,0,0,1394,1395,7,10,0,0,1395,1396,7,17,0,0,1396,94,1,0,0,0,1397,1398,7,15,0,0,1398,1399,7,21,0,0,1399,1400,7,11,0,0,1400,1401,7,15,0,0,1401,1402,7,22,0,0,1402,96,1,0,0,0,1403,1404,7,15,0,0,1404,1405,7,20,0,0,1405,1406,7,7,0,0,1406,1407,7,7,0,0,1407,1408,7,6,0,0,1408,1409,7,17,0,0,1409,1410,7,11,0,0,1410,98,1,0,0,0,1411,1412,7,15,0,0,1412,1413,7,20,0,0,1413,1414,7,7,0,0,1414,1415,7,23,0,0,1415,1416,7,16,0,0,1416,1417,7,8,0,0,1417,100,1,0,0,0,1418,1419,7,15,0,0,1419,1420,7,20,0,0,1420,1421,7,8,0,0,1421,1422,7,10,0,0,1422,1423,7,17,0,0,1423,1424,7,14,0,0,1424,1425,7,6,0,0,1425,1426,7,18,0,0,1426,1427,7,8,0,0,1427,1428,7,17,0,0,1428,102,1,0,0,0,1429,1430,7,15,0,0,1430,1431,7,14,0,0,1431,1432,7,11,0,0,1432,1433,7,6,0,0,1433,1434,7,17,0,0,1434,1435,7,11,0,0,1435,104,1,0,0,0,1436,1437,7,15,0,0,1437,1438,7,23,0,0,1438,1439,7,14,0,0,1439,1440,7,14,0,0,1440,1441,7,11,0,0,1441,1442,7,8,0,0,1442,1443,7,17,0,0,1443,1444,5,95,0,0,1444,1445,7,15,0,0,1445,1446,7,6,0,0,1446,1447,7,17,0,0,1447,1448,7,6,0,0,1448,1449,7,7,0,0,1449,1450,7,20,0,0,1450,1451,7,24,0,0,1451,106,1,0,0,0,1452,1453,7,15,0,0,1453,1454,7,23,0,0,1454,1455,7,14,0,0,1455,1456,7,14,0,0,1456,1457,7,11,0,0,1457,1458,7,8,0,0,1458,1459,7,17,0,0,1459,1460,5,95,0,0,1460,1461,7,13,0,0,1461,1462,7,6,0,0,1462,1463,7,17,0,0,1463,1464,7,11,0,0,1464,108,1,0,0,0,1465,1466,7,15,0,0,1466,1467,7,23,0,0,1467,1468,7,14,0,0,1468,1469,7,14,0,0,1469,1470,7,11,0,0,1470,1471,7,8,0,0,1471,1472,7,17,0,0,1472,1473,5,95,0,0,1473,1474,7,14,0,0,1474,1475,7,20,0,0,1475,1476,7,7,0,0,1476,1477,7,11,0,0,1477,110,1,0,0,0,1478,1479,7,15,0,0,1479,1480,7,23,0,0,1480,1481,7,14,0,0,1481,1482,7,14,0,0,1482,1483,7,11,0,0,1483,1484,7,8,0,0,1484,1485,7,17,0,0,1485,1486,5,95,0,0,1486,1487,7,17,0,0,1487,1488,7,18,0,0,1488,1489,7,16,0,0,1489,1490,7,11,0,0,1490,112,1,0,0,0,1491,1492,7,15,0,0,1492,1493,7,23,0,0,1493,1494,7,14,0,0,1494,1495,7,14,0,0,1495,1496,7,11,0,0,1496,1497,7,8,0,0,1497,1498,7,17,0,0,1498,1499,5,95,0,0,1499,1500,7,17,0,0,1500,1501,7,18,0,0,1501,1502,7,16,0,0,1502,1503,7,11,0,0,1503,1504,7,10,0,0,1504,1505,7,17,0,0,1505,1506,7,6,0,0,1506,1507,7,16,0,0,1507,1508,7,25,0,0,1508,114,1,0,0,0,1509,1510,7,15,0,0,1510,1511,7,23,0,0,1511,1512,7,14,0,0,1512,1513,7,14,0,0,1513,1514,7,11,0,0,1514,1515,7,8,0,0,1515,1516,7,17,0,0,1516,1517,5,95,0,0,1517,1518,7,23,0,0,1518,1519,7,10,0,0,1519,1520,7,11,0,0,1520,1521,7,14,0,0,1521,116,1,0,0,0,1522,1523,7,13,0,0,1523,1524,7,11,0,0,1524,1525,7,26,0,0,1525,1526,7,6,0,0,1526,1527,7,23,0,0,1527,1528,7,7,0,0,1528,1529,7,17,0,0,1529,118,1,0,0,0,1530,1531,7,13,0,0,1531,1532,7,11,0,0,1532,1533,7,26,0,0,1533,1534,7,11,0,0,1534,1535,7,14,0,0,1535,1536,7,14,0,0,1536,1537,7,6,0,0,1537,1538,7,19,0,0,1538,1539,7,7,0,0,1539,1540,7,11,0,0,1540,120,1,0,0,0,1541,1542,7,13,0,0,1542,1543,7,11,0,0,1543,1544,7,10,0,0,1544,1545,7,15,0,0,1545,122,1,0,0,0,1546,1547,7,13,0,0,1547,1548,7,18,0,0,1548,1549,7,10,0,0,1549,1550,7,17,0,0,1550,1551,7,18,0,0,1551,1552,7,8,0,0,1552,1553,7,15,0,0,1553,1554,7,17,0,0,1554,124,1,0,0,0,1555,1556,7,13,0,0,1556,1557,7,20,0,0,1557,126,1,0,0,0,1558,1559,7,11,0,0,1559,1560,7,7,0,0,1560,1561,7,10,0,0,1561,1562,7,11,0,0,1562,128,1,0,0,0,1563,1564,7,11,0,0,1564,1565,7,27,0,0,1565,1566,7,15,0,0,1566,1567,7,11,0,0,1567,1568,7,25,0,0,1568,1569,7,17,0,0,1569,130,1,0,0,0,1570,1571,7,26,0,0,1571,1572,7,6,0,0,1572,1573,7,7,0,0,1573,1574,7,10,0,0,1574,1575,7,11,0,0,1575,132,1,0,0,0,1576,1577,7,26,0,0,1577,1578,7,11,0,0,1578,1579,7,17,0,0,1579,1580,7,15,0,0,1580,1581,7,21,0,0,1581,134,1,0,0,0,1582,1583,7,26,0,0,1583,1584,7,20,0,0,1584,1585,7,14,0,0,1585,136,1,0,0,0,1586,1587,7,26,0,0,1587,1588,7,20,0,0,1588,1589,7,14,0,0,1589,1590,7,11,0,0,1590,1591,7,18,0,0,1591,1592,7,24,0,0,1592,1593,7,8,0,0,1593,138,1,0,0,0,1594,1595,7,26,0,0,1595,1596,7,14,0,0,1596,1597,7,20,0,0,1597,1598,7,16,0,0,1598,140,1,0,0,0,1599,1600,7,24,0,0,1600,1601,7,14,0,0,1601,1602,7,6,0,0,1602,1603,7,8,0,0,1603,1604,7,17,0,0,1604,142,1,0,0,0,1605,1606,7,24,0,0,1606,1607,7,14,0,0,1607,1608,7,20,0,0,1608,1609,7,23,0,0,1609,1610,7,25,0,0,1610,144,1,0,0,0,1611,1612,7,21,0,0,1612,1613,7,6,0,0,1613,1614,7,28,0,0,1614,1615,7,18,0,0,1615,1616,7,8,0,0,1616,1617,7,24,0,0,1617,146,1,0,0,0,1618,1619,7,18,0,0,1619,1620,7,8,0,0,1620,148,1,0,0,0,1621,1622,7,18,0,0,1622,1623,7,8,0,0,1623,1624,7,18,0,0,1624,1625,7,17,0,0,1625,1626,7,18,0,0,1626,1627,7,6,0,0,1627,1628,7,7,0,0,1628,1629,7,7,0,0,1629,1630,7,9,0,0,1630,150,1,0,0,0,1631,1632,7,18,0,0,1632,1633,7,8,0,0,1633,1634,7,17,0,0,1634,1635,7,11,0,0,1635,1636,7,14,0,0,1636,1637,7,10,0,0,1637,1638,7,11,0,0,1638,1639,7,15,0,0,1639,1640,7,17,0,0,1640,152,1,0,0,0,1641,1642,7,18,0,0,1642,1643,7,8,0,0,1643,1644,7,17,0,0,1644,1645,7,20,0,0,1645,154,1,0,0,0,1646,1647,7,7,0,0,1647,1648,7,6,0,0,1648,1649,7,17,0,0,1649,1650,7,11,0,0,1650,1651,7,14,0,0,1651,1652,7,6,0,0,1652,1653,7,7,0,0,1653,156,1,0,0,0,1654,1655,7,7,0,0,1655,1656,7,11,0,0,1656,1657,7,6,0,0,1657,1658,7,13,0,0,1658,1659,7,18,0,0,1659,1660,7,8,0,0,1660,1661,7,24,0,0,1661,158,1,0,0,0,1662,1663,7,7,0,0,1663,1664,7,18,0,0,1664,1665,7,16,0,0,1665,1666,7,18,0,0,1666,1667,7,17,0,0,1667,160,1,0,0,0,1668,1669,7,7,0,0,1669,1670,7,20,0,0,1670,1671,7,15,0,0,1671,1672,7,6,0,0,1672,1673,7,7,0,0,1673,1674,7,17,0,0,1674,1675,7,18,0,0,1675,1676,7,16,0,0,1676,1677,7,11,0,0,1677,162,1,0,0,0,1678,1679,7,7,0,0,1679,1680,7,20,0,0,1680,1681,7,15,0,0,1681,1682,7,6,0,0,1682,1683,7,7,0,0,1683,1684,7,17,0,0,1684,1685,7,18,0,0,1685,1686,7,16,0,0,1686,1687,7,11,0,0,1687,1688,7,10,0,0,1688,1689,7,17,0,0,1689,1690,7,6,0,0,1690,1691,7,16,0,0,1691,1692,7,25,0,0,1692,164,1,0,0,0,1693,1694,7,8,0,0,1694,1695,7,20,0,0,1695,1696,7,17,0,0,1696,166,1,0,0,0,1697,1698,7,8,0,0,1698,1699,7,23,0,0,1699,1700,7,7,0,0,1700,1701,7,7,0,0,1701,168,1,0,0,0,1702,1703,7,20,0,0,1703,1704,7,26,0,0,1704,1705,7,26,0,0,1705,1706,7,10,0,0,1706,1707,7,11,0,0,1707,1708,7,17,0,0,1708,170,1,0,0,0,1709,1710,7,20,0,0,1710,1711,7,8,0,0,1711,172,1,0,0,0,1712,1713,7,20,0,0,1713,1714,7,8,0,0,1714,1715,7,7,0,0,1715,1716,7,9,0,0,1716,174,1,0,0,0,1717,1718,7,20,0,0,1718,1719,7,14,0,0,1719,176,1,0,0,0,1720,1721,7,20,0,0,1721,1722,7,14,0,0,1722,1723,7,13,0,0,1723,1724,7,11,0,0,1724,1725,7,14,0,0,1725,178,1,0,0,0,1726,1727,7,25,0,0,1727,1728,7,7,0,0,1728,1729,7,6,0,0,1729,1730,7,15,0,0,1730,1731,7,18,0,0,1731,1732,7,8,0,0,1732,1733,7,24,0,0,1733,180,1,0,0,0,1734,1735,7,25,0,0,1735,1736,7,14,0,0,1736,1737,7,18,0,0,1737,1738,7,16,0,0,1738,1739,7,6,0,0,1739,1740,7,14,0,0,1740,1741,7,9,0,0,1741,182,1,0,0,0,1742,1743,7,14,0,0,1743,1744,7,11,0,0,1744,1745,7,26,0,0,1745,1746,7,11,0,0,1746,1747,7,14,0,0,1747,1748,7,11,0,0,1748,1749,7,8,0,0,1749,1750,7,15,0,0,1750,1751,7,11,0,0,1751,1752,7,10,0,0,1752,184,1,0,0,0,1753,1754,7,14,0,0,1754,1755,7,11,0,0,1755,1756,7,17,0,0,1756,1757,7,23,0,0,1757,1758,7,14,0,0,1758,1759,7,8,0,0,1759,1760,7,18,0,0,1760,1761,7,8,0,0,1761,1762,7,24,0,0,1762,186,1,0,0,0,1763,1764,7,10,0,0,1764,1765,7,11,0,0,1765,1766,7,7,0,0,1766,1767,7,11,0,0,1767,1768,7,15,0,0,1768,1769,7,17,0,0,1769,188,1,0,0,0,1770,1771,7,10,0,0,1771,1772,7,11,0,0,1772,1773,7,10,0,0,1773,1774,7,10,0,0,1774,1775,7,18,0,0,1775,1776,7,20,0,0,1776,1777,7,8,0,0,1777,1778,5,95,0,0,1778,1779,7,23,0,0,1779,1780,7,10,0,0,1780,1781,7,11,0,0,1781,1782,7,14,0,0,1782,190,1,0,0,0,1783,1784,7,10,0,0,1784,1785,7,20,0,0,1785,1786,7,16,0,0,1786,1787,7,11,0,0,1787,192,1,0,0,0,1788,1789,7,10,0,0,1789,1790,7,9,0,0,1790,1791,7,16,0,0,1791,1792,7,16,0,0,1792,1793,7,11,0,0,1793,1794,7,17,0,0,1794,1795,7,14,0,0,1795,1796,7,18,0,0,1796,1797,7,15,0,0,1797,194,1,0,0,0,1798,1799,7,17,0,0,1799,1800,7,6,0,0,1800,1801,7,19,0,0,1801,1802,7,7,0,0,1802,1803,7,11,0,0,1803,196,1,0,0,0,1804,1805,7,17,0,0,1805,1806,7,21,0,0,1806,1807,7,11,0,0,1807,1808,7,8,0,0,1808,198,1,0,0,0,1809,1810,7,17,0,0,1810,1811,7,20,0,0,1811,200,1,0,0,0,1812,1813,7,17,0,0,1813,1814,7,14,0,0,1814,1815,7,6,0,0,1815,1816,7,18,0,0,1816,1817,7,7,0,0,1817,1818,7,18,0,0,1818,1819,7,8,0,0,1819,1820,7,24,0,0,1820,202,1,0,0,0,1821,1822,7,17,0,0,1822,1823,7,14,0,0,1823,1824,7,23,0,0,1824,1825,7,11,0,0,1825,204,1,0,0,0,1826,1827,7,23,0,0,1827,1828,7,8,0,0,1828,1829,7,18,0,0,1829,1830,7,20,0,0,1830,1831,7,8,0,0,1831,206,1,0,0,0,1832,1833,7,23,0,0,1833,1834,7,8,0,0,1834,1835,7,18,0,0,1835,1836,7,29,0,0,1836,1837,7,23,0,0,1837,1838,7,11,0,0,1838,208,1,0,0,0,1839,1840,7,23,0,0,1840,1841,7,10,0,0,1841,1842,7,11,0,0,1842,1843,7,14,0,0,1843,210,1,0,0,0,1844,1845,7,23,0,0,1845,1846,7,10,0,0,1846,1847,7,18,0,0,1847,1848,7,8,0,0,1848,1849,7,24,0,0,1849,212,1,0,0,0,1850,1851,7,28,0,0,1851,1852,7,6,0,0,1852,1853,7,14,0,0,1853,1854,7,18,0,0,1854,1855,7,6,0,0,1855,1856,7,13,0,0,1856,1857,7,18,0,0,1857,1858,7,15,0,0,1858,214,1,0,0,0,1859,1860,7,30,0,0,1860,1861,7,21,0,0,1861,1862,7,11,0,0,1862,1863,7,8,0,0,1863,216,1,0,0,0,1864,1865,7,30,0,0,1865,1866,7,21,0,0,1866,1867,7,11,0,0,1867,1868,7,14,0,0,1868,1869,7,11,0,0,1869,218,1,0,0,0,1870,1871,7,30,0,0,1871,1872,7,18,0,0,1872,1873,7,8,0,0,1873,1874,7,13,0,0,1874,1875,7,20,0,0,1875,1876,7,30,0,0,1876,220,1,0,0,0,1877,1878,7,30,0,0,1878,1879,7,18,0,0,1879,1880,7,17,0,0,1880,1881,7,21,0,0,1881,222,1,0,0,0,1882,1883,7,6,0,0,1883,1884,7,23,0,0,1884,1885,7,17,0,0,1885,1886,7,21,0,0,1886,1887,7,20,0,0,1887,1888,7,14,0,0,1888,1889,7,18,0,0,1889,1890,7,12,0,0,1890,1891,7,6,0,0,1891,1892,7,17,0,0,1892,1893,7,18,0,0,1893,1894,7,20,0,0,1894,1895,7,8,0,0,1895,224,1,0,0,0,1896,1897,7,19,0,0,1897,1898,7,18,0,0,1898,1899,7,8,0,0,1899,1900,7,6,0,0,1900,1901,7,14,0,0,1901,1902,7,9,0,0,1902,226,1,0,0,0,1903,1904,7,15,0,0,1904,1905,7,20,0,0,1905,1906,7,7,0,0,1906,1907,7,7,0,0,1907,1908,7,6,0,0,1908,1909,7,17,0,0,1909,1910,7,18,0,0,1910,1911,7,20,0,0,1911,1912,7,8,0,0,1912,228,1,0,0,0,1913,1914,7,15,0,0,1914,1915,7,20,0,0,1915,1916,7,8,0,0,1916,1917,7,15,0,0,1917,1918,7,23,0,0,1918,1919,7,14,0,0,1919,1920,7,14,0,0,1920,1921,7,11,0,0,1921,1922,7,8,0,0,1922,1923,7,17,0,0,1923,1924,7,7,0,0,1924,1925,7,9,0,0,1925,230,1,0,0,0,1926,1927,7,15,0,0,1927,1928,7,14,0,0,1928,1929,7,20,0,0,1929,1930,7,10,0,0,1930,1931,7,10,0,0,1931,232,1,0,0,0,1932,1933,7,15,0,0,1933,1934,7,23,0,0,1934,1935,7,14,0,0,1935,1936,7,14,0,0,1936,1937,7,11,0,0,1937,1938,7,8,0,0,1938,1939,7,17,0,0,1939,1940,5,95,0,0,1940,1941,7,10,0,0,1941,1942,7,15,0,0,1942,1943,7,21,0,0,1943,1944,7,11,0,0,1944,1945,7,16,0,0,1945,1946,7,6,0,0,1946,234,1,0,0,0,1947,1948,7,26,0,0,1948,1949,7,14,0,0,1949,1950,7,11,0,0,1950,1951,7,11,0,0,1951,1952,7,12,0,0,1952,1953,7,11,0,0,1953,236,1,0,0,0,1954,1955,7,26,0,0,1955,1956,7,23,0,0,1956,1957,7,7,0,0,1957,1958,7,7,0,0,1958,238,1,0,0,0,1959,1960,7,18,0,0,1960,1961,7,7,0,0,1961,1962,7,18,0,0,1962,1963,7,22,0,0,1963,1964,7,11,0,0,1964,240,1,0,0,0,1965,1966,7,18,0,0,1966,1967,7,8,0,0,1967,1968,7,8,0,0,1968,1969,7,11,0,0,1969,1970,7,14,0,0,1970,242,1,0,0,0,1971,1972,7,18,0,0,1972,1973,7,10,0,0,1973,244,1,0,0,0,1974,1975,7,18,0,0,1975,1976,7,10,0,0,1976,1977,7,8,0,0,1977,1978,7,23,0,0,1978,1979,7,7,0,0,1979,1980,7,7,0,0,1980,246,1,0,0,0,1981,1982,7,31,0,0,1982,1983,7,20,0,0,1983,1984,7,18,0,0,1984,1985,7,8,0,0,1985,248,1,0,0,0,1986,1987,7,7,0,0,1987,1988,7,11,0,0,1988,1989,7,26,0,0,1989,1990,7,17,0,0,1990,250,1,0,0,0,1991,1992,7,7,0,0,1992,1993,7,18,0,0,1993,1994,7,22,0,0,1994,1995,7,11,0,0,1995,252,1,0,0,0,1996,1997,7,8,0,0,1997,1998,7,6,0,0,1998,1999,7,17,0,0,1999,2e3,7,23,0,0,2e3,2001,7,14,0,0,2001,2002,7,6,0,0,2002,2003,7,7,0,0,2003,254,1,0,0,0,2004,2005,7,8,0,0,2005,2006,7,20,0,0,2006,2007,7,17,0,0,2007,2008,7,8,0,0,2008,2009,7,23,0,0,2009,2010,7,7,0,0,2010,2011,7,7,0,0,2011,256,1,0,0,0,2012,2013,7,20,0,0,2013,2014,7,23,0,0,2014,2015,7,17,0,0,2015,2016,7,11,0,0,2016,2017,7,14,0,0,2017,258,1,0,0,0,2018,2019,7,20,0,0,2019,2020,7,28,0,0,2020,2021,7,11,0,0,2021,2022,7,14,0,0,2022,260,1,0,0,0,2023,2024,7,20,0,0,2024,2025,7,28,0,0,2025,2026,7,11,0,0,2026,2027,7,14,0,0,2027,2028,7,7,0,0,2028,2029,7,6,0,0,2029,2030,7,25,0,0,2030,2031,7,10,0,0,2031,262,1,0,0,0,2032,2033,7,14,0,0,2033,2034,7,18,0,0,2034,2035,7,24,0,0,2035,2036,7,21,0,0,2036,2037,7,17,0,0,2037,264,1,0,0,0,2038,2039,7,10,0,0,2039,2040,7,18,0,0,2040,2041,7,16,0,0,2041,2042,7,18,0,0,2042,2043,7,7,0,0,2043,2044,7,6,0,0,2044,2045,7,14,0,0,2045,266,1,0,0,0,2046,2047,7,28,0,0,2047,2048,7,11,0,0,2048,2049,7,14,0,0,2049,2050,7,19,0,0,2050,2051,7,20,0,0,2051,2052,7,10,0,0,2052,2053,7,11,0,0,2053,268,1,0,0,0,2054,2055,7,6,0,0,2055,2056,7,19,0,0,2056,2057,7,20,0,0,2057,2058,7,14,0,0,2058,2059,7,17,0,0,2059,270,1,0,0,0,2060,2061,7,6,0,0,2061,2062,7,19,0,0,2062,2063,7,10,0,0,2063,2064,7,20,0,0,2064,2065,7,7,0,0,2065,2066,7,23,0,0,2066,2067,7,17,0,0,2067,2068,7,11,0,0,2068,272,1,0,0,0,2069,2070,7,6,0,0,2070,2071,7,15,0,0,2071,2072,7,15,0,0,2072,2073,7,11,0,0,2073,2074,7,10,0,0,2074,2075,7,10,0,0,2075,274,1,0,0,0,2076,2077,7,6,0,0,2077,2078,7,15,0,0,2078,2079,7,17,0,0,2079,2080,7,18,0,0,2080,2081,7,20,0,0,2081,2082,7,8,0,0,2082,276,1,0,0,0,2083,2084,7,6,0,0,2084,2085,7,13,0,0,2085,2086,7,13,0,0,2086,278,1,0,0,0,2087,2088,7,6,0,0,2088,2089,7,13,0,0,2089,2090,7,16,0,0,2090,2091,7,18,0,0,2091,2092,7,8,0,0,2092,280,1,0,0,0,2093,2094,7,6,0,0,2094,2095,7,26,0,0,2095,2096,7,17,0,0,2096,2097,7,11,0,0,2097,2098,7,14,0,0,2098,282,1,0,0,0,2099,2100,7,6,0,0,2100,2101,7,24,0,0,2101,2102,7,24,0,0,2102,2103,7,14,0,0,2103,2104,7,11,0,0,2104,2105,7,24,0,0,2105,2106,7,6,0,0,2106,2107,7,17,0,0,2107,2108,7,11,0,0,2108,284,1,0,0,0,2109,2110,7,6,0,0,2110,2111,7,7,0,0,2111,2112,7,10,0,0,2112,2113,7,20,0,0,2113,286,1,0,0,0,2114,2115,7,6,0,0,2115,2116,7,7,0,0,2116,2117,7,17,0,0,2117,2118,7,11,0,0,2118,2119,7,14,0,0,2119,288,1,0,0,0,2120,2121,7,6,0,0,2121,2122,7,7,0,0,2122,2123,7,30,0,0,2123,2124,7,6,0,0,2124,2125,7,9,0,0,2125,2126,7,10,0,0,2126,290,1,0,0,0,2127,2128,7,6,0,0,2128,2129,7,10,0,0,2129,2130,7,10,0,0,2130,2131,7,11,0,0,2131,2132,7,14,0,0,2132,2133,7,17,0,0,2133,2134,7,18,0,0,2134,2135,7,20,0,0,2135,2136,7,8,0,0,2136,292,1,0,0,0,2137,2138,7,6,0,0,2138,2139,7,10,0,0,2139,2140,7,10,0,0,2140,2141,7,18,0,0,2141,2142,7,24,0,0,2142,2143,7,8,0,0,2143,2144,7,16,0,0,2144,2145,7,11,0,0,2145,2146,7,8,0,0,2146,2147,7,17,0,0,2147,294,1,0,0,0,2148,2149,7,6,0,0,2149,2150,7,17,0,0,2150,296,1,0,0,0,2151,2152,7,6,0,0,2152,2153,7,17,0,0,2153,2154,7,17,0,0,2154,2155,7,14,0,0,2155,2156,7,18,0,0,2156,2157,7,19,0,0,2157,2158,7,23,0,0,2158,2159,7,17,0,0,2159,2160,7,11,0,0,2160,298,1,0,0,0,2161,2162,7,19,0,0,2162,2163,7,6,0,0,2163,2164,7,15,0,0,2164,2165,7,22,0,0,2165,2166,7,30,0,0,2166,2167,7,6,0,0,2167,2168,7,14,0,0,2168,2169,7,13,0,0,2169,300,1,0,0,0,2170,2171,7,19,0,0,2171,2172,7,11,0,0,2172,2173,7,26,0,0,2173,2174,7,20,0,0,2174,2175,7,14,0,0,2175,2176,7,11,0,0,2176,302,1,0,0,0,2177,2178,7,19,0,0,2178,2179,7,11,0,0,2179,2180,7,24,0,0,2180,2181,7,18,0,0,2181,2182,7,8,0,0,2182,304,1,0,0,0,2183,2184,7,19,0,0,2184,2185,7,9,0,0,2185,306,1,0,0,0,2186,2187,7,15,0,0,2187,2188,7,6,0,0,2188,2189,7,15,0,0,2189,2190,7,21,0,0,2190,2191,7,11,0,0,2191,308,1,0,0,0,2192,2193,7,15,0,0,2193,2194,7,6,0,0,2194,2195,7,7,0,0,2195,2196,7,7,0,0,2196,2197,7,11,0,0,2197,2198,7,13,0,0,2198,310,1,0,0,0,2199,2200,7,15,0,0,2200,2201,7,6,0,0,2201,2202,7,10,0,0,2202,2203,7,15,0,0,2203,2204,7,6,0,0,2204,2205,7,13,0,0,2205,2206,7,11,0,0,2206,312,1,0,0,0,2207,2208,7,15,0,0,2208,2209,7,6,0,0,2209,2210,7,10,0,0,2210,2211,7,15,0,0,2211,2212,7,6,0,0,2212,2213,7,13,0,0,2213,2214,7,11,0,0,2214,2215,7,13,0,0,2215,314,1,0,0,0,2216,2217,7,15,0,0,2217,2218,7,6,0,0,2218,2219,7,17,0,0,2219,2220,7,6,0,0,2220,2221,7,7,0,0,2221,2222,7,20,0,0,2222,2223,7,24,0,0,2223,316,1,0,0,0,2224,2225,7,15,0,0,2225,2226,7,21,0,0,2226,2227,7,6,0,0,2227,2228,7,18,0,0,2228,2229,7,8,0,0,2229,318,1,0,0,0,2230,2231,7,15,0,0,2231,2232,7,21,0,0,2232,2233,7,6,0,0,2233,2234,7,14,0,0,2234,2235,7,6,0,0,2235,2236,7,15,0,0,2236,2237,7,17,0,0,2237,2238,7,11,0,0,2238,2239,7,14,0,0,2239,2240,7,18,0,0,2240,2241,7,10,0,0,2241,2242,7,17,0,0,2242,2243,7,18,0,0,2243,2244,7,15,0,0,2244,2245,7,10,0,0,2245,320,1,0,0,0,2246,2247,7,15,0,0,2247,2248,7,21,0,0,2248,2249,7,11,0,0,2249,2250,7,15,0,0,2250,2251,7,22,0,0,2251,2252,7,25,0,0,2252,2253,7,20,0,0,2253,2254,7,18,0,0,2254,2255,7,8,0,0,2255,2256,7,17,0,0,2256,322,1,0,0,0,2257,2258,7,15,0,0,2258,2259,7,7,0,0,2259,2260,7,6,0,0,2260,2261,7,10,0,0,2261,2262,7,10,0,0,2262,324,1,0,0,0,2263,2264,7,15,0,0,2264,2265,7,7,0,0,2265,2266,7,20,0,0,2266,2267,7,10,0,0,2267,2268,7,11,0,0,2268,326,1,0,0,0,2269,2270,7,15,0,0,2270,2271,7,7,0,0,2271,2272,7,23,0,0,2272,2273,7,10,0,0,2273,2274,7,17,0,0,2274,2275,7,11,0,0,2275,2276,7,14,0,0,2276,328,1,0,0,0,2277,2278,7,15,0,0,2278,2279,7,20,0,0,2279,2280,7,16,0,0,2280,2281,7,16,0,0,2281,2282,7,11,0,0,2282,2283,7,8,0,0,2283,2284,7,17,0,0,2284,330,1,0,0,0,2285,2286,7,15,0,0,2286,2287,7,20,0,0,2287,2288,7,16,0,0,2288,2289,7,16,0,0,2289,2290,7,11,0,0,2290,2291,7,8,0,0,2291,2292,7,17,0,0,2292,2293,7,10,0,0,2293,332,1,0,0,0,2294,2295,7,15,0,0,2295,2296,7,20,0,0,2296,2297,7,16,0,0,2297,2298,7,16,0,0,2298,2299,7,18,0,0,2299,2300,7,17,0,0,2300,334,1,0,0,0,2301,2302,7,15,0,0,2302,2303,7,20,0,0,2303,2304,7,16,0,0,2304,2305,7,16,0,0,2305,2306,7,18,0,0,2306,2307,7,17,0,0,2307,2308,7,17,0,0,2308,2309,7,11,0,0,2309,2310,7,13,0,0,2310,336,1,0,0,0,2311,2312,7,15,0,0,2312,2313,7,20,0,0,2313,2314,7,8,0,0,2314,2315,7,26,0,0,2315,2316,7,18,0,0,2316,2317,7,24,0,0,2317,2318,7,23,0,0,2318,2319,7,14,0,0,2319,2320,7,6,0,0,2320,2321,7,17,0,0,2321,2322,7,18,0,0,2322,2323,7,20,0,0,2323,2324,7,8,0,0,2324,338,1,0,0,0,2325,2326,7,15,0,0,2326,2327,7,20,0,0,2327,2328,7,8,0,0,2328,2329,7,8,0,0,2329,2330,7,11,0,0,2330,2331,7,15,0,0,2331,2332,7,17,0,0,2332,2333,7,18,0,0,2333,2334,7,20,0,0,2334,2335,7,8,0,0,2335,340,1,0,0,0,2336,2337,7,15,0,0,2337,2338,7,20,0,0,2338,2339,7,8,0,0,2339,2340,7,10,0,0,2340,2341,7,17,0,0,2341,2342,7,14,0,0,2342,2343,7,6,0,0,2343,2344,7,18,0,0,2344,2345,7,8,0,0,2345,2346,7,17,0,0,2346,2347,7,10,0,0,2347,342,1,0,0,0,2348,2349,7,15,0,0,2349,2350,7,20,0,0,2350,2351,7,8,0,0,2351,2352,7,17,0,0,2352,2353,7,11,0,0,2353,2354,7,8,0,0,2354,2355,7,17,0,0,2355,344,1,0,0,0,2356,2357,7,15,0,0,2357,2358,7,20,0,0,2358,2359,7,8,0,0,2359,2360,7,17,0,0,2360,2361,7,18,0,0,2361,2362,7,8,0,0,2362,2363,7,23,0,0,2363,2364,7,11,0,0,2364,346,1,0,0,0,2365,2366,7,15,0,0,2366,2367,7,20,0,0,2367,2368,7,8,0,0,2368,2369,7,28,0,0,2369,2370,7,11,0,0,2370,2371,7,14,0,0,2371,2372,7,10,0,0,2372,2373,7,18,0,0,2373,2374,7,20,0,0,2374,2375,7,8,0,0,2375,348,1,0,0,0,2376,2377,7,15,0,0,2377,2378,7,20,0,0,2378,2379,7,25,0,0,2379,2380,7,9,0,0,2380,350,1,0,0,0,2381,2382,7,15,0,0,2382,2383,7,20,0,0,2383,2384,7,10,0,0,2384,2385,7,17,0,0,2385,352,1,0,0,0,2386,2387,7,15,0,0,2387,2388,7,10,0,0,2388,2389,7,28,0,0,2389,354,1,0,0,0,2390,2391,7,15,0,0,2391,2392,7,23,0,0,2392,2393,7,14,0,0,2393,2394,7,10,0,0,2394,2395,7,20,0,0,2395,2396,7,14,0,0,2396,356,1,0,0,0,2397,2398,7,15,0,0,2398,2399,7,9,0,0,2399,2400,7,15,0,0,2400,2401,7,7,0,0,2401,2402,7,11,0,0,2402,358,1,0,0,0,2403,2404,7,13,0,0,2404,2405,7,6,0,0,2405,2406,7,17,0,0,2406,2407,7,6,0,0,2407,360,1,0,0,0,2408,2409,7,13,0,0,2409,2410,7,6,0,0,2410,2411,7,17,0,0,2411,2412,7,6,0,0,2412,2413,7,19,0,0,2413,2414,7,6,0,0,2414,2415,7,10,0,0,2415,2416,7,11,0,0,2416,362,1,0,0,0,2417,2418,7,13,0,0,2418,2419,7,6,0,0,2419,2420,7,9,0,0,2420,364,1,0,0,0,2421,2422,7,13,0,0,2422,2423,7,11,0,0,2423,2424,7,6,0,0,2424,2425,7,7,0,0,2425,2426,7,7,0,0,2426,2427,7,20,0,0,2427,2428,7,15,0,0,2428,2429,7,6,0,0,2429,2430,7,17,0,0,2430,2431,7,11,0,0,2431,366,1,0,0,0,2432,2433,7,13,0,0,2433,2434,7,11,0,0,2434,2435,7,15,0,0,2435,2436,7,7,0,0,2436,2437,7,6,0,0,2437,2438,7,14,0,0,2438,2439,7,11,0,0,2439,368,1,0,0,0,2440,2441,7,13,0,0,2441,2442,7,11,0,0,2442,2443,7,26,0,0,2443,2444,7,6,0,0,2444,2445,7,23,0,0,2445,2446,7,7,0,0,2446,2447,7,17,0,0,2447,2448,7,10,0,0,2448,370,1,0,0,0,2449,2450,7,13,0,0,2450,2451,7,11,0,0,2451,2452,7,26,0,0,2452,2453,7,11,0,0,2453,2454,7,14,0,0,2454,2455,7,14,0,0,2455,2456,7,11,0,0,2456,2457,7,13,0,0,2457,372,1,0,0,0,2458,2459,7,13,0,0,2459,2460,7,11,0,0,2460,2461,7,26,0,0,2461,2462,7,18,0,0,2462,2463,7,8,0,0,2463,2464,7,11,0,0,2464,2465,7,14,0,0,2465,374,1,0,0,0,2466,2467,7,13,0,0,2467,2468,7,11,0,0,2468,2469,7,7,0,0,2469,2470,7,11,0,0,2470,2471,7,17,0,0,2471,2472,7,11,0,0,2472,376,1,0,0,0,2473,2474,7,13,0,0,2474,2475,7,11,0,0,2475,2476,7,7,0,0,2476,2477,7,18,0,0,2477,2478,7,16,0,0,2478,2479,7,18,0,0,2479,2480,7,17,0,0,2480,2481,7,11,0,0,2481,2482,7,14,0,0,2482,378,1,0,0,0,2483,2484,7,13,0,0,2484,2485,7,11,0,0,2485,2486,7,7,0,0,2486,2487,7,18,0,0,2487,2488,7,16,0,0,2488,2489,7,18,0,0,2489,2490,7,17,0,0,2490,2491,7,11,0,0,2491,2492,7,14,0,0,2492,2493,7,10,0,0,2493,380,1,0,0,0,2494,2495,7,13,0,0,2495,2496,7,18,0,0,2496,2497,7,15,0,0,2497,2498,7,17,0,0,2498,2499,7,18,0,0,2499,2500,7,20,0,0,2500,2501,7,8,0,0,2501,2502,7,6,0,0,2502,2503,7,14,0,0,2503,2504,7,9,0,0,2504,382,1,0,0,0,2505,2506,7,13,0,0,2506,2507,7,18,0,0,2507,2508,7,10,0,0,2508,2509,7,6,0,0,2509,2510,7,19,0,0,2510,2511,7,7,0,0,2511,2512,7,11,0,0,2512,384,1,0,0,0,2513,2514,7,13,0,0,2514,2515,7,18,0,0,2515,2516,7,10,0,0,2516,2517,7,15,0,0,2517,2518,7,6,0,0,2518,2519,7,14,0,0,2519,2520,7,13,0,0,2520,386,1,0,0,0,2521,2522,7,13,0,0,2522,2523,7,20,0,0,2523,2524,7,15,0,0,2524,2525,7,23,0,0,2525,2526,7,16,0,0,2526,2527,7,11,0,0,2527,2528,7,8,0,0,2528,2529,7,17,0,0,2529,388,1,0,0,0,2530,2531,7,13,0,0,2531,2532,7,20,0,0,2532,2533,7,16,0,0,2533,2534,7,6,0,0,2534,2535,7,18,0,0,2535,2536,7,8,0,0,2536,390,1,0,0,0,2537,2538,7,13,0,0,2538,2539,7,20,0,0,2539,2540,7,23,0,0,2540,2541,7,19,0,0,2541,2542,7,7,0,0,2542,2543,7,11,0,0,2543,392,1,0,0,0,2544,2545,7,13,0,0,2545,2546,7,14,0,0,2546,2547,7,20,0,0,2547,2548,7,25,0,0,2548,394,1,0,0,0,2549,2550,7,11,0,0,2550,2551,7,6,0,0,2551,2552,7,15,0,0,2552,2553,7,21,0,0,2553,396,1,0,0,0,2554,2555,7,11,0,0,2555,2556,7,8,0,0,2556,2557,7,6,0,0,2557,2558,7,19,0,0,2558,2559,7,7,0,0,2559,2560,7,11,0,0,2560,398,1,0,0,0,2561,2562,7,11,0,0,2562,2563,7,8,0,0,2563,2564,7,15,0,0,2564,2565,7,20,0,0,2565,2566,7,13,0,0,2566,2567,7,18,0,0,2567,2568,7,8,0,0,2568,2569,7,24,0,0,2569,400,1,0,0,0,2570,2571,7,11,0,0,2571,2572,7,8,0,0,2572,2573,7,15,0,0,2573,2574,7,14,0,0,2574,2575,7,9,0,0,2575,2576,7,25,0,0,2576,2577,7,17,0,0,2577,2578,7,11,0,0,2578,2579,7,13,0,0,2579,402,1,0,0,0,2580,2581,7,11,0,0,2581,2582,7,8,0,0,2582,2583,7,23,0,0,2583,2584,7,16,0,0,2584,404,1,0,0,0,2585,2586,7,11,0,0,2586,2587,7,10,0,0,2587,2588,7,15,0,0,2588,2589,7,6,0,0,2589,2590,7,25,0,0,2590,2591,7,11,0,0,2591,406,1,0,0,0,2592,2593,7,11,0,0,2593,2594,7,28,0,0,2594,2595,7,11,0,0,2595,2596,7,8,0,0,2596,2597,7,17,0,0,2597,408,1,0,0,0,2598,2599,7,11,0,0,2599,2600,7,27,0,0,2600,2601,7,15,0,0,2601,2602,7,7,0,0,2602,2603,7,23,0,0,2603,2604,7,13,0,0,2604,2605,7,11,0,0,2605,410,1,0,0,0,2606,2607,7,11,0,0,2607,2608,7,27,0,0,2608,2609,7,15,0,0,2609,2610,7,7,0,0,2610,2611,7,23,0,0,2611,2612,7,13,0,0,2612,2613,7,18,0,0,2613,2614,7,8,0,0,2614,2615,7,24,0,0,2615,412,1,0,0,0,2616,2617,7,11,0,0,2617,2618,7,27,0,0,2618,2619,7,15,0,0,2619,2620,7,7,0,0,2620,2621,7,23,0,0,2621,2622,7,10,0,0,2622,2623,7,18,0,0,2623,2624,7,28,0,0,2624,2625,7,11,0,0,2625,414,1,0,0,0,2626,2627,7,11,0,0,2627,2628,7,27,0,0,2628,2629,7,11,0,0,2629,2630,7,15,0,0,2630,2631,7,23,0,0,2631,2632,7,17,0,0,2632,2633,7,11,0,0,2633,416,1,0,0,0,2634,2635,7,11,0,0,2635,2636,7,27,0,0,2636,2637,7,25,0,0,2637,2638,7,7,0,0,2638,2639,7,6,0,0,2639,2640,7,18,0,0,2640,2641,7,8,0,0,2641,418,1,0,0,0,2642,2643,7,11,0,0,2643,2644,7,27,0,0,2644,2645,7,17,0,0,2645,2646,7,11,0,0,2646,2647,7,8,0,0,2647,2648,7,10,0,0,2648,2649,7,18,0,0,2649,2650,7,20,0,0,2650,2651,7,8,0,0,2651,420,1,0,0,0,2652,2653,7,11,0,0,2653,2654,7,27,0,0,2654,2655,7,17,0,0,2655,2656,7,11,0,0,2656,2657,7,14,0,0,2657,2658,7,8,0,0,2658,2659,7,6,0,0,2659,2660,7,7,0,0,2660,422,1,0,0,0,2661,2662,7,26,0,0,2662,2663,7,6,0,0,2663,2664,7,16,0,0,2664,2665,7,18,0,0,2665,2666,7,7,0,0,2666,2667,7,9,0,0,2667,424,1,0,0,0,2668,2669,7,26,0,0,2669,2670,7,18,0,0,2670,2671,7,14,0,0,2671,2672,7,10,0,0,2672,2673,7,17,0,0,2673,426,1,0,0,0,2674,2675,7,26,0,0,2675,2676,7,20,0,0,2676,2677,7,7,0,0,2677,2678,7,7,0,0,2678,2679,7,20,0,0,2679,2680,7,30,0,0,2680,2681,7,18,0,0,2681,2682,7,8,0,0,2682,2683,7,24,0,0,2683,428,1,0,0,0,2684,2685,7,26,0,0,2685,2686,7,20,0,0,2686,2687,7,14,0,0,2687,2688,7,15,0,0,2688,2689,7,11,0,0,2689,430,1,0,0,0,2690,2691,7,26,0,0,2691,2692,7,20,0,0,2692,2693,7,14,0,0,2693,2694,7,30,0,0,2694,2695,7,6,0,0,2695,2696,7,14,0,0,2696,2697,7,13,0,0,2697,432,1,0,0,0,2698,2699,7,26,0,0,2699,2700,7,23,0,0,2700,2701,7,8,0,0,2701,2702,7,15,0,0,2702,2703,7,17,0,0,2703,2704,7,18,0,0,2704,2705,7,20,0,0,2705,2706,7,8,0,0,2706,434,1,0,0,0,2707,2708,7,26,0,0,2708,2709,7,23,0,0,2709,2710,7,8,0,0,2710,2711,7,15,0,0,2711,2712,7,17,0,0,2712,2713,7,18,0,0,2713,2714,7,20,0,0,2714,2715,7,8,0,0,2715,2716,7,10,0,0,2716,436,1,0,0,0,2717,2718,7,24,0,0,2718,2719,7,7,0,0,2719,2720,7,20,0,0,2720,2721,7,19,0,0,2721,2722,7,6,0,0,2722,2723,7,7,0,0,2723,438,1,0,0,0,2724,2725,7,24,0,0,2725,2726,7,14,0,0,2726,2727,7,6,0,0,2727,2728,7,8,0,0,2728,2729,7,17,0,0,2729,2730,7,11,0,0,2730,2731,7,13,0,0,2731,440,1,0,0,0,2732,2733,7,21,0,0,2733,2734,7,6,0,0,2734,2735,7,8,0,0,2735,2736,7,13,0,0,2736,2737,7,7,0,0,2737,2738,7,11,0,0,2738,2739,7,14,0,0,2739,442,1,0,0,0,2740,2741,7,21,0,0,2741,2742,7,11,0,0,2742,2743,7,6,0,0,2743,2744,7,13,0,0,2744,2745,7,11,0,0,2745,2746,7,14,0,0,2746,444,1,0,0,0,2747,2748,7,21,0,0,2748,2749,7,20,0,0,2749,2750,7,7,0,0,2750,2751,7,13,0,0,2751,446,1,0,0,0,2752,2753,7,21,0,0,2753,2754,7,20,0,0,2754,2755,7,23,0,0,2755,2756,7,14,0,0,2756,448,1,0,0,0,2757,2758,7,18,0,0,2758,2759,7,13,0,0,2759,2760,7,11,0,0,2760,2761,7,8,0,0,2761,2762,7,17,0,0,2762,2763,7,18,0,0,2763,2764,7,17,0,0,2764,2765,7,9,0,0,2765,450,1,0,0,0,2766,2767,7,18,0,0,2767,2768,7,26,0,0,2768,452,1,0,0,0,2769,2770,7,18,0,0,2770,2771,7,16,0,0,2771,2772,7,16,0,0,2772,2773,7,11,0,0,2773,2774,7,13,0,0,2774,2775,7,18,0,0,2775,2776,7,6,0,0,2776,2777,7,17,0,0,2777,2778,7,11,0,0,2778,454,1,0,0,0,2779,2780,7,18,0,0,2780,2781,7,16,0,0,2781,2782,7,16,0,0,2782,2783,7,23,0,0,2783,2784,7,17,0,0,2784,2785,7,6,0,0,2785,2786,7,19,0,0,2786,2787,7,7,0,0,2787,2788,7,11,0,0,2788,456,1,0,0,0,2789,2790,7,18,0,0,2790,2791,7,16,0,0,2791,2792,7,25,0,0,2792,2793,7,7,0,0,2793,2794,7,18,0,0,2794,2795,7,15,0,0,2795,2796,7,18,0,0,2796,2797,7,17,0,0,2797,458,1,0,0,0,2798,2799,7,18,0,0,2799,2800,7,8,0,0,2800,2801,7,15,0,0,2801,2802,7,7,0,0,2802,2803,7,23,0,0,2803,2804,7,13,0,0,2804,2805,7,18,0,0,2805,2806,7,8,0,0,2806,2807,7,24,0,0,2807,460,1,0,0,0,2808,2809,7,18,0,0,2809,2810,7,8,0,0,2810,2811,7,15,0,0,2811,2812,7,14,0,0,2812,2813,7,11,0,0,2813,2814,7,16,0,0,2814,2815,7,11,0,0,2815,2816,7,8,0,0,2816,2817,7,17,0,0,2817,462,1,0,0,0,2818,2819,7,18,0,0,2819,2820,7,8,0,0,2820,2821,7,13,0,0,2821,2822,7,11,0,0,2822,2823,7,27,0,0,2823,464,1,0,0,0,2824,2825,7,18,0,0,2825,2826,7,8,0,0,2826,2827,7,13,0,0,2827,2828,7,11,0,0,2828,2829,7,27,0,0,2829,2830,7,11,0,0,2830,2831,7,10,0,0,2831,466,1,0,0,0,2832,2833,7,18,0,0,2833,2834,7,8,0,0,2834,2835,7,21,0,0,2835,2836,7,11,0,0,2836,2837,7,14,0,0,2837,2838,7,18,0,0,2838,2839,7,17,0,0,2839,468,1,0,0,0,2840,2841,7,8,0,0,2841,2842,7,20,0,0,2842,2843,7,18,0,0,2843,2844,7,8,0,0,2844,2845,7,21,0,0,2845,2846,7,11,0,0,2846,2847,7,14,0,0,2847,2848,7,18,0,0,2848,2849,7,17,0,0,2849,470,1,0,0,0,2850,2851,7,10,0,0,2851,2852,7,23,0,0,2852,2853,7,25,0,0,2853,2854,7,11,0,0,2854,2855,7,14,0,0,2855,2856,7,23,0,0,2856,2857,7,10,0,0,2857,2858,7,11,0,0,2858,2859,7,14,0,0,2859,472,1,0,0,0,2860,2861,7,8,0,0,2861,2862,7,20,0,0,2862,2863,7,10,0,0,2863,2864,7,23,0,0,2864,2865,7,25,0,0,2865,2866,7,11,0,0,2866,2867,7,14,0,0,2867,2868,7,23,0,0,2868,2869,7,10,0,0,2869,2870,7,11,0,0,2870,2871,7,14,0,0,2871,474,1,0,0,0,2872,2873,7,15,0,0,2873,2874,7,14,0,0,2874,2875,7,11,0,0,2875,2876,7,6,0,0,2876,2877,7,17,0,0,2877,2878,7,11,0,0,2878,2879,7,13,0,0,2879,2880,7,19,0,0,2880,476,1,0,0,0,2881,2882,7,8,0,0,2882,2883,7,20,0,0,2883,2884,7,15,0,0,2884,2885,7,14,0,0,2885,2886,7,11,0,0,2886,2887,7,6,0,0,2887,2888,7,17,0,0,2888,2889,7,11,0,0,2889,2890,7,13,0,0,2890,2891,7,19,0,0,2891,478,1,0,0,0,2892,2893,7,15,0,0,2893,2894,7,14,0,0,2894,2895,7,11,0,0,2895,2896,7,6,0,0,2896,2897,7,17,0,0,2897,2898,7,11,0,0,2898,2899,7,14,0,0,2899,2900,7,20,0,0,2900,2901,7,7,0,0,2901,2902,7,11,0,0,2902,480,1,0,0,0,2903,2904,7,8,0,0,2904,2905,7,20,0,0,2905,2906,7,15,0,0,2906,2907,7,14,0,0,2907,2908,7,11,0,0,2908,2909,7,6,0,0,2909,2910,7,17,0,0,2910,2911,7,11,0,0,2911,2912,7,14,0,0,2912,2913,7,20,0,0,2913,2914,7,7,0,0,2914,2915,7,11,0,0,2915,482,1,0,0,0,2916,2917,7,15,0,0,2917,2918,7,14,0,0,2918,2919,7,11,0,0,2919,2920,7,6,0,0,2920,2921,7,17,0,0,2921,2922,7,11,0,0,2922,2923,7,23,0,0,2923,2924,7,10,0,0,2924,2925,7,11,0,0,2925,2926,7,14,0,0,2926,484,1,0,0,0,2927,2928,7,8,0,0,2928,2929,7,20,0,0,2929,2930,7,15,0,0,2930,2931,7,14,0,0,2931,2932,7,11,0,0,2932,2933,7,6,0,0,2933,2934,7,17,0,0,2934,2935,7,11,0,0,2935,2936,7,23,0,0,2936,2937,7,10,0,0,2937,2938,7,11,0,0,2938,2939,7,14,0,0,2939,486,1,0,0,0,2940,2941,7,18,0,0,2941,2942,7,8,0,0,2942,2943,7,21,0,0,2943,2944,7,11,0,0,2944,2945,7,14,0,0,2945,2946,7,18,0,0,2946,2947,7,17,0,0,2947,2948,7,10,0,0,2948,488,1,0,0,0,2949,2950,7,18,0,0,2950,2951,7,8,0,0,2951,2952,7,7,0,0,2952,2953,7,18,0,0,2953,2954,7,8,0,0,2954,2955,7,11,0,0,2955,490,1,0,0,0,2956,2957,7,18,0,0,2957,2958,7,8,0,0,2958,2959,7,10,0,0,2959,2960,7,11,0,0,2960,2961,7,8,0,0,2961,2962,7,10,0,0,2962,2963,7,18,0,0,2963,2964,7,17,0,0,2964,2965,7,18,0,0,2965,2966,7,28,0,0,2966,2967,7,11,0,0,2967,492,1,0,0,0,2968,2969,7,18,0,0,2969,2970,7,8,0,0,2970,2971,7,10,0,0,2971,2972,7,11,0,0,2972,2973,7,14,0,0,2973,2974,7,17,0,0,2974,494,1,0,0,0,2975,2976,7,18,0,0,2976,2977,7,8,0,0,2977,2978,7,10,0,0,2978,2979,7,17,0,0,2979,2980,7,11,0,0,2980,2981,7,6,0,0,2981,2982,7,13,0,0,2982,496,1,0,0,0,2983,2984,7,18,0,0,2984,2985,7,8,0,0,2985,2986,7,28,0,0,2986,2987,7,20,0,0,2987,2988,7,22,0,0,2988,2989,7,11,0,0,2989,2990,7,14,0,0,2990,498,1,0,0,0,2991,2992,7,18,0,0,2992,2993,7,10,0,0,2993,2994,7,20,0,0,2994,2995,7,7,0,0,2995,2996,7,6,0,0,2996,2997,7,17,0,0,2997,2998,7,18,0,0,2998,2999,7,20,0,0,2999,3e3,7,8,0,0,3e3,500,1,0,0,0,3001,3002,7,22,0,0,3002,3003,7,11,0,0,3003,3004,7,9,0,0,3004,502,1,0,0,0,3005,3006,7,7,0,0,3006,3007,7,6,0,0,3007,3008,7,19,0,0,3008,3009,7,11,0,0,3009,3010,7,7,0,0,3010,504,1,0,0,0,3011,3012,7,7,0,0,3012,3013,7,6,0,0,3013,3014,7,8,0,0,3014,3015,7,24,0,0,3015,3016,7,23,0,0,3016,3017,7,6,0,0,3017,3018,7,24,0,0,3018,3019,7,11,0,0,3019,506,1,0,0,0,3020,3021,7,7,0,0,3021,3022,7,6,0,0,3022,3023,7,14,0,0,3023,3024,7,24,0,0,3024,3025,7,11,0,0,3025,508,1,0,0,0,3026,3027,7,7,0,0,3027,3028,7,6,0,0,3028,3029,7,10,0,0,3029,3030,7,17,0,0,3030,510,1,0,0,0,3031,3032,7,7,0,0,3032,3033,7,11,0,0,3033,3034,7,6,0,0,3034,3035,7,22,0,0,3035,3036,7,25,0,0,3036,3037,7,14,0,0,3037,3038,7,20,0,0,3038,3039,7,20,0,0,3039,3040,7,26,0,0,3040,512,1,0,0,0,3041,3042,7,7,0,0,3042,3043,7,11,0,0,3043,3044,7,28,0,0,3044,3045,7,11,0,0,3045,3046,7,7,0,0,3046,514,1,0,0,0,3047,3048,7,7,0,0,3048,3049,7,18,0,0,3049,3050,7,10,0,0,3050,3051,7,17,0,0,3051,3052,7,11,0,0,3052,3053,7,8,0,0,3053,516,1,0,0,0,3054,3055,7,7,0,0,3055,3056,7,20,0,0,3056,3057,7,6,0,0,3057,3058,7,13,0,0,3058,518,1,0,0,0,3059,3060,7,7,0,0,3060,3061,7,20,0,0,3061,3062,7,15,0,0,3062,3063,7,6,0,0,3063,3064,7,7,0,0,3064,520,1,0,0,0,3065,3066,7,7,0,0,3066,3067,7,20,0,0,3067,3068,7,15,0,0,3068,3069,7,6,0,0,3069,3070,7,17,0,0,3070,3071,7,18,0,0,3071,3072,7,20,0,0,3072,3073,7,8,0,0,3073,522,1,0,0,0,3074,3075,7,7,0,0,3075,3076,7,20,0,0,3076,3077,7,15,0,0,3077,3078,7,22,0,0,3078,524,1,0,0,0,3079,3080,7,16,0,0,3080,3081,7,6,0,0,3081,3082,7,25,0,0,3082,3083,7,25,0,0,3083,3084,7,18,0,0,3084,3085,7,8,0,0,3085,3086,7,24,0,0,3086,526,1,0,0,0,3087,3088,7,16,0,0,3088,3089,7,6,0,0,3089,3090,7,17,0,0,3090,3091,7,15,0,0,3091,3092,7,21,0,0,3092,528,1,0,0,0,3093,3094,7,16,0,0,3094,3095,7,6,0,0,3095,3096,7,17,0,0,3096,3097,7,11,0,0,3097,3098,7,14,0,0,3098,3099,7,18,0,0,3099,3100,7,6,0,0,3100,3101,7,7,0,0,3101,3102,7,18,0,0,3102,3103,7,12,0,0,3103,3104,7,11,0,0,3104,3105,7,13,0,0,3105,530,1,0,0,0,3106,3107,7,16,0,0,3107,3108,7,6,0,0,3108,3109,7,27,0,0,3109,3110,7,28,0,0,3110,3111,7,6,0,0,3111,3112,7,7,0,0,3112,3113,7,23,0,0,3113,3114,7,11,0,0,3114,532,1,0,0,0,3115,3116,7,16,0,0,3116,3117,7,18,0,0,3117,3118,7,8,0,0,3118,3119,7,23,0,0,3119,3120,7,17,0,0,3120,3121,7,11,0,0,3121,534,1,0,0,0,3122,3123,7,16,0,0,3123,3124,7,18,0,0,3124,3125,7,8,0,0,3125,3126,7,28,0,0,3126,3127,7,6,0,0,3127,3128,7,7,0,0,3128,3129,7,23,0,0,3129,3130,7,11,0,0,3130,536,1,0,0,0,3131,3132,7,16,0,0,3132,3133,7,20,0,0,3133,3134,7,13,0,0,3134,3135,7,11,0,0,3135,538,1,0,0,0,3136,3137,7,16,0,0,3137,3138,7,20,0,0,3138,3139,7,8,0,0,3139,3140,7,17,0,0,3140,3141,7,21,0,0,3141,540,1,0,0,0,3142,3143,7,16,0,0,3143,3144,7,20,0,0,3144,3145,7,28,0,0,3145,3146,7,11,0,0,3146,542,1,0,0,0,3147,3148,7,8,0,0,3148,3149,7,6,0,0,3149,3150,7,16,0,0,3150,3151,7,11,0,0,3151,544,1,0,0,0,3152,3153,7,8,0,0,3153,3154,7,6,0,0,3154,3155,7,16,0,0,3155,3156,7,11,0,0,3156,3157,7,10,0,0,3157,546,1,0,0,0,3158,3159,7,8,0,0,3159,3160,7,11,0,0,3160,3161,7,27,0,0,3161,3162,7,17,0,0,3162,548,1,0,0,0,3163,3164,7,8,0,0,3164,3165,7,20,0,0,3165,550,1,0,0,0,3166,3167,7,8,0,0,3167,3168,7,20,0,0,3168,3169,7,17,0,0,3169,3170,7,21,0,0,3170,3171,7,18,0,0,3171,3172,7,8,0,0,3172,3173,7,24,0,0,3173,552,1,0,0,0,3174,3175,7,8,0,0,3175,3176,7,20,0,0,3176,3177,7,17,0,0,3177,3178,7,18,0,0,3178,3179,7,26,0,0,3179,3180,7,9,0,0,3180,554,1,0,0,0,3181,3182,7,8,0,0,3182,3183,7,20,0,0,3183,3184,7,30,0,0,3184,3185,7,6,0,0,3185,3186,7,18,0,0,3186,3187,7,17,0,0,3187,556,1,0,0,0,3188,3189,7,8,0,0,3189,3190,7,23,0,0,3190,3191,7,7,0,0,3191,3192,7,7,0,0,3192,3193,7,10,0,0,3193,558,1,0,0,0,3194,3195,7,20,0,0,3195,3196,7,19,0,0,3196,3197,7,31,0,0,3197,3198,7,11,0,0,3198,3199,7,15,0,0,3199,3200,7,17,0,0,3200,560,1,0,0,0,3201,3202,7,20,0,0,3202,3203,7,26,0,0,3203,562,1,0,0,0,3204,3205,7,20,0,0,3205,3206,7,26,0,0,3206,3207,7,26,0,0,3207,564,1,0,0,0,3208,3209,7,20,0,0,3209,3210,7,18,0,0,3210,3211,7,13,0,0,3211,3212,7,10,0,0,3212,566,1,0,0,0,3213,3214,7,20,0,0,3214,3215,7,25,0,0,3215,3216,7,11,0,0,3216,3217,7,14,0,0,3217,3218,7,6,0,0,3218,3219,7,17,0,0,3219,3220,7,20,0,0,3220,3221,7,14,0,0,3221,568,1,0,0,0,3222,3223,7,20,0,0,3223,3224,7,25,0,0,3224,3225,7,17,0,0,3225,3226,7,18,0,0,3226,3227,7,20,0,0,3227,3228,7,8,0,0,3228,570,1,0,0,0,3229,3230,7,20,0,0,3230,3231,7,25,0,0,3231,3232,7,17,0,0,3232,3233,7,18,0,0,3233,3234,7,20,0,0,3234,3235,7,8,0,0,3235,3236,7,10,0,0,3236,572,1,0,0,0,3237,3238,7,20,0,0,3238,3239,7,30,0,0,3239,3240,7,8,0,0,3240,3241,7,11,0,0,3241,3242,7,13,0,0,3242,574,1,0,0,0,3243,3244,7,20,0,0,3244,3245,7,30,0,0,3245,3246,7,8,0,0,3246,3247,7,11,0,0,3247,3248,7,14,0,0,3248,576,1,0,0,0,3249,3250,7,25,0,0,3250,3251,7,6,0,0,3251,3252,7,14,0,0,3252,3253,7,10,0,0,3253,3254,7,11,0,0,3254,3255,7,14,0,0,3255,578,1,0,0,0,3256,3257,7,25,0,0,3257,3258,7,6,0,0,3258,3259,7,14,0,0,3259,3260,7,17,0,0,3260,3261,7,18,0,0,3261,3262,7,6,0,0,3262,3263,7,7,0,0,3263,580,1,0,0,0,3264,3265,7,25,0,0,3265,3266,7,6,0,0,3266,3267,7,14,0,0,3267,3268,7,17,0,0,3268,3269,7,18,0,0,3269,3270,7,17,0,0,3270,3271,7,18,0,0,3271,3272,7,20,0,0,3272,3273,7,8,0,0,3273,582,1,0,0,0,3274,3275,7,25,0,0,3275,3276,7,6,0,0,3276,3277,7,10,0,0,3277,3278,7,10,0,0,3278,3279,7,18,0,0,3279,3280,7,8,0,0,3280,3281,7,24,0,0,3281,584,1,0,0,0,3282,3283,7,25,0,0,3283,3284,7,6,0,0,3284,3285,7,10,0,0,3285,3286,7,10,0,0,3286,3287,7,30,0,0,3287,3288,7,20,0,0,3288,3289,7,14,0,0,3289,3290,7,13,0,0,3290,586,1,0,0,0,3291,3292,7,25,0,0,3292,3293,7,7,0,0,3293,3294,7,6,0,0,3294,3295,7,8,0,0,3295,3296,7,10,0,0,3296,588,1,0,0,0,3297,3298,7,25,0,0,3298,3299,7,14,0,0,3299,3300,7,11,0,0,3300,3301,7,15,0,0,3301,3302,7,11,0,0,3302,3303,7,13,0,0,3303,3304,7,18,0,0,3304,3305,7,8,0,0,3305,3306,7,24,0,0,3306,590,1,0,0,0,3307,3308,7,25,0,0,3308,3309,7,14,0,0,3309,3310,7,11,0,0,3310,3311,7,25,0,0,3311,3312,7,6,0,0,3312,3313,7,14,0,0,3313,3314,7,11,0,0,3314,592,1,0,0,0,3315,3316,7,25,0,0,3316,3317,7,14,0,0,3317,3318,7,11,0,0,3318,3319,7,25,0,0,3319,3320,7,6,0,0,3320,3321,7,14,0,0,3321,3322,7,11,0,0,3322,3323,7,13,0,0,3323,594,1,0,0,0,3324,3325,7,25,0,0,3325,3326,7,14,0,0,3326,3327,7,11,0,0,3327,3328,7,10,0,0,3328,3329,7,11,0,0,3329,3330,7,14,0,0,3330,3331,7,28,0,0,3331,3332,7,11,0,0,3332,596,1,0,0,0,3333,3334,7,25,0,0,3334,3335,7,14,0,0,3335,3336,7,18,0,0,3336,3337,7,20,0,0,3337,3338,7,14,0,0,3338,598,1,0,0,0,3339,3340,7,25,0,0,3340,3341,7,14,0,0,3341,3342,7,18,0,0,3342,3343,7,28,0,0,3343,3344,7,18,0,0,3344,3345,7,7,0,0,3345,3346,7,11,0,0,3346,3347,7,24,0,0,3347,3348,7,11,0,0,3348,3349,7,10,0,0,3349,600,1,0,0,0,3350,3351,7,25,0,0,3351,3352,7,14,0,0,3352,3353,7,20,0,0,3353,3354,7,15,0,0,3354,3355,7,11,0,0,3355,3356,7,13,0,0,3356,3357,7,23,0,0,3357,3358,7,14,0,0,3358,3359,7,6,0,0,3359,3360,7,7,0,0,3360,602,1,0,0,0,3361,3362,7,25,0,0,3362,3363,7,14,0,0,3363,3364,7,20,0,0,3364,3365,7,15,0,0,3365,3366,7,11,0,0,3366,3367,7,13,0,0,3367,3368,7,23,0,0,3368,3369,7,14,0,0,3369,3370,7,11,0,0,3370,604,1,0,0,0,3371,3372,7,25,0,0,3372,3373,7,14,0,0,3373,3374,7,20,0,0,3374,3375,7,24,0,0,3375,3376,7,14,0,0,3376,3377,7,6,0,0,3377,3378,7,16,0,0,3378,606,1,0,0,0,3379,3380,7,29,0,0,3380,3381,7,23,0,0,3381,3382,7,20,0,0,3382,3383,7,17,0,0,3383,3384,7,11,0,0,3384,608,1,0,0,0,3385,3386,7,14,0,0,3386,3387,7,6,0,0,3387,3388,7,8,0,0,3388,3389,7,24,0,0,3389,3390,7,11,0,0,3390,610,1,0,0,0,3391,3392,7,14,0,0,3392,3393,7,11,0,0,3393,3394,7,6,0,0,3394,3395,7,13,0,0,3395,612,1,0,0,0,3396,3397,7,14,0,0,3397,3398,7,11,0,0,3398,3399,7,6,0,0,3399,3400,7,10,0,0,3400,3401,7,10,0,0,3401,3402,7,18,0,0,3402,3403,7,24,0,0,3403,3404,7,8,0,0,3404,614,1,0,0,0,3405,3406,7,14,0,0,3406,3407,7,11,0,0,3407,3408,7,15,0,0,3408,3409,7,21,0,0,3409,3410,7,11,0,0,3410,3411,7,15,0,0,3411,3412,7,22,0,0,3412,616,1,0,0,0,3413,3414,7,14,0,0,3414,3415,7,11,0,0,3415,3416,7,15,0,0,3416,3417,7,23,0,0,3417,3418,7,14,0,0,3418,3419,7,10,0,0,3419,3420,7,18,0,0,3420,3421,7,28,0,0,3421,3422,7,11,0,0,3422,618,1,0,0,0,3423,3424,7,14,0,0,3424,3425,7,11,0,0,3425,3426,7,26,0,0,3426,620,1,0,0,0,3427,3428,7,14,0,0,3428,3429,7,11,0,0,3429,3430,7,26,0,0,3430,3431,7,14,0,0,3431,3432,7,11,0,0,3432,3433,7,10,0,0,3433,3434,7,21,0,0,3434,622,1,0,0,0,3435,3436,7,14,0,0,3436,3437,7,11,0,0,3437,3438,7,18,0,0,3438,3439,7,8,0,0,3439,3440,7,13,0,0,3440,3441,7,11,0,0,3441,3442,7,27,0,0,3442,624,1,0,0,0,3443,3444,7,14,0,0,3444,3445,7,11,0,0,3445,3446,7,7,0,0,3446,3447,7,6,0,0,3447,3448,7,17,0,0,3448,3449,7,18,0,0,3449,3450,7,28,0,0,3450,3451,7,11,0,0,3451,626,1,0,0,0,3452,3453,7,14,0,0,3453,3454,7,11,0,0,3454,3455,7,7,0,0,3455,3456,7,11,0,0,3456,3457,7,6,0,0,3457,3458,7,10,0,0,3458,3459,7,11,0,0,3459,628,1,0,0,0,3460,3461,7,14,0,0,3461,3462,7,11,0,0,3462,3463,7,8,0,0,3463,3464,7,6,0,0,3464,3465,7,16,0,0,3465,3466,7,11,0,0,3466,630,1,0,0,0,3467,3468,7,14,0,0,3468,3469,7,11,0,0,3469,3470,7,25,0,0,3470,3471,7,11,0,0,3471,3472,7,6,0,0,3472,3473,7,17,0,0,3473,3474,7,6,0,0,3474,3475,7,19,0,0,3475,3476,7,7,0,0,3476,3477,7,11,0,0,3477,632,1,0,0,0,3478,3479,7,14,0,0,3479,3480,7,11,0,0,3480,3481,7,25,0,0,3481,3482,7,7,0,0,3482,3483,7,6,0,0,3483,3484,7,15,0,0,3484,3485,7,11,0,0,3485,634,1,0,0,0,3486,3487,7,14,0,0,3487,3488,7,11,0,0,3488,3489,7,25,0,0,3489,3490,7,7,0,0,3490,3491,7,18,0,0,3491,3492,7,15,0,0,3492,3493,7,6,0,0,3493,636,1,0,0,0,3494,3495,7,14,0,0,3495,3496,7,11,0,0,3496,3497,7,10,0,0,3497,3498,7,11,0,0,3498,3499,7,17,0,0,3499,638,1,0,0,0,3500,3501,7,14,0,0,3501,3502,7,11,0,0,3502,3503,7,10,0,0,3503,3504,7,17,0,0,3504,3505,7,6,0,0,3505,3506,7,14,0,0,3506,3507,7,17,0,0,3507,640,1,0,0,0,3508,3509,7,14,0,0,3509,3510,7,11,0,0,3510,3511,7,10,0,0,3511,3512,7,17,0,0,3512,3513,7,14,0,0,3513,3514,7,18,0,0,3514,3515,7,15,0,0,3515,3516,7,17,0,0,3516,642,1,0,0,0,3517,3518,7,14,0,0,3518,3519,7,11,0,0,3519,3520,7,17,0,0,3520,3521,7,23,0,0,3521,3522,7,14,0,0,3522,3523,7,8,0,0,3523,3524,7,10,0,0,3524,644,1,0,0,0,3525,3526,7,14,0,0,3526,3527,7,11,0,0,3527,3528,7,28,0,0,3528,3529,7,20,0,0,3529,3530,7,22,0,0,3530,3531,7,11,0,0,3531,646,1,0,0,0,3532,3533,7,14,0,0,3533,3534,7,20,0,0,3534,3535,7,7,0,0,3535,3536,7,11,0,0,3536,648,1,0,0,0,3537,3538,7,14,0,0,3538,3539,7,20,0,0,3539,3540,7,7,0,0,3540,3541,7,7,0,0,3541,3542,7,19,0,0,3542,3543,7,6,0,0,3543,3544,7,15,0,0,3544,3545,7,22,0,0,3545,650,1,0,0,0,3546,3547,7,14,0,0,3547,3548,7,20,0,0,3548,3549,7,30,0,0,3549,3550,7,10,0,0,3550,652,1,0,0,0,3551,3552,7,14,0,0,3552,3553,7,23,0,0,3553,3554,7,7,0,0,3554,3555,7,11,0,0,3555,654,1,0,0,0,3556,3557,7,10,0,0,3557,3558,7,6,0,0,3558,3559,7,28,0,0,3559,3560,7,11,0,0,3560,3561,7,25,0,0,3561,3562,7,20,0,0,3562,3563,7,18,0,0,3563,3564,7,8,0,0,3564,3565,7,17,0,0,3565,656,1,0,0,0,3566,3567,7,10,0,0,3567,3568,7,15,0,0,3568,3569,7,21,0,0,3569,3570,7,11,0,0,3570,3571,7,16,0,0,3571,3572,7,6,0,0,3572,658,1,0,0,0,3573,3574,7,10,0,0,3574,3575,7,15,0,0,3575,3576,7,14,0,0,3576,3577,7,20,0,0,3577,3578,7,7,0,0,3578,3579,7,7,0,0,3579,660,1,0,0,0,3580,3581,7,10,0,0,3581,3582,7,11,0,0,3582,3583,7,6,0,0,3583,3584,7,14,0,0,3584,3585,7,15,0,0,3585,3586,7,21,0,0,3586,662,1,0,0,0,3587,3588,7,10,0,0,3588,3589,7,11,0,0,3589,3590,7,15,0,0,3590,3591,7,20,0,0,3591,3592,7,8,0,0,3592,3593,7,13,0,0,3593,664,1,0,0,0,3594,3595,7,10,0,0,3595,3596,7,11,0,0,3596,3597,7,15,0,0,3597,3598,7,23,0,0,3598,3599,7,14,0,0,3599,3600,7,18,0,0,3600,3601,7,17,0,0,3601,3602,7,9,0,0,3602,666,1,0,0,0,3603,3604,7,10,0,0,3604,3605,7,11,0,0,3605,3606,7,29,0,0,3606,3607,7,23,0,0,3607,3608,7,11,0,0,3608,3609,7,8,0,0,3609,3610,7,15,0,0,3610,3611,7,11,0,0,3611,668,1,0,0,0,3612,3613,7,10,0,0,3613,3614,7,11,0,0,3614,3615,7,29,0,0,3615,3616,7,23,0,0,3616,3617,7,11,0,0,3617,3618,7,8,0,0,3618,3619,7,15,0,0,3619,3620,7,11,0,0,3620,3621,7,10,0,0,3621,670,1,0,0,0,3622,3623,7,10,0,0,3623,3624,7,11,0,0,3624,3625,7,14,0,0,3625,3626,7,18,0,0,3626,3627,7,6,0,0,3627,3628,7,7,0,0,3628,3629,7,18,0,0,3629,3630,7,12,0,0,3630,3631,7,6,0,0,3631,3632,7,19,0,0,3632,3633,7,7,0,0,3633,3634,7,11,0,0,3634,672,1,0,0,0,3635,3636,7,10,0,0,3636,3637,7,11,0,0,3637,3638,7,14,0,0,3638,3639,7,28,0,0,3639,3640,7,11,0,0,3640,3641,7,14,0,0,3641,674,1,0,0,0,3642,3643,7,10,0,0,3643,3644,7,11,0,0,3644,3645,7,10,0,0,3645,3646,7,10,0,0,3646,3647,7,18,0,0,3647,3648,7,20,0,0,3648,3649,7,8,0,0,3649,676,1,0,0,0,3650,3651,7,10,0,0,3651,3652,7,11,0,0,3652,3653,7,17,0,0,3653,678,1,0,0,0,3654,3655,7,10,0,0,3655,3656,7,21,0,0,3656,3657,7,6,0,0,3657,3658,7,14,0,0,3658,3659,7,11,0,0,3659,680,1,0,0,0,3660,3661,7,10,0,0,3661,3662,7,21,0,0,3662,3663,7,20,0,0,3663,3664,7,30,0,0,3664,682,1,0,0,0,3665,3666,7,10,0,0,3666,3667,7,18,0,0,3667,3668,7,16,0,0,3668,3669,7,25,0,0,3669,3670,7,7,0,0,3670,3671,7,11,0,0,3671,684,1,0,0,0,3672,3673,7,10,0,0,3673,3674,7,8,0,0,3674,3675,7,6,0,0,3675,3676,7,25,0,0,3676,3677,7,10,0,0,3677,3678,7,21,0,0,3678,3679,7,20,0,0,3679,3680,7,17,0,0,3680,686,1,0,0,0,3681,3682,7,10,0,0,3682,3683,7,17,0,0,3683,3684,7,6,0,0,3684,3685,7,19,0,0,3685,3686,7,7,0,0,3686,3687,7,11,0,0,3687,688,1,0,0,0,3688,3689,7,10,0,0,3689,3690,7,17,0,0,3690,3691,7,6,0,0,3691,3692,7,8,0,0,3692,3693,7,13,0,0,3693,3694,7,6,0,0,3694,3695,7,7,0,0,3695,3696,7,20,0,0,3696,3697,7,8,0,0,3697,3698,7,11,0,0,3698,690,1,0,0,0,3699,3700,7,10,0,0,3700,3701,7,17,0,0,3701,3702,7,6,0,0,3702,3703,7,14,0,0,3703,3704,7,17,0,0,3704,692,1,0,0,0,3705,3706,7,10,0,0,3706,3707,7,17,0,0,3707,3708,7,6,0,0,3708,3709,7,17,0,0,3709,3710,7,11,0,0,3710,3711,7,16,0,0,3711,3712,7,11,0,0,3712,3713,7,8,0,0,3713,3714,7,17,0,0,3714,694,1,0,0,0,3715,3716,7,10,0,0,3716,3717,7,17,0,0,3717,3718,7,6,0,0,3718,3719,7,17,0,0,3719,3720,7,18,0,0,3720,3721,7,10,0,0,3721,3722,7,17,0,0,3722,3723,7,18,0,0,3723,3724,7,15,0,0,3724,3725,7,10,0,0,3725,696,1,0,0,0,3726,3727,7,10,0,0,3727,3728,7,17,0,0,3728,3729,7,13,0,0,3729,3730,7,18,0,0,3730,3731,7,8,0,0,3731,698,1,0,0,0,3732,3733,7,10,0,0,3733,3734,7,17,0,0,3734,3735,7,13,0,0,3735,3736,7,20,0,0,3736,3737,7,23,0,0,3737,3738,7,17,0,0,3738,700,1,0,0,0,3739,3740,7,10,0,0,3740,3741,7,17,0,0,3741,3742,7,20,0,0,3742,3743,7,14,0,0,3743,3744,7,6,0,0,3744,3745,7,24,0,0,3745,3746,7,11,0,0,3746,702,1,0,0,0,3747,3748,7,10,0,0,3748,3749,7,17,0,0,3749,3750,7,14,0,0,3750,3751,7,18,0,0,3751,3752,7,15,0,0,3752,3753,7,17,0,0,3753,704,1,0,0,0,3754,3755,7,10,0,0,3755,3756,7,17,0,0,3756,3757,7,14,0,0,3757,3758,7,18,0,0,3758,3759,7,25,0,0,3759,706,1,0,0,0,3760,3761,7,10,0,0,3761,3762,7,9,0,0,3762,3763,7,10,0,0,3763,3764,7,18,0,0,3764,3765,7,13,0,0,3765,708,1,0,0,0,3766,3767,7,10,0,0,3767,3768,7,9,0,0,3768,3769,7,10,0,0,3769,3770,7,17,0,0,3770,3771,7,11,0,0,3771,3772,7,16,0,0,3772,710,1,0,0,0,3773,3774,7,17,0,0,3774,3775,7,6,0,0,3775,3776,7,19,0,0,3776,3777,7,7,0,0,3777,3778,7,11,0,0,3778,3779,7,10,0,0,3779,712,1,0,0,0,3780,3781,7,17,0,0,3781,3782,7,6,0,0,3782,3783,7,19,0,0,3783,3784,7,7,0,0,3784,3785,7,11,0,0,3785,3786,7,10,0,0,3786,3787,7,25,0,0,3787,3788,7,6,0,0,3788,3789,7,15,0,0,3789,3790,7,11,0,0,3790,714,1,0,0,0,3791,3792,7,17,0,0,3792,3793,7,11,0,0,3793,3794,7,16,0,0,3794,3795,7,25,0,0,3795,716,1,0,0,0,3796,3797,7,17,0,0,3797,3798,7,11,0,0,3798,3799,7,16,0,0,3799,3800,7,25,0,0,3800,3801,7,7,0,0,3801,3802,7,6,0,0,3802,3803,7,17,0,0,3803,3804,7,11,0,0,3804,718,1,0,0,0,3805,3806,7,17,0,0,3806,3807,7,11,0,0,3807,3808,7,16,0,0,3808,3809,7,25,0,0,3809,3810,7,20,0,0,3810,3811,7,14,0,0,3811,3812,7,6,0,0,3812,3813,7,14,0,0,3813,3814,7,9,0,0,3814,720,1,0,0,0,3815,3816,7,17,0,0,3816,3817,7,11,0,0,3817,3818,7,27,0,0,3818,3819,7,17,0,0,3819,722,1,0,0,0,3820,3821,7,17,0,0,3821,3822,7,14,0,0,3822,3823,7,6,0,0,3823,3824,7,8,0,0,3824,3825,7,10,0,0,3825,3826,7,6,0,0,3826,3827,7,15,0,0,3827,3828,7,17,0,0,3828,3829,7,18,0,0,3829,3830,7,20,0,0,3830,3831,7,8,0,0,3831,724,1,0,0,0,3832,3833,7,17,0,0,3833,3834,7,14,0,0,3834,3835,7,18,0,0,3835,3836,7,24,0,0,3836,3837,7,24,0,0,3837,3838,7,11,0,0,3838,3839,7,14,0,0,3839,726,1,0,0,0,3840,3841,7,17,0,0,3841,3842,7,14,0,0,3842,3843,7,23,0,0,3843,3844,7,8,0,0,3844,3845,7,15,0,0,3845,3846,7,6,0,0,3846,3847,7,17,0,0,3847,3848,7,11,0,0,3848,728,1,0,0,0,3849,3850,7,17,0,0,3850,3851,7,14,0,0,3851,3852,7,23,0,0,3852,3853,7,10,0,0,3853,3854,7,17,0,0,3854,3855,7,11,0,0,3855,3856,7,13,0,0,3856,730,1,0,0,0,3857,3858,7,17,0,0,3858,3859,7,9,0,0,3859,3860,7,25,0,0,3860,3861,7,11,0,0,3861,732,1,0,0,0,3862,3863,7,17,0,0,3863,3864,7,9,0,0,3864,3865,7,25,0,0,3865,3866,7,11,0,0,3866,3867,7,10,0,0,3867,734,1,0,0,0,3868,3869,7,23,0,0,3869,3870,7,8,0,0,3870,3871,7,19,0,0,3871,3872,7,20,0,0,3872,3873,7,23,0,0,3873,3874,7,8,0,0,3874,3875,7,13,0,0,3875,3876,7,11,0,0,3876,3877,7,13,0,0,3877,736,1,0,0,0,3878,3879,7,23,0,0,3879,3880,7,8,0,0,3880,3881,7,15,0,0,3881,3882,7,20,0,0,3882,3883,7,16,0,0,3883,3884,7,16,0,0,3884,3885,7,18,0,0,3885,3886,7,17,0,0,3886,3887,7,17,0,0,3887,3888,7,11,0,0,3888,3889,7,13,0,0,3889,738,1,0,0,0,3890,3891,7,23,0,0,3891,3892,7,8,0,0,3892,3893,7,11,0,0,3893,3894,7,8,0,0,3894,3895,7,15,0,0,3895,3896,7,14,0,0,3896,3897,7,9,0,0,3897,3898,7,25,0,0,3898,3899,7,17,0,0,3899,3900,7,11,0,0,3900,3901,7,13,0,0,3901,740,1,0,0,0,3902,3903,7,23,0,0,3903,3904,7,8,0,0,3904,3905,7,22,0,0,3905,3906,7,8,0,0,3906,3907,7,20,0,0,3907,3908,7,30,0,0,3908,3909,7,8,0,0,3909,742,1,0,0,0,3910,3911,7,23,0,0,3911,3912,7,8,0,0,3912,3913,7,7,0,0,3913,3914,7,18,0,0,3914,3915,7,10,0,0,3915,3916,7,17,0,0,3916,3917,7,11,0,0,3917,3918,7,8,0,0,3918,744,1,0,0,0,3919,3920,7,23,0,0,3920,3921,7,8,0,0,3921,3922,7,7,0,0,3922,3923,7,20,0,0,3923,3924,7,24,0,0,3924,3925,7,24,0,0,3925,3926,7,11,0,0,3926,3927,7,13,0,0,3927,746,1,0,0,0,3928,3929,7,23,0,0,3929,3930,7,8,0,0,3930,3931,7,17,0,0,3931,3932,7,18,0,0,3932,3933,7,7,0,0,3933,748,1,0,0,0,3934,3935,7,23,0,0,3935,3936,7,25,0,0,3936,3937,7,13,0,0,3937,3938,7,6,0,0,3938,3939,7,17,0,0,3939,3940,7,11,0,0,3940,750,1,0,0,0,3941,3942,7,28,0,0,3942,3943,7,6,0,0,3943,3944,7,15,0,0,3944,3945,7,23,0,0,3945,3946,7,23,0,0,3946,3947,7,16,0,0,3947,752,1,0,0,0,3948,3949,7,28,0,0,3949,3950,7,6,0,0,3950,3951,7,7,0,0,3951,3952,7,18,0,0,3952,3953,7,13,0,0,3953,754,1,0,0,0,3954,3955,7,28,0,0,3955,3956,7,6,0,0,3956,3957,7,7,0,0,3957,3958,7,18,0,0,3958,3959,7,13,0,0,3959,3960,7,6,0,0,3960,3961,7,17,0,0,3961,3962,7,11,0,0,3962,756,1,0,0,0,3963,3964,7,28,0,0,3964,3965,7,6,0,0,3965,3966,7,7,0,0,3966,3967,7,18,0,0,3967,3968,7,13,0,0,3968,3969,7,6,0,0,3969,3970,7,17,0,0,3970,3971,7,20,0,0,3971,3972,7,14,0,0,3972,758,1,0,0,0,3973,3974,7,28,0,0,3974,3975,7,6,0,0,3975,3976,7,14,0,0,3976,3977,7,9,0,0,3977,3978,7,18,0,0,3978,3979,7,8,0,0,3979,3980,7,24,0,0,3980,760,1,0,0,0,3981,3982,7,28,0,0,3982,3983,7,11,0,0,3983,3984,7,14,0,0,3984,3985,7,10,0,0,3985,3986,7,18,0,0,3986,3987,7,20,0,0,3987,3988,7,8,0,0,3988,762,1,0,0,0,3989,3990,7,28,0,0,3990,3991,7,18,0,0,3991,3992,7,11,0,0,3992,3993,7,30,0,0,3993,764,1,0,0,0,3994,3995,7,28,0,0,3995,3996,7,20,0,0,3996,3997,7,7,0,0,3997,3998,7,6,0,0,3998,3999,7,17,0,0,3999,4e3,7,18,0,0,4e3,4001,7,7,0,0,4001,4002,7,11,0,0,4002,766,1,0,0,0,4003,4004,7,30,0,0,4004,4005,7,21,0,0,4005,4006,7,18,0,0,4006,4007,7,17,0,0,4007,4008,7,11,0,0,4008,4009,7,10,0,0,4009,4010,7,25,0,0,4010,4011,7,6,0,0,4011,4012,7,15,0,0,4012,4013,7,11,0,0,4013,768,1,0,0,0,4014,4015,7,30,0,0,4015,4016,7,18,0,0,4016,4017,7,17,0,0,4017,4018,7,21,0,0,4018,4019,7,20,0,0,4019,4020,7,23,0,0,4020,4021,7,17,0,0,4021,770,1,0,0,0,4022,4023,7,30,0,0,4023,4024,7,20,0,0,4024,4025,7,14,0,0,4025,4026,7,22,0,0,4026,772,1,0,0,0,4027,4028,7,30,0,0,4028,4029,7,14,0,0,4029,4030,7,6,0,0,4030,4031,7,25,0,0,4031,4032,7,25,0,0,4032,4033,7,11,0,0,4033,4034,7,14,0,0,4034,774,1,0,0,0,4035,4036,7,30,0,0,4036,4037,7,14,0,0,4037,4038,7,18,0,0,4038,4039,7,17,0,0,4039,4040,7,11,0,0,4040,776,1,0,0,0,4041,4042,7,27,0,0,4042,4043,7,16,0,0,4043,4044,7,7,0,0,4044,778,1,0,0,0,4045,4046,7,9,0,0,4046,4047,7,11,0,0,4047,4048,7,6,0,0,4048,4049,7,14,0,0,4049,780,1,0,0,0,4050,4051,7,9,0,0,4051,4052,7,11,0,0,4052,4053,7,10,0,0,4053,782,1,0,0,0,4054,4055,7,12,0,0,4055,4056,7,20,0,0,4056,4057,7,8,0,0,4057,4058,7,11,0,0,4058,784,1,0,0,0,4059,4060,7,19,0,0,4060,4061,7,11,0,0,4061,4062,7,17,0,0,4062,4063,7,30,0,0,4063,4064,7,11,0,0,4064,4065,7,11,0,0,4065,4066,7,8,0,0,4066,786,1,0,0,0,4067,4068,7,19,0,0,4068,4069,7,18,0,0,4069,4070,7,24,0,0,4070,4071,7,18,0,0,4071,4072,7,8,0,0,4072,4073,7,17,0,0,4073,788,1,0,0,0,4074,4075,7,19,0,0,4075,4076,7,18,0,0,4076,4077,7,17,0,0,4077,790,1,0,0,0,4078,4079,7,19,0,0,4079,4080,7,20,0,0,4080,4081,7,20,0,0,4081,4082,7,7,0,0,4082,4083,7,11,0,0,4083,4084,7,6,0,0,4084,4085,7,8,0,0,4085,792,1,0,0,0,4086,4087,7,15,0,0,4087,4088,7,21,0,0,4088,4089,7,6,0,0,4089,4090,7,14,0,0,4090,794,1,0,0,0,4091,4092,7,15,0,0,4092,4093,7,21,0,0,4093,4094,7,6,0,0,4094,4095,7,14,0,0,4095,4096,7,6,0,0,4096,4097,7,15,0,0,4097,4098,7,17,0,0,4098,4099,7,11,0,0,4099,4100,7,14,0,0,4100,796,1,0,0,0,4101,4102,7,15,0,0,4102,4103,7,20,0,0,4103,4104,7,6,0,0,4104,4105,7,7,0,0,4105,4106,7,11,0,0,4106,4107,7,10,0,0,4107,4108,7,15,0,0,4108,4109,7,11,0,0,4109,798,1,0,0,0,4110,4111,7,13,0,0,4111,4112,7,11,0,0,4112,4113,7,15,0,0,4113,800,1,0,0,0,4114,4115,7,13,0,0,4115,4116,7,11,0,0,4116,4117,7,15,0,0,4117,4118,7,18,0,0,4118,4119,7,16,0,0,4119,4120,7,6,0,0,4120,4121,7,7,0,0,4121,802,1,0,0,0,4122,4123,7,11,0,0,4123,4124,7,27,0,0,4124,4125,7,18,0,0,4125,4126,7,10,0,0,4126,4127,7,17,0,0,4127,4128,7,10,0,0,4128,804,1,0,0,0,4129,4130,7,11,0,0,4130,4131,7,27,0,0,4131,4132,7,17,0,0,4132,4133,7,14,0,0,4133,4134,7,6,0,0,4134,4135,7,15,0,0,4135,4136,7,17,0,0,4136,806,1,0,0,0,4137,4138,7,26,0,0,4138,4139,7,7,0,0,4139,4140,7,20,0,0,4140,4141,7,6,0,0,4141,4142,7,17,0,0,4142,808,1,0,0,0,4143,4144,7,24,0,0,4144,4145,7,14,0,0,4145,4146,7,11,0,0,4146,4147,7,6,0,0,4147,4148,7,17,0,0,4148,4149,7,11,0,0,4149,4150,7,10,0,0,4150,4151,7,17,0,0,4151,810,1,0,0,0,4152,4153,7,18,0,0,4153,4154,7,8,0,0,4154,4155,7,20,0,0,4155,4156,7,23,0,0,4156,4157,7,17,0,0,4157,812,1,0,0,0,4158,4159,7,18,0,0,4159,4160,7,8,0,0,4160,4161,7,17,0,0,4161,814,1,0,0,0,4162,4163,7,18,0,0,4163,4164,7,8,0,0,4164,4165,7,17,0,0,4165,4166,7,11,0,0,4166,4167,7,24,0,0,4167,4168,7,11,0,0,4168,4169,7,14,0,0,4169,816,1,0,0,0,4170,4171,7,18,0,0,4171,4172,7,8,0,0,4172,4173,7,17,0,0,4173,4174,7,11,0,0,4174,4175,7,14,0,0,4175,4176,7,28,0,0,4176,4177,7,6,0,0,4177,4178,7,7,0,0,4178,818,1,0,0,0,4179,4180,7,7,0,0,4180,4181,7,11,0,0,4181,4182,7,6,0,0,4182,4183,7,10,0,0,4183,4184,7,17,0,0,4184,820,1,0,0,0,4185,4186,7,8,0,0,4186,4187,7,6,0,0,4187,4188,7,17,0,0,4188,4189,7,18,0,0,4189,4190,7,20,0,0,4190,4191,7,8,0,0,4191,4192,7,6,0,0,4192,4193,7,7,0,0,4193,822,1,0,0,0,4194,4195,7,8,0,0,4195,4196,7,15,0,0,4196,4197,7,21,0,0,4197,4198,7,6,0,0,4198,4199,7,14,0,0,4199,824,1,0,0,0,4200,4201,7,8,0,0,4201,4202,7,20,0,0,4202,4203,7,8,0,0,4203,4204,7,11,0,0,4204,826,1,0,0,0,4205,4206,7,8,0,0,4206,4207,7,23,0,0,4207,4208,7,7,0,0,4208,4209,7,7,0,0,4209,4210,7,18,0,0,4210,4211,7,26,0,0,4211,828,1,0,0,0,4212,4213,7,8,0,0,4213,4214,7,23,0,0,4214,4215,7,16,0,0,4215,4216,7,11,0,0,4216,4217,7,14,0,0,4217,4218,7,18,0,0,4218,4219,7,15,0,0,4219,830,1,0,0,0,4220,4221,7,20,0,0,4221,4222,7,28,0,0,4222,4223,7,11,0,0,4223,4224,7,14,0,0,4224,4225,7,7,0,0,4225,4226,7,6,0,0,4226,4227,7,9,0,0,4227,832,1,0,0,0,4228,4229,7,25,0,0,4229,4230,7,20,0,0,4230,4231,7,10,0,0,4231,4232,7,18,0,0,4232,4233,7,17,0,0,4233,4234,7,18,0,0,4234,4235,7,20,0,0,4235,4236,7,8,0,0,4236,834,1,0,0,0,4237,4238,7,25,0,0,4238,4239,7,14,0,0,4239,4240,7,11,0,0,4240,4241,7,15,0,0,4241,4242,7,18,0,0,4242,4243,7,10,0,0,4243,4244,7,18,0,0,4244,4245,7,20,0,0,4245,4246,7,8,0,0,4246,836,1,0,0,0,4247,4248,7,14,0,0,4248,4249,7,11,0,0,4249,4250,7,6,0,0,4250,4251,7,7,0,0,4251,838,1,0,0,0,4252,4253,7,14,0,0,4253,4254,7,20,0,0,4254,4255,7,30,0,0,4255,840,1,0,0,0,4256,4257,7,10,0,0,4257,4258,7,11,0,0,4258,4259,7,17,0,0,4259,4260,7,20,0,0,4260,4261,7,26,0,0,4261,842,1,0,0,0,4262,4263,7,10,0,0,4263,4264,7,16,0,0,4264,4265,7,6,0,0,4265,4266,7,7,0,0,4266,4267,7,7,0,0,4267,4268,7,18,0,0,4268,4269,7,8,0,0,4269,4270,7,17,0,0,4270,844,1,0,0,0,4271,4272,7,10,0,0,4272,4273,7,23,0,0,4273,4274,7,19,0,0,4274,4275,7,10,0,0,4275,4276,7,17,0,0,4276,4277,7,14,0,0,4277,4278,7,18,0,0,4278,4279,7,8,0,0,4279,4280,7,24,0,0,4280,846,1,0,0,0,4281,4282,7,17,0,0,4282,4283,7,18,0,0,4283,4284,7,16,0,0,4284,4285,7,11,0,0,4285,848,1,0,0,0,4286,4287,7,17,0,0,4287,4288,7,18,0,0,4288,4289,7,16,0,0,4289,4290,7,11,0,0,4290,4291,7,10,0,0,4291,4292,7,17,0,0,4292,4293,7,6,0,0,4293,4294,7,16,0,0,4294,4295,7,25,0,0,4295,850,1,0,0,0,4296,4297,7,17,0,0,4297,4298,7,14,0,0,4298,4299,7,11,0,0,4299,4300,7,6,0,0,4300,4301,7,17,0,0,4301,852,1,0,0,0,4302,4303,7,17,0,0,4303,4304,7,14,0,0,4304,4305,7,18,0,0,4305,4306,7,16,0,0,4306,854,1,0,0,0,4307,4308,7,28,0,0,4308,4309,7,6,0,0,4309,4310,7,7,0,0,4310,4311,7,23,0,0,4311,4312,7,11,0,0,4312,4313,7,10,0,0,4313,856,1,0,0,0,4314,4315,7,28,0,0,4315,4316,7,6,0,0,4316,4317,7,14,0,0,4317,4318,7,15,0,0,4318,4319,7,21,0,0,4319,4320,7,6,0,0,4320,4321,7,14,0,0,4321,858,1,0,0,0,4322,4323,7,27,0,0,4323,4324,7,16,0,0,4324,4325,7,7,0,0,4325,4326,7,6,0,0,4326,4327,7,17,0,0,4327,4328,7,17,0,0,4328,4329,7,14,0,0,4329,4330,7,18,0,0,4330,4331,7,19,0,0,4331,4332,7,23,0,0,4332,4333,7,17,0,0,4333,4334,7,11,0,0,4334,4335,7,10,0,0,4335,860,1,0,0,0,4336,4337,7,27,0,0,4337,4338,7,16,0,0,4338,4339,7,7,0,0,4339,4340,7,15,0,0,4340,4341,7,20,0,0,4341,4342,7,8,0,0,4342,4343,7,15,0,0,4343,4344,7,6,0,0,4344,4345,7,17,0,0,4345,862,1,0,0,0,4346,4347,7,27,0,0,4347,4348,7,16,0,0,4348,4349,7,7,0,0,4349,4350,7,11,0,0,4350,4351,7,7,0,0,4351,4352,7,11,0,0,4352,4353,7,16,0,0,4353,4354,7,11,0,0,4354,4355,7,8,0,0,4355,4356,7,17,0,0,4356,864,1,0,0,0,4357,4358,7,27,0,0,4358,4359,7,16,0,0,4359,4360,7,7,0,0,4360,4361,7,11,0,0,4361,4362,7,27,0,0,4362,4363,7,18,0,0,4363,4364,7,10,0,0,4364,4365,7,17,0,0,4365,4366,7,10,0,0,4366,866,1,0,0,0,4367,4368,7,27,0,0,4368,4369,7,16,0,0,4369,4370,7,7,0,0,4370,4371,7,26,0,0,4371,4372,7,20,0,0,4372,4373,7,14,0,0,4373,4374,7,11,0,0,4374,4375,7,10,0,0,4375,4376,7,17,0,0,4376,868,1,0,0,0,4377,4378,7,27,0,0,4378,4379,7,16,0,0,4379,4380,7,7,0,0,4380,4381,7,25,0,0,4381,4382,7,6,0,0,4382,4383,7,14,0,0,4383,4384,7,10,0,0,4384,4385,7,11,0,0,4385,870,1,0,0,0,4386,4387,7,27,0,0,4387,4388,7,16,0,0,4388,4389,7,7,0,0,4389,4390,7,25,0,0,4390,4391,7,18,0,0,4391,872,1,0,0,0,4392,4393,7,27,0,0,4393,4394,7,16,0,0,4394,4395,7,7,0,0,4395,4396,7,14,0,0,4396,4397,7,20,0,0,4397,4398,7,20,0,0,4398,4399,7,17,0,0,4399,874,1,0,0,0,4400,4401,7,27,0,0,4401,4402,7,16,0,0,4402,4403,7,7,0,0,4403,4404,7,10,0,0,4404,4405,7,11,0,0,4405,4406,7,14,0,0,4406,4407,7,18,0,0,4407,4408,7,6,0,0,4408,4409,7,7,0,0,4409,4410,7,18,0,0,4410,4411,7,12,0,0,4411,4412,7,11,0,0,4412,876,1,0,0,0,4413,4414,7,15,0,0,4414,4415,7,6,0,0,4415,4416,7,7,0,0,4416,4417,7,7,0,0,4417,878,1,0,0,0,4418,4419,7,15,0,0,4419,4420,7,23,0,0,4420,4421,7,14,0,0,4421,4422,7,14,0,0,4422,4423,7,11,0,0,4423,4424,7,8,0,0,4424,4425,7,17,0,0,4425,880,1,0,0,0,4426,4427,7,6,0,0,4427,4428,7,17,0,0,4428,4429,7,17,0,0,4429,4430,7,6,0,0,4430,4431,7,15,0,0,4431,4432,7,21,0,0,4432,882,1,0,0,0,4433,4434,7,13,0,0,4434,4435,7,11,0,0,4435,4436,7,17,0,0,4436,4437,7,6,0,0,4437,4438,7,15,0,0,4438,4439,7,21,0,0,4439,884,1,0,0,0,4440,4441,7,11,0,0,4441,4442,7,27,0,0,4442,4443,7,25,0,0,4443,4444,7,14,0,0,4444,4445,7,11,0,0,4445,4446,7,10,0,0,4446,4447,7,10,0,0,4447,4448,7,18,0,0,4448,4449,7,20,0,0,4449,4450,7,8,0,0,4450,886,1,0,0,0,4451,4452,7,24,0,0,4452,4453,7,11,0,0,4453,4454,7,8,0,0,4454,4455,7,11,0,0,4455,4456,7,14,0,0,4456,4457,7,6,0,0,4457,4458,7,17,0,0,4458,4459,7,11,0,0,4459,4460,7,13,0,0,4460,888,1,0,0,0,4461,4462,7,7,0,0,4462,4463,7,20,0,0,4463,4464,7,24,0,0,4464,4465,7,24,0,0,4465,4466,7,11,0,0,4466,4467,7,13,0,0,4467,890,1,0,0,0,4468,4469,7,10,0,0,4469,4470,7,17,0,0,4470,4471,7,20,0,0,4471,4472,7,14,0,0,4472,4473,7,11,0,0,4473,4474,7,13,0,0,4474,892,1,0,0,0,4475,4476,7,18,0,0,4476,4477,7,8,0,0,4477,4478,7,15,0,0,4478,4479,7,7,0,0,4479,4480,7,23,0,0,4480,4481,7,13,0,0,4481,4482,7,11,0,0,4482,894,1,0,0,0,4483,4484,7,14,0,0,4484,4485,7,20,0,0,4485,4486,7,23,0,0,4486,4487,7,17,0,0,4487,4488,7,18,0,0,4488,4489,7,8,0,0,4489,4490,7,11,0,0,4490,896,1,0,0,0,4491,4492,7,17,0,0,4492,4493,7,14,0,0,4493,4494,7,6,0,0,4494,4495,7,8,0,0,4495,4496,7,10,0,0,4496,4497,7,26,0,0,4497,4498,7,20,0,0,4498,4499,7,14,0,0,4499,4500,7,16,0,0,4500,898,1,0,0,0,4501,4502,7,18,0,0,4502,4503,7,16,0,0,4503,4504,7,25,0,0,4504,4505,7,20,0,0,4505,4506,7,14,0,0,4506,4507,7,17,0,0,4507,900,1,0,0,0,4508,4509,7,25,0,0,4509,4510,7,20,0,0,4510,4511,7,7,0,0,4511,4512,7,18,0,0,4512,4513,7,15,0,0,4513,4514,7,9,0,0,4514,902,1,0,0,0,4515,4516,7,16,0,0,4516,4517,7,11,0,0,4517,4518,7,17,0,0,4518,4519,7,21,0,0,4519,4520,7,20,0,0,4520,4521,7,13,0,0,4521,904,1,0,0,0,4522,4523,7,14,0,0,4523,4524,7,11,0,0,4524,4525,7,26,0,0,4525,4526,7,11,0,0,4526,4527,7,14,0,0,4527,4528,7,11,0,0,4528,4529,7,8,0,0,4529,4530,7,15,0,0,4530,4531,7,18,0,0,4531,4532,7,8,0,0,4532,4533,7,24,0,0,4533,906,1,0,0,0,4534,4535,7,8,0,0,4535,4536,7,11,0,0,4536,4537,7,30,0,0,4537,908,1,0,0,0,4538,4539,7,20,0,0,4539,4540,7,7,0,0,4540,4541,7,13,0,0,4541,910,1,0,0,0,4542,4543,7,28,0,0,4543,4544,7,6,0,0,4544,4545,7,7,0,0,4545,4546,7,23,0,0,4546,4547,7,11,0,0,4547,912,1,0,0,0,4548,4549,7,10,0,0,4549,4550,7,23,0,0,4550,4551,7,19,0,0,4551,4552,7,10,0,0,4552,4553,7,15,0,0,4553,4554,7,14,0,0,4554,4555,7,18,0,0,4555,4556,7,25,0,0,4556,4557,7,17,0,0,4557,4558,7,18,0,0,4558,4559,7,20,0,0,4559,4560,7,8,0,0,4560,914,1,0,0,0,4561,4562,7,25,0,0,4562,4563,7,23,0,0,4563,4564,7,19,0,0,4564,4565,7,7,0,0,4565,4566,7,18,0,0,4566,4567,7,15,0,0,4567,4568,7,6,0,0,4568,4569,7,17,0,0,4569,4570,7,18,0,0,4570,4571,7,20,0,0,4571,4572,7,8,0,0,4572,916,1,0,0,0,4573,4574,7,20,0,0,4574,4575,7,23,0,0,4575,4576,7,17,0,0,4576,918,1,0,0,0,4577,4578,7,11,0,0,4578,4579,7,8,0,0,4579,4580,7,13,0,0,4580,920,1,0,0,0,4581,4582,7,14,0,0,4582,4583,7,20,0,0,4583,4584,7,23,0,0,4584,4585,7,17,0,0,4585,4586,7,18,0,0,4586,4587,7,8,0,0,4587,4588,7,11,0,0,4588,4589,7,10,0,0,4589,922,1,0,0,0,4590,4591,7,10,0,0,4591,4592,7,15,0,0,4592,4593,7,21,0,0,4593,4594,7,11,0,0,4594,4595,7,16,0,0,4595,4596,7,6,0,0,4596,4597,7,10,0,0,4597,924,1,0,0,0,4598,4599,7,25,0,0,4599,4600,7,14,0,0,4600,4601,7,20,0,0,4601,4602,7,15,0,0,4602,4603,7,11,0,0,4603,4604,7,13,0,0,4604,4605,7,23,0,0,4605,4606,7,14,0,0,4606,4607,7,11,0,0,4607,4608,7,10,0,0,4608,926,1,0,0,0,4609,4610,7,18,0,0,4610,4611,7,8,0,0,4611,4612,7,25,0,0,4612,4613,7,23,0,0,4613,4614,7,17,0,0,4614,928,1,0,0,0,4615,4616,7,10,0,0,4616,4617,7,23,0,0,4617,4618,7,25,0,0,4618,4619,7,25,0,0,4619,4620,7,20,0,0,4620,4621,7,14,0,0,4621,4622,7,17,0,0,4622,930,1,0,0,0,4623,4624,7,25,0,0,4624,4625,7,6,0,0,4625,4626,7,14,0,0,4626,4627,7,6,0,0,4627,4628,7,7,0,0,4628,4629,7,7,0,0,4629,4630,7,11,0,0,4630,4631,7,7,0,0,4631,932,1,0,0,0,4632,4633,7,10,0,0,4633,4634,7,29,0,0,4634,4635,7,7,0,0,4635,934,1,0,0,0,4636,4637,7,13,0,0,4637,4638,7,11,0,0,4638,4639,7,25,0,0,4639,4640,7,11,0,0,4640,4641,7,8,0,0,4641,4642,7,13,0,0,4642,4643,7,10,0,0,4643,936,1,0,0,0,4644,4645,7,20,0,0,4645,4646,7,28,0,0,4646,4647,7,11,0,0,4647,4648,7,14,0,0,4648,4649,7,14,0,0,4649,4650,7,18,0,0,4650,4651,7,13,0,0,4651,4652,7,18,0,0,4652,4653,7,8,0,0,4653,4654,7,24,0,0,4654,938,1,0,0,0,4655,4656,7,15,0,0,4656,4657,7,20,0,0,4657,4658,7,8,0,0,4658,4659,7,26,0,0,4659,4660,7,7,0,0,4660,4661,7,18,0,0,4661,4662,7,15,0,0,4662,4663,7,17,0,0,4663,940,1,0,0,0,4664,4665,7,10,0,0,4665,4666,7,22,0,0,4666,4667,7,18,0,0,4667,4668,7,25,0,0,4668,942,1,0,0,0,4669,4670,7,7,0,0,4670,4671,7,20,0,0,4671,4672,7,15,0,0,4672,4673,7,22,0,0,4673,4674,7,11,0,0,4674,4675,7,13,0,0,4675,944,1,0,0,0,4676,4677,7,17,0,0,4677,4678,7,18,0,0,4678,4679,7,11,0,0,4679,4680,7,10,0,0,4680,946,1,0,0,0,4681,4682,7,14,0,0,4682,4683,7,20,0,0,4683,4684,7,7,0,0,4684,4685,7,7,0,0,4685,4686,7,23,0,0,4686,4687,7,25,0,0,4687,948,1,0,0,0,4688,4689,7,15,0,0,4689,4690,7,23,0,0,4690,4691,7,19,0,0,4691,4692,7,11,0,0,4692,950,1,0,0,0,4693,4694,7,24,0,0,4694,4695,7,14,0,0,4695,4696,7,20,0,0,4696,4697,7,23,0,0,4697,4698,7,25,0,0,4698,4699,7,18,0,0,4699,4700,7,8,0,0,4700,4701,7,24,0,0,4701,952,1,0,0,0,4702,4703,7,10,0,0,4703,4704,7,11,0,0,4704,4705,7,17,0,0,4705,4706,7,10,0,0,4706,954,1,0,0,0,4707,4708,7,17,0,0,4708,4709,7,6,0,0,4709,4710,7,19,0,0,4710,4711,7,7,0,0,4711,4712,7,11,0,0,4712,4713,7,10,0,0,4713,4714,7,6,0,0,4714,4715,7,16,0,0,4715,4716,7,25,0,0,4716,4717,7,7,0,0,4717,4718,7,11,0,0,4718,956,1,0,0,0,4719,4720,7,20,0,0,4720,4721,7,14,0,0,4721,4722,7,13,0,0,4722,4723,7,18,0,0,4723,4724,7,8,0,0,4724,4725,7,6,0,0,4725,4726,7,7,0,0,4726,4727,7,18,0,0,4727,4728,7,17,0,0,4728,4729,7,9,0,0,4729,958,1,0,0,0,4730,4731,7,27,0,0,4731,4732,7,16,0,0,4732,4733,7,7,0,0,4733,4734,7,17,0,0,4734,4735,7,6,0,0,4735,4736,7,19,0,0,4736,4737,7,7,0,0,4737,4738,7,11,0,0,4738,960,1,0,0,0,4739,4740,7,15,0,0,4740,4741,7,20,0,0,4741,4742,7,7,0,0,4742,4743,7,23,0,0,4743,4744,7,16,0,0,4744,4745,7,8,0,0,4745,4746,7,10,0,0,4746,962,1,0,0,0,4747,4748,7,27,0,0,4748,4749,7,16,0,0,4749,4750,7,7,0,0,4750,4751,7,8,0,0,4751,4752,7,6,0,0,4752,4753,7,16,0,0,4753,4754,7,11,0,0,4754,4755,7,10,0,0,4755,4756,7,25,0,0,4756,4757,7,6,0,0,4757,4758,7,15,0,0,4758,4759,7,11,0,0,4759,4760,7,10,0,0,4760,964,1,0,0,0,4761,4762,7,14,0,0,4762,4763,7,20,0,0,4763,4764,7,30,0,0,4764,4765,7,17,0,0,4765,4766,7,9,0,0,4766,4767,7,25,0,0,4767,4768,7,11,0,0,4768,966,1,0,0,0,4769,4770,7,8,0,0,4770,4771,7,20,0,0,4771,4772,7,14,0,0,4772,4773,7,16,0,0,4773,4774,7,6,0,0,4774,4775,7,7,0,0,4775,4776,7,18,0,0,4776,4777,7,12,0,0,4777,4778,7,11,0,0,4778,4779,7,13,0,0,4779,968,1,0,0,0,4780,4781,7,30,0,0,4781,4782,7,18,0,0,4782,4783,7,17,0,0,4783,4784,7,21,0,0,4784,4785,7,18,0,0,4785,4786,7,8,0,0,4786,970,1,0,0,0,4787,4788,7,26,0,0,4788,4789,7,18,0,0,4789,4790,7,7,0,0,4790,4791,7,17,0,0,4791,4792,7,11,0,0,4792,4793,7,14,0,0,4793,972,1,0,0,0,4794,4795,7,24,0,0,4795,4796,7,14,0,0,4796,4797,7,20,0,0,4797,4798,7,23,0,0,4798,4799,7,25,0,0,4799,4800,7,10,0,0,4800,974,1,0,0,0,4801,4802,7,20,0,0,4802,4803,7,17,0,0,4803,4804,7,21,0,0,4804,4805,7,11,0,0,4805,4806,7,14,0,0,4806,4807,7,10,0,0,4807,976,1,0,0,0,4808,4809,7,8,0,0,4809,4810,7,26,0,0,4810,4811,7,15,0,0,4811,978,1,0,0,0,4812,4813,7,8,0,0,4813,4814,7,26,0,0,4814,4815,7,13,0,0,4815,980,1,0,0,0,4816,4817,7,8,0,0,4817,4818,7,26,0,0,4818,4819,7,22,0,0,4819,4820,7,15,0,0,4820,982,1,0,0,0,4821,4822,7,8,0,0,4822,4823,7,26,0,0,4823,4824,7,22,0,0,4824,4825,7,13,0,0,4825,984,1,0,0,0,4826,4827,7,23,0,0,4827,4828,7,11,0,0,4828,4829,7,10,0,0,4829,4830,7,15,0,0,4830,4831,7,6,0,0,4831,4832,7,25,0,0,4832,4833,7,11,0,0,4833,986,1,0,0,0,4834,4835,7,28,0,0,4835,4836,7,18,0,0,4836,4837,7,11,0,0,4837,4838,7,30,0,0,4838,4839,7,10,0,0,4839,988,1,0,0,0,4840,4841,7,8,0,0,4841,4842,7,20,0,0,4842,4843,7,14,0,0,4843,4844,7,16,0,0,4844,4845,7,6,0,0,4845,4846,7,7,0,0,4846,4847,7,18,0,0,4847,4848,7,12,0,0,4848,4849,7,11,0,0,4849,990,1,0,0,0,4850,4851,7,13,0,0,4851,4852,7,23,0,0,4852,4853,7,16,0,0,4853,4854,7,25,0,0,4854,992,1,0,0,0,4855,4856,7,25,0,0,4856,4857,7,14,0,0,4857,4858,7,18,0,0,4858,4859,7,8,0,0,4859,4860,7,17,0,0,4860,4861,5,95,0,0,4861,4862,7,10,0,0,4862,4863,7,17,0,0,4863,4864,7,14,0,0,4864,4865,7,18,0,0,4865,4866,7,15,0,0,4866,4867,7,17,0,0,4867,4868,5,95,0,0,4868,4869,7,25,0,0,4869,4870,7,6,0,0,4870,4871,7,14,0,0,4871,4872,7,6,0,0,4872,4873,7,16,0,0,4873,4874,7,10,0,0,4874,994,1,0,0,0,4875,4876,7,28,0,0,4876,4877,7,6,0,0,4877,4878,7,14,0,0,4878,4879,7,18,0,0,4879,4880,7,6,0,0,4880,4881,7,19,0,0,4881,4882,7,7,0,0,4882,4883,7,11,0,0,4883,4884,5,95,0,0,4884,4885,7,15,0,0,4885,4886,7,20,0,0,4886,4887,7,8,0,0,4887,4888,7,26,0,0,4888,4889,7,7,0,0,4889,4890,7,18,0,0,4890,4891,7,15,0,0,4891,4892,7,17,0,0,4892,996,1,0,0,0,4893,4894,7,11,0,0,4894,4895,7,14,0,0,4895,4896,7,14,0,0,4896,4897,7,20,0,0,4897,4898,7,14,0,0,4898,998,1,0,0,0,4899,4900,7,23,0,0,4900,4901,7,10,0,0,4901,4902,7,11,0,0,4902,4903,5,95,0,0,4903,4904,7,28,0,0,4904,4905,7,6,0,0,4905,4906,7,14,0,0,4906,4907,7,18,0,0,4907,4908,7,6,0,0,4908,4909,7,19,0,0,4909,4910,7,7,0,0,4910,4911,7,11,0,0,4911,1e3,1,0,0,0,4912,4913,7,23,0,0,4913,4914,7,10,0,0,4914,4915,7,11,0,0,4915,4916,5,95,0,0,4916,4917,7,15,0,0,4917,4918,7,20,0,0,4918,4919,7,7,0,0,4919,4920,7,23,0,0,4920,4921,7,16,0,0,4921,4922,7,8,0,0,4922,1002,1,0,0,0,4923,4924,7,6,0,0,4924,4925,7,7,0,0,4925,4926,7,18,0,0,4926,4927,7,6,0,0,4927,4928,7,10,0,0,4928,1004,1,0,0,0,4929,4930,7,15,0,0,4930,4931,7,20,0,0,4931,4932,7,8,0,0,4932,4933,7,10,0,0,4933,4934,7,17,0,0,4934,4935,7,6,0,0,4935,4936,7,8,0,0,4936,4937,7,17,0,0,4937,1006,1,0,0,0,4938,4939,7,25,0,0,4939,4940,7,11,0,0,4940,4941,7,14,0,0,4941,4942,7,26,0,0,4942,4943,7,20,0,0,4943,4944,7,14,0,0,4944,4945,7,16,0,0,4945,1008,1,0,0,0,4946,4947,7,24,0,0,4947,4948,7,11,0,0,4948,4949,7,17,0,0,4949,1010,1,0,0,0,4950,4951,7,13,0,0,4951,4952,7,18,0,0,4952,4953,7,6,0,0,4953,4954,7,24,0,0,4954,4955,7,8,0,0,4955,4956,7,20,0,0,4956,4957,7,10,0,0,4957,4958,7,17,0,0,4958,4959,7,18,0,0,4959,4960,7,15,0,0,4960,4961,7,10,0,0,4961,1012,1,0,0,0,4962,4963,7,10,0,0,4963,4964,7,17,0,0,4964,4965,7,6,0,0,4965,4966,7,15,0,0,4966,4967,7,22,0,0,4967,4968,7,11,0,0,4968,4969,7,13,0,0,4969,1014,1,0,0,0,4970,4971,7,11,0,0,4971,4972,7,7,0,0,4972,4973,7,10,0,0,4973,4974,7,18,0,0,4974,4975,7,26,0,0,4975,1016,1,0,0,0,4976,4977,7,30,0,0,4977,4978,7,21,0,0,4978,4979,7,18,0,0,4979,4980,7,7,0,0,4980,4981,7,11,0,0,4981,1018,1,0,0,0,4982,4983,7,14,0,0,4983,4984,7,11,0,0,4984,4985,7,28,0,0,4985,4986,7,11,0,0,4986,4987,7,14,0,0,4987,4988,7,10,0,0,4988,4989,7,11,0,0,4989,1020,1,0,0,0,4990,4991,7,26,0,0,4991,4992,7,20,0,0,4992,4993,7,14,0,0,4993,4994,7,11,0,0,4994,4995,7,6,0,0,4995,4996,7,15,0,0,4996,4997,7,21,0,0,4997,1022,1,0,0,0,4998,4999,7,10,0,0,4999,5e3,7,7,0,0,5e3,5001,7,18,0,0,5001,5002,7,15,0,0,5002,5003,7,11,0,0,5003,1024,1,0,0,0,5004,5005,7,11,0,0,5005,5006,7,27,0,0,5006,5007,7,18,0,0,5007,5008,7,17,0,0,5008,1026,1,0,0,0,5009,5010,7,14,0,0,5010,5011,7,11,0,0,5011,5012,7,17,0,0,5012,5013,7,23,0,0,5013,5014,7,14,0,0,5014,5015,7,8,0,0,5015,1028,1,0,0,0,5016,5017,7,29,0,0,5017,5018,7,23,0,0,5018,5019,7,11,0,0,5019,5020,7,14,0,0,5020,5021,7,9,0,0,5021,1030,1,0,0,0,5022,5023,7,14,0,0,5023,5024,7,6,0,0,5024,5025,7,18,0,0,5025,5026,7,10,0,0,5026,5027,7,11,0,0,5027,1032,1,0,0,0,5028,5029,7,10,0,0,5029,5030,7,29,0,0,5030,5031,7,7,0,0,5031,5032,7,10,0,0,5032,5033,7,17,0,0,5033,5034,7,6,0,0,5034,5035,7,17,0,0,5035,5036,7,11,0,0,5036,1034,1,0,0,0,5037,5038,7,13,0,0,5038,5039,7,11,0,0,5039,5040,7,19,0,0,5040,5041,7,23,0,0,5041,5042,7,24,0,0,5042,1036,1,0,0,0,5043,5044,7,7,0,0,5044,5045,7,20,0,0,5045,5046,7,24,0,0,5046,1038,1,0,0,0,5047,5048,7,18,0,0,5048,5049,7,8,0,0,5049,5050,7,26,0,0,5050,5051,7,20,0,0,5051,1040,1,0,0,0,5052,5053,7,8,0,0,5053,5054,7,20,0,0,5054,5055,7,17,0,0,5055,5056,7,18,0,0,5056,5057,7,15,0,0,5057,5058,7,11,0,0,5058,1042,1,0,0,0,5059,5060,7,30,0,0,5060,5061,7,6,0,0,5061,5062,7,14,0,0,5062,5063,7,8,0,0,5063,5064,7,18,0,0,5064,5065,7,8,0,0,5065,5066,7,24,0,0,5066,1044,1,0,0,0,5067,5068,7,11,0,0,5068,5069,7,27,0,0,5069,5070,7,15,0,0,5070,5071,7,11,0,0,5071,5072,7,25,0,0,5072,5073,7,17,0,0,5073,5074,7,18,0,0,5074,5075,7,20,0,0,5075,5076,7,8,0,0,5076,1046,1,0,0,0,5077,5078,7,6,0,0,5078,5079,7,10,0,0,5079,5080,7,10,0,0,5080,5081,7,11,0,0,5081,5082,7,14,0,0,5082,5083,7,17,0,0,5083,1048,1,0,0,0,5084,5085,7,7,0,0,5085,5086,7,20,0,0,5086,5087,7,20,0,0,5087,5088,7,25,0,0,5088,1050,1,0,0,0,5089,5090,7,20,0,0,5090,5091,7,25,0,0,5091,5092,7,11,0,0,5092,5093,7,8,0,0,5093,1052,1,0,0,0,5094,5095,7,25,0,0,5095,5096,7,11,0,0,5096,5097,7,26,0,0,5097,5098,7,11,0,0,5098,5099,7,14,0,0,5099,5100,7,11,0,0,5100,5101,7,8,0,0,5101,5102,7,15,0,0,5102,5103,7,11,0,0,5103,5104,7,10,0,0,5104,1054,1,0,0,0,5105,5106,7,23,0,0,5106,5107,7,10,0,0,5107,5108,7,6,0,0,5108,5109,7,24,0,0,5109,5110,7,11,0,0,5110,1056,1,0,0,0,5111,5112,7,15,0,0,5112,5113,7,20,0,0,5113,5114,7,8,0,0,5114,5115,7,8,0,0,5115,5116,7,11,0,0,5116,5117,7,15,0,0,5117,5118,7,17,0,0,5118,1058,1,0,0,0,5119,5120,7,25,0,0,5120,5121,7,23,0,0,5121,5122,7,19,0,0,5122,5123,7,7,0,0,5123,5124,7,18,0,0,5124,5125,7,15,0,0,5125,1060,1,0,0,0,5126,5127,7,16,0,0,5127,5128,7,11,0,0,5128,5129,7,14,0,0,5129,5130,7,24,0,0,5130,5131,7,11,0,0,5131,1062,1,0,0,0,5132,5133,7,16,0,0,5133,5134,7,6,0,0,5134,5135,7,17,0,0,5135,5136,7,15,0,0,5136,5137,7,21,0,0,5137,5138,7,11,0,0,5138,5139,7,13,0,0,5139,1064,1,0,0,0,5140,5141,7,19,0,0,5141,5142,7,14,0,0,5142,5143,7,11,0,0,5143,5144,7,6,0,0,5144,5145,7,13,0,0,5145,5146,7,17,0,0,5146,5147,7,21,0,0,5147,1066,1,0,0,0,5148,5149,7,13,0,0,5149,5150,7,11,0,0,5150,5151,7,25,0,0,5151,5152,7,17,0,0,5152,5153,7,21,0,0,5153,1068,1,0,0,0,5154,5155,7,23,0,0,5155,5156,7,8,0,0,5156,5157,7,10,0,0,5157,5158,7,6,0,0,5158,5159,7,26,0,0,5159,5160,7,11,0,0,5160,1070,1,0,0,0,5161,5162,7,14,0,0,5162,5163,7,11,0,0,5163,5164,7,10,0,0,5164,5165,7,17,0,0,5165,5166,7,14,0,0,5166,5167,7,18,0,0,5167,5168,7,15,0,0,5168,5169,7,17,0,0,5169,5170,7,11,0,0,5170,5171,7,13,0,0,5171,1072,1,0,0,0,5172,5173,7,10,0,0,5173,5174,7,6,0,0,5174,5175,7,26,0,0,5175,5176,7,11,0,0,5176,1074,1,0,0,0,5177,5178,7,26,0,0,5178,5179,7,18,0,0,5179,5180,7,8,0,0,5180,5181,7,6,0,0,5181,5182,7,7,0,0,5182,5183,7,18,0,0,5183,5184,7,12,0,0,5184,5185,7,11,0,0,5185,1076,1,0,0,0,5186,5187,7,16,0,0,5187,5188,7,20,0,0,5188,5189,7,13,0,0,5189,5190,7,23,0,0,5190,5191,7,7,0,0,5191,5192,7,23,0,0,5192,5193,7,10,0,0,5193,1078,1,0,0,0,5194,5195,7,14,0,0,5195,5196,7,11,0,0,5196,5197,7,16,0,0,5197,5198,7,6,0,0,5198,5199,7,18,0,0,5199,5200,7,8,0,0,5200,5201,7,13,0,0,5201,5202,7,11,0,0,5202,5203,7,14,0,0,5203,1080,1,0,0,0,5204,5205,7,7,0,0,5205,5206,7,20,0,0,5206,5207,7,24,0,0,5207,5208,7,18,0,0,5208,5209,7,8,0,0,5209,1082,1,0,0,0,5210,5211,7,8,0,0,5211,5212,7,20,0,0,5212,5213,7,7,0,0,5213,5214,7,20,0,0,5214,5215,7,24,0,0,5215,5216,7,18,0,0,5216,5217,7,8,0,0,5217,1084,1,0,0,0,5218,5219,7,14,0,0,5219,5220,7,11,0,0,5220,5221,7,25,0,0,5221,5222,7,7,0,0,5222,5223,7,18,0,0,5223,5224,7,15,0,0,5224,5225,7,6,0,0,5225,5226,7,17,0,0,5226,5227,7,18,0,0,5227,5228,7,20,0,0,5228,5229,7,8,0,0,5229,1086,1,0,0,0,5230,5231,7,8,0,0,5231,5232,7,20,0,0,5232,5233,7,14,0,0,5233,5234,7,11,0,0,5234,5235,7,25,0,0,5235,5236,7,7,0,0,5236,5237,7,18,0,0,5237,5238,7,15,0,0,5238,5239,7,6,0,0,5239,5240,7,17,0,0,5240,5241,7,18,0,0,5241,5242,7,20,0,0,5242,5243,7,8,0,0,5243,1088,1,0,0,0,5244,5245,7,19,0,0,5245,5246,7,9,0,0,5246,5247,7,25,0,0,5247,5248,7,6,0,0,5248,5249,7,10,0,0,5249,5250,7,10,0,0,5250,5251,7,14,0,0,5251,5252,7,7,0,0,5252,5253,7,10,0,0,5253,1090,1,0,0,0,5254,5255,7,8,0,0,5255,5256,7,20,0,0,5256,5257,7,19,0,0,5257,5258,7,9,0,0,5258,5259,7,25,0,0,5259,5260,7,6,0,0,5260,5261,7,10,0,0,5261,5262,7,10,0,0,5262,5263,7,14,0,0,5263,5264,7,7,0,0,5264,5265,7,10,0,0,5265,1092,1,0,0,0,5266,5267,7,25,0,0,5267,5268,7,11,0,0,5268,5269,7,14,0,0,5269,5270,7,16,0,0,5270,5271,7,18,0,0,5271,5272,7,10,0,0,5272,5273,7,10,0,0,5273,5274,7,18,0,0,5274,5275,7,28,0,0,5275,5276,7,11,0,0,5276,1094,1,0,0,0,5277,5278,7,14,0,0,5278,5279,7,11,0,0,5279,5280,7,10,0,0,5280,5281,7,17,0,0,5281,5282,7,14,0,0,5282,5283,7,18,0,0,5283,5284,7,15,0,0,5284,5285,7,17,0,0,5285,5286,7,18,0,0,5286,5287,7,28,0,0,5287,5288,7,11,0,0,5288,1096,1,0,0,0,5289,5290,7,15,0,0,5290,5291,7,20,0,0,5291,5292,7,16,0,0,5292,5293,7,25,0,0,5293,5294,7,14,0,0,5294,5295,7,11,0,0,5295,5296,7,10,0,0,5296,5297,7,10,0,0,5297,5298,7,18,0,0,5298,5299,7,20,0,0,5299,5300,7,8,0,0,5300,1098,1,0,0,0,5301,5302,7,25,0,0,5302,5303,7,7,0,0,5303,5304,7,6,0,0,5304,5305,7,18,0,0,5305,5306,7,8,0,0,5306,1100,1,0,0,0,5307,5308,7,11,0,0,5308,5309,7,27,0,0,5309,5310,7,17,0,0,5310,5311,7,11,0,0,5311,5312,7,8,0,0,5312,5313,7,13,0,0,5313,5314,7,11,0,0,5314,5315,7,13,0,0,5315,1102,1,0,0,0,5316,5317,7,16,0,0,5317,5318,7,6,0,0,5318,5319,7,18,0,0,5319,5320,7,8,0,0,5320,1104,1,0,0,0,5321,5322,7,10,0,0,5322,5323,7,22,0,0,5323,5324,7,18,0,0,5324,5325,7,25,0,0,5325,5326,5,95,0,0,5326,5327,7,7,0,0,5327,5328,7,20,0,0,5328,5329,7,15,0,0,5329,5330,7,22,0,0,5330,5331,7,11,0,0,5331,5332,7,13,0,0,5332,1106,1,0,0,0,5333,5334,7,19,0,0,5334,5335,7,23,0,0,5335,5336,7,26,0,0,5336,5337,7,26,0,0,5337,5338,7,11,0,0,5338,5339,7,14,0,0,5339,5340,5,95,0,0,5340,5341,7,23,0,0,5341,5342,7,10,0,0,5342,5343,7,6,0,0,5343,5344,7,24,0,0,5344,5345,7,11,0,0,5345,5346,5,95,0,0,5346,5347,7,7,0,0,5347,5348,7,18,0,0,5348,5349,7,16,0,0,5349,5350,7,18,0,0,5350,5351,7,17,0,0,5351,1108,1,0,0,0,5352,5356,3,1111,553,0,5353,5355,3,1113,554,0,5354,5353,1,0,0,0,5355,5358,1,0,0,0,5356,5354,1,0,0,0,5356,5357,1,0,0,0,5357,1110,1,0,0,0,5358,5356,1,0,0,0,5359,5363,7,32,0,0,5360,5361,7,33,0,0,5361,5363,7,34,0,0,5362,5359,1,0,0,0,5362,5360,1,0,0,0,5363,1112,1,0,0,0,5364,5367,3,1115,555,0,5365,5367,5,36,0,0,5366,5364,1,0,0,0,5366,5365,1,0,0,0,5367,1114,1,0,0,0,5368,5371,3,1111,553,0,5369,5371,7,0,0,0,5370,5368,1,0,0,0,5370,5369,1,0,0,0,5371,1116,1,0,0,0,5372,5373,3,1119,557,0,5373,5374,5,34,0,0,5374,1118,1,0,0,0,5375,5381,5,34,0,0,5376,5377,5,34,0,0,5377,5380,5,34,0,0,5378,5380,8,35,0,0,5379,5376,1,0,0,0,5379,5378,1,0,0,0,5380,5383,1,0,0,0,5381,5379,1,0,0,0,5381,5382,1,0,0,0,5382,1120,1,0,0,0,5383,5381,1,0,0,0,5384,5385,3,1123,559,0,5385,5386,5,34,0,0,5386,1122,1,0,0,0,5387,5393,5,34,0,0,5388,5389,5,34,0,0,5389,5392,5,34,0,0,5390,5392,8,36,0,0,5391,5388,1,0,0,0,5391,5390,1,0,0,0,5392,5395,1,0,0,0,5393,5391,1,0,0,0,5393,5394,1,0,0,0,5394,1124,1,0,0,0,5395,5393,1,0,0,0,5396,5397,7,23,0,0,5397,5398,5,38,0,0,5398,5399,3,1117,556,0,5399,1126,1,0,0,0,5400,5401,7,23,0,0,5401,5402,5,38,0,0,5402,5403,3,1119,557,0,5403,1128,1,0,0,0,5404,5405,7,23,0,0,5405,5406,5,38,0,0,5406,5407,3,1121,558,0,5407,1130,1,0,0,0,5408,5409,7,23,0,0,5409,5410,5,38,0,0,5410,5411,3,1123,559,0,5411,1132,1,0,0,0,5412,5413,3,1135,565,0,5413,5414,5,39,0,0,5414,1134,1,0,0,0,5415,5421,5,39,0,0,5416,5417,5,39,0,0,5417,5420,5,39,0,0,5418,5420,8,37,0,0,5419,5416,1,0,0,0,5419,5418,1,0,0,0,5420,5423,1,0,0,0,5421,5419,1,0,0,0,5421,5422,1,0,0,0,5422,1136,1,0,0,0,5423,5421,1,0,0,0,5424,5425,7,11,0,0,5425,5426,5,39,0,0,5426,5427,1,0,0,0,5427,5428,6,566,1,0,5428,5429,6,566,2,0,5429,1138,1,0,0,0,5430,5431,3,1141,568,0,5431,5432,5,39,0,0,5432,1140,1,0,0,0,5433,5434,7,23,0,0,5434,5435,5,38,0,0,5435,5436,3,1135,565,0,5436,1142,1,0,0,0,5437,5439,5,36,0,0,5438,5440,3,1145,570,0,5439,5438,1,0,0,0,5439,5440,1,0,0,0,5440,5441,1,0,0,0,5441,5442,5,36,0,0,5442,5443,1,0,0,0,5443,5444,6,569,3,0,5444,1144,1,0,0,0,5445,5449,3,1111,553,0,5446,5448,3,1115,555,0,5447,5446,1,0,0,0,5448,5451,1,0,0,0,5449,5447,1,0,0,0,5449,5450,1,0,0,0,5450,1146,1,0,0,0,5451,5449,1,0,0,0,5452,5453,3,1149,572,0,5453,5454,5,39,0,0,5454,1148,1,0,0,0,5455,5456,7,19,0,0,5456,5460,5,39,0,0,5457,5459,7,38,0,0,5458,5457,1,0,0,0,5459,5462,1,0,0,0,5460,5458,1,0,0,0,5460,5461,1,0,0,0,5461,1150,1,0,0,0,5462,5460,1,0,0,0,5463,5464,3,1153,574,0,5464,5465,5,39,0,0,5465,1152,1,0,0,0,5466,5467,7,19,0,0,5467,5468,3,1135,565,0,5468,1154,1,0,0,0,5469,5470,3,1157,576,0,5470,5471,5,39,0,0,5471,1156,1,0,0,0,5472,5473,7,27,0,0,5473,5477,5,39,0,0,5474,5476,7,39,0,0,5475,5474,1,0,0,0,5476,5479,1,0,0,0,5477,5475,1,0,0,0,5477,5478,1,0,0,0,5478,1158,1,0,0,0,5479,5477,1,0,0,0,5480,5481,3,1161,578,0,5481,5482,5,39,0,0,5482,1160,1,0,0,0,5483,5484,7,27,0,0,5484,5485,3,1135,565,0,5485,1162,1,0,0,0,5486,5487,3,1169,582,0,5487,1164,1,0,0,0,5488,5489,3,1169,582,0,5489,5490,5,46,0,0,5490,5491,5,46,0,0,5491,1166,1,0,0,0,5492,5493,3,1169,582,0,5493,5495,5,46,0,0,5494,5496,3,1169,582,0,5495,5494,1,0,0,0,5495,5496,1,0,0,0,5496,5502,1,0,0,0,5497,5499,7,11,0,0,5498,5500,7,1,0,0,5499,5498,1,0,0,0,5499,5500,1,0,0,0,5500,5501,1,0,0,0,5501,5503,3,1169,582,0,5502,5497,1,0,0,0,5502,5503,1,0,0,0,5503,5521,1,0,0,0,5504,5505,5,46,0,0,5505,5511,3,1169,582,0,5506,5508,7,11,0,0,5507,5509,7,1,0,0,5508,5507,1,0,0,0,5508,5509,1,0,0,0,5509,5510,1,0,0,0,5510,5512,3,1169,582,0,5511,5506,1,0,0,0,5511,5512,1,0,0,0,5512,5521,1,0,0,0,5513,5514,3,1169,582,0,5514,5516,7,11,0,0,5515,5517,7,1,0,0,5516,5515,1,0,0,0,5516,5517,1,0,0,0,5517,5518,1,0,0,0,5518,5519,3,1169,582,0,5519,5521,1,0,0,0,5520,5492,1,0,0,0,5520,5504,1,0,0,0,5520,5513,1,0,0,0,5521,1168,1,0,0,0,5522,5524,7,0,0,0,5523,5522,1,0,0,0,5524,5525,1,0,0,0,5525,5523,1,0,0,0,5525,5526,1,0,0,0,5526,1170,1,0,0,0,5527,5528,5,58,0,0,5528,5532,7,40,0,0,5529,5531,7,41,0,0,5530,5529,1,0,0,0,5531,5534,1,0,0,0,5532,5530,1,0,0,0,5532,5533,1,0,0,0,5533,1172,1,0,0,0,5534,5532,1,0,0,0,5535,5536,5,58,0,0,5536,5537,5,34,0,0,5537,5545,1,0,0,0,5538,5539,5,92,0,0,5539,5544,9,0,0,0,5540,5541,5,34,0,0,5541,5544,5,34,0,0,5542,5544,8,42,0,0,5543,5538,1,0,0,0,5543,5540,1,0,0,0,5543,5542,1,0,0,0,5544,5547,1,0,0,0,5545,5543,1,0,0,0,5545,5546,1,0,0,0,5546,5548,1,0,0,0,5547,5545,1,0,0,0,5548,5549,5,34,0,0,5549,1174,1,0,0,0,5550,5552,7,43,0,0,5551,5550,1,0,0,0,5552,5553,1,0,0,0,5553,5551,1,0,0,0,5553,5554,1,0,0,0,5554,5555,1,0,0,0,5555,5556,6,585,4,0,5556,1176,1,0,0,0,5557,5559,5,13,0,0,5558,5560,5,10,0,0,5559,5558,1,0,0,0,5559,5560,1,0,0,0,5560,5563,1,0,0,0,5561,5563,5,10,0,0,5562,5557,1,0,0,0,5562,5561,1,0,0,0,5563,5564,1,0,0,0,5564,5565,6,586,4,0,5565,1178,1,0,0,0,5566,5567,5,45,0,0,5567,5568,5,45,0,0,5568,5572,1,0,0,0,5569,5571,8,44,0,0,5570,5569,1,0,0,0,5571,5574,1,0,0,0,5572,5570,1,0,0,0,5572,5573,1,0,0,0,5573,5575,1,0,0,0,5574,5572,1,0,0,0,5575,5576,6,587,4,0,5576,1180,1,0,0,0,5577,5578,5,47,0,0,5578,5579,5,42,0,0,5579,5602,1,0,0,0,5580,5582,5,47,0,0,5581,5580,1,0,0,0,5582,5585,1,0,0,0,5583,5581,1,0,0,0,5583,5584,1,0,0,0,5584,5586,1,0,0,0,5585,5583,1,0,0,0,5586,5601,3,1181,588,0,5587,5601,8,45,0,0,5588,5590,5,47,0,0,5589,5588,1,0,0,0,5590,5591,1,0,0,0,5591,5589,1,0,0,0,5591,5592,1,0,0,0,5592,5593,1,0,0,0,5593,5601,8,45,0,0,5594,5596,5,42,0,0,5595,5594,1,0,0,0,5596,5597,1,0,0,0,5597,5595,1,0,0,0,5597,5598,1,0,0,0,5598,5599,1,0,0,0,5599,5601,8,45,0,0,5600,5583,1,0,0,0,5600,5587,1,0,0,0,5600,5589,1,0,0,0,5600,5595,1,0,0,0,5601,5604,1,0,0,0,5602,5600,1,0,0,0,5602,5603,1,0,0,0,5603,5608,1,0,0,0,5604,5602,1,0,0,0,5605,5607,5,42,0,0,5606,5605,1,0,0,0,5607,5610,1,0,0,0,5608,5606,1,0,0,0,5608,5609,1,0,0,0,5609,5611,1,0,0,0,5610,5608,1,0,0,0,5611,5612,5,42,0,0,5612,5613,5,47,0,0,5613,5614,1,0,0,0,5614,5615,6,588,4,0,5615,1182,1,0,0,0,5616,5617,5,47,0,0,5617,5618,5,42,0,0,5618,5643,1,0,0,0,5619,5621,5,47,0,0,5620,5619,1,0,0,0,5621,5624,1,0,0,0,5622,5620,1,0,0,0,5622,5623,1,0,0,0,5623,5625,1,0,0,0,5624,5622,1,0,0,0,5625,5642,3,1181,588,0,5626,5642,8,45,0,0,5627,5629,5,47,0,0,5628,5627,1,0,0,0,5629,5630,1,0,0,0,5630,5628,1,0,0,0,5630,5631,1,0,0,0,5631,5632,1,0,0,0,5632,5640,8,45,0,0,5633,5635,5,42,0,0,5634,5633,1,0,0,0,5635,5636,1,0,0,0,5636,5634,1,0,0,0,5636,5637,1,0,0,0,5637,5638,1,0,0,0,5638,5640,8,45,0,0,5639,5628,1,0,0,0,5639,5634,1,0,0,0,5640,5642,1,0,0,0,5641,5622,1,0,0,0,5641,5626,1,0,0,0,5641,5639,1,0,0,0,5642,5645,1,0,0,0,5643,5641,1,0,0,0,5643,5644,1,0,0,0,5644,5663,1,0,0,0,5645,5643,1,0,0,0,5646,5648,5,47,0,0,5647,5646,1,0,0,0,5648,5649,1,0,0,0,5649,5647,1,0,0,0,5649,5650,1,0,0,0,5650,5664,1,0,0,0,5651,5653,5,42,0,0,5652,5651,1,0,0,0,5653,5654,1,0,0,0,5654,5652,1,0,0,0,5654,5655,1,0,0,0,5655,5664,1,0,0,0,5656,5658,5,47,0,0,5657,5656,1,0,0,0,5658,5661,1,0,0,0,5659,5657,1,0,0,0,5659,5660,1,0,0,0,5660,5662,1,0,0,0,5661,5659,1,0,0,0,5662,5664,3,1183,589,0,5663,5647,1,0,0,0,5663,5652,1,0,0,0,5663,5659,1,0,0,0,5663,5664,1,0,0,0,5664,1184,1,0,0,0,5665,5677,5,92,0,0,5666,5676,8,46,0,0,5667,5671,5,34,0,0,5668,5670,8,47,0,0,5669,5668,1,0,0,0,5670,5673,1,0,0,0,5671,5669,1,0,0,0,5671,5672,1,0,0,0,5672,5674,1,0,0,0,5673,5671,1,0,0,0,5674,5676,5,34,0,0,5675,5666,1,0,0,0,5675,5667,1,0,0,0,5676,5679,1,0,0,0,5677,5675,1,0,0,0,5677,5678,1,0,0,0,5678,5687,1,0,0,0,5679,5677,1,0,0,0,5680,5684,5,34,0,0,5681,5683,8,47,0,0,5682,5681,1,0,0,0,5683,5686,1,0,0,0,5684,5682,1,0,0,0,5684,5685,1,0,0,0,5685,5688,1,0,0,0,5686,5684,1,0,0,0,5687,5680,1,0,0,0,5687,5688,1,0,0,0,5688,1186,1,0,0,0,5689,5690,5,92,0,0,5690,5691,5,92,0,0,5691,1188,1,0,0,0,5692,5693,9,0,0,0,5693,1190,1,0,0,0,5694,5695,3,1195,595,0,5695,5696,5,39,0,0,5696,5697,1,0,0,0,5697,5698,6,593,5,0,5698,1192,1,0,0,0,5699,5701,3,1195,595,0,5700,5702,5,92,0,0,5701,5700,1,0,0,0,5701,5702,1,0,0,0,5702,5703,1,0,0,0,5703,5704,5,0,0,1,5704,1194,1,0,0,0,5705,5706,5,39,0,0,5706,5729,5,39,0,0,5707,5725,5,92,0,0,5708,5709,7,27,0,0,5709,5726,7,39,0,0,5710,5711,7,23,0,0,5711,5712,7,39,0,0,5712,5713,7,39,0,0,5713,5714,7,39,0,0,5714,5726,7,39,0,0,5715,5716,7,23,0,0,5716,5717,7,39,0,0,5717,5718,7,39,0,0,5718,5719,7,39,0,0,5719,5720,7,39,0,0,5720,5721,7,39,0,0,5721,5722,7,39,0,0,5722,5723,7,39,0,0,5723,5726,7,39,0,0,5724,5726,8,48,0,0,5725,5708,1,0,0,0,5725,5710,1,0,0,0,5725,5715,1,0,0,0,5725,5724,1,0,0,0,5726,5729,1,0,0,0,5727,5729,8,49,0,0,5728,5705,1,0,0,0,5728,5707,1,0,0,0,5728,5727,1,0,0,0,5729,5732,1,0,0,0,5730,5728,1,0,0,0,5730,5731,1,0,0,0,5731,1196,1,0,0,0,5732,5730,1,0,0,0,5733,5734,3,1201,598,0,5734,5735,5,39,0,0,5735,5736,1,0,0,0,5736,5737,6,596,5,0,5737,1198,1,0,0,0,5738,5740,3,1201,598,0,5739,5741,5,92,0,0,5740,5739,1,0,0,0,5740,5741,1,0,0,0,5741,5742,1,0,0,0,5742,5743,5,0,0,1,5743,1200,1,0,0,0,5744,5745,5,39,0,0,5745,5750,5,39,0,0,5746,5747,5,92,0,0,5747,5750,9,0,0,0,5748,5750,8,49,0,0,5749,5744,1,0,0,0,5749,5746,1,0,0,0,5749,5748,1,0,0,0,5750,5753,1,0,0,0,5751,5749,1,0,0,0,5751,5752,1,0,0,0,5752,1202,1,0,0,0,5753,5751,1,0,0,0,5754,5755,3,1175,585,0,5755,5756,1,0,0,0,5756,5757,6,599,6,0,5757,5758,6,599,4,0,5758,1204,1,0,0,0,5759,5760,3,1177,586,0,5760,5761,1,0,0,0,5761,5762,6,600,7,0,5762,5763,6,600,4,0,5763,5764,6,600,8,0,5764,1206,1,0,0,0,5765,5766,3,1175,585,0,5766,5767,1,0,0,0,5767,5768,6,601,6,0,5768,5769,6,601,4,0,5769,1208,1,0,0,0,5770,5771,3,1177,586,0,5771,5772,1,0,0,0,5772,5773,6,602,7,0,5773,5774,6,602,4,0,5774,1210,1,0,0,0,5775,5776,5,39,0,0,5776,5777,1,0,0,0,5777,5778,6,603,1,0,5778,5779,6,603,9,0,5779,1212,1,0,0,0,5780,5782,8,50,0,0,5781,5780,1,0,0,0,5782,5783,1,0,0,0,5783,5781,1,0,0,0,5783,5784,1,0,0,0,5784,5793,1,0,0,0,5785,5789,5,36,0,0,5786,5788,8,50,0,0,5787,5786,1,0,0,0,5788,5791,1,0,0,0,5789,5787,1,0,0,0,5789,5790,1,0,0,0,5790,5793,1,0,0,0,5791,5789,1,0,0,0,5792,5781,1,0,0,0,5792,5785,1,0,0,0,5793,1214,1,0,0,0,5794,5796,5,36,0,0,5795,5797,3,1145,570,0,5796,5795,1,0,0,0,5796,5797,1,0,0,0,5797,5798,1,0,0,0,5798,5799,5,36,0,0,5799,5800,1,0,0,0,5800,5801,6,605,10,0,5801,1216,1,0,0,0,77,0,1,2,3,4,1284,1290,1294,1296,1299,1301,1304,1308,1310,1315,1320,5356,5362,5366,5370,5379,5381,5391,5393,5419,5421,5439,5449,5460,5477,5495,5499,5502,5508,5511,5516,5520,5525,5532,5543,5545,5553,5559,5562,5572,5583,5591,5597,5600,5602,5608,5622,5630,5636,5639,5641,5643,5649,5654,5659,5663,5671,5675,5677,5684,5687,5701,5725,5728,5730,5740,5749,5751,5783,5789,5792,5796,11,7,29,0,3,0,0,5,1,0,5,4,0,0,1,0,2,2,0,7,576,0,7,577,0,2,3,0,2,1,0,4,0,0],K.vocabulary=new le(K.literalNames,K.symbolicNames,[]),K.decisionsToDFA=K._ATN.decisionToState.map((c,e)=>new F0(c,e));class a8 extends a5{constructor(e){super(e),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var e,i,n,s;return this.entityCollecting&&((i=(e=this.tokenStream.LT(-1))===null||e===void 0?void 0:e.tokenIndex)!==null&&i!==void 0?i:1/0)<=this.caretTokenIndex&&((s=(n=this.tokenStream.LT(1))===null||n===void 0?void 0:n.tokenIndex)!==null&&s!==void 0?s:-1/0)>=this.caretTokenIndex}}class t extends a8{get grammarFileName(){return"PostgreSqlParser.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(e,i){return new As(this,e,i)}constructor(e){super(e),this.interpreter=new Rs(this,t._ATN,t.decisionsToDFA,new Ei)}program(){let e=new E8(this.context,this.state);this.enterRule(e,0,t.RULE_program);let i;try{this.enterOuterAlt(e,1);{for(this.state=935,this.errorHandler.sync(this),i=this.tokenStream.LA(1);i===2||i===31||!(i-32&-32)&&1<'","'<<'","'>>'","':='","'<='","'=>'","'>='","'..'","'<>'","'::'","'%'",null,null,"'ALL'","'ANALYSE'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'ASYMMETRIC'","'BOTH'","'CASE'","'CAST'","'CHECK'","'COLLATE'","'COLUMN'","'CONSTRAINT'","'CREATE'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_ROLE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DEFAULT'","'DEFERRABLE'","'DESC'","'DISTINCT'","'DO'","'ELSE'","'EXCEPT'","'FALSE'","'FETCH'","'FOR'","'FOREIGN'","'FROM'","'GRANT'","'GROUP'","'HAVING'","'IN'","'INITIALLY'","'INTERSECT'","'INTO'","'LATERAL'","'LEADING'","'LIMIT'","'LOCALTIME'","'LOCALTIMESTAMP'","'NOT'","'NULL'","'OFFSET'","'ON'","'ONLY'","'OR'","'ORDER'","'PLACING'","'PRIMARY'","'REFERENCES'","'RETURNING'","'SELECT'","'SESSION_USER'","'SOME'","'SYMMETRIC'","'TABLE'","'THEN'","'TO'","'TRAILING'","'TRUE'","'UNION'","'UNIQUE'","'USER'","'USING'","'VARIADIC'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'AUTHORIZATION'","'BINARY'","'COLLATION'","'CONCURRENTLY'","'CROSS'","'CURRENT_SCHEMA'","'FREEZE'","'FULL'","'ILIKE'","'INNER'","'IS'","'ISNULL'","'JOIN'","'LEFT'","'LIKE'","'NATURAL'","'NOTNULL'","'OUTER'","'OVER'","'OVERLAPS'","'RIGHT'","'SIMILAR'","'VERBOSE'","'ABORT'","'ABSOLUTE'","'ACCESS'","'ACTION'","'ADD'","'ADMIN'","'AFTER'","'AGGREGATE'","'ALSO'","'ALTER'","'ALWAYS'","'ASSERTION'","'ASSIGNMENT'","'AT'","'ATTRIBUTE'","'BACKWARD'","'BEFORE'","'BEGIN'","'BY'","'CACHE'","'CALLED'","'CASCADE'","'CASCADED'","'CATALOG'","'CHAIN'","'CHARACTERISTICS'","'CHECKPOINT'","'CLASS'","'CLOSE'","'CLUSTER'","'COMMENT'","'COMMENTS'","'COMMIT'","'COMMITTED'","'CONFIGURATION'","'CONNECTION'","'CONSTRAINTS'","'CONTENT'","'CONTINUE'","'CONVERSION'","'COPY'","'COST'","'CSV'","'CURSOR'","'CYCLE'","'DATA'","'DATABASE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULTS'","'DEFERRED'","'DEFINER'","'DELETE'","'DELIMITER'","'DELIMITERS'","'DICTIONARY'","'DISABLE'","'DISCARD'","'DOCUMENT'","'DOMAIN'","'DOUBLE'","'DROP'","'EACH'","'ENABLE'","'ENCODING'","'ENCRYPTED'","'ENUM'","'ESCAPE'","'EVENT'","'EXCLUDE'","'EXCLUDING'","'EXCLUSIVE'","'EXECUTE'","'EXPLAIN'","'EXTENSION'","'EXTERNAL'","'FAMILY'","'FIRST'","'FOLLOWING'","'FORCE'","'FORWARD'","'FUNCTION'","'FUNCTIONS'","'GLOBAL'","'GRANTED'","'HANDLER'","'HEADER'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'IMMEDIATE'","'IMMUTABLE'","'IMPLICIT'","'INCLUDING'","'INCREMENT'","'INDEX'","'INDEXES'","'INHERIT'","'NOINHERIT'","'SUPERUSER'","'NOSUPERUSER'","'CREATEDB'","'NOCREATEDB'","'CREATEROLE'","'NOCREATEROLE'","'CREATEUSER'","'NOCREATEUSER'","'INHERITS'","'INLINE'","'INSENSITIVE'","'INSERT'","'INSTEAD'","'INVOKER'","'ISOLATION'","'KEY'","'LABEL'","'LANGUAGE'","'LARGE'","'LAST'","'LEAKPROOF'","'LEVEL'","'LISTEN'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'MAPPING'","'MATCH'","'MATERIALIZED'","'MAXVALUE'","'MINUTE'","'MINVALUE'","'MODE'","'MONTH'","'MOVE'","'NAME'","'NAMES'","'NEXT'","'NO'","'NOTHING'","'NOTIFY'","'NOWAIT'","'NULLS'","'OBJECT'","'OF'","'OFF'","'OIDS'","'OPERATOR'","'OPTION'","'OPTIONS'","'OWNED'","'OWNER'","'PARSER'","'PARTIAL'","'PARTITION'","'PASSING'","'PASSWORD'","'PLANS'","'PRECEDING'","'PREPARE'","'PREPARED'","'PRESERVE'","'PRIOR'","'PRIVILEGES'","'PROCEDURAL'","'PROCEDURE'","'PROGRAM'","'QUOTE'","'RANGE'","'READ'","'REASSIGN'","'RECHECK'","'RECURSIVE'","'REF'","'REFRESH'","'REINDEX'","'RELATIVE'","'RELEASE'","'RENAME'","'REPEATABLE'","'REPLACE'","'REPLICA'","'RESET'","'RESTART'","'RESTRICT'","'RETURNS'","'REVOKE'","'ROLE'","'ROLLBACK'","'ROWS'","'RULE'","'SAVEPOINT'","'SCHEMA'","'SCROLL'","'SEARCH'","'SECOND'","'SECURITY'","'SEQUENCE'","'SEQUENCES'","'SERIALIZABLE'","'SERVER'","'SESSION'","'SET'","'SHARE'","'SHOW'","'SIMPLE'","'SNAPSHOT'","'STABLE'","'STANDALONE'","'START'","'STATEMENT'","'STATISTICS'","'STDIN'","'STDOUT'","'STORAGE'","'STRICT'","'STRIP'","'SYSID'","'SYSTEM'","'TABLES'","'TABLESPACE'","'TEMP'","'TEMPLATE'","'TEMPORARY'","'TEXT'","'TRANSACTION'","'TRIGGER'","'TRUNCATE'","'TRUSTED'","'TYPE'","'TYPES'","'UNBOUNDED'","'UNCOMMITTED'","'UNENCRYPTED'","'UNKNOWN'","'UNLISTEN'","'UNLOGGED'","'UNTIL'","'UPDATE'","'VACUUM'","'VALID'","'VALIDATE'","'VALIDATOR'","'VARYING'","'VERSION'","'VIEW'","'VOLATILE'","'WHITESPACE'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'XML'","'YEAR'","'YES'","'ZONE'","'BETWEEN'","'BIGINT'","'BIT'","'BOOLEAN'","'CHAR'","'CHARACTER'","'COALESCE'","'DEC'","'DECIMAL'","'EXISTS'","'EXTRACT'","'FLOAT'","'GREATEST'","'INOUT'","'INT'","'INTEGER'","'INTERVAL'","'LEAST'","'NATIONAL'","'NCHAR'","'NONE'","'NULLIF'","'NUMERIC'","'OVERLAY'","'POSITION'","'PRECISION'","'REAL'","'ROW'","'SETOF'","'SMALLINT'","'SUBSTRING'","'TIME'","'TIMESTAMP'","'TREAT'","'TRIM'","'VALUES'","'VARCHAR'","'XMLATTRIBUTES'","'XMLCONCAT'","'XMLELEMENT'","'XMLEXISTS'","'XMLFOREST'","'XMLPARSE'","'XMLPI'","'XMLROOT'","'XMLSERIALIZE'","'CALL'","'CURRENT'","'ATTACH'","'DETACH'","'EXPRESSION'","'GENERATED'","'LOGGED'","'STORED'","'INCLUDE'","'ROUTINE'","'TRANSFORM'","'IMPORT'","'POLICY'","'METHOD'","'REFERENCING'","'NEW'","'OLD'","'VALUE'","'SUBSCRIPTION'","'PUBLICATION'","'OUT'","'END'","'ROUTINES'","'SCHEMAS'","'PROCEDURES'","'INPUT'","'SUPPORT'","'PARALLEL'","'SQL'","'DEPENDS'","'OVERRIDING'","'CONFLICT'","'SKIP'","'LOCKED'","'TIES'","'ROLLUP'","'CUBE'","'GROUPING'","'SETS'","'TABLESAMPLE'","'ORDINALITY'","'XMLTABLE'","'COLUMNS'","'XMLNAMESPACES'","'ROWTYPE'","'NORMALIZED'","'WITHIN'","'FILTER'","'GROUPS'","'OTHERS'","'NFC'","'NFD'","'NFKC'","'NFKD'","'UESCAPE'","'VIEWS'","'NORMALIZE'","'DUMP'","'PRINT_STRICT_PARAMS'","'VARIABLE_CONFLICT'","'ERROR'","'USE_VARIABLE'","'USE_COLUMN'","'ALIAS'","'CONSTANT'","'PERFORM'","'GET'","'DIAGNOSTICS'","'STACKED'","'ELSIF'","'WHILE'","'REVERSE'","'FOREACH'","'SLICE'","'EXIT'","'RETURN'","'QUERY'","'RAISE'","'SQLSTATE'","'DEBUG'","'LOG'","'INFO'","'NOTICE'","'WARNING'","'EXCEPTION'","'ASSERT'","'LOOP'","'OPEN'","'PEFERENCES'","'USAGE'","'CONNECT'","'PUBLIC'","'MERGE'","'MATCHED'","'BREADTH'","'DEPTH'","'UNSAFE'","'RESTRICTED'","'SAFE'","'FINALIZE'","'MODULUS'","'REMAINDER'","'LOGIN'","'NOLOGIN'","'REPLICATION'","'NOREPLICATION'","'BYPASSRLS'","'NOBYPASSRLS'","'PERMISSIVE'","'RESTRICTIVE'","'COMPRESSION'","'PLAIN'","'EXTENDED'","'MAIN'","'SKIP_LOCKED'","'BUFFER_USAGE_LIMIT'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'\\\\'",null,null,null,null,null,null,null,"'''"],t.symbolicNames=[null,"Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","KW_ALL","KW_ANALYSE","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_ASYMMETRIC","KW_BOTH","KW_CASE","KW_CAST","KW_CHECK","KW_COLLATE","KW_COLUMN","KW_CONSTRAINT","KW_CREATE","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_ROLE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DEFAULT","KW_DEFERRABLE","KW_DESC","KW_DISTINCT","KW_DO","KW_ELSE","KW_EXCEPT","KW_FALSE","KW_FETCH","KW_FOR","KW_FOREIGN","KW_FROM","KW_GRANT","KW_GROUP","KW_HAVING","KW_IN","KW_INITIALLY","KW_INTERSECT","KW_INTO","KW_LATERAL","KW_LEADING","KW_LIMIT","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_NOT","KW_NULL","KW_OFFSET","KW_ON","KW_ONLY","KW_OR","KW_ORDER","KW_PLACING","KW_PRIMARY","KW_REFERENCES","KW_RETURNING","KW_SELECT","KW_SESSION_USER","KW_SOME","KW_SYMMETRIC","KW_TABLE","KW_THEN","KW_TO","KW_TRAILING","KW_TRUE","KW_UNION","KW_UNIQUE","KW_USER","KW_USING","KW_VARIADIC","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_AUTHORIZATION","KW_BINARY","KW_COLLATION","KW_CONCURRENTLY","KW_CROSS","KW_CURRENT_SCHEMA","KW_FREEZE","KW_FULL","KW_ILIKE","KW_INNER","KW_IS","KW_ISNULL","KW_JOIN","KW_LEFT","KW_LIKE","KW_NATURAL","KW_NOTNULL","KW_OUTER","KW_OVER","KW_OVERLAPS","KW_RIGHT","KW_SIMILAR","KW_VERBOSE","KW_ABORT","KW_ABSOLUTE","KW_ACCESS","KW_ACTION","KW_ADD","KW_ADMIN","KW_AFTER","KW_AGGREGATE","KW_ALSO","KW_ALTER","KW_ALWAYS","KW_ASSERTION","KW_ASSIGNMENT","KW_AT","KW_ATTRIBUTE","KW_BACKWARD","KW_BEFORE","KW_BEGIN","KW_BY","KW_CACHE","KW_CALLED","KW_CASCADE","KW_CASCADED","KW_CATALOG","KW_CHAIN","KW_CHARACTERISTICS","KW_CHECKPOINT","KW_CLASS","KW_CLOSE","KW_CLUSTER","KW_COMMENT","KW_COMMENTS","KW_COMMIT","KW_COMMITTED","KW_CONFIGURATION","KW_CONNECTION","KW_CONSTRAINTS","KW_CONTENT","KW_CONTINUE","KW_CONVERSION","KW_COPY","KW_COST","KW_CSV","KW_CURSOR","KW_CYCLE","KW_DATA","KW_DATABASE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULTS","KW_DEFERRED","KW_DEFINER","KW_DELETE","KW_DELIMITER","KW_DELIMITERS","KW_DICTIONARY","KW_DISABLE","KW_DISCARD","KW_DOCUMENT","KW_DOMAIN","KW_DOUBLE","KW_DROP","KW_EACH","KW_ENABLE","KW_ENCODING","KW_ENCRYPTED","KW_ENUM","KW_ESCAPE","KW_EVENT","KW_EXCLUDE","KW_EXCLUDING","KW_EXCLUSIVE","KW_EXECUTE","KW_EXPLAIN","KW_EXTENSION","KW_EXTERNAL","KW_FAMILY","KW_FIRST","KW_FOLLOWING","KW_FORCE","KW_FORWARD","KW_FUNCTION","KW_FUNCTIONS","KW_GLOBAL","KW_GRANTED","KW_HANDLER","KW_HEADER","KW_HOLD","KW_HOUR","KW_IDENTITY","KW_IF","KW_IMMEDIATE","KW_IMMUTABLE","KW_IMPLICIT","KW_INCLUDING","KW_INCREMENT","KW_INDEX","KW_INDEXES","KW_INHERIT","KW_NOINHERIT","KW_SUPERUSER","KW_NOSUPERUSER","KW_CREATEDB","KW_NOCREATEDB","KW_CREATEROLE","KW_NOCREATEROLE","KW_CREATEUSER","KW_NOCREATEUSER","KW_INHERITS","KW_INLINE","KW_INSENSITIVE","KW_INSERT","KW_INSTEAD","KW_INVOKER","KW_ISOLATION","KW_KEY","KW_LABEL","KW_LANGUAGE","KW_LARGE","KW_LAST","KW_LEAKPROOF","KW_LEVEL","KW_LISTEN","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_MAPPING","KW_MATCH","KW_MATERIALIZED","KW_MAXVALUE","KW_MINUTE","KW_MINVALUE","KW_MODE","KW_MONTH","KW_MOVE","KW_NAME","KW_NAMES","KW_NEXT","KW_NO","KW_NOTHING","KW_NOTIFY","KW_NOWAIT","KW_NULLS","KW_OBJECT","KW_OF","KW_OFF","KW_OIDS","KW_OPERATOR","KW_OPTION","KW_OPTIONS","KW_OWNED","KW_OWNER","KW_PARSER","KW_PARTIAL","KW_PARTITION","KW_PASSING","KW_PASSWORD","KW_PLANS","KW_PRECEDING","KW_PREPARE","KW_PREPARED","KW_PRESERVE","KW_PRIOR","KW_PRIVILEGES","KW_PROCEDURAL","KW_PROCEDURE","KW_PROGRAM","KW_QUOTE","KW_RANGE","KW_READ","KW_REASSIGN","KW_RECHECK","KW_RECURSIVE","KW_REF","KW_REFRESH","KW_REINDEX","KW_RELATIVE","KW_RELEASE","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_REPLICA","KW_RESET","KW_RESTART","KW_RESTRICT","KW_RETURNS","KW_REVOKE","KW_ROLE","KW_ROLLBACK","KW_ROWS","KW_RULE","KW_SAVEPOINT","KW_SCHEMA","KW_SCROLL","KW_SEARCH","KW_SECOND","KW_SECURITY","KW_SEQUENCE","KW_SEQUENCES","KW_SERIALIZABLE","KW_SERVER","KW_SESSION","KW_SET","KW_SHARE","KW_SHOW","KW_SIMPLE","KW_SNAPSHOT","KW_STABLE","KW_STANDALONE","KW_START","KW_STATEMENT","KW_STATISTICS","KW_STDIN","KW_STDOUT","KW_STORAGE","KW_STRICT","KW_STRIP","KW_SYSID","KW_SYSTEM","KW_TABLES","KW_TABLESPACE","KW_TEMP","KW_TEMPLATE","KW_TEMPORARY","KW_TEXT","KW_TRANSACTION","KW_TRIGGER","KW_TRUNCATE","KW_TRUSTED","KW_TYPE","KW_TYPES","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNENCRYPTED","KW_UNKNOWN","KW_UNLISTEN","KW_UNLOGGED","KW_UNTIL","KW_UPDATE","KW_VACUUM","KW_VALID","KW_VALIDATE","KW_VALIDATOR","KW_VARYING","KW_VERSION","KW_VIEW","KW_VOLATILE","KW_WHITESPACE","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_XML","KW_YEAR","KW_YES","KW_ZONE","KW_BETWEEN","KW_BIGINT","KW_BIT","KW_BOOLEAN","KW_CHAR","KW_CHARACTER","KW_COALESCE","KW_DEC","KW_DECIMAL","KW_EXISTS","KW_EXTRACT","KW_FLOAT","KW_GREATEST","KW_INOUT","KW_INT","KW_INTEGER","KW_INTERVAL","KW_LEAST","KW_NATIONAL","KW_NCHAR","KW_NONE","KW_NULLIF","KW_NUMERIC","KW_OVERLAY","KW_POSITION","KW_PRECISION","KW_REAL","KW_ROW","KW_SETOF","KW_SMALLINT","KW_SUBSTRING","KW_TIME","KW_TIMESTAMP","KW_TREAT","KW_TRIM","KW_VALUES","KW_VARCHAR","KW_XMLATTRIBUTES","KW_XMLCONCAT","KW_XMLELEMENT","KW_XMLEXISTS","KW_XMLFOREST","KW_XMLPARSE","KW_XMLPI","KW_XMLROOT","KW_XMLSERIALIZE","KW_CALL","KW_CURRENT","KW_ATTACH","KW_DETACH","KW_EXPRESSION","KW_GENERATED","KW_LOGGED","KW_STORED","KW_INCLUDE","KW_ROUTINE","KW_TRANSFORM","KW_IMPORT","KW_POLICY","KW_METHOD","KW_REFERENCING","KW_NEW","KW_OLD","KW_VALUE","KW_SUBSCRIPTION","KW_PUBLICATION","KW_OUT","KW_END","KW_ROUTINES","KW_SCHEMAS","KW_PROCEDURES","KW_INPUT","KW_SUPPORT","KW_PARALLEL","KW_SQL","KW_DEPENDS","KW_OVERRIDING","KW_CONFLICT","KW_SKIP","KW_LOCKED","KW_TIES","KW_ROLLUP","KW_CUBE","KW_GROUPING","KW_SETS","KW_TABLESAMPLE","KW_ORDINALITY","KW_XMLTABLE","KW_COLUMNS","KW_XMLNAMESPACES","KW_ROWTYPE","KW_NORMALIZED","KW_WITHIN","KW_FILTER","KW_GROUPS","KW_OTHERS","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_UESCAPE","KW_VIEWS","KW_NORMALIZE","KW_DUMP","KW_PRINT_STRICT_PARAMS","KW_VARIABLE_CONFLICT","KW_ERROR","KW_USE_VARIABLE","KW_USE_COLUMN","KW_ALIAS","KW_CONSTANT","KW_PERFORM","KW_GET","KW_DIAGNOSTICS","KW_STACKED","KW_ELSIF","KW_WHILE","KW_REVERSE","KW_FOREACH","KW_SLICE","KW_EXIT","KW_RETURN","KW_QUERY","KW_RAISE","KW_SQLSTATE","KW_DEBUG","KW_LOG","KW_INFO","KW_NOTICE","KW_WARNING","KW_EXCEPTION","KW_ASSERT","KW_LOOP","KW_OPEN","KW_PEFERENCES","KW_USAGE","KW_CONNECT","KW_PUBLIC","KW_MERGE","KW_MATCHED","KW_BREADTH","KW_DEPTH","KW_UNSAFE","KW_RESTRICTED","KW_SAFE","KW_FINALIZE","KW_MODULUS","KW_REMAINDER","KW_LOGIN","KW_NOLOGIN","KW_REPLICATION","KW_NOREPLICATION","KW_BYPASSRLS","KW_NOBYPASSRLS","KW_PERMISSIVE","KW_RESTRICTIVE","KW_COMPRESSION","KW_PLAIN","KW_EXTENDED","KW_MAIN","KW_SKIP_LOCKED","KW_BUFFER_USAGE_LIMIT","Identifier","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","DollarText","EndDollarStringConstant","AfterEscapeStringConstantWithNewlineMode_Continued"],t.ruleNames=["program","singleStmt","stmt","callstmt","createrolestmt","alteroptroleelem","createoptroleelem","createuserstmt","alterrolestmt","alterrolesetstmt","alterroutinestmt","alter_routine_cluase","routine_action","creategroupstmt","altergroupstmt","createschemastmt","schema_name_create","schema_stmt","variablesetstmt","set_rest","generic_set","set_rest_more","var_name","var_list","var_value","iso_level","opt_boolean_or_string_column","opt_boolean_or_string","zone_value","nonreservedword_or_sconst","variableresetstmt","reset_rest","setresetclause","functionsetresetclause","variableshowstmt","constraintssetstmt","checkpointstmt","discardstmt","altertablestmt","alter_table_cmds","partition_bound_spec","partition_bound_cluase","partition_bound_choose","partition_with_cluase","partition_cmd","index_partition_cmd","alter_table_cmd","alter_column_default","opt_drop_behavior","opt_collate_clause","reloptions","opt_reloptions","reloption_elem","partitionboundspec","altercompositetypestmt","alter_type_cmd","closeportalstmt","copystmt","copy_options","copy_generic_opt_elem","createstmt","opttemp","opttypedtableelementlist","tableelementlist","tableelement","typedtableelement","column_def","colconstraint","colconstraintelem","generated_when","tablelikeoption","constraintelem","opt_column_list","opt_column_list_create","column_list","opt_c_include","key_match","exclusionconstraintelem","key_actions","key_update","key_delete","key_action","optinherit","partitionspec","part_elem","table_access_method_clause","optwith","oncommitoption","opttablespace","optconstablespace","existingindex","createstatsstmt","alterstatsstmt","createasstmt","create_as_target","opt_with_data","creatematviewstmt","refreshmatviewstmt","createseqstmt","alterseqstmt","seqoptelem","numericonly","createplangstmt","createtablespacestmt","createextensionstmt","alterextensionstmt","alterextensioncontentsstmt","createfdwstmt","fdw_option","alterfdwstmt","create_generic_options","alter_generic_options","alter_generic_option_elem","generic_option_elem","createforeignserverstmt","foreign_server_version","alterforeignserverstmt","createforeigntablestmt","importforeignschemastmt","createusermappingstmt","alterusermappingstmt","createpolicystmt","alterpolicystmt","alterprocedurestmt","procedure_action","rowsecurityoptionalexpr","rowsecurityoptionalwithcheck","createamstmt","createtrigstmt","triggeractiontime","triggerevents","triggeroneevent","triggerwhen","function_or_procedure","triggerfuncargs","triggerfuncarg","constraintattributeElem","createeventtrigstmt","event_trigger_when_item","altereventtrigstmt","createassertionstmt","definestmt","definition","def_elem","def_arg","old_aggr_elem","alterenumstmt","opt_if_not_exists","createopclassstmt","opclass_item","createopfamilystmt","alteropfamilystmt","opclass_drop","reassignownedstmt","dropstmt","object_type_any_name","object_type_name","any_name_list","any_name","attrs","truncatestmt","truncate_table","commentstmt","seclabelstmt","fetchstmt","fetch_args","from_in","grantstmt","revokestmt","privileges","beforeprivilegeselect","privilege","privilege_target","grantee_list","grantrolestmt","revokerolestmt","alterdefaultprivilegesstmt","defaclaction","defacl_privilege_target","indexstmt","index_params","index_elem","createfunctionstmt","opt_or_replace","func_args","func_args_list","routine_with_argtypes_list","routine_with_argtypes","procedure_with_argtypes_list","procedure_with_argtypes","function_with_argtypes_list","function_with_argtypes","func_arg","arg_class","func_type","func_arg_with_default","aggr_args","aggregate_with_argtypes","common_func_opt_item","createfunc_opt_item","opt_definition","table_func_column","alterfunctionstmt","removefuncstmt","removeaggrstmt","removeoperstmt","oper_argtypes","any_operator","operator_with_argtypes","dostmt","createcaststmt","opt_if_exists","createtransformstmt","sql_with_function","reindexstmt","altertblspcstmt","renamestmt","alterobjectdependsstmt","alterobjectschemastmt","alteroperatorstmt","operator_def_list","operator_def_elem","altertypestmt","alterownerstmt","createpublicationstmt","alterpublicationstmt","createsubscriptionstmt","altersubscriptionstmt","rulestmt","ruleactionstmt","notifystmt","notify_payload","listenstmt","unlistenstmt","transactionstmt","opt_transaction","transaction_mode_item","transaction_mode_list","viewstmt","loadstmt","createdbstmt","createdb_opt_item","alterdatabasestmt","alterdatabasesetstmt","altercollationstmt","altersystemstmt","createdomainstmt","alterdomainstmt","altertsdictionarystmt","altertsconfigurationstmt","createconversionstmt","clusterstmt","vacuumstmt","analyzestmt","analyze_keyword","vac_analyze_option_elem","analyze_option_elem","opt_verbose","vacuum_relation","vacuum_relation_list","explainstmt","explainablestmt","explain_option_list","preparestmt","prep_type_clause","preparablestmt","executestmt","execute_param_clause","deallocatestmt","insertstmt","insert_rest","insert_column_list","insert_column_item","returning_clause","deletestmt","lockstmt","updatestmt","set_clause_list","set_clause","declarecursorstmt","selectstmt","select_with_parens","select_no_parens","select_clause","simple_select","set_operator_with_all_or_distinct","with_clause","common_table_expr","search_cluase","cycle_cluase","into_clause","opttempTableName","distinct_clause","sort_clause","sortby","select_limit","limit_clause","fetch_clause","offset_clause","select_fetch_first_value","group_clause","group_by_list","group_by_item","for_locking_clause","values_clause","from_clause","from_list","table_ref","alias_clause","func_alias_clause","join_type","join_qual","relation_expr","publication_relation_expr","relation_expr_list","relation_expr_opt_alias","tablesample_clause","func_table","rowsfrom_item","where_clause","where_or_current_clause","tablefuncelementlist","tablefuncelement","xmltable","xmltable_column_el","xml_namespace_el","typename","simpletypename","consttypename","numeric","opt_float","bit","character","constdatetime","opt_interval","interval_second","comparisonOperator","expression","booleanExpression","predicate","valueExpression","primaryExpression","func_application","func_expr","func_expr_windowless","func_expr_common_subexpr","xml_attribute_list","xml_attribute_el","document_or_content","xmlexists_argument","xml_passing_mech","window_clause","window_definition","over_clause","window_specification","opt_frame_clause","frame_bound","row","explicit_row","sub_type","all_op","mathop","qual_op","qual_all_op","subquery_Op","expr_list","column_expr","column_expr_noparen","func_arg_list","func_arg_expr","array_expr","extract_arg","unicode_normal_form","substr_list","when_clause","indirection_el","indirection","opt_indirection","target_list","target_el","qualified_name_list","table_name_list","schema_name_list","database_nameList","tablespace_name_create","tablespace_name","table_name_create","table_name","view_name_create","view_name","qualified_name","tablespace_name_list","name_list","database_name_create","database_name","schema_name","routine_name_create","routine_name","procedure_name","procedure_name_create","column_name","column_name_create","function_name_create","function_name","sconst","anysconst","signediconst","rolespec","role_list","colid","type_function_name","nonreservedword","collabel","identifier","unreserved_keyword","col_name_keyword","type_func_name_keyword","reserved_keyword","pl_block","label_decl","decl_statement","decl_cursor_arg","assign_operator","proc_stmt","stmt_perform","stmt_call","stmt_assign","stmt_getdiag","getdiag_list_item","assign_var","stmt_if","stmt_else","stmt_case","stmt_loop_while_for","for_control","stmt_foreach_a","stmt_exit","stmt_return","stmt_raise","opt_raise_using_elem","stmt_assert","loop_body","stmt_execsql","stmt_dynexecute","opt_execute_into","stmt_open","opt_open_bound_list_item","stmt_fetch","opt_fetch_direction","stmt_move","mergestmt","data_source","merge_when_clause","merge_insert","merge_update","default_values_or_values","exprofdefault","stmt_close","stmt_null","stmt_commit_or_rollback","stmt_set","cursor_variable","exception_sect","proc_condition","any_identifier","sql_expression"],t._serializedATN=[4,1,590,8496,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,1,0,5,0,934,8,0,10,0,12,0,937,9,0,1,0,1,0,1,1,1,1,3,1,943,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1063,8,2,3,2,1065,8,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,3,4,1074,8,4,1,4,5,4,1077,8,4,10,4,12,4,1080,9,4,1,5,1,5,1,5,3,5,1085,8,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,1120,8,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1130,8,6,1,7,1,7,1,7,1,7,3,7,1136,8,7,1,7,5,7,1139,8,7,10,7,12,7,1142,9,7,1,8,1,8,1,8,1,8,3,8,1148,8,8,1,8,5,8,1151,8,8,10,8,12,8,1154,9,8,1,9,1,9,1,9,1,9,3,9,1160,8,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,3,10,1171,8,10,1,10,1,10,1,11,1,11,5,11,1177,8,11,10,11,12,11,1180,9,11,1,11,3,11,1183,8,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11,1195,8,11,1,11,1,11,1,11,1,11,3,11,1201,8,11,1,12,1,12,1,12,1,12,3,12,1207,8,12,1,12,1,12,3,12,1211,8,12,1,12,1,12,1,12,3,12,1216,8,12,1,12,1,12,3,12,1220,8,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,1233,8,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,1243,8,12,3,12,1245,8,12,1,13,1,13,1,13,1,13,3,13,1251,8,13,1,13,5,13,1254,8,13,10,13,12,13,1257,9,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,3,15,1269,8,15,1,15,3,15,1272,8,15,1,15,1,15,1,15,3,15,1277,8,15,1,15,5,15,1280,8,15,10,15,12,15,1283,9,15,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,3,17,1293,8,17,1,18,1,18,3,18,1297,8,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,1309,8,19,1,20,1,20,3,20,1313,8,20,1,20,3,20,1316,8,20,1,20,1,20,3,20,1320,8,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1332,8,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1350,8,21,1,22,1,22,1,22,5,22,1355,8,22,10,22,12,22,1358,9,22,1,23,1,23,1,23,5,23,1363,8,23,10,23,12,23,1366,9,23,1,24,1,24,3,24,1370,8,24,1,25,1,25,1,25,1,25,1,25,3,25,1377,8,25,1,26,1,26,1,26,1,26,1,26,1,26,3,26,1385,8,26,1,27,1,27,1,27,1,27,3,27,1391,8,27,1,28,1,28,1,28,1,28,1,28,1,28,3,28,1399,8,28,1,28,1,28,1,28,1,28,1,28,1,28,3,28,1407,8,28,1,29,1,29,3,29,1411,8,29,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,3,31,1425,8,31,1,32,1,32,1,32,3,32,1430,8,32,1,33,1,33,1,33,3,33,1435,8,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1447,8,34,1,35,1,35,1,35,1,35,3,35,1453,8,35,1,35,1,35,1,36,1,36,1,37,1,37,1,37,1,38,1,38,1,38,3,38,1465,8,38,1,38,1,38,1,38,3,38,1470,8,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1480,8,38,1,38,1,38,1,38,1,38,3,38,1486,8,38,1,38,1,38,1,38,3,38,1491,8,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1499,8,38,1,38,1,38,1,38,3,38,1504,8,38,1,38,1,38,1,38,1,38,1,38,3,38,1511,8,38,1,38,1,38,1,38,3,38,1516,8,38,1,38,1,38,1,38,3,38,1521,8,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1531,8,38,1,38,1,38,1,38,3,38,1536,8,38,1,38,1,38,1,38,3,38,1541,8,38,1,38,1,38,1,38,1,38,1,38,3,38,1548,8,38,1,38,1,38,3,38,1552,8,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1566,8,38,1,38,1,38,1,38,1,38,3,38,1572,8,38,1,38,1,38,1,38,1,38,3,38,1578,8,38,1,38,1,38,1,38,3,38,1583,8,38,1,39,1,39,1,39,5,39,1588,8,39,10,39,12,39,1591,9,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,3,40,1602,8,40,1,41,1,41,1,41,1,41,5,41,1608,8,41,10,41,12,41,1611,9,41,1,41,1,41,1,42,1,42,1,42,3,42,1618,8,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1634,8,44,1,45,1,45,1,45,1,45,1,46,1,46,1,46,3,46,1643,8,46,1,46,1,46,1,46,1,46,1,46,5,46,1650,8,46,10,46,12,46,1653,9,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1661,8,46,1,46,1,46,3,46,1665,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1677,8,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1685,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1695,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1715,8,46,1,46,1,46,1,46,3,46,1720,8,46,1,46,3,46,1723,8,46,1,46,1,46,1,46,1,46,1,46,3,46,1730,8,46,1,46,3,46,1733,8,46,1,46,1,46,3,46,1737,8,46,1,46,1,46,3,46,1741,8,46,1,46,3,46,1744,8,46,1,46,1,46,1,46,3,46,1749,8,46,1,46,1,46,1,46,3,46,1754,8,46,1,46,1,46,3,46,1758,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1767,8,46,1,46,1,46,1,46,1,46,3,46,1773,8,46,1,46,1,46,3,46,1777,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1786,8,46,1,46,3,46,1789,8,46,1,46,1,46,1,46,1,46,3,46,1795,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1804,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,4,46,1814,8,46,11,46,12,46,1815,1,46,1,46,3,46,1820,8,46,1,46,1,46,3,46,1824,8,46,1,46,1,46,1,46,3,46,1829,8,46,1,46,3,46,1832,8,46,1,46,1,46,1,46,1,46,3,46,1838,8,46,4,46,1840,8,46,11,46,12,46,1841,1,46,1,46,3,46,1846,8,46,1,46,1,46,1,46,1,46,3,46,1852,8,46,1,46,1,46,3,46,1856,8,46,1,46,1,46,1,46,3,46,1861,8,46,1,46,1,46,1,46,3,46,1866,8,46,1,46,1,46,3,46,1870,8,46,1,46,3,46,1873,8,46,1,47,1,47,1,47,1,47,1,47,3,47,1880,8,47,1,48,1,48,1,49,1,49,1,49,1,50,1,50,1,50,1,50,5,50,1891,8,50,10,50,12,50,1894,9,50,1,50,1,50,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,3,52,1906,8,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,5,53,1918,8,53,10,53,12,53,1921,9,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,1937,8,53,1,54,1,54,1,54,1,54,1,54,1,54,5,54,1945,8,54,10,54,12,54,1948,9,54,1,55,1,55,1,55,1,55,3,55,1954,8,55,1,55,1,55,1,55,3,55,1959,8,55,1,55,1,55,3,55,1963,8,55,1,55,1,55,1,55,1,55,1,55,3,55,1970,8,55,1,55,1,55,1,55,3,55,1975,8,55,1,55,3,55,1978,8,55,3,55,1980,8,55,1,56,1,56,1,56,3,56,1985,8,56,1,57,1,57,3,57,1989,8,57,1,57,1,57,3,57,1993,8,57,1,57,1,57,3,57,1997,8,57,1,57,1,57,1,57,3,57,2002,8,57,1,57,3,57,2005,8,57,1,57,1,57,3,57,2009,8,57,1,57,3,57,2012,8,57,1,57,1,57,3,57,2016,8,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,2024,8,57,1,57,1,57,1,57,3,57,2029,8,57,1,57,3,57,2032,8,57,1,57,1,57,3,57,2036,8,57,1,58,1,58,1,58,1,58,3,58,2042,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,3,58,2051,8,58,1,58,1,58,3,58,2055,8,58,1,58,1,58,1,58,1,58,5,58,2061,8,58,10,58,12,58,2064,9,58,1,58,1,58,1,58,1,58,5,58,2070,8,58,10,58,12,58,2073,9,58,1,58,1,58,3,58,2077,8,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,5,59,2087,8,59,10,59,12,59,2090,9,59,1,59,1,59,3,59,2094,8,59,1,60,1,60,3,60,2098,8,60,1,60,1,60,3,60,2102,8,60,1,60,1,60,1,60,3,60,2107,8,60,1,60,1,60,3,60,2111,8,60,1,60,3,60,2114,8,60,1,60,3,60,2117,8,60,1,60,3,60,2120,8,60,1,60,3,60,2123,8,60,1,60,3,60,2126,8,60,1,60,1,60,1,60,3,60,2131,8,60,1,60,3,60,2134,8,60,1,60,3,60,2137,8,60,1,60,3,60,2140,8,60,1,60,3,60,2143,8,60,1,60,3,60,2146,8,60,1,60,1,60,1,60,1,60,3,60,2152,8,60,1,60,1,60,3,60,2156,8,60,1,60,3,60,2159,8,60,1,60,3,60,2162,8,60,1,60,3,60,2165,8,60,1,60,3,60,2168,8,60,3,60,2170,8,60,1,61,1,61,1,61,1,61,1,61,3,61,2177,8,61,1,62,1,62,1,62,1,62,5,62,2183,8,62,10,62,12,62,2186,9,62,1,62,1,62,1,63,1,63,1,63,5,63,2193,8,63,10,63,12,63,2196,9,63,1,64,1,64,3,64,2200,8,64,1,64,1,64,1,64,1,64,1,64,1,64,5,64,2208,8,64,10,64,12,64,2211,9,64,3,64,2213,8,64,1,65,1,65,1,65,3,65,2218,8,65,1,65,5,65,2221,8,65,10,65,12,65,2224,9,65,1,65,1,65,3,65,2228,8,65,1,65,3,65,2231,8,65,1,66,1,66,1,66,3,66,2236,8,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,3,66,2245,8,66,3,66,2247,8,66,1,66,1,66,3,66,2251,8,66,1,66,3,66,2254,8,66,1,66,1,66,3,66,2258,8,66,1,66,5,66,2261,8,66,10,66,12,66,2264,9,66,1,67,1,67,3,67,2268,8,67,1,67,1,67,3,67,2272,8,67,1,67,3,67,2275,8,67,1,67,1,67,3,67,2279,8,67,1,68,3,68,2282,8,68,1,68,1,68,1,68,3,68,2287,8,68,1,68,3,68,2290,8,68,1,68,1,68,1,68,3,68,2295,8,68,1,68,3,68,2298,8,68,1,68,1,68,3,68,2302,8,68,1,68,3,68,2305,8,68,1,68,3,68,2308,8,68,1,68,1,68,1,68,3,68,2313,8,68,1,68,3,68,2316,8,68,1,68,1,68,1,68,1,68,1,68,1,68,3,68,2324,8,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,4,68,2334,8,68,11,68,12,68,2335,1,68,1,68,3,68,2340,8,68,1,68,1,68,1,68,1,68,1,68,3,68,2347,8,68,1,68,1,68,1,68,3,68,2352,8,68,1,68,3,68,2355,8,68,1,68,3,68,2358,8,68,1,68,3,68,2361,8,68,1,69,1,69,1,69,3,69,2366,8,69,1,70,1,70,1,71,1,71,1,71,1,71,1,71,5,71,2375,8,71,10,71,12,71,2378,9,71,1,71,1,71,1,71,3,71,2383,8,71,1,71,1,71,3,71,2387,8,71,1,71,3,71,2390,8,71,1,71,3,71,2393,8,71,1,71,5,71,2396,8,71,10,71,12,71,2399,9,71,1,71,1,71,5,71,2403,8,71,10,71,12,71,2406,9,71,3,71,2408,8,71,1,71,1,71,3,71,2412,8,71,1,71,1,71,1,71,1,71,5,71,2418,8,71,10,71,12,71,2421,9,71,1,71,1,71,3,71,2425,8,71,1,71,3,71,2428,8,71,1,71,3,71,2431,8,71,1,71,1,71,1,71,1,71,1,71,3,71,2438,8,71,1,71,5,71,2441,8,71,10,71,12,71,2444,9,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2452,8,71,1,71,3,71,2455,8,71,1,71,3,71,2458,8,71,1,71,5,71,2461,8,71,10,71,12,71,2464,9,71,3,71,2466,8,71,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,5,73,2476,8,73,10,73,12,73,2479,9,73,1,73,1,73,1,74,1,74,1,74,5,74,2486,8,74,10,74,12,74,2489,9,74,1,75,1,75,1,75,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,3,77,2505,8,77,1,78,1,78,3,78,2509,8,78,1,78,1,78,3,78,2513,8,78,3,78,2515,8,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,3,81,2532,8,81,3,81,2534,8,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,5,83,2548,8,83,10,83,12,83,2551,9,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,3,84,2561,8,84,1,84,3,84,2564,8,84,1,84,3,84,2567,8,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,3,86,2576,8,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,3,87,2585,8,87,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,91,1,91,1,91,3,91,2601,8,91,1,91,3,91,2604,8,91,1,91,3,91,2607,8,91,1,91,1,91,1,91,1,91,5,91,2613,8,91,10,91,12,91,2616,9,91,1,91,3,91,2619,8,91,1,91,1,91,1,92,1,92,1,92,3,92,2626,8,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,3,93,2635,8,93,1,93,1,93,3,93,2639,8,93,1,93,1,93,1,93,1,93,3,93,2645,8,93,1,94,1,94,3,94,2649,8,94,1,94,3,94,2652,8,94,1,94,3,94,2655,8,94,1,94,3,94,2658,8,94,1,94,3,94,2661,8,94,1,95,1,95,1,95,1,95,3,95,2667,8,95,1,96,1,96,3,96,2671,8,96,1,96,1,96,1,96,3,96,2676,8,96,1,96,1,96,3,96,2680,8,96,1,96,3,96,2683,8,96,1,96,3,96,2686,8,96,1,96,3,96,2689,8,96,1,96,1,96,1,96,3,96,2694,8,96,1,97,1,97,1,97,1,97,3,97,2700,8,97,1,97,1,97,3,97,2704,8,97,1,98,1,98,3,98,2708,8,98,1,98,1,98,3,98,2712,8,98,1,98,1,98,4,98,2716,8,98,11,98,12,98,2717,3,98,2720,8,98,1,99,1,99,1,99,3,99,2725,8,99,1,99,1,99,4,99,2729,8,99,11,99,12,99,2730,1,100,1,100,1,100,1,100,3,100,2737,8,100,1,100,1,100,3,100,2741,8,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,2756,8,100,1,100,1,100,1,100,3,100,2761,8,100,1,100,3,100,2764,8,100,3,100,2766,8,100,1,101,3,101,2769,8,101,1,101,1,101,3,101,2773,8,101,1,102,1,102,3,102,2777,8,102,1,102,3,102,2780,8,102,1,102,3,102,2783,8,102,1,102,1,102,1,102,1,102,1,102,1,102,3,102,2791,8,102,1,102,1,102,1,102,1,102,3,102,2797,8,102,3,102,2799,8,102,1,103,1,103,1,103,1,103,3,103,2805,8,103,1,103,1,103,1,103,3,103,2810,8,103,1,104,1,104,1,104,3,104,2815,8,104,1,104,1,104,3,104,2819,8,104,1,104,1,104,1,104,1,104,1,104,5,104,2826,8,104,10,104,12,104,2829,9,104,1,105,1,105,1,105,1,105,1,105,1,105,5,105,2837,8,105,10,105,12,105,2840,9,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,3,106,2878,8,106,1,107,1,107,1,107,1,107,1,107,1,107,4,107,2886,8,107,11,107,12,107,2887,3,107,2890,8,107,1,107,3,107,2893,8,107,1,108,1,108,3,108,2897,8,108,1,108,1,108,3,108,2901,8,108,1,109,1,109,1,109,1,109,1,109,1,109,4,109,2909,8,109,11,109,12,109,2910,3,109,2913,8,109,1,109,1,109,4,109,2917,8,109,11,109,12,109,2918,3,109,2921,8,109,1,110,1,110,1,110,1,110,1,110,5,110,2928,8,110,10,110,12,110,2931,9,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,5,111,2940,8,111,10,111,12,111,2943,9,111,1,111,1,111,1,112,1,112,1,112,1,113,1,113,1,113,1,114,1,114,1,114,3,114,2956,8,114,1,114,1,114,1,114,3,114,2961,8,114,1,114,3,114,2964,8,114,1,114,1,114,1,114,1,114,1,114,3,114,2971,8,114,1,115,1,115,1,115,3,115,2976,8,115,1,116,1,116,1,116,1,116,1,116,1,116,3,116,2984,8,116,3,116,2986,8,116,1,117,1,117,1,117,1,117,3,117,2992,8,117,1,117,1,117,1,117,3,117,2997,8,117,1,117,1,117,3,117,3001,8,117,1,117,1,117,1,117,3,117,3006,8,117,1,117,1,117,1,117,1,117,3,117,3012,8,117,1,117,1,117,1,117,1,117,1,117,3,117,3019,8,117,1,117,1,117,1,117,1,117,3,117,3025,8,117,3,117,3027,8,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3036,8,118,1,118,1,118,1,118,1,118,3,118,3042,8,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3050,8,118,1,119,1,119,1,119,1,119,3,119,3056,8,119,1,119,1,119,1,119,3,119,3061,8,119,1,119,1,119,1,119,3,119,3066,8,119,1,120,1,120,1,120,1,120,1,120,1,120,3,120,3074,8,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,3089,8,121,3,121,3091,8,121,1,121,1,121,3,121,3095,8,121,1,121,1,121,3,121,3099,8,121,1,121,3,121,3102,8,121,1,121,3,121,3105,8,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,3114,8,122,1,122,3,122,3117,8,122,1,122,3,122,3120,8,122,1,123,1,123,1,123,1,123,3,123,3126,8,123,1,123,1,123,5,123,3130,8,123,10,123,12,123,3133,9,123,1,123,3,123,3136,8,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,3148,8,123,1,123,1,123,1,123,1,123,3,123,3154,8,123,1,124,3,124,3157,8,124,1,124,1,124,1,124,3,124,3162,8,124,1,124,1,124,3,124,3166,8,124,1,124,1,124,1,124,1,124,1,124,3,124,3173,8,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,3,124,3183,8,124,3,124,3185,8,124,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,3,128,3209,8,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3,128,3221,8,128,1,128,4,128,3224,8,128,11,128,12,128,3225,3,128,3228,8,128,1,128,1,128,3,128,3232,8,128,1,128,3,128,3235,8,128,1,128,3,128,3238,8,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3,128,3248,8,128,1,128,3,128,3251,8,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3,128,3261,8,128,1,128,5,128,3264,8,128,10,128,12,128,3267,9,128,1,128,1,128,3,128,3271,8,128,1,128,3,128,3274,8,128,1,128,3,128,3277,8,128,1,128,1,128,1,128,1,128,1,128,1,128,3,128,3285,8,128,1,129,1,129,1,129,1,129,3,129,3291,8,129,1,130,1,130,1,130,5,130,3296,8,130,10,130,12,130,3299,9,130,1,131,1,131,1,131,1,131,1,131,3,131,3306,8,131,1,131,3,131,3309,8,131,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,3,133,3320,8,133,1,134,1,134,3,134,3324,8,134,1,134,1,134,5,134,3328,8,134,10,134,12,134,3331,9,134,1,135,1,135,1,135,1,135,3,135,3337,8,135,1,136,3,136,3340,8,136,1,136,1,136,1,136,1,136,1,136,1,136,1,136,3,136,3349,8,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,5,137,3361,8,137,10,137,12,137,3364,9,137,3,137,3366,8,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,5,138,3378,8,138,10,138,12,138,3381,9,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,3,139,3391,8,139,1,139,3,139,3394,8,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,5,140,3404,8,140,10,140,12,140,3407,9,140,1,141,1,141,3,141,3411,8,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,5,141,3422,8,141,10,141,12,141,3425,9,141,1,141,1,141,3,141,3429,8,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,3,141,3442,8,141,1,141,1,141,1,141,1,141,1,141,5,141,3449,8,141,10,141,12,141,3452,9,141,3,141,3454,8,141,1,141,3,141,3457,8,141,1,141,1,141,1,141,1,141,1,141,3,141,3464,8,141,1,141,3,141,3467,8,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,3,141,3479,8,141,1,141,1,141,1,141,1,141,3,141,3485,8,141,3,141,3487,8,141,1,142,1,142,1,142,1,142,5,142,3493,8,142,10,142,12,142,3496,9,142,1,142,1,142,1,143,1,143,1,143,3,143,3503,8,143,1,144,1,144,1,144,1,144,1,144,1,144,3,144,3511,8,144,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,3,146,3523,8,146,1,146,1,146,1,146,3,146,3528,8,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,3,146,3539,8,146,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,3,148,3550,8,148,1,148,1,148,1,148,1,148,1,148,1,148,3,148,3558,8,148,1,148,1,148,1,148,1,148,5,148,3564,8,148,10,148,12,148,3567,9,148,1,149,1,149,1,149,1,149,3,149,3573,8,149,1,149,1,149,1,149,1,149,1,149,3,149,3580,8,149,3,149,3582,8,149,1,149,3,149,3585,8,149,1,149,1,149,1,149,3,149,3590,8,149,1,149,1,149,1,149,3,149,3595,8,149,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,5,151,3612,8,151,10,151,12,151,3615,9,151,1,151,1,151,1,151,1,151,5,151,3621,8,151,10,151,12,151,3624,9,151,3,151,3626,8,151,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,3,154,3653,8,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,3,154,3662,8,154,1,154,3,154,3665,8,154,1,154,1,154,3,154,3669,8,154,1,154,1,154,3,154,3673,8,154,1,154,1,154,3,154,3677,8,154,1,154,1,154,1,154,5,154,3682,8,154,10,154,12,154,3685,9,154,1,154,3,154,3688,8,154,1,154,1,154,3,154,3692,8,154,1,154,1,154,3,154,3696,8,154,1,154,1,154,3,154,3700,8,154,1,154,1,154,1,154,3,154,3705,8,154,1,154,1,154,3,154,3709,8,154,1,154,1,154,1,154,3,154,3714,8,154,1,154,1,154,1,154,1,154,3,154,3720,8,154,1,154,1,154,1,154,3,154,3725,8,154,1,154,1,154,1,154,5,154,3730,8,154,10,154,12,154,3733,9,154,1,154,3,154,3736,8,154,1,154,1,154,1,154,1,154,3,154,3742,8,154,1,154,1,154,3,154,3746,8,154,1,154,1,154,1,154,3,154,3751,8,154,1,154,1,154,1,154,1,154,1,154,1,154,3,154,3759,8,154,1,154,1,154,1,154,1,154,3,154,3765,8,154,1,154,1,154,1,154,3,154,3770,8,154,1,154,1,154,1,154,1,154,1,154,3,154,3777,8,154,1,154,1,154,1,154,3,154,3782,8,154,1,154,1,154,3,154,3786,8,154,1,154,1,154,1,154,3,154,3791,8,154,1,154,1,154,1,154,1,154,3,154,3797,8,154,1,154,1,154,1,154,1,154,1,154,3,154,3804,8,154,1,154,1,154,1,154,3,154,3809,8,154,1,154,1,154,1,154,1,154,1,154,3,154,3816,8,154,1,154,1,154,1,154,3,154,3821,8,154,1,154,1,154,1,154,1,154,1,154,3,154,3828,8,154,1,154,1,154,3,154,3832,8,154,1,154,1,154,1,154,1,154,5,154,3838,8,154,10,154,12,154,3841,9,154,1,154,3,154,3844,8,154,3,154,3846,8,154,1,155,3,155,3849,8,155,1,155,1,155,1,155,3,155,3854,8,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,3,155,3864,8,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,3879,8,156,1,156,3,156,3882,8,156,1,156,1,156,1,156,1,156,1,156,1,156,3,156,3890,8,156,1,157,1,157,1,157,5,157,3895,8,157,10,157,12,157,3898,9,157,1,158,1,158,3,158,3902,8,158,1,159,1,159,4,159,3906,8,159,11,159,12,159,3907,1,160,1,160,3,160,3912,8,160,1,160,1,160,1,160,5,160,3917,8,160,10,160,12,160,3920,9,160,1,160,1,160,3,160,3924,8,160,1,160,3,160,3927,8,160,1,161,3,161,3930,8,161,1,161,1,161,3,161,3934,8,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,3,162,3943,8,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,3,162,3961,8,162,1,162,3,162,3964,8,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,3,162,3996,8,162,1,162,1,162,1,162,3,162,4001,8,162,1,163,1,163,1,163,1,163,3,163,4007,8,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,3,163,4027,8,163,1,163,1,163,1,163,3,163,4032,8,163,1,164,1,164,1,164,1,165,3,165,4038,8,165,1,165,3,165,4041,8,165,1,165,1,165,3,165,4045,8,165,1,165,1,165,3,165,4049,8,165,1,165,1,165,1,165,1,165,3,165,4055,8,165,1,165,3,165,4058,8,165,1,165,1,165,3,165,4062,8,165,1,165,1,165,3,165,4066,8,165,1,165,1,165,1,165,3,165,4071,8,165,1,165,3,165,4074,8,165,1,165,3,165,4077,8,165,1,165,3,165,4080,8,165,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,3,167,4093,8,167,1,168,1,168,1,168,1,168,3,168,4099,8,168,1,168,1,168,1,168,1,168,1,168,1,168,3,168,4107,8,168,1,169,1,169,1,169,5,169,4112,8,169,10,169,12,169,4115,9,169,1,169,1,169,3,169,4119,8,169,1,169,3,169,4122,8,169,1,169,1,169,1,169,5,169,4127,8,169,10,169,12,169,4130,9,169,3,169,4132,8,169,1,170,1,170,1,171,1,171,1,171,1,171,3,171,4140,8,171,1,171,3,171,4143,8,171,1,172,1,172,1,172,3,172,4148,8,172,1,172,1,172,1,172,1,172,1,172,3,172,4155,8,172,1,172,3,172,4158,8,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,5,172,4176,8,172,10,172,12,172,4179,9,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,3,172,4190,8,172,1,173,3,173,4193,8,173,1,173,1,173,1,173,1,173,3,173,4199,8,173,1,173,5,173,4202,8,173,10,173,12,173,4205,9,173,1,174,1,174,1,174,1,174,5,174,4211,8,174,10,174,12,174,4214,9,174,1,174,1,174,1,174,1,174,1,174,3,174,4221,8,174,1,174,1,174,1,174,3,174,4226,8,174,1,175,1,175,1,175,1,175,3,175,4232,8,175,1,175,1,175,1,175,5,175,4237,8,175,10,175,12,175,4240,9,175,1,175,1,175,1,175,1,175,1,175,3,175,4247,8,175,1,175,3,175,4250,8,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,5,176,4261,8,176,10,176,12,176,4264,9,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,3,177,4277,8,177,1,177,1,177,1,177,1,177,3,177,4283,8,177,1,177,1,177,1,177,1,177,1,177,1,177,3,177,4291,8,177,3,177,4293,8,177,1,178,1,178,1,179,1,179,3,179,4299,8,179,1,179,1,179,3,179,4303,8,179,1,179,3,179,4306,8,179,1,179,3,179,4309,8,179,1,179,1,179,1,179,3,179,4314,8,179,1,179,1,179,1,179,3,179,4319,8,179,1,179,1,179,3,179,4323,8,179,1,179,3,179,4326,8,179,1,179,3,179,4329,8,179,1,179,3,179,4332,8,179,1,179,3,179,4335,8,179,1,180,1,180,1,180,1,180,5,180,4341,8,180,10,180,12,180,4344,9,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,3,181,4354,8,181,1,181,3,181,4357,8,181,1,181,3,181,4360,8,181,1,181,1,181,1,181,3,181,4365,8,181,1,181,3,181,4368,8,181,1,181,1,181,3,181,4372,8,181,1,182,1,182,3,182,4376,8,182,1,182,1,182,1,182,1,182,3,182,4382,8,182,1,182,1,182,1,182,1,182,5,182,4388,8,182,10,182,12,182,4391,9,182,3,182,4393,8,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,5,182,4404,8,182,10,182,12,182,4407,9,182,1,182,1,182,3,182,4411,8,182,3,182,4413,8,182,1,182,4,182,4416,8,182,11,182,12,182,4417,1,182,1,182,1,182,1,182,1,182,3,182,4425,8,182,1,183,1,183,1,183,1,184,1,184,3,184,4432,8,184,1,184,1,184,1,185,1,185,1,185,5,185,4439,8,185,10,185,12,185,4442,9,185,1,186,1,186,1,186,5,186,4447,8,186,10,186,12,186,4450,9,186,1,187,1,187,1,187,1,187,1,187,3,187,4457,8,187,1,188,1,188,1,188,5,188,4462,8,188,10,188,12,188,4465,9,188,1,189,1,189,1,189,1,189,1,189,3,189,4472,8,189,1,190,1,190,1,190,5,190,4477,8,190,10,190,12,190,4480,9,190,1,191,1,191,1,191,1,191,1,191,3,191,4487,8,191,1,192,1,192,3,192,4491,8,192,1,192,1,192,3,192,4495,8,192,3,192,4497,8,192,1,192,1,192,1,193,1,193,3,193,4503,8,193,1,193,1,193,1,193,3,193,4508,8,193,1,194,1,194,3,194,4512,8,194,1,194,1,194,1,194,1,194,1,194,3,194,4519,8,194,1,195,1,195,1,195,3,195,4524,8,195,1,196,1,196,1,196,3,196,4529,8,196,1,196,1,196,1,196,3,196,4534,8,196,3,196,4536,8,196,1,196,1,196,1,197,1,197,1,197,1,198,1,198,1,198,3,198,4546,8,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,3,198,4556,8,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,3,198,4572,8,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,5,199,4588,8,199,10,199,12,199,4591,9,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,3,199,4602,8,199,1,199,1,199,1,199,1,199,1,199,3,199,4609,8,199,1,200,1,200,1,200,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,3,202,4624,8,202,1,202,4,202,4627,8,202,11,202,12,202,4628,1,202,3,202,4632,8,202,1,203,1,203,1,203,3,203,4637,8,203,1,203,1,203,1,203,3,203,4642,8,203,1,203,1,203,1,203,3,203,4647,8,203,1,203,3,203,4650,8,203,1,203,3,203,4653,8,203,1,204,1,204,1,204,3,204,4658,8,204,1,204,1,204,1,204,5,204,4663,8,204,10,204,12,204,4666,9,204,1,204,3,204,4669,8,204,1,205,1,205,1,205,3,205,4674,8,205,1,205,1,205,1,205,5,205,4679,8,205,10,205,12,205,4682,9,205,1,205,3,205,4685,8,205,1,206,1,206,1,206,1,206,3,206,4691,8,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,4700,8,206,1,206,1,206,1,207,1,207,1,207,5,207,4707,8,207,10,207,12,207,4710,9,207,1,207,1,207,1,208,1,208,1,208,1,209,1,209,1,209,1,209,4,209,4721,8,209,11,209,12,209,4722,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,3,210,4736,8,210,1,210,1,210,1,210,1,210,3,210,4742,8,210,1,210,1,210,3,210,4746,8,210,3,210,4748,8,210,1,211,1,211,1,211,1,212,1,212,3,212,4755,8,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,3,212,4768,8,212,1,212,1,212,1,212,1,212,1,212,3,212,4775,8,212,3,212,4777,8,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,5,214,4791,8,214,10,214,12,214,4794,9,214,1,214,3,214,4797,8,214,1,214,1,214,3,214,4801,8,214,1,214,1,214,1,214,3,214,4806,8,214,1,214,1,214,1,214,3,214,4811,8,214,1,214,1,214,1,214,3,214,4816,8,214,1,214,1,214,1,214,3,214,4821,8,214,1,214,3,214,4824,8,214,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,3,216,4836,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4889,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4898,8,216,1,216,1,216,3,216,4902,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4911,8,216,1,216,1,216,3,216,4915,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4924,8,216,1,216,1,216,3,216,4928,8,216,1,216,1,216,1,216,3,216,4933,8,216,1,216,3,216,4936,8,216,1,216,1,216,3,216,4940,8,216,1,216,1,216,1,216,3,216,4945,8,216,3,216,4947,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4956,8,216,1,216,1,216,1,216,3,216,4961,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4972,8,216,1,216,1,216,3,216,4976,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4990,8,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,4998,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,5036,8,216,3,216,5038,8,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,3,217,5057,8,217,1,217,3,217,5060,8,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,5087,8,218,1,218,1,218,3,218,5091,8,218,1,218,1,218,3,218,5095,8,218,1,218,1,218,3,218,5099,8,218,1,218,1,218,3,218,5103,8,218,1,218,3,218,5106,8,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,5121,8,218,1,218,1,218,1,218,1,218,1,218,3,218,5128,8,218,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,5,220,5140,8,220,10,220,12,220,5143,9,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,3,221,5155,8,221,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,5180,8,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,5199,8,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,5214,8,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,3,223,5230,8,223,1,223,1,223,1,223,1,223,1,223,3,223,5237,8,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,3,224,5248,8,224,1,224,3,224,5251,8,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,5,225,5268,8,225,10,225,12,225,5271,9,225,3,225,5273,8,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,5,226,5284,8,226,10,226,12,226,5287,9,226,1,226,3,226,5290,8,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,3,227,5310,8,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,5,227,5320,8,227,10,227,12,227,5323,9,227,1,227,3,227,5326,8,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,3,227,5348,8,227,1,228,1,228,3,228,5352,8,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,3,228,5362,8,228,1,228,1,228,3,228,5366,8,228,1,228,1,228,1,228,1,228,3,228,5372,8,228,1,228,1,228,3,228,5376,8,228,5,228,5378,8,228,10,228,12,228,5381,9,228,1,228,3,228,5384,8,228,1,229,1,229,1,229,1,229,1,229,3,229,5391,8,229,1,230,1,230,1,230,3,230,5396,8,230,1,231,1,231,1,231,1,232,1,232,1,232,1,233,1,233,1,233,3,233,5407,8,233,1,234,1,234,3,234,5411,8,234,1,234,3,234,5414,8,234,1,234,1,234,1,234,3,234,5419,8,234,1,234,1,234,1,234,1,234,3,234,5425,8,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,3,234,5436,8,234,1,234,1,234,3,234,5440,8,234,1,234,3,234,5443,8,234,1,234,1,234,3,234,5447,8,234,1,234,1,234,3,234,5451,8,234,1,234,3,234,5454,8,234,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,3,236,5464,8,236,1,236,3,236,5467,8,236,1,237,1,237,3,237,5471,8,237,1,237,5,237,5474,8,237,10,237,12,237,5477,9,237,1,238,1,238,1,238,3,238,5482,8,238,1,238,3,238,5485,8,238,1,238,1,238,1,238,3,238,5490,8,238,1,238,3,238,5493,8,238,1,238,1,238,1,238,1,238,1,238,3,238,5500,8,238,3,238,5502,8,238,1,238,1,238,1,238,1,238,3,238,5508,8,238,1,238,1,238,3,238,5512,8,238,1,239,1,239,1,239,1,240,1,240,1,240,1,240,3,240,5521,8,240,1,240,4,240,5524,8,240,11,240,12,240,5525,3,240,5528,8,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,3,241,5538,8,241,1,241,3,241,5541,8,241,1,241,1,241,1,241,3,241,5546,8,241,1,242,1,242,1,242,1,242,1,242,1,242,3,242,5554,8,242,1,242,3,242,5557,8,242,1,242,4,242,5560,8,242,11,242,12,242,5561,3,242,5564,8,242,3,242,5566,8,242,1,243,1,243,1,243,1,243,3,243,5572,8,243,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,3,246,5589,8,246,1,246,1,246,5,246,5593,8,246,10,246,12,246,5596,9,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,3,247,5608,8,247,1,247,1,247,1,247,1,247,3,247,5614,8,247,1,247,1,247,3,247,5618,8,247,1,247,1,247,1,247,3,247,5623,8,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,3,249,5653,8,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,3,249,5668,8,249,1,249,1,249,1,249,3,249,5673,8,249,1,250,1,250,3,250,5677,8,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,3,251,5690,8,251,1,251,1,251,3,251,5694,8,251,3,251,5696,8,251,1,251,1,251,1,251,1,251,1,251,5,251,5703,8,251,10,251,12,251,5706,9,251,1,251,1,251,1,251,3,251,5711,8,251,3,251,5713,8,251,1,252,1,252,3,252,5717,8,252,1,252,3,252,5720,8,252,1,252,3,252,5723,8,252,1,252,3,252,5726,8,252,1,252,3,252,5729,8,252,3,252,5731,8,252,1,252,3,252,5734,8,252,1,253,1,253,3,253,5738,8,253,1,253,1,253,1,253,1,253,5,253,5744,8,253,10,253,12,253,5747,9,253,1,253,1,253,3,253,5751,8,253,1,253,3,253,5754,8,253,1,254,1,254,1,255,1,255,3,255,5760,8,255,1,255,1,255,3,255,5764,8,255,1,256,1,256,3,256,5768,8,256,1,256,1,256,1,256,3,256,5773,8,256,3,256,5775,8,256,1,257,1,257,3,257,5779,8,257,1,258,1,258,3,258,5783,8,258,1,259,1,259,1,259,5,259,5788,8,259,10,259,12,259,5791,9,259,1,260,1,260,1,260,3,260,5796,8,260,1,260,1,260,3,260,5800,8,260,3,260,5802,8,260,3,260,5804,8,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5817,8,261,1,262,1,262,1,262,1,262,5,262,5823,8,262,10,262,12,262,5826,9,262,1,262,1,262,1,263,1,263,1,263,3,263,5833,8,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,5,264,5842,8,264,10,264,12,264,5845,9,264,1,264,1,264,1,265,1,265,1,265,1,265,3,265,5853,8,265,1,266,1,266,1,266,3,266,5858,8,266,1,266,1,266,3,266,5862,8,266,1,266,1,266,3,266,5866,8,266,1,266,1,266,1,266,1,266,1,266,3,266,5873,8,266,1,266,3,266,5876,8,266,3,266,5878,8,266,1,267,1,267,1,267,1,267,1,268,1,268,3,268,5886,8,268,1,268,1,268,3,268,5890,8,268,1,269,3,269,5893,8,269,1,269,1,269,1,269,1,269,1,269,3,269,5900,8,269,1,269,1,269,1,269,1,269,1,269,3,269,5907,8,269,1,269,1,269,1,269,3,269,5912,8,269,1,269,1,269,1,269,1,269,1,269,3,269,5919,8,269,1,269,3,269,5922,8,269,3,269,5924,8,269,1,269,3,269,5927,8,269,1,270,1,270,1,270,1,270,3,270,5933,8,270,1,270,1,270,1,270,3,270,5938,8,270,1,270,1,270,3,270,5942,8,270,1,271,1,271,1,271,5,271,5947,8,271,10,271,12,271,5950,9,271,1,272,1,272,1,272,1,273,1,273,1,273,1,274,3,274,5959,8,274,1,274,1,274,1,274,1,274,1,274,3,274,5966,8,274,1,274,3,274,5969,8,274,1,274,3,274,5972,8,274,1,275,1,275,3,275,5976,8,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,3,275,5987,8,275,1,275,3,275,5990,8,275,1,275,3,275,5993,8,275,1,275,3,275,5996,8,275,1,276,3,276,5999,8,276,1,276,1,276,1,276,1,276,1,276,3,276,6006,8,276,1,276,3,276,6009,8,276,1,276,3,276,6012,8,276,1,277,1,277,1,277,5,277,6017,8,277,10,277,12,277,6020,9,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,3,278,6031,8,278,1,278,1,278,1,278,1,278,1,278,3,278,6038,8,278,3,278,6040,8,278,1,279,1,279,1,279,3,279,6045,8,279,1,279,1,279,1,279,5,279,6050,8,279,10,279,12,279,6053,9,279,1,279,1,279,1,279,3,279,6058,8,279,1,279,1,279,1,279,1,280,1,280,3,280,6065,8,280,1,281,1,281,1,281,3,281,6070,8,281,1,281,1,281,1,282,3,282,6075,8,282,1,282,1,282,3,282,6079,8,282,1,282,1,282,3,282,6083,8,282,1,282,1,282,3,282,6087,8,282,3,282,6089,8,282,1,283,1,283,3,283,6093,8,283,1,284,1,284,3,284,6097,8,284,1,284,3,284,6100,8,284,1,284,3,284,6103,8,284,3,284,6105,8,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,284,3,284,6115,8,284,3,284,6117,8,284,1,284,1,284,1,284,3,284,6122,8,284,5,284,6124,8,284,10,284,12,284,6127,9,284,1,285,1,285,3,285,6131,8,285,1,286,1,286,3,286,6135,8,286,1,286,1,286,1,286,5,286,6140,8,286,10,286,12,286,6143,9,286,1,287,1,287,3,287,6147,8,287,1,287,1,287,3,287,6151,8,287,1,287,3,287,6154,8,287,1,287,1,287,1,287,1,287,3,287,6160,8,287,1,287,3,287,6163,8,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,289,3,289,6182,8,289,1,289,1,289,1,289,1,290,1,290,3,290,6189,8,290,1,290,1,290,3,290,6193,8,290,1,291,3,291,6196,8,291,1,291,1,291,3,291,6200,8,291,1,291,1,291,3,291,6204,8,291,1,291,3,291,6207,8,291,1,291,3,291,6210,8,291,1,292,1,292,1,292,3,292,6215,8,292,1,293,1,293,1,293,1,293,1,293,5,293,6222,8,293,10,293,12,293,6225,9,293,1,294,1,294,1,294,1,294,3,294,6231,8,294,1,294,1,294,3,294,6235,8,294,1,295,1,295,3,295,6239,8,295,1,295,1,295,3,295,6243,8,295,1,295,3,295,6246,8,295,3,295,6248,8,295,1,296,1,296,1,296,3,296,6253,8,296,1,296,1,296,3,296,6257,8,296,1,297,1,297,1,297,3,297,6262,8,297,1,297,1,297,1,297,1,297,3,297,6268,8,297,1,298,1,298,1,298,1,298,1,298,3,298,6275,8,298,1,299,1,299,1,299,3,299,6280,8,299,1,300,1,300,1,300,3,300,6285,8,300,1,300,1,300,1,301,1,301,1,301,5,301,6292,8,301,10,301,12,301,6295,9,301,1,302,1,302,1,302,1,302,3,302,6301,8,302,1,302,1,302,1,302,1,302,5,302,6307,8,302,10,302,12,302,6310,9,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,3,302,6320,8,302,1,303,1,303,1,303,3,303,6325,8,303,1,303,1,303,3,303,6329,8,303,1,303,3,303,6332,8,303,1,303,1,303,3,303,6336,8,303,1,303,1,303,1,303,3,303,6341,8,303,4,303,6343,8,303,11,303,12,303,6344,1,303,1,303,1,303,3,303,6350,8,303,1,304,1,304,1,304,1,304,5,304,6356,8,304,10,304,12,304,6359,9,304,1,305,1,305,1,305,1,306,1,306,1,306,5,306,6367,8,306,10,306,12,306,6370,9,306,1,307,1,307,3,307,6374,8,307,1,307,1,307,3,307,6378,8,307,1,307,3,307,6381,8,307,1,307,3,307,6384,8,307,3,307,6386,8,307,1,307,3,307,6389,8,307,1,307,3,307,6392,8,307,1,307,3,307,6395,8,307,1,307,1,307,3,307,6399,8,307,1,307,1,307,3,307,6403,8,307,1,307,1,307,3,307,6407,8,307,3,307,6409,8,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,3,307,6418,8,307,1,307,1,307,1,307,3,307,6423,8,307,1,307,1,307,1,307,1,307,3,307,6429,8,307,1,307,1,307,3,307,6433,8,307,3,307,6435,8,307,1,307,1,307,1,307,1,307,1,307,3,307,6442,8,307,1,307,1,307,1,307,3,307,6447,8,307,1,307,1,307,1,307,1,307,5,307,6453,8,307,10,307,12,307,6456,9,307,1,308,3,308,6459,8,308,1,308,1,308,1,308,1,308,1,308,3,308,6466,8,308,1,309,1,309,1,309,3,309,6471,8,309,1,309,3,309,6474,8,309,1,309,1,309,1,309,1,309,3,309,6480,8,309,1,310,1,310,3,310,6484,8,310,1,311,1,311,1,311,1,311,3,311,6490,8,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,3,312,6499,8,312,1,312,1,312,1,312,1,312,3,312,6505,8,312,3,312,6507,8,312,1,313,1,313,1,313,3,313,6512,8,313,1,313,3,313,6515,8,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,3,313,6524,8,313,1,313,1,313,1,313,1,313,1,313,3,313,6531,8,313,3,313,6533,8,313,1,314,1,314,1,314,5,314,6538,8,314,10,314,12,314,6541,9,314,1,315,1,315,3,315,6545,8,315,1,315,3,315,6548,8,315,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,3,316,6558,8,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,5,317,6567,8,317,10,317,12,317,6570,9,317,1,317,1,317,3,317,6574,8,317,1,317,1,317,3,317,6578,8,317,1,318,1,318,1,318,1,318,1,318,1,318,3,318,6586,8,318,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,3,320,6596,8,320,1,321,1,321,1,321,5,321,6601,8,321,10,321,12,321,6604,9,321,1,322,1,322,1,322,3,322,6609,8,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,5,323,6618,8,323,10,323,12,323,6621,9,323,1,323,1,323,1,323,3,323,6626,8,323,1,323,1,323,1,323,1,323,1,323,1,323,5,323,6634,8,323,10,323,12,323,6637,9,323,1,323,1,323,1,324,1,324,1,324,1,324,3,324,6645,8,324,1,324,1,324,3,324,6649,8,324,1,324,4,324,6652,8,324,11,324,12,324,6653,3,324,6656,8,324,1,324,1,324,3,324,6660,8,324,1,325,1,325,1,325,1,325,1,325,1,325,3,325,6668,8,325,1,326,3,326,6671,8,326,1,326,1,326,1,326,3,326,6676,8,326,1,326,5,326,6679,8,326,10,326,12,326,6682,9,326,1,326,1,326,1,326,1,326,3,326,6688,8,326,3,326,6690,8,326,1,326,1,326,1,326,1,326,3,326,6696,8,326,1,327,1,327,3,327,6700,8,327,1,327,3,327,6703,8,327,1,327,1,327,1,327,3,327,6708,8,327,1,327,3,327,6711,8,327,3,327,6713,8,327,1,328,1,328,1,328,1,328,3,328,6719,8,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,3,329,6728,8,329,1,329,1,329,1,329,1,329,3,329,6734,8,329,1,329,3,329,6737,8,329,1,330,1,330,1,330,1,330,1,331,1,331,3,331,6745,8,331,1,331,3,331,6748,8,331,1,332,1,332,3,332,6752,8,332,1,332,1,332,1,332,1,332,3,332,6758,8,332,3,332,6760,8,332,1,332,3,332,6763,8,332,1,333,1,333,3,333,6767,8,333,1,333,1,333,1,333,3,333,6772,8,333,1,334,1,334,1,334,1,334,1,334,3,334,6779,8,334,1,334,1,334,1,334,1,334,1,334,3,334,6786,8,334,3,334,6788,8,334,1,334,1,334,1,334,1,334,3,334,6794,8,334,3,334,6796,8,334,1,334,1,334,1,334,3,334,6801,8,334,3,334,6803,8,334,1,335,1,335,3,335,6807,8,335,1,336,1,336,1,337,1,337,1,338,1,338,1,338,3,338,6816,8,338,1,338,1,338,3,338,6820,8,338,1,338,1,338,1,338,1,338,1,338,1,338,5,338,6828,8,338,10,338,12,338,6831,9,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6844,8,339,1,339,3,339,6847,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6855,8,339,1,339,1,339,1,339,1,339,1,339,5,339,6862,8,339,10,339,12,339,6865,9,339,1,339,1,339,1,339,3,339,6870,8,339,1,339,1,339,1,339,3,339,6875,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6883,8,339,3,339,6885,8,339,1,339,1,339,1,339,3,339,6890,8,339,1,339,1,339,3,339,6894,8,339,1,339,1,339,1,339,3,339,6899,8,339,1,339,1,339,1,339,3,339,6904,8,339,1,340,1,340,1,340,1,340,3,340,6910,8,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,5,340,6926,8,340,10,340,12,340,6929,9,340,1,341,1,341,1,341,1,341,1,341,1,341,3,341,6937,8,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,3,341,6952,8,341,1,341,1,341,1,341,3,341,6957,8,341,1,341,3,341,6960,8,341,1,341,1,341,1,341,1,341,3,341,6966,8,341,1,341,1,341,1,341,3,341,6971,8,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,3,341,6984,8,341,1,341,4,341,6987,8,341,11,341,12,341,6988,1,341,1,341,3,341,6993,8,341,1,341,1,341,1,341,1,341,1,341,3,341,7e3,8,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,3,341,7019,8,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,3,341,7031,8,341,1,341,1,341,1,341,3,341,7036,8,341,1,341,1,341,1,341,1,341,1,341,1,341,3,341,7044,8,341,5,341,7046,8,341,10,341,12,341,7049,9,341,1,342,1,342,1,342,1,342,1,342,1,342,3,342,7057,8,342,1,342,3,342,7060,8,342,1,342,1,342,1,342,3,342,7065,8,342,1,342,1,342,1,342,3,342,7070,8,342,1,342,3,342,7073,8,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,3,343,7084,8,343,1,343,1,343,1,343,1,343,1,343,1,343,3,343,7092,8,343,1,343,1,343,1,343,3,343,7097,8,343,3,343,7099,8,343,1,343,3,343,7102,8,343,1,344,1,344,3,344,7106,8,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7117,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7138,8,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7146,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7159,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7169,8,345,1,345,1,345,1,345,1,345,3,345,7175,8,345,1,345,1,345,1,345,1,345,3,345,7181,8,345,1,345,3,345,7184,8,345,1,345,3,345,7187,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7213,8,345,3,345,7215,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7236,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7246,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7259,8,345,1,345,1,345,1,345,3,345,7264,8,345,1,345,1,345,3,345,7268,8,345,3,345,7270,8,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7282,8,345,1,346,1,346,1,346,5,346,7287,8,346,10,346,12,346,7290,9,346,1,347,1,347,1,347,3,347,7295,8,347,1,348,1,348,1,349,1,349,3,349,7301,8,349,1,349,1,349,3,349,7305,8,349,1,350,1,350,1,350,1,351,1,351,1,351,1,351,5,351,7314,8,351,10,351,12,351,7317,9,351,1,352,1,352,1,352,1,352,1,353,1,353,1,353,3,353,7326,8,353,1,354,1,354,3,354,7330,8,354,1,354,1,354,1,354,3,354,7335,8,354,1,354,3,354,7338,8,354,1,354,3,354,7341,8,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,3,355,7350,8,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,3,355,7361,8,355,3,355,7363,8,355,1,356,1,356,3,356,7367,8,356,1,356,1,356,1,356,3,356,7372,8,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,3,357,7381,8,357,1,358,1,358,1,358,3,358,7386,8,358,1,358,1,358,1,359,1,359,1,360,1,360,3,360,7394,8,360,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,3,362,7404,8,362,1,363,1,363,1,363,1,363,1,363,1,363,3,363,7412,8,363,1,364,1,364,3,364,7416,8,364,1,364,3,364,7419,8,364,1,365,1,365,1,365,5,365,7424,8,365,10,365,12,365,7427,9,365,1,366,1,366,1,366,1,366,1,366,3,366,7434,8,366,1,367,1,367,3,367,7438,8,367,1,368,1,368,1,368,5,368,7443,8,368,10,368,12,368,7446,9,368,1,369,1,369,1,369,1,369,1,369,3,369,7453,8,369,3,369,7455,8,369,1,370,1,370,1,370,1,370,1,370,5,370,7462,8,370,10,370,12,370,7465,9,370,3,370,7467,8,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,3,371,7479,8,371,1,372,1,372,1,373,1,373,1,373,1,373,1,373,3,373,7488,8,373,1,373,1,373,1,373,1,373,1,373,3,373,7495,8,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,3,373,7504,8,373,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,3,375,7514,8,375,1,375,1,375,1,375,3,375,7519,8,375,1,375,1,375,3,375,7523,8,375,3,375,7525,8,375,1,375,3,375,7528,8,375,1,376,4,376,7531,8,376,11,376,12,376,7532,1,377,5,377,7536,8,377,10,377,12,377,7539,9,377,1,378,1,378,1,378,5,378,7544,8,378,10,378,12,378,7547,9,378,1,379,1,379,1,379,1,379,1,379,3,379,7554,8,379,1,379,3,379,7557,8,379,1,380,1,380,1,380,5,380,7562,8,380,10,380,12,380,7565,9,380,1,381,1,381,1,381,5,381,7570,8,381,10,381,12,381,7573,9,381,1,382,1,382,1,382,5,382,7578,8,382,10,382,12,382,7581,9,382,1,383,1,383,1,383,5,383,7586,8,383,10,383,12,383,7589,9,383,1,384,1,384,1,385,1,385,1,386,1,386,1,387,1,387,1,388,1,388,1,389,1,389,1,390,1,390,3,390,7605,8,390,1,391,1,391,1,391,5,391,7610,8,391,10,391,12,391,7613,9,391,1,392,1,392,1,392,5,392,7618,8,392,10,392,12,392,7621,9,392,1,393,1,393,1,394,1,394,1,395,1,395,1,396,1,396,1,397,1,397,1,398,1,398,1,398,1,398,3,398,7637,8,398,1,399,1,399,1,399,1,399,3,399,7643,8,399,1,400,1,400,1,400,1,400,3,400,7649,8,400,1,401,1,401,1,402,1,402,1,402,1,402,3,402,7657,8,402,1,403,1,403,1,403,1,403,3,403,7663,8,403,1,404,1,404,1,404,3,404,7668,8,404,1,405,1,405,1,405,1,405,5,405,7674,8,405,10,405,12,405,7677,9,405,1,405,1,405,3,405,7681,8,405,1,406,3,406,7684,8,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,3,407,7693,8,407,1,408,1,408,1,408,5,408,7698,8,408,10,408,12,408,7701,9,408,1,409,1,409,3,409,7705,8,409,1,410,1,410,3,410,7709,8,410,1,411,1,411,1,411,3,411,7714,8,411,1,412,1,412,1,412,1,412,3,412,7720,8,412,1,413,1,413,1,413,3,413,7725,8,413,1,413,1,413,1,413,1,413,1,413,1,413,3,413,7733,8,413,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,3,415,7788,8,415,1,416,1,416,1,417,1,417,1,418,3,418,7795,8,418,1,418,1,418,1,418,1,418,4,418,7801,8,418,11,418,12,418,7802,3,418,7805,8,418,3,418,7807,8,418,1,418,1,418,5,418,7811,8,418,10,418,12,418,7814,9,418,1,418,3,418,7817,8,418,1,418,1,418,3,418,7821,8,418,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,3,420,7832,8,420,1,420,3,420,7835,8,420,1,420,1,420,3,420,7839,8,420,1,420,1,420,3,420,7843,8,420,1,420,1,420,3,420,7847,8,420,1,420,3,420,7850,8,420,1,420,3,420,7853,8,420,1,420,3,420,7856,8,420,1,420,1,420,1,420,1,420,1,420,5,420,7863,8,420,10,420,12,420,7866,9,420,1,420,1,420,3,420,7870,8,420,1,420,1,420,3,420,7874,8,420,1,420,1,420,1,421,1,421,1,421,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,3,423,7907,8,423,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,3,425,7917,8,425,1,425,1,425,3,425,7921,8,425,1,425,1,425,1,425,1,425,3,425,7927,8,425,1,425,1,425,1,425,3,425,7932,8,425,1,426,1,426,1,426,1,426,1,426,1,427,1,427,3,427,7941,8,427,1,427,1,427,1,427,1,427,5,427,7947,8,427,10,427,12,427,7950,9,427,1,427,1,427,1,428,1,428,1,428,1,428,1,429,1,429,3,429,7960,8,429,1,429,1,429,1,429,1,429,5,429,7966,8,429,10,429,12,429,7969,9,429,1,430,1,430,1,430,1,430,5,430,7975,8,430,10,430,12,430,7978,9,430,1,430,1,430,1,430,1,430,5,430,7984,8,430,10,430,12,430,7987,9,430,5,430,7989,8,430,10,430,12,430,7992,9,430,1,430,3,430,7995,8,430,1,430,1,430,1,430,1,430,1,431,1,431,5,431,8003,8,431,10,431,12,431,8006,9,431,1,432,1,432,3,432,8010,8,432,1,432,1,432,1,432,1,432,5,432,8016,8,432,10,432,12,432,8019,9,432,4,432,8021,8,432,11,432,12,432,8022,1,432,3,432,8026,8,432,1,432,1,432,1,432,1,432,1,433,3,433,8033,8,433,1,433,1,433,1,433,1,433,3,433,8039,8,433,1,433,1,433,1,434,1,434,1,434,1,434,3,434,8047,8,434,1,434,1,434,1,434,1,434,1,434,1,434,3,434,8055,8,434,1,434,3,434,8058,8,434,1,434,1,434,1,434,1,434,1,434,3,434,8065,8,434,3,434,8067,8,434,1,435,3,435,8070,8,435,1,435,1,435,1,435,1,435,3,435,8076,8,435,1,435,1,435,1,435,1,435,1,435,1,436,1,436,3,436,8085,8,436,1,436,1,436,3,436,8089,8,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,3,437,8103,8,437,1,437,3,437,8106,8,437,3,437,8108,8,437,1,437,1,437,1,438,1,438,3,438,8114,8,438,1,438,1,438,1,438,1,438,1,438,1,438,4,438,8122,8,438,11,438,12,438,8123,3,438,8126,8,438,3,438,8128,8,438,1,438,1,438,1,438,1,438,5,438,8134,8,438,10,438,12,438,8137,9,438,3,438,8139,8,438,1,438,3,438,8142,8,438,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,3,440,8152,8,440,1,440,1,440,1,441,1,441,5,441,8158,8,441,10,441,12,441,8161,9,441,1,441,1,441,1,441,3,441,8166,8,441,1,441,1,441,1,442,1,442,3,442,8172,8,442,1,442,1,442,1,443,1,443,1,443,3,443,8179,8,443,1,443,1,443,3,443,8183,8,443,1,443,1,443,3,443,8187,8,443,1,443,3,443,8190,8,443,1,443,3,443,8193,8,443,1,443,1,443,1,444,1,444,3,444,8199,8,444,1,444,1,444,1,445,1,445,1,445,3,445,8206,8,445,1,445,3,445,8209,8,445,1,445,1,445,1,445,1,445,1,445,1,445,3,445,8217,8,445,3,445,8219,8,445,1,445,1,445,1,445,1,445,1,445,5,445,8226,8,445,10,445,12,445,8229,9,445,1,445,1,445,3,445,8233,8,445,3,445,8235,8,445,1,445,1,445,1,446,1,446,1,446,3,446,8242,8,446,1,446,1,446,1,447,1,447,3,447,8248,8,447,1,447,3,447,8251,8,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,3,448,8263,8,448,1,448,1,448,1,448,1,448,1,448,3,448,8270,8,448,3,448,8272,8,448,1,449,1,449,3,449,8276,8,449,1,449,1,449,1,449,1,450,3,450,8282,8,450,1,450,1,450,1,450,3,450,8287,8,450,1,450,1,450,3,450,8291,8,450,1,450,3,450,8294,8,450,1,450,3,450,8297,8,450,1,450,1,450,1,450,1,450,1,450,4,450,8304,8,450,11,450,12,450,8305,1,451,3,451,8309,8,451,1,451,1,451,3,451,8313,8,451,1,451,1,451,3,451,8317,8,451,3,451,8319,8,451,1,451,3,451,8322,8,451,1,451,3,451,8325,8,451,1,452,1,452,1,452,1,452,3,452,8331,8,452,1,452,1,452,1,452,1,452,1,452,3,452,8338,8,452,1,452,1,452,1,452,1,452,1,452,3,452,8345,8,452,1,452,1,452,1,452,1,452,3,452,8351,8,452,3,452,8353,8,452,1,453,1,453,3,453,8357,8,453,1,453,1,453,1,453,3,453,8362,8,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,5,454,8378,8,454,10,454,12,454,8381,9,454,1,454,1,454,4,454,8385,8,454,11,454,12,454,8386,1,455,1,455,1,455,1,455,1,455,5,455,8394,8,455,10,455,12,455,8397,9,455,1,455,1,455,1,455,1,455,3,455,8403,8,455,1,456,1,456,3,456,8407,8,456,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,459,1,459,1,459,3,459,8419,8,459,1,459,3,459,8422,8,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,3,460,8435,8,460,1,460,3,460,8438,8,460,1,461,1,461,3,461,8442,8,461,1,462,1,462,1,462,1,462,1,462,5,462,8449,8,462,10,462,12,462,8452,9,462,1,462,1,462,5,462,8456,8,462,10,462,12,462,8459,9,462,4,462,8461,8,462,11,462,12,462,8462,1,463,1,463,1,463,3,463,8468,8,463,1,464,1,464,3,464,8472,8,464,1,465,3,465,8475,8,465,1,465,3,465,8478,8,465,1,465,3,465,8481,8,465,1,465,3,465,8484,8,465,1,465,3,465,8487,8,465,1,465,1,465,3,465,8491,8,465,1,465,3,465,8494,8,465,1,465,0,3,676,680,682,466,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,0,118,2,0,195,195,364,364,2,0,66,66,318,318,2,0,99,99,318,318,2,0,134,134,318,318,1,0,529,531,2,0,10,10,94,94,2,0,133,133,191,191,2,0,254,254,332,332,2,0,162,162,363,363,2,0,180,180,221,221,5,0,30,30,288,288,329,329,352,352,354,354,2,0,109,109,532,532,2,0,158,158,277,277,2,0,367,367,439,439,2,0,139,139,312,312,2,0,191,191,333,333,2,0,313,313,333,333,2,0,150,150,315,315,2,0,64,64,94,94,4,0,78,78,183,183,197,197,298,298,2,0,213,213,254,254,2,0,352,352,354,354,2,0,200,200,224,224,9,0,30,30,160,160,165,165,179,179,219,219,227,227,342,342,345,345,438,438,3,0,113,113,284,284,336,336,2,0,53,53,78,78,2,0,105,105,379,379,2,0,260,260,262,262,3,0,173,173,260,260,262,262,1,0,12,13,2,0,64,64,375,375,2,0,156,156,206,206,2,0,189,189,360,360,2,0,215,215,373,373,3,0,133,133,191,191,333,333,5,0,30,30,88,88,182,182,241,241,369,369,2,0,9,9,94,94,2,0,92,92,226,226,1,0,448,449,2,0,92,92,414,414,2,0,341,341,414,414,4,0,163,163,185,185,283,283,353,353,2,0,135,135,145,145,2,0,211,211,278,278,3,0,321,321,357,357,445,445,3,0,66,66,99,99,318,318,5,0,108,108,168,168,226,226,328,328,342,342,2,0,167,167,314,314,2,0,61,61,265,265,4,0,207,207,249,249,268,268,293,293,2,0,130,130,307,307,2,0,64,64,68,68,10,0,46,46,88,88,182,182,202,202,241,241,352,352,354,354,357,358,369,369,521,523,5,0,212,212,329,329,350,350,455,455,457,457,5,0,212,212,329,329,350,350,361,361,455,456,2,0,37,37,55,55,2,0,207,207,249,249,2,0,10,10,53,53,2,0,181,181,243,243,2,0,170,170,320,320,2,0,141,141,223,223,5,0,108,108,168,168,189,189,342,342,360,360,2,0,226,226,328,328,2,0,163,163,185,185,2,0,186,186,193,193,4,0,88,88,182,182,241,241,369,369,2,0,137,137,242,242,2,0,161,161,319,319,4,0,129,129,161,161,319,319,454,454,2,0,356,356,380,380,2,0,81,81,382,382,2,0,151,151,254,254,2,0,133,133,138,138,1,0,31,32,2,0,128,128,547,547,2,0,60,60,96,96,2,0,99,99,349,349,2,0,131,131,414,414,2,0,201,201,334,334,3,0,59,59,70,70,97,97,2,0,30,30,56,56,1,0,527,528,2,0,207,207,268,268,2,0,320,320,414,414,2,0,571,571,573,573,1,0,468,469,4,0,113,113,115,115,119,119,126,126,2,0,360,360,477,477,2,0,394,395,409,409,2,0,391,392,406,406,1,0,391,392,1,0,418,419,5,0,10,10,16,17,21,21,23,23,25,25,3,0,9,9,14,14,27,27,2,0,98,98,396,396,2,0,50,51,75,76,2,0,41,41,420,420,3,0,39,39,73,73,95,95,4,0,393,393,399,399,404,404,425,425,2,0,292,292,347,347,2,0,166,166,188,188,2,0,304,304,450,450,3,0,299,299,320,320,481,481,2,0,208,208,289,289,3,0,30,30,34,34,90,90,6,0,9,10,12,17,21,21,23,23,25,25,27,27,2,0,114,114,120,120,2,0,20,20,22,22,1,0,483,486,17,0,53,53,116,116,123,124,129,228,238,386,433,452,455,469,471,471,473,473,475,475,477,488,490,502,504,504,506,518,520,520,524,524,547,548,3,0,106,123,125,128,472,472,4,0,30,52,54,70,72,105,454,454,2,0,62,62,116,116,2,0,10,10,20,20,2,0,434,434,501,501,2,0,167,167,507,507,1,0,512,517,2,0,144,144,210,210,9931,0,935,1,0,0,0,2,940,1,0,0,0,4,1064,1,0,0,0,6,1066,1,0,0,0,8,1069,1,0,0,0,10,1119,1,0,0,0,12,1129,1,0,0,0,14,1131,1,0,0,0,16,1143,1,0,0,0,18,1155,1,0,0,0,20,1166,1,0,0,0,22,1200,1,0,0,0,24,1244,1,0,0,0,26,1246,1,0,0,0,28,1258,1,0,0,0,30,1265,1,0,0,0,32,1284,1,0,0,0,34,1292,1,0,0,0,36,1294,1,0,0,0,38,1308,1,0,0,0,40,1312,1,0,0,0,42,1349,1,0,0,0,44,1351,1,0,0,0,46,1359,1,0,0,0,48,1369,1,0,0,0,50,1376,1,0,0,0,52,1384,1,0,0,0,54,1390,1,0,0,0,56,1406,1,0,0,0,58,1410,1,0,0,0,60,1412,1,0,0,0,62,1424,1,0,0,0,64,1429,1,0,0,0,66,1434,1,0,0,0,68,1436,1,0,0,0,70,1448,1,0,0,0,72,1456,1,0,0,0,74,1458,1,0,0,0,76,1582,1,0,0,0,78,1584,1,0,0,0,80,1601,1,0,0,0,82,1603,1,0,0,0,84,1617,1,0,0,0,86,1619,1,0,0,0,88,1633,1,0,0,0,90,1635,1,0,0,0,92,1872,1,0,0,0,94,1879,1,0,0,0,96,1881,1,0,0,0,98,1883,1,0,0,0,100,1886,1,0,0,0,102,1897,1,0,0,0,104,1900,1,0,0,0,106,1936,1,0,0,0,108,1938,1,0,0,0,110,1979,1,0,0,0,112,1981,1,0,0,0,114,2035,1,0,0,0,116,2076,1,0,0,0,118,2078,1,0,0,0,120,2095,1,0,0,0,122,2176,1,0,0,0,124,2178,1,0,0,0,126,2189,1,0,0,0,128,2212,1,0,0,0,130,2230,1,0,0,0,132,2232,1,0,0,0,134,2267,1,0,0,0,136,2360,1,0,0,0,138,2365,1,0,0,0,140,2367,1,0,0,0,142,2465,1,0,0,0,144,2467,1,0,0,0,146,2471,1,0,0,0,148,2482,1,0,0,0,150,2490,1,0,0,0,152,2493,1,0,0,0,154,2496,1,0,0,0,156,2514,1,0,0,0,158,2516,1,0,0,0,160,2520,1,0,0,0,162,2533,1,0,0,0,164,2535,1,0,0,0,166,2540,1,0,0,0,168,2560,1,0,0,0,170,2568,1,0,0,0,172,2575,1,0,0,0,174,2577,1,0,0,0,176,2586,1,0,0,0,178,2589,1,0,0,0,180,2593,1,0,0,0,182,2597,1,0,0,0,184,2622,1,0,0,0,186,2632,1,0,0,0,188,2646,1,0,0,0,190,2662,1,0,0,0,192,2668,1,0,0,0,194,2695,1,0,0,0,196,2705,1,0,0,0,198,2721,1,0,0,0,200,2765,1,0,0,0,202,2772,1,0,0,0,204,2774,1,0,0,0,206,2800,1,0,0,0,208,2811,1,0,0,0,210,2830,1,0,0,0,212,2841,1,0,0,0,214,2879,1,0,0,0,216,2900,1,0,0,0,218,2902,1,0,0,0,220,2922,1,0,0,0,222,2934,1,0,0,0,224,2946,1,0,0,0,226,2949,1,0,0,0,228,2952,1,0,0,0,230,2972,1,0,0,0,232,2977,1,0,0,0,234,3026,1,0,0,0,236,3028,1,0,0,0,238,3051,1,0,0,0,240,3067,1,0,0,0,242,3079,1,0,0,0,244,3106,1,0,0,0,246,3121,1,0,0,0,248,3184,1,0,0,0,250,3186,1,0,0,0,252,3191,1,0,0,0,254,3197,1,0,0,0,256,3284,1,0,0,0,258,3290,1,0,0,0,260,3292,1,0,0,0,262,3308,1,0,0,0,264,3310,1,0,0,0,266,3319,1,0,0,0,268,3323,1,0,0,0,270,3336,1,0,0,0,272,3348,1,0,0,0,274,3350,1,0,0,0,276,3372,1,0,0,0,278,3384,1,0,0,0,280,3395,1,0,0,0,282,3486,1,0,0,0,284,3488,1,0,0,0,286,3499,1,0,0,0,288,3510,1,0,0,0,290,3512,1,0,0,0,292,3538,1,0,0,0,294,3540,1,0,0,0,296,3544,1,0,0,0,298,3594,1,0,0,0,300,3596,1,0,0,0,302,3602,1,0,0,0,304,3627,1,0,0,0,306,3631,1,0,0,0,308,3845,1,0,0,0,310,3863,1,0,0,0,312,3889,1,0,0,0,314,3891,1,0,0,0,316,3899,1,0,0,0,318,3905,1,0,0,0,320,3909,1,0,0,0,322,3929,1,0,0,0,324,3935,1,0,0,0,326,4002,1,0,0,0,328,4033,1,0,0,0,330,4079,1,0,0,0,332,4081,1,0,0,0,334,4083,1,0,0,0,336,4094,1,0,0,0,338,4131,1,0,0,0,340,4133,1,0,0,0,342,4139,1,0,0,0,344,4189,1,0,0,0,346,4192,1,0,0,0,348,4206,1,0,0,0,350,4227,1,0,0,0,352,4251,1,0,0,0,354,4292,1,0,0,0,356,4294,1,0,0,0,358,4296,1,0,0,0,360,4336,1,0,0,0,362,4353,1,0,0,0,364,4373,1,0,0,0,366,4426,1,0,0,0,368,4429,1,0,0,0,370,4435,1,0,0,0,372,4443,1,0,0,0,374,4456,1,0,0,0,376,4458,1,0,0,0,378,4471,1,0,0,0,380,4473,1,0,0,0,382,4486,1,0,0,0,384,4496,1,0,0,0,386,4507,1,0,0,0,388,4518,1,0,0,0,390,4520,1,0,0,0,392,4525,1,0,0,0,394,4539,1,0,0,0,396,4571,1,0,0,0,398,4608,1,0,0,0,400,4610,1,0,0,0,402,4613,1,0,0,0,404,4616,1,0,0,0,406,4633,1,0,0,0,408,4654,1,0,0,0,410,4670,1,0,0,0,412,4686,1,0,0,0,414,4708,1,0,0,0,416,4713,1,0,0,0,418,4716,1,0,0,0,420,4724,1,0,0,0,422,4749,1,0,0,0,424,4752,1,0,0,0,426,4780,1,0,0,0,428,4785,1,0,0,0,430,4825,1,0,0,0,432,5037,1,0,0,0,434,5039,1,0,0,0,436,5127,1,0,0,0,438,5129,1,0,0,0,440,5135,1,0,0,0,442,5146,1,0,0,0,444,5156,1,0,0,0,446,5236,1,0,0,0,448,5238,1,0,0,0,450,5252,1,0,0,0,452,5274,1,0,0,0,454,5347,1,0,0,0,456,5349,1,0,0,0,458,5390,1,0,0,0,460,5392,1,0,0,0,462,5397,1,0,0,0,464,5400,1,0,0,0,466,5403,1,0,0,0,468,5453,1,0,0,0,470,5455,1,0,0,0,472,5466,1,0,0,0,474,5468,1,0,0,0,476,5478,1,0,0,0,478,5513,1,0,0,0,480,5516,1,0,0,0,482,5537,1,0,0,0,484,5547,1,0,0,0,486,5567,1,0,0,0,488,5573,1,0,0,0,490,5579,1,0,0,0,492,5584,1,0,0,0,494,5597,1,0,0,0,496,5624,1,0,0,0,498,5672,1,0,0,0,500,5674,1,0,0,0,502,5712,1,0,0,0,504,5714,1,0,0,0,506,5735,1,0,0,0,508,5755,1,0,0,0,510,5759,1,0,0,0,512,5774,1,0,0,0,514,5776,1,0,0,0,516,5780,1,0,0,0,518,5784,1,0,0,0,520,5792,1,0,0,0,522,5816,1,0,0,0,524,5818,1,0,0,0,526,5829,1,0,0,0,528,5837,1,0,0,0,530,5852,1,0,0,0,532,5877,1,0,0,0,534,5879,1,0,0,0,536,5883,1,0,0,0,538,5892,1,0,0,0,540,5932,1,0,0,0,542,5943,1,0,0,0,544,5951,1,0,0,0,546,5954,1,0,0,0,548,5958,1,0,0,0,550,5973,1,0,0,0,552,5998,1,0,0,0,554,6013,1,0,0,0,556,6039,1,0,0,0,558,6041,1,0,0,0,560,6064,1,0,0,0,562,6066,1,0,0,0,564,6074,1,0,0,0,566,6092,1,0,0,0,568,6116,1,0,0,0,570,6128,1,0,0,0,572,6132,1,0,0,0,574,6144,1,0,0,0,576,6164,1,0,0,0,578,6172,1,0,0,0,580,6186,1,0,0,0,582,6209,1,0,0,0,584,6211,1,0,0,0,586,6216,1,0,0,0,588,6226,1,0,0,0,590,6247,1,0,0,0,592,6249,1,0,0,0,594,6258,1,0,0,0,596,6269,1,0,0,0,598,6279,1,0,0,0,600,6281,1,0,0,0,602,6288,1,0,0,0,604,6319,1,0,0,0,606,6349,1,0,0,0,608,6351,1,0,0,0,610,6360,1,0,0,0,612,6363,1,0,0,0,614,6434,1,0,0,0,616,6458,1,0,0,0,618,6479,1,0,0,0,620,6481,1,0,0,0,622,6489,1,0,0,0,624,6506,1,0,0,0,626,6532,1,0,0,0,628,6534,1,0,0,0,630,6542,1,0,0,0,632,6549,1,0,0,0,634,6573,1,0,0,0,636,6579,1,0,0,0,638,6587,1,0,0,0,640,6590,1,0,0,0,642,6597,1,0,0,0,644,6605,1,0,0,0,646,6610,1,0,0,0,648,6640,1,0,0,0,650,6667,1,0,0,0,652,6695,1,0,0,0,654,6712,1,0,0,0,656,6718,1,0,0,0,658,6736,1,0,0,0,660,6738,1,0,0,0,662,6742,1,0,0,0,664,6759,1,0,0,0,666,6764,1,0,0,0,668,6802,1,0,0,0,670,6804,1,0,0,0,672,6808,1,0,0,0,674,6810,1,0,0,0,676,6819,1,0,0,0,678,6903,1,0,0,0,680,6909,1,0,0,0,682,7018,1,0,0,0,684,7050,1,0,0,0,686,7101,1,0,0,0,688,7105,1,0,0,0,690,7281,1,0,0,0,692,7283,1,0,0,0,694,7291,1,0,0,0,696,7296,1,0,0,0,698,7298,1,0,0,0,700,7306,1,0,0,0,702,7309,1,0,0,0,704,7318,1,0,0,0,706,7322,1,0,0,0,708,7327,1,0,0,0,710,7344,1,0,0,0,712,7371,1,0,0,0,714,7380,1,0,0,0,716,7382,1,0,0,0,718,7389,1,0,0,0,720,7393,1,0,0,0,722,7395,1,0,0,0,724,7403,1,0,0,0,726,7411,1,0,0,0,728,7418,1,0,0,0,730,7420,1,0,0,0,732,7433,1,0,0,0,734,7437,1,0,0,0,736,7439,1,0,0,0,738,7454,1,0,0,0,740,7456,1,0,0,0,742,7478,1,0,0,0,744,7480,1,0,0,0,746,7503,1,0,0,0,748,7505,1,0,0,0,750,7527,1,0,0,0,752,7530,1,0,0,0,754,7537,1,0,0,0,756,7540,1,0,0,0,758,7556,1,0,0,0,760,7558,1,0,0,0,762,7566,1,0,0,0,764,7574,1,0,0,0,766,7582,1,0,0,0,768,7590,1,0,0,0,770,7592,1,0,0,0,772,7594,1,0,0,0,774,7596,1,0,0,0,776,7598,1,0,0,0,778,7600,1,0,0,0,780,7602,1,0,0,0,782,7606,1,0,0,0,784,7614,1,0,0,0,786,7622,1,0,0,0,788,7624,1,0,0,0,790,7626,1,0,0,0,792,7628,1,0,0,0,794,7630,1,0,0,0,796,7636,1,0,0,0,798,7642,1,0,0,0,800,7648,1,0,0,0,802,7650,1,0,0,0,804,7656,1,0,0,0,806,7662,1,0,0,0,808,7664,1,0,0,0,810,7680,1,0,0,0,812,7683,1,0,0,0,814,7692,1,0,0,0,816,7694,1,0,0,0,818,7704,1,0,0,0,820,7708,1,0,0,0,822,7713,1,0,0,0,824,7719,1,0,0,0,826,7732,1,0,0,0,828,7734,1,0,0,0,830,7787,1,0,0,0,832,7789,1,0,0,0,834,7791,1,0,0,0,836,7794,1,0,0,0,838,7822,1,0,0,0,840,7826,1,0,0,0,842,7877,1,0,0,0,844,7880,1,0,0,0,846,7906,1,0,0,0,848,7908,1,0,0,0,850,7931,1,0,0,0,852,7933,1,0,0,0,854,7938,1,0,0,0,856,7953,1,0,0,0,858,7959,1,0,0,0,860,7970,1,0,0,0,862,8e3,1,0,0,0,864,8007,1,0,0,0,866,8032,1,0,0,0,868,8042,1,0,0,0,870,8069,1,0,0,0,872,8082,1,0,0,0,874,8092,1,0,0,0,876,8111,1,0,0,0,878,8143,1,0,0,0,880,8147,1,0,0,0,882,8155,1,0,0,0,884,8169,1,0,0,0,886,8175,1,0,0,0,888,8196,1,0,0,0,890,8202,1,0,0,0,892,8241,1,0,0,0,894,8245,1,0,0,0,896,8271,1,0,0,0,898,8273,1,0,0,0,900,8281,1,0,0,0,902,8318,1,0,0,0,904,8352,1,0,0,0,906,8354,1,0,0,0,908,8365,1,0,0,0,910,8402,1,0,0,0,912,8406,1,0,0,0,914,8408,1,0,0,0,916,8412,1,0,0,0,918,8415,1,0,0,0,920,8437,1,0,0,0,922,8441,1,0,0,0,924,8443,1,0,0,0,926,8467,1,0,0,0,928,8471,1,0,0,0,930,8474,1,0,0,0,932,934,3,2,1,0,933,932,1,0,0,0,934,937,1,0,0,0,935,933,1,0,0,0,935,936,1,0,0,0,936,938,1,0,0,0,937,935,1,0,0,0,938,939,5,0,0,1,939,1,1,0,0,0,940,942,3,4,2,0,941,943,5,7,0,0,942,941,1,0,0,0,942,943,1,0,0,0,943,3,1,0,0,0,944,1065,3,278,139,0,945,1065,3,488,244,0,946,1065,3,484,242,0,947,1065,3,486,243,0,948,1065,3,352,176,0,949,1065,3,494,247,0,950,1065,3,292,146,0,951,1065,3,210,105,0,952,1065,3,212,106,0,953,1065,3,218,109,0,954,1065,3,232,116,0,955,1065,3,404,202,0,956,1065,3,28,14,0,957,1065,3,434,217,0,958,1065,3,436,218,0,959,1065,3,446,223,0,960,1065,3,438,219,0,961,1065,3,444,222,0,962,1065,3,244,122,0,963,1065,3,246,123,0,964,1065,3,198,99,0,965,1065,3,490,245,0,966,1065,3,76,38,0,967,1065,3,430,215,0,968,1065,3,108,54,0,969,1065,3,450,225,0,970,1065,3,18,9,0,971,1065,3,20,10,0,972,1065,3,16,8,0,973,1065,3,454,227,0,974,1065,3,184,92,0,975,1065,3,498,249,0,976,1065,3,496,248,0,977,1065,3,240,120,0,978,1065,3,506,253,0,979,1065,3,6,3,0,980,1065,3,72,36,0,981,1065,3,112,56,0,982,1065,3,502,251,0,983,1065,3,324,162,0,984,1065,3,70,35,0,985,1065,3,114,57,0,986,1065,3,254,127,0,987,1065,3,186,93,0,988,1065,3,280,140,0,989,1065,3,420,210,0,990,1065,3,500,250,0,991,1065,3,492,246,0,992,1065,3,208,104,0,993,1065,3,214,107,0,994,1065,3,228,114,0,995,1065,3,234,117,0,996,1065,3,364,182,0,997,1065,3,26,13,0,998,1065,3,192,96,0,999,1065,3,296,148,0,1e3,1065,3,300,150,0,1001,1065,3,448,224,0,1002,1065,3,302,151,0,1003,1065,3,242,121,0,1004,1065,3,204,102,0,1005,1065,3,30,15,0,1006,1065,3,196,98,0,1007,1065,3,120,60,0,1008,1065,3,452,226,0,1009,1065,3,182,91,0,1010,1065,3,206,103,0,1011,1065,3,424,212,0,1012,1065,3,256,128,0,1013,1065,3,274,137,0,1014,1065,3,8,4,0,1015,1065,3,14,7,0,1016,1065,3,238,119,0,1017,1065,3,480,240,0,1018,1065,3,536,268,0,1019,1065,3,558,279,0,1020,1065,3,282,141,0,1021,1065,3,548,274,0,1022,1065,3,74,37,0,1023,1065,3,418,209,0,1024,1065,3,308,154,0,1025,1065,3,532,266,0,1026,1065,3,520,260,0,1027,1065,3,328,164,0,1028,1065,3,334,167,0,1029,1065,3,348,174,0,1030,1065,3,900,450,0,1031,1065,3,236,118,0,1032,1065,3,358,179,0,1033,1065,3,538,269,0,1034,1065,3,464,232,0,1035,1065,3,194,97,0,1036,1065,3,478,239,0,1037,1065,3,550,275,0,1038,1065,3,460,230,0,1039,1065,3,526,263,0,1040,1065,3,306,153,0,1041,1065,3,428,214,0,1042,1065,3,408,204,0,1043,1065,3,406,203,0,1044,1065,3,410,205,0,1045,1065,3,432,216,0,1046,1065,3,336,168,0,1047,1065,3,350,175,0,1048,1065,3,456,228,0,1049,1065,3,326,163,0,1050,1065,3,560,280,0,1051,1065,3,468,234,0,1052,1065,3,320,160,0,1053,1065,3,466,233,0,1054,1065,3,552,276,0,1055,1065,3,504,252,0,1056,1065,3,60,30,0,1057,1065,3,36,18,0,1058,1065,3,68,34,0,1059,1065,3,476,238,0,1060,1062,5,581,0,0,1061,1063,5,582,0,0,1062,1061,1,0,0,0,1062,1063,1,0,0,0,1063,1065,1,0,0,0,1064,944,1,0,0,0,1064,945,1,0,0,0,1064,946,1,0,0,0,1064,947,1,0,0,0,1064,948,1,0,0,0,1064,949,1,0,0,0,1064,950,1,0,0,0,1064,951,1,0,0,0,1064,952,1,0,0,0,1064,953,1,0,0,0,1064,954,1,0,0,0,1064,955,1,0,0,0,1064,956,1,0,0,0,1064,957,1,0,0,0,1064,958,1,0,0,0,1064,959,1,0,0,0,1064,960,1,0,0,0,1064,961,1,0,0,0,1064,962,1,0,0,0,1064,963,1,0,0,0,1064,964,1,0,0,0,1064,965,1,0,0,0,1064,966,1,0,0,0,1064,967,1,0,0,0,1064,968,1,0,0,0,1064,969,1,0,0,0,1064,970,1,0,0,0,1064,971,1,0,0,0,1064,972,1,0,0,0,1064,973,1,0,0,0,1064,974,1,0,0,0,1064,975,1,0,0,0,1064,976,1,0,0,0,1064,977,1,0,0,0,1064,978,1,0,0,0,1064,979,1,0,0,0,1064,980,1,0,0,0,1064,981,1,0,0,0,1064,982,1,0,0,0,1064,983,1,0,0,0,1064,984,1,0,0,0,1064,985,1,0,0,0,1064,986,1,0,0,0,1064,987,1,0,0,0,1064,988,1,0,0,0,1064,989,1,0,0,0,1064,990,1,0,0,0,1064,991,1,0,0,0,1064,992,1,0,0,0,1064,993,1,0,0,0,1064,994,1,0,0,0,1064,995,1,0,0,0,1064,996,1,0,0,0,1064,997,1,0,0,0,1064,998,1,0,0,0,1064,999,1,0,0,0,1064,1e3,1,0,0,0,1064,1001,1,0,0,0,1064,1002,1,0,0,0,1064,1003,1,0,0,0,1064,1004,1,0,0,0,1064,1005,1,0,0,0,1064,1006,1,0,0,0,1064,1007,1,0,0,0,1064,1008,1,0,0,0,1064,1009,1,0,0,0,1064,1010,1,0,0,0,1064,1011,1,0,0,0,1064,1012,1,0,0,0,1064,1013,1,0,0,0,1064,1014,1,0,0,0,1064,1015,1,0,0,0,1064,1016,1,0,0,0,1064,1017,1,0,0,0,1064,1018,1,0,0,0,1064,1019,1,0,0,0,1064,1020,1,0,0,0,1064,1021,1,0,0,0,1064,1022,1,0,0,0,1064,1023,1,0,0,0,1064,1024,1,0,0,0,1064,1025,1,0,0,0,1064,1026,1,0,0,0,1064,1027,1,0,0,0,1064,1028,1,0,0,0,1064,1029,1,0,0,0,1064,1030,1,0,0,0,1064,1031,1,0,0,0,1064,1032,1,0,0,0,1064,1033,1,0,0,0,1064,1034,1,0,0,0,1064,1035,1,0,0,0,1064,1036,1,0,0,0,1064,1037,1,0,0,0,1064,1038,1,0,0,0,1064,1039,1,0,0,0,1064,1040,1,0,0,0,1064,1041,1,0,0,0,1064,1042,1,0,0,0,1064,1043,1,0,0,0,1064,1044,1,0,0,0,1064,1045,1,0,0,0,1064,1046,1,0,0,0,1064,1047,1,0,0,0,1064,1048,1,0,0,0,1064,1049,1,0,0,0,1064,1050,1,0,0,0,1064,1051,1,0,0,0,1064,1052,1,0,0,0,1064,1053,1,0,0,0,1064,1054,1,0,0,0,1064,1055,1,0,0,0,1064,1056,1,0,0,0,1064,1057,1,0,0,0,1064,1058,1,0,0,0,1064,1059,1,0,0,0,1064,1060,1,0,0,0,1065,5,1,0,0,0,1066,1067,5,433,0,0,1067,1068,3,684,342,0,1068,7,1,0,0,0,1069,1070,5,46,0,0,1070,1071,5,318,0,0,1071,1073,3,814,407,0,1072,1074,5,105,0,0,1073,1072,1,0,0,0,1073,1074,1,0,0,0,1074,1078,1,0,0,0,1075,1077,3,12,6,0,1076,1075,1,0,0,0,1077,1080,1,0,0,0,1078,1076,1,0,0,0,1078,1079,1,0,0,0,1079,9,1,0,0,0,1080,1078,1,0,0,0,1081,1084,5,287,0,0,1082,1085,3,808,404,0,1083,1085,5,78,0,0,1084,1082,1,0,0,0,1084,1083,1,0,0,0,1085,1120,1,0,0,0,1086,1087,7,0,0,0,1087,1088,5,287,0,0,1088,1120,3,808,404,0,1089,1120,5,228,0,0,1090,1120,5,229,0,0,1091,1120,5,236,0,0,1092,1120,5,237,0,0,1093,1120,5,234,0,0,1094,1120,5,235,0,0,1095,1120,5,232,0,0,1096,1120,5,233,0,0,1097,1120,5,230,0,0,1098,1120,5,231,0,0,1099,1120,5,535,0,0,1100,1120,5,536,0,0,1101,1120,5,537,0,0,1102,1120,5,538,0,0,1103,1120,5,539,0,0,1104,1120,5,540,0,0,1105,1106,5,164,0,0,1106,1107,5,74,0,0,1107,1120,3,812,406,0,1108,1109,5,371,0,0,1109,1110,5,368,0,0,1110,1120,3,808,404,0,1111,1112,5,68,0,0,1112,1113,7,1,0,0,1113,1120,3,784,392,0,1114,1115,7,2,0,0,1115,1120,3,816,408,0,1116,1117,5,134,0,0,1117,1120,3,784,392,0,1118,1120,3,826,413,0,1119,1081,1,0,0,0,1119,1086,1,0,0,0,1119,1089,1,0,0,0,1119,1090,1,0,0,0,1119,1091,1,0,0,0,1119,1092,1,0,0,0,1119,1093,1,0,0,0,1119,1094,1,0,0,0,1119,1095,1,0,0,0,1119,1096,1,0,0,0,1119,1097,1,0,0,0,1119,1098,1,0,0,0,1119,1099,1,0,0,0,1119,1100,1,0,0,0,1119,1101,1,0,0,0,1119,1102,1,0,0,0,1119,1103,1,0,0,0,1119,1104,1,0,0,0,1119,1105,1,0,0,0,1119,1108,1,0,0,0,1119,1111,1,0,0,0,1119,1114,1,0,0,0,1119,1116,1,0,0,0,1119,1118,1,0,0,0,1120,11,1,0,0,0,1121,1130,3,10,5,0,1122,1123,5,348,0,0,1123,1130,5,571,0,0,1124,1125,7,3,0,0,1125,1130,3,816,408,0,1126,1127,5,68,0,0,1127,1128,7,1,0,0,1128,1130,3,816,408,0,1129,1121,1,0,0,0,1129,1122,1,0,0,0,1129,1124,1,0,0,0,1129,1126,1,0,0,0,1130,13,1,0,0,0,1131,1132,5,46,0,0,1132,1133,5,99,0,0,1133,1135,3,814,407,0,1134,1136,5,105,0,0,1135,1134,1,0,0,0,1135,1136,1,0,0,0,1136,1140,1,0,0,0,1137,1139,3,12,6,0,1138,1137,1,0,0,0,1139,1142,1,0,0,0,1140,1138,1,0,0,0,1140,1141,1,0,0,0,1141,15,1,0,0,0,1142,1140,1,0,0,0,1143,1144,5,138,0,0,1144,1145,7,2,0,0,1145,1147,3,814,407,0,1146,1148,5,105,0,0,1147,1146,1,0,0,0,1147,1148,1,0,0,0,1148,1152,1,0,0,0,1149,1151,3,10,5,0,1150,1149,1,0,0,0,1151,1154,1,0,0,0,1152,1150,1,0,0,0,1152,1153,1,0,0,0,1153,17,1,0,0,0,1154,1152,1,0,0,0,1155,1156,5,138,0,0,1156,1159,7,2,0,0,1157,1160,5,30,0,0,1158,1160,3,814,407,0,1159,1157,1,0,0,0,1159,1158,1,0,0,0,1160,1161,1,0,0,0,1161,1162,5,68,0,0,1162,1163,5,175,0,0,1163,1164,3,788,394,0,1164,1165,3,64,32,0,1165,19,1,0,0,0,1166,1167,5,138,0,0,1167,1168,5,442,0,0,1168,1170,3,794,397,0,1169,1171,3,368,184,0,1170,1169,1,0,0,0,1170,1171,1,0,0,0,1171,1172,1,0,0,0,1172,1173,3,22,11,0,1173,21,1,0,0,0,1174,1178,3,24,12,0,1175,1177,3,24,12,0,1176,1175,1,0,0,0,1177,1180,1,0,0,0,1178,1176,1,0,0,0,1178,1179,1,0,0,0,1179,1182,1,0,0,0,1180,1178,1,0,0,0,1181,1183,5,315,0,0,1182,1181,1,0,0,0,1182,1183,1,0,0,0,1183,1201,1,0,0,0,1184,1185,5,309,0,0,1185,1186,5,94,0,0,1186,1201,3,792,396,0,1187,1188,5,282,0,0,1188,1189,5,94,0,0,1189,1201,3,814,407,0,1190,1191,5,333,0,0,1191,1192,5,323,0,0,1192,1201,3,32,16,0,1193,1195,5,269,0,0,1194,1193,1,0,0,0,1194,1195,1,0,0,0,1195,1196,1,0,0,0,1196,1197,5,462,0,0,1197,1198,5,80,0,0,1198,1199,5,204,0,0,1199,1201,3,818,409,0,1200,1174,1,0,0,0,1200,1184,1,0,0,0,1200,1187,1,0,0,0,1200,1190,1,0,0,0,1200,1194,1,0,0,0,1201,23,1,0,0,0,1202,1245,5,222,0,0,1203,1245,5,338,0,0,1204,1245,5,377,0,0,1205,1207,5,77,0,0,1206,1205,1,0,0,0,1206,1207,1,0,0,0,1207,1208,1,0,0,0,1208,1245,5,250,0,0,1209,1211,5,205,0,0,1210,1209,1,0,0,0,1210,1211,1,0,0,0,1211,1212,1,0,0,0,1212,1213,5,327,0,0,1213,1220,5,243,0,0,1214,1216,5,205,0,0,1215,1214,1,0,0,0,1215,1216,1,0,0,0,1216,1217,1,0,0,0,1217,1218,5,327,0,0,1218,1220,5,181,0,0,1219,1210,1,0,0,0,1219,1215,1,0,0,0,1220,1245,1,0,0,0,1221,1222,5,460,0,0,1222,1245,7,4,0,0,1223,1224,5,170,0,0,1224,1245,3,824,412,0,1225,1226,5,320,0,0,1226,1245,3,818,409,0,1227,1228,5,333,0,0,1228,1229,3,818,409,0,1229,1232,7,5,0,0,1230,1233,3,818,409,0,1231,1233,5,53,0,0,1232,1230,1,0,0,0,1232,1231,1,0,0,0,1233,1245,1,0,0,0,1234,1235,5,333,0,0,1235,1236,3,818,409,0,1236,1237,5,64,0,0,1237,1238,5,434,0,0,1238,1245,1,0,0,0,1239,1242,5,313,0,0,1240,1243,3,818,409,0,1241,1243,5,30,0,0,1242,1240,1,0,0,0,1242,1241,1,0,0,0,1243,1245,1,0,0,0,1244,1202,1,0,0,0,1244,1203,1,0,0,0,1244,1204,1,0,0,0,1244,1206,1,0,0,0,1244,1219,1,0,0,0,1244,1221,1,0,0,0,1244,1223,1,0,0,0,1244,1225,1,0,0,0,1244,1227,1,0,0,0,1244,1234,1,0,0,0,1244,1239,1,0,0,0,1245,25,1,0,0,0,1246,1247,5,46,0,0,1247,1248,5,66,0,0,1248,1250,3,814,407,0,1249,1251,5,105,0,0,1250,1249,1,0,0,0,1250,1251,1,0,0,0,1251,1255,1,0,0,0,1252,1254,3,12,6,0,1253,1252,1,0,0,0,1254,1257,1,0,0,0,1255,1253,1,0,0,0,1255,1256,1,0,0,0,1256,27,1,0,0,0,1257,1255,1,0,0,0,1258,1259,5,138,0,0,1259,1260,5,66,0,0,1260,1261,3,814,407,0,1261,1262,7,6,0,0,1262,1263,5,99,0,0,1263,1264,3,816,408,0,1264,29,1,0,0,0,1265,1266,5,46,0,0,1266,1268,5,323,0,0,1267,1269,3,294,147,0,1268,1267,1,0,0,0,1268,1269,1,0,0,0,1269,1276,1,0,0,0,1270,1272,3,32,16,0,1271,1270,1,0,0,0,1271,1272,1,0,0,0,1272,1273,1,0,0,0,1273,1274,5,106,0,0,1274,1277,3,814,407,0,1275,1277,3,32,16,0,1276,1271,1,0,0,0,1276,1275,1,0,0,0,1277,1281,1,0,0,0,1278,1280,3,34,17,0,1279,1278,1,0,0,0,1280,1283,1,0,0,0,1281,1279,1,0,0,0,1281,1282,1,0,0,0,1282,31,1,0,0,0,1283,1281,1,0,0,0,1284,1285,3,316,158,0,1285,33,1,0,0,0,1286,1293,3,120,60,0,1287,1293,3,358,179,0,1288,1293,3,196,98,0,1289,1293,3,256,128,0,1290,1293,3,334,167,0,1291,1293,3,476,238,0,1292,1286,1,0,0,0,1292,1287,1,0,0,0,1292,1288,1,0,0,0,1292,1289,1,0,0,0,1292,1290,1,0,0,0,1292,1291,1,0,0,0,1293,35,1,0,0,0,1294,1296,5,333,0,0,1295,1297,7,7,0,0,1296,1295,1,0,0,0,1296,1297,1,0,0,0,1297,1298,1,0,0,0,1298,1299,3,38,19,0,1299,37,1,0,0,0,1300,1301,5,356,0,0,1301,1309,3,474,237,0,1302,1303,5,332,0,0,1303,1304,5,154,0,0,1304,1305,5,36,0,0,1305,1306,5,356,0,0,1306,1309,3,474,237,0,1307,1309,3,42,21,0,1308,1300,1,0,0,0,1308,1302,1,0,0,0,1308,1307,1,0,0,0,1309,39,1,0,0,0,1310,1313,5,30,0,0,1311,1313,3,44,22,0,1312,1310,1,0,0,0,1312,1311,1,0,0,0,1313,1315,1,0,0,0,1314,1316,7,5,0,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1319,1,0,0,0,1317,1320,5,53,0,0,1318,1320,3,46,23,0,1319,1317,1,0,0,0,1319,1318,1,0,0,0,1319,1320,1,0,0,0,1320,41,1,0,0,0,1321,1322,5,418,0,0,1322,1323,5,386,0,0,1323,1350,3,56,28,0,1324,1325,5,152,0,0,1325,1350,3,808,404,0,1326,1327,5,323,0,0,1327,1350,3,790,395,0,1328,1331,5,267,0,0,1329,1332,3,808,404,0,1330,1332,5,53,0,0,1331,1329,1,0,0,0,1331,1330,1,0,0,0,1331,1332,1,0,0,0,1332,1350,1,0,0,0,1333,1334,5,318,0,0,1334,1350,3,58,29,0,1335,1336,5,332,0,0,1336,1337,5,106,0,0,1337,1350,3,58,29,0,1338,1339,5,383,0,0,1339,1340,5,279,0,0,1340,1350,3,696,348,0,1341,1342,5,356,0,0,1342,1343,5,337,0,0,1343,1350,3,808,404,0,1344,1345,3,44,22,0,1345,1346,5,64,0,0,1346,1347,5,434,0,0,1347,1350,1,0,0,0,1348,1350,3,40,20,0,1349,1321,1,0,0,0,1349,1324,1,0,0,0,1349,1326,1,0,0,0,1349,1328,1,0,0,0,1349,1333,1,0,0,0,1349,1335,1,0,0,0,1349,1338,1,0,0,0,1349,1341,1,0,0,0,1349,1344,1,0,0,0,1349,1348,1,0,0,0,1350,43,1,0,0,0,1351,1356,3,818,409,0,1352,1353,5,11,0,0,1353,1355,3,818,409,0,1354,1352,1,0,0,0,1355,1358,1,0,0,0,1356,1354,1,0,0,0,1356,1357,1,0,0,0,1357,45,1,0,0,0,1358,1356,1,0,0,0,1359,1364,3,48,24,0,1360,1361,5,6,0,0,1361,1363,3,48,24,0,1362,1360,1,0,0,0,1363,1366,1,0,0,0,1364,1362,1,0,0,0,1364,1365,1,0,0,0,1365,47,1,0,0,0,1366,1364,1,0,0,0,1367,1370,3,54,27,0,1368,1370,3,202,101,0,1369,1367,1,0,0,0,1369,1368,1,0,0,0,1370,49,1,0,0,0,1371,1372,5,300,0,0,1372,1377,7,8,0,0,1373,1374,5,310,0,0,1374,1377,5,300,0,0,1375,1377,5,330,0,0,1376,1371,1,0,0,0,1376,1373,1,0,0,0,1376,1375,1,0,0,0,1377,51,1,0,0,0,1378,1385,5,96,0,0,1379,1385,5,60,0,0,1380,1385,5,80,0,0,1381,1385,3,800,400,0,1382,1385,3,832,416,0,1383,1385,3,808,404,0,1384,1378,1,0,0,0,1384,1379,1,0,0,0,1384,1380,1,0,0,0,1384,1381,1,0,0,0,1384,1382,1,0,0,0,1384,1383,1,0,0,0,1385,53,1,0,0,0,1386,1391,5,96,0,0,1387,1391,5,60,0,0,1388,1391,5,80,0,0,1389,1391,3,58,29,0,1390,1386,1,0,0,0,1390,1387,1,0,0,0,1390,1388,1,0,0,0,1390,1389,1,0,0,0,1391,55,1,0,0,0,1392,1407,3,808,404,0,1393,1407,5,53,0,0,1394,1407,3,826,413,0,1395,1396,5,403,0,0,1396,1398,3,808,404,0,1397,1399,3,668,334,0,1398,1397,1,0,0,0,1398,1399,1,0,0,0,1399,1407,1,0,0,0,1400,1401,5,403,0,0,1401,1402,3,660,330,0,1402,1403,3,808,404,0,1403,1407,1,0,0,0,1404,1407,3,202,101,0,1405,1407,5,254,0,0,1406,1392,1,0,0,0,1406,1393,1,0,0,0,1406,1394,1,0,0,0,1406,1395,1,0,0,0,1406,1400,1,0,0,0,1406,1404,1,0,0,0,1406,1405,1,0,0,0,1407,57,1,0,0,0,1408,1411,3,822,411,0,1409,1411,3,808,404,0,1410,1408,1,0,0,0,1410,1409,1,0,0,0,1411,59,1,0,0,0,1412,1413,5,313,0,0,1413,1414,3,62,31,0,1414,61,1,0,0,0,1415,1416,5,418,0,0,1416,1425,5,386,0,0,1417,1418,5,356,0,0,1418,1419,5,244,0,0,1419,1425,5,251,0,0,1420,1421,5,332,0,0,1421,1425,5,106,0,0,1422,1425,5,30,0,0,1423,1425,3,44,22,0,1424,1415,1,0,0,0,1424,1417,1,0,0,0,1424,1420,1,0,0,0,1424,1422,1,0,0,0,1424,1423,1,0,0,0,1425,63,1,0,0,0,1426,1427,5,333,0,0,1427,1430,3,38,19,0,1428,1430,3,60,30,0,1429,1426,1,0,0,0,1429,1428,1,0,0,0,1430,65,1,0,0,0,1431,1432,5,333,0,0,1432,1435,3,42,21,0,1433,1435,3,60,30,0,1434,1431,1,0,0,0,1434,1433,1,0,0,0,1435,67,1,0,0,0,1436,1446,5,335,0,0,1437,1447,3,44,22,0,1438,1439,5,418,0,0,1439,1447,5,386,0,0,1440,1441,5,356,0,0,1441,1442,5,244,0,0,1442,1447,5,251,0,0,1443,1444,5,332,0,0,1444,1447,5,106,0,0,1445,1447,5,30,0,0,1446,1437,1,0,0,0,1446,1438,1,0,0,0,1446,1440,1,0,0,0,1446,1443,1,0,0,0,1446,1445,1,0,0,0,1447,69,1,0,0,0,1448,1449,5,333,0,0,1449,1452,5,165,0,0,1450,1453,5,30,0,0,1451,1453,3,760,380,0,1452,1450,1,0,0,0,1452,1451,1,0,0,0,1453,1454,1,0,0,0,1454,1455,7,9,0,0,1455,71,1,0,0,0,1456,1457,5,155,0,0,1457,73,1,0,0,0,1458,1459,5,187,0,0,1459,1460,7,10,0,0,1460,75,1,0,0,0,1461,1462,5,138,0,0,1462,1464,5,92,0,0,1463,1465,3,422,211,0,1464,1463,1,0,0,0,1464,1465,1,0,0,0,1465,1466,1,0,0,0,1466,1469,3,624,312,0,1467,1470,3,78,39,0,1468,1470,3,88,44,0,1469,1467,1,0,0,0,1469,1468,1,0,0,0,1470,1583,1,0,0,0,1471,1472,5,138,0,0,1472,1473,5,92,0,0,1473,1474,5,30,0,0,1474,1475,5,68,0,0,1475,1479,3,176,88,0,1476,1477,5,281,0,0,1477,1478,5,147,0,0,1478,1480,3,816,408,0,1479,1476,1,0,0,0,1479,1480,1,0,0,0,1480,1481,1,0,0,0,1481,1482,5,333,0,0,1482,1483,5,351,0,0,1483,1485,3,768,384,0,1484,1486,5,272,0,0,1485,1484,1,0,0,0,1485,1486,1,0,0,0,1486,1583,1,0,0,0,1487,1488,5,138,0,0,1488,1490,5,92,0,0,1489,1491,3,422,211,0,1490,1489,1,0,0,0,1490,1491,1,0,0,0,1491,1492,1,0,0,0,1492,1493,3,774,387,0,1493,1498,3,90,45,0,1494,1495,5,62,0,0,1495,1496,5,422,0,0,1496,1499,3,80,40,0,1497,1499,5,53,0,0,1498,1494,1,0,0,0,1498,1497,1,0,0,0,1499,1583,1,0,0,0,1500,1501,5,138,0,0,1501,1503,5,92,0,0,1502,1504,3,422,211,0,1503,1502,1,0,0,0,1503,1504,1,0,0,0,1504,1505,1,0,0,0,1505,1506,3,774,387,0,1506,1507,5,436,0,0,1507,1508,5,285,0,0,1508,1510,3,780,390,0,1509,1511,7,11,0,0,1510,1509,1,0,0,0,1510,1511,1,0,0,0,1511,1583,1,0,0,0,1512,1513,5,138,0,0,1513,1515,5,226,0,0,1514,1516,3,422,211,0,1515,1514,1,0,0,0,1515,1516,1,0,0,0,1516,1517,1,0,0,0,1517,1520,3,780,390,0,1518,1521,3,78,39,0,1519,1521,3,90,45,0,1520,1518,1,0,0,0,1520,1519,1,0,0,0,1521,1583,1,0,0,0,1522,1523,5,138,0,0,1523,1524,5,226,0,0,1524,1525,5,30,0,0,1525,1526,5,68,0,0,1526,1530,3,176,88,0,1527,1528,5,281,0,0,1528,1529,5,147,0,0,1529,1531,3,816,408,0,1530,1527,1,0,0,0,1530,1531,1,0,0,0,1531,1532,1,0,0,0,1532,1533,5,333,0,0,1533,1535,3,176,88,0,1534,1536,5,272,0,0,1535,1534,1,0,0,0,1535,1536,1,0,0,0,1536,1583,1,0,0,0,1537,1538,5,138,0,0,1538,1540,5,328,0,0,1539,1541,3,422,211,0,1540,1539,1,0,0,0,1540,1541,1,0,0,0,1541,1542,1,0,0,0,1542,1543,3,780,390,0,1543,1544,3,78,39,0,1544,1583,1,0,0,0,1545,1547,5,138,0,0,1546,1548,5,259,0,0,1547,1546,1,0,0,0,1547,1548,1,0,0,0,1548,1549,1,0,0,0,1549,1551,5,376,0,0,1550,1552,3,422,211,0,1551,1550,1,0,0,0,1551,1552,1,0,0,0,1552,1553,1,0,0,0,1553,1554,3,778,389,0,1554,1555,3,78,39,0,1555,1583,1,0,0,0,1556,1557,5,138,0,0,1557,1558,5,259,0,0,1558,1559,5,376,0,0,1559,1560,5,30,0,0,1560,1561,5,68,0,0,1561,1565,3,176,88,0,1562,1563,5,281,0,0,1563,1564,5,147,0,0,1564,1566,3,816,408,0,1565,1562,1,0,0,0,1565,1566,1,0,0,0,1566,1567,1,0,0,0,1567,1568,5,333,0,0,1568,1569,5,351,0,0,1569,1571,3,768,384,0,1570,1572,5,272,0,0,1571,1570,1,0,0,0,1571,1572,1,0,0,0,1572,1583,1,0,0,0,1573,1574,5,138,0,0,1574,1575,5,63,0,0,1575,1577,5,92,0,0,1576,1578,3,422,211,0,1577,1576,1,0,0,0,1577,1578,1,0,0,0,1578,1579,1,0,0,0,1579,1580,3,624,312,0,1580,1581,3,78,39,0,1581,1583,1,0,0,0,1582,1461,1,0,0,0,1582,1471,1,0,0,0,1582,1487,1,0,0,0,1582,1500,1,0,0,0,1582,1512,1,0,0,0,1582,1522,1,0,0,0,1582,1537,1,0,0,0,1582,1545,1,0,0,0,1582,1556,1,0,0,0,1582,1573,1,0,0,0,1583,77,1,0,0,0,1584,1589,3,92,46,0,1585,1586,5,6,0,0,1586,1588,3,92,46,0,1587,1585,1,0,0,0,1588,1591,1,0,0,0,1589,1587,1,0,0,0,1589,1590,1,0,0,0,1590,79,1,0,0,0,1591,1589,1,0,0,0,1592,1593,5,68,0,0,1593,1602,3,534,267,0,1594,1595,5,64,0,0,1595,1596,3,82,41,0,1596,1597,5,94,0,0,1597,1598,3,82,41,0,1598,1602,1,0,0,0,1599,1600,5,105,0,0,1600,1602,3,86,43,0,1601,1592,1,0,0,0,1601,1594,1,0,0,0,1601,1599,1,0,0,0,1602,81,1,0,0,0,1603,1604,5,2,0,0,1604,1609,3,84,42,0,1605,1606,5,6,0,0,1606,1608,3,84,42,0,1607,1605,1,0,0,0,1608,1611,1,0,0,0,1609,1607,1,0,0,0,1609,1610,1,0,0,0,1610,1612,1,0,0,0,1611,1609,1,0,0,0,1612,1613,5,3,0,0,1613,83,1,0,0,0,1614,1618,3,534,267,0,1615,1618,5,262,0,0,1616,1618,5,260,0,0,1617,1614,1,0,0,0,1617,1615,1,0,0,0,1617,1616,1,0,0,0,1618,85,1,0,0,0,1619,1620,5,2,0,0,1620,1621,5,533,0,0,1621,1622,3,202,101,0,1622,1623,5,6,0,0,1623,1624,5,534,0,0,1624,1625,3,202,101,0,1625,1626,5,3,0,0,1626,87,1,0,0,0,1627,1628,3,90,45,0,1628,1629,3,106,53,0,1629,1634,1,0,0,0,1630,1631,5,436,0,0,1631,1632,5,285,0,0,1632,1634,3,780,390,0,1633,1627,1,0,0,0,1633,1630,1,0,0,0,1634,89,1,0,0,0,1635,1636,5,435,0,0,1636,1637,5,285,0,0,1637,1638,3,780,390,0,1638,91,1,0,0,0,1639,1642,5,133,0,0,1640,1641,5,45,0,0,1641,1643,3,818,409,0,1642,1640,1,0,0,0,1642,1643,1,0,0,0,1643,1644,1,0,0,0,1644,1873,3,142,71,0,1645,1646,5,138,0,0,1646,1647,5,45,0,0,1647,1651,3,818,409,0,1648,1650,3,272,136,0,1649,1648,1,0,0,0,1650,1653,1,0,0,0,1651,1649,1,0,0,0,1651,1652,1,0,0,0,1652,1873,1,0,0,0,1653,1651,1,0,0,0,1654,1655,5,372,0,0,1655,1656,5,45,0,0,1656,1873,3,818,409,0,1657,1658,5,191,0,0,1658,1660,5,45,0,0,1659,1661,3,422,211,0,1660,1659,1,0,0,0,1660,1661,1,0,0,0,1661,1662,1,0,0,0,1662,1664,3,818,409,0,1663,1665,3,96,48,0,1664,1663,1,0,0,0,1664,1665,1,0,0,0,1665,1873,1,0,0,0,1666,1667,5,333,0,0,1667,1668,5,379,0,0,1668,1873,7,12,0,0,1669,1670,5,158,0,0,1670,1671,5,80,0,0,1671,1873,3,818,409,0,1672,1673,5,333,0,0,1673,1873,7,13,0,0,1674,1676,5,193,0,0,1675,1677,7,14,0,0,1676,1675,1,0,0,0,1676,1677,1,0,0,0,1677,1678,1,0,0,0,1678,1873,5,357,0,0,1679,1680,5,186,0,0,1680,1684,5,357,0,0,1681,1685,5,30,0,0,1682,1685,5,99,0,0,1683,1685,3,818,409,0,1684,1681,1,0,0,0,1684,1682,1,0,0,0,1684,1683,1,0,0,0,1685,1873,1,0,0,0,1686,1687,5,193,0,0,1687,1688,7,14,0,0,1688,1689,5,321,0,0,1689,1873,3,818,409,0,1690,1691,5,186,0,0,1691,1692,5,321,0,0,1692,1873,3,818,409,0,1693,1695,5,269,0,0,1694,1693,1,0,0,0,1694,1695,1,0,0,0,1695,1696,1,0,0,0,1696,1697,5,228,0,0,1697,1873,3,780,390,0,1698,1699,5,275,0,0,1699,1873,3,316,158,0,1700,1701,5,77,0,0,1701,1873,5,275,0,0,1702,1703,5,282,0,0,1703,1704,5,94,0,0,1704,1873,3,814,407,0,1705,1706,5,333,0,0,1706,1707,5,351,0,0,1707,1873,3,768,384,0,1708,1709,5,312,0,0,1709,1714,5,219,0,0,1710,1715,5,270,0,0,1711,1715,5,113,0,0,1712,1715,5,53,0,0,1713,1715,3,180,90,0,1714,1710,1,0,0,0,1714,1711,1,0,0,0,1714,1712,1,0,0,0,1714,1713,1,0,0,0,1715,1873,1,0,0,0,1716,1723,5,193,0,0,1717,1723,5,186,0,0,1718,1720,5,269,0,0,1719,1718,1,0,0,0,1719,1720,1,0,0,0,1720,1721,1,0,0,0,1721,1723,5,209,0,0,1722,1716,1,0,0,0,1722,1717,1,0,0,0,1722,1719,1,0,0,0,1723,1724,1,0,0,0,1724,1725,5,414,0,0,1725,1726,5,251,0,0,1726,1873,5,327,0,0,1727,1729,5,191,0,0,1728,1730,5,44,0,0,1729,1728,1,0,0,0,1729,1730,1,0,0,0,1730,1732,1,0,0,0,1731,1733,3,422,211,0,1732,1731,1,0,0,0,1732,1733,1,0,0,0,1733,1734,1,0,0,0,1734,1736,3,800,400,0,1735,1737,3,96,48,0,1736,1735,1,0,0,0,1736,1737,1,0,0,0,1737,1873,1,0,0,0,1738,1740,5,133,0,0,1739,1741,5,44,0,0,1740,1739,1,0,0,0,1740,1741,1,0,0,0,1741,1743,1,0,0,0,1742,1744,3,294,147,0,1743,1742,1,0,0,0,1743,1744,1,0,0,0,1744,1745,1,0,0,0,1745,1873,3,132,66,0,1746,1748,5,138,0,0,1747,1749,5,44,0,0,1748,1747,1,0,0,0,1748,1749,1,0,0,0,1749,1750,1,0,0,0,1750,1753,3,800,400,0,1751,1754,3,94,47,0,1752,1754,3,222,111,0,1753,1751,1,0,0,0,1753,1752,1,0,0,0,1754,1873,1,0,0,0,1755,1757,5,138,0,0,1756,1758,5,44,0,0,1757,1756,1,0,0,0,1757,1758,1,0,0,0,1758,1759,1,0,0,0,1759,1760,3,800,400,0,1760,1761,7,15,0,0,1761,1762,5,77,0,0,1762,1763,5,78,0,0,1763,1873,1,0,0,0,1764,1766,5,138,0,0,1765,1767,5,44,0,0,1766,1765,1,0,0,0,1766,1767,1,0,0,0,1767,1768,1,0,0,0,1768,1769,3,800,400,0,1769,1770,5,191,0,0,1770,1772,5,437,0,0,1771,1773,3,422,211,0,1772,1771,1,0,0,0,1772,1773,1,0,0,0,1773,1873,1,0,0,0,1774,1776,5,138,0,0,1775,1777,5,44,0,0,1776,1775,1,0,0,0,1776,1777,1,0,0,0,1777,1778,1,0,0,0,1778,1779,3,800,400,0,1779,1780,5,333,0,0,1780,1781,5,342,0,0,1781,1782,3,812,406,0,1782,1873,1,0,0,0,1783,1785,5,138,0,0,1784,1786,5,44,0,0,1785,1784,1,0,0,0,1785,1786,1,0,0,0,1786,1787,1,0,0,0,1787,1789,3,800,400,0,1788,1783,1,0,0,0,1788,1789,1,0,0,0,1789,1790,1,0,0,0,1790,1791,7,16,0,0,1791,1873,3,100,50,0,1792,1794,5,138,0,0,1793,1795,5,44,0,0,1794,1793,1,0,0,0,1794,1795,1,0,0,0,1795,1796,1,0,0,0,1796,1797,3,800,400,0,1797,1798,5,333,0,0,1798,1799,5,345,0,0,1799,1800,3,818,409,0,1800,1873,1,0,0,0,1801,1803,5,138,0,0,1802,1804,5,44,0,0,1803,1802,1,0,0,0,1803,1804,1,0,0,0,1804,1805,1,0,0,0,1805,1806,3,800,400,0,1806,1807,5,133,0,0,1807,1808,5,438,0,0,1808,1809,3,138,69,0,1809,1810,5,36,0,0,1810,1819,5,219,0,0,1811,1813,5,2,0,0,1812,1814,3,200,100,0,1813,1812,1,0,0,0,1814,1815,1,0,0,0,1815,1813,1,0,0,0,1815,1816,1,0,0,0,1816,1817,1,0,0,0,1817,1818,5,3,0,0,1818,1820,1,0,0,0,1819,1811,1,0,0,0,1819,1820,1,0,0,0,1820,1873,1,0,0,0,1821,1823,5,138,0,0,1822,1824,5,44,0,0,1823,1822,1,0,0,0,1823,1824,1,0,0,0,1824,1825,1,0,0,0,1825,1839,3,800,400,0,1826,1831,5,314,0,0,1827,1829,5,105,0,0,1828,1827,1,0,0,0,1828,1829,1,0,0,0,1829,1830,1,0,0,0,1830,1832,3,202,101,0,1831,1828,1,0,0,0,1831,1832,1,0,0,0,1832,1840,1,0,0,0,1833,1837,5,333,0,0,1834,1838,3,200,100,0,1835,1836,5,438,0,0,1836,1838,3,138,69,0,1837,1834,1,0,0,0,1837,1835,1,0,0,0,1838,1840,1,0,0,0,1839,1826,1,0,0,0,1839,1833,1,0,0,0,1840,1841,1,0,0,0,1841,1839,1,0,0,0,1841,1842,1,0,0,0,1842,1873,1,0,0,0,1843,1845,5,138,0,0,1844,1846,5,44,0,0,1845,1844,1,0,0,0,1845,1846,1,0,0,0,1846,1847,1,0,0,0,1847,1848,3,800,400,0,1848,1849,5,191,0,0,1849,1851,5,219,0,0,1850,1852,3,422,211,0,1851,1850,1,0,0,0,1851,1852,1,0,0,0,1852,1873,1,0,0,0,1853,1855,5,138,0,0,1854,1856,5,44,0,0,1855,1854,1,0,0,0,1855,1856,1,0,0,0,1856,1857,1,0,0,0,1857,1860,3,800,400,0,1858,1859,5,333,0,0,1859,1861,5,174,0,0,1860,1858,1,0,0,0,1860,1861,1,0,0,0,1861,1862,1,0,0,0,1862,1863,5,360,0,0,1863,1865,3,652,326,0,1864,1866,3,98,49,0,1865,1864,1,0,0,0,1865,1866,1,0,0,0,1866,1869,1,0,0,0,1867,1868,5,100,0,0,1868,1870,3,674,337,0,1869,1867,1,0,0,0,1869,1870,1,0,0,0,1870,1873,1,0,0,0,1871,1873,3,222,111,0,1872,1639,1,0,0,0,1872,1645,1,0,0,0,1872,1654,1,0,0,0,1872,1657,1,0,0,0,1872,1666,1,0,0,0,1872,1669,1,0,0,0,1872,1672,1,0,0,0,1872,1674,1,0,0,0,1872,1679,1,0,0,0,1872,1686,1,0,0,0,1872,1690,1,0,0,0,1872,1694,1,0,0,0,1872,1698,1,0,0,0,1872,1700,1,0,0,0,1872,1702,1,0,0,0,1872,1705,1,0,0,0,1872,1708,1,0,0,0,1872,1722,1,0,0,0,1872,1727,1,0,0,0,1872,1738,1,0,0,0,1872,1746,1,0,0,0,1872,1755,1,0,0,0,1872,1764,1,0,0,0,1872,1774,1,0,0,0,1872,1788,1,0,0,0,1872,1792,1,0,0,0,1872,1801,1,0,0,0,1872,1821,1,0,0,0,1872,1843,1,0,0,0,1872,1853,1,0,0,0,1872,1871,1,0,0,0,1873,93,1,0,0,0,1874,1875,5,333,0,0,1875,1876,5,53,0,0,1876,1880,3,674,337,0,1877,1878,5,191,0,0,1878,1880,5,53,0,0,1879,1874,1,0,0,0,1879,1877,1,0,0,0,1880,95,1,0,0,0,1881,1882,7,17,0,0,1882,97,1,0,0,0,1883,1884,5,43,0,0,1884,1885,3,316,158,0,1885,99,1,0,0,0,1886,1887,5,2,0,0,1887,1892,3,104,52,0,1888,1889,5,6,0,0,1889,1891,3,104,52,0,1890,1888,1,0,0,0,1891,1894,1,0,0,0,1892,1890,1,0,0,0,1892,1893,1,0,0,0,1893,1895,1,0,0,0,1894,1892,1,0,0,0,1895,1896,5,3,0,0,1896,101,1,0,0,0,1897,1898,5,105,0,0,1898,1899,3,100,50,0,1899,103,1,0,0,0,1900,1905,3,824,412,0,1901,1902,5,10,0,0,1902,1906,3,288,144,0,1903,1904,5,11,0,0,1904,1906,3,286,143,0,1905,1901,1,0,0,0,1905,1903,1,0,0,0,1905,1906,1,0,0,0,1906,105,1,0,0,0,1907,1908,5,62,0,0,1908,1909,5,422,0,0,1909,1910,5,105,0,0,1910,1911,5,2,0,0,1911,1912,3,822,411,0,1912,1919,5,571,0,0,1913,1914,5,6,0,0,1914,1915,3,822,411,0,1915,1916,5,571,0,0,1916,1918,1,0,0,0,1917,1913,1,0,0,0,1918,1921,1,0,0,0,1919,1917,1,0,0,0,1919,1920,1,0,0,0,1920,1922,1,0,0,0,1921,1919,1,0,0,0,1922,1923,5,3,0,0,1923,1937,1,0,0,0,1924,1925,5,62,0,0,1925,1926,5,422,0,0,1926,1927,5,68,0,0,1927,1937,3,534,267,0,1928,1929,5,62,0,0,1929,1930,5,422,0,0,1930,1931,5,64,0,0,1931,1932,3,534,267,0,1932,1933,5,94,0,0,1933,1934,3,534,267,0,1934,1937,1,0,0,0,1935,1937,5,53,0,0,1936,1907,1,0,0,0,1936,1924,1,0,0,0,1936,1928,1,0,0,0,1936,1935,1,0,0,0,1937,107,1,0,0,0,1938,1939,5,138,0,0,1939,1940,5,360,0,0,1940,1941,3,316,158,0,1941,1946,3,110,55,0,1942,1943,5,6,0,0,1943,1945,3,110,55,0,1944,1942,1,0,0,0,1945,1948,1,0,0,0,1946,1944,1,0,0,0,1946,1947,1,0,0,0,1947,109,1,0,0,0,1948,1946,1,0,0,0,1949,1950,5,133,0,0,1950,1951,5,143,0,0,1951,1953,3,644,322,0,1952,1954,3,96,48,0,1953,1952,1,0,0,0,1953,1954,1,0,0,0,1954,1980,1,0,0,0,1955,1956,5,191,0,0,1956,1958,5,143,0,0,1957,1959,3,422,211,0,1958,1957,1,0,0,0,1958,1959,1,0,0,0,1959,1960,1,0,0,0,1960,1962,3,818,409,0,1961,1963,3,96,48,0,1962,1961,1,0,0,0,1962,1963,1,0,0,0,1963,1980,1,0,0,0,1964,1965,5,138,0,0,1965,1966,5,143,0,0,1966,1969,3,818,409,0,1967,1968,5,333,0,0,1968,1970,5,174,0,0,1969,1967,1,0,0,0,1969,1970,1,0,0,0,1970,1971,1,0,0,0,1971,1972,5,360,0,0,1972,1974,3,652,326,0,1973,1975,3,98,49,0,1974,1973,1,0,0,0,1974,1975,1,0,0,0,1975,1977,1,0,0,0,1976,1978,3,96,48,0,1977,1976,1,0,0,0,1977,1978,1,0,0,0,1978,1980,1,0,0,0,1979,1949,1,0,0,0,1979,1955,1,0,0,0,1979,1964,1,0,0,0,1980,111,1,0,0,0,1981,1984,5,157,0,0,1982,1985,3,818,409,0,1983,1985,5,30,0,0,1984,1982,1,0,0,0,1984,1983,1,0,0,0,1985,113,1,0,0,0,1986,1988,5,169,0,0,1987,1989,5,107,0,0,1988,1987,1,0,0,0,1988,1989,1,0,0,0,1989,1990,1,0,0,0,1990,1992,3,774,387,0,1991,1993,3,144,72,0,1992,1991,1,0,0,0,1992,1993,1,0,0,0,1993,1994,1,0,0,0,1994,1996,7,18,0,0,1995,1997,5,297,0,0,1996,1995,1,0,0,0,1996,1997,1,0,0,0,1997,2001,1,0,0,0,1998,2002,3,808,404,0,1999,2002,5,343,0,0,2e3,2002,5,344,0,0,2001,1998,1,0,0,0,2001,1999,1,0,0,0,2001,2e3,1,0,0,0,2002,2008,1,0,0,0,2003,2005,5,100,0,0,2004,2003,1,0,0,0,2004,2005,1,0,0,0,2005,2006,1,0,0,0,2006,2007,5,184,0,0,2007,2009,3,808,404,0,2008,2004,1,0,0,0,2008,2009,1,0,0,0,2009,2011,1,0,0,0,2010,2012,5,105,0,0,2011,2010,1,0,0,0,2011,2012,1,0,0,0,2012,2013,1,0,0,0,2013,2015,3,116,58,0,2014,2016,3,638,319,0,2015,2014,1,0,0,0,2015,2016,1,0,0,0,2016,2036,1,0,0,0,2017,2018,5,169,0,0,2018,2019,5,2,0,0,2019,2020,3,530,265,0,2020,2021,5,3,0,0,2021,2023,5,94,0,0,2022,2024,5,297,0,0,2023,2022,1,0,0,0,2023,2024,1,0,0,0,2024,2028,1,0,0,0,2025,2029,3,808,404,0,2026,2029,5,343,0,0,2027,2029,5,344,0,0,2028,2025,1,0,0,0,2028,2026,1,0,0,0,2028,2027,1,0,0,0,2029,2031,1,0,0,0,2030,2032,5,105,0,0,2031,2030,1,0,0,0,2031,2032,1,0,0,0,2032,2033,1,0,0,0,2033,2034,3,116,58,0,2034,2036,1,0,0,0,2035,1986,1,0,0,0,2035,2017,1,0,0,0,2036,115,1,0,0,0,2037,2061,5,107,0,0,2038,2061,5,112,0,0,2039,2041,7,19,0,0,2040,2042,5,36,0,0,2041,2040,1,0,0,0,2041,2042,1,0,0,0,2042,2043,1,0,0,0,2043,2061,3,808,404,0,2044,2061,5,171,0,0,2045,2061,5,216,0,0,2046,2047,5,209,0,0,2047,2050,5,298,0,0,2048,2051,3,148,74,0,2049,2051,5,9,0,0,2050,2048,1,0,0,0,2050,2049,1,0,0,0,2051,2061,1,0,0,0,2052,2054,5,209,0,0,2053,2055,5,77,0,0,2054,2053,1,0,0,0,2054,2055,1,0,0,0,2055,2056,1,0,0,0,2056,2057,5,78,0,0,2057,2061,3,148,74,0,2058,2059,5,194,0,0,2059,2061,3,808,404,0,2060,2037,1,0,0,0,2060,2038,1,0,0,0,2060,2039,1,0,0,0,2060,2044,1,0,0,0,2060,2045,1,0,0,0,2060,2046,1,0,0,0,2060,2052,1,0,0,0,2060,2058,1,0,0,0,2061,2064,1,0,0,0,2062,2060,1,0,0,0,2062,2063,1,0,0,0,2063,2077,1,0,0,0,2064,2062,1,0,0,0,2065,2066,5,2,0,0,2066,2071,3,118,59,0,2067,2068,5,6,0,0,2068,2070,3,118,59,0,2069,2067,1,0,0,0,2070,2073,1,0,0,0,2071,2069,1,0,0,0,2071,2072,1,0,0,0,2072,2074,1,0,0,0,2073,2071,1,0,0,0,2074,2075,5,3,0,0,2075,2077,1,0,0,0,2076,2062,1,0,0,0,2076,2065,1,0,0,0,2077,117,1,0,0,0,2078,2093,3,824,412,0,2079,2094,3,54,27,0,2080,2094,3,202,101,0,2081,2094,5,9,0,0,2082,2083,5,2,0,0,2083,2088,3,52,26,0,2084,2085,5,6,0,0,2085,2087,3,52,26,0,2086,2084,1,0,0,0,2087,2090,1,0,0,0,2088,2086,1,0,0,0,2088,2089,1,0,0,0,2089,2091,1,0,0,0,2090,2088,1,0,0,0,2091,2092,5,3,0,0,2092,2094,1,0,0,0,2093,2079,1,0,0,0,2093,2080,1,0,0,0,2093,2081,1,0,0,0,2093,2082,1,0,0,0,2093,2094,1,0,0,0,2094,119,1,0,0,0,2095,2097,5,46,0,0,2096,2098,3,122,61,0,2097,2096,1,0,0,0,2097,2098,1,0,0,0,2098,2099,1,0,0,0,2099,2101,5,92,0,0,2100,2102,3,294,147,0,2101,2100,1,0,0,0,2101,2102,1,0,0,0,2102,2103,1,0,0,0,2103,2169,3,772,386,0,2104,2106,5,2,0,0,2105,2107,3,126,63,0,2106,2105,1,0,0,0,2106,2107,1,0,0,0,2107,2108,1,0,0,0,2108,2110,5,3,0,0,2109,2111,3,164,82,0,2110,2109,1,0,0,0,2110,2111,1,0,0,0,2111,2113,1,0,0,0,2112,2114,3,166,83,0,2113,2112,1,0,0,0,2113,2114,1,0,0,0,2114,2116,1,0,0,0,2115,2117,3,170,85,0,2116,2115,1,0,0,0,2116,2117,1,0,0,0,2117,2119,1,0,0,0,2118,2120,3,172,86,0,2119,2118,1,0,0,0,2119,2120,1,0,0,0,2120,2122,1,0,0,0,2121,2123,3,174,87,0,2122,2121,1,0,0,0,2122,2123,1,0,0,0,2123,2125,1,0,0,0,2124,2126,3,176,88,0,2125,2124,1,0,0,0,2125,2126,1,0,0,0,2126,2170,1,0,0,0,2127,2128,5,275,0,0,2128,2130,3,316,158,0,2129,2131,3,124,62,0,2130,2129,1,0,0,0,2130,2131,1,0,0,0,2131,2133,1,0,0,0,2132,2134,3,166,83,0,2133,2132,1,0,0,0,2133,2134,1,0,0,0,2134,2136,1,0,0,0,2135,2137,3,170,85,0,2136,2135,1,0,0,0,2136,2137,1,0,0,0,2137,2139,1,0,0,0,2138,2140,3,172,86,0,2139,2138,1,0,0,0,2139,2140,1,0,0,0,2140,2142,1,0,0,0,2141,2143,3,174,87,0,2142,2141,1,0,0,0,2142,2143,1,0,0,0,2143,2145,1,0,0,0,2144,2146,3,176,88,0,2145,2144,1,0,0,0,2145,2146,1,0,0,0,2146,2170,1,0,0,0,2147,2148,5,285,0,0,2148,2149,5,275,0,0,2149,2151,3,780,390,0,2150,2152,3,124,62,0,2151,2150,1,0,0,0,2151,2152,1,0,0,0,2152,2153,1,0,0,0,2153,2155,3,106,53,0,2154,2156,3,166,83,0,2155,2154,1,0,0,0,2155,2156,1,0,0,0,2156,2158,1,0,0,0,2157,2159,3,170,85,0,2158,2157,1,0,0,0,2158,2159,1,0,0,0,2159,2161,1,0,0,0,2160,2162,3,172,86,0,2161,2160,1,0,0,0,2161,2162,1,0,0,0,2162,2164,1,0,0,0,2163,2165,3,174,87,0,2164,2163,1,0,0,0,2164,2165,1,0,0,0,2165,2167,1,0,0,0,2166,2168,3,176,88,0,2167,2166,1,0,0,0,2167,2168,1,0,0,0,2168,2170,1,0,0,0,2169,2104,1,0,0,0,2169,2127,1,0,0,0,2169,2147,1,0,0,0,2170,121,1,0,0,0,2171,2177,5,354,0,0,2172,2177,5,352,0,0,2173,2174,7,20,0,0,2174,2177,7,21,0,0,2175,2177,5,367,0,0,2176,2171,1,0,0,0,2176,2172,1,0,0,0,2176,2173,1,0,0,0,2176,2175,1,0,0,0,2177,123,1,0,0,0,2178,2179,5,2,0,0,2179,2184,3,130,65,0,2180,2181,5,6,0,0,2181,2183,3,130,65,0,2182,2180,1,0,0,0,2183,2186,1,0,0,0,2184,2182,1,0,0,0,2184,2185,1,0,0,0,2185,2187,1,0,0,0,2186,2184,1,0,0,0,2187,2188,5,3,0,0,2188,125,1,0,0,0,2189,2194,3,128,64,0,2190,2191,5,6,0,0,2191,2193,3,128,64,0,2192,2190,1,0,0,0,2193,2196,1,0,0,0,2194,2192,1,0,0,0,2194,2195,1,0,0,0,2195,127,1,0,0,0,2196,2194,1,0,0,0,2197,2198,5,45,0,0,2198,2200,3,818,409,0,2199,2197,1,0,0,0,2199,2200,1,0,0,0,2200,2201,1,0,0,0,2201,2213,3,142,71,0,2202,2213,3,132,66,0,2203,2204,5,120,0,0,2204,2209,3,780,390,0,2205,2206,7,22,0,0,2206,2208,3,140,70,0,2207,2205,1,0,0,0,2208,2211,1,0,0,0,2209,2207,1,0,0,0,2209,2210,1,0,0,0,2210,2213,1,0,0,0,2211,2209,1,0,0,0,2212,2199,1,0,0,0,2212,2202,1,0,0,0,2212,2203,1,0,0,0,2213,129,1,0,0,0,2214,2217,3,802,401,0,2215,2216,5,105,0,0,2216,2218,5,280,0,0,2217,2215,1,0,0,0,2217,2218,1,0,0,0,2218,2222,1,0,0,0,2219,2221,3,134,67,0,2220,2219,1,0,0,0,2221,2224,1,0,0,0,2222,2220,1,0,0,0,2222,2223,1,0,0,0,2223,2231,1,0,0,0,2224,2222,1,0,0,0,2225,2226,5,45,0,0,2226,2228,3,818,409,0,2227,2225,1,0,0,0,2227,2228,1,0,0,0,2228,2229,1,0,0,0,2229,2231,3,142,71,0,2230,2214,1,0,0,0,2230,2227,1,0,0,0,2231,131,1,0,0,0,2232,2233,3,802,401,0,2233,2235,3,652,326,0,2234,2236,3,220,110,0,2235,2234,1,0,0,0,2235,2236,1,0,0,0,2236,2246,1,0,0,0,2237,2244,5,345,0,0,2238,2245,5,544,0,0,2239,2245,5,205,0,0,2240,2245,5,545,0,0,2241,2245,5,546,0,0,2242,2245,5,53,0,0,2243,2245,3,818,409,0,2244,2238,1,0,0,0,2244,2239,1,0,0,0,2244,2240,1,0,0,0,2244,2241,1,0,0,0,2244,2242,1,0,0,0,2244,2243,1,0,0,0,2245,2247,1,0,0,0,2246,2237,1,0,0,0,2246,2247,1,0,0,0,2247,2250,1,0,0,0,2248,2249,5,543,0,0,2249,2251,3,818,409,0,2250,2248,1,0,0,0,2250,2251,1,0,0,0,2251,2253,1,0,0,0,2252,2254,3,98,49,0,2253,2252,1,0,0,0,2253,2254,1,0,0,0,2254,2257,1,0,0,0,2255,2256,5,105,0,0,2256,2258,5,280,0,0,2257,2255,1,0,0,0,2257,2258,1,0,0,0,2258,2262,1,0,0,0,2259,2261,3,134,67,0,2260,2259,1,0,0,0,2261,2264,1,0,0,0,2262,2260,1,0,0,0,2262,2263,1,0,0,0,2263,133,1,0,0,0,2264,2262,1,0,0,0,2265,2266,5,45,0,0,2266,2268,3,818,409,0,2267,2265,1,0,0,0,2267,2268,1,0,0,0,2268,2269,1,0,0,0,2269,2274,3,136,68,0,2270,2272,5,77,0,0,2271,2270,1,0,0,0,2271,2272,1,0,0,0,2272,2273,1,0,0,0,2273,2275,5,54,0,0,2274,2271,1,0,0,0,2274,2275,1,0,0,0,2275,2278,1,0,0,0,2276,2277,5,69,0,0,2277,2279,7,9,0,0,2278,2276,1,0,0,0,2278,2279,1,0,0,0,2279,135,1,0,0,0,2280,2282,5,77,0,0,2281,2280,1,0,0,0,2281,2282,1,0,0,0,2282,2283,1,0,0,0,2283,2361,5,78,0,0,2284,2286,5,98,0,0,2285,2287,3,400,200,0,2286,2285,1,0,0,0,2286,2287,1,0,0,0,2287,2289,1,0,0,0,2288,2290,3,178,89,0,2289,2288,1,0,0,0,2289,2290,1,0,0,0,2290,2361,1,0,0,0,2291,2297,5,98,0,0,2292,2294,5,273,0,0,2293,2295,5,77,0,0,2294,2293,1,0,0,0,2294,2295,1,0,0,0,2295,2296,1,0,0,0,2296,2298,5,56,0,0,2297,2292,1,0,0,0,2297,2298,1,0,0,0,2298,2301,1,0,0,0,2299,2300,5,441,0,0,2300,2302,3,360,180,0,2301,2299,1,0,0,0,2301,2302,1,0,0,0,2302,2304,1,0,0,0,2303,2305,3,572,286,0,2304,2303,1,0,0,0,2304,2305,1,0,0,0,2305,2307,1,0,0,0,2306,2308,3,178,89,0,2307,2306,1,0,0,0,2307,2308,1,0,0,0,2308,2361,1,0,0,0,2309,2310,5,85,0,0,2310,2312,5,245,0,0,2311,2313,3,400,200,0,2312,2311,1,0,0,0,2312,2313,1,0,0,0,2313,2315,1,0,0,0,2314,2316,3,178,89,0,2315,2314,1,0,0,0,2315,2316,1,0,0,0,2316,2361,1,0,0,0,2317,2318,5,42,0,0,2318,2319,5,2,0,0,2319,2320,3,674,337,0,2320,2323,5,3,0,0,2321,2322,5,269,0,0,2322,2324,5,228,0,0,2323,2321,1,0,0,0,2323,2324,1,0,0,0,2324,2361,1,0,0,0,2325,2326,5,53,0,0,2326,2361,3,682,341,0,2327,2328,5,438,0,0,2328,2329,3,138,69,0,2329,2346,5,36,0,0,2330,2339,5,219,0,0,2331,2333,5,2,0,0,2332,2334,3,200,100,0,2333,2332,1,0,0,0,2334,2335,1,0,0,0,2335,2333,1,0,0,0,2335,2336,1,0,0,0,2336,2337,1,0,0,0,2337,2338,5,3,0,0,2338,2340,1,0,0,0,2339,2331,1,0,0,0,2339,2340,1,0,0,0,2340,2347,1,0,0,0,2341,2342,5,2,0,0,2342,2343,3,674,337,0,2343,2344,5,3,0,0,2344,2345,5,440,0,0,2345,2347,1,0,0,0,2346,2330,1,0,0,0,2346,2341,1,0,0,0,2347,2361,1,0,0,0,2348,2349,5,86,0,0,2349,2351,3,780,390,0,2350,2352,3,144,72,0,2351,2350,1,0,0,0,2351,2352,1,0,0,0,2352,2354,1,0,0,0,2353,2355,3,152,76,0,2354,2353,1,0,0,0,2354,2355,1,0,0,0,2355,2357,1,0,0,0,2356,2358,3,156,78,0,2357,2356,1,0,0,0,2357,2358,1,0,0,0,2358,2361,1,0,0,0,2359,2361,3,98,49,0,2360,2281,1,0,0,0,2360,2284,1,0,0,0,2360,2291,1,0,0,0,2360,2309,1,0,0,0,2360,2317,1,0,0,0,2360,2325,1,0,0,0,2360,2327,1,0,0,0,2360,2348,1,0,0,0,2360,2359,1,0,0,0,2361,137,1,0,0,0,2362,2366,5,139,0,0,2363,2364,5,147,0,0,2364,2366,5,53,0,0,2365,2362,1,0,0,0,2365,2363,1,0,0,0,2366,139,1,0,0,0,2367,2368,7,23,0,0,2368,141,1,0,0,0,2369,2370,5,42,0,0,2370,2371,5,2,0,0,2371,2372,3,674,337,0,2372,2376,5,3,0,0,2373,2375,3,272,136,0,2374,2373,1,0,0,0,2375,2378,1,0,0,0,2376,2374,1,0,0,0,2376,2377,1,0,0,0,2377,2466,1,0,0,0,2378,2376,1,0,0,0,2379,2383,5,98,0,0,2380,2381,5,85,0,0,2381,2383,5,245,0,0,2382,2379,1,0,0,0,2382,2380,1,0,0,0,2383,2407,1,0,0,0,2384,2386,3,144,72,0,2385,2387,3,150,75,0,2386,2385,1,0,0,0,2386,2387,1,0,0,0,2387,2389,1,0,0,0,2388,2390,3,400,200,0,2389,2388,1,0,0,0,2389,2390,1,0,0,0,2390,2392,1,0,0,0,2391,2393,3,178,89,0,2392,2391,1,0,0,0,2392,2393,1,0,0,0,2393,2397,1,0,0,0,2394,2396,3,272,136,0,2395,2394,1,0,0,0,2396,2399,1,0,0,0,2397,2395,1,0,0,0,2397,2398,1,0,0,0,2398,2408,1,0,0,0,2399,2397,1,0,0,0,2400,2404,3,180,90,0,2401,2403,3,272,136,0,2402,2401,1,0,0,0,2403,2406,1,0,0,0,2404,2402,1,0,0,0,2404,2405,1,0,0,0,2405,2408,1,0,0,0,2406,2404,1,0,0,0,2407,2384,1,0,0,0,2407,2400,1,0,0,0,2408,2466,1,0,0,0,2409,2411,5,199,0,0,2410,2412,3,170,85,0,2411,2410,1,0,0,0,2411,2412,1,0,0,0,2412,2413,1,0,0,0,2413,2414,5,2,0,0,2414,2419,3,154,77,0,2415,2416,5,6,0,0,2416,2418,3,154,77,0,2417,2415,1,0,0,0,2418,2421,1,0,0,0,2419,2417,1,0,0,0,2419,2420,1,0,0,0,2420,2422,1,0,0,0,2421,2419,1,0,0,0,2422,2424,5,3,0,0,2423,2425,3,150,75,0,2424,2423,1,0,0,0,2424,2425,1,0,0,0,2425,2427,1,0,0,0,2426,2428,3,400,200,0,2427,2426,1,0,0,0,2427,2428,1,0,0,0,2428,2430,1,0,0,0,2429,2431,3,178,89,0,2430,2429,1,0,0,0,2430,2431,1,0,0,0,2431,2437,1,0,0,0,2432,2433,5,103,0,0,2433,2434,5,2,0,0,2434,2435,3,674,337,0,2435,2436,5,3,0,0,2436,2438,1,0,0,0,2437,2432,1,0,0,0,2437,2438,1,0,0,0,2438,2442,1,0,0,0,2439,2441,3,272,136,0,2440,2439,1,0,0,0,2441,2444,1,0,0,0,2442,2440,1,0,0,0,2442,2443,1,0,0,0,2443,2466,1,0,0,0,2444,2442,1,0,0,0,2445,2446,5,63,0,0,2446,2447,5,245,0,0,2447,2448,3,144,72,0,2448,2449,5,86,0,0,2449,2451,3,780,390,0,2450,2452,3,144,72,0,2451,2450,1,0,0,0,2451,2452,1,0,0,0,2452,2454,1,0,0,0,2453,2455,3,152,76,0,2454,2453,1,0,0,0,2454,2455,1,0,0,0,2455,2457,1,0,0,0,2456,2458,3,156,78,0,2457,2456,1,0,0,0,2457,2458,1,0,0,0,2458,2462,1,0,0,0,2459,2461,3,272,136,0,2460,2459,1,0,0,0,2461,2464,1,0,0,0,2462,2460,1,0,0,0,2462,2463,1,0,0,0,2463,2466,1,0,0,0,2464,2462,1,0,0,0,2465,2369,1,0,0,0,2465,2382,1,0,0,0,2465,2409,1,0,0,0,2465,2445,1,0,0,0,2466,143,1,0,0,0,2467,2468,5,2,0,0,2468,2469,3,148,74,0,2469,2470,5,3,0,0,2470,145,1,0,0,0,2471,2472,5,2,0,0,2472,2477,3,802,401,0,2473,2474,5,6,0,0,2474,2476,3,802,401,0,2475,2473,1,0,0,0,2476,2479,1,0,0,0,2477,2475,1,0,0,0,2477,2478,1,0,0,0,2478,2480,1,0,0,0,2479,2477,1,0,0,0,2480,2481,5,3,0,0,2481,147,1,0,0,0,2482,2487,3,800,400,0,2483,2484,5,6,0,0,2484,2486,3,800,400,0,2485,2483,1,0,0,0,2486,2489,1,0,0,0,2487,2485,1,0,0,0,2487,2488,1,0,0,0,2488,149,1,0,0,0,2489,2487,1,0,0,0,2490,2491,5,441,0,0,2491,2492,3,144,72,0,2492,151,1,0,0,0,2493,2494,5,258,0,0,2494,2495,7,24,0,0,2495,153,1,0,0,0,2496,2497,3,362,181,0,2497,2504,5,105,0,0,2498,2505,3,414,207,0,2499,2500,5,278,0,0,2500,2501,5,2,0,0,2501,2502,3,414,207,0,2502,2503,5,3,0,0,2503,2505,1,0,0,0,2504,2498,1,0,0,0,2504,2499,1,0,0,0,2505,155,1,0,0,0,2506,2508,3,158,79,0,2507,2509,3,160,80,0,2508,2507,1,0,0,0,2508,2509,1,0,0,0,2509,2515,1,0,0,0,2510,2512,3,160,80,0,2511,2513,3,158,79,0,2512,2511,1,0,0,0,2512,2513,1,0,0,0,2513,2515,1,0,0,0,2514,2506,1,0,0,0,2514,2510,1,0,0,0,2515,157,1,0,0,0,2516,2517,5,80,0,0,2517,2518,5,369,0,0,2518,2519,3,162,81,0,2519,159,1,0,0,0,2520,2521,5,80,0,0,2521,2522,5,182,0,0,2522,2523,3,162,81,0,2523,161,1,0,0,0,2524,2525,5,269,0,0,2525,2534,5,132,0,0,2526,2534,5,315,0,0,2527,2534,5,150,0,0,2528,2529,5,333,0,0,2529,2531,7,25,0,0,2530,2532,3,148,74,0,2531,2530,1,0,0,0,2531,2532,1,0,0,0,2532,2534,1,0,0,0,2533,2524,1,0,0,0,2533,2526,1,0,0,0,2533,2527,1,0,0,0,2533,2528,1,0,0,0,2534,163,1,0,0,0,2535,2536,5,238,0,0,2536,2537,5,2,0,0,2537,2538,3,760,380,0,2538,2539,5,3,0,0,2539,165,1,0,0,0,2540,2541,5,285,0,0,2541,2542,5,147,0,0,2542,2543,3,818,409,0,2543,2544,5,2,0,0,2544,2549,3,168,84,0,2545,2546,5,6,0,0,2546,2548,3,168,84,0,2547,2545,1,0,0,0,2548,2551,1,0,0,0,2549,2547,1,0,0,0,2549,2550,1,0,0,0,2550,2552,1,0,0,0,2551,2549,1,0,0,0,2552,2553,5,3,0,0,2553,167,1,0,0,0,2554,2561,3,800,400,0,2555,2561,3,688,344,0,2556,2557,5,2,0,0,2557,2558,3,674,337,0,2558,2559,5,3,0,0,2559,2561,1,0,0,0,2560,2554,1,0,0,0,2560,2555,1,0,0,0,2560,2556,1,0,0,0,2561,2563,1,0,0,0,2562,2564,3,98,49,0,2563,2562,1,0,0,0,2563,2564,1,0,0,0,2564,2566,1,0,0,0,2565,2567,3,316,158,0,2566,2565,1,0,0,0,2566,2567,1,0,0,0,2567,169,1,0,0,0,2568,2569,5,100,0,0,2569,2570,3,818,409,0,2570,171,1,0,0,0,2571,2572,5,105,0,0,2572,2576,3,100,50,0,2573,2574,7,26,0,0,2574,2576,5,277,0,0,2575,2571,1,0,0,0,2575,2573,1,0,0,0,2576,173,1,0,0,0,2577,2578,5,80,0,0,2578,2584,5,161,0,0,2579,2585,5,191,0,0,2580,2581,5,182,0,0,2581,2585,5,320,0,0,2582,2583,5,292,0,0,2583,2585,5,320,0,0,2584,2579,1,0,0,0,2584,2580,1,0,0,0,2584,2582,1,0,0,0,2585,175,1,0,0,0,2586,2587,5,351,0,0,2587,2588,3,770,385,0,2588,177,1,0,0,0,2589,2590,5,100,0,0,2590,2591,5,226,0,0,2591,2592,3,176,88,0,2592,179,1,0,0,0,2593,2594,5,100,0,0,2594,2595,5,226,0,0,2595,2596,3,818,409,0,2596,181,1,0,0,0,2597,2598,5,46,0,0,2598,2603,5,342,0,0,2599,2601,3,294,147,0,2600,2599,1,0,0,0,2600,2601,1,0,0,0,2601,2602,1,0,0,0,2602,2604,3,316,158,0,2603,2600,1,0,0,0,2603,2604,1,0,0,0,2604,2606,1,0,0,0,2605,2607,3,144,72,0,2606,2605,1,0,0,0,2606,2607,1,0,0,0,2607,2608,1,0,0,0,2608,2618,5,80,0,0,2609,2614,3,732,366,0,2610,2611,5,6,0,0,2611,2613,3,732,366,0,2612,2610,1,0,0,0,2613,2616,1,0,0,0,2614,2612,1,0,0,0,2614,2615,1,0,0,0,2615,2619,1,0,0,0,2616,2614,1,0,0,0,2617,2619,3,730,365,0,2618,2609,1,0,0,0,2618,2617,1,0,0,0,2619,2620,1,0,0,0,2620,2621,3,610,305,0,2621,183,1,0,0,0,2622,2623,5,138,0,0,2623,2625,5,342,0,0,2624,2626,3,422,211,0,2625,2624,1,0,0,0,2625,2626,1,0,0,0,2626,2627,1,0,0,0,2627,2628,3,316,158,0,2628,2629,5,333,0,0,2629,2630,5,342,0,0,2630,2631,3,812,406,0,2631,185,1,0,0,0,2632,2634,5,46,0,0,2633,2635,3,122,61,0,2634,2633,1,0,0,0,2634,2635,1,0,0,0,2635,2636,1,0,0,0,2636,2638,5,92,0,0,2637,2639,3,294,147,0,2638,2637,1,0,0,0,2638,2639,1,0,0,0,2639,2640,1,0,0,0,2640,2641,3,188,94,0,2641,2642,5,36,0,0,2642,2644,3,560,280,0,2643,2645,3,190,95,0,2644,2643,1,0,0,0,2644,2645,1,0,0,0,2645,187,1,0,0,0,2646,2648,3,772,386,0,2647,2649,3,146,73,0,2648,2647,1,0,0,0,2648,2649,1,0,0,0,2649,2651,1,0,0,0,2650,2652,3,170,85,0,2651,2650,1,0,0,0,2651,2652,1,0,0,0,2652,2654,1,0,0,0,2653,2655,3,172,86,0,2654,2653,1,0,0,0,2654,2655,1,0,0,0,2655,2657,1,0,0,0,2656,2658,3,174,87,0,2657,2656,1,0,0,0,2657,2658,1,0,0,0,2658,2660,1,0,0,0,2659,2661,3,176,88,0,2660,2659,1,0,0,0,2660,2661,1,0,0,0,2661,189,1,0,0,0,2662,2666,5,105,0,0,2663,2667,5,174,0,0,2664,2665,5,269,0,0,2665,2667,5,174,0,0,2666,2663,1,0,0,0,2666,2664,1,0,0,0,2667,191,1,0,0,0,2668,2670,5,46,0,0,2669,2671,5,367,0,0,2670,2669,1,0,0,0,2670,2671,1,0,0,0,2671,2672,1,0,0,0,2672,2673,5,259,0,0,2673,2675,5,376,0,0,2674,2676,3,294,147,0,2675,2674,1,0,0,0,2675,2676,1,0,0,0,2676,2677,1,0,0,0,2677,2679,3,776,388,0,2678,2680,3,146,73,0,2679,2678,1,0,0,0,2679,2680,1,0,0,0,2680,2682,1,0,0,0,2681,2683,3,170,85,0,2682,2681,1,0,0,0,2682,2683,1,0,0,0,2683,2685,1,0,0,0,2684,2686,3,102,51,0,2685,2684,1,0,0,0,2685,2686,1,0,0,0,2686,2688,1,0,0,0,2687,2689,3,176,88,0,2688,2687,1,0,0,0,2688,2689,1,0,0,0,2689,2690,1,0,0,0,2690,2691,5,36,0,0,2691,2693,3,560,280,0,2692,2694,3,190,95,0,2693,2692,1,0,0,0,2693,2694,1,0,0,0,2694,193,1,0,0,0,2695,2696,5,305,0,0,2696,2697,5,259,0,0,2697,2699,5,376,0,0,2698,2700,5,109,0,0,2699,2698,1,0,0,0,2699,2700,1,0,0,0,2700,2701,1,0,0,0,2701,2703,3,778,389,0,2702,2704,3,190,95,0,2703,2702,1,0,0,0,2703,2704,1,0,0,0,2704,195,1,0,0,0,2705,2707,5,46,0,0,2706,2708,3,122,61,0,2707,2706,1,0,0,0,2707,2708,1,0,0,0,2708,2709,1,0,0,0,2709,2711,5,328,0,0,2710,2712,3,294,147,0,2711,2710,1,0,0,0,2711,2712,1,0,0,0,2712,2713,1,0,0,0,2713,2719,3,780,390,0,2714,2716,3,200,100,0,2715,2714,1,0,0,0,2716,2717,1,0,0,0,2717,2715,1,0,0,0,2717,2718,1,0,0,0,2718,2720,1,0,0,0,2719,2715,1,0,0,0,2719,2720,1,0,0,0,2720,197,1,0,0,0,2721,2722,5,138,0,0,2722,2724,5,328,0,0,2723,2725,3,422,211,0,2724,2723,1,0,0,0,2724,2725,1,0,0,0,2725,2726,1,0,0,0,2726,2728,3,780,390,0,2727,2729,3,200,100,0,2728,2727,1,0,0,0,2729,2730,1,0,0,0,2730,2728,1,0,0,0,2730,2731,1,0,0,0,2731,199,1,0,0,0,2732,2733,5,36,0,0,2733,2766,3,654,327,0,2734,2736,5,148,0,0,2735,2737,3,202,101,0,2736,2735,1,0,0,0,2736,2737,1,0,0,0,2737,2766,1,0,0,0,2738,2740,5,225,0,0,2739,2741,5,147,0,0,2740,2739,1,0,0,0,2740,2741,1,0,0,0,2741,2742,1,0,0,0,2742,2766,3,202,101,0,2743,2744,7,27,0,0,2744,2766,3,202,101,0,2745,2746,5,269,0,0,2746,2766,7,28,0,0,2747,2748,5,281,0,0,2748,2749,5,147,0,0,2749,2766,3,800,400,0,2750,2751,5,328,0,0,2751,2752,5,266,0,0,2752,2766,3,316,158,0,2753,2755,5,340,0,0,2754,2756,5,105,0,0,2755,2754,1,0,0,0,2755,2756,1,0,0,0,2756,2757,1,0,0,0,2757,2766,3,202,101,0,2758,2760,5,314,0,0,2759,2761,5,105,0,0,2760,2759,1,0,0,0,2760,2761,1,0,0,0,2761,2763,1,0,0,0,2762,2764,3,202,101,0,2763,2762,1,0,0,0,2763,2764,1,0,0,0,2764,2766,1,0,0,0,2765,2732,1,0,0,0,2765,2734,1,0,0,0,2765,2738,1,0,0,0,2765,2743,1,0,0,0,2765,2745,1,0,0,0,2765,2747,1,0,0,0,2765,2750,1,0,0,0,2765,2753,1,0,0,0,2765,2758,1,0,0,0,2766,201,1,0,0,0,2767,2769,7,29,0,0,2768,2767,1,0,0,0,2768,2769,1,0,0,0,2769,2770,1,0,0,0,2770,2773,5,573,0,0,2771,2773,3,812,406,0,2772,2768,1,0,0,0,2772,2771,1,0,0,0,2773,203,1,0,0,0,2774,2776,5,46,0,0,2775,2777,3,366,183,0,2776,2775,1,0,0,0,2776,2777,1,0,0,0,2777,2779,1,0,0,0,2778,2780,5,359,0,0,2779,2778,1,0,0,0,2779,2780,1,0,0,0,2780,2782,1,0,0,0,2781,2783,5,295,0,0,2782,2781,1,0,0,0,2782,2783,1,0,0,0,2783,2784,1,0,0,0,2784,2785,5,247,0,0,2785,2798,3,818,409,0,2786,2787,5,215,0,0,2787,2790,3,316,158,0,2788,2789,5,239,0,0,2789,2791,3,316,158,0,2790,2788,1,0,0,0,2790,2791,1,0,0,0,2791,2796,1,0,0,0,2792,2793,5,373,0,0,2793,2797,3,316,158,0,2794,2795,5,269,0,0,2795,2797,5,373,0,0,2796,2792,1,0,0,0,2796,2794,1,0,0,0,2796,2797,1,0,0,0,2797,2799,1,0,0,0,2798,2786,1,0,0,0,2798,2799,1,0,0,0,2799,205,1,0,0,0,2800,2801,5,46,0,0,2801,2804,3,176,88,0,2802,2803,5,282,0,0,2803,2805,3,814,407,0,2804,2802,1,0,0,0,2804,2805,1,0,0,0,2805,2806,1,0,0,0,2806,2807,5,255,0,0,2807,2809,3,808,404,0,2808,2810,3,102,51,0,2809,2808,1,0,0,0,2809,2810,1,0,0,0,2810,207,1,0,0,0,2811,2812,5,46,0,0,2812,2814,5,204,0,0,2813,2815,3,294,147,0,2814,2813,1,0,0,0,2814,2815,1,0,0,0,2815,2816,1,0,0,0,2816,2818,3,818,409,0,2817,2819,5,105,0,0,2818,2817,1,0,0,0,2818,2819,1,0,0,0,2819,2827,1,0,0,0,2820,2821,5,323,0,0,2821,2826,3,790,395,0,2822,2823,7,30,0,0,2823,2826,3,58,29,0,2824,2826,5,150,0,0,2825,2820,1,0,0,0,2825,2822,1,0,0,0,2825,2824,1,0,0,0,2826,2829,1,0,0,0,2827,2825,1,0,0,0,2827,2828,1,0,0,0,2828,209,1,0,0,0,2829,2827,1,0,0,0,2830,2831,5,138,0,0,2831,2832,5,204,0,0,2832,2833,3,818,409,0,2833,2838,5,369,0,0,2834,2835,5,94,0,0,2835,2837,3,58,29,0,2836,2834,1,0,0,0,2837,2840,1,0,0,0,2838,2836,1,0,0,0,2838,2839,1,0,0,0,2839,211,1,0,0,0,2840,2838,1,0,0,0,2841,2842,5,138,0,0,2842,2843,5,204,0,0,2843,2844,3,818,409,0,2844,2877,7,6,0,0,2845,2846,5,443,0,0,2846,2847,5,62,0,0,2847,2848,3,652,326,0,2848,2849,5,247,0,0,2849,2850,3,818,409,0,2850,2878,1,0,0,0,2851,2852,5,442,0,0,2852,2878,3,374,187,0,2853,2854,5,296,0,0,2854,2878,3,378,189,0,2855,2856,5,278,0,0,2856,2857,7,31,0,0,2857,2858,3,316,158,0,2858,2859,3,170,85,0,2859,2878,1,0,0,0,2860,2861,5,278,0,0,2861,2878,3,416,208,0,2862,2863,5,211,0,0,2863,2878,3,382,191,0,2864,2865,7,32,0,0,2865,2878,3,652,326,0,2866,2867,5,41,0,0,2867,2868,5,2,0,0,2868,2869,3,652,326,0,2869,2870,5,36,0,0,2870,2871,3,652,326,0,2871,2872,5,3,0,0,2872,2878,1,0,0,0,2873,2874,5,136,0,0,2874,2878,3,394,197,0,2875,2878,3,312,156,0,2876,2878,3,310,155,0,2877,2845,1,0,0,0,2877,2851,1,0,0,0,2877,2853,1,0,0,0,2877,2855,1,0,0,0,2877,2860,1,0,0,0,2877,2862,1,0,0,0,2877,2864,1,0,0,0,2877,2866,1,0,0,0,2877,2873,1,0,0,0,2877,2875,1,0,0,0,2877,2876,1,0,0,0,2878,213,1,0,0,0,2879,2880,5,46,0,0,2880,2881,5,63,0,0,2881,2882,5,174,0,0,2882,2883,5,381,0,0,2883,2889,3,818,409,0,2884,2886,3,216,108,0,2885,2884,1,0,0,0,2886,2887,1,0,0,0,2887,2885,1,0,0,0,2887,2888,1,0,0,0,2888,2890,1,0,0,0,2889,2885,1,0,0,0,2889,2890,1,0,0,0,2890,2892,1,0,0,0,2891,2893,3,220,110,0,2892,2891,1,0,0,0,2892,2893,1,0,0,0,2893,215,1,0,0,0,2894,2896,7,33,0,0,2895,2897,3,316,158,0,2896,2895,1,0,0,0,2896,2897,1,0,0,0,2897,2901,1,0,0,0,2898,2899,5,269,0,0,2899,2901,7,33,0,0,2900,2894,1,0,0,0,2900,2898,1,0,0,0,2901,217,1,0,0,0,2902,2903,5,138,0,0,2903,2904,5,63,0,0,2904,2905,5,174,0,0,2905,2906,5,381,0,0,2906,2920,3,818,409,0,2907,2909,3,216,108,0,2908,2907,1,0,0,0,2909,2910,1,0,0,0,2910,2908,1,0,0,0,2910,2911,1,0,0,0,2911,2913,1,0,0,0,2912,2908,1,0,0,0,2912,2913,1,0,0,0,2913,2914,1,0,0,0,2914,2921,3,222,111,0,2915,2917,3,216,108,0,2916,2915,1,0,0,0,2917,2918,1,0,0,0,2918,2916,1,0,0,0,2918,2919,1,0,0,0,2919,2921,1,0,0,0,2920,2912,1,0,0,0,2920,2916,1,0,0,0,2921,219,1,0,0,0,2922,2923,5,280,0,0,2923,2924,5,2,0,0,2924,2929,3,226,113,0,2925,2926,5,6,0,0,2926,2928,3,226,113,0,2927,2925,1,0,0,0,2928,2931,1,0,0,0,2929,2927,1,0,0,0,2929,2930,1,0,0,0,2930,2932,1,0,0,0,2931,2929,1,0,0,0,2932,2933,5,3,0,0,2933,221,1,0,0,0,2934,2935,5,280,0,0,2935,2936,5,2,0,0,2936,2941,3,224,112,0,2937,2938,5,6,0,0,2938,2940,3,224,112,0,2939,2937,1,0,0,0,2940,2943,1,0,0,0,2941,2939,1,0,0,0,2941,2942,1,0,0,0,2942,2944,1,0,0,0,2943,2941,1,0,0,0,2944,2945,5,3,0,0,2945,223,1,0,0,0,2946,2947,7,34,0,0,2947,2948,3,226,113,0,2948,225,1,0,0,0,2949,2950,3,824,412,0,2950,2951,3,808,404,0,2951,227,1,0,0,0,2952,2953,5,46,0,0,2953,2955,5,331,0,0,2954,2956,3,294,147,0,2955,2954,1,0,0,0,2955,2956,1,0,0,0,2956,2957,1,0,0,0,2957,2960,3,818,409,0,2958,2959,5,360,0,0,2959,2961,3,808,404,0,2960,2958,1,0,0,0,2960,2961,1,0,0,0,2961,2963,1,0,0,0,2962,2964,3,230,115,0,2963,2962,1,0,0,0,2963,2964,1,0,0,0,2964,2965,1,0,0,0,2965,2966,5,63,0,0,2966,2967,5,174,0,0,2967,2968,5,381,0,0,2968,2970,3,818,409,0,2969,2971,3,220,110,0,2970,2969,1,0,0,0,2970,2971,1,0,0,0,2971,229,1,0,0,0,2972,2975,5,375,0,0,2973,2976,3,808,404,0,2974,2976,5,78,0,0,2975,2973,1,0,0,0,2975,2974,1,0,0,0,2976,231,1,0,0,0,2977,2978,5,138,0,0,2978,2979,5,331,0,0,2979,2985,3,818,409,0,2980,2986,3,222,111,0,2981,2983,3,230,115,0,2982,2984,3,222,111,0,2983,2982,1,0,0,0,2983,2984,1,0,0,0,2984,2986,1,0,0,0,2985,2980,1,0,0,0,2985,2981,1,0,0,0,2986,233,1,0,0,0,2987,2988,5,46,0,0,2988,2989,5,63,0,0,2989,2991,5,92,0,0,2990,2992,3,294,147,0,2991,2990,1,0,0,0,2991,2992,1,0,0,0,2992,2993,1,0,0,0,2993,2994,3,772,386,0,2994,2996,5,2,0,0,2995,2997,3,126,63,0,2996,2995,1,0,0,0,2996,2997,1,0,0,0,2997,2998,1,0,0,0,2998,3e3,5,3,0,0,2999,3001,3,164,82,0,3e3,2999,1,0,0,0,3e3,3001,1,0,0,0,3001,3002,1,0,0,0,3002,3003,5,331,0,0,3003,3005,3,818,409,0,3004,3006,3,220,110,0,3005,3004,1,0,0,0,3005,3006,1,0,0,0,3006,3027,1,0,0,0,3007,3008,5,46,0,0,3008,3009,5,63,0,0,3009,3011,5,92,0,0,3010,3012,3,294,147,0,3011,3010,1,0,0,0,3011,3012,1,0,0,0,3012,3013,1,0,0,0,3013,3014,3,772,386,0,3014,3015,5,285,0,0,3015,3016,5,275,0,0,3016,3018,3,774,387,0,3017,3019,3,124,62,0,3018,3017,1,0,0,0,3018,3019,1,0,0,0,3019,3020,1,0,0,0,3020,3021,3,106,53,0,3021,3022,5,331,0,0,3022,3024,3,818,409,0,3023,3025,3,220,110,0,3024,3023,1,0,0,0,3024,3025,1,0,0,0,3025,3027,1,0,0,0,3026,2987,1,0,0,0,3026,3007,1,0,0,0,3027,235,1,0,0,0,3028,3029,5,444,0,0,3029,3030,5,63,0,0,3030,3031,5,323,0,0,3031,3041,3,790,395,0,3032,3033,5,74,0,0,3033,3036,5,94,0,0,3034,3036,5,59,0,0,3035,3032,1,0,0,0,3035,3034,1,0,0,0,3036,3037,1,0,0,0,3037,3038,5,2,0,0,3038,3039,3,628,314,0,3039,3040,5,3,0,0,3040,3042,1,0,0,0,3041,3035,1,0,0,0,3041,3042,1,0,0,0,3042,3043,1,0,0,0,3043,3044,5,64,0,0,3044,3045,5,331,0,0,3045,3046,3,818,409,0,3046,3047,5,71,0,0,3047,3049,3,818,409,0,3048,3050,3,220,110,0,3049,3048,1,0,0,0,3049,3050,1,0,0,0,3050,237,1,0,0,0,3051,3052,5,46,0,0,3052,3053,5,99,0,0,3053,3055,5,257,0,0,3054,3056,3,294,147,0,3055,3054,1,0,0,0,3055,3056,1,0,0,0,3056,3057,1,0,0,0,3057,3060,5,62,0,0,3058,3061,3,814,407,0,3059,3061,5,99,0,0,3060,3058,1,0,0,0,3060,3059,1,0,0,0,3061,3062,1,0,0,0,3062,3063,5,331,0,0,3063,3065,3,818,409,0,3064,3066,3,220,110,0,3065,3064,1,0,0,0,3065,3066,1,0,0,0,3066,239,1,0,0,0,3067,3068,5,138,0,0,3068,3069,5,99,0,0,3069,3070,5,257,0,0,3070,3073,5,62,0,0,3071,3074,3,814,407,0,3072,3074,5,99,0,0,3073,3071,1,0,0,0,3073,3072,1,0,0,0,3074,3075,1,0,0,0,3075,3076,5,331,0,0,3076,3077,3,818,409,0,3077,3078,3,222,111,0,3078,241,1,0,0,0,3079,3080,5,46,0,0,3080,3081,5,445,0,0,3081,3082,3,818,409,0,3082,3083,5,80,0,0,3083,3090,3,780,390,0,3084,3088,5,36,0,0,3085,3089,5,541,0,0,3086,3089,5,542,0,0,3087,3089,3,826,413,0,3088,3085,1,0,0,0,3088,3086,1,0,0,0,3088,3087,1,0,0,0,3089,3091,1,0,0,0,3090,3084,1,0,0,0,3090,3091,1,0,0,0,3091,3094,1,0,0,0,3092,3093,5,62,0,0,3093,3095,7,35,0,0,3094,3092,1,0,0,0,3094,3095,1,0,0,0,3095,3098,1,0,0,0,3096,3097,5,94,0,0,3097,3099,3,816,408,0,3098,3096,1,0,0,0,3098,3099,1,0,0,0,3099,3101,1,0,0,0,3100,3102,3,250,125,0,3101,3100,1,0,0,0,3101,3102,1,0,0,0,3102,3104,1,0,0,0,3103,3105,3,252,126,0,3104,3103,1,0,0,0,3104,3105,1,0,0,0,3105,243,1,0,0,0,3106,3107,5,138,0,0,3107,3108,5,445,0,0,3108,3109,3,818,409,0,3109,3110,5,80,0,0,3110,3113,3,780,390,0,3111,3112,5,94,0,0,3112,3114,3,816,408,0,3113,3111,1,0,0,0,3113,3114,1,0,0,0,3114,3116,1,0,0,0,3115,3117,3,250,125,0,3116,3115,1,0,0,0,3116,3117,1,0,0,0,3117,3119,1,0,0,0,3118,3120,3,252,126,0,3119,3118,1,0,0,0,3119,3120,1,0,0,0,3120,245,1,0,0,0,3121,3122,5,138,0,0,3122,3123,5,296,0,0,3123,3125,3,796,398,0,3124,3126,3,368,184,0,3125,3124,1,0,0,0,3125,3126,1,0,0,0,3126,3153,1,0,0,0,3127,3131,3,248,124,0,3128,3130,3,248,124,0,3129,3128,1,0,0,0,3130,3133,1,0,0,0,3131,3129,1,0,0,0,3131,3132,1,0,0,0,3132,3135,1,0,0,0,3133,3131,1,0,0,0,3134,3136,5,315,0,0,3135,3134,1,0,0,0,3135,3136,1,0,0,0,3136,3154,1,0,0,0,3137,3138,5,309,0,0,3138,3139,5,94,0,0,3139,3154,3,798,399,0,3140,3141,5,282,0,0,3141,3142,5,94,0,0,3142,3154,3,814,407,0,3143,3144,5,333,0,0,3144,3145,5,323,0,0,3145,3154,3,32,16,0,3146,3148,5,269,0,0,3147,3146,1,0,0,0,3147,3148,1,0,0,0,3148,3149,1,0,0,0,3149,3150,5,462,0,0,3150,3151,5,80,0,0,3151,3152,5,204,0,0,3152,3154,3,818,409,0,3153,3127,1,0,0,0,3153,3137,1,0,0,0,3153,3140,1,0,0,0,3153,3143,1,0,0,0,3153,3147,1,0,0,0,3154,247,1,0,0,0,3155,3157,5,205,0,0,3156,3155,1,0,0,0,3156,3157,1,0,0,0,3157,3158,1,0,0,0,3158,3159,5,327,0,0,3159,3166,5,243,0,0,3160,3162,5,205,0,0,3161,3160,1,0,0,0,3161,3162,1,0,0,0,3162,3163,1,0,0,0,3163,3164,5,327,0,0,3164,3166,5,181,0,0,3165,3156,1,0,0,0,3165,3161,1,0,0,0,3166,3185,1,0,0,0,3167,3168,5,333,0,0,3168,3169,3,818,409,0,3169,3172,7,36,0,0,3170,3173,3,818,409,0,3171,3173,5,53,0,0,3172,3170,1,0,0,0,3172,3171,1,0,0,0,3173,3185,1,0,0,0,3174,3175,5,333,0,0,3175,3176,3,818,409,0,3176,3177,5,64,0,0,3177,3178,5,434,0,0,3178,3185,1,0,0,0,3179,3182,5,313,0,0,3180,3183,3,818,409,0,3181,3183,5,30,0,0,3182,3180,1,0,0,0,3182,3181,1,0,0,0,3183,3185,1,0,0,0,3184,3165,1,0,0,0,3184,3167,1,0,0,0,3184,3174,1,0,0,0,3184,3179,1,0,0,0,3185,249,1,0,0,0,3186,3187,5,100,0,0,3187,3188,5,2,0,0,3188,3189,3,674,337,0,3189,3190,5,3,0,0,3190,251,1,0,0,0,3191,3192,5,105,0,0,3192,3193,5,42,0,0,3193,3194,5,2,0,0,3194,3195,3,674,337,0,3195,3196,5,3,0,0,3196,253,1,0,0,0,3197,3198,5,46,0,0,3198,3199,5,131,0,0,3199,3200,5,446,0,0,3200,3201,3,818,409,0,3201,3202,5,360,0,0,3202,3203,7,37,0,0,3203,3204,5,215,0,0,3204,3205,3,316,158,0,3205,255,1,0,0,0,3206,3208,5,46,0,0,3207,3209,3,366,183,0,3208,3207,1,0,0,0,3208,3209,1,0,0,0,3209,3210,1,0,0,0,3210,3211,5,357,0,0,3211,3212,3,818,409,0,3212,3213,3,258,129,0,3213,3214,3,260,130,0,3214,3215,5,80,0,0,3215,3227,3,774,387,0,3216,3223,5,447,0,0,3217,3218,7,38,0,0,3218,3220,7,39,0,0,3219,3221,5,36,0,0,3220,3219,1,0,0,0,3220,3221,1,0,0,0,3221,3222,1,0,0,0,3222,3224,3,818,409,0,3223,3217,1,0,0,0,3224,3225,1,0,0,0,3225,3223,1,0,0,0,3225,3226,1,0,0,0,3226,3228,1,0,0,0,3227,3216,1,0,0,0,3227,3228,1,0,0,0,3228,3234,1,0,0,0,3229,3231,5,62,0,0,3230,3232,5,192,0,0,3231,3230,1,0,0,0,3231,3232,1,0,0,0,3232,3233,1,0,0,0,3233,3235,7,40,0,0,3234,3229,1,0,0,0,3234,3235,1,0,0,0,3235,3237,1,0,0,0,3236,3238,3,264,132,0,3237,3236,1,0,0,0,3237,3238,1,0,0,0,3238,3239,1,0,0,0,3239,3240,5,202,0,0,3240,3241,3,266,133,0,3241,3242,5,2,0,0,3242,3243,3,268,134,0,3243,3244,5,3,0,0,3244,3285,1,0,0,0,3245,3247,5,46,0,0,3246,3248,3,366,183,0,3247,3246,1,0,0,0,3247,3248,1,0,0,0,3248,3250,1,0,0,0,3249,3251,5,45,0,0,3250,3249,1,0,0,0,3250,3251,1,0,0,0,3251,3252,1,0,0,0,3252,3253,5,357,0,0,3253,3254,3,818,409,0,3254,3255,3,258,129,0,3255,3256,3,260,130,0,3256,3257,5,80,0,0,3257,3260,3,774,387,0,3258,3259,5,64,0,0,3259,3261,3,780,390,0,3260,3258,1,0,0,0,3260,3261,1,0,0,0,3261,3265,1,0,0,0,3262,3264,3,272,136,0,3263,3262,1,0,0,0,3264,3267,1,0,0,0,3265,3263,1,0,0,0,3265,3266,1,0,0,0,3266,3273,1,0,0,0,3267,3265,1,0,0,0,3268,3270,5,62,0,0,3269,3271,5,192,0,0,3270,3269,1,0,0,0,3270,3271,1,0,0,0,3271,3272,1,0,0,0,3272,3274,7,40,0,0,3273,3268,1,0,0,0,3273,3274,1,0,0,0,3274,3276,1,0,0,0,3275,3277,3,264,132,0,3276,3275,1,0,0,0,3276,3277,1,0,0,0,3277,3278,1,0,0,0,3278,3279,5,202,0,0,3279,3280,3,266,133,0,3280,3281,5,2,0,0,3281,3282,3,268,134,0,3282,3283,5,3,0,0,3283,3285,1,0,0,0,3284,3206,1,0,0,0,3284,3245,1,0,0,0,3285,257,1,0,0,0,3286,3291,5,145,0,0,3287,3291,5,135,0,0,3288,3289,5,242,0,0,3289,3291,5,275,0,0,3290,3286,1,0,0,0,3290,3287,1,0,0,0,3290,3288,1,0,0,0,3291,259,1,0,0,0,3292,3297,3,262,131,0,3293,3294,5,82,0,0,3294,3296,3,262,131,0,3295,3293,1,0,0,0,3296,3299,1,0,0,0,3297,3295,1,0,0,0,3297,3298,1,0,0,0,3298,261,1,0,0,0,3299,3297,1,0,0,0,3300,3309,5,241,0,0,3301,3309,5,182,0,0,3302,3305,5,369,0,0,3303,3304,5,275,0,0,3304,3306,3,148,74,0,3305,3303,1,0,0,0,3305,3306,1,0,0,0,3306,3309,1,0,0,0,3307,3309,5,358,0,0,3308,3300,1,0,0,0,3308,3301,1,0,0,0,3308,3302,1,0,0,0,3308,3307,1,0,0,0,3309,263,1,0,0,0,3310,3311,5,102,0,0,3311,3312,5,2,0,0,3312,3313,3,674,337,0,3313,3314,5,3,0,0,3314,265,1,0,0,0,3315,3316,5,211,0,0,3316,3320,3,806,403,0,3317,3318,5,296,0,0,3318,3320,3,796,398,0,3319,3315,1,0,0,0,3319,3317,1,0,0,0,3320,267,1,0,0,0,3321,3324,3,270,135,0,3322,3324,1,0,0,0,3323,3321,1,0,0,0,3323,3322,1,0,0,0,3324,3329,1,0,0,0,3325,3326,5,6,0,0,3326,3328,3,270,135,0,3327,3325,1,0,0,0,3328,3331,1,0,0,0,3329,3327,1,0,0,0,3329,3330,1,0,0,0,3330,269,1,0,0,0,3331,3329,1,0,0,0,3332,3337,5,571,0,0,3333,3337,5,573,0,0,3334,3337,3,808,404,0,3335,3337,3,824,412,0,3336,3332,1,0,0,0,3336,3333,1,0,0,0,3336,3334,1,0,0,0,3336,3335,1,0,0,0,3337,271,1,0,0,0,3338,3340,5,77,0,0,3339,3338,1,0,0,0,3339,3340,1,0,0,0,3340,3341,1,0,0,0,3341,3349,5,54,0,0,3342,3343,5,69,0,0,3343,3349,7,9,0,0,3344,3345,5,77,0,0,3345,3349,5,371,0,0,3346,3347,5,269,0,0,3347,3349,5,228,0,0,3348,3339,1,0,0,0,3348,3342,1,0,0,0,3348,3344,1,0,0,0,3348,3346,1,0,0,0,3349,273,1,0,0,0,3350,3351,5,46,0,0,3351,3352,5,198,0,0,3352,3353,5,357,0,0,3353,3354,3,818,409,0,3354,3355,5,80,0,0,3355,3365,3,824,412,0,3356,3357,5,102,0,0,3357,3362,3,276,138,0,3358,3359,5,33,0,0,3359,3361,3,276,138,0,3360,3358,1,0,0,0,3361,3364,1,0,0,0,3362,3360,1,0,0,0,3362,3363,1,0,0,0,3363,3366,1,0,0,0,3364,3362,1,0,0,0,3365,3356,1,0,0,0,3365,3366,1,0,0,0,3366,3367,1,0,0,0,3367,3368,5,202,0,0,3368,3369,3,266,133,0,3369,3370,5,2,0,0,3370,3371,5,3,0,0,3371,275,1,0,0,0,3372,3373,3,818,409,0,3373,3374,5,68,0,0,3374,3375,5,2,0,0,3375,3379,3,808,404,0,3376,3378,3,462,231,0,3377,3376,1,0,0,0,3378,3381,1,0,0,0,3379,3377,1,0,0,0,3379,3380,1,0,0,0,3380,3382,1,0,0,0,3381,3379,1,0,0,0,3382,3383,5,3,0,0,3383,277,1,0,0,0,3384,3385,5,138,0,0,3385,3386,5,198,0,0,3386,3387,5,357,0,0,3387,3393,3,818,409,0,3388,3390,5,193,0,0,3389,3391,7,14,0,0,3390,3389,1,0,0,0,3390,3391,1,0,0,0,3391,3394,1,0,0,0,3392,3394,5,186,0,0,3393,3388,1,0,0,0,3393,3392,1,0,0,0,3394,279,1,0,0,0,3395,3396,5,46,0,0,3396,3397,5,140,0,0,3397,3398,3,316,158,0,3398,3399,5,42,0,0,3399,3400,5,2,0,0,3400,3401,3,674,337,0,3401,3405,5,3,0,0,3402,3404,3,272,136,0,3403,3402,1,0,0,0,3404,3407,1,0,0,0,3405,3403,1,0,0,0,3405,3406,1,0,0,0,3406,281,1,0,0,0,3407,3405,1,0,0,0,3408,3410,5,46,0,0,3409,3411,3,366,183,0,3410,3409,1,0,0,0,3410,3411,1,0,0,0,3411,3412,1,0,0,0,3412,3413,5,136,0,0,3413,3428,3,806,403,0,3414,3415,3,392,196,0,3415,3416,3,284,142,0,3416,3429,1,0,0,0,3417,3418,5,2,0,0,3418,3423,3,290,145,0,3419,3420,5,6,0,0,3420,3422,3,290,145,0,3421,3419,1,0,0,0,3422,3425,1,0,0,0,3423,3421,1,0,0,0,3423,3424,1,0,0,0,3424,3426,1,0,0,0,3425,3423,1,0,0,0,3426,3427,5,3,0,0,3427,3429,1,0,0,0,3428,3414,1,0,0,0,3428,3417,1,0,0,0,3429,3487,1,0,0,0,3430,3431,5,46,0,0,3431,3432,5,278,0,0,3432,3433,3,414,207,0,3433,3434,3,284,142,0,3434,3487,1,0,0,0,3435,3436,5,46,0,0,3436,3437,5,360,0,0,3437,3438,3,316,158,0,3438,3456,5,36,0,0,3439,3441,5,2,0,0,3440,3442,3,642,321,0,3441,3440,1,0,0,0,3441,3442,1,0,0,0,3442,3443,1,0,0,0,3443,3457,5,3,0,0,3444,3445,5,196,0,0,3445,3453,5,2,0,0,3446,3450,3,808,404,0,3447,3449,3,462,231,0,3448,3447,1,0,0,0,3449,3452,1,0,0,0,3450,3448,1,0,0,0,3450,3451,1,0,0,0,3451,3454,1,0,0,0,3452,3450,1,0,0,0,3453,3446,1,0,0,0,3453,3454,1,0,0,0,3454,3455,1,0,0,0,3455,3457,5,3,0,0,3456,3439,1,0,0,0,3456,3444,1,0,0,0,3457,3487,1,0,0,0,3458,3459,5,46,0,0,3459,3460,5,360,0,0,3460,3466,3,316,158,0,3461,3462,5,36,0,0,3462,3464,5,299,0,0,3463,3461,1,0,0,0,3463,3464,1,0,0,0,3464,3465,1,0,0,0,3465,3467,3,284,142,0,3466,3463,1,0,0,0,3466,3467,1,0,0,0,3467,3487,1,0,0,0,3468,3469,5,46,0,0,3469,3470,5,355,0,0,3470,3471,5,325,0,0,3471,3472,7,41,0,0,3472,3473,3,316,158,0,3473,3474,3,284,142,0,3474,3487,1,0,0,0,3475,3476,5,46,0,0,3476,3478,5,108,0,0,3477,3479,3,294,147,0,3478,3477,1,0,0,0,3478,3479,1,0,0,0,3479,3480,1,0,0,0,3480,3484,3,316,158,0,3481,3485,3,284,142,0,3482,3483,5,64,0,0,3483,3485,3,316,158,0,3484,3481,1,0,0,0,3484,3482,1,0,0,0,3485,3487,1,0,0,0,3486,3408,1,0,0,0,3486,3430,1,0,0,0,3486,3435,1,0,0,0,3486,3458,1,0,0,0,3486,3468,1,0,0,0,3486,3475,1,0,0,0,3487,283,1,0,0,0,3488,3489,5,2,0,0,3489,3494,3,286,143,0,3490,3491,5,6,0,0,3491,3493,3,286,143,0,3492,3490,1,0,0,0,3493,3496,1,0,0,0,3494,3492,1,0,0,0,3494,3495,1,0,0,0,3495,3497,1,0,0,0,3496,3494,1,0,0,0,3497,3498,5,3,0,0,3498,285,1,0,0,0,3499,3502,3,824,412,0,3500,3501,5,10,0,0,3501,3503,3,288,144,0,3502,3500,1,0,0,0,3502,3503,1,0,0,0,3503,287,1,0,0,0,3504,3511,3,388,194,0,3505,3511,3,834,417,0,3506,3511,3,726,363,0,3507,3511,3,202,101,0,3508,3511,3,808,404,0,3509,3511,5,407,0,0,3510,3504,1,0,0,0,3510,3505,1,0,0,0,3510,3506,1,0,0,0,3510,3507,1,0,0,0,3510,3508,1,0,0,0,3510,3509,1,0,0,0,3511,289,1,0,0,0,3512,3513,3,826,413,0,3513,3514,5,10,0,0,3514,3515,3,288,144,0,3515,291,1,0,0,0,3516,3517,5,138,0,0,3517,3518,5,360,0,0,3518,3519,3,316,158,0,3519,3520,5,133,0,0,3520,3522,5,450,0,0,3521,3523,3,294,147,0,3522,3521,1,0,0,0,3522,3523,1,0,0,0,3523,3524,1,0,0,0,3524,3527,3,808,404,0,3525,3526,7,42,0,0,3526,3528,3,808,404,0,3527,3525,1,0,0,0,3527,3528,1,0,0,0,3528,3539,1,0,0,0,3529,3530,5,138,0,0,3530,3531,5,360,0,0,3531,3532,3,316,158,0,3532,3533,5,309,0,0,3533,3534,5,450,0,0,3534,3535,3,808,404,0,3535,3536,5,94,0,0,3536,3537,3,808,404,0,3537,3539,1,0,0,0,3538,3516,1,0,0,0,3538,3529,1,0,0,0,3539,293,1,0,0,0,3540,3541,5,220,0,0,3541,3542,5,77,0,0,3542,3543,5,396,0,0,3543,295,1,0,0,0,3544,3545,5,46,0,0,3545,3546,5,278,0,0,3546,3547,5,156,0,0,3547,3549,3,316,158,0,3548,3550,5,53,0,0,3549,3548,1,0,0,0,3549,3550,1,0,0,0,3550,3551,1,0,0,0,3551,3552,5,62,0,0,3552,3553,5,360,0,0,3553,3554,3,652,326,0,3554,3557,3,170,85,0,3555,3556,5,206,0,0,3556,3558,3,316,158,0,3557,3555,1,0,0,0,3557,3558,1,0,0,0,3558,3559,1,0,0,0,3559,3560,5,36,0,0,3560,3565,3,298,149,0,3561,3562,5,6,0,0,3562,3564,3,298,149,0,3563,3561,1,0,0,0,3564,3567,1,0,0,0,3565,3563,1,0,0,0,3565,3566,1,0,0,0,3566,297,1,0,0,0,3567,3565,1,0,0,0,3568,3569,5,278,0,0,3569,3570,5,571,0,0,3570,3572,3,414,207,0,3571,3573,3,412,206,0,3572,3571,1,0,0,0,3572,3573,1,0,0,0,3573,3581,1,0,0,0,3574,3579,5,62,0,0,3575,3580,5,325,0,0,3576,3577,5,83,0,0,3577,3578,5,147,0,0,3578,3580,3,316,158,0,3579,3575,1,0,0,0,3579,3576,1,0,0,0,3580,3582,1,0,0,0,3581,3574,1,0,0,0,3581,3582,1,0,0,0,3582,3584,1,0,0,0,3583,3585,5,302,0,0,3584,3583,1,0,0,0,3584,3585,1,0,0,0,3585,3595,1,0,0,0,3586,3587,5,211,0,0,3587,3589,5,571,0,0,3588,3590,3,528,264,0,3589,3588,1,0,0,0,3589,3590,1,0,0,0,3590,3591,1,0,0,0,3591,3595,3,382,191,0,3592,3593,5,345,0,0,3593,3595,3,652,326,0,3594,3568,1,0,0,0,3594,3586,1,0,0,0,3594,3592,1,0,0,0,3595,299,1,0,0,0,3596,3597,5,46,0,0,3597,3598,5,278,0,0,3598,3599,5,206,0,0,3599,3600,3,316,158,0,3600,3601,3,170,85,0,3601,301,1,0,0,0,3602,3603,5,138,0,0,3603,3604,5,278,0,0,3604,3605,5,206,0,0,3605,3606,3,316,158,0,3606,3625,3,170,85,0,3607,3608,5,133,0,0,3608,3613,3,298,149,0,3609,3610,5,6,0,0,3610,3612,3,298,149,0,3611,3609,1,0,0,0,3612,3615,1,0,0,0,3613,3611,1,0,0,0,3613,3614,1,0,0,0,3614,3626,1,0,0,0,3615,3613,1,0,0,0,3616,3617,5,191,0,0,3617,3622,3,304,152,0,3618,3619,5,6,0,0,3619,3621,3,304,152,0,3620,3618,1,0,0,0,3621,3624,1,0,0,0,3622,3620,1,0,0,0,3622,3623,1,0,0,0,3623,3626,1,0,0,0,3624,3622,1,0,0,0,3625,3607,1,0,0,0,3625,3616,1,0,0,0,3626,303,1,0,0,0,3627,3628,7,43,0,0,3628,3629,5,571,0,0,3629,3630,3,528,264,0,3630,305,1,0,0,0,3631,3632,5,301,0,0,3632,3633,5,281,0,0,3633,3634,5,147,0,0,3634,3635,3,816,408,0,3635,3636,5,94,0,0,3636,3637,3,814,407,0,3637,307,1,0,0,0,3638,3661,5,191,0,0,3639,3662,5,328,0,0,3640,3662,5,226,0,0,3641,3662,5,108,0,0,3642,3662,5,168,0,0,3643,3662,5,342,0,0,3644,3662,5,452,0,0,3645,3662,5,331,0,0,3646,3647,5,131,0,0,3647,3662,5,446,0,0,3648,3649,5,198,0,0,3649,3662,5,357,0,0,3650,3662,5,204,0,0,3651,3653,5,295,0,0,3652,3651,1,0,0,0,3652,3653,1,0,0,0,3653,3654,1,0,0,0,3654,3662,5,247,0,0,3655,3656,5,63,0,0,3656,3657,5,174,0,0,3657,3662,5,381,0,0,3658,3659,5,355,0,0,3659,3660,5,325,0,0,3660,3662,7,41,0,0,3661,3639,1,0,0,0,3661,3640,1,0,0,0,3661,3641,1,0,0,0,3661,3642,1,0,0,0,3661,3643,1,0,0,0,3661,3644,1,0,0,0,3661,3645,1,0,0,0,3661,3646,1,0,0,0,3661,3648,1,0,0,0,3661,3650,1,0,0,0,3661,3652,1,0,0,0,3661,3655,1,0,0,0,3661,3658,1,0,0,0,3662,3664,1,0,0,0,3663,3665,3,422,211,0,3664,3663,1,0,0,0,3664,3665,1,0,0,0,3665,3666,1,0,0,0,3666,3668,3,784,392,0,3667,3669,3,96,48,0,3668,3667,1,0,0,0,3668,3669,1,0,0,0,3669,3846,1,0,0,0,3670,3672,5,191,0,0,3671,3673,5,259,0,0,3672,3671,1,0,0,0,3672,3673,1,0,0,0,3673,3674,1,0,0,0,3674,3676,5,376,0,0,3675,3677,3,422,211,0,3676,3675,1,0,0,0,3676,3677,1,0,0,0,3677,3678,1,0,0,0,3678,3683,3,778,389,0,3679,3680,5,6,0,0,3680,3682,3,778,389,0,3681,3679,1,0,0,0,3682,3685,1,0,0,0,3683,3681,1,0,0,0,3683,3684,1,0,0,0,3684,3687,1,0,0,0,3685,3683,1,0,0,0,3686,3688,3,96,48,0,3687,3686,1,0,0,0,3687,3688,1,0,0,0,3688,3846,1,0,0,0,3689,3691,5,191,0,0,3690,3692,5,63,0,0,3691,3690,1,0,0,0,3691,3692,1,0,0,0,3692,3693,1,0,0,0,3693,3695,5,92,0,0,3694,3696,3,422,211,0,3695,3694,1,0,0,0,3695,3696,1,0,0,0,3696,3697,1,0,0,0,3697,3699,3,762,381,0,3698,3700,3,96,48,0,3699,3698,1,0,0,0,3699,3700,1,0,0,0,3700,3846,1,0,0,0,3701,3702,5,191,0,0,3702,3704,5,323,0,0,3703,3705,3,422,211,0,3704,3703,1,0,0,0,3704,3705,1,0,0,0,3705,3706,1,0,0,0,3706,3708,3,764,382,0,3707,3709,3,96,48,0,3708,3707,1,0,0,0,3708,3709,1,0,0,0,3709,3846,1,0,0,0,3710,3711,5,191,0,0,3711,3713,7,44,0,0,3712,3714,3,422,211,0,3713,3712,1,0,0,0,3713,3714,1,0,0,0,3714,3715,1,0,0,0,3715,3716,3,818,409,0,3716,3717,5,80,0,0,3717,3719,3,316,158,0,3718,3720,3,96,48,0,3719,3718,1,0,0,0,3719,3720,1,0,0,0,3720,3846,1,0,0,0,3721,3722,5,191,0,0,3722,3724,7,32,0,0,3723,3725,3,422,211,0,3724,3723,1,0,0,0,3724,3725,1,0,0,0,3725,3726,1,0,0,0,3726,3731,3,652,326,0,3727,3728,5,6,0,0,3728,3730,3,652,326,0,3729,3727,1,0,0,0,3730,3733,1,0,0,0,3731,3729,1,0,0,0,3731,3732,1,0,0,0,3732,3735,1,0,0,0,3733,3731,1,0,0,0,3734,3736,3,96,48,0,3735,3734,1,0,0,0,3735,3736,1,0,0,0,3736,3846,1,0,0,0,3737,3738,5,191,0,0,3738,3739,5,226,0,0,3739,3741,5,109,0,0,3740,3742,3,422,211,0,3741,3740,1,0,0,0,3741,3742,1,0,0,0,3742,3743,1,0,0,0,3743,3745,3,314,157,0,3744,3746,3,96,48,0,3745,3744,1,0,0,0,3745,3746,1,0,0,0,3746,3846,1,0,0,0,3747,3748,5,191,0,0,3748,3750,5,41,0,0,3749,3751,3,422,211,0,3750,3749,1,0,0,0,3750,3751,1,0,0,0,3751,3752,1,0,0,0,3752,3753,5,2,0,0,3753,3754,3,652,326,0,3754,3755,5,36,0,0,3755,3756,3,652,326,0,3756,3758,5,3,0,0,3757,3759,3,96,48,0,3758,3757,1,0,0,0,3758,3759,1,0,0,0,3759,3846,1,0,0,0,3760,3761,5,191,0,0,3761,3762,5,278,0,0,3762,3764,7,31,0,0,3763,3765,3,422,211,0,3764,3763,1,0,0,0,3764,3765,1,0,0,0,3765,3766,1,0,0,0,3766,3767,3,316,158,0,3767,3769,3,170,85,0,3768,3770,3,96,48,0,3769,3768,1,0,0,0,3769,3770,1,0,0,0,3770,3846,1,0,0,0,3771,3772,5,191,0,0,3772,3773,5,281,0,0,3773,3774,5,147,0,0,3774,3776,3,816,408,0,3775,3777,3,96,48,0,3776,3775,1,0,0,0,3776,3777,1,0,0,0,3777,3846,1,0,0,0,3778,3779,5,191,0,0,3779,3781,5,451,0,0,3780,3782,3,422,211,0,3781,3780,1,0,0,0,3781,3782,1,0,0,0,3782,3783,1,0,0,0,3783,3785,3,818,409,0,3784,3786,3,96,48,0,3785,3784,1,0,0,0,3785,3786,1,0,0,0,3786,3846,1,0,0,0,3787,3788,5,191,0,0,3788,3790,5,351,0,0,3789,3791,3,422,211,0,3790,3789,1,0,0,0,3790,3791,1,0,0,0,3791,3792,1,0,0,0,3792,3846,3,770,385,0,3793,3794,5,191,0,0,3794,3796,5,443,0,0,3795,3797,3,422,211,0,3796,3795,1,0,0,0,3796,3797,1,0,0,0,3797,3798,1,0,0,0,3798,3799,5,62,0,0,3799,3800,3,652,326,0,3800,3801,5,247,0,0,3801,3803,3,818,409,0,3802,3804,3,96,48,0,3803,3802,1,0,0,0,3803,3804,1,0,0,0,3804,3846,1,0,0,0,3805,3806,5,191,0,0,3806,3808,7,45,0,0,3807,3809,3,422,211,0,3808,3807,1,0,0,0,3808,3809,1,0,0,0,3809,3810,1,0,0,0,3810,3846,3,816,408,0,3811,3812,5,191,0,0,3812,3813,5,99,0,0,3813,3815,5,257,0,0,3814,3816,3,422,211,0,3815,3814,1,0,0,0,3815,3816,1,0,0,0,3816,3817,1,0,0,0,3817,3820,5,62,0,0,3818,3821,3,814,407,0,3819,3821,5,99,0,0,3820,3818,1,0,0,0,3820,3819,1,0,0,0,3821,3822,1,0,0,0,3822,3823,5,331,0,0,3823,3846,3,818,409,0,3824,3825,5,191,0,0,3825,3827,5,175,0,0,3826,3828,3,422,211,0,3827,3826,1,0,0,0,3827,3828,1,0,0,0,3828,3829,1,0,0,0,3829,3843,3,788,394,0,3830,3832,5,105,0,0,3831,3830,1,0,0,0,3831,3832,1,0,0,0,3832,3833,1,0,0,0,3833,3834,5,2,0,0,3834,3839,5,209,0,0,3835,3836,5,6,0,0,3836,3838,5,209,0,0,3837,3835,1,0,0,0,3838,3841,1,0,0,0,3839,3837,1,0,0,0,3839,3840,1,0,0,0,3840,3842,1,0,0,0,3841,3839,1,0,0,0,3842,3844,5,3,0,0,3843,3831,1,0,0,0,3843,3844,1,0,0,0,3844,3846,1,0,0,0,3845,3638,1,0,0,0,3845,3670,1,0,0,0,3845,3689,1,0,0,0,3845,3701,1,0,0,0,3845,3710,1,0,0,0,3845,3721,1,0,0,0,3845,3737,1,0,0,0,3845,3747,1,0,0,0,3845,3760,1,0,0,0,3845,3771,1,0,0,0,3845,3778,1,0,0,0,3845,3787,1,0,0,0,3845,3793,1,0,0,0,3845,3805,1,0,0,0,3845,3811,1,0,0,0,3845,3824,1,0,0,0,3846,309,1,0,0,0,3847,3849,5,63,0,0,3848,3847,1,0,0,0,3848,3849,1,0,0,0,3849,3850,1,0,0,0,3850,3851,5,92,0,0,3851,3864,3,774,387,0,3852,3854,5,259,0,0,3853,3852,1,0,0,0,3853,3854,1,0,0,0,3854,3855,1,0,0,0,3855,3856,5,376,0,0,3856,3864,3,778,389,0,3857,3858,7,46,0,0,3858,3864,3,316,158,0,3859,3860,5,355,0,0,3860,3861,5,325,0,0,3861,3862,7,41,0,0,3862,3864,3,316,158,0,3863,3848,1,0,0,0,3863,3853,1,0,0,0,3863,3857,1,0,0,0,3863,3859,1,0,0,0,3864,311,1,0,0,0,3865,3866,5,198,0,0,3866,3882,5,357,0,0,3867,3868,5,131,0,0,3868,3882,5,446,0,0,3869,3882,5,204,0,0,3870,3882,5,452,0,0,3871,3882,5,331,0,0,3872,3882,5,318,0,0,3873,3882,5,451,0,0,3874,3875,5,63,0,0,3875,3876,5,174,0,0,3876,3882,5,381,0,0,3877,3879,5,295,0,0,3878,3877,1,0,0,0,3878,3879,1,0,0,0,3879,3880,1,0,0,0,3880,3882,5,247,0,0,3881,3865,1,0,0,0,3881,3867,1,0,0,0,3881,3869,1,0,0,0,3881,3870,1,0,0,0,3881,3871,1,0,0,0,3881,3872,1,0,0,0,3881,3873,1,0,0,0,3881,3874,1,0,0,0,3881,3878,1,0,0,0,3882,3883,1,0,0,0,3883,3890,3,818,409,0,3884,3885,5,323,0,0,3885,3890,3,790,395,0,3886,3887,5,175,0,0,3887,3890,3,788,394,0,3888,3890,3,176,88,0,3889,3881,1,0,0,0,3889,3884,1,0,0,0,3889,3886,1,0,0,0,3889,3888,1,0,0,0,3890,313,1,0,0,0,3891,3896,3,316,158,0,3892,3893,5,6,0,0,3893,3895,3,316,158,0,3894,3892,1,0,0,0,3895,3898,1,0,0,0,3896,3894,1,0,0,0,3896,3897,1,0,0,0,3897,315,1,0,0,0,3898,3896,1,0,0,0,3899,3901,3,818,409,0,3900,3902,3,318,159,0,3901,3900,1,0,0,0,3901,3902,1,0,0,0,3902,317,1,0,0,0,3903,3904,5,11,0,0,3904,3906,3,824,412,0,3905,3903,1,0,0,0,3906,3907,1,0,0,0,3907,3905,1,0,0,0,3907,3908,1,0,0,0,3908,319,1,0,0,0,3909,3911,5,358,0,0,3910,3912,5,92,0,0,3911,3910,1,0,0,0,3911,3912,1,0,0,0,3912,3913,1,0,0,0,3913,3918,3,322,161,0,3914,3915,5,6,0,0,3915,3917,3,322,161,0,3916,3914,1,0,0,0,3917,3920,1,0,0,0,3918,3916,1,0,0,0,3918,3919,1,0,0,0,3919,3923,1,0,0,0,3920,3918,1,0,0,0,3921,3922,7,47,0,0,3922,3924,5,219,0,0,3923,3921,1,0,0,0,3923,3924,1,0,0,0,3924,3926,1,0,0,0,3925,3927,3,96,48,0,3926,3925,1,0,0,0,3926,3927,1,0,0,0,3927,321,1,0,0,0,3928,3930,5,81,0,0,3929,3928,1,0,0,0,3929,3930,1,0,0,0,3930,3931,1,0,0,0,3931,3933,3,774,387,0,3932,3934,5,9,0,0,3933,3932,1,0,0,0,3933,3934,1,0,0,0,3934,323,1,0,0,0,3935,3936,5,159,0,0,3936,3995,5,80,0,0,3937,3996,3,310,155,0,3938,3996,3,312,156,0,3939,3940,5,44,0,0,3940,3942,3,818,409,0,3941,3943,3,318,159,0,3942,3941,1,0,0,0,3942,3943,1,0,0,0,3943,3944,1,0,0,0,3944,3945,5,11,0,0,3945,3946,3,800,400,0,3946,3996,1,0,0,0,3947,3948,7,32,0,0,3948,3996,3,652,326,0,3949,3950,5,136,0,0,3950,3996,3,394,197,0,3951,3952,5,211,0,0,3952,3996,3,382,191,0,3953,3954,5,278,0,0,3954,3996,3,416,208,0,3955,3956,5,45,0,0,3956,3957,3,818,409,0,3957,3963,5,80,0,0,3958,3964,3,774,387,0,3959,3961,5,189,0,0,3960,3959,1,0,0,0,3960,3961,1,0,0,0,3961,3962,1,0,0,0,3962,3964,3,316,158,0,3963,3958,1,0,0,0,3963,3960,1,0,0,0,3964,3996,1,0,0,0,3965,3966,7,44,0,0,3966,3967,3,818,409,0,3967,3968,5,80,0,0,3968,3969,3,316,158,0,3969,3996,1,0,0,0,3970,3971,5,296,0,0,3971,3996,3,378,189,0,3972,3973,5,442,0,0,3973,3996,3,374,187,0,3974,3975,5,443,0,0,3975,3976,5,62,0,0,3976,3977,3,652,326,0,3977,3978,5,247,0,0,3978,3979,3,818,409,0,3979,3996,1,0,0,0,3980,3981,5,278,0,0,3981,3982,7,31,0,0,3982,3983,3,316,158,0,3983,3984,3,170,85,0,3984,3996,1,0,0,0,3985,3986,5,248,0,0,3986,3987,5,274,0,0,3987,3996,3,202,101,0,3988,3989,5,41,0,0,3989,3990,5,2,0,0,3990,3991,3,652,326,0,3991,3992,5,36,0,0,3992,3993,3,652,326,0,3993,3994,5,3,0,0,3994,3996,1,0,0,0,3995,3937,1,0,0,0,3995,3938,1,0,0,0,3995,3939,1,0,0,0,3995,3947,1,0,0,0,3995,3949,1,0,0,0,3995,3951,1,0,0,0,3995,3953,1,0,0,0,3995,3955,1,0,0,0,3995,3965,1,0,0,0,3995,3970,1,0,0,0,3995,3972,1,0,0,0,3995,3974,1,0,0,0,3995,3980,1,0,0,0,3995,3985,1,0,0,0,3995,3988,1,0,0,0,3996,3997,1,0,0,0,3997,4e3,5,116,0,0,3998,4001,3,808,404,0,3999,4001,5,78,0,0,4e3,3998,1,0,0,0,4e3,3999,1,0,0,0,4001,325,1,0,0,0,4002,4003,5,327,0,0,4003,4006,5,246,0,0,4004,4005,5,62,0,0,4005,4007,3,58,29,0,4006,4004,1,0,0,0,4006,4007,1,0,0,0,4007,4008,1,0,0,0,4008,4026,5,80,0,0,4009,4010,7,32,0,0,4010,4027,3,652,326,0,4011,4012,5,136,0,0,4012,4027,3,394,197,0,4013,4014,5,44,0,0,4014,4027,3,800,400,0,4015,4016,5,211,0,0,4016,4027,3,382,191,0,4017,4018,5,248,0,0,4018,4019,5,274,0,0,4019,4027,3,202,101,0,4020,4021,5,296,0,0,4021,4027,3,378,189,0,4022,4023,5,442,0,0,4023,4027,3,374,187,0,4024,4027,3,310,155,0,4025,4027,3,312,156,0,4026,4009,1,0,0,0,4026,4011,1,0,0,0,4026,4013,1,0,0,0,4026,4015,1,0,0,0,4026,4017,1,0,0,0,4026,4020,1,0,0,0,4026,4022,1,0,0,0,4026,4024,1,0,0,0,4026,4025,1,0,0,0,4027,4028,1,0,0,0,4028,4031,5,116,0,0,4029,4032,3,808,404,0,4030,4032,5,78,0,0,4031,4029,1,0,0,0,4031,4030,1,0,0,0,4032,327,1,0,0,0,4033,4034,7,48,0,0,4034,4035,3,330,165,0,4035,329,1,0,0,0,4036,4038,7,49,0,0,4037,4036,1,0,0,0,4037,4038,1,0,0,0,4038,4040,1,0,0,0,4039,4041,3,332,166,0,4040,4039,1,0,0,0,4040,4041,1,0,0,0,4041,4042,1,0,0,0,4042,4080,3,818,409,0,4043,4045,7,50,0,0,4044,4043,1,0,0,0,4044,4045,1,0,0,0,4045,4046,1,0,0,0,4046,4048,3,812,406,0,4047,4049,3,332,166,0,4048,4047,1,0,0,0,4048,4049,1,0,0,0,4049,4050,1,0,0,0,4050,4051,3,818,409,0,4051,4080,1,0,0,0,4052,4054,5,210,0,0,4053,4055,3,812,406,0,4054,4053,1,0,0,0,4054,4055,1,0,0,0,4055,4057,1,0,0,0,4056,4058,3,332,166,0,4057,4056,1,0,0,0,4057,4058,1,0,0,0,4058,4059,1,0,0,0,4059,4080,3,818,409,0,4060,4062,5,210,0,0,4061,4060,1,0,0,0,4061,4062,1,0,0,0,4062,4063,1,0,0,0,4063,4065,5,30,0,0,4064,4066,3,332,166,0,4065,4064,1,0,0,0,4065,4066,1,0,0,0,4066,4067,1,0,0,0,4067,4080,3,818,409,0,4068,4073,5,144,0,0,4069,4071,5,30,0,0,4070,4069,1,0,0,0,4070,4071,1,0,0,0,4071,4074,1,0,0,0,4072,4074,3,812,406,0,4073,4070,1,0,0,0,4073,4072,1,0,0,0,4074,4076,1,0,0,0,4075,4077,3,332,166,0,4076,4075,1,0,0,0,4076,4077,1,0,0,0,4077,4078,1,0,0,0,4078,4080,3,818,409,0,4079,4037,1,0,0,0,4079,4044,1,0,0,0,4079,4052,1,0,0,0,4079,4061,1,0,0,0,4079,4068,1,0,0,0,4080,331,1,0,0,0,4081,4082,7,51,0,0,4082,333,1,0,0,0,4083,4084,5,65,0,0,4084,4085,3,338,169,0,4085,4086,5,80,0,0,4086,4087,3,344,172,0,4087,4088,5,94,0,0,4088,4092,3,346,173,0,4089,4090,5,105,0,0,4090,4091,5,65,0,0,4091,4093,5,279,0,0,4092,4089,1,0,0,0,4092,4093,1,0,0,0,4093,335,1,0,0,0,4094,4098,5,317,0,0,4095,4096,5,65,0,0,4096,4097,5,279,0,0,4097,4099,5,62,0,0,4098,4095,1,0,0,0,4098,4099,1,0,0,0,4099,4100,1,0,0,0,4100,4101,3,338,169,0,4101,4102,5,80,0,0,4102,4103,3,344,172,0,4103,4104,5,64,0,0,4104,4106,3,346,173,0,4105,4107,3,96,48,0,4106,4105,1,0,0,0,4106,4107,1,0,0,0,4107,337,1,0,0,0,4108,4113,3,342,171,0,4109,4110,5,6,0,0,4110,4112,3,342,171,0,4111,4109,1,0,0,0,4112,4115,1,0,0,0,4113,4111,1,0,0,0,4113,4114,1,0,0,0,4114,4132,1,0,0,0,4115,4113,1,0,0,0,4116,4118,5,30,0,0,4117,4119,5,294,0,0,4118,4117,1,0,0,0,4118,4119,1,0,0,0,4119,4121,1,0,0,0,4120,4122,3,144,72,0,4121,4120,1,0,0,0,4121,4122,1,0,0,0,4122,4132,1,0,0,0,4123,4128,3,340,170,0,4124,4125,5,6,0,0,4125,4127,3,340,170,0,4126,4124,1,0,0,0,4127,4130,1,0,0,0,4128,4126,1,0,0,0,4128,4129,1,0,0,0,4129,4132,1,0,0,0,4130,4128,1,0,0,0,4131,4108,1,0,0,0,4131,4116,1,0,0,0,4131,4123,1,0,0,0,4132,339,1,0,0,0,4133,4134,7,52,0,0,4134,341,1,0,0,0,4135,4140,5,88,0,0,4136,4140,5,86,0,0,4137,4140,5,46,0,0,4138,4140,3,818,409,0,4139,4135,1,0,0,0,4139,4136,1,0,0,0,4139,4137,1,0,0,0,4139,4138,1,0,0,0,4140,4142,1,0,0,0,4141,4143,3,144,72,0,4142,4141,1,0,0,0,4142,4143,1,0,0,0,4143,343,1,0,0,0,4144,4145,5,92,0,0,4145,4190,3,762,381,0,4146,4148,5,328,0,0,4147,4146,1,0,0,0,4147,4148,1,0,0,0,4148,4149,1,0,0,0,4149,4190,3,760,380,0,4150,4154,5,63,0,0,4151,4152,5,174,0,0,4152,4155,5,381,0,0,4153,4155,5,331,0,0,4154,4151,1,0,0,0,4154,4153,1,0,0,0,4155,4158,1,0,0,0,4156,4158,5,247,0,0,4157,4150,1,0,0,0,4157,4156,1,0,0,0,4158,4159,1,0,0,0,4159,4190,3,784,392,0,4160,4161,5,211,0,0,4161,4190,3,380,190,0,4162,4163,5,296,0,0,4163,4190,3,376,188,0,4164,4165,5,442,0,0,4165,4190,3,372,186,0,4166,4167,5,175,0,0,4167,4190,3,766,383,0,4168,4169,7,32,0,0,4169,4190,3,314,157,0,4170,4171,5,248,0,0,4171,4172,5,274,0,0,4172,4177,3,202,101,0,4173,4174,5,6,0,0,4174,4176,3,202,101,0,4175,4173,1,0,0,0,4176,4179,1,0,0,0,4177,4175,1,0,0,0,4177,4178,1,0,0,0,4178,4190,1,0,0,0,4179,4177,1,0,0,0,4180,4181,5,323,0,0,4181,4190,3,764,382,0,4182,4183,5,351,0,0,4183,4190,3,782,391,0,4184,4185,5,30,0,0,4185,4186,7,53,0,0,4186,4187,5,68,0,0,4187,4188,5,323,0,0,4188,4190,3,764,382,0,4189,4144,1,0,0,0,4189,4147,1,0,0,0,4189,4157,1,0,0,0,4189,4160,1,0,0,0,4189,4162,1,0,0,0,4189,4164,1,0,0,0,4189,4166,1,0,0,0,4189,4168,1,0,0,0,4189,4170,1,0,0,0,4189,4180,1,0,0,0,4189,4182,1,0,0,0,4189,4184,1,0,0,0,4190,345,1,0,0,0,4191,4193,5,66,0,0,4192,4191,1,0,0,0,4192,4193,1,0,0,0,4193,4194,1,0,0,0,4194,4195,3,814,407,0,4195,4203,1,0,0,0,4196,4198,5,6,0,0,4197,4199,5,66,0,0,4198,4197,1,0,0,0,4198,4199,1,0,0,0,4199,4200,1,0,0,0,4200,4202,3,814,407,0,4201,4196,1,0,0,0,4202,4205,1,0,0,0,4203,4201,1,0,0,0,4203,4204,1,0,0,0,4204,347,1,0,0,0,4205,4203,1,0,0,0,4206,4207,5,65,0,0,4207,4212,3,342,171,0,4208,4209,5,6,0,0,4209,4211,3,342,171,0,4210,4208,1,0,0,0,4211,4214,1,0,0,0,4212,4210,1,0,0,0,4212,4213,1,0,0,0,4213,4215,1,0,0,0,4214,4212,1,0,0,0,4215,4216,5,94,0,0,4216,4220,3,816,408,0,4217,4218,5,105,0,0,4218,4219,5,134,0,0,4219,4221,5,279,0,0,4220,4217,1,0,0,0,4220,4221,1,0,0,0,4221,4225,1,0,0,0,4222,4223,5,214,0,0,4223,4224,5,147,0,0,4224,4226,3,814,407,0,4225,4222,1,0,0,0,4225,4226,1,0,0,0,4226,349,1,0,0,0,4227,4231,5,317,0,0,4228,4229,5,134,0,0,4229,4230,5,279,0,0,4230,4232,5,62,0,0,4231,4228,1,0,0,0,4231,4232,1,0,0,0,4232,4233,1,0,0,0,4233,4238,3,342,171,0,4234,4235,5,6,0,0,4235,4237,3,342,171,0,4236,4234,1,0,0,0,4237,4240,1,0,0,0,4238,4236,1,0,0,0,4238,4239,1,0,0,0,4239,4241,1,0,0,0,4240,4238,1,0,0,0,4241,4242,5,64,0,0,4242,4246,3,816,408,0,4243,4244,5,214,0,0,4244,4245,5,147,0,0,4245,4247,3,814,407,0,4246,4243,1,0,0,0,4246,4247,1,0,0,0,4247,4249,1,0,0,0,4248,4250,3,96,48,0,4249,4248,1,0,0,0,4249,4250,1,0,0,0,4250,351,1,0,0,0,4251,4252,5,138,0,0,4252,4253,5,53,0,0,4253,4262,5,294,0,0,4254,4255,5,68,0,0,4255,4256,5,323,0,0,4256,4261,3,764,382,0,4257,4258,5,62,0,0,4258,4259,7,2,0,0,4259,4261,3,816,408,0,4260,4254,1,0,0,0,4260,4257,1,0,0,0,4261,4264,1,0,0,0,4262,4260,1,0,0,0,4262,4263,1,0,0,0,4263,4265,1,0,0,0,4264,4262,1,0,0,0,4265,4266,3,354,177,0,4266,353,1,0,0,0,4267,4268,5,65,0,0,4268,4269,3,338,169,0,4269,4270,5,80,0,0,4270,4271,3,356,178,0,4271,4272,5,94,0,0,4272,4276,3,346,173,0,4273,4274,5,105,0,0,4274,4275,5,65,0,0,4275,4277,5,279,0,0,4276,4273,1,0,0,0,4276,4277,1,0,0,0,4277,4293,1,0,0,0,4278,4282,5,317,0,0,4279,4280,5,65,0,0,4280,4281,5,279,0,0,4281,4283,5,62,0,0,4282,4279,1,0,0,0,4282,4283,1,0,0,0,4283,4284,1,0,0,0,4284,4285,3,338,169,0,4285,4286,5,80,0,0,4286,4287,3,356,178,0,4287,4288,5,64,0,0,4288,4290,3,346,173,0,4289,4291,3,96,48,0,4290,4289,1,0,0,0,4290,4291,1,0,0,0,4291,4293,1,0,0,0,4292,4267,1,0,0,0,4292,4278,1,0,0,0,4293,355,1,0,0,0,4294,4295,7,54,0,0,4295,357,1,0,0,0,4296,4298,5,46,0,0,4297,4299,5,98,0,0,4298,4297,1,0,0,0,4298,4299,1,0,0,0,4299,4300,1,0,0,0,4300,4302,5,226,0,0,4301,4303,5,109,0,0,4302,4301,1,0,0,0,4302,4303,1,0,0,0,4303,4305,1,0,0,0,4304,4306,3,294,147,0,4305,4304,1,0,0,0,4305,4306,1,0,0,0,4306,4308,1,0,0,0,4307,4309,3,818,409,0,4308,4307,1,0,0,0,4308,4309,1,0,0,0,4309,4310,1,0,0,0,4310,4311,5,80,0,0,4311,4313,3,624,312,0,4312,4314,3,170,85,0,4313,4312,1,0,0,0,4313,4314,1,0,0,0,4314,4315,1,0,0,0,4315,4318,3,360,180,0,4316,4317,5,441,0,0,4317,4319,3,360,180,0,4318,4316,1,0,0,0,4318,4319,1,0,0,0,4319,4325,1,0,0,0,4320,4322,5,273,0,0,4321,4323,5,77,0,0,4322,4321,1,0,0,0,4322,4323,1,0,0,0,4323,4324,1,0,0,0,4324,4326,5,56,0,0,4325,4320,1,0,0,0,4325,4326,1,0,0,0,4326,4328,1,0,0,0,4327,4329,3,102,51,0,4328,4327,1,0,0,0,4328,4329,1,0,0,0,4329,4331,1,0,0,0,4330,4332,3,176,88,0,4331,4330,1,0,0,0,4331,4332,1,0,0,0,4332,4334,1,0,0,0,4333,4335,3,638,319,0,4334,4333,1,0,0,0,4334,4335,1,0,0,0,4335,359,1,0,0,0,4336,4337,5,2,0,0,4337,4342,3,362,181,0,4338,4339,5,6,0,0,4339,4341,3,362,181,0,4340,4338,1,0,0,0,4341,4344,1,0,0,0,4342,4340,1,0,0,0,4342,4343,1,0,0,0,4343,4345,1,0,0,0,4344,4342,1,0,0,0,4345,4346,5,3,0,0,4346,361,1,0,0,0,4347,4354,3,800,400,0,4348,4354,3,688,344,0,4349,4350,5,2,0,0,4350,4351,3,674,337,0,4351,4352,5,3,0,0,4352,4354,1,0,0,0,4353,4347,1,0,0,0,4353,4348,1,0,0,0,4353,4349,1,0,0,0,4354,4356,1,0,0,0,4355,4357,3,98,49,0,4356,4355,1,0,0,0,4356,4357,1,0,0,0,4357,4364,1,0,0,0,4358,4360,3,316,158,0,4359,4358,1,0,0,0,4359,4360,1,0,0,0,4360,4365,1,0,0,0,4361,4362,3,316,158,0,4362,4363,3,100,50,0,4363,4365,1,0,0,0,4364,4359,1,0,0,0,4364,4361,1,0,0,0,4365,4367,1,0,0,0,4366,4368,7,55,0,0,4367,4366,1,0,0,0,4367,4368,1,0,0,0,4368,4371,1,0,0,0,4369,4370,5,273,0,0,4370,4372,7,56,0,0,4371,4369,1,0,0,0,4371,4372,1,0,0,0,4372,363,1,0,0,0,4373,4375,5,46,0,0,4374,4376,3,366,183,0,4375,4374,1,0,0,0,4375,4376,1,0,0,0,4376,4381,1,0,0,0,4377,4378,5,211,0,0,4378,4382,3,804,402,0,4379,4380,5,296,0,0,4380,4382,3,798,399,0,4381,4377,1,0,0,0,4381,4379,1,0,0,0,4382,4383,1,0,0,0,4383,4392,5,2,0,0,4384,4389,3,390,195,0,4385,4386,5,6,0,0,4386,4388,3,390,195,0,4387,4385,1,0,0,0,4388,4391,1,0,0,0,4389,4387,1,0,0,0,4389,4390,1,0,0,0,4390,4393,1,0,0,0,4391,4389,1,0,0,0,4392,4384,1,0,0,0,4392,4393,1,0,0,0,4393,4394,1,0,0,0,4394,4395,5,3,0,0,4395,4412,1,0,0,0,4396,4410,5,316,0,0,4397,4411,3,388,194,0,4398,4399,5,92,0,0,4399,4400,5,2,0,0,4400,4405,3,402,201,0,4401,4402,5,6,0,0,4402,4404,3,402,201,0,4403,4401,1,0,0,0,4404,4407,1,0,0,0,4405,4403,1,0,0,0,4405,4406,1,0,0,0,4406,4408,1,0,0,0,4407,4405,1,0,0,0,4408,4409,5,3,0,0,4409,4411,1,0,0,0,4410,4397,1,0,0,0,4410,4398,1,0,0,0,4411,4413,1,0,0,0,4412,4396,1,0,0,0,4412,4413,1,0,0,0,4413,4415,1,0,0,0,4414,4416,3,398,199,0,4415,4414,1,0,0,0,4416,4417,1,0,0,0,4417,4415,1,0,0,0,4417,4418,1,0,0,0,4418,4424,1,0,0,0,4419,4420,5,105,0,0,4420,4421,5,2,0,0,4421,4422,3,784,392,0,4422,4423,5,3,0,0,4423,4425,1,0,0,0,4424,4419,1,0,0,0,4424,4425,1,0,0,0,4425,365,1,0,0,0,4426,4427,5,82,0,0,4427,4428,5,311,0,0,4428,367,1,0,0,0,4429,4431,5,2,0,0,4430,4432,3,370,185,0,4431,4430,1,0,0,0,4431,4432,1,0,0,0,4432,4433,1,0,0,0,4433,4434,5,3,0,0,4434,369,1,0,0,0,4435,4440,3,384,192,0,4436,4437,5,6,0,0,4437,4439,3,384,192,0,4438,4436,1,0,0,0,4439,4442,1,0,0,0,4440,4438,1,0,0,0,4440,4441,1,0,0,0,4441,371,1,0,0,0,4442,4440,1,0,0,0,4443,4448,3,374,187,0,4444,4445,5,6,0,0,4445,4447,3,374,187,0,4446,4444,1,0,0,0,4447,4450,1,0,0,0,4448,4446,1,0,0,0,4448,4449,1,0,0,0,4449,373,1,0,0,0,4450,4448,1,0,0,0,4451,4452,3,794,397,0,4452,4453,3,368,184,0,4453,4457,1,0,0,0,4454,4457,3,832,416,0,4455,4457,3,780,390,0,4456,4451,1,0,0,0,4456,4454,1,0,0,0,4456,4455,1,0,0,0,4457,375,1,0,0,0,4458,4463,3,378,189,0,4459,4460,5,6,0,0,4460,4462,3,378,189,0,4461,4459,1,0,0,0,4462,4465,1,0,0,0,4463,4461,1,0,0,0,4463,4464,1,0,0,0,4464,377,1,0,0,0,4465,4463,1,0,0,0,4466,4467,3,796,398,0,4467,4468,3,368,184,0,4468,4472,1,0,0,0,4469,4472,3,832,416,0,4470,4472,3,780,390,0,4471,4466,1,0,0,0,4471,4469,1,0,0,0,4471,4470,1,0,0,0,4472,379,1,0,0,0,4473,4478,3,382,191,0,4474,4475,5,6,0,0,4475,4477,3,382,191,0,4476,4474,1,0,0,0,4477,4480,1,0,0,0,4478,4476,1,0,0,0,4478,4479,1,0,0,0,4479,381,1,0,0,0,4480,4478,1,0,0,0,4481,4482,3,806,403,0,4482,4483,3,368,184,0,4483,4487,1,0,0,0,4484,4487,3,832,416,0,4485,4487,3,780,390,0,4486,4481,1,0,0,0,4486,4484,1,0,0,0,4486,4485,1,0,0,0,4487,383,1,0,0,0,4488,4490,3,386,193,0,4489,4491,3,820,410,0,4490,4489,1,0,0,0,4490,4491,1,0,0,0,4491,4497,1,0,0,0,4492,4494,3,820,410,0,4493,4495,3,386,193,0,4494,4493,1,0,0,0,4494,4495,1,0,0,0,4495,4497,1,0,0,0,4496,4488,1,0,0,0,4496,4492,1,0,0,0,4496,4497,1,0,0,0,4497,4498,1,0,0,0,4498,4499,3,388,194,0,4499,385,1,0,0,0,4500,4502,5,68,0,0,4501,4503,5,453,0,0,4502,4501,1,0,0,0,4502,4503,1,0,0,0,4503,4508,1,0,0,0,4504,4508,5,453,0,0,4505,4508,5,400,0,0,4506,4508,5,101,0,0,4507,4500,1,0,0,0,4507,4504,1,0,0,0,4507,4505,1,0,0,0,4507,4506,1,0,0,0,4508,387,1,0,0,0,4509,4519,3,652,326,0,4510,4512,5,415,0,0,4511,4510,1,0,0,0,4511,4512,1,0,0,0,4512,4513,1,0,0,0,4513,4514,3,820,410,0,4514,4515,3,318,159,0,4515,4516,5,27,0,0,4516,4517,5,360,0,0,4517,4519,1,0,0,0,4518,4509,1,0,0,0,4518,4511,1,0,0,0,4519,389,1,0,0,0,4520,4523,3,384,192,0,4521,4522,7,57,0,0,4522,4524,3,674,337,0,4523,4521,1,0,0,0,4523,4524,1,0,0,0,4524,391,1,0,0,0,4525,4535,5,2,0,0,4526,4536,5,9,0,0,4527,4529,3,370,185,0,4528,4527,1,0,0,0,4528,4529,1,0,0,0,4529,4533,1,0,0,0,4530,4531,5,83,0,0,4531,4532,5,147,0,0,4532,4534,3,370,185,0,4533,4530,1,0,0,0,4533,4534,1,0,0,0,4534,4536,1,0,0,0,4535,4526,1,0,0,0,4535,4528,1,0,0,0,4536,4537,1,0,0,0,4537,4538,5,3,0,0,4538,393,1,0,0,0,4539,4540,3,806,403,0,4540,4541,3,392,196,0,4541,395,1,0,0,0,4542,4543,5,316,0,0,4543,4546,5,78,0,0,4544,4546,5,149,0,0,4545,4542,1,0,0,0,4545,4544,1,0,0,0,4546,4547,1,0,0,0,4547,4548,5,80,0,0,4548,4549,5,78,0,0,4549,4572,5,458,0,0,4550,4572,5,346,0,0,4551,4572,5,222,0,0,4552,4572,5,338,0,0,4553,4572,5,377,0,0,4554,4556,5,205,0,0,4555,4554,1,0,0,0,4555,4556,1,0,0,0,4556,4557,1,0,0,0,4557,4558,5,327,0,0,4558,4572,7,58,0,0,4559,4572,5,250,0,0,4560,4561,5,77,0,0,4561,4572,5,250,0,0,4562,4563,7,59,0,0,4563,4572,3,202,101,0,4564,4565,5,459,0,0,4565,4572,3,316,158,0,4566,4567,5,333,0,0,4567,4572,3,42,21,0,4568,4572,3,60,30,0,4569,4570,5,460,0,0,4570,4572,3,818,409,0,4571,4545,1,0,0,0,4571,4550,1,0,0,0,4571,4551,1,0,0,0,4571,4552,1,0,0,0,4571,4553,1,0,0,0,4571,4555,1,0,0,0,4571,4559,1,0,0,0,4571,4560,1,0,0,0,4571,4562,1,0,0,0,4571,4564,1,0,0,0,4571,4566,1,0,0,0,4571,4568,1,0,0,0,4571,4569,1,0,0,0,4572,397,1,0,0,0,4573,4574,5,36,0,0,4574,4575,3,808,404,0,4575,4576,3,462,231,0,4576,4609,1,0,0,0,4577,4578,5,247,0,0,4578,4609,3,58,29,0,4579,4580,5,443,0,0,4580,4581,5,62,0,0,4581,4582,5,360,0,0,4582,4589,3,652,326,0,4583,4584,5,6,0,0,4584,4585,5,62,0,0,4585,4586,5,360,0,0,4586,4588,3,652,326,0,4587,4583,1,0,0,0,4588,4591,1,0,0,0,4589,4587,1,0,0,0,4589,4590,1,0,0,0,4590,4609,1,0,0,0,4591,4589,1,0,0,0,4592,4609,5,104,0,0,4593,4594,5,333,0,0,4594,4601,3,818,409,0,4595,4596,5,94,0,0,4596,4602,3,818,409,0,4597,4598,5,10,0,0,4598,4602,3,818,409,0,4599,4600,5,64,0,0,4600,4602,5,434,0,0,4601,4595,1,0,0,0,4601,4597,1,0,0,0,4601,4599,1,0,0,0,4602,4609,1,0,0,0,4603,4604,5,36,0,0,4604,4609,3,818,409,0,4605,4609,3,4,2,0,4606,4609,3,396,198,0,4607,4609,3,818,409,0,4608,4573,1,0,0,0,4608,4577,1,0,0,0,4608,4579,1,0,0,0,4608,4592,1,0,0,0,4608,4593,1,0,0,0,4608,4603,1,0,0,0,4608,4605,1,0,0,0,4608,4606,1,0,0,0,4608,4607,1,0,0,0,4609,399,1,0,0,0,4610,4611,5,105,0,0,4611,4612,3,284,142,0,4612,401,1,0,0,0,4613,4614,3,800,400,0,4614,4615,3,388,194,0,4615,403,1,0,0,0,4616,4623,5,138,0,0,4617,4618,5,211,0,0,4618,4624,3,382,191,0,4619,4620,5,296,0,0,4620,4624,3,378,189,0,4621,4622,5,442,0,0,4622,4624,3,374,187,0,4623,4617,1,0,0,0,4623,4619,1,0,0,0,4623,4621,1,0,0,0,4624,4626,1,0,0,0,4625,4627,3,396,198,0,4626,4625,1,0,0,0,4627,4628,1,0,0,0,4628,4626,1,0,0,0,4628,4629,1,0,0,0,4629,4631,1,0,0,0,4630,4632,5,315,0,0,4631,4630,1,0,0,0,4631,4632,1,0,0,0,4632,405,1,0,0,0,4633,4649,5,191,0,0,4634,4636,5,211,0,0,4635,4637,3,422,211,0,4636,4635,1,0,0,0,4636,4637,1,0,0,0,4637,4638,1,0,0,0,4638,4650,3,380,190,0,4639,4641,5,296,0,0,4640,4642,3,422,211,0,4641,4640,1,0,0,0,4641,4642,1,0,0,0,4642,4643,1,0,0,0,4643,4650,3,376,188,0,4644,4646,5,442,0,0,4645,4647,3,422,211,0,4646,4645,1,0,0,0,4646,4647,1,0,0,0,4647,4648,1,0,0,0,4648,4650,3,372,186,0,4649,4634,1,0,0,0,4649,4639,1,0,0,0,4649,4644,1,0,0,0,4650,4652,1,0,0,0,4651,4653,3,96,48,0,4652,4651,1,0,0,0,4652,4653,1,0,0,0,4653,407,1,0,0,0,4654,4655,5,191,0,0,4655,4657,5,136,0,0,4656,4658,3,422,211,0,4657,4656,1,0,0,0,4657,4658,1,0,0,0,4658,4659,1,0,0,0,4659,4664,3,394,197,0,4660,4661,5,6,0,0,4661,4663,3,394,197,0,4662,4660,1,0,0,0,4663,4666,1,0,0,0,4664,4662,1,0,0,0,4664,4665,1,0,0,0,4665,4668,1,0,0,0,4666,4664,1,0,0,0,4667,4669,3,96,48,0,4668,4667,1,0,0,0,4668,4669,1,0,0,0,4669,409,1,0,0,0,4670,4671,5,191,0,0,4671,4673,5,278,0,0,4672,4674,3,422,211,0,4673,4672,1,0,0,0,4673,4674,1,0,0,0,4674,4675,1,0,0,0,4675,4680,3,416,208,0,4676,4677,5,6,0,0,4677,4679,3,416,208,0,4678,4676,1,0,0,0,4679,4682,1,0,0,0,4680,4678,1,0,0,0,4680,4681,1,0,0,0,4681,4684,1,0,0,0,4682,4680,1,0,0,0,4683,4685,3,96,48,0,4684,4683,1,0,0,0,4684,4685,1,0,0,0,4685,411,1,0,0,0,4686,4699,5,2,0,0,4687,4690,3,652,326,0,4688,4689,5,6,0,0,4689,4691,3,652,326,0,4690,4688,1,0,0,0,4690,4691,1,0,0,0,4691,4700,1,0,0,0,4692,4693,5,407,0,0,4693,4694,5,6,0,0,4694,4700,3,652,326,0,4695,4696,3,652,326,0,4696,4697,5,6,0,0,4697,4698,5,407,0,0,4698,4700,1,0,0,0,4699,4687,1,0,0,0,4699,4692,1,0,0,0,4699,4695,1,0,0,0,4700,4701,1,0,0,0,4701,4702,5,3,0,0,4702,413,1,0,0,0,4703,4704,3,818,409,0,4704,4705,5,11,0,0,4705,4707,1,0,0,0,4706,4703,1,0,0,0,4707,4710,1,0,0,0,4708,4706,1,0,0,0,4708,4709,1,0,0,0,4709,4711,1,0,0,0,4710,4708,1,0,0,0,4711,4712,3,720,360,0,4712,415,1,0,0,0,4713,4714,3,414,207,0,4714,4715,3,412,206,0,4715,417,1,0,0,0,4716,4720,5,57,0,0,4717,4721,3,808,404,0,4718,4719,5,247,0,0,4719,4721,3,58,29,0,4720,4717,1,0,0,0,4720,4718,1,0,0,0,4721,4722,1,0,0,0,4722,4720,1,0,0,0,4722,4723,1,0,0,0,4723,419,1,0,0,0,4724,4725,5,46,0,0,4725,4726,5,41,0,0,4726,4727,5,2,0,0,4727,4728,3,652,326,0,4728,4729,5,36,0,0,4729,4730,3,652,326,0,4730,4747,5,3,0,0,4731,4732,5,379,0,0,4732,4735,5,211,0,0,4733,4734,5,36,0,0,4734,4736,7,60,0,0,4735,4733,1,0,0,0,4735,4736,1,0,0,0,4736,4748,1,0,0,0,4737,4741,5,105,0,0,4738,4739,5,211,0,0,4739,4742,3,382,191,0,4740,4742,5,400,0,0,4741,4738,1,0,0,0,4741,4740,1,0,0,0,4742,4745,1,0,0,0,4743,4744,5,36,0,0,4744,4746,7,60,0,0,4745,4743,1,0,0,0,4745,4746,1,0,0,0,4746,4748,1,0,0,0,4747,4731,1,0,0,0,4747,4737,1,0,0,0,4748,421,1,0,0,0,4749,4750,5,220,0,0,4750,4751,5,396,0,0,4751,423,1,0,0,0,4752,4754,5,46,0,0,4753,4755,3,366,183,0,4754,4753,1,0,0,0,4754,4755,1,0,0,0,4755,4756,1,0,0,0,4756,4757,5,443,0,0,4757,4758,5,62,0,0,4758,4759,3,652,326,0,4759,4760,5,247,0,0,4760,4761,3,818,409,0,4761,4776,5,2,0,0,4762,4763,5,64,0,0,4763,4767,3,426,213,0,4764,4765,5,6,0,0,4765,4766,5,94,0,0,4766,4768,3,426,213,0,4767,4764,1,0,0,0,4767,4768,1,0,0,0,4768,4777,1,0,0,0,4769,4770,5,94,0,0,4770,4774,3,426,213,0,4771,4772,5,6,0,0,4772,4773,5,64,0,0,4773,4775,3,426,213,0,4774,4771,1,0,0,0,4774,4775,1,0,0,0,4775,4777,1,0,0,0,4776,4762,1,0,0,0,4776,4769,1,0,0,0,4777,4778,1,0,0,0,4778,4779,5,3,0,0,4779,425,1,0,0,0,4780,4781,5,461,0,0,4781,4782,5,105,0,0,4782,4783,5,211,0,0,4783,4784,3,382,191,0,4784,427,1,0,0,0,4785,4796,5,306,0,0,4786,4787,5,2,0,0,4787,4792,5,128,0,0,4788,4789,5,6,0,0,4789,4791,5,128,0,0,4790,4788,1,0,0,0,4791,4794,1,0,0,0,4792,4790,1,0,0,0,4792,4793,1,0,0,0,4793,4795,1,0,0,0,4794,4792,1,0,0,0,4795,4797,5,3,0,0,4796,4786,1,0,0,0,4796,4797,1,0,0,0,4797,4823,1,0,0,0,4798,4800,5,226,0,0,4799,4801,5,109,0,0,4800,4799,1,0,0,0,4800,4801,1,0,0,0,4801,4802,1,0,0,0,4802,4824,3,780,390,0,4803,4805,5,92,0,0,4804,4806,5,109,0,0,4805,4804,1,0,0,0,4805,4806,1,0,0,0,4806,4807,1,0,0,0,4807,4824,3,774,387,0,4808,4810,5,323,0,0,4809,4811,5,109,0,0,4810,4809,1,0,0,0,4810,4811,1,0,0,0,4811,4812,1,0,0,0,4812,4824,3,790,395,0,4813,4815,5,349,0,0,4814,4816,5,109,0,0,4815,4814,1,0,0,0,4815,4816,1,0,0,0,4816,4817,1,0,0,0,4817,4824,3,818,409,0,4818,4820,5,175,0,0,4819,4821,5,109,0,0,4820,4819,1,0,0,0,4820,4821,1,0,0,0,4821,4822,1,0,0,0,4822,4824,3,788,394,0,4823,4798,1,0,0,0,4823,4803,1,0,0,0,4823,4808,1,0,0,0,4823,4813,1,0,0,0,4823,4818,1,0,0,0,4824,429,1,0,0,0,4825,4826,5,138,0,0,4826,4827,3,176,88,0,4827,4828,7,16,0,0,4828,4829,3,100,50,0,4829,431,1,0,0,0,4830,4835,5,138,0,0,4831,4832,5,136,0,0,4832,4836,3,394,197,0,4833,4834,5,442,0,0,4834,4836,3,374,187,0,4835,4831,1,0,0,0,4835,4833,1,0,0,0,4836,4837,1,0,0,0,4837,4838,5,309,0,0,4838,4839,5,94,0,0,4839,4840,3,818,409,0,4840,5038,1,0,0,0,4841,4842,5,138,0,0,4842,4843,5,175,0,0,4843,4844,3,788,394,0,4844,4845,5,309,0,0,4845,4846,5,94,0,0,4846,4847,3,786,393,0,4847,5038,1,0,0,0,4848,4849,5,138,0,0,4849,4850,7,61,0,0,4850,4851,3,316,158,0,4851,4852,5,309,0,0,4852,4853,5,94,0,0,4853,4854,3,818,409,0,4854,5038,1,0,0,0,4855,4856,5,138,0,0,4856,4857,5,211,0,0,4857,4858,3,382,191,0,4858,4859,5,309,0,0,4859,4860,5,94,0,0,4860,4861,3,804,402,0,4861,5038,1,0,0,0,4862,4863,5,138,0,0,4863,4864,5,278,0,0,4864,4865,7,31,0,0,4865,4866,3,316,158,0,4866,4867,3,170,85,0,4867,4868,5,309,0,0,4868,4869,5,94,0,0,4869,4870,3,818,409,0,4870,5038,1,0,0,0,4871,4872,5,138,0,0,4872,4873,5,296,0,0,4873,4874,3,378,189,0,4874,4875,5,309,0,0,4875,4876,5,94,0,0,4876,4877,3,798,399,0,4877,5038,1,0,0,0,4878,4879,5,138,0,0,4879,4880,5,323,0,0,4880,4881,3,790,395,0,4881,4882,5,309,0,0,4882,4883,5,94,0,0,4883,4884,3,32,16,0,4884,5038,1,0,0,0,4885,4886,5,138,0,0,4886,4888,7,62,0,0,4887,4889,3,422,211,0,4888,4887,1,0,0,0,4888,4889,1,0,0,0,4889,4890,1,0,0,0,4890,4891,3,780,390,0,4891,4892,5,309,0,0,4892,4893,5,94,0,0,4893,4894,3,818,409,0,4894,5038,1,0,0,0,4895,4897,5,138,0,0,4896,4898,5,259,0,0,4897,4896,1,0,0,0,4897,4898,1,0,0,0,4898,4899,1,0,0,0,4899,4901,5,376,0,0,4900,4902,3,422,211,0,4901,4900,1,0,0,0,4901,4902,1,0,0,0,4902,4903,1,0,0,0,4903,4904,3,778,389,0,4904,4905,5,309,0,0,4905,4906,5,94,0,0,4906,4907,3,776,388,0,4907,5038,1,0,0,0,4908,4910,5,138,0,0,4909,4911,5,63,0,0,4910,4909,1,0,0,0,4910,4911,1,0,0,0,4911,4912,1,0,0,0,4912,4914,5,92,0,0,4913,4915,3,422,211,0,4914,4913,1,0,0,0,4914,4915,1,0,0,0,4915,4916,1,0,0,0,4916,4917,3,624,312,0,4917,4918,5,309,0,0,4918,4919,5,94,0,0,4919,4920,3,772,386,0,4920,5038,1,0,0,0,4921,4946,5,138,0,0,4922,4924,5,63,0,0,4923,4922,1,0,0,0,4923,4924,1,0,0,0,4924,4925,1,0,0,0,4925,4927,5,92,0,0,4926,4928,3,422,211,0,4927,4926,1,0,0,0,4927,4928,1,0,0,0,4928,4929,1,0,0,0,4929,4930,3,624,312,0,4930,4932,5,309,0,0,4931,4933,5,44,0,0,4932,4931,1,0,0,0,4932,4933,1,0,0,0,4933,4947,1,0,0,0,4934,4936,5,259,0,0,4935,4934,1,0,0,0,4935,4936,1,0,0,0,4936,4937,1,0,0,0,4937,4939,5,376,0,0,4938,4940,3,422,211,0,4939,4938,1,0,0,0,4939,4940,1,0,0,0,4940,4941,1,0,0,0,4941,4942,3,778,389,0,4942,4944,5,309,0,0,4943,4945,5,44,0,0,4944,4943,1,0,0,0,4944,4945,1,0,0,0,4945,4947,1,0,0,0,4946,4923,1,0,0,0,4946,4935,1,0,0,0,4947,4948,1,0,0,0,4948,4949,3,800,400,0,4949,4950,5,94,0,0,4950,4951,3,802,401,0,4951,5038,1,0,0,0,4952,4960,5,138,0,0,4953,4955,5,92,0,0,4954,4956,3,422,211,0,4955,4954,1,0,0,0,4955,4956,1,0,0,0,4956,4957,1,0,0,0,4957,4961,3,624,312,0,4958,4959,5,189,0,0,4959,4961,3,316,158,0,4960,4953,1,0,0,0,4960,4958,1,0,0,0,4961,4962,1,0,0,0,4962,4963,5,309,0,0,4963,4964,5,45,0,0,4964,4965,3,818,409,0,4965,4966,5,94,0,0,4966,4967,3,818,409,0,4967,5038,1,0,0,0,4968,4975,5,138,0,0,4969,4971,5,445,0,0,4970,4972,3,422,211,0,4971,4970,1,0,0,0,4971,4972,1,0,0,0,4972,4976,1,0,0,0,4973,4976,5,321,0,0,4974,4976,5,357,0,0,4975,4969,1,0,0,0,4975,4973,1,0,0,0,4975,4974,1,0,0,0,4976,4977,1,0,0,0,4977,4978,3,818,409,0,4978,4979,5,80,0,0,4979,4980,3,780,390,0,4980,4981,5,309,0,0,4981,4982,5,94,0,0,4982,4983,3,818,409,0,4983,5038,1,0,0,0,4984,4997,5,138,0,0,4985,4986,5,63,0,0,4986,4987,5,174,0,0,4987,4998,5,381,0,0,4988,4990,5,295,0,0,4989,4988,1,0,0,0,4989,4990,1,0,0,0,4990,4991,1,0,0,0,4991,4998,5,247,0,0,4992,4998,5,452,0,0,4993,4998,5,331,0,0,4994,4998,5,451,0,0,4995,4996,5,198,0,0,4996,4998,5,357,0,0,4997,4985,1,0,0,0,4997,4989,1,0,0,0,4997,4992,1,0,0,0,4997,4993,1,0,0,0,4997,4994,1,0,0,0,4997,4995,1,0,0,0,4998,4999,1,0,0,0,4999,5e3,3,818,409,0,5e3,5001,5,309,0,0,5001,5002,5,94,0,0,5002,5003,3,818,409,0,5003,5038,1,0,0,0,5004,5005,5,138,0,0,5005,5006,7,45,0,0,5006,5007,3,814,407,0,5007,5008,5,309,0,0,5008,5009,5,94,0,0,5009,5010,3,814,407,0,5010,5038,1,0,0,0,5011,5012,5,138,0,0,5012,5013,3,176,88,0,5013,5014,5,309,0,0,5014,5015,5,94,0,0,5015,5016,3,768,384,0,5016,5038,1,0,0,0,5017,5018,5,138,0,0,5018,5019,5,355,0,0,5019,5020,5,325,0,0,5020,5021,7,41,0,0,5021,5022,3,316,158,0,5022,5023,5,309,0,0,5023,5024,5,94,0,0,5024,5025,3,818,409,0,5025,5038,1,0,0,0,5026,5027,5,138,0,0,5027,5028,5,360,0,0,5028,5029,3,316,158,0,5029,5030,5,309,0,0,5030,5031,5,143,0,0,5031,5032,3,818,409,0,5032,5033,5,94,0,0,5033,5035,3,818,409,0,5034,5036,3,96,48,0,5035,5034,1,0,0,0,5035,5036,1,0,0,0,5036,5038,1,0,0,0,5037,4830,1,0,0,0,5037,4841,1,0,0,0,5037,4848,1,0,0,0,5037,4855,1,0,0,0,5037,4862,1,0,0,0,5037,4871,1,0,0,0,5037,4878,1,0,0,0,5037,4885,1,0,0,0,5037,4895,1,0,0,0,5037,4908,1,0,0,0,5037,4921,1,0,0,0,5037,4952,1,0,0,0,5037,4968,1,0,0,0,5037,4984,1,0,0,0,5037,5004,1,0,0,0,5037,5011,1,0,0,0,5037,5017,1,0,0,0,5037,5026,1,0,0,0,5038,433,1,0,0,0,5039,5056,5,138,0,0,5040,5041,5,211,0,0,5041,5057,3,382,191,0,5042,5043,5,296,0,0,5043,5057,3,378,189,0,5044,5045,5,442,0,0,5045,5057,3,374,187,0,5046,5047,5,357,0,0,5047,5048,3,818,409,0,5048,5049,5,80,0,0,5049,5050,3,780,390,0,5050,5057,1,0,0,0,5051,5052,5,259,0,0,5052,5053,5,376,0,0,5053,5057,3,778,389,0,5054,5055,5,226,0,0,5055,5057,3,780,390,0,5056,5040,1,0,0,0,5056,5042,1,0,0,0,5056,5044,1,0,0,0,5056,5046,1,0,0,0,5056,5051,1,0,0,0,5056,5054,1,0,0,0,5057,5059,1,0,0,0,5058,5060,5,269,0,0,5059,5058,1,0,0,0,5059,5060,1,0,0,0,5060,5061,1,0,0,0,5061,5062,5,462,0,0,5062,5063,5,80,0,0,5063,5064,5,204,0,0,5064,5065,3,818,409,0,5065,435,1,0,0,0,5066,5105,5,138,0,0,5067,5068,5,136,0,0,5068,5106,3,394,197,0,5069,5070,5,204,0,0,5070,5106,3,818,409,0,5071,5072,5,211,0,0,5072,5106,3,382,191,0,5073,5074,5,278,0,0,5074,5106,3,416,208,0,5075,5076,5,278,0,0,5076,5077,7,31,0,0,5077,5078,3,316,158,0,5078,5079,3,170,85,0,5079,5106,1,0,0,0,5080,5081,5,296,0,0,5081,5106,3,378,189,0,5082,5083,5,442,0,0,5083,5106,3,374,187,0,5084,5086,5,328,0,0,5085,5087,3,422,211,0,5086,5085,1,0,0,0,5086,5087,1,0,0,0,5087,5088,1,0,0,0,5088,5106,3,780,390,0,5089,5091,5,259,0,0,5090,5089,1,0,0,0,5090,5091,1,0,0,0,5091,5092,1,0,0,0,5092,5094,5,376,0,0,5093,5095,3,422,211,0,5094,5093,1,0,0,0,5094,5095,1,0,0,0,5095,5096,1,0,0,0,5096,5106,3,778,389,0,5097,5099,5,63,0,0,5098,5097,1,0,0,0,5098,5099,1,0,0,0,5099,5100,1,0,0,0,5100,5102,5,92,0,0,5101,5103,3,422,211,0,5102,5101,1,0,0,0,5102,5103,1,0,0,0,5103,5104,1,0,0,0,5104,5106,3,624,312,0,5105,5067,1,0,0,0,5105,5069,1,0,0,0,5105,5071,1,0,0,0,5105,5073,1,0,0,0,5105,5075,1,0,0,0,5105,5080,1,0,0,0,5105,5082,1,0,0,0,5105,5084,1,0,0,0,5105,5090,1,0,0,0,5105,5098,1,0,0,0,5106,5107,1,0,0,0,5107,5108,5,333,0,0,5108,5109,5,323,0,0,5109,5110,3,790,395,0,5110,5128,1,0,0,0,5111,5120,5,138,0,0,5112,5113,5,355,0,0,5113,5114,5,325,0,0,5114,5121,7,41,0,0,5115,5121,5,108,0,0,5116,5121,5,168,0,0,5117,5121,5,189,0,0,5118,5121,5,342,0,0,5119,5121,5,360,0,0,5120,5112,1,0,0,0,5120,5115,1,0,0,0,5120,5116,1,0,0,0,5120,5117,1,0,0,0,5120,5118,1,0,0,0,5120,5119,1,0,0,0,5121,5122,1,0,0,0,5122,5123,3,316,158,0,5123,5124,5,333,0,0,5124,5125,5,323,0,0,5125,5126,3,790,395,0,5126,5128,1,0,0,0,5127,5066,1,0,0,0,5127,5111,1,0,0,0,5128,437,1,0,0,0,5129,5130,5,138,0,0,5130,5131,5,278,0,0,5131,5132,3,416,208,0,5132,5133,5,333,0,0,5133,5134,3,440,220,0,5134,439,1,0,0,0,5135,5136,5,2,0,0,5136,5141,3,442,221,0,5137,5138,5,6,0,0,5138,5140,3,442,221,0,5139,5137,1,0,0,0,5140,5143,1,0,0,0,5141,5139,1,0,0,0,5141,5142,1,0,0,0,5142,5144,1,0,0,0,5143,5141,1,0,0,0,5144,5145,5,3,0,0,5145,441,1,0,0,0,5146,5147,3,824,412,0,5147,5154,5,10,0,0,5148,5155,5,407,0,0,5149,5155,3,388,194,0,5150,5155,3,834,417,0,5151,5155,3,726,363,0,5152,5155,3,202,101,0,5153,5155,3,808,404,0,5154,5148,1,0,0,0,5154,5149,1,0,0,0,5154,5150,1,0,0,0,5154,5151,1,0,0,0,5154,5152,1,0,0,0,5154,5153,1,0,0,0,5155,443,1,0,0,0,5156,5157,5,138,0,0,5157,5158,5,360,0,0,5158,5159,3,316,158,0,5159,5160,5,333,0,0,5160,5161,3,440,220,0,5161,445,1,0,0,0,5162,5163,5,138,0,0,5163,5164,5,278,0,0,5164,5165,7,31,0,0,5165,5166,3,316,158,0,5166,5167,3,170,85,0,5167,5168,5,282,0,0,5168,5169,5,94,0,0,5169,5170,3,814,407,0,5170,5237,1,0,0,0,5171,5198,5,138,0,0,5172,5173,5,136,0,0,5173,5199,3,394,197,0,5174,5175,5,175,0,0,5175,5199,3,788,394,0,5176,5177,5,211,0,0,5177,5199,3,382,191,0,5178,5180,5,295,0,0,5179,5178,1,0,0,0,5179,5180,1,0,0,0,5180,5181,1,0,0,0,5181,5182,5,247,0,0,5182,5199,3,818,409,0,5183,5184,5,248,0,0,5184,5185,5,274,0,0,5185,5199,3,202,101,0,5186,5187,5,248,0,0,5187,5188,5,274,0,0,5188,5199,3,202,101,0,5189,5190,5,278,0,0,5190,5199,3,416,208,0,5191,5192,5,296,0,0,5192,5199,3,378,189,0,5193,5194,5,442,0,0,5194,5199,3,374,187,0,5195,5196,5,323,0,0,5196,5199,3,790,395,0,5197,5199,3,176,88,0,5198,5172,1,0,0,0,5198,5174,1,0,0,0,5198,5176,1,0,0,0,5198,5179,1,0,0,0,5198,5183,1,0,0,0,5198,5186,1,0,0,0,5198,5189,1,0,0,0,5198,5191,1,0,0,0,5198,5193,1,0,0,0,5198,5195,1,0,0,0,5198,5197,1,0,0,0,5199,5200,1,0,0,0,5200,5201,5,282,0,0,5201,5202,5,94,0,0,5202,5203,3,814,407,0,5203,5237,1,0,0,0,5204,5213,5,138,0,0,5205,5206,5,355,0,0,5206,5207,5,325,0,0,5207,5214,7,63,0,0,5208,5214,5,108,0,0,5209,5214,5,168,0,0,5210,5214,5,189,0,0,5211,5214,5,360,0,0,5212,5214,5,342,0,0,5213,5205,1,0,0,0,5213,5208,1,0,0,0,5213,5209,1,0,0,0,5213,5210,1,0,0,0,5213,5211,1,0,0,0,5213,5212,1,0,0,0,5214,5215,1,0,0,0,5215,5216,3,316,158,0,5216,5217,5,282,0,0,5217,5218,5,94,0,0,5218,5219,3,814,407,0,5219,5237,1,0,0,0,5220,5229,5,138,0,0,5221,5230,5,331,0,0,5222,5223,5,63,0,0,5223,5224,5,174,0,0,5224,5230,5,381,0,0,5225,5226,5,198,0,0,5226,5230,5,357,0,0,5227,5230,5,452,0,0,5228,5230,5,451,0,0,5229,5221,1,0,0,0,5229,5222,1,0,0,0,5229,5225,1,0,0,0,5229,5227,1,0,0,0,5229,5228,1,0,0,0,5230,5231,1,0,0,0,5231,5232,3,818,409,0,5232,5233,5,282,0,0,5233,5234,5,94,0,0,5234,5235,3,814,407,0,5235,5237,1,0,0,0,5236,5162,1,0,0,0,5236,5171,1,0,0,0,5236,5204,1,0,0,0,5236,5220,1,0,0,0,5237,447,1,0,0,0,5238,5239,5,46,0,0,5239,5240,5,452,0,0,5240,5247,3,818,409,0,5241,5242,5,62,0,0,5242,5243,5,92,0,0,5243,5248,3,628,314,0,5244,5245,5,62,0,0,5245,5246,5,30,0,0,5246,5248,5,350,0,0,5247,5241,1,0,0,0,5247,5244,1,0,0,0,5247,5248,1,0,0,0,5248,5250,1,0,0,0,5249,5251,3,400,200,0,5250,5249,1,0,0,0,5250,5251,1,0,0,0,5251,449,1,0,0,0,5252,5253,5,138,0,0,5253,5254,5,452,0,0,5254,5272,3,818,409,0,5255,5256,5,282,0,0,5256,5257,5,94,0,0,5257,5273,3,814,407,0,5258,5259,5,333,0,0,5259,5273,3,284,142,0,5260,5261,5,309,0,0,5261,5262,5,94,0,0,5262,5273,3,818,409,0,5263,5264,7,34,0,0,5264,5269,3,626,313,0,5265,5266,5,6,0,0,5266,5268,3,626,313,0,5267,5265,1,0,0,0,5268,5271,1,0,0,0,5269,5267,1,0,0,0,5269,5270,1,0,0,0,5270,5273,1,0,0,0,5271,5269,1,0,0,0,5272,5255,1,0,0,0,5272,5258,1,0,0,0,5272,5260,1,0,0,0,5272,5263,1,0,0,0,5273,451,1,0,0,0,5274,5275,5,46,0,0,5275,5276,5,451,0,0,5276,5277,3,818,409,0,5277,5278,5,164,0,0,5278,5279,3,808,404,0,5279,5280,5,452,0,0,5280,5285,3,824,412,0,5281,5282,5,6,0,0,5282,5284,3,824,412,0,5283,5281,1,0,0,0,5284,5287,1,0,0,0,5285,5283,1,0,0,0,5285,5286,1,0,0,0,5286,5289,1,0,0,0,5287,5285,1,0,0,0,5288,5290,3,400,200,0,5289,5288,1,0,0,0,5289,5290,1,0,0,0,5290,453,1,0,0,0,5291,5292,5,138,0,0,5292,5293,5,451,0,0,5293,5294,3,818,409,0,5294,5295,5,333,0,0,5295,5296,3,284,142,0,5296,5348,1,0,0,0,5297,5298,5,138,0,0,5298,5299,5,451,0,0,5299,5300,3,818,409,0,5300,5301,5,164,0,0,5301,5302,3,808,404,0,5302,5348,1,0,0,0,5303,5304,5,138,0,0,5304,5305,5,451,0,0,5305,5306,3,818,409,0,5306,5307,5,305,0,0,5307,5309,5,452,0,0,5308,5310,3,400,200,0,5309,5308,1,0,0,0,5309,5310,1,0,0,0,5310,5348,1,0,0,0,5311,5312,5,138,0,0,5312,5313,5,451,0,0,5313,5314,3,818,409,0,5314,5315,7,34,0,0,5315,5316,5,452,0,0,5316,5321,3,824,412,0,5317,5318,5,6,0,0,5318,5320,3,824,412,0,5319,5317,1,0,0,0,5320,5323,1,0,0,0,5321,5319,1,0,0,0,5321,5322,1,0,0,0,5322,5325,1,0,0,0,5323,5321,1,0,0,0,5324,5326,3,400,200,0,5325,5324,1,0,0,0,5325,5326,1,0,0,0,5326,5348,1,0,0,0,5327,5328,5,138,0,0,5328,5329,5,451,0,0,5329,5330,3,818,409,0,5330,5331,7,64,0,0,5331,5348,1,0,0,0,5332,5333,5,138,0,0,5333,5334,5,451,0,0,5334,5335,3,818,409,0,5335,5336,5,465,0,0,5336,5337,5,2,0,0,5337,5338,3,290,145,0,5338,5339,5,3,0,0,5339,5348,1,0,0,0,5340,5341,5,138,0,0,5341,5342,5,451,0,0,5342,5343,3,818,409,0,5343,5344,5,282,0,0,5344,5345,5,94,0,0,5345,5346,3,814,407,0,5346,5348,1,0,0,0,5347,5291,1,0,0,0,5347,5297,1,0,0,0,5347,5303,1,0,0,0,5347,5311,1,0,0,0,5347,5327,1,0,0,0,5347,5332,1,0,0,0,5347,5340,1,0,0,0,5348,455,1,0,0,0,5349,5351,5,46,0,0,5350,5352,3,366,183,0,5351,5350,1,0,0,0,5351,5352,1,0,0,0,5352,5353,1,0,0,0,5353,5354,5,321,0,0,5354,5355,3,818,409,0,5355,5356,5,36,0,0,5356,5357,5,80,0,0,5357,5358,7,65,0,0,5358,5359,5,94,0,0,5359,5361,3,780,390,0,5360,5362,3,638,319,0,5361,5360,1,0,0,0,5361,5362,1,0,0,0,5362,5363,1,0,0,0,5363,5365,5,57,0,0,5364,5366,7,66,0,0,5365,5364,1,0,0,0,5365,5366,1,0,0,0,5366,5383,1,0,0,0,5367,5384,5,270,0,0,5368,5384,3,458,229,0,5369,5371,5,2,0,0,5370,5372,3,458,229,0,5371,5370,1,0,0,0,5371,5372,1,0,0,0,5372,5379,1,0,0,0,5373,5375,5,7,0,0,5374,5376,3,458,229,0,5375,5374,1,0,0,0,5375,5376,1,0,0,0,5376,5378,1,0,0,0,5377,5373,1,0,0,0,5378,5381,1,0,0,0,5379,5377,1,0,0,0,5379,5380,1,0,0,0,5380,5382,1,0,0,0,5381,5379,1,0,0,0,5382,5384,5,3,0,0,5383,5367,1,0,0,0,5383,5368,1,0,0,0,5383,5369,1,0,0,0,5384,457,1,0,0,0,5385,5391,3,560,280,0,5386,5391,3,538,269,0,5387,5391,3,552,276,0,5388,5391,3,548,274,0,5389,5391,3,460,230,0,5390,5385,1,0,0,0,5390,5386,1,0,0,0,5390,5387,1,0,0,0,5390,5388,1,0,0,0,5390,5389,1,0,0,0,5391,459,1,0,0,0,5392,5393,5,271,0,0,5393,5395,3,818,409,0,5394,5396,3,462,231,0,5395,5394,1,0,0,0,5395,5396,1,0,0,0,5396,461,1,0,0,0,5397,5398,5,6,0,0,5398,5399,3,808,404,0,5399,463,1,0,0,0,5400,5401,5,252,0,0,5401,5402,3,818,409,0,5402,465,1,0,0,0,5403,5406,5,366,0,0,5404,5407,3,818,409,0,5405,5407,5,9,0,0,5406,5404,1,0,0,0,5406,5405,1,0,0,0,5407,467,1,0,0,0,5408,5410,5,146,0,0,5409,5411,3,470,235,0,5410,5409,1,0,0,0,5410,5411,1,0,0,0,5411,5413,1,0,0,0,5412,5414,3,474,237,0,5413,5412,1,0,0,0,5413,5414,1,0,0,0,5414,5454,1,0,0,0,5415,5416,5,340,0,0,5416,5418,5,356,0,0,5417,5419,3,474,237,0,5418,5417,1,0,0,0,5418,5419,1,0,0,0,5419,5454,1,0,0,0,5420,5421,5,322,0,0,5421,5454,3,818,409,0,5422,5424,5,308,0,0,5423,5425,5,322,0,0,5424,5423,1,0,0,0,5424,5425,1,0,0,0,5425,5426,1,0,0,0,5426,5454,3,818,409,0,5427,5428,5,290,0,0,5428,5429,5,356,0,0,5429,5454,3,808,404,0,5430,5431,7,67,0,0,5431,5432,5,291,0,0,5432,5454,3,808,404,0,5433,5435,7,68,0,0,5434,5436,3,470,235,0,5435,5434,1,0,0,0,5435,5436,1,0,0,0,5436,5442,1,0,0,0,5437,5439,5,33,0,0,5438,5440,5,269,0,0,5439,5438,1,0,0,0,5439,5440,1,0,0,0,5440,5441,1,0,0,0,5441,5443,5,153,0,0,5442,5437,1,0,0,0,5442,5443,1,0,0,0,5443,5454,1,0,0,0,5444,5446,5,319,0,0,5445,5447,3,470,235,0,5446,5445,1,0,0,0,5446,5447,1,0,0,0,5447,5448,1,0,0,0,5448,5450,5,94,0,0,5449,5451,5,322,0,0,5450,5449,1,0,0,0,5450,5451,1,0,0,0,5451,5452,1,0,0,0,5452,5454,3,818,409,0,5453,5408,1,0,0,0,5453,5415,1,0,0,0,5453,5420,1,0,0,0,5453,5422,1,0,0,0,5453,5427,1,0,0,0,5453,5430,1,0,0,0,5453,5433,1,0,0,0,5453,5444,1,0,0,0,5454,469,1,0,0,0,5455,5456,7,69,0,0,5456,471,1,0,0,0,5457,5458,5,244,0,0,5458,5459,5,251,0,0,5459,5467,3,50,25,0,5460,5461,5,300,0,0,5461,5467,7,70,0,0,5462,5464,5,77,0,0,5463,5462,1,0,0,0,5463,5464,1,0,0,0,5464,5465,1,0,0,0,5465,5467,5,54,0,0,5466,5457,1,0,0,0,5466,5460,1,0,0,0,5466,5463,1,0,0,0,5467,473,1,0,0,0,5468,5475,3,472,236,0,5469,5471,5,6,0,0,5470,5469,1,0,0,0,5470,5471,1,0,0,0,5471,5472,1,0,0,0,5472,5474,3,472,236,0,5473,5470,1,0,0,0,5474,5477,1,0,0,0,5475,5473,1,0,0,0,5475,5476,1,0,0,0,5476,475,1,0,0,0,5477,5475,1,0,0,0,5478,5481,5,46,0,0,5479,5480,5,82,0,0,5480,5482,5,311,0,0,5481,5479,1,0,0,0,5481,5482,1,0,0,0,5482,5484,1,0,0,0,5483,5485,3,122,61,0,5484,5483,1,0,0,0,5484,5485,1,0,0,0,5485,5501,1,0,0,0,5486,5487,5,376,0,0,5487,5489,3,776,388,0,5488,5490,3,146,73,0,5489,5488,1,0,0,0,5489,5490,1,0,0,0,5490,5492,1,0,0,0,5491,5493,3,102,51,0,5492,5491,1,0,0,0,5492,5493,1,0,0,0,5493,5502,1,0,0,0,5494,5495,5,303,0,0,5495,5496,5,376,0,0,5496,5497,3,776,388,0,5497,5499,3,144,72,0,5498,5500,3,102,51,0,5499,5498,1,0,0,0,5499,5500,1,0,0,0,5500,5502,1,0,0,0,5501,5486,1,0,0,0,5501,5494,1,0,0,0,5502,5503,1,0,0,0,5503,5504,5,36,0,0,5504,5511,3,560,280,0,5505,5507,5,105,0,0,5506,5508,7,71,0,0,5507,5506,1,0,0,0,5507,5508,1,0,0,0,5508,5509,1,0,0,0,5509,5510,5,42,0,0,5510,5512,5,279,0,0,5511,5505,1,0,0,0,5511,5512,1,0,0,0,5512,477,1,0,0,0,5513,5514,5,253,0,0,5514,5515,3,808,404,0,5515,479,1,0,0,0,5516,5517,5,46,0,0,5517,5518,5,175,0,0,5518,5520,3,786,393,0,5519,5521,5,105,0,0,5520,5519,1,0,0,0,5520,5521,1,0,0,0,5521,5527,1,0,0,0,5522,5524,3,482,241,0,5523,5522,1,0,0,0,5524,5525,1,0,0,0,5525,5523,1,0,0,0,5525,5526,1,0,0,0,5526,5528,1,0,0,0,5527,5523,1,0,0,0,5527,5528,1,0,0,0,5528,481,1,0,0,0,5529,5530,5,164,0,0,5530,5538,5,74,0,0,5531,5538,5,194,0,0,5532,5538,5,255,0,0,5533,5538,5,282,0,0,5534,5538,5,351,0,0,5535,5538,5,353,0,0,5536,5538,3,826,413,0,5537,5529,1,0,0,0,5537,5531,1,0,0,0,5537,5532,1,0,0,0,5537,5533,1,0,0,0,5537,5534,1,0,0,0,5537,5535,1,0,0,0,5537,5536,1,0,0,0,5538,5540,1,0,0,0,5539,5541,5,10,0,0,5540,5539,1,0,0,0,5540,5541,1,0,0,0,5541,5545,1,0,0,0,5542,5546,3,812,406,0,5543,5546,3,54,27,0,5544,5546,5,53,0,0,5545,5542,1,0,0,0,5545,5543,1,0,0,0,5545,5544,1,0,0,0,5546,483,1,0,0,0,5547,5548,5,138,0,0,5548,5549,5,175,0,0,5549,5565,3,788,394,0,5550,5551,5,333,0,0,5551,5552,5,351,0,0,5552,5554,3,768,384,0,5553,5550,1,0,0,0,5553,5554,1,0,0,0,5554,5566,1,0,0,0,5555,5557,5,105,0,0,5556,5555,1,0,0,0,5556,5557,1,0,0,0,5557,5559,1,0,0,0,5558,5560,3,482,241,0,5559,5558,1,0,0,0,5560,5561,1,0,0,0,5561,5559,1,0,0,0,5561,5562,1,0,0,0,5562,5564,1,0,0,0,5563,5556,1,0,0,0,5563,5564,1,0,0,0,5564,5566,1,0,0,0,5565,5553,1,0,0,0,5565,5563,1,0,0,0,5566,485,1,0,0,0,5567,5568,5,138,0,0,5568,5569,5,175,0,0,5569,5571,3,788,394,0,5570,5572,3,64,32,0,5571,5570,1,0,0,0,5571,5572,1,0,0,0,5572,487,1,0,0,0,5573,5574,5,138,0,0,5574,5575,5,108,0,0,5575,5576,3,316,158,0,5576,5577,5,305,0,0,5577,5578,5,375,0,0,5578,489,1,0,0,0,5579,5580,5,138,0,0,5580,5581,5,349,0,0,5581,5582,7,16,0,0,5582,5583,3,40,20,0,5583,491,1,0,0,0,5584,5585,5,46,0,0,5585,5586,5,189,0,0,5586,5588,3,316,158,0,5587,5589,5,36,0,0,5588,5587,1,0,0,0,5588,5589,1,0,0,0,5589,5590,1,0,0,0,5590,5594,3,652,326,0,5591,5593,3,134,67,0,5592,5591,1,0,0,0,5593,5596,1,0,0,0,5594,5592,1,0,0,0,5594,5595,1,0,0,0,5595,493,1,0,0,0,5596,5594,1,0,0,0,5597,5598,5,138,0,0,5598,5599,5,189,0,0,5599,5622,3,316,158,0,5600,5623,3,94,47,0,5601,5602,7,15,0,0,5602,5603,5,77,0,0,5603,5623,5,78,0,0,5604,5607,5,133,0,0,5605,5606,5,45,0,0,5606,5608,3,818,409,0,5607,5605,1,0,0,0,5607,5608,1,0,0,0,5608,5609,1,0,0,0,5609,5623,3,142,71,0,5610,5611,5,191,0,0,5611,5613,5,45,0,0,5612,5614,3,422,211,0,5613,5612,1,0,0,0,5613,5614,1,0,0,0,5614,5615,1,0,0,0,5615,5617,3,818,409,0,5616,5618,3,96,48,0,5617,5616,1,0,0,0,5617,5618,1,0,0,0,5618,5623,1,0,0,0,5619,5620,5,372,0,0,5620,5621,5,45,0,0,5621,5623,3,818,409,0,5622,5600,1,0,0,0,5622,5601,1,0,0,0,5622,5604,1,0,0,0,5622,5610,1,0,0,0,5622,5619,1,0,0,0,5623,495,1,0,0,0,5624,5625,5,138,0,0,5625,5626,5,355,0,0,5626,5627,5,325,0,0,5627,5628,5,185,0,0,5628,5629,3,316,158,0,5629,5630,3,284,142,0,5630,497,1,0,0,0,5631,5632,5,138,0,0,5632,5633,5,355,0,0,5633,5634,5,325,0,0,5634,5635,5,163,0,0,5635,5636,3,316,158,0,5636,5637,7,72,0,0,5637,5638,5,257,0,0,5638,5639,5,62,0,0,5639,5640,3,784,392,0,5640,5641,5,105,0,0,5641,5642,3,314,157,0,5642,5673,1,0,0,0,5643,5644,5,138,0,0,5644,5645,5,355,0,0,5645,5646,5,325,0,0,5646,5647,5,163,0,0,5647,5648,3,316,158,0,5648,5649,5,138,0,0,5649,5652,5,257,0,0,5650,5651,5,62,0,0,5651,5653,3,784,392,0,5652,5650,1,0,0,0,5652,5653,1,0,0,0,5653,5654,1,0,0,0,5654,5655,5,311,0,0,5655,5656,3,316,158,0,5656,5657,5,105,0,0,5657,5658,3,316,158,0,5658,5673,1,0,0,0,5659,5660,5,138,0,0,5660,5661,5,355,0,0,5661,5662,5,325,0,0,5662,5663,5,163,0,0,5663,5664,3,316,158,0,5664,5665,5,191,0,0,5665,5667,5,257,0,0,5666,5668,3,422,211,0,5667,5666,1,0,0,0,5667,5668,1,0,0,0,5668,5669,1,0,0,0,5669,5670,5,62,0,0,5670,5671,3,784,392,0,5671,5673,1,0,0,0,5672,5631,1,0,0,0,5672,5643,1,0,0,0,5672,5659,1,0,0,0,5673,499,1,0,0,0,5674,5676,5,46,0,0,5675,5677,5,53,0,0,5676,5675,1,0,0,0,5676,5677,1,0,0,0,5677,5678,1,0,0,0,5678,5679,5,168,0,0,5679,5680,3,316,158,0,5680,5681,5,62,0,0,5681,5682,3,808,404,0,5682,5683,5,94,0,0,5683,5684,3,808,404,0,5684,5685,5,64,0,0,5685,5686,3,316,158,0,5686,501,1,0,0,0,5687,5689,5,158,0,0,5688,5690,3,514,257,0,5689,5688,1,0,0,0,5689,5690,1,0,0,0,5690,5695,1,0,0,0,5691,5693,3,774,387,0,5692,5694,3,170,85,0,5693,5692,1,0,0,0,5693,5694,1,0,0,0,5694,5696,1,0,0,0,5695,5691,1,0,0,0,5695,5696,1,0,0,0,5696,5713,1,0,0,0,5697,5698,5,158,0,0,5698,5699,5,2,0,0,5699,5704,3,514,257,0,5700,5701,5,6,0,0,5701,5703,3,514,257,0,5702,5700,1,0,0,0,5703,5706,1,0,0,0,5704,5702,1,0,0,0,5704,5705,1,0,0,0,5705,5707,1,0,0,0,5706,5704,1,0,0,0,5707,5708,5,3,0,0,5708,5710,3,774,387,0,5709,5711,3,170,85,0,5710,5709,1,0,0,0,5710,5711,1,0,0,0,5711,5713,1,0,0,0,5712,5687,1,0,0,0,5712,5697,1,0,0,0,5713,503,1,0,0,0,5714,5730,5,370,0,0,5715,5717,5,113,0,0,5716,5715,1,0,0,0,5716,5717,1,0,0,0,5717,5719,1,0,0,0,5718,5720,5,112,0,0,5719,5718,1,0,0,0,5719,5720,1,0,0,0,5720,5722,1,0,0,0,5721,5723,3,514,257,0,5722,5721,1,0,0,0,5722,5723,1,0,0,0,5723,5725,1,0,0,0,5724,5726,3,508,254,0,5725,5724,1,0,0,0,5725,5726,1,0,0,0,5726,5731,1,0,0,0,5727,5729,3,524,262,0,5728,5727,1,0,0,0,5728,5729,1,0,0,0,5729,5731,1,0,0,0,5730,5716,1,0,0,0,5730,5728,1,0,0,0,5731,5733,1,0,0,0,5732,5734,3,518,259,0,5733,5732,1,0,0,0,5733,5734,1,0,0,0,5734,505,1,0,0,0,5735,5750,3,508,254,0,5736,5738,3,514,257,0,5737,5736,1,0,0,0,5737,5738,1,0,0,0,5738,5751,1,0,0,0,5739,5740,5,2,0,0,5740,5745,3,512,256,0,5741,5742,5,6,0,0,5742,5744,3,512,256,0,5743,5741,1,0,0,0,5744,5747,1,0,0,0,5745,5743,1,0,0,0,5745,5746,1,0,0,0,5746,5748,1,0,0,0,5747,5745,1,0,0,0,5748,5749,5,3,0,0,5749,5751,1,0,0,0,5750,5737,1,0,0,0,5750,5739,1,0,0,0,5751,5753,1,0,0,0,5752,5754,3,518,259,0,5753,5752,1,0,0,0,5753,5754,1,0,0,0,5754,507,1,0,0,0,5755,5756,7,73,0,0,5756,509,1,0,0,0,5757,5760,3,822,411,0,5758,5760,3,508,254,0,5759,5757,1,0,0,0,5759,5758,1,0,0,0,5760,5763,1,0,0,0,5761,5764,3,54,27,0,5762,5764,3,202,101,0,5763,5761,1,0,0,0,5763,5762,1,0,0,0,5763,5764,1,0,0,0,5764,511,1,0,0,0,5765,5767,7,74,0,0,5766,5768,7,75,0,0,5767,5766,1,0,0,0,5767,5768,1,0,0,0,5768,5775,1,0,0,0,5769,5772,5,548,0,0,5770,5773,3,202,101,0,5771,5773,3,808,404,0,5772,5770,1,0,0,0,5772,5771,1,0,0,0,5773,5775,1,0,0,0,5774,5765,1,0,0,0,5774,5769,1,0,0,0,5775,513,1,0,0,0,5776,5778,5,128,0,0,5777,5779,7,75,0,0,5778,5777,1,0,0,0,5778,5779,1,0,0,0,5779,515,1,0,0,0,5780,5782,3,774,387,0,5781,5783,3,144,72,0,5782,5781,1,0,0,0,5782,5783,1,0,0,0,5783,517,1,0,0,0,5784,5789,3,516,258,0,5785,5786,5,6,0,0,5786,5788,3,516,258,0,5787,5785,1,0,0,0,5788,5791,1,0,0,0,5789,5787,1,0,0,0,5789,5790,1,0,0,0,5790,519,1,0,0,0,5791,5789,1,0,0,0,5792,5803,5,203,0,0,5793,5804,3,524,262,0,5794,5796,5,128,0,0,5795,5794,1,0,0,0,5795,5796,1,0,0,0,5796,5804,1,0,0,0,5797,5799,3,508,254,0,5798,5800,3,514,257,0,5799,5798,1,0,0,0,5799,5800,1,0,0,0,5800,5802,1,0,0,0,5801,5797,1,0,0,0,5801,5802,1,0,0,0,5802,5804,1,0,0,0,5803,5793,1,0,0,0,5803,5795,1,0,0,0,5803,5801,1,0,0,0,5804,5805,1,0,0,0,5805,5806,3,522,261,0,5806,521,1,0,0,0,5807,5817,3,560,280,0,5808,5817,3,538,269,0,5809,5817,3,552,276,0,5810,5817,3,548,274,0,5811,5817,3,558,279,0,5812,5817,3,186,93,0,5813,5817,3,192,96,0,5814,5817,3,194,97,0,5815,5817,3,532,266,0,5816,5807,1,0,0,0,5816,5808,1,0,0,0,5816,5809,1,0,0,0,5816,5810,1,0,0,0,5816,5811,1,0,0,0,5816,5812,1,0,0,0,5816,5813,1,0,0,0,5816,5814,1,0,0,0,5816,5815,1,0,0,0,5817,523,1,0,0,0,5818,5819,5,2,0,0,5819,5824,3,510,255,0,5820,5821,5,6,0,0,5821,5823,3,510,255,0,5822,5820,1,0,0,0,5823,5826,1,0,0,0,5824,5822,1,0,0,0,5824,5825,1,0,0,0,5825,5827,1,0,0,0,5826,5824,1,0,0,0,5827,5828,5,3,0,0,5828,525,1,0,0,0,5829,5830,5,290,0,0,5830,5832,3,818,409,0,5831,5833,3,528,264,0,5832,5831,1,0,0,0,5832,5833,1,0,0,0,5833,5834,1,0,0,0,5834,5835,5,36,0,0,5835,5836,3,530,265,0,5836,527,1,0,0,0,5837,5838,5,2,0,0,5838,5843,3,652,326,0,5839,5840,5,6,0,0,5840,5842,3,652,326,0,5841,5839,1,0,0,0,5842,5845,1,0,0,0,5843,5841,1,0,0,0,5843,5844,1,0,0,0,5844,5846,1,0,0,0,5845,5843,1,0,0,0,5846,5847,5,3,0,0,5847,529,1,0,0,0,5848,5853,3,560,280,0,5849,5853,3,538,269,0,5850,5853,3,552,276,0,5851,5853,3,548,274,0,5852,5848,1,0,0,0,5852,5849,1,0,0,0,5852,5850,1,0,0,0,5852,5851,1,0,0,0,5853,531,1,0,0,0,5854,5855,5,202,0,0,5855,5857,3,818,409,0,5856,5858,3,534,267,0,5857,5856,1,0,0,0,5857,5858,1,0,0,0,5858,5878,1,0,0,0,5859,5861,5,46,0,0,5860,5862,3,122,61,0,5861,5860,1,0,0,0,5861,5862,1,0,0,0,5862,5863,1,0,0,0,5863,5865,5,92,0,0,5864,5866,3,294,147,0,5865,5864,1,0,0,0,5865,5866,1,0,0,0,5866,5867,1,0,0,0,5867,5868,3,188,94,0,5868,5869,5,36,0,0,5869,5870,5,202,0,0,5870,5872,3,818,409,0,5871,5873,3,534,267,0,5872,5871,1,0,0,0,5872,5873,1,0,0,0,5873,5875,1,0,0,0,5874,5876,3,190,95,0,5875,5874,1,0,0,0,5875,5876,1,0,0,0,5876,5878,1,0,0,0,5877,5854,1,0,0,0,5877,5859,1,0,0,0,5878,533,1,0,0,0,5879,5880,5,2,0,0,5880,5881,3,730,365,0,5881,5882,5,3,0,0,5882,535,1,0,0,0,5883,5885,5,177,0,0,5884,5886,5,290,0,0,5885,5884,1,0,0,0,5885,5886,1,0,0,0,5886,5889,1,0,0,0,5887,5890,3,818,409,0,5888,5890,5,30,0,0,5889,5887,1,0,0,0,5889,5888,1,0,0,0,5890,537,1,0,0,0,5891,5893,3,572,286,0,5892,5891,1,0,0,0,5892,5893,1,0,0,0,5893,5894,1,0,0,0,5894,5895,5,241,0,0,5895,5896,5,71,0,0,5896,5899,3,774,387,0,5897,5898,5,36,0,0,5898,5900,3,818,409,0,5899,5897,1,0,0,0,5899,5900,1,0,0,0,5900,5901,1,0,0,0,5901,5923,3,540,270,0,5902,5903,5,80,0,0,5903,5911,5,464,0,0,5904,5906,3,360,180,0,5905,5907,3,638,319,0,5906,5905,1,0,0,0,5906,5907,1,0,0,0,5907,5912,1,0,0,0,5908,5909,5,80,0,0,5909,5910,5,45,0,0,5910,5912,3,818,409,0,5911,5904,1,0,0,0,5911,5908,1,0,0,0,5911,5912,1,0,0,0,5912,5913,1,0,0,0,5913,5921,5,57,0,0,5914,5915,5,369,0,0,5915,5916,5,333,0,0,5916,5918,3,554,277,0,5917,5919,3,638,319,0,5918,5917,1,0,0,0,5918,5919,1,0,0,0,5919,5922,1,0,0,0,5920,5922,5,270,0,0,5921,5914,1,0,0,0,5921,5920,1,0,0,0,5922,5924,1,0,0,0,5923,5902,1,0,0,0,5923,5924,1,0,0,0,5924,5926,1,0,0,0,5925,5927,3,546,273,0,5926,5925,1,0,0,0,5926,5927,1,0,0,0,5927,539,1,0,0,0,5928,5929,5,2,0,0,5929,5930,3,542,271,0,5930,5931,5,3,0,0,5931,5933,1,0,0,0,5932,5928,1,0,0,0,5932,5933,1,0,0,0,5933,5937,1,0,0,0,5934,5935,5,463,0,0,5935,5936,7,76,0,0,5936,5938,5,450,0,0,5937,5934,1,0,0,0,5937,5938,1,0,0,0,5938,5941,1,0,0,0,5939,5942,3,910,455,0,5940,5942,3,560,280,0,5941,5939,1,0,0,0,5941,5940,1,0,0,0,5942,541,1,0,0,0,5943,5948,3,544,272,0,5944,5945,5,6,0,0,5945,5947,3,544,272,0,5946,5944,1,0,0,0,5947,5950,1,0,0,0,5948,5946,1,0,0,0,5948,5949,1,0,0,0,5949,543,1,0,0,0,5950,5948,1,0,0,0,5951,5952,3,800,400,0,5952,5953,3,754,377,0,5953,545,1,0,0,0,5954,5955,5,87,0,0,5955,5956,3,756,378,0,5956,547,1,0,0,0,5957,5959,3,572,286,0,5958,5957,1,0,0,0,5958,5959,1,0,0,0,5959,5960,1,0,0,0,5960,5961,5,182,0,0,5961,5962,5,64,0,0,5962,5965,3,630,315,0,5963,5964,5,100,0,0,5964,5966,3,612,306,0,5965,5963,1,0,0,0,5965,5966,1,0,0,0,5966,5968,1,0,0,0,5967,5969,3,640,320,0,5968,5967,1,0,0,0,5968,5969,1,0,0,0,5969,5971,1,0,0,0,5970,5972,3,546,273,0,5971,5970,1,0,0,0,5971,5972,1,0,0,0,5972,549,1,0,0,0,5973,5975,5,256,0,0,5974,5976,5,92,0,0,5975,5974,1,0,0,0,5975,5976,1,0,0,0,5976,5977,1,0,0,0,5977,5992,3,628,314,0,5978,5989,5,68,0,0,5979,5980,7,77,0,0,5980,5990,7,78,0,0,5981,5986,5,334,0,0,5982,5983,5,369,0,0,5983,5987,5,201,0,0,5984,5985,5,414,0,0,5985,5987,5,201,0,0,5986,5982,1,0,0,0,5986,5984,1,0,0,0,5986,5987,1,0,0,0,5987,5990,1,0,0,0,5988,5990,5,201,0,0,5989,5979,1,0,0,0,5989,5981,1,0,0,0,5989,5988,1,0,0,0,5990,5991,1,0,0,0,5991,5993,5,263,0,0,5992,5978,1,0,0,0,5992,5993,1,0,0,0,5993,5995,1,0,0,0,5994,5996,5,272,0,0,5995,5994,1,0,0,0,5995,5996,1,0,0,0,5996,551,1,0,0,0,5997,5999,3,572,286,0,5998,5997,1,0,0,0,5998,5999,1,0,0,0,5999,6e3,1,0,0,0,6e3,6001,5,369,0,0,6001,6002,3,630,315,0,6002,6003,5,333,0,0,6003,6005,3,554,277,0,6004,6006,3,610,305,0,6005,6004,1,0,0,0,6005,6006,1,0,0,0,6006,6008,1,0,0,0,6007,6009,3,640,320,0,6008,6007,1,0,0,0,6008,6009,1,0,0,0,6009,6011,1,0,0,0,6010,6012,3,546,273,0,6011,6010,1,0,0,0,6011,6012,1,0,0,0,6012,553,1,0,0,0,6013,6018,3,556,278,0,6014,6015,5,6,0,0,6015,6017,3,556,278,0,6016,6014,1,0,0,0,6017,6020,1,0,0,0,6018,6016,1,0,0,0,6018,6019,1,0,0,0,6019,555,1,0,0,0,6020,6018,1,0,0,0,6021,6022,3,544,272,0,6022,6023,5,10,0,0,6023,6024,3,674,337,0,6024,6040,1,0,0,0,6025,6026,5,2,0,0,6026,6027,3,542,271,0,6027,6028,5,3,0,0,6028,6037,5,10,0,0,6029,6031,5,414,0,0,6030,6029,1,0,0,0,6030,6031,1,0,0,0,6031,6032,1,0,0,0,6032,6038,3,674,337,0,6033,6034,5,2,0,0,6034,6035,3,566,283,0,6035,6036,5,3,0,0,6036,6038,1,0,0,0,6037,6030,1,0,0,0,6037,6033,1,0,0,0,6038,6040,1,0,0,0,6039,6021,1,0,0,0,6039,6025,1,0,0,0,6040,557,1,0,0,0,6041,6042,5,178,0,0,6042,6051,3,818,409,0,6043,6045,5,269,0,0,6044,6043,1,0,0,0,6044,6045,1,0,0,0,6045,6046,1,0,0,0,6046,6050,5,324,0,0,6047,6050,5,107,0,0,6048,6050,5,240,0,0,6049,6044,1,0,0,0,6049,6047,1,0,0,0,6049,6048,1,0,0,0,6050,6053,1,0,0,0,6051,6049,1,0,0,0,6051,6052,1,0,0,0,6052,6054,1,0,0,0,6053,6051,1,0,0,0,6054,6057,5,172,0,0,6055,6056,7,26,0,0,6056,6058,5,217,0,0,6057,6055,1,0,0,0,6057,6058,1,0,0,0,6058,6059,1,0,0,0,6059,6060,5,62,0,0,6060,6061,3,560,280,0,6061,559,1,0,0,0,6062,6065,3,564,282,0,6063,6065,3,562,281,0,6064,6062,1,0,0,0,6064,6063,1,0,0,0,6065,561,1,0,0,0,6066,6069,5,2,0,0,6067,6070,3,564,282,0,6068,6070,3,562,281,0,6069,6067,1,0,0,0,6069,6068,1,0,0,0,6070,6071,1,0,0,0,6071,6072,5,3,0,0,6072,563,1,0,0,0,6073,6075,3,572,286,0,6074,6073,1,0,0,0,6074,6075,1,0,0,0,6075,6076,1,0,0,0,6076,6078,3,566,283,0,6077,6079,3,586,293,0,6078,6077,1,0,0,0,6078,6079,1,0,0,0,6079,6088,1,0,0,0,6080,6082,3,606,303,0,6081,6083,3,590,295,0,6082,6081,1,0,0,0,6082,6083,1,0,0,0,6083,6089,1,0,0,0,6084,6086,3,590,295,0,6085,6087,3,606,303,0,6086,6085,1,0,0,0,6086,6087,1,0,0,0,6087,6089,1,0,0,0,6088,6080,1,0,0,0,6088,6084,1,0,0,0,6088,6089,1,0,0,0,6089,565,1,0,0,0,6090,6093,3,568,284,0,6091,6093,3,562,281,0,6092,6090,1,0,0,0,6092,6091,1,0,0,0,6093,567,1,0,0,0,6094,6104,5,88,0,0,6095,6097,5,30,0,0,6096,6095,1,0,0,0,6096,6097,1,0,0,0,6097,6099,1,0,0,0,6098,6100,3,580,290,0,6099,6098,1,0,0,0,6099,6100,1,0,0,0,6100,6105,1,0,0,0,6101,6103,3,584,292,0,6102,6101,1,0,0,0,6102,6103,1,0,0,0,6103,6105,1,0,0,0,6104,6096,1,0,0,0,6104,6102,1,0,0,0,6105,6106,1,0,0,0,6106,6117,3,930,465,0,6107,6117,3,608,304,0,6108,6109,5,92,0,0,6109,6117,3,624,312,0,6110,6111,3,562,281,0,6111,6114,3,570,285,0,6112,6115,3,568,284,0,6113,6115,3,562,281,0,6114,6112,1,0,0,0,6114,6113,1,0,0,0,6115,6117,1,0,0,0,6116,6094,1,0,0,0,6116,6107,1,0,0,0,6116,6108,1,0,0,0,6116,6110,1,0,0,0,6117,6125,1,0,0,0,6118,6121,3,570,285,0,6119,6122,3,568,284,0,6120,6122,3,562,281,0,6121,6119,1,0,0,0,6121,6120,1,0,0,0,6122,6124,1,0,0,0,6123,6118,1,0,0,0,6124,6127,1,0,0,0,6125,6123,1,0,0,0,6125,6126,1,0,0,0,6126,569,1,0,0,0,6127,6125,1,0,0,0,6128,6130,7,79,0,0,6129,6131,7,80,0,0,6130,6129,1,0,0,0,6130,6131,1,0,0,0,6131,571,1,0,0,0,6132,6134,5,105,0,0,6133,6135,5,303,0,0,6134,6133,1,0,0,0,6134,6135,1,0,0,0,6135,6136,1,0,0,0,6136,6141,3,574,287,0,6137,6138,5,6,0,0,6138,6140,3,574,287,0,6139,6137,1,0,0,0,6140,6143,1,0,0,0,6141,6139,1,0,0,0,6141,6142,1,0,0,0,6142,573,1,0,0,0,6143,6141,1,0,0,0,6144,6146,3,818,409,0,6145,6147,3,144,72,0,6146,6145,1,0,0,0,6146,6147,1,0,0,0,6147,6148,1,0,0,0,6148,6153,5,36,0,0,6149,6151,5,77,0,0,6150,6149,1,0,0,0,6150,6151,1,0,0,0,6151,6152,1,0,0,0,6152,6154,5,259,0,0,6153,6150,1,0,0,0,6153,6154,1,0,0,0,6154,6155,1,0,0,0,6155,6156,5,2,0,0,6156,6157,3,530,265,0,6157,6159,5,3,0,0,6158,6160,3,576,288,0,6159,6158,1,0,0,0,6159,6160,1,0,0,0,6160,6162,1,0,0,0,6161,6163,3,578,289,0,6162,6161,1,0,0,0,6162,6163,1,0,0,0,6163,575,1,0,0,0,6164,6165,5,325,0,0,6165,6166,7,81,0,0,6166,6167,5,207,0,0,6167,6168,5,147,0,0,6168,6169,3,148,74,0,6169,6170,5,333,0,0,6170,6171,3,800,400,0,6171,577,1,0,0,0,6172,6173,5,173,0,0,6173,6174,3,148,74,0,6174,6175,5,333,0,0,6175,6181,3,800,400,0,6176,6177,5,94,0,0,6177,6178,3,818,409,0,6178,6179,5,53,0,0,6179,6180,3,818,409,0,6180,6182,1,0,0,0,6181,6176,1,0,0,0,6181,6182,1,0,0,0,6182,6183,1,0,0,0,6183,6184,5,100,0,0,6184,6185,3,800,400,0,6185,579,1,0,0,0,6186,6192,5,71,0,0,6187,6189,5,346,0,0,6188,6187,1,0,0,0,6188,6189,1,0,0,0,6189,6190,1,0,0,0,6190,6193,3,582,291,0,6191,6193,3,730,365,0,6192,6188,1,0,0,0,6192,6191,1,0,0,0,6193,581,1,0,0,0,6194,6196,7,20,0,0,6195,6194,1,0,0,0,6195,6196,1,0,0,0,6196,6197,1,0,0,0,6197,6199,7,21,0,0,6198,6200,5,92,0,0,6199,6198,1,0,0,0,6199,6200,1,0,0,0,6200,6201,1,0,0,0,6201,6210,3,772,386,0,6202,6204,5,367,0,0,6203,6202,1,0,0,0,6203,6204,1,0,0,0,6204,6206,1,0,0,0,6205,6207,5,92,0,0,6206,6205,1,0,0,0,6206,6207,1,0,0,0,6207,6208,1,0,0,0,6208,6210,3,772,386,0,6209,6195,1,0,0,0,6209,6203,1,0,0,0,6210,583,1,0,0,0,6211,6214,5,56,0,0,6212,6213,5,80,0,0,6213,6215,3,534,267,0,6214,6212,1,0,0,0,6214,6215,1,0,0,0,6215,585,1,0,0,0,6216,6217,5,83,0,0,6217,6218,5,147,0,0,6218,6223,3,588,294,0,6219,6220,5,6,0,0,6220,6222,3,588,294,0,6221,6219,1,0,0,0,6222,6225,1,0,0,0,6223,6221,1,0,0,0,6223,6224,1,0,0,0,6224,587,1,0,0,0,6225,6223,1,0,0,0,6226,6230,3,734,367,0,6227,6228,5,100,0,0,6228,6231,3,726,363,0,6229,6231,7,55,0,0,6230,6227,1,0,0,0,6230,6229,1,0,0,0,6230,6231,1,0,0,0,6231,6234,1,0,0,0,6232,6233,5,273,0,0,6233,6235,7,56,0,0,6234,6232,1,0,0,0,6234,6235,1,0,0,0,6235,589,1,0,0,0,6236,6238,3,596,298,0,6237,6239,3,594,297,0,6238,6237,1,0,0,0,6238,6239,1,0,0,0,6239,6248,1,0,0,0,6240,6243,3,592,296,0,6241,6243,3,594,297,0,6242,6240,1,0,0,0,6242,6241,1,0,0,0,6243,6245,1,0,0,0,6244,6246,3,596,298,0,6245,6244,1,0,0,0,6245,6246,1,0,0,0,6246,6248,1,0,0,0,6247,6236,1,0,0,0,6247,6242,1,0,0,0,6248,591,1,0,0,0,6249,6252,5,74,0,0,6250,6253,3,674,337,0,6251,6253,5,30,0,0,6252,6250,1,0,0,0,6252,6251,1,0,0,0,6253,6256,1,0,0,0,6254,6255,5,6,0,0,6255,6257,3,674,337,0,6256,6254,1,0,0,0,6256,6257,1,0,0,0,6257,593,1,0,0,0,6258,6259,5,61,0,0,6259,6261,7,82,0,0,6260,6262,3,598,299,0,6261,6260,1,0,0,0,6261,6262,1,0,0,0,6262,6263,1,0,0,0,6263,6267,7,83,0,0,6264,6268,5,81,0,0,6265,6266,5,105,0,0,6266,6268,5,467,0,0,6267,6264,1,0,0,0,6267,6265,1,0,0,0,6268,595,1,0,0,0,6269,6274,5,79,0,0,6270,6271,3,598,299,0,6271,6272,7,83,0,0,6272,6275,1,0,0,0,6273,6275,3,674,337,0,6274,6270,1,0,0,0,6274,6273,1,0,0,0,6275,597,1,0,0,0,6276,6277,7,29,0,0,6277,6280,7,84,0,0,6278,6280,3,682,341,0,6279,6276,1,0,0,0,6279,6278,1,0,0,0,6280,599,1,0,0,0,6281,6282,5,66,0,0,6282,6284,5,147,0,0,6283,6285,7,80,0,0,6284,6283,1,0,0,0,6284,6285,1,0,0,0,6285,6286,1,0,0,0,6286,6287,3,602,301,0,6287,601,1,0,0,0,6288,6293,3,604,302,0,6289,6290,5,6,0,0,6290,6292,3,604,302,0,6291,6289,1,0,0,0,6292,6295,1,0,0,0,6293,6291,1,0,0,0,6293,6294,1,0,0,0,6294,603,1,0,0,0,6295,6293,1,0,0,0,6296,6320,3,734,367,0,6297,6298,5,2,0,0,6298,6320,5,3,0,0,6299,6301,7,85,0,0,6300,6299,1,0,0,0,6300,6301,1,0,0,0,6301,6302,1,0,0,0,6302,6303,5,2,0,0,6303,6308,3,734,367,0,6304,6305,5,6,0,0,6305,6307,3,734,367,0,6306,6304,1,0,0,0,6307,6310,1,0,0,0,6308,6306,1,0,0,0,6308,6309,1,0,0,0,6309,6311,1,0,0,0,6310,6308,1,0,0,0,6311,6312,5,3,0,0,6312,6320,1,0,0,0,6313,6314,5,470,0,0,6314,6315,5,471,0,0,6315,6316,5,2,0,0,6316,6317,3,602,301,0,6317,6318,5,3,0,0,6318,6320,1,0,0,0,6319,6296,1,0,0,0,6319,6297,1,0,0,0,6319,6300,1,0,0,0,6319,6313,1,0,0,0,6320,605,1,0,0,0,6321,6331,5,62,0,0,6322,6323,5,269,0,0,6323,6325,5,245,0,0,6324,6322,1,0,0,0,6324,6325,1,0,0,0,6325,6326,1,0,0,0,6326,6332,5,369,0,0,6327,6329,5,245,0,0,6328,6327,1,0,0,0,6328,6329,1,0,0,0,6329,6330,1,0,0,0,6330,6332,5,334,0,0,6331,6324,1,0,0,0,6331,6328,1,0,0,0,6332,6335,1,0,0,0,6333,6334,5,275,0,0,6334,6336,3,760,380,0,6335,6333,1,0,0,0,6335,6336,1,0,0,0,6336,6340,1,0,0,0,6337,6341,5,272,0,0,6338,6339,5,465,0,0,6339,6341,5,466,0,0,6340,6337,1,0,0,0,6340,6338,1,0,0,0,6340,6341,1,0,0,0,6341,6343,1,0,0,0,6342,6321,1,0,0,0,6343,6344,1,0,0,0,6344,6342,1,0,0,0,6344,6345,1,0,0,0,6345,6350,1,0,0,0,6346,6347,5,62,0,0,6347,6348,5,300,0,0,6348,6350,5,81,0,0,6349,6342,1,0,0,0,6349,6346,1,0,0,0,6350,607,1,0,0,0,6351,6352,5,422,0,0,6352,6357,3,534,267,0,6353,6354,5,6,0,0,6354,6356,3,534,267,0,6355,6353,1,0,0,0,6356,6359,1,0,0,0,6357,6355,1,0,0,0,6357,6358,1,0,0,0,6358,609,1,0,0,0,6359,6357,1,0,0,0,6360,6361,5,64,0,0,6361,6362,3,612,306,0,6362,611,1,0,0,0,6363,6368,3,614,307,0,6364,6365,5,6,0,0,6365,6367,3,614,307,0,6366,6364,1,0,0,0,6367,6370,1,0,0,0,6368,6366,1,0,0,0,6368,6369,1,0,0,0,6369,613,1,0,0,0,6370,6368,1,0,0,0,6371,6386,3,624,312,0,6372,6374,5,81,0,0,6373,6372,1,0,0,0,6373,6374,1,0,0,0,6374,6375,1,0,0,0,6375,6377,3,778,389,0,6376,6378,5,9,0,0,6377,6376,1,0,0,0,6377,6378,1,0,0,0,6378,6380,1,0,0,0,6379,6381,3,148,74,0,6380,6379,1,0,0,0,6380,6381,1,0,0,0,6381,6383,1,0,0,0,6382,6384,3,638,319,0,6383,6382,1,0,0,0,6383,6384,1,0,0,0,6384,6386,1,0,0,0,6385,6371,1,0,0,0,6385,6373,1,0,0,0,6386,6388,1,0,0,0,6387,6389,3,616,308,0,6388,6387,1,0,0,0,6388,6389,1,0,0,0,6389,6391,1,0,0,0,6390,6392,3,632,316,0,6391,6390,1,0,0,0,6391,6392,1,0,0,0,6392,6435,1,0,0,0,6393,6395,5,72,0,0,6394,6393,1,0,0,0,6394,6395,1,0,0,0,6395,6408,1,0,0,0,6396,6398,3,646,323,0,6397,6399,3,616,308,0,6398,6397,1,0,0,0,6398,6399,1,0,0,0,6399,6409,1,0,0,0,6400,6402,3,634,317,0,6401,6403,3,618,309,0,6402,6401,1,0,0,0,6402,6403,1,0,0,0,6403,6409,1,0,0,0,6404,6406,3,562,281,0,6405,6407,3,616,308,0,6406,6405,1,0,0,0,6406,6407,1,0,0,0,6407,6409,1,0,0,0,6408,6396,1,0,0,0,6408,6400,1,0,0,0,6408,6404,1,0,0,0,6409,6435,1,0,0,0,6410,6411,5,2,0,0,6411,6428,3,614,307,0,6412,6413,5,110,0,0,6413,6414,5,118,0,0,6414,6429,3,614,307,0,6415,6417,5,121,0,0,6416,6418,3,620,310,0,6417,6416,1,0,0,0,6417,6418,1,0,0,0,6418,6419,1,0,0,0,6419,6420,5,118,0,0,6420,6429,3,614,307,0,6421,6423,3,620,310,0,6422,6421,1,0,0,0,6422,6423,1,0,0,0,6423,6424,1,0,0,0,6424,6425,5,118,0,0,6425,6426,3,614,307,0,6426,6427,3,622,311,0,6427,6429,1,0,0,0,6428,6412,1,0,0,0,6428,6415,1,0,0,0,6428,6422,1,0,0,0,6428,6429,1,0,0,0,6429,6430,1,0,0,0,6430,6432,5,3,0,0,6431,6433,3,616,308,0,6432,6431,1,0,0,0,6432,6433,1,0,0,0,6433,6435,1,0,0,0,6434,6385,1,0,0,0,6434,6394,1,0,0,0,6434,6410,1,0,0,0,6435,6454,1,0,0,0,6436,6437,5,110,0,0,6437,6438,5,118,0,0,6438,6453,3,614,307,0,6439,6441,5,121,0,0,6440,6442,3,620,310,0,6441,6440,1,0,0,0,6441,6442,1,0,0,0,6442,6443,1,0,0,0,6443,6444,5,118,0,0,6444,6453,3,614,307,0,6445,6447,3,620,310,0,6446,6445,1,0,0,0,6446,6447,1,0,0,0,6447,6448,1,0,0,0,6448,6449,5,118,0,0,6449,6450,3,614,307,0,6450,6451,3,622,311,0,6451,6453,1,0,0,0,6452,6436,1,0,0,0,6452,6439,1,0,0,0,6452,6446,1,0,0,0,6453,6456,1,0,0,0,6454,6452,1,0,0,0,6454,6455,1,0,0,0,6455,615,1,0,0,0,6456,6454,1,0,0,0,6457,6459,5,36,0,0,6458,6457,1,0,0,0,6458,6459,1,0,0,0,6459,6460,1,0,0,0,6460,6465,3,818,409,0,6461,6462,5,2,0,0,6462,6463,3,784,392,0,6463,6464,5,3,0,0,6464,6466,1,0,0,0,6465,6461,1,0,0,0,6465,6466,1,0,0,0,6466,617,1,0,0,0,6467,6480,3,616,308,0,6468,6470,5,36,0,0,6469,6471,3,818,409,0,6470,6469,1,0,0,0,6470,6471,1,0,0,0,6471,6474,1,0,0,0,6472,6474,3,818,409,0,6473,6468,1,0,0,0,6473,6472,1,0,0,0,6474,6475,1,0,0,0,6475,6476,5,2,0,0,6476,6477,3,642,321,0,6477,6478,5,3,0,0,6478,6480,1,0,0,0,6479,6467,1,0,0,0,6479,6473,1,0,0,0,6480,619,1,0,0,0,6481,6483,7,86,0,0,6482,6484,5,123,0,0,6483,6482,1,0,0,0,6483,6484,1,0,0,0,6484,621,1,0,0,0,6485,6486,5,100,0,0,6486,6490,3,144,72,0,6487,6488,5,80,0,0,6488,6490,3,674,337,0,6489,6485,1,0,0,0,6489,6487,1,0,0,0,6490,623,1,0,0,0,6491,6507,3,322,161,0,6492,6498,5,81,0,0,6493,6499,3,774,387,0,6494,6495,5,2,0,0,6495,6496,3,774,387,0,6496,6497,5,3,0,0,6497,6499,1,0,0,0,6498,6493,1,0,0,0,6498,6494,1,0,0,0,6499,6507,1,0,0,0,6500,6501,5,68,0,0,6501,6504,5,323,0,0,6502,6505,3,790,395,0,6503,6505,5,111,0,0,6504,6502,1,0,0,0,6504,6503,1,0,0,0,6505,6507,1,0,0,0,6506,6491,1,0,0,0,6506,6492,1,0,0,0,6506,6500,1,0,0,0,6507,625,1,0,0,0,6508,6509,5,92,0,0,6509,6511,3,322,161,0,6510,6512,3,144,72,0,6511,6510,1,0,0,0,6511,6512,1,0,0,0,6512,6514,1,0,0,0,6513,6515,3,638,319,0,6514,6513,1,0,0,0,6514,6515,1,0,0,0,6515,6533,1,0,0,0,6516,6517,5,92,0,0,6517,6523,5,81,0,0,6518,6524,3,774,387,0,6519,6520,5,2,0,0,6520,6521,3,774,387,0,6521,6522,5,3,0,0,6522,6524,1,0,0,0,6523,6518,1,0,0,0,6523,6519,1,0,0,0,6524,6533,1,0,0,0,6525,6526,5,350,0,0,6526,6527,5,68,0,0,6527,6530,5,323,0,0,6528,6531,3,790,395,0,6529,6531,5,111,0,0,6530,6528,1,0,0,0,6530,6529,1,0,0,0,6531,6533,1,0,0,0,6532,6508,1,0,0,0,6532,6516,1,0,0,0,6532,6525,1,0,0,0,6533,627,1,0,0,0,6534,6539,3,624,312,0,6535,6536,5,6,0,0,6536,6538,3,624,312,0,6537,6535,1,0,0,0,6538,6541,1,0,0,0,6539,6537,1,0,0,0,6539,6540,1,0,0,0,6540,629,1,0,0,0,6541,6539,1,0,0,0,6542,6547,3,624,312,0,6543,6545,5,36,0,0,6544,6543,1,0,0,0,6544,6545,1,0,0,0,6545,6546,1,0,0,0,6546,6548,3,818,409,0,6547,6544,1,0,0,0,6547,6548,1,0,0,0,6548,631,1,0,0,0,6549,6550,5,472,0,0,6550,6551,3,806,403,0,6551,6557,3,534,267,0,6552,6553,5,310,0,0,6553,6554,5,2,0,0,6554,6555,3,674,337,0,6555,6556,5,3,0,0,6556,6558,1,0,0,0,6557,6552,1,0,0,0,6557,6558,1,0,0,0,6558,633,1,0,0,0,6559,6574,3,688,344,0,6560,6561,5,320,0,0,6561,6562,5,64,0,0,6562,6563,5,2,0,0,6563,6568,3,636,318,0,6564,6565,5,6,0,0,6565,6567,3,636,318,0,6566,6564,1,0,0,0,6567,6570,1,0,0,0,6568,6566,1,0,0,0,6568,6569,1,0,0,0,6569,6571,1,0,0,0,6570,6568,1,0,0,0,6571,6572,5,3,0,0,6572,6574,1,0,0,0,6573,6559,1,0,0,0,6573,6560,1,0,0,0,6574,6577,1,0,0,0,6575,6576,5,105,0,0,6576,6578,5,473,0,0,6577,6575,1,0,0,0,6577,6578,1,0,0,0,6578,635,1,0,0,0,6579,6585,3,688,344,0,6580,6581,5,36,0,0,6581,6582,5,2,0,0,6582,6583,3,642,321,0,6583,6584,5,3,0,0,6584,6586,1,0,0,0,6585,6580,1,0,0,0,6585,6586,1,0,0,0,6586,637,1,0,0,0,6587,6588,5,103,0,0,6588,6589,3,734,367,0,6589,639,1,0,0,0,6590,6595,5,103,0,0,6591,6592,5,434,0,0,6592,6593,5,275,0,0,6593,6596,3,818,409,0,6594,6596,3,674,337,0,6595,6591,1,0,0,0,6595,6594,1,0,0,0,6596,641,1,0,0,0,6597,6602,3,644,322,0,6598,6599,5,6,0,0,6599,6601,3,644,322,0,6600,6598,1,0,0,0,6601,6604,1,0,0,0,6602,6600,1,0,0,0,6602,6603,1,0,0,0,6603,643,1,0,0,0,6604,6602,1,0,0,0,6605,6606,3,818,409,0,6606,6608,3,652,326,0,6607,6609,3,98,49,0,6608,6607,1,0,0,0,6608,6609,1,0,0,0,6609,645,1,0,0,0,6610,6611,5,474,0,0,6611,6625,5,2,0,0,6612,6613,5,476,0,0,6613,6614,5,2,0,0,6614,6619,3,650,325,0,6615,6616,5,6,0,0,6616,6618,3,650,325,0,6617,6615,1,0,0,0,6618,6621,1,0,0,0,6619,6617,1,0,0,0,6619,6620,1,0,0,0,6620,6622,1,0,0,0,6621,6619,1,0,0,0,6622,6623,5,3,0,0,6623,6624,5,6,0,0,6624,6626,1,0,0,0,6625,6612,1,0,0,0,6625,6626,1,0,0,0,6626,6627,1,0,0,0,6627,6628,3,682,341,0,6628,6629,3,698,349,0,6629,6630,5,475,0,0,6630,6635,3,648,324,0,6631,6632,5,6,0,0,6632,6634,3,648,324,0,6633,6631,1,0,0,0,6634,6637,1,0,0,0,6635,6633,1,0,0,0,6635,6636,1,0,0,0,6636,6638,1,0,0,0,6637,6635,1,0,0,0,6638,6639,5,3,0,0,6639,647,1,0,0,0,6640,6659,3,818,409,0,6641,6655,3,652,326,0,6642,6645,5,53,0,0,6643,6645,3,826,413,0,6644,6642,1,0,0,0,6644,6643,1,0,0,0,6645,6646,1,0,0,0,6646,6652,3,674,337,0,6647,6649,5,77,0,0,6648,6647,1,0,0,0,6648,6649,1,0,0,0,6649,6650,1,0,0,0,6650,6652,5,78,0,0,6651,6644,1,0,0,0,6651,6648,1,0,0,0,6652,6653,1,0,0,0,6653,6651,1,0,0,0,6653,6654,1,0,0,0,6654,6656,1,0,0,0,6655,6651,1,0,0,0,6655,6656,1,0,0,0,6656,6660,1,0,0,0,6657,6658,5,62,0,0,6658,6660,5,473,0,0,6659,6641,1,0,0,0,6659,6657,1,0,0,0,6660,649,1,0,0,0,6661,6662,3,682,341,0,6662,6663,5,36,0,0,6663,6664,3,824,412,0,6664,6668,1,0,0,0,6665,6666,5,53,0,0,6666,6668,3,682,341,0,6667,6661,1,0,0,0,6667,6665,1,0,0,0,6668,651,1,0,0,0,6669,6671,5,415,0,0,6670,6669,1,0,0,0,6670,6671,1,0,0,0,6671,6672,1,0,0,0,6672,6689,3,654,327,0,6673,6675,5,4,0,0,6674,6676,5,571,0,0,6675,6674,1,0,0,0,6675,6676,1,0,0,0,6676,6677,1,0,0,0,6677,6679,5,5,0,0,6678,6673,1,0,0,0,6679,6682,1,0,0,0,6680,6678,1,0,0,0,6680,6681,1,0,0,0,6681,6690,1,0,0,0,6682,6680,1,0,0,0,6683,6687,5,35,0,0,6684,6685,5,4,0,0,6685,6686,5,571,0,0,6686,6688,5,5,0,0,6687,6684,1,0,0,0,6687,6688,1,0,0,0,6688,6690,1,0,0,0,6689,6680,1,0,0,0,6689,6683,1,0,0,0,6690,6696,1,0,0,0,6691,6692,3,780,390,0,6692,6693,5,27,0,0,6693,6694,7,87,0,0,6694,6696,1,0,0,0,6695,6670,1,0,0,0,6695,6691,1,0,0,0,6696,653,1,0,0,0,6697,6699,3,820,410,0,6698,6700,3,318,159,0,6699,6698,1,0,0,0,6699,6700,1,0,0,0,6700,6702,1,0,0,0,6701,6703,3,534,267,0,6702,6701,1,0,0,0,6702,6703,1,0,0,0,6703,6713,1,0,0,0,6704,6713,3,656,328,0,6705,6710,5,403,0,0,6706,6708,3,668,334,0,6707,6706,1,0,0,0,6707,6708,1,0,0,0,6708,6711,1,0,0,0,6709,6711,3,660,330,0,6710,6707,1,0,0,0,6710,6709,1,0,0,0,6711,6713,1,0,0,0,6712,6697,1,0,0,0,6712,6704,1,0,0,0,6712,6705,1,0,0,0,6713,655,1,0,0,0,6714,6719,3,658,329,0,6715,6719,3,662,331,0,6716,6719,3,664,332,0,6717,6719,3,666,333,0,6718,6714,1,0,0,0,6718,6715,1,0,0,0,6718,6716,1,0,0,0,6718,6717,1,0,0,0,6719,657,1,0,0,0,6720,6737,5,401,0,0,6721,6737,5,402,0,0,6722,6737,5,416,0,0,6723,6737,5,388,0,0,6724,6737,5,413,0,0,6725,6727,5,398,0,0,6726,6728,3,660,330,0,6727,6726,1,0,0,0,6727,6728,1,0,0,0,6728,6737,1,0,0,0,6729,6730,5,190,0,0,6730,6737,5,412,0,0,6731,6733,7,88,0,0,6732,6734,3,534,267,0,6733,6732,1,0,0,0,6733,6734,1,0,0,0,6734,6737,1,0,0,0,6735,6737,5,390,0,0,6736,6720,1,0,0,0,6736,6721,1,0,0,0,6736,6722,1,0,0,0,6736,6723,1,0,0,0,6736,6724,1,0,0,0,6736,6725,1,0,0,0,6736,6729,1,0,0,0,6736,6731,1,0,0,0,6736,6735,1,0,0,0,6737,659,1,0,0,0,6738,6739,5,2,0,0,6739,6740,5,571,0,0,6740,6741,5,3,0,0,6741,661,1,0,0,0,6742,6744,5,389,0,0,6743,6745,5,374,0,0,6744,6743,1,0,0,0,6744,6745,1,0,0,0,6745,6747,1,0,0,0,6746,6748,3,534,267,0,6747,6746,1,0,0,0,6747,6748,1,0,0,0,6748,663,1,0,0,0,6749,6751,7,89,0,0,6750,6752,5,374,0,0,6751,6750,1,0,0,0,6751,6752,1,0,0,0,6752,6760,1,0,0,0,6753,6760,5,423,0,0,6754,6755,5,405,0,0,6755,6757,7,90,0,0,6756,6758,5,374,0,0,6757,6756,1,0,0,0,6757,6758,1,0,0,0,6758,6760,1,0,0,0,6759,6749,1,0,0,0,6759,6753,1,0,0,0,6759,6754,1,0,0,0,6760,6762,1,0,0,0,6761,6763,3,660,330,0,6762,6761,1,0,0,0,6762,6763,1,0,0,0,6763,665,1,0,0,0,6764,6766,7,91,0,0,6765,6767,3,660,330,0,6766,6765,1,0,0,0,6766,6767,1,0,0,0,6767,6771,1,0,0,0,6768,6769,7,26,0,0,6769,6770,5,418,0,0,6770,6772,5,386,0,0,6771,6768,1,0,0,0,6771,6772,1,0,0,0,6772,667,1,0,0,0,6773,6803,5,264,0,0,6774,6803,3,670,335,0,6775,6778,5,384,0,0,6776,6777,5,94,0,0,6777,6779,5,264,0,0,6778,6776,1,0,0,0,6778,6779,1,0,0,0,6779,6803,1,0,0,0,6780,6787,5,176,0,0,6781,6785,5,94,0,0,6782,6786,5,218,0,0,6783,6786,5,261,0,0,6784,6786,3,670,335,0,6785,6782,1,0,0,0,6785,6783,1,0,0,0,6785,6784,1,0,0,0,6786,6788,1,0,0,0,6787,6781,1,0,0,0,6787,6788,1,0,0,0,6788,6803,1,0,0,0,6789,6795,5,218,0,0,6790,6793,5,94,0,0,6791,6794,5,261,0,0,6792,6794,3,670,335,0,6793,6791,1,0,0,0,6793,6792,1,0,0,0,6794,6796,1,0,0,0,6795,6790,1,0,0,0,6795,6796,1,0,0,0,6796,6803,1,0,0,0,6797,6800,5,261,0,0,6798,6799,5,94,0,0,6799,6801,3,670,335,0,6800,6798,1,0,0,0,6800,6801,1,0,0,0,6801,6803,1,0,0,0,6802,6773,1,0,0,0,6802,6774,1,0,0,0,6802,6775,1,0,0,0,6802,6780,1,0,0,0,6802,6789,1,0,0,0,6802,6797,1,0,0,0,6803,669,1,0,0,0,6804,6806,5,326,0,0,6805,6807,3,660,330,0,6806,6805,1,0,0,0,6806,6807,1,0,0,0,6807,671,1,0,0,0,6808,6809,7,92,0,0,6809,673,1,0,0,0,6810,6811,3,676,338,0,6811,675,1,0,0,0,6812,6813,6,338,-1,0,6813,6815,3,680,340,0,6814,6816,3,678,339,0,6815,6814,1,0,0,0,6815,6816,1,0,0,0,6816,6820,1,0,0,0,6817,6818,5,77,0,0,6818,6820,3,676,338,3,6819,6812,1,0,0,0,6819,6817,1,0,0,0,6820,6829,1,0,0,0,6821,6822,10,2,0,0,6822,6823,5,33,0,0,6823,6828,3,676,338,3,6824,6825,10,1,0,0,6825,6826,5,82,0,0,6826,6828,3,676,338,2,6827,6821,1,0,0,0,6827,6824,1,0,0,0,6828,6831,1,0,0,0,6829,6827,1,0,0,0,6829,6830,1,0,0,0,6830,677,1,0,0,0,6831,6829,1,0,0,0,6832,6833,3,672,336,0,6833,6834,3,680,340,0,6834,6904,1,0,0,0,6835,6836,3,672,336,0,6836,6837,3,728,364,0,6837,6843,3,718,359,0,6838,6844,3,562,281,0,6839,6840,5,2,0,0,6840,6841,3,674,337,0,6841,6842,5,3,0,0,6842,6844,1,0,0,0,6843,6838,1,0,0,0,6843,6839,1,0,0,0,6844,6904,1,0,0,0,6845,6847,5,77,0,0,6846,6845,1,0,0,0,6846,6847,1,0,0,0,6847,6848,1,0,0,0,6848,6849,5,387,0,0,6849,6850,3,680,340,0,6850,6851,5,33,0,0,6851,6852,3,680,340,0,6852,6904,1,0,0,0,6853,6855,5,77,0,0,6854,6853,1,0,0,0,6854,6855,1,0,0,0,6855,6856,1,0,0,0,6856,6857,5,68,0,0,6857,6858,5,2,0,0,6858,6863,3,674,337,0,6859,6860,5,6,0,0,6860,6862,3,674,337,0,6861,6859,1,0,0,0,6862,6865,1,0,0,0,6863,6861,1,0,0,0,6863,6864,1,0,0,0,6864,6866,1,0,0,0,6865,6863,1,0,0,0,6866,6867,5,3,0,0,6867,6904,1,0,0,0,6868,6870,5,77,0,0,6869,6868,1,0,0,0,6869,6870,1,0,0,0,6870,6871,1,0,0,0,6871,6872,5,68,0,0,6872,6904,3,562,281,0,6873,6875,5,77,0,0,6874,6873,1,0,0,0,6874,6875,1,0,0,0,6875,6884,1,0,0,0,6876,6885,5,120,0,0,6877,6885,5,114,0,0,6878,6879,5,127,0,0,6879,6885,5,94,0,0,6880,6882,5,387,0,0,6881,6883,5,91,0,0,6882,6881,1,0,0,0,6882,6883,1,0,0,0,6883,6885,1,0,0,0,6884,6876,1,0,0,0,6884,6877,1,0,0,0,6884,6878,1,0,0,0,6884,6880,1,0,0,0,6885,6886,1,0,0,0,6886,6889,3,680,340,0,6887,6888,5,197,0,0,6888,6890,3,680,340,0,6889,6887,1,0,0,0,6889,6890,1,0,0,0,6890,6904,1,0,0,0,6891,6893,5,116,0,0,6892,6894,5,77,0,0,6893,6892,1,0,0,0,6893,6894,1,0,0,0,6894,6895,1,0,0,0,6895,6904,5,78,0,0,6896,6898,5,116,0,0,6897,6899,5,77,0,0,6898,6897,1,0,0,0,6898,6899,1,0,0,0,6899,6900,1,0,0,0,6900,6901,5,56,0,0,6901,6902,5,64,0,0,6902,6904,3,680,340,0,6903,6832,1,0,0,0,6903,6835,1,0,0,0,6903,6846,1,0,0,0,6903,6854,1,0,0,0,6903,6869,1,0,0,0,6903,6874,1,0,0,0,6903,6891,1,0,0,0,6903,6896,1,0,0,0,6904,679,1,0,0,0,6905,6906,6,340,-1,0,6906,6910,3,682,341,0,6907,6908,7,29,0,0,6908,6910,3,680,340,4,6909,6905,1,0,0,0,6909,6907,1,0,0,0,6910,6927,1,0,0,0,6911,6912,10,3,0,0,6912,6913,7,93,0,0,6913,6926,3,680,340,4,6914,6915,10,2,0,0,6915,6916,7,29,0,0,6916,6926,3,680,340,3,6917,6918,10,1,0,0,6918,6919,5,15,0,0,6919,6926,3,680,340,2,6920,6921,10,5,0,0,6921,6922,5,142,0,0,6922,6923,5,418,0,0,6923,6924,5,386,0,0,6924,6926,3,674,337,0,6925,6911,1,0,0,0,6925,6914,1,0,0,0,6925,6917,1,0,0,0,6925,6920,1,0,0,0,6926,6929,1,0,0,0,6927,6925,1,0,0,0,6927,6928,1,0,0,0,6928,681,1,0,0,0,6929,6927,1,0,0,0,6930,6931,6,341,-1,0,6931,6932,7,94,0,0,6932,7019,3,562,281,0,6933,6936,5,35,0,0,6934,6937,3,562,281,0,6935,6937,3,740,370,0,6936,6934,1,0,0,0,6936,6935,1,0,0,0,6937,7019,1,0,0,0,6938,6939,5,28,0,0,6939,7019,3,754,377,0,6940,6941,5,470,0,0,6941,7019,3,534,267,0,6942,7019,5,571,0,0,6943,7019,5,573,0,0,6944,7019,5,563,0,0,6945,7019,5,567,0,0,6946,6956,3,806,403,0,6947,6957,3,808,404,0,6948,6949,5,2,0,0,6949,6951,3,736,368,0,6950,6952,3,586,293,0,6951,6950,1,0,0,0,6951,6952,1,0,0,0,6952,6953,1,0,0,0,6953,6954,5,3,0,0,6954,6955,3,808,404,0,6955,6957,1,0,0,0,6956,6947,1,0,0,0,6956,6948,1,0,0,0,6957,7019,1,0,0,0,6958,6960,3,656,328,0,6959,6958,1,0,0,0,6959,6960,1,0,0,0,6960,6961,1,0,0,0,6961,7019,3,808,404,0,6962,6970,5,403,0,0,6963,6965,3,808,404,0,6964,6966,3,668,334,0,6965,6964,1,0,0,0,6965,6966,1,0,0,0,6966,6971,1,0,0,0,6967,6968,3,660,330,0,6968,6969,3,808,404,0,6969,6971,1,0,0,0,6970,6963,1,0,0,0,6970,6967,1,0,0,0,6971,7019,1,0,0,0,6972,7019,5,96,0,0,6973,7019,5,60,0,0,6974,7019,5,78,0,0,6975,7019,5,574,0,0,6976,6977,5,2,0,0,6977,6978,3,674,337,0,6978,6979,5,3,0,0,6979,6980,3,754,377,0,6980,7019,1,0,0,0,6981,6983,5,40,0,0,6982,6984,3,674,337,0,6983,6982,1,0,0,0,6983,6984,1,0,0,0,6984,6986,1,0,0,0,6985,6987,3,748,374,0,6986,6985,1,0,0,0,6987,6988,1,0,0,0,6988,6986,1,0,0,0,6988,6989,1,0,0,0,6989,6992,1,0,0,0,6990,6991,5,58,0,0,6991,6993,3,674,337,0,6992,6990,1,0,0,0,6992,6993,1,0,0,0,6993,6994,1,0,0,0,6994,6995,5,454,0,0,6995,7019,1,0,0,0,6996,7019,3,686,343,0,6997,6999,3,562,281,0,6998,7e3,3,752,376,0,6999,6998,1,0,0,0,6999,7e3,1,0,0,0,7e3,7019,1,0,0,0,7001,7019,3,716,358,0,7002,7003,5,2,0,0,7003,7004,3,674,337,0,7004,7005,5,6,0,0,7005,7006,3,730,365,0,7006,7007,5,3,0,0,7007,7019,1,0,0,0,7008,7009,3,714,357,0,7009,7010,5,125,0,0,7010,7011,3,714,357,0,7011,7019,1,0,0,0,7012,7019,3,780,390,0,7013,7014,7,29,0,0,7014,7019,3,682,341,5,7015,7016,3,724,362,0,7016,7017,3,682,341,2,7017,7019,1,0,0,0,7018,6930,1,0,0,0,7018,6933,1,0,0,0,7018,6938,1,0,0,0,7018,6940,1,0,0,0,7018,6942,1,0,0,0,7018,6943,1,0,0,0,7018,6944,1,0,0,0,7018,6945,1,0,0,0,7018,6946,1,0,0,0,7018,6959,1,0,0,0,7018,6962,1,0,0,0,7018,6972,1,0,0,0,7018,6973,1,0,0,0,7018,6974,1,0,0,0,7018,6975,1,0,0,0,7018,6976,1,0,0,0,7018,6981,1,0,0,0,7018,6996,1,0,0,0,7018,6997,1,0,0,0,7018,7001,1,0,0,0,7018,7002,1,0,0,0,7018,7008,1,0,0,0,7018,7012,1,0,0,0,7018,7013,1,0,0,0,7018,7015,1,0,0,0,7019,7047,1,0,0,0,7020,7021,10,3,0,0,7021,7022,3,722,361,0,7022,7023,3,682,341,4,7023,7046,1,0,0,0,7024,7025,10,6,0,0,7025,7026,5,26,0,0,7026,7046,3,652,326,0,7027,7028,10,4,0,0,7028,7030,3,724,362,0,7029,7031,3,682,341,0,7030,7029,1,0,0,0,7030,7031,1,0,0,0,7031,7046,1,0,0,0,7032,7033,10,1,0,0,7033,7035,5,116,0,0,7034,7036,5,77,0,0,7035,7034,1,0,0,0,7035,7036,1,0,0,0,7036,7043,1,0,0,0,7037,7038,5,56,0,0,7038,7039,5,64,0,0,7039,7044,3,682,341,0,7040,7041,5,275,0,0,7041,7044,3,528,264,0,7042,7044,5,188,0,0,7043,7037,1,0,0,0,7043,7040,1,0,0,0,7043,7042,1,0,0,0,7044,7046,1,0,0,0,7045,7020,1,0,0,0,7045,7024,1,0,0,0,7045,7027,1,0,0,0,7045,7032,1,0,0,0,7046,7049,1,0,0,0,7047,7045,1,0,0,0,7047,7048,1,0,0,0,7048,683,1,0,0,0,7049,7047,1,0,0,0,7050,7051,3,806,403,0,7051,7072,5,2,0,0,7052,7056,3,736,368,0,7053,7054,5,6,0,0,7054,7055,5,101,0,0,7055,7057,3,738,369,0,7056,7053,1,0,0,0,7056,7057,1,0,0,0,7057,7059,1,0,0,0,7058,7060,3,586,293,0,7059,7058,1,0,0,0,7059,7060,1,0,0,0,7060,7073,1,0,0,0,7061,7062,5,101,0,0,7062,7064,3,738,369,0,7063,7065,3,586,293,0,7064,7063,1,0,0,0,7064,7065,1,0,0,0,7065,7073,1,0,0,0,7066,7067,7,80,0,0,7067,7069,3,736,368,0,7068,7070,3,586,293,0,7069,7068,1,0,0,0,7069,7070,1,0,0,0,7070,7073,1,0,0,0,7071,7073,5,9,0,0,7072,7052,1,0,0,0,7072,7061,1,0,0,0,7072,7066,1,0,0,0,7072,7071,1,0,0,0,7072,7073,1,0,0,0,7073,7074,1,0,0,0,7074,7075,5,3,0,0,7075,685,1,0,0,0,7076,7083,3,684,342,0,7077,7078,5,479,0,0,7078,7079,5,66,0,0,7079,7080,5,2,0,0,7080,7081,3,586,293,0,7081,7082,5,3,0,0,7082,7084,1,0,0,0,7083,7077,1,0,0,0,7083,7084,1,0,0,0,7084,7091,1,0,0,0,7085,7086,5,480,0,0,7086,7087,5,2,0,0,7087,7088,5,103,0,0,7088,7089,3,674,337,0,7089,7090,5,3,0,0,7090,7092,1,0,0,0,7091,7085,1,0,0,0,7091,7092,1,0,0,0,7092,7098,1,0,0,0,7093,7096,5,124,0,0,7094,7097,3,708,354,0,7095,7097,3,818,409,0,7096,7094,1,0,0,0,7096,7095,1,0,0,0,7097,7099,1,0,0,0,7098,7093,1,0,0,0,7098,7099,1,0,0,0,7099,7102,1,0,0,0,7100,7102,3,690,345,0,7101,7076,1,0,0,0,7101,7100,1,0,0,0,7102,687,1,0,0,0,7103,7106,3,684,342,0,7104,7106,3,690,345,0,7105,7103,1,0,0,0,7105,7104,1,0,0,0,7106,689,1,0,0,0,7107,7108,5,108,0,0,7108,7109,5,62,0,0,7109,7110,5,2,0,0,7110,7111,3,674,337,0,7111,7112,5,3,0,0,7112,7282,1,0,0,0,7113,7282,5,48,0,0,7114,7116,7,95,0,0,7115,7117,3,660,330,0,7116,7115,1,0,0,0,7116,7117,1,0,0,0,7117,7282,1,0,0,0,7118,7282,5,49,0,0,7119,7282,5,52,0,0,7120,7282,5,89,0,0,7121,7282,5,99,0,0,7122,7282,5,47,0,0,7123,7282,5,111,0,0,7124,7125,7,96,0,0,7125,7126,5,2,0,0,7126,7127,3,674,337,0,7127,7128,5,36,0,0,7128,7129,3,652,326,0,7129,7130,5,3,0,0,7130,7282,1,0,0,0,7131,7132,5,397,0,0,7132,7137,5,2,0,0,7133,7134,3,742,371,0,7134,7135,5,64,0,0,7135,7136,3,674,337,0,7136,7138,1,0,0,0,7137,7133,1,0,0,0,7137,7138,1,0,0,0,7138,7139,1,0,0,0,7139,7282,5,3,0,0,7140,7141,5,489,0,0,7141,7142,5,2,0,0,7142,7145,3,674,337,0,7143,7144,5,6,0,0,7144,7146,3,744,372,0,7145,7143,1,0,0,0,7145,7146,1,0,0,0,7146,7147,1,0,0,0,7147,7148,5,3,0,0,7148,7282,1,0,0,0,7149,7150,5,410,0,0,7150,7151,5,2,0,0,7151,7152,3,674,337,0,7152,7153,5,84,0,0,7153,7154,3,674,337,0,7154,7155,5,64,0,0,7155,7158,3,674,337,0,7156,7157,5,62,0,0,7157,7159,3,674,337,0,7158,7156,1,0,0,0,7158,7159,1,0,0,0,7159,7160,1,0,0,0,7160,7161,5,3,0,0,7161,7282,1,0,0,0,7162,7163,5,411,0,0,7163,7168,5,2,0,0,7164,7165,3,682,341,0,7165,7166,5,68,0,0,7166,7167,3,682,341,0,7167,7169,1,0,0,0,7168,7164,1,0,0,0,7168,7169,1,0,0,0,7169,7170,1,0,0,0,7170,7282,5,3,0,0,7171,7172,5,417,0,0,7172,7174,5,2,0,0,7173,7175,3,746,373,0,7174,7173,1,0,0,0,7174,7175,1,0,0,0,7175,7176,1,0,0,0,7176,7282,5,3,0,0,7177,7178,5,421,0,0,7178,7180,5,2,0,0,7179,7181,7,97,0,0,7180,7179,1,0,0,0,7180,7181,1,0,0,0,7181,7186,1,0,0,0,7182,7184,3,674,337,0,7183,7182,1,0,0,0,7183,7184,1,0,0,0,7184,7185,1,0,0,0,7185,7187,5,64,0,0,7186,7183,1,0,0,0,7186,7187,1,0,0,0,7187,7188,1,0,0,0,7188,7189,3,730,365,0,7189,7190,1,0,0,0,7190,7191,5,3,0,0,7191,7282,1,0,0,0,7192,7193,5,408,0,0,7193,7194,5,2,0,0,7194,7195,3,674,337,0,7195,7196,5,6,0,0,7196,7197,3,674,337,0,7197,7198,5,3,0,0,7198,7282,1,0,0,0,7199,7200,7,98,0,0,7200,7282,3,534,267,0,7201,7202,5,426,0,0,7202,7203,5,2,0,0,7203,7204,5,266,0,0,7204,7214,3,824,412,0,7205,7212,5,6,0,0,7206,7207,5,424,0,0,7207,7208,5,2,0,0,7208,7209,3,692,346,0,7209,7210,5,3,0,0,7210,7213,1,0,0,0,7211,7213,3,730,365,0,7212,7206,1,0,0,0,7212,7211,1,0,0,0,7213,7215,1,0,0,0,7214,7205,1,0,0,0,7214,7215,1,0,0,0,7215,7216,1,0,0,0,7216,7217,5,3,0,0,7217,7282,1,0,0,0,7218,7219,5,427,0,0,7219,7220,5,2,0,0,7220,7221,3,682,341,0,7221,7222,3,698,349,0,7222,7223,5,3,0,0,7223,7282,1,0,0,0,7224,7225,5,428,0,0,7225,7226,5,2,0,0,7226,7227,3,692,346,0,7227,7228,5,3,0,0,7228,7282,1,0,0,0,7229,7230,5,429,0,0,7230,7231,5,2,0,0,7231,7232,3,696,348,0,7232,7235,3,674,337,0,7233,7234,7,99,0,0,7234,7236,5,378,0,0,7235,7233,1,0,0,0,7235,7236,1,0,0,0,7236,7237,1,0,0,0,7237,7238,5,3,0,0,7238,7282,1,0,0,0,7239,7240,5,430,0,0,7240,7241,5,2,0,0,7241,7242,5,266,0,0,7242,7245,3,824,412,0,7243,7244,5,6,0,0,7244,7246,3,674,337,0,7245,7243,1,0,0,0,7245,7246,1,0,0,0,7246,7247,1,0,0,0,7247,7248,5,3,0,0,7248,7282,1,0,0,0,7249,7250,5,431,0,0,7250,7251,5,2,0,0,7251,7252,5,383,0,0,7252,7253,3,674,337,0,7253,7254,5,6,0,0,7254,7258,5,375,0,0,7255,7256,5,269,0,0,7256,7259,5,450,0,0,7257,7259,3,674,337,0,7258,7255,1,0,0,0,7258,7257,1,0,0,0,7259,7269,1,0,0,0,7260,7261,5,6,0,0,7261,7267,5,339,0,0,7262,7264,5,269,0,0,7263,7262,1,0,0,0,7263,7264,1,0,0,0,7264,7265,1,0,0,0,7265,7268,5,450,0,0,7266,7268,5,385,0,0,7267,7263,1,0,0,0,7267,7266,1,0,0,0,7268,7270,1,0,0,0,7269,7260,1,0,0,0,7269,7270,1,0,0,0,7270,7271,1,0,0,0,7271,7272,5,3,0,0,7272,7282,1,0,0,0,7273,7274,5,432,0,0,7274,7275,5,2,0,0,7275,7276,3,696,348,0,7276,7277,3,674,337,0,7277,7278,5,36,0,0,7278,7279,3,654,327,0,7279,7280,5,3,0,0,7280,7282,1,0,0,0,7281,7107,1,0,0,0,7281,7113,1,0,0,0,7281,7114,1,0,0,0,7281,7118,1,0,0,0,7281,7119,1,0,0,0,7281,7120,1,0,0,0,7281,7121,1,0,0,0,7281,7122,1,0,0,0,7281,7123,1,0,0,0,7281,7124,1,0,0,0,7281,7131,1,0,0,0,7281,7140,1,0,0,0,7281,7149,1,0,0,0,7281,7162,1,0,0,0,7281,7171,1,0,0,0,7281,7177,1,0,0,0,7281,7192,1,0,0,0,7281,7199,1,0,0,0,7281,7201,1,0,0,0,7281,7218,1,0,0,0,7281,7224,1,0,0,0,7281,7229,1,0,0,0,7281,7239,1,0,0,0,7281,7249,1,0,0,0,7281,7273,1,0,0,0,7282,691,1,0,0,0,7283,7288,3,694,347,0,7284,7285,5,6,0,0,7285,7287,3,694,347,0,7286,7284,1,0,0,0,7287,7290,1,0,0,0,7288,7286,1,0,0,0,7288,7289,1,0,0,0,7289,693,1,0,0,0,7290,7288,1,0,0,0,7291,7294,3,674,337,0,7292,7293,5,36,0,0,7293,7295,3,824,412,0,7294,7292,1,0,0,0,7294,7295,1,0,0,0,7295,695,1,0,0,0,7296,7297,7,100,0,0,7297,697,1,0,0,0,7298,7300,5,286,0,0,7299,7301,3,700,350,0,7300,7299,1,0,0,0,7300,7301,1,0,0,0,7301,7302,1,0,0,0,7302,7304,3,682,341,0,7303,7305,3,700,350,0,7304,7303,1,0,0,0,7304,7305,1,0,0,0,7305,699,1,0,0,0,7306,7307,5,147,0,0,7307,7308,7,101,0,0,7308,701,1,0,0,0,7309,7310,5,104,0,0,7310,7315,3,704,352,0,7311,7312,5,6,0,0,7312,7314,3,704,352,0,7313,7311,1,0,0,0,7314,7317,1,0,0,0,7315,7313,1,0,0,0,7315,7316,1,0,0,0,7316,703,1,0,0,0,7317,7315,1,0,0,0,7318,7319,3,818,409,0,7319,7320,5,36,0,0,7320,7321,3,708,354,0,7321,705,1,0,0,0,7322,7325,5,124,0,0,7323,7326,3,708,354,0,7324,7326,3,818,409,0,7325,7323,1,0,0,0,7325,7324,1,0,0,0,7326,707,1,0,0,0,7327,7329,5,2,0,0,7328,7330,3,818,409,0,7329,7328,1,0,0,0,7329,7330,1,0,0,0,7330,7334,1,0,0,0,7331,7332,5,285,0,0,7332,7333,5,147,0,0,7333,7335,3,730,365,0,7334,7331,1,0,0,0,7334,7335,1,0,0,0,7335,7337,1,0,0,0,7336,7338,3,586,293,0,7337,7336,1,0,0,0,7337,7338,1,0,0,0,7338,7340,1,0,0,0,7339,7341,3,710,355,0,7340,7339,1,0,0,0,7340,7341,1,0,0,0,7341,7342,1,0,0,0,7342,7343,5,3,0,0,7343,709,1,0,0,0,7344,7349,7,102,0,0,7345,7346,5,387,0,0,7346,7347,3,712,356,0,7347,7348,5,33,0,0,7348,7350,1,0,0,0,7349,7345,1,0,0,0,7349,7350,1,0,0,0,7350,7351,1,0,0,0,7351,7352,3,712,356,0,7352,7362,1,0,0,0,7353,7360,5,199,0,0,7354,7355,5,434,0,0,7355,7361,5,414,0,0,7356,7361,5,66,0,0,7357,7361,5,467,0,0,7358,7359,5,269,0,0,7359,7361,5,482,0,0,7360,7354,1,0,0,0,7360,7356,1,0,0,0,7360,7357,1,0,0,0,7360,7358,1,0,0,0,7361,7363,1,0,0,0,7362,7353,1,0,0,0,7362,7363,1,0,0,0,7363,711,1,0,0,0,7364,7367,5,362,0,0,7365,7367,3,674,337,0,7366,7364,1,0,0,0,7366,7365,1,0,0,0,7367,7368,1,0,0,0,7368,7372,7,103,0,0,7369,7370,5,434,0,0,7370,7372,5,414,0,0,7371,7366,1,0,0,0,7371,7369,1,0,0,0,7372,713,1,0,0,0,7373,7381,3,716,358,0,7374,7375,5,2,0,0,7375,7376,3,730,365,0,7376,7377,5,6,0,0,7377,7378,3,674,337,0,7378,7379,5,3,0,0,7379,7381,1,0,0,0,7380,7373,1,0,0,0,7380,7374,1,0,0,0,7381,715,1,0,0,0,7382,7383,5,414,0,0,7383,7385,5,2,0,0,7384,7386,3,730,365,0,7385,7384,1,0,0,0,7385,7386,1,0,0,0,7386,7387,1,0,0,0,7387,7388,5,3,0,0,7388,717,1,0,0,0,7389,7390,7,104,0,0,7390,719,1,0,0,0,7391,7394,5,29,0,0,7392,7394,3,722,361,0,7393,7391,1,0,0,0,7393,7392,1,0,0,0,7394,721,1,0,0,0,7395,7396,7,105,0,0,7396,723,1,0,0,0,7397,7404,5,29,0,0,7398,7399,5,278,0,0,7399,7400,5,2,0,0,7400,7401,3,414,207,0,7401,7402,5,3,0,0,7402,7404,1,0,0,0,7403,7397,1,0,0,0,7403,7398,1,0,0,0,7404,725,1,0,0,0,7405,7412,3,720,360,0,7406,7407,5,278,0,0,7407,7408,5,2,0,0,7408,7409,3,414,207,0,7409,7410,5,3,0,0,7410,7412,1,0,0,0,7411,7405,1,0,0,0,7411,7406,1,0,0,0,7412,727,1,0,0,0,7413,7419,3,726,363,0,7414,7416,5,77,0,0,7415,7414,1,0,0,0,7415,7416,1,0,0,0,7416,7417,1,0,0,0,7417,7419,7,106,0,0,7418,7413,1,0,0,0,7418,7415,1,0,0,0,7419,729,1,0,0,0,7420,7425,3,674,337,0,7421,7422,5,6,0,0,7422,7424,3,674,337,0,7423,7421,1,0,0,0,7424,7427,1,0,0,0,7425,7423,1,0,0,0,7425,7426,1,0,0,0,7426,731,1,0,0,0,7427,7425,1,0,0,0,7428,7429,5,2,0,0,7429,7430,3,674,337,0,7430,7431,5,3,0,0,7431,7434,1,0,0,0,7432,7434,3,800,400,0,7433,7428,1,0,0,0,7433,7432,1,0,0,0,7434,733,1,0,0,0,7435,7438,3,674,337,0,7436,7438,3,800,400,0,7437,7435,1,0,0,0,7437,7436,1,0,0,0,7438,735,1,0,0,0,7439,7444,3,738,369,0,7440,7441,5,6,0,0,7441,7443,3,738,369,0,7442,7440,1,0,0,0,7443,7446,1,0,0,0,7444,7442,1,0,0,0,7444,7445,1,0,0,0,7445,737,1,0,0,0,7446,7444,1,0,0,0,7447,7455,3,800,400,0,7448,7455,3,674,337,0,7449,7452,3,820,410,0,7450,7451,7,107,0,0,7451,7453,3,674,337,0,7452,7450,1,0,0,0,7452,7453,1,0,0,0,7453,7455,1,0,0,0,7454,7447,1,0,0,0,7454,7448,1,0,0,0,7454,7449,1,0,0,0,7455,739,1,0,0,0,7456,7466,5,4,0,0,7457,7467,3,730,365,0,7458,7463,3,740,370,0,7459,7460,5,6,0,0,7460,7462,3,740,370,0,7461,7459,1,0,0,0,7462,7465,1,0,0,0,7463,7461,1,0,0,0,7463,7464,1,0,0,0,7464,7467,1,0,0,0,7465,7463,1,0,0,0,7466,7457,1,0,0,0,7466,7458,1,0,0,0,7466,7467,1,0,0,0,7467,7468,1,0,0,0,7468,7469,5,5,0,0,7469,741,1,0,0,0,7470,7479,3,826,413,0,7471,7479,5,384,0,0,7472,7479,5,264,0,0,7473,7479,5,176,0,0,7474,7479,5,218,0,0,7475,7479,5,261,0,0,7476,7479,5,326,0,0,7477,7479,3,808,404,0,7478,7470,1,0,0,0,7478,7471,1,0,0,0,7478,7472,1,0,0,0,7478,7473,1,0,0,0,7478,7474,1,0,0,0,7478,7475,1,0,0,0,7478,7476,1,0,0,0,7478,7477,1,0,0,0,7479,743,1,0,0,0,7480,7481,7,108,0,0,7481,745,1,0,0,0,7482,7483,3,674,337,0,7483,7484,5,64,0,0,7484,7487,3,674,337,0,7485,7486,5,62,0,0,7486,7488,3,674,337,0,7487,7485,1,0,0,0,7487,7488,1,0,0,0,7488,7504,1,0,0,0,7489,7490,3,674,337,0,7490,7491,5,62,0,0,7491,7494,3,674,337,0,7492,7493,5,64,0,0,7493,7495,3,674,337,0,7494,7492,1,0,0,0,7494,7495,1,0,0,0,7495,7504,1,0,0,0,7496,7497,3,674,337,0,7497,7498,5,127,0,0,7498,7499,3,674,337,0,7499,7500,5,197,0,0,7500,7501,3,674,337,0,7501,7504,1,0,0,0,7502,7504,3,730,365,0,7503,7482,1,0,0,0,7503,7489,1,0,0,0,7503,7496,1,0,0,0,7503,7502,1,0,0,0,7504,747,1,0,0,0,7505,7506,5,102,0,0,7506,7507,3,674,337,0,7507,7508,5,93,0,0,7508,7509,3,674,337,0,7509,749,1,0,0,0,7510,7513,5,11,0,0,7511,7514,3,824,412,0,7512,7514,5,9,0,0,7513,7511,1,0,0,0,7513,7512,1,0,0,0,7514,7528,1,0,0,0,7515,7524,5,4,0,0,7516,7525,3,674,337,0,7517,7519,3,674,337,0,7518,7517,1,0,0,0,7518,7519,1,0,0,0,7519,7520,1,0,0,0,7520,7522,5,8,0,0,7521,7523,3,674,337,0,7522,7521,1,0,0,0,7522,7523,1,0,0,0,7523,7525,1,0,0,0,7524,7516,1,0,0,0,7524,7518,1,0,0,0,7525,7526,1,0,0,0,7526,7528,5,5,0,0,7527,7510,1,0,0,0,7527,7515,1,0,0,0,7528,751,1,0,0,0,7529,7531,3,750,375,0,7530,7529,1,0,0,0,7531,7532,1,0,0,0,7532,7530,1,0,0,0,7532,7533,1,0,0,0,7533,753,1,0,0,0,7534,7536,3,750,375,0,7535,7534,1,0,0,0,7536,7539,1,0,0,0,7537,7535,1,0,0,0,7537,7538,1,0,0,0,7538,755,1,0,0,0,7539,7537,1,0,0,0,7540,7545,3,758,379,0,7541,7542,5,6,0,0,7542,7544,3,758,379,0,7543,7541,1,0,0,0,7544,7547,1,0,0,0,7545,7543,1,0,0,0,7545,7546,1,0,0,0,7546,757,1,0,0,0,7547,7545,1,0,0,0,7548,7553,3,734,367,0,7549,7550,5,36,0,0,7550,7554,3,824,412,0,7551,7554,3,826,413,0,7552,7554,1,0,0,0,7553,7549,1,0,0,0,7553,7551,1,0,0,0,7553,7552,1,0,0,0,7554,7557,1,0,0,0,7555,7557,5,9,0,0,7556,7548,1,0,0,0,7556,7555,1,0,0,0,7557,759,1,0,0,0,7558,7563,3,780,390,0,7559,7560,5,6,0,0,7560,7562,3,780,390,0,7561,7559,1,0,0,0,7562,7565,1,0,0,0,7563,7561,1,0,0,0,7563,7564,1,0,0,0,7564,761,1,0,0,0,7565,7563,1,0,0,0,7566,7571,3,774,387,0,7567,7568,5,6,0,0,7568,7570,3,774,387,0,7569,7567,1,0,0,0,7570,7573,1,0,0,0,7571,7569,1,0,0,0,7571,7572,1,0,0,0,7572,763,1,0,0,0,7573,7571,1,0,0,0,7574,7579,3,790,395,0,7575,7576,5,6,0,0,7576,7578,3,790,395,0,7577,7575,1,0,0,0,7578,7581,1,0,0,0,7579,7577,1,0,0,0,7579,7580,1,0,0,0,7580,765,1,0,0,0,7581,7579,1,0,0,0,7582,7587,3,788,394,0,7583,7584,5,6,0,0,7584,7586,3,788,394,0,7585,7583,1,0,0,0,7586,7589,1,0,0,0,7587,7585,1,0,0,0,7587,7588,1,0,0,0,7588,767,1,0,0,0,7589,7587,1,0,0,0,7590,7591,3,780,390,0,7591,769,1,0,0,0,7592,7593,3,780,390,0,7593,771,1,0,0,0,7594,7595,3,780,390,0,7595,773,1,0,0,0,7596,7597,3,780,390,0,7597,775,1,0,0,0,7598,7599,3,780,390,0,7599,777,1,0,0,0,7600,7601,3,316,158,0,7601,779,1,0,0,0,7602,7604,3,818,409,0,7603,7605,3,752,376,0,7604,7603,1,0,0,0,7604,7605,1,0,0,0,7605,781,1,0,0,0,7606,7611,3,770,385,0,7607,7608,5,6,0,0,7608,7610,3,770,385,0,7609,7607,1,0,0,0,7610,7613,1,0,0,0,7611,7609,1,0,0,0,7611,7612,1,0,0,0,7612,783,1,0,0,0,7613,7611,1,0,0,0,7614,7619,3,818,409,0,7615,7616,5,6,0,0,7616,7618,3,818,409,0,7617,7615,1,0,0,0,7618,7621,1,0,0,0,7619,7617,1,0,0,0,7619,7620,1,0,0,0,7620,785,1,0,0,0,7621,7619,1,0,0,0,7622,7623,3,316,158,0,7623,787,1,0,0,0,7624,7625,3,316,158,0,7625,789,1,0,0,0,7626,7627,3,316,158,0,7627,791,1,0,0,0,7628,7629,3,818,409,0,7629,793,1,0,0,0,7630,7631,3,818,409,0,7631,795,1,0,0,0,7632,7637,3,820,410,0,7633,7634,3,818,409,0,7634,7635,3,752,376,0,7635,7637,1,0,0,0,7636,7632,1,0,0,0,7636,7633,1,0,0,0,7637,797,1,0,0,0,7638,7643,3,820,410,0,7639,7640,3,818,409,0,7640,7641,3,752,376,0,7641,7643,1,0,0,0,7642,7638,1,0,0,0,7642,7639,1,0,0,0,7643,799,1,0,0,0,7644,7645,3,818,409,0,7645,7646,3,754,377,0,7646,7649,1,0,0,0,7647,7649,4,400,10,0,7648,7644,1,0,0,0,7648,7647,1,0,0,0,7649,801,1,0,0,0,7650,7651,3,818,409,0,7651,803,1,0,0,0,7652,7657,3,820,410,0,7653,7654,3,818,409,0,7654,7655,3,752,376,0,7655,7657,1,0,0,0,7656,7652,1,0,0,0,7656,7653,1,0,0,0,7657,805,1,0,0,0,7658,7663,3,820,410,0,7659,7660,3,818,409,0,7660,7661,3,752,376,0,7661,7663,1,0,0,0,7662,7658,1,0,0,0,7662,7659,1,0,0,0,7663,807,1,0,0,0,7664,7667,3,810,405,0,7665,7666,5,487,0,0,7666,7668,3,810,405,0,7667,7665,1,0,0,0,7667,7668,1,0,0,0,7668,809,1,0,0,0,7669,7681,5,558,0,0,7670,7681,5,560,0,0,7671,7675,5,562,0,0,7672,7674,5,588,0,0,7673,7672,1,0,0,0,7674,7677,1,0,0,0,7675,7673,1,0,0,0,7675,7676,1,0,0,0,7676,7678,1,0,0,0,7677,7675,1,0,0,0,7678,7681,5,589,0,0,7679,7681,5,584,0,0,7680,7669,1,0,0,0,7680,7670,1,0,0,0,7680,7671,1,0,0,0,7680,7679,1,0,0,0,7681,811,1,0,0,0,7682,7684,7,29,0,0,7683,7682,1,0,0,0,7683,7684,1,0,0,0,7684,7685,1,0,0,0,7685,7686,5,571,0,0,7686,813,1,0,0,0,7687,7693,3,822,411,0,7688,7693,5,52,0,0,7689,7693,5,49,0,0,7690,7693,5,89,0,0,7691,7693,5,524,0,0,7692,7687,1,0,0,0,7692,7688,1,0,0,0,7692,7689,1,0,0,0,7692,7690,1,0,0,0,7692,7691,1,0,0,0,7693,815,1,0,0,0,7694,7699,3,814,407,0,7695,7696,5,6,0,0,7696,7698,3,814,407,0,7697,7695,1,0,0,0,7698,7701,1,0,0,0,7699,7697,1,0,0,0,7699,7700,1,0,0,0,7700,817,1,0,0,0,7701,7699,1,0,0,0,7702,7705,3,826,413,0,7703,7705,3,830,415,0,7704,7702,1,0,0,0,7704,7703,1,0,0,0,7705,819,1,0,0,0,7706,7709,3,826,413,0,7707,7709,3,832,416,0,7708,7706,1,0,0,0,7708,7707,1,0,0,0,7709,821,1,0,0,0,7710,7714,3,826,413,0,7711,7714,3,830,415,0,7712,7714,3,832,416,0,7713,7710,1,0,0,0,7713,7711,1,0,0,0,7713,7712,1,0,0,0,7714,823,1,0,0,0,7715,7720,3,826,413,0,7716,7720,3,830,415,0,7717,7720,3,832,416,0,7718,7720,3,834,417,0,7719,7715,1,0,0,0,7719,7716,1,0,0,0,7719,7717,1,0,0,0,7719,7718,1,0,0,0,7720,825,1,0,0,0,7721,7724,5,549,0,0,7722,7723,5,487,0,0,7723,7725,3,810,405,0,7724,7722,1,0,0,0,7724,7725,1,0,0,0,7725,7733,1,0,0,0,7726,7733,3,808,404,0,7727,7733,5,550,0,0,7728,7733,5,554,0,0,7729,7733,5,574,0,0,7730,7733,5,575,0,0,7731,7733,3,828,414,0,7732,7721,1,0,0,0,7732,7726,1,0,0,0,7732,7727,1,0,0,0,7732,7728,1,0,0,0,7732,7729,1,0,0,0,7732,7730,1,0,0,0,7732,7731,1,0,0,0,7733,827,1,0,0,0,7734,7735,7,109,0,0,7735,829,1,0,0,0,7736,7788,5,387,0,0,7737,7788,5,388,0,0,7738,7788,3,662,331,0,7739,7788,5,390,0,0,7740,7788,5,391,0,0,7741,7788,3,664,332,0,7742,7788,5,393,0,0,7743,7788,5,394,0,0,7744,7788,5,395,0,0,7745,7788,5,396,0,0,7746,7788,5,397,0,0,7747,7788,5,398,0,0,7748,7788,5,399,0,0,7749,7788,5,470,0,0,7750,7788,5,400,0,0,7751,7788,5,401,0,0,7752,7788,5,402,0,0,7753,7788,5,403,0,0,7754,7788,5,404,0,0,7755,7788,5,405,0,0,7756,7788,5,406,0,0,7757,7788,5,407,0,0,7758,7788,5,489,0,0,7759,7788,5,408,0,0,7760,7788,3,658,329,0,7761,7788,5,453,0,0,7762,7788,5,410,0,0,7763,7788,5,411,0,0,7764,7788,5,412,0,0,7765,7788,5,413,0,0,7766,7788,5,414,0,0,7767,7788,5,415,0,0,7768,7788,5,416,0,0,7769,7788,5,417,0,0,7770,7788,5,418,0,0,7771,7788,5,419,0,0,7772,7788,5,420,0,0,7773,7788,5,421,0,0,7774,7788,5,422,0,0,7775,7788,5,423,0,0,7776,7788,5,424,0,0,7777,7788,5,425,0,0,7778,7788,5,426,0,0,7779,7788,5,427,0,0,7780,7788,5,428,0,0,7781,7788,5,476,0,0,7782,7788,5,429,0,0,7783,7788,5,430,0,0,7784,7788,5,431,0,0,7785,7788,5,432,0,0,7786,7788,5,474,0,0,7787,7736,1,0,0,0,7787,7737,1,0,0,0,7787,7738,1,0,0,0,7787,7739,1,0,0,0,7787,7740,1,0,0,0,7787,7741,1,0,0,0,7787,7742,1,0,0,0,7787,7743,1,0,0,0,7787,7744,1,0,0,0,7787,7745,1,0,0,0,7787,7746,1,0,0,0,7787,7747,1,0,0,0,7787,7748,1,0,0,0,7787,7749,1,0,0,0,7787,7750,1,0,0,0,7787,7751,1,0,0,0,7787,7752,1,0,0,0,7787,7753,1,0,0,0,7787,7754,1,0,0,0,7787,7755,1,0,0,0,7787,7756,1,0,0,0,7787,7757,1,0,0,0,7787,7758,1,0,0,0,7787,7759,1,0,0,0,7787,7760,1,0,0,0,7787,7761,1,0,0,0,7787,7762,1,0,0,0,7787,7763,1,0,0,0,7787,7764,1,0,0,0,7787,7765,1,0,0,0,7787,7766,1,0,0,0,7787,7767,1,0,0,0,7787,7768,1,0,0,0,7787,7769,1,0,0,0,7787,7770,1,0,0,0,7787,7771,1,0,0,0,7787,7772,1,0,0,0,7787,7773,1,0,0,0,7787,7774,1,0,0,0,7787,7775,1,0,0,0,7787,7776,1,0,0,0,7787,7777,1,0,0,0,7787,7778,1,0,0,0,7787,7779,1,0,0,0,7787,7780,1,0,0,0,7787,7781,1,0,0,0,7787,7782,1,0,0,0,7787,7783,1,0,0,0,7787,7784,1,0,0,0,7787,7785,1,0,0,0,7787,7786,1,0,0,0,7788,831,1,0,0,0,7789,7790,7,110,0,0,7790,833,1,0,0,0,7791,7792,7,111,0,0,7792,835,1,0,0,0,7793,7795,3,838,419,0,7794,7793,1,0,0,0,7794,7795,1,0,0,0,7795,7806,1,0,0,0,7796,7804,5,178,0,0,7797,7801,3,840,420,0,7798,7801,5,178,0,0,7799,7801,3,838,419,0,7800,7797,1,0,0,0,7800,7798,1,0,0,0,7800,7799,1,0,0,0,7801,7802,1,0,0,0,7802,7800,1,0,0,0,7802,7803,1,0,0,0,7803,7805,1,0,0,0,7804,7800,1,0,0,0,7804,7805,1,0,0,0,7805,7807,1,0,0,0,7806,7796,1,0,0,0,7806,7807,1,0,0,0,7807,7808,1,0,0,0,7808,7812,5,146,0,0,7809,7811,3,846,423,0,7810,7809,1,0,0,0,7811,7814,1,0,0,0,7812,7810,1,0,0,0,7812,7813,1,0,0,0,7813,7816,1,0,0,0,7814,7812,1,0,0,0,7815,7817,3,924,462,0,7816,7815,1,0,0,0,7816,7817,1,0,0,0,7817,7818,1,0,0,0,7818,7820,5,454,0,0,7819,7821,3,928,464,0,7820,7819,1,0,0,0,7820,7821,1,0,0,0,7821,837,1,0,0,0,7822,7823,5,18,0,0,7823,7824,3,928,464,0,7824,7825,5,19,0,0,7825,839,1,0,0,0,7826,7873,3,928,464,0,7827,7828,5,496,0,0,7828,7831,5,62,0,0,7829,7832,5,28,0,0,7830,7832,3,818,409,0,7831,7829,1,0,0,0,7831,7830,1,0,0,0,7832,7874,1,0,0,0,7833,7835,5,497,0,0,7834,7833,1,0,0,0,7834,7835,1,0,0,0,7835,7836,1,0,0,0,7836,7838,3,652,326,0,7837,7839,3,98,49,0,7838,7837,1,0,0,0,7838,7839,1,0,0,0,7839,7842,1,0,0,0,7840,7841,5,77,0,0,7841,7843,5,78,0,0,7842,7840,1,0,0,0,7842,7843,1,0,0,0,7843,7849,1,0,0,0,7844,7847,3,844,422,0,7845,7847,5,53,0,0,7846,7844,1,0,0,0,7846,7845,1,0,0,0,7847,7848,1,0,0,0,7848,7850,3,930,465,0,7849,7846,1,0,0,0,7849,7850,1,0,0,0,7850,7874,1,0,0,0,7851,7853,5,269,0,0,7852,7851,1,0,0,0,7852,7853,1,0,0,0,7853,7854,1,0,0,0,7854,7856,5,324,0,0,7855,7852,1,0,0,0,7855,7856,1,0,0,0,7856,7857,1,0,0,0,7857,7869,5,172,0,0,7858,7859,5,2,0,0,7859,7864,3,842,421,0,7860,7861,5,6,0,0,7861,7863,3,842,421,0,7862,7860,1,0,0,0,7863,7866,1,0,0,0,7864,7862,1,0,0,0,7864,7865,1,0,0,0,7865,7867,1,0,0,0,7866,7864,1,0,0,0,7867,7868,5,3,0,0,7868,7870,1,0,0,0,7869,7858,1,0,0,0,7869,7870,1,0,0,0,7870,7871,1,0,0,0,7871,7872,7,112,0,0,7872,7874,3,560,280,0,7873,7827,1,0,0,0,7873,7834,1,0,0,0,7873,7855,1,0,0,0,7874,7875,1,0,0,0,7875,7876,5,7,0,0,7876,841,1,0,0,0,7877,7878,3,928,464,0,7878,7879,3,652,326,0,7879,843,1,0,0,0,7880,7881,7,113,0,0,7881,845,1,0,0,0,7882,7883,3,836,418,0,7883,7884,5,7,0,0,7884,7907,1,0,0,0,7885,7907,3,874,437,0,7886,7907,3,876,438,0,7887,7907,3,852,426,0,7888,7907,3,860,430,0,7889,7907,3,864,432,0,7890,7907,3,866,433,0,7891,7907,3,870,435,0,7892,7907,3,872,436,0,7893,7907,3,880,440,0,7894,7907,3,884,442,0,7895,7907,3,886,443,0,7896,7907,3,848,424,0,7897,7907,3,850,425,0,7898,7907,3,854,427,0,7899,7907,3,890,445,0,7900,7907,3,894,447,0,7901,7907,3,898,449,0,7902,7907,3,914,457,0,7903,7907,3,916,458,0,7904,7907,3,918,459,0,7905,7907,3,920,460,0,7906,7882,1,0,0,0,7906,7885,1,0,0,0,7906,7886,1,0,0,0,7906,7887,1,0,0,0,7906,7888,1,0,0,0,7906,7889,1,0,0,0,7906,7890,1,0,0,0,7906,7891,1,0,0,0,7906,7892,1,0,0,0,7906,7893,1,0,0,0,7906,7894,1,0,0,0,7906,7895,1,0,0,0,7906,7896,1,0,0,0,7906,7897,1,0,0,0,7906,7898,1,0,0,0,7906,7899,1,0,0,0,7906,7900,1,0,0,0,7906,7901,1,0,0,0,7906,7902,1,0,0,0,7906,7903,1,0,0,0,7906,7904,1,0,0,0,7906,7905,1,0,0,0,7907,847,1,0,0,0,7908,7909,5,498,0,0,7909,7910,3,930,465,0,7910,7911,5,7,0,0,7911,849,1,0,0,0,7912,7913,5,433,0,0,7913,7920,3,928,464,0,7914,7916,5,2,0,0,7915,7917,3,730,365,0,7916,7915,1,0,0,0,7916,7917,1,0,0,0,7917,7918,1,0,0,0,7918,7919,5,3,0,0,7919,7921,5,7,0,0,7920,7914,1,0,0,0,7920,7921,1,0,0,0,7921,7932,1,0,0,0,7922,7923,5,57,0,0,7923,7924,3,928,464,0,7924,7926,5,2,0,0,7925,7927,3,730,365,0,7926,7925,1,0,0,0,7926,7927,1,0,0,0,7927,7928,1,0,0,0,7928,7929,5,3,0,0,7929,7930,5,7,0,0,7930,7932,1,0,0,0,7931,7912,1,0,0,0,7931,7922,1,0,0,0,7932,851,1,0,0,0,7933,7934,3,858,429,0,7934,7935,3,844,422,0,7935,7936,3,930,465,0,7936,7937,5,7,0,0,7937,853,1,0,0,0,7938,7940,5,499,0,0,7939,7941,7,114,0,0,7940,7939,1,0,0,0,7940,7941,1,0,0,0,7941,7942,1,0,0,0,7942,7943,5,500,0,0,7943,7948,3,856,428,0,7944,7945,5,6,0,0,7945,7947,3,856,428,0,7946,7944,1,0,0,0,7947,7950,1,0,0,0,7948,7946,1,0,0,0,7948,7949,1,0,0,0,7949,7951,1,0,0,0,7950,7948,1,0,0,0,7951,7952,5,7,0,0,7952,855,1,0,0,0,7953,7954,3,858,429,0,7954,7955,3,844,422,0,7955,7956,3,818,409,0,7956,857,1,0,0,0,7957,7960,3,316,158,0,7958,7960,5,28,0,0,7959,7957,1,0,0,0,7959,7958,1,0,0,0,7960,7967,1,0,0,0,7961,7962,5,4,0,0,7962,7963,3,674,337,0,7963,7964,5,5,0,0,7964,7966,1,0,0,0,7965,7961,1,0,0,0,7966,7969,1,0,0,0,7967,7965,1,0,0,0,7967,7968,1,0,0,0,7968,859,1,0,0,0,7969,7967,1,0,0,0,7970,7971,5,220,0,0,7971,7972,3,930,465,0,7972,7976,5,93,0,0,7973,7975,3,846,423,0,7974,7973,1,0,0,0,7975,7978,1,0,0,0,7976,7974,1,0,0,0,7976,7977,1,0,0,0,7977,7990,1,0,0,0,7978,7976,1,0,0,0,7979,7980,5,502,0,0,7980,7981,3,674,337,0,7981,7985,5,93,0,0,7982,7984,3,846,423,0,7983,7982,1,0,0,0,7984,7987,1,0,0,0,7985,7983,1,0,0,0,7985,7986,1,0,0,0,7986,7989,1,0,0,0,7987,7985,1,0,0,0,7988,7979,1,0,0,0,7989,7992,1,0,0,0,7990,7988,1,0,0,0,7990,7991,1,0,0,0,7991,7994,1,0,0,0,7992,7990,1,0,0,0,7993,7995,3,862,431,0,7994,7993,1,0,0,0,7994,7995,1,0,0,0,7995,7996,1,0,0,0,7996,7997,5,454,0,0,7997,7998,5,220,0,0,7998,7999,5,7,0,0,7999,861,1,0,0,0,8e3,8004,5,58,0,0,8001,8003,3,846,423,0,8002,8001,1,0,0,0,8003,8006,1,0,0,0,8004,8002,1,0,0,0,8004,8005,1,0,0,0,8005,863,1,0,0,0,8006,8004,1,0,0,0,8007,8009,5,40,0,0,8008,8010,3,930,465,0,8009,8008,1,0,0,0,8009,8010,1,0,0,0,8010,8020,1,0,0,0,8011,8012,5,102,0,0,8012,8013,3,730,365,0,8013,8017,5,93,0,0,8014,8016,3,846,423,0,8015,8014,1,0,0,0,8016,8019,1,0,0,0,8017,8015,1,0,0,0,8017,8018,1,0,0,0,8018,8021,1,0,0,0,8019,8017,1,0,0,0,8020,8011,1,0,0,0,8021,8022,1,0,0,0,8022,8020,1,0,0,0,8022,8023,1,0,0,0,8023,8025,1,0,0,0,8024,8026,3,862,431,0,8025,8024,1,0,0,0,8025,8026,1,0,0,0,8026,8027,1,0,0,0,8027,8028,5,454,0,0,8028,8029,5,40,0,0,8029,8030,5,7,0,0,8030,865,1,0,0,0,8031,8033,3,838,419,0,8032,8031,1,0,0,0,8032,8033,1,0,0,0,8033,8038,1,0,0,0,8034,8035,5,503,0,0,8035,8039,3,674,337,0,8036,8037,5,62,0,0,8037,8039,3,868,434,0,8038,8034,1,0,0,0,8038,8036,1,0,0,0,8038,8039,1,0,0,0,8039,8040,1,0,0,0,8040,8041,3,882,441,0,8041,867,1,0,0,0,8042,8043,3,314,157,0,8043,8066,5,68,0,0,8044,8046,3,818,409,0,8045,8047,3,534,267,0,8046,8045,1,0,0,0,8046,8047,1,0,0,0,8047,8067,1,0,0,0,8048,8067,3,560,280,0,8049,8067,3,520,260,0,8050,8051,5,202,0,0,8051,8054,3,674,337,0,8052,8053,5,100,0,0,8053,8055,3,730,365,0,8054,8052,1,0,0,0,8054,8055,1,0,0,0,8055,8067,1,0,0,0,8056,8058,5,504,0,0,8057,8056,1,0,0,0,8057,8058,1,0,0,0,8058,8059,1,0,0,0,8059,8060,3,674,337,0,8060,8061,5,24,0,0,8061,8064,3,674,337,0,8062,8063,5,147,0,0,8063,8065,3,674,337,0,8064,8062,1,0,0,0,8064,8065,1,0,0,0,8065,8067,1,0,0,0,8066,8044,1,0,0,0,8066,8048,1,0,0,0,8066,8049,1,0,0,0,8066,8050,1,0,0,0,8066,8057,1,0,0,0,8067,869,1,0,0,0,8068,8070,3,838,419,0,8069,8068,1,0,0,0,8069,8070,1,0,0,0,8070,8071,1,0,0,0,8071,8072,5,505,0,0,8072,8075,3,314,157,0,8073,8074,5,506,0,0,8074,8076,5,571,0,0,8075,8073,1,0,0,0,8075,8076,1,0,0,0,8076,8077,1,0,0,0,8077,8078,5,68,0,0,8078,8079,5,35,0,0,8079,8080,3,674,337,0,8080,8081,3,882,441,0,8081,871,1,0,0,0,8082,8084,7,115,0,0,8083,8085,3,928,464,0,8084,8083,1,0,0,0,8084,8085,1,0,0,0,8085,8088,1,0,0,0,8086,8087,5,102,0,0,8087,8089,3,930,465,0,8088,8086,1,0,0,0,8088,8089,1,0,0,0,8089,8090,1,0,0,0,8090,8091,5,7,0,0,8091,873,1,0,0,0,8092,8107,5,508,0,0,8093,8094,5,268,0,0,8094,8108,3,930,465,0,8095,8102,5,509,0,0,8096,8097,5,202,0,0,8097,8098,3,674,337,0,8098,8099,5,100,0,0,8099,8100,3,730,365,0,8100,8103,1,0,0,0,8101,8103,3,560,280,0,8102,8096,1,0,0,0,8102,8101,1,0,0,0,8103,8108,1,0,0,0,8104,8106,3,930,465,0,8105,8104,1,0,0,0,8105,8106,1,0,0,0,8106,8108,1,0,0,0,8107,8093,1,0,0,0,8107,8095,1,0,0,0,8107,8105,1,0,0,0,8108,8109,1,0,0,0,8109,8110,5,7,0,0,8110,875,1,0,0,0,8111,8141,5,510,0,0,8112,8114,7,116,0,0,8113,8112,1,0,0,0,8113,8114,1,0,0,0,8114,8127,1,0,0,0,8115,8128,3,826,413,0,8116,8117,5,511,0,0,8117,8128,3,808,404,0,8118,8125,3,808,404,0,8119,8120,5,6,0,0,8120,8122,3,674,337,0,8121,8119,1,0,0,0,8122,8123,1,0,0,0,8123,8121,1,0,0,0,8123,8124,1,0,0,0,8124,8126,1,0,0,0,8125,8121,1,0,0,0,8125,8126,1,0,0,0,8126,8128,1,0,0,0,8127,8115,1,0,0,0,8127,8116,1,0,0,0,8127,8118,1,0,0,0,8127,8128,1,0,0,0,8128,8138,1,0,0,0,8129,8130,5,100,0,0,8130,8135,3,878,439,0,8131,8132,5,6,0,0,8132,8134,3,878,439,0,8133,8131,1,0,0,0,8134,8137,1,0,0,0,8135,8133,1,0,0,0,8135,8136,1,0,0,0,8136,8139,1,0,0,0,8137,8135,1,0,0,0,8138,8129,1,0,0,0,8138,8139,1,0,0,0,8139,8140,1,0,0,0,8140,8142,5,7,0,0,8141,8113,1,0,0,0,8141,8142,1,0,0,0,8142,877,1,0,0,0,8143,8144,3,826,413,0,8144,8145,5,10,0,0,8145,8146,3,674,337,0,8146,879,1,0,0,0,8147,8148,5,518,0,0,8148,8151,3,930,465,0,8149,8150,5,6,0,0,8150,8152,3,930,465,0,8151,8149,1,0,0,0,8151,8152,1,0,0,0,8152,8153,1,0,0,0,8153,8154,5,7,0,0,8154,881,1,0,0,0,8155,8159,5,519,0,0,8156,8158,3,846,423,0,8157,8156,1,0,0,0,8158,8161,1,0,0,0,8159,8157,1,0,0,0,8159,8160,1,0,0,0,8160,8162,1,0,0,0,8161,8159,1,0,0,0,8162,8163,5,454,0,0,8163,8165,5,519,0,0,8164,8166,3,928,464,0,8165,8164,1,0,0,0,8165,8166,1,0,0,0,8166,8167,1,0,0,0,8167,8168,5,7,0,0,8168,883,1,0,0,0,8169,8171,3,4,2,0,8170,8172,3,888,444,0,8171,8170,1,0,0,0,8171,8172,1,0,0,0,8172,8173,1,0,0,0,8173,8174,5,7,0,0,8174,885,1,0,0,0,8175,8176,5,202,0,0,8176,8192,3,674,337,0,8177,8179,3,888,444,0,8178,8177,1,0,0,0,8178,8179,1,0,0,0,8179,8182,1,0,0,0,8180,8181,5,100,0,0,8181,8183,3,730,365,0,8182,8180,1,0,0,0,8182,8183,1,0,0,0,8183,8193,1,0,0,0,8184,8185,5,100,0,0,8185,8187,3,730,365,0,8186,8184,1,0,0,0,8186,8187,1,0,0,0,8187,8189,1,0,0,0,8188,8190,3,888,444,0,8189,8188,1,0,0,0,8189,8190,1,0,0,0,8190,8193,1,0,0,0,8191,8193,1,0,0,0,8192,8178,1,0,0,0,8192,8186,1,0,0,0,8192,8191,1,0,0,0,8193,8194,1,0,0,0,8194,8195,5,7,0,0,8195,887,1,0,0,0,8196,8198,5,71,0,0,8197,8199,5,346,0,0,8198,8197,1,0,0,0,8198,8199,1,0,0,0,8199,8200,1,0,0,0,8200,8201,3,730,365,0,8201,889,1,0,0,0,8202,8234,5,520,0,0,8203,8208,3,922,461,0,8204,8206,5,269,0,0,8205,8204,1,0,0,0,8205,8206,1,0,0,0,8206,8207,1,0,0,0,8207,8209,5,324,0,0,8208,8205,1,0,0,0,8208,8209,1,0,0,0,8209,8210,1,0,0,0,8210,8218,5,62,0,0,8211,8219,3,560,280,0,8212,8213,5,202,0,0,8213,8216,3,930,465,0,8214,8215,5,100,0,0,8215,8217,3,730,365,0,8216,8214,1,0,0,0,8216,8217,1,0,0,0,8217,8219,1,0,0,0,8218,8211,1,0,0,0,8218,8212,1,0,0,0,8219,8235,1,0,0,0,8220,8232,3,818,409,0,8221,8222,5,2,0,0,8222,8227,3,892,446,0,8223,8224,5,6,0,0,8224,8226,3,892,446,0,8225,8223,1,0,0,0,8226,8229,1,0,0,0,8227,8225,1,0,0,0,8227,8228,1,0,0,0,8228,8230,1,0,0,0,8229,8227,1,0,0,0,8230,8231,5,3,0,0,8231,8233,1,0,0,0,8232,8221,1,0,0,0,8232,8233,1,0,0,0,8233,8235,1,0,0,0,8234,8203,1,0,0,0,8234,8220,1,0,0,0,8235,8236,1,0,0,0,8236,8237,5,7,0,0,8237,891,1,0,0,0,8238,8239,3,818,409,0,8239,8240,5,20,0,0,8240,8242,1,0,0,0,8241,8238,1,0,0,0,8241,8242,1,0,0,0,8242,8243,1,0,0,0,8243,8244,3,674,337,0,8244,893,1,0,0,0,8245,8247,5,61,0,0,8246,8248,3,896,448,0,8247,8246,1,0,0,0,8247,8248,1,0,0,0,8248,8250,1,0,0,0,8249,8251,3,332,166,0,8250,8249,1,0,0,0,8250,8251,1,0,0,0,8251,8252,1,0,0,0,8252,8253,3,922,461,0,8253,8254,5,71,0,0,8254,8255,3,730,365,0,8255,8256,5,7,0,0,8256,895,1,0,0,0,8257,8272,5,268,0,0,8258,8272,5,293,0,0,8259,8272,5,207,0,0,8260,8272,5,249,0,0,8261,8263,7,50,0,0,8262,8261,1,0,0,0,8262,8263,1,0,0,0,8263,8264,1,0,0,0,8264,8272,3,674,337,0,8265,8272,5,30,0,0,8266,8269,7,117,0,0,8267,8270,3,674,337,0,8268,8270,5,30,0,0,8269,8267,1,0,0,0,8269,8268,1,0,0,0,8269,8270,1,0,0,0,8270,8272,1,0,0,0,8271,8257,1,0,0,0,8271,8258,1,0,0,0,8271,8259,1,0,0,0,8271,8260,1,0,0,0,8271,8262,1,0,0,0,8271,8265,1,0,0,0,8271,8266,1,0,0,0,8272,897,1,0,0,0,8273,8275,5,265,0,0,8274,8276,3,896,448,0,8275,8274,1,0,0,0,8275,8276,1,0,0,0,8276,8277,1,0,0,0,8277,8278,3,922,461,0,8278,8279,5,7,0,0,8279,899,1,0,0,0,8280,8282,3,572,286,0,8281,8280,1,0,0,0,8281,8282,1,0,0,0,8282,8283,1,0,0,0,8283,8284,5,525,0,0,8284,8286,5,71,0,0,8285,8287,5,81,0,0,8286,8285,1,0,0,0,8286,8287,1,0,0,0,8287,8288,1,0,0,0,8288,8290,3,774,387,0,8289,8291,5,9,0,0,8290,8289,1,0,0,0,8290,8291,1,0,0,0,8291,8296,1,0,0,0,8292,8294,5,36,0,0,8293,8292,1,0,0,0,8293,8294,1,0,0,0,8294,8295,1,0,0,0,8295,8297,3,818,409,0,8296,8293,1,0,0,0,8296,8297,1,0,0,0,8297,8298,1,0,0,0,8298,8299,5,100,0,0,8299,8300,3,902,451,0,8300,8301,5,80,0,0,8301,8303,3,674,337,0,8302,8304,3,904,452,0,8303,8302,1,0,0,0,8304,8305,1,0,0,0,8305,8303,1,0,0,0,8305,8306,1,0,0,0,8306,901,1,0,0,0,8307,8309,5,81,0,0,8308,8307,1,0,0,0,8308,8309,1,0,0,0,8309,8310,1,0,0,0,8310,8312,3,774,387,0,8311,8313,5,9,0,0,8312,8311,1,0,0,0,8312,8313,1,0,0,0,8313,8319,1,0,0,0,8314,8317,3,564,282,0,8315,8317,3,608,304,0,8316,8314,1,0,0,0,8316,8315,1,0,0,0,8317,8319,1,0,0,0,8318,8308,1,0,0,0,8318,8316,1,0,0,0,8319,8324,1,0,0,0,8320,8322,5,36,0,0,8321,8320,1,0,0,0,8321,8322,1,0,0,0,8322,8323,1,0,0,0,8323,8325,3,818,409,0,8324,8321,1,0,0,0,8324,8325,1,0,0,0,8325,903,1,0,0,0,8326,8327,5,102,0,0,8327,8330,5,526,0,0,8328,8329,5,33,0,0,8329,8331,3,674,337,0,8330,8328,1,0,0,0,8330,8331,1,0,0,0,8331,8332,1,0,0,0,8332,8337,5,93,0,0,8333,8338,3,908,454,0,8334,8338,5,182,0,0,8335,8336,5,57,0,0,8336,8338,5,270,0,0,8337,8333,1,0,0,0,8337,8334,1,0,0,0,8337,8335,1,0,0,0,8338,8353,1,0,0,0,8339,8340,5,102,0,0,8340,8341,5,77,0,0,8341,8344,5,526,0,0,8342,8343,5,33,0,0,8343,8345,3,674,337,0,8344,8342,1,0,0,0,8344,8345,1,0,0,0,8345,8346,1,0,0,0,8346,8350,5,93,0,0,8347,8351,3,906,453,0,8348,8349,5,57,0,0,8349,8351,5,270,0,0,8350,8347,1,0,0,0,8350,8348,1,0,0,0,8351,8353,1,0,0,0,8352,8326,1,0,0,0,8352,8339,1,0,0,0,8353,905,1,0,0,0,8354,8356,5,241,0,0,8355,8357,3,144,72,0,8356,8355,1,0,0,0,8356,8357,1,0,0,0,8357,8361,1,0,0,0,8358,8359,5,463,0,0,8359,8360,7,76,0,0,8360,8362,5,450,0,0,8361,8358,1,0,0,0,8361,8362,1,0,0,0,8362,8363,1,0,0,0,8363,8364,3,910,455,0,8364,907,1,0,0,0,8365,8366,5,369,0,0,8366,8384,5,333,0,0,8367,8368,3,800,400,0,8368,8369,5,10,0,0,8369,8370,3,912,456,0,8370,8385,1,0,0,0,8371,8372,3,144,72,0,8372,8373,5,10,0,0,8373,8374,5,2,0,0,8374,8379,3,912,456,0,8375,8376,5,6,0,0,8376,8378,3,912,456,0,8377,8375,1,0,0,0,8378,8381,1,0,0,0,8379,8377,1,0,0,0,8379,8380,1,0,0,0,8380,8382,1,0,0,0,8381,8379,1,0,0,0,8382,8383,5,3,0,0,8383,8385,1,0,0,0,8384,8367,1,0,0,0,8384,8371,1,0,0,0,8385,8386,1,0,0,0,8386,8384,1,0,0,0,8386,8387,1,0,0,0,8387,909,1,0,0,0,8388,8389,5,422,0,0,8389,8390,5,2,0,0,8390,8395,3,912,456,0,8391,8392,5,6,0,0,8392,8394,3,912,456,0,8393,8391,1,0,0,0,8394,8397,1,0,0,0,8395,8393,1,0,0,0,8395,8396,1,0,0,0,8396,8398,1,0,0,0,8397,8395,1,0,0,0,8398,8399,5,3,0,0,8399,8403,1,0,0,0,8400,8401,5,53,0,0,8401,8403,5,422,0,0,8402,8388,1,0,0,0,8402,8400,1,0,0,0,8403,911,1,0,0,0,8404,8407,3,588,294,0,8405,8407,5,53,0,0,8406,8404,1,0,0,0,8406,8405,1,0,0,0,8407,913,1,0,0,0,8408,8409,5,157,0,0,8409,8410,3,922,461,0,8410,8411,5,7,0,0,8411,915,1,0,0,0,8412,8413,5,78,0,0,8413,8414,5,7,0,0,8414,917,1,0,0,0,8415,8421,7,67,0,0,8416,8418,5,33,0,0,8417,8419,5,269,0,0,8418,8417,1,0,0,0,8418,8419,1,0,0,0,8419,8420,1,0,0,0,8420,8422,5,153,0,0,8421,8416,1,0,0,0,8421,8422,1,0,0,0,8422,8423,1,0,0,0,8423,8424,5,7,0,0,8424,919,1,0,0,0,8425,8426,5,333,0,0,8426,8427,3,316,158,0,8427,8428,5,94,0,0,8428,8429,5,53,0,0,8429,8430,5,7,0,0,8430,8438,1,0,0,0,8431,8434,5,313,0,0,8432,8435,3,316,158,0,8433,8435,5,30,0,0,8434,8432,1,0,0,0,8434,8433,1,0,0,0,8435,8436,1,0,0,0,8436,8438,5,7,0,0,8437,8425,1,0,0,0,8437,8431,1,0,0,0,8438,921,1,0,0,0,8439,8442,3,818,409,0,8440,8442,5,28,0,0,8441,8439,1,0,0,0,8441,8440,1,0,0,0,8442,923,1,0,0,0,8443,8460,5,517,0,0,8444,8445,5,102,0,0,8445,8450,3,926,463,0,8446,8447,5,82,0,0,8447,8449,3,926,463,0,8448,8446,1,0,0,0,8449,8452,1,0,0,0,8450,8448,1,0,0,0,8450,8451,1,0,0,0,8451,8453,1,0,0,0,8452,8450,1,0,0,0,8453,8457,5,93,0,0,8454,8456,3,846,423,0,8455,8454,1,0,0,0,8456,8459,1,0,0,0,8457,8455,1,0,0,0,8457,8458,1,0,0,0,8458,8461,1,0,0,0,8459,8457,1,0,0,0,8460,8444,1,0,0,0,8461,8462,1,0,0,0,8462,8460,1,0,0,0,8462,8463,1,0,0,0,8463,925,1,0,0,0,8464,8468,3,928,464,0,8465,8466,5,511,0,0,8466,8468,3,808,404,0,8467,8464,1,0,0,0,8467,8465,1,0,0,0,8468,927,1,0,0,0,8469,8472,3,818,409,0,8470,8472,3,828,414,0,8471,8469,1,0,0,0,8471,8470,1,0,0,0,8472,929,1,0,0,0,8473,8475,3,756,378,0,8474,8473,1,0,0,0,8474,8475,1,0,0,0,8475,8477,1,0,0,0,8476,8478,3,580,290,0,8477,8476,1,0,0,0,8477,8478,1,0,0,0,8478,8480,1,0,0,0,8479,8481,3,610,305,0,8480,8479,1,0,0,0,8480,8481,1,0,0,0,8481,8483,1,0,0,0,8482,8484,3,638,319,0,8483,8482,1,0,0,0,8483,8484,1,0,0,0,8484,8486,1,0,0,0,8485,8487,3,600,300,0,8486,8485,1,0,0,0,8486,8487,1,0,0,0,8487,8490,1,0,0,0,8488,8489,5,67,0,0,8489,8491,3,674,337,0,8490,8488,1,0,0,0,8490,8491,1,0,0,0,8491,8493,1,0,0,0,8492,8494,3,702,351,0,8493,8492,1,0,0,0,8493,8494,1,0,0,0,8494,931,1,0,0,0,1188,935,942,1062,1064,1073,1078,1084,1119,1129,1135,1140,1147,1152,1159,1170,1178,1182,1194,1200,1206,1210,1215,1219,1232,1242,1244,1250,1255,1268,1271,1276,1281,1292,1296,1308,1312,1315,1319,1331,1349,1356,1364,1369,1376,1384,1390,1398,1406,1410,1424,1429,1434,1446,1452,1464,1469,1479,1485,1490,1498,1503,1510,1515,1520,1530,1535,1540,1547,1551,1565,1571,1577,1582,1589,1601,1609,1617,1633,1642,1651,1660,1664,1676,1684,1694,1714,1719,1722,1729,1732,1736,1740,1743,1748,1753,1757,1766,1772,1776,1785,1788,1794,1803,1815,1819,1823,1828,1831,1837,1839,1841,1845,1851,1855,1860,1865,1869,1872,1879,1892,1905,1919,1936,1946,1953,1958,1962,1969,1974,1977,1979,1984,1988,1992,1996,2001,2004,2008,2011,2015,2023,2028,2031,2035,2041,2050,2054,2060,2062,2071,2076,2088,2093,2097,2101,2106,2110,2113,2116,2119,2122,2125,2130,2133,2136,2139,2142,2145,2151,2155,2158,2161,2164,2167,2169,2176,2184,2194,2199,2209,2212,2217,2222,2227,2230,2235,2244,2246,2250,2253,2257,2262,2267,2271,2274,2278,2281,2286,2289,2294,2297,2301,2304,2307,2312,2315,2323,2335,2339,2346,2351,2354,2357,2360,2365,2376,2382,2386,2389,2392,2397,2404,2407,2411,2419,2424,2427,2430,2437,2442,2451,2454,2457,2462,2465,2477,2487,2504,2508,2512,2514,2531,2533,2549,2560,2563,2566,2575,2584,2600,2603,2606,2614,2618,2625,2634,2638,2644,2648,2651,2654,2657,2660,2666,2670,2675,2679,2682,2685,2688,2693,2699,2703,2707,2711,2717,2719,2724,2730,2736,2740,2755,2760,2763,2765,2768,2772,2776,2779,2782,2790,2796,2798,2804,2809,2814,2818,2825,2827,2838,2877,2887,2889,2892,2896,2900,2910,2912,2918,2920,2929,2941,2955,2960,2963,2970,2975,2983,2985,2991,2996,3e3,3005,3011,3018,3024,3026,3035,3041,3049,3055,3060,3065,3073,3088,3090,3094,3098,3101,3104,3113,3116,3119,3125,3131,3135,3147,3153,3156,3161,3165,3172,3182,3184,3208,3220,3225,3227,3231,3234,3237,3247,3250,3260,3265,3270,3273,3276,3284,3290,3297,3305,3308,3319,3323,3329,3336,3339,3348,3362,3365,3379,3390,3393,3405,3410,3423,3428,3441,3450,3453,3456,3463,3466,3478,3484,3486,3494,3502,3510,3522,3527,3538,3549,3557,3565,3572,3579,3581,3584,3589,3594,3613,3622,3625,3652,3661,3664,3668,3672,3676,3683,3687,3691,3695,3699,3704,3708,3713,3719,3724,3731,3735,3741,3745,3750,3758,3764,3769,3776,3781,3785,3790,3796,3803,3808,3815,3820,3827,3831,3839,3843,3845,3848,3853,3863,3878,3881,3889,3896,3901,3907,3911,3918,3923,3926,3929,3933,3942,3960,3963,3995,4e3,4006,4026,4031,4037,4040,4044,4048,4054,4057,4061,4065,4070,4073,4076,4079,4092,4098,4106,4113,4118,4121,4128,4131,4139,4142,4147,4154,4157,4177,4189,4192,4198,4203,4212,4220,4225,4231,4238,4246,4249,4260,4262,4276,4282,4290,4292,4298,4302,4305,4308,4313,4318,4322,4325,4328,4331,4334,4342,4353,4356,4359,4364,4367,4371,4375,4381,4389,4392,4405,4410,4412,4417,4424,4431,4440,4448,4456,4463,4471,4478,4486,4490,4494,4496,4502,4507,4511,4518,4523,4528,4533,4535,4545,4555,4571,4589,4601,4608,4623,4628,4631,4636,4641,4646,4649,4652,4657,4664,4668,4673,4680,4684,4690,4699,4708,4720,4722,4735,4741,4745,4747,4754,4767,4774,4776,4792,4796,4800,4805,4810,4815,4820,4823,4835,4888,4897,4901,4910,4914,4923,4927,4932,4935,4939,4944,4946,4955,4960,4971,4975,4989,4997,5035,5037,5056,5059,5086,5090,5094,5098,5102,5105,5120,5127,5141,5154,5179,5198,5213,5229,5236,5247,5250,5269,5272,5285,5289,5309,5321,5325,5347,5351,5361,5365,5371,5375,5379,5383,5390,5395,5406,5410,5413,5418,5424,5435,5439,5442,5446,5450,5453,5463,5466,5470,5475,5481,5484,5489,5492,5499,5501,5507,5511,5520,5525,5527,5537,5540,5545,5553,5556,5561,5563,5565,5571,5588,5594,5607,5613,5617,5622,5652,5667,5672,5676,5689,5693,5695,5704,5710,5712,5716,5719,5722,5725,5728,5730,5733,5737,5745,5750,5753,5759,5763,5767,5772,5774,5778,5782,5789,5795,5799,5801,5803,5816,5824,5832,5843,5852,5857,5861,5865,5872,5875,5877,5885,5889,5892,5899,5906,5911,5918,5921,5923,5926,5932,5937,5941,5948,5958,5965,5968,5971,5975,5986,5989,5992,5995,5998,6005,6008,6011,6018,6030,6037,6039,6044,6049,6051,6057,6064,6069,6074,6078,6082,6086,6088,6092,6096,6099,6102,6104,6114,6116,6121,6125,6130,6134,6141,6146,6150,6153,6159,6162,6181,6188,6192,6195,6199,6203,6206,6209,6214,6223,6230,6234,6238,6242,6245,6247,6252,6256,6261,6267,6274,6279,6284,6293,6300,6308,6319,6324,6328,6331,6335,6340,6344,6349,6357,6368,6373,6377,6380,6383,6385,6388,6391,6394,6398,6402,6406,6408,6417,6422,6428,6432,6434,6441,6446,6452,6454,6458,6465,6470,6473,6479,6483,6489,6498,6504,6506,6511,6514,6523,6530,6532,6539,6544,6547,6557,6568,6573,6577,6585,6595,6602,6608,6619,6625,6635,6644,6648,6651,6653,6655,6659,6667,6670,6675,6680,6687,6689,6695,6699,6702,6707,6710,6712,6718,6727,6733,6736,6744,6747,6751,6757,6759,6762,6766,6771,6778,6785,6787,6793,6795,6800,6802,6806,6815,6819,6827,6829,6843,6846,6854,6863,6869,6874,6882,6884,6889,6893,6898,6903,6909,6925,6927,6936,6951,6956,6959,6965,6970,6983,6988,6992,6999,7018,7030,7035,7043,7045,7047,7056,7059,7064,7069,7072,7083,7091,7096,7098,7101,7105,7116,7137,7145,7158,7168,7174,7180,7183,7186,7212,7214,7235,7245,7258,7263,7267,7269,7281,7288,7294,7300,7304,7315,7325,7329,7334,7337,7340,7349,7360,7362,7366,7371,7380,7385,7393,7403,7411,7415,7418,7425,7433,7437,7444,7452,7454,7463,7466,7478,7487,7494,7503,7513,7518,7522,7524,7527,7532,7537,7545,7553,7556,7563,7571,7579,7587,7604,7611,7619,7636,7642,7648,7656,7662,7667,7675,7680,7683,7692,7699,7704,7708,7713,7719,7724,7732,7787,7794,7800,7802,7804,7806,7812,7816,7820,7831,7834,7838,7842,7846,7849,7852,7855,7864,7869,7873,7906,7916,7920,7926,7931,7940,7948,7959,7967,7976,7985,7990,7994,8004,8009,8017,8022,8025,8032,8038,8046,8054,8057,8064,8066,8069,8075,8084,8088,8102,8105,8107,8113,8123,8125,8127,8135,8138,8141,8151,8159,8165,8171,8178,8182,8186,8189,8192,8198,8205,8208,8216,8218,8227,8232,8234,8241,8247,8250,8262,8269,8271,8275,8281,8286,8290,8293,8296,8305,8308,8312,8316,8318,8321,8324,8330,8337,8344,8350,8352,8356,8361,8379,8384,8386,8395,8402,8406,8418,8421,8434,8437,8441,8450,8457,8462,8467,8471,8474,8477,8480,8483,8486,8490,8493],t.vocabulary=new le(t.literalNames,t.symbolicNames,[]),t.decisionsToDFA=t._ATN.decisionToState.map((c,e)=>new F0(c,e));class E8 extends R{constructor(e,i){super(e,i)}EOF(){return this.getToken(t.EOF,0)}singleStmt(e){return e===void 0?this.getRuleContexts(qh):this.getRuleContext(e,qh)}get ruleIndex(){return t.RULE_program}enterRule(e){e.enterProgram&&e.enterProgram(this)}exitRule(e){e.exitProgram&&e.exitProgram(this)}accept(e){return e.visitProgram?e.visitProgram(this):e.visitChildren(this)}}class qh extends R{constructor(e,i){super(e,i)}stmt(){return this.getRuleContext(0,Ns)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_singleStmt}enterRule(e){e.enterSingleStmt&&e.enterSingleStmt(this)}exitRule(e){e.exitSingleStmt&&e.exitSingleStmt(this)}accept(e){return e.visitSingleStmt?e.visitSingleStmt(this):e.visitChildren(this)}}class Ns extends R{constructor(e,i){super(e,i)}altereventtrigstmt(){return this.getRuleContext(0,T7)}altercollationstmt(){return this.getRuleContext(0,EE)}alterdatabasestmt(){return this.getRuleContext(0,hE)}alterdatabasesetstmt(){return this.getRuleContext(0,aE)}alterdefaultprivilegesstmt(){return this.getRuleContext(0,D7)}alterdomainstmt(){return this.getRuleContext(0,uE)}alterenumstmt(){return this.getRuleContext(0,N7)}alterextensionstmt(){return this.getRuleContext(0,J5)}alterextensioncontentsstmt(){return this.getRuleContext(0,S5)}alterfdwstmt(){return this.getRuleContext(0,q5)}alterforeignserverstmt(){return this.getRuleContext(0,t7)}alterfunctionstmt(){return this.getRuleContext(0,w7)}altergroupstmt(){return this.getRuleContext(0,I5)}alterobjectdependsstmt(){return this.getRuleContext(0,r7)}alterobjectschemastmt(){return this.getRuleContext(0,j7)}alterownerstmt(){return this.getRuleContext(0,J7)}alteroperatorstmt(){return this.getRuleContext(0,z7)}altertypestmt(){return this.getRuleContext(0,$7)}alterpolicystmt(){return this.getRuleContext(0,s7)}alterprocedurestmt(){return this.getRuleContext(0,h7)}alterseqstmt(){return this.getRuleContext(0,r5)}altersystemstmt(){return this.getRuleContext(0,WE)}altertablestmt(){return this.getRuleContext(0,k5)}altertblspcstmt(){return this.getRuleContext(0,Q7)}altercompositetypestmt(){return this.getRuleContext(0,F5)}alterpublicationstmt(){return this.getRuleContext(0,g7)}alterrolesetstmt(){return this.getRuleContext(0,A5)}alterroutinestmt(){return this.getRuleContext(0,_5)}alterrolestmt(){return this.getRuleContext(0,T5)}altersubscriptionstmt(){return this.getRuleContext(0,P7)}alterstatsstmt(){return this.getRuleContext(0,Z5)}altertsconfigurationstmt(){return this.getRuleContext(0,TE)}altertsdictionarystmt(){return this.getRuleContext(0,RE)}alterusermappingstmt(){return this.getRuleContext(0,n7)}analyzestmt(){return this.getRuleContext(0,CE)}callstmt(){return this.getRuleContext(0,K5)}checkpointstmt(){return this.getRuleContext(0,U5)}closeportalstmt(){return this.getRuleContext(0,w5)}clusterstmt(){return this.getRuleContext(0,_E)}commentstmt(){return this.getRuleContext(0,o7)}constraintssetstmt(){return this.getRuleContext(0,x5)}copystmt(){return this.getRuleContext(0,b5)}createamstmt(){return this.getRuleContext(0,a7)}createasstmt(){return this.getRuleContext(0,os)}createassertionstmt(){return this.getRuleContext(0,A7)}createcaststmt(){return this.getRuleContext(0,V7)}createconversionstmt(){return this.getRuleContext(0,AE)}createdomainstmt(){return this.getRuleContext(0,KE)}createextensionstmt(){return this.getRuleContext(0,$5)}createfdwstmt(){return this.getRuleContext(0,g5)}createforeignserverstmt(){return this.getRuleContext(0,P5)}createforeigntablestmt(){return this.getRuleContext(0,xs)}createfunctionstmt(){return this.getRuleContext(0,y7)}creategroupstmt(){return this.getRuleContext(0,C5)}creatematviewstmt(){return this.getRuleContext(0,ps)}createopclassstmt(){return this.getRuleContext(0,C7)}createopfamilystmt(){return this.getRuleContext(0,I7)}createpublicationstmt(){return this.getRuleContext(0,S7)}alteropfamilystmt(){return this.getRuleContext(0,L7)}createpolicystmt(){return this.getRuleContext(0,c7)}createplangstmt(){return this.getRuleContext(0,j5)}createschemastmt(){return this.getRuleContext(0,L5)}createseqstmt(){return this.getRuleContext(0,Ma)}createstmt(){return this.getRuleContext(0,Os)}createsubscriptionstmt(){return this.getRuleContext(0,q7)}createstatsstmt(){return this.getRuleContext(0,Q5)}createtablespacestmt(){return this.getRuleContext(0,z5)}createtransformstmt(){return this.getRuleContext(0,Y7)}createtrigstmt(){return this.getRuleContext(0,va)}createeventtrigstmt(){return this.getRuleContext(0,R7)}createrolestmt(){return this.getRuleContext(0,u5)}createuserstmt(){return this.getRuleContext(0,R5)}createusermappingstmt(){return this.getRuleContext(0,i7)}createdbstmt(){return this.getRuleContext(0,W2)}deallocatestmt(){return this.getRuleContext(0,OE)}declarecursorstmt(){return this.getRuleContext(0,O2)}definestmt(){return this.getRuleContext(0,_7)}deletestmt(){return this.getRuleContext(0,xi)}discardstmt(){return this.getRuleContext(0,l5)}dostmt(){return this.getRuleContext(0,B7)}dropstmt(){return this.getRuleContext(0,d7)}executestmt(){return this.getRuleContext(0,N2)}explainstmt(){return this.getRuleContext(0,A2)}fetchstmt(){return this.getRuleContext(0,f7)}grantstmt(){return this.getRuleContext(0,Za)}grantrolestmt(){return this.getRuleContext(0,l7)}mergestmt(){return this.getRuleContext(0,oW)}importforeignschemastmt(){return this.getRuleContext(0,e7)}indexstmt(){return this.getRuleContext(0,za)}insertstmt(){return this.getRuleContext(0,p1)}listenstmt(){return this.getRuleContext(0,eE)}refreshmatviewstmt(){return this.getRuleContext(0,Da)}loadstmt(){return this.getRuleContext(0,sE)}lockstmt(){return this.getRuleContext(0,mE)}notifystmt(){return this.getRuleContext(0,h2)}preparestmt(){return this.getRuleContext(0,LE)}reassignownedstmt(){return this.getRuleContext(0,O7)}reindexstmt(){return this.getRuleContext(0,X7)}removeaggrstmt(){return this.getRuleContext(0,v7)}removefuncstmt(){return this.getRuleContext(0,b7)}removeoperstmt(){return this.getRuleContext(0,G7)}renamestmt(){return this.getRuleContext(0,Z7)}revokestmt(){return this.getRuleContext(0,U7)}revokerolestmt(){return this.getRuleContext(0,k7)}rulestmt(){return this.getRuleContext(0,tE)}seclabelstmt(){return this.getRuleContext(0,p7)}selectstmt(){return this.getRuleContext(0,Yt)}transactionstmt(){return this.getRuleContext(0,nE)}truncatestmt(){return this.getRuleContext(0,m7)}unlistenstmt(){return this.getRuleContext(0,iE)}updatestmt(){return this.getRuleContext(0,Ui)}vacuumstmt(){return this.getRuleContext(0,NE)}variableresetstmt(){return this.getRuleContext(0,Ri)}variablesetstmt(){return this.getRuleContext(0,O5)}variableshowstmt(){return this.getRuleContext(0,f5)}viewstmt(){return this.getRuleContext(0,Gs)}MetaCommand(){return this.getToken(t.MetaCommand,0)}EndMetaCommand(){return this.getToken(t.EndMetaCommand,0)}get ruleIndex(){return t.RULE_stmt}enterRule(e){e.enterStmt&&e.enterStmt(this)}exitRule(e){e.exitStmt&&e.exitStmt(this)}accept(e){return e.visitStmt?e.visitStmt(this):e.visitChildren(this)}}class K5 extends R{constructor(e,i){super(e,i)}KW_CALL(){return this.getToken(t.KW_CALL,0)}func_application(){return this.getRuleContext(0,Ss)}get ruleIndex(){return t.RULE_callstmt}enterRule(e){e.enterCallstmt&&e.enterCallstmt(this)}exitRule(e){e.exitCallstmt&&e.exitCallstmt(this)}accept(e){return e.visitCallstmt?e.visitCallstmt(this):e.visitChildren(this)}}class u5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}rolespec(){return this.getRuleContext(0,ct)}KW_WITH(){return this.getToken(t.KW_WITH,0)}createoptroleelem(e){return e===void 0?this.getRuleContexts(v0):this.getRuleContext(e,v0)}get ruleIndex(){return t.RULE_createrolestmt}enterRule(e){e.enterCreaterolestmt&&e.enterCreaterolestmt(this)}exitRule(e){e.exitCreaterolestmt&&e.exitCreaterolestmt(this)}accept(e){return e.visitCreaterolestmt?e.visitCreaterolestmt(this):e.visitChildren(this)}}class Cs extends R{constructor(e,i){super(e,i)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}sconst(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_ENCRYPTED(){return this.getToken(t.KW_ENCRYPTED,0)}KW_UNENCRYPTED(){return this.getToken(t.KW_UNENCRYPTED,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}KW_NOINHERIT(){return this.getToken(t.KW_NOINHERIT,0)}KW_CREATEUSER(){return this.getToken(t.KW_CREATEUSER,0)}KW_NOCREATEUSER(){return this.getToken(t.KW_NOCREATEUSER,0)}KW_CREATEROLE(){return this.getToken(t.KW_CREATEROLE,0)}KW_NOCREATEROLE(){return this.getToken(t.KW_NOCREATEROLE,0)}KW_CREATEDB(){return this.getToken(t.KW_CREATEDB,0)}KW_NOCREATEDB(){return this.getToken(t.KW_NOCREATEDB,0)}KW_SUPERUSER(){return this.getToken(t.KW_SUPERUSER,0)}KW_NOSUPERUSER(){return this.getToken(t.KW_NOSUPERUSER,0)}KW_LOGIN(){return this.getToken(t.KW_LOGIN,0)}KW_NOLOGIN(){return this.getToken(t.KW_NOLOGIN,0)}KW_REPLICATION(){return this.getToken(t.KW_REPLICATION,0)}KW_NOREPLICATION(){return this.getToken(t.KW_NOREPLICATION,0)}KW_BYPASSRLS(){return this.getToken(t.KW_BYPASSRLS,0)}KW_NOBYPASSRLS(){return this.getToken(t.KW_NOBYPASSRLS,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}signediconst(){return this.getRuleContext(0,z0)}KW_VALID(){return this.getToken(t.KW_VALID,0)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}KW_IN(){return this.getToken(t.KW_IN,0)}name_list(){return this.getRuleContext(0,r0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}role_list(){return this.getRuleContext(0,qt)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}identifier(){return this.getRuleContext(0,wt)}get ruleIndex(){return t.RULE_alteroptroleelem}enterRule(e){e.enterAlteroptroleelem&&e.enterAlteroptroleelem(this)}exitRule(e){e.exitAlteroptroleelem&&e.exitAlteroptroleelem(this)}accept(e){return e.visitAlteroptroleelem?e.visitAlteroptroleelem(this):e.visitChildren(this)}}class v0 extends R{constructor(e,i){super(e,i)}alteroptroleelem(){return this.getRuleContext(0,Cs)}KW_SYSID(){return this.getToken(t.KW_SYSID,0)}Integral(){return this.getToken(t.Integral,0)}role_list(){return this.getRuleContext(0,qt)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}get ruleIndex(){return t.RULE_createoptroleelem}enterRule(e){e.enterCreateoptroleelem&&e.enterCreateoptroleelem(this)}exitRule(e){e.exitCreateoptroleelem&&e.exitCreateoptroleelem(this)}accept(e){return e.visitCreateoptroleelem?e.visitCreateoptroleelem(this):e.visitChildren(this)}}class R5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}rolespec(){return this.getRuleContext(0,ct)}KW_WITH(){return this.getToken(t.KW_WITH,0)}createoptroleelem(e){return e===void 0?this.getRuleContexts(v0):this.getRuleContext(e,v0)}get ruleIndex(){return t.RULE_createuserstmt}enterRule(e){e.enterCreateuserstmt&&e.enterCreateuserstmt(this)}exitRule(e){e.exitCreateuserstmt&&e.exitCreateuserstmt(this)}accept(e){return e.visitCreateuserstmt?e.visitCreateuserstmt(this):e.visitChildren(this)}}class T5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}rolespec(){return this.getRuleContext(0,ct)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}alteroptroleelem(e){return e===void 0?this.getRuleContexts(Cs):this.getRuleContext(e,Cs)}get ruleIndex(){return t.RULE_alterrolestmt}enterRule(e){e.enterAlterrolestmt&&e.enterAlterrolestmt(this)}exitRule(e){e.exitAlterrolestmt&&e.exitAlterrolestmt(this)}accept(e){return e.visitAlterrolestmt?e.visitAlterrolestmt(this):e.visitChildren(this)}}class A5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}setresetclause(){return this.getRuleContext(0,sa)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}rolespec(){return this.getRuleContext(0,ct)}get ruleIndex(){return t.RULE_alterrolesetstmt}enterRule(e){e.enterAlterrolesetstmt&&e.enterAlterrolesetstmt(this)}exitRule(e){e.exitAlterrolesetstmt&&e.exitAlterrolesetstmt(this)}accept(e){return e.visitAlterrolesetstmt?e.visitAlterrolesetstmt(this):e.visitChildren(this)}}class _5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_name(){return this.getRuleContext(0,eh)}alter_routine_cluase(){return this.getRuleContext(0,N5)}func_args(){return this.getRuleContext(0,O1)}get ruleIndex(){return t.RULE_alterroutinestmt}enterRule(e){e.enterAlterroutinestmt&&e.enterAlterroutinestmt(this)}exitRule(e){e.exitAlterroutinestmt&&e.exitAlterroutinestmt(this)}accept(e){return e.visitAlterroutinestmt?e.visitAlterroutinestmt(this):e.visitChildren(this)}}class N5 extends R{constructor(e,i){super(e,i)}routine_action(e){return e===void 0?this.getRuleContexts(Ph):this.getRuleContext(e,Ph)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}routine_name_create(){return this.getRuleContext(0,h3)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}rolespec(){return this.getRuleContext(0,ct)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_create(){return this.getRuleContext(0,_1)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(){return this.getRuleContext(0,o)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_alter_routine_cluase}enterRule(e){e.enterAlter_routine_cluase&&e.enterAlter_routine_cluase(this)}exitRule(e){e.exitAlter_routine_cluase&&e.exitAlter_routine_cluase(this)}accept(e){return e.visitAlter_routine_cluase?e.visitAlter_routine_cluase(this):e.visitChildren(this)}}class Ph extends R{constructor(e,i){super(e,i)}KW_IMMUTABLE(){return this.getToken(t.KW_IMMUTABLE,0)}KW_STABLE(){return this.getToken(t.KW_STABLE,0)}KW_VOLATILE(){return this.getToken(t.KW_VOLATILE,0)}KW_LEAKPROOF(){return this.getToken(t.KW_LEAKPROOF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_PARALLEL(){return this.getToken(t.KW_PARALLEL,0)}KW_UNSAFE(){return this.getToken(t.KW_UNSAFE,0)}KW_RESTRICTED(){return this.getToken(t.KW_RESTRICTED,0)}KW_SAFE(){return this.getToken(t.KW_SAFE,0)}KW_COST(){return this.getToken(t.KW_COST,0)}collabel(){return this.getRuleContext(0,It)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TO(){return this.getToken(t.KW_TO,0)}EQUAL(){return this.getToken(t.EQUAL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_routine_action}enterRule(e){e.enterRoutine_action&&e.enterRoutine_action(this)}exitRule(e){e.exitRoutine_action&&e.exitRoutine_action(this)}accept(e){return e.visitRoutine_action?e.visitRoutine_action(this):e.visitChildren(this)}}class C5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}rolespec(){return this.getRuleContext(0,ct)}KW_WITH(){return this.getToken(t.KW_WITH,0)}createoptroleelem(e){return e===void 0?this.getRuleContexts(v0):this.getRuleContext(e,v0)}get ruleIndex(){return t.RULE_creategroupstmt}enterRule(e){e.enterCreategroupstmt&&e.enterCreategroupstmt(this)}exitRule(e){e.exitCreategroupstmt&&e.exitCreategroupstmt(this)}accept(e){return e.visitCreategroupstmt?e.visitCreategroupstmt(this):e.visitChildren(this)}}class I5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}rolespec(){return this.getRuleContext(0,ct)}KW_USER(){return this.getToken(t.KW_USER,0)}role_list(){return this.getRuleContext(0,qt)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_altergroupstmt}enterRule(e){e.enterAltergroupstmt&&e.enterAltergroupstmt(this)}exitRule(e){e.exitAltergroupstmt&&e.exitAltergroupstmt(this)}accept(e){return e.visitAltergroupstmt?e.visitAltergroupstmt(this):e.visitChildren(this)}}class L5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}rolespec(){return this.getRuleContext(0,ct)}schema_name_create(){return this.getRuleContext(0,_1)}opt_if_not_exists(){return this.getRuleContext(0,lt)}schema_stmt(e){return e===void 0?this.getRuleContexts(ta):this.getRuleContext(e,ta)}get ruleIndex(){return t.RULE_createschemastmt}enterRule(e){e.enterCreateschemastmt&&e.enterCreateschemastmt(this)}exitRule(e){e.exitCreateschemastmt&&e.exitCreateschemastmt(this)}accept(e){return e.visitCreateschemastmt?e.visitCreateschemastmt(this):e.visitChildren(this)}}class _1 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_schema_name_create}copyFrom(e){super.copyFrom(e)}}class W8 extends _1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}any_name(){return this.getRuleContext(0,B)}enterRule(e){e.enterSchemaNameCreate&&e.enterSchemaNameCreate(this)}exitRule(e){e.exitSchemaNameCreate&&e.exitSchemaNameCreate(this)}accept(e){return e.visitSchemaNameCreate?e.visitSchemaNameCreate(this):e.visitChildren(this)}}class ta extends R{constructor(e,i){super(e,i)}createstmt(){return this.getRuleContext(0,Os)}indexstmt(){return this.getRuleContext(0,za)}createseqstmt(){return this.getRuleContext(0,Ma)}createtrigstmt(){return this.getRuleContext(0,va)}grantstmt(){return this.getRuleContext(0,Za)}viewstmt(){return this.getRuleContext(0,Gs)}get ruleIndex(){return t.RULE_schema_stmt}enterRule(e){e.enterSchema_stmt&&e.enterSchema_stmt(this)}exitRule(e){e.exitSchema_stmt&&e.exitSchema_stmt(this)}accept(e){return e.visitSchema_stmt?e.visitSchema_stmt(this):e.visitChildren(this)}}class O5 extends R{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest(){return this.getRuleContext(0,ea)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}get ruleIndex(){return t.RULE_variablesetstmt}enterRule(e){e.enterVariablesetstmt&&e.enterVariablesetstmt(this)}exitRule(e){e.exitVariablesetstmt&&e.exitVariablesetstmt(this)}accept(e){return e.visitVariablesetstmt?e.visitVariablesetstmt(this):e.visitChildren(this)}}class ea extends R{constructor(e,i){super(e,i)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}transaction_mode_list(){return this.getRuleContext(0,E2)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_CHARACTERISTICS(){return this.getToken(t.KW_CHARACTERISTICS,0)}KW_AS(){return this.getToken(t.KW_AS,0)}set_rest_more(){return this.getRuleContext(0,Is)}get ruleIndex(){return t.RULE_set_rest}enterRule(e){e.enterSet_rest&&e.enterSet_rest(this)}exitRule(e){e.exitSet_rest&&e.exitSet_rest(this)}accept(e){return e.visitSet_rest?e.visitSet_rest(this):e.visitChildren(this)}}class ia extends R{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}var_name(){return this.getRuleContext(0,Ki)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}var_list(){return this.getRuleContext(0,d5)}KW_TO(){return this.getToken(t.KW_TO,0)}EQUAL(){return this.getToken(t.EQUAL,0)}get ruleIndex(){return t.RULE_generic_set}enterRule(e){e.enterGeneric_set&&e.enterGeneric_set(this)}exitRule(e){e.exitGeneric_set&&e.exitGeneric_set(this)}accept(e){return e.visitGeneric_set?e.visitGeneric_set(this):e.visitChildren(this)}}class Is extends R{constructor(e,i){super(e,i)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}zone_value(){return this.getRuleContext(0,o5)}KW_CATALOG(){return this.getToken(t.KW_CATALOG,0)}sconst(){return this.getRuleContext(0,Z)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,Te)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}document_or_content(){return this.getRuleContext(0,j2)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}var_name(){return this.getRuleContext(0,Ki)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}generic_set(){return this.getRuleContext(0,ia)}get ruleIndex(){return t.RULE_set_rest_more}enterRule(e){e.enterSet_rest_more&&e.enterSet_rest_more(this)}exitRule(e){e.exitSet_rest_more&&e.exitSet_rest_more(this)}accept(e){return e.visitSet_rest_more?e.visitSet_rest_more(this):e.visitChildren(this)}}class Ki extends R{constructor(e,i){super(e,i)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}get ruleIndex(){return t.RULE_var_name}enterRule(e){e.enterVar_name&&e.enterVar_name(this)}exitRule(e){e.exitVar_name&&e.exitVar_name(this)}accept(e){return e.visitVar_name?e.visitVar_name(this):e.visitChildren(this)}}class d5 extends R{constructor(e,i){super(e,i)}var_value(e){return e===void 0?this.getRuleContexts(na):this.getRuleContext(e,na)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_var_list}enterRule(e){e.enterVar_list&&e.enterVar_list(this)}exitRule(e){e.exitVar_list&&e.exitVar_list(this)}accept(e){return e.visitVar_list?e.visitVar_list(this):e.visitChildren(this)}}class na extends R{constructor(e,i){super(e,i)}opt_boolean_or_string(){return this.getRuleContext(0,ui)}numericonly(){return this.getRuleContext(0,mt)}get ruleIndex(){return t.RULE_var_value}enterRule(e){e.enterVar_value&&e.enterVar_value(this)}exitRule(e){e.exitVar_value&&e.exitVar_value(this)}accept(e){return e.visitVar_value?e.visitVar_value(this):e.visitChildren(this)}}class m5 extends R{constructor(e,i){super(e,i)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}get ruleIndex(){return t.RULE_iso_level}enterRule(e){e.enterIso_level&&e.enterIso_level(this)}exitRule(e){e.exitIso_level&&e.exitIso_level(this)}accept(e){return e.visitIso_level?e.visitIso_level(this):e.visitChildren(this)}}class ca extends R{constructor(e,i){super(e,i)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_ON(){return this.getToken(t.KW_ON,0)}column_name(){return this.getRuleContext(0,Rt)}type_func_name_keyword(){return this.getRuleContext(0,R0)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_opt_boolean_or_string_column}enterRule(e){e.enterOpt_boolean_or_string_column&&e.enterOpt_boolean_or_string_column(this)}exitRule(e){e.exitOpt_boolean_or_string_column&&e.exitOpt_boolean_or_string_column(this)}accept(e){return e.visitOpt_boolean_or_string_column?e.visitOpt_boolean_or_string_column(this):e.visitChildren(this)}}class ui extends R{constructor(e,i){super(e,i)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_ON(){return this.getToken(t.KW_ON,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,Te)}get ruleIndex(){return t.RULE_opt_boolean_or_string}enterRule(e){e.enterOpt_boolean_or_string&&e.enterOpt_boolean_or_string(this)}exitRule(e){e.exitOpt_boolean_or_string&&e.exitOpt_boolean_or_string(this)}accept(e){return e.visitOpt_boolean_or_string?e.visitOpt_boolean_or_string(this):e.visitChildren(this)}}class o5 extends R{constructor(e,i){super(e,i)}sconst(){return this.getRuleContext(0,Z)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}identifier(){return this.getRuleContext(0,wt)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}opt_interval(){return this.getRuleContext(0,Js)}opt_float(){return this.getRuleContext(0,Qe)}numericonly(){return this.getRuleContext(0,mt)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}get ruleIndex(){return t.RULE_zone_value}enterRule(e){e.enterZone_value&&e.enterZone_value(this)}exitRule(e){e.exitZone_value&&e.exitZone_value(this)}accept(e){return e.visitZone_value?e.visitZone_value(this):e.visitChildren(this)}}class Te extends R{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,D1)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_nonreservedword_or_sconst}enterRule(e){e.enterNonreservedword_or_sconst&&e.enterNonreservedword_or_sconst(this)}exitRule(e){e.exitNonreservedword_or_sconst&&e.exitNonreservedword_or_sconst(this)}accept(e){return e.visitNonreservedword_or_sconst?e.visitNonreservedword_or_sconst(this):e.visitChildren(this)}}class Ri extends R{constructor(e,i){super(e,i)}KW_RESET(){return this.getToken(t.KW_RESET,0)}reset_rest(){return this.getRuleContext(0,p5)}get ruleIndex(){return t.RULE_variableresetstmt}enterRule(e){e.enterVariableresetstmt&&e.enterVariableresetstmt(this)}exitRule(e){e.exitVariableresetstmt&&e.exitVariableresetstmt(this)}accept(e){return e.visitVariableresetstmt?e.visitVariableresetstmt(this):e.visitChildren(this)}}class p5 extends R{constructor(e,i){super(e,i)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}var_name(){return this.getRuleContext(0,Ki)}get ruleIndex(){return t.RULE_reset_rest}enterRule(e){e.enterReset_rest&&e.enterReset_rest(this)}exitRule(e){e.exitReset_rest&&e.exitReset_rest(this)}accept(e){return e.visitReset_rest?e.visitReset_rest(this):e.visitChildren(this)}}class sa extends R{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest(){return this.getRuleContext(0,ea)}variableresetstmt(){return this.getRuleContext(0,Ri)}get ruleIndex(){return t.RULE_setresetclause}enterRule(e){e.enterSetresetclause&&e.enterSetresetclause(this)}exitRule(e){e.exitSetresetclause&&e.exitSetresetclause(this)}accept(e){return e.visitSetresetclause?e.visitSetresetclause(this):e.visitChildren(this)}}class K8 extends R{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest_more(){return this.getRuleContext(0,Is)}variableresetstmt(){return this.getRuleContext(0,Ri)}get ruleIndex(){return t.RULE_functionsetresetclause}enterRule(e){e.enterFunctionsetresetclause&&e.enterFunctionsetresetclause(this)}exitRule(e){e.exitFunctionsetresetclause&&e.exitFunctionsetresetclause(this)}accept(e){return e.visitFunctionsetresetclause?e.visitFunctionsetresetclause(this):e.visitChildren(this)}}class f5 extends R{constructor(e,i){super(e,i)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}var_name(){return this.getRuleContext(0,Ki)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_variableshowstmt}enterRule(e){e.enterVariableshowstmt&&e.enterVariableshowstmt(this)}exitRule(e){e.exitVariableshowstmt&&e.exitVariableshowstmt(this)}accept(e){return e.visitVariableshowstmt?e.visitVariableshowstmt(this):e.visitChildren(this)}}class x5 extends R{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_CONSTRAINTS(){return this.getToken(t.KW_CONSTRAINTS,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}qualified_name_list(){return this.getRuleContext(0,U1)}get ruleIndex(){return t.RULE_constraintssetstmt}enterRule(e){e.enterConstraintssetstmt&&e.enterConstraintssetstmt(this)}exitRule(e){e.exitConstraintssetstmt&&e.exitConstraintssetstmt(this)}accept(e){return e.visitConstraintssetstmt?e.visitConstraintssetstmt(this):e.visitChildren(this)}}class U5 extends R{constructor(e,i){super(e,i)}KW_CHECKPOINT(){return this.getToken(t.KW_CHECKPOINT,0)}get ruleIndex(){return t.RULE_checkpointstmt}enterRule(e){e.enterCheckpointstmt&&e.enterCheckpointstmt(this)}exitRule(e){e.exitCheckpointstmt&&e.exitCheckpointstmt(this)}accept(e){return e.visitCheckpointstmt?e.visitCheckpointstmt(this):e.visitChildren(this)}}class l5 extends R{constructor(e,i){super(e,i)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_PLANS(){return this.getToken(t.KW_PLANS,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}get ruleIndex(){return t.RULE_discardstmt}enterRule(e){e.enterDiscardstmt&&e.enterDiscardstmt(this)}exitRule(e){e.exitDiscardstmt&&e.exitDiscardstmt(this)}accept(e){return e.visitDiscardstmt?e.visitDiscardstmt(this):e.visitChildren(this)}}class k5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}alter_table_cmds(){return this.getRuleContext(0,D5)}partition_cmd(){return this.getRuleContext(0,y5)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_IN(){return this.getToken(t.KW_IN,0)}opttablespace(e){return e===void 0?this.getRuleContexts(gt):this.getRuleContext(e,gt)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_create(){return this.getRuleContext(0,l1)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}role_list(){return this.getRuleContext(0,qt)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}table_name(){return this.getRuleContext(0,ot)}index_partition_cmd(){return this.getRuleContext(0,Ea)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}partition_bound_spec(){return this.getRuleContext(0,M5)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DETACH(){return this.getToken(t.KW_DETACH,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,S)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}KW_FINALIZE(){return this.getToken(t.KW_FINALIZE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,Ce)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}get ruleIndex(){return t.RULE_altertablestmt}enterRule(e){e.enterAltertablestmt&&e.enterAltertablestmt(this)}exitRule(e){e.exitAltertablestmt&&e.exitAltertablestmt(this)}accept(e){return e.visitAltertablestmt?e.visitAltertablestmt(this):e.visitChildren(this)}}class D5 extends R{constructor(e,i){super(e,i)}alter_table_cmd(e){return e===void 0?this.getRuleContexts(Wa):this.getRuleContext(e,Wa)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alter_table_cmds}enterRule(e){e.enterAlter_table_cmds&&e.enterAlter_table_cmds(this)}exitRule(e){e.exitAlter_table_cmds&&e.exitAlter_table_cmds(this)}accept(e){return e.visitAlter_table_cmds?e.visitAlter_table_cmds(this):e.visitChildren(this)}}class M5 extends R{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_FROM(){return this.getToken(t.KW_FROM,0)}partition_bound_cluase(e){return e===void 0?this.getRuleContexts(ha):this.getRuleContext(e,ha)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}partition_with_cluase(){return this.getRuleContext(0,H5)}get ruleIndex(){return t.RULE_partition_bound_spec}enterRule(e){e.enterPartition_bound_spec&&e.enterPartition_bound_spec(this)}exitRule(e){e.exitPartition_bound_spec&&e.exitPartition_bound_spec(this)}accept(e){return e.visitPartition_bound_spec?e.visitPartition_bound_spec(this):e.visitChildren(this)}}class ha extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}partition_bound_choose(e){return e===void 0?this.getRuleContexts(aa):this.getRuleContext(e,aa)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partition_bound_cluase}enterRule(e){e.enterPartition_bound_cluase&&e.enterPartition_bound_cluase(this)}exitRule(e){e.exitPartition_bound_cluase&&e.exitPartition_bound_cluase(this)}accept(e){return e.visitPartition_bound_cluase?e.visitPartition_bound_cluase(this):e.visitChildren(this)}}class aa extends R{constructor(e,i){super(e,i)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_MINVALUE(){return this.getToken(t.KW_MINVALUE,0)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}get ruleIndex(){return t.RULE_partition_bound_choose}enterRule(e){e.enterPartition_bound_choose&&e.enterPartition_bound_choose(this)}exitRule(e){e.exitPartition_bound_choose&&e.exitPartition_bound_choose(this)}accept(e){return e.visitPartition_bound_choose?e.visitPartition_bound_choose(this):e.visitChildren(this)}}class H5 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_MODULUS(){return this.getToken(t.KW_MODULUS,0)}numericonly(e){return e===void 0?this.getRuleContexts(mt):this.getRuleContext(e,mt)}COMMA(){return this.getToken(t.COMMA,0)}KW_REMAINDER(){return this.getToken(t.KW_REMAINDER,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_partition_with_cluase}enterRule(e){e.enterPartition_with_cluase&&e.enterPartition_with_cluase(this)}exitRule(e){e.exitPartition_with_cluase&&e.exitPartition_with_cluase(this)}accept(e){return e.visitPartition_with_cluase?e.visitPartition_with_cluase(this):e.visitChildren(this)}}class y5 extends R{constructor(e,i){super(e,i)}index_partition_cmd(){return this.getRuleContext(0,Ea)}partitionboundspec(){return this.getRuleContext(0,Ls)}KW_DETACH(){return this.getToken(t.KW_DETACH,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,S)}get ruleIndex(){return t.RULE_partition_cmd}enterRule(e){e.enterPartition_cmd&&e.enterPartition_cmd(this)}exitRule(e){e.exitPartition_cmd&&e.exitPartition_cmd(this)}accept(e){return e.visitPartition_cmd?e.visitPartition_cmd(this):e.visitChildren(this)}}class Ea extends R{constructor(e,i){super(e,i)}KW_ATTACH(){return this.getToken(t.KW_ATTACH,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,S)}get ruleIndex(){return t.RULE_index_partition_cmd}enterRule(e){e.enterIndex_partition_cmd&&e.enterIndex_partition_cmd(this)}exitRule(e){e.exitIndex_partition_cmd&&e.exitIndex_partition_cmd(this)}accept(e){return e.visitIndex_partition_cmd?e.visitIndex_partition_cmd(this):e.visitChildren(this)}}class Wa extends R{constructor(e,i){super(e,i)}KW_ADD(){return this.getToken(t.KW_ADD,0)}constraintelem(){return this.getRuleContext(0,_i)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}colid(){return this.getRuleContext(0,o)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}constraintattributeElem(e){return e===void 0?this.getRuleContexts(Ve):this.getRuleContext(e,Ve)}KW_VALIDATE(){return this.getToken(t.KW_VALIDATE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,St)}KW_SET(e){return e===void 0?this.getTokens(t.KW_SET):this.getToken(t.KW_SET,e)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_OIDS(){return this.getToken(t.KW_OIDS,0)}KW_CLUSTER(){return this.getToken(t.KW_CLUSTER,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_LOGGED(){return this.getToken(t.KW_LOGGED,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}qualified_name(){return this.getRuleContext(0,S)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_OF(){return this.getToken(t.KW_OF,0)}any_name(){return this.getRuleContext(0,B)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,ct)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_create(){return this.getRuleContext(0,l1)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}existingindex(){return this.getRuleContext(0,la)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}column_name(){return this.getRuleContext(0,Rt)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}column_def(){return this.getRuleContext(0,Ai)}opt_if_not_exists(){return this.getRuleContext(0,lt)}alter_column_default(){return this.getRuleContext(0,Ka)}alter_generic_options(){return this.getRuleContext(0,Ii)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_EXPRESSION(){return this.getToken(t.KW_EXPRESSION,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}signediconst(){return this.getRuleContext(0,z0)}reloptions(){return this.getRuleContext(0,N1)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_GENERATED(e){return e===void 0?this.getTokens(t.KW_GENERATED):this.getToken(t.KW_GENERATED,e)}generated_when(e){return e===void 0?this.getRuleContexts(ds):this.getRuleContext(e,ds)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}seqoptelem(e){return e===void 0?this.getRuleContexts(Be):this.getRuleContext(e,Be)}KW_RESTART(e){return e===void 0?this.getTokens(t.KW_RESTART):this.getToken(t.KW_RESTART,e)}numericonly(e){return e===void 0?this.getRuleContexts(mt):this.getRuleContext(e,mt)}KW_WITH(e){return e===void 0?this.getTokens(t.KW_WITH):this.getToken(t.KW_WITH,e)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,P)}KW_DATA(){return this.getToken(t.KW_DATA,0)}opt_collate_clause(){return this.getRuleContext(0,ve)}KW_USING(){return this.getToken(t.KW_USING,0)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return t.RULE_alter_table_cmd}enterRule(e){e.enterAlter_table_cmd&&e.enterAlter_table_cmd(this)}exitRule(e){e.exitAlter_table_cmd&&e.exitAlter_table_cmd(this)}accept(e){return e.visitAlter_table_cmd?e.visitAlter_table_cmd(this):e.visitChildren(this)}}class Ka extends R{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,y)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_alter_column_default}enterRule(e){e.enterAlter_column_default&&e.enterAlter_column_default(this)}exitRule(e){e.exitAlter_column_default&&e.exitAlter_column_default(this)}accept(e){return e.visitAlter_column_default?e.visitAlter_column_default(this):e.visitChildren(this)}}class St extends R{constructor(e,i){super(e,i)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}get ruleIndex(){return t.RULE_opt_drop_behavior}enterRule(e){e.enterOpt_drop_behavior&&e.enterOpt_drop_behavior(this)}exitRule(e){e.exitOpt_drop_behavior&&e.exitOpt_drop_behavior(this)}accept(e){return e.visitOpt_drop_behavior?e.visitOpt_drop_behavior(this):e.visitChildren(this)}}class ve extends R{constructor(e,i){super(e,i)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}any_name(){return this.getRuleContext(0,B)}get ruleIndex(){return t.RULE_opt_collate_clause}enterRule(e){e.enterOpt_collate_clause&&e.enterOpt_collate_clause(this)}exitRule(e){e.exitOpt_collate_clause&&e.exitOpt_collate_clause(this)}accept(e){return e.visitOpt_collate_clause?e.visitOpt_collate_clause(this):e.visitChildren(this)}}class N1 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}reloption_elem(e){return e===void 0?this.getRuleContexts(ua):this.getRuleContext(e,ua)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_reloptions}enterRule(e){e.enterReloptions&&e.enterReloptions(this)}exitRule(e){e.exitReloptions&&e.exitReloptions(this)}accept(e){return e.visitReloptions?e.visitReloptions(this):e.visitChildren(this)}}class Ti extends R{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}reloptions(){return this.getRuleContext(0,N1)}get ruleIndex(){return t.RULE_opt_reloptions}enterRule(e){e.enterOpt_reloptions&&e.enterOpt_reloptions(this)}exitRule(e){e.exitOpt_reloptions&&e.exitOpt_reloptions(this)}accept(e){return e.visitOpt_reloptions?e.visitOpt_reloptions(this):e.visitChildren(this)}}class ua extends R{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,It)}EQUAL(){return this.getToken(t.EQUAL,0)}def_arg(){return this.getRuleContext(0,ls)}DOT(){return this.getToken(t.DOT,0)}def_elem(){return this.getRuleContext(0,Us)}get ruleIndex(){return t.RULE_reloption_elem}enterRule(e){e.enterReloption_elem&&e.enterReloption_elem(this)}exitRule(e){e.exitReloption_elem&&e.exitReloption_elem(this)}accept(e){return e.visitReloption_elem?e.visitReloption_elem(this):e.visitChildren(this)}}class Ls extends R{constructor(e,i){super(e,i)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}nonreservedword(e){return e===void 0?this.getRuleContexts(D1):this.getRuleContext(e,D1)}Integral(e){return e===void 0?this.getTokens(t.Integral):this.getToken(t.Integral,e)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_IN(){return this.getToken(t.KW_IN,0)}execute_param_clause(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_partitionboundspec}enterRule(e){e.enterPartitionboundspec&&e.enterPartitionboundspec(this)}exitRule(e){e.exitPartitionboundspec&&e.exitPartitionboundspec(this)}accept(e){return e.visitPartitionboundspec?e.visitPartitionboundspec(this):e.visitChildren(this)}}class F5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(){return this.getRuleContext(0,B)}alter_type_cmd(e){return e===void 0?this.getRuleContexts(Ra):this.getRuleContext(e,Ra)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_altercompositetypestmt}enterRule(e){e.enterAltercompositetypestmt&&e.enterAltercompositetypestmt(this)}exitRule(e){e.exitAltercompositetypestmt&&e.exitAltercompositetypestmt(this)}accept(e){return e.visitAltercompositetypestmt?e.visitAltercompositetypestmt(this):e.visitChildren(this)}}class Ra extends R{constructor(e,i){super(e,i)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}tablefuncelement(){return this.getRuleContext(0,zs)}opt_drop_behavior(){return this.getRuleContext(0,St)}KW_DROP(){return this.getToken(t.KW_DROP,0)}colid(){return this.getRuleContext(0,o)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,P)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}opt_collate_clause(){return this.getRuleContext(0,ve)}get ruleIndex(){return t.RULE_alter_type_cmd}enterRule(e){e.enterAlter_type_cmd&&e.enterAlter_type_cmd(this)}exitRule(e){e.exitAlter_type_cmd&&e.exitAlter_type_cmd(this)}accept(e){return e.visitAlter_type_cmd?e.visitAlter_type_cmd(this):e.visitChildren(this)}}class w5 extends R{constructor(e,i){super(e,i)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}colid(){return this.getRuleContext(0,o)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_closeportalstmt}enterRule(e){e.enterCloseportalstmt&&e.enterCloseportalstmt(this)}exitRule(e){e.exitCloseportalstmt&&e.exitCloseportalstmt(this)}accept(e){return e.visitCloseportalstmt?e.visitCloseportalstmt(this):e.visitChildren(this)}}class b5 extends R{constructor(e,i){super(e,i)}KW_COPY(){return this.getToken(t.KW_COPY,0)}table_name(){return this.getRuleContext(0,ot)}copy_options(){return this.getRuleContext(0,v5)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_TO(){return this.getToken(t.KW_TO,0)}sconst(e){return e===void 0?this.getRuleContexts(Z):this.getRuleContext(e,Z)}KW_STDIN(){return this.getToken(t.KW_STDIN,0)}KW_STDOUT(){return this.getToken(t.KW_STDOUT,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}opt_column_list(){return this.getRuleContext(0,Ut)}KW_PROGRAM(){return this.getToken(t.KW_PROGRAM,0)}KW_DELIMITERS(){return this.getToken(t.KW_DELIMITERS,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}where_clause(){return this.getRuleContext(0,Xe)}KW_USING(){return this.getToken(t.KW_USING,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}preparablestmt(){return this.getRuleContext(0,Bs)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_copystmt}enterRule(e){e.enterCopystmt&&e.enterCopystmt(this)}exitRule(e){e.exitCopystmt&&e.exitCopystmt(this)}accept(e){return e.visitCopystmt?e.visitCopystmt(this):e.visitChildren(this)}}class v5 extends R{constructor(e,i){super(e,i)}KW_BINARY(e){return e===void 0?this.getTokens(t.KW_BINARY):this.getToken(t.KW_BINARY,e)}KW_FREEZE(e){return e===void 0?this.getTokens(t.KW_FREEZE):this.getToken(t.KW_FREEZE,e)}sconst(e){return e===void 0?this.getRuleContexts(Z):this.getRuleContext(e,Z)}KW_CSV(e){return e===void 0?this.getTokens(t.KW_CSV):this.getToken(t.KW_CSV,e)}KW_HEADER(e){return e===void 0?this.getTokens(t.KW_HEADER):this.getToken(t.KW_HEADER,e)}KW_FORCE(e){return e===void 0?this.getTokens(t.KW_FORCE):this.getToken(t.KW_FORCE,e)}KW_QUOTE(e){return e===void 0?this.getTokens(t.KW_QUOTE):this.getToken(t.KW_QUOTE,e)}KW_NULL(e){return e===void 0?this.getTokens(t.KW_NULL):this.getToken(t.KW_NULL,e)}column_list(e){return e===void 0?this.getRuleContexts(Ge):this.getRuleContext(e,Ge)}KW_ENCODING(e){return e===void 0?this.getTokens(t.KW_ENCODING):this.getToken(t.KW_ENCODING,e)}KW_DELIMITER(e){return e===void 0?this.getTokens(t.KW_DELIMITER):this.getToken(t.KW_DELIMITER,e)}KW_ESCAPE(e){return e===void 0?this.getTokens(t.KW_ESCAPE):this.getToken(t.KW_ESCAPE,e)}STAR(e){return e===void 0?this.getTokens(t.STAR):this.getToken(t.STAR,e)}KW_AS(e){return e===void 0?this.getTokens(t.KW_AS):this.getToken(t.KW_AS,e)}KW_NOT(e){return e===void 0?this.getTokens(t.KW_NOT):this.getToken(t.KW_NOT,e)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}copy_generic_opt_elem(e){return e===void 0?this.getRuleContexts(Ta):this.getRuleContext(e,Ta)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_copy_options}enterRule(e){e.enterCopy_options&&e.enterCopy_options(this)}exitRule(e){e.exitCopy_options&&e.exitCopy_options(this)}accept(e){return e.visitCopy_options?e.visitCopy_options(this):e.visitChildren(this)}}class Ta extends R{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,It)}opt_boolean_or_string(){return this.getRuleContext(0,ui)}numericonly(){return this.getRuleContext(0,mt)}STAR(){return this.getToken(t.STAR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}opt_boolean_or_string_column(e){return e===void 0?this.getRuleContexts(ca):this.getRuleContext(e,ca)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_copy_generic_opt_elem}enterRule(e){e.enterCopy_generic_opt_elem&&e.enterCopy_generic_opt_elem(this)}exitRule(e){e.exitCopy_generic_opt_elem&&e.exitCopy_generic_opt_elem(this)}accept(e){return e.visitCopy_generic_opt_elem?e.visitCopy_generic_opt_elem(this):e.visitChildren(this)}}class Os extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createstmt}copyFrom(e){super.copyFrom(e)}}class u8 extends Os{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_create(){return this.getRuleContext(0,u0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OF(){return this.getToken(t.KW_OF,0)}any_name(){return this.getRuleContext(0,B)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}qualified_name(){return this.getRuleContext(0,S)}partitionboundspec(){return this.getRuleContext(0,Ls)}opttemp(){return this.getRuleContext(0,C1)}opt_if_not_exists(){return this.getRuleContext(0,lt)}tableelementlist(){return this.getRuleContext(0,_a)}optinherit(){return this.getRuleContext(0,oa)}partitionspec(){return this.getRuleContext(0,X5)}table_access_method_clause(){return this.getRuleContext(0,Ht)}optwith(){return this.getRuleContext(0,fa)}oncommitoption(){return this.getRuleContext(0,xa)}opttablespace(){return this.getRuleContext(0,gt)}opttypedtableelementlist(){return this.getRuleContext(0,Aa)}enterRule(e){e.enterColumnCreateTable&&e.enterColumnCreateTable(this)}exitRule(e){e.exitColumnCreateTable&&e.exitColumnCreateTable(this)}accept(e){return e.visitColumnCreateTable?e.visitColumnCreateTable(this):e.visitChildren(this)}}class C1 extends R{constructor(e,i){super(e,i)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}get ruleIndex(){return t.RULE_opttemp}enterRule(e){e.enterOpttemp&&e.enterOpttemp(this)}exitRule(e){e.exitOpttemp&&e.exitOpttemp(this)}accept(e){return e.visitOpttemp?e.visitOpttemp(this):e.visitChildren(this)}}class Aa extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typedtableelement(e){return e===void 0?this.getRuleContexts(Ca):this.getRuleContext(e,Ca)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opttypedtableelementlist}enterRule(e){e.enterOpttypedtableelementlist&&e.enterOpttypedtableelementlist(this)}exitRule(e){e.exitOpttypedtableelementlist&&e.exitOpttypedtableelementlist(this)}accept(e){return e.visitOpttypedtableelementlist?e.visitOpttypedtableelementlist(this):e.visitChildren(this)}}class _a extends R{constructor(e,i){super(e,i)}tableelement(e){return e===void 0?this.getRuleContexts(Na):this.getRuleContext(e,Na)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tableelementlist}enterRule(e){e.enterTableelementlist&&e.enterTableelementlist(this)}exitRule(e){e.exitTableelementlist&&e.exitTableelementlist(this)}accept(e){return e.visitTableelementlist?e.visitTableelementlist(this):e.visitChildren(this)}}class Na extends R{constructor(e,i){super(e,i)}constraintelem(){return this.getRuleContext(0,_i)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}colid(){return this.getRuleContext(0,o)}column_def(){return this.getRuleContext(0,Ai)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}qualified_name(){return this.getRuleContext(0,S)}tablelikeoption(e){return e===void 0?this.getRuleContexts(Ia):this.getRuleContext(e,Ia)}KW_INCLUDING(e){return e===void 0?this.getTokens(t.KW_INCLUDING):this.getToken(t.KW_INCLUDING,e)}KW_EXCLUDING(e){return e===void 0?this.getTokens(t.KW_EXCLUDING):this.getToken(t.KW_EXCLUDING,e)}get ruleIndex(){return t.RULE_tableelement}enterRule(e){e.enterTableelement&&e.enterTableelement(this)}exitRule(e){e.exitTableelement&&e.exitTableelement(this)}accept(e){return e.visitTableelement?e.visitTableelement(this):e.visitChildren(this)}}class Ca extends R{constructor(e,i){super(e,i)}column_name_create(){return this.getRuleContext(0,j0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}colconstraint(e){return e===void 0?this.getRuleContexts(G0):this.getRuleContext(e,G0)}constraintelem(){return this.getRuleContext(0,_i)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_typedtableelement}enterRule(e){e.enterTypedtableelement&&e.enterTypedtableelement(this)}exitRule(e){e.exitTypedtableelement&&e.exitTypedtableelement(this)}accept(e){return e.visitTypedtableelement?e.visitTypedtableelement(this):e.visitChildren(this)}}class Ai extends R{constructor(e,i){super(e,i)}column_name_create(){return this.getRuleContext(0,j0)}typename(){return this.getRuleContext(0,P)}create_generic_options(){return this.getRuleContext(0,E0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_COMPRESSION(){return this.getToken(t.KW_COMPRESSION,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}opt_collate_clause(){return this.getRuleContext(0,ve)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}colconstraint(e){return e===void 0?this.getRuleContexts(G0):this.getRuleContext(e,G0)}KW_PLAIN(){return this.getToken(t.KW_PLAIN,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_EXTENDED(){return this.getToken(t.KW_EXTENDED,0)}KW_MAIN(){return this.getToken(t.KW_MAIN,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_column_def}enterRule(e){e.enterColumn_def&&e.enterColumn_def(this)}exitRule(e){e.exitColumn_def&&e.exitColumn_def(this)}accept(e){return e.visitColumn_def?e.visitColumn_def(this):e.visitChildren(this)}}class G0 extends R{constructor(e,i){super(e,i)}colconstraintelem(){return this.getRuleContext(0,G5)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}colid(){return this.getRuleContext(0,o)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_INITIALLY(){return this.getToken(t.KW_INITIALLY,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_colconstraint}enterRule(e){e.enterColconstraint&&e.enterColconstraint(this)}exitRule(e){e.exitColconstraint&&e.exitColconstraint(this)}accept(e){return e.visitColconstraint?e.visitColconstraint(this):e.visitChildren(this)}}class G5 extends R{constructor(e,i){super(e,i)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}opt_definition(){return this.getRuleContext(0,m1)}optconstablespace(){return this.getRuleContext(0,Ua)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}index_params(){return this.getRuleContext(0,mi)}with_clause(){return this.getRuleContext(0,Q0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}primaryExpression(){return this.getRuleContext(0,Ft)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}generated_when(){return this.getRuleContext(0,ds)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_STORED(){return this.getToken(t.KW_STORED,0)}seqoptelem(e){return e===void 0?this.getRuleContexts(Be):this.getRuleContext(e,Be)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}qualified_name(){return this.getRuleContext(0,S)}opt_column_list(){return this.getRuleContext(0,Ut)}key_match(){return this.getRuleContext(0,La)}key_actions(){return this.getRuleContext(0,da)}opt_collate_clause(){return this.getRuleContext(0,ve)}get ruleIndex(){return t.RULE_colconstraintelem}enterRule(e){e.enterColconstraintelem&&e.enterColconstraintelem(this)}exitRule(e){e.exitColconstraintelem&&e.exitColconstraintelem(this)}accept(e){return e.visitColconstraintelem?e.visitColconstraintelem(this):e.visitChildren(this)}}class ds extends R{constructor(e,i){super(e,i)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_generated_when}enterRule(e){e.enterGenerated_when&&e.enterGenerated_when(this)}exitRule(e){e.exitGenerated_when&&e.exitGenerated_when(this)}accept(e){return e.visitGenerated_when?e.visitGenerated_when(this):e.visitChildren(this)}}class Ia extends R{constructor(e,i){super(e,i)}KW_COMMENTS(){return this.getToken(t.KW_COMMENTS,0)}KW_CONSTRAINTS(){return this.getToken(t.KW_CONSTRAINTS,0)}KW_DEFAULTS(){return this.getToken(t.KW_DEFAULTS,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_tablelikeoption}enterRule(e){e.enterTablelikeoption&&e.enterTablelikeoption(this)}exitRule(e){e.exitTablelikeoption&&e.exitTablelikeoption(this)}accept(e){return e.visitTablelikeoption?e.visitTablelikeoption(this):e.visitChildren(this)}}class _i extends R{constructor(e,i){super(e,i)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}constraintattributeElem(e){return e===void 0?this.getRuleContexts(Ve):this.getRuleContext(e,Ve)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}opt_column_list(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}existingindex(){return this.getRuleContext(0,la)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}opt_c_include(){return this.getRuleContext(0,B5)}opt_definition(){return this.getRuleContext(0,m1)}optconstablespace(){return this.getRuleContext(0,Ua)}KW_EXCLUDE(){return this.getToken(t.KW_EXCLUDE,0)}exclusionconstraintelem(e){return e===void 0?this.getRuleContexts(Oa):this.getRuleContext(e,Oa)}table_access_method_clause(){return this.getRuleContext(0,Ht)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}qualified_name(){return this.getRuleContext(0,S)}key_match(){return this.getRuleContext(0,La)}key_actions(){return this.getRuleContext(0,da)}get ruleIndex(){return t.RULE_constraintelem}enterRule(e){e.enterConstraintelem&&e.enterConstraintelem(this)}exitRule(e){e.exitConstraintelem&&e.exitConstraintelem(this)}accept(e){return e.visitConstraintelem?e.visitConstraintelem(this):e.visitChildren(this)}}class Ut extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_list(){return this.getRuleContext(0,Ge)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_column_list}enterRule(e){e.enterOpt_column_list&&e.enterOpt_column_list(this)}exitRule(e){e.exitOpt_column_list&&e.exitOpt_column_list(this)}accept(e){return e.visitOpt_column_list?e.visitOpt_column_list(this):e.visitChildren(this)}}class ms extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}column_name_create(e){return e===void 0?this.getRuleContexts(j0):this.getRuleContext(e,j0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_opt_column_list_create}enterRule(e){e.enterOpt_column_list_create&&e.enterOpt_column_list_create(this)}exitRule(e){e.exitOpt_column_list_create&&e.exitOpt_column_list_create(this)}accept(e){return e.visitOpt_column_list_create?e.visitOpt_column_list_create(this):e.visitChildren(this)}}class Ge extends R{constructor(e,i){super(e,i)}column_name(e){return e===void 0?this.getRuleContexts(Rt):this.getRuleContext(e,Rt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_column_list}enterRule(e){e.enterColumn_list&&e.enterColumn_list(this)}exitRule(e){e.exitColumn_list&&e.exitColumn_list(this)}accept(e){return e.visitColumn_list?e.visitColumn_list(this):e.visitChildren(this)}}class B5 extends R{constructor(e,i){super(e,i)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}opt_column_list(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_opt_c_include}enterRule(e){e.enterOpt_c_include&&e.enterOpt_c_include(this)}exitRule(e){e.exitOpt_c_include&&e.exitOpt_c_include(this)}accept(e){return e.visitOpt_c_include?e.visitOpt_c_include(this):e.visitChildren(this)}}class La extends R{constructor(e,i){super(e,i)}KW_MATCH(){return this.getToken(t.KW_MATCH,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}get ruleIndex(){return t.RULE_key_match}enterRule(e){e.enterKey_match&&e.enterKey_match(this)}exitRule(e){e.exitKey_match&&e.exitKey_match(this)}accept(e){return e.visitKey_match?e.visitKey_match(this):e.visitChildren(this)}}class Oa extends R{constructor(e,i){super(e,i)}index_elem(){return this.getRuleContext(0,Fs)}KW_WITH(){return this.getToken(t.KW_WITH,0)}any_operator(){return this.getRuleContext(0,Y0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_exclusionconstraintelem}enterRule(e){e.enterExclusionconstraintelem&&e.enterExclusionconstraintelem(this)}exitRule(e){e.exitExclusionconstraintelem&&e.exitExclusionconstraintelem(this)}accept(e){return e.visitExclusionconstraintelem?e.visitExclusionconstraintelem(this):e.visitChildren(this)}}class da extends R{constructor(e,i){super(e,i)}key_update(){return this.getRuleContext(0,V5)}key_delete(){return this.getRuleContext(0,Y5)}get ruleIndex(){return t.RULE_key_actions}enterRule(e){e.enterKey_actions&&e.enterKey_actions(this)}exitRule(e){e.exitKey_actions&&e.exitKey_actions(this)}accept(e){return e.visitKey_actions?e.visitKey_actions(this):e.visitChildren(this)}}class V5 extends R{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}key_action(){return this.getRuleContext(0,ma)}get ruleIndex(){return t.RULE_key_update}enterRule(e){e.enterKey_update&&e.enterKey_update(this)}exitRule(e){e.exitKey_update&&e.exitKey_update(this)}accept(e){return e.visitKey_update?e.visitKey_update(this):e.visitChildren(this)}}class Y5 extends R{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}key_action(){return this.getRuleContext(0,ma)}get ruleIndex(){return t.RULE_key_delete}enterRule(e){e.enterKey_delete&&e.enterKey_delete(this)}exitRule(e){e.exitKey_delete&&e.exitKey_delete(this)}accept(e){return e.visitKey_delete?e.visitKey_delete(this):e.visitChildren(this)}}class ma extends R{constructor(e,i){super(e,i)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}column_list(){return this.getRuleContext(0,Ge)}get ruleIndex(){return t.RULE_key_action}enterRule(e){e.enterKey_action&&e.enterKey_action(this)}exitRule(e){e.exitKey_action&&e.exitKey_action(this)}accept(e){return e.visitKey_action?e.visitKey_action(this):e.visitChildren(this)}}class oa extends R{constructor(e,i){super(e,i)}KW_INHERITS(){return this.getToken(t.KW_INHERITS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}qualified_name_list(){return this.getRuleContext(0,U1)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_optinherit}enterRule(e){e.enterOptinherit&&e.enterOptinherit(this)}exitRule(e){e.exitOptinherit&&e.exitOptinherit(this)}accept(e){return e.visitOptinherit?e.visitOptinherit(this):e.visitChildren(this)}}class X5 extends R{constructor(e,i){super(e,i)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(){return this.getToken(t.KW_BY,0)}colid(){return this.getRuleContext(0,o)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}part_elem(e){return e===void 0?this.getRuleContexts(pa):this.getRuleContext(e,pa)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_partitionspec}enterRule(e){e.enterPartitionspec&&e.enterPartitionspec(this)}exitRule(e){e.exitPartitionspec&&e.exitPartitionspec(this)}accept(e){return e.visitPartitionspec?e.visitPartitionspec(this):e.visitChildren(this)}}class pa extends R{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Rt)}func_expr_windowless(){return this.getRuleContext(0,ki)}opt_collate_clause(){return this.getRuleContext(0,ve)}any_name(){return this.getRuleContext(0,B)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_part_elem}enterRule(e){e.enterPart_elem&&e.enterPart_elem(this)}exitRule(e){e.exitPart_elem&&e.exitPart_elem(this)}accept(e){return e.visitPart_elem?e.visitPart_elem(this):e.visitChildren(this)}}class Ht extends R{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_table_access_method_clause}enterRule(e){e.enterTable_access_method_clause&&e.enterTable_access_method_clause(this)}exitRule(e){e.exitTable_access_method_clause&&e.exitTable_access_method_clause(this)}accept(e){return e.visitTable_access_method_clause?e.visitTable_access_method_clause(this):e.visitChildren(this)}}class fa extends R{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}reloptions(){return this.getRuleContext(0,N1)}KW_OIDS(){return this.getToken(t.KW_OIDS,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}get ruleIndex(){return t.RULE_optwith}enterRule(e){e.enterOptwith&&e.enterOptwith(this)}exitRule(e){e.exitOptwith&&e.exitOptwith(this)}accept(e){return e.visitOptwith?e.visitOptwith(this):e.visitChildren(this)}}class xa extends R{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}get ruleIndex(){return t.RULE_oncommitoption}enterRule(e){e.enterOncommitoption&&e.enterOncommitoption(this)}exitRule(e){e.exitOncommitoption&&e.exitOncommitoption(this)}accept(e){return e.visitOncommitoption?e.visitOncommitoption(this):e.visitChildren(this)}}class gt extends R{constructor(e,i){super(e,i)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,k1)}get ruleIndex(){return t.RULE_opttablespace}enterRule(e){e.enterOpttablespace&&e.enterOpttablespace(this)}exitRule(e){e.exitOpttablespace&&e.exitOpttablespace(this)}accept(e){return e.visitOpttablespace?e.visitOpttablespace(this):e.visitChildren(this)}}class Ua extends R{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}opttablespace(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_optconstablespace}enterRule(e){e.enterOptconstablespace&&e.enterOptconstablespace(this)}exitRule(e){e.exitOptconstablespace&&e.exitOptconstablespace(this)}accept(e){return e.visitOptconstablespace?e.visitOptconstablespace(this):e.visitChildren(this)}}class la extends R{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_existingindex}enterRule(e){e.enterExistingindex&&e.enterExistingindex(this)}exitRule(e){e.exitExistingindex&&e.exitExistingindex(this)}accept(e){return e.visitExistingindex?e.visitExistingindex(this):e.visitChildren(this)}}class Q5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}from_clause(){return this.getRuleContext(0,Zs)}column_expr(e){return e===void 0?this.getRuleContexts(e3):this.getRuleContext(e,e3)}expr_list(){return this.getRuleContext(0,Ct)}any_name(){return this.getRuleContext(0,B)}opt_column_list(){return this.getRuleContext(0,Ut)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}opt_if_not_exists(){return this.getRuleContext(0,lt)}get ruleIndex(){return t.RULE_createstatsstmt}enterRule(e){e.enterCreatestatsstmt&&e.enterCreatestatsstmt(this)}exitRule(e){e.exitCreatestatsstmt&&e.exitCreatestatsstmt(this)}accept(e){return e.visitCreatestatsstmt?e.visitCreatestatsstmt(this):e.visitChildren(this)}}class Z5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_STATISTICS(e){return e===void 0?this.getTokens(t.KW_STATISTICS):this.getToken(t.KW_STATISTICS,e)}any_name(){return this.getRuleContext(0,B)}KW_SET(){return this.getToken(t.KW_SET,0)}signediconst(){return this.getRuleContext(0,z0)}opt_if_exists(){return this.getRuleContext(0,zt)}get ruleIndex(){return t.RULE_alterstatsstmt}enterRule(e){e.enterAlterstatsstmt&&e.enterAlterstatsstmt(this)}exitRule(e){e.exitAlterstatsstmt&&e.exitAlterstatsstmt(this)}accept(e){return e.visitAlterstatsstmt?e.visitAlterstatsstmt(this):e.visitChildren(this)}}class os extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createasstmt}copyFrom(e){super.copyFrom(e)}}class R8 extends os{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}create_as_target(){return this.getRuleContext(0,ka)}KW_AS(){return this.getToken(t.KW_AS,0)}selectstmt(){return this.getRuleContext(0,Yt)}opttemp(){return this.getRuleContext(0,C1)}opt_if_not_exists(){return this.getRuleContext(0,lt)}opt_with_data(){return this.getRuleContext(0,Ni)}enterRule(e){e.enterQueryCreateTable&&e.enterQueryCreateTable(this)}exitRule(e){e.exitQueryCreateTable&&e.exitQueryCreateTable(this)}accept(e){return e.visitQueryCreateTable?e.visitQueryCreateTable(this):e.visitChildren(this)}}class ka extends R{constructor(e,i){super(e,i)}table_name_create(){return this.getRuleContext(0,u0)}opt_column_list_create(){return this.getRuleContext(0,ms)}table_access_method_clause(){return this.getRuleContext(0,Ht)}optwith(){return this.getRuleContext(0,fa)}oncommitoption(){return this.getRuleContext(0,xa)}opttablespace(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_create_as_target}enterRule(e){e.enterCreate_as_target&&e.enterCreate_as_target(this)}exitRule(e){e.exitCreate_as_target&&e.exitCreate_as_target(this)}accept(e){return e.visitCreate_as_target?e.visitCreate_as_target(this):e.visitChildren(this)}}class Ni extends R{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_opt_with_data}enterRule(e){e.enterOpt_with_data&&e.enterOpt_with_data(this)}exitRule(e){e.exitOpt_with_data&&e.exitOpt_with_data(this)}accept(e){return e.visitOpt_with_data?e.visitOpt_with_data(this):e.visitChildren(this)}}class ps extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_creatematviewstmt}copyFrom(e){super.copyFrom(e)}}class T8 extends ps{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name_create(){return this.getRuleContext(0,wi)}KW_AS(){return this.getToken(t.KW_AS,0)}selectstmt(){return this.getRuleContext(0,Yt)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}opt_if_not_exists(){return this.getRuleContext(0,lt)}opt_column_list_create(){return this.getRuleContext(0,ms)}table_access_method_clause(){return this.getRuleContext(0,Ht)}opt_reloptions(){return this.getRuleContext(0,Ti)}opttablespace(){return this.getRuleContext(0,gt)}opt_with_data(){return this.getRuleContext(0,Ni)}enterRule(e){e.enterCreateMaterializedView&&e.enterCreateMaterializedView(this)}exitRule(e){e.exitCreateMaterializedView&&e.exitCreateMaterializedView(this)}accept(e){return e.visitCreateMaterializedView?e.visitCreateMaterializedView(this):e.visitChildren(this)}}class Da extends R{constructor(e,i){super(e,i)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,Ce)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}opt_with_data(){return this.getRuleContext(0,Ni)}get ruleIndex(){return t.RULE_refreshmatviewstmt}enterRule(e){e.enterRefreshmatviewstmt&&e.enterRefreshmatviewstmt(this)}exitRule(e){e.exitRefreshmatviewstmt&&e.exitRefreshmatviewstmt(this)}accept(e){return e.visitRefreshmatviewstmt?e.visitRefreshmatviewstmt(this):e.visitChildren(this)}}class Ma extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}qualified_name(){return this.getRuleContext(0,S)}opttemp(){return this.getRuleContext(0,C1)}opt_if_not_exists(){return this.getRuleContext(0,lt)}seqoptelem(e){return e===void 0?this.getRuleContexts(Be):this.getRuleContext(e,Be)}get ruleIndex(){return t.RULE_createseqstmt}enterRule(e){e.enterCreateseqstmt&&e.enterCreateseqstmt(this)}exitRule(e){e.exitCreateseqstmt&&e.exitCreateseqstmt(this)}accept(e){return e.visitCreateseqstmt?e.visitCreateseqstmt(this):e.visitChildren(this)}}class r5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}qualified_name(){return this.getRuleContext(0,S)}opt_if_exists(){return this.getRuleContext(0,zt)}seqoptelem(e){return e===void 0?this.getRuleContexts(Be):this.getRuleContext(e,Be)}get ruleIndex(){return t.RULE_alterseqstmt}enterRule(e){e.enterAlterseqstmt&&e.enterAlterseqstmt(this)}exitRule(e){e.exitAlterseqstmt&&e.exitAlterseqstmt(this)}accept(e){return e.visitAlterseqstmt?e.visitAlterseqstmt(this):e.visitChildren(this)}}class Be extends R{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}simpletypename(){return this.getRuleContext(0,$s)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}numericonly(){return this.getRuleContext(0,mt)}KW_INCREMENT(){return this.getToken(t.KW_INCREMENT,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}KW_MINVALUE(){return this.getToken(t.KW_MINVALUE,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_CYCLE(){return this.getToken(t.KW_CYCLE,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}column_name(){return this.getRuleContext(0,Rt)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}any_name(){return this.getRuleContext(0,B)}KW_START(){return this.getToken(t.KW_START,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}get ruleIndex(){return t.RULE_seqoptelem}enterRule(e){e.enterSeqoptelem&&e.enterSeqoptelem(this)}exitRule(e){e.exitSeqoptelem&&e.exitSeqoptelem(this)}accept(e){return e.visitSeqoptelem?e.visitSeqoptelem(this):e.visitChildren(this)}}class mt extends R{constructor(e,i){super(e,i)}Numeric(){return this.getToken(t.Numeric,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}signediconst(){return this.getRuleContext(0,z0)}get ruleIndex(){return t.RULE_numericonly}enterRule(e){e.enterNumericonly&&e.enterNumericonly(this)}exitRule(e){e.exitNumericonly&&e.exitNumericonly(this)}accept(e){return e.visitNumericonly?e.visitNumericonly(this):e.visitChildren(this)}}class j5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}colid(){return this.getRuleContext(0,o)}opt_or_replace(){return this.getRuleContext(0,V0)}KW_TRUSTED(){return this.getToken(t.KW_TRUSTED,0)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_INLINE(){return this.getToken(t.KW_INLINE,0)}KW_VALIDATOR(){return this.getToken(t.KW_VALIDATOR,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_createplangstmt}enterRule(e){e.enterCreateplangstmt&&e.enterCreateplangstmt(this)}exitRule(e){e.exitCreateplangstmt&&e.exitCreateplangstmt(this)}accept(e){return e.visitCreateplangstmt?e.visitCreateplangstmt(this):e.visitChildren(this)}}class z5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}opttablespace(){return this.getRuleContext(0,gt)}KW_LOCATION(){return this.getToken(t.KW_LOCATION,0)}sconst(){return this.getRuleContext(0,Z)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}rolespec(){return this.getRuleContext(0,ct)}opt_reloptions(){return this.getRuleContext(0,Ti)}get ruleIndex(){return t.RULE_createtablespacestmt}enterRule(e){e.enterCreatetablespacestmt&&e.enterCreatetablespacestmt(this)}exitRule(e){e.exitCreatetablespacestmt&&e.exitCreatetablespacestmt(this)}accept(e){return e.visitCreatetablespacestmt?e.visitCreatetablespacestmt(this):e.visitChildren(this)}}class $5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(){return this.getRuleContext(0,o)}opt_if_not_exists(){return this.getRuleContext(0,lt)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_SCHEMA(e){return e===void 0?this.getTokens(t.KW_SCHEMA):this.getToken(t.KW_SCHEMA,e)}schema_name(e){return e===void 0?this.getRuleContexts(Xt):this.getRuleContext(e,Xt)}nonreservedword_or_sconst(e){return e===void 0?this.getRuleContexts(Te):this.getRuleContext(e,Te)}KW_CASCADE(e){return e===void 0?this.getTokens(t.KW_CASCADE):this.getToken(t.KW_CASCADE,e)}KW_VERSION(e){return e===void 0?this.getTokens(t.KW_VERSION):this.getToken(t.KW_VERSION,e)}KW_FROM(e){return e===void 0?this.getTokens(t.KW_FROM):this.getToken(t.KW_FROM,e)}get ruleIndex(){return t.RULE_createextensionstmt}enterRule(e){e.enterCreateextensionstmt&&e.enterCreateextensionstmt(this)}exitRule(e){e.exitCreateextensionstmt&&e.exitCreateextensionstmt(this)}accept(e){return e.visitCreateextensionstmt?e.visitCreateextensionstmt(this):e.visitChildren(this)}}class J5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(){return this.getRuleContext(0,o)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_TO(e){return e===void 0?this.getTokens(t.KW_TO):this.getToken(t.KW_TO,e)}nonreservedword_or_sconst(e){return e===void 0?this.getRuleContexts(Te):this.getRuleContext(e,Te)}get ruleIndex(){return t.RULE_alterextensionstmt}enterRule(e){e.enterAlterextensionstmt&&e.enterAlterextensionstmt(this)}exitRule(e){e.exitAlterextensionstmt&&e.exitAlterextensionstmt(this)}accept(e){return e.visitAlterextensionstmt?e.visitAlterextensionstmt(this):e.visitChildren(this)}}class S5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}any_name(){return this.getRuleContext(0,B)}table_access_method_clause(){return this.getRuleContext(0,Ht)}operator_with_argtypes(){return this.getRuleContext(0,W0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ye)}object_type_name(){return this.getRuleContext(0,Ms)}object_type_any_name(){return this.getRuleContext(0,Ds)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}get ruleIndex(){return t.RULE_alterextensioncontentsstmt}enterRule(e){e.enterAlterextensioncontentsstmt&&e.enterAlterextensioncontentsstmt(this)}exitRule(e){e.exitAlterextensioncontentsstmt&&e.exitAlterextensioncontentsstmt(this)}accept(e){return e.visitAlterextensioncontentsstmt?e.visitAlterextensioncontentsstmt(this):e.visitChildren(this)}}class g5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}colid(){return this.getRuleContext(0,o)}create_generic_options(){return this.getRuleContext(0,E0)}fdw_option(e){return e===void 0?this.getRuleContexts(Ci):this.getRuleContext(e,Ci)}get ruleIndex(){return t.RULE_createfdwstmt}enterRule(e){e.enterCreatefdwstmt&&e.enterCreatefdwstmt(this)}exitRule(e){e.exitCreatefdwstmt&&e.exitCreatefdwstmt(this)}accept(e){return e.visitCreatefdwstmt?e.visitCreatefdwstmt(this):e.visitChildren(this)}}class Ci extends R{constructor(e,i){super(e,i)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_VALIDATOR(){return this.getToken(t.KW_VALIDATOR,0)}any_name(){return this.getRuleContext(0,B)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_fdw_option}enterRule(e){e.enterFdw_option&&e.enterFdw_option(this)}exitRule(e){e.exitFdw_option&&e.exitFdw_option(this)}accept(e){return e.visitFdw_option?e.visitFdw_option(this):e.visitChildren(this)}}class q5 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}colid(){return this.getRuleContext(0,o)}alter_generic_options(){return this.getRuleContext(0,Ii)}fdw_option(e){return e===void 0?this.getRuleContexts(Ci):this.getRuleContext(e,Ci)}get ruleIndex(){return t.RULE_alterfdwstmt}enterRule(e){e.enterAlterfdwstmt&&e.enterAlterfdwstmt(this)}exitRule(e){e.exitAlterfdwstmt&&e.exitAlterfdwstmt(this)}accept(e){return e.visitAlterfdwstmt?e.visitAlterfdwstmt(this):e.visitChildren(this)}}class E0 extends R{constructor(e,i){super(e,i)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}generic_option_elem(e){return e===void 0?this.getRuleContexts(fs):this.getRuleContext(e,fs)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_create_generic_options}enterRule(e){e.enterCreate_generic_options&&e.enterCreate_generic_options(this)}exitRule(e){e.exitCreate_generic_options&&e.exitCreate_generic_options(this)}accept(e){return e.visitCreate_generic_options?e.visitCreate_generic_options(this):e.visitChildren(this)}}class Ii extends R{constructor(e,i){super(e,i)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}alter_generic_option_elem(e){return e===void 0?this.getRuleContexts(Ha):this.getRuleContext(e,Ha)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alter_generic_options}enterRule(e){e.enterAlter_generic_options&&e.enterAlter_generic_options(this)}exitRule(e){e.exitAlter_generic_options&&e.exitAlter_generic_options(this)}accept(e){return e.visitAlter_generic_options?e.visitAlter_generic_options(this):e.visitChildren(this)}}class Ha extends R{constructor(e,i){super(e,i)}generic_option_elem(){return this.getRuleContext(0,fs)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}get ruleIndex(){return t.RULE_alter_generic_option_elem}enterRule(e){e.enterAlter_generic_option_elem&&e.enterAlter_generic_option_elem(this)}exitRule(e){e.exitAlter_generic_option_elem&&e.exitAlter_generic_option_elem(this)}accept(e){return e.visitAlter_generic_option_elem?e.visitAlter_generic_option_elem(this):e.visitChildren(this)}}class fs extends R{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,It)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_generic_option_elem}enterRule(e){e.enterGeneric_option_elem&&e.enterGeneric_option_elem(this)}exitRule(e){e.exitGeneric_option_elem&&e.exitGeneric_option_elem(this)}accept(e){return e.visitGeneric_option_elem?e.visitGeneric_option_elem(this):e.visitChildren(this)}}class P5 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}opt_if_not_exists(){return this.getRuleContext(0,lt)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}sconst(){return this.getRuleContext(0,Z)}foreign_server_version(){return this.getRuleContext(0,ya)}create_generic_options(){return this.getRuleContext(0,E0)}get ruleIndex(){return t.RULE_createforeignserverstmt}enterRule(e){e.enterCreateforeignserverstmt&&e.enterCreateforeignserverstmt(this)}exitRule(e){e.exitCreateforeignserverstmt&&e.exitCreateforeignserverstmt(this)}accept(e){return e.visitCreateforeignserverstmt?e.visitCreateforeignserverstmt(this):e.visitChildren(this)}}class ya extends R{constructor(e,i){super(e,i)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}sconst(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(t.KW_NULL,0)}get ruleIndex(){return t.RULE_foreign_server_version}enterRule(e){e.enterForeign_server_version&&e.enterForeign_server_version(this)}exitRule(e){e.exitForeign_server_version&&e.exitForeign_server_version(this)}accept(e){return e.visitForeign_server_version?e.visitForeign_server_version(this):e.visitChildren(this)}}class t7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(){return this.getRuleContext(0,o)}alter_generic_options(){return this.getRuleContext(0,Ii)}foreign_server_version(){return this.getRuleContext(0,ya)}get ruleIndex(){return t.RULE_alterforeignserverstmt}enterRule(e){e.enterAlterforeignserverstmt&&e.enterAlterforeignserverstmt(this)}exitRule(e){e.exitAlterforeignserverstmt&&e.exitAlterforeignserverstmt(this)}accept(e){return e.visitAlterforeignserverstmt?e.visitAlterforeignserverstmt(this):e.visitChildren(this)}}class xs extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createforeigntablestmt}copyFrom(e){super.copyFrom(e)}}class A8 extends xs{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_create(){return this.getRuleContext(0,u0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(){return this.getRuleContext(0,o)}opt_if_not_exists(){return this.getRuleContext(0,lt)}tableelementlist(){return this.getRuleContext(0,_a)}optinherit(){return this.getRuleContext(0,oa)}create_generic_options(){return this.getRuleContext(0,E0)}enterRule(e){e.enterCreateForeignTable&&e.enterCreateForeignTable(this)}exitRule(e){e.exitCreateForeignTable&&e.exitCreateForeignTable(this)}accept(e){return e.visitCreateForeignTable?e.visitCreateForeignTable(this):e.visitChildren(this)}}class _8 extends xs{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_create(){return this.getRuleContext(0,u0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_OF(){return this.getToken(t.KW_OF,0)}table_name(){return this.getRuleContext(0,ot)}partitionboundspec(){return this.getRuleContext(0,Ls)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(){return this.getRuleContext(0,o)}opt_if_not_exists(){return this.getRuleContext(0,lt)}opttypedtableelementlist(){return this.getRuleContext(0,Aa)}create_generic_options(){return this.getRuleContext(0,E0)}enterRule(e){e.enterCreatePartitionForeignTable&&e.enterCreatePartitionForeignTable(this)}exitRule(e){e.exitCreatePartitionForeignTable&&e.exitCreatePartitionForeignTable(this)}accept(e){return e.visitCreatePartitionForeignTable?e.visitCreatePartitionForeignTable(this):e.visitChildren(this)}}class e7 extends R{constructor(e,i){super(e,i)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_INTO(){return this.getToken(t.KW_INTO,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}relation_expr_list(){return this.getRuleContext(0,rs)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}create_generic_options(){return this.getRuleContext(0,E0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}get ruleIndex(){return t.RULE_importforeignschemastmt}enterRule(e){e.enterImportforeignschemastmt&&e.enterImportforeignschemastmt(this)}exitRule(e){e.exitImportforeignschemastmt&&e.exitImportforeignschemastmt(this)}accept(e){return e.visitImportforeignschemastmt?e.visitImportforeignschemastmt(this):e.visitChildren(this)}}class i7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_USER(e){return e===void 0?this.getTokens(t.KW_USER):this.getToken(t.KW_USER,e)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(){return this.getRuleContext(0,o)}rolespec(){return this.getRuleContext(0,ct)}opt_if_not_exists(){return this.getRuleContext(0,lt)}create_generic_options(){return this.getRuleContext(0,E0)}get ruleIndex(){return t.RULE_createusermappingstmt}enterRule(e){e.enterCreateusermappingstmt&&e.enterCreateusermappingstmt(this)}exitRule(e){e.exitCreateusermappingstmt&&e.exitCreateusermappingstmt(this)}accept(e){return e.visitCreateusermappingstmt?e.visitCreateusermappingstmt(this):e.visitChildren(this)}}class n7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_USER(e){return e===void 0?this.getTokens(t.KW_USER):this.getToken(t.KW_USER,e)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}colid(){return this.getRuleContext(0,o)}alter_generic_options(){return this.getRuleContext(0,Ii)}rolespec(){return this.getRuleContext(0,ct)}get ruleIndex(){return t.RULE_alterusermappingstmt}enterRule(e){e.enterAlterusermappingstmt&&e.enterAlterusermappingstmt(this)}exitRule(e){e.exitAlterusermappingstmt&&e.exitAlterusermappingstmt(this)}accept(e){return e.visitAlterusermappingstmt?e.visitAlterusermappingstmt(this):e.visitChildren(this)}}class c7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}colid(){return this.getRuleContext(0,o)}KW_ON(){return this.getToken(t.KW_ON,0)}qualified_name(){return this.getRuleContext(0,S)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_TO(){return this.getToken(t.KW_TO,0)}role_list(){return this.getRuleContext(0,qt)}rowsecurityoptionalexpr(){return this.getRuleContext(0,wa)}rowsecurityoptionalwithcheck(){return this.getRuleContext(0,ba)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_PERMISSIVE(){return this.getToken(t.KW_PERMISSIVE,0)}KW_RESTRICTIVE(){return this.getToken(t.KW_RESTRICTIVE,0)}identifier(){return this.getRuleContext(0,wt)}get ruleIndex(){return t.RULE_createpolicystmt}enterRule(e){e.enterCreatepolicystmt&&e.enterCreatepolicystmt(this)}exitRule(e){e.exitCreatepolicystmt&&e.exitCreatepolicystmt(this)}accept(e){return e.visitCreatepolicystmt?e.visitCreatepolicystmt(this):e.visitChildren(this)}}class s7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}colid(){return this.getRuleContext(0,o)}KW_ON(){return this.getToken(t.KW_ON,0)}qualified_name(){return this.getRuleContext(0,S)}KW_TO(){return this.getToken(t.KW_TO,0)}role_list(){return this.getRuleContext(0,qt)}rowsecurityoptionalexpr(){return this.getRuleContext(0,wa)}rowsecurityoptionalwithcheck(){return this.getRuleContext(0,ba)}get ruleIndex(){return t.RULE_alterpolicystmt}enterRule(e){e.enterAlterpolicystmt&&e.enterAlterpolicystmt(this)}exitRule(e){e.exitAlterpolicystmt&&e.exitAlterpolicystmt(this)}accept(e){return e.visitAlterpolicystmt?e.visitAlterpolicystmt(this):e.visitChildren(this)}}class h7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_name(){return this.getRuleContext(0,bi)}procedure_action(e){return e===void 0?this.getRuleContexts(Fa):this.getRuleContext(e,Fa)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}procedure_name_create(){return this.getRuleContext(0,vi)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}rolespec(){return this.getRuleContext(0,ct)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_create(){return this.getRuleContext(0,_1)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(){return this.getRuleContext(0,o)}func_args(){return this.getRuleContext(0,O1)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_alterprocedurestmt}enterRule(e){e.enterAlterprocedurestmt&&e.enterAlterprocedurestmt(this)}exitRule(e){e.exitAlterprocedurestmt&&e.exitAlterprocedurestmt(this)}accept(e){return e.visitAlterprocedurestmt?e.visitAlterprocedurestmt(this):e.visitChildren(this)}}class Fa extends R{constructor(e,i){super(e,i)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_SET(){return this.getToken(t.KW_SET,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_TO(){return this.getToken(t.KW_TO,0)}STAR(){return this.getToken(t.STAR,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_procedure_action}enterRule(e){e.enterProcedure_action&&e.enterProcedure_action(this)}exitRule(e){e.exitProcedure_action&&e.exitProcedure_action(this)}accept(e){return e.visitProcedure_action?e.visitProcedure_action(this):e.visitChildren(this)}}class wa extends R{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_rowsecurityoptionalexpr}enterRule(e){e.enterRowsecurityoptionalexpr&&e.enterRowsecurityoptionalexpr(this)}exitRule(e){e.exitRowsecurityoptionalexpr&&e.exitRowsecurityoptionalexpr(this)}accept(e){return e.visitRowsecurityoptionalexpr?e.visitRowsecurityoptionalexpr(this):e.visitChildren(this)}}class ba extends R{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_rowsecurityoptionalwithcheck}enterRule(e){e.enterRowsecurityoptionalwithcheck&&e.enterRowsecurityoptionalwithcheck(this)}exitRule(e){e.exitRowsecurityoptionalwithcheck&&e.exitRowsecurityoptionalwithcheck(this)}accept(e){return e.visitRowsecurityoptionalwithcheck?e.visitRowsecurityoptionalwithcheck(this):e.visitChildren(this)}}class a7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}colid(){return this.getRuleContext(0,o)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}any_name(){return this.getRuleContext(0,B)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}get ruleIndex(){return t.RULE_createamstmt}enterRule(e){e.enterCreateamstmt&&e.enterCreateamstmt(this)}exitRule(e){e.exitCreateamstmt&&e.exitCreateamstmt(this)}accept(e){return e.visitCreateamstmt?e.visitCreateamstmt(this):e.visitChildren(this)}}class va extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}triggeractiontime(){return this.getRuleContext(0,E7)}triggerevents(){return this.getRuleContext(0,W7)}KW_ON(){return this.getToken(t.KW_ON,0)}table_name(){return this.getRuleContext(0,ot)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}function_or_procedure(){return this.getRuleContext(0,Ba)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}triggerfuncargs(){return this.getRuleContext(0,u7)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_or_replace(){return this.getRuleContext(0,V0)}KW_REFERENCING(){return this.getToken(t.KW_REFERENCING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}triggerwhen(){return this.getRuleContext(0,K7)}KW_ROW(e){return e===void 0?this.getTokens(t.KW_ROW):this.getToken(t.KW_ROW,e)}KW_STATEMENT(){return this.getToken(t.KW_STATEMENT,0)}KW_EACH(){return this.getToken(t.KW_EACH,0)}KW_NEW(e){return e===void 0?this.getTokens(t.KW_NEW):this.getToken(t.KW_NEW,e)}KW_OLD(e){return e===void 0?this.getTokens(t.KW_OLD):this.getToken(t.KW_OLD,e)}KW_TABLE(e){return e===void 0?this.getTokens(t.KW_TABLE):this.getToken(t.KW_TABLE,e)}KW_AS(e){return e===void 0?this.getTokens(t.KW_AS):this.getToken(t.KW_AS,e)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}qualified_name(){return this.getRuleContext(0,S)}constraintattributeElem(e){return e===void 0?this.getRuleContexts(Ve):this.getRuleContext(e,Ve)}get ruleIndex(){return t.RULE_createtrigstmt}enterRule(e){e.enterCreatetrigstmt&&e.enterCreatetrigstmt(this)}exitRule(e){e.exitCreatetrigstmt&&e.exitCreatetrigstmt(this)}accept(e){return e.visitCreatetrigstmt?e.visitCreatetrigstmt(this):e.visitChildren(this)}}class E7 extends R{constructor(e,i){super(e,i)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_INSTEAD(){return this.getToken(t.KW_INSTEAD,0)}KW_OF(){return this.getToken(t.KW_OF,0)}get ruleIndex(){return t.RULE_triggeractiontime}enterRule(e){e.enterTriggeractiontime&&e.enterTriggeractiontime(this)}exitRule(e){e.exitTriggeractiontime&&e.exitTriggeractiontime(this)}accept(e){return e.visitTriggeractiontime?e.visitTriggeractiontime(this):e.visitChildren(this)}}class W7 extends R{constructor(e,i){super(e,i)}triggeroneevent(e){return e===void 0?this.getRuleContexts(Ga):this.getRuleContext(e,Ga)}KW_OR(e){return e===void 0?this.getTokens(t.KW_OR):this.getToken(t.KW_OR,e)}get ruleIndex(){return t.RULE_triggerevents}enterRule(e){e.enterTriggerevents&&e.enterTriggerevents(this)}exitRule(e){e.exitTriggerevents&&e.exitTriggerevents(this)}accept(e){return e.visitTriggerevents?e.visitTriggerevents(this):e.visitChildren(this)}}class Ga extends R{constructor(e,i){super(e,i)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_OF(){return this.getToken(t.KW_OF,0)}column_list(){return this.getRuleContext(0,Ge)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}get ruleIndex(){return t.RULE_triggeroneevent}enterRule(e){e.enterTriggeroneevent&&e.enterTriggeroneevent(this)}exitRule(e){e.exitTriggeroneevent&&e.exitTriggeroneevent(this)}accept(e){return e.visitTriggeroneevent?e.visitTriggeroneevent(this):e.visitChildren(this)}}class K7 extends R{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_triggerwhen}enterRule(e){e.enterTriggerwhen&&e.enterTriggerwhen(this)}exitRule(e){e.exitTriggerwhen&&e.exitTriggerwhen(this)}accept(e){return e.visitTriggerwhen?e.visitTriggerwhen(this):e.visitChildren(this)}}class Ba extends R{constructor(e,i){super(e,i)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_name(){return this.getRuleContext(0,Ze)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_name(){return this.getRuleContext(0,bi)}get ruleIndex(){return t.RULE_function_or_procedure}enterRule(e){e.enterFunction_or_procedure&&e.enterFunction_or_procedure(this)}exitRule(e){e.exitFunction_or_procedure&&e.exitFunction_or_procedure(this)}accept(e){return e.visitFunction_or_procedure?e.visitFunction_or_procedure(this):e.visitChildren(this)}}class u7 extends R{constructor(e,i){super(e,i)}triggerfuncarg(e){return e===void 0?this.getRuleContexts(Va):this.getRuleContext(e,Va)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_triggerfuncargs}enterRule(e){e.enterTriggerfuncargs&&e.enterTriggerfuncargs(this)}exitRule(e){e.exitTriggerfuncargs&&e.exitTriggerfuncargs(this)}accept(e){return e.visitTriggerfuncargs?e.visitTriggerfuncargs(this):e.visitChildren(this)}}class Va extends R{constructor(e,i){super(e,i)}Integral(){return this.getToken(t.Integral,0)}Numeric(){return this.getToken(t.Numeric,0)}sconst(){return this.getRuleContext(0,Z)}collabel(){return this.getRuleContext(0,It)}get ruleIndex(){return t.RULE_triggerfuncarg}enterRule(e){e.enterTriggerfuncarg&&e.enterTriggerfuncarg(this)}exitRule(e){e.exitTriggerfuncarg&&e.exitTriggerfuncarg(this)}accept(e){return e.visitTriggerfuncarg?e.visitTriggerfuncarg(this):e.visitChildren(this)}}class Ve extends R{constructor(e,i){super(e,i)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_INITIALLY(){return this.getToken(t.KW_INITIALLY,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_VALID(){return this.getToken(t.KW_VALID,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}get ruleIndex(){return t.RULE_constraintattributeElem}enterRule(e){e.enterConstraintattributeElem&&e.enterConstraintattributeElem(this)}exitRule(e){e.exitConstraintattributeElem&&e.exitConstraintattributeElem(this)}accept(e){return e.visitConstraintattributeElem?e.visitConstraintattributeElem(this):e.visitChildren(this)}}class R7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}colid(){return this.getRuleContext(0,o)}KW_ON(){return this.getToken(t.KW_ON,0)}collabel(){return this.getRuleContext(0,It)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}function_or_procedure(){return this.getRuleContext(0,Ba)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}event_trigger_when_item(e){return e===void 0?this.getRuleContexts(Ya):this.getRuleContext(e,Ya)}KW_AND(e){return e===void 0?this.getTokens(t.KW_AND):this.getToken(t.KW_AND,e)}get ruleIndex(){return t.RULE_createeventtrigstmt}enterRule(e){e.enterCreateeventtrigstmt&&e.enterCreateeventtrigstmt(this)}exitRule(e){e.exitCreateeventtrigstmt&&e.exitCreateeventtrigstmt(this)}accept(e){return e.visitCreateeventtrigstmt?e.visitCreateeventtrigstmt(this):e.visitChildren(this)}}class Ya extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}KW_IN(){return this.getToken(t.KW_IN,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}sconst(){return this.getRuleContext(0,Z)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}notify_payload(e){return e===void 0?this.getRuleContexts(X0):this.getRuleContext(e,X0)}get ruleIndex(){return t.RULE_event_trigger_when_item}enterRule(e){e.enterEvent_trigger_when_item&&e.enterEvent_trigger_when_item(this)}exitRule(e){e.exitEvent_trigger_when_item&&e.exitEvent_trigger_when_item(this)}accept(e){return e.visitEvent_trigger_when_item?e.visitEvent_trigger_when_item(this):e.visitChildren(this)}}class T7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}colid(){return this.getRuleContext(0,o)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}get ruleIndex(){return t.RULE_altereventtrigstmt}enterRule(e){e.enterAltereventtrigstmt&&e.enterAltereventtrigstmt(this)}exitRule(e){e.exitAltereventtrigstmt&&e.exitAltereventtrigstmt(this)}accept(e){return e.visitAltereventtrigstmt?e.visitAltereventtrigstmt(this):e.visitChildren(this)}}class A7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_ASSERTION(){return this.getToken(t.KW_ASSERTION,0)}any_name(){return this.getRuleContext(0,B)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}constraintattributeElem(e){return e===void 0?this.getRuleContexts(Ve):this.getRuleContext(e,Ve)}get ruleIndex(){return t.RULE_createassertionstmt}enterRule(e){e.enterCreateassertionstmt&&e.enterCreateassertionstmt(this)}exitRule(e){e.exitCreateassertionstmt&&e.exitCreateassertionstmt(this)}accept(e){return e.visitCreateassertionstmt?e.visitCreateassertionstmt(this):e.visitChildren(this)}}class _7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}function_name(){return this.getRuleContext(0,Ze)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}old_aggr_elem(e){return e===void 0?this.getRuleContexts(ks):this.getRuleContext(e,ks)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_or_replace(){return this.getRuleContext(0,V0)}aggr_args(){return this.getRuleContext(0,qa)}definition(){return this.getRuleContext(0,I1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}any_operator(){return this.getRuleContext(0,Y0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}tablefuncelementlist(){return this.getRuleContext(0,js)}sconst(){return this.getRuleContext(0,Z)}notify_payload(e){return e===void 0?this.getRuleContexts(X0):this.getRuleContext(e,X0)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}opt_if_not_exists(){return this.getRuleContext(0,lt)}KW_FROM(){return this.getToken(t.KW_FROM,0)}get ruleIndex(){return t.RULE_definestmt}enterRule(e){e.enterDefinestmt&&e.enterDefinestmt(this)}exitRule(e){e.exitDefinestmt&&e.exitDefinestmt(this)}accept(e){return e.visitDefinestmt?e.visitDefinestmt(this):e.visitChildren(this)}}class I1 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}def_elem(e){return e===void 0?this.getRuleContexts(Us):this.getRuleContext(e,Us)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_definition}enterRule(e){e.enterDefinition&&e.enterDefinition(this)}exitRule(e){e.exitDefinition&&e.exitDefinition(this)}accept(e){return e.visitDefinition?e.visitDefinition(this):e.visitChildren(this)}}class Us extends R{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,It)}EQUAL(){return this.getToken(t.EQUAL,0)}def_arg(){return this.getRuleContext(0,ls)}get ruleIndex(){return t.RULE_def_elem}enterRule(e){e.enterDef_elem&&e.enterDef_elem(this)}exitRule(e){e.exitDef_elem&&e.exitDef_elem(this)}accept(e){return e.visitDef_elem?e.visitDef_elem(this):e.visitChildren(this)}}class ls extends R{constructor(e,i){super(e,i)}func_type(){return this.getRuleContext(0,d1)}reserved_keyword(){return this.getRuleContext(0,sh)}qual_all_op(){return this.getRuleContext(0,Di)}numericonly(){return this.getRuleContext(0,mt)}sconst(){return this.getRuleContext(0,Z)}KW_NONE(){return this.getToken(t.KW_NONE,0)}get ruleIndex(){return t.RULE_def_arg}enterRule(e){e.enterDef_arg&&e.enterDef_arg(this)}exitRule(e){e.exitDef_arg&&e.exitDef_arg(this)}accept(e){return e.visitDef_arg?e.visitDef_arg(this):e.visitChildren(this)}}class ks extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}EQUAL(){return this.getToken(t.EQUAL,0)}def_arg(){return this.getRuleContext(0,ls)}get ruleIndex(){return t.RULE_old_aggr_elem}enterRule(e){e.enterOld_aggr_elem&&e.enterOld_aggr_elem(this)}exitRule(e){e.exitOld_aggr_elem&&e.exitOld_aggr_elem(this)}accept(e){return e.visitOld_aggr_elem?e.visitOld_aggr_elem(this):e.visitChildren(this)}}class N7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(){return this.getRuleContext(0,B)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}sconst(e){return e===void 0?this.getRuleContexts(Z):this.getRuleContext(e,Z)}opt_if_not_exists(){return this.getRuleContext(0,lt)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_alterenumstmt}enterRule(e){e.enterAlterenumstmt&&e.enterAlterenumstmt(this)}exitRule(e){e.exitAlterenumstmt&&e.exitAlterenumstmt(this)}accept(e){return e.visitAlterenumstmt?e.visitAlterenumstmt(this):e.visitChildren(this)}}class lt extends R{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_opt_if_not_exists}enterRule(e){e.enterOpt_if_not_exists&&e.enterOpt_if_not_exists(this)}exitRule(e){e.exitOpt_if_not_exists&&e.exitOpt_if_not_exists(this)}accept(e){return e.visitOpt_if_not_exists?e.visitOpt_if_not_exists(this):e.visitChildren(this)}}class C7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}typename(){return this.getRuleContext(0,P)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_AS(){return this.getToken(t.KW_AS,0)}opclass_item(e){return e===void 0?this.getRuleContexts(Li):this.getRuleContext(e,Li)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createopclassstmt}enterRule(e){e.enterCreateopclassstmt&&e.enterCreateopclassstmt(this)}exitRule(e){e.exitCreateopclassstmt&&e.exitCreateopclassstmt(this)}accept(e){return e.visitCreateopclassstmt?e.visitCreateopclassstmt(this):e.visitChildren(this)}}class Li extends R{constructor(e,i){super(e,i)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}Integral(){return this.getToken(t.Integral,0)}any_operator(){return this.getRuleContext(0,Y0)}oper_argtypes(){return this.getRuleContext(0,e2)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_RECHECK(){return this.getToken(t.KW_RECHECK,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}any_name(){return this.getRuleContext(0,B)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}prep_type_clause(){return this.getRuleContext(0,fi)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}typename(){return this.getRuleContext(0,P)}get ruleIndex(){return t.RULE_opclass_item}enterRule(e){e.enterOpclass_item&&e.enterOpclass_item(this)}exitRule(e){e.exitOpclass_item&&e.exitOpclass_item(this)}accept(e){return e.visitOpclass_item?e.visitOpclass_item(this):e.visitChildren(this)}}class I7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}any_name(){return this.getRuleContext(0,B)}table_access_method_clause(){return this.getRuleContext(0,Ht)}get ruleIndex(){return t.RULE_createopfamilystmt}enterRule(e){e.enterCreateopfamilystmt&&e.enterCreateopfamilystmt(this)}exitRule(e){e.exitCreateopfamilystmt&&e.exitCreateopfamilystmt(this)}accept(e){return e.visitCreateopfamilystmt?e.visitCreateopfamilystmt(this):e.visitChildren(this)}}class L7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}any_name(){return this.getRuleContext(0,B)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_ADD(){return this.getToken(t.KW_ADD,0)}opclass_item(e){return e===void 0?this.getRuleContexts(Li):this.getRuleContext(e,Li)}KW_DROP(){return this.getToken(t.KW_DROP,0)}opclass_drop(e){return e===void 0?this.getRuleContexts(Xa):this.getRuleContext(e,Xa)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alteropfamilystmt}enterRule(e){e.enterAlteropfamilystmt&&e.enterAlteropfamilystmt(this)}exitRule(e){e.exitAlteropfamilystmt&&e.exitAlteropfamilystmt(this)}accept(e){return e.visitAlteropfamilystmt?e.visitAlteropfamilystmt(this):e.visitChildren(this)}}class Xa extends R{constructor(e,i){super(e,i)}Integral(){return this.getToken(t.Integral,0)}prep_type_clause(){return this.getRuleContext(0,fi)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}get ruleIndex(){return t.RULE_opclass_drop}enterRule(e){e.enterOpclass_drop&&e.enterOpclass_drop(this)}exitRule(e){e.exitOpclass_drop&&e.exitOpclass_drop(this)}accept(e){return e.visitOpclass_drop?e.visitOpclass_drop(this):e.visitChildren(this)}}class O7 extends R{constructor(e,i){super(e,i)}KW_REASSIGN(){return this.getToken(t.KW_REASSIGN,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}role_list(){return this.getRuleContext(0,qt)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,ct)}get ruleIndex(){return t.RULE_reassignownedstmt}enterRule(e){e.enterReassignownedstmt&&e.enterReassignownedstmt(this)}exitRule(e){e.exitReassignownedstmt&&e.exitReassignownedstmt(this)}accept(e){return e.visitReassignownedstmt?e.visitReassignownedstmt(this):e.visitChildren(this)}}class d7 extends R{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}name_list(){return this.getRuleContext(0,r0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,St)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(e){return e===void 0?this.getRuleContexts(Ce):this.getRuleContext(e,Ce)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_list(){return this.getRuleContext(0,s3)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_list(){return this.getRuleContext(0,Fi)}colid(){return this.getRuleContext(0,o)}KW_ON(){return this.getToken(t.KW_ON,0)}any_name(){return this.getRuleContext(0,B)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}any_name_list(){return this.getRuleContext(0,L1)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}role_list(){return this.getRuleContext(0,qt)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name(){return this.getRuleContext(0,k1)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_USER(e){return e===void 0?this.getTokens(t.KW_USER):this.getToken(t.KW_USER,e)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}rolespec(){return this.getRuleContext(0,ct)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}KW_FORCE(e){return e===void 0?this.getTokens(t.KW_FORCE):this.getToken(t.KW_FORCE,e)}KW_WITH(){return this.getToken(t.KW_WITH,0)}get ruleIndex(){return t.RULE_dropstmt}enterRule(e){e.enterDropstmt&&e.enterDropstmt(this)}exitRule(e){e.exitDropstmt&&e.exitDropstmt(this)}accept(e){return e.visitDropstmt?e.visitDropstmt(this):e.visitChildren(this)}}class Ds extends R{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name(){return this.getRuleContext(0,ot)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,Ce)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}any_name(){return this.getRuleContext(0,B)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}get ruleIndex(){return t.RULE_object_type_any_name}enterRule(e){e.enterObject_type_any_name&&e.enterObject_type_any_name(this)}exitRule(e){e.exitObject_type_any_name&&e.exitObject_type_any_name(this)}accept(e){return e.visitObject_type_any_name?e.visitObject_type_any_name(this):e.visitChildren(this)}}class Ms extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}opttablespace(){return this.getRuleContext(0,gt)}get ruleIndex(){return t.RULE_object_type_name}enterRule(e){e.enterObject_type_name&&e.enterObject_type_name(this)}exitRule(e){e.exitObject_type_name&&e.exitObject_type_name(this)}accept(e){return e.visitObject_type_name?e.visitObject_type_name(this):e.visitChildren(this)}}class L1 extends R{constructor(e,i){super(e,i)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_any_name_list}enterRule(e){e.enterAny_name_list&&e.enterAny_name_list(this)}exitRule(e){e.exitAny_name_list&&e.exitAny_name_list(this)}accept(e){return e.visitAny_name_list?e.visitAny_name_list(this):e.visitChildren(this)}}class B extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}attrs(){return this.getRuleContext(0,Oi)}get ruleIndex(){return t.RULE_any_name}enterRule(e){e.enterAny_name&&e.enterAny_name(this)}exitRule(e){e.exitAny_name&&e.exitAny_name(this)}accept(e){return e.visitAny_name?e.visitAny_name(this):e.visitChildren(this)}}class Oi extends R{constructor(e,i){super(e,i)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}collabel(e){return e===void 0?this.getRuleContexts(It):this.getRuleContext(e,It)}get ruleIndex(){return t.RULE_attrs}enterRule(e){e.enterAttrs&&e.enterAttrs(this)}exitRule(e){e.exitAttrs&&e.exitAttrs(this)}accept(e){return e.visitAttrs?e.visitAttrs(this):e.visitChildren(this)}}class m7 extends R{constructor(e,i){super(e,i)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}truncate_table(e){return e===void 0?this.getRuleContexts(di):this.getRuleContext(e,di)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}opt_drop_behavior(){return this.getRuleContext(0,St)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}get ruleIndex(){return t.RULE_truncatestmt}enterRule(e){e.enterTruncatestmt&&e.enterTruncatestmt(this)}exitRule(e){e.exitTruncatestmt&&e.exitTruncatestmt(this)}accept(e){return e.visitTruncatestmt?e.visitTruncatestmt(this):e.visitChildren(this)}}class di extends R{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,ot)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}get ruleIndex(){return t.RULE_truncate_table}enterRule(e){e.enterTruncate_table&&e.enterTruncate_table(this)}exitRule(e){e.exitTruncate_table&&e.exitTruncate_table(this)}accept(e){return e.visitTruncate_table?e.visitTruncate_table(this):e.visitChildren(this)}}class o7 extends R{constructor(e,i){super(e,i)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_IS(){return this.getToken(t.KW_IS,0)}object_type_any_name(){return this.getRuleContext(0,Ds)}object_type_name(){return this.getRuleContext(0,Ms)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}DOT(){return this.getToken(t.DOT,0)}column_name(){return this.getRuleContext(0,Rt)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ye)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,W0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}colid(){return this.getRuleContext(0,o)}any_name(){return this.getRuleContext(0,B)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(){return this.getRuleContext(0,mt)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_AS(){return this.getToken(t.KW_AS,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}sconst(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}table_name(){return this.getRuleContext(0,ot)}attrs(){return this.getRuleContext(0,Oi)}get ruleIndex(){return t.RULE_commentstmt}enterRule(e){e.enterCommentstmt&&e.enterCommentstmt(this)}exitRule(e){e.exitCommentstmt&&e.exitCommentstmt(this)}accept(e){return e.visitCommentstmt?e.visitCommentstmt(this):e.visitChildren(this)}}class p7 extends R{constructor(e,i){super(e,i)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_LABEL(){return this.getToken(t.KW_LABEL,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_IS(){return this.getToken(t.KW_IS,0)}typename(){return this.getRuleContext(0,P)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ye)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}column_name(){return this.getRuleContext(0,Rt)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(){return this.getRuleContext(0,mt)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}object_type_any_name(){return this.getRuleContext(0,Ds)}object_type_name(){return this.getRuleContext(0,Ms)}sconst(){return this.getRuleContext(0,Z)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,Te)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}get ruleIndex(){return t.RULE_seclabelstmt}enterRule(e){e.enterSeclabelstmt&&e.enterSeclabelstmt(this)}exitRule(e){e.exitSeclabelstmt&&e.exitSeclabelstmt(this)}accept(e){return e.visitSeclabelstmt?e.visitSeclabelstmt(this):e.visitChildren(this)}}class f7 extends R{constructor(e,i){super(e,i)}fetch_args(){return this.getRuleContext(0,x7)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}get ruleIndex(){return t.RULE_fetchstmt}enterRule(e){e.enterFetchstmt&&e.enterFetchstmt(this)}exitRule(e){e.exitFetchstmt&&e.exitFetchstmt(this)}accept(e){return e.visitFetchstmt?e.visitFetchstmt(this):e.visitChildren(this)}}class x7 extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}from_in(){return this.getRuleContext(0,Qa)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}signediconst(){return this.getRuleContext(0,z0)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}get ruleIndex(){return t.RULE_fetch_args}enterRule(e){e.enterFetch_args&&e.enterFetch_args(this)}exitRule(e){e.exitFetch_args&&e.exitFetch_args(this)}accept(e){return e.visitFetch_args?e.visitFetch_args(this):e.visitChildren(this)}}class Qa extends R{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_IN(){return this.getToken(t.KW_IN,0)}get ruleIndex(){return t.RULE_from_in}enterRule(e){e.enterFrom_in&&e.enterFrom_in(this)}exitRule(e){e.exitFrom_in&&e.exitFrom_in(this)}accept(e){return e.visitFrom_in?e.visitFrom_in(this):e.visitChildren(this)}}class Za extends R{constructor(e,i){super(e,i)}KW_GRANT(e){return e===void 0?this.getTokens(t.KW_GRANT):this.getToken(t.KW_GRANT,e)}privileges(){return this.getRuleContext(0,Hs)}KW_ON(){return this.getToken(t.KW_ON,0)}privilege_target(){return this.getRuleContext(0,ja)}KW_TO(){return this.getToken(t.KW_TO,0)}grantee_list(){return this.getRuleContext(0,ys)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}get ruleIndex(){return t.RULE_grantstmt}enterRule(e){e.enterGrantstmt&&e.enterGrantstmt(this)}exitRule(e){e.exitGrantstmt&&e.exitGrantstmt(this)}accept(e){return e.visitGrantstmt?e.visitGrantstmt(this):e.visitChildren(this)}}class U7 extends R{constructor(e,i){super(e,i)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}privileges(){return this.getRuleContext(0,Hs)}KW_ON(){return this.getToken(t.KW_ON,0)}privilege_target(){return this.getRuleContext(0,ja)}KW_FROM(){return this.getToken(t.KW_FROM,0)}grantee_list(){return this.getRuleContext(0,ys)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}opt_drop_behavior(){return this.getRuleContext(0,St)}get ruleIndex(){return t.RULE_revokestmt}enterRule(e){e.enterRevokestmt&&e.enterRevokestmt(this)}exitRule(e){e.exitRevokestmt&&e.exitRevokestmt(this)}accept(e){return e.visitRevokestmt?e.visitRevokestmt(this):e.visitChildren(this)}}class Hs extends R{constructor(e,i){super(e,i)}privilege(e){return e===void 0?this.getRuleContexts(B0):this.getRuleContext(e,B0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}opt_column_list(){return this.getRuleContext(0,Ut)}beforeprivilegeselect(e){return e===void 0?this.getRuleContexts(ra):this.getRuleContext(e,ra)}get ruleIndex(){return t.RULE_privileges}enterRule(e){e.enterPrivileges&&e.enterPrivileges(this)}exitRule(e){e.exitPrivileges&&e.exitPrivileges(this)}accept(e){return e.visitPrivileges?e.visitPrivileges(this):e.visitChildren(this)}}class ra extends R{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_PEFERENCES(){return this.getToken(t.KW_PEFERENCES,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_USAGE(){return this.getToken(t.KW_USAGE,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CONNECT(){return this.getToken(t.KW_CONNECT,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}get ruleIndex(){return t.RULE_beforeprivilegeselect}enterRule(e){e.enterBeforeprivilegeselect&&e.enterBeforeprivilegeselect(this)}exitRule(e){e.exitBeforeprivilegeselect&&e.exitBeforeprivilegeselect(this)}accept(e){return e.visitBeforeprivilegeselect?e.visitBeforeprivilegeselect(this):e.visitChildren(this)}}class B0 extends R{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}colid(){return this.getRuleContext(0,o)}opt_column_list(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_privilege}enterRule(e){e.enterPrivilege&&e.enterPrivilege(this)}exitRule(e){e.exitPrivilege&&e.exitPrivilege(this)}accept(e){return e.visitPrivilege?e.visitPrivilege(this):e.visitChildren(this)}}class ja extends R{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name_list(){return this.getRuleContext(0,s3)}qualified_name_list(){return this.getRuleContext(0,U1)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}name_list(){return this.getRuleContext(0,r0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes_list(){return this.getRuleContext(0,Sa)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes_list(){return this.getRuleContext(0,Ja)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes_list(){return this.getRuleContext(0,$a)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_nameList(){return this.getRuleContext(0,qE)}any_name_list(){return this.getRuleContext(0,L1)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(e){return e===void 0?this.getRuleContexts(mt):this.getRuleContext(e,mt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name_list(){return this.getRuleContext(0,Fi)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_list(){return this.getRuleContext(0,PE)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}KW_FUNCTIONS(){return this.getToken(t.KW_FUNCTIONS,0)}KW_PROCEDURES(){return this.getToken(t.KW_PROCEDURES,0)}KW_ROUTINES(){return this.getToken(t.KW_ROUTINES,0)}get ruleIndex(){return t.RULE_privilege_target}enterRule(e){e.enterPrivilege_target&&e.enterPrivilege_target(this)}exitRule(e){e.exitPrivilege_target&&e.exitPrivilege_target(this)}accept(e){return e.visitPrivilege_target?e.visitPrivilege_target(this):e.visitChildren(this)}}class ys extends R{constructor(e,i){super(e,i)}rolespec(e){return e===void 0?this.getRuleContexts(ct):this.getRuleContext(e,ct)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_GROUP(e){return e===void 0?this.getTokens(t.KW_GROUP):this.getToken(t.KW_GROUP,e)}get ruleIndex(){return t.RULE_grantee_list}enterRule(e){e.enterGrantee_list&&e.enterGrantee_list(this)}exitRule(e){e.exitGrantee_list&&e.exitGrantee_list(this)}accept(e){return e.visitGrantee_list?e.visitGrantee_list(this):e.visitChildren(this)}}class l7 extends R{constructor(e,i){super(e,i)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}privilege(e){return e===void 0?this.getRuleContexts(B0):this.getRuleContext(e,B0)}KW_TO(){return this.getToken(t.KW_TO,0)}role_list(){return this.getRuleContext(0,qt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_GRANTED(){return this.getToken(t.KW_GRANTED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}rolespec(){return this.getRuleContext(0,ct)}get ruleIndex(){return t.RULE_grantrolestmt}enterRule(e){e.enterGrantrolestmt&&e.enterGrantrolestmt(this)}exitRule(e){e.exitGrantrolestmt&&e.exitGrantrolestmt(this)}accept(e){return e.visitGrantrolestmt?e.visitGrantrolestmt(this):e.visitChildren(this)}}class k7 extends R{constructor(e,i){super(e,i)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}privilege(e){return e===void 0?this.getRuleContexts(B0):this.getRuleContext(e,B0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}role_list(){return this.getRuleContext(0,qt)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_GRANTED(){return this.getToken(t.KW_GRANTED,0)}KW_BY(){return this.getToken(t.KW_BY,0)}rolespec(){return this.getRuleContext(0,ct)}opt_drop_behavior(){return this.getRuleContext(0,St)}get ruleIndex(){return t.RULE_revokerolestmt}enterRule(e){e.enterRevokerolestmt&&e.enterRevokerolestmt(this)}exitRule(e){e.exitRevokerolestmt&&e.exitRevokerolestmt(this)}accept(e){return e.visitRevokerolestmt?e.visitRevokerolestmt(this):e.visitChildren(this)}}class D7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}defaclaction(){return this.getRuleContext(0,M7)}KW_IN(e){return e===void 0?this.getTokens(t.KW_IN):this.getToken(t.KW_IN,e)}KW_SCHEMA(e){return e===void 0?this.getTokens(t.KW_SCHEMA):this.getToken(t.KW_SCHEMA,e)}schema_name_list(e){return e===void 0?this.getRuleContexts(Fi):this.getRuleContext(e,Fi)}KW_FOR(e){return e===void 0?this.getTokens(t.KW_FOR):this.getToken(t.KW_FOR,e)}role_list(e){return e===void 0?this.getRuleContexts(qt):this.getRuleContext(e,qt)}KW_ROLE(e){return e===void 0?this.getTokens(t.KW_ROLE):this.getToken(t.KW_ROLE,e)}KW_USER(e){return e===void 0?this.getTokens(t.KW_USER):this.getToken(t.KW_USER,e)}get ruleIndex(){return t.RULE_alterdefaultprivilegesstmt}enterRule(e){e.enterAlterdefaultprivilegesstmt&&e.enterAlterdefaultprivilegesstmt(this)}exitRule(e){e.exitAlterdefaultprivilegesstmt&&e.exitAlterdefaultprivilegesstmt(this)}accept(e){return e.visitAlterdefaultprivilegesstmt?e.visitAlterdefaultprivilegesstmt(this):e.visitChildren(this)}}class M7 extends R{constructor(e,i){super(e,i)}KW_GRANT(e){return e===void 0?this.getTokens(t.KW_GRANT):this.getToken(t.KW_GRANT,e)}privileges(){return this.getRuleContext(0,Hs)}KW_ON(){return this.getToken(t.KW_ON,0)}defacl_privilege_target(){return this.getRuleContext(0,H7)}KW_TO(){return this.getToken(t.KW_TO,0)}grantee_list(){return this.getRuleContext(0,ys)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}opt_drop_behavior(){return this.getRuleContext(0,St)}get ruleIndex(){return t.RULE_defaclaction}enterRule(e){e.enterDefaclaction&&e.enterDefaclaction(this)}exitRule(e){e.exitDefaclaction&&e.exitDefaclaction(this)}accept(e){return e.visitDefaclaction?e.visitDefaclaction(this):e.visitChildren(this)}}class H7 extends R{constructor(e,i){super(e,i)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_FUNCTIONS(){return this.getToken(t.KW_FUNCTIONS,0)}KW_ROUTINES(){return this.getToken(t.KW_ROUTINES,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}KW_TYPES(){return this.getToken(t.KW_TYPES,0)}KW_SCHEMAS(){return this.getToken(t.KW_SCHEMAS,0)}get ruleIndex(){return t.RULE_defacl_privilege_target}enterRule(e){e.enterDefacl_privilege_target&&e.enterDefacl_privilege_target(this)}exitRule(e){e.exitDefacl_privilege_target&&e.exitDefacl_privilege_target(this)}accept(e){return e.visitDefacl_privilege_target?e.visitDefacl_privilege_target(this):e.visitChildren(this)}}class za extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_ON(){return this.getToken(t.KW_ON,0)}relation_expr(){return this.getRuleContext(0,ke)}index_params(e){return e===void 0?this.getRuleContexts(mi):this.getRuleContext(e,mi)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}opt_if_not_exists(){return this.getRuleContext(0,lt)}colid(){return this.getRuleContext(0,o)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}opt_reloptions(){return this.getRuleContext(0,Ti)}opttablespace(){return this.getRuleContext(0,gt)}where_clause(){return this.getRuleContext(0,Xe)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_indexstmt}enterRule(e){e.enterIndexstmt&&e.enterIndexstmt(this)}exitRule(e){e.exitIndexstmt&&e.exitIndexstmt(this)}accept(e){return e.visitIndexstmt?e.visitIndexstmt(this):e.visitChildren(this)}}class mi extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}index_elem(e){return e===void 0?this.getRuleContexts(Fs):this.getRuleContext(e,Fs)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_index_params}enterRule(e){e.enterIndex_params&&e.enterIndex_params(this)}exitRule(e){e.exitIndex_params&&e.exitIndex_params(this)}accept(e){return e.visitIndex_params?e.visitIndex_params(this):e.visitChildren(this)}}class Fs extends R{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Rt)}func_expr_windowless(){return this.getRuleContext(0,ki)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}any_name(){return this.getRuleContext(0,B)}reloptions(){return this.getRuleContext(0,N1)}opt_collate_clause(){return this.getRuleContext(0,ve)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}get ruleIndex(){return t.RULE_index_elem}enterRule(e){e.enterIndex_elem&&e.enterIndex_elem(this)}exitRule(e){e.exitIndex_elem&&e.exitIndex_elem(this)}accept(e){return e.visitIndex_elem?e.visitIndex_elem(this):e.visitChildren(this)}}class y7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_name_create(){return this.getRuleContext(0,ih)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_name_create(){return this.getRuleContext(0,vi)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}opt_or_replace(){return this.getRuleContext(0,V0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}createfunc_opt_item(e){return e===void 0?this.getRuleContexts(Pa):this.getRuleContext(e,Pa)}KW_WITH(){return this.getToken(t.KW_WITH,0)}name_list(){return this.getRuleContext(0,r0)}func_arg_with_default(e){return e===void 0?this.getRuleContexts(ga):this.getRuleContext(e,ga)}func_type(){return this.getRuleContext(0,d1)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_func_column(e){return e===void 0?this.getRuleContexts(t2):this.getRuleContext(e,t2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createfunctionstmt}enterRule(e){e.enterCreatefunctionstmt&&e.enterCreatefunctionstmt(this)}exitRule(e){e.exitCreatefunctionstmt&&e.exitCreatefunctionstmt(this)}accept(e){return e.visitCreatefunctionstmt?e.visitCreatefunctionstmt(this):e.visitChildren(this)}}class V0 extends R{constructor(e,i){super(e,i)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}get ruleIndex(){return t.RULE_opt_or_replace}enterRule(e){e.enterOpt_or_replace&&e.enterOpt_or_replace(this)}exitRule(e){e.exitOpt_or_replace&&e.exitOpt_or_replace(this)}accept(e){return e.visitOpt_or_replace?e.visitOpt_or_replace(this):e.visitChildren(this)}}class O1 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}func_args_list(){return this.getRuleContext(0,ws)}get ruleIndex(){return t.RULE_func_args}enterRule(e){e.enterFunc_args&&e.enterFunc_args(this)}exitRule(e){e.exitFunc_args&&e.exitFunc_args(this)}accept(e){return e.visitFunc_args?e.visitFunc_args(this):e.visitChildren(this)}}class ws extends R{constructor(e,i){super(e,i)}func_arg(e){return e===void 0?this.getRuleContexts(bs):this.getRuleContext(e,bs)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_func_args_list}enterRule(e){e.enterFunc_args_list&&e.enterFunc_args_list(this)}exitRule(e){e.exitFunc_args_list&&e.exitFunc_args_list(this)}accept(e){return e.visitFunc_args_list?e.visitFunc_args_list(this):e.visitChildren(this)}}class $a extends R{constructor(e,i){super(e,i)}routine_with_argtypes(e){return e===void 0?this.getRuleContexts(Ae):this.getRuleContext(e,Ae)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_routine_with_argtypes_list}enterRule(e){e.enterRoutine_with_argtypes_list&&e.enterRoutine_with_argtypes_list(this)}exitRule(e){e.exitRoutine_with_argtypes_list&&e.exitRoutine_with_argtypes_list(this)}accept(e){return e.visitRoutine_with_argtypes_list?e.visitRoutine_with_argtypes_list(this):e.visitChildren(this)}}class Ae extends R{constructor(e,i){super(e,i)}routine_name(){return this.getRuleContext(0,eh)}func_args(){return this.getRuleContext(0,O1)}type_func_name_keyword(){return this.getRuleContext(0,R0)}qualified_name(){return this.getRuleContext(0,S)}get ruleIndex(){return t.RULE_routine_with_argtypes}enterRule(e){e.enterRoutine_with_argtypes&&e.enterRoutine_with_argtypes(this)}exitRule(e){e.exitRoutine_with_argtypes&&e.exitRoutine_with_argtypes(this)}accept(e){return e.visitRoutine_with_argtypes?e.visitRoutine_with_argtypes(this):e.visitChildren(this)}}class Ja extends R{constructor(e,i){super(e,i)}procedure_with_argtypes(e){return e===void 0?this.getRuleContexts(_e):this.getRuleContext(e,_e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_procedure_with_argtypes_list}enterRule(e){e.enterProcedure_with_argtypes_list&&e.enterProcedure_with_argtypes_list(this)}exitRule(e){e.exitProcedure_with_argtypes_list&&e.exitProcedure_with_argtypes_list(this)}accept(e){return e.visitProcedure_with_argtypes_list?e.visitProcedure_with_argtypes_list(this):e.visitChildren(this)}}class _e extends R{constructor(e,i){super(e,i)}procedure_name(){return this.getRuleContext(0,bi)}func_args(){return this.getRuleContext(0,O1)}type_func_name_keyword(){return this.getRuleContext(0,R0)}qualified_name(){return this.getRuleContext(0,S)}get ruleIndex(){return t.RULE_procedure_with_argtypes}enterRule(e){e.enterProcedure_with_argtypes&&e.enterProcedure_with_argtypes(this)}exitRule(e){e.exitProcedure_with_argtypes&&e.exitProcedure_with_argtypes(this)}accept(e){return e.visitProcedure_with_argtypes?e.visitProcedure_with_argtypes(this):e.visitChildren(this)}}class Sa extends R{constructor(e,i){super(e,i)}function_with_argtypes(e){return e===void 0?this.getRuleContexts(jt):this.getRuleContext(e,jt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_function_with_argtypes_list}enterRule(e){e.enterFunction_with_argtypes_list&&e.enterFunction_with_argtypes_list(this)}exitRule(e){e.exitFunction_with_argtypes_list&&e.exitFunction_with_argtypes_list(this)}accept(e){return e.visitFunction_with_argtypes_list?e.visitFunction_with_argtypes_list(this):e.visitChildren(this)}}class jt extends R{constructor(e,i){super(e,i)}function_name(){return this.getRuleContext(0,Ze)}func_args(){return this.getRuleContext(0,O1)}type_func_name_keyword(){return this.getRuleContext(0,R0)}qualified_name(){return this.getRuleContext(0,S)}get ruleIndex(){return t.RULE_function_with_argtypes}enterRule(e){e.enterFunction_with_argtypes&&e.enterFunction_with_argtypes(this)}exitRule(e){e.exitFunction_with_argtypes&&e.exitFunction_with_argtypes(this)}accept(e){return e.visitFunction_with_argtypes?e.visitFunction_with_argtypes(this):e.visitChildren(this)}}class bs extends R{constructor(e,i){super(e,i)}func_type(){return this.getRuleContext(0,d1)}arg_class(){return this.getRuleContext(0,F7)}type_function_name(){return this.getRuleContext(0,re)}get ruleIndex(){return t.RULE_func_arg}enterRule(e){e.enterFunc_arg&&e.enterFunc_arg(this)}exitRule(e){e.exitFunc_arg&&e.exitFunc_arg(this)}accept(e){return e.visitFunc_arg?e.visitFunc_arg(this):e.visitChildren(this)}}class F7 extends R{constructor(e,i){super(e,i)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_OUT(){return this.getToken(t.KW_OUT,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}KW_VARIADIC(){return this.getToken(t.KW_VARIADIC,0)}get ruleIndex(){return t.RULE_arg_class}enterRule(e){e.enterArg_class&&e.enterArg_class(this)}exitRule(e){e.exitArg_class&&e.exitArg_class(this)}accept(e){return e.visitArg_class?e.visitArg_class(this):e.visitChildren(this)}}class d1 extends R{constructor(e,i){super(e,i)}typename(){return this.getRuleContext(0,P)}type_function_name(){return this.getRuleContext(0,re)}attrs(){return this.getRuleContext(0,Oi)}PERCENT(){return this.getToken(t.PERCENT,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_SETOF(){return this.getToken(t.KW_SETOF,0)}get ruleIndex(){return t.RULE_func_type}enterRule(e){e.enterFunc_type&&e.enterFunc_type(this)}exitRule(e){e.exitFunc_type&&e.exitFunc_type(this)}accept(e){return e.visitFunc_type?e.visitFunc_type(this):e.visitChildren(this)}}class ga extends R{constructor(e,i){super(e,i)}func_arg(){return this.getRuleContext(0,bs)}expression(){return this.getRuleContext(0,y)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}get ruleIndex(){return t.RULE_func_arg_with_default}enterRule(e){e.enterFunc_arg_with_default&&e.enterFunc_arg_with_default(this)}exitRule(e){e.exitFunc_arg_with_default&&e.exitFunc_arg_with_default(this)}accept(e){return e.visitFunc_arg_with_default?e.visitFunc_arg_with_default(this):e.visitChildren(this)}}class qa extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}STAR(){return this.getToken(t.STAR,0)}func_args_list(e){return e===void 0?this.getRuleContexts(ws):this.getRuleContext(e,ws)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}get ruleIndex(){return t.RULE_aggr_args}enterRule(e){e.enterAggr_args&&e.enterAggr_args(this)}exitRule(e){e.exitAggr_args&&e.exitAggr_args(this)}accept(e){return e.visitAggr_args?e.visitAggr_args(this):e.visitChildren(this)}}class Ye extends R{constructor(e,i){super(e,i)}function_name(){return this.getRuleContext(0,Ze)}aggr_args(){return this.getRuleContext(0,qa)}get ruleIndex(){return t.RULE_aggregate_with_argtypes}enterRule(e){e.enterAggregate_with_argtypes&&e.enterAggregate_with_argtypes(this)}exitRule(e){e.exitAggregate_with_argtypes&&e.exitAggregate_with_argtypes(this)}accept(e){return e.visitAggregate_with_argtypes?e.visitAggregate_with_argtypes(this):e.visitChildren(this)}}class vs extends R{constructor(e,i){super(e,i)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_NULL(e){return e===void 0?this.getTokens(t.KW_NULL):this.getToken(t.KW_NULL,e)}KW_INPUT(){return this.getToken(t.KW_INPUT,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_CALLED(){return this.getToken(t.KW_CALLED,0)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}KW_IMMUTABLE(){return this.getToken(t.KW_IMMUTABLE,0)}KW_STABLE(){return this.getToken(t.KW_STABLE,0)}KW_VOLATILE(){return this.getToken(t.KW_VOLATILE,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_LEAKPROOF(){return this.getToken(t.KW_LEAKPROOF,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}numericonly(){return this.getRuleContext(0,mt)}KW_COST(){return this.getToken(t.KW_COST,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_SUPPORT(){return this.getToken(t.KW_SUPPORT,0)}any_name(){return this.getRuleContext(0,B)}KW_SET(){return this.getToken(t.KW_SET,0)}set_rest_more(){return this.getRuleContext(0,Is)}variableresetstmt(){return this.getRuleContext(0,Ri)}KW_PARALLEL(){return this.getToken(t.KW_PARALLEL,0)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_common_func_opt_item}enterRule(e){e.enterCommon_func_opt_item&&e.enterCommon_func_opt_item(this)}exitRule(e){e.exitCommon_func_opt_item&&e.exitCommon_func_opt_item(this)}accept(e){return e.visitCommon_func_opt_item?e.visitCommon_func_opt_item(this):e.visitChildren(this)}}class Pa extends R{constructor(e,i){super(e,i)}KW_AS(){return this.getToken(t.KW_AS,0)}sconst(){return this.getRuleContext(0,Z)}notify_payload(){return this.getRuleContext(0,X0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}nonreservedword_or_sconst(){return this.getRuleContext(0,Te)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(e){return e===void 0?this.getTokens(t.KW_FOR):this.getToken(t.KW_FOR,e)}KW_TYPE(e){return e===void 0?this.getTokens(t.KW_TYPE):this.getToken(t.KW_TYPE,e)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}KW_SET(){return this.getToken(t.KW_SET,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_TO(){return this.getToken(t.KW_TO,0)}EQUAL(){return this.getToken(t.EQUAL,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}stmt(){return this.getRuleContext(0,Ns)}common_func_opt_item(){return this.getRuleContext(0,vs)}get ruleIndex(){return t.RULE_createfunc_opt_item}enterRule(e){e.enterCreatefunc_opt_item&&e.enterCreatefunc_opt_item(this)}exitRule(e){e.exitCreatefunc_opt_item&&e.exitCreatefunc_opt_item(this)}accept(e){return e.visitCreatefunc_opt_item?e.visitCreatefunc_opt_item(this):e.visitChildren(this)}}class m1 extends R{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}definition(){return this.getRuleContext(0,I1)}get ruleIndex(){return t.RULE_opt_definition}enterRule(e){e.enterOpt_definition&&e.enterOpt_definition(this)}exitRule(e){e.exitOpt_definition&&e.exitOpt_definition(this)}accept(e){return e.visitOpt_definition?e.visitOpt_definition(this):e.visitChildren(this)}}class t2 extends R{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Rt)}func_type(){return this.getRuleContext(0,d1)}get ruleIndex(){return t.RULE_table_func_column}enterRule(e){e.enterTable_func_column&&e.enterTable_func_column(this)}exitRule(e){e.exitTable_func_column&&e.exitTable_func_column(this)}accept(e){return e.visitTable_func_column?e.visitTable_func_column(this):e.visitChildren(this)}}class w7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}common_func_opt_item(e){return e===void 0?this.getRuleContexts(vs):this.getRuleContext(e,vs)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}get ruleIndex(){return t.RULE_alterfunctionstmt}enterRule(e){e.enterAlterfunctionstmt&&e.enterAlterfunctionstmt(this)}exitRule(e){e.exitAlterfunctionstmt&&e.exitAlterfunctionstmt(this)}accept(e){return e.visitAlterfunctionstmt?e.visitAlterfunctionstmt(this):e.visitChildren(this)}}class b7 extends R{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes_list(){return this.getRuleContext(0,Sa)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes_list(){return this.getRuleContext(0,Ja)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes_list(){return this.getRuleContext(0,$a)}opt_drop_behavior(){return this.getRuleContext(0,St)}opt_if_exists(){return this.getRuleContext(0,zt)}get ruleIndex(){return t.RULE_removefuncstmt}enterRule(e){e.enterRemovefuncstmt&&e.enterRemovefuncstmt(this)}exitRule(e){e.exitRemovefuncstmt&&e.exitRemovefuncstmt(this)}accept(e){return e.visitRemovefuncstmt?e.visitRemovefuncstmt(this):e.visitChildren(this)}}class v7 extends R{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(e){return e===void 0?this.getRuleContexts(Ye):this.getRuleContext(e,Ye)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,St)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_removeaggrstmt}enterRule(e){e.enterRemoveaggrstmt&&e.enterRemoveaggrstmt(this)}exitRule(e){e.exitRemoveaggrstmt&&e.exitRemoveaggrstmt(this)}accept(e){return e.visitRemoveaggrstmt?e.visitRemoveaggrstmt(this):e.visitChildren(this)}}class G7 extends R{constructor(e,i){super(e,i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(e){return e===void 0?this.getRuleContexts(W0):this.getRuleContext(e,W0)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,St)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_removeoperstmt}enterRule(e){e.enterRemoveoperstmt&&e.enterRemoveoperstmt(this)}exitRule(e){e.exitRemoveoperstmt&&e.exitRemoveoperstmt(this)}accept(e){return e.visitRemoveoperstmt?e.visitRemoveoperstmt(this):e.visitChildren(this)}}class e2 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}KW_NONE(){return this.getToken(t.KW_NONE,0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_oper_argtypes}enterRule(e){e.enterOper_argtypes&&e.enterOper_argtypes(this)}exitRule(e){e.exitOper_argtypes&&e.exitOper_argtypes(this)}accept(e){return e.visitOper_argtypes?e.visitOper_argtypes(this):e.visitChildren(this)}}class Y0 extends R{constructor(e,i){super(e,i)}all_op(){return this.getRuleContext(0,P2)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}DOT(e){return e===void 0?this.getTokens(t.DOT):this.getToken(t.DOT,e)}get ruleIndex(){return t.RULE_any_operator}enterRule(e){e.enterAny_operator&&e.enterAny_operator(this)}exitRule(e){e.exitAny_operator&&e.exitAny_operator(this)}accept(e){return e.visitAny_operator?e.visitAny_operator(this):e.visitChildren(this)}}class W0 extends R{constructor(e,i){super(e,i)}any_operator(){return this.getRuleContext(0,Y0)}oper_argtypes(){return this.getRuleContext(0,e2)}get ruleIndex(){return t.RULE_operator_with_argtypes}enterRule(e){e.enterOperator_with_argtypes&&e.enterOperator_with_argtypes(this)}exitRule(e){e.exitOperator_with_argtypes&&e.exitOperator_with_argtypes(this)}accept(e){return e.visitOperator_with_argtypes?e.visitOperator_with_argtypes(this):e.visitChildren(this)}}class B7 extends R{constructor(e,i){super(e,i)}KW_DO(){return this.getToken(t.KW_DO,0)}sconst(e){return e===void 0?this.getRuleContexts(Z):this.getRuleContext(e,Z)}KW_LANGUAGE(e){return e===void 0?this.getTokens(t.KW_LANGUAGE):this.getToken(t.KW_LANGUAGE,e)}nonreservedword_or_sconst(e){return e===void 0?this.getRuleContexts(Te):this.getRuleContext(e,Te)}get ruleIndex(){return t.RULE_dostmt}enterRule(e){e.enterDostmt&&e.enterDostmt(this)}exitRule(e){e.exitDostmt&&e.exitDostmt(this)}accept(e){return e.visitDostmt?e.visitDostmt(this):e.visitChildren(this)}}class V7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}KW_AS(e){return e===void 0?this.getTokens(t.KW_AS):this.getToken(t.KW_AS,e)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}KW_ASSIGNMENT(){return this.getToken(t.KW_ASSIGNMENT,0)}KW_IMPLICIT(){return this.getToken(t.KW_IMPLICIT,0)}get ruleIndex(){return t.RULE_createcaststmt}enterRule(e){e.enterCreatecaststmt&&e.enterCreatecaststmt(this)}exitRule(e){e.exitCreatecaststmt&&e.exitCreatecaststmt(this)}accept(e){return e.visitCreatecaststmt?e.visitCreatecaststmt(this):e.visitChildren(this)}}class zt extends R{constructor(e,i){super(e,i)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}get ruleIndex(){return t.RULE_opt_if_exists}enterRule(e){e.enterOpt_if_exists&&e.enterOpt_if_exists(this)}exitRule(e){e.exitOpt_if_exists&&e.exitOpt_if_exists(this)}accept(e){return e.visitOpt_if_exists?e.visitOpt_if_exists(this):e.visitChildren(this)}}class Y7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}typename(){return this.getRuleContext(0,P)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}colid(){return this.getRuleContext(0,o)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}sql_with_function(e){return e===void 0?this.getRuleContexts(i2):this.getRuleContext(e,i2)}KW_TO(){return this.getToken(t.KW_TO,0)}opt_or_replace(){return this.getRuleContext(0,V0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_createtransformstmt}enterRule(e){e.enterCreatetransformstmt&&e.enterCreatetransformstmt(this)}exitRule(e){e.exitCreatetransformstmt&&e.exitCreatetransformstmt(this)}accept(e){return e.visitCreatetransformstmt?e.visitCreatetransformstmt(this):e.visitChildren(this)}}class i2 extends R{constructor(e,i){super(e,i)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}get ruleIndex(){return t.RULE_sql_with_function}enterRule(e){e.enterSql_with_function&&e.enterSql_with_function(this)}exitRule(e){e.exitSql_with_function&&e.exitSql_with_function(this)}accept(e){return e.visitSql_with_function?e.visitSql_with_function(this):e.visitChildren(this)}}class X7 extends R{constructor(e,i){super(e,i)}KW_REINDEX(){return this.getToken(t.KW_REINDEX,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}KW_VERBOSE(e){return e===void 0?this.getTokens(t.KW_VERBOSE):this.getToken(t.KW_VERBOSE,e)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}qualified_name(){return this.getRuleContext(0,S)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}table_name(){return this.getRuleContext(0,ot)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}colid(){return this.getRuleContext(0,o)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}get ruleIndex(){return t.RULE_reindexstmt}enterRule(e){e.enterReindexstmt&&e.enterReindexstmt(this)}exitRule(e){e.exitReindexstmt&&e.exitReindexstmt(this)}accept(e){return e.visitReindexstmt?e.visitReindexstmt(this):e.visitChildren(this)}}class Q7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}opttablespace(){return this.getRuleContext(0,gt)}reloptions(){return this.getRuleContext(0,N1)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}get ruleIndex(){return t.RULE_altertblspcstmt}enterRule(e){e.enterAltertblspcstmt&&e.enterAltertblspcstmt(this)}exitRule(e){e.exitAltertblspcstmt&&e.exitAltertblspcstmt(this)}accept(e){return e.visitAltertblspcstmt?e.visitAltertblspcstmt(this):e.visitChildren(this)}}class Z7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_TO(){return this.getToken(t.KW_TO,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ye)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}database_name_create(){return this.getRuleContext(0,th)}any_name(){return this.getRuleContext(0,B)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}function_name_create(){return this.getRuleContext(0,ih)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}procedure_name_create(){return this.getRuleContext(0,vi)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}schema_name_create(){return this.getRuleContext(0,_1)}qualified_name(){return this.getRuleContext(0,S)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,Ce)}view_name_create(){return this.getRuleContext(0,wi)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}table_name_create(){return this.getRuleContext(0,u0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}column_name(){return this.getRuleContext(0,Rt)}column_name_create(){return this.getRuleContext(0,j0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}rolespec(e){return e===void 0?this.getRuleContexts(ct):this.getRuleContext(e,ct)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}opttablespace(){return this.getRuleContext(0,gt)}tablespace_name_create(){return this.getRuleContext(0,l1)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}opt_drop_behavior(){return this.getRuleContext(0,St)}get ruleIndex(){return t.RULE_renamestmt}enterRule(e){e.enterRenamestmt&&e.enterRenamestmt(this)}exitRule(e){e.exitRenamestmt&&e.exitRenamestmt(this)}accept(e){return e.visitRenamestmt?e.visitRenamestmt(this):e.visitChildren(this)}}class r7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}qualified_name(){return this.getRuleContext(0,S)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,Ce)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_alterobjectdependsstmt}enterRule(e){e.enterAlterobjectdependsstmt&&e.enterAlterobjectdependsstmt(this)}exitRule(e){e.exitAlterobjectdependsstmt&&e.exitAlterobjectdependsstmt(this)}accept(e){return e.visitAlterobjectdependsstmt?e.visitAlterobjectdependsstmt(this):e.visitChildren(this)}}class j7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ye)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}colid(){return this.getRuleContext(0,o)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,W0)}any_name(){return this.getRuleContext(0,B)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}qualified_name(){return this.getRuleContext(0,S)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name(){return this.getRuleContext(0,Ce)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}opt_if_exists(){return this.getRuleContext(0,zt)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}get ruleIndex(){return t.RULE_alterobjectschemastmt}enterRule(e){e.enterAlterobjectschemastmt&&e.enterAlterobjectschemastmt(this)}exitRule(e){e.exitAlterobjectschemastmt&&e.exitAlterobjectschemastmt(this)}accept(e){return e.visitAlterobjectschemastmt?e.visitAlterobjectschemastmt(this):e.visitChildren(this)}}class z7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}operator_with_argtypes(){return this.getRuleContext(0,W0)}KW_SET(){return this.getToken(t.KW_SET,0)}operator_def_list(){return this.getRuleContext(0,n2)}get ruleIndex(){return t.RULE_alteroperatorstmt}enterRule(e){e.enterAlteroperatorstmt&&e.enterAlteroperatorstmt(this)}exitRule(e){e.exitAlteroperatorstmt&&e.exitAlteroperatorstmt(this)}accept(e){return e.visitAlteroperatorstmt?e.visitAlteroperatorstmt(this):e.visitChildren(this)}}class n2 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}operator_def_elem(e){return e===void 0?this.getRuleContexts(c2):this.getRuleContext(e,c2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_operator_def_list}enterRule(e){e.enterOperator_def_list&&e.enterOperator_def_list(this)}exitRule(e){e.exitOperator_def_list&&e.exitOperator_def_list(this)}accept(e){return e.visitOperator_def_list?e.visitOperator_def_list(this):e.visitChildren(this)}}class c2 extends R{constructor(e,i){super(e,i)}collabel(){return this.getRuleContext(0,It)}EQUAL(){return this.getToken(t.EQUAL,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}func_type(){return this.getRuleContext(0,d1)}reserved_keyword(){return this.getRuleContext(0,sh)}qual_all_op(){return this.getRuleContext(0,Di)}numericonly(){return this.getRuleContext(0,mt)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_operator_def_elem}enterRule(e){e.enterOperator_def_elem&&e.enterOperator_def_elem(this)}exitRule(e){e.exitOperator_def_elem&&e.exitOperator_def_elem(this)}accept(e){return e.visitOperator_def_elem?e.visitOperator_def_elem(this):e.visitChildren(this)}}class $7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}any_name(){return this.getRuleContext(0,B)}KW_SET(){return this.getToken(t.KW_SET,0)}operator_def_list(){return this.getRuleContext(0,n2)}get ruleIndex(){return t.RULE_altertypestmt}enterRule(e){e.enterAltertypestmt&&e.enterAltertypestmt(this)}exitRule(e){e.exitAltertypestmt&&e.exitAltertypestmt(this)}accept(e){return e.visitAltertypestmt?e.visitAltertypestmt(this):e.visitChildren(this)}}class J7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}any_name(){return this.getRuleContext(0,B)}table_access_method_clause(){return this.getRuleContext(0,Ht)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,ct)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}aggregate_with_argtypes(){return this.getRuleContext(0,Ye)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}function_with_argtypes(){return this.getRuleContext(0,jt)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}colid(){return this.getRuleContext(0,o)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}numericonly(){return this.getRuleContext(0,mt)}operator_with_argtypes(){return this.getRuleContext(0,W0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}procedure_with_argtypes(){return this.getRuleContext(0,_e)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}routine_with_argtypes(){return this.getRuleContext(0,Ae)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}opttablespace(){return this.getRuleContext(0,gt)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}get ruleIndex(){return t.RULE_alterownerstmt}enterRule(e){e.enterAlterownerstmt&&e.enterAlterownerstmt(this)}exitRule(e){e.exitAlterownerstmt&&e.exitAlterownerstmt(this)}accept(e){return e.visitAlterownerstmt?e.visitAlterownerstmt(this):e.visitChildren(this)}}class S7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}colid(){return this.getRuleContext(0,o)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr_list(){return this.getRuleContext(0,rs)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}opt_definition(){return this.getRuleContext(0,m1)}get ruleIndex(){return t.RULE_createpublicationstmt}enterRule(e){e.enterCreatepublicationstmt&&e.enterCreatepublicationstmt(this)}exitRule(e){e.exitCreatepublicationstmt&&e.exitCreatepublicationstmt(this)}accept(e){return e.visitCreatepublicationstmt?e.visitCreatepublicationstmt(this):e.visitChildren(this)}}class g7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}publication_relation_expr(e){return e===void 0?this.getRuleContexts(y2):this.getRuleContext(e,y2)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,ct)}definition(){return this.getRuleContext(0,I1)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_alterpublicationstmt}enterRule(e){e.enterAlterpublicationstmt&&e.enterAlterpublicationstmt(this)}exitRule(e){e.exitAlterpublicationstmt&&e.exitAlterpublicationstmt(this)}accept(e){return e.visitAlterpublicationstmt?e.visitAlterpublicationstmt(this):e.visitChildren(this)}}class q7 extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}colid(){return this.getRuleContext(0,o)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}sconst(){return this.getRuleContext(0,Z)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}collabel(e){return e===void 0?this.getRuleContexts(It):this.getRuleContext(e,It)}opt_definition(){return this.getRuleContext(0,m1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_createsubscriptionstmt}enterRule(e){e.enterCreatesubscriptionstmt&&e.enterCreatesubscriptionstmt(this)}exitRule(e){e.exitCreatesubscriptionstmt&&e.exitCreatesubscriptionstmt(this)}accept(e){return e.visitCreatesubscriptionstmt?e.visitCreatesubscriptionstmt(this):e.visitChildren(this)}}class P7 extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}colid(){return this.getRuleContext(0,o)}KW_SET(){return this.getToken(t.KW_SET,0)}definition(){return this.getRuleContext(0,I1)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}sconst(){return this.getRuleContext(0,Z)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}opt_definition(){return this.getRuleContext(0,m1)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}collabel(e){return e===void 0?this.getRuleContexts(It):this.getRuleContext(e,It)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}old_aggr_elem(){return this.getRuleContext(0,ks)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TO(){return this.getToken(t.KW_TO,0)}rolespec(){return this.getRuleContext(0,ct)}get ruleIndex(){return t.RULE_altersubscriptionstmt}enterRule(e){e.enterAltersubscriptionstmt&&e.enterAltersubscriptionstmt(this)}exitRule(e){e.exitAltersubscriptionstmt&&e.exitAltersubscriptionstmt(this)}accept(e){return e.visitAltersubscriptionstmt?e.visitAltersubscriptionstmt(this):e.visitChildren(this)}}class tE extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}colid(){return this.getRuleContext(0,o)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_TO(){return this.getToken(t.KW_TO,0)}qualified_name(){return this.getRuleContext(0,S)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}ruleactionstmt(e){return e===void 0?this.getRuleContexts(s2):this.getRuleContext(e,s2)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_or_replace(){return this.getRuleContext(0,V0)}where_clause(){return this.getRuleContext(0,Xe)}KW_INSTEAD(){return this.getToken(t.KW_INSTEAD,0)}KW_ALSO(){return this.getToken(t.KW_ALSO,0)}SEMI(e){return e===void 0?this.getTokens(t.SEMI):this.getToken(t.SEMI,e)}get ruleIndex(){return t.RULE_rulestmt}enterRule(e){e.enterRulestmt&&e.enterRulestmt(this)}exitRule(e){e.exitRulestmt&&e.exitRulestmt(this)}accept(e){return e.visitRulestmt?e.visitRulestmt(this):e.visitChildren(this)}}class s2 extends R{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Yt)}insertstmt(){return this.getRuleContext(0,p1)}updatestmt(){return this.getRuleContext(0,Ui)}deletestmt(){return this.getRuleContext(0,xi)}notifystmt(){return this.getRuleContext(0,h2)}get ruleIndex(){return t.RULE_ruleactionstmt}enterRule(e){e.enterRuleactionstmt&&e.enterRuleactionstmt(this)}exitRule(e){e.exitRuleactionstmt&&e.exitRuleactionstmt(this)}accept(e){return e.visitRuleactionstmt?e.visitRuleactionstmt(this):e.visitChildren(this)}}class h2 extends R{constructor(e,i){super(e,i)}KW_NOTIFY(){return this.getToken(t.KW_NOTIFY,0)}colid(){return this.getRuleContext(0,o)}notify_payload(){return this.getRuleContext(0,X0)}get ruleIndex(){return t.RULE_notifystmt}enterRule(e){e.enterNotifystmt&&e.enterNotifystmt(this)}exitRule(e){e.exitNotifystmt&&e.exitNotifystmt(this)}accept(e){return e.visitNotifystmt?e.visitNotifystmt(this):e.visitChildren(this)}}class X0 extends R{constructor(e,i){super(e,i)}COMMA(){return this.getToken(t.COMMA,0)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_notify_payload}enterRule(e){e.enterNotify_payload&&e.enterNotify_payload(this)}exitRule(e){e.exitNotify_payload&&e.exitNotify_payload(this)}accept(e){return e.visitNotify_payload?e.visitNotify_payload(this):e.visitChildren(this)}}class eE extends R{constructor(e,i){super(e,i)}KW_LISTEN(){return this.getToken(t.KW_LISTEN,0)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_listenstmt}enterRule(e){e.enterListenstmt&&e.enterListenstmt(this)}exitRule(e){e.exitListenstmt&&e.exitListenstmt(this)}accept(e){return e.visitListenstmt?e.visitListenstmt(this):e.visitChildren(this)}}class iE extends R{constructor(e,i){super(e,i)}KW_UNLISTEN(){return this.getToken(t.KW_UNLISTEN,0)}colid(){return this.getRuleContext(0,o)}STAR(){return this.getToken(t.STAR,0)}get ruleIndex(){return t.RULE_unlistenstmt}enterRule(e){e.enterUnlistenstmt&&e.enterUnlistenstmt(this)}exitRule(e){e.exitUnlistenstmt&&e.exitUnlistenstmt(this)}accept(e){return e.visitUnlistenstmt?e.visitUnlistenstmt(this):e.visitChildren(this)}}class nE extends R{constructor(e,i){super(e,i)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}opt_transaction(){return this.getRuleContext(0,cE)}transaction_mode_list(){return this.getRuleContext(0,E2)}KW_START(){return this.getToken(t.KW_START,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}colid(){return this.getRuleContext(0,o)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}sconst(){return this.getRuleContext(0,Z)}KW_PREPARED(){return this.getToken(t.KW_PREPARED,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_ABORT(){return this.getToken(t.KW_ABORT,0)}KW_END(){return this.getToken(t.KW_END,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_TO(){return this.getToken(t.KW_TO,0)}get ruleIndex(){return t.RULE_transactionstmt}enterRule(e){e.enterTransactionstmt&&e.enterTransactionstmt(this)}exitRule(e){e.exitTransactionstmt&&e.exitTransactionstmt(this)}accept(e){return e.visitTransactionstmt?e.visitTransactionstmt(this):e.visitChildren(this)}}class cE extends R{constructor(e,i){super(e,i)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}get ruleIndex(){return t.RULE_opt_transaction}enterRule(e){e.enterOpt_transaction&&e.enterOpt_transaction(this)}exitRule(e){e.exitOpt_transaction&&e.exitOpt_transaction(this)}accept(e){return e.visitOpt_transaction?e.visitOpt_transaction(this):e.visitChildren(this)}}class a2 extends R{constructor(e,i){super(e,i)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}iso_level(){return this.getRuleContext(0,m5)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_transaction_mode_item}enterRule(e){e.enterTransaction_mode_item&&e.enterTransaction_mode_item(this)}exitRule(e){e.exitTransaction_mode_item&&e.exitTransaction_mode_item(this)}accept(e){return e.visitTransaction_mode_item?e.visitTransaction_mode_item(this):e.visitChildren(this)}}class E2 extends R{constructor(e,i){super(e,i)}transaction_mode_item(e){return e===void 0?this.getRuleContexts(a2):this.getRuleContext(e,a2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_transaction_mode_list}enterRule(e){e.enterTransaction_mode_list&&e.enterTransaction_mode_list(this)}exitRule(e){e.exitTransaction_mode_list&&e.exitTransaction_mode_list(this)}accept(e){return e.visitTransaction_mode_list?e.visitTransaction_mode_list(this):e.visitChildren(this)}}class Gs extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_viewstmt}copyFrom(e){super.copyFrom(e)}}class N8 extends Gs{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_AS(){return this.getToken(t.KW_AS,0)}selectstmt(){return this.getRuleContext(0,Yt)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}view_name_create(){return this.getRuleContext(0,wi)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}opt_column_list(){return this.getRuleContext(0,Ut)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}opttemp(){return this.getRuleContext(0,C1)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}opt_column_list_create(){return this.getRuleContext(0,ms)}opt_reloptions(){return this.getRuleContext(0,Ti)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}enterRule(e){e.enterCreateView&&e.enterCreateView(this)}exitRule(e){e.exitCreateView&&e.exitCreateView(this)}accept(e){return e.visitCreateView?e.visitCreateView(this):e.visitChildren(this)}}class sE extends R{constructor(e,i){super(e,i)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_loadstmt}enterRule(e){e.enterLoadstmt&&e.enterLoadstmt(this)}exitRule(e){e.exitLoadstmt&&e.exitLoadstmt(this)}accept(e){return e.visitLoadstmt?e.visitLoadstmt(this):e.visitChildren(this)}}class W2 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_createdbstmt}copyFrom(e){super.copyFrom(e)}}class C8 extends W2{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name_create(){return this.getRuleContext(0,th)}KW_WITH(){return this.getToken(t.KW_WITH,0)}createdb_opt_item(e){return e===void 0?this.getRuleContexts(oi):this.getRuleContext(e,oi)}enterRule(e){e.enterCreateDatabase&&e.enterCreateDatabase(this)}exitRule(e){e.exitCreateDatabase&&e.exitCreateDatabase(this)}accept(e){return e.visitCreateDatabase?e.visitCreateDatabase(this):e.visitChildren(this)}}class oi extends R{constructor(e,i){super(e,i)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_ENCODING(){return this.getToken(t.KW_ENCODING,0)}KW_LOCATION(){return this.getToken(t.KW_LOCATION,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}identifier(){return this.getRuleContext(0,wt)}signediconst(){return this.getRuleContext(0,z0)}opt_boolean_or_string(){return this.getRuleContext(0,ui)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}get ruleIndex(){return t.RULE_createdb_opt_item}enterRule(e){e.enterCreatedb_opt_item&&e.enterCreatedb_opt_item(this)}exitRule(e){e.exitCreatedb_opt_item&&e.exitCreatedb_opt_item(this)}accept(e){return e.visitCreatedb_opt_item?e.visitCreatedb_opt_item(this):e.visitChildren(this)}}class hE extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}tablespace_name_create(){return this.getRuleContext(0,l1)}KW_WITH(){return this.getToken(t.KW_WITH,0)}createdb_opt_item(e){return e===void 0?this.getRuleContexts(oi):this.getRuleContext(e,oi)}get ruleIndex(){return t.RULE_alterdatabasestmt}enterRule(e){e.enterAlterdatabasestmt&&e.enterAlterdatabasestmt(this)}exitRule(e){e.exitAlterdatabasestmt&&e.exitAlterdatabasestmt(this)}accept(e){return e.visitAlterdatabasestmt?e.visitAlterdatabasestmt(this):e.visitChildren(this)}}class aE extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}database_name(){return this.getRuleContext(0,se)}setresetclause(){return this.getRuleContext(0,sa)}get ruleIndex(){return t.RULE_alterdatabasesetstmt}enterRule(e){e.enterAlterdatabasesetstmt&&e.enterAlterdatabasesetstmt(this)}exitRule(e){e.exitAlterdatabasesetstmt&&e.exitAlterdatabasesetstmt(this)}accept(e){return e.visitAlterdatabasesetstmt?e.visitAlterdatabasesetstmt(this):e.visitChildren(this)}}class EE extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}any_name(){return this.getRuleContext(0,B)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}get ruleIndex(){return t.RULE_altercollationstmt}enterRule(e){e.enterAltercollationstmt&&e.enterAltercollationstmt(this)}exitRule(e){e.exitAltercollationstmt&&e.exitAltercollationstmt(this)}accept(e){return e.visitAltercollationstmt?e.visitAltercollationstmt(this):e.visitChildren(this)}}class WE extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}generic_set(){return this.getRuleContext(0,ia)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}get ruleIndex(){return t.RULE_altersystemstmt}enterRule(e){e.enterAltersystemstmt&&e.enterAltersystemstmt(this)}exitRule(e){e.exitAltersystemstmt&&e.exitAltersystemstmt(this)}accept(e){return e.visitAltersystemstmt?e.visitAltersystemstmt(this):e.visitChildren(this)}}class KE extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}any_name(){return this.getRuleContext(0,B)}typename(){return this.getRuleContext(0,P)}KW_AS(){return this.getToken(t.KW_AS,0)}colconstraint(e){return e===void 0?this.getRuleContexts(G0):this.getRuleContext(e,G0)}get ruleIndex(){return t.RULE_createdomainstmt}enterRule(e){e.enterCreatedomainstmt&&e.enterCreatedomainstmt(this)}exitRule(e){e.exitCreatedomainstmt&&e.exitCreatedomainstmt(this)}accept(e){return e.visitCreatedomainstmt?e.visitCreatedomainstmt(this):e.visitChildren(this)}}class uE extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}any_name(){return this.getRuleContext(0,B)}alter_column_default(){return this.getRuleContext(0,Ka)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}constraintelem(){return this.getRuleContext(0,_i)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}colid(){return this.getRuleContext(0,o)}KW_VALIDATE(){return this.getToken(t.KW_VALIDATE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}opt_if_exists(){return this.getRuleContext(0,zt)}opt_drop_behavior(){return this.getRuleContext(0,St)}get ruleIndex(){return t.RULE_alterdomainstmt}enterRule(e){e.enterAlterdomainstmt&&e.enterAlterdomainstmt(this)}exitRule(e){e.exitAlterdomainstmt&&e.exitAlterdomainstmt(this)}accept(e){return e.visitAlterdomainstmt?e.visitAlterdomainstmt(this):e.visitChildren(this)}}class RE extends R{constructor(e,i){super(e,i)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}any_name(){return this.getRuleContext(0,B)}definition(){return this.getRuleContext(0,I1)}get ruleIndex(){return t.RULE_altertsdictionarystmt}enterRule(e){e.enterAltertsdictionarystmt&&e.enterAltertsdictionarystmt(this)}exitRule(e){e.exitAltertsdictionarystmt&&e.exitAltertsdictionarystmt(this)}accept(e){return e.visitAltertsdictionarystmt?e.visitAltertsdictionarystmt(this):e.visitChildren(this)}}class TE extends R{constructor(e,i){super(e,i)}KW_ALTER(e){return e===void 0?this.getTokens(t.KW_ALTER):this.getToken(t.KW_ALTER,e)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}name_list(){return this.getRuleContext(0,r0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}any_name_list(){return this.getRuleContext(0,L1)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}opt_if_exists(){return this.getRuleContext(0,zt)}get ruleIndex(){return t.RULE_altertsconfigurationstmt}enterRule(e){e.enterAltertsconfigurationstmt&&e.enterAltertsconfigurationstmt(this)}exitRule(e){e.exitAltertsconfigurationstmt&&e.exitAltertsconfigurationstmt(this)}accept(e){return e.visitAltertsconfigurationstmt?e.visitAltertsconfigurationstmt(this):e.visitChildren(this)}}class AE extends R{constructor(e,i){super(e,i)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}any_name(e){return e===void 0?this.getRuleContexts(B):this.getRuleContext(e,B)}KW_FOR(){return this.getToken(t.KW_FOR,0)}sconst(e){return e===void 0?this.getRuleContexts(Z):this.getRuleContext(e,Z)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_createconversionstmt}enterRule(e){e.enterCreateconversionstmt&&e.enterCreateconversionstmt(this)}exitRule(e){e.exitCreateconversionstmt&&e.exitCreateconversionstmt(this)}accept(e){return e.visitCreateconversionstmt?e.visitCreateconversionstmt(this):e.visitChildren(this)}}class _E extends R{constructor(e,i){super(e,i)}KW_CLUSTER(){return this.getToken(t.KW_CLUSTER,0)}opt_verbose(e){return e===void 0?this.getRuleContexts(o1):this.getRuleContext(e,o1)}table_name(){return this.getRuleContext(0,ot)}table_access_method_clause(){return this.getRuleContext(0,Ht)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_clusterstmt}enterRule(e){e.enterClusterstmt&&e.enterClusterstmt(this)}exitRule(e){e.exitClusterstmt&&e.exitClusterstmt(this)}accept(e){return e.visitClusterstmt?e.visitClusterstmt(this):e.visitChildren(this)}}class NE extends R{constructor(e,i){super(e,i)}KW_VACUUM(){return this.getToken(t.KW_VACUUM,0)}vacuum_relation_list(){return this.getRuleContext(0,T2)}explain_option_list(){return this.getRuleContext(0,_2)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_FREEZE(){return this.getToken(t.KW_FREEZE,0)}opt_verbose(){return this.getRuleContext(0,o1)}analyze_keyword(){return this.getRuleContext(0,pi)}get ruleIndex(){return t.RULE_vacuumstmt}enterRule(e){e.enterVacuumstmt&&e.enterVacuumstmt(this)}exitRule(e){e.exitVacuumstmt&&e.exitVacuumstmt(this)}accept(e){return e.visitVacuumstmt?e.visitVacuumstmt(this):e.visitChildren(this)}}class CE extends R{constructor(e,i){super(e,i)}analyze_keyword(){return this.getRuleContext(0,pi)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}analyze_option_elem(e){return e===void 0?this.getRuleContexts(u2):this.getRuleContext(e,u2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}vacuum_relation_list(){return this.getRuleContext(0,T2)}opt_verbose(){return this.getRuleContext(0,o1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_analyzestmt}enterRule(e){e.enterAnalyzestmt&&e.enterAnalyzestmt(this)}exitRule(e){e.exitAnalyzestmt&&e.exitAnalyzestmt(this)}accept(e){return e.visitAnalyzestmt?e.visitAnalyzestmt(this):e.visitChildren(this)}}class pi extends R{constructor(e,i){super(e,i)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_ANALYSE(){return this.getToken(t.KW_ANALYSE,0)}get ruleIndex(){return t.RULE_analyze_keyword}enterRule(e){e.enterAnalyze_keyword&&e.enterAnalyze_keyword(this)}exitRule(e){e.exitAnalyze_keyword&&e.exitAnalyze_keyword(this)}accept(e){return e.visitAnalyze_keyword?e.visitAnalyze_keyword(this):e.visitChildren(this)}}class K2 extends R{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,D1)}analyze_keyword(){return this.getRuleContext(0,pi)}opt_boolean_or_string(){return this.getRuleContext(0,ui)}numericonly(){return this.getRuleContext(0,mt)}get ruleIndex(){return t.RULE_vac_analyze_option_elem}enterRule(e){e.enterVac_analyze_option_elem&&e.enterVac_analyze_option_elem(this)}exitRule(e){e.exitVac_analyze_option_elem&&e.exitVac_analyze_option_elem(this)}accept(e){return e.visitVac_analyze_option_elem?e.visitVac_analyze_option_elem(this):e.visitChildren(this)}}class u2 extends R{constructor(e,i){super(e,i)}KW_SKIP_LOCKED(){return this.getToken(t.KW_SKIP_LOCKED,0)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_BUFFER_USAGE_LIMIT(){return this.getToken(t.KW_BUFFER_USAGE_LIMIT,0)}numericonly(){return this.getRuleContext(0,mt)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_analyze_option_elem}enterRule(e){e.enterAnalyze_option_elem&&e.enterAnalyze_option_elem(this)}exitRule(e){e.exitAnalyze_option_elem&&e.exitAnalyze_option_elem(this)}accept(e){return e.visitAnalyze_option_elem?e.visitAnalyze_option_elem(this):e.visitChildren(this)}}class o1 extends R{constructor(e,i){super(e,i)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}get ruleIndex(){return t.RULE_opt_verbose}enterRule(e){e.enterOpt_verbose&&e.enterOpt_verbose(this)}exitRule(e){e.exitOpt_verbose&&e.exitOpt_verbose(this)}accept(e){return e.visitOpt_verbose?e.visitOpt_verbose(this):e.visitChildren(this)}}class R2 extends R{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,ot)}opt_column_list(){return this.getRuleContext(0,Ut)}get ruleIndex(){return t.RULE_vacuum_relation}enterRule(e){e.enterVacuum_relation&&e.enterVacuum_relation(this)}exitRule(e){e.exitVacuum_relation&&e.exitVacuum_relation(this)}accept(e){return e.visitVacuum_relation?e.visitVacuum_relation(this):e.visitChildren(this)}}class T2 extends R{constructor(e,i){super(e,i)}vacuum_relation(e){return e===void 0?this.getRuleContexts(R2):this.getRuleContext(e,R2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_vacuum_relation_list}enterRule(e){e.enterVacuum_relation_list&&e.enterVacuum_relation_list(this)}exitRule(e){e.exitVacuum_relation_list&&e.exitVacuum_relation_list(this)}accept(e){return e.visitVacuum_relation_list?e.visitVacuum_relation_list(this):e.visitChildren(this)}}class A2 extends R{constructor(e,i){super(e,i)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}explainablestmt(){return this.getRuleContext(0,IE)}explain_option_list(){return this.getRuleContext(0,_2)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}analyze_keyword(){return this.getRuleContext(0,pi)}opt_verbose(){return this.getRuleContext(0,o1)}get ruleIndex(){return t.RULE_explainstmt}enterRule(e){e.enterExplainstmt&&e.enterExplainstmt(this)}exitRule(e){e.exitExplainstmt&&e.exitExplainstmt(this)}accept(e){return e.visitExplainstmt?e.visitExplainstmt(this):e.visitChildren(this)}}class IE extends R{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Yt)}insertstmt(){return this.getRuleContext(0,p1)}updatestmt(){return this.getRuleContext(0,Ui)}deletestmt(){return this.getRuleContext(0,xi)}declarecursorstmt(){return this.getRuleContext(0,O2)}createasstmt(){return this.getRuleContext(0,os)}creatematviewstmt(){return this.getRuleContext(0,ps)}refreshmatviewstmt(){return this.getRuleContext(0,Da)}executestmt(){return this.getRuleContext(0,N2)}get ruleIndex(){return t.RULE_explainablestmt}enterRule(e){e.enterExplainablestmt&&e.enterExplainablestmt(this)}exitRule(e){e.exitExplainablestmt&&e.exitExplainablestmt(this)}accept(e){return e.visitExplainablestmt?e.visitExplainablestmt(this):e.visitChildren(this)}}class _2 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}vac_analyze_option_elem(e){return e===void 0?this.getRuleContexts(K2):this.getRuleContext(e,K2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_explain_option_list}enterRule(e){e.enterExplain_option_list&&e.enterExplain_option_list(this)}exitRule(e){e.exitExplain_option_list&&e.exitExplain_option_list(this)}accept(e){return e.visitExplain_option_list?e.visitExplain_option_list(this):e.visitChildren(this)}}class LE extends R{constructor(e,i){super(e,i)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}colid(){return this.getRuleContext(0,o)}KW_AS(){return this.getToken(t.KW_AS,0)}preparablestmt(){return this.getRuleContext(0,Bs)}prep_type_clause(){return this.getRuleContext(0,fi)}get ruleIndex(){return t.RULE_preparestmt}enterRule(e){e.enterPreparestmt&&e.enterPreparestmt(this)}exitRule(e){e.exitPreparestmt&&e.exitPreparestmt(this)}accept(e){return e.visitPreparestmt?e.visitPreparestmt(this):e.visitChildren(this)}}class fi extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}typename(e){return e===void 0?this.getRuleContexts(P):this.getRuleContext(e,P)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_prep_type_clause}enterRule(e){e.enterPrep_type_clause&&e.enterPrep_type_clause(this)}exitRule(e){e.exitPrep_type_clause&&e.exitPrep_type_clause(this)}accept(e){return e.visitPrep_type_clause?e.visitPrep_type_clause(this):e.visitChildren(this)}}class Bs extends R{constructor(e,i){super(e,i)}selectstmt(){return this.getRuleContext(0,Yt)}insertstmt(){return this.getRuleContext(0,p1)}updatestmt(){return this.getRuleContext(0,Ui)}deletestmt(){return this.getRuleContext(0,xi)}get ruleIndex(){return t.RULE_preparablestmt}enterRule(e){e.enterPreparablestmt&&e.enterPreparablestmt(this)}exitRule(e){e.exitPreparablestmt&&e.exitPreparablestmt(this)}accept(e){return e.visitPreparablestmt?e.visitPreparablestmt(this):e.visitChildren(this)}}class N2 extends R{constructor(e,i){super(e,i)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}colid(){return this.getRuleContext(0,o)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}create_as_target(){return this.getRuleContext(0,ka)}KW_AS(){return this.getToken(t.KW_AS,0)}opttemp(){return this.getRuleContext(0,C1)}opt_if_not_exists(){return this.getRuleContext(0,lt)}opt_with_data(){return this.getRuleContext(0,Ni)}get ruleIndex(){return t.RULE_executestmt}enterRule(e){e.enterExecutestmt&&e.enterExecutestmt(this)}exitRule(e){e.exitExecutestmt&&e.exitExecutestmt(this)}accept(e){return e.visitExecutestmt?e.visitExecutestmt(this):e.visitChildren(this)}}class yt extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,Ct)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_execute_param_clause}enterRule(e){e.enterExecute_param_clause&&e.enterExecute_param_clause(this)}exitRule(e){e.exitExecute_param_clause&&e.exitExecute_param_clause(this)}accept(e){return e.visitExecute_param_clause?e.visitExecute_param_clause(this):e.visitChildren(this)}}class OE extends R{constructor(e,i){super(e,i)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}colid(){return this.getRuleContext(0,o)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}get ruleIndex(){return t.RULE_deallocatestmt}enterRule(e){e.enterDeallocatestmt&&e.enterDeallocatestmt(this)}exitRule(e){e.exitDeallocatestmt&&e.exitDeallocatestmt(this)}accept(e){return e.visitDeallocatestmt?e.visitDeallocatestmt(this):e.visitChildren(this)}}class p1 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_insertstmt}copyFrom(e){super.copyFrom(e)}}class I8 extends p1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}table_name(){return this.getRuleContext(0,ot)}insert_rest(){return this.getRuleContext(0,dE)}with_clause(){return this.getRuleContext(0,Q0)}KW_AS(){return this.getToken(t.KW_AS,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_ON(e){return e===void 0?this.getTokens(t.KW_ON):this.getToken(t.KW_ON,e)}KW_CONFLICT(){return this.getToken(t.KW_CONFLICT,0)}KW_DO(){return this.getToken(t.KW_DO,0)}returning_clause(){return this.getRuleContext(0,Ys)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}set_clause_list(){return this.getRuleContext(0,I2)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}index_params(){return this.getRuleContext(0,mi)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}where_clause(e){return e===void 0?this.getRuleContexts(Xe):this.getRuleContext(e,Xe)}enterRule(e){e.enterInsertStatement&&e.enterInsertStatement(this)}exitRule(e){e.exitInsertStatement&&e.exitInsertStatement(this)}accept(e){return e.visitInsertStatement?e.visitInsertStatement(this):e.visitChildren(this)}}class dE extends R{constructor(e,i){super(e,i)}default_values_or_values(){return this.getRuleContext(0,L3)}selectstmt(){return this.getRuleContext(0,Yt)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}insert_column_list(){return this.getRuleContext(0,C2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_OVERRIDING(){return this.getToken(t.KW_OVERRIDING,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}get ruleIndex(){return t.RULE_insert_rest}enterRule(e){e.enterInsert_rest&&e.enterInsert_rest(this)}exitRule(e){e.exitInsert_rest&&e.exitInsert_rest(this)}accept(e){return e.visitInsert_rest?e.visitInsert_rest(this):e.visitChildren(this)}}class C2 extends R{constructor(e,i){super(e,i)}insert_column_item(e){return e===void 0?this.getRuleContexts(Vs):this.getRuleContext(e,Vs)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_insert_column_list}enterRule(e){e.enterInsert_column_list&&e.enterInsert_column_list(this)}exitRule(e){e.exitInsert_column_list&&e.exitInsert_column_list(this)}accept(e){return e.visitInsert_column_list?e.visitInsert_column_list(this):e.visitChildren(this)}}class Vs extends R{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Rt)}opt_indirection(){return this.getRuleContext(0,Ps)}get ruleIndex(){return t.RULE_insert_column_item}enterRule(e){e.enterInsert_column_item&&e.enterInsert_column_item(this)}exitRule(e){e.exitInsert_column_item&&e.exitInsert_column_item(this)}accept(e){return e.visitInsert_column_item?e.visitInsert_column_item(this):e.visitChildren(this)}}class Ys extends R{constructor(e,i){super(e,i)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}target_list(){return this.getRuleContext(0,c3)}get ruleIndex(){return t.RULE_returning_clause}enterRule(e){e.enterReturning_clause&&e.enterReturning_clause(this)}exitRule(e){e.exitReturning_clause&&e.exitReturning_clause(this)}accept(e){return e.visitReturning_clause?e.visitReturning_clause(this):e.visitChildren(this)}}class xi extends R{constructor(e,i){super(e,i)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}relation_expr_opt_alias(){return this.getRuleContext(0,F2)}with_clause(){return this.getRuleContext(0,Q0)}KW_USING(){return this.getToken(t.KW_USING,0)}from_list(){return this.getRuleContext(0,k2)}where_or_current_clause(){return this.getRuleContext(0,b2)}returning_clause(){return this.getRuleContext(0,Ys)}get ruleIndex(){return t.RULE_deletestmt}enterRule(e){e.enterDeletestmt&&e.enterDeletestmt(this)}exitRule(e){e.exitDeletestmt&&e.exitDeletestmt(this)}accept(e){return e.visitDeletestmt?e.visitDeletestmt(this):e.visitChildren(this)}}class mE extends R{constructor(e,i){super(e,i)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}relation_expr_list(){return this.getRuleContext(0,rs)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}get ruleIndex(){return t.RULE_lockstmt}enterRule(e){e.enterLockstmt&&e.enterLockstmt(this)}exitRule(e){e.exitLockstmt&&e.exitLockstmt(this)}accept(e){return e.visitLockstmt?e.visitLockstmt(this):e.visitChildren(this)}}class Ui extends R{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}relation_expr_opt_alias(){return this.getRuleContext(0,F2)}KW_SET(){return this.getToken(t.KW_SET,0)}set_clause_list(){return this.getRuleContext(0,I2)}with_clause(){return this.getRuleContext(0,Q0)}from_clause(){return this.getRuleContext(0,Zs)}where_or_current_clause(){return this.getRuleContext(0,b2)}returning_clause(){return this.getRuleContext(0,Ys)}get ruleIndex(){return t.RULE_updatestmt}enterRule(e){e.enterUpdatestmt&&e.enterUpdatestmt(this)}exitRule(e){e.exitUpdatestmt&&e.exitUpdatestmt(this)}accept(e){return e.visitUpdatestmt?e.visitUpdatestmt(this):e.visitChildren(this)}}class I2 extends R{constructor(e,i){super(e,i)}set_clause(e){return e===void 0?this.getRuleContexts(L2):this.getRuleContext(e,L2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_set_clause_list}enterRule(e){e.enterSet_clause_list&&e.enterSet_clause_list(this)}exitRule(e){e.exitSet_clause_list&&e.exitSet_clause_list(this)}accept(e){return e.visitSet_clause_list?e.visitSet_clause_list(this):e.visitChildren(this)}}class L2 extends R{constructor(e,i){super(e,i)}insert_column_item(){return this.getRuleContext(0,Vs)}EQUAL(){return this.getToken(t.EQUAL,0)}expression(){return this.getRuleContext(0,y)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}insert_column_list(){return this.getRuleContext(0,C2)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}select_clause(){return this.getRuleContext(0,d2)}KW_ROW(){return this.getToken(t.KW_ROW,0)}get ruleIndex(){return t.RULE_set_clause}enterRule(e){e.enterSet_clause&&e.enterSet_clause(this)}exitRule(e){e.exitSet_clause&&e.exitSet_clause(this)}accept(e){return e.visitSet_clause?e.visitSet_clause(this):e.visitChildren(this)}}class O2 extends R{constructor(e,i){super(e,i)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}colid(){return this.getRuleContext(0,o)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}selectstmt(){return this.getRuleContext(0,Yt)}KW_HOLD(){return this.getToken(t.KW_HOLD,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_BINARY(e){return e===void 0?this.getTokens(t.KW_BINARY):this.getToken(t.KW_BINARY,e)}KW_INSENSITIVE(e){return e===void 0?this.getTokens(t.KW_INSENSITIVE):this.getToken(t.KW_INSENSITIVE,e)}KW_SCROLL(e){return e===void 0?this.getTokens(t.KW_SCROLL):this.getToken(t.KW_SCROLL,e)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}get ruleIndex(){return t.RULE_declarecursorstmt}enterRule(e){e.enterDeclarecursorstmt&&e.enterDeclarecursorstmt(this)}exitRule(e){e.exitDeclarecursorstmt&&e.exitDeclarecursorstmt(this)}accept(e){return e.visitDeclarecursorstmt?e.visitDeclarecursorstmt(this):e.visitChildren(this)}}class Yt extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_selectstmt}copyFrom(e){super.copyFrom(e)}}class oE extends Yt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}select_no_parens(){return this.getRuleContext(0,Xs)}select_with_parens(){return this.getRuleContext(0,Ne)}enterRule(e){e.enterSelectStatement&&e.enterSelectStatement(this)}exitRule(e){e.exitSelectStatement&&e.exitSelectStatement(this)}accept(e){return e.visitSelectStatement?e.visitSelectStatement(this):e.visitChildren(this)}}class Ne extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}select_no_parens(){return this.getRuleContext(0,Xs)}select_with_parens(){return this.getRuleContext(0,Ne)}get ruleIndex(){return t.RULE_select_with_parens}enterRule(e){e.enterSelect_with_parens&&e.enterSelect_with_parens(this)}exitRule(e){e.exitSelect_with_parens&&e.exitSelect_with_parens(this)}accept(e){return e.visitSelect_with_parens?e.visitSelect_with_parens(this):e.visitChildren(this)}}class Xs extends R{constructor(e,i){super(e,i)}select_clause(){return this.getRuleContext(0,d2)}with_clause(){return this.getRuleContext(0,Q0)}sort_clause(){return this.getRuleContext(0,f1)}for_locking_clause(){return this.getRuleContext(0,yE)}select_limit(){return this.getRuleContext(0,lE)}get ruleIndex(){return t.RULE_select_no_parens}enterRule(e){e.enterSelect_no_parens&&e.enterSelect_no_parens(this)}exitRule(e){e.exitSelect_no_parens&&e.exitSelect_no_parens(this)}accept(e){return e.visitSelect_no_parens?e.visitSelect_no_parens(this):e.visitChildren(this)}}class d2 extends R{constructor(e,i){super(e,i)}simple_select(){return this.getRuleContext(0,li)}select_with_parens(){return this.getRuleContext(0,Ne)}get ruleIndex(){return t.RULE_select_clause}enterRule(e){e.enterSelect_clause&&e.enterSelect_clause(this)}exitRule(e){e.exitSelect_clause&&e.exitSelect_clause(this)}accept(e){return e.visitSelect_clause?e.visitSelect_clause(this):e.visitChildren(this)}}class li extends R{constructor(e,i){super(e,i)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}sql_expression(){return this.getRuleContext(0,he)}values_clause(){return this.getRuleContext(0,l2)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}relation_expr(){return this.getRuleContext(0,ke)}select_with_parens(e){return e===void 0?this.getRuleContexts(Ne):this.getRuleContext(e,Ne)}set_operator_with_all_or_distinct(e){return e===void 0?this.getRuleContexts(m2):this.getRuleContext(e,m2)}simple_select(e){return e===void 0?this.getRuleContexts(li):this.getRuleContext(e,li)}KW_ALL(){return this.getToken(t.KW_ALL,0)}into_clause(){return this.getRuleContext(0,p2)}distinct_clause(){return this.getRuleContext(0,UE)}get ruleIndex(){return t.RULE_simple_select}enterRule(e){e.enterSimple_select&&e.enterSimple_select(this)}exitRule(e){e.exitSimple_select&&e.exitSimple_select(this)}accept(e){return e.visitSimple_select?e.visitSimple_select(this):e.visitChildren(this)}}class m2 extends R{constructor(e,i){super(e,i)}KW_UNION(){return this.getToken(t.KW_UNION,0)}KW_INTERSECT(){return this.getToken(t.KW_INTERSECT,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_set_operator_with_all_or_distinct}enterRule(e){e.enterSet_operator_with_all_or_distinct&&e.enterSet_operator_with_all_or_distinct(this)}exitRule(e){e.exitSet_operator_with_all_or_distinct&&e.exitSet_operator_with_all_or_distinct(this)}accept(e){return e.visitSet_operator_with_all_or_distinct?e.visitSet_operator_with_all_or_distinct(this):e.visitChildren(this)}}class Q0 extends R{constructor(e,i){super(e,i)}KW_WITH(){return this.getToken(t.KW_WITH,0)}common_table_expr(e){return e===void 0?this.getRuleContexts(o2):this.getRuleContext(e,o2)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_with_clause}enterRule(e){e.enterWith_clause&&e.enterWith_clause(this)}exitRule(e){e.exitWith_clause&&e.exitWith_clause(this)}accept(e){return e.visitWith_clause?e.visitWith_clause(this):e.visitChildren(this)}}class o2 extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}preparablestmt(){return this.getRuleContext(0,Bs)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}opt_column_list(){return this.getRuleContext(0,Ut)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}search_cluase(){return this.getRuleContext(0,pE)}cycle_cluase(){return this.getRuleContext(0,fE)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_common_table_expr}enterRule(e){e.enterCommon_table_expr&&e.enterCommon_table_expr(this)}exitRule(e){e.exitCommon_table_expr&&e.exitCommon_table_expr(this)}accept(e){return e.visitCommon_table_expr?e.visitCommon_table_expr(this):e.visitChildren(this)}}class pE extends R{constructor(e,i){super(e,i)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_BY(){return this.getToken(t.KW_BY,0)}column_list(){return this.getRuleContext(0,Ge)}KW_SET(){return this.getToken(t.KW_SET,0)}column_name(){return this.getRuleContext(0,Rt)}KW_BREADTH(){return this.getToken(t.KW_BREADTH,0)}KW_DEPTH(){return this.getToken(t.KW_DEPTH,0)}get ruleIndex(){return t.RULE_search_cluase}enterRule(e){e.enterSearch_cluase&&e.enterSearch_cluase(this)}exitRule(e){e.exitSearch_cluase&&e.exitSearch_cluase(this)}accept(e){return e.visitSearch_cluase?e.visitSearch_cluase(this):e.visitChildren(this)}}class fE extends R{constructor(e,i){super(e,i)}KW_CYCLE(){return this.getToken(t.KW_CYCLE,0)}column_list(){return this.getRuleContext(0,Ge)}KW_SET(){return this.getToken(t.KW_SET,0)}column_name(e){return e===void 0?this.getRuleContexts(Rt):this.getRuleContext(e,Rt)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_TO(){return this.getToken(t.KW_TO,0)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_cycle_cluase}enterRule(e){e.enterCycle_cluase&&e.enterCycle_cluase(this)}exitRule(e){e.exitCycle_cluase&&e.exitCycle_cluase(this)}accept(e){return e.visitCycle_cluase?e.visitCycle_cluase(this):e.visitChildren(this)}}class p2 extends R{constructor(e,i){super(e,i)}KW_INTO(){return this.getToken(t.KW_INTO,0)}opttempTableName(){return this.getRuleContext(0,xE)}expr_list(){return this.getRuleContext(0,Ct)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}get ruleIndex(){return t.RULE_into_clause}enterRule(e){e.enterInto_clause&&e.enterInto_clause(this)}exitRule(e){e.exitInto_clause&&e.exitInto_clause(this)}accept(e){return e.visitInto_clause?e.visitInto_clause(this):e.visitChildren(this)}}class xE extends R{constructor(e,i){super(e,i)}table_name_create(){return this.getRuleContext(0,u0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}get ruleIndex(){return t.RULE_opttempTableName}enterRule(e){e.enterOpttempTableName&&e.enterOpttempTableName(this)}exitRule(e){e.exitOpttempTableName&&e.exitOpttempTableName(this)}accept(e){return e.visitOpttempTableName?e.visitOpttempTableName(this):e.visitChildren(this)}}class UE extends R{constructor(e,i){super(e,i)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_ON(){return this.getToken(t.KW_ON,0)}execute_param_clause(){return this.getRuleContext(0,yt)}get ruleIndex(){return t.RULE_distinct_clause}enterRule(e){e.enterDistinct_clause&&e.enterDistinct_clause(this)}exitRule(e){e.exitDistinct_clause&&e.exitDistinct_clause(this)}accept(e){return e.visitDistinct_clause?e.visitDistinct_clause(this):e.visitChildren(this)}}class f1 extends R{constructor(e,i){super(e,i)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_BY(){return this.getToken(t.KW_BY,0)}sortby(e){return e===void 0?this.getRuleContexts(Qs):this.getRuleContext(e,Qs)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_sort_clause}enterRule(e){e.enterSort_clause&&e.enterSort_clause(this)}exitRule(e){e.exitSort_clause&&e.exitSort_clause(this)}accept(e){return e.visitSort_clause?e.visitSort_clause(this):e.visitChildren(this)}}class Qs extends R{constructor(e,i){super(e,i)}column_expr_noparen(){return this.getRuleContext(0,x1)}KW_USING(){return this.getToken(t.KW_USING,0)}qual_all_op(){return this.getRuleContext(0,Di)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}get ruleIndex(){return t.RULE_sortby}enterRule(e){e.enterSortby&&e.enterSortby(this)}exitRule(e){e.exitSortby&&e.exitSortby(this)}accept(e){return e.visitSortby?e.visitSortby(this):e.visitChildren(this)}}class lE extends R{constructor(e,i){super(e,i)}offset_clause(){return this.getRuleContext(0,ME)}fetch_clause(){return this.getRuleContext(0,DE)}limit_clause(){return this.getRuleContext(0,kE)}get ruleIndex(){return t.RULE_select_limit}enterRule(e){e.enterSelect_limit&&e.enterSelect_limit(this)}exitRule(e){e.exitSelect_limit&&e.exitSelect_limit(this)}accept(e){return e.visitSelect_limit?e.visitSelect_limit(this):e.visitChildren(this)}}class kE extends R{constructor(e,i){super(e,i)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}KW_ALL(){return this.getToken(t.KW_ALL,0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_limit_clause}enterRule(e){e.enterLimit_clause&&e.enterLimit_clause(this)}exitRule(e){e.exitLimit_clause&&e.exitLimit_clause(this)}accept(e){return e.visitLimit_clause?e.visitLimit_clause(this):e.visitChildren(this)}}class DE extends R{constructor(e,i){super(e,i)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_TIES(){return this.getToken(t.KW_TIES,0)}select_fetch_first_value(){return this.getRuleContext(0,f2)}get ruleIndex(){return t.RULE_fetch_clause}enterRule(e){e.enterFetch_clause&&e.enterFetch_clause(this)}exitRule(e){e.exitFetch_clause&&e.exitFetch_clause(this)}accept(e){return e.visitFetch_clause?e.visitFetch_clause(this):e.visitChildren(this)}}class ME extends R{constructor(e,i){super(e,i)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}select_fetch_first_value(){return this.getRuleContext(0,f2)}expression(){return this.getRuleContext(0,y)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}get ruleIndex(){return t.RULE_offset_clause}enterRule(e){e.enterOffset_clause&&e.enterOffset_clause(this)}exitRule(e){e.exitOffset_clause&&e.exitOffset_clause(this)}accept(e){return e.visitOffset_clause?e.visitOffset_clause(this):e.visitChildren(this)}}class f2 extends R{constructor(e,i){super(e,i)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}Integral(){return this.getToken(t.Integral,0)}Numeric(){return this.getToken(t.Numeric,0)}primaryExpression(){return this.getRuleContext(0,Ft)}get ruleIndex(){return t.RULE_select_fetch_first_value}enterRule(e){e.enterSelect_fetch_first_value&&e.enterSelect_fetch_first_value(this)}exitRule(e){e.exitSelect_fetch_first_value&&e.exitSelect_fetch_first_value(this)}accept(e){return e.visitSelect_fetch_first_value?e.visitSelect_fetch_first_value(this):e.visitChildren(this)}}class HE extends R{constructor(e,i){super(e,i)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_BY(){return this.getToken(t.KW_BY,0)}group_by_list(){return this.getRuleContext(0,x2)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}get ruleIndex(){return t.RULE_group_clause}enterRule(e){e.enterGroup_clause&&e.enterGroup_clause(this)}exitRule(e){e.exitGroup_clause&&e.exitGroup_clause(this)}accept(e){return e.visitGroup_clause?e.visitGroup_clause(this):e.visitChildren(this)}}class x2 extends R{constructor(e,i){super(e,i)}group_by_item(e){return e===void 0?this.getRuleContexts(U2):this.getRuleContext(e,U2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_group_by_list}enterRule(e){e.enterGroup_by_list&&e.enterGroup_by_list(this)}exitRule(e){e.exitGroup_by_list&&e.exitGroup_by_list(this)}accept(e){return e.visitGroup_by_list?e.visitGroup_by_list(this):e.visitChildren(this)}}class U2 extends R{constructor(e,i){super(e,i)}column_expr_noparen(e){return e===void 0?this.getRuleContexts(x1):this.getRuleContext(e,x1)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_CUBE(){return this.getToken(t.KW_CUBE,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_GROUPING(){return this.getToken(t.KW_GROUPING,0)}KW_SETS(){return this.getToken(t.KW_SETS,0)}group_by_list(){return this.getRuleContext(0,x2)}get ruleIndex(){return t.RULE_group_by_item}enterRule(e){e.enterGroup_by_item&&e.enterGroup_by_item(this)}exitRule(e){e.exitGroup_by_item&&e.exitGroup_by_item(this)}accept(e){return e.visitGroup_by_item?e.visitGroup_by_item(this):e.visitChildren(this)}}class yE extends R{constructor(e,i){super(e,i)}KW_FOR(e){return e===void 0?this.getTokens(t.KW_FOR):this.getToken(t.KW_FOR,e)}KW_UPDATE(e){return e===void 0?this.getTokens(t.KW_UPDATE):this.getToken(t.KW_UPDATE,e)}KW_SHARE(e){return e===void 0?this.getTokens(t.KW_SHARE):this.getToken(t.KW_SHARE,e)}KW_OF(e){return e===void 0?this.getTokens(t.KW_OF):this.getToken(t.KW_OF,e)}qualified_name_list(e){return e===void 0?this.getRuleContexts(U1):this.getRuleContext(e,U1)}KW_NOWAIT(e){return e===void 0?this.getTokens(t.KW_NOWAIT):this.getToken(t.KW_NOWAIT,e)}KW_SKIP(e){return e===void 0?this.getTokens(t.KW_SKIP):this.getToken(t.KW_SKIP,e)}KW_LOCKED(e){return e===void 0?this.getTokens(t.KW_LOCKED):this.getToken(t.KW_LOCKED,e)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}KW_KEY(e){return e===void 0?this.getTokens(t.KW_KEY):this.getToken(t.KW_KEY,e)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}get ruleIndex(){return t.RULE_for_locking_clause}enterRule(e){e.enterFor_locking_clause&&e.enterFor_locking_clause(this)}exitRule(e){e.exitFor_locking_clause&&e.exitFor_locking_clause(this)}accept(e){return e.visitFor_locking_clause?e.visitFor_locking_clause(this):e.visitChildren(this)}}class l2 extends R{constructor(e,i){super(e,i)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}execute_param_clause(e){return e===void 0?this.getRuleContexts(yt):this.getRuleContext(e,yt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_values_clause}enterRule(e){e.enterValues_clause&&e.enterValues_clause(this)}exitRule(e){e.exitValues_clause&&e.exitValues_clause(this)}accept(e){return e.visitValues_clause?e.visitValues_clause(this):e.visitChildren(this)}}class Zs extends R{constructor(e,i){super(e,i)}KW_FROM(){return this.getToken(t.KW_FROM,0)}from_list(){return this.getRuleContext(0,k2)}get ruleIndex(){return t.RULE_from_clause}enterRule(e){e.enterFrom_clause&&e.enterFrom_clause(this)}exitRule(e){e.exitFrom_clause&&e.exitFrom_clause(this)}accept(e){return e.visitFrom_clause?e.visitFrom_clause(this):e.visitChildren(this)}}class k2 extends R{constructor(e,i){super(e,i)}table_ref(e){return e===void 0?this.getRuleContexts(K0):this.getRuleContext(e,K0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_from_list}enterRule(e){e.enterFrom_list&&e.enterFrom_list(this)}exitRule(e){e.exitFrom_list&&e.exitFrom_list(this)}accept(e){return e.visitFrom_list?e.visitFrom_list(this):e.visitChildren(this)}}class K0 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}table_ref(e){return e===void 0?this.getRuleContexts(K0):this.getRuleContext(e,K0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_CROSS(e){return e===void 0?this.getTokens(t.KW_CROSS):this.getToken(t.KW_CROSS,e)}KW_JOIN(e){return e===void 0?this.getTokens(t.KW_JOIN):this.getToken(t.KW_JOIN,e)}KW_NATURAL(e){return e===void 0?this.getTokens(t.KW_NATURAL):this.getToken(t.KW_NATURAL,e)}join_qual(e){return e===void 0?this.getRuleContexts(H2):this.getRuleContext(e,H2)}relation_expr(){return this.getRuleContext(0,ke)}xmltable(){return this.getRuleContext(0,vE)}func_table(){return this.getRuleContext(0,bE)}select_with_parens(){return this.getRuleContext(0,Ne)}alias_clause(){return this.getRuleContext(0,D2)}tablesample_clause(){return this.getRuleContext(0,wE)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}view_name(){return this.getRuleContext(0,Ce)}join_type(e){return e===void 0?this.getRuleContexts(M2):this.getRuleContext(e,M2)}func_alias_clause(){return this.getRuleContext(0,FE)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}column_list(){return this.getRuleContext(0,Ge)}where_clause(){return this.getRuleContext(0,Xe)}get ruleIndex(){return t.RULE_table_ref}enterRule(e){e.enterTable_ref&&e.enterTable_ref(this)}exitRule(e){e.exitTable_ref&&e.exitTable_ref(this)}accept(e){return e.visitTable_ref?e.visitTable_ref(this):e.visitChildren(this)}}class D2 extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}name_list(){return this.getRuleContext(0,r0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_alias_clause}enterRule(e){e.enterAlias_clause&&e.enterAlias_clause(this)}exitRule(e){e.exitAlias_clause&&e.exitAlias_clause(this)}accept(e){return e.visitAlias_clause?e.visitAlias_clause(this):e.visitChildren(this)}}class FE extends R{constructor(e,i){super(e,i)}alias_clause(){return this.getRuleContext(0,D2)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}tablefuncelementlist(){return this.getRuleContext(0,js)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_AS(){return this.getToken(t.KW_AS,0)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_func_alias_clause}enterRule(e){e.enterFunc_alias_clause&&e.enterFunc_alias_clause(this)}exitRule(e){e.exitFunc_alias_clause&&e.exitFunc_alias_clause(this)}accept(e){return e.visitFunc_alias_clause?e.visitFunc_alias_clause(this):e.visitChildren(this)}}class M2 extends R{constructor(e,i){super(e,i)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}get ruleIndex(){return t.RULE_join_type}enterRule(e){e.enterJoin_type&&e.enterJoin_type(this)}exitRule(e){e.exitJoin_type&&e.exitJoin_type(this)}accept(e){return e.visitJoin_type?e.visitJoin_type(this):e.visitChildren(this)}}class H2 extends R{constructor(e,i){super(e,i)}KW_USING(){return this.getToken(t.KW_USING,0)}opt_column_list(){return this.getRuleContext(0,Ut)}KW_ON(){return this.getToken(t.KW_ON,0)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return t.RULE_join_qual}enterRule(e){e.enterJoin_qual&&e.enterJoin_qual(this)}exitRule(e){e.exitJoin_qual&&e.exitJoin_qual(this)}accept(e){return e.visitJoin_qual?e.visitJoin_qual(this):e.visitChildren(this)}}class ke extends R{constructor(e,i){super(e,i)}truncate_table(){return this.getRuleContext(0,di)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}table_name(){return this.getRuleContext(0,ot)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}get ruleIndex(){return t.RULE_relation_expr}enterRule(e){e.enterRelation_expr&&e.enterRelation_expr(this)}exitRule(e){e.exitRelation_expr&&e.exitRelation_expr(this)}accept(e){return e.visitRelation_expr?e.visitRelation_expr(this):e.visitChildren(this)}}class y2 extends R{constructor(e,i){super(e,i)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}truncate_table(){return this.getRuleContext(0,di)}opt_column_list(){return this.getRuleContext(0,Ut)}where_clause(){return this.getRuleContext(0,Xe)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}table_name(){return this.getRuleContext(0,ot)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}schema_name(){return this.getRuleContext(0,Xt)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}get ruleIndex(){return t.RULE_publication_relation_expr}enterRule(e){e.enterPublication_relation_expr&&e.enterPublication_relation_expr(this)}exitRule(e){e.exitPublication_relation_expr&&e.exitPublication_relation_expr(this)}accept(e){return e.visitPublication_relation_expr?e.visitPublication_relation_expr(this):e.visitChildren(this)}}class rs extends R{constructor(e,i){super(e,i)}relation_expr(e){return e===void 0?this.getRuleContexts(ke):this.getRuleContext(e,ke)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_relation_expr_list}enterRule(e){e.enterRelation_expr_list&&e.enterRelation_expr_list(this)}exitRule(e){e.exitRelation_expr_list&&e.exitRelation_expr_list(this)}accept(e){return e.visitRelation_expr_list?e.visitRelation_expr_list(this):e.visitChildren(this)}}class F2 extends R{constructor(e,i){super(e,i)}relation_expr(){return this.getRuleContext(0,ke)}colid(){return this.getRuleContext(0,o)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_relation_expr_opt_alias}enterRule(e){e.enterRelation_expr_opt_alias&&e.enterRelation_expr_opt_alias(this)}exitRule(e){e.exitRelation_expr_opt_alias&&e.exitRelation_expr_opt_alias(this)}accept(e){return e.visitRelation_expr_opt_alias?e.visitRelation_expr_opt_alias(this):e.visitChildren(this)}}class wE extends R{constructor(e,i){super(e,i)}KW_TABLESAMPLE(){return this.getToken(t.KW_TABLESAMPLE,0)}function_name(){return this.getRuleContext(0,Ze)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_tablesample_clause}enterRule(e){e.enterTablesample_clause&&e.enterTablesample_clause(this)}exitRule(e){e.exitTablesample_clause&&e.exitTablesample_clause(this)}accept(e){return e.visitTablesample_clause?e.visitTablesample_clause(this):e.visitChildren(this)}}class bE extends R{constructor(e,i){super(e,i)}func_expr_windowless(){return this.getRuleContext(0,ki)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}rowsfrom_item(e){return e===void 0?this.getRuleContexts(w2):this.getRuleContext(e,w2)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_func_table}enterRule(e){e.enterFunc_table&&e.enterFunc_table(this)}exitRule(e){e.exitFunc_table&&e.exitFunc_table(this)}accept(e){return e.visitFunc_table?e.visitFunc_table(this):e.visitChildren(this)}}class w2 extends R{constructor(e,i){super(e,i)}func_expr_windowless(){return this.getRuleContext(0,ki)}KW_AS(){return this.getToken(t.KW_AS,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}tablefuncelementlist(){return this.getRuleContext(0,js)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_rowsfrom_item}enterRule(e){e.enterRowsfrom_item&&e.enterRowsfrom_item(this)}exitRule(e){e.exitRowsfrom_item&&e.exitRowsfrom_item(this)}accept(e){return e.visitRowsfrom_item?e.visitRowsfrom_item(this):e.visitChildren(this)}}class Xe extends R{constructor(e,i){super(e,i)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}column_expr_noparen(){return this.getRuleContext(0,x1)}get ruleIndex(){return t.RULE_where_clause}enterRule(e){e.enterWhere_clause&&e.enterWhere_clause(this)}exitRule(e){e.exitWhere_clause&&e.exitWhere_clause(this)}accept(e){return e.visitWhere_clause?e.visitWhere_clause(this):e.visitChildren(this)}}class b2 extends R{constructor(e,i){super(e,i)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_OF(){return this.getToken(t.KW_OF,0)}colid(){return this.getRuleContext(0,o)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return t.RULE_where_or_current_clause}enterRule(e){e.enterWhere_or_current_clause&&e.enterWhere_or_current_clause(this)}exitRule(e){e.exitWhere_or_current_clause&&e.exitWhere_or_current_clause(this)}accept(e){return e.visitWhere_or_current_clause?e.visitWhere_or_current_clause(this):e.visitChildren(this)}}class js extends R{constructor(e,i){super(e,i)}tablefuncelement(e){return e===void 0?this.getRuleContexts(zs):this.getRuleContext(e,zs)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tablefuncelementlist}enterRule(e){e.enterTablefuncelementlist&&e.enterTablefuncelementlist(this)}exitRule(e){e.exitTablefuncelementlist&&e.exitTablefuncelementlist(this)}accept(e){return e.visitTablefuncelementlist?e.visitTablefuncelementlist(this):e.visitChildren(this)}}class zs extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}typename(){return this.getRuleContext(0,P)}opt_collate_clause(){return this.getRuleContext(0,ve)}get ruleIndex(){return t.RULE_tablefuncelement}enterRule(e){e.enterTablefuncelement&&e.enterTablefuncelement(this)}exitRule(e){e.exitTablefuncelement&&e.exitTablefuncelement(this)}accept(e){return e.visitTablefuncelement?e.visitTablefuncelement(this):e.visitChildren(this)}}class vE extends R{constructor(e,i){super(e,i)}KW_XMLTABLE(){return this.getToken(t.KW_XMLTABLE,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}primaryExpression(){return this.getRuleContext(0,Ft)}xmlexists_argument(){return this.getRuleContext(0,z2)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}xmltable_column_el(e){return e===void 0?this.getRuleContexts(v2):this.getRuleContext(e,v2)}KW_XMLNAMESPACES(){return this.getToken(t.KW_XMLNAMESPACES,0)}xml_namespace_el(e){return e===void 0?this.getRuleContexts(G2):this.getRuleContext(e,G2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_xmltable}enterRule(e){e.enterXmltable&&e.enterXmltable(this)}exitRule(e){e.exitXmltable&&e.exitXmltable(this)}accept(e){return e.visitXmltable?e.visitXmltable(this):e.visitChildren(this)}}class v2 extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}typename(){return this.getRuleContext(0,P)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}KW_NULL(e){return e===void 0?this.getTokens(t.KW_NULL):this.getToken(t.KW_NULL,e)}KW_DEFAULT(e){return e===void 0?this.getTokens(t.KW_DEFAULT):this.getToken(t.KW_DEFAULT,e)}identifier(e){return e===void 0?this.getRuleContexts(wt):this.getRuleContext(e,wt)}KW_NOT(e){return e===void 0?this.getTokens(t.KW_NOT):this.getToken(t.KW_NOT,e)}get ruleIndex(){return t.RULE_xmltable_column_el}enterRule(e){e.enterXmltable_column_el&&e.enterXmltable_column_el(this)}exitRule(e){e.exitXmltable_column_el&&e.exitXmltable_column_el(this)}accept(e){return e.visitXmltable_column_el?e.visitXmltable_column_el(this):e.visitChildren(this)}}class G2 extends R{constructor(e,i){super(e,i)}primaryExpression(){return this.getRuleContext(0,Ft)}KW_AS(){return this.getToken(t.KW_AS,0)}collabel(){return this.getRuleContext(0,It)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_xml_namespace_el}enterRule(e){e.enterXml_namespace_el&&e.enterXml_namespace_el(this)}exitRule(e){e.exitXml_namespace_el&&e.exitXml_namespace_el(this)}accept(e){return e.visitXml_namespace_el?e.visitXml_namespace_el(this):e.visitChildren(this)}}class P extends R{constructor(e,i){super(e,i)}simpletypename(){return this.getRuleContext(0,$s)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_SETOF(){return this.getToken(t.KW_SETOF,0)}OPEN_BRACKET(e){return e===void 0?this.getTokens(t.OPEN_BRACKET):this.getToken(t.OPEN_BRACKET,e)}Integral(e){return e===void 0?this.getTokens(t.Integral):this.getToken(t.Integral,e)}CLOSE_BRACKET(e){return e===void 0?this.getTokens(t.CLOSE_BRACKET):this.getToken(t.CLOSE_BRACKET,e)}qualified_name(){return this.getRuleContext(0,S)}PERCENT(){return this.getToken(t.PERCENT,0)}KW_ROWTYPE(){return this.getToken(t.KW_ROWTYPE,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}get ruleIndex(){return t.RULE_typename}enterRule(e){e.enterTypename&&e.enterTypename(this)}exitRule(e){e.exitTypename&&e.exitTypename(this)}accept(e){return e.visitTypename?e.visitTypename(this):e.visitChildren(this)}}class $s extends R{constructor(e,i){super(e,i)}type_function_name(){return this.getRuleContext(0,re)}attrs(){return this.getRuleContext(0,Oi)}execute_param_clause(){return this.getRuleContext(0,yt)}consttypename(){return this.getRuleContext(0,B2)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}opt_float(){return this.getRuleContext(0,Qe)}opt_interval(){return this.getRuleContext(0,Js)}get ruleIndex(){return t.RULE_simpletypename}enterRule(e){e.enterSimpletypename&&e.enterSimpletypename(this)}exitRule(e){e.exitSimpletypename&&e.exitSimpletypename(this)}accept(e){return e.visitSimpletypename?e.visitSimpletypename(this):e.visitChildren(this)}}class B2 extends R{constructor(e,i){super(e,i)}numeric(){return this.getRuleContext(0,V2)}bit(){return this.getRuleContext(0,Y2)}character(){return this.getRuleContext(0,X2)}constdatetime(){return this.getRuleContext(0,GE)}get ruleIndex(){return t.RULE_consttypename}enterRule(e){e.enterConsttypename&&e.enterConsttypename(this)}exitRule(e){e.exitConsttypename&&e.exitConsttypename(this)}accept(e){return e.visitConsttypename?e.visitConsttypename(this):e.visitChildren(this)}}class V2 extends R{constructor(e,i){super(e,i)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_SMALLINT(){return this.getToken(t.KW_SMALLINT,0)}KW_BIGINT(){return this.getToken(t.KW_BIGINT,0)}KW_REAL(){return this.getToken(t.KW_REAL,0)}KW_FLOAT(){return this.getToken(t.KW_FLOAT,0)}opt_float(){return this.getRuleContext(0,Qe)}KW_DOUBLE(){return this.getToken(t.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(t.KW_PRECISION,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}KW_NUMERIC(){return this.getToken(t.KW_NUMERIC,0)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}get ruleIndex(){return t.RULE_numeric}enterRule(e){e.enterNumeric&&e.enterNumeric(this)}exitRule(e){e.exitNumeric&&e.exitNumeric(this)}accept(e){return e.visitNumeric?e.visitNumeric(this):e.visitChildren(this)}}class Qe extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}Integral(){return this.getToken(t.Integral,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_opt_float}enterRule(e){e.enterOpt_float&&e.enterOpt_float(this)}exitRule(e){e.exitOpt_float&&e.exitOpt_float(this)}accept(e){return e.visitOpt_float?e.visitOpt_float(this):e.visitChildren(this)}}class Y2 extends R{constructor(e,i){super(e,i)}KW_BIT(){return this.getToken(t.KW_BIT,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}execute_param_clause(){return this.getRuleContext(0,yt)}get ruleIndex(){return t.RULE_bit}enterRule(e){e.enterBit&&e.enterBit(this)}exitRule(e){e.exitBit&&e.exitBit(this)}accept(e){return e.visitBit?e.visitBit(this):e.visitChildren(this)}}class X2 extends R{constructor(e,i){super(e,i)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_CHARACTER(){return this.getToken(t.KW_CHARACTER,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}opt_float(){return this.getRuleContext(0,Qe)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}get ruleIndex(){return t.RULE_character}enterRule(e){e.enterCharacter&&e.enterCharacter(this)}exitRule(e){e.exitCharacter&&e.exitCharacter(this)}accept(e){return e.visitCharacter?e.visitCharacter(this):e.visitChildren(this)}}class GE extends R{constructor(e,i){super(e,i)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_TIME(e){return e===void 0?this.getTokens(t.KW_TIME):this.getToken(t.KW_TIME,e)}opt_float(){return this.getRuleContext(0,Qe)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}get ruleIndex(){return t.RULE_constdatetime}enterRule(e){e.enterConstdatetime&&e.enterConstdatetime(this)}exitRule(e){e.exitConstdatetime&&e.exitConstdatetime(this)}accept(e){return e.visitConstdatetime?e.visitConstdatetime(this):e.visitChildren(this)}}class Js extends R{constructor(e,i){super(e,i)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}interval_second(){return this.getRuleContext(0,BE)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}get ruleIndex(){return t.RULE_opt_interval}enterRule(e){e.enterOpt_interval&&e.enterOpt_interval(this)}exitRule(e){e.exitOpt_interval&&e.exitOpt_interval(this)}accept(e){return e.visitOpt_interval?e.visitOpt_interval(this):e.visitChildren(this)}}class BE extends R{constructor(e,i){super(e,i)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}opt_float(){return this.getRuleContext(0,Qe)}get ruleIndex(){return t.RULE_interval_second}enterRule(e){e.enterInterval_second&&e.enterInterval_second(this)}exitRule(e){e.exitInterval_second&&e.exitInterval_second(this)}accept(e){return e.visitInterval_second?e.visitInterval_second(this):e.visitChildren(this)}}class Q2 extends R{constructor(e,i){super(e,i)}LT(){return this.getToken(t.LT,0)}GT(){return this.getToken(t.GT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}LESS_EQUALS(){return this.getToken(t.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(t.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(t.NOT_EQUALS,0)}get ruleIndex(){return t.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}}class y extends R{constructor(e,i){super(e,i)}booleanExpression(){return this.getRuleContext(0,De)}get ruleIndex(){return t.RULE_expression}enterRule(e){e.enterExpression&&e.enterExpression(this)}exitRule(e){e.exitExpression&&e.exitExpression(this)}accept(e){return e.visitExpression?e.visitExpression(this):e.visitChildren(this)}}class De extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_booleanExpression}copyFrom(e){super.copyFrom(e)}}class L8 extends De{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}KW_NOT(){return this.getToken(t.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,De)}enterRule(e){e.enterLogicalNot&&e.enterLogicalNot(this)}exitRule(e){e.exitLogicalNot&&e.exitLogicalNot(this)}accept(e){return e.visitLogicalNot?e.visitLogicalNot(this):e.visitChildren(this)}}class O8 extends De{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}valueExpression(){return this.getRuleContext(0,ut)}predicate(){return this.getRuleContext(0,Me)}enterRule(e){e.enterPredicated&&e.enterPredicated(this)}exitRule(e){e.exitPredicated&&e.exitPredicated(this)}accept(e){return e.visitPredicated?e.visitPredicated(this):e.visitChildren(this)}}class VE extends De{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}booleanExpression(e){return e===void 0?this.getRuleContexts(De):this.getRuleContext(e,De)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_OR(){return this.getToken(t.KW_OR,0)}enterRule(e){e.enterLogicalBinary&&e.enterLogicalBinary(this)}exitRule(e){e.exitLogicalBinary&&e.exitLogicalBinary(this)}accept(e){return e.visitLogicalBinary?e.visitLogicalBinary(this):e.visitChildren(this)}}class Me extends R{constructor(e,i,n){super(e,i),this.value=n}get ruleIndex(){return t.RULE_predicate}copyFrom(e){super.copyFrom(e),this.value=e.value}}class d8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}comparisonOperator(){return this.getRuleContext(0,Q2)}valueExpression(){return this.getRuleContext(0,ut)}enterRule(e){e.enterComparison&&e.enterComparison(this)}exitRule(e){e.exitComparison&&e.exitComparison(this)}accept(e){return e.visitComparison?e.visitComparison(this):e.visitChildren(this)}}class m8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}valueExpression(e){return e===void 0?this.getRuleContexts(ut):this.getRuleContext(e,ut)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_ILIKE(){return this.getToken(t.KW_ILIKE,0)}KW_SIMILAR(){return this.getToken(t.KW_SIMILAR,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}KW_SYMMETRIC(){return this.getToken(t.KW_SYMMETRIC,0)}enterRule(e){e.enterLike&&e.enterLike(this)}exitRule(e){e.exitLike&&e.exitLike(this)}accept(e){return e.visitLike?e.visitLike(this):e.visitChildren(this)}}class o8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}KW_IN(){return this.getToken(t.KW_IN,0)}select_with_parens(){return this.getRuleContext(0,Ne)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterInSubquery&&e.enterInSubquery(this)}exitRule(e){e.exitInSubquery&&e.exitInSubquery(this)}accept(e){return e.visitInSubquery?e.visitInSubquery(this):e.visitChildren(this)}}class p8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,ut)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterDistinctFrom&&e.enterDistinctFrom(this)}exitRule(e){e.exitDistinctFrom&&e.exitDistinctFrom(this)}accept(e){return e.visitDistinctFrom?e.visitDistinctFrom(this):e.visitChildren(this)}}class f8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}KW_IN(){return this.getToken(t.KW_IN,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}enterRule(e){e.enterInList&&e.enterInList(this)}exitRule(e){e.exitInList&&e.exitInList(this)}accept(e){return e.visitInList?e.visitInList(this):e.visitChildren(this)}}class x8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterNullPredicate&&e.enterNullPredicate(this)}exitRule(e){e.exitNullPredicate&&e.exitNullPredicate(this)}accept(e){return e.visitNullPredicate?e.visitNullPredicate(this):e.visitChildren(this)}}class U8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_AND(){return this.getToken(t.KW_AND,0)}valueExpression(e){return e===void 0?this.getRuleContexts(ut):this.getRuleContext(e,ut)}KW_NOT(){return this.getToken(t.KW_NOT,0)}enterRule(e){e.enterBetween&&e.enterBetween(this)}exitRule(e){e.exitBetween&&e.exitBetween(this)}accept(e){return e.visitBetween?e.visitBetween(this):e.visitChildren(this)}}class l8 extends Me{constructor(e){super(e.parent,e.invokingState,e.value),super.copyFrom(e)}comparisonOperator(){return this.getRuleContext(0,Q2)}subquery_Op(){return this.getRuleContext(0,$E)}sub_type(){return this.getRuleContext(0,jE)}select_with_parens(){return this.getRuleContext(0,Ne)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}enterRule(e){e.enterQuantifiedComparison&&e.enterQuantifiedComparison(this)}exitRule(e){e.exitQuantifiedComparison&&e.exitQuantifiedComparison(this)}accept(e){return e.visitQuantifiedComparison?e.visitQuantifiedComparison(this):e.visitChildren(this)}}class ut extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_valueExpression}copyFrom(e){super.copyFrom(e)}}class k8 extends ut{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}primaryExpression(){return this.getRuleContext(0,Ft)}enterRule(e){e.enterValueExpressionDefault&&e.enterValueExpressionDefault(this)}exitRule(e){e.exitValueExpressionDefault&&e.exitValueExpressionDefault(this)}accept(e){return e.visitValueExpressionDefault?e.visitValueExpressionDefault(this):e.visitChildren(this)}}class D8 extends ut{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}CARET(){return this.getToken(t.CARET,0)}valueExpression(e){return e===void 0?this.getRuleContexts(ut):this.getRuleContext(e,ut)}enterRule(e){e.enterConcatenation&&e.enterConcatenation(this)}exitRule(e){e.exitConcatenation&&e.exitConcatenation(this)}accept(e){return e.visitConcatenation?e.visitConcatenation(this):e.visitChildren(this)}}class YE extends ut{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}valueExpression(e){return e===void 0?this.getRuleContexts(ut):this.getRuleContext(e,ut)}STAR(){return this.getToken(t.STAR,0)}SLASH(){return this.getToken(t.SLASH,0)}PERCENT(){return this.getToken(t.PERCENT,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}enterRule(e){e.enterArithmeticBinary&&e.enterArithmeticBinary(this)}exitRule(e){e.exitArithmeticBinary&&e.exitArithmeticBinary(this)}accept(e){return e.visitArithmeticBinary?e.visitArithmeticBinary(this):e.visitChildren(this)}}class M8 extends ut{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}valueExpression(){return this.getRuleContext(0,ut)}MINUS(){return this.getToken(t.MINUS,0)}PLUS(){return this.getToken(t.PLUS,0)}enterRule(e){e.enterArithmeticUnary&&e.enterArithmeticUnary(this)}exitRule(e){e.exitArithmeticUnary&&e.exitArithmeticUnary(this)}accept(e){return e.visitArithmeticUnary?e.visitArithmeticUnary(this):e.visitChildren(this)}}class H8 extends ut{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}valueExpression(){return this.getRuleContext(0,ut)}KW_AT(){return this.getToken(t.KW_AT,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}expression(){return this.getRuleContext(0,y)}enterRule(e){e.enterAtTimeZone&&e.enterAtTimeZone(this)}exitRule(e){e.exitAtTimeZone&&e.exitAtTimeZone(this)}accept(e){return e.visitAtTimeZone?e.visitAtTimeZone(this):e.visitChildren(this)}}class Ft extends R{constructor(e,i){super(e,i)}select_with_parens(){return this.getRuleContext(0,Ne)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}array_expr(){return this.getRuleContext(0,Mi)}PARAM(){return this.getToken(t.PARAM,0)}opt_indirection(){return this.getRuleContext(0,Ps)}KW_GROUPING(){return this.getToken(t.KW_GROUPING,0)}execute_param_clause(){return this.getRuleContext(0,yt)}Integral(){return this.getToken(t.Integral,0)}Numeric(){return this.getToken(t.Numeric,0)}BinaryStringConstant(){return this.getToken(t.BinaryStringConstant,0)}HexadecimalStringConstant(){return this.getToken(t.HexadecimalStringConstant,0)}function_name(){return this.getRuleContext(0,Ze)}sconst(){return this.getRuleContext(0,Z)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}func_arg_list(){return this.getRuleContext(0,i3)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}sort_clause(){return this.getRuleContext(0,f1)}consttypename(){return this.getRuleContext(0,B2)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}opt_float(){return this.getRuleContext(0,Qe)}opt_interval(){return this.getRuleContext(0,Js)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}PLSQLVARIABLENAME(){return this.getToken(t.PLSQLVARIABLENAME,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}KW_CASE(){return this.getToken(t.KW_CASE,0)}KW_END(){return this.getToken(t.KW_END,0)}when_clause(e){return e===void 0?this.getRuleContexts(n3):this.getRuleContext(e,n3)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}func_expr(){return this.getRuleContext(0,XE)}indirection(){return this.getRuleContext(0,Z0)}explicit_row(){return this.getRuleContext(0,q2)}COMMA(){return this.getToken(t.COMMA,0)}expr_list(){return this.getRuleContext(0,Ct)}row(e){return e===void 0?this.getRuleContexts(g2):this.getRuleContext(e,g2)}KW_OVERLAPS(){return this.getToken(t.KW_OVERLAPS,0)}qualified_name(){return this.getRuleContext(0,S)}primaryExpression(e){return e===void 0?this.getRuleContexts(Ft):this.getRuleContext(e,Ft)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}qual_op(){return this.getRuleContext(0,zE)}mathop(){return this.getRuleContext(0,t3)}TYPECAST(){return this.getToken(t.TYPECAST,0)}typename(){return this.getRuleContext(0,P)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_OF(){return this.getToken(t.KW_OF,0)}prep_type_clause(){return this.getRuleContext(0,fi)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_primaryExpression}enterRule(e){e.enterPrimaryExpression&&e.enterPrimaryExpression(this)}exitRule(e){e.exitPrimaryExpression&&e.exitPrimaryExpression(this)}accept(e){return e.visitPrimaryExpression?e.visitPrimaryExpression(this):e.visitChildren(this)}}class Ss extends R{constructor(e,i){super(e,i)}function_name(){return this.getRuleContext(0,Ze)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}func_arg_list(){return this.getRuleContext(0,i3)}KW_VARIADIC(){return this.getToken(t.KW_VARIADIC,0)}func_arg_expr(){return this.getRuleContext(0,qs)}STAR(){return this.getToken(t.STAR,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}COMMA(){return this.getToken(t.COMMA,0)}sort_clause(){return this.getRuleContext(0,f1)}get ruleIndex(){return t.RULE_func_application}enterRule(e){e.enterFunc_application&&e.enterFunc_application(this)}exitRule(e){e.exitFunc_application&&e.exitFunc_application(this)}accept(e){return e.visitFunc_application?e.visitFunc_application(this):e.visitChildren(this)}}class XE extends R{constructor(e,i){super(e,i)}func_application(){return this.getRuleContext(0,Ss)}KW_WITHIN(){return this.getToken(t.KW_WITHIN,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}sort_clause(){return this.getRuleContext(0,f1)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}expression(){return this.getRuleContext(0,y)}KW_OVER(){return this.getToken(t.KW_OVER,0)}window_specification(){return this.getRuleContext(0,gs)}colid(){return this.getRuleContext(0,o)}func_expr_common_subexpr(){return this.getRuleContext(0,Z2)}get ruleIndex(){return t.RULE_func_expr}enterRule(e){e.enterFunc_expr&&e.enterFunc_expr(this)}exitRule(e){e.exitFunc_expr&&e.exitFunc_expr(this)}accept(e){return e.visitFunc_expr?e.visitFunc_expr(this):e.visitChildren(this)}}class ki extends R{constructor(e,i){super(e,i)}func_application(){return this.getRuleContext(0,Ss)}func_expr_common_subexpr(){return this.getRuleContext(0,Z2)}get ruleIndex(){return t.RULE_func_expr_windowless}enterRule(e){e.enterFunc_expr_windowless&&e.enterFunc_expr_windowless(this)}exitRule(e){e.exitFunc_expr_windowless&&e.exitFunc_expr_windowless(this)}accept(e){return e.visitFunc_expr_windowless?e.visitFunc_expr_windowless(this):e.visitChildren(this)}}class Z2 extends R{constructor(e,i){super(e,i)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}opt_float(){return this.getRuleContext(0,Qe)}KW_CURRENT_ROLE(){return this.getToken(t.KW_CURRENT_ROLE,0)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_SESSION_USER(){return this.getToken(t.KW_SESSION_USER,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_CURRENT_CATALOG(){return this.getToken(t.KW_CURRENT_CATALOG,0)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}KW_AS(){return this.getToken(t.KW_AS,0)}typename(){return this.getRuleContext(0,P)}KW_CAST(){return this.getToken(t.KW_CAST,0)}KW_TREAT(){return this.getToken(t.KW_TREAT,0)}KW_EXTRACT(){return this.getToken(t.KW_EXTRACT,0)}extract_arg(){return this.getRuleContext(0,JE)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_NORMALIZE(){return this.getToken(t.KW_NORMALIZE,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}unicode_normal_form(){return this.getRuleContext(0,SE)}KW_OVERLAY(){return this.getToken(t.KW_OVERLAY,0)}KW_PLACING(){return this.getToken(t.KW_PLACING,0)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}primaryExpression(e){return e===void 0?this.getRuleContexts(Ft):this.getRuleContext(e,Ft)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}substr_list(){return this.getRuleContext(0,gE)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}expr_list(){return this.getRuleContext(0,Ct)}KW_BOTH(){return this.getToken(t.KW_BOTH,0)}KW_LEADING(){return this.getToken(t.KW_LEADING,0)}KW_TRAILING(){return this.getToken(t.KW_TRAILING,0)}KW_NULLIF(){return this.getToken(t.KW_NULLIF,0)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_GREATEST(){return this.getToken(t.KW_GREATEST,0)}KW_LEAST(){return this.getToken(t.KW_LEAST,0)}KW_XMLCONCAT(){return this.getToken(t.KW_XMLCONCAT,0)}KW_XMLELEMENT(){return this.getToken(t.KW_XMLELEMENT,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}collabel(){return this.getRuleContext(0,It)}KW_XMLATTRIBUTES(){return this.getToken(t.KW_XMLATTRIBUTES,0)}xml_attribute_list(){return this.getRuleContext(0,QE)}KW_XMLEXISTS(){return this.getToken(t.KW_XMLEXISTS,0)}xmlexists_argument(){return this.getRuleContext(0,z2)}KW_XMLFOREST(){return this.getToken(t.KW_XMLFOREST,0)}KW_XMLPARSE(){return this.getToken(t.KW_XMLPARSE,0)}document_or_content(){return this.getRuleContext(0,j2)}KW_WHITESPACE(){return this.getToken(t.KW_WHITESPACE,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_STRIP(){return this.getToken(t.KW_STRIP,0)}KW_XMLPI(){return this.getToken(t.KW_XMLPI,0)}KW_XMLROOT(){return this.getToken(t.KW_XMLROOT,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}KW_STANDALONE(){return this.getToken(t.KW_STANDALONE,0)}KW_NO(e){return e===void 0?this.getTokens(t.KW_NO):this.getToken(t.KW_NO,e)}KW_VALUE(e){return e===void 0?this.getTokens(t.KW_VALUE):this.getToken(t.KW_VALUE,e)}KW_YES(){return this.getToken(t.KW_YES,0)}KW_XMLSERIALIZE(){return this.getToken(t.KW_XMLSERIALIZE,0)}simpletypename(){return this.getRuleContext(0,$s)}get ruleIndex(){return t.RULE_func_expr_common_subexpr}enterRule(e){e.enterFunc_expr_common_subexpr&&e.enterFunc_expr_common_subexpr(this)}exitRule(e){e.exitFunc_expr_common_subexpr&&e.exitFunc_expr_common_subexpr(this)}accept(e){return e.visitFunc_expr_common_subexpr?e.visitFunc_expr_common_subexpr(this):e.visitChildren(this)}}class QE extends R{constructor(e,i){super(e,i)}xml_attribute_el(e){return e===void 0?this.getRuleContexts(r2):this.getRuleContext(e,r2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_xml_attribute_list}enterRule(e){e.enterXml_attribute_list&&e.enterXml_attribute_list(this)}exitRule(e){e.exitXml_attribute_list&&e.exitXml_attribute_list(this)}accept(e){return e.visitXml_attribute_list?e.visitXml_attribute_list(this):e.visitChildren(this)}}class r2 extends R{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,y)}KW_AS(){return this.getToken(t.KW_AS,0)}collabel(){return this.getRuleContext(0,It)}get ruleIndex(){return t.RULE_xml_attribute_el}enterRule(e){e.enterXml_attribute_el&&e.enterXml_attribute_el(this)}exitRule(e){e.exitXml_attribute_el&&e.exitXml_attribute_el(this)}accept(e){return e.visitXml_attribute_el?e.visitXml_attribute_el(this):e.visitChildren(this)}}class j2 extends R{constructor(e,i){super(e,i)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_CONTENT(){return this.getToken(t.KW_CONTENT,0)}get ruleIndex(){return t.RULE_document_or_content}enterRule(e){e.enterDocument_or_content&&e.enterDocument_or_content(this)}exitRule(e){e.exitDocument_or_content&&e.exitDocument_or_content(this)}accept(e){return e.visitDocument_or_content?e.visitDocument_or_content(this):e.visitChildren(this)}}class z2 extends R{constructor(e,i){super(e,i)}KW_PASSING(){return this.getToken(t.KW_PASSING,0)}primaryExpression(){return this.getRuleContext(0,Ft)}xml_passing_mech(e){return e===void 0?this.getRuleContexts($2):this.getRuleContext(e,$2)}get ruleIndex(){return t.RULE_xmlexists_argument}enterRule(e){e.enterXmlexists_argument&&e.enterXmlexists_argument(this)}exitRule(e){e.exitXmlexists_argument&&e.exitXmlexists_argument(this)}accept(e){return e.visitXmlexists_argument?e.visitXmlexists_argument(this):e.visitChildren(this)}}class $2 extends R{constructor(e,i){super(e,i)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_REF(){return this.getToken(t.KW_REF,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}get ruleIndex(){return t.RULE_xml_passing_mech}enterRule(e){e.enterXml_passing_mech&&e.enterXml_passing_mech(this)}exitRule(e){e.exitXml_passing_mech&&e.exitXml_passing_mech(this)}accept(e){return e.visitXml_passing_mech?e.visitXml_passing_mech(this):e.visitChildren(this)}}class ZE extends R{constructor(e,i){super(e,i)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}window_definition(e){return e===void 0?this.getRuleContexts(J2):this.getRuleContext(e,J2)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_window_clause}enterRule(e){e.enterWindow_clause&&e.enterWindow_clause(this)}exitRule(e){e.exitWindow_clause&&e.exitWindow_clause(this)}accept(e){return e.visitWindow_clause?e.visitWindow_clause(this):e.visitChildren(this)}}class J2 extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}KW_AS(){return this.getToken(t.KW_AS,0)}window_specification(){return this.getRuleContext(0,gs)}get ruleIndex(){return t.RULE_window_definition}enterRule(e){e.enterWindow_definition&&e.enterWindow_definition(this)}exitRule(e){e.exitWindow_definition&&e.exitWindow_definition(this)}accept(e){return e.visitWindow_definition?e.visitWindow_definition(this):e.visitChildren(this)}}class y8 extends R{constructor(e,i){super(e,i)}KW_OVER(){return this.getToken(t.KW_OVER,0)}window_specification(){return this.getRuleContext(0,gs)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_over_clause}enterRule(e){e.enterOver_clause&&e.enterOver_clause(this)}exitRule(e){e.exitOver_clause&&e.exitOver_clause(this)}accept(e){return e.visitOver_clause?e.visitOver_clause(this):e.visitChildren(this)}}class gs extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}colid(){return this.getRuleContext(0,o)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_BY(){return this.getToken(t.KW_BY,0)}expr_list(){return this.getRuleContext(0,Ct)}sort_clause(){return this.getRuleContext(0,f1)}opt_frame_clause(){return this.getRuleContext(0,rE)}get ruleIndex(){return t.RULE_window_specification}enterRule(e){e.enterWindow_specification&&e.enterWindow_specification(this)}exitRule(e){e.exitWindow_specification&&e.exitWindow_specification(this)}accept(e){return e.visitWindow_specification?e.visitWindow_specification(this):e.visitChildren(this)}}class rE extends R{constructor(e,i){super(e,i)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_GROUPS(){return this.getToken(t.KW_GROUPS,0)}frame_bound(e){return e===void 0?this.getRuleContexts(S2):this.getRuleContext(e,S2)}KW_EXCLUDE(){return this.getToken(t.KW_EXCLUDE,0)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_TIES(){return this.getToken(t.KW_TIES,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_OTHERS(){return this.getToken(t.KW_OTHERS,0)}get ruleIndex(){return t.RULE_opt_frame_clause}enterRule(e){e.enterOpt_frame_clause&&e.enterOpt_frame_clause(this)}exitRule(e){e.exitOpt_frame_clause&&e.exitOpt_frame_clause(this)}accept(e){return e.visitOpt_frame_clause?e.visitOpt_frame_clause(this):e.visitChildren(this)}}class S2 extends R{constructor(e,i){super(e,i)}KW_PRECEDING(){return this.getToken(t.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(t.KW_FOLLOWING,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}expression(){return this.getRuleContext(0,y)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}get ruleIndex(){return t.RULE_frame_bound}enterRule(e){e.enterFrame_bound&&e.enterFrame_bound(this)}exitRule(e){e.exitFrame_bound&&e.exitFrame_bound(this)}accept(e){return e.visitFrame_bound?e.visitFrame_bound(this):e.visitChildren(this)}}class g2 extends R{constructor(e,i){super(e,i)}explicit_row(){return this.getRuleContext(0,q2)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expr_list(){return this.getRuleContext(0,Ct)}COMMA(){return this.getToken(t.COMMA,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_row}enterRule(e){e.enterRow&&e.enterRow(this)}exitRule(e){e.exitRow&&e.exitRow(this)}accept(e){return e.visitRow?e.visitRow(this):e.visitChildren(this)}}class q2 extends R{constructor(e,i){super(e,i)}KW_ROW(){return this.getToken(t.KW_ROW,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}expr_list(){return this.getRuleContext(0,Ct)}get ruleIndex(){return t.RULE_explicit_row}enterRule(e){e.enterExplicit_row&&e.enterExplicit_row(this)}exitRule(e){e.exitExplicit_row&&e.exitExplicit_row(this)}accept(e){return e.visitExplicit_row?e.visitExplicit_row(this):e.visitChildren(this)}}class jE extends R{constructor(e,i){super(e,i)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_sub_type}enterRule(e){e.enterSub_type&&e.enterSub_type(this)}exitRule(e){e.exitSub_type&&e.exitSub_type(this)}accept(e){return e.visitSub_type?e.visitSub_type(this):e.visitChildren(this)}}class P2 extends R{constructor(e,i){super(e,i)}Operator(){return this.getToken(t.Operator,0)}mathop(){return this.getRuleContext(0,t3)}get ruleIndex(){return t.RULE_all_op}enterRule(e){e.enterAll_op&&e.enterAll_op(this)}exitRule(e){e.exitAll_op&&e.exitAll_op(this)}accept(e){return e.visitAll_op?e.visitAll_op(this):e.visitChildren(this)}}class t3 extends R{constructor(e,i){super(e,i)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}STAR(){return this.getToken(t.STAR,0)}SLASH(){return this.getToken(t.SLASH,0)}PERCENT(){return this.getToken(t.PERCENT,0)}CARET(){return this.getToken(t.CARET,0)}LT(){return this.getToken(t.LT,0)}GT(){return this.getToken(t.GT,0)}EQUAL(){return this.getToken(t.EQUAL,0)}LESS_EQUALS(){return this.getToken(t.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(t.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(t.NOT_EQUALS,0)}get ruleIndex(){return t.RULE_mathop}enterRule(e){e.enterMathop&&e.enterMathop(this)}exitRule(e){e.exitMathop&&e.exitMathop(this)}accept(e){return e.visitMathop?e.visitMathop(this):e.visitChildren(this)}}class zE extends R{constructor(e,i){super(e,i)}Operator(){return this.getToken(t.Operator,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}any_operator(){return this.getRuleContext(0,Y0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_qual_op}enterRule(e){e.enterQual_op&&e.enterQual_op(this)}exitRule(e){e.exitQual_op&&e.exitQual_op(this)}accept(e){return e.visitQual_op?e.visitQual_op(this):e.visitChildren(this)}}class Di extends R{constructor(e,i){super(e,i)}all_op(){return this.getRuleContext(0,P2)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}any_operator(){return this.getRuleContext(0,Y0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}get ruleIndex(){return t.RULE_qual_all_op}enterRule(e){e.enterQual_all_op&&e.enterQual_all_op(this)}exitRule(e){e.exitQual_all_op&&e.exitQual_all_op(this)}accept(e){return e.visitQual_all_op?e.visitQual_all_op(this):e.visitChildren(this)}}class $E extends R{constructor(e,i){super(e,i)}qual_all_op(){return this.getRuleContext(0,Di)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_ILIKE(){return this.getToken(t.KW_ILIKE,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}get ruleIndex(){return t.RULE_subquery_Op}enterRule(e){e.enterSubquery_Op&&e.enterSubquery_Op(this)}exitRule(e){e.exitSubquery_Op&&e.exitSubquery_Op(this)}accept(e){return e.visitSubquery_Op?e.visitSubquery_Op(this):e.visitChildren(this)}}class Ct extends R{constructor(e,i){super(e,i)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_expr_list}enterRule(e){e.enterExpr_list&&e.enterExpr_list(this)}exitRule(e){e.exitExpr_list&&e.exitExpr_list(this)}accept(e){return e.visitExpr_list?e.visitExpr_list(this):e.visitChildren(this)}}class e3 extends R{constructor(e,i){super(e,i)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}expression(){return this.getRuleContext(0,y)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}column_name(){return this.getRuleContext(0,Rt)}get ruleIndex(){return t.RULE_column_expr}enterRule(e){e.enterColumn_expr&&e.enterColumn_expr(this)}exitRule(e){e.exitColumn_expr&&e.exitColumn_expr(this)}accept(e){return e.visitColumn_expr?e.visitColumn_expr(this):e.visitChildren(this)}}class x1 extends R{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,y)}column_name(){return this.getRuleContext(0,Rt)}get ruleIndex(){return t.RULE_column_expr_noparen}enterRule(e){e.enterColumn_expr_noparen&&e.enterColumn_expr_noparen(this)}exitRule(e){e.exitColumn_expr_noparen&&e.exitColumn_expr_noparen(this)}accept(e){return e.visitColumn_expr_noparen?e.visitColumn_expr_noparen(this):e.visitChildren(this)}}class i3 extends R{constructor(e,i){super(e,i)}func_arg_expr(e){return e===void 0?this.getRuleContexts(qs):this.getRuleContext(e,qs)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_func_arg_list}enterRule(e){e.enterFunc_arg_list&&e.enterFunc_arg_list(this)}exitRule(e){e.exitFunc_arg_list&&e.exitFunc_arg_list(this)}accept(e){return e.visitFunc_arg_list?e.visitFunc_arg_list(this):e.visitChildren(this)}}class qs extends R{constructor(e,i){super(e,i)}column_name(){return this.getRuleContext(0,Rt)}expression(){return this.getRuleContext(0,y)}type_function_name(){return this.getRuleContext(0,re)}COLON_EQUALS(){return this.getToken(t.COLON_EQUALS,0)}EQUALS_GREATER(){return this.getToken(t.EQUALS_GREATER,0)}get ruleIndex(){return t.RULE_func_arg_expr}enterRule(e){e.enterFunc_arg_expr&&e.enterFunc_arg_expr(this)}exitRule(e){e.exitFunc_arg_expr&&e.exitFunc_arg_expr(this)}accept(e){return e.visitFunc_arg_expr?e.visitFunc_arg_expr(this):e.visitChildren(this)}}class Mi extends R{constructor(e,i){super(e,i)}OPEN_BRACKET(){return this.getToken(t.OPEN_BRACKET,0)}CLOSE_BRACKET(){return this.getToken(t.CLOSE_BRACKET,0)}expr_list(){return this.getRuleContext(0,Ct)}array_expr(e){return e===void 0?this.getRuleContexts(Mi):this.getRuleContext(e,Mi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_array_expr}enterRule(e){e.enterArray_expr&&e.enterArray_expr(this)}exitRule(e){e.exitArray_expr&&e.exitArray_expr(this)}accept(e){return e.visitArray_expr?e.visitArray_expr(this):e.visitChildren(this)}}class JE extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_extract_arg}enterRule(e){e.enterExtract_arg&&e.enterExtract_arg(this)}exitRule(e){e.exitExtract_arg&&e.exitExtract_arg(this)}accept(e){return e.visitExtract_arg?e.visitExtract_arg(this):e.visitChildren(this)}}class SE extends R{constructor(e,i){super(e,i)}KW_NFC(){return this.getToken(t.KW_NFC,0)}KW_NFD(){return this.getToken(t.KW_NFD,0)}KW_NFKC(){return this.getToken(t.KW_NFKC,0)}KW_NFKD(){return this.getToken(t.KW_NFKD,0)}get ruleIndex(){return t.RULE_unicode_normal_form}enterRule(e){e.enterUnicode_normal_form&&e.enterUnicode_normal_form(this)}exitRule(e){e.exitUnicode_normal_form&&e.exitUnicode_normal_form(this)}accept(e){return e.visitUnicode_normal_form?e.visitUnicode_normal_form(this):e.visitChildren(this)}}class gE extends R{constructor(e,i){super(e,i)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_SIMILAR(){return this.getToken(t.KW_SIMILAR,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}expr_list(){return this.getRuleContext(0,Ct)}get ruleIndex(){return t.RULE_substr_list}enterRule(e){e.enterSubstr_list&&e.enterSubstr_list(this)}exitRule(e){e.exitSubstr_list&&e.exitSubstr_list(this)}accept(e){return e.visitSubstr_list?e.visitSubstr_list(this):e.visitChildren(this)}}class n3 extends R{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}KW_THEN(){return this.getToken(t.KW_THEN,0)}get ruleIndex(){return t.RULE_when_clause}enterRule(e){e.enterWhen_clause&&e.enterWhen_clause(this)}exitRule(e){e.exitWhen_clause&&e.exitWhen_clause(this)}accept(e){return e.visitWhen_clause?e.visitWhen_clause(this):e.visitChildren(this)}}class Hi extends R{constructor(e,i){super(e,i)}DOT(){return this.getToken(t.DOT,0)}collabel(){return this.getRuleContext(0,It)}STAR(){return this.getToken(t.STAR,0)}OPEN_BRACKET(){return this.getToken(t.OPEN_BRACKET,0)}CLOSE_BRACKET(){return this.getToken(t.CLOSE_BRACKET,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}COLON(){return this.getToken(t.COLON,0)}get ruleIndex(){return t.RULE_indirection_el}enterRule(e){e.enterIndirection_el&&e.enterIndirection_el(this)}exitRule(e){e.exitIndirection_el&&e.exitIndirection_el(this)}accept(e){return e.visitIndirection_el?e.visitIndirection_el(this):e.visitChildren(this)}}class Z0 extends R{constructor(e,i){super(e,i)}indirection_el(e){return e===void 0?this.getRuleContexts(Hi):this.getRuleContext(e,Hi)}get ruleIndex(){return t.RULE_indirection}enterRule(e){e.enterIndirection&&e.enterIndirection(this)}exitRule(e){e.exitIndirection&&e.exitIndirection(this)}accept(e){return e.visitIndirection?e.visitIndirection(this):e.visitChildren(this)}}class Ps extends R{constructor(e,i){super(e,i)}indirection_el(e){return e===void 0?this.getRuleContexts(Hi):this.getRuleContext(e,Hi)}get ruleIndex(){return t.RULE_opt_indirection}enterRule(e){e.enterOpt_indirection&&e.enterOpt_indirection(this)}exitRule(e){e.exitOpt_indirection&&e.exitOpt_indirection(this)}accept(e){return e.visitOpt_indirection?e.visitOpt_indirection(this):e.visitChildren(this)}}class c3 extends R{constructor(e,i){super(e,i)}target_el(e){return e===void 0?this.getRuleContexts(yi):this.getRuleContext(e,yi)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_target_list}enterRule(e){e.enterTarget_list&&e.enterTarget_list(this)}exitRule(e){e.exitTarget_list&&e.exitTarget_list(this)}accept(e){return e.visitTarget_list?e.visitTarget_list(this):e.visitChildren(this)}}class yi extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_target_el}copyFrom(e){super.copyFrom(e)}}class F8 extends yi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}column_expr_noparen(){return this.getRuleContext(0,x1)}KW_AS(){return this.getToken(t.KW_AS,0)}collabel(){return this.getRuleContext(0,It)}identifier(){return this.getRuleContext(0,wt)}enterRule(e){e.enterTarget_label&&e.enterTarget_label(this)}exitRule(e){e.exitTarget_label&&e.exitTarget_label(this)}accept(e){return e.visitTarget_label?e.visitTarget_label(this):e.visitChildren(this)}}class w8 extends yi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}STAR(){return this.getToken(t.STAR,0)}enterRule(e){e.enterTarget_star&&e.enterTarget_star(this)}exitRule(e){e.exitTarget_star&&e.exitTarget_star(this)}accept(e){return e.visitTarget_star?e.visitTarget_star(this):e.visitChildren(this)}}class U1 extends R{constructor(e,i){super(e,i)}qualified_name(e){return e===void 0?this.getRuleContexts(S):this.getRuleContext(e,S)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_qualified_name_list}enterRule(e){e.enterQualified_name_list&&e.enterQualified_name_list(this)}exitRule(e){e.exitQualified_name_list&&e.exitQualified_name_list(this)}accept(e){return e.visitQualified_name_list?e.visitQualified_name_list(this):e.visitChildren(this)}}class s3 extends R{constructor(e,i){super(e,i)}table_name(e){return e===void 0?this.getRuleContexts(ot):this.getRuleContext(e,ot)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_table_name_list}enterRule(e){e.enterTable_name_list&&e.enterTable_name_list(this)}exitRule(e){e.exitTable_name_list&&e.exitTable_name_list(this)}accept(e){return e.visitTable_name_list?e.visitTable_name_list(this):e.visitChildren(this)}}class Fi extends R{constructor(e,i){super(e,i)}schema_name(e){return e===void 0?this.getRuleContexts(Xt):this.getRuleContext(e,Xt)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_schema_name_list}enterRule(e){e.enterSchema_name_list&&e.enterSchema_name_list(this)}exitRule(e){e.exitSchema_name_list&&e.exitSchema_name_list(this)}accept(e){return e.visitSchema_name_list?e.visitSchema_name_list(this):e.visitChildren(this)}}class qE extends R{constructor(e,i){super(e,i)}database_name(e){return e===void 0?this.getRuleContexts(se):this.getRuleContext(e,se)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_database_nameList}enterRule(e){e.enterDatabase_nameList&&e.enterDatabase_nameList(this)}exitRule(e){e.exitDatabase_nameList&&e.exitDatabase_nameList(this)}accept(e){return e.visitDatabase_nameList?e.visitDatabase_nameList(this):e.visitChildren(this)}}class l1 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tablespace_name_create}copyFrom(e){super.copyFrom(e)}}class b8 extends l1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}qualified_name(){return this.getRuleContext(0,S)}enterRule(e){e.enterTablespaceNameCreate&&e.enterTablespaceNameCreate(this)}exitRule(e){e.exitTablespaceNameCreate&&e.exitTablespaceNameCreate(this)}accept(e){return e.visitTablespaceNameCreate?e.visitTablespaceNameCreate(this):e.visitChildren(this)}}class k1 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_tablespace_name}copyFrom(e){super.copyFrom(e)}}class v8 extends k1{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}qualified_name(){return this.getRuleContext(0,S)}enterRule(e){e.enterTablespaceName&&e.enterTablespaceName(this)}exitRule(e){e.exitTablespaceName&&e.exitTablespaceName(this)}accept(e){return e.visitTablespaceName?e.visitTablespaceName(this):e.visitChildren(this)}}class u0 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_table_name_create}copyFrom(e){super.copyFrom(e)}}class G8 extends u0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}qualified_name(){return this.getRuleContext(0,S)}enterRule(e){e.enterTableNameCreate&&e.enterTableNameCreate(this)}exitRule(e){e.exitTableNameCreate&&e.exitTableNameCreate(this)}accept(e){return e.visitTableNameCreate?e.visitTableNameCreate(this):e.visitChildren(this)}}class ot extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_table_name}copyFrom(e){super.copyFrom(e)}}class B8 extends ot{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}qualified_name(){return this.getRuleContext(0,S)}enterRule(e){e.enterTableName&&e.enterTableName(this)}exitRule(e){e.exitTableName&&e.exitTableName(this)}accept(e){return e.visitTableName?e.visitTableName(this):e.visitChildren(this)}}class wi extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_view_name_create}copyFrom(e){super.copyFrom(e)}}class V8 extends wi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}qualified_name(){return this.getRuleContext(0,S)}enterRule(e){e.enterViewNameCreate&&e.enterViewNameCreate(this)}exitRule(e){e.exitViewNameCreate&&e.exitViewNameCreate(this)}accept(e){return e.visitViewNameCreate?e.visitViewNameCreate(this):e.visitChildren(this)}}class Ce extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_view_name}copyFrom(e){super.copyFrom(e)}}class Y8 extends Ce{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}any_name(){return this.getRuleContext(0,B)}enterRule(e){e.enterViewName&&e.enterViewName(this)}exitRule(e){e.exitViewName&&e.exitViewName(this)}accept(e){return e.visitViewName?e.visitViewName(this):e.visitChildren(this)}}class S extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}indirection(){return this.getRuleContext(0,Z0)}get ruleIndex(){return t.RULE_qualified_name}enterRule(e){e.enterQualified_name&&e.enterQualified_name(this)}exitRule(e){e.exitQualified_name&&e.exitQualified_name(this)}accept(e){return e.visitQualified_name?e.visitQualified_name(this):e.visitChildren(this)}}class PE extends R{constructor(e,i){super(e,i)}tablespace_name(e){return e===void 0?this.getRuleContexts(k1):this.getRuleContext(e,k1)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_tablespace_name_list}enterRule(e){e.enterTablespace_name_list&&e.enterTablespace_name_list(this)}exitRule(e){e.exitTablespace_name_list&&e.exitTablespace_name_list(this)}accept(e){return e.visitTablespace_name_list?e.visitTablespace_name_list(this):e.visitChildren(this)}}class r0 extends R{constructor(e,i){super(e,i)}colid(e){return e===void 0?this.getRuleContexts(o):this.getRuleContext(e,o)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_name_list}enterRule(e){e.enterName_list&&e.enterName_list(this)}exitRule(e){e.exitName_list&&e.exitName_list(this)}accept(e){return e.visitName_list?e.visitName_list(this):e.visitChildren(this)}}class th extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_database_name_create}copyFrom(e){super.copyFrom(e)}}class X8 extends th{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}any_name(){return this.getRuleContext(0,B)}enterRule(e){e.enterDatabaseNameCreate&&e.enterDatabaseNameCreate(this)}exitRule(e){e.exitDatabaseNameCreate&&e.exitDatabaseNameCreate(this)}accept(e){return e.visitDatabaseNameCreate?e.visitDatabaseNameCreate(this):e.visitChildren(this)}}class se extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_database_name}copyFrom(e){super.copyFrom(e)}}class Q8 extends se{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}any_name(){return this.getRuleContext(0,B)}enterRule(e){e.enterDatabaseName&&e.enterDatabaseName(this)}exitRule(e){e.exitDatabaseName&&e.exitDatabaseName(this)}accept(e){return e.visitDatabaseName?e.visitDatabaseName(this):e.visitChildren(this)}}class Xt extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_schema_name}copyFrom(e){super.copyFrom(e)}}class Z8 extends Xt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}any_name(){return this.getRuleContext(0,B)}enterRule(e){e.enterSchemaName&&e.enterSchemaName(this)}exitRule(e){e.exitSchemaName&&e.exitSchemaName(this)}accept(e){return e.visitSchemaName?e.visitSchemaName(this):e.visitChildren(this)}}class h3 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_routine_name_create}copyFrom(e){super.copyFrom(e)}}class r8 extends h3{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,o)}enterRule(e){e.enterRoutineNameCreate&&e.enterRoutineNameCreate(this)}exitRule(e){e.exitRoutineNameCreate&&e.exitRoutineNameCreate(this)}accept(e){return e.visitRoutineNameCreate?e.visitRoutineNameCreate(this):e.visitChildren(this)}}class eh extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_routine_name}copyFrom(e){super.copyFrom(e)}}class j8 extends eh{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,o)}enterRule(e){e.enterRoutineName&&e.enterRoutineName(this)}exitRule(e){e.exitRoutineName&&e.exitRoutineName(this)}accept(e){return e.visitRoutineName?e.visitRoutineName(this):e.visitChildren(this)}}class bi extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_procedure_name}copyFrom(e){super.copyFrom(e)}}class tW extends bi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,re)}colid(){return this.getRuleContext(0,o)}indirection(){return this.getRuleContext(0,Z0)}enterRule(e){e.enterProcedureName&&e.enterProcedureName(this)}exitRule(e){e.exitProcedureName&&e.exitProcedureName(this)}accept(e){return e.visitProcedureName?e.visitProcedureName(this):e.visitChildren(this)}}class vi extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_procedure_name_create}copyFrom(e){super.copyFrom(e)}}class eW extends vi{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,re)}colid(){return this.getRuleContext(0,o)}indirection(){return this.getRuleContext(0,Z0)}enterRule(e){e.enterProcedureNameCreate&&e.enterProcedureNameCreate(this)}exitRule(e){e.exitProcedureNameCreate&&e.exitProcedureNameCreate(this)}accept(e){return e.visitProcedureNameCreate?e.visitProcedureNameCreate(this):e.visitChildren(this)}}class Rt extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_column_name}copyFrom(e){super.copyFrom(e)}}class z8 extends Rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}enterRule(e){e.enterColumnNameMatch&&e.enterColumnNameMatch(this)}exitRule(e){e.exitColumnNameMatch&&e.exitColumnNameMatch(this)}accept(e){return e.visitColumnNameMatch?e.visitColumnNameMatch(this):e.visitChildren(this)}}class $8 extends Rt{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,o)}opt_indirection(){return this.getRuleContext(0,Ps)}enterRule(e){e.enterColumnName&&e.enterColumnName(this)}exitRule(e){e.exitColumnName&&e.exitColumnName(this)}accept(e){return e.visitColumnName?e.visitColumnName(this):e.visitChildren(this)}}class j0 extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_column_name_create}copyFrom(e){super.copyFrom(e)}}class J8 extends j0{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}colid(){return this.getRuleContext(0,o)}enterRule(e){e.enterColumnNameCreate&&e.enterColumnNameCreate(this)}exitRule(e){e.exitColumnNameCreate&&e.exitColumnNameCreate(this)}accept(e){return e.visitColumnNameCreate?e.visitColumnNameCreate(this):e.visitChildren(this)}}class ih extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_function_name_create}copyFrom(e){super.copyFrom(e)}}class iW extends ih{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,re)}colid(){return this.getRuleContext(0,o)}indirection(){return this.getRuleContext(0,Z0)}enterRule(e){e.enterFunctionNameCreate&&e.enterFunctionNameCreate(this)}exitRule(e){e.exitFunctionNameCreate&&e.exitFunctionNameCreate(this)}accept(e){return e.visitFunctionNameCreate?e.visitFunctionNameCreate(this):e.visitChildren(this)}}class Ze extends R{constructor(e,i){super(e,i)}get ruleIndex(){return t.RULE_function_name}copyFrom(e){super.copyFrom(e)}}class nW extends Ze{constructor(e){super(e.parent,e.invokingState),super.copyFrom(e)}type_function_name(){return this.getRuleContext(0,re)}colid(){return this.getRuleContext(0,o)}indirection(){return this.getRuleContext(0,Z0)}enterRule(e){e.enterFunctionName&&e.enterFunctionName(this)}exitRule(e){e.exitFunctionName&&e.exitFunctionName(this)}accept(e){return e.visitFunctionName?e.visitFunctionName(this):e.visitChildren(this)}}class Z extends R{constructor(e,i){super(e,i)}anysconst(e){return e===void 0?this.getRuleContexts(nh):this.getRuleContext(e,nh)}KW_UESCAPE(){return this.getToken(t.KW_UESCAPE,0)}get ruleIndex(){return t.RULE_sconst}enterRule(e){e.enterSconst&&e.enterSconst(this)}exitRule(e){e.exitSconst&&e.exitSconst(this)}accept(e){return e.visitSconst?e.visitSconst(this):e.visitChildren(this)}}class nh extends R{constructor(e,i){super(e,i)}StringConstant(){return this.getToken(t.StringConstant,0)}UnicodeEscapeStringConstant(){return this.getToken(t.UnicodeEscapeStringConstant,0)}BeginDollarStringConstant(){return this.getToken(t.BeginDollarStringConstant,0)}EndDollarStringConstant(){return this.getToken(t.EndDollarStringConstant,0)}DollarText(e){return e===void 0?this.getTokens(t.DollarText):this.getToken(t.DollarText,e)}EscapeStringConstant(){return this.getToken(t.EscapeStringConstant,0)}get ruleIndex(){return t.RULE_anysconst}enterRule(e){e.enterAnysconst&&e.enterAnysconst(this)}exitRule(e){e.exitAnysconst&&e.exitAnysconst(this)}accept(e){return e.visitAnysconst?e.visitAnysconst(this):e.visitChildren(this)}}class z0 extends R{constructor(e,i){super(e,i)}Integral(){return this.getToken(t.Integral,0)}PLUS(){return this.getToken(t.PLUS,0)}MINUS(){return this.getToken(t.MINUS,0)}get ruleIndex(){return t.RULE_signediconst}enterRule(e){e.enterSignediconst&&e.enterSignediconst(this)}exitRule(e){e.exitSignediconst&&e.exitSignediconst(this)}accept(e){return e.visitSignediconst?e.visitSignediconst(this):e.visitChildren(this)}}class ct extends R{constructor(e,i){super(e,i)}nonreservedword(){return this.getRuleContext(0,D1)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_CURRENT_ROLE(){return this.getToken(t.KW_CURRENT_ROLE,0)}KW_SESSION_USER(){return this.getToken(t.KW_SESSION_USER,0)}KW_PUBLIC(){return this.getToken(t.KW_PUBLIC,0)}get ruleIndex(){return t.RULE_rolespec}enterRule(e){e.enterRolespec&&e.enterRolespec(this)}exitRule(e){e.exitRolespec&&e.exitRolespec(this)}accept(e){return e.visitRolespec?e.visitRolespec(this):e.visitChildren(this)}}class qt extends R{constructor(e,i){super(e,i)}rolespec(e){return e===void 0?this.getRuleContexts(ct):this.getRuleContext(e,ct)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_role_list}enterRule(e){e.enterRole_list&&e.enterRole_list(this)}exitRule(e){e.exitRole_list&&e.exitRole_list(this)}accept(e){return e.visitRole_list?e.visitRole_list(this):e.visitChildren(this)}}class o extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}col_name_keyword(){return this.getRuleContext(0,ch)}get ruleIndex(){return t.RULE_colid}enterRule(e){e.enterColid&&e.enterColid(this)}exitRule(e){e.exitColid&&e.exitColid(this)}accept(e){return e.visitColid?e.visitColid(this):e.visitChildren(this)}}class re extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}type_func_name_keyword(){return this.getRuleContext(0,R0)}get ruleIndex(){return t.RULE_type_function_name}enterRule(e){e.enterType_function_name&&e.enterType_function_name(this)}exitRule(e){e.exitType_function_name&&e.exitType_function_name(this)}accept(e){return e.visitType_function_name?e.visitType_function_name(this):e.visitChildren(this)}}class D1 extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}col_name_keyword(){return this.getRuleContext(0,ch)}type_func_name_keyword(){return this.getRuleContext(0,R0)}get ruleIndex(){return t.RULE_nonreservedword}enterRule(e){e.enterNonreservedword&&e.enterNonreservedword(this)}exitRule(e){e.exitNonreservedword&&e.exitNonreservedword(this)}accept(e){return e.visitNonreservedword?e.visitNonreservedword(this):e.visitChildren(this)}}class It extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}col_name_keyword(){return this.getRuleContext(0,ch)}type_func_name_keyword(){return this.getRuleContext(0,R0)}reserved_keyword(){return this.getRuleContext(0,sh)}get ruleIndex(){return t.RULE_collabel}enterRule(e){e.enterCollabel&&e.enterCollabel(this)}exitRule(e){e.exitCollabel&&e.exitCollabel(this)}accept(e){return e.visitCollabel?e.visitCollabel(this):e.visitChildren(this)}}class wt extends R{constructor(e,i){super(e,i)}Identifier(){return this.getToken(t.Identifier,0)}KW_UESCAPE(){return this.getToken(t.KW_UESCAPE,0)}anysconst(){return this.getRuleContext(0,nh)}sconst(){return this.getRuleContext(0,Z)}QuotedIdentifier(){return this.getToken(t.QuotedIdentifier,0)}UnicodeQuotedIdentifier(){return this.getToken(t.UnicodeQuotedIdentifier,0)}PLSQLVARIABLENAME(){return this.getToken(t.PLSQLVARIABLENAME,0)}PLSQLIDENTIFIER(){return this.getToken(t.PLSQLIDENTIFIER,0)}unreserved_keyword(){return this.getRuleContext(0,a3)}get ruleIndex(){return t.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}}class a3 extends R{constructor(e,i){super(e,i)}KW_ABORT(){return this.getToken(t.KW_ABORT,0)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}KW_ACCESS(){return this.getToken(t.KW_ACCESS,0)}KW_ACTION(){return this.getToken(t.KW_ACTION,0)}KW_ADD(){return this.getToken(t.KW_ADD,0)}KW_ADMIN(){return this.getToken(t.KW_ADMIN,0)}KW_AFTER(){return this.getToken(t.KW_AFTER,0)}KW_AGGREGATE(){return this.getToken(t.KW_AGGREGATE,0)}KW_ALSO(){return this.getToken(t.KW_ALSO,0)}KW_ALTER(){return this.getToken(t.KW_ALTER,0)}KW_ALWAYS(){return this.getToken(t.KW_ALWAYS,0)}KW_ASSERTION(){return this.getToken(t.KW_ASSERTION,0)}KW_ASSIGNMENT(){return this.getToken(t.KW_ASSIGNMENT,0)}KW_AT(){return this.getToken(t.KW_AT,0)}KW_ATTACH(){return this.getToken(t.KW_ATTACH,0)}KW_ATTRIBUTE(){return this.getToken(t.KW_ATTRIBUTE,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}KW_BEFORE(){return this.getToken(t.KW_BEFORE,0)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_BUFFER_USAGE_LIMIT(){return this.getToken(t.KW_BUFFER_USAGE_LIMIT,0)}KW_BY(){return this.getToken(t.KW_BY,0)}KW_CACHE(){return this.getToken(t.KW_CACHE,0)}KW_CALL(){return this.getToken(t.KW_CALL,0)}KW_CALLED(){return this.getToken(t.KW_CALLED,0)}KW_CASCADE(){return this.getToken(t.KW_CASCADE,0)}KW_CASCADED(){return this.getToken(t.KW_CASCADED,0)}KW_CATALOG(){return this.getToken(t.KW_CATALOG,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_CHARACTERISTICS(){return this.getToken(t.KW_CHARACTERISTICS,0)}KW_CHECKPOINT(){return this.getToken(t.KW_CHECKPOINT,0)}KW_CLASS(){return this.getToken(t.KW_CLASS,0)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}KW_CLUSTER(){return this.getToken(t.KW_CLUSTER,0)}KW_COLUMNS(){return this.getToken(t.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(t.KW_COMMENT,0)}KW_COMMENTS(){return this.getToken(t.KW_COMMENTS,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_COMMITTED(){return this.getToken(t.KW_COMMITTED,0)}KW_CONFIGURATION(){return this.getToken(t.KW_CONFIGURATION,0)}KW_CONFLICT(){return this.getToken(t.KW_CONFLICT,0)}KW_CONNECTION(){return this.getToken(t.KW_CONNECTION,0)}KW_CONSTRAINTS(){return this.getToken(t.KW_CONSTRAINTS,0)}KW_CONTENT(){return this.getToken(t.KW_CONTENT,0)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}KW_CONVERSION(){return this.getToken(t.KW_CONVERSION,0)}KW_COPY(){return this.getToken(t.KW_COPY,0)}KW_COST(){return this.getToken(t.KW_COST,0)}KW_CSV(){return this.getToken(t.KW_CSV,0)}KW_CUBE(){return this.getToken(t.KW_CUBE,0)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}KW_CYCLE(){return this.getToken(t.KW_CYCLE,0)}KW_DATA(){return this.getToken(t.KW_DATA,0)}KW_DATABASE(){return this.getToken(t.KW_DATABASE,0)}KW_DAY(){return this.getToken(t.KW_DAY,0)}KW_DEALLOCATE(){return this.getToken(t.KW_DEALLOCATE,0)}KW_DECLARE(){return this.getToken(t.KW_DECLARE,0)}KW_DEFAULTS(){return this.getToken(t.KW_DEFAULTS,0)}KW_DEFERRED(){return this.getToken(t.KW_DEFERRED,0)}KW_DEFINER(){return this.getToken(t.KW_DEFINER,0)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_DELIMITER(){return this.getToken(t.KW_DELIMITER,0)}KW_DELIMITERS(){return this.getToken(t.KW_DELIMITERS,0)}KW_DEPENDS(){return this.getToken(t.KW_DEPENDS,0)}KW_DETACH(){return this.getToken(t.KW_DETACH,0)}KW_DICTIONARY(){return this.getToken(t.KW_DICTIONARY,0)}KW_DISABLE(){return this.getToken(t.KW_DISABLE,0)}KW_DISCARD(){return this.getToken(t.KW_DISCARD,0)}KW_DOCUMENT(){return this.getToken(t.KW_DOCUMENT,0)}KW_DOMAIN(){return this.getToken(t.KW_DOMAIN,0)}KW_DOUBLE(){return this.getToken(t.KW_DOUBLE,0)}KW_DROP(){return this.getToken(t.KW_DROP,0)}KW_EACH(){return this.getToken(t.KW_EACH,0)}KW_ENABLE(){return this.getToken(t.KW_ENABLE,0)}KW_ENCODING(){return this.getToken(t.KW_ENCODING,0)}KW_ENCRYPTED(){return this.getToken(t.KW_ENCRYPTED,0)}KW_ENUM(){return this.getToken(t.KW_ENUM,0)}KW_ESCAPE(){return this.getToken(t.KW_ESCAPE,0)}KW_EVENT(){return this.getToken(t.KW_EVENT,0)}KW_EXCLUDE(){return this.getToken(t.KW_EXCLUDE,0)}KW_EXCLUDING(){return this.getToken(t.KW_EXCLUDING,0)}KW_EXCLUSIVE(){return this.getToken(t.KW_EXCLUSIVE,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}KW_EXPLAIN(){return this.getToken(t.KW_EXPLAIN,0)}KW_EXPRESSION(){return this.getToken(t.KW_EXPRESSION,0)}KW_EXTENSION(){return this.getToken(t.KW_EXTENSION,0)}KW_EXTERNAL(){return this.getToken(t.KW_EXTERNAL,0)}KW_FAMILY(){return this.getToken(t.KW_FAMILY,0)}KW_FILTER(){return this.getToken(t.KW_FILTER,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_FOLLOWING(){return this.getToken(t.KW_FOLLOWING,0)}KW_FORCE(){return this.getToken(t.KW_FORCE,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_FUNCTION(){return this.getToken(t.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(t.KW_FUNCTIONS,0)}KW_GENERATED(){return this.getToken(t.KW_GENERATED,0)}KW_GLOBAL(){return this.getToken(t.KW_GLOBAL,0)}KW_GRANTED(){return this.getToken(t.KW_GRANTED,0)}KW_GROUPS(){return this.getToken(t.KW_GROUPS,0)}KW_HANDLER(){return this.getToken(t.KW_HANDLER,0)}KW_HEADER(){return this.getToken(t.KW_HEADER,0)}KW_HOLD(){return this.getToken(t.KW_HOLD,0)}KW_HOUR(){return this.getToken(t.KW_HOUR,0)}KW_IDENTITY(){return this.getToken(t.KW_IDENTITY,0)}KW_IF(){return this.getToken(t.KW_IF,0)}KW_IMMEDIATE(){return this.getToken(t.KW_IMMEDIATE,0)}KW_IMMUTABLE(){return this.getToken(t.KW_IMMUTABLE,0)}KW_IMPLICIT(){return this.getToken(t.KW_IMPLICIT,0)}KW_IMPORT(){return this.getToken(t.KW_IMPORT,0)}KW_INCLUDE(){return this.getToken(t.KW_INCLUDE,0)}KW_INCLUDING(){return this.getToken(t.KW_INCLUDING,0)}KW_INCREMENT(){return this.getToken(t.KW_INCREMENT,0)}KW_INDEX(){return this.getToken(t.KW_INDEX,0)}KW_INDEXES(){return this.getToken(t.KW_INDEXES,0)}KW_INHERIT(){return this.getToken(t.KW_INHERIT,0)}KW_INHERITS(){return this.getToken(t.KW_INHERITS,0)}KW_INLINE(){return this.getToken(t.KW_INLINE,0)}KW_INPUT(){return this.getToken(t.KW_INPUT,0)}KW_INSENSITIVE(){return this.getToken(t.KW_INSENSITIVE,0)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}KW_INSTEAD(){return this.getToken(t.KW_INSTEAD,0)}KW_INVOKER(){return this.getToken(t.KW_INVOKER,0)}KW_ISOLATION(){return this.getToken(t.KW_ISOLATION,0)}KW_KEY(){return this.getToken(t.KW_KEY,0)}KW_LABEL(){return this.getToken(t.KW_LABEL,0)}KW_LANGUAGE(){return this.getToken(t.KW_LANGUAGE,0)}KW_LARGE(){return this.getToken(t.KW_LARGE,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}KW_LEAKPROOF(){return this.getToken(t.KW_LEAKPROOF,0)}KW_LEVEL(){return this.getToken(t.KW_LEVEL,0)}KW_LISTEN(){return this.getToken(t.KW_LISTEN,0)}KW_LOAD(){return this.getToken(t.KW_LOAD,0)}KW_LOCAL(){return this.getToken(t.KW_LOCAL,0)}KW_LOCATION(){return this.getToken(t.KW_LOCATION,0)}KW_LOCK(){return this.getToken(t.KW_LOCK,0)}KW_LOCKED(){return this.getToken(t.KW_LOCKED,0)}KW_LOGGED(){return this.getToken(t.KW_LOGGED,0)}KW_MAPPING(){return this.getToken(t.KW_MAPPING,0)}KW_MATCH(){return this.getToken(t.KW_MATCH,0)}KW_MATERIALIZED(){return this.getToken(t.KW_MATERIALIZED,0)}KW_MAXVALUE(){return this.getToken(t.KW_MAXVALUE,0)}KW_METHOD(){return this.getToken(t.KW_METHOD,0)}KW_MINUTE(){return this.getToken(t.KW_MINUTE,0)}KW_MINVALUE(){return this.getToken(t.KW_MINVALUE,0)}KW_MODE(){return this.getToken(t.KW_MODE,0)}KW_MONTH(){return this.getToken(t.KW_MONTH,0)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}KW_NAME(){return this.getToken(t.KW_NAME,0)}KW_NAMES(){return this.getToken(t.KW_NAMES,0)}KW_NEW(){return this.getToken(t.KW_NEW,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_NFC(){return this.getToken(t.KW_NFC,0)}KW_NFD(){return this.getToken(t.KW_NFD,0)}KW_NFKC(){return this.getToken(t.KW_NFKC,0)}KW_NFKD(){return this.getToken(t.KW_NFKD,0)}KW_NO(){return this.getToken(t.KW_NO,0)}KW_NORMALIZED(){return this.getToken(t.KW_NORMALIZED,0)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}KW_NOTIFY(){return this.getToken(t.KW_NOTIFY,0)}KW_NOWAIT(){return this.getToken(t.KW_NOWAIT,0)}KW_NULLS(){return this.getToken(t.KW_NULLS,0)}KW_OBJECT(){return this.getToken(t.KW_OBJECT,0)}KW_OF(){return this.getToken(t.KW_OF,0)}KW_OFF(){return this.getToken(t.KW_OFF,0)}KW_OIDS(){return this.getToken(t.KW_OIDS,0)}KW_OLD(){return this.getToken(t.KW_OLD,0)}KW_OPERATOR(){return this.getToken(t.KW_OPERATOR,0)}KW_OPTION(){return this.getToken(t.KW_OPTION,0)}KW_OPTIONS(){return this.getToken(t.KW_OPTIONS,0)}KW_ORDINALITY(){return this.getToken(t.KW_ORDINALITY,0)}KW_OTHERS(){return this.getToken(t.KW_OTHERS,0)}KW_OVER(){return this.getToken(t.KW_OVER,0)}KW_OVERRIDING(){return this.getToken(t.KW_OVERRIDING,0)}KW_OWNED(){return this.getToken(t.KW_OWNED,0)}KW_OWNER(){return this.getToken(t.KW_OWNER,0)}KW_PARALLEL(){return this.getToken(t.KW_PARALLEL,0)}KW_PARSER(){return this.getToken(t.KW_PARSER,0)}KW_PARTIAL(){return this.getToken(t.KW_PARTIAL,0)}KW_PARTITION(){return this.getToken(t.KW_PARTITION,0)}KW_PASSING(){return this.getToken(t.KW_PASSING,0)}KW_PASSWORD(){return this.getToken(t.KW_PASSWORD,0)}KW_PLANS(){return this.getToken(t.KW_PLANS,0)}KW_POLICY(){return this.getToken(t.KW_POLICY,0)}KW_PRECEDING(){return this.getToken(t.KW_PRECEDING,0)}KW_PREPARE(){return this.getToken(t.KW_PREPARE,0)}KW_PREPARED(){return this.getToken(t.KW_PREPARED,0)}KW_PRESERVE(){return this.getToken(t.KW_PRESERVE,0)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_PRIVILEGES(){return this.getToken(t.KW_PRIVILEGES,0)}KW_PROCEDURAL(){return this.getToken(t.KW_PROCEDURAL,0)}KW_PROCEDURE(){return this.getToken(t.KW_PROCEDURE,0)}KW_PROCEDURES(){return this.getToken(t.KW_PROCEDURES,0)}KW_PROGRAM(){return this.getToken(t.KW_PROGRAM,0)}KW_PUBLICATION(){return this.getToken(t.KW_PUBLICATION,0)}KW_QUOTE(){return this.getToken(t.KW_QUOTE,0)}KW_RANGE(){return this.getToken(t.KW_RANGE,0)}KW_READ(){return this.getToken(t.KW_READ,0)}KW_REASSIGN(){return this.getToken(t.KW_REASSIGN,0)}KW_RECHECK(){return this.getToken(t.KW_RECHECK,0)}KW_RECURSIVE(){return this.getToken(t.KW_RECURSIVE,0)}KW_REF(){return this.getToken(t.KW_REF,0)}KW_REFERENCING(){return this.getToken(t.KW_REFERENCING,0)}KW_REFRESH(){return this.getToken(t.KW_REFRESH,0)}KW_REINDEX(){return this.getToken(t.KW_REINDEX,0)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_RELEASE(){return this.getToken(t.KW_RELEASE,0)}KW_RENAME(){return this.getToken(t.KW_RENAME,0)}KW_REPEATABLE(){return this.getToken(t.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(t.KW_REPLACE,0)}KW_REPLICA(){return this.getToken(t.KW_REPLICA,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_RESTART(){return this.getToken(t.KW_RESTART,0)}KW_RESTRICT(){return this.getToken(t.KW_RESTRICT,0)}KW_RETURNS(){return this.getToken(t.KW_RETURNS,0)}KW_REVOKE(){return this.getToken(t.KW_REVOKE,0)}KW_ROLE(){return this.getToken(t.KW_ROLE,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(t.KW_ROLLUP,0)}KW_ROUTINE(){return this.getToken(t.KW_ROUTINE,0)}KW_ROUTINES(){return this.getToken(t.KW_ROUTINES,0)}KW_ROWS(){return this.getToken(t.KW_ROWS,0)}KW_RULE(){return this.getToken(t.KW_RULE,0)}KW_SAVEPOINT(){return this.getToken(t.KW_SAVEPOINT,0)}KW_SCHEMA(){return this.getToken(t.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(t.KW_SCHEMAS,0)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}KW_SEARCH(){return this.getToken(t.KW_SEARCH,0)}KW_SECOND(){return this.getToken(t.KW_SECOND,0)}KW_SECURITY(){return this.getToken(t.KW_SECURITY,0)}KW_SEQUENCE(){return this.getToken(t.KW_SEQUENCE,0)}KW_SEQUENCES(){return this.getToken(t.KW_SEQUENCES,0)}KW_SERIALIZABLE(){return this.getToken(t.KW_SERIALIZABLE,0)}KW_SERVER(){return this.getToken(t.KW_SERVER,0)}KW_SESSION(){return this.getToken(t.KW_SESSION,0)}KW_SET(){return this.getToken(t.KW_SET,0)}KW_SETS(){return this.getToken(t.KW_SETS,0)}KW_SHARE(){return this.getToken(t.KW_SHARE,0)}KW_SHOW(){return this.getToken(t.KW_SHOW,0)}KW_SIMPLE(){return this.getToken(t.KW_SIMPLE,0)}KW_SKIP(){return this.getToken(t.KW_SKIP,0)}KW_SKIP_LOCKED(){return this.getToken(t.KW_SKIP_LOCKED,0)}KW_SNAPSHOT(){return this.getToken(t.KW_SNAPSHOT,0)}KW_SQL(){return this.getToken(t.KW_SQL,0)}KW_STABLE(){return this.getToken(t.KW_STABLE,0)}KW_STANDALONE(){return this.getToken(t.KW_STANDALONE,0)}KW_START(){return this.getToken(t.KW_START,0)}KW_STATEMENT(){return this.getToken(t.KW_STATEMENT,0)}KW_STATISTICS(){return this.getToken(t.KW_STATISTICS,0)}KW_STDIN(){return this.getToken(t.KW_STDIN,0)}KW_STDOUT(){return this.getToken(t.KW_STDOUT,0)}KW_STORAGE(){return this.getToken(t.KW_STORAGE,0)}KW_STORED(){return this.getToken(t.KW_STORED,0)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}KW_STRIP(){return this.getToken(t.KW_STRIP,0)}KW_SUBSCRIPTION(){return this.getToken(t.KW_SUBSCRIPTION,0)}KW_SUPPORT(){return this.getToken(t.KW_SUPPORT,0)}KW_SYSID(){return this.getToken(t.KW_SYSID,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}KW_TABLES(){return this.getToken(t.KW_TABLES,0)}KW_TABLESPACE(){return this.getToken(t.KW_TABLESPACE,0)}KW_TEMP(){return this.getToken(t.KW_TEMP,0)}KW_TEMPLATE(){return this.getToken(t.KW_TEMPLATE,0)}KW_TEMPORARY(){return this.getToken(t.KW_TEMPORARY,0)}KW_TEXT(){return this.getToken(t.KW_TEXT,0)}KW_TIES(){return this.getToken(t.KW_TIES,0)}KW_TRANSACTION(){return this.getToken(t.KW_TRANSACTION,0)}KW_TRANSFORM(){return this.getToken(t.KW_TRANSFORM,0)}KW_TRIGGER(){return this.getToken(t.KW_TRIGGER,0)}KW_TRUNCATE(){return this.getToken(t.KW_TRUNCATE,0)}KW_TRUSTED(){return this.getToken(t.KW_TRUSTED,0)}KW_TYPE(){return this.getToken(t.KW_TYPE,0)}KW_TYPES(){return this.getToken(t.KW_TYPES,0)}KW_UESCAPE(){return this.getToken(t.KW_UESCAPE,0)}KW_UNBOUNDED(){return this.getToken(t.KW_UNBOUNDED,0)}KW_UNCOMMITTED(){return this.getToken(t.KW_UNCOMMITTED,0)}KW_UNENCRYPTED(){return this.getToken(t.KW_UNENCRYPTED,0)}KW_UNKNOWN(){return this.getToken(t.KW_UNKNOWN,0)}KW_UNLISTEN(){return this.getToken(t.KW_UNLISTEN,0)}KW_UNLOGGED(){return this.getToken(t.KW_UNLOGGED,0)}KW_UNTIL(){return this.getToken(t.KW_UNTIL,0)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_VACUUM(){return this.getToken(t.KW_VACUUM,0)}KW_VALID(){return this.getToken(t.KW_VALID,0)}KW_VALIDATE(){return this.getToken(t.KW_VALIDATE,0)}KW_VALIDATOR(){return this.getToken(t.KW_VALIDATOR,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_VARYING(){return this.getToken(t.KW_VARYING,0)}KW_VERSION(){return this.getToken(t.KW_VERSION,0)}KW_VIEW(){return this.getToken(t.KW_VIEW,0)}KW_VIEWS(){return this.getToken(t.KW_VIEWS,0)}KW_VOLATILE(){return this.getToken(t.KW_VOLATILE,0)}KW_WHITESPACE(){return this.getToken(t.KW_WHITESPACE,0)}KW_WITHIN(){return this.getToken(t.KW_WITHIN,0)}KW_WITHOUT(){return this.getToken(t.KW_WITHOUT,0)}KW_WORK(){return this.getToken(t.KW_WORK,0)}KW_WRAPPER(){return this.getToken(t.KW_WRAPPER,0)}KW_WRITE(){return this.getToken(t.KW_WRITE,0)}KW_XML(){return this.getToken(t.KW_XML,0)}KW_YEAR(){return this.getToken(t.KW_YEAR,0)}KW_YES(){return this.getToken(t.KW_YES,0)}KW_ZONE(){return this.getToken(t.KW_ZONE,0)}KW_ALIAS(){return this.getToken(t.KW_ALIAS,0)}KW_ASSERT(){return this.getToken(t.KW_ASSERT,0)}KW_CONSTANT(){return this.getToken(t.KW_CONSTANT,0)}KW_DEBUG(){return this.getToken(t.KW_DEBUG,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}KW_DUMP(){return this.getToken(t.KW_DUMP,0)}KW_ELSIF(){return this.getToken(t.KW_ELSIF,0)}KW_ERROR(){return this.getToken(t.KW_ERROR,0)}KW_EXCEPTION(){return this.getToken(t.KW_EXCEPTION,0)}KW_EXIT(){return this.getToken(t.KW_EXIT,0)}KW_GET(){return this.getToken(t.KW_GET,0)}KW_INFO(){return this.getToken(t.KW_INFO,0)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_LOG(){return this.getToken(t.KW_LOG,0)}KW_NOTICE(){return this.getToken(t.KW_NOTICE,0)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}KW_PUBLIC(){return this.getToken(t.KW_PUBLIC,0)}KW_PERFORM(){return this.getToken(t.KW_PERFORM,0)}KW_PRINT_STRICT_PARAMS(){return this.getToken(t.KW_PRINT_STRICT_PARAMS,0)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_RAISE(){return this.getToken(t.KW_RAISE,0)}KW_RETURN(){return this.getToken(t.KW_RETURN,0)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}KW_ROWTYPE(){return this.getToken(t.KW_ROWTYPE,0)}KW_SLICE(){return this.getToken(t.KW_SLICE,0)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}KW_USE_COLUMN(){return this.getToken(t.KW_USE_COLUMN,0)}KW_USE_VARIABLE(){return this.getToken(t.KW_USE_VARIABLE,0)}KW_VARIABLE_CONFLICT(){return this.getToken(t.KW_VARIABLE_CONFLICT,0)}KW_WARNING(){return this.getToken(t.KW_WARNING,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}get ruleIndex(){return t.RULE_unreserved_keyword}enterRule(e){e.enterUnreserved_keyword&&e.enterUnreserved_keyword(this)}exitRule(e){e.exitUnreserved_keyword&&e.exitUnreserved_keyword(this)}accept(e){return e.visitUnreserved_keyword?e.visitUnreserved_keyword(this):e.visitChildren(this)}}class ch extends R{constructor(e,i){super(e,i)}KW_BETWEEN(){return this.getToken(t.KW_BETWEEN,0)}KW_BIGINT(){return this.getToken(t.KW_BIGINT,0)}bit(){return this.getRuleContext(0,Y2)}KW_BOOLEAN(){return this.getToken(t.KW_BOOLEAN,0)}KW_CHAR(){return this.getToken(t.KW_CHAR,0)}character(){return this.getRuleContext(0,X2)}KW_COALESCE(){return this.getToken(t.KW_COALESCE,0)}KW_DEC(){return this.getToken(t.KW_DEC,0)}KW_DECIMAL(){return this.getToken(t.KW_DECIMAL,0)}KW_EXISTS(){return this.getToken(t.KW_EXISTS,0)}KW_EXTRACT(){return this.getToken(t.KW_EXTRACT,0)}KW_FLOAT(){return this.getToken(t.KW_FLOAT,0)}KW_GREATEST(){return this.getToken(t.KW_GREATEST,0)}KW_GROUPING(){return this.getToken(t.KW_GROUPING,0)}KW_INOUT(){return this.getToken(t.KW_INOUT,0)}KW_INT(){return this.getToken(t.KW_INT,0)}KW_INTEGER(){return this.getToken(t.KW_INTEGER,0)}KW_INTERVAL(){return this.getToken(t.KW_INTERVAL,0)}KW_LEAST(){return this.getToken(t.KW_LEAST,0)}KW_NATIONAL(){return this.getToken(t.KW_NATIONAL,0)}KW_NCHAR(){return this.getToken(t.KW_NCHAR,0)}KW_NONE(){return this.getToken(t.KW_NONE,0)}KW_NORMALIZE(){return this.getToken(t.KW_NORMALIZE,0)}KW_NULLIF(){return this.getToken(t.KW_NULLIF,0)}numeric(){return this.getRuleContext(0,V2)}KW_OUT(){return this.getToken(t.KW_OUT,0)}KW_OVERLAY(){return this.getToken(t.KW_OVERLAY,0)}KW_POSITION(){return this.getToken(t.KW_POSITION,0)}KW_PRECISION(){return this.getToken(t.KW_PRECISION,0)}KW_REAL(){return this.getToken(t.KW_REAL,0)}KW_ROW(){return this.getToken(t.KW_ROW,0)}KW_SETOF(){return this.getToken(t.KW_SETOF,0)}KW_SMALLINT(){return this.getToken(t.KW_SMALLINT,0)}KW_SUBSTRING(){return this.getToken(t.KW_SUBSTRING,0)}KW_TIME(){return this.getToken(t.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(t.KW_TIMESTAMP,0)}KW_TREAT(){return this.getToken(t.KW_TREAT,0)}KW_TRIM(){return this.getToken(t.KW_TRIM,0)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}KW_VARCHAR(){return this.getToken(t.KW_VARCHAR,0)}KW_XMLATTRIBUTES(){return this.getToken(t.KW_XMLATTRIBUTES,0)}KW_XMLCONCAT(){return this.getToken(t.KW_XMLCONCAT,0)}KW_XMLELEMENT(){return this.getToken(t.KW_XMLELEMENT,0)}KW_XMLEXISTS(){return this.getToken(t.KW_XMLEXISTS,0)}KW_XMLFOREST(){return this.getToken(t.KW_XMLFOREST,0)}KW_XMLNAMESPACES(){return this.getToken(t.KW_XMLNAMESPACES,0)}KW_XMLPARSE(){return this.getToken(t.KW_XMLPARSE,0)}KW_XMLPI(){return this.getToken(t.KW_XMLPI,0)}KW_XMLROOT(){return this.getToken(t.KW_XMLROOT,0)}KW_XMLSERIALIZE(){return this.getToken(t.KW_XMLSERIALIZE,0)}KW_XMLTABLE(){return this.getToken(t.KW_XMLTABLE,0)}get ruleIndex(){return t.RULE_col_name_keyword}enterRule(e){e.enterCol_name_keyword&&e.enterCol_name_keyword(this)}exitRule(e){e.exitCol_name_keyword&&e.exitCol_name_keyword(this)}accept(e){return e.visitCol_name_keyword?e.visitCol_name_keyword(this):e.visitChildren(this)}}class R0 extends R{constructor(e,i){super(e,i)}KW_AUTHORIZATION(){return this.getToken(t.KW_AUTHORIZATION,0)}KW_BINARY(){return this.getToken(t.KW_BINARY,0)}KW_COLLATION(){return this.getToken(t.KW_COLLATION,0)}KW_CONCURRENTLY(){return this.getToken(t.KW_CONCURRENTLY,0)}KW_CROSS(){return this.getToken(t.KW_CROSS,0)}KW_CURRENT_SCHEMA(){return this.getToken(t.KW_CURRENT_SCHEMA,0)}KW_FREEZE(){return this.getToken(t.KW_FREEZE,0)}KW_FULL(){return this.getToken(t.KW_FULL,0)}KW_ILIKE(){return this.getToken(t.KW_ILIKE,0)}KW_INNER(){return this.getToken(t.KW_INNER,0)}KW_IS(){return this.getToken(t.KW_IS,0)}KW_ISNULL(){return this.getToken(t.KW_ISNULL,0)}KW_JOIN(){return this.getToken(t.KW_JOIN,0)}KW_LEFT(){return this.getToken(t.KW_LEFT,0)}KW_LIKE(){return this.getToken(t.KW_LIKE,0)}KW_NATURAL(){return this.getToken(t.KW_NATURAL,0)}KW_NOTNULL(){return this.getToken(t.KW_NOTNULL,0)}KW_OUTER(){return this.getToken(t.KW_OUTER,0)}KW_OVERLAPS(){return this.getToken(t.KW_OVERLAPS,0)}KW_RIGHT(){return this.getToken(t.KW_RIGHT,0)}KW_SIMILAR(){return this.getToken(t.KW_SIMILAR,0)}KW_TABLESAMPLE(){return this.getToken(t.KW_TABLESAMPLE,0)}KW_VERBOSE(){return this.getToken(t.KW_VERBOSE,0)}get ruleIndex(){return t.RULE_type_func_name_keyword}enterRule(e){e.enterType_func_name_keyword&&e.enterType_func_name_keyword(this)}exitRule(e){e.exitType_func_name_keyword&&e.exitType_func_name_keyword(this)}accept(e){return e.visitType_func_name_keyword?e.visitType_func_name_keyword(this):e.visitChildren(this)}}class sh extends R{constructor(e,i){super(e,i)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_ANALYSE(){return this.getToken(t.KW_ANALYSE,0)}KW_ANALYZE(){return this.getToken(t.KW_ANALYZE,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_ANY(){return this.getToken(t.KW_ANY,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}KW_AS(){return this.getToken(t.KW_AS,0)}KW_ASC(){return this.getToken(t.KW_ASC,0)}KW_ASYMMETRIC(){return this.getToken(t.KW_ASYMMETRIC,0)}KW_BOTH(){return this.getToken(t.KW_BOTH,0)}KW_CASE(){return this.getToken(t.KW_CASE,0)}KW_CAST(){return this.getToken(t.KW_CAST,0)}KW_CHECK(){return this.getToken(t.KW_CHECK,0)}KW_COLLATE(){return this.getToken(t.KW_COLLATE,0)}KW_COLUMN(){return this.getToken(t.KW_COLUMN,0)}KW_CONSTRAINT(){return this.getToken(t.KW_CONSTRAINT,0)}KW_CREATE(){return this.getToken(t.KW_CREATE,0)}KW_CURRENT_CATALOG(){return this.getToken(t.KW_CURRENT_CATALOG,0)}KW_CURRENT_DATE(){return this.getToken(t.KW_CURRENT_DATE,0)}KW_CURRENT_ROLE(){return this.getToken(t.KW_CURRENT_ROLE,0)}KW_CURRENT_TIME(){return this.getToken(t.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(t.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(t.KW_CURRENT_USER,0)}KW_DEFERRABLE(){return this.getToken(t.KW_DEFERRABLE,0)}KW_DESC(){return this.getToken(t.KW_DESC,0)}KW_DISTINCT(){return this.getToken(t.KW_DISTINCT,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}KW_END(){return this.getToken(t.KW_END,0)}KW_EXCEPT(){return this.getToken(t.KW_EXCEPT,0)}KW_FALSE(){return this.getToken(t.KW_FALSE,0)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}KW_FOREIGN(){return this.getToken(t.KW_FOREIGN,0)}KW_FROM(){return this.getToken(t.KW_FROM,0)}KW_GRANT(){return this.getToken(t.KW_GRANT,0)}KW_GROUP(){return this.getToken(t.KW_GROUP,0)}KW_HAVING(){return this.getToken(t.KW_HAVING,0)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_INITIALLY(){return this.getToken(t.KW_INITIALLY,0)}KW_INTERSECT(){return this.getToken(t.KW_INTERSECT,0)}KW_LATERAL(){return this.getToken(t.KW_LATERAL,0)}KW_LEADING(){return this.getToken(t.KW_LEADING,0)}KW_LIMIT(){return this.getToken(t.KW_LIMIT,0)}KW_LOCALTIME(){return this.getToken(t.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(t.KW_LOCALTIMESTAMP,0)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}KW_OFFSET(){return this.getToken(t.KW_OFFSET,0)}KW_ON(){return this.getToken(t.KW_ON,0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}KW_OR(){return this.getToken(t.KW_OR,0)}KW_ORDER(){return this.getToken(t.KW_ORDER,0)}KW_PLACING(){return this.getToken(t.KW_PLACING,0)}KW_PRIMARY(){return this.getToken(t.KW_PRIMARY,0)}KW_REFERENCES(){return this.getToken(t.KW_REFERENCES,0)}KW_RETURNING(){return this.getToken(t.KW_RETURNING,0)}KW_SELECT(){return this.getToken(t.KW_SELECT,0)}KW_SESSION_USER(){return this.getToken(t.KW_SESSION_USER,0)}KW_SOME(){return this.getToken(t.KW_SOME,0)}KW_SYMMETRIC(){return this.getToken(t.KW_SYMMETRIC,0)}KW_TABLE(){return this.getToken(t.KW_TABLE,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_TRAILING(){return this.getToken(t.KW_TRAILING,0)}KW_TRUE(){return this.getToken(t.KW_TRUE,0)}KW_UNION(){return this.getToken(t.KW_UNION,0)}KW_UNIQUE(){return this.getToken(t.KW_UNIQUE,0)}KW_USER(){return this.getToken(t.KW_USER,0)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_VARIADIC(){return this.getToken(t.KW_VARIADIC,0)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_WHERE(){return this.getToken(t.KW_WHERE,0)}KW_WINDOW(){return this.getToken(t.KW_WINDOW,0)}KW_WITH(){return this.getToken(t.KW_WITH,0)}get ruleIndex(){return t.RULE_reserved_keyword}enterRule(e){e.enterReserved_keyword&&e.enterReserved_keyword(this)}exitRule(e){e.exitReserved_keyword&&e.exitReserved_keyword(this)}accept(e){return e.visitReserved_keyword?e.visitReserved_keyword(this):e.visitChildren(this)}}class cW extends R{constructor(e,i){super(e,i)}KW_BEGIN(){return this.getToken(t.KW_BEGIN,0)}KW_END(){return this.getToken(t.KW_END,0)}proc_stmt(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}exception_sect(){return this.getRuleContext(0,MW)}any_identifier(){return this.getRuleContext(0,je)}label_decl(e){return e===void 0?this.getRuleContexts(Gi):this.getRuleContext(e,Gi)}KW_DECLARE(e){return e===void 0?this.getTokens(t.KW_DECLARE):this.getToken(t.KW_DECLARE,e)}decl_statement(e){return e===void 0?this.getRuleContexts(E3):this.getRuleContext(e,E3)}get ruleIndex(){return t.RULE_pl_block}enterRule(e){e.enterPl_block&&e.enterPl_block(this)}exitRule(e){e.exitPl_block&&e.exitPl_block(this)}accept(e){return e.visitPl_block?e.visitPl_block(this):e.visitChildren(this)}}class Gi extends R{constructor(e,i){super(e,i)}LESS_LESS(){return this.getToken(t.LESS_LESS,0)}any_identifier(){return this.getRuleContext(0,je)}GREATER_GREATER(){return this.getToken(t.GREATER_GREATER,0)}get ruleIndex(){return t.RULE_label_decl}enterRule(e){e.enterLabel_decl&&e.enterLabel_decl(this)}exitRule(e){e.exitLabel_decl&&e.exitLabel_decl(this)}accept(e){return e.visitLabel_decl?e.visitLabel_decl(this):e.visitChildren(this)}}class E3 extends R{constructor(e,i){super(e,i)}any_identifier(){return this.getRuleContext(0,je)}SEMI(){return this.getToken(t.SEMI,0)}KW_ALIAS(){return this.getToken(t.KW_ALIAS,0)}KW_FOR(){return this.getToken(t.KW_FOR,0)}typename(){return this.getRuleContext(0,P)}KW_CURSOR(){return this.getToken(t.KW_CURSOR,0)}selectstmt(){return this.getRuleContext(0,Yt)}KW_IS(){return this.getToken(t.KW_IS,0)}PARAM(){return this.getToken(t.PARAM,0)}colid(){return this.getRuleContext(0,o)}KW_CONSTANT(){return this.getToken(t.KW_CONSTANT,0)}opt_collate_clause(){return this.getRuleContext(0,ve)}KW_NOT(){return this.getToken(t.KW_NOT,0)}KW_NULL(){return this.getToken(t.KW_NULL,0)}sql_expression(){return this.getRuleContext(0,he)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}decl_cursor_arg(e){return e===void 0?this.getRuleContexts(W3):this.getRuleContext(e,W3)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}assign_operator(){return this.getRuleContext(0,hh)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}KW_NO(){return this.getToken(t.KW_NO,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_decl_statement}enterRule(e){e.enterDecl_statement&&e.enterDecl_statement(this)}exitRule(e){e.exitDecl_statement&&e.exitDecl_statement(this)}accept(e){return e.visitDecl_statement?e.visitDecl_statement(this):e.visitChildren(this)}}class W3 extends R{constructor(e,i){super(e,i)}any_identifier(){return this.getRuleContext(0,je)}typename(){return this.getRuleContext(0,P)}get ruleIndex(){return t.RULE_decl_cursor_arg}enterRule(e){e.enterDecl_cursor_arg&&e.enterDecl_cursor_arg(this)}exitRule(e){e.exitDecl_cursor_arg&&e.exitDecl_cursor_arg(this)}accept(e){return e.visitDecl_cursor_arg?e.visitDecl_cursor_arg(this):e.visitChildren(this)}}class hh extends R{constructor(e,i){super(e,i)}EQUAL(){return this.getToken(t.EQUAL,0)}COLON_EQUALS(){return this.getToken(t.COLON_EQUALS,0)}get ruleIndex(){return t.RULE_assign_operator}enterRule(e){e.enterAssign_operator&&e.enterAssign_operator(this)}exitRule(e){e.exitAssign_operator&&e.exitAssign_operator(this)}accept(e){return e.visitAssign_operator?e.visitAssign_operator(this):e.visitChildren(this)}}class Pt extends R{constructor(e,i){super(e,i)}pl_block(){return this.getRuleContext(0,cW)}SEMI(){return this.getToken(t.SEMI,0)}stmt_return(){return this.getRuleContext(0,_W)}stmt_raise(){return this.getRuleContext(0,NW)}stmt_assign(){return this.getRuleContext(0,aW)}stmt_if(){return this.getRuleContext(0,WW)}stmt_case(){return this.getRuleContext(0,KW)}stmt_loop_while_for(){return this.getRuleContext(0,uW)}stmt_foreach_a(){return this.getRuleContext(0,TW)}stmt_exit(){return this.getRuleContext(0,AW)}stmt_assert(){return this.getRuleContext(0,CW)}stmt_execsql(){return this.getRuleContext(0,IW)}stmt_dynexecute(){return this.getRuleContext(0,LW)}stmt_perform(){return this.getRuleContext(0,sW)}stmt_call(){return this.getRuleContext(0,hW)}stmt_getdiag(){return this.getRuleContext(0,EW)}stmt_open(){return this.getRuleContext(0,OW)}stmt_fetch(){return this.getRuleContext(0,dW)}stmt_move(){return this.getRuleContext(0,mW)}stmt_close(){return this.getRuleContext(0,UW)}stmt_null(){return this.getRuleContext(0,lW)}stmt_commit_or_rollback(){return this.getRuleContext(0,kW)}stmt_set(){return this.getRuleContext(0,DW)}get ruleIndex(){return t.RULE_proc_stmt}enterRule(e){e.enterProc_stmt&&e.enterProc_stmt(this)}exitRule(e){e.exitProc_stmt&&e.exitProc_stmt(this)}accept(e){return e.visitProc_stmt?e.visitProc_stmt(this):e.visitChildren(this)}}class sW extends R{constructor(e,i){super(e,i)}KW_PERFORM(){return this.getToken(t.KW_PERFORM,0)}sql_expression(){return this.getRuleContext(0,he)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_perform}enterRule(e){e.enterStmt_perform&&e.enterStmt_perform(this)}exitRule(e){e.exitStmt_perform&&e.exitStmt_perform(this)}accept(e){return e.visitStmt_perform?e.visitStmt_perform(this):e.visitChildren(this)}}class hW extends R{constructor(e,i){super(e,i)}KW_CALL(){return this.getToken(t.KW_CALL,0)}any_identifier(){return this.getRuleContext(0,je)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}SEMI(){return this.getToken(t.SEMI,0)}expr_list(){return this.getRuleContext(0,Ct)}KW_DO(){return this.getToken(t.KW_DO,0)}get ruleIndex(){return t.RULE_stmt_call}enterRule(e){e.enterStmt_call&&e.enterStmt_call(this)}exitRule(e){e.exitStmt_call&&e.exitStmt_call(this)}accept(e){return e.visitStmt_call?e.visitStmt_call(this):e.visitChildren(this)}}class aW extends R{constructor(e,i){super(e,i)}assign_var(){return this.getRuleContext(0,u3)}assign_operator(){return this.getRuleContext(0,hh)}sql_expression(){return this.getRuleContext(0,he)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_assign}enterRule(e){e.enterStmt_assign&&e.enterStmt_assign(this)}exitRule(e){e.exitStmt_assign&&e.exitStmt_assign(this)}accept(e){return e.visitStmt_assign?e.visitStmt_assign(this):e.visitChildren(this)}}class EW extends R{constructor(e,i){super(e,i)}KW_GET(){return this.getToken(t.KW_GET,0)}KW_DIAGNOSTICS(){return this.getToken(t.KW_DIAGNOSTICS,0)}SEMI(){return this.getToken(t.SEMI,0)}getdiag_list_item(e){return e===void 0?this.getRuleContexts(K3):this.getRuleContext(e,K3)}KW_CURRENT(){return this.getToken(t.KW_CURRENT,0)}KW_STACKED(){return this.getToken(t.KW_STACKED,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_stmt_getdiag}enterRule(e){e.enterStmt_getdiag&&e.enterStmt_getdiag(this)}exitRule(e){e.exitStmt_getdiag&&e.exitStmt_getdiag(this)}accept(e){return e.visitStmt_getdiag?e.visitStmt_getdiag(this):e.visitChildren(this)}}class K3 extends R{constructor(e,i){super(e,i)}assign_var(){return this.getRuleContext(0,u3)}assign_operator(){return this.getRuleContext(0,hh)}colid(){return this.getRuleContext(0,o)}get ruleIndex(){return t.RULE_getdiag_list_item}enterRule(e){e.enterGetdiag_list_item&&e.enterGetdiag_list_item(this)}exitRule(e){e.exitGetdiag_list_item&&e.exitGetdiag_list_item(this)}accept(e){return e.visitGetdiag_list_item?e.visitGetdiag_list_item(this):e.visitChildren(this)}}class u3 extends R{constructor(e,i){super(e,i)}any_name(){return this.getRuleContext(0,B)}PARAM(){return this.getToken(t.PARAM,0)}OPEN_BRACKET(e){return e===void 0?this.getTokens(t.OPEN_BRACKET):this.getToken(t.OPEN_BRACKET,e)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}CLOSE_BRACKET(e){return e===void 0?this.getTokens(t.CLOSE_BRACKET):this.getToken(t.CLOSE_BRACKET,e)}get ruleIndex(){return t.RULE_assign_var}enterRule(e){e.enterAssign_var&&e.enterAssign_var(this)}exitRule(e){e.exitAssign_var&&e.exitAssign_var(this)}accept(e){return e.visitAssign_var?e.visitAssign_var(this):e.visitChildren(this)}}class WW extends R{constructor(e,i){super(e,i)}KW_IF(e){return e===void 0?this.getTokens(t.KW_IF):this.getToken(t.KW_IF,e)}sql_expression(){return this.getRuleContext(0,he)}KW_THEN(e){return e===void 0?this.getTokens(t.KW_THEN):this.getToken(t.KW_THEN,e)}KW_END(){return this.getToken(t.KW_END,0)}SEMI(){return this.getToken(t.SEMI,0)}proc_stmt(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}stmt_else(){return this.getRuleContext(0,R3)}KW_ELSIF(e){return e===void 0?this.getTokens(t.KW_ELSIF):this.getToken(t.KW_ELSIF,e)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}get ruleIndex(){return t.RULE_stmt_if}enterRule(e){e.enterStmt_if&&e.enterStmt_if(this)}exitRule(e){e.exitStmt_if&&e.exitStmt_if(this)}accept(e){return e.visitStmt_if?e.visitStmt_if(this):e.visitChildren(this)}}class R3 extends R{constructor(e,i){super(e,i)}KW_ELSE(){return this.getToken(t.KW_ELSE,0)}proc_stmt(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}get ruleIndex(){return t.RULE_stmt_else}enterRule(e){e.enterStmt_else&&e.enterStmt_else(this)}exitRule(e){e.exitStmt_else&&e.exitStmt_else(this)}accept(e){return e.visitStmt_else?e.visitStmt_else(this):e.visitChildren(this)}}class KW extends R{constructor(e,i){super(e,i)}KW_CASE(e){return e===void 0?this.getTokens(t.KW_CASE):this.getToken(t.KW_CASE,e)}KW_END(){return this.getToken(t.KW_END,0)}SEMI(){return this.getToken(t.SEMI,0)}sql_expression(){return this.getRuleContext(0,he)}KW_WHEN(e){return e===void 0?this.getTokens(t.KW_WHEN):this.getToken(t.KW_WHEN,e)}expr_list(e){return e===void 0?this.getRuleContexts(Ct):this.getRuleContext(e,Ct)}KW_THEN(e){return e===void 0?this.getTokens(t.KW_THEN):this.getToken(t.KW_THEN,e)}stmt_else(){return this.getRuleContext(0,R3)}proc_stmt(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}get ruleIndex(){return t.RULE_stmt_case}enterRule(e){e.enterStmt_case&&e.enterStmt_case(this)}exitRule(e){e.exitStmt_case&&e.exitStmt_case(this)}accept(e){return e.visitStmt_case?e.visitStmt_case(this):e.visitChildren(this)}}class uW extends R{constructor(e,i){super(e,i)}loop_body(){return this.getRuleContext(0,A3)}label_decl(){return this.getRuleContext(0,Gi)}KW_WHILE(){return this.getToken(t.KW_WHILE,0)}expression(){return this.getRuleContext(0,y)}KW_FOR(){return this.getToken(t.KW_FOR,0)}for_control(){return this.getRuleContext(0,RW)}get ruleIndex(){return t.RULE_stmt_loop_while_for}enterRule(e){e.enterStmt_loop_while_for&&e.enterStmt_loop_while_for(this)}exitRule(e){e.exitStmt_loop_while_for&&e.exitStmt_loop_while_for(this)}accept(e){return e.visitStmt_loop_while_for?e.visitStmt_loop_while_for(this):e.visitChildren(this)}}class RW extends R{constructor(e,i){super(e,i)}any_name_list(){return this.getRuleContext(0,L1)}KW_IN(){return this.getToken(t.KW_IN,0)}colid(){return this.getRuleContext(0,o)}selectstmt(){return this.getRuleContext(0,Yt)}explainstmt(){return this.getRuleContext(0,A2)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}DOT_DOT(){return this.getToken(t.DOT_DOT,0)}execute_param_clause(){return this.getRuleContext(0,yt)}KW_USING(){return this.getToken(t.KW_USING,0)}expr_list(){return this.getRuleContext(0,Ct)}KW_REVERSE(){return this.getToken(t.KW_REVERSE,0)}KW_BY(){return this.getToken(t.KW_BY,0)}get ruleIndex(){return t.RULE_for_control}enterRule(e){e.enterFor_control&&e.enterFor_control(this)}exitRule(e){e.exitFor_control&&e.exitFor_control(this)}accept(e){return e.visitFor_control?e.visitFor_control(this):e.visitChildren(this)}}class TW extends R{constructor(e,i){super(e,i)}KW_FOREACH(){return this.getToken(t.KW_FOREACH,0)}any_name_list(){return this.getRuleContext(0,L1)}KW_IN(){return this.getToken(t.KW_IN,0)}KW_ARRAY(){return this.getToken(t.KW_ARRAY,0)}expression(){return this.getRuleContext(0,y)}loop_body(){return this.getRuleContext(0,A3)}label_decl(){return this.getRuleContext(0,Gi)}KW_SLICE(){return this.getToken(t.KW_SLICE,0)}Integral(){return this.getToken(t.Integral,0)}get ruleIndex(){return t.RULE_stmt_foreach_a}enterRule(e){e.enterStmt_foreach_a&&e.enterStmt_foreach_a(this)}exitRule(e){e.exitStmt_foreach_a&&e.exitStmt_foreach_a(this)}accept(e){return e.visitStmt_foreach_a?e.visitStmt_foreach_a(this):e.visitChildren(this)}}class AW extends R{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}KW_EXIT(){return this.getToken(t.KW_EXIT,0)}KW_CONTINUE(){return this.getToken(t.KW_CONTINUE,0)}any_identifier(){return this.getRuleContext(0,je)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}sql_expression(){return this.getRuleContext(0,he)}get ruleIndex(){return t.RULE_stmt_exit}enterRule(e){e.enterStmt_exit&&e.enterStmt_exit(this)}exitRule(e){e.exitStmt_exit&&e.exitStmt_exit(this)}accept(e){return e.visitStmt_exit?e.visitStmt_exit(this):e.visitChildren(this)}}class _W extends R{constructor(e,i){super(e,i)}KW_RETURN(){return this.getToken(t.KW_RETURN,0)}SEMI(){return this.getToken(t.SEMI,0)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}sql_expression(){return this.getRuleContext(0,he)}KW_QUERY(){return this.getToken(t.KW_QUERY,0)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}expression(){return this.getRuleContext(0,y)}KW_USING(){return this.getToken(t.KW_USING,0)}expr_list(){return this.getRuleContext(0,Ct)}selectstmt(){return this.getRuleContext(0,Yt)}get ruleIndex(){return t.RULE_stmt_return}enterRule(e){e.enterStmt_return&&e.enterStmt_return(this)}exitRule(e){e.exitStmt_return&&e.exitStmt_return(this)}accept(e){return e.visitStmt_return?e.visitStmt_return(this):e.visitChildren(this)}}class NW extends R{constructor(e,i){super(e,i)}KW_RAISE(){return this.getToken(t.KW_RAISE,0)}SEMI(){return this.getToken(t.SEMI,0)}identifier(){return this.getRuleContext(0,wt)}KW_USING(){return this.getToken(t.KW_USING,0)}KW_DEBUG(){return this.getToken(t.KW_DEBUG,0)}KW_LOG(){return this.getToken(t.KW_LOG,0)}KW_INFO(){return this.getToken(t.KW_INFO,0)}KW_NOTICE(){return this.getToken(t.KW_NOTICE,0)}KW_WARNING(){return this.getToken(t.KW_WARNING,0)}KW_EXCEPTION(){return this.getToken(t.KW_EXCEPTION,0)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}sconst(){return this.getRuleContext(0,Z)}opt_raise_using_elem(e){return e===void 0?this.getRuleContexts(T3):this.getRuleContext(e,T3)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}expression(e){return e===void 0?this.getRuleContexts(y):this.getRuleContext(e,y)}get ruleIndex(){return t.RULE_stmt_raise}enterRule(e){e.enterStmt_raise&&e.enterStmt_raise(this)}exitRule(e){e.exitStmt_raise&&e.exitStmt_raise(this)}accept(e){return e.visitStmt_raise?e.visitStmt_raise(this):e.visitChildren(this)}}class T3 extends R{constructor(e,i){super(e,i)}identifier(){return this.getRuleContext(0,wt)}EQUAL(){return this.getToken(t.EQUAL,0)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return t.RULE_opt_raise_using_elem}enterRule(e){e.enterOpt_raise_using_elem&&e.enterOpt_raise_using_elem(this)}exitRule(e){e.exitOpt_raise_using_elem&&e.exitOpt_raise_using_elem(this)}accept(e){return e.visitOpt_raise_using_elem?e.visitOpt_raise_using_elem(this):e.visitChildren(this)}}class CW extends R{constructor(e,i){super(e,i)}KW_ASSERT(){return this.getToken(t.KW_ASSERT,0)}sql_expression(e){return e===void 0?this.getRuleContexts(he):this.getRuleContext(e,he)}SEMI(){return this.getToken(t.SEMI,0)}COMMA(){return this.getToken(t.COMMA,0)}get ruleIndex(){return t.RULE_stmt_assert}enterRule(e){e.enterStmt_assert&&e.enterStmt_assert(this)}exitRule(e){e.exitStmt_assert&&e.exitStmt_assert(this)}accept(e){return e.visitStmt_assert?e.visitStmt_assert(this):e.visitChildren(this)}}class A3 extends R{constructor(e,i){super(e,i)}KW_LOOP(e){return e===void 0?this.getTokens(t.KW_LOOP):this.getToken(t.KW_LOOP,e)}KW_END(){return this.getToken(t.KW_END,0)}SEMI(){return this.getToken(t.SEMI,0)}proc_stmt(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}any_identifier(){return this.getRuleContext(0,je)}get ruleIndex(){return t.RULE_loop_body}enterRule(e){e.enterLoop_body&&e.enterLoop_body(this)}exitRule(e){e.exitLoop_body&&e.exitLoop_body(this)}accept(e){return e.visitLoop_body?e.visitLoop_body(this):e.visitChildren(this)}}class IW extends R{constructor(e,i){super(e,i)}stmt(){return this.getRuleContext(0,Ns)}SEMI(){return this.getToken(t.SEMI,0)}opt_execute_into(){return this.getRuleContext(0,_3)}get ruleIndex(){return t.RULE_stmt_execsql}enterRule(e){e.enterStmt_execsql&&e.enterStmt_execsql(this)}exitRule(e){e.exitStmt_execsql&&e.exitStmt_execsql(this)}accept(e){return e.visitStmt_execsql?e.visitStmt_execsql(this):e.visitChildren(this)}}class LW extends R{constructor(e,i){super(e,i)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}expression(){return this.getRuleContext(0,y)}SEMI(){return this.getToken(t.SEMI,0)}opt_execute_into(){return this.getRuleContext(0,_3)}KW_USING(){return this.getToken(t.KW_USING,0)}expr_list(){return this.getRuleContext(0,Ct)}get ruleIndex(){return t.RULE_stmt_dynexecute}enterRule(e){e.enterStmt_dynexecute&&e.enterStmt_dynexecute(this)}exitRule(e){e.exitStmt_dynexecute&&e.exitStmt_dynexecute(this)}accept(e){return e.visitStmt_dynexecute?e.visitStmt_dynexecute(this):e.visitChildren(this)}}class _3 extends R{constructor(e,i){super(e,i)}KW_INTO(){return this.getToken(t.KW_INTO,0)}expr_list(){return this.getRuleContext(0,Ct)}KW_STRICT(){return this.getToken(t.KW_STRICT,0)}get ruleIndex(){return t.RULE_opt_execute_into}enterRule(e){e.enterOpt_execute_into&&e.enterOpt_execute_into(this)}exitRule(e){e.exitOpt_execute_into&&e.exitOpt_execute_into(this)}accept(e){return e.visitOpt_execute_into?e.visitOpt_execute_into(this):e.visitChildren(this)}}class OW extends R{constructor(e,i){super(e,i)}KW_OPEN(){return this.getToken(t.KW_OPEN,0)}SEMI(){return this.getToken(t.SEMI,0)}cursor_variable(){return this.getRuleContext(0,Vi)}KW_FOR(){return this.getToken(t.KW_FOR,0)}colid(){return this.getRuleContext(0,o)}selectstmt(){return this.getRuleContext(0,Yt)}KW_EXECUTE(){return this.getToken(t.KW_EXECUTE,0)}sql_expression(){return this.getRuleContext(0,he)}KW_SCROLL(){return this.getToken(t.KW_SCROLL,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}KW_USING(){return this.getToken(t.KW_USING,0)}expr_list(){return this.getRuleContext(0,Ct)}opt_open_bound_list_item(e){return e===void 0?this.getRuleContexts(N3):this.getRuleContext(e,N3)}KW_NO(){return this.getToken(t.KW_NO,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_stmt_open}enterRule(e){e.enterStmt_open&&e.enterStmt_open(this)}exitRule(e){e.exitStmt_open&&e.exitStmt_open(this)}accept(e){return e.visitStmt_open?e.visitStmt_open(this):e.visitChildren(this)}}class N3 extends R{constructor(e,i){super(e,i)}expression(){return this.getRuleContext(0,y)}colid(){return this.getRuleContext(0,o)}COLON_EQUALS(){return this.getToken(t.COLON_EQUALS,0)}get ruleIndex(){return t.RULE_opt_open_bound_list_item}enterRule(e){e.enterOpt_open_bound_list_item&&e.enterOpt_open_bound_list_item(this)}exitRule(e){e.exitOpt_open_bound_list_item&&e.exitOpt_open_bound_list_item(this)}accept(e){return e.visitOpt_open_bound_list_item?e.visitOpt_open_bound_list_item(this):e.visitChildren(this)}}class dW extends R{constructor(e,i){super(e,i)}KW_FETCH(){return this.getToken(t.KW_FETCH,0)}cursor_variable(){return this.getRuleContext(0,Vi)}KW_INTO(){return this.getToken(t.KW_INTO,0)}expr_list(){return this.getRuleContext(0,Ct)}SEMI(){return this.getToken(t.SEMI,0)}from_in(){return this.getRuleContext(0,Qa)}opt_fetch_direction(){return this.getRuleContext(0,C3)}get ruleIndex(){return t.RULE_stmt_fetch}enterRule(e){e.enterStmt_fetch&&e.enterStmt_fetch(this)}exitRule(e){e.exitStmt_fetch&&e.exitStmt_fetch(this)}accept(e){return e.visitStmt_fetch?e.visitStmt_fetch(this):e.visitChildren(this)}}class C3 extends R{constructor(e,i){super(e,i)}KW_NEXT(){return this.getToken(t.KW_NEXT,0)}KW_PRIOR(){return this.getToken(t.KW_PRIOR,0)}KW_FIRST(){return this.getToken(t.KW_FIRST,0)}KW_LAST(){return this.getToken(t.KW_LAST,0)}expression(){return this.getRuleContext(0,y)}KW_ABSOLUTE(){return this.getToken(t.KW_ABSOLUTE,0)}KW_RELATIVE(){return this.getToken(t.KW_RELATIVE,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}KW_FORWARD(){return this.getToken(t.KW_FORWARD,0)}KW_BACKWARD(){return this.getToken(t.KW_BACKWARD,0)}get ruleIndex(){return t.RULE_opt_fetch_direction}enterRule(e){e.enterOpt_fetch_direction&&e.enterOpt_fetch_direction(this)}exitRule(e){e.exitOpt_fetch_direction&&e.exitOpt_fetch_direction(this)}accept(e){return e.visitOpt_fetch_direction?e.visitOpt_fetch_direction(this):e.visitChildren(this)}}class mW extends R{constructor(e,i){super(e,i)}KW_MOVE(){return this.getToken(t.KW_MOVE,0)}cursor_variable(){return this.getRuleContext(0,Vi)}SEMI(){return this.getToken(t.SEMI,0)}opt_fetch_direction(){return this.getRuleContext(0,C3)}get ruleIndex(){return t.RULE_stmt_move}enterRule(e){e.enterStmt_move&&e.enterStmt_move(this)}exitRule(e){e.exitStmt_move&&e.exitStmt_move(this)}accept(e){return e.visitStmt_move?e.visitStmt_move(this):e.visitChildren(this)}}class oW extends R{constructor(e,i){super(e,i)}KW_MERGE(){return this.getToken(t.KW_MERGE,0)}KW_INTO(){return this.getToken(t.KW_INTO,0)}table_name(){return this.getRuleContext(0,ot)}KW_USING(){return this.getToken(t.KW_USING,0)}data_source(){return this.getRuleContext(0,pW)}KW_ON(){return this.getToken(t.KW_ON,0)}expression(){return this.getRuleContext(0,y)}with_clause(){return this.getRuleContext(0,Q0)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}colid(){return this.getRuleContext(0,o)}merge_when_clause(e){return e===void 0?this.getRuleContexts(I3):this.getRuleContext(e,I3)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_mergestmt}enterRule(e){e.enterMergestmt&&e.enterMergestmt(this)}exitRule(e){e.exitMergestmt&&e.exitMergestmt(this)}accept(e){return e.visitMergestmt?e.visitMergestmt(this):e.visitChildren(this)}}class pW extends R{constructor(e,i){super(e,i)}table_name(){return this.getRuleContext(0,ot)}colid(){return this.getRuleContext(0,o)}select_no_parens(){return this.getRuleContext(0,Xs)}values_clause(){return this.getRuleContext(0,l2)}KW_ONLY(){return this.getToken(t.KW_ONLY,0)}STAR(){return this.getToken(t.STAR,0)}KW_AS(){return this.getToken(t.KW_AS,0)}get ruleIndex(){return t.RULE_data_source}enterRule(e){e.enterData_source&&e.enterData_source(this)}exitRule(e){e.exitData_source&&e.exitData_source(this)}accept(e){return e.visitData_source?e.visitData_source(this):e.visitChildren(this)}}class I3 extends R{constructor(e,i){super(e,i)}KW_WHEN(){return this.getToken(t.KW_WHEN,0)}KW_MATCHED(){return this.getToken(t.KW_MATCHED,0)}KW_THEN(){return this.getToken(t.KW_THEN,0)}merge_update(){return this.getRuleContext(0,xW)}KW_DELETE(){return this.getToken(t.KW_DELETE,0)}KW_DO(){return this.getToken(t.KW_DO,0)}KW_NOTHING(){return this.getToken(t.KW_NOTHING,0)}KW_AND(){return this.getToken(t.KW_AND,0)}expression(){return this.getRuleContext(0,y)}KW_NOT(){return this.getToken(t.KW_NOT,0)}merge_insert(){return this.getRuleContext(0,fW)}get ruleIndex(){return t.RULE_merge_when_clause}enterRule(e){e.enterMerge_when_clause&&e.enterMerge_when_clause(this)}exitRule(e){e.exitMerge_when_clause&&e.exitMerge_when_clause(this)}accept(e){return e.visitMerge_when_clause?e.visitMerge_when_clause(this):e.visitChildren(this)}}class fW extends R{constructor(e,i){super(e,i)}KW_INSERT(){return this.getToken(t.KW_INSERT,0)}default_values_or_values(){return this.getRuleContext(0,L3)}opt_column_list(){return this.getRuleContext(0,Ut)}KW_OVERRIDING(){return this.getToken(t.KW_OVERRIDING,0)}KW_VALUE(){return this.getToken(t.KW_VALUE,0)}KW_SYSTEM(){return this.getToken(t.KW_SYSTEM,0)}KW_USER(){return this.getToken(t.KW_USER,0)}get ruleIndex(){return t.RULE_merge_insert}enterRule(e){e.enterMerge_insert&&e.enterMerge_insert(this)}exitRule(e){e.exitMerge_insert&&e.exitMerge_insert(this)}accept(e){return e.visitMerge_insert?e.visitMerge_insert(this):e.visitChildren(this)}}class xW extends R{constructor(e,i){super(e,i)}KW_UPDATE(){return this.getToken(t.KW_UPDATE,0)}KW_SET(){return this.getToken(t.KW_SET,0)}column_name(e){return e===void 0?this.getRuleContexts(Rt):this.getRuleContext(e,Rt)}EQUAL(e){return e===void 0?this.getTokens(t.EQUAL):this.getToken(t.EQUAL,e)}exprofdefault(e){return e===void 0?this.getRuleContexts(Bi):this.getRuleContext(e,Bi)}opt_column_list(e){return e===void 0?this.getRuleContexts(Ut):this.getRuleContext(e,Ut)}OPEN_PAREN(e){return e===void 0?this.getTokens(t.OPEN_PAREN):this.getToken(t.OPEN_PAREN,e)}CLOSE_PAREN(e){return e===void 0?this.getTokens(t.CLOSE_PAREN):this.getToken(t.CLOSE_PAREN,e)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}get ruleIndex(){return t.RULE_merge_update}enterRule(e){e.enterMerge_update&&e.enterMerge_update(this)}exitRule(e){e.exitMerge_update&&e.exitMerge_update(this)}accept(e){return e.visitMerge_update?e.visitMerge_update(this):e.visitChildren(this)}}class L3 extends R{constructor(e,i){super(e,i)}KW_VALUES(){return this.getToken(t.KW_VALUES,0)}OPEN_PAREN(){return this.getToken(t.OPEN_PAREN,0)}exprofdefault(e){return e===void 0?this.getRuleContexts(Bi):this.getRuleContext(e,Bi)}CLOSE_PAREN(){return this.getToken(t.CLOSE_PAREN,0)}COMMA(e){return e===void 0?this.getTokens(t.COMMA):this.getToken(t.COMMA,e)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_default_values_or_values}enterRule(e){e.enterDefault_values_or_values&&e.enterDefault_values_or_values(this)}exitRule(e){e.exitDefault_values_or_values&&e.exitDefault_values_or_values(this)}accept(e){return e.visitDefault_values_or_values?e.visitDefault_values_or_values(this):e.visitChildren(this)}}class Bi extends R{constructor(e,i){super(e,i)}sortby(){return this.getRuleContext(0,Qs)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}get ruleIndex(){return t.RULE_exprofdefault}enterRule(e){e.enterExprofdefault&&e.enterExprofdefault(this)}exitRule(e){e.exitExprofdefault&&e.exitExprofdefault(this)}accept(e){return e.visitExprofdefault?e.visitExprofdefault(this):e.visitChildren(this)}}class UW extends R{constructor(e,i){super(e,i)}KW_CLOSE(){return this.getToken(t.KW_CLOSE,0)}cursor_variable(){return this.getRuleContext(0,Vi)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_close}enterRule(e){e.enterStmt_close&&e.enterStmt_close(this)}exitRule(e){e.exitStmt_close&&e.exitStmt_close(this)}accept(e){return e.visitStmt_close?e.visitStmt_close(this):e.visitChildren(this)}}class lW extends R{constructor(e,i){super(e,i)}KW_NULL(){return this.getToken(t.KW_NULL,0)}SEMI(){return this.getToken(t.SEMI,0)}get ruleIndex(){return t.RULE_stmt_null}enterRule(e){e.enterStmt_null&&e.enterStmt_null(this)}exitRule(e){e.exitStmt_null&&e.exitStmt_null(this)}accept(e){return e.visitStmt_null?e.visitStmt_null(this):e.visitChildren(this)}}class kW extends R{constructor(e,i){super(e,i)}SEMI(){return this.getToken(t.SEMI,0)}KW_COMMIT(){return this.getToken(t.KW_COMMIT,0)}KW_ROLLBACK(){return this.getToken(t.KW_ROLLBACK,0)}KW_AND(){return this.getToken(t.KW_AND,0)}KW_CHAIN(){return this.getToken(t.KW_CHAIN,0)}KW_NO(){return this.getToken(t.KW_NO,0)}get ruleIndex(){return t.RULE_stmt_commit_or_rollback}enterRule(e){e.enterStmt_commit_or_rollback&&e.enterStmt_commit_or_rollback(this)}exitRule(e){e.exitStmt_commit_or_rollback&&e.exitStmt_commit_or_rollback(this)}accept(e){return e.visitStmt_commit_or_rollback?e.visitStmt_commit_or_rollback(this):e.visitChildren(this)}}class DW extends R{constructor(e,i){super(e,i)}KW_SET(){return this.getToken(t.KW_SET,0)}any_name(){return this.getRuleContext(0,B)}KW_TO(){return this.getToken(t.KW_TO,0)}KW_DEFAULT(){return this.getToken(t.KW_DEFAULT,0)}SEMI(){return this.getToken(t.SEMI,0)}KW_RESET(){return this.getToken(t.KW_RESET,0)}KW_ALL(){return this.getToken(t.KW_ALL,0)}get ruleIndex(){return t.RULE_stmt_set}enterRule(e){e.enterStmt_set&&e.enterStmt_set(this)}exitRule(e){e.exitStmt_set&&e.exitStmt_set(this)}accept(e){return e.visitStmt_set?e.visitStmt_set(this):e.visitChildren(this)}}class Vi extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}PARAM(){return this.getToken(t.PARAM,0)}get ruleIndex(){return t.RULE_cursor_variable}enterRule(e){e.enterCursor_variable&&e.enterCursor_variable(this)}exitRule(e){e.exitCursor_variable&&e.exitCursor_variable(this)}accept(e){return e.visitCursor_variable?e.visitCursor_variable(this):e.visitChildren(this)}}class MW extends R{constructor(e,i){super(e,i)}KW_EXCEPTION(){return this.getToken(t.KW_EXCEPTION,0)}KW_WHEN(e){return e===void 0?this.getTokens(t.KW_WHEN):this.getToken(t.KW_WHEN,e)}KW_THEN(e){return e===void 0?this.getTokens(t.KW_THEN):this.getToken(t.KW_THEN,e)}proc_condition(e){return e===void 0?this.getRuleContexts(O3):this.getRuleContext(e,O3)}proc_stmt(e){return e===void 0?this.getRuleContexts(Pt):this.getRuleContext(e,Pt)}KW_OR(e){return e===void 0?this.getTokens(t.KW_OR):this.getToken(t.KW_OR,e)}get ruleIndex(){return t.RULE_exception_sect}enterRule(e){e.enterException_sect&&e.enterException_sect(this)}exitRule(e){e.exitException_sect&&e.exitException_sect(this)}accept(e){return e.visitException_sect?e.visitException_sect(this):e.visitChildren(this)}}class O3 extends R{constructor(e,i){super(e,i)}any_identifier(){return this.getRuleContext(0,je)}KW_SQLSTATE(){return this.getToken(t.KW_SQLSTATE,0)}sconst(){return this.getRuleContext(0,Z)}get ruleIndex(){return t.RULE_proc_condition}enterRule(e){e.enterProc_condition&&e.enterProc_condition(this)}exitRule(e){e.exitProc_condition&&e.exitProc_condition(this)}accept(e){return e.visitProc_condition?e.visitProc_condition(this):e.visitChildren(this)}}class je extends R{constructor(e,i){super(e,i)}colid(){return this.getRuleContext(0,o)}unreserved_keyword(){return this.getRuleContext(0,a3)}get ruleIndex(){return t.RULE_any_identifier}enterRule(e){e.enterAny_identifier&&e.enterAny_identifier(this)}exitRule(e){e.exitAny_identifier&&e.exitAny_identifier(this)}accept(e){return e.visitAny_identifier?e.visitAny_identifier(this):e.visitChildren(this)}}class he extends R{constructor(e,i){super(e,i)}target_list(){return this.getRuleContext(0,c3)}into_clause(){return this.getRuleContext(0,p2)}from_clause(){return this.getRuleContext(0,Zs)}where_clause(){return this.getRuleContext(0,Xe)}group_clause(){return this.getRuleContext(0,HE)}KW_HAVING(){return this.getToken(t.KW_HAVING,0)}expression(){return this.getRuleContext(0,y)}window_clause(){return this.getRuleContext(0,ZE)}get ruleIndex(){return t.RULE_sql_expression}enterRule(e){e.enterSql_expression&&e.enterSql_expression(this)}exitRule(e){e.exitSql_expression&&e.exitSql_expression(this)}accept(e){return e.visitSql_expression?e.visitSql_expression(this):e.visitChildren(this)}}var j;(function(c){c.CATALOG="catalog",c.CATALOG_CREATE="catalogCreate",c.DATABASE="database",c.DATABASE_CREATE="databaseCreate",c.TABLE="table",c.TABLE_CREATE="tableCreate",c.VIEW="view",c.VIEW_CREATE="viewCreate",c.FUNCTION="function",c.FUNCTION_CREATE="functionCreate",c.PROCEDURE="procedure",c.PROCEDURE_CREATE="procedureCreate",c.COLUMN="column",c.COLUMN_CREATE="columnCreate"})(j||(j={}));var S8=Object.defineProperty,Et=(c,e)=>S8(c,"name",{value:e,configurable:!0}),T0=(Hc=class{constructor(e=""){A(this,"name");A(this,"context");A(this,"modifiers",new Set);A(this,"visibility",0);q(this,_t,void 0);this.name=e}get parent(){return x(this,_t)}get firstSibling(){var e;if(x(this,_t))return(e=x(this,_t))==null?void 0:e.firstChild}get previousSibling(){if(x(this,_t))return x(this,_t)?x(this,_t).previousSiblingOf(this):this}get nextSibling(){var e;return(e=x(this,_t))==null?void 0:e.nextSiblingOf(this)}get lastSibling(){var e;return(e=x(this,_t))==null?void 0:e.lastChild}get next(){var e;return(e=x(this,_t))==null?void 0:e.nextOf(this)}get root(){let e=x(this,_t);for(;e;){if(!e.parent||this.isSymbolTable(e.parent))return e;e=e.parent}return e}get symbolTable(){if(this.isSymbolTable(this))return this;let e=x(this,_t);for(;e;){if(this.isSymbolTable(e))return e;e=e.parent}}get symbolPath(){const e=[];let i=this;for(;i&&(e.push(i),!!i.parent);)i=i.parent;return e}setParent(e){z(this,_t,e)}removeFromParent(){var e;(e=x(this,_t))==null||e.removeSymbol(this),z(this,_t,void 0)}async resolve(e,i=!1){var n;return(n=x(this,_t))==null?void 0:n.resolve(e,i)}resolveSync(e,i=!1){var n;return(n=x(this,_t))==null?void 0:n.resolveSync(e,i)}getParentOfType(e){let i=x(this,_t);for(;i;){if(i instanceof e)return i;i=i.parent}}qualifiedName(e=".",i=!1,n=!1){if(!n&&this.name.length===0)return"";let s=this.name.length===0?"":this.name,h=x(this,_t);for(;h&&((n||h.name.length>0)&&(s=(h.name.length===0?"":h.name)+e+s),!(!i||!h.parent));)h=h.parent;return s}isSymbolTable(e){return e.info!==void 0}},_t=new WeakMap,Et(Hc,"BaseSymbol"),Hc);yc=class extends T0{constructor(i,n,s,h=0){super(i);A(this,"elementType");A(this,"size");A(this,"referenceKind");this.referenceKind=n,this.elementType=s,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},Et(yc,"ArrayType");var HW=(Fc=class extends Error{},Et(Fc,"DuplicateSymbolError"),Fc),A0=(Ee=class extends T0{constructor(i=""){super(i);q(this,st,[]);q(this,Fe,new Map)}get directScopes(){return this.getSymbolsOfType(Ee)}get children(){return x(this,st)}get firstChild(){if(x(this,st).length>0)return x(this,st)[0]}get lastChild(){if(x(this,st).length>0)return x(this,st)[x(this,st).length-1]}clear(){z(this,st,[]),x(this,Fe).clear()}addSymbol(i){i.removeFromParent();const n=this.symbolTable,s=x(this,Fe).get(i.name);if(!n||!n.options.allowDuplicateSymbols){if(s!==void 0)throw new HW("Attempt to add duplicate symbol '"+(i.name??"")+"'");if(x(this,Fe).set(i.name,1),x(this,st).indexOf(i)>-1)throw new HW("Attempt to add duplicate symbol '"+(i.name??"")+"'")}else x(this,Fe).set(i.name,s===void 0?1:s+1);x(this,st).push(i),i.setParent(this)}removeSymbol(i){const n=x(this,st).indexOf(i);if(n>-1){x(this,st).splice(n,1),i.setParent(void 0);const s=x(this,Fe).get(i.name);s!==void 0&&(s===1?x(this,Fe).delete(i.name):x(this,Fe).set(i.name,s-1))}}async getNestedSymbolsOfType(i){const n=[],s=[];return x(this,st).forEach(a=>{a instanceof i&&n.push(a),a instanceof Ee&&s.push(a.getNestedSymbolsOfType(i))}),(await Promise.all(s)).forEach(a=>{n.push(...a)}),n}getNestedSymbolsOfTypeSync(i){const n=[];return x(this,st).forEach(s=>{s instanceof i&&n.push(s),s instanceof Ee&&n.push(...s.getNestedSymbolsOfTypeSync(i))}),n}async getAllNestedSymbols(i){const n=[],s=[];return x(this,st).forEach(a=>{(!i||a.name===i)&&n.push(a),a instanceof Ee&&s.push(a.getAllNestedSymbols(i))}),(await Promise.all(s)).forEach(a=>{n.push(...a)}),n}getAllNestedSymbolsSync(i){const n=[];return x(this,st).forEach(s=>{(!i||s.name===i)&&n.push(s),s instanceof Ee&&n.push(...s.getAllNestedSymbolsSync(i))}),n}getSymbolsOfType(i){return new Promise(n=>{const s=[];x(this,st).forEach(h=>{h instanceof i&&s.push(h)}),n(s)})}async getAllSymbols(i,n=!1){const s=[];for(const h of x(this,st))if(h instanceof i&&s.push(h),this.isNamespace(h)){const a=await h.getAllSymbols(i,!0);s.push(...a)}if(!n&&this.parent){const h=await this.getAllSymbols(i,!0);s.push(...h)}return s}getAllSymbolsSync(i,n=!1){const s=[];for(const h of x(this,st))if(h instanceof i&&s.push(h),this.isNamespace(h)){const a=h.getAllSymbolsSync(i,!0);s.push(...a)}if(!n&&this.parent){const h=this.getAllSymbolsSync(i,!0);s.push(...h)}return s}async resolve(i,n=!1){return new Promise(s=>{for(const h of x(this,st))if(h.name===i){s(h);return}if(!n&&this.parent){s(this.parent.resolve(i,!1));return}s(void 0)})}resolveSync(i,n=!1){for(const s of x(this,st))if(s.name===i)return s;if(!n&&this.parent)return this.parent.resolveSync(i,!1)}symbolFromPath(i,n="."){const s=i.split(n);let h=0;(s[0]===this.name||s[0].length===0)&&++h;let a=this;for(;hW.name===s[h]);if(!E)return;a=E,++h}return a}indexOfChild(i){return x(this,st).findIndex(n=>n===i)}nextSiblingOf(i){const n=this.indexOfChild(i);if(!(n===-1||n>=x(this,st).length-1))return x(this,st)[n+1]}previousSiblingOf(i){const n=this.indexOfChild(i);if(!(n<1))return x(this,st)[n-1]}nextOf(i){if(!i.parent)return;if(i.parent!==this)return i.parent.nextOf(i);if(i instanceof Ee&&i.children.length>0)return i.children[0];const n=this.nextSiblingOf(i);return n||this.parent.nextOf(this)}isNamespace(i){return i.inline!==void 0&&i.attributes!==void 0}},st=new WeakMap,Fe=new WeakMap,Et(Ee,"ScopedSymbol"),Ee);wc=class extends A0{},Et(wc,"BlockSymbol");var yW=(bc=class extends T0{constructor(i,n){super(i);A(this,"type");this.type=n}},Et(bc,"TypedSymbol"),bc),d3=(vc=class extends yW{constructor(i,n,s){super(i,s);A(this,"value");this.value=n}},Et(vc,"VariableSymbol"),vc),FW=(Gc=class extends d3{constructor(){super(...arguments);A(this,"setter");A(this,"getter")}},Et(Gc,"FieldSymbol"),Gc),g8=(Bc=class extends d3{},Et(Bc,"ParameterSymbol"),Bc),q8=(Vc=class extends A0{constructor(i,n){super(i);A(this,"returnType");this.returnType=n}getVariables(i=!0){return this.getSymbolsOfType(d3)}getParameters(i=!0){return this.getSymbolsOfType(g8)}},Et(Vc,"RoutineSymbol"),Vc),wW=(Yc=class extends q8{constructor(){super(...arguments);A(this,"methodFlags",0)}},Et(Yc,"MethodSymbol"),Yc);Xc=class extends A0{constructor(i,n,s){super(i);A(this,"isStruct",!1);A(this,"reference",0);A(this,"extends");A(this,"implements");this.extends=n,this.implements=s}get baseTypes(){return this.extends}get kind(){return 7}getMethods(i=!1){return this.getSymbolsOfType(wW)}getFields(i=!1){return this.getSymbolsOfType(FW)}},Et(Xc,"ClassSymbol"),ee=class{constructor(e,i=0,n=0){A(this,"name");A(this,"typeKind");A(this,"referenceKind");this.name=e,this.typeKind=i,this.referenceKind=n}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},Et(ee,"FundamentalType"),A(ee,"integerType",new ee("int",1,3)),A(ee,"floatType",new ee("float",2,3)),A(ee,"stringType",new ee("string",4,3)),A(ee,"boolType",new ee("bool",6,3)),Qc=class extends A0{constructor(i,n){super(i);A(this,"reference",0);A(this,"extends");this.extends=n}get baseTypes(){return this.extends}get kind(){return 8}getMethods(i=!1){return this.getSymbolsOfType(wW)}getFields(i=!1){return this.getSymbolsOfType(FW)}},Et(Qc,"InterfaceSymbol"),Zc=class extends yW{constructor(i,n,s){super(i,s);A(this,"value");this.value=n}},Et(Zc,"LiteralSymbol");var ah=(rc=class extends A0{constructor(i,n=!1,s=[]){super(i);A(this,"inline");A(this,"attributes");this.inline=n,this.attributes=s}},Et(rc,"NamespaceSymbol"),rc);jc=class extends T0{constructor(i,n){super(i);A(this,"targetType");this.targetType=n}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},Et(jc,"TypeAlias");var P8=Et((c,e)=>{if(!c||!e)return[];let i;for(i=0;i=e||E.type===p.EOF)||E.type===p.EOF)break}const h=[],a=i?i.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[a],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const W of this.candidates.rules){let u="";for(const _ of W[1].ruleList)u+=this.ruleNames[_]+" ";console.log(this.ruleNames[W[0]]+", path: ",u)}const E=new Set;for(const W of this.candidates.tokens){let u=this.vocabulary.getDisplayName(W[0])??"";for(const _ of W[1])u+=" "+this.vocabulary.getDisplayName(_);E.add(u)}console.log(` + +Collected tokens: +`);for(const W of E)console.log(W);console.log(` + +`)}return this.candidates}checkPredicate(e){return e.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(e){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let i=e.length-1;i>=0;i--)if(this.translateToRuleIndex(i,e))return!0}else for(let i=0;iE);let a=!0;for(const E of this.candidates.rules)if(!(E[0]!==n||E[1].ruleList.length!==h.length)&&h.every((W,u)=>W===E[1].ruleList[u])){a=!1;break}return a&&(this.candidates.rules.set(n,{startTokenIndex:s,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[n])),!0}return!1}getFollowingTokens(e){const i=[],n=[e.target];for(;n.length>0;){const s=n.pop();s&&s.transitions.forEach(h=>{if(h.serializationType===b.ATOM)if(h.isEpsilon)n.push(h.target);else{const a=h.label.toArray();a.length===1&&!this.ignoredTokens.has(a[0])&&(i.push(a[0]),n.push(h.target))}})}return i}determineFollowSets(e,i){const n=[],s=[],h=[],a=this.collectFollowSets(e,i,n,s,h),E=new Dt;for(const W of n)E.addSet(W.intervals);return{sets:n,isExhaustive:a,combined:E}}collectFollowSets(e,i,n,s,h){if(s.find(E=>E===e))return!0;if(s.push(e),e===i||e.stateType===Q.RULE_STOP)return s.pop(),!1;let a=!0;for(const E of e.transitions)if(E.serializationType===b.RULE){const W=E;if(h.indexOf(W.target.ruleIndex)!==-1)continue;h.push(W.target.ruleIndex);const u=this.collectFollowSets(E.target,i,n,s,h);if(h.pop(),!u){const _=this.collectFollowSets(W.followState,i,n,s,h);a&&(a=_)}}else if(E.serializationType===b.PREDICATE){if(this.checkPredicate(E)){const W=this.collectFollowSets(E.target,i,n,s,h);a&&(a=W)}}else if(E.isEpsilon){const W=this.collectFollowSets(E.target,i,n,s,h);a&&(a=W)}else if(E.serializationType===b.WILDCARD){const W=new bW;W.intervals=Dt.of(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),W.path=h.slice(),n.push(W)}else{let W=E.label;if(W&&W.length>0){E.serializationType===b.NOT_SET&&(W=W.complement(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new bW;u.intervals=W??new Dt,u.path=h.slice(),u.following=this.getFollowingTokens(E),n.push(u)}}return s.pop(),a}processRule(e,i,n,s,h){let a=this.shortcutMap.get(e.ruleIndex);if(!a)a=new Map,this.shortcutMap.set(e.ruleIndex,a);else if(a.has(i))return this.showDebugOutput&&console.log("=====> shortcut"),a.get(i);const E=new Set;let W=Oe.followSetsByATN.get(this.parser.constructor.name);W||(W=new Map,Oe.followSetsByATN.set(this.parser.constructor.name,W));let u=W.get(e.stateNumber);if(!u){const d=this.atn.ruleToStopState[e.ruleIndex];u=this.determineFollowSets(e,d),W.set(e.stateNumber,u)}const _=this.tokens[i].tokenIndex;if(n.push({startTokenIndex:_,ruleIndex:e.ruleIndex}),i>=this.tokens.length-1){if(this.preferredRules.has(e.ruleIndex))this.translateStackToRuleIndex(n);else for(const d of u.sets){const f=n.slice(),k=d.path.map(D=>({startTokenIndex:_,ruleIndex:D}));if(f.push(...k),!this.translateStackToRuleIndex(f))for(const D of d.intervals.toArray())this.ignoredTokens.has(D)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(D)),this.candidates.tokens.has(D)?this.candidates.tokens.get(D)!==d.following&&this.candidates.tokens.set(D,[]):this.candidates.tokens.set(D,d.following))}return u.isExhaustive||E.add(i),n.pop(),E}else{const d=this.tokens[i].type;if(u.isExhaustive&&!u.combined.contains(d))return n.pop(),E}e.isPrecedenceRule&&this.precedenceStack.push(s);const N=[];let C;for(N.push({state:e,tokenListIndex:i});N.length>0;){C=N.pop(),++this.statesProcessed;const d=this.tokens[C.tokenListIndex].type,f=C.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,C.state,this.generateBaseDescription(C.state),C.tokenListIndex),this.showRuleStack&&this.printRuleState(n)),C.state.stateType===Q.RULE_STOP){E.add(C.tokenListIndex);continue}const k=C.state.transitions;for(const D of k)switch(D.serializationType){case b.RULE:{const F=D,m=this.processRule(D.target,C.tokenListIndex,n,F.precedence,h+1);for(const O of m)N.push({state:D.followState,tokenListIndex:O});break}case b.PREDICATE:{this.checkPredicate(D)&&N.push({state:D.target,tokenListIndex:C.tokenListIndex});break}case b.PRECEDENCE:{D.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&N.push({state:D.target,tokenListIndex:C.tokenListIndex});break}case b.WILDCARD:{if(f){if(!this.translateStackToRuleIndex(n))for(const F of Dt.of(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(F)||this.candidates.tokens.set(F,[])}else N.push({state:D.target,tokenListIndex:C.tokenListIndex+1});break}default:{if(D.isEpsilon){N.push({state:D.target,tokenListIndex:C.tokenListIndex});continue}let F=D.label;if(F&&F.length>0)if(D.serializationType===b.NOT_SET&&(F=F.complement(p.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),f){if(!this.translateStackToRuleIndex(n)){const m=F.toArray(),O=m.length===1;for(const U of m)if(!this.ignoredTokens.has(U)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(U));const l=O?this.getFollowingTokens(D):[];this.candidates.tokens.has(U)?this.candidates.tokens.set(U,P8(l,this.candidates.tokens.get(U))):this.candidates.tokens.set(U,l)}}}else F.contains(d)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(d)),N.push({state:D.target,tokenListIndex:C.tokenListIndex+1}))}}}return n.pop(),e.isPrecedenceRule&&this.precedenceStack.pop(),a.set(i,E),E}generateBaseDescription(e){return`[${e.stateNumber===fe.INVALID_STATE_NUMBER?"Invalid":e.stateNumber} ${Oe.atnStateTypeMap[e.stateType]}] in ${this.ruleNames[e.ruleIndex]}`}printDescription(e,i,n,s){const h=" ".repeat(e);let a=h,E="";if(this.debugOutputWithTransitions)for(const W of i.transitions){let u="";const _=W.label?W.label.toArray():[];if(_.length>2)u=this.vocabulary.getDisplayName(_[0])+" .. "+this.vocabulary.getDisplayName(_[_.length-1]);else for(const N of _)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(N);u.length===0&&(u="ε"),E+=` +${h} (${u}) [${W.target.stateNumber} ${Oe.atnStateTypeMap[W.target.stateType]}] in ${this.ruleNames[W.target.ruleIndex]}`}s>=this.tokens.length-1?a+=`<<${this.tokenStartIndex+s}>> `:a+=`<${this.tokenStartIndex+s}> `,console.log(a+"Current state: "+n+E)}printRuleState(e){if(e.length===0){console.log("");return}for(const i of e)console.log(this.ruleNames[i.ruleIndex])}},Et(Oe,"CodeCompletionCore"),A(Oe,"followSetsByATN",new Map),A(Oe,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),Oe);Jc=class extends A0{constructor(i,n){super(i);A(this,"dependencies",new Set);this.options=n}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...i){i.forEach(n=>{this.dependencies.add(n)})}removeDependency(i){this.dependencies.has(i)&&this.dependencies.delete(i)}addNewSymbolOfType(i,n,...s){const h=new i(...s);return!n||n===this?this.addSymbol(h):n.addSymbol(h),h}async addNewNamespaceFromPath(i,n,s="."){const h=n.split(s);let a=0,E=i===void 0?this:i;for(;aa.getAllSymbols(i,n)))).forEach(a=>{s.push(...a)}),s}getAllSymbolsSync(i,n=!1){const s=super.getAllSymbolsSync(i,n);return n||this.dependencies.forEach(h=>{s.push(...h.getAllSymbolsSync(i,n))}),s}async symbolWithContext(i){const n=Et(h=>{if(h.context===i)return h;if(h instanceof A0)for(const a of h.children){const E=n(a);if(E)return E}},"findRecursive");let s=await this.getAllSymbols(T0);for(const h of s){const a=n(h);if(a)return a}for(const h of this.dependencies){s=await h.getAllSymbols(T0);for(const a of s){const E=n(a);if(E)return E}}}symbolWithContextSync(i){const n=Et(h=>{if(h.context===i)return h;if(h instanceof A0)for(const a of h.children){const E=n(a);if(E)return E}},"findRecursive");let s=this.getAllSymbolsSync(T0);for(const h of s){const a=n(h);if(a)return a}for(const h of this.dependencies){s=h.getAllSymbolsSync(T0);for(const a of s){const E=n(a);if(E)return E}}}async resolve(i,n=!1){let s=await super.resolve(i,n);if(!s&&!n){for(const h of this.dependencies)if(s=await h.resolve(i,!1),s)return s}return s}resolveSync(i,n=!1){let s=super.resolveSync(i,n);if(!s&&!n){for(const h of this.dependencies)if(s=h.resolveSync(i,!1),s)return s}return s}},Et(Jc,"SymbolTable");function GW(c,e){var i,n;const{lineNumber:s,column:h}=c;let a=0,E=e.length-1;for(;a<=E;){const W=a+(E-a>>1),u=e[W];if(u.line>s||u.line===s&&u.column+1>=h)E=W-1;else if(u.line{this._parseErrors.push(e)},this.locale="en_US"}createLexer(e,i){const n=Sh.fromString(e),s=this.createLexerFromCharStream(n);return i&&(s.removeErrorListeners(),s.addErrorListener(this.createErrorListener(i))),s}createParser(e,i){const n=this.createLexer(e,i),s=new Ts(n),h=this.createParserFromTokenStream(s);return h.interpreter.predictionMode=dt.SLL,i&&(h.removeErrorListeners(),h.addErrorListener(this.createErrorListener(i))),h}parse(e,i){const n=this.createParser(e,i);return n.buildParseTrees=!0,n.errorHandler=new m3,n.program()}createParserWithCache(e){return this._parseTree=null,this._charStreams=Sh.fromString(e),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new Ts(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=dt.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new m3,this._parser}parseWithCache(e,i){if(this._parsedInput===e&&!i&&this._parseTree)return this._parseTree;this._parseErrors=[];const n=this.createParserWithCache(e);return this._parsedInput=e,n.removeErrorListeners(),n.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=n.program(),this._parseTree}validate(e){return this.parseWithCache(e),this._parseErrors}getAllTokens(e){this.parseWithCache(e);let i=this._tokenStream.getTokens();return i[i.length-1].text===""&&(i=i.slice(0,-1)),i}listen(e,i){$6.DEFAULT.walk(e,i)}splitSQLByStatement(e){if(this.validate(e).length||!this._parseTree)return null;const n=this.splitListener;return this.listen(n,this._parseTree),n.statementsContext.map(h=>Eh(h,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(e,i){var n,s,h,a,E,W,u,_,N;const C=this.splitListener;if(this.parseWithCache(e),!this._parseTree)return null;let d=this._parser;const f=this.getAllTokens(e);let k=GW(i,f),D=this._parseTree,F=0;if(!k&&k!==0)return null;this.listen(C,this._parseTree);const m=(n=C.statementsContext)===null||n===void 0?void 0:n.length,O=C.statementsContext;if(m>1){let H=null,r=null;for(let c1=0;c1k&&Iu){r=s1;break}}const Lt=(E=(a=H==null?void 0:H.start)===null||a===void 0?void 0:a.start)!==null&&E!==void 0?E:0,g=(u=(W=r==null?void 0:r.stop)===null||W===void 0?void 0:W.stop)!==null&&u!==void 0?u:e.length-1;F=(N=(_=H==null?void 0:H.start)===null||_===void 0?void 0:_.tokenIndex)!==null&&N!==void 0?N:0,k=k-F;const V=e.slice(Lt,g),de=this.createLexer(V);de.removeErrorListeners();const ZW=new Ts(de);ZW.fill();const z1=this.createParserFromTokenStream(ZW);z1.interpreter.predictionMode=dt.SLL,z1.removeErrorListeners(),z1.buildParseTrees=!0,z1.errorHandler=new m3,d=z1,D=z1.program()}const U=new vW(d);U.preferredRules=this.preferredRules;const l=U.collectCandidates(k,D),v=this.processCandidates(l,f,k,F);return{syntax:v.syntax.map(H=>{const r=H.wordRanges.map(Lt=>BW(Lt,this._parsedInput));return{syntaxContextType:H.syntaxContextType,wordRanges:r}}),keywords:v.keywords}}getAllEntities(e,i){const n=this.getAllTokens(e),s=i?GW(i,n):void 0,h=this.createEntityCollector(e,s),a=this.parseWithCache(e);return this.listen(h,a),h.getEntities()}}class VW{constructor(){this.stack=[]}push(e){this.stack.push(e)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var o3=function(c,e){var i={};for(var n in c)Object.prototype.hasOwnProperty.call(c,n)&&e.indexOf(n)<0&&(i[n]=c[n]);if(c!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(c);s=0&&(s=!!e.start&&!!e.stop&&e.start.tokenIndex<=this._caretTokenIndex&&e.stop.tokenIndex>=this._caretTokenIndex);const h=nu(e,i,this._input,this._rootStmt,this._stmtStack.peek(),s);return h&&((this._stmtStack.isEmpty()||((n=this._stmtStack.peek())===null||n===void 0?void 0:n.stmtContextType)===pt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const e=this._stmtStack.pop();return e&&this._rootStmt===e&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(e)),e}pushEntity(e,i,n){const s=su(e,i,this._input,this._stmtStack.peek(),n);return s&&(this._stmtStack.isEmpty()?this._entitiesSet.add(s):this._entityStack.push(s)),s}combineEntitiesAndAdd(e){const i=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===e||this._entityStack.peek().belongStmt.rootStmt===e);)i.unshift(this._entityStack.pop());const n=this.combineRootStmtEntities(e,i);for(;n.length;){const s=n.shift();s&&this._entitiesSet.add(s)}}combineRootStmtEntities(e,i){return e.stmtContextType===pt.CREATE_VIEW_STMT||e.stmtContextType===pt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(e,i):i}combineCreateTableOrViewStmtEntities(e,i){const n=[],s=[];let h=null;const a=i.reduce((E,W)=>{if(W.belongStmt!==e)return W.entityContextType!==j.COLUMN&&W.entityContextType!==j.COLUMN_CREATE&&(s.push(W),E.push(W)),E;if(W.entityContextType===j.COLUMN_CREATE)n.push(W);else{if(W.entityContextType===j.TABLE_CREATE||W.entityContextType===j.VIEW_CREATE)return h=W,E.push(W),E;W.entityContextType!==j.COLUMN&&(s.push(W),E.push(W))}return E},[]);return h&&n.length&&YW(h)&&(h=Object.assign(h,{columns:n})),h&&s.length&&(YW(h)||cu(h))&&(h=Object.assign(h,{relatedEntities:s})),a}}class au extends hu{exitDatabaseName(e){this.pushEntity(e,j.DATABASE)}exitDatabaseNameCreate(e){this.pushEntity(e,j.DATABASE_CREATE)}exitTableName(e){var i;const n=((i=this.getRootStmt())===null||i===void 0?void 0:i.stmtContextType)===pt.SELECT_STMT;this.pushEntity(e,j.TABLE,n?[{attrName:_0.alias,endContextList:[K0.name]}]:void 0)}exitTableNameCreate(e){this.pushEntity(e,j.TABLE_CREATE)}exitViewName(e){var i;const n=((i=this.getRootStmt())===null||i===void 0?void 0:i.stmtContextType)===pt.SELECT_STMT;this.pushEntity(e,j.VIEW,n?[{attrName:_0.alias,endContextList:[K0.name]}]:void 0)}exitViewNameCreate(e){this.pushEntity(e,j.VIEW_CREATE)}exitFunctionNameCreate(e){this.pushEntity(e,j.FUNCTION_CREATE)}exitColumnNameCreate(e){this.pushEntity(e,j.COLUMN_CREATE,[{attrName:_0.comment,endContextList:[Ai.name]},{attrName:_0.colType,endContextList:[Ai.name]}])}exitProcedureName(e){this.pushEntity(e,j.PROCEDURE)}exitProcedureNameCreate(e){this.pushEntity(e,j.PROCEDURE_CREATE)}enterSingleStatement(e){this.pushStmt(e,pt.COMMON_STMT)}exitSingleStatement(e){this.popStmt()}enterCreateDatabase(e){this.pushStmt(e,pt.CREATE_DATABASE_STMT)}exitCreateDatabase(e){this.popStmt()}enterQueryCreateTable(e){this.pushStmt(e,pt.CREATE_TABLE_STMT)}exitQueryCreateTable(e){this.popStmt()}enterColumnCreateTable(e){this.pushStmt(e,pt.CREATE_TABLE_STMT)}exitColumnCreateTable(e){this.popStmt()}enterCreateForeignTable(e){this.pushStmt(e,pt.CREATE_TABLE_STMT)}exitCreateForeignTable(e){this.popStmt()}enterCreatePartitionForeignTable(e){this.pushStmt(e,pt.CREATE_TABLE_STMT)}exitCreatePartitionForeignTable(e){this.popStmt()}enterCreateView(e){this.pushStmt(e,pt.CREATE_VIEW_STMT)}exitCreateView(e){this.popStmt()}enterCreateMaterializedView(e){this.pushStmt(e,pt.CREATE_VIEW_STMT)}exitCreateMaterializedView(e){this.popStmt()}enterSelectStatement(e){this.pushStmt(e,pt.SELECT_STMT)}exitSelectStatement(e){this.popStmt()}enterInsertStatement(e){this.pushStmt(e,pt.INSERT_STMT)}exitInsertStatement(e){this.popStmt()}enterCreatefunctionstmt(e){this.pushStmt(e,pt.CREATE_FUNCTION_STMT)}exitCreatefunctionstmt(e){this.popStmt()}enterAltertablestmt(e){this.pushStmt(e,pt.ALTER_TABLE_STMT)}exitAltertablestmt(e){this.popStmt()}}class Eu{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class Wu extends Eu{exitSingleStmt(e){this._statementsContext.push(e)}}const Ku={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function uu(c,e){const i=/{([^}]+)}/g;return c.replace(i,(n,s)=>Ku[e][s]||"")}class Ru{constructor(e,i="en_US"){this.locale=i,this._errorListener=e}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(e,i,n,s,h,a){var E;let W="";if(i){let _=i;const N=e,C=_.type===p.EOF;C&&(_=N.tokenStream.get(_.tokenIndex-1));const d=(E=_.text)!==null&&E!==void 0?E:"",k=C&&d!==" "?"":this.getExpectedText(N,_);if(a)a instanceof a0||a instanceof I?(C?W="{stmtInComplete}":W=`'${d}' {noValidPosition}`,k.length>0&&(W+=`{expecting}${k}`)):W=h;else if(W=h,h.includes("extraneous")&&(W=`'${d}' {noValidPosition}${k.length?`{expecting}${k}`:""}`),h.includes("missing")){const D=/missing\s+'([^']+)'/,F=h.match(D);if(W="{missing}",F){const m=F[1];W+=`'${m}'`}else W+="{keyword}";W+=`{at}'${d}'`}}else if(a instanceof ni){const _=e,N=_.inputStream;let C=_.getErrorDisplay(N.getText(_._tokenStartCharIndex,N.index));switch(C[0]){case"/":W="{unfinishedMultilineComment}";break;case'"':W="{unfinishedDoubleQuoted}";break;case"'":W="{unfinishedSingleQuoted}";break;case"`":W="{unfinishedTickQuoted}";break;default:W='"'+C+'" {noValidInput}';break}}W=uu(W,this.locale);let u=s+1;i&&i.text!==null&&(u=s+i.text.length),this._errorListener&&this._errorListener({startLine:n,endLine:n,startColumn:s+1,endColumn:u+1,message:W},{e:a,line:n,msg:h,recognizer:e,offendingSymbol:i,charPositionInLine:s})}}class Tu extends Ru{constructor(e,i,n){super(e,n),this.objectNames=new Map([[t.RULE_database_name,"database"],[t.RULE_database_name_create,"database"],[t.RULE_table_name,"table"],[t.RULE_table_name_create,"table"],[t.RULE_view_name,"view"],[t.RULE_view_name_create,"view"],[t.RULE_function_name,"function"],[t.RULE_function_name_create,"function"],[t.RULE_column_name,"column"],[t.RULE_column_name_create,"column"],[t.RULE_schema_name_create,"schema"],[t.RULE_schema_name,"schema"],[t.RULE_procedure_name_create,"procedure"],[t.RULE_procedure_name,"procedure"]]),this.preferredRules=i}getExpectedText(e,i){var n;let s="",h=(n=e.context)!==null&&n!==void 0?n:void 0;for(;h!=null&&h.parent;)h=h.parent;const a=new vW(e);a.preferredRules=this.preferredRules;const E=a.collectCandidates(i.tokenIndex,h);if(E.rules.size){const W=[];for(const u of E.rules){const[_]=u,N=this.objectNames.get(_);switch(_){case t.RULE_table_name:case t.RULE_function_name:case t.RULE_schema_name:case t.RULE_view_name:case t.RULE_database_name:case t.RULE_procedure_name:case t.RULE_column_name:{W.push(`{existing}${N}`);break}case t.RULE_table_name_create:case t.RULE_function_name_create:case t.RULE_schema_name_create:case t.RULE_view_name_create:case t.RULE_database_name_create:case t.RULE_procedure_name_create:case t.RULE_column_name_create:{W.push(`{new}${N}`);break}}}s=W.join("{or}")}return E.tokens.size&&(s+=s?"{orKeyword}":"{keyword}"),s}}class Au extends iu{constructor(){super(...arguments),this.preferredRules=new Set([t.RULE_table_name_create,t.RULE_table_name,t.RULE_function_name,t.RULE_function_name_create,t.RULE_schema_name_create,t.RULE_schema_name,t.RULE_view_name_create,t.RULE_view_name,t.RULE_database_name_create,t.RULE_database_name,t.RULE_procedure_name_create,t.RULE_procedure_name,t.RULE_column_name_create,t.RULE_column_name])}createLexerFromCharStream(e){return new K(e)}createParserFromTokenStream(e){return new t(e)}get splitListener(){return new Wu}createErrorListener(e){return new Tu(e,this.preferredRules,this.locale)}createEntityCollector(e,i){return new au(e,i)}processCandidates(e,i,n,s){const h=[],a=[];for(let E of e.rules){const[W,u]=E,_=u.startTokenIndex+s,N=i.slice(_,n+s+1);let C;switch(W){case t.RULE_table_name_create:{C=j.TABLE_CREATE;break}case t.RULE_table_name:{C=j.TABLE;break}case t.RULE_function_name_create:{C=j.FUNCTION_CREATE;break}case t.RULE_function_name:{C=j.FUNCTION;break}case t.RULE_schema_name_create:{C=j.DATABASE_CREATE;break}case t.RULE_schema_name:{C=j.DATABASE;break}case t.RULE_view_name_create:{C=j.VIEW_CREATE;break}case t.RULE_view_name:{C=j.VIEW;break}case t.RULE_database_name_create:{C=j.DATABASE_CREATE;break}case t.RULE_database_name:{C=j.DATABASE;break}case t.RULE_procedure_name_create:{C=j.PROCEDURE_CREATE;break}case t.RULE_procedure_name:{C=j.PROCEDURE;break}case t.RULE_column_name_create:{C=j.COLUMN_CREATE;break}case t.RULE_column_name:{C=j.COLUMN;break}}C&&h.push({syntaxContextType:C,wordRanges:N})}for(let E of e.tokens){const W=this._parser.vocabulary.getSymbolicName(E[0]),u=this._parser.vocabulary.getDisplayName(E[0]);if(u&&W&&W.startsWith("KW_")){const _=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;a.push(_)}}return{syntax:h,keywords:a}}}var Yi=function(c,e,i,n){function s(h){return h instanceof i?h:new i(function(a){a(h)})}return new(i||(i=Promise))(function(h,a){function E(_){try{u(n.next(_))}catch(N){a(N)}}function W(_){try{u(n.throw(_))}catch(N){a(N)}}function u(_){_.done?h(_.value):s(_.value).then(E,W)}u((n=n.apply(c,e||[])).next())})};class _u{constructor(e,i){this.keywords=[]}doValidation(e){return Yi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const i=this.parser.validate(e);return Promise.resolve(i)}return Promise.resolve([])})}parserTreeToString(e){return Yi(this,void 0,void 0,function*(){if(e){const i=this.parser.createParser(e),s=i.program().toStringTree(i);return Promise.resolve(s)}return Promise.resolve("")})}doCompletion(e,i){return Yi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const n=this.parser.getSuggestionAtCaretPosition(e,i);return Promise.resolve(n)}return Promise.resolve(null)})}doCompletionWithEntities(e,i){return Yi(this,void 0,void 0,function*(){var n;if(e=e||this.getTextDocument(),e){const s=this.parser.getSuggestionAtCaretPosition(e,i);let h=null;return!((n=s==null?void 0:s.syntax)===null||n===void 0)&&n.length&&(h=this.parser.getAllEntities(e,i)),Promise.resolve([s,h])}return Promise.resolve([null,null])})}getAllEntities(e,i){return Yi(this,void 0,void 0,function*(){if(e=e||this.getTextDocument(),e){const n=this.parser.getAllEntities(e,i);return Promise.resolve(n)}return Promise.resolve(null)})}getTextDocument(){const e=this._ctx.getMirrorModels()[0];return e&&e.getValue()}}class Nu extends _u{constructor(e,i){super(e,i),this._ctx=e,this.parser=new Au}}self.onmessage=()=>{w4((c,e)=>new Nu(c,e))}})(); diff --git a/assets/python-4be49007.js b/assets/python-8ad7d88a.js similarity index 98% rename from assets/python-4be49007.js rename to assets/python-8ad7d88a.js index ce534c2c..13a89775 100644 --- a/assets/python-4be49007.js +++ b/assets/python-8ad7d88a.js @@ -1,4 +1,4 @@ -import{m as i}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as i}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/razor-c533600f.js b/assets/razor-eea1dd13.js similarity index 99% rename from assets/razor-c533600f.js rename to assets/razor-eea1dd13.js index 2fd3e22a..44afd839 100644 --- a/assets/razor-c533600f.js +++ b/assets/razor-eea1dd13.js @@ -1,4 +1,4 @@ -import{m}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/setupLanguageMode-0c1508a9.js b/assets/setupLanguageMode-0c1508a9.js new file mode 100644 index 00000000..fe47e2f8 --- /dev/null +++ b/assets/setupLanguageMode-0c1508a9.js @@ -0,0 +1 @@ +import{e as l,R as _,M as f,W as v,l as C}from"./index-e7f600bf.js";function m(r,t,n){let i=null;return(...o)=>{if(i&&clearTimeout(i),n&&!i)return r==null?void 0:r(...o);i=setTimeout(()=>{i&&clearTimeout(i),i=null,r==null||r(...o)},t)}}class b{constructor(t,n,i){this._languageId=t,this._worker=n,this._defaults=i,this._disposables=[],this._listener=Object.create(null);const o=e=>{let s=e.getLanguageId();s===this._languageId&&(this._listener[e.uri.toString()]=e.onDidChangeContent(m(()=>{this._doValidate(e.uri,s)},500)),this._doValidate(e.uri,s))},a=e=>{l.setModelMarkers(e,this._languageId,[]);let s=e.uri.toString(),d=this._listener[s];d&&(d.dispose(),delete this._listener[s])};this._disposables.push(l.onDidCreateModel(o)),this._disposables.push(l.onWillDisposeModel(a)),this._disposables.push(l.onDidChangeModelLanguage(e=>{a(e.model),o(e.model)})),this._disposables.push(this._defaults.onDidChange(e=>{l.getModels().forEach(s=>{s.getLanguageId()===this._languageId&&(a(s),o(s))})})),this._disposables.push({dispose:()=>{for(let e in this._listener)this._listener[e].dispose()}}),l.getModels().forEach(o)}dispose(){this._disposables.forEach(t=>t&&t.dispose()),this._disposables=[]}_doValidate(t,n){this._worker(t).then(i=>{var o;let a=((o=l.getModel(t))===null||o===void 0?void 0:o.getValue())||"";return typeof this._defaults.preprocessCode=="function"&&(a=this._defaults.preprocessCode(a)),i.doValidation(a)}).then(i=>{const o=i.map(e=>w(t,e));let a=l.getModel(t);a&&a.getLanguageId()===n&&l.setModelMarkers(a,n,o)}).then(void 0,i=>{console.error(i)})}}function M(r){switch(r){default:return f.Error}}function w(r,t){return{severity:M(),startLineNumber:t.startLine,startColumn:t.startColumn,endLineNumber:t.endLine,endColumn:t.endColumn,message:t.message,code:void 0,source:"dt-sql-parser"}}class y{constructor(t,n){this._worker=t,this._defaults=n}get triggerCharacters(){return Array.isArray(this._defaults.triggerCharacters)?this._defaults.triggerCharacters:["."," "]}provideCompletionItems(t,n,i,o){const a=t.uri;return this._worker(a).then(e=>{var s;let d=((s=l.getModel(a))===null||s===void 0?void 0:s.getValue())||"";return typeof this._defaults.preprocessCode=="function"&&(d=this._defaults.preprocessCode(d)),e.doCompletionWithEntities(d,n)}).then(([e,s])=>this._defaults.completionService(t,n,i,e,s)).then(e=>{const s=t.getWordUntilPosition(n),d=new _(n.lineNumber,s.startColumn,n.lineNumber,s.endColumn);return{suggestions:(Array.isArray(e)?e:e.suggestions).map(u=>{var g,h;return Object.assign(Object.assign({},u),{insertText:(g=u.insertText)!==null&&g!==void 0?g:typeof u.label=="string"?u.label:u.label.label,range:(h=u.range)!==null&&h!==void 0?h:d})}),dispose:Array.isArray(e)?void 0:e.dispose,incomplete:Array.isArray(e)?void 0:e.incomplete}})}}function L(r){const t=[],n=[],i=new v(r);t.push(i);const o=(...e)=>i.getLanguageServiceWorker(...e);function a(){const{languageId:e,modeConfiguration:s}=r;c(n),s.diagnostics&&n.push(new b(e,o,r)),s.completionItems.enable&&n.push(C.registerCompletionItemProvider(e,new y(o,r)))}return a(),t.push(p(n)),p(t)}function p(r){return{dispose:()=>c(r)}}function c(r){for(var t;r.length;)(t=r.pop())===null||t===void 0||t.dispose()}export{L as setupLanguageMode}; diff --git a/assets/setupLanguageMode-e00674ca.js b/assets/setupLanguageMode-e00674ca.js deleted file mode 100644 index 7fd56f71..00000000 --- a/assets/setupLanguageMode-e00674ca.js +++ /dev/null @@ -1 +0,0 @@ -import{e as d,R as _,d as f,M as C,W as b,l as v}from"./index-f9d9330f.js";class m{constructor(s,r,a){this._languageId=s,this._worker=r,this._defaults=a,this._disposables=[],this._listener=Object.create(null);const o=e=>{let t=e.getLanguageId();t===this._languageId&&(this._listener[e.uri.toString()]=e.onDidChangeContent(f(()=>{this._doValidate(e.uri,t)},500)),this._doValidate(e.uri,t))},n=e=>{d.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),l=this._listener[t];l&&(l.dispose(),delete this._listener[t])};this._disposables.push(d.onDidCreateModel(o)),this._disposables.push(d.onWillDisposeModel(n)),this._disposables.push(d.onDidChangeModelLanguage(e=>{n(e.model),o(e.model)})),this._disposables.push(this._defaults.onDidChange(e=>{d.getModels().forEach(t=>{t.getLanguageId()===this._languageId&&(n(t),o(t))})})),this._disposables.push({dispose:()=>{for(let e in this._listener)this._listener[e].dispose()}}),d.getModels().forEach(o)}dispose(){this._disposables.forEach(s=>s&&s.dispose()),this._disposables=[]}_doValidate(s,r){this._worker(s).then(a=>{var o;let n=((o=d.getModel(s))===null||o===void 0?void 0:o.getValue())||"";return typeof this._defaults.preprocessCode=="function"&&(n=this._defaults.preprocessCode(n)),a.doValidation(n)}).then(a=>{const o=a.map(e=>w(s,e));let n=d.getModel(s);n&&n.getLanguageId()===r&&d.setModelMarkers(n,r,o)}).then(void 0,a=>{console.error(a)})}}function M(i){switch(i){default:return C.Error}}function w(i,s){return{severity:M(),startLineNumber:s.startLine,startColumn:s.startColumn,endLineNumber:s.endLine,endColumn:s.endColumn,message:s.message,code:void 0,source:"dt-sql-parser"}}class y{constructor(s,r){this._worker=s,this._defaults=r}get triggerCharacters(){return Array.isArray(this._defaults.triggerCharacters)?this._defaults.triggerCharacters:["."," "]}provideCompletionItems(s,r,a,o){const n=s.uri;return this._worker(n).then(e=>{var t;let l=((t=d.getModel(n))===null||t===void 0?void 0:t.getValue())||"";return typeof this._defaults.preprocessCode=="function"&&(l=this._defaults.preprocessCode(l)),e.doCompletionWithEntities(l,r)}).then(([e,t])=>this._defaults.completionService(s,r,a,e,t)).then(e=>{const t=s.getWordUntilPosition(r),l=new _(r.lineNumber,t.startColumn,r.lineNumber,t.endColumn);return{suggestions:(Array.isArray(e)?e:e.suggestions).map(u=>{var g,h;return Object.assign(Object.assign({},u),{insertText:(g=u.insertText)!==null&&g!==void 0?g:typeof u.label=="string"?u.label:u.label.label,range:(h=u.range)!==null&&h!==void 0?h:l})}),dispose:Array.isArray(e)?void 0:e.dispose,incomplete:Array.isArray(e)?void 0:e.incomplete}})}}function L(i){const s=[],r=[],a=new b(i);s.push(a);const o=(...e)=>a.getLanguageServiceWorker(...e);function n(){const{languageId:e,modeConfiguration:t}=i;c(r),t.diagnostics&&r.push(new m(e,o,i)),t.completionItems.enable&&r.push(v.registerCompletionItemProvider(e,new y(o,i)))}return n(),s.push(p(r)),p(s)}function p(i){return{dispose:()=>c(i)}}function c(i){for(var s;i.length;)(s=i.pop())===null||s===void 0||s.dispose()}export{L as setupLanguageMode}; diff --git a/assets/spark-82605a39.js b/assets/spark-6994a44e.js similarity index 99% rename from assets/spark-82605a39.js rename to assets/spark-6994a44e.js index 70a34562..a72f0c30 100644 --- a/assets/spark-82605a39.js +++ b/assets/spark-6994a44e.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ALTER","AND","ANTI","ANY","ARRAY","AS","AT","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BY","CASE","CAST","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","COMMIT","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATE","DEC","DECIMAL","DECLARE","DELETE","DESCRIBE","DISTINCT","DIV","DOUBLE","DROP","ELSE","END","ESCAPE","EXCEPT","EXISTS","EXTERNAL","EXTRACT","FALSE","FETCH","FILTER","FLOAT","FOR","FOREIGN","FROM","FULL","FUNCTION","GLOBAL","GRANT","GROUP","GROUPING","HAVING","IF","IN","INNER","INSERT","INTERSECT","INTERVAL","INT","INTEGER","INTO","IS","JOIN","LATERAL","LEADING","LEFT","LIKE","LOCAL","NATURAL","NO","NOT","NULL","OF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVERLAPS","PARTITION","PERCENTILE_CONT","PERCENTILE_DISC","POSITION","PRIMARY","RANGE","REAL","REFERENCES","REVOKE","RIGHT","REGEXP","ROLLBACK","ROLLUP","ROW","ROWS","SELECT","SEMI","SESSION_USER","SET","MINUS","SINGLE","SMALLINT","SOME","START","SYSTEM","TABLE","TABLESAMPLE","THEN","TIME","TIMEDIFF","TO","TRAILING","TRUE","TRUNCATE","UNION","UNIQUE","UNKNOWN","UPDATE","USER","USING","VALUES","VARCHAR","VAR","VARIABLE","WHEN","WHERE","WINDOW","WITH","WITHIN","ADD","ANALYZE","ASC","CATALOG","CLUSTER","CLUSTERED","COMMENT","DATABASE","DESC","DISABLE","ENABLE","INDEX","LIMIT","LOAD","MATCHED","MATERIALIZED","KW_OVER","OPTIMIZE","OVERWRITE","PARTITIONED","REFRESH","RENAME","REWRITE","SCHEMA","SHOW","SKEWED","SORTED","STORED","TBLPROPERTIES","USE","VIEW","ZORDER"],operators:["OR","AND","NOT","MOD","DIV","INTERSECT","UNION","EXCEPT","MINUS","INCLUDE","EXCLUDE","INNER","OUTER","CROSS","LEFT","RIGHT","FULL","SEMI","ANTI","IS","BETWEEN","LIKE","ILIKE","RLIKE","REGEXP","IN","DISTINCT","FROM","PIVOT","UNPIVOT"],builtinFunctions:["ANY","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BITMAP_CONSTRUCT_AGG","BITMAP_OR_AGG","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","HISTOGRAM_NUMERIC","HLL_SKETCH_AGG","HLL_UNION_AGG","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MEDIAN","MIN","MIN_BY","MODE","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SKEWNESS","SOME","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TRY_AVG","TRY_SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_APPEND","ARRAY_COMPACT","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","GET","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP","MAP_CONCAT","MAP_CONTAINS_KEY","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","TRY_ELEMENT_AT","TRY_ELEMENT_AT","ADD_MONTHS","CONVERT_TIMEZONE","CURDATE","CURRENT_DATE","CURRENT_DAT","CURRENT_TIMESTAMP","CURRENT_TIMESTAM","CURRENT_TIMEZONE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEADD","DATEDIFF","DATEPART","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","LOCALTIMESTAMP","LOCALTIMESTAM","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_TIMESTAMP_LTZ","MAKE_TIMESTAMP_NTZ","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","TRY_TO_TIMESTAMP","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","WINDOW_TIME","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","COSH","COT","CSC","DEGREES","E","EXP","EXPM1","FACTORIAL","FLOOR","GREATEST","HEX","HYPOT","LEAST","LN","LOG","LOG10","LOG1P","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","RANDN","RANDOM","RINT","ROUND","SEC","SHIFTLEFT","SIGN","SIGNUM","SIN","SINH","SQRT","TAN","TANH","TRY_ADD","TRY_DIVIDE","TRY_MULTIPLY","TRY_SUBTRACT","UNHEX","WIDTH_BUCKET","ASCII","BASE64","BIT_LENGTH","BTRIM","BTRIM","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT_WS","CONTAINS","DECODE","DECODE","ELT","ENCODE","ENDSWITH","FIND_IN_SET","FORMAT_NUMBER","FORMAT_STRING","INITCAP","INSTR","LCASE","LEFT","LEN","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","LUHN_CHECK","MASK","OCTET_LENGTH","OVERLAY","POSITION","PRINTF","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RIGHT","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","SPLIT_PART","STARTSWITH","SUBSTR","SUBSTR","SUBSTRING","SUBSTRING","SUBSTRING_INDEX","TO_BINARY","TO_CHAR","TO_NUMBER","TO_VARCHAR","TRANSLATE","TRIM","TRIM","TRIM","TRIM","TRIM","TRIM","TRIM","TRIM","TRY_TO_BINARY","TRY_TO_NUMBER","UCASE","UNBASE64","UPPER","COALESCE","IFNULL","NANVL","NULLIF","NVL","NVL2","BIT_COUNT","BIT_GET","GETBIT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","ISNAN","ISNOTNULL","ISNULL","REGEXP","REGEXP_LIKE","RLIKE","FROM_CSV","SCHEMA_OF_CSV","TO_CSV","AES_DECRYPT","AES_ENCRYPT","ASSERT_TRUE","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_COUNT","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_SCHEMA","CURRENT_USER","EQUAL_NULL","HLL_SKETCH_ESTIMATE","HLL_UNION","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","JAVA_METHOD","MONOTONICALLY_INCREASING_ID","REFLECT","SPARK_PARTITION_ID","TRY_AES_DECRYPT","TYPEOF","USER","UUID","VERSION","EXPLODE","EXPLODE_OUTER","INLINE","INLINE_OUTER","POSEXPLODE","POSEXPLODE_OUTER","STACK"],builtinVariables:[],typeKeywords:["BOOLEAN","TINYINT","BYTE","SMALLINT","SHORT","INT","INTEGER","BIGINT","LONG","FLOAT","REAL","DOUBLE","DATE","TIMESTAMP","TIMESTAMP_NTZ","TIMESTAMP_LTZ","STRING","CHARACTER","CHAR","VARCHAR","BINARY","DECIMAL","DEC","NUMERIC","VOID","INTERVAL","ARRAY","STRUCT","MAP"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@binaries"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER_FLOAT]],binaries:[[/X'/i,{token:E.BINARY,next:"@binarySingle"}],[/X"/i,{token:E.BINARY,next:"@binaryDouble"}]],binarySingle:[[/\d+/,E.BINARY_ESCAPE],[/''/,E.BINARY],[/'/,{token:E.BINARY,next:"@pop"}]],binaryDouble:[[/\d+/,E.BINARY_ESCAPE],[/""/,E.BINARY],[/"/,{token:E.BINARY,next:"@pop"}]],strings:[[/'/,{token:E.STRING,next:"@stringSingle"}],[/R'/i,{token:E.STRING,next:"@stringSingle"}],[/"/,{token:E.STRING,next:"@stringDouble"}],[/R"/i,{token:E.STRING,next:"@stringDouble"}]],stringSingle:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],stringDouble:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[]}};export{R as conf,A as language}; +import{T as E}from"./index-e7f600bf.js";const R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},A={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALL","ALTER","AND","ANTI","ANY","ARRAY","AS","AT","AUTHORIZATION","BETWEEN","BIGINT","BINARY","BOOLEAN","BOTH","BY","CASE","CAST","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","COMMIT","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATE","DEC","DECIMAL","DECLARE","DELETE","DESCRIBE","DISTINCT","DIV","DOUBLE","DROP","ELSE","END","ESCAPE","EXCEPT","EXISTS","EXTERNAL","EXTRACT","FALSE","FETCH","FILTER","FLOAT","FOR","FOREIGN","FROM","FULL","FUNCTION","GLOBAL","GRANT","GROUP","GROUPING","HAVING","IF","IN","INNER","INSERT","INTERSECT","INTERVAL","INT","INTEGER","INTO","IS","JOIN","LATERAL","LEADING","LEFT","LIKE","LOCAL","NATURAL","NO","NOT","NULL","OF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVERLAPS","PARTITION","PERCENTILE_CONT","PERCENTILE_DISC","POSITION","PRIMARY","RANGE","REAL","REFERENCES","REVOKE","RIGHT","REGEXP","ROLLBACK","ROLLUP","ROW","ROWS","SELECT","SEMI","SESSION_USER","SET","MINUS","SINGLE","SMALLINT","SOME","START","SYSTEM","TABLE","TABLESAMPLE","THEN","TIME","TIMEDIFF","TO","TRAILING","TRUE","TRUNCATE","UNION","UNIQUE","UNKNOWN","UPDATE","USER","USING","VALUES","VARCHAR","VAR","VARIABLE","WHEN","WHERE","WINDOW","WITH","WITHIN","ADD","ANALYZE","ASC","CATALOG","CLUSTER","CLUSTERED","COMMENT","DATABASE","DESC","DISABLE","ENABLE","INDEX","LIMIT","LOAD","MATCHED","MATERIALIZED","KW_OVER","OPTIMIZE","OVERWRITE","PARTITIONED","REFRESH","RENAME","REWRITE","SCHEMA","SHOW","SKEWED","SORTED","STORED","TBLPROPERTIES","USE","VIEW","ZORDER"],operators:["OR","AND","NOT","MOD","DIV","INTERSECT","UNION","EXCEPT","MINUS","INCLUDE","EXCLUDE","INNER","OUTER","CROSS","LEFT","RIGHT","FULL","SEMI","ANTI","IS","BETWEEN","LIKE","ILIKE","RLIKE","REGEXP","IN","DISTINCT","FROM","PIVOT","UNPIVOT"],builtinFunctions:["ANY","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BITMAP_CONSTRUCT_AGG","BITMAP_OR_AGG","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","HISTOGRAM_NUMERIC","HLL_SKETCH_AGG","HLL_UNION_AGG","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MEDIAN","MIN","MIN_BY","MODE","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SKEWNESS","SOME","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TRY_AVG","TRY_SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_APPEND","ARRAY_COMPACT","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","GET","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP","MAP_CONCAT","MAP_CONTAINS_KEY","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","TRY_ELEMENT_AT","TRY_ELEMENT_AT","ADD_MONTHS","CONVERT_TIMEZONE","CURDATE","CURRENT_DATE","CURRENT_DAT","CURRENT_TIMESTAMP","CURRENT_TIMESTAM","CURRENT_TIMEZONE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEADD","DATEDIFF","DATEPART","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","LOCALTIMESTAMP","LOCALTIMESTAM","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_TIMESTAMP_LTZ","MAKE_TIMESTAMP_NTZ","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","TRY_TO_TIMESTAMP","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","WINDOW_TIME","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","COSH","COT","CSC","DEGREES","E","EXP","EXPM1","FACTORIAL","FLOOR","GREATEST","HEX","HYPOT","LEAST","LN","LOG","LOG10","LOG1P","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","RANDN","RANDOM","RINT","ROUND","SEC","SHIFTLEFT","SIGN","SIGNUM","SIN","SINH","SQRT","TAN","TANH","TRY_ADD","TRY_DIVIDE","TRY_MULTIPLY","TRY_SUBTRACT","UNHEX","WIDTH_BUCKET","ASCII","BASE64","BIT_LENGTH","BTRIM","BTRIM","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT_WS","CONTAINS","DECODE","DECODE","ELT","ENCODE","ENDSWITH","FIND_IN_SET","FORMAT_NUMBER","FORMAT_STRING","INITCAP","INSTR","LCASE","LEFT","LEN","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","LUHN_CHECK","MASK","OCTET_LENGTH","OVERLAY","POSITION","PRINTF","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RIGHT","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","SPLIT_PART","STARTSWITH","SUBSTR","SUBSTR","SUBSTRING","SUBSTRING","SUBSTRING_INDEX","TO_BINARY","TO_CHAR","TO_NUMBER","TO_VARCHAR","TRANSLATE","TRIM","TRIM","TRIM","TRIM","TRIM","TRIM","TRIM","TRIM","TRY_TO_BINARY","TRY_TO_NUMBER","UCASE","UNBASE64","UPPER","COALESCE","IFNULL","NANVL","NULLIF","NVL","NVL2","BIT_COUNT","BIT_GET","GETBIT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","ISNAN","ISNOTNULL","ISNULL","REGEXP","REGEXP_LIKE","RLIKE","FROM_CSV","SCHEMA_OF_CSV","TO_CSV","AES_DECRYPT","AES_ENCRYPT","ASSERT_TRUE","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_COUNT","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_SCHEMA","CURRENT_USER","EQUAL_NULL","HLL_SKETCH_ESTIMATE","HLL_UNION","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","JAVA_METHOD","MONOTONICALLY_INCREASING_ID","REFLECT","SPARK_PARTITION_ID","TRY_AES_DECRYPT","TYPEOF","USER","UUID","VERSION","EXPLODE","EXPLODE_OUTER","INLINE","INLINE_OUTER","POSEXPLODE","POSEXPLODE_OUTER","STACK"],builtinVariables:[],typeKeywords:["BOOLEAN","TINYINT","BYTE","SMALLINT","SHORT","INT","INTEGER","BIGINT","LONG","FLOAT","REAL","DOUBLE","DATE","TIMESTAMP","TIMESTAMP_NTZ","TIMESTAMP_LTZ","STRING","CHARACTER","CHAR","VARCHAR","BINARY","DECIMAL","DEC","NUMERIC","VOID","INTERVAL","ARRAY","STRUCT","MAP"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@binaries"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@#$]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/0[xX][0-9a-fA-F]*/,E.NUMBER_HEX],[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER_FLOAT]],binaries:[[/X'/i,{token:E.BINARY,next:"@binarySingle"}],[/X"/i,{token:E.BINARY,next:"@binaryDouble"}]],binarySingle:[[/\d+/,E.BINARY_ESCAPE],[/''/,E.BINARY],[/'/,{token:E.BINARY,next:"@pop"}]],binaryDouble:[[/\d+/,E.BINARY_ESCAPE],[/""/,E.BINARY],[/"/,{token:E.BINARY,next:"@pop"}]],strings:[[/'/,{token:E.STRING,next:"@stringSingle"}],[/R'/i,{token:E.STRING,next:"@stringSingle"}],[/"/,{token:E.STRING,next:"@stringDouble"}],[/R"/i,{token:E.STRING,next:"@stringDouble"}]],stringSingle:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],stringDouble:[[/[^"]+/,E.STRING_ESCAPE],[/""/,E.STRING],[/"/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[]}};export{R as conf,A as language}; diff --git a/assets/spark.worker-db1419fa.js b/assets/spark.worker-db1419fa.js new file mode 100644 index 00000000..0de115c8 --- /dev/null +++ b/assets/spark.worker-db1419fa.js @@ -0,0 +1,22 @@ +var ml=Object.defineProperty;var Cl=(ct,rt,Tt)=>rt in ct?ml(ct,rt,{enumerable:!0,configurable:!0,writable:!0,value:Tt}):ct[rt]=Tt;var E=(ct,rt,Tt)=>(Cl(ct,typeof rt!="symbol"?rt+"":rt,Tt),Tt),U2=(ct,rt,Tt)=>{if(!rt.has(ct))throw TypeError("Cannot "+Tt)};var N=(ct,rt,Tt)=>(U2(ct,rt,"read from private field"),Tt?Tt.call(ct):rt.get(ct)),j=(ct,rt,Tt)=>{if(rt.has(ct))throw TypeError("Cannot add the same private member more than once");rt instanceof WeakSet?rt.add(ct):rt.set(ct,Tt)},Z=(ct,rt,Tt,hi)=>(U2(ct,rt,"write to private field"),hi?hi.call(ct,Tt):rt.set(ct,Tt),Tt);var v2=(ct,rt,Tt)=>(U2(ct,rt,"access private method"),Tt);(function(){var Y1,wi,bi,Le,K1,S1,Hi,se,ze,Pe,f1,ut,Fi,m1,Bi,jt,_e,Vi,$e,Ae,C1,Q1,ki,g1,je,Gi,Yi,Si,Yt,Qi,Xi,N1,Zi,X1,Z1,z1,zi,Je,Pi,$i,P1,ji,$1,Ie,Ji,Ot,qi,t0,e0,q,Kt,at,i0,qe,s0,n0,r0,t1,j1,e1,h0,o0,a0,c0,u0,l0,E0,T0,d0,R0,W0,_0,A0,K0,f0,m0,C0,g0,N0,L1,J1,q1,I1,ti,ei,x1,ii,i1,L0,I0,pt,b,x0,O0,p0,D0,M0,y0,U0,xe,Oe,v0,w0,b0,si,H0,F0,O1,B0,w2,V0,k0,G0,Y0,G,S0,Q0,X0,Z0,z0,P0,$0,j0,s1,J0,q0,ts,es,is,ss,ns,rs,hs,os,as,cs,us,ls,Dn,Es,Ts,ds,Rs,ne,Ws,_s,As,Mn,ni,Ks,Bt,fs,ms,Cs,gs,Et,Ns,Ls,Is,st,Ke,Jt,xs,Os,ps,Ds,Ms,ys,Us,vs,St,ws,bs,Hs,Fs,Bs,Vs,re,ks;"use strict";class ct{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` + +`+t.stack):t},0)}}emit(t){this.listeners.forEach(i=>{i(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const rt=new ct;function Tt(n){Z3(n)||rt.onUnexpectedError(n)}function hi(n){if(n instanceof Error){let{name:t,message:i}=n;const s=n.stacktrace||n.stack;return{$isError:!0,name:t,message:i,stack:s}}return n}const b2="Canceled";function Z3(n){return n instanceof Error&&n.name===b2&&n.message===b2}function z3(n){const t=this;let i=!1,s;return function(){return i||(i=!0,s=n.apply(t,arguments)),s}}var yn;(function(n){function t(m){return m&&typeof m=="object"&&typeof m[Symbol.iterator]=="function"}n.is=t;const i=Object.freeze([]);function s(){return i}n.empty=s;function*r(m){yield m}n.single=r;function h(m){return m||i}n.from=h;function o(m){return!m||m[Symbol.iterator]().next().done===!0}n.isEmpty=o;function a(m){return m[Symbol.iterator]().next().value}n.first=a;function c(m,K){for(const L of m)if(K(L))return!0;return!1}n.some=c;function u(m,K){for(const L of m)if(K(L))return L}n.find=u;function*T(m,K){for(const L of m)K(L)&&(yield L)}n.filter=T;function*d(m,K){let L=0;for(const x of m)yield K(x,L++)}n.map=d;function*_(...m){for(const K of m)for(const L of K)yield L}n.concat=_;function*f(m){for(const K of m)for(const L of K)yield L}n.concatNested=f;function g(m,K,L){let x=L;for(const w of m)x=K(x,w);return x}n.reduce=g;function*O(m,K,L=m.length){for(K<0&&(K+=m.length),L<0?L+=m.length:L>m.length&&(L=m.length);Kx===w){const x=m[Symbol.iterator](),w=K[Symbol.iterator]();for(;;){const U=x.next(),D=w.next();if(U.done!==D.done)return!1;if(U.done)return!0;if(!L(U.value,D.value))return!1}}n.equals=y})(yn||(yn={}));function gl(n){return n}function Nl(n,t){}class P3 extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function H2(n){if(yn.is(n)){let t=[];for(const i of n)if(i)try{i.dispose()}catch(s){t.push(s)}if(t.length===1)throw t[0];if(t.length>1)throw new P3(t);return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function $3(...n){return F2(()=>H2(n))}function F2(n){return{dispose:z3(()=>{n()})}}class oi{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{H2(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?oi.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}oi.DISABLE_DISPOSED_WARNING=!1;class B2{constructor(){this._store=new oi,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}B2.None=Object.freeze({dispose(){}});class tt{constructor(t){this.element=t,this.next=tt.Undefined,this.prev=tt.Undefined}}tt.Undefined=new tt(void 0);class V2{constructor(){this._first=tt.Undefined,this._last=tt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===tt.Undefined}clear(){let t=this._first;for(;t!==tt.Undefined;){const i=t.next;t.prev=tt.Undefined,t.next=tt.Undefined,t=i}this._first=tt.Undefined,this._last=tt.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const s=new tt(t);if(this._first===tt.Undefined)this._first=s,this._last=s;else if(i){const h=this._last;this._last=s,s.prev=h,h.next=s}else{const h=this._first;this._first=s,s.next=h,h.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==tt.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==tt.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==tt.Undefined&&t.next!==tt.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===tt.Undefined&&t.next===tt.Undefined?(this._first=tt.Undefined,this._last=tt.Undefined):t.next===tt.Undefined?(this._last=this._last.prev,this._last.next=tt.Undefined):t.prev===tt.Undefined&&(this._first=this._first.next,this._first.prev=tt.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==tt.Undefined;)yield t.element,t=t.next}}var Un;const Gs="en";let vn=!1,wn=!1,bn=!1,ai,Ys=Gs,j3,n1;const gt=typeof self=="object"?self:typeof global=="object"?global:{};let Dt;typeof gt.vscode<"u"&&typeof gt.vscode.process<"u"?Dt=gt.vscode.process:typeof process<"u"&&(Dt=process);const J3=typeof((Un=Dt==null?void 0:Dt.versions)===null||Un===void 0?void 0:Un.electron)=="string"&&(Dt==null?void 0:Dt.type)==="renderer";if(typeof navigator=="object"&&!J3)n1=navigator.userAgent,vn=n1.indexOf("Windows")>=0,wn=n1.indexOf("Macintosh")>=0,(n1.indexOf("Macintosh")>=0||n1.indexOf("iPad")>=0||n1.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,bn=n1.indexOf("Linux")>=0,ai=navigator.language,Ys=ai;else if(typeof Dt=="object"){vn=Dt.platform==="win32",wn=Dt.platform==="darwin",bn=Dt.platform==="linux",bn&&Dt.env.SNAP&&Dt.env.SNAP_REVISION,ai=Gs,Ys=Gs;const n=Dt.env.VSCODE_NLS_CONFIG;if(n)try{const t=JSON.parse(n),i=t.availableLanguages["*"];ai=t.locale,Ys=i||Gs,j3=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const ci=vn,q3=wn,ta=Ys,ea=ai;(()=>{if(typeof gt.postMessage=="function"&&!gt.importScripts){let n=[];gt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,r=n.length;s{const s=++t;n.push({id:s,callback:i}),gt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return n=>setTimeout(n)})();const ia=gt.performance&&typeof gt.performance.now=="function";class Ss{constructor(t){this._highResolution=ia&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new Ss(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?gt.performance.now():Date.now()}}var Hn;(function(n){n.None=()=>B2.None;function t(m){return(K,L=null,x)=>{let w=!1,U;return U=m(D=>{if(!w)return U?U.dispose():w=!0,K.call(L,D)},null,x),w&&U.dispose(),U}}n.once=t;function i(m,K){return c((L,x=null,w)=>m(U=>L.call(x,K(U)),null,w))}n.map=i;function s(m,K){return c((L,x=null,w)=>m(U=>{K(U),L.call(x,U)},null,w))}n.forEach=s;function r(m,K){return c((L,x=null,w)=>m(U=>K(U)&&L.call(x,U),null,w))}n.filter=r;function h(m){return m}n.signal=h;function o(...m){return(K,L=null,x)=>$3(...m.map(w=>w(U=>K.call(L,U),null,x)))}n.any=o;function a(m,K,L){let x=L;return i(m,w=>(x=K(x,w),x))}n.reduce=a;function c(m){let K;const L=new pe({onFirstListenerAdd(){K=m(L.fire,L)},onLastListenerRemove(){K.dispose()}});return L.event}function u(m,K,L=100,x=!1,w){let U,D,S,Rt=0;const $=new pe({leakWarningThreshold:w,onFirstListenerAdd(){U=m(B=>{Rt++,D=K(D,B),x&&!S&&($.fire(D),D=void 0),clearTimeout(S),S=setTimeout(()=>{const he=D;D=void 0,S=void 0,(!x||Rt>1)&&$.fire(he),Rt=0},L)})},onLastListenerRemove(){U.dispose()}});return $.event}n.debounce=u;function T(m,K=(L,x)=>L===x){let L=!0,x;return r(m,w=>{const U=L||!K(w,x);return L=!1,x=w,U})}n.latch=T;function d(m,K){return[n.filter(m,K),n.filter(m,L=>!K(L))]}n.split=d;function _(m,K=!1,L=[]){let x=L.slice(),w=m(S=>{x?x.push(S):D.fire(S)});const U=()=>{x&&x.forEach(S=>D.fire(S)),x=null},D=new pe({onFirstListenerAdd(){w||(w=m(S=>D.fire(S)))},onFirstListenerDidAdd(){x&&(K?setTimeout(U):U())},onLastListenerRemove(){w&&w.dispose(),w=null}});return D.event}n.buffer=_;class f{constructor(K){this.event=K}map(K){return new f(i(this.event,K))}forEach(K){return new f(s(this.event,K))}filter(K){return new f(r(this.event,K))}reduce(K,L){return new f(a(this.event,K,L))}latch(){return new f(T(this.event))}debounce(K,L=100,x=!1,w){return new f(u(this.event,K,L,x,w))}on(K,L,x){return this.event(K,L,x)}once(K,L,x){return t(this.event)(K,L,x)}}function g(m){return new f(m)}n.chain=g;function O(m,K,L=x=>x){const x=(...S)=>D.fire(L(...S)),w=()=>m.on(K,x),U=()=>m.removeListener(K,x),D=new pe({onFirstListenerAdd:w,onLastListenerRemove:U});return D.event}n.fromNodeEventEmitter=O;function p(m,K,L=x=>x){const x=(...S)=>D.fire(L(...S)),w=()=>m.addEventListener(K,x),U=()=>m.removeEventListener(K,x),D=new pe({onFirstListenerAdd:w,onLastListenerRemove:U});return D.event}n.fromDOMEventEmitter=p;function y(m){return new Promise(K=>t(m)(K))}n.toPromise=y})(Hn||(Hn={}));class Qs{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${Qs._idPool++}`}start(t){this._stopWatch=new Ss(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Qs._idPool=0;class pe{constructor(t){var i;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((i=this._options)===null||i===void 0)&&i._profName?new Qs(this._options._profName):void 0}get event(){return this._event||(this._event=(t,i,s)=>{var r;this._listeners||(this._listeners=new V2);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(i?[t,i]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,i);const a=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),c=F2(()=>{a&&a(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return s instanceof oi?s.add(c):Array.isArray(s)&&s.push(c),c}),this._event}fire(t){var i,s;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new V2);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(o){Tt(o)}}(s=this._perfMon)===null||s===void 0||s.stop()}}dispose(){var t,i,s,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(i=this._deliveryQueue)===null||i===void 0||i.clear(),(r=(s=this._options)===null||s===void 0?void 0:s.onLastListenerRemove)===null||r===void 0||r.call(s),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function sa(n){let t=[],i=Object.getPrototypeOf(n);for(;Object.prototype!==i;)t=t.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return t}function Fn(n){const t=[];for(const i of sa(n))typeof n[i]=="function"&&t.push(i);return t}function na(n,t){const i=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let s={};for(const r of n)s[r]=i(r);return s}function ra(n,t="Unreachable"){throw new Error(t)}function ha(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function oa(n){return n.split(/\r\n|\r|\n/)}function aa(n){for(let t=0,i=n.length;t=0;i--){const s=n.charCodeAt(i);if(s!==32&&s!==9)return i}return-1}function k2(n){return n>=65&&n<=90}function Bn(n){return 55296<=n&&n<=56319}function ua(n){return 56320<=n&&n<=57343}function la(n,t){return(n-55296<<10)+(t-56320)+65536}function Ea(n,t,i){const s=n.charCodeAt(i);if(Bn(s)&&i+1{this._pendingReplies[s]={resolve:r,reject:h},this._send(new da(this._workerId,s,t,i))})}listen(t,i){let s=null;const r=new pe({onFirstListenerAdd:()=>{s=String(++this._lastSentReq),this._pendingEmitters.set(s,r),this._send(new Ra(this._workerId,s,t,i))},onLastListenerRemove:()=>{this._pendingEmitters.delete(s),this._send(new _a(this._workerId,s)),s=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let i=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let s=t.err;t.err.$isError&&(s=new Error,s.name=t.err.name,s.message=t.err.message,s.stack=t.err.stack),i.reject(s);return}i.resolve(t.res)}_handleRequestMessage(t){let i=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new G2(this._workerId,i,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=hi(r.detail)),this._send(new G2(this._workerId,i,void 0,hi(r)))})}_handleSubscribeEventMessage(t){const i=t.req,s=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new Wa(this._workerId,i,r))});this._pendingEvents.set(i,s)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let i=[];if(t.type===0)for(let s=0;sfunction(){const a=Array.prototype.slice.call(arguments,0);return t(o,a)},r=o=>function(a){return i(o,a)};let h={};for(const o of n){if(S2(o)){h[o]=r(o);continue}if(Y2(o)){h[o]=i(o,void 0);continue}h[o]=s(o)}return h}class fa{constructor(t,i){this._requestHandlerFactory=i,this._requestHandler=null,this._protocol=new Aa({sendMessage:(s,r)=>{t(s,r)},handleMessage:(s,r)=>this._handleMessage(s,r),handleEvent:(s,r)=>this._handleEvent(s,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,i){if(t===Ta)return this.initialize(i[0],i[1],i[2],i[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,i))}catch(s){return Promise.reject(s)}}_handleEvent(t,i){if(!this._requestHandler)throw new Error("Missing requestHandler");if(S2(t)){const s=this._requestHandler[t].call(this._requestHandler,i);if(typeof s!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return s}if(Y2(t)){const s=this._requestHandler[t];if(typeof s!="function")throw new Error(`Missing event ${t} on request handler.`);return s}throw new Error(`Malformed event name ${t}`)}initialize(t,i,s,r){this._protocol.setWorkerId(t);const a=Ka(r,(c,u)=>this._protocol.sendMessage(c,u),(c,u)=>this._protocol.listen(c,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(a),Promise.resolve(Fn(this._requestHandler))):(i&&(typeof i.baseUrl<"u"&&delete i.baseUrl,typeof i.paths<"u"&&typeof i.paths.vs<"u"&&delete i.paths.vs,typeof i.trustedTypesPolicy!==void 0&&delete i.trustedTypesPolicy,i.catchError=!0,gt.require.config(i)),new Promise((c,u)=>{const T=gt.require;T([s],d=>{if(this._requestHandler=d.create(a),!this._requestHandler){u(new Error("No RequestHandler!"));return}c(Fn(this._requestHandler))},u)}))}}class De{constructor(t,i,s,r){this.originalStart=t,this.originalLength=i,this.modifiedStart=s,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Q2(n,t){return(t<<5)-t+n|0}function ma(n,t){t=Q2(149417,t);for(let i=0,s=n.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new De(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Me{constructor(t,i,s=null){this.ContinueProcessingPredicate=s,this._originalSequence=t,this._modifiedSequence=i;const[r,h,o]=Me._getElements(t),[a,c,u]=Me._getElements(i);this._hasStrings=o&&u,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=a,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const i=t.getElements();if(Me._isStringArray(i)){const s=new Int32Array(i.length);for(let r=0,h=i.length;r=t&&r>=s&&this.ElementsAreEqual(i,r);)i--,r--;if(t>i||s>r){let d;return s<=r?(M1.Assert(t===i+1,"originalStart should only be one more than originalEnd"),d=[new De(t,0,s,r-s+1)]):t<=i?(M1.Assert(s===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[new De(t,i-t+1,s,0)]):(M1.Assert(t===i+1,"originalStart should only be one more than originalEnd"),M1.Assert(s===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const o=[0],a=[0],c=this.ComputeRecursionPoint(t,i,s,r,o,a,h),u=o[0],T=a[0];if(c!==null)return c;if(!h[0]){const d=this.ComputeDiffRecursive(t,u,s,T,h);let _=[];return h[0]?_=[new De(u+1,i-(u+1)+1,T+1,r-(T+1)+1)]:_=this.ComputeDiffRecursive(u+1,i,T+1,r,h),this.ConcatenateChanges(d,_)}return[new De(t,i-t+1,s,r-s+1)]}WALKTRACE(t,i,s,r,h,o,a,c,u,T,d,_,f,g,O,p,y,m){let K=null,L=null,x=new Z2,w=i,U=s,D=f[0]-p[0]-r,S=-1073741824,Rt=this.m_forwardHistory.length-1;do{const $=D+t;$===w||$=0&&(u=this.m_forwardHistory[Rt],t=u[0],w=1,U=u.length-1)}while(--Rt>=-1);if(K=x.getReverseChanges(),m[0]){let $=f[0]+1,B=p[0]+1;if(K!==null&&K.length>0){const he=K[K.length-1];$=Math.max($,he.getOriginalEnd()),B=Math.max(B,he.getModifiedEnd())}L=[new De($,_-$+1,B,O-B+1)]}else{x=new Z2,w=o,U=a,D=f[0]-p[0]-c,S=1073741824,Rt=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const $=D+h;$===w||$=T[$+1]?(d=T[$+1]-1,g=d-D-c,d>S&&x.MarkNextChange(),S=d+1,x.AddOriginalElement(d+1,g+1),D=$+1-h):(d=T[$-1],g=d-D-c,d>S&&x.MarkNextChange(),S=d,x.AddModifiedElement(d+1,g+1),D=$-1-h),Rt>=0&&(T=this.m_reverseHistory[Rt],h=T[0],w=1,U=T.length-1)}while(--Rt>=-1);L=x.getChanges()}return this.ConcatenateChanges(K,L)}ComputeRecursionPoint(t,i,s,r,h,o,a){let c=0,u=0,T=0,d=0,_=0,f=0;t--,s--,h[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const g=i-t+(r-s),O=g+1,p=new Int32Array(O),y=new Int32Array(O),m=r-s,K=i-t,L=t-s,x=i-r,U=(K-m)%2===0;p[m]=t,y[K]=i,a[0]=!1;for(let D=1;D<=g/2+1;D++){let S=0,Rt=0;T=this.ClipDiagonalBound(m-D,D,m,O),d=this.ClipDiagonalBound(m+D,D,m,O);for(let B=T;B<=d;B+=2){B===T||BS+Rt&&(S=c,Rt=u),!U&&Math.abs(B-K)<=D-1&&c>=y[B])return h[0]=c,o[0]=u,he<=y[B]&&1447>0&&D<=1447+1?this.WALKTRACE(m,T,d,L,K,_,f,x,p,y,c,i,h,u,r,o,U,a):null}const $=(S-t+(Rt-s)-D)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(S,$))return a[0]=!0,h[0]=S,o[0]=Rt,$>0&&1447>0&&D<=1447+1?this.WALKTRACE(m,T,d,L,K,_,f,x,p,y,c,i,h,u,r,o,U,a):(t++,s++,[new De(t,i-t+1,s,r-s+1)]);_=this.ClipDiagonalBound(K-D,D,K,O),f=this.ClipDiagonalBound(K+D,D,K,O);for(let B=_;B<=f;B+=2){B===_||B=y[B+1]?c=y[B+1]-1:c=y[B-1],u=c-(B-K)-x;const he=c;for(;c>t&&u>s&&this.ElementsAreEqual(c,u);)c--,u--;if(y[B]=c,U&&Math.abs(B-m)<=D&&c<=p[B])return h[0]=c,o[0]=u,he>=p[B]&&1447>0&&D<=1447+1?this.WALKTRACE(m,T,d,L,K,_,f,x,p,y,c,i,h,u,r,o,U,a):null}if(D<=1447){let B=new Int32Array(d-T+2);B[0]=m-T+1,y1.Copy2(p,T,B,1,d-T+1),this.m_forwardHistory.push(B),B=new Int32Array(f-_+2),B[0]=K-_+1,y1.Copy2(y,_,B,1,f-_+1),this.m_reverseHistory.push(B)}}return this.WALKTRACE(m,T,d,L,K,_,f,x,p,y,c,i,h,u,r,o,U,a)}PrettifyChanges(t){for(let i=0;i0,a=s.modifiedLength>0;for(;s.originalStart+s.originalLength=0;i--){const s=t[i];let r=0,h=0;if(i>0){const d=t[i-1];r=d.originalStart+d.originalLength,h=d.modifiedStart+d.modifiedLength}const o=s.originalLength>0,a=s.modifiedLength>0;let c=0,u=this._boundaryScore(s.originalStart,s.originalLength,s.modifiedStart,s.modifiedLength);for(let d=1;;d++){const _=s.originalStart-d,f=s.modifiedStart-d;if(_u&&(u=O,c=d)}s.originalStart-=c,s.modifiedStart-=c;const T=[null];if(i>0&&this.ChangesOverlap(t[i-1],t[i],T)){t[i-1]=T[0],t.splice(i,1),i++;continue}}if(this._hasStrings)for(let i=1,s=t.length;i0&&f>c&&(c=f,u=d,T=_)}return c>0?[u,T]:null}_contiguousSequenceScore(t,i,s){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,i){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(i>0){const s=t+i;if(this._OriginalIsBoundary(s-1)||this._OriginalIsBoundary(s))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,i){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(i>0){const s=t+i;if(this._ModifiedIsBoundary(s-1)||this._ModifiedIsBoundary(s))return!0}return!1}_boundaryScore(t,i,s,r){const h=this._OriginalRegionIsBoundary(t,i)?1:0,o=this._ModifiedRegionIsBoundary(s,r)?1:0;return h+o}ConcatenateChanges(t,i){let s=[];if(t.length===0||i.length===0)return i.length>0?i:t;if(this.ChangesOverlap(t[t.length-1],i[0],s)){const r=new Array(t.length+i.length-1);return y1.Copy(t,0,r,0,t.length-1),r[t.length-1]=s[0],y1.Copy(i,1,r,t.length,i.length-1),r}else{const r=new Array(t.length+i.length);return y1.Copy(t,0,r,0,t.length),y1.Copy(i,0,r,t.length,i.length),r}}ChangesOverlap(t,i,s){if(M1.Assert(t.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),M1.Assert(t.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=i.originalStart||t.modifiedStart+t.modifiedLength>=i.modifiedStart){const r=t.originalStart;let h=t.originalLength;const o=t.modifiedStart;let a=t.modifiedLength;return t.originalStart+t.originalLength>=i.originalStart&&(h=i.originalStart+i.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=i.modifiedStart&&(a=i.modifiedStart+i.modifiedLength-t.modifiedStart),s[0]=new De(r,h,o,a),!0}else return s[0]=null,!1}ClipDiagonalBound(t,i,s,r){if(t>=0&&t=Na&&n<=Ia||n>=La&&n<=xa}function Xs(n,t,i,s){let r="",h=0,o=-1,a=0,c=0;for(let u=0;u<=n.length;++u){if(u2){const T=r.lastIndexOf(i);T===-1?(r="",h=0):(r=r.slice(0,T),h=r.length-1-r.lastIndexOf(i)),o=u,a=0;continue}else if(r.length!==0){r="",h=0,o=u,a=0;continue}}t&&(r+=r.length>0?`${i}..`:"..",h=2)}else r.length>0?r+=`${i}${n.slice(o+1,u)}`:r=n.slice(o+1,u),h=u-o-1;o=u,a=0}else c===ye&&a!==-1?++a:a=-1}return r}function P2(n,t){if(t===null||typeof t!="object")throw new z2("pathObject","Object",t);const i=t.dir||t.root,s=t.base||`${t.name||""}${t.ext||""}`;return i?i===t.root?`${i}${s}`:`${i}${n}${s}`:s}const Mt={resolve(...n){let t="",i="",s=!1;for(let r=n.length-1;r>=-1;r--){let h;if(r>=0){if(h=n[r],lt(h,"path"),h.length===0)continue}else t.length===0?h=Vn():(h=ga[`=${t}`]||Vn(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===wt)&&(h=`${t}\\`));const o=h.length;let a=0,c="",u=!1;const T=h.charCodeAt(0);if(o===1)V(T)&&(a=1,u=!0);else if(V(T))if(u=!0,V(h.charCodeAt(1))){let d=2,_=d;for(;d2&&V(h.charCodeAt(2))&&(u=!0,a=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(s){if(t.length>0)break}else if(i=`${h.slice(a)}\\${i}`,s=u,u&&t.length>0)break}return i=Xs(i,!s,"\\",V),s?`${t}\\${i}`:`${t}${i}`||"."},normalize(n){lt(n,"path");const t=n.length;if(t===0)return".";let i=0,s,r=!1;const h=n.charCodeAt(0);if(t===1)return kn(h)?"\\":n;if(V(h))if(r=!0,V(n.charCodeAt(1))){let a=2,c=a;for(;a2&&V(n.charCodeAt(2))&&(r=!0,i=3));let o=i0&&V(n.charCodeAt(t-1))&&(o+="\\"),s===void 0?r?`\\${o}`:o:r?`${s}\\${o}`:`${s}${o}`},isAbsolute(n){lt(n,"path");const t=n.length;if(t===0)return!1;const i=n.charCodeAt(0);return V(i)||t>2&&ve(i)&&n.charCodeAt(1)===Ue&&V(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let t,i;for(let h=0;h0&&(t===void 0?t=i=o:t+=`\\${o}`)}if(t===void 0)return".";let s=!0,r=0;if(typeof i=="string"&&V(i.charCodeAt(0))){++r;const h=i.length;h>1&&V(i.charCodeAt(1))&&(++r,h>2&&(V(i.charCodeAt(2))?++r:s=!1))}if(s){for(;r=2&&(t=`\\${t.slice(r)}`)}return Mt.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t)return"";const i=Mt.resolve(n),s=Mt.resolve(t);if(i===s||(n=i.toLowerCase(),t=s.toLowerCase(),n===t))return"";let r=0;for(;rr&&n.charCodeAt(h-1)===wt;)h--;const o=h-r;let a=0;for(;aa&&t.charCodeAt(c-1)===wt;)c--;const u=c-a,T=oT){if(t.charCodeAt(a+_)===wt)return s.slice(a+_+1);if(_===2)return s.slice(a+_)}o>T&&(n.charCodeAt(r+_)===wt?d=_:_===2&&(d=3)),d===-1&&(d=0)}let f="";for(_=r+d+1;_<=h;++_)(_===h||n.charCodeAt(_)===wt)&&(f+=f.length===0?"..":"\\..");return a+=d,f.length>0?`${f}${s.slice(a,c)}`:(s.charCodeAt(a)===wt&&++a,s.slice(a,c))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";const t=Mt.resolve(n);if(t.length<=2)return n;if(t.charCodeAt(0)===wt){if(t.charCodeAt(1)===wt){const i=t.charCodeAt(2);if(i!==Oa&&i!==ye)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(ve(t.charCodeAt(0))&&t.charCodeAt(1)===Ue&&t.charCodeAt(2)===wt)return`\\\\?\\${t}`;return n},dirname(n){lt(n,"path");const t=n.length;if(t===0)return".";let i=-1,s=0;const r=n.charCodeAt(0);if(t===1)return V(r)?n:".";if(V(r)){if(i=s=1,V(n.charCodeAt(1))){let a=2,c=a;for(;a2&&V(n.charCodeAt(2))?3:2,s=i);let h=-1,o=!0;for(let a=t-1;a>=s;--a)if(V(n.charCodeAt(a))){if(!o){h=a;break}}else o=!1;if(h===-1){if(i===-1)return".";h=i}return n.slice(0,h)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let i=0,s=-1,r=!0,h;if(n.length>=2&&ve(n.charCodeAt(0))&&n.charCodeAt(1)===Ue&&(i=2),t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=i;--h){const c=n.charCodeAt(h);if(V(c)){if(!r){i=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(s=h):(o=-1,s=a))}return i===s?s=a:s===-1&&(s=n.length),n.slice(i,s)}for(h=n.length-1;h>=i;--h)if(V(n.charCodeAt(h))){if(!r){i=h+1;break}}else s===-1&&(r=!1,s=h+1);return s===-1?"":n.slice(i,s)},extname(n){lt(n,"path");let t=0,i=-1,s=0,r=-1,h=!0,o=0;n.length>=2&&n.charCodeAt(1)===Ue&&ve(n.charCodeAt(0))&&(t=s=2);for(let a=n.length-1;a>=t;--a){const c=n.charCodeAt(a);if(V(c)){if(!h){s=a+1;break}continue}r===-1&&(h=!1,r=a+1),c===ye?i===-1?i=a:o!==1&&(o=1):i!==-1&&(o=-1)}return i===-1||r===-1||o===0||o===1&&i===r-1&&i===s+1?"":n.slice(i,r)},format:P2.bind(null,"\\"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const i=n.length;let s=0,r=n.charCodeAt(0);if(i===1)return V(r)?(t.root=t.dir=n,t):(t.base=t.name=n,t);if(V(r)){if(s=1,V(n.charCodeAt(1))){let d=2,_=d;for(;d0&&(t.root=n.slice(0,s));let h=-1,o=s,a=-1,c=!0,u=n.length-1,T=0;for(;u>=s;--u){if(r=n.charCodeAt(u),V(r)){if(!c){o=u+1;break}continue}a===-1&&(c=!1,a=u+1),r===ye?h===-1?h=u:T!==1&&(T=1):h!==-1&&(T=-1)}return a!==-1&&(h===-1||T===0||T===1&&h===a-1&&h===o+1?t.base=t.name=n.slice(o,a):(t.name=n.slice(o,h),t.base=n.slice(o,a),t.ext=n.slice(h,a))),o>0&&o!==s?t.dir=n.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},bt={resolve(...n){let t="",i=!1;for(let s=n.length-1;s>=-1&&!i;s--){const r=s>=0?n[s]:Vn();lt(r,"path"),r.length!==0&&(t=`${r}/${t}`,i=r.charCodeAt(0)===ft)}return t=Xs(t,!i,"/",kn),i?`/${t}`:t.length>0?t:"."},normalize(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===ft,i=n.charCodeAt(n.length-1)===ft;return n=Xs(n,!t,"/",kn),n.length===0?t?"/":i?"./":".":(i&&(n+="/"),t?`/${n}`:n)},isAbsolute(n){return lt(n,"path"),n.length>0&&n.charCodeAt(0)===ft},join(...n){if(n.length===0)return".";let t;for(let i=0;i0&&(t===void 0?t=s:t+=`/${s}`)}return t===void 0?".":bt.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t||(n=bt.resolve(n),t=bt.resolve(t),n===t))return"";const i=1,s=n.length,r=s-i,h=1,o=t.length-h,a=ra){if(t.charCodeAt(h+u)===ft)return t.slice(h+u+1);if(u===0)return t.slice(h+u)}else r>a&&(n.charCodeAt(i+u)===ft?c=u:u===0&&(c=0));let T="";for(u=i+c+1;u<=s;++u)(u===s||n.charCodeAt(u)===ft)&&(T+=T.length===0?"..":"/..");return`${T}${t.slice(h+c)}`},toNamespacedPath(n){return n},dirname(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===ft;let i=-1,s=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===ft){if(!s){i=r;break}}else s=!1;return i===-1?t?"/":".":t&&i===1?"//":n.slice(0,i)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let i=0,s=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=0;--h){const c=n.charCodeAt(h);if(c===ft){if(!r){i=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(s=h):(o=-1,s=a))}return i===s?s=a:s===-1&&(s=n.length),n.slice(i,s)}for(h=n.length-1;h>=0;--h)if(n.charCodeAt(h)===ft){if(!r){i=h+1;break}}else s===-1&&(r=!1,s=h+1);return s===-1?"":n.slice(i,s)},extname(n){lt(n,"path");let t=-1,i=0,s=-1,r=!0,h=0;for(let o=n.length-1;o>=0;--o){const a=n.charCodeAt(o);if(a===ft){if(!r){i=o+1;break}continue}s===-1&&(r=!1,s=o+1),a===ye?t===-1?t=o:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||s===-1||h===0||h===1&&t===s-1&&t===i+1?"":n.slice(t,s)},format:P2.bind(null,"/"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const i=n.charCodeAt(0)===ft;let s;i?(t.root="/",s=1):s=0;let r=-1,h=0,o=-1,a=!0,c=n.length-1,u=0;for(;c>=s;--c){const T=n.charCodeAt(c);if(T===ft){if(!a){h=c+1;break}continue}o===-1&&(a=!1,o=c+1),T===ye?r===-1?r=c:u!==1&&(u=1):r!==-1&&(u=-1)}if(o!==-1){const T=h===0&&i?1:h;r===-1||u===0||u===1&&r===o-1&&r===h+1?t.base=t.name=n.slice(T,o):(t.name=n.slice(T,r),t.base=n.slice(T,o),t.ext=n.slice(r,o))}return h>0?t.dir=n.slice(0,h-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};bt.win32=Mt.win32=Mt,bt.posix=Mt.posix=bt,h1==="win32"?Mt.normalize:bt.normalize,h1==="win32"?Mt.resolve:bt.resolve,h1==="win32"?Mt.relative:bt.relative,h1==="win32"?Mt.dirname:bt.dirname,h1==="win32"?Mt.basename:bt.basename,h1==="win32"?Mt.extname:bt.extname,h1==="win32"?Mt.sep:bt.sep;const pa=/^\w[\w\d+.-]*$/,Da=/^\//,Ma=/^\/\//;function $2(n,t){if(!n.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!pa.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!Da.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Ma.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function ya(n,t){return!n&&!t?"file":n}function Ua(n,t){switch(n){case"https":case"http":case"file":t?t[0]!==te&&(t=te+t):t=te;break}return t}const et="",te="/",va=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class o1{constructor(t,i,s,r,h,o=!1){typeof t=="object"?(this.scheme=t.scheme||et,this.authority=t.authority||et,this.path=t.path||et,this.query=t.query||et,this.fragment=t.fragment||et):(this.scheme=ya(t,o),this.authority=i||et,this.path=Ua(this.scheme,s||et),this.query=r||et,this.fragment=h||et,$2(this,o))}static isUri(t){return t instanceof o1?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return Gn(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:s,path:r,query:h,fragment:o}=t;return i===void 0?i=this.scheme:i===null&&(i=et),s===void 0?s=this.authority:s===null&&(s=et),r===void 0?r=this.path:r===null&&(r=et),h===void 0?h=this.query:h===null&&(h=et),o===void 0?o=this.fragment:o===null&&(o=et),i===this.scheme&&s===this.authority&&r===this.path&&h===this.query&&o===this.fragment?this:new v1(i,s,r,h,o)}static parse(t,i=!1){const s=va.exec(t);return s?new v1(s[2]||et,Zs(s[4]||et),Zs(s[5]||et),Zs(s[7]||et),Zs(s[9]||et),i):new v1(et,et,et,et,et)}static file(t){let i=et;if(ci&&(t=t.replace(/\\/g,te)),t[0]===te&&t[1]===te){const s=t.indexOf(te,2);s===-1?(i=t.substring(2),t=te):(i=t.substring(2,s),t=t.substring(s)||te)}return new v1("file",i,t,et,et)}static from(t){const i=new v1(t.scheme,t.authority,t.path,t.query,t.fragment);return $2(i,!0),i}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let s;return ci&&t.scheme==="file"?s=o1.file(Mt.join(Gn(t,!0),...i)).path:s=bt.join(t.path,...i),t.with({path:s})}toString(t=!1){return Yn(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof o1)return t;{const i=new v1(t);return i._formatted=t.external,i._fsPath=t._sep===j2?t.fsPath:null,i}}else return t}}const j2=ci?1:void 0;class v1 extends o1{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Gn(this,!1)),this._fsPath}toString(t=!1){return t?Yn(this,!0):(this._formatted||(this._formatted=Yn(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=j2),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const J2={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function q2(n,t){let i,s=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)s!==-1&&(i+=encodeURIComponent(n.substring(s,r)),s=-1),i!==void 0&&(i+=n.charAt(r));else{i===void 0&&(i=n.substr(0,r));const o=J2[h];o!==void 0?(s!==-1&&(i+=encodeURIComponent(n.substring(s,r)),s=-1),i+=o):s===-1&&(s=r)}}return s!==-1&&(i+=encodeURIComponent(n.substring(s))),i!==void 0?i:n}function wa(n){let t;for(let i=0;i1&&n.scheme==="file"?i=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?t?i=n.path.substr(1):i=n.path[1].toLowerCase()+n.path.substr(2):i=n.path,ci&&(i=i.replace(/\//g,"\\")),i}function Yn(n,t){const i=t?wa:q2;let s="",{scheme:r,authority:h,path:o,query:a,fragment:c}=n;if(r&&(s+=r,s+=":"),(h||r==="file")&&(s+=te,s+=te),h){let u=h.indexOf("@");if(u!==-1){const T=h.substr(0,u);h=h.substr(u+1),u=T.indexOf(":"),u===-1?s+=i(T,!1):(s+=i(T.substr(0,u),!1),s+=":",s+=i(T.substr(u+1),!1)),s+="@"}h=h.toLowerCase(),u=h.indexOf(":"),u===-1?s+=i(h,!1):(s+=i(h.substr(0,u),!1),s+=h.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}s+=i(o,!0)}return a&&(s+="?",s+=i(a,!1)),c&&(s+="#",s+=t?c:q2(c,!1)),s}function th(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+th(n.substr(3)):n}}const eh=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Zs(n){return n.match(eh)?n.replace(eh,t=>th(t)):n}class Ht{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new Ht(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return Ht.equals(this,t)}static equals(t,i){return!t&&!i?!0:!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return Ht.isBefore(this,t)}static isBefore(t,i){return t.lineNumbers||t===s&&i>r?(this.startLineNumber=s,this.startColumn=r,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=s,this.endColumn=r)}isEmpty(){return nt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return nt.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return nt.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return nt.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return nt.plusRange(this,t)}static plusRange(t,i){let s,r,h,o;return i.startLineNumbert.endLineNumber?(h=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(h=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(h=t.endLineNumber,o=t.endColumn),new nt(s,r,h,o)}intersectRanges(t){return nt.intersectRanges(this,t)}static intersectRanges(t,i){let s=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,o=t.endColumn,a=i.startLineNumber,c=i.startColumn,u=i.endLineNumber,T=i.endColumn;return su?(h=u,o=T):h===u&&(o=Math.min(o,T)),s>h||s===h&&r>o?null:new nt(s,r,h,o)}equalsRange(t){return nt.equalsRange(this,t)}static equalsRange(t,i){return!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return nt.getEndPosition(this)}static getEndPosition(t){return new Ht(t.endLineNumber,t.endColumn)}getStartPosition(){return nt.getStartPosition(this)}static getStartPosition(t){return new Ht(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new nt(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new nt(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return nt.collapseToStart(this)}static collapseToStart(t){return new nt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,i=t){return new nt(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new nt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}}const ba=3;function ih(n,t,i,s){return new Me(n,t,i).ComputeDiff(s)}class sh{constructor(t){const i=[],s=[];for(let r=0,h=t.length;r0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&h()){const f=s.createCharSequence(t,i.originalStart,i.originalStart+i.originalLength-1),g=r.createCharSequence(t,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let O=ih(f,g,h,!0).changes;a&&(O=Fa(O)),_=[];for(let p=0,y=O.length;p1&&O>1;){const p=_.charCodeAt(g-2),y=f.charCodeAt(O-2);if(p!==y)break;g--,O--}(g>1||O>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,g,o+1,1,O)}{let g=Qn(_,1),O=Qn(f,1);const p=_.length+1,y=f.length+1;for(;g!0;const t=Date.now();return()=>Date.now()-t255?255:n|0}function w1(n){return n<0?0:n>4294967295?4294967295:n|0}class Va{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,i){t=w1(t);const s=this.values,r=this.prefixSum,h=i.length;return h===0?!1:(this.values=new Uint32Array(s.length+h),this.values.set(s.subarray(0,t),0),this.values.set(s.subarray(t),t+h),this.values.set(i,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,i){return t=w1(t),i=w1(i),this.values[t]===i?!1:(this.values[t]=i,t-1=s.length)return!1;let h=s.length-t;return i>=h&&(i=h),i===0?!1:(this.values=new Uint32Array(s.length-i),this.values.set(s.subarray(0,t),0),this.values.set(s.subarray(t+i),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=w1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let i=this.prefixSumValidIndex[0]+1;i===0&&(this.prefixSum[0]=this.values[0],i++),t>=this.values.length&&(t=this.values.length-1);for(let s=i;s<=t;s++)this.prefixSum[s]=this.prefixSum[s-1]+this.values[s];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let i=0,s=this.values.length-1,r=0,h=0,o=0;for(;i<=s;)if(r=i+(s-i)/2|0,h=this.prefixSum[r],o=h-this.values[r],t=h)i=r+1;else break;return new ka(r,t-o)}}class ka{constructor(t,i){this.index=t,this.remainder=i,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=i}}class Ga{constructor(t,i,s,r){this._uri=t,this._lines=i,this._eol=s,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const i=t.changes;for(const s of i)this._acceptDeleteRange(s.range),this._acceptInsertText(new Ht(s.range.startLineNumber,s.range.startColumn),s.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,i=this._lines.length,s=new Uint32Array(i);for(let r=0;r/?";function Sa(n=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of Ya)n.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}const Qa=Sa();function Xa(n){let t=Qa;if(n&&n instanceof RegExp)if(n.global)t=n;else{let i="g";n.ignoreCase&&(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),t=new RegExp(n.source,i)}return t.lastIndex=0,t}const Za={maxLen:1e3,windowSize:15,timeBudget:150};function hh(n,t,i,s,r=Za){if(i.length>r.maxLen){let u=n-r.maxLen/2;return u<0?u=0:s+=u,i=i.substring(u,n+r.maxLen/2),hh(n,t,i,s,r)}const h=Date.now(),o=n-1-s;let a=-1,c=null;for(let u=1;!(Date.now()-h>=r.timeBudget);u++){const T=o-r.windowSize*u;t.lastIndex=Math.max(0,T);const d=za(t,i,o,a);if(!d&&c||(c=d,T<=0))break;a=T}if(c){let u={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return t.lastIndex=0,u}return null}function za(n,t,i,s){let r;for(;r=n.exec(t);){const h=r.index||0;if(h<=i&&n.lastIndex>=i)return r;if(s>0&&h>s)return null}return null}class Xn{constructor(t){let i=rh(t);this._defaultValue=i,this._asciiMap=Xn._createAsciiMap(i),this._map=new Map}static _createAsciiMap(t){let i=new Uint8Array(256);for(let s=0;s<256;s++)i[s]=t;return i}set(t,i){let s=rh(i);t>=0&&t<256?this._asciiMap[t]=s:this._map.set(t,s)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class Pa{constructor(t,i,s){const r=new Uint8Array(t*i);for(let h=0,o=t*i;hi&&(i=c),a>s&&(s=a),u>s&&(s=u)}i++,s++;let r=new Pa(s,i,0);for(let h=0,o=t.length;h=this._maxCharCode?0:this._states.get(t,i)}}let Zn=null;function ja(){return Zn===null&&(Zn=new $a([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Zn}let Ei=null;function Ja(){if(Ei===null){Ei=new Xn(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;ir);if(r>0){const a=i.charCodeAt(r-1),c=i.charCodeAt(o);(a===40&&c===41||a===91&&c===93||a===123&&c===125)&&o--}return{range:{startLineNumber:s,startColumn:r+1,endLineNumber:s,endColumn:o+2},url:i.substring(r,o+1)}}static computeLinks(t,i=ja()){const s=Ja();let r=[];for(let h=1,o=t.getLineCount();h<=o;h++){const a=t.getLineContent(h),c=a.length;let u=0,T=0,d=0,_=1,f=!1,g=!1,O=!1,p=!1;for(;u=0?(r+=s?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}zn.INSTANCE=new zn;const oh=Object.freeze(function(n,t){const i=setTimeout(n.bind(t),0);return{dispose(){clearTimeout(i)}}});var Ps;(function(n){function t(i){return i===n.None||i===n.Cancelled||i instanceof $s?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}n.isCancellationToken=t,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Hn.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:oh})})(Ps||(Ps={}));class $s{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?oh:(this._emitter||(this._emitter=new pe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class tc{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new $s),this._token}cancel(){this._token?this._token instanceof $s&&this._token.cancel():this._token=Ps.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof $s&&this._token.dispose():this._token=Ps.None}}class Pn{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const js=new Pn,$n=new Pn,jn=new Pn,ec=new Array(230),ic=Object.create(null),sc=Object.create(null);(function(){const n="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[0,1,1,"Hyper",0,n,0,n,n,n],[0,1,2,"Super",0,n,0,n,n,n],[0,1,3,"Fn",0,n,0,n,n,n],[0,1,4,"FnLock",0,n,0,n,n,n],[0,1,5,"Suspend",0,n,0,n,n,n],[0,1,6,"Resume",0,n,0,n,n,n],[0,1,7,"Turbo",0,n,0,n,n,n],[0,1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[0,1,9,"WakeUp",0,n,0,n,n,n],[31,0,10,"KeyA",31,"A",65,"VK_A",n,n],[32,0,11,"KeyB",32,"B",66,"VK_B",n,n],[33,0,12,"KeyC",33,"C",67,"VK_C",n,n],[34,0,13,"KeyD",34,"D",68,"VK_D",n,n],[35,0,14,"KeyE",35,"E",69,"VK_E",n,n],[36,0,15,"KeyF",36,"F",70,"VK_F",n,n],[37,0,16,"KeyG",37,"G",71,"VK_G",n,n],[38,0,17,"KeyH",38,"H",72,"VK_H",n,n],[39,0,18,"KeyI",39,"I",73,"VK_I",n,n],[40,0,19,"KeyJ",40,"J",74,"VK_J",n,n],[41,0,20,"KeyK",41,"K",75,"VK_K",n,n],[42,0,21,"KeyL",42,"L",76,"VK_L",n,n],[43,0,22,"KeyM",43,"M",77,"VK_M",n,n],[44,0,23,"KeyN",44,"N",78,"VK_N",n,n],[45,0,24,"KeyO",45,"O",79,"VK_O",n,n],[46,0,25,"KeyP",46,"P",80,"VK_P",n,n],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[48,0,27,"KeyR",48,"R",82,"VK_R",n,n],[49,0,28,"KeyS",49,"S",83,"VK_S",n,n],[50,0,29,"KeyT",50,"T",84,"VK_T",n,n],[51,0,30,"KeyU",51,"U",85,"VK_U",n,n],[52,0,31,"KeyV",52,"V",86,"VK_V",n,n],[53,0,32,"KeyW",53,"W",87,"VK_W",n,n],[54,0,33,"KeyX",54,"X",88,"VK_X",n,n],[55,0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[22,0,36,"Digit1",22,"1",49,"VK_1",n,n],[23,0,37,"Digit2",23,"2",50,"VK_2",n,n],[24,0,38,"Digit3",24,"3",51,"VK_3",n,n],[25,0,39,"Digit4",25,"4",52,"VK_4",n,n],[26,0,40,"Digit5",26,"5",53,"VK_5",n,n],[27,0,41,"Digit6",27,"6",54,"VK_6",n,n],[28,0,42,"Digit7",28,"7",55,"VK_7",n,n],[29,0,43,"Digit8",29,"8",56,"VK_8",n,n],[30,0,44,"Digit9",30,"9",57,"VK_9",n,n],[21,0,45,"Digit0",21,"0",48,"VK_0",n,n],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[10,1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,n,0,n,n,n],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[59,1,64,"F1",59,"F1",112,"VK_F1",n,n],[60,1,65,"F2",60,"F2",113,"VK_F2",n,n],[61,1,66,"F3",61,"F3",114,"VK_F3",n,n],[62,1,67,"F4",62,"F4",115,"VK_F4",n,n],[63,1,68,"F5",63,"F5",116,"VK_F5",n,n],[64,1,69,"F6",64,"F6",117,"VK_F6",n,n],[65,1,70,"F7",65,"F7",118,"VK_F7",n,n],[66,1,71,"F8",66,"F8",119,"VK_F8",n,n],[67,1,72,"F9",67,"F9",120,"VK_F9",n,n],[68,1,73,"F10",68,"F10",121,"VK_F10",n,n],[69,1,74,"F11",69,"F11",122,"VK_F11",n,n],[70,1,75,"F12",70,"F12",123,"VK_F12",n,n],[0,1,76,"PrintScreen",0,n,0,n,n,n],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",n,n],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[14,1,80,"Home",14,"Home",36,"VK_HOME",n,n],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[13,1,83,"End",13,"End",35,"VK_END",n,n],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",n,n],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",n,n],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",n,n],[3,1,94,"NumpadEnter",3,n,0,n,n,n],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",n,n],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",n,n],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",n,n],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",n,n],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",n,n],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",n,n],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",n,n],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",n,n],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",n,n],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",n,n],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",n,n],[58,1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[0,1,108,"Power",0,n,0,n,n,n],[0,1,109,"NumpadEqual",0,n,0,n,n,n],[71,1,110,"F13",71,"F13",124,"VK_F13",n,n],[72,1,111,"F14",72,"F14",125,"VK_F14",n,n],[73,1,112,"F15",73,"F15",126,"VK_F15",n,n],[74,1,113,"F16",74,"F16",127,"VK_F16",n,n],[75,1,114,"F17",75,"F17",128,"VK_F17",n,n],[76,1,115,"F18",76,"F18",129,"VK_F18",n,n],[77,1,116,"F19",77,"F19",130,"VK_F19",n,n],[0,1,117,"F20",0,n,0,"VK_F20",n,n],[0,1,118,"F21",0,n,0,"VK_F21",n,n],[0,1,119,"F22",0,n,0,"VK_F22",n,n],[0,1,120,"F23",0,n,0,"VK_F23",n,n],[0,1,121,"F24",0,n,0,"VK_F24",n,n],[0,1,122,"Open",0,n,0,n,n,n],[0,1,123,"Help",0,n,0,n,n,n],[0,1,124,"Select",0,n,0,n,n,n],[0,1,125,"Again",0,n,0,n,n,n],[0,1,126,"Undo",0,n,0,n,n,n],[0,1,127,"Cut",0,n,0,n,n,n],[0,1,128,"Copy",0,n,0,n,n,n],[0,1,129,"Paste",0,n,0,n,n,n],[0,1,130,"Find",0,n,0,n,n,n],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",n,n],[0,1,136,"KanaMode",0,n,0,n,n,n],[0,0,137,"IntlYen",0,n,0,n,n,n],[0,1,138,"Convert",0,n,0,n,n,n],[0,1,139,"NonConvert",0,n,0,n,n,n],[0,1,140,"Lang1",0,n,0,n,n,n],[0,1,141,"Lang2",0,n,0,n,n,n],[0,1,142,"Lang3",0,n,0,n,n,n],[0,1,143,"Lang4",0,n,0,n,n,n],[0,1,144,"Lang5",0,n,0,n,n,n],[0,1,145,"Abort",0,n,0,n,n,n],[0,1,146,"Props",0,n,0,n,n,n],[0,1,147,"NumpadParenLeft",0,n,0,n,n,n],[0,1,148,"NumpadParenRight",0,n,0,n,n,n],[0,1,149,"NumpadBackspace",0,n,0,n,n,n],[0,1,150,"NumpadMemoryStore",0,n,0,n,n,n],[0,1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[0,1,152,"NumpadMemoryClear",0,n,0,n,n,n],[0,1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[0,1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[0,1,155,"NumpadClear",0,n,0,n,n,n],[0,1,156,"NumpadClearEntry",0,n,0,n,n,n],[5,1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[4,1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[6,1,0,n,6,"Alt",18,"VK_MENU",n,n],[57,1,0,n,57,"Meta",0,"VK_COMMAND",n,n],[5,1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[4,1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[6,1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[57,1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[5,1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[4,1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[6,1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[57,1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[0,1,165,"BrightnessUp",0,n,0,n,n,n],[0,1,166,"BrightnessDown",0,n,0,n,n,n],[0,1,167,"MediaPlay",0,n,0,n,n,n],[0,1,168,"MediaRecord",0,n,0,n,n,n],[0,1,169,"MediaFastForward",0,n,0,n,n,n],[0,1,170,"MediaRewind",0,n,0,n,n,n],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",n,n],[0,1,174,"Eject",0,n,0,n,n,n],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[0,1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[0,1,180,"SelectTask",0,n,0,n,n,n],[0,1,181,"LaunchScreenSaver",0,n,0,n,n,n],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[0,1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[0,1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[0,1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[0,1,189,"ZoomToggle",0,n,0,n,n,n],[0,1,190,"MailReply",0,n,0,n,n,n],[0,1,191,"MailForward",0,n,0,n,n,n],[0,1,192,"MailSend",0,n,0,n,n,n],[109,1,0,n,109,"KeyInComposition",229,n,n,n],[111,1,0,n,111,"ABNT_C2",194,"VK_ABNT_C2",n,n],[91,1,0,n,91,"OEM_8",223,"VK_OEM_8",n,n],[0,1,0,n,0,n,0,"VK_CLEAR",n,n],[0,1,0,n,0,n,0,"VK_KANA",n,n],[0,1,0,n,0,n,0,"VK_HANGUL",n,n],[0,1,0,n,0,n,0,"VK_JUNJA",n,n],[0,1,0,n,0,n,0,"VK_FINAL",n,n],[0,1,0,n,0,n,0,"VK_HANJA",n,n],[0,1,0,n,0,n,0,"VK_KANJI",n,n],[0,1,0,n,0,n,0,"VK_CONVERT",n,n],[0,1,0,n,0,n,0,"VK_NONCONVERT",n,n],[0,1,0,n,0,n,0,"VK_ACCEPT",n,n],[0,1,0,n,0,n,0,"VK_MODECHANGE",n,n],[0,1,0,n,0,n,0,"VK_SELECT",n,n],[0,1,0,n,0,n,0,"VK_PRINT",n,n],[0,1,0,n,0,n,0,"VK_EXECUTE",n,n],[0,1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[0,1,0,n,0,n,0,"VK_HELP",n,n],[0,1,0,n,0,n,0,"VK_APPS",n,n],[0,1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[0,1,0,n,0,n,0,"VK_PACKET",n,n],[0,1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_ATTN",n,n],[0,1,0,n,0,n,0,"VK_CRSEL",n,n],[0,1,0,n,0,n,0,"VK_EXSEL",n,n],[0,1,0,n,0,n,0,"VK_EREOF",n,n],[0,1,0,n,0,n,0,"VK_PLAY",n,n],[0,1,0,n,0,n,0,"VK_ZOOM",n,n],[0,1,0,n,0,n,0,"VK_NONAME",n,n],[0,1,0,n,0,n,0,"VK_PA1",n,n],[0,1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]];let i=[],s=[];for(const r of t){const[h,o,a,c,u,T,d,_,f,g]=r;if(s[a]||(s[a]=!0,ic[c]=a,sc[c.toLowerCase()]=a),!i[u]){if(i[u]=!0,!T)throw new Error(`String representation missing for key code ${u} around scan code ${c}`);js.define(u,T),$n.define(u,f||T),jn.define(u,g||f||T)}d&&(ec[d]=u)}})();var ah;(function(n){function t(a){return js.keyCodeToStr(a)}n.toString=t;function i(a){return js.strToKeyCode(a)}n.fromString=i;function s(a){return $n.keyCodeToStr(a)}n.toUserSettingsUS=s;function r(a){return jn.keyCodeToStr(a)}n.toUserSettingsGeneral=r;function h(a){return $n.strToKeyCode(a)||jn.strToKeyCode(a)}n.fromUserSettings=h;function o(a){if(a>=93&&a<=108)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return js.keyCodeToStr(a)}n.toElectronAccelerator=o})(ah||(ah={}));function nc(n,t){const i=(t&65535)<<16>>>0;return(n|i)>>>0}class Vt extends nt{constructor(t,i,s,r){super(t,i,s,r),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=s,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Vt.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return this.getDirection()===0?new Vt(this.startLineNumber,this.startColumn,t,i):new Vt(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new Ht(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Ht(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return this.getDirection()===0?new Vt(t,i,this.endLineNumber,this.endColumn):new Vt(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Vt(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return i===0?new Vt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Vt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Vt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let s=0,r=t.length;s0){const o=t.charCodeAt(s);if(n.get(o)!==0)return!0}return!1}function ac(n,t,i,s,r){if(s+r===i)return!0;const h=t.charCodeAt(s+r);if(n.get(h)!==0||h===13||h===10)return!0;if(r>0){const o=t.charCodeAt(s+r-1);if(n.get(o)!==0)return!0}return!1}function cc(n,t,i,s,r){return oc(n,t,i,s,r)&&ac(n,t,i,s,r)}class uc{constructor(t,i){this._wordSeparators=t,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const i=t.length;let s;do{if(this._prevMatchStartIndex+this._prevMatchLength===i||(s=this._searchRegex.exec(t),!s))return null;const r=s.index,h=s[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){Ea(t,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||cc(this._wordSeparators,t,i,r,h))return s}while(s);return null}}class lc{static computeUnicodeHighlights(t,i,s){const r=s?s.startLineNumber:1,h=s?s.endLineNumber:t.getLineCount(),o=new Yh(i),a=o.getCandidateCodePoints();let c;a==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${Ec(Array.from(a))}`,"g");const u=new uc(null,c),T=[];let d=!1,_,f=0,g=0,O=0;t:for(let p=r,y=h;p<=y;p++){const m=t.getLineContent(p),K=m.length;u.reset(0);do if(_=u.next(m),_){let L=_.index,x=_.index+_[0].length;if(L>0){const D=m.charCodeAt(L-1);Bn(D)&&L--}if(x+1=D){d=!0;break t}T.push(new nt(p,L+1,p,x+1))}}while(_)}return{ranges:T,hasMore:d,ambiguousCharacterCount:f,invisibleCharacterCount:g,nonBasicAsciiCharacterCount:O}}static computeUnicodeHighlightReason(t,i){switch(new Yh(i).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=qt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function Ec(n,t){return`[${ha(n.map(s=>String.fromCodePoint(s)).join(""))}]`}class Yh{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const i of r1.codePoints)t.add(i);if(this.options.ambiguousCharacters)for(const i of qt.getPrimaryConfusableCodePoints())t.add(i);for(const i of this.allowedCodePoints)t.delete(i);return t}shouldHighlightNonBasicASCII(t){const i=t.codePointAt(0);return this.allowedCodePoints.has(i)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` +`||t===" ")&&r1.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&qt.isAmbiguous(i)?3:0}}var a1=function(n,t,i,s){function r(h){return h instanceof i?h:new i(function(o){o(h)})}return new(i||(i=Promise))(function(h,o){function a(T){try{u(s.next(T))}catch(d){o(d)}}function c(T){try{u(s.throw(T))}catch(d){o(d)}}function u(T){T.done?h(T.value):r(T.value).then(a,c)}u((s=s.apply(n,t||[])).next())})};class Tc extends Ga{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,i){let s=hh(t.column,Xa(i),this._lines[t.lineNumber-1],0);return s?new nt(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):null}words(t){const i=this._lines,s=this._wordenize.bind(this);let r=0,h="",o=0,a=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)i=this._lines.length,s=this._lines[i-1].length+1,r=!0;else{let h=this._lines[i-1].length+1;s<1?(s=1,r=!0):s>h&&(s=h,r=!0)}return r?{lineNumber:i,column:s}:t}}class b1{constructor(t,i){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(i=>t.push(this._models[i])),t}acceptNewModel(t){this._models[t.url]=new Tc(o1.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,i){if(!this._models[t])return;this._models[t].onEvents(i)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,i,s){return a1(this,void 0,void 0,function*(){const r=this._getModel(t);return r?lc.computeUnicodeHighlights(r,i,s):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,i,s,r){return a1(this,void 0,void 0,function*(){const h=this._getModel(t),o=this._getModel(i);if(!h||!o)return null;const a=h.getLinesContent(),c=o.getLinesContent(),T=new Ba(a,c,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:s,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),d=T.changes.length>0?!1:this._modelsAreIdentical(h,o);return{quitEarly:T.quitEarly,identical:d,changes:T.changes}})}_modelsAreIdentical(t,i){const s=t.getLineCount(),r=i.getLineCount();if(s!==r)return!1;for(let h=1;h<=s;h++){const o=t.getLineContent(h),a=i.getLineContent(h);if(o!==a)return!1}return!0}computeMoreMinimalEdits(t,i){return a1(this,void 0,void 0,function*(){const s=this._getModel(t);if(!s)return i;const r=[];let h;i=i.slice(0).sort((o,a)=>{if(o.range&&a.range)return nt.compareRangesUsingStarts(o.range,a.range);let c=o.range?0:1,u=a.range?0:1;return c-u});for(let{range:o,text:a,eol:c}of i){if(typeof c=="number"&&(h=c),nt.isEmpty(o)&&!a)continue;const u=s.getValueInRange(o);if(a=a.replace(/\r\n|\n|\r/g,s.eol),u===a)continue;if(Math.max(a.length,u.length)>b1._diffLimit){r.push({range:o,text:a});continue}const T=Ca(u,a,!1),d=s.offsetAt(nt.lift(o).getStartPosition());for(const _ of T){const f=s.positionAt(d+_.originalStart),g=s.positionAt(d+_.originalStart+_.originalLength),O={text:a.substr(_.modifiedStart,_.modifiedLength),range:{startLineNumber:f.lineNumber,startColumn:f.column,endLineNumber:g.lineNumber,endColumn:g.column}};s.getValueInRange(O.range)!==O.text&&r.push(O)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return a1(this,void 0,void 0,function*(){let i=this._getModel(t);return i?qa(i):null})}textualSuggest(t,i,s,r){return a1(this,void 0,void 0,function*(){const h=new Ss(!0),o=new RegExp(s,r),a=new Set;t:for(let c of t){const u=this._getModel(c);if(u){for(let T of u.words(o))if(!(T===i||!isNaN(Number(T)))&&(a.add(T),a.size>b1._suggestionsLimit))break t}}return{words:Array.from(a),duration:h.elapsed()}})}computeWordRanges(t,i,s,r){return a1(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const o=new RegExp(s,r),a=Object.create(null);for(let c=i.startLineNumber;cthis._host.fhr(a,c)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,i),Promise.resolve(Fn(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,i){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,i))}catch(s){return Promise.reject(s)}}}b1._diffLimit=1e5,b1._suggestionsLimit=1e4,typeof importScripts=="function"&&(gt.monaco=hc());let ir=!1;function Sh(n){if(ir)return;ir=!0;const t=new fa(i=>{self.postMessage(i)},i=>new b1(i,n));self.onmessage=i=>{t.onmessage(i.data)}}self.onmessage=n=>{ir||Sh(null)};var dc=Object.defineProperty,A=(n,t)=>dc(n,"name",{value:t,configurable:!0}),we=(Y1=class{constructor(t){E(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},A(Y1,"Transition"),E(Y1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),Y1),sr=(wi=class extends we{constructor(t){super(t)}},A(wi,"AbstractPredicateTransition"),wi),v={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},Qh=(bi=class extends we{constructor(i,s,r,h){super(i);E(this,"ruleIndex");E(this,"actionIndex");E(this,"isCtxDependent");this.ruleIndex=s,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return v.ACTION}matches(i,s,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},A(bi,"ActionTransition"),bi),z=(Le=class{constructor(t){E(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Le.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},A(Le,"PredictionContext"),E(Le,"EMPTY_RETURN_STATE",2147483647),E(Le,"EMPTY"),E(Le,"trace_atn_sim",!1),Le),Xh=3432918353,Zh=461845907,Js=15,qs=13,zh=5,Ph=3864292196,oe=(K1=class{constructor(){E(this,"count");E(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const i=new K1;return i.update(t),i.finish()}static hashString(t=0,i){let s=3735928559^t,r=1103547991^t;for(const h of i){const o=h.charCodeAt(0);s=Math.imul(s^o,2654435761),r=Math.imul(r^o,1597334677)}return s=Math.imul(s^s>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(s^s>>>13,3266489909),Math.imul(4294967296,2097151&r)+(s>>>0)}update(...t){for(const i of t)if(i!=null)if(Array.isArray(i))this.update(...i);else{let s=0;switch(typeof i){case"undefined":case"function":continue;case"number":{s=i;break}case"boolean":{s=i?1237:4327;break}case"string":{s=K1.hashString(this.hash,i);break}default:{i.updateHashCode(this);continue}}this.count=this.count+1,s=Math.imul(s,Xh),s=s<>>32-Js,s=Math.imul(s,Zh);let r=this.hash^s;r=r<>>32-qs,this.hash=Math.imul(r,zh)+Ph}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,Xh),t=t<>>32-Js,t=Math.imul(t,Zh);let i=this.hash^t;i=i<>>32-qs,this.hash=Math.imul(i,zh)+Ph}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},A(K1,"HashCode"),K1),Rc=A(n=>typeof n.equals=="function","isComparable"),Wc=A(n=>n===null?"null":n,"valueToString"),c1=A(n=>Array.isArray(n)?"["+n.map(Wc).join(", ")+"]":"null","arrayToString"),di=A((n,t)=>{if(n===t)return!0;if(n.length!==t.length)return!1;for(let i=0;i(n=n.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(n=n.replace(/ /g,"·")),n),"escapeWhitespace"),$h=A((n,t)=>n?n.equals(t):n===t,"standardEqualsFunction"),Ac=Math.round(Math.random()*Math.pow(2,32)),Kc=A(n=>{let t,i;const s=n.length&3,r=n.length-s;let h=Ac;const o=3432918353,a=461845907;let c=0;for(;c>>16)*o&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*a+(((i>>>16)*a&65535)<<16)&4294967295,h^=i,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(i=0,s){case 3:i^=(n.charCodeAt(c+2)&255)<<16;case 2:i^=(n.charCodeAt(c+1)&255)<<8;case 1:i^=n.charCodeAt(c)&255,i=(i&65535)*o+(((i>>>16)*o&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*a+(((i>>>16)*a&65535)<<16)&4294967295,h^=i}return h^=n.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),jh=A(n=>n?typeof n=="string"?Kc(n):n.hashCode():-1,"standardHashCodeFunction"),be=(S1=class extends z{constructor(i,s){const r=new oe;r.update(i,s);const h=r.finish();super(h);E(this,"parents",[]);E(this,"returnStates",[]);return this.parents=i,this.returnStates=s,this}isEmpty(){return this.returnStates[0]===z.EMPTY_RETURN_STATE}getParent(i){return this.parents[i]}getReturnState(i){return this.returnStates[i]}equals(i){return this===i?!0:!(i instanceof S1)||this.hashCode()!==i.hashCode()?!1:di(this.returnStates,i.returnStates)&&di(this.parents,i.parents)}toString(){if(this.isEmpty())return"[]";{let i="[";for(let s=0;s0&&(i=i+", "),this.returnStates[s]===z.EMPTY_RETURN_STATE){i=i+"$";continue}i=i+this.returnStates[s],this.parents[s]!==null?i=i+" "+this.parents[s]:i=i+"null"}return i+"]"}}get length(){return this.returnStates.length}},A(S1,"ArrayPredictionContext"),S1),tn;(n=>{n.EOF=-1,n.UNKNOWN_SOURCE_NAME=""})(tn||(tn={}));var C;(n=>{n.INVALID_TYPE=0,n.EPSILON=-2,n.MIN_USER_TOKEN_TYPE=1,n.EOF=tn.EOF,n.DEFAULT_CHANNEL=0,n.HIDDEN_CHANNEL=1,n.MIN_USER_CHANNEL_VALUE=2})(C||(C={}));var Jh=A(n=>{const t=n;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),Qt=(Hi=class{constructor(t,i){E(this,"data");E(this,"hashFunction");E(this,"equalsFunction");this.data={},this.hashFunction=t??jh,this.equalsFunction=i??$h}add(t){const i=this.hashFunction(t);if(i in this.data){const s=this.data[i];for(const r of s)if(this.equalsFunction(t,r))return r;return s.push(t),t}else return this.data[i]=[t],t}has(t){return this.get(t)!=null}get(t){const i=this.hashFunction(t);if(i in this.data){const s=this.data[i];for(const r of s)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return c1(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,i)=>t+i,0)}},A(Hi,"HashSet"),Hi),it=(se=class{static andContext(t,i){if(t===null||t===se.NONE)return i;if(i===null||i===se.NONE)return t;const s=new fc(t,i);return s.opnds.length===1?s.opnds[0]:s}static orContext(t,i){if(t===null)return i;if(i===null)return t;if(t===se.NONE||i===se.NONE)return se.NONE;const s=new mc(t,i);return s.opnds.length===1?s.opnds[0]:s}static filterPrecedencePredicates(t){const i=[];return t.values().forEach(s=>{s instanceof se.PrecedencePredicate&&i.push(s)}),i}hashCode(){const t=new oe;return this.updateHashCode(t),t.finish()}evalPrecedence(t,i){return this}},A(se,"SemanticContext"),se),fc=(ze=class extends it{constructor(i,s){super();E(this,"opnds");const r=new Qt;i instanceof ze?i.opnds.forEach(o=>{r.add(o)}):r.add(i),s instanceof ze?s.opnds.forEach(o=>{r.add(o)}):r.add(s);const h=it.filterPrecedencePredicates(r);if(h.length>0){let o=null;h.forEach(a=>{(o===null||a.precedence{o=o===null?a:it.andContext(o,a)}),o}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("&&")}},A(ze,"AND"),ze),mc=(Pe=class extends it{constructor(i,s){super();E(this,"opnds");const r=new Qt;i instanceof Pe?i.opnds.forEach(o=>{r.add(o)}):r.add(i),s instanceof Pe?s.opnds.forEach(o=>{r.add(o)}):r.add(s);const h=it.filterPrecedencePredicates(r);if(h.length>0){const o=h.sort((c,u)=>c.compareTo(u)),a=o[o.length-1];r.add(a)}this.opnds=Array.from(r.values())}equals(i){return this===i?!0:i instanceof Pe?di(this.opnds,i.opnds):!1}updateHashCode(i){i.update(this.opnds),i.updateWithHashCode(3383313031)}evaluate(i,s){for(const r of this.opnds)if(r.evaluate(i,s))return!0;return!1}evalPrecedence(i,s){let r=!1;const h=[];for(const a of this.opnds){const c=a.evalPrecedence(i,s);if(r||(r=c!==a),c===it.NONE)return it.NONE;c!==null&&h.push(c)}if(!r)return this;if(h.length===0)return null;let o=null;return h.forEach(a=>{o=o===null?a:it.orContext(o,a)}),o}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("||")}},A(Pe,"OR"),Pe);(n=>{const s=class s extends n{constructor(a,c,u){super();E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=a??-1,this.predIndex=c??-1,this.isCtxDependent=u??!1}evaluate(a,c){const u=this.isCtxDependent?c:null;return a.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(a){a.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(a){return this===a?!0:a instanceof s?this.ruleIndex===a.ruleIndex&&this.predIndex===a.predIndex&&this.isCtxDependent===a.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};A(s,"Predicate");let t=s;n.Predicate=t;const r=class r extends n{constructor(a){super();E(this,"precedence");this.precedence=a??0}evaluate(a,c){return a.precpred(c,this.precedence)}evalPrecedence(a,c){return a.precpred(c,this.precedence)?n.NONE:null}compareTo(a){return this.precedence-a.precedence}updateHashCode(a){a.update(this.precedence)}equals(a){return this===a?!0:a instanceof r?this.precedence===a.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};A(r,"PrecedencePredicate");let i=r;n.PrecedencePredicate=i,n.NONE=new t})(it||(it={}));var Cc=A(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),gc=A(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:n.reachesIntoOuterContext??0,precedenceFilterSuppressed:n.precedenceFilterSuppressed??!1},"checkConfig"),Wt=(f1=class{constructor(t,i){E(this,"state");E(this,"alt");E(this,"context");E(this,"reachesIntoOuterContext");E(this,"precedenceFilterSuppressed",!1);E(this,"semanticContext");this.checkContext(t,i);const s=Cc(t),r=gc(i);this.state=s.state??r.state,this.alt=s.alt??r.alt??0,this.context=s.context??r.context,this.semanticContext=s.semanticContext??r.semanticContext??it.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new oe;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof f1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new oe;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof f1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,i=!0){let s="";return i&&(s=","+this.alt),"("+this.state+s+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==it.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,i){(t.context===null||t.context===void 0)&&(i===null||i.context===null||i.context===void 0)&&(this.context=null)}},A(f1,"ATNConfig"),f1),P=(ut=class{constructor(t,i){E(this,"start");E(this,"stop");this.start=t,this.stop=i}static of(t,i){return t!==i||t<0||t>ut.INTERVAL_POOL_MAX_VALUE?new ut(t,i):(ut.cache[t]===null&&(ut.cache[t]=new ut(t,t)),ut.cache[t])}equals(t){return t instanceof ut?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return ut.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return ut.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let i=null;return t.startsBeforeNonDisjoint(this)?i=ut.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(i=ut.of(this.start,t.start-1)),i}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{a.syntaxError(t,i,s,r,h,o)})}reportAmbiguity(t,i,s,r,h,o,a){this.delegates.forEach(c=>{c.reportAmbiguity(t,i,s,r,h,o,a)})}reportAttemptingFullContext(t,i,s,r,h,o){this.delegates.forEach(a=>{a.reportAttemptingFullContext(t,i,s,r,h,o)})}reportContextSensitivity(t,i,s,r,h,o){this.delegates.forEach(a=>{a.reportContextSensitivity(t,i,s,r,h,o)})}},A(Bi,"ProxyErrorListener"),Bi),qh=(jt=class{constructor(){E(this,"interpreter");j(this,_e,[Nc.INSTANCE]);j(this,Vi,-1)}checkVersion(t){const i="4.13.1";i!==t&&console.error("ANTLR runtime and generated code versions disagree: "+i+"!="+t)}addErrorListener(t){N(this,_e).push(t)}removeErrorListeners(){Z(this,_e,[])}removeErrorListener(t){for(let i=0;ii.set(s,r)),jt.ruleIndexMapCache.set(t,i)),i}getTokenType(t){const i=this.getTokenTypeMap().get(t);return i||C.INVALID_TYPE}getErrorHeader(t){var r,h;const i=(r=t.offendingToken)==null?void 0:r.line,s=(h=t.offendingToken)==null?void 0:h.column;return"line "+i+":"+s}getErrorListenerDispatch(){return new Lc(N(this,_e))}sempred(t,i,s){return!0}precpred(t,i){return!0}action(t,i,s){}get atn(){return this.interpreter.atn}get state(){return N(this,Vi)}set state(t){Z(this,Vi,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},_e=new WeakMap,Vi=new WeakMap,A(jt,"Recognizer"),E(jt,"EOF",-1),E(jt,"tokenTypeMapCache",new Map),E(jt,"ruleIndexMapCache",new Map),jt),Ic=($e=class{constructor(t,i,s,r,h){E(this,"source");E(this,"tokenIndex",-1);E(this,"start",0);E(this,"stop",0);E(this,"type",0);E(this,"line",0);E(this,"column",-1);E(this,"channel",C.DEFAULT_CHANNEL);j(this,Ae,null);this.source=t,this.type=i,this.channel=s??C.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new $e(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Z(t,Ae,N(this,Ae)),t}cloneWithType(t){const i=new $e(this.source,t,this.channel,this.start,this.stop);return i.tokenIndex=this.tokenIndex,i.line=this.line,i.column=this.column,t===C.EOF&&Z(i,Ae,""),i}toString(t){let i="";this.channel>0&&(i=",channel="+this.channel);let s=this.text;s?(s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t")):s="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+s+"',<"+r+">"+i+","+this.line+":"+this.column+"]"}get text(){if(N(this,Ae)!==null)return N(this,Ae);const t=this.inputStream;if(t===null)return null;const i=t.size;return this.start"}set text(t){Z(this,Ae,t)}setText(t){Z(this,Ae,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},Ae=new WeakMap,A($e,"CommonToken"),E($e,"EMPTY_SOURCE",[null,null]),$e),xc=(C1=class{constructor(t){E(this,"copyText",!1);this.copyText=t??!1}create(t,i,s,r,h,o,a,c){const u=new Ic(t,i,r,h,o);return u.line=a,u.column=c,s!==null?u.text=s:this.copyText&&t[1]!==null&&(u.text=t[1].getText(h,o)),u}},A(C1,"CommonTokenFactory"),E(C1,"DEFAULT",new C1),C1),W=(Q1=class extends Error{constructor(i){super(i.message);E(this,"ctx");E(this,"offendingToken",null);E(this,"offendingState",-1);E(this,"recognizer");E(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,Q1),this.message=i.message,this.recognizer=i.recognizer,this.input=i.input,this.ctx=i.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},A(Q1,"RecognitionException"),Q1),Ri=(ki=class extends W{constructor(i,s,r,h){super({message:"",recognizer:i,input:s,ctx:null});E(this,"startIndex");E(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let i="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(i=>"{"+i.key+":"+i.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,i)=>t+i,0)}},A(Gi,"HashMap"),Gi),fe=(Yi=class{constructor(t){E(this,"parent",null);E(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return P.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new P(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,i;return((t=this.symbol)==null?void 0:t.type)===C.EOF?"":((i=this.symbol)==null?void 0:i.text)??""}toStringTree(){return this.toString()}},A(Yi,"TerminalNode"),Yi),Wi=(Si=class extends fe{accept(t){return t.visitErrorNode(this)}},A(Si,"ErrorNode"),Si),He=(Yt=class{static toStringTree(t,i,s){i=i??null,s=s??null,s!==null&&(i=s.ruleNames);let r=Yt.getNodeText(t,i);r=_c(r,!1);const h=t.getChildCount();if(h===0)return r;let o="("+r+" ";h>0&&(r=Yt.toStringTree(t.getChild(0),i),o=o.concat(r));for(let a=1;at.getText()).join("")}getAltNumber(){return M.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?He.toStringTree(this,null,t[0]):He.toStringTree(this,t[0],t[1])}toString(t,i){t=t??null,i=i??null;let s=this,r="[";for(;s!==null&&s!==i;){if(t===null)s.isEmpty()||(r+=s.invokingState);else{const h=s.ruleIndex,o=h>=0&&h{super(...yl);E(this,"start",null);E(this,"stop",null);E(this,"exception",null)};i?t(i,s):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(i){super.parent=i}copyFrom(i){this.parent=i.parent,this.invokingState=i.invokingState,this.children=null,this.start=i.start,this.stop=i.stop,i.children&&(this.children=[],i.children.forEach(s=>{s instanceof Wi&&(this.children.push(s),s.parent=this)},this))}enterRule(i){}exitRule(i){}addAnyChild(i){return this.children==null&&(this.children=[]),this.children.push(i),i}addChild(i){return this.addAnyChild(i)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(i){const s=new fe(i);return this.addAnyChild(s),s.parent=this,s}addErrorNode(i){return i.parent=this,this.addAnyChild(i)}getChild(i,s){if(this.children===null||i<0||i>=this.children.length)return null;if(s){for(const r of this.children)if(r instanceof s){if(i===0)return r;i-=1}return null}else return this.children[i]}getToken(i,s){var r;if(this.children===null||s<0||s>=this.children.length)return null;for(const h of this.children)if(h instanceof fe&&((r=h.symbol)==null?void 0:r.type)===i){if(s===0)return h;s-=1}return null}getTokens(i){var s;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof fe&&((s=h.symbol)==null?void 0:s.type)===i&&r.push(h);return r}}getRuleContext(i,s){return this.getChild(i,s)}getRuleContexts(i){if(this.children===null)return[];{const s=[];for(const r of this.children)r instanceof i&&s.push(r);return s}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?P.INVALID_INTERVAL:new P(this.start.tokenIndex,this.stop.tokenIndex)}},A(N1,"ParserRuleContext"),E(N1,"EMPTY",new N1),N1),rr=A((n,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return z.EMPTY;const i=rr(n,t.parent),r=n.states[t.invokingState].transitions[0];return Xt.create(i,r.followState.stateNumber)},"predictionContextFromRuleContext"),eo=A((n,t,i)=>{if(n.isEmpty())return n;let s=i.get(n)||null;if(s!==null)return s;if(s=t.get(n),s!==null)return i.set(n,s),s;let r=!1,h=[];for(let a=0;a{if(n===t)return n;if(n instanceof Xt&&t instanceof Xt)return Dc(n,t,i,s);if(i){if(n instanceof to)return n;if(t instanceof to)return t}return n instanceof Xt&&(n=new be([n.parent],[n.returnState])),t instanceof Xt&&(t=new be([t.parent],[t.returnState])),Oc(n,t,i,s)},"merge"),Oc=A((n,t,i,s)=>{if(s!==null){let T=s.get(n,t);if(T!==null||(T=s.get(t,n),T!==null))return T}let r=0,h=0,o=0,a=new Array(n.returnStates.length+t.returnStates.length).fill(0),c=new Array(n.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new u1;for(const i of n)i&&(t.containsKey(i)||t.set(i,i));for(let i=0;i{if(s!==null){let h=s.get(n,t);if(h!==null||(h=s.get(t,n),h!==null))return h}const r=Mc(n,t,i);if(r!==null)return s!==null&&s.set(n,t,r),r;if(n.returnState===t.returnState){const h=hr(n.parent,t.parent,i,s);if(h===n.parent)return n;if(h===t.parent)return t;const o=Xt.create(h,n.returnState);return s!==null&&s.set(n,t,o),o}else{let h=null;if((n===t||n.parent!==null&&n.parent===t.parent)&&(h=n.parent),h!==null){const u=[n.returnState,t.returnState];n.returnState>t.returnState&&(u[0]=t.returnState,u[1]=n.returnState);const T=[h,h],d=new be(T,u);return s!==null&&s.set(n,t,d),d}const o=[n.returnState,t.returnState];let a=[n.parent,t.parent];n.returnState>t.returnState&&(o[0]=t.returnState,o[1]=n.returnState,a=[t.parent,n.parent]);const c=new be(a,o);return s!==null&&s.set(n,t,c),c}},"mergeSingletons"),Mc=A((n,t,i)=>{if(i){if(n===z.EMPTY||t===z.EMPTY)return z.EMPTY}else{if(n===z.EMPTY&&t===z.EMPTY)return z.EMPTY;if(n===z.EMPTY){const s=[t.returnState,z.EMPTY_RETURN_STATE],r=[t.parent,null];return new be(r,s)}else if(t===z.EMPTY){const s=[n.returnState,z.EMPTY_RETURN_STATE],r=[n.parent,null];return new be(r,s)}}return null},"mergeRoot"),ae=(Zi=class{constructor(t){E(this,"data");t?this.data=new Uint32Array(t.map(i=>i>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let i=0,s=this.data[i];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;i>>5]&=~(1<>>5;return i>=this.data.length?!1:(this.data[i]&1<t)return i}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(i<=this.data.length)return;const s=new Uint32Array(i);s.set(this.data),s.fill(0,this.data.length),this.data=s}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},A(Zi,"BitSet"),Zi),yc=A(n=>n.hashCodeForConfigSet(),"hashATNConfig"),Uc=A((n,t)=>n===t?!0:n===null||t===null?!1:n.equalsForConfigSet(t),"equalATNConfigs"),ee=(X1=class{constructor(t){E(this,"configs",[]);E(this,"hasSemanticContext",!1);E(this,"dipsIntoOuterContext",!1);E(this,"fullCtx");E(this,"uniqueAlt",0);E(this,"configLookup",new Qt(yc,Uc));E(this,"conflictingAlts",null);E(this,"readOnly",!1);E(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,i){if(i===void 0&&(i=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==it.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const s=this.configLookup.add(t);if(s===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=hr(s.context,t.context,r,i);return s.reachesIntoOuterContext=Math.max(s.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(s.precedenceFilterSuppressed=!0),s.context=h,!0}getStates(){const t=new Qt;for(const i of this.configs)t.add(i.state);return t}getPredicates(){const t=[];for(const i of this.configs)i.semanticContext!==it.NONE&&t.push(i.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const i of this.configs)i.context=t.getCachedContext(i.context)}addAll(t){for(const i of t)this.add(i,null);return!1}equals(t){return this===t||t instanceof X1&&di(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new oe;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new Qt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new Qt)}toString(){return c1(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==M.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new ae;for(let i of this.configs)t.set(i.alt);return t}},A(X1,"ATNConfigSet"),X1),me=(Z1=class{constructor(t){E(this,"stateNumber",-1);E(this,"configs",new ee);E(this,"edges",null);E(this,"isAcceptState",!1);E(this,"prediction",-1);E(this,"lexerActionExecutor",null);E(this,"requiresFullContext",!1);E(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new oe;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof Z1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=c1(this.predicates):t+=this.prediction),t.toString()}},A(Z1,"DFAState"),Z1);(n=>{const i=class i{constructor(r,h){E(this,"pred");E(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};A(i,"PredPrediction");let t=i;n.PredPrediction=t})(me||(me={}));var ce=(z1=class{constructor(t,i){E(this,"atn");E(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=i,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const i=new u1;return eo(t,this.sharedContextCache,i)}getSharedContextCache(){return this.sharedContextCache}},A(z1,"ATNSimulator"),E(z1,"ERROR",new me(2147483647)),z1),io=(zi=class extends ee{constructor(){super(),this.configLookup=new Qt}},A(zi,"OrderedATNConfigSet"),zi),ue=(Je=class{constructor(){E(this,"atn");E(this,"stateNumber");E(this,"ruleIndex");E(this,"epsilonOnlyTransitions");E(this,"nextTokenWithinRule");E(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Je.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Je?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,i){i===void 0&&(i=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),i===-1?this.transitions.push(t):this.transitions.splice(i,1,t)}},A(Je,"ATNState"),E(Je,"INVALID_STATE_NUMBER",-1),Je),Y={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},yt=(Pi=class extends ue{get stateType(){return Y.RULE_STOP}},A(Pi,"RuleStopState"),Pi),l1=($i=class extends ue{constructor(){super(...arguments);E(this,"decision",-1);E(this,"nonGreedy",!1)}},A($i,"DecisionState"),$i),le=(P1=class extends Wt{constructor(i,s){super(i,s);E(this,"lexerActionExecutor");E(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=i.lexerActionExecutor??(s==null?void 0:s.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=s!==null?this.checkNonGreedyDecision(s,this.state):!1,this}updateHashCode(i){i.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(i){return this===i||i instanceof P1&&this.passedThroughNonGreedyDecision===i.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(i.lexerActionExecutor):!i.lexerActionExecutor)&&super.equals(i)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(i){return this.equals(i)}checkNonGreedyDecision(i,s){return i.passedThroughNonGreedyDecision||s instanceof l1&&s.nonGreedy}},A(P1,"LexerATNConfig"),P1),Ee=(ji=class{constructor(t){E(this,"actionType");E(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new oe;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},A(ji,"LexerAction"),ji),or=($1=class extends Ee{constructor(i,s){super(s.actionType);E(this,"offset");E(this,"action");this.offset=i,this.action=s,this.isPositionDependent=!0}execute(i){this.action.execute(i)}updateHashCode(i){i.update(this.actionType,this.offset,this.action)}equals(i){return this===i?!0:i instanceof $1?this.offset===i.offset&&this.action===i.action:!1}},A($1,"LexerIndexedCustomAction"),$1),vc=(Ie=class extends Ee{constructor(i){super(-1);E(this,"lexerActions");E(this,"cachedHashCode");return this.lexerActions=i===null?[]:i,this.cachedHashCode=oe.hashStuff(i),this}static append(i,s){if(i===null)return new Ie([s]);const r=i.lexerActions.concat([s]);return new Ie(r)}fixOffsetBeforeMatch(i){let s=null;for(let r=0;r",t+=this.getStateString(o),t+=` +`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const i=t.stateNumber,s=(t.isAcceptState?":":"")+"s"+i+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${s}=>${t.predicates.toString()}`:`${s}=>${t.prediction}`:`${s}`}},A(Ji,"DFASerializer"),Ji),Te=(Ot=class{constructor(t,i,s){E(this,"maxTokenType");E(this,"literalNames");E(this,"symbolicNames");E(this,"displayNames");this.literalNames=t??Ot.EMPTY_NAMES,this.symbolicNames=i??Ot.EMPTY_NAMES,this.displayNames=s??Ot.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return Ot.EMPTY_VOCABULARY;const i=[...t],s=[...t];for(let r=0;r0){const o=h.charAt(0);if(o==="'"){s[r]=null;continue}else if(o.toUpperCase()===o){i[r]=null;continue}}i[r]=null,s[r]=null}}return new Ot(i,s,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(i)+"'")}},A(qi,"LexerDFASerializer"),qi),Fe=(t0=class extends l1{constructor(){super();E(this,"loopBackState");E(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return Y.STAR_LOOP_ENTRY}},A(t0,"StarLoopEntryState"),t0),E1=(e0=class{constructor(t,i){E(this,"states",new Qt);E(this,"s0",null);E(this,"decision");E(this,"atnStartState");E(this,"precedenceDfa");E(this,"isPrecedenceDfa",()=>this.precedenceDfa);E(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});E(this,"setPrecedenceStartState",(t,i)=>{var s;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((s=this.s0)!=null&&s.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=i}});this.atnStartState=t,this.decision=i??0;let s=!1;if(t instanceof Fe&&t.precedenceRuleDecision){s=!0;const r=new me;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=s}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((i,s)=>i.stateNumber-s.stateNumber),t}toString(t){return t?this.s0===null?"":new so(this,t).toString()??"":this.toString(Te.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new wc(this).toString()??""}},A(e0,"DFA"),e0),T1=(q=class extends ce{constructor(i,s,r,h){super(s,h);E(this,"decisionToDFA");E(this,"recog",null);E(this,"startIndex",-1);E(this,"line",1);E(this,"column",0);E(this,"mode",Zt.DEFAULT_MODE);E(this,"prevAccept",new q.SimState);this.decisionToDFA=r,this.recog=i}copyState(i){this.column=i.column,this.line=i.line,this.mode=i.mode,this.startIndex=i.startIndex}match(i,s){this.mode=s;const r=i.mark();try{this.startIndex=i.index,this.prevAccept.reset();const h=this.decisionToDFA[s];return h.s0===null?this.matchATN(i):this.execATN(i,h.s0)}finally{i.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Zt.DEFAULT_MODE}getDFA(i){return this.decisionToDFA[i]}getText(i){return i.getText(this.startIndex,i.index-1)}consume(i){i.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,i.consume()}getTokenName(i){return i===-1?"EOF":"'"+String.fromCharCode(i)+"'"}clearDFA(){for(let i=0;iq.MAX_DFA_EDGE)return null;let r=i.edges[s-q.MIN_DFA_EDGE];return r===void 0&&(r=null),q.debug&&r!==null&&console.log("reuse state "+i.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(i,s,r){const h=new io;return this.getReachableConfigSet(i,s.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(s,r,ce.ERROR),ce.ERROR):this.addDFAEdge(s,r,null,h)}failOrAccept(i,s,r,h){if(i.dfaState!==null){const o=i.dfaState.lexerActionExecutor;return this.accept(s,o,this.startIndex,i.index,i.line,i.column),i.dfaState.prediction}else{if(h===C.EOF&&s.index===this.startIndex)return C.EOF;throw new Ri(this.recog,s,this.startIndex,r)}}getReachableConfigSet(i,s,r,h){let o=M.INVALID_ALT_NUMBER;for(const a of s.items){const c=a.alt===o;if(!(c&&a.passedThroughNonGreedyDecision)){q.debug&&console.log(`testing %s at %s +`,this.getTokenName(h),a.toString(this.recog,!0));for(const u of a.state.transitions){const T=this.getReachableTarget(u,h);if(T!==null){let d=a.lexerActionExecutor;d!==null&&(d=d.fixOffsetBeforeMatch(i.index-this.startIndex));const _=h===C.EOF,f=new le({state:T,lexerActionExecutor:d},a);this.closure(i,f,r,c,!0,_)&&(o=a.alt)}}}}}accept(i,s,r,h,o,a){q.debug&&console.log(`ACTION %s +`,s),i.seek(h),this.line=o,this.column=a,s!==null&&this.recog!==null&&s.execute(this.recog,i,r)}getReachableTarget(i,s){return i.matches(s,0,Zt.MAX_CHAR_VALUE)?i.target:null}computeStartState(i,s){const r=z.EMPTY,h=new io;for(let o=0;oq.MAX_DFA_EDGE||(q.debug&&console.log("EDGE "+i+" -> "+r+" upon "+s),i.edges===null&&(i.edges=new Array(q.MAX_DFA_EDGE-q.MIN_DFA_EDGE+1),i.edges.fill(null)),i.edges[s-q.MIN_DFA_EDGE]=r),r}addDFAState(i){const s=new me(i);let r=null;for(const c of i.items)if(c.state instanceof yt){r=c;break}r!==null&&(s.isAcceptState=!0,s.lexerActionExecutor=r.lexerActionExecutor,s.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],o=h.states.get(s);if(o!==null)return o;const a=s;return a.stateNumber=h.states.length,i.setReadonly(!0),a.configs=i,h.states.add(a),a}},A(q,"LexerATNSimulator"),E(q,"MIN_DFA_EDGE",0),E(q,"MAX_DFA_EDGE",127),E(q,"debug",!1),E(q,"dfa_debug",!1),q);(n=>{const i=class i{constructor(){E(this,"index",-1);E(this,"line",0);E(this,"column",-1);E(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};A(i,"SimState");let t=i;n.SimState=t})(T1||(T1={}));var Zt=(Kt=class extends qh{constructor(i){super();E(this,"_input");E(this,"_token",null);E(this,"_tokenStartCharIndex",-1);E(this,"_tokenStartLine",0);E(this,"_tokenStartColumn",0);E(this,"_hitEOF",!1);E(this,"_channel",0);E(this,"_type",0);E(this,"_modeStack",[]);E(this,"_mode",Kt.DEFAULT_MODE);E(this,"_text",null);E(this,"_factory");this._input=i,this._factory=xc.DEFAULT}reset(i=!0){i&&this._input.seek(0),this._token=null,this._type=C.INVALID_TYPE,this._channel=C.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Kt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const i=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=C.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let s=!1;for(;;){this._type=C.INVALID_TYPE;let r=Kt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof Ri)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===C.EOF&&(this._hitEOF=!0),this._type===C.INVALID_TYPE&&(this._type=r),this._type===Kt.SKIP){s=!0;break}if(this._type!==Kt.MORE)break}if(!s)return this._token===null&&this.emit(),this._token}}finally{this._input.release(i)}}skip(){this._type=Kt.SKIP}more(){this._type=Kt.MORE}mode(i){this._mode=i}pushMode(i){T1.debug&&console.log("pushMode "+i),this._modeStack.push(this._mode),this.mode(i)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return T1.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(i){this._token=i}emit(){const i=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(i),i}emitEOF(){const i=this.column,s=this.line,r=this._factory.create([this,this._input],C.EOF,null,C.DEFAULT_CHANNEL,this._input.index,this._input.index-1,s,i);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const i=[];let s=this.nextToken();for(;s.type!==C.EOF;)i.push(s),s=this.nextToken();return i}notifyListeners(i){const s=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(s,r),o="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,i)}getErrorDisplay(i){return i}getErrorDisplayForChar(i){return i.charCodeAt(0)===C.EOF?"":i===` +`?"\\n":i===" "?"\\t":i==="\r"?"\\r":i}getCharErrorDisplay(i){return"'"+this.getErrorDisplayForChar(i)+"'"}recover(i){this._input.LA(1)!==C.EOF&&(i instanceof Ri?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(i){this.reset(!1),this._input=i}set tokenFactory(i){this._factory=i}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(i){this._type=i}get line(){return this.interpreter.line}set line(i){this.interpreter.line=i}get column(){return this.interpreter.column}set column(i){this.interpreter.column=i}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(i){this._text=i}},A(Kt,"Lexer"),E(Kt,"DEFAULT_MODE",0),E(Kt,"MORE",-2),E(Kt,"SKIP",-3),E(Kt,"DEFAULT_TOKEN_CHANNEL",C.DEFAULT_CHANNEL),E(Kt,"HIDDEN",C.HIDDEN_CHANNEL),E(Kt,"MIN_CHAR_VALUE",0),E(Kt,"MAX_CHAR_VALUE",1114111),Kt),Nt=(at=class{constructor(t){E(this,"intervals",[]);E(this,"readOnly",!1);t&&this.addSet(t)}static of(t,i){const s=new at;return s.addRange(t,i),s}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?C.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?C.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new P(t,t))}addRange(t,i){this.addInterval(new P(t,i))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let i=0;ithis.addInterval(i),this),this}complement(t,i){if(!t)return new at;const s=new at;if(t instanceof at){if(t.isNil)return new at;s.addSet(t)}else s.addInterval(new P(t,i??0));return s.subtract(this)}or(t){const i=new at;return i.addSet(this),t.forEach(s=>i.addSet(s)),i}and(t){if(t.isNil)return new at;const i=this.intervals,s=t.intervals;let r;const h=i.length,o=s.length;let a=0,c=0;for(;ah.stop){s++;continue}let a=null,c=null;if(o.start>h.start&&(a=new P(h.start,o.start-1)),o.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let i=0;for(const s of this.intervals){if(t.stop<=s.start)return;if(t.start>s.start&&t.stop=s.stop?(this.intervals.splice(i,1),i=i-1):t.start1&&(i+="{");let s=!1,r;t instanceof Te?r=t:Array.isArray(t)?r=Te.fromTokenNames(t):s=t??!1;for(let h=0;h":s?i+="'"+String.fromCodePoint(a)+"'":r?i+=this.elementName(r,a):i+=a;else if(s)i+="'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(c)+"'";else if(r)for(let u=a;u<=c;++u)u>a&&(i+=", "),i+=this.elementName(r,u);else i+=a+".."+c;h1&&(i+="}"),i}toArray(){const t=[];for(const i of this.intervals)for(let s=i.start;s<=i.stop;s++)t.push(s);return t}get length(){let t=0;if(this.intervals.length===1){const s=this.intervals[0];return s.stop-s.start+1}for(const s of this.intervals)t+=s.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,i){return i===C.EOF?"":i===C.EPSILON?"":t.getDisplayName(i)}},A(at,"IntervalSet"),E(at,"COMPLETE_CHAR_SET",at.of(Zt.MIN_CHAR_VALUE,Zt.MAX_CHAR_VALUE)),E(at,"EMPTY_SET",new at),at.COMPLETE_CHAR_SET.readOnly=!0,at.EMPTY_SET.readOnly=!0,at),sn=(i0=class extends we{constructor(i,s,r,h){super(i);E(this,"ruleIndex");E(this,"precedence");E(this,"followState");this.ruleIndex=s,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return v.RULE}matches(i,s,r){return!1}},A(i0,"RuleTransition"),i0),ar=(s0=class extends we{constructor(i,s){super(i);j(this,qe,void 0);s!=null?Z(this,qe,s):(Z(this,qe,new Nt),N(this,qe).addOne(C.INVALID_TYPE))}get label(){return N(this,qe)}get serializationType(){return v.SET}matches(i,s,r){return this.label.contains(i)}toString(){return N(this,qe).toString()}},qe=new WeakMap,A(s0,"SetTransition"),s0),cr=(n0=class extends ar{constructor(t,i){super(t,i)}get serializationType(){return v.NOT_SET}matches(t,i,s){return t>=i&&t<=s&&!super.matches(t,i,s)}toString(){return"~"+super.toString()}},A(n0,"NotSetTransition"),n0),no=(r0=class extends we{constructor(t){super(t)}get serializationType(){return v.WILDCARD}matches(t,i,s){return t>=i&&t<=s}toString(){return"."}},A(r0,"WildcardTransition"),r0),bc=(t1=class{constructor(t){E(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const i=t.transitions.length,s=new Array(i);s.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const s=this.states[t];let r=this.nextTokens(s);if(!r.contains(C.EPSILON))return r;let h=i;const o=new Nt;for(o.addSet(r),o.removeOne(C.EPSILON);h!==null&&h.invokingState>=0&&r.contains(C.EPSILON);){const c=this.states[h.invokingState].transitions[0];r=this.nextTokens(c.followState),o.addSet(r),o.removeOne(C.EPSILON),h=h.parent}return r.contains(C.EPSILON)&&o.addOne(C.EOF),o}nextTokens(t,i){return i===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new bc(this).LOOK(t,null,i)}},A(j1,"ATN"),E(j1,"INVALID_ALT_NUMBER",0),j1),ro=(e1=class{constructor(t){E(this,"readOnly",!1);E(this,"verifyATN");E(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},A(e1,"ATNDeserializationOptions"),E(e1,"defaultOptions",new e1),e1.defaultOptions.readOnly=!0,e1),_i={LEXER:0,PARSER:1},ho=(h0=class extends ue{get stateType(){return Y.BASIC}},A(h0,"BasicState"),h0),H1=(o0=class extends l1{constructor(){super();E(this,"endState");this.endState=null}},A(o0,"BlockStartState"),o0),ur=(a0=class extends ue{constructor(){super(...arguments);E(this,"startState",null)}get stateType(){return Y.BLOCK_END}},A(a0,"BlockEndState"),a0),d1=(c0=class extends ue{constructor(){super(...arguments);E(this,"loopBackState",null)}get stateType(){return Y.LOOP_END}},A(c0,"LoopEndState"),c0),oo=(u0=class extends ue{constructor(){super();E(this,"stopState");E(this,"isLeftRecursiveRule");E(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return Y.RULE_START}},A(u0,"RuleStartState"),u0),Hc=(l0=class extends l1{get stateType(){return Y.TOKEN_START}},A(l0,"TokensStartState"),l0),ao=(E0=class extends l1{get stateType(){return Y.PLUS_LOOP_BACK}},A(E0,"PlusLoopbackState"),E0),lr=(T0=class extends ue{get stateType(){return Y.STAR_LOOP_BACK}},A(T0,"StarLoopbackState"),T0),Er=(d0=class extends H1{constructor(){super(...arguments);E(this,"loopBackState")}get stateType(){return Y.PLUS_BLOCK_START}},A(d0,"PlusBlockStartState"),d0),Tr=(R0=class extends H1{get stateType(){return Y.STAR_BLOCK_START}},A(R0,"StarBlockStartState"),R0),co=(W0=class extends H1{get stateType(){return Y.BLOCK_START}},A(W0,"BasicBlockStartState"),W0),nn=(A0=class extends we{constructor(i,s){super(i);E(this,"labelValue");j(this,_0,void 0);this.labelValue=s,Z(this,_0,Nt.of(s,s))}get label(){return N(this,_0)}matches(i,s,r){return this.labelValue===i}get serializationType(){return v.ATOM}toString(){return this.labelValue.toString()}},_0=new WeakMap,A(A0,"AtomTransition"),A0),uo=(f0=class extends we{constructor(i,s,r){super(i);E(this,"start");E(this,"stop");j(this,K0,new Nt);this.start=s,this.stop=r,N(this,K0).addRange(s,r)}get label(){return N(this,K0)}get serializationType(){return v.RANGE}matches(i,s,r){return i>=this.start&&i<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},K0=new WeakMap,A(f0,"RangeTransition"),f0),Ai=(C0=class extends we{constructor(i,s=-1){super(i);j(this,m0,void 0);Z(this,m0,s)}get isEpsilon(){return!0}matches(i,s,r){return!1}get outermostPrecedenceReturn(){return N(this,m0)}get serializationType(){return v.EPSILON}toString(){return"epsilon"}},m0=new WeakMap,A(C0,"EpsilonTransition"),C0),lo=(g0=class extends sr{constructor(i,s,r,h){super(i);E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=s,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(i,s,r){return!1}get serializationType(){return v.PREDICATE}getPredicate(){return new it.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},A(g0,"PredicateTransition"),g0),Fc=(N0=class extends sr{constructor(i,s){super(i);E(this,"precedence");this.precedence=s}get isEpsilon(){return!0}matches(i,s,r){return!1}getPredicate(){return new it.PrecedencePredicate(this.precedence)}get serializationType(){return v.PRECEDENCE}toString(){return this.precedence+" >= _p"}},A(N0,"PrecedencePredicateTransition"),N0),Lt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},Bc=(L1=class extends Ee{constructor(){super(Lt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},A(L1,"LexerSkipAction"),E(L1,"INSTANCE",new L1),L1),Vc=(J1=class extends Ee{constructor(i){super(Lt.CHANNEL);E(this,"channel");this.channel=i}execute(i){i._channel=this.channel}updateHashCode(i){i.update(this.actionType,this.channel)}equals(i){return this===i?!0:i instanceof J1?this.channel===i.channel:!1}toString(){return"channel("+this.channel+")"}},A(J1,"LexerChannelAction"),J1),kc=(q1=class extends Ee{constructor(i,s){super(Lt.CUSTOM);E(this,"ruleIndex");E(this,"actionIndex");this.ruleIndex=i,this.actionIndex=s,this.isPositionDependent=!0}execute(i){i.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(i){i.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(i){return this===i?!0:i instanceof q1?this.ruleIndex===i.ruleIndex&&this.actionIndex===i.actionIndex:!1}},A(q1,"LexerCustomAction"),q1),Gc=(I1=class extends Ee{constructor(){super(Lt.MORE)}execute(t){t.more()}toString(){return"more"}},A(I1,"LexerMoreAction"),E(I1,"INSTANCE",new I1),I1),Yc=(ti=class extends Ee{constructor(i){super(Lt.TYPE);E(this,"type");this.type=i}execute(i){i._type=this.type}updateHashCode(i){i.update(this.actionType,this.type)}equals(i){return this===i?!0:i instanceof ti?this.type===i.type:!1}toString(){return"type("+this.type+")"}},A(ti,"LexerTypeAction"),ti),Sc=(ei=class extends Ee{constructor(i){super(Lt.PUSH_MODE);E(this,"mode");this.mode=i}execute(i){i.pushMode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof ei?this.mode===i.mode:!1}toString(){return"pushMode("+this.mode+")"}},A(ei,"LexerPushModeAction"),ei),Qc=(x1=class extends Ee{constructor(){super(Lt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},A(x1,"LexerPopModeAction"),E(x1,"INSTANCE",new x1),x1),Xc=(ii=class extends Ee{constructor(i){super(Lt.MODE);E(this,"mode");this.mode=i}execute(i){i.mode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof ii?this.mode===i.mode:!1}toString(){return"mode("+this.mode+")"}},A(ii,"LexerModeAction"),ii),dr=A((n,t)=>{const i=new Array(n-1);return i[n-1]=t,i.map(()=>t)},"initArray"),Ki=(i1=class{constructor(t){E(this,"data",[]);E(this,"pos",0);E(this,"deserializationOptions");E(this,"stateFactories",null);E(this,"actionFactories",null);t||(t=ro.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const i=this.readATN();this.readStates(i),this.readRules(i),this.readModes(i);const s=[];return this.readSets(i,s),this.readEdges(i,s),this.readDecisions(i),this.readLexerActions(i),this.markPrecedenceDecisions(i),this.verifyATN(i),this.deserializationOptions.generateRuleBypassTransitions&&i.grammarType===_i.PARSER&&(this.generateRuleBypassTransitions(i),this.verifyATN(i)),i}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==i1.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+i1.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),i=this.readInt();return new M(t,i)}readStates(t){let i,s;const r=[],h=[],o=this.readInt();for(let u=0;u0;)h.addTransition(u.transitions[T-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[i].addTransition(new Ai(h)),c&&o.addTransition(new Ai(c));const d=new ho;t.addState(d),d.addTransition(new nn(o,t.ruleToTokenType[i])),h.addTransition(new Ai(d))}stateIsEndStateFor(t,i){if(t.ruleIndex!==i||!(t instanceof Fe))return null;const s=t.transitions[t.transitions.length-1].target;return s instanceof d1&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof yt?t:null}markPrecedenceDecisions(t){for(const i of t.states)if(i instanceof Fe&&t.ruleToStartState[i.ruleIndex].isPrecedenceRule){const s=i.transitions[i.transitions.length-1].target;s instanceof d1&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof yt&&(i.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const i of t.states)if(i!==null)if(this.checkCondition(i.epsilonOnlyTransitions||i.transitions.length<=1),i instanceof Er)this.checkCondition(i.loopBackState!==null);else if(i instanceof Fe)if(this.checkCondition(i.loopBackState!==null),this.checkCondition(i.transitions.length===2),i.transitions[0].target instanceof Tr)this.checkCondition(i.transitions[1].target instanceof d1),this.checkCondition(!i.nonGreedy);else if(i.transitions[0].target instanceof d1)this.checkCondition(i.transitions[1].target instanceof Tr),this.checkCondition(i.nonGreedy);else throw new Error("IllegalState");else i instanceof lr?(this.checkCondition(i.transitions.length===1),this.checkCondition(i.transitions[0].target instanceof Fe)):i instanceof d1?this.checkCondition(i.loopBackState!==null):i instanceof oo?this.checkCondition(i.stopState!==null):i instanceof H1?this.checkCondition(i.endState!==null):i instanceof ur?this.checkCondition(i.startState!==null):i instanceof l1?this.checkCondition(i.transitions.length<=1||i.decision>=0):this.checkCondition(i.transitions.length<=1||i instanceof yt)}}checkCondition(t,i){if(!t)throw i==null&&(i="IllegalState"),i}readInt(){return this.data[this.pos++]}edgeFactory(t,i,s,r,h,o,a){const c=t.states[s];switch(i){case v.EPSILON:return new Ai(c);case v.RANGE:return o!==0?new uo(c,C.EOF,h):new uo(c,r,h);case v.RULE:return new sn(t.states[r],h,o,c);case v.PREDICATE:return new lo(c,r,h,o!==0);case v.PRECEDENCE:return new Fc(c,r);case v.ATOM:return o!==0?new nn(c,C.EOF):new nn(c,r);case v.ACTION:return new Qh(c,r,h,o!==0);case v.SET:return new ar(c,a[r]);case v.NOT_SET:return new cr(c,a[r]);case v.WILDCARD:return new no(c);default:throw new Error("The specified transition type: "+i+" is not valid.")}}stateFactory(t,i){var s,r;if(this.stateFactories===null){const h=[];h[Y.INVALID_TYPE]=null,h[Y.BASIC]=()=>new ho,h[Y.RULE_START]=()=>new oo,h[Y.BLOCK_START]=()=>new co,h[Y.PLUS_BLOCK_START]=()=>new Er,h[Y.STAR_BLOCK_START]=()=>new Tr,h[Y.TOKEN_START]=()=>new Hc,h[Y.RULE_STOP]=()=>new yt,h[Y.BLOCK_END]=()=>new ur,h[Y.STAR_LOOP_BACK]=()=>new lr,h[Y.STAR_LOOP_ENTRY]=()=>new Fe,h[Y.PLUS_LOOP_BACK]=()=>new ao,h[Y.LOOP_END]=()=>new d1,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(s=this.stateFactories)[t])==null?void 0:r.call(s))??null;if(h!==null)return h.ruleIndex=i,h}return null}lexerActionFactory(t,i,s){if(this.actionFactories===null){const r=[];r[Lt.CHANNEL]=(h,o)=>new Vc(h),r[Lt.CUSTOM]=(h,o)=>new kc(h,o),r[Lt.MODE]=(h,o)=>new Xc(h),r[Lt.MORE]=(h,o)=>Gc.INSTANCE,r[Lt.POP_MODE]=(h,o)=>Qc.INSTANCE,r[Lt.PUSH_MODE]=(h,o)=>new Sc(h),r[Lt.SKIP]=(h,o)=>Bc.INSTANCE,r[Lt.TYPE]=(h,o)=>new Yc(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](i,s)}},A(i1,"ATNDeserializer"),E(i1,"SERIALIZED_VERSION",4),i1),F=(L0=class extends W{constructor(i,s=null,r=null,h=null,o=null,a=null){a=a??i.context,h=h??i.getCurrentToken(),r=r??i.getCurrentToken(),s=s??i.inputStream;super({message:"",recognizer:i,input:s,ctx:a});E(this,"deadEndConfigs",null);E(this,"startToken");this.deadEndConfigs=o,this.startToken=r,this.offendingToken=h}},A(L0,"NoViableAltException"),L0),Zc=(I0=class{constructor(){E(this,"cacheMap");this.cacheMap=new u1}get(t,i){const s=this.cacheMap.get(t)??null;return s===null?null:s.get(i)??null}set(t,i,s){let r=this.cacheMap.get(t)??null;r===null&&(r=new u1,this.cacheMap.set(t,r)),r.set(i,s)}},A(I0,"DoubleDict"),I0),_t=(pt=class{static hasSLLConflictTerminatingPrediction(t,i){if(pt.allConfigsInRuleStopStates(i))return!0;if(t===pt.SLL&&i.hasSemanticContext){const r=new ee;for(let h of i.items)h=new Wt({semanticContext:it.NONE},h),r.add(h);i=r}const s=pt.getConflictingAltSubsets(i);return pt.hasConflictingAltSet(s)&&!pt.hasStateAssociatedWithOneAlt(i)}static hasConfigInRuleStopState(t){for(const i of t.items)if(i.state instanceof yt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const i of t.items)if(!(i.state instanceof yt))return!1;return!0}static resolvesToJustOneViableAlt(t){return pt.getSingleViableAlt(t)}static allSubsetsConflict(t){return!pt.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const i of t)if(i.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const i of t)if(i.length>1)return!0;return!1}static allSubsetsEqual(t){let i=null;for(const s of t)if(i===null)i=s;else if(s!==i)return!1;return!0}static getUniqueAlt(t){const i=pt.getAlts(t);return i.length===1?i.nextSetBit(0):M.INVALID_ALT_NUMBER}static getAlts(t){const i=new ae;return t.forEach(s=>{i.or(s)}),i}static getConflictingAltSubsets(t){const i=new u1(s=>oe.hashStuff(s.state.stateNumber,s.context),(s,r)=>{var h;return s.state.stateNumber===r.state.stateNumber&&(((h=s.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(s=>{let r=i.get(s);r===null&&(r=new ae,i.set(s,r)),r.set(s.alt)}),i.getValues()}static getStateToAltMap(t){const i=new u1;return t.items.forEach(s=>{let r=i.get(s.state);r||(r=new ae,i.set(s.state,r)),r.set(s.alt)}),i}static hasStateAssociatedWithOneAlt(t){const i={};return t.items.forEach(s=>{const r=s.state.stateNumber;i[r]||(i[r]=0),i[r]++}),Object.values(i).some(s=>s===1)}static getSingleViableAlt(t){let i=null;for(const s of t){const r=s.nextSetBit(0);if(i===null)i=r;else if(i!==r)return M.INVALID_ALT_NUMBER}return i??0}},A(pt,"PredictionMode"),E(pt,"SLL",0),E(pt,"LL",1),E(pt,"LL_EXACT_AMBIG_DETECTION",2),pt),rn=(b=class extends ce{constructor(i,s,r,h){super(s,h);E(this,"predictionMode");E(this,"decisionToDFA");E(this,"parser");E(this,"mergeCache",null);E(this,"_input",null);E(this,"_startIndex",0);E(this,"_outerContext",null);E(this,"_dfa",null);this.parser=i,this.decisionToDFA=r}static getUniqueAlt(i){let s=M.INVALID_ALT_NUMBER;for(const r of i.items)if(s===M.INVALID_ALT_NUMBER)s=r.alt;else if(r.alt!==s)return M.INVALID_ALT_NUMBER;return s}reset(){}clearDFA(){for(let i=0;i"}getTokenName(i){if(i===C.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:Te.EMPTY_VOCABULARY).getDisplayName(i);return r===i.toString()?r:r+"<"+i+">"}getLookaheadName(i){return this.getTokenName(i.LA(1))}dumpDeadEndConfigs(i){console.log("dead end configs: ");const s=i.deadEndConfigs.items;for(const r of s){let h="no edges";if(r.state.transitions.length>0){const o=r.state.transitions[0];o instanceof nn?h="Atom "+this.getTokenName(o.labelValue):o instanceof ar&&(h=(o instanceof cr?"~":"")+"Set "+o.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(i,s){const r=s.transitions.length,h=this.getConflictingAltsOrUniqueAlt(i.configs),o=this.getPredsForAmbigAlts(h,i.configs,r);o!==null?(i.predicates=this.getPredicatePredictions(h,o),i.prediction=M.INVALID_ALT_NUMBER):i.prediction=h.nextSetBit(0)}execATNWithFullContext(i,s,r,h,o,a){(b.debug||b.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const c=!0;let u=!1,T,d=r;h.seek(o);let _=h.LA(1),f=-1;for(;;){if(T=this.computeReachSet(d,_,c),T===null){const O=this.noViableAlt(h,a,d,o);h.seek(o);const p=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(d,a);if(p!==M.INVALID_ALT_NUMBER)return p;throw O}const g=_t.getConflictingAltSubsets(T);if(b.debug&&console.log("LL altSubSets="+g+", predict="+_t.getUniqueAlt(g)+", resolvesToJustOneViableAlt="+_t.resolvesToJustOneViableAlt(g)),T.uniqueAlt=b.getUniqueAlt(T),T.uniqueAlt!==M.INVALID_ALT_NUMBER){f=T.uniqueAlt;break}else if(this.predictionMode!==_t.LL_EXACT_AMBIG_DETECTION){if(f=_t.resolvesToJustOneViableAlt(g),f!==M.INVALID_ALT_NUMBER)break}else if(_t.allSubsetsConflict(g)&&_t.allSubsetsEqual(g)){u=!0,f=_t.getSingleViableAlt(g);break}d=T,_!==C.EOF&&(h.consume(),_=h.LA(1))}return T.uniqueAlt!==M.INVALID_ALT_NUMBER?(this.reportContextSensitivity(i,f,T,o,h.index),f):(this.reportAmbiguity(i,s,o,h.index,u,null,T),f)}computeReachSet(i,s,r){b.debug&&console.log("in computeReachSet, starting closure: "+i),this.mergeCache===null&&(this.mergeCache=new Zc);const h=new ee(r);let o=null;for(const c of i.items){if(b.debug&&console.log("testing "+this.getTokenName(s)+" at "+c),c.state instanceof yt){(r||s===C.EOF)&&(o===null&&(o=[]),o.push(c));continue}for(const u of c.state.transitions){const T=this.getReachableTarget(u,s);if(T!==null){const d=new Wt({state:T},c);h.add(d,this.mergeCache)}}}let a=null;if(o===null&&s!==C.EOF&&(h.items.length===1||b.getUniqueAlt(h)!==M.INVALID_ALT_NUMBER)&&(a=h),a===null){a=new ee(r);const c=new Qt,u=s===C.EOF;for(const T of h.items)this.closure(T,a,c,!1,r,u)}if(s===C.EOF&&(a=this.removeAllConfigsNotInRuleStopState(a,a===h)),o!==null&&(!r||!_t.hasConfigInRuleStopState(a)))for(const c of o)a.add(c,this.mergeCache);return a.items.length===0?null:a}removeAllConfigsNotInRuleStopState(i,s){if(_t.allConfigsInRuleStopStates(i))return i;const r=new ee(i.fullCtx);for(const h of i.items){if(h.state instanceof yt){r.add(h,this.mergeCache);continue}if(s&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(C.EPSILON)){const a=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new Wt({state:a},h),this.mergeCache)}}return r}computeStartState(i,s,r){const h=rr(this.atn,s),o=new ee(r);for(let a=0;a0&&(a=this.getAltThatFinishedDecisionEntryRule(o),a!==M.INVALID_ALT_NUMBER)?a:M.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(i){const s=[];for(const r of i.items)(r.reachesIntoOuterContext>0||r.state instanceof yt&&r.context.hasEmptyPath())&&s.indexOf(r.alt)<0&&s.push(r.alt);return s.length===0?M.INVALID_ALT_NUMBER:Math.min(...s)}splitAccordingToSemanticValidity(i,s){const r=new ee(i.fullCtx),h=new ee(i.fullCtx);for(const o of i.items)o.semanticContext!==it.NONE?o.semanticContext.evaluate(this.parser,s)?r.add(o):h.add(o):r.add(o);return[r,h]}evalSemanticContext(i,s,r){const h=new ae;for(const o of i){if(o.pred===it.NONE){if(h.set(o.alt),!r)break;continue}const a=o.pred.evaluate(this.parser,s);if((b.debug||b.dfa_debug)&&console.log("eval pred "+o+"="+a),a&&((b.debug||b.dfa_debug)&&console.log("PREDICT "+o.alt),h.set(o.alt),!r))break}return h}closure(i,s,r,h,o,a){this.closureCheckingStopState(i,s,r,h,o,0,a)}closureCheckingStopState(i,s,r,h,o,a,c){if(i.state instanceof yt)if(i.context&&!i.context.isEmpty()){for(let u=0;u=0&&(O+=1)}this.closureCheckingStopState(g,s,r,f,o,O,c)}}}canDropLoopEntryEdgeInLeftRecursiveRule(i){const s=i.state;if(s.stateType!==Y.STAR_LOOP_ENTRY||!i.context||!s.precedenceRuleDecision||i.context.isEmpty()||i.context.hasEmptyPath())return!1;const r=i.context.length;for(let c=0;c=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+c1(this.parser.getRuleInvocationStack())));let a=null;if(r&&h)if(o&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(a=new Wt({state:s.target},i))}else{const c=it.andContext(i.semanticContext,s.getPredicate());a=new Wt({state:s.target,semanticContext:c},i)}else a=new Wt({state:s.target},i);return b.debug&&console.log("config from pred transition="+a),a}predTransition(i,s,r,h,o){b.debug&&(console.log("PRED (collectPredicates="+r+") "+s.ruleIndex+":"+s.predIndex+", ctx dependent="+s.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+c1(this.parser.getRuleInvocationStack())));let a=null;if(r&&(s.isCtxDependent&&h||!s.isCtxDependent))if(o&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(a=new Wt({state:s.target},i))}else{const c=it.andContext(i.semanticContext,s.getPredicate());a=new Wt({state:s.target,semanticContext:c},i)}else a=new Wt({state:s.target},i);return b.debug&&console.log("config from pred transition="+a),a}ruleTransition(i,s){b.debug&&console.log("CALL rule "+this.getRuleName(s.target.ruleIndex)+", ctx="+i.context);const r=s.followState,h=Xt.create(i.context,r.stateNumber);return new Wt({state:s.target,context:h},i)}getConflictingAlts(i){const s=_t.getConflictingAltSubsets(i);return _t.getAlts(s)}getConflictingAltsOrUniqueAlt(i){let s;return i.uniqueAlt!==M.INVALID_ALT_NUMBER?(s=new ae,s.set(i.uniqueAlt)):s=i.conflictingAlts,s}noViableAlt(i,s,r,h){return new F(this.parser,i,i.get(h),i.LT(1),r,s)}addDFAEdge(i,s,r,h){return b.debug&&console.log("EDGE "+s+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(i,h),s===null||r<-1||r>this.atn.maxTokenType||(s.edges===null&&(s.edges=new Array(this.atn.maxTokenType+2),s.edges.fill(null)),s.edges[r+1]=h,b.debug&&console.log(`DFA= +`+i.toString(this.parser!=null?this.parser.vocabulary:Te.EMPTY_VOCABULARY))),h)}addDFAState(i,s){if(s===ce.ERROR)return s;const r=i.states.get(s);return r!==null?r:(s.stateNumber=i.states.length,s.configs.readOnly||(s.configs.optimizeConfigs(this),s.configs.setReadonly(!0)),i.states.add(s),b.debug&&console.log("adding new DFA state: "+s),s)}reportAttemptingFullContext(i,s,r,h,o){if(b.debug||b.retry_debug){const a=new P(h,o+1);console.log("reportAttemptingFullContext decision="+i.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,i,h,o,s,r)}reportContextSensitivity(i,s,r,h,o){if(b.debug||b.retry_debug){const a=new P(h,o+1);console.log("reportContextSensitivity decision="+i.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,i,h,o,s,r)}reportAmbiguity(i,s,r,h,o,a,c){if(b.debug||b.retry_debug){const u=new P(r,h+1);console.log("reportAmbiguity "+a+":"+c+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,i,r,h,o,a,c)}},A(b,"ParserATNSimulator"),E(b,"debug"),E(b,"trace_atn_sim",!1),E(b,"debug_add",!1),E(b,"debug_closure",!1),E(b,"dfa_debug",!1),E(b,"retry_debug",!1),b),fi=(x0=class{constructor(){E(this,"cache",new u1)}add(t){if(t===z.EMPTY)return z.EMPTY;const i=this.cache.get(t)||null;return i!==null?i:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},A(x0,"PredictionContextCache"),x0),mi=(O0=class{constructor(t,i,s,r,h,o){E(this,"decision");E(this,"configs");E(this,"input");E(this,"startIndex");E(this,"stopIndex");E(this,"fullCtx");this.decision=t,this.configs=i,this.input=s,this.startIndex=r,this.stopIndex=h,this.fullCtx=o}},A(O0,"DecisionEventInfo"),O0),zc=(p0=class extends mi{constructor(i,s,r,h,o,a,c){super(i,s,h,o,a,c);E(this,"ambigAlts");this.ambigAlts=r}},A(p0,"AmbiguityInfo"),p0),Eo=(D0=class extends mi{constructor(t,i,s,r,h){super(t,i,s,r,h,!0)}},A(D0,"ContextSensitivityInfo"),D0),Pc=(M0=class{constructor(t){E(this,"decision",0);E(this,"invocations",0);E(this,"timeInPrediction",0);E(this,"SLL_TotalLook",0);E(this,"SLL_MinLook",0);E(this,"SLL_MaxLook",0);E(this,"SLL_MaxLookEvent");E(this,"LL_TotalLook",0);E(this,"LL_MinLook",0);E(this,"LL_MaxLook",0);E(this,"LL_MaxLookEvent");E(this,"contextSensitivities");E(this,"errors");E(this,"ambiguities");E(this,"predicateEvals");E(this,"SLL_ATNTransitions",0);E(this,"SLL_DFATransitions",0);E(this,"LL_Fallback",0);E(this,"LL_ATNTransitions",0);E(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},A(M0,"DecisionInfo"),M0),Rr=(y0=class extends mi{constructor(t,i,s,r,h,o){super(t,i,s,r,h,o)}},A(y0,"ErrorInfo"),y0),To=(U0=class extends mi{constructor(i,s,r,h,o,a,c){super(i,s,h,o,a,c);E(this,"predictedAlt");this.predictedAlt=r}},A(U0,"LookaheadEventInfo"),U0),Wr=(v0=class extends rn{constructor(i){const s=i.interpreter.getSharedContextCache();super(i,i.interpreter.atn,i.interpreter.decisionToDFA,s);E(this,"decisions");E(this,"numDecisions",0);E(this,"currentDecision",0);E(this,"currentState");E(this,"conflictingAltResolvedBySLL");j(this,xe,0);j(this,Oe,0);if(s){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[s].SLL_MaxLook&&(this.decisions[s].SLL_MaxLook=c,this.decisions[s].SLL_MaxLookEvent=new To(s,null,o,i,this._startIndex,N(this,xe),!1)),N(this,Oe)>=0){const u=N(this,Oe)-this._startIndex+1;this.decisions[s].LL_TotalLook+=u,this.decisions[s].LL_MinLook=this.decisions[s].LL_MinLook===0?u:Math.min(this.decisions[s].LL_MinLook,u),u>this.decisions[s].LL_MaxLook&&(this.decisions[s].LL_MaxLook=u,this.decisions[s].LL_MaxLookEvent=new To(s,null,o,i,this._startIndex,N(this,Oe),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(i,s){if(this._input){Z(this,xe,this._input.index);const r=super.getExistingTargetState(i,s);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===ce.ERROR&&this.decisions[this.currentDecision].errors.push(new Rr(this.currentDecision,i.configs,this._input,this._startIndex,N(this,xe),!1))),this.currentState=r,r}return null}computeTargetState(i,s,r){const h=super.computeTargetState(i,s,r);return this.currentState=h,h}computeReachSet(i,s,r){r&&this._input&&Z(this,Oe,this._input.index);const h=super.computeReachSet(i,s,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Rr(this.currentDecision,i,this._input,this._startIndex,N(this,Oe),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Rr(this.currentDecision,i,this._input,this._startIndex,N(this,xe),!1)))),h}reportAttemptingFullContext(i,s,r,h,o){s!==null?this.conflictingAltResolvedBySLL=s.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,s&&super.reportAttemptingFullContext(i,s,r,h,o)}reportContextSensitivity(i,s,r,h,o){s!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new Eo(this.currentDecision,r,this._input,h,o)),super.reportContextSensitivity(i,s,r,h,o)}reportAmbiguity(i,s,r,h,o,a,c){let u;a!==null?u=a.nextSetBit(0):u=c.getAlts().nextSetBit(0),this._input&&(c.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new Eo(this.currentDecision,c,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new zc(this.currentDecision,c,a,this._input,r,h,c.fullCtx))),super.reportAmbiguity(i,s,r,h,o,a,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},xe=new WeakMap,Oe=new WeakMap,A(v0,"ProfilingATNSimulator"),v0);w0=class{constructor(t){E(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),i=[];for(let s=0;s0&&i.push(s);return i}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let i=0;for(let s=0;s0?s:void 0,modes:r.length>0?r:void 0}}},A(H0,"InterpreterDataReader"),F0=class{visit(t){return t.accept(this)}visitChildren(t){let i=this.defaultResult();const s=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const i=this.index+t-1;return i<0||i>=this.data.length?C.EOF:this.data[i]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,i){let s,r;return t instanceof P?(s=t.start,r=t.stop):(s=t,r=i??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),s>=this.data.length?"":v2(this,B0,w2).call(this,s,r+1)}toString(){return v2(this,B0,w2).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:tn.UNKNOWN_SOURCE_NAME}},B0=new WeakSet,w2=function(t,i){const s=this.data.slice(t,i);let r="";return s.forEach(h=>{r+=String.fromCodePoint(h)}),r},A(V0,"CharStreamImpl"),V0),_r=(k0=class{static fromString(t){return new jc(t)}},A(k0,"CharStreams"),k0),Jc=(G0=class{constructor(t){E(this,"tokenSource");E(this,"tokens",[]);E(this,"p",-1);E(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(i)>=i:!0}fetch(t){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length||i<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+i+" not in 0.."+(this.tokens.length-1));if(t>i)return[];if(s===void 0)return this.tokens.slice(t,i+1);const r=[];i>=this.tokens.length&&(i=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,i){if(this.sync(t),t>=this.tokens.length)return-1;let s=this.tokens[t];for(;s.channel!==i;){if(s.type===C.EOF)return-1;t+=1,this.sync(t),s=this.tokens[t]}return t}previousTokenOnChannel(t,i){for(;t>=0&&this.tokens[t].channel!==i;)t-=1;return t}getHiddenTokensToRight(t,i){if(i===void 0&&(i=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const s=this.nextTokenOnChannel(t+1,Zt.DEFAULT_TOKEN_CHANNEL),r=t+1,h=s===-1?this.tokens.length-1:s;return this.filterForChannel(r,h,i)}getHiddenTokensToLeft(t,i){if(i===void 0&&(i=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const s=this.previousTokenOnChannel(t-1,Zt.DEFAULT_TOKEN_CHANNEL);if(s===t-1)return null;const r=s+1,h=t-1;return this.filterForChannel(r,h,i)}filterForChannel(t,i,s){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let o=s;o<=r;o++){const a=this.tokens[o];if(a.type===C.EOF)break;h+=a.text}return h.toString()}else{const i=t[0];return this.getText(i.getSourceInterval())}case 2:{const i=t[0],s=t[1];return i!==null&&s!==null?this.getText(P.of(i.tokenIndex,s.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},A(G0,"BufferedTokenStream"),G0),hn=(Y0=class extends Jc{constructor(i,s){super(i);E(this,"channel",C.DEFAULT_CHANNEL);this.channel=s??C.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(i){if(i===0||this.index-i<0)return null;let s=this.index,r=1;for(;r<=i;)s=this.previousTokenOnChannel(s-1,this.channel),r+=1;return s<0?null:this.tokens[s]}LT(i){if(this.lazyInit(),i===0)return null;if(i<0)return this.LB(-i);let s=this.index,r=1;for(;rnew E1(t,i))),G),qc=(S0=class extends en{syntaxError(t,i,s,r,h,o){}},A(S0,"XPathLexerErrorListener"),S0),F1=(Q0=class{constructor(t){E(this,"invert");E(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Q0,"XPathElement"),Q0),tu=(X0=class extends F1{constructor(i,s){super(i);E(this,"ruleIndex");this.ruleIndex=s}evaluate(i){return He.findAllRuleNodes(i,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(X0,"XPathRuleAnywhereElement"),X0),eu=(Z0=class extends F1{constructor(i,s){super(i);E(this,"ruleIndex");this.ruleIndex=s}evaluate(i){const s=[];for(const r of He.getChildren(i))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&s.push(r);return s}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Z0,"XPathRuleElement"),Z0),iu=(z0=class extends F1{constructor(i,s){super(i);E(this,"tokenType");this.tokenType=s}evaluate(i){return He.findAllTokenNodes(i,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(z0,"XPathTokenAnywhereElement"),z0),su=(P0=class extends F1{constructor(i,s){super(i);E(this,"tokenType");this.tokenType=s}evaluate(i){const s=[];for(const r of He.getChildren(i))r instanceof fe&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&s.push(r);return s}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(P0,"XPathTokenElement"),P0),nu=($0=class extends F1{constructor(){super(Wo.WILDCARD)}evaluate(t){return this.invert?[]:He.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A($0,"XPathWildcardAnywhereElement"),$0),ru=(j0=class extends F1{constructor(){super(Wo.WILDCARD)}evaluate(t){const i=[];if(this.invert)return i;for(const s of He.getChildren(t))i.push(s);return i}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(j0,"XPathWildcardElement"),j0),Wo=(s1=class{constructor(t,i){E(this,"path");E(this,"elements");E(this,"parser");this.parser=t,this.path=i,this.elements=this.split(i)}static findAll(t,i,s){return new s1(s,i).evaluate(t)}split(t){const i=new ie(_r.fromString(t));i.recover=c=>{throw c},i.removeErrorListeners(),i.addErrorListener(new qc);const s=new hn(i);try{s.fill()}catch(c){if(c instanceof Ri){const T="Invalid tokens or characters at index "+i.column+" in path '"+t+"' -- "+c.message;throw new RangeError(T)}throw c}const r=s.getTokens(),h=[],o=r.length;let a=0;t:for(;a0&&this.elements[r].evaluate(o).forEach(c=>{h.add(c)},h);r++,s=h}return s}getXPathElement(t,i){if(t.type===C.EOF)throw new Error("Missing path element at end of path");const s=t.text;if(s==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(s),h=this.parser.getRuleIndex(s);switch(t.type){case ie.WILDCARD:return i?new nu:new ru;case ie.TOKEN_REF:case ie.STRING:if(r===C.INVALID_TYPE)throw new Error(s+" at index "+t.start+" isn't a valid token name");return i?new iu(s,r):new su(s,r);default:if(h===-1)throw new Error(s+" at index "+t.start+" isn't a valid rule name");return i?new tu(s,h):new eu(s,h)}}},A(s1,"XPath"),E(s1,"WILDCARD","*"),E(s1,"NOT","!"),s1),Be=(J0=class extends W{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},A(J0,"InputMismatchException"),J0),on=(q0=class extends W{constructor(i,s,r=null){super({message:hu(s??"no predicate",r??null),recognizer:i,input:i.inputStream,ctx:i.context});E(this,"ruleIndex",0);E(this,"predicateIndex",0);E(this,"predicate");const o=i.atn.states[i.state].transitions[0];o instanceof lo?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=s,this.offendingToken=i.getCurrentToken()}},A(q0,"FailedPredicateException"),q0),hu=A((n,t)=>t!==null?t:"failed predicate: {"+n+"}?","formatMessage"),Ar=(ts=class{constructor(){E(this,"errorRecoveryMode",!1);E(this,"lastErrorIndex",-1);E(this,"lastErrorStates",new Nt);E(this,"nextTokensContext",null);E(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Nt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,i){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),i instanceof F?this.reportNoViableAlternative(t,i):i instanceof Be?this.reportInputMismatch(t,i):i instanceof on?this.reportFailedPredicate(t,i):t.notifyErrorListeners(i.message,i.offendingToken,i))}recover(t,i){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const s=this.getErrorRecoverySet(t);this.consumeUntil(t,s)}sync(t){if(this.inErrorRecoveryMode(t))return;const i=t.atn.states[t.state],s=t.tokenStream.LA(1),r=t.atn.nextTokens(i);if(r.contains(s)){this.nextTokensContext=null,this.nextTokenState=ue.INVALID_STATE_NUMBER;return}else if(r.contains(C.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(i.stateType){case Y.BLOCK_START:case Y.STAR_BLOCK_START:case Y.PLUS_BLOCK_START:case Y.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new Be(t);case Y.PLUS_LOOP_BACK:case Y.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new Nt;h.addSet(t.getExpectedTokens());const o=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,i){if(i.message.length>0){t.notifyErrorListeners(i.message,i.offendingToken,i);return}const s=t.tokenStream;let r;s!==null&&i.startToken?i.startToken.type===C.EOF?r="":r=s.getText(new P(i.startToken.tokenIndex,i.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,i.offendingToken,i)}reportInputMismatch(t,i){if(i.message.length>0){t.notifyErrorListeners(i.message,i.offendingToken,i);return}const s="mismatched input "+this.getTokenErrorDisplay(i.offendingToken)+" expecting "+i.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(s,i.offendingToken,i)}reportFailedPredicate(t,i){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+i.message;t.notifyErrorListeners(r,i.offendingToken,i)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const i=t.getCurrentToken(),s=this.getTokenErrorDisplay(i),r=this.getExpectedTokens(t),h="extraneous input "+s+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,i,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const i=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(i);t.notifyErrorListeners(r,i,null)}recoverInline(t){const i=this.singleTokenDeletion(t);if(i!==null)return t.consume(),i;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Be(t)}singleTokenInsertion(t){const i=t.tokenStream.LA(1),s=t.atn,h=s.states[t.state].transitions[0].target;return s.nextTokens(h,t.context).contains(i)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const i=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(i)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const i=t.getCurrentToken(),s=this.getExpectedTokens(t);let r=C.INVALID_TYPE;s.isNil||(r=s.minElement);let h;r===C.EOF?h="":h="";let o=i;const a=t.tokenStream.LT(-1);return o.type===C.EOF&&a!==null&&(o=a),t.getTokenFactory().create(o.source,r,h,C.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let i=t.text;return i===null&&(t.type===C.EOF?i="":i="<"+t.type+">"),this.escapeWSAndQuote(i)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const i=t.atn;let s=t.context;const r=new Nt;for(;s!==null&&s.invokingState>=0;){const o=i.states[s.invokingState].transitions[0],a=i.nextTokens(o.followState);r.addSet(a),s=s.parent}return r.removeOne(C.EPSILON),r}consumeUntil(t,i){let s=t.tokenStream.LA(1);for(;s!==C.EOF&&!i.contains(s);)t.consume(),s=t.tokenStream.LA(1)}},A(ts,"DefaultErrorStrategy"),ts);es=class extends Ar{recover(t,i){let s=t.context;for(;s!==null;)s.exception=i,s=s.parent;throw new Ro(i)}recoverInline(t){const i=new Be(t);let s=t.context;for(;s!==null;)s.exception=i,s=s.parent;throw new Ro(i)}sync(t){}},A(es,"BailErrorStrategy"),is=class extends en{constructor(i){super();E(this,"exactOnly");E(this,"reportAmbiguity",(i,s,r,h,o,a,c)=>{if(this.exactOnly&&!o)return;const u=this.getDecisionDescription(i,s),T=this.getConflictingAlts(a,c),d=i.tokenStream.getText(P.of(r,h)),_=`reportAmbiguity d=${u}: ambigAlts=${T}, input='${d}'`;i.notifyErrorListeners(_,null,null)});E(this,"reportAttemptingFullContext",(i,s,r,h,o,a)=>{const c=this.getDecisionDescription(i,s),u=i.tokenStream.getText(P.of(r,h)),T=`reportAttemptingFullContext d=${c}, input='${u}'`;i.notifyErrorListeners(T,null,null)});E(this,"reportContextSensitivity",(i,s,r,h,o,a)=>{const c=this.getDecisionDescription(i,s),u=i.tokenStream.getText(P.of(r,h)),T=`reportContextSensitivity d=${c}, input='${u}'`;i.notifyErrorListeners(T,null,null)});E(this,"getDecisionDescription",(i,s)=>{const r=s.decision,h=s.atnStartState.ruleIndex,o=i.ruleNames;if(h<0||h>=o.length)return r.toString();const a=o[h];return a.length===0?r.toString():`${r} (${a})`});E(this,"getConflictingAlts",(i,s)=>{if(i!==null)return i;const r=new ae;for(let h=0;h{super(...vl);j(this,ss,void 0)};r!==void 0?n(s,r):n(),Z(this,ss,i)}get ruleIndex(){return N(this,ss)}},ss=new WeakMap,A(ns,"InterpreterRuleContext"),ns);Es=class extends Zt{constructor(i,s,r,h,o,a,c){super(c);j(this,rs,void 0);j(this,hs,void 0);j(this,os,void 0);j(this,as,void 0);j(this,cs,void 0);j(this,us,void 0);j(this,ls,void 0);j(this,Dn,new fi);if(a.grammarType!==_i.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Z(this,rs,i),Z(this,hs,a),Z(this,os,r.slice(0)),Z(this,as,h.slice(0)),Z(this,cs,o.slice(0)),Z(this,us,s),Z(this,ls,a.decisionToState.map((u,T)=>new E1(u,T))),this.interpreter=new T1(this,a,N(this,ls),N(this,Dn))}get atn(){return N(this,hs)}get grammarFileName(){return N(this,rs)}get ruleNames(){return N(this,os)}get channelNames(){return N(this,as)}get modeNames(){return N(this,cs)}get vocabulary(){return N(this,us)}},rs=new WeakMap,hs=new WeakMap,os=new WeakMap,as=new WeakMap,cs=new WeakMap,us=new WeakMap,ls=new WeakMap,Dn=new WeakMap,A(Es,"LexerInterpreter");var au=(Ts=class{constructor(t){E(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},A(Ts,"TraceListener"),Ts),_o=(ds=class extends qh{constructor(i){super();E(this,"printer",null);E(this,"buildParseTrees",!0);E(this,"errorHandler",new Ar);E(this,"context",null);E(this,"_input",null);E(this,"_precedenceStack",[]);E(this,"_parseListeners",null);E(this,"_syntaxErrors",0);E(this,"matchedEOF",!1);E(this,"_tracer",null);E(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=i}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(i){let s=this.getCurrentToken();return s.type===i?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}matchWildcard(){let i=this.getCurrentToken();return i.type>0?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}getParseListeners(){return this._parseListeners??[]}addParseListener(i){if(i===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(i)}removeParseListener(i){if(this._parseListeners!==null&&i!==null){const s=this._parseListeners.indexOf(i);s>=0&&this._parseListeners.splice(s,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.forEach(s=>{s.enterEveryRule(i),i.enterRule(s)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.slice(0).reverse().forEach(s=>{i.exitRule(s),s.exitEveryRule(i)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(i){this._input.getTokenSource().tokenFactory=i}getATNWithBypassAlts(){const i=this.getSerializedATN();if(i===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const s=new ro;return s.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new Ki(s).deserialize(i),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(i){this._input=null,this.reset(),this._input=i}get inputStream(){return this._input}set inputStream(i){this.tokenStream=i}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(i,s,r){s=s??null,r=r??null,s===null&&(s=this.getCurrentToken()),this._syntaxErrors+=1;const h=s.line,o=s.column;this.getErrorListenerDispatch().syntaxError(this,s,h,o,i,r)}consume(){const i=this.getCurrentToken();i.type!==C.EOF&&this.tokenStream.consume();const s=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||s){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,i)):r=this.context.addTokenNode(i),s&&this._parseListeners.forEach(h=>{r instanceof Wi?h.visitErrorNode(r):h.visitTerminal(r)})}return i}addContextToParseTree(){var i;((i=this.context)==null?void 0:i.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(i,s,r){this.state=s,this.context=i,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(i,s){i.setAltNumber(s),this.buildParseTrees&&this.context!==i&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(i)),this.context=i}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(i,s,r,h){this.state=s,this._precedenceStack.push(h),this.context=i,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(i,s,r){const h=this.context;h.parent=i,h.invokingState=s,h.stop=this._input.LT(-1),this.context=i,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(i){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const s=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==i;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=i;s.parent=i,this.buildParseTrees&&i!==null&&i.addChild(s)}getInvokingContext(i){let s=this.context;for(;s!==null;){if(s.ruleIndex===i)return s;s=s.parent}return null}precpred(i,s){return s>=this._precedenceStack[this._precedenceStack.length-1]}inContext(i){return!1}isExpectedToken(i){const s=this.interpreter.atn;let r=this.context;const h=s.states[this.state];let o=s.nextTokens(h);if(o.contains(i))return!0;if(!o.contains(C.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&o.contains(C.EPSILON);){const c=s.states[r.invokingState].transitions[0];if(o=s.nextTokens(c.followState),o.contains(i))return!0;r=r.parent}return!!(o.contains(C.EPSILON)&&i===C.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const i=this.interpreter.atn,s=i.states[this.state];return i.nextTokens(s)}getRuleIndex(i){const s=this.getRuleIndexMap().get(i);return s??-1}getRuleInvocationStack(i){i=i??null,i===null&&(i=this.context);const s=[];for(;i!==null;){const r=i.ruleIndex;r<0?s.push("n/a"):s.push(this.ruleNames[r]),i=i.parent}return s}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let i=!1;for(const s of this.interpreter.decisionToDFA)s.states.length>0&&(i&&console.log(),this.printer&&(this.printer.println("Decision "+s.decision+":"),this.printer.print(s.toString(this.vocabulary))),i=!0)}getSourceName(){return this._input.getSourceName()}setProfile(i){const s=this.interpreter,r=s.predictionMode;if(i)s instanceof Wr||(this.interpreter=new Wr(this));else if(s instanceof Wr){const h=s.getSharedContextCache();if(h){const o=new rn(this,this.atn,s.decisionToDFA,h);this.interpreter=o}}this.interpreter.predictionMode=r}setTrace(i){i?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new au(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(i,s){return new fe(s)}createErrorNode(i,s){return new Wi(s)}},A(ds,"Parser"),ds);Ks=class extends _o{constructor(i,s,r,h,o){super(o);E(this,"_rootContext");E(this,"_parentContextStack",[]);E(this,"overrideDecision",-1);E(this,"overrideDecisionInputIndex",-1);E(this,"overrideDecisionAlt",-1);E(this,"overrideDecisionReached",!1);E(this,"_overrideDecisionRoot",null);j(this,Rs,void 0);j(this,ne,void 0);j(this,Ws,void 0);j(this,_s,void 0);j(this,As,void 0);j(this,Mn,new fi);j(this,ni,void 0);Z(this,Rs,i),Z(this,ne,h),Z(this,Ws,r.slice(0)),Z(this,_s,s),Z(this,ni,new ae);for(const a of h.states)a instanceof Fe&&a.precedenceRuleDecision&&N(this,ni).set(a.stateNumber);Z(this,As,h.decisionToState.map((a,c)=>new E1(a,c))),this.interpreter=new rn(this,h,N(this,As),N(this,Mn))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return N(this,ne)}get vocabulary(){return N(this,_s)}get ruleNames(){return N(this,Ws)}get grammarFileName(){return N(this,Rs)}get atnState(){return N(this,ne).states[this.state]}parse(i){var r;const s=N(this,ne).ruleToStartState[i];for(this._rootContext=this.createInterpreterRuleContext(null,ue.INVALID_STATE_NUMBER,i),s.isPrecedenceRule?this.enterRecursionRule(this._rootContext,s.stateNumber,i,0):this.enterRule(this._rootContext,s.stateNumber,i);;){const h=this.atnState;switch(h.stateType){case Y.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(s.isPrecedenceRule){const o=this.context,a=this._parentContextStack.pop();return this.unrollRecursionContexts(a[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(o){if(o instanceof W)this.state=N(this,ne).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(i,s,r){this.overrideDecision=i,this.overrideDecisionInputIndex=s,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(i,s,r,h){this._parentContextStack.push([this.context,i.invokingState]),super.enterRecursionRule(i,s,r,h)}visitState(i){let s=1;i instanceof l1&&(s=this.visitDecisionState(i));const r=i.transitions[s-1];switch(r.serializationType){case v.EPSILON:if(N(this,ni).get(i.stateNumber)&&!(r.target instanceof d1)){const T=this._parentContextStack[this._parentContextStack.length-1],d=this.createInterpreterRuleContext(T[0],T[1],this.context.ruleIndex);this.pushNewRecursionContext(d,N(this,ne).ruleToStartState[i.ruleIndex].stateNumber,this.context.ruleIndex)}break;case v.ATOM:this.match(r.label.minElement);break;case v.RANGE:case v.SET:case v.NOT_SET:r.matches(this._input.LA(1),C.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case v.WILDCARD:this.matchWildcard();break;case v.RULE:const h=r.target,o=h.ruleIndex,a=this.createInterpreterRuleContext(this.context,i.stateNumber,o);h.isPrecedenceRule?this.enterRecursionRule(a,h.stateNumber,o,r.precedence):this.enterRule(a,r.target.stateNumber,o);break;case v.PREDICATE:const c=r;if(!this.sempred(this.context,c.ruleIndex,c.predIndex))throw new on(this);break;case v.ACTION:const u=r;this.action(this.context,u.ruleIndex,u.actionIndex);break;case v.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const T=r.precedence;throw new on(this,`precpred(_ctx, ${T})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(i){let s=1;if(i.transitions.length>1){this.errorHandler.sync(this);const r=i.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(s=this.overrideDecisionAlt,this.overrideDecisionReached=!0):s=this.interpreter.adaptivePredict(this._input,r,this.context)}return s}createInterpreterRuleContext(i,s,r){return new ou(r,i,s)}visitRuleStopState(i){if(N(this,ne).ruleToStartState[i.ruleIndex].isPrecedenceRule){const[h,o]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=o}else this.exitRule();const r=N(this,ne).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(i){const s=this._input.index;if(this.errorHandler.recover(this,i),this._input.index===s){const r=i.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,o=(h==null?void 0:h.inputStream)??null,a=[h,o];if(i instanceof Be){const c=i.getExpectedTokens();if(!c)throw new Error("Expected the exception to provide expected tokens");let u=C.INVALID_TYPE;c.isNil||(u=c.minElement);const T=this.getTokenFactory().create(a,u,r.text,C.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,T))}else{const c=this.getTokenFactory().create(a,C.INVALID_TYPE,r.text,C.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,c))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},Rs=new WeakMap,ne=new WeakMap,Ws=new WeakMap,_s=new WeakMap,As=new WeakMap,Mn=new WeakMap,ni=new WeakMap,A(Ks,"ParserInterpreter"),Bt=class{constructor(t){E(this,"tokens");E(this,"programs",new Map);E(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,i,s=Bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(s),o=new Ko(this.tokens,r,h.length,i);h.push(o)}insertBefore(t,i,s=Bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(s),o=new B1(this.tokens,r,h.length,i);h.push(o)}replaceSingle(t,i,s=Bt.DEFAULT_PROGRAM_NAME){this.replace(t,t,i,s)}replace(t,i,s,r=Bt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof i!="number"&&(i=i.tokenIndex),t>i||t<0||i<0||i>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${i}(size=${this.tokens.size})`);const h=this.getProgram(r),o=new an(this.tokens,t,i,h.length,s);h.push(o)}delete(t,i,s=Bt.DEFAULT_PROGRAM_NAME){i==null&&(i=t),this.replace(t,i,null,s)}getProgram(t){let i=this.programs.get(t);return i==null&&(i=this.initializeProgram(t)),i}initializeProgram(t){const i=[];return this.programs.set(t,i),i}getText(t,i=Bt.DEFAULT_PROGRAM_NAME){let s;t instanceof P?s=t:s=new P(0,this.tokens.size-1),typeof t=="string"&&(i=t);const r=this.programs.get(i);let h=s.start,o=s.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new P(h,o));const a=[],c=this.reduceToSingleOperationPerIndex(r);let u=h;for(;u<=o&&u=this.tokens.size-1&&a.push(String(T.text));return a.join("")}reduceToSingleOperationPerIndex(t){for(let s=0;sh.index&&c.index<=h.lastIndex&&(t[c.instructionIndex]=null);const a=this.getKindOfOps(t,an,s);for(const c of a){if(c.index>=h.index&&c.lastIndex<=h.lastIndex){t[c.instructionIndex]=null;continue}const u=c.lastIndexh.lastIndex;if(c.text==null&&h.text==null&&!u)t[c.instructionIndex]=null,h.index=Math.min(c.index,h.index),h.lastIndex=Math.max(c.lastIndex,h.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${h} overlap with previous ${c}`)}}for(let s=0;s=c.index&&h.index<=c.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${c}`)}}const i=new Map;for(const s of t)if(s!=null){if(i.get(s.index)!=null)throw new Error("should only be one op per index");i.set(s.index,s)}return i}catOpText(t,i){let s="",r="";return t!=null&&(s=t.toString()),i!=null&&(r=i.toString()),s+r}getKindOfOps(t,i,s){return t.slice(0,s).filter(r=>r&&r instanceof i)}},A(Bt,"TokenStreamRewriter"),E(Bt,"DEFAULT_PROGRAM_NAME","default"),E(Bt,"PROGRAM_INIT_SIZE",100),E(Bt,"MIN_TOKEN_INDEX",0);var Ao=(fs=class{constructor(t,i,s,r){E(this,"instructionIndex");E(this,"index");E(this,"text");E(this,"tokens");this.tokens=t,this.instructionIndex=s,this.index=i,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},A(fs,"RewriteOperation"),fs),B1=(ms=class extends Ao{constructor(t,i,s,r){super(t,i,s,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==C.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},A(ms,"InsertBeforeOp"),ms),Ko=(Cs=class extends B1{constructor(t,i,s,r){super(t,i+1,s,r)}toString(){return"'}},A(Cs,"InsertAfterOp"),Cs),an=(gs=class extends Ao{constructor(i,s,r,h,o){super(i,s,h,o);E(this,"lastIndex");this.lastIndex=r}execute(i){return this.text&&i.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},A(gs,"ReplaceOp"),gs);class l extends Zt{markUnclosedComment(){this.has_unclosed_bracketed_comment=!0}constructor(t){super(t),this.has_unclosed_bracketed_comment=!1,this.interpreter=new T1(this,l._ATN,l.decisionsToDFA,new fi)}get grammarFileName(){return"SparkSqlLexer.g4"}get literalNames(){return l.literalNames}get symbolicNames(){return l.symbolicNames}get ruleNames(){return l.ruleNames}get serializedATN(){return l._serializedATN}get channelNames(){return l.channelNames}get modeNames(){return l.modeNames}action(t,i,s){switch(i){case 394:this.BRACKETED_COMMENT_action(t,s);break}}BRACKETED_COMMENT_action(t,i){switch(i){case 0:this.markUnclosedComment();break}}static get _ATN(){return l.__ATN||(l.__ATN=new Ki().deserialize(l._serializedATN)),l.__ATN}get vocabulary(){return l.vocabulary}}l.SEMICOLON=1,l.LEFT_PAREN=2,l.RIGHT_PAREN=3,l.COMMA=4,l.DOT=5,l.LEFT_BRACKET=6,l.RIGHT_BRACKET=7,l.KW_ADD=8,l.KW_AFTER=9,l.KW_ALL=10,l.KW_ALTER=11,l.KW_ALWAYS=12,l.KW_ANALYZE=13,l.KW_AND=14,l.KW_ANTI=15,l.KW_ANY=16,l.KW_ANY_VALUE=17,l.KW_ARCHIVE=18,l.KW_ARRAY=19,l.KW_AS=20,l.KW_ASC=21,l.KW_AT=22,l.KW_AUTHORIZATION=23,l.KW_BETWEEN=24,l.KW_BIGINT=25,l.KW_BINARY=26,l.KW_BOOLEAN=27,l.KW_BOTH=28,l.KW_BUCKET=29,l.KW_BUCKETS=30,l.KW_BY=31,l.KW_BYTE=32,l.KW_CACHE=33,l.KW_CASCADE=34,l.KW_CASE=35,l.KW_CAST=36,l.KW_CATALOG=37,l.KW_CATALOGS=38,l.KW_CHANGE=39,l.KW_CHAR=40,l.KW_CHARACTER=41,l.KW_CHECK=42,l.KW_CLEAR=43,l.KW_CLUSTER=44,l.KW_CLUSTERED=45,l.KW_CODEGEN=46,l.KW_COLLATE=47,l.KW_COLLECTION=48,l.KW_COLUMN=49,l.KW_COLUMNS=50,l.KW_COMMENT=51,l.KW_COMMIT=52,l.KW_COMPACT=53,l.KW_COMPACTIONS=54,l.KW_COMPUTE=55,l.KW_CONCATENATE=56,l.KW_CONSTRAINT=57,l.KW_COST=58,l.KW_CREATE=59,l.KW_CROSS=60,l.KW_CUBE=61,l.KW_CURRENT=62,l.KW_CURRENT_DATE=63,l.KW_CURRENT_TIME=64,l.KW_CURRENT_TIMESTAMP=65,l.KW_CURRENT_USER=66,l.KW_DAY=67,l.KW_DAYS=68,l.KW_DAYOFYEAR=69,l.KW_DATA=70,l.KW_DATE=71,l.KW_DATABASE=72,l.KW_DATABASES=73,l.KW_DATEADD=74,l.KW_DATE_ADD=75,l.KW_DATEDIFF=76,l.KW_DATE_DIFF=77,l.KW_DBPROPERTIES=78,l.KW_DEC=79,l.KW_DECIMAL=80,l.KW_DECLARE=81,l.KW_DEFAULT=82,l.KW_DEFINED=83,l.KW_DELETE=84,l.KW_DELIMITED=85,l.KW_DESC=86,l.KW_DESCRIBE=87,l.KW_DFS=88,l.KW_DIRECTORIES=89,l.KW_DIRECTORY=90,l.KW_DISABLE=91,l.KW_DISTINCT=92,l.KW_DISTRIBUTE=93,l.KW_DIV=94,l.KW_DOUBLE=95,l.KW_DROP=96,l.KW_ELSE=97,l.KW_ENABLE=98,l.KW_END=99,l.KW_ESCAPE=100,l.KW_ESCAPED=101,l.KW_EXCEPT=102,l.KW_EXCHANGE=103,l.KW_EXCLUDE=104,l.KW_EXISTS=105,l.KW_EXPLAIN=106,l.KW_EXPORT=107,l.KW_EXTENDED=108,l.KW_EXTERNAL=109,l.KW_EXTRACT=110,l.KW_FALSE=111,l.KW_FETCH=112,l.KW_FIELDS=113,l.KW_FILTER=114,l.KW_FILEFORMAT=115,l.KW_FIRST=116,l.KW_FLOAT=117,l.KW_FOLLOWING=118,l.KW_FOR=119,l.KW_FOREIGN=120,l.KW_FORMAT=121,l.KW_FORMATTED=122,l.KW_FROM=123,l.KW_FULL=124,l.KW_FUNCTION=125,l.KW_FUNCTIONS=126,l.KW_GENERATED=127,l.KW_GLOBAL=128,l.KW_GRANT=129,l.KW_GROUP=130,l.KW_GROUPING=131,l.KW_HAVING=132,l.KW_BINARY_HEX=133,l.KW_HOUR=134,l.KW_HOURS=135,l.KW_IDENTIFIER=136,l.KW_IF=137,l.KW_IGNORE=138,l.KW_IMPORT=139,l.KW_IN=140,l.KW_INCLUDE=141,l.KW_INDEX=142,l.KW_INDEXES=143,l.KW_INNER=144,l.KW_INPATH=145,l.KW_INPUTFORMAT=146,l.KW_INSERT=147,l.KW_INTERSECT=148,l.KW_INTERVAL=149,l.KW_INT=150,l.KW_INTEGER=151,l.KW_INTO=152,l.KW_IS=153,l.KW_ITEMS=154,l.KW_JOIN=155,l.KW_KEYS=156,l.KW_LAST=157,l.KW_LATERAL=158,l.KW_LAZY=159,l.KW_LEADING=160,l.KW_LEFT=161,l.KW_LIFECYCLE=162,l.KW_LIKE=163,l.KW_ILIKE=164,l.KW_LIMIT=165,l.KW_LINES=166,l.KW_LIST=167,l.KW_LOAD=168,l.KW_LOCAL=169,l.KW_LOCATION=170,l.KW_LOCK=171,l.KW_LOCKS=172,l.KW_LOGICAL=173,l.KW_LONG=174,l.KW_MACRO=175,l.KW_MATERIALIZED=176,l.KW_MAP=177,l.KW_MATCHED=178,l.KW_MERGE=179,l.KW_MICROSECOND=180,l.KW_MICROSECONDS=181,l.KW_MILLISECOND=182,l.KW_MILLISECONDS=183,l.KW_MINUTE=184,l.KW_MINUTES=185,l.KW_MONTH=186,l.KW_MONTHS=187,l.KW_MSCK=188,l.KW_NAME=189,l.KW_NAMESPACE=190,l.KW_NAMESPACES=191,l.KW_NANOSECOND=192,l.KW_NANOSECONDS=193,l.KW_NATURAL=194,l.KW_NO=195,l.KW_NOSCAN=196,l.KW_NOT=197,l.KW_NULL=198,l.KW_NULLS=199,l.KW_NUMERIC=200,l.KW_OF=201,l.KW_OFFSET=202,l.KW_ON=203,l.KW_ONLY=204,l.KW_OPTIMIZE=205,l.KW_OPTION=206,l.KW_OPTIONS=207,l.KW_OR=208,l.KW_ORDER=209,l.KW_OUT=210,l.KW_OUTER=211,l.KW_OUTPUTFORMAT=212,l.KW_OVER=213,l.KW_OVERLAPS=214,l.KW_OVERLAY=215,l.KW_OVERWRITE=216,l.KW_PARTITION=217,l.KW_PARTITIONED=218,l.KW_PARTITIONS=219,l.KW_PERCENTILE_CONT=220,l.KW_PERCENTILE_DISC=221,l.KW_PERCENTLIT=222,l.KW_PIVOT=223,l.KW_PLACING=224,l.KW_POSITION=225,l.KW_PRECEDING=226,l.KW_PRIMARY=227,l.KW_PRINCIPALS=228,l.KW_PROPERTIES=229,l.KW_PURGE=230,l.KW_QUARTER=231,l.KW_QUERY=232,l.KW_RANGE=233,l.KW_REAL=234,l.KW_RECORDREADER=235,l.KW_RECORDWRITER=236,l.KW_RECOVER=237,l.KW_REDUCE=238,l.KW_REFERENCES=239,l.KW_REFRESH=240,l.KW_RENAME=241,l.KW_REPAIR=242,l.KW_REPEATABLE=243,l.KW_REPLACE=244,l.KW_RESET=245,l.KW_RESPECT=246,l.KW_RESTRICT=247,l.KW_REWRITE=248,l.KW_REVOKE=249,l.KW_RIGHT=250,l.KW_RLIKE=251,l.KW_REGEXP=252,l.KW_ROLE=253,l.KW_ROLES=254,l.KW_ROLLBACK=255,l.KW_ROLLUP=256,l.KW_ROW=257,l.KW_ROWS=258,l.KW_SECOND=259,l.KW_SECONDS=260,l.KW_SCHEMA=261,l.KW_SCHEMAS=262,l.KW_SELECT=263,l.KW_SEMI=264,l.KW_SEPARATED=265,l.KW_SERDE=266,l.KW_SERDEPROPERTIES=267,l.KW_SESSION_USER=268,l.KW_SET=269,l.KW_MINUS=270,l.KW_SETS=271,l.KW_SHORT=272,l.KW_SHOW=273,l.KW_SINGLE=274,l.KW_SKEWED=275,l.KW_SMALLINT=276,l.KW_SOME=277,l.KW_SORT=278,l.KW_SORTED=279,l.KW_SOURCE=280,l.KW_START=281,l.KW_STATISTICS=282,l.KW_STORED=283,l.KW_STRATIFY=284,l.KW_STRING=285,l.KW_STRUCT=286,l.KW_SUBSTR=287,l.KW_SUBSTRING=288,l.KW_SYNC=289,l.KW_SYSTEM=290,l.KW_SYSTEM_TIME=291,l.KW_SYSTEM_VERSION=292,l.KW_TABLE=293,l.KW_TABLES=294,l.KW_TABLESAMPLE=295,l.KW_TARGET=296,l.KW_TBLPROPERTIES=297,l.KW_TEMPORARY=298,l.KW_TERMINATED=299,l.KW_THEN=300,l.KW_TIME=301,l.KW_TIMEDIFF=302,l.KW_TIMESTAMP=303,l.KW_TIMESTAMP_LTZ=304,l.KW_TIMESTAMP_NTZ=305,l.KW_TIMESTAMPADD=306,l.KW_TIMESTAMPDIFF=307,l.KW_TINYINT=308,l.KW_TO=309,l.KW_TOUCH=310,l.KW_TRAILING=311,l.KW_TRANSACTION=312,l.KW_TRANSACTIONS=313,l.KW_TRANSFORM=314,l.KW_TRIM=315,l.KW_TRUE=316,l.KW_TRUNCATE=317,l.KW_TRY_CAST=318,l.KW_TYPE=319,l.KW_UNARCHIVE=320,l.KW_UNBOUNDED=321,l.KW_UNCACHE=322,l.KW_UNION=323,l.KW_UNIQUE=324,l.KW_UNKNOWN=325,l.KW_UNLOCK=326,l.KW_UNPIVOT=327,l.KW_UNSET=328,l.KW_UPDATE=329,l.KW_USE=330,l.KW_USER=331,l.KW_USING=332,l.KW_VALUES=333,l.KW_VARCHAR=334,l.KW_VAR=335,l.KW_VARIABLE=336,l.KW_VERSION=337,l.KW_VIEW=338,l.KW_VIEWS=339,l.KW_VOID=340,l.KW_WEEK=341,l.KW_WEEKS=342,l.KW_WHEN=343,l.KW_WHERE=344,l.KW_WINDOW=345,l.KW_WITH=346,l.KW_WITHIN=347,l.KW_YEAR=348,l.KW_YEARS=349,l.KW_ZONE=350,l.KW_ZORDER=351,l.EQ=352,l.NSEQ=353,l.NEQ=354,l.NEQJ=355,l.LT=356,l.LTE=357,l.GT=358,l.GTE=359,l.NOT=360,l.PLUS=361,l.MINUS=362,l.ASTERISK=363,l.SLASH=364,l.PERCENT=365,l.TILDE=366,l.AMPERSAND=367,l.PIPE=368,l.CONCAT_PIPE=369,l.HAT=370,l.COLON=371,l.ARROW=372,l.FAT_ARROW=373,l.HENT_START=374,l.HENT_END=375,l.QUESTION=376,l.STRING_LITERAL=377,l.DOUBLEQUOTED_STRING=378,l.BIGINT_LITERAL=379,l.SMALLINT_LITERAL=380,l.TINYINT_LITERAL=381,l.INTEGER_VALUE=382,l.EXPONENT_VALUE=383,l.DECIMAL_VALUE=384,l.FLOAT_LITERAL=385,l.DOUBLE_LITERAL=386,l.BIGDECIMAL_LITERAL=387,l.IDENTIFIER=388,l.BACKQUOTED_IDENTIFIER=389,l.SIMPLE_COMMENT=390,l.BRACKETED_COMMENT=391,l.WS=392,l.UNRECOGNIZED=393,l.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],l.literalNames=[null,"';'","'('","')'","','","'.'","'['","']'","'ADD'","'AFTER'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ANTI'","'ANY'","'ANY_VALUE'","'ARCHIVE'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BETWEEN'","'BIGINT'","'BINARY'","'BOOLEAN'","'BOTH'","'BUCKET'","'BUCKETS'","'BY'","'BYTE'","'CACHE'","'CASCADE'","'CASE'","'CAST'","'CATALOG'","'CATALOGS'","'CHANGE'","'CHAR'","'CHARACTER'","'CHECK'","'CLEAR'","'CLUSTER'","'CLUSTERED'","'CODEGEN'","'COLLATE'","'COLLECTION'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPACTIONS'","'COMPUTE'","'CONCATENATE'","'CONSTRAINT'","'COST'","'CREATE'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_DATE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DAY'","'DAYS'","'DAYOFYEAR'","'DATA'","'DATE'","'DATABASE'","'DATABASES'","'DATEADD'","'DATE_ADD'","'DATEDIFF'","'DATE_DIFF'","'DBPROPERTIES'","'DEC'","'DECIMAL'","'DECLARE'","'DEFAULT'","'DEFINED'","'DELETE'","'DELIMITED'","'DESC'","'DESCRIBE'","'DFS'","'DIRECTORIES'","'DIRECTORY'","'DISABLE'","'DISTINCT'","'DISTRIBUTE'","'DIV'","'DOUBLE'","'DROP'","'ELSE'","'ENABLE'","'END'","'ESCAPE'","'ESCAPED'","'EXCEPT'","'EXCHANGE'","'EXCLUDE'","'EXISTS'","'EXPLAIN'","'EXPORT'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FIELDS'","'FILTER'","'FILEFORMAT'","'FIRST'","'FLOAT'","'FOLLOWING'","'FOR'","'FOREIGN'","'FORMAT'","'FORMATTED'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GENERATED'","'GLOBAL'","'GRANT'","'GROUP'","'GROUPING'","'HAVING'","'X'","'HOUR'","'HOURS'","'IDENTIFIER'","'IF'","'IGNORE'","'IMPORT'","'IN'","'INCLUDE'","'INDEX'","'INDEXES'","'INNER'","'INPATH'","'INPUTFORMAT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INT'","'INTEGER'","'INTO'","'IS'","'ITEMS'","'JOIN'","'KEYS'","'LAST'","'LATERAL'","'LAZY'","'LEADING'","'LEFT'","'LIFECYCLE'","'LIKE'","'ILIKE'","'LIMIT'","'LINES'","'LIST'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'LOCKS'","'LOGICAL'","'LONG'","'MACRO'","'MATERIALIZED'","'MAP'","'MATCHED'","'MERGE'","'MICROSECOND'","'MICROSECONDS'","'MILLISECOND'","'MILLISECONDS'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MSCK'","'NAME'","'NAMESPACE'","'NAMESPACES'","'NANOSECOND'","'NANOSECONDS'","'NATURAL'","'NO'","'NOSCAN'","'NOT'","'NULL'","'NULLS'","'NUMERIC'","'OF'","'OFFSET'","'ON'","'ONLY'","'OPTIMIZE'","'OPTION'","'OPTIONS'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTPUTFORMAT'","'OVER'","'OVERLAPS'","'OVERLAY'","'OVERWRITE'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PERCENTILE_CONT'","'PERCENTILE_DISC'","'PERCENT'","'PIVOT'","'PLACING'","'POSITION'","'PRECEDING'","'PRIMARY'","'PRINCIPALS'","'PROPERTIES'","'PURGE'","'QUARTER'","'QUERY'","'RANGE'","'REAL'","'RECORDREADER'","'RECORDWRITER'","'RECOVER'","'REDUCE'","'REFERENCES'","'REFRESH'","'RENAME'","'REPAIR'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'REWRITE'","'REVOKE'","'RIGHT'","'RLIKE'","'REGEXP'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'SECOND'","'SECONDS'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SEMI'","'SEPARATED'","'SERDE'","'SERDEPROPERTIES'","'SESSION_USER'","'SET'","'MINUS'","'SETS'","'SHORT'","'SHOW'","'SINGLE'","'SKEWED'","'SMALLINT'","'SOME'","'SORT'","'SORTED'","'SOURCE'","'START'","'STATISTICS'","'STORED'","'STRATIFY'","'STRING'","'STRUCT'","'SUBSTR'","'SUBSTRING'","'SYNC'","'SYSTEM'","'SYSTEM_TIME'","'SYSTEM_VERSION'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TARGET'","'TBLPROPERTIES'","'TEMPORARY'","'TERMINATED'","'THEN'","'TIME'","'TIMEDIFF'","'TIMESTAMP'","'TIMESTAMP_LTZ'","'TIMESTAMP_NTZ'","'TIMESTAMPADD'","'TIMESTAMPDIFF'","'TINYINT'","'TO'","'TOUCH'","'TRAILING'","'TRANSACTION'","'TRANSACTIONS'","'TRANSFORM'","'TRIM'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TYPE'","'UNARCHIVE'","'UNBOUNDED'","'UNCACHE'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNLOCK'","'UNPIVOT'","'UNSET'","'UPDATE'","'USE'","'USER'","'USING'","'VALUES'","'VARCHAR'","'VAR'","'VARIABLE'","'VERSION'","'VIEW'","'VIEWS'","'VOID'","'WEEK'","'WEEKS'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'WITHIN'","'YEAR'","'YEARS'","'ZONE'","'ZORDER'",null,"'<=>'","'<>'","'!='","'<'",null,"'>'",null,"'!'","'+'","'-'","'*'","'/'","'%'","'~'","'&'","'|'","'||'","'^'","':'","'->'","'=>'","'/*+'","'*/'","'?'"],l.symbolicNames=[null,"SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","KW_ADD","KW_AFTER","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_ANY_VALUE","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_BYTE","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_CHANGE","KW_CHAR","KW_CHARACTER","KW_CHECK","KW_CLEAR","KW_CLUSTER","KW_CLUSTERED","KW_CODEGEN","KW_COLLATE","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPUTE","KW_CONCATENATE","KW_CONSTRAINT","KW_COST","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DAY","KW_DAYS","KW_DAYOFYEAR","KW_DATA","KW_DATE","KW_DATABASE","KW_DATABASES","KW_DATEADD","KW_DATE_ADD","KW_DATEDIFF","KW_DATE_DIFF","KW_DBPROPERTIES","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DESC","KW_DESCRIBE","KW_DFS","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISTINCT","KW_DISTRIBUTE","KW_DIV","KW_DOUBLE","KW_DROP","KW_ELSE","KW_ENABLE","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUDE","KW_EXISTS","KW_EXPLAIN","KW_EXPORT","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILTER","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FOLLOWING","KW_FOR","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GENERATED","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_BINARY_HEX","KW_HOUR","KW_HOURS","KW_IDENTIFIER","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTFORMAT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INT","KW_INTEGER","KW_INTO","KW_IS","KW_ITEMS","KW_JOIN","KW_KEYS","KW_LAST","KW_LATERAL","KW_LAZY","KW_LEADING","KW_LEFT","KW_LIFECYCLE","KW_LIKE","KW_ILIKE","KW_LIMIT","KW_LINES","KW_LIST","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MATERIALIZED","KW_MAP","KW_MATCHED","KW_MERGE","KW_MICROSECOND","KW_MICROSECONDS","KW_MILLISECOND","KW_MILLISECONDS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MSCK","KW_NAME","KW_NAMESPACE","KW_NAMESPACES","KW_NANOSECOND","KW_NANOSECONDS","KW_NATURAL","KW_NO","KW_NOSCAN","KW_NOT","KW_NULL","KW_NULLS","KW_NUMERIC","KW_OF","KW_OFFSET","KW_ON","KW_ONLY","KW_OPTIMIZE","KW_OPTION","KW_OPTIONS","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENTLIT","KW_PIVOT","KW_PLACING","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_PRINCIPALS","KW_PROPERTIES","KW_PURGE","KW_QUARTER","KW_QUERY","KW_RANGE","KW_REAL","KW_RECORDREADER","KW_RECORDWRITER","KW_RECOVER","KW_REDUCE","KW_REFERENCES","KW_REFRESH","KW_RENAME","KW_REPAIR","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REWRITE","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_REGEXP","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SECOND","KW_SECONDS","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SEMI","KW_SEPARATED","KW_SERDE","KW_SERDEPROPERTIES","KW_SESSION_USER","KW_SET","KW_MINUS","KW_SETS","KW_SHORT","KW_SHOW","KW_SINGLE","KW_SKEWED","KW_SMALLINT","KW_SOME","KW_SORT","KW_SORTED","KW_SOURCE","KW_START","KW_STATISTICS","KW_STORED","KW_STRATIFY","KW_STRING","KW_STRUCT","KW_SUBSTR","KW_SUBSTRING","KW_SYNC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TARGET","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMEDIFF","KW_TIMESTAMP","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_NTZ","KW_TIMESTAMPADD","KW_TIMESTAMPDIFF","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNCACHE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNLOCK","KW_UNPIVOT","KW_UNSET","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALUES","KW_VARCHAR","KW_VAR","KW_VARIABLE","KW_VERSION","KW_VIEW","KW_VIEWS","KW_VOID","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_YEAR","KW_YEARS","KW_ZONE","KW_ZORDER","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","NOT","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],l.modeNames=["DEFAULT_MODE"],l.ruleNames=["SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","KW_ADD","KW_AFTER","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_ANY_VALUE","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_BYTE","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_CHANGE","KW_CHAR","KW_CHARACTER","KW_CHECK","KW_CLEAR","KW_CLUSTER","KW_CLUSTERED","KW_CODEGEN","KW_COLLATE","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPUTE","KW_CONCATENATE","KW_CONSTRAINT","KW_COST","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DAY","KW_DAYS","KW_DAYOFYEAR","KW_DATA","KW_DATE","KW_DATABASE","KW_DATABASES","KW_DATEADD","KW_DATE_ADD","KW_DATEDIFF","KW_DATE_DIFF","KW_DBPROPERTIES","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DESC","KW_DESCRIBE","KW_DFS","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISTINCT","KW_DISTRIBUTE","KW_DIV","KW_DOUBLE","KW_DROP","KW_ELSE","KW_ENABLE","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUDE","KW_EXISTS","KW_EXPLAIN","KW_EXPORT","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILTER","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FOLLOWING","KW_FOR","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GENERATED","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_BINARY_HEX","KW_HOUR","KW_HOURS","KW_IDENTIFIER","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTFORMAT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INT","KW_INTEGER","KW_INTO","KW_IS","KW_ITEMS","KW_JOIN","KW_KEYS","KW_LAST","KW_LATERAL","KW_LAZY","KW_LEADING","KW_LEFT","KW_LIFECYCLE","KW_LIKE","KW_ILIKE","KW_LIMIT","KW_LINES","KW_LIST","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MATERIALIZED","KW_MAP","KW_MATCHED","KW_MERGE","KW_MICROSECOND","KW_MICROSECONDS","KW_MILLISECOND","KW_MILLISECONDS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MSCK","KW_NAME","KW_NAMESPACE","KW_NAMESPACES","KW_NANOSECOND","KW_NANOSECONDS","KW_NATURAL","KW_NO","KW_NOSCAN","KW_NOT","KW_NULL","KW_NULLS","KW_NUMERIC","KW_OF","KW_OFFSET","KW_ON","KW_ONLY","KW_OPTIMIZE","KW_OPTION","KW_OPTIONS","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENTLIT","KW_PIVOT","KW_PLACING","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_PRINCIPALS","KW_PROPERTIES","KW_PURGE","KW_QUARTER","KW_QUERY","KW_RANGE","KW_REAL","KW_RECORDREADER","KW_RECORDWRITER","KW_RECOVER","KW_REDUCE","KW_REFERENCES","KW_REFRESH","KW_RENAME","KW_REPAIR","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REWRITE","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_REGEXP","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SECOND","KW_SECONDS","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SEMI","KW_SEPARATED","KW_SERDE","KW_SERDEPROPERTIES","KW_SESSION_USER","KW_SET","KW_MINUS","KW_SETS","KW_SHORT","KW_SHOW","KW_SINGLE","KW_SKEWED","KW_SMALLINT","KW_SOME","KW_SORT","KW_SORTED","KW_SOURCE","KW_START","KW_STATISTICS","KW_STORED","KW_STRATIFY","KW_STRING","KW_STRUCT","KW_SUBSTR","KW_SUBSTRING","KW_SYNC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TARGET","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMEDIFF","KW_TIMESTAMP","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_NTZ","KW_TIMESTAMPADD","KW_TIMESTAMPDIFF","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNCACHE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNLOCK","KW_UNPIVOT","KW_UNSET","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALUES","KW_VARCHAR","KW_VAR","KW_VARIABLE","KW_VERSION","KW_VIEW","KW_VIEWS","KW_VOID","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_YEAR","KW_YEARS","KW_ZONE","KW_ZORDER","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","NOT","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","DECIMAL_DIGITS","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],l._serializedATN=[4,0,393,3709,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,3,351,3406,8,351,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,354,1,354,1,354,1,355,1,355,1,356,1,356,1,356,1,356,3,356,3424,8,356,1,357,1,357,1,358,1,358,1,358,1,358,3,358,3432,8,358,1,359,1,359,1,360,1,360,1,361,1,361,1,362,1,362,1,363,1,363,1,364,1,364,1,365,1,365,1,366,1,366,1,367,1,367,1,368,1,368,1,368,1,369,1,369,1,370,1,370,1,371,1,371,1,371,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,375,1,375,1,376,1,376,1,376,1,376,5,376,3478,8,376,10,376,12,376,3481,9,376,1,376,1,376,1,376,1,376,1,376,5,376,3488,8,376,10,376,12,376,3491,9,376,1,376,1,376,1,376,1,376,1,376,5,376,3498,8,376,10,376,12,376,3501,9,376,1,376,3,376,3504,8,376,1,377,1,377,1,377,1,377,5,377,3510,8,377,10,377,12,377,3513,9,377,1,377,1,377,1,378,4,378,3518,8,378,11,378,12,378,3519,1,378,1,378,1,379,4,379,3525,8,379,11,379,12,379,3526,1,379,1,379,1,380,4,380,3532,8,380,11,380,12,380,3533,1,380,1,380,1,381,4,381,3539,8,381,11,381,12,381,3540,1,382,4,382,3544,8,382,11,382,12,382,3545,1,382,1,382,1,382,1,382,1,382,3,382,3553,8,382,1,383,1,383,1,384,4,384,3558,8,384,11,384,12,384,3559,1,384,3,384,3563,8,384,1,384,1,384,1,384,1,384,3,384,3569,8,384,1,384,1,384,3,384,3573,8,384,1,385,4,385,3576,8,385,11,385,12,385,3577,1,385,3,385,3581,8,385,1,385,1,385,1,385,1,385,3,385,3587,8,385,1,385,1,385,3,385,3591,8,385,1,386,4,386,3594,8,386,11,386,12,386,3595,1,386,3,386,3599,8,386,1,386,1,386,1,386,1,386,1,386,3,386,3606,8,386,1,386,1,386,1,386,3,386,3611,8,386,1,387,1,387,1,387,4,387,3616,8,387,11,387,12,387,3617,1,388,1,388,1,388,1,388,5,388,3624,8,388,10,388,12,388,3627,9,388,1,388,1,388,1,389,4,389,3632,8,389,11,389,12,389,3633,1,389,1,389,5,389,3638,8,389,10,389,12,389,3641,9,389,1,389,1,389,4,389,3645,8,389,11,389,12,389,3646,3,389,3649,8,389,1,390,1,390,3,390,3653,8,390,1,390,4,390,3656,8,390,11,390,12,390,3657,1,391,1,391,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,5,393,3670,8,393,10,393,12,393,3673,9,393,1,393,3,393,3676,8,393,1,393,3,393,3679,8,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,5,394,3688,8,394,10,394,12,394,3691,9,394,1,394,1,394,1,394,1,394,3,394,3697,8,394,1,394,1,394,1,395,4,395,3702,8,395,11,395,12,395,3703,1,395,1,395,1,396,1,396,1,3689,0,397,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,0,781,0,783,0,785,0,787,390,789,391,791,392,793,393,1,0,36,2,0,65,65,97,97,2,0,68,68,100,100,2,0,70,70,102,102,2,0,84,84,116,116,2,0,69,69,101,101,2,0,82,82,114,114,2,0,76,76,108,108,2,0,87,87,119,119,2,0,89,89,121,121,2,0,83,83,115,115,2,0,78,78,110,110,2,0,90,90,122,122,2,0,73,73,105,105,2,0,86,86,118,118,2,0,85,85,117,117,2,0,67,67,99,99,2,0,72,72,104,104,2,0,79,79,111,111,2,0,66,66,98,98,2,0,71,71,103,103,2,0,75,75,107,107,2,0,77,77,109,109,2,0,80,80,112,112,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,2,0,39,39,92,92,1,0,39,39,1,0,34,34,2,0,34,34,92,92,1,0,96,96,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,3752,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,1,795,1,0,0,0,3,797,1,0,0,0,5,799,1,0,0,0,7,801,1,0,0,0,9,803,1,0,0,0,11,805,1,0,0,0,13,807,1,0,0,0,15,809,1,0,0,0,17,813,1,0,0,0,19,819,1,0,0,0,21,823,1,0,0,0,23,829,1,0,0,0,25,836,1,0,0,0,27,844,1,0,0,0,29,848,1,0,0,0,31,853,1,0,0,0,33,857,1,0,0,0,35,867,1,0,0,0,37,875,1,0,0,0,39,881,1,0,0,0,41,884,1,0,0,0,43,888,1,0,0,0,45,891,1,0,0,0,47,905,1,0,0,0,49,913,1,0,0,0,51,920,1,0,0,0,53,927,1,0,0,0,55,935,1,0,0,0,57,940,1,0,0,0,59,947,1,0,0,0,61,955,1,0,0,0,63,958,1,0,0,0,65,963,1,0,0,0,67,969,1,0,0,0,69,977,1,0,0,0,71,982,1,0,0,0,73,987,1,0,0,0,75,995,1,0,0,0,77,1004,1,0,0,0,79,1011,1,0,0,0,81,1016,1,0,0,0,83,1026,1,0,0,0,85,1032,1,0,0,0,87,1038,1,0,0,0,89,1046,1,0,0,0,91,1056,1,0,0,0,93,1064,1,0,0,0,95,1072,1,0,0,0,97,1083,1,0,0,0,99,1090,1,0,0,0,101,1098,1,0,0,0,103,1106,1,0,0,0,105,1113,1,0,0,0,107,1121,1,0,0,0,109,1133,1,0,0,0,111,1141,1,0,0,0,113,1153,1,0,0,0,115,1164,1,0,0,0,117,1169,1,0,0,0,119,1176,1,0,0,0,121,1182,1,0,0,0,123,1187,1,0,0,0,125,1195,1,0,0,0,127,1208,1,0,0,0,129,1221,1,0,0,0,131,1239,1,0,0,0,133,1252,1,0,0,0,135,1256,1,0,0,0,137,1261,1,0,0,0,139,1271,1,0,0,0,141,1276,1,0,0,0,143,1281,1,0,0,0,145,1290,1,0,0,0,147,1300,1,0,0,0,149,1308,1,0,0,0,151,1317,1,0,0,0,153,1326,1,0,0,0,155,1336,1,0,0,0,157,1349,1,0,0,0,159,1353,1,0,0,0,161,1361,1,0,0,0,163,1369,1,0,0,0,165,1377,1,0,0,0,167,1385,1,0,0,0,169,1392,1,0,0,0,171,1402,1,0,0,0,173,1407,1,0,0,0,175,1416,1,0,0,0,177,1420,1,0,0,0,179,1432,1,0,0,0,181,1442,1,0,0,0,183,1450,1,0,0,0,185,1459,1,0,0,0,187,1470,1,0,0,0,189,1474,1,0,0,0,191,1481,1,0,0,0,193,1486,1,0,0,0,195,1491,1,0,0,0,197,1498,1,0,0,0,199,1502,1,0,0,0,201,1509,1,0,0,0,203,1517,1,0,0,0,205,1524,1,0,0,0,207,1533,1,0,0,0,209,1541,1,0,0,0,211,1548,1,0,0,0,213,1556,1,0,0,0,215,1563,1,0,0,0,217,1572,1,0,0,0,219,1581,1,0,0,0,221,1589,1,0,0,0,223,1595,1,0,0,0,225,1601,1,0,0,0,227,1608,1,0,0,0,229,1615,1,0,0,0,231,1626,1,0,0,0,233,1632,1,0,0,0,235,1638,1,0,0,0,237,1648,1,0,0,0,239,1652,1,0,0,0,241,1660,1,0,0,0,243,1667,1,0,0,0,245,1677,1,0,0,0,247,1682,1,0,0,0,249,1687,1,0,0,0,251,1696,1,0,0,0,253,1706,1,0,0,0,255,1716,1,0,0,0,257,1723,1,0,0,0,259,1729,1,0,0,0,261,1735,1,0,0,0,263,1744,1,0,0,0,265,1751,1,0,0,0,267,1753,1,0,0,0,269,1758,1,0,0,0,271,1764,1,0,0,0,273,1775,1,0,0,0,275,1778,1,0,0,0,277,1785,1,0,0,0,279,1792,1,0,0,0,281,1795,1,0,0,0,283,1803,1,0,0,0,285,1809,1,0,0,0,287,1817,1,0,0,0,289,1823,1,0,0,0,291,1830,1,0,0,0,293,1842,1,0,0,0,295,1849,1,0,0,0,297,1859,1,0,0,0,299,1868,1,0,0,0,301,1872,1,0,0,0,303,1880,1,0,0,0,305,1885,1,0,0,0,307,1888,1,0,0,0,309,1894,1,0,0,0,311,1899,1,0,0,0,313,1904,1,0,0,0,315,1909,1,0,0,0,317,1917,1,0,0,0,319,1922,1,0,0,0,321,1930,1,0,0,0,323,1935,1,0,0,0,325,1945,1,0,0,0,327,1950,1,0,0,0,329,1956,1,0,0,0,331,1962,1,0,0,0,333,1968,1,0,0,0,335,1973,1,0,0,0,337,1978,1,0,0,0,339,1984,1,0,0,0,341,1993,1,0,0,0,343,1998,1,0,0,0,345,2004,1,0,0,0,347,2012,1,0,0,0,349,2017,1,0,0,0,351,2023,1,0,0,0,353,2036,1,0,0,0,355,2040,1,0,0,0,357,2048,1,0,0,0,359,2054,1,0,0,0,361,2066,1,0,0,0,363,2079,1,0,0,0,365,2091,1,0,0,0,367,2104,1,0,0,0,369,2111,1,0,0,0,371,2119,1,0,0,0,373,2125,1,0,0,0,375,2132,1,0,0,0,377,2137,1,0,0,0,379,2142,1,0,0,0,381,2152,1,0,0,0,383,2163,1,0,0,0,385,2174,1,0,0,0,387,2186,1,0,0,0,389,2194,1,0,0,0,391,2197,1,0,0,0,393,2204,1,0,0,0,395,2208,1,0,0,0,397,2213,1,0,0,0,399,2219,1,0,0,0,401,2227,1,0,0,0,403,2230,1,0,0,0,405,2237,1,0,0,0,407,2240,1,0,0,0,409,2245,1,0,0,0,411,2254,1,0,0,0,413,2261,1,0,0,0,415,2269,1,0,0,0,417,2272,1,0,0,0,419,2278,1,0,0,0,421,2282,1,0,0,0,423,2288,1,0,0,0,425,2301,1,0,0,0,427,2306,1,0,0,0,429,2315,1,0,0,0,431,2323,1,0,0,0,433,2333,1,0,0,0,435,2343,1,0,0,0,437,2355,1,0,0,0,439,2366,1,0,0,0,441,2382,1,0,0,0,443,2398,1,0,0,0,445,2406,1,0,0,0,447,2412,1,0,0,0,449,2420,1,0,0,0,451,2429,1,0,0,0,453,2439,1,0,0,0,455,2447,1,0,0,0,457,2458,1,0,0,0,459,2469,1,0,0,0,461,2475,1,0,0,0,463,2483,1,0,0,0,465,2489,1,0,0,0,467,2495,1,0,0,0,469,2500,1,0,0,0,471,2513,1,0,0,0,473,2526,1,0,0,0,475,2534,1,0,0,0,477,2541,1,0,0,0,479,2552,1,0,0,0,481,2560,1,0,0,0,483,2567,1,0,0,0,485,2574,1,0,0,0,487,2585,1,0,0,0,489,2593,1,0,0,0,491,2599,1,0,0,0,493,2607,1,0,0,0,495,2616,1,0,0,0,497,2624,1,0,0,0,499,2631,1,0,0,0,501,2637,1,0,0,0,503,2643,1,0,0,0,505,2650,1,0,0,0,507,2655,1,0,0,0,509,2661,1,0,0,0,511,2670,1,0,0,0,513,2677,1,0,0,0,515,2681,1,0,0,0,517,2686,1,0,0,0,519,2693,1,0,0,0,521,2701,1,0,0,0,523,2708,1,0,0,0,525,2716,1,0,0,0,527,2723,1,0,0,0,529,2728,1,0,0,0,531,2738,1,0,0,0,533,2744,1,0,0,0,535,2760,1,0,0,0,537,2773,1,0,0,0,539,2777,1,0,0,0,541,2783,1,0,0,0,543,2788,1,0,0,0,545,2794,1,0,0,0,547,2799,1,0,0,0,549,2806,1,0,0,0,551,2813,1,0,0,0,553,2822,1,0,0,0,555,2827,1,0,0,0,557,2832,1,0,0,0,559,2839,1,0,0,0,561,2846,1,0,0,0,563,2852,1,0,0,0,565,2863,1,0,0,0,567,2870,1,0,0,0,569,2879,1,0,0,0,571,2886,1,0,0,0,573,2893,1,0,0,0,575,2900,1,0,0,0,577,2910,1,0,0,0,579,2915,1,0,0,0,581,2922,1,0,0,0,583,2934,1,0,0,0,585,2949,1,0,0,0,587,2955,1,0,0,0,589,2962,1,0,0,0,591,2974,1,0,0,0,593,2981,1,0,0,0,595,2995,1,0,0,0,597,3005,1,0,0,0,599,3016,1,0,0,0,601,3021,1,0,0,0,603,3026,1,0,0,0,605,3035,1,0,0,0,607,3045,1,0,0,0,609,3059,1,0,0,0,611,3073,1,0,0,0,613,3086,1,0,0,0,615,3100,1,0,0,0,617,3108,1,0,0,0,619,3111,1,0,0,0,621,3117,1,0,0,0,623,3126,1,0,0,0,625,3138,1,0,0,0,627,3151,1,0,0,0,629,3161,1,0,0,0,631,3166,1,0,0,0,633,3171,1,0,0,0,635,3180,1,0,0,0,637,3189,1,0,0,0,639,3194,1,0,0,0,641,3204,1,0,0,0,643,3214,1,0,0,0,645,3222,1,0,0,0,647,3228,1,0,0,0,649,3235,1,0,0,0,651,3243,1,0,0,0,653,3250,1,0,0,0,655,3258,1,0,0,0,657,3264,1,0,0,0,659,3271,1,0,0,0,661,3275,1,0,0,0,663,3280,1,0,0,0,665,3286,1,0,0,0,667,3293,1,0,0,0,669,3301,1,0,0,0,671,3305,1,0,0,0,673,3314,1,0,0,0,675,3322,1,0,0,0,677,3327,1,0,0,0,679,3333,1,0,0,0,681,3338,1,0,0,0,683,3343,1,0,0,0,685,3349,1,0,0,0,687,3354,1,0,0,0,689,3360,1,0,0,0,691,3367,1,0,0,0,693,3372,1,0,0,0,695,3379,1,0,0,0,697,3384,1,0,0,0,699,3390,1,0,0,0,701,3395,1,0,0,0,703,3405,1,0,0,0,705,3407,1,0,0,0,707,3411,1,0,0,0,709,3414,1,0,0,0,711,3417,1,0,0,0,713,3423,1,0,0,0,715,3425,1,0,0,0,717,3431,1,0,0,0,719,3433,1,0,0,0,721,3435,1,0,0,0,723,3437,1,0,0,0,725,3439,1,0,0,0,727,3441,1,0,0,0,729,3443,1,0,0,0,731,3445,1,0,0,0,733,3447,1,0,0,0,735,3449,1,0,0,0,737,3451,1,0,0,0,739,3454,1,0,0,0,741,3456,1,0,0,0,743,3458,1,0,0,0,745,3461,1,0,0,0,747,3464,1,0,0,0,749,3468,1,0,0,0,751,3471,1,0,0,0,753,3503,1,0,0,0,755,3505,1,0,0,0,757,3517,1,0,0,0,759,3524,1,0,0,0,761,3531,1,0,0,0,763,3538,1,0,0,0,765,3552,1,0,0,0,767,3554,1,0,0,0,769,3572,1,0,0,0,771,3590,1,0,0,0,773,3610,1,0,0,0,775,3615,1,0,0,0,777,3619,1,0,0,0,779,3648,1,0,0,0,781,3650,1,0,0,0,783,3659,1,0,0,0,785,3661,1,0,0,0,787,3663,1,0,0,0,789,3682,1,0,0,0,791,3701,1,0,0,0,793,3707,1,0,0,0,795,796,5,59,0,0,796,2,1,0,0,0,797,798,5,40,0,0,798,4,1,0,0,0,799,800,5,41,0,0,800,6,1,0,0,0,801,802,5,44,0,0,802,8,1,0,0,0,803,804,5,46,0,0,804,10,1,0,0,0,805,806,5,91,0,0,806,12,1,0,0,0,807,808,5,93,0,0,808,14,1,0,0,0,809,810,7,0,0,0,810,811,7,1,0,0,811,812,7,1,0,0,812,16,1,0,0,0,813,814,7,0,0,0,814,815,7,2,0,0,815,816,7,3,0,0,816,817,7,4,0,0,817,818,7,5,0,0,818,18,1,0,0,0,819,820,7,0,0,0,820,821,7,6,0,0,821,822,7,6,0,0,822,20,1,0,0,0,823,824,7,0,0,0,824,825,7,6,0,0,825,826,7,3,0,0,826,827,7,4,0,0,827,828,7,5,0,0,828,22,1,0,0,0,829,830,7,0,0,0,830,831,7,6,0,0,831,832,7,7,0,0,832,833,7,0,0,0,833,834,7,8,0,0,834,835,7,9,0,0,835,24,1,0,0,0,836,837,7,0,0,0,837,838,7,10,0,0,838,839,7,0,0,0,839,840,7,6,0,0,840,841,7,8,0,0,841,842,7,11,0,0,842,843,7,4,0,0,843,26,1,0,0,0,844,845,7,0,0,0,845,846,7,10,0,0,846,847,7,1,0,0,847,28,1,0,0,0,848,849,7,0,0,0,849,850,7,10,0,0,850,851,7,3,0,0,851,852,7,12,0,0,852,30,1,0,0,0,853,854,7,0,0,0,854,855,7,10,0,0,855,856,7,8,0,0,856,32,1,0,0,0,857,858,7,0,0,0,858,859,7,10,0,0,859,860,7,8,0,0,860,861,5,95,0,0,861,862,7,13,0,0,862,863,7,0,0,0,863,864,7,6,0,0,864,865,7,14,0,0,865,866,7,4,0,0,866,34,1,0,0,0,867,868,7,0,0,0,868,869,7,5,0,0,869,870,7,15,0,0,870,871,7,16,0,0,871,872,7,12,0,0,872,873,7,13,0,0,873,874,7,4,0,0,874,36,1,0,0,0,875,876,7,0,0,0,876,877,7,5,0,0,877,878,7,5,0,0,878,879,7,0,0,0,879,880,7,8,0,0,880,38,1,0,0,0,881,882,7,0,0,0,882,883,7,9,0,0,883,40,1,0,0,0,884,885,7,0,0,0,885,886,7,9,0,0,886,887,7,15,0,0,887,42,1,0,0,0,888,889,7,0,0,0,889,890,7,3,0,0,890,44,1,0,0,0,891,892,7,0,0,0,892,893,7,14,0,0,893,894,7,3,0,0,894,895,7,16,0,0,895,896,7,17,0,0,896,897,7,5,0,0,897,898,7,12,0,0,898,899,7,11,0,0,899,900,7,0,0,0,900,901,7,3,0,0,901,902,7,12,0,0,902,903,7,17,0,0,903,904,7,10,0,0,904,46,1,0,0,0,905,906,7,18,0,0,906,907,7,4,0,0,907,908,7,3,0,0,908,909,7,7,0,0,909,910,7,4,0,0,910,911,7,4,0,0,911,912,7,10,0,0,912,48,1,0,0,0,913,914,7,18,0,0,914,915,7,12,0,0,915,916,7,19,0,0,916,917,7,12,0,0,917,918,7,10,0,0,918,919,7,3,0,0,919,50,1,0,0,0,920,921,7,18,0,0,921,922,7,12,0,0,922,923,7,10,0,0,923,924,7,0,0,0,924,925,7,5,0,0,925,926,7,8,0,0,926,52,1,0,0,0,927,928,7,18,0,0,928,929,7,17,0,0,929,930,7,17,0,0,930,931,7,6,0,0,931,932,7,4,0,0,932,933,7,0,0,0,933,934,7,10,0,0,934,54,1,0,0,0,935,936,7,18,0,0,936,937,7,17,0,0,937,938,7,3,0,0,938,939,7,16,0,0,939,56,1,0,0,0,940,941,7,18,0,0,941,942,7,14,0,0,942,943,7,15,0,0,943,944,7,20,0,0,944,945,7,4,0,0,945,946,7,3,0,0,946,58,1,0,0,0,947,948,7,18,0,0,948,949,7,14,0,0,949,950,7,15,0,0,950,951,7,20,0,0,951,952,7,4,0,0,952,953,7,3,0,0,953,954,7,9,0,0,954,60,1,0,0,0,955,956,7,18,0,0,956,957,7,8,0,0,957,62,1,0,0,0,958,959,7,18,0,0,959,960,7,8,0,0,960,961,7,3,0,0,961,962,7,4,0,0,962,64,1,0,0,0,963,964,7,15,0,0,964,965,7,0,0,0,965,966,7,15,0,0,966,967,7,16,0,0,967,968,7,4,0,0,968,66,1,0,0,0,969,970,7,15,0,0,970,971,7,0,0,0,971,972,7,9,0,0,972,973,7,15,0,0,973,974,7,0,0,0,974,975,7,1,0,0,975,976,7,4,0,0,976,68,1,0,0,0,977,978,7,15,0,0,978,979,7,0,0,0,979,980,7,9,0,0,980,981,7,4,0,0,981,70,1,0,0,0,982,983,7,15,0,0,983,984,7,0,0,0,984,985,7,9,0,0,985,986,7,3,0,0,986,72,1,0,0,0,987,988,7,15,0,0,988,989,7,0,0,0,989,990,7,3,0,0,990,991,7,0,0,0,991,992,7,6,0,0,992,993,7,17,0,0,993,994,7,19,0,0,994,74,1,0,0,0,995,996,7,15,0,0,996,997,7,0,0,0,997,998,7,3,0,0,998,999,7,0,0,0,999,1e3,7,6,0,0,1e3,1001,7,17,0,0,1001,1002,7,19,0,0,1002,1003,7,9,0,0,1003,76,1,0,0,0,1004,1005,7,15,0,0,1005,1006,7,16,0,0,1006,1007,7,0,0,0,1007,1008,7,10,0,0,1008,1009,7,19,0,0,1009,1010,7,4,0,0,1010,78,1,0,0,0,1011,1012,7,15,0,0,1012,1013,7,16,0,0,1013,1014,7,0,0,0,1014,1015,7,5,0,0,1015,80,1,0,0,0,1016,1017,7,15,0,0,1017,1018,7,16,0,0,1018,1019,7,0,0,0,1019,1020,7,5,0,0,1020,1021,7,0,0,0,1021,1022,7,15,0,0,1022,1023,7,3,0,0,1023,1024,7,4,0,0,1024,1025,7,5,0,0,1025,82,1,0,0,0,1026,1027,7,15,0,0,1027,1028,7,16,0,0,1028,1029,7,4,0,0,1029,1030,7,15,0,0,1030,1031,7,20,0,0,1031,84,1,0,0,0,1032,1033,7,15,0,0,1033,1034,7,6,0,0,1034,1035,7,4,0,0,1035,1036,7,0,0,0,1036,1037,7,5,0,0,1037,86,1,0,0,0,1038,1039,7,15,0,0,1039,1040,7,6,0,0,1040,1041,7,14,0,0,1041,1042,7,9,0,0,1042,1043,7,3,0,0,1043,1044,7,4,0,0,1044,1045,7,5,0,0,1045,88,1,0,0,0,1046,1047,7,15,0,0,1047,1048,7,6,0,0,1048,1049,7,14,0,0,1049,1050,7,9,0,0,1050,1051,7,3,0,0,1051,1052,7,4,0,0,1052,1053,7,5,0,0,1053,1054,7,4,0,0,1054,1055,7,1,0,0,1055,90,1,0,0,0,1056,1057,7,15,0,0,1057,1058,7,17,0,0,1058,1059,7,1,0,0,1059,1060,7,4,0,0,1060,1061,7,19,0,0,1061,1062,7,4,0,0,1062,1063,7,10,0,0,1063,92,1,0,0,0,1064,1065,7,15,0,0,1065,1066,7,17,0,0,1066,1067,7,6,0,0,1067,1068,7,6,0,0,1068,1069,7,0,0,0,1069,1070,7,3,0,0,1070,1071,7,4,0,0,1071,94,1,0,0,0,1072,1073,7,15,0,0,1073,1074,7,17,0,0,1074,1075,7,6,0,0,1075,1076,7,6,0,0,1076,1077,7,4,0,0,1077,1078,7,15,0,0,1078,1079,7,3,0,0,1079,1080,7,12,0,0,1080,1081,7,17,0,0,1081,1082,7,10,0,0,1082,96,1,0,0,0,1083,1084,7,15,0,0,1084,1085,7,17,0,0,1085,1086,7,6,0,0,1086,1087,7,14,0,0,1087,1088,7,21,0,0,1088,1089,7,10,0,0,1089,98,1,0,0,0,1090,1091,7,15,0,0,1091,1092,7,17,0,0,1092,1093,7,6,0,0,1093,1094,7,14,0,0,1094,1095,7,21,0,0,1095,1096,7,10,0,0,1096,1097,7,9,0,0,1097,100,1,0,0,0,1098,1099,7,15,0,0,1099,1100,7,17,0,0,1100,1101,7,21,0,0,1101,1102,7,21,0,0,1102,1103,7,4,0,0,1103,1104,7,10,0,0,1104,1105,7,3,0,0,1105,102,1,0,0,0,1106,1107,7,15,0,0,1107,1108,7,17,0,0,1108,1109,7,21,0,0,1109,1110,7,21,0,0,1110,1111,7,12,0,0,1111,1112,7,3,0,0,1112,104,1,0,0,0,1113,1114,7,15,0,0,1114,1115,7,17,0,0,1115,1116,7,21,0,0,1116,1117,7,22,0,0,1117,1118,7,0,0,0,1118,1119,7,15,0,0,1119,1120,7,3,0,0,1120,106,1,0,0,0,1121,1122,7,15,0,0,1122,1123,7,17,0,0,1123,1124,7,21,0,0,1124,1125,7,22,0,0,1125,1126,7,0,0,0,1126,1127,7,15,0,0,1127,1128,7,3,0,0,1128,1129,7,12,0,0,1129,1130,7,17,0,0,1130,1131,7,10,0,0,1131,1132,7,9,0,0,1132,108,1,0,0,0,1133,1134,7,15,0,0,1134,1135,7,17,0,0,1135,1136,7,21,0,0,1136,1137,7,22,0,0,1137,1138,7,14,0,0,1138,1139,7,3,0,0,1139,1140,7,4,0,0,1140,110,1,0,0,0,1141,1142,7,15,0,0,1142,1143,7,17,0,0,1143,1144,7,10,0,0,1144,1145,7,15,0,0,1145,1146,7,0,0,0,1146,1147,7,3,0,0,1147,1148,7,4,0,0,1148,1149,7,10,0,0,1149,1150,7,0,0,0,1150,1151,7,3,0,0,1151,1152,7,4,0,0,1152,112,1,0,0,0,1153,1154,7,15,0,0,1154,1155,7,17,0,0,1155,1156,7,10,0,0,1156,1157,7,9,0,0,1157,1158,7,3,0,0,1158,1159,7,5,0,0,1159,1160,7,0,0,0,1160,1161,7,12,0,0,1161,1162,7,10,0,0,1162,1163,7,3,0,0,1163,114,1,0,0,0,1164,1165,7,15,0,0,1165,1166,7,17,0,0,1166,1167,7,9,0,0,1167,1168,7,3,0,0,1168,116,1,0,0,0,1169,1170,7,15,0,0,1170,1171,7,5,0,0,1171,1172,7,4,0,0,1172,1173,7,0,0,0,1173,1174,7,3,0,0,1174,1175,7,4,0,0,1175,118,1,0,0,0,1176,1177,7,15,0,0,1177,1178,7,5,0,0,1178,1179,7,17,0,0,1179,1180,7,9,0,0,1180,1181,7,9,0,0,1181,120,1,0,0,0,1182,1183,7,15,0,0,1183,1184,7,14,0,0,1184,1185,7,18,0,0,1185,1186,7,4,0,0,1186,122,1,0,0,0,1187,1188,7,15,0,0,1188,1189,7,14,0,0,1189,1190,7,5,0,0,1190,1191,7,5,0,0,1191,1192,7,4,0,0,1192,1193,7,10,0,0,1193,1194,7,3,0,0,1194,124,1,0,0,0,1195,1196,7,15,0,0,1196,1197,7,14,0,0,1197,1198,7,5,0,0,1198,1199,7,5,0,0,1199,1200,7,4,0,0,1200,1201,7,10,0,0,1201,1202,7,3,0,0,1202,1203,5,95,0,0,1203,1204,7,1,0,0,1204,1205,7,0,0,0,1205,1206,7,3,0,0,1206,1207,7,4,0,0,1207,126,1,0,0,0,1208,1209,7,15,0,0,1209,1210,7,14,0,0,1210,1211,7,5,0,0,1211,1212,7,5,0,0,1212,1213,7,4,0,0,1213,1214,7,10,0,0,1214,1215,7,3,0,0,1215,1216,5,95,0,0,1216,1217,7,3,0,0,1217,1218,7,12,0,0,1218,1219,7,21,0,0,1219,1220,7,4,0,0,1220,128,1,0,0,0,1221,1222,7,15,0,0,1222,1223,7,14,0,0,1223,1224,7,5,0,0,1224,1225,7,5,0,0,1225,1226,7,4,0,0,1226,1227,7,10,0,0,1227,1228,7,3,0,0,1228,1229,5,95,0,0,1229,1230,7,3,0,0,1230,1231,7,12,0,0,1231,1232,7,21,0,0,1232,1233,7,4,0,0,1233,1234,7,9,0,0,1234,1235,7,3,0,0,1235,1236,7,0,0,0,1236,1237,7,21,0,0,1237,1238,7,22,0,0,1238,130,1,0,0,0,1239,1240,7,15,0,0,1240,1241,7,14,0,0,1241,1242,7,5,0,0,1242,1243,7,5,0,0,1243,1244,7,4,0,0,1244,1245,7,10,0,0,1245,1246,7,3,0,0,1246,1247,5,95,0,0,1247,1248,7,14,0,0,1248,1249,7,9,0,0,1249,1250,7,4,0,0,1250,1251,7,5,0,0,1251,132,1,0,0,0,1252,1253,7,1,0,0,1253,1254,7,0,0,0,1254,1255,7,8,0,0,1255,134,1,0,0,0,1256,1257,7,1,0,0,1257,1258,7,0,0,0,1258,1259,7,8,0,0,1259,1260,7,9,0,0,1260,136,1,0,0,0,1261,1262,7,1,0,0,1262,1263,7,0,0,0,1263,1264,7,8,0,0,1264,1265,7,17,0,0,1265,1266,7,2,0,0,1266,1267,7,8,0,0,1267,1268,7,4,0,0,1268,1269,7,0,0,0,1269,1270,7,5,0,0,1270,138,1,0,0,0,1271,1272,7,1,0,0,1272,1273,7,0,0,0,1273,1274,7,3,0,0,1274,1275,7,0,0,0,1275,140,1,0,0,0,1276,1277,7,1,0,0,1277,1278,7,0,0,0,1278,1279,7,3,0,0,1279,1280,7,4,0,0,1280,142,1,0,0,0,1281,1282,7,1,0,0,1282,1283,7,0,0,0,1283,1284,7,3,0,0,1284,1285,7,0,0,0,1285,1286,7,18,0,0,1286,1287,7,0,0,0,1287,1288,7,9,0,0,1288,1289,7,4,0,0,1289,144,1,0,0,0,1290,1291,7,1,0,0,1291,1292,7,0,0,0,1292,1293,7,3,0,0,1293,1294,7,0,0,0,1294,1295,7,18,0,0,1295,1296,7,0,0,0,1296,1297,7,9,0,0,1297,1298,7,4,0,0,1298,1299,7,9,0,0,1299,146,1,0,0,0,1300,1301,7,1,0,0,1301,1302,7,0,0,0,1302,1303,7,3,0,0,1303,1304,7,4,0,0,1304,1305,7,0,0,0,1305,1306,7,1,0,0,1306,1307,7,1,0,0,1307,148,1,0,0,0,1308,1309,7,1,0,0,1309,1310,7,0,0,0,1310,1311,7,3,0,0,1311,1312,7,4,0,0,1312,1313,5,95,0,0,1313,1314,7,0,0,0,1314,1315,7,1,0,0,1315,1316,7,1,0,0,1316,150,1,0,0,0,1317,1318,7,1,0,0,1318,1319,7,0,0,0,1319,1320,7,3,0,0,1320,1321,7,4,0,0,1321,1322,7,1,0,0,1322,1323,7,12,0,0,1323,1324,7,2,0,0,1324,1325,7,2,0,0,1325,152,1,0,0,0,1326,1327,7,1,0,0,1327,1328,7,0,0,0,1328,1329,7,3,0,0,1329,1330,7,4,0,0,1330,1331,5,95,0,0,1331,1332,7,1,0,0,1332,1333,7,12,0,0,1333,1334,7,2,0,0,1334,1335,7,2,0,0,1335,154,1,0,0,0,1336,1337,7,1,0,0,1337,1338,7,18,0,0,1338,1339,7,22,0,0,1339,1340,7,5,0,0,1340,1341,7,17,0,0,1341,1342,7,22,0,0,1342,1343,7,4,0,0,1343,1344,7,5,0,0,1344,1345,7,3,0,0,1345,1346,7,12,0,0,1346,1347,7,4,0,0,1347,1348,7,9,0,0,1348,156,1,0,0,0,1349,1350,7,1,0,0,1350,1351,7,4,0,0,1351,1352,7,15,0,0,1352,158,1,0,0,0,1353,1354,7,1,0,0,1354,1355,7,4,0,0,1355,1356,7,15,0,0,1356,1357,7,12,0,0,1357,1358,7,21,0,0,1358,1359,7,0,0,0,1359,1360,7,6,0,0,1360,160,1,0,0,0,1361,1362,7,1,0,0,1362,1363,7,4,0,0,1363,1364,7,15,0,0,1364,1365,7,6,0,0,1365,1366,7,0,0,0,1366,1367,7,5,0,0,1367,1368,7,4,0,0,1368,162,1,0,0,0,1369,1370,7,1,0,0,1370,1371,7,4,0,0,1371,1372,7,2,0,0,1372,1373,7,0,0,0,1373,1374,7,14,0,0,1374,1375,7,6,0,0,1375,1376,7,3,0,0,1376,164,1,0,0,0,1377,1378,7,1,0,0,1378,1379,7,4,0,0,1379,1380,7,2,0,0,1380,1381,7,12,0,0,1381,1382,7,10,0,0,1382,1383,7,4,0,0,1383,1384,7,1,0,0,1384,166,1,0,0,0,1385,1386,7,1,0,0,1386,1387,7,4,0,0,1387,1388,7,6,0,0,1388,1389,7,4,0,0,1389,1390,7,3,0,0,1390,1391,7,4,0,0,1391,168,1,0,0,0,1392,1393,7,1,0,0,1393,1394,7,4,0,0,1394,1395,7,6,0,0,1395,1396,7,12,0,0,1396,1397,7,21,0,0,1397,1398,7,12,0,0,1398,1399,7,3,0,0,1399,1400,7,4,0,0,1400,1401,7,1,0,0,1401,170,1,0,0,0,1402,1403,7,1,0,0,1403,1404,7,4,0,0,1404,1405,7,9,0,0,1405,1406,7,15,0,0,1406,172,1,0,0,0,1407,1408,7,1,0,0,1408,1409,7,4,0,0,1409,1410,7,9,0,0,1410,1411,7,15,0,0,1411,1412,7,5,0,0,1412,1413,7,12,0,0,1413,1414,7,18,0,0,1414,1415,7,4,0,0,1415,174,1,0,0,0,1416,1417,7,1,0,0,1417,1418,7,2,0,0,1418,1419,7,9,0,0,1419,176,1,0,0,0,1420,1421,7,1,0,0,1421,1422,7,12,0,0,1422,1423,7,5,0,0,1423,1424,7,4,0,0,1424,1425,7,15,0,0,1425,1426,7,3,0,0,1426,1427,7,17,0,0,1427,1428,7,5,0,0,1428,1429,7,12,0,0,1429,1430,7,4,0,0,1430,1431,7,9,0,0,1431,178,1,0,0,0,1432,1433,7,1,0,0,1433,1434,7,12,0,0,1434,1435,7,5,0,0,1435,1436,7,4,0,0,1436,1437,7,15,0,0,1437,1438,7,3,0,0,1438,1439,7,17,0,0,1439,1440,7,5,0,0,1440,1441,7,8,0,0,1441,180,1,0,0,0,1442,1443,7,1,0,0,1443,1444,7,12,0,0,1444,1445,7,9,0,0,1445,1446,7,0,0,0,1446,1447,7,18,0,0,1447,1448,7,6,0,0,1448,1449,7,4,0,0,1449,182,1,0,0,0,1450,1451,7,1,0,0,1451,1452,7,12,0,0,1452,1453,7,9,0,0,1453,1454,7,3,0,0,1454,1455,7,12,0,0,1455,1456,7,10,0,0,1456,1457,7,15,0,0,1457,1458,7,3,0,0,1458,184,1,0,0,0,1459,1460,7,1,0,0,1460,1461,7,12,0,0,1461,1462,7,9,0,0,1462,1463,7,3,0,0,1463,1464,7,5,0,0,1464,1465,7,12,0,0,1465,1466,7,18,0,0,1466,1467,7,14,0,0,1467,1468,7,3,0,0,1468,1469,7,4,0,0,1469,186,1,0,0,0,1470,1471,7,1,0,0,1471,1472,7,12,0,0,1472,1473,7,13,0,0,1473,188,1,0,0,0,1474,1475,7,1,0,0,1475,1476,7,17,0,0,1476,1477,7,14,0,0,1477,1478,7,18,0,0,1478,1479,7,6,0,0,1479,1480,7,4,0,0,1480,190,1,0,0,0,1481,1482,7,1,0,0,1482,1483,7,5,0,0,1483,1484,7,17,0,0,1484,1485,7,22,0,0,1485,192,1,0,0,0,1486,1487,7,4,0,0,1487,1488,7,6,0,0,1488,1489,7,9,0,0,1489,1490,7,4,0,0,1490,194,1,0,0,0,1491,1492,7,4,0,0,1492,1493,7,10,0,0,1493,1494,7,0,0,0,1494,1495,7,18,0,0,1495,1496,7,6,0,0,1496,1497,7,4,0,0,1497,196,1,0,0,0,1498,1499,7,4,0,0,1499,1500,7,10,0,0,1500,1501,7,1,0,0,1501,198,1,0,0,0,1502,1503,7,4,0,0,1503,1504,7,9,0,0,1504,1505,7,15,0,0,1505,1506,7,0,0,0,1506,1507,7,22,0,0,1507,1508,7,4,0,0,1508,200,1,0,0,0,1509,1510,7,4,0,0,1510,1511,7,9,0,0,1511,1512,7,15,0,0,1512,1513,7,0,0,0,1513,1514,7,22,0,0,1514,1515,7,4,0,0,1515,1516,7,1,0,0,1516,202,1,0,0,0,1517,1518,7,4,0,0,1518,1519,7,23,0,0,1519,1520,7,15,0,0,1520,1521,7,4,0,0,1521,1522,7,22,0,0,1522,1523,7,3,0,0,1523,204,1,0,0,0,1524,1525,7,4,0,0,1525,1526,7,23,0,0,1526,1527,7,15,0,0,1527,1528,7,16,0,0,1528,1529,7,0,0,0,1529,1530,7,10,0,0,1530,1531,7,19,0,0,1531,1532,7,4,0,0,1532,206,1,0,0,0,1533,1534,7,4,0,0,1534,1535,7,23,0,0,1535,1536,7,15,0,0,1536,1537,7,6,0,0,1537,1538,7,14,0,0,1538,1539,7,1,0,0,1539,1540,7,4,0,0,1540,208,1,0,0,0,1541,1542,7,4,0,0,1542,1543,7,23,0,0,1543,1544,7,12,0,0,1544,1545,7,9,0,0,1545,1546,7,3,0,0,1546,1547,7,9,0,0,1547,210,1,0,0,0,1548,1549,7,4,0,0,1549,1550,7,23,0,0,1550,1551,7,22,0,0,1551,1552,7,6,0,0,1552,1553,7,0,0,0,1553,1554,7,12,0,0,1554,1555,7,10,0,0,1555,212,1,0,0,0,1556,1557,7,4,0,0,1557,1558,7,23,0,0,1558,1559,7,22,0,0,1559,1560,7,17,0,0,1560,1561,7,5,0,0,1561,1562,7,3,0,0,1562,214,1,0,0,0,1563,1564,7,4,0,0,1564,1565,7,23,0,0,1565,1566,7,3,0,0,1566,1567,7,4,0,0,1567,1568,7,10,0,0,1568,1569,7,1,0,0,1569,1570,7,4,0,0,1570,1571,7,1,0,0,1571,216,1,0,0,0,1572,1573,7,4,0,0,1573,1574,7,23,0,0,1574,1575,7,3,0,0,1575,1576,7,4,0,0,1576,1577,7,5,0,0,1577,1578,7,10,0,0,1578,1579,7,0,0,0,1579,1580,7,6,0,0,1580,218,1,0,0,0,1581,1582,7,4,0,0,1582,1583,7,23,0,0,1583,1584,7,3,0,0,1584,1585,7,5,0,0,1585,1586,7,0,0,0,1586,1587,7,15,0,0,1587,1588,7,3,0,0,1588,220,1,0,0,0,1589,1590,7,2,0,0,1590,1591,7,0,0,0,1591,1592,7,6,0,0,1592,1593,7,9,0,0,1593,1594,7,4,0,0,1594,222,1,0,0,0,1595,1596,7,2,0,0,1596,1597,7,4,0,0,1597,1598,7,3,0,0,1598,1599,7,15,0,0,1599,1600,7,16,0,0,1600,224,1,0,0,0,1601,1602,7,2,0,0,1602,1603,7,12,0,0,1603,1604,7,4,0,0,1604,1605,7,6,0,0,1605,1606,7,1,0,0,1606,1607,7,9,0,0,1607,226,1,0,0,0,1608,1609,7,2,0,0,1609,1610,7,12,0,0,1610,1611,7,6,0,0,1611,1612,7,3,0,0,1612,1613,7,4,0,0,1613,1614,7,5,0,0,1614,228,1,0,0,0,1615,1616,7,2,0,0,1616,1617,7,12,0,0,1617,1618,7,6,0,0,1618,1619,7,4,0,0,1619,1620,7,2,0,0,1620,1621,7,17,0,0,1621,1622,7,5,0,0,1622,1623,7,21,0,0,1623,1624,7,0,0,0,1624,1625,7,3,0,0,1625,230,1,0,0,0,1626,1627,7,2,0,0,1627,1628,7,12,0,0,1628,1629,7,5,0,0,1629,1630,7,9,0,0,1630,1631,7,3,0,0,1631,232,1,0,0,0,1632,1633,7,2,0,0,1633,1634,7,6,0,0,1634,1635,7,17,0,0,1635,1636,7,0,0,0,1636,1637,7,3,0,0,1637,234,1,0,0,0,1638,1639,7,2,0,0,1639,1640,7,17,0,0,1640,1641,7,6,0,0,1641,1642,7,6,0,0,1642,1643,7,17,0,0,1643,1644,7,7,0,0,1644,1645,7,12,0,0,1645,1646,7,10,0,0,1646,1647,7,19,0,0,1647,236,1,0,0,0,1648,1649,7,2,0,0,1649,1650,7,17,0,0,1650,1651,7,5,0,0,1651,238,1,0,0,0,1652,1653,7,2,0,0,1653,1654,7,17,0,0,1654,1655,7,5,0,0,1655,1656,7,4,0,0,1656,1657,7,12,0,0,1657,1658,7,19,0,0,1658,1659,7,10,0,0,1659,240,1,0,0,0,1660,1661,7,2,0,0,1661,1662,7,17,0,0,1662,1663,7,5,0,0,1663,1664,7,21,0,0,1664,1665,7,0,0,0,1665,1666,7,3,0,0,1666,242,1,0,0,0,1667,1668,7,2,0,0,1668,1669,7,17,0,0,1669,1670,7,5,0,0,1670,1671,7,21,0,0,1671,1672,7,0,0,0,1672,1673,7,3,0,0,1673,1674,7,3,0,0,1674,1675,7,4,0,0,1675,1676,7,1,0,0,1676,244,1,0,0,0,1677,1678,7,2,0,0,1678,1679,7,5,0,0,1679,1680,7,17,0,0,1680,1681,7,21,0,0,1681,246,1,0,0,0,1682,1683,7,2,0,0,1683,1684,7,14,0,0,1684,1685,7,6,0,0,1685,1686,7,6,0,0,1686,248,1,0,0,0,1687,1688,7,2,0,0,1688,1689,7,14,0,0,1689,1690,7,10,0,0,1690,1691,7,15,0,0,1691,1692,7,3,0,0,1692,1693,7,12,0,0,1693,1694,7,17,0,0,1694,1695,7,10,0,0,1695,250,1,0,0,0,1696,1697,7,2,0,0,1697,1698,7,14,0,0,1698,1699,7,10,0,0,1699,1700,7,15,0,0,1700,1701,7,3,0,0,1701,1702,7,12,0,0,1702,1703,7,17,0,0,1703,1704,7,10,0,0,1704,1705,7,9,0,0,1705,252,1,0,0,0,1706,1707,7,19,0,0,1707,1708,7,4,0,0,1708,1709,7,10,0,0,1709,1710,7,4,0,0,1710,1711,7,5,0,0,1711,1712,7,0,0,0,1712,1713,7,3,0,0,1713,1714,7,4,0,0,1714,1715,7,1,0,0,1715,254,1,0,0,0,1716,1717,7,19,0,0,1717,1718,7,6,0,0,1718,1719,7,17,0,0,1719,1720,7,18,0,0,1720,1721,7,0,0,0,1721,1722,7,6,0,0,1722,256,1,0,0,0,1723,1724,7,19,0,0,1724,1725,7,5,0,0,1725,1726,7,0,0,0,1726,1727,7,10,0,0,1727,1728,7,3,0,0,1728,258,1,0,0,0,1729,1730,7,19,0,0,1730,1731,7,5,0,0,1731,1732,7,17,0,0,1732,1733,7,14,0,0,1733,1734,7,22,0,0,1734,260,1,0,0,0,1735,1736,7,19,0,0,1736,1737,7,5,0,0,1737,1738,7,17,0,0,1738,1739,7,14,0,0,1739,1740,7,22,0,0,1740,1741,7,12,0,0,1741,1742,7,10,0,0,1742,1743,7,19,0,0,1743,262,1,0,0,0,1744,1745,7,16,0,0,1745,1746,7,0,0,0,1746,1747,7,13,0,0,1747,1748,7,12,0,0,1748,1749,7,10,0,0,1749,1750,7,19,0,0,1750,264,1,0,0,0,1751,1752,7,23,0,0,1752,266,1,0,0,0,1753,1754,7,16,0,0,1754,1755,7,17,0,0,1755,1756,7,14,0,0,1756,1757,7,5,0,0,1757,268,1,0,0,0,1758,1759,7,16,0,0,1759,1760,7,17,0,0,1760,1761,7,14,0,0,1761,1762,7,5,0,0,1762,1763,7,9,0,0,1763,270,1,0,0,0,1764,1765,7,12,0,0,1765,1766,7,1,0,0,1766,1767,7,4,0,0,1767,1768,7,10,0,0,1768,1769,7,3,0,0,1769,1770,7,12,0,0,1770,1771,7,2,0,0,1771,1772,7,12,0,0,1772,1773,7,4,0,0,1773,1774,7,5,0,0,1774,272,1,0,0,0,1775,1776,7,12,0,0,1776,1777,7,2,0,0,1777,274,1,0,0,0,1778,1779,7,12,0,0,1779,1780,7,19,0,0,1780,1781,7,10,0,0,1781,1782,7,17,0,0,1782,1783,7,5,0,0,1783,1784,7,4,0,0,1784,276,1,0,0,0,1785,1786,7,12,0,0,1786,1787,7,21,0,0,1787,1788,7,22,0,0,1788,1789,7,17,0,0,1789,1790,7,5,0,0,1790,1791,7,3,0,0,1791,278,1,0,0,0,1792,1793,7,12,0,0,1793,1794,7,10,0,0,1794,280,1,0,0,0,1795,1796,7,12,0,0,1796,1797,7,10,0,0,1797,1798,7,15,0,0,1798,1799,7,6,0,0,1799,1800,7,14,0,0,1800,1801,7,1,0,0,1801,1802,7,4,0,0,1802,282,1,0,0,0,1803,1804,7,12,0,0,1804,1805,7,10,0,0,1805,1806,7,1,0,0,1806,1807,7,4,0,0,1807,1808,7,23,0,0,1808,284,1,0,0,0,1809,1810,7,12,0,0,1810,1811,7,10,0,0,1811,1812,7,1,0,0,1812,1813,7,4,0,0,1813,1814,7,23,0,0,1814,1815,7,4,0,0,1815,1816,7,9,0,0,1816,286,1,0,0,0,1817,1818,7,12,0,0,1818,1819,7,10,0,0,1819,1820,7,10,0,0,1820,1821,7,4,0,0,1821,1822,7,5,0,0,1822,288,1,0,0,0,1823,1824,7,12,0,0,1824,1825,7,10,0,0,1825,1826,7,22,0,0,1826,1827,7,0,0,0,1827,1828,7,3,0,0,1828,1829,7,16,0,0,1829,290,1,0,0,0,1830,1831,7,12,0,0,1831,1832,7,10,0,0,1832,1833,7,22,0,0,1833,1834,7,14,0,0,1834,1835,7,3,0,0,1835,1836,7,2,0,0,1836,1837,7,17,0,0,1837,1838,7,5,0,0,1838,1839,7,21,0,0,1839,1840,7,0,0,0,1840,1841,7,3,0,0,1841,292,1,0,0,0,1842,1843,7,12,0,0,1843,1844,7,10,0,0,1844,1845,7,9,0,0,1845,1846,7,4,0,0,1846,1847,7,5,0,0,1847,1848,7,3,0,0,1848,294,1,0,0,0,1849,1850,7,12,0,0,1850,1851,7,10,0,0,1851,1852,7,3,0,0,1852,1853,7,4,0,0,1853,1854,7,5,0,0,1854,1855,7,9,0,0,1855,1856,7,4,0,0,1856,1857,7,15,0,0,1857,1858,7,3,0,0,1858,296,1,0,0,0,1859,1860,7,12,0,0,1860,1861,7,10,0,0,1861,1862,7,3,0,0,1862,1863,7,4,0,0,1863,1864,7,5,0,0,1864,1865,7,13,0,0,1865,1866,7,0,0,0,1866,1867,7,6,0,0,1867,298,1,0,0,0,1868,1869,7,12,0,0,1869,1870,7,10,0,0,1870,1871,7,3,0,0,1871,300,1,0,0,0,1872,1873,7,12,0,0,1873,1874,7,10,0,0,1874,1875,7,3,0,0,1875,1876,7,4,0,0,1876,1877,7,19,0,0,1877,1878,7,4,0,0,1878,1879,7,5,0,0,1879,302,1,0,0,0,1880,1881,7,12,0,0,1881,1882,7,10,0,0,1882,1883,7,3,0,0,1883,1884,7,17,0,0,1884,304,1,0,0,0,1885,1886,7,12,0,0,1886,1887,7,9,0,0,1887,306,1,0,0,0,1888,1889,7,12,0,0,1889,1890,7,3,0,0,1890,1891,7,4,0,0,1891,1892,7,21,0,0,1892,1893,7,9,0,0,1893,308,1,0,0,0,1894,1895,7,24,0,0,1895,1896,7,17,0,0,1896,1897,7,12,0,0,1897,1898,7,10,0,0,1898,310,1,0,0,0,1899,1900,7,20,0,0,1900,1901,7,4,0,0,1901,1902,7,8,0,0,1902,1903,7,9,0,0,1903,312,1,0,0,0,1904,1905,7,6,0,0,1905,1906,7,0,0,0,1906,1907,7,9,0,0,1907,1908,7,3,0,0,1908,314,1,0,0,0,1909,1910,7,6,0,0,1910,1911,7,0,0,0,1911,1912,7,3,0,0,1912,1913,7,4,0,0,1913,1914,7,5,0,0,1914,1915,7,0,0,0,1915,1916,7,6,0,0,1916,316,1,0,0,0,1917,1918,7,6,0,0,1918,1919,7,0,0,0,1919,1920,7,11,0,0,1920,1921,7,8,0,0,1921,318,1,0,0,0,1922,1923,7,6,0,0,1923,1924,7,4,0,0,1924,1925,7,0,0,0,1925,1926,7,1,0,0,1926,1927,7,12,0,0,1927,1928,7,10,0,0,1928,1929,7,19,0,0,1929,320,1,0,0,0,1930,1931,7,6,0,0,1931,1932,7,4,0,0,1932,1933,7,2,0,0,1933,1934,7,3,0,0,1934,322,1,0,0,0,1935,1936,7,6,0,0,1936,1937,7,12,0,0,1937,1938,7,2,0,0,1938,1939,7,4,0,0,1939,1940,7,15,0,0,1940,1941,7,8,0,0,1941,1942,7,15,0,0,1942,1943,7,6,0,0,1943,1944,7,4,0,0,1944,324,1,0,0,0,1945,1946,7,6,0,0,1946,1947,7,12,0,0,1947,1948,7,20,0,0,1948,1949,7,4,0,0,1949,326,1,0,0,0,1950,1951,7,12,0,0,1951,1952,7,6,0,0,1952,1953,7,12,0,0,1953,1954,7,20,0,0,1954,1955,7,4,0,0,1955,328,1,0,0,0,1956,1957,7,6,0,0,1957,1958,7,12,0,0,1958,1959,7,21,0,0,1959,1960,7,12,0,0,1960,1961,7,3,0,0,1961,330,1,0,0,0,1962,1963,7,6,0,0,1963,1964,7,12,0,0,1964,1965,7,10,0,0,1965,1966,7,4,0,0,1966,1967,7,9,0,0,1967,332,1,0,0,0,1968,1969,7,6,0,0,1969,1970,7,12,0,0,1970,1971,7,9,0,0,1971,1972,7,3,0,0,1972,334,1,0,0,0,1973,1974,7,6,0,0,1974,1975,7,17,0,0,1975,1976,7,0,0,0,1976,1977,7,1,0,0,1977,336,1,0,0,0,1978,1979,7,6,0,0,1979,1980,7,17,0,0,1980,1981,7,15,0,0,1981,1982,7,0,0,0,1982,1983,7,6,0,0,1983,338,1,0,0,0,1984,1985,7,6,0,0,1985,1986,7,17,0,0,1986,1987,7,15,0,0,1987,1988,7,0,0,0,1988,1989,7,3,0,0,1989,1990,7,12,0,0,1990,1991,7,17,0,0,1991,1992,7,10,0,0,1992,340,1,0,0,0,1993,1994,7,6,0,0,1994,1995,7,17,0,0,1995,1996,7,15,0,0,1996,1997,7,20,0,0,1997,342,1,0,0,0,1998,1999,7,6,0,0,1999,2e3,7,17,0,0,2e3,2001,7,15,0,0,2001,2002,7,20,0,0,2002,2003,7,9,0,0,2003,344,1,0,0,0,2004,2005,7,6,0,0,2005,2006,7,17,0,0,2006,2007,7,19,0,0,2007,2008,7,12,0,0,2008,2009,7,15,0,0,2009,2010,7,0,0,0,2010,2011,7,6,0,0,2011,346,1,0,0,0,2012,2013,7,6,0,0,2013,2014,7,17,0,0,2014,2015,7,10,0,0,2015,2016,7,19,0,0,2016,348,1,0,0,0,2017,2018,7,21,0,0,2018,2019,7,0,0,0,2019,2020,7,15,0,0,2020,2021,7,5,0,0,2021,2022,7,17,0,0,2022,350,1,0,0,0,2023,2024,7,21,0,0,2024,2025,7,0,0,0,2025,2026,7,3,0,0,2026,2027,7,4,0,0,2027,2028,7,5,0,0,2028,2029,7,12,0,0,2029,2030,7,0,0,0,2030,2031,7,6,0,0,2031,2032,7,12,0,0,2032,2033,7,11,0,0,2033,2034,7,4,0,0,2034,2035,7,1,0,0,2035,352,1,0,0,0,2036,2037,7,21,0,0,2037,2038,7,0,0,0,2038,2039,7,22,0,0,2039,354,1,0,0,0,2040,2041,7,21,0,0,2041,2042,7,0,0,0,2042,2043,7,3,0,0,2043,2044,7,15,0,0,2044,2045,7,16,0,0,2045,2046,7,4,0,0,2046,2047,7,1,0,0,2047,356,1,0,0,0,2048,2049,7,21,0,0,2049,2050,7,4,0,0,2050,2051,7,5,0,0,2051,2052,7,19,0,0,2052,2053,7,4,0,0,2053,358,1,0,0,0,2054,2055,7,21,0,0,2055,2056,7,12,0,0,2056,2057,7,15,0,0,2057,2058,7,5,0,0,2058,2059,7,17,0,0,2059,2060,7,9,0,0,2060,2061,7,4,0,0,2061,2062,7,15,0,0,2062,2063,7,17,0,0,2063,2064,7,10,0,0,2064,2065,7,1,0,0,2065,360,1,0,0,0,2066,2067,7,21,0,0,2067,2068,7,12,0,0,2068,2069,7,15,0,0,2069,2070,7,5,0,0,2070,2071,7,17,0,0,2071,2072,7,9,0,0,2072,2073,7,4,0,0,2073,2074,7,15,0,0,2074,2075,7,17,0,0,2075,2076,7,10,0,0,2076,2077,7,1,0,0,2077,2078,7,9,0,0,2078,362,1,0,0,0,2079,2080,7,21,0,0,2080,2081,7,12,0,0,2081,2082,7,6,0,0,2082,2083,7,6,0,0,2083,2084,7,12,0,0,2084,2085,7,9,0,0,2085,2086,7,4,0,0,2086,2087,7,15,0,0,2087,2088,7,17,0,0,2088,2089,7,10,0,0,2089,2090,7,1,0,0,2090,364,1,0,0,0,2091,2092,7,21,0,0,2092,2093,7,12,0,0,2093,2094,7,6,0,0,2094,2095,7,6,0,0,2095,2096,7,12,0,0,2096,2097,7,9,0,0,2097,2098,7,4,0,0,2098,2099,7,15,0,0,2099,2100,7,17,0,0,2100,2101,7,10,0,0,2101,2102,7,1,0,0,2102,2103,7,9,0,0,2103,366,1,0,0,0,2104,2105,7,21,0,0,2105,2106,7,12,0,0,2106,2107,7,10,0,0,2107,2108,7,14,0,0,2108,2109,7,3,0,0,2109,2110,7,4,0,0,2110,368,1,0,0,0,2111,2112,7,21,0,0,2112,2113,7,12,0,0,2113,2114,7,10,0,0,2114,2115,7,14,0,0,2115,2116,7,3,0,0,2116,2117,7,4,0,0,2117,2118,7,9,0,0,2118,370,1,0,0,0,2119,2120,7,21,0,0,2120,2121,7,17,0,0,2121,2122,7,10,0,0,2122,2123,7,3,0,0,2123,2124,7,16,0,0,2124,372,1,0,0,0,2125,2126,7,21,0,0,2126,2127,7,17,0,0,2127,2128,7,10,0,0,2128,2129,7,3,0,0,2129,2130,7,16,0,0,2130,2131,7,9,0,0,2131,374,1,0,0,0,2132,2133,7,21,0,0,2133,2134,7,9,0,0,2134,2135,7,15,0,0,2135,2136,7,20,0,0,2136,376,1,0,0,0,2137,2138,7,10,0,0,2138,2139,7,0,0,0,2139,2140,7,21,0,0,2140,2141,7,4,0,0,2141,378,1,0,0,0,2142,2143,7,10,0,0,2143,2144,7,0,0,0,2144,2145,7,21,0,0,2145,2146,7,4,0,0,2146,2147,7,9,0,0,2147,2148,7,22,0,0,2148,2149,7,0,0,0,2149,2150,7,15,0,0,2150,2151,7,4,0,0,2151,380,1,0,0,0,2152,2153,7,10,0,0,2153,2154,7,0,0,0,2154,2155,7,21,0,0,2155,2156,7,4,0,0,2156,2157,7,9,0,0,2157,2158,7,22,0,0,2158,2159,7,0,0,0,2159,2160,7,15,0,0,2160,2161,7,4,0,0,2161,2162,7,9,0,0,2162,382,1,0,0,0,2163,2164,7,10,0,0,2164,2165,7,0,0,0,2165,2166,7,10,0,0,2166,2167,7,17,0,0,2167,2168,7,9,0,0,2168,2169,7,4,0,0,2169,2170,7,15,0,0,2170,2171,7,17,0,0,2171,2172,7,10,0,0,2172,2173,7,1,0,0,2173,384,1,0,0,0,2174,2175,7,10,0,0,2175,2176,7,0,0,0,2176,2177,7,10,0,0,2177,2178,7,17,0,0,2178,2179,7,9,0,0,2179,2180,7,4,0,0,2180,2181,7,15,0,0,2181,2182,7,17,0,0,2182,2183,7,10,0,0,2183,2184,7,1,0,0,2184,2185,7,9,0,0,2185,386,1,0,0,0,2186,2187,7,10,0,0,2187,2188,7,0,0,0,2188,2189,7,3,0,0,2189,2190,7,14,0,0,2190,2191,7,5,0,0,2191,2192,7,0,0,0,2192,2193,7,6,0,0,2193,388,1,0,0,0,2194,2195,7,10,0,0,2195,2196,7,17,0,0,2196,390,1,0,0,0,2197,2198,7,10,0,0,2198,2199,7,17,0,0,2199,2200,7,9,0,0,2200,2201,7,15,0,0,2201,2202,7,0,0,0,2202,2203,7,10,0,0,2203,392,1,0,0,0,2204,2205,7,10,0,0,2205,2206,7,17,0,0,2206,2207,7,3,0,0,2207,394,1,0,0,0,2208,2209,7,10,0,0,2209,2210,7,14,0,0,2210,2211,7,6,0,0,2211,2212,7,6,0,0,2212,396,1,0,0,0,2213,2214,7,10,0,0,2214,2215,7,14,0,0,2215,2216,7,6,0,0,2216,2217,7,6,0,0,2217,2218,7,9,0,0,2218,398,1,0,0,0,2219,2220,7,10,0,0,2220,2221,7,14,0,0,2221,2222,7,21,0,0,2222,2223,7,4,0,0,2223,2224,7,5,0,0,2224,2225,7,12,0,0,2225,2226,7,15,0,0,2226,400,1,0,0,0,2227,2228,7,17,0,0,2228,2229,7,2,0,0,2229,402,1,0,0,0,2230,2231,7,17,0,0,2231,2232,7,2,0,0,2232,2233,7,2,0,0,2233,2234,7,9,0,0,2234,2235,7,4,0,0,2235,2236,7,3,0,0,2236,404,1,0,0,0,2237,2238,7,17,0,0,2238,2239,7,10,0,0,2239,406,1,0,0,0,2240,2241,7,17,0,0,2241,2242,7,10,0,0,2242,2243,7,6,0,0,2243,2244,7,8,0,0,2244,408,1,0,0,0,2245,2246,7,17,0,0,2246,2247,7,22,0,0,2247,2248,7,3,0,0,2248,2249,7,12,0,0,2249,2250,7,21,0,0,2250,2251,7,12,0,0,2251,2252,7,11,0,0,2252,2253,7,4,0,0,2253,410,1,0,0,0,2254,2255,7,17,0,0,2255,2256,7,22,0,0,2256,2257,7,3,0,0,2257,2258,7,12,0,0,2258,2259,7,17,0,0,2259,2260,7,10,0,0,2260,412,1,0,0,0,2261,2262,7,17,0,0,2262,2263,7,22,0,0,2263,2264,7,3,0,0,2264,2265,7,12,0,0,2265,2266,7,17,0,0,2266,2267,7,10,0,0,2267,2268,7,9,0,0,2268,414,1,0,0,0,2269,2270,7,17,0,0,2270,2271,7,5,0,0,2271,416,1,0,0,0,2272,2273,7,17,0,0,2273,2274,7,5,0,0,2274,2275,7,1,0,0,2275,2276,7,4,0,0,2276,2277,7,5,0,0,2277,418,1,0,0,0,2278,2279,7,17,0,0,2279,2280,7,14,0,0,2280,2281,7,3,0,0,2281,420,1,0,0,0,2282,2283,7,17,0,0,2283,2284,7,14,0,0,2284,2285,7,3,0,0,2285,2286,7,4,0,0,2286,2287,7,5,0,0,2287,422,1,0,0,0,2288,2289,7,17,0,0,2289,2290,7,14,0,0,2290,2291,7,3,0,0,2291,2292,7,22,0,0,2292,2293,7,14,0,0,2293,2294,7,3,0,0,2294,2295,7,2,0,0,2295,2296,7,17,0,0,2296,2297,7,5,0,0,2297,2298,7,21,0,0,2298,2299,7,0,0,0,2299,2300,7,3,0,0,2300,424,1,0,0,0,2301,2302,7,17,0,0,2302,2303,7,13,0,0,2303,2304,7,4,0,0,2304,2305,7,5,0,0,2305,426,1,0,0,0,2306,2307,7,17,0,0,2307,2308,7,13,0,0,2308,2309,7,4,0,0,2309,2310,7,5,0,0,2310,2311,7,6,0,0,2311,2312,7,0,0,0,2312,2313,7,22,0,0,2313,2314,7,9,0,0,2314,428,1,0,0,0,2315,2316,7,17,0,0,2316,2317,7,13,0,0,2317,2318,7,4,0,0,2318,2319,7,5,0,0,2319,2320,7,6,0,0,2320,2321,7,0,0,0,2321,2322,7,8,0,0,2322,430,1,0,0,0,2323,2324,7,17,0,0,2324,2325,7,13,0,0,2325,2326,7,4,0,0,2326,2327,7,5,0,0,2327,2328,7,7,0,0,2328,2329,7,5,0,0,2329,2330,7,12,0,0,2330,2331,7,3,0,0,2331,2332,7,4,0,0,2332,432,1,0,0,0,2333,2334,7,22,0,0,2334,2335,7,0,0,0,2335,2336,7,5,0,0,2336,2337,7,3,0,0,2337,2338,7,12,0,0,2338,2339,7,3,0,0,2339,2340,7,12,0,0,2340,2341,7,17,0,0,2341,2342,7,10,0,0,2342,434,1,0,0,0,2343,2344,7,22,0,0,2344,2345,7,0,0,0,2345,2346,7,5,0,0,2346,2347,7,3,0,0,2347,2348,7,12,0,0,2348,2349,7,3,0,0,2349,2350,7,12,0,0,2350,2351,7,17,0,0,2351,2352,7,10,0,0,2352,2353,7,4,0,0,2353,2354,7,1,0,0,2354,436,1,0,0,0,2355,2356,7,22,0,0,2356,2357,7,0,0,0,2357,2358,7,5,0,0,2358,2359,7,3,0,0,2359,2360,7,12,0,0,2360,2361,7,3,0,0,2361,2362,7,12,0,0,2362,2363,7,17,0,0,2363,2364,7,10,0,0,2364,2365,7,9,0,0,2365,438,1,0,0,0,2366,2367,7,22,0,0,2367,2368,7,4,0,0,2368,2369,7,5,0,0,2369,2370,7,15,0,0,2370,2371,7,4,0,0,2371,2372,7,10,0,0,2372,2373,7,3,0,0,2373,2374,7,12,0,0,2374,2375,7,6,0,0,2375,2376,7,4,0,0,2376,2377,5,95,0,0,2377,2378,7,15,0,0,2378,2379,7,17,0,0,2379,2380,7,10,0,0,2380,2381,7,3,0,0,2381,440,1,0,0,0,2382,2383,7,22,0,0,2383,2384,7,4,0,0,2384,2385,7,5,0,0,2385,2386,7,15,0,0,2386,2387,7,4,0,0,2387,2388,7,10,0,0,2388,2389,7,3,0,0,2389,2390,7,12,0,0,2390,2391,7,6,0,0,2391,2392,7,4,0,0,2392,2393,5,95,0,0,2393,2394,7,1,0,0,2394,2395,7,12,0,0,2395,2396,7,9,0,0,2396,2397,7,15,0,0,2397,442,1,0,0,0,2398,2399,7,22,0,0,2399,2400,7,4,0,0,2400,2401,7,5,0,0,2401,2402,7,15,0,0,2402,2403,7,4,0,0,2403,2404,7,10,0,0,2404,2405,7,3,0,0,2405,444,1,0,0,0,2406,2407,7,22,0,0,2407,2408,7,12,0,0,2408,2409,7,13,0,0,2409,2410,7,17,0,0,2410,2411,7,3,0,0,2411,446,1,0,0,0,2412,2413,7,22,0,0,2413,2414,7,6,0,0,2414,2415,7,0,0,0,2415,2416,7,15,0,0,2416,2417,7,12,0,0,2417,2418,7,10,0,0,2418,2419,7,19,0,0,2419,448,1,0,0,0,2420,2421,7,22,0,0,2421,2422,7,17,0,0,2422,2423,7,9,0,0,2423,2424,7,12,0,0,2424,2425,7,3,0,0,2425,2426,7,12,0,0,2426,2427,7,17,0,0,2427,2428,7,10,0,0,2428,450,1,0,0,0,2429,2430,7,22,0,0,2430,2431,7,5,0,0,2431,2432,7,4,0,0,2432,2433,7,15,0,0,2433,2434,7,4,0,0,2434,2435,7,1,0,0,2435,2436,7,12,0,0,2436,2437,7,10,0,0,2437,2438,7,19,0,0,2438,452,1,0,0,0,2439,2440,7,22,0,0,2440,2441,7,5,0,0,2441,2442,7,12,0,0,2442,2443,7,21,0,0,2443,2444,7,0,0,0,2444,2445,7,5,0,0,2445,2446,7,8,0,0,2446,454,1,0,0,0,2447,2448,7,22,0,0,2448,2449,7,5,0,0,2449,2450,7,12,0,0,2450,2451,7,10,0,0,2451,2452,7,15,0,0,2452,2453,7,12,0,0,2453,2454,7,22,0,0,2454,2455,7,0,0,0,2455,2456,7,6,0,0,2456,2457,7,9,0,0,2457,456,1,0,0,0,2458,2459,7,22,0,0,2459,2460,7,5,0,0,2460,2461,7,17,0,0,2461,2462,7,22,0,0,2462,2463,7,4,0,0,2463,2464,7,5,0,0,2464,2465,7,3,0,0,2465,2466,7,12,0,0,2466,2467,7,4,0,0,2467,2468,7,9,0,0,2468,458,1,0,0,0,2469,2470,7,22,0,0,2470,2471,7,14,0,0,2471,2472,7,5,0,0,2472,2473,7,19,0,0,2473,2474,7,4,0,0,2474,460,1,0,0,0,2475,2476,7,25,0,0,2476,2477,7,14,0,0,2477,2478,7,0,0,0,2478,2479,7,5,0,0,2479,2480,7,3,0,0,2480,2481,7,4,0,0,2481,2482,7,5,0,0,2482,462,1,0,0,0,2483,2484,7,25,0,0,2484,2485,7,14,0,0,2485,2486,7,4,0,0,2486,2487,7,5,0,0,2487,2488,7,8,0,0,2488,464,1,0,0,0,2489,2490,7,5,0,0,2490,2491,7,0,0,0,2491,2492,7,10,0,0,2492,2493,7,19,0,0,2493,2494,7,4,0,0,2494,466,1,0,0,0,2495,2496,7,5,0,0,2496,2497,7,4,0,0,2497,2498,7,0,0,0,2498,2499,7,6,0,0,2499,468,1,0,0,0,2500,2501,7,5,0,0,2501,2502,7,4,0,0,2502,2503,7,15,0,0,2503,2504,7,17,0,0,2504,2505,7,5,0,0,2505,2506,7,1,0,0,2506,2507,7,5,0,0,2507,2508,7,4,0,0,2508,2509,7,0,0,0,2509,2510,7,1,0,0,2510,2511,7,4,0,0,2511,2512,7,5,0,0,2512,470,1,0,0,0,2513,2514,7,5,0,0,2514,2515,7,4,0,0,2515,2516,7,15,0,0,2516,2517,7,17,0,0,2517,2518,7,5,0,0,2518,2519,7,1,0,0,2519,2520,7,7,0,0,2520,2521,7,5,0,0,2521,2522,7,12,0,0,2522,2523,7,3,0,0,2523,2524,7,4,0,0,2524,2525,7,5,0,0,2525,472,1,0,0,0,2526,2527,7,5,0,0,2527,2528,7,4,0,0,2528,2529,7,15,0,0,2529,2530,7,17,0,0,2530,2531,7,13,0,0,2531,2532,7,4,0,0,2532,2533,7,5,0,0,2533,474,1,0,0,0,2534,2535,7,5,0,0,2535,2536,7,4,0,0,2536,2537,7,1,0,0,2537,2538,7,14,0,0,2538,2539,7,15,0,0,2539,2540,7,4,0,0,2540,476,1,0,0,0,2541,2542,7,5,0,0,2542,2543,7,4,0,0,2543,2544,7,2,0,0,2544,2545,7,4,0,0,2545,2546,7,5,0,0,2546,2547,7,4,0,0,2547,2548,7,10,0,0,2548,2549,7,15,0,0,2549,2550,7,4,0,0,2550,2551,7,9,0,0,2551,478,1,0,0,0,2552,2553,7,5,0,0,2553,2554,7,4,0,0,2554,2555,7,2,0,0,2555,2556,7,5,0,0,2556,2557,7,4,0,0,2557,2558,7,9,0,0,2558,2559,7,16,0,0,2559,480,1,0,0,0,2560,2561,7,5,0,0,2561,2562,7,4,0,0,2562,2563,7,10,0,0,2563,2564,7,0,0,0,2564,2565,7,21,0,0,2565,2566,7,4,0,0,2566,482,1,0,0,0,2567,2568,7,5,0,0,2568,2569,7,4,0,0,2569,2570,7,22,0,0,2570,2571,7,0,0,0,2571,2572,7,12,0,0,2572,2573,7,5,0,0,2573,484,1,0,0,0,2574,2575,7,5,0,0,2575,2576,7,4,0,0,2576,2577,7,22,0,0,2577,2578,7,4,0,0,2578,2579,7,0,0,0,2579,2580,7,3,0,0,2580,2581,7,0,0,0,2581,2582,7,18,0,0,2582,2583,7,6,0,0,2583,2584,7,4,0,0,2584,486,1,0,0,0,2585,2586,7,5,0,0,2586,2587,7,4,0,0,2587,2588,7,22,0,0,2588,2589,7,6,0,0,2589,2590,7,0,0,0,2590,2591,7,15,0,0,2591,2592,7,4,0,0,2592,488,1,0,0,0,2593,2594,7,5,0,0,2594,2595,7,4,0,0,2595,2596,7,9,0,0,2596,2597,7,4,0,0,2597,2598,7,3,0,0,2598,490,1,0,0,0,2599,2600,7,5,0,0,2600,2601,7,4,0,0,2601,2602,7,9,0,0,2602,2603,7,22,0,0,2603,2604,7,4,0,0,2604,2605,7,15,0,0,2605,2606,7,3,0,0,2606,492,1,0,0,0,2607,2608,7,5,0,0,2608,2609,7,4,0,0,2609,2610,7,9,0,0,2610,2611,7,3,0,0,2611,2612,7,5,0,0,2612,2613,7,12,0,0,2613,2614,7,15,0,0,2614,2615,7,3,0,0,2615,494,1,0,0,0,2616,2617,7,5,0,0,2617,2618,7,4,0,0,2618,2619,7,7,0,0,2619,2620,7,5,0,0,2620,2621,7,12,0,0,2621,2622,7,3,0,0,2622,2623,7,4,0,0,2623,496,1,0,0,0,2624,2625,7,5,0,0,2625,2626,7,4,0,0,2626,2627,7,13,0,0,2627,2628,7,17,0,0,2628,2629,7,20,0,0,2629,2630,7,4,0,0,2630,498,1,0,0,0,2631,2632,7,5,0,0,2632,2633,7,12,0,0,2633,2634,7,19,0,0,2634,2635,7,16,0,0,2635,2636,7,3,0,0,2636,500,1,0,0,0,2637,2638,7,5,0,0,2638,2639,7,6,0,0,2639,2640,7,12,0,0,2640,2641,7,20,0,0,2641,2642,7,4,0,0,2642,502,1,0,0,0,2643,2644,7,5,0,0,2644,2645,7,4,0,0,2645,2646,7,19,0,0,2646,2647,7,4,0,0,2647,2648,7,23,0,0,2648,2649,7,22,0,0,2649,504,1,0,0,0,2650,2651,7,5,0,0,2651,2652,7,17,0,0,2652,2653,7,6,0,0,2653,2654,7,4,0,0,2654,506,1,0,0,0,2655,2656,7,5,0,0,2656,2657,7,17,0,0,2657,2658,7,6,0,0,2658,2659,7,4,0,0,2659,2660,7,9,0,0,2660,508,1,0,0,0,2661,2662,7,5,0,0,2662,2663,7,17,0,0,2663,2664,7,6,0,0,2664,2665,7,6,0,0,2665,2666,7,18,0,0,2666,2667,7,0,0,0,2667,2668,7,15,0,0,2668,2669,7,20,0,0,2669,510,1,0,0,0,2670,2671,7,5,0,0,2671,2672,7,17,0,0,2672,2673,7,6,0,0,2673,2674,7,6,0,0,2674,2675,7,14,0,0,2675,2676,7,22,0,0,2676,512,1,0,0,0,2677,2678,7,5,0,0,2678,2679,7,17,0,0,2679,2680,7,7,0,0,2680,514,1,0,0,0,2681,2682,7,5,0,0,2682,2683,7,17,0,0,2683,2684,7,7,0,0,2684,2685,7,9,0,0,2685,516,1,0,0,0,2686,2687,7,9,0,0,2687,2688,7,4,0,0,2688,2689,7,15,0,0,2689,2690,7,17,0,0,2690,2691,7,10,0,0,2691,2692,7,1,0,0,2692,518,1,0,0,0,2693,2694,7,9,0,0,2694,2695,7,4,0,0,2695,2696,7,15,0,0,2696,2697,7,17,0,0,2697,2698,7,10,0,0,2698,2699,7,1,0,0,2699,2700,7,9,0,0,2700,520,1,0,0,0,2701,2702,7,9,0,0,2702,2703,7,15,0,0,2703,2704,7,16,0,0,2704,2705,7,4,0,0,2705,2706,7,21,0,0,2706,2707,7,0,0,0,2707,522,1,0,0,0,2708,2709,7,9,0,0,2709,2710,7,15,0,0,2710,2711,7,16,0,0,2711,2712,7,4,0,0,2712,2713,7,21,0,0,2713,2714,7,0,0,0,2714,2715,7,9,0,0,2715,524,1,0,0,0,2716,2717,7,9,0,0,2717,2718,7,4,0,0,2718,2719,7,6,0,0,2719,2720,7,4,0,0,2720,2721,7,15,0,0,2721,2722,7,3,0,0,2722,526,1,0,0,0,2723,2724,7,9,0,0,2724,2725,7,4,0,0,2725,2726,7,21,0,0,2726,2727,7,12,0,0,2727,528,1,0,0,0,2728,2729,7,9,0,0,2729,2730,7,4,0,0,2730,2731,7,22,0,0,2731,2732,7,0,0,0,2732,2733,7,5,0,0,2733,2734,7,0,0,0,2734,2735,7,3,0,0,2735,2736,7,4,0,0,2736,2737,7,1,0,0,2737,530,1,0,0,0,2738,2739,7,9,0,0,2739,2740,7,4,0,0,2740,2741,7,5,0,0,2741,2742,7,1,0,0,2742,2743,7,4,0,0,2743,532,1,0,0,0,2744,2745,7,9,0,0,2745,2746,7,4,0,0,2746,2747,7,5,0,0,2747,2748,7,1,0,0,2748,2749,7,4,0,0,2749,2750,7,22,0,0,2750,2751,7,5,0,0,2751,2752,7,17,0,0,2752,2753,7,22,0,0,2753,2754,7,4,0,0,2754,2755,7,5,0,0,2755,2756,7,3,0,0,2756,2757,7,12,0,0,2757,2758,7,4,0,0,2758,2759,7,9,0,0,2759,534,1,0,0,0,2760,2761,7,9,0,0,2761,2762,7,4,0,0,2762,2763,7,9,0,0,2763,2764,7,9,0,0,2764,2765,7,12,0,0,2765,2766,7,17,0,0,2766,2767,7,10,0,0,2767,2768,5,95,0,0,2768,2769,7,14,0,0,2769,2770,7,9,0,0,2770,2771,7,4,0,0,2771,2772,7,5,0,0,2772,536,1,0,0,0,2773,2774,7,9,0,0,2774,2775,7,4,0,0,2775,2776,7,3,0,0,2776,538,1,0,0,0,2777,2778,7,21,0,0,2778,2779,7,12,0,0,2779,2780,7,10,0,0,2780,2781,7,14,0,0,2781,2782,7,9,0,0,2782,540,1,0,0,0,2783,2784,7,9,0,0,2784,2785,7,4,0,0,2785,2786,7,3,0,0,2786,2787,7,9,0,0,2787,542,1,0,0,0,2788,2789,7,9,0,0,2789,2790,7,16,0,0,2790,2791,7,17,0,0,2791,2792,7,5,0,0,2792,2793,7,3,0,0,2793,544,1,0,0,0,2794,2795,7,9,0,0,2795,2796,7,16,0,0,2796,2797,7,17,0,0,2797,2798,7,7,0,0,2798,546,1,0,0,0,2799,2800,7,9,0,0,2800,2801,7,12,0,0,2801,2802,7,10,0,0,2802,2803,7,19,0,0,2803,2804,7,6,0,0,2804,2805,7,4,0,0,2805,548,1,0,0,0,2806,2807,7,9,0,0,2807,2808,7,20,0,0,2808,2809,7,4,0,0,2809,2810,7,7,0,0,2810,2811,7,4,0,0,2811,2812,7,1,0,0,2812,550,1,0,0,0,2813,2814,7,9,0,0,2814,2815,7,21,0,0,2815,2816,7,0,0,0,2816,2817,7,6,0,0,2817,2818,7,6,0,0,2818,2819,7,12,0,0,2819,2820,7,10,0,0,2820,2821,7,3,0,0,2821,552,1,0,0,0,2822,2823,7,9,0,0,2823,2824,7,17,0,0,2824,2825,7,21,0,0,2825,2826,7,4,0,0,2826,554,1,0,0,0,2827,2828,7,9,0,0,2828,2829,7,17,0,0,2829,2830,7,5,0,0,2830,2831,7,3,0,0,2831,556,1,0,0,0,2832,2833,7,9,0,0,2833,2834,7,17,0,0,2834,2835,7,5,0,0,2835,2836,7,3,0,0,2836,2837,7,4,0,0,2837,2838,7,1,0,0,2838,558,1,0,0,0,2839,2840,7,9,0,0,2840,2841,7,17,0,0,2841,2842,7,14,0,0,2842,2843,7,5,0,0,2843,2844,7,15,0,0,2844,2845,7,4,0,0,2845,560,1,0,0,0,2846,2847,7,9,0,0,2847,2848,7,3,0,0,2848,2849,7,0,0,0,2849,2850,7,5,0,0,2850,2851,7,3,0,0,2851,562,1,0,0,0,2852,2853,7,9,0,0,2853,2854,7,3,0,0,2854,2855,7,0,0,0,2855,2856,7,3,0,0,2856,2857,7,12,0,0,2857,2858,7,9,0,0,2858,2859,7,3,0,0,2859,2860,7,12,0,0,2860,2861,7,15,0,0,2861,2862,7,9,0,0,2862,564,1,0,0,0,2863,2864,7,9,0,0,2864,2865,7,3,0,0,2865,2866,7,17,0,0,2866,2867,7,5,0,0,2867,2868,7,4,0,0,2868,2869,7,1,0,0,2869,566,1,0,0,0,2870,2871,7,9,0,0,2871,2872,7,3,0,0,2872,2873,7,5,0,0,2873,2874,7,0,0,0,2874,2875,7,3,0,0,2875,2876,7,12,0,0,2876,2877,7,2,0,0,2877,2878,7,8,0,0,2878,568,1,0,0,0,2879,2880,7,9,0,0,2880,2881,7,3,0,0,2881,2882,7,5,0,0,2882,2883,7,12,0,0,2883,2884,7,10,0,0,2884,2885,7,19,0,0,2885,570,1,0,0,0,2886,2887,7,9,0,0,2887,2888,7,3,0,0,2888,2889,7,5,0,0,2889,2890,7,14,0,0,2890,2891,7,15,0,0,2891,2892,7,3,0,0,2892,572,1,0,0,0,2893,2894,7,9,0,0,2894,2895,7,14,0,0,2895,2896,7,18,0,0,2896,2897,7,9,0,0,2897,2898,7,3,0,0,2898,2899,7,5,0,0,2899,574,1,0,0,0,2900,2901,7,9,0,0,2901,2902,7,14,0,0,2902,2903,7,18,0,0,2903,2904,7,9,0,0,2904,2905,7,3,0,0,2905,2906,7,5,0,0,2906,2907,7,12,0,0,2907,2908,7,10,0,0,2908,2909,7,19,0,0,2909,576,1,0,0,0,2910,2911,7,9,0,0,2911,2912,7,8,0,0,2912,2913,7,10,0,0,2913,2914,7,15,0,0,2914,578,1,0,0,0,2915,2916,7,9,0,0,2916,2917,7,8,0,0,2917,2918,7,9,0,0,2918,2919,7,3,0,0,2919,2920,7,4,0,0,2920,2921,7,21,0,0,2921,580,1,0,0,0,2922,2923,7,9,0,0,2923,2924,7,8,0,0,2924,2925,7,9,0,0,2925,2926,7,3,0,0,2926,2927,7,4,0,0,2927,2928,7,21,0,0,2928,2929,5,95,0,0,2929,2930,7,3,0,0,2930,2931,7,12,0,0,2931,2932,7,21,0,0,2932,2933,7,4,0,0,2933,582,1,0,0,0,2934,2935,7,9,0,0,2935,2936,7,8,0,0,2936,2937,7,9,0,0,2937,2938,7,3,0,0,2938,2939,7,4,0,0,2939,2940,7,21,0,0,2940,2941,5,95,0,0,2941,2942,7,13,0,0,2942,2943,7,4,0,0,2943,2944,7,5,0,0,2944,2945,7,9,0,0,2945,2946,7,12,0,0,2946,2947,7,17,0,0,2947,2948,7,10,0,0,2948,584,1,0,0,0,2949,2950,7,3,0,0,2950,2951,7,0,0,0,2951,2952,7,18,0,0,2952,2953,7,6,0,0,2953,2954,7,4,0,0,2954,586,1,0,0,0,2955,2956,7,3,0,0,2956,2957,7,0,0,0,2957,2958,7,18,0,0,2958,2959,7,6,0,0,2959,2960,7,4,0,0,2960,2961,7,9,0,0,2961,588,1,0,0,0,2962,2963,7,3,0,0,2963,2964,7,0,0,0,2964,2965,7,18,0,0,2965,2966,7,6,0,0,2966,2967,7,4,0,0,2967,2968,7,9,0,0,2968,2969,7,0,0,0,2969,2970,7,21,0,0,2970,2971,7,22,0,0,2971,2972,7,6,0,0,2972,2973,7,4,0,0,2973,590,1,0,0,0,2974,2975,7,3,0,0,2975,2976,7,0,0,0,2976,2977,7,5,0,0,2977,2978,7,19,0,0,2978,2979,7,4,0,0,2979,2980,7,3,0,0,2980,592,1,0,0,0,2981,2982,7,3,0,0,2982,2983,7,18,0,0,2983,2984,7,6,0,0,2984,2985,7,22,0,0,2985,2986,7,5,0,0,2986,2987,7,17,0,0,2987,2988,7,22,0,0,2988,2989,7,4,0,0,2989,2990,7,5,0,0,2990,2991,7,3,0,0,2991,2992,7,12,0,0,2992,2993,7,4,0,0,2993,2994,7,9,0,0,2994,594,1,0,0,0,2995,2996,7,3,0,0,2996,2997,7,4,0,0,2997,2998,7,21,0,0,2998,2999,7,22,0,0,2999,3e3,7,17,0,0,3e3,3001,7,5,0,0,3001,3002,7,0,0,0,3002,3003,7,5,0,0,3003,3004,7,8,0,0,3004,596,1,0,0,0,3005,3006,7,3,0,0,3006,3007,7,4,0,0,3007,3008,7,5,0,0,3008,3009,7,21,0,0,3009,3010,7,12,0,0,3010,3011,7,10,0,0,3011,3012,7,0,0,0,3012,3013,7,3,0,0,3013,3014,7,4,0,0,3014,3015,7,1,0,0,3015,598,1,0,0,0,3016,3017,7,3,0,0,3017,3018,7,16,0,0,3018,3019,7,4,0,0,3019,3020,7,10,0,0,3020,600,1,0,0,0,3021,3022,7,3,0,0,3022,3023,7,12,0,0,3023,3024,7,21,0,0,3024,3025,7,4,0,0,3025,602,1,0,0,0,3026,3027,7,3,0,0,3027,3028,7,12,0,0,3028,3029,7,21,0,0,3029,3030,7,4,0,0,3030,3031,7,1,0,0,3031,3032,7,12,0,0,3032,3033,7,2,0,0,3033,3034,7,2,0,0,3034,604,1,0,0,0,3035,3036,7,3,0,0,3036,3037,7,12,0,0,3037,3038,7,21,0,0,3038,3039,7,4,0,0,3039,3040,7,9,0,0,3040,3041,7,3,0,0,3041,3042,7,0,0,0,3042,3043,7,21,0,0,3043,3044,7,22,0,0,3044,606,1,0,0,0,3045,3046,7,3,0,0,3046,3047,7,12,0,0,3047,3048,7,21,0,0,3048,3049,7,4,0,0,3049,3050,7,9,0,0,3050,3051,7,3,0,0,3051,3052,7,0,0,0,3052,3053,7,21,0,0,3053,3054,7,22,0,0,3054,3055,5,95,0,0,3055,3056,7,6,0,0,3056,3057,7,3,0,0,3057,3058,7,11,0,0,3058,608,1,0,0,0,3059,3060,7,3,0,0,3060,3061,7,12,0,0,3061,3062,7,21,0,0,3062,3063,7,4,0,0,3063,3064,7,9,0,0,3064,3065,7,3,0,0,3065,3066,7,0,0,0,3066,3067,7,21,0,0,3067,3068,7,22,0,0,3068,3069,5,95,0,0,3069,3070,7,10,0,0,3070,3071,7,3,0,0,3071,3072,7,11,0,0,3072,610,1,0,0,0,3073,3074,7,3,0,0,3074,3075,7,12,0,0,3075,3076,7,21,0,0,3076,3077,7,4,0,0,3077,3078,7,9,0,0,3078,3079,7,3,0,0,3079,3080,7,0,0,0,3080,3081,7,21,0,0,3081,3082,7,22,0,0,3082,3083,7,0,0,0,3083,3084,7,1,0,0,3084,3085,7,1,0,0,3085,612,1,0,0,0,3086,3087,7,3,0,0,3087,3088,7,12,0,0,3088,3089,7,21,0,0,3089,3090,7,4,0,0,3090,3091,7,9,0,0,3091,3092,7,3,0,0,3092,3093,7,0,0,0,3093,3094,7,21,0,0,3094,3095,7,22,0,0,3095,3096,7,1,0,0,3096,3097,7,12,0,0,3097,3098,7,2,0,0,3098,3099,7,2,0,0,3099,614,1,0,0,0,3100,3101,7,3,0,0,3101,3102,7,12,0,0,3102,3103,7,10,0,0,3103,3104,7,8,0,0,3104,3105,7,12,0,0,3105,3106,7,10,0,0,3106,3107,7,3,0,0,3107,616,1,0,0,0,3108,3109,7,3,0,0,3109,3110,7,17,0,0,3110,618,1,0,0,0,3111,3112,7,3,0,0,3112,3113,7,17,0,0,3113,3114,7,14,0,0,3114,3115,7,15,0,0,3115,3116,7,16,0,0,3116,620,1,0,0,0,3117,3118,7,3,0,0,3118,3119,7,5,0,0,3119,3120,7,0,0,0,3120,3121,7,12,0,0,3121,3122,7,6,0,0,3122,3123,7,12,0,0,3123,3124,7,10,0,0,3124,3125,7,19,0,0,3125,622,1,0,0,0,3126,3127,7,3,0,0,3127,3128,7,5,0,0,3128,3129,7,0,0,0,3129,3130,7,10,0,0,3130,3131,7,9,0,0,3131,3132,7,0,0,0,3132,3133,7,15,0,0,3133,3134,7,3,0,0,3134,3135,7,12,0,0,3135,3136,7,17,0,0,3136,3137,7,10,0,0,3137,624,1,0,0,0,3138,3139,7,3,0,0,3139,3140,7,5,0,0,3140,3141,7,0,0,0,3141,3142,7,10,0,0,3142,3143,7,9,0,0,3143,3144,7,0,0,0,3144,3145,7,15,0,0,3145,3146,7,3,0,0,3146,3147,7,12,0,0,3147,3148,7,17,0,0,3148,3149,7,10,0,0,3149,3150,7,9,0,0,3150,626,1,0,0,0,3151,3152,7,3,0,0,3152,3153,7,5,0,0,3153,3154,7,0,0,0,3154,3155,7,10,0,0,3155,3156,7,9,0,0,3156,3157,7,2,0,0,3157,3158,7,17,0,0,3158,3159,7,5,0,0,3159,3160,7,21,0,0,3160,628,1,0,0,0,3161,3162,7,3,0,0,3162,3163,7,5,0,0,3163,3164,7,12,0,0,3164,3165,7,21,0,0,3165,630,1,0,0,0,3166,3167,7,3,0,0,3167,3168,7,5,0,0,3168,3169,7,14,0,0,3169,3170,7,4,0,0,3170,632,1,0,0,0,3171,3172,7,3,0,0,3172,3173,7,5,0,0,3173,3174,7,14,0,0,3174,3175,7,10,0,0,3175,3176,7,15,0,0,3176,3177,7,0,0,0,3177,3178,7,3,0,0,3178,3179,7,4,0,0,3179,634,1,0,0,0,3180,3181,7,3,0,0,3181,3182,7,5,0,0,3182,3183,7,8,0,0,3183,3184,5,95,0,0,3184,3185,7,15,0,0,3185,3186,7,0,0,0,3186,3187,7,9,0,0,3187,3188,7,3,0,0,3188,636,1,0,0,0,3189,3190,7,3,0,0,3190,3191,7,8,0,0,3191,3192,7,22,0,0,3192,3193,7,4,0,0,3193,638,1,0,0,0,3194,3195,7,14,0,0,3195,3196,7,10,0,0,3196,3197,7,0,0,0,3197,3198,7,5,0,0,3198,3199,7,15,0,0,3199,3200,7,16,0,0,3200,3201,7,12,0,0,3201,3202,7,13,0,0,3202,3203,7,4,0,0,3203,640,1,0,0,0,3204,3205,7,14,0,0,3205,3206,7,10,0,0,3206,3207,7,18,0,0,3207,3208,7,17,0,0,3208,3209,7,14,0,0,3209,3210,7,10,0,0,3210,3211,7,1,0,0,3211,3212,7,4,0,0,3212,3213,7,1,0,0,3213,642,1,0,0,0,3214,3215,7,14,0,0,3215,3216,7,10,0,0,3216,3217,7,15,0,0,3217,3218,7,0,0,0,3218,3219,7,15,0,0,3219,3220,7,16,0,0,3220,3221,7,4,0,0,3221,644,1,0,0,0,3222,3223,7,14,0,0,3223,3224,7,10,0,0,3224,3225,7,12,0,0,3225,3226,7,17,0,0,3226,3227,7,10,0,0,3227,646,1,0,0,0,3228,3229,7,14,0,0,3229,3230,7,10,0,0,3230,3231,7,12,0,0,3231,3232,7,25,0,0,3232,3233,7,14,0,0,3233,3234,7,4,0,0,3234,648,1,0,0,0,3235,3236,7,14,0,0,3236,3237,7,10,0,0,3237,3238,7,20,0,0,3238,3239,7,10,0,0,3239,3240,7,17,0,0,3240,3241,7,7,0,0,3241,3242,7,10,0,0,3242,650,1,0,0,0,3243,3244,7,14,0,0,3244,3245,7,10,0,0,3245,3246,7,6,0,0,3246,3247,7,17,0,0,3247,3248,7,15,0,0,3248,3249,7,20,0,0,3249,652,1,0,0,0,3250,3251,7,14,0,0,3251,3252,7,10,0,0,3252,3253,7,22,0,0,3253,3254,7,12,0,0,3254,3255,7,13,0,0,3255,3256,7,17,0,0,3256,3257,7,3,0,0,3257,654,1,0,0,0,3258,3259,7,14,0,0,3259,3260,7,10,0,0,3260,3261,7,9,0,0,3261,3262,7,4,0,0,3262,3263,7,3,0,0,3263,656,1,0,0,0,3264,3265,7,14,0,0,3265,3266,7,22,0,0,3266,3267,7,1,0,0,3267,3268,7,0,0,0,3268,3269,7,3,0,0,3269,3270,7,4,0,0,3270,658,1,0,0,0,3271,3272,7,14,0,0,3272,3273,7,9,0,0,3273,3274,7,4,0,0,3274,660,1,0,0,0,3275,3276,7,14,0,0,3276,3277,7,9,0,0,3277,3278,7,4,0,0,3278,3279,7,5,0,0,3279,662,1,0,0,0,3280,3281,7,14,0,0,3281,3282,7,9,0,0,3282,3283,7,12,0,0,3283,3284,7,10,0,0,3284,3285,7,19,0,0,3285,664,1,0,0,0,3286,3287,7,13,0,0,3287,3288,7,0,0,0,3288,3289,7,6,0,0,3289,3290,7,14,0,0,3290,3291,7,4,0,0,3291,3292,7,9,0,0,3292,666,1,0,0,0,3293,3294,7,13,0,0,3294,3295,7,0,0,0,3295,3296,7,5,0,0,3296,3297,7,15,0,0,3297,3298,7,16,0,0,3298,3299,7,0,0,0,3299,3300,7,5,0,0,3300,668,1,0,0,0,3301,3302,7,13,0,0,3302,3303,7,0,0,0,3303,3304,7,5,0,0,3304,670,1,0,0,0,3305,3306,7,13,0,0,3306,3307,7,0,0,0,3307,3308,7,5,0,0,3308,3309,7,12,0,0,3309,3310,7,0,0,0,3310,3311,7,18,0,0,3311,3312,7,6,0,0,3312,3313,7,4,0,0,3313,672,1,0,0,0,3314,3315,7,13,0,0,3315,3316,7,4,0,0,3316,3317,7,5,0,0,3317,3318,7,9,0,0,3318,3319,7,12,0,0,3319,3320,7,17,0,0,3320,3321,7,10,0,0,3321,674,1,0,0,0,3322,3323,7,13,0,0,3323,3324,7,12,0,0,3324,3325,7,4,0,0,3325,3326,7,7,0,0,3326,676,1,0,0,0,3327,3328,7,13,0,0,3328,3329,7,12,0,0,3329,3330,7,4,0,0,3330,3331,7,7,0,0,3331,3332,7,9,0,0,3332,678,1,0,0,0,3333,3334,7,13,0,0,3334,3335,7,17,0,0,3335,3336,7,12,0,0,3336,3337,7,1,0,0,3337,680,1,0,0,0,3338,3339,7,7,0,0,3339,3340,7,4,0,0,3340,3341,7,4,0,0,3341,3342,7,20,0,0,3342,682,1,0,0,0,3343,3344,7,7,0,0,3344,3345,7,4,0,0,3345,3346,7,4,0,0,3346,3347,7,20,0,0,3347,3348,7,9,0,0,3348,684,1,0,0,0,3349,3350,7,7,0,0,3350,3351,7,16,0,0,3351,3352,7,4,0,0,3352,3353,7,10,0,0,3353,686,1,0,0,0,3354,3355,7,7,0,0,3355,3356,7,16,0,0,3356,3357,7,4,0,0,3357,3358,7,5,0,0,3358,3359,7,4,0,0,3359,688,1,0,0,0,3360,3361,7,7,0,0,3361,3362,7,12,0,0,3362,3363,7,10,0,0,3363,3364,7,1,0,0,3364,3365,7,17,0,0,3365,3366,7,7,0,0,3366,690,1,0,0,0,3367,3368,7,7,0,0,3368,3369,7,12,0,0,3369,3370,7,3,0,0,3370,3371,7,16,0,0,3371,692,1,0,0,0,3372,3373,7,7,0,0,3373,3374,7,12,0,0,3374,3375,7,3,0,0,3375,3376,7,16,0,0,3376,3377,7,12,0,0,3377,3378,7,10,0,0,3378,694,1,0,0,0,3379,3380,7,8,0,0,3380,3381,7,4,0,0,3381,3382,7,0,0,0,3382,3383,7,5,0,0,3383,696,1,0,0,0,3384,3385,7,8,0,0,3385,3386,7,4,0,0,3386,3387,7,0,0,0,3387,3388,7,5,0,0,3388,3389,7,9,0,0,3389,698,1,0,0,0,3390,3391,7,11,0,0,3391,3392,7,17,0,0,3392,3393,7,10,0,0,3393,3394,7,4,0,0,3394,700,1,0,0,0,3395,3396,7,11,0,0,3396,3397,7,17,0,0,3397,3398,7,5,0,0,3398,3399,7,1,0,0,3399,3400,7,4,0,0,3400,3401,7,5,0,0,3401,702,1,0,0,0,3402,3406,5,61,0,0,3403,3404,5,61,0,0,3404,3406,5,61,0,0,3405,3402,1,0,0,0,3405,3403,1,0,0,0,3406,704,1,0,0,0,3407,3408,5,60,0,0,3408,3409,5,61,0,0,3409,3410,5,62,0,0,3410,706,1,0,0,0,3411,3412,5,60,0,0,3412,3413,5,62,0,0,3413,708,1,0,0,0,3414,3415,5,33,0,0,3415,3416,5,61,0,0,3416,710,1,0,0,0,3417,3418,5,60,0,0,3418,712,1,0,0,0,3419,3420,5,60,0,0,3420,3424,5,61,0,0,3421,3422,5,33,0,0,3422,3424,5,62,0,0,3423,3419,1,0,0,0,3423,3421,1,0,0,0,3424,714,1,0,0,0,3425,3426,5,62,0,0,3426,716,1,0,0,0,3427,3428,5,62,0,0,3428,3432,5,61,0,0,3429,3430,5,33,0,0,3430,3432,5,60,0,0,3431,3427,1,0,0,0,3431,3429,1,0,0,0,3432,718,1,0,0,0,3433,3434,5,33,0,0,3434,720,1,0,0,0,3435,3436,5,43,0,0,3436,722,1,0,0,0,3437,3438,5,45,0,0,3438,724,1,0,0,0,3439,3440,5,42,0,0,3440,726,1,0,0,0,3441,3442,5,47,0,0,3442,728,1,0,0,0,3443,3444,5,37,0,0,3444,730,1,0,0,0,3445,3446,5,126,0,0,3446,732,1,0,0,0,3447,3448,5,38,0,0,3448,734,1,0,0,0,3449,3450,5,124,0,0,3450,736,1,0,0,0,3451,3452,5,124,0,0,3452,3453,5,124,0,0,3453,738,1,0,0,0,3454,3455,5,94,0,0,3455,740,1,0,0,0,3456,3457,5,58,0,0,3457,742,1,0,0,0,3458,3459,5,45,0,0,3459,3460,5,62,0,0,3460,744,1,0,0,0,3461,3462,5,61,0,0,3462,3463,5,62,0,0,3463,746,1,0,0,0,3464,3465,5,47,0,0,3465,3466,5,42,0,0,3466,3467,5,43,0,0,3467,748,1,0,0,0,3468,3469,5,42,0,0,3469,3470,5,47,0,0,3470,750,1,0,0,0,3471,3472,5,63,0,0,3472,752,1,0,0,0,3473,3479,5,39,0,0,3474,3478,8,26,0,0,3475,3476,5,92,0,0,3476,3478,9,0,0,0,3477,3474,1,0,0,0,3477,3475,1,0,0,0,3478,3481,1,0,0,0,3479,3477,1,0,0,0,3479,3480,1,0,0,0,3480,3482,1,0,0,0,3481,3479,1,0,0,0,3482,3504,5,39,0,0,3483,3484,7,5,0,0,3484,3485,5,39,0,0,3485,3489,1,0,0,0,3486,3488,8,27,0,0,3487,3486,1,0,0,0,3488,3491,1,0,0,0,3489,3487,1,0,0,0,3489,3490,1,0,0,0,3490,3492,1,0,0,0,3491,3489,1,0,0,0,3492,3504,5,39,0,0,3493,3494,7,5,0,0,3494,3495,5,34,0,0,3495,3499,1,0,0,0,3496,3498,8,28,0,0,3497,3496,1,0,0,0,3498,3501,1,0,0,0,3499,3497,1,0,0,0,3499,3500,1,0,0,0,3500,3502,1,0,0,0,3501,3499,1,0,0,0,3502,3504,5,34,0,0,3503,3473,1,0,0,0,3503,3483,1,0,0,0,3503,3493,1,0,0,0,3504,754,1,0,0,0,3505,3511,5,34,0,0,3506,3510,8,29,0,0,3507,3508,5,92,0,0,3508,3510,9,0,0,0,3509,3506,1,0,0,0,3509,3507,1,0,0,0,3510,3513,1,0,0,0,3511,3509,1,0,0,0,3511,3512,1,0,0,0,3512,3514,1,0,0,0,3513,3511,1,0,0,0,3514,3515,5,34,0,0,3515,756,1,0,0,0,3516,3518,3,783,391,0,3517,3516,1,0,0,0,3518,3519,1,0,0,0,3519,3517,1,0,0,0,3519,3520,1,0,0,0,3520,3521,1,0,0,0,3521,3522,7,6,0,0,3522,758,1,0,0,0,3523,3525,3,783,391,0,3524,3523,1,0,0,0,3525,3526,1,0,0,0,3526,3524,1,0,0,0,3526,3527,1,0,0,0,3527,3528,1,0,0,0,3528,3529,7,9,0,0,3529,760,1,0,0,0,3530,3532,3,783,391,0,3531,3530,1,0,0,0,3532,3533,1,0,0,0,3533,3531,1,0,0,0,3533,3534,1,0,0,0,3534,3535,1,0,0,0,3535,3536,7,8,0,0,3536,762,1,0,0,0,3537,3539,3,783,391,0,3538,3537,1,0,0,0,3539,3540,1,0,0,0,3540,3538,1,0,0,0,3540,3541,1,0,0,0,3541,764,1,0,0,0,3542,3544,3,783,391,0,3543,3542,1,0,0,0,3544,3545,1,0,0,0,3545,3543,1,0,0,0,3545,3546,1,0,0,0,3546,3547,1,0,0,0,3547,3548,3,781,390,0,3548,3553,1,0,0,0,3549,3550,3,779,389,0,3550,3551,3,781,390,0,3551,3553,1,0,0,0,3552,3543,1,0,0,0,3552,3549,1,0,0,0,3553,766,1,0,0,0,3554,3555,3,779,389,0,3555,768,1,0,0,0,3556,3558,3,783,391,0,3557,3556,1,0,0,0,3558,3559,1,0,0,0,3559,3557,1,0,0,0,3559,3560,1,0,0,0,3560,3562,1,0,0,0,3561,3563,3,781,390,0,3562,3561,1,0,0,0,3562,3563,1,0,0,0,3563,3564,1,0,0,0,3564,3565,7,2,0,0,3565,3573,1,0,0,0,3566,3568,3,779,389,0,3567,3569,3,781,390,0,3568,3567,1,0,0,0,3568,3569,1,0,0,0,3569,3570,1,0,0,0,3570,3571,7,2,0,0,3571,3573,1,0,0,0,3572,3557,1,0,0,0,3572,3566,1,0,0,0,3573,770,1,0,0,0,3574,3576,3,783,391,0,3575,3574,1,0,0,0,3576,3577,1,0,0,0,3577,3575,1,0,0,0,3577,3578,1,0,0,0,3578,3580,1,0,0,0,3579,3581,3,781,390,0,3580,3579,1,0,0,0,3580,3581,1,0,0,0,3581,3582,1,0,0,0,3582,3583,7,1,0,0,3583,3591,1,0,0,0,3584,3586,3,779,389,0,3585,3587,3,781,390,0,3586,3585,1,0,0,0,3586,3587,1,0,0,0,3587,3588,1,0,0,0,3588,3589,7,1,0,0,3589,3591,1,0,0,0,3590,3575,1,0,0,0,3590,3584,1,0,0,0,3591,772,1,0,0,0,3592,3594,3,783,391,0,3593,3592,1,0,0,0,3594,3595,1,0,0,0,3595,3593,1,0,0,0,3595,3596,1,0,0,0,3596,3598,1,0,0,0,3597,3599,3,781,390,0,3598,3597,1,0,0,0,3598,3599,1,0,0,0,3599,3600,1,0,0,0,3600,3601,7,18,0,0,3601,3602,7,1,0,0,3602,3611,1,0,0,0,3603,3605,3,779,389,0,3604,3606,3,781,390,0,3605,3604,1,0,0,0,3605,3606,1,0,0,0,3606,3607,1,0,0,0,3607,3608,7,18,0,0,3608,3609,7,1,0,0,3609,3611,1,0,0,0,3610,3593,1,0,0,0,3610,3603,1,0,0,0,3611,774,1,0,0,0,3612,3616,3,785,392,0,3613,3616,3,783,391,0,3614,3616,5,95,0,0,3615,3612,1,0,0,0,3615,3613,1,0,0,0,3615,3614,1,0,0,0,3616,3617,1,0,0,0,3617,3615,1,0,0,0,3617,3618,1,0,0,0,3618,776,1,0,0,0,3619,3625,5,96,0,0,3620,3624,8,30,0,0,3621,3622,5,96,0,0,3622,3624,5,96,0,0,3623,3620,1,0,0,0,3623,3621,1,0,0,0,3624,3627,1,0,0,0,3625,3623,1,0,0,0,3625,3626,1,0,0,0,3626,3628,1,0,0,0,3627,3625,1,0,0,0,3628,3629,5,96,0,0,3629,778,1,0,0,0,3630,3632,3,783,391,0,3631,3630,1,0,0,0,3632,3633,1,0,0,0,3633,3631,1,0,0,0,3633,3634,1,0,0,0,3634,3635,1,0,0,0,3635,3639,5,46,0,0,3636,3638,3,783,391,0,3637,3636,1,0,0,0,3638,3641,1,0,0,0,3639,3637,1,0,0,0,3639,3640,1,0,0,0,3640,3649,1,0,0,0,3641,3639,1,0,0,0,3642,3644,5,46,0,0,3643,3645,3,783,391,0,3644,3643,1,0,0,0,3645,3646,1,0,0,0,3646,3644,1,0,0,0,3646,3647,1,0,0,0,3647,3649,1,0,0,0,3648,3631,1,0,0,0,3648,3642,1,0,0,0,3649,780,1,0,0,0,3650,3652,7,4,0,0,3651,3653,7,31,0,0,3652,3651,1,0,0,0,3652,3653,1,0,0,0,3653,3655,1,0,0,0,3654,3656,3,783,391,0,3655,3654,1,0,0,0,3656,3657,1,0,0,0,3657,3655,1,0,0,0,3657,3658,1,0,0,0,3658,782,1,0,0,0,3659,3660,7,32,0,0,3660,784,1,0,0,0,3661,3662,7,33,0,0,3662,786,1,0,0,0,3663,3664,5,45,0,0,3664,3665,5,45,0,0,3665,3671,1,0,0,0,3666,3667,5,92,0,0,3667,3670,5,10,0,0,3668,3670,8,34,0,0,3669,3666,1,0,0,0,3669,3668,1,0,0,0,3670,3673,1,0,0,0,3671,3669,1,0,0,0,3671,3672,1,0,0,0,3672,3675,1,0,0,0,3673,3671,1,0,0,0,3674,3676,5,13,0,0,3675,3674,1,0,0,0,3675,3676,1,0,0,0,3676,3678,1,0,0,0,3677,3679,5,10,0,0,3678,3677,1,0,0,0,3678,3679,1,0,0,0,3679,3680,1,0,0,0,3680,3681,6,393,0,0,3681,788,1,0,0,0,3682,3683,5,47,0,0,3683,3684,5,42,0,0,3684,3689,1,0,0,0,3685,3688,3,789,394,0,3686,3688,9,0,0,0,3687,3685,1,0,0,0,3687,3686,1,0,0,0,3688,3691,1,0,0,0,3689,3690,1,0,0,0,3689,3687,1,0,0,0,3690,3696,1,0,0,0,3691,3689,1,0,0,0,3692,3693,5,42,0,0,3693,3697,5,47,0,0,3694,3695,6,394,1,0,3695,3697,5,0,0,1,3696,3692,1,0,0,0,3696,3694,1,0,0,0,3697,3698,1,0,0,0,3698,3699,6,394,0,0,3699,790,1,0,0,0,3700,3702,7,35,0,0,3701,3700,1,0,0,0,3702,3703,1,0,0,0,3703,3701,1,0,0,0,3703,3704,1,0,0,0,3704,3705,1,0,0,0,3705,3706,6,395,0,0,3706,792,1,0,0,0,3707,3708,9,0,0,0,3708,794,1,0,0,0,47,0,3405,3423,3431,3477,3479,3489,3499,3503,3509,3511,3519,3526,3533,3540,3545,3552,3559,3562,3568,3572,3577,3580,3586,3590,3595,3598,3605,3610,3615,3617,3623,3625,3633,3639,3646,3648,3652,3657,3669,3671,3675,3678,3687,3689,3696,3703,2,0,1,0,1,394,0],l.vocabulary=new Te(l.literalNames,l.symbolicNames,[]),l.decisionsToDFA=l._ATN.decisionToState.map((n,t)=>new E1(n,t));class cu extends _o{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,i,s,r;return this.entityCollecting&&((i=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&i!==void 0?i:1/0)<=this.caretTokenIndex&&((r=(s=this.tokenStream.LT(1))===null||s===void 0?void 0:s.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class e extends cu{get grammarFileName(){return"SparkSqlParser.g4"}get literalNames(){return e.literalNames}get symbolicNames(){return e.symbolicNames}get ruleNames(){return e.ruleNames}get serializedATN(){return e._serializedATN}createFailedPredicateException(t,i){return new on(this,t,i)}constructor(t){super(t),this.interpreter=new rn(this,e._ATN,e.decisionsToDFA,new fi)}program(){let t=new uu(this.context,this.state);this.enterRule(t,0,e.RULE_program);let i;try{this.enterOuterAlt(t,1);{for(this.state=403,this.errorHandler.sync(this),i=this.tokenStream.LA(1);!(i&-32)&&1<'","'<>'","'!='","'<'",null,"'>'",null,"'!'","'+'","'-'","'*'","'/'","'%'","'~'","'&'","'|'","'||'","'^'","':'","'->'","'=>'","'/*+'","'*/'","'?'"],e.symbolicNames=[null,"SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","KW_ADD","KW_AFTER","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_ANY_VALUE","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_BYTE","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_CHANGE","KW_CHAR","KW_CHARACTER","KW_CHECK","KW_CLEAR","KW_CLUSTER","KW_CLUSTERED","KW_CODEGEN","KW_COLLATE","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPUTE","KW_CONCATENATE","KW_CONSTRAINT","KW_COST","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DAY","KW_DAYS","KW_DAYOFYEAR","KW_DATA","KW_DATE","KW_DATABASE","KW_DATABASES","KW_DATEADD","KW_DATE_ADD","KW_DATEDIFF","KW_DATE_DIFF","KW_DBPROPERTIES","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DESC","KW_DESCRIBE","KW_DFS","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISTINCT","KW_DISTRIBUTE","KW_DIV","KW_DOUBLE","KW_DROP","KW_ELSE","KW_ENABLE","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUDE","KW_EXISTS","KW_EXPLAIN","KW_EXPORT","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILTER","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FOLLOWING","KW_FOR","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GENERATED","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_BINARY_HEX","KW_HOUR","KW_HOURS","KW_IDENTIFIER","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTFORMAT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INT","KW_INTEGER","KW_INTO","KW_IS","KW_ITEMS","KW_JOIN","KW_KEYS","KW_LAST","KW_LATERAL","KW_LAZY","KW_LEADING","KW_LEFT","KW_LIFECYCLE","KW_LIKE","KW_ILIKE","KW_LIMIT","KW_LINES","KW_LIST","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MATERIALIZED","KW_MAP","KW_MATCHED","KW_MERGE","KW_MICROSECOND","KW_MICROSECONDS","KW_MILLISECOND","KW_MILLISECONDS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MSCK","KW_NAME","KW_NAMESPACE","KW_NAMESPACES","KW_NANOSECOND","KW_NANOSECONDS","KW_NATURAL","KW_NO","KW_NOSCAN","KW_NOT","KW_NULL","KW_NULLS","KW_NUMERIC","KW_OF","KW_OFFSET","KW_ON","KW_ONLY","KW_OPTIMIZE","KW_OPTION","KW_OPTIONS","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENTLIT","KW_PIVOT","KW_PLACING","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_PRINCIPALS","KW_PROPERTIES","KW_PURGE","KW_QUARTER","KW_QUERY","KW_RANGE","KW_REAL","KW_RECORDREADER","KW_RECORDWRITER","KW_RECOVER","KW_REDUCE","KW_REFERENCES","KW_REFRESH","KW_RENAME","KW_REPAIR","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REWRITE","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_REGEXP","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SECOND","KW_SECONDS","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SEMI","KW_SEPARATED","KW_SERDE","KW_SERDEPROPERTIES","KW_SESSION_USER","KW_SET","KW_MINUS","KW_SETS","KW_SHORT","KW_SHOW","KW_SINGLE","KW_SKEWED","KW_SMALLINT","KW_SOME","KW_SORT","KW_SORTED","KW_SOURCE","KW_START","KW_STATISTICS","KW_STORED","KW_STRATIFY","KW_STRING","KW_STRUCT","KW_SUBSTR","KW_SUBSTRING","KW_SYNC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TARGET","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMEDIFF","KW_TIMESTAMP","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_NTZ","KW_TIMESTAMPADD","KW_TIMESTAMPDIFF","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNCACHE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNLOCK","KW_UNPIVOT","KW_UNSET","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALUES","KW_VARCHAR","KW_VAR","KW_VARIABLE","KW_VERSION","KW_VIEW","KW_VIEWS","KW_VOID","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_YEAR","KW_YEARS","KW_ZONE","KW_ZORDER","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","NOT","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],e.ruleNames=["program","singleStatement","statement","timezone","configKey","configValue","unsupportedHiveNativeCommands","createTableHeader","replaceTableHeader","bucketSpec","skewSpec","locationSpec","commentSpec","query","insertInto","partitionSpecLocation","partitionSpec","partitionVal","namespace","namespaces","describeFuncName","describeColName","ctes","namedQuery","tableProvider","createTableClauses","tableLifecycle","propertyList","property","propertyKey","propertyValue","expressionPropertyList","expressionProperty","constantList","nestedConstantList","createFileFormat","fileFormat","storageHandler","resource","dmlStatementNoWith","namespaceName","namespaceNameCreate","tableNameCreate","tableName","viewNameCreate","viewName","columnName","columnNameSeq","columnNameCreate","identifierReference","queryOrganization","multiInsertQueryBody","queryTerm","queryPrimary","sortItem","fromStatement","fromStatementBody","querySpecification","transformClause","selectClause","setClause","matchedClause","notMatchedClause","notMatchedBySourceClause","matchedAction","notMatchedAction","notMatchedBySourceAction","assignmentList","assignment","whereClause","havingClause","hint","hintStatement","fromClause","functionKind","temporalClause","aggregationClause","groupByClause","groupingAnalytics","groupingElement","groupingSet","pivotClause","pivotColumn","pivotValue","unpivotClause","unpivotNullClause","unpivotOperator","unpivotSingleValueColumnClause","unpivotMultiValueColumnClause","unpivotColumnSet","unpivotValueColumn","unpivotNameColumn","unpivotColumnAndAlias","unpivotColumn","unpivotAlias","ifNotExists","ifExists","lateralView","setQuantifier","relation","relationExtension","joinRelation","joinType","joinCriteria","sample","sampleMethod","identifierList","identifierSeq","orderedIdentifierList","orderedIdentifier","identifierCommentList","identifierComment","relationPrimary","inlineTable","functionTableSubqueryArgument","tableArgumentPartitioning","functionTableNamedArgumentExpression","functionTableReferenceArgument","functionTableArgument","functionTable","tableAlias","rowFormat","multipartIdentifierList","multipartIdentifier","multipartIdentifierPropertyList","multipartIdentifierProperty","tableIdentifier","viewIdentifier","namedExpression","namedExpressionSeq","partitionFieldList","partitionField","transform","transformArgument","expression","namedArgumentExpression","functionArgument","expressionSeq","booleanExpression","predicate","valueExpression","datetimeUnit","primaryExpression","literalType","constant","comparisonOperator","arithmeticOperator","predicateOperator","booleanValue","interval","errorCapturingMultiUnitsInterval","multiUnitsInterval","errorCapturingUnitToUnitInterval","unitToUnitInterval","intervalValue","unitInMultiUnits","unitInUnitToUnit","colPosition","type","dataType","qualifiedColTypeWithPositionSeqForAdd","qualifiedColTypeWithPositionForAdd","qualifiedColTypeWithPositionSeqForReplace","qualifiedColTypeWithPositionForReplace","colDefinitionDescriptorWithPosition","defaultExpression","variableDefaultExpression","colTypeList","columnType","createOrReplaceTableColTypeList","createOrReplaceTableColType","colDefinitionOption","generationExpression","complexColTypeList","complexColType","whenClause","windowClause","zorderClause","namedWindow","windowSpec","windowFrame","frameBound","qualifiedNameList","functionName","functionNameCreate","qualifiedName","errorCapturingIdentifier","errorCapturingIdentifierExtra","identifier","strictIdentifier","quotedIdentifier","backQuotedIdentifier","number","alterColumnAction","stringLit","commentStr","version","ansiNonReserved","strictNonReserved","nonReserved"],e._serializedATN=[4,1,393,3971,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,1,0,5,0,402,8,0,10,0,12,0,405,9,0,1,0,1,0,1,1,1,1,3,1,411,8,1,1,2,1,2,3,2,415,8,2,1,2,1,2,1,2,3,2,420,8,2,1,2,1,2,1,2,1,2,1,2,3,2,427,8,2,1,2,1,2,1,2,3,2,432,8,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,440,8,2,10,2,12,2,443,9,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,461,8,2,1,2,1,2,3,2,465,8,2,1,2,1,2,1,2,1,2,3,2,471,8,2,1,2,3,2,474,8,2,1,2,3,2,477,8,2,1,2,1,2,1,2,1,2,1,2,3,2,484,8,2,1,2,3,2,487,8,2,1,2,1,2,3,2,491,8,2,1,2,3,2,494,8,2,1,2,1,2,1,2,3,2,499,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,511,8,2,10,2,12,2,514,9,2,1,2,1,2,1,2,1,2,1,2,3,2,521,8,2,1,2,3,2,524,8,2,1,2,1,2,3,2,528,8,2,1,2,3,2,531,8,2,1,2,1,2,1,2,1,2,3,2,537,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,548,8,2,1,2,1,2,1,2,1,2,3,2,554,8,2,1,2,1,2,1,2,3,2,559,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,592,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,602,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,613,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,624,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,635,8,2,1,2,1,2,1,2,3,2,640,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,649,8,2,1,2,1,2,3,2,653,8,2,1,2,1,2,1,2,1,2,3,2,659,8,2,1,2,1,2,3,2,663,8,2,1,2,1,2,1,2,3,2,668,8,2,1,2,1,2,1,2,1,2,3,2,674,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,686,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,694,8,2,1,2,1,2,1,2,1,2,3,2,700,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,711,8,2,1,2,1,2,3,2,715,8,2,1,2,4,2,718,8,2,11,2,12,2,719,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,735,8,2,1,2,1,2,3,2,739,8,2,1,2,1,2,1,2,5,2,744,8,2,10,2,12,2,747,9,2,1,2,3,2,750,8,2,1,2,1,2,1,2,1,2,3,2,756,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,785,8,2,1,2,1,2,3,2,789,8,2,1,2,1,2,1,2,3,2,794,8,2,1,2,1,2,1,2,1,2,1,2,3,2,801,8,2,1,2,1,2,1,2,1,2,3,2,807,8,2,1,2,3,2,810,8,2,1,2,3,2,813,8,2,1,2,1,2,3,2,817,8,2,1,2,1,2,3,2,821,8,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,829,8,2,10,2,12,2,832,9,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,840,8,2,1,2,3,2,843,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,852,8,2,1,2,1,2,1,2,3,2,857,8,2,1,2,1,2,1,2,1,2,3,2,863,8,2,1,2,1,2,1,2,1,2,1,2,3,2,870,8,2,1,2,3,2,873,8,2,1,2,1,2,3,2,877,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,886,8,2,10,2,12,2,889,9,2,3,2,891,8,2,1,2,1,2,1,2,1,2,3,2,897,8,2,1,2,1,2,3,2,901,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,916,8,2,10,2,12,2,919,9,2,1,2,1,2,1,2,1,2,1,2,3,2,926,8,2,1,2,1,2,3,2,930,8,2,1,2,1,2,1,2,1,2,3,2,936,8,2,1,2,3,2,939,8,2,1,2,1,2,3,2,943,8,2,1,2,3,2,946,8,2,1,2,1,2,1,2,1,2,3,2,952,8,2,1,2,1,2,1,2,3,2,957,8,2,1,2,1,2,3,2,961,8,2,1,2,1,2,1,2,1,2,1,2,3,2,968,8,2,1,2,3,2,971,8,2,1,2,3,2,974,8,2,1,2,1,2,1,2,1,2,1,2,3,2,981,8,2,1,2,1,2,1,2,3,2,986,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,995,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1003,8,2,1,2,1,2,1,2,1,2,3,2,1009,8,2,1,2,3,2,1012,8,2,1,2,3,2,1015,8,2,1,2,1,2,1,2,1,2,3,2,1021,8,2,1,2,1,2,3,2,1025,8,2,1,2,1,2,1,2,3,2,1030,8,2,1,2,3,2,1033,8,2,1,2,1,2,3,2,1037,8,2,3,2,1039,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1047,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1055,8,2,1,2,3,2,1058,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1065,8,2,1,2,3,2,1068,8,2,1,2,3,2,1071,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1080,8,2,1,2,1,2,1,2,3,2,1085,8,2,1,2,1,2,1,2,1,2,3,2,1091,8,2,1,2,1,2,1,2,3,2,1096,8,2,1,2,3,2,1099,8,2,1,2,1,2,3,2,1103,8,2,1,2,3,2,1106,8,2,1,2,1,2,3,2,1110,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,1136,8,2,10,2,12,2,1139,9,2,3,2,1141,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1149,8,2,1,2,1,2,1,2,1,2,3,2,1155,8,2,1,2,3,2,1158,8,2,1,2,3,2,1161,8,2,1,2,1,2,1,2,3,2,1166,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1174,8,2,1,2,1,2,1,2,3,2,1179,8,2,1,2,1,2,1,2,1,2,3,2,1185,8,2,1,2,1,2,1,2,1,2,3,2,1191,8,2,1,2,3,2,1194,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1201,8,2,1,2,1,2,1,2,5,2,1206,8,2,10,2,12,2,1209,9,2,1,2,1,2,1,2,5,2,1214,8,2,10,2,12,2,1217,9,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,1231,8,2,10,2,12,2,1234,9,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,1258,8,2,10,2,12,2,1261,9,2,3,2,1263,8,2,1,2,1,2,5,2,1267,8,2,10,2,12,2,1270,9,2,1,2,1,2,1,2,1,2,5,2,1276,8,2,10,2,12,2,1279,9,2,1,2,1,2,1,2,1,2,5,2,1285,8,2,10,2,12,2,1288,9,2,1,2,1,2,1,2,3,2,1293,8,2,1,2,1,2,1,2,3,2,1298,8,2,1,2,1,2,1,2,3,2,1303,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1310,8,2,1,2,1,2,1,2,3,2,1315,8,2,1,2,1,2,1,2,3,2,1320,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1327,8,2,1,2,1,2,1,2,1,2,5,2,1333,8,2,10,2,12,2,1336,9,2,3,2,1338,8,2,1,3,1,3,3,3,1342,8,3,1,4,1,4,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1354,8,6,1,6,1,6,3,6,1358,8,6,1,6,1,6,1,6,1,6,1,6,3,6,1365,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1481,8,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1489,8,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1497,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1506,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1516,8,6,1,7,1,7,3,7,1520,8,7,1,7,3,7,1523,8,7,1,7,1,7,3,7,1527,8,7,1,7,1,7,1,8,1,8,3,8,1533,8,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,3,9,1545,8,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,3,10,1557,8,10,1,10,1,10,1,10,3,10,1562,8,10,1,11,1,11,1,11,1,12,1,12,1,12,1,13,3,13,1571,8,13,1,13,1,13,1,13,1,14,1,14,1,14,3,14,1579,8,14,1,14,1,14,1,14,3,14,1584,8,14,3,14,1586,8,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,1594,8,14,1,14,1,14,1,14,3,14,1599,8,14,1,14,1,14,3,14,1603,8,14,1,14,3,14,1606,8,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,1614,8,14,1,14,1,14,1,14,3,14,1619,8,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,1628,8,14,1,14,1,14,1,14,3,14,1633,8,14,1,14,3,14,1636,8,14,1,14,1,14,1,14,3,14,1641,8,14,1,14,1,14,3,14,1645,8,14,1,14,1,14,1,14,3,14,1650,8,14,3,14,1652,8,14,1,15,1,15,3,15,1656,8,15,1,16,1,16,1,16,1,16,1,16,5,16,1663,8,16,10,16,12,16,1666,9,16,1,16,1,16,1,17,1,17,1,17,3,17,1673,8,17,1,17,1,17,1,17,1,17,3,17,1679,8,17,1,18,1,18,1,19,1,19,1,20,1,20,1,20,1,20,1,20,3,20,1690,8,20,1,21,1,21,1,21,5,21,1695,8,21,10,21,12,21,1698,9,21,1,22,1,22,1,22,1,22,5,22,1704,8,22,10,22,12,22,1707,9,22,1,23,1,23,3,23,1711,8,23,1,23,3,23,1714,8,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,5,25,1737,8,25,10,25,12,25,1740,9,25,1,26,1,26,1,26,1,27,1,27,1,27,1,27,5,27,1749,8,27,10,27,12,27,1752,9,27,1,27,1,27,1,28,1,28,3,28,1758,8,28,1,28,3,28,1761,8,28,1,29,1,29,1,29,5,29,1766,8,29,10,29,12,29,1769,9,29,1,29,3,29,1772,8,29,1,30,1,30,1,30,1,30,3,30,1778,8,30,1,31,1,31,1,31,1,31,5,31,1784,8,31,10,31,12,31,1787,9,31,1,31,1,31,1,32,1,32,3,32,1793,8,32,1,32,3,32,1796,8,32,1,33,1,33,1,33,1,33,5,33,1802,8,33,10,33,12,33,1805,9,33,1,33,1,33,1,34,1,34,1,34,1,34,5,34,1813,8,34,10,34,12,34,1816,9,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1826,8,35,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1834,8,36,1,37,1,37,1,37,1,37,3,37,1840,8,37,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,4,39,1850,8,39,11,39,12,39,1851,1,39,1,39,1,39,1,39,1,39,3,39,1859,8,39,1,39,1,39,1,39,1,39,1,39,3,39,1866,8,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,1878,8,39,1,39,1,39,1,39,1,39,5,39,1884,8,39,10,39,12,39,1887,9,39,1,39,5,39,1890,8,39,10,39,12,39,1893,9,39,1,39,5,39,1896,8,39,10,39,12,39,1899,9,39,3,39,1901,8,39,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,3,46,1917,8,46,1,47,1,47,1,47,5,47,1922,8,47,10,47,12,47,1925,9,47,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,3,49,1935,8,49,1,50,1,50,1,50,1,50,1,50,5,50,1942,8,50,10,50,12,50,1945,9,50,3,50,1947,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1954,8,50,10,50,12,50,1957,9,50,3,50,1959,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1966,8,50,10,50,12,50,1969,9,50,3,50,1971,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1978,8,50,10,50,12,50,1981,9,50,3,50,1983,8,50,1,50,3,50,1986,8,50,1,50,1,50,1,50,3,50,1991,8,50,3,50,1993,8,50,1,50,1,50,3,50,1997,8,50,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2008,8,52,1,52,1,52,1,52,1,52,3,52,2014,8,52,1,52,1,52,1,52,1,52,3,52,2020,8,52,1,52,5,52,2023,8,52,10,52,12,52,2026,9,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,2037,8,53,1,54,1,54,3,54,2041,8,54,1,54,3,54,2044,8,54,1,54,1,54,3,54,2048,8,54,1,55,1,55,4,55,2052,8,55,11,55,12,55,2053,1,56,1,56,3,56,2058,8,56,1,56,1,56,1,56,1,56,5,56,2064,8,56,10,56,12,56,2067,9,56,1,56,3,56,2070,8,56,1,56,3,56,2073,8,56,1,56,3,56,2076,8,56,1,56,3,56,2079,8,56,1,56,1,56,3,56,2083,8,56,1,57,1,57,3,57,2087,8,57,1,57,5,57,2090,8,57,10,57,12,57,2093,9,57,1,57,3,57,2096,8,57,1,57,3,57,2099,8,57,1,57,3,57,2102,8,57,1,57,3,57,2105,8,57,1,57,1,57,3,57,2109,8,57,1,57,5,57,2112,8,57,10,57,12,57,2115,9,57,1,57,3,57,2118,8,57,1,57,3,57,2121,8,57,1,57,3,57,2124,8,57,1,57,3,57,2127,8,57,3,57,2129,8,57,1,58,1,58,1,58,1,58,3,58,2135,8,58,1,58,1,58,1,58,1,58,1,58,3,58,2142,8,58,1,58,1,58,1,58,3,58,2147,8,58,1,58,3,58,2150,8,58,1,58,3,58,2153,8,58,1,58,1,58,3,58,2157,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,3,58,2167,8,58,1,58,1,58,3,58,2171,8,58,3,58,2173,8,58,1,58,3,58,2176,8,58,1,58,1,58,3,58,2180,8,58,1,59,1,59,5,59,2184,8,59,10,59,12,59,2187,9,59,1,59,3,59,2190,8,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,1,61,1,61,3,61,2201,8,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,3,62,2211,8,62,1,62,1,62,3,62,2215,8,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,3,63,2227,8,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,3,64,2239,8,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,5,65,2252,8,65,10,65,12,65,2255,9,65,1,65,1,65,3,65,2259,8,65,1,66,1,66,1,66,1,66,3,66,2265,8,66,1,67,1,67,1,67,5,67,2270,8,67,10,67,12,67,2273,9,67,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,70,1,70,1,70,1,71,1,71,1,71,3,71,2288,8,71,1,71,5,71,2291,8,71,10,71,12,71,2294,9,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2304,8,72,10,72,12,72,2307,9,72,1,72,1,72,3,72,2311,8,72,1,73,1,73,1,73,1,73,5,73,2317,8,73,10,73,12,73,2320,9,73,1,73,5,73,2323,8,73,10,73,12,73,2326,9,73,1,73,3,73,2329,8,73,1,73,3,73,2332,8,73,1,74,1,74,1,75,3,75,2337,8,75,1,75,1,75,1,75,1,75,1,75,3,75,2344,8,75,1,75,1,75,1,75,1,75,3,75,2350,8,75,1,76,1,76,1,76,1,76,1,76,5,76,2357,8,76,10,76,12,76,2360,9,76,1,76,1,76,1,76,1,76,1,76,5,76,2367,8,76,10,76,12,76,2370,9,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,5,76,2382,8,76,10,76,12,76,2385,9,76,1,76,1,76,3,76,2389,8,76,3,76,2391,8,76,1,77,1,77,1,77,3,77,2396,8,77,1,78,1,78,1,78,1,78,1,78,5,78,2403,8,78,10,78,12,78,2406,9,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,5,78,2416,8,78,10,78,12,78,2419,9,78,1,78,1,78,3,78,2423,8,78,1,79,1,79,3,79,2427,8,79,1,80,1,80,1,80,1,80,1,80,3,80,2434,8,80,1,80,1,80,1,80,3,80,2439,8,80,5,80,2441,8,80,10,80,12,80,2444,9,80,3,80,2446,8,80,1,80,3,80,2449,8,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,5,81,2461,8,81,10,81,12,81,2464,9,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,5,82,2474,8,82,10,82,12,82,2477,9,82,1,82,1,82,3,82,2481,8,82,1,83,1,83,3,83,2485,8,83,1,83,3,83,2488,8,83,1,84,1,84,3,84,2492,8,84,1,84,1,84,1,84,1,84,3,84,2498,8,84,1,84,3,84,2501,8,84,1,85,1,85,1,85,1,86,1,86,3,86,2508,8,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,5,87,2518,8,87,10,87,12,87,2521,9,87,1,87,1,87,1,88,1,88,1,88,1,88,5,88,2529,8,88,10,88,12,88,2532,9,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,5,88,2542,8,88,10,88,12,88,2545,9,88,1,88,1,88,1,89,1,89,1,89,1,89,5,89,2553,8,89,10,89,12,89,2556,9,89,1,89,1,89,3,89,2560,8,89,1,90,1,90,1,91,1,91,1,92,1,92,3,92,2568,8,92,1,93,1,93,1,94,3,94,2573,8,94,1,94,1,94,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,97,1,97,1,97,3,97,2587,8,97,1,97,1,97,1,97,1,97,1,97,5,97,2594,8,97,10,97,12,97,2597,9,97,3,97,2599,8,97,1,97,1,97,1,97,3,97,2604,8,97,1,97,1,97,1,97,5,97,2609,8,97,10,97,12,97,2612,9,97,3,97,2614,8,97,1,98,1,98,1,99,1,99,3,99,2620,8,99,1,99,1,99,5,99,2624,8,99,10,99,12,99,2627,9,99,3,99,2629,8,99,1,100,1,100,1,100,3,100,2634,8,100,1,101,1,101,1,101,3,101,2639,8,101,1,101,1,101,3,101,2643,8,101,1,101,1,101,1,101,1,101,3,101,2649,8,101,1,101,1,101,3,101,2653,8,101,1,102,3,102,2656,8,102,1,102,1,102,1,102,3,102,2661,8,102,1,102,3,102,2664,8,102,1,102,1,102,1,102,3,102,2669,8,102,1,102,1,102,3,102,2673,8,102,1,102,3,102,2676,8,102,1,102,3,102,2679,8,102,1,103,1,103,1,103,1,103,3,103,2685,8,103,1,104,1,104,1,104,3,104,2690,8,104,1,104,1,104,1,104,1,104,1,104,3,104,2697,8,104,1,105,3,105,2700,8,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,2718,8,105,3,105,2720,8,105,1,105,3,105,2723,8,105,1,106,1,106,1,106,1,106,1,107,1,107,1,107,5,107,2732,8,107,10,107,12,107,2735,9,107,1,108,1,108,1,108,1,108,5,108,2741,8,108,10,108,12,108,2744,9,108,1,108,1,108,1,109,1,109,3,109,2750,8,109,1,110,1,110,1,110,1,110,5,110,2756,8,110,10,110,12,110,2759,9,110,1,110,1,110,1,111,1,111,3,111,2765,8,111,1,112,1,112,1,112,3,112,2770,8,112,1,112,3,112,2773,8,112,1,112,3,112,2776,8,112,1,112,1,112,1,112,1,112,1,112,1,112,3,112,2784,8,112,1,112,1,112,1,112,1,112,1,112,1,112,3,112,2792,8,112,1,112,1,112,1,112,1,112,3,112,2798,8,112,1,113,1,113,1,113,1,113,5,113,2804,8,113,10,113,12,113,2807,9,113,1,113,1,113,1,114,1,114,1,114,3,114,2814,8,114,1,114,1,114,1,114,1,114,1,114,3,114,2821,8,114,1,114,1,114,1,114,1,114,1,114,3,114,2828,8,114,3,114,2830,8,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,5,115,2841,8,115,10,115,12,115,2844,9,115,1,115,1,115,1,115,3,115,2849,8,115,3,115,2851,8,115,1,115,1,115,1,115,1,115,1,115,1,115,5,115,2859,8,115,10,115,12,115,2862,9,115,1,115,1,115,1,115,3,115,2867,8,115,3,115,2869,8,115,1,116,1,116,1,116,1,116,1,117,1,117,3,117,2877,8,117,1,118,1,118,3,118,2881,8,118,1,119,1,119,1,119,1,119,1,119,5,119,2888,8,119,10,119,12,119,2891,9,119,3,119,2893,8,119,1,119,1,119,1,119,1,120,3,120,2899,8,120,1,120,1,120,3,120,2903,8,120,3,120,2905,8,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,2914,8,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,2926,8,121,3,121,2928,8,121,1,121,1,121,1,121,1,121,1,121,3,121,2935,8,121,1,121,1,121,1,121,1,121,1,121,3,121,2942,8,121,1,121,1,121,1,121,1,121,3,121,2948,8,121,1,121,1,121,1,121,1,121,3,121,2954,8,121,3,121,2956,8,121,1,122,1,122,1,122,5,122,2961,8,122,10,122,12,122,2964,9,122,1,123,1,123,1,123,5,123,2969,8,123,10,123,12,123,2972,9,123,1,124,1,124,1,124,5,124,2977,8,124,10,124,12,124,2980,9,124,1,125,1,125,1,125,3,125,2985,8,125,1,126,1,126,1,126,3,126,2990,8,126,1,126,1,126,1,127,1,127,1,127,3,127,2997,8,127,1,127,1,127,1,128,1,128,3,128,3003,8,128,1,128,3,128,3006,8,128,1,128,1,128,3,128,3010,8,128,3,128,3012,8,128,1,129,1,129,1,129,5,129,3017,8,129,10,129,12,129,3020,9,129,1,130,1,130,1,130,1,130,5,130,3026,8,130,10,130,12,130,3029,9,130,1,130,1,130,1,131,1,131,3,131,3035,8,131,1,132,1,132,1,132,1,132,1,132,1,132,5,132,3043,8,132,10,132,12,132,3046,9,132,1,132,1,132,3,132,3050,8,132,1,133,1,133,3,133,3054,8,133,1,134,1,134,1,135,1,135,1,135,1,135,1,136,1,136,3,136,3064,8,136,1,137,1,137,1,137,5,137,3069,8,137,10,137,12,137,3072,9,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,3,138,3084,8,138,3,138,3086,8,138,1,138,1,138,1,138,1,138,1,138,1,138,5,138,3094,8,138,10,138,12,138,3097,9,138,1,139,3,139,3100,8,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,3108,8,139,1,139,1,139,1,139,1,139,1,139,5,139,3115,8,139,10,139,12,139,3118,9,139,1,139,1,139,1,139,3,139,3123,8,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,3131,8,139,1,139,1,139,1,139,3,139,3136,8,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,5,139,3146,8,139,10,139,12,139,3149,9,139,1,139,1,139,3,139,3153,8,139,1,139,3,139,3156,8,139,1,139,1,139,1,139,1,139,3,139,3162,8,139,1,139,1,139,3,139,3166,8,139,1,139,1,139,1,139,3,139,3171,8,139,1,139,1,139,1,139,3,139,3176,8,139,1,139,1,139,1,139,3,139,3181,8,139,1,140,1,140,1,140,1,140,3,140,3187,8,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,5,140,3208,8,140,10,140,12,140,3211,9,140,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3221,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3233,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,4,142,3243,8,142,11,142,12,142,3244,1,142,1,142,3,142,3249,8,142,1,142,1,142,1,142,1,142,1,142,4,142,3256,8,142,11,142,12,142,3257,1,142,1,142,3,142,3262,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,5,142,3278,8,142,10,142,12,142,3281,9,142,3,142,3283,8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3291,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3300,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3309,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,4,142,3330,8,142,11,142,12,142,3331,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3348,8,142,1,142,1,142,1,142,5,142,3353,8,142,10,142,12,142,3356,9,142,3,142,3358,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3367,8,142,1,142,1,142,3,142,3371,8,142,1,142,1,142,3,142,3375,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,4,142,3385,8,142,11,142,12,142,3386,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3412,8,142,1,142,1,142,1,142,1,142,1,142,3,142,3419,8,142,1,142,3,142,3422,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3437,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3458,8,142,1,142,1,142,3,142,3462,8,142,3,142,3464,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,5,142,3474,8,142,10,142,12,142,3477,9,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,3486,8,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,4,144,3499,8,144,11,144,12,144,3500,3,144,3503,8,144,1,145,1,145,1,146,1,146,1,147,1,147,1,148,1,148,1,149,1,149,1,149,3,149,3516,8,149,1,150,1,150,3,150,3520,8,150,1,151,1,151,1,151,4,151,3525,8,151,11,151,12,151,3526,1,152,1,152,1,152,3,152,3532,8,152,1,153,1,153,1,153,1,153,1,153,1,154,3,154,3540,8,154,1,154,1,154,1,154,3,154,3545,8,154,1,155,1,155,1,156,1,156,1,157,1,157,1,157,3,157,3554,8,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,3586,8,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,3,159,3603,8,159,1,159,1,159,3,159,3607,8,159,1,159,1,159,1,159,1,159,3,159,3613,8,159,1,159,1,159,1,159,1,159,3,159,3619,8,159,1,159,1,159,1,159,1,159,1,159,5,159,3626,8,159,10,159,12,159,3629,9,159,1,159,3,159,3632,8,159,3,159,3634,8,159,1,160,1,160,1,160,5,160,3639,8,160,10,160,12,160,3642,9,160,1,161,1,161,1,161,5,161,3647,8,161,10,161,12,161,3650,9,161,1,162,1,162,1,162,5,162,3655,8,162,10,162,12,162,3658,9,162,1,163,1,163,1,163,5,163,3663,8,163,10,163,12,163,3666,9,163,1,164,1,164,1,164,1,164,1,164,3,164,3673,8,164,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,5,167,3684,8,167,10,167,12,167,3687,9,167,1,168,1,168,1,168,1,168,3,168,3693,8,168,1,168,3,168,3696,8,168,1,169,1,169,1,169,5,169,3701,8,169,10,169,12,169,3704,9,169,1,170,1,170,1,170,5,170,3709,8,170,10,170,12,170,3712,9,170,1,171,1,171,1,171,1,171,1,171,3,171,3719,8,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,5,173,3731,8,173,10,173,12,173,3734,9,173,1,174,1,174,3,174,3738,8,174,1,174,1,174,1,174,3,174,3743,8,174,1,174,3,174,3746,8,174,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,5,176,3757,8,176,10,176,12,176,3760,9,176,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,5,179,3781,8,179,10,179,12,179,3784,9,179,1,179,1,179,1,179,1,179,1,179,5,179,3791,8,179,10,179,12,179,3794,9,179,3,179,3796,8,179,1,179,1,179,1,179,1,179,1,179,5,179,3803,8,179,10,179,12,179,3806,9,179,3,179,3808,8,179,3,179,3810,8,179,1,179,3,179,3813,8,179,1,179,3,179,3816,8,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,3,180,3834,8,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,3,181,3843,8,181,1,182,1,182,1,182,5,182,3848,8,182,10,182,12,182,3851,9,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,3,183,3862,8,183,1,184,1,184,1,185,1,185,1,185,5,185,3869,8,185,10,185,12,185,3872,9,185,1,186,1,186,1,186,1,187,1,187,4,187,3879,8,187,11,187,12,187,3880,1,187,3,187,3884,8,187,1,188,1,188,3,188,3888,8,188,1,189,1,189,1,189,1,189,3,189,3894,8,189,1,190,1,190,1,191,1,191,1,192,3,192,3901,8,192,1,192,1,192,3,192,3905,8,192,1,192,1,192,3,192,3909,8,192,1,192,1,192,3,192,3913,8,192,1,192,1,192,3,192,3917,8,192,1,192,1,192,3,192,3921,8,192,1,192,1,192,3,192,3925,8,192,1,192,1,192,3,192,3929,8,192,1,192,1,192,3,192,3933,8,192,1,192,1,192,3,192,3937,8,192,1,192,3,192,3940,8,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,3,193,3953,8,193,1,194,1,194,1,195,1,195,3,195,3959,8,195,1,196,1,196,3,196,3963,8,196,1,197,1,197,1,198,1,198,1,199,1,199,1,199,9,1137,1207,1215,1232,1259,1268,1277,1286,1334,4,104,276,280,284,200,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,0,64,2,0,78,78,229,229,2,0,34,34,247,247,2,0,123,123,140,140,2,0,11,11,39,39,2,0,91,91,98,98,5,0,46,46,58,58,108,108,122,122,173,173,1,0,86,87,2,0,108,108,122,122,3,0,8,8,96,96,289,289,2,0,8,8,167,167,1,0,335,336,3,0,72,72,190,190,261,261,3,0,73,73,191,191,262,262,4,0,102,102,148,148,270,270,323,323,3,0,102,102,270,270,323,323,2,0,21,21,86,86,2,0,116,116,157,157,3,0,10,10,290,290,331,331,2,0,292,292,337,337,2,0,291,291,303,303,2,0,61,61,256,256,2,0,104,104,141,141,2,0,10,10,92,92,2,0,382,382,384,384,2,0,93,93,217,217,2,0,209,209,278,278,2,0,197,197,360,360,1,0,251,252,1,0,163,164,3,0,10,10,16,16,277,277,3,0,111,111,316,316,325,325,2,0,361,362,366,366,2,0,94,94,363,365,2,0,361,362,369,369,11,0,67,67,69,69,134,134,180,180,182,182,184,184,186,186,231,231,259,259,341,341,348,348,4,0,63,63,65,66,268,268,331,331,2,0,74,75,306,306,3,0,76,77,302,302,307,307,2,0,36,36,318,318,2,0,138,138,246,246,1,0,287,288,2,0,4,4,123,123,2,0,4,4,119,119,3,0,28,28,160,160,311,311,1,0,220,221,1,0,352,359,2,0,94,94,361,370,4,0,14,14,140,140,197,197,208,208,2,0,111,111,316,316,1,0,361,362,7,0,67,68,134,135,180,187,192,193,259,260,341,342,348,349,6,0,67,67,134,134,184,184,186,186,259,259,348,348,2,0,186,186,348,348,4,0,67,67,134,134,184,184,259,259,3,0,134,134,184,184,259,259,2,0,82,82,352,352,2,0,118,118,226,226,2,0,378,378,389,389,1,0,383,384,2,0,96,96,269,269,1,0,377,378,52,0,8,9,11,13,15,15,17,19,21,22,24,27,29,34,37,41,43,46,48,48,50,56,58,58,61,62,67,91,93,96,98,98,101,101,103,110,113,113,115,118,121,122,125,128,131,131,133,139,141,143,145,147,149,151,154,154,156,157,159,159,163,193,195,195,199,201,205,207,210,210,212,213,215,219,222,226,228,238,240,249,251,262,264,267,269,276,278,292,294,299,302,308,310,310,312,322,326,330,333,342,345,345,348,351,16,0,15,15,60,60,102,102,124,124,144,144,148,148,155,155,158,158,161,161,194,194,203,203,250,250,264,264,270,270,323,323,332,332,19,0,8,14,16,59,61,101,103,122,125,143,145,147,149,154,156,157,159,160,162,193,195,195,197,202,204,249,251,262,265,269,271,292,294,322,324,331,333,351,4586,0,403,1,0,0,0,2,408,1,0,0,0,4,1337,1,0,0,0,6,1341,1,0,0,0,8,1343,1,0,0,0,10,1345,1,0,0,0,12,1515,1,0,0,0,14,1517,1,0,0,0,16,1532,1,0,0,0,18,1538,1,0,0,0,20,1550,1,0,0,0,22,1563,1,0,0,0,24,1566,1,0,0,0,26,1570,1,0,0,0,28,1651,1,0,0,0,30,1653,1,0,0,0,32,1657,1,0,0,0,34,1678,1,0,0,0,36,1680,1,0,0,0,38,1682,1,0,0,0,40,1689,1,0,0,0,42,1691,1,0,0,0,44,1699,1,0,0,0,46,1708,1,0,0,0,48,1719,1,0,0,0,50,1738,1,0,0,0,52,1741,1,0,0,0,54,1744,1,0,0,0,56,1755,1,0,0,0,58,1771,1,0,0,0,60,1777,1,0,0,0,62,1779,1,0,0,0,64,1790,1,0,0,0,66,1797,1,0,0,0,68,1808,1,0,0,0,70,1825,1,0,0,0,72,1833,1,0,0,0,74,1835,1,0,0,0,76,1841,1,0,0,0,78,1900,1,0,0,0,80,1902,1,0,0,0,82,1904,1,0,0,0,84,1906,1,0,0,0,86,1908,1,0,0,0,88,1910,1,0,0,0,90,1912,1,0,0,0,92,1916,1,0,0,0,94,1918,1,0,0,0,96,1926,1,0,0,0,98,1934,1,0,0,0,100,1946,1,0,0,0,102,1998,1,0,0,0,104,2001,1,0,0,0,106,2036,1,0,0,0,108,2040,1,0,0,0,110,2049,1,0,0,0,112,2082,1,0,0,0,114,2128,1,0,0,0,116,2149,1,0,0,0,118,2181,1,0,0,0,120,2193,1,0,0,0,122,2196,1,0,0,0,124,2205,1,0,0,0,126,2219,1,0,0,0,128,2238,1,0,0,0,130,2258,1,0,0,0,132,2264,1,0,0,0,134,2266,1,0,0,0,136,2274,1,0,0,0,138,2278,1,0,0,0,140,2281,1,0,0,0,142,2284,1,0,0,0,144,2310,1,0,0,0,146,2312,1,0,0,0,148,2333,1,0,0,0,150,2349,1,0,0,0,152,2390,1,0,0,0,154,2395,1,0,0,0,156,2422,1,0,0,0,158,2426,1,0,0,0,160,2448,1,0,0,0,162,2450,1,0,0,0,164,2480,1,0,0,0,166,2482,1,0,0,0,168,2489,1,0,0,0,170,2502,1,0,0,0,172,2507,1,0,0,0,174,2509,1,0,0,0,176,2524,1,0,0,0,178,2548,1,0,0,0,180,2561,1,0,0,0,182,2563,1,0,0,0,184,2565,1,0,0,0,186,2569,1,0,0,0,188,2572,1,0,0,0,190,2576,1,0,0,0,192,2580,1,0,0,0,194,2583,1,0,0,0,196,2615,1,0,0,0,198,2628,1,0,0,0,200,2633,1,0,0,0,202,2652,1,0,0,0,204,2678,1,0,0,0,206,2684,1,0,0,0,208,2686,1,0,0,0,210,2722,1,0,0,0,212,2724,1,0,0,0,214,2728,1,0,0,0,216,2736,1,0,0,0,218,2747,1,0,0,0,220,2751,1,0,0,0,222,2762,1,0,0,0,224,2797,1,0,0,0,226,2799,1,0,0,0,228,2829,1,0,0,0,230,2850,1,0,0,0,232,2870,1,0,0,0,234,2876,1,0,0,0,236,2880,1,0,0,0,238,2882,1,0,0,0,240,2904,1,0,0,0,242,2955,1,0,0,0,244,2957,1,0,0,0,246,2965,1,0,0,0,248,2973,1,0,0,0,250,2981,1,0,0,0,252,2989,1,0,0,0,254,2996,1,0,0,0,256,3002,1,0,0,0,258,3013,1,0,0,0,260,3021,1,0,0,0,262,3034,1,0,0,0,264,3049,1,0,0,0,266,3053,1,0,0,0,268,3055,1,0,0,0,270,3057,1,0,0,0,272,3063,1,0,0,0,274,3065,1,0,0,0,276,3085,1,0,0,0,278,3180,1,0,0,0,280,3186,1,0,0,0,282,3212,1,0,0,0,284,3463,1,0,0,0,286,3485,1,0,0,0,288,3502,1,0,0,0,290,3504,1,0,0,0,292,3506,1,0,0,0,294,3508,1,0,0,0,296,3510,1,0,0,0,298,3512,1,0,0,0,300,3517,1,0,0,0,302,3524,1,0,0,0,304,3528,1,0,0,0,306,3533,1,0,0,0,308,3539,1,0,0,0,310,3546,1,0,0,0,312,3548,1,0,0,0,314,3553,1,0,0,0,316,3585,1,0,0,0,318,3633,1,0,0,0,320,3635,1,0,0,0,322,3643,1,0,0,0,324,3651,1,0,0,0,326,3659,1,0,0,0,328,3672,1,0,0,0,330,3674,1,0,0,0,332,3677,1,0,0,0,334,3680,1,0,0,0,336,3688,1,0,0,0,338,3697,1,0,0,0,340,3705,1,0,0,0,342,3718,1,0,0,0,344,3720,1,0,0,0,346,3727,1,0,0,0,348,3735,1,0,0,0,350,3747,1,0,0,0,352,3752,1,0,0,0,354,3761,1,0,0,0,356,3765,1,0,0,0,358,3815,1,0,0,0,360,3833,1,0,0,0,362,3842,1,0,0,0,364,3844,1,0,0,0,366,3861,1,0,0,0,368,3863,1,0,0,0,370,3865,1,0,0,0,372,3873,1,0,0,0,374,3883,1,0,0,0,376,3887,1,0,0,0,378,3893,1,0,0,0,380,3895,1,0,0,0,382,3897,1,0,0,0,384,3939,1,0,0,0,386,3952,1,0,0,0,388,3954,1,0,0,0,390,3958,1,0,0,0,392,3962,1,0,0,0,394,3964,1,0,0,0,396,3966,1,0,0,0,398,3968,1,0,0,0,400,402,3,2,1,0,401,400,1,0,0,0,402,405,1,0,0,0,403,401,1,0,0,0,403,404,1,0,0,0,404,406,1,0,0,0,405,403,1,0,0,0,406,407,5,0,0,1,407,1,1,0,0,0,408,410,3,4,2,0,409,411,5,1,0,0,410,409,1,0,0,0,410,411,1,0,0,0,411,3,1,0,0,0,412,1338,3,26,13,0,413,415,3,44,22,0,414,413,1,0,0,0,414,415,1,0,0,0,415,416,1,0,0,0,416,1338,3,78,39,0,417,419,5,330,0,0,418,420,3,36,18,0,419,418,1,0,0,0,419,420,1,0,0,0,420,421,1,0,0,0,421,1338,3,80,40,0,422,423,5,269,0,0,423,426,5,37,0,0,424,427,3,376,188,0,425,427,3,388,194,0,426,424,1,0,0,0,426,425,1,0,0,0,427,1338,1,0,0,0,428,429,5,59,0,0,429,431,3,36,18,0,430,432,3,190,95,0,431,430,1,0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,441,3,82,41,0,434,440,3,24,12,0,435,440,3,22,11,0,436,437,5,346,0,0,437,438,7,0,0,0,438,440,3,54,27,0,439,434,1,0,0,0,439,435,1,0,0,0,439,436,1,0,0,0,440,443,1,0,0,0,441,439,1,0,0,0,441,442,1,0,0,0,442,1338,1,0,0,0,443,441,1,0,0,0,444,445,5,11,0,0,445,446,3,36,18,0,446,447,3,80,40,0,447,448,5,269,0,0,448,449,7,0,0,0,449,450,3,54,27,0,450,1338,1,0,0,0,451,452,5,11,0,0,452,453,3,36,18,0,453,454,3,80,40,0,454,455,5,269,0,0,455,456,3,22,11,0,456,1338,1,0,0,0,457,458,5,96,0,0,458,460,3,36,18,0,459,461,3,192,96,0,460,459,1,0,0,0,460,461,1,0,0,0,461,462,1,0,0,0,462,464,3,80,40,0,463,465,7,1,0,0,464,463,1,0,0,0,464,465,1,0,0,0,465,1338,1,0,0,0,466,467,5,273,0,0,467,470,3,38,19,0,468,469,7,2,0,0,469,471,3,246,123,0,470,468,1,0,0,0,470,471,1,0,0,0,471,476,1,0,0,0,472,474,5,163,0,0,473,472,1,0,0,0,473,474,1,0,0,0,474,475,1,0,0,0,475,477,3,388,194,0,476,473,1,0,0,0,476,477,1,0,0,0,477,1338,1,0,0,0,478,483,3,14,7,0,479,480,5,2,0,0,480,481,3,338,169,0,481,482,5,3,0,0,482,484,1,0,0,0,483,479,1,0,0,0,483,484,1,0,0,0,484,486,1,0,0,0,485,487,3,48,24,0,486,485,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,493,3,50,25,0,489,491,5,20,0,0,490,489,1,0,0,0,490,491,1,0,0,0,491,492,1,0,0,0,492,494,3,26,13,0,493,490,1,0,0,0,493,494,1,0,0,0,494,1338,1,0,0,0,495,496,5,59,0,0,496,498,5,293,0,0,497,499,3,190,95,0,498,497,1,0,0,0,498,499,1,0,0,0,499,500,1,0,0,0,500,501,3,84,42,0,501,502,5,163,0,0,502,512,3,86,43,0,503,511,3,48,24,0,504,511,3,242,121,0,505,511,3,70,35,0,506,511,3,22,11,0,507,508,5,297,0,0,508,511,3,54,27,0,509,511,3,52,26,0,510,503,1,0,0,0,510,504,1,0,0,0,510,505,1,0,0,0,510,506,1,0,0,0,510,507,1,0,0,0,510,509,1,0,0,0,511,514,1,0,0,0,512,510,1,0,0,0,512,513,1,0,0,0,513,1338,1,0,0,0,514,512,1,0,0,0,515,520,3,16,8,0,516,517,5,2,0,0,517,518,3,338,169,0,518,519,5,3,0,0,519,521,1,0,0,0,520,516,1,0,0,0,520,521,1,0,0,0,521,523,1,0,0,0,522,524,3,48,24,0,523,522,1,0,0,0,523,524,1,0,0,0,524,525,1,0,0,0,525,530,3,50,25,0,526,528,5,20,0,0,527,526,1,0,0,0,527,528,1,0,0,0,528,529,1,0,0,0,529,531,3,26,13,0,530,527,1,0,0,0,530,531,1,0,0,0,531,1338,1,0,0,0,532,533,5,13,0,0,533,534,5,293,0,0,534,536,3,86,43,0,535,537,3,32,16,0,536,535,1,0,0,0,536,537,1,0,0,0,537,538,1,0,0,0,538,539,5,55,0,0,539,547,5,282,0,0,540,548,5,196,0,0,541,542,5,119,0,0,542,543,5,50,0,0,543,548,3,94,47,0,544,545,5,119,0,0,545,546,5,10,0,0,546,548,5,50,0,0,547,540,1,0,0,0,547,541,1,0,0,0,547,544,1,0,0,0,547,548,1,0,0,0,548,1338,1,0,0,0,549,550,5,13,0,0,550,553,5,294,0,0,551,552,7,2,0,0,552,554,3,80,40,0,553,551,1,0,0,0,553,554,1,0,0,0,554,555,1,0,0,0,555,556,5,55,0,0,556,558,5,282,0,0,557,559,5,196,0,0,558,557,1,0,0,0,558,559,1,0,0,0,559,1338,1,0,0,0,560,561,5,11,0,0,561,562,5,293,0,0,562,563,3,86,43,0,563,564,5,8,0,0,564,565,5,49,0,0,565,566,3,322,161,0,566,1338,1,0,0,0,567,568,5,11,0,0,568,569,5,293,0,0,569,570,3,86,43,0,570,571,5,8,0,0,571,572,5,50,0,0,572,573,5,2,0,0,573,574,3,320,160,0,574,575,5,3,0,0,575,1338,1,0,0,0,576,577,5,11,0,0,577,578,5,293,0,0,578,579,3,86,43,0,579,580,5,241,0,0,580,581,5,49,0,0,581,582,3,92,46,0,582,583,5,309,0,0,583,584,3,96,48,0,584,1338,1,0,0,0,585,586,5,11,0,0,586,587,5,293,0,0,587,588,3,86,43,0,588,589,5,96,0,0,589,591,5,49,0,0,590,592,3,192,96,0,591,590,1,0,0,0,591,592,1,0,0,0,592,593,1,0,0,0,593,594,3,92,46,0,594,1338,1,0,0,0,595,596,5,11,0,0,596,597,5,293,0,0,597,598,3,86,43,0,598,599,5,96,0,0,599,601,5,50,0,0,600,602,3,192,96,0,601,600,1,0,0,0,601,602,1,0,0,0,602,603,1,0,0,0,603,604,5,2,0,0,604,605,3,94,47,0,605,606,5,3,0,0,606,1338,1,0,0,0,607,612,5,11,0,0,608,609,5,293,0,0,609,613,3,86,43,0,610,611,5,338,0,0,611,613,3,90,45,0,612,608,1,0,0,0,612,610,1,0,0,0,613,614,1,0,0,0,614,615,5,241,0,0,615,616,5,309,0,0,616,617,3,246,123,0,617,1338,1,0,0,0,618,623,5,11,0,0,619,620,5,293,0,0,620,624,3,86,43,0,621,622,5,338,0,0,622,624,3,90,45,0,623,619,1,0,0,0,623,621,1,0,0,0,624,625,1,0,0,0,625,626,5,269,0,0,626,627,5,297,0,0,627,628,3,54,27,0,628,1338,1,0,0,0,629,634,5,11,0,0,630,631,5,293,0,0,631,635,3,86,43,0,632,633,5,338,0,0,633,635,3,90,45,0,634,630,1,0,0,0,634,632,1,0,0,0,635,636,1,0,0,0,636,637,5,328,0,0,637,639,5,297,0,0,638,640,3,192,96,0,639,638,1,0,0,0,639,640,1,0,0,0,640,641,1,0,0,0,641,642,3,54,27,0,642,1338,1,0,0,0,643,644,5,11,0,0,644,645,5,293,0,0,645,646,3,86,43,0,646,648,7,3,0,0,647,649,5,49,0,0,648,647,1,0,0,0,648,649,1,0,0,0,649,650,1,0,0,0,650,652,3,92,46,0,651,653,3,386,193,0,652,651,1,0,0,0,652,653,1,0,0,0,653,1338,1,0,0,0,654,655,5,11,0,0,655,656,5,293,0,0,656,658,3,86,43,0,657,659,3,32,16,0,658,657,1,0,0,0,658,659,1,0,0,0,659,660,1,0,0,0,660,662,5,39,0,0,661,663,5,49,0,0,662,661,1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,665,3,92,46,0,665,667,3,336,168,0,666,668,3,314,157,0,667,666,1,0,0,0,667,668,1,0,0,0,668,1338,1,0,0,0,669,670,5,11,0,0,670,671,5,293,0,0,671,673,3,86,43,0,672,674,3,32,16,0,673,672,1,0,0,0,673,674,1,0,0,0,674,675,1,0,0,0,675,676,5,244,0,0,676,677,5,50,0,0,677,678,5,2,0,0,678,679,3,324,162,0,679,680,5,3,0,0,680,1338,1,0,0,0,681,682,5,11,0,0,682,683,5,293,0,0,683,685,3,86,43,0,684,686,3,32,16,0,685,684,1,0,0,0,685,686,1,0,0,0,686,687,1,0,0,0,687,688,5,269,0,0,688,689,5,266,0,0,689,693,3,388,194,0,690,691,5,346,0,0,691,692,5,267,0,0,692,694,3,54,27,0,693,690,1,0,0,0,693,694,1,0,0,0,694,1338,1,0,0,0,695,696,5,11,0,0,696,697,5,293,0,0,697,699,3,86,43,0,698,700,3,32,16,0,699,698,1,0,0,0,699,700,1,0,0,0,700,701,1,0,0,0,701,702,5,269,0,0,702,703,5,267,0,0,703,704,3,54,27,0,704,1338,1,0,0,0,705,710,5,11,0,0,706,707,5,293,0,0,707,711,3,86,43,0,708,709,5,338,0,0,709,711,3,90,45,0,710,706,1,0,0,0,710,708,1,0,0,0,711,712,1,0,0,0,712,714,5,8,0,0,713,715,3,190,95,0,714,713,1,0,0,0,714,715,1,0,0,0,715,717,1,0,0,0,716,718,3,30,15,0,717,716,1,0,0,0,718,719,1,0,0,0,719,717,1,0,0,0,719,720,1,0,0,0,720,1338,1,0,0,0,721,722,5,11,0,0,722,723,5,293,0,0,723,724,3,86,43,0,724,725,3,32,16,0,725,726,5,241,0,0,726,727,5,309,0,0,727,728,3,32,16,0,728,1338,1,0,0,0,729,734,5,11,0,0,730,731,5,293,0,0,731,735,3,86,43,0,732,733,5,338,0,0,733,735,3,90,45,0,734,730,1,0,0,0,734,732,1,0,0,0,735,736,1,0,0,0,736,738,5,96,0,0,737,739,3,192,96,0,738,737,1,0,0,0,738,739,1,0,0,0,739,740,1,0,0,0,740,745,3,32,16,0,741,742,5,4,0,0,742,744,3,32,16,0,743,741,1,0,0,0,744,747,1,0,0,0,745,743,1,0,0,0,745,746,1,0,0,0,746,749,1,0,0,0,747,745,1,0,0,0,748,750,5,230,0,0,749,748,1,0,0,0,749,750,1,0,0,0,750,1338,1,0,0,0,751,752,5,11,0,0,752,753,5,293,0,0,753,755,3,86,43,0,754,756,3,32,16,0,755,754,1,0,0,0,755,756,1,0,0,0,756,757,1,0,0,0,757,758,5,269,0,0,758,759,3,22,11,0,759,1338,1,0,0,0,760,761,5,11,0,0,761,762,5,293,0,0,762,763,3,86,43,0,763,764,5,237,0,0,764,765,5,219,0,0,765,1338,1,0,0,0,766,767,5,11,0,0,767,768,5,176,0,0,768,769,5,338,0,0,769,770,3,90,45,0,770,771,7,4,0,0,771,772,5,248,0,0,772,1338,1,0,0,0,773,774,5,11,0,0,774,775,5,176,0,0,775,776,5,338,0,0,776,777,3,90,45,0,777,778,5,269,0,0,778,779,5,297,0,0,779,780,3,54,27,0,780,1338,1,0,0,0,781,782,5,96,0,0,782,784,5,293,0,0,783,785,3,192,96,0,784,783,1,0,0,0,784,785,1,0,0,0,785,786,1,0,0,0,786,788,3,86,43,0,787,789,5,230,0,0,788,787,1,0,0,0,788,789,1,0,0,0,789,1338,1,0,0,0,790,791,5,96,0,0,791,793,5,338,0,0,792,794,3,192,96,0,793,792,1,0,0,0,793,794,1,0,0,0,794,795,1,0,0,0,795,1338,3,90,45,0,796,797,5,96,0,0,797,798,5,176,0,0,798,800,5,338,0,0,799,801,3,192,96,0,800,799,1,0,0,0,800,801,1,0,0,0,801,802,1,0,0,0,802,1338,3,90,45,0,803,806,5,59,0,0,804,805,5,208,0,0,805,807,5,244,0,0,806,804,1,0,0,0,806,807,1,0,0,0,807,812,1,0,0,0,808,810,5,128,0,0,809,808,1,0,0,0,809,810,1,0,0,0,810,811,1,0,0,0,811,813,5,298,0,0,812,809,1,0,0,0,812,813,1,0,0,0,813,814,1,0,0,0,814,816,5,338,0,0,815,817,3,190,95,0,816,815,1,0,0,0,816,817,1,0,0,0,817,818,1,0,0,0,818,820,3,88,44,0,819,821,3,220,110,0,820,819,1,0,0,0,820,821,1,0,0,0,821,830,1,0,0,0,822,829,3,24,12,0,823,824,5,218,0,0,824,825,5,203,0,0,825,829,3,212,106,0,826,827,5,297,0,0,827,829,3,54,27,0,828,822,1,0,0,0,828,823,1,0,0,0,828,826,1,0,0,0,829,832,1,0,0,0,830,828,1,0,0,0,830,831,1,0,0,0,831,833,1,0,0,0,832,830,1,0,0,0,833,834,5,20,0,0,834,835,3,26,13,0,835,1338,1,0,0,0,836,839,5,59,0,0,837,838,5,208,0,0,838,840,5,244,0,0,839,837,1,0,0,0,839,840,1,0,0,0,840,842,1,0,0,0,841,843,5,128,0,0,842,841,1,0,0,0,842,843,1,0,0,0,843,844,1,0,0,0,844,845,5,298,0,0,845,846,5,338,0,0,846,851,3,88,44,0,847,848,5,2,0,0,848,849,3,334,167,0,849,850,5,3,0,0,850,852,1,0,0,0,851,847,1,0,0,0,851,852,1,0,0,0,852,853,1,0,0,0,853,856,3,48,24,0,854,855,5,207,0,0,855,857,3,54,27,0,856,854,1,0,0,0,856,857,1,0,0,0,857,1338,1,0,0,0,858,859,5,11,0,0,859,860,5,338,0,0,860,862,3,90,45,0,861,863,5,20,0,0,862,861,1,0,0,0,862,863,1,0,0,0,863,864,1,0,0,0,864,865,3,26,13,0,865,1338,1,0,0,0,866,869,5,59,0,0,867,868,5,208,0,0,868,870,5,244,0,0,869,867,1,0,0,0,869,870,1,0,0,0,870,872,1,0,0,0,871,873,5,298,0,0,872,871,1,0,0,0,872,873,1,0,0,0,873,874,1,0,0,0,874,876,5,125,0,0,875,877,3,190,95,0,876,875,1,0,0,0,876,877,1,0,0,0,877,878,1,0,0,0,878,879,3,368,184,0,879,880,5,20,0,0,880,890,3,388,194,0,881,882,5,332,0,0,882,887,3,76,38,0,883,884,5,4,0,0,884,886,3,76,38,0,885,883,1,0,0,0,886,889,1,0,0,0,887,885,1,0,0,0,887,888,1,0,0,0,888,891,1,0,0,0,889,887,1,0,0,0,890,881,1,0,0,0,890,891,1,0,0,0,891,1338,1,0,0,0,892,893,5,59,0,0,893,894,5,176,0,0,894,896,5,338,0,0,895,897,3,190,95,0,896,895,1,0,0,0,896,897,1,0,0,0,897,898,1,0,0,0,898,900,3,88,44,0,899,901,3,48,24,0,900,899,1,0,0,0,900,901,1,0,0,0,901,917,1,0,0,0,902,903,5,207,0,0,903,916,3,54,27,0,904,905,5,218,0,0,905,906,5,31,0,0,906,916,3,260,130,0,907,916,3,20,10,0,908,916,3,18,9,0,909,916,3,242,121,0,910,916,3,70,35,0,911,916,3,22,11,0,912,916,3,24,12,0,913,914,5,297,0,0,914,916,3,54,27,0,915,902,1,0,0,0,915,904,1,0,0,0,915,907,1,0,0,0,915,908,1,0,0,0,915,909,1,0,0,0,915,910,1,0,0,0,915,911,1,0,0,0,915,912,1,0,0,0,915,913,1,0,0,0,916,919,1,0,0,0,917,915,1,0,0,0,917,918,1,0,0,0,918,920,1,0,0,0,919,917,1,0,0,0,920,921,5,20,0,0,921,922,3,26,13,0,922,1338,1,0,0,0,923,925,5,96,0,0,924,926,5,298,0,0,925,924,1,0,0,0,925,926,1,0,0,0,926,927,1,0,0,0,927,929,5,125,0,0,928,930,3,192,96,0,929,928,1,0,0,0,929,930,1,0,0,0,930,931,1,0,0,0,931,1338,3,366,183,0,932,935,5,81,0,0,933,934,5,208,0,0,934,936,5,244,0,0,935,933,1,0,0,0,935,936,1,0,0,0,936,938,1,0,0,0,937,939,5,336,0,0,938,937,1,0,0,0,938,939,1,0,0,0,939,940,1,0,0,0,940,942,3,366,183,0,941,943,3,318,159,0,942,941,1,0,0,0,942,943,1,0,0,0,943,945,1,0,0,0,944,946,3,332,166,0,945,944,1,0,0,0,945,946,1,0,0,0,946,1338,1,0,0,0,947,948,5,96,0,0,948,949,5,298,0,0,949,951,5,336,0,0,950,952,3,192,96,0,951,950,1,0,0,0,951,952,1,0,0,0,952,956,1,0,0,0,953,957,3,86,43,0,954,957,3,90,45,0,955,957,3,366,183,0,956,953,1,0,0,0,956,954,1,0,0,0,956,955,1,0,0,0,957,1338,1,0,0,0,958,960,5,106,0,0,959,961,7,5,0,0,960,959,1,0,0,0,960,961,1,0,0,0,961,962,1,0,0,0,962,1338,3,4,2,0,963,964,5,273,0,0,964,967,5,294,0,0,965,966,7,2,0,0,966,968,3,80,40,0,967,965,1,0,0,0,967,968,1,0,0,0,968,973,1,0,0,0,969,971,5,163,0,0,970,969,1,0,0,0,970,971,1,0,0,0,971,972,1,0,0,0,972,974,3,388,194,0,973,970,1,0,0,0,973,974,1,0,0,0,974,1338,1,0,0,0,975,976,5,273,0,0,976,977,5,293,0,0,977,980,5,108,0,0,978,979,7,2,0,0,979,981,3,80,40,0,980,978,1,0,0,0,980,981,1,0,0,0,981,982,1,0,0,0,982,983,5,163,0,0,983,985,3,388,194,0,984,986,3,32,16,0,985,984,1,0,0,0,985,986,1,0,0,0,986,1338,1,0,0,0,987,988,5,273,0,0,988,989,5,297,0,0,989,994,3,86,43,0,990,991,5,2,0,0,991,992,3,58,29,0,992,993,5,3,0,0,993,995,1,0,0,0,994,990,1,0,0,0,994,995,1,0,0,0,995,1338,1,0,0,0,996,997,5,273,0,0,997,998,5,50,0,0,998,999,7,2,0,0,999,1002,3,86,43,0,1e3,1001,7,2,0,0,1001,1003,3,80,40,0,1002,1e3,1,0,0,0,1002,1003,1,0,0,0,1003,1338,1,0,0,0,1004,1005,5,273,0,0,1005,1008,5,339,0,0,1006,1007,7,2,0,0,1007,1009,3,80,40,0,1008,1006,1,0,0,0,1008,1009,1,0,0,0,1009,1014,1,0,0,0,1010,1012,5,163,0,0,1011,1010,1,0,0,0,1011,1012,1,0,0,0,1012,1013,1,0,0,0,1013,1015,3,388,194,0,1014,1011,1,0,0,0,1014,1015,1,0,0,0,1015,1338,1,0,0,0,1016,1017,5,273,0,0,1017,1018,5,219,0,0,1018,1020,3,86,43,0,1019,1021,3,32,16,0,1020,1019,1,0,0,0,1020,1021,1,0,0,0,1021,1338,1,0,0,0,1022,1024,5,273,0,0,1023,1025,3,148,74,0,1024,1023,1,0,0,0,1024,1025,1,0,0,0,1025,1026,1,0,0,0,1026,1029,5,126,0,0,1027,1028,7,2,0,0,1028,1030,3,80,40,0,1029,1027,1,0,0,0,1029,1030,1,0,0,0,1030,1038,1,0,0,0,1031,1033,5,163,0,0,1032,1031,1,0,0,0,1032,1033,1,0,0,0,1033,1036,1,0,0,0,1034,1037,3,246,123,0,1035,1037,3,388,194,0,1036,1034,1,0,0,0,1036,1035,1,0,0,0,1037,1039,1,0,0,0,1038,1032,1,0,0,0,1038,1039,1,0,0,0,1039,1338,1,0,0,0,1040,1041,5,273,0,0,1041,1042,5,59,0,0,1042,1043,5,293,0,0,1043,1046,3,86,43,0,1044,1045,5,20,0,0,1045,1047,5,266,0,0,1046,1044,1,0,0,0,1046,1047,1,0,0,0,1047,1338,1,0,0,0,1048,1049,5,273,0,0,1049,1050,5,62,0,0,1050,1338,3,36,18,0,1051,1052,5,273,0,0,1052,1057,5,38,0,0,1053,1055,5,163,0,0,1054,1053,1,0,0,0,1054,1055,1,0,0,0,1055,1056,1,0,0,0,1056,1058,3,388,194,0,1057,1054,1,0,0,0,1057,1058,1,0,0,0,1058,1338,1,0,0,0,1059,1060,5,273,0,0,1060,1061,5,176,0,0,1061,1064,5,339,0,0,1062,1063,7,2,0,0,1063,1065,3,80,40,0,1064,1062,1,0,0,0,1064,1065,1,0,0,0,1065,1070,1,0,0,0,1066,1068,5,163,0,0,1067,1066,1,0,0,0,1067,1068,1,0,0,0,1068,1069,1,0,0,0,1069,1071,3,388,194,0,1070,1067,1,0,0,0,1070,1071,1,0,0,0,1071,1338,1,0,0,0,1072,1073,5,273,0,0,1073,1074,5,59,0,0,1074,1075,5,176,0,0,1075,1076,5,338,0,0,1076,1079,3,90,45,0,1077,1078,5,20,0,0,1078,1080,5,266,0,0,1079,1077,1,0,0,0,1079,1080,1,0,0,0,1080,1338,1,0,0,0,1081,1082,7,6,0,0,1082,1084,5,125,0,0,1083,1085,5,108,0,0,1084,1083,1,0,0,0,1084,1085,1,0,0,0,1085,1086,1,0,0,0,1086,1338,3,40,20,0,1087,1088,7,6,0,0,1088,1090,5,72,0,0,1089,1091,5,108,0,0,1090,1089,1,0,0,0,1090,1091,1,0,0,0,1091,1092,1,0,0,0,1092,1338,3,80,40,0,1093,1095,7,6,0,0,1094,1096,5,293,0,0,1095,1094,1,0,0,0,1095,1096,1,0,0,0,1096,1098,1,0,0,0,1097,1099,7,7,0,0,1098,1097,1,0,0,0,1098,1099,1,0,0,0,1099,1100,1,0,0,0,1100,1102,3,86,43,0,1101,1103,3,32,16,0,1102,1101,1,0,0,0,1102,1103,1,0,0,0,1103,1105,1,0,0,0,1104,1106,3,42,21,0,1105,1104,1,0,0,0,1105,1106,1,0,0,0,1106,1338,1,0,0,0,1107,1109,7,6,0,0,1108,1110,5,232,0,0,1109,1108,1,0,0,0,1109,1110,1,0,0,0,1110,1111,1,0,0,0,1111,1338,3,26,13,0,1112,1113,5,51,0,0,1113,1114,5,203,0,0,1114,1115,3,36,18,0,1115,1116,3,80,40,0,1116,1117,5,153,0,0,1117,1118,3,390,195,0,1118,1338,1,0,0,0,1119,1120,5,51,0,0,1120,1121,5,203,0,0,1121,1122,5,293,0,0,1122,1123,3,86,43,0,1123,1124,5,153,0,0,1124,1125,3,390,195,0,1125,1338,1,0,0,0,1126,1127,5,240,0,0,1127,1128,5,293,0,0,1128,1338,3,86,43,0,1129,1130,5,240,0,0,1130,1131,5,125,0,0,1131,1338,3,366,183,0,1132,1140,5,240,0,0,1133,1141,3,388,194,0,1134,1136,9,0,0,0,1135,1134,1,0,0,0,1136,1139,1,0,0,0,1137,1138,1,0,0,0,1137,1135,1,0,0,0,1138,1141,1,0,0,0,1139,1137,1,0,0,0,1140,1133,1,0,0,0,1140,1137,1,0,0,0,1141,1338,1,0,0,0,1142,1143,5,240,0,0,1143,1144,5,176,0,0,1144,1145,5,338,0,0,1145,1338,3,90,45,0,1146,1148,5,33,0,0,1147,1149,5,159,0,0,1148,1147,1,0,0,0,1148,1149,1,0,0,0,1149,1150,1,0,0,0,1150,1151,5,293,0,0,1151,1154,3,86,43,0,1152,1153,5,207,0,0,1153,1155,3,54,27,0,1154,1152,1,0,0,0,1154,1155,1,0,0,0,1155,1160,1,0,0,0,1156,1158,5,20,0,0,1157,1156,1,0,0,0,1157,1158,1,0,0,0,1158,1159,1,0,0,0,1159,1161,3,26,13,0,1160,1157,1,0,0,0,1160,1161,1,0,0,0,1161,1338,1,0,0,0,1162,1163,5,322,0,0,1163,1165,5,293,0,0,1164,1166,3,192,96,0,1165,1164,1,0,0,0,1165,1166,1,0,0,0,1166,1167,1,0,0,0,1167,1338,3,86,43,0,1168,1169,5,43,0,0,1169,1338,5,33,0,0,1170,1171,5,168,0,0,1171,1173,5,70,0,0,1172,1174,5,169,0,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1175,1,0,0,0,1175,1176,5,145,0,0,1176,1178,3,388,194,0,1177,1179,5,216,0,0,1178,1177,1,0,0,0,1178,1179,1,0,0,0,1179,1180,1,0,0,0,1180,1181,5,152,0,0,1181,1182,5,293,0,0,1182,1184,3,86,43,0,1183,1185,3,32,16,0,1184,1183,1,0,0,0,1184,1185,1,0,0,0,1185,1338,1,0,0,0,1186,1187,5,317,0,0,1187,1188,5,293,0,0,1188,1190,3,86,43,0,1189,1191,3,32,16,0,1190,1189,1,0,0,0,1190,1191,1,0,0,0,1191,1338,1,0,0,0,1192,1194,5,188,0,0,1193,1192,1,0,0,0,1193,1194,1,0,0,0,1194,1195,1,0,0,0,1195,1196,5,242,0,0,1196,1197,5,293,0,0,1197,1200,3,86,43,0,1198,1199,7,8,0,0,1199,1201,5,219,0,0,1200,1198,1,0,0,0,1200,1201,1,0,0,0,1201,1338,1,0,0,0,1202,1203,7,9,0,0,1203,1207,3,376,188,0,1204,1206,9,0,0,0,1205,1204,1,0,0,0,1206,1209,1,0,0,0,1207,1208,1,0,0,0,1207,1205,1,0,0,0,1208,1338,1,0,0,0,1209,1207,1,0,0,0,1210,1211,5,269,0,0,1211,1215,5,253,0,0,1212,1214,9,0,0,0,1213,1212,1,0,0,0,1214,1217,1,0,0,0,1215,1216,1,0,0,0,1215,1213,1,0,0,0,1216,1338,1,0,0,0,1217,1215,1,0,0,0,1218,1219,5,269,0,0,1219,1220,5,301,0,0,1220,1221,5,350,0,0,1221,1338,3,298,149,0,1222,1223,5,269,0,0,1223,1224,5,301,0,0,1224,1225,5,350,0,0,1225,1338,3,6,3,0,1226,1227,5,269,0,0,1227,1228,5,301,0,0,1228,1232,5,350,0,0,1229,1231,9,0,0,0,1230,1229,1,0,0,0,1231,1234,1,0,0,0,1232,1233,1,0,0,0,1232,1230,1,0,0,0,1233,1338,1,0,0,0,1234,1232,1,0,0,0,1235,1236,5,269,0,0,1236,1237,7,10,0,0,1237,1338,3,134,67,0,1238,1239,5,269,0,0,1239,1240,7,10,0,0,1240,1241,5,2,0,0,1241,1242,3,244,122,0,1242,1243,5,3,0,0,1243,1244,5,352,0,0,1244,1245,5,2,0,0,1245,1246,3,26,13,0,1246,1247,5,3,0,0,1247,1338,1,0,0,0,1248,1249,5,269,0,0,1249,1250,3,8,4,0,1250,1251,5,352,0,0,1251,1252,3,10,5,0,1252,1338,1,0,0,0,1253,1254,5,269,0,0,1254,1262,3,8,4,0,1255,1259,5,352,0,0,1256,1258,9,0,0,0,1257,1256,1,0,0,0,1258,1261,1,0,0,0,1259,1260,1,0,0,0,1259,1257,1,0,0,0,1260,1263,1,0,0,0,1261,1259,1,0,0,0,1262,1255,1,0,0,0,1262,1263,1,0,0,0,1263,1338,1,0,0,0,1264,1268,5,269,0,0,1265,1267,9,0,0,0,1266,1265,1,0,0,0,1267,1270,1,0,0,0,1268,1269,1,0,0,0,1268,1266,1,0,0,0,1269,1271,1,0,0,0,1270,1268,1,0,0,0,1271,1272,5,352,0,0,1272,1338,3,10,5,0,1273,1277,5,269,0,0,1274,1276,9,0,0,0,1275,1274,1,0,0,0,1276,1279,1,0,0,0,1277,1278,1,0,0,0,1277,1275,1,0,0,0,1278,1338,1,0,0,0,1279,1277,1,0,0,0,1280,1281,5,245,0,0,1281,1338,3,8,4,0,1282,1286,5,245,0,0,1283,1285,9,0,0,0,1284,1283,1,0,0,0,1285,1288,1,0,0,0,1286,1287,1,0,0,0,1286,1284,1,0,0,0,1287,1338,1,0,0,0,1288,1286,1,0,0,0,1289,1290,5,59,0,0,1290,1292,5,142,0,0,1291,1293,3,190,95,0,1292,1291,1,0,0,0,1292,1293,1,0,0,0,1293,1294,1,0,0,0,1294,1295,3,376,188,0,1295,1297,5,203,0,0,1296,1298,5,293,0,0,1297,1296,1,0,0,0,1297,1298,1,0,0,0,1298,1299,1,0,0,0,1299,1302,3,86,43,0,1300,1301,5,332,0,0,1301,1303,3,376,188,0,1302,1300,1,0,0,0,1302,1303,1,0,0,0,1303,1304,1,0,0,0,1304,1305,5,2,0,0,1305,1306,3,248,124,0,1306,1309,5,3,0,0,1307,1308,5,207,0,0,1308,1310,3,54,27,0,1309,1307,1,0,0,0,1309,1310,1,0,0,0,1310,1338,1,0,0,0,1311,1312,5,96,0,0,1312,1314,5,142,0,0,1313,1315,3,192,96,0,1314,1313,1,0,0,0,1314,1315,1,0,0,0,1315,1316,1,0,0,0,1316,1317,3,376,188,0,1317,1319,5,203,0,0,1318,1320,5,293,0,0,1319,1318,1,0,0,0,1319,1320,1,0,0,0,1320,1321,1,0,0,0,1321,1322,3,86,43,0,1322,1338,1,0,0,0,1323,1324,5,205,0,0,1324,1326,3,86,43,0,1325,1327,3,138,69,0,1326,1325,1,0,0,0,1326,1327,1,0,0,0,1327,1328,1,0,0,0,1328,1329,3,354,177,0,1329,1338,1,0,0,0,1330,1334,3,12,6,0,1331,1333,9,0,0,0,1332,1331,1,0,0,0,1333,1336,1,0,0,0,1334,1335,1,0,0,0,1334,1332,1,0,0,0,1335,1338,1,0,0,0,1336,1334,1,0,0,0,1337,412,1,0,0,0,1337,414,1,0,0,0,1337,417,1,0,0,0,1337,422,1,0,0,0,1337,428,1,0,0,0,1337,444,1,0,0,0,1337,451,1,0,0,0,1337,457,1,0,0,0,1337,466,1,0,0,0,1337,478,1,0,0,0,1337,495,1,0,0,0,1337,515,1,0,0,0,1337,532,1,0,0,0,1337,549,1,0,0,0,1337,560,1,0,0,0,1337,567,1,0,0,0,1337,576,1,0,0,0,1337,585,1,0,0,0,1337,595,1,0,0,0,1337,607,1,0,0,0,1337,618,1,0,0,0,1337,629,1,0,0,0,1337,643,1,0,0,0,1337,654,1,0,0,0,1337,669,1,0,0,0,1337,681,1,0,0,0,1337,695,1,0,0,0,1337,705,1,0,0,0,1337,721,1,0,0,0,1337,729,1,0,0,0,1337,751,1,0,0,0,1337,760,1,0,0,0,1337,766,1,0,0,0,1337,773,1,0,0,0,1337,781,1,0,0,0,1337,790,1,0,0,0,1337,796,1,0,0,0,1337,803,1,0,0,0,1337,836,1,0,0,0,1337,858,1,0,0,0,1337,866,1,0,0,0,1337,892,1,0,0,0,1337,923,1,0,0,0,1337,932,1,0,0,0,1337,947,1,0,0,0,1337,958,1,0,0,0,1337,963,1,0,0,0,1337,975,1,0,0,0,1337,987,1,0,0,0,1337,996,1,0,0,0,1337,1004,1,0,0,0,1337,1016,1,0,0,0,1337,1022,1,0,0,0,1337,1040,1,0,0,0,1337,1048,1,0,0,0,1337,1051,1,0,0,0,1337,1059,1,0,0,0,1337,1072,1,0,0,0,1337,1081,1,0,0,0,1337,1087,1,0,0,0,1337,1093,1,0,0,0,1337,1107,1,0,0,0,1337,1112,1,0,0,0,1337,1119,1,0,0,0,1337,1126,1,0,0,0,1337,1129,1,0,0,0,1337,1132,1,0,0,0,1337,1142,1,0,0,0,1337,1146,1,0,0,0,1337,1162,1,0,0,0,1337,1168,1,0,0,0,1337,1170,1,0,0,0,1337,1186,1,0,0,0,1337,1193,1,0,0,0,1337,1202,1,0,0,0,1337,1210,1,0,0,0,1337,1218,1,0,0,0,1337,1222,1,0,0,0,1337,1226,1,0,0,0,1337,1235,1,0,0,0,1337,1238,1,0,0,0,1337,1248,1,0,0,0,1337,1253,1,0,0,0,1337,1264,1,0,0,0,1337,1273,1,0,0,0,1337,1280,1,0,0,0,1337,1282,1,0,0,0,1337,1289,1,0,0,0,1337,1311,1,0,0,0,1337,1323,1,0,0,0,1337,1330,1,0,0,0,1338,5,1,0,0,0,1339,1342,3,388,194,0,1340,1342,5,169,0,0,1341,1339,1,0,0,0,1341,1340,1,0,0,0,1342,7,1,0,0,0,1343,1344,3,380,190,0,1344,9,1,0,0,0,1345,1346,3,382,191,0,1346,11,1,0,0,0,1347,1348,5,59,0,0,1348,1516,5,253,0,0,1349,1350,5,96,0,0,1350,1516,5,253,0,0,1351,1353,5,129,0,0,1352,1354,5,253,0,0,1353,1352,1,0,0,0,1353,1354,1,0,0,0,1354,1516,1,0,0,0,1355,1357,5,249,0,0,1356,1358,5,253,0,0,1357,1356,1,0,0,0,1357,1358,1,0,0,0,1358,1516,1,0,0,0,1359,1360,5,273,0,0,1360,1516,5,129,0,0,1361,1362,5,273,0,0,1362,1364,5,253,0,0,1363,1365,5,129,0,0,1364,1363,1,0,0,0,1364,1365,1,0,0,0,1365,1516,1,0,0,0,1366,1367,5,273,0,0,1367,1516,5,228,0,0,1368,1369,5,273,0,0,1369,1516,5,254,0,0,1370,1371,5,273,0,0,1371,1372,5,62,0,0,1372,1516,5,254,0,0,1373,1374,5,107,0,0,1374,1516,5,293,0,0,1375,1376,5,139,0,0,1376,1516,5,293,0,0,1377,1378,5,273,0,0,1378,1516,5,54,0,0,1379,1380,5,273,0,0,1380,1381,5,59,0,0,1381,1516,5,293,0,0,1382,1383,5,273,0,0,1383,1516,5,313,0,0,1384,1385,5,273,0,0,1385,1516,5,143,0,0,1386,1387,5,273,0,0,1387,1516,5,172,0,0,1388,1389,5,59,0,0,1389,1516,5,142,0,0,1390,1391,5,96,0,0,1391,1516,5,142,0,0,1392,1393,5,11,0,0,1393,1516,5,142,0,0,1394,1395,5,171,0,0,1395,1516,5,293,0,0,1396,1397,5,171,0,0,1397,1516,5,72,0,0,1398,1399,5,326,0,0,1399,1516,5,293,0,0,1400,1401,5,326,0,0,1401,1516,5,72,0,0,1402,1403,5,59,0,0,1403,1404,5,298,0,0,1404,1516,5,175,0,0,1405,1406,5,96,0,0,1406,1407,5,298,0,0,1407,1516,5,175,0,0,1408,1409,5,11,0,0,1409,1410,5,293,0,0,1410,1411,3,86,43,0,1411,1412,5,197,0,0,1412,1413,5,45,0,0,1413,1516,1,0,0,0,1414,1415,5,11,0,0,1415,1416,5,293,0,0,1416,1417,3,86,43,0,1417,1418,5,45,0,0,1418,1419,5,31,0,0,1419,1516,1,0,0,0,1420,1421,5,11,0,0,1421,1422,5,293,0,0,1422,1423,3,86,43,0,1423,1424,5,197,0,0,1424,1425,5,279,0,0,1425,1516,1,0,0,0,1426,1427,5,11,0,0,1427,1428,5,293,0,0,1428,1429,3,86,43,0,1429,1430,5,275,0,0,1430,1431,5,31,0,0,1431,1516,1,0,0,0,1432,1433,5,11,0,0,1433,1434,5,293,0,0,1434,1435,3,86,43,0,1435,1436,5,197,0,0,1436,1437,5,275,0,0,1437,1516,1,0,0,0,1438,1439,5,11,0,0,1439,1440,5,293,0,0,1440,1441,3,86,43,0,1441,1442,5,197,0,0,1442,1443,5,283,0,0,1443,1444,5,20,0,0,1444,1445,5,89,0,0,1445,1516,1,0,0,0,1446,1447,5,11,0,0,1447,1448,5,293,0,0,1448,1449,3,86,43,0,1449,1450,5,269,0,0,1450,1451,5,275,0,0,1451,1452,5,170,0,0,1452,1516,1,0,0,0,1453,1454,5,11,0,0,1454,1455,5,293,0,0,1455,1456,3,86,43,0,1456,1457,5,103,0,0,1457,1458,5,217,0,0,1458,1516,1,0,0,0,1459,1460,5,11,0,0,1460,1461,5,293,0,0,1461,1462,3,86,43,0,1462,1463,5,18,0,0,1463,1464,5,217,0,0,1464,1516,1,0,0,0,1465,1466,5,11,0,0,1466,1467,5,293,0,0,1467,1468,3,86,43,0,1468,1469,5,320,0,0,1469,1470,5,217,0,0,1470,1516,1,0,0,0,1471,1472,5,11,0,0,1472,1473,5,293,0,0,1473,1474,3,86,43,0,1474,1475,5,310,0,0,1475,1516,1,0,0,0,1476,1477,5,11,0,0,1477,1478,5,293,0,0,1478,1480,3,86,43,0,1479,1481,3,32,16,0,1480,1479,1,0,0,0,1480,1481,1,0,0,0,1481,1482,1,0,0,0,1482,1483,5,53,0,0,1483,1516,1,0,0,0,1484,1485,5,11,0,0,1485,1486,5,293,0,0,1486,1488,3,86,43,0,1487,1489,3,32,16,0,1488,1487,1,0,0,0,1488,1489,1,0,0,0,1489,1490,1,0,0,0,1490,1491,5,56,0,0,1491,1516,1,0,0,0,1492,1493,5,11,0,0,1493,1494,5,293,0,0,1494,1496,3,86,43,0,1495,1497,3,32,16,0,1496,1495,1,0,0,0,1496,1497,1,0,0,0,1497,1498,1,0,0,0,1498,1499,5,269,0,0,1499,1500,5,115,0,0,1500,1516,1,0,0,0,1501,1502,5,11,0,0,1502,1503,5,293,0,0,1503,1505,3,86,43,0,1504,1506,3,32,16,0,1505,1504,1,0,0,0,1505,1506,1,0,0,0,1506,1507,1,0,0,0,1507,1508,5,244,0,0,1508,1509,5,50,0,0,1509,1516,1,0,0,0,1510,1511,5,281,0,0,1511,1516,5,312,0,0,1512,1516,5,52,0,0,1513,1516,5,255,0,0,1514,1516,5,88,0,0,1515,1347,1,0,0,0,1515,1349,1,0,0,0,1515,1351,1,0,0,0,1515,1355,1,0,0,0,1515,1359,1,0,0,0,1515,1361,1,0,0,0,1515,1366,1,0,0,0,1515,1368,1,0,0,0,1515,1370,1,0,0,0,1515,1373,1,0,0,0,1515,1375,1,0,0,0,1515,1377,1,0,0,0,1515,1379,1,0,0,0,1515,1382,1,0,0,0,1515,1384,1,0,0,0,1515,1386,1,0,0,0,1515,1388,1,0,0,0,1515,1390,1,0,0,0,1515,1392,1,0,0,0,1515,1394,1,0,0,0,1515,1396,1,0,0,0,1515,1398,1,0,0,0,1515,1400,1,0,0,0,1515,1402,1,0,0,0,1515,1405,1,0,0,0,1515,1408,1,0,0,0,1515,1414,1,0,0,0,1515,1420,1,0,0,0,1515,1426,1,0,0,0,1515,1432,1,0,0,0,1515,1438,1,0,0,0,1515,1446,1,0,0,0,1515,1453,1,0,0,0,1515,1459,1,0,0,0,1515,1465,1,0,0,0,1515,1471,1,0,0,0,1515,1476,1,0,0,0,1515,1484,1,0,0,0,1515,1492,1,0,0,0,1515,1501,1,0,0,0,1515,1510,1,0,0,0,1515,1512,1,0,0,0,1515,1513,1,0,0,0,1515,1514,1,0,0,0,1516,13,1,0,0,0,1517,1519,5,59,0,0,1518,1520,5,298,0,0,1519,1518,1,0,0,0,1519,1520,1,0,0,0,1520,1522,1,0,0,0,1521,1523,5,109,0,0,1522,1521,1,0,0,0,1522,1523,1,0,0,0,1523,1524,1,0,0,0,1524,1526,5,293,0,0,1525,1527,3,190,95,0,1526,1525,1,0,0,0,1526,1527,1,0,0,0,1527,1528,1,0,0,0,1528,1529,3,84,42,0,1529,15,1,0,0,0,1530,1531,5,59,0,0,1531,1533,5,208,0,0,1532,1530,1,0,0,0,1532,1533,1,0,0,0,1533,1534,1,0,0,0,1534,1535,5,244,0,0,1535,1536,5,293,0,0,1536,1537,3,84,42,0,1537,17,1,0,0,0,1538,1539,5,45,0,0,1539,1540,5,31,0,0,1540,1544,3,212,106,0,1541,1542,5,279,0,0,1542,1543,5,31,0,0,1543,1545,3,216,108,0,1544,1541,1,0,0,0,1544,1545,1,0,0,0,1545,1546,1,0,0,0,1546,1547,5,152,0,0,1547,1548,5,382,0,0,1548,1549,5,30,0,0,1549,19,1,0,0,0,1550,1551,5,275,0,0,1551,1552,5,31,0,0,1552,1553,3,212,106,0,1553,1556,5,203,0,0,1554,1557,3,66,33,0,1555,1557,3,68,34,0,1556,1554,1,0,0,0,1556,1555,1,0,0,0,1557,1561,1,0,0,0,1558,1559,5,283,0,0,1559,1560,5,20,0,0,1560,1562,5,89,0,0,1561,1558,1,0,0,0,1561,1562,1,0,0,0,1562,21,1,0,0,0,1563,1564,5,170,0,0,1564,1565,3,388,194,0,1565,23,1,0,0,0,1566,1567,5,51,0,0,1567,1568,3,388,194,0,1568,25,1,0,0,0,1569,1571,3,44,22,0,1570,1569,1,0,0,0,1570,1571,1,0,0,0,1571,1572,1,0,0,0,1572,1573,3,104,52,0,1573,1574,3,100,50,0,1574,27,1,0,0,0,1575,1576,5,147,0,0,1576,1578,5,216,0,0,1577,1579,5,293,0,0,1578,1577,1,0,0,0,1578,1579,1,0,0,0,1579,1580,1,0,0,0,1580,1585,3,86,43,0,1581,1583,3,32,16,0,1582,1584,3,190,95,0,1583,1582,1,0,0,0,1583,1584,1,0,0,0,1584,1586,1,0,0,0,1585,1581,1,0,0,0,1585,1586,1,0,0,0,1586,1593,1,0,0,0,1587,1588,5,31,0,0,1588,1594,5,189,0,0,1589,1590,5,2,0,0,1590,1591,3,94,47,0,1591,1592,5,3,0,0,1592,1594,1,0,0,0,1593,1587,1,0,0,0,1593,1589,1,0,0,0,1593,1594,1,0,0,0,1594,1652,1,0,0,0,1595,1596,5,147,0,0,1596,1598,5,152,0,0,1597,1599,5,293,0,0,1598,1597,1,0,0,0,1598,1599,1,0,0,0,1599,1600,1,0,0,0,1600,1602,3,86,43,0,1601,1603,3,32,16,0,1602,1601,1,0,0,0,1602,1603,1,0,0,0,1603,1605,1,0,0,0,1604,1606,3,190,95,0,1605,1604,1,0,0,0,1605,1606,1,0,0,0,1606,1613,1,0,0,0,1607,1608,5,31,0,0,1608,1614,5,189,0,0,1609,1610,5,2,0,0,1610,1611,3,94,47,0,1611,1612,5,3,0,0,1612,1614,1,0,0,0,1613,1607,1,0,0,0,1613,1609,1,0,0,0,1613,1614,1,0,0,0,1614,1652,1,0,0,0,1615,1616,5,147,0,0,1616,1618,5,152,0,0,1617,1619,5,293,0,0,1618,1617,1,0,0,0,1618,1619,1,0,0,0,1619,1620,1,0,0,0,1620,1621,3,86,43,0,1621,1622,5,244,0,0,1622,1623,3,138,69,0,1623,1652,1,0,0,0,1624,1625,5,147,0,0,1625,1627,5,216,0,0,1626,1628,5,169,0,0,1627,1626,1,0,0,0,1627,1628,1,0,0,0,1628,1629,1,0,0,0,1629,1630,5,90,0,0,1630,1632,3,388,194,0,1631,1633,3,242,121,0,1632,1631,1,0,0,0,1632,1633,1,0,0,0,1633,1635,1,0,0,0,1634,1636,3,70,35,0,1635,1634,1,0,0,0,1635,1636,1,0,0,0,1636,1652,1,0,0,0,1637,1638,5,147,0,0,1638,1640,5,216,0,0,1639,1641,5,169,0,0,1640,1639,1,0,0,0,1640,1641,1,0,0,0,1641,1642,1,0,0,0,1642,1644,5,90,0,0,1643,1645,3,388,194,0,1644,1643,1,0,0,0,1644,1645,1,0,0,0,1645,1646,1,0,0,0,1646,1649,3,48,24,0,1647,1648,5,207,0,0,1648,1650,3,54,27,0,1649,1647,1,0,0,0,1649,1650,1,0,0,0,1650,1652,1,0,0,0,1651,1575,1,0,0,0,1651,1595,1,0,0,0,1651,1615,1,0,0,0,1651,1624,1,0,0,0,1651,1637,1,0,0,0,1652,29,1,0,0,0,1653,1655,3,32,16,0,1654,1656,3,22,11,0,1655,1654,1,0,0,0,1655,1656,1,0,0,0,1656,31,1,0,0,0,1657,1658,5,217,0,0,1658,1659,5,2,0,0,1659,1664,3,34,17,0,1660,1661,5,4,0,0,1661,1663,3,34,17,0,1662,1660,1,0,0,0,1663,1666,1,0,0,0,1664,1662,1,0,0,0,1664,1665,1,0,0,0,1665,1667,1,0,0,0,1666,1664,1,0,0,0,1667,1668,5,3,0,0,1668,33,1,0,0,0,1669,1672,3,376,188,0,1670,1671,5,352,0,0,1671,1673,3,288,144,0,1672,1670,1,0,0,0,1672,1673,1,0,0,0,1673,1679,1,0,0,0,1674,1675,3,376,188,0,1675,1676,5,352,0,0,1676,1677,5,82,0,0,1677,1679,1,0,0,0,1678,1669,1,0,0,0,1678,1674,1,0,0,0,1679,35,1,0,0,0,1680,1681,7,11,0,0,1681,37,1,0,0,0,1682,1683,7,12,0,0,1683,39,1,0,0,0,1684,1690,3,98,49,0,1685,1690,3,388,194,0,1686,1690,3,290,145,0,1687,1690,3,292,146,0,1688,1690,3,294,147,0,1689,1684,1,0,0,0,1689,1685,1,0,0,0,1689,1686,1,0,0,0,1689,1687,1,0,0,0,1689,1688,1,0,0,0,1690,41,1,0,0,0,1691,1696,3,376,188,0,1692,1693,5,5,0,0,1693,1695,3,376,188,0,1694,1692,1,0,0,0,1695,1698,1,0,0,0,1696,1694,1,0,0,0,1696,1697,1,0,0,0,1697,43,1,0,0,0,1698,1696,1,0,0,0,1699,1700,5,346,0,0,1700,1705,3,46,23,0,1701,1702,5,4,0,0,1702,1704,3,46,23,0,1703,1701,1,0,0,0,1704,1707,1,0,0,0,1705,1703,1,0,0,0,1705,1706,1,0,0,0,1706,45,1,0,0,0,1707,1705,1,0,0,0,1708,1710,3,372,186,0,1709,1711,3,212,106,0,1710,1709,1,0,0,0,1710,1711,1,0,0,0,1711,1713,1,0,0,0,1712,1714,5,20,0,0,1713,1712,1,0,0,0,1713,1714,1,0,0,0,1714,1715,1,0,0,0,1715,1716,5,2,0,0,1716,1717,3,26,13,0,1717,1718,5,3,0,0,1718,47,1,0,0,0,1719,1720,5,332,0,0,1720,1721,3,246,123,0,1721,49,1,0,0,0,1722,1723,5,207,0,0,1723,1737,3,62,31,0,1724,1725,5,218,0,0,1725,1726,5,31,0,0,1726,1737,3,260,130,0,1727,1737,3,20,10,0,1728,1737,3,18,9,0,1729,1737,3,242,121,0,1730,1737,3,70,35,0,1731,1737,3,22,11,0,1732,1737,3,24,12,0,1733,1734,5,297,0,0,1734,1737,3,54,27,0,1735,1737,3,52,26,0,1736,1722,1,0,0,0,1736,1724,1,0,0,0,1736,1727,1,0,0,0,1736,1728,1,0,0,0,1736,1729,1,0,0,0,1736,1730,1,0,0,0,1736,1731,1,0,0,0,1736,1732,1,0,0,0,1736,1733,1,0,0,0,1736,1735,1,0,0,0,1737,1740,1,0,0,0,1738,1736,1,0,0,0,1738,1739,1,0,0,0,1739,51,1,0,0,0,1740,1738,1,0,0,0,1741,1742,5,162,0,0,1742,1743,5,382,0,0,1743,53,1,0,0,0,1744,1745,5,2,0,0,1745,1750,3,56,28,0,1746,1747,5,4,0,0,1747,1749,3,56,28,0,1748,1746,1,0,0,0,1749,1752,1,0,0,0,1750,1748,1,0,0,0,1750,1751,1,0,0,0,1751,1753,1,0,0,0,1752,1750,1,0,0,0,1753,1754,5,3,0,0,1754,55,1,0,0,0,1755,1760,3,58,29,0,1756,1758,5,352,0,0,1757,1756,1,0,0,0,1757,1758,1,0,0,0,1758,1759,1,0,0,0,1759,1761,3,60,30,0,1760,1757,1,0,0,0,1760,1761,1,0,0,0,1761,57,1,0,0,0,1762,1767,3,376,188,0,1763,1764,5,5,0,0,1764,1766,3,376,188,0,1765,1763,1,0,0,0,1766,1769,1,0,0,0,1767,1765,1,0,0,0,1767,1768,1,0,0,0,1768,1772,1,0,0,0,1769,1767,1,0,0,0,1770,1772,3,388,194,0,1771,1762,1,0,0,0,1771,1770,1,0,0,0,1772,59,1,0,0,0,1773,1778,5,382,0,0,1774,1778,5,384,0,0,1775,1778,3,296,148,0,1776,1778,3,388,194,0,1777,1773,1,0,0,0,1777,1774,1,0,0,0,1777,1775,1,0,0,0,1777,1776,1,0,0,0,1778,61,1,0,0,0,1779,1780,5,2,0,0,1780,1785,3,64,32,0,1781,1782,5,4,0,0,1782,1784,3,64,32,0,1783,1781,1,0,0,0,1784,1787,1,0,0,0,1785,1783,1,0,0,0,1785,1786,1,0,0,0,1786,1788,1,0,0,0,1787,1785,1,0,0,0,1788,1789,5,3,0,0,1789,63,1,0,0,0,1790,1795,3,58,29,0,1791,1793,5,352,0,0,1792,1791,1,0,0,0,1792,1793,1,0,0,0,1793,1794,1,0,0,0,1794,1796,3,268,134,0,1795,1792,1,0,0,0,1795,1796,1,0,0,0,1796,65,1,0,0,0,1797,1798,5,2,0,0,1798,1803,3,288,144,0,1799,1800,5,4,0,0,1800,1802,3,288,144,0,1801,1799,1,0,0,0,1802,1805,1,0,0,0,1803,1801,1,0,0,0,1803,1804,1,0,0,0,1804,1806,1,0,0,0,1805,1803,1,0,0,0,1806,1807,5,3,0,0,1807,67,1,0,0,0,1808,1809,5,2,0,0,1809,1814,3,66,33,0,1810,1811,5,4,0,0,1811,1813,3,66,33,0,1812,1810,1,0,0,0,1813,1816,1,0,0,0,1814,1812,1,0,0,0,1814,1815,1,0,0,0,1815,1817,1,0,0,0,1816,1814,1,0,0,0,1817,1818,5,3,0,0,1818,69,1,0,0,0,1819,1820,5,283,0,0,1820,1821,5,20,0,0,1821,1826,3,72,36,0,1822,1823,5,283,0,0,1823,1824,5,31,0,0,1824,1826,3,74,37,0,1825,1819,1,0,0,0,1825,1822,1,0,0,0,1826,71,1,0,0,0,1827,1828,5,146,0,0,1828,1829,3,388,194,0,1829,1830,5,212,0,0,1830,1831,3,388,194,0,1831,1834,1,0,0,0,1832,1834,3,376,188,0,1833,1827,1,0,0,0,1833,1832,1,0,0,0,1834,73,1,0,0,0,1835,1839,3,388,194,0,1836,1837,5,346,0,0,1837,1838,5,267,0,0,1838,1840,3,54,27,0,1839,1836,1,0,0,0,1839,1840,1,0,0,0,1840,75,1,0,0,0,1841,1842,3,376,188,0,1842,1843,3,388,194,0,1843,77,1,0,0,0,1844,1845,3,28,14,0,1845,1846,3,26,13,0,1846,1901,1,0,0,0,1847,1849,3,146,73,0,1848,1850,3,102,51,0,1849,1848,1,0,0,0,1850,1851,1,0,0,0,1851,1849,1,0,0,0,1851,1852,1,0,0,0,1852,1901,1,0,0,0,1853,1854,5,84,0,0,1854,1855,5,123,0,0,1855,1856,3,86,43,0,1856,1858,3,240,120,0,1857,1859,3,138,69,0,1858,1857,1,0,0,0,1858,1859,1,0,0,0,1859,1901,1,0,0,0,1860,1861,5,329,0,0,1861,1862,3,86,43,0,1862,1863,3,240,120,0,1863,1865,3,120,60,0,1864,1866,3,138,69,0,1865,1864,1,0,0,0,1865,1866,1,0,0,0,1866,1901,1,0,0,0,1867,1868,5,179,0,0,1868,1869,5,152,0,0,1869,1870,3,86,43,0,1870,1871,3,240,120,0,1871,1877,5,332,0,0,1872,1878,3,98,49,0,1873,1874,5,2,0,0,1874,1875,3,26,13,0,1875,1876,5,3,0,0,1876,1878,1,0,0,0,1877,1872,1,0,0,0,1877,1873,1,0,0,0,1878,1879,1,0,0,0,1879,1880,3,240,120,0,1880,1881,5,203,0,0,1881,1885,3,276,138,0,1882,1884,3,122,61,0,1883,1882,1,0,0,0,1884,1887,1,0,0,0,1885,1883,1,0,0,0,1885,1886,1,0,0,0,1886,1891,1,0,0,0,1887,1885,1,0,0,0,1888,1890,3,124,62,0,1889,1888,1,0,0,0,1890,1893,1,0,0,0,1891,1889,1,0,0,0,1891,1892,1,0,0,0,1892,1897,1,0,0,0,1893,1891,1,0,0,0,1894,1896,3,126,63,0,1895,1894,1,0,0,0,1896,1899,1,0,0,0,1897,1895,1,0,0,0,1897,1898,1,0,0,0,1898,1901,1,0,0,0,1899,1897,1,0,0,0,1900,1844,1,0,0,0,1900,1847,1,0,0,0,1900,1853,1,0,0,0,1900,1860,1,0,0,0,1900,1867,1,0,0,0,1901,79,1,0,0,0,1902,1903,3,98,49,0,1903,81,1,0,0,0,1904,1905,3,98,49,0,1905,83,1,0,0,0,1906,1907,3,252,126,0,1907,85,1,0,0,0,1908,1909,3,252,126,0,1909,87,1,0,0,0,1910,1911,3,254,127,0,1911,89,1,0,0,0,1912,1913,3,254,127,0,1913,91,1,0,0,0,1914,1917,3,246,123,0,1915,1917,4,46,0,0,1916,1914,1,0,0,0,1916,1915,1,0,0,0,1917,93,1,0,0,0,1918,1923,3,92,46,0,1919,1920,5,4,0,0,1920,1922,3,92,46,0,1921,1919,1,0,0,0,1922,1925,1,0,0,0,1923,1921,1,0,0,0,1923,1924,1,0,0,0,1924,95,1,0,0,0,1925,1923,1,0,0,0,1926,1927,3,372,186,0,1927,97,1,0,0,0,1928,1929,5,136,0,0,1929,1930,5,2,0,0,1930,1931,3,268,134,0,1931,1932,5,3,0,0,1932,1935,1,0,0,0,1933,1935,3,246,123,0,1934,1928,1,0,0,0,1934,1933,1,0,0,0,1935,99,1,0,0,0,1936,1937,5,209,0,0,1937,1938,5,31,0,0,1938,1943,3,108,54,0,1939,1940,5,4,0,0,1940,1942,3,108,54,0,1941,1939,1,0,0,0,1942,1945,1,0,0,0,1943,1941,1,0,0,0,1943,1944,1,0,0,0,1944,1947,1,0,0,0,1945,1943,1,0,0,0,1946,1936,1,0,0,0,1946,1947,1,0,0,0,1947,1958,1,0,0,0,1948,1949,5,44,0,0,1949,1950,5,31,0,0,1950,1955,3,268,134,0,1951,1952,5,4,0,0,1952,1954,3,268,134,0,1953,1951,1,0,0,0,1954,1957,1,0,0,0,1955,1953,1,0,0,0,1955,1956,1,0,0,0,1956,1959,1,0,0,0,1957,1955,1,0,0,0,1958,1948,1,0,0,0,1958,1959,1,0,0,0,1959,1970,1,0,0,0,1960,1961,5,93,0,0,1961,1962,5,31,0,0,1962,1967,3,268,134,0,1963,1964,5,4,0,0,1964,1966,3,268,134,0,1965,1963,1,0,0,0,1966,1969,1,0,0,0,1967,1965,1,0,0,0,1967,1968,1,0,0,0,1968,1971,1,0,0,0,1969,1967,1,0,0,0,1970,1960,1,0,0,0,1970,1971,1,0,0,0,1971,1982,1,0,0,0,1972,1973,5,278,0,0,1973,1974,5,31,0,0,1974,1979,3,108,54,0,1975,1976,5,4,0,0,1976,1978,3,108,54,0,1977,1975,1,0,0,0,1978,1981,1,0,0,0,1979,1977,1,0,0,0,1979,1980,1,0,0,0,1980,1983,1,0,0,0,1981,1979,1,0,0,0,1982,1972,1,0,0,0,1982,1983,1,0,0,0,1983,1985,1,0,0,0,1984,1986,3,352,176,0,1985,1984,1,0,0,0,1985,1986,1,0,0,0,1986,1992,1,0,0,0,1987,1990,5,165,0,0,1988,1991,5,10,0,0,1989,1991,3,268,134,0,1990,1988,1,0,0,0,1990,1989,1,0,0,0,1991,1993,1,0,0,0,1992,1987,1,0,0,0,1992,1993,1,0,0,0,1993,1996,1,0,0,0,1994,1995,5,202,0,0,1995,1997,3,268,134,0,1996,1994,1,0,0,0,1996,1997,1,0,0,0,1997,101,1,0,0,0,1998,1999,3,28,14,0,1999,2e3,3,112,56,0,2e3,103,1,0,0,0,2001,2002,6,52,-1,0,2002,2003,3,106,53,0,2003,2024,1,0,0,0,2004,2005,10,3,0,0,2005,2007,7,13,0,0,2006,2008,3,196,98,0,2007,2006,1,0,0,0,2007,2008,1,0,0,0,2008,2009,1,0,0,0,2009,2023,3,104,52,4,2010,2011,10,2,0,0,2011,2013,5,148,0,0,2012,2014,3,196,98,0,2013,2012,1,0,0,0,2013,2014,1,0,0,0,2014,2015,1,0,0,0,2015,2023,3,104,52,3,2016,2017,10,1,0,0,2017,2019,7,14,0,0,2018,2020,3,196,98,0,2019,2018,1,0,0,0,2019,2020,1,0,0,0,2020,2021,1,0,0,0,2021,2023,3,104,52,2,2022,2004,1,0,0,0,2022,2010,1,0,0,0,2022,2016,1,0,0,0,2023,2026,1,0,0,0,2024,2022,1,0,0,0,2024,2025,1,0,0,0,2025,105,1,0,0,0,2026,2024,1,0,0,0,2027,2037,3,114,57,0,2028,2037,3,110,55,0,2029,2030,5,293,0,0,2030,2037,3,86,43,0,2031,2037,3,226,113,0,2032,2033,5,2,0,0,2033,2034,3,26,13,0,2034,2035,5,3,0,0,2035,2037,1,0,0,0,2036,2027,1,0,0,0,2036,2028,1,0,0,0,2036,2029,1,0,0,0,2036,2031,1,0,0,0,2036,2032,1,0,0,0,2037,107,1,0,0,0,2038,2041,3,92,46,0,2039,2041,3,268,134,0,2040,2038,1,0,0,0,2040,2039,1,0,0,0,2041,2043,1,0,0,0,2042,2044,7,15,0,0,2043,2042,1,0,0,0,2043,2044,1,0,0,0,2044,2047,1,0,0,0,2045,2046,5,199,0,0,2046,2048,7,16,0,0,2047,2045,1,0,0,0,2047,2048,1,0,0,0,2048,109,1,0,0,0,2049,2051,3,146,73,0,2050,2052,3,112,56,0,2051,2050,1,0,0,0,2052,2053,1,0,0,0,2053,2051,1,0,0,0,2053,2054,1,0,0,0,2054,111,1,0,0,0,2055,2057,3,116,58,0,2056,2058,3,138,69,0,2057,2056,1,0,0,0,2057,2058,1,0,0,0,2058,2059,1,0,0,0,2059,2060,3,100,50,0,2060,2083,1,0,0,0,2061,2065,3,118,59,0,2062,2064,3,194,97,0,2063,2062,1,0,0,0,2064,2067,1,0,0,0,2065,2063,1,0,0,0,2065,2066,1,0,0,0,2066,2069,1,0,0,0,2067,2065,1,0,0,0,2068,2070,3,138,69,0,2069,2068,1,0,0,0,2069,2070,1,0,0,0,2070,2072,1,0,0,0,2071,2073,3,152,76,0,2072,2071,1,0,0,0,2072,2073,1,0,0,0,2073,2075,1,0,0,0,2074,2076,3,140,70,0,2075,2074,1,0,0,0,2075,2076,1,0,0,0,2076,2078,1,0,0,0,2077,2079,3,352,176,0,2078,2077,1,0,0,0,2078,2079,1,0,0,0,2079,2080,1,0,0,0,2080,2081,3,100,50,0,2081,2083,1,0,0,0,2082,2055,1,0,0,0,2082,2061,1,0,0,0,2083,113,1,0,0,0,2084,2086,3,116,58,0,2085,2087,3,146,73,0,2086,2085,1,0,0,0,2086,2087,1,0,0,0,2087,2091,1,0,0,0,2088,2090,3,194,97,0,2089,2088,1,0,0,0,2090,2093,1,0,0,0,2091,2089,1,0,0,0,2091,2092,1,0,0,0,2092,2095,1,0,0,0,2093,2091,1,0,0,0,2094,2096,3,138,69,0,2095,2094,1,0,0,0,2095,2096,1,0,0,0,2096,2098,1,0,0,0,2097,2099,3,152,76,0,2098,2097,1,0,0,0,2098,2099,1,0,0,0,2099,2101,1,0,0,0,2100,2102,3,140,70,0,2101,2100,1,0,0,0,2101,2102,1,0,0,0,2102,2104,1,0,0,0,2103,2105,3,352,176,0,2104,2103,1,0,0,0,2104,2105,1,0,0,0,2105,2129,1,0,0,0,2106,2108,3,118,59,0,2107,2109,3,146,73,0,2108,2107,1,0,0,0,2108,2109,1,0,0,0,2109,2113,1,0,0,0,2110,2112,3,194,97,0,2111,2110,1,0,0,0,2112,2115,1,0,0,0,2113,2111,1,0,0,0,2113,2114,1,0,0,0,2114,2117,1,0,0,0,2115,2113,1,0,0,0,2116,2118,3,138,69,0,2117,2116,1,0,0,0,2117,2118,1,0,0,0,2118,2120,1,0,0,0,2119,2121,3,152,76,0,2120,2119,1,0,0,0,2120,2121,1,0,0,0,2121,2123,1,0,0,0,2122,2124,3,140,70,0,2123,2122,1,0,0,0,2123,2124,1,0,0,0,2124,2126,1,0,0,0,2125,2127,3,352,176,0,2126,2125,1,0,0,0,2126,2127,1,0,0,0,2127,2129,1,0,0,0,2128,2084,1,0,0,0,2128,2106,1,0,0,0,2129,115,1,0,0,0,2130,2131,5,263,0,0,2131,2132,5,314,0,0,2132,2134,5,2,0,0,2133,2135,3,196,98,0,2134,2133,1,0,0,0,2134,2135,1,0,0,0,2135,2136,1,0,0,0,2136,2137,3,274,137,0,2137,2138,5,3,0,0,2138,2150,1,0,0,0,2139,2141,5,177,0,0,2140,2142,3,196,98,0,2141,2140,1,0,0,0,2141,2142,1,0,0,0,2142,2143,1,0,0,0,2143,2150,3,274,137,0,2144,2146,5,238,0,0,2145,2147,3,196,98,0,2146,2145,1,0,0,0,2146,2147,1,0,0,0,2147,2148,1,0,0,0,2148,2150,3,274,137,0,2149,2130,1,0,0,0,2149,2139,1,0,0,0,2149,2144,1,0,0,0,2150,2152,1,0,0,0,2151,2153,3,242,121,0,2152,2151,1,0,0,0,2152,2153,1,0,0,0,2153,2156,1,0,0,0,2154,2155,5,236,0,0,2155,2157,3,388,194,0,2156,2154,1,0,0,0,2156,2157,1,0,0,0,2157,2158,1,0,0,0,2158,2159,5,332,0,0,2159,2172,3,388,194,0,2160,2170,5,20,0,0,2161,2171,3,214,107,0,2162,2171,3,334,167,0,2163,2166,5,2,0,0,2164,2167,3,214,107,0,2165,2167,3,334,167,0,2166,2164,1,0,0,0,2166,2165,1,0,0,0,2167,2168,1,0,0,0,2168,2169,5,3,0,0,2169,2171,1,0,0,0,2170,2161,1,0,0,0,2170,2162,1,0,0,0,2170,2163,1,0,0,0,2171,2173,1,0,0,0,2172,2160,1,0,0,0,2172,2173,1,0,0,0,2173,2175,1,0,0,0,2174,2176,3,242,121,0,2175,2174,1,0,0,0,2175,2176,1,0,0,0,2176,2179,1,0,0,0,2177,2178,5,235,0,0,2178,2180,3,388,194,0,2179,2177,1,0,0,0,2179,2180,1,0,0,0,2180,117,1,0,0,0,2181,2185,5,263,0,0,2182,2184,3,142,71,0,2183,2182,1,0,0,0,2184,2187,1,0,0,0,2185,2183,1,0,0,0,2185,2186,1,0,0,0,2186,2189,1,0,0,0,2187,2185,1,0,0,0,2188,2190,3,196,98,0,2189,2188,1,0,0,0,2189,2190,1,0,0,0,2190,2191,1,0,0,0,2191,2192,3,258,129,0,2192,119,1,0,0,0,2193,2194,5,269,0,0,2194,2195,3,134,67,0,2195,121,1,0,0,0,2196,2197,5,343,0,0,2197,2200,5,178,0,0,2198,2199,5,14,0,0,2199,2201,3,276,138,0,2200,2198,1,0,0,0,2200,2201,1,0,0,0,2201,2202,1,0,0,0,2202,2203,5,300,0,0,2203,2204,3,128,64,0,2204,123,1,0,0,0,2205,2206,5,343,0,0,2206,2207,5,197,0,0,2207,2210,5,178,0,0,2208,2209,5,31,0,0,2209,2211,5,296,0,0,2210,2208,1,0,0,0,2210,2211,1,0,0,0,2211,2214,1,0,0,0,2212,2213,5,14,0,0,2213,2215,3,276,138,0,2214,2212,1,0,0,0,2214,2215,1,0,0,0,2215,2216,1,0,0,0,2216,2217,5,300,0,0,2217,2218,3,130,65,0,2218,125,1,0,0,0,2219,2220,5,343,0,0,2220,2221,5,197,0,0,2221,2222,5,178,0,0,2222,2223,5,31,0,0,2223,2226,5,280,0,0,2224,2225,5,14,0,0,2225,2227,3,276,138,0,2226,2224,1,0,0,0,2226,2227,1,0,0,0,2227,2228,1,0,0,0,2228,2229,5,300,0,0,2229,2230,3,132,66,0,2230,127,1,0,0,0,2231,2239,5,84,0,0,2232,2233,5,329,0,0,2233,2234,5,269,0,0,2234,2239,5,363,0,0,2235,2236,5,329,0,0,2236,2237,5,269,0,0,2237,2239,3,134,67,0,2238,2231,1,0,0,0,2238,2232,1,0,0,0,2238,2235,1,0,0,0,2239,129,1,0,0,0,2240,2241,5,147,0,0,2241,2259,5,363,0,0,2242,2243,5,147,0,0,2243,2244,5,2,0,0,2244,2245,3,244,122,0,2245,2246,5,3,0,0,2246,2247,5,333,0,0,2247,2248,5,2,0,0,2248,2253,3,268,134,0,2249,2250,5,4,0,0,2250,2252,3,268,134,0,2251,2249,1,0,0,0,2252,2255,1,0,0,0,2253,2251,1,0,0,0,2253,2254,1,0,0,0,2254,2256,1,0,0,0,2255,2253,1,0,0,0,2256,2257,5,3,0,0,2257,2259,1,0,0,0,2258,2240,1,0,0,0,2258,2242,1,0,0,0,2259,131,1,0,0,0,2260,2265,5,84,0,0,2261,2262,5,329,0,0,2262,2263,5,269,0,0,2263,2265,3,134,67,0,2264,2260,1,0,0,0,2264,2261,1,0,0,0,2265,133,1,0,0,0,2266,2271,3,136,68,0,2267,2268,5,4,0,0,2268,2270,3,136,68,0,2269,2267,1,0,0,0,2270,2273,1,0,0,0,2271,2269,1,0,0,0,2271,2272,1,0,0,0,2272,135,1,0,0,0,2273,2271,1,0,0,0,2274,2275,3,246,123,0,2275,2276,5,352,0,0,2276,2277,3,268,134,0,2277,137,1,0,0,0,2278,2279,5,344,0,0,2279,2280,3,276,138,0,2280,139,1,0,0,0,2281,2282,5,132,0,0,2282,2283,3,276,138,0,2283,141,1,0,0,0,2284,2285,5,374,0,0,2285,2292,3,144,72,0,2286,2288,5,4,0,0,2287,2286,1,0,0,0,2287,2288,1,0,0,0,2288,2289,1,0,0,0,2289,2291,3,144,72,0,2290,2287,1,0,0,0,2291,2294,1,0,0,0,2292,2290,1,0,0,0,2292,2293,1,0,0,0,2293,2295,1,0,0,0,2294,2292,1,0,0,0,2295,2296,5,375,0,0,2296,143,1,0,0,0,2297,2311,3,376,188,0,2298,2299,3,376,188,0,2299,2300,5,2,0,0,2300,2305,3,284,142,0,2301,2302,5,4,0,0,2302,2304,3,284,142,0,2303,2301,1,0,0,0,2304,2307,1,0,0,0,2305,2303,1,0,0,0,2305,2306,1,0,0,0,2306,2308,1,0,0,0,2307,2305,1,0,0,0,2308,2309,5,3,0,0,2309,2311,1,0,0,0,2310,2297,1,0,0,0,2310,2298,1,0,0,0,2311,145,1,0,0,0,2312,2313,5,123,0,0,2313,2318,3,198,99,0,2314,2315,5,4,0,0,2315,2317,3,198,99,0,2316,2314,1,0,0,0,2317,2320,1,0,0,0,2318,2316,1,0,0,0,2318,2319,1,0,0,0,2319,2324,1,0,0,0,2320,2318,1,0,0,0,2321,2323,3,194,97,0,2322,2321,1,0,0,0,2323,2326,1,0,0,0,2324,2322,1,0,0,0,2324,2325,1,0,0,0,2325,2328,1,0,0,0,2326,2324,1,0,0,0,2327,2329,3,162,81,0,2328,2327,1,0,0,0,2328,2329,1,0,0,0,2329,2331,1,0,0,0,2330,2332,3,168,84,0,2331,2330,1,0,0,0,2331,2332,1,0,0,0,2332,147,1,0,0,0,2333,2334,7,17,0,0,2334,149,1,0,0,0,2335,2337,5,119,0,0,2336,2335,1,0,0,0,2336,2337,1,0,0,0,2337,2338,1,0,0,0,2338,2339,7,18,0,0,2339,2340,5,20,0,0,2340,2341,5,201,0,0,2341,2350,3,392,196,0,2342,2344,5,119,0,0,2343,2342,1,0,0,0,2343,2344,1,0,0,0,2344,2345,1,0,0,0,2345,2346,7,19,0,0,2346,2347,5,20,0,0,2347,2348,5,201,0,0,2348,2350,3,280,140,0,2349,2336,1,0,0,0,2349,2343,1,0,0,0,2350,151,1,0,0,0,2351,2352,5,130,0,0,2352,2353,5,31,0,0,2353,2358,3,154,77,0,2354,2355,5,4,0,0,2355,2357,3,154,77,0,2356,2354,1,0,0,0,2357,2360,1,0,0,0,2358,2356,1,0,0,0,2358,2359,1,0,0,0,2359,2391,1,0,0,0,2360,2358,1,0,0,0,2361,2362,5,130,0,0,2362,2363,5,31,0,0,2363,2368,3,268,134,0,2364,2365,5,4,0,0,2365,2367,3,268,134,0,2366,2364,1,0,0,0,2367,2370,1,0,0,0,2368,2366,1,0,0,0,2368,2369,1,0,0,0,2369,2388,1,0,0,0,2370,2368,1,0,0,0,2371,2372,5,346,0,0,2372,2389,5,256,0,0,2373,2374,5,346,0,0,2374,2389,5,61,0,0,2375,2376,5,131,0,0,2376,2377,5,271,0,0,2377,2378,5,2,0,0,2378,2383,3,160,80,0,2379,2380,5,4,0,0,2380,2382,3,160,80,0,2381,2379,1,0,0,0,2382,2385,1,0,0,0,2383,2381,1,0,0,0,2383,2384,1,0,0,0,2384,2386,1,0,0,0,2385,2383,1,0,0,0,2386,2387,5,3,0,0,2387,2389,1,0,0,0,2388,2371,1,0,0,0,2388,2373,1,0,0,0,2388,2375,1,0,0,0,2388,2389,1,0,0,0,2389,2391,1,0,0,0,2390,2351,1,0,0,0,2390,2361,1,0,0,0,2391,153,1,0,0,0,2392,2396,3,92,46,0,2393,2396,3,156,78,0,2394,2396,3,268,134,0,2395,2392,1,0,0,0,2395,2393,1,0,0,0,2395,2394,1,0,0,0,2396,155,1,0,0,0,2397,2398,7,20,0,0,2398,2399,5,2,0,0,2399,2404,3,160,80,0,2400,2401,5,4,0,0,2401,2403,3,160,80,0,2402,2400,1,0,0,0,2403,2406,1,0,0,0,2404,2402,1,0,0,0,2404,2405,1,0,0,0,2405,2407,1,0,0,0,2406,2404,1,0,0,0,2407,2408,5,3,0,0,2408,2423,1,0,0,0,2409,2410,5,131,0,0,2410,2411,5,271,0,0,2411,2412,5,2,0,0,2412,2417,3,158,79,0,2413,2414,5,4,0,0,2414,2416,3,158,79,0,2415,2413,1,0,0,0,2416,2419,1,0,0,0,2417,2415,1,0,0,0,2417,2418,1,0,0,0,2418,2420,1,0,0,0,2419,2417,1,0,0,0,2420,2421,5,3,0,0,2421,2423,1,0,0,0,2422,2397,1,0,0,0,2422,2409,1,0,0,0,2423,157,1,0,0,0,2424,2427,3,156,78,0,2425,2427,3,160,80,0,2426,2424,1,0,0,0,2426,2425,1,0,0,0,2427,159,1,0,0,0,2428,2449,3,92,46,0,2429,2449,3,268,134,0,2430,2445,5,2,0,0,2431,2434,3,92,46,0,2432,2434,3,268,134,0,2433,2431,1,0,0,0,2433,2432,1,0,0,0,2434,2442,1,0,0,0,2435,2438,5,4,0,0,2436,2439,3,92,46,0,2437,2439,3,268,134,0,2438,2436,1,0,0,0,2438,2437,1,0,0,0,2439,2441,1,0,0,0,2440,2435,1,0,0,0,2441,2444,1,0,0,0,2442,2440,1,0,0,0,2442,2443,1,0,0,0,2443,2446,1,0,0,0,2444,2442,1,0,0,0,2445,2433,1,0,0,0,2445,2446,1,0,0,0,2446,2447,1,0,0,0,2447,2449,5,3,0,0,2448,2428,1,0,0,0,2448,2429,1,0,0,0,2448,2430,1,0,0,0,2449,161,1,0,0,0,2450,2451,5,223,0,0,2451,2452,5,2,0,0,2452,2453,3,258,129,0,2453,2454,5,119,0,0,2454,2455,3,164,82,0,2455,2456,5,140,0,0,2456,2457,5,2,0,0,2457,2462,3,166,83,0,2458,2459,5,4,0,0,2459,2461,3,166,83,0,2460,2458,1,0,0,0,2461,2464,1,0,0,0,2462,2460,1,0,0,0,2462,2463,1,0,0,0,2463,2465,1,0,0,0,2464,2462,1,0,0,0,2465,2466,5,3,0,0,2466,2467,5,3,0,0,2467,163,1,0,0,0,2468,2481,3,376,188,0,2469,2470,5,2,0,0,2470,2475,3,376,188,0,2471,2472,5,4,0,0,2472,2474,3,376,188,0,2473,2471,1,0,0,0,2474,2477,1,0,0,0,2475,2473,1,0,0,0,2475,2476,1,0,0,0,2476,2478,1,0,0,0,2477,2475,1,0,0,0,2478,2479,5,3,0,0,2479,2481,1,0,0,0,2480,2468,1,0,0,0,2480,2469,1,0,0,0,2481,165,1,0,0,0,2482,2487,3,268,134,0,2483,2485,5,20,0,0,2484,2483,1,0,0,0,2484,2485,1,0,0,0,2485,2486,1,0,0,0,2486,2488,3,376,188,0,2487,2484,1,0,0,0,2487,2488,1,0,0,0,2488,167,1,0,0,0,2489,2491,5,327,0,0,2490,2492,3,170,85,0,2491,2490,1,0,0,0,2491,2492,1,0,0,0,2492,2493,1,0,0,0,2493,2494,5,2,0,0,2494,2495,3,172,86,0,2495,2500,5,3,0,0,2496,2498,5,20,0,0,2497,2496,1,0,0,0,2497,2498,1,0,0,0,2498,2499,1,0,0,0,2499,2501,3,376,188,0,2500,2497,1,0,0,0,2500,2501,1,0,0,0,2501,169,1,0,0,0,2502,2503,7,21,0,0,2503,2504,5,199,0,0,2504,171,1,0,0,0,2505,2508,3,174,87,0,2506,2508,3,176,88,0,2507,2505,1,0,0,0,2507,2506,1,0,0,0,2508,173,1,0,0,0,2509,2510,3,180,90,0,2510,2511,5,119,0,0,2511,2512,3,182,91,0,2512,2513,5,140,0,0,2513,2514,5,2,0,0,2514,2519,3,184,92,0,2515,2516,5,4,0,0,2516,2518,3,184,92,0,2517,2515,1,0,0,0,2518,2521,1,0,0,0,2519,2517,1,0,0,0,2519,2520,1,0,0,0,2520,2522,1,0,0,0,2521,2519,1,0,0,0,2522,2523,5,3,0,0,2523,175,1,0,0,0,2524,2525,5,2,0,0,2525,2530,3,180,90,0,2526,2527,5,4,0,0,2527,2529,3,180,90,0,2528,2526,1,0,0,0,2529,2532,1,0,0,0,2530,2528,1,0,0,0,2530,2531,1,0,0,0,2531,2533,1,0,0,0,2532,2530,1,0,0,0,2533,2534,5,3,0,0,2534,2535,5,119,0,0,2535,2536,3,182,91,0,2536,2537,5,140,0,0,2537,2538,5,2,0,0,2538,2543,3,178,89,0,2539,2540,5,4,0,0,2540,2542,3,178,89,0,2541,2539,1,0,0,0,2542,2545,1,0,0,0,2543,2541,1,0,0,0,2543,2544,1,0,0,0,2544,2546,1,0,0,0,2545,2543,1,0,0,0,2546,2547,5,3,0,0,2547,177,1,0,0,0,2548,2549,5,2,0,0,2549,2554,3,186,93,0,2550,2551,5,4,0,0,2551,2553,3,186,93,0,2552,2550,1,0,0,0,2553,2556,1,0,0,0,2554,2552,1,0,0,0,2554,2555,1,0,0,0,2555,2557,1,0,0,0,2556,2554,1,0,0,0,2557,2559,5,3,0,0,2558,2560,3,188,94,0,2559,2558,1,0,0,0,2559,2560,1,0,0,0,2560,179,1,0,0,0,2561,2562,3,376,188,0,2562,181,1,0,0,0,2563,2564,3,376,188,0,2564,183,1,0,0,0,2565,2567,3,186,93,0,2566,2568,3,188,94,0,2567,2566,1,0,0,0,2567,2568,1,0,0,0,2568,185,1,0,0,0,2569,2570,3,246,123,0,2570,187,1,0,0,0,2571,2573,5,20,0,0,2572,2571,1,0,0,0,2572,2573,1,0,0,0,2573,2574,1,0,0,0,2574,2575,3,376,188,0,2575,189,1,0,0,0,2576,2577,5,137,0,0,2577,2578,5,197,0,0,2578,2579,5,105,0,0,2579,191,1,0,0,0,2580,2581,5,137,0,0,2581,2582,5,105,0,0,2582,193,1,0,0,0,2583,2584,5,158,0,0,2584,2586,5,338,0,0,2585,2587,5,211,0,0,2586,2585,1,0,0,0,2586,2587,1,0,0,0,2587,2588,1,0,0,0,2588,2589,3,90,45,0,2589,2598,5,2,0,0,2590,2595,3,268,134,0,2591,2592,5,4,0,0,2592,2594,3,268,134,0,2593,2591,1,0,0,0,2594,2597,1,0,0,0,2595,2593,1,0,0,0,2595,2596,1,0,0,0,2596,2599,1,0,0,0,2597,2595,1,0,0,0,2598,2590,1,0,0,0,2598,2599,1,0,0,0,2599,2600,1,0,0,0,2600,2601,5,3,0,0,2601,2613,3,240,120,0,2602,2604,5,20,0,0,2603,2602,1,0,0,0,2603,2604,1,0,0,0,2604,2605,1,0,0,0,2605,2610,3,376,188,0,2606,2607,5,4,0,0,2607,2609,3,376,188,0,2608,2606,1,0,0,0,2609,2612,1,0,0,0,2610,2608,1,0,0,0,2610,2611,1,0,0,0,2611,2614,1,0,0,0,2612,2610,1,0,0,0,2613,2603,1,0,0,0,2613,2614,1,0,0,0,2614,195,1,0,0,0,2615,2616,7,22,0,0,2616,197,1,0,0,0,2617,2629,3,86,43,0,2618,2620,5,158,0,0,2619,2618,1,0,0,0,2619,2620,1,0,0,0,2620,2621,1,0,0,0,2621,2625,3,224,112,0,2622,2624,3,200,100,0,2623,2622,1,0,0,0,2624,2627,1,0,0,0,2625,2623,1,0,0,0,2625,2626,1,0,0,0,2626,2629,1,0,0,0,2627,2625,1,0,0,0,2628,2617,1,0,0,0,2628,2619,1,0,0,0,2629,199,1,0,0,0,2630,2634,3,202,101,0,2631,2634,3,162,81,0,2632,2634,3,168,84,0,2633,2630,1,0,0,0,2633,2631,1,0,0,0,2633,2632,1,0,0,0,2634,201,1,0,0,0,2635,2636,3,204,102,0,2636,2638,5,155,0,0,2637,2639,5,158,0,0,2638,2637,1,0,0,0,2638,2639,1,0,0,0,2639,2640,1,0,0,0,2640,2642,3,224,112,0,2641,2643,3,206,103,0,2642,2641,1,0,0,0,2642,2643,1,0,0,0,2643,2653,1,0,0,0,2644,2645,5,194,0,0,2645,2646,3,204,102,0,2646,2648,5,155,0,0,2647,2649,5,158,0,0,2648,2647,1,0,0,0,2648,2649,1,0,0,0,2649,2650,1,0,0,0,2650,2651,3,224,112,0,2651,2653,1,0,0,0,2652,2635,1,0,0,0,2652,2644,1,0,0,0,2653,203,1,0,0,0,2654,2656,5,144,0,0,2655,2654,1,0,0,0,2655,2656,1,0,0,0,2656,2679,1,0,0,0,2657,2679,5,60,0,0,2658,2660,5,161,0,0,2659,2661,5,211,0,0,2660,2659,1,0,0,0,2660,2661,1,0,0,0,2661,2679,1,0,0,0,2662,2664,5,161,0,0,2663,2662,1,0,0,0,2663,2664,1,0,0,0,2664,2665,1,0,0,0,2665,2679,5,264,0,0,2666,2668,5,250,0,0,2667,2669,5,211,0,0,2668,2667,1,0,0,0,2668,2669,1,0,0,0,2669,2679,1,0,0,0,2670,2672,5,124,0,0,2671,2673,5,211,0,0,2672,2671,1,0,0,0,2672,2673,1,0,0,0,2673,2679,1,0,0,0,2674,2676,5,161,0,0,2675,2674,1,0,0,0,2675,2676,1,0,0,0,2676,2677,1,0,0,0,2677,2679,5,15,0,0,2678,2655,1,0,0,0,2678,2657,1,0,0,0,2678,2658,1,0,0,0,2678,2663,1,0,0,0,2678,2666,1,0,0,0,2678,2670,1,0,0,0,2678,2675,1,0,0,0,2679,205,1,0,0,0,2680,2681,5,203,0,0,2681,2685,3,276,138,0,2682,2683,5,332,0,0,2683,2685,3,212,106,0,2684,2680,1,0,0,0,2684,2682,1,0,0,0,2685,207,1,0,0,0,2686,2687,5,295,0,0,2687,2689,5,2,0,0,2688,2690,3,210,105,0,2689,2688,1,0,0,0,2689,2690,1,0,0,0,2690,2691,1,0,0,0,2691,2696,5,3,0,0,2692,2693,5,243,0,0,2693,2694,5,2,0,0,2694,2695,5,382,0,0,2695,2697,5,3,0,0,2696,2692,1,0,0,0,2696,2697,1,0,0,0,2697,209,1,0,0,0,2698,2700,5,362,0,0,2699,2698,1,0,0,0,2699,2700,1,0,0,0,2700,2701,1,0,0,0,2701,2702,7,23,0,0,2702,2723,5,222,0,0,2703,2704,3,268,134,0,2704,2705,5,258,0,0,2705,2723,1,0,0,0,2706,2707,5,29,0,0,2707,2708,5,382,0,0,2708,2709,5,210,0,0,2709,2710,5,201,0,0,2710,2719,5,382,0,0,2711,2717,5,203,0,0,2712,2718,3,376,188,0,2713,2714,3,370,185,0,2714,2715,5,2,0,0,2715,2716,5,3,0,0,2716,2718,1,0,0,0,2717,2712,1,0,0,0,2717,2713,1,0,0,0,2718,2720,1,0,0,0,2719,2711,1,0,0,0,2719,2720,1,0,0,0,2720,2723,1,0,0,0,2721,2723,3,268,134,0,2722,2699,1,0,0,0,2722,2703,1,0,0,0,2722,2706,1,0,0,0,2722,2721,1,0,0,0,2723,211,1,0,0,0,2724,2725,5,2,0,0,2725,2726,3,214,107,0,2726,2727,5,3,0,0,2727,213,1,0,0,0,2728,2733,3,372,186,0,2729,2730,5,4,0,0,2730,2732,3,372,186,0,2731,2729,1,0,0,0,2732,2735,1,0,0,0,2733,2731,1,0,0,0,2733,2734,1,0,0,0,2734,215,1,0,0,0,2735,2733,1,0,0,0,2736,2737,5,2,0,0,2737,2742,3,218,109,0,2738,2739,5,4,0,0,2739,2741,3,218,109,0,2740,2738,1,0,0,0,2741,2744,1,0,0,0,2742,2740,1,0,0,0,2742,2743,1,0,0,0,2743,2745,1,0,0,0,2744,2742,1,0,0,0,2745,2746,5,3,0,0,2746,217,1,0,0,0,2747,2749,3,372,186,0,2748,2750,7,15,0,0,2749,2748,1,0,0,0,2749,2750,1,0,0,0,2750,219,1,0,0,0,2751,2752,5,2,0,0,2752,2757,3,222,111,0,2753,2754,5,4,0,0,2754,2756,3,222,111,0,2755,2753,1,0,0,0,2756,2759,1,0,0,0,2757,2755,1,0,0,0,2757,2758,1,0,0,0,2758,2760,1,0,0,0,2759,2757,1,0,0,0,2760,2761,5,3,0,0,2761,221,1,0,0,0,2762,2764,3,96,48,0,2763,2765,3,24,12,0,2764,2763,1,0,0,0,2764,2765,1,0,0,0,2765,223,1,0,0,0,2766,2770,3,86,43,0,2767,2770,3,90,45,0,2768,2770,3,98,49,0,2769,2766,1,0,0,0,2769,2767,1,0,0,0,2769,2768,1,0,0,0,2770,2772,1,0,0,0,2771,2773,3,150,75,0,2772,2771,1,0,0,0,2772,2773,1,0,0,0,2773,2775,1,0,0,0,2774,2776,3,208,104,0,2775,2774,1,0,0,0,2775,2776,1,0,0,0,2776,2777,1,0,0,0,2777,2778,3,240,120,0,2778,2798,1,0,0,0,2779,2780,5,2,0,0,2780,2781,3,26,13,0,2781,2783,5,3,0,0,2782,2784,3,208,104,0,2783,2782,1,0,0,0,2783,2784,1,0,0,0,2784,2785,1,0,0,0,2785,2786,3,240,120,0,2786,2798,1,0,0,0,2787,2788,5,2,0,0,2788,2789,3,198,99,0,2789,2791,5,3,0,0,2790,2792,3,208,104,0,2791,2790,1,0,0,0,2791,2792,1,0,0,0,2792,2793,1,0,0,0,2793,2794,3,240,120,0,2794,2798,1,0,0,0,2795,2798,3,226,113,0,2796,2798,3,238,119,0,2797,2769,1,0,0,0,2797,2779,1,0,0,0,2797,2787,1,0,0,0,2797,2795,1,0,0,0,2797,2796,1,0,0,0,2798,225,1,0,0,0,2799,2800,5,333,0,0,2800,2805,3,268,134,0,2801,2802,5,4,0,0,2802,2804,3,268,134,0,2803,2801,1,0,0,0,2804,2807,1,0,0,0,2805,2803,1,0,0,0,2805,2806,1,0,0,0,2806,2808,1,0,0,0,2807,2805,1,0,0,0,2808,2809,3,240,120,0,2809,227,1,0,0,0,2810,2811,5,293,0,0,2811,2813,3,86,43,0,2812,2814,3,230,115,0,2813,2812,1,0,0,0,2813,2814,1,0,0,0,2814,2830,1,0,0,0,2815,2816,5,293,0,0,2816,2817,5,2,0,0,2817,2818,3,86,43,0,2818,2820,5,3,0,0,2819,2821,3,230,115,0,2820,2819,1,0,0,0,2820,2821,1,0,0,0,2821,2830,1,0,0,0,2822,2823,5,293,0,0,2823,2824,5,2,0,0,2824,2825,3,26,13,0,2825,2827,5,3,0,0,2826,2828,3,230,115,0,2827,2826,1,0,0,0,2827,2828,1,0,0,0,2828,2830,1,0,0,0,2829,2810,1,0,0,0,2829,2815,1,0,0,0,2829,2822,1,0,0,0,2830,229,1,0,0,0,2831,2832,5,346,0,0,2832,2833,5,274,0,0,2833,2851,5,217,0,0,2834,2835,7,24,0,0,2835,2848,5,31,0,0,2836,2837,5,2,0,0,2837,2842,3,268,134,0,2838,2839,5,4,0,0,2839,2841,3,268,134,0,2840,2838,1,0,0,0,2841,2844,1,0,0,0,2842,2840,1,0,0,0,2842,2843,1,0,0,0,2843,2845,1,0,0,0,2844,2842,1,0,0,0,2845,2846,5,3,0,0,2846,2849,1,0,0,0,2847,2849,3,268,134,0,2848,2836,1,0,0,0,2848,2847,1,0,0,0,2849,2851,1,0,0,0,2850,2831,1,0,0,0,2850,2834,1,0,0,0,2851,2868,1,0,0,0,2852,2853,7,25,0,0,2853,2866,5,31,0,0,2854,2855,5,2,0,0,2855,2860,3,108,54,0,2856,2857,5,4,0,0,2857,2859,3,108,54,0,2858,2856,1,0,0,0,2859,2862,1,0,0,0,2860,2858,1,0,0,0,2860,2861,1,0,0,0,2861,2863,1,0,0,0,2862,2860,1,0,0,0,2863,2864,5,3,0,0,2864,2867,1,0,0,0,2865,2867,3,108,54,0,2866,2854,1,0,0,0,2866,2865,1,0,0,0,2867,2869,1,0,0,0,2868,2852,1,0,0,0,2868,2869,1,0,0,0,2869,231,1,0,0,0,2870,2871,3,376,188,0,2871,2872,5,373,0,0,2872,2873,3,228,114,0,2873,233,1,0,0,0,2874,2877,3,228,114,0,2875,2877,3,232,116,0,2876,2874,1,0,0,0,2876,2875,1,0,0,0,2877,235,1,0,0,0,2878,2881,3,234,117,0,2879,2881,3,272,136,0,2880,2878,1,0,0,0,2880,2879,1,0,0,0,2881,237,1,0,0,0,2882,2883,3,366,183,0,2883,2892,5,2,0,0,2884,2889,3,236,118,0,2885,2886,5,4,0,0,2886,2888,3,236,118,0,2887,2885,1,0,0,0,2888,2891,1,0,0,0,2889,2887,1,0,0,0,2889,2890,1,0,0,0,2890,2893,1,0,0,0,2891,2889,1,0,0,0,2892,2884,1,0,0,0,2892,2893,1,0,0,0,2893,2894,1,0,0,0,2894,2895,5,3,0,0,2895,2896,3,240,120,0,2896,239,1,0,0,0,2897,2899,5,20,0,0,2898,2897,1,0,0,0,2898,2899,1,0,0,0,2899,2900,1,0,0,0,2900,2902,3,378,189,0,2901,2903,3,212,106,0,2902,2901,1,0,0,0,2902,2903,1,0,0,0,2903,2905,1,0,0,0,2904,2898,1,0,0,0,2904,2905,1,0,0,0,2905,241,1,0,0,0,2906,2907,5,257,0,0,2907,2908,5,121,0,0,2908,2909,5,266,0,0,2909,2913,3,388,194,0,2910,2911,5,346,0,0,2911,2912,5,267,0,0,2912,2914,3,54,27,0,2913,2910,1,0,0,0,2913,2914,1,0,0,0,2914,2956,1,0,0,0,2915,2916,5,257,0,0,2916,2917,5,121,0,0,2917,2927,5,85,0,0,2918,2919,5,113,0,0,2919,2920,5,299,0,0,2920,2921,5,31,0,0,2921,2925,3,388,194,0,2922,2923,5,101,0,0,2923,2924,5,31,0,0,2924,2926,3,388,194,0,2925,2922,1,0,0,0,2925,2926,1,0,0,0,2926,2928,1,0,0,0,2927,2918,1,0,0,0,2927,2928,1,0,0,0,2928,2934,1,0,0,0,2929,2930,5,48,0,0,2930,2931,5,154,0,0,2931,2932,5,299,0,0,2932,2933,5,31,0,0,2933,2935,3,388,194,0,2934,2929,1,0,0,0,2934,2935,1,0,0,0,2935,2941,1,0,0,0,2936,2937,5,177,0,0,2937,2938,5,156,0,0,2938,2939,5,299,0,0,2939,2940,5,31,0,0,2940,2942,3,388,194,0,2941,2936,1,0,0,0,2941,2942,1,0,0,0,2942,2947,1,0,0,0,2943,2944,5,166,0,0,2944,2945,5,299,0,0,2945,2946,5,31,0,0,2946,2948,3,388,194,0,2947,2943,1,0,0,0,2947,2948,1,0,0,0,2948,2953,1,0,0,0,2949,2950,5,198,0,0,2950,2951,5,83,0,0,2951,2952,5,20,0,0,2952,2954,3,388,194,0,2953,2949,1,0,0,0,2953,2954,1,0,0,0,2954,2956,1,0,0,0,2955,2906,1,0,0,0,2955,2915,1,0,0,0,2956,243,1,0,0,0,2957,2962,3,246,123,0,2958,2959,5,4,0,0,2959,2961,3,246,123,0,2960,2958,1,0,0,0,2961,2964,1,0,0,0,2962,2960,1,0,0,0,2962,2963,1,0,0,0,2963,245,1,0,0,0,2964,2962,1,0,0,0,2965,2970,3,372,186,0,2966,2967,5,5,0,0,2967,2969,3,372,186,0,2968,2966,1,0,0,0,2969,2972,1,0,0,0,2970,2968,1,0,0,0,2970,2971,1,0,0,0,2971,247,1,0,0,0,2972,2970,1,0,0,0,2973,2978,3,250,125,0,2974,2975,5,4,0,0,2975,2977,3,250,125,0,2976,2974,1,0,0,0,2977,2980,1,0,0,0,2978,2976,1,0,0,0,2978,2979,1,0,0,0,2979,249,1,0,0,0,2980,2978,1,0,0,0,2981,2984,3,246,123,0,2982,2983,5,207,0,0,2983,2985,3,54,27,0,2984,2982,1,0,0,0,2984,2985,1,0,0,0,2985,251,1,0,0,0,2986,2987,3,372,186,0,2987,2988,5,5,0,0,2988,2990,1,0,0,0,2989,2986,1,0,0,0,2989,2990,1,0,0,0,2990,2991,1,0,0,0,2991,2992,3,372,186,0,2992,253,1,0,0,0,2993,2994,3,372,186,0,2994,2995,5,5,0,0,2995,2997,1,0,0,0,2996,2993,1,0,0,0,2996,2997,1,0,0,0,2997,2998,1,0,0,0,2998,2999,3,372,186,0,2999,255,1,0,0,0,3e3,3003,3,92,46,0,3001,3003,3,268,134,0,3002,3e3,1,0,0,0,3002,3001,1,0,0,0,3003,3011,1,0,0,0,3004,3006,5,20,0,0,3005,3004,1,0,0,0,3005,3006,1,0,0,0,3006,3009,1,0,0,0,3007,3010,3,372,186,0,3008,3010,3,212,106,0,3009,3007,1,0,0,0,3009,3008,1,0,0,0,3010,3012,1,0,0,0,3011,3005,1,0,0,0,3011,3012,1,0,0,0,3012,257,1,0,0,0,3013,3018,3,256,128,0,3014,3015,5,4,0,0,3015,3017,3,256,128,0,3016,3014,1,0,0,0,3017,3020,1,0,0,0,3018,3016,1,0,0,0,3018,3019,1,0,0,0,3019,259,1,0,0,0,3020,3018,1,0,0,0,3021,3022,5,2,0,0,3022,3027,3,262,131,0,3023,3024,5,4,0,0,3024,3026,3,262,131,0,3025,3023,1,0,0,0,3026,3029,1,0,0,0,3027,3025,1,0,0,0,3027,3028,1,0,0,0,3028,3030,1,0,0,0,3029,3027,1,0,0,0,3030,3031,5,3,0,0,3031,261,1,0,0,0,3032,3035,3,264,132,0,3033,3035,3,336,168,0,3034,3032,1,0,0,0,3034,3033,1,0,0,0,3035,263,1,0,0,0,3036,3050,3,370,185,0,3037,3038,3,376,188,0,3038,3039,5,2,0,0,3039,3044,3,266,133,0,3040,3041,5,4,0,0,3041,3043,3,266,133,0,3042,3040,1,0,0,0,3043,3046,1,0,0,0,3044,3042,1,0,0,0,3044,3045,1,0,0,0,3045,3047,1,0,0,0,3046,3044,1,0,0,0,3047,3048,5,3,0,0,3048,3050,1,0,0,0,3049,3036,1,0,0,0,3049,3037,1,0,0,0,3050,265,1,0,0,0,3051,3054,3,370,185,0,3052,3054,3,288,144,0,3053,3051,1,0,0,0,3053,3052,1,0,0,0,3054,267,1,0,0,0,3055,3056,3,276,138,0,3056,269,1,0,0,0,3057,3058,3,376,188,0,3058,3059,5,373,0,0,3059,3060,3,268,134,0,3060,271,1,0,0,0,3061,3064,3,268,134,0,3062,3064,3,270,135,0,3063,3061,1,0,0,0,3063,3062,1,0,0,0,3064,273,1,0,0,0,3065,3070,3,268,134,0,3066,3067,5,4,0,0,3067,3069,3,268,134,0,3068,3066,1,0,0,0,3069,3072,1,0,0,0,3070,3068,1,0,0,0,3070,3071,1,0,0,0,3071,275,1,0,0,0,3072,3070,1,0,0,0,3073,3074,6,138,-1,0,3074,3075,7,26,0,0,3075,3086,3,276,138,5,3076,3077,5,105,0,0,3077,3078,5,2,0,0,3078,3079,3,26,13,0,3079,3080,5,3,0,0,3080,3086,1,0,0,0,3081,3083,3,280,140,0,3082,3084,3,278,139,0,3083,3082,1,0,0,0,3083,3084,1,0,0,0,3084,3086,1,0,0,0,3085,3073,1,0,0,0,3085,3076,1,0,0,0,3085,3081,1,0,0,0,3086,3095,1,0,0,0,3087,3088,10,2,0,0,3088,3089,5,14,0,0,3089,3094,3,276,138,3,3090,3091,10,1,0,0,3091,3092,5,208,0,0,3092,3094,3,276,138,2,3093,3087,1,0,0,0,3093,3090,1,0,0,0,3094,3097,1,0,0,0,3095,3093,1,0,0,0,3095,3096,1,0,0,0,3096,277,1,0,0,0,3097,3095,1,0,0,0,3098,3100,5,197,0,0,3099,3098,1,0,0,0,3099,3100,1,0,0,0,3100,3101,1,0,0,0,3101,3102,5,24,0,0,3102,3103,3,280,140,0,3103,3104,5,14,0,0,3104,3105,3,280,140,0,3105,3181,1,0,0,0,3106,3108,5,197,0,0,3107,3106,1,0,0,0,3107,3108,1,0,0,0,3108,3109,1,0,0,0,3109,3110,5,140,0,0,3110,3111,5,2,0,0,3111,3116,3,268,134,0,3112,3113,5,4,0,0,3113,3115,3,268,134,0,3114,3112,1,0,0,0,3115,3118,1,0,0,0,3116,3114,1,0,0,0,3116,3117,1,0,0,0,3117,3119,1,0,0,0,3118,3116,1,0,0,0,3119,3120,5,3,0,0,3120,3181,1,0,0,0,3121,3123,5,197,0,0,3122,3121,1,0,0,0,3122,3123,1,0,0,0,3123,3124,1,0,0,0,3124,3125,5,140,0,0,3125,3126,5,2,0,0,3126,3127,3,26,13,0,3127,3128,5,3,0,0,3128,3181,1,0,0,0,3129,3131,5,197,0,0,3130,3129,1,0,0,0,3130,3131,1,0,0,0,3131,3132,1,0,0,0,3132,3133,7,27,0,0,3133,3181,3,280,140,0,3134,3136,5,197,0,0,3135,3134,1,0,0,0,3135,3136,1,0,0,0,3136,3137,1,0,0,0,3137,3138,7,28,0,0,3138,3152,7,29,0,0,3139,3140,5,2,0,0,3140,3153,5,3,0,0,3141,3142,5,2,0,0,3142,3147,3,268,134,0,3143,3144,5,4,0,0,3144,3146,3,268,134,0,3145,3143,1,0,0,0,3146,3149,1,0,0,0,3147,3145,1,0,0,0,3147,3148,1,0,0,0,3148,3150,1,0,0,0,3149,3147,1,0,0,0,3150,3151,5,3,0,0,3151,3153,1,0,0,0,3152,3139,1,0,0,0,3152,3141,1,0,0,0,3153,3181,1,0,0,0,3154,3156,5,197,0,0,3155,3154,1,0,0,0,3155,3156,1,0,0,0,3156,3157,1,0,0,0,3157,3158,7,28,0,0,3158,3161,3,280,140,0,3159,3160,5,100,0,0,3160,3162,3,388,194,0,3161,3159,1,0,0,0,3161,3162,1,0,0,0,3162,3181,1,0,0,0,3163,3165,5,153,0,0,3164,3166,5,197,0,0,3165,3164,1,0,0,0,3165,3166,1,0,0,0,3166,3167,1,0,0,0,3167,3181,5,198,0,0,3168,3170,5,153,0,0,3169,3171,5,197,0,0,3170,3169,1,0,0,0,3170,3171,1,0,0,0,3171,3172,1,0,0,0,3172,3181,7,30,0,0,3173,3175,5,153,0,0,3174,3176,5,197,0,0,3175,3174,1,0,0,0,3175,3176,1,0,0,0,3176,3177,1,0,0,0,3177,3178,5,92,0,0,3178,3179,5,123,0,0,3179,3181,3,280,140,0,3180,3099,1,0,0,0,3180,3107,1,0,0,0,3180,3122,1,0,0,0,3180,3130,1,0,0,0,3180,3135,1,0,0,0,3180,3155,1,0,0,0,3180,3163,1,0,0,0,3180,3168,1,0,0,0,3180,3173,1,0,0,0,3181,279,1,0,0,0,3182,3183,6,140,-1,0,3183,3187,3,284,142,0,3184,3185,7,31,0,0,3185,3187,3,280,140,7,3186,3182,1,0,0,0,3186,3184,1,0,0,0,3187,3209,1,0,0,0,3188,3189,10,6,0,0,3189,3190,7,32,0,0,3190,3208,3,280,140,7,3191,3192,10,5,0,0,3192,3193,7,33,0,0,3193,3208,3,280,140,6,3194,3195,10,4,0,0,3195,3196,5,367,0,0,3196,3208,3,280,140,5,3197,3198,10,3,0,0,3198,3199,5,370,0,0,3199,3208,3,280,140,4,3200,3201,10,2,0,0,3201,3202,5,368,0,0,3202,3208,3,280,140,3,3203,3204,10,1,0,0,3204,3205,3,290,145,0,3205,3206,3,280,140,2,3206,3208,1,0,0,0,3207,3188,1,0,0,0,3207,3191,1,0,0,0,3207,3194,1,0,0,0,3207,3197,1,0,0,0,3207,3200,1,0,0,0,3207,3203,1,0,0,0,3208,3211,1,0,0,0,3209,3207,1,0,0,0,3209,3210,1,0,0,0,3210,281,1,0,0,0,3211,3209,1,0,0,0,3212,3213,7,34,0,0,3213,283,1,0,0,0,3214,3215,6,142,-1,0,3215,3464,7,35,0,0,3216,3217,7,36,0,0,3217,3220,5,2,0,0,3218,3221,3,282,141,0,3219,3221,3,388,194,0,3220,3218,1,0,0,0,3220,3219,1,0,0,0,3221,3222,1,0,0,0,3222,3223,5,4,0,0,3223,3224,3,280,140,0,3224,3225,5,4,0,0,3225,3226,3,280,140,0,3226,3227,5,3,0,0,3227,3464,1,0,0,0,3228,3229,7,37,0,0,3229,3232,5,2,0,0,3230,3233,3,282,141,0,3231,3233,3,388,194,0,3232,3230,1,0,0,0,3232,3231,1,0,0,0,3233,3234,1,0,0,0,3234,3235,5,4,0,0,3235,3236,3,280,140,0,3236,3237,5,4,0,0,3237,3238,3,280,140,0,3238,3239,5,3,0,0,3239,3464,1,0,0,0,3240,3242,5,35,0,0,3241,3243,3,350,175,0,3242,3241,1,0,0,0,3243,3244,1,0,0,0,3244,3242,1,0,0,0,3244,3245,1,0,0,0,3245,3248,1,0,0,0,3246,3247,5,97,0,0,3247,3249,3,268,134,0,3248,3246,1,0,0,0,3248,3249,1,0,0,0,3249,3250,1,0,0,0,3250,3251,5,99,0,0,3251,3464,1,0,0,0,3252,3253,5,35,0,0,3253,3255,3,268,134,0,3254,3256,3,350,175,0,3255,3254,1,0,0,0,3256,3257,1,0,0,0,3257,3255,1,0,0,0,3257,3258,1,0,0,0,3258,3261,1,0,0,0,3259,3260,5,97,0,0,3260,3262,3,268,134,0,3261,3259,1,0,0,0,3261,3262,1,0,0,0,3262,3263,1,0,0,0,3263,3264,5,99,0,0,3264,3464,1,0,0,0,3265,3266,7,38,0,0,3266,3267,5,2,0,0,3267,3268,3,268,134,0,3268,3269,5,20,0,0,3269,3270,3,318,159,0,3270,3271,5,3,0,0,3271,3464,1,0,0,0,3272,3273,5,286,0,0,3273,3282,5,2,0,0,3274,3279,3,256,128,0,3275,3276,5,4,0,0,3276,3278,3,256,128,0,3277,3275,1,0,0,0,3278,3281,1,0,0,0,3279,3277,1,0,0,0,3279,3280,1,0,0,0,3280,3283,1,0,0,0,3281,3279,1,0,0,0,3282,3274,1,0,0,0,3282,3283,1,0,0,0,3283,3284,1,0,0,0,3284,3464,5,3,0,0,3285,3286,5,116,0,0,3286,3287,5,2,0,0,3287,3290,3,268,134,0,3288,3289,5,138,0,0,3289,3291,5,199,0,0,3290,3288,1,0,0,0,3290,3291,1,0,0,0,3291,3292,1,0,0,0,3292,3293,5,3,0,0,3293,3464,1,0,0,0,3294,3295,5,17,0,0,3295,3296,5,2,0,0,3296,3299,3,268,134,0,3297,3298,5,138,0,0,3298,3300,5,199,0,0,3299,3297,1,0,0,0,3299,3300,1,0,0,0,3300,3301,1,0,0,0,3301,3302,5,3,0,0,3302,3464,1,0,0,0,3303,3304,5,157,0,0,3304,3305,5,2,0,0,3305,3308,3,268,134,0,3306,3307,5,138,0,0,3307,3309,5,199,0,0,3308,3306,1,0,0,0,3308,3309,1,0,0,0,3309,3310,1,0,0,0,3310,3311,5,3,0,0,3311,3464,1,0,0,0,3312,3313,5,225,0,0,3313,3314,5,2,0,0,3314,3315,3,280,140,0,3315,3316,5,140,0,0,3316,3317,3,280,140,0,3317,3318,5,3,0,0,3318,3464,1,0,0,0,3319,3464,3,288,144,0,3320,3464,5,363,0,0,3321,3322,3,370,185,0,3322,3323,5,5,0,0,3323,3324,5,363,0,0,3324,3464,1,0,0,0,3325,3326,5,2,0,0,3326,3329,3,256,128,0,3327,3328,5,4,0,0,3328,3330,3,256,128,0,3329,3327,1,0,0,0,3330,3331,1,0,0,0,3331,3329,1,0,0,0,3331,3332,1,0,0,0,3332,3333,1,0,0,0,3333,3334,5,3,0,0,3334,3464,1,0,0,0,3335,3336,5,2,0,0,3336,3337,3,26,13,0,3337,3338,5,3,0,0,3338,3464,1,0,0,0,3339,3340,5,136,0,0,3340,3341,5,2,0,0,3341,3342,3,268,134,0,3342,3343,5,3,0,0,3343,3464,1,0,0,0,3344,3345,3,366,183,0,3345,3357,5,2,0,0,3346,3348,3,196,98,0,3347,3346,1,0,0,0,3347,3348,1,0,0,0,3348,3349,1,0,0,0,3349,3354,3,272,136,0,3350,3351,5,4,0,0,3351,3353,3,272,136,0,3352,3350,1,0,0,0,3353,3356,1,0,0,0,3354,3352,1,0,0,0,3354,3355,1,0,0,0,3355,3358,1,0,0,0,3356,3354,1,0,0,0,3357,3347,1,0,0,0,3357,3358,1,0,0,0,3358,3359,1,0,0,0,3359,3366,5,3,0,0,3360,3361,5,114,0,0,3361,3362,5,2,0,0,3362,3363,5,344,0,0,3363,3364,3,276,138,0,3364,3365,5,3,0,0,3365,3367,1,0,0,0,3366,3360,1,0,0,0,3366,3367,1,0,0,0,3367,3370,1,0,0,0,3368,3369,7,39,0,0,3369,3371,5,199,0,0,3370,3368,1,0,0,0,3370,3371,1,0,0,0,3371,3374,1,0,0,0,3372,3373,5,213,0,0,3373,3375,3,358,179,0,3374,3372,1,0,0,0,3374,3375,1,0,0,0,3375,3464,1,0,0,0,3376,3377,3,376,188,0,3377,3378,5,372,0,0,3378,3379,3,268,134,0,3379,3464,1,0,0,0,3380,3381,5,2,0,0,3381,3384,3,376,188,0,3382,3383,5,4,0,0,3383,3385,3,376,188,0,3384,3382,1,0,0,0,3385,3386,1,0,0,0,3386,3384,1,0,0,0,3386,3387,1,0,0,0,3387,3388,1,0,0,0,3388,3389,5,3,0,0,3389,3390,5,372,0,0,3390,3391,3,268,134,0,3391,3464,1,0,0,0,3392,3464,3,376,188,0,3393,3394,5,2,0,0,3394,3395,3,268,134,0,3395,3396,5,3,0,0,3396,3464,1,0,0,0,3397,3398,5,110,0,0,3398,3399,5,2,0,0,3399,3400,3,376,188,0,3400,3401,5,123,0,0,3401,3402,3,280,140,0,3402,3403,5,3,0,0,3403,3464,1,0,0,0,3404,3405,7,40,0,0,3405,3406,5,2,0,0,3406,3407,3,280,140,0,3407,3408,7,41,0,0,3408,3411,3,280,140,0,3409,3410,7,42,0,0,3410,3412,3,280,140,0,3411,3409,1,0,0,0,3411,3412,1,0,0,0,3412,3413,1,0,0,0,3413,3414,5,3,0,0,3414,3464,1,0,0,0,3415,3416,5,315,0,0,3416,3418,5,2,0,0,3417,3419,7,43,0,0,3418,3417,1,0,0,0,3418,3419,1,0,0,0,3419,3421,1,0,0,0,3420,3422,3,280,140,0,3421,3420,1,0,0,0,3421,3422,1,0,0,0,3422,3423,1,0,0,0,3423,3424,5,123,0,0,3424,3425,3,280,140,0,3425,3426,5,3,0,0,3426,3464,1,0,0,0,3427,3428,5,215,0,0,3428,3429,5,2,0,0,3429,3430,3,280,140,0,3430,3431,5,224,0,0,3431,3432,3,280,140,0,3432,3433,5,123,0,0,3433,3436,3,280,140,0,3434,3435,5,119,0,0,3435,3437,3,280,140,0,3436,3434,1,0,0,0,3436,3437,1,0,0,0,3437,3438,1,0,0,0,3438,3439,5,3,0,0,3439,3464,1,0,0,0,3440,3441,7,44,0,0,3441,3442,5,2,0,0,3442,3443,3,280,140,0,3443,3444,5,3,0,0,3444,3445,5,347,0,0,3445,3446,5,130,0,0,3446,3447,5,2,0,0,3447,3448,5,209,0,0,3448,3449,5,31,0,0,3449,3450,3,108,54,0,3450,3457,5,3,0,0,3451,3452,5,114,0,0,3452,3453,5,2,0,0,3453,3454,5,344,0,0,3454,3455,3,276,138,0,3455,3456,5,3,0,0,3456,3458,1,0,0,0,3457,3451,1,0,0,0,3457,3458,1,0,0,0,3458,3461,1,0,0,0,3459,3460,5,213,0,0,3460,3462,3,358,179,0,3461,3459,1,0,0,0,3461,3462,1,0,0,0,3462,3464,1,0,0,0,3463,3214,1,0,0,0,3463,3216,1,0,0,0,3463,3228,1,0,0,0,3463,3240,1,0,0,0,3463,3252,1,0,0,0,3463,3265,1,0,0,0,3463,3272,1,0,0,0,3463,3285,1,0,0,0,3463,3294,1,0,0,0,3463,3303,1,0,0,0,3463,3312,1,0,0,0,3463,3319,1,0,0,0,3463,3320,1,0,0,0,3463,3321,1,0,0,0,3463,3325,1,0,0,0,3463,3335,1,0,0,0,3463,3339,1,0,0,0,3463,3344,1,0,0,0,3463,3376,1,0,0,0,3463,3380,1,0,0,0,3463,3392,1,0,0,0,3463,3393,1,0,0,0,3463,3397,1,0,0,0,3463,3404,1,0,0,0,3463,3415,1,0,0,0,3463,3427,1,0,0,0,3463,3440,1,0,0,0,3464,3475,1,0,0,0,3465,3466,10,9,0,0,3466,3467,5,6,0,0,3467,3468,3,280,140,0,3468,3469,5,7,0,0,3469,3474,1,0,0,0,3470,3471,10,7,0,0,3471,3472,5,5,0,0,3472,3474,3,376,188,0,3473,3465,1,0,0,0,3473,3470,1,0,0,0,3474,3477,1,0,0,0,3475,3473,1,0,0,0,3475,3476,1,0,0,0,3476,285,1,0,0,0,3477,3475,1,0,0,0,3478,3486,5,71,0,0,3479,3486,5,303,0,0,3480,3486,5,304,0,0,3481,3486,5,305,0,0,3482,3486,5,149,0,0,3483,3486,5,133,0,0,3484,3486,3,376,188,0,3485,3478,1,0,0,0,3485,3479,1,0,0,0,3485,3480,1,0,0,0,3485,3481,1,0,0,0,3485,3482,1,0,0,0,3485,3483,1,0,0,0,3485,3484,1,0,0,0,3486,287,1,0,0,0,3487,3503,5,198,0,0,3488,3503,5,376,0,0,3489,3490,5,371,0,0,3490,3503,3,376,188,0,3491,3503,3,298,149,0,3492,3493,3,286,143,0,3493,3494,3,388,194,0,3494,3503,1,0,0,0,3495,3503,3,384,192,0,3496,3503,3,296,148,0,3497,3499,3,388,194,0,3498,3497,1,0,0,0,3499,3500,1,0,0,0,3500,3498,1,0,0,0,3500,3501,1,0,0,0,3501,3503,1,0,0,0,3502,3487,1,0,0,0,3502,3488,1,0,0,0,3502,3489,1,0,0,0,3502,3491,1,0,0,0,3502,3492,1,0,0,0,3502,3495,1,0,0,0,3502,3496,1,0,0,0,3502,3498,1,0,0,0,3503,289,1,0,0,0,3504,3505,7,45,0,0,3505,291,1,0,0,0,3506,3507,7,46,0,0,3507,293,1,0,0,0,3508,3509,7,47,0,0,3509,295,1,0,0,0,3510,3511,7,48,0,0,3511,297,1,0,0,0,3512,3515,5,149,0,0,3513,3516,3,300,150,0,3514,3516,3,304,152,0,3515,3513,1,0,0,0,3515,3514,1,0,0,0,3516,299,1,0,0,0,3517,3519,3,302,151,0,3518,3520,3,306,153,0,3519,3518,1,0,0,0,3519,3520,1,0,0,0,3520,301,1,0,0,0,3521,3522,3,308,154,0,3522,3523,3,310,155,0,3523,3525,1,0,0,0,3524,3521,1,0,0,0,3525,3526,1,0,0,0,3526,3524,1,0,0,0,3526,3527,1,0,0,0,3527,303,1,0,0,0,3528,3531,3,306,153,0,3529,3532,3,302,151,0,3530,3532,3,306,153,0,3531,3529,1,0,0,0,3531,3530,1,0,0,0,3531,3532,1,0,0,0,3532,305,1,0,0,0,3533,3534,3,308,154,0,3534,3535,3,312,156,0,3535,3536,5,309,0,0,3536,3537,3,312,156,0,3537,307,1,0,0,0,3538,3540,7,49,0,0,3539,3538,1,0,0,0,3539,3540,1,0,0,0,3540,3544,1,0,0,0,3541,3545,5,382,0,0,3542,3545,5,384,0,0,3543,3545,3,388,194,0,3544,3541,1,0,0,0,3544,3542,1,0,0,0,3544,3543,1,0,0,0,3545,309,1,0,0,0,3546,3547,7,50,0,0,3547,311,1,0,0,0,3548,3549,7,51,0,0,3549,313,1,0,0,0,3550,3554,5,116,0,0,3551,3552,5,9,0,0,3552,3554,3,372,186,0,3553,3550,1,0,0,0,3553,3551,1,0,0,0,3554,315,1,0,0,0,3555,3586,5,27,0,0,3556,3586,5,308,0,0,3557,3586,5,32,0,0,3558,3586,5,276,0,0,3559,3586,5,272,0,0,3560,3586,5,150,0,0,3561,3586,5,151,0,0,3562,3586,5,25,0,0,3563,3586,5,174,0,0,3564,3586,5,117,0,0,3565,3586,5,234,0,0,3566,3586,5,95,0,0,3567,3586,5,71,0,0,3568,3586,5,303,0,0,3569,3586,5,305,0,0,3570,3586,5,304,0,0,3571,3586,5,285,0,0,3572,3586,5,41,0,0,3573,3586,5,40,0,0,3574,3586,5,334,0,0,3575,3586,5,26,0,0,3576,3586,5,80,0,0,3577,3586,5,79,0,0,3578,3586,5,200,0,0,3579,3586,5,340,0,0,3580,3586,5,149,0,0,3581,3586,5,19,0,0,3582,3586,5,286,0,0,3583,3586,5,177,0,0,3584,3586,3,376,188,0,3585,3555,1,0,0,0,3585,3556,1,0,0,0,3585,3557,1,0,0,0,3585,3558,1,0,0,0,3585,3559,1,0,0,0,3585,3560,1,0,0,0,3585,3561,1,0,0,0,3585,3562,1,0,0,0,3585,3563,1,0,0,0,3585,3564,1,0,0,0,3585,3565,1,0,0,0,3585,3566,1,0,0,0,3585,3567,1,0,0,0,3585,3568,1,0,0,0,3585,3569,1,0,0,0,3585,3570,1,0,0,0,3585,3571,1,0,0,0,3585,3572,1,0,0,0,3585,3573,1,0,0,0,3585,3574,1,0,0,0,3585,3575,1,0,0,0,3585,3576,1,0,0,0,3585,3577,1,0,0,0,3585,3578,1,0,0,0,3585,3579,1,0,0,0,3585,3580,1,0,0,0,3585,3581,1,0,0,0,3585,3582,1,0,0,0,3585,3583,1,0,0,0,3585,3584,1,0,0,0,3586,317,1,0,0,0,3587,3588,5,19,0,0,3588,3589,5,356,0,0,3589,3590,3,318,159,0,3590,3591,5,358,0,0,3591,3634,1,0,0,0,3592,3593,5,177,0,0,3593,3594,5,356,0,0,3594,3595,3,318,159,0,3595,3596,5,4,0,0,3596,3597,3,318,159,0,3597,3598,5,358,0,0,3598,3634,1,0,0,0,3599,3606,5,286,0,0,3600,3602,5,356,0,0,3601,3603,3,346,173,0,3602,3601,1,0,0,0,3602,3603,1,0,0,0,3603,3604,1,0,0,0,3604,3607,5,358,0,0,3605,3607,5,354,0,0,3606,3600,1,0,0,0,3606,3605,1,0,0,0,3607,3634,1,0,0,0,3608,3609,5,149,0,0,3609,3612,7,52,0,0,3610,3611,5,309,0,0,3611,3613,5,186,0,0,3612,3610,1,0,0,0,3612,3613,1,0,0,0,3613,3634,1,0,0,0,3614,3615,5,149,0,0,3615,3618,7,53,0,0,3616,3617,5,309,0,0,3617,3619,7,54,0,0,3618,3616,1,0,0,0,3618,3619,1,0,0,0,3619,3634,1,0,0,0,3620,3631,3,316,158,0,3621,3622,5,2,0,0,3622,3627,5,382,0,0,3623,3624,5,4,0,0,3624,3626,5,382,0,0,3625,3623,1,0,0,0,3626,3629,1,0,0,0,3627,3625,1,0,0,0,3627,3628,1,0,0,0,3628,3630,1,0,0,0,3629,3627,1,0,0,0,3630,3632,5,3,0,0,3631,3621,1,0,0,0,3631,3632,1,0,0,0,3632,3634,1,0,0,0,3633,3587,1,0,0,0,3633,3592,1,0,0,0,3633,3599,1,0,0,0,3633,3608,1,0,0,0,3633,3614,1,0,0,0,3633,3620,1,0,0,0,3634,319,1,0,0,0,3635,3640,3,322,161,0,3636,3637,5,4,0,0,3637,3639,3,322,161,0,3638,3636,1,0,0,0,3639,3642,1,0,0,0,3640,3638,1,0,0,0,3640,3641,1,0,0,0,3641,321,1,0,0,0,3642,3640,1,0,0,0,3643,3644,3,96,48,0,3644,3648,3,318,159,0,3645,3647,3,328,164,0,3646,3645,1,0,0,0,3647,3650,1,0,0,0,3648,3646,1,0,0,0,3648,3649,1,0,0,0,3649,323,1,0,0,0,3650,3648,1,0,0,0,3651,3656,3,326,163,0,3652,3653,5,4,0,0,3653,3655,3,326,163,0,3654,3652,1,0,0,0,3655,3658,1,0,0,0,3656,3654,1,0,0,0,3656,3657,1,0,0,0,3657,325,1,0,0,0,3658,3656,1,0,0,0,3659,3660,3,92,46,0,3660,3664,3,318,159,0,3661,3663,3,328,164,0,3662,3661,1,0,0,0,3663,3666,1,0,0,0,3664,3662,1,0,0,0,3664,3665,1,0,0,0,3665,327,1,0,0,0,3666,3664,1,0,0,0,3667,3668,5,197,0,0,3668,3673,5,198,0,0,3669,3673,3,330,165,0,3670,3673,3,24,12,0,3671,3673,3,314,157,0,3672,3667,1,0,0,0,3672,3669,1,0,0,0,3672,3670,1,0,0,0,3672,3671,1,0,0,0,3673,329,1,0,0,0,3674,3675,5,82,0,0,3675,3676,3,268,134,0,3676,331,1,0,0,0,3677,3678,7,55,0,0,3678,3679,3,268,134,0,3679,333,1,0,0,0,3680,3685,3,336,168,0,3681,3682,5,4,0,0,3682,3684,3,336,168,0,3683,3681,1,0,0,0,3684,3687,1,0,0,0,3685,3683,1,0,0,0,3685,3686,1,0,0,0,3686,335,1,0,0,0,3687,3685,1,0,0,0,3688,3689,3,372,186,0,3689,3692,3,318,159,0,3690,3691,5,197,0,0,3691,3693,5,198,0,0,3692,3690,1,0,0,0,3692,3693,1,0,0,0,3693,3695,1,0,0,0,3694,3696,3,24,12,0,3695,3694,1,0,0,0,3695,3696,1,0,0,0,3696,337,1,0,0,0,3697,3702,3,340,170,0,3698,3699,5,4,0,0,3699,3701,3,340,170,0,3700,3698,1,0,0,0,3701,3704,1,0,0,0,3702,3700,1,0,0,0,3702,3703,1,0,0,0,3703,339,1,0,0,0,3704,3702,1,0,0,0,3705,3706,3,96,48,0,3706,3710,3,318,159,0,3707,3709,3,342,171,0,3708,3707,1,0,0,0,3709,3712,1,0,0,0,3710,3708,1,0,0,0,3710,3711,1,0,0,0,3711,341,1,0,0,0,3712,3710,1,0,0,0,3713,3714,5,197,0,0,3714,3719,5,198,0,0,3715,3719,3,330,165,0,3716,3719,3,344,172,0,3717,3719,3,24,12,0,3718,3713,1,0,0,0,3718,3715,1,0,0,0,3718,3716,1,0,0,0,3718,3717,1,0,0,0,3719,343,1,0,0,0,3720,3721,5,127,0,0,3721,3722,5,12,0,0,3722,3723,5,20,0,0,3723,3724,5,2,0,0,3724,3725,3,268,134,0,3725,3726,5,3,0,0,3726,345,1,0,0,0,3727,3732,3,348,174,0,3728,3729,5,4,0,0,3729,3731,3,348,174,0,3730,3728,1,0,0,0,3731,3734,1,0,0,0,3732,3730,1,0,0,0,3732,3733,1,0,0,0,3733,347,1,0,0,0,3734,3732,1,0,0,0,3735,3737,3,376,188,0,3736,3738,5,371,0,0,3737,3736,1,0,0,0,3737,3738,1,0,0,0,3738,3739,1,0,0,0,3739,3742,3,318,159,0,3740,3741,5,197,0,0,3741,3743,5,198,0,0,3742,3740,1,0,0,0,3742,3743,1,0,0,0,3743,3745,1,0,0,0,3744,3746,3,24,12,0,3745,3744,1,0,0,0,3745,3746,1,0,0,0,3746,349,1,0,0,0,3747,3748,5,343,0,0,3748,3749,3,268,134,0,3749,3750,5,300,0,0,3750,3751,3,268,134,0,3751,351,1,0,0,0,3752,3753,5,345,0,0,3753,3758,3,356,178,0,3754,3755,5,4,0,0,3755,3757,3,356,178,0,3756,3754,1,0,0,0,3757,3760,1,0,0,0,3758,3756,1,0,0,0,3758,3759,1,0,0,0,3759,353,1,0,0,0,3760,3758,1,0,0,0,3761,3762,5,351,0,0,3762,3763,5,31,0,0,3763,3764,3,94,47,0,3764,355,1,0,0,0,3765,3766,3,372,186,0,3766,3767,5,20,0,0,3767,3768,3,358,179,0,3768,357,1,0,0,0,3769,3816,3,372,186,0,3770,3771,5,2,0,0,3771,3772,3,372,186,0,3772,3773,5,3,0,0,3773,3816,1,0,0,0,3774,3809,5,2,0,0,3775,3776,5,44,0,0,3776,3777,5,31,0,0,3777,3782,3,268,134,0,3778,3779,5,4,0,0,3779,3781,3,268,134,0,3780,3778,1,0,0,0,3781,3784,1,0,0,0,3782,3780,1,0,0,0,3782,3783,1,0,0,0,3783,3810,1,0,0,0,3784,3782,1,0,0,0,3785,3786,7,24,0,0,3786,3787,5,31,0,0,3787,3792,3,268,134,0,3788,3789,5,4,0,0,3789,3791,3,268,134,0,3790,3788,1,0,0,0,3791,3794,1,0,0,0,3792,3790,1,0,0,0,3792,3793,1,0,0,0,3793,3796,1,0,0,0,3794,3792,1,0,0,0,3795,3785,1,0,0,0,3795,3796,1,0,0,0,3796,3807,1,0,0,0,3797,3798,7,25,0,0,3798,3799,5,31,0,0,3799,3804,3,108,54,0,3800,3801,5,4,0,0,3801,3803,3,108,54,0,3802,3800,1,0,0,0,3803,3806,1,0,0,0,3804,3802,1,0,0,0,3804,3805,1,0,0,0,3805,3808,1,0,0,0,3806,3804,1,0,0,0,3807,3797,1,0,0,0,3807,3808,1,0,0,0,3808,3810,1,0,0,0,3809,3775,1,0,0,0,3809,3795,1,0,0,0,3810,3812,1,0,0,0,3811,3813,3,360,180,0,3812,3811,1,0,0,0,3812,3813,1,0,0,0,3813,3814,1,0,0,0,3814,3816,5,3,0,0,3815,3769,1,0,0,0,3815,3770,1,0,0,0,3815,3774,1,0,0,0,3816,359,1,0,0,0,3817,3818,5,233,0,0,3818,3834,3,362,181,0,3819,3820,5,258,0,0,3820,3834,3,362,181,0,3821,3822,5,233,0,0,3822,3823,5,24,0,0,3823,3824,3,362,181,0,3824,3825,5,14,0,0,3825,3826,3,362,181,0,3826,3834,1,0,0,0,3827,3828,5,258,0,0,3828,3829,5,24,0,0,3829,3830,3,362,181,0,3830,3831,5,14,0,0,3831,3832,3,362,181,0,3832,3834,1,0,0,0,3833,3817,1,0,0,0,3833,3819,1,0,0,0,3833,3821,1,0,0,0,3833,3827,1,0,0,0,3834,361,1,0,0,0,3835,3836,5,321,0,0,3836,3843,7,56,0,0,3837,3838,5,62,0,0,3838,3843,5,257,0,0,3839,3840,3,268,134,0,3840,3841,7,56,0,0,3841,3843,1,0,0,0,3842,3835,1,0,0,0,3842,3837,1,0,0,0,3842,3839,1,0,0,0,3843,363,1,0,0,0,3844,3849,3,370,185,0,3845,3846,5,4,0,0,3846,3848,3,370,185,0,3847,3845,1,0,0,0,3848,3851,1,0,0,0,3849,3847,1,0,0,0,3849,3850,1,0,0,0,3850,365,1,0,0,0,3851,3849,1,0,0,0,3852,3853,5,136,0,0,3853,3854,5,2,0,0,3854,3855,3,268,134,0,3855,3856,5,3,0,0,3856,3862,1,0,0,0,3857,3862,3,370,185,0,3858,3862,5,114,0,0,3859,3862,5,161,0,0,3860,3862,5,250,0,0,3861,3852,1,0,0,0,3861,3857,1,0,0,0,3861,3858,1,0,0,0,3861,3859,1,0,0,0,3861,3860,1,0,0,0,3862,367,1,0,0,0,3863,3864,3,370,185,0,3864,369,1,0,0,0,3865,3870,3,376,188,0,3866,3867,5,5,0,0,3867,3869,3,376,188,0,3868,3866,1,0,0,0,3869,3872,1,0,0,0,3870,3868,1,0,0,0,3870,3871,1,0,0,0,3871,371,1,0,0,0,3872,3870,1,0,0,0,3873,3874,3,376,188,0,3874,3875,3,374,187,0,3875,373,1,0,0,0,3876,3877,5,362,0,0,3877,3879,3,376,188,0,3878,3876,1,0,0,0,3879,3880,1,0,0,0,3880,3878,1,0,0,0,3880,3881,1,0,0,0,3881,3884,1,0,0,0,3882,3884,1,0,0,0,3883,3878,1,0,0,0,3883,3882,1,0,0,0,3884,375,1,0,0,0,3885,3888,3,378,189,0,3886,3888,3,396,198,0,3887,3885,1,0,0,0,3887,3886,1,0,0,0,3888,377,1,0,0,0,3889,3894,5,388,0,0,3890,3894,3,380,190,0,3891,3894,3,394,197,0,3892,3894,3,398,199,0,3893,3889,1,0,0,0,3893,3890,1,0,0,0,3893,3891,1,0,0,0,3893,3892,1,0,0,0,3894,379,1,0,0,0,3895,3896,7,57,0,0,3896,381,1,0,0,0,3897,3898,5,389,0,0,3898,383,1,0,0,0,3899,3901,5,362,0,0,3900,3899,1,0,0,0,3900,3901,1,0,0,0,3901,3902,1,0,0,0,3902,3940,5,383,0,0,3903,3905,5,362,0,0,3904,3903,1,0,0,0,3904,3905,1,0,0,0,3905,3906,1,0,0,0,3906,3940,5,384,0,0,3907,3909,5,362,0,0,3908,3907,1,0,0,0,3908,3909,1,0,0,0,3909,3910,1,0,0,0,3910,3940,7,58,0,0,3911,3913,5,362,0,0,3912,3911,1,0,0,0,3912,3913,1,0,0,0,3913,3914,1,0,0,0,3914,3940,5,382,0,0,3915,3917,5,362,0,0,3916,3915,1,0,0,0,3916,3917,1,0,0,0,3917,3918,1,0,0,0,3918,3940,5,379,0,0,3919,3921,5,362,0,0,3920,3919,1,0,0,0,3920,3921,1,0,0,0,3921,3922,1,0,0,0,3922,3940,5,380,0,0,3923,3925,5,362,0,0,3924,3923,1,0,0,0,3924,3925,1,0,0,0,3925,3926,1,0,0,0,3926,3940,5,381,0,0,3927,3929,5,362,0,0,3928,3927,1,0,0,0,3928,3929,1,0,0,0,3929,3930,1,0,0,0,3930,3940,5,386,0,0,3931,3933,5,362,0,0,3932,3931,1,0,0,0,3932,3933,1,0,0,0,3933,3934,1,0,0,0,3934,3940,5,385,0,0,3935,3937,5,362,0,0,3936,3935,1,0,0,0,3936,3937,1,0,0,0,3937,3938,1,0,0,0,3938,3940,5,387,0,0,3939,3900,1,0,0,0,3939,3904,1,0,0,0,3939,3908,1,0,0,0,3939,3912,1,0,0,0,3939,3916,1,0,0,0,3939,3920,1,0,0,0,3939,3924,1,0,0,0,3939,3928,1,0,0,0,3939,3932,1,0,0,0,3939,3936,1,0,0,0,3940,385,1,0,0,0,3941,3942,5,319,0,0,3942,3953,3,318,159,0,3943,3953,3,24,12,0,3944,3953,3,314,157,0,3945,3946,7,59,0,0,3946,3947,5,197,0,0,3947,3953,5,198,0,0,3948,3949,5,269,0,0,3949,3953,3,330,165,0,3950,3951,5,96,0,0,3951,3953,5,82,0,0,3952,3941,1,0,0,0,3952,3943,1,0,0,0,3952,3944,1,0,0,0,3952,3945,1,0,0,0,3952,3948,1,0,0,0,3952,3950,1,0,0,0,3953,387,1,0,0,0,3954,3955,7,60,0,0,3955,389,1,0,0,0,3956,3959,3,388,194,0,3957,3959,5,198,0,0,3958,3956,1,0,0,0,3958,3957,1,0,0,0,3959,391,1,0,0,0,3960,3963,5,382,0,0,3961,3963,3,388,194,0,3962,3960,1,0,0,0,3962,3961,1,0,0,0,3963,393,1,0,0,0,3964,3965,7,61,0,0,3965,395,1,0,0,0,3966,3967,7,62,0,0,3967,397,1,0,0,0,3968,3969,7,63,0,0,3969,399,1,0,0,0,517,403,410,414,419,426,431,439,441,460,464,470,473,476,483,486,490,493,498,510,512,520,523,527,530,536,547,553,558,591,601,612,623,634,639,648,652,658,662,667,673,685,693,699,710,714,719,734,738,745,749,755,784,788,793,800,806,809,812,816,820,828,830,839,842,851,856,862,869,872,876,887,890,896,900,915,917,925,929,935,938,942,945,951,956,960,967,970,973,980,985,994,1002,1008,1011,1014,1020,1024,1029,1032,1036,1038,1046,1054,1057,1064,1067,1070,1079,1084,1090,1095,1098,1102,1105,1109,1137,1140,1148,1154,1157,1160,1165,1173,1178,1184,1190,1193,1200,1207,1215,1232,1259,1262,1268,1277,1286,1292,1297,1302,1309,1314,1319,1326,1334,1337,1341,1353,1357,1364,1480,1488,1496,1505,1515,1519,1522,1526,1532,1544,1556,1561,1570,1578,1583,1585,1593,1598,1602,1605,1613,1618,1627,1632,1635,1640,1644,1649,1651,1655,1664,1672,1678,1689,1696,1705,1710,1713,1736,1738,1750,1757,1760,1767,1771,1777,1785,1792,1795,1803,1814,1825,1833,1839,1851,1858,1865,1877,1885,1891,1897,1900,1916,1923,1934,1943,1946,1955,1958,1967,1970,1979,1982,1985,1990,1992,1996,2007,2013,2019,2022,2024,2036,2040,2043,2047,2053,2057,2065,2069,2072,2075,2078,2082,2086,2091,2095,2098,2101,2104,2108,2113,2117,2120,2123,2126,2128,2134,2141,2146,2149,2152,2156,2166,2170,2172,2175,2179,2185,2189,2200,2210,2214,2226,2238,2253,2258,2264,2271,2287,2292,2305,2310,2318,2324,2328,2331,2336,2343,2349,2358,2368,2383,2388,2390,2395,2404,2417,2422,2426,2433,2438,2442,2445,2448,2462,2475,2480,2484,2487,2491,2497,2500,2507,2519,2530,2543,2554,2559,2567,2572,2586,2595,2598,2603,2610,2613,2619,2625,2628,2633,2638,2642,2648,2652,2655,2660,2663,2668,2672,2675,2678,2684,2689,2696,2699,2717,2719,2722,2733,2742,2749,2757,2764,2769,2772,2775,2783,2791,2797,2805,2813,2820,2827,2829,2842,2848,2850,2860,2866,2868,2876,2880,2889,2892,2898,2902,2904,2913,2925,2927,2934,2941,2947,2953,2955,2962,2970,2978,2984,2989,2996,3002,3005,3009,3011,3018,3027,3034,3044,3049,3053,3063,3070,3083,3085,3093,3095,3099,3107,3116,3122,3130,3135,3147,3152,3155,3161,3165,3170,3175,3180,3186,3207,3209,3220,3232,3244,3248,3257,3261,3279,3282,3290,3299,3308,3331,3347,3354,3357,3366,3370,3374,3386,3411,3418,3421,3436,3457,3461,3463,3473,3475,3485,3500,3502,3515,3519,3526,3531,3539,3544,3553,3585,3602,3606,3612,3618,3627,3631,3633,3640,3648,3656,3664,3672,3685,3692,3695,3702,3710,3718,3732,3737,3742,3745,3758,3782,3792,3795,3804,3807,3809,3812,3815,3833,3842,3849,3861,3870,3880,3883,3887,3893,3900,3904,3908,3912,3916,3920,3924,3928,3932,3936,3939,3952,3958,3962],e.vocabulary=new Te(e.literalNames,e.symbolicNames,[]),e.decisionsToDFA=e._ATN.decisionToState.map((n,t)=>new E1(n,t));class uu extends R{constructor(t,i){super(t,i)}EOF(){return this.getToken(e.EOF,0)}singleStatement(t){return t===void 0?this.getRuleContexts(Kr):this.getRuleContext(t,Kr)}get ruleIndex(){return e.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class Kr extends R{constructor(t,i){super(t,i)}statement(){return this.getRuleContext(0,I)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class I extends R{constructor(t,i){super(t,i)}get ruleIndex(){return e.RULE_statement}copyFrom(t){super.copyFrom(t)}}class lu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(e.KW_RESET,0)}enterRule(t){t.enterResetAny&&t.enterResetAny(this)}exitRule(t){t.exitResetAny&&t.exitResetAny(this)}accept(t){return t.visitResetAny?t.visitResetAny(this):t.visitChildren(this)}}class Eu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,kt)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterAlterTableDropColumn&&t.enterAlterTableDropColumn(this)}exitRule(t){t.exitAlterTableDropColumn&&t.exitAlterTableDropColumn(this)}accept(t){return t.visitAlterTableDropColumn?t.visitAlterTableDropColumn(this):t.visitChildren(this)}}class Tu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropMaterializedView&&t.enterDropMaterializedView(this)}exitRule(t){t.exitDropMaterializedView&&t.exitDropMaterializedView(this)}accept(t){return t.visitDropMaterializedView?t.visitDropMaterializedView(this):t.visitChildren(this)}}class du extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}query(){return this.getRuleContext(0,dt)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterAlterViewQuery&&t.enterAlterViewQuery(this)}exitRule(t){t.exitAlterViewQuery&&t.exitAlterViewQuery(this)}accept(t){return t.visitAlterViewQuery?t.visitAlterViewQuery(this):t.visitChildren(this)}}class Ru extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}namespace(){return this.getRuleContext(0,Ve)}namespaceName(){return this.getRuleContext(0,Ft)}ifExists(){return this.getRuleContext(0,Gt)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}enterRule(t){t.enterDropNamespace&&t.enterDropNamespace(this)}exitRule(t){t.exitDropNamespace&&t.exitDropNamespace(this)}accept(t){return t.visitDropNamespace?t.visitDropNamespace(this):t.visitChildren(this)}}class Wu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Tn)}tableProvider(){return this.getRuleContext(0,ke)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}colTypeList(){return this.getRuleContext(0,K2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterCreateTempViewUsing&&t.enterCreateTempViewUsing(this)}exitRule(t){t.exitCreateTempViewUsing&&t.exitCreateTempViewUsing(this)}accept(t){return t.visitCreateTempViewUsing?t.visitCreateTempViewUsing(this):t.visitChildren(this)}}class _u extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}class Au extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}functionName(){return this.getRuleContext(0,A1)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}dataType(){return this.getRuleContext(0,$t)}variableDefaultExpression(){return this.getRuleContext(0,f3)}enterRule(t){t.enterDeclareVariable&&t.enterDeclareVariable(this)}exitRule(t){t.exitDeclareVariable&&t.exitDeclareVariable(this)}accept(t){return t.visitDeclareVariable?t.visitDeclareVariable(this):t.visitChildren(this)}}class Ku extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}enterRule(t){t.enterFailNativeCommand&&t.enterFailNativeCommand(this)}exitRule(t){t.exitFailNativeCommand&&t.exitFailNativeCommand(this)}accept(t){return t.visitFailNativeCommand?t.visitFailNativeCommand(this):t.visitChildren(this)}}class fu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}identifier(){return this.getRuleContext(0,Q)}stringLit(){return this.getRuleContext(0,X)}enterRule(t){t.enterSetCatalog&&t.enterSetCatalog(this)}exitRule(t){t.exitSetCatalog&&t.exitSetCatalog(this)}accept(t){return t.visitSetCatalog?t.visitSetCatalog(this):t.visitChildren(this)}}class mu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterAlterMaterializedViewProperties&&t.enterAlterMaterializedViewProperties(this)}exitRule(t){t.exitAlterMaterializedViewProperties&&t.exitAlterMaterializedViewProperties(this)}accept(t){return t.visitAlterMaterializedViewProperties?t.visitAlterMaterializedViewProperties(this):t.visitChildren(this)}}class Cu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CLEAR(){return this.getToken(e.KW_CLEAR,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}enterRule(t){t.enterClearCache&&t.enterClearCache(this)}exitRule(t){t.exitClearCache&&t.exitClearCache(this)}accept(t){return t.visitClearCache?t.visitClearCache(this):t.visitChildren(this)}}class gu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Nu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}class Lu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}enterRule(t){t.enterRecoverPartitions&&t.enterRecoverPartitions(this)}exitRule(t){t.exitRecoverPartitions&&t.exitRecoverPartitions(this)}accept(t){return t.visitRecoverPartitions?t.visitRecoverPartitions(this):t.visitChildren(this)}}class Iu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}identifier(){return this.getRuleContext(0,Q)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,Gt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}enterRule(t){t.enterDropIndex&&t.enterDropIndex(this)}exitRule(t){t.exitDropIndex&&t.exitDropIndex(this)}accept(t){return t.visitDropIndex?t.visitDropIndex(this):t.visitChildren(this)}}class xu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}interval(){return this.getRuleContext(0,d2)}enterRule(t){t.enterSetTimeZoneInterval&&t.enterSetTimeZoneInterval(this)}exitRule(t){t.exitSetTimeZoneInterval&&t.exitSetTimeZoneInterval(this)}accept(t){return t.visitSetTimeZoneInterval?t.visitSetTimeZoneInterval(this):t.visitChildren(this)}}class Ou extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowCatalogs&&t.enterShowCatalogs(this)}exitRule(t){t.exitShowCatalogs&&t.exitShowCatalogs(this)}accept(t){return t.visitShowCatalogs?t.visitShowCatalogs(this):t.visitChildren(this)}}class pu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}namespace(){return this.getRuleContext(0,Ve)}enterRule(t){t.enterShowCurrentNamespace&&t.enterShowCurrentNamespace(this)}exitRule(t){t.exitShowCurrentNamespace&&t.exitShowCurrentNamespace(this)}accept(t){return t.visitShowCurrentNamespace?t.visitShowCurrentNamespace(this):t.visitChildren(this)}}class Du extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}enterRule(t){t.enterRenameTablePartition&&t.enterRenameTablePartition(this)}exitRule(t){t.exitRenameTablePartition&&t.exitRenameTablePartition(this)}accept(t){return t.visitRenameTablePartition?t.visitRenameTablePartition(this):t.visitChildren(this)}}class Mu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}enterRule(t){t.enterRepairTable&&t.enterRepairTable(this)}exitRule(t){t.exitRepairTable&&t.exitRepairTable(this)}accept(t){return t.visitRepairTable?t.visitRepairTable(this):t.visitChildren(this)}}class yu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}stringLit(){return this.getRuleContext(0,X)}enterRule(t){t.enterRefreshResource&&t.enterRefreshResource(this)}exitRule(t){t.exitRefreshResource&&t.exitRefreshResource(this)}accept(t){return t.visitRefreshResource?t.visitRefreshResource(this):t.visitChildren(this)}}class Uu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}assignmentList(){return this.getRuleContext(0,xi)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}enterRule(t){t.enterSetVariableAssignment&&t.enterSetVariableAssignment(this)}exitRule(t){t.exitSetVariableAssignment&&t.exitSetVariableAssignment(this)}accept(t){return t.visitSetVariableAssignment?t.visitSetVariableAssignment(this):t.visitChildren(this)}}class vu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}class wu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}namespaces(){return this.getRuleContext(0,xo)}multipartIdentifier(){return this.getRuleContext(0,Pt)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowNamespaces&&t.enterShowNamespaces(this)}exitRule(t){t.exitShowNamespaces&&t.exitShowNamespaces(this)}accept(t){return t.visitShowNamespaces?t.visitShowNamespaces(this):t.visitChildren(this)}}class bu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_FROM(t){return t===void 0?this.getTokens(e.KW_FROM):this.getToken(e.KW_FROM,t)}KW_IN(t){return t===void 0?this.getTokens(e.KW_IN):this.getToken(e.KW_IN,t)}tableName(){return this.getRuleContext(0,H)}namespaceName(){return this.getRuleContext(0,Ft)}enterRule(t){t.enterShowColumns&&t.enterShowColumns(this)}exitRule(t){t.exitShowColumns&&t.exitShowColumns(this)}accept(t){return t.visitShowColumns?t.visitShowColumns(this):t.visitChildren(this)}}class Hu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}replaceTableHeader(){return this.getRuleContext(0,Io)}createTableClauses(){return this.getRuleContext(0,Ir)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}createOrReplaceTableColTypeList(){return this.getRuleContext(0,f2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableProvider(){return this.getRuleContext(0,ke)}query(){return this.getRuleContext(0,dt)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterReplaceTable&&t.enterReplaceTable(this)}exitRule(t){t.exitReplaceTable&&t.exitReplaceTable(this)}accept(t){return t.visitReplaceTable?t.visitReplaceTable(this):t.visitChildren(this)}}class Fu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}enterRule(t){t.enterAnalyzeTables&&t.enterAnalyzeTables(this)}exitRule(t){t.exitAnalyzeTables&&t.exitAnalyzeTables(this)}accept(t){return t.visitAnalyzeTables?t.visitAnalyzeTables(this):t.visitChildren(this)}}class Bu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}ifNotExists(){return this.getRuleContext(0,de)}partitionSpecLocation(t){return t===void 0?this.getRuleContexts(Cr):this.getRuleContext(t,Cr)}enterRule(t){t.enterAddTablePartition&&t.enterAddTablePartition(this)}exitRule(t){t.exitAddTablePartition&&t.exitAddTablePartition(this)}accept(t){return t.visitAddTablePartition?t.visitAddTablePartition(this):t.visitChildren(this)}}class Vu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}namespace(){return this.getRuleContext(0,Ve)}namespaceName(){return this.getRuleContext(0,Ft)}KW_SET(){return this.getToken(e.KW_SET,0)}locationSpec(){return this.getRuleContext(0,zt)}enterRule(t){t.enterSetNamespaceLocation&&t.enterSetNamespaceLocation(this)}exitRule(t){t.exitSetNamespaceLocation&&t.exitSetNamespaceLocation(this)}accept(t){return t.visitSetNamespaceLocation?t.visitSetNamespaceLocation(this):t.visitChildren(this)}}class ku extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}enterRule(t){t.enterRefreshTable&&t.enterRefreshTable(this)}exitRule(t){t.exitRefreshTable&&t.exitRefreshTable(this)}accept(t){return t.visitRefreshTable?t.visitRefreshTable(this):t.visitChildren(this)}}class Gu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}enterRule(t){t.enterSetAny&&t.enterSetAny(this)}exitRule(t){t.exitSetAny&&t.exitSetAny(this)}accept(t){return t.visitSetAny?t.visitSetAny(this):t.visitChildren(this)}}class Yu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(e.KW_RESET,0)}configKey(){return this.getRuleContext(0,cn)}enterRule(t){t.enterResetConfig&&t.enterResetConfig(this)}exitRule(t){t.exitResetConfig&&t.exitResetConfig(this)}accept(t){return t.visitResetConfig?t.visitResetConfig(this):t.visitChildren(this)}}class Su extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}EQ(){return this.getToken(e.EQ,0)}configValue(){return this.getRuleContext(0,fr)}enterRule(t){t.enterSetConfigAnyKey&&t.enterSetConfigAnyKey(this)}exitRule(t){t.exitSetConfigAnyKey&&t.exitSetConfigAnyKey(this)}accept(t){return t.visitSetConfigAnyKey?t.visitSetConfigAnyKey(this):t.visitChildren(this)}}class Qu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}namespace(){return this.getRuleContext(0,Ve)}namespaceName(){return this.getRuleContext(0,Ft)}KW_SET(){return this.getToken(e.KW_SET,0)}propertyList(){return this.getRuleContext(0,ht)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}enterRule(t){t.enterSetNamespaceProperties&&t.enterSetNamespaceProperties(this)}exitRule(t){t.exitSetNamespaceProperties&&t.exitSetNamespaceProperties(this)}accept(t){return t.visitSetNamespaceProperties?t.visitSetNamespaceProperties(this):t.visitChildren(this)}}class Xu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,Q)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_LIST(){return this.getToken(e.KW_LIST,0)}enterRule(t){t.enterManageResource&&t.enterManageResource(this)}exitRule(t){t.exitManageResource&&t.exitManageResource(this)}accept(t){return t.visitManageResource?t.visitManageResource(this):t.visitChildren(this)}}class Zu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}statement(){return this.getRuleContext(0,I)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_CODEGEN(){return this.getToken(e.KW_CODEGEN,0)}KW_COST(){return this.getToken(e.KW_COST,0)}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class zu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}partitionSpec(){return this.getRuleContext(0,At)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}columnNameSeq(){return this.getRuleContext(0,Li)}KW_ALL(){return this.getToken(e.KW_ALL,0)}enterRule(t){t.enterAnalyze&&t.enterAnalyze(this)}exitRule(t){t.exitAnalyze&&t.exitAnalyze(this)}accept(t){return t.visitAnalyze?t.visitAnalyze(this):t.visitChildren(this)}}class Pu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,L3)}KW_AS(){return this.getToken(e.KW_AS,0)}stringLit(){return this.getRuleContext(0,X)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,de)}KW_USING(){return this.getToken(e.KW_USING,0)}resource(t){return t===void 0?this.getRuleContexts(Dr):this.getRuleContext(t,Dr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class $u extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNCACHE(){return this.getToken(e.KW_UNCACHE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterUnCacheTable&&t.enterUnCacheTable(this)}exitRule(t){t.exitUnCacheTable&&t.exitUnCacheTable(this)}accept(t){return t.visitUnCacheTable?t.visitUnCacheTable(this):t.visitChildren(this)}}class ju extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}qualifiedColTypeWithPositionSeqForAdd(){return this.getRuleContext(0,A3)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}enterRule(t){t.enterAlterTableAddColumns&&t.enterAlterTableAddColumns(this)}exitRule(t){t.exitAlterTableAddColumns&&t.exitAlterTableAddColumns(this)}accept(t){return t.visitAlterTableAddColumns?t.visitAlterTableAddColumns(this):t.visitChildren(this)}}class Ju extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}qualifiedColTypeWithPositionSeqForReplace(){return this.getRuleContext(0,K3)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterHiveReplaceColumns&&t.enterHiveReplaceColumns(this)}exitRule(t){t.exitHiveReplaceColumns&&t.exitHiveReplaceColumns(this)}accept(t){return t.visitHiveReplaceColumns?t.visitHiveReplaceColumns(this):t.visitChildren(this)}}class qu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}qualifiedColTypeWithPositionForAdd(){return this.getRuleContext(0,Ln)}enterRule(t){t.enterAlterTableAddColumn&&t.enterAlterTableAddColumn(this)}exitRule(t){t.exitAlterTableAddColumn&&t.exitAlterTableAddColumn(this)}accept(t){return t.visitAlterTableAddColumn?t.visitAlterTableAddColumn(this):t.visitChildren(this)}}class t7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}namespace(){return this.getRuleContext(0,Ve)}namespaceName(){return this.getRuleContext(0,Ft)}KW_IS(){return this.getToken(e.KW_IS,0)}commentStr(){return this.getRuleContext(0,p2)}enterRule(t){t.enterCommentNamespace&&t.enterCommentNamespace(this)}exitRule(t){t.exitCommentNamespace&&t.exitCommentNamespace(this)}accept(t){return t.visitCommentNamespace?t.visitCommentNamespace(this):t.visitChildren(this)}}class fo extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}createTableHeader(){return this.getRuleContext(0,Lo)}createTableClauses(){return this.getRuleContext(0,Ir)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}createOrReplaceTableColTypeList(){return this.getRuleContext(0,f2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableProvider(){return this.getRuleContext(0,ke)}query(){return this.getRuleContext(0,dt)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}class e7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}dmlStatementNoWith(){return this.getRuleContext(0,R1)}ctes(){return this.getRuleContext(0,Nr)}enterRule(t){t.enterDmlStatement&&t.enterDmlStatement(this)}exitRule(t){t.exitDmlStatement&&t.exitDmlStatement(this)}accept(t){return t.visitDmlStatement?t.visitDmlStatement(this):t.visitChildren(this)}}class i7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}enterRule(t){t.enterAlterMaterializedViewRewrite&&t.enterAlterMaterializedViewRewrite(this)}exitRule(t){t.exitAlterMaterializedViewRewrite&&t.exitAlterMaterializedViewRewrite(this)}accept(t){return t.visitAlterMaterializedViewRewrite?t.visitAlterMaterializedViewRewrite(this):t.visitChildren(this)}}class s7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}tableNameCreate(){return this.getRuleContext(0,En)}tableName(){return this.getRuleContext(0,H)}ifNotExists(){return this.getRuleContext(0,de)}tableProvider(t){return t===void 0?this.getRuleContexts(ke):this.getRuleContext(t,ke)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}createFileFormat(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}tableLifecycle(t){return t===void 0?this.getRuleContexts(Ni):this.getRuleContext(t,Ni)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}enterRule(t){t.enterCreateTableLike&&t.enterCreateTableLike(this)}exitRule(t){t.exitCreateTableLike&&t.exitCreateTableLike(this)}accept(t){return t.visitCreateTableLike?t.visitCreateTableLike(this):t.visitChildren(this)}}class n7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,A1)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class r7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}multipartIdentifierList(){return this.getRuleContext(0,r2)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}EQ(){return this.getToken(e.EQ,0)}query(){return this.getRuleContext(0,dt)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}enterRule(t){t.enterSetVariableMultiAssignment&&t.enterSetVariableMultiAssignment(this)}exitRule(t){t.exitSetVariableMultiAssignment&&t.exitSetVariableMultiAssignment(this)}accept(t){return t.visitSetVariableMultiAssignment?t.visitSetVariableMultiAssignment(this):t.visitChildren(this)}}class h7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableName(){return this.getRuleContext(0,H)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}partitionSpec(){return this.getRuleContext(0,At)}describeColName(){return this.getRuleContext(0,po)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}enterRule(t){t.enterDescribeRelation&&t.enterDescribeRelation(this)}exitRule(t){t.exitDescribeRelation&&t.exitDescribeRelation(this)}accept(t){return t.visitDescribeRelation?t.visitDescribeRelation(this):t.visitChildren(this)}}class o7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}stringLit(){return this.getRuleContext(0,X)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterLoadData&&t.enterLoadData(this)}exitRule(t){t.exitLoadData&&t.exitLoadData(this)}accept(t){return t.visitLoadData?t.visitLoadData(this):t.visitChildren(this)}}class a7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterShowPartitions&&t.enterShowPartitions(this)}exitRule(t){t.exitShowPartitions&&t.exitShowPartitions(this)}accept(t){return t.visitShowPartitions?t.visitShowPartitions(this):t.visitChildren(this)}}class c7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}describeFuncName(){return this.getRuleContext(0,Oo)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}enterRule(t){t.enterDescribeFunction&&t.enterDescribeFunction(this)}exitRule(t){t.exitDescribeFunction&&t.exitDescribeFunction(this)}accept(t){return t.visitDescribeFunction?t.visitDescribeFunction(this):t.visitChildren(this)}}class u7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,kt)}KW_TO(){return this.getToken(e.KW_TO,0)}columnNameCreate(){return this.getRuleContext(0,Ii)}tableName(){return this.getRuleContext(0,H)}enterRule(t){t.enterRenameTableColumn&&t.enterRenameTableColumn(this)}exitRule(t){t.exitRenameTableColumn&&t.exitRenameTableColumn(this)}accept(t){return t.visitRenameTableColumn?t.visitRenameTableColumn(this):t.visitChildren(this)}}class l7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}configKey(){return this.getRuleContext(0,cn)}EQ(){return this.getToken(e.EQ,0)}configValue(){return this.getRuleContext(0,fr)}enterRule(t){t.enterSetConfig&&t.enterSetConfig(this)}exitRule(t){t.exitSetConfig&&t.exitSetConfig(this)}accept(t){return t.visitSetConfig?t.visitSetConfig(this):t.visitChildren(this)}}class E7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}unsupportedHiveNativeCommands(){return this.getRuleContext(0,No)}enterRule(t){t.enterUnsupportHiveCommands&&t.enterUnsupportHiveCommands(this)}exitRule(t){t.exitUnsupportHiveCommands&&t.exitUnsupportHiveCommands(this)}accept(t){return t.visitUnsupportHiveCommands?t.visitUnsupportHiveCommands(this):t.visitChildren(this)}}class T7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,dt)}enterRule(t){t.enterStatementDefault&&t.enterStatementDefault(this)}exitRule(t){t.exitStatementDefault&&t.exitStatementDefault(this)}accept(t){return t.visitStatementDefault?t.visitStatementDefault(this):t.visitChildren(this)}}class d7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}columnType(){return this.getRuleContext(0,yi)}tableName(){return this.getRuleContext(0,H)}columnName(){return this.getRuleContext(0,kt)}partitionSpec(){return this.getRuleContext(0,At)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}colPosition(){return this.getRuleContext(0,Nn)}enterRule(t){t.enterHiveChangeColumn&&t.enterHiveChangeColumn(this)}exitRule(t){t.exitHiveChangeColumn&&t.exitHiveChangeColumn(this)}accept(t){return t.visitHiveChangeColumn?t.visitHiveChangeColumn(this):t.visitChildren(this)}}class R7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_OPTIMIZE(){return this.getToken(e.KW_OPTIMIZE,0)}tableName(){return this.getRuleContext(0,H)}zorderClause(){return this.getRuleContext(0,g3)}whereClause(){return this.getRuleContext(0,W1)}enterRule(t){t.enterOptimizeTable&&t.enterOptimizeTable(this)}exitRule(t){t.exitOptimizeTable&&t.exitOptimizeTable(this)}accept(t){return t.visitOptimizeTable?t.visitOptimizeTable(this):t.visitChildren(this)}}class W7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}timezone(){return this.getRuleContext(0,go)}enterRule(t){t.enterSetTimeZone&&t.enterSetTimeZone(this)}exitRule(t){t.exitSetTimeZone&&t.exitSetTimeZone(this)}accept(t){return t.visitSetTimeZone?t.visitSetTimeZone(this):t.visitChildren(this)}}class _7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,dt)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}enterRule(t){t.enterDescribeQuery&&t.enterDescribeQuery(this)}exitRule(t){t.exitDescribeQuery&&t.exitDescribeQuery(this)}accept(t){return t.visitDescribeQuery?t.visitDescribeQuery(this):t.visitChildren(this)}}class A7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterTruncateTable&&t.enterTruncateTable(this)}exitRule(t){t.exitTruncateTable&&t.exitTruncateTable(this)}accept(t){return t.visitTruncateTable?t.visitTruncateTable(this):t.visitChildren(this)}}class K7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}configKey(){return this.getRuleContext(0,cn)}EQ(){return this.getToken(e.EQ,0)}enterRule(t){t.enterSetConfigAndValue&&t.enterSetConfigAndValue(this)}exitRule(t){t.exitSetConfigAndValue&&t.exitSetConfigAndValue(this)}accept(t){return t.visitSetConfigAndValue?t.visitSetConfigAndValue(this):t.visitChildren(this)}}class f7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Tn)}KW_AS(){return this.getToken(e.KW_AS,0)}query(){return this.getRuleContext(0,dt)}ifNotExists(){return this.getRuleContext(0,de)}tableProvider(){return this.getRuleContext(0,ke)}skewSpec(t){return t===void 0?this.getRuleContexts(gi):this.getRuleContext(t,gi)}bucketSpec(t){return t===void 0?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}createFileFormat(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}KW_OPTIONS(t){return t===void 0?this.getTokens(e.KW_OPTIONS):this.getToken(e.KW_OPTIONS,t)}KW_PARTITIONED(t){return t===void 0?this.getTokens(e.KW_PARTITIONED):this.getToken(e.KW_PARTITIONED,t)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}partitionFieldList(t){return t===void 0?this.getRuleContexts(Di):this.getRuleContext(t,Di)}enterRule(t){t.enterCreateMaterializedView&&t.enterCreateMaterializedView(this)}exitRule(t){t.exitCreateMaterializedView&&t.exitCreateMaterializedView(this)}accept(t){return t.visitCreateMaterializedView?t.visitCreateMaterializedView(this):t.visitChildren(this)}}class m7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}stringLit(){return this.getRuleContext(0,X)}partitionSpec(){return this.getRuleContext(0,At)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterSetTableSerDe&&t.enterSetTableSerDe(this)}exitRule(t){t.exitSetTableSerDe&&t.exitSetTableSerDe(this)}accept(t){return t.visitSetTableSerDe?t.visitSetTableSerDe(this):t.visitChildren(this)}}class mo extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Tn)}KW_AS(){return this.getToken(e.KW_AS,0)}query(){return this.getRuleContext(0,dt)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,de)}identifierCommentList(){return this.getRuleContext(0,e3)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}KW_PARTITIONED(t){return t===void 0?this.getTokens(e.KW_PARTITIONED):this.getToken(e.KW_PARTITIONED,t)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}identifierList(t){return t===void 0?this.getRuleContexts(Ce):this.getRuleContext(t,Ce)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class C7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}enterRule(t){t.enterSetTimeZoneAny&&t.enterSetTimeZoneAny(this)}exitRule(t){t.exitSetTimeZoneAny&&t.exitSetTimeZoneAny(this)}accept(t){return t.visitSetTimeZoneAny?t.visitSetTimeZoneAny(this):t.visitChildren(this)}}class g7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}partitionSpec(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}ifExists(){return this.getRuleContext(0,Gt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}enterRule(t){t.enterDropTablePartitions&&t.enterDropTablePartitions(this)}exitRule(t){t.exitDropTablePartitions&&t.exitDropTablePartitions(this)}accept(t){return t.visitDropTablePartitions?t.visitDropTablePartitions(this):t.visitChildren(this)}}class N7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,Gt)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class L7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}stringLit(){return this.getRuleContext(0,X)}partitionSpec(){return this.getRuleContext(0,At)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}namespaceName(){return this.getRuleContext(0,Ft)}enterRule(t){t.enterShowTableExtended&&t.enterShowTableExtended(this)}exitRule(t){t.exitShowTableExtended&&t.exitShowTableExtended(this)}accept(t){return t.visitShowTableExtended?t.visitShowTableExtended(this):t.visitChildren(this)}}class I7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}enterRule(t){t.enterDescribeNamespace&&t.enterDescribeNamespace(this)}exitRule(t){t.exitDescribeNamespace&&t.exitDescribeNamespace(this)}accept(t){return t.visitDescribeNamespace?t.visitDescribeNamespace(this):t.visitChildren(this)}}class x7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(t){return t===void 0?this.getTokens(e.KW_ALTER):this.getToken(e.KW_ALTER,t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}columnName(){return this.getRuleContext(0,kt)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}alterColumnAction(){return this.getRuleContext(0,p3)}enterRule(t){t.enterAlterTableAlterColumn&&t.enterAlterTableAlterColumn(this)}exitRule(t){t.exitAlterTableAlterColumn&&t.exitAlterTableAlterColumn(this)}accept(t){return t.visitAlterTableAlterColumn?t.visitAlterTableAlterColumn(this):t.visitChildren(this)}}class O7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,A1)}enterRule(t){t.enterRefreshFunction&&t.enterRefreshFunction(this)}exitRule(t){t.exitRefreshFunction&&t.exitRefreshFunction(this)}accept(t){return t.visitRefreshFunction?t.visitRefreshFunction(this):t.visitChildren(this)}}class p7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_IS(){return this.getToken(e.KW_IS,0)}commentStr(){return this.getRuleContext(0,p2)}enterRule(t){t.enterCommentTable&&t.enterCommentTable(this)}exitRule(t){t.exitCommentTable&&t.exitCommentTable(this)}accept(t){return t.visitCommentTable?t.visitCommentTable(this):t.visitChildren(this)}}class D7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}namespaceName(){return this.getRuleContext(0,Ft)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowMaterializedViews&&t.enterShowMaterializedViews(this)}exitRule(t){t.exitShowMaterializedViews&&t.exitShowMaterializedViews(this)}accept(t){return t.visitShowMaterializedViews?t.visitShowMaterializedViews(this):t.visitChildren(this)}}class M7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,H)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}multipartIdentifierPropertyList(){return this.getRuleContext(0,h3)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}ifNotExists(){return this.getRuleContext(0,de)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterCreateIndex&&t.enterCreateIndex(this)}exitRule(t){t.exitCreateIndex&&t.exitCreateIndex(this)}accept(t){return t.visitCreateIndex?t.visitCreateIndex(this):t.visitChildren(this)}}class y7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USE(){return this.getToken(e.KW_USE,0)}namespaceName(){return this.getRuleContext(0,Ft)}namespace(){return this.getRuleContext(0,Ve)}enterRule(t){t.enterUseNamespace&&t.enterUseNamespace(this)}exitRule(t){t.exitUseNamespace&&t.exitUseNamespace(this)}accept(t){return t.visitUseNamespace?t.visitUseNamespace(this):t.visitChildren(this)}}class U7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}tableName(){return this.getRuleContext(0,H)}viewName(){return this.getRuleContext(0,It)}functionName(){return this.getRuleContext(0,A1)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropVariable&&t.enterDropVariable(this)}exitRule(t){t.exitDropVariable&&t.exitDropVariable(this)}accept(t){return t.visitDropVariable?t.visitDropVariable(this):t.visitChildren(this)}}class Co extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}namespace(){return this.getRuleContext(0,Ve)}namespaceNameCreate(){return this.getRuleContext(0,vo)}ifNotExists(){return this.getRuleContext(0,de)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}KW_WITH(t){return t===void 0?this.getTokens(e.KW_WITH):this.getToken(e.KW_WITH,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}KW_DBPROPERTIES(t){return t===void 0?this.getTokens(e.KW_DBPROPERTIES):this.getToken(e.KW_DBPROPERTIES,t)}KW_PROPERTIES(t){return t===void 0?this.getTokens(e.KW_PROPERTIES):this.getToken(e.KW_PROPERTIES,t)}enterRule(t){t.enterCreateNamespace&&t.enterCreateNamespace(this)}exitRule(t){t.exitCreateNamespace&&t.exitCreateNamespace(this)}accept(t){return t.visitCreateNamespace?t.visitCreateNamespace(this):t.visitChildren(this)}}class v7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterSetTableSerDeProperties&&t.enterSetTableSerDeProperties(this)}exitRule(t){t.exitSetTableSerDeProperties&&t.exitSetTableSerDeProperties(this)}accept(t){return t.visitSetTableSerDeProperties?t.visitSetTableSerDeProperties(this):t.visitChildren(this)}}class w7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}enterRule(t){t.enterRefreshMaterializedView&&t.enterRefreshMaterializedView(this)}exitRule(t){t.exitRefreshMaterializedView&&t.exitRefreshMaterializedView(this)}accept(t){return t.visitRefreshMaterializedView?t.visitRefreshMaterializedView(this):t.visitChildren(this)}}class b7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableName(){return this.getRuleContext(0,H)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}propertyKey(){return this.getRuleContext(0,un)}enterRule(t){t.enterShowTblProperties&&t.enterShowTblProperties(this)}exitRule(t){t.exitShowTblProperties&&t.exitShowTblProperties(this)}accept(t){return t.visitShowTblProperties?t.visitShowTblProperties(this):t.visitChildren(this)}}class H7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}enterRule(t){t.enterShowCreateMaterializedView&&t.enterShowCreateMaterializedView(this)}exitRule(t){t.exitShowCreateMaterializedView&&t.exitShowCreateMaterializedView(this)}accept(t){return t.visitShowCreateMaterializedView?t.visitShowCreateMaterializedView(this):t.visitChildren(this)}}class F7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterUnsetTableProperties&&t.enterUnsetTableProperties(this)}exitRule(t){t.exitUnsetTableProperties&&t.exitUnsetTableProperties(this)}accept(t){return t.visitUnsetTableProperties?t.visitUnsetTableProperties(this):t.visitChildren(this)}}class B7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(e.KW_SET,0)}locationSpec(){return this.getRuleContext(0,zt)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterSetTableLocation&&t.enterSetTableLocation(this)}exitRule(t){t.exitSetTableLocation&&t.exitSetTableLocation(this)}accept(t){return t.visitSetTableLocation?t.visitSetTableLocation(this):t.visitChildren(this)}}class V7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}columnNameSeq(){return this.getRuleContext(0,Li)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropTableColumns&&t.enterDropTableColumns(this)}exitRule(t){t.exitDropTableColumns&&t.exitDropTableColumns(this)}accept(t){return t.visitDropTableColumns?t.visitDropTableColumns(this):t.visitChildren(this)}}class k7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowViews&&t.enterShowViews(this)}exitRule(t){t.exitShowViews&&t.exitShowViews(this)}accept(t){return t.visitShowViews?t.visitShowViews(this):t.visitChildren(this)}}class G7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}functionKind(){return this.getRuleContext(0,Go)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}stringLit(){return this.getRuleContext(0,X)}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}class Y7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_LAZY(){return this.getToken(e.KW_LAZY,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}query(){return this.getRuleContext(0,dt)}propertyList(){return this.getRuleContext(0,ht)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterCacheTable&&t.enterCacheTable(this)}exitRule(t){t.exitCacheTable&&t.exitCacheTable(this)}accept(t){return t.visitCacheTable?t.visitCacheTable(this):t.visitChildren(this)}}class S7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}enterRule(t){t.enterSetTableProperties&&t.enterSetTableProperties(this)}exitRule(t){t.exitSetTableProperties&&t.exitSetTableProperties(this)}accept(t){return t.visitSetTableProperties?t.visitSetTableProperties(this):t.visitChildren(this)}}class go extends R{constructor(t,i){super(t,i)}stringLit(){return this.getRuleContext(0,X)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}get ruleIndex(){return e.RULE_timezone}enterRule(t){t.enterTimezone&&t.enterTimezone(this)}exitRule(t){t.exitTimezone&&t.exitTimezone(this)}accept(t){return t.visitTimezone?t.visitTimezone(this):t.visitChildren(this)}}class cn extends R{constructor(t,i){super(t,i)}quotedIdentifier(){return this.getRuleContext(0,O2)}get ruleIndex(){return e.RULE_configKey}enterRule(t){t.enterConfigKey&&t.enterConfigKey(this)}exitRule(t){t.exitConfigKey&&t.exitConfigKey(this)}accept(t){return t.visitConfigKey?t.visitConfigKey(this):t.visitChildren(this)}}class fr extends R{constructor(t,i){super(t,i)}backQuotedIdentifier(){return this.getRuleContext(0,x3)}get ruleIndex(){return e.RULE_configValue}enterRule(t){t.enterConfigValue&&t.enterConfigValue(this)}exitRule(t){t.exitConfigValue&&t.exitConfigValue(this)}accept(t){return t.visitConfigValue?t.visitConfigValue(this):t.visitChildren(this)}}class No extends R{constructor(t,i){super(t,i)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}tableName(){return this.getRuleContext(0,H)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}partitionSpec(){return this.getRuleContext(0,At)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_DFS(){return this.getToken(e.KW_DFS,0)}get ruleIndex(){return e.RULE_unsupportedHiveNativeCommands}enterRule(t){t.enterUnsupportedHiveNativeCommands&&t.enterUnsupportedHiveNativeCommands(this)}exitRule(t){t.exitUnsupportedHiveNativeCommands&&t.exitUnsupportedHiveNativeCommands(this)}accept(t){return t.visitUnsupportedHiveNativeCommands?t.visitUnsupportedHiveNativeCommands(this):t.visitChildren(this)}}class Lo extends R{constructor(t,i){super(t,i)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,En)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,de)}get ruleIndex(){return e.RULE_createTableHeader}enterRule(t){t.enterCreateTableHeader&&t.enterCreateTableHeader(this)}exitRule(t){t.exitCreateTableHeader&&t.exitCreateTableHeader(this)}accept(t){return t.visitCreateTableHeader?t.visitCreateTableHeader(this):t.visitChildren(this)}}class Io extends R{constructor(t,i){super(t,i)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,En)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_OR(){return this.getToken(e.KW_OR,0)}get ruleIndex(){return e.RULE_replaceTableHeader}enterRule(t){t.enterReplaceTableHeader&&t.enterReplaceTableHeader(this)}exitRule(t){t.exitReplaceTableHeader&&t.exitReplaceTableHeader(this)}accept(t){return t.visitReplaceTableHeader?t.visitReplaceTableHeader(this):t.visitChildren(this)}}class Ci extends R{constructor(t,i){super(t,i)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}identifierList(){return this.getRuleContext(0,Ce)}KW_INTO(){return this.getToken(e.KW_INTO,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}orderedIdentifierList(){return this.getRuleContext(0,t3)}get ruleIndex(){return e.RULE_bucketSpec}enterRule(t){t.enterBucketSpec&&t.enterBucketSpec(this)}exitRule(t){t.exitBucketSpec&&t.exitBucketSpec(this)}accept(t){return t.visitBucketSpec?t.visitBucketSpec(this):t.visitChildren(this)}}class gi extends R{constructor(t,i){super(t,i)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}identifierList(){return this.getRuleContext(0,Ce)}KW_ON(){return this.getToken(e.KW_ON,0)}constantList(){return this.getRuleContext(0,ln)}nestedConstantList(){return this.getRuleContext(0,Mo)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}get ruleIndex(){return e.RULE_skewSpec}enterRule(t){t.enterSkewSpec&&t.enterSkewSpec(this)}exitRule(t){t.exitSkewSpec&&t.exitSkewSpec(this)}accept(t){return t.visitSkewSpec?t.visitSkewSpec(this):t.visitChildren(this)}}class zt extends R{constructor(t,i){super(t,i)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_locationSpec}enterRule(t){t.enterLocationSpec&&t.enterLocationSpec(this)}exitRule(t){t.exitLocationSpec&&t.exitLocationSpec(this)}accept(t){return t.visitLocationSpec?t.visitLocationSpec(this):t.visitChildren(this)}}class Ut extends R{constructor(t,i){super(t,i)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_commentSpec}enterRule(t){t.enterCommentSpec&&t.enterCommentSpec(this)}exitRule(t){t.exitCommentSpec&&t.exitCommentSpec(this)}accept(t){return t.visitCommentSpec?t.visitCommentSpec(this):t.visitChildren(this)}}class dt extends R{constructor(t,i){super(t,i)}get ruleIndex(){return e.RULE_query}copyFrom(t){super.copyFrom(t)}}class Q7 extends dt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryTerm(){return this.getRuleContext(0,Ye)}queryOrganization(){return this.getRuleContext(0,Mr)}ctes(){return this.getRuleContext(0,Nr)}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class mr extends R{constructor(t,i){super(t,i)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}tableName(){return this.getRuleContext(0,H)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}partitionSpec(){return this.getRuleContext(0,At)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_NAME(){return this.getToken(e.KW_NAME,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}columnNameSeq(){return this.getRuleContext(0,Li)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}ifNotExists(){return this.getRuleContext(0,de)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}whereClause(){return this.getRuleContext(0,W1)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}stringLit(){return this.getRuleContext(0,X)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}rowFormat(){return this.getRuleContext(0,Re)}createFileFormat(){return this.getRuleContext(0,Ge)}tableProvider(){return this.getRuleContext(0,ke)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}get ruleIndex(){return e.RULE_insertInto}enterRule(t){t.enterInsertInto&&t.enterInsertInto(this)}exitRule(t){t.exitInsertInto&&t.exitInsertInto(this)}accept(t){return t.visitInsertInto?t.visitInsertInto(this):t.visitChildren(this)}}class Cr extends R{constructor(t,i){super(t,i)}partitionSpec(){return this.getRuleContext(0,At)}locationSpec(){return this.getRuleContext(0,zt)}get ruleIndex(){return e.RULE_partitionSpecLocation}enterRule(t){t.enterPartitionSpecLocation&&t.enterPartitionSpecLocation(this)}exitRule(t){t.exitPartitionSpecLocation&&t.exitPartitionSpecLocation(this)}accept(t){return t.visitPartitionSpecLocation?t.visitPartitionSpecLocation(this):t.visitChildren(this)}}class At extends R{constructor(t,i){super(t,i)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}partitionVal(t){return t===void 0?this.getRuleContexts(gr):this.getRuleContext(t,gr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionSpec}enterRule(t){t.enterPartitionSpec&&t.enterPartitionSpec(this)}exitRule(t){t.exitPartitionSpec&&t.exitPartitionSpec(this)}accept(t){return t.visitPartitionSpec?t.visitPartitionSpec(this):t.visitChildren(this)}}class gr extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}EQ(){return this.getToken(e.EQ,0)}constant(){return this.getRuleContext(0,G1)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}get ruleIndex(){return e.RULE_partitionVal}enterRule(t){t.enterPartitionVal&&t.enterPartitionVal(this)}exitRule(t){t.exitPartitionVal&&t.exitPartitionVal(this)}accept(t){return t.visitPartitionVal?t.visitPartitionVal(this):t.visitChildren(this)}}class Ve extends R{constructor(t,i){super(t,i)}KW_NAMESPACE(){return this.getToken(e.KW_NAMESPACE,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}get ruleIndex(){return e.RULE_namespace}enterRule(t){t.enterNamespace&&t.enterNamespace(this)}exitRule(t){t.exitNamespace&&t.exitNamespace(this)}accept(t){return t.visitNamespace?t.visitNamespace(this):t.visitChildren(this)}}class xo extends R{constructor(t,i){super(t,i)}KW_NAMESPACES(){return this.getToken(e.KW_NAMESPACES,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}get ruleIndex(){return e.RULE_namespaces}enterRule(t){t.enterNamespaces&&t.enterNamespaces(this)}exitRule(t){t.exitNamespaces&&t.exitNamespaces(this)}accept(t){return t.visitNamespaces?t.visitNamespaces(this):t.visitChildren(this)}}class Oo extends R{constructor(t,i){super(t,i)}identifierReference(){return this.getRuleContext(0,V1)}stringLit(){return this.getRuleContext(0,X)}comparisonOperator(){return this.getRuleContext(0,E2)}arithmeticOperator(){return this.getRuleContext(0,T3)}predicateOperator(){return this.getRuleContext(0,d3)}get ruleIndex(){return e.RULE_describeFuncName}enterRule(t){t.enterDescribeFuncName&&t.enterDescribeFuncName(this)}exitRule(t){t.exitDescribeFuncName&&t.exitDescribeFuncName(this)}accept(t){return t.visitDescribeFuncName?t.visitDescribeFuncName(this):t.visitChildren(this)}}class po extends R{constructor(t,i){super(t,i),this._nameParts=[]}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_describeColName}enterRule(t){t.enterDescribeColName&&t.enterDescribeColName(this)}exitRule(t){t.exitDescribeColName&&t.exitDescribeColName(this)}accept(t){return t.visitDescribeColName?t.visitDescribeColName(this):t.visitChildren(this)}}class Nr extends R{constructor(t,i){super(t,i)}KW_WITH(){return this.getToken(e.KW_WITH,0)}namedQuery(t){return t===void 0?this.getRuleContexts(Lr):this.getRuleContext(t,Lr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_ctes}enterRule(t){t.enterCtes&&t.enterCtes(this)}exitRule(t){t.exitCtes&&t.exitCtes(this)}accept(t){return t.visitCtes?t.visitCtes(this):t.visitChildren(this)}}class Lr extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}KW_AS(){return this.getToken(e.KW_AS,0)}identifierList(){return this.getRuleContext(0,Ce)}get ruleIndex(){return e.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}class ke extends R{constructor(t,i){super(t,i)}KW_USING(){return this.getToken(e.KW_USING,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_tableProvider}enterRule(t){t.enterTableProvider&&t.enterTableProvider(this)}exitRule(t){t.exitTableProvider&&t.exitTableProvider(this)}accept(t){return t.visitTableProvider?t.visitTableProvider(this):t.visitChildren(this)}}class Ir extends R{constructor(t,i){super(t,i)}skewSpec(t){return t===void 0?this.getRuleContexts(gi):this.getRuleContext(t,gi)}bucketSpec(t){return t===void 0?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}createFileFormat(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}tableLifecycle(t){return t===void 0?this.getRuleContexts(Ni):this.getRuleContext(t,Ni)}KW_OPTIONS(t){return t===void 0?this.getTokens(e.KW_OPTIONS):this.getToken(e.KW_OPTIONS,t)}KW_PARTITIONED(t){return t===void 0?this.getTokens(e.KW_PARTITIONED):this.getToken(e.KW_PARTITIONED,t)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}expressionPropertyList(t){return t===void 0?this.getRuleContexts(Or):this.getRuleContext(t,Or)}partitionFieldList(t){return t===void 0?this.getRuleContexts(Di):this.getRuleContext(t,Di)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}get ruleIndex(){return e.RULE_createTableClauses}enterRule(t){t.enterCreateTableClauses&&t.enterCreateTableClauses(this)}exitRule(t){t.exitCreateTableClauses&&t.exitCreateTableClauses(this)}accept(t){return t.visitCreateTableClauses?t.visitCreateTableClauses(this):t.visitChildren(this)}}class Ni extends R{constructor(t,i){super(t,i)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}get ruleIndex(){return e.RULE_tableLifecycle}enterRule(t){t.enterTableLifecycle&&t.enterTableLifecycle(this)}exitRule(t){t.exitTableLifecycle&&t.exitTableLifecycle(this)}accept(t){return t.visitTableLifecycle?t.visitTableLifecycle(this):t.visitChildren(this)}}class ht extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}property(t){return t===void 0?this.getRuleContexts(xr):this.getRuleContext(t,xr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_propertyList}enterRule(t){t.enterPropertyList&&t.enterPropertyList(this)}exitRule(t){t.exitPropertyList&&t.exitPropertyList(this)}accept(t){return t.visitPropertyList?t.visitPropertyList(this):t.visitChildren(this)}}class xr extends R{constructor(t,i){super(t,i)}propertyKey(){return this.getRuleContext(0,un)}propertyValue(){return this.getRuleContext(0,Do)}EQ(){return this.getToken(e.EQ,0)}get ruleIndex(){return e.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}class un extends R{constructor(t,i){super(t,i)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_propertyKey}enterRule(t){t.enterPropertyKey&&t.enterPropertyKey(this)}exitRule(t){t.exitPropertyKey&&t.exitPropertyKey(this)}accept(t){return t.visitPropertyKey?t.visitPropertyKey(this):t.visitChildren(this)}}class Do extends R{constructor(t,i){super(t,i)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}booleanValue(){return this.getRuleContext(0,T2)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_propertyValue}enterRule(t){t.enterPropertyValue&&t.enterPropertyValue(this)}exitRule(t){t.exitPropertyValue&&t.exitPropertyValue(this)}accept(t){return t.visitPropertyValue?t.visitPropertyValue(this):t.visitChildren(this)}}class Or extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expressionProperty(t){return t===void 0?this.getRuleContexts(pr):this.getRuleContext(t,pr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionPropertyList}enterRule(t){t.enterExpressionPropertyList&&t.enterExpressionPropertyList(this)}exitRule(t){t.exitExpressionPropertyList&&t.exitExpressionPropertyList(this)}accept(t){return t.visitExpressionPropertyList?t.visitExpressionPropertyList(this):t.visitChildren(this)}}class pr extends R{constructor(t,i){super(t,i)}propertyKey(){return this.getRuleContext(0,un)}expression(){return this.getRuleContext(0,k)}EQ(){return this.getToken(e.EQ,0)}get ruleIndex(){return e.RULE_expressionProperty}enterRule(t){t.enterExpressionProperty&&t.enterExpressionProperty(this)}exitRule(t){t.exitExpressionProperty&&t.exitExpressionProperty(this)}accept(t){return t.visitExpressionProperty?t.visitExpressionProperty(this):t.visitChildren(this)}}class ln extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}constant(t){return t===void 0?this.getRuleContexts(G1):this.getRuleContext(t,G1)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_constantList}enterRule(t){t.enterConstantList&&t.enterConstantList(this)}exitRule(t){t.exitConstantList&&t.exitConstantList(this)}accept(t){return t.visitConstantList?t.visitConstantList(this):t.visitChildren(this)}}class Mo extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}constantList(t){return t===void 0?this.getRuleContexts(ln):this.getRuleContext(t,ln)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_nestedConstantList}enterRule(t){t.enterNestedConstantList&&t.enterNestedConstantList(this)}exitRule(t){t.exitNestedConstantList&&t.exitNestedConstantList(this)}accept(t){return t.visitNestedConstantList?t.visitNestedConstantList(this):t.visitChildren(this)}}class Ge extends R{constructor(t,i){super(t,i)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}fileFormat(){return this.getRuleContext(0,yo)}KW_BY(){return this.getToken(e.KW_BY,0)}storageHandler(){return this.getRuleContext(0,Uo)}get ruleIndex(){return e.RULE_createFileFormat}enterRule(t){t.enterCreateFileFormat&&t.enterCreateFileFormat(this)}exitRule(t){t.exitCreateFileFormat&&t.exitCreateFileFormat(this)}accept(t){return t.visitCreateFileFormat?t.visitCreateFileFormat(this):t.visitChildren(this)}}class yo extends R{constructor(t,i){super(t,i)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_fileFormat}enterRule(t){t.enterFileFormat&&t.enterFileFormat(this)}exitRule(t){t.exitFileFormat&&t.exitFileFormat(this)}accept(t){return t.visitFileFormat?t.visitFileFormat(this):t.visitChildren(this)}}class Uo extends R{constructor(t,i){super(t,i)}stringLit(){return this.getRuleContext(0,X)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}get ruleIndex(){return e.RULE_storageHandler}enterRule(t){t.enterStorageHandler&&t.enterStorageHandler(this)}exitRule(t){t.exitStorageHandler&&t.exitStorageHandler(this)}accept(t){return t.visitStorageHandler?t.visitStorageHandler(this):t.visitChildren(this)}}class Dr extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_resource}enterRule(t){t.enterResource&&t.enterResource(this)}exitRule(t){t.exitResource&&t.exitResource(this)}accept(t){return t.visitResource?t.visitResource(this):t.visitChildren(this)}}class R1 extends R{constructor(t,i){super(t,i)}get ruleIndex(){return e.RULE_dmlStatementNoWith}copyFrom(t){super.copyFrom(t)}}class X7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}tableName(){return this.getRuleContext(0,H)}tableAlias(){return this.getRuleContext(0,ge)}whereClause(){return this.getRuleContext(0,W1)}enterRule(t){t.enterDeleteFromTable&&t.enterDeleteFromTable(this)}exitRule(t){t.exitDeleteFromTable&&t.exitDeleteFromTable(this)}accept(t){return t.visitDeleteFromTable?t.visitDeleteFromTable(this):t.visitChildren(this)}}class Z7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fromClause(){return this.getRuleContext(0,Rn)}multiInsertQueryBody(t){return t===void 0?this.getRuleContexts(yr):this.getRuleContext(t,yr)}enterRule(t){t.enterMultipleInsert&&t.enterMultipleInsert(this)}exitRule(t){t.exitMultipleInsert&&t.exitMultipleInsert(this)}accept(t){return t.visitMultipleInsert?t.visitMultipleInsert(this):t.visitChildren(this)}}class z7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}tableName(){return this.getRuleContext(0,H)}tableAlias(){return this.getRuleContext(0,ge)}setClause(){return this.getRuleContext(0,Fo)}whereClause(){return this.getRuleContext(0,W1)}enterRule(t){t.enterUpdateTable&&t.enterUpdateTable(this)}exitRule(t){t.exitUpdateTable&&t.exitUpdateTable(this)}accept(t){return t.visitUpdateTable?t.visitUpdateTable(this):t.visitChildren(this)}}class P7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}insertInto(){return this.getRuleContext(0,mr)}query(){return this.getRuleContext(0,dt)}enterRule(t){t.enterInsertFromQuery&&t.enterInsertFromQuery(this)}exitRule(t){t.exitInsertFromQuery&&t.exitInsertFromQuery(this)}accept(t){return t.visitInsertFromQuery?t.visitInsertFromQuery(this):t.visitChildren(this)}}class $7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,H)}tableAlias(t){return t===void 0?this.getRuleContexts(ge):this.getRuleContext(t,ge)}booleanExpression(){return this.getRuleContext(0,vt)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}identifierReference(){return this.getRuleContext(0,V1)}query(){return this.getRuleContext(0,dt)}matchedClause(t){return t===void 0?this.getRuleContexts(wr):this.getRuleContext(t,wr)}notMatchedClause(t){return t===void 0?this.getRuleContexts(br):this.getRuleContext(t,br)}notMatchedBySourceClause(t){return t===void 0?this.getRuleContexts(Hr):this.getRuleContext(t,Hr)}enterRule(t){t.enterMergeIntoTable&&t.enterMergeIntoTable(this)}exitRule(t){t.exitMergeIntoTable&&t.exitMergeIntoTable(this)}accept(t){return t.visitMergeIntoTable?t.visitMergeIntoTable(this):t.visitChildren(this)}}class Ft extends R{constructor(t,i){super(t,i)}identifierReference(){return this.getRuleContext(0,V1)}get ruleIndex(){return e.RULE_namespaceName}enterRule(t){t.enterNamespaceName&&t.enterNamespaceName(this)}exitRule(t){t.exitNamespaceName&&t.exitNamespaceName(this)}accept(t){return t.visitNamespaceName?t.visitNamespaceName(this):t.visitChildren(this)}}class vo extends R{constructor(t,i){super(t,i)}identifierReference(){return this.getRuleContext(0,V1)}get ruleIndex(){return e.RULE_namespaceNameCreate}enterRule(t){t.enterNamespaceNameCreate&&t.enterNamespaceNameCreate(this)}exitRule(t){t.exitNamespaceNameCreate&&t.exitNamespaceNameCreate(this)}accept(t){return t.visitNamespaceNameCreate?t.visitNamespaceNameCreate(this):t.visitChildren(this)}}class En extends R{constructor(t,i){super(t,i)}tableIdentifier(){return this.getRuleContext(0,o2)}get ruleIndex(){return e.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class H extends R{constructor(t,i){super(t,i)}tableIdentifier(){return this.getRuleContext(0,o2)}get ruleIndex(){return e.RULE_tableName}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}class Tn extends R{constructor(t,i){super(t,i)}viewIdentifier(){return this.getRuleContext(0,a2)}get ruleIndex(){return e.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class It extends R{constructor(t,i){super(t,i)}viewIdentifier(){return this.getRuleContext(0,a2)}get ruleIndex(){return e.RULE_viewName}enterRule(t){t.enterViewName&&t.enterViewName(this)}exitRule(t){t.exitViewName&&t.exitViewName(this)}accept(t){return t.visitViewName?t.visitViewName(this):t.visitChildren(this)}}class kt extends R{constructor(t,i){super(t,i)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class Li extends R{constructor(t,i){super(t,i)}columnName(t){return t===void 0?this.getRuleContexts(kt):this.getRuleContext(t,kt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameSeq}enterRule(t){t.enterColumnNameSeq&&t.enterColumnNameSeq(this)}exitRule(t){t.exitColumnNameSeq&&t.exitColumnNameSeq(this)}accept(t){return t.visitColumnNameSeq?t.visitColumnNameSeq(this):t.visitChildren(this)}}class Ii extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}get ruleIndex(){return e.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class V1 extends R{constructor(t,i){super(t,i)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_identifierReference}enterRule(t){t.enterIdentifierReference&&t.enterIdentifierReference(this)}exitRule(t){t.exitIdentifierReference&&t.exitIdentifierReference(this)}accept(t){return t.visitIdentifierReference?t.visitIdentifierReference(this):t.visitChildren(this)}}class Mr extends R{constructor(t,i){super(t,i),this._order=[],this._clusterBy=[],this._distributeBy=[],this._sort=[]}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}windowClause(){return this.getRuleContext(0,xn)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}sortItem(t){return t===void 0?this.getRuleContexts(Se):this.getRuleContext(t,Se)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}KW_ALL(){return this.getToken(e.KW_ALL,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_queryOrganization}enterRule(t){t.enterQueryOrganization&&t.enterQueryOrganization(this)}exitRule(t){t.exitQueryOrganization&&t.exitQueryOrganization(this)}accept(t){return t.visitQueryOrganization?t.visitQueryOrganization(this):t.visitChildren(this)}}class yr extends R{constructor(t,i){super(t,i)}insertInto(){return this.getRuleContext(0,mr)}fromStatementBody(){return this.getRuleContext(0,dn)}get ruleIndex(){return e.RULE_multiInsertQueryBody}enterRule(t){t.enterMultiInsertQueryBody&&t.enterMultiInsertQueryBody(this)}exitRule(t){t.exitMultiInsertQueryBody&&t.exitMultiInsertQueryBody(this)}accept(t){return t.visitMultiInsertQueryBody?t.visitMultiInsertQueryBody(this):t.visitChildren(this)}}class Ye extends R{constructor(t,i){super(t,i)}queryPrimary(){return this.getRuleContext(0,wo)}queryTerm(t){return t===void 0?this.getRuleContexts(Ye):this.getRuleContext(t,Ye)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}setQuantifier(){return this.getRuleContext(0,Oi)}get ruleIndex(){return e.RULE_queryTerm}enterRule(t){t.enterQueryTerm&&t.enterQueryTerm(this)}exitRule(t){t.exitQueryTerm&&t.exitQueryTerm(this)}accept(t){return t.visitQueryTerm?t.visitQueryTerm(this):t.visitChildren(this)}}class wo extends R{constructor(t,i){super(t,i)}querySpecification(){return this.getRuleContext(0,Ho)}fromStatement(){return this.getRuleContext(0,bo)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}inlineTable(){return this.getRuleContext(0,i2)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_queryPrimary}enterRule(t){t.enterQueryPrimary&&t.enterQueryPrimary(this)}exitRule(t){t.exitQueryPrimary&&t.exitQueryPrimary(this)}accept(t){return t.visitQueryPrimary?t.visitQueryPrimary(this):t.visitChildren(this)}}class Se extends R{constructor(t,i){super(t,i)}columnName(){return this.getRuleContext(0,kt)}expression(){return this.getRuleContext(0,k)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}get ruleIndex(){return e.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}class bo extends R{constructor(t,i){super(t,i)}fromClause(){return this.getRuleContext(0,Rn)}fromStatementBody(t){return t===void 0?this.getRuleContexts(dn):this.getRuleContext(t,dn)}get ruleIndex(){return e.RULE_fromStatement}enterRule(t){t.enterFromStatement&&t.enterFromStatement(this)}exitRule(t){t.exitFromStatement&&t.exitFromStatement(this)}accept(t){return t.visitFromStatement?t.visitFromStatement(this):t.visitChildren(this)}}class dn extends R{constructor(t,i){super(t,i)}transformClause(){return this.getRuleContext(0,Ur)}queryOrganization(){return this.getRuleContext(0,Mr)}whereClause(){return this.getRuleContext(0,W1)}selectClause(){return this.getRuleContext(0,vr)}lateralView(t){return t===void 0?this.getRuleContexts(_1):this.getRuleContext(t,_1)}aggregationClause(){return this.getRuleContext(0,Gr)}havingClause(){return this.getRuleContext(0,Br)}windowClause(){return this.getRuleContext(0,xn)}get ruleIndex(){return e.RULE_fromStatementBody}enterRule(t){t.enterFromStatementBody&&t.enterFromStatementBody(this)}exitRule(t){t.exitFromStatementBody&&t.exitFromStatementBody(this)}accept(t){return t.visitFromStatementBody?t.visitFromStatementBody(this):t.visitChildren(this)}}class Ho extends R{constructor(t,i){super(t,i)}transformClause(){return this.getRuleContext(0,Ur)}fromClause(){return this.getRuleContext(0,Rn)}lateralView(t){return t===void 0?this.getRuleContexts(_1):this.getRuleContext(t,_1)}whereClause(){return this.getRuleContext(0,W1)}aggregationClause(){return this.getRuleContext(0,Gr)}havingClause(){return this.getRuleContext(0,Br)}windowClause(){return this.getRuleContext(0,xn)}selectClause(){return this.getRuleContext(0,vr)}get ruleIndex(){return e.RULE_querySpecification}enterRule(t){t.enterQuerySpecification&&t.enterQuerySpecification(this)}exitRule(t){t.exitQuerySpecification&&t.exitQuerySpecification(this)}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}}class Ur extends R{constructor(t,i){super(t,i)}KW_USING(){return this.getToken(e.KW_USING,0)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}expressionSeq(){return this.getRuleContext(0,c3)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}setQuantifier(){return this.getRuleContext(0,Oi)}identifierSeq(){return this.getRuleContext(0,t2)}colTypeList(){return this.getRuleContext(0,K2)}get ruleIndex(){return e.RULE_transformClause}enterRule(t){t.enterTransformClause&&t.enterTransformClause(this)}exitRule(t){t.exitTransformClause&&t.exitTransformClause(this)}accept(t){return t.visitTransformClause?t.visitTransformClause(this):t.visitChildren(this)}}class vr extends R{constructor(t,i){super(t,i),this._hints=[]}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}namedExpressionSeq(){return this.getRuleContext(0,c2)}setQuantifier(){return this.getRuleContext(0,Oi)}hint(t){return t===void 0?this.getRuleContexts(Vr):this.getRuleContext(t,Vr)}get ruleIndex(){return e.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}class Fo extends R{constructor(t,i){super(t,i)}KW_SET(){return this.getToken(e.KW_SET,0)}assignmentList(){return this.getRuleContext(0,xi)}get ruleIndex(){return e.RULE_setClause}enterRule(t){t.enterSetClause&&t.enterSetClause(this)}exitRule(t){t.exitSetClause&&t.exitSetClause(this)}accept(t){return t.visitSetClause?t.visitSetClause(this):t.visitChildren(this)}}class wr extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}matchedAction(){return this.getRuleContext(0,Bo)}KW_AND(){return this.getToken(e.KW_AND,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_matchedClause}enterRule(t){t.enterMatchedClause&&t.enterMatchedClause(this)}exitRule(t){t.exitMatchedClause&&t.exitMatchedClause(this)}accept(t){return t.visitMatchedClause?t.visitMatchedClause(this):t.visitChildren(this)}}class br extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}notMatchedAction(){return this.getRuleContext(0,Vo)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_TARGET(){return this.getToken(e.KW_TARGET,0)}KW_AND(){return this.getToken(e.KW_AND,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_notMatchedClause}enterRule(t){t.enterNotMatchedClause&&t.enterNotMatchedClause(this)}exitRule(t){t.exitNotMatchedClause&&t.exitNotMatchedClause(this)}accept(t){return t.visitNotMatchedClause?t.visitNotMatchedClause(this):t.visitChildren(this)}}class Hr extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_SOURCE(){return this.getToken(e.KW_SOURCE,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}notMatchedBySourceAction(){return this.getRuleContext(0,ko)}KW_AND(){return this.getToken(e.KW_AND,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_notMatchedBySourceClause}enterRule(t){t.enterNotMatchedBySourceClause&&t.enterNotMatchedBySourceClause(this)}exitRule(t){t.exitNotMatchedBySourceClause&&t.exitNotMatchedBySourceClause(this)}accept(t){return t.visitNotMatchedBySourceClause?t.visitNotMatchedBySourceClause(this):t.visitChildren(this)}}class Bo extends R{constructor(t,i){super(t,i)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}assignmentList(){return this.getRuleContext(0,xi)}get ruleIndex(){return e.RULE_matchedAction}enterRule(t){t.enterMatchedAction&&t.enterMatchedAction(this)}exitRule(t){t.exitMatchedAction&&t.exitMatchedAction(this)}accept(t){return t.visitMatchedAction?t.visitMatchedAction(this):t.visitChildren(this)}}class Vo extends R{constructor(t,i){super(t,i)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}multipartIdentifierList(){return this.getRuleContext(0,r2)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_notMatchedAction}enterRule(t){t.enterNotMatchedAction&&t.enterNotMatchedAction(this)}exitRule(t){t.exitNotMatchedAction&&t.exitNotMatchedAction(this)}accept(t){return t.visitNotMatchedAction?t.visitNotMatchedAction(this):t.visitChildren(this)}}class ko extends R{constructor(t,i){super(t,i)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}assignmentList(){return this.getRuleContext(0,xi)}get ruleIndex(){return e.RULE_notMatchedBySourceAction}enterRule(t){t.enterNotMatchedBySourceAction&&t.enterNotMatchedBySourceAction(this)}exitRule(t){t.exitNotMatchedBySourceAction&&t.exitNotMatchedBySourceAction(this)}accept(t){return t.visitNotMatchedBySourceAction?t.visitNotMatchedBySourceAction(this):t.visitChildren(this)}}class xi extends R{constructor(t,i){super(t,i)}assignment(t){return t===void 0?this.getRuleContexts(Fr):this.getRuleContext(t,Fr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_assignmentList}enterRule(t){t.enterAssignmentList&&t.enterAssignmentList(this)}exitRule(t){t.exitAssignmentList&&t.exitAssignmentList(this)}accept(t){return t.visitAssignmentList?t.visitAssignmentList(this):t.visitChildren(this)}}class Fr extends R{constructor(t,i){super(t,i)}EQ(){return this.getToken(e.EQ,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_assignment}enterRule(t){t.enterAssignment&&t.enterAssignment(this)}exitRule(t){t.exitAssignment&&t.exitAssignment(this)}accept(t){return t.visitAssignment?t.visitAssignment(this):t.visitChildren(this)}}class W1 extends R{constructor(t,i){super(t,i)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}class Br extends R{constructor(t,i){super(t,i)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}class Vr extends R{constructor(t,i){super(t,i),this._hintStatements=[]}HENT_START(){return this.getToken(e.HENT_START,0)}HENT_END(){return this.getToken(e.HENT_END,0)}hintStatement(t){return t===void 0?this.getRuleContexts(kr):this.getRuleContext(t,kr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_hint}enterRule(t){t.enterHint&&t.enterHint(this)}exitRule(t){t.exitHint&&t.exitHint(this)}accept(t){return t.visitHint?t.visitHint(this):t.visitChildren(this)}}class kr extends R{constructor(t,i){super(t,i),this._parameters=[]}identifier(){return this.getRuleContext(0,Q)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}primaryExpression(t){return t===void 0?this.getRuleContexts(Qe):this.getRuleContext(t,Qe)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_hintStatement}enterRule(t){t.enterHintStatement&&t.enterHintStatement(this)}exitRule(t){t.exitHintStatement&&t.exitHintStatement(this)}accept(t){return t.visitHintStatement?t.visitHintStatement(this):t.visitChildren(this)}}class Rn extends R{constructor(t,i){super(t,i)}KW_FROM(){return this.getToken(e.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(An):this.getRuleContext(t,An)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}lateralView(t){return t===void 0?this.getRuleContexts(_1):this.getRuleContext(t,_1)}pivotClause(){return this.getRuleContext(0,Xr)}unpivotClause(){return this.getRuleContext(0,zr)}get ruleIndex(){return e.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}class Go extends R{constructor(t,i){super(t,i)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}get ruleIndex(){return e.RULE_functionKind}enterRule(t){t.enterFunctionKind&&t.enterFunctionKind(this)}exitRule(t){t.exitFunctionKind&&t.exitFunctionKind(this)}accept(t){return t.visitFunctionKind?t.visitFunctionKind(this):t.visitChildren(this)}}class Yo extends R{constructor(t,i){super(t,i)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_OF(){return this.getToken(e.KW_OF,0)}version(){return this.getRuleContext(0,D3)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}valueExpression(){return this.getRuleContext(0,xt)}get ruleIndex(){return e.RULE_temporalClause}enterRule(t){t.enterTemporalClause&&t.enterTemporalClause(this)}exitRule(t){t.exitTemporalClause&&t.exitTemporalClause(this)}accept(t){return t.visitTemporalClause?t.visitTemporalClause(this):t.visitChildren(this)}}class Gr extends R{constructor(t,i){super(t,i),this._groupingExpressionsWithGroupingAnalytics=[],this._groupingExpressions=[]}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_BY(){return this.getToken(e.KW_BY,0)}groupByClause(t){return t===void 0?this.getRuleContexts(Yr):this.getRuleContext(t,Yr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}groupingSet(t){return t===void 0?this.getRuleContexts(k1):this.getRuleContext(t,k1)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}get ruleIndex(){return e.RULE_aggregationClause}enterRule(t){t.enterAggregationClause&&t.enterAggregationClause(this)}exitRule(t){t.exitAggregationClause&&t.exitAggregationClause(this)}accept(t){return t.visitAggregationClause?t.visitAggregationClause(this):t.visitChildren(this)}}class Yr extends R{constructor(t,i){super(t,i)}columnName(){return this.getRuleContext(0,kt)}groupingAnalytics(){return this.getRuleContext(0,Sr)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}class Sr extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}groupingSet(t){return t===void 0?this.getRuleContexts(k1):this.getRuleContext(t,k1)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}groupingElement(t){return t===void 0?this.getRuleContexts(Qr):this.getRuleContext(t,Qr)}get ruleIndex(){return e.RULE_groupingAnalytics}enterRule(t){t.enterGroupingAnalytics&&t.enterGroupingAnalytics(this)}exitRule(t){t.exitGroupingAnalytics&&t.exitGroupingAnalytics(this)}accept(t){return t.visitGroupingAnalytics?t.visitGroupingAnalytics(this):t.visitChildren(this)}}class Qr extends R{constructor(t,i){super(t,i)}groupingAnalytics(){return this.getRuleContext(0,Sr)}groupingSet(){return this.getRuleContext(0,k1)}get ruleIndex(){return e.RULE_groupingElement}enterRule(t){t.enterGroupingElement&&t.enterGroupingElement(this)}exitRule(t){t.exitGroupingElement&&t.exitGroupingElement(this)}accept(t){return t.visitGroupingElement?t.visitGroupingElement(this):t.visitChildren(this)}}class k1 extends R{constructor(t,i){super(t,i)}columnName(t){return t===void 0?this.getRuleContexts(kt):this.getRuleContext(t,kt)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}class Xr extends R{constructor(t,i){super(t,i),this._pivotValues=[]}KW_PIVOT(){return this.getToken(e.KW_PIVOT,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}KW_FOR(){return this.getToken(e.KW_FOR,0)}pivotColumn(){return this.getRuleContext(0,So)}KW_IN(){return this.getToken(e.KW_IN,0)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}namedExpressionSeq(){return this.getRuleContext(0,c2)}pivotValue(t){return t===void 0?this.getRuleContexts(Zr):this.getRuleContext(t,Zr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_pivotClause}enterRule(t){t.enterPivotClause&&t.enterPivotClause(this)}exitRule(t){t.exitPivotClause&&t.exitPivotClause(this)}accept(t){return t.visitPivotClause?t.visitPivotClause(this):t.visitChildren(this)}}class So extends R{constructor(t,i){super(t,i),this._identifiers=[]}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_pivotColumn}enterRule(t){t.enterPivotColumn&&t.enterPivotColumn(this)}exitRule(t){t.exitPivotColumn&&t.exitPivotColumn(this)}accept(t){return t.visitPivotColumn?t.visitPivotColumn(this):t.visitChildren(this)}}class Zr extends R{constructor(t,i){super(t,i)}expression(){return this.getRuleContext(0,k)}identifier(){return this.getRuleContext(0,Q)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_pivotValue}enterRule(t){t.enterPivotValue&&t.enterPivotValue(this)}exitRule(t){t.exitPivotValue&&t.exitPivotValue(this)}accept(t){return t.visitPivotValue?t.visitPivotValue(this):t.visitChildren(this)}}class zr extends R{constructor(t,i){super(t,i)}KW_UNPIVOT(){return this.getToken(e.KW_UNPIVOT,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}unpivotOperator(){return this.getRuleContext(0,Xo)}identifier(){return this.getRuleContext(0,Q)}unpivotNullClause(){return this.getRuleContext(0,Qo)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_unpivotClause}enterRule(t){t.enterUnpivotClause&&t.enterUnpivotClause(this)}exitRule(t){t.exitUnpivotClause&&t.exitUnpivotClause(this)}accept(t){return t.visitUnpivotClause?t.visitUnpivotClause(this):t.visitChildren(this)}}class Qo extends R{constructor(t,i){super(t,i)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_INCLUDE(){return this.getToken(e.KW_INCLUDE,0)}KW_EXCLUDE(){return this.getToken(e.KW_EXCLUDE,0)}get ruleIndex(){return e.RULE_unpivotNullClause}enterRule(t){t.enterUnpivotNullClause&&t.enterUnpivotNullClause(this)}exitRule(t){t.exitUnpivotNullClause&&t.exitUnpivotNullClause(this)}accept(t){return t.visitUnpivotNullClause?t.visitUnpivotNullClause(this):t.visitChildren(this)}}class Xo extends R{constructor(t,i){super(t,i)}unpivotSingleValueColumnClause(){return this.getRuleContext(0,Zo)}unpivotMultiValueColumnClause(){return this.getRuleContext(0,zo)}get ruleIndex(){return e.RULE_unpivotOperator}enterRule(t){t.enterUnpivotOperator&&t.enterUnpivotOperator(this)}exitRule(t){t.exitUnpivotOperator&&t.exitUnpivotOperator(this)}accept(t){return t.visitUnpivotOperator?t.visitUnpivotOperator(this):t.visitChildren(this)}}class Zo extends R{constructor(t,i){super(t,i),this._unpivotColumns=[]}unpivotValueColumn(){return this.getRuleContext(0,Wn)}KW_FOR(){return this.getToken(e.KW_FOR,0)}unpivotNameColumn(){return this.getRuleContext(0,$r)}KW_IN(){return this.getToken(e.KW_IN,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}unpivotColumnAndAlias(t){return t===void 0?this.getRuleContexts(jr):this.getRuleContext(t,jr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_unpivotSingleValueColumnClause}enterRule(t){t.enterUnpivotSingleValueColumnClause&&t.enterUnpivotSingleValueColumnClause(this)}exitRule(t){t.exitUnpivotSingleValueColumnClause&&t.exitUnpivotSingleValueColumnClause(this)}accept(t){return t.visitUnpivotSingleValueColumnClause?t.visitUnpivotSingleValueColumnClause(this):t.visitChildren(this)}}class zo extends R{constructor(t,i){super(t,i),this._unpivotValueColumns=[],this._unpivotColumnSets=[]}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}KW_FOR(){return this.getToken(e.KW_FOR,0)}unpivotNameColumn(){return this.getRuleContext(0,$r)}KW_IN(){return this.getToken(e.KW_IN,0)}unpivotValueColumn(t){return t===void 0?this.getRuleContexts(Wn):this.getRuleContext(t,Wn)}unpivotColumnSet(t){return t===void 0?this.getRuleContexts(Pr):this.getRuleContext(t,Pr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_unpivotMultiValueColumnClause}enterRule(t){t.enterUnpivotMultiValueColumnClause&&t.enterUnpivotMultiValueColumnClause(this)}exitRule(t){t.exitUnpivotMultiValueColumnClause&&t.exitUnpivotMultiValueColumnClause(this)}accept(t){return t.visitUnpivotMultiValueColumnClause?t.visitUnpivotMultiValueColumnClause(this):t.visitChildren(this)}}class Pr extends R{constructor(t,i){super(t,i),this._unpivotColumns=[]}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}unpivotColumn(t){return t===void 0?this.getRuleContexts(_n):this.getRuleContext(t,_n)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}unpivotAlias(){return this.getRuleContext(0,Jr)}get ruleIndex(){return e.RULE_unpivotColumnSet}enterRule(t){t.enterUnpivotColumnSet&&t.enterUnpivotColumnSet(this)}exitRule(t){t.exitUnpivotColumnSet&&t.exitUnpivotColumnSet(this)}accept(t){return t.visitUnpivotColumnSet?t.visitUnpivotColumnSet(this):t.visitChildren(this)}}class Wn extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_unpivotValueColumn}enterRule(t){t.enterUnpivotValueColumn&&t.enterUnpivotValueColumn(this)}exitRule(t){t.exitUnpivotValueColumn&&t.exitUnpivotValueColumn(this)}accept(t){return t.visitUnpivotValueColumn?t.visitUnpivotValueColumn(this):t.visitChildren(this)}}class $r extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_unpivotNameColumn}enterRule(t){t.enterUnpivotNameColumn&&t.enterUnpivotNameColumn(this)}exitRule(t){t.exitUnpivotNameColumn&&t.exitUnpivotNameColumn(this)}accept(t){return t.visitUnpivotNameColumn?t.visitUnpivotNameColumn(this):t.visitChildren(this)}}class jr extends R{constructor(t,i){super(t,i)}unpivotColumn(){return this.getRuleContext(0,_n)}unpivotAlias(){return this.getRuleContext(0,Jr)}get ruleIndex(){return e.RULE_unpivotColumnAndAlias}enterRule(t){t.enterUnpivotColumnAndAlias&&t.enterUnpivotColumnAndAlias(this)}exitRule(t){t.exitUnpivotColumnAndAlias&&t.exitUnpivotColumnAndAlias(this)}accept(t){return t.visitUnpivotColumnAndAlias?t.visitUnpivotColumnAndAlias(this):t.visitChildren(this)}}class _n extends R{constructor(t,i){super(t,i)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_unpivotColumn}enterRule(t){t.enterUnpivotColumn&&t.enterUnpivotColumn(this)}exitRule(t){t.exitUnpivotColumn&&t.exitUnpivotColumn(this)}accept(t){return t.visitUnpivotColumn?t.visitUnpivotColumn(this):t.visitChildren(this)}}class Jr extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_unpivotAlias}enterRule(t){t.enterUnpivotAlias&&t.enterUnpivotAlias(this)}exitRule(t){t.exitUnpivotAlias&&t.exitUnpivotAlias(this)}accept(t){return t.visitUnpivotAlias?t.visitUnpivotAlias(this):t.visitChildren(this)}}class de extends R{constructor(t,i){super(t,i)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class Gt extends R{constructor(t,i){super(t,i)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class _1 extends R{constructor(t,i){super(t,i),this._colName=[]}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,It)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,ge)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_lateralView}enterRule(t){t.enterLateralView&&t.enterLateralView(this)}exitRule(t){t.exitLateralView&&t.exitLateralView(this)}accept(t){return t.visitLateralView?t.visitLateralView(this):t.visitChildren(this)}}class Oi extends R{constructor(t,i){super(t,i)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}get ruleIndex(){return e.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class An extends R{constructor(t,i){super(t,i)}tableName(){return this.getRuleContext(0,H)}relationPrimary(){return this.getRuleContext(0,fn)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}relationExtension(t){return t===void 0?this.getRuleContexts(qr):this.getRuleContext(t,qr)}get ruleIndex(){return e.RULE_relation}enterRule(t){t.enterRelation&&t.enterRelation(this)}exitRule(t){t.exitRelation&&t.exitRelation(this)}accept(t){return t.visitRelation?t.visitRelation(this):t.visitChildren(this)}}class qr extends R{constructor(t,i){super(t,i)}joinRelation(){return this.getRuleContext(0,Po)}pivotClause(){return this.getRuleContext(0,Xr)}unpivotClause(){return this.getRuleContext(0,zr)}get ruleIndex(){return e.RULE_relationExtension}enterRule(t){t.enterRelationExtension&&t.enterRelationExtension(this)}exitRule(t){t.exitRelationExtension&&t.exitRelationExtension(this)}accept(t){return t.visitRelationExtension?t.visitRelationExtension(this):t.visitChildren(this)}}class Po extends R{constructor(t,i){super(t,i)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}relationPrimary(){return this.getRuleContext(0,fn)}joinType(){return this.getRuleContext(0,$o)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}joinCriteria(){return this.getRuleContext(0,jo)}KW_NATURAL(){return this.getToken(e.KW_NATURAL,0)}get ruleIndex(){return e.RULE_joinRelation}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}class $o extends R{constructor(t,i){super(t,i)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}get ruleIndex(){return e.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}class jo extends R{constructor(t,i){super(t,i)}KW_ON(){return this.getToken(e.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,vt)}KW_USING(){return this.getToken(e.KW_USING,0)}identifierList(){return this.getRuleContext(0,Ce)}get ruleIndex(){return e.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}class Jo extends R{constructor(t,i){super(t,i)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}sampleMethod(){return this.getRuleContext(0,qo)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}get ruleIndex(){return e.RULE_sample}enterRule(t){t.enterSample&&t.enterSample(this)}exitRule(t){t.exitSample&&t.exitSample(this)}accept(t){return t.visitSample?t.visitSample(this):t.visitChildren(this)}}class qo extends R{constructor(t,i){super(t,i)}KW_PERCENTLIT(){return this.getToken(e.KW_PERCENTLIT,0)}INTEGER_VALUE(t){return t===void 0?this.getTokens(e.INTEGER_VALUE):this.getToken(e.INTEGER_VALUE,t)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}expression(){return this.getRuleContext(0,k)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_ON(){return this.getToken(e.KW_ON,0)}identifier(){return this.getRuleContext(0,Q)}qualifiedName(){return this.getRuleContext(0,Ne)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_sampleMethod}enterRule(t){t.enterSampleMethod&&t.enterSampleMethod(this)}exitRule(t){t.exitSampleMethod&&t.exitSampleMethod(this)}accept(t){return t.visitSampleMethod?t.visitSampleMethod(this):t.visitChildren(this)}}class Ce extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}identifierSeq(){return this.getRuleContext(0,t2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_identifierList}enterRule(t){t.enterIdentifierList&&t.enterIdentifierList(this)}exitRule(t){t.exitIdentifierList&&t.exitIdentifierList(this)}accept(t){return t.visitIdentifierList?t.visitIdentifierList(this):t.visitChildren(this)}}class t2 extends R{constructor(t,i){super(t,i),this._ident=[]}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(mt):this.getRuleContext(t,mt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_identifierSeq}enterRule(t){t.enterIdentifierSeq&&t.enterIdentifierSeq(this)}exitRule(t){t.exitIdentifierSeq&&t.exitIdentifierSeq(this)}accept(t){return t.visitIdentifierSeq?t.visitIdentifierSeq(this):t.visitChildren(this)}}class t3 extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}orderedIdentifier(t){return t===void 0?this.getRuleContexts(e2):this.getRuleContext(t,e2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_orderedIdentifierList}enterRule(t){t.enterOrderedIdentifierList&&t.enterOrderedIdentifierList(this)}exitRule(t){t.exitOrderedIdentifierList&&t.exitOrderedIdentifierList(this)}accept(t){return t.visitOrderedIdentifierList?t.visitOrderedIdentifierList(this):t.visitChildren(this)}}class e2 extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}get ruleIndex(){return e.RULE_orderedIdentifier}enterRule(t){t.enterOrderedIdentifier&&t.enterOrderedIdentifier(this)}exitRule(t){t.exitOrderedIdentifier&&t.exitOrderedIdentifier(this)}accept(t){return t.visitOrderedIdentifier?t.visitOrderedIdentifier(this):t.visitChildren(this)}}class e3 extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}identifierComment(t){return t===void 0?this.getRuleContexts(Kn):this.getRuleContext(t,Kn)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_identifierCommentList}enterRule(t){t.enterIdentifierCommentList&&t.enterIdentifierCommentList(this)}exitRule(t){t.exitIdentifierCommentList&&t.exitIdentifierCommentList(this)}accept(t){return t.visitIdentifierCommentList?t.visitIdentifierCommentList(this):t.visitChildren(this)}}class Kn extends R{constructor(t,i){super(t,i)}columnNameCreate(){return this.getRuleContext(0,Ii)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_identifierComment}enterRule(t){t.enterIdentifierComment&&t.enterIdentifierComment(this)}exitRule(t){t.exitIdentifierComment&&t.exitIdentifierComment(this)}accept(t){return t.visitIdentifierComment?t.visitIdentifierComment(this):t.visitChildren(this)}}class fn extends R{constructor(t,i){super(t,i)}tableAlias(){return this.getRuleContext(0,ge)}tableName(){return this.getRuleContext(0,H)}viewName(){return this.getRuleContext(0,It)}identifierReference(){return this.getRuleContext(0,V1)}temporalClause(){return this.getRuleContext(0,Yo)}sample(){return this.getRuleContext(0,Jo)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}relation(){return this.getRuleContext(0,An)}inlineTable(){return this.getRuleContext(0,i2)}functionTable(){return this.getRuleContext(0,r3)}get ruleIndex(){return e.RULE_relationPrimary}enterRule(t){t.enterRelationPrimary&&t.enterRelationPrimary(this)}exitRule(t){t.exitRelationPrimary&&t.exitRelationPrimary(this)}accept(t){return t.visitRelationPrimary?t.visitRelationPrimary(this):t.visitChildren(this)}}class i2 extends R{constructor(t,i){super(t,i)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}tableAlias(){return this.getRuleContext(0,ge)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_inlineTable}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}class s2 extends R{constructor(t,i){super(t,i)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}tableArgumentPartitioning(){return this.getRuleContext(0,i3)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}query(){return this.getRuleContext(0,dt)}get ruleIndex(){return e.RULE_functionTableSubqueryArgument}enterRule(t){t.enterFunctionTableSubqueryArgument&&t.enterFunctionTableSubqueryArgument(this)}exitRule(t){t.exitFunctionTableSubqueryArgument&&t.exitFunctionTableSubqueryArgument(this)}accept(t){return t.visitFunctionTableSubqueryArgument?t.visitFunctionTableSubqueryArgument(this):t.visitChildren(this)}}class i3 extends R{constructor(t,i){super(t,i),this._partition=[]}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SINGLE(){return this.getToken(e.KW_SINGLE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}sortItem(t){return t===void 0?this.getRuleContexts(Se):this.getRuleContext(t,Se)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_tableArgumentPartitioning}enterRule(t){t.enterTableArgumentPartitioning&&t.enterTableArgumentPartitioning(this)}exitRule(t){t.exitTableArgumentPartitioning&&t.exitTableArgumentPartitioning(this)}accept(t){return t.visitTableArgumentPartitioning?t.visitTableArgumentPartitioning(this):t.visitChildren(this)}}class s3 extends R{constructor(t,i){super(t,i)}FAT_ARROW(){return this.getToken(e.FAT_ARROW,0)}identifier(){return this.getRuleContext(0,Q)}functionTableSubqueryArgument(){return this.getRuleContext(0,s2)}get ruleIndex(){return e.RULE_functionTableNamedArgumentExpression}enterRule(t){t.enterFunctionTableNamedArgumentExpression&&t.enterFunctionTableNamedArgumentExpression(this)}exitRule(t){t.exitFunctionTableNamedArgumentExpression&&t.exitFunctionTableNamedArgumentExpression(this)}accept(t){return t.visitFunctionTableNamedArgumentExpression?t.visitFunctionTableNamedArgumentExpression(this):t.visitChildren(this)}}class n3 extends R{constructor(t,i){super(t,i)}functionTableSubqueryArgument(){return this.getRuleContext(0,s2)}functionTableNamedArgumentExpression(){return this.getRuleContext(0,s3)}get ruleIndex(){return e.RULE_functionTableReferenceArgument}enterRule(t){t.enterFunctionTableReferenceArgument&&t.enterFunctionTableReferenceArgument(this)}exitRule(t){t.exitFunctionTableReferenceArgument&&t.exitFunctionTableReferenceArgument(this)}accept(t){return t.visitFunctionTableReferenceArgument?t.visitFunctionTableReferenceArgument(this):t.visitChildren(this)}}class n2 extends R{constructor(t,i){super(t,i)}functionTableReferenceArgument(){return this.getRuleContext(0,n3)}functionArgument(){return this.getRuleContext(0,mn)}get ruleIndex(){return e.RULE_functionTableArgument}enterRule(t){t.enterFunctionTableArgument&&t.enterFunctionTableArgument(this)}exitRule(t){t.exitFunctionTableArgument&&t.exitFunctionTableArgument(this)}accept(t){return t.visitFunctionTableArgument?t.visitFunctionTableArgument(this):t.visitChildren(this)}}class r3 extends R{constructor(t,i){super(t,i)}functionName(){return this.getRuleContext(0,A1)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,ge)}functionTableArgument(t){return t===void 0?this.getRuleContexts(n2):this.getRuleContext(t,n2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_functionTable}enterRule(t){t.enterFunctionTable&&t.enterFunctionTable(this)}exitRule(t){t.exitFunctionTable&&t.exitFunctionTable(this)}accept(t){return t.visitFunctionTable?t.visitFunctionTable(this):t.visitChildren(this)}}class ge extends R{constructor(t,i){super(t,i)}strictIdentifier(){return this.getRuleContext(0,x2)}KW_AS(){return this.getToken(e.KW_AS,0)}identifierList(){return this.getRuleContext(0,Ce)}get ruleIndex(){return e.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}class Re extends R{constructor(t,i){super(t,i)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_TERMINATED(t){return t===void 0?this.getTokens(e.KW_TERMINATED):this.getToken(e.KW_TERMINATED,t)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}get ruleIndex(){return e.RULE_rowFormat}enterRule(t){t.enterRowFormat&&t.enterRowFormat(this)}exitRule(t){t.exitRowFormat&&t.exitRowFormat(this)}accept(t){return t.visitRowFormat?t.visitRowFormat(this):t.visitChildren(this)}}class r2 extends R{constructor(t,i){super(t,i)}multipartIdentifier(t){return t===void 0?this.getRuleContexts(Pt):this.getRuleContext(t,Pt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_multipartIdentifierList}enterRule(t){t.enterMultipartIdentifierList&&t.enterMultipartIdentifierList(this)}exitRule(t){t.exitMultipartIdentifierList&&t.exitMultipartIdentifierList(this)}accept(t){return t.visitMultipartIdentifierList?t.visitMultipartIdentifierList(this):t.visitChildren(this)}}class Pt extends R{constructor(t,i){super(t,i),this._parts=[]}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(mt):this.getRuleContext(t,mt)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_multipartIdentifier}enterRule(t){t.enterMultipartIdentifier&&t.enterMultipartIdentifier(this)}exitRule(t){t.exitMultipartIdentifier&&t.exitMultipartIdentifier(this)}accept(t){return t.visitMultipartIdentifier?t.visitMultipartIdentifier(this):t.visitChildren(this)}}class h3 extends R{constructor(t,i){super(t,i)}multipartIdentifierProperty(t){return t===void 0?this.getRuleContexts(h2):this.getRuleContext(t,h2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_multipartIdentifierPropertyList}enterRule(t){t.enterMultipartIdentifierPropertyList&&t.enterMultipartIdentifierPropertyList(this)}exitRule(t){t.exitMultipartIdentifierPropertyList&&t.exitMultipartIdentifierPropertyList(this)}accept(t){return t.visitMultipartIdentifierPropertyList?t.visitMultipartIdentifierPropertyList(this):t.visitChildren(this)}}class h2 extends R{constructor(t,i){super(t,i)}multipartIdentifier(){return this.getRuleContext(0,Pt)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}get ruleIndex(){return e.RULE_multipartIdentifierProperty}enterRule(t){t.enterMultipartIdentifierProperty&&t.enterMultipartIdentifierProperty(this)}exitRule(t){t.exitMultipartIdentifierProperty&&t.exitMultipartIdentifierProperty(this)}accept(t){return t.visitMultipartIdentifierProperty?t.visitMultipartIdentifierProperty(this):t.visitChildren(this)}}class o2 extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(mt):this.getRuleContext(t,mt)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_tableIdentifier}enterRule(t){t.enterTableIdentifier&&t.enterTableIdentifier(this)}exitRule(t){t.exitTableIdentifier&&t.exitTableIdentifier(this)}accept(t){return t.visitTableIdentifier?t.visitTableIdentifier(this):t.visitChildren(this)}}class a2 extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(mt):this.getRuleContext(t,mt)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_viewIdentifier}enterRule(t){t.enterViewIdentifier&&t.enterViewIdentifier(this)}exitRule(t){t.exitViewIdentifier&&t.exitViewIdentifier(this)}accept(t){return t.visitViewIdentifier?t.visitViewIdentifier(this):t.visitChildren(this)}}class pi extends R{constructor(t,i){super(t,i)}columnName(){return this.getRuleContext(0,kt)}expression(){return this.getRuleContext(0,k)}identifierList(){return this.getRuleContext(0,Ce)}KW_AS(){return this.getToken(e.KW_AS,0)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}get ruleIndex(){return e.RULE_namedExpression}enterRule(t){t.enterNamedExpression&&t.enterNamedExpression(this)}exitRule(t){t.exitNamedExpression&&t.exitNamedExpression(this)}accept(t){return t.visitNamedExpression?t.visitNamedExpression(this):t.visitChildren(this)}}class c2 extends R{constructor(t,i){super(t,i)}namedExpression(t){return t===void 0?this.getRuleContexts(pi):this.getRuleContext(t,pi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_namedExpressionSeq}enterRule(t){t.enterNamedExpressionSeq&&t.enterNamedExpressionSeq(this)}exitRule(t){t.exitNamedExpressionSeq&&t.exitNamedExpressionSeq(this)}accept(t){return t.visitNamedExpressionSeq?t.visitNamedExpressionSeq(this):t.visitChildren(this)}}class Di extends R{constructor(t,i){super(t,i),this._fields=[]}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}partitionField(t){return t===void 0?this.getRuleContexts(u2):this.getRuleContext(t,u2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionFieldList}enterRule(t){t.enterPartitionFieldList&&t.enterPartitionFieldList(this)}exitRule(t){t.exitPartitionFieldList&&t.exitPartitionFieldList(this)}accept(t){return t.visitPartitionFieldList?t.visitPartitionFieldList(this):t.visitChildren(this)}}class u2 extends R{constructor(t,i){super(t,i)}transform(){return this.getRuleContext(0,o3)}columnType(){return this.getRuleContext(0,yi)}get ruleIndex(){return e.RULE_partitionField}enterRule(t){t.enterPartitionField&&t.enterPartitionField(this)}exitRule(t){t.exitPartitionField&&t.exitPartitionField(this)}accept(t){return t.visitPartitionField?t.visitPartitionField(this):t.visitChildren(this)}}class o3 extends R{constructor(t,i){super(t,i)}qualifiedName(){return this.getRuleContext(0,Ne)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}transformArgument(t){return t===void 0?this.getRuleContexts(l2):this.getRuleContext(t,l2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}identifier(){return this.getRuleContext(0,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_transform}enterRule(t){t.enterTransform&&t.enterTransform(this)}exitRule(t){t.exitTransform&&t.exitTransform(this)}accept(t){return t.visitTransform?t.visitTransform(this):t.visitChildren(this)}}class l2 extends R{constructor(t,i){super(t,i)}qualifiedName(){return this.getRuleContext(0,Ne)}constant(){return this.getRuleContext(0,G1)}get ruleIndex(){return e.RULE_transformArgument}enterRule(t){t.enterTransformArgument&&t.enterTransformArgument(this)}exitRule(t){t.exitTransformArgument&&t.exitTransformArgument(this)}accept(t){return t.visitTransformArgument?t.visitTransformArgument(this):t.visitChildren(this)}}class k extends R{constructor(t,i){super(t,i)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class a3 extends R{constructor(t,i){super(t,i)}FAT_ARROW(){return this.getToken(e.FAT_ARROW,0)}identifier(){return this.getRuleContext(0,Q)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_namedArgumentExpression}enterRule(t){t.enterNamedArgumentExpression&&t.enterNamedArgumentExpression(this)}exitRule(t){t.exitNamedArgumentExpression&&t.exitNamedArgumentExpression(this)}accept(t){return t.visitNamedArgumentExpression?t.visitNamedArgumentExpression(this):t.visitChildren(this)}}class mn extends R{constructor(t,i){super(t,i)}expression(){return this.getRuleContext(0,k)}namedArgumentExpression(){return this.getRuleContext(0,a3)}get ruleIndex(){return e.RULE_functionArgument}enterRule(t){t.enterFunctionArgument&&t.enterFunctionArgument(this)}exitRule(t){t.exitFunctionArgument&&t.exitFunctionArgument(this)}accept(t){return t.visitFunctionArgument?t.visitFunctionArgument(this):t.visitChildren(this)}}class c3 extends R{constructor(t,i){super(t,i)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionSeq}enterRule(t){t.enterExpressionSeq&&t.enterExpressionSeq(this)}exitRule(t){t.exitExpressionSeq&&t.exitExpressionSeq(this)}accept(t){return t.visitExpressionSeq?t.visitExpressionSeq(this):t.visitChildren(this)}}class vt extends R{constructor(t,i){super(t,i)}booleanExpression(t){return t===void 0?this.getRuleContexts(vt):this.getRuleContext(t,vt)}KW_NOT(){return this.getToken(e.KW_NOT,0)}NOT(){return this.getToken(e.NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}valueExpression(){return this.getRuleContext(0,xt)}predicate(){return this.getRuleContext(0,u3)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_OR(){return this.getToken(e.KW_OR,0)}get ruleIndex(){return e.RULE_booleanExpression}enterRule(t){t.enterBooleanExpression&&t.enterBooleanExpression(this)}exitRule(t){t.exitBooleanExpression&&t.exitBooleanExpression(this)}accept(t){return t.visitBooleanExpression?t.visitBooleanExpression(this):t.visitChildren(this)}}class u3 extends R{constructor(t,i){super(t,i)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}KW_NOT(){return this.getToken(e.KW_NOT,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_IN(){return this.getToken(e.KW_IN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}query(){return this.getRuleContext(0,dt)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_ILIKE(){return this.getToken(e.KW_ILIKE,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_SOME(){return this.getToken(e.KW_SOME,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}stringLit(){return this.getRuleContext(0,X)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}get ruleIndex(){return e.RULE_predicate}enterRule(t){t.enterPredicate&&t.enterPredicate(this)}exitRule(t){t.exitPredicate&&t.exitPredicate(this)}accept(t){return t.visitPredicate?t.visitPredicate(this):t.visitChildren(this)}}class xt extends R{constructor(t,i){super(t,i)}primaryExpression(){return this.getRuleContext(0,Qe)}valueExpression(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}MINUS(){return this.getToken(e.MINUS,0)}PLUS(){return this.getToken(e.PLUS,0)}TILDE(){return this.getToken(e.TILDE,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}SLASH(){return this.getToken(e.SLASH,0)}PERCENT(){return this.getToken(e.PERCENT,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}CONCAT_PIPE(){return this.getToken(e.CONCAT_PIPE,0)}AMPERSAND(){return this.getToken(e.AMPERSAND,0)}HAT(){return this.getToken(e.HAT,0)}PIPE(){return this.getToken(e.PIPE,0)}comparisonOperator(){return this.getRuleContext(0,E2)}get ruleIndex(){return e.RULE_valueExpression}enterRule(t){t.enterValueExpression&&t.enterValueExpression(this)}exitRule(t){t.exitValueExpression&&t.exitValueExpression(this)}accept(t){return t.visitValueExpression?t.visitValueExpression(this):t.visitChildren(this)}}class l3 extends R{constructor(t,i){super(t,i)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYOFYEAR(){return this.getToken(e.KW_DAYOFYEAR,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}get ruleIndex(){return e.RULE_datetimeUnit}enterRule(t){t.enterDatetimeUnit&&t.enterDatetimeUnit(this)}exitRule(t){t.exitDatetimeUnit&&t.exitDatetimeUnit(this)}accept(t){return t.visitDatetimeUnit?t.visitDatetimeUnit(this):t.visitChildren(this)}}class Qe extends R{constructor(t,i){super(t,i)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(e.KW_CURRENT_USER,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_SESSION_USER(){return this.getToken(e.KW_SESSION_USER,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}valueExpression(t){return t===void 0?this.getRuleContexts(xt):this.getRuleContext(t,xt)}KW_TIMESTAMPADD(){return this.getToken(e.KW_TIMESTAMPADD,0)}KW_DATEADD(){return this.getToken(e.KW_DATEADD,0)}KW_DATE_ADD(){return this.getToken(e.KW_DATE_ADD,0)}datetimeUnit(){return this.getRuleContext(0,l3)}stringLit(){return this.getRuleContext(0,X)}KW_TIMESTAMPDIFF(){return this.getToken(e.KW_TIMESTAMPDIFF,0)}KW_DATEDIFF(){return this.getToken(e.KW_DATEDIFF,0)}KW_DATE_DIFF(){return this.getToken(e.KW_DATE_DIFF,0)}KW_TIMEDIFF(){return this.getToken(e.KW_TIMEDIFF,0)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_END(){return this.getToken(e.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(g2):this.getRuleContext(t,g2)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}KW_AS(){return this.getToken(e.KW_AS,0)}dataType(){return this.getRuleContext(0,$t)}KW_CAST(){return this.getToken(e.KW_CAST,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}namedExpression(t){return t===void 0?this.getRuleContexts(pi):this.getRuleContext(t,pi)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_ANY_VALUE(){return this.getToken(e.KW_ANY_VALUE,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_IN(){return this.getToken(e.KW_IN,0)}constant(){return this.getRuleContext(0,G1)}ASTERISK(){return this.getToken(e.ASTERISK,0)}qualifiedName(){return this.getRuleContext(0,Ne)}DOT(){return this.getToken(e.DOT,0)}query(){return this.getRuleContext(0,dt)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}functionName(){return this.getRuleContext(0,A1)}functionArgument(t){return t===void 0?this.getRuleContexts(mn):this.getRuleContext(t,mn)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}windowSpec(){return this.getRuleContext(0,L2)}booleanExpression(){return this.getRuleContext(0,vt)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}setQuantifier(){return this.getRuleContext(0,Oi)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}ARROW(){return this.getToken(e.ARROW,0)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_SUBSTR(){return this.getToken(e.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}KW_OVERLAY(){return this.getToken(e.KW_OVERLAY,0)}KW_PLACING(){return this.getToken(e.KW_PLACING,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}sortItem(){return this.getRuleContext(0,Se)}KW_PERCENTILE_CONT(){return this.getToken(e.KW_PERCENTILE_CONT,0)}KW_PERCENTILE_DISC(){return this.getToken(e.KW_PERCENTILE_DISC,0)}LEFT_BRACKET(){return this.getToken(e.LEFT_BRACKET,0)}RIGHT_BRACKET(){return this.getToken(e.RIGHT_BRACKET,0)}primaryExpression(){return this.getRuleContext(0,Qe)}get ruleIndex(){return e.RULE_primaryExpression}enterRule(t){t.enterPrimaryExpression&&t.enterPrimaryExpression(this)}exitRule(t){t.exitPrimaryExpression&&t.exitPrimaryExpression(this)}accept(t){return t.visitPrimaryExpression?t.visitPrimaryExpression(this):t.visitChildren(this)}}class E3 extends R{constructor(t,i){super(t,i)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_BINARY_HEX(){return this.getToken(e.KW_BINARY_HEX,0)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_literalType}enterRule(t){t.enterLiteralType&&t.enterLiteralType(this)}exitRule(t){t.exitLiteralType&&t.exitLiteralType(this)}accept(t){return t.visitLiteralType?t.visitLiteralType(this):t.visitChildren(this)}}class G1 extends R{constructor(t,i){super(t,i)}KW_NULL(){return this.getToken(e.KW_NULL,0)}QUESTION(){return this.getToken(e.QUESTION,0)}COLON(){return this.getToken(e.COLON,0)}identifier(){return this.getRuleContext(0,Q)}interval(){return this.getRuleContext(0,d2)}literalType(){return this.getRuleContext(0,E3)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}number(){return this.getRuleContext(0,O3)}booleanValue(){return this.getRuleContext(0,T2)}get ruleIndex(){return e.RULE_constant}enterRule(t){t.enterConstant&&t.enterConstant(this)}exitRule(t){t.exitConstant&&t.exitConstant(this)}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}}class E2 extends R{constructor(t,i){super(t,i)}EQ(){return this.getToken(e.EQ,0)}NEQ(){return this.getToken(e.NEQ,0)}NEQJ(){return this.getToken(e.NEQJ,0)}LT(){return this.getToken(e.LT,0)}LTE(){return this.getToken(e.LTE,0)}GT(){return this.getToken(e.GT,0)}GTE(){return this.getToken(e.GTE,0)}NSEQ(){return this.getToken(e.NSEQ,0)}get ruleIndex(){return e.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class T3 extends R{constructor(t,i){super(t,i)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}SLASH(){return this.getToken(e.SLASH,0)}PERCENT(){return this.getToken(e.PERCENT,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}TILDE(){return this.getToken(e.TILDE,0)}AMPERSAND(){return this.getToken(e.AMPERSAND,0)}PIPE(){return this.getToken(e.PIPE,0)}CONCAT_PIPE(){return this.getToken(e.CONCAT_PIPE,0)}HAT(){return this.getToken(e.HAT,0)}get ruleIndex(){return e.RULE_arithmeticOperator}enterRule(t){t.enterArithmeticOperator&&t.enterArithmeticOperator(this)}exitRule(t){t.exitArithmeticOperator&&t.exitArithmeticOperator(this)}accept(t){return t.visitArithmeticOperator?t.visitArithmeticOperator(this):t.visitChildren(this)}}class d3 extends R{constructor(t,i){super(t,i)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}get ruleIndex(){return e.RULE_predicateOperator}enterRule(t){t.enterPredicateOperator&&t.enterPredicateOperator(this)}exitRule(t){t.exitPredicateOperator&&t.exitPredicateOperator(this)}accept(t){return t.visitPredicateOperator?t.visitPredicateOperator(this):t.visitChildren(this)}}class T2 extends R{constructor(t,i){super(t,i)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}get ruleIndex(){return e.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}class d2 extends R{constructor(t,i){super(t,i)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}errorCapturingMultiUnitsInterval(){return this.getRuleContext(0,R3)}errorCapturingUnitToUnitInterval(){return this.getRuleContext(0,W3)}get ruleIndex(){return e.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}class R3 extends R{constructor(t,i){super(t,i)}multiUnitsInterval(){return this.getRuleContext(0,R2)}unitToUnitInterval(){return this.getRuleContext(0,Cn)}get ruleIndex(){return e.RULE_errorCapturingMultiUnitsInterval}enterRule(t){t.enterErrorCapturingMultiUnitsInterval&&t.enterErrorCapturingMultiUnitsInterval(this)}exitRule(t){t.exitErrorCapturingMultiUnitsInterval&&t.exitErrorCapturingMultiUnitsInterval(this)}accept(t){return t.visitErrorCapturingMultiUnitsInterval?t.visitErrorCapturingMultiUnitsInterval(this):t.visitChildren(this)}}class R2 extends R{constructor(t,i){super(t,i),this._unit=[]}intervalValue(t){return t===void 0?this.getRuleContexts(gn):this.getRuleContext(t,gn)}unitInMultiUnits(t){return t===void 0?this.getRuleContexts(W2):this.getRuleContext(t,W2)}get ruleIndex(){return e.RULE_multiUnitsInterval}enterRule(t){t.enterMultiUnitsInterval&&t.enterMultiUnitsInterval(this)}exitRule(t){t.exitMultiUnitsInterval&&t.exitMultiUnitsInterval(this)}accept(t){return t.visitMultiUnitsInterval?t.visitMultiUnitsInterval(this):t.visitChildren(this)}}class W3 extends R{constructor(t,i){super(t,i)}unitToUnitInterval(t){return t===void 0?this.getRuleContexts(Cn):this.getRuleContext(t,Cn)}multiUnitsInterval(){return this.getRuleContext(0,R2)}get ruleIndex(){return e.RULE_errorCapturingUnitToUnitInterval}enterRule(t){t.enterErrorCapturingUnitToUnitInterval&&t.enterErrorCapturingUnitToUnitInterval(this)}exitRule(t){t.exitErrorCapturingUnitToUnitInterval&&t.exitErrorCapturingUnitToUnitInterval(this)}accept(t){return t.visitErrorCapturingUnitToUnitInterval?t.visitErrorCapturingUnitToUnitInterval(this):t.visitChildren(this)}}class Cn extends R{constructor(t,i){super(t,i)}unitInUnitToUnit(t){return t===void 0?this.getRuleContexts(_2):this.getRuleContext(t,_2)}KW_TO(){return this.getToken(e.KW_TO,0)}intervalValue(){return this.getRuleContext(0,gn)}get ruleIndex(){return e.RULE_unitToUnitInterval}enterRule(t){t.enterUnitToUnitInterval&&t.enterUnitToUnitInterval(this)}exitRule(t){t.exitUnitToUnitInterval&&t.exitUnitToUnitInterval(this)}accept(t){return t.visitUnitToUnitInterval?t.visitUnitToUnitInterval(this):t.visitChildren(this)}}class gn extends R{constructor(t,i){super(t,i)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}stringLit(){return this.getRuleContext(0,X)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}get ruleIndex(){return e.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}class W2 extends R{constructor(t,i){super(t,i)}KW_NANOSECOND(){return this.getToken(e.KW_NANOSECOND,0)}KW_NANOSECONDS(){return this.getToken(e.KW_NANOSECONDS,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}KW_MICROSECONDS(){return this.getToken(e.KW_MICROSECONDS,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MILLISECONDS(){return this.getToken(e.KW_MILLISECONDS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}get ruleIndex(){return e.RULE_unitInMultiUnits}enterRule(t){t.enterUnitInMultiUnits&&t.enterUnitInMultiUnits(this)}exitRule(t){t.exitUnitInMultiUnits&&t.exitUnitInMultiUnits(this)}accept(t){return t.visitUnitInMultiUnits?t.visitUnitInMultiUnits(this):t.visitChildren(this)}}class _2 extends R{constructor(t,i){super(t,i)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}get ruleIndex(){return e.RULE_unitInUnitToUnit}enterRule(t){t.enterUnitInUnitToUnit&&t.enterUnitInUnitToUnit(this)}exitRule(t){t.exitUnitInUnitToUnit&&t.exitUnitInUnitToUnit(this)}accept(t){return t.visitUnitInUnitToUnit?t.visitUnitInUnitToUnit(this):t.visitChildren(this)}}class Nn extends R{constructor(t,i){super(t,i)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}get ruleIndex(){return e.RULE_colPosition}enterRule(t){t.enterColPosition&&t.enterColPosition(this)}exitRule(t){t.exitColPosition&&t.exitColPosition(this)}accept(t){return t.visitColPosition?t.visitColPosition(this):t.visitChildren(this)}}class _3 extends R{constructor(t,i){super(t,i)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_BYTE(){return this.getToken(e.KW_BYTE,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_SHORT(){return this.getToken(e.KW_SHORT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_CHARACTER(){return this.getToken(e.KW_CHARACTER,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}KW_VOID(){return this.getToken(e.KW_VOID,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}class $t extends R{constructor(t,i){super(t,i)}LT(){return this.getToken(e.LT,0)}dataType(t){return t===void 0?this.getRuleContexts($t):this.getRuleContext(t,$t)}GT(){return this.getToken(e.GT,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}NEQ(){return this.getToken(e.NEQ,0)}complexColTypeList(){return this.getRuleContext(0,C3)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_MONTH(t){return t===void 0?this.getTokens(e.KW_MONTH):this.getToken(e.KW_MONTH,t)}KW_TO(){return this.getToken(e.KW_TO,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_HOUR(t){return t===void 0?this.getTokens(e.KW_HOUR):this.getToken(e.KW_HOUR,t)}KW_MINUTE(t){return t===void 0?this.getTokens(e.KW_MINUTE):this.getToken(e.KW_MINUTE,t)}KW_SECOND(t){return t===void 0?this.getTokens(e.KW_SECOND):this.getToken(e.KW_SECOND,t)}type(){return this.getRuleContext(0,_3)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}INTEGER_VALUE(t){return t===void 0?this.getTokens(e.INTEGER_VALUE):this.getToken(e.INTEGER_VALUE,t)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_dataType}enterRule(t){t.enterDataType&&t.enterDataType(this)}exitRule(t){t.exitDataType&&t.exitDataType(this)}accept(t){return t.visitDataType?t.visitDataType(this):t.visitChildren(this)}}class A3 extends R{constructor(t,i){super(t,i)}qualifiedColTypeWithPositionForAdd(t){return t===void 0?this.getRuleContexts(Ln):this.getRuleContext(t,Ln)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionSeqForAdd}enterRule(t){t.enterQualifiedColTypeWithPositionSeqForAdd&&t.enterQualifiedColTypeWithPositionSeqForAdd(this)}exitRule(t){t.exitQualifiedColTypeWithPositionSeqForAdd&&t.exitQualifiedColTypeWithPositionSeqForAdd(this)}accept(t){return t.visitQualifiedColTypeWithPositionSeqForAdd?t.visitQualifiedColTypeWithPositionSeqForAdd(this):t.visitChildren(this)}}class Ln extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}columnNameCreate(){return this.getRuleContext(0,Ii)}colDefinitionDescriptorWithPosition(t){return t===void 0?this.getRuleContexts(Mi):this.getRuleContext(t,Mi)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionForAdd}enterRule(t){t.enterQualifiedColTypeWithPositionForAdd&&t.enterQualifiedColTypeWithPositionForAdd(this)}exitRule(t){t.exitQualifiedColTypeWithPositionForAdd&&t.exitQualifiedColTypeWithPositionForAdd(this)}accept(t){return t.visitQualifiedColTypeWithPositionForAdd?t.visitQualifiedColTypeWithPositionForAdd(this):t.visitChildren(this)}}class K3 extends R{constructor(t,i){super(t,i)}qualifiedColTypeWithPositionForReplace(t){return t===void 0?this.getRuleContexts(A2):this.getRuleContext(t,A2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionSeqForReplace}enterRule(t){t.enterQualifiedColTypeWithPositionSeqForReplace&&t.enterQualifiedColTypeWithPositionSeqForReplace(this)}exitRule(t){t.exitQualifiedColTypeWithPositionSeqForReplace&&t.exitQualifiedColTypeWithPositionSeqForReplace(this)}accept(t){return t.visitQualifiedColTypeWithPositionSeqForReplace?t.visitQualifiedColTypeWithPositionSeqForReplace(this):t.visitChildren(this)}}class A2 extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}columnName(){return this.getRuleContext(0,kt)}colDefinitionDescriptorWithPosition(t){return t===void 0?this.getRuleContexts(Mi):this.getRuleContext(t,Mi)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionForReplace}enterRule(t){t.enterQualifiedColTypeWithPositionForReplace&&t.enterQualifiedColTypeWithPositionForReplace(this)}exitRule(t){t.exitQualifiedColTypeWithPositionForReplace&&t.exitQualifiedColTypeWithPositionForReplace(this)}accept(t){return t.visitQualifiedColTypeWithPositionForReplace?t.visitQualifiedColTypeWithPositionForReplace(this):t.visitChildren(this)}}class Mi extends R{constructor(t,i){super(t,i)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}defaultExpression(){return this.getRuleContext(0,In)}commentSpec(){return this.getRuleContext(0,Ut)}colPosition(){return this.getRuleContext(0,Nn)}get ruleIndex(){return e.RULE_colDefinitionDescriptorWithPosition}enterRule(t){t.enterColDefinitionDescriptorWithPosition&&t.enterColDefinitionDescriptorWithPosition(this)}exitRule(t){t.exitColDefinitionDescriptorWithPosition&&t.exitColDefinitionDescriptorWithPosition(this)}accept(t){return t.visitColDefinitionDescriptorWithPosition?t.visitColDefinitionDescriptorWithPosition(this):t.visitChildren(this)}}class In extends R{constructor(t,i){super(t,i)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_defaultExpression}enterRule(t){t.enterDefaultExpression&&t.enterDefaultExpression(this)}exitRule(t){t.exitDefaultExpression&&t.exitDefaultExpression(this)}accept(t){return t.visitDefaultExpression?t.visitDefaultExpression(this):t.visitChildren(this)}}class f3 extends R{constructor(t,i){super(t,i)}expression(){return this.getRuleContext(0,k)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}EQ(){return this.getToken(e.EQ,0)}get ruleIndex(){return e.RULE_variableDefaultExpression}enterRule(t){t.enterVariableDefaultExpression&&t.enterVariableDefaultExpression(this)}exitRule(t){t.exitVariableDefaultExpression&&t.exitVariableDefaultExpression(this)}accept(t){return t.visitVariableDefaultExpression?t.visitVariableDefaultExpression(this):t.visitChildren(this)}}class K2 extends R{constructor(t,i){super(t,i)}columnType(t){return t===void 0?this.getRuleContexts(yi):this.getRuleContext(t,yi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_colTypeList}enterRule(t){t.enterColTypeList&&t.enterColTypeList(this)}exitRule(t){t.exitColTypeList&&t.exitColTypeList(this)}accept(t){return t.visitColTypeList?t.visitColTypeList(this):t.visitChildren(this)}}class yi extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_columnType}enterRule(t){t.enterColumnType&&t.enterColumnType(this)}exitRule(t){t.exitColumnType&&t.exitColumnType(this)}accept(t){return t.visitColumnType?t.visitColumnType(this):t.visitChildren(this)}}class f2 extends R{constructor(t,i){super(t,i)}createOrReplaceTableColType(t){return t===void 0?this.getRuleContexts(Ui):this.getRuleContext(t,Ui)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_createOrReplaceTableColTypeList}enterRule(t){t.enterCreateOrReplaceTableColTypeList&&t.enterCreateOrReplaceTableColTypeList(this)}exitRule(t){t.exitCreateOrReplaceTableColTypeList&&t.exitCreateOrReplaceTableColTypeList(this)}accept(t){return t.visitCreateOrReplaceTableColTypeList?t.visitCreateOrReplaceTableColTypeList(this):t.visitChildren(this)}}class Ui extends R{constructor(t,i){super(t,i)}columnNameCreate(){return this.getRuleContext(0,Ii)}dataType(){return this.getRuleContext(0,$t)}colDefinitionOption(t){return t===void 0?this.getRuleContexts(m2):this.getRuleContext(t,m2)}get ruleIndex(){return e.RULE_createOrReplaceTableColType}enterRule(t){t.enterCreateOrReplaceTableColType&&t.enterCreateOrReplaceTableColType(this)}exitRule(t){t.exitCreateOrReplaceTableColType&&t.exitCreateOrReplaceTableColType(this)}accept(t){return t.visitCreateOrReplaceTableColType?t.visitCreateOrReplaceTableColType(this):t.visitChildren(this)}}class m2 extends R{constructor(t,i){super(t,i)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}defaultExpression(){return this.getRuleContext(0,In)}generationExpression(){return this.getRuleContext(0,m3)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_colDefinitionOption}enterRule(t){t.enterColDefinitionOption&&t.enterColDefinitionOption(this)}exitRule(t){t.exitColDefinitionOption&&t.exitColDefinitionOption(this)}accept(t){return t.visitColDefinitionOption?t.visitColDefinitionOption(this):t.visitChildren(this)}}class m3 extends R{constructor(t,i){super(t,i)}KW_GENERATED(){return this.getToken(e.KW_GENERATED,0)}KW_ALWAYS(){return this.getToken(e.KW_ALWAYS,0)}KW_AS(){return this.getToken(e.KW_AS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_generationExpression}enterRule(t){t.enterGenerationExpression&&t.enterGenerationExpression(this)}exitRule(t){t.exitGenerationExpression&&t.exitGenerationExpression(this)}accept(t){return t.visitGenerationExpression?t.visitGenerationExpression(this):t.visitChildren(this)}}class C3 extends R{constructor(t,i){super(t,i)}complexColType(t){return t===void 0?this.getRuleContexts(C2):this.getRuleContext(t,C2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_complexColTypeList}enterRule(t){t.enterComplexColTypeList&&t.enterComplexColTypeList(this)}exitRule(t){t.exitComplexColTypeList&&t.exitComplexColTypeList(this)}accept(t){return t.visitComplexColTypeList?t.visitComplexColTypeList(this):t.visitChildren(this)}}class C2 extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}dataType(){return this.getRuleContext(0,$t)}COLON(){return this.getToken(e.COLON,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_complexColType}enterRule(t){t.enterComplexColType&&t.enterComplexColType(this)}exitRule(t){t.exitComplexColType&&t.exitComplexColType(this)}accept(t){return t.visitComplexColType?t.visitComplexColType(this):t.visitChildren(this)}}class g2 extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return e.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class xn extends R{constructor(t,i){super(t,i)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}namedWindow(t){return t===void 0?this.getRuleContexts(N2):this.getRuleContext(t,N2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_windowClause}enterRule(t){t.enterWindowClause&&t.enterWindowClause(this)}exitRule(t){t.exitWindowClause&&t.exitWindowClause(this)}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}}class g3 extends R{constructor(t,i){super(t,i)}KW_ZORDER(){return this.getToken(e.KW_ZORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}columnNameSeq(){return this.getRuleContext(0,Li)}get ruleIndex(){return e.RULE_zorderClause}enterRule(t){t.enterZorderClause&&t.enterZorderClause(this)}exitRule(t){t.exitZorderClause&&t.exitZorderClause(this)}accept(t){return t.visitZorderClause?t.visitZorderClause(this):t.visitChildren(this)}}class N2 extends R{constructor(t,i){super(t,i)}KW_AS(){return this.getToken(e.KW_AS,0)}windowSpec(){return this.getRuleContext(0,L2)}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}get ruleIndex(){return e.RULE_namedWindow}enterRule(t){t.enterNamedWindow&&t.enterNamedWindow(this)}exitRule(t){t.exitNamedWindow&&t.exitNamedWindow(this)}accept(t){return t.visitNamedWindow?t.visitNamedWindow(this):t.visitChildren(this)}}class L2 extends R{constructor(t,i){super(t,i),this._partition=[]}errorCapturingIdentifier(){return this.getRuleContext(0,mt)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}windowFrame(){return this.getRuleContext(0,N3)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}sortItem(t){return t===void 0?this.getRuleContexts(Se):this.getRuleContext(t,Se)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}get ruleIndex(){return e.RULE_windowSpec}enterRule(t){t.enterWindowSpec&&t.enterWindowSpec(this)}exitRule(t){t.exitWindowSpec&&t.exitWindowSpec(this)}accept(t){return t.visitWindowSpec?t.visitWindowSpec(this):t.visitChildren(this)}}class N3 extends R{constructor(t,i){super(t,i)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}frameBound(t){return t===void 0?this.getRuleContexts(I2):this.getRuleContext(t,I2)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_AND(){return this.getToken(e.KW_AND,0)}get ruleIndex(){return e.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class I2 extends R{constructor(t,i){super(t,i)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_frameBound}enterRule(t){t.enterFrameBound&&t.enterFrameBound(this)}exitRule(t){t.exitFrameBound&&t.exitFrameBound(this)}accept(t){return t.visitFrameBound?t.visitFrameBound(this):t.visitChildren(this)}}class j7 extends R{constructor(t,i){super(t,i)}qualifiedName(t){return t===void 0?this.getRuleContexts(Ne):this.getRuleContext(t,Ne)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_qualifiedNameList}enterRule(t){t.enterQualifiedNameList&&t.enterQualifiedNameList(this)}exitRule(t){t.exitQualifiedNameList&&t.exitQualifiedNameList(this)}accept(t){return t.visitQualifiedNameList?t.visitQualifiedNameList(this):t.visitChildren(this)}}class A1 extends R{constructor(t,i){super(t,i)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}qualifiedName(){return this.getRuleContext(0,Ne)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}get ruleIndex(){return e.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}class L3 extends R{constructor(t,i){super(t,i)}qualifiedName(){return this.getRuleContext(0,Ne)}get ruleIndex(){return e.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class Ne extends R{constructor(t,i){super(t,i)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class mt extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}errorCapturingIdentifierExtra(){return this.getRuleContext(0,I3)}get ruleIndex(){return e.RULE_errorCapturingIdentifier}enterRule(t){t.enterErrorCapturingIdentifier&&t.enterErrorCapturingIdentifier(this)}exitRule(t){t.exitErrorCapturingIdentifier&&t.exitErrorCapturingIdentifier(this)}accept(t){return t.visitErrorCapturingIdentifier?t.visitErrorCapturingIdentifier(this):t.visitChildren(this)}}class I3 extends R{constructor(t,i){super(t,i)}MINUS(t){return t===void 0?this.getTokens(e.MINUS):this.getToken(e.MINUS,t)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}get ruleIndex(){return e.RULE_errorCapturingIdentifierExtra}enterRule(t){t.enterErrorCapturingIdentifierExtra&&t.enterErrorCapturingIdentifierExtra(this)}exitRule(t){t.exitErrorCapturingIdentifierExtra&&t.exitErrorCapturingIdentifierExtra(this)}accept(t){return t.visitErrorCapturingIdentifierExtra?t.visitErrorCapturingIdentifierExtra(this):t.visitChildren(this)}}class Q extends R{constructor(t,i){super(t,i)}strictIdentifier(){return this.getRuleContext(0,x2)}strictNonReserved(){return this.getRuleContext(0,y3)}get ruleIndex(){return e.RULE_identifier}enterRule(t){t.enterIdentifier&&t.enterIdentifier(this)}exitRule(t){t.exitIdentifier&&t.exitIdentifier(this)}accept(t){return t.visitIdentifier?t.visitIdentifier(this):t.visitChildren(this)}}class x2 extends R{constructor(t,i){super(t,i)}IDENTIFIER(){return this.getToken(e.IDENTIFIER,0)}quotedIdentifier(){return this.getRuleContext(0,O2)}ansiNonReserved(){return this.getRuleContext(0,M3)}nonReserved(){return this.getRuleContext(0,U3)}get ruleIndex(){return e.RULE_strictIdentifier}enterRule(t){t.enterStrictIdentifier&&t.enterStrictIdentifier(this)}exitRule(t){t.exitStrictIdentifier&&t.exitStrictIdentifier(this)}accept(t){return t.visitStrictIdentifier?t.visitStrictIdentifier(this):t.visitChildren(this)}}class O2 extends R{constructor(t,i){super(t,i)}BACKQUOTED_IDENTIFIER(){return this.getToken(e.BACKQUOTED_IDENTIFIER,0)}DOUBLEQUOTED_STRING(){return this.getToken(e.DOUBLEQUOTED_STRING,0)}get ruleIndex(){return e.RULE_quotedIdentifier}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class x3 extends R{constructor(t,i){super(t,i)}BACKQUOTED_IDENTIFIER(){return this.getToken(e.BACKQUOTED_IDENTIFIER,0)}get ruleIndex(){return e.RULE_backQuotedIdentifier}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}class O3 extends R{constructor(t,i){super(t,i)}EXPONENT_VALUE(){return this.getToken(e.EXPONENT_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}BIGINT_LITERAL(){return this.getToken(e.BIGINT_LITERAL,0)}SMALLINT_LITERAL(){return this.getToken(e.SMALLINT_LITERAL,0)}TINYINT_LITERAL(){return this.getToken(e.TINYINT_LITERAL,0)}DOUBLE_LITERAL(){return this.getToken(e.DOUBLE_LITERAL,0)}FLOAT_LITERAL(){return this.getToken(e.FLOAT_LITERAL,0)}BIGDECIMAL_LITERAL(){return this.getToken(e.BIGDECIMAL_LITERAL,0)}get ruleIndex(){return e.RULE_number}enterRule(t){t.enterNumber&&t.enterNumber(this)}exitRule(t){t.exitNumber&&t.exitNumber(this)}accept(t){return t.visitNumber?t.visitNumber(this):t.visitChildren(this)}}class p3 extends R{constructor(t,i){super(t,i)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}dataType(){return this.getRuleContext(0,$t)}commentSpec(){return this.getRuleContext(0,Ut)}colPosition(){return this.getRuleContext(0,Nn)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}defaultExpression(){return this.getRuleContext(0,In)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}get ruleIndex(){return e.RULE_alterColumnAction}enterRule(t){t.enterAlterColumnAction&&t.enterAlterColumnAction(this)}exitRule(t){t.exitAlterColumnAction&&t.exitAlterColumnAction(this)}accept(t){return t.visitAlterColumnAction?t.visitAlterColumnAction(this):t.visitChildren(this)}}class X extends R{constructor(t,i){super(t,i)}STRING_LITERAL(){return this.getToken(e.STRING_LITERAL,0)}DOUBLEQUOTED_STRING(){return this.getToken(e.DOUBLEQUOTED_STRING,0)}get ruleIndex(){return e.RULE_stringLit}enterRule(t){t.enterStringLit&&t.enterStringLit(this)}exitRule(t){t.exitStringLit&&t.exitStringLit(this)}accept(t){return t.visitStringLit?t.visitStringLit(this):t.visitChildren(this)}}class p2 extends R{constructor(t,i){super(t,i)}stringLit(){return this.getRuleContext(0,X)}KW_NULL(){return this.getToken(e.KW_NULL,0)}get ruleIndex(){return e.RULE_commentStr}enterRule(t){t.enterCommentStr&&t.enterCommentStr(this)}exitRule(t){t.exitCommentStr&&t.exitCommentStr(this)}accept(t){return t.visitCommentStr?t.visitCommentStr(this):t.visitChildren(this)}}class D3 extends R{constructor(t,i){super(t,i)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_version}enterRule(t){t.enterVersion&&t.enterVersion(this)}exitRule(t){t.exitVersion&&t.exitVersion(this)}accept(t){return t.visitVersion?t.visitVersion(this):t.visitChildren(this)}}class M3 extends R{constructor(t,i){super(t,i)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_ALWAYS(){return this.getToken(e.KW_ALWAYS,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}KW_ANY_VALUE(){return this.getToken(e.KW_ANY_VALUE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_BINARY_HEX(){return this.getToken(e.KW_BINARY_HEX,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_BYTE(){return this.getToken(e.KW_BYTE,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(e.KW_CHARACTER,0)}KW_CLEAR(){return this.getToken(e.KW_CLEAR,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_CODEGEN(){return this.getToken(e.KW_CODEGEN,0)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DATEADD(){return this.getToken(e.KW_DATEADD,0)}KW_DATE_ADD(){return this.getToken(e.KW_DATE_ADD,0)}KW_DATEDIFF(){return this.getToken(e.KW_DATEDIFF,0)}KW_DATE_DIFF(){return this.getToken(e.KW_DATE_DIFF,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_DAYOFYEAR(){return this.getToken(e.KW_DAYOFYEAR,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DFS(){return this.getToken(e.KW_DFS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_EXCLUDE(){return this.getToken(e.KW_EXCLUDE,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_GENERATED(){return this.getToken(e.KW_GENERATED,0)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_INCLUDE(){return this.getToken(e.KW_INCLUDE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LAZY(){return this.getToken(e.KW_LAZY,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_ILIKE(){return this.getToken(e.KW_ILIKE,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_LIST(){return this.getToken(e.KW_LIST,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}KW_MICROSECONDS(){return this.getToken(e.KW_MICROSECONDS,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MILLISECONDS(){return this.getToken(e.KW_MILLISECONDS,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_NAME(){return this.getToken(e.KW_NAME,0)}KW_NAMESPACE(){return this.getToken(e.KW_NAMESPACE,0)}KW_NAMESPACES(){return this.getToken(e.KW_NAMESPACES,0)}KW_NANOSECOND(){return this.getToken(e.KW_NANOSECOND,0)}KW_NANOSECONDS(){return this.getToken(e.KW_NANOSECONDS,0)}KW_NO(){return this.getToken(e.KW_NO,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_OPTIMIZE(){return this.getToken(e.KW_OPTIMIZE,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}KW_OVERLAY(){return this.getToken(e.KW_OVERLAY,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PERCENTLIT(){return this.getToken(e.KW_PERCENTLIT,0)}KW_PIVOT(){return this.getToken(e.KW_PIVOT,0)}KW_PLACING(){return this.getToken(e.KW_PLACING,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_SEPARATED(){return this.getToken(e.KW_SEPARATED,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SHORT(){return this.getToken(e.KW_SHORT,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SINGLE(){return this.getToken(e.KW_SINGLE,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SOURCE(){return this.getToken(e.KW_SOURCE,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_STRATIFY(){return this.getToken(e.KW_STRATIFY,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_SUBSTR(){return this.getToken(e.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}KW_TARGET(){return this.getToken(e.KW_TARGET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_TIMEDIFF(){return this.getToken(e.KW_TIMEDIFF,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_TIMESTAMPADD(){return this.getToken(e.KW_TIMESTAMPADD,0)}KW_TIMESTAMPDIFF(){return this.getToken(e.KW_TIMESTAMPDIFF,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_UNCACHE(){return this.getToken(e.KW_UNCACHE,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_UNPIVOT(){return this.getToken(e.KW_UNPIVOT,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_VOID(){return this.getToken(e.KW_VOID,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_ZORDER(){return this.getToken(e.KW_ZORDER,0)}get ruleIndex(){return e.RULE_ansiNonReserved}enterRule(t){t.enterAnsiNonReserved&&t.enterAnsiNonReserved(this)}exitRule(t){t.exitAnsiNonReserved&&t.exitAnsiNonReserved(this)}accept(t){return t.visitAnsiNonReserved?t.visitAnsiNonReserved(this):t.visitChildren(this)}}class y3 extends R{constructor(t,i){super(t,i)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_NATURAL(){return this.getToken(e.KW_NATURAL,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_USING(){return this.getToken(e.KW_USING,0)}get ruleIndex(){return e.RULE_strictNonReserved}enterRule(t){t.enterStrictNonReserved&&t.enterStrictNonReserved(this)}exitRule(t){t.exitStrictNonReserved&&t.exitStrictNonReserved(this)}accept(t){return t.visitStrictNonReserved?t.visitStrictNonReserved(this):t.visitChildren(this)}}class U3 extends R{constructor(t,i){super(t,i)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_ALWAYS(){return this.getToken(e.KW_ALWAYS,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_ANY_VALUE(){return this.getToken(e.KW_ANY_VALUE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_BINARY_HEX(){return this.getToken(e.KW_BINARY_HEX,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_BYTE(){return this.getToken(e.KW_BYTE,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_CAST(){return this.getToken(e.KW_CAST,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(e.KW_CHARACTER,0)}KW_CHECK(){return this.getToken(e.KW_CHECK,0)}KW_CLEAR(){return this.getToken(e.KW_CLEAR,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_CODEGEN(){return this.getToken(e.KW_CODEGEN,0)}KW_COLLATE(){return this.getToken(e.KW_COLLATE,0)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(e.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(e.KW_CURRENT_USER,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DATEADD(){return this.getToken(e.KW_DATEADD,0)}KW_DATE_ADD(){return this.getToken(e.KW_DATE_ADD,0)}KW_DATEDIFF(){return this.getToken(e.KW_DATEDIFF,0)}KW_DATE_DIFF(){return this.getToken(e.KW_DATE_DIFF,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_DAYOFYEAR(){return this.getToken(e.KW_DAYOFYEAR,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DFS(){return this.getToken(e.KW_DFS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_END(){return this.getToken(e.KW_END,0)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_EXCLUDE(){return this.getToken(e.KW_EXCLUDE,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_FETCH(){return this.getToken(e.KW_FETCH,0)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_FOREIGN(){return this.getToken(e.KW_FOREIGN,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_GENERATED(){return this.getToken(e.KW_GENERATED,0)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_INCLUDE(){return this.getToken(e.KW_INCLUDE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LAZY(){return this.getToken(e.KW_LAZY,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_ILIKE(){return this.getToken(e.KW_ILIKE,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_LIST(){return this.getToken(e.KW_LIST,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}KW_MICROSECONDS(){return this.getToken(e.KW_MICROSECONDS,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MILLISECONDS(){return this.getToken(e.KW_MILLISECONDS,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_NAME(){return this.getToken(e.KW_NAME,0)}KW_NAMESPACE(){return this.getToken(e.KW_NAMESPACE,0)}KW_NAMESPACES(){return this.getToken(e.KW_NAMESPACES,0)}KW_NANOSECOND(){return this.getToken(e.KW_NANOSECOND,0)}KW_NANOSECONDS(){return this.getToken(e.KW_NANOSECONDS,0)}KW_NO(){return this.getToken(e.KW_NO,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_OPTIMIZE(){return this.getToken(e.KW_OPTIMIZE,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}KW_OVERLAPS(){return this.getToken(e.KW_OVERLAPS,0)}KW_OVERLAY(){return this.getToken(e.KW_OVERLAY,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PERCENTILE_CONT(){return this.getToken(e.KW_PERCENTILE_CONT,0)}KW_PERCENTILE_DISC(){return this.getToken(e.KW_PERCENTILE_DISC,0)}KW_PERCENTLIT(){return this.getToken(e.KW_PERCENTLIT,0)}KW_PIVOT(){return this.getToken(e.KW_PIVOT,0)}KW_PLACING(){return this.getToken(e.KW_PLACING,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_PRIMARY(){return this.getToken(e.KW_PRIMARY,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_SEPARATED(){return this.getToken(e.KW_SEPARATED,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}KW_SESSION_USER(){return this.getToken(e.KW_SESSION_USER,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SHORT(){return this.getToken(e.KW_SHORT,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SINGLE(){return this.getToken(e.KW_SINGLE,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_SOME(){return this.getToken(e.KW_SOME,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SOURCE(){return this.getToken(e.KW_SOURCE,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_STRATIFY(){return this.getToken(e.KW_STRATIFY,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_SUBSTR(){return this.getToken(e.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}KW_TARGET(){return this.getToken(e.KW_TARGET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_TIMEDIFF(){return this.getToken(e.KW_TIMEDIFF,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_TIMESTAMPADD(){return this.getToken(e.KW_TIMESTAMPADD,0)}KW_TIMESTAMPDIFF(){return this.getToken(e.KW_TIMESTAMPDIFF,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_TO(){return this.getToken(e.KW_TO,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_UNCACHE(){return this.getToken(e.KW_UNCACHE,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_UNPIVOT(){return this.getToken(e.KW_UNPIVOT,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_VOID(){return this.getToken(e.KW_VOID,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_ZORDER(){return this.getToken(e.KW_ZORDER,0)}get ruleIndex(){return e.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}var J7=Object.defineProperty,ot=(n,t)=>J7(n,"name",{value:t,configurable:!0}),Xe=(Ns=class{constructor(t=""){E(this,"name");E(this,"context");E(this,"modifiers",new Set);E(this,"visibility",0);j(this,Et,void 0);this.name=t}get parent(){return N(this,Et)}get firstSibling(){var t;if(N(this,Et))return(t=N(this,Et))==null?void 0:t.firstChild}get previousSibling(){if(N(this,Et))return N(this,Et)?N(this,Et).previousSiblingOf(this):this}get nextSibling(){var t;return(t=N(this,Et))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=N(this,Et))==null?void 0:t.lastChild}get next(){var t;return(t=N(this,Et))==null?void 0:t.nextOf(this)}get root(){let t=N(this,Et);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=N(this,Et);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let i=this;for(;i&&(t.push(i),!!i.parent);)i=i.parent;return t}setParent(t){Z(this,Et,t)}removeFromParent(){var t;(t=N(this,Et))==null||t.removeSymbol(this),Z(this,Et,void 0)}async resolve(t,i=!1){var s;return(s=N(this,Et))==null?void 0:s.resolve(t,i)}resolveSync(t,i=!1){var s;return(s=N(this,Et))==null?void 0:s.resolveSync(t,i)}getParentOfType(t){let i=N(this,Et);for(;i;){if(i instanceof t)return i;i=i.parent}}qualifiedName(t=".",i=!1,s=!1){if(!s&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=N(this,Et);for(;h&&((s||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!i||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},Et=new WeakMap,ot(Ns,"BaseSymbol"),Ns);Ls=class extends Xe{constructor(i,s,r,h=0){super(i);E(this,"elementType");E(this,"size");E(this,"referenceKind");this.referenceKind=s,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ot(Ls,"ArrayType");var v3=(Is=class extends Error{},ot(Is,"DuplicateSymbolError"),Is),Ze=(Jt=class extends Xe{constructor(i=""){super(i);j(this,st,[]);j(this,Ke,new Map)}get directScopes(){return this.getSymbolsOfType(Jt)}get children(){return N(this,st)}get firstChild(){if(N(this,st).length>0)return N(this,st)[0]}get lastChild(){if(N(this,st).length>0)return N(this,st)[N(this,st).length-1]}clear(){Z(this,st,[]),N(this,Ke).clear()}addSymbol(i){i.removeFromParent();const s=this.symbolTable,r=N(this,Ke).get(i.name);if(!s||!s.options.allowDuplicateSymbols){if(r!==void 0)throw new v3("Attempt to add duplicate symbol '"+(i.name??"")+"'");if(N(this,Ke).set(i.name,1),N(this,st).indexOf(i)>-1)throw new v3("Attempt to add duplicate symbol '"+(i.name??"")+"'")}else N(this,Ke).set(i.name,r===void 0?1:r+1);N(this,st).push(i),i.setParent(this)}removeSymbol(i){const s=N(this,st).indexOf(i);if(s>-1){N(this,st).splice(s,1),i.setParent(void 0);const r=N(this,Ke).get(i.name);r!==void 0&&(r===1?N(this,Ke).delete(i.name):N(this,Ke).set(i.name,r-1))}}async getNestedSymbolsOfType(i){const s=[],r=[];return N(this,st).forEach(o=>{o instanceof i&&s.push(o),o instanceof Jt&&r.push(o.getNestedSymbolsOfType(i))}),(await Promise.all(r)).forEach(o=>{s.push(...o)}),s}getNestedSymbolsOfTypeSync(i){const s=[];return N(this,st).forEach(r=>{r instanceof i&&s.push(r),r instanceof Jt&&s.push(...r.getNestedSymbolsOfTypeSync(i))}),s}async getAllNestedSymbols(i){const s=[],r=[];return N(this,st).forEach(o=>{(!i||o.name===i)&&s.push(o),o instanceof Jt&&r.push(o.getAllNestedSymbols(i))}),(await Promise.all(r)).forEach(o=>{s.push(...o)}),s}getAllNestedSymbolsSync(i){const s=[];return N(this,st).forEach(r=>{(!i||r.name===i)&&s.push(r),r instanceof Jt&&s.push(...r.getAllNestedSymbolsSync(i))}),s}getSymbolsOfType(i){return new Promise(s=>{const r=[];N(this,st).forEach(h=>{h instanceof i&&r.push(h)}),s(r)})}async getAllSymbols(i,s=!1){const r=[];for(const h of N(this,st))if(h instanceof i&&r.push(h),this.isNamespace(h)){const o=await h.getAllSymbols(i,!0);r.push(...o)}if(!s&&this.parent){const h=await this.getAllSymbols(i,!0);r.push(...h)}return r}getAllSymbolsSync(i,s=!1){const r=[];for(const h of N(this,st))if(h instanceof i&&r.push(h),this.isNamespace(h)){const o=h.getAllSymbolsSync(i,!0);r.push(...o)}if(!s&&this.parent){const h=this.getAllSymbolsSync(i,!0);r.push(...h)}return r}async resolve(i,s=!1){return new Promise(r=>{for(const h of N(this,st))if(h.name===i){r(h);return}if(!s&&this.parent){r(this.parent.resolve(i,!1));return}r(void 0)})}resolveSync(i,s=!1){for(const r of N(this,st))if(r.name===i)return r;if(!s&&this.parent)return this.parent.resolveSync(i,!1)}symbolFromPath(i,s="."){const r=i.split(s);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let o=this;for(;hc.name===r[h]);if(!a)return;o=a,++h}return o}indexOfChild(i){return N(this,st).findIndex(s=>s===i)}nextSiblingOf(i){const s=this.indexOfChild(i);if(!(s===-1||s>=N(this,st).length-1))return N(this,st)[s+1]}previousSiblingOf(i){const s=this.indexOfChild(i);if(!(s<1))return N(this,st)[s-1]}nextOf(i){if(!i.parent)return;if(i.parent!==this)return i.parent.nextOf(i);if(i instanceof Jt&&i.children.length>0)return i.children[0];const s=this.nextSiblingOf(i);return s||this.parent.nextOf(this)}isNamespace(i){return i.inline!==void 0&&i.attributes!==void 0}},st=new WeakMap,Ke=new WeakMap,ot(Jt,"ScopedSymbol"),Jt);xs=class extends Ze{},ot(xs,"BlockSymbol");var w3=(Os=class extends Xe{constructor(i,s){super(i);E(this,"type");this.type=s}},ot(Os,"TypedSymbol"),Os),D2=(ps=class extends w3{constructor(i,s,r){super(i,r);E(this,"value");this.value=s}},ot(ps,"VariableSymbol"),ps),b3=(Ds=class extends D2{constructor(){super(...arguments);E(this,"setter");E(this,"getter")}},ot(Ds,"FieldSymbol"),Ds),q7=(Ms=class extends D2{},ot(Ms,"ParameterSymbol"),Ms),tl=(ys=class extends Ze{constructor(i,s){super(i);E(this,"returnType");this.returnType=s}getVariables(i=!0){return this.getSymbolsOfType(D2)}getParameters(i=!0){return this.getSymbolsOfType(q7)}},ot(ys,"RoutineSymbol"),ys),H3=(Us=class extends tl{constructor(){super(...arguments);E(this,"methodFlags",0)}},ot(Us,"MethodSymbol"),Us);vs=class extends Ze{constructor(i,s,r){super(i);E(this,"isStruct",!1);E(this,"reference",0);E(this,"extends");E(this,"implements");this.extends=s,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(i=!1){return this.getSymbolsOfType(H3)}getFields(i=!1){return this.getSymbolsOfType(b3)}},ot(vs,"ClassSymbol"),St=class{constructor(t,i=0,s=0){E(this,"name");E(this,"typeKind");E(this,"referenceKind");this.name=t,this.typeKind=i,this.referenceKind=s}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ot(St,"FundamentalType"),E(St,"integerType",new St("int",1,3)),E(St,"floatType",new St("float",2,3)),E(St,"stringType",new St("string",4,3)),E(St,"boolType",new St("bool",6,3)),ws=class extends Ze{constructor(i,s){super(i);E(this,"reference",0);E(this,"extends");this.extends=s}get baseTypes(){return this.extends}get kind(){return 8}getMethods(i=!1){return this.getSymbolsOfType(H3)}getFields(i=!1){return this.getSymbolsOfType(b3)}},ot(ws,"InterfaceSymbol"),bs=class extends w3{constructor(i,s,r){super(i,r);E(this,"value");this.value=s}},ot(bs,"LiteralSymbol");var On=(Hs=class extends Ze{constructor(i,s=!1,r=[]){super(i);E(this,"inline");E(this,"attributes");this.inline=s,this.attributes=r}},ot(Hs,"NamespaceSymbol"),Hs);Fs=class extends Xe{constructor(i,s){super(i);E(this,"targetType");this.targetType=s}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ot(Fs,"TypeAlias");var el=ot((n,t)=>{if(!n||!t)return[];let i;for(i=0;i=t||a.type===C.EOF)||a.type===C.EOF)break}const h=[],o=i?i.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const c of this.candidates.rules){let u="";for(const T of c[1].ruleList)u+=this.ruleNames[T]+" ";console.log(this.ruleNames[c[0]]+", path: ",u)}const a=new Set;for(const c of this.candidates.tokens){let u=this.vocabulary.getDisplayName(c[0])??"";for(const T of c[1])u+=" "+this.vocabulary.getDisplayName(T);a.add(u)}console.log(` + +Collected tokens: +`);for(const c of a)console.log(c);console.log(` + +`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let i=t.length-1;i>=0;i--)if(this.translateToRuleIndex(i,t))return!0}else for(let i=0;ia);let o=!0;for(const a of this.candidates.rules)if(!(a[0]!==s||a[1].ruleList.length!==h.length)&&h.every((c,u)=>c===a[1].ruleList[u])){o=!1;break}return o&&(this.candidates.rules.set(s,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[s])),!0}return!1}getFollowingTokens(t){const i=[],s=[t.target];for(;s.length>0;){const r=s.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===v.ATOM)if(h.isEpsilon)s.push(h.target);else{const o=h.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(i.push(o[0]),s.push(h.target))}})}return i}determineFollowSets(t,i){const s=[],r=[],h=[],o=this.collectFollowSets(t,i,s,r,h),a=new Nt;for(const c of s)a.addSet(c.intervals);return{sets:s,isExhaustive:o,combined:a}}collectFollowSets(t,i,s,r,h){if(r.find(a=>a===t))return!0;if(r.push(t),t===i||t.stateType===Y.RULE_STOP)return r.pop(),!1;let o=!0;for(const a of t.transitions)if(a.serializationType===v.RULE){const c=a;if(h.indexOf(c.target.ruleIndex)!==-1)continue;h.push(c.target.ruleIndex);const u=this.collectFollowSets(a.target,i,s,r,h);if(h.pop(),!u){const T=this.collectFollowSets(c.followState,i,s,r,h);o&&(o=T)}}else if(a.serializationType===v.PREDICATE){if(this.checkPredicate(a)){const c=this.collectFollowSets(a.target,i,s,r,h);o&&(o=c)}}else if(a.isEpsilon){const c=this.collectFollowSets(a.target,i,s,r,h);o&&(o=c)}else if(a.serializationType===v.WILDCARD){const c=new F3;c.intervals=Nt.of(C.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),c.path=h.slice(),s.push(c)}else{let c=a.label;if(c&&c.length>0){a.serializationType===v.NOT_SET&&(c=c.complement(C.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new F3;u.intervals=c??new Nt,u.path=h.slice(),u.following=this.getFollowingTokens(a),s.push(u)}}return r.pop(),o}processRule(t,i,s,r,h){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(i))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(i);const a=new Set;let c=re.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,re.followSetsByATN.set(this.parser.constructor.name,c));let u=c.get(t.stateNumber);if(!u){const f=this.atn.ruleToStopState[t.ruleIndex];u=this.determineFollowSets(t,f),c.set(t.stateNumber,u)}const T=this.tokens[i].tokenIndex;if(s.push({startTokenIndex:T,ruleIndex:t.ruleIndex}),i>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(s);else for(const f of u.sets){const g=s.slice(),O=f.path.map(p=>({startTokenIndex:T,ruleIndex:p}));if(g.push(...O),!this.translateStackToRuleIndex(g))for(const p of f.intervals.toArray())this.ignoredTokens.has(p)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(p)),this.candidates.tokens.has(p)?this.candidates.tokens.get(p)!==f.following&&this.candidates.tokens.set(p,[]):this.candidates.tokens.set(p,f.following))}return u.isExhaustive||a.add(i),s.pop(),a}else{const f=this.tokens[i].type;if(u.isExhaustive&&!u.combined.contains(f))return s.pop(),a}t.isPrecedenceRule&&this.precedenceStack.push(r);const d=[];let _;for(d.push({state:t,tokenListIndex:i});d.length>0;){_=d.pop(),++this.statesProcessed;const f=this.tokens[_.tokenListIndex].type,g=_.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,_.state,this.generateBaseDescription(_.state),_.tokenListIndex),this.showRuleStack&&this.printRuleState(s)),_.state.stateType===Y.RULE_STOP){a.add(_.tokenListIndex);continue}const O=_.state.transitions;for(const p of O)switch(p.serializationType){case v.RULE:{const y=p,m=this.processRule(p.target,_.tokenListIndex,s,y.precedence,h+1);for(const K of m)d.push({state:p.followState,tokenListIndex:K});break}case v.PREDICATE:{this.checkPredicate(p)&&d.push({state:p.target,tokenListIndex:_.tokenListIndex});break}case v.PRECEDENCE:{p.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&d.push({state:p.target,tokenListIndex:_.tokenListIndex});break}case v.WILDCARD:{if(g){if(!this.translateStackToRuleIndex(s))for(const y of Nt.of(C.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(y)||this.candidates.tokens.set(y,[])}else d.push({state:p.target,tokenListIndex:_.tokenListIndex+1});break}default:{if(p.isEpsilon){d.push({state:p.target,tokenListIndex:_.tokenListIndex});continue}let y=p.label;if(y&&y.length>0)if(p.serializationType===v.NOT_SET&&(y=y.complement(C.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),g){if(!this.translateStackToRuleIndex(s)){const m=y.toArray(),K=m.length===1;for(const L of m)if(!this.ignoredTokens.has(L)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(L));const x=K?this.getFollowingTokens(p):[];this.candidates.tokens.has(L)?this.candidates.tokens.set(L,el(x,this.candidates.tokens.get(L))):this.candidates.tokens.set(L,x)}}}else y.contains(f)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(f)),d.push({state:p.target,tokenListIndex:_.tokenListIndex+1}))}}}return s.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(i,a),a}generateBaseDescription(t){return`[${t.stateNumber===ue.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${re.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,i,s,r){const h=" ".repeat(t);let o=h,a="";if(this.debugOutputWithTransitions)for(const c of i.transitions){let u="";const T=c.label?c.label.toArray():[];if(T.length>2)u=this.vocabulary.getDisplayName(T[0])+" .. "+this.vocabulary.getDisplayName(T[T.length-1]);else for(const d of T)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(d);u.length===0&&(u="ε"),a+=` +${h} (${u}) [${c.target.stateNumber} ${re.atnStateTypeMap[c.target.stateType]}] in ${this.ruleNames[c.target.ruleIndex]}`}r>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+r}>> `:o+=`<${this.tokenStartIndex+r}> `,console.log(o+"Current state: "+s+a)}printRuleState(t){if(t.length===0){console.log("");return}for(const i of t)console.log(this.ruleNames[i.ruleIndex])}},ot(re,"CodeCompletionCore"),E(re,"followSetsByATN",new Map),E(re,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),re);ks=class extends Ze{constructor(i,s){super(i);E(this,"dependencies",new Set);this.options=s}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...i){i.forEach(s=>{this.dependencies.add(s)})}removeDependency(i){this.dependencies.has(i)&&this.dependencies.delete(i)}addNewSymbolOfType(i,s,...r){const h=new i(...r);return!s||s===this?this.addSymbol(h):s.addSymbol(h),h}async addNewNamespaceFromPath(i,s,r="."){const h=s.split(r);let o=0,a=i===void 0?this:i;for(;oo.getAllSymbols(i,s)))).forEach(o=>{r.push(...o)}),r}getAllSymbolsSync(i,s=!1){const r=super.getAllSymbolsSync(i,s);return s||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(i,s))}),r}async symbolWithContext(i){const s=ot(h=>{if(h.context===i)return h;if(h instanceof Ze)for(const o of h.children){const a=s(o);if(a)return a}},"findRecursive");let r=await this.getAllSymbols(Xe);for(const h of r){const o=s(h);if(o)return o}for(const h of this.dependencies){r=await h.getAllSymbols(Xe);for(const o of r){const a=s(o);if(a)return a}}}symbolWithContextSync(i){const s=ot(h=>{if(h.context===i)return h;if(h instanceof Ze)for(const o of h.children){const a=s(o);if(a)return a}},"findRecursive");let r=this.getAllSymbolsSync(Xe);for(const h of r){const o=s(h);if(o)return o}for(const h of this.dependencies){r=h.getAllSymbolsSync(Xe);for(const o of r){const a=s(o);if(a)return a}}}async resolve(i,s=!1){let r=await super.resolve(i,s);if(!r&&!s){for(const h of this.dependencies)if(r=await h.resolve(i,!1),r)return r}return r}resolveSync(i,s=!1){let r=super.resolveSync(i,s);if(!r&&!s){for(const h of this.dependencies)if(r=h.resolveSync(i,!1),r)return r}return r}},ot(ks,"SymbolTable");function V3(n,t){var i,s;const{lineNumber:r,column:h}=n;let o=0,a=t.length-1;for(;o<=a;){const c=o+(a-o>>1),u=t[c];if(u.line>r||u.line===r&&u.column+1>=h)a=c-1;else if(u.line{this._parseErrors.push(t)},this.locale="en_US"}createLexer(t,i){const s=_r.fromString(t),r=this.createLexerFromCharStream(s);return i&&(r.removeErrorListeners(),r.addErrorListener(this.createErrorListener(i))),r}createParser(t,i){const s=this.createLexer(t,i),r=new hn(s),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=_t.SLL,i&&(h.removeErrorListeners(),h.addErrorListener(this.createErrorListener(i))),h}parse(t,i){const s=this.createParser(t,i);return s.buildParseTrees=!0,s.errorHandler=new M2,s.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=_r.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new hn(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=_t.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new M2,this._parser}parseWithCache(t,i){if(this._parsedInput===t&&!i&&this._parseTree)return this._parseTree;this._parseErrors=[];const s=this.createParserWithCache(t);return this._parsedInput=t,s.removeErrorListeners(),s.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=s.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let i=this._tokenStream.getTokens();return i[i.length-1].text===""&&(i=i.slice(0,-1)),i}listen(t,i){$c.DEFAULT.walk(t,i)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const s=this.splitListener;return this.listen(s,this._parseTree),s.statementsContext.map(h=>pn(h,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(t,i){var s,r,h,o,a,c,u,T,d;const _=this.splitListener;if(this.parseWithCache(t),!this._parseTree)return null;let f=this._parser;const g=this.getAllTokens(t);let O=V3(i,g),p=this._parseTree,y=0;if(!O&&O!==0)return null;this.listen(_,this._parseTree);const m=(s=_.statementsContext)===null||s===void 0?void 0:s.length,K=_.statementsContext;if(m>1){let D=null,S=null;for(let p1=0;p1O&&fl){S=D1;break}}const Rt=(a=(o=D==null?void 0:D.start)===null||o===void 0?void 0:o.start)!==null&&a!==void 0?a:0,$=(u=(c=S==null?void 0:S.stop)===null||c===void 0?void 0:c.stop)!==null&&u!==void 0?u:t.length-1;y=(d=(T=D==null?void 0:D.start)===null||T===void 0?void 0:T.tokenIndex)!==null&&d!==void 0?d:0,O=O-y;const B=t.slice(Rt,$),he=this.createLexer(B);he.removeErrorListeners();const X3=new hn(he);X3.fill();const ri=this.createParserFromTokenStream(X3);ri.interpreter.predictionMode=_t.SLL,ri.removeErrorListeners(),ri.buildParseTrees=!0,ri.errorHandler=new M2,f=ri,p=ri.program()}const L=new B3(f);L.preferredRules=this.preferredRules;const x=L.collectCandidates(O,p),w=this.processCandidates(x,g,O,y);return{syntax:w.syntax.map(D=>{const S=D.wordRanges.map(Rt=>k3(Rt,this._parsedInput));return{syntaxContextType:D.syntaxContextType,wordRanges:S}}),keywords:w.keywords}}getAllEntities(t,i){const s=this.getAllTokens(t),r=i?V3(i,s):void 0,h=this.createEntityCollector(t,r),o=this.parseWithCache(t);return this.listen(h,o),h.getEntities()}}var J;(function(n){n.CATALOG="catalog",n.CATALOG_CREATE="catalogCreate",n.DATABASE="database",n.DATABASE_CREATE="databaseCreate",n.TABLE="table",n.TABLE_CREATE="tableCreate",n.VIEW="view",n.VIEW_CREATE="viewCreate",n.FUNCTION="function",n.FUNCTION_CREATE="functionCreate",n.PROCEDURE="procedure",n.PROCEDURE_CREATE="procedureCreate",n.COLUMN="column",n.COLUMN_CREATE="columnCreate"})(J||(J={}));class rl{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class hl extends rl{exitSingleStatement(t){this._statementsContext.push(t)}}class G3{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var y2=function(n,t){var i={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&t.indexOf(s)<0&&(i[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,s=Object.getOwnPropertySymbols(n);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=ol(t,i,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((s=this._stmtStack.peek())===null||s===void 0?void 0:s.stmtContextType)===Ct.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,i,s){const r=cl(t,i,this._input,this._stmtStack.peek(),s);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const i=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)i.unshift(this._entityStack.pop());const s=this.combineRootStmtEntities(t,i);for(;s.length;){const r=s.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,i){return t.stmtContextType===Ct.CREATE_VIEW_STMT||t.stmtContextType===Ct.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,i):i}combineCreateTableOrViewStmtEntities(t,i){const s=[],r=[];let h=null;const o=i.reduce((a,c)=>{if(c.belongStmt!==t)return c.entityContextType!==J.COLUMN&&c.entityContextType!==J.COLUMN_CREATE&&(r.push(c),a.push(c)),a;if(c.entityContextType===J.COLUMN_CREATE)s.push(c);else{if(c.entityContextType===J.TABLE_CREATE||c.entityContextType===J.VIEW_CREATE)return h=c,a.push(c),a;c.entityContextType!==J.COLUMN&&(r.push(c),a.push(c))}return a},[]);return h&&s.length&&Y3(h)&&(h=Object.assign(h,{columns:s})),h&&r.length&&(Y3(h)||al(h))&&(h=Object.assign(h,{relatedEntities:r})),o}}class ll extends ul{exitNamespaceName(t){this.pushEntity(t,J.DATABASE)}exitNamespaceNameCreate(t){this.pushEntity(t,J.DATABASE_CREATE,[{attrName:We.comment,endContextList:[Co.name]}])}exitTableName(t){var i;const s=((i=this.getRootStmt())===null||i===void 0?void 0:i.stmtContextType)===Ct.SELECT_STMT;this.pushEntity(t,J.TABLE,s?[{attrName:We.alias,endContextList:[fn.name]}]:void 0)}exitTableNameCreate(t){this.pushEntity(t,J.TABLE_CREATE,[{attrName:We.comment,endContextList:[fo.name]}])}exitViewName(t){this.pushEntity(t,J.VIEW)}exitViewNameCreate(t){this.pushEntity(t,J.VIEW_CREATE,[{attrName:We.comment,endContextList:[mo.name]}])}exitFunctionNameCreate(t){this.pushEntity(t,J.FUNCTION_CREATE)}exitColumnNameCreate(t){this.pushEntity(t,J.COLUMN_CREATE,[{attrName:We.comment,endContextList:[Ui.name,Kn.name]},{attrName:We.colType,endContextList:[Ui.name]}])}enterSingleStatement(t){this.pushStmt(t,Ct.COMMON_STMT)}exitSingleStatement(t){this.popStmt()}enterCreateTable(t){this.pushStmt(t,Ct.CREATE_TABLE_STMT)}exitCreateTable(t){this.popStmt()}enterCreateTableLike(t){this.pushStmt(t,Ct.CREATE_TABLE_STMT)}exitCreateTableLike(t){this.popStmt()}enterReplaceTable(t){this.pushStmt(t,Ct.CREATE_TABLE_STMT)}exitReplaceTable(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,Ct.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterCreateTempViewUsing(t){this.pushStmt(t,Ct.CREATE_VIEW_STMT)}exitCreateTempViewUsing(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,Ct.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterInsertFromQuery(t){this.pushStmt(t,Ct.INSERT_STMT)}exitInsertFromQuery(t){this.popStmt()}enterMultipleInsert(t){this.pushStmt(t,Ct.INSERT_STMT)}exitMultipleInsert(t){this.popStmt()}enterCreateNamespace(t){this.pushStmt(t,Ct.CREATE_DATABASE_STMT)}exitCreateNamespace(t){this.popStmt()}enterCreateFunction(t){this.pushStmt(t,Ct.CREATE_FUNCTION_STMT)}exitCreateFunction(t){this.popStmt()}}const El={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function Tl(n,t){const i=/{([^}]+)}/g;return n.replace(i,(s,r)=>El[t][r]||"")}class dl{constructor(t,i="en_US"){this.locale=i,this._errorListener=t}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(t,i,s,r,h,o){var a;let c="";if(i){let T=i;const d=t,_=T.type===C.EOF;_&&(T=d.tokenStream.get(T.tokenIndex-1));const f=(a=T.text)!==null&&a!==void 0?a:"",O=_&&f!==" "?"":this.getExpectedText(d,T);if(o)o instanceof Be||o instanceof F?(_?c="{stmtInComplete}":c=`'${f}' {noValidPosition}`,O.length>0&&(c+=`{expecting}${O}`)):c=h;else if(c=h,h.includes("extraneous")&&(c=`'${f}' {noValidPosition}${O.length?`{expecting}${O}`:""}`),h.includes("missing")){const p=/missing\s+'([^']+)'/,y=h.match(p);if(c="{missing}",y){const m=y[1];c+=`'${m}'`}else c+="{keyword}";c+=`{at}'${f}'`}}else if(o instanceof Ri){const T=t,d=T.inputStream;let _=T.getErrorDisplay(d.getText(T._tokenStartCharIndex,d.index));switch(_[0]){case"/":c="{unfinishedMultilineComment}";break;case'"':c="{unfinishedDoubleQuoted}";break;case"'":c="{unfinishedSingleQuoted}";break;case"`":c="{unfinishedTickQuoted}";break;default:c='"'+_+'" {noValidInput}';break}}c=Tl(c,this.locale);let u=r+1;i&&i.text!==null&&(u=r+i.text.length),this._errorListener&&this._errorListener({startLine:s,endLine:s,startColumn:r+1,endColumn:u+1,message:c},{e:o,line:s,msg:h,recognizer:t,offendingSymbol:i,charPositionInLine:r})}}class Rl extends dl{constructor(t,i,s){super(t,s),this.objectNames=new Map([[e.RULE_namespaceName,"namespace"],[e.RULE_namespaceNameCreate,"namespace"],[e.RULE_tableName,"table"],[e.RULE_tableNameCreate,"table"],[e.RULE_viewName,"view"],[e.RULE_viewNameCreate,"view"],[e.RULE_functionName,"function"],[e.RULE_functionNameCreate,"function"],[e.RULE_columnName,"column"],[e.RULE_columnNameCreate,"column"]]),this.preferredRules=i}getExpectedText(t,i){var s;let r="",h=(s=t.context)!==null&&s!==void 0?s:void 0;for(;h!=null&&h.parent;)h=h.parent;const o=new B3(t);o.preferredRules=this.preferredRules;const a=o.collectCandidates(i.tokenIndex,h);if(a.rules.size){const c=[];for(const u of a.rules){const[T]=u,d=this.objectNames.get(T);switch(T){case e.RULE_namespaceName:case e.RULE_tableName:case e.RULE_viewName:case e.RULE_functionName:case e.RULE_columnName:{c.push(`{existing}${d}`);break}case e.RULE_namespaceNameCreate:case e.RULE_tableNameCreate:case e.RULE_functionNameCreate:case e.RULE_viewNameCreate:case e.RULE_columnNameCreate:{c.push(`{new}${d}`);break}}}r=c.join("{or}")}return a.tokens.size&&(r+=r?"{orKeyword}":"{keyword}"),r}}class Wl extends nl{constructor(){super(...arguments),this.preferredRules=new Set([e.RULE_namespaceName,e.RULE_namespaceNameCreate,e.RULE_tableName,e.RULE_tableNameCreate,e.RULE_viewName,e.RULE_viewNameCreate,e.RULE_functionName,e.RULE_functionNameCreate,e.RULE_columnName,e.RULE_columnNameCreate])}createLexerFromCharStream(t){return new l(t)}createParserFromTokenStream(t){return new e(t)}get splitListener(){return new hl}createErrorListener(t){return new Rl(t,this.preferredRules,this.locale)}createEntityCollector(t,i){return new ll(t,i)}processCandidates(t,i,s,r){const h=[],o=[];for(const a of t.rules){const[c,u]=a,T=u.startTokenIndex+r,d=i.slice(T,s+r+1);let _;switch(c){case e.RULE_namespaceName:{_=J.DATABASE;break}case e.RULE_namespaceNameCreate:{_=J.DATABASE_CREATE;break}case e.RULE_tableName:{_=J.TABLE;break}case e.RULE_tableNameCreate:{_=J.TABLE_CREATE;break}case e.RULE_viewName:{_=J.VIEW;break}case e.RULE_viewNameCreate:{_=J.VIEW_CREATE;break}case e.RULE_functionName:{_=J.FUNCTION;break}case e.RULE_functionNameCreate:{_=J.FUNCTION_CREATE;break}case e.RULE_columnName:{_=J.COLUMN;break}case e.RULE_columnNameCreate:{_=J.COLUMN_CREATE;break}}_&&h.push({syntaxContextType:_,wordRanges:d})}for(const a of t.tokens){const c=this._parser.vocabulary.getSymbolicName(a[0]),u=this._parser.vocabulary.getDisplayName(a[0]);if(u&&c&&c.startsWith("KW_")){const T=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;o.push(T)}}return{syntax:h,keywords:o}}}var vi=function(n,t,i,s){function r(h){return h instanceof i?h:new i(function(o){o(h)})}return new(i||(i=Promise))(function(h,o){function a(T){try{u(s.next(T))}catch(d){o(d)}}function c(T){try{u(s.throw(T))}catch(d){o(d)}}function u(T){T.done?h(T.value):r(T.value).then(a,c)}u((s=s.apply(n,t||[])).next())})};class _l{constructor(t,i){this.keywords=[]}doValidation(t){return vi(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.validate(t);return Promise.resolve(i)}return Promise.resolve([])})}parserTreeToString(t){return vi(this,void 0,void 0,function*(){if(t){const i=this.parser.createParser(t),r=i.program().toStringTree(i);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,i){return vi(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.getSuggestionAtCaretPosition(t,i);return Promise.resolve(s)}return Promise.resolve(null)})}doCompletionWithEntities(t,i){return vi(this,void 0,void 0,function*(){var s;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,i);let h=null;return!((s=r==null?void 0:r.syntax)===null||s===void 0)&&s.length&&(h=this.parser.getAllEntities(t,i)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,i){return vi(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.getAllEntities(t,i);return Promise.resolve(s)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class Al extends _l{constructor(t,i){super(t,i),this._ctx=t,this.parser=new Wl}}self.onmessage=()=>{Sh((n,t)=>new Al(n,t))}})(); diff --git a/assets/spark.worker-ebb9d79a.js b/assets/spark.worker-ebb9d79a.js deleted file mode 100644 index 80fa50b1..00000000 --- a/assets/spark.worker-ebb9d79a.js +++ /dev/null @@ -1,22 +0,0 @@ -var dl=Object.defineProperty;var Rl=(ct,rt,Tt)=>rt in ct?dl(ct,rt,{enumerable:!0,configurable:!0,writable:!0,value:Tt}):ct[rt]=Tt;var E=(ct,rt,Tt)=>(Rl(ct,typeof rt!="symbol"?rt+"":rt,Tt),Tt),M2=(ct,rt,Tt)=>{if(!rt.has(ct))throw TypeError("Cannot "+Tt)};var g=(ct,rt,Tt)=>(M2(ct,rt,"read from private field"),Tt?Tt.call(ct):rt.get(ct)),j=(ct,rt,Tt)=>{if(rt.has(ct))throw TypeError("Cannot add the same private member more than once");rt instanceof WeakSet?rt.add(ct):rt.set(ct,Tt)},Z=(ct,rt,Tt,ri)=>(M2(ct,rt,"write to private field"),ri?ri.call(ct,Tt):rt.set(ct,Tt),Tt);var y2=(ct,rt,Tt)=>(M2(ct,rt,"access private method"),Tt);(function(){var G1,yi,Ui,Ne,A1,Y1,vi,se,Xe,Ze,K1,ut,wi,f1,bi,jt,We,Hi,ze,_e,C1,S1,Fi,m1,Pe,Bi,Vi,ki,Yt,Gi,Yi,g1,Si,Q1,X1,Z1,Qi,$e,Xi,Zi,z1,zi,P1,Le,Pi,Ot,$i,ji,Ji,J,Kt,at,qi,je,t0,e0,i0,Je,$1,qe,s0,n0,r0,h0,o0,a0,c0,u0,l0,E0,T0,d0,R0,W0,_0,A0,K0,f0,C0,N1,j1,J1,L1,q1,ti,I1,ei,t1,m0,g0,pt,v,N0,L0,I0,x0,O0,p0,D0,Ie,xe,M0,y0,U0,ii,v0,w0,x1,b0,U2,H0,F0,B0,V0,G,k0,G0,Y0,S0,Q0,X0,Z0,z0,e1,P0,$0,j0,J0,q0,ts,es,is,ss,ns,rs,hs,os,as,In,cs,us,ls,Es,ne,Ts,ds,Rs,xn,si,Ws,Bt,_s,As,Ks,fs,Et,Cs,ms,gs,it,Ae,Jt,Ns,Ls,Is,xs,Os,ps,Ds,Ms,St,ys,Us,vs,ws,bs,Hs,re,Fs;"use strict";class ct{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` - -`+t.stack):t},0)}}emit(t){this.listeners.forEach(i=>{i(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const rt=new ct;function Tt(n){Fo(n)||rt.onUnexpectedError(n)}function ri(n){if(n instanceof Error){let{name:t,message:i}=n;const s=n.stacktrace||n.stack;return{$isError:!0,name:t,message:i,stack:s}}return n}const v2="Canceled";function Fo(n){return n instanceof Error&&n.name===v2&&n.message===v2}function Bo(n){const t=this;let i=!1,s;return function(){return i||(i=!0,s=n.apply(t,arguments)),s}}var On;(function(n){function t(f){return f&&typeof f=="object"&&typeof f[Symbol.iterator]=="function"}n.is=t;const i=Object.freeze([]);function s(){return i}n.empty=s;function*r(f){yield f}n.single=r;function h(f){return f||i}n.from=h;function o(f){return!f||f[Symbol.iterator]().next().done===!0}n.isEmpty=o;function a(f){return f[Symbol.iterator]().next().value}n.first=a;function c(f,K){for(const L of f)if(K(L))return!0;return!1}n.some=c;function u(f,K){for(const L of f)if(K(L))return L}n.find=u;function*T(f,K){for(const L of f)K(L)&&(yield L)}n.filter=T;function*d(f,K){let L=0;for(const x of f)yield K(x,L++)}n.map=d;function*_(...f){for(const K of f)for(const L of K)yield L}n.concat=_;function*C(f){for(const K of f)for(const L of K)yield L}n.concatNested=C;function I(f,K,L){let x=L;for(const b of f)x=K(x,b);return x}n.reduce=I;function*O(f,K,L=f.length){for(K<0&&(K+=f.length),L<0?L+=f.length:L>f.length&&(L=f.length);Kx===b){const x=f[Symbol.iterator](),b=K[Symbol.iterator]();for(;;){const U=x.next(),D=b.next();if(U.done!==D.done)return!1;if(U.done)return!0;if(!L(U.value,D.value))return!1}}n.equals=w})(On||(On={}));function Wl(n){return n}function _l(n,t){}class Vo extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function w2(n){if(On.is(n)){let t=[];for(const i of n)if(i)try{i.dispose()}catch(s){t.push(s)}if(t.length===1)throw t[0];if(t.length>1)throw new Vo(t);return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function ko(...n){return b2(()=>w2(n))}function b2(n){return{dispose:Bo(()=>{n()})}}class hi{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{w2(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?hi.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}hi.DISABLE_DISPOSED_WARNING=!1;class H2{constructor(){this._store=new hi,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}H2.None=Object.freeze({dispose(){}});class q{constructor(t){this.element=t,this.next=q.Undefined,this.prev=q.Undefined}}q.Undefined=new q(void 0);class F2{constructor(){this._first=q.Undefined,this._last=q.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===q.Undefined}clear(){let t=this._first;for(;t!==q.Undefined;){const i=t.next;t.prev=q.Undefined,t.next=q.Undefined,t=i}this._first=q.Undefined,this._last=q.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const s=new q(t);if(this._first===q.Undefined)this._first=s,this._last=s;else if(i){const h=this._last;this._last=s,s.prev=h,h.next=s}else{const h=this._first;this._first=s,s.next=h,h.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==q.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==q.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==q.Undefined&&t.next!==q.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===q.Undefined&&t.next===q.Undefined?(this._first=q.Undefined,this._last=q.Undefined):t.next===q.Undefined?(this._last=this._last.prev,this._last.next=q.Undefined):t.prev===q.Undefined&&(this._first=this._first.next,this._first.prev=q.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==q.Undefined;)yield t.element,t=t.next}}var pn;const Bs="en";let Dn=!1,Mn=!1,yn=!1,oi,Vs=Bs,Go,i1;const mt=typeof self=="object"?self:typeof global=="object"?global:{};let Dt;typeof mt.vscode<"u"&&typeof mt.vscode.process<"u"?Dt=mt.vscode.process:typeof process<"u"&&(Dt=process);const Yo=typeof((pn=Dt==null?void 0:Dt.versions)===null||pn===void 0?void 0:pn.electron)=="string"&&(Dt==null?void 0:Dt.type)==="renderer";if(typeof navigator=="object"&&!Yo)i1=navigator.userAgent,Dn=i1.indexOf("Windows")>=0,Mn=i1.indexOf("Macintosh")>=0,(i1.indexOf("Macintosh")>=0||i1.indexOf("iPad")>=0||i1.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,yn=i1.indexOf("Linux")>=0,oi=navigator.language,Vs=oi;else if(typeof Dt=="object"){Dn=Dt.platform==="win32",Mn=Dt.platform==="darwin",yn=Dt.platform==="linux",yn&&Dt.env.SNAP&&Dt.env.SNAP_REVISION,oi=Bs,Vs=Bs;const n=Dt.env.VSCODE_NLS_CONFIG;if(n)try{const t=JSON.parse(n),i=t.availableLanguages["*"];oi=t.locale,Vs=i||Bs,Go=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const ai=Dn,So=Mn,Qo=Vs,Xo=oi;(()=>{if(typeof mt.postMessage=="function"&&!mt.importScripts){let n=[];mt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,r=n.length;s{const s=++t;n.push({id:s,callback:i}),mt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return n=>setTimeout(n)})();const Zo=mt.performance&&typeof mt.performance.now=="function";class ks{constructor(t){this._highResolution=Zo&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new ks(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?mt.performance.now():Date.now()}}var Un;(function(n){n.None=()=>H2.None;function t(f){return(K,L=null,x)=>{let b=!1,U;return U=f(D=>{if(!b)return U?U.dispose():b=!0,K.call(L,D)},null,x),b&&U.dispose(),U}}n.once=t;function i(f,K){return c((L,x=null,b)=>f(U=>L.call(x,K(U)),null,b))}n.map=i;function s(f,K){return c((L,x=null,b)=>f(U=>{K(U),L.call(x,U)},null,b))}n.forEach=s;function r(f,K){return c((L,x=null,b)=>f(U=>K(U)&&L.call(x,U),null,b))}n.filter=r;function h(f){return f}n.signal=h;function o(...f){return(K,L=null,x)=>ko(...f.map(b=>b(U=>K.call(L,U),null,x)))}n.any=o;function a(f,K,L){let x=L;return i(f,b=>(x=K(x,b),x))}n.reduce=a;function c(f){let K;const L=new Oe({onFirstListenerAdd(){K=f(L.fire,L)},onLastListenerRemove(){K.dispose()}});return L.event}function u(f,K,L=100,x=!1,b){let U,D,S,Rt=0;const $=new Oe({leakWarningThreshold:b,onFirstListenerAdd(){U=f(F=>{Rt++,D=K(D,F),x&&!S&&($.fire(D),D=void 0),clearTimeout(S),S=setTimeout(()=>{const he=D;D=void 0,S=void 0,(!x||Rt>1)&&$.fire(he),Rt=0},L)})},onLastListenerRemove(){U.dispose()}});return $.event}n.debounce=u;function T(f,K=(L,x)=>L===x){let L=!0,x;return r(f,b=>{const U=L||!K(b,x);return L=!1,x=b,U})}n.latch=T;function d(f,K){return[n.filter(f,K),n.filter(f,L=>!K(L))]}n.split=d;function _(f,K=!1,L=[]){let x=L.slice(),b=f(S=>{x?x.push(S):D.fire(S)});const U=()=>{x&&x.forEach(S=>D.fire(S)),x=null},D=new Oe({onFirstListenerAdd(){b||(b=f(S=>D.fire(S)))},onFirstListenerDidAdd(){x&&(K?setTimeout(U):U())},onLastListenerRemove(){b&&b.dispose(),b=null}});return D.event}n.buffer=_;class C{constructor(K){this.event=K}map(K){return new C(i(this.event,K))}forEach(K){return new C(s(this.event,K))}filter(K){return new C(r(this.event,K))}reduce(K,L){return new C(a(this.event,K,L))}latch(){return new C(T(this.event))}debounce(K,L=100,x=!1,b){return new C(u(this.event,K,L,x,b))}on(K,L,x){return this.event(K,L,x)}once(K,L,x){return t(this.event)(K,L,x)}}function I(f){return new C(f)}n.chain=I;function O(f,K,L=x=>x){const x=(...S)=>D.fire(L(...S)),b=()=>f.on(K,x),U=()=>f.removeListener(K,x),D=new Oe({onFirstListenerAdd:b,onLastListenerRemove:U});return D.event}n.fromNodeEventEmitter=O;function p(f,K,L=x=>x){const x=(...S)=>D.fire(L(...S)),b=()=>f.addEventListener(K,x),U=()=>f.removeEventListener(K,x),D=new Oe({onFirstListenerAdd:b,onLastListenerRemove:U});return D.event}n.fromDOMEventEmitter=p;function w(f){return new Promise(K=>t(f)(K))}n.toPromise=w})(Un||(Un={}));class Gs{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${Gs._idPool++}`}start(t){this._stopWatch=new ks(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Gs._idPool=0;class Oe{constructor(t){var i;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((i=this._options)===null||i===void 0)&&i._profName?new Gs(this._options._profName):void 0}get event(){return this._event||(this._event=(t,i,s)=>{var r;this._listeners||(this._listeners=new F2);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(i?[t,i]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,i);const a=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),c=b2(()=>{a&&a(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return s instanceof hi?s.add(c):Array.isArray(s)&&s.push(c),c}),this._event}fire(t){var i,s;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new F2);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((i=this._perfMon)===null||i===void 0||i.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(o){Tt(o)}}(s=this._perfMon)===null||s===void 0||s.stop()}}dispose(){var t,i,s,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(i=this._deliveryQueue)===null||i===void 0||i.clear(),(r=(s=this._options)===null||s===void 0?void 0:s.onLastListenerRemove)===null||r===void 0||r.call(s),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function zo(n){let t=[],i=Object.getPrototypeOf(n);for(;Object.prototype!==i;)t=t.concat(Object.getOwnPropertyNames(i)),i=Object.getPrototypeOf(i);return t}function vn(n){const t=[];for(const i of zo(n))typeof n[i]=="function"&&t.push(i);return t}function Po(n,t){const i=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let s={};for(const r of n)s[r]=i(r);return s}function $o(n,t="Unreachable"){throw new Error(t)}function jo(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Jo(n){return n.split(/\r\n|\r|\n/)}function qo(n){for(let t=0,i=n.length;t=0;i--){const s=n.charCodeAt(i);if(s!==32&&s!==9)return i}return-1}function B2(n){return n>=65&&n<=90}function wn(n){return 55296<=n&&n<=56319}function ea(n){return 56320<=n&&n<=57343}function ia(n,t){return(n-55296<<10)+(t-56320)+65536}function sa(n,t,i){const s=n.charCodeAt(i);if(wn(s)&&i+1{this._pendingReplies[s]={resolve:r,reject:h},this._send(new ra(this._workerId,s,t,i))})}listen(t,i){let s=null;const r=new Oe({onFirstListenerAdd:()=>{s=String(++this._lastSentReq),this._pendingEmitters.set(s,r),this._send(new ha(this._workerId,s,t,i))},onLastListenerRemove:()=>{this._pendingEmitters.delete(s),this._send(new aa(this._workerId,s)),s=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let i=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let s=t.err;t.err.$isError&&(s=new Error,s.name=t.err.name,s.message=t.err.message,s.stack=t.err.stack),i.reject(s);return}i.resolve(t.res)}_handleRequestMessage(t){let i=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new V2(this._workerId,i,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=ri(r.detail)),this._send(new V2(this._workerId,i,void 0,ri(r)))})}_handleSubscribeEventMessage(t){const i=t.req,s=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new oa(this._workerId,i,r))});this._pendingEvents.set(i,s)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let i=[];if(t.type===0)for(let s=0;sfunction(){const a=Array.prototype.slice.call(arguments,0);return t(o,a)},r=o=>function(a){return i(o,a)};let h={};for(const o of n){if(G2(o)){h[o]=r(o);continue}if(k2(o)){h[o]=i(o,void 0);continue}h[o]=s(o)}return h}class la{constructor(t,i){this._requestHandlerFactory=i,this._requestHandler=null,this._protocol=new ca({sendMessage:(s,r)=>{t(s,r)},handleMessage:(s,r)=>this._handleMessage(s,r),handleEvent:(s,r)=>this._handleEvent(s,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,i){if(t===na)return this.initialize(i[0],i[1],i[2],i[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,i))}catch(s){return Promise.reject(s)}}_handleEvent(t,i){if(!this._requestHandler)throw new Error("Missing requestHandler");if(G2(t)){const s=this._requestHandler[t].call(this._requestHandler,i);if(typeof s!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return s}if(k2(t)){const s=this._requestHandler[t];if(typeof s!="function")throw new Error(`Missing event ${t} on request handler.`);return s}throw new Error(`Malformed event name ${t}`)}initialize(t,i,s,r){this._protocol.setWorkerId(t);const a=ua(r,(c,u)=>this._protocol.sendMessage(c,u),(c,u)=>this._protocol.listen(c,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(a),Promise.resolve(vn(this._requestHandler))):(i&&(typeof i.baseUrl<"u"&&delete i.baseUrl,typeof i.paths<"u"&&typeof i.paths.vs<"u"&&delete i.paths.vs,typeof i.trustedTypesPolicy!==void 0&&delete i.trustedTypesPolicy,i.catchError=!0,mt.require.config(i)),new Promise((c,u)=>{const T=mt.require;T([s],d=>{if(this._requestHandler=d.create(a),!this._requestHandler){u(new Error("No RequestHandler!"));return}c(vn(this._requestHandler))},u)}))}}class pe{constructor(t,i,s,r){this.originalStart=t,this.originalLength=i,this.modifiedStart=s,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Y2(n,t){return(t<<5)-t+n|0}function Ea(n,t){t=Y2(149417,t);for(let i=0,s=n.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new pe(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class De{constructor(t,i,s=null){this.ContinueProcessingPredicate=s,this._originalSequence=t,this._modifiedSequence=i;const[r,h,o]=De._getElements(t),[a,c,u]=De._getElements(i);this._hasStrings=o&&u,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=a,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const i=t.getElements();if(De._isStringArray(i)){const s=new Int32Array(i.length);for(let r=0,h=i.length;r=t&&r>=s&&this.ElementsAreEqual(i,r);)i--,r--;if(t>i||s>r){let d;return s<=r?(D1.Assert(t===i+1,"originalStart should only be one more than originalEnd"),d=[new pe(t,0,s,r-s+1)]):t<=i?(D1.Assert(s===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[new pe(t,i-t+1,s,0)]):(D1.Assert(t===i+1,"originalStart should only be one more than originalEnd"),D1.Assert(s===r+1,"modifiedStart should only be one more than modifiedEnd"),d=[]),d}const o=[0],a=[0],c=this.ComputeRecursionPoint(t,i,s,r,o,a,h),u=o[0],T=a[0];if(c!==null)return c;if(!h[0]){const d=this.ComputeDiffRecursive(t,u,s,T,h);let _=[];return h[0]?_=[new pe(u+1,i-(u+1)+1,T+1,r-(T+1)+1)]:_=this.ComputeDiffRecursive(u+1,i,T+1,r,h),this.ConcatenateChanges(d,_)}return[new pe(t,i-t+1,s,r-s+1)]}WALKTRACE(t,i,s,r,h,o,a,c,u,T,d,_,C,I,O,p,w,f){let K=null,L=null,x=new Q2,b=i,U=s,D=C[0]-p[0]-r,S=-1073741824,Rt=this.m_forwardHistory.length-1;do{const $=D+t;$===b||$=0&&(u=this.m_forwardHistory[Rt],t=u[0],b=1,U=u.length-1)}while(--Rt>=-1);if(K=x.getReverseChanges(),f[0]){let $=C[0]+1,F=p[0]+1;if(K!==null&&K.length>0){const he=K[K.length-1];$=Math.max($,he.getOriginalEnd()),F=Math.max(F,he.getModifiedEnd())}L=[new pe($,_-$+1,F,O-F+1)]}else{x=new Q2,b=o,U=a,D=C[0]-p[0]-c,S=1073741824,Rt=w?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const $=D+h;$===b||$=T[$+1]?(d=T[$+1]-1,I=d-D-c,d>S&&x.MarkNextChange(),S=d+1,x.AddOriginalElement(d+1,I+1),D=$+1-h):(d=T[$-1],I=d-D-c,d>S&&x.MarkNextChange(),S=d,x.AddModifiedElement(d+1,I+1),D=$-1-h),Rt>=0&&(T=this.m_reverseHistory[Rt],h=T[0],b=1,U=T.length-1)}while(--Rt>=-1);L=x.getChanges()}return this.ConcatenateChanges(K,L)}ComputeRecursionPoint(t,i,s,r,h,o,a){let c=0,u=0,T=0,d=0,_=0,C=0;t--,s--,h[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const I=i-t+(r-s),O=I+1,p=new Int32Array(O),w=new Int32Array(O),f=r-s,K=i-t,L=t-s,x=i-r,U=(K-f)%2===0;p[f]=t,w[K]=i,a[0]=!1;for(let D=1;D<=I/2+1;D++){let S=0,Rt=0;T=this.ClipDiagonalBound(f-D,D,f,O),d=this.ClipDiagonalBound(f+D,D,f,O);for(let F=T;F<=d;F+=2){F===T||FS+Rt&&(S=c,Rt=u),!U&&Math.abs(F-K)<=D-1&&c>=w[F])return h[0]=c,o[0]=u,he<=w[F]&&1447>0&&D<=1447+1?this.WALKTRACE(f,T,d,L,K,_,C,x,p,w,c,i,h,u,r,o,U,a):null}const $=(S-t+(Rt-s)-D)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(S,$))return a[0]=!0,h[0]=S,o[0]=Rt,$>0&&1447>0&&D<=1447+1?this.WALKTRACE(f,T,d,L,K,_,C,x,p,w,c,i,h,u,r,o,U,a):(t++,s++,[new pe(t,i-t+1,s,r-s+1)]);_=this.ClipDiagonalBound(K-D,D,K,O),C=this.ClipDiagonalBound(K+D,D,K,O);for(let F=_;F<=C;F+=2){F===_||F=w[F+1]?c=w[F+1]-1:c=w[F-1],u=c-(F-K)-x;const he=c;for(;c>t&&u>s&&this.ElementsAreEqual(c,u);)c--,u--;if(w[F]=c,U&&Math.abs(F-f)<=D&&c<=p[F])return h[0]=c,o[0]=u,he>=p[F]&&1447>0&&D<=1447+1?this.WALKTRACE(f,T,d,L,K,_,C,x,p,w,c,i,h,u,r,o,U,a):null}if(D<=1447){let F=new Int32Array(d-T+2);F[0]=f-T+1,M1.Copy2(p,T,F,1,d-T+1),this.m_forwardHistory.push(F),F=new Int32Array(C-_+2),F[0]=K-_+1,M1.Copy2(w,_,F,1,C-_+1),this.m_reverseHistory.push(F)}}return this.WALKTRACE(f,T,d,L,K,_,C,x,p,w,c,i,h,u,r,o,U,a)}PrettifyChanges(t){for(let i=0;i0,a=s.modifiedLength>0;for(;s.originalStart+s.originalLength=0;i--){const s=t[i];let r=0,h=0;if(i>0){const d=t[i-1];r=d.originalStart+d.originalLength,h=d.modifiedStart+d.modifiedLength}const o=s.originalLength>0,a=s.modifiedLength>0;let c=0,u=this._boundaryScore(s.originalStart,s.originalLength,s.modifiedStart,s.modifiedLength);for(let d=1;;d++){const _=s.originalStart-d,C=s.modifiedStart-d;if(_u&&(u=O,c=d)}s.originalStart-=c,s.modifiedStart-=c;const T=[null];if(i>0&&this.ChangesOverlap(t[i-1],t[i],T)){t[i-1]=T[0],t.splice(i,1),i++;continue}}if(this._hasStrings)for(let i=1,s=t.length;i0&&C>c&&(c=C,u=d,T=_)}return c>0?[u,T]:null}_contiguousSequenceScore(t,i,s){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,i){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(i>0){const s=t+i;if(this._OriginalIsBoundary(s-1)||this._OriginalIsBoundary(s))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,i){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(i>0){const s=t+i;if(this._ModifiedIsBoundary(s-1)||this._ModifiedIsBoundary(s))return!0}return!1}_boundaryScore(t,i,s,r){const h=this._OriginalRegionIsBoundary(t,i)?1:0,o=this._ModifiedRegionIsBoundary(s,r)?1:0;return h+o}ConcatenateChanges(t,i){let s=[];if(t.length===0||i.length===0)return i.length>0?i:t;if(this.ChangesOverlap(t[t.length-1],i[0],s)){const r=new Array(t.length+i.length-1);return M1.Copy(t,0,r,0,t.length-1),r[t.length-1]=s[0],M1.Copy(i,1,r,t.length,i.length-1),r}else{const r=new Array(t.length+i.length);return M1.Copy(t,0,r,0,t.length),M1.Copy(i,0,r,t.length,i.length),r}}ChangesOverlap(t,i,s){if(D1.Assert(t.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),D1.Assert(t.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=i.originalStart||t.modifiedStart+t.modifiedLength>=i.modifiedStart){const r=t.originalStart;let h=t.originalLength;const o=t.modifiedStart;let a=t.modifiedLength;return t.originalStart+t.originalLength>=i.originalStart&&(h=i.originalStart+i.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=i.modifiedStart&&(a=i.modifiedStart+i.modifiedLength-t.modifiedStart),s[0]=new pe(r,h,o,a),!0}else return s[0]=null,!1}ClipDiagonalBound(t,i,s,r){if(t>=0&&t=Ra&&n<=_a||n>=Wa&&n<=Aa}function Ys(n,t,i,s){let r="",h=0,o=-1,a=0,c=0;for(let u=0;u<=n.length;++u){if(u2){const T=r.lastIndexOf(i);T===-1?(r="",h=0):(r=r.slice(0,T),h=r.length-1-r.lastIndexOf(i)),o=u,a=0;continue}else if(r.length!==0){r="",h=0,o=u,a=0;continue}}t&&(r+=r.length>0?`${i}..`:"..",h=2)}else r.length>0?r+=`${i}${n.slice(o+1,u)}`:r=n.slice(o+1,u),h=u-o-1;o=u,a=0}else c===Me&&a!==-1?++a:a=-1}return r}function Z2(n,t){if(t===null||typeof t!="object")throw new X2("pathObject","Object",t);const i=t.dir||t.root,s=t.base||`${t.name||""}${t.ext||""}`;return i?i===t.root?`${i}${s}`:`${i}${n}${s}`:s}const Mt={resolve(...n){let t="",i="",s=!1;for(let r=n.length-1;r>=-1;r--){let h;if(r>=0){if(h=n[r],lt(h,"path"),h.length===0)continue}else t.length===0?h=bn():(h=da[`=${t}`]||bn(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===wt)&&(h=`${t}\\`));const o=h.length;let a=0,c="",u=!1;const T=h.charCodeAt(0);if(o===1)V(T)&&(a=1,u=!0);else if(V(T))if(u=!0,V(h.charCodeAt(1))){let d=2,_=d;for(;d2&&V(h.charCodeAt(2))&&(u=!0,a=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(s){if(t.length>0)break}else if(i=`${h.slice(a)}\\${i}`,s=u,u&&t.length>0)break}return i=Ys(i,!s,"\\",V),s?`${t}\\${i}`:`${t}${i}`||"."},normalize(n){lt(n,"path");const t=n.length;if(t===0)return".";let i=0,s,r=!1;const h=n.charCodeAt(0);if(t===1)return Hn(h)?"\\":n;if(V(h))if(r=!0,V(n.charCodeAt(1))){let a=2,c=a;for(;a2&&V(n.charCodeAt(2))&&(r=!0,i=3));let o=i0&&V(n.charCodeAt(t-1))&&(o+="\\"),s===void 0?r?`\\${o}`:o:r?`${s}\\${o}`:`${s}${o}`},isAbsolute(n){lt(n,"path");const t=n.length;if(t===0)return!1;const i=n.charCodeAt(0);return V(i)||t>2&&Ue(i)&&n.charCodeAt(1)===ye&&V(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let t,i;for(let h=0;h0&&(t===void 0?t=i=o:t+=`\\${o}`)}if(t===void 0)return".";let s=!0,r=0;if(typeof i=="string"&&V(i.charCodeAt(0))){++r;const h=i.length;h>1&&V(i.charCodeAt(1))&&(++r,h>2&&(V(i.charCodeAt(2))?++r:s=!1))}if(s){for(;r=2&&(t=`\\${t.slice(r)}`)}return Mt.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t)return"";const i=Mt.resolve(n),s=Mt.resolve(t);if(i===s||(n=i.toLowerCase(),t=s.toLowerCase(),n===t))return"";let r=0;for(;rr&&n.charCodeAt(h-1)===wt;)h--;const o=h-r;let a=0;for(;aa&&t.charCodeAt(c-1)===wt;)c--;const u=c-a,T=oT){if(t.charCodeAt(a+_)===wt)return s.slice(a+_+1);if(_===2)return s.slice(a+_)}o>T&&(n.charCodeAt(r+_)===wt?d=_:_===2&&(d=3)),d===-1&&(d=0)}let C="";for(_=r+d+1;_<=h;++_)(_===h||n.charCodeAt(_)===wt)&&(C+=C.length===0?"..":"\\..");return a+=d,C.length>0?`${C}${s.slice(a,c)}`:(s.charCodeAt(a)===wt&&++a,s.slice(a,c))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";const t=Mt.resolve(n);if(t.length<=2)return n;if(t.charCodeAt(0)===wt){if(t.charCodeAt(1)===wt){const i=t.charCodeAt(2);if(i!==Ka&&i!==Me)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Ue(t.charCodeAt(0))&&t.charCodeAt(1)===ye&&t.charCodeAt(2)===wt)return`\\\\?\\${t}`;return n},dirname(n){lt(n,"path");const t=n.length;if(t===0)return".";let i=-1,s=0;const r=n.charCodeAt(0);if(t===1)return V(r)?n:".";if(V(r)){if(i=s=1,V(n.charCodeAt(1))){let a=2,c=a;for(;a2&&V(n.charCodeAt(2))?3:2,s=i);let h=-1,o=!0;for(let a=t-1;a>=s;--a)if(V(n.charCodeAt(a))){if(!o){h=a;break}}else o=!1;if(h===-1){if(i===-1)return".";h=i}return n.slice(0,h)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let i=0,s=-1,r=!0,h;if(n.length>=2&&Ue(n.charCodeAt(0))&&n.charCodeAt(1)===ye&&(i=2),t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=i;--h){const c=n.charCodeAt(h);if(V(c)){if(!r){i=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(s=h):(o=-1,s=a))}return i===s?s=a:s===-1&&(s=n.length),n.slice(i,s)}for(h=n.length-1;h>=i;--h)if(V(n.charCodeAt(h))){if(!r){i=h+1;break}}else s===-1&&(r=!1,s=h+1);return s===-1?"":n.slice(i,s)},extname(n){lt(n,"path");let t=0,i=-1,s=0,r=-1,h=!0,o=0;n.length>=2&&n.charCodeAt(1)===ye&&Ue(n.charCodeAt(0))&&(t=s=2);for(let a=n.length-1;a>=t;--a){const c=n.charCodeAt(a);if(V(c)){if(!h){s=a+1;break}continue}r===-1&&(h=!1,r=a+1),c===Me?i===-1?i=a:o!==1&&(o=1):i!==-1&&(o=-1)}return i===-1||r===-1||o===0||o===1&&i===r-1&&i===s+1?"":n.slice(i,r)},format:Z2.bind(null,"\\"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const i=n.length;let s=0,r=n.charCodeAt(0);if(i===1)return V(r)?(t.root=t.dir=n,t):(t.base=t.name=n,t);if(V(r)){if(s=1,V(n.charCodeAt(1))){let d=2,_=d;for(;d0&&(t.root=n.slice(0,s));let h=-1,o=s,a=-1,c=!0,u=n.length-1,T=0;for(;u>=s;--u){if(r=n.charCodeAt(u),V(r)){if(!c){o=u+1;break}continue}a===-1&&(c=!1,a=u+1),r===Me?h===-1?h=u:T!==1&&(T=1):h!==-1&&(T=-1)}return a!==-1&&(h===-1||T===0||T===1&&h===a-1&&h===o+1?t.base=t.name=n.slice(o,a):(t.name=n.slice(o,h),t.base=n.slice(o,a),t.ext=n.slice(h,a))),o>0&&o!==s?t.dir=n.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},bt={resolve(...n){let t="",i=!1;for(let s=n.length-1;s>=-1&&!i;s--){const r=s>=0?n[s]:bn();lt(r,"path"),r.length!==0&&(t=`${r}/${t}`,i=r.charCodeAt(0)===ft)}return t=Ys(t,!i,"/",Hn),i?`/${t}`:t.length>0?t:"."},normalize(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===ft,i=n.charCodeAt(n.length-1)===ft;return n=Ys(n,!t,"/",Hn),n.length===0?t?"/":i?"./":".":(i&&(n+="/"),t?`/${n}`:n)},isAbsolute(n){return lt(n,"path"),n.length>0&&n.charCodeAt(0)===ft},join(...n){if(n.length===0)return".";let t;for(let i=0;i0&&(t===void 0?t=s:t+=`/${s}`)}return t===void 0?".":bt.normalize(t)},relative(n,t){if(lt(n,"from"),lt(t,"to"),n===t||(n=bt.resolve(n),t=bt.resolve(t),n===t))return"";const i=1,s=n.length,r=s-i,h=1,o=t.length-h,a=ra){if(t.charCodeAt(h+u)===ft)return t.slice(h+u+1);if(u===0)return t.slice(h+u)}else r>a&&(n.charCodeAt(i+u)===ft?c=u:u===0&&(c=0));let T="";for(u=i+c+1;u<=s;++u)(u===s||n.charCodeAt(u)===ft)&&(T+=T.length===0?"..":"/..");return`${T}${t.slice(h+c)}`},toNamespacedPath(n){return n},dirname(n){if(lt(n,"path"),n.length===0)return".";const t=n.charCodeAt(0)===ft;let i=-1,s=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===ft){if(!s){i=r;break}}else s=!1;return i===-1?t?"/":".":t&&i===1?"//":n.slice(0,i)},basename(n,t){t!==void 0&<(t,"ext"),lt(n,"path");let i=0,s=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=n.length){if(t===n)return"";let o=t.length-1,a=-1;for(h=n.length-1;h>=0;--h){const c=n.charCodeAt(h);if(c===ft){if(!r){i=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(s=h):(o=-1,s=a))}return i===s?s=a:s===-1&&(s=n.length),n.slice(i,s)}for(h=n.length-1;h>=0;--h)if(n.charCodeAt(h)===ft){if(!r){i=h+1;break}}else s===-1&&(r=!1,s=h+1);return s===-1?"":n.slice(i,s)},extname(n){lt(n,"path");let t=-1,i=0,s=-1,r=!0,h=0;for(let o=n.length-1;o>=0;--o){const a=n.charCodeAt(o);if(a===ft){if(!r){i=o+1;break}continue}s===-1&&(r=!1,s=o+1),a===Me?t===-1?t=o:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||s===-1||h===0||h===1&&t===s-1&&t===i+1?"":n.slice(t,s)},format:Z2.bind(null,"/"),parse(n){lt(n,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;const i=n.charCodeAt(0)===ft;let s;i?(t.root="/",s=1):s=0;let r=-1,h=0,o=-1,a=!0,c=n.length-1,u=0;for(;c>=s;--c){const T=n.charCodeAt(c);if(T===ft){if(!a){h=c+1;break}continue}o===-1&&(a=!1,o=c+1),T===Me?r===-1?r=c:u!==1&&(u=1):r!==-1&&(u=-1)}if(o!==-1){const T=h===0&&i?1:h;r===-1||u===0||u===1&&r===o-1&&r===h+1?t.base=t.name=n.slice(T,o):(t.name=n.slice(T,r),t.base=n.slice(T,o),t.ext=n.slice(r,o))}return h>0?t.dir=n.slice(0,h-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};bt.win32=Mt.win32=Mt,bt.posix=Mt.posix=bt,n1==="win32"?Mt.normalize:bt.normalize,n1==="win32"?Mt.resolve:bt.resolve,n1==="win32"?Mt.relative:bt.relative,n1==="win32"?Mt.dirname:bt.dirname,n1==="win32"?Mt.basename:bt.basename,n1==="win32"?Mt.extname:bt.extname,n1==="win32"?Mt.sep:bt.sep;const fa=/^\w[\w\d+.-]*$/,Ca=/^\//,ma=/^\/\//;function z2(n,t){if(!n.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!fa.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!Ca.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(ma.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function ga(n,t){return!n&&!t?"file":n}function Na(n,t){switch(n){case"https":case"http":case"file":t?t[0]!==te&&(t=te+t):t=te;break}return t}const tt="",te="/",La=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class r1{constructor(t,i,s,r,h,o=!1){typeof t=="object"?(this.scheme=t.scheme||tt,this.authority=t.authority||tt,this.path=t.path||tt,this.query=t.query||tt,this.fragment=t.fragment||tt):(this.scheme=ga(t,o),this.authority=i||tt,this.path=Na(this.scheme,s||tt),this.query=r||tt,this.fragment=h||tt,z2(this,o))}static isUri(t){return t instanceof r1?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return Fn(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:s,path:r,query:h,fragment:o}=t;return i===void 0?i=this.scheme:i===null&&(i=tt),s===void 0?s=this.authority:s===null&&(s=tt),r===void 0?r=this.path:r===null&&(r=tt),h===void 0?h=this.query:h===null&&(h=tt),o===void 0?o=this.fragment:o===null&&(o=tt),i===this.scheme&&s===this.authority&&r===this.path&&h===this.query&&o===this.fragment?this:new U1(i,s,r,h,o)}static parse(t,i=!1){const s=La.exec(t);return s?new U1(s[2]||tt,Ss(s[4]||tt),Ss(s[5]||tt),Ss(s[7]||tt),Ss(s[9]||tt),i):new U1(tt,tt,tt,tt,tt)}static file(t){let i=tt;if(ai&&(t=t.replace(/\\/g,te)),t[0]===te&&t[1]===te){const s=t.indexOf(te,2);s===-1?(i=t.substring(2),t=te):(i=t.substring(2,s),t=t.substring(s)||te)}return new U1("file",i,t,tt,tt)}static from(t){const i=new U1(t.scheme,t.authority,t.path,t.query,t.fragment);return z2(i,!0),i}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let s;return ai&&t.scheme==="file"?s=r1.file(Mt.join(Fn(t,!0),...i)).path:s=bt.join(t.path,...i),t.with({path:s})}toString(t=!1){return Bn(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof r1)return t;{const i=new U1(t);return i._formatted=t.external,i._fsPath=t._sep===P2?t.fsPath:null,i}}else return t}}const P2=ai?1:void 0;class U1 extends r1{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Fn(this,!1)),this._fsPath}toString(t=!1){return t?Bn(this,!0):(this._formatted||(this._formatted=Bn(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=P2),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const $2={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function j2(n,t){let i,s=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)s!==-1&&(i+=encodeURIComponent(n.substring(s,r)),s=-1),i!==void 0&&(i+=n.charAt(r));else{i===void 0&&(i=n.substr(0,r));const o=$2[h];o!==void 0?(s!==-1&&(i+=encodeURIComponent(n.substring(s,r)),s=-1),i+=o):s===-1&&(s=r)}}return s!==-1&&(i+=encodeURIComponent(n.substring(s))),i!==void 0?i:n}function Ia(n){let t;for(let i=0;i1&&n.scheme==="file"?i=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?t?i=n.path.substr(1):i=n.path[1].toLowerCase()+n.path.substr(2):i=n.path,ai&&(i=i.replace(/\//g,"\\")),i}function Bn(n,t){const i=t?Ia:j2;let s="",{scheme:r,authority:h,path:o,query:a,fragment:c}=n;if(r&&(s+=r,s+=":"),(h||r==="file")&&(s+=te,s+=te),h){let u=h.indexOf("@");if(u!==-1){const T=h.substr(0,u);h=h.substr(u+1),u=T.indexOf(":"),u===-1?s+=i(T,!1):(s+=i(T.substr(0,u),!1),s+=":",s+=i(T.substr(u+1),!1)),s+="@"}h=h.toLowerCase(),u=h.indexOf(":"),u===-1?s+=i(h,!1):(s+=i(h.substr(0,u),!1),s+=h.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}s+=i(o,!0)}return a&&(s+="?",s+=i(a,!1)),c&&(s+="#",s+=t?c:j2(c,!1)),s}function J2(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+J2(n.substr(3)):n}}const q2=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Ss(n){return n.match(q2)?n.replace(q2,t=>J2(t)):n}class Ht{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new Ht(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return Ht.equals(this,t)}static equals(t,i){return!t&&!i?!0:!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return Ht.isBefore(this,t)}static isBefore(t,i){return t.lineNumbers||t===s&&i>r?(this.startLineNumber=s,this.startColumn=r,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=s,this.endColumn=r)}isEmpty(){return nt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return nt.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return nt.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return nt.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return nt.plusRange(this,t)}static plusRange(t,i){let s,r,h,o;return i.startLineNumbert.endLineNumber?(h=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(h=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(h=t.endLineNumber,o=t.endColumn),new nt(s,r,h,o)}intersectRanges(t){return nt.intersectRanges(this,t)}static intersectRanges(t,i){let s=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,o=t.endColumn,a=i.startLineNumber,c=i.startColumn,u=i.endLineNumber,T=i.endColumn;return su?(h=u,o=T):h===u&&(o=Math.min(o,T)),s>h||s===h&&r>o?null:new nt(s,r,h,o)}equalsRange(t){return nt.equalsRange(this,t)}static equalsRange(t,i){return!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return nt.getEndPosition(this)}static getEndPosition(t){return new Ht(t.endLineNumber,t.endColumn)}getStartPosition(){return nt.getStartPosition(this)}static getStartPosition(t){return new Ht(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new nt(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new nt(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return nt.collapseToStart(this)}static collapseToStart(t){return new nt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,i=t){return new nt(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new nt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}}const xa=3;function th(n,t,i,s){return new De(n,t,i).ComputeDiff(s)}class eh{constructor(t){const i=[],s=[];for(let r=0,h=t.length;r0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&h()){const C=s.createCharSequence(t,i.originalStart,i.originalStart+i.originalLength-1),I=r.createCharSequence(t,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);let O=th(C,I,h,!0).changes;a&&(O=pa(O)),_=[];for(let p=0,w=O.length;p1&&O>1;){const p=_.charCodeAt(I-2),w=C.charCodeAt(O-2);if(p!==w)break;I--,O--}(I>1||O>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,I,o+1,1,O)}{let I=kn(_,1),O=kn(C,1);const p=_.length+1,w=C.length+1;for(;I!0;const t=Date.now();return()=>Date.now()-t255?255:n|0}function v1(n){return n<0?0:n>4294967295?4294967295:n|0}class Ma{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,i){t=v1(t);const s=this.values,r=this.prefixSum,h=i.length;return h===0?!1:(this.values=new Uint32Array(s.length+h),this.values.set(s.subarray(0,t),0),this.values.set(s.subarray(t),t+h),this.values.set(i,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,i){return t=v1(t),i=v1(i),this.values[t]===i?!1:(this.values[t]=i,t-1=s.length)return!1;let h=s.length-t;return i>=h&&(i=h),i===0?!1:(this.values=new Uint32Array(s.length-i),this.values.set(s.subarray(0,t),0),this.values.set(s.subarray(t+i),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=v1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let i=this.prefixSumValidIndex[0]+1;i===0&&(this.prefixSum[0]=this.values[0],i++),t>=this.values.length&&(t=this.values.length-1);for(let s=i;s<=t;s++)this.prefixSum[s]=this.prefixSum[s-1]+this.values[s];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let i=0,s=this.values.length-1,r=0,h=0,o=0;for(;i<=s;)if(r=i+(s-i)/2|0,h=this.prefixSum[r],o=h-this.values[r],t=h)i=r+1;else break;return new ya(r,t-o)}}class ya{constructor(t,i){this.index=t,this.remainder=i,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=i}}class Ua{constructor(t,i,s,r){this._uri=t,this._lines=i,this._eol=s,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const i=t.changes;for(const s of i)this._acceptDeleteRange(s.range),this._acceptInsertText(new Ht(s.range.startLineNumber,s.range.startColumn),s.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,i=this._lines.length,s=new Uint32Array(i);for(let r=0;r/?";function wa(n=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const i of va)n.indexOf(i)>=0||(t+="\\"+i);return t+="\\s]+)",new RegExp(t,"g")}const ba=wa();function Ha(n){let t=ba;if(n&&n instanceof RegExp)if(n.global)t=n;else{let i="g";n.ignoreCase&&(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),t=new RegExp(n.source,i)}return t.lastIndex=0,t}const Fa={maxLen:1e3,windowSize:15,timeBudget:150};function nh(n,t,i,s,r=Fa){if(i.length>r.maxLen){let u=n-r.maxLen/2;return u<0?u=0:s+=u,i=i.substring(u,n+r.maxLen/2),nh(n,t,i,s,r)}const h=Date.now(),o=n-1-s;let a=-1,c=null;for(let u=1;!(Date.now()-h>=r.timeBudget);u++){const T=o-r.windowSize*u;t.lastIndex=Math.max(0,T);const d=Ba(t,i,o,a);if(!d&&c||(c=d,T<=0))break;a=T}if(c){let u={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return t.lastIndex=0,u}return null}function Ba(n,t,i,s){let r;for(;r=n.exec(t);){const h=r.index||0;if(h<=i&&n.lastIndex>=i)return r;if(s>0&&h>s)return null}return null}class Gn{constructor(t){let i=sh(t);this._defaultValue=i,this._asciiMap=Gn._createAsciiMap(i),this._map=new Map}static _createAsciiMap(t){let i=new Uint8Array(256);for(let s=0;s<256;s++)i[s]=t;return i}set(t,i){let s=sh(i);t>=0&&t<256?this._asciiMap[t]=s:this._map.set(t,s)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class Va{constructor(t,i,s){const r=new Uint8Array(t*i);for(let h=0,o=t*i;hi&&(i=c),a>s&&(s=a),u>s&&(s=u)}i++,s++;let r=new Va(s,i,0);for(let h=0,o=t.length;h=this._maxCharCode?0:this._states.get(t,i)}}let Yn=null;function Ga(){return Yn===null&&(Yn=new ka([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Yn}let li=null;function Ya(){if(li===null){li=new Gn(0);const n=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;ir);if(r>0){const a=i.charCodeAt(r-1),c=i.charCodeAt(o);(a===40&&c===41||a===91&&c===93||a===123&&c===125)&&o--}return{range:{startLineNumber:s,startColumn:r+1,endLineNumber:s,endColumn:o+2},url:i.substring(r,o+1)}}static computeLinks(t,i=Ga()){const s=Ya();let r=[];for(let h=1,o=t.getLineCount();h<=o;h++){const a=t.getLineContent(h),c=a.length;let u=0,T=0,d=0,_=1,C=!1,I=!1,O=!1,p=!1;for(;u=0?(r+=s?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}Sn.INSTANCE=new Sn;const rh=Object.freeze(function(n,t){const i=setTimeout(n.bind(t),0);return{dispose(){clearTimeout(i)}}});var Xs;(function(n){function t(i){return i===n.None||i===n.Cancelled||i instanceof Zs?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}n.isCancellationToken=t,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Un.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:rh})})(Xs||(Xs={}));class Zs{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?rh:(this._emitter||(this._emitter=new Oe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Qa{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Zs),this._token}cancel(){this._token?this._token instanceof Zs&&this._token.cancel():this._token=Xs.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Zs&&this._token.dispose():this._token=Xs.None}}class Qn{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const zs=new Qn,Xn=new Qn,Zn=new Qn,Xa=new Array(230),Za=Object.create(null),za=Object.create(null);(function(){const n="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[0,1,1,"Hyper",0,n,0,n,n,n],[0,1,2,"Super",0,n,0,n,n,n],[0,1,3,"Fn",0,n,0,n,n,n],[0,1,4,"FnLock",0,n,0,n,n,n],[0,1,5,"Suspend",0,n,0,n,n,n],[0,1,6,"Resume",0,n,0,n,n,n],[0,1,7,"Turbo",0,n,0,n,n,n],[0,1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[0,1,9,"WakeUp",0,n,0,n,n,n],[31,0,10,"KeyA",31,"A",65,"VK_A",n,n],[32,0,11,"KeyB",32,"B",66,"VK_B",n,n],[33,0,12,"KeyC",33,"C",67,"VK_C",n,n],[34,0,13,"KeyD",34,"D",68,"VK_D",n,n],[35,0,14,"KeyE",35,"E",69,"VK_E",n,n],[36,0,15,"KeyF",36,"F",70,"VK_F",n,n],[37,0,16,"KeyG",37,"G",71,"VK_G",n,n],[38,0,17,"KeyH",38,"H",72,"VK_H",n,n],[39,0,18,"KeyI",39,"I",73,"VK_I",n,n],[40,0,19,"KeyJ",40,"J",74,"VK_J",n,n],[41,0,20,"KeyK",41,"K",75,"VK_K",n,n],[42,0,21,"KeyL",42,"L",76,"VK_L",n,n],[43,0,22,"KeyM",43,"M",77,"VK_M",n,n],[44,0,23,"KeyN",44,"N",78,"VK_N",n,n],[45,0,24,"KeyO",45,"O",79,"VK_O",n,n],[46,0,25,"KeyP",46,"P",80,"VK_P",n,n],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[48,0,27,"KeyR",48,"R",82,"VK_R",n,n],[49,0,28,"KeyS",49,"S",83,"VK_S",n,n],[50,0,29,"KeyT",50,"T",84,"VK_T",n,n],[51,0,30,"KeyU",51,"U",85,"VK_U",n,n],[52,0,31,"KeyV",52,"V",86,"VK_V",n,n],[53,0,32,"KeyW",53,"W",87,"VK_W",n,n],[54,0,33,"KeyX",54,"X",88,"VK_X",n,n],[55,0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[22,0,36,"Digit1",22,"1",49,"VK_1",n,n],[23,0,37,"Digit2",23,"2",50,"VK_2",n,n],[24,0,38,"Digit3",24,"3",51,"VK_3",n,n],[25,0,39,"Digit4",25,"4",52,"VK_4",n,n],[26,0,40,"Digit5",26,"5",53,"VK_5",n,n],[27,0,41,"Digit6",27,"6",54,"VK_6",n,n],[28,0,42,"Digit7",28,"7",55,"VK_7",n,n],[29,0,43,"Digit8",29,"8",56,"VK_8",n,n],[30,0,44,"Digit9",30,"9",57,"VK_9",n,n],[21,0,45,"Digit0",21,"0",48,"VK_0",n,n],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[10,1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,n,0,n,n,n],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[59,1,64,"F1",59,"F1",112,"VK_F1",n,n],[60,1,65,"F2",60,"F2",113,"VK_F2",n,n],[61,1,66,"F3",61,"F3",114,"VK_F3",n,n],[62,1,67,"F4",62,"F4",115,"VK_F4",n,n],[63,1,68,"F5",63,"F5",116,"VK_F5",n,n],[64,1,69,"F6",64,"F6",117,"VK_F6",n,n],[65,1,70,"F7",65,"F7",118,"VK_F7",n,n],[66,1,71,"F8",66,"F8",119,"VK_F8",n,n],[67,1,72,"F9",67,"F9",120,"VK_F9",n,n],[68,1,73,"F10",68,"F10",121,"VK_F10",n,n],[69,1,74,"F11",69,"F11",122,"VK_F11",n,n],[70,1,75,"F12",70,"F12",123,"VK_F12",n,n],[0,1,76,"PrintScreen",0,n,0,n,n,n],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",n,n],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[14,1,80,"Home",14,"Home",36,"VK_HOME",n,n],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[13,1,83,"End",13,"End",35,"VK_END",n,n],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",n,n],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",n,n],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",n,n],[3,1,94,"NumpadEnter",3,n,0,n,n,n],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",n,n],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",n,n],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",n,n],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",n,n],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",n,n],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",n,n],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",n,n],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",n,n],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",n,n],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",n,n],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",n,n],[58,1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[0,1,108,"Power",0,n,0,n,n,n],[0,1,109,"NumpadEqual",0,n,0,n,n,n],[71,1,110,"F13",71,"F13",124,"VK_F13",n,n],[72,1,111,"F14",72,"F14",125,"VK_F14",n,n],[73,1,112,"F15",73,"F15",126,"VK_F15",n,n],[74,1,113,"F16",74,"F16",127,"VK_F16",n,n],[75,1,114,"F17",75,"F17",128,"VK_F17",n,n],[76,1,115,"F18",76,"F18",129,"VK_F18",n,n],[77,1,116,"F19",77,"F19",130,"VK_F19",n,n],[0,1,117,"F20",0,n,0,"VK_F20",n,n],[0,1,118,"F21",0,n,0,"VK_F21",n,n],[0,1,119,"F22",0,n,0,"VK_F22",n,n],[0,1,120,"F23",0,n,0,"VK_F23",n,n],[0,1,121,"F24",0,n,0,"VK_F24",n,n],[0,1,122,"Open",0,n,0,n,n,n],[0,1,123,"Help",0,n,0,n,n,n],[0,1,124,"Select",0,n,0,n,n,n],[0,1,125,"Again",0,n,0,n,n,n],[0,1,126,"Undo",0,n,0,n,n,n],[0,1,127,"Cut",0,n,0,n,n,n],[0,1,128,"Copy",0,n,0,n,n,n],[0,1,129,"Paste",0,n,0,n,n,n],[0,1,130,"Find",0,n,0,n,n,n],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",n,n],[0,1,136,"KanaMode",0,n,0,n,n,n],[0,0,137,"IntlYen",0,n,0,n,n,n],[0,1,138,"Convert",0,n,0,n,n,n],[0,1,139,"NonConvert",0,n,0,n,n,n],[0,1,140,"Lang1",0,n,0,n,n,n],[0,1,141,"Lang2",0,n,0,n,n,n],[0,1,142,"Lang3",0,n,0,n,n,n],[0,1,143,"Lang4",0,n,0,n,n,n],[0,1,144,"Lang5",0,n,0,n,n,n],[0,1,145,"Abort",0,n,0,n,n,n],[0,1,146,"Props",0,n,0,n,n,n],[0,1,147,"NumpadParenLeft",0,n,0,n,n,n],[0,1,148,"NumpadParenRight",0,n,0,n,n,n],[0,1,149,"NumpadBackspace",0,n,0,n,n,n],[0,1,150,"NumpadMemoryStore",0,n,0,n,n,n],[0,1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[0,1,152,"NumpadMemoryClear",0,n,0,n,n,n],[0,1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[0,1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[0,1,155,"NumpadClear",0,n,0,n,n,n],[0,1,156,"NumpadClearEntry",0,n,0,n,n,n],[5,1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[4,1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[6,1,0,n,6,"Alt",18,"VK_MENU",n,n],[57,1,0,n,57,"Meta",0,"VK_COMMAND",n,n],[5,1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[4,1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[6,1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[57,1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[5,1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[4,1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[6,1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[57,1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[0,1,165,"BrightnessUp",0,n,0,n,n,n],[0,1,166,"BrightnessDown",0,n,0,n,n,n],[0,1,167,"MediaPlay",0,n,0,n,n,n],[0,1,168,"MediaRecord",0,n,0,n,n,n],[0,1,169,"MediaFastForward",0,n,0,n,n,n],[0,1,170,"MediaRewind",0,n,0,n,n,n],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",n,n],[0,1,174,"Eject",0,n,0,n,n,n],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[0,1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[0,1,180,"SelectTask",0,n,0,n,n,n],[0,1,181,"LaunchScreenSaver",0,n,0,n,n,n],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[0,1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[0,1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[0,1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[0,1,189,"ZoomToggle",0,n,0,n,n,n],[0,1,190,"MailReply",0,n,0,n,n,n],[0,1,191,"MailForward",0,n,0,n,n,n],[0,1,192,"MailSend",0,n,0,n,n,n],[109,1,0,n,109,"KeyInComposition",229,n,n,n],[111,1,0,n,111,"ABNT_C2",194,"VK_ABNT_C2",n,n],[91,1,0,n,91,"OEM_8",223,"VK_OEM_8",n,n],[0,1,0,n,0,n,0,"VK_CLEAR",n,n],[0,1,0,n,0,n,0,"VK_KANA",n,n],[0,1,0,n,0,n,0,"VK_HANGUL",n,n],[0,1,0,n,0,n,0,"VK_JUNJA",n,n],[0,1,0,n,0,n,0,"VK_FINAL",n,n],[0,1,0,n,0,n,0,"VK_HANJA",n,n],[0,1,0,n,0,n,0,"VK_KANJI",n,n],[0,1,0,n,0,n,0,"VK_CONVERT",n,n],[0,1,0,n,0,n,0,"VK_NONCONVERT",n,n],[0,1,0,n,0,n,0,"VK_ACCEPT",n,n],[0,1,0,n,0,n,0,"VK_MODECHANGE",n,n],[0,1,0,n,0,n,0,"VK_SELECT",n,n],[0,1,0,n,0,n,0,"VK_PRINT",n,n],[0,1,0,n,0,n,0,"VK_EXECUTE",n,n],[0,1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[0,1,0,n,0,n,0,"VK_HELP",n,n],[0,1,0,n,0,n,0,"VK_APPS",n,n],[0,1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[0,1,0,n,0,n,0,"VK_PACKET",n,n],[0,1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[0,1,0,n,0,n,0,"VK_ATTN",n,n],[0,1,0,n,0,n,0,"VK_CRSEL",n,n],[0,1,0,n,0,n,0,"VK_EXSEL",n,n],[0,1,0,n,0,n,0,"VK_EREOF",n,n],[0,1,0,n,0,n,0,"VK_PLAY",n,n],[0,1,0,n,0,n,0,"VK_ZOOM",n,n],[0,1,0,n,0,n,0,"VK_NONAME",n,n],[0,1,0,n,0,n,0,"VK_PA1",n,n],[0,1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]];let i=[],s=[];for(const r of t){const[h,o,a,c,u,T,d,_,C,I]=r;if(s[a]||(s[a]=!0,Za[c]=a,za[c.toLowerCase()]=a),!i[u]){if(i[u]=!0,!T)throw new Error(`String representation missing for key code ${u} around scan code ${c}`);zs.define(u,T),Xn.define(u,C||T),Zn.define(u,I||C||T)}d&&(Xa[d]=u)}})();var hh;(function(n){function t(a){return zs.keyCodeToStr(a)}n.toString=t;function i(a){return zs.strToKeyCode(a)}n.fromString=i;function s(a){return Xn.keyCodeToStr(a)}n.toUserSettingsUS=s;function r(a){return Zn.keyCodeToStr(a)}n.toUserSettingsGeneral=r;function h(a){return Xn.strToKeyCode(a)||Zn.strToKeyCode(a)}n.fromUserSettings=h;function o(a){if(a>=93&&a<=108)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return zs.keyCodeToStr(a)}n.toElectronAccelerator=o})(hh||(hh={}));function Pa(n,t){const i=(t&65535)<<16>>>0;return(n|i)>>>0}class Vt extends nt{constructor(t,i,s,r){super(t,i,s,r),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=s,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Vt.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return this.getDirection()===0?new Vt(this.startLineNumber,this.startColumn,t,i):new Vt(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new Ht(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Ht(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return this.getDirection()===0?new Vt(t,i,this.endLineNumber,this.endColumn):new Vt(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Vt(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return i===0?new Vt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Vt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Vt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let s=0,r=t.length;s0){const o=t.charCodeAt(s);if(n.get(o)!==0)return!0}return!1}function qa(n,t,i,s,r){if(s+r===i)return!0;const h=t.charCodeAt(s+r);if(n.get(h)!==0||h===13||h===10)return!0;if(r>0){const o=t.charCodeAt(s+r-1);if(n.get(o)!==0)return!0}return!1}function tc(n,t,i,s,r){return Ja(n,t,i,s,r)&&qa(n,t,i,s,r)}class ec{constructor(t,i){this._wordSeparators=t,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const i=t.length;let s;do{if(this._prevMatchStartIndex+this._prevMatchLength===i||(s=this._searchRegex.exec(t),!s))return null;const r=s.index,h=s[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){sa(t,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||tc(this._wordSeparators,t,i,r,h))return s}while(s);return null}}class ic{static computeUnicodeHighlights(t,i,s){const r=s?s.startLineNumber:1,h=s?s.endLineNumber:t.getLineCount(),o=new kh(i),a=o.getCandidateCodePoints();let c;a==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${sc(Array.from(a))}`,"g");const u=new ec(null,c),T=[];let d=!1,_,C=0,I=0,O=0;t:for(let p=r,w=h;p<=w;p++){const f=t.getLineContent(p),K=f.length;u.reset(0);do if(_=u.next(f),_){let L=_.index,x=_.index+_[0].length;if(L>0){const D=f.charCodeAt(L-1);wn(D)&&L--}if(x+1=D){d=!0;break t}T.push(new nt(p,L+1,p,x+1))}}while(_)}return{ranges:T,hasMore:d,ambiguousCharacterCount:C,invisibleCharacterCount:I,nonBasicAsciiCharacterCount:O}}static computeUnicodeHighlightReason(t,i){switch(new kh(i).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=qt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function sc(n,t){return`[${jo(n.map(s=>String.fromCodePoint(s)).join(""))}]`}class kh{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const i of s1.codePoints)t.add(i);if(this.options.ambiguousCharacters)for(const i of qt.getPrimaryConfusableCodePoints())t.add(i);for(const i of this.allowedCodePoints)t.delete(i);return t}shouldHighlightNonBasicASCII(t){const i=t.codePointAt(0);return this.allowedCodePoints.has(i)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` -`||t===" ")&&s1.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&qt.isAmbiguous(i)?3:0}}var h1=function(n,t,i,s){function r(h){return h instanceof i?h:new i(function(o){o(h)})}return new(i||(i=Promise))(function(h,o){function a(T){try{u(s.next(T))}catch(d){o(d)}}function c(T){try{u(s.throw(T))}catch(d){o(d)}}function u(T){T.done?h(T.value):r(T.value).then(a,c)}u((s=s.apply(n,t||[])).next())})};class nc extends Ua{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,i){let s=nh(t.column,Ha(i),this._lines[t.lineNumber-1],0);return s?new nt(t.lineNumber,s.startColumn,t.lineNumber,s.endColumn):null}words(t){const i=this._lines,s=this._wordenize.bind(this);let r=0,h="",o=0,a=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)i=this._lines.length,s=this._lines[i-1].length+1,r=!0;else{let h=this._lines[i-1].length+1;s<1?(s=1,r=!0):s>h&&(s=h,r=!0)}return r?{lineNumber:i,column:s}:t}}class w1{constructor(t,i){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(i=>t.push(this._models[i])),t}acceptNewModel(t){this._models[t.url]=new nc(r1.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,i){if(!this._models[t])return;this._models[t].onEvents(i)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,i,s){return h1(this,void 0,void 0,function*(){const r=this._getModel(t);return r?ic.computeUnicodeHighlights(r,i,s):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,i,s,r){return h1(this,void 0,void 0,function*(){const h=this._getModel(t),o=this._getModel(i);if(!h||!o)return null;const a=h.getLinesContent(),c=o.getLinesContent(),T=new Da(a,c,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:s,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),d=T.changes.length>0?!1:this._modelsAreIdentical(h,o);return{quitEarly:T.quitEarly,identical:d,changes:T.changes}})}_modelsAreIdentical(t,i){const s=t.getLineCount(),r=i.getLineCount();if(s!==r)return!1;for(let h=1;h<=s;h++){const o=t.getLineContent(h),a=i.getLineContent(h);if(o!==a)return!1}return!0}computeMoreMinimalEdits(t,i){return h1(this,void 0,void 0,function*(){const s=this._getModel(t);if(!s)return i;const r=[];let h;i=i.slice(0).sort((o,a)=>{if(o.range&&a.range)return nt.compareRangesUsingStarts(o.range,a.range);let c=o.range?0:1,u=a.range?0:1;return c-u});for(let{range:o,text:a,eol:c}of i){if(typeof c=="number"&&(h=c),nt.isEmpty(o)&&!a)continue;const u=s.getValueInRange(o);if(a=a.replace(/\r\n|\n|\r/g,s.eol),u===a)continue;if(Math.max(a.length,u.length)>w1._diffLimit){r.push({range:o,text:a});continue}const T=Ta(u,a,!1),d=s.offsetAt(nt.lift(o).getStartPosition());for(const _ of T){const C=s.positionAt(d+_.originalStart),I=s.positionAt(d+_.originalStart+_.originalLength),O={text:a.substr(_.modifiedStart,_.modifiedLength),range:{startLineNumber:C.lineNumber,startColumn:C.column,endLineNumber:I.lineNumber,endColumn:I.column}};s.getValueInRange(O.range)!==O.text&&r.push(O)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return h1(this,void 0,void 0,function*(){let i=this._getModel(t);return i?Sa(i):null})}textualSuggest(t,i,s,r){return h1(this,void 0,void 0,function*(){const h=new ks(!0),o=new RegExp(s,r),a=new Set;t:for(let c of t){const u=this._getModel(c);if(u){for(let T of u.words(o))if(!(T===i||!isNaN(Number(T)))&&(a.add(T),a.size>w1._suggestionsLimit))break t}}return{words:Array.from(a),duration:h.elapsed()}})}computeWordRanges(t,i,s,r){return h1(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const o=new RegExp(s,r),a=Object.create(null);for(let c=i.startLineNumber;cthis._host.fhr(a,c)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,i),Promise.resolve(vn(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,i){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,i))}catch(s){return Promise.reject(s)}}}w1._diffLimit=1e5,w1._suggestionsLimit=1e4,typeof importScripts=="function"&&(mt.monaco=ja());let Jn=!1;function Gh(n){if(Jn)return;Jn=!0;const t=new la(i=>{self.postMessage(i)},i=>new w1(i,n));self.onmessage=i=>{t.onmessage(i.data)}}self.onmessage=n=>{Jn||Gh(null)};var rc=Object.defineProperty,A=(n,t)=>rc(n,"name",{value:t,configurable:!0}),ve=(G1=class{constructor(t){E(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},A(G1,"Transition"),E(G1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),G1),qn=(yi=class extends ve{constructor(t){super(t)}},A(yi,"AbstractPredicateTransition"),yi),y={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},Yh=(Ui=class extends ve{constructor(i,s,r,h){super(i);E(this,"ruleIndex");E(this,"actionIndex");E(this,"isCtxDependent");this.ruleIndex=s,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return y.ACTION}matches(i,s,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},A(Ui,"ActionTransition"),Ui),z=(Ne=class{constructor(t){E(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Ne.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},A(Ne,"PredictionContext"),E(Ne,"EMPTY_RETURN_STATE",2147483647),E(Ne,"EMPTY"),E(Ne,"trace_atn_sim",!1),Ne),Sh=3432918353,Qh=461845907,Ps=15,$s=13,Xh=5,Zh=3864292196,oe=(A1=class{constructor(){E(this,"count");E(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const i=new A1;return i.update(t),i.finish()}static hashString(t=0,i){let s=3735928559^t,r=1103547991^t;for(const h of i){const o=h.charCodeAt(0);s=Math.imul(s^o,2654435761),r=Math.imul(r^o,1597334677)}return s=Math.imul(s^s>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(s^s>>>13,3266489909),Math.imul(4294967296,2097151&r)+(s>>>0)}update(...t){for(const i of t)if(i!=null)if(Array.isArray(i))this.update(...i);else{let s=0;switch(typeof i){case"undefined":case"function":continue;case"number":{s=i;break}case"boolean":{s=i?1237:4327;break}case"string":{s=A1.hashString(this.hash,i);break}default:{i.updateHashCode(this);continue}}this.count=this.count+1,s=Math.imul(s,Sh),s=s<>>32-Ps,s=Math.imul(s,Qh);let r=this.hash^s;r=r<<$s|r>>>32-$s,this.hash=Math.imul(r,Xh)+Zh}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,Sh),t=t<>>32-Ps,t=Math.imul(t,Qh);let i=this.hash^t;i=i<<$s|i>>>32-$s,this.hash=Math.imul(i,Xh)+Zh}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},A(A1,"HashCode"),A1),hc=A(n=>typeof n.equals=="function","isComparable"),oc=A(n=>n===null?"null":n,"valueToString"),o1=A(n=>Array.isArray(n)?"["+n.map(oc).join(", ")+"]":"null","arrayToString"),Ti=A((n,t)=>{if(n===t)return!0;if(n.length!==t.length)return!1;for(let i=0;i(n=n.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(n=n.replace(/ /g,"·")),n),"escapeWhitespace"),zh=A((n,t)=>n?n.equals(t):n===t,"standardEqualsFunction"),cc=Math.round(Math.random()*Math.pow(2,32)),uc=A(n=>{let t,i;const s=n.length&3,r=n.length-s;let h=cc;const o=3432918353,a=461845907;let c=0;for(;c>>16)*o&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*a+(((i>>>16)*a&65535)<<16)&4294967295,h^=i,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(i=0,s){case 3:i^=(n.charCodeAt(c+2)&255)<<16;case 2:i^=(n.charCodeAt(c+1)&255)<<8;case 1:i^=n.charCodeAt(c)&255,i=(i&65535)*o+(((i>>>16)*o&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(i&65535)*a+(((i>>>16)*a&65535)<<16)&4294967295,h^=i}return h^=n.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),Ph=A(n=>n?typeof n=="string"?uc(n):n.hashCode():-1,"standardHashCodeFunction"),we=(Y1=class extends z{constructor(i,s){const r=new oe;r.update(i,s);const h=r.finish();super(h);E(this,"parents",[]);E(this,"returnStates",[]);return this.parents=i,this.returnStates=s,this}isEmpty(){return this.returnStates[0]===z.EMPTY_RETURN_STATE}getParent(i){return this.parents[i]}getReturnState(i){return this.returnStates[i]}equals(i){return this===i?!0:!(i instanceof Y1)||this.hashCode()!==i.hashCode()?!1:Ti(this.returnStates,i.returnStates)&&Ti(this.parents,i.parents)}toString(){if(this.isEmpty())return"[]";{let i="[";for(let s=0;s0&&(i=i+", "),this.returnStates[s]===z.EMPTY_RETURN_STATE){i=i+"$";continue}i=i+this.returnStates[s],this.parents[s]!==null?i=i+" "+this.parents[s]:i=i+"null"}return i+"]"}}get length(){return this.returnStates.length}},A(Y1,"ArrayPredictionContext"),Y1),js;(n=>{n.EOF=-1,n.UNKNOWN_SOURCE_NAME=""})(js||(js={}));var m;(n=>{n.INVALID_TYPE=0,n.EPSILON=-2,n.MIN_USER_TOKEN_TYPE=1,n.EOF=js.EOF,n.DEFAULT_CHANNEL=0,n.HIDDEN_CHANNEL=1,n.MIN_USER_CHANNEL_VALUE=2})(m||(m={}));var lc=A(n=>{const t=n;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),Qt=(vi=class{constructor(t,i){E(this,"data");E(this,"hashFunction");E(this,"equalsFunction");this.data={},this.hashFunction=t??Ph,this.equalsFunction=i??zh}add(t){const i=this.hashFunction(t);if(i in this.data){const s=this.data[i];for(const r of s)if(this.equalsFunction(t,r))return r;return s.push(t),t}else return this.data[i]=[t],t}has(t){return this.get(t)!=null}get(t){const i=this.hashFunction(t);if(i in this.data){const s=this.data[i];for(const r of s)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return o1(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,i)=>t+i,0)}},A(vi,"HashSet"),vi),et=(se=class{static andContext(t,i){if(t===null||t===se.NONE)return i;if(i===null||i===se.NONE)return t;const s=new Ec(t,i);return s.opnds.length===1?s.opnds[0]:s}static orContext(t,i){if(t===null)return i;if(i===null)return t;if(t===se.NONE||i===se.NONE)return se.NONE;const s=new Tc(t,i);return s.opnds.length===1?s.opnds[0]:s}static filterPrecedencePredicates(t){const i=[];return t.values().forEach(s=>{s instanceof se.PrecedencePredicate&&i.push(s)}),i}hashCode(){const t=new oe;return this.updateHashCode(t),t.finish()}evalPrecedence(t,i){return this}},A(se,"SemanticContext"),se),Ec=(Xe=class extends et{constructor(i,s){super();E(this,"opnds");const r=new Qt;i instanceof Xe?i.opnds.forEach(o=>{r.add(o)}):r.add(i),s instanceof Xe?s.opnds.forEach(o=>{r.add(o)}):r.add(s);const h=et.filterPrecedencePredicates(r);if(h.length>0){let o=null;h.forEach(a=>{(o===null||a.precedence{o=o===null?a:et.andContext(o,a)}),o}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("&&")}},A(Xe,"AND"),Xe),Tc=(Ze=class extends et{constructor(i,s){super();E(this,"opnds");const r=new Qt;i instanceof Ze?i.opnds.forEach(o=>{r.add(o)}):r.add(i),s instanceof Ze?s.opnds.forEach(o=>{r.add(o)}):r.add(s);const h=et.filterPrecedencePredicates(r);if(h.length>0){const o=h.sort((c,u)=>c.compareTo(u)),a=o[o.length-1];r.add(a)}this.opnds=Array.from(r.values())}equals(i){return this===i?!0:i instanceof Ze?Ti(this.opnds,i.opnds):!1}updateHashCode(i){i.update(this.opnds),i.updateWithHashCode(3383313031)}evaluate(i,s){for(const r of this.opnds)if(r.evaluate(i,s))return!0;return!1}evalPrecedence(i,s){let r=!1;const h=[];for(const a of this.opnds){const c=a.evalPrecedence(i,s);if(r||(r=c!==a),c===et.NONE)return et.NONE;c!==null&&h.push(c)}if(!r)return this;if(h.length===0)return null;let o=null;return h.forEach(a=>{o=o===null?a:et.orContext(o,a)}),o}toString(){const i=this.opnds.map(s=>s.toString());return(i.length>3?i.slice(3):i).join("||")}},A(Ze,"OR"),Ze);(n=>{const s=class s extends n{constructor(a,c,u){super();E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=a??-1,this.predIndex=c??-1,this.isCtxDependent=u??!1}evaluate(a,c){const u=this.isCtxDependent?c:null;return a.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(a){a.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(a){return this===a?!0:a instanceof s?this.ruleIndex===a.ruleIndex&&this.predIndex===a.predIndex&&this.isCtxDependent===a.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};A(s,"Predicate");let t=s;n.Predicate=t;const r=class r extends n{constructor(a){super();E(this,"precedence");this.precedence=a??0}evaluate(a,c){return a.precpred(c,this.precedence)}evalPrecedence(a,c){return a.precpred(c,this.precedence)?n.NONE:null}compareTo(a){return this.precedence-a.precedence}updateHashCode(a){a.update(this.precedence)}equals(a){return this===a?!0:a instanceof r?this.precedence===a.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};A(r,"PrecedencePredicate");let i=r;n.PrecedencePredicate=i,n.NONE=new t})(et||(et={}));var dc=A(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),Rc=A(n=>n===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:n.state??null,alt:n.alt??null,context:n.context??null,semanticContext:n.semanticContext??null,reachesIntoOuterContext:n.reachesIntoOuterContext??0,precedenceFilterSuppressed:n.precedenceFilterSuppressed??!1},"checkConfig"),Wt=(K1=class{constructor(t,i){E(this,"state");E(this,"alt");E(this,"context");E(this,"reachesIntoOuterContext");E(this,"precedenceFilterSuppressed",!1);E(this,"semanticContext");this.checkContext(t,i);const s=dc(t),r=Rc(i);this.state=s.state??r.state,this.alt=s.alt??r.alt??0,this.context=s.context??r.context,this.semanticContext=s.semanticContext??r.semanticContext??et.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new oe;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof K1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new oe;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof K1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,i=!0){let s="";return i&&(s=","+this.alt),"("+this.state+s+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==et.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,i){(t.context===null||t.context===void 0)&&(i===null||i.context===null||i.context===void 0)&&(this.context=null)}},A(K1,"ATNConfig"),K1),P=(ut=class{constructor(t,i){E(this,"start");E(this,"stop");this.start=t,this.stop=i}static of(t,i){return t!==i||t<0||t>ut.INTERVAL_POOL_MAX_VALUE?new ut(t,i):(ut.cache[t]===null&&(ut.cache[t]=new ut(t,t)),ut.cache[t])}equals(t){return t instanceof ut?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return ut.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return ut.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let i=null;return t.startsBeforeNonDisjoint(this)?i=ut.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(i=ut.of(this.start,t.start-1)),i}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{a.syntaxError(t,i,s,r,h,o)})}reportAmbiguity(t,i,s,r,h,o,a){this.delegates.forEach(c=>{c.reportAmbiguity(t,i,s,r,h,o,a)})}reportAttemptingFullContext(t,i,s,r,h,o){this.delegates.forEach(a=>{a.reportAttemptingFullContext(t,i,s,r,h,o)})}reportContextSensitivity(t,i,s,r,h,o){this.delegates.forEach(a=>{a.reportContextSensitivity(t,i,s,r,h,o)})}},A(bi,"ProxyErrorListener"),bi),$h=(jt=class{constructor(){E(this,"interpreter");j(this,We,[Wc.INSTANCE]);j(this,Hi,-1)}checkVersion(t){const i="4.13.1";i!==t&&console.error("ANTLR runtime and generated code versions disagree: "+i+"!="+t)}addErrorListener(t){g(this,We).push(t)}removeErrorListeners(){Z(this,We,[])}removeErrorListener(t){for(let i=0;ii.set(s,r)),jt.ruleIndexMapCache.set(t,i)),i}getTokenType(t){const i=this.getTokenTypeMap().get(t);return i||m.INVALID_TYPE}getErrorHeader(t){var r,h;const i=(r=t.offendingToken)==null?void 0:r.line,s=(h=t.offendingToken)==null?void 0:h.column;return"line "+i+":"+s}getErrorListenerDispatch(){return new _c(g(this,We))}sempred(t,i,s){return!0}precpred(t,i){return!0}action(t,i,s){}get atn(){return this.interpreter.atn}get state(){return g(this,Hi)}set state(t){Z(this,Hi,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},We=new WeakMap,Hi=new WeakMap,A(jt,"Recognizer"),E(jt,"EOF",-1),E(jt,"tokenTypeMapCache",new Map),E(jt,"ruleIndexMapCache",new Map),jt),Ac=(ze=class{constructor(t,i,s,r,h){E(this,"source");E(this,"tokenIndex",-1);E(this,"start",0);E(this,"stop",0);E(this,"type",0);E(this,"line",0);E(this,"column",-1);E(this,"channel",m.DEFAULT_CHANNEL);j(this,_e,null);this.source=t,this.type=i,this.channel=s??m.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new ze(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Z(t,_e,g(this,_e)),t}cloneWithType(t){const i=new ze(this.source,t,this.channel,this.start,this.stop);return i.tokenIndex=this.tokenIndex,i.line=this.line,i.column=this.column,t===m.EOF&&Z(i,_e,""),i}toString(t){let i="";this.channel>0&&(i=",channel="+this.channel);let s=this.text;s?(s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t")):s="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+s+"',<"+r+">"+i+","+this.line+":"+this.column+"]"}get text(){if(g(this,_e)!==null)return g(this,_e);const t=this.inputStream;if(t===null)return null;const i=t.size;return this.start"}set text(t){Z(this,_e,t)}setText(t){Z(this,_e,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},_e=new WeakMap,A(ze,"CommonToken"),E(ze,"EMPTY_SOURCE",[null,null]),ze),Kc=(C1=class{constructor(t){E(this,"copyText",!1);this.copyText=t??!1}create(t,i,s,r,h,o,a,c){const u=new Ac(t,i,r,h,o);return u.line=a,u.column=c,s!==null?u.text=s:this.copyText&&t[1]!==null&&(u.text=t[1].getText(h,o)),u}},A(C1,"CommonTokenFactory"),E(C1,"DEFAULT",new C1),C1),W=(S1=class extends Error{constructor(i){super(i.message);E(this,"ctx");E(this,"offendingToken",null);E(this,"offendingState",-1);E(this,"recognizer");E(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,S1),this.message=i.message,this.recognizer=i.recognizer,this.input=i.input,this.ctx=i.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},A(S1,"RecognitionException"),S1),qs=(Fi=class extends W{constructor(i,s,r,h){super({message:"",recognizer:i,input:s,ctx:null});E(this,"startIndex");E(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let i="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(i=>"{"+i.key+":"+i.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,i)=>t+i,0)}},A(Bi,"HashMap"),Bi),Ke=(Vi=class{constructor(t){E(this,"parent",null);E(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return P.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new P(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,i;return((t=this.symbol)==null?void 0:t.type)===m.EOF?"":((i=this.symbol)==null?void 0:i.text)??""}toStringTree(){return this.toString()}},A(Vi,"TerminalNode"),Vi),di=(ki=class extends Ke{accept(t){return t.visitErrorNode(this)}},A(ki,"ErrorNode"),ki),be=(Yt=class{static toStringTree(t,i,s){i=i??null,s=s??null,s!==null&&(i=s.ruleNames);let r=Yt.getNodeText(t,i);r=ac(r,!1);const h=t.getChildCount();if(h===0)return r;let o="("+r+" ";h>0&&(r=Yt.toStringTree(t.getChild(0),i),o=o.concat(r));for(let a=1;at.getText()).join("")}getAltNumber(){return M.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?be.toStringTree(this,null,t[0]):be.toStringTree(this,t[0],t[1])}toString(t,i){t=t??null,i=i??null;let s=this,r="[";for(;s!==null&&s!==i;){if(t===null)s.isEmpty()||(r+=s.invokingState);else{const h=s.ruleIndex,o=h>=0&&h{super(...gl);E(this,"start",null);E(this,"stop",null);E(this,"exception",null)};i?t(i,s):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(i){super.parent=i}copyFrom(i){this.parent=i.parent,this.invokingState=i.invokingState,this.children=null,this.start=i.start,this.stop=i.stop,i.children&&(this.children=[],i.children.forEach(s=>{s instanceof di&&(this.children.push(s),s.parent=this)},this))}enterRule(i){}exitRule(i){}addAnyChild(i){return this.children==null&&(this.children=[]),this.children.push(i),i}addChild(i){return this.addAnyChild(i)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(i){const s=new Ke(i);return this.addAnyChild(s),s.parent=this,s}addErrorNode(i){return i.parent=this,this.addAnyChild(i)}getChild(i,s){if(this.children===null||i<0||i>=this.children.length)return null;if(s){for(const r of this.children)if(r instanceof s){if(i===0)return r;i-=1}return null}else return this.children[i]}getToken(i,s){var r;if(this.children===null||s<0||s>=this.children.length)return null;for(const h of this.children)if(h instanceof Ke&&((r=h.symbol)==null?void 0:r.type)===i){if(s===0)return h;s-=1}return null}getTokens(i){var s;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof Ke&&((s=h.symbol)==null?void 0:s.type)===i&&r.push(h);return r}}getRuleContext(i,s){return this.getChild(i,s)}getRuleContexts(i){if(this.children===null)return[];{const s=[];for(const r of this.children)r instanceof i&&s.push(r);return s}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?P.INVALID_INTERVAL:new P(this.start.tokenIndex,this.stop.tokenIndex)}},A(g1,"ParserRuleContext"),E(g1,"EMPTY",new g1),g1),er=A((n,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return z.EMPTY;const i=er(n,t.parent),r=n.states[t.invokingState].transitions[0];return Xt.create(i,r.followState.stateNumber)},"predictionContextFromRuleContext"),Jh=A((n,t,i)=>{if(n.isEmpty())return n;let s=i.get(n)||null;if(s!==null)return s;if(s=t.get(n),s!==null)return i.set(n,s),s;let r=!1,h=[];for(let a=0;a{if(n===t)return n;if(n instanceof Xt&&t instanceof Xt)return mc(n,t,i,s);if(i){if(n instanceof jh)return n;if(t instanceof jh)return t}return n instanceof Xt&&(n=new we([n.parent],[n.returnState])),t instanceof Xt&&(t=new we([t.parent],[t.returnState])),fc(n,t,i,s)},"merge"),fc=A((n,t,i,s)=>{if(s!==null){let T=s.get(n,t);if(T!==null||(T=s.get(t,n),T!==null))return T}let r=0,h=0,o=0,a=new Array(n.returnStates.length+t.returnStates.length).fill(0),c=new Array(n.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new a1;for(const i of n)i&&(t.containsKey(i)||t.set(i,i));for(let i=0;i{if(s!==null){let h=s.get(n,t);if(h!==null||(h=s.get(t,n),h!==null))return h}const r=gc(n,t,i);if(r!==null)return s!==null&&s.set(n,t,r),r;if(n.returnState===t.returnState){const h=ir(n.parent,t.parent,i,s);if(h===n.parent)return n;if(h===t.parent)return t;const o=Xt.create(h,n.returnState);return s!==null&&s.set(n,t,o),o}else{let h=null;if((n===t||n.parent!==null&&n.parent===t.parent)&&(h=n.parent),h!==null){const u=[n.returnState,t.returnState];n.returnState>t.returnState&&(u[0]=t.returnState,u[1]=n.returnState);const T=[h,h],d=new we(T,u);return s!==null&&s.set(n,t,d),d}const o=[n.returnState,t.returnState];let a=[n.parent,t.parent];n.returnState>t.returnState&&(o[0]=t.returnState,o[1]=n.returnState,a=[t.parent,n.parent]);const c=new we(a,o);return s!==null&&s.set(n,t,c),c}},"mergeSingletons"),gc=A((n,t,i)=>{if(i){if(n===z.EMPTY||t===z.EMPTY)return z.EMPTY}else{if(n===z.EMPTY&&t===z.EMPTY)return z.EMPTY;if(n===z.EMPTY){const s=[t.returnState,z.EMPTY_RETURN_STATE],r=[t.parent,null];return new we(r,s)}else if(t===z.EMPTY){const s=[n.returnState,z.EMPTY_RETURN_STATE],r=[n.parent,null];return new we(r,s)}}return null},"mergeRoot"),ae=(Si=class{constructor(t){E(this,"data");t?this.data=new Uint32Array(t.map(i=>i>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let i=0,s=this.data[i];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;i>>5]&=~(1<>>5;return i>=this.data.length?!1:(this.data[i]&1<t)return i}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(i<=this.data.length)return;const s=new Uint32Array(i);s.set(this.data),s.fill(0,this.data.length),this.data=s}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},A(Si,"BitSet"),Si),Nc=A(n=>n.hashCodeForConfigSet(),"hashATNConfig"),Lc=A((n,t)=>n===t?!0:n===null||t===null?!1:n.equalsForConfigSet(t),"equalATNConfigs"),ee=(Q1=class{constructor(t){E(this,"configs",[]);E(this,"hasSemanticContext",!1);E(this,"dipsIntoOuterContext",!1);E(this,"fullCtx");E(this,"uniqueAlt",0);E(this,"configLookup",new Qt(Nc,Lc));E(this,"conflictingAlts",null);E(this,"readOnly",!1);E(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,i){if(i===void 0&&(i=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==et.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const s=this.configLookup.add(t);if(s===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=ir(s.context,t.context,r,i);return s.reachesIntoOuterContext=Math.max(s.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(s.precedenceFilterSuppressed=!0),s.context=h,!0}getStates(){const t=new Qt;for(const i of this.configs)t.add(i.state);return t}getPredicates(){const t=[];for(const i of this.configs)i.semanticContext!==et.NONE&&t.push(i.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const i of this.configs)i.context=t.getCachedContext(i.context)}addAll(t){for(const i of t)this.add(i,null);return!1}equals(t){return this===t||t instanceof Q1&&Ti(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new oe;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new Qt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new Qt)}toString(){return o1(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==M.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new ae;for(let i of this.configs)t.set(i.alt);return t}},A(Q1,"ATNConfigSet"),Q1),fe=(X1=class{constructor(t){E(this,"stateNumber",-1);E(this,"configs",new ee);E(this,"edges",null);E(this,"isAcceptState",!1);E(this,"prediction",-1);E(this,"lexerActionExecutor",null);E(this,"requiresFullContext",!1);E(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new oe;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof X1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=o1(this.predicates):t+=this.prediction),t.toString()}},A(X1,"DFAState"),X1);(n=>{const i=class i{constructor(r,h){E(this,"pred");E(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};A(i,"PredPrediction");let t=i;n.PredPrediction=t})(fe||(fe={}));var ce=(Z1=class{constructor(t,i){E(this,"atn");E(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=i,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const i=new a1;return Jh(t,this.sharedContextCache,i)}getSharedContextCache(){return this.sharedContextCache}},A(Z1,"ATNSimulator"),E(Z1,"ERROR",new fe(2147483647)),Z1),qh=(Qi=class extends ee{constructor(){super(),this.configLookup=new Qt}},A(Qi,"OrderedATNConfigSet"),Qi),ue=($e=class{constructor(){E(this,"atn");E(this,"stateNumber");E(this,"ruleIndex");E(this,"epsilonOnlyTransitions");E(this,"nextTokenWithinRule");E(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return $e.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof $e?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,i){i===void 0&&(i=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),i===-1?this.transitions.push(t):this.transitions.splice(i,1,t)}},A($e,"ATNState"),E($e,"INVALID_STATE_NUMBER",-1),$e),Y={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},yt=(Xi=class extends ue{get stateType(){return Y.RULE_STOP}},A(Xi,"RuleStopState"),Xi),c1=(Zi=class extends ue{constructor(){super(...arguments);E(this,"decision",-1);E(this,"nonGreedy",!1)}},A(Zi,"DecisionState"),Zi),le=(z1=class extends Wt{constructor(i,s){super(i,s);E(this,"lexerActionExecutor");E(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=i.lexerActionExecutor??(s==null?void 0:s.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=s!==null?this.checkNonGreedyDecision(s,this.state):!1,this}updateHashCode(i){i.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(i){return this===i||i instanceof z1&&this.passedThroughNonGreedyDecision===i.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(i.lexerActionExecutor):!i.lexerActionExecutor)&&super.equals(i)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(i){return this.equals(i)}checkNonGreedyDecision(i,s){return i.passedThroughNonGreedyDecision||s instanceof c1&&s.nonGreedy}},A(z1,"LexerATNConfig"),z1),Ee=(zi=class{constructor(t){E(this,"actionType");E(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new oe;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},A(zi,"LexerAction"),zi),sr=(P1=class extends Ee{constructor(i,s){super(s.actionType);E(this,"offset");E(this,"action");this.offset=i,this.action=s,this.isPositionDependent=!0}execute(i){this.action.execute(i)}updateHashCode(i){i.update(this.actionType,this.offset,this.action)}equals(i){return this===i?!0:i instanceof P1?this.offset===i.offset&&this.action===i.action:!1}},A(P1,"LexerIndexedCustomAction"),P1),Ic=(Le=class extends Ee{constructor(i){super(-1);E(this,"lexerActions");E(this,"cachedHashCode");return this.lexerActions=i===null?[]:i,this.cachedHashCode=oe.hashStuff(i),this}static append(i,s){if(i===null)return new Le([s]);const r=i.lexerActions.concat([s]);return new Le(r)}fixOffsetBeforeMatch(i){let s=null;for(let r=0;r",t+=this.getStateString(o),t+=` -`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const i=t.stateNumber,s=(t.isAcceptState?":":"")+"s"+i+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${s}=>${t.predicates.toString()}`:`${s}=>${t.prediction}`:`${s}`}},A(Pi,"DFASerializer"),Pi),Te=(Ot=class{constructor(t,i,s){E(this,"maxTokenType");E(this,"literalNames");E(this,"symbolicNames");E(this,"displayNames");this.literalNames=t??Ot.EMPTY_NAMES,this.symbolicNames=i??Ot.EMPTY_NAMES,this.displayNames=s??Ot.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return Ot.EMPTY_VOCABULARY;const i=[...t],s=[...t];for(let r=0;r0){const o=h.charAt(0);if(o==="'"){s[r]=null;continue}else if(o.toUpperCase()===o){i[r]=null;continue}}i[r]=null,s[r]=null}}return new Ot(i,s,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(i)+"'")}},A($i,"LexerDFASerializer"),$i),He=(ji=class extends c1{constructor(){super();E(this,"loopBackState");E(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return Y.STAR_LOOP_ENTRY}},A(ji,"StarLoopEntryState"),ji),u1=(Ji=class{constructor(t,i){E(this,"states",new Qt);E(this,"s0",null);E(this,"decision");E(this,"atnStartState");E(this,"precedenceDfa");E(this,"isPrecedenceDfa",()=>this.precedenceDfa);E(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});E(this,"setPrecedenceStartState",(t,i)=>{var s;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((s=this.s0)!=null&&s.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=i}});this.atnStartState=t,this.decision=i??0;let s=!1;if(t instanceof He&&t.precedenceRuleDecision){s=!0;const r=new fe;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=s}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((i,s)=>i.stateNumber-s.stateNumber),t}toString(t){return t?this.s0===null?"":new t3(this,t).toString()??"":this.toString(Te.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new xc(this).toString()??""}},A(Ji,"DFA"),Ji),l1=(J=class extends ce{constructor(i,s,r,h){super(s,h);E(this,"decisionToDFA");E(this,"recog",null);E(this,"startIndex",-1);E(this,"line",1);E(this,"column",0);E(this,"mode",Zt.DEFAULT_MODE);E(this,"prevAccept",new J.SimState);this.decisionToDFA=r,this.recog=i}copyState(i){this.column=i.column,this.line=i.line,this.mode=i.mode,this.startIndex=i.startIndex}match(i,s){this.mode=s;const r=i.mark();try{this.startIndex=i.index,this.prevAccept.reset();const h=this.decisionToDFA[s];return h.s0===null?this.matchATN(i):this.execATN(i,h.s0)}finally{i.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Zt.DEFAULT_MODE}getDFA(i){return this.decisionToDFA[i]}getText(i){return i.getText(this.startIndex,i.index-1)}consume(i){i.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,i.consume()}getTokenName(i){return i===-1?"EOF":"'"+String.fromCharCode(i)+"'"}clearDFA(){for(let i=0;iJ.MAX_DFA_EDGE)return null;let r=i.edges[s-J.MIN_DFA_EDGE];return r===void 0&&(r=null),J.debug&&r!==null&&console.log("reuse state "+i.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(i,s,r){const h=new qh;return this.getReachableConfigSet(i,s.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(s,r,ce.ERROR),ce.ERROR):this.addDFAEdge(s,r,null,h)}failOrAccept(i,s,r,h){if(i.dfaState!==null){const o=i.dfaState.lexerActionExecutor;return this.accept(s,o,this.startIndex,i.index,i.line,i.column),i.dfaState.prediction}else{if(h===m.EOF&&s.index===this.startIndex)return m.EOF;throw new qs(this.recog,s,this.startIndex,r)}}getReachableConfigSet(i,s,r,h){let o=M.INVALID_ALT_NUMBER;for(const a of s.items){const c=a.alt===o;if(!(c&&a.passedThroughNonGreedyDecision)){J.debug&&console.log(`testing %s at %s -`,this.getTokenName(h),a.toString(this.recog,!0));for(const u of a.state.transitions){const T=this.getReachableTarget(u,h);if(T!==null){let d=a.lexerActionExecutor;d!==null&&(d=d.fixOffsetBeforeMatch(i.index-this.startIndex));const _=h===m.EOF,C=new le({state:T,lexerActionExecutor:d},a);this.closure(i,C,r,c,!0,_)&&(o=a.alt)}}}}}accept(i,s,r,h,o,a){J.debug&&console.log(`ACTION %s -`,s),i.seek(h),this.line=o,this.column=a,s!==null&&this.recog!==null&&s.execute(this.recog,i,r)}getReachableTarget(i,s){return i.matches(s,0,Zt.MAX_CHAR_VALUE)?i.target:null}computeStartState(i,s){const r=z.EMPTY,h=new qh;for(let o=0;oJ.MAX_DFA_EDGE||(J.debug&&console.log("EDGE "+i+" -> "+r+" upon "+s),i.edges===null&&(i.edges=new Array(J.MAX_DFA_EDGE-J.MIN_DFA_EDGE+1),i.edges.fill(null)),i.edges[s-J.MIN_DFA_EDGE]=r),r}addDFAState(i){const s=new fe(i);let r=null;for(const c of i.items)if(c.state instanceof yt){r=c;break}r!==null&&(s.isAcceptState=!0,s.lexerActionExecutor=r.lexerActionExecutor,s.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],o=h.states.get(s);if(o!==null)return o;const a=s;return a.stateNumber=h.states.length,i.setReadonly(!0),a.configs=i,h.states.add(a),a}},A(J,"LexerATNSimulator"),E(J,"MIN_DFA_EDGE",0),E(J,"MAX_DFA_EDGE",127),E(J,"debug",!1),E(J,"dfa_debug",!1),J);(n=>{const i=class i{constructor(){E(this,"index",-1);E(this,"line",0);E(this,"column",-1);E(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};A(i,"SimState");let t=i;n.SimState=t})(l1||(l1={}));var Zt=(Kt=class extends $h{constructor(i){super();E(this,"_input");E(this,"_token",null);E(this,"_tokenStartCharIndex",-1);E(this,"_tokenStartLine",0);E(this,"_tokenStartColumn",0);E(this,"_hitEOF",!1);E(this,"_channel",0);E(this,"_type",0);E(this,"_modeStack",[]);E(this,"_mode",Kt.DEFAULT_MODE);E(this,"_text",null);E(this,"_factory");this._input=i,this._factory=Kc.DEFAULT}reset(i=!0){i&&this._input.seek(0),this._token=null,this._type=m.INVALID_TYPE,this._channel=m.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Kt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const i=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=m.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let s=!1;for(;;){this._type=m.INVALID_TYPE;let r=Kt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof qs)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===m.EOF&&(this._hitEOF=!0),this._type===m.INVALID_TYPE&&(this._type=r),this._type===Kt.SKIP){s=!0;break}if(this._type!==Kt.MORE)break}if(!s)return this._token===null&&this.emit(),this._token}}finally{this._input.release(i)}}skip(){this._type=Kt.SKIP}more(){this._type=Kt.MORE}mode(i){this._mode=i}pushMode(i){l1.debug&&console.log("pushMode "+i),this._modeStack.push(this._mode),this.mode(i)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return l1.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(i){this._token=i}emit(){const i=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(i),i}emitEOF(){const i=this.column,s=this.line,r=this._factory.create([this,this._input],m.EOF,null,m.DEFAULT_CHANNEL,this._input.index,this._input.index-1,s,i);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const i=[];let s=this.nextToken();for(;s.type!==m.EOF;)i.push(s),s=this.nextToken();return i}notifyListeners(i){const s=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(s,r),o="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,i)}getErrorDisplay(i){return i}getErrorDisplayForChar(i){return i.charCodeAt(0)===m.EOF?"":i===` -`?"\\n":i===" "?"\\t":i==="\r"?"\\r":i}getCharErrorDisplay(i){return"'"+this.getErrorDisplayForChar(i)+"'"}recover(i){this._input.LA(1)!==m.EOF&&(i instanceof qs?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(i){this.reset(!1),this._input=i}set tokenFactory(i){this._factory=i}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(i){this._type=i}get line(){return this.interpreter.line}set line(i){this.interpreter.line=i}get column(){return this.interpreter.column}set column(i){this.interpreter.column=i}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(i){this._text=i}},A(Kt,"Lexer"),E(Kt,"DEFAULT_MODE",0),E(Kt,"MORE",-2),E(Kt,"SKIP",-3),E(Kt,"DEFAULT_TOKEN_CHANNEL",m.DEFAULT_CHANNEL),E(Kt,"HIDDEN",m.HIDDEN_CHANNEL),E(Kt,"MIN_CHAR_VALUE",0),E(Kt,"MAX_CHAR_VALUE",1114111),Kt),gt=(at=class{constructor(t){E(this,"intervals",[]);E(this,"readOnly",!1);t&&this.addSet(t)}static of(t,i){const s=new at;return s.addRange(t,i),s}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?m.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?m.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new P(t,t))}addRange(t,i){this.addInterval(new P(t,i))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let i=0;ithis.addInterval(i),this),this}complement(t,i){if(!t)return new at;const s=new at;if(t instanceof at){if(t.isNil)return new at;s.addSet(t)}else s.addInterval(new P(t,i??0));return s.subtract(this)}or(t){const i=new at;return i.addSet(this),t.forEach(s=>i.addSet(s)),i}and(t){if(t.isNil)return new at;const i=this.intervals,s=t.intervals;let r;const h=i.length,o=s.length;let a=0,c=0;for(;ah.stop){s++;continue}let a=null,c=null;if(o.start>h.start&&(a=new P(h.start,o.start-1)),o.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let i=0;for(const s of this.intervals){if(t.stop<=s.start)return;if(t.start>s.start&&t.stop=s.stop?(this.intervals.splice(i,1),i=i-1):t.start1&&(i+="{");let s=!1,r;t instanceof Te?r=t:Array.isArray(t)?r=Te.fromTokenNames(t):s=t??!1;for(let h=0;h":s?i+="'"+String.fromCodePoint(a)+"'":r?i+=this.elementName(r,a):i+=a;else if(s)i+="'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(c)+"'";else if(r)for(let u=a;u<=c;++u)u>a&&(i+=", "),i+=this.elementName(r,u);else i+=a+".."+c;h1&&(i+="}"),i}toArray(){const t=[];for(const i of this.intervals)for(let s=i.start;s<=i.stop;s++)t.push(s);return t}get length(){let t=0;if(this.intervals.length===1){const s=this.intervals[0];return s.stop-s.start+1}for(const s of this.intervals)t+=s.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,i){return i===m.EOF?"":i===m.EPSILON?"":t.getDisplayName(i)}},A(at,"IntervalSet"),E(at,"COMPLETE_CHAR_SET",at.of(Zt.MIN_CHAR_VALUE,Zt.MAX_CHAR_VALUE)),E(at,"EMPTY_SET",new at),at.COMPLETE_CHAR_SET.readOnly=!0,at.EMPTY_SET.readOnly=!0,at),tn=(qi=class extends ve{constructor(i,s,r,h){super(i);E(this,"ruleIndex");E(this,"precedence");E(this,"followState");this.ruleIndex=s,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return y.RULE}matches(i,s,r){return!1}},A(qi,"RuleTransition"),qi),nr=(t0=class extends ve{constructor(i,s){super(i);j(this,je,void 0);s!=null?Z(this,je,s):(Z(this,je,new gt),g(this,je).addOne(m.INVALID_TYPE))}get label(){return g(this,je)}get serializationType(){return y.SET}matches(i,s,r){return this.label.contains(i)}toString(){return g(this,je).toString()}},je=new WeakMap,A(t0,"SetTransition"),t0),rr=(e0=class extends nr{constructor(t,i){super(t,i)}get serializationType(){return y.NOT_SET}matches(t,i,s){return t>=i&&t<=s&&!super.matches(t,i,s)}toString(){return"~"+super.toString()}},A(e0,"NotSetTransition"),e0),e3=(i0=class extends ve{constructor(t){super(t)}get serializationType(){return y.WILDCARD}matches(t,i,s){return t>=i&&t<=s}toString(){return"."}},A(i0,"WildcardTransition"),i0),Oc=(Je=class{constructor(t){E(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const i=t.transitions.length,s=new Array(i);s.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const s=this.states[t];let r=this.nextTokens(s);if(!r.contains(m.EPSILON))return r;let h=i;const o=new gt;for(o.addSet(r),o.removeOne(m.EPSILON);h!==null&&h.invokingState>=0&&r.contains(m.EPSILON);){const c=this.states[h.invokingState].transitions[0];r=this.nextTokens(c.followState),o.addSet(r),o.removeOne(m.EPSILON),h=h.parent}return r.contains(m.EPSILON)&&o.addOne(m.EOF),o}nextTokens(t,i){return i===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new Oc(this).LOOK(t,null,i)}},A($1,"ATN"),E($1,"INVALID_ALT_NUMBER",0),$1),i3=(qe=class{constructor(t){E(this,"readOnly",!1);E(this,"verifyATN");E(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},A(qe,"ATNDeserializationOptions"),E(qe,"defaultOptions",new qe),qe.defaultOptions.readOnly=!0,qe),Ri={LEXER:0,PARSER:1},s3=(s0=class extends ue{get stateType(){return Y.BASIC}},A(s0,"BasicState"),s0),b1=(n0=class extends c1{constructor(){super();E(this,"endState");this.endState=null}},A(n0,"BlockStartState"),n0),hr=(r0=class extends ue{constructor(){super(...arguments);E(this,"startState",null)}get stateType(){return Y.BLOCK_END}},A(r0,"BlockEndState"),r0),E1=(h0=class extends ue{constructor(){super(...arguments);E(this,"loopBackState",null)}get stateType(){return Y.LOOP_END}},A(h0,"LoopEndState"),h0),n3=(o0=class extends ue{constructor(){super();E(this,"stopState");E(this,"isLeftRecursiveRule");E(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return Y.RULE_START}},A(o0,"RuleStartState"),o0),pc=(a0=class extends c1{get stateType(){return Y.TOKEN_START}},A(a0,"TokensStartState"),a0),r3=(c0=class extends c1{get stateType(){return Y.PLUS_LOOP_BACK}},A(c0,"PlusLoopbackState"),c0),or=(u0=class extends ue{get stateType(){return Y.STAR_LOOP_BACK}},A(u0,"StarLoopbackState"),u0),ar=(l0=class extends b1{constructor(){super(...arguments);E(this,"loopBackState")}get stateType(){return Y.PLUS_BLOCK_START}},A(l0,"PlusBlockStartState"),l0),cr=(E0=class extends b1{get stateType(){return Y.STAR_BLOCK_START}},A(E0,"StarBlockStartState"),E0),h3=(T0=class extends b1{get stateType(){return Y.BLOCK_START}},A(T0,"BasicBlockStartState"),T0),en=(R0=class extends ve{constructor(i,s){super(i);E(this,"labelValue");j(this,d0,void 0);this.labelValue=s,Z(this,d0,gt.of(s,s))}get label(){return g(this,d0)}matches(i,s,r){return this.labelValue===i}get serializationType(){return y.ATOM}toString(){return this.labelValue.toString()}},d0=new WeakMap,A(R0,"AtomTransition"),R0),o3=(_0=class extends ve{constructor(i,s,r){super(i);E(this,"start");E(this,"stop");j(this,W0,new gt);this.start=s,this.stop=r,g(this,W0).addRange(s,r)}get label(){return g(this,W0)}get serializationType(){return y.RANGE}matches(i,s,r){return i>=this.start&&i<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},W0=new WeakMap,A(_0,"RangeTransition"),_0),Wi=(K0=class extends ve{constructor(i,s=-1){super(i);j(this,A0,void 0);Z(this,A0,s)}get isEpsilon(){return!0}matches(i,s,r){return!1}get outermostPrecedenceReturn(){return g(this,A0)}get serializationType(){return y.EPSILON}toString(){return"epsilon"}},A0=new WeakMap,A(K0,"EpsilonTransition"),K0),a3=(f0=class extends qn{constructor(i,s,r,h){super(i);E(this,"ruleIndex");E(this,"predIndex");E(this,"isCtxDependent");this.ruleIndex=s,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(i,s,r){return!1}get serializationType(){return y.PREDICATE}getPredicate(){return new et.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},A(f0,"PredicateTransition"),f0),Dc=(C0=class extends qn{constructor(i,s){super(i);E(this,"precedence");this.precedence=s}get isEpsilon(){return!0}matches(i,s,r){return!1}getPredicate(){return new et.PrecedencePredicate(this.precedence)}get serializationType(){return y.PRECEDENCE}toString(){return this.precedence+" >= _p"}},A(C0,"PrecedencePredicateTransition"),C0),Nt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},Mc=(N1=class extends Ee{constructor(){super(Nt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},A(N1,"LexerSkipAction"),E(N1,"INSTANCE",new N1),N1),yc=(j1=class extends Ee{constructor(i){super(Nt.CHANNEL);E(this,"channel");this.channel=i}execute(i){i._channel=this.channel}updateHashCode(i){i.update(this.actionType,this.channel)}equals(i){return this===i?!0:i instanceof j1?this.channel===i.channel:!1}toString(){return"channel("+this.channel+")"}},A(j1,"LexerChannelAction"),j1),Uc=(J1=class extends Ee{constructor(i,s){super(Nt.CUSTOM);E(this,"ruleIndex");E(this,"actionIndex");this.ruleIndex=i,this.actionIndex=s,this.isPositionDependent=!0}execute(i){i.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(i){i.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(i){return this===i?!0:i instanceof J1?this.ruleIndex===i.ruleIndex&&this.actionIndex===i.actionIndex:!1}},A(J1,"LexerCustomAction"),J1),vc=(L1=class extends Ee{constructor(){super(Nt.MORE)}execute(t){t.more()}toString(){return"more"}},A(L1,"LexerMoreAction"),E(L1,"INSTANCE",new L1),L1),wc=(q1=class extends Ee{constructor(i){super(Nt.TYPE);E(this,"type");this.type=i}execute(i){i._type=this.type}updateHashCode(i){i.update(this.actionType,this.type)}equals(i){return this===i?!0:i instanceof q1?this.type===i.type:!1}toString(){return"type("+this.type+")"}},A(q1,"LexerTypeAction"),q1),bc=(ti=class extends Ee{constructor(i){super(Nt.PUSH_MODE);E(this,"mode");this.mode=i}execute(i){i.pushMode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof ti?this.mode===i.mode:!1}toString(){return"pushMode("+this.mode+")"}},A(ti,"LexerPushModeAction"),ti),Hc=(I1=class extends Ee{constructor(){super(Nt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},A(I1,"LexerPopModeAction"),E(I1,"INSTANCE",new I1),I1),Fc=(ei=class extends Ee{constructor(i){super(Nt.MODE);E(this,"mode");this.mode=i}execute(i){i.mode(this.mode)}updateHashCode(i){i.update(this.actionType,this.mode)}equals(i){return this===i?!0:i instanceof ei?this.mode===i.mode:!1}toString(){return"mode("+this.mode+")"}},A(ei,"LexerModeAction"),ei),ur=A((n,t)=>{const i=new Array(n-1);return i[n-1]=t,i.map(()=>t)},"initArray"),_i=(t1=class{constructor(t){E(this,"data",[]);E(this,"pos",0);E(this,"deserializationOptions");E(this,"stateFactories",null);E(this,"actionFactories",null);t||(t=i3.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const i=this.readATN();this.readStates(i),this.readRules(i),this.readModes(i);const s=[];return this.readSets(i,s),this.readEdges(i,s),this.readDecisions(i),this.readLexerActions(i),this.markPrecedenceDecisions(i),this.verifyATN(i),this.deserializationOptions.generateRuleBypassTransitions&&i.grammarType===Ri.PARSER&&(this.generateRuleBypassTransitions(i),this.verifyATN(i)),i}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==t1.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+t1.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),i=this.readInt();return new M(t,i)}readStates(t){let i,s;const r=[],h=[],o=this.readInt();for(let u=0;u0;)h.addTransition(u.transitions[T-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[i].addTransition(new Wi(h)),c&&o.addTransition(new Wi(c));const d=new s3;t.addState(d),d.addTransition(new en(o,t.ruleToTokenType[i])),h.addTransition(new Wi(d))}stateIsEndStateFor(t,i){if(t.ruleIndex!==i||!(t instanceof He))return null;const s=t.transitions[t.transitions.length-1].target;return s instanceof E1&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof yt?t:null}markPrecedenceDecisions(t){for(const i of t.states)if(i instanceof He&&t.ruleToStartState[i.ruleIndex].isPrecedenceRule){const s=i.transitions[i.transitions.length-1].target;s instanceof E1&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof yt&&(i.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const i of t.states)if(i!==null)if(this.checkCondition(i.epsilonOnlyTransitions||i.transitions.length<=1),i instanceof ar)this.checkCondition(i.loopBackState!==null);else if(i instanceof He)if(this.checkCondition(i.loopBackState!==null),this.checkCondition(i.transitions.length===2),i.transitions[0].target instanceof cr)this.checkCondition(i.transitions[1].target instanceof E1),this.checkCondition(!i.nonGreedy);else if(i.transitions[0].target instanceof E1)this.checkCondition(i.transitions[1].target instanceof cr),this.checkCondition(i.nonGreedy);else throw new Error("IllegalState");else i instanceof or?(this.checkCondition(i.transitions.length===1),this.checkCondition(i.transitions[0].target instanceof He)):i instanceof E1?this.checkCondition(i.loopBackState!==null):i instanceof n3?this.checkCondition(i.stopState!==null):i instanceof b1?this.checkCondition(i.endState!==null):i instanceof hr?this.checkCondition(i.startState!==null):i instanceof c1?this.checkCondition(i.transitions.length<=1||i.decision>=0):this.checkCondition(i.transitions.length<=1||i instanceof yt)}}checkCondition(t,i){if(!t)throw i==null&&(i="IllegalState"),i}readInt(){return this.data[this.pos++]}edgeFactory(t,i,s,r,h,o,a){const c=t.states[s];switch(i){case y.EPSILON:return new Wi(c);case y.RANGE:return o!==0?new o3(c,m.EOF,h):new o3(c,r,h);case y.RULE:return new tn(t.states[r],h,o,c);case y.PREDICATE:return new a3(c,r,h,o!==0);case y.PRECEDENCE:return new Dc(c,r);case y.ATOM:return o!==0?new en(c,m.EOF):new en(c,r);case y.ACTION:return new Yh(c,r,h,o!==0);case y.SET:return new nr(c,a[r]);case y.NOT_SET:return new rr(c,a[r]);case y.WILDCARD:return new e3(c);default:throw new Error("The specified transition type: "+i+" is not valid.")}}stateFactory(t,i){var s,r;if(this.stateFactories===null){const h=[];h[Y.INVALID_TYPE]=null,h[Y.BASIC]=()=>new s3,h[Y.RULE_START]=()=>new n3,h[Y.BLOCK_START]=()=>new h3,h[Y.PLUS_BLOCK_START]=()=>new ar,h[Y.STAR_BLOCK_START]=()=>new cr,h[Y.TOKEN_START]=()=>new pc,h[Y.RULE_STOP]=()=>new yt,h[Y.BLOCK_END]=()=>new hr,h[Y.STAR_LOOP_BACK]=()=>new or,h[Y.STAR_LOOP_ENTRY]=()=>new He,h[Y.PLUS_LOOP_BACK]=()=>new r3,h[Y.LOOP_END]=()=>new E1,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(s=this.stateFactories)[t])==null?void 0:r.call(s))??null;if(h!==null)return h.ruleIndex=i,h}return null}lexerActionFactory(t,i,s){if(this.actionFactories===null){const r=[];r[Nt.CHANNEL]=(h,o)=>new yc(h),r[Nt.CUSTOM]=(h,o)=>new Uc(h,o),r[Nt.MODE]=(h,o)=>new Fc(h),r[Nt.MORE]=(h,o)=>vc.INSTANCE,r[Nt.POP_MODE]=(h,o)=>Hc.INSTANCE,r[Nt.PUSH_MODE]=(h,o)=>new bc(h),r[Nt.SKIP]=(h,o)=>Mc.INSTANCE,r[Nt.TYPE]=(h,o)=>new wc(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](i,s)}},A(t1,"ATNDeserializer"),E(t1,"SERIALIZED_VERSION",4),t1),B=(m0=class extends W{constructor(i,s=null,r=null,h=null,o=null,a=null){a=a??i.context,h=h??i.getCurrentToken(),r=r??i.getCurrentToken(),s=s??i.inputStream;super({message:"",recognizer:i,input:s,ctx:a});E(this,"deadEndConfigs",null);E(this,"startToken");this.deadEndConfigs=o,this.startToken=r,this.offendingToken=h}},A(m0,"NoViableAltException"),m0),Bc=(g0=class{constructor(){E(this,"cacheMap");this.cacheMap=new a1}get(t,i){const s=this.cacheMap.get(t)??null;return s===null?null:s.get(i)??null}set(t,i,s){let r=this.cacheMap.get(t)??null;r===null&&(r=new a1,this.cacheMap.set(t,r)),r.set(i,s)}},A(g0,"DoubleDict"),g0),_t=(pt=class{static hasSLLConflictTerminatingPrediction(t,i){if(pt.allConfigsInRuleStopStates(i))return!0;if(t===pt.SLL&&i.hasSemanticContext){const r=new ee;for(let h of i.items)h=new Wt({semanticContext:et.NONE},h),r.add(h);i=r}const s=pt.getConflictingAltSubsets(i);return pt.hasConflictingAltSet(s)&&!pt.hasStateAssociatedWithOneAlt(i)}static hasConfigInRuleStopState(t){for(const i of t.items)if(i.state instanceof yt)return!0;return!1}static allConfigsInRuleStopStates(t){for(const i of t.items)if(!(i.state instanceof yt))return!1;return!0}static resolvesToJustOneViableAlt(t){return pt.getSingleViableAlt(t)}static allSubsetsConflict(t){return!pt.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const i of t)if(i.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const i of t)if(i.length>1)return!0;return!1}static allSubsetsEqual(t){let i=null;for(const s of t)if(i===null)i=s;else if(s!==i)return!1;return!0}static getUniqueAlt(t){const i=pt.getAlts(t);return i.length===1?i.nextSetBit(0):M.INVALID_ALT_NUMBER}static getAlts(t){const i=new ae;return t.forEach(s=>{i.or(s)}),i}static getConflictingAltSubsets(t){const i=new a1(s=>oe.hashStuff(s.state.stateNumber,s.context),(s,r)=>{var h;return s.state.stateNumber===r.state.stateNumber&&(((h=s.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(s=>{let r=i.get(s);r===null&&(r=new ae,i.set(s,r)),r.set(s.alt)}),i.getValues()}static getStateToAltMap(t){const i=new a1;return t.items.forEach(s=>{let r=i.get(s.state);r||(r=new ae,i.set(s.state,r)),r.set(s.alt)}),i}static hasStateAssociatedWithOneAlt(t){const i={};return t.items.forEach(s=>{const r=s.state.stateNumber;i[r]||(i[r]=0),i[r]++}),Object.values(i).some(s=>s===1)}static getSingleViableAlt(t){let i=null;for(const s of t){const r=s.nextSetBit(0);if(i===null)i=r;else if(i!==r)return M.INVALID_ALT_NUMBER}return i??0}},A(pt,"PredictionMode"),E(pt,"SLL",0),E(pt,"LL",1),E(pt,"LL_EXACT_AMBIG_DETECTION",2),pt),sn=(v=class extends ce{constructor(i,s,r,h){super(s,h);E(this,"predictionMode");E(this,"decisionToDFA");E(this,"parser");E(this,"mergeCache",null);E(this,"_input",null);E(this,"_startIndex",0);E(this,"_outerContext",null);E(this,"_dfa",null);this.parser=i,this.decisionToDFA=r}static getUniqueAlt(i){let s=M.INVALID_ALT_NUMBER;for(const r of i.items)if(s===M.INVALID_ALT_NUMBER)s=r.alt;else if(r.alt!==s)return M.INVALID_ALT_NUMBER;return s}reset(){}clearDFA(){for(let i=0;i"}getTokenName(i){if(i===m.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:Te.EMPTY_VOCABULARY).getDisplayName(i);return r===i.toString()?r:r+"<"+i+">"}getLookaheadName(i){return this.getTokenName(i.LA(1))}dumpDeadEndConfigs(i){console.log("dead end configs: ");const s=i.deadEndConfigs.items;for(const r of s){let h="no edges";if(r.state.transitions.length>0){const o=r.state.transitions[0];o instanceof en?h="Atom "+this.getTokenName(o.labelValue):o instanceof nr&&(h=(o instanceof rr?"~":"")+"Set "+o.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(i,s){const r=s.transitions.length,h=this.getConflictingAltsOrUniqueAlt(i.configs),o=this.getPredsForAmbigAlts(h,i.configs,r);o!==null?(i.predicates=this.getPredicatePredictions(h,o),i.prediction=M.INVALID_ALT_NUMBER):i.prediction=h.nextSetBit(0)}execATNWithFullContext(i,s,r,h,o,a){(v.debug||v.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const c=!0;let u=!1,T,d=r;h.seek(o);let _=h.LA(1),C=-1;for(;;){if(T=this.computeReachSet(d,_,c),T===null){const O=this.noViableAlt(h,a,d,o);h.seek(o);const p=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(d,a);if(p!==M.INVALID_ALT_NUMBER)return p;throw O}const I=_t.getConflictingAltSubsets(T);if(v.debug&&console.log("LL altSubSets="+I+", predict="+_t.getUniqueAlt(I)+", resolvesToJustOneViableAlt="+_t.resolvesToJustOneViableAlt(I)),T.uniqueAlt=v.getUniqueAlt(T),T.uniqueAlt!==M.INVALID_ALT_NUMBER){C=T.uniqueAlt;break}else if(this.predictionMode!==_t.LL_EXACT_AMBIG_DETECTION){if(C=_t.resolvesToJustOneViableAlt(I),C!==M.INVALID_ALT_NUMBER)break}else if(_t.allSubsetsConflict(I)&&_t.allSubsetsEqual(I)){u=!0,C=_t.getSingleViableAlt(I);break}d=T,_!==m.EOF&&(h.consume(),_=h.LA(1))}return T.uniqueAlt!==M.INVALID_ALT_NUMBER?(this.reportContextSensitivity(i,C,T,o,h.index),C):(this.reportAmbiguity(i,s,o,h.index,u,null,T),C)}computeReachSet(i,s,r){v.debug&&console.log("in computeReachSet, starting closure: "+i),this.mergeCache===null&&(this.mergeCache=new Bc);const h=new ee(r);let o=null;for(const c of i.items){if(v.debug&&console.log("testing "+this.getTokenName(s)+" at "+c),c.state instanceof yt){(r||s===m.EOF)&&(o===null&&(o=[]),o.push(c));continue}for(const u of c.state.transitions){const T=this.getReachableTarget(u,s);if(T!==null){const d=new Wt({state:T},c);h.add(d,this.mergeCache)}}}let a=null;if(o===null&&s!==m.EOF&&(h.items.length===1||v.getUniqueAlt(h)!==M.INVALID_ALT_NUMBER)&&(a=h),a===null){a=new ee(r);const c=new Qt,u=s===m.EOF;for(const T of h.items)this.closure(T,a,c,!1,r,u)}if(s===m.EOF&&(a=this.removeAllConfigsNotInRuleStopState(a,a===h)),o!==null&&(!r||!_t.hasConfigInRuleStopState(a)))for(const c of o)a.add(c,this.mergeCache);return a.items.length===0?null:a}removeAllConfigsNotInRuleStopState(i,s){if(_t.allConfigsInRuleStopStates(i))return i;const r=new ee(i.fullCtx);for(const h of i.items){if(h.state instanceof yt){r.add(h,this.mergeCache);continue}if(s&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(m.EPSILON)){const a=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new Wt({state:a},h),this.mergeCache)}}return r}computeStartState(i,s,r){const h=er(this.atn,s),o=new ee(r);for(let a=0;a0&&(a=this.getAltThatFinishedDecisionEntryRule(o),a!==M.INVALID_ALT_NUMBER)?a:M.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(i){const s=[];for(const r of i.items)(r.reachesIntoOuterContext>0||r.state instanceof yt&&r.context.hasEmptyPath())&&s.indexOf(r.alt)<0&&s.push(r.alt);return s.length===0?M.INVALID_ALT_NUMBER:Math.min(...s)}splitAccordingToSemanticValidity(i,s){const r=new ee(i.fullCtx),h=new ee(i.fullCtx);for(const o of i.items)o.semanticContext!==et.NONE?o.semanticContext.evaluate(this.parser,s)?r.add(o):h.add(o):r.add(o);return[r,h]}evalSemanticContext(i,s,r){const h=new ae;for(const o of i){if(o.pred===et.NONE){if(h.set(o.alt),!r)break;continue}const a=o.pred.evaluate(this.parser,s);if((v.debug||v.dfa_debug)&&console.log("eval pred "+o+"="+a),a&&((v.debug||v.dfa_debug)&&console.log("PREDICT "+o.alt),h.set(o.alt),!r))break}return h}closure(i,s,r,h,o,a){this.closureCheckingStopState(i,s,r,h,o,0,a)}closureCheckingStopState(i,s,r,h,o,a,c){if(i.state instanceof yt)if(i.context&&!i.context.isEmpty()){for(let u=0;u=0&&(O+=1)}this.closureCheckingStopState(I,s,r,C,o,O,c)}}}canDropLoopEntryEdgeInLeftRecursiveRule(i){const s=i.state;if(s.stateType!==Y.STAR_LOOP_ENTRY||!i.context||!s.precedenceRuleDecision||i.context.isEmpty()||i.context.hasEmptyPath())return!1;const r=i.context.length;for(let c=0;c=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+o1(this.parser.getRuleInvocationStack())));let a=null;if(r&&h)if(o&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(a=new Wt({state:s.target},i))}else{const c=et.andContext(i.semanticContext,s.getPredicate());a=new Wt({state:s.target,semanticContext:c},i)}else a=new Wt({state:s.target},i);return v.debug&&console.log("config from pred transition="+a),a}predTransition(i,s,r,h,o){v.debug&&(console.log("PRED (collectPredicates="+r+") "+s.ruleIndex+":"+s.predIndex+", ctx dependent="+s.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+o1(this.parser.getRuleInvocationStack())));let a=null;if(r&&(s.isCtxDependent&&h||!s.isCtxDependent))if(o&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=s.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(a=new Wt({state:s.target},i))}else{const c=et.andContext(i.semanticContext,s.getPredicate());a=new Wt({state:s.target,semanticContext:c},i)}else a=new Wt({state:s.target},i);return v.debug&&console.log("config from pred transition="+a),a}ruleTransition(i,s){v.debug&&console.log("CALL rule "+this.getRuleName(s.target.ruleIndex)+", ctx="+i.context);const r=s.followState,h=Xt.create(i.context,r.stateNumber);return new Wt({state:s.target,context:h},i)}getConflictingAlts(i){const s=_t.getConflictingAltSubsets(i);return _t.getAlts(s)}getConflictingAltsOrUniqueAlt(i){let s;return i.uniqueAlt!==M.INVALID_ALT_NUMBER?(s=new ae,s.set(i.uniqueAlt)):s=i.conflictingAlts,s}noViableAlt(i,s,r,h){return new B(this.parser,i,i.get(h),i.LT(1),r,s)}addDFAEdge(i,s,r,h){return v.debug&&console.log("EDGE "+s+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(i,h),s===null||r<-1||r>this.atn.maxTokenType||(s.edges===null&&(s.edges=new Array(this.atn.maxTokenType+2),s.edges.fill(null)),s.edges[r+1]=h,v.debug&&console.log(`DFA= -`+i.toString(this.parser!=null?this.parser.vocabulary:Te.EMPTY_VOCABULARY))),h)}addDFAState(i,s){if(s===ce.ERROR)return s;const r=i.states.get(s);return r!==null?r:(s.stateNumber=i.states.length,s.configs.readOnly||(s.configs.optimizeConfigs(this),s.configs.setReadonly(!0)),i.states.add(s),v.debug&&console.log("adding new DFA state: "+s),s)}reportAttemptingFullContext(i,s,r,h,o){if(v.debug||v.retry_debug){const a=new P(h,o+1);console.log("reportAttemptingFullContext decision="+i.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,i,h,o,s,r)}reportContextSensitivity(i,s,r,h,o){if(v.debug||v.retry_debug){const a=new P(h,o+1);console.log("reportContextSensitivity decision="+i.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,i,h,o,s,r)}reportAmbiguity(i,s,r,h,o,a,c){if(v.debug||v.retry_debug){const u=new P(r,h+1);console.log("reportAmbiguity "+a+":"+c+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,i,r,h,o,a,c)}},A(v,"ParserATNSimulator"),E(v,"debug"),E(v,"trace_atn_sim",!1),E(v,"debug_add",!1),E(v,"debug_closure",!1),E(v,"dfa_debug",!1),E(v,"retry_debug",!1),v),Ai=(N0=class{constructor(){E(this,"cache",new a1)}add(t){if(t===z.EMPTY)return z.EMPTY;const i=this.cache.get(t)||null;return i!==null?i:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},A(N0,"PredictionContextCache"),N0),Ki=(L0=class{constructor(t,i,s,r,h,o){E(this,"decision");E(this,"configs");E(this,"input");E(this,"startIndex");E(this,"stopIndex");E(this,"fullCtx");this.decision=t,this.configs=i,this.input=s,this.startIndex=r,this.stopIndex=h,this.fullCtx=o}},A(L0,"DecisionEventInfo"),L0),Vc=(I0=class extends Ki{constructor(i,s,r,h,o,a,c){super(i,s,h,o,a,c);E(this,"ambigAlts");this.ambigAlts=r}},A(I0,"AmbiguityInfo"),I0),c3=(x0=class extends Ki{constructor(t,i,s,r,h){super(t,i,s,r,h,!0)}},A(x0,"ContextSensitivityInfo"),x0),kc=(O0=class{constructor(t){E(this,"decision",0);E(this,"invocations",0);E(this,"timeInPrediction",0);E(this,"SLL_TotalLook",0);E(this,"SLL_MinLook",0);E(this,"SLL_MaxLook",0);E(this,"SLL_MaxLookEvent");E(this,"LL_TotalLook",0);E(this,"LL_MinLook",0);E(this,"LL_MaxLook",0);E(this,"LL_MaxLookEvent");E(this,"contextSensitivities");E(this,"errors");E(this,"ambiguities");E(this,"predicateEvals");E(this,"SLL_ATNTransitions",0);E(this,"SLL_DFATransitions",0);E(this,"LL_Fallback",0);E(this,"LL_ATNTransitions",0);E(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},A(O0,"DecisionInfo"),O0),lr=(p0=class extends Ki{constructor(t,i,s,r,h,o){super(t,i,s,r,h,o)}},A(p0,"ErrorInfo"),p0),u3=(D0=class extends Ki{constructor(i,s,r,h,o,a,c){super(i,s,h,o,a,c);E(this,"predictedAlt");this.predictedAlt=r}},A(D0,"LookaheadEventInfo"),D0),Er=(M0=class extends sn{constructor(i){const s=i.interpreter.getSharedContextCache();super(i,i.interpreter.atn,i.interpreter.decisionToDFA,s);E(this,"decisions");E(this,"numDecisions",0);E(this,"currentDecision",0);E(this,"currentState");E(this,"conflictingAltResolvedBySLL");j(this,Ie,0);j(this,xe,0);if(s){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[s].SLL_MaxLook&&(this.decisions[s].SLL_MaxLook=c,this.decisions[s].SLL_MaxLookEvent=new u3(s,null,o,i,this._startIndex,g(this,Ie),!1)),g(this,xe)>=0){const u=g(this,xe)-this._startIndex+1;this.decisions[s].LL_TotalLook+=u,this.decisions[s].LL_MinLook=this.decisions[s].LL_MinLook===0?u:Math.min(this.decisions[s].LL_MinLook,u),u>this.decisions[s].LL_MaxLook&&(this.decisions[s].LL_MaxLook=u,this.decisions[s].LL_MaxLookEvent=new u3(s,null,o,i,this._startIndex,g(this,xe),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(i,s){if(this._input){Z(this,Ie,this._input.index);const r=super.getExistingTargetState(i,s);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===ce.ERROR&&this.decisions[this.currentDecision].errors.push(new lr(this.currentDecision,i.configs,this._input,this._startIndex,g(this,Ie),!1))),this.currentState=r,r}return null}computeTargetState(i,s,r){const h=super.computeTargetState(i,s,r);return this.currentState=h,h}computeReachSet(i,s,r){r&&this._input&&Z(this,xe,this._input.index);const h=super.computeReachSet(i,s,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new lr(this.currentDecision,i,this._input,this._startIndex,g(this,xe),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new lr(this.currentDecision,i,this._input,this._startIndex,g(this,Ie),!1)))),h}reportAttemptingFullContext(i,s,r,h,o){s!==null?this.conflictingAltResolvedBySLL=s.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,s&&super.reportAttemptingFullContext(i,s,r,h,o)}reportContextSensitivity(i,s,r,h,o){s!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new c3(this.currentDecision,r,this._input,h,o)),super.reportContextSensitivity(i,s,r,h,o)}reportAmbiguity(i,s,r,h,o,a,c){let u;a!==null?u=a.nextSetBit(0):u=c.getAlts().nextSetBit(0),this._input&&(c.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new c3(this.currentDecision,c,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new Vc(this.currentDecision,c,a,this._input,r,h,c.fullCtx))),super.reportAmbiguity(i,s,r,h,o,a,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ie=new WeakMap,xe=new WeakMap,A(M0,"ProfilingATNSimulator"),M0);y0=class{constructor(t){E(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),i=[];for(let s=0;s0&&i.push(s);return i}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let i=0;for(let s=0;s0?s:void 0,modes:r.length>0?r:void 0}}},A(v0,"InterpreterDataReader"),w0=class{visit(t){return t.accept(this)}visitChildren(t){let i=this.defaultResult();const s=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const i=this.index+t-1;return i<0||i>=this.data.length?m.EOF:this.data[i]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,i){let s,r;return t instanceof P?(s=t.start,r=t.stop):(s=t,r=i??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),s>=this.data.length?"":y2(this,b0,U2).call(this,s,r+1)}toString(){return y2(this,b0,U2).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:js.UNKNOWN_SOURCE_NAME}},b0=new WeakSet,U2=function(t,i){const s=this.data.slice(t,i);let r="";return s.forEach(h=>{r+=String.fromCodePoint(h)}),r},A(H0,"CharStreamImpl"),H0),Tr=(F0=class{static fromString(t){return new Yc(t)}},A(F0,"CharStreams"),F0),Sc=(B0=class{constructor(t){E(this,"tokenSource");E(this,"tokens",[]);E(this,"p",-1);E(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(i)>=i:!0}fetch(t){if(this.fetchedEOF)return 0;for(let i=0;i=this.tokens.length||i<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+i+" not in 0.."+(this.tokens.length-1));if(t>i)return[];if(s===void 0)return this.tokens.slice(t,i+1);const r=[];i>=this.tokens.length&&(i=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[i]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,i){if(this.sync(t),t>=this.tokens.length)return-1;let s=this.tokens[t];for(;s.channel!==i;){if(s.type===m.EOF)return-1;t+=1,this.sync(t),s=this.tokens[t]}return t}previousTokenOnChannel(t,i){for(;t>=0&&this.tokens[t].channel!==i;)t-=1;return t}getHiddenTokensToRight(t,i){if(i===void 0&&(i=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const s=this.nextTokenOnChannel(t+1,Zt.DEFAULT_TOKEN_CHANNEL),r=t+1,h=s===-1?this.tokens.length-1:s;return this.filterForChannel(r,h,i)}getHiddenTokensToLeft(t,i){if(i===void 0&&(i=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const s=this.previousTokenOnChannel(t-1,Zt.DEFAULT_TOKEN_CHANNEL);if(s===t-1)return null;const r=s+1,h=t-1;return this.filterForChannel(r,h,i)}filterForChannel(t,i,s){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let o=s;o<=r;o++){const a=this.tokens[o];if(a.type===m.EOF)break;h+=a.text}return h.toString()}else{const i=t[0];return this.getText(i.getSourceInterval())}case 2:{const i=t[0],s=t[1];return i!==null&&s!==null?this.getText(P.of(i.tokenIndex,s.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},A(B0,"BufferedTokenStream"),B0),nn=(V0=class extends Sc{constructor(i,s){super(i);E(this,"channel",m.DEFAULT_CHANNEL);this.channel=s??m.DEFAULT_CHANNEL}adjustSeekIndex(i){return this.nextTokenOnChannel(i,this.channel)}LB(i){if(i===0||this.index-i<0)return null;let s=this.index,r=1;for(;r<=i;)s=this.previousTokenOnChannel(s-1,this.channel),r+=1;return s<0?null:this.tokens[s]}LT(i){if(this.lazyInit(),i===0)return null;if(i<0)return this.LB(-i);let s=this.index,r=1;for(;rnew u1(t,i))),G),Qc=(k0=class extends Js{syntaxError(t,i,s,r,h,o){}},A(k0,"XPathLexerErrorListener"),k0),H1=(G0=class{constructor(t){E(this,"invert");E(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(G0,"XPathElement"),G0),Xc=(Y0=class extends H1{constructor(i,s){super(i);E(this,"ruleIndex");this.ruleIndex=s}evaluate(i){return be.findAllRuleNodes(i,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Y0,"XPathRuleAnywhereElement"),Y0),Zc=(S0=class extends H1{constructor(i,s){super(i);E(this,"ruleIndex");this.ruleIndex=s}evaluate(i){const s=[];for(const r of be.getChildren(i))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&s.push(r);return s}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(S0,"XPathRuleElement"),S0),zc=(Q0=class extends H1{constructor(i,s){super(i);E(this,"tokenType");this.tokenType=s}evaluate(i){return be.findAllTokenNodes(i,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Q0,"XPathTokenAnywhereElement"),Q0),Pc=(X0=class extends H1{constructor(i,s){super(i);E(this,"tokenType");this.tokenType=s}evaluate(i){const s=[];for(const r of be.getChildren(i))r instanceof Ke&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&s.push(r);return s}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(X0,"XPathTokenElement"),X0),$c=(Z0=class extends H1{constructor(){super(E3.WILDCARD)}evaluate(t){return this.invert?[]:be.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(Z0,"XPathWildcardAnywhereElement"),Z0),jc=(z0=class extends H1{constructor(){super(E3.WILDCARD)}evaluate(t){const i=[];if(this.invert)return i;for(const s of be.getChildren(t))i.push(s);return i}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},A(z0,"XPathWildcardElement"),z0),E3=(e1=class{constructor(t,i){E(this,"path");E(this,"elements");E(this,"parser");this.parser=t,this.path=i,this.elements=this.split(i)}static findAll(t,i,s){return new e1(s,i).evaluate(t)}split(t){const i=new ie(Tr.fromString(t));i.recover=c=>{throw c},i.removeErrorListeners(),i.addErrorListener(new Qc);const s=new nn(i);try{s.fill()}catch(c){if(c instanceof qs){const T="Invalid tokens or characters at index "+i.column+" in path '"+t+"' -- "+c.message;throw new RangeError(T)}throw c}const r=s.getTokens(),h=[],o=r.length;let a=0;t:for(;a0&&this.elements[r].evaluate(o).forEach(c=>{h.add(c)},h);r++,s=h}return s}getXPathElement(t,i){if(t.type===m.EOF)throw new Error("Missing path element at end of path");const s=t.text;if(s==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(s),h=this.parser.getRuleIndex(s);switch(t.type){case ie.WILDCARD:return i?new $c:new jc;case ie.TOKEN_REF:case ie.STRING:if(r===m.INVALID_TYPE)throw new Error(s+" at index "+t.start+" isn't a valid token name");return i?new zc(s,r):new Pc(s,r);default:if(h===-1)throw new Error(s+" at index "+t.start+" isn't a valid rule name");return i?new Xc(s,h):new Zc(s,h)}}},A(e1,"XPath"),E(e1,"WILDCARD","*"),E(e1,"NOT","!"),e1),T1=(P0=class extends W{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},A(P0,"InputMismatchException"),P0),rn=($0=class extends W{constructor(i,s,r=null){super({message:Jc(s??"no predicate",r??null),recognizer:i,input:i.inputStream,ctx:i.context});E(this,"ruleIndex",0);E(this,"predicateIndex",0);E(this,"predicate");const o=i.atn.states[i.state].transitions[0];o instanceof a3?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=s,this.offendingToken=i.getCurrentToken()}},A($0,"FailedPredicateException"),$0),Jc=A((n,t)=>t!==null?t:"failed predicate: {"+n+"}?","formatMessage"),dr=(j0=class{constructor(){E(this,"errorRecoveryMode",!1);E(this,"lastErrorIndex",-1);E(this,"lastErrorStates",new gt);E(this,"nextTokensContext",null);E(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new gt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,i){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),i instanceof B?this.reportNoViableAlternative(t,i):i instanceof T1?this.reportInputMismatch(t,i):i instanceof rn?this.reportFailedPredicate(t,i):t.notifyErrorListeners(i.message,i.offendingToken,i))}recover(t,i){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const s=this.getErrorRecoverySet(t);this.consumeUntil(t,s)}sync(t){if(this.inErrorRecoveryMode(t))return;const i=t.atn.states[t.state],s=t.tokenStream.LA(1),r=t.atn.nextTokens(i);if(r.contains(s)){this.nextTokensContext=null,this.nextTokenState=ue.INVALID_STATE_NUMBER;return}else if(r.contains(m.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(i.stateType){case Y.BLOCK_START:case Y.STAR_BLOCK_START:case Y.PLUS_BLOCK_START:case Y.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new T1(t);case Y.PLUS_LOOP_BACK:case Y.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new gt;h.addSet(t.getExpectedTokens());const o=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,i){if(i.message.length>0){t.notifyErrorListeners(i.message,i.offendingToken,i);return}const s=t.tokenStream;let r;s!==null&&i.startToken?i.startToken.type===m.EOF?r="":r=s.getText(new P(i.startToken.tokenIndex,i.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,i.offendingToken,i)}reportInputMismatch(t,i){if(i.message.length>0){t.notifyErrorListeners(i.message,i.offendingToken,i);return}const s="mismatched input "+this.getTokenErrorDisplay(i.offendingToken)+" expecting "+i.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(s,i.offendingToken,i)}reportFailedPredicate(t,i){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+i.message;t.notifyErrorListeners(r,i.offendingToken,i)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const i=t.getCurrentToken(),s=this.getTokenErrorDisplay(i),r=this.getExpectedTokens(t),h="extraneous input "+s+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,i,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const i=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(i);t.notifyErrorListeners(r,i,null)}recoverInline(t){const i=this.singleTokenDeletion(t);if(i!==null)return t.consume(),i;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new T1(t)}singleTokenInsertion(t){const i=t.tokenStream.LA(1),s=t.atn,h=s.states[t.state].transitions[0].target;return s.nextTokens(h,t.context).contains(i)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const i=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(i)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const i=t.getCurrentToken(),s=this.getExpectedTokens(t);let r=m.INVALID_TYPE;s.isNil||(r=s.minElement);let h;r===m.EOF?h="":h="";let o=i;const a=t.tokenStream.LT(-1);return o.type===m.EOF&&a!==null&&(o=a),t.getTokenFactory().create(o.source,r,h,m.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let i=t.text;return i===null&&(t.type===m.EOF?i="":i="<"+t.type+">"),this.escapeWSAndQuote(i)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const i=t.atn;let s=t.context;const r=new gt;for(;s!==null&&s.invokingState>=0;){const o=i.states[s.invokingState].transitions[0],a=i.nextTokens(o.followState);r.addSet(a),s=s.parent}return r.removeOne(m.EPSILON),r}consumeUntil(t,i){let s=t.tokenStream.LA(1);for(;s!==m.EOF&&!i.contains(s);)t.consume(),s=t.tokenStream.LA(1)}},A(j0,"DefaultErrorStrategy"),j0);J0=class extends dr{recover(t,i){let s=t.context;for(;s!==null;)s.exception=i,s=s.parent;throw new l3(i)}recoverInline(t){const i=new T1(t);let s=t.context;for(;s!==null;)s.exception=i,s=s.parent;throw new l3(i)}sync(t){}},A(J0,"BailErrorStrategy"),q0=class extends Js{constructor(i){super();E(this,"exactOnly");E(this,"reportAmbiguity",(i,s,r,h,o,a,c)=>{if(this.exactOnly&&!o)return;const u=this.getDecisionDescription(i,s),T=this.getConflictingAlts(a,c),d=i.tokenStream.getText(P.of(r,h)),_=`reportAmbiguity d=${u}: ambigAlts=${T}, input='${d}'`;i.notifyErrorListeners(_,null,null)});E(this,"reportAttemptingFullContext",(i,s,r,h,o,a)=>{const c=this.getDecisionDescription(i,s),u=i.tokenStream.getText(P.of(r,h)),T=`reportAttemptingFullContext d=${c}, input='${u}'`;i.notifyErrorListeners(T,null,null)});E(this,"reportContextSensitivity",(i,s,r,h,o,a)=>{const c=this.getDecisionDescription(i,s),u=i.tokenStream.getText(P.of(r,h)),T=`reportContextSensitivity d=${c}, input='${u}'`;i.notifyErrorListeners(T,null,null)});E(this,"getDecisionDescription",(i,s)=>{const r=s.decision,h=s.atnStartState.ruleIndex,o=i.ruleNames;if(h<0||h>=o.length)return r.toString();const a=o[h];return a.length===0?r.toString():`${r} (${a})`});E(this,"getConflictingAlts",(i,s)=>{if(i!==null)return i;const r=new ae;for(let h=0;h{super(...Ll);j(this,ts,void 0)};r!==void 0?n(s,r):n(),Z(this,ts,i)}get ruleIndex(){return g(this,ts)}},ts=new WeakMap,A(es,"InterpreterRuleContext"),es);cs=class extends Zt{constructor(i,s,r,h,o,a,c){super(c);j(this,is,void 0);j(this,ss,void 0);j(this,ns,void 0);j(this,rs,void 0);j(this,hs,void 0);j(this,os,void 0);j(this,as,void 0);j(this,In,new Ai);if(a.grammarType!==Ri.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Z(this,is,i),Z(this,ss,a),Z(this,ns,r.slice(0)),Z(this,rs,h.slice(0)),Z(this,hs,o.slice(0)),Z(this,os,s),Z(this,as,a.decisionToState.map((u,T)=>new u1(u,T))),this.interpreter=new l1(this,a,g(this,as),g(this,In))}get atn(){return g(this,ss)}get grammarFileName(){return g(this,is)}get ruleNames(){return g(this,ns)}get channelNames(){return g(this,rs)}get modeNames(){return g(this,hs)}get vocabulary(){return g(this,os)}},is=new WeakMap,ss=new WeakMap,ns=new WeakMap,rs=new WeakMap,hs=new WeakMap,os=new WeakMap,as=new WeakMap,In=new WeakMap,A(cs,"LexerInterpreter");var tu=(us=class{constructor(t){E(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},A(us,"TraceListener"),us),T3=(ls=class extends $h{constructor(i){super();E(this,"printer",null);E(this,"buildParseTrees",!0);E(this,"errorHandler",new dr);E(this,"context",null);E(this,"_input",null);E(this,"_precedenceStack",[]);E(this,"_parseListeners",null);E(this,"_syntaxErrors",0);E(this,"matchedEOF",!1);E(this,"_tracer",null);E(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=i}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(i){let s=this.getCurrentToken();return s.type===i?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}matchWildcard(){let i=this.getCurrentToken();return i.type>0?(this.errorHandler.reportMatch(this),this.consume()):(i=this.errorHandler.recoverInline(this),this.buildParseTrees&&i.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,i))),i}getParseListeners(){return this._parseListeners??[]}addParseListener(i){if(i===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(i)}removeParseListener(i){if(this._parseListeners!==null&&i!==null){const s=this._parseListeners.indexOf(i);s>=0&&this._parseListeners.splice(s,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.forEach(s=>{s.enterEveryRule(i),i.enterRule(s)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const i=this.context;this._parseListeners.slice(0).reverse().forEach(s=>{i.exitRule(s),s.exitEveryRule(i)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(i){this._input.getTokenSource().tokenFactory=i}getATNWithBypassAlts(){const i=this.getSerializedATN();if(i===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const s=new i3;return s.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new _i(s).deserialize(i),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(i){this._input=null,this.reset(),this._input=i}get inputStream(){return this._input}set inputStream(i){this.tokenStream=i}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(i,s,r){s=s??null,r=r??null,s===null&&(s=this.getCurrentToken()),this._syntaxErrors+=1;const h=s.line,o=s.column;this.getErrorListenerDispatch().syntaxError(this,s,h,o,i,r)}consume(){const i=this.getCurrentToken();i.type!==m.EOF&&this.tokenStream.consume();const s=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||s){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,i)):r=this.context.addTokenNode(i),s&&this._parseListeners.forEach(h=>{r instanceof di?h.visitErrorNode(r):h.visitTerminal(r)})}return i}addContextToParseTree(){var i;((i=this.context)==null?void 0:i.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(i,s,r){this.state=s,this.context=i,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(i,s){i.setAltNumber(s),this.buildParseTrees&&this.context!==i&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(i)),this.context=i}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(i,s,r,h){this.state=s,this._precedenceStack.push(h),this.context=i,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(i,s,r){const h=this.context;h.parent=i,h.invokingState=s,h.stop=this._input.LT(-1),this.context=i,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(i){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const s=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==i;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=i;s.parent=i,this.buildParseTrees&&i!==null&&i.addChild(s)}getInvokingContext(i){let s=this.context;for(;s!==null;){if(s.ruleIndex===i)return s;s=s.parent}return null}precpred(i,s){return s>=this._precedenceStack[this._precedenceStack.length-1]}inContext(i){return!1}isExpectedToken(i){const s=this.interpreter.atn;let r=this.context;const h=s.states[this.state];let o=s.nextTokens(h);if(o.contains(i))return!0;if(!o.contains(m.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&o.contains(m.EPSILON);){const c=s.states[r.invokingState].transitions[0];if(o=s.nextTokens(c.followState),o.contains(i))return!0;r=r.parent}return!!(o.contains(m.EPSILON)&&i===m.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const i=this.interpreter.atn,s=i.states[this.state];return i.nextTokens(s)}getRuleIndex(i){const s=this.getRuleIndexMap().get(i);return s??-1}getRuleInvocationStack(i){i=i??null,i===null&&(i=this.context);const s=[];for(;i!==null;){const r=i.ruleIndex;r<0?s.push("n/a"):s.push(this.ruleNames[r]),i=i.parent}return s}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let i=!1;for(const s of this.interpreter.decisionToDFA)s.states.length>0&&(i&&console.log(),this.printer&&(this.printer.println("Decision "+s.decision+":"),this.printer.print(s.toString(this.vocabulary))),i=!0)}getSourceName(){return this._input.getSourceName()}setProfile(i){const s=this.interpreter,r=s.predictionMode;if(i)s instanceof Er||(this.interpreter=new Er(this));else if(s instanceof Er){const h=s.getSharedContextCache();if(h){const o=new sn(this,this.atn,s.decisionToDFA,h);this.interpreter=o}}this.interpreter.predictionMode=r}setTrace(i){i?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new tu(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(i,s){return new Ke(s)}createErrorNode(i,s){return new di(s)}},A(ls,"Parser"),ls);Ws=class extends T3{constructor(i,s,r,h,o){super(o);E(this,"_rootContext");E(this,"_parentContextStack",[]);E(this,"overrideDecision",-1);E(this,"overrideDecisionInputIndex",-1);E(this,"overrideDecisionAlt",-1);E(this,"overrideDecisionReached",!1);E(this,"_overrideDecisionRoot",null);j(this,Es,void 0);j(this,ne,void 0);j(this,Ts,void 0);j(this,ds,void 0);j(this,Rs,void 0);j(this,xn,new Ai);j(this,si,void 0);Z(this,Es,i),Z(this,ne,h),Z(this,Ts,r.slice(0)),Z(this,ds,s),Z(this,si,new ae);for(const a of h.states)a instanceof He&&a.precedenceRuleDecision&&g(this,si).set(a.stateNumber);Z(this,Rs,h.decisionToState.map((a,c)=>new u1(a,c))),this.interpreter=new sn(this,h,g(this,Rs),g(this,xn))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return g(this,ne)}get vocabulary(){return g(this,ds)}get ruleNames(){return g(this,Ts)}get grammarFileName(){return g(this,Es)}get atnState(){return g(this,ne).states[this.state]}parse(i){var r;const s=g(this,ne).ruleToStartState[i];for(this._rootContext=this.createInterpreterRuleContext(null,ue.INVALID_STATE_NUMBER,i),s.isPrecedenceRule?this.enterRecursionRule(this._rootContext,s.stateNumber,i,0):this.enterRule(this._rootContext,s.stateNumber,i);;){const h=this.atnState;switch(h.stateType){case Y.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(s.isPrecedenceRule){const o=this.context,a=this._parentContextStack.pop();return this.unrollRecursionContexts(a[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(o){if(o instanceof W)this.state=g(this,ne).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(i,s,r){this.overrideDecision=i,this.overrideDecisionInputIndex=s,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(i,s,r,h){this._parentContextStack.push([this.context,i.invokingState]),super.enterRecursionRule(i,s,r,h)}visitState(i){let s=1;i instanceof c1&&(s=this.visitDecisionState(i));const r=i.transitions[s-1];switch(r.serializationType){case y.EPSILON:if(g(this,si).get(i.stateNumber)&&!(r.target instanceof E1)){const T=this._parentContextStack[this._parentContextStack.length-1],d=this.createInterpreterRuleContext(T[0],T[1],this.context.ruleIndex);this.pushNewRecursionContext(d,g(this,ne).ruleToStartState[i.ruleIndex].stateNumber,this.context.ruleIndex)}break;case y.ATOM:this.match(r.label.minElement);break;case y.RANGE:case y.SET:case y.NOT_SET:r.matches(this._input.LA(1),m.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case y.WILDCARD:this.matchWildcard();break;case y.RULE:const h=r.target,o=h.ruleIndex,a=this.createInterpreterRuleContext(this.context,i.stateNumber,o);h.isPrecedenceRule?this.enterRecursionRule(a,h.stateNumber,o,r.precedence):this.enterRule(a,r.target.stateNumber,o);break;case y.PREDICATE:const c=r;if(!this.sempred(this.context,c.ruleIndex,c.predIndex))throw new rn(this);break;case y.ACTION:const u=r;this.action(this.context,u.ruleIndex,u.actionIndex);break;case y.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const T=r.precedence;throw new rn(this,`precpred(_ctx, ${T})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(i){let s=1;if(i.transitions.length>1){this.errorHandler.sync(this);const r=i.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(s=this.overrideDecisionAlt,this.overrideDecisionReached=!0):s=this.interpreter.adaptivePredict(this._input,r,this.context)}return s}createInterpreterRuleContext(i,s,r){return new qc(r,i,s)}visitRuleStopState(i){if(g(this,ne).ruleToStartState[i.ruleIndex].isPrecedenceRule){const[h,o]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=o}else this.exitRule();const r=g(this,ne).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(i){const s=this._input.index;if(this.errorHandler.recover(this,i),this._input.index===s){const r=i.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,o=(h==null?void 0:h.inputStream)??null,a=[h,o];if(i instanceof T1){const c=i.getExpectedTokens();if(!c)throw new Error("Expected the exception to provide expected tokens");let u=m.INVALID_TYPE;c.isNil||(u=c.minElement);const T=this.getTokenFactory().create(a,u,r.text,m.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,T))}else{const c=this.getTokenFactory().create(a,m.INVALID_TYPE,r.text,m.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,c))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},Es=new WeakMap,ne=new WeakMap,Ts=new WeakMap,ds=new WeakMap,Rs=new WeakMap,xn=new WeakMap,si=new WeakMap,A(Ws,"ParserInterpreter"),Bt=class{constructor(t){E(this,"tokens");E(this,"programs",new Map);E(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,i,s=Bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(s),o=new R3(this.tokens,r,h.length,i);h.push(o)}insertBefore(t,i,s=Bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(s),o=new F1(this.tokens,r,h.length,i);h.push(o)}replaceSingle(t,i,s=Bt.DEFAULT_PROGRAM_NAME){this.replace(t,t,i,s)}replace(t,i,s,r=Bt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof i!="number"&&(i=i.tokenIndex),t>i||t<0||i<0||i>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${i}(size=${this.tokens.size})`);const h=this.getProgram(r),o=new hn(this.tokens,t,i,h.length,s);h.push(o)}delete(t,i,s=Bt.DEFAULT_PROGRAM_NAME){i==null&&(i=t),this.replace(t,i,null,s)}getProgram(t){let i=this.programs.get(t);return i==null&&(i=this.initializeProgram(t)),i}initializeProgram(t){const i=[];return this.programs.set(t,i),i}getText(t,i=Bt.DEFAULT_PROGRAM_NAME){let s;t instanceof P?s=t:s=new P(0,this.tokens.size-1),typeof t=="string"&&(i=t);const r=this.programs.get(i);let h=s.start,o=s.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new P(h,o));const a=[],c=this.reduceToSingleOperationPerIndex(r);let u=h;for(;u<=o&&u=this.tokens.size-1&&a.push(String(T.text));return a.join("")}reduceToSingleOperationPerIndex(t){for(let s=0;sh.index&&c.index<=h.lastIndex&&(t[c.instructionIndex]=null);const a=this.getKindOfOps(t,hn,s);for(const c of a){if(c.index>=h.index&&c.lastIndex<=h.lastIndex){t[c.instructionIndex]=null;continue}const u=c.lastIndexh.lastIndex;if(c.text==null&&h.text==null&&!u)t[c.instructionIndex]=null,h.index=Math.min(c.index,h.index),h.lastIndex=Math.max(c.lastIndex,h.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${h} overlap with previous ${c}`)}}for(let s=0;s=c.index&&h.index<=c.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${c}`)}}const i=new Map;for(const s of t)if(s!=null){if(i.get(s.index)!=null)throw new Error("should only be one op per index");i.set(s.index,s)}return i}catOpText(t,i){let s="",r="";return t!=null&&(s=t.toString()),i!=null&&(r=i.toString()),s+r}getKindOfOps(t,i,s){return t.slice(0,s).filter(r=>r&&r instanceof i)}},A(Bt,"TokenStreamRewriter"),E(Bt,"DEFAULT_PROGRAM_NAME","default"),E(Bt,"PROGRAM_INIT_SIZE",100),E(Bt,"MIN_TOKEN_INDEX",0);var d3=(_s=class{constructor(t,i,s,r){E(this,"instructionIndex");E(this,"index");E(this,"text");E(this,"tokens");this.tokens=t,this.instructionIndex=s,this.index=i,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},A(_s,"RewriteOperation"),_s),F1=(As=class extends d3{constructor(t,i,s,r){super(t,i,s,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==m.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},A(As,"InsertBeforeOp"),As),R3=(Ks=class extends F1{constructor(t,i,s,r){super(t,i+1,s,r)}toString(){return"'}},A(Ks,"InsertAfterOp"),Ks),hn=(fs=class extends d3{constructor(i,s,r,h,o){super(i,s,h,o);E(this,"lastIndex");this.lastIndex=r}execute(i){return this.text&&i.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},A(fs,"ReplaceOp"),fs);class l extends Zt{markUnclosedComment(){this.has_unclosed_bracketed_comment=!0}constructor(t){super(t),this.has_unclosed_bracketed_comment=!1,this.interpreter=new l1(this,l._ATN,l.decisionsToDFA,new Ai)}get grammarFileName(){return"SparkSqlLexer.g4"}get literalNames(){return l.literalNames}get symbolicNames(){return l.symbolicNames}get ruleNames(){return l.ruleNames}get serializedATN(){return l._serializedATN}get channelNames(){return l.channelNames}get modeNames(){return l.modeNames}action(t,i,s){switch(i){case 394:this.BRACKETED_COMMENT_action(t,s);break}}BRACKETED_COMMENT_action(t,i){switch(i){case 0:this.markUnclosedComment();break}}static get _ATN(){return l.__ATN||(l.__ATN=new _i().deserialize(l._serializedATN)),l.__ATN}get vocabulary(){return l.vocabulary}}l.SEMICOLON=1,l.LEFT_PAREN=2,l.RIGHT_PAREN=3,l.COMMA=4,l.DOT=5,l.LEFT_BRACKET=6,l.RIGHT_BRACKET=7,l.KW_ADD=8,l.KW_AFTER=9,l.KW_ALL=10,l.KW_ALTER=11,l.KW_ALWAYS=12,l.KW_ANALYZE=13,l.KW_AND=14,l.KW_ANTI=15,l.KW_ANY=16,l.KW_ANY_VALUE=17,l.KW_ARCHIVE=18,l.KW_ARRAY=19,l.KW_AS=20,l.KW_ASC=21,l.KW_AT=22,l.KW_AUTHORIZATION=23,l.KW_BETWEEN=24,l.KW_BIGINT=25,l.KW_BINARY=26,l.KW_BOOLEAN=27,l.KW_BOTH=28,l.KW_BUCKET=29,l.KW_BUCKETS=30,l.KW_BY=31,l.KW_BYTE=32,l.KW_CACHE=33,l.KW_CASCADE=34,l.KW_CASE=35,l.KW_CAST=36,l.KW_CATALOG=37,l.KW_CATALOGS=38,l.KW_CHANGE=39,l.KW_CHAR=40,l.KW_CHARACTER=41,l.KW_CHECK=42,l.KW_CLEAR=43,l.KW_CLUSTER=44,l.KW_CLUSTERED=45,l.KW_CODEGEN=46,l.KW_COLLATE=47,l.KW_COLLECTION=48,l.KW_COLUMN=49,l.KW_COLUMNS=50,l.KW_COMMENT=51,l.KW_COMMIT=52,l.KW_COMPACT=53,l.KW_COMPACTIONS=54,l.KW_COMPUTE=55,l.KW_CONCATENATE=56,l.KW_CONSTRAINT=57,l.KW_COST=58,l.KW_CREATE=59,l.KW_CROSS=60,l.KW_CUBE=61,l.KW_CURRENT=62,l.KW_CURRENT_DATE=63,l.KW_CURRENT_TIME=64,l.KW_CURRENT_TIMESTAMP=65,l.KW_CURRENT_USER=66,l.KW_DAY=67,l.KW_DAYS=68,l.KW_DAYOFYEAR=69,l.KW_DATA=70,l.KW_DATE=71,l.KW_DATABASE=72,l.KW_DATABASES=73,l.KW_DATEADD=74,l.KW_DATE_ADD=75,l.KW_DATEDIFF=76,l.KW_DATE_DIFF=77,l.KW_DBPROPERTIES=78,l.KW_DEC=79,l.KW_DECIMAL=80,l.KW_DECLARE=81,l.KW_DEFAULT=82,l.KW_DEFINED=83,l.KW_DELETE=84,l.KW_DELIMITED=85,l.KW_DESC=86,l.KW_DESCRIBE=87,l.KW_DFS=88,l.KW_DIRECTORIES=89,l.KW_DIRECTORY=90,l.KW_DISABLE=91,l.KW_DISTINCT=92,l.KW_DISTRIBUTE=93,l.KW_DIV=94,l.KW_DOUBLE=95,l.KW_DROP=96,l.KW_ELSE=97,l.KW_ENABLE=98,l.KW_END=99,l.KW_ESCAPE=100,l.KW_ESCAPED=101,l.KW_EXCEPT=102,l.KW_EXCHANGE=103,l.KW_EXCLUDE=104,l.KW_EXISTS=105,l.KW_EXPLAIN=106,l.KW_EXPORT=107,l.KW_EXTENDED=108,l.KW_EXTERNAL=109,l.KW_EXTRACT=110,l.KW_FALSE=111,l.KW_FETCH=112,l.KW_FIELDS=113,l.KW_FILTER=114,l.KW_FILEFORMAT=115,l.KW_FIRST=116,l.KW_FLOAT=117,l.KW_FOLLOWING=118,l.KW_FOR=119,l.KW_FOREIGN=120,l.KW_FORMAT=121,l.KW_FORMATTED=122,l.KW_FROM=123,l.KW_FULL=124,l.KW_FUNCTION=125,l.KW_FUNCTIONS=126,l.KW_GENERATED=127,l.KW_GLOBAL=128,l.KW_GRANT=129,l.KW_GROUP=130,l.KW_GROUPING=131,l.KW_HAVING=132,l.KW_BINARY_HEX=133,l.KW_HOUR=134,l.KW_HOURS=135,l.KW_IDENTIFIER=136,l.KW_IF=137,l.KW_IGNORE=138,l.KW_IMPORT=139,l.KW_IN=140,l.KW_INCLUDE=141,l.KW_INDEX=142,l.KW_INDEXES=143,l.KW_INNER=144,l.KW_INPATH=145,l.KW_INPUTFORMAT=146,l.KW_INSERT=147,l.KW_INTERSECT=148,l.KW_INTERVAL=149,l.KW_INT=150,l.KW_INTEGER=151,l.KW_INTO=152,l.KW_IS=153,l.KW_ITEMS=154,l.KW_JOIN=155,l.KW_KEYS=156,l.KW_LAST=157,l.KW_LATERAL=158,l.KW_LAZY=159,l.KW_LEADING=160,l.KW_LEFT=161,l.KW_LIFECYCLE=162,l.KW_LIKE=163,l.KW_ILIKE=164,l.KW_LIMIT=165,l.KW_LINES=166,l.KW_LIST=167,l.KW_LOAD=168,l.KW_LOCAL=169,l.KW_LOCATION=170,l.KW_LOCK=171,l.KW_LOCKS=172,l.KW_LOGICAL=173,l.KW_LONG=174,l.KW_MACRO=175,l.KW_MATERIALIZED=176,l.KW_MAP=177,l.KW_MATCHED=178,l.KW_MERGE=179,l.KW_MICROSECOND=180,l.KW_MICROSECONDS=181,l.KW_MILLISECOND=182,l.KW_MILLISECONDS=183,l.KW_MINUTE=184,l.KW_MINUTES=185,l.KW_MONTH=186,l.KW_MONTHS=187,l.KW_MSCK=188,l.KW_NAME=189,l.KW_NAMESPACE=190,l.KW_NAMESPACES=191,l.KW_NANOSECOND=192,l.KW_NANOSECONDS=193,l.KW_NATURAL=194,l.KW_NO=195,l.KW_NOSCAN=196,l.KW_NOT=197,l.KW_NULL=198,l.KW_NULLS=199,l.KW_NUMERIC=200,l.KW_OF=201,l.KW_OFFSET=202,l.KW_ON=203,l.KW_ONLY=204,l.KW_OPTIMIZE=205,l.KW_OPTION=206,l.KW_OPTIONS=207,l.KW_OR=208,l.KW_ORDER=209,l.KW_OUT=210,l.KW_OUTER=211,l.KW_OUTPUTFORMAT=212,l.KW_OVER=213,l.KW_OVERLAPS=214,l.KW_OVERLAY=215,l.KW_OVERWRITE=216,l.KW_PARTITION=217,l.KW_PARTITIONED=218,l.KW_PARTITIONS=219,l.KW_PERCENTILE_CONT=220,l.KW_PERCENTILE_DISC=221,l.KW_PERCENTLIT=222,l.KW_PIVOT=223,l.KW_PLACING=224,l.KW_POSITION=225,l.KW_PRECEDING=226,l.KW_PRIMARY=227,l.KW_PRINCIPALS=228,l.KW_PROPERTIES=229,l.KW_PURGE=230,l.KW_QUARTER=231,l.KW_QUERY=232,l.KW_RANGE=233,l.KW_REAL=234,l.KW_RECORDREADER=235,l.KW_RECORDWRITER=236,l.KW_RECOVER=237,l.KW_REDUCE=238,l.KW_REFERENCES=239,l.KW_REFRESH=240,l.KW_RENAME=241,l.KW_REPAIR=242,l.KW_REPEATABLE=243,l.KW_REPLACE=244,l.KW_RESET=245,l.KW_RESPECT=246,l.KW_RESTRICT=247,l.KW_REWRITE=248,l.KW_REVOKE=249,l.KW_RIGHT=250,l.KW_RLIKE=251,l.KW_REGEXP=252,l.KW_ROLE=253,l.KW_ROLES=254,l.KW_ROLLBACK=255,l.KW_ROLLUP=256,l.KW_ROW=257,l.KW_ROWS=258,l.KW_SECOND=259,l.KW_SECONDS=260,l.KW_SCHEMA=261,l.KW_SCHEMAS=262,l.KW_SELECT=263,l.KW_SEMI=264,l.KW_SEPARATED=265,l.KW_SERDE=266,l.KW_SERDEPROPERTIES=267,l.KW_SESSION_USER=268,l.KW_SET=269,l.KW_MINUS=270,l.KW_SETS=271,l.KW_SHORT=272,l.KW_SHOW=273,l.KW_SINGLE=274,l.KW_SKEWED=275,l.KW_SMALLINT=276,l.KW_SOME=277,l.KW_SORT=278,l.KW_SORTED=279,l.KW_SOURCE=280,l.KW_START=281,l.KW_STATISTICS=282,l.KW_STORED=283,l.KW_STRATIFY=284,l.KW_STRING=285,l.KW_STRUCT=286,l.KW_SUBSTR=287,l.KW_SUBSTRING=288,l.KW_SYNC=289,l.KW_SYSTEM=290,l.KW_SYSTEM_TIME=291,l.KW_SYSTEM_VERSION=292,l.KW_TABLE=293,l.KW_TABLES=294,l.KW_TABLESAMPLE=295,l.KW_TARGET=296,l.KW_TBLPROPERTIES=297,l.KW_TEMPORARY=298,l.KW_TERMINATED=299,l.KW_THEN=300,l.KW_TIME=301,l.KW_TIMEDIFF=302,l.KW_TIMESTAMP=303,l.KW_TIMESTAMP_LTZ=304,l.KW_TIMESTAMP_NTZ=305,l.KW_TIMESTAMPADD=306,l.KW_TIMESTAMPDIFF=307,l.KW_TINYINT=308,l.KW_TO=309,l.KW_TOUCH=310,l.KW_TRAILING=311,l.KW_TRANSACTION=312,l.KW_TRANSACTIONS=313,l.KW_TRANSFORM=314,l.KW_TRIM=315,l.KW_TRUE=316,l.KW_TRUNCATE=317,l.KW_TRY_CAST=318,l.KW_TYPE=319,l.KW_UNARCHIVE=320,l.KW_UNBOUNDED=321,l.KW_UNCACHE=322,l.KW_UNION=323,l.KW_UNIQUE=324,l.KW_UNKNOWN=325,l.KW_UNLOCK=326,l.KW_UNPIVOT=327,l.KW_UNSET=328,l.KW_UPDATE=329,l.KW_USE=330,l.KW_USER=331,l.KW_USING=332,l.KW_VALUES=333,l.KW_VARCHAR=334,l.KW_VAR=335,l.KW_VARIABLE=336,l.KW_VERSION=337,l.KW_VIEW=338,l.KW_VIEWS=339,l.KW_VOID=340,l.KW_WEEK=341,l.KW_WEEKS=342,l.KW_WHEN=343,l.KW_WHERE=344,l.KW_WINDOW=345,l.KW_WITH=346,l.KW_WITHIN=347,l.KW_YEAR=348,l.KW_YEARS=349,l.KW_ZONE=350,l.KW_ZORDER=351,l.EQ=352,l.NSEQ=353,l.NEQ=354,l.NEQJ=355,l.LT=356,l.LTE=357,l.GT=358,l.GTE=359,l.NOT=360,l.PLUS=361,l.MINUS=362,l.ASTERISK=363,l.SLASH=364,l.PERCENT=365,l.TILDE=366,l.AMPERSAND=367,l.PIPE=368,l.CONCAT_PIPE=369,l.HAT=370,l.COLON=371,l.ARROW=372,l.FAT_ARROW=373,l.HENT_START=374,l.HENT_END=375,l.QUESTION=376,l.STRING_LITERAL=377,l.DOUBLEQUOTED_STRING=378,l.BIGINT_LITERAL=379,l.SMALLINT_LITERAL=380,l.TINYINT_LITERAL=381,l.INTEGER_VALUE=382,l.EXPONENT_VALUE=383,l.DECIMAL_VALUE=384,l.FLOAT_LITERAL=385,l.DOUBLE_LITERAL=386,l.BIGDECIMAL_LITERAL=387,l.IDENTIFIER=388,l.BACKQUOTED_IDENTIFIER=389,l.SIMPLE_COMMENT=390,l.BRACKETED_COMMENT=391,l.WS=392,l.UNRECOGNIZED=393,l.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],l.literalNames=[null,"';'","'('","')'","','","'.'","'['","']'","'ADD'","'AFTER'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ANTI'","'ANY'","'ANY_VALUE'","'ARCHIVE'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BETWEEN'","'BIGINT'","'BINARY'","'BOOLEAN'","'BOTH'","'BUCKET'","'BUCKETS'","'BY'","'BYTE'","'CACHE'","'CASCADE'","'CASE'","'CAST'","'CATALOG'","'CATALOGS'","'CHANGE'","'CHAR'","'CHARACTER'","'CHECK'","'CLEAR'","'CLUSTER'","'CLUSTERED'","'CODEGEN'","'COLLATE'","'COLLECTION'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPACTIONS'","'COMPUTE'","'CONCATENATE'","'CONSTRAINT'","'COST'","'CREATE'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_DATE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DAY'","'DAYS'","'DAYOFYEAR'","'DATA'","'DATE'","'DATABASE'","'DATABASES'","'DATEADD'","'DATE_ADD'","'DATEDIFF'","'DATE_DIFF'","'DBPROPERTIES'","'DEC'","'DECIMAL'","'DECLARE'","'DEFAULT'","'DEFINED'","'DELETE'","'DELIMITED'","'DESC'","'DESCRIBE'","'DFS'","'DIRECTORIES'","'DIRECTORY'","'DISABLE'","'DISTINCT'","'DISTRIBUTE'","'DIV'","'DOUBLE'","'DROP'","'ELSE'","'ENABLE'","'END'","'ESCAPE'","'ESCAPED'","'EXCEPT'","'EXCHANGE'","'EXCLUDE'","'EXISTS'","'EXPLAIN'","'EXPORT'","'EXTENDED'","'EXTERNAL'","'EXTRACT'","'FALSE'","'FETCH'","'FIELDS'","'FILTER'","'FILEFORMAT'","'FIRST'","'FLOAT'","'FOLLOWING'","'FOR'","'FOREIGN'","'FORMAT'","'FORMATTED'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GENERATED'","'GLOBAL'","'GRANT'","'GROUP'","'GROUPING'","'HAVING'","'X'","'HOUR'","'HOURS'","'IDENTIFIER'","'IF'","'IGNORE'","'IMPORT'","'IN'","'INCLUDE'","'INDEX'","'INDEXES'","'INNER'","'INPATH'","'INPUTFORMAT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INT'","'INTEGER'","'INTO'","'IS'","'ITEMS'","'JOIN'","'KEYS'","'LAST'","'LATERAL'","'LAZY'","'LEADING'","'LEFT'","'LIFECYCLE'","'LIKE'","'ILIKE'","'LIMIT'","'LINES'","'LIST'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'LOCKS'","'LOGICAL'","'LONG'","'MACRO'","'MATERIALIZED'","'MAP'","'MATCHED'","'MERGE'","'MICROSECOND'","'MICROSECONDS'","'MILLISECOND'","'MILLISECONDS'","'MINUTE'","'MINUTES'","'MONTH'","'MONTHS'","'MSCK'","'NAME'","'NAMESPACE'","'NAMESPACES'","'NANOSECOND'","'NANOSECONDS'","'NATURAL'","'NO'","'NOSCAN'","'NOT'","'NULL'","'NULLS'","'NUMERIC'","'OF'","'OFFSET'","'ON'","'ONLY'","'OPTIMIZE'","'OPTION'","'OPTIONS'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTPUTFORMAT'","'OVER'","'OVERLAPS'","'OVERLAY'","'OVERWRITE'","'PARTITION'","'PARTITIONED'","'PARTITIONS'","'PERCENTILE_CONT'","'PERCENTILE_DISC'","'PERCENT'","'PIVOT'","'PLACING'","'POSITION'","'PRECEDING'","'PRIMARY'","'PRINCIPALS'","'PROPERTIES'","'PURGE'","'QUARTER'","'QUERY'","'RANGE'","'REAL'","'RECORDREADER'","'RECORDWRITER'","'RECOVER'","'REDUCE'","'REFERENCES'","'REFRESH'","'RENAME'","'REPAIR'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'REWRITE'","'REVOKE'","'RIGHT'","'RLIKE'","'REGEXP'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'SECOND'","'SECONDS'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SEMI'","'SEPARATED'","'SERDE'","'SERDEPROPERTIES'","'SESSION_USER'","'SET'","'MINUS'","'SETS'","'SHORT'","'SHOW'","'SINGLE'","'SKEWED'","'SMALLINT'","'SOME'","'SORT'","'SORTED'","'SOURCE'","'START'","'STATISTICS'","'STORED'","'STRATIFY'","'STRING'","'STRUCT'","'SUBSTR'","'SUBSTRING'","'SYNC'","'SYSTEM'","'SYSTEM_TIME'","'SYSTEM_VERSION'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TARGET'","'TBLPROPERTIES'","'TEMPORARY'","'TERMINATED'","'THEN'","'TIME'","'TIMEDIFF'","'TIMESTAMP'","'TIMESTAMP_LTZ'","'TIMESTAMP_NTZ'","'TIMESTAMPADD'","'TIMESTAMPDIFF'","'TINYINT'","'TO'","'TOUCH'","'TRAILING'","'TRANSACTION'","'TRANSACTIONS'","'TRANSFORM'","'TRIM'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TYPE'","'UNARCHIVE'","'UNBOUNDED'","'UNCACHE'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNLOCK'","'UNPIVOT'","'UNSET'","'UPDATE'","'USE'","'USER'","'USING'","'VALUES'","'VARCHAR'","'VAR'","'VARIABLE'","'VERSION'","'VIEW'","'VIEWS'","'VOID'","'WEEK'","'WEEKS'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'WITHIN'","'YEAR'","'YEARS'","'ZONE'","'ZORDER'",null,"'<=>'","'<>'","'!='","'<'",null,"'>'",null,"'!'","'+'","'-'","'*'","'/'","'%'","'~'","'&'","'|'","'||'","'^'","':'","'->'","'=>'","'/*+'","'*/'","'?'"],l.symbolicNames=[null,"SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","KW_ADD","KW_AFTER","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_ANY_VALUE","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_BYTE","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_CHANGE","KW_CHAR","KW_CHARACTER","KW_CHECK","KW_CLEAR","KW_CLUSTER","KW_CLUSTERED","KW_CODEGEN","KW_COLLATE","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPUTE","KW_CONCATENATE","KW_CONSTRAINT","KW_COST","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DAY","KW_DAYS","KW_DAYOFYEAR","KW_DATA","KW_DATE","KW_DATABASE","KW_DATABASES","KW_DATEADD","KW_DATE_ADD","KW_DATEDIFF","KW_DATE_DIFF","KW_DBPROPERTIES","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DESC","KW_DESCRIBE","KW_DFS","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISTINCT","KW_DISTRIBUTE","KW_DIV","KW_DOUBLE","KW_DROP","KW_ELSE","KW_ENABLE","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUDE","KW_EXISTS","KW_EXPLAIN","KW_EXPORT","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILTER","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FOLLOWING","KW_FOR","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GENERATED","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_BINARY_HEX","KW_HOUR","KW_HOURS","KW_IDENTIFIER","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTFORMAT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INT","KW_INTEGER","KW_INTO","KW_IS","KW_ITEMS","KW_JOIN","KW_KEYS","KW_LAST","KW_LATERAL","KW_LAZY","KW_LEADING","KW_LEFT","KW_LIFECYCLE","KW_LIKE","KW_ILIKE","KW_LIMIT","KW_LINES","KW_LIST","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MATERIALIZED","KW_MAP","KW_MATCHED","KW_MERGE","KW_MICROSECOND","KW_MICROSECONDS","KW_MILLISECOND","KW_MILLISECONDS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MSCK","KW_NAME","KW_NAMESPACE","KW_NAMESPACES","KW_NANOSECOND","KW_NANOSECONDS","KW_NATURAL","KW_NO","KW_NOSCAN","KW_NOT","KW_NULL","KW_NULLS","KW_NUMERIC","KW_OF","KW_OFFSET","KW_ON","KW_ONLY","KW_OPTIMIZE","KW_OPTION","KW_OPTIONS","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENTLIT","KW_PIVOT","KW_PLACING","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_PRINCIPALS","KW_PROPERTIES","KW_PURGE","KW_QUARTER","KW_QUERY","KW_RANGE","KW_REAL","KW_RECORDREADER","KW_RECORDWRITER","KW_RECOVER","KW_REDUCE","KW_REFERENCES","KW_REFRESH","KW_RENAME","KW_REPAIR","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REWRITE","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_REGEXP","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SECOND","KW_SECONDS","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SEMI","KW_SEPARATED","KW_SERDE","KW_SERDEPROPERTIES","KW_SESSION_USER","KW_SET","KW_MINUS","KW_SETS","KW_SHORT","KW_SHOW","KW_SINGLE","KW_SKEWED","KW_SMALLINT","KW_SOME","KW_SORT","KW_SORTED","KW_SOURCE","KW_START","KW_STATISTICS","KW_STORED","KW_STRATIFY","KW_STRING","KW_STRUCT","KW_SUBSTR","KW_SUBSTRING","KW_SYNC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TARGET","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMEDIFF","KW_TIMESTAMP","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_NTZ","KW_TIMESTAMPADD","KW_TIMESTAMPDIFF","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNCACHE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNLOCK","KW_UNPIVOT","KW_UNSET","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALUES","KW_VARCHAR","KW_VAR","KW_VARIABLE","KW_VERSION","KW_VIEW","KW_VIEWS","KW_VOID","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_YEAR","KW_YEARS","KW_ZONE","KW_ZORDER","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","NOT","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],l.modeNames=["DEFAULT_MODE"],l.ruleNames=["SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","KW_ADD","KW_AFTER","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_ANY_VALUE","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_BYTE","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_CHANGE","KW_CHAR","KW_CHARACTER","KW_CHECK","KW_CLEAR","KW_CLUSTER","KW_CLUSTERED","KW_CODEGEN","KW_COLLATE","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPUTE","KW_CONCATENATE","KW_CONSTRAINT","KW_COST","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DAY","KW_DAYS","KW_DAYOFYEAR","KW_DATA","KW_DATE","KW_DATABASE","KW_DATABASES","KW_DATEADD","KW_DATE_ADD","KW_DATEDIFF","KW_DATE_DIFF","KW_DBPROPERTIES","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DESC","KW_DESCRIBE","KW_DFS","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISTINCT","KW_DISTRIBUTE","KW_DIV","KW_DOUBLE","KW_DROP","KW_ELSE","KW_ENABLE","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUDE","KW_EXISTS","KW_EXPLAIN","KW_EXPORT","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILTER","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FOLLOWING","KW_FOR","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GENERATED","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_BINARY_HEX","KW_HOUR","KW_HOURS","KW_IDENTIFIER","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTFORMAT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INT","KW_INTEGER","KW_INTO","KW_IS","KW_ITEMS","KW_JOIN","KW_KEYS","KW_LAST","KW_LATERAL","KW_LAZY","KW_LEADING","KW_LEFT","KW_LIFECYCLE","KW_LIKE","KW_ILIKE","KW_LIMIT","KW_LINES","KW_LIST","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MATERIALIZED","KW_MAP","KW_MATCHED","KW_MERGE","KW_MICROSECOND","KW_MICROSECONDS","KW_MILLISECOND","KW_MILLISECONDS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MSCK","KW_NAME","KW_NAMESPACE","KW_NAMESPACES","KW_NANOSECOND","KW_NANOSECONDS","KW_NATURAL","KW_NO","KW_NOSCAN","KW_NOT","KW_NULL","KW_NULLS","KW_NUMERIC","KW_OF","KW_OFFSET","KW_ON","KW_ONLY","KW_OPTIMIZE","KW_OPTION","KW_OPTIONS","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENTLIT","KW_PIVOT","KW_PLACING","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_PRINCIPALS","KW_PROPERTIES","KW_PURGE","KW_QUARTER","KW_QUERY","KW_RANGE","KW_REAL","KW_RECORDREADER","KW_RECORDWRITER","KW_RECOVER","KW_REDUCE","KW_REFERENCES","KW_REFRESH","KW_RENAME","KW_REPAIR","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REWRITE","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_REGEXP","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SECOND","KW_SECONDS","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SEMI","KW_SEPARATED","KW_SERDE","KW_SERDEPROPERTIES","KW_SESSION_USER","KW_SET","KW_MINUS","KW_SETS","KW_SHORT","KW_SHOW","KW_SINGLE","KW_SKEWED","KW_SMALLINT","KW_SOME","KW_SORT","KW_SORTED","KW_SOURCE","KW_START","KW_STATISTICS","KW_STORED","KW_STRATIFY","KW_STRING","KW_STRUCT","KW_SUBSTR","KW_SUBSTRING","KW_SYNC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TARGET","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMEDIFF","KW_TIMESTAMP","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_NTZ","KW_TIMESTAMPADD","KW_TIMESTAMPDIFF","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNCACHE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNLOCK","KW_UNPIVOT","KW_UNSET","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALUES","KW_VARCHAR","KW_VAR","KW_VARIABLE","KW_VERSION","KW_VIEW","KW_VIEWS","KW_VOID","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_YEAR","KW_YEARS","KW_ZONE","KW_ZORDER","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","NOT","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","DECIMAL_DIGITS","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],l._serializedATN=[4,0,393,3709,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,3,351,3406,8,351,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,354,1,354,1,354,1,355,1,355,1,356,1,356,1,356,1,356,3,356,3424,8,356,1,357,1,357,1,358,1,358,1,358,1,358,3,358,3432,8,358,1,359,1,359,1,360,1,360,1,361,1,361,1,362,1,362,1,363,1,363,1,364,1,364,1,365,1,365,1,366,1,366,1,367,1,367,1,368,1,368,1,368,1,369,1,369,1,370,1,370,1,371,1,371,1,371,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,375,1,375,1,376,1,376,1,376,1,376,5,376,3478,8,376,10,376,12,376,3481,9,376,1,376,1,376,1,376,1,376,1,376,5,376,3488,8,376,10,376,12,376,3491,9,376,1,376,1,376,1,376,1,376,1,376,5,376,3498,8,376,10,376,12,376,3501,9,376,1,376,3,376,3504,8,376,1,377,1,377,1,377,1,377,5,377,3510,8,377,10,377,12,377,3513,9,377,1,377,1,377,1,378,4,378,3518,8,378,11,378,12,378,3519,1,378,1,378,1,379,4,379,3525,8,379,11,379,12,379,3526,1,379,1,379,1,380,4,380,3532,8,380,11,380,12,380,3533,1,380,1,380,1,381,4,381,3539,8,381,11,381,12,381,3540,1,382,4,382,3544,8,382,11,382,12,382,3545,1,382,1,382,1,382,1,382,1,382,3,382,3553,8,382,1,383,1,383,1,384,4,384,3558,8,384,11,384,12,384,3559,1,384,3,384,3563,8,384,1,384,1,384,1,384,1,384,3,384,3569,8,384,1,384,1,384,3,384,3573,8,384,1,385,4,385,3576,8,385,11,385,12,385,3577,1,385,3,385,3581,8,385,1,385,1,385,1,385,1,385,3,385,3587,8,385,1,385,1,385,3,385,3591,8,385,1,386,4,386,3594,8,386,11,386,12,386,3595,1,386,3,386,3599,8,386,1,386,1,386,1,386,1,386,1,386,3,386,3606,8,386,1,386,1,386,1,386,3,386,3611,8,386,1,387,1,387,1,387,4,387,3616,8,387,11,387,12,387,3617,1,388,1,388,1,388,1,388,5,388,3624,8,388,10,388,12,388,3627,9,388,1,388,1,388,1,389,4,389,3632,8,389,11,389,12,389,3633,1,389,1,389,5,389,3638,8,389,10,389,12,389,3641,9,389,1,389,1,389,4,389,3645,8,389,11,389,12,389,3646,3,389,3649,8,389,1,390,1,390,3,390,3653,8,390,1,390,4,390,3656,8,390,11,390,12,390,3657,1,391,1,391,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,5,393,3670,8,393,10,393,12,393,3673,9,393,1,393,3,393,3676,8,393,1,393,3,393,3679,8,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,5,394,3688,8,394,10,394,12,394,3691,9,394,1,394,1,394,1,394,1,394,3,394,3697,8,394,1,394,1,394,1,395,4,395,3702,8,395,11,395,12,395,3703,1,395,1,395,1,396,1,396,1,3689,0,397,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,0,781,0,783,0,785,0,787,390,789,391,791,392,793,393,1,0,36,2,0,65,65,97,97,2,0,68,68,100,100,2,0,70,70,102,102,2,0,84,84,116,116,2,0,69,69,101,101,2,0,82,82,114,114,2,0,76,76,108,108,2,0,87,87,119,119,2,0,89,89,121,121,2,0,83,83,115,115,2,0,78,78,110,110,2,0,90,90,122,122,2,0,73,73,105,105,2,0,86,86,118,118,2,0,85,85,117,117,2,0,67,67,99,99,2,0,72,72,104,104,2,0,79,79,111,111,2,0,66,66,98,98,2,0,71,71,103,103,2,0,75,75,107,107,2,0,77,77,109,109,2,0,80,80,112,112,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,2,0,39,39,92,92,1,0,39,39,1,0,34,34,2,0,34,34,92,92,1,0,96,96,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,3752,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,1,795,1,0,0,0,3,797,1,0,0,0,5,799,1,0,0,0,7,801,1,0,0,0,9,803,1,0,0,0,11,805,1,0,0,0,13,807,1,0,0,0,15,809,1,0,0,0,17,813,1,0,0,0,19,819,1,0,0,0,21,823,1,0,0,0,23,829,1,0,0,0,25,836,1,0,0,0,27,844,1,0,0,0,29,848,1,0,0,0,31,853,1,0,0,0,33,857,1,0,0,0,35,867,1,0,0,0,37,875,1,0,0,0,39,881,1,0,0,0,41,884,1,0,0,0,43,888,1,0,0,0,45,891,1,0,0,0,47,905,1,0,0,0,49,913,1,0,0,0,51,920,1,0,0,0,53,927,1,0,0,0,55,935,1,0,0,0,57,940,1,0,0,0,59,947,1,0,0,0,61,955,1,0,0,0,63,958,1,0,0,0,65,963,1,0,0,0,67,969,1,0,0,0,69,977,1,0,0,0,71,982,1,0,0,0,73,987,1,0,0,0,75,995,1,0,0,0,77,1004,1,0,0,0,79,1011,1,0,0,0,81,1016,1,0,0,0,83,1026,1,0,0,0,85,1032,1,0,0,0,87,1038,1,0,0,0,89,1046,1,0,0,0,91,1056,1,0,0,0,93,1064,1,0,0,0,95,1072,1,0,0,0,97,1083,1,0,0,0,99,1090,1,0,0,0,101,1098,1,0,0,0,103,1106,1,0,0,0,105,1113,1,0,0,0,107,1121,1,0,0,0,109,1133,1,0,0,0,111,1141,1,0,0,0,113,1153,1,0,0,0,115,1164,1,0,0,0,117,1169,1,0,0,0,119,1176,1,0,0,0,121,1182,1,0,0,0,123,1187,1,0,0,0,125,1195,1,0,0,0,127,1208,1,0,0,0,129,1221,1,0,0,0,131,1239,1,0,0,0,133,1252,1,0,0,0,135,1256,1,0,0,0,137,1261,1,0,0,0,139,1271,1,0,0,0,141,1276,1,0,0,0,143,1281,1,0,0,0,145,1290,1,0,0,0,147,1300,1,0,0,0,149,1308,1,0,0,0,151,1317,1,0,0,0,153,1326,1,0,0,0,155,1336,1,0,0,0,157,1349,1,0,0,0,159,1353,1,0,0,0,161,1361,1,0,0,0,163,1369,1,0,0,0,165,1377,1,0,0,0,167,1385,1,0,0,0,169,1392,1,0,0,0,171,1402,1,0,0,0,173,1407,1,0,0,0,175,1416,1,0,0,0,177,1420,1,0,0,0,179,1432,1,0,0,0,181,1442,1,0,0,0,183,1450,1,0,0,0,185,1459,1,0,0,0,187,1470,1,0,0,0,189,1474,1,0,0,0,191,1481,1,0,0,0,193,1486,1,0,0,0,195,1491,1,0,0,0,197,1498,1,0,0,0,199,1502,1,0,0,0,201,1509,1,0,0,0,203,1517,1,0,0,0,205,1524,1,0,0,0,207,1533,1,0,0,0,209,1541,1,0,0,0,211,1548,1,0,0,0,213,1556,1,0,0,0,215,1563,1,0,0,0,217,1572,1,0,0,0,219,1581,1,0,0,0,221,1589,1,0,0,0,223,1595,1,0,0,0,225,1601,1,0,0,0,227,1608,1,0,0,0,229,1615,1,0,0,0,231,1626,1,0,0,0,233,1632,1,0,0,0,235,1638,1,0,0,0,237,1648,1,0,0,0,239,1652,1,0,0,0,241,1660,1,0,0,0,243,1667,1,0,0,0,245,1677,1,0,0,0,247,1682,1,0,0,0,249,1687,1,0,0,0,251,1696,1,0,0,0,253,1706,1,0,0,0,255,1716,1,0,0,0,257,1723,1,0,0,0,259,1729,1,0,0,0,261,1735,1,0,0,0,263,1744,1,0,0,0,265,1751,1,0,0,0,267,1753,1,0,0,0,269,1758,1,0,0,0,271,1764,1,0,0,0,273,1775,1,0,0,0,275,1778,1,0,0,0,277,1785,1,0,0,0,279,1792,1,0,0,0,281,1795,1,0,0,0,283,1803,1,0,0,0,285,1809,1,0,0,0,287,1817,1,0,0,0,289,1823,1,0,0,0,291,1830,1,0,0,0,293,1842,1,0,0,0,295,1849,1,0,0,0,297,1859,1,0,0,0,299,1868,1,0,0,0,301,1872,1,0,0,0,303,1880,1,0,0,0,305,1885,1,0,0,0,307,1888,1,0,0,0,309,1894,1,0,0,0,311,1899,1,0,0,0,313,1904,1,0,0,0,315,1909,1,0,0,0,317,1917,1,0,0,0,319,1922,1,0,0,0,321,1930,1,0,0,0,323,1935,1,0,0,0,325,1945,1,0,0,0,327,1950,1,0,0,0,329,1956,1,0,0,0,331,1962,1,0,0,0,333,1968,1,0,0,0,335,1973,1,0,0,0,337,1978,1,0,0,0,339,1984,1,0,0,0,341,1993,1,0,0,0,343,1998,1,0,0,0,345,2004,1,0,0,0,347,2012,1,0,0,0,349,2017,1,0,0,0,351,2023,1,0,0,0,353,2036,1,0,0,0,355,2040,1,0,0,0,357,2048,1,0,0,0,359,2054,1,0,0,0,361,2066,1,0,0,0,363,2079,1,0,0,0,365,2091,1,0,0,0,367,2104,1,0,0,0,369,2111,1,0,0,0,371,2119,1,0,0,0,373,2125,1,0,0,0,375,2132,1,0,0,0,377,2137,1,0,0,0,379,2142,1,0,0,0,381,2152,1,0,0,0,383,2163,1,0,0,0,385,2174,1,0,0,0,387,2186,1,0,0,0,389,2194,1,0,0,0,391,2197,1,0,0,0,393,2204,1,0,0,0,395,2208,1,0,0,0,397,2213,1,0,0,0,399,2219,1,0,0,0,401,2227,1,0,0,0,403,2230,1,0,0,0,405,2237,1,0,0,0,407,2240,1,0,0,0,409,2245,1,0,0,0,411,2254,1,0,0,0,413,2261,1,0,0,0,415,2269,1,0,0,0,417,2272,1,0,0,0,419,2278,1,0,0,0,421,2282,1,0,0,0,423,2288,1,0,0,0,425,2301,1,0,0,0,427,2306,1,0,0,0,429,2315,1,0,0,0,431,2323,1,0,0,0,433,2333,1,0,0,0,435,2343,1,0,0,0,437,2355,1,0,0,0,439,2366,1,0,0,0,441,2382,1,0,0,0,443,2398,1,0,0,0,445,2406,1,0,0,0,447,2412,1,0,0,0,449,2420,1,0,0,0,451,2429,1,0,0,0,453,2439,1,0,0,0,455,2447,1,0,0,0,457,2458,1,0,0,0,459,2469,1,0,0,0,461,2475,1,0,0,0,463,2483,1,0,0,0,465,2489,1,0,0,0,467,2495,1,0,0,0,469,2500,1,0,0,0,471,2513,1,0,0,0,473,2526,1,0,0,0,475,2534,1,0,0,0,477,2541,1,0,0,0,479,2552,1,0,0,0,481,2560,1,0,0,0,483,2567,1,0,0,0,485,2574,1,0,0,0,487,2585,1,0,0,0,489,2593,1,0,0,0,491,2599,1,0,0,0,493,2607,1,0,0,0,495,2616,1,0,0,0,497,2624,1,0,0,0,499,2631,1,0,0,0,501,2637,1,0,0,0,503,2643,1,0,0,0,505,2650,1,0,0,0,507,2655,1,0,0,0,509,2661,1,0,0,0,511,2670,1,0,0,0,513,2677,1,0,0,0,515,2681,1,0,0,0,517,2686,1,0,0,0,519,2693,1,0,0,0,521,2701,1,0,0,0,523,2708,1,0,0,0,525,2716,1,0,0,0,527,2723,1,0,0,0,529,2728,1,0,0,0,531,2738,1,0,0,0,533,2744,1,0,0,0,535,2760,1,0,0,0,537,2773,1,0,0,0,539,2777,1,0,0,0,541,2783,1,0,0,0,543,2788,1,0,0,0,545,2794,1,0,0,0,547,2799,1,0,0,0,549,2806,1,0,0,0,551,2813,1,0,0,0,553,2822,1,0,0,0,555,2827,1,0,0,0,557,2832,1,0,0,0,559,2839,1,0,0,0,561,2846,1,0,0,0,563,2852,1,0,0,0,565,2863,1,0,0,0,567,2870,1,0,0,0,569,2879,1,0,0,0,571,2886,1,0,0,0,573,2893,1,0,0,0,575,2900,1,0,0,0,577,2910,1,0,0,0,579,2915,1,0,0,0,581,2922,1,0,0,0,583,2934,1,0,0,0,585,2949,1,0,0,0,587,2955,1,0,0,0,589,2962,1,0,0,0,591,2974,1,0,0,0,593,2981,1,0,0,0,595,2995,1,0,0,0,597,3005,1,0,0,0,599,3016,1,0,0,0,601,3021,1,0,0,0,603,3026,1,0,0,0,605,3035,1,0,0,0,607,3045,1,0,0,0,609,3059,1,0,0,0,611,3073,1,0,0,0,613,3086,1,0,0,0,615,3100,1,0,0,0,617,3108,1,0,0,0,619,3111,1,0,0,0,621,3117,1,0,0,0,623,3126,1,0,0,0,625,3138,1,0,0,0,627,3151,1,0,0,0,629,3161,1,0,0,0,631,3166,1,0,0,0,633,3171,1,0,0,0,635,3180,1,0,0,0,637,3189,1,0,0,0,639,3194,1,0,0,0,641,3204,1,0,0,0,643,3214,1,0,0,0,645,3222,1,0,0,0,647,3228,1,0,0,0,649,3235,1,0,0,0,651,3243,1,0,0,0,653,3250,1,0,0,0,655,3258,1,0,0,0,657,3264,1,0,0,0,659,3271,1,0,0,0,661,3275,1,0,0,0,663,3280,1,0,0,0,665,3286,1,0,0,0,667,3293,1,0,0,0,669,3301,1,0,0,0,671,3305,1,0,0,0,673,3314,1,0,0,0,675,3322,1,0,0,0,677,3327,1,0,0,0,679,3333,1,0,0,0,681,3338,1,0,0,0,683,3343,1,0,0,0,685,3349,1,0,0,0,687,3354,1,0,0,0,689,3360,1,0,0,0,691,3367,1,0,0,0,693,3372,1,0,0,0,695,3379,1,0,0,0,697,3384,1,0,0,0,699,3390,1,0,0,0,701,3395,1,0,0,0,703,3405,1,0,0,0,705,3407,1,0,0,0,707,3411,1,0,0,0,709,3414,1,0,0,0,711,3417,1,0,0,0,713,3423,1,0,0,0,715,3425,1,0,0,0,717,3431,1,0,0,0,719,3433,1,0,0,0,721,3435,1,0,0,0,723,3437,1,0,0,0,725,3439,1,0,0,0,727,3441,1,0,0,0,729,3443,1,0,0,0,731,3445,1,0,0,0,733,3447,1,0,0,0,735,3449,1,0,0,0,737,3451,1,0,0,0,739,3454,1,0,0,0,741,3456,1,0,0,0,743,3458,1,0,0,0,745,3461,1,0,0,0,747,3464,1,0,0,0,749,3468,1,0,0,0,751,3471,1,0,0,0,753,3503,1,0,0,0,755,3505,1,0,0,0,757,3517,1,0,0,0,759,3524,1,0,0,0,761,3531,1,0,0,0,763,3538,1,0,0,0,765,3552,1,0,0,0,767,3554,1,0,0,0,769,3572,1,0,0,0,771,3590,1,0,0,0,773,3610,1,0,0,0,775,3615,1,0,0,0,777,3619,1,0,0,0,779,3648,1,0,0,0,781,3650,1,0,0,0,783,3659,1,0,0,0,785,3661,1,0,0,0,787,3663,1,0,0,0,789,3682,1,0,0,0,791,3701,1,0,0,0,793,3707,1,0,0,0,795,796,5,59,0,0,796,2,1,0,0,0,797,798,5,40,0,0,798,4,1,0,0,0,799,800,5,41,0,0,800,6,1,0,0,0,801,802,5,44,0,0,802,8,1,0,0,0,803,804,5,46,0,0,804,10,1,0,0,0,805,806,5,91,0,0,806,12,1,0,0,0,807,808,5,93,0,0,808,14,1,0,0,0,809,810,7,0,0,0,810,811,7,1,0,0,811,812,7,1,0,0,812,16,1,0,0,0,813,814,7,0,0,0,814,815,7,2,0,0,815,816,7,3,0,0,816,817,7,4,0,0,817,818,7,5,0,0,818,18,1,0,0,0,819,820,7,0,0,0,820,821,7,6,0,0,821,822,7,6,0,0,822,20,1,0,0,0,823,824,7,0,0,0,824,825,7,6,0,0,825,826,7,3,0,0,826,827,7,4,0,0,827,828,7,5,0,0,828,22,1,0,0,0,829,830,7,0,0,0,830,831,7,6,0,0,831,832,7,7,0,0,832,833,7,0,0,0,833,834,7,8,0,0,834,835,7,9,0,0,835,24,1,0,0,0,836,837,7,0,0,0,837,838,7,10,0,0,838,839,7,0,0,0,839,840,7,6,0,0,840,841,7,8,0,0,841,842,7,11,0,0,842,843,7,4,0,0,843,26,1,0,0,0,844,845,7,0,0,0,845,846,7,10,0,0,846,847,7,1,0,0,847,28,1,0,0,0,848,849,7,0,0,0,849,850,7,10,0,0,850,851,7,3,0,0,851,852,7,12,0,0,852,30,1,0,0,0,853,854,7,0,0,0,854,855,7,10,0,0,855,856,7,8,0,0,856,32,1,0,0,0,857,858,7,0,0,0,858,859,7,10,0,0,859,860,7,8,0,0,860,861,5,95,0,0,861,862,7,13,0,0,862,863,7,0,0,0,863,864,7,6,0,0,864,865,7,14,0,0,865,866,7,4,0,0,866,34,1,0,0,0,867,868,7,0,0,0,868,869,7,5,0,0,869,870,7,15,0,0,870,871,7,16,0,0,871,872,7,12,0,0,872,873,7,13,0,0,873,874,7,4,0,0,874,36,1,0,0,0,875,876,7,0,0,0,876,877,7,5,0,0,877,878,7,5,0,0,878,879,7,0,0,0,879,880,7,8,0,0,880,38,1,0,0,0,881,882,7,0,0,0,882,883,7,9,0,0,883,40,1,0,0,0,884,885,7,0,0,0,885,886,7,9,0,0,886,887,7,15,0,0,887,42,1,0,0,0,888,889,7,0,0,0,889,890,7,3,0,0,890,44,1,0,0,0,891,892,7,0,0,0,892,893,7,14,0,0,893,894,7,3,0,0,894,895,7,16,0,0,895,896,7,17,0,0,896,897,7,5,0,0,897,898,7,12,0,0,898,899,7,11,0,0,899,900,7,0,0,0,900,901,7,3,0,0,901,902,7,12,0,0,902,903,7,17,0,0,903,904,7,10,0,0,904,46,1,0,0,0,905,906,7,18,0,0,906,907,7,4,0,0,907,908,7,3,0,0,908,909,7,7,0,0,909,910,7,4,0,0,910,911,7,4,0,0,911,912,7,10,0,0,912,48,1,0,0,0,913,914,7,18,0,0,914,915,7,12,0,0,915,916,7,19,0,0,916,917,7,12,0,0,917,918,7,10,0,0,918,919,7,3,0,0,919,50,1,0,0,0,920,921,7,18,0,0,921,922,7,12,0,0,922,923,7,10,0,0,923,924,7,0,0,0,924,925,7,5,0,0,925,926,7,8,0,0,926,52,1,0,0,0,927,928,7,18,0,0,928,929,7,17,0,0,929,930,7,17,0,0,930,931,7,6,0,0,931,932,7,4,0,0,932,933,7,0,0,0,933,934,7,10,0,0,934,54,1,0,0,0,935,936,7,18,0,0,936,937,7,17,0,0,937,938,7,3,0,0,938,939,7,16,0,0,939,56,1,0,0,0,940,941,7,18,0,0,941,942,7,14,0,0,942,943,7,15,0,0,943,944,7,20,0,0,944,945,7,4,0,0,945,946,7,3,0,0,946,58,1,0,0,0,947,948,7,18,0,0,948,949,7,14,0,0,949,950,7,15,0,0,950,951,7,20,0,0,951,952,7,4,0,0,952,953,7,3,0,0,953,954,7,9,0,0,954,60,1,0,0,0,955,956,7,18,0,0,956,957,7,8,0,0,957,62,1,0,0,0,958,959,7,18,0,0,959,960,7,8,0,0,960,961,7,3,0,0,961,962,7,4,0,0,962,64,1,0,0,0,963,964,7,15,0,0,964,965,7,0,0,0,965,966,7,15,0,0,966,967,7,16,0,0,967,968,7,4,0,0,968,66,1,0,0,0,969,970,7,15,0,0,970,971,7,0,0,0,971,972,7,9,0,0,972,973,7,15,0,0,973,974,7,0,0,0,974,975,7,1,0,0,975,976,7,4,0,0,976,68,1,0,0,0,977,978,7,15,0,0,978,979,7,0,0,0,979,980,7,9,0,0,980,981,7,4,0,0,981,70,1,0,0,0,982,983,7,15,0,0,983,984,7,0,0,0,984,985,7,9,0,0,985,986,7,3,0,0,986,72,1,0,0,0,987,988,7,15,0,0,988,989,7,0,0,0,989,990,7,3,0,0,990,991,7,0,0,0,991,992,7,6,0,0,992,993,7,17,0,0,993,994,7,19,0,0,994,74,1,0,0,0,995,996,7,15,0,0,996,997,7,0,0,0,997,998,7,3,0,0,998,999,7,0,0,0,999,1e3,7,6,0,0,1e3,1001,7,17,0,0,1001,1002,7,19,0,0,1002,1003,7,9,0,0,1003,76,1,0,0,0,1004,1005,7,15,0,0,1005,1006,7,16,0,0,1006,1007,7,0,0,0,1007,1008,7,10,0,0,1008,1009,7,19,0,0,1009,1010,7,4,0,0,1010,78,1,0,0,0,1011,1012,7,15,0,0,1012,1013,7,16,0,0,1013,1014,7,0,0,0,1014,1015,7,5,0,0,1015,80,1,0,0,0,1016,1017,7,15,0,0,1017,1018,7,16,0,0,1018,1019,7,0,0,0,1019,1020,7,5,0,0,1020,1021,7,0,0,0,1021,1022,7,15,0,0,1022,1023,7,3,0,0,1023,1024,7,4,0,0,1024,1025,7,5,0,0,1025,82,1,0,0,0,1026,1027,7,15,0,0,1027,1028,7,16,0,0,1028,1029,7,4,0,0,1029,1030,7,15,0,0,1030,1031,7,20,0,0,1031,84,1,0,0,0,1032,1033,7,15,0,0,1033,1034,7,6,0,0,1034,1035,7,4,0,0,1035,1036,7,0,0,0,1036,1037,7,5,0,0,1037,86,1,0,0,0,1038,1039,7,15,0,0,1039,1040,7,6,0,0,1040,1041,7,14,0,0,1041,1042,7,9,0,0,1042,1043,7,3,0,0,1043,1044,7,4,0,0,1044,1045,7,5,0,0,1045,88,1,0,0,0,1046,1047,7,15,0,0,1047,1048,7,6,0,0,1048,1049,7,14,0,0,1049,1050,7,9,0,0,1050,1051,7,3,0,0,1051,1052,7,4,0,0,1052,1053,7,5,0,0,1053,1054,7,4,0,0,1054,1055,7,1,0,0,1055,90,1,0,0,0,1056,1057,7,15,0,0,1057,1058,7,17,0,0,1058,1059,7,1,0,0,1059,1060,7,4,0,0,1060,1061,7,19,0,0,1061,1062,7,4,0,0,1062,1063,7,10,0,0,1063,92,1,0,0,0,1064,1065,7,15,0,0,1065,1066,7,17,0,0,1066,1067,7,6,0,0,1067,1068,7,6,0,0,1068,1069,7,0,0,0,1069,1070,7,3,0,0,1070,1071,7,4,0,0,1071,94,1,0,0,0,1072,1073,7,15,0,0,1073,1074,7,17,0,0,1074,1075,7,6,0,0,1075,1076,7,6,0,0,1076,1077,7,4,0,0,1077,1078,7,15,0,0,1078,1079,7,3,0,0,1079,1080,7,12,0,0,1080,1081,7,17,0,0,1081,1082,7,10,0,0,1082,96,1,0,0,0,1083,1084,7,15,0,0,1084,1085,7,17,0,0,1085,1086,7,6,0,0,1086,1087,7,14,0,0,1087,1088,7,21,0,0,1088,1089,7,10,0,0,1089,98,1,0,0,0,1090,1091,7,15,0,0,1091,1092,7,17,0,0,1092,1093,7,6,0,0,1093,1094,7,14,0,0,1094,1095,7,21,0,0,1095,1096,7,10,0,0,1096,1097,7,9,0,0,1097,100,1,0,0,0,1098,1099,7,15,0,0,1099,1100,7,17,0,0,1100,1101,7,21,0,0,1101,1102,7,21,0,0,1102,1103,7,4,0,0,1103,1104,7,10,0,0,1104,1105,7,3,0,0,1105,102,1,0,0,0,1106,1107,7,15,0,0,1107,1108,7,17,0,0,1108,1109,7,21,0,0,1109,1110,7,21,0,0,1110,1111,7,12,0,0,1111,1112,7,3,0,0,1112,104,1,0,0,0,1113,1114,7,15,0,0,1114,1115,7,17,0,0,1115,1116,7,21,0,0,1116,1117,7,22,0,0,1117,1118,7,0,0,0,1118,1119,7,15,0,0,1119,1120,7,3,0,0,1120,106,1,0,0,0,1121,1122,7,15,0,0,1122,1123,7,17,0,0,1123,1124,7,21,0,0,1124,1125,7,22,0,0,1125,1126,7,0,0,0,1126,1127,7,15,0,0,1127,1128,7,3,0,0,1128,1129,7,12,0,0,1129,1130,7,17,0,0,1130,1131,7,10,0,0,1131,1132,7,9,0,0,1132,108,1,0,0,0,1133,1134,7,15,0,0,1134,1135,7,17,0,0,1135,1136,7,21,0,0,1136,1137,7,22,0,0,1137,1138,7,14,0,0,1138,1139,7,3,0,0,1139,1140,7,4,0,0,1140,110,1,0,0,0,1141,1142,7,15,0,0,1142,1143,7,17,0,0,1143,1144,7,10,0,0,1144,1145,7,15,0,0,1145,1146,7,0,0,0,1146,1147,7,3,0,0,1147,1148,7,4,0,0,1148,1149,7,10,0,0,1149,1150,7,0,0,0,1150,1151,7,3,0,0,1151,1152,7,4,0,0,1152,112,1,0,0,0,1153,1154,7,15,0,0,1154,1155,7,17,0,0,1155,1156,7,10,0,0,1156,1157,7,9,0,0,1157,1158,7,3,0,0,1158,1159,7,5,0,0,1159,1160,7,0,0,0,1160,1161,7,12,0,0,1161,1162,7,10,0,0,1162,1163,7,3,0,0,1163,114,1,0,0,0,1164,1165,7,15,0,0,1165,1166,7,17,0,0,1166,1167,7,9,0,0,1167,1168,7,3,0,0,1168,116,1,0,0,0,1169,1170,7,15,0,0,1170,1171,7,5,0,0,1171,1172,7,4,0,0,1172,1173,7,0,0,0,1173,1174,7,3,0,0,1174,1175,7,4,0,0,1175,118,1,0,0,0,1176,1177,7,15,0,0,1177,1178,7,5,0,0,1178,1179,7,17,0,0,1179,1180,7,9,0,0,1180,1181,7,9,0,0,1181,120,1,0,0,0,1182,1183,7,15,0,0,1183,1184,7,14,0,0,1184,1185,7,18,0,0,1185,1186,7,4,0,0,1186,122,1,0,0,0,1187,1188,7,15,0,0,1188,1189,7,14,0,0,1189,1190,7,5,0,0,1190,1191,7,5,0,0,1191,1192,7,4,0,0,1192,1193,7,10,0,0,1193,1194,7,3,0,0,1194,124,1,0,0,0,1195,1196,7,15,0,0,1196,1197,7,14,0,0,1197,1198,7,5,0,0,1198,1199,7,5,0,0,1199,1200,7,4,0,0,1200,1201,7,10,0,0,1201,1202,7,3,0,0,1202,1203,5,95,0,0,1203,1204,7,1,0,0,1204,1205,7,0,0,0,1205,1206,7,3,0,0,1206,1207,7,4,0,0,1207,126,1,0,0,0,1208,1209,7,15,0,0,1209,1210,7,14,0,0,1210,1211,7,5,0,0,1211,1212,7,5,0,0,1212,1213,7,4,0,0,1213,1214,7,10,0,0,1214,1215,7,3,0,0,1215,1216,5,95,0,0,1216,1217,7,3,0,0,1217,1218,7,12,0,0,1218,1219,7,21,0,0,1219,1220,7,4,0,0,1220,128,1,0,0,0,1221,1222,7,15,0,0,1222,1223,7,14,0,0,1223,1224,7,5,0,0,1224,1225,7,5,0,0,1225,1226,7,4,0,0,1226,1227,7,10,0,0,1227,1228,7,3,0,0,1228,1229,5,95,0,0,1229,1230,7,3,0,0,1230,1231,7,12,0,0,1231,1232,7,21,0,0,1232,1233,7,4,0,0,1233,1234,7,9,0,0,1234,1235,7,3,0,0,1235,1236,7,0,0,0,1236,1237,7,21,0,0,1237,1238,7,22,0,0,1238,130,1,0,0,0,1239,1240,7,15,0,0,1240,1241,7,14,0,0,1241,1242,7,5,0,0,1242,1243,7,5,0,0,1243,1244,7,4,0,0,1244,1245,7,10,0,0,1245,1246,7,3,0,0,1246,1247,5,95,0,0,1247,1248,7,14,0,0,1248,1249,7,9,0,0,1249,1250,7,4,0,0,1250,1251,7,5,0,0,1251,132,1,0,0,0,1252,1253,7,1,0,0,1253,1254,7,0,0,0,1254,1255,7,8,0,0,1255,134,1,0,0,0,1256,1257,7,1,0,0,1257,1258,7,0,0,0,1258,1259,7,8,0,0,1259,1260,7,9,0,0,1260,136,1,0,0,0,1261,1262,7,1,0,0,1262,1263,7,0,0,0,1263,1264,7,8,0,0,1264,1265,7,17,0,0,1265,1266,7,2,0,0,1266,1267,7,8,0,0,1267,1268,7,4,0,0,1268,1269,7,0,0,0,1269,1270,7,5,0,0,1270,138,1,0,0,0,1271,1272,7,1,0,0,1272,1273,7,0,0,0,1273,1274,7,3,0,0,1274,1275,7,0,0,0,1275,140,1,0,0,0,1276,1277,7,1,0,0,1277,1278,7,0,0,0,1278,1279,7,3,0,0,1279,1280,7,4,0,0,1280,142,1,0,0,0,1281,1282,7,1,0,0,1282,1283,7,0,0,0,1283,1284,7,3,0,0,1284,1285,7,0,0,0,1285,1286,7,18,0,0,1286,1287,7,0,0,0,1287,1288,7,9,0,0,1288,1289,7,4,0,0,1289,144,1,0,0,0,1290,1291,7,1,0,0,1291,1292,7,0,0,0,1292,1293,7,3,0,0,1293,1294,7,0,0,0,1294,1295,7,18,0,0,1295,1296,7,0,0,0,1296,1297,7,9,0,0,1297,1298,7,4,0,0,1298,1299,7,9,0,0,1299,146,1,0,0,0,1300,1301,7,1,0,0,1301,1302,7,0,0,0,1302,1303,7,3,0,0,1303,1304,7,4,0,0,1304,1305,7,0,0,0,1305,1306,7,1,0,0,1306,1307,7,1,0,0,1307,148,1,0,0,0,1308,1309,7,1,0,0,1309,1310,7,0,0,0,1310,1311,7,3,0,0,1311,1312,7,4,0,0,1312,1313,5,95,0,0,1313,1314,7,0,0,0,1314,1315,7,1,0,0,1315,1316,7,1,0,0,1316,150,1,0,0,0,1317,1318,7,1,0,0,1318,1319,7,0,0,0,1319,1320,7,3,0,0,1320,1321,7,4,0,0,1321,1322,7,1,0,0,1322,1323,7,12,0,0,1323,1324,7,2,0,0,1324,1325,7,2,0,0,1325,152,1,0,0,0,1326,1327,7,1,0,0,1327,1328,7,0,0,0,1328,1329,7,3,0,0,1329,1330,7,4,0,0,1330,1331,5,95,0,0,1331,1332,7,1,0,0,1332,1333,7,12,0,0,1333,1334,7,2,0,0,1334,1335,7,2,0,0,1335,154,1,0,0,0,1336,1337,7,1,0,0,1337,1338,7,18,0,0,1338,1339,7,22,0,0,1339,1340,7,5,0,0,1340,1341,7,17,0,0,1341,1342,7,22,0,0,1342,1343,7,4,0,0,1343,1344,7,5,0,0,1344,1345,7,3,0,0,1345,1346,7,12,0,0,1346,1347,7,4,0,0,1347,1348,7,9,0,0,1348,156,1,0,0,0,1349,1350,7,1,0,0,1350,1351,7,4,0,0,1351,1352,7,15,0,0,1352,158,1,0,0,0,1353,1354,7,1,0,0,1354,1355,7,4,0,0,1355,1356,7,15,0,0,1356,1357,7,12,0,0,1357,1358,7,21,0,0,1358,1359,7,0,0,0,1359,1360,7,6,0,0,1360,160,1,0,0,0,1361,1362,7,1,0,0,1362,1363,7,4,0,0,1363,1364,7,15,0,0,1364,1365,7,6,0,0,1365,1366,7,0,0,0,1366,1367,7,5,0,0,1367,1368,7,4,0,0,1368,162,1,0,0,0,1369,1370,7,1,0,0,1370,1371,7,4,0,0,1371,1372,7,2,0,0,1372,1373,7,0,0,0,1373,1374,7,14,0,0,1374,1375,7,6,0,0,1375,1376,7,3,0,0,1376,164,1,0,0,0,1377,1378,7,1,0,0,1378,1379,7,4,0,0,1379,1380,7,2,0,0,1380,1381,7,12,0,0,1381,1382,7,10,0,0,1382,1383,7,4,0,0,1383,1384,7,1,0,0,1384,166,1,0,0,0,1385,1386,7,1,0,0,1386,1387,7,4,0,0,1387,1388,7,6,0,0,1388,1389,7,4,0,0,1389,1390,7,3,0,0,1390,1391,7,4,0,0,1391,168,1,0,0,0,1392,1393,7,1,0,0,1393,1394,7,4,0,0,1394,1395,7,6,0,0,1395,1396,7,12,0,0,1396,1397,7,21,0,0,1397,1398,7,12,0,0,1398,1399,7,3,0,0,1399,1400,7,4,0,0,1400,1401,7,1,0,0,1401,170,1,0,0,0,1402,1403,7,1,0,0,1403,1404,7,4,0,0,1404,1405,7,9,0,0,1405,1406,7,15,0,0,1406,172,1,0,0,0,1407,1408,7,1,0,0,1408,1409,7,4,0,0,1409,1410,7,9,0,0,1410,1411,7,15,0,0,1411,1412,7,5,0,0,1412,1413,7,12,0,0,1413,1414,7,18,0,0,1414,1415,7,4,0,0,1415,174,1,0,0,0,1416,1417,7,1,0,0,1417,1418,7,2,0,0,1418,1419,7,9,0,0,1419,176,1,0,0,0,1420,1421,7,1,0,0,1421,1422,7,12,0,0,1422,1423,7,5,0,0,1423,1424,7,4,0,0,1424,1425,7,15,0,0,1425,1426,7,3,0,0,1426,1427,7,17,0,0,1427,1428,7,5,0,0,1428,1429,7,12,0,0,1429,1430,7,4,0,0,1430,1431,7,9,0,0,1431,178,1,0,0,0,1432,1433,7,1,0,0,1433,1434,7,12,0,0,1434,1435,7,5,0,0,1435,1436,7,4,0,0,1436,1437,7,15,0,0,1437,1438,7,3,0,0,1438,1439,7,17,0,0,1439,1440,7,5,0,0,1440,1441,7,8,0,0,1441,180,1,0,0,0,1442,1443,7,1,0,0,1443,1444,7,12,0,0,1444,1445,7,9,0,0,1445,1446,7,0,0,0,1446,1447,7,18,0,0,1447,1448,7,6,0,0,1448,1449,7,4,0,0,1449,182,1,0,0,0,1450,1451,7,1,0,0,1451,1452,7,12,0,0,1452,1453,7,9,0,0,1453,1454,7,3,0,0,1454,1455,7,12,0,0,1455,1456,7,10,0,0,1456,1457,7,15,0,0,1457,1458,7,3,0,0,1458,184,1,0,0,0,1459,1460,7,1,0,0,1460,1461,7,12,0,0,1461,1462,7,9,0,0,1462,1463,7,3,0,0,1463,1464,7,5,0,0,1464,1465,7,12,0,0,1465,1466,7,18,0,0,1466,1467,7,14,0,0,1467,1468,7,3,0,0,1468,1469,7,4,0,0,1469,186,1,0,0,0,1470,1471,7,1,0,0,1471,1472,7,12,0,0,1472,1473,7,13,0,0,1473,188,1,0,0,0,1474,1475,7,1,0,0,1475,1476,7,17,0,0,1476,1477,7,14,0,0,1477,1478,7,18,0,0,1478,1479,7,6,0,0,1479,1480,7,4,0,0,1480,190,1,0,0,0,1481,1482,7,1,0,0,1482,1483,7,5,0,0,1483,1484,7,17,0,0,1484,1485,7,22,0,0,1485,192,1,0,0,0,1486,1487,7,4,0,0,1487,1488,7,6,0,0,1488,1489,7,9,0,0,1489,1490,7,4,0,0,1490,194,1,0,0,0,1491,1492,7,4,0,0,1492,1493,7,10,0,0,1493,1494,7,0,0,0,1494,1495,7,18,0,0,1495,1496,7,6,0,0,1496,1497,7,4,0,0,1497,196,1,0,0,0,1498,1499,7,4,0,0,1499,1500,7,10,0,0,1500,1501,7,1,0,0,1501,198,1,0,0,0,1502,1503,7,4,0,0,1503,1504,7,9,0,0,1504,1505,7,15,0,0,1505,1506,7,0,0,0,1506,1507,7,22,0,0,1507,1508,7,4,0,0,1508,200,1,0,0,0,1509,1510,7,4,0,0,1510,1511,7,9,0,0,1511,1512,7,15,0,0,1512,1513,7,0,0,0,1513,1514,7,22,0,0,1514,1515,7,4,0,0,1515,1516,7,1,0,0,1516,202,1,0,0,0,1517,1518,7,4,0,0,1518,1519,7,23,0,0,1519,1520,7,15,0,0,1520,1521,7,4,0,0,1521,1522,7,22,0,0,1522,1523,7,3,0,0,1523,204,1,0,0,0,1524,1525,7,4,0,0,1525,1526,7,23,0,0,1526,1527,7,15,0,0,1527,1528,7,16,0,0,1528,1529,7,0,0,0,1529,1530,7,10,0,0,1530,1531,7,19,0,0,1531,1532,7,4,0,0,1532,206,1,0,0,0,1533,1534,7,4,0,0,1534,1535,7,23,0,0,1535,1536,7,15,0,0,1536,1537,7,6,0,0,1537,1538,7,14,0,0,1538,1539,7,1,0,0,1539,1540,7,4,0,0,1540,208,1,0,0,0,1541,1542,7,4,0,0,1542,1543,7,23,0,0,1543,1544,7,12,0,0,1544,1545,7,9,0,0,1545,1546,7,3,0,0,1546,1547,7,9,0,0,1547,210,1,0,0,0,1548,1549,7,4,0,0,1549,1550,7,23,0,0,1550,1551,7,22,0,0,1551,1552,7,6,0,0,1552,1553,7,0,0,0,1553,1554,7,12,0,0,1554,1555,7,10,0,0,1555,212,1,0,0,0,1556,1557,7,4,0,0,1557,1558,7,23,0,0,1558,1559,7,22,0,0,1559,1560,7,17,0,0,1560,1561,7,5,0,0,1561,1562,7,3,0,0,1562,214,1,0,0,0,1563,1564,7,4,0,0,1564,1565,7,23,0,0,1565,1566,7,3,0,0,1566,1567,7,4,0,0,1567,1568,7,10,0,0,1568,1569,7,1,0,0,1569,1570,7,4,0,0,1570,1571,7,1,0,0,1571,216,1,0,0,0,1572,1573,7,4,0,0,1573,1574,7,23,0,0,1574,1575,7,3,0,0,1575,1576,7,4,0,0,1576,1577,7,5,0,0,1577,1578,7,10,0,0,1578,1579,7,0,0,0,1579,1580,7,6,0,0,1580,218,1,0,0,0,1581,1582,7,4,0,0,1582,1583,7,23,0,0,1583,1584,7,3,0,0,1584,1585,7,5,0,0,1585,1586,7,0,0,0,1586,1587,7,15,0,0,1587,1588,7,3,0,0,1588,220,1,0,0,0,1589,1590,7,2,0,0,1590,1591,7,0,0,0,1591,1592,7,6,0,0,1592,1593,7,9,0,0,1593,1594,7,4,0,0,1594,222,1,0,0,0,1595,1596,7,2,0,0,1596,1597,7,4,0,0,1597,1598,7,3,0,0,1598,1599,7,15,0,0,1599,1600,7,16,0,0,1600,224,1,0,0,0,1601,1602,7,2,0,0,1602,1603,7,12,0,0,1603,1604,7,4,0,0,1604,1605,7,6,0,0,1605,1606,7,1,0,0,1606,1607,7,9,0,0,1607,226,1,0,0,0,1608,1609,7,2,0,0,1609,1610,7,12,0,0,1610,1611,7,6,0,0,1611,1612,7,3,0,0,1612,1613,7,4,0,0,1613,1614,7,5,0,0,1614,228,1,0,0,0,1615,1616,7,2,0,0,1616,1617,7,12,0,0,1617,1618,7,6,0,0,1618,1619,7,4,0,0,1619,1620,7,2,0,0,1620,1621,7,17,0,0,1621,1622,7,5,0,0,1622,1623,7,21,0,0,1623,1624,7,0,0,0,1624,1625,7,3,0,0,1625,230,1,0,0,0,1626,1627,7,2,0,0,1627,1628,7,12,0,0,1628,1629,7,5,0,0,1629,1630,7,9,0,0,1630,1631,7,3,0,0,1631,232,1,0,0,0,1632,1633,7,2,0,0,1633,1634,7,6,0,0,1634,1635,7,17,0,0,1635,1636,7,0,0,0,1636,1637,7,3,0,0,1637,234,1,0,0,0,1638,1639,7,2,0,0,1639,1640,7,17,0,0,1640,1641,7,6,0,0,1641,1642,7,6,0,0,1642,1643,7,17,0,0,1643,1644,7,7,0,0,1644,1645,7,12,0,0,1645,1646,7,10,0,0,1646,1647,7,19,0,0,1647,236,1,0,0,0,1648,1649,7,2,0,0,1649,1650,7,17,0,0,1650,1651,7,5,0,0,1651,238,1,0,0,0,1652,1653,7,2,0,0,1653,1654,7,17,0,0,1654,1655,7,5,0,0,1655,1656,7,4,0,0,1656,1657,7,12,0,0,1657,1658,7,19,0,0,1658,1659,7,10,0,0,1659,240,1,0,0,0,1660,1661,7,2,0,0,1661,1662,7,17,0,0,1662,1663,7,5,0,0,1663,1664,7,21,0,0,1664,1665,7,0,0,0,1665,1666,7,3,0,0,1666,242,1,0,0,0,1667,1668,7,2,0,0,1668,1669,7,17,0,0,1669,1670,7,5,0,0,1670,1671,7,21,0,0,1671,1672,7,0,0,0,1672,1673,7,3,0,0,1673,1674,7,3,0,0,1674,1675,7,4,0,0,1675,1676,7,1,0,0,1676,244,1,0,0,0,1677,1678,7,2,0,0,1678,1679,7,5,0,0,1679,1680,7,17,0,0,1680,1681,7,21,0,0,1681,246,1,0,0,0,1682,1683,7,2,0,0,1683,1684,7,14,0,0,1684,1685,7,6,0,0,1685,1686,7,6,0,0,1686,248,1,0,0,0,1687,1688,7,2,0,0,1688,1689,7,14,0,0,1689,1690,7,10,0,0,1690,1691,7,15,0,0,1691,1692,7,3,0,0,1692,1693,7,12,0,0,1693,1694,7,17,0,0,1694,1695,7,10,0,0,1695,250,1,0,0,0,1696,1697,7,2,0,0,1697,1698,7,14,0,0,1698,1699,7,10,0,0,1699,1700,7,15,0,0,1700,1701,7,3,0,0,1701,1702,7,12,0,0,1702,1703,7,17,0,0,1703,1704,7,10,0,0,1704,1705,7,9,0,0,1705,252,1,0,0,0,1706,1707,7,19,0,0,1707,1708,7,4,0,0,1708,1709,7,10,0,0,1709,1710,7,4,0,0,1710,1711,7,5,0,0,1711,1712,7,0,0,0,1712,1713,7,3,0,0,1713,1714,7,4,0,0,1714,1715,7,1,0,0,1715,254,1,0,0,0,1716,1717,7,19,0,0,1717,1718,7,6,0,0,1718,1719,7,17,0,0,1719,1720,7,18,0,0,1720,1721,7,0,0,0,1721,1722,7,6,0,0,1722,256,1,0,0,0,1723,1724,7,19,0,0,1724,1725,7,5,0,0,1725,1726,7,0,0,0,1726,1727,7,10,0,0,1727,1728,7,3,0,0,1728,258,1,0,0,0,1729,1730,7,19,0,0,1730,1731,7,5,0,0,1731,1732,7,17,0,0,1732,1733,7,14,0,0,1733,1734,7,22,0,0,1734,260,1,0,0,0,1735,1736,7,19,0,0,1736,1737,7,5,0,0,1737,1738,7,17,0,0,1738,1739,7,14,0,0,1739,1740,7,22,0,0,1740,1741,7,12,0,0,1741,1742,7,10,0,0,1742,1743,7,19,0,0,1743,262,1,0,0,0,1744,1745,7,16,0,0,1745,1746,7,0,0,0,1746,1747,7,13,0,0,1747,1748,7,12,0,0,1748,1749,7,10,0,0,1749,1750,7,19,0,0,1750,264,1,0,0,0,1751,1752,7,23,0,0,1752,266,1,0,0,0,1753,1754,7,16,0,0,1754,1755,7,17,0,0,1755,1756,7,14,0,0,1756,1757,7,5,0,0,1757,268,1,0,0,0,1758,1759,7,16,0,0,1759,1760,7,17,0,0,1760,1761,7,14,0,0,1761,1762,7,5,0,0,1762,1763,7,9,0,0,1763,270,1,0,0,0,1764,1765,7,12,0,0,1765,1766,7,1,0,0,1766,1767,7,4,0,0,1767,1768,7,10,0,0,1768,1769,7,3,0,0,1769,1770,7,12,0,0,1770,1771,7,2,0,0,1771,1772,7,12,0,0,1772,1773,7,4,0,0,1773,1774,7,5,0,0,1774,272,1,0,0,0,1775,1776,7,12,0,0,1776,1777,7,2,0,0,1777,274,1,0,0,0,1778,1779,7,12,0,0,1779,1780,7,19,0,0,1780,1781,7,10,0,0,1781,1782,7,17,0,0,1782,1783,7,5,0,0,1783,1784,7,4,0,0,1784,276,1,0,0,0,1785,1786,7,12,0,0,1786,1787,7,21,0,0,1787,1788,7,22,0,0,1788,1789,7,17,0,0,1789,1790,7,5,0,0,1790,1791,7,3,0,0,1791,278,1,0,0,0,1792,1793,7,12,0,0,1793,1794,7,10,0,0,1794,280,1,0,0,0,1795,1796,7,12,0,0,1796,1797,7,10,0,0,1797,1798,7,15,0,0,1798,1799,7,6,0,0,1799,1800,7,14,0,0,1800,1801,7,1,0,0,1801,1802,7,4,0,0,1802,282,1,0,0,0,1803,1804,7,12,0,0,1804,1805,7,10,0,0,1805,1806,7,1,0,0,1806,1807,7,4,0,0,1807,1808,7,23,0,0,1808,284,1,0,0,0,1809,1810,7,12,0,0,1810,1811,7,10,0,0,1811,1812,7,1,0,0,1812,1813,7,4,0,0,1813,1814,7,23,0,0,1814,1815,7,4,0,0,1815,1816,7,9,0,0,1816,286,1,0,0,0,1817,1818,7,12,0,0,1818,1819,7,10,0,0,1819,1820,7,10,0,0,1820,1821,7,4,0,0,1821,1822,7,5,0,0,1822,288,1,0,0,0,1823,1824,7,12,0,0,1824,1825,7,10,0,0,1825,1826,7,22,0,0,1826,1827,7,0,0,0,1827,1828,7,3,0,0,1828,1829,7,16,0,0,1829,290,1,0,0,0,1830,1831,7,12,0,0,1831,1832,7,10,0,0,1832,1833,7,22,0,0,1833,1834,7,14,0,0,1834,1835,7,3,0,0,1835,1836,7,2,0,0,1836,1837,7,17,0,0,1837,1838,7,5,0,0,1838,1839,7,21,0,0,1839,1840,7,0,0,0,1840,1841,7,3,0,0,1841,292,1,0,0,0,1842,1843,7,12,0,0,1843,1844,7,10,0,0,1844,1845,7,9,0,0,1845,1846,7,4,0,0,1846,1847,7,5,0,0,1847,1848,7,3,0,0,1848,294,1,0,0,0,1849,1850,7,12,0,0,1850,1851,7,10,0,0,1851,1852,7,3,0,0,1852,1853,7,4,0,0,1853,1854,7,5,0,0,1854,1855,7,9,0,0,1855,1856,7,4,0,0,1856,1857,7,15,0,0,1857,1858,7,3,0,0,1858,296,1,0,0,0,1859,1860,7,12,0,0,1860,1861,7,10,0,0,1861,1862,7,3,0,0,1862,1863,7,4,0,0,1863,1864,7,5,0,0,1864,1865,7,13,0,0,1865,1866,7,0,0,0,1866,1867,7,6,0,0,1867,298,1,0,0,0,1868,1869,7,12,0,0,1869,1870,7,10,0,0,1870,1871,7,3,0,0,1871,300,1,0,0,0,1872,1873,7,12,0,0,1873,1874,7,10,0,0,1874,1875,7,3,0,0,1875,1876,7,4,0,0,1876,1877,7,19,0,0,1877,1878,7,4,0,0,1878,1879,7,5,0,0,1879,302,1,0,0,0,1880,1881,7,12,0,0,1881,1882,7,10,0,0,1882,1883,7,3,0,0,1883,1884,7,17,0,0,1884,304,1,0,0,0,1885,1886,7,12,0,0,1886,1887,7,9,0,0,1887,306,1,0,0,0,1888,1889,7,12,0,0,1889,1890,7,3,0,0,1890,1891,7,4,0,0,1891,1892,7,21,0,0,1892,1893,7,9,0,0,1893,308,1,0,0,0,1894,1895,7,24,0,0,1895,1896,7,17,0,0,1896,1897,7,12,0,0,1897,1898,7,10,0,0,1898,310,1,0,0,0,1899,1900,7,20,0,0,1900,1901,7,4,0,0,1901,1902,7,8,0,0,1902,1903,7,9,0,0,1903,312,1,0,0,0,1904,1905,7,6,0,0,1905,1906,7,0,0,0,1906,1907,7,9,0,0,1907,1908,7,3,0,0,1908,314,1,0,0,0,1909,1910,7,6,0,0,1910,1911,7,0,0,0,1911,1912,7,3,0,0,1912,1913,7,4,0,0,1913,1914,7,5,0,0,1914,1915,7,0,0,0,1915,1916,7,6,0,0,1916,316,1,0,0,0,1917,1918,7,6,0,0,1918,1919,7,0,0,0,1919,1920,7,11,0,0,1920,1921,7,8,0,0,1921,318,1,0,0,0,1922,1923,7,6,0,0,1923,1924,7,4,0,0,1924,1925,7,0,0,0,1925,1926,7,1,0,0,1926,1927,7,12,0,0,1927,1928,7,10,0,0,1928,1929,7,19,0,0,1929,320,1,0,0,0,1930,1931,7,6,0,0,1931,1932,7,4,0,0,1932,1933,7,2,0,0,1933,1934,7,3,0,0,1934,322,1,0,0,0,1935,1936,7,6,0,0,1936,1937,7,12,0,0,1937,1938,7,2,0,0,1938,1939,7,4,0,0,1939,1940,7,15,0,0,1940,1941,7,8,0,0,1941,1942,7,15,0,0,1942,1943,7,6,0,0,1943,1944,7,4,0,0,1944,324,1,0,0,0,1945,1946,7,6,0,0,1946,1947,7,12,0,0,1947,1948,7,20,0,0,1948,1949,7,4,0,0,1949,326,1,0,0,0,1950,1951,7,12,0,0,1951,1952,7,6,0,0,1952,1953,7,12,0,0,1953,1954,7,20,0,0,1954,1955,7,4,0,0,1955,328,1,0,0,0,1956,1957,7,6,0,0,1957,1958,7,12,0,0,1958,1959,7,21,0,0,1959,1960,7,12,0,0,1960,1961,7,3,0,0,1961,330,1,0,0,0,1962,1963,7,6,0,0,1963,1964,7,12,0,0,1964,1965,7,10,0,0,1965,1966,7,4,0,0,1966,1967,7,9,0,0,1967,332,1,0,0,0,1968,1969,7,6,0,0,1969,1970,7,12,0,0,1970,1971,7,9,0,0,1971,1972,7,3,0,0,1972,334,1,0,0,0,1973,1974,7,6,0,0,1974,1975,7,17,0,0,1975,1976,7,0,0,0,1976,1977,7,1,0,0,1977,336,1,0,0,0,1978,1979,7,6,0,0,1979,1980,7,17,0,0,1980,1981,7,15,0,0,1981,1982,7,0,0,0,1982,1983,7,6,0,0,1983,338,1,0,0,0,1984,1985,7,6,0,0,1985,1986,7,17,0,0,1986,1987,7,15,0,0,1987,1988,7,0,0,0,1988,1989,7,3,0,0,1989,1990,7,12,0,0,1990,1991,7,17,0,0,1991,1992,7,10,0,0,1992,340,1,0,0,0,1993,1994,7,6,0,0,1994,1995,7,17,0,0,1995,1996,7,15,0,0,1996,1997,7,20,0,0,1997,342,1,0,0,0,1998,1999,7,6,0,0,1999,2e3,7,17,0,0,2e3,2001,7,15,0,0,2001,2002,7,20,0,0,2002,2003,7,9,0,0,2003,344,1,0,0,0,2004,2005,7,6,0,0,2005,2006,7,17,0,0,2006,2007,7,19,0,0,2007,2008,7,12,0,0,2008,2009,7,15,0,0,2009,2010,7,0,0,0,2010,2011,7,6,0,0,2011,346,1,0,0,0,2012,2013,7,6,0,0,2013,2014,7,17,0,0,2014,2015,7,10,0,0,2015,2016,7,19,0,0,2016,348,1,0,0,0,2017,2018,7,21,0,0,2018,2019,7,0,0,0,2019,2020,7,15,0,0,2020,2021,7,5,0,0,2021,2022,7,17,0,0,2022,350,1,0,0,0,2023,2024,7,21,0,0,2024,2025,7,0,0,0,2025,2026,7,3,0,0,2026,2027,7,4,0,0,2027,2028,7,5,0,0,2028,2029,7,12,0,0,2029,2030,7,0,0,0,2030,2031,7,6,0,0,2031,2032,7,12,0,0,2032,2033,7,11,0,0,2033,2034,7,4,0,0,2034,2035,7,1,0,0,2035,352,1,0,0,0,2036,2037,7,21,0,0,2037,2038,7,0,0,0,2038,2039,7,22,0,0,2039,354,1,0,0,0,2040,2041,7,21,0,0,2041,2042,7,0,0,0,2042,2043,7,3,0,0,2043,2044,7,15,0,0,2044,2045,7,16,0,0,2045,2046,7,4,0,0,2046,2047,7,1,0,0,2047,356,1,0,0,0,2048,2049,7,21,0,0,2049,2050,7,4,0,0,2050,2051,7,5,0,0,2051,2052,7,19,0,0,2052,2053,7,4,0,0,2053,358,1,0,0,0,2054,2055,7,21,0,0,2055,2056,7,12,0,0,2056,2057,7,15,0,0,2057,2058,7,5,0,0,2058,2059,7,17,0,0,2059,2060,7,9,0,0,2060,2061,7,4,0,0,2061,2062,7,15,0,0,2062,2063,7,17,0,0,2063,2064,7,10,0,0,2064,2065,7,1,0,0,2065,360,1,0,0,0,2066,2067,7,21,0,0,2067,2068,7,12,0,0,2068,2069,7,15,0,0,2069,2070,7,5,0,0,2070,2071,7,17,0,0,2071,2072,7,9,0,0,2072,2073,7,4,0,0,2073,2074,7,15,0,0,2074,2075,7,17,0,0,2075,2076,7,10,0,0,2076,2077,7,1,0,0,2077,2078,7,9,0,0,2078,362,1,0,0,0,2079,2080,7,21,0,0,2080,2081,7,12,0,0,2081,2082,7,6,0,0,2082,2083,7,6,0,0,2083,2084,7,12,0,0,2084,2085,7,9,0,0,2085,2086,7,4,0,0,2086,2087,7,15,0,0,2087,2088,7,17,0,0,2088,2089,7,10,0,0,2089,2090,7,1,0,0,2090,364,1,0,0,0,2091,2092,7,21,0,0,2092,2093,7,12,0,0,2093,2094,7,6,0,0,2094,2095,7,6,0,0,2095,2096,7,12,0,0,2096,2097,7,9,0,0,2097,2098,7,4,0,0,2098,2099,7,15,0,0,2099,2100,7,17,0,0,2100,2101,7,10,0,0,2101,2102,7,1,0,0,2102,2103,7,9,0,0,2103,366,1,0,0,0,2104,2105,7,21,0,0,2105,2106,7,12,0,0,2106,2107,7,10,0,0,2107,2108,7,14,0,0,2108,2109,7,3,0,0,2109,2110,7,4,0,0,2110,368,1,0,0,0,2111,2112,7,21,0,0,2112,2113,7,12,0,0,2113,2114,7,10,0,0,2114,2115,7,14,0,0,2115,2116,7,3,0,0,2116,2117,7,4,0,0,2117,2118,7,9,0,0,2118,370,1,0,0,0,2119,2120,7,21,0,0,2120,2121,7,17,0,0,2121,2122,7,10,0,0,2122,2123,7,3,0,0,2123,2124,7,16,0,0,2124,372,1,0,0,0,2125,2126,7,21,0,0,2126,2127,7,17,0,0,2127,2128,7,10,0,0,2128,2129,7,3,0,0,2129,2130,7,16,0,0,2130,2131,7,9,0,0,2131,374,1,0,0,0,2132,2133,7,21,0,0,2133,2134,7,9,0,0,2134,2135,7,15,0,0,2135,2136,7,20,0,0,2136,376,1,0,0,0,2137,2138,7,10,0,0,2138,2139,7,0,0,0,2139,2140,7,21,0,0,2140,2141,7,4,0,0,2141,378,1,0,0,0,2142,2143,7,10,0,0,2143,2144,7,0,0,0,2144,2145,7,21,0,0,2145,2146,7,4,0,0,2146,2147,7,9,0,0,2147,2148,7,22,0,0,2148,2149,7,0,0,0,2149,2150,7,15,0,0,2150,2151,7,4,0,0,2151,380,1,0,0,0,2152,2153,7,10,0,0,2153,2154,7,0,0,0,2154,2155,7,21,0,0,2155,2156,7,4,0,0,2156,2157,7,9,0,0,2157,2158,7,22,0,0,2158,2159,7,0,0,0,2159,2160,7,15,0,0,2160,2161,7,4,0,0,2161,2162,7,9,0,0,2162,382,1,0,0,0,2163,2164,7,10,0,0,2164,2165,7,0,0,0,2165,2166,7,10,0,0,2166,2167,7,17,0,0,2167,2168,7,9,0,0,2168,2169,7,4,0,0,2169,2170,7,15,0,0,2170,2171,7,17,0,0,2171,2172,7,10,0,0,2172,2173,7,1,0,0,2173,384,1,0,0,0,2174,2175,7,10,0,0,2175,2176,7,0,0,0,2176,2177,7,10,0,0,2177,2178,7,17,0,0,2178,2179,7,9,0,0,2179,2180,7,4,0,0,2180,2181,7,15,0,0,2181,2182,7,17,0,0,2182,2183,7,10,0,0,2183,2184,7,1,0,0,2184,2185,7,9,0,0,2185,386,1,0,0,0,2186,2187,7,10,0,0,2187,2188,7,0,0,0,2188,2189,7,3,0,0,2189,2190,7,14,0,0,2190,2191,7,5,0,0,2191,2192,7,0,0,0,2192,2193,7,6,0,0,2193,388,1,0,0,0,2194,2195,7,10,0,0,2195,2196,7,17,0,0,2196,390,1,0,0,0,2197,2198,7,10,0,0,2198,2199,7,17,0,0,2199,2200,7,9,0,0,2200,2201,7,15,0,0,2201,2202,7,0,0,0,2202,2203,7,10,0,0,2203,392,1,0,0,0,2204,2205,7,10,0,0,2205,2206,7,17,0,0,2206,2207,7,3,0,0,2207,394,1,0,0,0,2208,2209,7,10,0,0,2209,2210,7,14,0,0,2210,2211,7,6,0,0,2211,2212,7,6,0,0,2212,396,1,0,0,0,2213,2214,7,10,0,0,2214,2215,7,14,0,0,2215,2216,7,6,0,0,2216,2217,7,6,0,0,2217,2218,7,9,0,0,2218,398,1,0,0,0,2219,2220,7,10,0,0,2220,2221,7,14,0,0,2221,2222,7,21,0,0,2222,2223,7,4,0,0,2223,2224,7,5,0,0,2224,2225,7,12,0,0,2225,2226,7,15,0,0,2226,400,1,0,0,0,2227,2228,7,17,0,0,2228,2229,7,2,0,0,2229,402,1,0,0,0,2230,2231,7,17,0,0,2231,2232,7,2,0,0,2232,2233,7,2,0,0,2233,2234,7,9,0,0,2234,2235,7,4,0,0,2235,2236,7,3,0,0,2236,404,1,0,0,0,2237,2238,7,17,0,0,2238,2239,7,10,0,0,2239,406,1,0,0,0,2240,2241,7,17,0,0,2241,2242,7,10,0,0,2242,2243,7,6,0,0,2243,2244,7,8,0,0,2244,408,1,0,0,0,2245,2246,7,17,0,0,2246,2247,7,22,0,0,2247,2248,7,3,0,0,2248,2249,7,12,0,0,2249,2250,7,21,0,0,2250,2251,7,12,0,0,2251,2252,7,11,0,0,2252,2253,7,4,0,0,2253,410,1,0,0,0,2254,2255,7,17,0,0,2255,2256,7,22,0,0,2256,2257,7,3,0,0,2257,2258,7,12,0,0,2258,2259,7,17,0,0,2259,2260,7,10,0,0,2260,412,1,0,0,0,2261,2262,7,17,0,0,2262,2263,7,22,0,0,2263,2264,7,3,0,0,2264,2265,7,12,0,0,2265,2266,7,17,0,0,2266,2267,7,10,0,0,2267,2268,7,9,0,0,2268,414,1,0,0,0,2269,2270,7,17,0,0,2270,2271,7,5,0,0,2271,416,1,0,0,0,2272,2273,7,17,0,0,2273,2274,7,5,0,0,2274,2275,7,1,0,0,2275,2276,7,4,0,0,2276,2277,7,5,0,0,2277,418,1,0,0,0,2278,2279,7,17,0,0,2279,2280,7,14,0,0,2280,2281,7,3,0,0,2281,420,1,0,0,0,2282,2283,7,17,0,0,2283,2284,7,14,0,0,2284,2285,7,3,0,0,2285,2286,7,4,0,0,2286,2287,7,5,0,0,2287,422,1,0,0,0,2288,2289,7,17,0,0,2289,2290,7,14,0,0,2290,2291,7,3,0,0,2291,2292,7,22,0,0,2292,2293,7,14,0,0,2293,2294,7,3,0,0,2294,2295,7,2,0,0,2295,2296,7,17,0,0,2296,2297,7,5,0,0,2297,2298,7,21,0,0,2298,2299,7,0,0,0,2299,2300,7,3,0,0,2300,424,1,0,0,0,2301,2302,7,17,0,0,2302,2303,7,13,0,0,2303,2304,7,4,0,0,2304,2305,7,5,0,0,2305,426,1,0,0,0,2306,2307,7,17,0,0,2307,2308,7,13,0,0,2308,2309,7,4,0,0,2309,2310,7,5,0,0,2310,2311,7,6,0,0,2311,2312,7,0,0,0,2312,2313,7,22,0,0,2313,2314,7,9,0,0,2314,428,1,0,0,0,2315,2316,7,17,0,0,2316,2317,7,13,0,0,2317,2318,7,4,0,0,2318,2319,7,5,0,0,2319,2320,7,6,0,0,2320,2321,7,0,0,0,2321,2322,7,8,0,0,2322,430,1,0,0,0,2323,2324,7,17,0,0,2324,2325,7,13,0,0,2325,2326,7,4,0,0,2326,2327,7,5,0,0,2327,2328,7,7,0,0,2328,2329,7,5,0,0,2329,2330,7,12,0,0,2330,2331,7,3,0,0,2331,2332,7,4,0,0,2332,432,1,0,0,0,2333,2334,7,22,0,0,2334,2335,7,0,0,0,2335,2336,7,5,0,0,2336,2337,7,3,0,0,2337,2338,7,12,0,0,2338,2339,7,3,0,0,2339,2340,7,12,0,0,2340,2341,7,17,0,0,2341,2342,7,10,0,0,2342,434,1,0,0,0,2343,2344,7,22,0,0,2344,2345,7,0,0,0,2345,2346,7,5,0,0,2346,2347,7,3,0,0,2347,2348,7,12,0,0,2348,2349,7,3,0,0,2349,2350,7,12,0,0,2350,2351,7,17,0,0,2351,2352,7,10,0,0,2352,2353,7,4,0,0,2353,2354,7,1,0,0,2354,436,1,0,0,0,2355,2356,7,22,0,0,2356,2357,7,0,0,0,2357,2358,7,5,0,0,2358,2359,7,3,0,0,2359,2360,7,12,0,0,2360,2361,7,3,0,0,2361,2362,7,12,0,0,2362,2363,7,17,0,0,2363,2364,7,10,0,0,2364,2365,7,9,0,0,2365,438,1,0,0,0,2366,2367,7,22,0,0,2367,2368,7,4,0,0,2368,2369,7,5,0,0,2369,2370,7,15,0,0,2370,2371,7,4,0,0,2371,2372,7,10,0,0,2372,2373,7,3,0,0,2373,2374,7,12,0,0,2374,2375,7,6,0,0,2375,2376,7,4,0,0,2376,2377,5,95,0,0,2377,2378,7,15,0,0,2378,2379,7,17,0,0,2379,2380,7,10,0,0,2380,2381,7,3,0,0,2381,440,1,0,0,0,2382,2383,7,22,0,0,2383,2384,7,4,0,0,2384,2385,7,5,0,0,2385,2386,7,15,0,0,2386,2387,7,4,0,0,2387,2388,7,10,0,0,2388,2389,7,3,0,0,2389,2390,7,12,0,0,2390,2391,7,6,0,0,2391,2392,7,4,0,0,2392,2393,5,95,0,0,2393,2394,7,1,0,0,2394,2395,7,12,0,0,2395,2396,7,9,0,0,2396,2397,7,15,0,0,2397,442,1,0,0,0,2398,2399,7,22,0,0,2399,2400,7,4,0,0,2400,2401,7,5,0,0,2401,2402,7,15,0,0,2402,2403,7,4,0,0,2403,2404,7,10,0,0,2404,2405,7,3,0,0,2405,444,1,0,0,0,2406,2407,7,22,0,0,2407,2408,7,12,0,0,2408,2409,7,13,0,0,2409,2410,7,17,0,0,2410,2411,7,3,0,0,2411,446,1,0,0,0,2412,2413,7,22,0,0,2413,2414,7,6,0,0,2414,2415,7,0,0,0,2415,2416,7,15,0,0,2416,2417,7,12,0,0,2417,2418,7,10,0,0,2418,2419,7,19,0,0,2419,448,1,0,0,0,2420,2421,7,22,0,0,2421,2422,7,17,0,0,2422,2423,7,9,0,0,2423,2424,7,12,0,0,2424,2425,7,3,0,0,2425,2426,7,12,0,0,2426,2427,7,17,0,0,2427,2428,7,10,0,0,2428,450,1,0,0,0,2429,2430,7,22,0,0,2430,2431,7,5,0,0,2431,2432,7,4,0,0,2432,2433,7,15,0,0,2433,2434,7,4,0,0,2434,2435,7,1,0,0,2435,2436,7,12,0,0,2436,2437,7,10,0,0,2437,2438,7,19,0,0,2438,452,1,0,0,0,2439,2440,7,22,0,0,2440,2441,7,5,0,0,2441,2442,7,12,0,0,2442,2443,7,21,0,0,2443,2444,7,0,0,0,2444,2445,7,5,0,0,2445,2446,7,8,0,0,2446,454,1,0,0,0,2447,2448,7,22,0,0,2448,2449,7,5,0,0,2449,2450,7,12,0,0,2450,2451,7,10,0,0,2451,2452,7,15,0,0,2452,2453,7,12,0,0,2453,2454,7,22,0,0,2454,2455,7,0,0,0,2455,2456,7,6,0,0,2456,2457,7,9,0,0,2457,456,1,0,0,0,2458,2459,7,22,0,0,2459,2460,7,5,0,0,2460,2461,7,17,0,0,2461,2462,7,22,0,0,2462,2463,7,4,0,0,2463,2464,7,5,0,0,2464,2465,7,3,0,0,2465,2466,7,12,0,0,2466,2467,7,4,0,0,2467,2468,7,9,0,0,2468,458,1,0,0,0,2469,2470,7,22,0,0,2470,2471,7,14,0,0,2471,2472,7,5,0,0,2472,2473,7,19,0,0,2473,2474,7,4,0,0,2474,460,1,0,0,0,2475,2476,7,25,0,0,2476,2477,7,14,0,0,2477,2478,7,0,0,0,2478,2479,7,5,0,0,2479,2480,7,3,0,0,2480,2481,7,4,0,0,2481,2482,7,5,0,0,2482,462,1,0,0,0,2483,2484,7,25,0,0,2484,2485,7,14,0,0,2485,2486,7,4,0,0,2486,2487,7,5,0,0,2487,2488,7,8,0,0,2488,464,1,0,0,0,2489,2490,7,5,0,0,2490,2491,7,0,0,0,2491,2492,7,10,0,0,2492,2493,7,19,0,0,2493,2494,7,4,0,0,2494,466,1,0,0,0,2495,2496,7,5,0,0,2496,2497,7,4,0,0,2497,2498,7,0,0,0,2498,2499,7,6,0,0,2499,468,1,0,0,0,2500,2501,7,5,0,0,2501,2502,7,4,0,0,2502,2503,7,15,0,0,2503,2504,7,17,0,0,2504,2505,7,5,0,0,2505,2506,7,1,0,0,2506,2507,7,5,0,0,2507,2508,7,4,0,0,2508,2509,7,0,0,0,2509,2510,7,1,0,0,2510,2511,7,4,0,0,2511,2512,7,5,0,0,2512,470,1,0,0,0,2513,2514,7,5,0,0,2514,2515,7,4,0,0,2515,2516,7,15,0,0,2516,2517,7,17,0,0,2517,2518,7,5,0,0,2518,2519,7,1,0,0,2519,2520,7,7,0,0,2520,2521,7,5,0,0,2521,2522,7,12,0,0,2522,2523,7,3,0,0,2523,2524,7,4,0,0,2524,2525,7,5,0,0,2525,472,1,0,0,0,2526,2527,7,5,0,0,2527,2528,7,4,0,0,2528,2529,7,15,0,0,2529,2530,7,17,0,0,2530,2531,7,13,0,0,2531,2532,7,4,0,0,2532,2533,7,5,0,0,2533,474,1,0,0,0,2534,2535,7,5,0,0,2535,2536,7,4,0,0,2536,2537,7,1,0,0,2537,2538,7,14,0,0,2538,2539,7,15,0,0,2539,2540,7,4,0,0,2540,476,1,0,0,0,2541,2542,7,5,0,0,2542,2543,7,4,0,0,2543,2544,7,2,0,0,2544,2545,7,4,0,0,2545,2546,7,5,0,0,2546,2547,7,4,0,0,2547,2548,7,10,0,0,2548,2549,7,15,0,0,2549,2550,7,4,0,0,2550,2551,7,9,0,0,2551,478,1,0,0,0,2552,2553,7,5,0,0,2553,2554,7,4,0,0,2554,2555,7,2,0,0,2555,2556,7,5,0,0,2556,2557,7,4,0,0,2557,2558,7,9,0,0,2558,2559,7,16,0,0,2559,480,1,0,0,0,2560,2561,7,5,0,0,2561,2562,7,4,0,0,2562,2563,7,10,0,0,2563,2564,7,0,0,0,2564,2565,7,21,0,0,2565,2566,7,4,0,0,2566,482,1,0,0,0,2567,2568,7,5,0,0,2568,2569,7,4,0,0,2569,2570,7,22,0,0,2570,2571,7,0,0,0,2571,2572,7,12,0,0,2572,2573,7,5,0,0,2573,484,1,0,0,0,2574,2575,7,5,0,0,2575,2576,7,4,0,0,2576,2577,7,22,0,0,2577,2578,7,4,0,0,2578,2579,7,0,0,0,2579,2580,7,3,0,0,2580,2581,7,0,0,0,2581,2582,7,18,0,0,2582,2583,7,6,0,0,2583,2584,7,4,0,0,2584,486,1,0,0,0,2585,2586,7,5,0,0,2586,2587,7,4,0,0,2587,2588,7,22,0,0,2588,2589,7,6,0,0,2589,2590,7,0,0,0,2590,2591,7,15,0,0,2591,2592,7,4,0,0,2592,488,1,0,0,0,2593,2594,7,5,0,0,2594,2595,7,4,0,0,2595,2596,7,9,0,0,2596,2597,7,4,0,0,2597,2598,7,3,0,0,2598,490,1,0,0,0,2599,2600,7,5,0,0,2600,2601,7,4,0,0,2601,2602,7,9,0,0,2602,2603,7,22,0,0,2603,2604,7,4,0,0,2604,2605,7,15,0,0,2605,2606,7,3,0,0,2606,492,1,0,0,0,2607,2608,7,5,0,0,2608,2609,7,4,0,0,2609,2610,7,9,0,0,2610,2611,7,3,0,0,2611,2612,7,5,0,0,2612,2613,7,12,0,0,2613,2614,7,15,0,0,2614,2615,7,3,0,0,2615,494,1,0,0,0,2616,2617,7,5,0,0,2617,2618,7,4,0,0,2618,2619,7,7,0,0,2619,2620,7,5,0,0,2620,2621,7,12,0,0,2621,2622,7,3,0,0,2622,2623,7,4,0,0,2623,496,1,0,0,0,2624,2625,7,5,0,0,2625,2626,7,4,0,0,2626,2627,7,13,0,0,2627,2628,7,17,0,0,2628,2629,7,20,0,0,2629,2630,7,4,0,0,2630,498,1,0,0,0,2631,2632,7,5,0,0,2632,2633,7,12,0,0,2633,2634,7,19,0,0,2634,2635,7,16,0,0,2635,2636,7,3,0,0,2636,500,1,0,0,0,2637,2638,7,5,0,0,2638,2639,7,6,0,0,2639,2640,7,12,0,0,2640,2641,7,20,0,0,2641,2642,7,4,0,0,2642,502,1,0,0,0,2643,2644,7,5,0,0,2644,2645,7,4,0,0,2645,2646,7,19,0,0,2646,2647,7,4,0,0,2647,2648,7,23,0,0,2648,2649,7,22,0,0,2649,504,1,0,0,0,2650,2651,7,5,0,0,2651,2652,7,17,0,0,2652,2653,7,6,0,0,2653,2654,7,4,0,0,2654,506,1,0,0,0,2655,2656,7,5,0,0,2656,2657,7,17,0,0,2657,2658,7,6,0,0,2658,2659,7,4,0,0,2659,2660,7,9,0,0,2660,508,1,0,0,0,2661,2662,7,5,0,0,2662,2663,7,17,0,0,2663,2664,7,6,0,0,2664,2665,7,6,0,0,2665,2666,7,18,0,0,2666,2667,7,0,0,0,2667,2668,7,15,0,0,2668,2669,7,20,0,0,2669,510,1,0,0,0,2670,2671,7,5,0,0,2671,2672,7,17,0,0,2672,2673,7,6,0,0,2673,2674,7,6,0,0,2674,2675,7,14,0,0,2675,2676,7,22,0,0,2676,512,1,0,0,0,2677,2678,7,5,0,0,2678,2679,7,17,0,0,2679,2680,7,7,0,0,2680,514,1,0,0,0,2681,2682,7,5,0,0,2682,2683,7,17,0,0,2683,2684,7,7,0,0,2684,2685,7,9,0,0,2685,516,1,0,0,0,2686,2687,7,9,0,0,2687,2688,7,4,0,0,2688,2689,7,15,0,0,2689,2690,7,17,0,0,2690,2691,7,10,0,0,2691,2692,7,1,0,0,2692,518,1,0,0,0,2693,2694,7,9,0,0,2694,2695,7,4,0,0,2695,2696,7,15,0,0,2696,2697,7,17,0,0,2697,2698,7,10,0,0,2698,2699,7,1,0,0,2699,2700,7,9,0,0,2700,520,1,0,0,0,2701,2702,7,9,0,0,2702,2703,7,15,0,0,2703,2704,7,16,0,0,2704,2705,7,4,0,0,2705,2706,7,21,0,0,2706,2707,7,0,0,0,2707,522,1,0,0,0,2708,2709,7,9,0,0,2709,2710,7,15,0,0,2710,2711,7,16,0,0,2711,2712,7,4,0,0,2712,2713,7,21,0,0,2713,2714,7,0,0,0,2714,2715,7,9,0,0,2715,524,1,0,0,0,2716,2717,7,9,0,0,2717,2718,7,4,0,0,2718,2719,7,6,0,0,2719,2720,7,4,0,0,2720,2721,7,15,0,0,2721,2722,7,3,0,0,2722,526,1,0,0,0,2723,2724,7,9,0,0,2724,2725,7,4,0,0,2725,2726,7,21,0,0,2726,2727,7,12,0,0,2727,528,1,0,0,0,2728,2729,7,9,0,0,2729,2730,7,4,0,0,2730,2731,7,22,0,0,2731,2732,7,0,0,0,2732,2733,7,5,0,0,2733,2734,7,0,0,0,2734,2735,7,3,0,0,2735,2736,7,4,0,0,2736,2737,7,1,0,0,2737,530,1,0,0,0,2738,2739,7,9,0,0,2739,2740,7,4,0,0,2740,2741,7,5,0,0,2741,2742,7,1,0,0,2742,2743,7,4,0,0,2743,532,1,0,0,0,2744,2745,7,9,0,0,2745,2746,7,4,0,0,2746,2747,7,5,0,0,2747,2748,7,1,0,0,2748,2749,7,4,0,0,2749,2750,7,22,0,0,2750,2751,7,5,0,0,2751,2752,7,17,0,0,2752,2753,7,22,0,0,2753,2754,7,4,0,0,2754,2755,7,5,0,0,2755,2756,7,3,0,0,2756,2757,7,12,0,0,2757,2758,7,4,0,0,2758,2759,7,9,0,0,2759,534,1,0,0,0,2760,2761,7,9,0,0,2761,2762,7,4,0,0,2762,2763,7,9,0,0,2763,2764,7,9,0,0,2764,2765,7,12,0,0,2765,2766,7,17,0,0,2766,2767,7,10,0,0,2767,2768,5,95,0,0,2768,2769,7,14,0,0,2769,2770,7,9,0,0,2770,2771,7,4,0,0,2771,2772,7,5,0,0,2772,536,1,0,0,0,2773,2774,7,9,0,0,2774,2775,7,4,0,0,2775,2776,7,3,0,0,2776,538,1,0,0,0,2777,2778,7,21,0,0,2778,2779,7,12,0,0,2779,2780,7,10,0,0,2780,2781,7,14,0,0,2781,2782,7,9,0,0,2782,540,1,0,0,0,2783,2784,7,9,0,0,2784,2785,7,4,0,0,2785,2786,7,3,0,0,2786,2787,7,9,0,0,2787,542,1,0,0,0,2788,2789,7,9,0,0,2789,2790,7,16,0,0,2790,2791,7,17,0,0,2791,2792,7,5,0,0,2792,2793,7,3,0,0,2793,544,1,0,0,0,2794,2795,7,9,0,0,2795,2796,7,16,0,0,2796,2797,7,17,0,0,2797,2798,7,7,0,0,2798,546,1,0,0,0,2799,2800,7,9,0,0,2800,2801,7,12,0,0,2801,2802,7,10,0,0,2802,2803,7,19,0,0,2803,2804,7,6,0,0,2804,2805,7,4,0,0,2805,548,1,0,0,0,2806,2807,7,9,0,0,2807,2808,7,20,0,0,2808,2809,7,4,0,0,2809,2810,7,7,0,0,2810,2811,7,4,0,0,2811,2812,7,1,0,0,2812,550,1,0,0,0,2813,2814,7,9,0,0,2814,2815,7,21,0,0,2815,2816,7,0,0,0,2816,2817,7,6,0,0,2817,2818,7,6,0,0,2818,2819,7,12,0,0,2819,2820,7,10,0,0,2820,2821,7,3,0,0,2821,552,1,0,0,0,2822,2823,7,9,0,0,2823,2824,7,17,0,0,2824,2825,7,21,0,0,2825,2826,7,4,0,0,2826,554,1,0,0,0,2827,2828,7,9,0,0,2828,2829,7,17,0,0,2829,2830,7,5,0,0,2830,2831,7,3,0,0,2831,556,1,0,0,0,2832,2833,7,9,0,0,2833,2834,7,17,0,0,2834,2835,7,5,0,0,2835,2836,7,3,0,0,2836,2837,7,4,0,0,2837,2838,7,1,0,0,2838,558,1,0,0,0,2839,2840,7,9,0,0,2840,2841,7,17,0,0,2841,2842,7,14,0,0,2842,2843,7,5,0,0,2843,2844,7,15,0,0,2844,2845,7,4,0,0,2845,560,1,0,0,0,2846,2847,7,9,0,0,2847,2848,7,3,0,0,2848,2849,7,0,0,0,2849,2850,7,5,0,0,2850,2851,7,3,0,0,2851,562,1,0,0,0,2852,2853,7,9,0,0,2853,2854,7,3,0,0,2854,2855,7,0,0,0,2855,2856,7,3,0,0,2856,2857,7,12,0,0,2857,2858,7,9,0,0,2858,2859,7,3,0,0,2859,2860,7,12,0,0,2860,2861,7,15,0,0,2861,2862,7,9,0,0,2862,564,1,0,0,0,2863,2864,7,9,0,0,2864,2865,7,3,0,0,2865,2866,7,17,0,0,2866,2867,7,5,0,0,2867,2868,7,4,0,0,2868,2869,7,1,0,0,2869,566,1,0,0,0,2870,2871,7,9,0,0,2871,2872,7,3,0,0,2872,2873,7,5,0,0,2873,2874,7,0,0,0,2874,2875,7,3,0,0,2875,2876,7,12,0,0,2876,2877,7,2,0,0,2877,2878,7,8,0,0,2878,568,1,0,0,0,2879,2880,7,9,0,0,2880,2881,7,3,0,0,2881,2882,7,5,0,0,2882,2883,7,12,0,0,2883,2884,7,10,0,0,2884,2885,7,19,0,0,2885,570,1,0,0,0,2886,2887,7,9,0,0,2887,2888,7,3,0,0,2888,2889,7,5,0,0,2889,2890,7,14,0,0,2890,2891,7,15,0,0,2891,2892,7,3,0,0,2892,572,1,0,0,0,2893,2894,7,9,0,0,2894,2895,7,14,0,0,2895,2896,7,18,0,0,2896,2897,7,9,0,0,2897,2898,7,3,0,0,2898,2899,7,5,0,0,2899,574,1,0,0,0,2900,2901,7,9,0,0,2901,2902,7,14,0,0,2902,2903,7,18,0,0,2903,2904,7,9,0,0,2904,2905,7,3,0,0,2905,2906,7,5,0,0,2906,2907,7,12,0,0,2907,2908,7,10,0,0,2908,2909,7,19,0,0,2909,576,1,0,0,0,2910,2911,7,9,0,0,2911,2912,7,8,0,0,2912,2913,7,10,0,0,2913,2914,7,15,0,0,2914,578,1,0,0,0,2915,2916,7,9,0,0,2916,2917,7,8,0,0,2917,2918,7,9,0,0,2918,2919,7,3,0,0,2919,2920,7,4,0,0,2920,2921,7,21,0,0,2921,580,1,0,0,0,2922,2923,7,9,0,0,2923,2924,7,8,0,0,2924,2925,7,9,0,0,2925,2926,7,3,0,0,2926,2927,7,4,0,0,2927,2928,7,21,0,0,2928,2929,5,95,0,0,2929,2930,7,3,0,0,2930,2931,7,12,0,0,2931,2932,7,21,0,0,2932,2933,7,4,0,0,2933,582,1,0,0,0,2934,2935,7,9,0,0,2935,2936,7,8,0,0,2936,2937,7,9,0,0,2937,2938,7,3,0,0,2938,2939,7,4,0,0,2939,2940,7,21,0,0,2940,2941,5,95,0,0,2941,2942,7,13,0,0,2942,2943,7,4,0,0,2943,2944,7,5,0,0,2944,2945,7,9,0,0,2945,2946,7,12,0,0,2946,2947,7,17,0,0,2947,2948,7,10,0,0,2948,584,1,0,0,0,2949,2950,7,3,0,0,2950,2951,7,0,0,0,2951,2952,7,18,0,0,2952,2953,7,6,0,0,2953,2954,7,4,0,0,2954,586,1,0,0,0,2955,2956,7,3,0,0,2956,2957,7,0,0,0,2957,2958,7,18,0,0,2958,2959,7,6,0,0,2959,2960,7,4,0,0,2960,2961,7,9,0,0,2961,588,1,0,0,0,2962,2963,7,3,0,0,2963,2964,7,0,0,0,2964,2965,7,18,0,0,2965,2966,7,6,0,0,2966,2967,7,4,0,0,2967,2968,7,9,0,0,2968,2969,7,0,0,0,2969,2970,7,21,0,0,2970,2971,7,22,0,0,2971,2972,7,6,0,0,2972,2973,7,4,0,0,2973,590,1,0,0,0,2974,2975,7,3,0,0,2975,2976,7,0,0,0,2976,2977,7,5,0,0,2977,2978,7,19,0,0,2978,2979,7,4,0,0,2979,2980,7,3,0,0,2980,592,1,0,0,0,2981,2982,7,3,0,0,2982,2983,7,18,0,0,2983,2984,7,6,0,0,2984,2985,7,22,0,0,2985,2986,7,5,0,0,2986,2987,7,17,0,0,2987,2988,7,22,0,0,2988,2989,7,4,0,0,2989,2990,7,5,0,0,2990,2991,7,3,0,0,2991,2992,7,12,0,0,2992,2993,7,4,0,0,2993,2994,7,9,0,0,2994,594,1,0,0,0,2995,2996,7,3,0,0,2996,2997,7,4,0,0,2997,2998,7,21,0,0,2998,2999,7,22,0,0,2999,3e3,7,17,0,0,3e3,3001,7,5,0,0,3001,3002,7,0,0,0,3002,3003,7,5,0,0,3003,3004,7,8,0,0,3004,596,1,0,0,0,3005,3006,7,3,0,0,3006,3007,7,4,0,0,3007,3008,7,5,0,0,3008,3009,7,21,0,0,3009,3010,7,12,0,0,3010,3011,7,10,0,0,3011,3012,7,0,0,0,3012,3013,7,3,0,0,3013,3014,7,4,0,0,3014,3015,7,1,0,0,3015,598,1,0,0,0,3016,3017,7,3,0,0,3017,3018,7,16,0,0,3018,3019,7,4,0,0,3019,3020,7,10,0,0,3020,600,1,0,0,0,3021,3022,7,3,0,0,3022,3023,7,12,0,0,3023,3024,7,21,0,0,3024,3025,7,4,0,0,3025,602,1,0,0,0,3026,3027,7,3,0,0,3027,3028,7,12,0,0,3028,3029,7,21,0,0,3029,3030,7,4,0,0,3030,3031,7,1,0,0,3031,3032,7,12,0,0,3032,3033,7,2,0,0,3033,3034,7,2,0,0,3034,604,1,0,0,0,3035,3036,7,3,0,0,3036,3037,7,12,0,0,3037,3038,7,21,0,0,3038,3039,7,4,0,0,3039,3040,7,9,0,0,3040,3041,7,3,0,0,3041,3042,7,0,0,0,3042,3043,7,21,0,0,3043,3044,7,22,0,0,3044,606,1,0,0,0,3045,3046,7,3,0,0,3046,3047,7,12,0,0,3047,3048,7,21,0,0,3048,3049,7,4,0,0,3049,3050,7,9,0,0,3050,3051,7,3,0,0,3051,3052,7,0,0,0,3052,3053,7,21,0,0,3053,3054,7,22,0,0,3054,3055,5,95,0,0,3055,3056,7,6,0,0,3056,3057,7,3,0,0,3057,3058,7,11,0,0,3058,608,1,0,0,0,3059,3060,7,3,0,0,3060,3061,7,12,0,0,3061,3062,7,21,0,0,3062,3063,7,4,0,0,3063,3064,7,9,0,0,3064,3065,7,3,0,0,3065,3066,7,0,0,0,3066,3067,7,21,0,0,3067,3068,7,22,0,0,3068,3069,5,95,0,0,3069,3070,7,10,0,0,3070,3071,7,3,0,0,3071,3072,7,11,0,0,3072,610,1,0,0,0,3073,3074,7,3,0,0,3074,3075,7,12,0,0,3075,3076,7,21,0,0,3076,3077,7,4,0,0,3077,3078,7,9,0,0,3078,3079,7,3,0,0,3079,3080,7,0,0,0,3080,3081,7,21,0,0,3081,3082,7,22,0,0,3082,3083,7,0,0,0,3083,3084,7,1,0,0,3084,3085,7,1,0,0,3085,612,1,0,0,0,3086,3087,7,3,0,0,3087,3088,7,12,0,0,3088,3089,7,21,0,0,3089,3090,7,4,0,0,3090,3091,7,9,0,0,3091,3092,7,3,0,0,3092,3093,7,0,0,0,3093,3094,7,21,0,0,3094,3095,7,22,0,0,3095,3096,7,1,0,0,3096,3097,7,12,0,0,3097,3098,7,2,0,0,3098,3099,7,2,0,0,3099,614,1,0,0,0,3100,3101,7,3,0,0,3101,3102,7,12,0,0,3102,3103,7,10,0,0,3103,3104,7,8,0,0,3104,3105,7,12,0,0,3105,3106,7,10,0,0,3106,3107,7,3,0,0,3107,616,1,0,0,0,3108,3109,7,3,0,0,3109,3110,7,17,0,0,3110,618,1,0,0,0,3111,3112,7,3,0,0,3112,3113,7,17,0,0,3113,3114,7,14,0,0,3114,3115,7,15,0,0,3115,3116,7,16,0,0,3116,620,1,0,0,0,3117,3118,7,3,0,0,3118,3119,7,5,0,0,3119,3120,7,0,0,0,3120,3121,7,12,0,0,3121,3122,7,6,0,0,3122,3123,7,12,0,0,3123,3124,7,10,0,0,3124,3125,7,19,0,0,3125,622,1,0,0,0,3126,3127,7,3,0,0,3127,3128,7,5,0,0,3128,3129,7,0,0,0,3129,3130,7,10,0,0,3130,3131,7,9,0,0,3131,3132,7,0,0,0,3132,3133,7,15,0,0,3133,3134,7,3,0,0,3134,3135,7,12,0,0,3135,3136,7,17,0,0,3136,3137,7,10,0,0,3137,624,1,0,0,0,3138,3139,7,3,0,0,3139,3140,7,5,0,0,3140,3141,7,0,0,0,3141,3142,7,10,0,0,3142,3143,7,9,0,0,3143,3144,7,0,0,0,3144,3145,7,15,0,0,3145,3146,7,3,0,0,3146,3147,7,12,0,0,3147,3148,7,17,0,0,3148,3149,7,10,0,0,3149,3150,7,9,0,0,3150,626,1,0,0,0,3151,3152,7,3,0,0,3152,3153,7,5,0,0,3153,3154,7,0,0,0,3154,3155,7,10,0,0,3155,3156,7,9,0,0,3156,3157,7,2,0,0,3157,3158,7,17,0,0,3158,3159,7,5,0,0,3159,3160,7,21,0,0,3160,628,1,0,0,0,3161,3162,7,3,0,0,3162,3163,7,5,0,0,3163,3164,7,12,0,0,3164,3165,7,21,0,0,3165,630,1,0,0,0,3166,3167,7,3,0,0,3167,3168,7,5,0,0,3168,3169,7,14,0,0,3169,3170,7,4,0,0,3170,632,1,0,0,0,3171,3172,7,3,0,0,3172,3173,7,5,0,0,3173,3174,7,14,0,0,3174,3175,7,10,0,0,3175,3176,7,15,0,0,3176,3177,7,0,0,0,3177,3178,7,3,0,0,3178,3179,7,4,0,0,3179,634,1,0,0,0,3180,3181,7,3,0,0,3181,3182,7,5,0,0,3182,3183,7,8,0,0,3183,3184,5,95,0,0,3184,3185,7,15,0,0,3185,3186,7,0,0,0,3186,3187,7,9,0,0,3187,3188,7,3,0,0,3188,636,1,0,0,0,3189,3190,7,3,0,0,3190,3191,7,8,0,0,3191,3192,7,22,0,0,3192,3193,7,4,0,0,3193,638,1,0,0,0,3194,3195,7,14,0,0,3195,3196,7,10,0,0,3196,3197,7,0,0,0,3197,3198,7,5,0,0,3198,3199,7,15,0,0,3199,3200,7,16,0,0,3200,3201,7,12,0,0,3201,3202,7,13,0,0,3202,3203,7,4,0,0,3203,640,1,0,0,0,3204,3205,7,14,0,0,3205,3206,7,10,0,0,3206,3207,7,18,0,0,3207,3208,7,17,0,0,3208,3209,7,14,0,0,3209,3210,7,10,0,0,3210,3211,7,1,0,0,3211,3212,7,4,0,0,3212,3213,7,1,0,0,3213,642,1,0,0,0,3214,3215,7,14,0,0,3215,3216,7,10,0,0,3216,3217,7,15,0,0,3217,3218,7,0,0,0,3218,3219,7,15,0,0,3219,3220,7,16,0,0,3220,3221,7,4,0,0,3221,644,1,0,0,0,3222,3223,7,14,0,0,3223,3224,7,10,0,0,3224,3225,7,12,0,0,3225,3226,7,17,0,0,3226,3227,7,10,0,0,3227,646,1,0,0,0,3228,3229,7,14,0,0,3229,3230,7,10,0,0,3230,3231,7,12,0,0,3231,3232,7,25,0,0,3232,3233,7,14,0,0,3233,3234,7,4,0,0,3234,648,1,0,0,0,3235,3236,7,14,0,0,3236,3237,7,10,0,0,3237,3238,7,20,0,0,3238,3239,7,10,0,0,3239,3240,7,17,0,0,3240,3241,7,7,0,0,3241,3242,7,10,0,0,3242,650,1,0,0,0,3243,3244,7,14,0,0,3244,3245,7,10,0,0,3245,3246,7,6,0,0,3246,3247,7,17,0,0,3247,3248,7,15,0,0,3248,3249,7,20,0,0,3249,652,1,0,0,0,3250,3251,7,14,0,0,3251,3252,7,10,0,0,3252,3253,7,22,0,0,3253,3254,7,12,0,0,3254,3255,7,13,0,0,3255,3256,7,17,0,0,3256,3257,7,3,0,0,3257,654,1,0,0,0,3258,3259,7,14,0,0,3259,3260,7,10,0,0,3260,3261,7,9,0,0,3261,3262,7,4,0,0,3262,3263,7,3,0,0,3263,656,1,0,0,0,3264,3265,7,14,0,0,3265,3266,7,22,0,0,3266,3267,7,1,0,0,3267,3268,7,0,0,0,3268,3269,7,3,0,0,3269,3270,7,4,0,0,3270,658,1,0,0,0,3271,3272,7,14,0,0,3272,3273,7,9,0,0,3273,3274,7,4,0,0,3274,660,1,0,0,0,3275,3276,7,14,0,0,3276,3277,7,9,0,0,3277,3278,7,4,0,0,3278,3279,7,5,0,0,3279,662,1,0,0,0,3280,3281,7,14,0,0,3281,3282,7,9,0,0,3282,3283,7,12,0,0,3283,3284,7,10,0,0,3284,3285,7,19,0,0,3285,664,1,0,0,0,3286,3287,7,13,0,0,3287,3288,7,0,0,0,3288,3289,7,6,0,0,3289,3290,7,14,0,0,3290,3291,7,4,0,0,3291,3292,7,9,0,0,3292,666,1,0,0,0,3293,3294,7,13,0,0,3294,3295,7,0,0,0,3295,3296,7,5,0,0,3296,3297,7,15,0,0,3297,3298,7,16,0,0,3298,3299,7,0,0,0,3299,3300,7,5,0,0,3300,668,1,0,0,0,3301,3302,7,13,0,0,3302,3303,7,0,0,0,3303,3304,7,5,0,0,3304,670,1,0,0,0,3305,3306,7,13,0,0,3306,3307,7,0,0,0,3307,3308,7,5,0,0,3308,3309,7,12,0,0,3309,3310,7,0,0,0,3310,3311,7,18,0,0,3311,3312,7,6,0,0,3312,3313,7,4,0,0,3313,672,1,0,0,0,3314,3315,7,13,0,0,3315,3316,7,4,0,0,3316,3317,7,5,0,0,3317,3318,7,9,0,0,3318,3319,7,12,0,0,3319,3320,7,17,0,0,3320,3321,7,10,0,0,3321,674,1,0,0,0,3322,3323,7,13,0,0,3323,3324,7,12,0,0,3324,3325,7,4,0,0,3325,3326,7,7,0,0,3326,676,1,0,0,0,3327,3328,7,13,0,0,3328,3329,7,12,0,0,3329,3330,7,4,0,0,3330,3331,7,7,0,0,3331,3332,7,9,0,0,3332,678,1,0,0,0,3333,3334,7,13,0,0,3334,3335,7,17,0,0,3335,3336,7,12,0,0,3336,3337,7,1,0,0,3337,680,1,0,0,0,3338,3339,7,7,0,0,3339,3340,7,4,0,0,3340,3341,7,4,0,0,3341,3342,7,20,0,0,3342,682,1,0,0,0,3343,3344,7,7,0,0,3344,3345,7,4,0,0,3345,3346,7,4,0,0,3346,3347,7,20,0,0,3347,3348,7,9,0,0,3348,684,1,0,0,0,3349,3350,7,7,0,0,3350,3351,7,16,0,0,3351,3352,7,4,0,0,3352,3353,7,10,0,0,3353,686,1,0,0,0,3354,3355,7,7,0,0,3355,3356,7,16,0,0,3356,3357,7,4,0,0,3357,3358,7,5,0,0,3358,3359,7,4,0,0,3359,688,1,0,0,0,3360,3361,7,7,0,0,3361,3362,7,12,0,0,3362,3363,7,10,0,0,3363,3364,7,1,0,0,3364,3365,7,17,0,0,3365,3366,7,7,0,0,3366,690,1,0,0,0,3367,3368,7,7,0,0,3368,3369,7,12,0,0,3369,3370,7,3,0,0,3370,3371,7,16,0,0,3371,692,1,0,0,0,3372,3373,7,7,0,0,3373,3374,7,12,0,0,3374,3375,7,3,0,0,3375,3376,7,16,0,0,3376,3377,7,12,0,0,3377,3378,7,10,0,0,3378,694,1,0,0,0,3379,3380,7,8,0,0,3380,3381,7,4,0,0,3381,3382,7,0,0,0,3382,3383,7,5,0,0,3383,696,1,0,0,0,3384,3385,7,8,0,0,3385,3386,7,4,0,0,3386,3387,7,0,0,0,3387,3388,7,5,0,0,3388,3389,7,9,0,0,3389,698,1,0,0,0,3390,3391,7,11,0,0,3391,3392,7,17,0,0,3392,3393,7,10,0,0,3393,3394,7,4,0,0,3394,700,1,0,0,0,3395,3396,7,11,0,0,3396,3397,7,17,0,0,3397,3398,7,5,0,0,3398,3399,7,1,0,0,3399,3400,7,4,0,0,3400,3401,7,5,0,0,3401,702,1,0,0,0,3402,3406,5,61,0,0,3403,3404,5,61,0,0,3404,3406,5,61,0,0,3405,3402,1,0,0,0,3405,3403,1,0,0,0,3406,704,1,0,0,0,3407,3408,5,60,0,0,3408,3409,5,61,0,0,3409,3410,5,62,0,0,3410,706,1,0,0,0,3411,3412,5,60,0,0,3412,3413,5,62,0,0,3413,708,1,0,0,0,3414,3415,5,33,0,0,3415,3416,5,61,0,0,3416,710,1,0,0,0,3417,3418,5,60,0,0,3418,712,1,0,0,0,3419,3420,5,60,0,0,3420,3424,5,61,0,0,3421,3422,5,33,0,0,3422,3424,5,62,0,0,3423,3419,1,0,0,0,3423,3421,1,0,0,0,3424,714,1,0,0,0,3425,3426,5,62,0,0,3426,716,1,0,0,0,3427,3428,5,62,0,0,3428,3432,5,61,0,0,3429,3430,5,33,0,0,3430,3432,5,60,0,0,3431,3427,1,0,0,0,3431,3429,1,0,0,0,3432,718,1,0,0,0,3433,3434,5,33,0,0,3434,720,1,0,0,0,3435,3436,5,43,0,0,3436,722,1,0,0,0,3437,3438,5,45,0,0,3438,724,1,0,0,0,3439,3440,5,42,0,0,3440,726,1,0,0,0,3441,3442,5,47,0,0,3442,728,1,0,0,0,3443,3444,5,37,0,0,3444,730,1,0,0,0,3445,3446,5,126,0,0,3446,732,1,0,0,0,3447,3448,5,38,0,0,3448,734,1,0,0,0,3449,3450,5,124,0,0,3450,736,1,0,0,0,3451,3452,5,124,0,0,3452,3453,5,124,0,0,3453,738,1,0,0,0,3454,3455,5,94,0,0,3455,740,1,0,0,0,3456,3457,5,58,0,0,3457,742,1,0,0,0,3458,3459,5,45,0,0,3459,3460,5,62,0,0,3460,744,1,0,0,0,3461,3462,5,61,0,0,3462,3463,5,62,0,0,3463,746,1,0,0,0,3464,3465,5,47,0,0,3465,3466,5,42,0,0,3466,3467,5,43,0,0,3467,748,1,0,0,0,3468,3469,5,42,0,0,3469,3470,5,47,0,0,3470,750,1,0,0,0,3471,3472,5,63,0,0,3472,752,1,0,0,0,3473,3479,5,39,0,0,3474,3478,8,26,0,0,3475,3476,5,92,0,0,3476,3478,9,0,0,0,3477,3474,1,0,0,0,3477,3475,1,0,0,0,3478,3481,1,0,0,0,3479,3477,1,0,0,0,3479,3480,1,0,0,0,3480,3482,1,0,0,0,3481,3479,1,0,0,0,3482,3504,5,39,0,0,3483,3484,7,5,0,0,3484,3485,5,39,0,0,3485,3489,1,0,0,0,3486,3488,8,27,0,0,3487,3486,1,0,0,0,3488,3491,1,0,0,0,3489,3487,1,0,0,0,3489,3490,1,0,0,0,3490,3492,1,0,0,0,3491,3489,1,0,0,0,3492,3504,5,39,0,0,3493,3494,7,5,0,0,3494,3495,5,34,0,0,3495,3499,1,0,0,0,3496,3498,8,28,0,0,3497,3496,1,0,0,0,3498,3501,1,0,0,0,3499,3497,1,0,0,0,3499,3500,1,0,0,0,3500,3502,1,0,0,0,3501,3499,1,0,0,0,3502,3504,5,34,0,0,3503,3473,1,0,0,0,3503,3483,1,0,0,0,3503,3493,1,0,0,0,3504,754,1,0,0,0,3505,3511,5,34,0,0,3506,3510,8,29,0,0,3507,3508,5,92,0,0,3508,3510,9,0,0,0,3509,3506,1,0,0,0,3509,3507,1,0,0,0,3510,3513,1,0,0,0,3511,3509,1,0,0,0,3511,3512,1,0,0,0,3512,3514,1,0,0,0,3513,3511,1,0,0,0,3514,3515,5,34,0,0,3515,756,1,0,0,0,3516,3518,3,783,391,0,3517,3516,1,0,0,0,3518,3519,1,0,0,0,3519,3517,1,0,0,0,3519,3520,1,0,0,0,3520,3521,1,0,0,0,3521,3522,7,6,0,0,3522,758,1,0,0,0,3523,3525,3,783,391,0,3524,3523,1,0,0,0,3525,3526,1,0,0,0,3526,3524,1,0,0,0,3526,3527,1,0,0,0,3527,3528,1,0,0,0,3528,3529,7,9,0,0,3529,760,1,0,0,0,3530,3532,3,783,391,0,3531,3530,1,0,0,0,3532,3533,1,0,0,0,3533,3531,1,0,0,0,3533,3534,1,0,0,0,3534,3535,1,0,0,0,3535,3536,7,8,0,0,3536,762,1,0,0,0,3537,3539,3,783,391,0,3538,3537,1,0,0,0,3539,3540,1,0,0,0,3540,3538,1,0,0,0,3540,3541,1,0,0,0,3541,764,1,0,0,0,3542,3544,3,783,391,0,3543,3542,1,0,0,0,3544,3545,1,0,0,0,3545,3543,1,0,0,0,3545,3546,1,0,0,0,3546,3547,1,0,0,0,3547,3548,3,781,390,0,3548,3553,1,0,0,0,3549,3550,3,779,389,0,3550,3551,3,781,390,0,3551,3553,1,0,0,0,3552,3543,1,0,0,0,3552,3549,1,0,0,0,3553,766,1,0,0,0,3554,3555,3,779,389,0,3555,768,1,0,0,0,3556,3558,3,783,391,0,3557,3556,1,0,0,0,3558,3559,1,0,0,0,3559,3557,1,0,0,0,3559,3560,1,0,0,0,3560,3562,1,0,0,0,3561,3563,3,781,390,0,3562,3561,1,0,0,0,3562,3563,1,0,0,0,3563,3564,1,0,0,0,3564,3565,7,2,0,0,3565,3573,1,0,0,0,3566,3568,3,779,389,0,3567,3569,3,781,390,0,3568,3567,1,0,0,0,3568,3569,1,0,0,0,3569,3570,1,0,0,0,3570,3571,7,2,0,0,3571,3573,1,0,0,0,3572,3557,1,0,0,0,3572,3566,1,0,0,0,3573,770,1,0,0,0,3574,3576,3,783,391,0,3575,3574,1,0,0,0,3576,3577,1,0,0,0,3577,3575,1,0,0,0,3577,3578,1,0,0,0,3578,3580,1,0,0,0,3579,3581,3,781,390,0,3580,3579,1,0,0,0,3580,3581,1,0,0,0,3581,3582,1,0,0,0,3582,3583,7,1,0,0,3583,3591,1,0,0,0,3584,3586,3,779,389,0,3585,3587,3,781,390,0,3586,3585,1,0,0,0,3586,3587,1,0,0,0,3587,3588,1,0,0,0,3588,3589,7,1,0,0,3589,3591,1,0,0,0,3590,3575,1,0,0,0,3590,3584,1,0,0,0,3591,772,1,0,0,0,3592,3594,3,783,391,0,3593,3592,1,0,0,0,3594,3595,1,0,0,0,3595,3593,1,0,0,0,3595,3596,1,0,0,0,3596,3598,1,0,0,0,3597,3599,3,781,390,0,3598,3597,1,0,0,0,3598,3599,1,0,0,0,3599,3600,1,0,0,0,3600,3601,7,18,0,0,3601,3602,7,1,0,0,3602,3611,1,0,0,0,3603,3605,3,779,389,0,3604,3606,3,781,390,0,3605,3604,1,0,0,0,3605,3606,1,0,0,0,3606,3607,1,0,0,0,3607,3608,7,18,0,0,3608,3609,7,1,0,0,3609,3611,1,0,0,0,3610,3593,1,0,0,0,3610,3603,1,0,0,0,3611,774,1,0,0,0,3612,3616,3,785,392,0,3613,3616,3,783,391,0,3614,3616,5,95,0,0,3615,3612,1,0,0,0,3615,3613,1,0,0,0,3615,3614,1,0,0,0,3616,3617,1,0,0,0,3617,3615,1,0,0,0,3617,3618,1,0,0,0,3618,776,1,0,0,0,3619,3625,5,96,0,0,3620,3624,8,30,0,0,3621,3622,5,96,0,0,3622,3624,5,96,0,0,3623,3620,1,0,0,0,3623,3621,1,0,0,0,3624,3627,1,0,0,0,3625,3623,1,0,0,0,3625,3626,1,0,0,0,3626,3628,1,0,0,0,3627,3625,1,0,0,0,3628,3629,5,96,0,0,3629,778,1,0,0,0,3630,3632,3,783,391,0,3631,3630,1,0,0,0,3632,3633,1,0,0,0,3633,3631,1,0,0,0,3633,3634,1,0,0,0,3634,3635,1,0,0,0,3635,3639,5,46,0,0,3636,3638,3,783,391,0,3637,3636,1,0,0,0,3638,3641,1,0,0,0,3639,3637,1,0,0,0,3639,3640,1,0,0,0,3640,3649,1,0,0,0,3641,3639,1,0,0,0,3642,3644,5,46,0,0,3643,3645,3,783,391,0,3644,3643,1,0,0,0,3645,3646,1,0,0,0,3646,3644,1,0,0,0,3646,3647,1,0,0,0,3647,3649,1,0,0,0,3648,3631,1,0,0,0,3648,3642,1,0,0,0,3649,780,1,0,0,0,3650,3652,7,4,0,0,3651,3653,7,31,0,0,3652,3651,1,0,0,0,3652,3653,1,0,0,0,3653,3655,1,0,0,0,3654,3656,3,783,391,0,3655,3654,1,0,0,0,3656,3657,1,0,0,0,3657,3655,1,0,0,0,3657,3658,1,0,0,0,3658,782,1,0,0,0,3659,3660,7,32,0,0,3660,784,1,0,0,0,3661,3662,7,33,0,0,3662,786,1,0,0,0,3663,3664,5,45,0,0,3664,3665,5,45,0,0,3665,3671,1,0,0,0,3666,3667,5,92,0,0,3667,3670,5,10,0,0,3668,3670,8,34,0,0,3669,3666,1,0,0,0,3669,3668,1,0,0,0,3670,3673,1,0,0,0,3671,3669,1,0,0,0,3671,3672,1,0,0,0,3672,3675,1,0,0,0,3673,3671,1,0,0,0,3674,3676,5,13,0,0,3675,3674,1,0,0,0,3675,3676,1,0,0,0,3676,3678,1,0,0,0,3677,3679,5,10,0,0,3678,3677,1,0,0,0,3678,3679,1,0,0,0,3679,3680,1,0,0,0,3680,3681,6,393,0,0,3681,788,1,0,0,0,3682,3683,5,47,0,0,3683,3684,5,42,0,0,3684,3689,1,0,0,0,3685,3688,3,789,394,0,3686,3688,9,0,0,0,3687,3685,1,0,0,0,3687,3686,1,0,0,0,3688,3691,1,0,0,0,3689,3690,1,0,0,0,3689,3687,1,0,0,0,3690,3696,1,0,0,0,3691,3689,1,0,0,0,3692,3693,5,42,0,0,3693,3697,5,47,0,0,3694,3695,6,394,1,0,3695,3697,5,0,0,1,3696,3692,1,0,0,0,3696,3694,1,0,0,0,3697,3698,1,0,0,0,3698,3699,6,394,0,0,3699,790,1,0,0,0,3700,3702,7,35,0,0,3701,3700,1,0,0,0,3702,3703,1,0,0,0,3703,3701,1,0,0,0,3703,3704,1,0,0,0,3704,3705,1,0,0,0,3705,3706,6,395,0,0,3706,792,1,0,0,0,3707,3708,9,0,0,0,3708,794,1,0,0,0,47,0,3405,3423,3431,3477,3479,3489,3499,3503,3509,3511,3519,3526,3533,3540,3545,3552,3559,3562,3568,3572,3577,3580,3586,3590,3595,3598,3605,3610,3615,3617,3623,3625,3633,3639,3646,3648,3652,3657,3669,3671,3675,3678,3687,3689,3696,3703,2,0,1,0,1,394,0],l.vocabulary=new Te(l.literalNames,l.symbolicNames,[]),l.decisionsToDFA=l._ATN.decisionToState.map((n,t)=>new u1(n,t));class eu extends T3{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,i,s,r;return this.entityCollecting&&((i=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&i!==void 0?i:1/0)<=this.caretTokenIndex&&((r=(s=this.tokenStream.LT(1))===null||s===void 0?void 0:s.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class e extends eu{get grammarFileName(){return"SparkSqlParser.g4"}get literalNames(){return e.literalNames}get symbolicNames(){return e.symbolicNames}get ruleNames(){return e.ruleNames}get serializedATN(){return e._serializedATN}createFailedPredicateException(t,i){return new rn(this,t,i)}constructor(t){super(t),this.interpreter=new sn(this,e._ATN,e.decisionsToDFA,new Ai)}program(){let t=new iu(this.context,this.state);this.enterRule(t,0,e.RULE_program);let i;try{this.enterOuterAlt(t,1);{for(this.state=403,this.errorHandler.sync(this),i=this.tokenStream.LA(1);!(i&-32)&&1<'","'<>'","'!='","'<'",null,"'>'",null,"'!'","'+'","'-'","'*'","'/'","'%'","'~'","'&'","'|'","'||'","'^'","':'","'->'","'=>'","'/*+'","'*/'","'?'"],e.symbolicNames=[null,"SEMICOLON","LEFT_PAREN","RIGHT_PAREN","COMMA","DOT","LEFT_BRACKET","RIGHT_BRACKET","KW_ADD","KW_AFTER","KW_ALL","KW_ALTER","KW_ALWAYS","KW_ANALYZE","KW_AND","KW_ANTI","KW_ANY","KW_ANY_VALUE","KW_ARCHIVE","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BETWEEN","KW_BIGINT","KW_BINARY","KW_BOOLEAN","KW_BOTH","KW_BUCKET","KW_BUCKETS","KW_BY","KW_BYTE","KW_CACHE","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_CHANGE","KW_CHAR","KW_CHARACTER","KW_CHECK","KW_CLEAR","KW_CLUSTER","KW_CLUSTERED","KW_CODEGEN","KW_COLLATE","KW_COLLECTION","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMPACT","KW_COMPACTIONS","KW_COMPUTE","KW_CONCATENATE","KW_CONSTRAINT","KW_COST","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_DATE","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DAY","KW_DAYS","KW_DAYOFYEAR","KW_DATA","KW_DATE","KW_DATABASE","KW_DATABASES","KW_DATEADD","KW_DATE_ADD","KW_DATEDIFF","KW_DATE_DIFF","KW_DBPROPERTIES","KW_DEC","KW_DECIMAL","KW_DECLARE","KW_DEFAULT","KW_DEFINED","KW_DELETE","KW_DELIMITED","KW_DESC","KW_DESCRIBE","KW_DFS","KW_DIRECTORIES","KW_DIRECTORY","KW_DISABLE","KW_DISTINCT","KW_DISTRIBUTE","KW_DIV","KW_DOUBLE","KW_DROP","KW_ELSE","KW_ENABLE","KW_END","KW_ESCAPE","KW_ESCAPED","KW_EXCEPT","KW_EXCHANGE","KW_EXCLUDE","KW_EXISTS","KW_EXPLAIN","KW_EXPORT","KW_EXTENDED","KW_EXTERNAL","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FIELDS","KW_FILTER","KW_FILEFORMAT","KW_FIRST","KW_FLOAT","KW_FOLLOWING","KW_FOR","KW_FOREIGN","KW_FORMAT","KW_FORMATTED","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GENERATED","KW_GLOBAL","KW_GRANT","KW_GROUP","KW_GROUPING","KW_HAVING","KW_BINARY_HEX","KW_HOUR","KW_HOURS","KW_IDENTIFIER","KW_IF","KW_IGNORE","KW_IMPORT","KW_IN","KW_INCLUDE","KW_INDEX","KW_INDEXES","KW_INNER","KW_INPATH","KW_INPUTFORMAT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INT","KW_INTEGER","KW_INTO","KW_IS","KW_ITEMS","KW_JOIN","KW_KEYS","KW_LAST","KW_LATERAL","KW_LAZY","KW_LEADING","KW_LEFT","KW_LIFECYCLE","KW_LIKE","KW_ILIKE","KW_LIMIT","KW_LINES","KW_LIST","KW_LOAD","KW_LOCAL","KW_LOCATION","KW_LOCK","KW_LOCKS","KW_LOGICAL","KW_LONG","KW_MACRO","KW_MATERIALIZED","KW_MAP","KW_MATCHED","KW_MERGE","KW_MICROSECOND","KW_MICROSECONDS","KW_MILLISECOND","KW_MILLISECONDS","KW_MINUTE","KW_MINUTES","KW_MONTH","KW_MONTHS","KW_MSCK","KW_NAME","KW_NAMESPACE","KW_NAMESPACES","KW_NANOSECOND","KW_NANOSECONDS","KW_NATURAL","KW_NO","KW_NOSCAN","KW_NOT","KW_NULL","KW_NULLS","KW_NUMERIC","KW_OF","KW_OFFSET","KW_ON","KW_ONLY","KW_OPTIMIZE","KW_OPTION","KW_OPTIONS","KW_OR","KW_ORDER","KW_OUT","KW_OUTER","KW_OUTPUTFORMAT","KW_OVER","KW_OVERLAPS","KW_OVERLAY","KW_OVERWRITE","KW_PARTITION","KW_PARTITIONED","KW_PARTITIONS","KW_PERCENTILE_CONT","KW_PERCENTILE_DISC","KW_PERCENTLIT","KW_PIVOT","KW_PLACING","KW_POSITION","KW_PRECEDING","KW_PRIMARY","KW_PRINCIPALS","KW_PROPERTIES","KW_PURGE","KW_QUARTER","KW_QUERY","KW_RANGE","KW_REAL","KW_RECORDREADER","KW_RECORDWRITER","KW_RECOVER","KW_REDUCE","KW_REFERENCES","KW_REFRESH","KW_RENAME","KW_REPAIR","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REWRITE","KW_REVOKE","KW_RIGHT","KW_RLIKE","KW_REGEXP","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_SECOND","KW_SECONDS","KW_SCHEMA","KW_SCHEMAS","KW_SELECT","KW_SEMI","KW_SEPARATED","KW_SERDE","KW_SERDEPROPERTIES","KW_SESSION_USER","KW_SET","KW_MINUS","KW_SETS","KW_SHORT","KW_SHOW","KW_SINGLE","KW_SKEWED","KW_SMALLINT","KW_SOME","KW_SORT","KW_SORTED","KW_SOURCE","KW_START","KW_STATISTICS","KW_STORED","KW_STRATIFY","KW_STRING","KW_STRUCT","KW_SUBSTR","KW_SUBSTRING","KW_SYNC","KW_SYSTEM","KW_SYSTEM_TIME","KW_SYSTEM_VERSION","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TARGET","KW_TBLPROPERTIES","KW_TEMPORARY","KW_TERMINATED","KW_THEN","KW_TIME","KW_TIMEDIFF","KW_TIMESTAMP","KW_TIMESTAMP_LTZ","KW_TIMESTAMP_NTZ","KW_TIMESTAMPADD","KW_TIMESTAMPDIFF","KW_TINYINT","KW_TO","KW_TOUCH","KW_TRAILING","KW_TRANSACTION","KW_TRANSACTIONS","KW_TRANSFORM","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UNARCHIVE","KW_UNBOUNDED","KW_UNCACHE","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNLOCK","KW_UNPIVOT","KW_UNSET","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALUES","KW_VARCHAR","KW_VAR","KW_VARIABLE","KW_VERSION","KW_VIEW","KW_VIEWS","KW_VOID","KW_WEEK","KW_WEEKS","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_YEAR","KW_YEARS","KW_ZONE","KW_ZORDER","EQ","NSEQ","NEQ","NEQJ","LT","LTE","GT","GTE","NOT","PLUS","MINUS","ASTERISK","SLASH","PERCENT","TILDE","AMPERSAND","PIPE","CONCAT_PIPE","HAT","COLON","ARROW","FAT_ARROW","HENT_START","HENT_END","QUESTION","STRING_LITERAL","DOUBLEQUOTED_STRING","BIGINT_LITERAL","SMALLINT_LITERAL","TINYINT_LITERAL","INTEGER_VALUE","EXPONENT_VALUE","DECIMAL_VALUE","FLOAT_LITERAL","DOUBLE_LITERAL","BIGDECIMAL_LITERAL","IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],e.ruleNames=["program","singleStatement","statement","timezone","configKey","configValue","unsupportedHiveNativeCommands","createTableHeader","replaceTableHeader","bucketSpec","skewSpec","locationSpec","commentSpec","query","insertInto","partitionSpecLocation","partitionSpec","partitionVal","namespace","namespaces","describeFuncName","describeColName","ctes","namedQuery","tableProvider","createTableClauses","tableLifecycle","propertyList","property","propertyKey","propertyValue","expressionPropertyList","expressionProperty","constantList","nestedConstantList","createFileFormat","fileFormat","storageHandler","resource","dmlStatementNoWith","namespaceName","namespaceNameCreate","tableNameCreate","tableName","viewNameCreate","viewName","columnName","columnNameSeq","columnNameCreate","identifierReference","queryOrganization","multiInsertQueryBody","queryTerm","queryPrimary","sortItem","fromStatement","fromStatementBody","querySpecification","transformClause","selectClause","setClause","matchedClause","notMatchedClause","notMatchedBySourceClause","matchedAction","notMatchedAction","notMatchedBySourceAction","assignmentList","assignment","whereClause","havingClause","hint","hintStatement","fromClause","functionKind","temporalClause","aggregationClause","groupByClause","groupingAnalytics","groupingElement","groupingSet","pivotClause","pivotColumn","pivotValue","unpivotClause","unpivotNullClause","unpivotOperator","unpivotSingleValueColumnClause","unpivotMultiValueColumnClause","unpivotColumnSet","unpivotValueColumn","unpivotNameColumn","unpivotColumnAndAlias","unpivotColumn","unpivotAlias","ifNotExists","ifExists","lateralView","setQuantifier","relation","relationExtension","joinRelation","joinType","joinCriteria","sample","sampleMethod","identifierList","identifierSeq","orderedIdentifierList","orderedIdentifier","identifierCommentList","identifierComment","relationPrimary","inlineTable","functionTableSubqueryArgument","tableArgumentPartitioning","functionTableNamedArgumentExpression","functionTableReferenceArgument","functionTableArgument","functionTable","tableAlias","rowFormat","multipartIdentifierList","multipartIdentifier","multipartIdentifierPropertyList","multipartIdentifierProperty","tableIdentifier","viewIdentifier","namedExpression","namedExpressionSeq","partitionFieldList","partitionField","transform","transformArgument","expression","namedArgumentExpression","functionArgument","expressionSeq","booleanExpression","predicate","valueExpression","datetimeUnit","primaryExpression","literalType","constant","comparisonOperator","arithmeticOperator","predicateOperator","booleanValue","interval","errorCapturingMultiUnitsInterval","multiUnitsInterval","errorCapturingUnitToUnitInterval","unitToUnitInterval","intervalValue","unitInMultiUnits","unitInUnitToUnit","colPosition","type","dataType","qualifiedColTypeWithPositionSeqForAdd","qualifiedColTypeWithPositionForAdd","qualifiedColTypeWithPositionSeqForReplace","qualifiedColTypeWithPositionForReplace","colDefinitionDescriptorWithPosition","defaultExpression","variableDefaultExpression","colTypeList","colType","createOrReplaceTableColTypeList","createOrReplaceTableColType","colDefinitionOption","generationExpression","complexColTypeList","complexColType","whenClause","windowClause","zorderClause","namedWindow","windowSpec","windowFrame","frameBound","qualifiedNameList","functionName","functionNameCreate","qualifiedName","errorCapturingIdentifier","errorCapturingIdentifierExtra","identifier","strictIdentifier","quotedIdentifier","backQuotedIdentifier","number","alterColumnAction","stringLit","comment","version","ansiNonReserved","strictNonReserved","nonReserved"],e._serializedATN=[4,1,393,3971,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,1,0,5,0,402,8,0,10,0,12,0,405,9,0,1,0,1,0,1,1,1,1,3,1,411,8,1,1,2,1,2,3,2,415,8,2,1,2,1,2,1,2,3,2,420,8,2,1,2,1,2,1,2,1,2,1,2,3,2,427,8,2,1,2,1,2,1,2,3,2,432,8,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,440,8,2,10,2,12,2,443,9,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,461,8,2,1,2,1,2,3,2,465,8,2,1,2,1,2,1,2,1,2,3,2,471,8,2,1,2,3,2,474,8,2,1,2,3,2,477,8,2,1,2,1,2,1,2,1,2,1,2,3,2,484,8,2,1,2,3,2,487,8,2,1,2,1,2,3,2,491,8,2,1,2,3,2,494,8,2,1,2,1,2,1,2,3,2,499,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,511,8,2,10,2,12,2,514,9,2,1,2,1,2,1,2,1,2,1,2,3,2,521,8,2,1,2,3,2,524,8,2,1,2,1,2,3,2,528,8,2,1,2,3,2,531,8,2,1,2,1,2,1,2,1,2,3,2,537,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,548,8,2,1,2,1,2,1,2,1,2,3,2,554,8,2,1,2,1,2,1,2,3,2,559,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,592,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,602,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,613,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,624,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,635,8,2,1,2,1,2,1,2,3,2,640,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,649,8,2,1,2,1,2,3,2,653,8,2,1,2,1,2,1,2,1,2,3,2,659,8,2,1,2,1,2,3,2,663,8,2,1,2,1,2,1,2,3,2,668,8,2,1,2,1,2,1,2,1,2,3,2,674,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,686,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,694,8,2,1,2,1,2,1,2,1,2,3,2,700,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,711,8,2,1,2,1,2,3,2,715,8,2,1,2,4,2,718,8,2,11,2,12,2,719,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,735,8,2,1,2,1,2,3,2,739,8,2,1,2,1,2,1,2,5,2,744,8,2,10,2,12,2,747,9,2,1,2,3,2,750,8,2,1,2,1,2,1,2,1,2,3,2,756,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,785,8,2,1,2,1,2,3,2,789,8,2,1,2,1,2,1,2,3,2,794,8,2,1,2,1,2,1,2,1,2,1,2,3,2,801,8,2,1,2,1,2,1,2,1,2,3,2,807,8,2,1,2,3,2,810,8,2,1,2,3,2,813,8,2,1,2,1,2,3,2,817,8,2,1,2,1,2,3,2,821,8,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,829,8,2,10,2,12,2,832,9,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,840,8,2,1,2,3,2,843,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,852,8,2,1,2,1,2,1,2,3,2,857,8,2,1,2,1,2,1,2,1,2,3,2,863,8,2,1,2,1,2,1,2,1,2,1,2,3,2,870,8,2,1,2,3,2,873,8,2,1,2,1,2,3,2,877,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,886,8,2,10,2,12,2,889,9,2,3,2,891,8,2,1,2,1,2,1,2,1,2,3,2,897,8,2,1,2,1,2,3,2,901,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,916,8,2,10,2,12,2,919,9,2,1,2,1,2,1,2,1,2,1,2,3,2,926,8,2,1,2,1,2,3,2,930,8,2,1,2,1,2,1,2,1,2,3,2,936,8,2,1,2,3,2,939,8,2,1,2,1,2,3,2,943,8,2,1,2,3,2,946,8,2,1,2,1,2,1,2,1,2,3,2,952,8,2,1,2,1,2,1,2,3,2,957,8,2,1,2,1,2,3,2,961,8,2,1,2,1,2,1,2,1,2,1,2,3,2,968,8,2,1,2,3,2,971,8,2,1,2,3,2,974,8,2,1,2,1,2,1,2,1,2,1,2,3,2,981,8,2,1,2,1,2,1,2,3,2,986,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,995,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1003,8,2,1,2,1,2,1,2,1,2,3,2,1009,8,2,1,2,3,2,1012,8,2,1,2,3,2,1015,8,2,1,2,1,2,1,2,1,2,3,2,1021,8,2,1,2,1,2,3,2,1025,8,2,1,2,1,2,1,2,3,2,1030,8,2,1,2,3,2,1033,8,2,1,2,1,2,3,2,1037,8,2,3,2,1039,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1047,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1055,8,2,1,2,3,2,1058,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1065,8,2,1,2,3,2,1068,8,2,1,2,3,2,1071,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1080,8,2,1,2,1,2,1,2,3,2,1085,8,2,1,2,1,2,1,2,1,2,3,2,1091,8,2,1,2,1,2,1,2,3,2,1096,8,2,1,2,3,2,1099,8,2,1,2,1,2,3,2,1103,8,2,1,2,3,2,1106,8,2,1,2,1,2,3,2,1110,8,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,1136,8,2,10,2,12,2,1139,9,2,3,2,1141,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1149,8,2,1,2,1,2,1,2,1,2,3,2,1155,8,2,1,2,3,2,1158,8,2,1,2,3,2,1161,8,2,1,2,1,2,1,2,3,2,1166,8,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,1174,8,2,1,2,1,2,1,2,3,2,1179,8,2,1,2,1,2,1,2,1,2,3,2,1185,8,2,1,2,1,2,1,2,1,2,3,2,1191,8,2,1,2,3,2,1194,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1201,8,2,1,2,1,2,1,2,5,2,1206,8,2,10,2,12,2,1209,9,2,1,2,1,2,1,2,5,2,1214,8,2,10,2,12,2,1217,9,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,1231,8,2,10,2,12,2,1234,9,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,5,2,1258,8,2,10,2,12,2,1261,9,2,3,2,1263,8,2,1,2,1,2,5,2,1267,8,2,10,2,12,2,1270,9,2,1,2,1,2,1,2,1,2,5,2,1276,8,2,10,2,12,2,1279,9,2,1,2,1,2,1,2,1,2,5,2,1285,8,2,10,2,12,2,1288,9,2,1,2,1,2,1,2,3,2,1293,8,2,1,2,1,2,1,2,3,2,1298,8,2,1,2,1,2,1,2,3,2,1303,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1310,8,2,1,2,1,2,1,2,3,2,1315,8,2,1,2,1,2,1,2,3,2,1320,8,2,1,2,1,2,1,2,1,2,1,2,3,2,1327,8,2,1,2,1,2,1,2,1,2,5,2,1333,8,2,10,2,12,2,1336,9,2,3,2,1338,8,2,1,3,1,3,3,3,1342,8,3,1,4,1,4,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1354,8,6,1,6,1,6,3,6,1358,8,6,1,6,1,6,1,6,1,6,1,6,3,6,1365,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1481,8,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1489,8,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1497,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1506,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,1516,8,6,1,7,1,7,3,7,1520,8,7,1,7,3,7,1523,8,7,1,7,1,7,3,7,1527,8,7,1,7,1,7,1,8,1,8,3,8,1533,8,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,3,9,1545,8,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,3,10,1557,8,10,1,10,1,10,1,10,3,10,1562,8,10,1,11,1,11,1,11,1,12,1,12,1,12,1,13,3,13,1571,8,13,1,13,1,13,1,13,1,14,1,14,1,14,3,14,1579,8,14,1,14,1,14,1,14,3,14,1584,8,14,3,14,1586,8,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,1594,8,14,1,14,1,14,1,14,3,14,1599,8,14,1,14,1,14,3,14,1603,8,14,1,14,3,14,1606,8,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,1614,8,14,1,14,1,14,1,14,3,14,1619,8,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,1628,8,14,1,14,1,14,1,14,3,14,1633,8,14,1,14,3,14,1636,8,14,1,14,1,14,1,14,3,14,1641,8,14,1,14,1,14,3,14,1645,8,14,1,14,1,14,1,14,3,14,1650,8,14,3,14,1652,8,14,1,15,1,15,3,15,1656,8,15,1,16,1,16,1,16,1,16,1,16,5,16,1663,8,16,10,16,12,16,1666,9,16,1,16,1,16,1,17,1,17,1,17,3,17,1673,8,17,1,17,1,17,1,17,1,17,3,17,1679,8,17,1,18,1,18,1,19,1,19,1,20,1,20,1,20,1,20,1,20,3,20,1690,8,20,1,21,1,21,1,21,5,21,1695,8,21,10,21,12,21,1698,9,21,1,22,1,22,1,22,1,22,5,22,1704,8,22,10,22,12,22,1707,9,22,1,23,1,23,3,23,1711,8,23,1,23,3,23,1714,8,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,5,25,1737,8,25,10,25,12,25,1740,9,25,1,26,1,26,1,26,1,27,1,27,1,27,1,27,5,27,1749,8,27,10,27,12,27,1752,9,27,1,27,1,27,1,28,1,28,3,28,1758,8,28,1,28,3,28,1761,8,28,1,29,1,29,1,29,5,29,1766,8,29,10,29,12,29,1769,9,29,1,29,3,29,1772,8,29,1,30,1,30,1,30,1,30,3,30,1778,8,30,1,31,1,31,1,31,1,31,5,31,1784,8,31,10,31,12,31,1787,9,31,1,31,1,31,1,32,1,32,3,32,1793,8,32,1,32,3,32,1796,8,32,1,33,1,33,1,33,1,33,5,33,1802,8,33,10,33,12,33,1805,9,33,1,33,1,33,1,34,1,34,1,34,1,34,5,34,1813,8,34,10,34,12,34,1816,9,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1826,8,35,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1834,8,36,1,37,1,37,1,37,1,37,3,37,1840,8,37,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,4,39,1850,8,39,11,39,12,39,1851,1,39,1,39,1,39,1,39,1,39,3,39,1859,8,39,1,39,1,39,1,39,1,39,1,39,3,39,1866,8,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,1878,8,39,1,39,1,39,1,39,1,39,5,39,1884,8,39,10,39,12,39,1887,9,39,1,39,5,39,1890,8,39,10,39,12,39,1893,9,39,1,39,5,39,1896,8,39,10,39,12,39,1899,9,39,3,39,1901,8,39,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,3,46,1917,8,46,1,47,1,47,1,47,5,47,1922,8,47,10,47,12,47,1925,9,47,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,3,49,1935,8,49,1,50,1,50,1,50,1,50,1,50,5,50,1942,8,50,10,50,12,50,1945,9,50,3,50,1947,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1954,8,50,10,50,12,50,1957,9,50,3,50,1959,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1966,8,50,10,50,12,50,1969,9,50,3,50,1971,8,50,1,50,1,50,1,50,1,50,1,50,5,50,1978,8,50,10,50,12,50,1981,9,50,3,50,1983,8,50,1,50,3,50,1986,8,50,1,50,1,50,1,50,3,50,1991,8,50,3,50,1993,8,50,1,50,1,50,3,50,1997,8,50,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,3,52,2008,8,52,1,52,1,52,1,52,1,52,3,52,2014,8,52,1,52,1,52,1,52,1,52,3,52,2020,8,52,1,52,5,52,2023,8,52,10,52,12,52,2026,9,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,2037,8,53,1,54,1,54,3,54,2041,8,54,1,54,3,54,2044,8,54,1,54,1,54,3,54,2048,8,54,1,55,1,55,4,55,2052,8,55,11,55,12,55,2053,1,56,1,56,3,56,2058,8,56,1,56,1,56,1,56,1,56,5,56,2064,8,56,10,56,12,56,2067,9,56,1,56,3,56,2070,8,56,1,56,3,56,2073,8,56,1,56,3,56,2076,8,56,1,56,3,56,2079,8,56,1,56,1,56,3,56,2083,8,56,1,57,1,57,3,57,2087,8,57,1,57,5,57,2090,8,57,10,57,12,57,2093,9,57,1,57,3,57,2096,8,57,1,57,3,57,2099,8,57,1,57,3,57,2102,8,57,1,57,3,57,2105,8,57,1,57,1,57,3,57,2109,8,57,1,57,5,57,2112,8,57,10,57,12,57,2115,9,57,1,57,3,57,2118,8,57,1,57,3,57,2121,8,57,1,57,3,57,2124,8,57,1,57,3,57,2127,8,57,3,57,2129,8,57,1,58,1,58,1,58,1,58,3,58,2135,8,58,1,58,1,58,1,58,1,58,1,58,3,58,2142,8,58,1,58,1,58,1,58,3,58,2147,8,58,1,58,3,58,2150,8,58,1,58,3,58,2153,8,58,1,58,1,58,3,58,2157,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,3,58,2167,8,58,1,58,1,58,3,58,2171,8,58,3,58,2173,8,58,1,58,3,58,2176,8,58,1,58,1,58,3,58,2180,8,58,1,59,1,59,5,59,2184,8,59,10,59,12,59,2187,9,59,1,59,3,59,2190,8,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,1,61,1,61,3,61,2201,8,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,3,62,2211,8,62,1,62,1,62,3,62,2215,8,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,3,63,2227,8,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,3,64,2239,8,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,5,65,2252,8,65,10,65,12,65,2255,9,65,1,65,1,65,3,65,2259,8,65,1,66,1,66,1,66,1,66,3,66,2265,8,66,1,67,1,67,1,67,5,67,2270,8,67,10,67,12,67,2273,9,67,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,70,1,70,1,70,1,71,1,71,1,71,3,71,2288,8,71,1,71,5,71,2291,8,71,10,71,12,71,2294,9,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2304,8,72,10,72,12,72,2307,9,72,1,72,1,72,3,72,2311,8,72,1,73,1,73,1,73,1,73,5,73,2317,8,73,10,73,12,73,2320,9,73,1,73,5,73,2323,8,73,10,73,12,73,2326,9,73,1,73,3,73,2329,8,73,1,73,3,73,2332,8,73,1,74,1,74,1,75,3,75,2337,8,75,1,75,1,75,1,75,1,75,1,75,3,75,2344,8,75,1,75,1,75,1,75,1,75,3,75,2350,8,75,1,76,1,76,1,76,1,76,1,76,5,76,2357,8,76,10,76,12,76,2360,9,76,1,76,1,76,1,76,1,76,1,76,5,76,2367,8,76,10,76,12,76,2370,9,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,5,76,2382,8,76,10,76,12,76,2385,9,76,1,76,1,76,3,76,2389,8,76,3,76,2391,8,76,1,77,1,77,1,77,3,77,2396,8,77,1,78,1,78,1,78,1,78,1,78,5,78,2403,8,78,10,78,12,78,2406,9,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,5,78,2416,8,78,10,78,12,78,2419,9,78,1,78,1,78,3,78,2423,8,78,1,79,1,79,3,79,2427,8,79,1,80,1,80,1,80,1,80,1,80,3,80,2434,8,80,1,80,1,80,1,80,3,80,2439,8,80,5,80,2441,8,80,10,80,12,80,2444,9,80,3,80,2446,8,80,1,80,3,80,2449,8,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,5,81,2461,8,81,10,81,12,81,2464,9,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,5,82,2474,8,82,10,82,12,82,2477,9,82,1,82,1,82,3,82,2481,8,82,1,83,1,83,3,83,2485,8,83,1,83,3,83,2488,8,83,1,84,1,84,3,84,2492,8,84,1,84,1,84,1,84,1,84,3,84,2498,8,84,1,84,3,84,2501,8,84,1,85,1,85,1,85,1,86,1,86,3,86,2508,8,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,5,87,2518,8,87,10,87,12,87,2521,9,87,1,87,1,87,1,88,1,88,1,88,1,88,5,88,2529,8,88,10,88,12,88,2532,9,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,5,88,2542,8,88,10,88,12,88,2545,9,88,1,88,1,88,1,89,1,89,1,89,1,89,5,89,2553,8,89,10,89,12,89,2556,9,89,1,89,1,89,3,89,2560,8,89,1,90,1,90,1,91,1,91,1,92,1,92,3,92,2568,8,92,1,93,1,93,1,94,3,94,2573,8,94,1,94,1,94,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,97,1,97,1,97,3,97,2587,8,97,1,97,1,97,1,97,1,97,1,97,5,97,2594,8,97,10,97,12,97,2597,9,97,3,97,2599,8,97,1,97,1,97,1,97,3,97,2604,8,97,1,97,1,97,1,97,5,97,2609,8,97,10,97,12,97,2612,9,97,3,97,2614,8,97,1,98,1,98,1,99,1,99,3,99,2620,8,99,1,99,1,99,5,99,2624,8,99,10,99,12,99,2627,9,99,3,99,2629,8,99,1,100,1,100,1,100,3,100,2634,8,100,1,101,1,101,1,101,3,101,2639,8,101,1,101,1,101,3,101,2643,8,101,1,101,1,101,1,101,1,101,3,101,2649,8,101,1,101,1,101,3,101,2653,8,101,1,102,3,102,2656,8,102,1,102,1,102,1,102,3,102,2661,8,102,1,102,3,102,2664,8,102,1,102,1,102,1,102,3,102,2669,8,102,1,102,1,102,3,102,2673,8,102,1,102,3,102,2676,8,102,1,102,3,102,2679,8,102,1,103,1,103,1,103,1,103,3,103,2685,8,103,1,104,1,104,1,104,3,104,2690,8,104,1,104,1,104,1,104,1,104,1,104,3,104,2697,8,104,1,105,3,105,2700,8,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,2718,8,105,3,105,2720,8,105,1,105,3,105,2723,8,105,1,106,1,106,1,106,1,106,1,107,1,107,1,107,5,107,2732,8,107,10,107,12,107,2735,9,107,1,108,1,108,1,108,1,108,5,108,2741,8,108,10,108,12,108,2744,9,108,1,108,1,108,1,109,1,109,3,109,2750,8,109,1,110,1,110,1,110,1,110,5,110,2756,8,110,10,110,12,110,2759,9,110,1,110,1,110,1,111,1,111,3,111,2765,8,111,1,112,1,112,1,112,3,112,2770,8,112,1,112,3,112,2773,8,112,1,112,3,112,2776,8,112,1,112,1,112,1,112,1,112,1,112,1,112,3,112,2784,8,112,1,112,1,112,1,112,1,112,1,112,1,112,3,112,2792,8,112,1,112,1,112,1,112,1,112,3,112,2798,8,112,1,113,1,113,1,113,1,113,5,113,2804,8,113,10,113,12,113,2807,9,113,1,113,1,113,1,114,1,114,1,114,3,114,2814,8,114,1,114,1,114,1,114,1,114,1,114,3,114,2821,8,114,1,114,1,114,1,114,1,114,1,114,3,114,2828,8,114,3,114,2830,8,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,5,115,2841,8,115,10,115,12,115,2844,9,115,1,115,1,115,1,115,3,115,2849,8,115,3,115,2851,8,115,1,115,1,115,1,115,1,115,1,115,1,115,5,115,2859,8,115,10,115,12,115,2862,9,115,1,115,1,115,1,115,3,115,2867,8,115,3,115,2869,8,115,1,116,1,116,1,116,1,116,1,117,1,117,3,117,2877,8,117,1,118,1,118,3,118,2881,8,118,1,119,1,119,1,119,1,119,1,119,5,119,2888,8,119,10,119,12,119,2891,9,119,3,119,2893,8,119,1,119,1,119,1,119,1,120,3,120,2899,8,120,1,120,1,120,3,120,2903,8,120,3,120,2905,8,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,2914,8,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,3,121,2926,8,121,3,121,2928,8,121,1,121,1,121,1,121,1,121,1,121,3,121,2935,8,121,1,121,1,121,1,121,1,121,1,121,3,121,2942,8,121,1,121,1,121,1,121,1,121,3,121,2948,8,121,1,121,1,121,1,121,1,121,3,121,2954,8,121,3,121,2956,8,121,1,122,1,122,1,122,5,122,2961,8,122,10,122,12,122,2964,9,122,1,123,1,123,1,123,5,123,2969,8,123,10,123,12,123,2972,9,123,1,124,1,124,1,124,5,124,2977,8,124,10,124,12,124,2980,9,124,1,125,1,125,1,125,3,125,2985,8,125,1,126,1,126,1,126,3,126,2990,8,126,1,126,1,126,1,127,1,127,1,127,3,127,2997,8,127,1,127,1,127,1,128,1,128,3,128,3003,8,128,1,128,3,128,3006,8,128,1,128,1,128,3,128,3010,8,128,3,128,3012,8,128,1,129,1,129,1,129,5,129,3017,8,129,10,129,12,129,3020,9,129,1,130,1,130,1,130,1,130,5,130,3026,8,130,10,130,12,130,3029,9,130,1,130,1,130,1,131,1,131,3,131,3035,8,131,1,132,1,132,1,132,1,132,1,132,1,132,5,132,3043,8,132,10,132,12,132,3046,9,132,1,132,1,132,3,132,3050,8,132,1,133,1,133,3,133,3054,8,133,1,134,1,134,1,135,1,135,1,135,1,135,1,136,1,136,3,136,3064,8,136,1,137,1,137,1,137,5,137,3069,8,137,10,137,12,137,3072,9,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,3,138,3084,8,138,3,138,3086,8,138,1,138,1,138,1,138,1,138,1,138,1,138,5,138,3094,8,138,10,138,12,138,3097,9,138,1,139,3,139,3100,8,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,3108,8,139,1,139,1,139,1,139,1,139,1,139,5,139,3115,8,139,10,139,12,139,3118,9,139,1,139,1,139,1,139,3,139,3123,8,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,3131,8,139,1,139,1,139,1,139,3,139,3136,8,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,5,139,3146,8,139,10,139,12,139,3149,9,139,1,139,1,139,3,139,3153,8,139,1,139,3,139,3156,8,139,1,139,1,139,1,139,1,139,3,139,3162,8,139,1,139,1,139,3,139,3166,8,139,1,139,1,139,1,139,3,139,3171,8,139,1,139,1,139,1,139,3,139,3176,8,139,1,139,1,139,1,139,3,139,3181,8,139,1,140,1,140,1,140,1,140,3,140,3187,8,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,5,140,3208,8,140,10,140,12,140,3211,9,140,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3221,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3233,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,4,142,3243,8,142,11,142,12,142,3244,1,142,1,142,3,142,3249,8,142,1,142,1,142,1,142,1,142,1,142,4,142,3256,8,142,11,142,12,142,3257,1,142,1,142,3,142,3262,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,5,142,3278,8,142,10,142,12,142,3281,9,142,3,142,3283,8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3291,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3300,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3309,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,4,142,3330,8,142,11,142,12,142,3331,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3348,8,142,1,142,1,142,1,142,5,142,3353,8,142,10,142,12,142,3356,9,142,3,142,3358,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3367,8,142,1,142,1,142,3,142,3371,8,142,1,142,1,142,3,142,3375,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,4,142,3385,8,142,11,142,12,142,3386,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3412,8,142,1,142,1,142,1,142,1,142,1,142,3,142,3419,8,142,1,142,3,142,3422,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3437,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,3458,8,142,1,142,1,142,3,142,3462,8,142,3,142,3464,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,5,142,3474,8,142,10,142,12,142,3477,9,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,3486,8,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,4,144,3499,8,144,11,144,12,144,3500,3,144,3503,8,144,1,145,1,145,1,146,1,146,1,147,1,147,1,148,1,148,1,149,1,149,1,149,3,149,3516,8,149,1,150,1,150,3,150,3520,8,150,1,151,1,151,1,151,4,151,3525,8,151,11,151,12,151,3526,1,152,1,152,1,152,3,152,3532,8,152,1,153,1,153,1,153,1,153,1,153,1,154,3,154,3540,8,154,1,154,1,154,1,154,3,154,3545,8,154,1,155,1,155,1,156,1,156,1,157,1,157,1,157,3,157,3554,8,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,3,158,3586,8,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,3,159,3603,8,159,1,159,1,159,3,159,3607,8,159,1,159,1,159,1,159,1,159,3,159,3613,8,159,1,159,1,159,1,159,1,159,3,159,3619,8,159,1,159,1,159,1,159,1,159,1,159,5,159,3626,8,159,10,159,12,159,3629,9,159,1,159,3,159,3632,8,159,3,159,3634,8,159,1,160,1,160,1,160,5,160,3639,8,160,10,160,12,160,3642,9,160,1,161,1,161,1,161,5,161,3647,8,161,10,161,12,161,3650,9,161,1,162,1,162,1,162,5,162,3655,8,162,10,162,12,162,3658,9,162,1,163,1,163,1,163,5,163,3663,8,163,10,163,12,163,3666,9,163,1,164,1,164,1,164,1,164,1,164,3,164,3673,8,164,1,165,1,165,1,165,1,166,1,166,1,166,1,167,1,167,1,167,5,167,3684,8,167,10,167,12,167,3687,9,167,1,168,1,168,1,168,1,168,3,168,3693,8,168,1,168,3,168,3696,8,168,1,169,1,169,1,169,5,169,3701,8,169,10,169,12,169,3704,9,169,1,170,1,170,1,170,5,170,3709,8,170,10,170,12,170,3712,9,170,1,171,1,171,1,171,1,171,1,171,3,171,3719,8,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,5,173,3731,8,173,10,173,12,173,3734,9,173,1,174,1,174,3,174,3738,8,174,1,174,1,174,1,174,3,174,3743,8,174,1,174,3,174,3746,8,174,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,5,176,3757,8,176,10,176,12,176,3760,9,176,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,5,179,3781,8,179,10,179,12,179,3784,9,179,1,179,1,179,1,179,1,179,1,179,5,179,3791,8,179,10,179,12,179,3794,9,179,3,179,3796,8,179,1,179,1,179,1,179,1,179,1,179,5,179,3803,8,179,10,179,12,179,3806,9,179,3,179,3808,8,179,3,179,3810,8,179,1,179,3,179,3813,8,179,1,179,3,179,3816,8,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,3,180,3834,8,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,3,181,3843,8,181,1,182,1,182,1,182,5,182,3848,8,182,10,182,12,182,3851,9,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,3,183,3862,8,183,1,184,1,184,1,185,1,185,1,185,5,185,3869,8,185,10,185,12,185,3872,9,185,1,186,1,186,1,186,1,187,1,187,4,187,3879,8,187,11,187,12,187,3880,1,187,3,187,3884,8,187,1,188,1,188,3,188,3888,8,188,1,189,1,189,1,189,1,189,3,189,3894,8,189,1,190,1,190,1,191,1,191,1,192,3,192,3901,8,192,1,192,1,192,3,192,3905,8,192,1,192,1,192,3,192,3909,8,192,1,192,1,192,3,192,3913,8,192,1,192,1,192,3,192,3917,8,192,1,192,1,192,3,192,3921,8,192,1,192,1,192,3,192,3925,8,192,1,192,1,192,3,192,3929,8,192,1,192,1,192,3,192,3933,8,192,1,192,1,192,3,192,3937,8,192,1,192,3,192,3940,8,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,3,193,3953,8,193,1,194,1,194,1,195,1,195,3,195,3959,8,195,1,196,1,196,3,196,3963,8,196,1,197,1,197,1,198,1,198,1,199,1,199,1,199,9,1137,1207,1215,1232,1259,1268,1277,1286,1334,4,104,276,280,284,200,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,0,64,2,0,78,78,229,229,2,0,34,34,247,247,2,0,123,123,140,140,2,0,11,11,39,39,2,0,91,91,98,98,5,0,46,46,58,58,108,108,122,122,173,173,1,0,86,87,2,0,108,108,122,122,3,0,8,8,96,96,289,289,2,0,8,8,167,167,1,0,335,336,3,0,72,72,190,190,261,261,3,0,73,73,191,191,262,262,4,0,102,102,148,148,270,270,323,323,3,0,102,102,270,270,323,323,2,0,21,21,86,86,2,0,116,116,157,157,3,0,10,10,290,290,331,331,2,0,292,292,337,337,2,0,291,291,303,303,2,0,61,61,256,256,2,0,104,104,141,141,2,0,10,10,92,92,2,0,382,382,384,384,2,0,93,93,217,217,2,0,209,209,278,278,2,0,197,197,360,360,1,0,251,252,1,0,163,164,3,0,10,10,16,16,277,277,3,0,111,111,316,316,325,325,2,0,361,362,366,366,2,0,94,94,363,365,2,0,361,362,369,369,11,0,67,67,69,69,134,134,180,180,182,182,184,184,186,186,231,231,259,259,341,341,348,348,4,0,63,63,65,66,268,268,331,331,2,0,74,75,306,306,3,0,76,77,302,302,307,307,2,0,36,36,318,318,2,0,138,138,246,246,1,0,287,288,2,0,4,4,123,123,2,0,4,4,119,119,3,0,28,28,160,160,311,311,1,0,220,221,1,0,352,359,2,0,94,94,361,370,4,0,14,14,140,140,197,197,208,208,2,0,111,111,316,316,1,0,361,362,7,0,67,68,134,135,180,187,192,193,259,260,341,342,348,349,6,0,67,67,134,134,184,184,186,186,259,259,348,348,2,0,186,186,348,348,4,0,67,67,134,134,184,184,259,259,3,0,134,134,184,184,259,259,2,0,82,82,352,352,2,0,118,118,226,226,2,0,378,378,389,389,1,0,383,384,2,0,96,96,269,269,1,0,377,378,52,0,8,9,11,13,15,15,17,19,21,22,24,27,29,34,37,41,43,46,48,48,50,56,58,58,61,62,67,91,93,96,98,98,101,101,103,110,113,113,115,118,121,122,125,128,131,131,133,139,141,143,145,147,149,151,154,154,156,157,159,159,163,193,195,195,199,201,205,207,210,210,212,213,215,219,222,226,228,238,240,249,251,262,264,267,269,276,278,292,294,299,302,308,310,310,312,322,326,330,333,342,345,345,348,351,16,0,15,15,60,60,102,102,124,124,144,144,148,148,155,155,158,158,161,161,194,194,203,203,250,250,264,264,270,270,323,323,332,332,19,0,8,14,16,59,61,101,103,122,125,143,145,147,149,154,156,157,159,160,162,193,195,195,197,202,204,249,251,262,265,269,271,292,294,322,324,331,333,351,4586,0,403,1,0,0,0,2,408,1,0,0,0,4,1337,1,0,0,0,6,1341,1,0,0,0,8,1343,1,0,0,0,10,1345,1,0,0,0,12,1515,1,0,0,0,14,1517,1,0,0,0,16,1532,1,0,0,0,18,1538,1,0,0,0,20,1550,1,0,0,0,22,1563,1,0,0,0,24,1566,1,0,0,0,26,1570,1,0,0,0,28,1651,1,0,0,0,30,1653,1,0,0,0,32,1657,1,0,0,0,34,1678,1,0,0,0,36,1680,1,0,0,0,38,1682,1,0,0,0,40,1689,1,0,0,0,42,1691,1,0,0,0,44,1699,1,0,0,0,46,1708,1,0,0,0,48,1719,1,0,0,0,50,1738,1,0,0,0,52,1741,1,0,0,0,54,1744,1,0,0,0,56,1755,1,0,0,0,58,1771,1,0,0,0,60,1777,1,0,0,0,62,1779,1,0,0,0,64,1790,1,0,0,0,66,1797,1,0,0,0,68,1808,1,0,0,0,70,1825,1,0,0,0,72,1833,1,0,0,0,74,1835,1,0,0,0,76,1841,1,0,0,0,78,1900,1,0,0,0,80,1902,1,0,0,0,82,1904,1,0,0,0,84,1906,1,0,0,0,86,1908,1,0,0,0,88,1910,1,0,0,0,90,1912,1,0,0,0,92,1916,1,0,0,0,94,1918,1,0,0,0,96,1926,1,0,0,0,98,1934,1,0,0,0,100,1946,1,0,0,0,102,1998,1,0,0,0,104,2001,1,0,0,0,106,2036,1,0,0,0,108,2040,1,0,0,0,110,2049,1,0,0,0,112,2082,1,0,0,0,114,2128,1,0,0,0,116,2149,1,0,0,0,118,2181,1,0,0,0,120,2193,1,0,0,0,122,2196,1,0,0,0,124,2205,1,0,0,0,126,2219,1,0,0,0,128,2238,1,0,0,0,130,2258,1,0,0,0,132,2264,1,0,0,0,134,2266,1,0,0,0,136,2274,1,0,0,0,138,2278,1,0,0,0,140,2281,1,0,0,0,142,2284,1,0,0,0,144,2310,1,0,0,0,146,2312,1,0,0,0,148,2333,1,0,0,0,150,2349,1,0,0,0,152,2390,1,0,0,0,154,2395,1,0,0,0,156,2422,1,0,0,0,158,2426,1,0,0,0,160,2448,1,0,0,0,162,2450,1,0,0,0,164,2480,1,0,0,0,166,2482,1,0,0,0,168,2489,1,0,0,0,170,2502,1,0,0,0,172,2507,1,0,0,0,174,2509,1,0,0,0,176,2524,1,0,0,0,178,2548,1,0,0,0,180,2561,1,0,0,0,182,2563,1,0,0,0,184,2565,1,0,0,0,186,2569,1,0,0,0,188,2572,1,0,0,0,190,2576,1,0,0,0,192,2580,1,0,0,0,194,2583,1,0,0,0,196,2615,1,0,0,0,198,2628,1,0,0,0,200,2633,1,0,0,0,202,2652,1,0,0,0,204,2678,1,0,0,0,206,2684,1,0,0,0,208,2686,1,0,0,0,210,2722,1,0,0,0,212,2724,1,0,0,0,214,2728,1,0,0,0,216,2736,1,0,0,0,218,2747,1,0,0,0,220,2751,1,0,0,0,222,2762,1,0,0,0,224,2797,1,0,0,0,226,2799,1,0,0,0,228,2829,1,0,0,0,230,2850,1,0,0,0,232,2870,1,0,0,0,234,2876,1,0,0,0,236,2880,1,0,0,0,238,2882,1,0,0,0,240,2904,1,0,0,0,242,2955,1,0,0,0,244,2957,1,0,0,0,246,2965,1,0,0,0,248,2973,1,0,0,0,250,2981,1,0,0,0,252,2989,1,0,0,0,254,2996,1,0,0,0,256,3002,1,0,0,0,258,3013,1,0,0,0,260,3021,1,0,0,0,262,3034,1,0,0,0,264,3049,1,0,0,0,266,3053,1,0,0,0,268,3055,1,0,0,0,270,3057,1,0,0,0,272,3063,1,0,0,0,274,3065,1,0,0,0,276,3085,1,0,0,0,278,3180,1,0,0,0,280,3186,1,0,0,0,282,3212,1,0,0,0,284,3463,1,0,0,0,286,3485,1,0,0,0,288,3502,1,0,0,0,290,3504,1,0,0,0,292,3506,1,0,0,0,294,3508,1,0,0,0,296,3510,1,0,0,0,298,3512,1,0,0,0,300,3517,1,0,0,0,302,3524,1,0,0,0,304,3528,1,0,0,0,306,3533,1,0,0,0,308,3539,1,0,0,0,310,3546,1,0,0,0,312,3548,1,0,0,0,314,3553,1,0,0,0,316,3585,1,0,0,0,318,3633,1,0,0,0,320,3635,1,0,0,0,322,3643,1,0,0,0,324,3651,1,0,0,0,326,3659,1,0,0,0,328,3672,1,0,0,0,330,3674,1,0,0,0,332,3677,1,0,0,0,334,3680,1,0,0,0,336,3688,1,0,0,0,338,3697,1,0,0,0,340,3705,1,0,0,0,342,3718,1,0,0,0,344,3720,1,0,0,0,346,3727,1,0,0,0,348,3735,1,0,0,0,350,3747,1,0,0,0,352,3752,1,0,0,0,354,3761,1,0,0,0,356,3765,1,0,0,0,358,3815,1,0,0,0,360,3833,1,0,0,0,362,3842,1,0,0,0,364,3844,1,0,0,0,366,3861,1,0,0,0,368,3863,1,0,0,0,370,3865,1,0,0,0,372,3873,1,0,0,0,374,3883,1,0,0,0,376,3887,1,0,0,0,378,3893,1,0,0,0,380,3895,1,0,0,0,382,3897,1,0,0,0,384,3939,1,0,0,0,386,3952,1,0,0,0,388,3954,1,0,0,0,390,3958,1,0,0,0,392,3962,1,0,0,0,394,3964,1,0,0,0,396,3966,1,0,0,0,398,3968,1,0,0,0,400,402,3,2,1,0,401,400,1,0,0,0,402,405,1,0,0,0,403,401,1,0,0,0,403,404,1,0,0,0,404,406,1,0,0,0,405,403,1,0,0,0,406,407,5,0,0,1,407,1,1,0,0,0,408,410,3,4,2,0,409,411,5,1,0,0,410,409,1,0,0,0,410,411,1,0,0,0,411,3,1,0,0,0,412,1338,3,26,13,0,413,415,3,44,22,0,414,413,1,0,0,0,414,415,1,0,0,0,415,416,1,0,0,0,416,1338,3,78,39,0,417,419,5,330,0,0,418,420,3,36,18,0,419,418,1,0,0,0,419,420,1,0,0,0,420,421,1,0,0,0,421,1338,3,80,40,0,422,423,5,269,0,0,423,426,5,37,0,0,424,427,3,376,188,0,425,427,3,388,194,0,426,424,1,0,0,0,426,425,1,0,0,0,427,1338,1,0,0,0,428,429,5,59,0,0,429,431,3,36,18,0,430,432,3,190,95,0,431,430,1,0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,441,3,82,41,0,434,440,3,24,12,0,435,440,3,22,11,0,436,437,5,346,0,0,437,438,7,0,0,0,438,440,3,54,27,0,439,434,1,0,0,0,439,435,1,0,0,0,439,436,1,0,0,0,440,443,1,0,0,0,441,439,1,0,0,0,441,442,1,0,0,0,442,1338,1,0,0,0,443,441,1,0,0,0,444,445,5,11,0,0,445,446,3,36,18,0,446,447,3,80,40,0,447,448,5,269,0,0,448,449,7,0,0,0,449,450,3,54,27,0,450,1338,1,0,0,0,451,452,5,11,0,0,452,453,3,36,18,0,453,454,3,80,40,0,454,455,5,269,0,0,455,456,3,22,11,0,456,1338,1,0,0,0,457,458,5,96,0,0,458,460,3,36,18,0,459,461,3,192,96,0,460,459,1,0,0,0,460,461,1,0,0,0,461,462,1,0,0,0,462,464,3,80,40,0,463,465,7,1,0,0,464,463,1,0,0,0,464,465,1,0,0,0,465,1338,1,0,0,0,466,467,5,273,0,0,467,470,3,38,19,0,468,469,7,2,0,0,469,471,3,246,123,0,470,468,1,0,0,0,470,471,1,0,0,0,471,476,1,0,0,0,472,474,5,163,0,0,473,472,1,0,0,0,473,474,1,0,0,0,474,475,1,0,0,0,475,477,3,388,194,0,476,473,1,0,0,0,476,477,1,0,0,0,477,1338,1,0,0,0,478,483,3,14,7,0,479,480,5,2,0,0,480,481,3,338,169,0,481,482,5,3,0,0,482,484,1,0,0,0,483,479,1,0,0,0,483,484,1,0,0,0,484,486,1,0,0,0,485,487,3,48,24,0,486,485,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,493,3,50,25,0,489,491,5,20,0,0,490,489,1,0,0,0,490,491,1,0,0,0,491,492,1,0,0,0,492,494,3,26,13,0,493,490,1,0,0,0,493,494,1,0,0,0,494,1338,1,0,0,0,495,496,5,59,0,0,496,498,5,293,0,0,497,499,3,190,95,0,498,497,1,0,0,0,498,499,1,0,0,0,499,500,1,0,0,0,500,501,3,84,42,0,501,502,5,163,0,0,502,512,3,86,43,0,503,511,3,48,24,0,504,511,3,242,121,0,505,511,3,70,35,0,506,511,3,22,11,0,507,508,5,297,0,0,508,511,3,54,27,0,509,511,3,52,26,0,510,503,1,0,0,0,510,504,1,0,0,0,510,505,1,0,0,0,510,506,1,0,0,0,510,507,1,0,0,0,510,509,1,0,0,0,511,514,1,0,0,0,512,510,1,0,0,0,512,513,1,0,0,0,513,1338,1,0,0,0,514,512,1,0,0,0,515,520,3,16,8,0,516,517,5,2,0,0,517,518,3,338,169,0,518,519,5,3,0,0,519,521,1,0,0,0,520,516,1,0,0,0,520,521,1,0,0,0,521,523,1,0,0,0,522,524,3,48,24,0,523,522,1,0,0,0,523,524,1,0,0,0,524,525,1,0,0,0,525,530,3,50,25,0,526,528,5,20,0,0,527,526,1,0,0,0,527,528,1,0,0,0,528,529,1,0,0,0,529,531,3,26,13,0,530,527,1,0,0,0,530,531,1,0,0,0,531,1338,1,0,0,0,532,533,5,13,0,0,533,534,5,293,0,0,534,536,3,86,43,0,535,537,3,32,16,0,536,535,1,0,0,0,536,537,1,0,0,0,537,538,1,0,0,0,538,539,5,55,0,0,539,547,5,282,0,0,540,548,5,196,0,0,541,542,5,119,0,0,542,543,5,50,0,0,543,548,3,94,47,0,544,545,5,119,0,0,545,546,5,10,0,0,546,548,5,50,0,0,547,540,1,0,0,0,547,541,1,0,0,0,547,544,1,0,0,0,547,548,1,0,0,0,548,1338,1,0,0,0,549,550,5,13,0,0,550,553,5,294,0,0,551,552,7,2,0,0,552,554,3,80,40,0,553,551,1,0,0,0,553,554,1,0,0,0,554,555,1,0,0,0,555,556,5,55,0,0,556,558,5,282,0,0,557,559,5,196,0,0,558,557,1,0,0,0,558,559,1,0,0,0,559,1338,1,0,0,0,560,561,5,11,0,0,561,562,5,293,0,0,562,563,3,86,43,0,563,564,5,8,0,0,564,565,5,49,0,0,565,566,3,322,161,0,566,1338,1,0,0,0,567,568,5,11,0,0,568,569,5,293,0,0,569,570,3,86,43,0,570,571,5,8,0,0,571,572,5,50,0,0,572,573,5,2,0,0,573,574,3,320,160,0,574,575,5,3,0,0,575,1338,1,0,0,0,576,577,5,11,0,0,577,578,5,293,0,0,578,579,3,86,43,0,579,580,5,241,0,0,580,581,5,49,0,0,581,582,3,92,46,0,582,583,5,309,0,0,583,584,3,96,48,0,584,1338,1,0,0,0,585,586,5,11,0,0,586,587,5,293,0,0,587,588,3,86,43,0,588,589,5,96,0,0,589,591,5,49,0,0,590,592,3,192,96,0,591,590,1,0,0,0,591,592,1,0,0,0,592,593,1,0,0,0,593,594,3,92,46,0,594,1338,1,0,0,0,595,596,5,11,0,0,596,597,5,293,0,0,597,598,3,86,43,0,598,599,5,96,0,0,599,601,5,50,0,0,600,602,3,192,96,0,601,600,1,0,0,0,601,602,1,0,0,0,602,603,1,0,0,0,603,604,5,2,0,0,604,605,3,94,47,0,605,606,5,3,0,0,606,1338,1,0,0,0,607,612,5,11,0,0,608,609,5,293,0,0,609,613,3,86,43,0,610,611,5,338,0,0,611,613,3,90,45,0,612,608,1,0,0,0,612,610,1,0,0,0,613,614,1,0,0,0,614,615,5,241,0,0,615,616,5,309,0,0,616,617,3,246,123,0,617,1338,1,0,0,0,618,623,5,11,0,0,619,620,5,293,0,0,620,624,3,86,43,0,621,622,5,338,0,0,622,624,3,90,45,0,623,619,1,0,0,0,623,621,1,0,0,0,624,625,1,0,0,0,625,626,5,269,0,0,626,627,5,297,0,0,627,628,3,54,27,0,628,1338,1,0,0,0,629,634,5,11,0,0,630,631,5,293,0,0,631,635,3,86,43,0,632,633,5,338,0,0,633,635,3,90,45,0,634,630,1,0,0,0,634,632,1,0,0,0,635,636,1,0,0,0,636,637,5,328,0,0,637,639,5,297,0,0,638,640,3,192,96,0,639,638,1,0,0,0,639,640,1,0,0,0,640,641,1,0,0,0,641,642,3,54,27,0,642,1338,1,0,0,0,643,644,5,11,0,0,644,645,5,293,0,0,645,646,3,86,43,0,646,648,7,3,0,0,647,649,5,49,0,0,648,647,1,0,0,0,648,649,1,0,0,0,649,650,1,0,0,0,650,652,3,92,46,0,651,653,3,386,193,0,652,651,1,0,0,0,652,653,1,0,0,0,653,1338,1,0,0,0,654,655,5,11,0,0,655,656,5,293,0,0,656,658,3,86,43,0,657,659,3,32,16,0,658,657,1,0,0,0,658,659,1,0,0,0,659,660,1,0,0,0,660,662,5,39,0,0,661,663,5,49,0,0,662,661,1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,665,3,92,46,0,665,667,3,336,168,0,666,668,3,314,157,0,667,666,1,0,0,0,667,668,1,0,0,0,668,1338,1,0,0,0,669,670,5,11,0,0,670,671,5,293,0,0,671,673,3,86,43,0,672,674,3,32,16,0,673,672,1,0,0,0,673,674,1,0,0,0,674,675,1,0,0,0,675,676,5,244,0,0,676,677,5,50,0,0,677,678,5,2,0,0,678,679,3,324,162,0,679,680,5,3,0,0,680,1338,1,0,0,0,681,682,5,11,0,0,682,683,5,293,0,0,683,685,3,86,43,0,684,686,3,32,16,0,685,684,1,0,0,0,685,686,1,0,0,0,686,687,1,0,0,0,687,688,5,269,0,0,688,689,5,266,0,0,689,693,3,388,194,0,690,691,5,346,0,0,691,692,5,267,0,0,692,694,3,54,27,0,693,690,1,0,0,0,693,694,1,0,0,0,694,1338,1,0,0,0,695,696,5,11,0,0,696,697,5,293,0,0,697,699,3,86,43,0,698,700,3,32,16,0,699,698,1,0,0,0,699,700,1,0,0,0,700,701,1,0,0,0,701,702,5,269,0,0,702,703,5,267,0,0,703,704,3,54,27,0,704,1338,1,0,0,0,705,710,5,11,0,0,706,707,5,293,0,0,707,711,3,86,43,0,708,709,5,338,0,0,709,711,3,90,45,0,710,706,1,0,0,0,710,708,1,0,0,0,711,712,1,0,0,0,712,714,5,8,0,0,713,715,3,190,95,0,714,713,1,0,0,0,714,715,1,0,0,0,715,717,1,0,0,0,716,718,3,30,15,0,717,716,1,0,0,0,718,719,1,0,0,0,719,717,1,0,0,0,719,720,1,0,0,0,720,1338,1,0,0,0,721,722,5,11,0,0,722,723,5,293,0,0,723,724,3,86,43,0,724,725,3,32,16,0,725,726,5,241,0,0,726,727,5,309,0,0,727,728,3,32,16,0,728,1338,1,0,0,0,729,734,5,11,0,0,730,731,5,293,0,0,731,735,3,86,43,0,732,733,5,338,0,0,733,735,3,90,45,0,734,730,1,0,0,0,734,732,1,0,0,0,735,736,1,0,0,0,736,738,5,96,0,0,737,739,3,192,96,0,738,737,1,0,0,0,738,739,1,0,0,0,739,740,1,0,0,0,740,745,3,32,16,0,741,742,5,4,0,0,742,744,3,32,16,0,743,741,1,0,0,0,744,747,1,0,0,0,745,743,1,0,0,0,745,746,1,0,0,0,746,749,1,0,0,0,747,745,1,0,0,0,748,750,5,230,0,0,749,748,1,0,0,0,749,750,1,0,0,0,750,1338,1,0,0,0,751,752,5,11,0,0,752,753,5,293,0,0,753,755,3,86,43,0,754,756,3,32,16,0,755,754,1,0,0,0,755,756,1,0,0,0,756,757,1,0,0,0,757,758,5,269,0,0,758,759,3,22,11,0,759,1338,1,0,0,0,760,761,5,11,0,0,761,762,5,293,0,0,762,763,3,86,43,0,763,764,5,237,0,0,764,765,5,219,0,0,765,1338,1,0,0,0,766,767,5,11,0,0,767,768,5,176,0,0,768,769,5,338,0,0,769,770,3,90,45,0,770,771,7,4,0,0,771,772,5,248,0,0,772,1338,1,0,0,0,773,774,5,11,0,0,774,775,5,176,0,0,775,776,5,338,0,0,776,777,3,90,45,0,777,778,5,269,0,0,778,779,5,297,0,0,779,780,3,54,27,0,780,1338,1,0,0,0,781,782,5,96,0,0,782,784,5,293,0,0,783,785,3,192,96,0,784,783,1,0,0,0,784,785,1,0,0,0,785,786,1,0,0,0,786,788,3,86,43,0,787,789,5,230,0,0,788,787,1,0,0,0,788,789,1,0,0,0,789,1338,1,0,0,0,790,791,5,96,0,0,791,793,5,338,0,0,792,794,3,192,96,0,793,792,1,0,0,0,793,794,1,0,0,0,794,795,1,0,0,0,795,1338,3,90,45,0,796,797,5,96,0,0,797,798,5,176,0,0,798,800,5,338,0,0,799,801,3,192,96,0,800,799,1,0,0,0,800,801,1,0,0,0,801,802,1,0,0,0,802,1338,3,90,45,0,803,806,5,59,0,0,804,805,5,208,0,0,805,807,5,244,0,0,806,804,1,0,0,0,806,807,1,0,0,0,807,812,1,0,0,0,808,810,5,128,0,0,809,808,1,0,0,0,809,810,1,0,0,0,810,811,1,0,0,0,811,813,5,298,0,0,812,809,1,0,0,0,812,813,1,0,0,0,813,814,1,0,0,0,814,816,5,338,0,0,815,817,3,190,95,0,816,815,1,0,0,0,816,817,1,0,0,0,817,818,1,0,0,0,818,820,3,88,44,0,819,821,3,220,110,0,820,819,1,0,0,0,820,821,1,0,0,0,821,830,1,0,0,0,822,829,3,24,12,0,823,824,5,218,0,0,824,825,5,203,0,0,825,829,3,212,106,0,826,827,5,297,0,0,827,829,3,54,27,0,828,822,1,0,0,0,828,823,1,0,0,0,828,826,1,0,0,0,829,832,1,0,0,0,830,828,1,0,0,0,830,831,1,0,0,0,831,833,1,0,0,0,832,830,1,0,0,0,833,834,5,20,0,0,834,835,3,26,13,0,835,1338,1,0,0,0,836,839,5,59,0,0,837,838,5,208,0,0,838,840,5,244,0,0,839,837,1,0,0,0,839,840,1,0,0,0,840,842,1,0,0,0,841,843,5,128,0,0,842,841,1,0,0,0,842,843,1,0,0,0,843,844,1,0,0,0,844,845,5,298,0,0,845,846,5,338,0,0,846,851,3,88,44,0,847,848,5,2,0,0,848,849,3,334,167,0,849,850,5,3,0,0,850,852,1,0,0,0,851,847,1,0,0,0,851,852,1,0,0,0,852,853,1,0,0,0,853,856,3,48,24,0,854,855,5,207,0,0,855,857,3,54,27,0,856,854,1,0,0,0,856,857,1,0,0,0,857,1338,1,0,0,0,858,859,5,11,0,0,859,860,5,338,0,0,860,862,3,90,45,0,861,863,5,20,0,0,862,861,1,0,0,0,862,863,1,0,0,0,863,864,1,0,0,0,864,865,3,26,13,0,865,1338,1,0,0,0,866,869,5,59,0,0,867,868,5,208,0,0,868,870,5,244,0,0,869,867,1,0,0,0,869,870,1,0,0,0,870,872,1,0,0,0,871,873,5,298,0,0,872,871,1,0,0,0,872,873,1,0,0,0,873,874,1,0,0,0,874,876,5,125,0,0,875,877,3,190,95,0,876,875,1,0,0,0,876,877,1,0,0,0,877,878,1,0,0,0,878,879,3,368,184,0,879,880,5,20,0,0,880,890,3,388,194,0,881,882,5,332,0,0,882,887,3,76,38,0,883,884,5,4,0,0,884,886,3,76,38,0,885,883,1,0,0,0,886,889,1,0,0,0,887,885,1,0,0,0,887,888,1,0,0,0,888,891,1,0,0,0,889,887,1,0,0,0,890,881,1,0,0,0,890,891,1,0,0,0,891,1338,1,0,0,0,892,893,5,59,0,0,893,894,5,176,0,0,894,896,5,338,0,0,895,897,3,190,95,0,896,895,1,0,0,0,896,897,1,0,0,0,897,898,1,0,0,0,898,900,3,88,44,0,899,901,3,48,24,0,900,899,1,0,0,0,900,901,1,0,0,0,901,917,1,0,0,0,902,903,5,207,0,0,903,916,3,54,27,0,904,905,5,218,0,0,905,906,5,31,0,0,906,916,3,260,130,0,907,916,3,20,10,0,908,916,3,18,9,0,909,916,3,242,121,0,910,916,3,70,35,0,911,916,3,22,11,0,912,916,3,24,12,0,913,914,5,297,0,0,914,916,3,54,27,0,915,902,1,0,0,0,915,904,1,0,0,0,915,907,1,0,0,0,915,908,1,0,0,0,915,909,1,0,0,0,915,910,1,0,0,0,915,911,1,0,0,0,915,912,1,0,0,0,915,913,1,0,0,0,916,919,1,0,0,0,917,915,1,0,0,0,917,918,1,0,0,0,918,920,1,0,0,0,919,917,1,0,0,0,920,921,5,20,0,0,921,922,3,26,13,0,922,1338,1,0,0,0,923,925,5,96,0,0,924,926,5,298,0,0,925,924,1,0,0,0,925,926,1,0,0,0,926,927,1,0,0,0,927,929,5,125,0,0,928,930,3,192,96,0,929,928,1,0,0,0,929,930,1,0,0,0,930,931,1,0,0,0,931,1338,3,366,183,0,932,935,5,81,0,0,933,934,5,208,0,0,934,936,5,244,0,0,935,933,1,0,0,0,935,936,1,0,0,0,936,938,1,0,0,0,937,939,5,336,0,0,938,937,1,0,0,0,938,939,1,0,0,0,939,940,1,0,0,0,940,942,3,366,183,0,941,943,3,318,159,0,942,941,1,0,0,0,942,943,1,0,0,0,943,945,1,0,0,0,944,946,3,332,166,0,945,944,1,0,0,0,945,946,1,0,0,0,946,1338,1,0,0,0,947,948,5,96,0,0,948,949,5,298,0,0,949,951,5,336,0,0,950,952,3,192,96,0,951,950,1,0,0,0,951,952,1,0,0,0,952,956,1,0,0,0,953,957,3,86,43,0,954,957,3,90,45,0,955,957,3,366,183,0,956,953,1,0,0,0,956,954,1,0,0,0,956,955,1,0,0,0,957,1338,1,0,0,0,958,960,5,106,0,0,959,961,7,5,0,0,960,959,1,0,0,0,960,961,1,0,0,0,961,962,1,0,0,0,962,1338,3,4,2,0,963,964,5,273,0,0,964,967,5,294,0,0,965,966,7,2,0,0,966,968,3,80,40,0,967,965,1,0,0,0,967,968,1,0,0,0,968,973,1,0,0,0,969,971,5,163,0,0,970,969,1,0,0,0,970,971,1,0,0,0,971,972,1,0,0,0,972,974,3,388,194,0,973,970,1,0,0,0,973,974,1,0,0,0,974,1338,1,0,0,0,975,976,5,273,0,0,976,977,5,293,0,0,977,980,5,108,0,0,978,979,7,2,0,0,979,981,3,80,40,0,980,978,1,0,0,0,980,981,1,0,0,0,981,982,1,0,0,0,982,983,5,163,0,0,983,985,3,388,194,0,984,986,3,32,16,0,985,984,1,0,0,0,985,986,1,0,0,0,986,1338,1,0,0,0,987,988,5,273,0,0,988,989,5,297,0,0,989,994,3,86,43,0,990,991,5,2,0,0,991,992,3,58,29,0,992,993,5,3,0,0,993,995,1,0,0,0,994,990,1,0,0,0,994,995,1,0,0,0,995,1338,1,0,0,0,996,997,5,273,0,0,997,998,5,50,0,0,998,999,7,2,0,0,999,1002,3,86,43,0,1e3,1001,7,2,0,0,1001,1003,3,80,40,0,1002,1e3,1,0,0,0,1002,1003,1,0,0,0,1003,1338,1,0,0,0,1004,1005,5,273,0,0,1005,1008,5,339,0,0,1006,1007,7,2,0,0,1007,1009,3,80,40,0,1008,1006,1,0,0,0,1008,1009,1,0,0,0,1009,1014,1,0,0,0,1010,1012,5,163,0,0,1011,1010,1,0,0,0,1011,1012,1,0,0,0,1012,1013,1,0,0,0,1013,1015,3,388,194,0,1014,1011,1,0,0,0,1014,1015,1,0,0,0,1015,1338,1,0,0,0,1016,1017,5,273,0,0,1017,1018,5,219,0,0,1018,1020,3,86,43,0,1019,1021,3,32,16,0,1020,1019,1,0,0,0,1020,1021,1,0,0,0,1021,1338,1,0,0,0,1022,1024,5,273,0,0,1023,1025,3,148,74,0,1024,1023,1,0,0,0,1024,1025,1,0,0,0,1025,1026,1,0,0,0,1026,1029,5,126,0,0,1027,1028,7,2,0,0,1028,1030,3,80,40,0,1029,1027,1,0,0,0,1029,1030,1,0,0,0,1030,1038,1,0,0,0,1031,1033,5,163,0,0,1032,1031,1,0,0,0,1032,1033,1,0,0,0,1033,1036,1,0,0,0,1034,1037,3,246,123,0,1035,1037,3,388,194,0,1036,1034,1,0,0,0,1036,1035,1,0,0,0,1037,1039,1,0,0,0,1038,1032,1,0,0,0,1038,1039,1,0,0,0,1039,1338,1,0,0,0,1040,1041,5,273,0,0,1041,1042,5,59,0,0,1042,1043,5,293,0,0,1043,1046,3,86,43,0,1044,1045,5,20,0,0,1045,1047,5,266,0,0,1046,1044,1,0,0,0,1046,1047,1,0,0,0,1047,1338,1,0,0,0,1048,1049,5,273,0,0,1049,1050,5,62,0,0,1050,1338,3,36,18,0,1051,1052,5,273,0,0,1052,1057,5,38,0,0,1053,1055,5,163,0,0,1054,1053,1,0,0,0,1054,1055,1,0,0,0,1055,1056,1,0,0,0,1056,1058,3,388,194,0,1057,1054,1,0,0,0,1057,1058,1,0,0,0,1058,1338,1,0,0,0,1059,1060,5,273,0,0,1060,1061,5,176,0,0,1061,1064,5,339,0,0,1062,1063,7,2,0,0,1063,1065,3,80,40,0,1064,1062,1,0,0,0,1064,1065,1,0,0,0,1065,1070,1,0,0,0,1066,1068,5,163,0,0,1067,1066,1,0,0,0,1067,1068,1,0,0,0,1068,1069,1,0,0,0,1069,1071,3,388,194,0,1070,1067,1,0,0,0,1070,1071,1,0,0,0,1071,1338,1,0,0,0,1072,1073,5,273,0,0,1073,1074,5,59,0,0,1074,1075,5,176,0,0,1075,1076,5,338,0,0,1076,1079,3,90,45,0,1077,1078,5,20,0,0,1078,1080,5,266,0,0,1079,1077,1,0,0,0,1079,1080,1,0,0,0,1080,1338,1,0,0,0,1081,1082,7,6,0,0,1082,1084,5,125,0,0,1083,1085,5,108,0,0,1084,1083,1,0,0,0,1084,1085,1,0,0,0,1085,1086,1,0,0,0,1086,1338,3,40,20,0,1087,1088,7,6,0,0,1088,1090,5,72,0,0,1089,1091,5,108,0,0,1090,1089,1,0,0,0,1090,1091,1,0,0,0,1091,1092,1,0,0,0,1092,1338,3,80,40,0,1093,1095,7,6,0,0,1094,1096,5,293,0,0,1095,1094,1,0,0,0,1095,1096,1,0,0,0,1096,1098,1,0,0,0,1097,1099,7,7,0,0,1098,1097,1,0,0,0,1098,1099,1,0,0,0,1099,1100,1,0,0,0,1100,1102,3,86,43,0,1101,1103,3,32,16,0,1102,1101,1,0,0,0,1102,1103,1,0,0,0,1103,1105,1,0,0,0,1104,1106,3,42,21,0,1105,1104,1,0,0,0,1105,1106,1,0,0,0,1106,1338,1,0,0,0,1107,1109,7,6,0,0,1108,1110,5,232,0,0,1109,1108,1,0,0,0,1109,1110,1,0,0,0,1110,1111,1,0,0,0,1111,1338,3,26,13,0,1112,1113,5,51,0,0,1113,1114,5,203,0,0,1114,1115,3,36,18,0,1115,1116,3,80,40,0,1116,1117,5,153,0,0,1117,1118,3,390,195,0,1118,1338,1,0,0,0,1119,1120,5,51,0,0,1120,1121,5,203,0,0,1121,1122,5,293,0,0,1122,1123,3,86,43,0,1123,1124,5,153,0,0,1124,1125,3,390,195,0,1125,1338,1,0,0,0,1126,1127,5,240,0,0,1127,1128,5,293,0,0,1128,1338,3,86,43,0,1129,1130,5,240,0,0,1130,1131,5,125,0,0,1131,1338,3,366,183,0,1132,1140,5,240,0,0,1133,1141,3,388,194,0,1134,1136,9,0,0,0,1135,1134,1,0,0,0,1136,1139,1,0,0,0,1137,1138,1,0,0,0,1137,1135,1,0,0,0,1138,1141,1,0,0,0,1139,1137,1,0,0,0,1140,1133,1,0,0,0,1140,1137,1,0,0,0,1141,1338,1,0,0,0,1142,1143,5,240,0,0,1143,1144,5,176,0,0,1144,1145,5,338,0,0,1145,1338,3,90,45,0,1146,1148,5,33,0,0,1147,1149,5,159,0,0,1148,1147,1,0,0,0,1148,1149,1,0,0,0,1149,1150,1,0,0,0,1150,1151,5,293,0,0,1151,1154,3,86,43,0,1152,1153,5,207,0,0,1153,1155,3,54,27,0,1154,1152,1,0,0,0,1154,1155,1,0,0,0,1155,1160,1,0,0,0,1156,1158,5,20,0,0,1157,1156,1,0,0,0,1157,1158,1,0,0,0,1158,1159,1,0,0,0,1159,1161,3,26,13,0,1160,1157,1,0,0,0,1160,1161,1,0,0,0,1161,1338,1,0,0,0,1162,1163,5,322,0,0,1163,1165,5,293,0,0,1164,1166,3,192,96,0,1165,1164,1,0,0,0,1165,1166,1,0,0,0,1166,1167,1,0,0,0,1167,1338,3,86,43,0,1168,1169,5,43,0,0,1169,1338,5,33,0,0,1170,1171,5,168,0,0,1171,1173,5,70,0,0,1172,1174,5,169,0,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1175,1,0,0,0,1175,1176,5,145,0,0,1176,1178,3,388,194,0,1177,1179,5,216,0,0,1178,1177,1,0,0,0,1178,1179,1,0,0,0,1179,1180,1,0,0,0,1180,1181,5,152,0,0,1181,1182,5,293,0,0,1182,1184,3,86,43,0,1183,1185,3,32,16,0,1184,1183,1,0,0,0,1184,1185,1,0,0,0,1185,1338,1,0,0,0,1186,1187,5,317,0,0,1187,1188,5,293,0,0,1188,1190,3,86,43,0,1189,1191,3,32,16,0,1190,1189,1,0,0,0,1190,1191,1,0,0,0,1191,1338,1,0,0,0,1192,1194,5,188,0,0,1193,1192,1,0,0,0,1193,1194,1,0,0,0,1194,1195,1,0,0,0,1195,1196,5,242,0,0,1196,1197,5,293,0,0,1197,1200,3,86,43,0,1198,1199,7,8,0,0,1199,1201,5,219,0,0,1200,1198,1,0,0,0,1200,1201,1,0,0,0,1201,1338,1,0,0,0,1202,1203,7,9,0,0,1203,1207,3,376,188,0,1204,1206,9,0,0,0,1205,1204,1,0,0,0,1206,1209,1,0,0,0,1207,1208,1,0,0,0,1207,1205,1,0,0,0,1208,1338,1,0,0,0,1209,1207,1,0,0,0,1210,1211,5,269,0,0,1211,1215,5,253,0,0,1212,1214,9,0,0,0,1213,1212,1,0,0,0,1214,1217,1,0,0,0,1215,1216,1,0,0,0,1215,1213,1,0,0,0,1216,1338,1,0,0,0,1217,1215,1,0,0,0,1218,1219,5,269,0,0,1219,1220,5,301,0,0,1220,1221,5,350,0,0,1221,1338,3,298,149,0,1222,1223,5,269,0,0,1223,1224,5,301,0,0,1224,1225,5,350,0,0,1225,1338,3,6,3,0,1226,1227,5,269,0,0,1227,1228,5,301,0,0,1228,1232,5,350,0,0,1229,1231,9,0,0,0,1230,1229,1,0,0,0,1231,1234,1,0,0,0,1232,1233,1,0,0,0,1232,1230,1,0,0,0,1233,1338,1,0,0,0,1234,1232,1,0,0,0,1235,1236,5,269,0,0,1236,1237,7,10,0,0,1237,1338,3,134,67,0,1238,1239,5,269,0,0,1239,1240,7,10,0,0,1240,1241,5,2,0,0,1241,1242,3,244,122,0,1242,1243,5,3,0,0,1243,1244,5,352,0,0,1244,1245,5,2,0,0,1245,1246,3,26,13,0,1246,1247,5,3,0,0,1247,1338,1,0,0,0,1248,1249,5,269,0,0,1249,1250,3,8,4,0,1250,1251,5,352,0,0,1251,1252,3,10,5,0,1252,1338,1,0,0,0,1253,1254,5,269,0,0,1254,1262,3,8,4,0,1255,1259,5,352,0,0,1256,1258,9,0,0,0,1257,1256,1,0,0,0,1258,1261,1,0,0,0,1259,1260,1,0,0,0,1259,1257,1,0,0,0,1260,1263,1,0,0,0,1261,1259,1,0,0,0,1262,1255,1,0,0,0,1262,1263,1,0,0,0,1263,1338,1,0,0,0,1264,1268,5,269,0,0,1265,1267,9,0,0,0,1266,1265,1,0,0,0,1267,1270,1,0,0,0,1268,1269,1,0,0,0,1268,1266,1,0,0,0,1269,1271,1,0,0,0,1270,1268,1,0,0,0,1271,1272,5,352,0,0,1272,1338,3,10,5,0,1273,1277,5,269,0,0,1274,1276,9,0,0,0,1275,1274,1,0,0,0,1276,1279,1,0,0,0,1277,1278,1,0,0,0,1277,1275,1,0,0,0,1278,1338,1,0,0,0,1279,1277,1,0,0,0,1280,1281,5,245,0,0,1281,1338,3,8,4,0,1282,1286,5,245,0,0,1283,1285,9,0,0,0,1284,1283,1,0,0,0,1285,1288,1,0,0,0,1286,1287,1,0,0,0,1286,1284,1,0,0,0,1287,1338,1,0,0,0,1288,1286,1,0,0,0,1289,1290,5,59,0,0,1290,1292,5,142,0,0,1291,1293,3,190,95,0,1292,1291,1,0,0,0,1292,1293,1,0,0,0,1293,1294,1,0,0,0,1294,1295,3,376,188,0,1295,1297,5,203,0,0,1296,1298,5,293,0,0,1297,1296,1,0,0,0,1297,1298,1,0,0,0,1298,1299,1,0,0,0,1299,1302,3,86,43,0,1300,1301,5,332,0,0,1301,1303,3,376,188,0,1302,1300,1,0,0,0,1302,1303,1,0,0,0,1303,1304,1,0,0,0,1304,1305,5,2,0,0,1305,1306,3,248,124,0,1306,1309,5,3,0,0,1307,1308,5,207,0,0,1308,1310,3,54,27,0,1309,1307,1,0,0,0,1309,1310,1,0,0,0,1310,1338,1,0,0,0,1311,1312,5,96,0,0,1312,1314,5,142,0,0,1313,1315,3,192,96,0,1314,1313,1,0,0,0,1314,1315,1,0,0,0,1315,1316,1,0,0,0,1316,1317,3,376,188,0,1317,1319,5,203,0,0,1318,1320,5,293,0,0,1319,1318,1,0,0,0,1319,1320,1,0,0,0,1320,1321,1,0,0,0,1321,1322,3,86,43,0,1322,1338,1,0,0,0,1323,1324,5,205,0,0,1324,1326,3,86,43,0,1325,1327,3,138,69,0,1326,1325,1,0,0,0,1326,1327,1,0,0,0,1327,1328,1,0,0,0,1328,1329,3,354,177,0,1329,1338,1,0,0,0,1330,1334,3,12,6,0,1331,1333,9,0,0,0,1332,1331,1,0,0,0,1333,1336,1,0,0,0,1334,1335,1,0,0,0,1334,1332,1,0,0,0,1335,1338,1,0,0,0,1336,1334,1,0,0,0,1337,412,1,0,0,0,1337,414,1,0,0,0,1337,417,1,0,0,0,1337,422,1,0,0,0,1337,428,1,0,0,0,1337,444,1,0,0,0,1337,451,1,0,0,0,1337,457,1,0,0,0,1337,466,1,0,0,0,1337,478,1,0,0,0,1337,495,1,0,0,0,1337,515,1,0,0,0,1337,532,1,0,0,0,1337,549,1,0,0,0,1337,560,1,0,0,0,1337,567,1,0,0,0,1337,576,1,0,0,0,1337,585,1,0,0,0,1337,595,1,0,0,0,1337,607,1,0,0,0,1337,618,1,0,0,0,1337,629,1,0,0,0,1337,643,1,0,0,0,1337,654,1,0,0,0,1337,669,1,0,0,0,1337,681,1,0,0,0,1337,695,1,0,0,0,1337,705,1,0,0,0,1337,721,1,0,0,0,1337,729,1,0,0,0,1337,751,1,0,0,0,1337,760,1,0,0,0,1337,766,1,0,0,0,1337,773,1,0,0,0,1337,781,1,0,0,0,1337,790,1,0,0,0,1337,796,1,0,0,0,1337,803,1,0,0,0,1337,836,1,0,0,0,1337,858,1,0,0,0,1337,866,1,0,0,0,1337,892,1,0,0,0,1337,923,1,0,0,0,1337,932,1,0,0,0,1337,947,1,0,0,0,1337,958,1,0,0,0,1337,963,1,0,0,0,1337,975,1,0,0,0,1337,987,1,0,0,0,1337,996,1,0,0,0,1337,1004,1,0,0,0,1337,1016,1,0,0,0,1337,1022,1,0,0,0,1337,1040,1,0,0,0,1337,1048,1,0,0,0,1337,1051,1,0,0,0,1337,1059,1,0,0,0,1337,1072,1,0,0,0,1337,1081,1,0,0,0,1337,1087,1,0,0,0,1337,1093,1,0,0,0,1337,1107,1,0,0,0,1337,1112,1,0,0,0,1337,1119,1,0,0,0,1337,1126,1,0,0,0,1337,1129,1,0,0,0,1337,1132,1,0,0,0,1337,1142,1,0,0,0,1337,1146,1,0,0,0,1337,1162,1,0,0,0,1337,1168,1,0,0,0,1337,1170,1,0,0,0,1337,1186,1,0,0,0,1337,1193,1,0,0,0,1337,1202,1,0,0,0,1337,1210,1,0,0,0,1337,1218,1,0,0,0,1337,1222,1,0,0,0,1337,1226,1,0,0,0,1337,1235,1,0,0,0,1337,1238,1,0,0,0,1337,1248,1,0,0,0,1337,1253,1,0,0,0,1337,1264,1,0,0,0,1337,1273,1,0,0,0,1337,1280,1,0,0,0,1337,1282,1,0,0,0,1337,1289,1,0,0,0,1337,1311,1,0,0,0,1337,1323,1,0,0,0,1337,1330,1,0,0,0,1338,5,1,0,0,0,1339,1342,3,388,194,0,1340,1342,5,169,0,0,1341,1339,1,0,0,0,1341,1340,1,0,0,0,1342,7,1,0,0,0,1343,1344,3,380,190,0,1344,9,1,0,0,0,1345,1346,3,382,191,0,1346,11,1,0,0,0,1347,1348,5,59,0,0,1348,1516,5,253,0,0,1349,1350,5,96,0,0,1350,1516,5,253,0,0,1351,1353,5,129,0,0,1352,1354,5,253,0,0,1353,1352,1,0,0,0,1353,1354,1,0,0,0,1354,1516,1,0,0,0,1355,1357,5,249,0,0,1356,1358,5,253,0,0,1357,1356,1,0,0,0,1357,1358,1,0,0,0,1358,1516,1,0,0,0,1359,1360,5,273,0,0,1360,1516,5,129,0,0,1361,1362,5,273,0,0,1362,1364,5,253,0,0,1363,1365,5,129,0,0,1364,1363,1,0,0,0,1364,1365,1,0,0,0,1365,1516,1,0,0,0,1366,1367,5,273,0,0,1367,1516,5,228,0,0,1368,1369,5,273,0,0,1369,1516,5,254,0,0,1370,1371,5,273,0,0,1371,1372,5,62,0,0,1372,1516,5,254,0,0,1373,1374,5,107,0,0,1374,1516,5,293,0,0,1375,1376,5,139,0,0,1376,1516,5,293,0,0,1377,1378,5,273,0,0,1378,1516,5,54,0,0,1379,1380,5,273,0,0,1380,1381,5,59,0,0,1381,1516,5,293,0,0,1382,1383,5,273,0,0,1383,1516,5,313,0,0,1384,1385,5,273,0,0,1385,1516,5,143,0,0,1386,1387,5,273,0,0,1387,1516,5,172,0,0,1388,1389,5,59,0,0,1389,1516,5,142,0,0,1390,1391,5,96,0,0,1391,1516,5,142,0,0,1392,1393,5,11,0,0,1393,1516,5,142,0,0,1394,1395,5,171,0,0,1395,1516,5,293,0,0,1396,1397,5,171,0,0,1397,1516,5,72,0,0,1398,1399,5,326,0,0,1399,1516,5,293,0,0,1400,1401,5,326,0,0,1401,1516,5,72,0,0,1402,1403,5,59,0,0,1403,1404,5,298,0,0,1404,1516,5,175,0,0,1405,1406,5,96,0,0,1406,1407,5,298,0,0,1407,1516,5,175,0,0,1408,1409,5,11,0,0,1409,1410,5,293,0,0,1410,1411,3,86,43,0,1411,1412,5,197,0,0,1412,1413,5,45,0,0,1413,1516,1,0,0,0,1414,1415,5,11,0,0,1415,1416,5,293,0,0,1416,1417,3,86,43,0,1417,1418,5,45,0,0,1418,1419,5,31,0,0,1419,1516,1,0,0,0,1420,1421,5,11,0,0,1421,1422,5,293,0,0,1422,1423,3,86,43,0,1423,1424,5,197,0,0,1424,1425,5,279,0,0,1425,1516,1,0,0,0,1426,1427,5,11,0,0,1427,1428,5,293,0,0,1428,1429,3,86,43,0,1429,1430,5,275,0,0,1430,1431,5,31,0,0,1431,1516,1,0,0,0,1432,1433,5,11,0,0,1433,1434,5,293,0,0,1434,1435,3,86,43,0,1435,1436,5,197,0,0,1436,1437,5,275,0,0,1437,1516,1,0,0,0,1438,1439,5,11,0,0,1439,1440,5,293,0,0,1440,1441,3,86,43,0,1441,1442,5,197,0,0,1442,1443,5,283,0,0,1443,1444,5,20,0,0,1444,1445,5,89,0,0,1445,1516,1,0,0,0,1446,1447,5,11,0,0,1447,1448,5,293,0,0,1448,1449,3,86,43,0,1449,1450,5,269,0,0,1450,1451,5,275,0,0,1451,1452,5,170,0,0,1452,1516,1,0,0,0,1453,1454,5,11,0,0,1454,1455,5,293,0,0,1455,1456,3,86,43,0,1456,1457,5,103,0,0,1457,1458,5,217,0,0,1458,1516,1,0,0,0,1459,1460,5,11,0,0,1460,1461,5,293,0,0,1461,1462,3,86,43,0,1462,1463,5,18,0,0,1463,1464,5,217,0,0,1464,1516,1,0,0,0,1465,1466,5,11,0,0,1466,1467,5,293,0,0,1467,1468,3,86,43,0,1468,1469,5,320,0,0,1469,1470,5,217,0,0,1470,1516,1,0,0,0,1471,1472,5,11,0,0,1472,1473,5,293,0,0,1473,1474,3,86,43,0,1474,1475,5,310,0,0,1475,1516,1,0,0,0,1476,1477,5,11,0,0,1477,1478,5,293,0,0,1478,1480,3,86,43,0,1479,1481,3,32,16,0,1480,1479,1,0,0,0,1480,1481,1,0,0,0,1481,1482,1,0,0,0,1482,1483,5,53,0,0,1483,1516,1,0,0,0,1484,1485,5,11,0,0,1485,1486,5,293,0,0,1486,1488,3,86,43,0,1487,1489,3,32,16,0,1488,1487,1,0,0,0,1488,1489,1,0,0,0,1489,1490,1,0,0,0,1490,1491,5,56,0,0,1491,1516,1,0,0,0,1492,1493,5,11,0,0,1493,1494,5,293,0,0,1494,1496,3,86,43,0,1495,1497,3,32,16,0,1496,1495,1,0,0,0,1496,1497,1,0,0,0,1497,1498,1,0,0,0,1498,1499,5,269,0,0,1499,1500,5,115,0,0,1500,1516,1,0,0,0,1501,1502,5,11,0,0,1502,1503,5,293,0,0,1503,1505,3,86,43,0,1504,1506,3,32,16,0,1505,1504,1,0,0,0,1505,1506,1,0,0,0,1506,1507,1,0,0,0,1507,1508,5,244,0,0,1508,1509,5,50,0,0,1509,1516,1,0,0,0,1510,1511,5,281,0,0,1511,1516,5,312,0,0,1512,1516,5,52,0,0,1513,1516,5,255,0,0,1514,1516,5,88,0,0,1515,1347,1,0,0,0,1515,1349,1,0,0,0,1515,1351,1,0,0,0,1515,1355,1,0,0,0,1515,1359,1,0,0,0,1515,1361,1,0,0,0,1515,1366,1,0,0,0,1515,1368,1,0,0,0,1515,1370,1,0,0,0,1515,1373,1,0,0,0,1515,1375,1,0,0,0,1515,1377,1,0,0,0,1515,1379,1,0,0,0,1515,1382,1,0,0,0,1515,1384,1,0,0,0,1515,1386,1,0,0,0,1515,1388,1,0,0,0,1515,1390,1,0,0,0,1515,1392,1,0,0,0,1515,1394,1,0,0,0,1515,1396,1,0,0,0,1515,1398,1,0,0,0,1515,1400,1,0,0,0,1515,1402,1,0,0,0,1515,1405,1,0,0,0,1515,1408,1,0,0,0,1515,1414,1,0,0,0,1515,1420,1,0,0,0,1515,1426,1,0,0,0,1515,1432,1,0,0,0,1515,1438,1,0,0,0,1515,1446,1,0,0,0,1515,1453,1,0,0,0,1515,1459,1,0,0,0,1515,1465,1,0,0,0,1515,1471,1,0,0,0,1515,1476,1,0,0,0,1515,1484,1,0,0,0,1515,1492,1,0,0,0,1515,1501,1,0,0,0,1515,1510,1,0,0,0,1515,1512,1,0,0,0,1515,1513,1,0,0,0,1515,1514,1,0,0,0,1516,13,1,0,0,0,1517,1519,5,59,0,0,1518,1520,5,298,0,0,1519,1518,1,0,0,0,1519,1520,1,0,0,0,1520,1522,1,0,0,0,1521,1523,5,109,0,0,1522,1521,1,0,0,0,1522,1523,1,0,0,0,1523,1524,1,0,0,0,1524,1526,5,293,0,0,1525,1527,3,190,95,0,1526,1525,1,0,0,0,1526,1527,1,0,0,0,1527,1528,1,0,0,0,1528,1529,3,84,42,0,1529,15,1,0,0,0,1530,1531,5,59,0,0,1531,1533,5,208,0,0,1532,1530,1,0,0,0,1532,1533,1,0,0,0,1533,1534,1,0,0,0,1534,1535,5,244,0,0,1535,1536,5,293,0,0,1536,1537,3,84,42,0,1537,17,1,0,0,0,1538,1539,5,45,0,0,1539,1540,5,31,0,0,1540,1544,3,212,106,0,1541,1542,5,279,0,0,1542,1543,5,31,0,0,1543,1545,3,216,108,0,1544,1541,1,0,0,0,1544,1545,1,0,0,0,1545,1546,1,0,0,0,1546,1547,5,152,0,0,1547,1548,5,382,0,0,1548,1549,5,30,0,0,1549,19,1,0,0,0,1550,1551,5,275,0,0,1551,1552,5,31,0,0,1552,1553,3,212,106,0,1553,1556,5,203,0,0,1554,1557,3,66,33,0,1555,1557,3,68,34,0,1556,1554,1,0,0,0,1556,1555,1,0,0,0,1557,1561,1,0,0,0,1558,1559,5,283,0,0,1559,1560,5,20,0,0,1560,1562,5,89,0,0,1561,1558,1,0,0,0,1561,1562,1,0,0,0,1562,21,1,0,0,0,1563,1564,5,170,0,0,1564,1565,3,388,194,0,1565,23,1,0,0,0,1566,1567,5,51,0,0,1567,1568,3,388,194,0,1568,25,1,0,0,0,1569,1571,3,44,22,0,1570,1569,1,0,0,0,1570,1571,1,0,0,0,1571,1572,1,0,0,0,1572,1573,3,104,52,0,1573,1574,3,100,50,0,1574,27,1,0,0,0,1575,1576,5,147,0,0,1576,1578,5,216,0,0,1577,1579,5,293,0,0,1578,1577,1,0,0,0,1578,1579,1,0,0,0,1579,1580,1,0,0,0,1580,1585,3,86,43,0,1581,1583,3,32,16,0,1582,1584,3,190,95,0,1583,1582,1,0,0,0,1583,1584,1,0,0,0,1584,1586,1,0,0,0,1585,1581,1,0,0,0,1585,1586,1,0,0,0,1586,1593,1,0,0,0,1587,1588,5,31,0,0,1588,1594,5,189,0,0,1589,1590,5,2,0,0,1590,1591,3,94,47,0,1591,1592,5,3,0,0,1592,1594,1,0,0,0,1593,1587,1,0,0,0,1593,1589,1,0,0,0,1593,1594,1,0,0,0,1594,1652,1,0,0,0,1595,1596,5,147,0,0,1596,1598,5,152,0,0,1597,1599,5,293,0,0,1598,1597,1,0,0,0,1598,1599,1,0,0,0,1599,1600,1,0,0,0,1600,1602,3,86,43,0,1601,1603,3,32,16,0,1602,1601,1,0,0,0,1602,1603,1,0,0,0,1603,1605,1,0,0,0,1604,1606,3,190,95,0,1605,1604,1,0,0,0,1605,1606,1,0,0,0,1606,1613,1,0,0,0,1607,1608,5,31,0,0,1608,1614,5,189,0,0,1609,1610,5,2,0,0,1610,1611,3,94,47,0,1611,1612,5,3,0,0,1612,1614,1,0,0,0,1613,1607,1,0,0,0,1613,1609,1,0,0,0,1613,1614,1,0,0,0,1614,1652,1,0,0,0,1615,1616,5,147,0,0,1616,1618,5,152,0,0,1617,1619,5,293,0,0,1618,1617,1,0,0,0,1618,1619,1,0,0,0,1619,1620,1,0,0,0,1620,1621,3,86,43,0,1621,1622,5,244,0,0,1622,1623,3,138,69,0,1623,1652,1,0,0,0,1624,1625,5,147,0,0,1625,1627,5,216,0,0,1626,1628,5,169,0,0,1627,1626,1,0,0,0,1627,1628,1,0,0,0,1628,1629,1,0,0,0,1629,1630,5,90,0,0,1630,1632,3,388,194,0,1631,1633,3,242,121,0,1632,1631,1,0,0,0,1632,1633,1,0,0,0,1633,1635,1,0,0,0,1634,1636,3,70,35,0,1635,1634,1,0,0,0,1635,1636,1,0,0,0,1636,1652,1,0,0,0,1637,1638,5,147,0,0,1638,1640,5,216,0,0,1639,1641,5,169,0,0,1640,1639,1,0,0,0,1640,1641,1,0,0,0,1641,1642,1,0,0,0,1642,1644,5,90,0,0,1643,1645,3,388,194,0,1644,1643,1,0,0,0,1644,1645,1,0,0,0,1645,1646,1,0,0,0,1646,1649,3,48,24,0,1647,1648,5,207,0,0,1648,1650,3,54,27,0,1649,1647,1,0,0,0,1649,1650,1,0,0,0,1650,1652,1,0,0,0,1651,1575,1,0,0,0,1651,1595,1,0,0,0,1651,1615,1,0,0,0,1651,1624,1,0,0,0,1651,1637,1,0,0,0,1652,29,1,0,0,0,1653,1655,3,32,16,0,1654,1656,3,22,11,0,1655,1654,1,0,0,0,1655,1656,1,0,0,0,1656,31,1,0,0,0,1657,1658,5,217,0,0,1658,1659,5,2,0,0,1659,1664,3,34,17,0,1660,1661,5,4,0,0,1661,1663,3,34,17,0,1662,1660,1,0,0,0,1663,1666,1,0,0,0,1664,1662,1,0,0,0,1664,1665,1,0,0,0,1665,1667,1,0,0,0,1666,1664,1,0,0,0,1667,1668,5,3,0,0,1668,33,1,0,0,0,1669,1672,3,376,188,0,1670,1671,5,352,0,0,1671,1673,3,288,144,0,1672,1670,1,0,0,0,1672,1673,1,0,0,0,1673,1679,1,0,0,0,1674,1675,3,376,188,0,1675,1676,5,352,0,0,1676,1677,5,82,0,0,1677,1679,1,0,0,0,1678,1669,1,0,0,0,1678,1674,1,0,0,0,1679,35,1,0,0,0,1680,1681,7,11,0,0,1681,37,1,0,0,0,1682,1683,7,12,0,0,1683,39,1,0,0,0,1684,1690,3,98,49,0,1685,1690,3,388,194,0,1686,1690,3,290,145,0,1687,1690,3,292,146,0,1688,1690,3,294,147,0,1689,1684,1,0,0,0,1689,1685,1,0,0,0,1689,1686,1,0,0,0,1689,1687,1,0,0,0,1689,1688,1,0,0,0,1690,41,1,0,0,0,1691,1696,3,376,188,0,1692,1693,5,5,0,0,1693,1695,3,376,188,0,1694,1692,1,0,0,0,1695,1698,1,0,0,0,1696,1694,1,0,0,0,1696,1697,1,0,0,0,1697,43,1,0,0,0,1698,1696,1,0,0,0,1699,1700,5,346,0,0,1700,1705,3,46,23,0,1701,1702,5,4,0,0,1702,1704,3,46,23,0,1703,1701,1,0,0,0,1704,1707,1,0,0,0,1705,1703,1,0,0,0,1705,1706,1,0,0,0,1706,45,1,0,0,0,1707,1705,1,0,0,0,1708,1710,3,372,186,0,1709,1711,3,212,106,0,1710,1709,1,0,0,0,1710,1711,1,0,0,0,1711,1713,1,0,0,0,1712,1714,5,20,0,0,1713,1712,1,0,0,0,1713,1714,1,0,0,0,1714,1715,1,0,0,0,1715,1716,5,2,0,0,1716,1717,3,26,13,0,1717,1718,5,3,0,0,1718,47,1,0,0,0,1719,1720,5,332,0,0,1720,1721,3,246,123,0,1721,49,1,0,0,0,1722,1723,5,207,0,0,1723,1737,3,62,31,0,1724,1725,5,218,0,0,1725,1726,5,31,0,0,1726,1737,3,260,130,0,1727,1737,3,20,10,0,1728,1737,3,18,9,0,1729,1737,3,242,121,0,1730,1737,3,70,35,0,1731,1737,3,22,11,0,1732,1737,3,24,12,0,1733,1734,5,297,0,0,1734,1737,3,54,27,0,1735,1737,3,52,26,0,1736,1722,1,0,0,0,1736,1724,1,0,0,0,1736,1727,1,0,0,0,1736,1728,1,0,0,0,1736,1729,1,0,0,0,1736,1730,1,0,0,0,1736,1731,1,0,0,0,1736,1732,1,0,0,0,1736,1733,1,0,0,0,1736,1735,1,0,0,0,1737,1740,1,0,0,0,1738,1736,1,0,0,0,1738,1739,1,0,0,0,1739,51,1,0,0,0,1740,1738,1,0,0,0,1741,1742,5,162,0,0,1742,1743,5,382,0,0,1743,53,1,0,0,0,1744,1745,5,2,0,0,1745,1750,3,56,28,0,1746,1747,5,4,0,0,1747,1749,3,56,28,0,1748,1746,1,0,0,0,1749,1752,1,0,0,0,1750,1748,1,0,0,0,1750,1751,1,0,0,0,1751,1753,1,0,0,0,1752,1750,1,0,0,0,1753,1754,5,3,0,0,1754,55,1,0,0,0,1755,1760,3,58,29,0,1756,1758,5,352,0,0,1757,1756,1,0,0,0,1757,1758,1,0,0,0,1758,1759,1,0,0,0,1759,1761,3,60,30,0,1760,1757,1,0,0,0,1760,1761,1,0,0,0,1761,57,1,0,0,0,1762,1767,3,376,188,0,1763,1764,5,5,0,0,1764,1766,3,376,188,0,1765,1763,1,0,0,0,1766,1769,1,0,0,0,1767,1765,1,0,0,0,1767,1768,1,0,0,0,1768,1772,1,0,0,0,1769,1767,1,0,0,0,1770,1772,3,388,194,0,1771,1762,1,0,0,0,1771,1770,1,0,0,0,1772,59,1,0,0,0,1773,1778,5,382,0,0,1774,1778,5,384,0,0,1775,1778,3,296,148,0,1776,1778,3,388,194,0,1777,1773,1,0,0,0,1777,1774,1,0,0,0,1777,1775,1,0,0,0,1777,1776,1,0,0,0,1778,61,1,0,0,0,1779,1780,5,2,0,0,1780,1785,3,64,32,0,1781,1782,5,4,0,0,1782,1784,3,64,32,0,1783,1781,1,0,0,0,1784,1787,1,0,0,0,1785,1783,1,0,0,0,1785,1786,1,0,0,0,1786,1788,1,0,0,0,1787,1785,1,0,0,0,1788,1789,5,3,0,0,1789,63,1,0,0,0,1790,1795,3,58,29,0,1791,1793,5,352,0,0,1792,1791,1,0,0,0,1792,1793,1,0,0,0,1793,1794,1,0,0,0,1794,1796,3,268,134,0,1795,1792,1,0,0,0,1795,1796,1,0,0,0,1796,65,1,0,0,0,1797,1798,5,2,0,0,1798,1803,3,288,144,0,1799,1800,5,4,0,0,1800,1802,3,288,144,0,1801,1799,1,0,0,0,1802,1805,1,0,0,0,1803,1801,1,0,0,0,1803,1804,1,0,0,0,1804,1806,1,0,0,0,1805,1803,1,0,0,0,1806,1807,5,3,0,0,1807,67,1,0,0,0,1808,1809,5,2,0,0,1809,1814,3,66,33,0,1810,1811,5,4,0,0,1811,1813,3,66,33,0,1812,1810,1,0,0,0,1813,1816,1,0,0,0,1814,1812,1,0,0,0,1814,1815,1,0,0,0,1815,1817,1,0,0,0,1816,1814,1,0,0,0,1817,1818,5,3,0,0,1818,69,1,0,0,0,1819,1820,5,283,0,0,1820,1821,5,20,0,0,1821,1826,3,72,36,0,1822,1823,5,283,0,0,1823,1824,5,31,0,0,1824,1826,3,74,37,0,1825,1819,1,0,0,0,1825,1822,1,0,0,0,1826,71,1,0,0,0,1827,1828,5,146,0,0,1828,1829,3,388,194,0,1829,1830,5,212,0,0,1830,1831,3,388,194,0,1831,1834,1,0,0,0,1832,1834,3,376,188,0,1833,1827,1,0,0,0,1833,1832,1,0,0,0,1834,73,1,0,0,0,1835,1839,3,388,194,0,1836,1837,5,346,0,0,1837,1838,5,267,0,0,1838,1840,3,54,27,0,1839,1836,1,0,0,0,1839,1840,1,0,0,0,1840,75,1,0,0,0,1841,1842,3,376,188,0,1842,1843,3,388,194,0,1843,77,1,0,0,0,1844,1845,3,28,14,0,1845,1846,3,26,13,0,1846,1901,1,0,0,0,1847,1849,3,146,73,0,1848,1850,3,102,51,0,1849,1848,1,0,0,0,1850,1851,1,0,0,0,1851,1849,1,0,0,0,1851,1852,1,0,0,0,1852,1901,1,0,0,0,1853,1854,5,84,0,0,1854,1855,5,123,0,0,1855,1856,3,86,43,0,1856,1858,3,240,120,0,1857,1859,3,138,69,0,1858,1857,1,0,0,0,1858,1859,1,0,0,0,1859,1901,1,0,0,0,1860,1861,5,329,0,0,1861,1862,3,86,43,0,1862,1863,3,240,120,0,1863,1865,3,120,60,0,1864,1866,3,138,69,0,1865,1864,1,0,0,0,1865,1866,1,0,0,0,1866,1901,1,0,0,0,1867,1868,5,179,0,0,1868,1869,5,152,0,0,1869,1870,3,86,43,0,1870,1871,3,240,120,0,1871,1877,5,332,0,0,1872,1878,3,98,49,0,1873,1874,5,2,0,0,1874,1875,3,26,13,0,1875,1876,5,3,0,0,1876,1878,1,0,0,0,1877,1872,1,0,0,0,1877,1873,1,0,0,0,1878,1879,1,0,0,0,1879,1880,3,240,120,0,1880,1881,5,203,0,0,1881,1885,3,276,138,0,1882,1884,3,122,61,0,1883,1882,1,0,0,0,1884,1887,1,0,0,0,1885,1883,1,0,0,0,1885,1886,1,0,0,0,1886,1891,1,0,0,0,1887,1885,1,0,0,0,1888,1890,3,124,62,0,1889,1888,1,0,0,0,1890,1893,1,0,0,0,1891,1889,1,0,0,0,1891,1892,1,0,0,0,1892,1897,1,0,0,0,1893,1891,1,0,0,0,1894,1896,3,126,63,0,1895,1894,1,0,0,0,1896,1899,1,0,0,0,1897,1895,1,0,0,0,1897,1898,1,0,0,0,1898,1901,1,0,0,0,1899,1897,1,0,0,0,1900,1844,1,0,0,0,1900,1847,1,0,0,0,1900,1853,1,0,0,0,1900,1860,1,0,0,0,1900,1867,1,0,0,0,1901,79,1,0,0,0,1902,1903,3,98,49,0,1903,81,1,0,0,0,1904,1905,3,98,49,0,1905,83,1,0,0,0,1906,1907,3,252,126,0,1907,85,1,0,0,0,1908,1909,3,252,126,0,1909,87,1,0,0,0,1910,1911,3,254,127,0,1911,89,1,0,0,0,1912,1913,3,254,127,0,1913,91,1,0,0,0,1914,1917,3,246,123,0,1915,1917,4,46,0,0,1916,1914,1,0,0,0,1916,1915,1,0,0,0,1917,93,1,0,0,0,1918,1923,3,92,46,0,1919,1920,5,4,0,0,1920,1922,3,92,46,0,1921,1919,1,0,0,0,1922,1925,1,0,0,0,1923,1921,1,0,0,0,1923,1924,1,0,0,0,1924,95,1,0,0,0,1925,1923,1,0,0,0,1926,1927,3,372,186,0,1927,97,1,0,0,0,1928,1929,5,136,0,0,1929,1930,5,2,0,0,1930,1931,3,268,134,0,1931,1932,5,3,0,0,1932,1935,1,0,0,0,1933,1935,3,246,123,0,1934,1928,1,0,0,0,1934,1933,1,0,0,0,1935,99,1,0,0,0,1936,1937,5,209,0,0,1937,1938,5,31,0,0,1938,1943,3,108,54,0,1939,1940,5,4,0,0,1940,1942,3,108,54,0,1941,1939,1,0,0,0,1942,1945,1,0,0,0,1943,1941,1,0,0,0,1943,1944,1,0,0,0,1944,1947,1,0,0,0,1945,1943,1,0,0,0,1946,1936,1,0,0,0,1946,1947,1,0,0,0,1947,1958,1,0,0,0,1948,1949,5,44,0,0,1949,1950,5,31,0,0,1950,1955,3,268,134,0,1951,1952,5,4,0,0,1952,1954,3,268,134,0,1953,1951,1,0,0,0,1954,1957,1,0,0,0,1955,1953,1,0,0,0,1955,1956,1,0,0,0,1956,1959,1,0,0,0,1957,1955,1,0,0,0,1958,1948,1,0,0,0,1958,1959,1,0,0,0,1959,1970,1,0,0,0,1960,1961,5,93,0,0,1961,1962,5,31,0,0,1962,1967,3,268,134,0,1963,1964,5,4,0,0,1964,1966,3,268,134,0,1965,1963,1,0,0,0,1966,1969,1,0,0,0,1967,1965,1,0,0,0,1967,1968,1,0,0,0,1968,1971,1,0,0,0,1969,1967,1,0,0,0,1970,1960,1,0,0,0,1970,1971,1,0,0,0,1971,1982,1,0,0,0,1972,1973,5,278,0,0,1973,1974,5,31,0,0,1974,1979,3,108,54,0,1975,1976,5,4,0,0,1976,1978,3,108,54,0,1977,1975,1,0,0,0,1978,1981,1,0,0,0,1979,1977,1,0,0,0,1979,1980,1,0,0,0,1980,1983,1,0,0,0,1981,1979,1,0,0,0,1982,1972,1,0,0,0,1982,1983,1,0,0,0,1983,1985,1,0,0,0,1984,1986,3,352,176,0,1985,1984,1,0,0,0,1985,1986,1,0,0,0,1986,1992,1,0,0,0,1987,1990,5,165,0,0,1988,1991,5,10,0,0,1989,1991,3,268,134,0,1990,1988,1,0,0,0,1990,1989,1,0,0,0,1991,1993,1,0,0,0,1992,1987,1,0,0,0,1992,1993,1,0,0,0,1993,1996,1,0,0,0,1994,1995,5,202,0,0,1995,1997,3,268,134,0,1996,1994,1,0,0,0,1996,1997,1,0,0,0,1997,101,1,0,0,0,1998,1999,3,28,14,0,1999,2e3,3,112,56,0,2e3,103,1,0,0,0,2001,2002,6,52,-1,0,2002,2003,3,106,53,0,2003,2024,1,0,0,0,2004,2005,10,3,0,0,2005,2007,7,13,0,0,2006,2008,3,196,98,0,2007,2006,1,0,0,0,2007,2008,1,0,0,0,2008,2009,1,0,0,0,2009,2023,3,104,52,4,2010,2011,10,2,0,0,2011,2013,5,148,0,0,2012,2014,3,196,98,0,2013,2012,1,0,0,0,2013,2014,1,0,0,0,2014,2015,1,0,0,0,2015,2023,3,104,52,3,2016,2017,10,1,0,0,2017,2019,7,14,0,0,2018,2020,3,196,98,0,2019,2018,1,0,0,0,2019,2020,1,0,0,0,2020,2021,1,0,0,0,2021,2023,3,104,52,2,2022,2004,1,0,0,0,2022,2010,1,0,0,0,2022,2016,1,0,0,0,2023,2026,1,0,0,0,2024,2022,1,0,0,0,2024,2025,1,0,0,0,2025,105,1,0,0,0,2026,2024,1,0,0,0,2027,2037,3,114,57,0,2028,2037,3,110,55,0,2029,2030,5,293,0,0,2030,2037,3,86,43,0,2031,2037,3,226,113,0,2032,2033,5,2,0,0,2033,2034,3,26,13,0,2034,2035,5,3,0,0,2035,2037,1,0,0,0,2036,2027,1,0,0,0,2036,2028,1,0,0,0,2036,2029,1,0,0,0,2036,2031,1,0,0,0,2036,2032,1,0,0,0,2037,107,1,0,0,0,2038,2041,3,92,46,0,2039,2041,3,268,134,0,2040,2038,1,0,0,0,2040,2039,1,0,0,0,2041,2043,1,0,0,0,2042,2044,7,15,0,0,2043,2042,1,0,0,0,2043,2044,1,0,0,0,2044,2047,1,0,0,0,2045,2046,5,199,0,0,2046,2048,7,16,0,0,2047,2045,1,0,0,0,2047,2048,1,0,0,0,2048,109,1,0,0,0,2049,2051,3,146,73,0,2050,2052,3,112,56,0,2051,2050,1,0,0,0,2052,2053,1,0,0,0,2053,2051,1,0,0,0,2053,2054,1,0,0,0,2054,111,1,0,0,0,2055,2057,3,116,58,0,2056,2058,3,138,69,0,2057,2056,1,0,0,0,2057,2058,1,0,0,0,2058,2059,1,0,0,0,2059,2060,3,100,50,0,2060,2083,1,0,0,0,2061,2065,3,118,59,0,2062,2064,3,194,97,0,2063,2062,1,0,0,0,2064,2067,1,0,0,0,2065,2063,1,0,0,0,2065,2066,1,0,0,0,2066,2069,1,0,0,0,2067,2065,1,0,0,0,2068,2070,3,138,69,0,2069,2068,1,0,0,0,2069,2070,1,0,0,0,2070,2072,1,0,0,0,2071,2073,3,152,76,0,2072,2071,1,0,0,0,2072,2073,1,0,0,0,2073,2075,1,0,0,0,2074,2076,3,140,70,0,2075,2074,1,0,0,0,2075,2076,1,0,0,0,2076,2078,1,0,0,0,2077,2079,3,352,176,0,2078,2077,1,0,0,0,2078,2079,1,0,0,0,2079,2080,1,0,0,0,2080,2081,3,100,50,0,2081,2083,1,0,0,0,2082,2055,1,0,0,0,2082,2061,1,0,0,0,2083,113,1,0,0,0,2084,2086,3,116,58,0,2085,2087,3,146,73,0,2086,2085,1,0,0,0,2086,2087,1,0,0,0,2087,2091,1,0,0,0,2088,2090,3,194,97,0,2089,2088,1,0,0,0,2090,2093,1,0,0,0,2091,2089,1,0,0,0,2091,2092,1,0,0,0,2092,2095,1,0,0,0,2093,2091,1,0,0,0,2094,2096,3,138,69,0,2095,2094,1,0,0,0,2095,2096,1,0,0,0,2096,2098,1,0,0,0,2097,2099,3,152,76,0,2098,2097,1,0,0,0,2098,2099,1,0,0,0,2099,2101,1,0,0,0,2100,2102,3,140,70,0,2101,2100,1,0,0,0,2101,2102,1,0,0,0,2102,2104,1,0,0,0,2103,2105,3,352,176,0,2104,2103,1,0,0,0,2104,2105,1,0,0,0,2105,2129,1,0,0,0,2106,2108,3,118,59,0,2107,2109,3,146,73,0,2108,2107,1,0,0,0,2108,2109,1,0,0,0,2109,2113,1,0,0,0,2110,2112,3,194,97,0,2111,2110,1,0,0,0,2112,2115,1,0,0,0,2113,2111,1,0,0,0,2113,2114,1,0,0,0,2114,2117,1,0,0,0,2115,2113,1,0,0,0,2116,2118,3,138,69,0,2117,2116,1,0,0,0,2117,2118,1,0,0,0,2118,2120,1,0,0,0,2119,2121,3,152,76,0,2120,2119,1,0,0,0,2120,2121,1,0,0,0,2121,2123,1,0,0,0,2122,2124,3,140,70,0,2123,2122,1,0,0,0,2123,2124,1,0,0,0,2124,2126,1,0,0,0,2125,2127,3,352,176,0,2126,2125,1,0,0,0,2126,2127,1,0,0,0,2127,2129,1,0,0,0,2128,2084,1,0,0,0,2128,2106,1,0,0,0,2129,115,1,0,0,0,2130,2131,5,263,0,0,2131,2132,5,314,0,0,2132,2134,5,2,0,0,2133,2135,3,196,98,0,2134,2133,1,0,0,0,2134,2135,1,0,0,0,2135,2136,1,0,0,0,2136,2137,3,274,137,0,2137,2138,5,3,0,0,2138,2150,1,0,0,0,2139,2141,5,177,0,0,2140,2142,3,196,98,0,2141,2140,1,0,0,0,2141,2142,1,0,0,0,2142,2143,1,0,0,0,2143,2150,3,274,137,0,2144,2146,5,238,0,0,2145,2147,3,196,98,0,2146,2145,1,0,0,0,2146,2147,1,0,0,0,2147,2148,1,0,0,0,2148,2150,3,274,137,0,2149,2130,1,0,0,0,2149,2139,1,0,0,0,2149,2144,1,0,0,0,2150,2152,1,0,0,0,2151,2153,3,242,121,0,2152,2151,1,0,0,0,2152,2153,1,0,0,0,2153,2156,1,0,0,0,2154,2155,5,236,0,0,2155,2157,3,388,194,0,2156,2154,1,0,0,0,2156,2157,1,0,0,0,2157,2158,1,0,0,0,2158,2159,5,332,0,0,2159,2172,3,388,194,0,2160,2170,5,20,0,0,2161,2171,3,214,107,0,2162,2171,3,334,167,0,2163,2166,5,2,0,0,2164,2167,3,214,107,0,2165,2167,3,334,167,0,2166,2164,1,0,0,0,2166,2165,1,0,0,0,2167,2168,1,0,0,0,2168,2169,5,3,0,0,2169,2171,1,0,0,0,2170,2161,1,0,0,0,2170,2162,1,0,0,0,2170,2163,1,0,0,0,2171,2173,1,0,0,0,2172,2160,1,0,0,0,2172,2173,1,0,0,0,2173,2175,1,0,0,0,2174,2176,3,242,121,0,2175,2174,1,0,0,0,2175,2176,1,0,0,0,2176,2179,1,0,0,0,2177,2178,5,235,0,0,2178,2180,3,388,194,0,2179,2177,1,0,0,0,2179,2180,1,0,0,0,2180,117,1,0,0,0,2181,2185,5,263,0,0,2182,2184,3,142,71,0,2183,2182,1,0,0,0,2184,2187,1,0,0,0,2185,2183,1,0,0,0,2185,2186,1,0,0,0,2186,2189,1,0,0,0,2187,2185,1,0,0,0,2188,2190,3,196,98,0,2189,2188,1,0,0,0,2189,2190,1,0,0,0,2190,2191,1,0,0,0,2191,2192,3,258,129,0,2192,119,1,0,0,0,2193,2194,5,269,0,0,2194,2195,3,134,67,0,2195,121,1,0,0,0,2196,2197,5,343,0,0,2197,2200,5,178,0,0,2198,2199,5,14,0,0,2199,2201,3,276,138,0,2200,2198,1,0,0,0,2200,2201,1,0,0,0,2201,2202,1,0,0,0,2202,2203,5,300,0,0,2203,2204,3,128,64,0,2204,123,1,0,0,0,2205,2206,5,343,0,0,2206,2207,5,197,0,0,2207,2210,5,178,0,0,2208,2209,5,31,0,0,2209,2211,5,296,0,0,2210,2208,1,0,0,0,2210,2211,1,0,0,0,2211,2214,1,0,0,0,2212,2213,5,14,0,0,2213,2215,3,276,138,0,2214,2212,1,0,0,0,2214,2215,1,0,0,0,2215,2216,1,0,0,0,2216,2217,5,300,0,0,2217,2218,3,130,65,0,2218,125,1,0,0,0,2219,2220,5,343,0,0,2220,2221,5,197,0,0,2221,2222,5,178,0,0,2222,2223,5,31,0,0,2223,2226,5,280,0,0,2224,2225,5,14,0,0,2225,2227,3,276,138,0,2226,2224,1,0,0,0,2226,2227,1,0,0,0,2227,2228,1,0,0,0,2228,2229,5,300,0,0,2229,2230,3,132,66,0,2230,127,1,0,0,0,2231,2239,5,84,0,0,2232,2233,5,329,0,0,2233,2234,5,269,0,0,2234,2239,5,363,0,0,2235,2236,5,329,0,0,2236,2237,5,269,0,0,2237,2239,3,134,67,0,2238,2231,1,0,0,0,2238,2232,1,0,0,0,2238,2235,1,0,0,0,2239,129,1,0,0,0,2240,2241,5,147,0,0,2241,2259,5,363,0,0,2242,2243,5,147,0,0,2243,2244,5,2,0,0,2244,2245,3,244,122,0,2245,2246,5,3,0,0,2246,2247,5,333,0,0,2247,2248,5,2,0,0,2248,2253,3,268,134,0,2249,2250,5,4,0,0,2250,2252,3,268,134,0,2251,2249,1,0,0,0,2252,2255,1,0,0,0,2253,2251,1,0,0,0,2253,2254,1,0,0,0,2254,2256,1,0,0,0,2255,2253,1,0,0,0,2256,2257,5,3,0,0,2257,2259,1,0,0,0,2258,2240,1,0,0,0,2258,2242,1,0,0,0,2259,131,1,0,0,0,2260,2265,5,84,0,0,2261,2262,5,329,0,0,2262,2263,5,269,0,0,2263,2265,3,134,67,0,2264,2260,1,0,0,0,2264,2261,1,0,0,0,2265,133,1,0,0,0,2266,2271,3,136,68,0,2267,2268,5,4,0,0,2268,2270,3,136,68,0,2269,2267,1,0,0,0,2270,2273,1,0,0,0,2271,2269,1,0,0,0,2271,2272,1,0,0,0,2272,135,1,0,0,0,2273,2271,1,0,0,0,2274,2275,3,246,123,0,2275,2276,5,352,0,0,2276,2277,3,268,134,0,2277,137,1,0,0,0,2278,2279,5,344,0,0,2279,2280,3,276,138,0,2280,139,1,0,0,0,2281,2282,5,132,0,0,2282,2283,3,276,138,0,2283,141,1,0,0,0,2284,2285,5,374,0,0,2285,2292,3,144,72,0,2286,2288,5,4,0,0,2287,2286,1,0,0,0,2287,2288,1,0,0,0,2288,2289,1,0,0,0,2289,2291,3,144,72,0,2290,2287,1,0,0,0,2291,2294,1,0,0,0,2292,2290,1,0,0,0,2292,2293,1,0,0,0,2293,2295,1,0,0,0,2294,2292,1,0,0,0,2295,2296,5,375,0,0,2296,143,1,0,0,0,2297,2311,3,376,188,0,2298,2299,3,376,188,0,2299,2300,5,2,0,0,2300,2305,3,284,142,0,2301,2302,5,4,0,0,2302,2304,3,284,142,0,2303,2301,1,0,0,0,2304,2307,1,0,0,0,2305,2303,1,0,0,0,2305,2306,1,0,0,0,2306,2308,1,0,0,0,2307,2305,1,0,0,0,2308,2309,5,3,0,0,2309,2311,1,0,0,0,2310,2297,1,0,0,0,2310,2298,1,0,0,0,2311,145,1,0,0,0,2312,2313,5,123,0,0,2313,2318,3,198,99,0,2314,2315,5,4,0,0,2315,2317,3,198,99,0,2316,2314,1,0,0,0,2317,2320,1,0,0,0,2318,2316,1,0,0,0,2318,2319,1,0,0,0,2319,2324,1,0,0,0,2320,2318,1,0,0,0,2321,2323,3,194,97,0,2322,2321,1,0,0,0,2323,2326,1,0,0,0,2324,2322,1,0,0,0,2324,2325,1,0,0,0,2325,2328,1,0,0,0,2326,2324,1,0,0,0,2327,2329,3,162,81,0,2328,2327,1,0,0,0,2328,2329,1,0,0,0,2329,2331,1,0,0,0,2330,2332,3,168,84,0,2331,2330,1,0,0,0,2331,2332,1,0,0,0,2332,147,1,0,0,0,2333,2334,7,17,0,0,2334,149,1,0,0,0,2335,2337,5,119,0,0,2336,2335,1,0,0,0,2336,2337,1,0,0,0,2337,2338,1,0,0,0,2338,2339,7,18,0,0,2339,2340,5,20,0,0,2340,2341,5,201,0,0,2341,2350,3,392,196,0,2342,2344,5,119,0,0,2343,2342,1,0,0,0,2343,2344,1,0,0,0,2344,2345,1,0,0,0,2345,2346,7,19,0,0,2346,2347,5,20,0,0,2347,2348,5,201,0,0,2348,2350,3,280,140,0,2349,2336,1,0,0,0,2349,2343,1,0,0,0,2350,151,1,0,0,0,2351,2352,5,130,0,0,2352,2353,5,31,0,0,2353,2358,3,154,77,0,2354,2355,5,4,0,0,2355,2357,3,154,77,0,2356,2354,1,0,0,0,2357,2360,1,0,0,0,2358,2356,1,0,0,0,2358,2359,1,0,0,0,2359,2391,1,0,0,0,2360,2358,1,0,0,0,2361,2362,5,130,0,0,2362,2363,5,31,0,0,2363,2368,3,268,134,0,2364,2365,5,4,0,0,2365,2367,3,268,134,0,2366,2364,1,0,0,0,2367,2370,1,0,0,0,2368,2366,1,0,0,0,2368,2369,1,0,0,0,2369,2388,1,0,0,0,2370,2368,1,0,0,0,2371,2372,5,346,0,0,2372,2389,5,256,0,0,2373,2374,5,346,0,0,2374,2389,5,61,0,0,2375,2376,5,131,0,0,2376,2377,5,271,0,0,2377,2378,5,2,0,0,2378,2383,3,160,80,0,2379,2380,5,4,0,0,2380,2382,3,160,80,0,2381,2379,1,0,0,0,2382,2385,1,0,0,0,2383,2381,1,0,0,0,2383,2384,1,0,0,0,2384,2386,1,0,0,0,2385,2383,1,0,0,0,2386,2387,5,3,0,0,2387,2389,1,0,0,0,2388,2371,1,0,0,0,2388,2373,1,0,0,0,2388,2375,1,0,0,0,2388,2389,1,0,0,0,2389,2391,1,0,0,0,2390,2351,1,0,0,0,2390,2361,1,0,0,0,2391,153,1,0,0,0,2392,2396,3,92,46,0,2393,2396,3,156,78,0,2394,2396,3,268,134,0,2395,2392,1,0,0,0,2395,2393,1,0,0,0,2395,2394,1,0,0,0,2396,155,1,0,0,0,2397,2398,7,20,0,0,2398,2399,5,2,0,0,2399,2404,3,160,80,0,2400,2401,5,4,0,0,2401,2403,3,160,80,0,2402,2400,1,0,0,0,2403,2406,1,0,0,0,2404,2402,1,0,0,0,2404,2405,1,0,0,0,2405,2407,1,0,0,0,2406,2404,1,0,0,0,2407,2408,5,3,0,0,2408,2423,1,0,0,0,2409,2410,5,131,0,0,2410,2411,5,271,0,0,2411,2412,5,2,0,0,2412,2417,3,158,79,0,2413,2414,5,4,0,0,2414,2416,3,158,79,0,2415,2413,1,0,0,0,2416,2419,1,0,0,0,2417,2415,1,0,0,0,2417,2418,1,0,0,0,2418,2420,1,0,0,0,2419,2417,1,0,0,0,2420,2421,5,3,0,0,2421,2423,1,0,0,0,2422,2397,1,0,0,0,2422,2409,1,0,0,0,2423,157,1,0,0,0,2424,2427,3,156,78,0,2425,2427,3,160,80,0,2426,2424,1,0,0,0,2426,2425,1,0,0,0,2427,159,1,0,0,0,2428,2449,3,92,46,0,2429,2449,3,268,134,0,2430,2445,5,2,0,0,2431,2434,3,92,46,0,2432,2434,3,268,134,0,2433,2431,1,0,0,0,2433,2432,1,0,0,0,2434,2442,1,0,0,0,2435,2438,5,4,0,0,2436,2439,3,92,46,0,2437,2439,3,268,134,0,2438,2436,1,0,0,0,2438,2437,1,0,0,0,2439,2441,1,0,0,0,2440,2435,1,0,0,0,2441,2444,1,0,0,0,2442,2440,1,0,0,0,2442,2443,1,0,0,0,2443,2446,1,0,0,0,2444,2442,1,0,0,0,2445,2433,1,0,0,0,2445,2446,1,0,0,0,2446,2447,1,0,0,0,2447,2449,5,3,0,0,2448,2428,1,0,0,0,2448,2429,1,0,0,0,2448,2430,1,0,0,0,2449,161,1,0,0,0,2450,2451,5,223,0,0,2451,2452,5,2,0,0,2452,2453,3,258,129,0,2453,2454,5,119,0,0,2454,2455,3,164,82,0,2455,2456,5,140,0,0,2456,2457,5,2,0,0,2457,2462,3,166,83,0,2458,2459,5,4,0,0,2459,2461,3,166,83,0,2460,2458,1,0,0,0,2461,2464,1,0,0,0,2462,2460,1,0,0,0,2462,2463,1,0,0,0,2463,2465,1,0,0,0,2464,2462,1,0,0,0,2465,2466,5,3,0,0,2466,2467,5,3,0,0,2467,163,1,0,0,0,2468,2481,3,376,188,0,2469,2470,5,2,0,0,2470,2475,3,376,188,0,2471,2472,5,4,0,0,2472,2474,3,376,188,0,2473,2471,1,0,0,0,2474,2477,1,0,0,0,2475,2473,1,0,0,0,2475,2476,1,0,0,0,2476,2478,1,0,0,0,2477,2475,1,0,0,0,2478,2479,5,3,0,0,2479,2481,1,0,0,0,2480,2468,1,0,0,0,2480,2469,1,0,0,0,2481,165,1,0,0,0,2482,2487,3,268,134,0,2483,2485,5,20,0,0,2484,2483,1,0,0,0,2484,2485,1,0,0,0,2485,2486,1,0,0,0,2486,2488,3,376,188,0,2487,2484,1,0,0,0,2487,2488,1,0,0,0,2488,167,1,0,0,0,2489,2491,5,327,0,0,2490,2492,3,170,85,0,2491,2490,1,0,0,0,2491,2492,1,0,0,0,2492,2493,1,0,0,0,2493,2494,5,2,0,0,2494,2495,3,172,86,0,2495,2500,5,3,0,0,2496,2498,5,20,0,0,2497,2496,1,0,0,0,2497,2498,1,0,0,0,2498,2499,1,0,0,0,2499,2501,3,376,188,0,2500,2497,1,0,0,0,2500,2501,1,0,0,0,2501,169,1,0,0,0,2502,2503,7,21,0,0,2503,2504,5,199,0,0,2504,171,1,0,0,0,2505,2508,3,174,87,0,2506,2508,3,176,88,0,2507,2505,1,0,0,0,2507,2506,1,0,0,0,2508,173,1,0,0,0,2509,2510,3,180,90,0,2510,2511,5,119,0,0,2511,2512,3,182,91,0,2512,2513,5,140,0,0,2513,2514,5,2,0,0,2514,2519,3,184,92,0,2515,2516,5,4,0,0,2516,2518,3,184,92,0,2517,2515,1,0,0,0,2518,2521,1,0,0,0,2519,2517,1,0,0,0,2519,2520,1,0,0,0,2520,2522,1,0,0,0,2521,2519,1,0,0,0,2522,2523,5,3,0,0,2523,175,1,0,0,0,2524,2525,5,2,0,0,2525,2530,3,180,90,0,2526,2527,5,4,0,0,2527,2529,3,180,90,0,2528,2526,1,0,0,0,2529,2532,1,0,0,0,2530,2528,1,0,0,0,2530,2531,1,0,0,0,2531,2533,1,0,0,0,2532,2530,1,0,0,0,2533,2534,5,3,0,0,2534,2535,5,119,0,0,2535,2536,3,182,91,0,2536,2537,5,140,0,0,2537,2538,5,2,0,0,2538,2543,3,178,89,0,2539,2540,5,4,0,0,2540,2542,3,178,89,0,2541,2539,1,0,0,0,2542,2545,1,0,0,0,2543,2541,1,0,0,0,2543,2544,1,0,0,0,2544,2546,1,0,0,0,2545,2543,1,0,0,0,2546,2547,5,3,0,0,2547,177,1,0,0,0,2548,2549,5,2,0,0,2549,2554,3,186,93,0,2550,2551,5,4,0,0,2551,2553,3,186,93,0,2552,2550,1,0,0,0,2553,2556,1,0,0,0,2554,2552,1,0,0,0,2554,2555,1,0,0,0,2555,2557,1,0,0,0,2556,2554,1,0,0,0,2557,2559,5,3,0,0,2558,2560,3,188,94,0,2559,2558,1,0,0,0,2559,2560,1,0,0,0,2560,179,1,0,0,0,2561,2562,3,376,188,0,2562,181,1,0,0,0,2563,2564,3,376,188,0,2564,183,1,0,0,0,2565,2567,3,186,93,0,2566,2568,3,188,94,0,2567,2566,1,0,0,0,2567,2568,1,0,0,0,2568,185,1,0,0,0,2569,2570,3,246,123,0,2570,187,1,0,0,0,2571,2573,5,20,0,0,2572,2571,1,0,0,0,2572,2573,1,0,0,0,2573,2574,1,0,0,0,2574,2575,3,376,188,0,2575,189,1,0,0,0,2576,2577,5,137,0,0,2577,2578,5,197,0,0,2578,2579,5,105,0,0,2579,191,1,0,0,0,2580,2581,5,137,0,0,2581,2582,5,105,0,0,2582,193,1,0,0,0,2583,2584,5,158,0,0,2584,2586,5,338,0,0,2585,2587,5,211,0,0,2586,2585,1,0,0,0,2586,2587,1,0,0,0,2587,2588,1,0,0,0,2588,2589,3,90,45,0,2589,2598,5,2,0,0,2590,2595,3,268,134,0,2591,2592,5,4,0,0,2592,2594,3,268,134,0,2593,2591,1,0,0,0,2594,2597,1,0,0,0,2595,2593,1,0,0,0,2595,2596,1,0,0,0,2596,2599,1,0,0,0,2597,2595,1,0,0,0,2598,2590,1,0,0,0,2598,2599,1,0,0,0,2599,2600,1,0,0,0,2600,2601,5,3,0,0,2601,2613,3,240,120,0,2602,2604,5,20,0,0,2603,2602,1,0,0,0,2603,2604,1,0,0,0,2604,2605,1,0,0,0,2605,2610,3,376,188,0,2606,2607,5,4,0,0,2607,2609,3,376,188,0,2608,2606,1,0,0,0,2609,2612,1,0,0,0,2610,2608,1,0,0,0,2610,2611,1,0,0,0,2611,2614,1,0,0,0,2612,2610,1,0,0,0,2613,2603,1,0,0,0,2613,2614,1,0,0,0,2614,195,1,0,0,0,2615,2616,7,22,0,0,2616,197,1,0,0,0,2617,2629,3,86,43,0,2618,2620,5,158,0,0,2619,2618,1,0,0,0,2619,2620,1,0,0,0,2620,2621,1,0,0,0,2621,2625,3,224,112,0,2622,2624,3,200,100,0,2623,2622,1,0,0,0,2624,2627,1,0,0,0,2625,2623,1,0,0,0,2625,2626,1,0,0,0,2626,2629,1,0,0,0,2627,2625,1,0,0,0,2628,2617,1,0,0,0,2628,2619,1,0,0,0,2629,199,1,0,0,0,2630,2634,3,202,101,0,2631,2634,3,162,81,0,2632,2634,3,168,84,0,2633,2630,1,0,0,0,2633,2631,1,0,0,0,2633,2632,1,0,0,0,2634,201,1,0,0,0,2635,2636,3,204,102,0,2636,2638,5,155,0,0,2637,2639,5,158,0,0,2638,2637,1,0,0,0,2638,2639,1,0,0,0,2639,2640,1,0,0,0,2640,2642,3,224,112,0,2641,2643,3,206,103,0,2642,2641,1,0,0,0,2642,2643,1,0,0,0,2643,2653,1,0,0,0,2644,2645,5,194,0,0,2645,2646,3,204,102,0,2646,2648,5,155,0,0,2647,2649,5,158,0,0,2648,2647,1,0,0,0,2648,2649,1,0,0,0,2649,2650,1,0,0,0,2650,2651,3,224,112,0,2651,2653,1,0,0,0,2652,2635,1,0,0,0,2652,2644,1,0,0,0,2653,203,1,0,0,0,2654,2656,5,144,0,0,2655,2654,1,0,0,0,2655,2656,1,0,0,0,2656,2679,1,0,0,0,2657,2679,5,60,0,0,2658,2660,5,161,0,0,2659,2661,5,211,0,0,2660,2659,1,0,0,0,2660,2661,1,0,0,0,2661,2679,1,0,0,0,2662,2664,5,161,0,0,2663,2662,1,0,0,0,2663,2664,1,0,0,0,2664,2665,1,0,0,0,2665,2679,5,264,0,0,2666,2668,5,250,0,0,2667,2669,5,211,0,0,2668,2667,1,0,0,0,2668,2669,1,0,0,0,2669,2679,1,0,0,0,2670,2672,5,124,0,0,2671,2673,5,211,0,0,2672,2671,1,0,0,0,2672,2673,1,0,0,0,2673,2679,1,0,0,0,2674,2676,5,161,0,0,2675,2674,1,0,0,0,2675,2676,1,0,0,0,2676,2677,1,0,0,0,2677,2679,5,15,0,0,2678,2655,1,0,0,0,2678,2657,1,0,0,0,2678,2658,1,0,0,0,2678,2663,1,0,0,0,2678,2666,1,0,0,0,2678,2670,1,0,0,0,2678,2675,1,0,0,0,2679,205,1,0,0,0,2680,2681,5,203,0,0,2681,2685,3,276,138,0,2682,2683,5,332,0,0,2683,2685,3,212,106,0,2684,2680,1,0,0,0,2684,2682,1,0,0,0,2685,207,1,0,0,0,2686,2687,5,295,0,0,2687,2689,5,2,0,0,2688,2690,3,210,105,0,2689,2688,1,0,0,0,2689,2690,1,0,0,0,2690,2691,1,0,0,0,2691,2696,5,3,0,0,2692,2693,5,243,0,0,2693,2694,5,2,0,0,2694,2695,5,382,0,0,2695,2697,5,3,0,0,2696,2692,1,0,0,0,2696,2697,1,0,0,0,2697,209,1,0,0,0,2698,2700,5,362,0,0,2699,2698,1,0,0,0,2699,2700,1,0,0,0,2700,2701,1,0,0,0,2701,2702,7,23,0,0,2702,2723,5,222,0,0,2703,2704,3,268,134,0,2704,2705,5,258,0,0,2705,2723,1,0,0,0,2706,2707,5,29,0,0,2707,2708,5,382,0,0,2708,2709,5,210,0,0,2709,2710,5,201,0,0,2710,2719,5,382,0,0,2711,2717,5,203,0,0,2712,2718,3,376,188,0,2713,2714,3,370,185,0,2714,2715,5,2,0,0,2715,2716,5,3,0,0,2716,2718,1,0,0,0,2717,2712,1,0,0,0,2717,2713,1,0,0,0,2718,2720,1,0,0,0,2719,2711,1,0,0,0,2719,2720,1,0,0,0,2720,2723,1,0,0,0,2721,2723,3,268,134,0,2722,2699,1,0,0,0,2722,2703,1,0,0,0,2722,2706,1,0,0,0,2722,2721,1,0,0,0,2723,211,1,0,0,0,2724,2725,5,2,0,0,2725,2726,3,214,107,0,2726,2727,5,3,0,0,2727,213,1,0,0,0,2728,2733,3,372,186,0,2729,2730,5,4,0,0,2730,2732,3,372,186,0,2731,2729,1,0,0,0,2732,2735,1,0,0,0,2733,2731,1,0,0,0,2733,2734,1,0,0,0,2734,215,1,0,0,0,2735,2733,1,0,0,0,2736,2737,5,2,0,0,2737,2742,3,218,109,0,2738,2739,5,4,0,0,2739,2741,3,218,109,0,2740,2738,1,0,0,0,2741,2744,1,0,0,0,2742,2740,1,0,0,0,2742,2743,1,0,0,0,2743,2745,1,0,0,0,2744,2742,1,0,0,0,2745,2746,5,3,0,0,2746,217,1,0,0,0,2747,2749,3,372,186,0,2748,2750,7,15,0,0,2749,2748,1,0,0,0,2749,2750,1,0,0,0,2750,219,1,0,0,0,2751,2752,5,2,0,0,2752,2757,3,222,111,0,2753,2754,5,4,0,0,2754,2756,3,222,111,0,2755,2753,1,0,0,0,2756,2759,1,0,0,0,2757,2755,1,0,0,0,2757,2758,1,0,0,0,2758,2760,1,0,0,0,2759,2757,1,0,0,0,2760,2761,5,3,0,0,2761,221,1,0,0,0,2762,2764,3,96,48,0,2763,2765,3,24,12,0,2764,2763,1,0,0,0,2764,2765,1,0,0,0,2765,223,1,0,0,0,2766,2770,3,86,43,0,2767,2770,3,90,45,0,2768,2770,3,98,49,0,2769,2766,1,0,0,0,2769,2767,1,0,0,0,2769,2768,1,0,0,0,2770,2772,1,0,0,0,2771,2773,3,150,75,0,2772,2771,1,0,0,0,2772,2773,1,0,0,0,2773,2775,1,0,0,0,2774,2776,3,208,104,0,2775,2774,1,0,0,0,2775,2776,1,0,0,0,2776,2777,1,0,0,0,2777,2778,3,240,120,0,2778,2798,1,0,0,0,2779,2780,5,2,0,0,2780,2781,3,26,13,0,2781,2783,5,3,0,0,2782,2784,3,208,104,0,2783,2782,1,0,0,0,2783,2784,1,0,0,0,2784,2785,1,0,0,0,2785,2786,3,240,120,0,2786,2798,1,0,0,0,2787,2788,5,2,0,0,2788,2789,3,198,99,0,2789,2791,5,3,0,0,2790,2792,3,208,104,0,2791,2790,1,0,0,0,2791,2792,1,0,0,0,2792,2793,1,0,0,0,2793,2794,3,240,120,0,2794,2798,1,0,0,0,2795,2798,3,226,113,0,2796,2798,3,238,119,0,2797,2769,1,0,0,0,2797,2779,1,0,0,0,2797,2787,1,0,0,0,2797,2795,1,0,0,0,2797,2796,1,0,0,0,2798,225,1,0,0,0,2799,2800,5,333,0,0,2800,2805,3,268,134,0,2801,2802,5,4,0,0,2802,2804,3,268,134,0,2803,2801,1,0,0,0,2804,2807,1,0,0,0,2805,2803,1,0,0,0,2805,2806,1,0,0,0,2806,2808,1,0,0,0,2807,2805,1,0,0,0,2808,2809,3,240,120,0,2809,227,1,0,0,0,2810,2811,5,293,0,0,2811,2813,3,86,43,0,2812,2814,3,230,115,0,2813,2812,1,0,0,0,2813,2814,1,0,0,0,2814,2830,1,0,0,0,2815,2816,5,293,0,0,2816,2817,5,2,0,0,2817,2818,3,86,43,0,2818,2820,5,3,0,0,2819,2821,3,230,115,0,2820,2819,1,0,0,0,2820,2821,1,0,0,0,2821,2830,1,0,0,0,2822,2823,5,293,0,0,2823,2824,5,2,0,0,2824,2825,3,26,13,0,2825,2827,5,3,0,0,2826,2828,3,230,115,0,2827,2826,1,0,0,0,2827,2828,1,0,0,0,2828,2830,1,0,0,0,2829,2810,1,0,0,0,2829,2815,1,0,0,0,2829,2822,1,0,0,0,2830,229,1,0,0,0,2831,2832,5,346,0,0,2832,2833,5,274,0,0,2833,2851,5,217,0,0,2834,2835,7,24,0,0,2835,2848,5,31,0,0,2836,2837,5,2,0,0,2837,2842,3,268,134,0,2838,2839,5,4,0,0,2839,2841,3,268,134,0,2840,2838,1,0,0,0,2841,2844,1,0,0,0,2842,2840,1,0,0,0,2842,2843,1,0,0,0,2843,2845,1,0,0,0,2844,2842,1,0,0,0,2845,2846,5,3,0,0,2846,2849,1,0,0,0,2847,2849,3,268,134,0,2848,2836,1,0,0,0,2848,2847,1,0,0,0,2849,2851,1,0,0,0,2850,2831,1,0,0,0,2850,2834,1,0,0,0,2851,2868,1,0,0,0,2852,2853,7,25,0,0,2853,2866,5,31,0,0,2854,2855,5,2,0,0,2855,2860,3,108,54,0,2856,2857,5,4,0,0,2857,2859,3,108,54,0,2858,2856,1,0,0,0,2859,2862,1,0,0,0,2860,2858,1,0,0,0,2860,2861,1,0,0,0,2861,2863,1,0,0,0,2862,2860,1,0,0,0,2863,2864,5,3,0,0,2864,2867,1,0,0,0,2865,2867,3,108,54,0,2866,2854,1,0,0,0,2866,2865,1,0,0,0,2867,2869,1,0,0,0,2868,2852,1,0,0,0,2868,2869,1,0,0,0,2869,231,1,0,0,0,2870,2871,3,376,188,0,2871,2872,5,373,0,0,2872,2873,3,228,114,0,2873,233,1,0,0,0,2874,2877,3,228,114,0,2875,2877,3,232,116,0,2876,2874,1,0,0,0,2876,2875,1,0,0,0,2877,235,1,0,0,0,2878,2881,3,234,117,0,2879,2881,3,272,136,0,2880,2878,1,0,0,0,2880,2879,1,0,0,0,2881,237,1,0,0,0,2882,2883,3,366,183,0,2883,2892,5,2,0,0,2884,2889,3,236,118,0,2885,2886,5,4,0,0,2886,2888,3,236,118,0,2887,2885,1,0,0,0,2888,2891,1,0,0,0,2889,2887,1,0,0,0,2889,2890,1,0,0,0,2890,2893,1,0,0,0,2891,2889,1,0,0,0,2892,2884,1,0,0,0,2892,2893,1,0,0,0,2893,2894,1,0,0,0,2894,2895,5,3,0,0,2895,2896,3,240,120,0,2896,239,1,0,0,0,2897,2899,5,20,0,0,2898,2897,1,0,0,0,2898,2899,1,0,0,0,2899,2900,1,0,0,0,2900,2902,3,378,189,0,2901,2903,3,212,106,0,2902,2901,1,0,0,0,2902,2903,1,0,0,0,2903,2905,1,0,0,0,2904,2898,1,0,0,0,2904,2905,1,0,0,0,2905,241,1,0,0,0,2906,2907,5,257,0,0,2907,2908,5,121,0,0,2908,2909,5,266,0,0,2909,2913,3,388,194,0,2910,2911,5,346,0,0,2911,2912,5,267,0,0,2912,2914,3,54,27,0,2913,2910,1,0,0,0,2913,2914,1,0,0,0,2914,2956,1,0,0,0,2915,2916,5,257,0,0,2916,2917,5,121,0,0,2917,2927,5,85,0,0,2918,2919,5,113,0,0,2919,2920,5,299,0,0,2920,2921,5,31,0,0,2921,2925,3,388,194,0,2922,2923,5,101,0,0,2923,2924,5,31,0,0,2924,2926,3,388,194,0,2925,2922,1,0,0,0,2925,2926,1,0,0,0,2926,2928,1,0,0,0,2927,2918,1,0,0,0,2927,2928,1,0,0,0,2928,2934,1,0,0,0,2929,2930,5,48,0,0,2930,2931,5,154,0,0,2931,2932,5,299,0,0,2932,2933,5,31,0,0,2933,2935,3,388,194,0,2934,2929,1,0,0,0,2934,2935,1,0,0,0,2935,2941,1,0,0,0,2936,2937,5,177,0,0,2937,2938,5,156,0,0,2938,2939,5,299,0,0,2939,2940,5,31,0,0,2940,2942,3,388,194,0,2941,2936,1,0,0,0,2941,2942,1,0,0,0,2942,2947,1,0,0,0,2943,2944,5,166,0,0,2944,2945,5,299,0,0,2945,2946,5,31,0,0,2946,2948,3,388,194,0,2947,2943,1,0,0,0,2947,2948,1,0,0,0,2948,2953,1,0,0,0,2949,2950,5,198,0,0,2950,2951,5,83,0,0,2951,2952,5,20,0,0,2952,2954,3,388,194,0,2953,2949,1,0,0,0,2953,2954,1,0,0,0,2954,2956,1,0,0,0,2955,2906,1,0,0,0,2955,2915,1,0,0,0,2956,243,1,0,0,0,2957,2962,3,246,123,0,2958,2959,5,4,0,0,2959,2961,3,246,123,0,2960,2958,1,0,0,0,2961,2964,1,0,0,0,2962,2960,1,0,0,0,2962,2963,1,0,0,0,2963,245,1,0,0,0,2964,2962,1,0,0,0,2965,2970,3,372,186,0,2966,2967,5,5,0,0,2967,2969,3,372,186,0,2968,2966,1,0,0,0,2969,2972,1,0,0,0,2970,2968,1,0,0,0,2970,2971,1,0,0,0,2971,247,1,0,0,0,2972,2970,1,0,0,0,2973,2978,3,250,125,0,2974,2975,5,4,0,0,2975,2977,3,250,125,0,2976,2974,1,0,0,0,2977,2980,1,0,0,0,2978,2976,1,0,0,0,2978,2979,1,0,0,0,2979,249,1,0,0,0,2980,2978,1,0,0,0,2981,2984,3,246,123,0,2982,2983,5,207,0,0,2983,2985,3,54,27,0,2984,2982,1,0,0,0,2984,2985,1,0,0,0,2985,251,1,0,0,0,2986,2987,3,372,186,0,2987,2988,5,5,0,0,2988,2990,1,0,0,0,2989,2986,1,0,0,0,2989,2990,1,0,0,0,2990,2991,1,0,0,0,2991,2992,3,372,186,0,2992,253,1,0,0,0,2993,2994,3,372,186,0,2994,2995,5,5,0,0,2995,2997,1,0,0,0,2996,2993,1,0,0,0,2996,2997,1,0,0,0,2997,2998,1,0,0,0,2998,2999,3,372,186,0,2999,255,1,0,0,0,3e3,3003,3,92,46,0,3001,3003,3,268,134,0,3002,3e3,1,0,0,0,3002,3001,1,0,0,0,3003,3011,1,0,0,0,3004,3006,5,20,0,0,3005,3004,1,0,0,0,3005,3006,1,0,0,0,3006,3009,1,0,0,0,3007,3010,3,372,186,0,3008,3010,3,212,106,0,3009,3007,1,0,0,0,3009,3008,1,0,0,0,3010,3012,1,0,0,0,3011,3005,1,0,0,0,3011,3012,1,0,0,0,3012,257,1,0,0,0,3013,3018,3,256,128,0,3014,3015,5,4,0,0,3015,3017,3,256,128,0,3016,3014,1,0,0,0,3017,3020,1,0,0,0,3018,3016,1,0,0,0,3018,3019,1,0,0,0,3019,259,1,0,0,0,3020,3018,1,0,0,0,3021,3022,5,2,0,0,3022,3027,3,262,131,0,3023,3024,5,4,0,0,3024,3026,3,262,131,0,3025,3023,1,0,0,0,3026,3029,1,0,0,0,3027,3025,1,0,0,0,3027,3028,1,0,0,0,3028,3030,1,0,0,0,3029,3027,1,0,0,0,3030,3031,5,3,0,0,3031,261,1,0,0,0,3032,3035,3,264,132,0,3033,3035,3,336,168,0,3034,3032,1,0,0,0,3034,3033,1,0,0,0,3035,263,1,0,0,0,3036,3050,3,370,185,0,3037,3038,3,376,188,0,3038,3039,5,2,0,0,3039,3044,3,266,133,0,3040,3041,5,4,0,0,3041,3043,3,266,133,0,3042,3040,1,0,0,0,3043,3046,1,0,0,0,3044,3042,1,0,0,0,3044,3045,1,0,0,0,3045,3047,1,0,0,0,3046,3044,1,0,0,0,3047,3048,5,3,0,0,3048,3050,1,0,0,0,3049,3036,1,0,0,0,3049,3037,1,0,0,0,3050,265,1,0,0,0,3051,3054,3,370,185,0,3052,3054,3,288,144,0,3053,3051,1,0,0,0,3053,3052,1,0,0,0,3054,267,1,0,0,0,3055,3056,3,276,138,0,3056,269,1,0,0,0,3057,3058,3,376,188,0,3058,3059,5,373,0,0,3059,3060,3,268,134,0,3060,271,1,0,0,0,3061,3064,3,268,134,0,3062,3064,3,270,135,0,3063,3061,1,0,0,0,3063,3062,1,0,0,0,3064,273,1,0,0,0,3065,3070,3,268,134,0,3066,3067,5,4,0,0,3067,3069,3,268,134,0,3068,3066,1,0,0,0,3069,3072,1,0,0,0,3070,3068,1,0,0,0,3070,3071,1,0,0,0,3071,275,1,0,0,0,3072,3070,1,0,0,0,3073,3074,6,138,-1,0,3074,3075,7,26,0,0,3075,3086,3,276,138,5,3076,3077,5,105,0,0,3077,3078,5,2,0,0,3078,3079,3,26,13,0,3079,3080,5,3,0,0,3080,3086,1,0,0,0,3081,3083,3,280,140,0,3082,3084,3,278,139,0,3083,3082,1,0,0,0,3083,3084,1,0,0,0,3084,3086,1,0,0,0,3085,3073,1,0,0,0,3085,3076,1,0,0,0,3085,3081,1,0,0,0,3086,3095,1,0,0,0,3087,3088,10,2,0,0,3088,3089,5,14,0,0,3089,3094,3,276,138,3,3090,3091,10,1,0,0,3091,3092,5,208,0,0,3092,3094,3,276,138,2,3093,3087,1,0,0,0,3093,3090,1,0,0,0,3094,3097,1,0,0,0,3095,3093,1,0,0,0,3095,3096,1,0,0,0,3096,277,1,0,0,0,3097,3095,1,0,0,0,3098,3100,5,197,0,0,3099,3098,1,0,0,0,3099,3100,1,0,0,0,3100,3101,1,0,0,0,3101,3102,5,24,0,0,3102,3103,3,280,140,0,3103,3104,5,14,0,0,3104,3105,3,280,140,0,3105,3181,1,0,0,0,3106,3108,5,197,0,0,3107,3106,1,0,0,0,3107,3108,1,0,0,0,3108,3109,1,0,0,0,3109,3110,5,140,0,0,3110,3111,5,2,0,0,3111,3116,3,268,134,0,3112,3113,5,4,0,0,3113,3115,3,268,134,0,3114,3112,1,0,0,0,3115,3118,1,0,0,0,3116,3114,1,0,0,0,3116,3117,1,0,0,0,3117,3119,1,0,0,0,3118,3116,1,0,0,0,3119,3120,5,3,0,0,3120,3181,1,0,0,0,3121,3123,5,197,0,0,3122,3121,1,0,0,0,3122,3123,1,0,0,0,3123,3124,1,0,0,0,3124,3125,5,140,0,0,3125,3126,5,2,0,0,3126,3127,3,26,13,0,3127,3128,5,3,0,0,3128,3181,1,0,0,0,3129,3131,5,197,0,0,3130,3129,1,0,0,0,3130,3131,1,0,0,0,3131,3132,1,0,0,0,3132,3133,7,27,0,0,3133,3181,3,280,140,0,3134,3136,5,197,0,0,3135,3134,1,0,0,0,3135,3136,1,0,0,0,3136,3137,1,0,0,0,3137,3138,7,28,0,0,3138,3152,7,29,0,0,3139,3140,5,2,0,0,3140,3153,5,3,0,0,3141,3142,5,2,0,0,3142,3147,3,268,134,0,3143,3144,5,4,0,0,3144,3146,3,268,134,0,3145,3143,1,0,0,0,3146,3149,1,0,0,0,3147,3145,1,0,0,0,3147,3148,1,0,0,0,3148,3150,1,0,0,0,3149,3147,1,0,0,0,3150,3151,5,3,0,0,3151,3153,1,0,0,0,3152,3139,1,0,0,0,3152,3141,1,0,0,0,3153,3181,1,0,0,0,3154,3156,5,197,0,0,3155,3154,1,0,0,0,3155,3156,1,0,0,0,3156,3157,1,0,0,0,3157,3158,7,28,0,0,3158,3161,3,280,140,0,3159,3160,5,100,0,0,3160,3162,3,388,194,0,3161,3159,1,0,0,0,3161,3162,1,0,0,0,3162,3181,1,0,0,0,3163,3165,5,153,0,0,3164,3166,5,197,0,0,3165,3164,1,0,0,0,3165,3166,1,0,0,0,3166,3167,1,0,0,0,3167,3181,5,198,0,0,3168,3170,5,153,0,0,3169,3171,5,197,0,0,3170,3169,1,0,0,0,3170,3171,1,0,0,0,3171,3172,1,0,0,0,3172,3181,7,30,0,0,3173,3175,5,153,0,0,3174,3176,5,197,0,0,3175,3174,1,0,0,0,3175,3176,1,0,0,0,3176,3177,1,0,0,0,3177,3178,5,92,0,0,3178,3179,5,123,0,0,3179,3181,3,280,140,0,3180,3099,1,0,0,0,3180,3107,1,0,0,0,3180,3122,1,0,0,0,3180,3130,1,0,0,0,3180,3135,1,0,0,0,3180,3155,1,0,0,0,3180,3163,1,0,0,0,3180,3168,1,0,0,0,3180,3173,1,0,0,0,3181,279,1,0,0,0,3182,3183,6,140,-1,0,3183,3187,3,284,142,0,3184,3185,7,31,0,0,3185,3187,3,280,140,7,3186,3182,1,0,0,0,3186,3184,1,0,0,0,3187,3209,1,0,0,0,3188,3189,10,6,0,0,3189,3190,7,32,0,0,3190,3208,3,280,140,7,3191,3192,10,5,0,0,3192,3193,7,33,0,0,3193,3208,3,280,140,6,3194,3195,10,4,0,0,3195,3196,5,367,0,0,3196,3208,3,280,140,5,3197,3198,10,3,0,0,3198,3199,5,370,0,0,3199,3208,3,280,140,4,3200,3201,10,2,0,0,3201,3202,5,368,0,0,3202,3208,3,280,140,3,3203,3204,10,1,0,0,3204,3205,3,290,145,0,3205,3206,3,280,140,2,3206,3208,1,0,0,0,3207,3188,1,0,0,0,3207,3191,1,0,0,0,3207,3194,1,0,0,0,3207,3197,1,0,0,0,3207,3200,1,0,0,0,3207,3203,1,0,0,0,3208,3211,1,0,0,0,3209,3207,1,0,0,0,3209,3210,1,0,0,0,3210,281,1,0,0,0,3211,3209,1,0,0,0,3212,3213,7,34,0,0,3213,283,1,0,0,0,3214,3215,6,142,-1,0,3215,3464,7,35,0,0,3216,3217,7,36,0,0,3217,3220,5,2,0,0,3218,3221,3,282,141,0,3219,3221,3,388,194,0,3220,3218,1,0,0,0,3220,3219,1,0,0,0,3221,3222,1,0,0,0,3222,3223,5,4,0,0,3223,3224,3,280,140,0,3224,3225,5,4,0,0,3225,3226,3,280,140,0,3226,3227,5,3,0,0,3227,3464,1,0,0,0,3228,3229,7,37,0,0,3229,3232,5,2,0,0,3230,3233,3,282,141,0,3231,3233,3,388,194,0,3232,3230,1,0,0,0,3232,3231,1,0,0,0,3233,3234,1,0,0,0,3234,3235,5,4,0,0,3235,3236,3,280,140,0,3236,3237,5,4,0,0,3237,3238,3,280,140,0,3238,3239,5,3,0,0,3239,3464,1,0,0,0,3240,3242,5,35,0,0,3241,3243,3,350,175,0,3242,3241,1,0,0,0,3243,3244,1,0,0,0,3244,3242,1,0,0,0,3244,3245,1,0,0,0,3245,3248,1,0,0,0,3246,3247,5,97,0,0,3247,3249,3,268,134,0,3248,3246,1,0,0,0,3248,3249,1,0,0,0,3249,3250,1,0,0,0,3250,3251,5,99,0,0,3251,3464,1,0,0,0,3252,3253,5,35,0,0,3253,3255,3,268,134,0,3254,3256,3,350,175,0,3255,3254,1,0,0,0,3256,3257,1,0,0,0,3257,3255,1,0,0,0,3257,3258,1,0,0,0,3258,3261,1,0,0,0,3259,3260,5,97,0,0,3260,3262,3,268,134,0,3261,3259,1,0,0,0,3261,3262,1,0,0,0,3262,3263,1,0,0,0,3263,3264,5,99,0,0,3264,3464,1,0,0,0,3265,3266,7,38,0,0,3266,3267,5,2,0,0,3267,3268,3,268,134,0,3268,3269,5,20,0,0,3269,3270,3,318,159,0,3270,3271,5,3,0,0,3271,3464,1,0,0,0,3272,3273,5,286,0,0,3273,3282,5,2,0,0,3274,3279,3,256,128,0,3275,3276,5,4,0,0,3276,3278,3,256,128,0,3277,3275,1,0,0,0,3278,3281,1,0,0,0,3279,3277,1,0,0,0,3279,3280,1,0,0,0,3280,3283,1,0,0,0,3281,3279,1,0,0,0,3282,3274,1,0,0,0,3282,3283,1,0,0,0,3283,3284,1,0,0,0,3284,3464,5,3,0,0,3285,3286,5,116,0,0,3286,3287,5,2,0,0,3287,3290,3,268,134,0,3288,3289,5,138,0,0,3289,3291,5,199,0,0,3290,3288,1,0,0,0,3290,3291,1,0,0,0,3291,3292,1,0,0,0,3292,3293,5,3,0,0,3293,3464,1,0,0,0,3294,3295,5,17,0,0,3295,3296,5,2,0,0,3296,3299,3,268,134,0,3297,3298,5,138,0,0,3298,3300,5,199,0,0,3299,3297,1,0,0,0,3299,3300,1,0,0,0,3300,3301,1,0,0,0,3301,3302,5,3,0,0,3302,3464,1,0,0,0,3303,3304,5,157,0,0,3304,3305,5,2,0,0,3305,3308,3,268,134,0,3306,3307,5,138,0,0,3307,3309,5,199,0,0,3308,3306,1,0,0,0,3308,3309,1,0,0,0,3309,3310,1,0,0,0,3310,3311,5,3,0,0,3311,3464,1,0,0,0,3312,3313,5,225,0,0,3313,3314,5,2,0,0,3314,3315,3,280,140,0,3315,3316,5,140,0,0,3316,3317,3,280,140,0,3317,3318,5,3,0,0,3318,3464,1,0,0,0,3319,3464,3,288,144,0,3320,3464,5,363,0,0,3321,3322,3,370,185,0,3322,3323,5,5,0,0,3323,3324,5,363,0,0,3324,3464,1,0,0,0,3325,3326,5,2,0,0,3326,3329,3,256,128,0,3327,3328,5,4,0,0,3328,3330,3,256,128,0,3329,3327,1,0,0,0,3330,3331,1,0,0,0,3331,3329,1,0,0,0,3331,3332,1,0,0,0,3332,3333,1,0,0,0,3333,3334,5,3,0,0,3334,3464,1,0,0,0,3335,3336,5,2,0,0,3336,3337,3,26,13,0,3337,3338,5,3,0,0,3338,3464,1,0,0,0,3339,3340,5,136,0,0,3340,3341,5,2,0,0,3341,3342,3,268,134,0,3342,3343,5,3,0,0,3343,3464,1,0,0,0,3344,3345,3,366,183,0,3345,3357,5,2,0,0,3346,3348,3,196,98,0,3347,3346,1,0,0,0,3347,3348,1,0,0,0,3348,3349,1,0,0,0,3349,3354,3,272,136,0,3350,3351,5,4,0,0,3351,3353,3,272,136,0,3352,3350,1,0,0,0,3353,3356,1,0,0,0,3354,3352,1,0,0,0,3354,3355,1,0,0,0,3355,3358,1,0,0,0,3356,3354,1,0,0,0,3357,3347,1,0,0,0,3357,3358,1,0,0,0,3358,3359,1,0,0,0,3359,3366,5,3,0,0,3360,3361,5,114,0,0,3361,3362,5,2,0,0,3362,3363,5,344,0,0,3363,3364,3,276,138,0,3364,3365,5,3,0,0,3365,3367,1,0,0,0,3366,3360,1,0,0,0,3366,3367,1,0,0,0,3367,3370,1,0,0,0,3368,3369,7,39,0,0,3369,3371,5,199,0,0,3370,3368,1,0,0,0,3370,3371,1,0,0,0,3371,3374,1,0,0,0,3372,3373,5,213,0,0,3373,3375,3,358,179,0,3374,3372,1,0,0,0,3374,3375,1,0,0,0,3375,3464,1,0,0,0,3376,3377,3,376,188,0,3377,3378,5,372,0,0,3378,3379,3,268,134,0,3379,3464,1,0,0,0,3380,3381,5,2,0,0,3381,3384,3,376,188,0,3382,3383,5,4,0,0,3383,3385,3,376,188,0,3384,3382,1,0,0,0,3385,3386,1,0,0,0,3386,3384,1,0,0,0,3386,3387,1,0,0,0,3387,3388,1,0,0,0,3388,3389,5,3,0,0,3389,3390,5,372,0,0,3390,3391,3,268,134,0,3391,3464,1,0,0,0,3392,3464,3,376,188,0,3393,3394,5,2,0,0,3394,3395,3,268,134,0,3395,3396,5,3,0,0,3396,3464,1,0,0,0,3397,3398,5,110,0,0,3398,3399,5,2,0,0,3399,3400,3,376,188,0,3400,3401,5,123,0,0,3401,3402,3,280,140,0,3402,3403,5,3,0,0,3403,3464,1,0,0,0,3404,3405,7,40,0,0,3405,3406,5,2,0,0,3406,3407,3,280,140,0,3407,3408,7,41,0,0,3408,3411,3,280,140,0,3409,3410,7,42,0,0,3410,3412,3,280,140,0,3411,3409,1,0,0,0,3411,3412,1,0,0,0,3412,3413,1,0,0,0,3413,3414,5,3,0,0,3414,3464,1,0,0,0,3415,3416,5,315,0,0,3416,3418,5,2,0,0,3417,3419,7,43,0,0,3418,3417,1,0,0,0,3418,3419,1,0,0,0,3419,3421,1,0,0,0,3420,3422,3,280,140,0,3421,3420,1,0,0,0,3421,3422,1,0,0,0,3422,3423,1,0,0,0,3423,3424,5,123,0,0,3424,3425,3,280,140,0,3425,3426,5,3,0,0,3426,3464,1,0,0,0,3427,3428,5,215,0,0,3428,3429,5,2,0,0,3429,3430,3,280,140,0,3430,3431,5,224,0,0,3431,3432,3,280,140,0,3432,3433,5,123,0,0,3433,3436,3,280,140,0,3434,3435,5,119,0,0,3435,3437,3,280,140,0,3436,3434,1,0,0,0,3436,3437,1,0,0,0,3437,3438,1,0,0,0,3438,3439,5,3,0,0,3439,3464,1,0,0,0,3440,3441,7,44,0,0,3441,3442,5,2,0,0,3442,3443,3,280,140,0,3443,3444,5,3,0,0,3444,3445,5,347,0,0,3445,3446,5,130,0,0,3446,3447,5,2,0,0,3447,3448,5,209,0,0,3448,3449,5,31,0,0,3449,3450,3,108,54,0,3450,3457,5,3,0,0,3451,3452,5,114,0,0,3452,3453,5,2,0,0,3453,3454,5,344,0,0,3454,3455,3,276,138,0,3455,3456,5,3,0,0,3456,3458,1,0,0,0,3457,3451,1,0,0,0,3457,3458,1,0,0,0,3458,3461,1,0,0,0,3459,3460,5,213,0,0,3460,3462,3,358,179,0,3461,3459,1,0,0,0,3461,3462,1,0,0,0,3462,3464,1,0,0,0,3463,3214,1,0,0,0,3463,3216,1,0,0,0,3463,3228,1,0,0,0,3463,3240,1,0,0,0,3463,3252,1,0,0,0,3463,3265,1,0,0,0,3463,3272,1,0,0,0,3463,3285,1,0,0,0,3463,3294,1,0,0,0,3463,3303,1,0,0,0,3463,3312,1,0,0,0,3463,3319,1,0,0,0,3463,3320,1,0,0,0,3463,3321,1,0,0,0,3463,3325,1,0,0,0,3463,3335,1,0,0,0,3463,3339,1,0,0,0,3463,3344,1,0,0,0,3463,3376,1,0,0,0,3463,3380,1,0,0,0,3463,3392,1,0,0,0,3463,3393,1,0,0,0,3463,3397,1,0,0,0,3463,3404,1,0,0,0,3463,3415,1,0,0,0,3463,3427,1,0,0,0,3463,3440,1,0,0,0,3464,3475,1,0,0,0,3465,3466,10,9,0,0,3466,3467,5,6,0,0,3467,3468,3,280,140,0,3468,3469,5,7,0,0,3469,3474,1,0,0,0,3470,3471,10,7,0,0,3471,3472,5,5,0,0,3472,3474,3,376,188,0,3473,3465,1,0,0,0,3473,3470,1,0,0,0,3474,3477,1,0,0,0,3475,3473,1,0,0,0,3475,3476,1,0,0,0,3476,285,1,0,0,0,3477,3475,1,0,0,0,3478,3486,5,71,0,0,3479,3486,5,303,0,0,3480,3486,5,304,0,0,3481,3486,5,305,0,0,3482,3486,5,149,0,0,3483,3486,5,133,0,0,3484,3486,3,376,188,0,3485,3478,1,0,0,0,3485,3479,1,0,0,0,3485,3480,1,0,0,0,3485,3481,1,0,0,0,3485,3482,1,0,0,0,3485,3483,1,0,0,0,3485,3484,1,0,0,0,3486,287,1,0,0,0,3487,3503,5,198,0,0,3488,3503,5,376,0,0,3489,3490,5,371,0,0,3490,3503,3,376,188,0,3491,3503,3,298,149,0,3492,3493,3,286,143,0,3493,3494,3,388,194,0,3494,3503,1,0,0,0,3495,3503,3,384,192,0,3496,3503,3,296,148,0,3497,3499,3,388,194,0,3498,3497,1,0,0,0,3499,3500,1,0,0,0,3500,3498,1,0,0,0,3500,3501,1,0,0,0,3501,3503,1,0,0,0,3502,3487,1,0,0,0,3502,3488,1,0,0,0,3502,3489,1,0,0,0,3502,3491,1,0,0,0,3502,3492,1,0,0,0,3502,3495,1,0,0,0,3502,3496,1,0,0,0,3502,3498,1,0,0,0,3503,289,1,0,0,0,3504,3505,7,45,0,0,3505,291,1,0,0,0,3506,3507,7,46,0,0,3507,293,1,0,0,0,3508,3509,7,47,0,0,3509,295,1,0,0,0,3510,3511,7,48,0,0,3511,297,1,0,0,0,3512,3515,5,149,0,0,3513,3516,3,300,150,0,3514,3516,3,304,152,0,3515,3513,1,0,0,0,3515,3514,1,0,0,0,3516,299,1,0,0,0,3517,3519,3,302,151,0,3518,3520,3,306,153,0,3519,3518,1,0,0,0,3519,3520,1,0,0,0,3520,301,1,0,0,0,3521,3522,3,308,154,0,3522,3523,3,310,155,0,3523,3525,1,0,0,0,3524,3521,1,0,0,0,3525,3526,1,0,0,0,3526,3524,1,0,0,0,3526,3527,1,0,0,0,3527,303,1,0,0,0,3528,3531,3,306,153,0,3529,3532,3,302,151,0,3530,3532,3,306,153,0,3531,3529,1,0,0,0,3531,3530,1,0,0,0,3531,3532,1,0,0,0,3532,305,1,0,0,0,3533,3534,3,308,154,0,3534,3535,3,312,156,0,3535,3536,5,309,0,0,3536,3537,3,312,156,0,3537,307,1,0,0,0,3538,3540,7,49,0,0,3539,3538,1,0,0,0,3539,3540,1,0,0,0,3540,3544,1,0,0,0,3541,3545,5,382,0,0,3542,3545,5,384,0,0,3543,3545,3,388,194,0,3544,3541,1,0,0,0,3544,3542,1,0,0,0,3544,3543,1,0,0,0,3545,309,1,0,0,0,3546,3547,7,50,0,0,3547,311,1,0,0,0,3548,3549,7,51,0,0,3549,313,1,0,0,0,3550,3554,5,116,0,0,3551,3552,5,9,0,0,3552,3554,3,372,186,0,3553,3550,1,0,0,0,3553,3551,1,0,0,0,3554,315,1,0,0,0,3555,3586,5,27,0,0,3556,3586,5,308,0,0,3557,3586,5,32,0,0,3558,3586,5,276,0,0,3559,3586,5,272,0,0,3560,3586,5,150,0,0,3561,3586,5,151,0,0,3562,3586,5,25,0,0,3563,3586,5,174,0,0,3564,3586,5,117,0,0,3565,3586,5,234,0,0,3566,3586,5,95,0,0,3567,3586,5,71,0,0,3568,3586,5,303,0,0,3569,3586,5,305,0,0,3570,3586,5,304,0,0,3571,3586,5,285,0,0,3572,3586,5,41,0,0,3573,3586,5,40,0,0,3574,3586,5,334,0,0,3575,3586,5,26,0,0,3576,3586,5,80,0,0,3577,3586,5,79,0,0,3578,3586,5,200,0,0,3579,3586,5,340,0,0,3580,3586,5,149,0,0,3581,3586,5,19,0,0,3582,3586,5,286,0,0,3583,3586,5,177,0,0,3584,3586,3,376,188,0,3585,3555,1,0,0,0,3585,3556,1,0,0,0,3585,3557,1,0,0,0,3585,3558,1,0,0,0,3585,3559,1,0,0,0,3585,3560,1,0,0,0,3585,3561,1,0,0,0,3585,3562,1,0,0,0,3585,3563,1,0,0,0,3585,3564,1,0,0,0,3585,3565,1,0,0,0,3585,3566,1,0,0,0,3585,3567,1,0,0,0,3585,3568,1,0,0,0,3585,3569,1,0,0,0,3585,3570,1,0,0,0,3585,3571,1,0,0,0,3585,3572,1,0,0,0,3585,3573,1,0,0,0,3585,3574,1,0,0,0,3585,3575,1,0,0,0,3585,3576,1,0,0,0,3585,3577,1,0,0,0,3585,3578,1,0,0,0,3585,3579,1,0,0,0,3585,3580,1,0,0,0,3585,3581,1,0,0,0,3585,3582,1,0,0,0,3585,3583,1,0,0,0,3585,3584,1,0,0,0,3586,317,1,0,0,0,3587,3588,5,19,0,0,3588,3589,5,356,0,0,3589,3590,3,318,159,0,3590,3591,5,358,0,0,3591,3634,1,0,0,0,3592,3593,5,177,0,0,3593,3594,5,356,0,0,3594,3595,3,318,159,0,3595,3596,5,4,0,0,3596,3597,3,318,159,0,3597,3598,5,358,0,0,3598,3634,1,0,0,0,3599,3606,5,286,0,0,3600,3602,5,356,0,0,3601,3603,3,346,173,0,3602,3601,1,0,0,0,3602,3603,1,0,0,0,3603,3604,1,0,0,0,3604,3607,5,358,0,0,3605,3607,5,354,0,0,3606,3600,1,0,0,0,3606,3605,1,0,0,0,3607,3634,1,0,0,0,3608,3609,5,149,0,0,3609,3612,7,52,0,0,3610,3611,5,309,0,0,3611,3613,5,186,0,0,3612,3610,1,0,0,0,3612,3613,1,0,0,0,3613,3634,1,0,0,0,3614,3615,5,149,0,0,3615,3618,7,53,0,0,3616,3617,5,309,0,0,3617,3619,7,54,0,0,3618,3616,1,0,0,0,3618,3619,1,0,0,0,3619,3634,1,0,0,0,3620,3631,3,316,158,0,3621,3622,5,2,0,0,3622,3627,5,382,0,0,3623,3624,5,4,0,0,3624,3626,5,382,0,0,3625,3623,1,0,0,0,3626,3629,1,0,0,0,3627,3625,1,0,0,0,3627,3628,1,0,0,0,3628,3630,1,0,0,0,3629,3627,1,0,0,0,3630,3632,5,3,0,0,3631,3621,1,0,0,0,3631,3632,1,0,0,0,3632,3634,1,0,0,0,3633,3587,1,0,0,0,3633,3592,1,0,0,0,3633,3599,1,0,0,0,3633,3608,1,0,0,0,3633,3614,1,0,0,0,3633,3620,1,0,0,0,3634,319,1,0,0,0,3635,3640,3,322,161,0,3636,3637,5,4,0,0,3637,3639,3,322,161,0,3638,3636,1,0,0,0,3639,3642,1,0,0,0,3640,3638,1,0,0,0,3640,3641,1,0,0,0,3641,321,1,0,0,0,3642,3640,1,0,0,0,3643,3644,3,96,48,0,3644,3648,3,318,159,0,3645,3647,3,328,164,0,3646,3645,1,0,0,0,3647,3650,1,0,0,0,3648,3646,1,0,0,0,3648,3649,1,0,0,0,3649,323,1,0,0,0,3650,3648,1,0,0,0,3651,3656,3,326,163,0,3652,3653,5,4,0,0,3653,3655,3,326,163,0,3654,3652,1,0,0,0,3655,3658,1,0,0,0,3656,3654,1,0,0,0,3656,3657,1,0,0,0,3657,325,1,0,0,0,3658,3656,1,0,0,0,3659,3660,3,92,46,0,3660,3664,3,318,159,0,3661,3663,3,328,164,0,3662,3661,1,0,0,0,3663,3666,1,0,0,0,3664,3662,1,0,0,0,3664,3665,1,0,0,0,3665,327,1,0,0,0,3666,3664,1,0,0,0,3667,3668,5,197,0,0,3668,3673,5,198,0,0,3669,3673,3,330,165,0,3670,3673,3,24,12,0,3671,3673,3,314,157,0,3672,3667,1,0,0,0,3672,3669,1,0,0,0,3672,3670,1,0,0,0,3672,3671,1,0,0,0,3673,329,1,0,0,0,3674,3675,5,82,0,0,3675,3676,3,268,134,0,3676,331,1,0,0,0,3677,3678,7,55,0,0,3678,3679,3,268,134,0,3679,333,1,0,0,0,3680,3685,3,336,168,0,3681,3682,5,4,0,0,3682,3684,3,336,168,0,3683,3681,1,0,0,0,3684,3687,1,0,0,0,3685,3683,1,0,0,0,3685,3686,1,0,0,0,3686,335,1,0,0,0,3687,3685,1,0,0,0,3688,3689,3,372,186,0,3689,3692,3,318,159,0,3690,3691,5,197,0,0,3691,3693,5,198,0,0,3692,3690,1,0,0,0,3692,3693,1,0,0,0,3693,3695,1,0,0,0,3694,3696,3,24,12,0,3695,3694,1,0,0,0,3695,3696,1,0,0,0,3696,337,1,0,0,0,3697,3702,3,340,170,0,3698,3699,5,4,0,0,3699,3701,3,340,170,0,3700,3698,1,0,0,0,3701,3704,1,0,0,0,3702,3700,1,0,0,0,3702,3703,1,0,0,0,3703,339,1,0,0,0,3704,3702,1,0,0,0,3705,3706,3,96,48,0,3706,3710,3,318,159,0,3707,3709,3,342,171,0,3708,3707,1,0,0,0,3709,3712,1,0,0,0,3710,3708,1,0,0,0,3710,3711,1,0,0,0,3711,341,1,0,0,0,3712,3710,1,0,0,0,3713,3714,5,197,0,0,3714,3719,5,198,0,0,3715,3719,3,330,165,0,3716,3719,3,344,172,0,3717,3719,3,24,12,0,3718,3713,1,0,0,0,3718,3715,1,0,0,0,3718,3716,1,0,0,0,3718,3717,1,0,0,0,3719,343,1,0,0,0,3720,3721,5,127,0,0,3721,3722,5,12,0,0,3722,3723,5,20,0,0,3723,3724,5,2,0,0,3724,3725,3,268,134,0,3725,3726,5,3,0,0,3726,345,1,0,0,0,3727,3732,3,348,174,0,3728,3729,5,4,0,0,3729,3731,3,348,174,0,3730,3728,1,0,0,0,3731,3734,1,0,0,0,3732,3730,1,0,0,0,3732,3733,1,0,0,0,3733,347,1,0,0,0,3734,3732,1,0,0,0,3735,3737,3,376,188,0,3736,3738,5,371,0,0,3737,3736,1,0,0,0,3737,3738,1,0,0,0,3738,3739,1,0,0,0,3739,3742,3,318,159,0,3740,3741,5,197,0,0,3741,3743,5,198,0,0,3742,3740,1,0,0,0,3742,3743,1,0,0,0,3743,3745,1,0,0,0,3744,3746,3,24,12,0,3745,3744,1,0,0,0,3745,3746,1,0,0,0,3746,349,1,0,0,0,3747,3748,5,343,0,0,3748,3749,3,268,134,0,3749,3750,5,300,0,0,3750,3751,3,268,134,0,3751,351,1,0,0,0,3752,3753,5,345,0,0,3753,3758,3,356,178,0,3754,3755,5,4,0,0,3755,3757,3,356,178,0,3756,3754,1,0,0,0,3757,3760,1,0,0,0,3758,3756,1,0,0,0,3758,3759,1,0,0,0,3759,353,1,0,0,0,3760,3758,1,0,0,0,3761,3762,5,351,0,0,3762,3763,5,31,0,0,3763,3764,3,94,47,0,3764,355,1,0,0,0,3765,3766,3,372,186,0,3766,3767,5,20,0,0,3767,3768,3,358,179,0,3768,357,1,0,0,0,3769,3816,3,372,186,0,3770,3771,5,2,0,0,3771,3772,3,372,186,0,3772,3773,5,3,0,0,3773,3816,1,0,0,0,3774,3809,5,2,0,0,3775,3776,5,44,0,0,3776,3777,5,31,0,0,3777,3782,3,268,134,0,3778,3779,5,4,0,0,3779,3781,3,268,134,0,3780,3778,1,0,0,0,3781,3784,1,0,0,0,3782,3780,1,0,0,0,3782,3783,1,0,0,0,3783,3810,1,0,0,0,3784,3782,1,0,0,0,3785,3786,7,24,0,0,3786,3787,5,31,0,0,3787,3792,3,268,134,0,3788,3789,5,4,0,0,3789,3791,3,268,134,0,3790,3788,1,0,0,0,3791,3794,1,0,0,0,3792,3790,1,0,0,0,3792,3793,1,0,0,0,3793,3796,1,0,0,0,3794,3792,1,0,0,0,3795,3785,1,0,0,0,3795,3796,1,0,0,0,3796,3807,1,0,0,0,3797,3798,7,25,0,0,3798,3799,5,31,0,0,3799,3804,3,108,54,0,3800,3801,5,4,0,0,3801,3803,3,108,54,0,3802,3800,1,0,0,0,3803,3806,1,0,0,0,3804,3802,1,0,0,0,3804,3805,1,0,0,0,3805,3808,1,0,0,0,3806,3804,1,0,0,0,3807,3797,1,0,0,0,3807,3808,1,0,0,0,3808,3810,1,0,0,0,3809,3775,1,0,0,0,3809,3795,1,0,0,0,3810,3812,1,0,0,0,3811,3813,3,360,180,0,3812,3811,1,0,0,0,3812,3813,1,0,0,0,3813,3814,1,0,0,0,3814,3816,5,3,0,0,3815,3769,1,0,0,0,3815,3770,1,0,0,0,3815,3774,1,0,0,0,3816,359,1,0,0,0,3817,3818,5,233,0,0,3818,3834,3,362,181,0,3819,3820,5,258,0,0,3820,3834,3,362,181,0,3821,3822,5,233,0,0,3822,3823,5,24,0,0,3823,3824,3,362,181,0,3824,3825,5,14,0,0,3825,3826,3,362,181,0,3826,3834,1,0,0,0,3827,3828,5,258,0,0,3828,3829,5,24,0,0,3829,3830,3,362,181,0,3830,3831,5,14,0,0,3831,3832,3,362,181,0,3832,3834,1,0,0,0,3833,3817,1,0,0,0,3833,3819,1,0,0,0,3833,3821,1,0,0,0,3833,3827,1,0,0,0,3834,361,1,0,0,0,3835,3836,5,321,0,0,3836,3843,7,56,0,0,3837,3838,5,62,0,0,3838,3843,5,257,0,0,3839,3840,3,268,134,0,3840,3841,7,56,0,0,3841,3843,1,0,0,0,3842,3835,1,0,0,0,3842,3837,1,0,0,0,3842,3839,1,0,0,0,3843,363,1,0,0,0,3844,3849,3,370,185,0,3845,3846,5,4,0,0,3846,3848,3,370,185,0,3847,3845,1,0,0,0,3848,3851,1,0,0,0,3849,3847,1,0,0,0,3849,3850,1,0,0,0,3850,365,1,0,0,0,3851,3849,1,0,0,0,3852,3853,5,136,0,0,3853,3854,5,2,0,0,3854,3855,3,268,134,0,3855,3856,5,3,0,0,3856,3862,1,0,0,0,3857,3862,3,370,185,0,3858,3862,5,114,0,0,3859,3862,5,161,0,0,3860,3862,5,250,0,0,3861,3852,1,0,0,0,3861,3857,1,0,0,0,3861,3858,1,0,0,0,3861,3859,1,0,0,0,3861,3860,1,0,0,0,3862,367,1,0,0,0,3863,3864,3,370,185,0,3864,369,1,0,0,0,3865,3870,3,376,188,0,3866,3867,5,5,0,0,3867,3869,3,376,188,0,3868,3866,1,0,0,0,3869,3872,1,0,0,0,3870,3868,1,0,0,0,3870,3871,1,0,0,0,3871,371,1,0,0,0,3872,3870,1,0,0,0,3873,3874,3,376,188,0,3874,3875,3,374,187,0,3875,373,1,0,0,0,3876,3877,5,362,0,0,3877,3879,3,376,188,0,3878,3876,1,0,0,0,3879,3880,1,0,0,0,3880,3878,1,0,0,0,3880,3881,1,0,0,0,3881,3884,1,0,0,0,3882,3884,1,0,0,0,3883,3878,1,0,0,0,3883,3882,1,0,0,0,3884,375,1,0,0,0,3885,3888,3,378,189,0,3886,3888,3,396,198,0,3887,3885,1,0,0,0,3887,3886,1,0,0,0,3888,377,1,0,0,0,3889,3894,5,388,0,0,3890,3894,3,380,190,0,3891,3894,3,394,197,0,3892,3894,3,398,199,0,3893,3889,1,0,0,0,3893,3890,1,0,0,0,3893,3891,1,0,0,0,3893,3892,1,0,0,0,3894,379,1,0,0,0,3895,3896,7,57,0,0,3896,381,1,0,0,0,3897,3898,5,389,0,0,3898,383,1,0,0,0,3899,3901,5,362,0,0,3900,3899,1,0,0,0,3900,3901,1,0,0,0,3901,3902,1,0,0,0,3902,3940,5,383,0,0,3903,3905,5,362,0,0,3904,3903,1,0,0,0,3904,3905,1,0,0,0,3905,3906,1,0,0,0,3906,3940,5,384,0,0,3907,3909,5,362,0,0,3908,3907,1,0,0,0,3908,3909,1,0,0,0,3909,3910,1,0,0,0,3910,3940,7,58,0,0,3911,3913,5,362,0,0,3912,3911,1,0,0,0,3912,3913,1,0,0,0,3913,3914,1,0,0,0,3914,3940,5,382,0,0,3915,3917,5,362,0,0,3916,3915,1,0,0,0,3916,3917,1,0,0,0,3917,3918,1,0,0,0,3918,3940,5,379,0,0,3919,3921,5,362,0,0,3920,3919,1,0,0,0,3920,3921,1,0,0,0,3921,3922,1,0,0,0,3922,3940,5,380,0,0,3923,3925,5,362,0,0,3924,3923,1,0,0,0,3924,3925,1,0,0,0,3925,3926,1,0,0,0,3926,3940,5,381,0,0,3927,3929,5,362,0,0,3928,3927,1,0,0,0,3928,3929,1,0,0,0,3929,3930,1,0,0,0,3930,3940,5,386,0,0,3931,3933,5,362,0,0,3932,3931,1,0,0,0,3932,3933,1,0,0,0,3933,3934,1,0,0,0,3934,3940,5,385,0,0,3935,3937,5,362,0,0,3936,3935,1,0,0,0,3936,3937,1,0,0,0,3937,3938,1,0,0,0,3938,3940,5,387,0,0,3939,3900,1,0,0,0,3939,3904,1,0,0,0,3939,3908,1,0,0,0,3939,3912,1,0,0,0,3939,3916,1,0,0,0,3939,3920,1,0,0,0,3939,3924,1,0,0,0,3939,3928,1,0,0,0,3939,3932,1,0,0,0,3939,3936,1,0,0,0,3940,385,1,0,0,0,3941,3942,5,319,0,0,3942,3953,3,318,159,0,3943,3953,3,24,12,0,3944,3953,3,314,157,0,3945,3946,7,59,0,0,3946,3947,5,197,0,0,3947,3953,5,198,0,0,3948,3949,5,269,0,0,3949,3953,3,330,165,0,3950,3951,5,96,0,0,3951,3953,5,82,0,0,3952,3941,1,0,0,0,3952,3943,1,0,0,0,3952,3944,1,0,0,0,3952,3945,1,0,0,0,3952,3948,1,0,0,0,3952,3950,1,0,0,0,3953,387,1,0,0,0,3954,3955,7,60,0,0,3955,389,1,0,0,0,3956,3959,3,388,194,0,3957,3959,5,198,0,0,3958,3956,1,0,0,0,3958,3957,1,0,0,0,3959,391,1,0,0,0,3960,3963,5,382,0,0,3961,3963,3,388,194,0,3962,3960,1,0,0,0,3962,3961,1,0,0,0,3963,393,1,0,0,0,3964,3965,7,61,0,0,3965,395,1,0,0,0,3966,3967,7,62,0,0,3967,397,1,0,0,0,3968,3969,7,63,0,0,3969,399,1,0,0,0,517,403,410,414,419,426,431,439,441,460,464,470,473,476,483,486,490,493,498,510,512,520,523,527,530,536,547,553,558,591,601,612,623,634,639,648,652,658,662,667,673,685,693,699,710,714,719,734,738,745,749,755,784,788,793,800,806,809,812,816,820,828,830,839,842,851,856,862,869,872,876,887,890,896,900,915,917,925,929,935,938,942,945,951,956,960,967,970,973,980,985,994,1002,1008,1011,1014,1020,1024,1029,1032,1036,1038,1046,1054,1057,1064,1067,1070,1079,1084,1090,1095,1098,1102,1105,1109,1137,1140,1148,1154,1157,1160,1165,1173,1178,1184,1190,1193,1200,1207,1215,1232,1259,1262,1268,1277,1286,1292,1297,1302,1309,1314,1319,1326,1334,1337,1341,1353,1357,1364,1480,1488,1496,1505,1515,1519,1522,1526,1532,1544,1556,1561,1570,1578,1583,1585,1593,1598,1602,1605,1613,1618,1627,1632,1635,1640,1644,1649,1651,1655,1664,1672,1678,1689,1696,1705,1710,1713,1736,1738,1750,1757,1760,1767,1771,1777,1785,1792,1795,1803,1814,1825,1833,1839,1851,1858,1865,1877,1885,1891,1897,1900,1916,1923,1934,1943,1946,1955,1958,1967,1970,1979,1982,1985,1990,1992,1996,2007,2013,2019,2022,2024,2036,2040,2043,2047,2053,2057,2065,2069,2072,2075,2078,2082,2086,2091,2095,2098,2101,2104,2108,2113,2117,2120,2123,2126,2128,2134,2141,2146,2149,2152,2156,2166,2170,2172,2175,2179,2185,2189,2200,2210,2214,2226,2238,2253,2258,2264,2271,2287,2292,2305,2310,2318,2324,2328,2331,2336,2343,2349,2358,2368,2383,2388,2390,2395,2404,2417,2422,2426,2433,2438,2442,2445,2448,2462,2475,2480,2484,2487,2491,2497,2500,2507,2519,2530,2543,2554,2559,2567,2572,2586,2595,2598,2603,2610,2613,2619,2625,2628,2633,2638,2642,2648,2652,2655,2660,2663,2668,2672,2675,2678,2684,2689,2696,2699,2717,2719,2722,2733,2742,2749,2757,2764,2769,2772,2775,2783,2791,2797,2805,2813,2820,2827,2829,2842,2848,2850,2860,2866,2868,2876,2880,2889,2892,2898,2902,2904,2913,2925,2927,2934,2941,2947,2953,2955,2962,2970,2978,2984,2989,2996,3002,3005,3009,3011,3018,3027,3034,3044,3049,3053,3063,3070,3083,3085,3093,3095,3099,3107,3116,3122,3130,3135,3147,3152,3155,3161,3165,3170,3175,3180,3186,3207,3209,3220,3232,3244,3248,3257,3261,3279,3282,3290,3299,3308,3331,3347,3354,3357,3366,3370,3374,3386,3411,3418,3421,3436,3457,3461,3463,3473,3475,3485,3500,3502,3515,3519,3526,3531,3539,3544,3553,3585,3602,3606,3612,3618,3627,3631,3633,3640,3648,3656,3664,3672,3685,3692,3695,3702,3710,3718,3732,3737,3742,3745,3758,3782,3792,3795,3804,3807,3809,3812,3815,3833,3842,3849,3861,3870,3880,3883,3887,3893,3900,3904,3908,3912,3916,3920,3924,3928,3932,3936,3939,3952,3958,3962],e.vocabulary=new Te(e.literalNames,e.symbolicNames,[]),e.decisionsToDFA=e._ATN.decisionToState.map((n,t)=>new u1(n,t));class iu extends R{constructor(t,i){super(t,i)}EOF(){return this.getToken(e.EOF,0)}singleStatement(t){return t===void 0?this.getRuleContexts(Rr):this.getRuleContext(t,Rr)}get ruleIndex(){return e.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class Rr extends R{constructor(t,i){super(t,i)}statement(){return this.getRuleContext(0,N)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class N extends R{constructor(t,i){super(t,i)}get ruleIndex(){return e.RULE_statement}copyFrom(t){super.copyFrom(t)}}class su extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(e.KW_RESET,0)}enterRule(t){t.enterResetAny&&t.enterResetAny(this)}exitRule(t){t.exitResetAny&&t.exitResetAny(this)}accept(t){return t.visitResetAny?t.visitResetAny(this):t.visitChildren(this)}}class nu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,kt)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterAlterTableDropColumn&&t.enterAlterTableDropColumn(this)}exitRule(t){t.exitAlterTableDropColumn&&t.exitAlterTableDropColumn(this)}accept(t){return t.visitAlterTableDropColumn?t.visitAlterTableDropColumn(this):t.visitChildren(this)}}class ru extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropMaterializedView&&t.enterDropMaterializedView(this)}exitRule(t){t.exitDropMaterializedView&&t.exitDropMaterializedView(this)}accept(t){return t.visitDropMaterializedView?t.visitDropMaterializedView(this):t.visitChildren(this)}}class hu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}query(){return this.getRuleContext(0,dt)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterAlterViewQuery&&t.enterAlterViewQuery(this)}exitRule(t){t.exitAlterViewQuery&&t.exitAlterViewQuery(this)}accept(t){return t.visitAlterViewQuery?t.visitAlterViewQuery(this):t.visitChildren(this)}}class ou extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}namespace(){return this.getRuleContext(0,Fe)}namespaceName(){return this.getRuleContext(0,Ft)}ifExists(){return this.getRuleContext(0,Gt)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}enterRule(t){t.enterDropNamespace&&t.enterDropNamespace(this)}exitRule(t){t.exitDropNamespace&&t.exitDropNamespace(this)}accept(t){return t.visitDropNamespace?t.visitDropNamespace(this):t.visitChildren(this)}}class au extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,ln)}tableProvider(){return this.getRuleContext(0,Be)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}colTypeList(){return this.getRuleContext(0,_2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterCreateTempViewUsing&&t.enterCreateTempViewUsing(this)}exitRule(t){t.exitCreateTempViewUsing&&t.exitCreateTempViewUsing(this)}accept(t){return t.visitCreateTempViewUsing?t.visitCreateTempViewUsing(this):t.visitChildren(this)}}class cu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}class uu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}functionName(){return this.getRuleContext(0,_1)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}dataType(){return this.getRuleContext(0,$t)}variableDefaultExpression(){return this.getRuleContext(0,To)}enterRule(t){t.enterDeclareVariable&&t.enterDeclareVariable(this)}exitRule(t){t.exitDeclareVariable&&t.exitDeclareVariable(this)}accept(t){return t.visitDeclareVariable?t.visitDeclareVariable(this):t.visitChildren(this)}}class lu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}enterRule(t){t.enterFailNativeCommand&&t.enterFailNativeCommand(this)}exitRule(t){t.exitFailNativeCommand&&t.exitFailNativeCommand(this)}accept(t){return t.visitFailNativeCommand?t.visitFailNativeCommand(this):t.visitChildren(this)}}class Eu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}identifier(){return this.getRuleContext(0,Q)}stringLit(){return this.getRuleContext(0,X)}enterRule(t){t.enterSetCatalog&&t.enterSetCatalog(this)}exitRule(t){t.exitSetCatalog&&t.exitSetCatalog(this)}accept(t){return t.visitSetCatalog?t.visitSetCatalog(this):t.visitChildren(this)}}class Tu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterAlterMaterializedViewProperties&&t.enterAlterMaterializedViewProperties(this)}exitRule(t){t.exitAlterMaterializedViewProperties&&t.exitAlterMaterializedViewProperties(this)}accept(t){return t.visitAlterMaterializedViewProperties?t.visitAlterMaterializedViewProperties(this):t.visitChildren(this)}}class du extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CLEAR(){return this.getToken(e.KW_CLEAR,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}enterRule(t){t.enterClearCache&&t.enterClearCache(this)}exitRule(t){t.exitClearCache&&t.exitClearCache(this)}accept(t){return t.visitClearCache?t.visitClearCache(this):t.visitChildren(this)}}class Ru extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Wu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}class _u extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}enterRule(t){t.enterRecoverPartitions&&t.enterRecoverPartitions(this)}exitRule(t){t.exitRecoverPartitions&&t.exitRecoverPartitions(this)}accept(t){return t.visitRecoverPartitions?t.visitRecoverPartitions(this):t.visitChildren(this)}}class Au extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}identifier(){return this.getRuleContext(0,Q)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,Gt)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}enterRule(t){t.enterDropIndex&&t.enterDropIndex(this)}exitRule(t){t.exitDropIndex&&t.exitDropIndex(this)}accept(t){return t.visitDropIndex?t.visitDropIndex(this):t.visitChildren(this)}}class Ku extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}interval(){return this.getRuleContext(0,E2)}enterRule(t){t.enterSetTimeZoneInterval&&t.enterSetTimeZoneInterval(this)}exitRule(t){t.exitSetTimeZoneInterval&&t.exitSetTimeZoneInterval(this)}accept(t){return t.visitSetTimeZoneInterval?t.visitSetTimeZoneInterval(this):t.visitChildren(this)}}class fu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowCatalogs&&t.enterShowCatalogs(this)}exitRule(t){t.exitShowCatalogs&&t.exitShowCatalogs(this)}accept(t){return t.visitShowCatalogs?t.visitShowCatalogs(this):t.visitChildren(this)}}class Cu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}namespace(){return this.getRuleContext(0,Fe)}enterRule(t){t.enterShowCurrentNamespace&&t.enterShowCurrentNamespace(this)}exitRule(t){t.exitShowCurrentNamespace&&t.exitShowCurrentNamespace(this)}accept(t){return t.visitShowCurrentNamespace?t.visitShowCurrentNamespace(this):t.visitChildren(this)}}class mu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}enterRule(t){t.enterRenameTablePartition&&t.enterRenameTablePartition(this)}exitRule(t){t.exitRenameTablePartition&&t.exitRenameTablePartition(this)}accept(t){return t.visitRenameTablePartition?t.visitRenameTablePartition(this):t.visitChildren(this)}}class gu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}enterRule(t){t.enterRepairTable&&t.enterRepairTable(this)}exitRule(t){t.exitRepairTable&&t.exitRepairTable(this)}accept(t){return t.visitRepairTable?t.visitRepairTable(this):t.visitChildren(this)}}class Nu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}stringLit(){return this.getRuleContext(0,X)}enterRule(t){t.enterRefreshResource&&t.enterRefreshResource(this)}exitRule(t){t.exitRefreshResource&&t.exitRefreshResource(this)}accept(t){return t.visitRefreshResource?t.visitRefreshResource(this):t.visitChildren(this)}}class Lu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}assignmentList(){return this.getRuleContext(0,Li)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}enterRule(t){t.enterSetVariableAssignment&&t.enterSetVariableAssignment(this)}exitRule(t){t.exitSetVariableAssignment&&t.exitSetVariableAssignment(this)}accept(t){return t.visitSetVariableAssignment?t.visitSetVariableAssignment(this):t.visitChildren(this)}}class Iu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}class xu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}namespaces(){return this.getRuleContext(0,f3)}multipartIdentifier(){return this.getRuleContext(0,Pt)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowNamespaces&&t.enterShowNamespaces(this)}exitRule(t){t.exitShowNamespaces&&t.exitShowNamespaces(this)}accept(t){return t.visitShowNamespaces?t.visitShowNamespaces(this):t.visitChildren(this)}}class Ou extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_FROM(t){return t===void 0?this.getTokens(e.KW_FROM):this.getToken(e.KW_FROM,t)}KW_IN(t){return t===void 0?this.getTokens(e.KW_IN):this.getToken(e.KW_IN,t)}tableName(){return this.getRuleContext(0,H)}namespaceName(){return this.getRuleContext(0,Ft)}enterRule(t){t.enterShowColumns&&t.enterShowColumns(this)}exitRule(t){t.exitShowColumns&&t.exitShowColumns(this)}accept(t){return t.visitShowColumns?t.visitShowColumns(this):t.visitChildren(this)}}class pu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}replaceTableHeader(){return this.getRuleContext(0,K3)}createTableClauses(){return this.getRuleContext(0,mr)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}createOrReplaceTableColTypeList(){return this.getRuleContext(0,A2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableProvider(){return this.getRuleContext(0,Be)}query(){return this.getRuleContext(0,dt)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterReplaceTable&&t.enterReplaceTable(this)}exitRule(t){t.exitReplaceTable&&t.exitReplaceTable(this)}accept(t){return t.visitReplaceTable?t.visitReplaceTable(this):t.visitChildren(this)}}class Du extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}enterRule(t){t.enterAnalyzeTables&&t.enterAnalyzeTables(this)}exitRule(t){t.exitAnalyzeTables&&t.exitAnalyzeTables(this)}accept(t){return t.visitAnalyzeTables?t.visitAnalyzeTables(this):t.visitChildren(this)}}class Mu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}ifNotExists(){return this.getRuleContext(0,de)}partitionSpecLocation(t){return t===void 0?this.getRuleContexts(Ar):this.getRuleContext(t,Ar)}enterRule(t){t.enterAddTablePartition&&t.enterAddTablePartition(this)}exitRule(t){t.exitAddTablePartition&&t.exitAddTablePartition(this)}accept(t){return t.visitAddTablePartition?t.visitAddTablePartition(this):t.visitChildren(this)}}class yu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}namespace(){return this.getRuleContext(0,Fe)}namespaceName(){return this.getRuleContext(0,Ft)}KW_SET(){return this.getToken(e.KW_SET,0)}locationSpec(){return this.getRuleContext(0,zt)}enterRule(t){t.enterSetNamespaceLocation&&t.enterSetNamespaceLocation(this)}exitRule(t){t.exitSetNamespaceLocation&&t.exitSetNamespaceLocation(this)}accept(t){return t.visitSetNamespaceLocation?t.visitSetNamespaceLocation(this):t.visitChildren(this)}}class Uu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}enterRule(t){t.enterRefreshTable&&t.enterRefreshTable(this)}exitRule(t){t.exitRefreshTable&&t.exitRefreshTable(this)}accept(t){return t.visitRefreshTable?t.visitRefreshTable(this):t.visitChildren(this)}}class vu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}enterRule(t){t.enterSetAny&&t.enterSetAny(this)}exitRule(t){t.exitSetAny&&t.exitSetAny(this)}accept(t){return t.visitSetAny?t.visitSetAny(this):t.visitChildren(this)}}class wu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(e.KW_RESET,0)}configKey(){return this.getRuleContext(0,on)}enterRule(t){t.enterResetConfig&&t.enterResetConfig(this)}exitRule(t){t.exitResetConfig&&t.exitResetConfig(this)}accept(t){return t.visitResetConfig?t.visitResetConfig(this):t.visitChildren(this)}}class bu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}EQ(){return this.getToken(e.EQ,0)}configValue(){return this.getRuleContext(0,Wr)}enterRule(t){t.enterSetConfigAnyKey&&t.enterSetConfigAnyKey(this)}exitRule(t){t.exitSetConfigAnyKey&&t.exitSetConfigAnyKey(this)}accept(t){return t.visitSetConfigAnyKey?t.visitSetConfigAnyKey(this):t.visitChildren(this)}}class Hu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}namespace(){return this.getRuleContext(0,Fe)}namespaceName(){return this.getRuleContext(0,Ft)}KW_SET(){return this.getToken(e.KW_SET,0)}propertyList(){return this.getRuleContext(0,ht)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}enterRule(t){t.enterSetNamespaceProperties&&t.enterSetNamespaceProperties(this)}exitRule(t){t.exitSetNamespaceProperties&&t.exitSetNamespaceProperties(this)}accept(t){return t.visitSetNamespaceProperties?t.visitSetNamespaceProperties(this):t.visitChildren(this)}}class Fu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,Q)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_LIST(){return this.getToken(e.KW_LIST,0)}enterRule(t){t.enterManageResource&&t.enterManageResource(this)}exitRule(t){t.exitManageResource&&t.exitManageResource(this)}accept(t){return t.visitManageResource?t.visitManageResource(this):t.visitChildren(this)}}class Bu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}statement(){return this.getRuleContext(0,N)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_CODEGEN(){return this.getToken(e.KW_CODEGEN,0)}KW_COST(){return this.getToken(e.KW_COST,0)}enterRule(t){t.enterExplainStatement&&t.enterExplainStatement(this)}exitRule(t){t.exitExplainStatement&&t.exitExplainStatement(this)}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}}class Vu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}partitionSpec(){return this.getRuleContext(0,At)}KW_NOSCAN(){return this.getToken(e.KW_NOSCAN,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}columnNameSeq(){return this.getRuleContext(0,gi)}KW_ALL(){return this.getToken(e.KW_ALL,0)}enterRule(t){t.enterAnalyze&&t.enterAnalyze(this)}exitRule(t){t.exitAnalyze&&t.exitAnalyze(this)}accept(t){return t.visitAnalyze?t.visitAnalyze(this):t.visitChildren(this)}}class ku extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionNameCreate(){return this.getRuleContext(0,Ko)}KW_AS(){return this.getToken(e.KW_AS,0)}stringLit(){return this.getRuleContext(0,X)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,de)}KW_USING(){return this.getToken(e.KW_USING,0)}resource(t){return t===void 0?this.getRuleContexts(Ir):this.getRuleContext(t,Ir)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class Gu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNCACHE(){return this.getToken(e.KW_UNCACHE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterUnCacheTable&&t.enterUnCacheTable(this)}exitRule(t){t.exitUnCacheTable&&t.exitUnCacheTable(this)}accept(t){return t.visitUnCacheTable?t.visitUnCacheTable(this):t.visitChildren(this)}}class Yu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}qualifiedColTypeWithPositionSeqForAdd(){return this.getRuleContext(0,lo)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}enterRule(t){t.enterAlterTableAddColumns&&t.enterAlterTableAddColumns(this)}exitRule(t){t.exitAlterTableAddColumns&&t.exitAlterTableAddColumns(this)}accept(t){return t.visitAlterTableAddColumns?t.visitAlterTableAddColumns(this):t.visitChildren(this)}}class Su extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}qualifiedColTypeWithPositionSeqForReplace(){return this.getRuleContext(0,Eo)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterHiveReplaceColumns&&t.enterHiveReplaceColumns(this)}exitRule(t){t.exitHiveReplaceColumns&&t.exitHiveReplaceColumns(this)}accept(t){return t.visitHiveReplaceColumns?t.visitHiveReplaceColumns(this):t.visitChildren(this)}}class Qu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}qualifiedColTypeWithPositionForAdd(){return this.getRuleContext(0,Cn)}enterRule(t){t.enterAlterTableAddColumn&&t.enterAlterTableAddColumn(this)}exitRule(t){t.exitAlterTableAddColumn&&t.exitAlterTableAddColumn(this)}accept(t){return t.visitAlterTableAddColumn?t.visitAlterTableAddColumn(this):t.visitChildren(this)}}class Xu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}namespace(){return this.getRuleContext(0,Fe)}namespaceName(){return this.getRuleContext(0,Ft)}KW_IS(){return this.getToken(e.KW_IS,0)}comment(){return this.getRuleContext(0,O2)}enterRule(t){t.enterCommentNamespace&&t.enterCommentNamespace(this)}exitRule(t){t.exitCommentNamespace&&t.exitCommentNamespace(this)}accept(t){return t.visitCommentNamespace?t.visitCommentNamespace(this):t.visitChildren(this)}}class Zu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}createTableHeader(){return this.getRuleContext(0,A3)}createTableClauses(){return this.getRuleContext(0,mr)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}createOrReplaceTableColTypeList(){return this.getRuleContext(0,A2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableProvider(){return this.getRuleContext(0,Be)}query(){return this.getRuleContext(0,dt)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}class zu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}dmlStatementNoWith(){return this.getRuleContext(0,d1)}ctes(){return this.getRuleContext(0,fr)}enterRule(t){t.enterDmlStatement&&t.enterDmlStatement(this)}exitRule(t){t.exitDmlStatement&&t.exitDmlStatement(this)}accept(t){return t.visitDmlStatement?t.visitDmlStatement(this):t.visitChildren(this)}}class Pu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}enterRule(t){t.enterAlterMaterializedViewRewrite&&t.enterAlterMaterializedViewRewrite(this)}exitRule(t){t.exitAlterMaterializedViewRewrite&&t.exitAlterMaterializedViewRewrite(this)}accept(t){return t.visitAlterMaterializedViewRewrite?t.visitAlterMaterializedViewRewrite(this):t.visitChildren(this)}}class $u extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}tableNameCreate(){return this.getRuleContext(0,un)}tableName(){return this.getRuleContext(0,H)}ifNotExists(){return this.getRuleContext(0,de)}tableProvider(t){return t===void 0?this.getRuleContexts(Be):this.getRuleContext(t,Be)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}createFileFormat(t){return t===void 0?this.getRuleContexts(Ve):this.getRuleContext(t,Ve)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}tableLifecycle(t){return t===void 0?this.getRuleContexts(mi):this.getRuleContext(t,mi)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}enterRule(t){t.enterCreateTableLike&&t.enterCreateTableLike(this)}exitRule(t){t.exitCreateTableLike&&t.exitCreateTableLike(this)}accept(t){return t.visitCreateTableLike?t.visitCreateTableLike(this):t.visitChildren(this)}}class ju extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,_1)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class Ju extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}multipartIdentifierList(){return this.getRuleContext(0,s2)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}EQ(){return this.getToken(e.EQ,0)}query(){return this.getRuleContext(0,dt)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}enterRule(t){t.enterSetVariableMultiAssignment&&t.enterSetVariableMultiAssignment(this)}exitRule(t){t.exitSetVariableMultiAssignment&&t.exitSetVariableMultiAssignment(this)}accept(t){return t.visitSetVariableMultiAssignment?t.visitSetVariableMultiAssignment(this):t.visitChildren(this)}}class qu extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableName(){return this.getRuleContext(0,H)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}partitionSpec(){return this.getRuleContext(0,At)}describeColName(){return this.getRuleContext(0,m3)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}enterRule(t){t.enterDescribeRelation&&t.enterDescribeRelation(this)}exitRule(t){t.exitDescribeRelation&&t.exitDescribeRelation(this)}accept(t){return t.visitDescribeRelation?t.visitDescribeRelation(this):t.visitChildren(this)}}class t7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}stringLit(){return this.getRuleContext(0,X)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterLoadData&&t.enterLoadData(this)}exitRule(t){t.exitLoadData&&t.exitLoadData(this)}accept(t){return t.visitLoadData?t.visitLoadData(this):t.visitChildren(this)}}class e7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterShowPartitions&&t.enterShowPartitions(this)}exitRule(t){t.exitShowPartitions&&t.exitShowPartitions(this)}accept(t){return t.visitShowPartitions?t.visitShowPartitions(this):t.visitChildren(this)}}class i7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}describeFuncName(){return this.getRuleContext(0,C3)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}enterRule(t){t.enterDescribeFunction&&t.enterDescribeFunction(this)}exitRule(t){t.exitDescribeFunction&&t.exitDescribeFunction(this)}accept(t){return t.visitDescribeFunction?t.visitDescribeFunction(this):t.visitChildren(this)}}class s7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,kt)}KW_TO(){return this.getToken(e.KW_TO,0)}columnNameCreate(){return this.getRuleContext(0,Ni)}tableName(){return this.getRuleContext(0,H)}enterRule(t){t.enterRenameTableColumn&&t.enterRenameTableColumn(this)}exitRule(t){t.exitRenameTableColumn&&t.exitRenameTableColumn(this)}accept(t){return t.visitRenameTableColumn?t.visitRenameTableColumn(this):t.visitChildren(this)}}class n7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}configKey(){return this.getRuleContext(0,on)}EQ(){return this.getToken(e.EQ,0)}configValue(){return this.getRuleContext(0,Wr)}enterRule(t){t.enterSetConfig&&t.enterSetConfig(this)}exitRule(t){t.exitSetConfig&&t.exitSetConfig(this)}accept(t){return t.visitSetConfig?t.visitSetConfig(this):t.visitChildren(this)}}class r7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}unsupportedHiveNativeCommands(){return this.getRuleContext(0,_3)}enterRule(t){t.enterUnsupportHiveCommands&&t.enterUnsupportHiveCommands(this)}exitRule(t){t.exitUnsupportHiveCommands&&t.exitUnsupportHiveCommands(this)}accept(t){return t.visitUnsupportHiveCommands?t.visitUnsupportHiveCommands(this):t.visitChildren(this)}}class h7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,dt)}enterRule(t){t.enterStatementDefault&&t.enterStatementDefault(this)}exitRule(t){t.exitStatementDefault&&t.exitStatementDefault(this)}accept(t){return t.visitStatementDefault?t.visitStatementDefault(this):t.visitChildren(this)}}class o7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}colType(){return this.getRuleContext(0,Di)}tableName(){return this.getRuleContext(0,H)}columnName(){return this.getRuleContext(0,kt)}partitionSpec(){return this.getRuleContext(0,At)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}colPosition(){return this.getRuleContext(0,fn)}enterRule(t){t.enterHiveChangeColumn&&t.enterHiveChangeColumn(this)}exitRule(t){t.exitHiveChangeColumn&&t.exitHiveChangeColumn(this)}accept(t){return t.visitHiveChangeColumn?t.visitHiveChangeColumn(this):t.visitChildren(this)}}class a7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_OPTIMIZE(){return this.getToken(e.KW_OPTIMIZE,0)}tableName(){return this.getRuleContext(0,H)}zorderClause(){return this.getRuleContext(0,_o)}whereClause(){return this.getRuleContext(0,R1)}enterRule(t){t.enterOptimizeTable&&t.enterOptimizeTable(this)}exitRule(t){t.exitOptimizeTable&&t.exitOptimizeTable(this)}accept(t){return t.visitOptimizeTable?t.visitOptimizeTable(this):t.visitChildren(this)}}class c7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}timezone(){return this.getRuleContext(0,W3)}enterRule(t){t.enterSetTimeZone&&t.enterSetTimeZone(this)}exitRule(t){t.exitSetTimeZone&&t.exitSetTimeZone(this)}accept(t){return t.visitSetTimeZone?t.visitSetTimeZone(this):t.visitChildren(this)}}class u7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,dt)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}enterRule(t){t.enterDescribeQuery&&t.enterDescribeQuery(this)}exitRule(t){t.exitDescribeQuery&&t.exitDescribeQuery(this)}accept(t){return t.visitDescribeQuery?t.visitDescribeQuery(this):t.visitChildren(this)}}class l7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterTruncateTable&&t.enterTruncateTable(this)}exitRule(t){t.exitTruncateTable&&t.exitTruncateTable(this)}accept(t){return t.visitTruncateTable?t.visitTruncateTable(this):t.visitChildren(this)}}class E7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}configKey(){return this.getRuleContext(0,on)}EQ(){return this.getToken(e.EQ,0)}enterRule(t){t.enterSetConfigAndValue&&t.enterSetConfigAndValue(this)}exitRule(t){t.exitSetConfigAndValue&&t.exitSetConfigAndValue(this)}accept(t){return t.visitSetConfigAndValue?t.visitSetConfigAndValue(this):t.visitChildren(this)}}class T7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,ln)}KW_AS(){return this.getToken(e.KW_AS,0)}query(){return this.getRuleContext(0,dt)}ifNotExists(){return this.getRuleContext(0,de)}tableProvider(){return this.getRuleContext(0,Be)}skewSpec(t){return t===void 0?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}bucketSpec(t){return t===void 0?this.getRuleContexts(fi):this.getRuleContext(t,fi)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}createFileFormat(t){return t===void 0?this.getRuleContexts(Ve):this.getRuleContext(t,Ve)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}KW_OPTIONS(t){return t===void 0?this.getTokens(e.KW_OPTIONS):this.getToken(e.KW_OPTIONS,t)}KW_PARTITIONED(t){return t===void 0?this.getTokens(e.KW_PARTITIONED):this.getToken(e.KW_PARTITIONED,t)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}partitionFieldList(t){return t===void 0?this.getRuleContexts(Oi):this.getRuleContext(t,Oi)}enterRule(t){t.enterCreateMaterializedView&&t.enterCreateMaterializedView(this)}exitRule(t){t.exitCreateMaterializedView&&t.exitCreateMaterializedView(this)}accept(t){return t.visitCreateMaterializedView?t.visitCreateMaterializedView(this):t.visitChildren(this)}}class d7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}stringLit(){return this.getRuleContext(0,X)}partitionSpec(){return this.getRuleContext(0,At)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterSetTableSerDe&&t.enterSetTableSerDe(this)}exitRule(t){t.exitSetTableSerDe&&t.exitSetTableSerDe(this)}accept(t){return t.visitSetTableSerDe?t.visitSetTableSerDe(this):t.visitChildren(this)}}class R7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,ln)}KW_AS(){return this.getToken(e.KW_AS,0)}query(){return this.getRuleContext(0,dt)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,de)}identifierCommentList(){return this.getRuleContext(0,z3)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}KW_PARTITIONED(t){return t===void 0?this.getTokens(e.KW_PARTITIONED):this.getToken(e.KW_PARTITIONED,t)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}identifierList(t){return t===void 0?this.getRuleContexts(Ce):this.getRuleContext(t,Ce)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class W7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}enterRule(t){t.enterSetTimeZoneAny&&t.enterSetTimeZoneAny(this)}exitRule(t){t.exitSetTimeZoneAny&&t.exitSetTimeZoneAny(this)}accept(t){return t.visitSetTimeZoneAny?t.visitSetTimeZoneAny(this):t.visitChildren(this)}}class _7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}partitionSpec(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}ifExists(){return this.getRuleContext(0,Gt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}enterRule(t){t.enterDropTablePartitions&&t.enterDropTablePartitions(this)}exitRule(t){t.exitDropTablePartitions&&t.exitDropTablePartitions(this)}accept(t){return t.visitDropTablePartitions?t.visitDropTablePartitions(this):t.visitChildren(this)}}class A7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}ifExists(){return this.getRuleContext(0,Gt)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class K7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}stringLit(){return this.getRuleContext(0,X)}partitionSpec(){return this.getRuleContext(0,At)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}namespaceName(){return this.getRuleContext(0,Ft)}enterRule(t){t.enterShowTableExtended&&t.enterShowTableExtended(this)}exitRule(t){t.exitShowTableExtended&&t.exitShowTableExtended(this)}accept(t){return t.visitShowTableExtended?t.visitShowTableExtended(this):t.visitChildren(this)}}class f7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}enterRule(t){t.enterDescribeNamespace&&t.enterDescribeNamespace(this)}exitRule(t){t.exitDescribeNamespace&&t.exitDescribeNamespace(this)}accept(t){return t.visitDescribeNamespace?t.visitDescribeNamespace(this):t.visitChildren(this)}}class C7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(t){return t===void 0?this.getTokens(e.KW_ALTER):this.getToken(e.KW_ALTER,t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}columnName(){return this.getRuleContext(0,kt)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}alterColumnAction(){return this.getRuleContext(0,go)}enterRule(t){t.enterAlterTableAlterColumn&&t.enterAlterTableAlterColumn(this)}exitRule(t){t.exitAlterTableAlterColumn&&t.exitAlterTableAlterColumn(this)}accept(t){return t.visitAlterTableAlterColumn?t.visitAlterTableAlterColumn(this):t.visitChildren(this)}}class m7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,_1)}enterRule(t){t.enterRefreshFunction&&t.enterRefreshFunction(this)}exitRule(t){t.exitRefreshFunction&&t.exitRefreshFunction(this)}accept(t){return t.visitRefreshFunction?t.visitRefreshFunction(this):t.visitChildren(this)}}class g7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_IS(){return this.getToken(e.KW_IS,0)}comment(){return this.getRuleContext(0,O2)}enterRule(t){t.enterCommentTable&&t.enterCommentTable(this)}exitRule(t){t.exitCommentTable&&t.exitCommentTable(this)}accept(t){return t.visitCommentTable?t.visitCommentTable(this):t.visitChildren(this)}}class N7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}namespaceName(){return this.getRuleContext(0,Ft)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowMaterializedViews&&t.enterShowMaterializedViews(this)}exitRule(t){t.exitShowMaterializedViews&&t.exitShowMaterializedViews(this)}accept(t){return t.visitShowMaterializedViews?t.visitShowMaterializedViews(this):t.visitChildren(this)}}class L7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,H)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}multipartIdentifierPropertyList(){return this.getRuleContext(0,q3)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}ifNotExists(){return this.getRuleContext(0,de)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}enterRule(t){t.enterCreateIndex&&t.enterCreateIndex(this)}exitRule(t){t.exitCreateIndex&&t.exitCreateIndex(this)}accept(t){return t.visitCreateIndex?t.visitCreateIndex(this):t.visitChildren(this)}}class I7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USE(){return this.getToken(e.KW_USE,0)}namespaceName(){return this.getRuleContext(0,Ft)}namespace(){return this.getRuleContext(0,Fe)}enterRule(t){t.enterUseNamespace&&t.enterUseNamespace(this)}exitRule(t){t.exitUseNamespace&&t.exitUseNamespace(this)}accept(t){return t.visitUseNamespace?t.visitUseNamespace(this):t.visitChildren(this)}}class x7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}tableName(){return this.getRuleContext(0,H)}viewName(){return this.getRuleContext(0,Lt)}functionName(){return this.getRuleContext(0,_1)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropVariable&&t.enterDropVariable(this)}exitRule(t){t.exitDropVariable&&t.exitDropVariable(this)}accept(t){return t.visitDropVariable?t.visitDropVariable(this):t.visitChildren(this)}}class O7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}namespace(){return this.getRuleContext(0,Fe)}namespaceNameCreate(){return this.getRuleContext(0,x3)}ifNotExists(){return this.getRuleContext(0,de)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}KW_WITH(t){return t===void 0?this.getTokens(e.KW_WITH):this.getToken(e.KW_WITH,t)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}KW_DBPROPERTIES(t){return t===void 0?this.getTokens(e.KW_DBPROPERTIES):this.getToken(e.KW_DBPROPERTIES,t)}KW_PROPERTIES(t){return t===void 0?this.getTokens(e.KW_PROPERTIES):this.getToken(e.KW_PROPERTIES,t)}enterRule(t){t.enterCreateNamespace&&t.enterCreateNamespace(this)}exitRule(t){t.exitCreateNamespace&&t.exitCreateNamespace(this)}accept(t){return t.visitCreateNamespace?t.visitCreateNamespace(this):t.visitChildren(this)}}class p7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterSetTableSerDeProperties&&t.enterSetTableSerDeProperties(this)}exitRule(t){t.exitSetTableSerDeProperties&&t.exitSetTableSerDeProperties(this)}accept(t){return t.visitSetTableSerDeProperties?t.visitSetTableSerDeProperties(this):t.visitChildren(this)}}class D7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}enterRule(t){t.enterRefreshMaterializedView&&t.enterRefreshMaterializedView(this)}exitRule(t){t.exitRefreshMaterializedView&&t.exitRefreshMaterializedView(this)}accept(t){return t.visitRefreshMaterializedView?t.visitRefreshMaterializedView(this):t.visitChildren(this)}}class M7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}tableName(){return this.getRuleContext(0,H)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}propertyKey(){return this.getRuleContext(0,an)}enterRule(t){t.enterShowTblProperties&&t.enterShowTblProperties(this)}exitRule(t){t.exitShowTblProperties&&t.exitShowTblProperties(this)}accept(t){return t.visitShowTblProperties?t.visitShowTblProperties(this):t.visitChildren(this)}}class y7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}enterRule(t){t.enterShowCreateMaterializedView&&t.enterShowCreateMaterializedView(this)}exitRule(t){t.exitShowCreateMaterializedView&&t.exitShowCreateMaterializedView(this)}accept(t){return t.visitShowCreateMaterializedView?t.visitShowCreateMaterializedView(this):t.visitChildren(this)}}class U7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterUnsetTableProperties&&t.enterUnsetTableProperties(this)}exitRule(t){t.exitUnsetTableProperties&&t.exitUnsetTableProperties(this)}accept(t){return t.visitUnsetTableProperties?t.visitUnsetTableProperties(this):t.visitChildren(this)}}class v7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_SET(){return this.getToken(e.KW_SET,0)}locationSpec(){return this.getRuleContext(0,zt)}partitionSpec(){return this.getRuleContext(0,At)}enterRule(t){t.enterSetTableLocation&&t.enterSetTableLocation(this)}exitRule(t){t.exitSetTableLocation&&t.exitSetTableLocation(this)}accept(t){return t.visitSetTableLocation?t.visitSetTableLocation(this):t.visitChildren(this)}}class w7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}columnNameSeq(){return this.getRuleContext(0,gi)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}ifExists(){return this.getRuleContext(0,Gt)}enterRule(t){t.enterDropTableColumns&&t.enterDropTableColumns(this)}exitRule(t){t.exitDropTableColumns&&t.exitDropTableColumns(this)}accept(t){return t.visitDropTableColumns?t.visitDropTableColumns(this):t.visitChildren(this)}}class b7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}stringLit(){return this.getRuleContext(0,X)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}enterRule(t){t.enterShowViews&&t.enterShowViews(this)}exitRule(t){t.exitShowViews&&t.exitShowViews(this)}accept(t){return t.visitShowViews?t.visitShowViews(this):t.visitChildren(this)}}class H7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}functionKind(){return this.getRuleContext(0,w3)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}namespaceName(){return this.getRuleContext(0,Ft)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}stringLit(){return this.getRuleContext(0,X)}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}class F7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_LAZY(){return this.getToken(e.KW_LAZY,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}query(){return this.getRuleContext(0,dt)}propertyList(){return this.getRuleContext(0,ht)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterCacheTable&&t.enterCacheTable(this)}exitRule(t){t.exitCacheTable&&t.exitCacheTable(this)}accept(t){return t.visitCacheTable?t.visitCacheTable(this):t.visitChildren(this)}}class B7 extends N{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}enterRule(t){t.enterSetTableProperties&&t.enterSetTableProperties(this)}exitRule(t){t.exitSetTableProperties&&t.exitSetTableProperties(this)}accept(t){return t.visitSetTableProperties?t.visitSetTableProperties(this):t.visitChildren(this)}}class W3 extends R{constructor(t,i){super(t,i)}stringLit(){return this.getRuleContext(0,X)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}get ruleIndex(){return e.RULE_timezone}enterRule(t){t.enterTimezone&&t.enterTimezone(this)}exitRule(t){t.exitTimezone&&t.exitTimezone(this)}accept(t){return t.visitTimezone?t.visitTimezone(this):t.visitChildren(this)}}class on extends R{constructor(t,i){super(t,i)}quotedIdentifier(){return this.getRuleContext(0,x2)}get ruleIndex(){return e.RULE_configKey}enterRule(t){t.enterConfigKey&&t.enterConfigKey(this)}exitRule(t){t.exitConfigKey&&t.exitConfigKey(this)}accept(t){return t.visitConfigKey?t.visitConfigKey(this):t.visitChildren(this)}}class Wr extends R{constructor(t,i){super(t,i)}backQuotedIdentifier(){return this.getRuleContext(0,Co)}get ruleIndex(){return e.RULE_configValue}enterRule(t){t.enterConfigValue&&t.enterConfigValue(this)}exitRule(t){t.exitConfigValue&&t.exitConfigValue(this)}accept(t){return t.visitConfigValue?t.visitConfigValue(this):t.visitChildren(this)}}class _3 extends R{constructor(t,i){super(t,i)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}tableName(){return this.getRuleContext(0,H)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}partitionSpec(){return this.getRuleContext(0,At)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_DFS(){return this.getToken(e.KW_DFS,0)}get ruleIndex(){return e.RULE_unsupportedHiveNativeCommands}enterRule(t){t.enterUnsupportedHiveNativeCommands&&t.enterUnsupportedHiveNativeCommands(this)}exitRule(t){t.exitUnsupportedHiveNativeCommands&&t.exitUnsupportedHiveNativeCommands(this)}accept(t){return t.visitUnsupportedHiveNativeCommands?t.visitUnsupportedHiveNativeCommands(this):t.visitChildren(this)}}class A3 extends R{constructor(t,i){super(t,i)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,un)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}ifNotExists(){return this.getRuleContext(0,de)}get ruleIndex(){return e.RULE_createTableHeader}enterRule(t){t.enterCreateTableHeader&&t.enterCreateTableHeader(this)}exitRule(t){t.exitCreateTableHeader&&t.exitCreateTableHeader(this)}accept(t){return t.visitCreateTableHeader?t.visitCreateTableHeader(this):t.visitChildren(this)}}class K3 extends R{constructor(t,i){super(t,i)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,un)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_OR(){return this.getToken(e.KW_OR,0)}get ruleIndex(){return e.RULE_replaceTableHeader}enterRule(t){t.enterReplaceTableHeader&&t.enterReplaceTableHeader(this)}exitRule(t){t.exitReplaceTableHeader&&t.exitReplaceTableHeader(this)}accept(t){return t.visitReplaceTableHeader?t.visitReplaceTableHeader(this):t.visitChildren(this)}}class fi extends R{constructor(t,i){super(t,i)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}identifierList(){return this.getRuleContext(0,Ce)}KW_INTO(){return this.getToken(e.KW_INTO,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}orderedIdentifierList(){return this.getRuleContext(0,Z3)}get ruleIndex(){return e.RULE_bucketSpec}enterRule(t){t.enterBucketSpec&&t.enterBucketSpec(this)}exitRule(t){t.exitBucketSpec&&t.exitBucketSpec(this)}accept(t){return t.visitBucketSpec?t.visitBucketSpec(this):t.visitChildren(this)}}class Ci extends R{constructor(t,i){super(t,i)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}identifierList(){return this.getRuleContext(0,Ce)}KW_ON(){return this.getToken(e.KW_ON,0)}constantList(){return this.getRuleContext(0,cn)}nestedConstantList(){return this.getRuleContext(0,N3)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}get ruleIndex(){return e.RULE_skewSpec}enterRule(t){t.enterSkewSpec&&t.enterSkewSpec(this)}exitRule(t){t.exitSkewSpec&&t.exitSkewSpec(this)}accept(t){return t.visitSkewSpec?t.visitSkewSpec(this):t.visitChildren(this)}}class zt extends R{constructor(t,i){super(t,i)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_locationSpec}enterRule(t){t.enterLocationSpec&&t.enterLocationSpec(this)}exitRule(t){t.exitLocationSpec&&t.exitLocationSpec(this)}accept(t){return t.visitLocationSpec?t.visitLocationSpec(this):t.visitChildren(this)}}class Ut extends R{constructor(t,i){super(t,i)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_commentSpec}enterRule(t){t.enterCommentSpec&&t.enterCommentSpec(this)}exitRule(t){t.exitCommentSpec&&t.exitCommentSpec(this)}accept(t){return t.visitCommentSpec?t.visitCommentSpec(this):t.visitChildren(this)}}class dt extends R{constructor(t,i){super(t,i)}get ruleIndex(){return e.RULE_query}copyFrom(t){super.copyFrom(t)}}class V7 extends dt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryTerm(){return this.getRuleContext(0,ke)}queryOrganization(){return this.getRuleContext(0,xr)}ctes(){return this.getRuleContext(0,fr)}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class _r extends R{constructor(t,i){super(t,i)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}tableName(){return this.getRuleContext(0,H)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}partitionSpec(){return this.getRuleContext(0,At)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_NAME(){return this.getToken(e.KW_NAME,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}columnNameSeq(){return this.getRuleContext(0,gi)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}ifNotExists(){return this.getRuleContext(0,de)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}whereClause(){return this.getRuleContext(0,R1)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}stringLit(){return this.getRuleContext(0,X)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}rowFormat(){return this.getRuleContext(0,Re)}createFileFormat(){return this.getRuleContext(0,Ve)}tableProvider(){return this.getRuleContext(0,Be)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}get ruleIndex(){return e.RULE_insertInto}enterRule(t){t.enterInsertInto&&t.enterInsertInto(this)}exitRule(t){t.exitInsertInto&&t.exitInsertInto(this)}accept(t){return t.visitInsertInto?t.visitInsertInto(this):t.visitChildren(this)}}class Ar extends R{constructor(t,i){super(t,i)}partitionSpec(){return this.getRuleContext(0,At)}locationSpec(){return this.getRuleContext(0,zt)}get ruleIndex(){return e.RULE_partitionSpecLocation}enterRule(t){t.enterPartitionSpecLocation&&t.enterPartitionSpecLocation(this)}exitRule(t){t.exitPartitionSpecLocation&&t.exitPartitionSpecLocation(this)}accept(t){return t.visitPartitionSpecLocation?t.visitPartitionSpecLocation(this):t.visitChildren(this)}}class At extends R{constructor(t,i){super(t,i)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}partitionVal(t){return t===void 0?this.getRuleContexts(Kr):this.getRuleContext(t,Kr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionSpec}enterRule(t){t.enterPartitionSpec&&t.enterPartitionSpec(this)}exitRule(t){t.exitPartitionSpec&&t.exitPartitionSpec(this)}accept(t){return t.visitPartitionSpec?t.visitPartitionSpec(this):t.visitChildren(this)}}class Kr extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}EQ(){return this.getToken(e.EQ,0)}constant(){return this.getRuleContext(0,k1)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}get ruleIndex(){return e.RULE_partitionVal}enterRule(t){t.enterPartitionVal&&t.enterPartitionVal(this)}exitRule(t){t.exitPartitionVal&&t.exitPartitionVal(this)}accept(t){return t.visitPartitionVal?t.visitPartitionVal(this):t.visitChildren(this)}}class Fe extends R{constructor(t,i){super(t,i)}KW_NAMESPACE(){return this.getToken(e.KW_NAMESPACE,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}get ruleIndex(){return e.RULE_namespace}enterRule(t){t.enterNamespace&&t.enterNamespace(this)}exitRule(t){t.exitNamespace&&t.exitNamespace(this)}accept(t){return t.visitNamespace?t.visitNamespace(this):t.visitChildren(this)}}class f3 extends R{constructor(t,i){super(t,i)}KW_NAMESPACES(){return this.getToken(e.KW_NAMESPACES,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}get ruleIndex(){return e.RULE_namespaces}enterRule(t){t.enterNamespaces&&t.enterNamespaces(this)}exitRule(t){t.exitNamespaces&&t.exitNamespaces(this)}accept(t){return t.visitNamespaces?t.visitNamespaces(this):t.visitChildren(this)}}class C3 extends R{constructor(t,i){super(t,i)}identifierReference(){return this.getRuleContext(0,B1)}stringLit(){return this.getRuleContext(0,X)}comparisonOperator(){return this.getRuleContext(0,u2)}arithmeticOperator(){return this.getRuleContext(0,ho)}predicateOperator(){return this.getRuleContext(0,oo)}get ruleIndex(){return e.RULE_describeFuncName}enterRule(t){t.enterDescribeFuncName&&t.enterDescribeFuncName(this)}exitRule(t){t.exitDescribeFuncName&&t.exitDescribeFuncName(this)}accept(t){return t.visitDescribeFuncName?t.visitDescribeFuncName(this):t.visitChildren(this)}}class m3 extends R{constructor(t,i){super(t,i),this._nameParts=[]}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_describeColName}enterRule(t){t.enterDescribeColName&&t.enterDescribeColName(this)}exitRule(t){t.exitDescribeColName&&t.exitDescribeColName(this)}accept(t){return t.visitDescribeColName?t.visitDescribeColName(this):t.visitChildren(this)}}class fr extends R{constructor(t,i){super(t,i)}KW_WITH(){return this.getToken(e.KW_WITH,0)}namedQuery(t){return t===void 0?this.getRuleContexts(Cr):this.getRuleContext(t,Cr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_ctes}enterRule(t){t.enterCtes&&t.enterCtes(this)}exitRule(t){t.exitCtes&&t.exitCtes(this)}accept(t){return t.visitCtes?t.visitCtes(this):t.visitChildren(this)}}class Cr extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}KW_AS(){return this.getToken(e.KW_AS,0)}identifierList(){return this.getRuleContext(0,Ce)}get ruleIndex(){return e.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}class Be extends R{constructor(t,i){super(t,i)}KW_USING(){return this.getToken(e.KW_USING,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_tableProvider}enterRule(t){t.enterTableProvider&&t.enterTableProvider(this)}exitRule(t){t.exitTableProvider&&t.exitTableProvider(this)}accept(t){return t.visitTableProvider?t.visitTableProvider(this):t.visitChildren(this)}}class mr extends R{constructor(t,i){super(t,i)}skewSpec(t){return t===void 0?this.getRuleContexts(Ci):this.getRuleContext(t,Ci)}bucketSpec(t){return t===void 0?this.getRuleContexts(fi):this.getRuleContext(t,fi)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}createFileFormat(t){return t===void 0?this.getRuleContexts(Ve):this.getRuleContext(t,Ve)}locationSpec(t){return t===void 0?this.getRuleContexts(zt):this.getRuleContext(t,zt)}commentSpec(t){return t===void 0?this.getRuleContexts(Ut):this.getRuleContext(t,Ut)}tableLifecycle(t){return t===void 0?this.getRuleContexts(mi):this.getRuleContext(t,mi)}KW_OPTIONS(t){return t===void 0?this.getTokens(e.KW_OPTIONS):this.getToken(e.KW_OPTIONS,t)}KW_PARTITIONED(t){return t===void 0?this.getTokens(e.KW_PARTITIONED):this.getToken(e.KW_PARTITIONED,t)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_TBLPROPERTIES(t){return t===void 0?this.getTokens(e.KW_TBLPROPERTIES):this.getToken(e.KW_TBLPROPERTIES,t)}expressionPropertyList(t){return t===void 0?this.getRuleContexts(Nr):this.getRuleContext(t,Nr)}partitionFieldList(t){return t===void 0?this.getRuleContexts(Oi):this.getRuleContext(t,Oi)}propertyList(t){return t===void 0?this.getRuleContexts(ht):this.getRuleContext(t,ht)}get ruleIndex(){return e.RULE_createTableClauses}enterRule(t){t.enterCreateTableClauses&&t.enterCreateTableClauses(this)}exitRule(t){t.exitCreateTableClauses&&t.exitCreateTableClauses(this)}accept(t){return t.visitCreateTableClauses?t.visitCreateTableClauses(this):t.visitChildren(this)}}class mi extends R{constructor(t,i){super(t,i)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}get ruleIndex(){return e.RULE_tableLifecycle}enterRule(t){t.enterTableLifecycle&&t.enterTableLifecycle(this)}exitRule(t){t.exitTableLifecycle&&t.exitTableLifecycle(this)}accept(t){return t.visitTableLifecycle?t.visitTableLifecycle(this):t.visitChildren(this)}}class ht extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}property(t){return t===void 0?this.getRuleContexts(gr):this.getRuleContext(t,gr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_propertyList}enterRule(t){t.enterPropertyList&&t.enterPropertyList(this)}exitRule(t){t.exitPropertyList&&t.exitPropertyList(this)}accept(t){return t.visitPropertyList?t.visitPropertyList(this):t.visitChildren(this)}}class gr extends R{constructor(t,i){super(t,i)}propertyKey(){return this.getRuleContext(0,an)}propertyValue(){return this.getRuleContext(0,g3)}EQ(){return this.getToken(e.EQ,0)}get ruleIndex(){return e.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}class an extends R{constructor(t,i){super(t,i)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_propertyKey}enterRule(t){t.enterPropertyKey&&t.enterPropertyKey(this)}exitRule(t){t.exitPropertyKey&&t.exitPropertyKey(this)}accept(t){return t.visitPropertyKey?t.visitPropertyKey(this):t.visitChildren(this)}}class g3 extends R{constructor(t,i){super(t,i)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}booleanValue(){return this.getRuleContext(0,l2)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_propertyValue}enterRule(t){t.enterPropertyValue&&t.enterPropertyValue(this)}exitRule(t){t.exitPropertyValue&&t.exitPropertyValue(this)}accept(t){return t.visitPropertyValue?t.visitPropertyValue(this):t.visitChildren(this)}}class Nr extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expressionProperty(t){return t===void 0?this.getRuleContexts(Lr):this.getRuleContext(t,Lr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionPropertyList}enterRule(t){t.enterExpressionPropertyList&&t.enterExpressionPropertyList(this)}exitRule(t){t.exitExpressionPropertyList&&t.exitExpressionPropertyList(this)}accept(t){return t.visitExpressionPropertyList?t.visitExpressionPropertyList(this):t.visitChildren(this)}}class Lr extends R{constructor(t,i){super(t,i)}propertyKey(){return this.getRuleContext(0,an)}expression(){return this.getRuleContext(0,k)}EQ(){return this.getToken(e.EQ,0)}get ruleIndex(){return e.RULE_expressionProperty}enterRule(t){t.enterExpressionProperty&&t.enterExpressionProperty(this)}exitRule(t){t.exitExpressionProperty&&t.exitExpressionProperty(this)}accept(t){return t.visitExpressionProperty?t.visitExpressionProperty(this):t.visitChildren(this)}}class cn extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}constant(t){return t===void 0?this.getRuleContexts(k1):this.getRuleContext(t,k1)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_constantList}enterRule(t){t.enterConstantList&&t.enterConstantList(this)}exitRule(t){t.exitConstantList&&t.exitConstantList(this)}accept(t){return t.visitConstantList?t.visitConstantList(this):t.visitChildren(this)}}class N3 extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}constantList(t){return t===void 0?this.getRuleContexts(cn):this.getRuleContext(t,cn)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_nestedConstantList}enterRule(t){t.enterNestedConstantList&&t.enterNestedConstantList(this)}exitRule(t){t.exitNestedConstantList&&t.exitNestedConstantList(this)}accept(t){return t.visitNestedConstantList?t.visitNestedConstantList(this):t.visitChildren(this)}}class Ve extends R{constructor(t,i){super(t,i)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}fileFormat(){return this.getRuleContext(0,L3)}KW_BY(){return this.getToken(e.KW_BY,0)}storageHandler(){return this.getRuleContext(0,I3)}get ruleIndex(){return e.RULE_createFileFormat}enterRule(t){t.enterCreateFileFormat&&t.enterCreateFileFormat(this)}exitRule(t){t.exitCreateFileFormat&&t.exitCreateFileFormat(this)}accept(t){return t.visitCreateFileFormat?t.visitCreateFileFormat(this):t.visitChildren(this)}}class L3 extends R{constructor(t,i){super(t,i)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_fileFormat}enterRule(t){t.enterFileFormat&&t.enterFileFormat(this)}exitRule(t){t.exitFileFormat&&t.exitFileFormat(this)}accept(t){return t.visitFileFormat?t.visitFileFormat(this):t.visitChildren(this)}}class I3 extends R{constructor(t,i){super(t,i)}stringLit(){return this.getRuleContext(0,X)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}get ruleIndex(){return e.RULE_storageHandler}enterRule(t){t.enterStorageHandler&&t.enterStorageHandler(this)}exitRule(t){t.exitStorageHandler&&t.exitStorageHandler(this)}accept(t){return t.visitStorageHandler?t.visitStorageHandler(this):t.visitChildren(this)}}class Ir extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_resource}enterRule(t){t.enterResource&&t.enterResource(this)}exitRule(t){t.exitResource&&t.exitResource(this)}accept(t){return t.visitResource?t.visitResource(this):t.visitChildren(this)}}class d1 extends R{constructor(t,i){super(t,i)}get ruleIndex(){return e.RULE_dmlStatementNoWith}copyFrom(t){super.copyFrom(t)}}class k7 extends d1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}tableName(){return this.getRuleContext(0,H)}tableAlias(){return this.getRuleContext(0,me)}whereClause(){return this.getRuleContext(0,R1)}enterRule(t){t.enterDeleteFromTable&&t.enterDeleteFromTable(this)}exitRule(t){t.exitDeleteFromTable&&t.exitDeleteFromTable(this)}accept(t){return t.visitDeleteFromTable?t.visitDeleteFromTable(this):t.visitChildren(this)}}class G7 extends d1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fromClause(){return this.getRuleContext(0,Tn)}multiInsertQueryBody(t){return t===void 0?this.getRuleContexts(Or):this.getRuleContext(t,Or)}enterRule(t){t.enterMultipleInsert&&t.enterMultipleInsert(this)}exitRule(t){t.exitMultipleInsert&&t.exitMultipleInsert(this)}accept(t){return t.visitMultipleInsert?t.visitMultipleInsert(this):t.visitChildren(this)}}class Y7 extends d1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}tableName(){return this.getRuleContext(0,H)}tableAlias(){return this.getRuleContext(0,me)}setClause(){return this.getRuleContext(0,M3)}whereClause(){return this.getRuleContext(0,R1)}enterRule(t){t.enterUpdateTable&&t.enterUpdateTable(this)}exitRule(t){t.exitUpdateTable&&t.exitUpdateTable(this)}accept(t){return t.visitUpdateTable?t.visitUpdateTable(this):t.visitChildren(this)}}class S7 extends d1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}insertInto(){return this.getRuleContext(0,_r)}query(){return this.getRuleContext(0,dt)}enterRule(t){t.enterInsertFromQuery&&t.enterInsertFromQuery(this)}exitRule(t){t.exitInsertFromQuery&&t.exitInsertFromQuery(this)}accept(t){return t.visitInsertFromQuery?t.visitInsertFromQuery(this):t.visitChildren(this)}}class Q7 extends d1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_USING(){return this.getToken(e.KW_USING,0)}KW_ON(){return this.getToken(e.KW_ON,0)}tableName(){return this.getRuleContext(0,H)}tableAlias(t){return t===void 0?this.getRuleContexts(me):this.getRuleContext(t,me)}booleanExpression(){return this.getRuleContext(0,vt)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}identifierReference(){return this.getRuleContext(0,B1)}query(){return this.getRuleContext(0,dt)}matchedClause(t){return t===void 0?this.getRuleContexts(Mr):this.getRuleContext(t,Mr)}notMatchedClause(t){return t===void 0?this.getRuleContexts(yr):this.getRuleContext(t,yr)}notMatchedBySourceClause(t){return t===void 0?this.getRuleContexts(Ur):this.getRuleContext(t,Ur)}enterRule(t){t.enterMergeIntoTable&&t.enterMergeIntoTable(this)}exitRule(t){t.exitMergeIntoTable&&t.exitMergeIntoTable(this)}accept(t){return t.visitMergeIntoTable?t.visitMergeIntoTable(this):t.visitChildren(this)}}class Ft extends R{constructor(t,i){super(t,i)}identifierReference(){return this.getRuleContext(0,B1)}get ruleIndex(){return e.RULE_namespaceName}enterRule(t){t.enterNamespaceName&&t.enterNamespaceName(this)}exitRule(t){t.exitNamespaceName&&t.exitNamespaceName(this)}accept(t){return t.visitNamespaceName?t.visitNamespaceName(this):t.visitChildren(this)}}class x3 extends R{constructor(t,i){super(t,i)}identifierReference(){return this.getRuleContext(0,B1)}get ruleIndex(){return e.RULE_namespaceNameCreate}enterRule(t){t.enterNamespaceNameCreate&&t.enterNamespaceNameCreate(this)}exitRule(t){t.exitNamespaceNameCreate&&t.exitNamespaceNameCreate(this)}accept(t){return t.visitNamespaceNameCreate?t.visitNamespaceNameCreate(this):t.visitChildren(this)}}class un extends R{constructor(t,i){super(t,i)}tableIdentifier(){return this.getRuleContext(0,r2)}get ruleIndex(){return e.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class H extends R{constructor(t,i){super(t,i)}tableIdentifier(){return this.getRuleContext(0,r2)}get ruleIndex(){return e.RULE_tableName}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}class ln extends R{constructor(t,i){super(t,i)}viewIdentifier(){return this.getRuleContext(0,h2)}get ruleIndex(){return e.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class Lt extends R{constructor(t,i){super(t,i)}viewIdentifier(){return this.getRuleContext(0,h2)}get ruleIndex(){return e.RULE_viewName}enterRule(t){t.enterViewName&&t.enterViewName(this)}exitRule(t){t.exitViewName&&t.exitViewName(this)}accept(t){return t.visitViewName?t.visitViewName(this):t.visitChildren(this)}}class kt extends R{constructor(t,i){super(t,i)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class gi extends R{constructor(t,i){super(t,i)}columnName(t){return t===void 0?this.getRuleContexts(kt):this.getRuleContext(t,kt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_columnNameSeq}enterRule(t){t.enterColumnNameSeq&&t.enterColumnNameSeq(this)}exitRule(t){t.exitColumnNameSeq&&t.exitColumnNameSeq(this)}accept(t){return t.visitColumnNameSeq?t.visitColumnNameSeq(this):t.visitChildren(this)}}class Ni extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}get ruleIndex(){return e.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class B1 extends R{constructor(t,i){super(t,i)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_identifierReference}enterRule(t){t.enterIdentifierReference&&t.enterIdentifierReference(this)}exitRule(t){t.exitIdentifierReference&&t.exitIdentifierReference(this)}accept(t){return t.visitIdentifierReference?t.visitIdentifierReference(this):t.visitChildren(this)}}class xr extends R{constructor(t,i){super(t,i),this._order=[],this._clusterBy=[],this._distributeBy=[],this._sort=[]}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}windowClause(){return this.getRuleContext(0,gn)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}sortItem(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}KW_ALL(){return this.getToken(e.KW_ALL,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_queryOrganization}enterRule(t){t.enterQueryOrganization&&t.enterQueryOrganization(this)}exitRule(t){t.exitQueryOrganization&&t.exitQueryOrganization(this)}accept(t){return t.visitQueryOrganization?t.visitQueryOrganization(this):t.visitChildren(this)}}class Or extends R{constructor(t,i){super(t,i)}insertInto(){return this.getRuleContext(0,_r)}fromStatementBody(){return this.getRuleContext(0,En)}get ruleIndex(){return e.RULE_multiInsertQueryBody}enterRule(t){t.enterMultiInsertQueryBody&&t.enterMultiInsertQueryBody(this)}exitRule(t){t.exitMultiInsertQueryBody&&t.exitMultiInsertQueryBody(this)}accept(t){return t.visitMultiInsertQueryBody?t.visitMultiInsertQueryBody(this):t.visitChildren(this)}}class ke extends R{constructor(t,i){super(t,i)}queryPrimary(){return this.getRuleContext(0,O3)}queryTerm(t){return t===void 0?this.getRuleContexts(ke):this.getRuleContext(t,ke)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}setQuantifier(){return this.getRuleContext(0,Ii)}get ruleIndex(){return e.RULE_queryTerm}enterRule(t){t.enterQueryTerm&&t.enterQueryTerm(this)}exitRule(t){t.exitQueryTerm&&t.exitQueryTerm(this)}accept(t){return t.visitQueryTerm?t.visitQueryTerm(this):t.visitChildren(this)}}class O3 extends R{constructor(t,i){super(t,i)}querySpecification(){return this.getRuleContext(0,D3)}fromStatement(){return this.getRuleContext(0,p3)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}inlineTable(){return this.getRuleContext(0,t2)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_queryPrimary}enterRule(t){t.enterQueryPrimary&&t.enterQueryPrimary(this)}exitRule(t){t.exitQueryPrimary&&t.exitQueryPrimary(this)}accept(t){return t.visitQueryPrimary?t.visitQueryPrimary(this):t.visitChildren(this)}}class Ge extends R{constructor(t,i){super(t,i)}columnName(){return this.getRuleContext(0,kt)}expression(){return this.getRuleContext(0,k)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}get ruleIndex(){return e.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}class p3 extends R{constructor(t,i){super(t,i)}fromClause(){return this.getRuleContext(0,Tn)}fromStatementBody(t){return t===void 0?this.getRuleContexts(En):this.getRuleContext(t,En)}get ruleIndex(){return e.RULE_fromStatement}enterRule(t){t.enterFromStatement&&t.enterFromStatement(this)}exitRule(t){t.exitFromStatement&&t.exitFromStatement(this)}accept(t){return t.visitFromStatement?t.visitFromStatement(this):t.visitChildren(this)}}class En extends R{constructor(t,i){super(t,i)}transformClause(){return this.getRuleContext(0,pr)}queryOrganization(){return this.getRuleContext(0,xr)}whereClause(){return this.getRuleContext(0,R1)}selectClause(){return this.getRuleContext(0,Dr)}lateralView(t){return t===void 0?this.getRuleContexts(W1):this.getRuleContext(t,W1)}aggregationClause(){return this.getRuleContext(0,Fr)}havingClause(){return this.getRuleContext(0,wr)}windowClause(){return this.getRuleContext(0,gn)}get ruleIndex(){return e.RULE_fromStatementBody}enterRule(t){t.enterFromStatementBody&&t.enterFromStatementBody(this)}exitRule(t){t.exitFromStatementBody&&t.exitFromStatementBody(this)}accept(t){return t.visitFromStatementBody?t.visitFromStatementBody(this):t.visitChildren(this)}}class D3 extends R{constructor(t,i){super(t,i)}transformClause(){return this.getRuleContext(0,pr)}fromClause(){return this.getRuleContext(0,Tn)}lateralView(t){return t===void 0?this.getRuleContexts(W1):this.getRuleContext(t,W1)}whereClause(){return this.getRuleContext(0,R1)}aggregationClause(){return this.getRuleContext(0,Fr)}havingClause(){return this.getRuleContext(0,wr)}windowClause(){return this.getRuleContext(0,gn)}selectClause(){return this.getRuleContext(0,Dr)}get ruleIndex(){return e.RULE_querySpecification}enterRule(t){t.enterQuerySpecification&&t.enterQuerySpecification(this)}exitRule(t){t.exitQuerySpecification&&t.exitQuerySpecification(this)}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}}class pr extends R{constructor(t,i){super(t,i)}KW_USING(){return this.getToken(e.KW_USING,0)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}expressionSeq(){return this.getRuleContext(0,io)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}rowFormat(t){return t===void 0?this.getRuleContexts(Re):this.getRuleContext(t,Re)}setQuantifier(){return this.getRuleContext(0,Ii)}identifierSeq(){return this.getRuleContext(0,$r)}colTypeList(){return this.getRuleContext(0,_2)}get ruleIndex(){return e.RULE_transformClause}enterRule(t){t.enterTransformClause&&t.enterTransformClause(this)}exitRule(t){t.exitTransformClause&&t.exitTransformClause(this)}accept(t){return t.visitTransformClause?t.visitTransformClause(this):t.visitChildren(this)}}class Dr extends R{constructor(t,i){super(t,i),this._hints=[]}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}namedExpressionSeq(){return this.getRuleContext(0,o2)}setQuantifier(){return this.getRuleContext(0,Ii)}hint(t){return t===void 0?this.getRuleContexts(br):this.getRuleContext(t,br)}get ruleIndex(){return e.RULE_selectClause}enterRule(t){t.enterSelectClause&&t.enterSelectClause(this)}exitRule(t){t.exitSelectClause&&t.exitSelectClause(this)}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}}class M3 extends R{constructor(t,i){super(t,i)}KW_SET(){return this.getToken(e.KW_SET,0)}assignmentList(){return this.getRuleContext(0,Li)}get ruleIndex(){return e.RULE_setClause}enterRule(t){t.enterSetClause&&t.enterSetClause(this)}exitRule(t){t.exitSetClause&&t.exitSetClause(this)}accept(t){return t.visitSetClause?t.visitSetClause(this):t.visitChildren(this)}}class Mr extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}matchedAction(){return this.getRuleContext(0,y3)}KW_AND(){return this.getToken(e.KW_AND,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_matchedClause}enterRule(t){t.enterMatchedClause&&t.enterMatchedClause(this)}exitRule(t){t.exitMatchedClause&&t.exitMatchedClause(this)}accept(t){return t.visitMatchedClause?t.visitMatchedClause(this):t.visitChildren(this)}}class yr extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}notMatchedAction(){return this.getRuleContext(0,U3)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_TARGET(){return this.getToken(e.KW_TARGET,0)}KW_AND(){return this.getToken(e.KW_AND,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_notMatchedClause}enterRule(t){t.enterNotMatchedClause&&t.enterNotMatchedClause(this)}exitRule(t){t.exitNotMatchedClause&&t.exitNotMatchedClause(this)}accept(t){return t.visitNotMatchedClause?t.visitNotMatchedClause(this):t.visitChildren(this)}}class Ur extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_SOURCE(){return this.getToken(e.KW_SOURCE,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}notMatchedBySourceAction(){return this.getRuleContext(0,v3)}KW_AND(){return this.getToken(e.KW_AND,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_notMatchedBySourceClause}enterRule(t){t.enterNotMatchedBySourceClause&&t.enterNotMatchedBySourceClause(this)}exitRule(t){t.exitNotMatchedBySourceClause&&t.exitNotMatchedBySourceClause(this)}accept(t){return t.visitNotMatchedBySourceClause?t.visitNotMatchedBySourceClause(this):t.visitChildren(this)}}class y3 extends R{constructor(t,i){super(t,i)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}assignmentList(){return this.getRuleContext(0,Li)}get ruleIndex(){return e.RULE_matchedAction}enterRule(t){t.enterMatchedAction&&t.enterMatchedAction(this)}exitRule(t){t.exitMatchedAction&&t.exitMatchedAction(this)}accept(t){return t.visitMatchedAction?t.visitMatchedAction(this):t.visitChildren(this)}}class U3 extends R{constructor(t,i){super(t,i)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}multipartIdentifierList(){return this.getRuleContext(0,s2)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_notMatchedAction}enterRule(t){t.enterNotMatchedAction&&t.enterNotMatchedAction(this)}exitRule(t){t.exitNotMatchedAction&&t.exitNotMatchedAction(this)}accept(t){return t.visitNotMatchedAction?t.visitNotMatchedAction(this):t.visitChildren(this)}}class v3 extends R{constructor(t,i){super(t,i)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}assignmentList(){return this.getRuleContext(0,Li)}get ruleIndex(){return e.RULE_notMatchedBySourceAction}enterRule(t){t.enterNotMatchedBySourceAction&&t.enterNotMatchedBySourceAction(this)}exitRule(t){t.exitNotMatchedBySourceAction&&t.exitNotMatchedBySourceAction(this)}accept(t){return t.visitNotMatchedBySourceAction?t.visitNotMatchedBySourceAction(this):t.visitChildren(this)}}class Li extends R{constructor(t,i){super(t,i)}assignment(t){return t===void 0?this.getRuleContexts(vr):this.getRuleContext(t,vr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_assignmentList}enterRule(t){t.enterAssignmentList&&t.enterAssignmentList(this)}exitRule(t){t.exitAssignmentList&&t.exitAssignmentList(this)}accept(t){return t.visitAssignmentList?t.visitAssignmentList(this):t.visitChildren(this)}}class vr extends R{constructor(t,i){super(t,i)}EQ(){return this.getToken(e.EQ,0)}multipartIdentifier(){return this.getRuleContext(0,Pt)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_assignment}enterRule(t){t.enterAssignment&&t.enterAssignment(this)}exitRule(t){t.exitAssignment&&t.exitAssignment(this)}accept(t){return t.visitAssignment?t.visitAssignment(this):t.visitChildren(this)}}class R1 extends R{constructor(t,i){super(t,i)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_whereClause}enterRule(t){t.enterWhereClause&&t.enterWhereClause(this)}exitRule(t){t.exitWhereClause&&t.exitWhereClause(this)}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}}class wr extends R{constructor(t,i){super(t,i)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_havingClause}enterRule(t){t.enterHavingClause&&t.enterHavingClause(this)}exitRule(t){t.exitHavingClause&&t.exitHavingClause(this)}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}}class br extends R{constructor(t,i){super(t,i),this._hintStatements=[]}HENT_START(){return this.getToken(e.HENT_START,0)}HENT_END(){return this.getToken(e.HENT_END,0)}hintStatement(t){return t===void 0?this.getRuleContexts(Hr):this.getRuleContext(t,Hr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_hint}enterRule(t){t.enterHint&&t.enterHint(this)}exitRule(t){t.exitHint&&t.exitHint(this)}accept(t){return t.visitHint?t.visitHint(this):t.visitChildren(this)}}class Hr extends R{constructor(t,i){super(t,i),this._parameters=[]}identifier(){return this.getRuleContext(0,Q)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}primaryExpression(t){return t===void 0?this.getRuleContexts(Ye):this.getRuleContext(t,Ye)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_hintStatement}enterRule(t){t.enterHintStatement&&t.enterHintStatement(this)}exitRule(t){t.exitHintStatement&&t.exitHintStatement(this)}accept(t){return t.visitHintStatement?t.visitHintStatement(this):t.visitChildren(this)}}class Tn extends R{constructor(t,i){super(t,i)}KW_FROM(){return this.getToken(e.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(Wn):this.getRuleContext(t,Wn)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}lateralView(t){return t===void 0?this.getRuleContexts(W1):this.getRuleContext(t,W1)}pivotClause(){return this.getRuleContext(0,Gr)}unpivotClause(){return this.getRuleContext(0,Sr)}get ruleIndex(){return e.RULE_fromClause}enterRule(t){t.enterFromClause&&t.enterFromClause(this)}exitRule(t){t.exitFromClause&&t.exitFromClause(this)}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}}class w3 extends R{constructor(t,i){super(t,i)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}get ruleIndex(){return e.RULE_functionKind}enterRule(t){t.enterFunctionKind&&t.enterFunctionKind(this)}exitRule(t){t.exitFunctionKind&&t.exitFunctionKind(this)}accept(t){return t.visitFunctionKind?t.visitFunctionKind(this):t.visitChildren(this)}}class b3 extends R{constructor(t,i){super(t,i)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_OF(){return this.getToken(e.KW_OF,0)}version(){return this.getRuleContext(0,No)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}valueExpression(){return this.getRuleContext(0,It)}get ruleIndex(){return e.RULE_temporalClause}enterRule(t){t.enterTemporalClause&&t.enterTemporalClause(this)}exitRule(t){t.exitTemporalClause&&t.exitTemporalClause(this)}accept(t){return t.visitTemporalClause?t.visitTemporalClause(this):t.visitChildren(this)}}class Fr extends R{constructor(t,i){super(t,i),this._groupingExpressionsWithGroupingAnalytics=[],this._groupingExpressions=[]}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_BY(){return this.getToken(e.KW_BY,0)}groupByClause(t){return t===void 0?this.getRuleContexts(Br):this.getRuleContext(t,Br)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}groupingSet(t){return t===void 0?this.getRuleContexts(V1):this.getRuleContext(t,V1)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}get ruleIndex(){return e.RULE_aggregationClause}enterRule(t){t.enterAggregationClause&&t.enterAggregationClause(this)}exitRule(t){t.exitAggregationClause&&t.exitAggregationClause(this)}accept(t){return t.visitAggregationClause?t.visitAggregationClause(this):t.visitChildren(this)}}class Br extends R{constructor(t,i){super(t,i)}columnName(){return this.getRuleContext(0,kt)}groupingAnalytics(){return this.getRuleContext(0,Vr)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_groupByClause}enterRule(t){t.enterGroupByClause&&t.enterGroupByClause(this)}exitRule(t){t.exitGroupByClause&&t.exitGroupByClause(this)}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}}class Vr extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}groupingSet(t){return t===void 0?this.getRuleContexts(V1):this.getRuleContext(t,V1)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}groupingElement(t){return t===void 0?this.getRuleContexts(kr):this.getRuleContext(t,kr)}get ruleIndex(){return e.RULE_groupingAnalytics}enterRule(t){t.enterGroupingAnalytics&&t.enterGroupingAnalytics(this)}exitRule(t){t.exitGroupingAnalytics&&t.exitGroupingAnalytics(this)}accept(t){return t.visitGroupingAnalytics?t.visitGroupingAnalytics(this):t.visitChildren(this)}}class kr extends R{constructor(t,i){super(t,i)}groupingAnalytics(){return this.getRuleContext(0,Vr)}groupingSet(){return this.getRuleContext(0,V1)}get ruleIndex(){return e.RULE_groupingElement}enterRule(t){t.enterGroupingElement&&t.enterGroupingElement(this)}exitRule(t){t.exitGroupingElement&&t.exitGroupingElement(this)}accept(t){return t.visitGroupingElement?t.visitGroupingElement(this):t.visitChildren(this)}}class V1 extends R{constructor(t,i){super(t,i)}columnName(t){return t===void 0?this.getRuleContexts(kt):this.getRuleContext(t,kt)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}class Gr extends R{constructor(t,i){super(t,i),this._pivotValues=[]}KW_PIVOT(){return this.getToken(e.KW_PIVOT,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}KW_FOR(){return this.getToken(e.KW_FOR,0)}pivotColumn(){return this.getRuleContext(0,H3)}KW_IN(){return this.getToken(e.KW_IN,0)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}namedExpressionSeq(){return this.getRuleContext(0,o2)}pivotValue(t){return t===void 0?this.getRuleContexts(Yr):this.getRuleContext(t,Yr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_pivotClause}enterRule(t){t.enterPivotClause&&t.enterPivotClause(this)}exitRule(t){t.exitPivotClause&&t.exitPivotClause(this)}accept(t){return t.visitPivotClause?t.visitPivotClause(this):t.visitChildren(this)}}class H3 extends R{constructor(t,i){super(t,i),this._identifiers=[]}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_pivotColumn}enterRule(t){t.enterPivotColumn&&t.enterPivotColumn(this)}exitRule(t){t.exitPivotColumn&&t.exitPivotColumn(this)}accept(t){return t.visitPivotColumn?t.visitPivotColumn(this):t.visitChildren(this)}}class Yr extends R{constructor(t,i){super(t,i)}expression(){return this.getRuleContext(0,k)}identifier(){return this.getRuleContext(0,Q)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_pivotValue}enterRule(t){t.enterPivotValue&&t.enterPivotValue(this)}exitRule(t){t.exitPivotValue&&t.exitPivotValue(this)}accept(t){return t.visitPivotValue?t.visitPivotValue(this):t.visitChildren(this)}}class Sr extends R{constructor(t,i){super(t,i)}KW_UNPIVOT(){return this.getToken(e.KW_UNPIVOT,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}unpivotOperator(){return this.getRuleContext(0,B3)}identifier(){return this.getRuleContext(0,Q)}unpivotNullClause(){return this.getRuleContext(0,F3)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_unpivotClause}enterRule(t){t.enterUnpivotClause&&t.enterUnpivotClause(this)}exitRule(t){t.exitUnpivotClause&&t.exitUnpivotClause(this)}accept(t){return t.visitUnpivotClause?t.visitUnpivotClause(this):t.visitChildren(this)}}class F3 extends R{constructor(t,i){super(t,i)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_INCLUDE(){return this.getToken(e.KW_INCLUDE,0)}KW_EXCLUDE(){return this.getToken(e.KW_EXCLUDE,0)}get ruleIndex(){return e.RULE_unpivotNullClause}enterRule(t){t.enterUnpivotNullClause&&t.enterUnpivotNullClause(this)}exitRule(t){t.exitUnpivotNullClause&&t.exitUnpivotNullClause(this)}accept(t){return t.visitUnpivotNullClause?t.visitUnpivotNullClause(this):t.visitChildren(this)}}class B3 extends R{constructor(t,i){super(t,i)}unpivotSingleValueColumnClause(){return this.getRuleContext(0,V3)}unpivotMultiValueColumnClause(){return this.getRuleContext(0,k3)}get ruleIndex(){return e.RULE_unpivotOperator}enterRule(t){t.enterUnpivotOperator&&t.enterUnpivotOperator(this)}exitRule(t){t.exitUnpivotOperator&&t.exitUnpivotOperator(this)}accept(t){return t.visitUnpivotOperator?t.visitUnpivotOperator(this):t.visitChildren(this)}}class V3 extends R{constructor(t,i){super(t,i),this._unpivotColumns=[]}unpivotValueColumn(){return this.getRuleContext(0,dn)}KW_FOR(){return this.getToken(e.KW_FOR,0)}unpivotNameColumn(){return this.getRuleContext(0,Xr)}KW_IN(){return this.getToken(e.KW_IN,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}unpivotColumnAndAlias(t){return t===void 0?this.getRuleContexts(Zr):this.getRuleContext(t,Zr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_unpivotSingleValueColumnClause}enterRule(t){t.enterUnpivotSingleValueColumnClause&&t.enterUnpivotSingleValueColumnClause(this)}exitRule(t){t.exitUnpivotSingleValueColumnClause&&t.exitUnpivotSingleValueColumnClause(this)}accept(t){return t.visitUnpivotSingleValueColumnClause?t.visitUnpivotSingleValueColumnClause(this):t.visitChildren(this)}}class k3 extends R{constructor(t,i){super(t,i),this._unpivotValueColumns=[],this._unpivotColumnSets=[]}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}KW_FOR(){return this.getToken(e.KW_FOR,0)}unpivotNameColumn(){return this.getRuleContext(0,Xr)}KW_IN(){return this.getToken(e.KW_IN,0)}unpivotValueColumn(t){return t===void 0?this.getRuleContexts(dn):this.getRuleContext(t,dn)}unpivotColumnSet(t){return t===void 0?this.getRuleContexts(Qr):this.getRuleContext(t,Qr)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_unpivotMultiValueColumnClause}enterRule(t){t.enterUnpivotMultiValueColumnClause&&t.enterUnpivotMultiValueColumnClause(this)}exitRule(t){t.exitUnpivotMultiValueColumnClause&&t.exitUnpivotMultiValueColumnClause(this)}accept(t){return t.visitUnpivotMultiValueColumnClause?t.visitUnpivotMultiValueColumnClause(this):t.visitChildren(this)}}class Qr extends R{constructor(t,i){super(t,i),this._unpivotColumns=[]}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}unpivotColumn(t){return t===void 0?this.getRuleContexts(Rn):this.getRuleContext(t,Rn)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}unpivotAlias(){return this.getRuleContext(0,zr)}get ruleIndex(){return e.RULE_unpivotColumnSet}enterRule(t){t.enterUnpivotColumnSet&&t.enterUnpivotColumnSet(this)}exitRule(t){t.exitUnpivotColumnSet&&t.exitUnpivotColumnSet(this)}accept(t){return t.visitUnpivotColumnSet?t.visitUnpivotColumnSet(this):t.visitChildren(this)}}class dn extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_unpivotValueColumn}enterRule(t){t.enterUnpivotValueColumn&&t.enterUnpivotValueColumn(this)}exitRule(t){t.exitUnpivotValueColumn&&t.exitUnpivotValueColumn(this)}accept(t){return t.visitUnpivotValueColumn?t.visitUnpivotValueColumn(this):t.visitChildren(this)}}class Xr extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_unpivotNameColumn}enterRule(t){t.enterUnpivotNameColumn&&t.enterUnpivotNameColumn(this)}exitRule(t){t.exitUnpivotNameColumn&&t.exitUnpivotNameColumn(this)}accept(t){return t.visitUnpivotNameColumn?t.visitUnpivotNameColumn(this):t.visitChildren(this)}}class Zr extends R{constructor(t,i){super(t,i)}unpivotColumn(){return this.getRuleContext(0,Rn)}unpivotAlias(){return this.getRuleContext(0,zr)}get ruleIndex(){return e.RULE_unpivotColumnAndAlias}enterRule(t){t.enterUnpivotColumnAndAlias&&t.enterUnpivotColumnAndAlias(this)}exitRule(t){t.exitUnpivotColumnAndAlias&&t.exitUnpivotColumnAndAlias(this)}accept(t){return t.visitUnpivotColumnAndAlias?t.visitUnpivotColumnAndAlias(this):t.visitChildren(this)}}class Rn extends R{constructor(t,i){super(t,i)}multipartIdentifier(){return this.getRuleContext(0,Pt)}get ruleIndex(){return e.RULE_unpivotColumn}enterRule(t){t.enterUnpivotColumn&&t.enterUnpivotColumn(this)}exitRule(t){t.exitUnpivotColumn&&t.exitUnpivotColumn(this)}accept(t){return t.visitUnpivotColumn?t.visitUnpivotColumn(this):t.visitChildren(this)}}class zr extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_unpivotAlias}enterRule(t){t.enterUnpivotAlias&&t.enterUnpivotAlias(this)}exitRule(t){t.exitUnpivotAlias&&t.exitUnpivotAlias(this)}accept(t){return t.visitUnpivotAlias?t.visitUnpivotAlias(this):t.visitChildren(this)}}class de extends R{constructor(t,i){super(t,i)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifNotExists}enterRule(t){t.enterIfNotExists&&t.enterIfNotExists(this)}exitRule(t){t.exitIfNotExists&&t.exitIfNotExists(this)}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}}class Gt extends R{constructor(t,i){super(t,i)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}get ruleIndex(){return e.RULE_ifExists}enterRule(t){t.enterIfExists&&t.enterIfExists(this)}exitRule(t){t.exitIfExists&&t.exitIfExists(this)}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}}class W1 extends R{constructor(t,i){super(t,i),this._colName=[]}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewName(){return this.getRuleContext(0,Lt)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,me)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_lateralView}enterRule(t){t.enterLateralView&&t.enterLateralView(this)}exitRule(t){t.exitLateralView&&t.exitLateralView(this)}accept(t){return t.visitLateralView?t.visitLateralView(this):t.visitChildren(this)}}class Ii extends R{constructor(t,i){super(t,i)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}get ruleIndex(){return e.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class Wn extends R{constructor(t,i){super(t,i)}tableName(){return this.getRuleContext(0,H)}relationPrimary(){return this.getRuleContext(0,qr)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}relationExtension(t){return t===void 0?this.getRuleContexts(Pr):this.getRuleContext(t,Pr)}get ruleIndex(){return e.RULE_relation}enterRule(t){t.enterRelation&&t.enterRelation(this)}exitRule(t){t.exitRelation&&t.exitRelation(this)}accept(t){return t.visitRelation?t.visitRelation(this):t.visitChildren(this)}}class Pr extends R{constructor(t,i){super(t,i)}joinRelation(){return this.getRuleContext(0,G3)}pivotClause(){return this.getRuleContext(0,Gr)}unpivotClause(){return this.getRuleContext(0,Sr)}get ruleIndex(){return e.RULE_relationExtension}enterRule(t){t.enterRelationExtension&&t.enterRelationExtension(this)}exitRule(t){t.exitRelationExtension&&t.exitRelationExtension(this)}accept(t){return t.visitRelationExtension?t.visitRelationExtension(this):t.visitChildren(this)}}class G3 extends R{constructor(t,i){super(t,i)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}relationPrimary(){return this.getRuleContext(0,qr)}joinType(){return this.getRuleContext(0,Y3)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}joinCriteria(){return this.getRuleContext(0,S3)}KW_NATURAL(){return this.getToken(e.KW_NATURAL,0)}get ruleIndex(){return e.RULE_joinRelation}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}class Y3 extends R{constructor(t,i){super(t,i)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}get ruleIndex(){return e.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}class S3 extends R{constructor(t,i){super(t,i)}KW_ON(){return this.getToken(e.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,vt)}KW_USING(){return this.getToken(e.KW_USING,0)}identifierList(){return this.getRuleContext(0,Ce)}get ruleIndex(){return e.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}class Q3 extends R{constructor(t,i){super(t,i)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}sampleMethod(){return this.getRuleContext(0,X3)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}get ruleIndex(){return e.RULE_sample}enterRule(t){t.enterSample&&t.enterSample(this)}exitRule(t){t.exitSample&&t.exitSample(this)}accept(t){return t.visitSample?t.visitSample(this):t.visitChildren(this)}}class X3 extends R{constructor(t,i){super(t,i)}KW_PERCENTLIT(){return this.getToken(e.KW_PERCENTLIT,0)}INTEGER_VALUE(t){return t===void 0?this.getTokens(e.INTEGER_VALUE):this.getToken(e.INTEGER_VALUE,t)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}expression(){return this.getRuleContext(0,k)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_ON(){return this.getToken(e.KW_ON,0)}identifier(){return this.getRuleContext(0,Q)}qualifiedName(){return this.getRuleContext(0,ge)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_sampleMethod}enterRule(t){t.enterSampleMethod&&t.enterSampleMethod(this)}exitRule(t){t.exitSampleMethod&&t.exitSampleMethod(this)}accept(t){return t.visitSampleMethod?t.visitSampleMethod(this):t.visitChildren(this)}}class Ce extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}identifierSeq(){return this.getRuleContext(0,$r)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_identifierList}enterRule(t){t.enterIdentifierList&&t.enterIdentifierList(this)}exitRule(t){t.exitIdentifierList&&t.exitIdentifierList(this)}accept(t){return t.visitIdentifierList?t.visitIdentifierList(this):t.visitChildren(this)}}class $r extends R{constructor(t,i){super(t,i),this._ident=[]}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_identifierSeq}enterRule(t){t.enterIdentifierSeq&&t.enterIdentifierSeq(this)}exitRule(t){t.exitIdentifierSeq&&t.exitIdentifierSeq(this)}accept(t){return t.visitIdentifierSeq?t.visitIdentifierSeq(this):t.visitChildren(this)}}class Z3 extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}orderedIdentifier(t){return t===void 0?this.getRuleContexts(jr):this.getRuleContext(t,jr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_orderedIdentifierList}enterRule(t){t.enterOrderedIdentifierList&&t.enterOrderedIdentifierList(this)}exitRule(t){t.exitOrderedIdentifierList&&t.exitOrderedIdentifierList(this)}accept(t){return t.visitOrderedIdentifierList?t.visitOrderedIdentifierList(this):t.visitChildren(this)}}class jr extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}get ruleIndex(){return e.RULE_orderedIdentifier}enterRule(t){t.enterOrderedIdentifier&&t.enterOrderedIdentifier(this)}exitRule(t){t.exitOrderedIdentifier&&t.exitOrderedIdentifier(this)}accept(t){return t.visitOrderedIdentifier?t.visitOrderedIdentifier(this):t.visitChildren(this)}}class z3 extends R{constructor(t,i){super(t,i)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}identifierComment(t){return t===void 0?this.getRuleContexts(Jr):this.getRuleContext(t,Jr)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_identifierCommentList}enterRule(t){t.enterIdentifierCommentList&&t.enterIdentifierCommentList(this)}exitRule(t){t.exitIdentifierCommentList&&t.exitIdentifierCommentList(this)}accept(t){return t.visitIdentifierCommentList?t.visitIdentifierCommentList(this):t.visitChildren(this)}}class Jr extends R{constructor(t,i){super(t,i)}columnNameCreate(){return this.getRuleContext(0,Ni)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_identifierComment}enterRule(t){t.enterIdentifierComment&&t.enterIdentifierComment(this)}exitRule(t){t.exitIdentifierComment&&t.exitIdentifierComment(this)}accept(t){return t.visitIdentifierComment?t.visitIdentifierComment(this):t.visitChildren(this)}}class qr extends R{constructor(t,i){super(t,i)}tableAlias(){return this.getRuleContext(0,me)}tableName(){return this.getRuleContext(0,H)}viewName(){return this.getRuleContext(0,Lt)}identifierReference(){return this.getRuleContext(0,B1)}temporalClause(){return this.getRuleContext(0,b3)}sample(){return this.getRuleContext(0,Q3)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}relation(){return this.getRuleContext(0,Wn)}inlineTable(){return this.getRuleContext(0,t2)}functionTable(){return this.getRuleContext(0,J3)}get ruleIndex(){return e.RULE_relationPrimary}enterRule(t){t.enterRelationPrimary&&t.enterRelationPrimary(this)}exitRule(t){t.exitRelationPrimary&&t.exitRelationPrimary(this)}accept(t){return t.visitRelationPrimary?t.visitRelationPrimary(this):t.visitChildren(this)}}class t2 extends R{constructor(t,i){super(t,i)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}tableAlias(){return this.getRuleContext(0,me)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_inlineTable}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}class e2 extends R{constructor(t,i){super(t,i)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableName(){return this.getRuleContext(0,H)}tableArgumentPartitioning(){return this.getRuleContext(0,P3)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}query(){return this.getRuleContext(0,dt)}get ruleIndex(){return e.RULE_functionTableSubqueryArgument}enterRule(t){t.enterFunctionTableSubqueryArgument&&t.enterFunctionTableSubqueryArgument(this)}exitRule(t){t.exitFunctionTableSubqueryArgument&&t.exitFunctionTableSubqueryArgument(this)}accept(t){return t.visitFunctionTableSubqueryArgument?t.visitFunctionTableSubqueryArgument(this):t.visitChildren(this)}}class P3 extends R{constructor(t,i){super(t,i),this._partition=[]}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SINGLE(){return this.getToken(e.KW_SINGLE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}sortItem(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_tableArgumentPartitioning}enterRule(t){t.enterTableArgumentPartitioning&&t.enterTableArgumentPartitioning(this)}exitRule(t){t.exitTableArgumentPartitioning&&t.exitTableArgumentPartitioning(this)}accept(t){return t.visitTableArgumentPartitioning?t.visitTableArgumentPartitioning(this):t.visitChildren(this)}}class $3 extends R{constructor(t,i){super(t,i)}FAT_ARROW(){return this.getToken(e.FAT_ARROW,0)}identifier(){return this.getRuleContext(0,Q)}functionTableSubqueryArgument(){return this.getRuleContext(0,e2)}get ruleIndex(){return e.RULE_functionTableNamedArgumentExpression}enterRule(t){t.enterFunctionTableNamedArgumentExpression&&t.enterFunctionTableNamedArgumentExpression(this)}exitRule(t){t.exitFunctionTableNamedArgumentExpression&&t.exitFunctionTableNamedArgumentExpression(this)}accept(t){return t.visitFunctionTableNamedArgumentExpression?t.visitFunctionTableNamedArgumentExpression(this):t.visitChildren(this)}}class j3 extends R{constructor(t,i){super(t,i)}functionTableSubqueryArgument(){return this.getRuleContext(0,e2)}functionTableNamedArgumentExpression(){return this.getRuleContext(0,$3)}get ruleIndex(){return e.RULE_functionTableReferenceArgument}enterRule(t){t.enterFunctionTableReferenceArgument&&t.enterFunctionTableReferenceArgument(this)}exitRule(t){t.exitFunctionTableReferenceArgument&&t.exitFunctionTableReferenceArgument(this)}accept(t){return t.visitFunctionTableReferenceArgument?t.visitFunctionTableReferenceArgument(this):t.visitChildren(this)}}class i2 extends R{constructor(t,i){super(t,i)}functionTableReferenceArgument(){return this.getRuleContext(0,j3)}functionArgument(){return this.getRuleContext(0,_n)}get ruleIndex(){return e.RULE_functionTableArgument}enterRule(t){t.enterFunctionTableArgument&&t.enterFunctionTableArgument(this)}exitRule(t){t.exitFunctionTableArgument&&t.exitFunctionTableArgument(this)}accept(t){return t.visitFunctionTableArgument?t.visitFunctionTableArgument(this):t.visitChildren(this)}}class J3 extends R{constructor(t,i){super(t,i)}functionName(){return this.getRuleContext(0,_1)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}tableAlias(){return this.getRuleContext(0,me)}functionTableArgument(t){return t===void 0?this.getRuleContexts(i2):this.getRuleContext(t,i2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_functionTable}enterRule(t){t.enterFunctionTable&&t.enterFunctionTable(this)}exitRule(t){t.exitFunctionTable&&t.exitFunctionTable(this)}accept(t){return t.visitFunctionTable?t.visitFunctionTable(this):t.visitChildren(this)}}class me extends R{constructor(t,i){super(t,i)}strictIdentifier(){return this.getRuleContext(0,I2)}KW_AS(){return this.getToken(e.KW_AS,0)}identifierList(){return this.getRuleContext(0,Ce)}get ruleIndex(){return e.RULE_tableAlias}enterRule(t){t.enterTableAlias&&t.enterTableAlias(this)}exitRule(t){t.exitTableAlias&&t.exitTableAlias(this)}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}}class Re extends R{constructor(t,i){super(t,i)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}propertyList(){return this.getRuleContext(0,ht)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_TERMINATED(t){return t===void 0?this.getTokens(e.KW_TERMINATED):this.getToken(e.KW_TERMINATED,t)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}get ruleIndex(){return e.RULE_rowFormat}enterRule(t){t.enterRowFormat&&t.enterRowFormat(this)}exitRule(t){t.exitRowFormat&&t.exitRowFormat(this)}accept(t){return t.visitRowFormat?t.visitRowFormat(this):t.visitChildren(this)}}class s2 extends R{constructor(t,i){super(t,i)}multipartIdentifier(t){return t===void 0?this.getRuleContexts(Pt):this.getRuleContext(t,Pt)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_multipartIdentifierList}enterRule(t){t.enterMultipartIdentifierList&&t.enterMultipartIdentifierList(this)}exitRule(t){t.exitMultipartIdentifierList&&t.exitMultipartIdentifierList(this)}accept(t){return t.visitMultipartIdentifierList?t.visitMultipartIdentifierList(this):t.visitChildren(this)}}class Pt extends R{constructor(t,i){super(t,i),this._parts=[]}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_multipartIdentifier}enterRule(t){t.enterMultipartIdentifier&&t.enterMultipartIdentifier(this)}exitRule(t){t.exitMultipartIdentifier&&t.exitMultipartIdentifier(this)}accept(t){return t.visitMultipartIdentifier?t.visitMultipartIdentifier(this):t.visitChildren(this)}}class q3 extends R{constructor(t,i){super(t,i)}multipartIdentifierProperty(t){return t===void 0?this.getRuleContexts(n2):this.getRuleContext(t,n2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_multipartIdentifierPropertyList}enterRule(t){t.enterMultipartIdentifierPropertyList&&t.enterMultipartIdentifierPropertyList(this)}exitRule(t){t.exitMultipartIdentifierPropertyList&&t.exitMultipartIdentifierPropertyList(this)}accept(t){return t.visitMultipartIdentifierPropertyList?t.visitMultipartIdentifierPropertyList(this):t.visitChildren(this)}}class n2 extends R{constructor(t,i){super(t,i)}multipartIdentifier(){return this.getRuleContext(0,Pt)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}propertyList(){return this.getRuleContext(0,ht)}get ruleIndex(){return e.RULE_multipartIdentifierProperty}enterRule(t){t.enterMultipartIdentifierProperty&&t.enterMultipartIdentifierProperty(this)}exitRule(t){t.exitMultipartIdentifierProperty&&t.exitMultipartIdentifierProperty(this)}accept(t){return t.visitMultipartIdentifierProperty?t.visitMultipartIdentifierProperty(this):t.visitChildren(this)}}class r2 extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_tableIdentifier}enterRule(t){t.enterTableIdentifier&&t.enterTableIdentifier(this)}exitRule(t){t.exitTableIdentifier&&t.exitTableIdentifier(this)}accept(t){return t.visitTableIdentifier?t.visitTableIdentifier(this):t.visitChildren(this)}}class h2 extends R{constructor(t,i){super(t,i)}errorCapturingIdentifier(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}DOT(){return this.getToken(e.DOT,0)}get ruleIndex(){return e.RULE_viewIdentifier}enterRule(t){t.enterViewIdentifier&&t.enterViewIdentifier(this)}exitRule(t){t.exitViewIdentifier&&t.exitViewIdentifier(this)}accept(t){return t.visitViewIdentifier?t.visitViewIdentifier(this):t.visitChildren(this)}}class xi extends R{constructor(t,i){super(t,i)}columnName(){return this.getRuleContext(0,kt)}expression(){return this.getRuleContext(0,k)}identifierList(){return this.getRuleContext(0,Ce)}KW_AS(){return this.getToken(e.KW_AS,0)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}get ruleIndex(){return e.RULE_namedExpression}enterRule(t){t.enterNamedExpression&&t.enterNamedExpression(this)}exitRule(t){t.exitNamedExpression&&t.exitNamedExpression(this)}accept(t){return t.visitNamedExpression?t.visitNamedExpression(this):t.visitChildren(this)}}class o2 extends R{constructor(t,i){super(t,i)}namedExpression(t){return t===void 0?this.getRuleContexts(xi):this.getRuleContext(t,xi)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_namedExpressionSeq}enterRule(t){t.enterNamedExpressionSeq&&t.enterNamedExpressionSeq(this)}exitRule(t){t.exitNamedExpressionSeq&&t.exitNamedExpressionSeq(this)}accept(t){return t.visitNamedExpressionSeq?t.visitNamedExpressionSeq(this):t.visitChildren(this)}}class Oi extends R{constructor(t,i){super(t,i),this._fields=[]}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}partitionField(t){return t===void 0?this.getRuleContexts(a2):this.getRuleContext(t,a2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_partitionFieldList}enterRule(t){t.enterPartitionFieldList&&t.enterPartitionFieldList(this)}exitRule(t){t.exitPartitionFieldList&&t.exitPartitionFieldList(this)}accept(t){return t.visitPartitionFieldList?t.visitPartitionFieldList(this):t.visitChildren(this)}}class a2 extends R{constructor(t,i){super(t,i)}transform(){return this.getRuleContext(0,to)}colType(){return this.getRuleContext(0,Di)}get ruleIndex(){return e.RULE_partitionField}enterRule(t){t.enterPartitionField&&t.enterPartitionField(this)}exitRule(t){t.exitPartitionField&&t.exitPartitionField(this)}accept(t){return t.visitPartitionField?t.visitPartitionField(this):t.visitChildren(this)}}class to extends R{constructor(t,i){super(t,i)}qualifiedName(){return this.getRuleContext(0,ge)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}transformArgument(t){return t===void 0?this.getRuleContexts(c2):this.getRuleContext(t,c2)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}identifier(){return this.getRuleContext(0,Q)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_transform}enterRule(t){t.enterTransform&&t.enterTransform(this)}exitRule(t){t.exitTransform&&t.exitTransform(this)}accept(t){return t.visitTransform?t.visitTransform(this):t.visitChildren(this)}}class c2 extends R{constructor(t,i){super(t,i)}qualifiedName(){return this.getRuleContext(0,ge)}constant(){return this.getRuleContext(0,k1)}get ruleIndex(){return e.RULE_transformArgument}enterRule(t){t.enterTransformArgument&&t.enterTransformArgument(this)}exitRule(t){t.exitTransformArgument&&t.exitTransformArgument(this)}accept(t){return t.visitTransformArgument?t.visitTransformArgument(this):t.visitChildren(this)}}class k extends R{constructor(t,i){super(t,i)}booleanExpression(){return this.getRuleContext(0,vt)}get ruleIndex(){return e.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class eo extends R{constructor(t,i){super(t,i)}FAT_ARROW(){return this.getToken(e.FAT_ARROW,0)}identifier(){return this.getRuleContext(0,Q)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_namedArgumentExpression}enterRule(t){t.enterNamedArgumentExpression&&t.enterNamedArgumentExpression(this)}exitRule(t){t.exitNamedArgumentExpression&&t.exitNamedArgumentExpression(this)}accept(t){return t.visitNamedArgumentExpression?t.visitNamedArgumentExpression(this):t.visitChildren(this)}}class _n extends R{constructor(t,i){super(t,i)}expression(){return this.getRuleContext(0,k)}namedArgumentExpression(){return this.getRuleContext(0,eo)}get ruleIndex(){return e.RULE_functionArgument}enterRule(t){t.enterFunctionArgument&&t.enterFunctionArgument(this)}exitRule(t){t.exitFunctionArgument&&t.exitFunctionArgument(this)}accept(t){return t.visitFunctionArgument?t.visitFunctionArgument(this):t.visitChildren(this)}}class io extends R{constructor(t,i){super(t,i)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_expressionSeq}enterRule(t){t.enterExpressionSeq&&t.enterExpressionSeq(this)}exitRule(t){t.exitExpressionSeq&&t.exitExpressionSeq(this)}accept(t){return t.visitExpressionSeq?t.visitExpressionSeq(this):t.visitChildren(this)}}class vt extends R{constructor(t,i){super(t,i)}booleanExpression(t){return t===void 0?this.getRuleContexts(vt):this.getRuleContext(t,vt)}KW_NOT(){return this.getToken(e.KW_NOT,0)}NOT(){return this.getToken(e.NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}query(){return this.getRuleContext(0,dt)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}valueExpression(){return this.getRuleContext(0,It)}predicate(){return this.getRuleContext(0,so)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_OR(){return this.getToken(e.KW_OR,0)}get ruleIndex(){return e.RULE_booleanExpression}enterRule(t){t.enterBooleanExpression&&t.enterBooleanExpression(this)}exitRule(t){t.exitBooleanExpression&&t.exitBooleanExpression(this)}accept(t){return t.visitBooleanExpression?t.visitBooleanExpression(this):t.visitChildren(this)}}class so extends R{constructor(t,i){super(t,i)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}valueExpression(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_NOT(){return this.getToken(e.KW_NOT,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_IN(){return this.getToken(e.KW_IN,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}query(){return this.getRuleContext(0,dt)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_ILIKE(){return this.getToken(e.KW_ILIKE,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_SOME(){return this.getToken(e.KW_SOME,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}stringLit(){return this.getRuleContext(0,X)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}get ruleIndex(){return e.RULE_predicate}enterRule(t){t.enterPredicate&&t.enterPredicate(this)}exitRule(t){t.exitPredicate&&t.exitPredicate(this)}accept(t){return t.visitPredicate?t.visitPredicate(this):t.visitChildren(this)}}class It extends R{constructor(t,i){super(t,i)}primaryExpression(){return this.getRuleContext(0,Ye)}valueExpression(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}MINUS(){return this.getToken(e.MINUS,0)}PLUS(){return this.getToken(e.PLUS,0)}TILDE(){return this.getToken(e.TILDE,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}SLASH(){return this.getToken(e.SLASH,0)}PERCENT(){return this.getToken(e.PERCENT,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}CONCAT_PIPE(){return this.getToken(e.CONCAT_PIPE,0)}AMPERSAND(){return this.getToken(e.AMPERSAND,0)}HAT(){return this.getToken(e.HAT,0)}PIPE(){return this.getToken(e.PIPE,0)}comparisonOperator(){return this.getRuleContext(0,u2)}get ruleIndex(){return e.RULE_valueExpression}enterRule(t){t.enterValueExpression&&t.enterValueExpression(this)}exitRule(t){t.exitValueExpression&&t.exitValueExpression(this)}accept(t){return t.visitValueExpression?t.visitValueExpression(this):t.visitChildren(this)}}class no extends R{constructor(t,i){super(t,i)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYOFYEAR(){return this.getToken(e.KW_DAYOFYEAR,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}get ruleIndex(){return e.RULE_datetimeUnit}enterRule(t){t.enterDatetimeUnit&&t.enterDatetimeUnit(this)}exitRule(t){t.exitDatetimeUnit&&t.exitDatetimeUnit(this)}accept(t){return t.visitDatetimeUnit?t.visitDatetimeUnit(this):t.visitChildren(this)}}class Ye extends R{constructor(t,i){super(t,i)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(e.KW_CURRENT_USER,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_SESSION_USER(){return this.getToken(e.KW_SESSION_USER,0)}LEFT_PAREN(t){return t===void 0?this.getTokens(e.LEFT_PAREN):this.getToken(e.LEFT_PAREN,t)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}RIGHT_PAREN(t){return t===void 0?this.getTokens(e.RIGHT_PAREN):this.getToken(e.RIGHT_PAREN,t)}valueExpression(t){return t===void 0?this.getRuleContexts(It):this.getRuleContext(t,It)}KW_TIMESTAMPADD(){return this.getToken(e.KW_TIMESTAMPADD,0)}KW_DATEADD(){return this.getToken(e.KW_DATEADD,0)}KW_DATE_ADD(){return this.getToken(e.KW_DATE_ADD,0)}datetimeUnit(){return this.getRuleContext(0,no)}stringLit(){return this.getRuleContext(0,X)}KW_TIMESTAMPDIFF(){return this.getToken(e.KW_TIMESTAMPDIFF,0)}KW_DATEDIFF(){return this.getToken(e.KW_DATEDIFF,0)}KW_DATE_DIFF(){return this.getToken(e.KW_DATE_DIFF,0)}KW_TIMEDIFF(){return this.getToken(e.KW_TIMEDIFF,0)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_END(){return this.getToken(e.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(m2):this.getRuleContext(t,m2)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}KW_AS(){return this.getToken(e.KW_AS,0)}dataType(){return this.getRuleContext(0,$t)}KW_CAST(){return this.getToken(e.KW_CAST,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}namedExpression(t){return t===void 0?this.getRuleContexts(xi):this.getRuleContext(t,xi)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_ANY_VALUE(){return this.getToken(e.KW_ANY_VALUE,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_IN(){return this.getToken(e.KW_IN,0)}constant(){return this.getRuleContext(0,k1)}ASTERISK(){return this.getToken(e.ASTERISK,0)}qualifiedName(){return this.getRuleContext(0,ge)}DOT(){return this.getToken(e.DOT,0)}query(){return this.getRuleContext(0,dt)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}functionName(){return this.getRuleContext(0,_1)}functionArgument(t){return t===void 0?this.getRuleContexts(_n):this.getRuleContext(t,_n)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}windowSpec(){return this.getRuleContext(0,N2)}booleanExpression(){return this.getRuleContext(0,vt)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}setQuantifier(){return this.getRuleContext(0,Ii)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}ARROW(){return this.getToken(e.ARROW,0)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_SUBSTR(){return this.getToken(e.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}KW_OVERLAY(){return this.getToken(e.KW_OVERLAY,0)}KW_PLACING(){return this.getToken(e.KW_PLACING,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}sortItem(){return this.getRuleContext(0,Ge)}KW_PERCENTILE_CONT(){return this.getToken(e.KW_PERCENTILE_CONT,0)}KW_PERCENTILE_DISC(){return this.getToken(e.KW_PERCENTILE_DISC,0)}LEFT_BRACKET(){return this.getToken(e.LEFT_BRACKET,0)}RIGHT_BRACKET(){return this.getToken(e.RIGHT_BRACKET,0)}primaryExpression(){return this.getRuleContext(0,Ye)}get ruleIndex(){return e.RULE_primaryExpression}enterRule(t){t.enterPrimaryExpression&&t.enterPrimaryExpression(this)}exitRule(t){t.exitPrimaryExpression&&t.exitPrimaryExpression(this)}accept(t){return t.visitPrimaryExpression?t.visitPrimaryExpression(this):t.visitChildren(this)}}class ro extends R{constructor(t,i){super(t,i)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_BINARY_HEX(){return this.getToken(e.KW_BINARY_HEX,0)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_literalType}enterRule(t){t.enterLiteralType&&t.enterLiteralType(this)}exitRule(t){t.exitLiteralType&&t.exitLiteralType(this)}accept(t){return t.visitLiteralType?t.visitLiteralType(this):t.visitChildren(this)}}class k1 extends R{constructor(t,i){super(t,i)}KW_NULL(){return this.getToken(e.KW_NULL,0)}QUESTION(){return this.getToken(e.QUESTION,0)}COLON(){return this.getToken(e.COLON,0)}identifier(){return this.getRuleContext(0,Q)}interval(){return this.getRuleContext(0,E2)}literalType(){return this.getRuleContext(0,ro)}stringLit(t){return t===void 0?this.getRuleContexts(X):this.getRuleContext(t,X)}number(){return this.getRuleContext(0,mo)}booleanValue(){return this.getRuleContext(0,l2)}get ruleIndex(){return e.RULE_constant}enterRule(t){t.enterConstant&&t.enterConstant(this)}exitRule(t){t.exitConstant&&t.exitConstant(this)}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}}class u2 extends R{constructor(t,i){super(t,i)}EQ(){return this.getToken(e.EQ,0)}NEQ(){return this.getToken(e.NEQ,0)}NEQJ(){return this.getToken(e.NEQJ,0)}LT(){return this.getToken(e.LT,0)}LTE(){return this.getToken(e.LTE,0)}GT(){return this.getToken(e.GT,0)}GTE(){return this.getToken(e.GTE,0)}NSEQ(){return this.getToken(e.NSEQ,0)}get ruleIndex(){return e.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class ho extends R{constructor(t,i){super(t,i)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}ASTERISK(){return this.getToken(e.ASTERISK,0)}SLASH(){return this.getToken(e.SLASH,0)}PERCENT(){return this.getToken(e.PERCENT,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}TILDE(){return this.getToken(e.TILDE,0)}AMPERSAND(){return this.getToken(e.AMPERSAND,0)}PIPE(){return this.getToken(e.PIPE,0)}CONCAT_PIPE(){return this.getToken(e.CONCAT_PIPE,0)}HAT(){return this.getToken(e.HAT,0)}get ruleIndex(){return e.RULE_arithmeticOperator}enterRule(t){t.enterArithmeticOperator&&t.enterArithmeticOperator(this)}exitRule(t){t.exitArithmeticOperator&&t.exitArithmeticOperator(this)}accept(t){return t.visitArithmeticOperator?t.visitArithmeticOperator(this):t.visitChildren(this)}}class oo extends R{constructor(t,i){super(t,i)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}get ruleIndex(){return e.RULE_predicateOperator}enterRule(t){t.enterPredicateOperator&&t.enterPredicateOperator(this)}exitRule(t){t.exitPredicateOperator&&t.exitPredicateOperator(this)}accept(t){return t.visitPredicateOperator?t.visitPredicateOperator(this):t.visitChildren(this)}}class l2 extends R{constructor(t,i){super(t,i)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}get ruleIndex(){return e.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}class E2 extends R{constructor(t,i){super(t,i)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}errorCapturingMultiUnitsInterval(){return this.getRuleContext(0,ao)}errorCapturingUnitToUnitInterval(){return this.getRuleContext(0,co)}get ruleIndex(){return e.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}class ao extends R{constructor(t,i){super(t,i)}multiUnitsInterval(){return this.getRuleContext(0,T2)}unitToUnitInterval(){return this.getRuleContext(0,An)}get ruleIndex(){return e.RULE_errorCapturingMultiUnitsInterval}enterRule(t){t.enterErrorCapturingMultiUnitsInterval&&t.enterErrorCapturingMultiUnitsInterval(this)}exitRule(t){t.exitErrorCapturingMultiUnitsInterval&&t.exitErrorCapturingMultiUnitsInterval(this)}accept(t){return t.visitErrorCapturingMultiUnitsInterval?t.visitErrorCapturingMultiUnitsInterval(this):t.visitChildren(this)}}class T2 extends R{constructor(t,i){super(t,i),this._unit=[]}intervalValue(t){return t===void 0?this.getRuleContexts(Kn):this.getRuleContext(t,Kn)}unitInMultiUnits(t){return t===void 0?this.getRuleContexts(d2):this.getRuleContext(t,d2)}get ruleIndex(){return e.RULE_multiUnitsInterval}enterRule(t){t.enterMultiUnitsInterval&&t.enterMultiUnitsInterval(this)}exitRule(t){t.exitMultiUnitsInterval&&t.exitMultiUnitsInterval(this)}accept(t){return t.visitMultiUnitsInterval?t.visitMultiUnitsInterval(this):t.visitChildren(this)}}class co extends R{constructor(t,i){super(t,i)}unitToUnitInterval(t){return t===void 0?this.getRuleContexts(An):this.getRuleContext(t,An)}multiUnitsInterval(){return this.getRuleContext(0,T2)}get ruleIndex(){return e.RULE_errorCapturingUnitToUnitInterval}enterRule(t){t.enterErrorCapturingUnitToUnitInterval&&t.enterErrorCapturingUnitToUnitInterval(this)}exitRule(t){t.exitErrorCapturingUnitToUnitInterval&&t.exitErrorCapturingUnitToUnitInterval(this)}accept(t){return t.visitErrorCapturingUnitToUnitInterval?t.visitErrorCapturingUnitToUnitInterval(this):t.visitChildren(this)}}class An extends R{constructor(t,i){super(t,i)}unitInUnitToUnit(t){return t===void 0?this.getRuleContexts(R2):this.getRuleContext(t,R2)}KW_TO(){return this.getToken(e.KW_TO,0)}intervalValue(){return this.getRuleContext(0,Kn)}get ruleIndex(){return e.RULE_unitToUnitInterval}enterRule(t){t.enterUnitToUnitInterval&&t.enterUnitToUnitInterval(this)}exitRule(t){t.exitUnitToUnitInterval&&t.exitUnitToUnitInterval(this)}accept(t){return t.visitUnitToUnitInterval?t.visitUnitToUnitInterval(this):t.visitChildren(this)}}class Kn extends R{constructor(t,i){super(t,i)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}stringLit(){return this.getRuleContext(0,X)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}get ruleIndex(){return e.RULE_intervalValue}enterRule(t){t.enterIntervalValue&&t.enterIntervalValue(this)}exitRule(t){t.exitIntervalValue&&t.exitIntervalValue(this)}accept(t){return t.visitIntervalValue?t.visitIntervalValue(this):t.visitChildren(this)}}class d2 extends R{constructor(t,i){super(t,i)}KW_NANOSECOND(){return this.getToken(e.KW_NANOSECOND,0)}KW_NANOSECONDS(){return this.getToken(e.KW_NANOSECONDS,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}KW_MICROSECONDS(){return this.getToken(e.KW_MICROSECONDS,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MILLISECONDS(){return this.getToken(e.KW_MILLISECONDS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}get ruleIndex(){return e.RULE_unitInMultiUnits}enterRule(t){t.enterUnitInMultiUnits&&t.enterUnitInMultiUnits(this)}exitRule(t){t.exitUnitInMultiUnits&&t.exitUnitInMultiUnits(this)}accept(t){return t.visitUnitInMultiUnits?t.visitUnitInMultiUnits(this):t.visitChildren(this)}}class R2 extends R{constructor(t,i){super(t,i)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}get ruleIndex(){return e.RULE_unitInUnitToUnit}enterRule(t){t.enterUnitInUnitToUnit&&t.enterUnitInUnitToUnit(this)}exitRule(t){t.exitUnitInUnitToUnit&&t.exitUnitInUnitToUnit(this)}accept(t){return t.visitUnitInUnitToUnit?t.visitUnitInUnitToUnit(this):t.visitChildren(this)}}class fn extends R{constructor(t,i){super(t,i)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}get ruleIndex(){return e.RULE_colPosition}enterRule(t){t.enterColPosition&&t.enterColPosition(this)}exitRule(t){t.exitColPosition&&t.exitColPosition(this)}accept(t){return t.visitColPosition?t.visitColPosition(this):t.visitChildren(this)}}class uo extends R{constructor(t,i){super(t,i)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_BYTE(){return this.getToken(e.KW_BYTE,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_SHORT(){return this.getToken(e.KW_SHORT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_CHARACTER(){return this.getToken(e.KW_CHARACTER,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}KW_VOID(){return this.getToken(e.KW_VOID,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}identifier(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_type}enterRule(t){t.enterType&&t.enterType(this)}exitRule(t){t.exitType&&t.exitType(this)}accept(t){return t.visitType?t.visitType(this):t.visitChildren(this)}}class $t extends R{constructor(t,i){super(t,i)}LT(){return this.getToken(e.LT,0)}dataType(t){return t===void 0?this.getRuleContexts($t):this.getRuleContext(t,$t)}GT(){return this.getToken(e.GT,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}NEQ(){return this.getToken(e.NEQ,0)}complexColTypeList(){return this.getRuleContext(0,Wo)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_MONTH(t){return t===void 0?this.getTokens(e.KW_MONTH):this.getToken(e.KW_MONTH,t)}KW_TO(){return this.getToken(e.KW_TO,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_HOUR(t){return t===void 0?this.getTokens(e.KW_HOUR):this.getToken(e.KW_HOUR,t)}KW_MINUTE(t){return t===void 0?this.getTokens(e.KW_MINUTE):this.getToken(e.KW_MINUTE,t)}KW_SECOND(t){return t===void 0?this.getTokens(e.KW_SECOND):this.getToken(e.KW_SECOND,t)}type(){return this.getRuleContext(0,uo)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}INTEGER_VALUE(t){return t===void 0?this.getTokens(e.INTEGER_VALUE):this.getToken(e.INTEGER_VALUE,t)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_dataType}enterRule(t){t.enterDataType&&t.enterDataType(this)}exitRule(t){t.exitDataType&&t.exitDataType(this)}accept(t){return t.visitDataType?t.visitDataType(this):t.visitChildren(this)}}class lo extends R{constructor(t,i){super(t,i)}qualifiedColTypeWithPositionForAdd(t){return t===void 0?this.getRuleContexts(Cn):this.getRuleContext(t,Cn)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionSeqForAdd}enterRule(t){t.enterQualifiedColTypeWithPositionSeqForAdd&&t.enterQualifiedColTypeWithPositionSeqForAdd(this)}exitRule(t){t.exitQualifiedColTypeWithPositionSeqForAdd&&t.exitQualifiedColTypeWithPositionSeqForAdd(this)}accept(t){return t.visitQualifiedColTypeWithPositionSeqForAdd?t.visitQualifiedColTypeWithPositionSeqForAdd(this):t.visitChildren(this)}}class Cn extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}columnNameCreate(){return this.getRuleContext(0,Ni)}colDefinitionDescriptorWithPosition(t){return t===void 0?this.getRuleContexts(pi):this.getRuleContext(t,pi)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionForAdd}enterRule(t){t.enterQualifiedColTypeWithPositionForAdd&&t.enterQualifiedColTypeWithPositionForAdd(this)}exitRule(t){t.exitQualifiedColTypeWithPositionForAdd&&t.exitQualifiedColTypeWithPositionForAdd(this)}accept(t){return t.visitQualifiedColTypeWithPositionForAdd?t.visitQualifiedColTypeWithPositionForAdd(this):t.visitChildren(this)}}class Eo extends R{constructor(t,i){super(t,i)}qualifiedColTypeWithPositionForReplace(t){return t===void 0?this.getRuleContexts(W2):this.getRuleContext(t,W2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionSeqForReplace}enterRule(t){t.enterQualifiedColTypeWithPositionSeqForReplace&&t.enterQualifiedColTypeWithPositionSeqForReplace(this)}exitRule(t){t.exitQualifiedColTypeWithPositionSeqForReplace&&t.exitQualifiedColTypeWithPositionSeqForReplace(this)}accept(t){return t.visitQualifiedColTypeWithPositionSeqForReplace?t.visitQualifiedColTypeWithPositionSeqForReplace(this):t.visitChildren(this)}}class W2 extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}columnName(){return this.getRuleContext(0,kt)}colDefinitionDescriptorWithPosition(t){return t===void 0?this.getRuleContexts(pi):this.getRuleContext(t,pi)}get ruleIndex(){return e.RULE_qualifiedColTypeWithPositionForReplace}enterRule(t){t.enterQualifiedColTypeWithPositionForReplace&&t.enterQualifiedColTypeWithPositionForReplace(this)}exitRule(t){t.exitQualifiedColTypeWithPositionForReplace&&t.exitQualifiedColTypeWithPositionForReplace(this)}accept(t){return t.visitQualifiedColTypeWithPositionForReplace?t.visitQualifiedColTypeWithPositionForReplace(this):t.visitChildren(this)}}class pi extends R{constructor(t,i){super(t,i)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}defaultExpression(){return this.getRuleContext(0,mn)}commentSpec(){return this.getRuleContext(0,Ut)}colPosition(){return this.getRuleContext(0,fn)}get ruleIndex(){return e.RULE_colDefinitionDescriptorWithPosition}enterRule(t){t.enterColDefinitionDescriptorWithPosition&&t.enterColDefinitionDescriptorWithPosition(this)}exitRule(t){t.exitColDefinitionDescriptorWithPosition&&t.exitColDefinitionDescriptorWithPosition(this)}accept(t){return t.visitColDefinitionDescriptorWithPosition?t.visitColDefinitionDescriptorWithPosition(this):t.visitChildren(this)}}class mn extends R{constructor(t,i){super(t,i)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_defaultExpression}enterRule(t){t.enterDefaultExpression&&t.enterDefaultExpression(this)}exitRule(t){t.exitDefaultExpression&&t.exitDefaultExpression(this)}accept(t){return t.visitDefaultExpression?t.visitDefaultExpression(this):t.visitChildren(this)}}class To extends R{constructor(t,i){super(t,i)}expression(){return this.getRuleContext(0,k)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}EQ(){return this.getToken(e.EQ,0)}get ruleIndex(){return e.RULE_variableDefaultExpression}enterRule(t){t.enterVariableDefaultExpression&&t.enterVariableDefaultExpression(this)}exitRule(t){t.exitVariableDefaultExpression&&t.exitVariableDefaultExpression(this)}accept(t){return t.visitVariableDefaultExpression?t.visitVariableDefaultExpression(this):t.visitChildren(this)}}class _2 extends R{constructor(t,i){super(t,i)}colType(t){return t===void 0?this.getRuleContexts(Di):this.getRuleContext(t,Di)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_colTypeList}enterRule(t){t.enterColTypeList&&t.enterColTypeList(this)}exitRule(t){t.exitColTypeList&&t.exitColTypeList(this)}accept(t){return t.visitColTypeList?t.visitColTypeList(this):t.visitChildren(this)}}class Di extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_colType}enterRule(t){t.enterColType&&t.enterColType(this)}exitRule(t){t.exitColType&&t.exitColType(this)}accept(t){return t.visitColType?t.visitColType(this):t.visitChildren(this)}}class A2 extends R{constructor(t,i){super(t,i)}createOrReplaceTableColType(t){return t===void 0?this.getRuleContexts(K2):this.getRuleContext(t,K2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_createOrReplaceTableColTypeList}enterRule(t){t.enterCreateOrReplaceTableColTypeList&&t.enterCreateOrReplaceTableColTypeList(this)}exitRule(t){t.exitCreateOrReplaceTableColTypeList&&t.exitCreateOrReplaceTableColTypeList(this)}accept(t){return t.visitCreateOrReplaceTableColTypeList?t.visitCreateOrReplaceTableColTypeList(this):t.visitChildren(this)}}class K2 extends R{constructor(t,i){super(t,i)}dataType(){return this.getRuleContext(0,$t)}columnNameCreate(){return this.getRuleContext(0,Ni)}colDefinitionOption(t){return t===void 0?this.getRuleContexts(f2):this.getRuleContext(t,f2)}get ruleIndex(){return e.RULE_createOrReplaceTableColType}enterRule(t){t.enterCreateOrReplaceTableColType&&t.enterCreateOrReplaceTableColType(this)}exitRule(t){t.exitCreateOrReplaceTableColType&&t.exitCreateOrReplaceTableColType(this)}accept(t){return t.visitCreateOrReplaceTableColType?t.visitCreateOrReplaceTableColType(this):t.visitChildren(this)}}class f2 extends R{constructor(t,i){super(t,i)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}defaultExpression(){return this.getRuleContext(0,mn)}generationExpression(){return this.getRuleContext(0,Ro)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_colDefinitionOption}enterRule(t){t.enterColDefinitionOption&&t.enterColDefinitionOption(this)}exitRule(t){t.exitColDefinitionOption&&t.exitColDefinitionOption(this)}accept(t){return t.visitColDefinitionOption?t.visitColDefinitionOption(this):t.visitChildren(this)}}class Ro extends R{constructor(t,i){super(t,i)}KW_GENERATED(){return this.getToken(e.KW_GENERATED,0)}KW_ALWAYS(){return this.getToken(e.KW_ALWAYS,0)}KW_AS(){return this.getToken(e.KW_AS,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}get ruleIndex(){return e.RULE_generationExpression}enterRule(t){t.enterGenerationExpression&&t.enterGenerationExpression(this)}exitRule(t){t.exitGenerationExpression&&t.exitGenerationExpression(this)}accept(t){return t.visitGenerationExpression?t.visitGenerationExpression(this):t.visitChildren(this)}}class Wo extends R{constructor(t,i){super(t,i)}complexColType(t){return t===void 0?this.getRuleContexts(C2):this.getRuleContext(t,C2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_complexColTypeList}enterRule(t){t.enterComplexColTypeList&&t.enterComplexColTypeList(this)}exitRule(t){t.exitComplexColTypeList&&t.exitComplexColTypeList(this)}accept(t){return t.visitComplexColTypeList?t.visitComplexColTypeList(this):t.visitChildren(this)}}class C2 extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}dataType(){return this.getRuleContext(0,$t)}COLON(){return this.getToken(e.COLON,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}commentSpec(){return this.getRuleContext(0,Ut)}get ruleIndex(){return e.RULE_complexColType}enterRule(t){t.enterComplexColType&&t.enterComplexColType(this)}exitRule(t){t.exitComplexColType&&t.exitComplexColType(this)}accept(t){return t.visitComplexColType?t.visitComplexColType(this):t.visitChildren(this)}}class m2 extends R{constructor(t,i){super(t,i)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return e.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class gn extends R{constructor(t,i){super(t,i)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}namedWindow(t){return t===void 0?this.getRuleContexts(g2):this.getRuleContext(t,g2)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_windowClause}enterRule(t){t.enterWindowClause&&t.enterWindowClause(this)}exitRule(t){t.exitWindowClause&&t.exitWindowClause(this)}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}}class _o extends R{constructor(t,i){super(t,i)}KW_ZORDER(){return this.getToken(e.KW_ZORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}columnNameSeq(){return this.getRuleContext(0,gi)}get ruleIndex(){return e.RULE_zorderClause}enterRule(t){t.enterZorderClause&&t.enterZorderClause(this)}exitRule(t){t.exitZorderClause&&t.exitZorderClause(this)}accept(t){return t.visitZorderClause?t.visitZorderClause(this):t.visitChildren(this)}}class g2 extends R{constructor(t,i){super(t,i)}KW_AS(){return this.getToken(e.KW_AS,0)}windowSpec(){return this.getRuleContext(0,N2)}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}get ruleIndex(){return e.RULE_namedWindow}enterRule(t){t.enterNamedWindow&&t.enterNamedWindow(this)}exitRule(t){t.exitNamedWindow&&t.exitNamedWindow(this)}accept(t){return t.visitNamedWindow?t.visitNamedWindow(this):t.visitChildren(this)}}class N2 extends R{constructor(t,i){super(t,i),this._partition=[]}errorCapturingIdentifier(){return this.getRuleContext(0,Ct)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}expression(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}windowFrame(){return this.getRuleContext(0,Ao)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}sortItem(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}get ruleIndex(){return e.RULE_windowSpec}enterRule(t){t.enterWindowSpec&&t.enterWindowSpec(this)}exitRule(t){t.exitWindowSpec&&t.exitWindowSpec(this)}accept(t){return t.visitWindowSpec?t.visitWindowSpec(this):t.visitChildren(this)}}class Ao extends R{constructor(t,i){super(t,i)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}frameBound(t){return t===void 0?this.getRuleContexts(L2):this.getRuleContext(t,L2)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_AND(){return this.getToken(e.KW_AND,0)}get ruleIndex(){return e.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class L2 extends R{constructor(t,i){super(t,i)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}expression(){return this.getRuleContext(0,k)}get ruleIndex(){return e.RULE_frameBound}enterRule(t){t.enterFrameBound&&t.enterFrameBound(this)}exitRule(t){t.exitFrameBound&&t.exitFrameBound(this)}accept(t){return t.visitFrameBound?t.visitFrameBound(this):t.visitChildren(this)}}class X7 extends R{constructor(t,i){super(t,i)}qualifiedName(t){return t===void 0?this.getRuleContexts(ge):this.getRuleContext(t,ge)}COMMA(t){return t===void 0?this.getTokens(e.COMMA):this.getToken(e.COMMA,t)}get ruleIndex(){return e.RULE_qualifiedNameList}enterRule(t){t.enterQualifiedNameList&&t.enterQualifiedNameList(this)}exitRule(t){t.exitQualifiedNameList&&t.exitQualifiedNameList(this)}accept(t){return t.visitQualifiedNameList?t.visitQualifiedNameList(this):t.visitChildren(this)}}class _1 extends R{constructor(t,i){super(t,i)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}LEFT_PAREN(){return this.getToken(e.LEFT_PAREN,0)}expression(){return this.getRuleContext(0,k)}RIGHT_PAREN(){return this.getToken(e.RIGHT_PAREN,0)}qualifiedName(){return this.getRuleContext(0,ge)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}get ruleIndex(){return e.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}class Ko extends R{constructor(t,i){super(t,i)}qualifiedName(){return this.getRuleContext(0,ge)}get ruleIndex(){return e.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class ge extends R{constructor(t,i){super(t,i)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}DOT(t){return t===void 0?this.getTokens(e.DOT):this.getToken(e.DOT,t)}get ruleIndex(){return e.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class Ct extends R{constructor(t,i){super(t,i)}identifier(){return this.getRuleContext(0,Q)}errorCapturingIdentifierExtra(){return this.getRuleContext(0,fo)}get ruleIndex(){return e.RULE_errorCapturingIdentifier}enterRule(t){t.enterErrorCapturingIdentifier&&t.enterErrorCapturingIdentifier(this)}exitRule(t){t.exitErrorCapturingIdentifier&&t.exitErrorCapturingIdentifier(this)}accept(t){return t.visitErrorCapturingIdentifier?t.visitErrorCapturingIdentifier(this):t.visitChildren(this)}}class fo extends R{constructor(t,i){super(t,i)}MINUS(t){return t===void 0?this.getTokens(e.MINUS):this.getToken(e.MINUS,t)}identifier(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}get ruleIndex(){return e.RULE_errorCapturingIdentifierExtra}enterRule(t){t.enterErrorCapturingIdentifierExtra&&t.enterErrorCapturingIdentifierExtra(this)}exitRule(t){t.exitErrorCapturingIdentifierExtra&&t.exitErrorCapturingIdentifierExtra(this)}accept(t){return t.visitErrorCapturingIdentifierExtra?t.visitErrorCapturingIdentifierExtra(this):t.visitChildren(this)}}class Q extends R{constructor(t,i){super(t,i)}strictIdentifier(){return this.getRuleContext(0,I2)}strictNonReserved(){return this.getRuleContext(0,Io)}get ruleIndex(){return e.RULE_identifier}enterRule(t){t.enterIdentifier&&t.enterIdentifier(this)}exitRule(t){t.exitIdentifier&&t.exitIdentifier(this)}accept(t){return t.visitIdentifier?t.visitIdentifier(this):t.visitChildren(this)}}class I2 extends R{constructor(t,i){super(t,i)}IDENTIFIER(){return this.getToken(e.IDENTIFIER,0)}quotedIdentifier(){return this.getRuleContext(0,x2)}ansiNonReserved(){return this.getRuleContext(0,Lo)}nonReserved(){return this.getRuleContext(0,xo)}get ruleIndex(){return e.RULE_strictIdentifier}enterRule(t){t.enterStrictIdentifier&&t.enterStrictIdentifier(this)}exitRule(t){t.exitStrictIdentifier&&t.exitStrictIdentifier(this)}accept(t){return t.visitStrictIdentifier?t.visitStrictIdentifier(this):t.visitChildren(this)}}class x2 extends R{constructor(t,i){super(t,i)}BACKQUOTED_IDENTIFIER(){return this.getToken(e.BACKQUOTED_IDENTIFIER,0)}DOUBLEQUOTED_STRING(){return this.getToken(e.DOUBLEQUOTED_STRING,0)}get ruleIndex(){return e.RULE_quotedIdentifier}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class Co extends R{constructor(t,i){super(t,i)}BACKQUOTED_IDENTIFIER(){return this.getToken(e.BACKQUOTED_IDENTIFIER,0)}get ruleIndex(){return e.RULE_backQuotedIdentifier}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}class mo extends R{constructor(t,i){super(t,i)}EXPONENT_VALUE(){return this.getToken(e.EXPONENT_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}BIGINT_LITERAL(){return this.getToken(e.BIGINT_LITERAL,0)}SMALLINT_LITERAL(){return this.getToken(e.SMALLINT_LITERAL,0)}TINYINT_LITERAL(){return this.getToken(e.TINYINT_LITERAL,0)}DOUBLE_LITERAL(){return this.getToken(e.DOUBLE_LITERAL,0)}FLOAT_LITERAL(){return this.getToken(e.FLOAT_LITERAL,0)}BIGDECIMAL_LITERAL(){return this.getToken(e.BIGDECIMAL_LITERAL,0)}get ruleIndex(){return e.RULE_number}enterRule(t){t.enterNumber&&t.enterNumber(this)}exitRule(t){t.exitNumber&&t.exitNumber(this)}accept(t){return t.visitNumber?t.visitNumber(this):t.visitChildren(this)}}class go extends R{constructor(t,i){super(t,i)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}dataType(){return this.getRuleContext(0,$t)}commentSpec(){return this.getRuleContext(0,Ut)}colPosition(){return this.getRuleContext(0,fn)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}defaultExpression(){return this.getRuleContext(0,mn)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}get ruleIndex(){return e.RULE_alterColumnAction}enterRule(t){t.enterAlterColumnAction&&t.enterAlterColumnAction(this)}exitRule(t){t.exitAlterColumnAction&&t.exitAlterColumnAction(this)}accept(t){return t.visitAlterColumnAction?t.visitAlterColumnAction(this):t.visitChildren(this)}}class X extends R{constructor(t,i){super(t,i)}STRING_LITERAL(){return this.getToken(e.STRING_LITERAL,0)}DOUBLEQUOTED_STRING(){return this.getToken(e.DOUBLEQUOTED_STRING,0)}get ruleIndex(){return e.RULE_stringLit}enterRule(t){t.enterStringLit&&t.enterStringLit(this)}exitRule(t){t.exitStringLit&&t.exitStringLit(this)}accept(t){return t.visitStringLit?t.visitStringLit(this):t.visitChildren(this)}}class O2 extends R{constructor(t,i){super(t,i)}stringLit(){return this.getRuleContext(0,X)}KW_NULL(){return this.getToken(e.KW_NULL,0)}get ruleIndex(){return e.RULE_comment}enterRule(t){t.enterComment&&t.enterComment(this)}exitRule(t){t.exitComment&&t.exitComment(this)}accept(t){return t.visitComment?t.visitComment(this):t.visitChildren(this)}}class No extends R{constructor(t,i){super(t,i)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}stringLit(){return this.getRuleContext(0,X)}get ruleIndex(){return e.RULE_version}enterRule(t){t.enterVersion&&t.enterVersion(this)}exitRule(t){t.exitVersion&&t.exitVersion(this)}accept(t){return t.visitVersion?t.visitVersion(this):t.visitChildren(this)}}class Lo extends R{constructor(t,i){super(t,i)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_ALWAYS(){return this.getToken(e.KW_ALWAYS,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}KW_ANY_VALUE(){return this.getToken(e.KW_ANY_VALUE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_BINARY_HEX(){return this.getToken(e.KW_BINARY_HEX,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_BYTE(){return this.getToken(e.KW_BYTE,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(e.KW_CHARACTER,0)}KW_CLEAR(){return this.getToken(e.KW_CLEAR,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_CODEGEN(){return this.getToken(e.KW_CODEGEN,0)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DATEADD(){return this.getToken(e.KW_DATEADD,0)}KW_DATE_ADD(){return this.getToken(e.KW_DATE_ADD,0)}KW_DATEDIFF(){return this.getToken(e.KW_DATEDIFF,0)}KW_DATE_DIFF(){return this.getToken(e.KW_DATE_DIFF,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_DAYOFYEAR(){return this.getToken(e.KW_DAYOFYEAR,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DFS(){return this.getToken(e.KW_DFS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_EXCLUDE(){return this.getToken(e.KW_EXCLUDE,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_GENERATED(){return this.getToken(e.KW_GENERATED,0)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_INCLUDE(){return this.getToken(e.KW_INCLUDE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LAZY(){return this.getToken(e.KW_LAZY,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_ILIKE(){return this.getToken(e.KW_ILIKE,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_LIST(){return this.getToken(e.KW_LIST,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}KW_MICROSECONDS(){return this.getToken(e.KW_MICROSECONDS,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MILLISECONDS(){return this.getToken(e.KW_MILLISECONDS,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_NAME(){return this.getToken(e.KW_NAME,0)}KW_NAMESPACE(){return this.getToken(e.KW_NAMESPACE,0)}KW_NAMESPACES(){return this.getToken(e.KW_NAMESPACES,0)}KW_NANOSECOND(){return this.getToken(e.KW_NANOSECOND,0)}KW_NANOSECONDS(){return this.getToken(e.KW_NANOSECONDS,0)}KW_NO(){return this.getToken(e.KW_NO,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_OPTIMIZE(){return this.getToken(e.KW_OPTIMIZE,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}KW_OVERLAY(){return this.getToken(e.KW_OVERLAY,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PERCENTLIT(){return this.getToken(e.KW_PERCENTLIT,0)}KW_PIVOT(){return this.getToken(e.KW_PIVOT,0)}KW_PLACING(){return this.getToken(e.KW_PLACING,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_SEPARATED(){return this.getToken(e.KW_SEPARATED,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SHORT(){return this.getToken(e.KW_SHORT,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SINGLE(){return this.getToken(e.KW_SINGLE,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SOURCE(){return this.getToken(e.KW_SOURCE,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_STRATIFY(){return this.getToken(e.KW_STRATIFY,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_SUBSTR(){return this.getToken(e.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}KW_TARGET(){return this.getToken(e.KW_TARGET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_TIMEDIFF(){return this.getToken(e.KW_TIMEDIFF,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_TIMESTAMPADD(){return this.getToken(e.KW_TIMESTAMPADD,0)}KW_TIMESTAMPDIFF(){return this.getToken(e.KW_TIMESTAMPDIFF,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_UNCACHE(){return this.getToken(e.KW_UNCACHE,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_UNPIVOT(){return this.getToken(e.KW_UNPIVOT,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_VOID(){return this.getToken(e.KW_VOID,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_ZORDER(){return this.getToken(e.KW_ZORDER,0)}get ruleIndex(){return e.RULE_ansiNonReserved}enterRule(t){t.enterAnsiNonReserved&&t.enterAnsiNonReserved(this)}exitRule(t){t.exitAnsiNonReserved&&t.exitAnsiNonReserved(this)}accept(t){return t.visitAnsiNonReserved?t.visitAnsiNonReserved(this):t.visitChildren(this)}}class Io extends R{constructor(t,i){super(t,i)}KW_ANTI(){return this.getToken(e.KW_ANTI,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_NATURAL(){return this.getToken(e.KW_NATURAL,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_SEMI(){return this.getToken(e.KW_SEMI,0)}KW_MINUS(){return this.getToken(e.KW_MINUS,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_USING(){return this.getToken(e.KW_USING,0)}get ruleIndex(){return e.RULE_strictNonReserved}enterRule(t){t.enterStrictNonReserved&&t.enterStrictNonReserved(this)}exitRule(t){t.exitStrictNonReserved&&t.exitStrictNonReserved(this)}accept(t){return t.visitStrictNonReserved?t.visitStrictNonReserved(this):t.visitChildren(this)}}class xo extends R{constructor(t,i){super(t,i)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_ALWAYS(){return this.getToken(e.KW_ALWAYS,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_AND(){return this.getToken(e.KW_AND,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_ANY_VALUE(){return this.getToken(e.KW_ANY_VALUE,0)}KW_ARCHIVE(){return this.getToken(e.KW_ARCHIVE,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_BIGINT(){return this.getToken(e.KW_BIGINT,0)}KW_BINARY(){return this.getToken(e.KW_BINARY,0)}KW_BINARY_HEX(){return this.getToken(e.KW_BINARY_HEX,0)}KW_BOOLEAN(){return this.getToken(e.KW_BOOLEAN,0)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_BUCKET(){return this.getToken(e.KW_BUCKET,0)}KW_BUCKETS(){return this.getToken(e.KW_BUCKETS,0)}KW_BY(){return this.getToken(e.KW_BY,0)}KW_BYTE(){return this.getToken(e.KW_BYTE,0)}KW_CACHE(){return this.getToken(e.KW_CACHE,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_CAST(){return this.getToken(e.KW_CAST,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}KW_CHANGE(){return this.getToken(e.KW_CHANGE,0)}KW_CHAR(){return this.getToken(e.KW_CHAR,0)}KW_CHARACTER(){return this.getToken(e.KW_CHARACTER,0)}KW_CHECK(){return this.getToken(e.KW_CHECK,0)}KW_CLEAR(){return this.getToken(e.KW_CLEAR,0)}KW_CLUSTER(){return this.getToken(e.KW_CLUSTER,0)}KW_CLUSTERED(){return this.getToken(e.KW_CLUSTERED,0)}KW_CODEGEN(){return this.getToken(e.KW_CODEGEN,0)}KW_COLLATE(){return this.getToken(e.KW_COLLATE,0)}KW_COLLECTION(){return this.getToken(e.KW_COLLECTION,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_COMPACT(){return this.getToken(e.KW_COMPACT,0)}KW_COMPACTIONS(){return this.getToken(e.KW_COMPACTIONS,0)}KW_COMPUTE(){return this.getToken(e.KW_COMPUTE,0)}KW_CONCATENATE(){return this.getToken(e.KW_CONCATENATE,0)}KW_CONSTRAINT(){return this.getToken(e.KW_CONSTRAINT,0)}KW_COST(){return this.getToken(e.KW_COST,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(e.KW_CURRENT_TIME,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}KW_CURRENT_USER(){return this.getToken(e.KW_CURRENT_USER,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATABASE(){return this.getToken(e.KW_DATABASE,0)}KW_DATABASES(){return this.getToken(e.KW_DATABASES,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DATEADD(){return this.getToken(e.KW_DATEADD,0)}KW_DATE_ADD(){return this.getToken(e.KW_DATE_ADD,0)}KW_DATEDIFF(){return this.getToken(e.KW_DATEDIFF,0)}KW_DATE_DIFF(){return this.getToken(e.KW_DATE_DIFF,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DAYS(){return this.getToken(e.KW_DAYS,0)}KW_DAYOFYEAR(){return this.getToken(e.KW_DAYOFYEAR,0)}KW_DBPROPERTIES(){return this.getToken(e.KW_DBPROPERTIES,0)}KW_DEC(){return this.getToken(e.KW_DEC,0)}KW_DECIMAL(){return this.getToken(e.KW_DECIMAL,0)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFINED(){return this.getToken(e.KW_DEFINED,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_DELIMITED(){return this.getToken(e.KW_DELIMITED,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DFS(){return this.getToken(e.KW_DFS,0)}KW_DIRECTORIES(){return this.getToken(e.KW_DIRECTORIES,0)}KW_DIRECTORY(){return this.getToken(e.KW_DIRECTORY,0)}KW_DISABLE(){return this.getToken(e.KW_DISABLE,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_DISTRIBUTE(){return this.getToken(e.KW_DISTRIBUTE,0)}KW_DIV(){return this.getToken(e.KW_DIV,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}KW_ENABLE(){return this.getToken(e.KW_ENABLE,0)}KW_END(){return this.getToken(e.KW_END,0)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}KW_ESCAPED(){return this.getToken(e.KW_ESCAPED,0)}KW_EXCHANGE(){return this.getToken(e.KW_EXCHANGE,0)}KW_EXCLUDE(){return this.getToken(e.KW_EXCLUDE,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_EXPORT(){return this.getToken(e.KW_EXPORT,0)}KW_EXTENDED(){return this.getToken(e.KW_EXTENDED,0)}KW_EXTERNAL(){return this.getToken(e.KW_EXTERNAL,0)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_FETCH(){return this.getToken(e.KW_FETCH,0)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_FIELDS(){return this.getToken(e.KW_FIELDS,0)}KW_FILEFORMAT(){return this.getToken(e.KW_FILEFORMAT,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FLOAT(){return this.getToken(e.KW_FLOAT,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_FOREIGN(){return this.getToken(e.KW_FOREIGN,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FORMATTED(){return this.getToken(e.KW_FORMATTED,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_GENERATED(){return this.getToken(e.KW_GENERATED,0)}KW_GLOBAL(){return this.getToken(e.KW_GLOBAL,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_HOURS(){return this.getToken(e.KW_HOURS,0)}KW_IDENTIFIER(){return this.getToken(e.KW_IDENTIFIER,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_IMPORT(){return this.getToken(e.KW_IMPORT,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_INCLUDE(){return this.getToken(e.KW_INCLUDE,0)}KW_INDEX(){return this.getToken(e.KW_INDEX,0)}KW_INDEXES(){return this.getToken(e.KW_INDEXES,0)}KW_INPATH(){return this.getToken(e.KW_INPATH,0)}KW_INPUTFORMAT(){return this.getToken(e.KW_INPUTFORMAT,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_INT(){return this.getToken(e.KW_INT,0)}KW_INTEGER(){return this.getToken(e.KW_INTEGER,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_ITEMS(){return this.getToken(e.KW_ITEMS,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LAZY(){return this.getToken(e.KW_LAZY,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_LIFECYCLE(){return this.getToken(e.KW_LIFECYCLE,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_LONG(){return this.getToken(e.KW_LONG,0)}KW_ILIKE(){return this.getToken(e.KW_ILIKE,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LINES(){return this.getToken(e.KW_LINES,0)}KW_LIST(){return this.getToken(e.KW_LIST,0)}KW_LOAD(){return this.getToken(e.KW_LOAD,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_LOCATION(){return this.getToken(e.KW_LOCATION,0)}KW_LOCK(){return this.getToken(e.KW_LOCK,0)}KW_LOCKS(){return this.getToken(e.KW_LOCKS,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_MACRO(){return this.getToken(e.KW_MACRO,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_MICROSECOND(){return this.getToken(e.KW_MICROSECOND,0)}KW_MICROSECONDS(){return this.getToken(e.KW_MICROSECONDS,0)}KW_MILLISECOND(){return this.getToken(e.KW_MILLISECOND,0)}KW_MILLISECONDS(){return this.getToken(e.KW_MILLISECONDS,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MINUTES(){return this.getToken(e.KW_MINUTES,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_MONTHS(){return this.getToken(e.KW_MONTHS,0)}KW_MSCK(){return this.getToken(e.KW_MSCK,0)}KW_NAME(){return this.getToken(e.KW_NAME,0)}KW_NAMESPACE(){return this.getToken(e.KW_NAMESPACE,0)}KW_NAMESPACES(){return this.getToken(e.KW_NAMESPACES,0)}KW_NANOSECOND(){return this.getToken(e.KW_NANOSECOND,0)}KW_NANOSECONDS(){return this.getToken(e.KW_NANOSECONDS,0)}KW_NO(){return this.getToken(e.KW_NO,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_NUMERIC(){return this.getToken(e.KW_NUMERIC,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_OPTIMIZE(){return this.getToken(e.KW_OPTIMIZE,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_OPTIONS(){return this.getToken(e.KW_OPTIONS,0)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_OUT(){return this.getToken(e.KW_OUT,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_OUTPUTFORMAT(){return this.getToken(e.KW_OUTPUTFORMAT,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}KW_OVERLAPS(){return this.getToken(e.KW_OVERLAPS,0)}KW_OVERLAY(){return this.getToken(e.KW_OVERLAY,0)}KW_OVERWRITE(){return this.getToken(e.KW_OVERWRITE,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_PARTITIONED(){return this.getToken(e.KW_PARTITIONED,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PERCENTILE_CONT(){return this.getToken(e.KW_PERCENTILE_CONT,0)}KW_PERCENTILE_DISC(){return this.getToken(e.KW_PERCENTILE_DISC,0)}KW_PERCENTLIT(){return this.getToken(e.KW_PERCENTLIT,0)}KW_PIVOT(){return this.getToken(e.KW_PIVOT,0)}KW_PLACING(){return this.getToken(e.KW_PLACING,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_PRIMARY(){return this.getToken(e.KW_PRIMARY,0)}KW_PRINCIPALS(){return this.getToken(e.KW_PRINCIPALS,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}KW_PURGE(){return this.getToken(e.KW_PURGE,0)}KW_QUARTER(){return this.getToken(e.KW_QUARTER,0)}KW_QUERY(){return this.getToken(e.KW_QUERY,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_REAL(){return this.getToken(e.KW_REAL,0)}KW_RECORDREADER(){return this.getToken(e.KW_RECORDREADER,0)}KW_RECORDWRITER(){return this.getToken(e.KW_RECORDWRITER,0)}KW_RECOVER(){return this.getToken(e.KW_RECOVER,0)}KW_REDUCE(){return this.getToken(e.KW_REDUCE,0)}KW_REFERENCES(){return this.getToken(e.KW_REFERENCES,0)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REPAIR(){return this.getToken(e.KW_REPAIR,0)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_REWRITE(){return this.getToken(e.KW_REWRITE,0)}KW_RLIKE(){return this.getToken(e.KW_RLIKE,0)}KW_REGEXP(){return this.getToken(e.KW_REGEXP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECONDS(){return this.getToken(e.KW_SECONDS,0)}KW_SEPARATED(){return this.getToken(e.KW_SEPARATED,0)}KW_SERDE(){return this.getToken(e.KW_SERDE,0)}KW_SERDEPROPERTIES(){return this.getToken(e.KW_SERDEPROPERTIES,0)}KW_SESSION_USER(){return this.getToken(e.KW_SESSION_USER,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SHORT(){return this.getToken(e.KW_SHORT,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SINGLE(){return this.getToken(e.KW_SINGLE,0)}KW_SKEWED(){return this.getToken(e.KW_SKEWED,0)}KW_SMALLINT(){return this.getToken(e.KW_SMALLINT,0)}KW_SOME(){return this.getToken(e.KW_SOME,0)}KW_SORT(){return this.getToken(e.KW_SORT,0)}KW_SORTED(){return this.getToken(e.KW_SORTED,0)}KW_SOURCE(){return this.getToken(e.KW_SOURCE,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_STATISTICS(){return this.getToken(e.KW_STATISTICS,0)}KW_STORED(){return this.getToken(e.KW_STORED,0)}KW_STRATIFY(){return this.getToken(e.KW_STRATIFY,0)}KW_STRING(){return this.getToken(e.KW_STRING,0)}KW_STRUCT(){return this.getToken(e.KW_STRUCT,0)}KW_SUBSTR(){return this.getToken(e.KW_SUBSTR,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_SYNC(){return this.getToken(e.KW_SYNC,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_SYSTEM_TIME(){return this.getToken(e.KW_SYSTEM_TIME,0)}KW_SYSTEM_VERSION(){return this.getToken(e.KW_SYSTEM_VERSION,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}KW_TARGET(){return this.getToken(e.KW_TARGET,0)}KW_TBLPROPERTIES(){return this.getToken(e.KW_TBLPROPERTIES,0)}KW_TEMPORARY(){return this.getToken(e.KW_TEMPORARY,0)}KW_TERMINATED(){return this.getToken(e.KW_TERMINATED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_TIMEDIFF(){return this.getToken(e.KW_TIMEDIFF,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TIMESTAMP_LTZ(){return this.getToken(e.KW_TIMESTAMP_LTZ,0)}KW_TIMESTAMP_NTZ(){return this.getToken(e.KW_TIMESTAMP_NTZ,0)}KW_TIMESTAMPADD(){return this.getToken(e.KW_TIMESTAMPADD,0)}KW_TIMESTAMPDIFF(){return this.getToken(e.KW_TIMESTAMPDIFF,0)}KW_TINYINT(){return this.getToken(e.KW_TINYINT,0)}KW_TO(){return this.getToken(e.KW_TO,0)}KW_TOUCH(){return this.getToken(e.KW_TOUCH,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRANSACTIONS(){return this.getToken(e.KW_TRANSACTIONS,0)}KW_TRANSFORM(){return this.getToken(e.KW_TRANSFORM,0)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNARCHIVE(){return this.getToken(e.KW_UNARCHIVE,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_UNCACHE(){return this.getToken(e.KW_UNCACHE,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_UNLOCK(){return this.getToken(e.KW_UNLOCK,0)}KW_UNPIVOT(){return this.getToken(e.KW_UNPIVOT,0)}KW_UNSET(){return this.getToken(e.KW_UNSET,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}KW_VARCHAR(){return this.getToken(e.KW_VARCHAR,0)}KW_VAR(){return this.getToken(e.KW_VAR,0)}KW_VARIABLE(){return this.getToken(e.KW_VARIABLE,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_VIEWS(){return this.getToken(e.KW_VIEWS,0)}KW_VOID(){return this.getToken(e.KW_VOID,0)}KW_WEEK(){return this.getToken(e.KW_WEEK,0)}KW_WEEKS(){return this.getToken(e.KW_WEEKS,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_YEARS(){return this.getToken(e.KW_YEARS,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_ZORDER(){return this.getToken(e.KW_ZORDER,0)}get ruleIndex(){return e.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}var Z7=Object.defineProperty,ot=(n,t)=>Z7(n,"name",{value:t,configurable:!0}),Se=(Cs=class{constructor(t=""){E(this,"name");E(this,"context");E(this,"modifiers",new Set);E(this,"visibility",0);j(this,Et,void 0);this.name=t}get parent(){return g(this,Et)}get firstSibling(){var t;if(g(this,Et))return(t=g(this,Et))==null?void 0:t.firstChild}get previousSibling(){if(g(this,Et))return g(this,Et)?g(this,Et).previousSiblingOf(this):this}get nextSibling(){var t;return(t=g(this,Et))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=g(this,Et))==null?void 0:t.lastChild}get next(){var t;return(t=g(this,Et))==null?void 0:t.nextOf(this)}get root(){let t=g(this,Et);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=g(this,Et);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let i=this;for(;i&&(t.push(i),!!i.parent);)i=i.parent;return t}setParent(t){Z(this,Et,t)}removeFromParent(){var t;(t=g(this,Et))==null||t.removeSymbol(this),Z(this,Et,void 0)}async resolve(t,i=!1){var s;return(s=g(this,Et))==null?void 0:s.resolve(t,i)}resolveSync(t,i=!1){var s;return(s=g(this,Et))==null?void 0:s.resolveSync(t,i)}getParentOfType(t){let i=g(this,Et);for(;i;){if(i instanceof t)return i;i=i.parent}}qualifiedName(t=".",i=!1,s=!1){if(!s&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=g(this,Et);for(;h&&((s||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!i||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},Et=new WeakMap,ot(Cs,"BaseSymbol"),Cs);ms=class extends Se{constructor(i,s,r,h=0){super(i);E(this,"elementType");E(this,"size");E(this,"referenceKind");this.referenceKind=s,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ot(ms,"ArrayType");var Oo=(gs=class extends Error{},ot(gs,"DuplicateSymbolError"),gs),Qe=(Jt=class extends Se{constructor(i=""){super(i);j(this,it,[]);j(this,Ae,new Map)}get directScopes(){return this.getSymbolsOfType(Jt)}get children(){return g(this,it)}get firstChild(){if(g(this,it).length>0)return g(this,it)[0]}get lastChild(){if(g(this,it).length>0)return g(this,it)[g(this,it).length-1]}clear(){Z(this,it,[]),g(this,Ae).clear()}addSymbol(i){i.removeFromParent();const s=this.symbolTable,r=g(this,Ae).get(i.name);if(!s||!s.options.allowDuplicateSymbols){if(r!==void 0)throw new Oo("Attempt to add duplicate symbol '"+(i.name??"")+"'");if(g(this,Ae).set(i.name,1),g(this,it).indexOf(i)>-1)throw new Oo("Attempt to add duplicate symbol '"+(i.name??"")+"'")}else g(this,Ae).set(i.name,r===void 0?1:r+1);g(this,it).push(i),i.setParent(this)}removeSymbol(i){const s=g(this,it).indexOf(i);if(s>-1){g(this,it).splice(s,1),i.setParent(void 0);const r=g(this,Ae).get(i.name);r!==void 0&&(r===1?g(this,Ae).delete(i.name):g(this,Ae).set(i.name,r-1))}}async getNestedSymbolsOfType(i){const s=[],r=[];return g(this,it).forEach(o=>{o instanceof i&&s.push(o),o instanceof Jt&&r.push(o.getNestedSymbolsOfType(i))}),(await Promise.all(r)).forEach(o=>{s.push(...o)}),s}getNestedSymbolsOfTypeSync(i){const s=[];return g(this,it).forEach(r=>{r instanceof i&&s.push(r),r instanceof Jt&&s.push(...r.getNestedSymbolsOfTypeSync(i))}),s}async getAllNestedSymbols(i){const s=[],r=[];return g(this,it).forEach(o=>{(!i||o.name===i)&&s.push(o),o instanceof Jt&&r.push(o.getAllNestedSymbols(i))}),(await Promise.all(r)).forEach(o=>{s.push(...o)}),s}getAllNestedSymbolsSync(i){const s=[];return g(this,it).forEach(r=>{(!i||r.name===i)&&s.push(r),r instanceof Jt&&s.push(...r.getAllNestedSymbolsSync(i))}),s}getSymbolsOfType(i){return new Promise(s=>{const r=[];g(this,it).forEach(h=>{h instanceof i&&r.push(h)}),s(r)})}async getAllSymbols(i,s=!1){const r=[];for(const h of g(this,it))if(h instanceof i&&r.push(h),this.isNamespace(h)){const o=await h.getAllSymbols(i,!0);r.push(...o)}if(!s&&this.parent){const h=await this.getAllSymbols(i,!0);r.push(...h)}return r}getAllSymbolsSync(i,s=!1){const r=[];for(const h of g(this,it))if(h instanceof i&&r.push(h),this.isNamespace(h)){const o=h.getAllSymbolsSync(i,!0);r.push(...o)}if(!s&&this.parent){const h=this.getAllSymbolsSync(i,!0);r.push(...h)}return r}async resolve(i,s=!1){return new Promise(r=>{for(const h of g(this,it))if(h.name===i){r(h);return}if(!s&&this.parent){r(this.parent.resolve(i,!1));return}r(void 0)})}resolveSync(i,s=!1){for(const r of g(this,it))if(r.name===i)return r;if(!s&&this.parent)return this.parent.resolveSync(i,!1)}symbolFromPath(i,s="."){const r=i.split(s);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let o=this;for(;hc.name===r[h]);if(!a)return;o=a,++h}return o}indexOfChild(i){return g(this,it).findIndex(s=>s===i)}nextSiblingOf(i){const s=this.indexOfChild(i);if(!(s===-1||s>=g(this,it).length-1))return g(this,it)[s+1]}previousSiblingOf(i){const s=this.indexOfChild(i);if(!(s<1))return g(this,it)[s-1]}nextOf(i){if(!i.parent)return;if(i.parent!==this)return i.parent.nextOf(i);if(i instanceof Jt&&i.children.length>0)return i.children[0];const s=this.nextSiblingOf(i);return s||this.parent.nextOf(this)}isNamespace(i){return i.inline!==void 0&&i.attributes!==void 0}},it=new WeakMap,Ae=new WeakMap,ot(Jt,"ScopedSymbol"),Jt);Ns=class extends Qe{},ot(Ns,"BlockSymbol");var po=(Ls=class extends Se{constructor(i,s){super(i);E(this,"type");this.type=s}},ot(Ls,"TypedSymbol"),Ls),p2=(Is=class extends po{constructor(i,s,r){super(i,r);E(this,"value");this.value=s}},ot(Is,"VariableSymbol"),Is),Do=(xs=class extends p2{constructor(){super(...arguments);E(this,"setter");E(this,"getter")}},ot(xs,"FieldSymbol"),xs),z7=(Os=class extends p2{},ot(Os,"ParameterSymbol"),Os),P7=(ps=class extends Qe{constructor(i,s){super(i);E(this,"returnType");this.returnType=s}getVariables(i=!0){return this.getSymbolsOfType(p2)}getParameters(i=!0){return this.getSymbolsOfType(z7)}},ot(ps,"RoutineSymbol"),ps),Mo=(Ds=class extends P7{constructor(){super(...arguments);E(this,"methodFlags",0)}},ot(Ds,"MethodSymbol"),Ds);Ms=class extends Qe{constructor(i,s,r){super(i);E(this,"isStruct",!1);E(this,"reference",0);E(this,"extends");E(this,"implements");this.extends=s,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(i=!1){return this.getSymbolsOfType(Mo)}getFields(i=!1){return this.getSymbolsOfType(Do)}},ot(Ms,"ClassSymbol"),St=class{constructor(t,i=0,s=0){E(this,"name");E(this,"typeKind");E(this,"referenceKind");this.name=t,this.typeKind=i,this.referenceKind=s}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ot(St,"FundamentalType"),E(St,"integerType",new St("int",1,3)),E(St,"floatType",new St("float",2,3)),E(St,"stringType",new St("string",4,3)),E(St,"boolType",new St("bool",6,3)),ys=class extends Qe{constructor(i,s){super(i);E(this,"reference",0);E(this,"extends");this.extends=s}get baseTypes(){return this.extends}get kind(){return 8}getMethods(i=!1){return this.getSymbolsOfType(Mo)}getFields(i=!1){return this.getSymbolsOfType(Do)}},ot(ys,"InterfaceSymbol"),Us=class extends po{constructor(i,s,r){super(i,r);E(this,"value");this.value=s}},ot(Us,"LiteralSymbol");var Nn=(vs=class extends Qe{constructor(i,s=!1,r=[]){super(i);E(this,"inline");E(this,"attributes");this.inline=s,this.attributes=r}},ot(vs,"NamespaceSymbol"),vs);ws=class extends Se{constructor(i,s){super(i);E(this,"targetType");this.targetType=s}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ot(ws,"TypeAlias");var $7=ot((n,t)=>{if(!n||!t)return[];let i;for(i=0;i=t||a.type===m.EOF)||a.type===m.EOF)break}const h=[],o=i?i.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const c of this.candidates.rules){let u="";for(const T of c[1].ruleList)u+=this.ruleNames[T]+" ";console.log(this.ruleNames[c[0]]+", path: ",u)}const a=new Set;for(const c of this.candidates.tokens){let u=this.vocabulary.getDisplayName(c[0])??"";for(const T of c[1])u+=" "+this.vocabulary.getDisplayName(T);a.add(u)}console.log(` - -Collected tokens: -`);for(const c of a)console.log(c);console.log(` - -`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let i=t.length-1;i>=0;i--)if(this.translateToRuleIndex(i,t))return!0}else for(let i=0;ia);let o=!0;for(const a of this.candidates.rules)if(!(a[0]!==s||a[1].ruleList.length!==h.length)&&h.every((c,u)=>c===a[1].ruleList[u])){o=!1;break}return o&&(this.candidates.rules.set(s,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[s])),!0}return!1}getFollowingTokens(t){const i=[],s=[t.target];for(;s.length>0;){const r=s.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===y.ATOM)if(h.isEpsilon)s.push(h.target);else{const o=h.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(i.push(o[0]),s.push(h.target))}})}return i}determineFollowSets(t,i){const s=[],r=[],h=[],o=this.collectFollowSets(t,i,s,r,h),a=new gt;for(const c of s)a.addSet(c.intervals);return{sets:s,isExhaustive:o,combined:a}}collectFollowSets(t,i,s,r,h){if(r.find(a=>a===t))return!0;if(r.push(t),t===i||t.stateType===Y.RULE_STOP)return r.pop(),!1;let o=!0;for(const a of t.transitions)if(a.serializationType===y.RULE){const c=a;if(h.indexOf(c.target.ruleIndex)!==-1)continue;h.push(c.target.ruleIndex);const u=this.collectFollowSets(a.target,i,s,r,h);if(h.pop(),!u){const T=this.collectFollowSets(c.followState,i,s,r,h);o&&(o=T)}}else if(a.serializationType===y.PREDICATE){if(this.checkPredicate(a)){const c=this.collectFollowSets(a.target,i,s,r,h);o&&(o=c)}}else if(a.isEpsilon){const c=this.collectFollowSets(a.target,i,s,r,h);o&&(o=c)}else if(a.serializationType===y.WILDCARD){const c=new yo;c.intervals=gt.of(m.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),c.path=h.slice(),s.push(c)}else{let c=a.label;if(c&&c.length>0){a.serializationType===y.NOT_SET&&(c=c.complement(m.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new yo;u.intervals=c??new gt,u.path=h.slice(),u.following=this.getFollowingTokens(a),s.push(u)}}return r.pop(),o}processRule(t,i,s,r,h){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(i))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(i);const a=new Set;let c=re.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,re.followSetsByATN.set(this.parser.constructor.name,c));let u=c.get(t.stateNumber);if(!u){const C=this.atn.ruleToStopState[t.ruleIndex];u=this.determineFollowSets(t,C),c.set(t.stateNumber,u)}const T=this.tokens[i].tokenIndex;if(s.push({startTokenIndex:T,ruleIndex:t.ruleIndex}),i>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(s);else for(const C of u.sets){const I=s.slice(),O=C.path.map(p=>({startTokenIndex:T,ruleIndex:p}));if(I.push(...O),!this.translateStackToRuleIndex(I))for(const p of C.intervals.toArray())this.ignoredTokens.has(p)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(p)),this.candidates.tokens.has(p)?this.candidates.tokens.get(p)!==C.following&&this.candidates.tokens.set(p,[]):this.candidates.tokens.set(p,C.following))}return u.isExhaustive||a.add(i),s.pop(),a}else{const C=this.tokens[i].type;if(u.isExhaustive&&!u.combined.contains(C))return s.pop(),a}t.isPrecedenceRule&&this.precedenceStack.push(r);const d=[];let _;for(d.push({state:t,tokenListIndex:i});d.length>0;){_=d.pop(),++this.statesProcessed;const C=this.tokens[_.tokenListIndex].type,I=_.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,_.state,this.generateBaseDescription(_.state),_.tokenListIndex),this.showRuleStack&&this.printRuleState(s)),_.state.stateType===Y.RULE_STOP){a.add(_.tokenListIndex);continue}const O=_.state.transitions;for(const p of O)switch(p.serializationType){case y.RULE:{const w=p,f=this.processRule(p.target,_.tokenListIndex,s,w.precedence,h+1);for(const K of f)d.push({state:p.followState,tokenListIndex:K});break}case y.PREDICATE:{this.checkPredicate(p)&&d.push({state:p.target,tokenListIndex:_.tokenListIndex});break}case y.PRECEDENCE:{p.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&d.push({state:p.target,tokenListIndex:_.tokenListIndex});break}case y.WILDCARD:{if(I){if(!this.translateStackToRuleIndex(s))for(const w of gt.of(m.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(w)||this.candidates.tokens.set(w,[])}else d.push({state:p.target,tokenListIndex:_.tokenListIndex+1});break}default:{if(p.isEpsilon){d.push({state:p.target,tokenListIndex:_.tokenListIndex});continue}let w=p.label;if(w&&w.length>0)if(p.serializationType===y.NOT_SET&&(w=w.complement(m.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),I){if(!this.translateStackToRuleIndex(s)){const f=w.toArray(),K=f.length===1;for(const L of f)if(!this.ignoredTokens.has(L)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(L));const x=K?this.getFollowingTokens(p):[];this.candidates.tokens.has(L)?this.candidates.tokens.set(L,$7(x,this.candidates.tokens.get(L))):this.candidates.tokens.set(L,x)}}}else w.contains(C)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(C)),d.push({state:p.target,tokenListIndex:_.tokenListIndex+1}))}}}return s.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(i,a),a}generateBaseDescription(t){return`[${t.stateNumber===ue.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${re.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,i,s,r){const h=" ".repeat(t);let o=h,a="";if(this.debugOutputWithTransitions)for(const c of i.transitions){let u="";const T=c.label?c.label.toArray():[];if(T.length>2)u=this.vocabulary.getDisplayName(T[0])+" .. "+this.vocabulary.getDisplayName(T[T.length-1]);else for(const d of T)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(d);u.length===0&&(u="ε"),a+=` -${h} (${u}) [${c.target.stateNumber} ${re.atnStateTypeMap[c.target.stateType]}] in ${this.ruleNames[c.target.ruleIndex]}`}r>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+r}>> `:o+=`<${this.tokenStartIndex+r}> `,console.log(o+"Current state: "+s+a)}printRuleState(t){if(t.length===0){console.log("");return}for(const i of t)console.log(this.ruleNames[i.ruleIndex])}},ot(re,"CodeCompletionCore"),E(re,"followSetsByATN",new Map),E(re,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),re);Fs=class extends Qe{constructor(i,s){super(i);E(this,"dependencies",new Set);this.options=s}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...i){i.forEach(s=>{this.dependencies.add(s)})}removeDependency(i){this.dependencies.has(i)&&this.dependencies.delete(i)}addNewSymbolOfType(i,s,...r){const h=new i(...r);return!s||s===this?this.addSymbol(h):s.addSymbol(h),h}async addNewNamespaceFromPath(i,s,r="."){const h=s.split(r);let o=0,a=i===void 0?this:i;for(;oo.getAllSymbols(i,s)))).forEach(o=>{r.push(...o)}),r}getAllSymbolsSync(i,s=!1){const r=super.getAllSymbolsSync(i,s);return s||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(i,s))}),r}async symbolWithContext(i){const s=ot(h=>{if(h.context===i)return h;if(h instanceof Qe)for(const o of h.children){const a=s(o);if(a)return a}},"findRecursive");let r=await this.getAllSymbols(Se);for(const h of r){const o=s(h);if(o)return o}for(const h of this.dependencies){r=await h.getAllSymbols(Se);for(const o of r){const a=s(o);if(a)return a}}}symbolWithContextSync(i){const s=ot(h=>{if(h.context===i)return h;if(h instanceof Qe)for(const o of h.children){const a=s(o);if(a)return a}},"findRecursive");let r=this.getAllSymbolsSync(Se);for(const h of r){const o=s(h);if(o)return o}for(const h of this.dependencies){r=h.getAllSymbolsSync(Se);for(const o of r){const a=s(o);if(a)return a}}}async resolve(i,s=!1){let r=await super.resolve(i,s);if(!r&&!s){for(const h of this.dependencies)if(r=await h.resolve(i,!1),r)return r}return r}resolveSync(i,s=!1){let r=super.resolveSync(i,s);if(!r&&!s){for(const h of this.dependencies)if(r=h.resolveSync(i,!1),r)return r}return r}},ot(Fs,"SymbolTable");function Uo(n,t){var i,s;const{lineNumber:r,column:h}=n;let o=0,a=t.length-1;for(;o<=a;){const c=o+(a-o>>1),u=t[c];if(u.line>r||u.line===r&&u.column+1>=h)a=c-1;else if(u.line{this._parseErrors.push(t)}}createLexer(t,i){const s=Tr.fromString(t),r=this.createLexerFromCharStream(s);return i&&(r.removeErrorListeners(),r.addErrorListener(new Ln(i))),r}createParser(t,i){const s=this.createLexer(t,i),r=new nn(s),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=_t.SLL,i&&(h.removeErrorListeners(),h.addErrorListener(new Ln(i))),h}parse(t,i){const s=this.createParser(t,i);return s.buildParseTrees=!0,s.errorHandler=new D2,s.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=Tr.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new Ln(this._errorListener)),this._tokenStream=new nn(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=_t.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new D2,this._parser}parseWithCache(t,i){if(this._parsedInput===t&&!i&&this._parseTree)return this._parseTree;this._parseErrors=[];const s=this.createParserWithCache(t);return this._parsedInput=t,s.removeErrorListeners(),s.addErrorListener(new Ln(this._errorListener)),this._parseTree=s.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let i=this._tokenStream.getTokens();return i[i.length-1].text===""&&(i=i.slice(0,-1)),i}listen(t,i){Gc.DEFAULT.walk(t,i)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const s=this.splitListener;return s?(this.listen(s,this._parseTree),s.statementsContext.map(h=>vo(h,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(t,i){var s,r,h,o,a,c,u,T,d;const _=this.splitListener;if(!_||(this.parseWithCache(t),!this._parseTree))return null;let C=this._parser;const I=this.getAllTokens(t);let O=Uo(i,I),p=this._parseTree,w=0;if(!O&&O!==0)return null;this.listen(_,this._parseTree);const f=(s=_.statementsContext)===null||s===void 0?void 0:s.length,K=_.statementsContext;if(f>1){let D=null,S=null;for(let O1=0;O1O&&Tl){S=p1;break}}const Rt=(a=(o=D==null?void 0:D.start)===null||o===void 0?void 0:o.start)!==null&&a!==void 0?a:0,$=(u=(c=S==null?void 0:S.stop)===null||c===void 0?void 0:c.stop)!==null&&u!==void 0?u:t.length-1;w=(d=(T=D==null?void 0:D.start)===null||T===void 0?void 0:T.tokenIndex)!==null&&d!==void 0?d:0,O=O-w;const F=t.slice(Rt,$),he=this.createLexer(F);he.removeErrorListeners();const Ho=new nn(he);Ho.fill();const ni=this.createParserFromTokenStream(Ho);ni.interpreter.predictionMode=_t.SLL,ni.removeErrorListeners(),ni.buildParseTrees=!0,ni.errorHandler=new D2,C=ni,p=ni.program()}const L=new J7(C);L.preferredRules=this.preferredRules;const x=L.collectCandidates(O,p),b=this.processCandidates(x,I,O,w);return{syntax:b.syntax.map(D=>{const S=D.wordRanges.map(Rt=>q7(Rt,this._parsedInput));return{syntaxContextType:D.syntaxContextType,wordRanges:S}}),keywords:b.keywords}}getAllEntities(t,i){const s=this.getAllTokens(t),r=i?Uo(i,s):void 0,h=this.createEntityCollector(t,r);if(!h)return null;const o=this.parseWithCache(t);return this.listen(h,o),h.getEntities()}}var st;(function(n){n.CATALOG="catalog",n.CATALOG_CREATE="catalogCreate",n.DATABASE="database",n.DATABASE_CREATE="databaseCreate",n.TABLE="table",n.TABLE_CREATE="tableCreate",n.VIEW="view",n.VIEW_CREATE="viewCreate",n.FUNCTION="function",n.FUNCTION_CREATE="functionCreate",n.PROCEDURE="procedure",n.PROCEDURE_CREATE="procedureCreate",n.COLUMN="column",n.COLUMN_CREATE="columnCreate"})(st||(st={}));class il{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class sl extends il{exitSingleStatement(t){this._statementsContext.push(t)}}class wo{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var bo=function(n,t){var i={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&t.indexOf(s)<0&&(i[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,s=Object.getOwnPropertySymbols(n);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=nl(t,i,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((s=this._stmtStack.peek())===null||s===void 0?void 0:s.stmtContextType)===xt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,i,s){const r=hl(t,i,this._input,this._stmtStack.peek(),s);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const i=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)i.unshift(this._entityStack.pop());const s=this.combineRootStmtEntities(t,i);for(;s.length;){const r=s.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,i){return t.stmtContextType===xt.CREATE_VIEW_STMT||t.stmtContextType===xt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,i):i}combineCreateTableOrViewStmtEntities(t,i){const s=[],r=[];let h=null;const o=i.reduce((a,c)=>{if(c.belongStmt!==t)return c.entityContextType!==st.COLUMN&&c.entityContextType!==st.COLUMN_CREATE&&(r.push(c),a.push(c)),a;if(c.entityContextType===st.COLUMN_CREATE)s.push(c);else{if(c.entityContextType===st.TABLE_CREATE||c.entityContextType===st.VIEW_CREATE)return h=c,a.push(c),a;c.entityContextType!==st.COLUMN&&(r.push(c),a.push(c))}return a},[]);return h&&s.length&&(h.columns=s),h&&r.length&&(h.relatedEntities=r),o}}class al extends ol{exitNamespaceName(t){this.pushEntity(t,st.DATABASE)}exitNamespaceNameCreate(t){this.pushEntity(t,st.DATABASE_CREATE)}exitTableName(t){this.pushEntity(t,st.TABLE)}exitTableNameCreate(t){this.pushEntity(t,st.TABLE_CREATE)}exitViewName(t){this.pushEntity(t,st.VIEW)}exitViewNameCreate(t){this.pushEntity(t,st.VIEW_CREATE)}exitFunctionNameCreate(t){this.pushEntity(t,st.FUNCTION_CREATE)}exitColumnNameCreate(t){this.pushEntity(t,st.COLUMN_CREATE)}enterSingleStatement(t){this.pushStmt(t,xt.COMMON_STMT)}exitSingleStatement(t){this.popStmt()}enterCreateTable(t){this.pushStmt(t,xt.CREATE_TABLE_STMT)}exitCreateTable(t){this.popStmt()}enterCreateTableLike(t){this.pushStmt(t,xt.CREATE_TABLE_STMT)}exitCreateTableLike(t){this.popStmt()}enterReplaceTable(t){this.pushStmt(t,xt.CREATE_TABLE_STMT)}exitReplaceTable(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,xt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterCreateTempViewUsing(t){this.pushStmt(t,xt.CREATE_VIEW_STMT)}exitCreateTempViewUsing(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,xt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterInsertFromQuery(t){this.pushStmt(t,xt.INSERT_STMT)}exitInsertFromQuery(t){this.popStmt()}enterMultipleInsert(t){this.pushStmt(t,xt.INSERT_STMT)}exitMultipleInsert(t){this.popStmt()}enterCreateNamespace(t){this.pushStmt(t,xt.CREATE_DATABASE_STMT)}exitCreateNamespace(t){this.popStmt()}enterCreateFunction(t){this.pushStmt(t,xt.CREATE_FUNCTION_STMT)}exitCreateFunction(t){this.popStmt()}}class cl extends el{constructor(){super(...arguments),this.preferredRules=new Set([e.RULE_namespaceName,e.RULE_namespaceNameCreate,e.RULE_tableName,e.RULE_tableNameCreate,e.RULE_viewName,e.RULE_viewNameCreate,e.RULE_functionName,e.RULE_functionNameCreate,e.RULE_columnName,e.RULE_columnNameCreate])}createLexerFromCharStream(t){return new l(t)}createParserFromTokenStream(t){return new e(t)}get splitListener(){return new sl}createEntityCollector(t,i){return new al(t,i)}processCandidates(t,i,s,r){const h=[],o=[];for(const a of t.rules){const[c,u]=a,T=u.startTokenIndex+r,d=i.slice(T,s+r+1);let _;switch(c){case e.RULE_namespaceName:{_=st.DATABASE;break}case e.RULE_namespaceNameCreate:{_=st.DATABASE_CREATE;break}case e.RULE_tableName:{_=st.TABLE;break}case e.RULE_tableNameCreate:{_=st.TABLE_CREATE;break}case e.RULE_viewName:{_=st.VIEW;break}case e.RULE_viewNameCreate:{_=st.VIEW_CREATE;break}case e.RULE_functionName:{_=st.FUNCTION;break}case e.RULE_functionNameCreate:{_=st.FUNCTION_CREATE;break}case e.RULE_columnName:{_=st.COLUMN;break}case e.RULE_columnNameCreate:{_=st.COLUMN_CREATE;break}}_&&h.push({syntaxContextType:_,wordRanges:d})}for(const a of t.tokens){const c=this._parser.vocabulary.getSymbolicName(a[0]),u=this._parser.vocabulary.getDisplayName(a[0]);if(u&&c&&c.startsWith("KW_")){const T=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;o.push(T)}}return{syntax:h,keywords:o}}}var Mi=function(n,t,i,s){function r(h){return h instanceof i?h:new i(function(o){o(h)})}return new(i||(i=Promise))(function(h,o){function a(T){try{u(s.next(T))}catch(d){o(d)}}function c(T){try{u(s.throw(T))}catch(d){o(d)}}function u(T){T.done?h(T.value):r(T.value).then(a,c)}u((s=s.apply(n,t||[])).next())})};class ul{constructor(t,i){this.keywords=[]}doValidation(t){return Mi(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const i=this.parser.validate(t);return Promise.resolve(i)}return Promise.resolve([])})}parserTreeToString(t){return Mi(this,void 0,void 0,function*(){if(t){const i=this.parser.createParser(t),r=i.program().toStringTree(i);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,i){return Mi(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.getSuggestionAtCaretPosition(t,i);return Promise.resolve(s)}return Promise.resolve(null)})}doCompletionWithEntities(t,i){return Mi(this,void 0,void 0,function*(){var s;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,i);let h=null;return!((s=r==null?void 0:r.syntax)===null||s===void 0)&&s.length&&(h=this.parser.getAllEntities(t,i)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,i){return Mi(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.getAllEntities(t,i);return Promise.resolve(s)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class ll extends ul{constructor(t,i){super(t,i),this._ctx=t,this.parser=new cl}}self.onmessage=()=>{Gh((n,t)=>new ll(n,t))}})(); diff --git a/assets/trino-0a92ce9d.js b/assets/trino-da547c35.js similarity index 99% rename from assets/trino-0a92ce9d.js rename to assets/trino-da547c35.js index 7a371f3f..85ba5de5 100644 --- a/assets/trino-0a92ce9d.js +++ b/assets/trino-da547c35.js @@ -1 +1 @@ -import{T as E}from"./index-f9d9330f.js";const R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},I={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALTER","AND","AS","BETWEEN","BY","CASE","CAST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT_CATALOG","CURRENT_DATE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEALLOCATE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","ESCAPE","EXCEPT","EXECUTE","EXISTS","EXTRACT","FALSE","FOR","FROM","FULL","GROUP","GROUPING","HAVING","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","NATURAL","NORMALIZE","NOT","NULL","ON","OR","ORDER","OUTER","PREPARE","RECURSIVE","RIGHT","ROLLUP","SELECT","TABLE","THEN","TRUE","UESCAPE","UNION","UNNEST","USING","VALUES","WHEN","WHERE","WITH","ADD","ALL","ANALYZE","ASC","CASCADE","COLUMN","COMMENT","DEFAULT","DENY","DESC","EXPLAIN","FETCH","FORMAT","GRANT","GRANTED","IF","INTERVAL","LIMIT","MERGE","OFFSET","ONLY","PARTITION","RANGE","READ","REFRESH","RENAME","REVOKE","REPLACE","RESET","ROLE","ROW","SCHEMA","SET","SHOW","STATS","TO","UPDATE","USE","VIEW"],operators:["INTERSECT","UNION","EXCEPT","AND","OR","NOT","JOIN","CROSS","INNER","OUTER","FULL","LEFT","RIGHT","LIKE","IN","BETWEEN","DISTINCT","ESCAPE","IS","ALL","ANY","SOME"],builtinFunctions:["ABS","ACOS","ALL_MATCH","ANY_MATCH","ANY_VALUE","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ARRAYS_OVERLAP","ASIN","AT_TIMEZONE","ATAN","ATAN2","AVG","BAR","BETA_CDF","BING_TILE","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BING_TILES_AROUND","BIT_COUNT","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_GROUPS","CURRENT_TIMEZONE","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVERY","EXCLUDE_COLUMNS","EXTRACT","EXP","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREAT_CIRCLE_DISTANCE","GREATEST","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_SIZE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MIN_BY","MINUTE","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMAL_CDF","NORMALIZE","NOW","NTH_VALUE","NTILE","NUMERIC_HISTOGRAM","OBJECTID_TIMESTAMP","PARSE_DATETIME","PARSE_DURATION","PARSE_DATA_SIZE","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SINH","SKEWNESS","SLICE","SOUNDEX","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PROTOCOL","URL_EXTRACT_PORT","URL_EXTRACT_QUERY","UUID","VALUE_AT_QUANTILE","VALUES_AT_QUANTILES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH"],builtinVariables:[],typeKeywords:["BOOLEAN","TINYINT","SMALLINT","INTEGER","INT","BIGINT","REAL","DOUBLE","DECIMAL","VARCHAR","CHAR","VARBINARY","JSON","DATE","TIME","TIMESTAMP","INTERVAL","ARRAY","MAP","ROW","IPADDRESS","UUID"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@$-]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}],[/"/,{token:E.IDENTIFIER_QUOTE,next:"@doubleQuotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],doubleQuotedIdentifier:[[/[^"]+/,E.IDENTIFIER_QUOTE],[/""/,E.IDENTIFIER_QUOTE],[/"/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[[/WITHOUT\s+TIME\s+ZONE\b/i,{token:E.TYPE}],[/WITH\s+TIME\s+ZONE\b/i,{token:E.TYPE}]]}};export{R as conf,I as language}; +import{T as E}from"./index-e7f600bf.js";const R={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},I={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:E.DELIMITER_SQUARE},{open:"(",close:")",token:E.DELIMITER_PAREN},{open:"{",close:"}",token:E.DELIMITER_CURLY}],keywords:["ALTER","AND","AS","BETWEEN","BY","CASE","CAST","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT_CATALOG","CURRENT_DATE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEALLOCATE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","ESCAPE","EXCEPT","EXECUTE","EXISTS","EXTRACT","FALSE","FOR","FROM","FULL","GROUP","GROUPING","HAVING","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","NATURAL","NORMALIZE","NOT","NULL","ON","OR","ORDER","OUTER","PREPARE","RECURSIVE","RIGHT","ROLLUP","SELECT","TABLE","THEN","TRUE","UESCAPE","UNION","UNNEST","USING","VALUES","WHEN","WHERE","WITH","ADD","ALL","ANALYZE","ASC","CASCADE","COLUMN","COMMENT","DEFAULT","DENY","DESC","EXPLAIN","FETCH","FORMAT","GRANT","GRANTED","IF","INTERVAL","LIMIT","MERGE","OFFSET","ONLY","PARTITION","RANGE","READ","REFRESH","RENAME","REVOKE","REPLACE","RESET","ROLE","ROW","SCHEMA","SET","SHOW","STATS","TO","UPDATE","USE","VIEW"],operators:["INTERSECT","UNION","EXCEPT","AND","OR","NOT","JOIN","CROSS","INNER","OUTER","FULL","LEFT","RIGHT","LIKE","IN","BETWEEN","DISTINCT","ESCAPE","IS","ALL","ANY","SOME"],builtinFunctions:["ABS","ACOS","ALL_MATCH","ANY_MATCH","ANY_VALUE","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ARRAYS_OVERLAP","ASIN","AT_TIMEZONE","ATAN","ATAN2","AVG","BAR","BETA_CDF","BING_TILE","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BING_TILES_AROUND","BIT_COUNT","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_GROUPS","CURRENT_TIMEZONE","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVERY","EXCLUDE_COLUMNS","EXTRACT","EXP","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREAT_CIRCLE_DISTANCE","GREATEST","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_SIZE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MIN_BY","MINUTE","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMAL_CDF","NORMALIZE","NOW","NTH_VALUE","NTILE","NUMERIC_HISTOGRAM","OBJECTID_TIMESTAMP","PARSE_DATETIME","PARSE_DURATION","PARSE_DATA_SIZE","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SINH","SKEWNESS","SLICE","SOUNDEX","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PROTOCOL","URL_EXTRACT_PORT","URL_EXTRACT_QUERY","UUID","VALUE_AT_QUANTILE","VALUES_AT_QUANTILES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH"],builtinVariables:[],typeKeywords:["BOOLEAN","TINYINT","SMALLINT","INTEGER","INT","BIGINT","REAL","DOUBLE","DECIMAL","VARCHAR","CHAR","VARBINARY","JSON","DATE","TIME","TIMESTAMP","INTERVAL","ARRAY","MAP","ROW","IPADDRESS","UUID"],scopeKeywords:["CASE","END","WHEN","THEN","ELSE"],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@customParams"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},{include:"@complexDataTypes"},[/[;,.]/,E.DELIMITER],[/[\(\)\[\]\{\}]/,"@brackets"],[/[\w@$-]+/,{cases:{"@scopeKeywords":E.KEYWORD_SCOPE,"@operators":E.OPERATOR_KEYWORD,"@typeKeywords":E.TYPE,"@builtinVariables":E.VARIABLE,"@builtinFunctions":E.PREDEFINED,"@keywords":E.KEYWORD,"@default":E.IDENTIFIER}}],[/[<>=!%&+\-*/|~^]/,E.OPERATOR_SYMBOL]],whitespace:[[/[\s\t\r\n]+/,E.WHITE]],comments:[[/--+.*/,E.COMMENT],[/\/\*/,{token:E.COMMENT_QUOTE,next:"@comment"}]],comment:[[/[^*/]+/,E.COMMENT],[/\*\//,{token:E.COMMENT_QUOTE,next:"@pop"}],[/./,E.COMMENT]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":E.PREDEFINED,"@default":E.IDENTIFIER}}]],customParams:[[/\${[A-Za-z0-9._-]*}/,E.VARIABLE],[/\@\@{[A-Za-z0-9._-]*}/,E.VARIABLE]],numbers:[[/[$][+-]*\d*(\.\d*)?/,E.NUMBER],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,E.NUMBER]],strings:[[/'/,{token:E.STRING,next:"@string"}]],string:[[/[^']+/,E.STRING_ESCAPE],[/''/,E.STRING],[/'/,{token:E.STRING,next:"@pop"}]],complexIdentifiers:[[/`/,{token:E.IDENTIFIER_QUOTE,next:"@quotedIdentifier"}],[/"/,{token:E.IDENTIFIER_QUOTE,next:"@doubleQuotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,E.IDENTIFIER_QUOTE],[/``/,E.IDENTIFIER_QUOTE],[/`/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],doubleQuotedIdentifier:[[/[^"]+/,E.IDENTIFIER_QUOTE],[/""/,E.IDENTIFIER_QUOTE],[/"/,{token:E.IDENTIFIER_QUOTE,next:"@pop"}]],scopes:[],complexDataTypes:[[/WITHOUT\s+TIME\s+ZONE\b/i,{token:E.TYPE}],[/WITH\s+TIME\s+ZONE\b/i,{token:E.TYPE}]]}};export{R as conf,I as language}; diff --git a/assets/trino.worker-5471b902.js b/assets/trino.worker-5471b902.js deleted file mode 100644 index f3674a46..00000000 --- a/assets/trino.worker-5471b902.js +++ /dev/null @@ -1,22 +0,0 @@ -var N5=Object.defineProperty;var T5=(ut,ht,Et)=>ht in ut?N5(ut,ht,{enumerable:!0,configurable:!0,writable:!0,value:Et}):ut[ht]=Et;var l=(ut,ht,Et)=>(T5(ut,typeof ht!="symbol"?ht+"":ht,Et),Et),wr=(ut,ht,Et)=>{if(!ht.has(ut))throw TypeError("Cannot "+Et)};var C=(ut,ht,Et)=>(wr(ut,ht,"read from private field"),Et?Et.call(ut):ht.get(ut)),$=(ut,ht,Et)=>{if(ht.has(ut))throw TypeError("Cannot add the same private member more than once");ht instanceof WeakSet?ht.add(ut):ht.set(ut,Et)},Q=(ut,ht,Et,ss)=>(wr(ut,ht,"write to private field"),ss?ss.call(ut,Et):ht.set(ut,Et),Et);var vr=(ut,ht,Et)=>(wr(ut,ht,"access private method"),Et);(function(){var F1,ws,vs,We,d1,H1,Ds,Pt,Ue,Me,f1,lt,Us,E1,Ms,Yt,de,bs,be,fe,m1,V1,Fs,p1,Fe,Hs,Vs,Bs,Ft,Gs,Ys,_1,Qs,B1,G1,Y1,Zs,He,Xs,zs,Q1,$s,Z1,ge,js,Lt,Ps,Js,qs,P,Wt,ct,ti,Ve,ei,si,ii,Be,X1,Ge,ni,ri,ai,hi,oi,ci,ui,li,di,fi,Ei,mi,pi,_i,Ri,Wi,gi,Ki,Ai,R1,z1,$1,W1,j1,P1,g1,J1,Ye,Ci,xi,It,v,Ni,Ti,Li,Ii,Si,ki,Oi,Ke,Ae,yi,wi,vi,q1,Di,Ui,K1,Mi,Dr,bi,Fi,Hi,Vi,H,Bi,Gi,Yi,Qi,Zi,Xi,zi,$i,Qe,ji,Pi,Ji,qi,t0,e0,s0,i0,n0,r0,a0,h0,o0,c0,Rn,u0,l0,d0,f0,Jt,E0,m0,p0,Wn,ts,_0,Ut,R0,W0,g0,K0,ft,A0,C0,x0,et,Ee,Qt,N0,T0,L0,I0,S0,k0,O0,y0,Ht,w0,v0,D0,U0,M0,b0,qt,F0;"use strict";class ut{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` - -`+t.stack):t},0)}}emit(t){this.listeners.forEach(e=>{e(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const ht=new ut;function Et(i){E2(i)||ht.onUnexpectedError(i)}function ss(i){if(i instanceof Error){let{name:t,message:e}=i;const n=i.stacktrace||i.stack;return{$isError:!0,name:t,message:e,stack:n}}return i}const Ur="Canceled";function E2(i){return i instanceof Error&&i.name===Ur&&i.message===Ur}function m2(i){const t=this;let e=!1,n;return function(){return e||(e=!0,n=i.apply(t,arguments)),n}}var gn;(function(i){function t(g){return g&&typeof g=="object"&&typeof g[Symbol.iterator]=="function"}i.is=t;const e=Object.freeze([]);function n(){return e}i.empty=n;function*r(g){yield g}i.single=r;function a(g){return g||e}i.from=a;function h(g){return!g||g[Symbol.iterator]().next().done===!0}i.isEmpty=h;function o(g){return g[Symbol.iterator]().next().value}i.first=o;function c(g,_){for(const x of g)if(_(x))return!0;return!1}i.some=c;function u(g,_){for(const x of g)if(_(x))return x}i.find=u;function*d(g,_){for(const x of g)_(x)&&(yield x)}i.filter=d;function*E(g,_){let x=0;for(const T of g)yield _(T,x++)}i.map=E;function*m(...g){for(const _ of g)for(const x of _)yield x}i.concat=m;function*K(g){for(const _ of g)for(const x of _)yield x}i.concatNested=K;function N(g,_,x){let T=x;for(const U of g)T=_(T,U);return T}i.reduce=N;function*I(g,_,x=g.length){for(_<0&&(_+=g.length),x<0?x+=g.length:x>g.length&&(x=g.length);_T===U){const T=g[Symbol.iterator](),U=_[Symbol.iterator]();for(;;){const w=T.next(),O=U.next();if(w.done!==O.done)return!1;if(w.done)return!0;if(!x(w.value,O.value))return!1}}i.equals=D})(gn||(gn={}));function L5(i){return i}function I5(i,t){}class p2 extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function Mr(i){if(gn.is(i)){let t=[];for(const e of i)if(e)try{e.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new p2(t);return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function _2(...i){return br(()=>Mr(i))}function br(i){return{dispose:m2(()=>{i()})}}class is{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{Mr(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?is.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}is.DISABLE_DISPOSED_WARNING=!1;class Fr{constructor(){this._store=new is,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Fr.None=Object.freeze({dispose(){}});class J{constructor(t){this.element=t,this.next=J.Undefined,this.prev=J.Undefined}}J.Undefined=new J(void 0);class Hr{constructor(){this._first=J.Undefined,this._last=J.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===J.Undefined}clear(){let t=this._first;for(;t!==J.Undefined;){const e=t.next;t.prev=J.Undefined,t.next=J.Undefined,t=e}this._first=J.Undefined,this._last=J.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){const n=new J(t);if(this._first===J.Undefined)this._first=n,this._last=n;else if(e){const a=this._last;this._last=n,n.prev=a,a.next=n}else{const a=this._first;this._first=n,n.next=a,a.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==J.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==J.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==J.Undefined&&t.next!==J.Undefined){const e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===J.Undefined&&t.next===J.Undefined?(this._first=J.Undefined,this._last=J.Undefined):t.next===J.Undefined?(this._last=this._last.prev,this._last.next=J.Undefined):t.prev===J.Undefined&&(this._first=this._first.next,this._first.prev=J.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==J.Undefined;)yield t.element,t=t.next}}var Kn;const H0="en";let An=!1,Cn=!1,xn=!1,ns,V0=H0,R2,Ze;const Ct=typeof self=="object"?self:typeof global=="object"?global:{};let St;typeof Ct.vscode<"u"&&typeof Ct.vscode.process<"u"?St=Ct.vscode.process:typeof process<"u"&&(St=process);const W2=typeof((Kn=St==null?void 0:St.versions)===null||Kn===void 0?void 0:Kn.electron)=="string"&&(St==null?void 0:St.type)==="renderer";if(typeof navigator=="object"&&!W2)Ze=navigator.userAgent,An=Ze.indexOf("Windows")>=0,Cn=Ze.indexOf("Macintosh")>=0,(Ze.indexOf("Macintosh")>=0||Ze.indexOf("iPad")>=0||Ze.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,xn=Ze.indexOf("Linux")>=0,ns=navigator.language,V0=ns;else if(typeof St=="object"){An=St.platform==="win32",Cn=St.platform==="darwin",xn=St.platform==="linux",xn&&St.env.SNAP&&St.env.SNAP_REVISION,ns=H0,V0=H0;const i=St.env.VSCODE_NLS_CONFIG;if(i)try{const t=JSON.parse(i),e=t.availableLanguages["*"];ns=t.locale,V0=e||H0,R2=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const rs=An,g2=Cn,K2=V0,A2=ns;(()=>{if(typeof Ct.postMessage=="function"&&!Ct.importScripts){let i=[];Ct.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let n=0,r=i.length;n{const n=++t;i.push({id:n,callback:e}),Ct.postMessage({vscodeScheduleAsyncWork:n},"*")}}return i=>setTimeout(i)})();const C2=Ct.performance&&typeof Ct.performance.now=="function";class B0{constructor(t){this._highResolution=C2&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new B0(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?Ct.performance.now():Date.now()}}var Nn;(function(i){i.None=()=>Fr.None;function t(g){return(_,x=null,T)=>{let U=!1,w;return w=g(O=>{if(!U)return w?w.dispose():U=!0,_.call(x,O)},null,T),U&&w.dispose(),w}}i.once=t;function e(g,_){return c((x,T=null,U)=>g(w=>x.call(T,_(w)),null,U))}i.map=e;function n(g,_){return c((x,T=null,U)=>g(w=>{_(w),x.call(T,w)},null,U))}i.forEach=n;function r(g,_){return c((x,T=null,U)=>g(w=>_(w)&&x.call(T,w),null,U))}i.filter=r;function a(g){return g}i.signal=a;function h(...g){return(_,x=null,T)=>_2(...g.map(U=>U(w=>_.call(x,w),null,T)))}i.any=h;function o(g,_,x){let T=x;return e(g,U=>(T=_(T,U),T))}i.reduce=o;function c(g){let _;const x=new Ce({onFirstListenerAdd(){_=g(x.fire,x)},onLastListenerRemove(){_.dispose()}});return x.event}function u(g,_,x=100,T=!1,U){let w,O,G,mt=0;const z=new Ce({leakWarningThreshold:U,onFirstListenerAdd(){w=g(b=>{mt++,O=_(O,b),T&&!G&&(z.fire(O),O=void 0),clearTimeout(G),G=setTimeout(()=>{const te=O;O=void 0,G=void 0,(!T||mt>1)&&z.fire(te),mt=0},x)})},onLastListenerRemove(){w.dispose()}});return z.event}i.debounce=u;function d(g,_=(x,T)=>x===T){let x=!0,T;return r(g,U=>{const w=x||!_(U,T);return x=!1,T=U,w})}i.latch=d;function E(g,_){return[i.filter(g,_),i.filter(g,x=>!_(x))]}i.split=E;function m(g,_=!1,x=[]){let T=x.slice(),U=g(G=>{T?T.push(G):O.fire(G)});const w=()=>{T&&T.forEach(G=>O.fire(G)),T=null},O=new Ce({onFirstListenerAdd(){U||(U=g(G=>O.fire(G)))},onFirstListenerDidAdd(){T&&(_?setTimeout(w):w())},onLastListenerRemove(){U&&U.dispose(),U=null}});return O.event}i.buffer=m;class K{constructor(_){this.event=_}map(_){return new K(e(this.event,_))}forEach(_){return new K(n(this.event,_))}filter(_){return new K(r(this.event,_))}reduce(_,x){return new K(o(this.event,_,x))}latch(){return new K(d(this.event))}debounce(_,x=100,T=!1,U){return new K(u(this.event,_,x,T,U))}on(_,x,T){return this.event(_,x,T)}once(_,x,T){return t(this.event)(_,x,T)}}function N(g){return new K(g)}i.chain=N;function I(g,_,x=T=>T){const T=(...G)=>O.fire(x(...G)),U=()=>g.on(_,T),w=()=>g.removeListener(_,T),O=new Ce({onFirstListenerAdd:U,onLastListenerRemove:w});return O.event}i.fromNodeEventEmitter=I;function S(g,_,x=T=>T){const T=(...G)=>O.fire(x(...G)),U=()=>g.addEventListener(_,T),w=()=>g.removeEventListener(_,T),O=new Ce({onFirstListenerAdd:U,onLastListenerRemove:w});return O.event}i.fromDOMEventEmitter=S;function D(g){return new Promise(_=>t(g)(_))}i.toPromise=D})(Nn||(Nn={}));class G0{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${G0._idPool++}`}start(t){this._stopWatch=new B0(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}G0._idPool=0;class Ce{constructor(t){var e;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((e=this._options)===null||e===void 0)&&e._profName?new G0(this._options._profName):void 0}get event(){return this._event||(this._event=(t,e,n)=>{var r;this._listeners||(this._listeners=new Hr);const a=this._listeners.isEmpty();a&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const h=this._listeners.push(e?[t,e]:t);a&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,e);const o=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),c=br(()=>{o&&o(),this._disposed||(h(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return n instanceof is?n.add(c):Array.isArray(n)&&n.push(c),c}),this._event}fire(t){var e,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new Hr);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((e=this._perfMon)===null||e===void 0||e.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,a]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,a):r[0].call(r[1],a)}catch(h){Et(h)}}(n=this._perfMon)===null||n===void 0||n.stop()}}dispose(){var t,e,n,r,a;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(e=this._deliveryQueue)===null||e===void 0||e.clear(),(r=(n=this._options)===null||n===void 0?void 0:n.onLastListenerRemove)===null||r===void 0||r.call(n),(a=this._leakageMon)===null||a===void 0||a.dispose())}}function x2(i){let t=[],e=Object.getPrototypeOf(i);for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}function Tn(i){const t=[];for(const e of x2(i))typeof i[e]=="function"&&t.push(e);return t}function N2(i,t){const e=r=>function(){const a=Array.prototype.slice.call(arguments,0);return t(r,a)};let n={};for(const r of i)n[r]=e(r);return n}function T2(i,t="Unreachable"){throw new Error(t)}function L2(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function I2(i){return i.split(/\r\n|\r|\n/)}function S2(i){for(let t=0,e=i.length;t=0;e--){const n=i.charCodeAt(e);if(n!==32&&n!==9)return e}return-1}function Vr(i){return i>=65&&i<=90}function Ln(i){return 55296<=i&&i<=56319}function O2(i){return 56320<=i&&i<=57343}function y2(i,t){return(i-55296<<10)+(t-56320)+65536}function w2(i,t,e){const n=i.charCodeAt(e);if(Ln(n)&&e+1{this._pendingReplies[n]={resolve:r,reject:a},this._send(new D2(this._workerId,n,t,e))})}listen(t,e){let n=null;const r=new Ce({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new U2(this._workerId,n,t,e))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new b2(this._workerId,n)),n=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let e=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let n=t.err;t.err.$isError&&(n=new Error,n.name=t.err.name,n.message=t.err.message,n.stack=t.err.stack),e.reject(n);return}e.resolve(t.res)}_handleRequestMessage(t){let e=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new Br(this._workerId,e,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=ss(r.detail)),this._send(new Br(this._workerId,e,void 0,ss(r)))})}_handleSubscribeEventMessage(t){const e=t.req,n=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new M2(this._workerId,e,r))});this._pendingEvents.set(e,n)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let e=[];if(t.type===0)for(let n=0;nfunction(){const o=Array.prototype.slice.call(arguments,0);return t(h,o)},r=h=>function(o){return e(h,o)};let a={};for(const h of i){if(Yr(h)){a[h]=r(h);continue}if(Gr(h)){a[h]=e(h,void 0);continue}a[h]=n(h)}return a}class V2{constructor(t,e){this._requestHandlerFactory=e,this._requestHandler=null,this._protocol=new F2({sendMessage:(n,r)=>{t(n,r)},handleMessage:(n,r)=>this._handleMessage(n,r),handleEvent:(n,r)=>this._handleEvent(n,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,e){if(t===v2)return this.initialize(e[0],e[1],e[2],e[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,e))}catch(n){return Promise.reject(n)}}_handleEvent(t,e){if(!this._requestHandler)throw new Error("Missing requestHandler");if(Yr(t)){const n=this._requestHandler[t].call(this._requestHandler,e);if(typeof n!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return n}if(Gr(t)){const n=this._requestHandler[t];if(typeof n!="function")throw new Error(`Missing event ${t} on request handler.`);return n}throw new Error(`Malformed event name ${t}`)}initialize(t,e,n,r){this._protocol.setWorkerId(t);const o=H2(r,(c,u)=>this._protocol.sendMessage(c,u),(c,u)=>this._protocol.listen(c,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(o),Promise.resolve(Tn(this._requestHandler))):(e&&(typeof e.baseUrl<"u"&&delete e.baseUrl,typeof e.paths<"u"&&typeof e.paths.vs<"u"&&delete e.paths.vs,typeof e.trustedTypesPolicy!==void 0&&delete e.trustedTypesPolicy,e.catchError=!0,Ct.require.config(e)),new Promise((c,u)=>{const d=Ct.require;d([n],E=>{if(this._requestHandler=E.create(o),!this._requestHandler){u(new Error("No RequestHandler!"));return}c(Tn(this._requestHandler))},u)}))}}class xe{constructor(t,e,n,r){this.originalStart=t,this.originalLength=e,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function Qr(i,t){return(t<<5)-t+i|0}function B2(i,t){t=Qr(149417,t);for(let e=0,n=i.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new xe(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_originalCount++}AddModifiedElement(t,e){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,e),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Ne{constructor(t,e,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=t,this._modifiedSequence=e;const[r,a,h]=Ne._getElements(t),[o,c,u]=Ne._getElements(e);this._hasStrings=h&&u,this._originalStringElements=r,this._originalElementsOrHash=a,this._modifiedStringElements=o,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const e=t.getElements();if(Ne._isStringArray(e)){const n=new Int32Array(e.length);for(let r=0,a=e.length;r=t&&r>=n&&this.ElementsAreEqual(e,r);)e--,r--;if(t>e||n>r){let E;return n<=r?(x1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),E=[new xe(t,0,n,r-n+1)]):t<=e?(x1.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),E=[new xe(t,e-t+1,n,0)]):(x1.Assert(t===e+1,"originalStart should only be one more than originalEnd"),x1.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),E=[]),E}const h=[0],o=[0],c=this.ComputeRecursionPoint(t,e,n,r,h,o,a),u=h[0],d=o[0];if(c!==null)return c;if(!a[0]){const E=this.ComputeDiffRecursive(t,u,n,d,a);let m=[];return a[0]?m=[new xe(u+1,e-(u+1)+1,d+1,r-(d+1)+1)]:m=this.ComputeDiffRecursive(u+1,e,d+1,r,a),this.ConcatenateChanges(E,m)}return[new xe(t,e-t+1,n,r-n+1)]}WALKTRACE(t,e,n,r,a,h,o,c,u,d,E,m,K,N,I,S,D,g){let _=null,x=null,T=new Xr,U=e,w=n,O=K[0]-S[0]-r,G=-1073741824,mt=this.m_forwardHistory.length-1;do{const z=O+t;z===U||z=0&&(u=this.m_forwardHistory[mt],t=u[0],U=1,w=u.length-1)}while(--mt>=-1);if(_=T.getReverseChanges(),g[0]){let z=K[0]+1,b=S[0]+1;if(_!==null&&_.length>0){const te=_[_.length-1];z=Math.max(z,te.getOriginalEnd()),b=Math.max(b,te.getModifiedEnd())}x=[new xe(z,m-z+1,b,I-b+1)]}else{T=new Xr,U=h,w=o,O=K[0]-S[0]-c,G=1073741824,mt=D?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const z=O+a;z===U||z=d[z+1]?(E=d[z+1]-1,N=E-O-c,E>G&&T.MarkNextChange(),G=E+1,T.AddOriginalElement(E+1,N+1),O=z+1-a):(E=d[z-1],N=E-O-c,E>G&&T.MarkNextChange(),G=E,T.AddModifiedElement(E+1,N+1),O=z-1-a),mt>=0&&(d=this.m_reverseHistory[mt],a=d[0],U=1,w=d.length-1)}while(--mt>=-1);x=T.getChanges()}return this.ConcatenateChanges(_,x)}ComputeRecursionPoint(t,e,n,r,a,h,o){let c=0,u=0,d=0,E=0,m=0,K=0;t--,n--,a[0]=0,h[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const N=e-t+(r-n),I=N+1,S=new Int32Array(I),D=new Int32Array(I),g=r-n,_=e-t,x=t-n,T=e-r,w=(_-g)%2===0;S[g]=t,D[_]=e,o[0]=!1;for(let O=1;O<=N/2+1;O++){let G=0,mt=0;d=this.ClipDiagonalBound(g-O,O,g,I),E=this.ClipDiagonalBound(g+O,O,g,I);for(let b=d;b<=E;b+=2){b===d||bG+mt&&(G=c,mt=u),!w&&Math.abs(b-_)<=O-1&&c>=D[b])return a[0]=c,h[0]=u,te<=D[b]&&1447>0&&O<=1447+1?this.WALKTRACE(g,d,E,x,_,m,K,T,S,D,c,e,a,u,r,h,w,o):null}const z=(G-t+(mt-n)-O)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(G,z))return o[0]=!0,a[0]=G,h[0]=mt,z>0&&1447>0&&O<=1447+1?this.WALKTRACE(g,d,E,x,_,m,K,T,S,D,c,e,a,u,r,h,w,o):(t++,n++,[new xe(t,e-t+1,n,r-n+1)]);m=this.ClipDiagonalBound(_-O,O,_,I),K=this.ClipDiagonalBound(_+O,O,_,I);for(let b=m;b<=K;b+=2){b===m||b=D[b+1]?c=D[b+1]-1:c=D[b-1],u=c-(b-_)-T;const te=c;for(;c>t&&u>n&&this.ElementsAreEqual(c,u);)c--,u--;if(D[b]=c,w&&Math.abs(b-g)<=O&&c<=S[b])return a[0]=c,h[0]=u,te>=S[b]&&1447>0&&O<=1447+1?this.WALKTRACE(g,d,E,x,_,m,K,T,S,D,c,e,a,u,r,h,w,o):null}if(O<=1447){let b=new Int32Array(E-d+2);b[0]=g-d+1,N1.Copy2(S,d,b,1,E-d+1),this.m_forwardHistory.push(b),b=new Int32Array(K-m+2),b[0]=_-m+1,N1.Copy2(D,m,b,1,K-m+1),this.m_reverseHistory.push(b)}}return this.WALKTRACE(g,d,E,x,_,m,K,T,S,D,c,e,a,u,r,h,w,o)}PrettifyChanges(t){for(let e=0;e0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;e--){const n=t[e];let r=0,a=0;if(e>0){const E=t[e-1];r=E.originalStart+E.originalLength,a=E.modifiedStart+E.modifiedLength}const h=n.originalLength>0,o=n.modifiedLength>0;let c=0,u=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let E=1;;E++){const m=n.originalStart-E,K=n.modifiedStart-E;if(mu&&(u=I,c=E)}n.originalStart-=c,n.modifiedStart-=c;const d=[null];if(e>0&&this.ChangesOverlap(t[e-1],t[e],d)){t[e-1]=d[0],t.splice(e,1),e++;continue}}if(this._hasStrings)for(let e=1,n=t.length;e0&&K>c&&(c=K,u=E,d=m)}return c>0?[u,d]:null}_contiguousSequenceScore(t,e,n){let r=0;for(let a=0;a=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,e){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(e>0){const n=t+e;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,e){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(e>0){const n=t+e;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(t,e,n,r){const a=this._OriginalRegionIsBoundary(t,e)?1:0,h=this._ModifiedRegionIsBoundary(n,r)?1:0;return a+h}ConcatenateChanges(t,e){let n=[];if(t.length===0||e.length===0)return e.length>0?e:t;if(this.ChangesOverlap(t[t.length-1],e[0],n)){const r=new Array(t.length+e.length-1);return N1.Copy(t,0,r,0,t.length-1),r[t.length-1]=n[0],N1.Copy(e,1,r,t.length,e.length-1),r}else{const r=new Array(t.length+e.length);return N1.Copy(t,0,r,0,t.length),N1.Copy(e,0,r,t.length,e.length),r}}ChangesOverlap(t,e,n){if(x1.Assert(t.originalStart<=e.originalStart,"Left change is not less than or equal to right change"),x1.Assert(t.modifiedStart<=e.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=e.originalStart||t.modifiedStart+t.modifiedLength>=e.modifiedStart){const r=t.originalStart;let a=t.originalLength;const h=t.modifiedStart;let o=t.modifiedLength;return t.originalStart+t.originalLength>=e.originalStart&&(a=e.originalStart+e.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=e.modifiedStart&&(o=e.modifiedStart+e.modifiedLength-t.modifiedStart),n[0]=new xe(r,a,h,o),!0}else return n[0]=null,!1}ClipDiagonalBound(t,e,n,r){if(t>=0&&t=Q2&&i<=X2||i>=Z2&&i<=z2}function Y0(i,t,e,n){let r="",a=0,h=-1,o=0,c=0;for(let u=0;u<=i.length;++u){if(u2){const d=r.lastIndexOf(e);d===-1?(r="",a=0):(r=r.slice(0,d),a=r.length-1-r.lastIndexOf(e)),h=u,o=0;continue}else if(r.length!==0){r="",a=0,h=u,o=0;continue}}t&&(r+=r.length>0?`${e}..`:"..",a=2)}else r.length>0?r+=`${e}${i.slice(h+1,u)}`:r=i.slice(h+1,u),a=u-h-1;h=u,o=0}else c===Te&&o!==-1?++o:o=-1}return r}function $r(i,t){if(t===null||typeof t!="object")throw new zr("pathObject","Object",t);const e=t.dir||t.root,n=t.base||`${t.name||""}${t.ext||""}`;return e?e===t.root?`${e}${n}`:`${e}${i}${n}`:n}const kt={resolve(...i){let t="",e="",n=!1;for(let r=i.length-1;r>=-1;r--){let a;if(r>=0){if(a=i[r],dt(a,"path"),a.length===0)continue}else t.length===0?a=In():(a=Y2[`=${t}`]||In(),(a===void 0||a.slice(0,2).toLowerCase()!==t.toLowerCase()&&a.charCodeAt(2)===wt)&&(a=`${t}\\`));const h=a.length;let o=0,c="",u=!1;const d=a.charCodeAt(0);if(h===1)F(d)&&(o=1,u=!0);else if(F(d))if(u=!0,F(a.charCodeAt(1))){let E=2,m=E;for(;E2&&F(a.charCodeAt(2))&&(u=!0,o=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(n){if(t.length>0)break}else if(e=`${a.slice(o)}\\${e}`,n=u,u&&t.length>0)break}return e=Y0(e,!n,"\\",F),n?`${t}\\${e}`:`${t}${e}`||"."},normalize(i){dt(i,"path");const t=i.length;if(t===0)return".";let e=0,n,r=!1;const a=i.charCodeAt(0);if(t===1)return Sn(a)?"\\":i;if(F(a))if(r=!0,F(i.charCodeAt(1))){let o=2,c=o;for(;o2&&F(i.charCodeAt(2))&&(r=!0,e=3));let h=e0&&F(i.charCodeAt(t-1))&&(h+="\\"),n===void 0?r?`\\${h}`:h:r?`${n}\\${h}`:`${n}${h}`},isAbsolute(i){dt(i,"path");const t=i.length;if(t===0)return!1;const e=i.charCodeAt(0);return F(e)||t>2&&Ie(e)&&i.charCodeAt(1)===Le&&F(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let t,e;for(let a=0;a0&&(t===void 0?t=e=h:t+=`\\${h}`)}if(t===void 0)return".";let n=!0,r=0;if(typeof e=="string"&&F(e.charCodeAt(0))){++r;const a=e.length;a>1&&F(e.charCodeAt(1))&&(++r,a>2&&(F(e.charCodeAt(2))?++r:n=!1))}if(n){for(;r=2&&(t=`\\${t.slice(r)}`)}return kt.normalize(t)},relative(i,t){if(dt(i,"from"),dt(t,"to"),i===t)return"";const e=kt.resolve(i),n=kt.resolve(t);if(e===n||(i=e.toLowerCase(),t=n.toLowerCase(),i===t))return"";let r=0;for(;rr&&i.charCodeAt(a-1)===wt;)a--;const h=a-r;let o=0;for(;oo&&t.charCodeAt(c-1)===wt;)c--;const u=c-o,d=hd){if(t.charCodeAt(o+m)===wt)return n.slice(o+m+1);if(m===2)return n.slice(o+m)}h>d&&(i.charCodeAt(r+m)===wt?E=m:m===2&&(E=3)),E===-1&&(E=0)}let K="";for(m=r+E+1;m<=a;++m)(m===a||i.charCodeAt(m)===wt)&&(K+=K.length===0?"..":"\\..");return o+=E,K.length>0?`${K}${n.slice(o,c)}`:(n.charCodeAt(o)===wt&&++o,n.slice(o,c))},toNamespacedPath(i){if(typeof i!="string")return i;if(i.length===0)return"";const t=kt.resolve(i);if(t.length<=2)return i;if(t.charCodeAt(0)===wt){if(t.charCodeAt(1)===wt){const e=t.charCodeAt(2);if(e!==$2&&e!==Te)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Ie(t.charCodeAt(0))&&t.charCodeAt(1)===Le&&t.charCodeAt(2)===wt)return`\\\\?\\${t}`;return i},dirname(i){dt(i,"path");const t=i.length;if(t===0)return".";let e=-1,n=0;const r=i.charCodeAt(0);if(t===1)return F(r)?i:".";if(F(r)){if(e=n=1,F(i.charCodeAt(1))){let o=2,c=o;for(;o2&&F(i.charCodeAt(2))?3:2,n=e);let a=-1,h=!0;for(let o=t-1;o>=n;--o)if(F(i.charCodeAt(o))){if(!h){a=o;break}}else h=!1;if(a===-1){if(e===-1)return".";a=e}return i.slice(0,a)},basename(i,t){t!==void 0&&dt(t,"ext"),dt(i,"path");let e=0,n=-1,r=!0,a;if(i.length>=2&&Ie(i.charCodeAt(0))&&i.charCodeAt(1)===Le&&(e=2),t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let h=t.length-1,o=-1;for(a=i.length-1;a>=e;--a){const c=i.charCodeAt(a);if(F(c)){if(!r){e=a+1;break}}else o===-1&&(r=!1,o=a+1),h>=0&&(c===t.charCodeAt(h)?--h===-1&&(n=a):(h=-1,n=o))}return e===n?n=o:n===-1&&(n=i.length),i.slice(e,n)}for(a=i.length-1;a>=e;--a)if(F(i.charCodeAt(a))){if(!r){e=a+1;break}}else n===-1&&(r=!1,n=a+1);return n===-1?"":i.slice(e,n)},extname(i){dt(i,"path");let t=0,e=-1,n=0,r=-1,a=!0,h=0;i.length>=2&&i.charCodeAt(1)===Le&&Ie(i.charCodeAt(0))&&(t=n=2);for(let o=i.length-1;o>=t;--o){const c=i.charCodeAt(o);if(F(c)){if(!a){n=o+1;break}continue}r===-1&&(a=!1,r=o+1),c===Te?e===-1?e=o:h!==1&&(h=1):e!==-1&&(h=-1)}return e===-1||r===-1||h===0||h===1&&e===r-1&&e===n+1?"":i.slice(e,r)},format:$r.bind(null,"\\"),parse(i){dt(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const e=i.length;let n=0,r=i.charCodeAt(0);if(e===1)return F(r)?(t.root=t.dir=i,t):(t.base=t.name=i,t);if(F(r)){if(n=1,F(i.charCodeAt(1))){let E=2,m=E;for(;E0&&(t.root=i.slice(0,n));let a=-1,h=n,o=-1,c=!0,u=i.length-1,d=0;for(;u>=n;--u){if(r=i.charCodeAt(u),F(r)){if(!c){h=u+1;break}continue}o===-1&&(c=!1,o=u+1),r===Te?a===-1?a=u:d!==1&&(d=1):a!==-1&&(d=-1)}return o!==-1&&(a===-1||d===0||d===1&&a===o-1&&a===h+1?t.base=t.name=i.slice(h,o):(t.name=i.slice(h,a),t.base=i.slice(h,o),t.ext=i.slice(a,o))),h>0&&h!==n?t.dir=i.slice(0,h-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},vt={resolve(...i){let t="",e=!1;for(let n=i.length-1;n>=-1&&!e;n--){const r=n>=0?i[n]:In();dt(r,"path"),r.length!==0&&(t=`${r}/${t}`,e=r.charCodeAt(0)===gt)}return t=Y0(t,!e,"/",Sn),e?`/${t}`:t.length>0?t:"."},normalize(i){if(dt(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===gt,e=i.charCodeAt(i.length-1)===gt;return i=Y0(i,!t,"/",Sn),i.length===0?t?"/":e?"./":".":(e&&(i+="/"),t?`/${i}`:i)},isAbsolute(i){return dt(i,"path"),i.length>0&&i.charCodeAt(0)===gt},join(...i){if(i.length===0)return".";let t;for(let e=0;e0&&(t===void 0?t=n:t+=`/${n}`)}return t===void 0?".":vt.normalize(t)},relative(i,t){if(dt(i,"from"),dt(t,"to"),i===t||(i=vt.resolve(i),t=vt.resolve(t),i===t))return"";const e=1,n=i.length,r=n-e,a=1,h=t.length-a,o=ro){if(t.charCodeAt(a+u)===gt)return t.slice(a+u+1);if(u===0)return t.slice(a+u)}else r>o&&(i.charCodeAt(e+u)===gt?c=u:u===0&&(c=0));let d="";for(u=e+c+1;u<=n;++u)(u===n||i.charCodeAt(u)===gt)&&(d+=d.length===0?"..":"/..");return`${d}${t.slice(a+c)}`},toNamespacedPath(i){return i},dirname(i){if(dt(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===gt;let e=-1,n=!0;for(let r=i.length-1;r>=1;--r)if(i.charCodeAt(r)===gt){if(!n){e=r;break}}else n=!1;return e===-1?t?"/":".":t&&e===1?"//":i.slice(0,e)},basename(i,t){t!==void 0&&dt(t,"ext"),dt(i,"path");let e=0,n=-1,r=!0,a;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let h=t.length-1,o=-1;for(a=i.length-1;a>=0;--a){const c=i.charCodeAt(a);if(c===gt){if(!r){e=a+1;break}}else o===-1&&(r=!1,o=a+1),h>=0&&(c===t.charCodeAt(h)?--h===-1&&(n=a):(h=-1,n=o))}return e===n?n=o:n===-1&&(n=i.length),i.slice(e,n)}for(a=i.length-1;a>=0;--a)if(i.charCodeAt(a)===gt){if(!r){e=a+1;break}}else n===-1&&(r=!1,n=a+1);return n===-1?"":i.slice(e,n)},extname(i){dt(i,"path");let t=-1,e=0,n=-1,r=!0,a=0;for(let h=i.length-1;h>=0;--h){const o=i.charCodeAt(h);if(o===gt){if(!r){e=h+1;break}continue}n===-1&&(r=!1,n=h+1),o===Te?t===-1?t=h:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||n===-1||a===0||a===1&&t===n-1&&t===e+1?"":i.slice(t,n)},format:$r.bind(null,"/"),parse(i){dt(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const e=i.charCodeAt(0)===gt;let n;e?(t.root="/",n=1):n=0;let r=-1,a=0,h=-1,o=!0,c=i.length-1,u=0;for(;c>=n;--c){const d=i.charCodeAt(c);if(d===gt){if(!o){a=c+1;break}continue}h===-1&&(o=!1,h=c+1),d===Te?r===-1?r=c:u!==1&&(u=1):r!==-1&&(u=-1)}if(h!==-1){const d=a===0&&e?1:a;r===-1||u===0||u===1&&r===h-1&&r===a+1?t.base=t.name=i.slice(d,h):(t.name=i.slice(d,r),t.base=i.slice(d,h),t.ext=i.slice(r,h))}return a>0?t.dir=i.slice(0,a-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};vt.win32=kt.win32=kt,vt.posix=kt.posix=vt,ze==="win32"?kt.normalize:vt.normalize,ze==="win32"?kt.resolve:vt.resolve,ze==="win32"?kt.relative:vt.relative,ze==="win32"?kt.dirname:vt.dirname,ze==="win32"?kt.basename:vt.basename,ze==="win32"?kt.extname:vt.extname,ze==="win32"?kt.sep:vt.sep;const j2=/^\w[\w\d+.-]*$/,P2=/^\//,J2=/^\/\//;function jr(i,t){if(!i.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!j2.test(i.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(i.path){if(i.authority){if(!P2.test(i.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(J2.test(i.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function q2(i,t){return!i&&!t?"file":i}function to(i,t){switch(i){case"https":case"http":case"file":t?t[0]!==Xt&&(t=Xt+t):t=Xt;break}return t}const q="",Xt="/",eo=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class $e{constructor(t,e,n,r,a,h=!1){typeof t=="object"?(this.scheme=t.scheme||q,this.authority=t.authority||q,this.path=t.path||q,this.query=t.query||q,this.fragment=t.fragment||q):(this.scheme=q2(t,h),this.authority=e||q,this.path=to(this.scheme,n||q),this.query=r||q,this.fragment=a||q,jr(this,h))}static isUri(t){return t instanceof $e?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return kn(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:n,path:r,query:a,fragment:h}=t;return e===void 0?e=this.scheme:e===null&&(e=q),n===void 0?n=this.authority:n===null&&(n=q),r===void 0?r=this.path:r===null&&(r=q),a===void 0?a=this.query:a===null&&(a=q),h===void 0?h=this.fragment:h===null&&(h=q),e===this.scheme&&n===this.authority&&r===this.path&&a===this.query&&h===this.fragment?this:new L1(e,n,r,a,h)}static parse(t,e=!1){const n=eo.exec(t);return n?new L1(n[2]||q,Q0(n[4]||q),Q0(n[5]||q),Q0(n[7]||q),Q0(n[9]||q),e):new L1(q,q,q,q,q)}static file(t){let e=q;if(rs&&(t=t.replace(/\\/g,Xt)),t[0]===Xt&&t[1]===Xt){const n=t.indexOf(Xt,2);n===-1?(e=t.substring(2),t=Xt):(e=t.substring(2,n),t=t.substring(n)||Xt)}return new L1("file",e,t,q,q)}static from(t){const e=new L1(t.scheme,t.authority,t.path,t.query,t.fragment);return jr(e,!0),e}static joinPath(t,...e){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return rs&&t.scheme==="file"?n=$e.file(kt.join(kn(t,!0),...e)).path:n=vt.join(t.path,...e),t.with({path:n})}toString(t=!1){return On(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof $e)return t;{const e=new L1(t);return e._formatted=t.external,e._fsPath=t._sep===Pr?t.fsPath:null,e}}else return t}}const Pr=rs?1:void 0;class L1 extends $e{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=kn(this,!1)),this._fsPath}toString(t=!1){return t?On(this,!0):(this._formatted||(this._formatted=On(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=Pr),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const Jr={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function qr(i,t){let e,n=-1;for(let r=0;r=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||a===45||a===46||a===95||a===126||t&&a===47)n!==-1&&(e+=encodeURIComponent(i.substring(n,r)),n=-1),e!==void 0&&(e+=i.charAt(r));else{e===void 0&&(e=i.substr(0,r));const h=Jr[a];h!==void 0?(n!==-1&&(e+=encodeURIComponent(i.substring(n,r)),n=-1),e+=h):n===-1&&(n=r)}}return n!==-1&&(e+=encodeURIComponent(i.substring(n))),e!==void 0?e:i}function so(i){let t;for(let e=0;e1&&i.scheme==="file"?e=`//${i.authority}${i.path}`:i.path.charCodeAt(0)===47&&(i.path.charCodeAt(1)>=65&&i.path.charCodeAt(1)<=90||i.path.charCodeAt(1)>=97&&i.path.charCodeAt(1)<=122)&&i.path.charCodeAt(2)===58?t?e=i.path.substr(1):e=i.path[1].toLowerCase()+i.path.substr(2):e=i.path,rs&&(e=e.replace(/\//g,"\\")),e}function On(i,t){const e=t?so:qr;let n="",{scheme:r,authority:a,path:h,query:o,fragment:c}=i;if(r&&(n+=r,n+=":"),(a||r==="file")&&(n+=Xt,n+=Xt),a){let u=a.indexOf("@");if(u!==-1){const d=a.substr(0,u);a=a.substr(u+1),u=d.indexOf(":"),u===-1?n+=e(d,!1):(n+=e(d.substr(0,u),!1),n+=":",n+=e(d.substr(u+1),!1)),n+="@"}a=a.toLowerCase(),u=a.indexOf(":"),u===-1?n+=e(a,!1):(n+=e(a.substr(0,u),!1),n+=a.substr(u))}if(h){if(h.length>=3&&h.charCodeAt(0)===47&&h.charCodeAt(2)===58){const u=h.charCodeAt(1);u>=65&&u<=90&&(h=`/${String.fromCharCode(u+32)}:${h.substr(3)}`)}else if(h.length>=2&&h.charCodeAt(1)===58){const u=h.charCodeAt(0);u>=65&&u<=90&&(h=`${String.fromCharCode(u+32)}:${h.substr(2)}`)}n+=e(h,!0)}return o&&(n+="?",n+=e(o,!1)),c&&(n+="#",n+=t?c:qr(c,!1)),n}function ta(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+ta(i.substr(3)):i}}const ea=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Q0(i){return i.match(ea)?i.replace(ea,t=>ta(t)):i}class Dt{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new Dt(t,e)}delta(t=0,e=0){return this.with(this.lineNumber+t,this.column+e)}equals(t){return Dt.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return Dt.isBefore(this,t)}static isBefore(t,e){return t.lineNumbern||t===n&&e>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return nt.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return nt.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.columnt.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumbert.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return nt.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumnt.endColumn)}strictContainsRange(t){return nt.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumbert.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return nt.plusRange(this,t)}static plusRange(t,e){let n,r,a,h;return e.startLineNumbert.endLineNumber?(a=e.endLineNumber,h=e.endColumn):e.endLineNumber===t.endLineNumber?(a=e.endLineNumber,h=Math.max(e.endColumn,t.endColumn)):(a=t.endLineNumber,h=t.endColumn),new nt(n,r,a,h)}intersectRanges(t){return nt.intersectRanges(this,t)}static intersectRanges(t,e){let n=t.startLineNumber,r=t.startColumn,a=t.endLineNumber,h=t.endColumn,o=e.startLineNumber,c=e.startColumn,u=e.endLineNumber,d=e.endColumn;return nu?(a=u,h=d):a===u&&(h=Math.min(h,d)),n>a||n===a&&r>h?null:new nt(n,r,a,h)}equalsRange(t){return nt.equalsRange(this,t)}static equalsRange(t,e){return!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return nt.getEndPosition(this)}static getEndPosition(t){return new Dt(t.endLineNumber,t.endColumn)}getStartPosition(){return nt.getStartPosition(this)}static getStartPosition(t){return new Dt(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new nt(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new nt(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return nt.collapseToStart(this)}static collapseToStart(t){return new nt(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,e=t){return new nt(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new nt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumbert.startLineNumber}}const io=3;function sa(i,t,e,n){return new Ne(i,t,e).ComputeDiff(n)}class ia{constructor(t){const e=[],n=[];for(let r=0,a=t.length;r0&&e.originalLength<20&&e.modifiedLength>0&&e.modifiedLength<20&&a()){const K=n.createCharSequence(t,e.originalStart,e.originalStart+e.originalLength-1),N=r.createCharSequence(t,e.modifiedStart,e.modifiedStart+e.modifiedLength-1);let I=sa(K,N,a,!0).changes;o&&(I=ro(I)),m=[];for(let S=0,D=I.length;S1&&I>1;){const S=m.charCodeAt(N-2),D=K.charCodeAt(I-2);if(S!==D)break;N--,I--}(N>1||I>1)&&this._pushTrimWhitespaceCharChange(r,a+1,1,N,h+1,1,I)}{let N=wn(m,1),I=wn(K,1);const S=m.length+1,D=K.length+1;for(;N!0;const t=Date.now();return()=>Date.now()-t255?255:i|0}function I1(i){return i<0?0:i>4294967295?4294967295:i|0}class ho{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,e){t=I1(t);const n=this.values,r=this.prefixSum,a=e.length;return a===0?!1:(this.values=new Uint32Array(n.length+a),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t),t+a),this.values.set(e,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,e){return t=I1(t),e=I1(e),this.values[t]===e?!1:(this.values[t]=e,t-1=n.length)return!1;let a=n.length-t;return e>=a&&(e=a),e===0?!1:(this.values=new Uint32Array(n.length-e),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t+e),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=I1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let e=this.prefixSumValidIndex[0]+1;e===0&&(this.prefixSum[0]=this.values[0],e++),t>=this.values.length&&(t=this.values.length-1);for(let n=e;n<=t;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let e=0,n=this.values.length-1,r=0,a=0,h=0;for(;e<=n;)if(r=e+(n-e)/2|0,a=this.prefixSum[r],h=a-this.values[r],t=a)e=r+1;else break;return new oo(r,t-h)}}class oo{constructor(t,e){this.index=t,this.remainder=e,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=e}}class co{constructor(t,e,n,r){this._uri=t,this._lines=e,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const e=t.changes;for(const n of e)this._acceptDeleteRange(n.range),this._acceptInsertText(new Dt(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,e=this._lines.length,n=new Uint32Array(e);for(let r=0;r/?";function lo(i=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const e of uo)i.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}const fo=lo();function Eo(i){let t=fo;if(i&&i instanceof RegExp)if(i.global)t=i;else{let e="g";i.ignoreCase&&(e+="i"),i.multiline&&(e+="m"),i.unicode&&(e+="u"),t=new RegExp(i.source,e)}return t.lastIndex=0,t}const mo={maxLen:1e3,windowSize:15,timeBudget:150};function aa(i,t,e,n,r=mo){if(e.length>r.maxLen){let u=i-r.maxLen/2;return u<0?u=0:n+=u,e=e.substring(u,i+r.maxLen/2),aa(i,t,e,n,r)}const a=Date.now(),h=i-1-n;let o=-1,c=null;for(let u=1;!(Date.now()-a>=r.timeBudget);u++){const d=h-r.windowSize*u;t.lastIndex=Math.max(0,d);const E=po(t,e,h,o);if(!E&&c||(c=E,d<=0))break;o=d}if(c){let u={word:c[0],startColumn:n+1+c.index,endColumn:n+1+c.index+c[0].length};return t.lastIndex=0,u}return null}function po(i,t,e,n){let r;for(;r=i.exec(t);){const a=r.index||0;if(a<=e&&i.lastIndex>=e)return r;if(n>0&&a>n)return null}return null}class vn{constructor(t){let e=ra(t);this._defaultValue=e,this._asciiMap=vn._createAsciiMap(e),this._map=new Map}static _createAsciiMap(t){let e=new Uint8Array(256);for(let n=0;n<256;n++)e[n]=t;return e}set(t,e){let n=ra(e);t>=0&&t<256?this._asciiMap[t]=n:this._map.set(t,n)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class _o{constructor(t,e,n){const r=new Uint8Array(t*e);for(let a=0,h=t*e;ae&&(e=c),o>n&&(n=o),u>n&&(n=u)}e++,n++;let r=new _o(n,e,0);for(let a=0,h=t.length;a=this._maxCharCode?0:this._states.get(t,e)}}let Dn=null;function Wo(){return Dn===null&&(Dn=new Ro([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Dn}let os=null;function go(){if(os===null){os=new vn(0);const i=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let e=0;er);if(r>0){const o=e.charCodeAt(r-1),c=e.charCodeAt(h);(o===40&&c===41||o===91&&c===93||o===123&&c===125)&&h--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:h+2},url:e.substring(r,h+1)}}static computeLinks(t,e=Wo()){const n=go();let r=[];for(let a=1,h=t.getLineCount();a<=h;a++){const o=t.getLineContent(a),c=o.length;let u=0,d=0,E=0,m=1,K=!1,N=!1,I=!1,S=!1;for(;u=0?(r+=n?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}Un.INSTANCE=new Un;const ha=Object.freeze(function(i,t){const e=setTimeout(i.bind(t),0);return{dispose(){clearTimeout(e)}}});var X0;(function(i){function t(e){return e===i.None||e===i.Cancelled||e instanceof z0?!0:!e||typeof e!="object"?!1:typeof e.isCancellationRequested=="boolean"&&typeof e.onCancellationRequested=="function"}i.isCancellationToken=t,i.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Nn.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ha})})(X0||(X0={}));class z0{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?ha:(this._emitter||(this._emitter=new Ce),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Ao{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new z0),this._token}cancel(){this._token?this._token instanceof z0&&this._token.cancel():this._token=X0.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof z0&&this._token.dispose():this._token=X0.None}}class Mn{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const $0=new Mn,bn=new Mn,Fn=new Mn,Co=new Array(230),xo=Object.create(null),No=Object.create(null);(function(){const i="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",i,i],[0,1,1,"Hyper",0,i,0,i,i,i],[0,1,2,"Super",0,i,0,i,i,i],[0,1,3,"Fn",0,i,0,i,i,i],[0,1,4,"FnLock",0,i,0,i,i,i],[0,1,5,"Suspend",0,i,0,i,i,i],[0,1,6,"Resume",0,i,0,i,i,i],[0,1,7,"Turbo",0,i,0,i,i,i],[0,1,8,"Sleep",0,i,0,"VK_SLEEP",i,i],[0,1,9,"WakeUp",0,i,0,i,i,i],[31,0,10,"KeyA",31,"A",65,"VK_A",i,i],[32,0,11,"KeyB",32,"B",66,"VK_B",i,i],[33,0,12,"KeyC",33,"C",67,"VK_C",i,i],[34,0,13,"KeyD",34,"D",68,"VK_D",i,i],[35,0,14,"KeyE",35,"E",69,"VK_E",i,i],[36,0,15,"KeyF",36,"F",70,"VK_F",i,i],[37,0,16,"KeyG",37,"G",71,"VK_G",i,i],[38,0,17,"KeyH",38,"H",72,"VK_H",i,i],[39,0,18,"KeyI",39,"I",73,"VK_I",i,i],[40,0,19,"KeyJ",40,"J",74,"VK_J",i,i],[41,0,20,"KeyK",41,"K",75,"VK_K",i,i],[42,0,21,"KeyL",42,"L",76,"VK_L",i,i],[43,0,22,"KeyM",43,"M",77,"VK_M",i,i],[44,0,23,"KeyN",44,"N",78,"VK_N",i,i],[45,0,24,"KeyO",45,"O",79,"VK_O",i,i],[46,0,25,"KeyP",46,"P",80,"VK_P",i,i],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",i,i],[48,0,27,"KeyR",48,"R",82,"VK_R",i,i],[49,0,28,"KeyS",49,"S",83,"VK_S",i,i],[50,0,29,"KeyT",50,"T",84,"VK_T",i,i],[51,0,30,"KeyU",51,"U",85,"VK_U",i,i],[52,0,31,"KeyV",52,"V",86,"VK_V",i,i],[53,0,32,"KeyW",53,"W",87,"VK_W",i,i],[54,0,33,"KeyX",54,"X",88,"VK_X",i,i],[55,0,34,"KeyY",55,"Y",89,"VK_Y",i,i],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",i,i],[22,0,36,"Digit1",22,"1",49,"VK_1",i,i],[23,0,37,"Digit2",23,"2",50,"VK_2",i,i],[24,0,38,"Digit3",24,"3",51,"VK_3",i,i],[25,0,39,"Digit4",25,"4",52,"VK_4",i,i],[26,0,40,"Digit5",26,"5",53,"VK_5",i,i],[27,0,41,"Digit6",27,"6",54,"VK_6",i,i],[28,0,42,"Digit7",28,"7",55,"VK_7",i,i],[29,0,43,"Digit8",29,"8",56,"VK_8",i,i],[30,0,44,"Digit9",30,"9",57,"VK_9",i,i],[21,0,45,"Digit0",21,"0",48,"VK_0",i,i],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",i,i],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",i,i],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",i,i],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",i,i],[10,1,50,"Space",10,"Space",32,"VK_SPACE",i,i],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,i,0,i,i,i],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",i,i],[59,1,64,"F1",59,"F1",112,"VK_F1",i,i],[60,1,65,"F2",60,"F2",113,"VK_F2",i,i],[61,1,66,"F3",61,"F3",114,"VK_F3",i,i],[62,1,67,"F4",62,"F4",115,"VK_F4",i,i],[63,1,68,"F5",63,"F5",116,"VK_F5",i,i],[64,1,69,"F6",64,"F6",117,"VK_F6",i,i],[65,1,70,"F7",65,"F7",118,"VK_F7",i,i],[66,1,71,"F8",66,"F8",119,"VK_F8",i,i],[67,1,72,"F9",67,"F9",120,"VK_F9",i,i],[68,1,73,"F10",68,"F10",121,"VK_F10",i,i],[69,1,74,"F11",69,"F11",122,"VK_F11",i,i],[70,1,75,"F12",70,"F12",123,"VK_F12",i,i],[0,1,76,"PrintScreen",0,i,0,i,i,i],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",i,i],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",i,i],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",i,i],[14,1,80,"Home",14,"Home",36,"VK_HOME",i,i],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",i,i],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",i,i],[13,1,83,"End",13,"End",35,"VK_END",i,i],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",i,i],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",i],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",i],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",i],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",i],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",i,i],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",i,i],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",i,i],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",i,i],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",i,i],[3,1,94,"NumpadEnter",3,i,0,i,i,i],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",i,i],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",i,i],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",i,i],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",i,i],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",i,i],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",i,i],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",i,i],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",i,i],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",i,i],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",i,i],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",i,i],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",i,i],[58,1,107,"ContextMenu",58,"ContextMenu",93,i,i,i],[0,1,108,"Power",0,i,0,i,i,i],[0,1,109,"NumpadEqual",0,i,0,i,i,i],[71,1,110,"F13",71,"F13",124,"VK_F13",i,i],[72,1,111,"F14",72,"F14",125,"VK_F14",i,i],[73,1,112,"F15",73,"F15",126,"VK_F15",i,i],[74,1,113,"F16",74,"F16",127,"VK_F16",i,i],[75,1,114,"F17",75,"F17",128,"VK_F17",i,i],[76,1,115,"F18",76,"F18",129,"VK_F18",i,i],[77,1,116,"F19",77,"F19",130,"VK_F19",i,i],[0,1,117,"F20",0,i,0,"VK_F20",i,i],[0,1,118,"F21",0,i,0,"VK_F21",i,i],[0,1,119,"F22",0,i,0,"VK_F22",i,i],[0,1,120,"F23",0,i,0,"VK_F23",i,i],[0,1,121,"F24",0,i,0,"VK_F24",i,i],[0,1,122,"Open",0,i,0,i,i,i],[0,1,123,"Help",0,i,0,i,i,i],[0,1,124,"Select",0,i,0,i,i,i],[0,1,125,"Again",0,i,0,i,i,i],[0,1,126,"Undo",0,i,0,i,i,i],[0,1,127,"Cut",0,i,0,i,i,i],[0,1,128,"Copy",0,i,0,i,i,i],[0,1,129,"Paste",0,i,0,i,i,i],[0,1,130,"Find",0,i,0,i,i,i],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",i,i],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",i,i],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",i,i],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",i,i],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",i,i],[0,1,136,"KanaMode",0,i,0,i,i,i],[0,0,137,"IntlYen",0,i,0,i,i,i],[0,1,138,"Convert",0,i,0,i,i,i],[0,1,139,"NonConvert",0,i,0,i,i,i],[0,1,140,"Lang1",0,i,0,i,i,i],[0,1,141,"Lang2",0,i,0,i,i,i],[0,1,142,"Lang3",0,i,0,i,i,i],[0,1,143,"Lang4",0,i,0,i,i,i],[0,1,144,"Lang5",0,i,0,i,i,i],[0,1,145,"Abort",0,i,0,i,i,i],[0,1,146,"Props",0,i,0,i,i,i],[0,1,147,"NumpadParenLeft",0,i,0,i,i,i],[0,1,148,"NumpadParenRight",0,i,0,i,i,i],[0,1,149,"NumpadBackspace",0,i,0,i,i,i],[0,1,150,"NumpadMemoryStore",0,i,0,i,i,i],[0,1,151,"NumpadMemoryRecall",0,i,0,i,i,i],[0,1,152,"NumpadMemoryClear",0,i,0,i,i,i],[0,1,153,"NumpadMemoryAdd",0,i,0,i,i,i],[0,1,154,"NumpadMemorySubtract",0,i,0,i,i,i],[0,1,155,"NumpadClear",0,i,0,i,i,i],[0,1,156,"NumpadClearEntry",0,i,0,i,i,i],[5,1,0,i,5,"Ctrl",17,"VK_CONTROL",i,i],[4,1,0,i,4,"Shift",16,"VK_SHIFT",i,i],[6,1,0,i,6,"Alt",18,"VK_MENU",i,i],[57,1,0,i,57,"Meta",0,"VK_COMMAND",i,i],[5,1,157,"ControlLeft",5,i,0,"VK_LCONTROL",i,i],[4,1,158,"ShiftLeft",4,i,0,"VK_LSHIFT",i,i],[6,1,159,"AltLeft",6,i,0,"VK_LMENU",i,i],[57,1,160,"MetaLeft",57,i,0,"VK_LWIN",i,i],[5,1,161,"ControlRight",5,i,0,"VK_RCONTROL",i,i],[4,1,162,"ShiftRight",4,i,0,"VK_RSHIFT",i,i],[6,1,163,"AltRight",6,i,0,"VK_RMENU",i,i],[57,1,164,"MetaRight",57,i,0,"VK_RWIN",i,i],[0,1,165,"BrightnessUp",0,i,0,i,i,i],[0,1,166,"BrightnessDown",0,i,0,i,i,i],[0,1,167,"MediaPlay",0,i,0,i,i,i],[0,1,168,"MediaRecord",0,i,0,i,i,i],[0,1,169,"MediaFastForward",0,i,0,i,i,i],[0,1,170,"MediaRewind",0,i,0,i,i,i],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",i,i],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",i,i],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",i,i],[0,1,174,"Eject",0,i,0,i,i,i],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",i,i],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",i,i],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",i,i],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",i,i],[0,1,179,"LaunchApp1",0,i,0,"VK_MEDIA_LAUNCH_APP1",i,i],[0,1,180,"SelectTask",0,i,0,i,i,i],[0,1,181,"LaunchScreenSaver",0,i,0,i,i,i],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",i,i],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",i,i],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",i,i],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",i,i],[0,1,186,"BrowserStop",0,i,0,"VK_BROWSER_STOP",i,i],[0,1,187,"BrowserRefresh",0,i,0,"VK_BROWSER_REFRESH",i,i],[0,1,188,"BrowserFavorites",0,i,0,"VK_BROWSER_FAVORITES",i,i],[0,1,189,"ZoomToggle",0,i,0,i,i,i],[0,1,190,"MailReply",0,i,0,i,i,i],[0,1,191,"MailForward",0,i,0,i,i,i],[0,1,192,"MailSend",0,i,0,i,i,i],[109,1,0,i,109,"KeyInComposition",229,i,i,i],[111,1,0,i,111,"ABNT_C2",194,"VK_ABNT_C2",i,i],[91,1,0,i,91,"OEM_8",223,"VK_OEM_8",i,i],[0,1,0,i,0,i,0,"VK_CLEAR",i,i],[0,1,0,i,0,i,0,"VK_KANA",i,i],[0,1,0,i,0,i,0,"VK_HANGUL",i,i],[0,1,0,i,0,i,0,"VK_JUNJA",i,i],[0,1,0,i,0,i,0,"VK_FINAL",i,i],[0,1,0,i,0,i,0,"VK_HANJA",i,i],[0,1,0,i,0,i,0,"VK_KANJI",i,i],[0,1,0,i,0,i,0,"VK_CONVERT",i,i],[0,1,0,i,0,i,0,"VK_NONCONVERT",i,i],[0,1,0,i,0,i,0,"VK_ACCEPT",i,i],[0,1,0,i,0,i,0,"VK_MODECHANGE",i,i],[0,1,0,i,0,i,0,"VK_SELECT",i,i],[0,1,0,i,0,i,0,"VK_PRINT",i,i],[0,1,0,i,0,i,0,"VK_EXECUTE",i,i],[0,1,0,i,0,i,0,"VK_SNAPSHOT",i,i],[0,1,0,i,0,i,0,"VK_HELP",i,i],[0,1,0,i,0,i,0,"VK_APPS",i,i],[0,1,0,i,0,i,0,"VK_PROCESSKEY",i,i],[0,1,0,i,0,i,0,"VK_PACKET",i,i],[0,1,0,i,0,i,0,"VK_DBE_SBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_DBE_DBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_ATTN",i,i],[0,1,0,i,0,i,0,"VK_CRSEL",i,i],[0,1,0,i,0,i,0,"VK_EXSEL",i,i],[0,1,0,i,0,i,0,"VK_EREOF",i,i],[0,1,0,i,0,i,0,"VK_PLAY",i,i],[0,1,0,i,0,i,0,"VK_ZOOM",i,i],[0,1,0,i,0,i,0,"VK_NONAME",i,i],[0,1,0,i,0,i,0,"VK_PA1",i,i],[0,1,0,i,0,i,0,"VK_OEM_CLEAR",i,i]];let e=[],n=[];for(const r of t){const[a,h,o,c,u,d,E,m,K,N]=r;if(n[o]||(n[o]=!0,xo[c]=o,No[c.toLowerCase()]=o),!e[u]){if(e[u]=!0,!d)throw new Error(`String representation missing for key code ${u} around scan code ${c}`);$0.define(u,d),bn.define(u,K||d),Fn.define(u,N||K||d)}E&&(Co[E]=u)}})();var oa;(function(i){function t(o){return $0.keyCodeToStr(o)}i.toString=t;function e(o){return $0.strToKeyCode(o)}i.fromString=e;function n(o){return bn.keyCodeToStr(o)}i.toUserSettingsUS=n;function r(o){return Fn.keyCodeToStr(o)}i.toUserSettingsGeneral=r;function a(o){return bn.strToKeyCode(o)||Fn.strToKeyCode(o)}i.fromUserSettings=a;function h(o){if(o>=93&&o<=108)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return $0.keyCodeToStr(o)}i.toElectronAccelerator=h})(oa||(oa={}));function To(i,t){const e=(t&65535)<<16>>>0;return(i|e)>>>0}class Mt extends nt{constructor(t,e,n,r){super(t,e,n,r),this.selectionStartLineNumber=t,this.selectionStartColumn=e,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Mt.selectionsEqual(this,t)}static selectionsEqual(t,e){return t.selectionStartLineNumber===e.selectionStartLineNumber&&t.selectionStartColumn===e.selectionStartColumn&&t.positionLineNumber===e.positionLineNumber&&t.positionColumn===e.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,e){return this.getDirection()===0?new Mt(this.startLineNumber,this.startColumn,t,e):new Mt(t,e,this.startLineNumber,this.startColumn)}getPosition(){return new Dt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Dt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,e){return this.getDirection()===0?new Mt(t,e,this.endLineNumber,this.endColumn):new Mt(this.endLineNumber,this.endColumn,t,e)}static fromPositions(t,e=t){return new Mt(t.lineNumber,t.column,e.lineNumber,e.column)}static fromRange(t,e){return e===0?new Mt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Mt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Mt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,e){if(t&&!e||!t&&e)return!1;if(!t&&!e)return!0;if(t.length!==e.length)return!1;for(let n=0,r=t.length;n0){const h=t.charCodeAt(n);if(i.get(h)!==0)return!0}return!1}function ko(i,t,e,n,r){if(n+r===e)return!0;const a=t.charCodeAt(n+r);if(i.get(a)!==0||a===13||a===10)return!0;if(r>0){const h=t.charCodeAt(n+r-1);if(i.get(h)!==0)return!0}return!1}function Oo(i,t,e,n,r){return So(i,t,e,n,r)&&ko(i,t,e,n,r)}class yo{constructor(t,e){this._wordSeparators=t,this._searchRegex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const e=t.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===e||(n=this._searchRegex.exec(t),!n))return null;const r=n.index,a=n[0].length;if(r===this._prevMatchStartIndex&&a===this._prevMatchLength){if(a===0){w2(t,e,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=a,!this._wordSeparators||Oo(this._wordSeparators,t,e,r,a))return n}while(n);return null}}class wo{static computeUnicodeHighlights(t,e,n){const r=n?n.startLineNumber:1,a=n?n.endLineNumber:t.getLineCount(),h=new Ga(e),o=h.getCandidateCodePoints();let c;o==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${vo(Array.from(o))}`,"g");const u=new yo(null,c),d=[];let E=!1,m,K=0,N=0,I=0;t:for(let S=r,D=a;S<=D;S++){const g=t.getLineContent(S),_=g.length;u.reset(0);do if(m=u.next(g),m){let x=m.index,T=m.index+m[0].length;if(x>0){const O=g.charCodeAt(x-1);Ln(O)&&x--}if(T+1<_){const O=g.charCodeAt(T-1);Ln(O)&&T++}const U=g.substring(x,T),w=h.shouldHighlightNonBasicASCII(U);if(w!==0){w===3?K++:w===2?N++:w===1?I++:T2();const O=1e3;if(d.length>=O){E=!0;break t}d.push(new nt(S,x+1,S,T+1))}}while(m)}return{ranges:d,hasMore:E,ambiguousCharacterCount:K,invisibleCharacterCount:N,nonBasicAsciiCharacterCount:I}}static computeUnicodeHighlightReason(t,e){switch(new Ga(e).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const a=Zt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(a)};case 1:return{kind:2}}}}function vo(i,t){return`[${L2(i.map(n=>String.fromCodePoint(n)).join(""))}]`}class Ga{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const e of Xe.codePoints)t.add(e);if(this.options.ambiguousCharacters)for(const e of Zt.getPrimaryConfusableCodePoints())t.add(e);for(const e of this.allowedCodePoints)t.delete(e);return t}shouldHighlightNonBasicASCII(t){const e=t.codePointAt(0);return this.allowedCodePoints.has(e)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` -`||t===" ")&&Xe.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&Zt.isAmbiguous(e)?3:0}}var je=function(i,t,e,n){function r(a){return a instanceof e?a:new e(function(h){h(a)})}return new(e||(e=Promise))(function(a,h){function o(d){try{u(n.next(d))}catch(E){h(E)}}function c(d){try{u(n.throw(d))}catch(E){h(E)}}function u(d){d.done?a(d.value):r(d.value).then(o,c)}u((n=n.apply(i,t||[])).next())})};class Do extends co{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,e){let n=aa(t.column,Eo(e),this._lines[t.lineNumber-1],0);return n?new nt(t.lineNumber,n.startColumn,t.lineNumber,n.endColumn):null}words(t){const e=this._lines,n=this._wordenize.bind(this);let r=0,a="",h=0,o=[];return{*[Symbol.iterator](){for(;;)if(hthis._lines.length)e=this._lines.length,n=this._lines[e-1].length+1,r=!0;else{let a=this._lines[e-1].length+1;n<1?(n=1,r=!0):n>a&&(n=a,r=!0)}return r?{lineNumber:e,column:n}:t}}class S1{constructor(t,e){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=e,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(e=>t.push(this._models[e])),t}acceptNewModel(t){this._models[t.url]=new Do($e.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,e){if(!this._models[t])return;this._models[t].onEvents(e)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,e,n){return je(this,void 0,void 0,function*(){const r=this._getModel(t);return r?wo.computeUnicodeHighlights(r,e,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,e,n,r){return je(this,void 0,void 0,function*(){const a=this._getModel(t),h=this._getModel(e);if(!a||!h)return null;const o=a.getLinesContent(),c=h.getLinesContent(),d=new ao(o,c,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),E=d.changes.length>0?!1:this._modelsAreIdentical(a,h);return{quitEarly:d.quitEarly,identical:E,changes:d.changes}})}_modelsAreIdentical(t,e){const n=t.getLineCount(),r=e.getLineCount();if(n!==r)return!1;for(let a=1;a<=n;a++){const h=t.getLineContent(a),o=e.getLineContent(a);if(h!==o)return!1}return!0}computeMoreMinimalEdits(t,e){return je(this,void 0,void 0,function*(){const n=this._getModel(t);if(!n)return e;const r=[];let a;e=e.slice(0).sort((h,o)=>{if(h.range&&o.range)return nt.compareRangesUsingStarts(h.range,o.range);let c=h.range?0:1,u=o.range?0:1;return c-u});for(let{range:h,text:o,eol:c}of e){if(typeof c=="number"&&(a=c),nt.isEmpty(h)&&!o)continue;const u=n.getValueInRange(h);if(o=o.replace(/\r\n|\n|\r/g,n.eol),u===o)continue;if(Math.max(o.length,u.length)>S1._diffLimit){r.push({range:h,text:o});continue}const d=G2(u,o,!1),E=n.offsetAt(nt.lift(h).getStartPosition());for(const m of d){const K=n.positionAt(E+m.originalStart),N=n.positionAt(E+m.originalStart+m.originalLength),I={text:o.substr(m.modifiedStart,m.modifiedLength),range:{startLineNumber:K.lineNumber,startColumn:K.column,endLineNumber:N.lineNumber,endColumn:N.column}};n.getValueInRange(I.range)!==I.text&&r.push(I)}}return typeof a=="number"&&r.push({eol:a,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return je(this,void 0,void 0,function*(){let e=this._getModel(t);return e?Ko(e):null})}textualSuggest(t,e,n,r){return je(this,void 0,void 0,function*(){const a=new B0(!0),h=new RegExp(n,r),o=new Set;t:for(let c of t){const u=this._getModel(c);if(u){for(let d of u.words(h))if(!(d===e||!isNaN(Number(d)))&&(o.add(d),o.size>S1._suggestionsLimit))break t}}return{words:Array.from(o),duration:a.elapsed()}})}computeWordRanges(t,e,n,r){return je(this,void 0,void 0,function*(){let a=this._getModel(t);if(!a)return Object.create(null);const h=new RegExp(n,r),o=Object.create(null);for(let c=e.startLineNumber;cthis._host.fhr(o,c)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(h,e),Promise.resolve(Tn(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,e){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,e))}catch(n){return Promise.reject(n)}}}S1._diffLimit=1e5,S1._suggestionsLimit=1e4,typeof importScripts=="function"&&(Ct.monaco=Io());let Yn=!1;function Ya(i){if(Yn)return;Yn=!0;const t=new V2(e=>{self.postMessage(e)},e=>new S1(e,i));self.onmessage=e=>{t.onmessage(e.data)}}self.onmessage=i=>{Yn||Ya(null)};var Uo=Object.defineProperty,p=(i,t)=>Uo(i,"name",{value:t,configurable:!0}),Se=(F1=class{constructor(t){l(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},p(F1,"Transition"),l(F1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),F1),Qn=(ws=class extends Se{constructor(t){super(t)}},p(ws,"AbstractPredicateTransition"),ws),y={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},Qa=(vs=class extends Se{constructor(e,n,r,a){super(e);l(this,"ruleIndex");l(this,"actionIndex");l(this,"isCtxDependent");this.ruleIndex=n,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=a===void 0?!1:a}get isEpsilon(){return!0}get serializationType(){return y.ACTION}matches(e,n,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},p(vs,"ActionTransition"),vs),Z=(We=class{constructor(t){l(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===We.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},p(We,"PredictionContext"),l(We,"EMPTY_RETURN_STATE",2147483647),l(We,"EMPTY"),l(We,"trace_atn_sim",!1),We),Za=3432918353,Xa=461845907,j0=15,P0=13,za=5,$a=3864292196,ee=(d1=class{constructor(){l(this,"count");l(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const e=new d1;return e.update(t),e.finish()}static hashString(t=0,e){let n=3735928559^t,r=1103547991^t;for(const a of e){const h=a.charCodeAt(0);n=Math.imul(n^h,2654435761),r=Math.imul(r^h,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),Math.imul(4294967296,2097151&r)+(n>>>0)}update(...t){for(const e of t)if(e!=null)if(Array.isArray(e))this.update(...e);else{let n=0;switch(typeof e){case"undefined":case"function":continue;case"number":{n=e;break}case"boolean":{n=e?1237:4327;break}case"string":{n=d1.hashString(this.hash,e);break}default:{e.updateHashCode(this);continue}}this.count=this.count+1,n=Math.imul(n,Za),n=n<>>32-j0,n=Math.imul(n,Xa);let r=this.hash^n;r=r<>>32-P0,this.hash=Math.imul(r,za)+$a}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,Za),t=t<>>32-j0,t=Math.imul(t,Xa);let e=this.hash^t;e=e<>>32-P0,this.hash=Math.imul(e,za)+$a}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},p(d1,"HashCode"),d1),Mo=p(i=>typeof i.equals=="function","isComparable"),bo=p(i=>i===null?"null":i,"valueToString"),Pe=p(i=>Array.isArray(i)?"["+i.map(bo).join(", ")+"]":"null","arrayToString"),us=p((i,t)=>{if(i===t)return!0;if(i.length!==t.length)return!1;for(let e=0;e(i=i.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(i=i.replace(/ /g,"·")),i),"escapeWhitespace"),ja=p((i,t)=>i?i.equals(t):i===t,"standardEqualsFunction"),Ho=Math.round(Math.random()*Math.pow(2,32)),Vo=p(i=>{let t,e;const n=i.length&3,r=i.length-n;let a=Ho;const h=3432918353,o=461845907;let c=0;for(;c>>16)*h&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*o+(((e>>>16)*o&65535)<<16)&4294967295,a^=e,a=a<<13|a>>>19,t=(a&65535)*5+(((a>>>16)*5&65535)<<16)&4294967295,a=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(e=0,n){case 3:e^=(i.charCodeAt(c+2)&255)<<16;case 2:e^=(i.charCodeAt(c+1)&255)<<8;case 1:e^=i.charCodeAt(c)&255,e=(e&65535)*h+(((e>>>16)*h&65535)<<16)&4294967295,e=e<<15|e>>>17,e=(e&65535)*o+(((e>>>16)*o&65535)<<16)&4294967295,a^=e}return a^=i.length,a^=a>>>16,a=(a&65535)*2246822507+(((a>>>16)*2246822507&65535)<<16)&4294967295,a^=a>>>13,a=(a&65535)*3266489909+(((a>>>16)*3266489909&65535)<<16)&4294967295,a^=a>>>16,a>>>0},"stringHashCode"),Pa=p(i=>i?typeof i=="string"?Vo(i):i.hashCode():-1,"standardHashCodeFunction"),ke=(H1=class extends Z{constructor(e,n){const r=new ee;r.update(e,n);const a=r.finish();super(a);l(this,"parents",[]);l(this,"returnStates",[]);return this.parents=e,this.returnStates=n,this}isEmpty(){return this.returnStates[0]===Z.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(e){return this===e?!0:!(e instanceof H1)||this.hashCode()!==e.hashCode()?!1:us(this.returnStates,e.returnStates)&&us(this.parents,e.parents)}toString(){if(this.isEmpty())return"[]";{let e="[";for(let n=0;n0&&(e=e+", "),this.returnStates[n]===Z.EMPTY_RETURN_STATE){e=e+"$";continue}e=e+this.returnStates[n],this.parents[n]!==null?e=e+" "+this.parents[n]:e=e+"null"}return e+"]"}}get length(){return this.returnStates.length}},p(H1,"ArrayPredictionContext"),H1),J0;(i=>{i.EOF=-1,i.UNKNOWN_SOURCE_NAME=""})(J0||(J0={}));var A;(i=>{i.INVALID_TYPE=0,i.EPSILON=-2,i.MIN_USER_TOKEN_TYPE=1,i.EOF=J0.EOF,i.DEFAULT_CHANNEL=0,i.HIDDEN_CHANNEL=1,i.MIN_USER_CHANNEL_VALUE=2})(A||(A={}));var Bo=p(i=>{const t=i;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),Vt=(Ds=class{constructor(t,e){l(this,"data");l(this,"hashFunction");l(this,"equalsFunction");this.data={},this.hashFunction=t??Pa,this.equalsFunction=e??ja}add(t){const e=this.hashFunction(t);if(e in this.data){const n=this.data[e];for(const r of n)if(this.equalsFunction(t,r))return r;return n.push(t),t}else return this.data[e]=[t],t}has(t){return this.get(t)!=null}get(t){const e=this.hashFunction(t);if(e in this.data){const n=this.data[e];for(const r of n)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return Pe(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},p(Ds,"HashSet"),Ds),tt=(Pt=class{static andContext(t,e){if(t===null||t===Pt.NONE)return e;if(e===null||e===Pt.NONE)return t;const n=new Go(t,e);return n.opnds.length===1?n.opnds[0]:n}static orContext(t,e){if(t===null)return e;if(e===null)return t;if(t===Pt.NONE||e===Pt.NONE)return Pt.NONE;const n=new Yo(t,e);return n.opnds.length===1?n.opnds[0]:n}static filterPrecedencePredicates(t){const e=[];return t.values().forEach(n=>{n instanceof Pt.PrecedencePredicate&&e.push(n)}),e}hashCode(){const t=new ee;return this.updateHashCode(t),t.finish()}evalPrecedence(t,e){return this}},p(Pt,"SemanticContext"),Pt),Go=(Ue=class extends tt{constructor(e,n){super();l(this,"opnds");const r=new Vt;e instanceof Ue?e.opnds.forEach(h=>{r.add(h)}):r.add(e),n instanceof Ue?n.opnds.forEach(h=>{r.add(h)}):r.add(n);const a=tt.filterPrecedencePredicates(r);if(a.length>0){let h=null;a.forEach(o=>{(h===null||o.precedence{h=h===null?o:tt.andContext(h,o)}),h}toString(){const e=this.opnds.map(n=>n.toString());return(e.length>3?e.slice(3):e).join("&&")}},p(Ue,"AND"),Ue),Yo=(Me=class extends tt{constructor(e,n){super();l(this,"opnds");const r=new Vt;e instanceof Me?e.opnds.forEach(h=>{r.add(h)}):r.add(e),n instanceof Me?n.opnds.forEach(h=>{r.add(h)}):r.add(n);const a=tt.filterPrecedencePredicates(r);if(a.length>0){const h=a.sort((c,u)=>c.compareTo(u)),o=h[h.length-1];r.add(o)}this.opnds=Array.from(r.values())}equals(e){return this===e?!0:e instanceof Me?us(this.opnds,e.opnds):!1}updateHashCode(e){e.update(this.opnds),e.updateWithHashCode(3383313031)}evaluate(e,n){for(const r of this.opnds)if(r.evaluate(e,n))return!0;return!1}evalPrecedence(e,n){let r=!1;const a=[];for(const o of this.opnds){const c=o.evalPrecedence(e,n);if(r||(r=c!==o),c===tt.NONE)return tt.NONE;c!==null&&a.push(c)}if(!r)return this;if(a.length===0)return null;let h=null;return a.forEach(o=>{h=h===null?o:tt.orContext(h,o)}),h}toString(){const e=this.opnds.map(n=>n.toString());return(e.length>3?e.slice(3):e).join("||")}},p(Me,"OR"),Me);(i=>{const n=class n extends i{constructor(o,c,u){super();l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=o??-1,this.predIndex=c??-1,this.isCtxDependent=u??!1}evaluate(o,c){const u=this.isCtxDependent?c:null;return o.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(o){o.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(o){return this===o?!0:o instanceof n?this.ruleIndex===o.ruleIndex&&this.predIndex===o.predIndex&&this.isCtxDependent===o.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};p(n,"Predicate");let t=n;i.Predicate=t;const r=class r extends i{constructor(o){super();l(this,"precedence");this.precedence=o??0}evaluate(o,c){return o.precpred(c,this.precedence)}evalPrecedence(o,c){return o.precpred(c,this.precedence)?i.NONE:null}compareTo(o){return this.precedence-o.precedence}updateHashCode(o){o.update(this.precedence)}equals(o){return this===o?!0:o instanceof r?this.precedence===o.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};p(r,"PrecedencePredicate");let e=r;i.PrecedencePredicate=e,i.NONE=new t})(tt||(tt={}));var Qo=p(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),Zo=p(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:i.reachesIntoOuterContext??0,precedenceFilterSuppressed:i.precedenceFilterSuppressed??!1},"checkConfig"),pt=(f1=class{constructor(t,e){l(this,"state");l(this,"alt");l(this,"context");l(this,"reachesIntoOuterContext");l(this,"precedenceFilterSuppressed",!1);l(this,"semanticContext");this.checkContext(t,e);const n=Qo(t),r=Zo(e);this.state=n.state??r.state,this.alt=n.alt??r.alt??0,this.context=n.context??r.context,this.semanticContext=n.semanticContext??r.semanticContext??tt.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new ee;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof f1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new ee;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof f1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,e=!0){let n="";return e&&(n=","+this.alt),"("+this.state+n+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==tt.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,e){(t.context===null||t.context===void 0)&&(e===null||e.context===null||e.context===void 0)&&(this.context=null)}},p(f1,"ATNConfig"),f1),X=(lt=class{constructor(t,e){l(this,"start");l(this,"stop");this.start=t,this.stop=e}static of(t,e){return t!==e||t<0||t>lt.INTERVAL_POOL_MAX_VALUE?new lt(t,e):(lt.cache[t]===null&&(lt.cache[t]=new lt(t,t)),lt.cache[t])}equals(t){return t instanceof lt?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return lt.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return lt.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let e=null;return t.startsBeforeNonDisjoint(this)?e=lt.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(e=lt.of(this.start,t.start-1)),e}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{o.syntaxError(t,e,n,r,a,h)})}reportAmbiguity(t,e,n,r,a,h,o){this.delegates.forEach(c=>{c.reportAmbiguity(t,e,n,r,a,h,o)})}reportAttemptingFullContext(t,e,n,r,a,h){this.delegates.forEach(o=>{o.reportAttemptingFullContext(t,e,n,r,a,h)})}reportContextSensitivity(t,e,n,r,a,h){this.delegates.forEach(o=>{o.reportContextSensitivity(t,e,n,r,a,h)})}},p(Ms,"ProxyErrorListener"),Ms),Ja=(Yt=class{constructor(){l(this,"interpreter");$(this,de,[Xo.INSTANCE]);$(this,bs,-1)}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){C(this,de).push(t)}removeErrorListeners(){Q(this,de,[])}removeErrorListener(t){for(let e=0;ee.set(n,r)),Yt.ruleIndexMapCache.set(t,e)),e}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||A.INVALID_TYPE}getErrorHeader(t){var r,a;const e=(r=t.offendingToken)==null?void 0:r.line,n=(a=t.offendingToken)==null?void 0:a.column;return"line "+e+":"+n}getErrorListenerDispatch(){return new zo(C(this,de))}sempred(t,e,n){return!0}precpred(t,e){return!0}action(t,e,n){}get atn(){return this.interpreter.atn}get state(){return C(this,bs)}set state(t){Q(this,bs,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},de=new WeakMap,bs=new WeakMap,p(Yt,"Recognizer"),l(Yt,"EOF",-1),l(Yt,"tokenTypeMapCache",new Map),l(Yt,"ruleIndexMapCache",new Map),Yt),$o=(be=class{constructor(t,e,n,r,a){l(this,"source");l(this,"tokenIndex",-1);l(this,"start",0);l(this,"stop",0);l(this,"type",0);l(this,"line",0);l(this,"column",-1);l(this,"channel",A.DEFAULT_CHANNEL);$(this,fe,null);this.source=t,this.type=e,this.channel=n??A.DEFAULT_CHANNEL,this.start=r,this.stop=a,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new be(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Q(t,fe,C(this,fe)),t}cloneWithType(t){const e=new be(this.source,t,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,t===A.EOF&&Q(e,fe,""),e}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let n=this.text;n?(n=n.replace(/\n/g,"\\n"),n=n.replace(/\r/g,"\\r"),n=n.replace(/\t/g,"\\t")):n="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+n+"',<"+r+">"+e+","+this.line+":"+this.column+"]"}get text(){if(C(this,fe)!==null)return C(this,fe);const t=this.inputStream;if(t===null)return null;const e=t.size;return this.start"}set text(t){Q(this,fe,t)}setText(t){Q(this,fe,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},fe=new WeakMap,p(be,"CommonToken"),l(be,"EMPTY_SOURCE",[null,null]),be),jo=(m1=class{constructor(t){l(this,"copyText",!1);this.copyText=t??!1}create(t,e,n,r,a,h,o,c){const u=new $o(t,e,r,a,h);return u.line=o,u.column=c,n!==null?u.text=n:this.copyText&&t[1]!==null&&(u.text=t[1].getText(a,h)),u}},p(m1,"CommonTokenFactory"),l(m1,"DEFAULT",new m1),m1),W=(V1=class extends Error{constructor(e){super(e.message);l(this,"ctx");l(this,"offendingToken",null);l(this,"offendingState",-1);l(this,"recognizer");l(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,V1),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},p(V1,"RecognitionException"),V1),tn=(Fs=class extends W{constructor(e,n,r,a){super({message:"",recognizer:e,input:n,ctx:null});l(this,"startIndex");l(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=a}toString(){let e="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(e=>"{"+e.key+":"+e.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,e)=>t+e,0)}},p(Hs,"HashMap"),Hs),me=(Vs=class{constructor(t){l(this,"parent",null);l(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return X.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new X(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,e;return((t=this.symbol)==null?void 0:t.type)===A.EOF?"":((e=this.symbol)==null?void 0:e.text)??""}toStringTree(){return this.toString()}},p(Vs,"TerminalNode"),Vs),ls=(Bs=class extends me{accept(t){return t.visitErrorNode(this)}},p(Bs,"ErrorNode"),Bs),Oe=(Ft=class{static toStringTree(t,e,n){e=e??null,n=n??null,n!==null&&(e=n.ruleNames);let r=Ft.getNodeText(t,e);r=Fo(r,!1);const a=t.getChildCount();if(a===0)return r;let h="("+r+" ";a>0&&(r=Ft.toStringTree(t.getChild(0),e),h=h.concat(r));for(let o=1;ot.getText()).join("")}getAltNumber(){return Y.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?Oe.toStringTree(this,null,t[0]):Oe.toStringTree(this,t[0],t[1])}toString(t,e){t=t??null,e=e??null;let n=this,r="[";for(;n!==null&&n!==e;){if(t===null)n.isEmpty()||(r+=n.invokingState);else{const a=n.ruleIndex,h=a>=0&&a{super(...v5);l(this,"start",null);l(this,"stop",null);l(this,"exception",null)};e?t(e,n):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(e){super.parent=e}copyFrom(e){this.parent=e.parent,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.forEach(n=>{n instanceof ls&&(this.children.push(n),n.parent=this)},this))}enterRule(e){}exitRule(e){}addAnyChild(e){return this.children==null&&(this.children=[]),this.children.push(e),e}addChild(e){return this.addAnyChild(e)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(e){const n=new me(e);return this.addAnyChild(n),n.parent=this,n}addErrorNode(e){return e.parent=this,this.addAnyChild(e)}getChild(e,n){if(this.children===null||e<0||e>=this.children.length)return null;if(n){for(const r of this.children)if(r instanceof n){if(e===0)return r;e-=1}return null}else return this.children[e]}getToken(e,n){var r;if(this.children===null||n<0||n>=this.children.length)return null;for(const a of this.children)if(a instanceof me&&((r=a.symbol)==null?void 0:r.type)===e){if(n===0)return a;n-=1}return null}getTokens(e){var n;if(this.children===null)return[];{const r=[];for(const a of this.children)a instanceof me&&((n=a.symbol)==null?void 0:n.type)===e&&r.push(a);return r}}getRuleContext(e,n){return this.getChild(e,n)}getRuleContexts(e){if(this.children===null)return[];{const n=[];for(const r of this.children)r instanceof e&&n.push(r);return n}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?X.INVALID_INTERVAL:new X(this.start.tokenIndex,this.stop.tokenIndex)}},p(_1,"ParserRuleContext"),l(_1,"EMPTY",new _1),_1),Xn=p((i,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return Z.EMPTY;const e=Xn(i,t.parent),r=i.states[t.invokingState].transitions[0];return Bt.create(e,r.followState.stateNumber)},"predictionContextFromRuleContext"),th=p((i,t,e)=>{if(i.isEmpty())return i;let n=e.get(i)||null;if(n!==null)return n;if(n=t.get(i),n!==null)return e.set(i,n),n;let r=!1,a=[];for(let o=0;o{if(i===t)return i;if(i instanceof Bt&&t instanceof Bt)return qo(i,t,e,n);if(e){if(i instanceof qa)return i;if(t instanceof qa)return t}return i instanceof Bt&&(i=new ke([i.parent],[i.returnState])),t instanceof Bt&&(t=new ke([t.parent],[t.returnState])),Po(i,t,e,n)},"merge"),Po=p((i,t,e,n)=>{if(n!==null){let d=n.get(i,t);if(d!==null||(d=n.get(t,i),d!==null))return d}let r=0,a=0,h=0,o=new Array(i.returnStates.length+t.returnStates.length).fill(0),c=new Array(i.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new Je;for(const e of i)e&&(t.containsKey(e)||t.set(e,e));for(let e=0;e{if(n!==null){let a=n.get(i,t);if(a!==null||(a=n.get(t,i),a!==null))return a}const r=tc(i,t,e);if(r!==null)return n!==null&&n.set(i,t,r),r;if(i.returnState===t.returnState){const a=zn(i.parent,t.parent,e,n);if(a===i.parent)return i;if(a===t.parent)return t;const h=Bt.create(a,i.returnState);return n!==null&&n.set(i,t,h),h}else{let a=null;if((i===t||i.parent!==null&&i.parent===t.parent)&&(a=i.parent),a!==null){const u=[i.returnState,t.returnState];i.returnState>t.returnState&&(u[0]=t.returnState,u[1]=i.returnState);const d=[a,a],E=new ke(d,u);return n!==null&&n.set(i,t,E),E}const h=[i.returnState,t.returnState];let o=[i.parent,t.parent];i.returnState>t.returnState&&(h[0]=t.returnState,h[1]=i.returnState,o=[t.parent,i.parent]);const c=new ke(o,h);return n!==null&&n.set(i,t,c),c}},"mergeSingletons"),tc=p((i,t,e)=>{if(e){if(i===Z.EMPTY||t===Z.EMPTY)return Z.EMPTY}else{if(i===Z.EMPTY&&t===Z.EMPTY)return Z.EMPTY;if(i===Z.EMPTY){const n=[t.returnState,Z.EMPTY_RETURN_STATE],r=[t.parent,null];return new ke(r,n)}else if(t===Z.EMPTY){const n=[i.returnState,Z.EMPTY_RETURN_STATE],r=[i.parent,null];return new ke(r,n)}}return null},"mergeRoot"),se=(Qs=class{constructor(t){l(this,"data");t?this.data=new Uint32Array(t.map(e=>e>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,n=this.data[e];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return e>=this.data.length?!1:(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const n=new Uint32Array(e);n.set(this.data),n.fill(0,this.data.length),this.data=n}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},p(Qs,"BitSet"),Qs),ec=p(i=>i.hashCodeForConfigSet(),"hashATNConfig"),sc=p((i,t)=>i===t?!0:i===null||t===null?!1:i.equalsForConfigSet(t),"equalATNConfigs"),zt=(B1=class{constructor(t){l(this,"configs",[]);l(this,"hasSemanticContext",!1);l(this,"dipsIntoOuterContext",!1);l(this,"fullCtx");l(this,"uniqueAlt",0);l(this,"configLookup",new Vt(ec,sc));l(this,"conflictingAlts",null);l(this,"readOnly",!1);l(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,e){if(e===void 0&&(e=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==tt.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(t);if(n===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,a=zn(n.context,t.context,r,e);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=a,!0}getStates(){const t=new Vt;for(const e of this.configs)t.add(e.state);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==tt.NONE&&t.push(e.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e,null);return!1}equals(t){return this===t||t instanceof B1&&us(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new ee;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new Vt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new Vt)}toString(){return Pe(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==Y.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new se;for(let e of this.configs)t.set(e.alt);return t}},p(B1,"ATNConfigSet"),B1),pe=(G1=class{constructor(t){l(this,"stateNumber",-1);l(this,"configs",new zt);l(this,"edges",null);l(this,"isAcceptState",!1);l(this,"prediction",-1);l(this,"lexerActionExecutor",null);l(this,"requiresFullContext",!1);l(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new ee;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof G1?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=Pe(this.predicates):t+=this.prediction),t.toString()}},p(G1,"DFAState"),G1);(i=>{const e=class e{constructor(r,a){l(this,"pred");l(this,"alt");this.alt=a,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};p(e,"PredPrediction");let t=e;i.PredPrediction=t})(pe||(pe={}));var ie=(Y1=class{constructor(t,e){l(this,"atn");l(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=e,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const e=new Je;return th(t,this.sharedContextCache,e)}getSharedContextCache(){return this.sharedContextCache}},p(Y1,"ATNSimulator"),l(Y1,"ERROR",new pe(2147483647)),Y1),eh=(Zs=class extends zt{constructor(){super(),this.configLookup=new Vt}},p(Zs,"OrderedATNConfigSet"),Zs),ne=(He=class{constructor(){l(this,"atn");l(this,"stateNumber");l(this,"ruleIndex");l(this,"epsilonOnlyTransitions");l(this,"nextTokenWithinRule");l(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return He.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof He?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,e){e===void 0&&(e=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),e===-1?this.transitions.push(t):this.transitions.splice(e,1,t)}},p(He,"ATNState"),l(He,"INVALID_STATE_NUMBER",-1),He),V={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},Ot=(Xs=class extends ne{get stateType(){return V.RULE_STOP}},p(Xs,"RuleStopState"),Xs),qe=(zs=class extends ne{constructor(){super(...arguments);l(this,"decision",-1);l(this,"nonGreedy",!1)}},p(zs,"DecisionState"),zs),re=(Q1=class extends pt{constructor(e,n){super(e,n);l(this,"lexerActionExecutor");l(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=e.lexerActionExecutor??(n==null?void 0:n.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=n!==null?this.checkNonGreedyDecision(n,this.state):!1,this}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(e){return this===e||e instanceof Q1&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&super.equals(e)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(e){return this.equals(e)}checkNonGreedyDecision(e,n){return e.passedThroughNonGreedyDecision||n instanceof qe&&n.nonGreedy}},p(Q1,"LexerATNConfig"),Q1),ae=($s=class{constructor(t){l(this,"actionType");l(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new ee;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},p($s,"LexerAction"),$s),$n=(Z1=class extends ae{constructor(e,n){super(n.actionType);l(this,"offset");l(this,"action");this.offset=e,this.action=n,this.isPositionDependent=!0}execute(e){this.action.execute(e)}updateHashCode(e){e.update(this.actionType,this.offset,this.action)}equals(e){return this===e?!0:e instanceof Z1?this.offset===e.offset&&this.action===e.action:!1}},p(Z1,"LexerIndexedCustomAction"),Z1),ic=(ge=class extends ae{constructor(e){super(-1);l(this,"lexerActions");l(this,"cachedHashCode");return this.lexerActions=e===null?[]:e,this.cachedHashCode=ee.hashStuff(e),this}static append(e,n){if(e===null)return new ge([n]);const r=e.lexerActions.concat([n]);return new ge(r)}fixOffsetBeforeMatch(e){let n=null;for(let r=0;r",t+=this.getStateString(h),t+=` -`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const e=t.stateNumber,n=(t.isAcceptState?":":"")+"s"+e+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${n}=>${t.predicates.toString()}`:`${n}=>${t.prediction}`:`${n}`}},p(js,"DFASerializer"),js),he=(Lt=class{constructor(t,e,n){l(this,"maxTokenType");l(this,"literalNames");l(this,"symbolicNames");l(this,"displayNames");this.literalNames=t??Lt.EMPTY_NAMES,this.symbolicNames=e??Lt.EMPTY_NAMES,this.displayNames=n??Lt.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return Lt.EMPTY_VOCABULARY;const e=[...t],n=[...t];for(let r=0;r0){const h=a.charAt(0);if(h==="'"){n[r]=null;continue}else if(h.toUpperCase()===h){e[r]=null;continue}}e[r]=null,n[r]=null}}return new Lt(e,n,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(e)+"'")}},p(Ps,"LexerDFASerializer"),Ps),ye=(Js=class extends qe{constructor(){super();l(this,"loopBackState");l(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return V.STAR_LOOP_ENTRY}},p(Js,"StarLoopEntryState"),Js),t1=(qs=class{constructor(t,e){l(this,"states",new Vt);l(this,"s0",null);l(this,"decision");l(this,"atnStartState");l(this,"precedenceDfa");l(this,"isPrecedenceDfa",()=>this.precedenceDfa);l(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});l(this,"setPrecedenceStartState",(t,e)=>{var n;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((n=this.s0)!=null&&n.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=e}});this.atnStartState=t,this.decision=e??0;let n=!1;if(t instanceof ye&&t.precedenceRuleDecision){n=!0;const r=new pe;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=n}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((e,n)=>e.stateNumber-n.stateNumber),t}toString(t){return t?this.s0===null?"":new sh(this,t).toString()??"":this.toString(he.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new nc(this).toString()??""}},p(qs,"DFA"),qs),e1=(P=class extends ie{constructor(e,n,r,a){super(n,a);l(this,"decisionToDFA");l(this,"recog",null);l(this,"startIndex",-1);l(this,"line",1);l(this,"column",0);l(this,"mode",Gt.DEFAULT_MODE);l(this,"prevAccept",new P.SimState);this.decisionToDFA=r,this.recog=e}copyState(e){this.column=e.column,this.line=e.line,this.mode=e.mode,this.startIndex=e.startIndex}match(e,n){this.mode=n;const r=e.mark();try{this.startIndex=e.index,this.prevAccept.reset();const a=this.decisionToDFA[n];return a.s0===null?this.matchATN(e):this.execATN(e,a.s0)}finally{e.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Gt.DEFAULT_MODE}getDFA(e){return this.decisionToDFA[e]}getText(e){return e.getText(this.startIndex,e.index-1)}consume(e){e.LA(1)===` -`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,e.consume()}getTokenName(e){return e===-1?"EOF":"'"+String.fromCharCode(e)+"'"}clearDFA(){for(let e=0;eP.MAX_DFA_EDGE)return null;let r=e.edges[n-P.MIN_DFA_EDGE];return r===void 0&&(r=null),P.debug&&r!==null&&console.log("reuse state "+e.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(e,n,r){const a=new eh;return this.getReachableConfigSet(e,n.configs,a,r),a.items.length===0?(a.hasSemanticContext||this.addDFAEdge(n,r,ie.ERROR),ie.ERROR):this.addDFAEdge(n,r,null,a)}failOrAccept(e,n,r,a){if(e.dfaState!==null){const h=e.dfaState.lexerActionExecutor;return this.accept(n,h,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}else{if(a===A.EOF&&n.index===this.startIndex)return A.EOF;throw new tn(this.recog,n,this.startIndex,r)}}getReachableConfigSet(e,n,r,a){let h=Y.INVALID_ALT_NUMBER;for(const o of n.items){const c=o.alt===h;if(!(c&&o.passedThroughNonGreedyDecision)){P.debug&&console.log(`testing %s at %s -`,this.getTokenName(a),o.toString(this.recog,!0));for(const u of o.state.transitions){const d=this.getReachableTarget(u,a);if(d!==null){let E=o.lexerActionExecutor;E!==null&&(E=E.fixOffsetBeforeMatch(e.index-this.startIndex));const m=a===A.EOF,K=new re({state:d,lexerActionExecutor:E},o);this.closure(e,K,r,c,!0,m)&&(h=o.alt)}}}}}accept(e,n,r,a,h,o){P.debug&&console.log(`ACTION %s -`,n),e.seek(a),this.line=h,this.column=o,n!==null&&this.recog!==null&&n.execute(this.recog,e,r)}getReachableTarget(e,n){return e.matches(n,0,Gt.MAX_CHAR_VALUE)?e.target:null}computeStartState(e,n){const r=Z.EMPTY,a=new eh;for(let h=0;hP.MAX_DFA_EDGE||(P.debug&&console.log("EDGE "+e+" -> "+r+" upon "+n),e.edges===null&&(e.edges=new Array(P.MAX_DFA_EDGE-P.MIN_DFA_EDGE+1),e.edges.fill(null)),e.edges[n-P.MIN_DFA_EDGE]=r),r}addDFAState(e){const n=new pe(e);let r=null;for(const c of e.items)if(c.state instanceof Ot){r=c;break}r!==null&&(n.isAcceptState=!0,n.lexerActionExecutor=r.lexerActionExecutor,n.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const a=this.decisionToDFA[this.mode],h=a.states.get(n);if(h!==null)return h;const o=n;return o.stateNumber=a.states.length,e.setReadonly(!0),o.configs=e,a.states.add(o),o}},p(P,"LexerATNSimulator"),l(P,"MIN_DFA_EDGE",0),l(P,"MAX_DFA_EDGE",127),l(P,"debug",!1),l(P,"dfa_debug",!1),P);(i=>{const e=class e{constructor(){l(this,"index",-1);l(this,"line",0);l(this,"column",-1);l(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};p(e,"SimState");let t=e;i.SimState=t})(e1||(e1={}));var Gt=(Wt=class extends Ja{constructor(e){super();l(this,"_input");l(this,"_token",null);l(this,"_tokenStartCharIndex",-1);l(this,"_tokenStartLine",0);l(this,"_tokenStartColumn",0);l(this,"_hitEOF",!1);l(this,"_channel",0);l(this,"_type",0);l(this,"_modeStack",[]);l(this,"_mode",Wt.DEFAULT_MODE);l(this,"_text",null);l(this,"_factory");this._input=e,this._factory=jo.DEFAULT}reset(e=!0){e&&this._input.seek(0),this._token=null,this._type=A.INVALID_TYPE,this._channel=A.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Wt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const e=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=A.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let n=!1;for(;;){this._type=A.INVALID_TYPE;let r=Wt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(a){if(a instanceof tn)this.notifyListeners(a),this.recover(a);else throw a}if(this._input.LA(1)===A.EOF&&(this._hitEOF=!0),this._type===A.INVALID_TYPE&&(this._type=r),this._type===Wt.SKIP){n=!0;break}if(this._type!==Wt.MORE)break}if(!n)return this._token===null&&this.emit(),this._token}}finally{this._input.release(e)}}skip(){this._type=Wt.SKIP}more(){this._type=Wt.MORE}mode(e){this._mode=e}pushMode(e){e1.debug&&console.log("pushMode "+e),this._modeStack.push(this._mode),this.mode(e)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return e1.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(e){this._token=e}emit(){const e=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(e),e}emitEOF(){const e=this.column,n=this.line,r=this._factory.create([this,this._input],A.EOF,null,A.DEFAULT_CHANNEL,this._input.index,this._input.index-1,n,e);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const e=[];let n=this.nextToken();for(;n.type!==A.EOF;)e.push(n),n=this.nextToken();return e}notifyListeners(e){const n=this._tokenStartCharIndex,r=this._input.index,a=this._input.getText(n,r),h="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,h,e)}getErrorDisplay(e){return e}getErrorDisplayForChar(e){return e.charCodeAt(0)===A.EOF?"":e===` -`?"\\n":e===" "?"\\t":e==="\r"?"\\r":e}getCharErrorDisplay(e){return"'"+this.getErrorDisplayForChar(e)+"'"}recover(e){this._input.LA(1)!==A.EOF&&(e instanceof tn?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this.reset(!1),this._input=e}set tokenFactory(e){this._factory=e}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(e){this._type=e}get line(){return this.interpreter.line}set line(e){this.interpreter.line=e}get column(){return this.interpreter.column}set column(e){this.interpreter.column=e}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(e){this._text=e}},p(Wt,"Lexer"),l(Wt,"DEFAULT_MODE",0),l(Wt,"MORE",-2),l(Wt,"SKIP",-3),l(Wt,"DEFAULT_TOKEN_CHANNEL",A.DEFAULT_CHANNEL),l(Wt,"HIDDEN",A.HIDDEN_CHANNEL),l(Wt,"MIN_CHAR_VALUE",0),l(Wt,"MAX_CHAR_VALUE",1114111),Wt),xt=(ct=class{constructor(t){l(this,"intervals",[]);l(this,"readOnly",!1);t&&this.addSet(t)}static of(t,e){const n=new ct;return n.addRange(t,e),n}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?A.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?A.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new X(t,t))}addRange(t,e){this.addInterval(new X(t,e))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let e=0;ethis.addInterval(e),this),this}complement(t,e){if(!t)return new ct;const n=new ct;if(t instanceof ct){if(t.isNil)return new ct;n.addSet(t)}else n.addInterval(new X(t,e??0));return n.subtract(this)}or(t){const e=new ct;return e.addSet(this),t.forEach(n=>e.addSet(n)),e}and(t){if(t.isNil)return new ct;const e=this.intervals,n=t.intervals;let r;const a=e.length,h=n.length;let o=0,c=0;for(;oa.stop){n++;continue}let o=null,c=null;if(h.start>a.start&&(o=new X(a.start,h.start-1)),h.stopt)r=a-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let e=0;for(const n of this.intervals){if(t.stop<=n.start)return;if(t.start>n.start&&t.stop=n.stop?(this.intervals.splice(e,1),e=e-1):t.start1&&(e+="{");let n=!1,r;t instanceof he?r=t:Array.isArray(t)?r=he.fromTokenNames(t):n=t??!1;for(let a=0;a":n?e+="'"+String.fromCodePoint(o)+"'":r?e+=this.elementName(r,o):e+=o;else if(n)e+="'"+String.fromCodePoint(o)+"'..'"+String.fromCodePoint(c)+"'";else if(r)for(let u=o;u<=c;++u)u>o&&(e+=", "),e+=this.elementName(r,u);else e+=o+".."+c;a1&&(e+="}"),e}toArray(){const t=[];for(const e of this.intervals)for(let n=e.start;n<=e.stop;n++)t.push(n);return t}get length(){let t=0;if(this.intervals.length===1){const n=this.intervals[0];return n.stop-n.start+1}for(const n of this.intervals)t+=n.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,e){return e===A.EOF?"":e===A.EPSILON?"":t.getDisplayName(e)}},p(ct,"IntervalSet"),l(ct,"COMPLETE_CHAR_SET",ct.of(Gt.MIN_CHAR_VALUE,Gt.MAX_CHAR_VALUE)),l(ct,"EMPTY_SET",new ct),ct.COMPLETE_CHAR_SET.readOnly=!0,ct.EMPTY_SET.readOnly=!0,ct),en=(ti=class extends Se{constructor(e,n,r,a){super(e);l(this,"ruleIndex");l(this,"precedence");l(this,"followState");this.ruleIndex=n,this.precedence=r,this.followState=a}get isEpsilon(){return!0}get serializationType(){return y.RULE}matches(e,n,r){return!1}},p(ti,"RuleTransition"),ti),jn=(ei=class extends Se{constructor(e,n){super(e);$(this,Ve,void 0);n!=null?Q(this,Ve,n):(Q(this,Ve,new xt),C(this,Ve).addOne(A.INVALID_TYPE))}get label(){return C(this,Ve)}get serializationType(){return y.SET}matches(e,n,r){return this.label.contains(e)}toString(){return C(this,Ve).toString()}},Ve=new WeakMap,p(ei,"SetTransition"),ei),Pn=(si=class extends jn{constructor(t,e){super(t,e)}get serializationType(){return y.NOT_SET}matches(t,e,n){return t>=e&&t<=n&&!super.matches(t,e,n)}toString(){return"~"+super.toString()}},p(si,"NotSetTransition"),si),ih=(ii=class extends Se{constructor(t){super(t)}get serializationType(){return y.WILDCARD}matches(t,e,n){return t>=e&&t<=n}toString(){return"."}},p(ii,"WildcardTransition"),ii),rc=(Be=class{constructor(t){l(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const e=t.transitions.length,n=new Array(e);n.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const n=this.states[t];let r=this.nextTokens(n);if(!r.contains(A.EPSILON))return r;let a=e;const h=new xt;for(h.addSet(r),h.removeOne(A.EPSILON);a!==null&&a.invokingState>=0&&r.contains(A.EPSILON);){const c=this.states[a.invokingState].transitions[0];r=this.nextTokens(c.followState),h.addSet(r),h.removeOne(A.EPSILON),a=a.parent}return r.contains(A.EPSILON)&&h.addOne(A.EOF),h}nextTokens(t,e){return e===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new rc(this).LOOK(t,null,e)}},p(X1,"ATN"),l(X1,"INVALID_ALT_NUMBER",0),X1),nh=(Ge=class{constructor(t){l(this,"readOnly",!1);l(this,"verifyATN");l(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},p(Ge,"ATNDeserializationOptions"),l(Ge,"defaultOptions",new Ge),Ge.defaultOptions.readOnly=!0,Ge),ds={LEXER:0,PARSER:1},rh=(ni=class extends ne{get stateType(){return V.BASIC}},p(ni,"BasicState"),ni),k1=(ri=class extends qe{constructor(){super();l(this,"endState");this.endState=null}},p(ri,"BlockStartState"),ri),Jn=(ai=class extends ne{constructor(){super(...arguments);l(this,"startState",null)}get stateType(){return V.BLOCK_END}},p(ai,"BlockEndState"),ai),s1=(hi=class extends ne{constructor(){super(...arguments);l(this,"loopBackState",null)}get stateType(){return V.LOOP_END}},p(hi,"LoopEndState"),hi),ah=(oi=class extends ne{constructor(){super();l(this,"stopState");l(this,"isLeftRecursiveRule");l(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return V.RULE_START}},p(oi,"RuleStartState"),oi),ac=(ci=class extends qe{get stateType(){return V.TOKEN_START}},p(ci,"TokensStartState"),ci),hh=(ui=class extends qe{get stateType(){return V.PLUS_LOOP_BACK}},p(ui,"PlusLoopbackState"),ui),qn=(li=class extends ne{get stateType(){return V.STAR_LOOP_BACK}},p(li,"StarLoopbackState"),li),tr=(di=class extends k1{constructor(){super(...arguments);l(this,"loopBackState")}get stateType(){return V.PLUS_BLOCK_START}},p(di,"PlusBlockStartState"),di),er=(fi=class extends k1{get stateType(){return V.STAR_BLOCK_START}},p(fi,"StarBlockStartState"),fi),oh=(Ei=class extends k1{get stateType(){return V.BLOCK_START}},p(Ei,"BasicBlockStartState"),Ei),sn=(pi=class extends Se{constructor(e,n){super(e);l(this,"labelValue");$(this,mi,void 0);this.labelValue=n,Q(this,mi,xt.of(n,n))}get label(){return C(this,mi)}matches(e,n,r){return this.labelValue===e}get serializationType(){return y.ATOM}toString(){return this.labelValue.toString()}},mi=new WeakMap,p(pi,"AtomTransition"),pi),ch=(Ri=class extends Se{constructor(e,n,r){super(e);l(this,"start");l(this,"stop");$(this,_i,new xt);this.start=n,this.stop=r,C(this,_i).addRange(n,r)}get label(){return C(this,_i)}get serializationType(){return y.RANGE}matches(e,n,r){return e>=this.start&&e<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},_i=new WeakMap,p(Ri,"RangeTransition"),Ri),fs=(gi=class extends Se{constructor(e,n=-1){super(e);$(this,Wi,void 0);Q(this,Wi,n)}get isEpsilon(){return!0}matches(e,n,r){return!1}get outermostPrecedenceReturn(){return C(this,Wi)}get serializationType(){return y.EPSILON}toString(){return"epsilon"}},Wi=new WeakMap,p(gi,"EpsilonTransition"),gi),uh=(Ki=class extends Qn{constructor(e,n,r,a){super(e);l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=n,this.predIndex=r,this.isCtxDependent=a}get isEpsilon(){return!0}matches(e,n,r){return!1}get serializationType(){return y.PREDICATE}getPredicate(){return new tt.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},p(Ki,"PredicateTransition"),Ki),hc=(Ai=class extends Qn{constructor(e,n){super(e);l(this,"precedence");this.precedence=n}get isEpsilon(){return!0}matches(e,n,r){return!1}getPredicate(){return new tt.PrecedencePredicate(this.precedence)}get serializationType(){return y.PRECEDENCE}toString(){return this.precedence+" >= _p"}},p(Ai,"PrecedencePredicateTransition"),Ai),Nt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},oc=(R1=class extends ae{constructor(){super(Nt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},p(R1,"LexerSkipAction"),l(R1,"INSTANCE",new R1),R1),cc=(z1=class extends ae{constructor(e){super(Nt.CHANNEL);l(this,"channel");this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(e){return this===e?!0:e instanceof z1?this.channel===e.channel:!1}toString(){return"channel("+this.channel+")"}},p(z1,"LexerChannelAction"),z1),uc=($1=class extends ae{constructor(e,n){super(Nt.CUSTOM);l(this,"ruleIndex");l(this,"actionIndex");this.ruleIndex=e,this.actionIndex=n,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(e){return this===e?!0:e instanceof $1?this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex:!1}},p($1,"LexerCustomAction"),$1),lc=(W1=class extends ae{constructor(){super(Nt.MORE)}execute(t){t.more()}toString(){return"more"}},p(W1,"LexerMoreAction"),l(W1,"INSTANCE",new W1),W1),dc=(j1=class extends ae{constructor(e){super(Nt.TYPE);l(this,"type");this.type=e}execute(e){e._type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(e){return this===e?!0:e instanceof j1?this.type===e.type:!1}toString(){return"type("+this.type+")"}},p(j1,"LexerTypeAction"),j1),fc=(P1=class extends ae{constructor(e){super(Nt.PUSH_MODE);l(this,"mode");this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof P1?this.mode===e.mode:!1}toString(){return"pushMode("+this.mode+")"}},p(P1,"LexerPushModeAction"),P1),Ec=(g1=class extends ae{constructor(){super(Nt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},p(g1,"LexerPopModeAction"),l(g1,"INSTANCE",new g1),g1),mc=(J1=class extends ae{constructor(e){super(Nt.MODE);l(this,"mode");this.mode=e}execute(e){e.mode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(e){return this===e?!0:e instanceof J1?this.mode===e.mode:!1}toString(){return"mode("+this.mode+")"}},p(J1,"LexerModeAction"),J1),sr=p((i,t)=>{const e=new Array(i-1);return e[i-1]=t,e.map(()=>t)},"initArray"),Es=(Ye=class{constructor(t){l(this,"data",[]);l(this,"pos",0);l(this,"deserializationOptions");l(this,"stateFactories",null);l(this,"actionFactories",null);t||(t=nh.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const n=[];return this.readSets(e,n),this.readEdges(e,n),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===ds.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==Ye.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+Ye.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),e=this.readInt();return new Y(t,e)}readStates(t){let e,n;const r=[],a=[],h=this.readInt();for(let u=0;u0;)a.addTransition(u.transitions[d-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[e].addTransition(new fs(a)),c&&h.addTransition(new fs(c));const E=new rh;t.addState(E),E.addTransition(new sn(h,t.ruleToTokenType[e])),a.addTransition(new fs(E))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e||!(t instanceof ye))return null;const n=t.transitions[t.transitions.length-1].target;return n instanceof s1&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Ot?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof ye&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const n=e.transitions[e.transitions.length-1].target;n instanceof s1&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof Ot&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const e of t.states)if(e!==null)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof tr)this.checkCondition(e.loopBackState!==null);else if(e instanceof ye)if(this.checkCondition(e.loopBackState!==null),this.checkCondition(e.transitions.length===2),e.transitions[0].target instanceof er)this.checkCondition(e.transitions[1].target instanceof s1),this.checkCondition(!e.nonGreedy);else if(e.transitions[0].target instanceof s1)this.checkCondition(e.transitions[1].target instanceof er),this.checkCondition(e.nonGreedy);else throw new Error("IllegalState");else e instanceof qn?(this.checkCondition(e.transitions.length===1),this.checkCondition(e.transitions[0].target instanceof ye)):e instanceof s1?this.checkCondition(e.loopBackState!==null):e instanceof ah?this.checkCondition(e.stopState!==null):e instanceof k1?this.checkCondition(e.endState!==null):e instanceof Jn?this.checkCondition(e.startState!==null):e instanceof qe?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof Ot)}}checkCondition(t,e){if(!t)throw e==null&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}edgeFactory(t,e,n,r,a,h,o){const c=t.states[n];switch(e){case y.EPSILON:return new fs(c);case y.RANGE:return h!==0?new ch(c,A.EOF,a):new ch(c,r,a);case y.RULE:return new en(t.states[r],a,h,c);case y.PREDICATE:return new uh(c,r,a,h!==0);case y.PRECEDENCE:return new hc(c,r);case y.ATOM:return h!==0?new sn(c,A.EOF):new sn(c,r);case y.ACTION:return new Qa(c,r,a,h!==0);case y.SET:return new jn(c,o[r]);case y.NOT_SET:return new Pn(c,o[r]);case y.WILDCARD:return new ih(c);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(t,e){var n,r;if(this.stateFactories===null){const a=[];a[V.INVALID_TYPE]=null,a[V.BASIC]=()=>new rh,a[V.RULE_START]=()=>new ah,a[V.BLOCK_START]=()=>new oh,a[V.PLUS_BLOCK_START]=()=>new tr,a[V.STAR_BLOCK_START]=()=>new er,a[V.TOKEN_START]=()=>new ac,a[V.RULE_STOP]=()=>new Ot,a[V.BLOCK_END]=()=>new Jn,a[V.STAR_LOOP_BACK]=()=>new qn,a[V.STAR_LOOP_ENTRY]=()=>new ye,a[V.PLUS_LOOP_BACK]=()=>new hh,a[V.LOOP_END]=()=>new s1,this.stateFactories=a}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const a=((r=(n=this.stateFactories)[t])==null?void 0:r.call(n))??null;if(a!==null)return a.ruleIndex=e,a}return null}lexerActionFactory(t,e,n){if(this.actionFactories===null){const r=[];r[Nt.CHANNEL]=(a,h)=>new cc(a),r[Nt.CUSTOM]=(a,h)=>new uc(a,h),r[Nt.MODE]=(a,h)=>new mc(a),r[Nt.MORE]=(a,h)=>lc.INSTANCE,r[Nt.POP_MODE]=(a,h)=>Ec.INSTANCE,r[Nt.PUSH_MODE]=(a,h)=>new fc(a),r[Nt.SKIP]=(a,h)=>oc.INSTANCE,r[Nt.TYPE]=(a,h)=>new dc(a),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](e,n)}},p(Ye,"ATNDeserializer"),l(Ye,"SERIALIZED_VERSION",4),Ye),rt=(Ci=class extends W{constructor(e,n=null,r=null,a=null,h=null,o=null){o=o??e.context,a=a??e.getCurrentToken(),r=r??e.getCurrentToken(),n=n??e.inputStream;super({message:"",recognizer:e,input:n,ctx:o});l(this,"deadEndConfigs",null);l(this,"startToken");this.deadEndConfigs=h,this.startToken=r,this.offendingToken=a}},p(Ci,"NoViableAltException"),Ci),pc=(xi=class{constructor(){l(this,"cacheMap");this.cacheMap=new Je}get(t,e){const n=this.cacheMap.get(t)??null;return n===null?null:n.get(e)??null}set(t,e,n){let r=this.cacheMap.get(t)??null;r===null&&(r=new Je,this.cacheMap.set(t,r)),r.set(e,n)}},p(xi,"DoubleDict"),xi),_t=(It=class{static hasSLLConflictTerminatingPrediction(t,e){if(It.allConfigsInRuleStopStates(e))return!0;if(t===It.SLL&&e.hasSemanticContext){const r=new zt;for(let a of e.items)a=new pt({semanticContext:tt.NONE},a),r.add(a);e=r}const n=It.getConflictingAltSubsets(e);return It.hasConflictingAltSet(n)&&!It.hasStateAssociatedWithOneAlt(e)}static hasConfigInRuleStopState(t){for(const e of t.items)if(e.state instanceof Ot)return!0;return!1}static allConfigsInRuleStopStates(t){for(const e of t.items)if(!(e.state instanceof Ot))return!1;return!0}static resolvesToJustOneViableAlt(t){return It.getSingleViableAlt(t)}static allSubsetsConflict(t){return!It.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const e of t)if(e.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const e of t)if(e.length>1)return!0;return!1}static allSubsetsEqual(t){let e=null;for(const n of t)if(e===null)e=n;else if(n!==e)return!1;return!0}static getUniqueAlt(t){const e=It.getAlts(t);return e.length===1?e.nextSetBit(0):Y.INVALID_ALT_NUMBER}static getAlts(t){const e=new se;return t.forEach(n=>{e.or(n)}),e}static getConflictingAltSubsets(t){const e=new Je(n=>ee.hashStuff(n.state.stateNumber,n.context),(n,r)=>{var a;return n.state.stateNumber===r.state.stateNumber&&(((a=n.context)==null?void 0:a.equals(r.context))??!0)});return t.items.forEach(n=>{let r=e.get(n);r===null&&(r=new se,e.set(n,r)),r.set(n.alt)}),e.getValues()}static getStateToAltMap(t){const e=new Je;return t.items.forEach(n=>{let r=e.get(n.state);r||(r=new se,e.set(n.state,r)),r.set(n.alt)}),e}static hasStateAssociatedWithOneAlt(t){const e={};return t.items.forEach(n=>{const r=n.state.stateNumber;e[r]||(e[r]=0),e[r]++}),Object.values(e).some(n=>n===1)}static getSingleViableAlt(t){let e=null;for(const n of t){const r=n.nextSetBit(0);if(e===null)e=r;else if(e!==r)return Y.INVALID_ALT_NUMBER}return e??0}},p(It,"PredictionMode"),l(It,"SLL",0),l(It,"LL",1),l(It,"LL_EXACT_AMBIG_DETECTION",2),It),nn=(v=class extends ie{constructor(e,n,r,a){super(n,a);l(this,"predictionMode");l(this,"decisionToDFA");l(this,"parser");l(this,"mergeCache",null);l(this,"_input",null);l(this,"_startIndex",0);l(this,"_outerContext",null);l(this,"_dfa",null);this.parser=e,this.decisionToDFA=r}static getUniqueAlt(e){let n=Y.INVALID_ALT_NUMBER;for(const r of e.items)if(n===Y.INVALID_ALT_NUMBER)n=r.alt;else if(r.alt!==n)return Y.INVALID_ALT_NUMBER;return n}reset(){}clearDFA(){for(let e=0;e"}getTokenName(e){if(e===A.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:he.EMPTY_VOCABULARY).getDisplayName(e);return r===e.toString()?r:r+"<"+e+">"}getLookaheadName(e){return this.getTokenName(e.LA(1))}dumpDeadEndConfigs(e){console.log("dead end configs: ");const n=e.deadEndConfigs.items;for(const r of n){let a="no edges";if(r.state.transitions.length>0){const h=r.state.transitions[0];h instanceof sn?a="Atom "+this.getTokenName(h.labelValue):h instanceof jn&&(a=(h instanceof Pn?"~":"")+"Set "+h.label)}console.error(r.toString(this.parser,!0)+":"+a)}}predicateDFAState(e,n){const r=n.transitions.length,a=this.getConflictingAltsOrUniqueAlt(e.configs),h=this.getPredsForAmbigAlts(a,e.configs,r);h!==null?(e.predicates=this.getPredicatePredictions(a,h),e.prediction=Y.INVALID_ALT_NUMBER):e.prediction=a.nextSetBit(0)}execATNWithFullContext(e,n,r,a,h,o){(v.debug||v.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const c=!0;let u=!1,d,E=r;a.seek(h);let m=a.LA(1),K=-1;for(;;){if(d=this.computeReachSet(E,m,c),d===null){const I=this.noViableAlt(a,o,E,h);a.seek(h);const S=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(E,o);if(S!==Y.INVALID_ALT_NUMBER)return S;throw I}const N=_t.getConflictingAltSubsets(d);if(v.debug&&console.log("LL altSubSets="+N+", predict="+_t.getUniqueAlt(N)+", resolvesToJustOneViableAlt="+_t.resolvesToJustOneViableAlt(N)),d.uniqueAlt=v.getUniqueAlt(d),d.uniqueAlt!==Y.INVALID_ALT_NUMBER){K=d.uniqueAlt;break}else if(this.predictionMode!==_t.LL_EXACT_AMBIG_DETECTION){if(K=_t.resolvesToJustOneViableAlt(N),K!==Y.INVALID_ALT_NUMBER)break}else if(_t.allSubsetsConflict(N)&&_t.allSubsetsEqual(N)){u=!0,K=_t.getSingleViableAlt(N);break}E=d,m!==A.EOF&&(a.consume(),m=a.LA(1))}return d.uniqueAlt!==Y.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,K,d,h,a.index),K):(this.reportAmbiguity(e,n,h,a.index,u,null,d),K)}computeReachSet(e,n,r){v.debug&&console.log("in computeReachSet, starting closure: "+e),this.mergeCache===null&&(this.mergeCache=new pc);const a=new zt(r);let h=null;for(const c of e.items){if(v.debug&&console.log("testing "+this.getTokenName(n)+" at "+c),c.state instanceof Ot){(r||n===A.EOF)&&(h===null&&(h=[]),h.push(c));continue}for(const u of c.state.transitions){const d=this.getReachableTarget(u,n);if(d!==null){const E=new pt({state:d},c);a.add(E,this.mergeCache)}}}let o=null;if(h===null&&n!==A.EOF&&(a.items.length===1||v.getUniqueAlt(a)!==Y.INVALID_ALT_NUMBER)&&(o=a),o===null){o=new zt(r);const c=new Vt,u=n===A.EOF;for(const d of a.items)this.closure(d,o,c,!1,r,u)}if(n===A.EOF&&(o=this.removeAllConfigsNotInRuleStopState(o,o===a)),h!==null&&(!r||!_t.hasConfigInRuleStopState(o)))for(const c of h)o.add(c,this.mergeCache);return o.items.length===0?null:o}removeAllConfigsNotInRuleStopState(e,n){if(_t.allConfigsInRuleStopStates(e))return e;const r=new zt(e.fullCtx);for(const a of e.items){if(a.state instanceof Ot){r.add(a,this.mergeCache);continue}if(n&&a.state.epsilonOnlyTransitions&&this.atn.nextTokens(a.state).contains(A.EPSILON)){const o=this.atn.ruleToStopState[a.state.ruleIndex];r.add(new pt({state:o},a),this.mergeCache)}}return r}computeStartState(e,n,r){const a=Xn(this.atn,n),h=new zt(r);for(let o=0;o0&&(o=this.getAltThatFinishedDecisionEntryRule(h),o!==Y.INVALID_ALT_NUMBER)?o:Y.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(e){const n=[];for(const r of e.items)(r.reachesIntoOuterContext>0||r.state instanceof Ot&&r.context.hasEmptyPath())&&n.indexOf(r.alt)<0&&n.push(r.alt);return n.length===0?Y.INVALID_ALT_NUMBER:Math.min(...n)}splitAccordingToSemanticValidity(e,n){const r=new zt(e.fullCtx),a=new zt(e.fullCtx);for(const h of e.items)h.semanticContext!==tt.NONE?h.semanticContext.evaluate(this.parser,n)?r.add(h):a.add(h):r.add(h);return[r,a]}evalSemanticContext(e,n,r){const a=new se;for(const h of e){if(h.pred===tt.NONE){if(a.set(h.alt),!r)break;continue}const o=h.pred.evaluate(this.parser,n);if((v.debug||v.dfa_debug)&&console.log("eval pred "+h+"="+o),o&&((v.debug||v.dfa_debug)&&console.log("PREDICT "+h.alt),a.set(h.alt),!r))break}return a}closure(e,n,r,a,h,o){this.closureCheckingStopState(e,n,r,a,h,0,o)}closureCheckingStopState(e,n,r,a,h,o,c){if(e.state instanceof Ot)if(e.context&&!e.context.isEmpty()){for(let u=0;u=0&&(I+=1)}this.closureCheckingStopState(N,n,r,K,h,I,c)}}}canDropLoopEntryEdgeInLeftRecursiveRule(e){const n=e.state;if(n.stateType!==V.STAR_LOOP_ENTRY||!e.context||!n.precedenceRuleDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;const r=e.context.length;for(let c=0;c=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+Pe(this.parser.getRuleInvocationStack())));let o=null;if(r&&a)if(h&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(o=new pt({state:n.target},e))}else{const c=tt.andContext(e.semanticContext,n.getPredicate());o=new pt({state:n.target,semanticContext:c},e)}else o=new pt({state:n.target},e);return v.debug&&console.log("config from pred transition="+o),o}predTransition(e,n,r,a,h){v.debug&&(console.log("PRED (collectPredicates="+r+") "+n.ruleIndex+":"+n.predIndex+", ctx dependent="+n.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+Pe(this.parser.getRuleInvocationStack())));let o=null;if(r&&(n.isCtxDependent&&a||!n.isCtxDependent))if(h&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(o=new pt({state:n.target},e))}else{const c=tt.andContext(e.semanticContext,n.getPredicate());o=new pt({state:n.target,semanticContext:c},e)}else o=new pt({state:n.target},e);return v.debug&&console.log("config from pred transition="+o),o}ruleTransition(e,n){v.debug&&console.log("CALL rule "+this.getRuleName(n.target.ruleIndex)+", ctx="+e.context);const r=n.followState,a=Bt.create(e.context,r.stateNumber);return new pt({state:n.target,context:a},e)}getConflictingAlts(e){const n=_t.getConflictingAltSubsets(e);return _t.getAlts(n)}getConflictingAltsOrUniqueAlt(e){let n;return e.uniqueAlt!==Y.INVALID_ALT_NUMBER?(n=new se,n.set(e.uniqueAlt)):n=e.conflictingAlts,n}noViableAlt(e,n,r,a){return new rt(this.parser,e,e.get(a),e.LT(1),r,n)}addDFAEdge(e,n,r,a){return v.debug&&console.log("EDGE "+n+" -> "+a+" upon "+this.getTokenName(r)),a===null?null:(a=this.addDFAState(e,a),n===null||r<-1||r>this.atn.maxTokenType||(n.edges===null&&(n.edges=new Array(this.atn.maxTokenType+2),n.edges.fill(null)),n.edges[r+1]=a,v.debug&&console.log(`DFA= -`+e.toString(this.parser!=null?this.parser.vocabulary:he.EMPTY_VOCABULARY))),a)}addDFAState(e,n){if(n===ie.ERROR)return n;const r=e.states.get(n);return r!==null?r:(n.stateNumber=e.states.length,n.configs.readOnly||(n.configs.optimizeConfigs(this),n.configs.setReadonly(!0)),e.states.add(n),v.debug&&console.log("adding new DFA state: "+n),n)}reportAttemptingFullContext(e,n,r,a,h){if(v.debug||v.retry_debug){const o=new X(a,h+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+r+", input="+this.parser.tokenStream.getText(o))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,a,h,n,r)}reportContextSensitivity(e,n,r,a,h){if(v.debug||v.retry_debug){const o=new X(a,h+1);console.log("reportContextSensitivity decision="+e.decision+":"+r+", input="+this.parser.tokenStream.getText(o))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,a,h,n,r)}reportAmbiguity(e,n,r,a,h,o,c){if(v.debug||v.retry_debug){const u=new X(r,a+1);console.log("reportAmbiguity "+o+":"+c+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,r,a,h,o,c)}},p(v,"ParserATNSimulator"),l(v,"debug"),l(v,"trace_atn_sim",!1),l(v,"debug_add",!1),l(v,"debug_closure",!1),l(v,"dfa_debug",!1),l(v,"retry_debug",!1),v),ms=(Ni=class{constructor(){l(this,"cache",new Je)}add(t){if(t===Z.EMPTY)return Z.EMPTY;const e=this.cache.get(t)||null;return e!==null?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},p(Ni,"PredictionContextCache"),Ni),ps=(Ti=class{constructor(t,e,n,r,a,h){l(this,"decision");l(this,"configs");l(this,"input");l(this,"startIndex");l(this,"stopIndex");l(this,"fullCtx");this.decision=t,this.configs=e,this.input=n,this.startIndex=r,this.stopIndex=a,this.fullCtx=h}},p(Ti,"DecisionEventInfo"),Ti),_c=(Li=class extends ps{constructor(e,n,r,a,h,o,c){super(e,n,a,h,o,c);l(this,"ambigAlts");this.ambigAlts=r}},p(Li,"AmbiguityInfo"),Li),lh=(Ii=class extends ps{constructor(t,e,n,r,a){super(t,e,n,r,a,!0)}},p(Ii,"ContextSensitivityInfo"),Ii),Rc=(Si=class{constructor(t){l(this,"decision",0);l(this,"invocations",0);l(this,"timeInPrediction",0);l(this,"SLL_TotalLook",0);l(this,"SLL_MinLook",0);l(this,"SLL_MaxLook",0);l(this,"SLL_MaxLookEvent");l(this,"LL_TotalLook",0);l(this,"LL_MinLook",0);l(this,"LL_MaxLook",0);l(this,"LL_MaxLookEvent");l(this,"contextSensitivities");l(this,"errors");l(this,"ambiguities");l(this,"predicateEvals");l(this,"SLL_ATNTransitions",0);l(this,"SLL_DFATransitions",0);l(this,"LL_Fallback",0);l(this,"LL_ATNTransitions",0);l(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},p(Si,"DecisionInfo"),Si),ir=(ki=class extends ps{constructor(t,e,n,r,a,h){super(t,e,n,r,a,h)}},p(ki,"ErrorInfo"),ki),dh=(Oi=class extends ps{constructor(e,n,r,a,h,o,c){super(e,n,a,h,o,c);l(this,"predictedAlt");this.predictedAlt=r}},p(Oi,"LookaheadEventInfo"),Oi),nr=(yi=class extends nn{constructor(e){const n=e.interpreter.getSharedContextCache();super(e,e.interpreter.atn,e.interpreter.decisionToDFA,n);l(this,"decisions");l(this,"numDecisions",0);l(this,"currentDecision",0);l(this,"currentState");l(this,"conflictingAltResolvedBySLL");$(this,Ke,0);$(this,Ae,0);if(n){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[n].SLL_MaxLook&&(this.decisions[n].SLL_MaxLook=c,this.decisions[n].SLL_MaxLookEvent=new dh(n,null,h,e,this._startIndex,C(this,Ke),!1)),C(this,Ae)>=0){const u=C(this,Ae)-this._startIndex+1;this.decisions[n].LL_TotalLook+=u,this.decisions[n].LL_MinLook=this.decisions[n].LL_MinLook===0?u:Math.min(this.decisions[n].LL_MinLook,u),u>this.decisions[n].LL_MaxLook&&(this.decisions[n].LL_MaxLook=u,this.decisions[n].LL_MaxLookEvent=new dh(n,null,h,e,this._startIndex,C(this,Ae),!0))}return h}finally{this.currentDecision=-1}}getExistingTargetState(e,n){if(this._input){Q(this,Ke,this._input.index);const r=super.getExistingTargetState(e,n);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===ie.ERROR&&this.decisions[this.currentDecision].errors.push(new ir(this.currentDecision,e.configs,this._input,this._startIndex,C(this,Ke),!1))),this.currentState=r,r}return null}computeTargetState(e,n,r){const a=super.computeTargetState(e,n,r);return this.currentState=a,a}computeReachSet(e,n,r){r&&this._input&&Q(this,Ae,this._input.index);const a=super.computeReachSet(e,n,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new ir(this.currentDecision,e,this._input,this._startIndex,C(this,Ae),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,a===null&&this.decisions[this.currentDecision].errors.push(new ir(this.currentDecision,e,this._input,this._startIndex,C(this,Ke),!1)))),a}reportAttemptingFullContext(e,n,r,a,h){n!==null?this.conflictingAltResolvedBySLL=n.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,n&&super.reportAttemptingFullContext(e,n,r,a,h)}reportContextSensitivity(e,n,r,a,h){n!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new lh(this.currentDecision,r,this._input,a,h)),super.reportContextSensitivity(e,n,r,a,h)}reportAmbiguity(e,n,r,a,h,o,c){let u;o!==null?u=o.nextSetBit(0):u=c.getAlts().nextSetBit(0),this._input&&(c.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new lh(this.currentDecision,c,this._input,r,a)),this.decisions[this.currentDecision].ambiguities.push(new _c(this.currentDecision,c,o,this._input,r,a,c.fullCtx))),super.reportAmbiguity(e,n,r,a,h,o,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ke=new WeakMap,Ae=new WeakMap,p(yi,"ProfilingATNSimulator"),yi);wi=class{constructor(t){l(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),e=[];for(let n=0;n0&&e.push(n);return e}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(let n=0;n0?n:void 0,modes:r.length>0?r:void 0}}},p(Di,"InterpreterDataReader"),Ui=class{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult();const n=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const e=this.index+t-1;return e<0||e>=this.data.length?A.EOF:this.data[e]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,e){let n,r;return t instanceof X?(n=t.start,r=t.stop):(n=t,r=e??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),n>=this.data.length?"":vr(this,Mi,Dr).call(this,n,r+1)}toString(){return vr(this,Mi,Dr).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:J0.UNKNOWN_SOURCE_NAME}},Mi=new WeakSet,Dr=function(t,e){const n=this.data.slice(t,e);let r="";return n.forEach(a=>{r+=String.fromCodePoint(a)}),r},p(bi,"CharStreamImpl"),bi),rr=(Fi=class{static fromString(t){return new gc(t)}},p(Fi,"CharStreams"),Fi),Kc=(Hi=class{constructor(t){l(this,"tokenSource");l(this,"tokens",[]);l(this,"p",-1);l(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(e)>=e:!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(n===void 0)return this.tokens.slice(t,e+1);const r=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let a=t;a=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let n=this.tokens[t];for(;n.channel!==e;){if(n.type===A.EOF)return-1;t+=1,this.sync(t),n=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.nextTokenOnChannel(t+1,Gt.DEFAULT_TOKEN_CHANNEL),r=t+1,a=n===-1?this.tokens.length-1:n;return this.filterForChannel(r,a,e)}getHiddenTokensToLeft(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.previousTokenOnChannel(t-1,Gt.DEFAULT_TOKEN_CHANNEL);if(n===t-1)return null;const r=n+1,a=t-1;return this.filterForChannel(r,a,e)}filterForChannel(t,e,n){const r=[];for(let a=t;a=this.tokens.length&&(r=this.tokens.length-1);let a="";for(let h=n;h<=r;h++){const o=this.tokens[h];if(o.type===A.EOF)break;a+=o.text}return a.toString()}else{const e=t[0];return this.getText(e.getSourceInterval())}case 2:{const e=t[0],n=t[1];return e!==null&&n!==null?this.getText(X.of(e.tokenIndex,n.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},p(Hi,"BufferedTokenStream"),Hi),rn=(Vi=class extends Kc{constructor(e,n){super(e);l(this,"channel",A.DEFAULT_CHANNEL);this.channel=n??A.DEFAULT_CHANNEL}adjustSeekIndex(e){return this.nextTokenOnChannel(e,this.channel)}LB(e){if(e===0||this.index-e<0)return null;let n=this.index,r=1;for(;r<=e;)n=this.previousTokenOnChannel(n-1,this.channel),r+=1;return n<0?null:this.tokens[n]}LT(e){if(this.lazyInit(),e===0)return null;if(e<0)return this.LB(-e);let n=this.index,r=1;for(;rnew t1(t,e))),H),Ac=(Bi=class extends q0{syntaxError(t,e,n,r,a,h){}},p(Bi,"XPathLexerErrorListener"),Bi),O1=(Gi=class{constructor(t){l(this,"invert");l(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(Gi,"XPathElement"),Gi),Cc=(Yi=class extends O1{constructor(e,n){super(e);l(this,"ruleIndex");this.ruleIndex=n}evaluate(e){return Oe.findAllRuleNodes(e,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(Yi,"XPathRuleAnywhereElement"),Yi),xc=(Qi=class extends O1{constructor(e,n){super(e);l(this,"ruleIndex");this.ruleIndex=n}evaluate(e){const n=[];for(const r of Oe.getChildren(e))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&n.push(r);return n}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(Qi,"XPathRuleElement"),Qi),Nc=(Zi=class extends O1{constructor(e,n){super(e);l(this,"tokenType");this.tokenType=n}evaluate(e){return Oe.findAllTokenNodes(e,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(Zi,"XPathTokenAnywhereElement"),Zi),Tc=(Xi=class extends O1{constructor(e,n){super(e);l(this,"tokenType");this.tokenType=n}evaluate(e){const n=[];for(const r of Oe.getChildren(e))r instanceof me&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&n.push(r);return n}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(Xi,"XPathTokenElement"),Xi),Lc=(zi=class extends O1{constructor(){super(Eh.WILDCARD)}evaluate(t){return this.invert?[]:Oe.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(zi,"XPathWildcardAnywhereElement"),zi),Ic=($i=class extends O1{constructor(){super(Eh.WILDCARD)}evaluate(t){const e=[];if(this.invert)return e;for(const n of Oe.getChildren(t))e.push(n);return e}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},p($i,"XPathWildcardElement"),$i),Eh=(Qe=class{constructor(t,e){l(this,"path");l(this,"elements");l(this,"parser");this.parser=t,this.path=e,this.elements=this.split(e)}static findAll(t,e,n){return new Qe(n,e).evaluate(t)}split(t){const e=new $t(rr.fromString(t));e.recover=c=>{throw c},e.removeErrorListeners(),e.addErrorListener(new Ac);const n=new rn(e);try{n.fill()}catch(c){if(c instanceof tn){const d="Invalid tokens or characters at index "+e.column+" in path '"+t+"' -- "+c.message;throw new RangeError(d)}throw c}const r=n.getTokens(),a=[],h=r.length;let o=0;t:for(;o0&&this.elements[r].evaluate(h).forEach(c=>{a.add(c)},a);r++,n=a}return n}getXPathElement(t,e){if(t.type===A.EOF)throw new Error("Missing path element at end of path");const n=t.text;if(n==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(n),a=this.parser.getRuleIndex(n);switch(t.type){case $t.WILDCARD:return e?new Lc:new Ic;case $t.TOKEN_REF:case $t.STRING:if(r===A.INVALID_TYPE)throw new Error(n+" at index "+t.start+" isn't a valid token name");return e?new Nc(n,r):new Tc(n,r);default:if(a===-1)throw new Error(n+" at index "+t.start+" isn't a valid rule name");return e?new Cc(n,a):new xc(n,a)}}},p(Qe,"XPath"),l(Qe,"WILDCARD","*"),l(Qe,"NOT","!"),Qe),i1=(ji=class extends W{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},p(ji,"InputMismatchException"),ji),an=(Pi=class extends W{constructor(e,n,r=null){super({message:Sc(n??"no predicate",r??null),recognizer:e,input:e.inputStream,ctx:e.context});l(this,"ruleIndex",0);l(this,"predicateIndex",0);l(this,"predicate");const h=e.atn.states[e.state].transitions[0];h instanceof uh?(this.ruleIndex=h.ruleIndex,this.predicateIndex=h.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=n,this.offendingToken=e.getCurrentToken()}},p(Pi,"FailedPredicateException"),Pi),Sc=p((i,t)=>t!==null?t:"failed predicate: {"+i+"}?","formatMessage"),ar=(Ji=class{constructor(){l(this,"errorRecoveryMode",!1);l(this,"lastErrorIndex",-1);l(this,"lastErrorStates",new xt);l(this,"nextTokensContext",null);l(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new xt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof rt?this.reportNoViableAlternative(t,e):e instanceof i1?this.reportInputMismatch(t,e):e instanceof an?this.reportFailedPredicate(t,e):t.notifyErrorListeners(e.message,e.offendingToken,e))}recover(t,e){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const n=this.getErrorRecoverySet(t);this.consumeUntil(t,n)}sync(t){if(this.inErrorRecoveryMode(t))return;const e=t.atn.states[t.state],n=t.tokenStream.LA(1),r=t.atn.nextTokens(e);if(r.contains(n)){this.nextTokensContext=null,this.nextTokenState=ne.INVALID_STATE_NUMBER;return}else if(r.contains(A.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(e.stateType){case V.BLOCK_START:case V.STAR_BLOCK_START:case V.PLUS_BLOCK_START:case V.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new i1(t);case V.PLUS_LOOP_BACK:case V.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const a=new xt;a.addSet(t.getExpectedTokens());const h=a.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,h)}break}}reportNoViableAlternative(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const n=t.tokenStream;let r;n!==null&&e.startToken?e.startToken.type===A.EOF?r="":r=n.getText(new X(e.startToken.tokenIndex,e.offendingToken.tokenIndex)):r="";const a="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(a,e.offendingToken,e)}reportInputMismatch(t,e){if(e.message.length>0){t.notifyErrorListeners(e.message,e.offendingToken,e);return}const n="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(n,e.offendingToken,e)}reportFailedPredicate(t,e){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;t.notifyErrorListeners(r,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),n=this.getTokenErrorDisplay(e),r=this.getExpectedTokens(t),a="extraneous input "+n+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(a,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(r,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(e!==null)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new i1(t)}singleTokenInsertion(t){const e=t.tokenStream.LA(1),n=t.atn,a=n.states[t.state].transitions[0].target;return n.nextTokens(a,t.context).contains(e)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const e=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const e=t.getCurrentToken(),n=this.getExpectedTokens(t);let r=A.INVALID_TYPE;n.isNil||(r=n.minElement);let a;r===A.EOF?a="":a="";let h=e;const o=t.tokenStream.LT(-1);return h.type===A.EOF&&o!==null&&(h=o),t.getTokenFactory().create(h.source,r,a,A.DEFAULT_CHANNEL,-1,-1,h.line,h.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let e=t.text;return e===null&&(t.type===A.EOF?e="":e="<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const e=t.atn;let n=t.context;const r=new xt;for(;n!==null&&n.invokingState>=0;){const h=e.states[n.invokingState].transitions[0],o=e.nextTokens(h.followState);r.addSet(o),n=n.parent}return r.removeOne(A.EPSILON),r}consumeUntil(t,e){let n=t.tokenStream.LA(1);for(;n!==A.EOF&&!e.contains(n);)t.consume(),n=t.tokenStream.LA(1)}},p(Ji,"DefaultErrorStrategy"),Ji);qi=class extends ar{recover(t,e){let n=t.context;for(;n!==null;)n.exception=e,n=n.parent;throw new fh(e)}recoverInline(t){const e=new i1(t);let n=t.context;for(;n!==null;)n.exception=e,n=n.parent;throw new fh(e)}sync(t){}},p(qi,"BailErrorStrategy"),t0=class extends q0{constructor(e){super();l(this,"exactOnly");l(this,"reportAmbiguity",(e,n,r,a,h,o,c)=>{if(this.exactOnly&&!h)return;const u=this.getDecisionDescription(e,n),d=this.getConflictingAlts(o,c),E=e.tokenStream.getText(X.of(r,a)),m=`reportAmbiguity d=${u}: ambigAlts=${d}, input='${E}'`;e.notifyErrorListeners(m,null,null)});l(this,"reportAttemptingFullContext",(e,n,r,a,h,o)=>{const c=this.getDecisionDescription(e,n),u=e.tokenStream.getText(X.of(r,a)),d=`reportAttemptingFullContext d=${c}, input='${u}'`;e.notifyErrorListeners(d,null,null)});l(this,"reportContextSensitivity",(e,n,r,a,h,o)=>{const c=this.getDecisionDescription(e,n),u=e.tokenStream.getText(X.of(r,a)),d=`reportContextSensitivity d=${c}, input='${u}'`;e.notifyErrorListeners(d,null,null)});l(this,"getDecisionDescription",(e,n)=>{const r=n.decision,a=n.atnStartState.ruleIndex,h=e.ruleNames;if(a<0||a>=h.length)return r.toString();const o=h[a];return o.length===0?r.toString():`${r} (${o})`});l(this,"getConflictingAlts",(e,n)=>{if(e!==null)return e;const r=new se;for(let a=0;a{super(...U5);$(this,e0,void 0)};r!==void 0?i(n,r):i(),Q(this,e0,e)}get ruleIndex(){return C(this,e0)}},e0=new WeakMap,p(s0,"InterpreterRuleContext"),s0);u0=class extends Gt{constructor(e,n,r,a,h,o,c){super(c);$(this,i0,void 0);$(this,n0,void 0);$(this,r0,void 0);$(this,a0,void 0);$(this,h0,void 0);$(this,o0,void 0);$(this,c0,void 0);$(this,Rn,new ms);if(o.grammarType!==ds.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Q(this,i0,e),Q(this,n0,o),Q(this,r0,r.slice(0)),Q(this,a0,a.slice(0)),Q(this,h0,h.slice(0)),Q(this,o0,n),Q(this,c0,o.decisionToState.map((u,d)=>new t1(u,d))),this.interpreter=new e1(this,o,C(this,c0),C(this,Rn))}get atn(){return C(this,n0)}get grammarFileName(){return C(this,i0)}get ruleNames(){return C(this,r0)}get channelNames(){return C(this,a0)}get modeNames(){return C(this,h0)}get vocabulary(){return C(this,o0)}},i0=new WeakMap,n0=new WeakMap,r0=new WeakMap,a0=new WeakMap,h0=new WeakMap,o0=new WeakMap,c0=new WeakMap,Rn=new WeakMap,p(u0,"LexerInterpreter");var Oc=(l0=class{constructor(t){l(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},p(l0,"TraceListener"),l0),mh=(d0=class extends Ja{constructor(e){super();l(this,"printer",null);l(this,"buildParseTrees",!0);l(this,"errorHandler",new ar);l(this,"context",null);l(this,"_input",null);l(this,"_precedenceStack",[]);l(this,"_parseListeners",null);l(this,"_syntaxErrors",0);l(this,"matchedEOF",!1);l(this,"_tracer",null);l(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=e}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(e){let n=this.getCurrentToken();return n.type===e?(this.errorHandler.reportMatch(this),this.consume()):(n=this.errorHandler.recoverInline(this),this.buildParseTrees&&n.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,n))),n}matchWildcard(){let e=this.getCurrentToken();return e.type>0?(this.errorHandler.reportMatch(this),this.consume()):(e=this.errorHandler.recoverInline(this),this.buildParseTrees&&e.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,e))),e}getParseListeners(){return this._parseListeners??[]}addParseListener(e){if(e===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(e)}removeParseListener(e){if(this._parseListeners!==null&&e!==null){const n=this._parseListeners.indexOf(e);n>=0&&this._parseListeners.splice(n,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.forEach(n=>{n.enterEveryRule(e),e.enterRule(n)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const e=this.context;this._parseListeners.slice(0).reverse().forEach(n=>{e.exitRule(n),n.exitEveryRule(e)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(e){this._input.getTokenSource().tokenFactory=e}getATNWithBypassAlts(){const e=this.getSerializedATN();if(e===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const n=new nh;return n.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new Es(n).deserialize(e),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(e){this._input=null,this.reset(),this._input=e}get inputStream(){return this._input}set inputStream(e){this.tokenStream=e}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(e,n,r){n=n??null,r=r??null,n===null&&(n=this.getCurrentToken()),this._syntaxErrors+=1;const a=n.line,h=n.column;this.getErrorListenerDispatch().syntaxError(this,n,a,h,e,r)}consume(){const e=this.getCurrentToken();e.type!==A.EOF&&this.tokenStream.consume();const n=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||n){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,e)):r=this.context.addTokenNode(e),n&&this._parseListeners.forEach(a=>{r instanceof ls?a.visitErrorNode(r):a.visitTerminal(r)})}return e}addContextToParseTree(){var e;((e=this.context)==null?void 0:e.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(e,n,r){this.state=n,this.context=e,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(e,n){e.setAltNumber(n),this.buildParseTrees&&this.context!==e&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(e)),this.context=e}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(e,n,r,a){this.state=n,this._precedenceStack.push(a),this.context=e,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(e,n,r){const a=this.context;a.parent=e,a.invokingState=n,a.stop=this._input.LT(-1),this.context=e,this.context.start=a.start,this.buildParseTrees&&this.context.addChild(a),this.triggerEnterRuleEvent()}unrollRecursionContexts(e){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const n=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==e;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=e;n.parent=e,this.buildParseTrees&&e!==null&&e.addChild(n)}getInvokingContext(e){let n=this.context;for(;n!==null;){if(n.ruleIndex===e)return n;n=n.parent}return null}precpred(e,n){return n>=this._precedenceStack[this._precedenceStack.length-1]}inContext(e){return!1}isExpectedToken(e){const n=this.interpreter.atn;let r=this.context;const a=n.states[this.state];let h=n.nextTokens(a);if(h.contains(e))return!0;if(!h.contains(A.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&h.contains(A.EPSILON);){const c=n.states[r.invokingState].transitions[0];if(h=n.nextTokens(c.followState),h.contains(e))return!0;r=r.parent}return!!(h.contains(A.EPSILON)&&e===A.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const e=this.interpreter.atn,n=e.states[this.state];return e.nextTokens(n)}getRuleIndex(e){const n=this.getRuleIndexMap().get(e);return n??-1}getRuleInvocationStack(e){e=e??null,e===null&&(e=this.context);const n=[];for(;e!==null;){const r=e.ruleIndex;r<0?n.push("n/a"):n.push(this.ruleNames[r]),e=e.parent}return n}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let e=!1;for(const n of this.interpreter.decisionToDFA)n.states.length>0&&(e&&console.log(),this.printer&&(this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.vocabulary))),e=!0)}getSourceName(){return this._input.getSourceName()}setProfile(e){const n=this.interpreter,r=n.predictionMode;if(e)n instanceof nr||(this.interpreter=new nr(this));else if(n instanceof nr){const a=n.getSharedContextCache();if(a){const h=new nn(this,this.atn,n.decisionToDFA,a);this.interpreter=h}}this.interpreter.predictionMode=r}setTrace(e){e?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new Oc(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(e,n){return new me(n)}createErrorNode(e,n){return new ls(n)}},p(d0,"Parser"),d0);_0=class extends mh{constructor(e,n,r,a,h){super(h);l(this,"_rootContext");l(this,"_parentContextStack",[]);l(this,"overrideDecision",-1);l(this,"overrideDecisionInputIndex",-1);l(this,"overrideDecisionAlt",-1);l(this,"overrideDecisionReached",!1);l(this,"_overrideDecisionRoot",null);$(this,f0,void 0);$(this,Jt,void 0);$(this,E0,void 0);$(this,m0,void 0);$(this,p0,void 0);$(this,Wn,new ms);$(this,ts,void 0);Q(this,f0,e),Q(this,Jt,a),Q(this,E0,r.slice(0)),Q(this,m0,n),Q(this,ts,new se);for(const o of a.states)o instanceof ye&&o.precedenceRuleDecision&&C(this,ts).set(o.stateNumber);Q(this,p0,a.decisionToState.map((o,c)=>new t1(o,c))),this.interpreter=new nn(this,a,C(this,p0),C(this,Wn))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return C(this,Jt)}get vocabulary(){return C(this,m0)}get ruleNames(){return C(this,E0)}get grammarFileName(){return C(this,f0)}get atnState(){return C(this,Jt).states[this.state]}parse(e){var r;const n=C(this,Jt).ruleToStartState[e];for(this._rootContext=this.createInterpreterRuleContext(null,ne.INVALID_STATE_NUMBER,e),n.isPrecedenceRule?this.enterRecursionRule(this._rootContext,n.stateNumber,e,0):this.enterRule(this._rootContext,n.stateNumber,e);;){const a=this.atnState;switch(a.stateType){case V.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(n.isPrecedenceRule){const h=this.context,o=this._parentContextStack.pop();return this.unrollRecursionContexts(o[0]),h}else return this.exitRule(),this._rootContext;this.visitRuleStopState(a);break;default:try{this.visitState(a)}catch(h){if(h instanceof W)this.state=C(this,Jt).ruleToStopState[a.ruleIndex].stateNumber,this.context.exception=h,this.errorHandler.reportError(this,h),this.recover(h);else throw h}break}}}addDecisionOverride(e,n,r){this.overrideDecision=e,this.overrideDecisionInputIndex=n,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(e,n,r,a){this._parentContextStack.push([this.context,e.invokingState]),super.enterRecursionRule(e,n,r,a)}visitState(e){let n=1;e instanceof qe&&(n=this.visitDecisionState(e));const r=e.transitions[n-1];switch(r.serializationType){case y.EPSILON:if(C(this,ts).get(e.stateNumber)&&!(r.target instanceof s1)){const d=this._parentContextStack[this._parentContextStack.length-1],E=this.createInterpreterRuleContext(d[0],d[1],this.context.ruleIndex);this.pushNewRecursionContext(E,C(this,Jt).ruleToStartState[e.ruleIndex].stateNumber,this.context.ruleIndex)}break;case y.ATOM:this.match(r.label.minElement);break;case y.RANGE:case y.SET:case y.NOT_SET:r.matches(this._input.LA(1),A.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case y.WILDCARD:this.matchWildcard();break;case y.RULE:const a=r.target,h=a.ruleIndex,o=this.createInterpreterRuleContext(this.context,e.stateNumber,h);a.isPrecedenceRule?this.enterRecursionRule(o,a.stateNumber,h,r.precedence):this.enterRule(o,r.target.stateNumber,h);break;case y.PREDICATE:const c=r;if(!this.sempred(this.context,c.ruleIndex,c.predIndex))throw new an(this);break;case y.ACTION:const u=r;this.action(this.context,u.ruleIndex,u.actionIndex);break;case y.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const d=r.precedence;throw new an(this,`precpred(_ctx, ${d})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(e){let n=1;if(e.transitions.length>1){this.errorHandler.sync(this);const r=e.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(n=this.overrideDecisionAlt,this.overrideDecisionReached=!0):n=this.interpreter.adaptivePredict(this._input,r,this.context)}return n}createInterpreterRuleContext(e,n,r){return new kc(r,e,n)}visitRuleStopState(e){if(C(this,Jt).ruleToStartState[e.ruleIndex].isPrecedenceRule){const[a,h]=this._parentContextStack.pop();this.unrollRecursionContexts(a),this.state=h}else this.exitRule();const r=C(this,Jt).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(e){const n=this._input.index;if(this.errorHandler.recover(this,e),this._input.index===n){const r=e.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const a=r.tokenSource,h=(a==null?void 0:a.inputStream)??null,o=[a,h];if(e instanceof i1){const c=e.getExpectedTokens();if(!c)throw new Error("Expected the exception to provide expected tokens");let u=A.INVALID_TYPE;c.isNil||(u=c.minElement);const d=this.getTokenFactory().create(o,u,r.text,A.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,d))}else{const c=this.getTokenFactory().create(o,A.INVALID_TYPE,r.text,A.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,c))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},f0=new WeakMap,Jt=new WeakMap,E0=new WeakMap,m0=new WeakMap,p0=new WeakMap,Wn=new WeakMap,ts=new WeakMap,p(_0,"ParserInterpreter"),Ut=class{constructor(t){l(this,"tokens");l(this,"programs",new Map);l(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,e,n=Ut.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const a=this.getProgram(n),h=new _h(this.tokens,r,a.length,e);a.push(h)}insertBefore(t,e,n=Ut.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const a=this.getProgram(n),h=new y1(this.tokens,r,a.length,e);a.push(h)}replaceSingle(t,e,n=Ut.DEFAULT_PROGRAM_NAME){this.replace(t,t,e,n)}replace(t,e,n,r=Ut.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof e!="number"&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);const a=this.getProgram(r),h=new hn(this.tokens,t,e,a.length,n);a.push(h)}delete(t,e,n=Ut.DEFAULT_PROGRAM_NAME){e==null&&(e=t),this.replace(t,e,null,n)}getProgram(t){let e=this.programs.get(t);return e==null&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(t,e=Ut.DEFAULT_PROGRAM_NAME){let n;t instanceof X?n=t:n=new X(0,this.tokens.size-1),typeof t=="string"&&(e=t);const r=this.programs.get(e);let a=n.start,h=n.stop;if(h>this.tokens.size-1&&(h=this.tokens.size-1),a<0&&(a=0),r==null||r.length===0)return this.tokens.getText(new X(a,h));const o=[],c=this.reduceToSingleOperationPerIndex(r);let u=a;for(;u<=h&&u=this.tokens.size-1&&o.push(String(d.text));return o.join("")}reduceToSingleOperationPerIndex(t){for(let n=0;na.index&&c.index<=a.lastIndex&&(t[c.instructionIndex]=null);const o=this.getKindOfOps(t,hn,n);for(const c of o){if(c.index>=a.index&&c.lastIndex<=a.lastIndex){t[c.instructionIndex]=null;continue}const u=c.lastIndexa.lastIndex;if(c.text==null&&a.text==null&&!u)t[c.instructionIndex]=null,a.index=Math.min(c.index,a.index),a.lastIndex=Math.max(c.lastIndex,a.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${a} overlap with previous ${c}`)}}for(let n=0;n=c.index&&a.index<=c.lastIndex)throw new Error(`insert op ${a} within boundaries of previous ${c}`)}}const e=new Map;for(const n of t)if(n!=null){if(e.get(n.index)!=null)throw new Error("should only be one op per index");e.set(n.index,n)}return e}catOpText(t,e){let n="",r="";return t!=null&&(n=t.toString()),e!=null&&(r=e.toString()),n+r}getKindOfOps(t,e,n){return t.slice(0,n).filter(r=>r&&r instanceof e)}},p(Ut,"TokenStreamRewriter"),l(Ut,"DEFAULT_PROGRAM_NAME","default"),l(Ut,"PROGRAM_INIT_SIZE",100),l(Ut,"MIN_TOKEN_INDEX",0);var ph=(R0=class{constructor(t,e,n,r){l(this,"instructionIndex");l(this,"index");l(this,"text");l(this,"tokens");this.tokens=t,this.instructionIndex=n,this.index=e,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},p(R0,"RewriteOperation"),R0),y1=(W0=class extends ph{constructor(t,e,n,r){super(t,e,n,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==A.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},p(W0,"InsertBeforeOp"),W0),_h=(g0=class extends y1{constructor(t,e,n,r){super(t,e+1,n,r)}toString(){return"'}},p(g0,"InsertAfterOp"),g0),hn=(K0=class extends ph{constructor(e,n,r,a,h){super(e,n,a,h);l(this,"lastIndex");this.lastIndex=r}execute(e){return this.text&&e.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},p(K0,"ReplaceOp"),K0);class f extends Gt{constructor(t){super(t),this.interpreter=new e1(this,f._ATN,f.decisionsToDFA,new ms)}get grammarFileName(){return"TrinoSql.g4"}get literalNames(){return f.literalNames}get symbolicNames(){return f.symbolicNames}get ruleNames(){return f.ruleNames}get serializedATN(){return f._serializedATN}get channelNames(){return f.channelNames}get modeNames(){return f.modeNames}static get _ATN(){return f.__ATN||(f.__ATN=new Es().deserialize(f._serializedATN)),f.__ATN}get vocabulary(){return f.vocabulary}}f.T__0=1,f.T__1=2,f.T__2=3,f.T__3=4,f.T__4=5,f.T__5=6,f.T__6=7,f.T__7=8,f.T__8=9,f.T__9=10,f.T__10=11,f.T__11=12,f.T__12=13,f.T__13=14,f.T__14=15,f.T__15=16,f.KW_ADD=17,f.KW_ADMIN=18,f.KW_AFTER=19,f.KW_ALL=20,f.KW_ALTER=21,f.KW_ANALYZE=22,f.KW_AND=23,f.KW_ANY=24,f.KW_ARRAY=25,f.KW_AS=26,f.KW_ASC=27,f.KW_AT=28,f.KW_AUTHORIZATION=29,f.KW_BERNOULLI=30,f.KW_BETWEEN=31,f.KW_BY=32,f.KW_CALL=33,f.KW_CASCADE=34,f.KW_CASE=35,f.KW_CAST=36,f.KW_CATALOGS=37,f.KW_COLUMN=38,f.KW_COLUMNS=39,f.KW_COMMENT=40,f.KW_COMMIT=41,f.KW_COMMITTED=42,f.KW_CONSTRAINT=43,f.KW_CREATE=44,f.KW_CROSS=45,f.KW_CUBE=46,f.KW_CURRENT=47,f.KW_CURRENT_CATALOG=48,f.KW_CURRENT_DATE=49,f.KW_CURRENT_PATH=50,f.KW_CURRENT_ROLE=51,f.KW_CURRENT_SCHEMA=52,f.KW_CURRENT_TIME=53,f.KW_CURRENT_TIMESTAMP=54,f.KW_CURRENT_USER=55,f.KW_DATA=56,f.KW_DATE=57,f.KW_DAY=58,f.KW_DEFAULT=59,f.KW_DEALLOCATE=60,f.KW_DEFINER=61,f.KW_DELETE=62,f.KW_DESC=63,f.KW_DESCRIBE=64,f.KW_DEFINE=65,f.KW_DISTINCT=66,f.KW_DISTRIBUTED=67,f.KW_DOUBLE=68,f.KW_DROP=69,f.KW_ELSE=70,f.KW_EMPTY=71,f.KW_END=72,f.KW_ESCAPE=73,f.KW_EXCEPT=74,f.KW_EXCLUDING=75,f.KW_EXECUTE=76,f.KW_EXISTS=77,f.KW_EXPLAIN=78,f.KW_EXTRACT=79,f.KW_FALSE=80,f.KW_FETCH=81,f.KW_FILTER=82,f.KW_FINAL=83,f.KW_FIRST=84,f.KW_FOLLOWING=85,f.KW_FOR=86,f.KW_FORMAT=87,f.KW_FROM=88,f.KW_FULL=89,f.KW_FUNCTIONS=90,f.KW_GRANT=91,f.KW_GRANTED=92,f.KW_GRANTS=93,f.KW_DENY=94,f.KW_GRAPHVIZ=95,f.KW_GROUP=96,f.KW_GROUPING=97,f.KW_GROUPS=98,f.KW_HAVING=99,f.KW_HOUR=100,f.KW_IF=101,f.KW_IGNORE=102,f.KW_IN=103,f.KW_INCLUDING=104,f.KW_INITIAL=105,f.KW_INNER=106,f.KW_INPUT=107,f.KW_INSERT=108,f.KW_INTERSECT=109,f.KW_INTERVAL=110,f.KW_INTO=111,f.KW_INVOKER=112,f.KW_IO=113,f.KW_IS=114,f.KW_ISOLATION=115,f.KW_JOIN=116,f.KW_JSON=117,f.KW_LAST=118,f.KW_LATERAL=119,f.KW_LEFT=120,f.KW_LEVEL=121,f.KW_LIKE=122,f.KW_LIMIT=123,f.KW_LOCAL=124,f.KW_LOCALTIME=125,f.KW_LOCALTIMESTAMP=126,f.KW_LOGICAL=127,f.KW_MAP=128,f.KW_MATCH=129,f.KW_MATCHED=130,f.KW_MATCHES=131,f.KW_MATCH_RECOGNIZE=132,f.KW_MATERIALIZED=133,f.KW_MEASURES=134,f.KW_MERGE=135,f.KW_MINUTE=136,f.KW_MONTH=137,f.KW_NATURAL=138,f.KW_NEXT=139,f.KW_NFC=140,f.KW_NFD=141,f.KW_NFKC=142,f.KW_NFKD=143,f.KW_NO=144,f.KW_NONE=145,f.KW_NORMALIZE=146,f.KW_NOT=147,f.KW_NULL=148,f.KW_NULLIF=149,f.KW_NULLS=150,f.KW_OFFSET=151,f.KW_OMIT=152,f.KW_ON=153,f.KW_ONE=154,f.KW_ONLY=155,f.KW_OPTION=156,f.KW_OR=157,f.KW_ORDER=158,f.KW_ORDINALITY=159,f.KW_OUTER=160,f.KW_OUTPUT=161,f.KW_OVER=162,f.KW_PARTITION=163,f.KW_PARTITIONS=164,f.KW_PAST=165,f.KW_PATH=166,f.KW_PATTERN=167,f.KW_PER=168,f.KW_PERMUTE=169,f.KW_POSITION=170,f.KW_PRECEDING=171,f.KW_PRECISION=172,f.KW_PREPARE=173,f.KW_PRIVILEGES=174,f.KW_PROPERTIES=175,f.KW_RANGE=176,f.KW_READ=177,f.KW_RECURSIVE=178,f.KW_REFRESH=179,f.KW_RENAME=180,f.KW_REPEATABLE=181,f.KW_REPLACE=182,f.KW_RESET=183,f.KW_RESPECT=184,f.KW_RESTRICT=185,f.KW_REVOKE=186,f.KW_RIGHT=187,f.KW_ROLE=188,f.KW_ROLES=189,f.KW_ROLLBACK=190,f.KW_ROLLUP=191,f.KW_ROW=192,f.KW_ROWS=193,f.KW_RUNNING=194,f.KW_SCHEMA=195,f.KW_SCHEMAS=196,f.KW_SECOND=197,f.KW_SECURITY=198,f.KW_SEEK=199,f.KW_SELECT=200,f.KW_SERIALIZABLE=201,f.KW_SESSION=202,f.KW_SET=203,f.KW_SETS=204,f.KW_SHOW=205,f.KW_SOME=206,f.KW_START=207,f.KW_STATS=208,f.KW_SUBSET=209,f.KW_SUBSTRING=210,f.KW_SYSTEM=211,f.KW_TABLE=212,f.KW_TABLES=213,f.KW_TABLESAMPLE=214,f.KW_TEXT=215,f.KW_THEN=216,f.KW_TIES=217,f.KW_TIME=218,f.KW_TIMESTAMP=219,f.KW_TO=220,f.KW_TRANSACTION=221,f.KW_TRUNCATE=222,f.KW_TRUE=223,f.KW_TRY_CAST=224,f.KW_TYPE=225,f.KW_UESCAPE=226,f.KW_UNBOUNDED=227,f.KW_UNCOMMITTED=228,f.KW_UNION=229,f.KW_UNMATCHED=230,f.KW_UNNEST=231,f.KW_UPDATE=232,f.KW_USE=233,f.KW_USER=234,f.KW_USING=235,f.KW_VALIDATE=236,f.KW_VALUES=237,f.KW_VERBOSE=238,f.KW_VIEW=239,f.KW_WHEN=240,f.KW_WHERE=241,f.KW_WINDOW=242,f.KW_WITH=243,f.KW_WITHOUT=244,f.KW_WORK=245,f.KW_WRITE=246,f.KW_YEAR=247,f.KW_ZONE=248,f.EQ=249,f.NEQ=250,f.LT=251,f.LTE=252,f.GT=253,f.GTE=254,f.PLUS=255,f.MINUS=256,f.ASTERISK=257,f.SLASH=258,f.PERCENT=259,f.CONCAT=260,f.QUESTION_MARK=261,f.STRING=262,f.UNICODE_STRING=263,f.BINARY_LITERAL=264,f.INTEGER_VALUE=265,f.DECIMAL_VALUE=266,f.DOUBLE_VALUE=267,f.IDENTIFIER=268,f.DIGIT_IDENTIFIER=269,f.QUOTED_IDENTIFIER=270,f.BACKQUOTED_IDENTIFIER=271,f.SEMICOLON=272,f.SIMPLE_COMMENT=273,f.BRACKETED_COMMENT=274,f.WS=275,f.UNRECOGNIZED=276,f.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],f.literalNames=[null,"'('","')'","','","'.'","'SKIP'","'->'","'['","']'","'|'","'^'","'$'","'{-'","'-}'","'{'","'}'","'=>'","'ADD'","'ADMIN'","'AFTER'","'ALL'","'ALTER'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BERNOULLI'","'BETWEEN'","'BY'","'CALL'","'CASCADE'","'CASE'","'CAST'","'CATALOGS'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMMITTED'","'CONSTRAINT'","'CREATE'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_PATH'","'CURRENT_ROLE'","'CURRENT_SCHEMA'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DATA'","'DATE'","'DAY'","'DEFAULT'","'DEALLOCATE'","'DEFINER'","'DELETE'","'DESC'","'DESCRIBE'","'DEFINE'","'DISTINCT'","'DISTRIBUTED'","'DOUBLE'","'DROP'","'ELSE'","'EMPTY'","'END'","'ESCAPE'","'EXCEPT'","'EXCLUDING'","'EXECUTE'","'EXISTS'","'EXPLAIN'","'EXTRACT'","'FALSE'","'FETCH'","'FILTER'","'FINAL'","'FIRST'","'FOLLOWING'","'FOR'","'FORMAT'","'FROM'","'FULL'","'FUNCTIONS'","'GRANT'","'GRANTED'","'GRANTS'","'DENY'","'GRAPHVIZ'","'GROUP'","'GROUPING'","'GROUPS'","'HAVING'","'HOUR'","'IF'","'IGNORE'","'IN'","'INCLUDING'","'INITIAL'","'INNER'","'INPUT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INTO'","'INVOKER'","'IO'","'IS'","'ISOLATION'","'JOIN'","'JSON'","'LAST'","'LATERAL'","'LEFT'","'LEVEL'","'LIKE'","'LIMIT'","'LOCAL'","'LOCALTIME'","'LOCALTIMESTAMP'","'LOGICAL'","'MAP'","'MATCH'","'MATCHED'","'MATCHES'","'MATCH_RECOGNIZE'","'MATERIALIZED'","'MEASURES'","'MERGE'","'MINUTE'","'MONTH'","'NATURAL'","'NEXT'","'NFC'","'NFD'","'NFKC'","'NFKD'","'NO'","'NONE'","'NORMALIZE'","'NOT'","'NULL'","'NULLIF'","'NULLS'","'OFFSET'","'OMIT'","'ON'","'ONE'","'ONLY'","'OPTION'","'OR'","'ORDER'","'ORDINALITY'","'OUTER'","'OUTPUT'","'OVER'","'PARTITION'","'PARTITIONS'","'PAST'","'PATH'","'PATTERN'","'PER'","'PERMUTE'","'POSITION'","'PRECEDING'","'PRECISION'","'PREPARE'","'PRIVILEGES'","'PROPERTIES'","'RANGE'","'READ'","'RECURSIVE'","'REFRESH'","'RENAME'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'REVOKE'","'RIGHT'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'RUNNING'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECURITY'","'SEEK'","'SELECT'","'SERIALIZABLE'","'SESSION'","'SET'","'SETS'","'SHOW'","'SOME'","'START'","'STATS'","'SUBSET'","'SUBSTRING'","'SYSTEM'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TEXT'","'THEN'","'TIES'","'TIME'","'TIMESTAMP'","'TO'","'TRANSACTION'","'TRUNCATE'","'TRUE'","'TRY_CAST'","'TYPE'","'UESCAPE'","'UNBOUNDED'","'UNCOMMITTED'","'UNION'","'UNMATCHED'","'UNNEST'","'UPDATE'","'USE'","'USER'","'USING'","'VALIDATE'","'VALUES'","'VERBOSE'","'VIEW'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'WITHOUT'","'WORK'","'WRITE'","'YEAR'","'ZONE'","'='",null,"'<'","'<='","'>'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'?'",null,null,null,null,null,null,null,null,null,null,"';'"],f.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOGS","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMMITTED","KW_CONSTRAINT","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATE","KW_DAY","KW_DEFAULT","KW_DEALLOCATE","KW_DEFINER","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DEFINE","KW_DISTINCT","KW_DISTRIBUTED","KW_DOUBLE","KW_DROP","KW_ELSE","KW_EMPTY","KW_END","KW_ESCAPE","KW_EXCEPT","KW_EXCLUDING","KW_EXECUTE","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FINAL","KW_FIRST","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FROM","KW_FULL","KW_FUNCTIONS","KW_GRANT","KW_GRANTED","KW_GRANTS","KW_DENY","KW_GRAPHVIZ","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_HAVING","KW_HOUR","KW_IF","KW_IGNORE","KW_IN","KW_INCLUDING","KW_INITIAL","KW_INNER","KW_INPUT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_INVOKER","KW_IO","KW_IS","KW_ISOLATION","KW_JOIN","KW_JSON","KW_LAST","KW_LATERAL","KW_LEFT","KW_LEVEL","KW_LIKE","KW_LIMIT","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOGICAL","KW_MAP","KW_MATCH","KW_MATCHED","KW_MATCHES","KW_MATCH_RECOGNIZE","KW_MATERIALIZED","KW_MEASURES","KW_MERGE","KW_MINUTE","KW_MONTH","KW_NATURAL","KW_NEXT","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLIF","KW_NULLS","KW_OFFSET","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OUTPUT","KW_OVER","KW_PARTITION","KW_PARTITIONS","KW_PAST","KW_PATH","KW_PATTERN","KW_PER","KW_PERMUTE","KW_POSITION","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_READ","KW_RECURSIVE","KW_REFRESH","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_RUNNING","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECURITY","KW_SEEK","KW_SELECT","KW_SERIALIZABLE","KW_SESSION","KW_SET","KW_SETS","KW_SHOW","KW_SOME","KW_START","KW_STATS","KW_SUBSET","KW_SUBSTRING","KW_SYSTEM","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TEXT","KW_THEN","KW_TIES","KW_TIME","KW_TIMESTAMP","KW_TO","KW_TRANSACTION","KW_TRUNCATE","KW_TRUE","KW_TRY_CAST","KW_TYPE","KW_UESCAPE","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNION","KW_UNMATCHED","KW_UNNEST","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALIDATE","KW_VALUES","KW_VERBOSE","KW_VIEW","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHOUT","KW_WORK","KW_WRITE","KW_YEAR","KW_ZONE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","QUESTION_MARK","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","SEMICOLON","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],f.modeNames=["DEFAULT_MODE"],f.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOGS","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMMITTED","KW_CONSTRAINT","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATE","KW_DAY","KW_DEFAULT","KW_DEALLOCATE","KW_DEFINER","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DEFINE","KW_DISTINCT","KW_DISTRIBUTED","KW_DOUBLE","KW_DROP","KW_ELSE","KW_EMPTY","KW_END","KW_ESCAPE","KW_EXCEPT","KW_EXCLUDING","KW_EXECUTE","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FINAL","KW_FIRST","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FROM","KW_FULL","KW_FUNCTIONS","KW_GRANT","KW_GRANTED","KW_GRANTS","KW_DENY","KW_GRAPHVIZ","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_HAVING","KW_HOUR","KW_IF","KW_IGNORE","KW_IN","KW_INCLUDING","KW_INITIAL","KW_INNER","KW_INPUT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_INVOKER","KW_IO","KW_IS","KW_ISOLATION","KW_JOIN","KW_JSON","KW_LAST","KW_LATERAL","KW_LEFT","KW_LEVEL","KW_LIKE","KW_LIMIT","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOGICAL","KW_MAP","KW_MATCH","KW_MATCHED","KW_MATCHES","KW_MATCH_RECOGNIZE","KW_MATERIALIZED","KW_MEASURES","KW_MERGE","KW_MINUTE","KW_MONTH","KW_NATURAL","KW_NEXT","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLIF","KW_NULLS","KW_OFFSET","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OUTPUT","KW_OVER","KW_PARTITION","KW_PARTITIONS","KW_PAST","KW_PATH","KW_PATTERN","KW_PER","KW_PERMUTE","KW_POSITION","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_READ","KW_RECURSIVE","KW_REFRESH","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_RUNNING","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECURITY","KW_SEEK","KW_SELECT","KW_SERIALIZABLE","KW_SESSION","KW_SET","KW_SETS","KW_SHOW","KW_SOME","KW_START","KW_STATS","KW_SUBSET","KW_SUBSTRING","KW_SYSTEM","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TEXT","KW_THEN","KW_TIES","KW_TIME","KW_TIMESTAMP","KW_TO","KW_TRANSACTION","KW_TRUNCATE","KW_TRUE","KW_TRY_CAST","KW_TYPE","KW_UESCAPE","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNION","KW_UNMATCHED","KW_UNNEST","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALIDATE","KW_VALUES","KW_VERBOSE","KW_VIEW","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHOUT","KW_WORK","KW_WRITE","KW_YEAR","KW_ZONE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","QUESTION_MARK","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","SEMICOLON","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],f._serializedATN=[4,0,276,2467,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,249,1,249,1,249,1,249,3,249,2257,8,249,1,250,1,250,1,251,1,251,1,251,1,252,1,252,1,253,1,253,1,253,1,254,1,254,1,255,1,255,1,256,1,256,1,257,1,257,1,258,1,258,1,259,1,259,1,259,1,260,1,260,1,261,1,261,1,261,1,261,5,261,2288,8,261,10,261,12,261,2291,9,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,5,262,2302,8,262,10,262,12,262,2305,9,262,1,262,1,262,1,263,1,263,1,263,1,263,5,263,2313,8,263,10,263,12,263,2316,9,263,1,263,1,263,1,264,4,264,2321,8,264,11,264,12,264,2322,1,265,4,265,2326,8,265,11,265,12,265,2327,1,265,1,265,5,265,2332,8,265,10,265,12,265,2335,9,265,1,265,1,265,4,265,2339,8,265,11,265,12,265,2340,3,265,2343,8,265,1,266,4,266,2346,8,266,11,266,12,266,2347,1,266,1,266,5,266,2352,8,266,10,266,12,266,2355,9,266,3,266,2357,8,266,1,266,1,266,1,266,1,266,4,266,2363,8,266,11,266,12,266,2364,1,266,1,266,3,266,2369,8,266,1,267,1,267,3,267,2373,8,267,1,267,1,267,1,267,5,267,2378,8,267,10,267,12,267,2381,9,267,1,268,1,268,1,268,1,268,4,268,2387,8,268,11,268,12,268,2388,1,269,1,269,1,269,1,269,5,269,2395,8,269,10,269,12,269,2398,9,269,1,269,1,269,1,270,1,270,1,270,1,270,5,270,2406,8,270,10,270,12,270,2409,9,270,1,270,1,270,1,271,1,271,1,272,1,272,3,272,2417,8,272,1,272,4,272,2420,8,272,11,272,12,272,2421,1,273,1,273,1,274,1,274,1,275,1,275,1,275,1,275,5,275,2432,8,275,10,275,12,275,2435,9,275,1,275,3,275,2438,8,275,1,275,3,275,2441,8,275,1,275,1,275,1,276,1,276,1,276,1,276,5,276,2449,8,276,10,276,12,276,2452,9,276,1,276,1,276,1,276,1,276,1,276,1,277,4,277,2460,8,277,11,277,12,277,2461,1,277,1,277,1,278,1,278,1,2450,0,279,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,0,547,0,549,0,551,273,553,274,555,275,557,276,1,0,33,2,0,83,83,115,115,2,0,75,75,107,107,2,0,73,73,105,105,2,0,80,80,112,112,2,0,65,65,97,97,2,0,68,68,100,100,2,0,77,77,109,109,2,0,78,78,110,110,2,0,70,70,102,102,2,0,84,84,116,116,2,0,69,69,101,101,2,0,82,82,114,114,2,0,76,76,108,108,2,0,89,89,121,121,2,0,90,90,122,122,2,0,67,67,99,99,2,0,85,85,117,117,2,0,72,72,104,104,2,0,79,79,111,111,2,0,66,66,98,98,2,0,87,87,119,119,2,0,71,71,103,103,2,0,88,88,120,120,2,0,86,86,118,118,2,0,74,74,106,106,1,0,39,39,1,0,34,34,1,0,96,96,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,2497,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,1,559,1,0,0,0,3,561,1,0,0,0,5,563,1,0,0,0,7,565,1,0,0,0,9,567,1,0,0,0,11,572,1,0,0,0,13,575,1,0,0,0,15,577,1,0,0,0,17,579,1,0,0,0,19,581,1,0,0,0,21,583,1,0,0,0,23,585,1,0,0,0,25,588,1,0,0,0,27,591,1,0,0,0,29,593,1,0,0,0,31,595,1,0,0,0,33,598,1,0,0,0,35,602,1,0,0,0,37,608,1,0,0,0,39,614,1,0,0,0,41,618,1,0,0,0,43,624,1,0,0,0,45,632,1,0,0,0,47,636,1,0,0,0,49,640,1,0,0,0,51,646,1,0,0,0,53,649,1,0,0,0,55,653,1,0,0,0,57,656,1,0,0,0,59,670,1,0,0,0,61,680,1,0,0,0,63,688,1,0,0,0,65,691,1,0,0,0,67,696,1,0,0,0,69,704,1,0,0,0,71,709,1,0,0,0,73,714,1,0,0,0,75,723,1,0,0,0,77,730,1,0,0,0,79,738,1,0,0,0,81,746,1,0,0,0,83,753,1,0,0,0,85,763,1,0,0,0,87,774,1,0,0,0,89,781,1,0,0,0,91,787,1,0,0,0,93,792,1,0,0,0,95,800,1,0,0,0,97,816,1,0,0,0,99,829,1,0,0,0,101,842,1,0,0,0,103,855,1,0,0,0,105,870,1,0,0,0,107,883,1,0,0,0,109,901,1,0,0,0,111,914,1,0,0,0,113,919,1,0,0,0,115,924,1,0,0,0,117,928,1,0,0,0,119,936,1,0,0,0,121,947,1,0,0,0,123,955,1,0,0,0,125,962,1,0,0,0,127,967,1,0,0,0,129,976,1,0,0,0,131,983,1,0,0,0,133,992,1,0,0,0,135,1004,1,0,0,0,137,1011,1,0,0,0,139,1016,1,0,0,0,141,1021,1,0,0,0,143,1027,1,0,0,0,145,1031,1,0,0,0,147,1038,1,0,0,0,149,1045,1,0,0,0,151,1055,1,0,0,0,153,1063,1,0,0,0,155,1070,1,0,0,0,157,1078,1,0,0,0,159,1086,1,0,0,0,161,1092,1,0,0,0,163,1098,1,0,0,0,165,1105,1,0,0,0,167,1111,1,0,0,0,169,1117,1,0,0,0,171,1127,1,0,0,0,173,1131,1,0,0,0,175,1138,1,0,0,0,177,1143,1,0,0,0,179,1148,1,0,0,0,181,1158,1,0,0,0,183,1164,1,0,0,0,185,1172,1,0,0,0,187,1179,1,0,0,0,189,1184,1,0,0,0,191,1193,1,0,0,0,193,1199,1,0,0,0,195,1208,1,0,0,0,197,1215,1,0,0,0,199,1222,1,0,0,0,201,1227,1,0,0,0,203,1230,1,0,0,0,205,1237,1,0,0,0,207,1240,1,0,0,0,209,1250,1,0,0,0,211,1258,1,0,0,0,213,1264,1,0,0,0,215,1270,1,0,0,0,217,1277,1,0,0,0,219,1287,1,0,0,0,221,1296,1,0,0,0,223,1301,1,0,0,0,225,1309,1,0,0,0,227,1312,1,0,0,0,229,1315,1,0,0,0,231,1325,1,0,0,0,233,1330,1,0,0,0,235,1335,1,0,0,0,237,1340,1,0,0,0,239,1348,1,0,0,0,241,1353,1,0,0,0,243,1359,1,0,0,0,245,1364,1,0,0,0,247,1370,1,0,0,0,249,1376,1,0,0,0,251,1386,1,0,0,0,253,1401,1,0,0,0,255,1409,1,0,0,0,257,1413,1,0,0,0,259,1419,1,0,0,0,261,1427,1,0,0,0,263,1435,1,0,0,0,265,1451,1,0,0,0,267,1464,1,0,0,0,269,1473,1,0,0,0,271,1479,1,0,0,0,273,1486,1,0,0,0,275,1492,1,0,0,0,277,1500,1,0,0,0,279,1505,1,0,0,0,281,1509,1,0,0,0,283,1513,1,0,0,0,285,1518,1,0,0,0,287,1523,1,0,0,0,289,1526,1,0,0,0,291,1531,1,0,0,0,293,1541,1,0,0,0,295,1545,1,0,0,0,297,1550,1,0,0,0,299,1557,1,0,0,0,301,1563,1,0,0,0,303,1570,1,0,0,0,305,1575,1,0,0,0,307,1578,1,0,0,0,309,1582,1,0,0,0,311,1587,1,0,0,0,313,1594,1,0,0,0,315,1597,1,0,0,0,317,1603,1,0,0,0,319,1614,1,0,0,0,321,1620,1,0,0,0,323,1627,1,0,0,0,325,1632,1,0,0,0,327,1642,1,0,0,0,329,1653,1,0,0,0,331,1658,1,0,0,0,333,1663,1,0,0,0,335,1671,1,0,0,0,337,1675,1,0,0,0,339,1683,1,0,0,0,341,1692,1,0,0,0,343,1702,1,0,0,0,345,1712,1,0,0,0,347,1720,1,0,0,0,349,1731,1,0,0,0,351,1742,1,0,0,0,353,1748,1,0,0,0,355,1753,1,0,0,0,357,1763,1,0,0,0,359,1771,1,0,0,0,361,1778,1,0,0,0,363,1789,1,0,0,0,365,1797,1,0,0,0,367,1803,1,0,0,0,369,1811,1,0,0,0,371,1820,1,0,0,0,373,1827,1,0,0,0,375,1833,1,0,0,0,377,1838,1,0,0,0,379,1844,1,0,0,0,381,1853,1,0,0,0,383,1860,1,0,0,0,385,1864,1,0,0,0,387,1869,1,0,0,0,389,1877,1,0,0,0,391,1884,1,0,0,0,393,1892,1,0,0,0,395,1899,1,0,0,0,397,1908,1,0,0,0,399,1913,1,0,0,0,401,1920,1,0,0,0,403,1933,1,0,0,0,405,1941,1,0,0,0,407,1945,1,0,0,0,409,1950,1,0,0,0,411,1955,1,0,0,0,413,1960,1,0,0,0,415,1966,1,0,0,0,417,1972,1,0,0,0,419,1979,1,0,0,0,421,1989,1,0,0,0,423,1996,1,0,0,0,425,2002,1,0,0,0,427,2009,1,0,0,0,429,2021,1,0,0,0,431,2026,1,0,0,0,433,2031,1,0,0,0,435,2036,1,0,0,0,437,2041,1,0,0,0,439,2051,1,0,0,0,441,2054,1,0,0,0,443,2066,1,0,0,0,445,2075,1,0,0,0,447,2080,1,0,0,0,449,2089,1,0,0,0,451,2094,1,0,0,0,453,2102,1,0,0,0,455,2112,1,0,0,0,457,2124,1,0,0,0,459,2130,1,0,0,0,461,2140,1,0,0,0,463,2147,1,0,0,0,465,2154,1,0,0,0,467,2158,1,0,0,0,469,2163,1,0,0,0,471,2169,1,0,0,0,473,2178,1,0,0,0,475,2185,1,0,0,0,477,2193,1,0,0,0,479,2198,1,0,0,0,481,2203,1,0,0,0,483,2209,1,0,0,0,485,2216,1,0,0,0,487,2221,1,0,0,0,489,2229,1,0,0,0,491,2234,1,0,0,0,493,2240,1,0,0,0,495,2245,1,0,0,0,497,2250,1,0,0,0,499,2256,1,0,0,0,501,2258,1,0,0,0,503,2260,1,0,0,0,505,2263,1,0,0,0,507,2265,1,0,0,0,509,2268,1,0,0,0,511,2270,1,0,0,0,513,2272,1,0,0,0,515,2274,1,0,0,0,517,2276,1,0,0,0,519,2278,1,0,0,0,521,2281,1,0,0,0,523,2283,1,0,0,0,525,2294,1,0,0,0,527,2308,1,0,0,0,529,2320,1,0,0,0,531,2342,1,0,0,0,533,2368,1,0,0,0,535,2372,1,0,0,0,537,2382,1,0,0,0,539,2390,1,0,0,0,541,2401,1,0,0,0,543,2412,1,0,0,0,545,2414,1,0,0,0,547,2423,1,0,0,0,549,2425,1,0,0,0,551,2427,1,0,0,0,553,2444,1,0,0,0,555,2459,1,0,0,0,557,2465,1,0,0,0,559,560,5,40,0,0,560,2,1,0,0,0,561,562,5,41,0,0,562,4,1,0,0,0,563,564,5,44,0,0,564,6,1,0,0,0,565,566,5,46,0,0,566,8,1,0,0,0,567,568,7,0,0,0,568,569,7,1,0,0,569,570,7,2,0,0,570,571,7,3,0,0,571,10,1,0,0,0,572,573,5,45,0,0,573,574,5,62,0,0,574,12,1,0,0,0,575,576,5,91,0,0,576,14,1,0,0,0,577,578,5,93,0,0,578,16,1,0,0,0,579,580,5,124,0,0,580,18,1,0,0,0,581,582,5,94,0,0,582,20,1,0,0,0,583,584,5,36,0,0,584,22,1,0,0,0,585,586,5,123,0,0,586,587,5,45,0,0,587,24,1,0,0,0,588,589,5,45,0,0,589,590,5,125,0,0,590,26,1,0,0,0,591,592,5,123,0,0,592,28,1,0,0,0,593,594,5,125,0,0,594,30,1,0,0,0,595,596,5,61,0,0,596,597,5,62,0,0,597,32,1,0,0,0,598,599,7,4,0,0,599,600,7,5,0,0,600,601,7,5,0,0,601,34,1,0,0,0,602,603,7,4,0,0,603,604,7,5,0,0,604,605,7,6,0,0,605,606,7,2,0,0,606,607,7,7,0,0,607,36,1,0,0,0,608,609,7,4,0,0,609,610,7,8,0,0,610,611,7,9,0,0,611,612,7,10,0,0,612,613,7,11,0,0,613,38,1,0,0,0,614,615,7,4,0,0,615,616,7,12,0,0,616,617,7,12,0,0,617,40,1,0,0,0,618,619,7,4,0,0,619,620,7,12,0,0,620,621,7,9,0,0,621,622,7,10,0,0,622,623,7,11,0,0,623,42,1,0,0,0,624,625,7,4,0,0,625,626,7,7,0,0,626,627,7,4,0,0,627,628,7,12,0,0,628,629,7,13,0,0,629,630,7,14,0,0,630,631,7,10,0,0,631,44,1,0,0,0,632,633,7,4,0,0,633,634,7,7,0,0,634,635,7,5,0,0,635,46,1,0,0,0,636,637,7,4,0,0,637,638,7,7,0,0,638,639,7,13,0,0,639,48,1,0,0,0,640,641,7,4,0,0,641,642,7,11,0,0,642,643,7,11,0,0,643,644,7,4,0,0,644,645,7,13,0,0,645,50,1,0,0,0,646,647,7,4,0,0,647,648,7,0,0,0,648,52,1,0,0,0,649,650,7,4,0,0,650,651,7,0,0,0,651,652,7,15,0,0,652,54,1,0,0,0,653,654,7,4,0,0,654,655,7,9,0,0,655,56,1,0,0,0,656,657,7,4,0,0,657,658,7,16,0,0,658,659,7,9,0,0,659,660,7,17,0,0,660,661,7,18,0,0,661,662,7,11,0,0,662,663,7,2,0,0,663,664,7,14,0,0,664,665,7,4,0,0,665,666,7,9,0,0,666,667,7,2,0,0,667,668,7,18,0,0,668,669,7,7,0,0,669,58,1,0,0,0,670,671,7,19,0,0,671,672,7,10,0,0,672,673,7,11,0,0,673,674,7,7,0,0,674,675,7,18,0,0,675,676,7,16,0,0,676,677,7,12,0,0,677,678,7,12,0,0,678,679,7,2,0,0,679,60,1,0,0,0,680,681,7,19,0,0,681,682,7,10,0,0,682,683,7,9,0,0,683,684,7,20,0,0,684,685,7,10,0,0,685,686,7,10,0,0,686,687,7,7,0,0,687,62,1,0,0,0,688,689,7,19,0,0,689,690,7,13,0,0,690,64,1,0,0,0,691,692,7,15,0,0,692,693,7,4,0,0,693,694,7,12,0,0,694,695,7,12,0,0,695,66,1,0,0,0,696,697,7,15,0,0,697,698,7,4,0,0,698,699,7,0,0,0,699,700,7,15,0,0,700,701,7,4,0,0,701,702,7,5,0,0,702,703,7,10,0,0,703,68,1,0,0,0,704,705,7,15,0,0,705,706,7,4,0,0,706,707,7,0,0,0,707,708,7,10,0,0,708,70,1,0,0,0,709,710,7,15,0,0,710,711,7,4,0,0,711,712,7,0,0,0,712,713,7,9,0,0,713,72,1,0,0,0,714,715,7,15,0,0,715,716,7,4,0,0,716,717,7,9,0,0,717,718,7,4,0,0,718,719,7,12,0,0,719,720,7,18,0,0,720,721,7,21,0,0,721,722,7,0,0,0,722,74,1,0,0,0,723,724,7,15,0,0,724,725,7,18,0,0,725,726,7,12,0,0,726,727,7,16,0,0,727,728,7,6,0,0,728,729,7,7,0,0,729,76,1,0,0,0,730,731,7,15,0,0,731,732,7,18,0,0,732,733,7,12,0,0,733,734,7,16,0,0,734,735,7,6,0,0,735,736,7,7,0,0,736,737,7,0,0,0,737,78,1,0,0,0,738,739,7,15,0,0,739,740,7,18,0,0,740,741,7,6,0,0,741,742,7,6,0,0,742,743,7,10,0,0,743,744,7,7,0,0,744,745,7,9,0,0,745,80,1,0,0,0,746,747,7,15,0,0,747,748,7,18,0,0,748,749,7,6,0,0,749,750,7,6,0,0,750,751,7,2,0,0,751,752,7,9,0,0,752,82,1,0,0,0,753,754,7,15,0,0,754,755,7,18,0,0,755,756,7,6,0,0,756,757,7,6,0,0,757,758,7,2,0,0,758,759,7,9,0,0,759,760,7,9,0,0,760,761,7,10,0,0,761,762,7,5,0,0,762,84,1,0,0,0,763,764,7,15,0,0,764,765,7,18,0,0,765,766,7,7,0,0,766,767,7,0,0,0,767,768,7,9,0,0,768,769,7,11,0,0,769,770,7,4,0,0,770,771,7,2,0,0,771,772,7,7,0,0,772,773,7,9,0,0,773,86,1,0,0,0,774,775,7,15,0,0,775,776,7,11,0,0,776,777,7,10,0,0,777,778,7,4,0,0,778,779,7,9,0,0,779,780,7,10,0,0,780,88,1,0,0,0,781,782,7,15,0,0,782,783,7,11,0,0,783,784,7,18,0,0,784,785,7,0,0,0,785,786,7,0,0,0,786,90,1,0,0,0,787,788,7,15,0,0,788,789,7,16,0,0,789,790,7,19,0,0,790,791,7,10,0,0,791,92,1,0,0,0,792,793,7,15,0,0,793,794,7,16,0,0,794,795,7,11,0,0,795,796,7,11,0,0,796,797,7,10,0,0,797,798,7,7,0,0,798,799,7,9,0,0,799,94,1,0,0,0,800,801,7,15,0,0,801,802,7,16,0,0,802,803,7,11,0,0,803,804,7,11,0,0,804,805,7,10,0,0,805,806,7,7,0,0,806,807,7,9,0,0,807,808,5,95,0,0,808,809,7,15,0,0,809,810,7,4,0,0,810,811,7,9,0,0,811,812,7,4,0,0,812,813,7,12,0,0,813,814,7,18,0,0,814,815,7,21,0,0,815,96,1,0,0,0,816,817,7,15,0,0,817,818,7,16,0,0,818,819,7,11,0,0,819,820,7,11,0,0,820,821,7,10,0,0,821,822,7,7,0,0,822,823,7,9,0,0,823,824,5,95,0,0,824,825,7,5,0,0,825,826,7,4,0,0,826,827,7,9,0,0,827,828,7,10,0,0,828,98,1,0,0,0,829,830,7,15,0,0,830,831,7,16,0,0,831,832,7,11,0,0,832,833,7,11,0,0,833,834,7,10,0,0,834,835,7,7,0,0,835,836,7,9,0,0,836,837,5,95,0,0,837,838,7,3,0,0,838,839,7,4,0,0,839,840,7,9,0,0,840,841,7,17,0,0,841,100,1,0,0,0,842,843,7,15,0,0,843,844,7,16,0,0,844,845,7,11,0,0,845,846,7,11,0,0,846,847,7,10,0,0,847,848,7,7,0,0,848,849,7,9,0,0,849,850,5,95,0,0,850,851,7,11,0,0,851,852,7,18,0,0,852,853,7,12,0,0,853,854,7,10,0,0,854,102,1,0,0,0,855,856,7,15,0,0,856,857,7,16,0,0,857,858,7,11,0,0,858,859,7,11,0,0,859,860,7,10,0,0,860,861,7,7,0,0,861,862,7,9,0,0,862,863,5,95,0,0,863,864,7,0,0,0,864,865,7,15,0,0,865,866,7,17,0,0,866,867,7,10,0,0,867,868,7,6,0,0,868,869,7,4,0,0,869,104,1,0,0,0,870,871,7,15,0,0,871,872,7,16,0,0,872,873,7,11,0,0,873,874,7,11,0,0,874,875,7,10,0,0,875,876,7,7,0,0,876,877,7,9,0,0,877,878,5,95,0,0,878,879,7,9,0,0,879,880,7,2,0,0,880,881,7,6,0,0,881,882,7,10,0,0,882,106,1,0,0,0,883,884,7,15,0,0,884,885,7,16,0,0,885,886,7,11,0,0,886,887,7,11,0,0,887,888,7,10,0,0,888,889,7,7,0,0,889,890,7,9,0,0,890,891,5,95,0,0,891,892,7,9,0,0,892,893,7,2,0,0,893,894,7,6,0,0,894,895,7,10,0,0,895,896,7,0,0,0,896,897,7,9,0,0,897,898,7,4,0,0,898,899,7,6,0,0,899,900,7,3,0,0,900,108,1,0,0,0,901,902,7,15,0,0,902,903,7,16,0,0,903,904,7,11,0,0,904,905,7,11,0,0,905,906,7,10,0,0,906,907,7,7,0,0,907,908,7,9,0,0,908,909,5,95,0,0,909,910,7,16,0,0,910,911,7,0,0,0,911,912,7,10,0,0,912,913,7,11,0,0,913,110,1,0,0,0,914,915,7,5,0,0,915,916,7,4,0,0,916,917,7,9,0,0,917,918,7,4,0,0,918,112,1,0,0,0,919,920,7,5,0,0,920,921,7,4,0,0,921,922,7,9,0,0,922,923,7,10,0,0,923,114,1,0,0,0,924,925,7,5,0,0,925,926,7,4,0,0,926,927,7,13,0,0,927,116,1,0,0,0,928,929,7,5,0,0,929,930,7,10,0,0,930,931,7,8,0,0,931,932,7,4,0,0,932,933,7,16,0,0,933,934,7,12,0,0,934,935,7,9,0,0,935,118,1,0,0,0,936,937,7,5,0,0,937,938,7,10,0,0,938,939,7,4,0,0,939,940,7,12,0,0,940,941,7,12,0,0,941,942,7,18,0,0,942,943,7,15,0,0,943,944,7,4,0,0,944,945,7,9,0,0,945,946,7,10,0,0,946,120,1,0,0,0,947,948,7,5,0,0,948,949,7,10,0,0,949,950,7,8,0,0,950,951,7,2,0,0,951,952,7,7,0,0,952,953,7,10,0,0,953,954,7,11,0,0,954,122,1,0,0,0,955,956,7,5,0,0,956,957,7,10,0,0,957,958,7,12,0,0,958,959,7,10,0,0,959,960,7,9,0,0,960,961,7,10,0,0,961,124,1,0,0,0,962,963,7,5,0,0,963,964,7,10,0,0,964,965,7,0,0,0,965,966,7,15,0,0,966,126,1,0,0,0,967,968,7,5,0,0,968,969,7,10,0,0,969,970,7,0,0,0,970,971,7,15,0,0,971,972,7,11,0,0,972,973,7,2,0,0,973,974,7,19,0,0,974,975,7,10,0,0,975,128,1,0,0,0,976,977,7,5,0,0,977,978,7,10,0,0,978,979,7,8,0,0,979,980,7,2,0,0,980,981,7,7,0,0,981,982,7,10,0,0,982,130,1,0,0,0,983,984,7,5,0,0,984,985,7,2,0,0,985,986,7,0,0,0,986,987,7,9,0,0,987,988,7,2,0,0,988,989,7,7,0,0,989,990,7,15,0,0,990,991,7,9,0,0,991,132,1,0,0,0,992,993,7,5,0,0,993,994,7,2,0,0,994,995,7,0,0,0,995,996,7,9,0,0,996,997,7,11,0,0,997,998,7,2,0,0,998,999,7,19,0,0,999,1e3,7,16,0,0,1e3,1001,7,9,0,0,1001,1002,7,10,0,0,1002,1003,7,5,0,0,1003,134,1,0,0,0,1004,1005,7,5,0,0,1005,1006,7,18,0,0,1006,1007,7,16,0,0,1007,1008,7,19,0,0,1008,1009,7,12,0,0,1009,1010,7,10,0,0,1010,136,1,0,0,0,1011,1012,7,5,0,0,1012,1013,7,11,0,0,1013,1014,7,18,0,0,1014,1015,7,3,0,0,1015,138,1,0,0,0,1016,1017,7,10,0,0,1017,1018,7,12,0,0,1018,1019,7,0,0,0,1019,1020,7,10,0,0,1020,140,1,0,0,0,1021,1022,7,10,0,0,1022,1023,7,6,0,0,1023,1024,7,3,0,0,1024,1025,7,9,0,0,1025,1026,7,13,0,0,1026,142,1,0,0,0,1027,1028,7,10,0,0,1028,1029,7,7,0,0,1029,1030,7,5,0,0,1030,144,1,0,0,0,1031,1032,7,10,0,0,1032,1033,7,0,0,0,1033,1034,7,15,0,0,1034,1035,7,4,0,0,1035,1036,7,3,0,0,1036,1037,7,10,0,0,1037,146,1,0,0,0,1038,1039,7,10,0,0,1039,1040,7,22,0,0,1040,1041,7,15,0,0,1041,1042,7,10,0,0,1042,1043,7,3,0,0,1043,1044,7,9,0,0,1044,148,1,0,0,0,1045,1046,7,10,0,0,1046,1047,7,22,0,0,1047,1048,7,15,0,0,1048,1049,7,12,0,0,1049,1050,7,16,0,0,1050,1051,7,5,0,0,1051,1052,7,2,0,0,1052,1053,7,7,0,0,1053,1054,7,21,0,0,1054,150,1,0,0,0,1055,1056,7,10,0,0,1056,1057,7,22,0,0,1057,1058,7,10,0,0,1058,1059,7,15,0,0,1059,1060,7,16,0,0,1060,1061,7,9,0,0,1061,1062,7,10,0,0,1062,152,1,0,0,0,1063,1064,7,10,0,0,1064,1065,7,22,0,0,1065,1066,7,2,0,0,1066,1067,7,0,0,0,1067,1068,7,9,0,0,1068,1069,7,0,0,0,1069,154,1,0,0,0,1070,1071,7,10,0,0,1071,1072,7,22,0,0,1072,1073,7,3,0,0,1073,1074,7,12,0,0,1074,1075,7,4,0,0,1075,1076,7,2,0,0,1076,1077,7,7,0,0,1077,156,1,0,0,0,1078,1079,7,10,0,0,1079,1080,7,22,0,0,1080,1081,7,9,0,0,1081,1082,7,11,0,0,1082,1083,7,4,0,0,1083,1084,7,15,0,0,1084,1085,7,9,0,0,1085,158,1,0,0,0,1086,1087,7,8,0,0,1087,1088,7,4,0,0,1088,1089,7,12,0,0,1089,1090,7,0,0,0,1090,1091,7,10,0,0,1091,160,1,0,0,0,1092,1093,7,8,0,0,1093,1094,7,10,0,0,1094,1095,7,9,0,0,1095,1096,7,15,0,0,1096,1097,7,17,0,0,1097,162,1,0,0,0,1098,1099,7,8,0,0,1099,1100,7,2,0,0,1100,1101,7,12,0,0,1101,1102,7,9,0,0,1102,1103,7,10,0,0,1103,1104,7,11,0,0,1104,164,1,0,0,0,1105,1106,7,8,0,0,1106,1107,7,2,0,0,1107,1108,7,7,0,0,1108,1109,7,4,0,0,1109,1110,7,12,0,0,1110,166,1,0,0,0,1111,1112,7,8,0,0,1112,1113,7,2,0,0,1113,1114,7,11,0,0,1114,1115,7,0,0,0,1115,1116,7,9,0,0,1116,168,1,0,0,0,1117,1118,7,8,0,0,1118,1119,7,18,0,0,1119,1120,7,12,0,0,1120,1121,7,12,0,0,1121,1122,7,18,0,0,1122,1123,7,20,0,0,1123,1124,7,2,0,0,1124,1125,7,7,0,0,1125,1126,7,21,0,0,1126,170,1,0,0,0,1127,1128,7,8,0,0,1128,1129,7,18,0,0,1129,1130,7,11,0,0,1130,172,1,0,0,0,1131,1132,7,8,0,0,1132,1133,7,18,0,0,1133,1134,7,11,0,0,1134,1135,7,6,0,0,1135,1136,7,4,0,0,1136,1137,7,9,0,0,1137,174,1,0,0,0,1138,1139,7,8,0,0,1139,1140,7,11,0,0,1140,1141,7,18,0,0,1141,1142,7,6,0,0,1142,176,1,0,0,0,1143,1144,7,8,0,0,1144,1145,7,16,0,0,1145,1146,7,12,0,0,1146,1147,7,12,0,0,1147,178,1,0,0,0,1148,1149,7,8,0,0,1149,1150,7,16,0,0,1150,1151,7,7,0,0,1151,1152,7,15,0,0,1152,1153,7,9,0,0,1153,1154,7,2,0,0,1154,1155,7,18,0,0,1155,1156,7,7,0,0,1156,1157,7,0,0,0,1157,180,1,0,0,0,1158,1159,7,21,0,0,1159,1160,7,11,0,0,1160,1161,7,4,0,0,1161,1162,7,7,0,0,1162,1163,7,9,0,0,1163,182,1,0,0,0,1164,1165,7,21,0,0,1165,1166,7,11,0,0,1166,1167,7,4,0,0,1167,1168,7,7,0,0,1168,1169,7,9,0,0,1169,1170,7,10,0,0,1170,1171,7,5,0,0,1171,184,1,0,0,0,1172,1173,7,21,0,0,1173,1174,7,11,0,0,1174,1175,7,4,0,0,1175,1176,7,7,0,0,1176,1177,7,9,0,0,1177,1178,7,0,0,0,1178,186,1,0,0,0,1179,1180,7,5,0,0,1180,1181,7,10,0,0,1181,1182,7,7,0,0,1182,1183,7,13,0,0,1183,188,1,0,0,0,1184,1185,7,21,0,0,1185,1186,7,11,0,0,1186,1187,7,4,0,0,1187,1188,7,3,0,0,1188,1189,7,17,0,0,1189,1190,7,23,0,0,1190,1191,7,2,0,0,1191,1192,7,14,0,0,1192,190,1,0,0,0,1193,1194,7,21,0,0,1194,1195,7,11,0,0,1195,1196,7,18,0,0,1196,1197,7,16,0,0,1197,1198,7,3,0,0,1198,192,1,0,0,0,1199,1200,7,21,0,0,1200,1201,7,11,0,0,1201,1202,7,18,0,0,1202,1203,7,16,0,0,1203,1204,7,3,0,0,1204,1205,7,2,0,0,1205,1206,7,7,0,0,1206,1207,7,21,0,0,1207,194,1,0,0,0,1208,1209,7,21,0,0,1209,1210,7,11,0,0,1210,1211,7,18,0,0,1211,1212,7,16,0,0,1212,1213,7,3,0,0,1213,1214,7,0,0,0,1214,196,1,0,0,0,1215,1216,7,17,0,0,1216,1217,7,4,0,0,1217,1218,7,23,0,0,1218,1219,7,2,0,0,1219,1220,7,7,0,0,1220,1221,7,21,0,0,1221,198,1,0,0,0,1222,1223,7,17,0,0,1223,1224,7,18,0,0,1224,1225,7,16,0,0,1225,1226,7,11,0,0,1226,200,1,0,0,0,1227,1228,7,2,0,0,1228,1229,7,8,0,0,1229,202,1,0,0,0,1230,1231,7,2,0,0,1231,1232,7,21,0,0,1232,1233,7,7,0,0,1233,1234,7,18,0,0,1234,1235,7,11,0,0,1235,1236,7,10,0,0,1236,204,1,0,0,0,1237,1238,7,2,0,0,1238,1239,7,7,0,0,1239,206,1,0,0,0,1240,1241,7,2,0,0,1241,1242,7,7,0,0,1242,1243,7,15,0,0,1243,1244,7,12,0,0,1244,1245,7,16,0,0,1245,1246,7,5,0,0,1246,1247,7,2,0,0,1247,1248,7,7,0,0,1248,1249,7,21,0,0,1249,208,1,0,0,0,1250,1251,7,2,0,0,1251,1252,7,7,0,0,1252,1253,7,2,0,0,1253,1254,7,9,0,0,1254,1255,7,2,0,0,1255,1256,7,4,0,0,1256,1257,7,12,0,0,1257,210,1,0,0,0,1258,1259,7,2,0,0,1259,1260,7,7,0,0,1260,1261,7,7,0,0,1261,1262,7,10,0,0,1262,1263,7,11,0,0,1263,212,1,0,0,0,1264,1265,7,2,0,0,1265,1266,7,7,0,0,1266,1267,7,3,0,0,1267,1268,7,16,0,0,1268,1269,7,9,0,0,1269,214,1,0,0,0,1270,1271,7,2,0,0,1271,1272,7,7,0,0,1272,1273,7,0,0,0,1273,1274,7,10,0,0,1274,1275,7,11,0,0,1275,1276,7,9,0,0,1276,216,1,0,0,0,1277,1278,7,2,0,0,1278,1279,7,7,0,0,1279,1280,7,9,0,0,1280,1281,7,10,0,0,1281,1282,7,11,0,0,1282,1283,7,0,0,0,1283,1284,7,10,0,0,1284,1285,7,15,0,0,1285,1286,7,9,0,0,1286,218,1,0,0,0,1287,1288,7,2,0,0,1288,1289,7,7,0,0,1289,1290,7,9,0,0,1290,1291,7,10,0,0,1291,1292,7,11,0,0,1292,1293,7,23,0,0,1293,1294,7,4,0,0,1294,1295,7,12,0,0,1295,220,1,0,0,0,1296,1297,7,2,0,0,1297,1298,7,7,0,0,1298,1299,7,9,0,0,1299,1300,7,18,0,0,1300,222,1,0,0,0,1301,1302,7,2,0,0,1302,1303,7,7,0,0,1303,1304,7,23,0,0,1304,1305,7,18,0,0,1305,1306,7,1,0,0,1306,1307,7,10,0,0,1307,1308,7,11,0,0,1308,224,1,0,0,0,1309,1310,7,2,0,0,1310,1311,7,18,0,0,1311,226,1,0,0,0,1312,1313,7,2,0,0,1313,1314,7,0,0,0,1314,228,1,0,0,0,1315,1316,7,2,0,0,1316,1317,7,0,0,0,1317,1318,7,18,0,0,1318,1319,7,12,0,0,1319,1320,7,4,0,0,1320,1321,7,9,0,0,1321,1322,7,2,0,0,1322,1323,7,18,0,0,1323,1324,7,7,0,0,1324,230,1,0,0,0,1325,1326,7,24,0,0,1326,1327,7,18,0,0,1327,1328,7,2,0,0,1328,1329,7,7,0,0,1329,232,1,0,0,0,1330,1331,7,24,0,0,1331,1332,7,0,0,0,1332,1333,7,18,0,0,1333,1334,7,7,0,0,1334,234,1,0,0,0,1335,1336,7,12,0,0,1336,1337,7,4,0,0,1337,1338,7,0,0,0,1338,1339,7,9,0,0,1339,236,1,0,0,0,1340,1341,7,12,0,0,1341,1342,7,4,0,0,1342,1343,7,9,0,0,1343,1344,7,10,0,0,1344,1345,7,11,0,0,1345,1346,7,4,0,0,1346,1347,7,12,0,0,1347,238,1,0,0,0,1348,1349,7,12,0,0,1349,1350,7,10,0,0,1350,1351,7,8,0,0,1351,1352,7,9,0,0,1352,240,1,0,0,0,1353,1354,7,12,0,0,1354,1355,7,10,0,0,1355,1356,7,23,0,0,1356,1357,7,10,0,0,1357,1358,7,12,0,0,1358,242,1,0,0,0,1359,1360,7,12,0,0,1360,1361,7,2,0,0,1361,1362,7,1,0,0,1362,1363,7,10,0,0,1363,244,1,0,0,0,1364,1365,7,12,0,0,1365,1366,7,2,0,0,1366,1367,7,6,0,0,1367,1368,7,2,0,0,1368,1369,7,9,0,0,1369,246,1,0,0,0,1370,1371,7,12,0,0,1371,1372,7,18,0,0,1372,1373,7,15,0,0,1373,1374,7,4,0,0,1374,1375,7,12,0,0,1375,248,1,0,0,0,1376,1377,7,12,0,0,1377,1378,7,18,0,0,1378,1379,7,15,0,0,1379,1380,7,4,0,0,1380,1381,7,12,0,0,1381,1382,7,9,0,0,1382,1383,7,2,0,0,1383,1384,7,6,0,0,1384,1385,7,10,0,0,1385,250,1,0,0,0,1386,1387,7,12,0,0,1387,1388,7,18,0,0,1388,1389,7,15,0,0,1389,1390,7,4,0,0,1390,1391,7,12,0,0,1391,1392,7,9,0,0,1392,1393,7,2,0,0,1393,1394,7,6,0,0,1394,1395,7,10,0,0,1395,1396,7,0,0,0,1396,1397,7,9,0,0,1397,1398,7,4,0,0,1398,1399,7,6,0,0,1399,1400,7,3,0,0,1400,252,1,0,0,0,1401,1402,7,12,0,0,1402,1403,7,18,0,0,1403,1404,7,21,0,0,1404,1405,7,2,0,0,1405,1406,7,15,0,0,1406,1407,7,4,0,0,1407,1408,7,12,0,0,1408,254,1,0,0,0,1409,1410,7,6,0,0,1410,1411,7,4,0,0,1411,1412,7,3,0,0,1412,256,1,0,0,0,1413,1414,7,6,0,0,1414,1415,7,4,0,0,1415,1416,7,9,0,0,1416,1417,7,15,0,0,1417,1418,7,17,0,0,1418,258,1,0,0,0,1419,1420,7,6,0,0,1420,1421,7,4,0,0,1421,1422,7,9,0,0,1422,1423,7,15,0,0,1423,1424,7,17,0,0,1424,1425,7,10,0,0,1425,1426,7,5,0,0,1426,260,1,0,0,0,1427,1428,7,6,0,0,1428,1429,7,4,0,0,1429,1430,7,9,0,0,1430,1431,7,15,0,0,1431,1432,7,17,0,0,1432,1433,7,10,0,0,1433,1434,7,0,0,0,1434,262,1,0,0,0,1435,1436,7,6,0,0,1436,1437,7,4,0,0,1437,1438,7,9,0,0,1438,1439,7,15,0,0,1439,1440,7,17,0,0,1440,1441,5,95,0,0,1441,1442,7,11,0,0,1442,1443,7,10,0,0,1443,1444,7,15,0,0,1444,1445,7,18,0,0,1445,1446,7,21,0,0,1446,1447,7,7,0,0,1447,1448,7,2,0,0,1448,1449,7,14,0,0,1449,1450,7,10,0,0,1450,264,1,0,0,0,1451,1452,7,6,0,0,1452,1453,7,4,0,0,1453,1454,7,9,0,0,1454,1455,7,10,0,0,1455,1456,7,11,0,0,1456,1457,7,2,0,0,1457,1458,7,4,0,0,1458,1459,7,12,0,0,1459,1460,7,2,0,0,1460,1461,7,14,0,0,1461,1462,7,10,0,0,1462,1463,7,5,0,0,1463,266,1,0,0,0,1464,1465,7,6,0,0,1465,1466,7,10,0,0,1466,1467,7,4,0,0,1467,1468,7,0,0,0,1468,1469,7,16,0,0,1469,1470,7,11,0,0,1470,1471,7,10,0,0,1471,1472,7,0,0,0,1472,268,1,0,0,0,1473,1474,7,6,0,0,1474,1475,7,10,0,0,1475,1476,7,11,0,0,1476,1477,7,21,0,0,1477,1478,7,10,0,0,1478,270,1,0,0,0,1479,1480,7,6,0,0,1480,1481,7,2,0,0,1481,1482,7,7,0,0,1482,1483,7,16,0,0,1483,1484,7,9,0,0,1484,1485,7,10,0,0,1485,272,1,0,0,0,1486,1487,7,6,0,0,1487,1488,7,18,0,0,1488,1489,7,7,0,0,1489,1490,7,9,0,0,1490,1491,7,17,0,0,1491,274,1,0,0,0,1492,1493,7,7,0,0,1493,1494,7,4,0,0,1494,1495,7,9,0,0,1495,1496,7,16,0,0,1496,1497,7,11,0,0,1497,1498,7,4,0,0,1498,1499,7,12,0,0,1499,276,1,0,0,0,1500,1501,7,7,0,0,1501,1502,7,10,0,0,1502,1503,7,22,0,0,1503,1504,7,9,0,0,1504,278,1,0,0,0,1505,1506,7,7,0,0,1506,1507,7,8,0,0,1507,1508,7,15,0,0,1508,280,1,0,0,0,1509,1510,7,7,0,0,1510,1511,7,8,0,0,1511,1512,7,5,0,0,1512,282,1,0,0,0,1513,1514,7,7,0,0,1514,1515,7,8,0,0,1515,1516,7,1,0,0,1516,1517,7,15,0,0,1517,284,1,0,0,0,1518,1519,7,7,0,0,1519,1520,7,8,0,0,1520,1521,7,1,0,0,1521,1522,7,5,0,0,1522,286,1,0,0,0,1523,1524,7,7,0,0,1524,1525,7,18,0,0,1525,288,1,0,0,0,1526,1527,7,7,0,0,1527,1528,7,18,0,0,1528,1529,7,7,0,0,1529,1530,7,10,0,0,1530,290,1,0,0,0,1531,1532,7,7,0,0,1532,1533,7,18,0,0,1533,1534,7,11,0,0,1534,1535,7,6,0,0,1535,1536,7,4,0,0,1536,1537,7,12,0,0,1537,1538,7,2,0,0,1538,1539,7,14,0,0,1539,1540,7,10,0,0,1540,292,1,0,0,0,1541,1542,7,7,0,0,1542,1543,7,18,0,0,1543,1544,7,9,0,0,1544,294,1,0,0,0,1545,1546,7,7,0,0,1546,1547,7,16,0,0,1547,1548,7,12,0,0,1548,1549,7,12,0,0,1549,296,1,0,0,0,1550,1551,7,7,0,0,1551,1552,7,16,0,0,1552,1553,7,12,0,0,1553,1554,7,12,0,0,1554,1555,7,2,0,0,1555,1556,7,8,0,0,1556,298,1,0,0,0,1557,1558,7,7,0,0,1558,1559,7,16,0,0,1559,1560,7,12,0,0,1560,1561,7,12,0,0,1561,1562,7,0,0,0,1562,300,1,0,0,0,1563,1564,7,18,0,0,1564,1565,7,8,0,0,1565,1566,7,8,0,0,1566,1567,7,0,0,0,1567,1568,7,10,0,0,1568,1569,7,9,0,0,1569,302,1,0,0,0,1570,1571,7,18,0,0,1571,1572,7,6,0,0,1572,1573,7,2,0,0,1573,1574,7,9,0,0,1574,304,1,0,0,0,1575,1576,7,18,0,0,1576,1577,7,7,0,0,1577,306,1,0,0,0,1578,1579,7,18,0,0,1579,1580,7,7,0,0,1580,1581,7,10,0,0,1581,308,1,0,0,0,1582,1583,7,18,0,0,1583,1584,7,7,0,0,1584,1585,7,12,0,0,1585,1586,7,13,0,0,1586,310,1,0,0,0,1587,1588,7,18,0,0,1588,1589,7,3,0,0,1589,1590,7,9,0,0,1590,1591,7,2,0,0,1591,1592,7,18,0,0,1592,1593,7,7,0,0,1593,312,1,0,0,0,1594,1595,7,18,0,0,1595,1596,7,11,0,0,1596,314,1,0,0,0,1597,1598,7,18,0,0,1598,1599,7,11,0,0,1599,1600,7,5,0,0,1600,1601,7,10,0,0,1601,1602,7,11,0,0,1602,316,1,0,0,0,1603,1604,7,18,0,0,1604,1605,7,11,0,0,1605,1606,7,5,0,0,1606,1607,7,2,0,0,1607,1608,7,7,0,0,1608,1609,7,4,0,0,1609,1610,7,12,0,0,1610,1611,7,2,0,0,1611,1612,7,9,0,0,1612,1613,7,13,0,0,1613,318,1,0,0,0,1614,1615,7,18,0,0,1615,1616,7,16,0,0,1616,1617,7,9,0,0,1617,1618,7,10,0,0,1618,1619,7,11,0,0,1619,320,1,0,0,0,1620,1621,7,18,0,0,1621,1622,7,16,0,0,1622,1623,7,9,0,0,1623,1624,7,3,0,0,1624,1625,7,16,0,0,1625,1626,7,9,0,0,1626,322,1,0,0,0,1627,1628,7,18,0,0,1628,1629,7,23,0,0,1629,1630,7,10,0,0,1630,1631,7,11,0,0,1631,324,1,0,0,0,1632,1633,7,3,0,0,1633,1634,7,4,0,0,1634,1635,7,11,0,0,1635,1636,7,9,0,0,1636,1637,7,2,0,0,1637,1638,7,9,0,0,1638,1639,7,2,0,0,1639,1640,7,18,0,0,1640,1641,7,7,0,0,1641,326,1,0,0,0,1642,1643,7,3,0,0,1643,1644,7,4,0,0,1644,1645,7,11,0,0,1645,1646,7,9,0,0,1646,1647,7,2,0,0,1647,1648,7,9,0,0,1648,1649,7,2,0,0,1649,1650,7,18,0,0,1650,1651,7,7,0,0,1651,1652,7,0,0,0,1652,328,1,0,0,0,1653,1654,7,3,0,0,1654,1655,7,4,0,0,1655,1656,7,0,0,0,1656,1657,7,9,0,0,1657,330,1,0,0,0,1658,1659,7,3,0,0,1659,1660,7,4,0,0,1660,1661,7,9,0,0,1661,1662,7,17,0,0,1662,332,1,0,0,0,1663,1664,7,3,0,0,1664,1665,7,4,0,0,1665,1666,7,9,0,0,1666,1667,7,9,0,0,1667,1668,7,10,0,0,1668,1669,7,11,0,0,1669,1670,7,7,0,0,1670,334,1,0,0,0,1671,1672,7,3,0,0,1672,1673,7,10,0,0,1673,1674,7,11,0,0,1674,336,1,0,0,0,1675,1676,7,3,0,0,1676,1677,7,10,0,0,1677,1678,7,11,0,0,1678,1679,7,6,0,0,1679,1680,7,16,0,0,1680,1681,7,9,0,0,1681,1682,7,10,0,0,1682,338,1,0,0,0,1683,1684,7,3,0,0,1684,1685,7,18,0,0,1685,1686,7,0,0,0,1686,1687,7,2,0,0,1687,1688,7,9,0,0,1688,1689,7,2,0,0,1689,1690,7,18,0,0,1690,1691,7,7,0,0,1691,340,1,0,0,0,1692,1693,7,3,0,0,1693,1694,7,11,0,0,1694,1695,7,10,0,0,1695,1696,7,15,0,0,1696,1697,7,10,0,0,1697,1698,7,5,0,0,1698,1699,7,2,0,0,1699,1700,7,7,0,0,1700,1701,7,21,0,0,1701,342,1,0,0,0,1702,1703,7,3,0,0,1703,1704,7,11,0,0,1704,1705,7,10,0,0,1705,1706,7,15,0,0,1706,1707,7,2,0,0,1707,1708,7,0,0,0,1708,1709,7,2,0,0,1709,1710,7,18,0,0,1710,1711,7,7,0,0,1711,344,1,0,0,0,1712,1713,7,3,0,0,1713,1714,7,11,0,0,1714,1715,7,10,0,0,1715,1716,7,3,0,0,1716,1717,7,4,0,0,1717,1718,7,11,0,0,1718,1719,7,10,0,0,1719,346,1,0,0,0,1720,1721,7,3,0,0,1721,1722,7,11,0,0,1722,1723,7,2,0,0,1723,1724,7,23,0,0,1724,1725,7,2,0,0,1725,1726,7,12,0,0,1726,1727,7,10,0,0,1727,1728,7,21,0,0,1728,1729,7,10,0,0,1729,1730,7,0,0,0,1730,348,1,0,0,0,1731,1732,7,3,0,0,1732,1733,7,11,0,0,1733,1734,7,18,0,0,1734,1735,7,3,0,0,1735,1736,7,10,0,0,1736,1737,7,11,0,0,1737,1738,7,9,0,0,1738,1739,7,2,0,0,1739,1740,7,10,0,0,1740,1741,7,0,0,0,1741,350,1,0,0,0,1742,1743,7,11,0,0,1743,1744,7,4,0,0,1744,1745,7,7,0,0,1745,1746,7,21,0,0,1746,1747,7,10,0,0,1747,352,1,0,0,0,1748,1749,7,11,0,0,1749,1750,7,10,0,0,1750,1751,7,4,0,0,1751,1752,7,5,0,0,1752,354,1,0,0,0,1753,1754,7,11,0,0,1754,1755,7,10,0,0,1755,1756,7,15,0,0,1756,1757,7,16,0,0,1757,1758,7,11,0,0,1758,1759,7,0,0,0,1759,1760,7,2,0,0,1760,1761,7,23,0,0,1761,1762,7,10,0,0,1762,356,1,0,0,0,1763,1764,7,11,0,0,1764,1765,7,10,0,0,1765,1766,7,8,0,0,1766,1767,7,11,0,0,1767,1768,7,10,0,0,1768,1769,7,0,0,0,1769,1770,7,17,0,0,1770,358,1,0,0,0,1771,1772,7,11,0,0,1772,1773,7,10,0,0,1773,1774,7,7,0,0,1774,1775,7,4,0,0,1775,1776,7,6,0,0,1776,1777,7,10,0,0,1777,360,1,0,0,0,1778,1779,7,11,0,0,1779,1780,7,10,0,0,1780,1781,7,3,0,0,1781,1782,7,10,0,0,1782,1783,7,4,0,0,1783,1784,7,9,0,0,1784,1785,7,4,0,0,1785,1786,7,19,0,0,1786,1787,7,12,0,0,1787,1788,7,10,0,0,1788,362,1,0,0,0,1789,1790,7,11,0,0,1790,1791,7,10,0,0,1791,1792,7,3,0,0,1792,1793,7,12,0,0,1793,1794,7,4,0,0,1794,1795,7,15,0,0,1795,1796,7,10,0,0,1796,364,1,0,0,0,1797,1798,7,11,0,0,1798,1799,7,10,0,0,1799,1800,7,0,0,0,1800,1801,7,10,0,0,1801,1802,7,9,0,0,1802,366,1,0,0,0,1803,1804,7,11,0,0,1804,1805,7,10,0,0,1805,1806,7,0,0,0,1806,1807,7,3,0,0,1807,1808,7,10,0,0,1808,1809,7,15,0,0,1809,1810,7,9,0,0,1810,368,1,0,0,0,1811,1812,7,11,0,0,1812,1813,7,10,0,0,1813,1814,7,0,0,0,1814,1815,7,9,0,0,1815,1816,7,11,0,0,1816,1817,7,2,0,0,1817,1818,7,15,0,0,1818,1819,7,9,0,0,1819,370,1,0,0,0,1820,1821,7,11,0,0,1821,1822,7,10,0,0,1822,1823,7,23,0,0,1823,1824,7,18,0,0,1824,1825,7,1,0,0,1825,1826,7,10,0,0,1826,372,1,0,0,0,1827,1828,7,11,0,0,1828,1829,7,2,0,0,1829,1830,7,21,0,0,1830,1831,7,17,0,0,1831,1832,7,9,0,0,1832,374,1,0,0,0,1833,1834,7,11,0,0,1834,1835,7,18,0,0,1835,1836,7,12,0,0,1836,1837,7,10,0,0,1837,376,1,0,0,0,1838,1839,7,11,0,0,1839,1840,7,18,0,0,1840,1841,7,12,0,0,1841,1842,7,10,0,0,1842,1843,7,0,0,0,1843,378,1,0,0,0,1844,1845,7,11,0,0,1845,1846,7,18,0,0,1846,1847,7,12,0,0,1847,1848,7,12,0,0,1848,1849,7,19,0,0,1849,1850,7,4,0,0,1850,1851,7,15,0,0,1851,1852,7,1,0,0,1852,380,1,0,0,0,1853,1854,7,11,0,0,1854,1855,7,18,0,0,1855,1856,7,12,0,0,1856,1857,7,12,0,0,1857,1858,7,16,0,0,1858,1859,7,3,0,0,1859,382,1,0,0,0,1860,1861,7,11,0,0,1861,1862,7,18,0,0,1862,1863,7,20,0,0,1863,384,1,0,0,0,1864,1865,7,11,0,0,1865,1866,7,18,0,0,1866,1867,7,20,0,0,1867,1868,7,0,0,0,1868,386,1,0,0,0,1869,1870,7,11,0,0,1870,1871,7,16,0,0,1871,1872,7,7,0,0,1872,1873,7,7,0,0,1873,1874,7,2,0,0,1874,1875,7,7,0,0,1875,1876,7,21,0,0,1876,388,1,0,0,0,1877,1878,7,0,0,0,1878,1879,7,15,0,0,1879,1880,7,17,0,0,1880,1881,7,10,0,0,1881,1882,7,6,0,0,1882,1883,7,4,0,0,1883,390,1,0,0,0,1884,1885,7,0,0,0,1885,1886,7,15,0,0,1886,1887,7,17,0,0,1887,1888,7,10,0,0,1888,1889,7,6,0,0,1889,1890,7,4,0,0,1890,1891,7,0,0,0,1891,392,1,0,0,0,1892,1893,7,0,0,0,1893,1894,7,10,0,0,1894,1895,7,15,0,0,1895,1896,7,18,0,0,1896,1897,7,7,0,0,1897,1898,7,5,0,0,1898,394,1,0,0,0,1899,1900,7,0,0,0,1900,1901,7,10,0,0,1901,1902,7,15,0,0,1902,1903,7,16,0,0,1903,1904,7,11,0,0,1904,1905,7,2,0,0,1905,1906,7,9,0,0,1906,1907,7,13,0,0,1907,396,1,0,0,0,1908,1909,7,0,0,0,1909,1910,7,10,0,0,1910,1911,7,10,0,0,1911,1912,7,1,0,0,1912,398,1,0,0,0,1913,1914,7,0,0,0,1914,1915,7,10,0,0,1915,1916,7,12,0,0,1916,1917,7,10,0,0,1917,1918,7,15,0,0,1918,1919,7,9,0,0,1919,400,1,0,0,0,1920,1921,7,0,0,0,1921,1922,7,10,0,0,1922,1923,7,11,0,0,1923,1924,7,2,0,0,1924,1925,7,4,0,0,1925,1926,7,12,0,0,1926,1927,7,2,0,0,1927,1928,7,14,0,0,1928,1929,7,4,0,0,1929,1930,7,19,0,0,1930,1931,7,12,0,0,1931,1932,7,10,0,0,1932,402,1,0,0,0,1933,1934,7,0,0,0,1934,1935,7,10,0,0,1935,1936,7,0,0,0,1936,1937,7,0,0,0,1937,1938,7,2,0,0,1938,1939,7,18,0,0,1939,1940,7,7,0,0,1940,404,1,0,0,0,1941,1942,7,0,0,0,1942,1943,7,10,0,0,1943,1944,7,9,0,0,1944,406,1,0,0,0,1945,1946,7,0,0,0,1946,1947,7,10,0,0,1947,1948,7,9,0,0,1948,1949,7,0,0,0,1949,408,1,0,0,0,1950,1951,7,0,0,0,1951,1952,7,17,0,0,1952,1953,7,18,0,0,1953,1954,7,20,0,0,1954,410,1,0,0,0,1955,1956,7,0,0,0,1956,1957,7,18,0,0,1957,1958,7,6,0,0,1958,1959,7,10,0,0,1959,412,1,0,0,0,1960,1961,7,0,0,0,1961,1962,7,9,0,0,1962,1963,7,4,0,0,1963,1964,7,11,0,0,1964,1965,7,9,0,0,1965,414,1,0,0,0,1966,1967,7,0,0,0,1967,1968,7,9,0,0,1968,1969,7,4,0,0,1969,1970,7,9,0,0,1970,1971,7,0,0,0,1971,416,1,0,0,0,1972,1973,7,0,0,0,1973,1974,7,16,0,0,1974,1975,7,19,0,0,1975,1976,7,0,0,0,1976,1977,7,10,0,0,1977,1978,7,9,0,0,1978,418,1,0,0,0,1979,1980,7,0,0,0,1980,1981,7,16,0,0,1981,1982,7,19,0,0,1982,1983,7,0,0,0,1983,1984,7,9,0,0,1984,1985,7,11,0,0,1985,1986,7,2,0,0,1986,1987,7,7,0,0,1987,1988,7,21,0,0,1988,420,1,0,0,0,1989,1990,7,0,0,0,1990,1991,7,13,0,0,1991,1992,7,0,0,0,1992,1993,7,9,0,0,1993,1994,7,10,0,0,1994,1995,7,6,0,0,1995,422,1,0,0,0,1996,1997,7,9,0,0,1997,1998,7,4,0,0,1998,1999,7,19,0,0,1999,2e3,7,12,0,0,2e3,2001,7,10,0,0,2001,424,1,0,0,0,2002,2003,7,9,0,0,2003,2004,7,4,0,0,2004,2005,7,19,0,0,2005,2006,7,12,0,0,2006,2007,7,10,0,0,2007,2008,7,0,0,0,2008,426,1,0,0,0,2009,2010,7,9,0,0,2010,2011,7,4,0,0,2011,2012,7,19,0,0,2012,2013,7,12,0,0,2013,2014,7,10,0,0,2014,2015,7,0,0,0,2015,2016,7,4,0,0,2016,2017,7,6,0,0,2017,2018,7,3,0,0,2018,2019,7,12,0,0,2019,2020,7,10,0,0,2020,428,1,0,0,0,2021,2022,7,9,0,0,2022,2023,7,10,0,0,2023,2024,7,22,0,0,2024,2025,7,9,0,0,2025,430,1,0,0,0,2026,2027,7,9,0,0,2027,2028,7,17,0,0,2028,2029,7,10,0,0,2029,2030,7,7,0,0,2030,432,1,0,0,0,2031,2032,7,9,0,0,2032,2033,7,2,0,0,2033,2034,7,10,0,0,2034,2035,7,0,0,0,2035,434,1,0,0,0,2036,2037,7,9,0,0,2037,2038,7,2,0,0,2038,2039,7,6,0,0,2039,2040,7,10,0,0,2040,436,1,0,0,0,2041,2042,7,9,0,0,2042,2043,7,2,0,0,2043,2044,7,6,0,0,2044,2045,7,10,0,0,2045,2046,7,0,0,0,2046,2047,7,9,0,0,2047,2048,7,4,0,0,2048,2049,7,6,0,0,2049,2050,7,3,0,0,2050,438,1,0,0,0,2051,2052,7,9,0,0,2052,2053,7,18,0,0,2053,440,1,0,0,0,2054,2055,7,9,0,0,2055,2056,7,11,0,0,2056,2057,7,4,0,0,2057,2058,7,7,0,0,2058,2059,7,0,0,0,2059,2060,7,4,0,0,2060,2061,7,15,0,0,2061,2062,7,9,0,0,2062,2063,7,2,0,0,2063,2064,7,18,0,0,2064,2065,7,7,0,0,2065,442,1,0,0,0,2066,2067,7,9,0,0,2067,2068,7,11,0,0,2068,2069,7,16,0,0,2069,2070,7,7,0,0,2070,2071,7,15,0,0,2071,2072,7,4,0,0,2072,2073,7,9,0,0,2073,2074,7,10,0,0,2074,444,1,0,0,0,2075,2076,7,9,0,0,2076,2077,7,11,0,0,2077,2078,7,16,0,0,2078,2079,7,10,0,0,2079,446,1,0,0,0,2080,2081,7,9,0,0,2081,2082,7,11,0,0,2082,2083,7,13,0,0,2083,2084,5,95,0,0,2084,2085,7,15,0,0,2085,2086,7,4,0,0,2086,2087,7,0,0,0,2087,2088,7,9,0,0,2088,448,1,0,0,0,2089,2090,7,9,0,0,2090,2091,7,13,0,0,2091,2092,7,3,0,0,2092,2093,7,10,0,0,2093,450,1,0,0,0,2094,2095,7,16,0,0,2095,2096,7,10,0,0,2096,2097,7,0,0,0,2097,2098,7,15,0,0,2098,2099,7,4,0,0,2099,2100,7,3,0,0,2100,2101,7,10,0,0,2101,452,1,0,0,0,2102,2103,7,16,0,0,2103,2104,7,7,0,0,2104,2105,7,19,0,0,2105,2106,7,18,0,0,2106,2107,7,16,0,0,2107,2108,7,7,0,0,2108,2109,7,5,0,0,2109,2110,7,10,0,0,2110,2111,7,5,0,0,2111,454,1,0,0,0,2112,2113,7,16,0,0,2113,2114,7,7,0,0,2114,2115,7,15,0,0,2115,2116,7,18,0,0,2116,2117,7,6,0,0,2117,2118,7,6,0,0,2118,2119,7,2,0,0,2119,2120,7,9,0,0,2120,2121,7,9,0,0,2121,2122,7,10,0,0,2122,2123,7,5,0,0,2123,456,1,0,0,0,2124,2125,7,16,0,0,2125,2126,7,7,0,0,2126,2127,7,2,0,0,2127,2128,7,18,0,0,2128,2129,7,7,0,0,2129,458,1,0,0,0,2130,2131,7,16,0,0,2131,2132,7,7,0,0,2132,2133,7,6,0,0,2133,2134,7,4,0,0,2134,2135,7,9,0,0,2135,2136,7,15,0,0,2136,2137,7,17,0,0,2137,2138,7,10,0,0,2138,2139,7,5,0,0,2139,460,1,0,0,0,2140,2141,7,16,0,0,2141,2142,7,7,0,0,2142,2143,7,7,0,0,2143,2144,7,10,0,0,2144,2145,7,0,0,0,2145,2146,7,9,0,0,2146,462,1,0,0,0,2147,2148,7,16,0,0,2148,2149,7,3,0,0,2149,2150,7,5,0,0,2150,2151,7,4,0,0,2151,2152,7,9,0,0,2152,2153,7,10,0,0,2153,464,1,0,0,0,2154,2155,7,16,0,0,2155,2156,7,0,0,0,2156,2157,7,10,0,0,2157,466,1,0,0,0,2158,2159,7,16,0,0,2159,2160,7,0,0,0,2160,2161,7,10,0,0,2161,2162,7,11,0,0,2162,468,1,0,0,0,2163,2164,7,16,0,0,2164,2165,7,0,0,0,2165,2166,7,2,0,0,2166,2167,7,7,0,0,2167,2168,7,21,0,0,2168,470,1,0,0,0,2169,2170,7,23,0,0,2170,2171,7,4,0,0,2171,2172,7,12,0,0,2172,2173,7,2,0,0,2173,2174,7,5,0,0,2174,2175,7,4,0,0,2175,2176,7,9,0,0,2176,2177,7,10,0,0,2177,472,1,0,0,0,2178,2179,7,23,0,0,2179,2180,7,4,0,0,2180,2181,7,12,0,0,2181,2182,7,16,0,0,2182,2183,7,10,0,0,2183,2184,7,0,0,0,2184,474,1,0,0,0,2185,2186,7,23,0,0,2186,2187,7,10,0,0,2187,2188,7,11,0,0,2188,2189,7,19,0,0,2189,2190,7,18,0,0,2190,2191,7,0,0,0,2191,2192,7,10,0,0,2192,476,1,0,0,0,2193,2194,7,23,0,0,2194,2195,7,2,0,0,2195,2196,7,10,0,0,2196,2197,7,20,0,0,2197,478,1,0,0,0,2198,2199,7,20,0,0,2199,2200,7,17,0,0,2200,2201,7,10,0,0,2201,2202,7,7,0,0,2202,480,1,0,0,0,2203,2204,7,20,0,0,2204,2205,7,17,0,0,2205,2206,7,10,0,0,2206,2207,7,11,0,0,2207,2208,7,10,0,0,2208,482,1,0,0,0,2209,2210,7,20,0,0,2210,2211,7,2,0,0,2211,2212,7,7,0,0,2212,2213,7,5,0,0,2213,2214,7,18,0,0,2214,2215,7,20,0,0,2215,484,1,0,0,0,2216,2217,7,20,0,0,2217,2218,7,2,0,0,2218,2219,7,9,0,0,2219,2220,7,17,0,0,2220,486,1,0,0,0,2221,2222,7,20,0,0,2222,2223,7,2,0,0,2223,2224,7,9,0,0,2224,2225,7,17,0,0,2225,2226,7,18,0,0,2226,2227,7,16,0,0,2227,2228,7,9,0,0,2228,488,1,0,0,0,2229,2230,7,20,0,0,2230,2231,7,18,0,0,2231,2232,7,11,0,0,2232,2233,7,1,0,0,2233,490,1,0,0,0,2234,2235,7,20,0,0,2235,2236,7,11,0,0,2236,2237,7,2,0,0,2237,2238,7,9,0,0,2238,2239,7,10,0,0,2239,492,1,0,0,0,2240,2241,7,13,0,0,2241,2242,7,10,0,0,2242,2243,7,4,0,0,2243,2244,7,11,0,0,2244,494,1,0,0,0,2245,2246,7,14,0,0,2246,2247,7,18,0,0,2247,2248,7,7,0,0,2248,2249,7,10,0,0,2249,496,1,0,0,0,2250,2251,5,61,0,0,2251,498,1,0,0,0,2252,2253,5,60,0,0,2253,2257,5,62,0,0,2254,2255,5,33,0,0,2255,2257,5,61,0,0,2256,2252,1,0,0,0,2256,2254,1,0,0,0,2257,500,1,0,0,0,2258,2259,5,60,0,0,2259,502,1,0,0,0,2260,2261,5,60,0,0,2261,2262,5,61,0,0,2262,504,1,0,0,0,2263,2264,5,62,0,0,2264,506,1,0,0,0,2265,2266,5,62,0,0,2266,2267,5,61,0,0,2267,508,1,0,0,0,2268,2269,5,43,0,0,2269,510,1,0,0,0,2270,2271,5,45,0,0,2271,512,1,0,0,0,2272,2273,5,42,0,0,2273,514,1,0,0,0,2274,2275,5,47,0,0,2275,516,1,0,0,0,2276,2277,5,37,0,0,2277,518,1,0,0,0,2278,2279,5,124,0,0,2279,2280,5,124,0,0,2280,520,1,0,0,0,2281,2282,5,63,0,0,2282,522,1,0,0,0,2283,2289,5,39,0,0,2284,2288,8,25,0,0,2285,2286,5,39,0,0,2286,2288,5,39,0,0,2287,2284,1,0,0,0,2287,2285,1,0,0,0,2288,2291,1,0,0,0,2289,2287,1,0,0,0,2289,2290,1,0,0,0,2290,2292,1,0,0,0,2291,2289,1,0,0,0,2292,2293,5,39,0,0,2293,524,1,0,0,0,2294,2295,7,16,0,0,2295,2296,5,38,0,0,2296,2297,5,39,0,0,2297,2303,1,0,0,0,2298,2302,8,25,0,0,2299,2300,5,39,0,0,2300,2302,5,39,0,0,2301,2298,1,0,0,0,2301,2299,1,0,0,0,2302,2305,1,0,0,0,2303,2301,1,0,0,0,2303,2304,1,0,0,0,2304,2306,1,0,0,0,2305,2303,1,0,0,0,2306,2307,5,39,0,0,2307,526,1,0,0,0,2308,2309,7,22,0,0,2309,2310,5,39,0,0,2310,2314,1,0,0,0,2311,2313,8,25,0,0,2312,2311,1,0,0,0,2313,2316,1,0,0,0,2314,2312,1,0,0,0,2314,2315,1,0,0,0,2315,2317,1,0,0,0,2316,2314,1,0,0,0,2317,2318,5,39,0,0,2318,528,1,0,0,0,2319,2321,3,547,273,0,2320,2319,1,0,0,0,2321,2322,1,0,0,0,2322,2320,1,0,0,0,2322,2323,1,0,0,0,2323,530,1,0,0,0,2324,2326,3,547,273,0,2325,2324,1,0,0,0,2326,2327,1,0,0,0,2327,2325,1,0,0,0,2327,2328,1,0,0,0,2328,2329,1,0,0,0,2329,2333,5,46,0,0,2330,2332,3,547,273,0,2331,2330,1,0,0,0,2332,2335,1,0,0,0,2333,2331,1,0,0,0,2333,2334,1,0,0,0,2334,2343,1,0,0,0,2335,2333,1,0,0,0,2336,2338,5,46,0,0,2337,2339,3,547,273,0,2338,2337,1,0,0,0,2339,2340,1,0,0,0,2340,2338,1,0,0,0,2340,2341,1,0,0,0,2341,2343,1,0,0,0,2342,2325,1,0,0,0,2342,2336,1,0,0,0,2343,532,1,0,0,0,2344,2346,3,547,273,0,2345,2344,1,0,0,0,2346,2347,1,0,0,0,2347,2345,1,0,0,0,2347,2348,1,0,0,0,2348,2356,1,0,0,0,2349,2353,5,46,0,0,2350,2352,3,547,273,0,2351,2350,1,0,0,0,2352,2355,1,0,0,0,2353,2351,1,0,0,0,2353,2354,1,0,0,0,2354,2357,1,0,0,0,2355,2353,1,0,0,0,2356,2349,1,0,0,0,2356,2357,1,0,0,0,2357,2358,1,0,0,0,2358,2359,3,545,272,0,2359,2369,1,0,0,0,2360,2362,5,46,0,0,2361,2363,3,547,273,0,2362,2361,1,0,0,0,2363,2364,1,0,0,0,2364,2362,1,0,0,0,2364,2365,1,0,0,0,2365,2366,1,0,0,0,2366,2367,3,545,272,0,2367,2369,1,0,0,0,2368,2345,1,0,0,0,2368,2360,1,0,0,0,2369,534,1,0,0,0,2370,2373,3,549,274,0,2371,2373,5,95,0,0,2372,2370,1,0,0,0,2372,2371,1,0,0,0,2373,2379,1,0,0,0,2374,2378,3,549,274,0,2375,2378,3,547,273,0,2376,2378,5,95,0,0,2377,2374,1,0,0,0,2377,2375,1,0,0,0,2377,2376,1,0,0,0,2378,2381,1,0,0,0,2379,2377,1,0,0,0,2379,2380,1,0,0,0,2380,536,1,0,0,0,2381,2379,1,0,0,0,2382,2386,3,547,273,0,2383,2387,3,549,274,0,2384,2387,3,547,273,0,2385,2387,5,95,0,0,2386,2383,1,0,0,0,2386,2384,1,0,0,0,2386,2385,1,0,0,0,2387,2388,1,0,0,0,2388,2386,1,0,0,0,2388,2389,1,0,0,0,2389,538,1,0,0,0,2390,2396,5,34,0,0,2391,2395,8,26,0,0,2392,2393,5,34,0,0,2393,2395,5,34,0,0,2394,2391,1,0,0,0,2394,2392,1,0,0,0,2395,2398,1,0,0,0,2396,2394,1,0,0,0,2396,2397,1,0,0,0,2397,2399,1,0,0,0,2398,2396,1,0,0,0,2399,2400,5,34,0,0,2400,540,1,0,0,0,2401,2407,5,96,0,0,2402,2406,8,27,0,0,2403,2404,5,96,0,0,2404,2406,5,96,0,0,2405,2402,1,0,0,0,2405,2403,1,0,0,0,2406,2409,1,0,0,0,2407,2405,1,0,0,0,2407,2408,1,0,0,0,2408,2410,1,0,0,0,2409,2407,1,0,0,0,2410,2411,5,96,0,0,2411,542,1,0,0,0,2412,2413,5,59,0,0,2413,544,1,0,0,0,2414,2416,7,10,0,0,2415,2417,7,28,0,0,2416,2415,1,0,0,0,2416,2417,1,0,0,0,2417,2419,1,0,0,0,2418,2420,3,547,273,0,2419,2418,1,0,0,0,2420,2421,1,0,0,0,2421,2419,1,0,0,0,2421,2422,1,0,0,0,2422,546,1,0,0,0,2423,2424,7,29,0,0,2424,548,1,0,0,0,2425,2426,7,30,0,0,2426,550,1,0,0,0,2427,2428,5,45,0,0,2428,2429,5,45,0,0,2429,2433,1,0,0,0,2430,2432,8,31,0,0,2431,2430,1,0,0,0,2432,2435,1,0,0,0,2433,2431,1,0,0,0,2433,2434,1,0,0,0,2434,2437,1,0,0,0,2435,2433,1,0,0,0,2436,2438,5,13,0,0,2437,2436,1,0,0,0,2437,2438,1,0,0,0,2438,2440,1,0,0,0,2439,2441,5,10,0,0,2440,2439,1,0,0,0,2440,2441,1,0,0,0,2441,2442,1,0,0,0,2442,2443,6,275,0,0,2443,552,1,0,0,0,2444,2445,5,47,0,0,2445,2446,5,42,0,0,2446,2450,1,0,0,0,2447,2449,9,0,0,0,2448,2447,1,0,0,0,2449,2452,1,0,0,0,2450,2451,1,0,0,0,2450,2448,1,0,0,0,2451,2453,1,0,0,0,2452,2450,1,0,0,0,2453,2454,5,42,0,0,2454,2455,5,47,0,0,2455,2456,1,0,0,0,2456,2457,6,276,0,0,2457,554,1,0,0,0,2458,2460,7,32,0,0,2459,2458,1,0,0,0,2460,2461,1,0,0,0,2461,2459,1,0,0,0,2461,2462,1,0,0,0,2462,2463,1,0,0,0,2463,2464,6,277,0,0,2464,556,1,0,0,0,2465,2466,9,0,0,0,2466,558,1,0,0,0,33,0,2256,2287,2289,2301,2303,2314,2322,2327,2333,2340,2342,2347,2353,2356,2364,2368,2372,2377,2379,2386,2388,2394,2396,2405,2407,2416,2421,2433,2437,2440,2450,2461,1,0,1,0],f.vocabulary=new he(f.literalNames,f.symbolicNames,[]),f.decisionsToDFA=f._ATN.decisionToState.map((i,t)=>new t1(i,t));class yc extends mh{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,e,n,r;return this.entityCollecting&&((e=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&e!==void 0?e:1/0)<=this.caretTokenIndex&&((r=(n=this.tokenStream.LT(1))===null||n===void 0?void 0:n.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class s extends yc{get grammarFileName(){return"TrinoSql.g4"}get literalNames(){return s.literalNames}get symbolicNames(){return s.symbolicNames}get ruleNames(){return s.ruleNames}get serializedATN(){return s._serializedATN}createFailedPredicateException(t,e){return new an(this,t,e)}constructor(t){super(t),this.interpreter=new nn(this,s._ATN,s.decisionsToDFA,new ms)}program(){let t=new wc(this.context,this.state);this.enterRule(t,0,s.RULE_program);let e;try{this.enterOuterAlt(t,1);{for(this.state=221,this.errorHandler.sync(this),e=this.tokenStream.LA(1);!(e&-32)&&1<'","'['","']'","'|'","'^'","'$'","'{-'","'-}'","'{'","'}'","'=>'","'ADD'","'ADMIN'","'AFTER'","'ALL'","'ALTER'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BERNOULLI'","'BETWEEN'","'BY'","'CALL'","'CASCADE'","'CASE'","'CAST'","'CATALOGS'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMMITTED'","'CONSTRAINT'","'CREATE'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_PATH'","'CURRENT_ROLE'","'CURRENT_SCHEMA'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DATA'","'DATE'","'DAY'","'DEFAULT'","'DEALLOCATE'","'DEFINER'","'DELETE'","'DESC'","'DESCRIBE'","'DEFINE'","'DISTINCT'","'DISTRIBUTED'","'DOUBLE'","'DROP'","'ELSE'","'EMPTY'","'END'","'ESCAPE'","'EXCEPT'","'EXCLUDING'","'EXECUTE'","'EXISTS'","'EXPLAIN'","'EXTRACT'","'FALSE'","'FETCH'","'FILTER'","'FINAL'","'FIRST'","'FOLLOWING'","'FOR'","'FORMAT'","'FROM'","'FULL'","'FUNCTIONS'","'GRANT'","'GRANTED'","'GRANTS'","'DENY'","'GRAPHVIZ'","'GROUP'","'GROUPING'","'GROUPS'","'HAVING'","'HOUR'","'IF'","'IGNORE'","'IN'","'INCLUDING'","'INITIAL'","'INNER'","'INPUT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INTO'","'INVOKER'","'IO'","'IS'","'ISOLATION'","'JOIN'","'JSON'","'LAST'","'LATERAL'","'LEFT'","'LEVEL'","'LIKE'","'LIMIT'","'LOCAL'","'LOCALTIME'","'LOCALTIMESTAMP'","'LOGICAL'","'MAP'","'MATCH'","'MATCHED'","'MATCHES'","'MATCH_RECOGNIZE'","'MATERIALIZED'","'MEASURES'","'MERGE'","'MINUTE'","'MONTH'","'NATURAL'","'NEXT'","'NFC'","'NFD'","'NFKC'","'NFKD'","'NO'","'NONE'","'NORMALIZE'","'NOT'","'NULL'","'NULLIF'","'NULLS'","'OFFSET'","'OMIT'","'ON'","'ONE'","'ONLY'","'OPTION'","'OR'","'ORDER'","'ORDINALITY'","'OUTER'","'OUTPUT'","'OVER'","'PARTITION'","'PARTITIONS'","'PAST'","'PATH'","'PATTERN'","'PER'","'PERMUTE'","'POSITION'","'PRECEDING'","'PRECISION'","'PREPARE'","'PRIVILEGES'","'PROPERTIES'","'RANGE'","'READ'","'RECURSIVE'","'REFRESH'","'RENAME'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'REVOKE'","'RIGHT'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'RUNNING'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECURITY'","'SEEK'","'SELECT'","'SERIALIZABLE'","'SESSION'","'SET'","'SETS'","'SHOW'","'SOME'","'START'","'STATS'","'SUBSET'","'SUBSTRING'","'SYSTEM'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TEXT'","'THEN'","'TIES'","'TIME'","'TIMESTAMP'","'TO'","'TRANSACTION'","'TRUNCATE'","'TRUE'","'TRY_CAST'","'TYPE'","'UESCAPE'","'UNBOUNDED'","'UNCOMMITTED'","'UNION'","'UNMATCHED'","'UNNEST'","'UPDATE'","'USE'","'USER'","'USING'","'VALIDATE'","'VALUES'","'VERBOSE'","'VIEW'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'WITHOUT'","'WORK'","'WRITE'","'YEAR'","'ZONE'","'='",null,"'<'","'<='","'>'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'?'",null,null,null,null,null,null,null,null,null,null,"';'"],s.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BERNOULLI","KW_BETWEEN","KW_BY","KW_CALL","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOGS","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMMITTED","KW_CONSTRAINT","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATE","KW_DAY","KW_DEFAULT","KW_DEALLOCATE","KW_DEFINER","KW_DELETE","KW_DESC","KW_DESCRIBE","KW_DEFINE","KW_DISTINCT","KW_DISTRIBUTED","KW_DOUBLE","KW_DROP","KW_ELSE","KW_EMPTY","KW_END","KW_ESCAPE","KW_EXCEPT","KW_EXCLUDING","KW_EXECUTE","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FINAL","KW_FIRST","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FROM","KW_FULL","KW_FUNCTIONS","KW_GRANT","KW_GRANTED","KW_GRANTS","KW_DENY","KW_GRAPHVIZ","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_HAVING","KW_HOUR","KW_IF","KW_IGNORE","KW_IN","KW_INCLUDING","KW_INITIAL","KW_INNER","KW_INPUT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_INVOKER","KW_IO","KW_IS","KW_ISOLATION","KW_JOIN","KW_JSON","KW_LAST","KW_LATERAL","KW_LEFT","KW_LEVEL","KW_LIKE","KW_LIMIT","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOGICAL","KW_MAP","KW_MATCH","KW_MATCHED","KW_MATCHES","KW_MATCH_RECOGNIZE","KW_MATERIALIZED","KW_MEASURES","KW_MERGE","KW_MINUTE","KW_MONTH","KW_NATURAL","KW_NEXT","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLIF","KW_NULLS","KW_OFFSET","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OUTPUT","KW_OVER","KW_PARTITION","KW_PARTITIONS","KW_PAST","KW_PATH","KW_PATTERN","KW_PER","KW_PERMUTE","KW_POSITION","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRIVILEGES","KW_PROPERTIES","KW_RANGE","KW_READ","KW_RECURSIVE","KW_REFRESH","KW_RENAME","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_REVOKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_RUNNING","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECURITY","KW_SEEK","KW_SELECT","KW_SERIALIZABLE","KW_SESSION","KW_SET","KW_SETS","KW_SHOW","KW_SOME","KW_START","KW_STATS","KW_SUBSET","KW_SUBSTRING","KW_SYSTEM","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TEXT","KW_THEN","KW_TIES","KW_TIME","KW_TIMESTAMP","KW_TO","KW_TRANSACTION","KW_TRUNCATE","KW_TRUE","KW_TRY_CAST","KW_TYPE","KW_UESCAPE","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNION","KW_UNMATCHED","KW_UNNEST","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_VALIDATE","KW_VALUES","KW_VERBOSE","KW_VIEW","KW_WHEN","KW_WHERE","KW_WINDOW","KW_WITH","KW_WITHOUT","KW_WORK","KW_WRITE","KW_YEAR","KW_ZONE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","QUESTION_MARK","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","SEMICOLON","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED","DELIMITER"],s.ruleNames=["program","statements","standaloneClause","singleStatement","standaloneExpression","standalonePathSpecification","standaloneType","standaloneRowPattern","statement","query","with","tableElement","columnDefinition","likeClause","properties","propertyAssignments","property","propertyValue","queryNoWith","limitRowCount","rowCount","queryTerm","queryPrimary","sortItem","querySpecification","groupBy","groupingElement","groupingSet","groupingTerm","windowDefinition","windowSpecification","namedQuery","setQuantifier","selectItem","relation","joinType","joinCriteria","sampledRelation","sampleType","patternRecognition","measureDefinition","rowsPerMatch","emptyMatchHandling","skipTo","subsetDefinition","variableDefinition","aliasedRelation","columnListCreate","columnList","columnAliases","relationPrimary","expression","booleanExpression","predicate","valueExpression","primaryExpression","processingMode","nullTreatment","string","timeZoneSpecifier","comparisonOperator","comparisonQuantifier","booleanValue","interval","intervalField","normalForm","type","rowField","typeParameter","whenClause","filter","mergeCase","over","windowFrame","frameExtent","frameBound","rowPattern","patternPrimary","patternQuantifier","updateAssignment","explainOption","transactionMode","levelOfIsolation","callArgument","pathElement","pathSpecification","privilege","tableOrViewName","tableName","tableNameCreate","viewName","viewNameCreate","tablePath","viewPath","schemaName","schemaNameCreate","schemaPath","catalogName","catalogNameCreate","functionName","columnName","columnNameCreate","qualifiedName","grantor","principal","roles","identifier","number","nonReserved"],s._serializedATN=[4,1,277,2607,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,1,0,5,0,220,8,0,10,0,12,0,223,9,0,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,3,2,233,8,2,1,3,1,3,3,3,237,8,3,1,4,1,4,3,4,241,8,4,1,5,1,5,3,5,245,8,5,1,6,1,6,3,6,249,8,6,1,7,1,7,3,7,253,8,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,263,8,8,1,8,1,8,1,8,3,8,268,8,8,1,8,1,8,3,8,272,8,8,1,8,1,8,1,8,1,8,3,8,278,8,8,1,8,1,8,3,8,282,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,303,8,8,1,8,1,8,3,8,307,8,8,1,8,1,8,3,8,311,8,8,1,8,1,8,3,8,315,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,323,8,8,1,8,1,8,3,8,327,8,8,1,8,3,8,330,8,8,1,8,1,8,1,8,1,8,1,8,3,8,337,8,8,1,8,1,8,1,8,1,8,1,8,5,8,344,8,8,10,8,12,8,347,9,8,1,8,1,8,1,8,3,8,352,8,8,1,8,1,8,3,8,356,8,8,1,8,1,8,1,8,1,8,3,8,362,8,8,1,8,1,8,1,8,1,8,1,8,3,8,369,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,378,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,387,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,401,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,410,8,8,1,8,1,8,1,8,1,8,3,8,416,8,8,1,8,1,8,1,8,1,8,1,8,3,8,423,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,433,8,8,1,8,1,8,1,8,1,8,1,8,3,8,440,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,448,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,456,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,483,8,8,10,8,12,8,486,9,8,3,8,488,8,8,1,8,3,8,491,8,8,1,8,1,8,3,8,495,8,8,1,8,1,8,1,8,1,8,3,8,501,8,8,1,8,1,8,1,8,3,8,506,8,8,1,8,1,8,1,8,1,8,1,8,3,8,513,8,8,1,8,1,8,1,8,3,8,518,8,8,1,8,1,8,3,8,522,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,530,8,8,1,8,1,8,1,8,1,8,3,8,536,8,8,1,8,1,8,3,8,540,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,554,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,562,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,581,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,604,8,8,10,8,12,8,607,9,8,3,8,609,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,619,8,8,1,8,1,8,3,8,623,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,634,8,8,10,8,12,8,637,9,8,1,8,1,8,1,8,3,8,642,8,8,1,8,1,8,1,8,3,8,647,8,8,1,8,1,8,3,8,651,8,8,1,8,1,8,1,8,1,8,3,8,657,8,8,1,8,1,8,1,8,1,8,1,8,5,8,664,8,8,10,8,12,8,667,9,8,1,8,1,8,1,8,3,8,672,8,8,1,8,1,8,3,8,676,8,8,1,8,1,8,1,8,1,8,1,8,3,8,683,8,8,1,8,1,8,3,8,687,8,8,1,8,1,8,1,8,1,8,5,8,693,8,8,10,8,12,8,696,9,8,1,8,1,8,3,8,700,8,8,1,8,1,8,3,8,704,8,8,1,8,1,8,3,8,708,8,8,1,8,3,8,711,8,8,1,8,1,8,1,8,1,8,1,8,3,8,718,8,8,1,8,1,8,1,8,1,8,5,8,724,8,8,10,8,12,8,727,9,8,1,8,1,8,3,8,731,8,8,1,8,1,8,3,8,735,8,8,1,8,1,8,3,8,739,8,8,1,8,3,8,742,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,751,8,8,1,8,1,8,1,8,5,8,756,8,8,10,8,12,8,759,9,8,1,8,1,8,3,8,763,8,8,1,8,1,8,3,8,767,8,8,1,8,1,8,3,8,771,8,8,1,8,3,8,774,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,782,8,8,1,8,3,8,785,8,8,1,8,1,8,3,8,789,8,8,1,8,3,8,792,8,8,1,8,1,8,1,8,1,8,5,8,798,8,8,10,8,12,8,801,9,8,1,8,1,8,3,8,805,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,829,8,8,1,8,1,8,1,8,1,8,3,8,835,8,8,3,8,837,8,8,1,8,1,8,1,8,1,8,3,8,843,8,8,1,8,1,8,1,8,1,8,3,8,849,8,8,3,8,851,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,859,8,8,3,8,861,8,8,1,8,1,8,1,8,1,8,3,8,867,8,8,1,8,1,8,1,8,1,8,3,8,873,8,8,3,8,875,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,890,8,8,1,8,1,8,1,8,3,8,895,8,8,1,8,1,8,1,8,1,8,1,8,3,8,902,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,914,8,8,3,8,916,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,924,8,8,3,8,926,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,942,8,8,10,8,12,8,945,9,8,3,8,947,8,8,1,8,1,8,3,8,951,8,8,1,8,1,8,3,8,955,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,971,8,8,10,8,12,8,974,9,8,3,8,976,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,992,8,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,1e3,8,8,10,8,12,8,1003,9,8,1,8,1,8,3,8,1007,8,8,1,8,1,8,1,8,1,8,3,8,1013,8,8,1,8,3,8,1016,8,8,1,8,1,8,1,8,1,8,1,8,4,8,1023,8,8,11,8,12,8,1024,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1037,8,8,1,9,3,9,1040,8,9,1,9,1,9,1,10,1,10,3,10,1046,8,10,1,10,1,10,1,10,5,10,1051,8,10,10,10,12,10,1054,9,10,1,11,1,11,3,11,1058,8,11,1,12,1,12,1,12,1,12,3,12,1064,8,12,1,12,1,12,3,12,1068,8,12,1,12,1,12,3,12,1072,8,12,1,13,1,13,1,13,1,13,3,13,1078,8,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,5,15,1087,8,15,10,15,12,15,1090,9,15,1,16,1,16,1,16,1,16,1,17,1,17,3,17,1098,8,17,1,18,1,18,1,18,1,18,1,18,1,18,5,18,1106,8,18,10,18,12,18,1109,9,18,3,18,1111,8,18,1,18,1,18,1,18,3,18,1116,8,18,3,18,1118,8,18,1,18,1,18,1,18,1,18,1,18,3,18,1125,8,18,1,18,1,18,1,18,1,18,3,18,1131,8,18,3,18,1133,8,18,1,19,1,19,3,19,1137,8,19,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1147,8,21,1,21,1,21,1,21,1,21,3,21,1153,8,21,1,21,5,21,1156,8,21,10,21,12,21,1159,9,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,5,22,1168,8,22,10,22,12,22,1171,9,22,1,22,1,22,1,22,1,22,3,22,1177,8,22,1,23,1,23,3,23,1181,8,23,1,23,3,23,1184,8,23,1,23,1,23,3,23,1188,8,23,1,24,1,24,3,24,1192,8,24,1,24,1,24,1,24,5,24,1197,8,24,10,24,12,24,1200,9,24,1,24,1,24,1,24,1,24,5,24,1206,8,24,10,24,12,24,1209,9,24,3,24,1211,8,24,1,24,1,24,3,24,1215,8,24,1,24,1,24,1,24,3,24,1220,8,24,1,24,1,24,3,24,1224,8,24,1,24,1,24,1,24,1,24,5,24,1230,8,24,10,24,12,24,1233,9,24,3,24,1235,8,24,1,25,3,25,1238,8,25,1,25,1,25,1,25,5,25,1243,8,25,10,25,12,25,1246,9,25,1,26,1,26,1,26,1,26,1,26,1,26,5,26,1254,8,26,10,26,12,26,1257,9,26,3,26,1259,8,26,1,26,1,26,1,26,1,26,1,26,1,26,5,26,1267,8,26,10,26,12,26,1270,9,26,3,26,1272,8,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,5,26,1281,8,26,10,26,12,26,1284,9,26,1,26,1,26,3,26,1288,8,26,1,27,1,27,1,27,1,27,5,27,1294,8,27,10,27,12,27,1297,9,27,3,27,1299,8,27,1,27,1,27,3,27,1303,8,27,1,28,1,28,3,28,1307,8,28,1,29,1,29,1,29,1,29,1,29,1,29,1,30,3,30,1316,8,30,1,30,1,30,1,30,1,30,1,30,5,30,1323,8,30,10,30,12,30,1326,9,30,3,30,1328,8,30,1,30,1,30,1,30,1,30,1,30,5,30,1335,8,30,10,30,12,30,1338,9,30,3,30,1340,8,30,1,30,3,30,1343,8,30,1,31,1,31,3,31,1347,8,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,33,1,33,3,33,1358,8,33,1,33,3,33,1361,8,33,1,33,3,33,1364,8,33,1,33,1,33,1,33,1,33,1,33,3,33,1371,8,33,1,33,3,33,1374,8,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1393,8,34,5,34,1395,8,34,10,34,12,34,1398,9,34,1,35,3,35,1401,8,35,1,35,1,35,3,35,1405,8,35,1,35,1,35,3,35,1409,8,35,1,35,1,35,3,35,1413,8,35,3,35,1415,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,5,36,1424,8,36,10,36,12,36,1427,9,36,1,36,1,36,3,36,1431,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,1440,8,37,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,5,39,1452,8,39,10,39,12,39,1455,9,39,3,39,1457,8,39,1,39,1,39,1,39,1,39,1,39,5,39,1464,8,39,10,39,12,39,1467,9,39,3,39,1469,8,39,1,39,1,39,1,39,1,39,5,39,1475,8,39,10,39,12,39,1478,9,39,3,39,1480,8,39,1,39,3,39,1483,8,39,1,39,1,39,1,39,3,39,1488,8,39,1,39,3,39,1491,8,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,5,39,1501,8,39,10,39,12,39,1504,9,39,3,39,1506,8,39,1,39,1,39,1,39,1,39,5,39,1512,8,39,10,39,12,39,1515,9,39,1,39,1,39,3,39,1519,8,39,1,39,1,39,3,39,1523,8,39,3,39,1525,8,39,3,39,1527,8,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,3,41,1542,8,41,3,41,1544,8,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,1555,8,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,43,3,43,1576,8,43,1,44,1,44,1,44,1,44,1,44,1,44,5,44,1584,8,44,10,44,12,44,1587,9,44,1,44,1,44,1,45,1,45,1,45,1,45,1,46,1,46,3,46,1597,8,46,1,46,1,46,3,46,1601,8,46,3,46,1603,8,46,1,47,1,47,1,47,1,47,5,47,1609,8,47,10,47,12,47,1612,9,47,1,47,1,47,1,48,1,48,1,48,1,48,5,48,1620,8,48,10,48,12,48,1623,9,48,1,48,1,48,1,49,1,49,1,49,1,49,5,49,1631,8,49,10,49,12,49,1634,9,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,5,50,1648,8,50,10,50,12,50,1651,9,50,1,50,1,50,1,50,3,50,1656,8,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,3,50,1667,8,50,1,51,1,51,1,52,1,52,1,52,3,52,1674,8,52,1,52,1,52,3,52,1678,8,52,1,52,1,52,1,52,1,52,1,52,1,52,5,52,1686,8,52,10,52,12,52,1689,9,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,1701,8,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,1709,8,53,1,53,1,53,1,53,1,53,1,53,5,53,1716,8,53,10,53,12,53,1719,9,53,1,53,1,53,1,53,3,53,1724,8,53,1,53,1,53,1,53,1,53,1,53,1,53,3,53,1732,8,53,1,53,1,53,1,53,1,53,3,53,1738,8,53,1,53,1,53,3,53,1742,8,53,1,53,1,53,1,53,3,53,1747,8,53,1,53,1,53,1,53,3,53,1752,8,53,1,54,1,54,1,54,1,54,3,54,1758,8,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,5,54,1772,8,54,10,54,12,54,1775,9,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,4,55,1802,8,55,11,55,12,55,1803,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,1813,8,55,10,55,12,55,1816,9,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1825,8,55,1,55,3,55,1828,8,55,1,55,3,55,1831,8,55,1,55,1,55,1,55,3,55,1836,8,55,1,55,1,55,1,55,5,55,1841,8,55,10,55,12,55,1844,9,55,3,55,1846,8,55,1,55,1,55,1,55,1,55,1,55,5,55,1853,8,55,10,55,12,55,1856,9,55,3,55,1858,8,55,1,55,1,55,3,55,1862,8,55,1,55,3,55,1865,8,55,1,55,3,55,1868,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,1881,8,55,10,55,12,55,1884,9,55,3,55,1886,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,4,55,1903,8,55,11,55,12,55,1904,1,55,1,55,3,55,1909,8,55,1,55,1,55,1,55,1,55,4,55,1915,8,55,11,55,12,55,1916,1,55,1,55,3,55,1921,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,1944,8,55,10,55,12,55,1947,9,55,3,55,1949,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1958,8,55,1,55,1,55,1,55,1,55,3,55,1964,8,55,1,55,1,55,1,55,1,55,3,55,1970,8,55,1,55,1,55,1,55,1,55,3,55,1976,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1989,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1998,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,2018,8,55,10,55,12,55,2021,9,55,3,55,2023,8,55,1,55,3,55,2026,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,2036,8,55,10,55,12,55,2039,9,55,1,56,1,56,1,57,1,57,1,57,1,57,3,57,2047,8,57,1,58,1,58,1,58,1,58,3,58,2053,8,58,3,58,2055,8,58,1,59,1,59,1,59,1,59,1,59,1,59,3,59,2063,8,59,1,60,1,60,1,61,1,61,1,62,1,62,1,63,1,63,3,63,2073,8,63,1,63,1,63,1,63,1,63,3,63,2079,8,63,1,64,1,64,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,5,66,2091,8,66,10,66,12,66,2094,9,66,1,66,1,66,1,66,1,66,1,66,1,66,3,66,2102,8,66,1,66,1,66,1,66,1,66,1,66,3,66,2109,8,66,1,66,1,66,1,66,3,66,2114,8,66,1,66,1,66,1,66,1,66,1,66,3,66,2121,8,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,3,66,2131,8,66,1,66,1,66,1,66,3,66,2136,8,66,1,66,1,66,1,66,1,66,1,66,3,66,2143,8,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,5,66,2167,8,66,10,66,12,66,2170,9,66,1,66,1,66,3,66,2174,8,66,3,66,2176,8,66,1,66,1,66,1,66,1,66,1,66,3,66,2183,8,66,5,66,2185,8,66,10,66,12,66,2188,9,66,1,67,1,67,1,67,1,67,3,67,2194,8,67,1,68,1,68,3,68,2198,8,68,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,3,71,2215,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,2228,8,71,10,71,12,71,2231,9,71,1,71,1,71,1,71,1,71,3,71,2237,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2246,8,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,2254,8,71,10,71,12,71,2257,9,71,1,71,1,71,3,71,2261,8,71,1,71,1,71,1,71,1,71,1,71,5,71,2268,8,71,10,71,12,71,2271,9,71,1,71,1,71,3,71,2275,8,71,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2283,8,72,1,73,1,73,1,73,1,73,5,73,2289,8,73,10,73,12,73,2292,9,73,3,73,2294,8,73,1,73,1,73,1,73,1,73,3,73,2300,8,73,1,73,3,73,2303,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2310,8,73,1,73,1,73,1,73,1,73,5,73,2316,8,73,10,73,12,73,2319,9,73,3,73,2321,8,73,1,73,1,73,1,73,1,73,5,73,2327,8,73,10,73,12,73,2330,9,73,3,73,2332,8,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,2358,8,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,3,75,2369,8,75,1,76,1,76,1,76,3,76,2374,8,76,1,76,1,76,1,76,1,76,1,76,5,76,2381,8,76,10,76,12,76,2384,9,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,5,77,2394,8,77,10,77,12,77,2397,9,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,3,77,2411,8,77,1,78,1,78,3,78,2415,8,78,1,78,1,78,3,78,2419,8,78,1,78,1,78,3,78,2423,8,78,1,78,1,78,1,78,1,78,3,78,2429,8,78,1,78,1,78,3,78,2433,8,78,1,78,1,78,3,78,2437,8,78,1,78,1,78,3,78,2441,8,78,3,78,2443,8,78,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,3,80,2453,8,80,1,81,1,81,1,81,1,81,1,81,3,81,2460,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,3,82,2469,8,82,1,83,1,83,1,83,1,83,1,83,3,83,2476,8,83,1,84,1,84,1,84,1,84,1,84,3,84,2483,8,84,1,85,1,85,1,85,5,85,2488,8,85,10,85,12,85,2491,9,85,1,86,1,86,1,87,1,87,3,87,2497,8,87,1,88,1,88,1,89,1,89,1,90,1,90,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,3,92,2518,8,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,3,93,2531,8,93,1,94,1,94,1,95,1,95,1,96,1,96,1,96,1,96,1,96,3,96,2542,8,96,1,97,1,97,1,98,1,98,1,99,1,99,1,100,1,100,3,100,2552,8,100,1,101,1,101,1,102,1,102,1,102,5,102,2559,8,102,10,102,12,102,2562,9,102,1,103,1,103,1,103,3,103,2567,8,103,1,104,1,104,1,104,1,104,1,104,3,104,2574,8,104,1,105,1,105,1,105,5,105,2579,8,105,10,105,12,105,2582,9,105,1,106,1,106,1,106,1,106,1,106,3,106,2589,8,106,1,107,3,107,2592,8,107,1,107,1,107,3,107,2596,8,107,1,107,1,107,3,107,2600,8,107,1,107,3,107,2603,8,107,1,108,1,108,1,108,0,7,42,68,104,108,110,132,152,109,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,0,27,2,0,34,34,185,185,2,0,61,61,112,112,2,0,88,88,103,103,2,0,75,75,104,104,1,0,192,193,2,0,84,84,139,139,2,0,261,261,265,265,2,0,74,74,229,229,2,0,27,27,63,63,2,0,84,84,118,118,2,0,20,20,66,66,2,0,30,30,211,211,2,0,105,105,199,199,1,0,255,256,1,0,257,259,2,0,83,83,194,194,1,0,249,254,3,0,20,20,24,24,206,206,2,0,80,80,223,223,5,0,58,58,100,100,136,137,197,197,247,247,1,0,140,143,2,0,85,85,171,171,3,0,95,95,117,117,215,215,4,0,67,67,113,113,127,127,236,236,2,0,155,155,246,246,4,0,62,62,108,108,200,200,232,232,49,0,17,20,22,22,24,25,27,30,33,34,37,42,47,47,56,59,61,61,63,63,65,65,67,68,71,71,75,75,78,78,81,85,87,87,90,95,98,98,100,102,104,105,107,107,110,110,112,113,115,115,117,119,121,121,123,124,127,137,139,145,149,152,154,156,159,159,161,172,174,177,179,186,188,190,192,199,201,211,213,215,217,222,224,225,227,228,230,230,232,234,236,236,238,239,242,242,244,248,3008,0,221,1,0,0,0,2,226,1,0,0,0,4,232,1,0,0,0,6,234,1,0,0,0,8,238,1,0,0,0,10,242,1,0,0,0,12,246,1,0,0,0,14,250,1,0,0,0,16,1036,1,0,0,0,18,1039,1,0,0,0,20,1043,1,0,0,0,22,1057,1,0,0,0,24,1059,1,0,0,0,26,1073,1,0,0,0,28,1079,1,0,0,0,30,1083,1,0,0,0,32,1091,1,0,0,0,34,1097,1,0,0,0,36,1099,1,0,0,0,38,1136,1,0,0,0,40,1138,1,0,0,0,42,1140,1,0,0,0,44,1176,1,0,0,0,46,1180,1,0,0,0,48,1189,1,0,0,0,50,1237,1,0,0,0,52,1287,1,0,0,0,54,1302,1,0,0,0,56,1306,1,0,0,0,58,1308,1,0,0,0,60,1315,1,0,0,0,62,1344,1,0,0,0,64,1353,1,0,0,0,66,1373,1,0,0,0,68,1375,1,0,0,0,70,1414,1,0,0,0,72,1430,1,0,0,0,74,1432,1,0,0,0,76,1441,1,0,0,0,78,1443,1,0,0,0,80,1528,1,0,0,0,82,1543,1,0,0,0,84,1554,1,0,0,0,86,1575,1,0,0,0,88,1577,1,0,0,0,90,1590,1,0,0,0,92,1594,1,0,0,0,94,1604,1,0,0,0,96,1615,1,0,0,0,98,1626,1,0,0,0,100,1666,1,0,0,0,102,1668,1,0,0,0,104,1677,1,0,0,0,106,1751,1,0,0,0,108,1757,1,0,0,0,110,2025,1,0,0,0,112,2040,1,0,0,0,114,2046,1,0,0,0,116,2054,1,0,0,0,118,2062,1,0,0,0,120,2064,1,0,0,0,122,2066,1,0,0,0,124,2068,1,0,0,0,126,2070,1,0,0,0,128,2080,1,0,0,0,130,2082,1,0,0,0,132,2175,1,0,0,0,134,2193,1,0,0,0,136,2197,1,0,0,0,138,2199,1,0,0,0,140,2204,1,0,0,0,142,2274,1,0,0,0,144,2276,1,0,0,0,146,2293,1,0,0,0,148,2357,1,0,0,0,150,2368,1,0,0,0,152,2370,1,0,0,0,154,2410,1,0,0,0,156,2442,1,0,0,0,158,2444,1,0,0,0,160,2452,1,0,0,0,162,2459,1,0,0,0,164,2468,1,0,0,0,166,2475,1,0,0,0,168,2482,1,0,0,0,170,2484,1,0,0,0,172,2492,1,0,0,0,174,2496,1,0,0,0,176,2498,1,0,0,0,178,2500,1,0,0,0,180,2502,1,0,0,0,182,2504,1,0,0,0,184,2517,1,0,0,0,186,2530,1,0,0,0,188,2532,1,0,0,0,190,2534,1,0,0,0,192,2541,1,0,0,0,194,2543,1,0,0,0,196,2545,1,0,0,0,198,2547,1,0,0,0,200,2551,1,0,0,0,202,2553,1,0,0,0,204,2555,1,0,0,0,206,2566,1,0,0,0,208,2573,1,0,0,0,210,2575,1,0,0,0,212,2588,1,0,0,0,214,2602,1,0,0,0,216,2604,1,0,0,0,218,220,3,2,1,0,219,218,1,0,0,0,220,223,1,0,0,0,221,219,1,0,0,0,221,222,1,0,0,0,222,224,1,0,0,0,223,221,1,0,0,0,224,225,5,0,0,1,225,1,1,0,0,0,226,227,3,6,3,0,227,3,1,0,0,0,228,233,3,8,4,0,229,233,3,10,5,0,230,233,3,12,6,0,231,233,3,14,7,0,232,228,1,0,0,0,232,229,1,0,0,0,232,230,1,0,0,0,232,231,1,0,0,0,233,5,1,0,0,0,234,236,3,16,8,0,235,237,5,272,0,0,236,235,1,0,0,0,236,237,1,0,0,0,237,7,1,0,0,0,238,240,3,102,51,0,239,241,5,272,0,0,240,239,1,0,0,0,240,241,1,0,0,0,241,9,1,0,0,0,242,244,3,170,85,0,243,245,5,272,0,0,244,243,1,0,0,0,244,245,1,0,0,0,245,11,1,0,0,0,246,248,3,132,66,0,247,249,5,272,0,0,248,247,1,0,0,0,248,249,1,0,0,0,249,13,1,0,0,0,250,252,3,152,76,0,251,253,5,272,0,0,252,251,1,0,0,0,252,253,1,0,0,0,253,15,1,0,0,0,254,1037,3,18,9,0,255,256,5,233,0,0,256,1037,3,188,94,0,257,258,5,44,0,0,258,262,5,195,0,0,259,260,5,101,0,0,260,261,5,147,0,0,261,263,5,77,0,0,262,259,1,0,0,0,262,263,1,0,0,0,263,264,1,0,0,0,264,267,3,190,95,0,265,266,5,29,0,0,266,268,3,208,104,0,267,265,1,0,0,0,267,268,1,0,0,0,268,271,1,0,0,0,269,270,5,243,0,0,270,272,3,28,14,0,271,269,1,0,0,0,271,272,1,0,0,0,272,1037,1,0,0,0,273,274,5,69,0,0,274,277,5,195,0,0,275,276,5,101,0,0,276,278,5,77,0,0,277,275,1,0,0,0,277,278,1,0,0,0,278,279,1,0,0,0,279,281,3,188,94,0,280,282,7,0,0,0,281,280,1,0,0,0,281,282,1,0,0,0,282,1037,1,0,0,0,283,284,5,21,0,0,284,285,5,195,0,0,285,286,3,188,94,0,286,287,5,180,0,0,287,288,5,220,0,0,288,289,3,190,95,0,289,1037,1,0,0,0,290,291,5,21,0,0,291,292,5,195,0,0,292,293,3,188,94,0,293,294,5,203,0,0,294,295,5,29,0,0,295,296,3,208,104,0,296,1037,1,0,0,0,297,298,5,44,0,0,298,302,5,212,0,0,299,300,5,101,0,0,300,301,5,147,0,0,301,303,5,77,0,0,302,299,1,0,0,0,302,303,1,0,0,0,303,304,1,0,0,0,304,306,3,178,89,0,305,307,3,94,47,0,306,305,1,0,0,0,306,307,1,0,0,0,307,310,1,0,0,0,308,309,5,40,0,0,309,311,3,116,58,0,310,308,1,0,0,0,310,311,1,0,0,0,311,314,1,0,0,0,312,313,5,243,0,0,313,315,3,28,14,0,314,312,1,0,0,0,314,315,1,0,0,0,315,316,1,0,0,0,316,322,5,26,0,0,317,323,3,18,9,0,318,319,5,1,0,0,319,320,3,18,9,0,320,321,5,2,0,0,321,323,1,0,0,0,322,317,1,0,0,0,322,318,1,0,0,0,323,329,1,0,0,0,324,326,5,243,0,0,325,327,5,144,0,0,326,325,1,0,0,0,326,327,1,0,0,0,327,328,1,0,0,0,328,330,5,56,0,0,329,324,1,0,0,0,329,330,1,0,0,0,330,1037,1,0,0,0,331,332,5,44,0,0,332,336,5,212,0,0,333,334,5,101,0,0,334,335,5,147,0,0,335,337,5,77,0,0,336,333,1,0,0,0,336,337,1,0,0,0,337,338,1,0,0,0,338,339,3,178,89,0,339,340,5,1,0,0,340,345,3,22,11,0,341,342,5,3,0,0,342,344,3,22,11,0,343,341,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,345,346,1,0,0,0,346,348,1,0,0,0,347,345,1,0,0,0,348,351,5,2,0,0,349,350,5,40,0,0,350,352,3,116,58,0,351,349,1,0,0,0,351,352,1,0,0,0,352,355,1,0,0,0,353,354,5,243,0,0,354,356,3,28,14,0,355,353,1,0,0,0,355,356,1,0,0,0,356,1037,1,0,0,0,357,358,5,69,0,0,358,361,5,212,0,0,359,360,5,101,0,0,360,362,5,77,0,0,361,359,1,0,0,0,361,362,1,0,0,0,362,363,1,0,0,0,363,1037,3,176,88,0,364,365,5,108,0,0,365,366,5,111,0,0,366,368,3,176,88,0,367,369,3,96,48,0,368,367,1,0,0,0,368,369,1,0,0,0,369,370,1,0,0,0,370,371,3,18,9,0,371,1037,1,0,0,0,372,373,5,62,0,0,373,374,5,88,0,0,374,377,3,176,88,0,375,376,5,241,0,0,376,378,3,104,52,0,377,375,1,0,0,0,377,378,1,0,0,0,378,1037,1,0,0,0,379,380,5,222,0,0,380,381,5,212,0,0,381,1037,3,176,88,0,382,383,5,21,0,0,383,386,5,212,0,0,384,385,5,101,0,0,385,387,5,77,0,0,386,384,1,0,0,0,386,387,1,0,0,0,387,388,1,0,0,0,388,389,3,176,88,0,389,390,5,180,0,0,390,391,5,220,0,0,391,392,3,178,89,0,392,1037,1,0,0,0,393,394,5,40,0,0,394,395,5,153,0,0,395,396,5,212,0,0,396,397,3,176,88,0,397,400,5,114,0,0,398,401,3,116,58,0,399,401,5,148,0,0,400,398,1,0,0,0,400,399,1,0,0,0,401,1037,1,0,0,0,402,403,5,40,0,0,403,404,5,153,0,0,404,405,5,38,0,0,405,406,3,200,100,0,406,409,5,114,0,0,407,410,3,116,58,0,408,410,5,148,0,0,409,407,1,0,0,0,409,408,1,0,0,0,410,1037,1,0,0,0,411,412,5,21,0,0,412,415,5,212,0,0,413,414,5,101,0,0,414,416,5,77,0,0,415,413,1,0,0,0,415,416,1,0,0,0,416,417,1,0,0,0,417,418,3,176,88,0,418,419,5,180,0,0,419,422,5,38,0,0,420,421,5,101,0,0,421,423,5,77,0,0,422,420,1,0,0,0,422,423,1,0,0,0,423,424,1,0,0,0,424,425,3,200,100,0,425,426,5,220,0,0,426,427,3,202,101,0,427,1037,1,0,0,0,428,429,5,21,0,0,429,432,5,212,0,0,430,431,5,101,0,0,431,433,5,77,0,0,432,430,1,0,0,0,432,433,1,0,0,0,433,434,1,0,0,0,434,435,3,176,88,0,435,436,5,69,0,0,436,439,5,38,0,0,437,438,5,101,0,0,438,440,5,77,0,0,439,437,1,0,0,0,439,440,1,0,0,0,440,441,1,0,0,0,441,442,3,200,100,0,442,1037,1,0,0,0,443,444,5,21,0,0,444,447,5,212,0,0,445,446,5,101,0,0,446,448,5,77,0,0,447,445,1,0,0,0,447,448,1,0,0,0,448,449,1,0,0,0,449,450,3,176,88,0,450,451,5,17,0,0,451,455,5,38,0,0,452,453,5,101,0,0,453,454,5,147,0,0,454,456,5,77,0,0,455,452,1,0,0,0,455,456,1,0,0,0,456,457,1,0,0,0,457,458,3,24,12,0,458,1037,1,0,0,0,459,460,5,21,0,0,460,461,5,212,0,0,461,462,3,176,88,0,462,463,5,203,0,0,463,464,5,29,0,0,464,465,3,208,104,0,465,1037,1,0,0,0,466,467,5,21,0,0,467,468,5,212,0,0,468,469,3,176,88,0,469,470,5,203,0,0,470,471,5,175,0,0,471,472,3,30,15,0,472,1037,1,0,0,0,473,474,5,21,0,0,474,475,5,212,0,0,475,476,3,176,88,0,476,477,5,76,0,0,477,490,3,212,106,0,478,487,5,1,0,0,479,484,3,166,83,0,480,481,5,3,0,0,481,483,3,166,83,0,482,480,1,0,0,0,483,486,1,0,0,0,484,482,1,0,0,0,484,485,1,0,0,0,485,488,1,0,0,0,486,484,1,0,0,0,487,479,1,0,0,0,487,488,1,0,0,0,488,489,1,0,0,0,489,491,5,2,0,0,490,478,1,0,0,0,490,491,1,0,0,0,491,494,1,0,0,0,492,493,5,241,0,0,493,495,3,104,52,0,494,492,1,0,0,0,494,495,1,0,0,0,495,1037,1,0,0,0,496,497,5,22,0,0,497,500,3,176,88,0,498,499,5,243,0,0,499,501,3,28,14,0,500,498,1,0,0,0,500,501,1,0,0,0,501,1037,1,0,0,0,502,505,5,44,0,0,503,504,5,157,0,0,504,506,5,182,0,0,505,503,1,0,0,0,505,506,1,0,0,0,506,507,1,0,0,0,507,508,5,133,0,0,508,512,5,239,0,0,509,510,5,101,0,0,510,511,5,147,0,0,511,513,5,77,0,0,512,509,1,0,0,0,512,513,1,0,0,0,513,514,1,0,0,0,514,517,3,182,91,0,515,516,5,40,0,0,516,518,3,116,58,0,517,515,1,0,0,0,517,518,1,0,0,0,518,521,1,0,0,0,519,520,5,243,0,0,520,522,3,28,14,0,521,519,1,0,0,0,521,522,1,0,0,0,522,523,1,0,0,0,523,524,5,26,0,0,524,525,3,18,9,0,525,1037,1,0,0,0,526,529,5,44,0,0,527,528,5,157,0,0,528,530,5,182,0,0,529,527,1,0,0,0,529,530,1,0,0,0,530,531,1,0,0,0,531,532,5,239,0,0,532,535,3,182,91,0,533,534,5,40,0,0,534,536,3,116,58,0,535,533,1,0,0,0,535,536,1,0,0,0,536,539,1,0,0,0,537,538,5,198,0,0,538,540,7,1,0,0,539,537,1,0,0,0,539,540,1,0,0,0,540,541,1,0,0,0,541,542,5,26,0,0,542,543,3,18,9,0,543,1037,1,0,0,0,544,545,5,179,0,0,545,546,5,133,0,0,546,547,5,239,0,0,547,1037,3,180,90,0,548,549,5,69,0,0,549,550,5,133,0,0,550,553,5,239,0,0,551,552,5,101,0,0,552,554,5,77,0,0,553,551,1,0,0,0,553,554,1,0,0,0,554,555,1,0,0,0,555,1037,3,180,90,0,556,557,5,21,0,0,557,558,5,133,0,0,558,561,5,239,0,0,559,560,5,101,0,0,560,562,5,77,0,0,561,559,1,0,0,0,561,562,1,0,0,0,562,563,1,0,0,0,563,564,3,180,90,0,564,565,5,180,0,0,565,566,5,220,0,0,566,567,3,182,91,0,567,1037,1,0,0,0,568,569,5,21,0,0,569,570,5,133,0,0,570,571,5,239,0,0,571,572,3,180,90,0,572,573,5,203,0,0,573,574,5,175,0,0,574,575,3,30,15,0,575,1037,1,0,0,0,576,577,5,69,0,0,577,580,5,239,0,0,578,579,5,101,0,0,579,581,5,77,0,0,580,578,1,0,0,0,580,581,1,0,0,0,581,582,1,0,0,0,582,1037,3,180,90,0,583,584,5,21,0,0,584,585,5,239,0,0,585,586,3,180,90,0,586,587,5,180,0,0,587,588,5,220,0,0,588,589,3,182,91,0,589,1037,1,0,0,0,590,591,5,21,0,0,591,592,5,239,0,0,592,593,3,180,90,0,593,594,5,203,0,0,594,595,5,29,0,0,595,596,3,208,104,0,596,1037,1,0,0,0,597,598,5,33,0,0,598,599,3,198,99,0,599,608,5,1,0,0,600,605,3,166,83,0,601,602,5,3,0,0,602,604,3,166,83,0,603,601,1,0,0,0,604,607,1,0,0,0,605,603,1,0,0,0,605,606,1,0,0,0,606,609,1,0,0,0,607,605,1,0,0,0,608,600,1,0,0,0,608,609,1,0,0,0,609,610,1,0,0,0,610,611,5,2,0,0,611,1037,1,0,0,0,612,613,5,44,0,0,613,614,5,188,0,0,614,618,3,212,106,0,615,616,5,243,0,0,616,617,5,18,0,0,617,619,3,206,103,0,618,615,1,0,0,0,618,619,1,0,0,0,619,622,1,0,0,0,620,621,5,103,0,0,621,623,3,194,97,0,622,620,1,0,0,0,622,623,1,0,0,0,623,1037,1,0,0,0,624,625,5,69,0,0,625,626,5,188,0,0,626,1037,3,212,106,0,627,628,5,91,0,0,628,629,3,210,105,0,629,630,5,220,0,0,630,635,3,208,104,0,631,632,5,3,0,0,632,634,3,208,104,0,633,631,1,0,0,0,634,637,1,0,0,0,635,633,1,0,0,0,635,636,1,0,0,0,636,641,1,0,0,0,637,635,1,0,0,0,638,639,5,243,0,0,639,640,5,18,0,0,640,642,5,156,0,0,641,638,1,0,0,0,641,642,1,0,0,0,642,646,1,0,0,0,643,644,5,92,0,0,644,645,5,32,0,0,645,647,3,206,103,0,646,643,1,0,0,0,646,647,1,0,0,0,647,650,1,0,0,0,648,649,5,103,0,0,649,651,3,194,97,0,650,648,1,0,0,0,650,651,1,0,0,0,651,1037,1,0,0,0,652,656,5,186,0,0,653,654,5,18,0,0,654,655,5,156,0,0,655,657,5,86,0,0,656,653,1,0,0,0,656,657,1,0,0,0,657,658,1,0,0,0,658,659,3,210,105,0,659,660,5,88,0,0,660,665,3,208,104,0,661,662,5,3,0,0,662,664,3,208,104,0,663,661,1,0,0,0,664,667,1,0,0,0,665,663,1,0,0,0,665,666,1,0,0,0,666,671,1,0,0,0,667,665,1,0,0,0,668,669,5,92,0,0,669,670,5,32,0,0,670,672,3,206,103,0,671,668,1,0,0,0,671,672,1,0,0,0,672,675,1,0,0,0,673,674,5,103,0,0,674,676,3,194,97,0,675,673,1,0,0,0,675,676,1,0,0,0,676,1037,1,0,0,0,677,678,5,203,0,0,678,682,5,188,0,0,679,683,5,20,0,0,680,683,5,145,0,0,681,683,3,212,106,0,682,679,1,0,0,0,682,680,1,0,0,0,682,681,1,0,0,0,683,686,1,0,0,0,684,685,5,103,0,0,685,687,3,194,97,0,686,684,1,0,0,0,686,687,1,0,0,0,687,1037,1,0,0,0,688,699,5,91,0,0,689,694,3,172,86,0,690,691,5,3,0,0,691,693,3,172,86,0,692,690,1,0,0,0,693,696,1,0,0,0,694,692,1,0,0,0,694,695,1,0,0,0,695,700,1,0,0,0,696,694,1,0,0,0,697,698,5,20,0,0,698,700,5,174,0,0,699,689,1,0,0,0,699,697,1,0,0,0,700,701,1,0,0,0,701,710,5,153,0,0,702,704,5,195,0,0,703,702,1,0,0,0,703,704,1,0,0,0,704,705,1,0,0,0,705,711,3,188,94,0,706,708,5,212,0,0,707,706,1,0,0,0,707,708,1,0,0,0,708,709,1,0,0,0,709,711,3,176,88,0,710,703,1,0,0,0,710,707,1,0,0,0,710,711,1,0,0,0,711,712,1,0,0,0,712,713,5,220,0,0,713,717,3,208,104,0,714,715,5,243,0,0,715,716,5,91,0,0,716,718,5,156,0,0,717,714,1,0,0,0,717,718,1,0,0,0,718,1037,1,0,0,0,719,730,5,94,0,0,720,725,3,172,86,0,721,722,5,3,0,0,722,724,3,172,86,0,723,721,1,0,0,0,724,727,1,0,0,0,725,723,1,0,0,0,725,726,1,0,0,0,726,731,1,0,0,0,727,725,1,0,0,0,728,729,5,20,0,0,729,731,5,174,0,0,730,720,1,0,0,0,730,728,1,0,0,0,731,732,1,0,0,0,732,741,5,153,0,0,733,735,5,195,0,0,734,733,1,0,0,0,734,735,1,0,0,0,735,736,1,0,0,0,736,742,3,188,94,0,737,739,5,212,0,0,738,737,1,0,0,0,738,739,1,0,0,0,739,740,1,0,0,0,740,742,3,176,88,0,741,734,1,0,0,0,741,738,1,0,0,0,742,743,1,0,0,0,743,744,5,220,0,0,744,745,3,208,104,0,745,1037,1,0,0,0,746,750,5,186,0,0,747,748,5,91,0,0,748,749,5,156,0,0,749,751,5,86,0,0,750,747,1,0,0,0,750,751,1,0,0,0,751,762,1,0,0,0,752,757,3,172,86,0,753,754,5,3,0,0,754,756,3,172,86,0,755,753,1,0,0,0,756,759,1,0,0,0,757,755,1,0,0,0,757,758,1,0,0,0,758,763,1,0,0,0,759,757,1,0,0,0,760,761,5,20,0,0,761,763,5,174,0,0,762,752,1,0,0,0,762,760,1,0,0,0,763,764,1,0,0,0,764,773,5,153,0,0,765,767,5,195,0,0,766,765,1,0,0,0,766,767,1,0,0,0,767,768,1,0,0,0,768,774,3,188,94,0,769,771,5,212,0,0,770,769,1,0,0,0,770,771,1,0,0,0,771,772,1,0,0,0,772,774,3,176,88,0,773,766,1,0,0,0,773,770,1,0,0,0,773,774,1,0,0,0,774,775,1,0,0,0,775,776,5,88,0,0,776,1037,3,208,104,0,777,778,5,205,0,0,778,784,5,93,0,0,779,781,5,153,0,0,780,782,5,212,0,0,781,780,1,0,0,0,781,782,1,0,0,0,782,783,1,0,0,0,783,785,3,176,88,0,784,779,1,0,0,0,784,785,1,0,0,0,785,1037,1,0,0,0,786,788,5,78,0,0,787,789,5,22,0,0,788,787,1,0,0,0,788,789,1,0,0,0,789,791,1,0,0,0,790,792,5,238,0,0,791,790,1,0,0,0,791,792,1,0,0,0,792,804,1,0,0,0,793,794,5,1,0,0,794,799,3,160,80,0,795,796,5,3,0,0,796,798,3,160,80,0,797,795,1,0,0,0,798,801,1,0,0,0,799,797,1,0,0,0,799,800,1,0,0,0,800,802,1,0,0,0,801,799,1,0,0,0,802,803,5,2,0,0,803,805,1,0,0,0,804,793,1,0,0,0,804,805,1,0,0,0,805,806,1,0,0,0,806,1037,3,16,8,0,807,808,5,205,0,0,808,809,5,44,0,0,809,810,5,212,0,0,810,1037,3,176,88,0,811,812,5,205,0,0,812,813,5,44,0,0,813,814,5,195,0,0,814,1037,3,188,94,0,815,816,5,205,0,0,816,817,5,44,0,0,817,818,5,239,0,0,818,1037,3,180,90,0,819,820,5,205,0,0,820,821,5,44,0,0,821,822,5,133,0,0,822,823,5,239,0,0,823,1037,3,180,90,0,824,825,5,205,0,0,825,828,5,213,0,0,826,827,7,2,0,0,827,829,3,188,94,0,828,826,1,0,0,0,828,829,1,0,0,0,829,836,1,0,0,0,830,831,5,122,0,0,831,834,3,116,58,0,832,833,5,73,0,0,833,835,3,116,58,0,834,832,1,0,0,0,834,835,1,0,0,0,835,837,1,0,0,0,836,830,1,0,0,0,836,837,1,0,0,0,837,1037,1,0,0,0,838,839,5,205,0,0,839,842,5,196,0,0,840,841,7,2,0,0,841,843,3,194,97,0,842,840,1,0,0,0,842,843,1,0,0,0,843,850,1,0,0,0,844,845,5,122,0,0,845,848,3,116,58,0,846,847,5,73,0,0,847,849,3,116,58,0,848,846,1,0,0,0,848,849,1,0,0,0,849,851,1,0,0,0,850,844,1,0,0,0,850,851,1,0,0,0,851,1037,1,0,0,0,852,853,5,205,0,0,853,860,5,37,0,0,854,855,5,122,0,0,855,858,3,116,58,0,856,857,5,73,0,0,857,859,3,116,58,0,858,856,1,0,0,0,858,859,1,0,0,0,859,861,1,0,0,0,860,854,1,0,0,0,860,861,1,0,0,0,861,1037,1,0,0,0,862,863,5,205,0,0,863,864,5,39,0,0,864,866,7,2,0,0,865,867,3,174,87,0,866,865,1,0,0,0,866,867,1,0,0,0,867,874,1,0,0,0,868,869,5,122,0,0,869,872,3,116,58,0,870,871,5,73,0,0,871,873,3,116,58,0,872,870,1,0,0,0,872,873,1,0,0,0,873,875,1,0,0,0,874,868,1,0,0,0,874,875,1,0,0,0,875,1037,1,0,0,0,876,877,5,205,0,0,877,878,5,208,0,0,878,879,5,86,0,0,879,1037,3,176,88,0,880,881,5,205,0,0,881,882,5,208,0,0,882,883,5,86,0,0,883,884,5,1,0,0,884,885,3,18,9,0,885,886,5,2,0,0,886,1037,1,0,0,0,887,889,5,205,0,0,888,890,5,47,0,0,889,888,1,0,0,0,889,890,1,0,0,0,890,891,1,0,0,0,891,894,5,189,0,0,892,893,7,2,0,0,893,895,3,212,106,0,894,892,1,0,0,0,894,895,1,0,0,0,895,1037,1,0,0,0,896,897,5,205,0,0,897,898,5,188,0,0,898,901,5,93,0,0,899,900,7,2,0,0,900,902,3,212,106,0,901,899,1,0,0,0,901,902,1,0,0,0,902,1037,1,0,0,0,903,904,5,64,0,0,904,1037,3,174,87,0,905,906,5,63,0,0,906,1037,3,174,87,0,907,908,5,205,0,0,908,915,5,90,0,0,909,910,5,122,0,0,910,913,3,116,58,0,911,912,5,73,0,0,912,914,3,116,58,0,913,911,1,0,0,0,913,914,1,0,0,0,914,916,1,0,0,0,915,909,1,0,0,0,915,916,1,0,0,0,916,1037,1,0,0,0,917,918,5,205,0,0,918,925,5,202,0,0,919,920,5,122,0,0,920,923,3,116,58,0,921,922,5,73,0,0,922,924,3,116,58,0,923,921,1,0,0,0,923,924,1,0,0,0,924,926,1,0,0,0,925,919,1,0,0,0,925,926,1,0,0,0,926,1037,1,0,0,0,927,928,5,203,0,0,928,929,5,202,0,0,929,930,3,204,102,0,930,931,5,249,0,0,931,932,3,102,51,0,932,1037,1,0,0,0,933,934,5,183,0,0,934,935,5,202,0,0,935,1037,3,204,102,0,936,937,5,207,0,0,937,946,5,221,0,0,938,943,3,162,81,0,939,940,5,3,0,0,940,942,3,162,81,0,941,939,1,0,0,0,942,945,1,0,0,0,943,941,1,0,0,0,943,944,1,0,0,0,944,947,1,0,0,0,945,943,1,0,0,0,946,938,1,0,0,0,946,947,1,0,0,0,947,1037,1,0,0,0,948,950,5,41,0,0,949,951,5,245,0,0,950,949,1,0,0,0,950,951,1,0,0,0,951,1037,1,0,0,0,952,954,5,190,0,0,953,955,5,245,0,0,954,953,1,0,0,0,954,955,1,0,0,0,955,1037,1,0,0,0,956,957,5,173,0,0,957,958,3,212,106,0,958,959,5,88,0,0,959,960,3,16,8,0,960,1037,1,0,0,0,961,962,5,60,0,0,962,963,5,173,0,0,963,1037,3,212,106,0,964,965,5,76,0,0,965,975,3,212,106,0,966,967,5,235,0,0,967,972,3,102,51,0,968,969,5,3,0,0,969,971,3,102,51,0,970,968,1,0,0,0,971,974,1,0,0,0,972,970,1,0,0,0,972,973,1,0,0,0,973,976,1,0,0,0,974,972,1,0,0,0,975,966,1,0,0,0,975,976,1,0,0,0,976,1037,1,0,0,0,977,978,5,64,0,0,978,979,5,107,0,0,979,1037,3,212,106,0,980,981,5,64,0,0,981,982,5,161,0,0,982,1037,3,212,106,0,983,984,5,203,0,0,984,985,5,166,0,0,985,1037,3,170,85,0,986,987,5,203,0,0,987,988,5,218,0,0,988,991,5,248,0,0,989,992,5,124,0,0,990,992,3,102,51,0,991,989,1,0,0,0,991,990,1,0,0,0,992,1037,1,0,0,0,993,994,5,232,0,0,994,995,3,176,88,0,995,996,5,203,0,0,996,1001,3,158,79,0,997,998,5,3,0,0,998,1e3,3,158,79,0,999,997,1,0,0,0,1e3,1003,1,0,0,0,1001,999,1,0,0,0,1001,1002,1,0,0,0,1002,1006,1,0,0,0,1003,1001,1,0,0,0,1004,1005,5,241,0,0,1005,1007,3,104,52,0,1006,1004,1,0,0,0,1006,1007,1,0,0,0,1007,1037,1,0,0,0,1008,1009,5,135,0,0,1009,1010,5,111,0,0,1010,1015,3,176,88,0,1011,1013,5,26,0,0,1012,1011,1,0,0,0,1012,1013,1,0,0,0,1013,1014,1,0,0,0,1014,1016,3,212,106,0,1015,1012,1,0,0,0,1015,1016,1,0,0,0,1016,1017,1,0,0,0,1017,1018,5,235,0,0,1018,1019,3,68,34,0,1019,1020,5,153,0,0,1020,1022,3,102,51,0,1021,1023,3,142,71,0,1022,1021,1,0,0,0,1023,1024,1,0,0,0,1024,1022,1,0,0,0,1024,1025,1,0,0,0,1025,1037,1,0,0,0,1026,1027,5,205,0,0,1027,1028,5,40,0,0,1028,1029,5,153,0,0,1029,1030,5,212,0,0,1030,1037,3,176,88,0,1031,1032,5,205,0,0,1032,1033,5,40,0,0,1033,1034,5,153,0,0,1034,1035,5,38,0,0,1035,1037,3,200,100,0,1036,254,1,0,0,0,1036,255,1,0,0,0,1036,257,1,0,0,0,1036,273,1,0,0,0,1036,283,1,0,0,0,1036,290,1,0,0,0,1036,297,1,0,0,0,1036,331,1,0,0,0,1036,357,1,0,0,0,1036,364,1,0,0,0,1036,372,1,0,0,0,1036,379,1,0,0,0,1036,382,1,0,0,0,1036,393,1,0,0,0,1036,402,1,0,0,0,1036,411,1,0,0,0,1036,428,1,0,0,0,1036,443,1,0,0,0,1036,459,1,0,0,0,1036,466,1,0,0,0,1036,473,1,0,0,0,1036,496,1,0,0,0,1036,502,1,0,0,0,1036,526,1,0,0,0,1036,544,1,0,0,0,1036,548,1,0,0,0,1036,556,1,0,0,0,1036,568,1,0,0,0,1036,576,1,0,0,0,1036,583,1,0,0,0,1036,590,1,0,0,0,1036,597,1,0,0,0,1036,612,1,0,0,0,1036,624,1,0,0,0,1036,627,1,0,0,0,1036,652,1,0,0,0,1036,677,1,0,0,0,1036,688,1,0,0,0,1036,719,1,0,0,0,1036,746,1,0,0,0,1036,777,1,0,0,0,1036,786,1,0,0,0,1036,807,1,0,0,0,1036,811,1,0,0,0,1036,815,1,0,0,0,1036,819,1,0,0,0,1036,824,1,0,0,0,1036,838,1,0,0,0,1036,852,1,0,0,0,1036,862,1,0,0,0,1036,876,1,0,0,0,1036,880,1,0,0,0,1036,887,1,0,0,0,1036,896,1,0,0,0,1036,903,1,0,0,0,1036,905,1,0,0,0,1036,907,1,0,0,0,1036,917,1,0,0,0,1036,927,1,0,0,0,1036,933,1,0,0,0,1036,936,1,0,0,0,1036,948,1,0,0,0,1036,952,1,0,0,0,1036,956,1,0,0,0,1036,961,1,0,0,0,1036,964,1,0,0,0,1036,977,1,0,0,0,1036,980,1,0,0,0,1036,983,1,0,0,0,1036,986,1,0,0,0,1036,993,1,0,0,0,1036,1008,1,0,0,0,1036,1026,1,0,0,0,1036,1031,1,0,0,0,1037,17,1,0,0,0,1038,1040,3,20,10,0,1039,1038,1,0,0,0,1039,1040,1,0,0,0,1040,1041,1,0,0,0,1041,1042,3,36,18,0,1042,19,1,0,0,0,1043,1045,5,243,0,0,1044,1046,5,178,0,0,1045,1044,1,0,0,0,1045,1046,1,0,0,0,1046,1047,1,0,0,0,1047,1052,3,62,31,0,1048,1049,5,3,0,0,1049,1051,3,62,31,0,1050,1048,1,0,0,0,1051,1054,1,0,0,0,1052,1050,1,0,0,0,1052,1053,1,0,0,0,1053,21,1,0,0,0,1054,1052,1,0,0,0,1055,1058,3,24,12,0,1056,1058,3,26,13,0,1057,1055,1,0,0,0,1057,1056,1,0,0,0,1058,23,1,0,0,0,1059,1060,3,202,101,0,1060,1063,3,132,66,0,1061,1062,5,147,0,0,1062,1064,5,148,0,0,1063,1061,1,0,0,0,1063,1064,1,0,0,0,1064,1067,1,0,0,0,1065,1066,5,40,0,0,1066,1068,3,116,58,0,1067,1065,1,0,0,0,1067,1068,1,0,0,0,1068,1071,1,0,0,0,1069,1070,5,243,0,0,1070,1072,3,28,14,0,1071,1069,1,0,0,0,1071,1072,1,0,0,0,1072,25,1,0,0,0,1073,1074,5,122,0,0,1074,1077,3,176,88,0,1075,1076,7,3,0,0,1076,1078,5,175,0,0,1077,1075,1,0,0,0,1077,1078,1,0,0,0,1078,27,1,0,0,0,1079,1080,5,1,0,0,1080,1081,3,30,15,0,1081,1082,5,2,0,0,1082,29,1,0,0,0,1083,1088,3,32,16,0,1084,1085,5,3,0,0,1085,1087,3,32,16,0,1086,1084,1,0,0,0,1087,1090,1,0,0,0,1088,1086,1,0,0,0,1088,1089,1,0,0,0,1089,31,1,0,0,0,1090,1088,1,0,0,0,1091,1092,3,212,106,0,1092,1093,5,249,0,0,1093,1094,3,34,17,0,1094,33,1,0,0,0,1095,1098,5,59,0,0,1096,1098,3,102,51,0,1097,1095,1,0,0,0,1097,1096,1,0,0,0,1098,35,1,0,0,0,1099,1110,3,42,21,0,1100,1101,5,158,0,0,1101,1102,5,32,0,0,1102,1107,3,46,23,0,1103,1104,5,3,0,0,1104,1106,3,46,23,0,1105,1103,1,0,0,0,1106,1109,1,0,0,0,1107,1105,1,0,0,0,1107,1108,1,0,0,0,1108,1111,1,0,0,0,1109,1107,1,0,0,0,1110,1100,1,0,0,0,1110,1111,1,0,0,0,1111,1117,1,0,0,0,1112,1113,5,151,0,0,1113,1115,3,40,20,0,1114,1116,7,4,0,0,1115,1114,1,0,0,0,1115,1116,1,0,0,0,1116,1118,1,0,0,0,1117,1112,1,0,0,0,1117,1118,1,0,0,0,1118,1132,1,0,0,0,1119,1120,5,123,0,0,1120,1133,3,38,19,0,1121,1122,5,81,0,0,1122,1124,7,5,0,0,1123,1125,3,40,20,0,1124,1123,1,0,0,0,1124,1125,1,0,0,0,1125,1126,1,0,0,0,1126,1130,7,4,0,0,1127,1131,5,155,0,0,1128,1129,5,243,0,0,1129,1131,5,217,0,0,1130,1127,1,0,0,0,1130,1128,1,0,0,0,1131,1133,1,0,0,0,1132,1119,1,0,0,0,1132,1121,1,0,0,0,1132,1133,1,0,0,0,1133,37,1,0,0,0,1134,1137,5,20,0,0,1135,1137,3,40,20,0,1136,1134,1,0,0,0,1136,1135,1,0,0,0,1137,39,1,0,0,0,1138,1139,7,6,0,0,1139,41,1,0,0,0,1140,1141,6,21,-1,0,1141,1142,3,44,22,0,1142,1157,1,0,0,0,1143,1144,10,2,0,0,1144,1146,5,109,0,0,1145,1147,3,64,32,0,1146,1145,1,0,0,0,1146,1147,1,0,0,0,1147,1148,1,0,0,0,1148,1156,3,42,21,3,1149,1150,10,1,0,0,1150,1152,7,7,0,0,1151,1153,3,64,32,0,1152,1151,1,0,0,0,1152,1153,1,0,0,0,1153,1154,1,0,0,0,1154,1156,3,42,21,2,1155,1143,1,0,0,0,1155,1149,1,0,0,0,1156,1159,1,0,0,0,1157,1155,1,0,0,0,1157,1158,1,0,0,0,1158,43,1,0,0,0,1159,1157,1,0,0,0,1160,1177,3,48,24,0,1161,1162,5,212,0,0,1162,1177,3,176,88,0,1163,1164,5,237,0,0,1164,1169,3,102,51,0,1165,1166,5,3,0,0,1166,1168,3,102,51,0,1167,1165,1,0,0,0,1168,1171,1,0,0,0,1169,1167,1,0,0,0,1169,1170,1,0,0,0,1170,1177,1,0,0,0,1171,1169,1,0,0,0,1172,1173,5,1,0,0,1173,1174,3,36,18,0,1174,1175,5,2,0,0,1175,1177,1,0,0,0,1176,1160,1,0,0,0,1176,1161,1,0,0,0,1176,1163,1,0,0,0,1176,1172,1,0,0,0,1177,45,1,0,0,0,1178,1181,3,200,100,0,1179,1181,3,102,51,0,1180,1178,1,0,0,0,1180,1179,1,0,0,0,1181,1183,1,0,0,0,1182,1184,7,8,0,0,1183,1182,1,0,0,0,1183,1184,1,0,0,0,1184,1187,1,0,0,0,1185,1186,5,150,0,0,1186,1188,7,9,0,0,1187,1185,1,0,0,0,1187,1188,1,0,0,0,1188,47,1,0,0,0,1189,1191,5,200,0,0,1190,1192,3,64,32,0,1191,1190,1,0,0,0,1191,1192,1,0,0,0,1192,1193,1,0,0,0,1193,1198,3,66,33,0,1194,1195,5,3,0,0,1195,1197,3,66,33,0,1196,1194,1,0,0,0,1197,1200,1,0,0,0,1198,1196,1,0,0,0,1198,1199,1,0,0,0,1199,1210,1,0,0,0,1200,1198,1,0,0,0,1201,1202,5,88,0,0,1202,1207,3,68,34,0,1203,1204,5,3,0,0,1204,1206,3,68,34,0,1205,1203,1,0,0,0,1206,1209,1,0,0,0,1207,1205,1,0,0,0,1207,1208,1,0,0,0,1208,1211,1,0,0,0,1209,1207,1,0,0,0,1210,1201,1,0,0,0,1210,1211,1,0,0,0,1211,1214,1,0,0,0,1212,1213,5,241,0,0,1213,1215,3,104,52,0,1214,1212,1,0,0,0,1214,1215,1,0,0,0,1215,1219,1,0,0,0,1216,1217,5,96,0,0,1217,1218,5,32,0,0,1218,1220,3,50,25,0,1219,1216,1,0,0,0,1219,1220,1,0,0,0,1220,1223,1,0,0,0,1221,1222,5,99,0,0,1222,1224,3,104,52,0,1223,1221,1,0,0,0,1223,1224,1,0,0,0,1224,1234,1,0,0,0,1225,1226,5,242,0,0,1226,1231,3,58,29,0,1227,1228,5,3,0,0,1228,1230,3,58,29,0,1229,1227,1,0,0,0,1230,1233,1,0,0,0,1231,1229,1,0,0,0,1231,1232,1,0,0,0,1232,1235,1,0,0,0,1233,1231,1,0,0,0,1234,1225,1,0,0,0,1234,1235,1,0,0,0,1235,49,1,0,0,0,1236,1238,3,64,32,0,1237,1236,1,0,0,0,1237,1238,1,0,0,0,1238,1239,1,0,0,0,1239,1244,3,52,26,0,1240,1241,5,3,0,0,1241,1243,3,52,26,0,1242,1240,1,0,0,0,1243,1246,1,0,0,0,1244,1242,1,0,0,0,1244,1245,1,0,0,0,1245,51,1,0,0,0,1246,1244,1,0,0,0,1247,1288,3,54,27,0,1248,1249,5,191,0,0,1249,1258,5,1,0,0,1250,1255,3,56,28,0,1251,1252,5,3,0,0,1252,1254,3,56,28,0,1253,1251,1,0,0,0,1254,1257,1,0,0,0,1255,1253,1,0,0,0,1255,1256,1,0,0,0,1256,1259,1,0,0,0,1257,1255,1,0,0,0,1258,1250,1,0,0,0,1258,1259,1,0,0,0,1259,1260,1,0,0,0,1260,1288,5,2,0,0,1261,1262,5,46,0,0,1262,1271,5,1,0,0,1263,1268,3,56,28,0,1264,1265,5,3,0,0,1265,1267,3,56,28,0,1266,1264,1,0,0,0,1267,1270,1,0,0,0,1268,1266,1,0,0,0,1268,1269,1,0,0,0,1269,1272,1,0,0,0,1270,1268,1,0,0,0,1271,1263,1,0,0,0,1271,1272,1,0,0,0,1272,1273,1,0,0,0,1273,1288,5,2,0,0,1274,1275,5,97,0,0,1275,1276,5,204,0,0,1276,1277,5,1,0,0,1277,1282,3,54,27,0,1278,1279,5,3,0,0,1279,1281,3,54,27,0,1280,1278,1,0,0,0,1281,1284,1,0,0,0,1282,1280,1,0,0,0,1282,1283,1,0,0,0,1283,1285,1,0,0,0,1284,1282,1,0,0,0,1285,1286,5,2,0,0,1286,1288,1,0,0,0,1287,1247,1,0,0,0,1287,1248,1,0,0,0,1287,1261,1,0,0,0,1287,1274,1,0,0,0,1288,53,1,0,0,0,1289,1298,5,1,0,0,1290,1295,3,56,28,0,1291,1292,5,3,0,0,1292,1294,3,56,28,0,1293,1291,1,0,0,0,1294,1297,1,0,0,0,1295,1293,1,0,0,0,1295,1296,1,0,0,0,1296,1299,1,0,0,0,1297,1295,1,0,0,0,1298,1290,1,0,0,0,1298,1299,1,0,0,0,1299,1300,1,0,0,0,1300,1303,5,2,0,0,1301,1303,3,56,28,0,1302,1289,1,0,0,0,1302,1301,1,0,0,0,1303,55,1,0,0,0,1304,1307,3,200,100,0,1305,1307,3,102,51,0,1306,1304,1,0,0,0,1306,1305,1,0,0,0,1307,57,1,0,0,0,1308,1309,3,212,106,0,1309,1310,5,26,0,0,1310,1311,5,1,0,0,1311,1312,3,60,30,0,1312,1313,5,2,0,0,1313,59,1,0,0,0,1314,1316,3,212,106,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1327,1,0,0,0,1317,1318,5,163,0,0,1318,1319,5,32,0,0,1319,1324,3,102,51,0,1320,1321,5,3,0,0,1321,1323,3,102,51,0,1322,1320,1,0,0,0,1323,1326,1,0,0,0,1324,1322,1,0,0,0,1324,1325,1,0,0,0,1325,1328,1,0,0,0,1326,1324,1,0,0,0,1327,1317,1,0,0,0,1327,1328,1,0,0,0,1328,1339,1,0,0,0,1329,1330,5,158,0,0,1330,1331,5,32,0,0,1331,1336,3,46,23,0,1332,1333,5,3,0,0,1333,1335,3,46,23,0,1334,1332,1,0,0,0,1335,1338,1,0,0,0,1336,1334,1,0,0,0,1336,1337,1,0,0,0,1337,1340,1,0,0,0,1338,1336,1,0,0,0,1339,1329,1,0,0,0,1339,1340,1,0,0,0,1340,1342,1,0,0,0,1341,1343,3,146,73,0,1342,1341,1,0,0,0,1342,1343,1,0,0,0,1343,61,1,0,0,0,1344,1346,3,212,106,0,1345,1347,3,98,49,0,1346,1345,1,0,0,0,1346,1347,1,0,0,0,1347,1348,1,0,0,0,1348,1349,5,26,0,0,1349,1350,5,1,0,0,1350,1351,3,18,9,0,1351,1352,5,2,0,0,1352,63,1,0,0,0,1353,1354,7,10,0,0,1354,65,1,0,0,0,1355,1358,3,200,100,0,1356,1358,3,102,51,0,1357,1355,1,0,0,0,1357,1356,1,0,0,0,1358,1363,1,0,0,0,1359,1361,5,26,0,0,1360,1359,1,0,0,0,1360,1361,1,0,0,0,1361,1362,1,0,0,0,1362,1364,3,212,106,0,1363,1360,1,0,0,0,1363,1364,1,0,0,0,1364,1374,1,0,0,0,1365,1366,3,110,55,0,1366,1367,5,4,0,0,1367,1370,5,257,0,0,1368,1369,5,26,0,0,1369,1371,3,98,49,0,1370,1368,1,0,0,0,1370,1371,1,0,0,0,1371,1374,1,0,0,0,1372,1374,5,257,0,0,1373,1357,1,0,0,0,1373,1365,1,0,0,0,1373,1372,1,0,0,0,1374,67,1,0,0,0,1375,1376,6,34,-1,0,1376,1377,3,74,37,0,1377,1396,1,0,0,0,1378,1392,10,2,0,0,1379,1380,5,45,0,0,1380,1381,5,116,0,0,1381,1393,3,74,37,0,1382,1383,3,70,35,0,1383,1384,5,116,0,0,1384,1385,3,68,34,0,1385,1386,3,72,36,0,1386,1393,1,0,0,0,1387,1388,5,138,0,0,1388,1389,3,70,35,0,1389,1390,5,116,0,0,1390,1391,3,74,37,0,1391,1393,1,0,0,0,1392,1379,1,0,0,0,1392,1382,1,0,0,0,1392,1387,1,0,0,0,1393,1395,1,0,0,0,1394,1378,1,0,0,0,1395,1398,1,0,0,0,1396,1394,1,0,0,0,1396,1397,1,0,0,0,1397,69,1,0,0,0,1398,1396,1,0,0,0,1399,1401,5,106,0,0,1400,1399,1,0,0,0,1400,1401,1,0,0,0,1401,1415,1,0,0,0,1402,1404,5,120,0,0,1403,1405,5,160,0,0,1404,1403,1,0,0,0,1404,1405,1,0,0,0,1405,1415,1,0,0,0,1406,1408,5,187,0,0,1407,1409,5,160,0,0,1408,1407,1,0,0,0,1408,1409,1,0,0,0,1409,1415,1,0,0,0,1410,1412,5,89,0,0,1411,1413,5,160,0,0,1412,1411,1,0,0,0,1412,1413,1,0,0,0,1413,1415,1,0,0,0,1414,1400,1,0,0,0,1414,1402,1,0,0,0,1414,1406,1,0,0,0,1414,1410,1,0,0,0,1415,71,1,0,0,0,1416,1417,5,153,0,0,1417,1431,3,104,52,0,1418,1419,5,235,0,0,1419,1420,5,1,0,0,1420,1425,3,212,106,0,1421,1422,5,3,0,0,1422,1424,3,212,106,0,1423,1421,1,0,0,0,1424,1427,1,0,0,0,1425,1423,1,0,0,0,1425,1426,1,0,0,0,1426,1428,1,0,0,0,1427,1425,1,0,0,0,1428,1429,5,2,0,0,1429,1431,1,0,0,0,1430,1416,1,0,0,0,1430,1418,1,0,0,0,1431,73,1,0,0,0,1432,1439,3,78,39,0,1433,1434,5,214,0,0,1434,1435,3,76,38,0,1435,1436,5,1,0,0,1436,1437,3,102,51,0,1437,1438,5,2,0,0,1438,1440,1,0,0,0,1439,1433,1,0,0,0,1439,1440,1,0,0,0,1440,75,1,0,0,0,1441,1442,7,11,0,0,1442,77,1,0,0,0,1443,1526,3,92,46,0,1444,1445,5,132,0,0,1445,1456,5,1,0,0,1446,1447,5,163,0,0,1447,1448,5,32,0,0,1448,1453,3,102,51,0,1449,1450,5,3,0,0,1450,1452,3,102,51,0,1451,1449,1,0,0,0,1452,1455,1,0,0,0,1453,1451,1,0,0,0,1453,1454,1,0,0,0,1454,1457,1,0,0,0,1455,1453,1,0,0,0,1456,1446,1,0,0,0,1456,1457,1,0,0,0,1457,1468,1,0,0,0,1458,1459,5,158,0,0,1459,1460,5,32,0,0,1460,1465,3,46,23,0,1461,1462,5,3,0,0,1462,1464,3,46,23,0,1463,1461,1,0,0,0,1464,1467,1,0,0,0,1465,1463,1,0,0,0,1465,1466,1,0,0,0,1466,1469,1,0,0,0,1467,1465,1,0,0,0,1468,1458,1,0,0,0,1468,1469,1,0,0,0,1469,1479,1,0,0,0,1470,1471,5,134,0,0,1471,1476,3,80,40,0,1472,1473,5,3,0,0,1473,1475,3,80,40,0,1474,1472,1,0,0,0,1475,1478,1,0,0,0,1476,1474,1,0,0,0,1476,1477,1,0,0,0,1477,1480,1,0,0,0,1478,1476,1,0,0,0,1479,1470,1,0,0,0,1479,1480,1,0,0,0,1480,1482,1,0,0,0,1481,1483,3,82,41,0,1482,1481,1,0,0,0,1482,1483,1,0,0,0,1483,1487,1,0,0,0,1484,1485,5,19,0,0,1485,1486,5,129,0,0,1486,1488,3,86,43,0,1487,1484,1,0,0,0,1487,1488,1,0,0,0,1488,1490,1,0,0,0,1489,1491,7,12,0,0,1490,1489,1,0,0,0,1490,1491,1,0,0,0,1491,1492,1,0,0,0,1492,1493,5,167,0,0,1493,1494,5,1,0,0,1494,1495,3,152,76,0,1495,1505,5,2,0,0,1496,1497,5,209,0,0,1497,1502,3,88,44,0,1498,1499,5,3,0,0,1499,1501,3,88,44,0,1500,1498,1,0,0,0,1501,1504,1,0,0,0,1502,1500,1,0,0,0,1502,1503,1,0,0,0,1503,1506,1,0,0,0,1504,1502,1,0,0,0,1505,1496,1,0,0,0,1505,1506,1,0,0,0,1506,1507,1,0,0,0,1507,1508,5,65,0,0,1508,1513,3,90,45,0,1509,1510,5,3,0,0,1510,1512,3,90,45,0,1511,1509,1,0,0,0,1512,1515,1,0,0,0,1513,1511,1,0,0,0,1513,1514,1,0,0,0,1514,1516,1,0,0,0,1515,1513,1,0,0,0,1516,1524,5,2,0,0,1517,1519,5,26,0,0,1518,1517,1,0,0,0,1518,1519,1,0,0,0,1519,1520,1,0,0,0,1520,1522,3,212,106,0,1521,1523,3,98,49,0,1522,1521,1,0,0,0,1522,1523,1,0,0,0,1523,1525,1,0,0,0,1524,1518,1,0,0,0,1524,1525,1,0,0,0,1525,1527,1,0,0,0,1526,1444,1,0,0,0,1526,1527,1,0,0,0,1527,79,1,0,0,0,1528,1529,3,102,51,0,1529,1530,5,26,0,0,1530,1531,3,212,106,0,1531,81,1,0,0,0,1532,1533,5,154,0,0,1533,1534,5,192,0,0,1534,1535,5,168,0,0,1535,1544,5,129,0,0,1536,1537,5,20,0,0,1537,1538,5,193,0,0,1538,1539,5,168,0,0,1539,1541,5,129,0,0,1540,1542,3,84,42,0,1541,1540,1,0,0,0,1541,1542,1,0,0,0,1542,1544,1,0,0,0,1543,1532,1,0,0,0,1543,1536,1,0,0,0,1544,83,1,0,0,0,1545,1546,5,205,0,0,1546,1547,5,71,0,0,1547,1555,5,131,0,0,1548,1549,5,152,0,0,1549,1550,5,71,0,0,1550,1555,5,131,0,0,1551,1552,5,243,0,0,1552,1553,5,230,0,0,1553,1555,5,193,0,0,1554,1545,1,0,0,0,1554,1548,1,0,0,0,1554,1551,1,0,0,0,1555,85,1,0,0,0,1556,1557,5,5,0,0,1557,1558,5,220,0,0,1558,1559,5,139,0,0,1559,1576,5,192,0,0,1560,1561,5,5,0,0,1561,1562,5,165,0,0,1562,1563,5,118,0,0,1563,1576,5,192,0,0,1564,1565,5,5,0,0,1565,1566,5,220,0,0,1566,1567,5,84,0,0,1567,1576,3,212,106,0,1568,1569,5,5,0,0,1569,1570,5,220,0,0,1570,1571,5,118,0,0,1571,1576,3,212,106,0,1572,1573,5,5,0,0,1573,1574,5,220,0,0,1574,1576,3,212,106,0,1575,1556,1,0,0,0,1575,1560,1,0,0,0,1575,1564,1,0,0,0,1575,1568,1,0,0,0,1575,1572,1,0,0,0,1576,87,1,0,0,0,1577,1578,3,212,106,0,1578,1579,5,249,0,0,1579,1580,5,1,0,0,1580,1585,3,212,106,0,1581,1582,5,3,0,0,1582,1584,3,212,106,0,1583,1581,1,0,0,0,1584,1587,1,0,0,0,1585,1583,1,0,0,0,1585,1586,1,0,0,0,1586,1588,1,0,0,0,1587,1585,1,0,0,0,1588,1589,5,2,0,0,1589,89,1,0,0,0,1590,1591,3,212,106,0,1591,1592,5,26,0,0,1592,1593,3,102,51,0,1593,91,1,0,0,0,1594,1602,3,100,50,0,1595,1597,5,26,0,0,1596,1595,1,0,0,0,1596,1597,1,0,0,0,1597,1598,1,0,0,0,1598,1600,3,212,106,0,1599,1601,3,98,49,0,1600,1599,1,0,0,0,1600,1601,1,0,0,0,1601,1603,1,0,0,0,1602,1596,1,0,0,0,1602,1603,1,0,0,0,1603,93,1,0,0,0,1604,1605,5,1,0,0,1605,1610,3,202,101,0,1606,1607,5,3,0,0,1607,1609,3,202,101,0,1608,1606,1,0,0,0,1609,1612,1,0,0,0,1610,1608,1,0,0,0,1610,1611,1,0,0,0,1611,1613,1,0,0,0,1612,1610,1,0,0,0,1613,1614,5,2,0,0,1614,95,1,0,0,0,1615,1616,5,1,0,0,1616,1621,3,200,100,0,1617,1618,5,3,0,0,1618,1620,3,200,100,0,1619,1617,1,0,0,0,1620,1623,1,0,0,0,1621,1619,1,0,0,0,1621,1622,1,0,0,0,1622,1624,1,0,0,0,1623,1621,1,0,0,0,1624,1625,5,2,0,0,1625,97,1,0,0,0,1626,1627,5,1,0,0,1627,1632,3,212,106,0,1628,1629,5,3,0,0,1629,1631,3,212,106,0,1630,1628,1,0,0,0,1631,1634,1,0,0,0,1632,1630,1,0,0,0,1632,1633,1,0,0,0,1633,1635,1,0,0,0,1634,1632,1,0,0,0,1635,1636,5,2,0,0,1636,99,1,0,0,0,1637,1667,3,174,87,0,1638,1639,5,1,0,0,1639,1640,3,18,9,0,1640,1641,5,2,0,0,1641,1667,1,0,0,0,1642,1643,5,231,0,0,1643,1644,5,1,0,0,1644,1649,3,102,51,0,1645,1646,5,3,0,0,1646,1648,3,102,51,0,1647,1645,1,0,0,0,1648,1651,1,0,0,0,1649,1647,1,0,0,0,1649,1650,1,0,0,0,1650,1652,1,0,0,0,1651,1649,1,0,0,0,1652,1655,5,2,0,0,1653,1654,5,243,0,0,1654,1656,5,159,0,0,1655,1653,1,0,0,0,1655,1656,1,0,0,0,1656,1667,1,0,0,0,1657,1658,5,119,0,0,1658,1659,5,1,0,0,1659,1660,3,18,9,0,1660,1661,5,2,0,0,1661,1667,1,0,0,0,1662,1663,5,1,0,0,1663,1664,3,68,34,0,1664,1665,5,2,0,0,1665,1667,1,0,0,0,1666,1637,1,0,0,0,1666,1638,1,0,0,0,1666,1642,1,0,0,0,1666,1657,1,0,0,0,1666,1662,1,0,0,0,1667,101,1,0,0,0,1668,1669,3,104,52,0,1669,103,1,0,0,0,1670,1671,6,52,-1,0,1671,1673,3,108,54,0,1672,1674,3,106,53,0,1673,1672,1,0,0,0,1673,1674,1,0,0,0,1674,1678,1,0,0,0,1675,1676,5,147,0,0,1676,1678,3,104,52,3,1677,1670,1,0,0,0,1677,1675,1,0,0,0,1678,1687,1,0,0,0,1679,1680,10,2,0,0,1680,1681,5,23,0,0,1681,1686,3,104,52,3,1682,1683,10,1,0,0,1683,1684,5,157,0,0,1684,1686,3,104,52,2,1685,1679,1,0,0,0,1685,1682,1,0,0,0,1686,1689,1,0,0,0,1687,1685,1,0,0,0,1687,1688,1,0,0,0,1688,105,1,0,0,0,1689,1687,1,0,0,0,1690,1691,3,120,60,0,1691,1692,3,108,54,0,1692,1752,1,0,0,0,1693,1694,3,120,60,0,1694,1695,3,122,61,0,1695,1696,5,1,0,0,1696,1697,3,18,9,0,1697,1698,5,2,0,0,1698,1752,1,0,0,0,1699,1701,5,147,0,0,1700,1699,1,0,0,0,1700,1701,1,0,0,0,1701,1702,1,0,0,0,1702,1703,5,31,0,0,1703,1704,3,108,54,0,1704,1705,5,23,0,0,1705,1706,3,108,54,0,1706,1752,1,0,0,0,1707,1709,5,147,0,0,1708,1707,1,0,0,0,1708,1709,1,0,0,0,1709,1710,1,0,0,0,1710,1711,5,103,0,0,1711,1712,5,1,0,0,1712,1717,3,102,51,0,1713,1714,5,3,0,0,1714,1716,3,102,51,0,1715,1713,1,0,0,0,1716,1719,1,0,0,0,1717,1715,1,0,0,0,1717,1718,1,0,0,0,1718,1720,1,0,0,0,1719,1717,1,0,0,0,1720,1721,5,2,0,0,1721,1752,1,0,0,0,1722,1724,5,147,0,0,1723,1722,1,0,0,0,1723,1724,1,0,0,0,1724,1725,1,0,0,0,1725,1726,5,103,0,0,1726,1727,5,1,0,0,1727,1728,3,18,9,0,1728,1729,5,2,0,0,1729,1752,1,0,0,0,1730,1732,5,147,0,0,1731,1730,1,0,0,0,1731,1732,1,0,0,0,1732,1733,1,0,0,0,1733,1734,5,122,0,0,1734,1737,3,108,54,0,1735,1736,5,73,0,0,1736,1738,3,108,54,0,1737,1735,1,0,0,0,1737,1738,1,0,0,0,1738,1752,1,0,0,0,1739,1741,5,114,0,0,1740,1742,5,147,0,0,1741,1740,1,0,0,0,1741,1742,1,0,0,0,1742,1743,1,0,0,0,1743,1752,5,148,0,0,1744,1746,5,114,0,0,1745,1747,5,147,0,0,1746,1745,1,0,0,0,1746,1747,1,0,0,0,1747,1748,1,0,0,0,1748,1749,5,66,0,0,1749,1750,5,88,0,0,1750,1752,3,108,54,0,1751,1690,1,0,0,0,1751,1693,1,0,0,0,1751,1700,1,0,0,0,1751,1708,1,0,0,0,1751,1723,1,0,0,0,1751,1731,1,0,0,0,1751,1739,1,0,0,0,1751,1744,1,0,0,0,1752,107,1,0,0,0,1753,1754,6,54,-1,0,1754,1758,3,110,55,0,1755,1756,7,13,0,0,1756,1758,3,108,54,4,1757,1753,1,0,0,0,1757,1755,1,0,0,0,1758,1773,1,0,0,0,1759,1760,10,3,0,0,1760,1761,7,14,0,0,1761,1772,3,108,54,4,1762,1763,10,2,0,0,1763,1764,7,13,0,0,1764,1772,3,108,54,3,1765,1766,10,1,0,0,1766,1767,5,260,0,0,1767,1772,3,108,54,2,1768,1769,10,5,0,0,1769,1770,5,28,0,0,1770,1772,3,118,59,0,1771,1759,1,0,0,0,1771,1762,1,0,0,0,1771,1765,1,0,0,0,1771,1768,1,0,0,0,1772,1775,1,0,0,0,1773,1771,1,0,0,0,1773,1774,1,0,0,0,1774,109,1,0,0,0,1775,1773,1,0,0,0,1776,1777,6,55,-1,0,1777,2026,5,148,0,0,1778,2026,3,126,63,0,1779,1780,3,212,106,0,1780,1781,3,116,58,0,1781,2026,1,0,0,0,1782,1783,5,68,0,0,1783,1784,5,172,0,0,1784,2026,3,116,58,0,1785,2026,3,214,107,0,1786,2026,3,124,62,0,1787,2026,3,116,58,0,1788,2026,5,264,0,0,1789,2026,5,261,0,0,1790,1791,5,170,0,0,1791,1792,5,1,0,0,1792,1793,3,108,54,0,1793,1794,5,103,0,0,1794,1795,3,108,54,0,1795,1796,5,2,0,0,1796,2026,1,0,0,0,1797,1798,5,1,0,0,1798,1801,3,102,51,0,1799,1800,5,3,0,0,1800,1802,3,102,51,0,1801,1799,1,0,0,0,1802,1803,1,0,0,0,1803,1801,1,0,0,0,1803,1804,1,0,0,0,1804,1805,1,0,0,0,1805,1806,5,2,0,0,1806,2026,1,0,0,0,1807,1808,5,192,0,0,1808,1809,5,1,0,0,1809,1814,3,102,51,0,1810,1811,5,3,0,0,1811,1813,3,102,51,0,1812,1810,1,0,0,0,1813,1816,1,0,0,0,1814,1812,1,0,0,0,1814,1815,1,0,0,0,1815,1817,1,0,0,0,1816,1814,1,0,0,0,1817,1818,5,2,0,0,1818,2026,1,0,0,0,1819,1820,3,198,99,0,1820,1821,5,1,0,0,1821,1822,5,257,0,0,1822,1824,5,2,0,0,1823,1825,3,140,70,0,1824,1823,1,0,0,0,1824,1825,1,0,0,0,1825,1827,1,0,0,0,1826,1828,3,144,72,0,1827,1826,1,0,0,0,1827,1828,1,0,0,0,1828,2026,1,0,0,0,1829,1831,3,112,56,0,1830,1829,1,0,0,0,1830,1831,1,0,0,0,1831,1832,1,0,0,0,1832,1833,3,198,99,0,1833,1845,5,1,0,0,1834,1836,3,64,32,0,1835,1834,1,0,0,0,1835,1836,1,0,0,0,1836,1837,1,0,0,0,1837,1842,3,102,51,0,1838,1839,5,3,0,0,1839,1841,3,102,51,0,1840,1838,1,0,0,0,1841,1844,1,0,0,0,1842,1840,1,0,0,0,1842,1843,1,0,0,0,1843,1846,1,0,0,0,1844,1842,1,0,0,0,1845,1835,1,0,0,0,1845,1846,1,0,0,0,1846,1857,1,0,0,0,1847,1848,5,158,0,0,1848,1849,5,32,0,0,1849,1854,3,46,23,0,1850,1851,5,3,0,0,1851,1853,3,46,23,0,1852,1850,1,0,0,0,1853,1856,1,0,0,0,1854,1852,1,0,0,0,1854,1855,1,0,0,0,1855,1858,1,0,0,0,1856,1854,1,0,0,0,1857,1847,1,0,0,0,1857,1858,1,0,0,0,1858,1859,1,0,0,0,1859,1861,5,2,0,0,1860,1862,3,140,70,0,1861,1860,1,0,0,0,1861,1862,1,0,0,0,1862,1867,1,0,0,0,1863,1865,3,114,57,0,1864,1863,1,0,0,0,1864,1865,1,0,0,0,1865,1866,1,0,0,0,1866,1868,3,144,72,0,1867,1864,1,0,0,0,1867,1868,1,0,0,0,1868,2026,1,0,0,0,1869,1870,3,212,106,0,1870,1871,3,144,72,0,1871,2026,1,0,0,0,1872,1873,3,212,106,0,1873,1874,5,6,0,0,1874,1875,3,102,51,0,1875,2026,1,0,0,0,1876,1885,5,1,0,0,1877,1882,3,212,106,0,1878,1879,5,3,0,0,1879,1881,3,212,106,0,1880,1878,1,0,0,0,1881,1884,1,0,0,0,1882,1880,1,0,0,0,1882,1883,1,0,0,0,1883,1886,1,0,0,0,1884,1882,1,0,0,0,1885,1877,1,0,0,0,1885,1886,1,0,0,0,1886,1887,1,0,0,0,1887,1888,5,2,0,0,1888,1889,5,6,0,0,1889,2026,3,102,51,0,1890,1891,5,1,0,0,1891,1892,3,18,9,0,1892,1893,5,2,0,0,1893,2026,1,0,0,0,1894,1895,5,77,0,0,1895,1896,5,1,0,0,1896,1897,3,18,9,0,1897,1898,5,2,0,0,1898,2026,1,0,0,0,1899,1900,5,35,0,0,1900,1902,3,102,51,0,1901,1903,3,138,69,0,1902,1901,1,0,0,0,1903,1904,1,0,0,0,1904,1902,1,0,0,0,1904,1905,1,0,0,0,1905,1908,1,0,0,0,1906,1907,5,70,0,0,1907,1909,3,102,51,0,1908,1906,1,0,0,0,1908,1909,1,0,0,0,1909,1910,1,0,0,0,1910,1911,5,72,0,0,1911,2026,1,0,0,0,1912,1914,5,35,0,0,1913,1915,3,138,69,0,1914,1913,1,0,0,0,1915,1916,1,0,0,0,1916,1914,1,0,0,0,1916,1917,1,0,0,0,1917,1920,1,0,0,0,1918,1919,5,70,0,0,1919,1921,3,102,51,0,1920,1918,1,0,0,0,1920,1921,1,0,0,0,1921,1922,1,0,0,0,1922,1923,5,72,0,0,1923,2026,1,0,0,0,1924,1925,5,36,0,0,1925,1926,5,1,0,0,1926,1927,3,102,51,0,1927,1928,5,26,0,0,1928,1929,3,132,66,0,1929,1930,5,2,0,0,1930,2026,1,0,0,0,1931,1932,5,224,0,0,1932,1933,5,1,0,0,1933,1934,3,102,51,0,1934,1935,5,26,0,0,1935,1936,3,132,66,0,1936,1937,5,2,0,0,1937,2026,1,0,0,0,1938,1939,5,25,0,0,1939,1948,5,7,0,0,1940,1945,3,102,51,0,1941,1942,5,3,0,0,1942,1944,3,102,51,0,1943,1941,1,0,0,0,1944,1947,1,0,0,0,1945,1943,1,0,0,0,1945,1946,1,0,0,0,1946,1949,1,0,0,0,1947,1945,1,0,0,0,1948,1940,1,0,0,0,1948,1949,1,0,0,0,1949,1950,1,0,0,0,1950,2026,5,8,0,0,1951,2026,3,212,106,0,1952,2026,5,49,0,0,1953,1957,5,53,0,0,1954,1955,5,1,0,0,1955,1956,5,265,0,0,1956,1958,5,2,0,0,1957,1954,1,0,0,0,1957,1958,1,0,0,0,1958,2026,1,0,0,0,1959,1963,5,54,0,0,1960,1961,5,1,0,0,1961,1962,5,265,0,0,1962,1964,5,2,0,0,1963,1960,1,0,0,0,1963,1964,1,0,0,0,1964,2026,1,0,0,0,1965,1969,5,125,0,0,1966,1967,5,1,0,0,1967,1968,5,265,0,0,1968,1970,5,2,0,0,1969,1966,1,0,0,0,1969,1970,1,0,0,0,1970,2026,1,0,0,0,1971,1975,5,126,0,0,1972,1973,5,1,0,0,1973,1974,5,265,0,0,1974,1976,5,2,0,0,1975,1972,1,0,0,0,1975,1976,1,0,0,0,1976,2026,1,0,0,0,1977,2026,5,55,0,0,1978,2026,5,48,0,0,1979,2026,5,52,0,0,1980,2026,5,50,0,0,1981,1982,5,210,0,0,1982,1983,5,1,0,0,1983,1984,3,108,54,0,1984,1985,5,88,0,0,1985,1988,3,108,54,0,1986,1987,5,86,0,0,1987,1989,3,108,54,0,1988,1986,1,0,0,0,1988,1989,1,0,0,0,1989,1990,1,0,0,0,1990,1991,5,2,0,0,1991,2026,1,0,0,0,1992,1993,5,146,0,0,1993,1994,5,1,0,0,1994,1997,3,108,54,0,1995,1996,5,3,0,0,1996,1998,3,130,65,0,1997,1995,1,0,0,0,1997,1998,1,0,0,0,1998,1999,1,0,0,0,1999,2e3,5,2,0,0,2e3,2026,1,0,0,0,2001,2002,5,79,0,0,2002,2003,5,1,0,0,2003,2004,3,212,106,0,2004,2005,5,88,0,0,2005,2006,3,108,54,0,2006,2007,5,2,0,0,2007,2026,1,0,0,0,2008,2009,5,1,0,0,2009,2010,3,102,51,0,2010,2011,5,2,0,0,2011,2026,1,0,0,0,2012,2013,5,97,0,0,2013,2022,5,1,0,0,2014,2019,3,204,102,0,2015,2016,5,3,0,0,2016,2018,3,204,102,0,2017,2015,1,0,0,0,2018,2021,1,0,0,0,2019,2017,1,0,0,0,2019,2020,1,0,0,0,2020,2023,1,0,0,0,2021,2019,1,0,0,0,2022,2014,1,0,0,0,2022,2023,1,0,0,0,2023,2024,1,0,0,0,2024,2026,5,2,0,0,2025,1776,1,0,0,0,2025,1778,1,0,0,0,2025,1779,1,0,0,0,2025,1782,1,0,0,0,2025,1785,1,0,0,0,2025,1786,1,0,0,0,2025,1787,1,0,0,0,2025,1788,1,0,0,0,2025,1789,1,0,0,0,2025,1790,1,0,0,0,2025,1797,1,0,0,0,2025,1807,1,0,0,0,2025,1819,1,0,0,0,2025,1830,1,0,0,0,2025,1869,1,0,0,0,2025,1872,1,0,0,0,2025,1876,1,0,0,0,2025,1890,1,0,0,0,2025,1894,1,0,0,0,2025,1899,1,0,0,0,2025,1912,1,0,0,0,2025,1924,1,0,0,0,2025,1931,1,0,0,0,2025,1938,1,0,0,0,2025,1951,1,0,0,0,2025,1952,1,0,0,0,2025,1953,1,0,0,0,2025,1959,1,0,0,0,2025,1965,1,0,0,0,2025,1971,1,0,0,0,2025,1977,1,0,0,0,2025,1978,1,0,0,0,2025,1979,1,0,0,0,2025,1980,1,0,0,0,2025,1981,1,0,0,0,2025,1992,1,0,0,0,2025,2001,1,0,0,0,2025,2008,1,0,0,0,2025,2012,1,0,0,0,2026,2037,1,0,0,0,2027,2028,10,17,0,0,2028,2029,5,7,0,0,2029,2030,3,108,54,0,2030,2031,5,8,0,0,2031,2036,1,0,0,0,2032,2033,10,15,0,0,2033,2034,5,4,0,0,2034,2036,3,212,106,0,2035,2027,1,0,0,0,2035,2032,1,0,0,0,2036,2039,1,0,0,0,2037,2035,1,0,0,0,2037,2038,1,0,0,0,2038,111,1,0,0,0,2039,2037,1,0,0,0,2040,2041,7,15,0,0,2041,113,1,0,0,0,2042,2043,5,102,0,0,2043,2047,5,150,0,0,2044,2045,5,184,0,0,2045,2047,5,150,0,0,2046,2042,1,0,0,0,2046,2044,1,0,0,0,2047,115,1,0,0,0,2048,2055,5,262,0,0,2049,2052,5,263,0,0,2050,2051,5,226,0,0,2051,2053,5,262,0,0,2052,2050,1,0,0,0,2052,2053,1,0,0,0,2053,2055,1,0,0,0,2054,2048,1,0,0,0,2054,2049,1,0,0,0,2055,117,1,0,0,0,2056,2057,5,218,0,0,2057,2058,5,248,0,0,2058,2063,3,126,63,0,2059,2060,5,218,0,0,2060,2061,5,248,0,0,2061,2063,3,116,58,0,2062,2056,1,0,0,0,2062,2059,1,0,0,0,2063,119,1,0,0,0,2064,2065,7,16,0,0,2065,121,1,0,0,0,2066,2067,7,17,0,0,2067,123,1,0,0,0,2068,2069,7,18,0,0,2069,125,1,0,0,0,2070,2072,5,110,0,0,2071,2073,7,13,0,0,2072,2071,1,0,0,0,2072,2073,1,0,0,0,2073,2074,1,0,0,0,2074,2075,3,116,58,0,2075,2078,3,128,64,0,2076,2077,5,220,0,0,2077,2079,3,128,64,0,2078,2076,1,0,0,0,2078,2079,1,0,0,0,2079,127,1,0,0,0,2080,2081,7,19,0,0,2081,129,1,0,0,0,2082,2083,7,20,0,0,2083,131,1,0,0,0,2084,2085,6,66,-1,0,2085,2086,5,192,0,0,2086,2087,5,1,0,0,2087,2092,3,134,67,0,2088,2089,5,3,0,0,2089,2091,3,134,67,0,2090,2088,1,0,0,0,2091,2094,1,0,0,0,2092,2090,1,0,0,0,2092,2093,1,0,0,0,2093,2095,1,0,0,0,2094,2092,1,0,0,0,2095,2096,5,2,0,0,2096,2176,1,0,0,0,2097,2098,5,110,0,0,2098,2101,3,128,64,0,2099,2100,5,220,0,0,2100,2102,3,128,64,0,2101,2099,1,0,0,0,2101,2102,1,0,0,0,2102,2176,1,0,0,0,2103,2108,5,219,0,0,2104,2105,5,1,0,0,2105,2106,3,136,68,0,2106,2107,5,2,0,0,2107,2109,1,0,0,0,2108,2104,1,0,0,0,2108,2109,1,0,0,0,2109,2113,1,0,0,0,2110,2111,5,244,0,0,2111,2112,5,218,0,0,2112,2114,5,248,0,0,2113,2110,1,0,0,0,2113,2114,1,0,0,0,2114,2176,1,0,0,0,2115,2120,5,219,0,0,2116,2117,5,1,0,0,2117,2118,3,136,68,0,2118,2119,5,2,0,0,2119,2121,1,0,0,0,2120,2116,1,0,0,0,2120,2121,1,0,0,0,2121,2122,1,0,0,0,2122,2123,5,243,0,0,2123,2124,5,218,0,0,2124,2176,5,248,0,0,2125,2130,5,218,0,0,2126,2127,5,1,0,0,2127,2128,3,136,68,0,2128,2129,5,2,0,0,2129,2131,1,0,0,0,2130,2126,1,0,0,0,2130,2131,1,0,0,0,2131,2135,1,0,0,0,2132,2133,5,244,0,0,2133,2134,5,218,0,0,2134,2136,5,248,0,0,2135,2132,1,0,0,0,2135,2136,1,0,0,0,2136,2176,1,0,0,0,2137,2142,5,218,0,0,2138,2139,5,1,0,0,2139,2140,3,136,68,0,2140,2141,5,2,0,0,2141,2143,1,0,0,0,2142,2138,1,0,0,0,2142,2143,1,0,0,0,2143,2144,1,0,0,0,2144,2145,5,243,0,0,2145,2146,5,218,0,0,2146,2176,5,248,0,0,2147,2148,5,68,0,0,2148,2176,5,172,0,0,2149,2150,5,25,0,0,2150,2151,5,251,0,0,2151,2152,3,132,66,0,2152,2153,5,253,0,0,2153,2176,1,0,0,0,2154,2155,5,128,0,0,2155,2156,5,251,0,0,2156,2157,3,132,66,0,2157,2158,5,3,0,0,2158,2159,3,132,66,0,2159,2160,5,253,0,0,2160,2176,1,0,0,0,2161,2173,3,212,106,0,2162,2163,5,1,0,0,2163,2168,3,136,68,0,2164,2165,5,3,0,0,2165,2167,3,136,68,0,2166,2164,1,0,0,0,2167,2170,1,0,0,0,2168,2166,1,0,0,0,2168,2169,1,0,0,0,2169,2171,1,0,0,0,2170,2168,1,0,0,0,2171,2172,5,2,0,0,2172,2174,1,0,0,0,2173,2162,1,0,0,0,2173,2174,1,0,0,0,2174,2176,1,0,0,0,2175,2084,1,0,0,0,2175,2097,1,0,0,0,2175,2103,1,0,0,0,2175,2115,1,0,0,0,2175,2125,1,0,0,0,2175,2137,1,0,0,0,2175,2147,1,0,0,0,2175,2149,1,0,0,0,2175,2154,1,0,0,0,2175,2161,1,0,0,0,2176,2186,1,0,0,0,2177,2178,10,2,0,0,2178,2182,5,25,0,0,2179,2180,5,7,0,0,2180,2181,5,265,0,0,2181,2183,5,8,0,0,2182,2179,1,0,0,0,2182,2183,1,0,0,0,2183,2185,1,0,0,0,2184,2177,1,0,0,0,2185,2188,1,0,0,0,2186,2184,1,0,0,0,2186,2187,1,0,0,0,2187,133,1,0,0,0,2188,2186,1,0,0,0,2189,2194,3,132,66,0,2190,2191,3,212,106,0,2191,2192,3,132,66,0,2192,2194,1,0,0,0,2193,2189,1,0,0,0,2193,2190,1,0,0,0,2194,135,1,0,0,0,2195,2198,5,265,0,0,2196,2198,3,132,66,0,2197,2195,1,0,0,0,2197,2196,1,0,0,0,2198,137,1,0,0,0,2199,2200,5,240,0,0,2200,2201,3,102,51,0,2201,2202,5,216,0,0,2202,2203,3,102,51,0,2203,139,1,0,0,0,2204,2205,5,82,0,0,2205,2206,5,1,0,0,2206,2207,5,241,0,0,2207,2208,3,104,52,0,2208,2209,5,2,0,0,2209,141,1,0,0,0,2210,2211,5,240,0,0,2211,2214,5,130,0,0,2212,2213,5,23,0,0,2213,2215,3,102,51,0,2214,2212,1,0,0,0,2214,2215,1,0,0,0,2215,2216,1,0,0,0,2216,2217,5,216,0,0,2217,2218,5,232,0,0,2218,2219,5,203,0,0,2219,2220,3,212,106,0,2220,2221,5,249,0,0,2221,2229,3,102,51,0,2222,2223,5,3,0,0,2223,2224,3,212,106,0,2224,2225,5,249,0,0,2225,2226,3,102,51,0,2226,2228,1,0,0,0,2227,2222,1,0,0,0,2228,2231,1,0,0,0,2229,2227,1,0,0,0,2229,2230,1,0,0,0,2230,2275,1,0,0,0,2231,2229,1,0,0,0,2232,2233,5,240,0,0,2233,2236,5,130,0,0,2234,2235,5,23,0,0,2235,2237,3,102,51,0,2236,2234,1,0,0,0,2236,2237,1,0,0,0,2237,2238,1,0,0,0,2238,2239,5,216,0,0,2239,2275,5,62,0,0,2240,2241,5,240,0,0,2241,2242,5,147,0,0,2242,2245,5,130,0,0,2243,2244,5,23,0,0,2244,2246,3,102,51,0,2245,2243,1,0,0,0,2245,2246,1,0,0,0,2246,2247,1,0,0,0,2247,2248,5,216,0,0,2248,2260,5,108,0,0,2249,2250,5,1,0,0,2250,2255,3,212,106,0,2251,2252,5,3,0,0,2252,2254,3,212,106,0,2253,2251,1,0,0,0,2254,2257,1,0,0,0,2255,2253,1,0,0,0,2255,2256,1,0,0,0,2256,2258,1,0,0,0,2257,2255,1,0,0,0,2258,2259,5,2,0,0,2259,2261,1,0,0,0,2260,2249,1,0,0,0,2260,2261,1,0,0,0,2261,2262,1,0,0,0,2262,2263,5,237,0,0,2263,2264,5,1,0,0,2264,2269,3,102,51,0,2265,2266,5,3,0,0,2266,2268,3,102,51,0,2267,2265,1,0,0,0,2268,2271,1,0,0,0,2269,2267,1,0,0,0,2269,2270,1,0,0,0,2270,2272,1,0,0,0,2271,2269,1,0,0,0,2272,2273,5,2,0,0,2273,2275,1,0,0,0,2274,2210,1,0,0,0,2274,2232,1,0,0,0,2274,2240,1,0,0,0,2275,143,1,0,0,0,2276,2282,5,162,0,0,2277,2283,3,212,106,0,2278,2279,5,1,0,0,2279,2280,3,60,30,0,2280,2281,5,2,0,0,2281,2283,1,0,0,0,2282,2277,1,0,0,0,2282,2278,1,0,0,0,2283,145,1,0,0,0,2284,2285,5,134,0,0,2285,2290,3,80,40,0,2286,2287,5,3,0,0,2287,2289,3,80,40,0,2288,2286,1,0,0,0,2289,2292,1,0,0,0,2290,2288,1,0,0,0,2290,2291,1,0,0,0,2291,2294,1,0,0,0,2292,2290,1,0,0,0,2293,2284,1,0,0,0,2293,2294,1,0,0,0,2294,2295,1,0,0,0,2295,2299,3,148,74,0,2296,2297,5,19,0,0,2297,2298,5,129,0,0,2298,2300,3,86,43,0,2299,2296,1,0,0,0,2299,2300,1,0,0,0,2300,2302,1,0,0,0,2301,2303,7,12,0,0,2302,2301,1,0,0,0,2302,2303,1,0,0,0,2303,2309,1,0,0,0,2304,2305,5,167,0,0,2305,2306,5,1,0,0,2306,2307,3,152,76,0,2307,2308,5,2,0,0,2308,2310,1,0,0,0,2309,2304,1,0,0,0,2309,2310,1,0,0,0,2310,2320,1,0,0,0,2311,2312,5,209,0,0,2312,2317,3,88,44,0,2313,2314,5,3,0,0,2314,2316,3,88,44,0,2315,2313,1,0,0,0,2316,2319,1,0,0,0,2317,2315,1,0,0,0,2317,2318,1,0,0,0,2318,2321,1,0,0,0,2319,2317,1,0,0,0,2320,2311,1,0,0,0,2320,2321,1,0,0,0,2321,2331,1,0,0,0,2322,2323,5,65,0,0,2323,2328,3,90,45,0,2324,2325,5,3,0,0,2325,2327,3,90,45,0,2326,2324,1,0,0,0,2327,2330,1,0,0,0,2328,2326,1,0,0,0,2328,2329,1,0,0,0,2329,2332,1,0,0,0,2330,2328,1,0,0,0,2331,2322,1,0,0,0,2331,2332,1,0,0,0,2332,147,1,0,0,0,2333,2334,5,176,0,0,2334,2358,3,150,75,0,2335,2336,5,193,0,0,2336,2358,3,150,75,0,2337,2338,5,98,0,0,2338,2358,3,150,75,0,2339,2340,5,176,0,0,2340,2341,5,31,0,0,2341,2342,3,150,75,0,2342,2343,5,23,0,0,2343,2344,3,150,75,0,2344,2358,1,0,0,0,2345,2346,5,193,0,0,2346,2347,5,31,0,0,2347,2348,3,150,75,0,2348,2349,5,23,0,0,2349,2350,3,150,75,0,2350,2358,1,0,0,0,2351,2352,5,98,0,0,2352,2353,5,31,0,0,2353,2354,3,150,75,0,2354,2355,5,23,0,0,2355,2356,3,150,75,0,2356,2358,1,0,0,0,2357,2333,1,0,0,0,2357,2335,1,0,0,0,2357,2337,1,0,0,0,2357,2339,1,0,0,0,2357,2345,1,0,0,0,2357,2351,1,0,0,0,2358,149,1,0,0,0,2359,2360,5,227,0,0,2360,2369,5,171,0,0,2361,2362,5,227,0,0,2362,2369,5,85,0,0,2363,2364,5,47,0,0,2364,2369,5,192,0,0,2365,2366,3,102,51,0,2366,2367,7,21,0,0,2367,2369,1,0,0,0,2368,2359,1,0,0,0,2368,2361,1,0,0,0,2368,2363,1,0,0,0,2368,2365,1,0,0,0,2369,151,1,0,0,0,2370,2371,6,76,-1,0,2371,2373,3,154,77,0,2372,2374,3,156,78,0,2373,2372,1,0,0,0,2373,2374,1,0,0,0,2374,2382,1,0,0,0,2375,2376,10,2,0,0,2376,2381,3,152,76,3,2377,2378,10,1,0,0,2378,2379,5,9,0,0,2379,2381,3,152,76,2,2380,2375,1,0,0,0,2380,2377,1,0,0,0,2381,2384,1,0,0,0,2382,2380,1,0,0,0,2382,2383,1,0,0,0,2383,153,1,0,0,0,2384,2382,1,0,0,0,2385,2411,3,212,106,0,2386,2387,5,1,0,0,2387,2411,5,2,0,0,2388,2389,5,169,0,0,2389,2390,5,1,0,0,2390,2395,3,152,76,0,2391,2392,5,3,0,0,2392,2394,3,152,76,0,2393,2391,1,0,0,0,2394,2397,1,0,0,0,2395,2393,1,0,0,0,2395,2396,1,0,0,0,2396,2398,1,0,0,0,2397,2395,1,0,0,0,2398,2399,5,2,0,0,2399,2411,1,0,0,0,2400,2401,5,1,0,0,2401,2402,3,152,76,0,2402,2403,5,2,0,0,2403,2411,1,0,0,0,2404,2411,5,10,0,0,2405,2411,5,11,0,0,2406,2407,5,12,0,0,2407,2408,3,152,76,0,2408,2409,5,13,0,0,2409,2411,1,0,0,0,2410,2385,1,0,0,0,2410,2386,1,0,0,0,2410,2388,1,0,0,0,2410,2400,1,0,0,0,2410,2404,1,0,0,0,2410,2405,1,0,0,0,2410,2406,1,0,0,0,2411,155,1,0,0,0,2412,2414,5,257,0,0,2413,2415,5,261,0,0,2414,2413,1,0,0,0,2414,2415,1,0,0,0,2415,2443,1,0,0,0,2416,2418,5,255,0,0,2417,2419,5,261,0,0,2418,2417,1,0,0,0,2418,2419,1,0,0,0,2419,2443,1,0,0,0,2420,2422,5,261,0,0,2421,2423,5,261,0,0,2422,2421,1,0,0,0,2422,2423,1,0,0,0,2423,2443,1,0,0,0,2424,2425,5,14,0,0,2425,2426,5,265,0,0,2426,2428,5,15,0,0,2427,2429,5,261,0,0,2428,2427,1,0,0,0,2428,2429,1,0,0,0,2429,2443,1,0,0,0,2430,2432,5,14,0,0,2431,2433,5,265,0,0,2432,2431,1,0,0,0,2432,2433,1,0,0,0,2433,2434,1,0,0,0,2434,2436,5,3,0,0,2435,2437,5,265,0,0,2436,2435,1,0,0,0,2436,2437,1,0,0,0,2437,2438,1,0,0,0,2438,2440,5,15,0,0,2439,2441,5,261,0,0,2440,2439,1,0,0,0,2440,2441,1,0,0,0,2441,2443,1,0,0,0,2442,2412,1,0,0,0,2442,2416,1,0,0,0,2442,2420,1,0,0,0,2442,2424,1,0,0,0,2442,2430,1,0,0,0,2443,157,1,0,0,0,2444,2445,3,212,106,0,2445,2446,5,249,0,0,2446,2447,3,102,51,0,2447,159,1,0,0,0,2448,2449,5,87,0,0,2449,2453,7,22,0,0,2450,2451,5,225,0,0,2451,2453,7,23,0,0,2452,2448,1,0,0,0,2452,2450,1,0,0,0,2453,161,1,0,0,0,2454,2455,5,115,0,0,2455,2456,5,121,0,0,2456,2460,3,164,82,0,2457,2458,5,177,0,0,2458,2460,7,24,0,0,2459,2454,1,0,0,0,2459,2457,1,0,0,0,2460,163,1,0,0,0,2461,2462,5,177,0,0,2462,2469,5,228,0,0,2463,2464,5,177,0,0,2464,2469,5,42,0,0,2465,2466,5,181,0,0,2466,2469,5,177,0,0,2467,2469,5,201,0,0,2468,2461,1,0,0,0,2468,2463,1,0,0,0,2468,2465,1,0,0,0,2468,2467,1,0,0,0,2469,165,1,0,0,0,2470,2476,3,102,51,0,2471,2472,3,212,106,0,2472,2473,5,16,0,0,2473,2474,3,102,51,0,2474,2476,1,0,0,0,2475,2470,1,0,0,0,2475,2471,1,0,0,0,2476,167,1,0,0,0,2477,2478,3,212,106,0,2478,2479,5,4,0,0,2479,2480,3,212,106,0,2480,2483,1,0,0,0,2481,2483,3,212,106,0,2482,2477,1,0,0,0,2482,2481,1,0,0,0,2483,169,1,0,0,0,2484,2489,3,168,84,0,2485,2486,5,3,0,0,2486,2488,3,168,84,0,2487,2485,1,0,0,0,2488,2491,1,0,0,0,2489,2487,1,0,0,0,2489,2490,1,0,0,0,2490,171,1,0,0,0,2491,2489,1,0,0,0,2492,2493,7,25,0,0,2493,173,1,0,0,0,2494,2497,3,176,88,0,2495,2497,3,180,90,0,2496,2494,1,0,0,0,2496,2495,1,0,0,0,2497,175,1,0,0,0,2498,2499,3,184,92,0,2499,177,1,0,0,0,2500,2501,3,184,92,0,2501,179,1,0,0,0,2502,2503,3,186,93,0,2503,181,1,0,0,0,2504,2505,3,186,93,0,2505,183,1,0,0,0,2506,2518,3,212,106,0,2507,2508,3,212,106,0,2508,2509,5,4,0,0,2509,2510,3,212,106,0,2510,2518,1,0,0,0,2511,2512,3,212,106,0,2512,2513,5,4,0,0,2513,2514,3,212,106,0,2514,2515,5,4,0,0,2515,2516,3,212,106,0,2516,2518,1,0,0,0,2517,2506,1,0,0,0,2517,2507,1,0,0,0,2517,2511,1,0,0,0,2518,185,1,0,0,0,2519,2531,3,212,106,0,2520,2521,3,212,106,0,2521,2522,5,4,0,0,2522,2523,3,212,106,0,2523,2531,1,0,0,0,2524,2525,3,212,106,0,2525,2526,5,4,0,0,2526,2527,3,212,106,0,2527,2528,5,4,0,0,2528,2529,3,212,106,0,2529,2531,1,0,0,0,2530,2519,1,0,0,0,2530,2520,1,0,0,0,2530,2524,1,0,0,0,2531,187,1,0,0,0,2532,2533,3,192,96,0,2533,189,1,0,0,0,2534,2535,3,192,96,0,2535,191,1,0,0,0,2536,2542,3,212,106,0,2537,2538,3,212,106,0,2538,2539,5,4,0,0,2539,2540,3,212,106,0,2540,2542,1,0,0,0,2541,2536,1,0,0,0,2541,2537,1,0,0,0,2542,193,1,0,0,0,2543,2544,3,212,106,0,2544,195,1,0,0,0,2545,2546,3,212,106,0,2546,197,1,0,0,0,2547,2548,3,204,102,0,2548,199,1,0,0,0,2549,2552,3,204,102,0,2550,2552,4,100,14,0,2551,2549,1,0,0,0,2551,2550,1,0,0,0,2552,201,1,0,0,0,2553,2554,3,212,106,0,2554,203,1,0,0,0,2555,2560,3,212,106,0,2556,2557,5,4,0,0,2557,2559,3,212,106,0,2558,2556,1,0,0,0,2559,2562,1,0,0,0,2560,2558,1,0,0,0,2560,2561,1,0,0,0,2561,205,1,0,0,0,2562,2560,1,0,0,0,2563,2567,3,208,104,0,2564,2567,5,55,0,0,2565,2567,5,51,0,0,2566,2563,1,0,0,0,2566,2564,1,0,0,0,2566,2565,1,0,0,0,2567,207,1,0,0,0,2568,2574,3,212,106,0,2569,2570,5,234,0,0,2570,2574,3,212,106,0,2571,2572,5,188,0,0,2572,2574,3,212,106,0,2573,2568,1,0,0,0,2573,2569,1,0,0,0,2573,2571,1,0,0,0,2574,209,1,0,0,0,2575,2580,3,212,106,0,2576,2577,5,3,0,0,2577,2579,3,212,106,0,2578,2576,1,0,0,0,2579,2582,1,0,0,0,2580,2578,1,0,0,0,2580,2581,1,0,0,0,2581,211,1,0,0,0,2582,2580,1,0,0,0,2583,2589,5,268,0,0,2584,2589,5,270,0,0,2585,2589,3,216,108,0,2586,2589,5,271,0,0,2587,2589,5,269,0,0,2588,2583,1,0,0,0,2588,2584,1,0,0,0,2588,2585,1,0,0,0,2588,2586,1,0,0,0,2588,2587,1,0,0,0,2589,213,1,0,0,0,2590,2592,5,256,0,0,2591,2590,1,0,0,0,2591,2592,1,0,0,0,2592,2593,1,0,0,0,2593,2603,5,266,0,0,2594,2596,5,256,0,0,2595,2594,1,0,0,0,2595,2596,1,0,0,0,2596,2597,1,0,0,0,2597,2603,5,267,0,0,2598,2600,5,256,0,0,2599,2598,1,0,0,0,2599,2600,1,0,0,0,2600,2601,1,0,0,0,2601,2603,5,265,0,0,2602,2591,1,0,0,0,2602,2595,1,0,0,0,2602,2599,1,0,0,0,2603,215,1,0,0,0,2604,2605,7,26,0,0,2605,217,1,0,0,0,340,221,232,236,240,244,248,252,262,267,271,277,281,302,306,310,314,322,326,329,336,345,351,355,361,368,377,386,400,409,415,422,432,439,447,455,484,487,490,494,500,505,512,517,521,529,535,539,553,561,580,605,608,618,622,635,641,646,650,656,665,671,675,682,686,694,699,703,707,710,717,725,730,734,738,741,750,757,762,766,770,773,781,784,788,791,799,804,828,834,836,842,848,850,858,860,866,872,874,889,894,901,913,915,923,925,943,946,950,954,972,975,991,1001,1006,1012,1015,1024,1036,1039,1045,1052,1057,1063,1067,1071,1077,1088,1097,1107,1110,1115,1117,1124,1130,1132,1136,1146,1152,1155,1157,1169,1176,1180,1183,1187,1191,1198,1207,1210,1214,1219,1223,1231,1234,1237,1244,1255,1258,1268,1271,1282,1287,1295,1298,1302,1306,1315,1324,1327,1336,1339,1342,1346,1357,1360,1363,1370,1373,1392,1396,1400,1404,1408,1412,1414,1425,1430,1439,1453,1456,1465,1468,1476,1479,1482,1487,1490,1502,1505,1513,1518,1522,1524,1526,1541,1543,1554,1575,1585,1596,1600,1602,1610,1621,1632,1649,1655,1666,1673,1677,1685,1687,1700,1708,1717,1723,1731,1737,1741,1746,1751,1757,1771,1773,1803,1814,1824,1827,1830,1835,1842,1845,1854,1857,1861,1864,1867,1882,1885,1904,1908,1916,1920,1945,1948,1957,1963,1969,1975,1988,1997,2019,2022,2025,2035,2037,2046,2052,2054,2062,2072,2078,2092,2101,2108,2113,2120,2130,2135,2142,2168,2173,2175,2182,2186,2193,2197,2214,2229,2236,2245,2255,2260,2269,2274,2282,2290,2293,2299,2302,2309,2317,2320,2328,2331,2357,2368,2373,2380,2382,2395,2410,2414,2418,2422,2428,2432,2436,2440,2442,2452,2459,2468,2475,2482,2489,2496,2517,2530,2541,2551,2560,2566,2573,2580,2588,2591,2595,2599,2602],s.vocabulary=new he(s.literalNames,s.symbolicNames,[]),s.decisionsToDFA=s._ATN.decisionToState.map((i,t)=>new t1(i,t));class wc extends R{constructor(t,e){super(t,e)}EOF(){return this.getToken(s.EOF,0)}statements(t){return t===void 0?this.getRuleContexts(hr):this.getRuleContext(t,hr)}get ruleIndex(){return s.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class hr extends R{constructor(t,e){super(t,e)}singleStatement(){return this.getRuleContext(0,Rh)}get ruleIndex(){return s.RULE_statements}enterRule(t){t.enterStatements&&t.enterStatements(this)}exitRule(t){t.exitStatements&&t.exitStatements(this)}accept(t){return t.visitStatements?t.visitStatements(this):t.visitChildren(this)}}class vc extends R{constructor(t,e){super(t,e)}standaloneExpression(){return this.getRuleContext(0,Wh)}standalonePathSpecification(){return this.getRuleContext(0,gh)}standaloneType(){return this.getRuleContext(0,Kh)}standaloneRowPattern(){return this.getRuleContext(0,Ah)}get ruleIndex(){return s.RULE_standaloneClause}enterRule(t){t.enterStandaloneClause&&t.enterStandaloneClause(this)}exitRule(t){t.exitStandaloneClause&&t.exitStandaloneClause(this)}accept(t){return t.visitStandaloneClause?t.visitStandaloneClause(this):t.visitChildren(this)}}class Rh extends R{constructor(t,e){super(t,e)}statement(){return this.getRuleContext(0,L)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class Wh extends R{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,M)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_standaloneExpression}enterRule(t){t.enterStandaloneExpression&&t.enterStandaloneExpression(this)}exitRule(t){t.exitStandaloneExpression&&t.exitStandaloneExpression(this)}accept(t){return t.visitStandaloneExpression?t.visitStandaloneExpression(this):t.visitChildren(this)}}class gh extends R{constructor(t,e){super(t,e)}pathSpecification(){return this.getRuleContext(0,Cr)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_standalonePathSpecification}enterRule(t){t.enterStandalonePathSpecification&&t.enterStandalonePathSpecification(this)}exitRule(t){t.exitStandalonePathSpecification&&t.exitStandalonePathSpecification(this)}accept(t){return t.visitStandalonePathSpecification?t.visitStandalonePathSpecification(this):t.visitChildren(this)}}class Kh extends R{constructor(t,e){super(t,e)}type(){return this.getRuleContext(0,Rt)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_standaloneType}enterRule(t){t.enterStandaloneType&&t.enterStandaloneType(this)}exitRule(t){t.exitStandaloneType&&t.exitStandaloneType(this)}accept(t){return t.visitStandaloneType?t.visitStandaloneType(this):t.visitChildren(this)}}class Ah extends R{constructor(t,e){super(t,e)}rowPattern(){return this.getRuleContext(0,At)}SEMICOLON(){return this.getToken(s.SEMICOLON,0)}get ruleIndex(){return s.RULE_standaloneRowPattern}enterRule(t){t.enterStandaloneRowPattern&&t.enterStandaloneRowPattern(this)}exitRule(t){t.exitStandaloneRowPattern&&t.exitStandaloneRowPattern(this)}accept(t){return t.visitStandaloneRowPattern?t.visitStandaloneRowPattern(this):t.visitChildren(this)}}class L extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_statement}copyFrom(t){super.copyFrom(t)}}class Dc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXPLAIN(){return this.getToken(s.KW_EXPLAIN,0)}statement(){return this.getRuleContext(0,L)}KW_ANALYZE(){return this.getToken(s.KW_ANALYZE,0)}KW_VERBOSE(){return this.getToken(s.KW_VERBOSE,0)}explainOption(t){return t===void 0?this.getRuleContexts(Ts):this.getRuleContext(t,Ts)}enterRule(t){t.enterExplain&&t.enterExplain(this)}exitRule(t){t.exitExplain&&t.exitExplain(this)}accept(t){return t.visitExplain?t.visitExplain(this):t.visitChildren(this)}}class Uc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_PREPARE(){return this.getToken(s.KW_PREPARE,0)}identifier(){return this.getRuleContext(0,k)}KW_FROM(){return this.getToken(s.KW_FROM,0)}statement(){return this.getRuleContext(0,L)}enterRule(t){t.enterPrepare&&t.enterPrepare(this)}exitRule(t){t.exitPrepare&&t.exitPrepare(this)}accept(t){return t.visitPrepare?t.visitPrepare(this):t.visitChildren(this)}}class Mc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewName(){return this.getRuleContext(0,jt)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}enterRule(t){t.enterDropMaterializedView&&t.enterDropMaterializedView(this)}exitRule(t){t.exitDropMaterializedView&&t.exitDropMaterializedView(this)}accept(t){return t.visitDropMaterializedView?t.visitDropMaterializedView(this):t.visitChildren(this)}}class bc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewName(){return this.getRuleContext(0,jt)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}propertyAssignments(){return this.getRuleContext(0,on)}enterRule(t){t.enterSetMaterializedViewProperties&&t.enterSetMaterializedViewProperties(this)}exitRule(t){t.exitSetMaterializedViewProperties&&t.exitSetMaterializedViewProperties(this)}accept(t){return t.visitSetMaterializedViewProperties?t.visitSetMaterializedViewProperties(this):t.visitChildren(this)}}class Fc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USE(){return this.getToken(s.KW_USE,0)}schemaName(){return this.getRuleContext(0,ue)}enterRule(t){t.enterUse&&t.enterUse(this)}exitRule(t){t.exitUse&&t.exitUse(this)}accept(t){return t.visitUse?t.visitUse(this):t.visitChildren(this)}}class Hc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DEALLOCATE(){return this.getToken(s.KW_DEALLOCATE,0)}KW_PREPARE(){return this.getToken(s.KW_PREPARE,0)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterDeallocate&&t.enterDeallocate(this)}exitRule(t){t.exitDeallocate&&t.exitDeallocate(this)}accept(t){return t.visitDeallocate?t.visitDeallocate(this):t.visitChildren(this)}}class Vc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}tableName(){return this.getRuleContext(0,it)}tableNameCreate(){return this.getRuleContext(0,mn)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}class Bc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMIT(){return this.getToken(s.KW_COMMIT,0)}KW_WORK(){return this.getToken(s.KW_WORK,0)}enterRule(t){t.enterCommit&&t.enterCommit(this)}exitRule(t){t.exitCommit&&t.exitCommit(this)}accept(t){return t.visitCommit?t.visitCommit(this):t.visitChildren(this)}}class Gc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,k)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_ADMIN(){return this.getToken(s.KW_ADMIN,0)}grantor(){return this.getRuleContext(0,l1)}KW_IN(){return this.getToken(s.KW_IN,0)}catalogName(){return this.getRuleContext(0,b1)}enterRule(t){t.enterCreateRole&&t.enterCreateRole(this)}exitRule(t){t.exitCreateRole&&t.exitCreateRole(this)}accept(t){return t.visitCreateRole?t.visitCreateRole(this):t.visitChildren(this)}}class Yc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,le)}KW_IF(t){return t===void 0?this.getTokens(s.KW_IF):this.getToken(s.KW_IF,t)}KW_EXISTS(t){return t===void 0?this.getTokens(s.KW_EXISTS):this.getToken(s.KW_EXISTS,t)}enterRule(t){t.enterDropColumn&&t.enterDropColumn(this)}exitRule(t){t.exitDropColumn&&t.exitDropColumn(this)}accept(t){return t.visitDropColumn?t.visitDropColumn(this):t.visitChildren(this)}}class Qc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewName(){return this.getRuleContext(0,jt)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Zc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_TABLES(){return this.getToken(s.KW_TABLES,0)}schemaName(){return this.getRuleContext(0,ue)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}string_(t){return t===void 0?this.getRuleContexts(st):this.getRuleContext(t,st)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}class Xc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Tt)}viewName(){return this.getRuleContext(0,jt)}enterRule(t){t.enterSetViewAuthorization&&t.enterSetViewAuthorization(this)}exitRule(t){t.exitSetViewAuthorization&&t.exitSetViewAuthorization(this)}accept(t){return t.visitSetViewAuthorization?t.visitSetViewAuthorization(this):t.visitChildren(this)}}class zc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}enterRule(t){t.enterShowTableComment&&t.enterShowTableComment(this)}exitRule(t){t.exitShowTableComment&&t.exitShowTableComment(this)}accept(t){return t.visitShowTableComment?t.visitShowTableComment(this):t.visitChildren(this)}}class $c extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CATALOGS(){return this.getToken(s.KW_CATALOGS,0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(st):this.getRuleContext(t,st)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterShowCatalogs&&t.enterShowCatalogs(this)}exitRule(t){t.exitShowCatalogs&&t.exitShowCatalogs(this)}accept(t){return t.visitShowCatalogs?t.visitShowCatalogs(this):t.visitChildren(this)}}class jc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_ROLES(){return this.getToken(s.KW_ROLES,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}identifier(){return this.getRuleContext(0,k)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}enterRule(t){t.enterShowRoles&&t.enterShowRoles(this)}exitRule(t){t.exitShowRoles&&t.exitShowRoles(this)}accept(t){return t.visitShowRoles?t.visitShowRoles(this):t.visitChildren(this)}}class Pc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MERGE(){return this.getToken(s.KW_MERGE,0)}KW_INTO(){return this.getToken(s.KW_INTO,0)}tableName(){return this.getRuleContext(0,it)}KW_USING(){return this.getToken(s.KW_USING,0)}relation(){return this.getRuleContext(0,oe)}KW_ON(){return this.getToken(s.KW_ON,0)}expression(){return this.getRuleContext(0,M)}identifier(){return this.getRuleContext(0,k)}mergeCase(t){return t===void 0?this.getRuleContexts(v1):this.getRuleContext(t,v1)}KW_AS(){return this.getToken(s.KW_AS,0)}enterRule(t){t.enterMerge&&t.enterMerge(this)}exitRule(t){t.exitMerge&&t.exitMerge(this)}accept(t){return t.visitMerge?t.visitMerge(this):t.visitChildren(this)}}class Jc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}KW_TO(){return this.getToken(s.KW_TO,0)}columnName(){return this.getRuleContext(0,le)}columnNameCreate(){return this.getRuleContext(0,ks)}KW_IF(t){return t===void 0?this.getTokens(s.KW_IF):this.getToken(s.KW_IF,t)}KW_EXISTS(t){return t===void 0?this.getTokens(s.KW_EXISTS):this.getToken(s.KW_EXISTS,t)}enterRule(t){t.enterRenameColumn&&t.enterRenameColumn(this)}exitRule(t){t.exitRenameColumn&&t.exitRenameColumn(this)}accept(t){return t.visitRenameColumn?t.visitRenameColumn(this):t.visitChildren(this)}}class qc extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,le)}KW_IS(){return this.getToken(s.KW_IS,0)}string(){return this.getRuleContext(0,st)}KW_NULL(){return this.getToken(s.KW_NULL,0)}enterRule(t){t.enterCommentColumn&&t.enterCommentColumn(this)}exitRule(t){t.exitCommentColumn&&t.exitCommentColumn(this)}accept(t){return t.visitCommentColumn?t.visitCommentColumn(this):t.visitChildren(this)}}class tu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}roles(){return this.getRuleContext(0,kr)}KW_FROM(){return this.getToken(s.KW_FROM,0)}principal(t){return t===void 0?this.getRuleContexts(Tt):this.getRuleContext(t,Tt)}KW_ADMIN(){return this.getToken(s.KW_ADMIN,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}KW_GRANTED(){return this.getToken(s.KW_GRANTED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}grantor(){return this.getRuleContext(0,l1)}KW_IN(){return this.getToken(s.KW_IN,0)}catalogName(){return this.getRuleContext(0,b1)}enterRule(t){t.enterRevokeRoles&&t.enterRevokeRoles(this)}exitRule(t){t.exitRevokeRoles&&t.exitRevokeRoles(this)}accept(t){return t.visitRevokeRoles?t.visitRevokeRoles(this):t.visitChildren(this)}}class eu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}class or extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_COLUMNS(){return this.getToken(s.KW_COLUMNS,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}tableOrViewName(){return this.getRuleContext(0,xr)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(st):this.getRuleContext(t,st)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}enterRule(t){t.enterShowColumns&&t.enterShowColumns(this)}exitRule(t){t.exitShowColumns&&t.exitShowColumns(this)}accept(t){return t.visitShowColumns?t.visitShowColumns(this):t.visitChildren(this)}}class su extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_GRANTS(){return this.getToken(s.KW_GRANTS,0)}identifier(){return this.getRuleContext(0,k)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}enterRule(t){t.enterShowRoleGrants&&t.enterShowRoleGrants(this)}exitRule(t){t.exitShowRoleGrants&&t.exitShowRoleGrants(this)}accept(t){return t.visitShowRoleGrants?t.visitShowRoleGrants(this):t.visitChildren(this)}}class iu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnDefinition(){return this.getRuleContext(0,ur)}KW_IF(t){return t===void 0?this.getTokens(s.KW_IF):this.getToken(s.KW_IF,t)}KW_EXISTS(t){return t===void 0?this.getTokens(s.KW_EXISTS):this.getToken(s.KW_EXISTS,t)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterAddColumn&&t.enterAddColumn(this)}exitRule(t){t.exitAddColumn&&t.exitAddColumn(this)}accept(t){return t.visitAddColumn?t.visitAddColumn(this):t.visitChildren(this)}}class nu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DENY(){return this.getToken(s.KW_DENY,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TO(){return this.getToken(s.KW_TO,0)}principal(){return this.getRuleContext(0,Tt)}privilege(t){return t===void 0?this.getRuleContexts(c1):this.getRuleContext(t,c1)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(s.KW_PRIVILEGES,0)}schemaName(){return this.getRuleContext(0,ue)}tableName(){return this.getRuleContext(0,it)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}enterRule(t){t.enterDeny&&t.enterDeny(this)}exitRule(t){t.exitDeny&&t.exitDeny(this)}accept(t){return t.visitDeny?t.visitDeny(this):t.visitChildren(this)}}class ru extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(s.KW_RESET,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}qualifiedName(){return this.getRuleContext(0,u1)}enterRule(t){t.enterResetSession&&t.enterResetSession(this)}exitRule(t){t.exitResetSession&&t.exitResetSession(this)}accept(t){return t.visitResetSession?t.visitResetSession(this):t.visitChildren(this)}}class au extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}KW_INTO(){return this.getToken(s.KW_INTO,0)}tableName(){return this.getRuleContext(0,it)}query(){return this.getRuleContext(0,yt)}columnList(){return this.getRuleContext(0,bh)}enterRule(t){t.enterInsertInto&&t.enterInsertInto(this)}exitRule(t){t.exitInsertInto&&t.exitInsertInto(this)}accept(t){return t.visitInsertInto?t.visitInsertInto(this):t.visitChildren(this)}}class hu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(st):this.getRuleContext(t,st)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterShowSession&&t.enterShowSession(this)}exitRule(t){t.exitShowSession&&t.exitShowSession(this)}accept(t){return t.visitShowSession?t.visitShowSession(this):t.visitChildren(this)}}class ou extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}schemaNameCreate(){return this.getRuleContext(0,Lr)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Tt)}KW_WITH(){return this.getToken(s.KW_WITH,0)}properties(){return this.getRuleContext(0,n1)}enterRule(t){t.enterCreateSchema&&t.enterCreateSchema(this)}exitRule(t){t.exitCreateSchema&&t.exitCreateSchema(this)}accept(t){return t.visitCreateSchema?t.visitCreateSchema(this):t.visitChildren(this)}}class cu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXECUTE(){return this.getToken(s.KW_EXECUTE,0)}identifier(){return this.getRuleContext(0,k)}KW_USING(){return this.getToken(s.KW_USING,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}enterRule(t){t.enterExecute&&t.enterExecute(this)}exitRule(t){t.exitExecute&&t.exitExecute(this)}accept(t){return t.visitExecute?t.visitExecute(this):t.visitChildren(this)}}class uu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}schemaName(){return this.getRuleContext(0,ue)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}schemaNameCreate(){return this.getRuleContext(0,Lr)}enterRule(t){t.enterRenameSchema&&t.enterRenameSchema(this)}exitRule(t){t.exitRenameSchema&&t.exitRenameSchema(this)}accept(t){return t.visitRenameSchema?t.visitRenameSchema(this):t.visitChildren(this)}}class lu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterDropRole&&t.enterDropRole(this)}exitRule(t){t.exitDropRole&&t.exitDropRole(this)}accept(t){return t.visitDropRole?t.visitDropRole(this):t.visitChildren(this)}}class du extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ANALYZE(){return this.getToken(s.KW_ANALYZE,0)}tableName(){return this.getRuleContext(0,it)}KW_WITH(){return this.getToken(s.KW_WITH,0)}properties(){return this.getRuleContext(0,n1)}enterRule(t){t.enterAnalyze&&t.enterAnalyze(this)}exitRule(t){t.exitAnalyze&&t.exitAnalyze(this)}accept(t){return t.visitAnalyze?t.visitAnalyze(this):t.visitChildren(this)}}class fu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_NONE(){return this.getToken(s.KW_NONE,0)}identifier(){return this.getRuleContext(0,k)}KW_IN(){return this.getToken(s.KW_IN,0)}catalogName(){return this.getRuleContext(0,b1)}enterRule(t){t.enterSetRole&&t.enterSetRole(this)}exitRule(t){t.exitSetRole&&t.exitSetRole(this)}accept(t){return t.visitSetRole?t.visitSetRole(this):t.visitChildren(this)}}class Eu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_GRANTS(){return this.getToken(s.KW_GRANTS,0)}KW_ON(){return this.getToken(s.KW_ON,0)}tableName(){return this.getRuleContext(0,it)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}enterRule(t){t.enterShowGrants&&t.enterShowGrants(this)}exitRule(t){t.exitShowGrants&&t.exitShowGrants(this)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}}class mu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}schemaName(){return this.getRuleContext(0,ue)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}enterRule(t){t.enterDropSchema&&t.enterDropSchema(this)}exitRule(t){t.exitDropSchema&&t.exitDropSchema(this)}accept(t){return t.visitDropSchema?t.visitDropSchema(this):t.visitChildren(this)}}class pu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Tt)}enterRule(t){t.enterSetTableAuthorization&&t.enterSetTableAuthorization(this)}exitRule(t){t.exitSetTableAuthorization&&t.exitSetTableAuthorization(this)}accept(t){return t.visitSetTableAuthorization?t.visitSetTableAuthorization(this):t.visitChildren(this)}}class _u extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewName(){return this.getRuleContext(0,jt)}enterRule(t){t.enterShowCreateView&&t.enterShowCreateView(this)}exitRule(t){t.exitShowCreateView&&t.exitShowCreateView(this)}accept(t){return t.visitShowCreateView?t.visitShowCreateView(this):t.visitChildren(this)}}class Ru extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}columnName(){return this.getRuleContext(0,le)}enterRule(t){t.enterShowColumnComment&&t.enterShowColumnComment(this)}exitRule(t){t.exitShowColumnComment&&t.exitShowColumnComment(this)}accept(t){return t.visitShowColumnComment?t.visitShowColumnComment(this):t.visitChildren(this)}}class Wu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,mn)}tableElement(t){return t===void 0?this.getRuleContexts(cr):this.getRuleContext(t,cr)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}string(){return this.getRuleContext(0,st)}KW_WITH(){return this.getToken(s.KW_WITH,0)}properties(){return this.getRuleContext(0,n1)}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}class gu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_START(){return this.getToken(s.KW_START,0)}KW_TRANSACTION(){return this.getToken(s.KW_TRANSACTION,0)}transactionMode(t){return t===void 0?this.getRuleContexts(Ls):this.getRuleContext(t,Ls)}enterRule(t){t.enterStartTransaction&&t.enterStartTransaction(this)}exitRule(t){t.exitStartTransaction&&t.exitStartTransaction(this)}accept(t){return t.visitStartTransaction?t.visitStartTransaction(this):t.visitChildren(this)}}class Ku extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,mn)}KW_AS(){return this.getToken(s.KW_AS,0)}query(){return this.getRuleContext(0,yt)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}columnListCreate(){return this.getRuleContext(0,Mh)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}string(){return this.getRuleContext(0,st)}KW_WITH(t){return t===void 0?this.getTokens(s.KW_WITH):this.getToken(s.KW_WITH,t)}properties(){return this.getRuleContext(0,n1)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_NO(){return this.getToken(s.KW_NO,0)}enterRule(t){t.enterCreateTableAsSelect&&t.enterCreateTableAsSelect(this)}exitRule(t){t.exitCreateTableAsSelect&&t.exitCreateTableAsSelect(this)}accept(t){return t.visitCreateTableAsSelect?t.visitCreateTableAsSelect(this):t.visitChildren(this)}}class Au extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}tableName(){return this.getRuleContext(0,it)}enterRule(t){t.enterShowStats&&t.enterShowStats(this)}exitRule(t){t.exitShowStats&&t.exitShowStats(this)}accept(t){return t.visitShowStats?t.visitShowStats(this):t.visitChildren(this)}}class Cu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}schemaName(){return this.getRuleContext(0,ue)}enterRule(t){t.enterShowCreateSchema&&t.enterShowCreateSchema(this)}exitRule(t){t.exitShowCreateSchema&&t.exitShowCreateSchema(this)}accept(t){return t.visitShowCreateSchema?t.visitShowCreateSchema(this):t.visitChildren(this)}}class xu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}principal(){return this.getRuleContext(0,Tt)}privilege(t){return t===void 0?this.getRuleContexts(c1):this.getRuleContext(t,c1)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(s.KW_PRIVILEGES,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}schemaName(){return this.getRuleContext(0,ue)}tableName(){return this.getRuleContext(0,it)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}enterRule(t){t.enterRevoke&&t.enterRevoke(this)}exitRule(t){t.exitRevoke&&t.exitRevoke(this)}accept(t){return t.visitRevoke?t.visitRevoke(this):t.visitChildren(this)}}class Nu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UPDATE(){return this.getToken(s.KW_UPDATE,0)}tableName(){return this.getRuleContext(0,it)}KW_SET(){return this.getToken(s.KW_SET,0)}updateAssignment(t){return t===void 0?this.getRuleContexts(Ar):this.getRuleContext(t,Ar)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Kt)}enterRule(t){t.enterUpdate&&t.enterUpdate(this)}exitRule(t){t.exitUpdate&&t.exitUpdate(this)}accept(t){return t.visitUpdate?t.visitUpdate(this):t.visitChildren(this)}}class Tu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_EXECUTE(){return this.getToken(s.KW_EXECUTE,0)}identifier(){return this.getRuleContext(0,k)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Kt)}callArgument(t){return t===void 0?this.getRuleContexts(o1):this.getRuleContext(t,o1)}enterRule(t){t.enterTableExecute&&t.enterTableExecute(this)}exitRule(t){t.exitTableExecute&&t.exitTableExecute(this)}accept(t){return t.visitTableExecute?t.visitTableExecute(this):t.visitChildren(this)}}class Lu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}tableName(){return this.getRuleContext(0,it)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Kt)}enterRule(t){t.enterDelete&&t.enterDelete(this)}exitRule(t){t.exitDelete&&t.exitDelete(this)}accept(t){return t.visitDelete?t.visitDelete(this):t.visitChildren(this)}}class Iu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}KW_INPUT(){return this.getToken(s.KW_INPUT,0)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterDescribeInput&&t.enterDescribeInput(this)}exitRule(t){t.exitDescribeInput&&t.exitDescribeInput(this)}accept(t){return t.visitDescribeInput?t.visitDescribeInput(this):t.visitChildren(this)}}class Su extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterShowStatsForQuery&&t.enterShowStatsForQuery(this)}exitRule(t){t.exitShowStatsForQuery&&t.exitShowStatsForQuery(this)}accept(t){return t.visitShowStatsForQuery?t.visitShowStatsForQuery(this):t.visitChildren(this)}}class ku extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterStatementDefault&&t.enterStatementDefault(this)}exitRule(t){t.exitStatementDefault&&t.exitStatementDefault(this)}accept(t){return t.visitStatementDefault?t.visitStatementDefault(this):t.visitChildren(this)}}class Ou extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}KW_LOCAL(){return this.getToken(s.KW_LOCAL,0)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterSetTimeZone&&t.enterSetTimeZone(this)}exitRule(t){t.exitSetTimeZone&&t.exitSetTimeZone(this)}accept(t){return t.visitSetTimeZone?t.visitSetTimeZone(this):t.visitChildren(this)}}class yu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}enterRule(t){t.enterTruncateTable&&t.enterTruncateTable(this)}exitRule(t){t.exitTruncateTable&&t.exitTruncateTable(this)}accept(t){return t.visitTruncateTable?t.visitTruncateTable(this):t.visitChildren(this)}}class wu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Ss)}KW_AS(){return this.getToken(s.KW_AS,0)}query(){return this.getRuleContext(0,yt)}KW_OR(){return this.getToken(s.KW_OR,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}string(){return this.getRuleContext(0,st)}KW_WITH(){return this.getToken(s.KW_WITH,0)}properties(){return this.getRuleContext(0,n1)}enterRule(t){t.enterCreateMaterializedView&&t.enterCreateMaterializedView(this)}exitRule(t){t.exitCreateMaterializedView&&t.exitCreateMaterializedView(this)}accept(t){return t.visitCreateMaterializedView?t.visitCreateMaterializedView(this):t.visitChildren(this)}}class vu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}qualifiedName(){return this.getRuleContext(0,u1)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterSetSession&&t.enterSetSession(this)}exitRule(t){t.exitSetSession&&t.exitSetSession(this)}accept(t){return t.visitSetSession?t.visitSetSession(this):t.visitChildren(this)}}class Du extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Ss)}KW_AS(){return this.getToken(s.KW_AS,0)}query(){return this.getRuleContext(0,yt)}KW_OR(){return this.getToken(s.KW_OR,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}string(){return this.getRuleContext(0,st)}KW_SECURITY(){return this.getToken(s.KW_SECURITY,0)}KW_DEFINER(){return this.getToken(s.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(s.KW_INVOKER,0)}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class Uu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}viewName(){return this.getRuleContext(0,jt)}viewNameCreate(){return this.getRuleContext(0,Ss)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}enterRule(t){t.enterRenameMaterializedView&&t.enterRenameMaterializedView(this)}exitRule(t){t.exitRenameMaterializedView&&t.exitRenameMaterializedView(this)}accept(t){return t.visitRenameMaterializedView?t.visitRenameMaterializedView(this):t.visitChildren(this)}}class Mu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_SCHEMAS(){return this.getToken(s.KW_SCHEMAS,0)}catalogName(){return this.getRuleContext(0,b1)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_IN(){return this.getToken(s.KW_IN,0)}string_(t){return t===void 0?this.getRuleContexts(st):this.getRuleContext(t,st)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterShowSchemas&&t.enterShowSchemas(this)}exitRule(t){t.exitShowSchemas&&t.exitShowSchemas(this)}accept(t){return t.visitShowSchemas?t.visitShowSchemas(this):t.visitChildren(this)}}class bu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(s.KW_DROP,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class Fu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}schemaName(){return this.getRuleContext(0,ue)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Tt)}enterRule(t){t.enterSetSchemaAuthorization&&t.enterSetSchemaAuthorization(this)}exitRule(t){t.exitSetSchemaAuthorization&&t.exitSetSchemaAuthorization(this)}accept(t){return t.visitSetSchemaAuthorization?t.visitSetSchemaAuthorization(this):t.visitChildren(this)}}class Hu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLLBACK(){return this.getToken(s.KW_ROLLBACK,0)}KW_WORK(){return this.getToken(s.KW_WORK,0)}enterRule(t){t.enterRollback&&t.enterRollback(this)}exitRule(t){t.exitRollback&&t.exitRollback(this)}accept(t){return t.visitRollback?t.visitRollback(this):t.visitChildren(this)}}class Vu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_IS(){return this.getToken(s.KW_IS,0)}string(){return this.getRuleContext(0,st)}KW_NULL(){return this.getToken(s.KW_NULL,0)}enterRule(t){t.enterCommentTable&&t.enterCommentTable(this)}exitRule(t){t.exitCommentTable&&t.exitCommentTable(this)}accept(t){return t.visitCommentTable?t.visitCommentTable(this):t.visitChildren(this)}}class Bu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_TO(){return this.getToken(s.KW_TO,0)}viewName(){return this.getRuleContext(0,jt)}viewNameCreate(){return this.getRuleContext(0,Ss)}enterRule(t){t.enterRenameView&&t.enterRenameView(this)}exitRule(t){t.exitRenameView&&t.exitRenameView(this)}accept(t){return t.visitRenameView?t.visitRenameView(this):t.visitChildren(this)}}class Gu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_PATH(){return this.getToken(s.KW_PATH,0)}pathSpecification(){return this.getRuleContext(0,Cr)}enterRule(t){t.enterSetPath&&t.enterSetPath(this)}exitRule(t){t.exitSetPath&&t.exitSetPath(this)}accept(t){return t.visitSetPath?t.visitSetPath(this):t.visitChildren(this)}}class Yu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}roles(){return this.getRuleContext(0,kr)}KW_TO(){return this.getToken(s.KW_TO,0)}principal(t){return t===void 0?this.getRuleContexts(Tt):this.getRuleContext(t,Tt)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_ADMIN(){return this.getToken(s.KW_ADMIN,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_GRANTED(){return this.getToken(s.KW_GRANTED,0)}KW_BY(){return this.getToken(s.KW_BY,0)}grantor(){return this.getRuleContext(0,l1)}KW_IN(){return this.getToken(s.KW_IN,0)}catalogName(){return this.getRuleContext(0,b1)}enterRule(t){t.enterGrantRoles&&t.enterGrantRoles(this)}exitRule(t){t.exitGrantRoles&&t.exitGrantRoles(this)}accept(t){return t.visitGrantRoles?t.visitGrantRoles(this):t.visitChildren(this)}}class Qu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CALL(){return this.getToken(s.KW_CALL,0)}functionName(){return this.getRuleContext(0,Sr)}callArgument(t){return t===void 0?this.getRuleContexts(o1):this.getRuleContext(t,o1)}enterRule(t){t.enterCall&&t.enterCall(this)}exitRule(t){t.exitCall&&t.exitCall(this)}accept(t){return t.visitCall?t.visitCall(this):t.visitChildren(this)}}class Zu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewName(){return this.getRuleContext(0,jt)}enterRule(t){t.enterRefreshMaterializedView&&t.enterRefreshMaterializedView(this)}exitRule(t){t.exitRefreshMaterializedView&&t.exitRefreshMaterializedView(this)}accept(t){return t.visitRefreshMaterializedView?t.visitRefreshMaterializedView(this):t.visitChildren(this)}}class Xu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_CREATE(){return this.getToken(s.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}viewName(){return this.getRuleContext(0,jt)}enterRule(t){t.enterShowCreateMaterializedView&&t.enterShowCreateMaterializedView(this)}exitRule(t){t.exitShowCreateMaterializedView&&t.exitShowCreateMaterializedView(this)}accept(t){return t.visitShowCreateMaterializedView?t.visitShowCreateMaterializedView(this):t.visitChildren(this)}}class zu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(st):this.getRuleContext(t,st)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}class $u extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DESCRIBE(){return this.getToken(s.KW_DESCRIBE,0)}KW_OUTPUT(){return this.getToken(s.KW_OUTPUT,0)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterDescribeOutput&&t.enterDescribeOutput(this)}exitRule(t){t.exitDescribeOutput&&t.exitDescribeOutput(this)}accept(t){return t.visitDescribeOutput?t.visitDescribeOutput(this):t.visitChildren(this)}}class ju extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GRANT(t){return t===void 0?this.getTokens(s.KW_GRANT):this.getToken(s.KW_GRANT,t)}KW_ON(){return this.getToken(s.KW_ON,0)}KW_TO(){return this.getToken(s.KW_TO,0)}principal(){return this.getRuleContext(0,Tt)}privilege(t){return t===void 0?this.getRuleContexts(c1):this.getRuleContext(t,c1)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(s.KW_PRIVILEGES,0)}schemaName(){return this.getRuleContext(0,ue)}tableName(){return this.getRuleContext(0,it)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}enterRule(t){t.enterGrant&&t.enterGrant(this)}exitRule(t){t.exitGrant&&t.exitGrant(this)}accept(t){return t.visitGrant?t.visitGrant(this):t.visitChildren(this)}}class Pu extends L{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(s.KW_ALTER,0)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}propertyAssignments(){return this.getRuleContext(0,on)}enterRule(t){t.enterSetTableProperties&&t.enterSetTableProperties(this)}exitRule(t){t.exitSetTableProperties&&t.exitSetTableProperties(this)}accept(t){return t.visitSetTableProperties?t.visitSetTableProperties(this):t.visitChildren(this)}}class yt extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_query}copyFrom(t){super.copyFrom(t)}}class Ju extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryNoWith(){return this.getRuleContext(0,dr)}with(){return this.getRuleContext(0,Ch)}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class Ch extends R{constructor(t,e){super(t,e)}KW_WITH(){return this.getToken(s.KW_WITH,0)}namedQuery(t){return t===void 0?this.getRuleContexts(mr):this.getRuleContext(t,mr)}KW_RECURSIVE(){return this.getToken(s.KW_RECURSIVE,0)}get ruleIndex(){return s.RULE_with}enterRule(t){t.enterWith&&t.enterWith(this)}exitRule(t){t.exitWith&&t.exitWith(this)}accept(t){return t.visitWith?t.visitWith(this):t.visitChildren(this)}}class cr extends R{constructor(t,e){super(t,e)}columnDefinition(){return this.getRuleContext(0,ur)}likeClause(){return this.getRuleContext(0,xh)}get ruleIndex(){return s.RULE_tableElement}enterRule(t){t.enterTableElement&&t.enterTableElement(this)}exitRule(t){t.exitTableElement&&t.exitTableElement(this)}accept(t){return t.visitTableElement?t.visitTableElement(this):t.visitChildren(this)}}class ur extends R{constructor(t,e){super(t,e)}columnNameCreate(){return this.getRuleContext(0,ks)}type(){return this.getRuleContext(0,Rt)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}string(){return this.getRuleContext(0,st)}KW_WITH(){return this.getToken(s.KW_WITH,0)}properties(){return this.getRuleContext(0,n1)}get ruleIndex(){return s.RULE_columnDefinition}enterRule(t){t.enterColumnDefinition&&t.enterColumnDefinition(this)}exitRule(t){t.exitColumnDefinition&&t.exitColumnDefinition(this)}accept(t){return t.visitColumnDefinition?t.visitColumnDefinition(this):t.visitChildren(this)}}class xh extends R{constructor(t,e){super(t,e)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}tableName(){return this.getRuleContext(0,it)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}get ruleIndex(){return s.RULE_likeClause}enterRule(t){t.enterLikeClause&&t.enterLikeClause(this)}exitRule(t){t.exitLikeClause&&t.exitLikeClause(this)}accept(t){return t.visitLikeClause?t.visitLikeClause(this):t.visitChildren(this)}}class n1 extends R{constructor(t,e){super(t,e)}propertyAssignments(){return this.getRuleContext(0,on)}get ruleIndex(){return s.RULE_properties}enterRule(t){t.enterProperties&&t.enterProperties(this)}exitRule(t){t.exitProperties&&t.exitProperties(this)}accept(t){return t.visitProperties?t.visitProperties(this):t.visitChildren(this)}}class on extends R{constructor(t,e){super(t,e)}property(t){return t===void 0?this.getRuleContexts(lr):this.getRuleContext(t,lr)}get ruleIndex(){return s.RULE_propertyAssignments}enterRule(t){t.enterPropertyAssignments&&t.enterPropertyAssignments(this)}exitRule(t){t.exitPropertyAssignments&&t.exitPropertyAssignments(this)}accept(t){return t.visitPropertyAssignments?t.visitPropertyAssignments(this):t.visitChildren(this)}}class lr extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,k)}EQ(){return this.getToken(s.EQ,0)}propertyValue(){return this.getRuleContext(0,cn)}get ruleIndex(){return s.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}class cn extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_propertyValue}copyFrom(t){super.copyFrom(t)}}class qu extends cn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DEFAULT(){return this.getToken(s.KW_DEFAULT,0)}enterRule(t){t.enterDefaultPropertyValue&&t.enterDefaultPropertyValue(this)}exitRule(t){t.exitDefaultPropertyValue&&t.exitDefaultPropertyValue(this)}accept(t){return t.visitDefaultPropertyValue?t.visitDefaultPropertyValue(this):t.visitChildren(this)}}class tl extends cn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterNonDefaultPropertyValue&&t.enterNonDefaultPropertyValue(this)}exitRule(t){t.exitNonDefaultPropertyValue&&t.exitNonDefaultPropertyValue(this)}accept(t){return t.visitNonDefaultPropertyValue?t.visitNonDefaultPropertyValue(this):t.visitChildren(this)}}class dr extends R{constructor(t,e){super(t,e)}queryTerm(){return this.getRuleContext(0,we)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(_e):this.getRuleContext(t,_e)}KW_OFFSET(){return this.getToken(s.KW_OFFSET,0)}rowCount(t){return t===void 0?this.getRuleContexts(un):this.getRuleContext(t,un)}KW_LIMIT(){return this.getToken(s.KW_LIMIT,0)}KW_FETCH(){return this.getToken(s.KW_FETCH,0)}limitRowCount(){return this.getRuleContext(0,Nh)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_NEXT(){return this.getToken(s.KW_NEXT,0)}KW_ROW(t){return t===void 0?this.getTokens(s.KW_ROW):this.getToken(s.KW_ROW,t)}KW_ROWS(t){return t===void 0?this.getTokens(s.KW_ROWS):this.getToken(s.KW_ROWS,t)}KW_ONLY(){return this.getToken(s.KW_ONLY,0)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_TIES(){return this.getToken(s.KW_TIES,0)}get ruleIndex(){return s.RULE_queryNoWith}enterRule(t){t.enterQueryNoWith&&t.enterQueryNoWith(this)}exitRule(t){t.exitQueryNoWith&&t.exitQueryNoWith(this)}accept(t){return t.visitQueryNoWith?t.visitQueryNoWith(this):t.visitChildren(this)}}class Nh extends R{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}rowCount(){return this.getRuleContext(0,un)}get ruleIndex(){return s.RULE_limitRowCount}enterRule(t){t.enterLimitRowCount&&t.enterLimitRowCount(this)}exitRule(t){t.exitLimitRowCount&&t.exitLimitRowCount(this)}accept(t){return t.visitLimitRowCount?t.visitLimitRowCount(this):t.visitChildren(this)}}class un extends R{constructor(t,e){super(t,e)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}QUESTION_MARK(){return this.getToken(s.QUESTION_MARK,0)}get ruleIndex(){return s.RULE_rowCount}enterRule(t){t.enterRowCount&&t.enterRowCount(this)}exitRule(t){t.exitRowCount&&t.exitRowCount(this)}accept(t){return t.visitRowCount?t.visitRowCount(this):t.visitChildren(this)}}class we extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_queryTerm}copyFrom(t){super.copyFrom(t)}}class el extends we{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryPrimary(){return this.getRuleContext(0,w1)}enterRule(t){t.enterQueryTermDefault&&t.enterQueryTermDefault(this)}exitRule(t){t.exitQueryTermDefault&&t.exitQueryTermDefault(this)}accept(t){return t.visitQueryTermDefault?t.visitQueryTermDefault(this):t.visitChildren(this)}}class Th extends we{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryTerm(t){return t===void 0?this.getRuleContexts(we):this.getRuleContext(t,we)}KW_INTERSECT(){return this.getToken(s.KW_INTERSECT,0)}setQuantifier(){return this.getRuleContext(0,_s)}KW_UNION(){return this.getToken(s.KW_UNION,0)}KW_EXCEPT(){return this.getToken(s.KW_EXCEPT,0)}enterRule(t){t.enterSetOperation&&t.enterSetOperation(this)}exitRule(t){t.exitSetOperation&&t.exitSetOperation(this)}accept(t){return t.visitSetOperation?t.visitSetOperation(this):t.visitChildren(this)}}class w1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_queryPrimary}copyFrom(t){super.copyFrom(t)}}class sl extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryNoWith(){return this.getRuleContext(0,dr)}enterRule(t){t.enterSubquery&&t.enterSubquery(this)}exitRule(t){t.exitSubquery&&t.exitSubquery(this)}accept(t){return t.visitSubquery?t.visitSubquery(this):t.visitChildren(this)}}class il extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecification(){return this.getRuleContext(0,Lh)}enterRule(t){t.enterQueryPrimaryDefault&&t.enterQueryPrimaryDefault(this)}exitRule(t){t.exitQueryPrimaryDefault&&t.exitQueryPrimaryDefault(this)}accept(t){return t.visitQueryPrimaryDefault?t.visitQueryPrimaryDefault(this):t.visitChildren(this)}}class nl extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(s.KW_TABLE,0)}tableName(){return this.getRuleContext(0,it)}enterRule(t){t.enterTable&&t.enterTable(this)}exitRule(t){t.exitTable&&t.exitTable(this)}accept(t){return t.visitTable?t.visitTable(this):t.visitChildren(this)}}class rl extends w1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}class _e extends R{constructor(t,e){super(t,e)}columnName(){return this.getRuleContext(0,le)}expression(){return this.getRuleContext(0,M)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}get ruleIndex(){return s.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}class Lh extends R{constructor(t,e){super(t,e)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}selectItem(t){return t===void 0?this.getRuleContexts(Rs):this.getRuleContext(t,Rs)}setQuantifier(){return this.getRuleContext(0,_s)}KW_FROM(){return this.getToken(s.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(oe):this.getRuleContext(t,oe)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}KW_GROUP(){return this.getToken(s.KW_GROUP,0)}KW_BY(){return this.getToken(s.KW_BY,0)}groupBy(){return this.getRuleContext(0,Ih)}KW_HAVING(){return this.getToken(s.KW_HAVING,0)}KW_WINDOW(){return this.getToken(s.KW_WINDOW,0)}windowDefinition(t){return t===void 0?this.getRuleContexts(fr):this.getRuleContext(t,fr)}booleanExpression(t){return t===void 0?this.getRuleContexts(Kt):this.getRuleContext(t,Kt)}get ruleIndex(){return s.RULE_querySpecification}enterRule(t){t.enterQuerySpecification&&t.enterQuerySpecification(this)}exitRule(t){t.exitQuerySpecification&&t.exitQuerySpecification(this)}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}}class Ih extends R{constructor(t,e){super(t,e)}groupingElement(t){return t===void 0?this.getRuleContexts(r1):this.getRuleContext(t,r1)}setQuantifier(){return this.getRuleContext(0,_s)}get ruleIndex(){return s.RULE_groupBy}enterRule(t){t.enterGroupBy&&t.enterGroupBy(this)}exitRule(t){t.exitGroupBy&&t.exitGroupBy(this)}accept(t){return t.visitGroupBy?t.visitGroupBy(this):t.visitChildren(this)}}class r1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_groupingElement}copyFrom(t){super.copyFrom(t)}}class al extends r1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}KW_SETS(){return this.getToken(s.KW_SETS,0)}groupingSet(t){return t===void 0?this.getRuleContexts(ln):this.getRuleContext(t,ln)}enterRule(t){t.enterMultipleGroupingSets&&t.enterMultipleGroupingSets(this)}exitRule(t){t.exitMultipleGroupingSets&&t.exitMultipleGroupingSets(this)}accept(t){return t.visitMultipleGroupingSets?t.visitMultipleGroupingSets(this):t.visitChildren(this)}}class hl extends r1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}groupingSet(){return this.getRuleContext(0,ln)}enterRule(t){t.enterSingleGroupingSet&&t.enterSingleGroupingSet(this)}exitRule(t){t.exitSingleGroupingSet&&t.exitSingleGroupingSet(this)}accept(t){return t.visitSingleGroupingSet?t.visitSingleGroupingSet(this):t.visitChildren(this)}}class ol extends r1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CUBE(){return this.getToken(s.KW_CUBE,0)}groupingTerm(t){return t===void 0?this.getRuleContexts(a1):this.getRuleContext(t,a1)}enterRule(t){t.enterCube&&t.enterCube(this)}exitRule(t){t.exitCube&&t.exitCube(this)}accept(t){return t.visitCube?t.visitCube(this):t.visitChildren(this)}}class cl extends r1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLLUP(){return this.getToken(s.KW_ROLLUP,0)}groupingTerm(t){return t===void 0?this.getRuleContexts(a1):this.getRuleContext(t,a1)}enterRule(t){t.enterRollup&&t.enterRollup(this)}exitRule(t){t.exitRollup&&t.exitRollup(this)}accept(t){return t.visitRollup?t.visitRollup(this):t.visitChildren(this)}}class ln extends R{constructor(t,e){super(t,e)}groupingTerm(t){return t===void 0?this.getRuleContexts(a1):this.getRuleContext(t,a1)}get ruleIndex(){return s.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}class a1 extends R{constructor(t,e){super(t,e)}columnName(){return this.getRuleContext(0,le)}expression(){return this.getRuleContext(0,M)}get ruleIndex(){return s.RULE_groupingTerm}enterRule(t){t.enterGroupingTerm&&t.enterGroupingTerm(this)}exitRule(t){t.exitGroupingTerm&&t.exitGroupingTerm(this)}accept(t){return t.visitGroupingTerm?t.visitGroupingTerm(this):t.visitChildren(this)}}class fr extends R{constructor(t,e){super(t,e)}KW_AS(){return this.getToken(s.KW_AS,0)}windowSpecification(){return this.getRuleContext(0,Er)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_windowDefinition}enterRule(t){t.enterWindowDefinition&&t.enterWindowDefinition(this)}exitRule(t){t.exitWindowDefinition&&t.exitWindowDefinition(this)}accept(t){return t.visitWindowDefinition?t.visitWindowDefinition(this):t.visitChildren(this)}}class Er extends R{constructor(t,e){super(t,e),this._partition=[]}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(s.KW_BY):this.getToken(s.KW_BY,t)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}sortItem(t){return t===void 0?this.getRuleContexts(_e):this.getRuleContext(t,_e)}windowFrame(){return this.getRuleContext(0,Jh)}identifier(){return this.getRuleContext(0,k)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}get ruleIndex(){return s.RULE_windowSpecification}enterRule(t){t.enterWindowSpecification&&t.enterWindowSpecification(this)}exitRule(t){t.exitWindowSpecification&&t.exitWindowSpecification(this)}accept(t){return t.visitWindowSpecification?t.visitWindowSpecification(this):t.visitChildren(this)}}class mr extends R{constructor(t,e){super(t,e)}KW_AS(){return this.getToken(s.KW_AS,0)}query(){return this.getRuleContext(0,yt)}identifier(){return this.getRuleContext(0,k)}columnAliases(){return this.getRuleContext(0,As)}get ruleIndex(){return s.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}class _s extends R{constructor(t,e){super(t,e)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}get ruleIndex(){return s.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class Rs extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_selectItem}copyFrom(t){super.copyFrom(t)}}class Sh extends Rs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,B)}ASTERISK(){return this.getToken(s.ASTERISK,0)}KW_AS(){return this.getToken(s.KW_AS,0)}columnAliases(){return this.getRuleContext(0,As)}enterRule(t){t.enterSelectAll&&t.enterSelectAll(this)}exitRule(t){t.exitSelectAll&&t.exitSelectAll(this)}accept(t){return t.visitSelectAll?t.visitSelectAll(this):t.visitChildren(this)}}class ul extends Rs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnName(){return this.getRuleContext(0,le)}expression(){return this.getRuleContext(0,M)}identifier(){return this.getRuleContext(0,k)}KW_AS(){return this.getToken(s.KW_AS,0)}enterRule(t){t.enterSelectSingle&&t.enterSelectSingle(this)}exitRule(t){t.exitSelectSingle&&t.exitSelectSingle(this)}accept(t){return t.visitSelectSingle?t.visitSelectSingle(this):t.visitChildren(this)}}class oe extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_relation}copyFrom(t){super.copyFrom(t)}}class ll extends oe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}sampledRelation(){return this.getRuleContext(0,pr)}enterRule(t){t.enterRelationDefault&&t.enterRelationDefault(this)}exitRule(t){t.exitRelationDefault&&t.exitRelationDefault(this)}accept(t){return t.visitRelationDefault?t.visitRelationDefault(this):t.visitChildren(this)}}class dl extends oe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}relation(t){return t===void 0?this.getRuleContexts(oe):this.getRuleContext(t,oe)}KW_CROSS(){return this.getToken(s.KW_CROSS,0)}KW_JOIN(){return this.getToken(s.KW_JOIN,0)}joinType(){return this.getRuleContext(0,kh)}joinCriteria(){return this.getRuleContext(0,Oh)}KW_NATURAL(){return this.getToken(s.KW_NATURAL,0)}sampledRelation(){return this.getRuleContext(0,pr)}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}class kh extends R{constructor(t,e){super(t,e)}KW_INNER(){return this.getToken(s.KW_INNER,0)}KW_LEFT(){return this.getToken(s.KW_LEFT,0)}KW_OUTER(){return this.getToken(s.KW_OUTER,0)}KW_RIGHT(){return this.getToken(s.KW_RIGHT,0)}KW_FULL(){return this.getToken(s.KW_FULL,0)}get ruleIndex(){return s.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}class Oh extends R{constructor(t,e){super(t,e)}KW_ON(){return this.getToken(s.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,Kt)}KW_USING(){return this.getToken(s.KW_USING,0)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}class pr extends R{constructor(t,e){super(t,e)}patternRecognition(){return this.getRuleContext(0,wh)}KW_TABLESAMPLE(){return this.getToken(s.KW_TABLESAMPLE,0)}sampleType(){return this.getRuleContext(0,yh)}expression(){return this.getRuleContext(0,M)}get ruleIndex(){return s.RULE_sampledRelation}enterRule(t){t.enterSampledRelation&&t.enterSampledRelation(this)}exitRule(t){t.exitSampledRelation&&t.exitSampledRelation(this)}accept(t){return t.visitSampledRelation?t.visitSampledRelation(this):t.visitChildren(this)}}class yh extends R{constructor(t,e){super(t,e)}KW_BERNOULLI(){return this.getToken(s.KW_BERNOULLI,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}get ruleIndex(){return s.RULE_sampleType}enterRule(t){t.enterSampleType&&t.enterSampleType(this)}exitRule(t){t.exitSampleType&&t.exitSampleType(this)}accept(t){return t.visitSampleType?t.visitSampleType(this):t.visitChildren(this)}}class wh extends R{constructor(t,e){super(t,e),this._partition=[]}aliasedRelation(){return this.getRuleContext(0,Uh)}KW_MATCH_RECOGNIZE(){return this.getToken(s.KW_MATCH_RECOGNIZE,0)}KW_PATTERN(){return this.getToken(s.KW_PATTERN,0)}rowPattern(){return this.getRuleContext(0,At)}KW_DEFINE(){return this.getToken(s.KW_DEFINE,0)}variableDefinition(t){return t===void 0?this.getRuleContexts(Ks):this.getRuleContext(t,Ks)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(s.KW_BY):this.getToken(s.KW_BY,t)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}sortItem(t){return t===void 0?this.getRuleContexts(_e):this.getRuleContext(t,_e)}KW_MEASURES(){return this.getToken(s.KW_MEASURES,0)}measureDefinition(t){return t===void 0?this.getRuleContexts(Ws):this.getRuleContext(t,Ws)}rowsPerMatch(){return this.getRuleContext(0,vh)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}skipTo(){return this.getRuleContext(0,_r)}KW_SUBSET(){return this.getToken(s.KW_SUBSET,0)}subsetDefinition(t){return t===void 0?this.getRuleContexts(gs):this.getRuleContext(t,gs)}identifier(){return this.getRuleContext(0,k)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_INITIAL(){return this.getToken(s.KW_INITIAL,0)}KW_SEEK(){return this.getToken(s.KW_SEEK,0)}KW_AS(){return this.getToken(s.KW_AS,0)}columnAliases(){return this.getRuleContext(0,As)}get ruleIndex(){return s.RULE_patternRecognition}enterRule(t){t.enterPatternRecognition&&t.enterPatternRecognition(this)}exitRule(t){t.exitPatternRecognition&&t.exitPatternRecognition(this)}accept(t){return t.visitPatternRecognition?t.visitPatternRecognition(this):t.visitChildren(this)}}class Ws extends R{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,M)}KW_AS(){return this.getToken(s.KW_AS,0)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_measureDefinition}enterRule(t){t.enterMeasureDefinition&&t.enterMeasureDefinition(this)}exitRule(t){t.exitMeasureDefinition&&t.exitMeasureDefinition(this)}accept(t){return t.visitMeasureDefinition?t.visitMeasureDefinition(this):t.visitChildren(this)}}class vh extends R{constructor(t,e){super(t,e)}KW_ONE(){return this.getToken(s.KW_ONE,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_PER(){return this.getToken(s.KW_PER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}emptyMatchHandling(){return this.getRuleContext(0,Dh)}get ruleIndex(){return s.RULE_rowsPerMatch}enterRule(t){t.enterRowsPerMatch&&t.enterRowsPerMatch(this)}exitRule(t){t.exitRowsPerMatch&&t.exitRowsPerMatch(this)}accept(t){return t.visitRowsPerMatch?t.visitRowsPerMatch(this):t.visitChildren(this)}}class Dh extends R{constructor(t,e){super(t,e)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_EMPTY(){return this.getToken(s.KW_EMPTY,0)}KW_MATCHES(){return this.getToken(s.KW_MATCHES,0)}KW_OMIT(){return this.getToken(s.KW_OMIT,0)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_UNMATCHED(){return this.getToken(s.KW_UNMATCHED,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}get ruleIndex(){return s.RULE_emptyMatchHandling}enterRule(t){t.enterEmptyMatchHandling&&t.enterEmptyMatchHandling(this)}exitRule(t){t.exitEmptyMatchHandling&&t.exitEmptyMatchHandling(this)}accept(t){return t.visitEmptyMatchHandling?t.visitEmptyMatchHandling(this):t.visitChildren(this)}}class _r extends R{constructor(t,e){super(t,e)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_NEXT(){return this.getToken(s.KW_NEXT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_PAST(){return this.getToken(s.KW_PAST,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_skipTo}enterRule(t){t.enterSkipTo&&t.enterSkipTo(this)}exitRule(t){t.exitSkipTo&&t.exitSkipTo(this)}accept(t){return t.visitSkipTo?t.visitSkipTo(this):t.visitChildren(this)}}class gs extends R{constructor(t,e){super(t,e),this._union=[]}EQ(){return this.getToken(s.EQ,0)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_subsetDefinition}enterRule(t){t.enterSubsetDefinition&&t.enterSubsetDefinition(this)}exitRule(t){t.exitSubsetDefinition&&t.exitSubsetDefinition(this)}accept(t){return t.visitSubsetDefinition?t.visitSubsetDefinition(this):t.visitChildren(this)}}class Ks extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,k)}KW_AS(){return this.getToken(s.KW_AS,0)}expression(){return this.getRuleContext(0,M)}get ruleIndex(){return s.RULE_variableDefinition}enterRule(t){t.enterVariableDefinition&&t.enterVariableDefinition(this)}exitRule(t){t.exitVariableDefinition&&t.exitVariableDefinition(this)}accept(t){return t.visitVariableDefinition?t.visitVariableDefinition(this):t.visitChildren(this)}}class Uh extends R{constructor(t,e){super(t,e)}relationPrimary(){return this.getRuleContext(0,h1)}identifier(){return this.getRuleContext(0,k)}KW_AS(){return this.getToken(s.KW_AS,0)}columnAliases(){return this.getRuleContext(0,As)}get ruleIndex(){return s.RULE_aliasedRelation}enterRule(t){t.enterAliasedRelation&&t.enterAliasedRelation(this)}exitRule(t){t.exitAliasedRelation&&t.exitAliasedRelation(this)}accept(t){return t.visitAliasedRelation?t.visitAliasedRelation(this):t.visitChildren(this)}}class Mh extends R{constructor(t,e){super(t,e)}columnNameCreate(t){return t===void 0?this.getRuleContexts(ks):this.getRuleContext(t,ks)}get ruleIndex(){return s.RULE_columnListCreate}enterRule(t){t.enterColumnListCreate&&t.enterColumnListCreate(this)}exitRule(t){t.exitColumnListCreate&&t.exitColumnListCreate(this)}accept(t){return t.visitColumnListCreate?t.visitColumnListCreate(this):t.visitChildren(this)}}class bh extends R{constructor(t,e){super(t,e)}columnName(t){return t===void 0?this.getRuleContexts(le):this.getRuleContext(t,le)}get ruleIndex(){return s.RULE_columnList}enterRule(t){t.enterColumnList&&t.enterColumnList(this)}exitRule(t){t.exitColumnList&&t.exitColumnList(this)}accept(t){return t.visitColumnList?t.visitColumnList(this):t.visitChildren(this)}}class As extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_columnAliases}enterRule(t){t.enterColumnAliases&&t.enterColumnAliases(this)}exitRule(t){t.exitColumnAliases&&t.exitColumnAliases(this)}accept(t){return t.visitColumnAliases?t.visitColumnAliases(this):t.visitChildren(this)}}class h1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_relationPrimary}copyFrom(t){super.copyFrom(t)}}class fl extends h1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterSubqueryRelation&&t.enterSubqueryRelation(this)}exitRule(t){t.exitSubqueryRelation&&t.exitSubqueryRelation(this)}accept(t){return t.visitSubqueryRelation?t.visitSubqueryRelation(this):t.visitChildren(this)}}class El extends h1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}relation(){return this.getRuleContext(0,oe)}enterRule(t){t.enterParenthesizedRelation&&t.enterParenthesizedRelation(this)}exitRule(t){t.exitParenthesizedRelation&&t.exitParenthesizedRelation(this)}accept(t){return t.visitParenthesizedRelation?t.visitParenthesizedRelation(this):t.visitChildren(this)}}class ml extends h1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNNEST(){return this.getToken(s.KW_UNNEST,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_WITH(){return this.getToken(s.KW_WITH,0)}KW_ORDINALITY(){return this.getToken(s.KW_ORDINALITY,0)}enterRule(t){t.enterUnnest&&t.enterUnnest(this)}exitRule(t){t.exitUnnest&&t.exitUnnest(this)}accept(t){return t.visitUnnest?t.visitUnnest(this):t.visitChildren(this)}}class pl extends h1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableOrViewName(){return this.getRuleContext(0,xr)}enterRule(t){t.enterTableOrViewRelation&&t.enterTableOrViewRelation(this)}exitRule(t){t.exitTableOrViewRelation&&t.exitTableOrViewRelation(this)}accept(t){return t.visitTableOrViewRelation?t.visitTableOrViewRelation(this):t.visitChildren(this)}}class _l extends h1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LATERAL(){return this.getToken(s.KW_LATERAL,0)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterLateral&&t.enterLateral(this)}exitRule(t){t.exitLateral&&t.exitLateral(this)}accept(t){return t.visitLateral?t.visitLateral(this):t.visitChildren(this)}}class M extends R{constructor(t,e){super(t,e)}booleanExpression(){return this.getRuleContext(0,Kt)}get ruleIndex(){return s.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class Kt extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}class Rl extends Kt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NOT(){return this.getToken(s.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,Kt)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}class Wl extends Kt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,j)}predicate(){return this.getRuleContext(0,ce)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}class Fh extends Kt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(Kt):this.getRuleContext(t,Kt)}KW_AND(){return this.getToken(s.KW_AND,0)}KW_OR(){return this.getToken(s.KW_OR,0)}enterRule(t){t.enterLogicalBinary&&t.enterLogicalBinary(this)}exitRule(t){t.exitLogicalBinary&&t.exitLogicalBinary(this)}accept(t){return t.visitLogicalBinary?t.visitLogicalBinary(this):t.visitChildren(this)}}class ce extends R{constructor(t,e,n){super(t,e),this.value=n}get ruleIndex(){return s.RULE_predicate}copyFrom(t){super.copyFrom(t),this.value=t.value}}class gl extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,Rr)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}class Kl extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_LIKE(){return this.getToken(s.KW_LIKE,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_ESCAPE(){return this.getToken(s.KW_ESCAPE,0)}enterRule(t){t.enterLike&&t.enterLike(this)}exitRule(t){t.exitLike&&t.exitLike(this)}accept(t){return t.visitLike?t.visitLike(this):t.visitChildren(this)}}class Al extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(s.KW_IN,0)}query(){return this.getRuleContext(0,yt)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterInSubquery&&t.enterInSubquery(this)}exitRule(t){t.exitInSubquery&&t.exitInSubquery(this)}accept(t){return t.visitInSubquery?t.visitInSubquery(this):t.visitChildren(this)}}class Cl extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_DISTINCT(){return this.getToken(s.KW_DISTINCT,0)}KW_FROM(){return this.getToken(s.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,j)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterDistinctFrom&&t.enterDistinctFrom(this)}exitRule(t){t.exitDistinctFrom&&t.exitDistinctFrom(this)}accept(t){return t.visitDistinctFrom?t.visitDistinctFrom(this):t.visitChildren(this)}}class xl extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(s.KW_IN,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterInList&&t.enterInList(this)}exitRule(t){t.exitInList&&t.exitInList(this)}accept(t){return t.visitInList?t.visitInList(this):t.visitChildren(this)}}class Nl extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(s.KW_IS,0)}KW_NULL(){return this.getToken(s.KW_NULL,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterNullPredicate&&t.enterNullPredicate(this)}exitRule(t){t.exitNullPredicate&&t.exitNullPredicate(this)}accept(t){return t.visitNullPredicate?t.visitNullPredicate(this):t.visitChildren(this)}}class Tl extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_AND(){return this.getToken(s.KW_AND,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_NOT(){return this.getToken(s.KW_NOT,0)}enterRule(t){t.enterBetween&&t.enterBetween(this)}exitRule(t){t.exitBetween&&t.exitBetween(this)}accept(t){return t.visitBetween?t.visitBetween(this):t.visitChildren(this)}}class Ll extends ce{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,Rr)}comparisonQuantifier(){return this.getRuleContext(0,zh)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterQuantifiedComparison&&t.enterQuantifiedComparison(this)}exitRule(t){t.exitQuantifiedComparison&&t.exitQuantifiedComparison(this)}accept(t){return t.visitQuantifiedComparison?t.visitQuantifiedComparison(this):t.visitChildren(this)}}class j extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}class Il extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,B)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}class Sl extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONCAT(){return this.getToken(s.CONCAT,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}enterRule(t){t.enterConcatenation&&t.enterConcatenation(this)}exitRule(t){t.exitConcatenation&&t.exitConcatenation(this)}accept(t){return t.visitConcatenation?t.visitConcatenation(this):t.visitChildren(this)}}class Hh extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}ASTERISK(){return this.getToken(s.ASTERISK,0)}SLASH(){return this.getToken(s.SLASH,0)}PERCENT(){return this.getToken(s.PERCENT,0)}PLUS(){return this.getToken(s.PLUS,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}class kl extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,j)}MINUS(){return this.getToken(s.MINUS,0)}PLUS(){return this.getToken(s.PLUS,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}class Ol extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,j)}KW_AT(){return this.getToken(s.KW_AT,0)}timeZoneSpecifier(){return this.getRuleContext(0,dn)}enterRule(t){t.enterAtTimeZone&&t.enterAtTimeZone(this)}exitRule(t){t.exitAtTimeZone&&t.exitAtTimeZone(this)}accept(t){return t.visitAtTimeZone?t.visitAtTimeZone(this):t.visitChildren(this)}}class B extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}class yl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,B)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}class Vh extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}string(){return this.getRuleContext(0,st)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(s.KW_PRECISION,0)}enterRule(t){t.enterTypeConstructor&&t.enterTypeConstructor(this)}exitRule(t){t.exitTypeConstructor&&t.exitTypeConstructor(this)}accept(t){return t.visitTypeConstructor?t.visitTypeConstructor(this):t.visitChildren(this)}}class Cs extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_DATE(){return this.getToken(s.KW_CURRENT_DATE,0)}KW_CURRENT_TIME(){return this.getToken(s.KW_CURRENT_TIME,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}KW_CURRENT_TIMESTAMP(){return this.getToken(s.KW_CURRENT_TIMESTAMP,0)}KW_LOCALTIME(){return this.getToken(s.KW_LOCALTIME,0)}KW_LOCALTIMESTAMP(){return this.getToken(s.KW_LOCALTIMESTAMP,0)}enterRule(t){t.enterSpecialDateTimeFunction&&t.enterSpecialDateTimeFunction(this)}exitRule(t){t.exitSpecialDateTimeFunction&&t.exitSpecialDateTimeFunction(this)}accept(t){return t.visitSpecialDateTimeFunction?t.visitSpecialDateTimeFunction(this):t.visitChildren(this)}}class wl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_FROM(){return this.getToken(s.KW_FROM,0)}KW_FOR(){return this.getToken(s.KW_FOR,0)}enterRule(t){t.enterSubstring&&t.enterSubstring(this)}exitRule(t){t.exitSubstring&&t.exitSubstring(this)}accept(t){return t.visitSubstring?t.visitSubstring(this):t.visitChildren(this)}}class Bh extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CAST(){return this.getToken(s.KW_CAST,0)}expression(){return this.getRuleContext(0,M)}KW_AS(){return this.getToken(s.KW_AS,0)}type(){return this.getRuleContext(0,Rt)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}class Gh extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterLambda&&t.enterLambda(this)}exitRule(t){t.exitLambda&&t.exitLambda(this)}accept(t){return t.visitLambda?t.visitLambda(this):t.visitChildren(this)}}class vl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}class Dl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUESTION_MARK(){return this.getToken(s.QUESTION_MARK,0)}enterRule(t){t.enterParameter&&t.enterParameter(this)}exitRule(t){t.exitParameter&&t.exitParameter(this)}accept(t){return t.visitParameter?t.visitParameter(this):t.visitChildren(this)}}class Ul extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NORMALIZE(){return this.getToken(s.KW_NORMALIZE,0)}valueExpression(){return this.getRuleContext(0,j)}normalForm(){return this.getRuleContext(0,jh)}enterRule(t){t.enterNormalize&&t.enterNormalize(this)}exitRule(t){t.exitNormalize&&t.exitNormalize(this)}accept(t){return t.visitNormalize?t.visitNormalize(this):t.visitChildren(this)}}class Ml extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}interval(){return this.getRuleContext(0,Wr)}enterRule(t){t.enterIntervalLiteral&&t.enterIntervalLiteral(this)}exitRule(t){t.exitIntervalLiteral&&t.exitIntervalLiteral(this)}accept(t){return t.visitIntervalLiteral?t.visitIntervalLiteral(this):t.visitChildren(this)}}class bl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}number(){return this.getRuleContext(0,Os)}enterRule(t){t.enterNumericLiteral&&t.enterNumericLiteral(this)}exitRule(t){t.exitNumericLiteral&&t.exitNumericLiteral(this)}accept(t){return t.visitNumericLiteral?t.visitNumericLiteral(this):t.visitChildren(this)}}class Fl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanValue(){return this.getRuleContext(0,$h)}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}class Hl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}whenClause(t){return t===void 0?this.getRuleContexts(Ns):this.getRuleContext(t,Ns)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}class Vl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}class Bl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NULL(){return this.getToken(s.KW_NULL,0)}enterRule(t){t.enterNullLiteral&&t.enterNullLiteral(this)}exitRule(t){t.exitNullLiteral&&t.exitNullLiteral(this)}accept(t){return t.visitNullLiteral?t.visitNullLiteral(this):t.visitChildren(this)}}class Yh extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_ROW(){return this.getToken(s.KW_ROW,0)}enterRule(t){t.enterRowConstructor&&t.enterRowConstructor(this)}exitRule(t){t.exitRowConstructor&&t.exitRowConstructor(this)}accept(t){return t.visitRowConstructor?t.visitRowConstructor(this):t.visitChildren(this)}}class Gl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,B)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}class Yl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_PATH(){return this.getToken(s.KW_CURRENT_PATH,0)}enterRule(t){t.enterCurrentPath&&t.enterCurrentPath(this)}exitRule(t){t.exitCurrentPath&&t.exitCurrentPath(this)}accept(t){return t.visitCurrentPath?t.visitCurrentPath(this):t.visitChildren(this)}}class Ql extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}class Zl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BINARY_LITERAL(){return this.getToken(s.BINARY_LITERAL,0)}enterRule(t){t.enterBinaryLiteral&&t.enterBinaryLiteral(this)}exitRule(t){t.exitBinaryLiteral&&t.exitBinaryLiteral(this)}accept(t){return t.visitBinaryLiteral?t.visitBinaryLiteral(this):t.visitChildren(this)}}class Xl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_USER(){return this.getToken(s.KW_CURRENT_USER,0)}enterRule(t){t.enterCurrentUser&&t.enterCurrentUser(this)}exitRule(t){t.exitCurrentUser&&t.exitCurrentUser(this)}accept(t){return t.visitCurrentUser?t.visitCurrentUser(this):t.visitChildren(this)}}class zl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}over(){return this.getRuleContext(0,Kr)}enterRule(t){t.enterMeasure&&t.enterMeasure(this)}exitRule(t){t.exitMeasure&&t.exitMeasure(this)}accept(t){return t.visitMeasure?t.visitMeasure(this):t.visitChildren(this)}}class $l extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXTRACT(){return this.getToken(s.KW_EXTRACT,0)}identifier(){return this.getRuleContext(0,k)}KW_FROM(){return this.getToken(s.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterExtract&&t.enterExtract(this)}exitRule(t){t.exitExtract&&t.exitExtract(this)}accept(t){return t.visitExtract?t.visitExtract(this):t.visitChildren(this)}}class jl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}string(){return this.getRuleContext(0,st)}enterRule(t){t.enterStringLiteral&&t.enterStringLiteral(this)}exitRule(t){t.exitStringLiteral&&t.exitStringLiteral(this)}accept(t){return t.visitStringLiteral?t.visitStringLiteral(this):t.visitChildren(this)}}class Pl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}enterRule(t){t.enterArrayConstructor&&t.enterArrayConstructor(this)}exitRule(t){t.exitArrayConstructor&&t.exitArrayConstructor(this)}accept(t){return t.visitArrayConstructor?t.visitArrayConstructor(this):t.visitChildren(this)}}class Qh extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionName(){return this.getRuleContext(0,Sr)}ASTERISK(){return this.getToken(s.ASTERISK,0)}filter(){return this.getRuleContext(0,Ph)}over(){return this.getRuleContext(0,Kr)}processingMode(){return this.getRuleContext(0,Zh)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_ORDER(){return this.getToken(s.KW_ORDER,0)}KW_BY(){return this.getToken(s.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(_e):this.getRuleContext(t,_e)}setQuantifier(){return this.getRuleContext(0,_s)}nullTreatment(){return this.getRuleContext(0,Xh)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}class Jl extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_SCHEMA(){return this.getToken(s.KW_CURRENT_SCHEMA,0)}enterRule(t){t.enterCurrentSchema&&t.enterCurrentSchema(this)}exitRule(t){t.exitCurrentSchema&&t.exitCurrentSchema(this)}accept(t){return t.visitCurrentSchema?t.visitCurrentSchema(this):t.visitChildren(this)}}class ql extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXISTS(){return this.getToken(s.KW_EXISTS,0)}query(){return this.getRuleContext(0,yt)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}class t7 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_IN(){return this.getToken(s.KW_IN,0)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}class e7 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(s.KW_CASE,0)}KW_END(){return this.getToken(s.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(Ns):this.getRuleContext(t,Ns)}KW_ELSE(){return this.getToken(s.KW_ELSE,0)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}class s7 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_CATALOG(){return this.getToken(s.KW_CURRENT_CATALOG,0)}enterRule(t){t.enterCurrentCatalog&&t.enterCurrentCatalog(this)}exitRule(t){t.exitCurrentCatalog&&t.exitCurrentCatalog(this)}accept(t){return t.visitCurrentCatalog?t.visitCurrentCatalog(this):t.visitChildren(this)}}class i7 extends B{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUPING(){return this.getToken(s.KW_GROUPING,0)}qualifiedName(t){return t===void 0?this.getRuleContexts(u1):this.getRuleContext(t,u1)}enterRule(t){t.enterGroupingOperation&&t.enterGroupingOperation(this)}exitRule(t){t.exitGroupingOperation&&t.exitGroupingOperation(this)}accept(t){return t.visitGroupingOperation?t.visitGroupingOperation(this):t.visitChildren(this)}}class Zh extends R{constructor(t,e){super(t,e)}KW_RUNNING(){return this.getToken(s.KW_RUNNING,0)}KW_FINAL(){return this.getToken(s.KW_FINAL,0)}get ruleIndex(){return s.RULE_processingMode}enterRule(t){t.enterProcessingMode&&t.enterProcessingMode(this)}exitRule(t){t.exitProcessingMode&&t.exitProcessingMode(this)}accept(t){return t.visitProcessingMode?t.visitProcessingMode(this):t.visitChildren(this)}}class Xh extends R{constructor(t,e){super(t,e)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_RESPECT(){return this.getToken(s.KW_RESPECT,0)}get ruleIndex(){return s.RULE_nullTreatment}enterRule(t){t.enterNullTreatment&&t.enterNullTreatment(this)}exitRule(t){t.exitNullTreatment&&t.exitNullTreatment(this)}accept(t){return t.visitNullTreatment?t.visitNullTreatment(this):t.visitChildren(this)}}class st extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_string}copyFrom(t){super.copyFrom(t)}}class n7 extends st{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNICODE_STRING(){return this.getToken(s.UNICODE_STRING,0)}KW_UESCAPE(){return this.getToken(s.KW_UESCAPE,0)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterUnicodeStringLiteral&&t.enterUnicodeStringLiteral(this)}exitRule(t){t.exitUnicodeStringLiteral&&t.exitUnicodeStringLiteral(this)}accept(t){return t.visitUnicodeStringLiteral?t.visitUnicodeStringLiteral(this):t.visitChildren(this)}}class r7 extends st{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(s.STRING,0)}enterRule(t){t.enterBasicStringLiteral&&t.enterBasicStringLiteral(this)}exitRule(t){t.exitBasicStringLiteral&&t.exitBasicStringLiteral(this)}accept(t){return t.visitBasicStringLiteral?t.visitBasicStringLiteral(this):t.visitChildren(this)}}class dn extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_timeZoneSpecifier}copyFrom(t){super.copyFrom(t)}}class a7 extends dn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}interval(){return this.getRuleContext(0,Wr)}enterRule(t){t.enterTimeZoneInterval&&t.enterTimeZoneInterval(this)}exitRule(t){t.exitTimeZoneInterval&&t.exitTimeZoneInterval(this)}accept(t){return t.visitTimeZoneInterval?t.visitTimeZoneInterval(this):t.visitChildren(this)}}class h7 extends dn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}string(){return this.getRuleContext(0,st)}enterRule(t){t.enterTimeZoneString&&t.enterTimeZoneString(this)}exitRule(t){t.exitTimeZoneString&&t.exitTimeZoneString(this)}accept(t){return t.visitTimeZoneString?t.visitTimeZoneString(this):t.visitChildren(this)}}class Rr extends R{constructor(t,e){super(t,e)}EQ(){return this.getToken(s.EQ,0)}NEQ(){return this.getToken(s.NEQ,0)}LT(){return this.getToken(s.LT,0)}LTE(){return this.getToken(s.LTE,0)}GT(){return this.getToken(s.GT,0)}GTE(){return this.getToken(s.GTE,0)}get ruleIndex(){return s.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class zh extends R{constructor(t,e){super(t,e)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_SOME(){return this.getToken(s.KW_SOME,0)}KW_ANY(){return this.getToken(s.KW_ANY,0)}get ruleIndex(){return s.RULE_comparisonQuantifier}enterRule(t){t.enterComparisonQuantifier&&t.enterComparisonQuantifier(this)}exitRule(t){t.exitComparisonQuantifier&&t.exitComparisonQuantifier(this)}accept(t){return t.visitComparisonQuantifier?t.visitComparisonQuantifier(this):t.visitChildren(this)}}class $h extends R{constructor(t,e){super(t,e)}KW_TRUE(){return this.getToken(s.KW_TRUE,0)}KW_FALSE(){return this.getToken(s.KW_FALSE,0)}get ruleIndex(){return s.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}class Wr extends R{constructor(t,e){super(t,e)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}string(){return this.getRuleContext(0,st)}intervalField(t){return t===void 0?this.getRuleContexts(xs):this.getRuleContext(t,xs)}KW_TO(){return this.getToken(s.KW_TO,0)}PLUS(){return this.getToken(s.PLUS,0)}MINUS(){return this.getToken(s.MINUS,0)}get ruleIndex(){return s.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}class xs extends R{constructor(t,e){super(t,e)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}get ruleIndex(){return s.RULE_intervalField}enterRule(t){t.enterIntervalField&&t.enterIntervalField(this)}exitRule(t){t.exitIntervalField&&t.exitIntervalField(this)}accept(t){return t.visitIntervalField?t.visitIntervalField(this):t.visitChildren(this)}}class jh extends R{constructor(t,e){super(t,e)}KW_NFD(){return this.getToken(s.KW_NFD,0)}KW_NFC(){return this.getToken(s.KW_NFC,0)}KW_NFKD(){return this.getToken(s.KW_NFKD,0)}KW_NFKC(){return this.getToken(s.KW_NFKC,0)}get ruleIndex(){return s.RULE_normalForm}enterRule(t){t.enterNormalForm&&t.enterNormalForm(this)}exitRule(t){t.exitNormalForm&&t.exitNormalForm(this)}accept(t){return t.visitNormalForm?t.visitNormalForm(this):t.visitChildren(this)}}class Rt extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_type}copyFrom(t){super.copyFrom(t)}}class o7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROW(){return this.getToken(s.KW_ROW,0)}rowField(t){return t===void 0?this.getRuleContexts(gr):this.getRuleContext(t,gr)}enterRule(t){t.enterRowType&&t.enterRowType(this)}exitRule(t){t.exitRowType&&t.exitRowType(this)}accept(t){return t.visitRowType?t.visitRowType(this):t.visitChildren(this)}}class c7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}intervalField(t){return t===void 0?this.getRuleContexts(xs):this.getRuleContext(t,xs)}KW_TO(){return this.getToken(s.KW_TO,0)}enterRule(t){t.enterIntervalType&&t.enterIntervalType(this)}exitRule(t){t.exitIntervalType&&t.exitIntervalType(this)}accept(t){return t.visitIntervalType?t.visitIntervalType(this):t.visitChildren(this)}}class u7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}type(){return this.getRuleContext(0,Rt)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}enterRule(t){t.enterArrayType&&t.enterArrayType(this)}exitRule(t){t.exitArrayType&&t.exitArrayType(this)}accept(t){return t.visitArrayType?t.visitArrayType(this):t.visitChildren(this)}}class l7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(s.KW_PRECISION,0)}enterRule(t){t.enterDoublePrecisionType&&t.enterDoublePrecisionType(this)}exitRule(t){t.exitDoublePrecisionType&&t.exitDoublePrecisionType(this)}accept(t){return t.visitDoublePrecisionType?t.visitDoublePrecisionType(this):t.visitChildren(this)}}class d7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}LT(){return this.getToken(s.LT,0)}type(){return this.getRuleContext(0,Rt)}GT(){return this.getToken(s.GT,0)}enterRule(t){t.enterLegacyArrayType&&t.enterLegacyArrayType(this)}exitRule(t){t.exitLegacyArrayType&&t.exitLegacyArrayType(this)}accept(t){return t.visitLegacyArrayType?t.visitLegacyArrayType(this):t.visitChildren(this)}}class f7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}typeParameter(t){return t===void 0?this.getRuleContexts(En):this.getRuleContext(t,En)}enterRule(t){t.enterGenericType&&t.enterGenericType(this)}exitRule(t){t.exitGenericType&&t.exitGenericType(this)}accept(t){return t.visitGenericType?t.visitGenericType(this):t.visitChildren(this)}}class fn extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_WITHOUT(){return this.getToken(s.KW_WITHOUT,0)}KW_TIME(t){return t===void 0?this.getTokens(s.KW_TIME):this.getToken(s.KW_TIME,t)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}typeParameter(){return this.getRuleContext(0,En)}KW_WITH(){return this.getToken(s.KW_WITH,0)}enterRule(t){t.enterDateTimeType&&t.enterDateTimeType(this)}exitRule(t){t.exitDateTimeType&&t.exitDateTimeType(this)}accept(t){return t.visitDateTimeType?t.visitDateTimeType(this):t.visitChildren(this)}}class E7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MAP(){return this.getToken(s.KW_MAP,0)}LT(){return this.getToken(s.LT,0)}GT(){return this.getToken(s.GT,0)}type_(t){return t===void 0?this.getRuleContexts(Rt):this.getRuleContext(t,Rt)}enterRule(t){t.enterLegacyMapType&&t.enterLegacyMapType(this)}exitRule(t){t.exitLegacyMapType&&t.exitLegacyMapType(this)}accept(t){return t.visitLegacyMapType?t.visitLegacyMapType(this):t.visitChildren(this)}}class gr extends R{constructor(t,e){super(t,e)}type(){return this.getRuleContext(0,Rt)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_rowField}enterRule(t){t.enterRowField&&t.enterRowField(this)}exitRule(t){t.exitRowField&&t.exitRowField(this)}accept(t){return t.visitRowField?t.visitRowField(this):t.visitChildren(this)}}class En extends R{constructor(t,e){super(t,e)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}type(){return this.getRuleContext(0,Rt)}get ruleIndex(){return s.RULE_typeParameter}enterRule(t){t.enterTypeParameter&&t.enterTypeParameter(this)}exitRule(t){t.exitTypeParameter&&t.exitTypeParameter(this)}accept(t){return t.visitTypeParameter?t.visitTypeParameter(this):t.visitChildren(this)}}class Ns extends R{constructor(t,e){super(t,e)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}get ruleIndex(){return s.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class Ph extends R{constructor(t,e){super(t,e)}KW_FILTER(){return this.getToken(s.KW_FILTER,0)}KW_WHERE(){return this.getToken(s.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Kt)}get ruleIndex(){return s.RULE_filter}enterRule(t){t.enterFilter&&t.enterFilter(this)}exitRule(t){t.exitFilter&&t.exitFilter(this)}accept(t){return t.visitFilter?t.visitFilter(this):t.visitChildren(this)}}class v1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_mergeCase}copyFrom(t){super.copyFrom(t)}}class m7 extends v1{constructor(t){super(t.parent,t.invokingState),this._targets=[],this._values=[],super.copyFrom(t)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_NOT(){return this.getToken(s.KW_NOT,0)}KW_MATCHED(){return this.getToken(s.KW_MATCHED,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}KW_VALUES(){return this.getToken(s.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_AND(){return this.getToken(s.KW_AND,0)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}enterRule(t){t.enterMergeInsert&&t.enterMergeInsert(this)}exitRule(t){t.exitMergeInsert&&t.exitMergeInsert(this)}accept(t){return t.visitMergeInsert?t.visitMergeInsert(this):t.visitChildren(this)}}class p7 extends v1{constructor(t){super(t.parent,t.invokingState),this._targets=[],this._values=[],super.copyFrom(t)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_MATCHED(){return this.getToken(s.KW_MATCHED,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}KW_UPDATE(){return this.getToken(s.KW_UPDATE,0)}KW_SET(){return this.getToken(s.KW_SET,0)}EQ(t){return t===void 0?this.getTokens(s.EQ):this.getToken(s.EQ,t)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}expression(t){return t===void 0?this.getRuleContexts(M):this.getRuleContext(t,M)}KW_AND(){return this.getToken(s.KW_AND,0)}enterRule(t){t.enterMergeUpdate&&t.enterMergeUpdate(this)}exitRule(t){t.exitMergeUpdate&&t.exitMergeUpdate(this)}accept(t){return t.visitMergeUpdate?t.visitMergeUpdate(this):t.visitChildren(this)}}class _7 extends v1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_WHEN(){return this.getToken(s.KW_WHEN,0)}KW_MATCHED(){return this.getToken(s.KW_MATCHED,0)}KW_THEN(){return this.getToken(s.KW_THEN,0)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}KW_AND(){return this.getToken(s.KW_AND,0)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterMergeDelete&&t.enterMergeDelete(this)}exitRule(t){t.exitMergeDelete&&t.exitMergeDelete(this)}accept(t){return t.visitMergeDelete?t.visitMergeDelete(this):t.visitChildren(this)}}class Kr extends R{constructor(t,e){super(t,e)}KW_OVER(){return this.getToken(s.KW_OVER,0)}windowSpecification(){return this.getRuleContext(0,Er)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_over}enterRule(t){t.enterOver&&t.enterOver(this)}exitRule(t){t.exitOver&&t.exitOver(this)}accept(t){return t.visitOver?t.visitOver(this):t.visitChildren(this)}}class Jh extends R{constructor(t,e){super(t,e)}frameExtent(){return this.getRuleContext(0,qh)}KW_MEASURES(){return this.getToken(s.KW_MEASURES,0)}measureDefinition(t){return t===void 0?this.getRuleContexts(Ws):this.getRuleContext(t,Ws)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}skipTo(){return this.getRuleContext(0,_r)}KW_PATTERN(){return this.getToken(s.KW_PATTERN,0)}rowPattern(){return this.getRuleContext(0,At)}KW_SUBSET(){return this.getToken(s.KW_SUBSET,0)}subsetDefinition(t){return t===void 0?this.getRuleContexts(gs):this.getRuleContext(t,gs)}KW_DEFINE(){return this.getToken(s.KW_DEFINE,0)}variableDefinition(t){return t===void 0?this.getRuleContexts(Ks):this.getRuleContext(t,Ks)}KW_INITIAL(){return this.getToken(s.KW_INITIAL,0)}KW_SEEK(){return this.getToken(s.KW_SEEK,0)}get ruleIndex(){return s.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class qh extends R{constructor(t,e){super(t,e)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}frameBound(t){return t===void 0?this.getRuleContexts(D1):this.getRuleContext(t,D1)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_GROUPS(){return this.getToken(s.KW_GROUPS,0)}KW_BETWEEN(){return this.getToken(s.KW_BETWEEN,0)}KW_AND(){return this.getToken(s.KW_AND,0)}get ruleIndex(){return s.RULE_frameExtent}enterRule(t){t.enterFrameExtent&&t.enterFrameExtent(this)}exitRule(t){t.exitFrameExtent&&t.exitFrameExtent(this)}accept(t){return t.visitFrameExtent?t.visitFrameExtent(this):t.visitChildren(this)}}class D1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_frameBound}copyFrom(t){super.copyFrom(t)}}class R7 extends D1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,M)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}enterRule(t){t.enterBoundedFrame&&t.enterBoundedFrame(this)}exitRule(t){t.exitBoundedFrame&&t.exitBoundedFrame(this)}accept(t){return t.visitBoundedFrame?t.visitBoundedFrame(this):t.visitChildren(this)}}class t2 extends D1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNBOUNDED(){return this.getToken(s.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}enterRule(t){t.enterUnboundedFrame&&t.enterUnboundedFrame(this)}exitRule(t){t.exitUnboundedFrame&&t.exitUnboundedFrame(this)}accept(t){return t.visitUnboundedFrame?t.visitUnboundedFrame(this):t.visitChildren(this)}}class W7 extends D1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}enterRule(t){t.enterCurrentRowBound&&t.enterCurrentRowBound(this)}exitRule(t){t.exitCurrentRowBound&&t.exitCurrentRowBound(this)}accept(t){return t.visitCurrentRowBound?t.visitCurrentRowBound(this):t.visitChildren(this)}}class At extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_rowPattern}copyFrom(t){super.copyFrom(t)}}class g7 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}patternPrimary(){return this.getRuleContext(0,Re)}patternQuantifier(){return this.getRuleContext(0,U1)}enterRule(t){t.enterQuantifiedPrimary&&t.enterQuantifiedPrimary(this)}exitRule(t){t.exitQuantifiedPrimary&&t.exitQuantifiedPrimary(this)}accept(t){return t.visitQuantifiedPrimary?t.visitQuantifiedPrimary(this):t.visitChildren(this)}}class K7 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}enterRule(t){t.enterPatternConcatenation&&t.enterPatternConcatenation(this)}exitRule(t){t.exitPatternConcatenation&&t.exitPatternConcatenation(this)}accept(t){return t.visitPatternConcatenation?t.visitPatternConcatenation(this):t.visitChildren(this)}}class A7 extends At{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}enterRule(t){t.enterPatternAlternation&&t.enterPatternAlternation(this)}exitRule(t){t.exitPatternAlternation&&t.exitPatternAlternation(this)}accept(t){return t.visitPatternAlternation?t.visitPatternAlternation(this):t.visitChildren(this)}}class Re extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_patternPrimary}copyFrom(t){super.copyFrom(t)}}class C7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_PERMUTE(){return this.getToken(s.KW_PERMUTE,0)}rowPattern(t){return t===void 0?this.getRuleContexts(At):this.getRuleContext(t,At)}enterRule(t){t.enterPatternPermutation&&t.enterPatternPermutation(this)}exitRule(t){t.exitPatternPermutation&&t.exitPatternPermutation(this)}accept(t){return t.visitPatternPermutation?t.visitPatternPermutation(this):t.visitChildren(this)}}class x7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterPartitionEndAnchor&&t.enterPartitionEndAnchor(this)}exitRule(t){t.exitPartitionEndAnchor&&t.exitPartitionEndAnchor(this)}accept(t){return t.visitPartitionEndAnchor?t.visitPartitionEndAnchor(this):t.visitChildren(this)}}class N7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterPatternVariable&&t.enterPatternVariable(this)}exitRule(t){t.exitPatternVariable&&t.exitPatternVariable(this)}accept(t){return t.visitPatternVariable?t.visitPatternVariable(this):t.visitChildren(this)}}class T7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(){return this.getRuleContext(0,At)}enterRule(t){t.enterExcludedPattern&&t.enterExcludedPattern(this)}exitRule(t){t.exitExcludedPattern&&t.exitExcludedPattern(this)}accept(t){return t.visitExcludedPattern?t.visitExcludedPattern(this):t.visitChildren(this)}}class L7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterPartitionStartAnchor&&t.enterPartitionStartAnchor(this)}exitRule(t){t.exitPartitionStartAnchor&&t.exitPartitionStartAnchor(this)}accept(t){return t.visitPartitionStartAnchor?t.visitPartitionStartAnchor(this):t.visitChildren(this)}}class I7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterEmptyPattern&&t.enterEmptyPattern(this)}exitRule(t){t.exitEmptyPattern&&t.exitEmptyPattern(this)}accept(t){return t.visitEmptyPattern?t.visitEmptyPattern(this):t.visitChildren(this)}}class S7 extends Re{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(){return this.getRuleContext(0,At)}enterRule(t){t.enterGroupedPattern&&t.enterGroupedPattern(this)}exitRule(t){t.exitGroupedPattern&&t.exitGroupedPattern(this)}accept(t){return t.visitGroupedPattern?t.visitGroupedPattern(this):t.visitChildren(this)}}class U1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_patternQuantifier}copyFrom(t){super.copyFrom(t)}}class k7 extends U1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ASTERISK(){return this.getToken(s.ASTERISK,0)}QUESTION_MARK(){return this.getToken(s.QUESTION_MARK,0)}enterRule(t){t.enterZeroOrMoreQuantifier&&t.enterZeroOrMoreQuantifier(this)}exitRule(t){t.exitZeroOrMoreQuantifier&&t.exitZeroOrMoreQuantifier(this)}accept(t){return t.visitZeroOrMoreQuantifier?t.visitZeroOrMoreQuantifier(this):t.visitChildren(this)}}class O7 extends U1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PLUS(){return this.getToken(s.PLUS,0)}QUESTION_MARK(){return this.getToken(s.QUESTION_MARK,0)}enterRule(t){t.enterOneOrMoreQuantifier&&t.enterOneOrMoreQuantifier(this)}exitRule(t){t.exitOneOrMoreQuantifier&&t.exitOneOrMoreQuantifier(this)}accept(t){return t.visitOneOrMoreQuantifier?t.visitOneOrMoreQuantifier(this):t.visitChildren(this)}}class y7 extends U1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUESTION_MARK(t){return t===void 0?this.getTokens(s.QUESTION_MARK):this.getToken(s.QUESTION_MARK,t)}enterRule(t){t.enterZeroOrOneQuantifier&&t.enterZeroOrOneQuantifier(this)}exitRule(t){t.exitZeroOrOneQuantifier&&t.exitZeroOrOneQuantifier(this)}accept(t){return t.visitZeroOrOneQuantifier?t.visitZeroOrOneQuantifier(this):t.visitChildren(this)}}class e2 extends U1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTEGER_VALUE(t){return t===void 0?this.getTokens(s.INTEGER_VALUE):this.getToken(s.INTEGER_VALUE,t)}QUESTION_MARK(){return this.getToken(s.QUESTION_MARK,0)}enterRule(t){t.enterRangeQuantifier&&t.enterRangeQuantifier(this)}exitRule(t){t.exitRangeQuantifier&&t.exitRangeQuantifier(this)}accept(t){return t.visitRangeQuantifier?t.visitRangeQuantifier(this):t.visitChildren(this)}}class Ar extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,k)}EQ(){return this.getToken(s.EQ,0)}expression(){return this.getRuleContext(0,M)}get ruleIndex(){return s.RULE_updateAssignment}enterRule(t){t.enterUpdateAssignment&&t.enterUpdateAssignment(this)}exitRule(t){t.exitUpdateAssignment&&t.exitUpdateAssignment(this)}accept(t){return t.visitUpdateAssignment?t.visitUpdateAssignment(this):t.visitChildren(this)}}class Ts extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_explainOption}copyFrom(t){super.copyFrom(t)}}class w7 extends Ts{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_FORMAT(){return this.getToken(s.KW_FORMAT,0)}KW_TEXT(){return this.getToken(s.KW_TEXT,0)}KW_GRAPHVIZ(){return this.getToken(s.KW_GRAPHVIZ,0)}KW_JSON(){return this.getToken(s.KW_JSON,0)}enterRule(t){t.enterExplainFormat&&t.enterExplainFormat(this)}exitRule(t){t.exitExplainFormat&&t.exitExplainFormat(this)}accept(t){return t.visitExplainFormat?t.visitExplainFormat(this):t.visitChildren(this)}}class v7 extends Ts{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TYPE(){return this.getToken(s.KW_TYPE,0)}KW_LOGICAL(){return this.getToken(s.KW_LOGICAL,0)}KW_DISTRIBUTED(){return this.getToken(s.KW_DISTRIBUTED,0)}KW_VALIDATE(){return this.getToken(s.KW_VALIDATE,0)}KW_IO(){return this.getToken(s.KW_IO,0)}enterRule(t){t.enterExplainType&&t.enterExplainType(this)}exitRule(t){t.exitExplainType&&t.exitExplainType(this)}accept(t){return t.visitExplainType?t.visitExplainType(this):t.visitChildren(this)}}class Ls extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_transactionMode}copyFrom(t){super.copyFrom(t)}}class D7 extends Ls{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_READ(){return this.getToken(s.KW_READ,0)}KW_ONLY(){return this.getToken(s.KW_ONLY,0)}KW_WRITE(){return this.getToken(s.KW_WRITE,0)}enterRule(t){t.enterTransactionAccessMode&&t.enterTransactionAccessMode(this)}exitRule(t){t.exitTransactionAccessMode&&t.exitTransactionAccessMode(this)}accept(t){return t.visitTransactionAccessMode?t.visitTransactionAccessMode(this):t.visitChildren(this)}}class U7 extends Ls{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ISOLATION(){return this.getToken(s.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(s.KW_LEVEL,0)}levelOfIsolation(){return this.getRuleContext(0,M1)}enterRule(t){t.enterIsolationLevel&&t.enterIsolationLevel(this)}exitRule(t){t.exitIsolationLevel&&t.exitIsolationLevel(this)}accept(t){return t.visitIsolationLevel?t.visitIsolationLevel(this):t.visitChildren(this)}}class M1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_levelOfIsolation}copyFrom(t){super.copyFrom(t)}}class M7 extends M1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_READ(){return this.getToken(s.KW_READ,0)}KW_UNCOMMITTED(){return this.getToken(s.KW_UNCOMMITTED,0)}enterRule(t){t.enterReadUncommitted&&t.enterReadUncommitted(this)}exitRule(t){t.exitReadUncommitted&&t.exitReadUncommitted(this)}accept(t){return t.visitReadUncommitted?t.visitReadUncommitted(this):t.visitChildren(this)}}class b7 extends M1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SERIALIZABLE(){return this.getToken(s.KW_SERIALIZABLE,0)}enterRule(t){t.enterSerializable&&t.enterSerializable(this)}exitRule(t){t.exitSerializable&&t.exitSerializable(this)}accept(t){return t.visitSerializable?t.visitSerializable(this):t.visitChildren(this)}}class F7 extends M1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_READ(){return this.getToken(s.KW_READ,0)}KW_COMMITTED(){return this.getToken(s.KW_COMMITTED,0)}enterRule(t){t.enterReadCommitted&&t.enterReadCommitted(this)}exitRule(t){t.exitReadCommitted&&t.exitReadCommitted(this)}accept(t){return t.visitReadCommitted?t.visitReadCommitted(this):t.visitChildren(this)}}class H7 extends M1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REPEATABLE(){return this.getToken(s.KW_REPEATABLE,0)}KW_READ(){return this.getToken(s.KW_READ,0)}enterRule(t){t.enterRepeatableRead&&t.enterRepeatableRead(this)}exitRule(t){t.exitRepeatableRead&&t.exitRepeatableRead(this)}accept(t){return t.visitRepeatableRead?t.visitRepeatableRead(this):t.visitChildren(this)}}class o1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_callArgument}copyFrom(t){super.copyFrom(t)}}class V7 extends o1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterPositionalArgument&&t.enterPositionalArgument(this)}exitRule(t){t.exitPositionalArgument&&t.exitPositionalArgument(this)}accept(t){return t.visitPositionalArgument?t.visitPositionalArgument(this):t.visitChildren(this)}}class B7 extends o1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}expression(){return this.getRuleContext(0,M)}enterRule(t){t.enterNamedArgument&&t.enterNamedArgument(this)}exitRule(t){t.exitNamedArgument&&t.exitNamedArgument(this)}accept(t){return t.visitNamedArgument?t.visitNamedArgument(this):t.visitChildren(this)}}class Is extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_pathElement}copyFrom(t){super.copyFrom(t)}}class G7 extends Is{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}enterRule(t){t.enterQualifiedArgument&&t.enterQualifiedArgument(this)}exitRule(t){t.exitQualifiedArgument&&t.exitQualifiedArgument(this)}accept(t){return t.visitQualifiedArgument?t.visitQualifiedArgument(this):t.visitChildren(this)}}class Y7 extends Is{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterUnqualifiedArgument&&t.enterUnqualifiedArgument(this)}exitRule(t){t.exitUnqualifiedArgument&&t.exitUnqualifiedArgument(this)}accept(t){return t.visitUnqualifiedArgument?t.visitUnqualifiedArgument(this):t.visitChildren(this)}}class Cr extends R{constructor(t,e){super(t,e)}pathElement(t){return t===void 0?this.getRuleContexts(Is):this.getRuleContext(t,Is)}get ruleIndex(){return s.RULE_pathSpecification}enterRule(t){t.enterPathSpecification&&t.enterPathSpecification(this)}exitRule(t){t.exitPathSpecification&&t.exitPathSpecification(this)}accept(t){return t.visitPathSpecification?t.visitPathSpecification(this):t.visitChildren(this)}}class c1 extends R{constructor(t,e){super(t,e)}KW_SELECT(){return this.getToken(s.KW_SELECT,0)}KW_DELETE(){return this.getToken(s.KW_DELETE,0)}KW_INSERT(){return this.getToken(s.KW_INSERT,0)}KW_UPDATE(){return this.getToken(s.KW_UPDATE,0)}get ruleIndex(){return s.RULE_privilege}enterRule(t){t.enterPrivilege&&t.enterPrivilege(this)}exitRule(t){t.exitPrivilege&&t.exitPrivilege(this)}accept(t){return t.visitPrivilege?t.visitPrivilege(this):t.visitChildren(this)}}class xr extends R{constructor(t,e){super(t,e)}tableName(){return this.getRuleContext(0,it)}viewName(){return this.getRuleContext(0,jt)}get ruleIndex(){return s.RULE_tableOrViewName}enterRule(t){t.enterTableOrViewName&&t.enterTableOrViewName(this)}exitRule(t){t.exitTableOrViewName&&t.exitTableOrViewName(this)}accept(t){return t.visitTableOrViewName?t.visitTableOrViewName(this):t.visitChildren(this)}}class it extends R{constructor(t,e){super(t,e)}tablePath(){return this.getRuleContext(0,Nr)}get ruleIndex(){return s.RULE_tableName}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}class mn extends R{constructor(t,e){super(t,e)}tablePath(){return this.getRuleContext(0,Nr)}get ruleIndex(){return s.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class jt extends R{constructor(t,e){super(t,e)}viewPath(){return this.getRuleContext(0,Tr)}get ruleIndex(){return s.RULE_viewName}enterRule(t){t.enterViewName&&t.enterViewName(this)}exitRule(t){t.exitViewName&&t.exitViewName(this)}accept(t){return t.visitViewName?t.visitViewName(this):t.visitChildren(this)}}class Ss extends R{constructor(t,e){super(t,e)}viewPath(){return this.getRuleContext(0,Tr)}get ruleIndex(){return s.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class Nr extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_tablePath}enterRule(t){t.enterTablePath&&t.enterTablePath(this)}exitRule(t){t.exitTablePath&&t.exitTablePath(this)}accept(t){return t.visitTablePath?t.visitTablePath(this):t.visitChildren(this)}}class Tr extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_viewPath}enterRule(t){t.enterViewPath&&t.enterViewPath(this)}exitRule(t){t.exitViewPath&&t.exitViewPath(this)}accept(t){return t.visitViewPath?t.visitViewPath(this):t.visitChildren(this)}}class ue extends R{constructor(t,e){super(t,e)}schemaPath(){return this.getRuleContext(0,Ir)}get ruleIndex(){return s.RULE_schemaName}enterRule(t){t.enterSchemaName&&t.enterSchemaName(this)}exitRule(t){t.exitSchemaName&&t.exitSchemaName(this)}accept(t){return t.visitSchemaName?t.visitSchemaName(this):t.visitChildren(this)}}class Lr extends R{constructor(t,e){super(t,e)}schemaPath(){return this.getRuleContext(0,Ir)}get ruleIndex(){return s.RULE_schemaNameCreate}enterRule(t){t.enterSchemaNameCreate&&t.enterSchemaNameCreate(this)}exitRule(t){t.exitSchemaNameCreate&&t.exitSchemaNameCreate(this)}accept(t){return t.visitSchemaNameCreate?t.visitSchemaNameCreate(this):t.visitChildren(this)}}class Ir extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_schemaPath}enterRule(t){t.enterSchemaPath&&t.enterSchemaPath(this)}exitRule(t){t.exitSchemaPath&&t.exitSchemaPath(this)}accept(t){return t.visitSchemaPath?t.visitSchemaPath(this):t.visitChildren(this)}}class b1 extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_catalogName}enterRule(t){t.enterCatalogName&&t.enterCatalogName(this)}exitRule(t){t.exitCatalogName&&t.exitCatalogName(this)}accept(t){return t.visitCatalogName?t.visitCatalogName(this):t.visitChildren(this)}}class Q7 extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_catalogNameCreate}enterRule(t){t.enterCatalogNameCreate&&t.enterCatalogNameCreate(this)}exitRule(t){t.exitCatalogNameCreate&&t.exitCatalogNameCreate(this)}accept(t){return t.visitCatalogNameCreate?t.visitCatalogNameCreate(this):t.visitChildren(this)}}class Sr extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,u1)}get ruleIndex(){return s.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}class le extends R{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,u1)}get ruleIndex(){return s.RULE_columnName}enterRule(t){t.enterColumnName&&t.enterColumnName(this)}exitRule(t){t.exitColumnName&&t.exitColumnName(this)}accept(t){return t.visitColumnName?t.visitColumnName(this):t.visitChildren(this)}}class ks extends R{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,k)}get ruleIndex(){return s.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class u1 extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class l1 extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_grantor}copyFrom(t){super.copyFrom(t)}}class Z7 extends l1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_USER(){return this.getToken(s.KW_CURRENT_USER,0)}enterRule(t){t.enterCurrentUserGrantor&&t.enterCurrentUserGrantor(this)}exitRule(t){t.exitCurrentUserGrantor&&t.exitCurrentUserGrantor(this)}accept(t){return t.visitCurrentUserGrantor?t.visitCurrentUserGrantor(this):t.visitChildren(this)}}class X7 extends l1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}principal(){return this.getRuleContext(0,Tt)}enterRule(t){t.enterSpecifiedPrincipal&&t.enterSpecifiedPrincipal(this)}exitRule(t){t.exitSpecifiedPrincipal&&t.exitSpecifiedPrincipal(this)}accept(t){return t.visitSpecifiedPrincipal?t.visitSpecifiedPrincipal(this):t.visitChildren(this)}}class z7 extends l1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_ROLE(){return this.getToken(s.KW_CURRENT_ROLE,0)}enterRule(t){t.enterCurrentRoleGrantor&&t.enterCurrentRoleGrantor(this)}exitRule(t){t.exitCurrentRoleGrantor&&t.exitCurrentRoleGrantor(this)}accept(t){return t.visitCurrentRoleGrantor?t.visitCurrentRoleGrantor(this):t.visitChildren(this)}}class Tt extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_principal}copyFrom(t){super.copyFrom(t)}}class $7 extends Tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterUnspecifiedPrincipal&&t.enterUnspecifiedPrincipal(this)}exitRule(t){t.exitUnspecifiedPrincipal&&t.exitUnspecifiedPrincipal(this)}accept(t){return t.visitUnspecifiedPrincipal?t.visitUnspecifiedPrincipal(this):t.visitChildren(this)}}class j7 extends Tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USER(){return this.getToken(s.KW_USER,0)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterUserPrincipal&&t.enterUserPrincipal(this)}exitRule(t){t.exitUserPrincipal&&t.exitUserPrincipal(this)}accept(t){return t.visitUserPrincipal?t.visitUserPrincipal(this):t.visitChildren(this)}}class P7 extends Tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}identifier(){return this.getRuleContext(0,k)}enterRule(t){t.enterRolePrincipal&&t.enterRolePrincipal(this)}exitRule(t){t.exitRolePrincipal&&t.exitRolePrincipal(this)}accept(t){return t.visitRolePrincipal?t.visitRolePrincipal(this):t.visitChildren(this)}}class kr extends R{constructor(t,e){super(t,e)}identifier(t){return t===void 0?this.getRuleContexts(k):this.getRuleContext(t,k)}get ruleIndex(){return s.RULE_roles}enterRule(t){t.enterRoles&&t.enterRoles(this)}exitRule(t){t.exitRoles&&t.exitRoles(this)}accept(t){return t.visitRoles?t.visitRoles(this):t.visitChildren(this)}}class k extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_identifier}copyFrom(t){super.copyFrom(t)}}class J7 extends k{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BACKQUOTED_IDENTIFIER(){return this.getToken(s.BACKQUOTED_IDENTIFIER,0)}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}class q7 extends k{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUOTED_IDENTIFIER(){return this.getToken(s.QUOTED_IDENTIFIER,0)}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class t5 extends k{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DIGIT_IDENTIFIER(){return this.getToken(s.DIGIT_IDENTIFIER,0)}enterRule(t){t.enterDigitIdentifier&&t.enterDigitIdentifier(this)}exitRule(t){t.exitDigitIdentifier&&t.exitDigitIdentifier(this)}accept(t){return t.visitDigitIdentifier?t.visitDigitIdentifier(this):t.visitChildren(this)}}class s2 extends k{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IDENTIFIER(){return this.getToken(s.IDENTIFIER,0)}nonReserved(){return this.getRuleContext(0,i2)}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}class Os extends R{constructor(t,e){super(t,e)}get ruleIndex(){return s.RULE_number}copyFrom(t){super.copyFrom(t)}}class e5 extends Os{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DECIMAL_VALUE(){return this.getToken(s.DECIMAL_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}class s5 extends Os{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DOUBLE_VALUE(){return this.getToken(s.DOUBLE_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterDoubleLiteral&&t.enterDoubleLiteral(this)}exitRule(t){t.exitDoubleLiteral&&t.exitDoubleLiteral(this)}accept(t){return t.visitDoubleLiteral?t.visitDoubleLiteral(this):t.visitChildren(this)}}class i5 extends Os{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTEGER_VALUE(){return this.getToken(s.INTEGER_VALUE,0)}MINUS(){return this.getToken(s.MINUS,0)}enterRule(t){t.enterIntegerLiteral&&t.enterIntegerLiteral(this)}exitRule(t){t.exitIntegerLiteral&&t.exitIntegerLiteral(this)}accept(t){return t.visitIntegerLiteral?t.visitIntegerLiteral(this):t.visitChildren(this)}}class i2 extends R{constructor(t,e){super(t,e)}KW_ADD(){return this.getToken(s.KW_ADD,0)}KW_ADMIN(){return this.getToken(s.KW_ADMIN,0)}KW_AFTER(){return this.getToken(s.KW_AFTER,0)}KW_ALL(){return this.getToken(s.KW_ALL,0)}KW_ANALYZE(){return this.getToken(s.KW_ANALYZE,0)}KW_ANY(){return this.getToken(s.KW_ANY,0)}KW_ARRAY(){return this.getToken(s.KW_ARRAY,0)}KW_ASC(){return this.getToken(s.KW_ASC,0)}KW_AT(){return this.getToken(s.KW_AT,0)}KW_AUTHORIZATION(){return this.getToken(s.KW_AUTHORIZATION,0)}KW_BERNOULLI(){return this.getToken(s.KW_BERNOULLI,0)}KW_CALL(){return this.getToken(s.KW_CALL,0)}KW_CASCADE(){return this.getToken(s.KW_CASCADE,0)}KW_CATALOGS(){return this.getToken(s.KW_CATALOGS,0)}KW_COLUMN(){return this.getToken(s.KW_COLUMN,0)}KW_COLUMNS(){return this.getToken(s.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(s.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(s.KW_COMMIT,0)}KW_COMMITTED(){return this.getToken(s.KW_COMMITTED,0)}KW_CURRENT(){return this.getToken(s.KW_CURRENT,0)}KW_DATA(){return this.getToken(s.KW_DATA,0)}KW_DATE(){return this.getToken(s.KW_DATE,0)}KW_DAY(){return this.getToken(s.KW_DAY,0)}KW_DEFAULT(){return this.getToken(s.KW_DEFAULT,0)}KW_DEFINE(){return this.getToken(s.KW_DEFINE,0)}KW_DEFINER(){return this.getToken(s.KW_DEFINER,0)}KW_DESC(){return this.getToken(s.KW_DESC,0)}KW_DISTRIBUTED(){return this.getToken(s.KW_DISTRIBUTED,0)}KW_DOUBLE(){return this.getToken(s.KW_DOUBLE,0)}KW_EMPTY(){return this.getToken(s.KW_EMPTY,0)}KW_EXCLUDING(){return this.getToken(s.KW_EXCLUDING,0)}KW_EXPLAIN(){return this.getToken(s.KW_EXPLAIN,0)}KW_FETCH(){return this.getToken(s.KW_FETCH,0)}KW_FILTER(){return this.getToken(s.KW_FILTER,0)}KW_FINAL(){return this.getToken(s.KW_FINAL,0)}KW_FIRST(){return this.getToken(s.KW_FIRST,0)}KW_FOLLOWING(){return this.getToken(s.KW_FOLLOWING,0)}KW_FORMAT(){return this.getToken(s.KW_FORMAT,0)}KW_FUNCTIONS(){return this.getToken(s.KW_FUNCTIONS,0)}KW_GRANT(){return this.getToken(s.KW_GRANT,0)}KW_GRANTED(){return this.getToken(s.KW_GRANTED,0)}KW_GRANTS(){return this.getToken(s.KW_GRANTS,0)}KW_DENY(){return this.getToken(s.KW_DENY,0)}KW_GRAPHVIZ(){return this.getToken(s.KW_GRAPHVIZ,0)}KW_GROUPS(){return this.getToken(s.KW_GROUPS,0)}KW_HOUR(){return this.getToken(s.KW_HOUR,0)}KW_IF(){return this.getToken(s.KW_IF,0)}KW_IGNORE(){return this.getToken(s.KW_IGNORE,0)}KW_INCLUDING(){return this.getToken(s.KW_INCLUDING,0)}KW_INITIAL(){return this.getToken(s.KW_INITIAL,0)}KW_INPUT(){return this.getToken(s.KW_INPUT,0)}KW_INTERVAL(){return this.getToken(s.KW_INTERVAL,0)}KW_INVOKER(){return this.getToken(s.KW_INVOKER,0)}KW_IO(){return this.getToken(s.KW_IO,0)}KW_ISOLATION(){return this.getToken(s.KW_ISOLATION,0)}KW_JSON(){return this.getToken(s.KW_JSON,0)}KW_LAST(){return this.getToken(s.KW_LAST,0)}KW_LATERAL(){return this.getToken(s.KW_LATERAL,0)}KW_LEVEL(){return this.getToken(s.KW_LEVEL,0)}KW_LIMIT(){return this.getToken(s.KW_LIMIT,0)}KW_LOCAL(){return this.getToken(s.KW_LOCAL,0)}KW_LOGICAL(){return this.getToken(s.KW_LOGICAL,0)}KW_MAP(){return this.getToken(s.KW_MAP,0)}KW_MATCH(){return this.getToken(s.KW_MATCH,0)}KW_MATCHED(){return this.getToken(s.KW_MATCHED,0)}KW_MATCHES(){return this.getToken(s.KW_MATCHES,0)}KW_MATCH_RECOGNIZE(){return this.getToken(s.KW_MATCH_RECOGNIZE,0)}KW_MATERIALIZED(){return this.getToken(s.KW_MATERIALIZED,0)}KW_MEASURES(){return this.getToken(s.KW_MEASURES,0)}KW_MERGE(){return this.getToken(s.KW_MERGE,0)}KW_MINUTE(){return this.getToken(s.KW_MINUTE,0)}KW_MONTH(){return this.getToken(s.KW_MONTH,0)}KW_NEXT(){return this.getToken(s.KW_NEXT,0)}KW_NFC(){return this.getToken(s.KW_NFC,0)}KW_NFD(){return this.getToken(s.KW_NFD,0)}KW_NFKC(){return this.getToken(s.KW_NFKC,0)}KW_NFKD(){return this.getToken(s.KW_NFKD,0)}KW_NO(){return this.getToken(s.KW_NO,0)}KW_NONE(){return this.getToken(s.KW_NONE,0)}KW_NULLIF(){return this.getToken(s.KW_NULLIF,0)}KW_NULLS(){return this.getToken(s.KW_NULLS,0)}KW_OFFSET(){return this.getToken(s.KW_OFFSET,0)}KW_OMIT(){return this.getToken(s.KW_OMIT,0)}KW_ONE(){return this.getToken(s.KW_ONE,0)}KW_ONLY(){return this.getToken(s.KW_ONLY,0)}KW_OPTION(){return this.getToken(s.KW_OPTION,0)}KW_ORDINALITY(){return this.getToken(s.KW_ORDINALITY,0)}KW_OUTPUT(){return this.getToken(s.KW_OUTPUT,0)}KW_OVER(){return this.getToken(s.KW_OVER,0)}KW_PARTITION(){return this.getToken(s.KW_PARTITION,0)}KW_PARTITIONS(){return this.getToken(s.KW_PARTITIONS,0)}KW_PAST(){return this.getToken(s.KW_PAST,0)}KW_PATH(){return this.getToken(s.KW_PATH,0)}KW_PATTERN(){return this.getToken(s.KW_PATTERN,0)}KW_PER(){return this.getToken(s.KW_PER,0)}KW_PERMUTE(){return this.getToken(s.KW_PERMUTE,0)}KW_POSITION(){return this.getToken(s.KW_POSITION,0)}KW_PRECEDING(){return this.getToken(s.KW_PRECEDING,0)}KW_PRECISION(){return this.getToken(s.KW_PRECISION,0)}KW_PRIVILEGES(){return this.getToken(s.KW_PRIVILEGES,0)}KW_PROPERTIES(){return this.getToken(s.KW_PROPERTIES,0)}KW_RANGE(){return this.getToken(s.KW_RANGE,0)}KW_READ(){return this.getToken(s.KW_READ,0)}KW_REFRESH(){return this.getToken(s.KW_REFRESH,0)}KW_RENAME(){return this.getToken(s.KW_RENAME,0)}KW_REPEATABLE(){return this.getToken(s.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(s.KW_REPLACE,0)}KW_RESET(){return this.getToken(s.KW_RESET,0)}KW_RESPECT(){return this.getToken(s.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(s.KW_RESTRICT,0)}KW_REVOKE(){return this.getToken(s.KW_REVOKE,0)}KW_ROLE(){return this.getToken(s.KW_ROLE,0)}KW_ROLES(){return this.getToken(s.KW_ROLES,0)}KW_ROLLBACK(){return this.getToken(s.KW_ROLLBACK,0)}KW_ROW(){return this.getToken(s.KW_ROW,0)}KW_ROWS(){return this.getToken(s.KW_ROWS,0)}KW_RUNNING(){return this.getToken(s.KW_RUNNING,0)}KW_SCHEMA(){return this.getToken(s.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(s.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(s.KW_SECOND,0)}KW_SECURITY(){return this.getToken(s.KW_SECURITY,0)}KW_SEEK(){return this.getToken(s.KW_SEEK,0)}KW_SERIALIZABLE(){return this.getToken(s.KW_SERIALIZABLE,0)}KW_SESSION(){return this.getToken(s.KW_SESSION,0)}KW_SET(){return this.getToken(s.KW_SET,0)}KW_SETS(){return this.getToken(s.KW_SETS,0)}KW_SHOW(){return this.getToken(s.KW_SHOW,0)}KW_SOME(){return this.getToken(s.KW_SOME,0)}KW_START(){return this.getToken(s.KW_START,0)}KW_STATS(){return this.getToken(s.KW_STATS,0)}KW_SUBSET(){return this.getToken(s.KW_SUBSET,0)}KW_SUBSTRING(){return this.getToken(s.KW_SUBSTRING,0)}KW_SYSTEM(){return this.getToken(s.KW_SYSTEM,0)}KW_TABLES(){return this.getToken(s.KW_TABLES,0)}KW_TABLESAMPLE(){return this.getToken(s.KW_TABLESAMPLE,0)}KW_TEXT(){return this.getToken(s.KW_TEXT,0)}KW_TIES(){return this.getToken(s.KW_TIES,0)}KW_TIME(){return this.getToken(s.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(s.KW_TIMESTAMP,0)}KW_TO(){return this.getToken(s.KW_TO,0)}KW_TRANSACTION(){return this.getToken(s.KW_TRANSACTION,0)}KW_TRUNCATE(){return this.getToken(s.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(s.KW_TRY_CAST,0)}KW_TYPE(){return this.getToken(s.KW_TYPE,0)}KW_UNBOUNDED(){return this.getToken(s.KW_UNBOUNDED,0)}KW_UNCOMMITTED(){return this.getToken(s.KW_UNCOMMITTED,0)}KW_UNMATCHED(){return this.getToken(s.KW_UNMATCHED,0)}KW_UPDATE(){return this.getToken(s.KW_UPDATE,0)}KW_USE(){return this.getToken(s.KW_USE,0)}KW_USER(){return this.getToken(s.KW_USER,0)}KW_VALIDATE(){return this.getToken(s.KW_VALIDATE,0)}KW_VERBOSE(){return this.getToken(s.KW_VERBOSE,0)}KW_VIEW(){return this.getToken(s.KW_VIEW,0)}KW_WINDOW(){return this.getToken(s.KW_WINDOW,0)}KW_WITHOUT(){return this.getToken(s.KW_WITHOUT,0)}KW_WORK(){return this.getToken(s.KW_WORK,0)}KW_WRITE(){return this.getToken(s.KW_WRITE,0)}KW_YEAR(){return this.getToken(s.KW_YEAR,0)}KW_ZONE(){return this.getToken(s.KW_ZONE,0)}get ruleIndex(){return s.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}var n5=Object.defineProperty,ot=(i,t)=>n5(i,"name",{value:t,configurable:!0}),ve=(A0=class{constructor(t=""){l(this,"name");l(this,"context");l(this,"modifiers",new Set);l(this,"visibility",0);$(this,ft,void 0);this.name=t}get parent(){return C(this,ft)}get firstSibling(){var t;if(C(this,ft))return(t=C(this,ft))==null?void 0:t.firstChild}get previousSibling(){if(C(this,ft))return C(this,ft)?C(this,ft).previousSiblingOf(this):this}get nextSibling(){var t;return(t=C(this,ft))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=C(this,ft))==null?void 0:t.lastChild}get next(){var t;return(t=C(this,ft))==null?void 0:t.nextOf(this)}get root(){let t=C(this,ft);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=C(this,ft);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),!!e.parent);)e=e.parent;return t}setParent(t){Q(this,ft,t)}removeFromParent(){var t;(t=C(this,ft))==null||t.removeSymbol(this),Q(this,ft,void 0)}async resolve(t,e=!1){var n;return(n=C(this,ft))==null?void 0:n.resolve(t,e)}resolveSync(t,e=!1){var n;return(n=C(this,ft))==null?void 0:n.resolveSync(t,e)}getParentOfType(t){let e=C(this,ft);for(;e;){if(e instanceof t)return e;e=e.parent}}qualifiedName(t=".",e=!1,n=!1){if(!n&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,a=C(this,ft);for(;a&&((n||a.name.length>0)&&(r=(a.name.length===0?"":a.name)+t+r),!(!e||!a.parent));)a=a.parent;return r}isSymbolTable(t){return t.info!==void 0}},ft=new WeakMap,ot(A0,"BaseSymbol"),A0);C0=class extends ve{constructor(e,n,r,a=0){super(e);l(this,"elementType");l(this,"size");l(this,"referenceKind");this.referenceKind=n,this.elementType=r,this.size=a}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ot(C0,"ArrayType");var n2=(x0=class extends Error{},ot(x0,"DuplicateSymbolError"),x0),De=(Qt=class extends ve{constructor(e=""){super(e);$(this,et,[]);$(this,Ee,new Map)}get directScopes(){return this.getSymbolsOfType(Qt)}get children(){return C(this,et)}get firstChild(){if(C(this,et).length>0)return C(this,et)[0]}get lastChild(){if(C(this,et).length>0)return C(this,et)[C(this,et).length-1]}clear(){Q(this,et,[]),C(this,Ee).clear()}addSymbol(e){e.removeFromParent();const n=this.symbolTable,r=C(this,Ee).get(e.name);if(!n||!n.options.allowDuplicateSymbols){if(r!==void 0)throw new n2("Attempt to add duplicate symbol '"+(e.name??"")+"'");if(C(this,Ee).set(e.name,1),C(this,et).indexOf(e)>-1)throw new n2("Attempt to add duplicate symbol '"+(e.name??"")+"'")}else C(this,Ee).set(e.name,r===void 0?1:r+1);C(this,et).push(e),e.setParent(this)}removeSymbol(e){const n=C(this,et).indexOf(e);if(n>-1){C(this,et).splice(n,1),e.setParent(void 0);const r=C(this,Ee).get(e.name);r!==void 0&&(r===1?C(this,Ee).delete(e.name):C(this,Ee).set(e.name,r-1))}}async getNestedSymbolsOfType(e){const n=[],r=[];return C(this,et).forEach(h=>{h instanceof e&&n.push(h),h instanceof Qt&&r.push(h.getNestedSymbolsOfType(e))}),(await Promise.all(r)).forEach(h=>{n.push(...h)}),n}getNestedSymbolsOfTypeSync(e){const n=[];return C(this,et).forEach(r=>{r instanceof e&&n.push(r),r instanceof Qt&&n.push(...r.getNestedSymbolsOfTypeSync(e))}),n}async getAllNestedSymbols(e){const n=[],r=[];return C(this,et).forEach(h=>{(!e||h.name===e)&&n.push(h),h instanceof Qt&&r.push(h.getAllNestedSymbols(e))}),(await Promise.all(r)).forEach(h=>{n.push(...h)}),n}getAllNestedSymbolsSync(e){const n=[];return C(this,et).forEach(r=>{(!e||r.name===e)&&n.push(r),r instanceof Qt&&n.push(...r.getAllNestedSymbolsSync(e))}),n}getSymbolsOfType(e){return new Promise(n=>{const r=[];C(this,et).forEach(a=>{a instanceof e&&r.push(a)}),n(r)})}async getAllSymbols(e,n=!1){const r=[];for(const a of C(this,et))if(a instanceof e&&r.push(a),this.isNamespace(a)){const h=await a.getAllSymbols(e,!0);r.push(...h)}if(!n&&this.parent){const a=await this.getAllSymbols(e,!0);r.push(...a)}return r}getAllSymbolsSync(e,n=!1){const r=[];for(const a of C(this,et))if(a instanceof e&&r.push(a),this.isNamespace(a)){const h=a.getAllSymbolsSync(e,!0);r.push(...h)}if(!n&&this.parent){const a=this.getAllSymbolsSync(e,!0);r.push(...a)}return r}async resolve(e,n=!1){return new Promise(r=>{for(const a of C(this,et))if(a.name===e){r(a);return}if(!n&&this.parent){r(this.parent.resolve(e,!1));return}r(void 0)})}resolveSync(e,n=!1){for(const r of C(this,et))if(r.name===e)return r;if(!n&&this.parent)return this.parent.resolveSync(e,!1)}symbolFromPath(e,n="."){const r=e.split(n);let a=0;(r[0]===this.name||r[0].length===0)&&++a;let h=this;for(;ac.name===r[a]);if(!o)return;h=o,++a}return h}indexOfChild(e){return C(this,et).findIndex(n=>n===e)}nextSiblingOf(e){const n=this.indexOfChild(e);if(!(n===-1||n>=C(this,et).length-1))return C(this,et)[n+1]}previousSiblingOf(e){const n=this.indexOfChild(e);if(!(n<1))return C(this,et)[n-1]}nextOf(e){if(!e.parent)return;if(e.parent!==this)return e.parent.nextOf(e);if(e instanceof Qt&&e.children.length>0)return e.children[0];const n=this.nextSiblingOf(e);return n||this.parent.nextOf(this)}isNamespace(e){return e.inline!==void 0&&e.attributes!==void 0}},et=new WeakMap,Ee=new WeakMap,ot(Qt,"ScopedSymbol"),Qt);N0=class extends De{},ot(N0,"BlockSymbol");var r2=(T0=class extends ve{constructor(e,n){super(e);l(this,"type");this.type=n}},ot(T0,"TypedSymbol"),T0),Or=(L0=class extends r2{constructor(e,n,r){super(e,r);l(this,"value");this.value=n}},ot(L0,"VariableSymbol"),L0),a2=(I0=class extends Or{constructor(){super(...arguments);l(this,"setter");l(this,"getter")}},ot(I0,"FieldSymbol"),I0),r5=(S0=class extends Or{},ot(S0,"ParameterSymbol"),S0),a5=(k0=class extends De{constructor(e,n){super(e);l(this,"returnType");this.returnType=n}getVariables(e=!0){return this.getSymbolsOfType(Or)}getParameters(e=!0){return this.getSymbolsOfType(r5)}},ot(k0,"RoutineSymbol"),k0),h2=(O0=class extends a5{constructor(){super(...arguments);l(this,"methodFlags",0)}},ot(O0,"MethodSymbol"),O0);y0=class extends De{constructor(e,n,r){super(e);l(this,"isStruct",!1);l(this,"reference",0);l(this,"extends");l(this,"implements");this.extends=n,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(e=!1){return this.getSymbolsOfType(h2)}getFields(e=!1){return this.getSymbolsOfType(a2)}},ot(y0,"ClassSymbol"),Ht=class{constructor(t,e=0,n=0){l(this,"name");l(this,"typeKind");l(this,"referenceKind");this.name=t,this.typeKind=e,this.referenceKind=n}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ot(Ht,"FundamentalType"),l(Ht,"integerType",new Ht("int",1,3)),l(Ht,"floatType",new Ht("float",2,3)),l(Ht,"stringType",new Ht("string",4,3)),l(Ht,"boolType",new Ht("bool",6,3)),w0=class extends De{constructor(e,n){super(e);l(this,"reference",0);l(this,"extends");this.extends=n}get baseTypes(){return this.extends}get kind(){return 8}getMethods(e=!1){return this.getSymbolsOfType(h2)}getFields(e=!1){return this.getSymbolsOfType(a2)}},ot(w0,"InterfaceSymbol"),v0=class extends r2{constructor(e,n,r){super(e,r);l(this,"value");this.value=n}},ot(v0,"LiteralSymbol");var pn=(D0=class extends De{constructor(e,n=!1,r=[]){super(e);l(this,"inline");l(this,"attributes");this.inline=n,this.attributes=r}},ot(D0,"NamespaceSymbol"),D0);U0=class extends ve{constructor(e,n){super(e);l(this,"targetType");this.targetType=n}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ot(U0,"TypeAlias");var h5=ot((i,t)=>{if(!i||!t)return[];let e;for(e=0;e=t||o.type===A.EOF)||o.type===A.EOF)break}const a=[],h=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[h],0,a,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` - -Collected rules: -`);for(const c of this.candidates.rules){let u="";for(const d of c[1].ruleList)u+=this.ruleNames[d]+" ";console.log(this.ruleNames[c[0]]+", path: ",u)}const o=new Set;for(const c of this.candidates.tokens){let u=this.vocabulary.getDisplayName(c[0])??"";for(const d of c[1])u+=" "+this.vocabulary.getDisplayName(d);o.add(u)}console.log(` - -Collected tokens: -`);for(const c of o)console.log(c);console.log(` - -`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;eo);let h=!0;for(const o of this.candidates.rules)if(!(o[0]!==n||o[1].ruleList.length!==a.length)&&a.every((c,u)=>c===o[1].ruleList[u])){h=!1;break}return h&&(this.candidates.rules.set(n,{startTokenIndex:r,ruleList:a}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[n])),!0}return!1}getFollowingTokens(t){const e=[],n=[t.target];for(;n.length>0;){const r=n.pop();r&&r.transitions.forEach(a=>{if(a.serializationType===y.ATOM)if(a.isEpsilon)n.push(a.target);else{const h=a.label.toArray();h.length===1&&!this.ignoredTokens.has(h[0])&&(e.push(h[0]),n.push(a.target))}})}return e}determineFollowSets(t,e){const n=[],r=[],a=[],h=this.collectFollowSets(t,e,n,r,a),o=new xt;for(const c of n)o.addSet(c.intervals);return{sets:n,isExhaustive:h,combined:o}}collectFollowSets(t,e,n,r,a){if(r.find(o=>o===t))return!0;if(r.push(t),t===e||t.stateType===V.RULE_STOP)return r.pop(),!1;let h=!0;for(const o of t.transitions)if(o.serializationType===y.RULE){const c=o;if(a.indexOf(c.target.ruleIndex)!==-1)continue;a.push(c.target.ruleIndex);const u=this.collectFollowSets(o.target,e,n,r,a);if(a.pop(),!u){const d=this.collectFollowSets(c.followState,e,n,r,a);h&&(h=d)}}else if(o.serializationType===y.PREDICATE){if(this.checkPredicate(o)){const c=this.collectFollowSets(o.target,e,n,r,a);h&&(h=c)}}else if(o.isEpsilon){const c=this.collectFollowSets(o.target,e,n,r,a);h&&(h=c)}else if(o.serializationType===y.WILDCARD){const c=new o2;c.intervals=xt.of(A.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),c.path=a.slice(),n.push(c)}else{let c=o.label;if(c&&c.length>0){o.serializationType===y.NOT_SET&&(c=c.complement(A.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new o2;u.intervals=c??new xt,u.path=a.slice(),u.following=this.getFollowingTokens(o),n.push(u)}}return r.pop(),h}processRule(t,e,n,r,a){let h=this.shortcutMap.get(t.ruleIndex);if(!h)h=new Map,this.shortcutMap.set(t.ruleIndex,h);else if(h.has(e))return this.showDebugOutput&&console.log("=====> shortcut"),h.get(e);const o=new Set;let c=qt.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,qt.followSetsByATN.set(this.parser.constructor.name,c));let u=c.get(t.stateNumber);if(!u){const K=this.atn.ruleToStopState[t.ruleIndex];u=this.determineFollowSets(t,K),c.set(t.stateNumber,u)}const d=this.tokens[e].tokenIndex;if(n.push({startTokenIndex:d,ruleIndex:t.ruleIndex}),e>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(n);else for(const K of u.sets){const N=n.slice(),I=K.path.map(S=>({startTokenIndex:d,ruleIndex:S}));if(N.push(...I),!this.translateStackToRuleIndex(N))for(const S of K.intervals.toArray())this.ignoredTokens.has(S)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(S)),this.candidates.tokens.has(S)?this.candidates.tokens.get(S)!==K.following&&this.candidates.tokens.set(S,[]):this.candidates.tokens.set(S,K.following))}return u.isExhaustive||o.add(e),n.pop(),o}else{const K=this.tokens[e].type;if(u.isExhaustive&&!u.combined.contains(K))return n.pop(),o}t.isPrecedenceRule&&this.precedenceStack.push(r);const E=[];let m;for(E.push({state:t,tokenListIndex:e});E.length>0;){m=E.pop(),++this.statesProcessed;const K=this.tokens[m.tokenListIndex].type,N=m.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(a,m.state,this.generateBaseDescription(m.state),m.tokenListIndex),this.showRuleStack&&this.printRuleState(n)),m.state.stateType===V.RULE_STOP){o.add(m.tokenListIndex);continue}const I=m.state.transitions;for(const S of I)switch(S.serializationType){case y.RULE:{const D=S,g=this.processRule(S.target,m.tokenListIndex,n,D.precedence,a+1);for(const _ of g)E.push({state:S.followState,tokenListIndex:_});break}case y.PREDICATE:{this.checkPredicate(S)&&E.push({state:S.target,tokenListIndex:m.tokenListIndex});break}case y.PRECEDENCE:{S.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&E.push({state:S.target,tokenListIndex:m.tokenListIndex});break}case y.WILDCARD:{if(N){if(!this.translateStackToRuleIndex(n))for(const D of xt.of(A.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(D)||this.candidates.tokens.set(D,[])}else E.push({state:S.target,tokenListIndex:m.tokenListIndex+1});break}default:{if(S.isEpsilon){E.push({state:S.target,tokenListIndex:m.tokenListIndex});continue}let D=S.label;if(D&&D.length>0)if(S.serializationType===y.NOT_SET&&(D=D.complement(A.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),N){if(!this.translateStackToRuleIndex(n)){const g=D.toArray(),_=g.length===1;for(const x of g)if(!this.ignoredTokens.has(x)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(x));const T=_?this.getFollowingTokens(S):[];this.candidates.tokens.has(x)?this.candidates.tokens.set(x,h5(T,this.candidates.tokens.get(x))):this.candidates.tokens.set(x,T)}}}else D.contains(K)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(K)),E.push({state:S.target,tokenListIndex:m.tokenListIndex+1}))}}}return n.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),h.set(e,o),o}generateBaseDescription(t){return`[${t.stateNumber===ne.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${qt.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,e,n,r){const a=" ".repeat(t);let h=a,o="";if(this.debugOutputWithTransitions)for(const c of e.transitions){let u="";const d=c.label?c.label.toArray():[];if(d.length>2)u=this.vocabulary.getDisplayName(d[0])+" .. "+this.vocabulary.getDisplayName(d[d.length-1]);else for(const E of d)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(E);u.length===0&&(u="ε"),o+=` -${a} (${u}) [${c.target.stateNumber} ${qt.atnStateTypeMap[c.target.stateType]}] in ${this.ruleNames[c.target.ruleIndex]}`}r>=this.tokens.length-1?h+=`<<${this.tokenStartIndex+r}>> `:h+=`<${this.tokenStartIndex+r}> `,console.log(h+"Current state: "+n+o)}printRuleState(t){if(t.length===0){console.log("");return}for(const e of t)console.log(this.ruleNames[e.ruleIndex])}},ot(qt,"CodeCompletionCore"),l(qt,"followSetsByATN",new Map),l(qt,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),qt);F0=class extends De{constructor(e,n){super(e);l(this,"dependencies",new Set);this.options=n}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...e){e.forEach(n=>{this.dependencies.add(n)})}removeDependency(e){this.dependencies.has(e)&&this.dependencies.delete(e)}addNewSymbolOfType(e,n,...r){const a=new e(...r);return!n||n===this?this.addSymbol(a):n.addSymbol(a),a}async addNewNamespaceFromPath(e,n,r="."){const a=n.split(r);let h=0,o=e===void 0?this:e;for(;hh.getAllSymbols(e,n)))).forEach(h=>{r.push(...h)}),r}getAllSymbolsSync(e,n=!1){const r=super.getAllSymbolsSync(e,n);return n||this.dependencies.forEach(a=>{r.push(...a.getAllSymbolsSync(e,n))}),r}async symbolWithContext(e){const n=ot(a=>{if(a.context===e)return a;if(a instanceof De)for(const h of a.children){const o=n(h);if(o)return o}},"findRecursive");let r=await this.getAllSymbols(ve);for(const a of r){const h=n(a);if(h)return h}for(const a of this.dependencies){r=await a.getAllSymbols(ve);for(const h of r){const o=n(h);if(o)return o}}}symbolWithContextSync(e){const n=ot(a=>{if(a.context===e)return a;if(a instanceof De)for(const h of a.children){const o=n(h);if(o)return o}},"findRecursive");let r=this.getAllSymbolsSync(ve);for(const a of r){const h=n(a);if(h)return h}for(const a of this.dependencies){r=a.getAllSymbolsSync(ve);for(const h of r){const o=n(h);if(o)return o}}}async resolve(e,n=!1){let r=await super.resolve(e,n);if(!r&&!n){for(const a of this.dependencies)if(r=await a.resolve(e,!1),r)return r}return r}resolveSync(e,n=!1){let r=super.resolveSync(e,n);if(!r&&!n){for(const a of this.dependencies)if(r=a.resolveSync(e,!1),r)return r}return r}},ot(F0,"SymbolTable");function c2(i,t){var e,n;const{lineNumber:r,column:a}=i;let h=0,o=t.length-1;for(;h<=o;){const c=h+(o-h>>1),u=t[c];if(u.line>r||u.line===r&&u.column+1>=a)o=c-1;else if(u.line{this._parseErrors.push(t)}}createLexer(t,e){const n=rr.fromString(t),r=this.createLexerFromCharStream(n);return e&&(r.removeErrorListeners(),r.addErrorListener(new _n(e))),r}createParser(t,e){const n=this.createLexer(t,e),r=new rn(n),a=this.createParserFromTokenStream(r);return a.interpreter.predictionMode=_t.SLL,e&&(a.removeErrorListeners(),a.addErrorListener(new _n(e))),a}parse(t,e){const n=this.createParser(t,e);return n.buildParseTrees=!0,n.errorHandler=new yr,n.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=rr.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(new _n(this._errorListener)),this._tokenStream=new rn(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=_t.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new yr,this._parser}parseWithCache(t,e){if(this._parsedInput===t&&!e&&this._parseTree)return this._parseTree;this._parseErrors=[];const n=this.createParserWithCache(t);return this._parsedInput=t,n.removeErrorListeners(),n.addErrorListener(new _n(this._errorListener)),this._parseTree=n.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let e=this._tokenStream.getTokens();return e[e.length-1].text===""&&(e=e.slice(0,-1)),e}listen(t,e){Wc.DEFAULT.walk(t,e)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const n=this.splitListener;return n?(this.listen(n,this._parseTree),n.statementsContext.map(a=>u2(a,this._parsedInput)).filter(Boolean)):null}getSuggestionAtCaretPosition(t,e){var n,r,a,h,o,c,u,d,E;const m=this.splitListener;if(!m||(this.parseWithCache(t),!this._parseTree))return null;let K=this._parser;const N=this.getAllTokens(t);let I=c2(e,N),S=this._parseTree,D=0;if(!I&&I!==0)return null;this.listen(m,this._parseTree);const g=(n=m.statementsContext)===null||n===void 0?void 0:n.length,_=m.statementsContext;if(g>1){let O=null,G=null;for(let A1=0;A1I&&x5){G=C1;break}}const mt=(o=(h=O==null?void 0:O.start)===null||h===void 0?void 0:h.start)!==null&&o!==void 0?o:0,z=(u=(c=G==null?void 0:G.stop)===null||c===void 0?void 0:c.stop)!==null&&u!==void 0?u:t.length-1;D=(E=(d=O==null?void 0:O.start)===null||d===void 0?void 0:d.tokenIndex)!==null&&E!==void 0?E:0,I=I-D;const b=t.slice(mt,z),te=this.createLexer(b);te.removeErrorListeners();const f2=new rn(te);f2.fill();const es=this.createParserFromTokenStream(f2);es.interpreter.predictionMode=_t.SLL,es.removeErrorListeners(),es.buildParseTrees=!0,es.errorHandler=new yr,K=es,S=es.program()}const x=new c5(K);x.preferredRules=this.preferredRules;const T=x.collectCandidates(I,S),U=this.processCandidates(T,N,I,D);return{syntax:U.syntax.map(O=>{const G=O.wordRanges.map(mt=>u5(mt,this._parsedInput));return{syntaxContextType:O.syntaxContextType,wordRanges:G}}),keywords:U.keywords}}getAllEntities(t,e){const n=this.getAllTokens(t),r=e?c2(e,n):void 0,a=this.createEntityCollector(t,r);if(!a)return null;const h=this.parseWithCache(t);return this.listen(a,h),a.getEntities()}}var at;(function(i){i.CATALOG="catalog",i.CATALOG_CREATE="catalogCreate",i.DATABASE="database",i.DATABASE_CREATE="databaseCreate",i.TABLE="table",i.TABLE_CREATE="tableCreate",i.VIEW="view",i.VIEW_CREATE="viewCreate",i.FUNCTION="function",i.FUNCTION_CREATE="functionCreate",i.PROCEDURE="procedure",i.PROCEDURE_CREATE="procedureCreate",i.COLUMN="column",i.COLUMN_CREATE="columnCreate"})(at||(at={}));class f5{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class E5 extends f5{exitSingleStatement(t){this._statementsContext.push(t)}}class l2{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var d2=function(i,t){var e={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&t.indexOf(n)<0&&(e[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const a=m5(t,e,this._input,this._rootStmt,this._stmtStack.peek(),r);return a&&((this._stmtStack.isEmpty()||((n=this._stmtStack.peek())===null||n===void 0?void 0:n.stmtContextType)===bt.COMMON_STMT)&&(this._rootStmt=a),this._stmtStack.push(a)),a}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,e,n){const r=_5(t,e,this._input,this._stmtStack.peek(),n);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const e=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)e.unshift(this._entityStack.pop());const n=this.combineRootStmtEntities(t,e);for(;n.length;){const r=n.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,e){return t.stmtContextType===bt.CREATE_VIEW_STMT||t.stmtContextType===bt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,e):e}combineCreateTableOrViewStmtEntities(t,e){const n=[],r=[];let a=null;const h=e.reduce((o,c)=>{if(c.belongStmt!==t)return c.entityContextType!==at.COLUMN&&c.entityContextType!==at.COLUMN_CREATE&&(r.push(c),o.push(c)),o;if(c.entityContextType===at.COLUMN_CREATE)n.push(c);else{if(c.entityContextType===at.TABLE_CREATE||c.entityContextType===at.VIEW_CREATE)return a=c,o.push(c),o;c.entityContextType!==at.COLUMN&&(r.push(c),o.push(c))}return o},[]);return a&&n.length&&(a.columns=n),a&&r.length&&(a.relatedEntities=r),h}}class W5 extends R5{exitSchemaName(t){this.pushEntity(t,at.DATABASE)}exitSchemaNameCreate(t){this.pushEntity(t,at.DATABASE_CREATE)}exitTableName(t){this.pushEntity(t,at.TABLE)}exitTableNameCreate(t){this.pushEntity(t,at.TABLE_CREATE)}exitViewName(t){this.pushEntity(t,at.VIEW)}exitViewNameCreate(t){this.pushEntity(t,at.VIEW_CREATE)}exitColumnNameCreate(t){this.pushEntity(t,at.COLUMN_CREATE)}enterSingleStatement(t){this.pushStmt(t,bt.COMMON_STMT)}exitSingleStatement(t){this.popStmt()}enterCreateSchema(t){this.pushStmt(t,bt.CREATE_DATABASE_STMT)}exitCreateSchema(t){this.popStmt()}enterCreateTableAsSelect(t){this.pushStmt(t,bt.CREATE_TABLE_STMT)}exitCreateTableAsSelect(t){this.popStmt()}enterCreateTable(t){this.pushStmt(t,bt.CREATE_TABLE_STMT)}exitCreateTable(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,bt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterCreateMaterializedView(t){this.pushStmt(t,bt.CREATE_VIEW_STMT)}exitCreateMaterializedView(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,bt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterInsertInto(t){this.pushStmt(t,bt.INSERT_STMT)}exitInsertInto(t){this.popStmt()}}class g5 extends d5{constructor(){super(...arguments),this.preferredRules=new Set([s.RULE_catalogName,s.RULE_catalogNameCreate,s.RULE_schemaName,s.RULE_schemaNameCreate,s.RULE_tableName,s.RULE_tableNameCreate,s.RULE_viewName,s.RULE_viewNameCreate,s.RULE_functionName,s.RULE_columnName,s.RULE_columnNameCreate])}createLexerFromCharStream(t){return new f(t)}createParserFromTokenStream(t){return new s(t)}get splitListener(){return new E5}createEntityCollector(t,e){return new W5(t,e)}processCandidates(t,e,n,r){const a=[],h=[];for(let o of t.rules){const[c,u]=o,d=u.startTokenIndex+r,E=e.slice(d,n+r+1);let m;switch(c){case s.RULE_catalogName:{m=at.CATALOG;break}case s.RULE_schemaName:{m=at.DATABASE;break}case s.RULE_schemaNameCreate:{m=at.DATABASE_CREATE;break}case s.RULE_tableName:{m=at.TABLE;break}case s.RULE_tableNameCreate:{m=at.TABLE_CREATE;break}case s.RULE_viewName:{m=at.VIEW;break}case s.RULE_viewNameCreate:{m=at.VIEW_CREATE;break}case s.RULE_functionName:{m=at.FUNCTION;break}case s.RULE_columnNameCreate:{m=at.COLUMN_CREATE;break}case s.RULE_columnName:{m=at.COLUMN;break}}m&&a.push({syntaxContextType:m,wordRanges:E})}for(let o of t.tokens){const c=this._parser.vocabulary.getSymbolicName(o[0]),u=this._parser.vocabulary.getDisplayName(o[0]);if(u&&c&&c.startsWith("KW_")){const d=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;h.push(d)}}return{syntax:a,keywords:h}}}var ys=function(i,t,e,n){function r(a){return a instanceof e?a:new e(function(h){h(a)})}return new(e||(e=Promise))(function(a,h){function o(d){try{u(n.next(d))}catch(E){h(E)}}function c(d){try{u(n.throw(d))}catch(E){h(E)}}function u(d){d.done?a(d.value):r(d.value).then(o,c)}u((n=n.apply(i,t||[])).next())})};class K5{constructor(t,e){this.keywords=[]}doValidation(t){return ys(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const e=this.parser.validate(t);return Promise.resolve(e)}return Promise.resolve([])})}parserTreeToString(t){return ys(this,void 0,void 0,function*(){if(t){const e=this.parser.createParser(t),r=e.program().toStringTree(e);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,e){return ys(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getSuggestionAtCaretPosition(t,e);return Promise.resolve(n)}return Promise.resolve(null)})}doCompletionWithEntities(t,e){return ys(this,void 0,void 0,function*(){var n;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,e);let a=null;return!((n=r==null?void 0:r.syntax)===null||n===void 0)&&n.length&&(a=this.parser.getAllEntities(t,e)),Promise.resolve([r,a])}return Promise.resolve([null,null])})}getAllEntities(t,e){return ys(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getAllEntities(t,e);return Promise.resolve(n)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class A5 extends K5{constructor(t,e){super(t,e),this._ctx=t,this.parser=new g5}}self.onmessage=()=>{Ya((i,t)=>new A5(i,t))}})(); diff --git a/assets/trino.worker-fa53c48f.js b/assets/trino.worker-fa53c48f.js new file mode 100644 index 00000000..0216aff2 --- /dev/null +++ b/assets/trino.worker-fa53c48f.js @@ -0,0 +1,22 @@ +var A5=Object.defineProperty;var g5=(lt,at,Wt)=>at in lt?A5(lt,at,{enumerable:!0,configurable:!0,writable:!0,value:Wt}):lt[at]=Wt;var l=(lt,at,Wt)=>(g5(lt,typeof at!="symbol"?at+"":at,Wt),Wt),a2=(lt,at,Wt)=>{if(!at.has(lt))throw TypeError("Cannot "+Wt)};var N=(lt,at,Wt)=>(a2(lt,at,"read from private field"),Wt?Wt.call(lt):at.get(lt)),q=(lt,at,Wt)=>{if(at.has(lt))throw TypeError("Cannot add the same private member more than once");at instanceof WeakSet?at.add(lt):at.set(lt,Wt)},Z=(lt,at,Wt,Ws)=>(a2(lt,at,"write to private field"),Ws?Ws.call(lt,Wt):at.set(lt,Wt),Wt);var o2=(lt,at,Wt)=>(a2(lt,at,"access private method"),Wt);(function(){var P1,Ps,qs,Te,g1,q1,t0,ee,Xe,Ze,C1,Et,e0,x1,s0,Jt,We,i0,ze,Re,N1,ts,n0,L1,$e,r0,h0,a0,Ht,o0,c0,I1,u0,es,ss,is,l0,Pe,E0,d0,ns,f0,rs,Oe,W0,It,R0,m0,p0,et,Kt,ut,_0,qe,K0,A0,g0,t1,hs,e1,C0,x0,N0,L0,I0,T0,O0,k0,S0,y0,U0,w0,v0,D0,b0,M0,F0,H0,V0,T1,as,os,O1,cs,us,k1,ls,s1,B0,G0,Tt,b,Y0,Q0,j0,J0,X0,Z0,z0,ke,Se,$0,P0,q0,Es,ti,ei,S1,si,c2,ii,ni,ri,hi,V,ai,oi,ci,ui,li,Ei,di,fi,i1,Wi,Ri,mi,pi,_i,Ki,Ai,gi,Ci,xi,Ni,Li,Ii,Ti,Vn,Oi,ki,Si,yi,se,Ui,wi,vi,Bn,ds,Di,bt,bi,Mi,Fi,Hi,ft,Vi,Bi,Gi,rt,me,Xt,Yi,Qi,ji,Ji,Xi,Zi,zi,$i,Vt,Pi,qi,tn,en,sn,nn,ie,rn;"use strict";class lt{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?new Error(t.message+` + +`+t.stack):t},0)}}emit(t){this.listeners.forEach(s=>{s(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const at=new lt;function Wt(i){ao(i)||at.onUnexpectedError(i)}function Ws(i){if(i instanceof Error){let{name:t,message:s}=i;const n=i.stacktrace||i.stack;return{$isError:!0,name:t,message:s,stack:n}}return i}const u2="Canceled";function ao(i){return i instanceof Error&&i.name===u2&&i.message===u2}function oo(i){const t=this;let s=!1,n;return function(){return s||(s=!0,n=i.apply(t,arguments)),n}}var Gn;(function(i){function t(A){return A&&typeof A=="object"&&typeof A[Symbol.iterator]=="function"}i.is=t;const s=Object.freeze([]);function n(){return s}i.empty=n;function*r(A){yield A}i.single=r;function h(A){return A||s}i.from=h;function o(A){return!A||A[Symbol.iterator]().next().done===!0}i.isEmpty=o;function a(A){return A[Symbol.iterator]().next().value}i.first=a;function c(A,_){for(const L of A)if(_(L))return!0;return!1}i.some=c;function u(A,_){for(const L of A)if(_(L))return L}i.find=u;function*d(A,_){for(const L of A)_(L)&&(yield L)}i.filter=d;function*f(A,_){let L=0;for(const T of A)yield _(T,L++)}i.map=f;function*W(...A){for(const _ of A)for(const L of _)yield L}i.concat=W;function*K(A){for(const _ of A)for(const L of _)yield L}i.concatNested=K;function x(A,_,L){let T=L;for(const D of A)T=_(T,D);return T}i.reduce=x;function*O(A,_,L=A.length){for(_<0&&(_+=A.length),L<0?L+=A.length:L>A.length&&(L=A.length);_T===D){const T=A[Symbol.iterator](),D=_[Symbol.iterator]();for(;;){const w=T.next(),S=D.next();if(w.done!==S.done)return!1;if(w.done)return!0;if(!L(w.value,S.value))return!1}}i.equals=U})(Gn||(Gn={}));function C5(i){return i}function x5(i,t){}class co extends Error{constructor(t){super(`Encountered errors while disposing of store. Errors: [${t.join(", ")}]`),this.errors=t}}function l2(i){if(Gn.is(i)){let t=[];for(const s of i)if(s)try{s.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new co(t);return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function uo(...i){return E2(()=>l2(i))}function E2(i){return{dispose:oo(()=>{i()})}}class Rs{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){try{l2(this._toDispose.values())}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Rs.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}}Rs.DISABLE_DISPOSED_WARNING=!1;class d2{constructor(){this._store=new Rs,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}d2.None=Object.freeze({dispose(){}});class st{constructor(t){this.element=t,this.next=st.Undefined,this.prev=st.Undefined}}st.Undefined=new st(void 0);class f2{constructor(){this._first=st.Undefined,this._last=st.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===st.Undefined}clear(){let t=this._first;for(;t!==st.Undefined;){const s=t.next;t.prev=st.Undefined,t.next=st.Undefined,t=s}this._first=st.Undefined,this._last=st.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,s){const n=new st(t);if(this._first===st.Undefined)this._first=n,this._last=n;else if(s){const h=this._last;this._last=n,n.prev=h,h.next=n}else{const h=this._first;this._first=n,n.next=h,h.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==st.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==st.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==st.Undefined&&t.next!==st.Undefined){const s=t.prev;s.next=t.next,t.next.prev=s}else t.prev===st.Undefined&&t.next===st.Undefined?(this._first=st.Undefined,this._last=st.Undefined):t.next===st.Undefined?(this._last=this._last.prev,this._last.next=st.Undefined):t.prev===st.Undefined&&(this._first=this._first.next,this._first.prev=st.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==st.Undefined;)yield t.element,t=t.next}}var Yn;const hn="en";let Qn=!1,jn=!1,Jn=!1,ms,an=hn,lo,n1;const xt=typeof self=="object"?self:typeof global=="object"?global:{};let Ot;typeof xt.vscode<"u"&&typeof xt.vscode.process<"u"?Ot=xt.vscode.process:typeof process<"u"&&(Ot=process);const Eo=typeof((Yn=Ot==null?void 0:Ot.versions)===null||Yn===void 0?void 0:Yn.electron)=="string"&&(Ot==null?void 0:Ot.type)==="renderer";if(typeof navigator=="object"&&!Eo)n1=navigator.userAgent,Qn=n1.indexOf("Windows")>=0,jn=n1.indexOf("Macintosh")>=0,(n1.indexOf("Macintosh")>=0||n1.indexOf("iPad")>=0||n1.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Jn=n1.indexOf("Linux")>=0,ms=navigator.language,an=ms;else if(typeof Ot=="object"){Qn=Ot.platform==="win32",jn=Ot.platform==="darwin",Jn=Ot.platform==="linux",Jn&&Ot.env.SNAP&&Ot.env.SNAP_REVISION,ms=hn,an=hn;const i=Ot.env.VSCODE_NLS_CONFIG;if(i)try{const t=JSON.parse(i),s=t.availableLanguages["*"];ms=t.locale,an=s||hn,lo=t._translationsConfigFile}catch{}}else console.error("Unable to resolve platform.");const ps=Qn,fo=jn,Wo=an,Ro=ms;(()=>{if(typeof xt.postMessage=="function"&&!xt.importScripts){let i=[];xt.addEventListener("message",s=>{if(s.data&&s.data.vscodeScheduleAsyncWork)for(let n=0,r=i.length;n{const n=++t;i.push({id:n,callback:s}),xt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return i=>setTimeout(i)})();const mo=xt.performance&&typeof xt.performance.now=="function";class on{constructor(t){this._highResolution=mo&&t,this._startTime=this._now(),this._stopTime=-1}static create(t=!0){return new on(t)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?xt.performance.now():Date.now()}}var Xn;(function(i){i.None=()=>d2.None;function t(A){return(_,L=null,T)=>{let D=!1,w;return w=A(S=>{if(!D)return w?w.dispose():D=!0,_.call(L,S)},null,T),D&&w.dispose(),w}}i.once=t;function s(A,_){return c((L,T=null,D)=>A(w=>L.call(T,_(w)),null,D))}i.map=s;function n(A,_){return c((L,T=null,D)=>A(w=>{_(w),L.call(T,w)},null,D))}i.forEach=n;function r(A,_){return c((L,T=null,D)=>A(w=>_(w)&&L.call(T,w),null,D))}i.filter=r;function h(A){return A}i.signal=h;function o(...A){return(_,L=null,T)=>uo(...A.map(D=>D(w=>_.call(L,w),null,T)))}i.any=o;function a(A,_,L){let T=L;return s(A,D=>(T=_(T,D),T))}i.reduce=a;function c(A){let _;const L=new ye({onFirstListenerAdd(){_=A(L.fire,L)},onLastListenerRemove(){_.dispose()}});return L.event}function u(A,_,L=100,T=!1,D){let w,S,Y,mt=0;const P=new ye({leakWarningThreshold:D,onFirstListenerAdd(){w=A(F=>{mt++,S=_(S,F),T&&!Y&&(P.fire(S),S=void 0),clearTimeout(Y),Y=setTimeout(()=>{const ne=S;S=void 0,Y=void 0,(!T||mt>1)&&P.fire(ne),mt=0},L)})},onLastListenerRemove(){w.dispose()}});return P.event}i.debounce=u;function d(A,_=(L,T)=>L===T){let L=!0,T;return r(A,D=>{const w=L||!_(D,T);return L=!1,T=D,w})}i.latch=d;function f(A,_){return[i.filter(A,_),i.filter(A,L=>!_(L))]}i.split=f;function W(A,_=!1,L=[]){let T=L.slice(),D=A(Y=>{T?T.push(Y):S.fire(Y)});const w=()=>{T&&T.forEach(Y=>S.fire(Y)),T=null},S=new ye({onFirstListenerAdd(){D||(D=A(Y=>S.fire(Y)))},onFirstListenerDidAdd(){T&&(_?setTimeout(w):w())},onLastListenerRemove(){D&&D.dispose(),D=null}});return S.event}i.buffer=W;class K{constructor(_){this.event=_}map(_){return new K(s(this.event,_))}forEach(_){return new K(n(this.event,_))}filter(_){return new K(r(this.event,_))}reduce(_,L){return new K(a(this.event,_,L))}latch(){return new K(d(this.event))}debounce(_,L=100,T=!1,D){return new K(u(this.event,_,L,T,D))}on(_,L,T){return this.event(_,L,T)}once(_,L,T){return t(this.event)(_,L,T)}}function x(A){return new K(A)}i.chain=x;function O(A,_,L=T=>T){const T=(...Y)=>S.fire(L(...Y)),D=()=>A.on(_,T),w=()=>A.removeListener(_,T),S=new ye({onFirstListenerAdd:D,onLastListenerRemove:w});return S.event}i.fromNodeEventEmitter=O;function k(A,_,L=T=>T){const T=(...Y)=>S.fire(L(...Y)),D=()=>A.addEventListener(_,T),w=()=>A.removeEventListener(_,T),S=new ye({onFirstListenerAdd:D,onLastListenerRemove:w});return S.event}i.fromDOMEventEmitter=k;function U(A){return new Promise(_=>t(A)(_))}i.toPromise=U})(Xn||(Xn={}));class cn{constructor(t){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${t}_${cn._idPool++}`}start(t){this._stopWatch=new on(!0),this._listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this._elapsedOverall+=t,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${t.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}cn._idPool=0;class ye{constructor(t){var s;this._disposed=!1,this._options=t,this._leakageMon=void 0,this._perfMon=!((s=this._options)===null||s===void 0)&&s._profName?new cn(this._options._profName):void 0}get event(){return this._event||(this._event=(t,s,n)=>{var r;this._listeners||(this._listeners=new f2);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(s?[t,s]:t);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,t,s);const a=(r=this._leakageMon)===null||r===void 0?void 0:r.check(this._listeners.size),c=E2(()=>{a&&a(),this._disposed||(o(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return n instanceof Rs?n.add(c):Array.isArray(n)&&n.push(c),c}),this._event}fire(t){var s,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new f2);for(let r of this._listeners)this._deliveryQueue.push([r,t]);for((s=this._perfMon)===null||s===void 0||s.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[r,h]=this._deliveryQueue.shift();try{typeof r=="function"?r.call(void 0,h):r[0].call(r[1],h)}catch(o){Wt(o)}}(n=this._perfMon)===null||n===void 0||n.stop()}}dispose(){var t,s,n,r,h;this._disposed||(this._disposed=!0,(t=this._listeners)===null||t===void 0||t.clear(),(s=this._deliveryQueue)===null||s===void 0||s.clear(),(r=(n=this._options)===null||n===void 0?void 0:n.onLastListenerRemove)===null||r===void 0||r.call(n),(h=this._leakageMon)===null||h===void 0||h.dispose())}}function po(i){let t=[],s=Object.getPrototypeOf(i);for(;Object.prototype!==s;)t=t.concat(Object.getOwnPropertyNames(s)),s=Object.getPrototypeOf(s);return t}function Zn(i){const t=[];for(const s of po(i))typeof i[s]=="function"&&t.push(s);return t}function _o(i,t){const s=r=>function(){const h=Array.prototype.slice.call(arguments,0);return t(r,h)};let n={};for(const r of i)n[r]=s(r);return n}function Ko(i,t="Unreachable"){throw new Error(t)}function Ao(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function go(i){return i.split(/\r\n|\r|\n/)}function Co(i){for(let t=0,s=i.length;t=0;s--){const n=i.charCodeAt(s);if(n!==32&&n!==9)return s}return-1}function W2(i){return i>=65&&i<=90}function zn(i){return 55296<=i&&i<=56319}function No(i){return 56320<=i&&i<=57343}function Lo(i,t){return(i-55296<<10)+(t-56320)+65536}function Io(i,t,s){const n=i.charCodeAt(s);if(zn(n)&&s+1{this._pendingReplies[n]={resolve:r,reject:h},this._send(new Oo(this._workerId,n,t,s))})}listen(t,s){let n=null;const r=new ye({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new ko(this._workerId,n,t,s))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new yo(this._workerId,n)),n=null}});return r.event}handleMessage(t){!t||!t.vsWorker||this._workerId!==-1&&t.vsWorker!==this._workerId||this._handleMessage(t)}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq]){console.warn("Got reply to unknown seq");return}let s=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let n=t.err;t.err.$isError&&(n=new Error,n.name=t.err.name,n.message=t.err.message,n.stack=t.err.stack),s.reject(n);return}s.resolve(t.res)}_handleRequestMessage(t){let s=t.req;this._handler.handleMessage(t.method,t.args).then(r=>{this._send(new R2(this._workerId,s,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=Ws(r.detail)),this._send(new R2(this._workerId,s,void 0,Ws(r)))})}_handleSubscribeEventMessage(t){const s=t.req,n=this._handler.handleEvent(t.eventName,t.arg)(r=>{this._send(new So(this._workerId,s,r))});this._pendingEvents.set(s,n)}_handleEventMessage(t){if(!this._pendingEmitters.has(t.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(t.req).fire(t.event)}_handleUnsubscribeEventMessage(t){if(!this._pendingEvents.has(t.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)}_send(t){let s=[];if(t.type===0)for(let n=0;nfunction(){const a=Array.prototype.slice.call(arguments,0);return t(o,a)},r=o=>function(a){return s(o,a)};let h={};for(const o of i){if(p2(o)){h[o]=r(o);continue}if(m2(o)){h[o]=s(o,void 0);continue}h[o]=n(o)}return h}class vo{constructor(t,s){this._requestHandlerFactory=s,this._requestHandler=null,this._protocol=new Uo({sendMessage:(n,r)=>{t(n,r)},handleMessage:(n,r)=>this._handleMessage(n,r),handleEvent:(n,r)=>this._handleEvent(n,r)})}onmessage(t){this._protocol.handleMessage(t)}_handleMessage(t,s){if(t===To)return this.initialize(s[0],s[1],s[2],s[3]);if(!this._requestHandler||typeof this._requestHandler[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._requestHandler[t].apply(this._requestHandler,s))}catch(n){return Promise.reject(n)}}_handleEvent(t,s){if(!this._requestHandler)throw new Error("Missing requestHandler");if(p2(t)){const n=this._requestHandler[t].call(this._requestHandler,s);if(typeof n!="function")throw new Error(`Missing dynamic event ${t} on request handler.`);return n}if(m2(t)){const n=this._requestHandler[t];if(typeof n!="function")throw new Error(`Missing event ${t} on request handler.`);return n}throw new Error(`Malformed event name ${t}`)}initialize(t,s,n,r){this._protocol.setWorkerId(t);const a=wo(r,(c,u)=>this._protocol.sendMessage(c,u),(c,u)=>this._protocol.listen(c,u));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(a),Promise.resolve(Zn(this._requestHandler))):(s&&(typeof s.baseUrl<"u"&&delete s.baseUrl,typeof s.paths<"u"&&typeof s.paths.vs<"u"&&delete s.paths.vs,typeof s.trustedTypesPolicy!==void 0&&delete s.trustedTypesPolicy,s.catchError=!0,xt.require.config(s)),new Promise((c,u)=>{const d=xt.require;d([n],f=>{if(this._requestHandler=f.create(a),!this._requestHandler){u(new Error("No RequestHandler!"));return}c(Zn(this._requestHandler))},u)}))}}class Ue{constructor(t,s,n,r){this.originalStart=t,this.originalLength=s,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function _2(i,t){return(t<<5)-t+i|0}function Do(i,t){t=_2(149417,t);for(let s=0,n=i.length;s0||this.m_modifiedCount>0)&&this.m_changes.push(new Ue(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,s){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,s),this.m_originalCount++}AddModifiedElement(t,s){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,s),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class we{constructor(t,s,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=t,this._modifiedSequence=s;const[r,h,o]=we._getElements(t),[a,c,u]=we._getElements(s);this._hasStrings=o&&u,this._originalStringElements=r,this._originalElementsOrHash=h,this._modifiedStringElements=a,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&typeof t[0]=="string"}static _getElements(t){const s=t.getElements();if(we._isStringArray(s)){const n=new Int32Array(s.length);for(let r=0,h=s.length;r=t&&r>=n&&this.ElementsAreEqual(s,r);)s--,r--;if(t>s||n>r){let f;return n<=r?(w1.Assert(t===s+1,"originalStart should only be one more than originalEnd"),f=[new Ue(t,0,n,r-n+1)]):t<=s?(w1.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),f=[new Ue(t,s-t+1,n,0)]):(w1.Assert(t===s+1,"originalStart should only be one more than originalEnd"),w1.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),f=[]),f}const o=[0],a=[0],c=this.ComputeRecursionPoint(t,s,n,r,o,a,h),u=o[0],d=a[0];if(c!==null)return c;if(!h[0]){const f=this.ComputeDiffRecursive(t,u,n,d,h);let W=[];return h[0]?W=[new Ue(u+1,s-(u+1)+1,d+1,r-(d+1)+1)]:W=this.ComputeDiffRecursive(u+1,s,d+1,r,h),this.ConcatenateChanges(f,W)}return[new Ue(t,s-t+1,n,r-n+1)]}WALKTRACE(t,s,n,r,h,o,a,c,u,d,f,W,K,x,O,k,U,A){let _=null,L=null,T=new A2,D=s,w=n,S=K[0]-k[0]-r,Y=-1073741824,mt=this.m_forwardHistory.length-1;do{const P=S+t;P===D||P=0&&(u=this.m_forwardHistory[mt],t=u[0],D=1,w=u.length-1)}while(--mt>=-1);if(_=T.getReverseChanges(),A[0]){let P=K[0]+1,F=k[0]+1;if(_!==null&&_.length>0){const ne=_[_.length-1];P=Math.max(P,ne.getOriginalEnd()),F=Math.max(F,ne.getModifiedEnd())}L=[new Ue(P,W-P+1,F,O-F+1)]}else{T=new A2,D=o,w=a,S=K[0]-k[0]-c,Y=1073741824,mt=U?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const P=S+h;P===D||P=d[P+1]?(f=d[P+1]-1,x=f-S-c,f>Y&&T.MarkNextChange(),Y=f+1,T.AddOriginalElement(f+1,x+1),S=P+1-h):(f=d[P-1],x=f-S-c,f>Y&&T.MarkNextChange(),Y=f,T.AddModifiedElement(f+1,x+1),S=P-1-h),mt>=0&&(d=this.m_reverseHistory[mt],h=d[0],D=1,w=d.length-1)}while(--mt>=-1);L=T.getChanges()}return this.ConcatenateChanges(_,L)}ComputeRecursionPoint(t,s,n,r,h,o,a){let c=0,u=0,d=0,f=0,W=0,K=0;t--,n--,h[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const x=s-t+(r-n),O=x+1,k=new Int32Array(O),U=new Int32Array(O),A=r-n,_=s-t,L=t-n,T=s-r,w=(_-A)%2===0;k[A]=t,U[_]=s,a[0]=!1;for(let S=1;S<=x/2+1;S++){let Y=0,mt=0;d=this.ClipDiagonalBound(A-S,S,A,O),f=this.ClipDiagonalBound(A+S,S,A,O);for(let F=d;F<=f;F+=2){F===d||FY+mt&&(Y=c,mt=u),!w&&Math.abs(F-_)<=S-1&&c>=U[F])return h[0]=c,o[0]=u,ne<=U[F]&&1447>0&&S<=1447+1?this.WALKTRACE(A,d,f,L,_,W,K,T,k,U,c,s,h,u,r,o,w,a):null}const P=(Y-t+(mt-n)-S)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(Y,P))return a[0]=!0,h[0]=Y,o[0]=mt,P>0&&1447>0&&S<=1447+1?this.WALKTRACE(A,d,f,L,_,W,K,T,k,U,c,s,h,u,r,o,w,a):(t++,n++,[new Ue(t,s-t+1,n,r-n+1)]);W=this.ClipDiagonalBound(_-S,S,_,O),K=this.ClipDiagonalBound(_+S,S,_,O);for(let F=W;F<=K;F+=2){F===W||F=U[F+1]?c=U[F+1]-1:c=U[F-1],u=c-(F-_)-T;const ne=c;for(;c>t&&u>n&&this.ElementsAreEqual(c,u);)c--,u--;if(U[F]=c,w&&Math.abs(F-A)<=S&&c<=k[F])return h[0]=c,o[0]=u,ne>=k[F]&&1447>0&&S<=1447+1?this.WALKTRACE(A,d,f,L,_,W,K,T,k,U,c,s,h,u,r,o,w,a):null}if(S<=1447){let F=new Int32Array(f-d+2);F[0]=A-d+1,v1.Copy2(k,d,F,1,f-d+1),this.m_forwardHistory.push(F),F=new Int32Array(K-W+2),F[0]=_-W+1,v1.Copy2(U,W,F,1,K-W+1),this.m_reverseHistory.push(F)}}return this.WALKTRACE(A,d,f,L,_,W,K,T,k,U,c,s,h,u,r,o,w,a)}PrettifyChanges(t){for(let s=0;s0,a=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;s--){const n=t[s];let r=0,h=0;if(s>0){const f=t[s-1];r=f.originalStart+f.originalLength,h=f.modifiedStart+f.modifiedLength}const o=n.originalLength>0,a=n.modifiedLength>0;let c=0,u=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let f=1;;f++){const W=n.originalStart-f,K=n.modifiedStart-f;if(Wu&&(u=O,c=f)}n.originalStart-=c,n.modifiedStart-=c;const d=[null];if(s>0&&this.ChangesOverlap(t[s-1],t[s],d)){t[s-1]=d[0],t.splice(s,1),s++;continue}}if(this._hasStrings)for(let s=1,n=t.length;s0&&K>c&&(c=K,u=f,d=W)}return c>0?[u,d]:null}_contiguousSequenceScore(t,s,n){let r=0;for(let h=0;h=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,s){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(s>0){const n=t+s;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,s){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(s>0){const n=t+s;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(t,s,n,r){const h=this._OriginalRegionIsBoundary(t,s)?1:0,o=this._ModifiedRegionIsBoundary(n,r)?1:0;return h+o}ConcatenateChanges(t,s){let n=[];if(t.length===0||s.length===0)return s.length>0?s:t;if(this.ChangesOverlap(t[t.length-1],s[0],n)){const r=new Array(t.length+s.length-1);return v1.Copy(t,0,r,0,t.length-1),r[t.length-1]=n[0],v1.Copy(s,1,r,t.length,s.length-1),r}else{const r=new Array(t.length+s.length);return v1.Copy(t,0,r,0,t.length),v1.Copy(s,0,r,t.length,s.length),r}}ChangesOverlap(t,s,n){if(w1.Assert(t.originalStart<=s.originalStart,"Left change is not less than or equal to right change"),w1.Assert(t.modifiedStart<=s.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=s.originalStart||t.modifiedStart+t.modifiedLength>=s.modifiedStart){const r=t.originalStart;let h=t.originalLength;const o=t.modifiedStart;let a=t.modifiedLength;return t.originalStart+t.originalLength>=s.originalStart&&(h=s.originalStart+s.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=s.modifiedStart&&(a=s.modifiedStart+s.modifiedLength-t.modifiedStart),n[0]=new Ue(r,h,o,a),!0}else return n[0]=null,!1}ClipDiagonalBound(t,s,n,r){if(t>=0&&t=Fo&&i<=Vo||i>=Ho&&i<=Bo}function un(i,t,s,n){let r="",h=0,o=-1,a=0,c=0;for(let u=0;u<=i.length;++u){if(u2){const d=r.lastIndexOf(s);d===-1?(r="",h=0):(r=r.slice(0,d),h=r.length-1-r.lastIndexOf(s)),o=u,a=0;continue}else if(r.length!==0){r="",h=0,o=u,a=0;continue}}t&&(r+=r.length>0?`${s}..`:"..",h=2)}else r.length>0?r+=`${s}${i.slice(o+1,u)}`:r=i.slice(o+1,u),h=u-o-1;o=u,a=0}else c===ve&&a!==-1?++a:a=-1}return r}function C2(i,t){if(t===null||typeof t!="object")throw new g2("pathObject","Object",t);const s=t.dir||t.root,n=t.base||`${t.name||""}${t.ext||""}`;return s?s===t.root?`${s}${n}`:`${s}${i}${n}`:n}const kt={resolve(...i){let t="",s="",n=!1;for(let r=i.length-1;r>=-1;r--){let h;if(r>=0){if(h=i[r],dt(h,"path"),h.length===0)continue}else t.length===0?h=$n():(h=Mo[`=${t}`]||$n(),(h===void 0||h.slice(0,2).toLowerCase()!==t.toLowerCase()&&h.charCodeAt(2)===Ut)&&(h=`${t}\\`));const o=h.length;let a=0,c="",u=!1;const d=h.charCodeAt(0);if(o===1)H(d)&&(a=1,u=!0);else if(H(d))if(u=!0,H(h.charCodeAt(1))){let f=2,W=f;for(;f2&&H(h.charCodeAt(2))&&(u=!0,a=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(n){if(t.length>0)break}else if(s=`${h.slice(a)}\\${s}`,n=u,u&&t.length>0)break}return s=un(s,!n,"\\",H),n?`${t}\\${s}`:`${t}${s}`||"."},normalize(i){dt(i,"path");const t=i.length;if(t===0)return".";let s=0,n,r=!1;const h=i.charCodeAt(0);if(t===1)return Pn(h)?"\\":i;if(H(h))if(r=!0,H(i.charCodeAt(1))){let a=2,c=a;for(;a2&&H(i.charCodeAt(2))&&(r=!0,s=3));let o=s0&&H(i.charCodeAt(t-1))&&(o+="\\"),n===void 0?r?`\\${o}`:o:r?`${n}\\${o}`:`${n}${o}`},isAbsolute(i){dt(i,"path");const t=i.length;if(t===0)return!1;const s=i.charCodeAt(0);return H(s)||t>2&&be(s)&&i.charCodeAt(1)===De&&H(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let t,s;for(let h=0;h0&&(t===void 0?t=s=o:t+=`\\${o}`)}if(t===void 0)return".";let n=!0,r=0;if(typeof s=="string"&&H(s.charCodeAt(0))){++r;const h=s.length;h>1&&H(s.charCodeAt(1))&&(++r,h>2&&(H(s.charCodeAt(2))?++r:n=!1))}if(n){for(;r=2&&(t=`\\${t.slice(r)}`)}return kt.normalize(t)},relative(i,t){if(dt(i,"from"),dt(t,"to"),i===t)return"";const s=kt.resolve(i),n=kt.resolve(t);if(s===n||(i=s.toLowerCase(),t=n.toLowerCase(),i===t))return"";let r=0;for(;rr&&i.charCodeAt(h-1)===Ut;)h--;const o=h-r;let a=0;for(;aa&&t.charCodeAt(c-1)===Ut;)c--;const u=c-a,d=od){if(t.charCodeAt(a+W)===Ut)return n.slice(a+W+1);if(W===2)return n.slice(a+W)}o>d&&(i.charCodeAt(r+W)===Ut?f=W:W===2&&(f=3)),f===-1&&(f=0)}let K="";for(W=r+f+1;W<=h;++W)(W===h||i.charCodeAt(W)===Ut)&&(K+=K.length===0?"..":"\\..");return a+=f,K.length>0?`${K}${n.slice(a,c)}`:(n.charCodeAt(a)===Ut&&++a,n.slice(a,c))},toNamespacedPath(i){if(typeof i!="string")return i;if(i.length===0)return"";const t=kt.resolve(i);if(t.length<=2)return i;if(t.charCodeAt(0)===Ut){if(t.charCodeAt(1)===Ut){const s=t.charCodeAt(2);if(s!==Go&&s!==ve)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(be(t.charCodeAt(0))&&t.charCodeAt(1)===De&&t.charCodeAt(2)===Ut)return`\\\\?\\${t}`;return i},dirname(i){dt(i,"path");const t=i.length;if(t===0)return".";let s=-1,n=0;const r=i.charCodeAt(0);if(t===1)return H(r)?i:".";if(H(r)){if(s=n=1,H(i.charCodeAt(1))){let a=2,c=a;for(;a2&&H(i.charCodeAt(2))?3:2,n=s);let h=-1,o=!0;for(let a=t-1;a>=n;--a)if(H(i.charCodeAt(a))){if(!o){h=a;break}}else o=!1;if(h===-1){if(s===-1)return".";h=s}return i.slice(0,h)},basename(i,t){t!==void 0&&dt(t,"ext"),dt(i,"path");let s=0,n=-1,r=!0,h;if(i.length>=2&&be(i.charCodeAt(0))&&i.charCodeAt(1)===De&&(s=2),t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let o=t.length-1,a=-1;for(h=i.length-1;h>=s;--h){const c=i.charCodeAt(h);if(H(c)){if(!r){s=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(n=h):(o=-1,n=a))}return s===n?n=a:n===-1&&(n=i.length),i.slice(s,n)}for(h=i.length-1;h>=s;--h)if(H(i.charCodeAt(h))){if(!r){s=h+1;break}}else n===-1&&(r=!1,n=h+1);return n===-1?"":i.slice(s,n)},extname(i){dt(i,"path");let t=0,s=-1,n=0,r=-1,h=!0,o=0;i.length>=2&&i.charCodeAt(1)===De&&be(i.charCodeAt(0))&&(t=n=2);for(let a=i.length-1;a>=t;--a){const c=i.charCodeAt(a);if(H(c)){if(!h){n=a+1;break}continue}r===-1&&(h=!1,r=a+1),c===ve?s===-1?s=a:o!==1&&(o=1):s!==-1&&(o=-1)}return s===-1||r===-1||o===0||o===1&&s===r-1&&s===n+1?"":i.slice(s,r)},format:C2.bind(null,"\\"),parse(i){dt(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const s=i.length;let n=0,r=i.charCodeAt(0);if(s===1)return H(r)?(t.root=t.dir=i,t):(t.base=t.name=i,t);if(H(r)){if(n=1,H(i.charCodeAt(1))){let f=2,W=f;for(;f0&&(t.root=i.slice(0,n));let h=-1,o=n,a=-1,c=!0,u=i.length-1,d=0;for(;u>=n;--u){if(r=i.charCodeAt(u),H(r)){if(!c){o=u+1;break}continue}a===-1&&(c=!1,a=u+1),r===ve?h===-1?h=u:d!==1&&(d=1):h!==-1&&(d=-1)}return a!==-1&&(h===-1||d===0||d===1&&h===a-1&&h===o+1?t.base=t.name=i.slice(o,a):(t.name=i.slice(o,h),t.base=i.slice(o,a),t.ext=i.slice(h,a))),o>0&&o!==n?t.dir=i.slice(0,o-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},wt={resolve(...i){let t="",s=!1;for(let n=i.length-1;n>=-1&&!s;n--){const r=n>=0?i[n]:$n();dt(r,"path"),r.length!==0&&(t=`${r}/${t}`,s=r.charCodeAt(0)===At)}return t=un(t,!s,"/",Pn),s?`/${t}`:t.length>0?t:"."},normalize(i){if(dt(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===At,s=i.charCodeAt(i.length-1)===At;return i=un(i,!t,"/",Pn),i.length===0?t?"/":s?"./":".":(s&&(i+="/"),t?`/${i}`:i)},isAbsolute(i){return dt(i,"path"),i.length>0&&i.charCodeAt(0)===At},join(...i){if(i.length===0)return".";let t;for(let s=0;s0&&(t===void 0?t=n:t+=`/${n}`)}return t===void 0?".":wt.normalize(t)},relative(i,t){if(dt(i,"from"),dt(t,"to"),i===t||(i=wt.resolve(i),t=wt.resolve(t),i===t))return"";const s=1,n=i.length,r=n-s,h=1,o=t.length-h,a=ra){if(t.charCodeAt(h+u)===At)return t.slice(h+u+1);if(u===0)return t.slice(h+u)}else r>a&&(i.charCodeAt(s+u)===At?c=u:u===0&&(c=0));let d="";for(u=s+c+1;u<=n;++u)(u===n||i.charCodeAt(u)===At)&&(d+=d.length===0?"..":"/..");return`${d}${t.slice(h+c)}`},toNamespacedPath(i){return i},dirname(i){if(dt(i,"path"),i.length===0)return".";const t=i.charCodeAt(0)===At;let s=-1,n=!0;for(let r=i.length-1;r>=1;--r)if(i.charCodeAt(r)===At){if(!n){s=r;break}}else n=!1;return s===-1?t?"/":".":t&&s===1?"//":i.slice(0,s)},basename(i,t){t!==void 0&&dt(t,"ext"),dt(i,"path");let s=0,n=-1,r=!0,h;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t===i)return"";let o=t.length-1,a=-1;for(h=i.length-1;h>=0;--h){const c=i.charCodeAt(h);if(c===At){if(!r){s=h+1;break}}else a===-1&&(r=!1,a=h+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(n=h):(o=-1,n=a))}return s===n?n=a:n===-1&&(n=i.length),i.slice(s,n)}for(h=i.length-1;h>=0;--h)if(i.charCodeAt(h)===At){if(!r){s=h+1;break}}else n===-1&&(r=!1,n=h+1);return n===-1?"":i.slice(s,n)},extname(i){dt(i,"path");let t=-1,s=0,n=-1,r=!0,h=0;for(let o=i.length-1;o>=0;--o){const a=i.charCodeAt(o);if(a===At){if(!r){s=o+1;break}continue}n===-1&&(r=!1,n=o+1),a===ve?t===-1?t=o:h!==1&&(h=1):t!==-1&&(h=-1)}return t===-1||n===-1||h===0||h===1&&t===n-1&&t===s+1?"":i.slice(t,n)},format:C2.bind(null,"/"),parse(i){dt(i,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;const s=i.charCodeAt(0)===At;let n;s?(t.root="/",n=1):n=0;let r=-1,h=0,o=-1,a=!0,c=i.length-1,u=0;for(;c>=n;--c){const d=i.charCodeAt(c);if(d===At){if(!a){h=c+1;break}continue}o===-1&&(a=!1,o=c+1),d===ve?r===-1?r=c:u!==1&&(u=1):r!==-1&&(u=-1)}if(o!==-1){const d=h===0&&s?1:h;r===-1||u===0||u===1&&r===o-1&&r===h+1?t.base=t.name=i.slice(d,o):(t.name=i.slice(d,r),t.base=i.slice(d,o),t.ext=i.slice(r,o))}return h>0?t.dir=i.slice(0,h-1):s&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};wt.win32=kt.win32=kt,wt.posix=kt.posix=wt,h1==="win32"?kt.normalize:wt.normalize,h1==="win32"?kt.resolve:wt.resolve,h1==="win32"?kt.relative:wt.relative,h1==="win32"?kt.dirname:wt.dirname,h1==="win32"?kt.basename:wt.basename,h1==="win32"?kt.extname:wt.extname,h1==="win32"?kt.sep:wt.sep;const Yo=/^\w[\w\d+.-]*$/,Qo=/^\//,jo=/^\/\//;function x2(i,t){if(!i.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!Yo.test(i.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(i.path){if(i.authority){if(!Qo.test(i.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(jo.test(i.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Jo(i,t){return!i&&!t?"file":i}function Xo(i,t){switch(i){case"https":case"http":case"file":t?t[0]!==zt&&(t=zt+t):t=zt;break}return t}const it="",zt="/",Zo=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class a1{constructor(t,s,n,r,h,o=!1){typeof t=="object"?(this.scheme=t.scheme||it,this.authority=t.authority||it,this.path=t.path||it,this.query=t.query||it,this.fragment=t.fragment||it):(this.scheme=Jo(t,o),this.authority=s||it,this.path=Xo(this.scheme,n||it),this.query=r||it,this.fragment=h||it,x2(this,o))}static isUri(t){return t instanceof a1?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function":!1}get fsPath(){return qn(this,!1)}with(t){if(!t)return this;let{scheme:s,authority:n,path:r,query:h,fragment:o}=t;return s===void 0?s=this.scheme:s===null&&(s=it),n===void 0?n=this.authority:n===null&&(n=it),r===void 0?r=this.path:r===null&&(r=it),h===void 0?h=this.query:h===null&&(h=it),o===void 0?o=this.fragment:o===null&&(o=it),s===this.scheme&&n===this.authority&&r===this.path&&h===this.query&&o===this.fragment?this:new b1(s,n,r,h,o)}static parse(t,s=!1){const n=Zo.exec(t);return n?new b1(n[2]||it,ln(n[4]||it),ln(n[5]||it),ln(n[7]||it),ln(n[9]||it),s):new b1(it,it,it,it,it)}static file(t){let s=it;if(ps&&(t=t.replace(/\\/g,zt)),t[0]===zt&&t[1]===zt){const n=t.indexOf(zt,2);n===-1?(s=t.substring(2),t=zt):(s=t.substring(2,n),t=t.substring(n)||zt)}return new b1("file",s,t,it,it)}static from(t){const s=new b1(t.scheme,t.authority,t.path,t.query,t.fragment);return x2(s,!0),s}static joinPath(t,...s){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return ps&&t.scheme==="file"?n=a1.file(kt.join(qn(t,!0),...s)).path:n=wt.join(t.path,...s),t.with({path:n})}toString(t=!1){return tr(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof a1)return t;{const s=new b1(t);return s._formatted=t.external,s._fsPath=t._sep===N2?t.fsPath:null,s}}else return t}}const N2=ps?1:void 0;class b1 extends a1{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=qn(this,!1)),this._fsPath}toString(t=!1){return t?tr(this,!0):(this._formatted||(this._formatted=tr(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=N2),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const L2={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function I2(i,t){let s,n=-1;for(let r=0;r=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===45||h===46||h===95||h===126||t&&h===47)n!==-1&&(s+=encodeURIComponent(i.substring(n,r)),n=-1),s!==void 0&&(s+=i.charAt(r));else{s===void 0&&(s=i.substr(0,r));const o=L2[h];o!==void 0?(n!==-1&&(s+=encodeURIComponent(i.substring(n,r)),n=-1),s+=o):n===-1&&(n=r)}}return n!==-1&&(s+=encodeURIComponent(i.substring(n))),s!==void 0?s:i}function zo(i){let t;for(let s=0;s1&&i.scheme==="file"?s=`//${i.authority}${i.path}`:i.path.charCodeAt(0)===47&&(i.path.charCodeAt(1)>=65&&i.path.charCodeAt(1)<=90||i.path.charCodeAt(1)>=97&&i.path.charCodeAt(1)<=122)&&i.path.charCodeAt(2)===58?t?s=i.path.substr(1):s=i.path[1].toLowerCase()+i.path.substr(2):s=i.path,ps&&(s=s.replace(/\//g,"\\")),s}function tr(i,t){const s=t?zo:I2;let n="",{scheme:r,authority:h,path:o,query:a,fragment:c}=i;if(r&&(n+=r,n+=":"),(h||r==="file")&&(n+=zt,n+=zt),h){let u=h.indexOf("@");if(u!==-1){const d=h.substr(0,u);h=h.substr(u+1),u=d.indexOf(":"),u===-1?n+=s(d,!1):(n+=s(d.substr(0,u),!1),n+=":",n+=s(d.substr(u+1),!1)),n+="@"}h=h.toLowerCase(),u=h.indexOf(":"),u===-1?n+=s(h,!1):(n+=s(h.substr(0,u),!1),n+=h.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){const u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){const u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}n+=s(o,!0)}return a&&(n+="?",n+=s(a,!1)),c&&(n+="#",n+=t?c:I2(c,!1)),n}function T2(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+T2(i.substr(3)):i}}const O2=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ln(i){return i.match(O2)?i.replace(O2,t=>T2(t)):i}class vt{constructor(t,s){this.lineNumber=t,this.column=s}with(t=this.lineNumber,s=this.column){return t===this.lineNumber&&s===this.column?this:new vt(t,s)}delta(t=0,s=0){return this.with(this.lineNumber+t,this.column+s)}equals(t){return vt.equals(this,t)}static equals(t,s){return!t&&!s?!0:!!t&&!!s&&t.lineNumber===s.lineNumber&&t.column===s.column}isBefore(t){return vt.isBefore(this,t)}static isBefore(t,s){return t.lineNumbern||t===n&&s>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=t,this.endColumn=s):(this.startLineNumber=t,this.startColumn=s,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return ht.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return ht.containsPosition(this,t)}static containsPosition(t,s){return!(s.lineNumbert.endLineNumber||s.lineNumber===t.startLineNumber&&s.columnt.endColumn)}static strictContainsPosition(t,s){return!(s.lineNumbert.endLineNumber||s.lineNumber===t.startLineNumber&&s.column<=t.startColumn||s.lineNumber===t.endLineNumber&&s.column>=t.endColumn)}containsRange(t){return ht.containsRange(this,t)}static containsRange(t,s){return!(s.startLineNumbert.endLineNumber||s.endLineNumber>t.endLineNumber||s.startLineNumber===t.startLineNumber&&s.startColumnt.endColumn)}strictContainsRange(t){return ht.strictContainsRange(this,t)}static strictContainsRange(t,s){return!(s.startLineNumbert.endLineNumber||s.endLineNumber>t.endLineNumber||s.startLineNumber===t.startLineNumber&&s.startColumn<=t.startColumn||s.endLineNumber===t.endLineNumber&&s.endColumn>=t.endColumn)}plusRange(t){return ht.plusRange(this,t)}static plusRange(t,s){let n,r,h,o;return s.startLineNumbert.endLineNumber?(h=s.endLineNumber,o=s.endColumn):s.endLineNumber===t.endLineNumber?(h=s.endLineNumber,o=Math.max(s.endColumn,t.endColumn)):(h=t.endLineNumber,o=t.endColumn),new ht(n,r,h,o)}intersectRanges(t){return ht.intersectRanges(this,t)}static intersectRanges(t,s){let n=t.startLineNumber,r=t.startColumn,h=t.endLineNumber,o=t.endColumn,a=s.startLineNumber,c=s.startColumn,u=s.endLineNumber,d=s.endColumn;return nu?(h=u,o=d):h===u&&(o=Math.min(o,d)),n>h||n===h&&r>o?null:new ht(n,r,h,o)}equalsRange(t){return ht.equalsRange(this,t)}static equalsRange(t,s){return!!t&&!!s&&t.startLineNumber===s.startLineNumber&&t.startColumn===s.startColumn&&t.endLineNumber===s.endLineNumber&&t.endColumn===s.endColumn}getEndPosition(){return ht.getEndPosition(this)}static getEndPosition(t){return new vt(t.endLineNumber,t.endColumn)}getStartPosition(){return ht.getStartPosition(this)}static getStartPosition(t){return new vt(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,s){return new ht(this.startLineNumber,this.startColumn,t,s)}setStartPosition(t,s){return new ht(t,s,this.endLineNumber,this.endColumn)}collapseToStart(){return ht.collapseToStart(this)}static collapseToStart(t){return new ht(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}static fromPositions(t,s=t){return new ht(t.lineNumber,t.column,s.lineNumber,s.column)}static lift(t){return t?new ht(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,s){return!(t.endLineNumbert.startLineNumber}}const $o=3;function k2(i,t,s,n){return new we(i,t,s).ComputeDiff(n)}class S2{constructor(t){const s=[],n=[];for(let r=0,h=t.length;r0&&s.originalLength<20&&s.modifiedLength>0&&s.modifiedLength<20&&h()){const K=n.createCharSequence(t,s.originalStart,s.originalStart+s.originalLength-1),x=r.createCharSequence(t,s.modifiedStart,s.modifiedStart+s.modifiedLength-1);let O=k2(K,x,h,!0).changes;a&&(O=qo(O)),W=[];for(let k=0,U=O.length;k1&&O>1;){const k=W.charCodeAt(x-2),U=K.charCodeAt(O-2);if(k!==U)break;x--,O--}(x>1||O>1)&&this._pushTrimWhitespaceCharChange(r,h+1,1,x,o+1,1,O)}{let x=sr(W,1),O=sr(K,1);const k=W.length+1,U=K.length+1;for(;x!0;const t=Date.now();return()=>Date.now()-t255?255:i|0}function M1(i){return i<0?0:i>4294967295?4294967295:i|0}class ec{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,s){t=M1(t);const n=this.values,r=this.prefixSum,h=s.length;return h===0?!1:(this.values=new Uint32Array(n.length+h),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t),t+h),this.values.set(s,t),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,s){return t=M1(t),s=M1(s),this.values[t]===s?!1:(this.values[t]=s,t-1=n.length)return!1;let h=n.length-t;return s>=h&&(s=h),s===0?!1:(this.values=new Uint32Array(n.length-s),this.values.set(n.subarray(0,t),0),this.values.set(n.subarray(t+s),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=M1(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let s=this.prefixSumValidIndex[0]+1;s===0&&(this.prefixSum[0]=this.values[0],s++),t>=this.values.length&&(t=this.values.length-1);for(let n=s;n<=t;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let s=0,n=this.values.length-1,r=0,h=0,o=0;for(;s<=n;)if(r=s+(n-s)/2|0,h=this.prefixSum[r],o=h-this.values[r],t=h)s=r+1;else break;return new sc(r,t-o)}}class sc{constructor(t,s){this.index=t,this.remainder=s,this._prefixSumIndexOfResultBrand=void 0,this.index=t,this.remainder=s}}class ic{constructor(t,s,n,r){this._uri=t,this._lines=s,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(t){t.eol&&t.eol!==this._eol&&(this._eol=t.eol,this._lineStarts=null);const s=t.changes;for(const n of s)this._acceptDeleteRange(n.range),this._acceptInsertText(new vt(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=t.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const t=this._eol.length,s=this._lines.length,n=new Uint32Array(s);for(let r=0;r/?";function rc(i=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const s of nc)i.indexOf(s)>=0||(t+="\\"+s);return t+="\\s]+)",new RegExp(t,"g")}const hc=rc();function ac(i){let t=hc;if(i&&i instanceof RegExp)if(i.global)t=i;else{let s="g";i.ignoreCase&&(s+="i"),i.multiline&&(s+="m"),i.unicode&&(s+="u"),t=new RegExp(i.source,s)}return t.lastIndex=0,t}const oc={maxLen:1e3,windowSize:15,timeBudget:150};function w2(i,t,s,n,r=oc){if(s.length>r.maxLen){let u=i-r.maxLen/2;return u<0?u=0:n+=u,s=s.substring(u,i+r.maxLen/2),w2(i,t,s,n,r)}const h=Date.now(),o=i-1-n;let a=-1,c=null;for(let u=1;!(Date.now()-h>=r.timeBudget);u++){const d=o-r.windowSize*u;t.lastIndex=Math.max(0,d);const f=cc(t,s,o,a);if(!f&&c||(c=f,d<=0))break;a=d}if(c){let u={word:c[0],startColumn:n+1+c.index,endColumn:n+1+c.index+c[0].length};return t.lastIndex=0,u}return null}function cc(i,t,s,n){let r;for(;r=i.exec(t);){const h=r.index||0;if(h<=s&&i.lastIndex>=s)return r;if(n>0&&h>n)return null}return null}class ir{constructor(t){let s=U2(t);this._defaultValue=s,this._asciiMap=ir._createAsciiMap(s),this._map=new Map}static _createAsciiMap(t){let s=new Uint8Array(256);for(let n=0;n<256;n++)s[n]=t;return s}set(t,s){let n=U2(s);t>=0&&t<256?this._asciiMap[t]=n:this._map.set(t,n)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}}class uc{constructor(t,s,n){const r=new Uint8Array(t*s);for(let h=0,o=t*s;hs&&(s=c),a>n&&(n=a),u>n&&(n=u)}s++,n++;let r=new uc(n,s,0);for(let h=0,o=t.length;h=this._maxCharCode?0:this._states.get(t,s)}}let nr=null;function Ec(){return nr===null&&(nr=new lc([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),nr}let As=null;function dc(){if(As===null){As=new ir(0);const i=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let s=0;sr);if(r>0){const a=s.charCodeAt(r-1),c=s.charCodeAt(o);(a===40&&c===41||a===91&&c===93||a===123&&c===125)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:s.substring(r,o+1)}}static computeLinks(t,s=Ec()){const n=dc();let r=[];for(let h=1,o=t.getLineCount();h<=o;h++){const a=t.getLineContent(h),c=a.length;let u=0,d=0,f=0,W=1,K=!1,x=!1,O=!1,k=!1;for(;u=0?(r+=n?1:-1,r<0?r=t.length-1:r%=t.length,t[r]):null}}rr.INSTANCE=new rr;const v2=Object.freeze(function(i,t){const s=setTimeout(i.bind(t),0);return{dispose(){clearTimeout(s)}}});var dn;(function(i){function t(s){return s===i.None||s===i.Cancelled||s instanceof fn?!0:!s||typeof s!="object"?!1:typeof s.isCancellationRequested=="boolean"&&typeof s.onCancellationRequested=="function"}i.isCancellationToken=t,i.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Xn.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:v2})})(dn||(dn={}));class fn{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?v2:(this._emitter||(this._emitter=new ye),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Wc{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new fn),this._token}cancel(){this._token?this._token instanceof fn&&this._token.cancel():this._token=dn.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof fn&&this._token.dispose():this._token=dn.None}}class hr{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,s){this._keyCodeToStr[t]=s,this._strToKeyCode[s.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Wn=new hr,ar=new hr,or=new hr,Rc=new Array(230),mc=Object.create(null),pc=Object.create(null);(function(){const i="",t=[[0,1,0,"None",0,"unknown",0,"VK_UNKNOWN",i,i],[0,1,1,"Hyper",0,i,0,i,i,i],[0,1,2,"Super",0,i,0,i,i,i],[0,1,3,"Fn",0,i,0,i,i,i],[0,1,4,"FnLock",0,i,0,i,i,i],[0,1,5,"Suspend",0,i,0,i,i,i],[0,1,6,"Resume",0,i,0,i,i,i],[0,1,7,"Turbo",0,i,0,i,i,i],[0,1,8,"Sleep",0,i,0,"VK_SLEEP",i,i],[0,1,9,"WakeUp",0,i,0,i,i,i],[31,0,10,"KeyA",31,"A",65,"VK_A",i,i],[32,0,11,"KeyB",32,"B",66,"VK_B",i,i],[33,0,12,"KeyC",33,"C",67,"VK_C",i,i],[34,0,13,"KeyD",34,"D",68,"VK_D",i,i],[35,0,14,"KeyE",35,"E",69,"VK_E",i,i],[36,0,15,"KeyF",36,"F",70,"VK_F",i,i],[37,0,16,"KeyG",37,"G",71,"VK_G",i,i],[38,0,17,"KeyH",38,"H",72,"VK_H",i,i],[39,0,18,"KeyI",39,"I",73,"VK_I",i,i],[40,0,19,"KeyJ",40,"J",74,"VK_J",i,i],[41,0,20,"KeyK",41,"K",75,"VK_K",i,i],[42,0,21,"KeyL",42,"L",76,"VK_L",i,i],[43,0,22,"KeyM",43,"M",77,"VK_M",i,i],[44,0,23,"KeyN",44,"N",78,"VK_N",i,i],[45,0,24,"KeyO",45,"O",79,"VK_O",i,i],[46,0,25,"KeyP",46,"P",80,"VK_P",i,i],[47,0,26,"KeyQ",47,"Q",81,"VK_Q",i,i],[48,0,27,"KeyR",48,"R",82,"VK_R",i,i],[49,0,28,"KeyS",49,"S",83,"VK_S",i,i],[50,0,29,"KeyT",50,"T",84,"VK_T",i,i],[51,0,30,"KeyU",51,"U",85,"VK_U",i,i],[52,0,31,"KeyV",52,"V",86,"VK_V",i,i],[53,0,32,"KeyW",53,"W",87,"VK_W",i,i],[54,0,33,"KeyX",54,"X",88,"VK_X",i,i],[55,0,34,"KeyY",55,"Y",89,"VK_Y",i,i],[56,0,35,"KeyZ",56,"Z",90,"VK_Z",i,i],[22,0,36,"Digit1",22,"1",49,"VK_1",i,i],[23,0,37,"Digit2",23,"2",50,"VK_2",i,i],[24,0,38,"Digit3",24,"3",51,"VK_3",i,i],[25,0,39,"Digit4",25,"4",52,"VK_4",i,i],[26,0,40,"Digit5",26,"5",53,"VK_5",i,i],[27,0,41,"Digit6",27,"6",54,"VK_6",i,i],[28,0,42,"Digit7",28,"7",55,"VK_7",i,i],[29,0,43,"Digit8",29,"8",56,"VK_8",i,i],[30,0,44,"Digit9",30,"9",57,"VK_9",i,i],[21,0,45,"Digit0",21,"0",48,"VK_0",i,i],[3,1,46,"Enter",3,"Enter",13,"VK_RETURN",i,i],[9,1,47,"Escape",9,"Escape",27,"VK_ESCAPE",i,i],[1,1,48,"Backspace",1,"Backspace",8,"VK_BACK",i,i],[2,1,49,"Tab",2,"Tab",9,"VK_TAB",i,i],[10,1,50,"Space",10,"Space",32,"VK_SPACE",i,i],[83,0,51,"Minus",83,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[81,0,52,"Equal",81,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[87,0,53,"BracketLeft",87,"[",219,"VK_OEM_4","[","OEM_4"],[89,0,54,"BracketRight",89,"]",221,"VK_OEM_6","]","OEM_6"],[88,0,55,"Backslash",88,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,0,56,"IntlHash",0,i,0,i,i,i],[80,0,57,"Semicolon",80,";",186,"VK_OEM_1",";","OEM_1"],[90,0,58,"Quote",90,"'",222,"VK_OEM_7","'","OEM_7"],[86,0,59,"Backquote",86,"`",192,"VK_OEM_3","`","OEM_3"],[82,0,60,"Comma",82,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[84,0,61,"Period",84,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[85,0,62,"Slash",85,"/",191,"VK_OEM_2","/","OEM_2"],[8,1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",i,i],[59,1,64,"F1",59,"F1",112,"VK_F1",i,i],[60,1,65,"F2",60,"F2",113,"VK_F2",i,i],[61,1,66,"F3",61,"F3",114,"VK_F3",i,i],[62,1,67,"F4",62,"F4",115,"VK_F4",i,i],[63,1,68,"F5",63,"F5",116,"VK_F5",i,i],[64,1,69,"F6",64,"F6",117,"VK_F6",i,i],[65,1,70,"F7",65,"F7",118,"VK_F7",i,i],[66,1,71,"F8",66,"F8",119,"VK_F8",i,i],[67,1,72,"F9",67,"F9",120,"VK_F9",i,i],[68,1,73,"F10",68,"F10",121,"VK_F10",i,i],[69,1,74,"F11",69,"F11",122,"VK_F11",i,i],[70,1,75,"F12",70,"F12",123,"VK_F12",i,i],[0,1,76,"PrintScreen",0,i,0,i,i,i],[79,1,77,"ScrollLock",79,"ScrollLock",145,"VK_SCROLL",i,i],[7,1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",i,i],[19,1,79,"Insert",19,"Insert",45,"VK_INSERT",i,i],[14,1,80,"Home",14,"Home",36,"VK_HOME",i,i],[11,1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",i,i],[20,1,82,"Delete",20,"Delete",46,"VK_DELETE",i,i],[13,1,83,"End",13,"End",35,"VK_END",i,i],[12,1,84,"PageDown",12,"PageDown",34,"VK_NEXT",i,i],[17,1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",i],[15,1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",i],[18,1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",i],[16,1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",i],[78,1,89,"NumLock",78,"NumLock",144,"VK_NUMLOCK",i,i],[108,1,90,"NumpadDivide",108,"NumPad_Divide",111,"VK_DIVIDE",i,i],[103,1,91,"NumpadMultiply",103,"NumPad_Multiply",106,"VK_MULTIPLY",i,i],[106,1,92,"NumpadSubtract",106,"NumPad_Subtract",109,"VK_SUBTRACT",i,i],[104,1,93,"NumpadAdd",104,"NumPad_Add",107,"VK_ADD",i,i],[3,1,94,"NumpadEnter",3,i,0,i,i,i],[94,1,95,"Numpad1",94,"NumPad1",97,"VK_NUMPAD1",i,i],[95,1,96,"Numpad2",95,"NumPad2",98,"VK_NUMPAD2",i,i],[96,1,97,"Numpad3",96,"NumPad3",99,"VK_NUMPAD3",i,i],[97,1,98,"Numpad4",97,"NumPad4",100,"VK_NUMPAD4",i,i],[98,1,99,"Numpad5",98,"NumPad5",101,"VK_NUMPAD5",i,i],[99,1,100,"Numpad6",99,"NumPad6",102,"VK_NUMPAD6",i,i],[100,1,101,"Numpad7",100,"NumPad7",103,"VK_NUMPAD7",i,i],[101,1,102,"Numpad8",101,"NumPad8",104,"VK_NUMPAD8",i,i],[102,1,103,"Numpad9",102,"NumPad9",105,"VK_NUMPAD9",i,i],[93,1,104,"Numpad0",93,"NumPad0",96,"VK_NUMPAD0",i,i],[107,1,105,"NumpadDecimal",107,"NumPad_Decimal",110,"VK_DECIMAL",i,i],[92,0,106,"IntlBackslash",92,"OEM_102",226,"VK_OEM_102",i,i],[58,1,107,"ContextMenu",58,"ContextMenu",93,i,i,i],[0,1,108,"Power",0,i,0,i,i,i],[0,1,109,"NumpadEqual",0,i,0,i,i,i],[71,1,110,"F13",71,"F13",124,"VK_F13",i,i],[72,1,111,"F14",72,"F14",125,"VK_F14",i,i],[73,1,112,"F15",73,"F15",126,"VK_F15",i,i],[74,1,113,"F16",74,"F16",127,"VK_F16",i,i],[75,1,114,"F17",75,"F17",128,"VK_F17",i,i],[76,1,115,"F18",76,"F18",129,"VK_F18",i,i],[77,1,116,"F19",77,"F19",130,"VK_F19",i,i],[0,1,117,"F20",0,i,0,"VK_F20",i,i],[0,1,118,"F21",0,i,0,"VK_F21",i,i],[0,1,119,"F22",0,i,0,"VK_F22",i,i],[0,1,120,"F23",0,i,0,"VK_F23",i,i],[0,1,121,"F24",0,i,0,"VK_F24",i,i],[0,1,122,"Open",0,i,0,i,i,i],[0,1,123,"Help",0,i,0,i,i,i],[0,1,124,"Select",0,i,0,i,i,i],[0,1,125,"Again",0,i,0,i,i,i],[0,1,126,"Undo",0,i,0,i,i,i],[0,1,127,"Cut",0,i,0,i,i,i],[0,1,128,"Copy",0,i,0,i,i,i],[0,1,129,"Paste",0,i,0,i,i,i],[0,1,130,"Find",0,i,0,i,i,i],[0,1,131,"AudioVolumeMute",112,"AudioVolumeMute",173,"VK_VOLUME_MUTE",i,i],[0,1,132,"AudioVolumeUp",113,"AudioVolumeUp",175,"VK_VOLUME_UP",i,i],[0,1,133,"AudioVolumeDown",114,"AudioVolumeDown",174,"VK_VOLUME_DOWN",i,i],[105,1,134,"NumpadComma",105,"NumPad_Separator",108,"VK_SEPARATOR",i,i],[110,0,135,"IntlRo",110,"ABNT_C1",193,"VK_ABNT_C1",i,i],[0,1,136,"KanaMode",0,i,0,i,i,i],[0,0,137,"IntlYen",0,i,0,i,i,i],[0,1,138,"Convert",0,i,0,i,i,i],[0,1,139,"NonConvert",0,i,0,i,i,i],[0,1,140,"Lang1",0,i,0,i,i,i],[0,1,141,"Lang2",0,i,0,i,i,i],[0,1,142,"Lang3",0,i,0,i,i,i],[0,1,143,"Lang4",0,i,0,i,i,i],[0,1,144,"Lang5",0,i,0,i,i,i],[0,1,145,"Abort",0,i,0,i,i,i],[0,1,146,"Props",0,i,0,i,i,i],[0,1,147,"NumpadParenLeft",0,i,0,i,i,i],[0,1,148,"NumpadParenRight",0,i,0,i,i,i],[0,1,149,"NumpadBackspace",0,i,0,i,i,i],[0,1,150,"NumpadMemoryStore",0,i,0,i,i,i],[0,1,151,"NumpadMemoryRecall",0,i,0,i,i,i],[0,1,152,"NumpadMemoryClear",0,i,0,i,i,i],[0,1,153,"NumpadMemoryAdd",0,i,0,i,i,i],[0,1,154,"NumpadMemorySubtract",0,i,0,i,i,i],[0,1,155,"NumpadClear",0,i,0,i,i,i],[0,1,156,"NumpadClearEntry",0,i,0,i,i,i],[5,1,0,i,5,"Ctrl",17,"VK_CONTROL",i,i],[4,1,0,i,4,"Shift",16,"VK_SHIFT",i,i],[6,1,0,i,6,"Alt",18,"VK_MENU",i,i],[57,1,0,i,57,"Meta",0,"VK_COMMAND",i,i],[5,1,157,"ControlLeft",5,i,0,"VK_LCONTROL",i,i],[4,1,158,"ShiftLeft",4,i,0,"VK_LSHIFT",i,i],[6,1,159,"AltLeft",6,i,0,"VK_LMENU",i,i],[57,1,160,"MetaLeft",57,i,0,"VK_LWIN",i,i],[5,1,161,"ControlRight",5,i,0,"VK_RCONTROL",i,i],[4,1,162,"ShiftRight",4,i,0,"VK_RSHIFT",i,i],[6,1,163,"AltRight",6,i,0,"VK_RMENU",i,i],[57,1,164,"MetaRight",57,i,0,"VK_RWIN",i,i],[0,1,165,"BrightnessUp",0,i,0,i,i,i],[0,1,166,"BrightnessDown",0,i,0,i,i,i],[0,1,167,"MediaPlay",0,i,0,i,i,i],[0,1,168,"MediaRecord",0,i,0,i,i,i],[0,1,169,"MediaFastForward",0,i,0,i,i,i],[0,1,170,"MediaRewind",0,i,0,i,i,i],[114,1,171,"MediaTrackNext",119,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",i,i],[115,1,172,"MediaTrackPrevious",120,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",i,i],[116,1,173,"MediaStop",121,"MediaStop",178,"VK_MEDIA_STOP",i,i],[0,1,174,"Eject",0,i,0,i,i,i],[117,1,175,"MediaPlayPause",122,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",i,i],[0,1,176,"MediaSelect",123,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",i,i],[0,1,177,"LaunchMail",124,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",i,i],[0,1,178,"LaunchApp2",125,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",i,i],[0,1,179,"LaunchApp1",0,i,0,"VK_MEDIA_LAUNCH_APP1",i,i],[0,1,180,"SelectTask",0,i,0,i,i,i],[0,1,181,"LaunchScreenSaver",0,i,0,i,i,i],[0,1,182,"BrowserSearch",115,"BrowserSearch",170,"VK_BROWSER_SEARCH",i,i],[0,1,183,"BrowserHome",116,"BrowserHome",172,"VK_BROWSER_HOME",i,i],[112,1,184,"BrowserBack",117,"BrowserBack",166,"VK_BROWSER_BACK",i,i],[113,1,185,"BrowserForward",118,"BrowserForward",167,"VK_BROWSER_FORWARD",i,i],[0,1,186,"BrowserStop",0,i,0,"VK_BROWSER_STOP",i,i],[0,1,187,"BrowserRefresh",0,i,0,"VK_BROWSER_REFRESH",i,i],[0,1,188,"BrowserFavorites",0,i,0,"VK_BROWSER_FAVORITES",i,i],[0,1,189,"ZoomToggle",0,i,0,i,i,i],[0,1,190,"MailReply",0,i,0,i,i,i],[0,1,191,"MailForward",0,i,0,i,i,i],[0,1,192,"MailSend",0,i,0,i,i,i],[109,1,0,i,109,"KeyInComposition",229,i,i,i],[111,1,0,i,111,"ABNT_C2",194,"VK_ABNT_C2",i,i],[91,1,0,i,91,"OEM_8",223,"VK_OEM_8",i,i],[0,1,0,i,0,i,0,"VK_CLEAR",i,i],[0,1,0,i,0,i,0,"VK_KANA",i,i],[0,1,0,i,0,i,0,"VK_HANGUL",i,i],[0,1,0,i,0,i,0,"VK_JUNJA",i,i],[0,1,0,i,0,i,0,"VK_FINAL",i,i],[0,1,0,i,0,i,0,"VK_HANJA",i,i],[0,1,0,i,0,i,0,"VK_KANJI",i,i],[0,1,0,i,0,i,0,"VK_CONVERT",i,i],[0,1,0,i,0,i,0,"VK_NONCONVERT",i,i],[0,1,0,i,0,i,0,"VK_ACCEPT",i,i],[0,1,0,i,0,i,0,"VK_MODECHANGE",i,i],[0,1,0,i,0,i,0,"VK_SELECT",i,i],[0,1,0,i,0,i,0,"VK_PRINT",i,i],[0,1,0,i,0,i,0,"VK_EXECUTE",i,i],[0,1,0,i,0,i,0,"VK_SNAPSHOT",i,i],[0,1,0,i,0,i,0,"VK_HELP",i,i],[0,1,0,i,0,i,0,"VK_APPS",i,i],[0,1,0,i,0,i,0,"VK_PROCESSKEY",i,i],[0,1,0,i,0,i,0,"VK_PACKET",i,i],[0,1,0,i,0,i,0,"VK_DBE_SBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_DBE_DBCSCHAR",i,i],[0,1,0,i,0,i,0,"VK_ATTN",i,i],[0,1,0,i,0,i,0,"VK_CRSEL",i,i],[0,1,0,i,0,i,0,"VK_EXSEL",i,i],[0,1,0,i,0,i,0,"VK_EREOF",i,i],[0,1,0,i,0,i,0,"VK_PLAY",i,i],[0,1,0,i,0,i,0,"VK_ZOOM",i,i],[0,1,0,i,0,i,0,"VK_NONAME",i,i],[0,1,0,i,0,i,0,"VK_PA1",i,i],[0,1,0,i,0,i,0,"VK_OEM_CLEAR",i,i]];let s=[],n=[];for(const r of t){const[h,o,a,c,u,d,f,W,K,x]=r;if(n[a]||(n[a]=!0,mc[c]=a,pc[c.toLowerCase()]=a),!s[u]){if(s[u]=!0,!d)throw new Error(`String representation missing for key code ${u} around scan code ${c}`);Wn.define(u,d),ar.define(u,K||d),or.define(u,x||K||d)}f&&(Rc[f]=u)}})();var D2;(function(i){function t(a){return Wn.keyCodeToStr(a)}i.toString=t;function s(a){return Wn.strToKeyCode(a)}i.fromString=s;function n(a){return ar.keyCodeToStr(a)}i.toUserSettingsUS=n;function r(a){return or.keyCodeToStr(a)}i.toUserSettingsGeneral=r;function h(a){return ar.strToKeyCode(a)||or.strToKeyCode(a)}i.fromUserSettings=h;function o(a){if(a>=93&&a<=108)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Wn.keyCodeToStr(a)}i.toElectronAccelerator=o})(D2||(D2={}));function _c(i,t){const s=(t&65535)<<16>>>0;return(i|s)>>>0}class Mt extends ht{constructor(t,s,n,r){super(t,s,n,r),this.selectionStartLineNumber=t,this.selectionStartColumn=s,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Mt.selectionsEqual(this,t)}static selectionsEqual(t,s){return t.selectionStartLineNumber===s.selectionStartLineNumber&&t.selectionStartColumn===s.selectionStartColumn&&t.positionLineNumber===s.positionLineNumber&&t.positionColumn===s.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,s){return this.getDirection()===0?new Mt(this.startLineNumber,this.startColumn,t,s):new Mt(t,s,this.startLineNumber,this.startColumn)}getPosition(){return new vt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new vt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,s){return this.getDirection()===0?new Mt(t,s,this.endLineNumber,this.endColumn):new Mt(this.endLineNumber,this.endColumn,t,s)}static fromPositions(t,s=t){return new Mt(t.lineNumber,t.column,s.lineNumber,s.column)}static fromRange(t,s){return s===0?new Mt(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Mt(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Mt(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,s){if(t&&!s||!t&&s)return!1;if(!t&&!s)return!0;if(t.length!==s.length)return!1;for(let n=0,r=t.length;n0){const o=t.charCodeAt(n);if(i.get(o)!==0)return!0}return!1}function Cc(i,t,s,n,r){if(n+r===s)return!0;const h=t.charCodeAt(n+r);if(i.get(h)!==0||h===13||h===10)return!0;if(r>0){const o=t.charCodeAt(n+r-1);if(i.get(o)!==0)return!0}return!1}function xc(i,t,s,n,r){return gc(i,t,s,n,r)&&Cc(i,t,s,n,r)}class Nc{constructor(t,s){this._wordSeparators=t,this._searchRegex=s,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const s=t.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===s||(n=this._searchRegex.exec(t),!n))return null;const r=n.index,h=n[0].length;if(r===this._prevMatchStartIndex&&h===this._prevMatchLength){if(h===0){Io(t,s,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=h,!this._wordSeparators||xc(this._wordSeparators,t,s,r,h))return n}while(n);return null}}class Lc{static computeUnicodeHighlights(t,s,n){const r=n?n.startLineNumber:1,h=n?n.endLineNumber:t.getLineCount(),o=new mh(s),a=o.getCandidateCodePoints();let c;a==="allNonBasicAscii"?c=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):c=new RegExp(`${Ic(Array.from(a))}`,"g");const u=new Nc(null,c),d=[];let f=!1,W,K=0,x=0,O=0;t:for(let k=r,U=h;k<=U;k++){const A=t.getLineContent(k),_=A.length;u.reset(0);do if(W=u.next(A),W){let L=W.index,T=W.index+W[0].length;if(L>0){const S=A.charCodeAt(L-1);zn(S)&&L--}if(T+1<_){const S=A.charCodeAt(T-1);zn(S)&&T++}const D=A.substring(L,T),w=o.shouldHighlightNonBasicASCII(D);if(w!==0){w===3?K++:w===2?x++:w===1?O++:Ko();const S=1e3;if(d.length>=S){f=!0;break t}d.push(new ht(k,L+1,k,T+1))}}while(W)}return{ranges:d,hasMore:f,ambiguousCharacterCount:K,invisibleCharacterCount:x,nonBasicAsciiCharacterCount:O}}static computeUnicodeHighlightReason(t,s){switch(new mh(s).shouldHighlightNonBasicASCII(t)){case 0:return null;case 2:return{kind:1};case 3:const h=Zt.getPrimaryConfusable(t.codePointAt(0));return{kind:0,confusableWith:String.fromCodePoint(h)};case 1:return{kind:2}}}}function Ic(i,t){return`[${Ao(i.map(n=>String.fromCodePoint(n)).join(""))}]`}class mh{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints)}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const s of r1.codePoints)t.add(s);if(this.options.ambiguousCharacters)for(const s of Zt.getPrimaryConfusableCodePoints())t.add(s);for(const s of this.allowedCodePoints)t.delete(s);return t}shouldHighlightNonBasicASCII(t){const s=t.codePointAt(0);return this.allowedCodePoints.has(s)?0:this.options.nonBasicASCII?1:this.options.invisibleCharacters&&!(t===" "||t===` +`||t===" ")&&r1.isInvisibleCharacter(s)?2:this.options.ambiguousCharacters&&Zt.isAmbiguous(s)?3:0}}var o1=function(i,t,s,n){function r(h){return h instanceof s?h:new s(function(o){o(h)})}return new(s||(s=Promise))(function(h,o){function a(d){try{u(n.next(d))}catch(f){o(f)}}function c(d){try{u(n.throw(d))}catch(f){o(f)}}function u(d){d.done?h(d.value):r(d.value).then(a,c)}u((n=n.apply(i,t||[])).next())})};class Tc extends ic{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(t){return this._lines[t-1]}getWordAtPosition(t,s){let n=w2(t.column,ac(s),this._lines[t.lineNumber-1],0);return n?new ht(t.lineNumber,n.startColumn,t.lineNumber,n.endColumn):null}words(t){const s=this._lines,n=this._wordenize.bind(this);let r=0,h="",o=0,a=[];return{*[Symbol.iterator](){for(;;)if(othis._lines.length)s=this._lines.length,n=this._lines[s-1].length+1,r=!0;else{let h=this._lines[s-1].length+1;n<1?(n=1,r=!0):n>h&&(n=h,r=!0)}return r?{lineNumber:s,column:n}:t}}class F1{constructor(t,s){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=s,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){let t=[];return Object.keys(this._models).forEach(s=>t.push(this._models[s])),t}acceptNewModel(t){this._models[t.url]=new Tc(a1.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,s){if(!this._models[t])return;this._models[t].onEvents(s)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}computeUnicodeHighlights(t,s,n){return o1(this,void 0,void 0,function*(){const r=this._getModel(t);return r?Lc.computeUnicodeHighlights(r,s,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,s,n,r){return o1(this,void 0,void 0,function*(){const h=this._getModel(t),o=this._getModel(s);if(!h||!o)return null;const a=h.getLinesContent(),c=o.getLinesContent(),d=new tc(a,c,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),f=d.changes.length>0?!1:this._modelsAreIdentical(h,o);return{quitEarly:d.quitEarly,identical:f,changes:d.changes}})}_modelsAreIdentical(t,s){const n=t.getLineCount(),r=s.getLineCount();if(n!==r)return!1;for(let h=1;h<=n;h++){const o=t.getLineContent(h),a=s.getLineContent(h);if(o!==a)return!1}return!0}computeMoreMinimalEdits(t,s){return o1(this,void 0,void 0,function*(){const n=this._getModel(t);if(!n)return s;const r=[];let h;s=s.slice(0).sort((o,a)=>{if(o.range&&a.range)return ht.compareRangesUsingStarts(o.range,a.range);let c=o.range?0:1,u=a.range?0:1;return c-u});for(let{range:o,text:a,eol:c}of s){if(typeof c=="number"&&(h=c),ht.isEmpty(o)&&!a)continue;const u=n.getValueInRange(o);if(a=a.replace(/\r\n|\n|\r/g,n.eol),u===a)continue;if(Math.max(a.length,u.length)>F1._diffLimit){r.push({range:o,text:a});continue}const d=bo(u,a,!1),f=n.offsetAt(ht.lift(o).getStartPosition());for(const W of d){const K=n.positionAt(f+W.originalStart),x=n.positionAt(f+W.originalStart+W.originalLength),O={text:a.substr(W.modifiedStart,W.modifiedLength),range:{startLineNumber:K.lineNumber,startColumn:K.column,endLineNumber:x.lineNumber,endColumn:x.column}};n.getValueInRange(O.range)!==O.text&&r.push(O)}}return typeof h=="number"&&r.push({eol:h,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r})}computeLinks(t){return o1(this,void 0,void 0,function*(){let s=this._getModel(t);return s?fc(s):null})}textualSuggest(t,s,n,r){return o1(this,void 0,void 0,function*(){const h=new on(!0),o=new RegExp(n,r),a=new Set;t:for(let c of t){const u=this._getModel(c);if(u){for(let d of u.words(o))if(!(d===s||!isNaN(Number(d)))&&(a.add(d),a.size>F1._suggestionsLimit))break t}}return{words:Array.from(a),duration:h.elapsed()}})}computeWordRanges(t,s,n,r){return o1(this,void 0,void 0,function*(){let h=this._getModel(t);if(!h)return Object.create(null);const o=new RegExp(n,r),a=Object.create(null);for(let c=s.startLineNumber;cthis._host.fhr(a,c)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,s),Promise.resolve(Zn(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,s){if(!this._foreignModule||typeof this._foreignModule[t]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,s))}catch(n){return Promise.reject(n)}}}F1._diffLimit=1e5,F1._suggestionsLimit=1e4,typeof importScripts=="function"&&(xt.monaco=Ac());let dr=!1;function ph(i){if(dr)return;dr=!0;const t=new vo(s=>{self.postMessage(s)},s=>new F1(s,i));self.onmessage=s=>{t.onmessage(s.data)}}self.onmessage=i=>{dr||ph(null)};var Oc=Object.defineProperty,p=(i,t)=>Oc(i,"name",{value:t,configurable:!0}),Me=(P1=class{constructor(t){l(this,"target");this.target=t}get isEpsilon(){return!1}get label(){return null}},p(P1,"Transition"),l(P1,"serializationNames",["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"]),P1),fr=(Ps=class extends Me{constructor(t){super(t)}},p(Ps,"AbstractPredicateTransition"),Ps),v={EPSILON:1,RANGE:2,RULE:3,PREDICATE:4,ATOM:5,ACTION:6,SET:7,NOT_SET:8,WILDCARD:9,PRECEDENCE:10},_h=(qs=class extends Me{constructor(s,n,r,h){super(s);l(this,"ruleIndex");l(this,"actionIndex");l(this,"isCtxDependent");this.ruleIndex=n,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=h===void 0?!1:h}get isEpsilon(){return!0}get serializationType(){return v.ACTION}matches(s,n,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},p(qs,"ActionTransition"),qs),z=(Te=class{constructor(t){l(this,"cachedHashCode");this.cachedHashCode=t}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===Te.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}toString(t){return""}},p(Te,"PredictionContext"),l(Te,"EMPTY_RETURN_STATE",2147483647),l(Te,"EMPTY"),l(Te,"trace_atn_sim",!1),Te),Kh=3432918353,Ah=461845907,Rn=15,mn=13,gh=5,Ch=3864292196,re=(g1=class{constructor(){l(this,"count");l(this,"hash");this.count=0,this.hash=0}static hashStuff(...t){const s=new g1;return s.update(t),s.finish()}static hashString(t=0,s){let n=3735928559^t,r=1103547991^t;for(const h of s){const o=h.charCodeAt(0);n=Math.imul(n^o,2654435761),r=Math.imul(r^o,1597334677)}return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),Math.imul(4294967296,2097151&r)+(n>>>0)}update(...t){for(const s of t)if(s!=null)if(Array.isArray(s))this.update(...s);else{let n=0;switch(typeof s){case"undefined":case"function":continue;case"number":{n=s;break}case"boolean":{n=s?1237:4327;break}case"string":{n=g1.hashString(this.hash,s);break}default:{s.updateHashCode(this);continue}}this.count=this.count+1,n=Math.imul(n,Kh),n=n<>>32-Rn,n=Math.imul(n,Ah);let r=this.hash^n;r=r<>>32-mn,this.hash=Math.imul(r,gh)+Ch}}updateWithHashCode(t){this.count=this.count+1,t=Math.imul(t,Kh),t=t<>>32-Rn,t=Math.imul(t,Ah);let s=this.hash^t;s=s<>>32-mn,this.hash=Math.imul(s,gh)+Ch}finish(){let t=this.hash^this.count*4;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t}},p(g1,"HashCode"),g1),kc=p(i=>typeof i.equals=="function","isComparable"),Sc=p(i=>i===null?"null":i,"valueToString"),c1=p(i=>Array.isArray(i)?"["+i.map(Sc).join(", ")+"]":"null","arrayToString"),Cs=p((i,t)=>{if(i===t)return!0;if(i.length!==t.length)return!1;for(let s=0;s(i=i.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(i=i.replace(/ /g,"·")),i),"escapeWhitespace"),xh=p((i,t)=>i?i.equals(t):i===t,"standardEqualsFunction"),Uc=Math.round(Math.random()*Math.pow(2,32)),wc=p(i=>{let t,s;const n=i.length&3,r=i.length-n;let h=Uc;const o=3432918353,a=461845907;let c=0;for(;c>>16)*o&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(s&65535)*a+(((s>>>16)*a&65535)<<16)&4294967295,h^=s,h=h<<13|h>>>19,t=(h&65535)*5+(((h>>>16)*5&65535)<<16)&4294967295,h=(t&65535)+27492+(((t>>>16)+58964&65535)<<16);switch(s=0,n){case 3:s^=(i.charCodeAt(c+2)&255)<<16;case 2:s^=(i.charCodeAt(c+1)&255)<<8;case 1:s^=i.charCodeAt(c)&255,s=(s&65535)*o+(((s>>>16)*o&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(s&65535)*a+(((s>>>16)*a&65535)<<16)&4294967295,h^=s}return h^=i.length,h^=h>>>16,h=(h&65535)*2246822507+(((h>>>16)*2246822507&65535)<<16)&4294967295,h^=h>>>13,h=(h&65535)*3266489909+(((h>>>16)*3266489909&65535)<<16)&4294967295,h^=h>>>16,h>>>0},"stringHashCode"),Nh=p(i=>i?typeof i=="string"?wc(i):i.hashCode():-1,"standardHashCodeFunction"),Fe=(q1=class extends z{constructor(s,n){const r=new re;r.update(s,n);const h=r.finish();super(h);l(this,"parents",[]);l(this,"returnStates",[]);return this.parents=s,this.returnStates=n,this}isEmpty(){return this.returnStates[0]===z.EMPTY_RETURN_STATE}getParent(s){return this.parents[s]}getReturnState(s){return this.returnStates[s]}equals(s){return this===s?!0:!(s instanceof q1)||this.hashCode()!==s.hashCode()?!1:Cs(this.returnStates,s.returnStates)&&Cs(this.parents,s.parents)}toString(){if(this.isEmpty())return"[]";{let s="[";for(let n=0;n0&&(s=s+", "),this.returnStates[n]===z.EMPTY_RETURN_STATE){s=s+"$";continue}s=s+this.returnStates[n],this.parents[n]!==null?s=s+" "+this.parents[n]:s=s+"null"}return s+"]"}}get length(){return this.returnStates.length}},p(q1,"ArrayPredictionContext"),q1),pn;(i=>{i.EOF=-1,i.UNKNOWN_SOURCE_NAME=""})(pn||(pn={}));var g;(i=>{i.INVALID_TYPE=0,i.EPSILON=-2,i.MIN_USER_TOKEN_TYPE=1,i.EOF=pn.EOF,i.DEFAULT_CHANNEL=0,i.HIDDEN_CHANNEL=1,i.MIN_USER_CHANNEL_VALUE=2})(g||(g={}));var Lh=p(i=>{const t=i;return t.tokenSource!==void 0&&t.channel!==void 0},"isToken"),Bt=(t0=class{constructor(t,s){l(this,"data");l(this,"hashFunction");l(this,"equalsFunction");this.data={},this.hashFunction=t??Nh,this.equalsFunction=s??xh}add(t){const s=this.hashFunction(t);if(s in this.data){const n=this.data[s];for(const r of n)if(this.equalsFunction(t,r))return r;return n.push(t),t}else return this.data[s]=[t],t}has(t){return this.get(t)!=null}get(t){const s=this.hashFunction(t);if(s in this.data){const n=this.data[s];for(const r of n)if(this.equalsFunction(t,r))return r}return null}values(){return Object.keys(this.data).flatMap(t=>this.data[t],this)}toString(){return c1(this.values())}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,s)=>t+s,0)}},p(t0,"HashSet"),t0),nt=(ee=class{static andContext(t,s){if(t===null||t===ee.NONE)return s;if(s===null||s===ee.NONE)return t;const n=new vc(t,s);return n.opnds.length===1?n.opnds[0]:n}static orContext(t,s){if(t===null)return s;if(s===null)return t;if(t===ee.NONE||s===ee.NONE)return ee.NONE;const n=new Dc(t,s);return n.opnds.length===1?n.opnds[0]:n}static filterPrecedencePredicates(t){const s=[];return t.values().forEach(n=>{n instanceof ee.PrecedencePredicate&&s.push(n)}),s}hashCode(){const t=new re;return this.updateHashCode(t),t.finish()}evalPrecedence(t,s){return this}},p(ee,"SemanticContext"),ee),vc=(Xe=class extends nt{constructor(s,n){super();l(this,"opnds");const r=new Bt;s instanceof Xe?s.opnds.forEach(o=>{r.add(o)}):r.add(s),n instanceof Xe?n.opnds.forEach(o=>{r.add(o)}):r.add(n);const h=nt.filterPrecedencePredicates(r);if(h.length>0){let o=null;h.forEach(a=>{(o===null||a.precedence{o=o===null?a:nt.andContext(o,a)}),o}toString(){const s=this.opnds.map(n=>n.toString());return(s.length>3?s.slice(3):s).join("&&")}},p(Xe,"AND"),Xe),Dc=(Ze=class extends nt{constructor(s,n){super();l(this,"opnds");const r=new Bt;s instanceof Ze?s.opnds.forEach(o=>{r.add(o)}):r.add(s),n instanceof Ze?n.opnds.forEach(o=>{r.add(o)}):r.add(n);const h=nt.filterPrecedencePredicates(r);if(h.length>0){const o=h.sort((c,u)=>c.compareTo(u)),a=o[o.length-1];r.add(a)}this.opnds=Array.from(r.values())}equals(s){return this===s?!0:s instanceof Ze?Cs(this.opnds,s.opnds):!1}updateHashCode(s){s.update(this.opnds),s.updateWithHashCode(3383313031)}evaluate(s,n){for(const r of this.opnds)if(r.evaluate(s,n))return!0;return!1}evalPrecedence(s,n){let r=!1;const h=[];for(const a of this.opnds){const c=a.evalPrecedence(s,n);if(r||(r=c!==a),c===nt.NONE)return nt.NONE;c!==null&&h.push(c)}if(!r)return this;if(h.length===0)return null;let o=null;return h.forEach(a=>{o=o===null?a:nt.orContext(o,a)}),o}toString(){const s=this.opnds.map(n=>n.toString());return(s.length>3?s.slice(3):s).join("||")}},p(Ze,"OR"),Ze);(i=>{const n=class n extends i{constructor(a,c,u){super();l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=a??-1,this.predIndex=c??-1,this.isCtxDependent=u??!1}evaluate(a,c){const u=this.isCtxDependent?c:null;return a.sempred(u,this.ruleIndex,this.predIndex)}updateHashCode(a){a.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(a){return this===a?!0:a instanceof n?this.ruleIndex===a.ruleIndex&&this.predIndex===a.predIndex&&this.isCtxDependent===a.isCtxDependent:!1}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}};p(n,"Predicate");let t=n;i.Predicate=t;const r=class r extends i{constructor(a){super();l(this,"precedence");this.precedence=a??0}evaluate(a,c){return a.precpred(c,this.precedence)}evalPrecedence(a,c){return a.precpred(c,this.precedence)?i.NONE:null}compareTo(a){return this.precedence-a.precedence}updateHashCode(a){a.update(this.precedence)}equals(a){return this===a?!0:a instanceof r?this.precedence===a.precedence:!1}toString(){return"{"+this.precedence+">=prec}?"}};p(r,"PrecedencePredicate");let s=r;i.PrecedencePredicate=s,i.NONE=new t})(nt||(nt={}));var bc=p(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:null}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:null},"checkParams"),Mc=p(i=>i===null?{state:null,alt:null,context:null,semanticContext:null,reachesIntoOuterContext:0}:{state:i.state??null,alt:i.alt??null,context:i.context??null,semanticContext:i.semanticContext??null,reachesIntoOuterContext:i.reachesIntoOuterContext??0,precedenceFilterSuppressed:i.precedenceFilterSuppressed??!1},"checkConfig"),pt=(C1=class{constructor(t,s){l(this,"state");l(this,"alt");l(this,"context");l(this,"reachesIntoOuterContext");l(this,"precedenceFilterSuppressed",!1);l(this,"semanticContext");this.checkContext(t,s);const n=bc(t),r=Mc(s);this.state=n.state??r.state,this.alt=n.alt??r.alt??0,this.context=n.context??r.context,this.semanticContext=n.semanticContext??r.semanticContext??nt.NONE,this.reachesIntoOuterContext=r.reachesIntoOuterContext??0,this.precedenceFilterSuppressed=r.precedenceFilterSuppressed??!1}hashCode(){const t=new re;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t?!0:t instanceof C1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed:!1}hashCodeForConfigSet(){const t=new re;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t?!0:t instanceof C1?this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext):!1}toString(t,s=!0){let n="";return s&&(n=","+this.alt),"("+this.state+n+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==nt.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}checkContext(t,s){(t.context===null||t.context===void 0)&&(s===null||s.context===null||s.context===void 0)&&(this.context=null)}},p(C1,"ATNConfig"),C1),$=(Et=class{constructor(t,s){l(this,"start");l(this,"stop");this.start=t,this.stop=s}static of(t,s){return t!==s||t<0||t>Et.INTERVAL_POOL_MAX_VALUE?new Et(t,s):(Et.cache[t]===null&&(Et.cache[t]=new Et(t,t)),Et.cache[t])}equals(t){return t instanceof Et?this.start===t.start&&this.stop===t.stop:!1}hashCode(){let t=23;return t=t*31+this.start,t=t*31+this.stop,t}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(t){return Et.of(Math.min(this.start,t.start),Math.max(this.stop,t.stop))}intersection(t){return Et.of(Math.max(this.start,t.start),Math.min(this.stop,t.stop))}differenceNotProperlyContained(t){let s=null;return t.startsBeforeNonDisjoint(this)?s=Et.of(Math.max(this.start,t.stop+1),this.stop):t.startsAfterNonDisjoint(this)&&(s=Et.of(this.start,t.start-1)),s}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop{a.syntaxError(t,s,n,r,h,o)})}reportAmbiguity(t,s,n,r,h,o,a){this.delegates.forEach(c=>{c.reportAmbiguity(t,s,n,r,h,o,a)})}reportAttemptingFullContext(t,s,n,r,h,o){this.delegates.forEach(a=>{a.reportAttemptingFullContext(t,s,n,r,h,o)})}reportContextSensitivity(t,s,n,r,h,o){this.delegates.forEach(a=>{a.reportContextSensitivity(t,s,n,r,h,o)})}},p(s0,"ProxyErrorListener"),s0),Ih=(Jt=class{constructor(){l(this,"interpreter");q(this,We,[Fc.INSTANCE]);q(this,i0,-1)}checkVersion(t){const s="4.13.1";s!==t&&console.error("ANTLR runtime and generated code versions disagree: "+s+"!="+t)}addErrorListener(t){N(this,We).push(t)}removeErrorListeners(){Z(this,We,[])}removeErrorListener(t){for(let s=0;ss.set(n,r)),Jt.ruleIndexMapCache.set(t,s)),s}getTokenType(t){const s=this.getTokenTypeMap().get(t);return s||g.INVALID_TYPE}getErrorHeader(t){var r,h;const s=(r=t.offendingToken)==null?void 0:r.line,n=(h=t.offendingToken)==null?void 0:h.column;return"line "+s+":"+n}getErrorListenerDispatch(){return new Hc(N(this,We))}sempred(t,s,n){return!0}precpred(t,s){return!0}action(t,s,n){}get atn(){return this.interpreter.atn}get state(){return N(this,i0)}set state(t){Z(this,i0,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},We=new WeakMap,i0=new WeakMap,p(Jt,"Recognizer"),l(Jt,"EOF",-1),l(Jt,"tokenTypeMapCache",new Map),l(Jt,"ruleIndexMapCache",new Map),Jt),Vc=(ze=class{constructor(t,s,n,r,h){l(this,"source");l(this,"tokenIndex",-1);l(this,"start",0);l(this,"stop",0);l(this,"type",0);l(this,"line",0);l(this,"column",-1);l(this,"channel",g.DEFAULT_CHANNEL);q(this,Re,null);this.source=t,this.type=s,this.channel=n??g.DEFAULT_CHANNEL,this.start=r,this.stop=h,this.source[0]!==null?(this.line=t[0].line,this.column=t[0]._tokenStartColumn):this.column=-1}get tokenSource(){return this.source[0]??null}get inputStream(){return this.source[1]??null}clone(){const t=new ze(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,Z(t,Re,N(this,Re)),t}cloneWithType(t){const s=new ze(this.source,t,this.channel,this.start,this.stop);return s.tokenIndex=this.tokenIndex,s.line=this.line,s.column=this.column,t===g.EOF&&Z(s,Re,""),s}toString(t){let s="";this.channel>0&&(s=",channel="+this.channel);let n=this.text;n?(n=n.replace(/\n/g,"\\n"),n=n.replace(/\r/g,"\\r"),n=n.replace(/\t/g,"\\t")):n="";let r=String(this.type);return t&&(r=t.vocabulary.getDisplayName(this.type)??""),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+n+"',<"+r+">"+s+","+this.line+":"+this.column+"]"}get text(){if(N(this,Re)!==null)return N(this,Re);const t=this.inputStream;if(t===null)return null;const s=t.size;return this.start"}set text(t){Z(this,Re,t)}setText(t){Z(this,Re,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},Re=new WeakMap,p(ze,"CommonToken"),l(ze,"EMPTY_SOURCE",[null,null]),ze),Bc=(N1=class{constructor(t){l(this,"copyText",!1);this.copyText=t??!1}create(t,s,n,r,h,o,a,c){const u=new Vc(t,s,r,h,o);return u.line=a,u.column=c,n!==null?u.text=n:this.copyText&&t[1]!==null&&(u.text=t[1].getText(h,o)),u}},p(N1,"CommonTokenFactory"),l(N1,"DEFAULT",new N1),N1),m=(ts=class extends Error{constructor(s){super(s.message);l(this,"ctx");l(this,"offendingToken",null);l(this,"offendingState",-1);l(this,"recognizer");l(this,"input");Error.captureStackTrace&&Error.captureStackTrace(this,ts),this.message=s.message,this.recognizer=s.recognizer,this.input=s.input,this.ctx=s.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},p(ts,"RecognitionException"),ts),xs=(n0=class extends m{constructor(s,n,r,h){super({message:"",recognizer:s,input:n,ctx:null});l(this,"startIndex");l(this,"deadEndConfigs");this.startIndex=r,this.deadEndConfigs=h}toString(){let s="";return this.input&&this.startIndex>=0&&this.startIndexthis.data[t],this)}getKeys(){return this.entries().map(t=>t.key)}getValues(){return this.entries().map(t=>t.value)}toString(){return"["+this.entries().map(s=>"{"+s.key+":"+s.value+"}").join(", ")+"]"}get length(){return Object.keys(this.data).map(t=>this.data[t].length,this).reduce((t,s)=>t+s,0)}},p(r0,"HashMap"),r0),pe=(h0=class{constructor(t){l(this,"parent",null);l(this,"symbol");this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return $.INVALID_INTERVAL;const t=this.symbol.tokenIndex;return new $(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){var t;return((t=this.symbol)==null?void 0:t.text)??""}toString(){var t,s;return((t=this.symbol)==null?void 0:t.type)===g.EOF?"":((s=this.symbol)==null?void 0:s.text)??""}toStringTree(){return this.toString()}},p(h0,"TerminalNode"),h0),Ns=(a0=class extends pe{accept(t){return t.visitErrorNode(this)}},p(a0,"ErrorNode"),a0),He=(Ht=class{static toStringTree(t,s,n){s=s??null,n=n??null,n!==null&&(s=n.ruleNames);let r=Ht.getNodeText(t,s);r=yc(r,!1);const h=t.getChildCount();if(h===0)return r;let o="("+r+" ";h>0&&(r=Ht.toStringTree(t.getChild(0),s),o=o.concat(r));for(let a=1;at.getText()).join("")}getAltNumber(){return G.INVALID_ALT_NUMBER}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(...t){return t.length===1?He.toStringTree(this,null,t[0]):He.toStringTree(this,t[0],t[1])}toString(t,s){t=t??null,s=s??null;let n=this,r="[";for(;n!==null&&n!==s;){if(t===null)n.isEmpty()||(r+=n.invokingState);else{const h=n.ruleIndex,o=h>=0&&h{super(...y5);l(this,"start",null);l(this,"stop",null);l(this,"exception",null)};s?t(s,n):t(),this.start=null,this.stop=null}get parent(){return super.parent}set parent(s){super.parent=s}copyFrom(s){this.parent=s.parent,this.invokingState=s.invokingState,this.children=null,this.start=s.start,this.stop=s.stop,s.children&&(this.children=[],s.children.forEach(n=>{n instanceof Ns&&(this.children.push(n),n.parent=this)},this))}enterRule(s){}exitRule(s){}addAnyChild(s){return this.children==null&&(this.children=[]),this.children.push(s),s}addChild(s){return this.addAnyChild(s)}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(s){const n=new pe(s);return this.addAnyChild(n),n.parent=this,n}addErrorNode(s){return s.parent=this,this.addAnyChild(s)}getChild(s,n){if(this.children===null||s<0||s>=this.children.length)return null;if(n){for(const r of this.children)if(r instanceof n){if(s===0)return r;s-=1}return null}else return this.children[s]}getToken(s,n){var r;if(this.children===null||n<0||n>=this.children.length)return null;for(const h of this.children)if(h instanceof pe&&((r=h.symbol)==null?void 0:r.type)===s){if(n===0)return h;n-=1}return null}getTokens(s){var n;if(this.children===null)return[];{const r=[];for(const h of this.children)h instanceof pe&&((n=h.symbol)==null?void 0:n.type)===s&&r.push(h);return r}}getRuleContext(s,n){return this.getChild(s,n)}getRuleContexts(s){if(this.children===null)return[];{const n=[];for(const r of this.children)r instanceof s&&n.push(r);return n}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?$.INVALID_INTERVAL:new $(this.start.tokenIndex,this.stop.tokenIndex)}},p(I1,"ParserRuleContext"),l(I1,"EMPTY",new I1),I1),Rr=p((i,t)=>{if(t==null&&(t=R.EMPTY),t.parent===null||t===R.EMPTY)return z.EMPTY;const s=Rr(i,t.parent),r=i.states[t.invokingState].transitions[0];return Gt.create(s,r.followState.stateNumber)},"predictionContextFromRuleContext"),Oh=p((i,t,s)=>{if(i.isEmpty())return i;let n=s.get(i)||null;if(n!==null)return n;if(n=t.get(i),n!==null)return s.set(i,n),n;let r=!1,h=[];for(let a=0;a{if(i===t)return i;if(i instanceof Gt&&t instanceof Gt)return Qc(i,t,s,n);if(s){if(i instanceof Th)return i;if(t instanceof Th)return t}return i instanceof Gt&&(i=new Fe([i.parent],[i.returnState])),t instanceof Gt&&(t=new Fe([t.parent],[t.returnState])),Gc(i,t,s,n)},"merge"),Gc=p((i,t,s,n)=>{if(n!==null){let d=n.get(i,t);if(d!==null||(d=n.get(t,i),d!==null))return d}let r=0,h=0,o=0,a=new Array(i.returnStates.length+t.returnStates.length).fill(0),c=new Array(i.returnStates.length+t.returnStates.length).fill(null);for(;r{const t=new u1;for(const s of i)s&&(t.containsKey(s)||t.set(s,s));for(let s=0;s{if(n!==null){let h=n.get(i,t);if(h!==null||(h=n.get(t,i),h!==null))return h}const r=jc(i,t,s);if(r!==null)return n!==null&&n.set(i,t,r),r;if(i.returnState===t.returnState){const h=mr(i.parent,t.parent,s,n);if(h===i.parent)return i;if(h===t.parent)return t;const o=Gt.create(h,i.returnState);return n!==null&&n.set(i,t,o),o}else{let h=null;if((i===t||i.parent!==null&&i.parent===t.parent)&&(h=i.parent),h!==null){const u=[i.returnState,t.returnState];i.returnState>t.returnState&&(u[0]=t.returnState,u[1]=i.returnState);const d=[h,h],f=new Fe(d,u);return n!==null&&n.set(i,t,f),f}const o=[i.returnState,t.returnState];let a=[i.parent,t.parent];i.returnState>t.returnState&&(o[0]=t.returnState,o[1]=i.returnState,a=[t.parent,i.parent]);const c=new Fe(a,o);return n!==null&&n.set(i,t,c),c}},"mergeSingletons"),jc=p((i,t,s)=>{if(s){if(i===z.EMPTY||t===z.EMPTY)return z.EMPTY}else{if(i===z.EMPTY&&t===z.EMPTY)return z.EMPTY;if(i===z.EMPTY){const n=[t.returnState,z.EMPTY_RETURN_STATE],r=[t.parent,null];return new Fe(r,n)}else if(t===z.EMPTY){const n=[i.returnState,z.EMPTY_RETURN_STATE],r=[i.parent,null];return new Fe(r,n)}}return null},"mergeRoot"),he=(u0=class{constructor(t){l(this,"data");t?this.data=new Uint32Array(t.map(s=>s>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let s=0,n=this.data[s];const r=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;s>>5]&=~(1<>>5;return s>=this.data.length?!1:(this.data[s]&1<t)return s}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(s<=this.data.length)return;const n=new Uint32Array(s);n.set(this.data),n.fill(0,this.data.length),this.data=n}bitCount(t){return t=t-(t>>1&1431655765),t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t=t+(t>>8),t=t+(t>>16),t&63}},p(u0,"BitSet"),u0),Jc=p(i=>i.hashCodeForConfigSet(),"hashATNConfig"),Xc=p((i,t)=>i===t?!0:i===null||t===null?!1:i.equalsForConfigSet(t),"equalATNConfigs"),$t=(es=class{constructor(t){l(this,"configs",[]);l(this,"hasSemanticContext",!1);l(this,"dipsIntoOuterContext",!1);l(this,"fullCtx");l(this,"uniqueAlt",0);l(this,"configLookup",new Bt(Jc,Xc));l(this,"conflictingAlts",null);l(this,"readOnly",!1);l(this,"cachedHashCode",-1);this.fullCtx=t??!0}add(t,s){if(s===void 0&&(s=null),this.readOnly)throw new Error("This set is readonly");t.semanticContext!==nt.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);const n=this.configLookup.add(t);if(n===t)return this.cachedHashCode=-1,this.configs.push(t),!0;const r=!this.fullCtx,h=mr(n.context,t.context,r,s);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=h,!0}getStates(){const t=new Bt;for(const s of this.configs)t.add(s.state);return t}getPredicates(){const t=[];for(const s of this.configs)s.semanticContext!==nt.NONE&&t.push(s.semanticContext);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.length!==0)for(const s of this.configs)s.context=t.getCachedContext(s.context)}addAll(t){for(const s of t)this.add(s,null);return!1}equals(t){return this===t||t instanceof es&&Cs(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){const t=new re;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}containsFast(t){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.has(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.cachedHashCode=-1,this.configLookup=new Bt}setReadonly(t){this.readOnly=t,t&&(this.configLookup=new Bt)}toString(){return c1(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==G.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}getAlts(){let t=new he;for(let s of this.configs)t.set(s.alt);return t}},p(es,"ATNConfigSet"),es),_e=(ss=class{constructor(t){l(this,"stateNumber",-1);l(this,"configs",new $t);l(this,"edges",null);l(this,"isAcceptState",!1);l(this,"prediction",-1);l(this,"lexerActionExecutor",null);l(this,"requiresFullContext",!1);l(this,"predicates",null);t&&(typeof t=="number"?this.stateNumber=t:this.configs=t)}hashCode(){const t=new re;return t.update(this.configs.configs),t.finish()}equals(t){return this===t?!0:t instanceof ss?this.configs===null?t.configs===null:this.configs.equals(t.configs):!1}toString(){let t="";return t+=this.stateNumber,t+=":",t+=this.configs?this.configs.toString():"",this.isAcceptState&&(t+="=>",this.predicates?t+=c1(this.predicates):t+=this.prediction),t.toString()}},p(ss,"DFAState"),ss);(i=>{const s=class s{constructor(r,h){l(this,"pred");l(this,"alt");this.alt=h,this.pred=r}toString(){return`(${this.pred}, ${this.alt})`}};p(s,"PredPrediction");let t=s;i.PredPrediction=t})(_e||(_e={}));var ae=(is=class{constructor(t,s){l(this,"atn");l(this,"sharedContextCache",null);return this.atn=t,this.sharedContextCache=s,this}clearDFA(){throw new Error("This ATN simulator does not support clearing the DFA.")}getCachedContext(t){if(this.sharedContextCache===null)return t;const s=new u1;return Oh(t,this.sharedContextCache,s)}getSharedContextCache(){return this.sharedContextCache}},p(is,"ATNSimulator"),l(is,"ERROR",new _e(2147483647)),is),kh=(l0=class extends $t{constructor(){super(),this.configLookup=new Bt}},p(l0,"OrderedATNConfigSet"),l0),oe=(Pe=class{constructor(){l(this,"atn");l(this,"stateNumber");l(this,"ruleIndex");l(this,"epsilonOnlyTransitions");l(this,"nextTokenWithinRule");l(this,"transitions");this.atn=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}get stateType(){return Pe.INVALID_STATE_NUMBER}toString(){return`${this.stateNumber}`}hashCode(){return this.stateNumber}equals(t){return t instanceof Pe?this.stateNumber===t.stateNumber:!1}isNonGreedyExitState(){return!1}addTransition(t,s){s===void 0&&(s=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),s===-1?this.transitions.push(t):this.transitions.splice(s,1,t)}},p(Pe,"ATNState"),l(Pe,"INVALID_STATE_NUMBER",-1),Pe),B={INVALID_TYPE:0,BASIC:1,RULE_START:2,BLOCK_START:3,PLUS_BLOCK_START:4,STAR_BLOCK_START:5,TOKEN_START:6,RULE_STOP:7,BLOCK_END:8,STAR_LOOP_BACK:9,STAR_LOOP_ENTRY:10,PLUS_LOOP_BACK:11,LOOP_END:12},St=(E0=class extends oe{get stateType(){return B.RULE_STOP}},p(E0,"RuleStopState"),E0),l1=(d0=class extends oe{constructor(){super(...arguments);l(this,"decision",-1);l(this,"nonGreedy",!1)}},p(d0,"DecisionState"),d0),ce=(ns=class extends pt{constructor(s,n){super(s,n);l(this,"lexerActionExecutor");l(this,"passedThroughNonGreedyDecision");return this.lexerActionExecutor=s.lexerActionExecutor??(n==null?void 0:n.lexerActionExecutor)??null,this.passedThroughNonGreedyDecision=n!==null?this.checkNonGreedyDecision(n,this.state):!1,this}updateHashCode(s){s.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(s){return this===s||s instanceof ns&&this.passedThroughNonGreedyDecision===s.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(s.lexerActionExecutor):!s.lexerActionExecutor)&&super.equals(s)}hashCodeForConfigSet(){return this.hashCode()}equalsForConfigSet(s){return this.equals(s)}checkNonGreedyDecision(s,n){return s.passedThroughNonGreedyDecision||n instanceof l1&&n.nonGreedy}},p(ns,"LexerATNConfig"),ns),ue=(f0=class{constructor(t){l(this,"actionType");l(this,"isPositionDependent");this.actionType=t,this.isPositionDependent=!1}hashCode(){const t=new re;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}},p(f0,"LexerAction"),f0),pr=(rs=class extends ue{constructor(s,n){super(n.actionType);l(this,"offset");l(this,"action");this.offset=s,this.action=n,this.isPositionDependent=!0}execute(s){this.action.execute(s)}updateHashCode(s){s.update(this.actionType,this.offset,this.action)}equals(s){return this===s?!0:s instanceof rs?this.offset===s.offset&&this.action===s.action:!1}},p(rs,"LexerIndexedCustomAction"),rs),Zc=(Oe=class extends ue{constructor(s){super(-1);l(this,"lexerActions");l(this,"cachedHashCode");return this.lexerActions=s===null?[]:s,this.cachedHashCode=re.hashStuff(s),this}static append(s,n){if(s===null)return new Oe([n]);const r=s.lexerActions.concat([n]);return new Oe(r)}fixOffsetBeforeMatch(s){let n=null;for(let r=0;r",t+=this.getStateString(o),t+=` +`}}}}return t}getEdgeLabel(t){return`${this.vocabulary.getDisplayName(t-1)}`}getStateString(t){const s=t.stateNumber,n=(t.isAcceptState?":":"")+"s"+s+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?`${n}=>${t.predicates.toString()}`:`${n}=>${t.prediction}`:`${n}`}},p(W0,"DFASerializer"),W0),le=(It=class{constructor(t,s,n){l(this,"maxTokenType");l(this,"literalNames");l(this,"symbolicNames");l(this,"displayNames");this.literalNames=t??It.EMPTY_NAMES,this.symbolicNames=s??It.EMPTY_NAMES,this.displayNames=n??It.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(t){if(t==null||t.length===0)return It.EMPTY_VOCABULARY;const s=[...t],n=[...t];for(let r=0;r0){const o=h.charAt(0);if(o==="'"){n[r]=null;continue}else if(o.toUpperCase()===o){s[r]=null;continue}}s[r]=null,n[r]=null}}return new It(s,n,t)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t"'"+String.fromCharCode(s)+"'")}},p(R0,"LexerDFASerializer"),R0),Ve=(m0=class extends l1{constructor(){super();l(this,"loopBackState");l(this,"precedenceRuleDecision");this.precedenceRuleDecision=!1}get stateType(){return B.STAR_LOOP_ENTRY}},p(m0,"StarLoopEntryState"),m0),E1=(p0=class{constructor(t,s){l(this,"states",new Bt);l(this,"s0",null);l(this,"decision");l(this,"atnStartState");l(this,"precedenceDfa");l(this,"isPrecedenceDfa",()=>this.precedenceDfa);l(this,"getPrecedenceStartState",t=>{if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");return!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length?null:this.s0.edges[t]});l(this,"setPrecedenceStartState",(t,s)=>{var n;if(!this.isPrecedenceDfa())throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(t<0||!((n=this.s0)!=null&&n.edges))){if(t>=this.s0.edges.length){const r=this.s0.edges.length;this.s0.edges.length=t+1,this.s0.edges.fill(null,r,t)}this.s0.edges[t]=s}});this.atnStartState=t,this.decision=s??0;let n=!1;if(t instanceof Ve&&t.precedenceRuleDecision){n=!0;const r=new _e;r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}this.precedenceDfa=n}setPrecedenceDfa(t){if(t!==this.isPrecedenceDfa())throw new Error("The precedenceDfa field cannot change after a DFA is constructed.")}getStates(){const t=this.states.values();return t.sort((s,n)=>s.stateNumber-n.stateNumber),t}toString(t){return t?this.s0===null?"":new Sh(this,t).toString()??"":this.toString(le.EMPTY_VOCABULARY)}toLexerString(){return this.s0===null?"":new zc(this).toString()??""}},p(p0,"DFA"),p0),d1=(et=class extends ae{constructor(s,n,r,h){super(n,h);l(this,"decisionToDFA");l(this,"recog",null);l(this,"startIndex",-1);l(this,"line",1);l(this,"column",0);l(this,"mode",Yt.DEFAULT_MODE);l(this,"prevAccept",new et.SimState);this.decisionToDFA=r,this.recog=s}copyState(s){this.column=s.column,this.line=s.line,this.mode=s.mode,this.startIndex=s.startIndex}match(s,n){this.mode=n;const r=s.mark();try{this.startIndex=s.index,this.prevAccept.reset();const h=this.decisionToDFA[n];return h.s0===null?this.matchATN(s):this.execATN(s,h.s0)}finally{s.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=Yt.DEFAULT_MODE}getDFA(s){return this.decisionToDFA[s]}getText(s){return s.getText(this.startIndex,s.index-1)}consume(s){s.LA(1)===` +`.charCodeAt(0)?(this.line+=1,this.column=0):this.column+=1,s.consume()}getTokenName(s){return s===-1?"EOF":"'"+String.fromCharCode(s)+"'"}clearDFA(){for(let s=0;set.MAX_DFA_EDGE)return null;let r=s.edges[n-et.MIN_DFA_EDGE];return r===void 0&&(r=null),et.debug&&r!==null&&console.log("reuse state "+s.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(s,n,r){const h=new kh;return this.getReachableConfigSet(s,n.configs,h,r),h.items.length===0?(h.hasSemanticContext||this.addDFAEdge(n,r,ae.ERROR),ae.ERROR):this.addDFAEdge(n,r,null,h)}failOrAccept(s,n,r,h){if(s.dfaState!==null){const o=s.dfaState.lexerActionExecutor;return this.accept(n,o,this.startIndex,s.index,s.line,s.column),s.dfaState.prediction}else{if(h===g.EOF&&n.index===this.startIndex)return g.EOF;throw new xs(this.recog,n,this.startIndex,r)}}getReachableConfigSet(s,n,r,h){let o=G.INVALID_ALT_NUMBER;for(const a of n.items){const c=a.alt===o;if(!(c&&a.passedThroughNonGreedyDecision)){et.debug&&console.log(`testing %s at %s +`,this.getTokenName(h),a.toString(this.recog,!0));for(const u of a.state.transitions){const d=this.getReachableTarget(u,h);if(d!==null){let f=a.lexerActionExecutor;f!==null&&(f=f.fixOffsetBeforeMatch(s.index-this.startIndex));const W=h===g.EOF,K=new ce({state:d,lexerActionExecutor:f},a);this.closure(s,K,r,c,!0,W)&&(o=a.alt)}}}}}accept(s,n,r,h,o,a){et.debug&&console.log(`ACTION %s +`,n),s.seek(h),this.line=o,this.column=a,n!==null&&this.recog!==null&&n.execute(this.recog,s,r)}getReachableTarget(s,n){return s.matches(n,0,Yt.MAX_CHAR_VALUE)?s.target:null}computeStartState(s,n){const r=z.EMPTY,h=new kh;for(let o=0;oet.MAX_DFA_EDGE||(et.debug&&console.log("EDGE "+s+" -> "+r+" upon "+n),s.edges===null&&(s.edges=new Array(et.MAX_DFA_EDGE-et.MIN_DFA_EDGE+1),s.edges.fill(null)),s.edges[n-et.MIN_DFA_EDGE]=r),r}addDFAState(s){const n=new _e(s);let r=null;for(const c of s.items)if(c.state instanceof St){r=c;break}r!==null&&(n.isAcceptState=!0,n.lexerActionExecutor=r.lexerActionExecutor,n.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);const h=this.decisionToDFA[this.mode],o=h.states.get(n);if(o!==null)return o;const a=n;return a.stateNumber=h.states.length,s.setReadonly(!0),a.configs=s,h.states.add(a),a}},p(et,"LexerATNSimulator"),l(et,"MIN_DFA_EDGE",0),l(et,"MAX_DFA_EDGE",127),l(et,"debug",!1),l(et,"dfa_debug",!1),et);(i=>{const s=class s{constructor(){l(this,"index",-1);l(this,"line",0);l(this,"column",-1);l(this,"dfaState",null)}reset(){this.index=-1,this.line=0,this.column=-1,this.dfaState=null}};p(s,"SimState");let t=s;i.SimState=t})(d1||(d1={}));var Yt=(Kt=class extends Ih{constructor(s){super();l(this,"_input");l(this,"_token",null);l(this,"_tokenStartCharIndex",-1);l(this,"_tokenStartLine",0);l(this,"_tokenStartColumn",0);l(this,"_hitEOF",!1);l(this,"_channel",0);l(this,"_type",0);l(this,"_modeStack",[]);l(this,"_mode",Kt.DEFAULT_MODE);l(this,"_text",null);l(this,"_factory");this._input=s,this._factory=Bc.DEFAULT}reset(s=!0){s&&this._input.seek(0),this._token=null,this._type=g.INVALID_TYPE,this._channel=g.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=Kt.DEFAULT_MODE,this._modeStack=[],this.interpreter.reset()}nextToken(){if(this._input===null)throw new Error("nextToken requires a non-null input stream.");const s=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=g.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this.interpreter.column,this._tokenStartLine=this.interpreter.line,this._text=null;let n=!1;for(;;){this._type=g.INVALID_TYPE;let r=Kt.SKIP;try{r=this.interpreter.match(this._input,this._mode)}catch(h){if(h instanceof xs)this.notifyListeners(h),this.recover(h);else throw h}if(this._input.LA(1)===g.EOF&&(this._hitEOF=!0),this._type===g.INVALID_TYPE&&(this._type=r),this._type===Kt.SKIP){n=!0;break}if(this._type!==Kt.MORE)break}if(!n)return this._token===null&&this.emit(),this._token}}finally{this._input.release(s)}}skip(){this._type=Kt.SKIP}more(){this._type=Kt.MORE}mode(s){this._mode=s}pushMode(s){d1.debug&&console.log("pushMode "+s),this._modeStack.push(this._mode),this.mode(s)}popMode(){if(this._modeStack.length===0)throw new Error("Empty Stack");return d1.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.mode(this._modeStack.pop()),this._mode}emitToken(s){this._token=s}emit(){const s=this._factory.create([this,this._input],this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(s),s}emitEOF(){const s=this.column,n=this.line,r=this._factory.create([this,this._input],g.EOF,null,g.DEFAULT_CHANNEL,this._input.index,this._input.index-1,n,s);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){const s=[];let n=this.nextToken();for(;n.type!==g.EOF;)s.push(n),n=this.nextToken();return s}notifyListeners(s){const n=this._tokenStartCharIndex,r=this._input.index,h=this._input.getText(n,r),o="token recognition error at: '"+this.getErrorDisplay(h)+"'";this.getErrorListenerDispatch().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,o,s)}getErrorDisplay(s){return s}getErrorDisplayForChar(s){return s.charCodeAt(0)===g.EOF?"":s===` +`?"\\n":s===" "?"\\t":s==="\r"?"\\r":s}getCharErrorDisplay(s){return"'"+this.getErrorDisplayForChar(s)+"'"}recover(s){this._input.LA(1)!==g.EOF&&(s instanceof xs?this.interpreter.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(s){this.reset(!1),this._input=s}set tokenFactory(s){this._factory=s}get tokenFactory(){return this._factory}get sourceName(){return this._input.getSourceName()}get type(){return this._type}set type(s){this._type=s}get line(){return this.interpreter.line}set line(s){this.interpreter.line=s}get column(){return this.interpreter.column}set column(s){this.interpreter.column=s}get text(){return this._text!==null?this._text:this.interpreter.getText(this._input)}set text(s){this._text=s}},p(Kt,"Lexer"),l(Kt,"DEFAULT_MODE",0),l(Kt,"MORE",-2),l(Kt,"SKIP",-3),l(Kt,"DEFAULT_TOKEN_CHANNEL",g.DEFAULT_CHANNEL),l(Kt,"HIDDEN",g.HIDDEN_CHANNEL),l(Kt,"MIN_CHAR_VALUE",0),l(Kt,"MAX_CHAR_VALUE",1114111),Kt),Nt=(ut=class{constructor(t){l(this,"intervals",[]);l(this,"readOnly",!1);t&&this.addSet(t)}static of(t,s){const n=new ut;return n.addRange(t,s),n}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get minElement(){return this.intervals.length===0?g.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?g.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}get isNil(){return this.intervals.length===0}clear(){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");this.intervals=[]}addOne(t){this.addInterval(new $(t,t))}addRange(t,s){this.addInterval(new $(t,s))}addInterval(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(this.intervals.length===0)this.intervals.push(t);else{for(let s=0;sthis.addInterval(s),this),this}complement(t,s){if(!t)return new ut;const n=new ut;if(t instanceof ut){if(t.isNil)return new ut;n.addSet(t)}else n.addInterval(new $(t,s??0));return n.subtract(this)}or(t){const s=new ut;return s.addSet(this),t.forEach(n=>s.addSet(n)),s}and(t){if(t.isNil)return new ut;const s=this.intervals,n=t.intervals;let r;const h=s.length,o=n.length;let a=0,c=0;for(;ah.stop){n++;continue}let a=null,c=null;if(o.start>h.start&&(a=new $(h.start,o.start-1)),o.stopt)r=h-1;else return!0}return!1}removeRange(t){if(this.readOnly)throw new Error("can't alter readonly IntervalSet");if(t.start===t.stop)this.removeOne(t.start);else if(this.intervals!==null){let s=0;for(const n of this.intervals){if(t.stop<=n.start)return;if(t.start>n.start&&t.stop=n.stop?(this.intervals.splice(s,1),s=s-1):t.start1&&(s+="{");let n=!1,r;t instanceof le?r=t:Array.isArray(t)?r=le.fromTokenNames(t):n=t??!1;for(let h=0;h":n?s+="'"+String.fromCodePoint(a)+"'":r?s+=this.elementName(r,a):s+=a;else if(n)s+="'"+String.fromCodePoint(a)+"'..'"+String.fromCodePoint(c)+"'";else if(r)for(let u=a;u<=c;++u)u>a&&(s+=", "),s+=this.elementName(r,u);else s+=a+".."+c;h1&&(s+="}"),s}toArray(){const t=[];for(const s of this.intervals)for(let n=s.start;n<=s.stop;n++)t.push(n);return t}get length(){let t=0;if(this.intervals.length===1){const n=this.intervals[0];return n.stop-n.start+1}for(const n of this.intervals)t+=n.length;return t}isReadonly(){return this.readOnly}setReadonly(t){if(this.readOnly&&!t)throw new Error("can't alter readonly IntervalSet");this.readOnly=t}elementName(t,s){return s===g.EOF?"":s===g.EPSILON?"":t.getDisplayName(s)}},p(ut,"IntervalSet"),l(ut,"COMPLETE_CHAR_SET",ut.of(Yt.MIN_CHAR_VALUE,Yt.MAX_CHAR_VALUE)),l(ut,"EMPTY_SET",new ut),ut.COMPLETE_CHAR_SET.readOnly=!0,ut.EMPTY_SET.readOnly=!0,ut),Kn=(_0=class extends Me{constructor(s,n,r,h){super(s);l(this,"ruleIndex");l(this,"precedence");l(this,"followState");this.ruleIndex=n,this.precedence=r,this.followState=h}get isEpsilon(){return!0}get serializationType(){return v.RULE}matches(s,n,r){return!1}},p(_0,"RuleTransition"),_0),_r=(K0=class extends Me{constructor(s,n){super(s);q(this,qe,void 0);n!=null?Z(this,qe,n):(Z(this,qe,new Nt),N(this,qe).addOne(g.INVALID_TYPE))}get label(){return N(this,qe)}get serializationType(){return v.SET}matches(s,n,r){return this.label.contains(s)}toString(){return N(this,qe).toString()}},qe=new WeakMap,p(K0,"SetTransition"),K0),Kr=(A0=class extends _r{constructor(t,s){super(t,s)}get serializationType(){return v.NOT_SET}matches(t,s,n){return t>=s&&t<=n&&!super.matches(t,s,n)}toString(){return"~"+super.toString()}},p(A0,"NotSetTransition"),A0),yh=(g0=class extends Me{constructor(t){super(t)}get serializationType(){return v.WILDCARD}matches(t,s,n){return t>=s&&t<=n}toString(){return"."}},p(g0,"WildcardTransition"),g0),$c=(t1=class{constructor(t){l(this,"atn");this.atn=t}getDecisionLookahead(t){if(t===null)return null;const s=t.transitions.length,n=new Array(s);n.fill(null);for(let r=0;r=this.states.length)throw new Error("Invalid state number.");const n=this.states[t];let r=this.nextTokens(n);if(!r.contains(g.EPSILON))return r;let h=s;const o=new Nt;for(o.addSet(r),o.removeOne(g.EPSILON);h!==null&&h.invokingState>=0&&r.contains(g.EPSILON);){const c=this.states[h.invokingState].transitions[0];r=this.nextTokens(c.followState),o.addSet(r),o.removeOne(g.EPSILON),h=h.parent}return r.contains(g.EPSILON)&&o.addOne(g.EOF),o}nextTokens(t,s){return s===void 0?(t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokens(t,null),t.nextTokenWithinRule.setReadonly(!0)),t.nextTokenWithinRule):new $c(this).LOOK(t,null,s)}},p(hs,"ATN"),l(hs,"INVALID_ALT_NUMBER",0),hs),Uh=(e1=class{constructor(t){l(this,"readOnly",!1);l(this,"verifyATN");l(this,"generateRuleBypassTransitions");this.readOnly=!1,this.verifyATN=t==null?!0:t.verifyATN,this.generateRuleBypassTransitions=t==null?!1:t.generateRuleBypassTransitions}},p(e1,"ATNDeserializationOptions"),l(e1,"defaultOptions",new e1),e1.defaultOptions.readOnly=!0,e1),Ls={LEXER:0,PARSER:1},wh=(C0=class extends oe{get stateType(){return B.BASIC}},p(C0,"BasicState"),C0),H1=(x0=class extends l1{constructor(){super();l(this,"endState");this.endState=null}},p(x0,"BlockStartState"),x0),Ar=(N0=class extends oe{constructor(){super(...arguments);l(this,"startState",null)}get stateType(){return B.BLOCK_END}},p(N0,"BlockEndState"),N0),f1=(L0=class extends oe{constructor(){super(...arguments);l(this,"loopBackState",null)}get stateType(){return B.LOOP_END}},p(L0,"LoopEndState"),L0),vh=(I0=class extends oe{constructor(){super();l(this,"stopState");l(this,"isLeftRecursiveRule");l(this,"isPrecedenceRule");this.isPrecedenceRule=!1}get stateType(){return B.RULE_START}},p(I0,"RuleStartState"),I0),Pc=(T0=class extends l1{get stateType(){return B.TOKEN_START}},p(T0,"TokensStartState"),T0),Dh=(O0=class extends l1{get stateType(){return B.PLUS_LOOP_BACK}},p(O0,"PlusLoopbackState"),O0),gr=(k0=class extends oe{get stateType(){return B.STAR_LOOP_BACK}},p(k0,"StarLoopbackState"),k0),Cr=(S0=class extends H1{constructor(){super(...arguments);l(this,"loopBackState")}get stateType(){return B.PLUS_BLOCK_START}},p(S0,"PlusBlockStartState"),S0),xr=(y0=class extends H1{get stateType(){return B.STAR_BLOCK_START}},p(y0,"StarBlockStartState"),y0),bh=(U0=class extends H1{get stateType(){return B.BLOCK_START}},p(U0,"BasicBlockStartState"),U0),An=(v0=class extends Me{constructor(s,n){super(s);l(this,"labelValue");q(this,w0,void 0);this.labelValue=n,Z(this,w0,Nt.of(n,n))}get label(){return N(this,w0)}matches(s,n,r){return this.labelValue===s}get serializationType(){return v.ATOM}toString(){return this.labelValue.toString()}},w0=new WeakMap,p(v0,"AtomTransition"),v0),Mh=(b0=class extends Me{constructor(s,n,r){super(s);l(this,"start");l(this,"stop");q(this,D0,new Nt);this.start=n,this.stop=r,N(this,D0).addRange(n,r)}get label(){return N(this,D0)}get serializationType(){return v.RANGE}matches(s,n,r){return s>=this.start&&s<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},D0=new WeakMap,p(b0,"RangeTransition"),b0),Is=(F0=class extends Me{constructor(s,n=-1){super(s);q(this,M0,void 0);Z(this,M0,n)}get isEpsilon(){return!0}matches(s,n,r){return!1}get outermostPrecedenceReturn(){return N(this,M0)}get serializationType(){return v.EPSILON}toString(){return"epsilon"}},M0=new WeakMap,p(F0,"EpsilonTransition"),F0),Fh=(H0=class extends fr{constructor(s,n,r,h){super(s);l(this,"ruleIndex");l(this,"predIndex");l(this,"isCtxDependent");this.ruleIndex=n,this.predIndex=r,this.isCtxDependent=h}get isEpsilon(){return!0}matches(s,n,r){return!1}get serializationType(){return v.PREDICATE}getPredicate(){return new nt.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},p(H0,"PredicateTransition"),H0),qc=(V0=class extends fr{constructor(s,n){super(s);l(this,"precedence");this.precedence=n}get isEpsilon(){return!0}matches(s,n,r){return!1}getPredicate(){return new nt.PrecedencePredicate(this.precedence)}get serializationType(){return v.PRECEDENCE}toString(){return this.precedence+" >= _p"}},p(V0,"PrecedencePredicateTransition"),V0),Lt={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},t3=(T1=class extends ue{constructor(){super(Lt.SKIP)}execute(t){t.skip()}toString(){return"skip"}},p(T1,"LexerSkipAction"),l(T1,"INSTANCE",new T1),T1),e3=(as=class extends ue{constructor(s){super(Lt.CHANNEL);l(this,"channel");this.channel=s}execute(s){s._channel=this.channel}updateHashCode(s){s.update(this.actionType,this.channel)}equals(s){return this===s?!0:s instanceof as?this.channel===s.channel:!1}toString(){return"channel("+this.channel+")"}},p(as,"LexerChannelAction"),as),s3=(os=class extends ue{constructor(s,n){super(Lt.CUSTOM);l(this,"ruleIndex");l(this,"actionIndex");this.ruleIndex=s,this.actionIndex=n,this.isPositionDependent=!0}execute(s){s.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(s){s.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(s){return this===s?!0:s instanceof os?this.ruleIndex===s.ruleIndex&&this.actionIndex===s.actionIndex:!1}},p(os,"LexerCustomAction"),os),i3=(O1=class extends ue{constructor(){super(Lt.MORE)}execute(t){t.more()}toString(){return"more"}},p(O1,"LexerMoreAction"),l(O1,"INSTANCE",new O1),O1),n3=(cs=class extends ue{constructor(s){super(Lt.TYPE);l(this,"type");this.type=s}execute(s){s._type=this.type}updateHashCode(s){s.update(this.actionType,this.type)}equals(s){return this===s?!0:s instanceof cs?this.type===s.type:!1}toString(){return"type("+this.type+")"}},p(cs,"LexerTypeAction"),cs),r3=(us=class extends ue{constructor(s){super(Lt.PUSH_MODE);l(this,"mode");this.mode=s}execute(s){s.pushMode(this.mode)}updateHashCode(s){s.update(this.actionType,this.mode)}equals(s){return this===s?!0:s instanceof us?this.mode===s.mode:!1}toString(){return"pushMode("+this.mode+")"}},p(us,"LexerPushModeAction"),us),h3=(k1=class extends ue{constructor(){super(Lt.POP_MODE)}execute(t){t.popMode()}toString(){return"popMode"}},p(k1,"LexerPopModeAction"),l(k1,"INSTANCE",new k1),k1),a3=(ls=class extends ue{constructor(s){super(Lt.MODE);l(this,"mode");this.mode=s}execute(s){s.mode(this.mode)}updateHashCode(s){s.update(this.actionType,this.mode)}equals(s){return this===s?!0:s instanceof ls?this.mode===s.mode:!1}toString(){return"mode("+this.mode+")"}},p(ls,"LexerModeAction"),ls),Nr=p((i,t)=>{const s=new Array(i-1);return s[i-1]=t,s.map(()=>t)},"initArray"),Ts=(s1=class{constructor(t){l(this,"data",[]);l(this,"pos",0);l(this,"deserializationOptions");l(this,"stateFactories",null);l(this,"actionFactories",null);t||(t=Uh.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){this.reset(t),this.checkVersion();const s=this.readATN();this.readStates(s),this.readRules(s),this.readModes(s);const n=[];return this.readSets(s,n),this.readEdges(s,n),this.readDecisions(s),this.readLexerActions(s),this.markPrecedenceDecisions(s),this.verifyATN(s),this.deserializationOptions.generateRuleBypassTransitions&&s.grammarType===Ls.PARSER&&(this.generateRuleBypassTransitions(s),this.verifyATN(s)),s}reset(t){return this.data=t,this.pos=0,!1}checkVersion(){const t=this.readInt();if(t!==s1.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+t+" (expected "+s1.SERIALIZED_VERSION+").")}readATN(){const t=this.readInt(),s=this.readInt();return new G(t,s)}readStates(t){let s,n;const r=[],h=[],o=this.readInt();for(let u=0;u0;)h.addTransition(u.transitions[d-1]),u.transitions=u.transitions.slice(-1);t.ruleToStartState[s].addTransition(new Is(h)),c&&o.addTransition(new Is(c));const f=new wh;t.addState(f),f.addTransition(new An(o,t.ruleToTokenType[s])),h.addTransition(new Is(f))}stateIsEndStateFor(t,s){if(t.ruleIndex!==s||!(t instanceof Ve))return null;const n=t.transitions[t.transitions.length-1].target;return n instanceof f1&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof St?t:null}markPrecedenceDecisions(t){for(const s of t.states)if(s instanceof Ve&&t.ruleToStartState[s.ruleIndex].isPrecedenceRule){const n=s.transitions[s.transitions.length-1].target;n instanceof f1&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof St&&(s.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN){for(const s of t.states)if(s!==null)if(this.checkCondition(s.epsilonOnlyTransitions||s.transitions.length<=1),s instanceof Cr)this.checkCondition(s.loopBackState!==null);else if(s instanceof Ve)if(this.checkCondition(s.loopBackState!==null),this.checkCondition(s.transitions.length===2),s.transitions[0].target instanceof xr)this.checkCondition(s.transitions[1].target instanceof f1),this.checkCondition(!s.nonGreedy);else if(s.transitions[0].target instanceof f1)this.checkCondition(s.transitions[1].target instanceof xr),this.checkCondition(s.nonGreedy);else throw new Error("IllegalState");else s instanceof gr?(this.checkCondition(s.transitions.length===1),this.checkCondition(s.transitions[0].target instanceof Ve)):s instanceof f1?this.checkCondition(s.loopBackState!==null):s instanceof vh?this.checkCondition(s.stopState!==null):s instanceof H1?this.checkCondition(s.endState!==null):s instanceof Ar?this.checkCondition(s.startState!==null):s instanceof l1?this.checkCondition(s.transitions.length<=1||s.decision>=0):this.checkCondition(s.transitions.length<=1||s instanceof St)}}checkCondition(t,s){if(!t)throw s==null&&(s="IllegalState"),s}readInt(){return this.data[this.pos++]}edgeFactory(t,s,n,r,h,o,a){const c=t.states[n];switch(s){case v.EPSILON:return new Is(c);case v.RANGE:return o!==0?new Mh(c,g.EOF,h):new Mh(c,r,h);case v.RULE:return new Kn(t.states[r],h,o,c);case v.PREDICATE:return new Fh(c,r,h,o!==0);case v.PRECEDENCE:return new qc(c,r);case v.ATOM:return o!==0?new An(c,g.EOF):new An(c,r);case v.ACTION:return new _h(c,r,h,o!==0);case v.SET:return new _r(c,a[r]);case v.NOT_SET:return new Kr(c,a[r]);case v.WILDCARD:return new yh(c);default:throw new Error("The specified transition type: "+s+" is not valid.")}}stateFactory(t,s){var n,r;if(this.stateFactories===null){const h=[];h[B.INVALID_TYPE]=null,h[B.BASIC]=()=>new wh,h[B.RULE_START]=()=>new vh,h[B.BLOCK_START]=()=>new bh,h[B.PLUS_BLOCK_START]=()=>new Cr,h[B.STAR_BLOCK_START]=()=>new xr,h[B.TOKEN_START]=()=>new Pc,h[B.RULE_STOP]=()=>new St,h[B.BLOCK_END]=()=>new Ar,h[B.STAR_LOOP_BACK]=()=>new gr,h[B.STAR_LOOP_ENTRY]=()=>new Ve,h[B.PLUS_LOOP_BACK]=()=>new Dh,h[B.LOOP_END]=()=>new f1,this.stateFactories=h}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw new Error("The specified state type "+t+" is not valid.");{const h=((r=(n=this.stateFactories)[t])==null?void 0:r.call(n))??null;if(h!==null)return h.ruleIndex=s,h}return null}lexerActionFactory(t,s,n){if(this.actionFactories===null){const r=[];r[Lt.CHANNEL]=(h,o)=>new e3(h),r[Lt.CUSTOM]=(h,o)=>new s3(h,o),r[Lt.MODE]=(h,o)=>new a3(h),r[Lt.MORE]=(h,o)=>i3.INSTANCE,r[Lt.POP_MODE]=(h,o)=>h3.INSTANCE,r[Lt.PUSH_MODE]=(h,o)=>new r3(h),r[Lt.SKIP]=(h,o)=>t3.INSTANCE,r[Lt.TYPE]=(h,o)=>new n3(h),this.actionFactories=r}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw new Error("The specified lexer action type "+t+" is not valid.");return this.actionFactories[t](s,n)}},p(s1,"ATNDeserializer"),l(s1,"SERIALIZED_VERSION",4),s1),J=(B0=class extends m{constructor(s,n=null,r=null,h=null,o=null,a=null){a=a??s.context,h=h??s.getCurrentToken(),r=r??s.getCurrentToken(),n=n??s.inputStream;super({message:"",recognizer:s,input:n,ctx:a});l(this,"deadEndConfigs",null);l(this,"startToken");this.deadEndConfigs=o,this.startToken=r,this.offendingToken=h}},p(B0,"NoViableAltException"),B0),o3=(G0=class{constructor(){l(this,"cacheMap");this.cacheMap=new u1}get(t,s){const n=this.cacheMap.get(t)??null;return n===null?null:n.get(s)??null}set(t,s,n){let r=this.cacheMap.get(t)??null;r===null&&(r=new u1,this.cacheMap.set(t,r)),r.set(s,n)}},p(G0,"DoubleDict"),G0),_t=(Tt=class{static hasSLLConflictTerminatingPrediction(t,s){if(Tt.allConfigsInRuleStopStates(s))return!0;if(t===Tt.SLL&&s.hasSemanticContext){const r=new $t;for(let h of s.items)h=new pt({semanticContext:nt.NONE},h),r.add(h);s=r}const n=Tt.getConflictingAltSubsets(s);return Tt.hasConflictingAltSet(n)&&!Tt.hasStateAssociatedWithOneAlt(s)}static hasConfigInRuleStopState(t){for(const s of t.items)if(s.state instanceof St)return!0;return!1}static allConfigsInRuleStopStates(t){for(const s of t.items)if(!(s.state instanceof St))return!1;return!0}static resolvesToJustOneViableAlt(t){return Tt.getSingleViableAlt(t)}static allSubsetsConflict(t){return!Tt.hasNonConflictingAltSet(t)}static hasNonConflictingAltSet(t){for(const s of t)if(s.length===1)return!0;return!1}static hasConflictingAltSet(t){for(const s of t)if(s.length>1)return!0;return!1}static allSubsetsEqual(t){let s=null;for(const n of t)if(s===null)s=n;else if(n!==s)return!1;return!0}static getUniqueAlt(t){const s=Tt.getAlts(t);return s.length===1?s.nextSetBit(0):G.INVALID_ALT_NUMBER}static getAlts(t){const s=new he;return t.forEach(n=>{s.or(n)}),s}static getConflictingAltSubsets(t){const s=new u1(n=>re.hashStuff(n.state.stateNumber,n.context),(n,r)=>{var h;return n.state.stateNumber===r.state.stateNumber&&(((h=n.context)==null?void 0:h.equals(r.context))??!0)});return t.items.forEach(n=>{let r=s.get(n);r===null&&(r=new he,s.set(n,r)),r.set(n.alt)}),s.getValues()}static getStateToAltMap(t){const s=new u1;return t.items.forEach(n=>{let r=s.get(n.state);r||(r=new he,s.set(n.state,r)),r.set(n.alt)}),s}static hasStateAssociatedWithOneAlt(t){const s={};return t.items.forEach(n=>{const r=n.state.stateNumber;s[r]||(s[r]=0),s[r]++}),Object.values(s).some(n=>n===1)}static getSingleViableAlt(t){let s=null;for(const n of t){const r=n.nextSetBit(0);if(s===null)s=r;else if(s!==r)return G.INVALID_ALT_NUMBER}return s??0}},p(Tt,"PredictionMode"),l(Tt,"SLL",0),l(Tt,"LL",1),l(Tt,"LL_EXACT_AMBIG_DETECTION",2),Tt),gn=(b=class extends ae{constructor(s,n,r,h){super(n,h);l(this,"predictionMode");l(this,"decisionToDFA");l(this,"parser");l(this,"mergeCache",null);l(this,"_input",null);l(this,"_startIndex",0);l(this,"_outerContext",null);l(this,"_dfa",null);this.parser=s,this.decisionToDFA=r}static getUniqueAlt(s){let n=G.INVALID_ALT_NUMBER;for(const r of s.items)if(n===G.INVALID_ALT_NUMBER)n=r.alt;else if(r.alt!==n)return G.INVALID_ALT_NUMBER;return n}reset(){}clearDFA(){for(let s=0;s"}getTokenName(s){if(s===g.EOF)return"EOF";const r=(this.parser!=null?this.parser.vocabulary:le.EMPTY_VOCABULARY).getDisplayName(s);return r===s.toString()?r:r+"<"+s+">"}getLookaheadName(s){return this.getTokenName(s.LA(1))}dumpDeadEndConfigs(s){console.log("dead end configs: ");const n=s.deadEndConfigs.items;for(const r of n){let h="no edges";if(r.state.transitions.length>0){const o=r.state.transitions[0];o instanceof An?h="Atom "+this.getTokenName(o.labelValue):o instanceof _r&&(h=(o instanceof Kr?"~":"")+"Set "+o.label)}console.error(r.toString(this.parser,!0)+":"+h)}}predicateDFAState(s,n){const r=n.transitions.length,h=this.getConflictingAltsOrUniqueAlt(s.configs),o=this.getPredsForAmbigAlts(h,s.configs,r);o!==null?(s.predicates=this.getPredicatePredictions(h,o),s.prediction=G.INVALID_ALT_NUMBER):s.prediction=h.nextSetBit(0)}execATNWithFullContext(s,n,r,h,o,a){(b.debug||b.trace_atn_sim)&&console.log("execATNWithFullContext "+r);const c=!0;let u=!1,d,f=r;h.seek(o);let W=h.LA(1),K=-1;for(;;){if(d=this.computeReachSet(f,W,c),d===null){const O=this.noViableAlt(h,a,f,o);h.seek(o);const k=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(f,a);if(k!==G.INVALID_ALT_NUMBER)return k;throw O}const x=_t.getConflictingAltSubsets(d);if(b.debug&&console.log("LL altSubSets="+x+", predict="+_t.getUniqueAlt(x)+", resolvesToJustOneViableAlt="+_t.resolvesToJustOneViableAlt(x)),d.uniqueAlt=b.getUniqueAlt(d),d.uniqueAlt!==G.INVALID_ALT_NUMBER){K=d.uniqueAlt;break}else if(this.predictionMode!==_t.LL_EXACT_AMBIG_DETECTION){if(K=_t.resolvesToJustOneViableAlt(x),K!==G.INVALID_ALT_NUMBER)break}else if(_t.allSubsetsConflict(x)&&_t.allSubsetsEqual(x)){u=!0,K=_t.getSingleViableAlt(x);break}f=d,W!==g.EOF&&(h.consume(),W=h.LA(1))}return d.uniqueAlt!==G.INVALID_ALT_NUMBER?(this.reportContextSensitivity(s,K,d,o,h.index),K):(this.reportAmbiguity(s,n,o,h.index,u,null,d),K)}computeReachSet(s,n,r){b.debug&&console.log("in computeReachSet, starting closure: "+s),this.mergeCache===null&&(this.mergeCache=new o3);const h=new $t(r);let o=null;for(const c of s.items){if(b.debug&&console.log("testing "+this.getTokenName(n)+" at "+c),c.state instanceof St){(r||n===g.EOF)&&(o===null&&(o=[]),o.push(c));continue}for(const u of c.state.transitions){const d=this.getReachableTarget(u,n);if(d!==null){const f=new pt({state:d},c);h.add(f,this.mergeCache)}}}let a=null;if(o===null&&n!==g.EOF&&(h.items.length===1||b.getUniqueAlt(h)!==G.INVALID_ALT_NUMBER)&&(a=h),a===null){a=new $t(r);const c=new Bt,u=n===g.EOF;for(const d of h.items)this.closure(d,a,c,!1,r,u)}if(n===g.EOF&&(a=this.removeAllConfigsNotInRuleStopState(a,a===h)),o!==null&&(!r||!_t.hasConfigInRuleStopState(a)))for(const c of o)a.add(c,this.mergeCache);return a.items.length===0?null:a}removeAllConfigsNotInRuleStopState(s,n){if(_t.allConfigsInRuleStopStates(s))return s;const r=new $t(s.fullCtx);for(const h of s.items){if(h.state instanceof St){r.add(h,this.mergeCache);continue}if(n&&h.state.epsilonOnlyTransitions&&this.atn.nextTokens(h.state).contains(g.EPSILON)){const a=this.atn.ruleToStopState[h.state.ruleIndex];r.add(new pt({state:a},h),this.mergeCache)}}return r}computeStartState(s,n,r){const h=Rr(this.atn,n),o=new $t(r);for(let a=0;a0&&(a=this.getAltThatFinishedDecisionEntryRule(o),a!==G.INVALID_ALT_NUMBER)?a:G.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(s){const n=[];for(const r of s.items)(r.reachesIntoOuterContext>0||r.state instanceof St&&r.context.hasEmptyPath())&&n.indexOf(r.alt)<0&&n.push(r.alt);return n.length===0?G.INVALID_ALT_NUMBER:Math.min(...n)}splitAccordingToSemanticValidity(s,n){const r=new $t(s.fullCtx),h=new $t(s.fullCtx);for(const o of s.items)o.semanticContext!==nt.NONE?o.semanticContext.evaluate(this.parser,n)?r.add(o):h.add(o):r.add(o);return[r,h]}evalSemanticContext(s,n,r){const h=new he;for(const o of s){if(o.pred===nt.NONE){if(h.set(o.alt),!r)break;continue}const a=o.pred.evaluate(this.parser,n);if((b.debug||b.dfa_debug)&&console.log("eval pred "+o+"="+a),a&&((b.debug||b.dfa_debug)&&console.log("PREDICT "+o.alt),h.set(o.alt),!r))break}return h}closure(s,n,r,h,o,a){this.closureCheckingStopState(s,n,r,h,o,0,a)}closureCheckingStopState(s,n,r,h,o,a,c){if(s.state instanceof St)if(s.context&&!s.context.isEmpty()){for(let u=0;u=0&&(O+=1)}this.closureCheckingStopState(x,n,r,K,o,O,c)}}}canDropLoopEntryEdgeInLeftRecursiveRule(s){const n=s.state;if(n.stateType!==B.STAR_LOOP_ENTRY||!s.context||!n.precedenceRuleDecision||s.context.isEmpty()||s.context.hasEmptyPath())return!1;const r=s.context.length;for(let c=0;c=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+c1(this.parser.getRuleInvocationStack())));let a=null;if(r&&h)if(o&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(a=new pt({state:n.target},s))}else{const c=nt.andContext(s.semanticContext,n.getPredicate());a=new pt({state:n.target,semanticContext:c},s)}else a=new pt({state:n.target},s);return b.debug&&console.log("config from pred transition="+a),a}predTransition(s,n,r,h,o){b.debug&&(console.log("PRED (collectPredicates="+r+") "+n.ruleIndex+":"+n.predIndex+", ctx dependent="+n.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+c1(this.parser.getRuleInvocationStack())));let a=null;if(r&&(n.isCtxDependent&&h||!n.isCtxDependent))if(o&&this._input){const c=this._input.index;this._input.seek(this._startIndex);const u=n.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(c),u&&(a=new pt({state:n.target},s))}else{const c=nt.andContext(s.semanticContext,n.getPredicate());a=new pt({state:n.target,semanticContext:c},s)}else a=new pt({state:n.target},s);return b.debug&&console.log("config from pred transition="+a),a}ruleTransition(s,n){b.debug&&console.log("CALL rule "+this.getRuleName(n.target.ruleIndex)+", ctx="+s.context);const r=n.followState,h=Gt.create(s.context,r.stateNumber);return new pt({state:n.target,context:h},s)}getConflictingAlts(s){const n=_t.getConflictingAltSubsets(s);return _t.getAlts(n)}getConflictingAltsOrUniqueAlt(s){let n;return s.uniqueAlt!==G.INVALID_ALT_NUMBER?(n=new he,n.set(s.uniqueAlt)):n=s.conflictingAlts,n}noViableAlt(s,n,r,h){return new J(this.parser,s,s.get(h),s.LT(1),r,n)}addDFAEdge(s,n,r,h){return b.debug&&console.log("EDGE "+n+" -> "+h+" upon "+this.getTokenName(r)),h===null?null:(h=this.addDFAState(s,h),n===null||r<-1||r>this.atn.maxTokenType||(n.edges===null&&(n.edges=new Array(this.atn.maxTokenType+2),n.edges.fill(null)),n.edges[r+1]=h,b.debug&&console.log(`DFA= +`+s.toString(this.parser!=null?this.parser.vocabulary:le.EMPTY_VOCABULARY))),h)}addDFAState(s,n){if(n===ae.ERROR)return n;const r=s.states.get(n);return r!==null?r:(n.stateNumber=s.states.length,n.configs.readOnly||(n.configs.optimizeConfigs(this),n.configs.setReadonly(!0)),s.states.add(n),b.debug&&console.log("adding new DFA state: "+n),n)}reportAttemptingFullContext(s,n,r,h,o){if(b.debug||b.retry_debug){const a=new $(h,o+1);console.log("reportAttemptingFullContext decision="+s.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,s,h,o,n,r)}reportContextSensitivity(s,n,r,h,o){if(b.debug||b.retry_debug){const a=new $(h,o+1);console.log("reportContextSensitivity decision="+s.decision+":"+r+", input="+this.parser.tokenStream.getText(a))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,s,h,o,n,r)}reportAmbiguity(s,n,r,h,o,a,c){if(b.debug||b.retry_debug){const u=new $(r,h+1);console.log("reportAmbiguity "+a+":"+c+", input="+this.parser.tokenStream.getText(u))}this.parser!==null&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,s,r,h,o,a,c)}},p(b,"ParserATNSimulator"),l(b,"debug"),l(b,"trace_atn_sim",!1),l(b,"debug_add",!1),l(b,"debug_closure",!1),l(b,"dfa_debug",!1),l(b,"retry_debug",!1),b),Os=(Y0=class{constructor(){l(this,"cache",new u1)}add(t){if(t===z.EMPTY)return z.EMPTY;const s=this.cache.get(t)||null;return s!==null?s:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}},p(Y0,"PredictionContextCache"),Y0),ks=(Q0=class{constructor(t,s,n,r,h,o){l(this,"decision");l(this,"configs");l(this,"input");l(this,"startIndex");l(this,"stopIndex");l(this,"fullCtx");this.decision=t,this.configs=s,this.input=n,this.startIndex=r,this.stopIndex=h,this.fullCtx=o}},p(Q0,"DecisionEventInfo"),Q0),c3=(j0=class extends ks{constructor(s,n,r,h,o,a,c){super(s,n,h,o,a,c);l(this,"ambigAlts");this.ambigAlts=r}},p(j0,"AmbiguityInfo"),j0),Hh=(J0=class extends ks{constructor(t,s,n,r,h){super(t,s,n,r,h,!0)}},p(J0,"ContextSensitivityInfo"),J0),u3=(X0=class{constructor(t){l(this,"decision",0);l(this,"invocations",0);l(this,"timeInPrediction",0);l(this,"SLL_TotalLook",0);l(this,"SLL_MinLook",0);l(this,"SLL_MaxLook",0);l(this,"SLL_MaxLookEvent");l(this,"LL_TotalLook",0);l(this,"LL_MinLook",0);l(this,"LL_MaxLook",0);l(this,"LL_MaxLookEvent");l(this,"contextSensitivities");l(this,"errors");l(this,"ambiguities");l(this,"predicateEvals");l(this,"SLL_ATNTransitions",0);l(this,"SLL_DFATransitions",0);l(this,"LL_Fallback",0);l(this,"LL_ATNTransitions",0);l(this,"LL_DFATransitions",0);this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", SLL_lookahead="+this.SLL_TotalLook+", SLL_ATNTransitions="+this.SLL_ATNTransitions+", SLL_DFATransitions="+this.SLL_DFATransitions+", LL_Fallback="+this.LL_Fallback+", LL_lookahead="+this.LL_TotalLook+", LL_ATNTransitions="+this.LL_ATNTransitions+"}"}},p(X0,"DecisionInfo"),X0),Lr=(Z0=class extends ks{constructor(t,s,n,r,h,o){super(t,s,n,r,h,o)}},p(Z0,"ErrorInfo"),Z0),Vh=(z0=class extends ks{constructor(s,n,r,h,o,a,c){super(s,n,h,o,a,c);l(this,"predictedAlt");this.predictedAlt=r}},p(z0,"LookaheadEventInfo"),z0),Ir=($0=class extends gn{constructor(s){const n=s.interpreter.getSharedContextCache();super(s,s.interpreter.atn,s.interpreter.decisionToDFA,n);l(this,"decisions");l(this,"numDecisions",0);l(this,"currentDecision",0);l(this,"currentState");l(this,"conflictingAltResolvedBySLL");q(this,ke,0);q(this,Se,0);if(n){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let r=0;rthis.decisions[n].SLL_MaxLook&&(this.decisions[n].SLL_MaxLook=c,this.decisions[n].SLL_MaxLookEvent=new Vh(n,null,o,s,this._startIndex,N(this,ke),!1)),N(this,Se)>=0){const u=N(this,Se)-this._startIndex+1;this.decisions[n].LL_TotalLook+=u,this.decisions[n].LL_MinLook=this.decisions[n].LL_MinLook===0?u:Math.min(this.decisions[n].LL_MinLook,u),u>this.decisions[n].LL_MaxLook&&(this.decisions[n].LL_MaxLook=u,this.decisions[n].LL_MaxLookEvent=new Vh(n,null,o,s,this._startIndex,N(this,Se),!0))}return o}finally{this.currentDecision=-1}}getExistingTargetState(s,n){if(this._input){Z(this,ke,this._input.index);const r=super.getExistingTargetState(s,n);return r!==null&&(this.decisions[this.currentDecision].SLL_DFATransitions++,r===ae.ERROR&&this.decisions[this.currentDecision].errors.push(new Lr(this.currentDecision,s.configs,this._input,this._startIndex,N(this,ke),!1))),this.currentState=r,r}return null}computeTargetState(s,n,r){const h=super.computeTargetState(s,n,r);return this.currentState=h,h}computeReachSet(s,n,r){r&&this._input&&Z(this,Se,this._input.index);const h=super.computeReachSet(s,n,r);return this._input&&(r?(this.decisions[this.currentDecision].LL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Lr(this.currentDecision,s,this._input,this._startIndex,N(this,Se),!0))):(this.decisions[this.currentDecision].SLL_ATNTransitions++,h===null&&this.decisions[this.currentDecision].errors.push(new Lr(this.currentDecision,s,this._input,this._startIndex,N(this,ke),!1)))),h}reportAttemptingFullContext(s,n,r,h,o){n!==null?this.conflictingAltResolvedBySLL=n.nextSetBit(0):this.conflictingAltResolvedBySLL=r.getAlts().nextSetBit(0),this.decisions[this.currentDecision].LL_Fallback++,n&&super.reportAttemptingFullContext(s,n,r,h,o)}reportContextSensitivity(s,n,r,h,o){n!==this.conflictingAltResolvedBySLL&&this._input&&this.decisions[this.currentDecision].contextSensitivities.push(new Hh(this.currentDecision,r,this._input,h,o)),super.reportContextSensitivity(s,n,r,h,o)}reportAmbiguity(s,n,r,h,o,a,c){let u;a!==null?u=a.nextSetBit(0):u=c.getAlts().nextSetBit(0),this._input&&(c.fullCtx&&u!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push(new Hh(this.currentDecision,c,this._input,r,h)),this.decisions[this.currentDecision].ambiguities.push(new c3(this.currentDecision,c,a,this._input,r,h,c.fullCtx))),super.reportAmbiguity(s,n,r,h,o,a,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},ke=new WeakMap,Se=new WeakMap,p($0,"ProfilingATNSimulator"),$0);P0=class{constructor(t){l(this,"atnSimulator");this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),s=[];for(let n=0;n0&&s.push(n);return s}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let s=0;for(let n=0;n0?n:void 0,modes:r.length>0?r:void 0}}},p(ti,"InterpreterDataReader"),ei=class{visit(t){return t.accept(this)}visitChildren(t){let s=this.defaultResult();const n=t.getChildCount();for(let r=0;r=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);const s=this.index+t-1;return s<0||s>=this.data.length?g.EOF:this.data[s]}mark(){return-1}release(t){}seek(t){if(t<=this.index){this.index=t;return}this.index=Math.min(t,this.data.length)}getText(t,s){let n,r;return t instanceof $?(n=t.start,r=t.stop):(n=t,r=s??this.data.length-1),r>=this.data.length&&(r=this.data.length-1),n>=this.data.length?"":o2(this,si,c2).call(this,n,r+1)}toString(){return o2(this,si,c2).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:pn.UNKNOWN_SOURCE_NAME}},si=new WeakSet,c2=function(t,s){const n=this.data.slice(t,s);let r="";return n.forEach(h=>{r+=String.fromCodePoint(h)}),r},p(ii,"CharStreamImpl"),ii),Tr=(ni=class{static fromString(t){return new E3(t)}},p(ni,"CharStreams"),ni),d3=(ri=class{constructor(t){l(this,"tokenSource");l(this,"tokens",[]);l(this,"p",-1);l(this,"fetchedEOF",!1);this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(this.p>=0?this.fetchedEOF?t=this.p0?this.fetch(s)>=s:!0}fetch(t){if(this.fetchedEOF)return 0;for(let s=0;s=this.tokens.length||s<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+s+" not in 0.."+(this.tokens.length-1));if(t>s)return[];if(n===void 0)return this.tokens.slice(t,s+1);const r=[];s>=this.tokens.length&&(s=this.tokens.length-1);for(let h=t;h=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[s]}adjustSeekIndex(t){return t}lazyInit(){this.p===-1&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}getTokenSource(){return this.tokenSource}nextTokenOnChannel(t,s){if(this.sync(t),t>=this.tokens.length)return-1;let n=this.tokens[t];for(;n.channel!==s;){if(n.type===g.EOF)return-1;t+=1,this.sync(t),n=this.tokens[t]}return t}previousTokenOnChannel(t,s){for(;t>=0&&this.tokens[t].channel!==s;)t-=1;return t}getHiddenTokensToRight(t,s){if(s===void 0&&(s=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.nextTokenOnChannel(t+1,Yt.DEFAULT_TOKEN_CHANNEL),r=t+1,h=n===-1?this.tokens.length-1:n;return this.filterForChannel(r,h,s)}getHiddenTokensToLeft(t,s){if(s===void 0&&(s=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error(`${t} not in 0..${this.tokens.length-1}`);const n=this.previousTokenOnChannel(t-1,Yt.DEFAULT_TOKEN_CHANNEL);if(n===t-1)return null;const r=n+1,h=t-1;return this.filterForChannel(r,h,s)}filterForChannel(t,s,n){const r=[];for(let h=t;h=this.tokens.length&&(r=this.tokens.length-1);let h="";for(let o=n;o<=r;o++){const a=this.tokens[o];if(a.type===g.EOF)break;h+=a.text}return h.toString()}else{const s=t[0];return this.getText(s.getSourceInterval())}case 2:{const s=t[0],n=t[1];return s!==null&&n!==null?this.getText($.of(s.tokenIndex,n.tokenIndex)):""}default:throw new Error("Invalid number of arguments")}}fill(){for(this.lazyInit();this.fetch(1e3)===1e3;);}},p(ri,"BufferedTokenStream"),ri),Cn=(hi=class extends d3{constructor(s,n){super(s);l(this,"channel",g.DEFAULT_CHANNEL);this.channel=n??g.DEFAULT_CHANNEL}adjustSeekIndex(s){return this.nextTokenOnChannel(s,this.channel)}LB(s){if(s===0||this.index-s<0)return null;let n=this.index,r=1;for(;r<=s;)n=this.previousTokenOnChannel(n-1,this.channel),r+=1;return n<0?null:this.tokens[n]}LT(s){if(this.lazyInit(),s===0)return null;if(s<0)return this.LB(-s);let n=this.index,r=1;for(;rnew E1(t,s))),V),f3=(ai=class extends _n{syntaxError(t,s,n,r,h,o){}},p(ai,"XPathLexerErrorListener"),ai),V1=(oi=class{constructor(t){l(this,"invert");l(this,"nodeName");this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(oi,"XPathElement"),oi),W3=(ci=class extends V1{constructor(s,n){super(s);l(this,"ruleIndex");this.ruleIndex=n}evaluate(s){return He.findAllRuleNodes(s,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(ci,"XPathRuleAnywhereElement"),ci),R3=(ui=class extends V1{constructor(s,n){super(s);l(this,"ruleIndex");this.ruleIndex=n}evaluate(s){const n=[];for(const r of He.getChildren(s))r instanceof R&&(r.ruleIndex===this.ruleIndex&&!this.invert||r.ruleIndex!==this.ruleIndex&&this.invert)&&n.push(r);return n}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(ui,"XPathRuleElement"),ui),m3=(li=class extends V1{constructor(s,n){super(s);l(this,"tokenType");this.tokenType=n}evaluate(s){return He.findAllTokenNodes(s,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(li,"XPathTokenAnywhereElement"),li),p3=(Ei=class extends V1{constructor(s,n){super(s);l(this,"tokenType");this.tokenType=n}evaluate(s){const n=[];for(const r of He.getChildren(s))r instanceof pe&&r.symbol&&(r.symbol.type===this.tokenType&&!this.invert||r.symbol.type!==this.tokenType&&this.invert)&&n.push(r);return n}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(Ei,"XPathTokenElement"),Ei),_3=(di=class extends V1{constructor(){super(Gh.WILDCARD)}evaluate(t){return this.invert?[]:He.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(di,"XPathWildcardAnywhereElement"),di),K3=(fi=class extends V1{constructor(){super(Gh.WILDCARD)}evaluate(t){const s=[];if(this.invert)return s;for(const n of He.getChildren(t))s.push(n);return s}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},p(fi,"XPathWildcardElement"),fi),Gh=(i1=class{constructor(t,s){l(this,"path");l(this,"elements");l(this,"parser");this.parser=t,this.path=s,this.elements=this.split(s)}static findAll(t,s,n){return new i1(n,s).evaluate(t)}split(t){const s=new Pt(Tr.fromString(t));s.recover=c=>{throw c},s.removeErrorListeners(),s.addErrorListener(new f3);const n=new Cn(s);try{n.fill()}catch(c){if(c instanceof xs){const d="Invalid tokens or characters at index "+s.column+" in path '"+t+"' -- "+c.message;throw new RangeError(d)}throw c}const r=n.getTokens(),h=[],o=r.length;let a=0;t:for(;a0&&this.elements[r].evaluate(o).forEach(c=>{h.add(c)},h);r++,n=h}return n}getXPathElement(t,s){if(t.type===g.EOF)throw new Error("Missing path element at end of path");const n=t.text;if(n==null)throw new Error("Expected wordToken to have text content.");const r=this.parser.getTokenType(n),h=this.parser.getRuleIndex(n);switch(t.type){case Pt.WILDCARD:return s?new _3:new K3;case Pt.TOKEN_REF:case Pt.STRING:if(r===g.INVALID_TYPE)throw new Error(n+" at index "+t.start+" isn't a valid token name");return s?new m3(n,r):new p3(n,r);default:if(h===-1)throw new Error(n+" at index "+t.start+" isn't a valid rule name");return s?new W3(n,h):new R3(n,h)}}},p(i1,"XPath"),l(i1,"WILDCARD","*"),l(i1,"NOT","!"),i1),Be=(Wi=class extends m{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},p(Wi,"InputMismatchException"),Wi),xn=(Ri=class extends m{constructor(s,n,r=null){super({message:A3(n??"no predicate",r??null),recognizer:s,input:s.inputStream,ctx:s.context});l(this,"ruleIndex",0);l(this,"predicateIndex",0);l(this,"predicate");const o=s.atn.states[s.state].transitions[0];o instanceof Fh?(this.ruleIndex=o.ruleIndex,this.predicateIndex=o.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=n,this.offendingToken=s.getCurrentToken()}},p(Ri,"FailedPredicateException"),Ri),A3=p((i,t)=>t!==null?t:"failed predicate: {"+i+"}?","formatMessage"),Or=(mi=class{constructor(){l(this,"errorRecoveryMode",!1);l(this,"lastErrorIndex",-1);l(this,"lastErrorStates",new Nt);l(this,"nextTokensContext",null);l(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Nt,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,s){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),s instanceof J?this.reportNoViableAlternative(t,s):s instanceof Be?this.reportInputMismatch(t,s):s instanceof xn?this.reportFailedPredicate(t,s):t.notifyErrorListeners(s.message,s.offendingToken,s))}recover(t,s){this.lastErrorIndex===t.inputStream.index&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=t.inputStream.index,this.lastErrorStates.addOne(t.state);const n=this.getErrorRecoverySet(t);this.consumeUntil(t,n)}sync(t){if(this.inErrorRecoveryMode(t))return;const s=t.atn.states[t.state],n=t.tokenStream.LA(1),r=t.atn.nextTokens(s);if(r.contains(n)){this.nextTokensContext=null,this.nextTokenState=oe.INVALID_STATE_NUMBER;return}else if(r.contains(g.EPSILON)){this.nextTokensContext===null&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);return}switch(s.stateType){case B.BLOCK_START:case B.STAR_BLOCK_START:case B.PLUS_BLOCK_START:case B.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new Be(t);case B.PLUS_LOOP_BACK:case B.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const h=new Nt;h.addSet(t.getExpectedTokens());const o=h.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}break}}reportNoViableAlternative(t,s){if(s.message.length>0){t.notifyErrorListeners(s.message,s.offendingToken,s);return}const n=t.tokenStream;let r;n!==null&&s.startToken?s.startToken.type===g.EOF?r="":r=n.getText(new $(s.startToken.tokenIndex,s.offendingToken.tokenIndex)):r="";const h="no viable alternative at input "+this.escapeWSAndQuote(r);t.notifyErrorListeners(h,s.offendingToken,s)}reportInputMismatch(t,s){if(s.message.length>0){t.notifyErrorListeners(s.message,s.offendingToken,s);return}const n="mismatched input "+this.getTokenErrorDisplay(s.offendingToken)+" expecting "+s.getExpectedTokens().toString(t.vocabulary);t.notifyErrorListeners(n,s.offendingToken,s)}reportFailedPredicate(t,s){const r="rule "+t.ruleNames[t.context.ruleIndex]+" "+s.message;t.notifyErrorListeners(r,s.offendingToken,s)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const s=t.getCurrentToken(),n=this.getTokenErrorDisplay(s),r=this.getExpectedTokens(t),h="extraneous input "+n+" expecting "+r.toString(t.vocabulary);t.notifyErrorListeners(h,s,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const s=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.vocabulary)+" at "+this.getTokenErrorDisplay(s);t.notifyErrorListeners(r,s,null)}recoverInline(t){const s=this.singleTokenDeletion(t);if(s!==null)return t.consume(),s;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Be(t)}singleTokenInsertion(t){const s=t.tokenStream.LA(1),n=t.atn,h=n.states[t.state].transitions[0].target;return n.nextTokens(h,t.context).contains(s)?(this.reportMissingToken(t),!0):!1}singleTokenDeletion(t){const s=t.tokenStream.LA(2);if(this.getExpectedTokens(t).contains(s)){this.reportUnwantedToken(t),t.consume();const r=t.getCurrentToken();return this.reportMatch(t),r}else return null}getMissingSymbol(t){const s=t.getCurrentToken(),n=this.getExpectedTokens(t);let r=g.INVALID_TYPE;n.isNil||(r=n.minElement);let h;r===g.EOF?h="":h="";let o=s;const a=t.tokenStream.LT(-1);return o.type===g.EOF&&a!==null&&(o=a),t.getTokenFactory().create(o.source,r,h,g.DEFAULT_CHANNEL,-1,-1,o.line,o.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"";let s=t.text;return s===null&&(t.type===g.EOF?s="":s="<"+t.type+">"),this.escapeWSAndQuote(s)}escapeWSAndQuote(t){return t=t.replace(/\n/g,"\\n"),t=t.replace(/\r/g,"\\r"),t=t.replace(/\t/g,"\\t"),"'"+t+"'"}getErrorRecoverySet(t){const s=t.atn;let n=t.context;const r=new Nt;for(;n!==null&&n.invokingState>=0;){const o=s.states[n.invokingState].transitions[0],a=s.nextTokens(o.followState);r.addSet(a),n=n.parent}return r.removeOne(g.EPSILON),r}consumeUntil(t,s){let n=t.tokenStream.LA(1);for(;n!==g.EOF&&!s.contains(n);)t.consume(),n=t.tokenStream.LA(1)}},p(mi,"DefaultErrorStrategy"),mi);pi=class extends Or{recover(t,s){let n=t.context;for(;n!==null;)n.exception=s,n=n.parent;throw new Bh(s)}recoverInline(t){const s=new Be(t);let n=t.context;for(;n!==null;)n.exception=s,n=n.parent;throw new Bh(s)}sync(t){}},p(pi,"BailErrorStrategy"),_i=class extends _n{constructor(s){super();l(this,"exactOnly");l(this,"reportAmbiguity",(s,n,r,h,o,a,c)=>{if(this.exactOnly&&!o)return;const u=this.getDecisionDescription(s,n),d=this.getConflictingAlts(a,c),f=s.tokenStream.getText($.of(r,h)),W=`reportAmbiguity d=${u}: ambigAlts=${d}, input='${f}'`;s.notifyErrorListeners(W,null,null)});l(this,"reportAttemptingFullContext",(s,n,r,h,o,a)=>{const c=this.getDecisionDescription(s,n),u=s.tokenStream.getText($.of(r,h)),d=`reportAttemptingFullContext d=${c}, input='${u}'`;s.notifyErrorListeners(d,null,null)});l(this,"reportContextSensitivity",(s,n,r,h,o,a)=>{const c=this.getDecisionDescription(s,n),u=s.tokenStream.getText($.of(r,h)),d=`reportContextSensitivity d=${c}, input='${u}'`;s.notifyErrorListeners(d,null,null)});l(this,"getDecisionDescription",(s,n)=>{const r=n.decision,h=n.atnStartState.ruleIndex,o=s.ruleNames;if(h<0||h>=o.length)return r.toString();const a=o[h];return a.length===0?r.toString():`${r} (${a})`});l(this,"getConflictingAlts",(s,n)=>{if(s!==null)return s;const r=new he;for(let h=0;h{super(...w5);q(this,Ki,void 0)};r!==void 0?i(n,r):i(),Z(this,Ki,s)}get ruleIndex(){return N(this,Ki)}},Ki=new WeakMap,p(Ai,"InterpreterRuleContext"),Ai);Oi=class extends Yt{constructor(s,n,r,h,o,a,c){super(c);q(this,gi,void 0);q(this,Ci,void 0);q(this,xi,void 0);q(this,Ni,void 0);q(this,Li,void 0);q(this,Ii,void 0);q(this,Ti,void 0);q(this,Vn,new Os);if(a.grammarType!==Ls.LEXER)throw new Error("IllegalArgumentException: The ATN must be a lexer ATN.");Z(this,gi,s),Z(this,Ci,a),Z(this,xi,r.slice(0)),Z(this,Ni,h.slice(0)),Z(this,Li,o.slice(0)),Z(this,Ii,n),Z(this,Ti,a.decisionToState.map((u,d)=>new E1(u,d))),this.interpreter=new d1(this,a,N(this,Ti),N(this,Vn))}get atn(){return N(this,Ci)}get grammarFileName(){return N(this,gi)}get ruleNames(){return N(this,xi)}get channelNames(){return N(this,Ni)}get modeNames(){return N(this,Li)}get vocabulary(){return N(this,Ii)}},gi=new WeakMap,Ci=new WeakMap,xi=new WeakMap,Ni=new WeakMap,Li=new WeakMap,Ii=new WeakMap,Ti=new WeakMap,Vn=new WeakMap,p(Oi,"LexerInterpreter");var C3=(ki=class{constructor(t){l(this,"parser");this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser.inputStream.LT(1).text)}visitErrorNode(t){}},p(ki,"TraceListener"),ki),Yh=(Si=class extends Ih{constructor(s){super();l(this,"printer",null);l(this,"buildParseTrees",!0);l(this,"errorHandler",new Or);l(this,"context",null);l(this,"_input",null);l(this,"_precedenceStack",[]);l(this,"_parseListeners",null);l(this,"_syntaxErrors",0);l(this,"matchedEOF",!1);l(this,"_tracer",null);l(this,"bypassAltsAtnCache",null);this._precedenceStack.push(0),this._syntaxErrors=0,this.tokenStream=s}reset(){this._input!==null&&this._input.seek(0),this.errorHandler.reset(this),this.context=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(s){let n=this.getCurrentToken();return n.type===s?(this.errorHandler.reportMatch(this),this.consume()):(n=this.errorHandler.recoverInline(this),this.buildParseTrees&&n.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,n))),n}matchWildcard(){let s=this.getCurrentToken();return s.type>0?(this.errorHandler.reportMatch(this),this.consume()):(s=this.errorHandler.recoverInline(this),this.buildParseTrees&&s.tokenIndex===-1&&this.context.addErrorNode(this.createErrorNode(this.context,s))),s}getParseListeners(){return this._parseListeners??[]}addParseListener(s){if(s===null)throw new Error("listener");this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(s)}removeParseListener(s){if(this._parseListeners!==null&&s!==null){const n=this._parseListeners.indexOf(s);n>=0&&this._parseListeners.splice(n,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){const s=this.context;this._parseListeners.forEach(n=>{n.enterEveryRule(s),s.enterRule(n)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){const s=this.context;this._parseListeners.slice(0).reverse().forEach(n=>{s.exitRule(n),n.exitEveryRule(s)})}}getTokenFactory(){return this._input.getTokenSource().tokenFactory}setTokenFactory(s){this._input.getTokenSource().tokenFactory=s}getATNWithBypassAlts(){const s=this.getSerializedATN();if(s===null)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(this.bypassAltsAtnCache!==null)return this.bypassAltsAtnCache;const n=new Uh;return n.generateRuleBypassTransitions=!0,this.bypassAltsAtnCache=new Ts(n).deserialize(s),this.bypassAltsAtnCache}get tokenStream(){return this._input}set tokenStream(s){this._input=null,this.reset(),this._input=s}get inputStream(){return this._input}set inputStream(s){this.tokenStream=s}get numberOfSyntaxErrors(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(s,n,r){n=n??null,r=r??null,n===null&&(n=this.getCurrentToken()),this._syntaxErrors+=1;const h=n.line,o=n.column;this.getErrorListenerDispatch().syntaxError(this,n,h,o,s,r)}consume(){const s=this.getCurrentToken();s.type!==g.EOF&&this.tokenStream.consume();const n=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||n){let r;this.errorHandler.inErrorRecoveryMode(this)?r=this.context.addErrorNode(this.createErrorNode(this.context,s)):r=this.context.addTokenNode(s),n&&this._parseListeners.forEach(h=>{r instanceof Ns?h.visitErrorNode(r):h.visitTerminal(r)})}return s}addContextToParseTree(){var s;((s=this.context)==null?void 0:s.parent)!==null&&this.context.parent.addChild(this.context)}enterRule(s,n,r){this.state=n,this.context=s,this.context.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(s,n){s.setAltNumber(n),this.buildParseTrees&&this.context!==s&&this.context.parent!==null&&(this.context.parent.removeLastChild(),this.context.parent.addChild(s)),this.context=s}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(s,n,r,h){this.state=n,this._precedenceStack.push(h),this.context=s,this.context.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(s,n,r){const h=this.context;h.parent=s,h.invokingState=n,h.stop=this._input.LT(-1),this.context=s,this.context.start=h.start,this.buildParseTrees&&this.context.addChild(h),this.triggerEnterRuleEvent()}unrollRecursionContexts(s){this._precedenceStack.pop(),this.context.stop=this._input.LT(-1);const n=this.context,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this.context!==s;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=s;n.parent=s,this.buildParseTrees&&s!==null&&s.addChild(n)}getInvokingContext(s){let n=this.context;for(;n!==null;){if(n.ruleIndex===s)return n;n=n.parent}return null}precpred(s,n){return n>=this._precedenceStack[this._precedenceStack.length-1]}inContext(s){return!1}isExpectedToken(s){const n=this.interpreter.atn;let r=this.context;const h=n.states[this.state];let o=n.nextTokens(h);if(o.contains(s))return!0;if(!o.contains(g.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&o.contains(g.EPSILON);){const c=n.states[r.invokingState].transitions[0];if(o=n.nextTokens(c.followState),o.contains(s))return!0;r=r.parent}return!!(o.contains(g.EPSILON)&&s===g.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const s=this.interpreter.atn,n=s.states[this.state];return s.nextTokens(n)}getRuleIndex(s){const n=this.getRuleIndexMap().get(s);return n??-1}getRuleInvocationStack(s){s=s??null,s===null&&(s=this.context);const n=[];for(;s!==null;){const r=s.ruleIndex;r<0?n.push("n/a"):n.push(this.ruleNames[r]),s=s.parent}return n}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let s=!1;for(const n of this.interpreter.decisionToDFA)n.states.length>0&&(s&&console.log(),this.printer&&(this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.vocabulary))),s=!0)}getSourceName(){return this._input.getSourceName()}setProfile(s){const n=this.interpreter,r=n.predictionMode;if(s)n instanceof Ir||(this.interpreter=new Ir(this));else if(n instanceof Ir){const h=n.getSharedContextCache();if(h){const o=new gn(this,this.atn,n.decisionToDFA,h);this.interpreter=o}}this.interpreter.predictionMode=r}setTrace(s){s?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new C3(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}createTerminalNode(s,n){return new pe(n)}createErrorNode(s,n){return new Ns(n)}},p(Si,"Parser"),Si);Di=class extends Yh{constructor(s,n,r,h,o){super(o);l(this,"_rootContext");l(this,"_parentContextStack",[]);l(this,"overrideDecision",-1);l(this,"overrideDecisionInputIndex",-1);l(this,"overrideDecisionAlt",-1);l(this,"overrideDecisionReached",!1);l(this,"_overrideDecisionRoot",null);q(this,yi,void 0);q(this,se,void 0);q(this,Ui,void 0);q(this,wi,void 0);q(this,vi,void 0);q(this,Bn,new Os);q(this,ds,void 0);Z(this,yi,s),Z(this,se,h),Z(this,Ui,r.slice(0)),Z(this,wi,n),Z(this,ds,new he);for(const a of h.states)a instanceof Ve&&a.precedenceRuleDecision&&N(this,ds).set(a.stateNumber);Z(this,vi,h.decisionToState.map((a,c)=>new E1(a,c))),this.interpreter=new gn(this,h,N(this,vi),N(this,Bn))}reset(){super.reset(),this.overrideDecisionReached=!1,this._overrideDecisionRoot=null}get atn(){return N(this,se)}get vocabulary(){return N(this,wi)}get ruleNames(){return N(this,Ui)}get grammarFileName(){return N(this,yi)}get atnState(){return N(this,se).states[this.state]}parse(s){var r;const n=N(this,se).ruleToStartState[s];for(this._rootContext=this.createInterpreterRuleContext(null,oe.INVALID_STATE_NUMBER,s),n.isPrecedenceRule?this.enterRecursionRule(this._rootContext,n.stateNumber,s,0):this.enterRule(this._rootContext,n.stateNumber,s);;){const h=this.atnState;switch(h.stateType){case B.RULE_STOP:if((r=this.context)!=null&&r.isEmpty)if(n.isPrecedenceRule){const o=this.context,a=this._parentContextStack.pop();return this.unrollRecursionContexts(a[0]),o}else return this.exitRule(),this._rootContext;this.visitRuleStopState(h);break;default:try{this.visitState(h)}catch(o){if(o instanceof m)this.state=N(this,se).ruleToStopState[h.ruleIndex].stateNumber,this.context.exception=o,this.errorHandler.reportError(this,o),this.recover(o);else throw o}break}}}addDecisionOverride(s,n,r){this.overrideDecision=s,this.overrideDecisionInputIndex=n,this.overrideDecisionAlt=r}get overrideDecisionRoot(){return this._overrideDecisionRoot}get rootContext(){return this._rootContext}enterRecursionRule(s,n,r,h){this._parentContextStack.push([this.context,s.invokingState]),super.enterRecursionRule(s,n,r,h)}visitState(s){let n=1;s instanceof l1&&(n=this.visitDecisionState(s));const r=s.transitions[n-1];switch(r.serializationType){case v.EPSILON:if(N(this,ds).get(s.stateNumber)&&!(r.target instanceof f1)){const d=this._parentContextStack[this._parentContextStack.length-1],f=this.createInterpreterRuleContext(d[0],d[1],this.context.ruleIndex);this.pushNewRecursionContext(f,N(this,se).ruleToStartState[s.ruleIndex].stateNumber,this.context.ruleIndex)}break;case v.ATOM:this.match(r.label.minElement);break;case v.RANGE:case v.SET:case v.NOT_SET:r.matches(this._input.LA(1),g.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case v.WILDCARD:this.matchWildcard();break;case v.RULE:const h=r.target,o=h.ruleIndex,a=this.createInterpreterRuleContext(this.context,s.stateNumber,o);h.isPrecedenceRule?this.enterRecursionRule(a,h.stateNumber,o,r.precedence):this.enterRule(a,r.target.stateNumber,o);break;case v.PREDICATE:const c=r;if(!this.sempred(this.context,c.ruleIndex,c.predIndex))throw new xn(this);break;case v.ACTION:const u=r;this.action(this.context,u.ruleIndex,u.actionIndex);break;case v.PRECEDENCE:if(!this.precpred(this.context,r.precedence)){const d=r.precedence;throw new xn(this,`precpred(_ctx, ${d})`)}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=r.target.stateNumber}visitDecisionState(s){let n=1;if(s.transitions.length>1){this.errorHandler.sync(this);const r=s.decision;r===this.overrideDecision&&this._input.index===this.overrideDecisionInputIndex&&!this.overrideDecisionReached?(n=this.overrideDecisionAlt,this.overrideDecisionReached=!0):n=this.interpreter.adaptivePredict(this._input,r,this.context)}return n}createInterpreterRuleContext(s,n,r){return new g3(r,s,n)}visitRuleStopState(s){if(N(this,se).ruleToStartState[s.ruleIndex].isPrecedenceRule){const[h,o]=this._parentContextStack.pop();this.unrollRecursionContexts(h),this.state=o}else this.exitRule();const r=N(this,se).states[this.state].transitions[0];this.state=r.followState.stateNumber}recover(s){const n=this._input.index;if(this.errorHandler.recover(this,s),this._input.index===n){const r=s.offendingToken;if(!r)throw new Error("Expected exception to have an offending token");const h=r.tokenSource,o=(h==null?void 0:h.inputStream)??null,a=[h,o];if(s instanceof Be){const c=s.getExpectedTokens();if(!c)throw new Error("Expected the exception to provide expected tokens");let u=g.INVALID_TYPE;c.isNil||(u=c.minElement);const d=this.getTokenFactory().create(a,u,r.text,g.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,d))}else{const c=this.getTokenFactory().create(a,g.INVALID_TYPE,r.text,g.DEFAULT_CHANNEL,-1,-1,r.line,r.column);this.context.addErrorNode(this.createErrorNode(this.context,c))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},yi=new WeakMap,se=new WeakMap,Ui=new WeakMap,wi=new WeakMap,vi=new WeakMap,Bn=new WeakMap,ds=new WeakMap,p(Di,"ParserInterpreter"),bt=class{constructor(t){l(this,"tokens");l(this,"programs",new Map);l(this,"lastRewriteTokenIndexes");this.tokens=t}getTokenStream(){return this.tokens}insertAfter(t,s,n=bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(n),o=new jh(this.tokens,r,h.length,s);h.push(o)}insertBefore(t,s,n=bt.DEFAULT_PROGRAM_NAME){let r;typeof t=="number"?r=t:r=t.tokenIndex;const h=this.getProgram(n),o=new B1(this.tokens,r,h.length,s);h.push(o)}replaceSingle(t,s,n=bt.DEFAULT_PROGRAM_NAME){this.replace(t,t,s,n)}replace(t,s,n,r=bt.DEFAULT_PROGRAM_NAME){if(typeof t!="number"&&(t=t.tokenIndex),typeof s!="number"&&(s=s.tokenIndex),t>s||t<0||s<0||s>=this.tokens.size)throw new RangeError(`replace: range invalid: ${t}..${s}(size=${this.tokens.size})`);const h=this.getProgram(r),o=new Nn(this.tokens,t,s,h.length,n);h.push(o)}delete(t,s,n=bt.DEFAULT_PROGRAM_NAME){s==null&&(s=t),this.replace(t,s,null,n)}getProgram(t){let s=this.programs.get(t);return s==null&&(s=this.initializeProgram(t)),s}initializeProgram(t){const s=[];return this.programs.set(t,s),s}getText(t,s=bt.DEFAULT_PROGRAM_NAME){let n;t instanceof $?n=t:n=new $(0,this.tokens.size-1),typeof t=="string"&&(s=t);const r=this.programs.get(s);let h=n.start,o=n.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),h<0&&(h=0),r==null||r.length===0)return this.tokens.getText(new $(h,o));const a=[],c=this.reduceToSingleOperationPerIndex(r);let u=h;for(;u<=o&&u=this.tokens.size-1&&a.push(String(d.text));return a.join("")}reduceToSingleOperationPerIndex(t){for(let n=0;nh.index&&c.index<=h.lastIndex&&(t[c.instructionIndex]=null);const a=this.getKindOfOps(t,Nn,n);for(const c of a){if(c.index>=h.index&&c.lastIndex<=h.lastIndex){t[c.instructionIndex]=null;continue}const u=c.lastIndexh.lastIndex;if(c.text==null&&h.text==null&&!u)t[c.instructionIndex]=null,h.index=Math.min(c.index,h.index),h.lastIndex=Math.max(c.lastIndex,h.lastIndex);else if(!u)throw new Error(`replace op boundaries of ${h} overlap with previous ${c}`)}}for(let n=0;n=c.index&&h.index<=c.lastIndex)throw new Error(`insert op ${h} within boundaries of previous ${c}`)}}const s=new Map;for(const n of t)if(n!=null){if(s.get(n.index)!=null)throw new Error("should only be one op per index");s.set(n.index,n)}return s}catOpText(t,s){let n="",r="";return t!=null&&(n=t.toString()),s!=null&&(r=s.toString()),n+r}getKindOfOps(t,s,n){return t.slice(0,n).filter(r=>r&&r instanceof s)}},p(bt,"TokenStreamRewriter"),l(bt,"DEFAULT_PROGRAM_NAME","default"),l(bt,"PROGRAM_INIT_SIZE",100),l(bt,"MIN_TOKEN_INDEX",0);var Qh=(bi=class{constructor(t,s,n,r){l(this,"instructionIndex");l(this,"index");l(this,"text");l(this,"tokens");this.tokens=t,this.instructionIndex=n,this.index=s,this.text=r===void 0?"":r}execute(t){return this.index}toString(){return"'}},p(bi,"RewriteOperation"),bi),B1=(Mi=class extends Qh{constructor(t,s,n,r){super(t,s,n,r)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==g.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},p(Mi,"InsertBeforeOp"),Mi),jh=(Fi=class extends B1{constructor(t,s,n,r){super(t,s+1,n,r)}toString(){return"'}},p(Fi,"InsertAfterOp"),Fi),Nn=(Hi=class extends Qh{constructor(s,n,r,h,o){super(s,n,h,o);l(this,"lastIndex");this.lastIndex=r}execute(s){return this.text&&s.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"":"'}},p(Hi,"ReplaceOp"),Hi);class E extends Yt{constructor(t){super(t),this.interpreter=new d1(this,E._ATN,E.decisionsToDFA,new Os)}get grammarFileName(){return"TrinoSql.g4"}get literalNames(){return E.literalNames}get symbolicNames(){return E.symbolicNames}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}get channelNames(){return E.channelNames}get modeNames(){return E.modeNames}static get _ATN(){return E.__ATN||(E.__ATN=new Ts().deserialize(E._serializedATN)),E.__ATN}get vocabulary(){return E.vocabulary}}E.T__0=1,E.T__1=2,E.T__2=3,E.T__3=4,E.T__4=5,E.T__5=6,E.T__6=7,E.T__7=8,E.T__8=9,E.T__9=10,E.T__10=11,E.T__11=12,E.T__12=13,E.T__13=14,E.T__14=15,E.T__15=16,E.T__16=17,E.KW_ABSENT=18,E.KW_ADD=19,E.KW_ADMIN=20,E.KW_AFTER=21,E.KW_ALL=22,E.KW_ALTER=23,E.KW_ANALYZE=24,E.KW_AND=25,E.KW_ANY=26,E.KW_ARRAY=27,E.KW_AS=28,E.KW_ASC=29,E.KW_AT=30,E.KW_AUTHORIZATION=31,E.KW_BEGIN=32,E.KW_BERNOULLI=33,E.KW_BETWEEN=34,E.KW_BOTH=35,E.KW_BY=36,E.KW_CALL=37,E.KW_CALLED=38,E.KW_CASCADE=39,E.KW_CASE=40,E.KW_CAST=41,E.KW_CATALOG=42,E.KW_CATALOGS=43,E.KW_COLUMN=44,E.KW_COLUMNS=45,E.KW_COMMENT=46,E.KW_COMMIT=47,E.KW_COMMITTED=48,E.KW_CONDITIONAL=49,E.KW_CONSTRAINT=50,E.KW_COUNT=51,E.KW_COPARTITION=52,E.KW_CREATE=53,E.KW_CROSS=54,E.KW_CUBE=55,E.KW_CURRENT=56,E.KW_CURRENT_CATALOG=57,E.KW_CURRENT_DATE=58,E.KW_CURRENT_PATH=59,E.KW_CURRENT_ROLE=60,E.KW_CURRENT_SCHEMA=61,E.KW_CURRENT_TIME=62,E.KW_CURRENT_TIMESTAMP=63,E.KW_CURRENT_USER=64,E.KW_DATA=65,E.KW_DATE=66,E.KW_DAY=67,E.KW_DEALLOCATE=68,E.KW_DECLARE=69,E.KW_DEFAULT=70,E.KW_DEFINE=71,E.KW_DEFINER=72,E.KW_DELETE=73,E.KW_DENY=74,E.KW_DESC=75,E.KW_DESCRIBE=76,E.KW_DESCRIPTOR=77,E.KW_DETERMINISTIC=78,E.KW_DISTINCT=79,E.KW_DISTRIBUTED=80,E.KW_DO=81,E.KW_DOUBLE=82,E.KW_DROP=83,E.KW_ELSE=84,E.KW_EMPTY=85,E.KW_ELSEIF=86,E.KW_ENCODING=87,E.KW_END=88,E.KW_ERROR=89,E.KW_ESCAPE=90,E.KW_EXCEPT=91,E.KW_EXCLUDING=92,E.KW_EXECUTE=93,E.KW_EXISTS=94,E.KW_EXPLAIN=95,E.KW_EXTRACT=96,E.KW_FALSE=97,E.KW_FETCH=98,E.KW_FILTER=99,E.KW_FINAL=100,E.KW_FIRST=101,E.KW_FOLLOWING=102,E.KW_FOR=103,E.KW_FORMAT=104,E.KW_FROM=105,E.KW_FULL=106,E.KW_FUNCTION=107,E.KW_FUNCTIONS=108,E.KW_GRACE=109,E.KW_GRANT=110,E.KW_GRANTED=111,E.KW_GRANTS=112,E.KW_GRAPHVIZ=113,E.KW_GROUP=114,E.KW_GROUPING=115,E.KW_GROUPS=116,E.KW_HAVING=117,E.KW_HOUR=118,E.KW_IF=119,E.KW_IGNORE=120,E.KW_IMMEDIATE=121,E.KW_IN=122,E.KW_INCLUDING=123,E.KW_INITIAL=124,E.KW_INNER=125,E.KW_INPUT=126,E.KW_INSERT=127,E.KW_INTERSECT=128,E.KW_INTERVAL=129,E.KW_INTO=130,E.KW_INVOKER=131,E.KW_IO=132,E.KW_IS=133,E.KW_ISOLATION=134,E.KW_ITERATE=135,E.KW_JOIN=136,E.KW_JSON=137,E.KW_JSON_ARRAY=138,E.KW_JSON_EXISTS=139,E.KW_JSON_OBJECT=140,E.KW_JSON_QUERY=141,E.KW_JSON_TABLE=142,E.KW_JSON_VALUE=143,E.KW_KEEP=144,E.KW_KEY=145,E.KW_KEYS=146,E.KW_LANGUAGE=147,E.KW_LAST=148,E.KW_LATERAL=149,E.KW_LEADING=150,E.KW_LEAVE=151,E.KW_LEFT=152,E.KW_LEVEL=153,E.KW_LIKE=154,E.KW_LIMIT=155,E.KW_LISTAGG=156,E.KW_LOCAL=157,E.KW_LOCALTIME=158,E.KW_LOCALTIMESTAMP=159,E.KW_LOGICAL=160,E.KW_LOOP=161,E.KW_MAP=162,E.KW_MATCH=163,E.KW_MATCHED=164,E.KW_MATCHES=165,E.KW_MATCH_RECOGNIZE=166,E.KW_MATERIALIZED=167,E.KW_MEASURES=168,E.KW_MERGE=169,E.KW_MINUTE=170,E.KW_MONTH=171,E.KW_NATURAL=172,E.KW_NESTED=173,E.KW_NEXT=174,E.KW_NFC=175,E.KW_NFD=176,E.KW_NFKC=177,E.KW_NFKD=178,E.KW_NO=179,E.KW_NONE=180,E.KW_NORMALIZE=181,E.KW_NOT=182,E.KW_NULL=183,E.KW_NULLIF=184,E.KW_NULLS=185,E.KW_OBJECT=186,E.KW_OF=187,E.KW_OFFSET=188,E.KW_OMIT=189,E.KW_ON=190,E.KW_ONE=191,E.KW_ONLY=192,E.KW_OPTION=193,E.KW_OR=194,E.KW_ORDER=195,E.KW_ORDINALITY=196,E.KW_OUTER=197,E.KW_OUTPUT=198,E.KW_OVER=199,E.KW_OVERFLOW=200,E.KW_PARTITION=201,E.KW_PARTITIONS=202,E.KW_PASSING=203,E.KW_PAST=204,E.KW_PATH=205,E.KW_PATTERN=206,E.KW_PER=207,E.KW_PERIOD=208,E.KW_PERMUTE=209,E.KW_PLAN=210,E.KW_POSITION=211,E.KW_PRECEDING=212,E.KW_PRECISION=213,E.KW_PREPARE=214,E.KW_PRIVILEGES=215,E.KW_PROPERTIES=216,E.KW_PRUNE=217,E.KW_QUOTES=218,E.KW_RANGE=219,E.KW_READ=220,E.KW_RECURSIVE=221,E.KW_REFRESH=222,E.KW_RENAME=223,E.KW_REPEAT=224,E.KW_REPEATABLE=225,E.KW_REPLACE=226,E.KW_RESET=227,E.KW_RESPECT=228,E.KW_RESTRICT=229,E.KW_RETURN=230,E.KW_RETURNING=231,E.KW_RETURNS=232,E.KW_REVOKE=233,E.KW_RIGHT=234,E.KW_ROLE=235,E.KW_ROLES=236,E.KW_ROLLBACK=237,E.KW_ROLLUP=238,E.KW_ROW=239,E.KW_ROWS=240,E.KW_RUNNING=241,E.KW_SCALAR=242,E.KW_SCHEMA=243,E.KW_SCHEMAS=244,E.KW_SECOND=245,E.KW_SECURITY=246,E.KW_SEEK=247,E.KW_SELECT=248,E.KW_SERIALIZABLE=249,E.KW_SESSION=250,E.KW_SET=251,E.KW_SETS=252,E.KW_SHOW=253,E.KW_SOME=254,E.KW_START=255,E.KW_STATS=256,E.KW_SUBSET=257,E.KW_SUBSTRING=258,E.KW_SYSTEM=259,E.KW_TABLE=260,E.KW_TABLES=261,E.KW_TABLESAMPLE=262,E.KW_TEXT=263,E.KW_TEXT_STRING=264,E.KW_THEN=265,E.KW_TIES=266,E.KW_TIME=267,E.KW_TIMESTAMP=268,E.KW_TO=269,E.KW_TRAILING=270,E.KW_TRANSACTION=271,E.KW_TRIM=272,E.KW_TRUE=273,E.KW_TRUNCATE=274,E.KW_TRY_CAST=275,E.KW_TYPE=276,E.KW_UESCAPE=277,E.KW_UNBOUNDED=278,E.KW_UNCOMMITTED=279,E.KW_UNCONDITIONAL=280,E.KW_UNION=281,E.KW_UNIQUE=282,E.KW_UNKNOWN=283,E.KW_UNMATCHED=284,E.KW_UNNEST=285,E.KW_UNTIL=286,E.KW_UPDATE=287,E.KW_USE=288,E.KW_USER=289,E.KW_USING=290,E.KW_UTF16=291,E.KW_UTF32=292,E.KW_UTF8=293,E.KW_VALIDATE=294,E.KW_VALUE=295,E.KW_VALUES=296,E.KW_VERBOSE=297,E.KW_VERSION=298,E.KW_VIEW=299,E.KW_WHEN=300,E.KW_WHERE=301,E.KW_WHILE=302,E.KW_WINDOW=303,E.KW_WITH=304,E.KW_WITHIN=305,E.KW_WITHOUT=306,E.KW_WORK=307,E.KW_WRAPPER=308,E.KW_WRITE=309,E.KW_YEAR=310,E.KW_ZONE=311,E.EQ=312,E.NEQ=313,E.LT=314,E.LTE=315,E.GT=316,E.GTE=317,E.PLUS=318,E.MINUS=319,E.ASTERISK=320,E.SLASH=321,E.PERCENT=322,E.CONCAT=323,E.QUESTION_MARK=324,E.SEMICOLON=325,E.STRING=326,E.UNICODE_STRING=327,E.BINARY_LITERAL=328,E.INTEGER_VALUE=329,E.DECIMAL_VALUE=330,E.DOUBLE_VALUE=331,E.IDENTIFIER=332,E.DIGIT_IDENTIFIER=333,E.QUOTED_IDENTIFIER=334,E.BACKQUOTED_IDENTIFIER=335,E.SIMPLE_COMMENT=336,E.BRACKETED_COMMENT=337,E.WS=338,E.UNRECOGNIZED=339,E.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],E.literalNames=[null,"'('","')'","','","'.'","'SKIP'","'=>'","'->'","'['","']'","':'","'|'","'^'","'$'","'{-'","'-}'","'{'","'}'","'ABSENT'","'ADD'","'ADMIN'","'AFTER'","'ALL'","'ALTER'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BEGIN'","'BERNOULLI'","'BETWEEN'","'BOTH'","'BY'","'CALL'","'CALLED'","'CASCADE'","'CASE'","'CAST'","'CATALOG'","'CATALOGS'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMMITTED'","'CONDITIONAL'","'CONSTRAINT'","'COUNT'","'COPARTITION'","'CREATE'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_PATH'","'CURRENT_ROLE'","'CURRENT_SCHEMA'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DATA'","'DATE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULT'","'DEFINE'","'DEFINER'","'DELETE'","'DENY'","'DESC'","'DESCRIBE'","'DESCRIPTOR'","'DETERMINISTIC'","'DISTINCT'","'DISTRIBUTED'","'DO'","'DOUBLE'","'DROP'","'ELSE'","'EMPTY'","'ELSEIF'","'ENCODING'","'END'","'ERROR'","'ESCAPE'","'EXCEPT'","'EXCLUDING'","'EXECUTE'","'EXISTS'","'EXPLAIN'","'EXTRACT'","'FALSE'","'FETCH'","'FILTER'","'FINAL'","'FIRST'","'FOLLOWING'","'FOR'","'FORMAT'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GRACE'","'GRANT'","'GRANTED'","'GRANTS'","'GRAPHVIZ'","'GROUP'","'GROUPING'","'GROUPS'","'HAVING'","'HOUR'","'IF'","'IGNORE'","'IMMEDIATE'","'IN'","'INCLUDING'","'INITIAL'","'INNER'","'INPUT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INTO'","'INVOKER'","'IO'","'IS'","'ISOLATION'","'ITERATE'","'JOIN'","'JSON'","'JSON_ARRAY'","'JSON_EXISTS'","'JSON_OBJECT'","'JSON_QUERY'","'JSON_TABLE'","'JSON_VALUE'","'KEEP'","'KEY'","'KEYS'","'LANGUAGE'","'LAST'","'LATERAL'","'LEADING'","'LEAVE'","'LEFT'","'LEVEL'","'LIKE'","'LIMIT'","'LISTAGG'","'LOCAL'","'LOCALTIME'","'LOCALTIMESTAMP'","'LOGICAL'","'LOOP'","'MAP'","'MATCH'","'MATCHED'","'MATCHES'","'MATCH_RECOGNIZE'","'MATERIALIZED'","'MEASURES'","'MERGE'","'MINUTE'","'MONTH'","'NATURAL'","'NESTED'","'NEXT'","'NFC'","'NFD'","'NFKC'","'NFKD'","'NO'","'NONE'","'NORMALIZE'","'NOT'","'NULL'","'NULLIF'","'NULLS'","'OBJECT'","'OF'","'OFFSET'","'OMIT'","'ON'","'ONE'","'ONLY'","'OPTION'","'OR'","'ORDER'","'ORDINALITY'","'OUTER'","'OUTPUT'","'OVER'","'OVERFLOW'","'PARTITION'","'PARTITIONS'","'PASSING'","'PAST'","'PATH'","'PATTERN'","'PER'","'PERIOD'","'PERMUTE'","'PLAN'","'POSITION'","'PRECEDING'","'PRECISION'","'PREPARE'","'PRIVILEGES'","'PROPERTIES'","'PRUNE'","'QUOTES'","'RANGE'","'READ'","'RECURSIVE'","'REFRESH'","'RENAME'","'REPEAT'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'RETURN'","'RETURNING'","'RETURNS'","'REVOKE'","'RIGHT'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'RUNNING'","'SCALAR'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECURITY'","'SEEK'","'SELECT'","'SERIALIZABLE'","'SESSION'","'SET'","'SETS'","'SHOW'","'SOME'","'START'","'STATS'","'SUBSET'","'SUBSTRING'","'SYSTEM'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TEXT'","'STRING'","'THEN'","'TIES'","'TIME'","'TIMESTAMP'","'TO'","'TRAILING'","'TRANSACTION'","'TRIM'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TYPE'","'UESCAPE'","'UNBOUNDED'","'UNCOMMITTED'","'UNCONDITIONAL'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNMATCHED'","'UNNEST'","'UNTIL'","'UPDATE'","'USE'","'USER'","'USING'","'UTF16'","'UTF32'","'UTF8'","'VALIDATE'","'VALUE'","'VALUES'","'VERBOSE'","'VERSION'","'VIEW'","'WHEN'","'WHERE'","'WHILE'","'WINDOW'","'WITH'","'WITHIN'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'YEAR'","'ZONE'","'='",null,"'<'","'<='","'>'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'?'","';'"],E.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"KW_ABSENT","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BEGIN","KW_BERNOULLI","KW_BETWEEN","KW_BOTH","KW_BY","KW_CALL","KW_CALLED","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMMITTED","KW_CONDITIONAL","KW_CONSTRAINT","KW_COUNT","KW_COPARTITION","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DEFINER","KW_DELETE","KW_DENY","KW_DESC","KW_DESCRIBE","KW_DESCRIPTOR","KW_DETERMINISTIC","KW_DISTINCT","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_ELSE","KW_EMPTY","KW_ELSEIF","KW_ENCODING","KW_END","KW_ERROR","KW_ESCAPE","KW_EXCEPT","KW_EXCLUDING","KW_EXECUTE","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FINAL","KW_FIRST","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRACE","KW_GRANT","KW_GRANTED","KW_GRANTS","KW_GRAPHVIZ","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_HAVING","KW_HOUR","KW_IF","KW_IGNORE","KW_IMMEDIATE","KW_IN","KW_INCLUDING","KW_INITIAL","KW_INNER","KW_INPUT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_INVOKER","KW_IO","KW_IS","KW_ISOLATION","KW_ITERATE","KW_JOIN","KW_JSON","KW_JSON_ARRAY","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_QUERY","KW_JSON_TABLE","KW_JSON_VALUE","KW_KEEP","KW_KEY","KW_KEYS","KW_LANGUAGE","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LEVEL","KW_LIKE","KW_LIMIT","KW_LISTAGG","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOGICAL","KW_LOOP","KW_MAP","KW_MATCH","KW_MATCHED","KW_MATCHES","KW_MATCH_RECOGNIZE","KW_MATERIALIZED","KW_MEASURES","KW_MERGE","KW_MINUTE","KW_MONTH","KW_NATURAL","KW_NESTED","KW_NEXT","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLIF","KW_NULLS","KW_OBJECT","KW_OF","KW_OFFSET","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OUTPUT","KW_OVER","KW_OVERFLOW","KW_PARTITION","KW_PARTITIONS","KW_PASSING","KW_PAST","KW_PATH","KW_PATTERN","KW_PER","KW_PERIOD","KW_PERMUTE","KW_PLAN","KW_POSITION","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRIVILEGES","KW_PROPERTIES","KW_PRUNE","KW_QUOTES","KW_RANGE","KW_READ","KW_RECURSIVE","KW_REFRESH","KW_RENAME","KW_REPEAT","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_RETURN","KW_RETURNING","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_RUNNING","KW_SCALAR","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECURITY","KW_SEEK","KW_SELECT","KW_SERIALIZABLE","KW_SESSION","KW_SET","KW_SETS","KW_SHOW","KW_SOME","KW_START","KW_STATS","KW_SUBSET","KW_SUBSTRING","KW_SYSTEM","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TEXT","KW_TEXT_STRING","KW_THEN","KW_TIES","KW_TIME","KW_TIMESTAMP","KW_TO","KW_TRAILING","KW_TRANSACTION","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UESCAPE","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNCONDITIONAL","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNMATCHED","KW_UNNEST","KW_UNTIL","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_UTF16","KW_UTF32","KW_UTF8","KW_VALIDATE","KW_VALUE","KW_VALUES","KW_VERBOSE","KW_VERSION","KW_VIEW","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_YEAR","KW_ZONE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","QUESTION_MARK","SEMICOLON","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],E.modeNames=["DEFAULT_MODE"],E.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","KW_ABSENT","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BEGIN","KW_BERNOULLI","KW_BETWEEN","KW_BOTH","KW_BY","KW_CALL","KW_CALLED","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMMITTED","KW_CONDITIONAL","KW_CONSTRAINT","KW_COUNT","KW_COPARTITION","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DEFINER","KW_DELETE","KW_DENY","KW_DESC","KW_DESCRIBE","KW_DESCRIPTOR","KW_DETERMINISTIC","KW_DISTINCT","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_ELSE","KW_EMPTY","KW_ELSEIF","KW_ENCODING","KW_END","KW_ERROR","KW_ESCAPE","KW_EXCEPT","KW_EXCLUDING","KW_EXECUTE","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FINAL","KW_FIRST","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRACE","KW_GRANT","KW_GRANTED","KW_GRANTS","KW_GRAPHVIZ","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_HAVING","KW_HOUR","KW_IF","KW_IGNORE","KW_IMMEDIATE","KW_IN","KW_INCLUDING","KW_INITIAL","KW_INNER","KW_INPUT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_INVOKER","KW_IO","KW_IS","KW_ISOLATION","KW_ITERATE","KW_JOIN","KW_JSON","KW_JSON_ARRAY","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_QUERY","KW_JSON_TABLE","KW_JSON_VALUE","KW_KEEP","KW_KEY","KW_KEYS","KW_LANGUAGE","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LEVEL","KW_LIKE","KW_LIMIT","KW_LISTAGG","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOGICAL","KW_LOOP","KW_MAP","KW_MATCH","KW_MATCHED","KW_MATCHES","KW_MATCH_RECOGNIZE","KW_MATERIALIZED","KW_MEASURES","KW_MERGE","KW_MINUTE","KW_MONTH","KW_NATURAL","KW_NESTED","KW_NEXT","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLIF","KW_NULLS","KW_OBJECT","KW_OF","KW_OFFSET","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OUTPUT","KW_OVER","KW_OVERFLOW","KW_PARTITION","KW_PARTITIONS","KW_PASSING","KW_PAST","KW_PATH","KW_PATTERN","KW_PER","KW_PERIOD","KW_PERMUTE","KW_PLAN","KW_POSITION","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRIVILEGES","KW_PROPERTIES","KW_PRUNE","KW_QUOTES","KW_RANGE","KW_READ","KW_RECURSIVE","KW_REFRESH","KW_RENAME","KW_REPEAT","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_RETURN","KW_RETURNING","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_RUNNING","KW_SCALAR","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECURITY","KW_SEEK","KW_SELECT","KW_SERIALIZABLE","KW_SESSION","KW_SET","KW_SETS","KW_SHOW","KW_SOME","KW_START","KW_STATS","KW_SUBSET","KW_SUBSTRING","KW_SYSTEM","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TEXT","KW_TEXT_STRING","KW_THEN","KW_TIES","KW_TIME","KW_TIMESTAMP","KW_TO","KW_TRAILING","KW_TRANSACTION","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UESCAPE","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNCONDITIONAL","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNMATCHED","KW_UNNEST","KW_UNTIL","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_UTF16","KW_UTF32","KW_UTF8","KW_VALIDATE","KW_VALUE","KW_VALUES","KW_VERBOSE","KW_VERSION","KW_VIEW","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_YEAR","KW_ZONE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","QUESTION_MARK","SEMICOLON","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","DECIMAL_INTEGER","HEXADECIMAL_INTEGER","OCTAL_INTEGER","BINARY_INTEGER","EXPONENT","DIGIT","LETTER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED"],E._serializedATN=[4,0,339,3117,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,6,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,312,1,312,1,312,1,312,3,312,2871,8,312,1,313,1,313,1,314,1,314,1,314,1,315,1,315,1,316,1,316,1,316,1,317,1,317,1,318,1,318,1,319,1,319,1,320,1,320,1,321,1,321,1,322,1,322,1,322,1,323,1,323,1,324,1,324,1,325,1,325,1,325,1,325,5,325,2904,8,325,10,325,12,325,2907,9,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,5,326,2918,8,326,10,326,12,326,2921,9,326,1,326,1,326,1,327,1,327,1,327,1,327,5,327,2929,8,327,10,327,12,327,2932,9,327,1,327,1,327,1,328,1,328,1,328,1,328,3,328,2940,8,328,1,329,1,329,1,329,3,329,2945,8,329,1,329,1,329,3,329,2949,8,329,1,330,4,330,2952,8,330,11,330,12,330,2953,1,330,1,330,5,330,2958,8,330,10,330,12,330,2961,9,330,3,330,2963,8,330,1,330,1,330,1,330,1,330,4,330,2969,8,330,11,330,12,330,2970,1,330,1,330,3,330,2975,8,330,1,331,1,331,3,331,2979,8,331,1,331,1,331,1,331,5,331,2984,8,331,10,331,12,331,2987,9,331,1,332,1,332,1,332,1,332,4,332,2993,8,332,11,332,12,332,2994,1,333,1,333,1,333,1,333,5,333,3001,8,333,10,333,12,333,3004,9,333,1,333,1,333,1,334,1,334,1,334,1,334,5,334,3012,8,334,10,334,12,334,3015,9,334,1,334,1,334,1,335,1,335,3,335,3021,8,335,1,335,5,335,3024,8,335,10,335,12,335,3027,9,335,1,336,1,336,1,336,1,336,3,336,3033,8,336,1,336,1,336,3,336,3037,8,336,4,336,3039,8,336,11,336,12,336,3040,1,337,1,337,1,337,1,337,3,337,3047,8,337,1,337,4,337,3050,8,337,11,337,12,337,3051,1,338,1,338,1,338,1,338,3,338,3058,8,338,1,338,4,338,3061,8,338,11,338,12,338,3062,1,339,1,339,3,339,3067,8,339,1,339,4,339,3070,8,339,11,339,12,339,3071,1,340,1,340,1,341,1,341,1,342,1,342,1,342,1,342,5,342,3082,8,342,10,342,12,342,3085,9,342,1,342,3,342,3088,8,342,1,342,3,342,3091,8,342,1,342,1,342,1,343,1,343,1,343,1,343,5,343,3099,8,343,10,343,12,343,3102,9,343,1,343,1,343,1,343,1,343,1,343,1,344,4,344,3110,8,344,11,344,12,344,3111,1,344,1,344,1,345,1,345,1,3100,0,346,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,0,673,0,675,0,677,0,679,0,681,0,683,0,685,336,687,337,689,338,691,339,1,0,37,2,0,83,83,115,115,2,0,75,75,107,107,2,0,73,73,105,105,2,0,80,80,112,112,2,0,65,65,97,97,2,0,66,66,98,98,2,0,69,69,101,101,2,0,78,78,110,110,2,0,84,84,116,116,2,0,68,68,100,100,2,0,77,77,109,109,2,0,70,70,102,102,2,0,82,82,114,114,2,0,76,76,108,108,2,0,89,89,121,121,2,0,90,90,122,122,2,0,67,67,99,99,2,0,85,85,117,117,2,0,72,72,104,104,2,0,79,79,111,111,2,0,71,71,103,103,2,0,87,87,119,119,2,0,88,88,120,120,2,0,86,86,118,118,2,0,74,74,106,106,2,0,81,81,113,113,1,0,39,39,1,0,34,34,1,0,96,96,2,0,65,70,97,102,1,0,48,55,1,0,48,49,2,0,43,43,45,45,1,0,48,57,2,0,65,90,97,122,2,0,10,10,13,13,3,0,9,10,13,13,32,32,3152,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,1,693,1,0,0,0,3,695,1,0,0,0,5,697,1,0,0,0,7,699,1,0,0,0,9,701,1,0,0,0,11,706,1,0,0,0,13,709,1,0,0,0,15,712,1,0,0,0,17,714,1,0,0,0,19,716,1,0,0,0,21,718,1,0,0,0,23,720,1,0,0,0,25,722,1,0,0,0,27,724,1,0,0,0,29,727,1,0,0,0,31,730,1,0,0,0,33,732,1,0,0,0,35,734,1,0,0,0,37,741,1,0,0,0,39,745,1,0,0,0,41,751,1,0,0,0,43,757,1,0,0,0,45,761,1,0,0,0,47,767,1,0,0,0,49,775,1,0,0,0,51,779,1,0,0,0,53,783,1,0,0,0,55,789,1,0,0,0,57,792,1,0,0,0,59,796,1,0,0,0,61,799,1,0,0,0,63,813,1,0,0,0,65,819,1,0,0,0,67,829,1,0,0,0,69,837,1,0,0,0,71,842,1,0,0,0,73,845,1,0,0,0,75,850,1,0,0,0,77,857,1,0,0,0,79,865,1,0,0,0,81,870,1,0,0,0,83,875,1,0,0,0,85,883,1,0,0,0,87,892,1,0,0,0,89,899,1,0,0,0,91,907,1,0,0,0,93,915,1,0,0,0,95,922,1,0,0,0,97,932,1,0,0,0,99,944,1,0,0,0,101,955,1,0,0,0,103,961,1,0,0,0,105,973,1,0,0,0,107,980,1,0,0,0,109,986,1,0,0,0,111,991,1,0,0,0,113,999,1,0,0,0,115,1015,1,0,0,0,117,1028,1,0,0,0,119,1041,1,0,0,0,121,1054,1,0,0,0,123,1069,1,0,0,0,125,1082,1,0,0,0,127,1100,1,0,0,0,129,1113,1,0,0,0,131,1118,1,0,0,0,133,1123,1,0,0,0,135,1127,1,0,0,0,137,1138,1,0,0,0,139,1146,1,0,0,0,141,1154,1,0,0,0,143,1161,1,0,0,0,145,1169,1,0,0,0,147,1176,1,0,0,0,149,1181,1,0,0,0,151,1186,1,0,0,0,153,1195,1,0,0,0,155,1206,1,0,0,0,157,1220,1,0,0,0,159,1229,1,0,0,0,161,1241,1,0,0,0,163,1244,1,0,0,0,165,1251,1,0,0,0,167,1256,1,0,0,0,169,1261,1,0,0,0,171,1267,1,0,0,0,173,1274,1,0,0,0,175,1283,1,0,0,0,177,1287,1,0,0,0,179,1293,1,0,0,0,181,1300,1,0,0,0,183,1307,1,0,0,0,185,1317,1,0,0,0,187,1325,1,0,0,0,189,1332,1,0,0,0,191,1340,1,0,0,0,193,1348,1,0,0,0,195,1354,1,0,0,0,197,1360,1,0,0,0,199,1367,1,0,0,0,201,1373,1,0,0,0,203,1379,1,0,0,0,205,1389,1,0,0,0,207,1393,1,0,0,0,209,1400,1,0,0,0,211,1405,1,0,0,0,213,1410,1,0,0,0,215,1419,1,0,0,0,217,1429,1,0,0,0,219,1435,1,0,0,0,221,1441,1,0,0,0,223,1449,1,0,0,0,225,1456,1,0,0,0,227,1465,1,0,0,0,229,1471,1,0,0,0,231,1480,1,0,0,0,233,1487,1,0,0,0,235,1494,1,0,0,0,237,1499,1,0,0,0,239,1502,1,0,0,0,241,1509,1,0,0,0,243,1519,1,0,0,0,245,1522,1,0,0,0,247,1532,1,0,0,0,249,1540,1,0,0,0,251,1546,1,0,0,0,253,1552,1,0,0,0,255,1559,1,0,0,0,257,1569,1,0,0,0,259,1578,1,0,0,0,261,1583,1,0,0,0,263,1591,1,0,0,0,265,1594,1,0,0,0,267,1597,1,0,0,0,269,1607,1,0,0,0,271,1615,1,0,0,0,273,1620,1,0,0,0,275,1625,1,0,0,0,277,1636,1,0,0,0,279,1648,1,0,0,0,281,1660,1,0,0,0,283,1671,1,0,0,0,285,1682,1,0,0,0,287,1693,1,0,0,0,289,1698,1,0,0,0,291,1702,1,0,0,0,293,1707,1,0,0,0,295,1716,1,0,0,0,297,1721,1,0,0,0,299,1729,1,0,0,0,301,1737,1,0,0,0,303,1743,1,0,0,0,305,1748,1,0,0,0,307,1754,1,0,0,0,309,1759,1,0,0,0,311,1765,1,0,0,0,313,1773,1,0,0,0,315,1779,1,0,0,0,317,1789,1,0,0,0,319,1804,1,0,0,0,321,1812,1,0,0,0,323,1817,1,0,0,0,325,1821,1,0,0,0,327,1827,1,0,0,0,329,1835,1,0,0,0,331,1843,1,0,0,0,333,1859,1,0,0,0,335,1872,1,0,0,0,337,1881,1,0,0,0,339,1887,1,0,0,0,341,1894,1,0,0,0,343,1900,1,0,0,0,345,1908,1,0,0,0,347,1915,1,0,0,0,349,1920,1,0,0,0,351,1924,1,0,0,0,353,1928,1,0,0,0,355,1933,1,0,0,0,357,1938,1,0,0,0,359,1941,1,0,0,0,361,1946,1,0,0,0,363,1956,1,0,0,0,365,1960,1,0,0,0,367,1965,1,0,0,0,369,1972,1,0,0,0,371,1978,1,0,0,0,373,1985,1,0,0,0,375,1988,1,0,0,0,377,1995,1,0,0,0,379,2e3,1,0,0,0,381,2003,1,0,0,0,383,2007,1,0,0,0,385,2012,1,0,0,0,387,2019,1,0,0,0,389,2022,1,0,0,0,391,2028,1,0,0,0,393,2039,1,0,0,0,395,2045,1,0,0,0,397,2052,1,0,0,0,399,2057,1,0,0,0,401,2066,1,0,0,0,403,2076,1,0,0,0,405,2087,1,0,0,0,407,2095,1,0,0,0,409,2100,1,0,0,0,411,2105,1,0,0,0,413,2113,1,0,0,0,415,2117,1,0,0,0,417,2124,1,0,0,0,419,2132,1,0,0,0,421,2137,1,0,0,0,423,2146,1,0,0,0,425,2156,1,0,0,0,427,2166,1,0,0,0,429,2174,1,0,0,0,431,2185,1,0,0,0,433,2196,1,0,0,0,435,2202,1,0,0,0,437,2209,1,0,0,0,439,2215,1,0,0,0,441,2220,1,0,0,0,443,2230,1,0,0,0,445,2238,1,0,0,0,447,2245,1,0,0,0,449,2252,1,0,0,0,451,2263,1,0,0,0,453,2271,1,0,0,0,455,2277,1,0,0,0,457,2285,1,0,0,0,459,2294,1,0,0,0,461,2301,1,0,0,0,463,2311,1,0,0,0,465,2319,1,0,0,0,467,2326,1,0,0,0,469,2332,1,0,0,0,471,2337,1,0,0,0,473,2343,1,0,0,0,475,2352,1,0,0,0,477,2359,1,0,0,0,479,2363,1,0,0,0,481,2368,1,0,0,0,483,2376,1,0,0,0,485,2383,1,0,0,0,487,2390,1,0,0,0,489,2398,1,0,0,0,491,2405,1,0,0,0,493,2414,1,0,0,0,495,2419,1,0,0,0,497,2426,1,0,0,0,499,2439,1,0,0,0,501,2447,1,0,0,0,503,2451,1,0,0,0,505,2456,1,0,0,0,507,2461,1,0,0,0,509,2466,1,0,0,0,511,2472,1,0,0,0,513,2478,1,0,0,0,515,2485,1,0,0,0,517,2495,1,0,0,0,519,2502,1,0,0,0,521,2508,1,0,0,0,523,2515,1,0,0,0,525,2527,1,0,0,0,527,2532,1,0,0,0,529,2539,1,0,0,0,531,2544,1,0,0,0,533,2549,1,0,0,0,535,2554,1,0,0,0,537,2564,1,0,0,0,539,2567,1,0,0,0,541,2576,1,0,0,0,543,2588,1,0,0,0,545,2593,1,0,0,0,547,2598,1,0,0,0,549,2607,1,0,0,0,551,2616,1,0,0,0,553,2621,1,0,0,0,555,2629,1,0,0,0,557,2639,1,0,0,0,559,2651,1,0,0,0,561,2665,1,0,0,0,563,2671,1,0,0,0,565,2678,1,0,0,0,567,2686,1,0,0,0,569,2696,1,0,0,0,571,2703,1,0,0,0,573,2709,1,0,0,0,575,2716,1,0,0,0,577,2720,1,0,0,0,579,2725,1,0,0,0,581,2731,1,0,0,0,583,2737,1,0,0,0,585,2743,1,0,0,0,587,2748,1,0,0,0,589,2757,1,0,0,0,591,2763,1,0,0,0,593,2770,1,0,0,0,595,2778,1,0,0,0,597,2786,1,0,0,0,599,2791,1,0,0,0,601,2796,1,0,0,0,603,2802,1,0,0,0,605,2808,1,0,0,0,607,2815,1,0,0,0,609,2820,1,0,0,0,611,2827,1,0,0,0,613,2835,1,0,0,0,615,2840,1,0,0,0,617,2848,1,0,0,0,619,2854,1,0,0,0,621,2859,1,0,0,0,623,2864,1,0,0,0,625,2870,1,0,0,0,627,2872,1,0,0,0,629,2874,1,0,0,0,631,2877,1,0,0,0,633,2879,1,0,0,0,635,2882,1,0,0,0,637,2884,1,0,0,0,639,2886,1,0,0,0,641,2888,1,0,0,0,643,2890,1,0,0,0,645,2892,1,0,0,0,647,2895,1,0,0,0,649,2897,1,0,0,0,651,2899,1,0,0,0,653,2910,1,0,0,0,655,2924,1,0,0,0,657,2939,1,0,0,0,659,2948,1,0,0,0,661,2974,1,0,0,0,663,2978,1,0,0,0,665,2988,1,0,0,0,667,2996,1,0,0,0,669,3007,1,0,0,0,671,3018,1,0,0,0,673,3028,1,0,0,0,675,3042,1,0,0,0,677,3053,1,0,0,0,679,3064,1,0,0,0,681,3073,1,0,0,0,683,3075,1,0,0,0,685,3077,1,0,0,0,687,3094,1,0,0,0,689,3109,1,0,0,0,691,3115,1,0,0,0,693,694,5,40,0,0,694,2,1,0,0,0,695,696,5,41,0,0,696,4,1,0,0,0,697,698,5,44,0,0,698,6,1,0,0,0,699,700,5,46,0,0,700,8,1,0,0,0,701,702,7,0,0,0,702,703,7,1,0,0,703,704,7,2,0,0,704,705,7,3,0,0,705,10,1,0,0,0,706,707,5,61,0,0,707,708,5,62,0,0,708,12,1,0,0,0,709,710,5,45,0,0,710,711,5,62,0,0,711,14,1,0,0,0,712,713,5,91,0,0,713,16,1,0,0,0,714,715,5,93,0,0,715,18,1,0,0,0,716,717,5,58,0,0,717,20,1,0,0,0,718,719,5,124,0,0,719,22,1,0,0,0,720,721,5,94,0,0,721,24,1,0,0,0,722,723,5,36,0,0,723,26,1,0,0,0,724,725,5,123,0,0,725,726,5,45,0,0,726,28,1,0,0,0,727,728,5,45,0,0,728,729,5,125,0,0,729,30,1,0,0,0,730,731,5,123,0,0,731,32,1,0,0,0,732,733,5,125,0,0,733,34,1,0,0,0,734,735,7,4,0,0,735,736,7,5,0,0,736,737,7,0,0,0,737,738,7,6,0,0,738,739,7,7,0,0,739,740,7,8,0,0,740,36,1,0,0,0,741,742,7,4,0,0,742,743,7,9,0,0,743,744,7,9,0,0,744,38,1,0,0,0,745,746,7,4,0,0,746,747,7,9,0,0,747,748,7,10,0,0,748,749,7,2,0,0,749,750,7,7,0,0,750,40,1,0,0,0,751,752,7,4,0,0,752,753,7,11,0,0,753,754,7,8,0,0,754,755,7,6,0,0,755,756,7,12,0,0,756,42,1,0,0,0,757,758,7,4,0,0,758,759,7,13,0,0,759,760,7,13,0,0,760,44,1,0,0,0,761,762,7,4,0,0,762,763,7,13,0,0,763,764,7,8,0,0,764,765,7,6,0,0,765,766,7,12,0,0,766,46,1,0,0,0,767,768,7,4,0,0,768,769,7,7,0,0,769,770,7,4,0,0,770,771,7,13,0,0,771,772,7,14,0,0,772,773,7,15,0,0,773,774,7,6,0,0,774,48,1,0,0,0,775,776,7,4,0,0,776,777,7,7,0,0,777,778,7,9,0,0,778,50,1,0,0,0,779,780,7,4,0,0,780,781,7,7,0,0,781,782,7,14,0,0,782,52,1,0,0,0,783,784,7,4,0,0,784,785,7,12,0,0,785,786,7,12,0,0,786,787,7,4,0,0,787,788,7,14,0,0,788,54,1,0,0,0,789,790,7,4,0,0,790,791,7,0,0,0,791,56,1,0,0,0,792,793,7,4,0,0,793,794,7,0,0,0,794,795,7,16,0,0,795,58,1,0,0,0,796,797,7,4,0,0,797,798,7,8,0,0,798,60,1,0,0,0,799,800,7,4,0,0,800,801,7,17,0,0,801,802,7,8,0,0,802,803,7,18,0,0,803,804,7,19,0,0,804,805,7,12,0,0,805,806,7,2,0,0,806,807,7,15,0,0,807,808,7,4,0,0,808,809,7,8,0,0,809,810,7,2,0,0,810,811,7,19,0,0,811,812,7,7,0,0,812,62,1,0,0,0,813,814,7,5,0,0,814,815,7,6,0,0,815,816,7,20,0,0,816,817,7,2,0,0,817,818,7,7,0,0,818,64,1,0,0,0,819,820,7,5,0,0,820,821,7,6,0,0,821,822,7,12,0,0,822,823,7,7,0,0,823,824,7,19,0,0,824,825,7,17,0,0,825,826,7,13,0,0,826,827,7,13,0,0,827,828,7,2,0,0,828,66,1,0,0,0,829,830,7,5,0,0,830,831,7,6,0,0,831,832,7,8,0,0,832,833,7,21,0,0,833,834,7,6,0,0,834,835,7,6,0,0,835,836,7,7,0,0,836,68,1,0,0,0,837,838,7,5,0,0,838,839,7,19,0,0,839,840,7,8,0,0,840,841,7,18,0,0,841,70,1,0,0,0,842,843,7,5,0,0,843,844,7,14,0,0,844,72,1,0,0,0,845,846,7,16,0,0,846,847,7,4,0,0,847,848,7,13,0,0,848,849,7,13,0,0,849,74,1,0,0,0,850,851,7,16,0,0,851,852,7,4,0,0,852,853,7,13,0,0,853,854,7,13,0,0,854,855,7,6,0,0,855,856,7,9,0,0,856,76,1,0,0,0,857,858,7,16,0,0,858,859,7,4,0,0,859,860,7,0,0,0,860,861,7,16,0,0,861,862,7,4,0,0,862,863,7,9,0,0,863,864,7,6,0,0,864,78,1,0,0,0,865,866,7,16,0,0,866,867,7,4,0,0,867,868,7,0,0,0,868,869,7,6,0,0,869,80,1,0,0,0,870,871,7,16,0,0,871,872,7,4,0,0,872,873,7,0,0,0,873,874,7,8,0,0,874,82,1,0,0,0,875,876,7,16,0,0,876,877,7,4,0,0,877,878,7,8,0,0,878,879,7,4,0,0,879,880,7,13,0,0,880,881,7,19,0,0,881,882,7,20,0,0,882,84,1,0,0,0,883,884,7,16,0,0,884,885,7,4,0,0,885,886,7,8,0,0,886,887,7,4,0,0,887,888,7,13,0,0,888,889,7,19,0,0,889,890,7,20,0,0,890,891,7,0,0,0,891,86,1,0,0,0,892,893,7,16,0,0,893,894,7,19,0,0,894,895,7,13,0,0,895,896,7,17,0,0,896,897,7,10,0,0,897,898,7,7,0,0,898,88,1,0,0,0,899,900,7,16,0,0,900,901,7,19,0,0,901,902,7,13,0,0,902,903,7,17,0,0,903,904,7,10,0,0,904,905,7,7,0,0,905,906,7,0,0,0,906,90,1,0,0,0,907,908,7,16,0,0,908,909,7,19,0,0,909,910,7,10,0,0,910,911,7,10,0,0,911,912,7,6,0,0,912,913,7,7,0,0,913,914,7,8,0,0,914,92,1,0,0,0,915,916,7,16,0,0,916,917,7,19,0,0,917,918,7,10,0,0,918,919,7,10,0,0,919,920,7,2,0,0,920,921,7,8,0,0,921,94,1,0,0,0,922,923,7,16,0,0,923,924,7,19,0,0,924,925,7,10,0,0,925,926,7,10,0,0,926,927,7,2,0,0,927,928,7,8,0,0,928,929,7,8,0,0,929,930,7,6,0,0,930,931,7,9,0,0,931,96,1,0,0,0,932,933,7,16,0,0,933,934,7,19,0,0,934,935,7,7,0,0,935,936,7,9,0,0,936,937,7,2,0,0,937,938,7,8,0,0,938,939,7,2,0,0,939,940,7,19,0,0,940,941,7,7,0,0,941,942,7,4,0,0,942,943,7,13,0,0,943,98,1,0,0,0,944,945,7,16,0,0,945,946,7,19,0,0,946,947,7,7,0,0,947,948,7,0,0,0,948,949,7,8,0,0,949,950,7,12,0,0,950,951,7,4,0,0,951,952,7,2,0,0,952,953,7,7,0,0,953,954,7,8,0,0,954,100,1,0,0,0,955,956,7,16,0,0,956,957,7,19,0,0,957,958,7,17,0,0,958,959,7,7,0,0,959,960,7,8,0,0,960,102,1,0,0,0,961,962,7,16,0,0,962,963,7,19,0,0,963,964,7,3,0,0,964,965,7,4,0,0,965,966,7,12,0,0,966,967,7,8,0,0,967,968,7,2,0,0,968,969,7,8,0,0,969,970,7,2,0,0,970,971,7,19,0,0,971,972,7,7,0,0,972,104,1,0,0,0,973,974,7,16,0,0,974,975,7,12,0,0,975,976,7,6,0,0,976,977,7,4,0,0,977,978,7,8,0,0,978,979,7,6,0,0,979,106,1,0,0,0,980,981,7,16,0,0,981,982,7,12,0,0,982,983,7,19,0,0,983,984,7,0,0,0,984,985,7,0,0,0,985,108,1,0,0,0,986,987,7,16,0,0,987,988,7,17,0,0,988,989,7,5,0,0,989,990,7,6,0,0,990,110,1,0,0,0,991,992,7,16,0,0,992,993,7,17,0,0,993,994,7,12,0,0,994,995,7,12,0,0,995,996,7,6,0,0,996,997,7,7,0,0,997,998,7,8,0,0,998,112,1,0,0,0,999,1e3,7,16,0,0,1e3,1001,7,17,0,0,1001,1002,7,12,0,0,1002,1003,7,12,0,0,1003,1004,7,6,0,0,1004,1005,7,7,0,0,1005,1006,7,8,0,0,1006,1007,5,95,0,0,1007,1008,7,16,0,0,1008,1009,7,4,0,0,1009,1010,7,8,0,0,1010,1011,7,4,0,0,1011,1012,7,13,0,0,1012,1013,7,19,0,0,1013,1014,7,20,0,0,1014,114,1,0,0,0,1015,1016,7,16,0,0,1016,1017,7,17,0,0,1017,1018,7,12,0,0,1018,1019,7,12,0,0,1019,1020,7,6,0,0,1020,1021,7,7,0,0,1021,1022,7,8,0,0,1022,1023,5,95,0,0,1023,1024,7,9,0,0,1024,1025,7,4,0,0,1025,1026,7,8,0,0,1026,1027,7,6,0,0,1027,116,1,0,0,0,1028,1029,7,16,0,0,1029,1030,7,17,0,0,1030,1031,7,12,0,0,1031,1032,7,12,0,0,1032,1033,7,6,0,0,1033,1034,7,7,0,0,1034,1035,7,8,0,0,1035,1036,5,95,0,0,1036,1037,7,3,0,0,1037,1038,7,4,0,0,1038,1039,7,8,0,0,1039,1040,7,18,0,0,1040,118,1,0,0,0,1041,1042,7,16,0,0,1042,1043,7,17,0,0,1043,1044,7,12,0,0,1044,1045,7,12,0,0,1045,1046,7,6,0,0,1046,1047,7,7,0,0,1047,1048,7,8,0,0,1048,1049,5,95,0,0,1049,1050,7,12,0,0,1050,1051,7,19,0,0,1051,1052,7,13,0,0,1052,1053,7,6,0,0,1053,120,1,0,0,0,1054,1055,7,16,0,0,1055,1056,7,17,0,0,1056,1057,7,12,0,0,1057,1058,7,12,0,0,1058,1059,7,6,0,0,1059,1060,7,7,0,0,1060,1061,7,8,0,0,1061,1062,5,95,0,0,1062,1063,7,0,0,0,1063,1064,7,16,0,0,1064,1065,7,18,0,0,1065,1066,7,6,0,0,1066,1067,7,10,0,0,1067,1068,7,4,0,0,1068,122,1,0,0,0,1069,1070,7,16,0,0,1070,1071,7,17,0,0,1071,1072,7,12,0,0,1072,1073,7,12,0,0,1073,1074,7,6,0,0,1074,1075,7,7,0,0,1075,1076,7,8,0,0,1076,1077,5,95,0,0,1077,1078,7,8,0,0,1078,1079,7,2,0,0,1079,1080,7,10,0,0,1080,1081,7,6,0,0,1081,124,1,0,0,0,1082,1083,7,16,0,0,1083,1084,7,17,0,0,1084,1085,7,12,0,0,1085,1086,7,12,0,0,1086,1087,7,6,0,0,1087,1088,7,7,0,0,1088,1089,7,8,0,0,1089,1090,5,95,0,0,1090,1091,7,8,0,0,1091,1092,7,2,0,0,1092,1093,7,10,0,0,1093,1094,7,6,0,0,1094,1095,7,0,0,0,1095,1096,7,8,0,0,1096,1097,7,4,0,0,1097,1098,7,10,0,0,1098,1099,7,3,0,0,1099,126,1,0,0,0,1100,1101,7,16,0,0,1101,1102,7,17,0,0,1102,1103,7,12,0,0,1103,1104,7,12,0,0,1104,1105,7,6,0,0,1105,1106,7,7,0,0,1106,1107,7,8,0,0,1107,1108,5,95,0,0,1108,1109,7,17,0,0,1109,1110,7,0,0,0,1110,1111,7,6,0,0,1111,1112,7,12,0,0,1112,128,1,0,0,0,1113,1114,7,9,0,0,1114,1115,7,4,0,0,1115,1116,7,8,0,0,1116,1117,7,4,0,0,1117,130,1,0,0,0,1118,1119,7,9,0,0,1119,1120,7,4,0,0,1120,1121,7,8,0,0,1121,1122,7,6,0,0,1122,132,1,0,0,0,1123,1124,7,9,0,0,1124,1125,7,4,0,0,1125,1126,7,14,0,0,1126,134,1,0,0,0,1127,1128,7,9,0,0,1128,1129,7,6,0,0,1129,1130,7,4,0,0,1130,1131,7,13,0,0,1131,1132,7,13,0,0,1132,1133,7,19,0,0,1133,1134,7,16,0,0,1134,1135,7,4,0,0,1135,1136,7,8,0,0,1136,1137,7,6,0,0,1137,136,1,0,0,0,1138,1139,7,9,0,0,1139,1140,7,6,0,0,1140,1141,7,16,0,0,1141,1142,7,13,0,0,1142,1143,7,4,0,0,1143,1144,7,12,0,0,1144,1145,7,6,0,0,1145,138,1,0,0,0,1146,1147,7,9,0,0,1147,1148,7,6,0,0,1148,1149,7,11,0,0,1149,1150,7,4,0,0,1150,1151,7,17,0,0,1151,1152,7,13,0,0,1152,1153,7,8,0,0,1153,140,1,0,0,0,1154,1155,7,9,0,0,1155,1156,7,6,0,0,1156,1157,7,11,0,0,1157,1158,7,2,0,0,1158,1159,7,7,0,0,1159,1160,7,6,0,0,1160,142,1,0,0,0,1161,1162,7,9,0,0,1162,1163,7,6,0,0,1163,1164,7,11,0,0,1164,1165,7,2,0,0,1165,1166,7,7,0,0,1166,1167,7,6,0,0,1167,1168,7,12,0,0,1168,144,1,0,0,0,1169,1170,7,9,0,0,1170,1171,7,6,0,0,1171,1172,7,13,0,0,1172,1173,7,6,0,0,1173,1174,7,8,0,0,1174,1175,7,6,0,0,1175,146,1,0,0,0,1176,1177,7,9,0,0,1177,1178,7,6,0,0,1178,1179,7,7,0,0,1179,1180,7,14,0,0,1180,148,1,0,0,0,1181,1182,7,9,0,0,1182,1183,7,6,0,0,1183,1184,7,0,0,0,1184,1185,7,16,0,0,1185,150,1,0,0,0,1186,1187,7,9,0,0,1187,1188,7,6,0,0,1188,1189,7,0,0,0,1189,1190,7,16,0,0,1190,1191,7,12,0,0,1191,1192,7,2,0,0,1192,1193,7,5,0,0,1193,1194,7,6,0,0,1194,152,1,0,0,0,1195,1196,7,9,0,0,1196,1197,7,6,0,0,1197,1198,7,0,0,0,1198,1199,7,16,0,0,1199,1200,7,12,0,0,1200,1201,7,2,0,0,1201,1202,7,3,0,0,1202,1203,7,8,0,0,1203,1204,7,19,0,0,1204,1205,7,12,0,0,1205,154,1,0,0,0,1206,1207,7,9,0,0,1207,1208,7,6,0,0,1208,1209,7,8,0,0,1209,1210,7,6,0,0,1210,1211,7,12,0,0,1211,1212,7,10,0,0,1212,1213,7,2,0,0,1213,1214,7,7,0,0,1214,1215,7,2,0,0,1215,1216,7,0,0,0,1216,1217,7,8,0,0,1217,1218,7,2,0,0,1218,1219,7,16,0,0,1219,156,1,0,0,0,1220,1221,7,9,0,0,1221,1222,7,2,0,0,1222,1223,7,0,0,0,1223,1224,7,8,0,0,1224,1225,7,2,0,0,1225,1226,7,7,0,0,1226,1227,7,16,0,0,1227,1228,7,8,0,0,1228,158,1,0,0,0,1229,1230,7,9,0,0,1230,1231,7,2,0,0,1231,1232,7,0,0,0,1232,1233,7,8,0,0,1233,1234,7,12,0,0,1234,1235,7,2,0,0,1235,1236,7,5,0,0,1236,1237,7,17,0,0,1237,1238,7,8,0,0,1238,1239,7,6,0,0,1239,1240,7,9,0,0,1240,160,1,0,0,0,1241,1242,7,9,0,0,1242,1243,7,19,0,0,1243,162,1,0,0,0,1244,1245,7,9,0,0,1245,1246,7,19,0,0,1246,1247,7,17,0,0,1247,1248,7,5,0,0,1248,1249,7,13,0,0,1249,1250,7,6,0,0,1250,164,1,0,0,0,1251,1252,7,9,0,0,1252,1253,7,12,0,0,1253,1254,7,19,0,0,1254,1255,7,3,0,0,1255,166,1,0,0,0,1256,1257,7,6,0,0,1257,1258,7,13,0,0,1258,1259,7,0,0,0,1259,1260,7,6,0,0,1260,168,1,0,0,0,1261,1262,7,6,0,0,1262,1263,7,10,0,0,1263,1264,7,3,0,0,1264,1265,7,8,0,0,1265,1266,7,14,0,0,1266,170,1,0,0,0,1267,1268,7,6,0,0,1268,1269,7,13,0,0,1269,1270,7,0,0,0,1270,1271,7,6,0,0,1271,1272,7,2,0,0,1272,1273,7,11,0,0,1273,172,1,0,0,0,1274,1275,7,6,0,0,1275,1276,7,7,0,0,1276,1277,7,16,0,0,1277,1278,7,19,0,0,1278,1279,7,9,0,0,1279,1280,7,2,0,0,1280,1281,7,7,0,0,1281,1282,7,20,0,0,1282,174,1,0,0,0,1283,1284,7,6,0,0,1284,1285,7,7,0,0,1285,1286,7,9,0,0,1286,176,1,0,0,0,1287,1288,7,6,0,0,1288,1289,7,12,0,0,1289,1290,7,12,0,0,1290,1291,7,19,0,0,1291,1292,7,12,0,0,1292,178,1,0,0,0,1293,1294,7,6,0,0,1294,1295,7,0,0,0,1295,1296,7,16,0,0,1296,1297,7,4,0,0,1297,1298,7,3,0,0,1298,1299,7,6,0,0,1299,180,1,0,0,0,1300,1301,7,6,0,0,1301,1302,7,22,0,0,1302,1303,7,16,0,0,1303,1304,7,6,0,0,1304,1305,7,3,0,0,1305,1306,7,8,0,0,1306,182,1,0,0,0,1307,1308,7,6,0,0,1308,1309,7,22,0,0,1309,1310,7,16,0,0,1310,1311,7,13,0,0,1311,1312,7,17,0,0,1312,1313,7,9,0,0,1313,1314,7,2,0,0,1314,1315,7,7,0,0,1315,1316,7,20,0,0,1316,184,1,0,0,0,1317,1318,7,6,0,0,1318,1319,7,22,0,0,1319,1320,7,6,0,0,1320,1321,7,16,0,0,1321,1322,7,17,0,0,1322,1323,7,8,0,0,1323,1324,7,6,0,0,1324,186,1,0,0,0,1325,1326,7,6,0,0,1326,1327,7,22,0,0,1327,1328,7,2,0,0,1328,1329,7,0,0,0,1329,1330,7,8,0,0,1330,1331,7,0,0,0,1331,188,1,0,0,0,1332,1333,7,6,0,0,1333,1334,7,22,0,0,1334,1335,7,3,0,0,1335,1336,7,13,0,0,1336,1337,7,4,0,0,1337,1338,7,2,0,0,1338,1339,7,7,0,0,1339,190,1,0,0,0,1340,1341,7,6,0,0,1341,1342,7,22,0,0,1342,1343,7,8,0,0,1343,1344,7,12,0,0,1344,1345,7,4,0,0,1345,1346,7,16,0,0,1346,1347,7,8,0,0,1347,192,1,0,0,0,1348,1349,7,11,0,0,1349,1350,7,4,0,0,1350,1351,7,13,0,0,1351,1352,7,0,0,0,1352,1353,7,6,0,0,1353,194,1,0,0,0,1354,1355,7,11,0,0,1355,1356,7,6,0,0,1356,1357,7,8,0,0,1357,1358,7,16,0,0,1358,1359,7,18,0,0,1359,196,1,0,0,0,1360,1361,7,11,0,0,1361,1362,7,2,0,0,1362,1363,7,13,0,0,1363,1364,7,8,0,0,1364,1365,7,6,0,0,1365,1366,7,12,0,0,1366,198,1,0,0,0,1367,1368,7,11,0,0,1368,1369,7,2,0,0,1369,1370,7,7,0,0,1370,1371,7,4,0,0,1371,1372,7,13,0,0,1372,200,1,0,0,0,1373,1374,7,11,0,0,1374,1375,7,2,0,0,1375,1376,7,12,0,0,1376,1377,7,0,0,0,1377,1378,7,8,0,0,1378,202,1,0,0,0,1379,1380,7,11,0,0,1380,1381,7,19,0,0,1381,1382,7,13,0,0,1382,1383,7,13,0,0,1383,1384,7,19,0,0,1384,1385,7,21,0,0,1385,1386,7,2,0,0,1386,1387,7,7,0,0,1387,1388,7,20,0,0,1388,204,1,0,0,0,1389,1390,7,11,0,0,1390,1391,7,19,0,0,1391,1392,7,12,0,0,1392,206,1,0,0,0,1393,1394,7,11,0,0,1394,1395,7,19,0,0,1395,1396,7,12,0,0,1396,1397,7,10,0,0,1397,1398,7,4,0,0,1398,1399,7,8,0,0,1399,208,1,0,0,0,1400,1401,7,11,0,0,1401,1402,7,12,0,0,1402,1403,7,19,0,0,1403,1404,7,10,0,0,1404,210,1,0,0,0,1405,1406,7,11,0,0,1406,1407,7,17,0,0,1407,1408,7,13,0,0,1408,1409,7,13,0,0,1409,212,1,0,0,0,1410,1411,7,11,0,0,1411,1412,7,17,0,0,1412,1413,7,7,0,0,1413,1414,7,16,0,0,1414,1415,7,8,0,0,1415,1416,7,2,0,0,1416,1417,7,19,0,0,1417,1418,7,7,0,0,1418,214,1,0,0,0,1419,1420,7,11,0,0,1420,1421,7,17,0,0,1421,1422,7,7,0,0,1422,1423,7,16,0,0,1423,1424,7,8,0,0,1424,1425,7,2,0,0,1425,1426,7,19,0,0,1426,1427,7,7,0,0,1427,1428,7,0,0,0,1428,216,1,0,0,0,1429,1430,7,20,0,0,1430,1431,7,12,0,0,1431,1432,7,4,0,0,1432,1433,7,16,0,0,1433,1434,7,6,0,0,1434,218,1,0,0,0,1435,1436,7,20,0,0,1436,1437,7,12,0,0,1437,1438,7,4,0,0,1438,1439,7,7,0,0,1439,1440,7,8,0,0,1440,220,1,0,0,0,1441,1442,7,20,0,0,1442,1443,7,12,0,0,1443,1444,7,4,0,0,1444,1445,7,7,0,0,1445,1446,7,8,0,0,1446,1447,7,6,0,0,1447,1448,7,9,0,0,1448,222,1,0,0,0,1449,1450,7,20,0,0,1450,1451,7,12,0,0,1451,1452,7,4,0,0,1452,1453,7,7,0,0,1453,1454,7,8,0,0,1454,1455,7,0,0,0,1455,224,1,0,0,0,1456,1457,7,20,0,0,1457,1458,7,12,0,0,1458,1459,7,4,0,0,1459,1460,7,3,0,0,1460,1461,7,18,0,0,1461,1462,7,23,0,0,1462,1463,7,2,0,0,1463,1464,7,15,0,0,1464,226,1,0,0,0,1465,1466,7,20,0,0,1466,1467,7,12,0,0,1467,1468,7,19,0,0,1468,1469,7,17,0,0,1469,1470,7,3,0,0,1470,228,1,0,0,0,1471,1472,7,20,0,0,1472,1473,7,12,0,0,1473,1474,7,19,0,0,1474,1475,7,17,0,0,1475,1476,7,3,0,0,1476,1477,7,2,0,0,1477,1478,7,7,0,0,1478,1479,7,20,0,0,1479,230,1,0,0,0,1480,1481,7,20,0,0,1481,1482,7,12,0,0,1482,1483,7,19,0,0,1483,1484,7,17,0,0,1484,1485,7,3,0,0,1485,1486,7,0,0,0,1486,232,1,0,0,0,1487,1488,7,18,0,0,1488,1489,7,4,0,0,1489,1490,7,23,0,0,1490,1491,7,2,0,0,1491,1492,7,7,0,0,1492,1493,7,20,0,0,1493,234,1,0,0,0,1494,1495,7,18,0,0,1495,1496,7,19,0,0,1496,1497,7,17,0,0,1497,1498,7,12,0,0,1498,236,1,0,0,0,1499,1500,7,2,0,0,1500,1501,7,11,0,0,1501,238,1,0,0,0,1502,1503,7,2,0,0,1503,1504,7,20,0,0,1504,1505,7,7,0,0,1505,1506,7,19,0,0,1506,1507,7,12,0,0,1507,1508,7,6,0,0,1508,240,1,0,0,0,1509,1510,7,2,0,0,1510,1511,7,10,0,0,1511,1512,7,10,0,0,1512,1513,7,6,0,0,1513,1514,7,9,0,0,1514,1515,7,2,0,0,1515,1516,7,4,0,0,1516,1517,7,8,0,0,1517,1518,7,6,0,0,1518,242,1,0,0,0,1519,1520,7,2,0,0,1520,1521,7,7,0,0,1521,244,1,0,0,0,1522,1523,7,2,0,0,1523,1524,7,7,0,0,1524,1525,7,16,0,0,1525,1526,7,13,0,0,1526,1527,7,17,0,0,1527,1528,7,9,0,0,1528,1529,7,2,0,0,1529,1530,7,7,0,0,1530,1531,7,20,0,0,1531,246,1,0,0,0,1532,1533,7,2,0,0,1533,1534,7,7,0,0,1534,1535,7,2,0,0,1535,1536,7,8,0,0,1536,1537,7,2,0,0,1537,1538,7,4,0,0,1538,1539,7,13,0,0,1539,248,1,0,0,0,1540,1541,7,2,0,0,1541,1542,7,7,0,0,1542,1543,7,7,0,0,1543,1544,7,6,0,0,1544,1545,7,12,0,0,1545,250,1,0,0,0,1546,1547,7,2,0,0,1547,1548,7,7,0,0,1548,1549,7,3,0,0,1549,1550,7,17,0,0,1550,1551,7,8,0,0,1551,252,1,0,0,0,1552,1553,7,2,0,0,1553,1554,7,7,0,0,1554,1555,7,0,0,0,1555,1556,7,6,0,0,1556,1557,7,12,0,0,1557,1558,7,8,0,0,1558,254,1,0,0,0,1559,1560,7,2,0,0,1560,1561,7,7,0,0,1561,1562,7,8,0,0,1562,1563,7,6,0,0,1563,1564,7,12,0,0,1564,1565,7,0,0,0,1565,1566,7,6,0,0,1566,1567,7,16,0,0,1567,1568,7,8,0,0,1568,256,1,0,0,0,1569,1570,7,2,0,0,1570,1571,7,7,0,0,1571,1572,7,8,0,0,1572,1573,7,6,0,0,1573,1574,7,12,0,0,1574,1575,7,23,0,0,1575,1576,7,4,0,0,1576,1577,7,13,0,0,1577,258,1,0,0,0,1578,1579,7,2,0,0,1579,1580,7,7,0,0,1580,1581,7,8,0,0,1581,1582,7,19,0,0,1582,260,1,0,0,0,1583,1584,7,2,0,0,1584,1585,7,7,0,0,1585,1586,7,23,0,0,1586,1587,7,19,0,0,1587,1588,7,1,0,0,1588,1589,7,6,0,0,1589,1590,7,12,0,0,1590,262,1,0,0,0,1591,1592,7,2,0,0,1592,1593,7,19,0,0,1593,264,1,0,0,0,1594,1595,7,2,0,0,1595,1596,7,0,0,0,1596,266,1,0,0,0,1597,1598,7,2,0,0,1598,1599,7,0,0,0,1599,1600,7,19,0,0,1600,1601,7,13,0,0,1601,1602,7,4,0,0,1602,1603,7,8,0,0,1603,1604,7,2,0,0,1604,1605,7,19,0,0,1605,1606,7,7,0,0,1606,268,1,0,0,0,1607,1608,7,2,0,0,1608,1609,7,8,0,0,1609,1610,7,6,0,0,1610,1611,7,12,0,0,1611,1612,7,4,0,0,1612,1613,7,8,0,0,1613,1614,7,6,0,0,1614,270,1,0,0,0,1615,1616,7,24,0,0,1616,1617,7,19,0,0,1617,1618,7,2,0,0,1618,1619,7,7,0,0,1619,272,1,0,0,0,1620,1621,7,24,0,0,1621,1622,7,0,0,0,1622,1623,7,19,0,0,1623,1624,7,7,0,0,1624,274,1,0,0,0,1625,1626,7,24,0,0,1626,1627,7,0,0,0,1627,1628,7,19,0,0,1628,1629,7,7,0,0,1629,1630,5,95,0,0,1630,1631,7,4,0,0,1631,1632,7,12,0,0,1632,1633,7,12,0,0,1633,1634,7,4,0,0,1634,1635,7,14,0,0,1635,276,1,0,0,0,1636,1637,7,24,0,0,1637,1638,7,0,0,0,1638,1639,7,19,0,0,1639,1640,7,7,0,0,1640,1641,5,95,0,0,1641,1642,7,6,0,0,1642,1643,7,22,0,0,1643,1644,7,2,0,0,1644,1645,7,0,0,0,1645,1646,7,8,0,0,1646,1647,7,0,0,0,1647,278,1,0,0,0,1648,1649,7,24,0,0,1649,1650,7,0,0,0,1650,1651,7,19,0,0,1651,1652,7,7,0,0,1652,1653,5,95,0,0,1653,1654,7,19,0,0,1654,1655,7,5,0,0,1655,1656,7,24,0,0,1656,1657,7,6,0,0,1657,1658,7,16,0,0,1658,1659,7,8,0,0,1659,280,1,0,0,0,1660,1661,7,24,0,0,1661,1662,7,0,0,0,1662,1663,7,19,0,0,1663,1664,7,7,0,0,1664,1665,5,95,0,0,1665,1666,7,25,0,0,1666,1667,7,17,0,0,1667,1668,7,6,0,0,1668,1669,7,12,0,0,1669,1670,7,14,0,0,1670,282,1,0,0,0,1671,1672,7,24,0,0,1672,1673,7,0,0,0,1673,1674,7,19,0,0,1674,1675,7,7,0,0,1675,1676,5,95,0,0,1676,1677,7,8,0,0,1677,1678,7,4,0,0,1678,1679,7,5,0,0,1679,1680,7,13,0,0,1680,1681,7,6,0,0,1681,284,1,0,0,0,1682,1683,7,24,0,0,1683,1684,7,0,0,0,1684,1685,7,19,0,0,1685,1686,7,7,0,0,1686,1687,5,95,0,0,1687,1688,7,23,0,0,1688,1689,7,4,0,0,1689,1690,7,13,0,0,1690,1691,7,17,0,0,1691,1692,7,6,0,0,1692,286,1,0,0,0,1693,1694,7,1,0,0,1694,1695,7,6,0,0,1695,1696,7,6,0,0,1696,1697,7,3,0,0,1697,288,1,0,0,0,1698,1699,7,1,0,0,1699,1700,7,6,0,0,1700,1701,7,14,0,0,1701,290,1,0,0,0,1702,1703,7,1,0,0,1703,1704,7,6,0,0,1704,1705,7,14,0,0,1705,1706,7,0,0,0,1706,292,1,0,0,0,1707,1708,7,13,0,0,1708,1709,7,4,0,0,1709,1710,7,7,0,0,1710,1711,7,20,0,0,1711,1712,7,17,0,0,1712,1713,7,4,0,0,1713,1714,7,20,0,0,1714,1715,7,6,0,0,1715,294,1,0,0,0,1716,1717,7,13,0,0,1717,1718,7,4,0,0,1718,1719,7,0,0,0,1719,1720,7,8,0,0,1720,296,1,0,0,0,1721,1722,7,13,0,0,1722,1723,7,4,0,0,1723,1724,7,8,0,0,1724,1725,7,6,0,0,1725,1726,7,12,0,0,1726,1727,7,4,0,0,1727,1728,7,13,0,0,1728,298,1,0,0,0,1729,1730,7,13,0,0,1730,1731,7,6,0,0,1731,1732,7,4,0,0,1732,1733,7,9,0,0,1733,1734,7,2,0,0,1734,1735,7,7,0,0,1735,1736,7,20,0,0,1736,300,1,0,0,0,1737,1738,7,13,0,0,1738,1739,7,6,0,0,1739,1740,7,4,0,0,1740,1741,7,23,0,0,1741,1742,7,6,0,0,1742,302,1,0,0,0,1743,1744,7,13,0,0,1744,1745,7,6,0,0,1745,1746,7,11,0,0,1746,1747,7,8,0,0,1747,304,1,0,0,0,1748,1749,7,13,0,0,1749,1750,7,6,0,0,1750,1751,7,23,0,0,1751,1752,7,6,0,0,1752,1753,7,13,0,0,1753,306,1,0,0,0,1754,1755,7,13,0,0,1755,1756,7,2,0,0,1756,1757,7,1,0,0,1757,1758,7,6,0,0,1758,308,1,0,0,0,1759,1760,7,13,0,0,1760,1761,7,2,0,0,1761,1762,7,10,0,0,1762,1763,7,2,0,0,1763,1764,7,8,0,0,1764,310,1,0,0,0,1765,1766,7,13,0,0,1766,1767,7,2,0,0,1767,1768,7,0,0,0,1768,1769,7,8,0,0,1769,1770,7,4,0,0,1770,1771,7,20,0,0,1771,1772,7,20,0,0,1772,312,1,0,0,0,1773,1774,7,13,0,0,1774,1775,7,19,0,0,1775,1776,7,16,0,0,1776,1777,7,4,0,0,1777,1778,7,13,0,0,1778,314,1,0,0,0,1779,1780,7,13,0,0,1780,1781,7,19,0,0,1781,1782,7,16,0,0,1782,1783,7,4,0,0,1783,1784,7,13,0,0,1784,1785,7,8,0,0,1785,1786,7,2,0,0,1786,1787,7,10,0,0,1787,1788,7,6,0,0,1788,316,1,0,0,0,1789,1790,7,13,0,0,1790,1791,7,19,0,0,1791,1792,7,16,0,0,1792,1793,7,4,0,0,1793,1794,7,13,0,0,1794,1795,7,8,0,0,1795,1796,7,2,0,0,1796,1797,7,10,0,0,1797,1798,7,6,0,0,1798,1799,7,0,0,0,1799,1800,7,8,0,0,1800,1801,7,4,0,0,1801,1802,7,10,0,0,1802,1803,7,3,0,0,1803,318,1,0,0,0,1804,1805,7,13,0,0,1805,1806,7,19,0,0,1806,1807,7,20,0,0,1807,1808,7,2,0,0,1808,1809,7,16,0,0,1809,1810,7,4,0,0,1810,1811,7,13,0,0,1811,320,1,0,0,0,1812,1813,7,13,0,0,1813,1814,7,19,0,0,1814,1815,7,19,0,0,1815,1816,7,3,0,0,1816,322,1,0,0,0,1817,1818,7,10,0,0,1818,1819,7,4,0,0,1819,1820,7,3,0,0,1820,324,1,0,0,0,1821,1822,7,10,0,0,1822,1823,7,4,0,0,1823,1824,7,8,0,0,1824,1825,7,16,0,0,1825,1826,7,18,0,0,1826,326,1,0,0,0,1827,1828,7,10,0,0,1828,1829,7,4,0,0,1829,1830,7,8,0,0,1830,1831,7,16,0,0,1831,1832,7,18,0,0,1832,1833,7,6,0,0,1833,1834,7,9,0,0,1834,328,1,0,0,0,1835,1836,7,10,0,0,1836,1837,7,4,0,0,1837,1838,7,8,0,0,1838,1839,7,16,0,0,1839,1840,7,18,0,0,1840,1841,7,6,0,0,1841,1842,7,0,0,0,1842,330,1,0,0,0,1843,1844,7,10,0,0,1844,1845,7,4,0,0,1845,1846,7,8,0,0,1846,1847,7,16,0,0,1847,1848,7,18,0,0,1848,1849,5,95,0,0,1849,1850,7,12,0,0,1850,1851,7,6,0,0,1851,1852,7,16,0,0,1852,1853,7,19,0,0,1853,1854,7,20,0,0,1854,1855,7,7,0,0,1855,1856,7,2,0,0,1856,1857,7,15,0,0,1857,1858,7,6,0,0,1858,332,1,0,0,0,1859,1860,7,10,0,0,1860,1861,7,4,0,0,1861,1862,7,8,0,0,1862,1863,7,6,0,0,1863,1864,7,12,0,0,1864,1865,7,2,0,0,1865,1866,7,4,0,0,1866,1867,7,13,0,0,1867,1868,7,2,0,0,1868,1869,7,15,0,0,1869,1870,7,6,0,0,1870,1871,7,9,0,0,1871,334,1,0,0,0,1872,1873,7,10,0,0,1873,1874,7,6,0,0,1874,1875,7,4,0,0,1875,1876,7,0,0,0,1876,1877,7,17,0,0,1877,1878,7,12,0,0,1878,1879,7,6,0,0,1879,1880,7,0,0,0,1880,336,1,0,0,0,1881,1882,7,10,0,0,1882,1883,7,6,0,0,1883,1884,7,12,0,0,1884,1885,7,20,0,0,1885,1886,7,6,0,0,1886,338,1,0,0,0,1887,1888,7,10,0,0,1888,1889,7,2,0,0,1889,1890,7,7,0,0,1890,1891,7,17,0,0,1891,1892,7,8,0,0,1892,1893,7,6,0,0,1893,340,1,0,0,0,1894,1895,7,10,0,0,1895,1896,7,19,0,0,1896,1897,7,7,0,0,1897,1898,7,8,0,0,1898,1899,7,18,0,0,1899,342,1,0,0,0,1900,1901,7,7,0,0,1901,1902,7,4,0,0,1902,1903,7,8,0,0,1903,1904,7,17,0,0,1904,1905,7,12,0,0,1905,1906,7,4,0,0,1906,1907,7,13,0,0,1907,344,1,0,0,0,1908,1909,7,7,0,0,1909,1910,7,6,0,0,1910,1911,7,0,0,0,1911,1912,7,8,0,0,1912,1913,7,6,0,0,1913,1914,7,9,0,0,1914,346,1,0,0,0,1915,1916,7,7,0,0,1916,1917,7,6,0,0,1917,1918,7,22,0,0,1918,1919,7,8,0,0,1919,348,1,0,0,0,1920,1921,7,7,0,0,1921,1922,7,11,0,0,1922,1923,7,16,0,0,1923,350,1,0,0,0,1924,1925,7,7,0,0,1925,1926,7,11,0,0,1926,1927,7,9,0,0,1927,352,1,0,0,0,1928,1929,7,7,0,0,1929,1930,7,11,0,0,1930,1931,7,1,0,0,1931,1932,7,16,0,0,1932,354,1,0,0,0,1933,1934,7,7,0,0,1934,1935,7,11,0,0,1935,1936,7,1,0,0,1936,1937,7,9,0,0,1937,356,1,0,0,0,1938,1939,7,7,0,0,1939,1940,7,19,0,0,1940,358,1,0,0,0,1941,1942,7,7,0,0,1942,1943,7,19,0,0,1943,1944,7,7,0,0,1944,1945,7,6,0,0,1945,360,1,0,0,0,1946,1947,7,7,0,0,1947,1948,7,19,0,0,1948,1949,7,12,0,0,1949,1950,7,10,0,0,1950,1951,7,4,0,0,1951,1952,7,13,0,0,1952,1953,7,2,0,0,1953,1954,7,15,0,0,1954,1955,7,6,0,0,1955,362,1,0,0,0,1956,1957,7,7,0,0,1957,1958,7,19,0,0,1958,1959,7,8,0,0,1959,364,1,0,0,0,1960,1961,7,7,0,0,1961,1962,7,17,0,0,1962,1963,7,13,0,0,1963,1964,7,13,0,0,1964,366,1,0,0,0,1965,1966,7,7,0,0,1966,1967,7,17,0,0,1967,1968,7,13,0,0,1968,1969,7,13,0,0,1969,1970,7,2,0,0,1970,1971,7,11,0,0,1971,368,1,0,0,0,1972,1973,7,7,0,0,1973,1974,7,17,0,0,1974,1975,7,13,0,0,1975,1976,7,13,0,0,1976,1977,7,0,0,0,1977,370,1,0,0,0,1978,1979,7,19,0,0,1979,1980,7,5,0,0,1980,1981,7,24,0,0,1981,1982,7,6,0,0,1982,1983,7,16,0,0,1983,1984,7,8,0,0,1984,372,1,0,0,0,1985,1986,7,19,0,0,1986,1987,7,11,0,0,1987,374,1,0,0,0,1988,1989,7,19,0,0,1989,1990,7,11,0,0,1990,1991,7,11,0,0,1991,1992,7,0,0,0,1992,1993,7,6,0,0,1993,1994,7,8,0,0,1994,376,1,0,0,0,1995,1996,7,19,0,0,1996,1997,7,10,0,0,1997,1998,7,2,0,0,1998,1999,7,8,0,0,1999,378,1,0,0,0,2e3,2001,7,19,0,0,2001,2002,7,7,0,0,2002,380,1,0,0,0,2003,2004,7,19,0,0,2004,2005,7,7,0,0,2005,2006,7,6,0,0,2006,382,1,0,0,0,2007,2008,7,19,0,0,2008,2009,7,7,0,0,2009,2010,7,13,0,0,2010,2011,7,14,0,0,2011,384,1,0,0,0,2012,2013,7,19,0,0,2013,2014,7,3,0,0,2014,2015,7,8,0,0,2015,2016,7,2,0,0,2016,2017,7,19,0,0,2017,2018,7,7,0,0,2018,386,1,0,0,0,2019,2020,7,19,0,0,2020,2021,7,12,0,0,2021,388,1,0,0,0,2022,2023,7,19,0,0,2023,2024,7,12,0,0,2024,2025,7,9,0,0,2025,2026,7,6,0,0,2026,2027,7,12,0,0,2027,390,1,0,0,0,2028,2029,7,19,0,0,2029,2030,7,12,0,0,2030,2031,7,9,0,0,2031,2032,7,2,0,0,2032,2033,7,7,0,0,2033,2034,7,4,0,0,2034,2035,7,13,0,0,2035,2036,7,2,0,0,2036,2037,7,8,0,0,2037,2038,7,14,0,0,2038,392,1,0,0,0,2039,2040,7,19,0,0,2040,2041,7,17,0,0,2041,2042,7,8,0,0,2042,2043,7,6,0,0,2043,2044,7,12,0,0,2044,394,1,0,0,0,2045,2046,7,19,0,0,2046,2047,7,17,0,0,2047,2048,7,8,0,0,2048,2049,7,3,0,0,2049,2050,7,17,0,0,2050,2051,7,8,0,0,2051,396,1,0,0,0,2052,2053,7,19,0,0,2053,2054,7,23,0,0,2054,2055,7,6,0,0,2055,2056,7,12,0,0,2056,398,1,0,0,0,2057,2058,7,19,0,0,2058,2059,7,23,0,0,2059,2060,7,6,0,0,2060,2061,7,12,0,0,2061,2062,7,11,0,0,2062,2063,7,13,0,0,2063,2064,7,19,0,0,2064,2065,7,21,0,0,2065,400,1,0,0,0,2066,2067,7,3,0,0,2067,2068,7,4,0,0,2068,2069,7,12,0,0,2069,2070,7,8,0,0,2070,2071,7,2,0,0,2071,2072,7,8,0,0,2072,2073,7,2,0,0,2073,2074,7,19,0,0,2074,2075,7,7,0,0,2075,402,1,0,0,0,2076,2077,7,3,0,0,2077,2078,7,4,0,0,2078,2079,7,12,0,0,2079,2080,7,8,0,0,2080,2081,7,2,0,0,2081,2082,7,8,0,0,2082,2083,7,2,0,0,2083,2084,7,19,0,0,2084,2085,7,7,0,0,2085,2086,7,0,0,0,2086,404,1,0,0,0,2087,2088,7,3,0,0,2088,2089,7,4,0,0,2089,2090,7,0,0,0,2090,2091,7,0,0,0,2091,2092,7,2,0,0,2092,2093,7,7,0,0,2093,2094,7,20,0,0,2094,406,1,0,0,0,2095,2096,7,3,0,0,2096,2097,7,4,0,0,2097,2098,7,0,0,0,2098,2099,7,8,0,0,2099,408,1,0,0,0,2100,2101,7,3,0,0,2101,2102,7,4,0,0,2102,2103,7,8,0,0,2103,2104,7,18,0,0,2104,410,1,0,0,0,2105,2106,7,3,0,0,2106,2107,7,4,0,0,2107,2108,7,8,0,0,2108,2109,7,8,0,0,2109,2110,7,6,0,0,2110,2111,7,12,0,0,2111,2112,7,7,0,0,2112,412,1,0,0,0,2113,2114,7,3,0,0,2114,2115,7,6,0,0,2115,2116,7,12,0,0,2116,414,1,0,0,0,2117,2118,7,3,0,0,2118,2119,7,6,0,0,2119,2120,7,12,0,0,2120,2121,7,2,0,0,2121,2122,7,19,0,0,2122,2123,7,9,0,0,2123,416,1,0,0,0,2124,2125,7,3,0,0,2125,2126,7,6,0,0,2126,2127,7,12,0,0,2127,2128,7,10,0,0,2128,2129,7,17,0,0,2129,2130,7,8,0,0,2130,2131,7,6,0,0,2131,418,1,0,0,0,2132,2133,7,3,0,0,2133,2134,7,13,0,0,2134,2135,7,4,0,0,2135,2136,7,7,0,0,2136,420,1,0,0,0,2137,2138,7,3,0,0,2138,2139,7,19,0,0,2139,2140,7,0,0,0,2140,2141,7,2,0,0,2141,2142,7,8,0,0,2142,2143,7,2,0,0,2143,2144,7,19,0,0,2144,2145,7,7,0,0,2145,422,1,0,0,0,2146,2147,7,3,0,0,2147,2148,7,12,0,0,2148,2149,7,6,0,0,2149,2150,7,16,0,0,2150,2151,7,6,0,0,2151,2152,7,9,0,0,2152,2153,7,2,0,0,2153,2154,7,7,0,0,2154,2155,7,20,0,0,2155,424,1,0,0,0,2156,2157,7,3,0,0,2157,2158,7,12,0,0,2158,2159,7,6,0,0,2159,2160,7,16,0,0,2160,2161,7,2,0,0,2161,2162,7,0,0,0,2162,2163,7,2,0,0,2163,2164,7,19,0,0,2164,2165,7,7,0,0,2165,426,1,0,0,0,2166,2167,7,3,0,0,2167,2168,7,12,0,0,2168,2169,7,6,0,0,2169,2170,7,3,0,0,2170,2171,7,4,0,0,2171,2172,7,12,0,0,2172,2173,7,6,0,0,2173,428,1,0,0,0,2174,2175,7,3,0,0,2175,2176,7,12,0,0,2176,2177,7,2,0,0,2177,2178,7,23,0,0,2178,2179,7,2,0,0,2179,2180,7,13,0,0,2180,2181,7,6,0,0,2181,2182,7,20,0,0,2182,2183,7,6,0,0,2183,2184,7,0,0,0,2184,430,1,0,0,0,2185,2186,7,3,0,0,2186,2187,7,12,0,0,2187,2188,7,19,0,0,2188,2189,7,3,0,0,2189,2190,7,6,0,0,2190,2191,7,12,0,0,2191,2192,7,8,0,0,2192,2193,7,2,0,0,2193,2194,7,6,0,0,2194,2195,7,0,0,0,2195,432,1,0,0,0,2196,2197,7,3,0,0,2197,2198,7,12,0,0,2198,2199,7,17,0,0,2199,2200,7,7,0,0,2200,2201,7,6,0,0,2201,434,1,0,0,0,2202,2203,7,25,0,0,2203,2204,7,17,0,0,2204,2205,7,19,0,0,2205,2206,7,8,0,0,2206,2207,7,6,0,0,2207,2208,7,0,0,0,2208,436,1,0,0,0,2209,2210,7,12,0,0,2210,2211,7,4,0,0,2211,2212,7,7,0,0,2212,2213,7,20,0,0,2213,2214,7,6,0,0,2214,438,1,0,0,0,2215,2216,7,12,0,0,2216,2217,7,6,0,0,2217,2218,7,4,0,0,2218,2219,7,9,0,0,2219,440,1,0,0,0,2220,2221,7,12,0,0,2221,2222,7,6,0,0,2222,2223,7,16,0,0,2223,2224,7,17,0,0,2224,2225,7,12,0,0,2225,2226,7,0,0,0,2226,2227,7,2,0,0,2227,2228,7,23,0,0,2228,2229,7,6,0,0,2229,442,1,0,0,0,2230,2231,7,12,0,0,2231,2232,7,6,0,0,2232,2233,7,11,0,0,2233,2234,7,12,0,0,2234,2235,7,6,0,0,2235,2236,7,0,0,0,2236,2237,7,18,0,0,2237,444,1,0,0,0,2238,2239,7,12,0,0,2239,2240,7,6,0,0,2240,2241,7,7,0,0,2241,2242,7,4,0,0,2242,2243,7,10,0,0,2243,2244,7,6,0,0,2244,446,1,0,0,0,2245,2246,7,12,0,0,2246,2247,7,6,0,0,2247,2248,7,3,0,0,2248,2249,7,6,0,0,2249,2250,7,4,0,0,2250,2251,7,8,0,0,2251,448,1,0,0,0,2252,2253,7,12,0,0,2253,2254,7,6,0,0,2254,2255,7,3,0,0,2255,2256,7,6,0,0,2256,2257,7,4,0,0,2257,2258,7,8,0,0,2258,2259,7,4,0,0,2259,2260,7,5,0,0,2260,2261,7,13,0,0,2261,2262,7,6,0,0,2262,450,1,0,0,0,2263,2264,7,12,0,0,2264,2265,7,6,0,0,2265,2266,7,3,0,0,2266,2267,7,13,0,0,2267,2268,7,4,0,0,2268,2269,7,16,0,0,2269,2270,7,6,0,0,2270,452,1,0,0,0,2271,2272,7,12,0,0,2272,2273,7,6,0,0,2273,2274,7,0,0,0,2274,2275,7,6,0,0,2275,2276,7,8,0,0,2276,454,1,0,0,0,2277,2278,7,12,0,0,2278,2279,7,6,0,0,2279,2280,7,0,0,0,2280,2281,7,3,0,0,2281,2282,7,6,0,0,2282,2283,7,16,0,0,2283,2284,7,8,0,0,2284,456,1,0,0,0,2285,2286,7,12,0,0,2286,2287,7,6,0,0,2287,2288,7,0,0,0,2288,2289,7,8,0,0,2289,2290,7,12,0,0,2290,2291,7,2,0,0,2291,2292,7,16,0,0,2292,2293,7,8,0,0,2293,458,1,0,0,0,2294,2295,7,12,0,0,2295,2296,7,6,0,0,2296,2297,7,8,0,0,2297,2298,7,17,0,0,2298,2299,7,12,0,0,2299,2300,7,7,0,0,2300,460,1,0,0,0,2301,2302,7,12,0,0,2302,2303,7,6,0,0,2303,2304,7,8,0,0,2304,2305,7,17,0,0,2305,2306,7,12,0,0,2306,2307,7,7,0,0,2307,2308,7,2,0,0,2308,2309,7,7,0,0,2309,2310,7,20,0,0,2310,462,1,0,0,0,2311,2312,7,12,0,0,2312,2313,7,6,0,0,2313,2314,7,8,0,0,2314,2315,7,17,0,0,2315,2316,7,12,0,0,2316,2317,7,7,0,0,2317,2318,7,0,0,0,2318,464,1,0,0,0,2319,2320,7,12,0,0,2320,2321,7,6,0,0,2321,2322,7,23,0,0,2322,2323,7,19,0,0,2323,2324,7,1,0,0,2324,2325,7,6,0,0,2325,466,1,0,0,0,2326,2327,7,12,0,0,2327,2328,7,2,0,0,2328,2329,7,20,0,0,2329,2330,7,18,0,0,2330,2331,7,8,0,0,2331,468,1,0,0,0,2332,2333,7,12,0,0,2333,2334,7,19,0,0,2334,2335,7,13,0,0,2335,2336,7,6,0,0,2336,470,1,0,0,0,2337,2338,7,12,0,0,2338,2339,7,19,0,0,2339,2340,7,13,0,0,2340,2341,7,6,0,0,2341,2342,7,0,0,0,2342,472,1,0,0,0,2343,2344,7,12,0,0,2344,2345,7,19,0,0,2345,2346,7,13,0,0,2346,2347,7,13,0,0,2347,2348,7,5,0,0,2348,2349,7,4,0,0,2349,2350,7,16,0,0,2350,2351,7,1,0,0,2351,474,1,0,0,0,2352,2353,7,12,0,0,2353,2354,7,19,0,0,2354,2355,7,13,0,0,2355,2356,7,13,0,0,2356,2357,7,17,0,0,2357,2358,7,3,0,0,2358,476,1,0,0,0,2359,2360,7,12,0,0,2360,2361,7,19,0,0,2361,2362,7,21,0,0,2362,478,1,0,0,0,2363,2364,7,12,0,0,2364,2365,7,19,0,0,2365,2366,7,21,0,0,2366,2367,7,0,0,0,2367,480,1,0,0,0,2368,2369,7,12,0,0,2369,2370,7,17,0,0,2370,2371,7,7,0,0,2371,2372,7,7,0,0,2372,2373,7,2,0,0,2373,2374,7,7,0,0,2374,2375,7,20,0,0,2375,482,1,0,0,0,2376,2377,7,0,0,0,2377,2378,7,16,0,0,2378,2379,7,4,0,0,2379,2380,7,13,0,0,2380,2381,7,4,0,0,2381,2382,7,12,0,0,2382,484,1,0,0,0,2383,2384,7,0,0,0,2384,2385,7,16,0,0,2385,2386,7,18,0,0,2386,2387,7,6,0,0,2387,2388,7,10,0,0,2388,2389,7,4,0,0,2389,486,1,0,0,0,2390,2391,7,0,0,0,2391,2392,7,16,0,0,2392,2393,7,18,0,0,2393,2394,7,6,0,0,2394,2395,7,10,0,0,2395,2396,7,4,0,0,2396,2397,7,0,0,0,2397,488,1,0,0,0,2398,2399,7,0,0,0,2399,2400,7,6,0,0,2400,2401,7,16,0,0,2401,2402,7,19,0,0,2402,2403,7,7,0,0,2403,2404,7,9,0,0,2404,490,1,0,0,0,2405,2406,7,0,0,0,2406,2407,7,6,0,0,2407,2408,7,16,0,0,2408,2409,7,17,0,0,2409,2410,7,12,0,0,2410,2411,7,2,0,0,2411,2412,7,8,0,0,2412,2413,7,14,0,0,2413,492,1,0,0,0,2414,2415,7,0,0,0,2415,2416,7,6,0,0,2416,2417,7,6,0,0,2417,2418,7,1,0,0,2418,494,1,0,0,0,2419,2420,7,0,0,0,2420,2421,7,6,0,0,2421,2422,7,13,0,0,2422,2423,7,6,0,0,2423,2424,7,16,0,0,2424,2425,7,8,0,0,2425,496,1,0,0,0,2426,2427,7,0,0,0,2427,2428,7,6,0,0,2428,2429,7,12,0,0,2429,2430,7,2,0,0,2430,2431,7,4,0,0,2431,2432,7,13,0,0,2432,2433,7,2,0,0,2433,2434,7,15,0,0,2434,2435,7,4,0,0,2435,2436,7,5,0,0,2436,2437,7,13,0,0,2437,2438,7,6,0,0,2438,498,1,0,0,0,2439,2440,7,0,0,0,2440,2441,7,6,0,0,2441,2442,7,0,0,0,2442,2443,7,0,0,0,2443,2444,7,2,0,0,2444,2445,7,19,0,0,2445,2446,7,7,0,0,2446,500,1,0,0,0,2447,2448,7,0,0,0,2448,2449,7,6,0,0,2449,2450,7,8,0,0,2450,502,1,0,0,0,2451,2452,7,0,0,0,2452,2453,7,6,0,0,2453,2454,7,8,0,0,2454,2455,7,0,0,0,2455,504,1,0,0,0,2456,2457,7,0,0,0,2457,2458,7,18,0,0,2458,2459,7,19,0,0,2459,2460,7,21,0,0,2460,506,1,0,0,0,2461,2462,7,0,0,0,2462,2463,7,19,0,0,2463,2464,7,10,0,0,2464,2465,7,6,0,0,2465,508,1,0,0,0,2466,2467,7,0,0,0,2467,2468,7,8,0,0,2468,2469,7,4,0,0,2469,2470,7,12,0,0,2470,2471,7,8,0,0,2471,510,1,0,0,0,2472,2473,7,0,0,0,2473,2474,7,8,0,0,2474,2475,7,4,0,0,2475,2476,7,8,0,0,2476,2477,7,0,0,0,2477,512,1,0,0,0,2478,2479,7,0,0,0,2479,2480,7,17,0,0,2480,2481,7,5,0,0,2481,2482,7,0,0,0,2482,2483,7,6,0,0,2483,2484,7,8,0,0,2484,514,1,0,0,0,2485,2486,7,0,0,0,2486,2487,7,17,0,0,2487,2488,7,5,0,0,2488,2489,7,0,0,0,2489,2490,7,8,0,0,2490,2491,7,12,0,0,2491,2492,7,2,0,0,2492,2493,7,7,0,0,2493,2494,7,20,0,0,2494,516,1,0,0,0,2495,2496,7,0,0,0,2496,2497,7,14,0,0,2497,2498,7,0,0,0,2498,2499,7,8,0,0,2499,2500,7,6,0,0,2500,2501,7,10,0,0,2501,518,1,0,0,0,2502,2503,7,8,0,0,2503,2504,7,4,0,0,2504,2505,7,5,0,0,2505,2506,7,13,0,0,2506,2507,7,6,0,0,2507,520,1,0,0,0,2508,2509,7,8,0,0,2509,2510,7,4,0,0,2510,2511,7,5,0,0,2511,2512,7,13,0,0,2512,2513,7,6,0,0,2513,2514,7,0,0,0,2514,522,1,0,0,0,2515,2516,7,8,0,0,2516,2517,7,4,0,0,2517,2518,7,5,0,0,2518,2519,7,13,0,0,2519,2520,7,6,0,0,2520,2521,7,0,0,0,2521,2522,7,4,0,0,2522,2523,7,10,0,0,2523,2524,7,3,0,0,2524,2525,7,13,0,0,2525,2526,7,6,0,0,2526,524,1,0,0,0,2527,2528,7,8,0,0,2528,2529,7,6,0,0,2529,2530,7,22,0,0,2530,2531,7,8,0,0,2531,526,1,0,0,0,2532,2533,7,0,0,0,2533,2534,7,8,0,0,2534,2535,7,12,0,0,2535,2536,7,2,0,0,2536,2537,7,7,0,0,2537,2538,7,20,0,0,2538,528,1,0,0,0,2539,2540,7,8,0,0,2540,2541,7,18,0,0,2541,2542,7,6,0,0,2542,2543,7,7,0,0,2543,530,1,0,0,0,2544,2545,7,8,0,0,2545,2546,7,2,0,0,2546,2547,7,6,0,0,2547,2548,7,0,0,0,2548,532,1,0,0,0,2549,2550,7,8,0,0,2550,2551,7,2,0,0,2551,2552,7,10,0,0,2552,2553,7,6,0,0,2553,534,1,0,0,0,2554,2555,7,8,0,0,2555,2556,7,2,0,0,2556,2557,7,10,0,0,2557,2558,7,6,0,0,2558,2559,7,0,0,0,2559,2560,7,8,0,0,2560,2561,7,4,0,0,2561,2562,7,10,0,0,2562,2563,7,3,0,0,2563,536,1,0,0,0,2564,2565,7,8,0,0,2565,2566,7,19,0,0,2566,538,1,0,0,0,2567,2568,7,8,0,0,2568,2569,7,12,0,0,2569,2570,7,4,0,0,2570,2571,7,2,0,0,2571,2572,7,13,0,0,2572,2573,7,2,0,0,2573,2574,7,7,0,0,2574,2575,7,20,0,0,2575,540,1,0,0,0,2576,2577,7,8,0,0,2577,2578,7,12,0,0,2578,2579,7,4,0,0,2579,2580,7,7,0,0,2580,2581,7,0,0,0,2581,2582,7,4,0,0,2582,2583,7,16,0,0,2583,2584,7,8,0,0,2584,2585,7,2,0,0,2585,2586,7,19,0,0,2586,2587,7,7,0,0,2587,542,1,0,0,0,2588,2589,7,8,0,0,2589,2590,7,12,0,0,2590,2591,7,2,0,0,2591,2592,7,10,0,0,2592,544,1,0,0,0,2593,2594,7,8,0,0,2594,2595,7,12,0,0,2595,2596,7,17,0,0,2596,2597,7,6,0,0,2597,546,1,0,0,0,2598,2599,7,8,0,0,2599,2600,7,12,0,0,2600,2601,7,17,0,0,2601,2602,7,7,0,0,2602,2603,7,16,0,0,2603,2604,7,4,0,0,2604,2605,7,8,0,0,2605,2606,7,6,0,0,2606,548,1,0,0,0,2607,2608,7,8,0,0,2608,2609,7,12,0,0,2609,2610,7,14,0,0,2610,2611,5,95,0,0,2611,2612,7,16,0,0,2612,2613,7,4,0,0,2613,2614,7,0,0,0,2614,2615,7,8,0,0,2615,550,1,0,0,0,2616,2617,7,8,0,0,2617,2618,7,14,0,0,2618,2619,7,3,0,0,2619,2620,7,6,0,0,2620,552,1,0,0,0,2621,2622,7,17,0,0,2622,2623,7,6,0,0,2623,2624,7,0,0,0,2624,2625,7,16,0,0,2625,2626,7,4,0,0,2626,2627,7,3,0,0,2627,2628,7,6,0,0,2628,554,1,0,0,0,2629,2630,7,17,0,0,2630,2631,7,7,0,0,2631,2632,7,5,0,0,2632,2633,7,19,0,0,2633,2634,7,17,0,0,2634,2635,7,7,0,0,2635,2636,7,9,0,0,2636,2637,7,6,0,0,2637,2638,7,9,0,0,2638,556,1,0,0,0,2639,2640,7,17,0,0,2640,2641,7,7,0,0,2641,2642,7,16,0,0,2642,2643,7,19,0,0,2643,2644,7,10,0,0,2644,2645,7,10,0,0,2645,2646,7,2,0,0,2646,2647,7,8,0,0,2647,2648,7,8,0,0,2648,2649,7,6,0,0,2649,2650,7,9,0,0,2650,558,1,0,0,0,2651,2652,7,17,0,0,2652,2653,7,7,0,0,2653,2654,7,16,0,0,2654,2655,7,19,0,0,2655,2656,7,7,0,0,2656,2657,7,9,0,0,2657,2658,7,2,0,0,2658,2659,7,8,0,0,2659,2660,7,2,0,0,2660,2661,7,19,0,0,2661,2662,7,7,0,0,2662,2663,7,4,0,0,2663,2664,7,13,0,0,2664,560,1,0,0,0,2665,2666,7,17,0,0,2666,2667,7,7,0,0,2667,2668,7,2,0,0,2668,2669,7,19,0,0,2669,2670,7,7,0,0,2670,562,1,0,0,0,2671,2672,7,17,0,0,2672,2673,7,7,0,0,2673,2674,7,2,0,0,2674,2675,7,25,0,0,2675,2676,7,17,0,0,2676,2677,7,6,0,0,2677,564,1,0,0,0,2678,2679,7,17,0,0,2679,2680,7,7,0,0,2680,2681,7,1,0,0,2681,2682,7,7,0,0,2682,2683,7,19,0,0,2683,2684,7,21,0,0,2684,2685,7,7,0,0,2685,566,1,0,0,0,2686,2687,7,17,0,0,2687,2688,7,7,0,0,2688,2689,7,10,0,0,2689,2690,7,4,0,0,2690,2691,7,8,0,0,2691,2692,7,16,0,0,2692,2693,7,18,0,0,2693,2694,7,6,0,0,2694,2695,7,9,0,0,2695,568,1,0,0,0,2696,2697,7,17,0,0,2697,2698,7,7,0,0,2698,2699,7,7,0,0,2699,2700,7,6,0,0,2700,2701,7,0,0,0,2701,2702,7,8,0,0,2702,570,1,0,0,0,2703,2704,7,17,0,0,2704,2705,7,7,0,0,2705,2706,7,8,0,0,2706,2707,7,2,0,0,2707,2708,7,13,0,0,2708,572,1,0,0,0,2709,2710,7,17,0,0,2710,2711,7,3,0,0,2711,2712,7,9,0,0,2712,2713,7,4,0,0,2713,2714,7,8,0,0,2714,2715,7,6,0,0,2715,574,1,0,0,0,2716,2717,7,17,0,0,2717,2718,7,0,0,0,2718,2719,7,6,0,0,2719,576,1,0,0,0,2720,2721,7,17,0,0,2721,2722,7,0,0,0,2722,2723,7,6,0,0,2723,2724,7,12,0,0,2724,578,1,0,0,0,2725,2726,7,17,0,0,2726,2727,7,0,0,0,2727,2728,7,2,0,0,2728,2729,7,7,0,0,2729,2730,7,20,0,0,2730,580,1,0,0,0,2731,2732,7,17,0,0,2732,2733,7,8,0,0,2733,2734,7,11,0,0,2734,2735,5,49,0,0,2735,2736,5,54,0,0,2736,582,1,0,0,0,2737,2738,7,17,0,0,2738,2739,7,8,0,0,2739,2740,7,11,0,0,2740,2741,5,51,0,0,2741,2742,5,50,0,0,2742,584,1,0,0,0,2743,2744,7,17,0,0,2744,2745,7,8,0,0,2745,2746,7,11,0,0,2746,2747,5,56,0,0,2747,586,1,0,0,0,2748,2749,7,23,0,0,2749,2750,7,4,0,0,2750,2751,7,13,0,0,2751,2752,7,2,0,0,2752,2753,7,9,0,0,2753,2754,7,4,0,0,2754,2755,7,8,0,0,2755,2756,7,6,0,0,2756,588,1,0,0,0,2757,2758,7,23,0,0,2758,2759,7,4,0,0,2759,2760,7,13,0,0,2760,2761,7,17,0,0,2761,2762,7,6,0,0,2762,590,1,0,0,0,2763,2764,7,23,0,0,2764,2765,7,4,0,0,2765,2766,7,13,0,0,2766,2767,7,17,0,0,2767,2768,7,6,0,0,2768,2769,7,0,0,0,2769,592,1,0,0,0,2770,2771,7,23,0,0,2771,2772,7,6,0,0,2772,2773,7,12,0,0,2773,2774,7,5,0,0,2774,2775,7,19,0,0,2775,2776,7,0,0,0,2776,2777,7,6,0,0,2777,594,1,0,0,0,2778,2779,7,23,0,0,2779,2780,7,6,0,0,2780,2781,7,12,0,0,2781,2782,7,0,0,0,2782,2783,7,2,0,0,2783,2784,7,19,0,0,2784,2785,7,7,0,0,2785,596,1,0,0,0,2786,2787,7,23,0,0,2787,2788,7,2,0,0,2788,2789,7,6,0,0,2789,2790,7,21,0,0,2790,598,1,0,0,0,2791,2792,7,21,0,0,2792,2793,7,18,0,0,2793,2794,7,6,0,0,2794,2795,7,7,0,0,2795,600,1,0,0,0,2796,2797,7,21,0,0,2797,2798,7,18,0,0,2798,2799,7,6,0,0,2799,2800,7,12,0,0,2800,2801,7,6,0,0,2801,602,1,0,0,0,2802,2803,7,21,0,0,2803,2804,7,18,0,0,2804,2805,7,2,0,0,2805,2806,7,13,0,0,2806,2807,7,6,0,0,2807,604,1,0,0,0,2808,2809,7,21,0,0,2809,2810,7,2,0,0,2810,2811,7,7,0,0,2811,2812,7,9,0,0,2812,2813,7,19,0,0,2813,2814,7,21,0,0,2814,606,1,0,0,0,2815,2816,7,21,0,0,2816,2817,7,2,0,0,2817,2818,7,8,0,0,2818,2819,7,18,0,0,2819,608,1,0,0,0,2820,2821,7,21,0,0,2821,2822,7,2,0,0,2822,2823,7,8,0,0,2823,2824,7,18,0,0,2824,2825,7,2,0,0,2825,2826,7,7,0,0,2826,610,1,0,0,0,2827,2828,7,21,0,0,2828,2829,7,2,0,0,2829,2830,7,8,0,0,2830,2831,7,18,0,0,2831,2832,7,19,0,0,2832,2833,7,17,0,0,2833,2834,7,8,0,0,2834,612,1,0,0,0,2835,2836,7,21,0,0,2836,2837,7,19,0,0,2837,2838,7,12,0,0,2838,2839,7,1,0,0,2839,614,1,0,0,0,2840,2841,7,21,0,0,2841,2842,7,12,0,0,2842,2843,7,4,0,0,2843,2844,7,3,0,0,2844,2845,7,3,0,0,2845,2846,7,6,0,0,2846,2847,7,12,0,0,2847,616,1,0,0,0,2848,2849,7,21,0,0,2849,2850,7,12,0,0,2850,2851,7,2,0,0,2851,2852,7,8,0,0,2852,2853,7,6,0,0,2853,618,1,0,0,0,2854,2855,7,14,0,0,2855,2856,7,6,0,0,2856,2857,7,4,0,0,2857,2858,7,12,0,0,2858,620,1,0,0,0,2859,2860,7,15,0,0,2860,2861,7,19,0,0,2861,2862,7,7,0,0,2862,2863,7,6,0,0,2863,622,1,0,0,0,2864,2865,5,61,0,0,2865,624,1,0,0,0,2866,2867,5,60,0,0,2867,2871,5,62,0,0,2868,2869,5,33,0,0,2869,2871,5,61,0,0,2870,2866,1,0,0,0,2870,2868,1,0,0,0,2871,626,1,0,0,0,2872,2873,5,60,0,0,2873,628,1,0,0,0,2874,2875,5,60,0,0,2875,2876,5,61,0,0,2876,630,1,0,0,0,2877,2878,5,62,0,0,2878,632,1,0,0,0,2879,2880,5,62,0,0,2880,2881,5,61,0,0,2881,634,1,0,0,0,2882,2883,5,43,0,0,2883,636,1,0,0,0,2884,2885,5,45,0,0,2885,638,1,0,0,0,2886,2887,5,42,0,0,2887,640,1,0,0,0,2888,2889,5,47,0,0,2889,642,1,0,0,0,2890,2891,5,37,0,0,2891,644,1,0,0,0,2892,2893,5,124,0,0,2893,2894,5,124,0,0,2894,646,1,0,0,0,2895,2896,5,63,0,0,2896,648,1,0,0,0,2897,2898,5,59,0,0,2898,650,1,0,0,0,2899,2905,5,39,0,0,2900,2904,8,26,0,0,2901,2902,5,39,0,0,2902,2904,5,39,0,0,2903,2900,1,0,0,0,2903,2901,1,0,0,0,2904,2907,1,0,0,0,2905,2903,1,0,0,0,2905,2906,1,0,0,0,2906,2908,1,0,0,0,2907,2905,1,0,0,0,2908,2909,5,39,0,0,2909,652,1,0,0,0,2910,2911,7,17,0,0,2911,2912,5,38,0,0,2912,2913,5,39,0,0,2913,2919,1,0,0,0,2914,2918,8,26,0,0,2915,2916,5,39,0,0,2916,2918,5,39,0,0,2917,2914,1,0,0,0,2917,2915,1,0,0,0,2918,2921,1,0,0,0,2919,2917,1,0,0,0,2919,2920,1,0,0,0,2920,2922,1,0,0,0,2921,2919,1,0,0,0,2922,2923,5,39,0,0,2923,654,1,0,0,0,2924,2925,7,22,0,0,2925,2926,5,39,0,0,2926,2930,1,0,0,0,2927,2929,8,26,0,0,2928,2927,1,0,0,0,2929,2932,1,0,0,0,2930,2928,1,0,0,0,2930,2931,1,0,0,0,2931,2933,1,0,0,0,2932,2930,1,0,0,0,2933,2934,5,39,0,0,2934,656,1,0,0,0,2935,2940,3,671,335,0,2936,2940,3,673,336,0,2937,2940,3,675,337,0,2938,2940,3,677,338,0,2939,2935,1,0,0,0,2939,2936,1,0,0,0,2939,2937,1,0,0,0,2939,2938,1,0,0,0,2940,658,1,0,0,0,2941,2942,3,671,335,0,2942,2944,5,46,0,0,2943,2945,3,671,335,0,2944,2943,1,0,0,0,2944,2945,1,0,0,0,2945,2949,1,0,0,0,2946,2947,5,46,0,0,2947,2949,3,671,335,0,2948,2941,1,0,0,0,2948,2946,1,0,0,0,2949,660,1,0,0,0,2950,2952,3,681,340,0,2951,2950,1,0,0,0,2952,2953,1,0,0,0,2953,2951,1,0,0,0,2953,2954,1,0,0,0,2954,2962,1,0,0,0,2955,2959,5,46,0,0,2956,2958,3,681,340,0,2957,2956,1,0,0,0,2958,2961,1,0,0,0,2959,2957,1,0,0,0,2959,2960,1,0,0,0,2960,2963,1,0,0,0,2961,2959,1,0,0,0,2962,2955,1,0,0,0,2962,2963,1,0,0,0,2963,2964,1,0,0,0,2964,2965,3,679,339,0,2965,2975,1,0,0,0,2966,2968,5,46,0,0,2967,2969,3,681,340,0,2968,2967,1,0,0,0,2969,2970,1,0,0,0,2970,2968,1,0,0,0,2970,2971,1,0,0,0,2971,2972,1,0,0,0,2972,2973,3,679,339,0,2973,2975,1,0,0,0,2974,2951,1,0,0,0,2974,2966,1,0,0,0,2975,662,1,0,0,0,2976,2979,3,683,341,0,2977,2979,5,95,0,0,2978,2976,1,0,0,0,2978,2977,1,0,0,0,2979,2985,1,0,0,0,2980,2984,3,683,341,0,2981,2984,3,681,340,0,2982,2984,5,95,0,0,2983,2980,1,0,0,0,2983,2981,1,0,0,0,2983,2982,1,0,0,0,2984,2987,1,0,0,0,2985,2983,1,0,0,0,2985,2986,1,0,0,0,2986,664,1,0,0,0,2987,2985,1,0,0,0,2988,2992,3,681,340,0,2989,2993,3,683,341,0,2990,2993,3,681,340,0,2991,2993,5,95,0,0,2992,2989,1,0,0,0,2992,2990,1,0,0,0,2992,2991,1,0,0,0,2993,2994,1,0,0,0,2994,2992,1,0,0,0,2994,2995,1,0,0,0,2995,666,1,0,0,0,2996,3002,5,34,0,0,2997,3001,8,27,0,0,2998,2999,5,34,0,0,2999,3001,5,34,0,0,3e3,2997,1,0,0,0,3e3,2998,1,0,0,0,3001,3004,1,0,0,0,3002,3e3,1,0,0,0,3002,3003,1,0,0,0,3003,3005,1,0,0,0,3004,3002,1,0,0,0,3005,3006,5,34,0,0,3006,668,1,0,0,0,3007,3013,5,96,0,0,3008,3012,8,28,0,0,3009,3010,5,96,0,0,3010,3012,5,96,0,0,3011,3008,1,0,0,0,3011,3009,1,0,0,0,3012,3015,1,0,0,0,3013,3011,1,0,0,0,3013,3014,1,0,0,0,3014,3016,1,0,0,0,3015,3013,1,0,0,0,3016,3017,5,96,0,0,3017,670,1,0,0,0,3018,3025,3,681,340,0,3019,3021,5,95,0,0,3020,3019,1,0,0,0,3020,3021,1,0,0,0,3021,3022,1,0,0,0,3022,3024,3,681,340,0,3023,3020,1,0,0,0,3024,3027,1,0,0,0,3025,3023,1,0,0,0,3025,3026,1,0,0,0,3026,672,1,0,0,0,3027,3025,1,0,0,0,3028,3029,5,48,0,0,3029,3030,7,22,0,0,3030,3038,1,0,0,0,3031,3033,5,95,0,0,3032,3031,1,0,0,0,3032,3033,1,0,0,0,3033,3036,1,0,0,0,3034,3037,3,681,340,0,3035,3037,7,29,0,0,3036,3034,1,0,0,0,3036,3035,1,0,0,0,3037,3039,1,0,0,0,3038,3032,1,0,0,0,3039,3040,1,0,0,0,3040,3038,1,0,0,0,3040,3041,1,0,0,0,3041,674,1,0,0,0,3042,3043,5,48,0,0,3043,3044,7,19,0,0,3044,3049,1,0,0,0,3045,3047,5,95,0,0,3046,3045,1,0,0,0,3046,3047,1,0,0,0,3047,3048,1,0,0,0,3048,3050,7,30,0,0,3049,3046,1,0,0,0,3050,3051,1,0,0,0,3051,3049,1,0,0,0,3051,3052,1,0,0,0,3052,676,1,0,0,0,3053,3054,5,48,0,0,3054,3055,7,5,0,0,3055,3060,1,0,0,0,3056,3058,5,95,0,0,3057,3056,1,0,0,0,3057,3058,1,0,0,0,3058,3059,1,0,0,0,3059,3061,7,31,0,0,3060,3057,1,0,0,0,3061,3062,1,0,0,0,3062,3060,1,0,0,0,3062,3063,1,0,0,0,3063,678,1,0,0,0,3064,3066,7,6,0,0,3065,3067,7,32,0,0,3066,3065,1,0,0,0,3066,3067,1,0,0,0,3067,3069,1,0,0,0,3068,3070,3,681,340,0,3069,3068,1,0,0,0,3070,3071,1,0,0,0,3071,3069,1,0,0,0,3071,3072,1,0,0,0,3072,680,1,0,0,0,3073,3074,7,33,0,0,3074,682,1,0,0,0,3075,3076,7,34,0,0,3076,684,1,0,0,0,3077,3078,5,45,0,0,3078,3079,5,45,0,0,3079,3083,1,0,0,0,3080,3082,8,35,0,0,3081,3080,1,0,0,0,3082,3085,1,0,0,0,3083,3081,1,0,0,0,3083,3084,1,0,0,0,3084,3087,1,0,0,0,3085,3083,1,0,0,0,3086,3088,5,13,0,0,3087,3086,1,0,0,0,3087,3088,1,0,0,0,3088,3090,1,0,0,0,3089,3091,5,10,0,0,3090,3089,1,0,0,0,3090,3091,1,0,0,0,3091,3092,1,0,0,0,3092,3093,6,342,0,0,3093,686,1,0,0,0,3094,3095,5,47,0,0,3095,3096,5,42,0,0,3096,3100,1,0,0,0,3097,3099,9,0,0,0,3098,3097,1,0,0,0,3099,3102,1,0,0,0,3100,3101,1,0,0,0,3100,3098,1,0,0,0,3101,3103,1,0,0,0,3102,3100,1,0,0,0,3103,3104,5,42,0,0,3104,3105,5,47,0,0,3105,3106,1,0,0,0,3106,3107,6,343,0,0,3107,688,1,0,0,0,3108,3110,7,36,0,0,3109,3108,1,0,0,0,3110,3111,1,0,0,0,3111,3109,1,0,0,0,3111,3112,1,0,0,0,3112,3113,1,0,0,0,3113,3114,6,344,0,0,3114,690,1,0,0,0,3115,3116,9,0,0,0,3116,692,1,0,0,0,40,0,2870,2903,2905,2917,2919,2930,2939,2944,2948,2953,2959,2962,2970,2974,2978,2983,2985,2992,2994,3e3,3002,3011,3013,3020,3025,3032,3036,3040,3046,3051,3057,3062,3066,3071,3083,3087,3090,3100,3111,1,0,1,0],E.vocabulary=new le(E.literalNames,E.symbolicNames,[]),E.decisionsToDFA=E._ATN.decisionToState.map((i,t)=>new E1(i,t));class x3 extends Yh{constructor(t){super(t),this.caretTokenIndex=-1,this.entityCollecting=!1}shouldMatchEmpty(){var t,s,n,r;return this.entityCollecting&&((s=(t=this.tokenStream.LT(-1))===null||t===void 0?void 0:t.tokenIndex)!==null&&s!==void 0?s:1/0)<=this.caretTokenIndex&&((r=(n=this.tokenStream.LT(1))===null||n===void 0?void 0:n.tokenIndex)!==null&&r!==void 0?r:-1/0)>=this.caretTokenIndex}}class e extends x3{get grammarFileName(){return"TrinoSql.g4"}get literalNames(){return e.literalNames}get symbolicNames(){return e.symbolicNames}get ruleNames(){return e.ruleNames}get serializedATN(){return e._serializedATN}createFailedPredicateException(t,s){return new xn(this,t,s)}constructor(t){super(t),this.interpreter=new gn(this,e._ATN,e.decisionsToDFA,new Os)}program(){let t=new N3(this.context,this.state);this.enterRule(t,0,e.RULE_program);let s;try{this.enterOuterAlt(t,1);{for(this.state=305,this.errorHandler.sync(this),s=this.tokenStream.LA(1);!(s&-32)&&1<'","'->'","'['","']'","':'","'|'","'^'","'$'","'{-'","'-}'","'{'","'}'","'ABSENT'","'ADD'","'ADMIN'","'AFTER'","'ALL'","'ALTER'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'AT'","'AUTHORIZATION'","'BEGIN'","'BERNOULLI'","'BETWEEN'","'BOTH'","'BY'","'CALL'","'CALLED'","'CASCADE'","'CASE'","'CAST'","'CATALOG'","'CATALOGS'","'COLUMN'","'COLUMNS'","'COMMENT'","'COMMIT'","'COMMITTED'","'CONDITIONAL'","'CONSTRAINT'","'COUNT'","'COPARTITION'","'CREATE'","'CROSS'","'CUBE'","'CURRENT'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_PATH'","'CURRENT_ROLE'","'CURRENT_SCHEMA'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DATA'","'DATE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULT'","'DEFINE'","'DEFINER'","'DELETE'","'DENY'","'DESC'","'DESCRIBE'","'DESCRIPTOR'","'DETERMINISTIC'","'DISTINCT'","'DISTRIBUTED'","'DO'","'DOUBLE'","'DROP'","'ELSE'","'EMPTY'","'ELSEIF'","'ENCODING'","'END'","'ERROR'","'ESCAPE'","'EXCEPT'","'EXCLUDING'","'EXECUTE'","'EXISTS'","'EXPLAIN'","'EXTRACT'","'FALSE'","'FETCH'","'FILTER'","'FINAL'","'FIRST'","'FOLLOWING'","'FOR'","'FORMAT'","'FROM'","'FULL'","'FUNCTION'","'FUNCTIONS'","'GRACE'","'GRANT'","'GRANTED'","'GRANTS'","'GRAPHVIZ'","'GROUP'","'GROUPING'","'GROUPS'","'HAVING'","'HOUR'","'IF'","'IGNORE'","'IMMEDIATE'","'IN'","'INCLUDING'","'INITIAL'","'INNER'","'INPUT'","'INSERT'","'INTERSECT'","'INTERVAL'","'INTO'","'INVOKER'","'IO'","'IS'","'ISOLATION'","'ITERATE'","'JOIN'","'JSON'","'JSON_ARRAY'","'JSON_EXISTS'","'JSON_OBJECT'","'JSON_QUERY'","'JSON_TABLE'","'JSON_VALUE'","'KEEP'","'KEY'","'KEYS'","'LANGUAGE'","'LAST'","'LATERAL'","'LEADING'","'LEAVE'","'LEFT'","'LEVEL'","'LIKE'","'LIMIT'","'LISTAGG'","'LOCAL'","'LOCALTIME'","'LOCALTIMESTAMP'","'LOGICAL'","'LOOP'","'MAP'","'MATCH'","'MATCHED'","'MATCHES'","'MATCH_RECOGNIZE'","'MATERIALIZED'","'MEASURES'","'MERGE'","'MINUTE'","'MONTH'","'NATURAL'","'NESTED'","'NEXT'","'NFC'","'NFD'","'NFKC'","'NFKD'","'NO'","'NONE'","'NORMALIZE'","'NOT'","'NULL'","'NULLIF'","'NULLS'","'OBJECT'","'OF'","'OFFSET'","'OMIT'","'ON'","'ONE'","'ONLY'","'OPTION'","'OR'","'ORDER'","'ORDINALITY'","'OUTER'","'OUTPUT'","'OVER'","'OVERFLOW'","'PARTITION'","'PARTITIONS'","'PASSING'","'PAST'","'PATH'","'PATTERN'","'PER'","'PERIOD'","'PERMUTE'","'PLAN'","'POSITION'","'PRECEDING'","'PRECISION'","'PREPARE'","'PRIVILEGES'","'PROPERTIES'","'PRUNE'","'QUOTES'","'RANGE'","'READ'","'RECURSIVE'","'REFRESH'","'RENAME'","'REPEAT'","'REPEATABLE'","'REPLACE'","'RESET'","'RESPECT'","'RESTRICT'","'RETURN'","'RETURNING'","'RETURNS'","'REVOKE'","'RIGHT'","'ROLE'","'ROLES'","'ROLLBACK'","'ROLLUP'","'ROW'","'ROWS'","'RUNNING'","'SCALAR'","'SCHEMA'","'SCHEMAS'","'SECOND'","'SECURITY'","'SEEK'","'SELECT'","'SERIALIZABLE'","'SESSION'","'SET'","'SETS'","'SHOW'","'SOME'","'START'","'STATS'","'SUBSET'","'SUBSTRING'","'SYSTEM'","'TABLE'","'TABLES'","'TABLESAMPLE'","'TEXT'","'STRING'","'THEN'","'TIES'","'TIME'","'TIMESTAMP'","'TO'","'TRAILING'","'TRANSACTION'","'TRIM'","'TRUE'","'TRUNCATE'","'TRY_CAST'","'TYPE'","'UESCAPE'","'UNBOUNDED'","'UNCOMMITTED'","'UNCONDITIONAL'","'UNION'","'UNIQUE'","'UNKNOWN'","'UNMATCHED'","'UNNEST'","'UNTIL'","'UPDATE'","'USE'","'USER'","'USING'","'UTF16'","'UTF32'","'UTF8'","'VALIDATE'","'VALUE'","'VALUES'","'VERBOSE'","'VERSION'","'VIEW'","'WHEN'","'WHERE'","'WHILE'","'WINDOW'","'WITH'","'WITHIN'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'YEAR'","'ZONE'","'='",null,"'<'","'<='","'>'","'>='","'+'","'-'","'*'","'/'","'%'","'||'","'?'","';'"],e.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"KW_ABSENT","KW_ADD","KW_ADMIN","KW_AFTER","KW_ALL","KW_ALTER","KW_ANALYZE","KW_AND","KW_ANY","KW_ARRAY","KW_AS","KW_ASC","KW_AT","KW_AUTHORIZATION","KW_BEGIN","KW_BERNOULLI","KW_BETWEEN","KW_BOTH","KW_BY","KW_CALL","KW_CALLED","KW_CASCADE","KW_CASE","KW_CAST","KW_CATALOG","KW_CATALOGS","KW_COLUMN","KW_COLUMNS","KW_COMMENT","KW_COMMIT","KW_COMMITTED","KW_CONDITIONAL","KW_CONSTRAINT","KW_COUNT","KW_COPARTITION","KW_CREATE","KW_CROSS","KW_CUBE","KW_CURRENT","KW_CURRENT_CATALOG","KW_CURRENT_DATE","KW_CURRENT_PATH","KW_CURRENT_ROLE","KW_CURRENT_SCHEMA","KW_CURRENT_TIME","KW_CURRENT_TIMESTAMP","KW_CURRENT_USER","KW_DATA","KW_DATE","KW_DAY","KW_DEALLOCATE","KW_DECLARE","KW_DEFAULT","KW_DEFINE","KW_DEFINER","KW_DELETE","KW_DENY","KW_DESC","KW_DESCRIBE","KW_DESCRIPTOR","KW_DETERMINISTIC","KW_DISTINCT","KW_DISTRIBUTED","KW_DO","KW_DOUBLE","KW_DROP","KW_ELSE","KW_EMPTY","KW_ELSEIF","KW_ENCODING","KW_END","KW_ERROR","KW_ESCAPE","KW_EXCEPT","KW_EXCLUDING","KW_EXECUTE","KW_EXISTS","KW_EXPLAIN","KW_EXTRACT","KW_FALSE","KW_FETCH","KW_FILTER","KW_FINAL","KW_FIRST","KW_FOLLOWING","KW_FOR","KW_FORMAT","KW_FROM","KW_FULL","KW_FUNCTION","KW_FUNCTIONS","KW_GRACE","KW_GRANT","KW_GRANTED","KW_GRANTS","KW_GRAPHVIZ","KW_GROUP","KW_GROUPING","KW_GROUPS","KW_HAVING","KW_HOUR","KW_IF","KW_IGNORE","KW_IMMEDIATE","KW_IN","KW_INCLUDING","KW_INITIAL","KW_INNER","KW_INPUT","KW_INSERT","KW_INTERSECT","KW_INTERVAL","KW_INTO","KW_INVOKER","KW_IO","KW_IS","KW_ISOLATION","KW_ITERATE","KW_JOIN","KW_JSON","KW_JSON_ARRAY","KW_JSON_EXISTS","KW_JSON_OBJECT","KW_JSON_QUERY","KW_JSON_TABLE","KW_JSON_VALUE","KW_KEEP","KW_KEY","KW_KEYS","KW_LANGUAGE","KW_LAST","KW_LATERAL","KW_LEADING","KW_LEAVE","KW_LEFT","KW_LEVEL","KW_LIKE","KW_LIMIT","KW_LISTAGG","KW_LOCAL","KW_LOCALTIME","KW_LOCALTIMESTAMP","KW_LOGICAL","KW_LOOP","KW_MAP","KW_MATCH","KW_MATCHED","KW_MATCHES","KW_MATCH_RECOGNIZE","KW_MATERIALIZED","KW_MEASURES","KW_MERGE","KW_MINUTE","KW_MONTH","KW_NATURAL","KW_NESTED","KW_NEXT","KW_NFC","KW_NFD","KW_NFKC","KW_NFKD","KW_NO","KW_NONE","KW_NORMALIZE","KW_NOT","KW_NULL","KW_NULLIF","KW_NULLS","KW_OBJECT","KW_OF","KW_OFFSET","KW_OMIT","KW_ON","KW_ONE","KW_ONLY","KW_OPTION","KW_OR","KW_ORDER","KW_ORDINALITY","KW_OUTER","KW_OUTPUT","KW_OVER","KW_OVERFLOW","KW_PARTITION","KW_PARTITIONS","KW_PASSING","KW_PAST","KW_PATH","KW_PATTERN","KW_PER","KW_PERIOD","KW_PERMUTE","KW_PLAN","KW_POSITION","KW_PRECEDING","KW_PRECISION","KW_PREPARE","KW_PRIVILEGES","KW_PROPERTIES","KW_PRUNE","KW_QUOTES","KW_RANGE","KW_READ","KW_RECURSIVE","KW_REFRESH","KW_RENAME","KW_REPEAT","KW_REPEATABLE","KW_REPLACE","KW_RESET","KW_RESPECT","KW_RESTRICT","KW_RETURN","KW_RETURNING","KW_RETURNS","KW_REVOKE","KW_RIGHT","KW_ROLE","KW_ROLES","KW_ROLLBACK","KW_ROLLUP","KW_ROW","KW_ROWS","KW_RUNNING","KW_SCALAR","KW_SCHEMA","KW_SCHEMAS","KW_SECOND","KW_SECURITY","KW_SEEK","KW_SELECT","KW_SERIALIZABLE","KW_SESSION","KW_SET","KW_SETS","KW_SHOW","KW_SOME","KW_START","KW_STATS","KW_SUBSET","KW_SUBSTRING","KW_SYSTEM","KW_TABLE","KW_TABLES","KW_TABLESAMPLE","KW_TEXT","KW_TEXT_STRING","KW_THEN","KW_TIES","KW_TIME","KW_TIMESTAMP","KW_TO","KW_TRAILING","KW_TRANSACTION","KW_TRIM","KW_TRUE","KW_TRUNCATE","KW_TRY_CAST","KW_TYPE","KW_UESCAPE","KW_UNBOUNDED","KW_UNCOMMITTED","KW_UNCONDITIONAL","KW_UNION","KW_UNIQUE","KW_UNKNOWN","KW_UNMATCHED","KW_UNNEST","KW_UNTIL","KW_UPDATE","KW_USE","KW_USER","KW_USING","KW_UTF16","KW_UTF32","KW_UTF8","KW_VALIDATE","KW_VALUE","KW_VALUES","KW_VERBOSE","KW_VERSION","KW_VIEW","KW_WHEN","KW_WHERE","KW_WHILE","KW_WINDOW","KW_WITH","KW_WITHIN","KW_WITHOUT","KW_WORK","KW_WRAPPER","KW_WRITE","KW_YEAR","KW_ZONE","EQ","NEQ","LT","LTE","GT","GTE","PLUS","MINUS","ASTERISK","SLASH","PERCENT","CONCAT","QUESTION_MARK","SEMICOLON","STRING","UNICODE_STRING","BINARY_LITERAL","INTEGER_VALUE","DECIMAL_VALUE","DOUBLE_VALUE","IDENTIFIER","DIGIT_IDENTIFIER","QUOTED_IDENTIFIER","BACKQUOTED_IDENTIFIER","SIMPLE_COMMENT","BRACKETED_COMMENT","WS","UNRECOGNIZED","DELIMITER"],e.ruleNames=["program","statements","singleStatement","standaloneExpression","standalonePathSpecification","standaloneType","standaloneRowPattern","standaloneFunctionSpecification","statement","rootQuery","withFunction","query","with","tableElement","columnDefinition","likeClause","properties","propertyAssignments","property","propertyValue","queryNoWith","limitRowCount","rowCount","queryTerm","queryPrimary","sortItem","querySpecification","groupBy","groupingElement","groupingSet","groupingTerm","windowDefinition","windowSpecification","namedQuery","setQuantifier","selectItem","relation","joinType","joinCriteria","sampledRelation","sampleType","trimsSpecification","listAggOverflowBehavior","listaggCountIndication","patternRecognition","measureDefinition","rowsPerMatch","emptyMatchHandling","skipTo","subsetDefinition","variableDefinition","aliasedRelation","columnListCreate","columnList","columnAliases","relationPrimary","jsonTableColumn","jsonTableSpecificPlan","jsonTablePathName","planPrimary","jsonTableDefaultPlan","tableFunctionCall","tableFunctionArgument","tableArgument","tableArgumentRelation","descriptorArgument","descriptorField","copartitionTables","expression","booleanExpression","predicate","valueExpression","primaryExpression","jsonPathInvocation","jsonValueExpression","jsonRepresentation","jsonArgument","jsonExistsErrorBehavior","jsonValueBehavior","jsonQueryWrapperBehavior","jsonQueryBehavior","jsonObjectMember","processingMode","nullTreatment","string","timeZoneSpecifier","comparisonOperator","comparisonQuantifier","booleanValue","interval","intervalField","normalForm","type","rowField","typeParameter","whenClause","filter","mergeCase","over","windowFrame","frameExtent","frameBound","rowPattern","patternPrimary","patternQuantifier","updateAssignment","explainOption","transactionMode","levelOfIsolation","callArgument","pathElement","pathSpecification","functionSpecification","functionDeclaration","functionSignature","parameterDeclaration","returnsClause","routineCharacteristic","controlStatement","caseStatementWhenClause","elseIfClause","elseClause","variableDeclaration","sqlStatementList","privilege","entityKind","grantObject","tableOrViewName","tableRef","tableNameCreate","viewRef","viewNameCreate","schemaRef","schemaNameCreate","catalogRef","catalogNameCreate","functionName","functionNameCreate","columnRef","columnNameCreate","qualifiedName","queryPeriod","rangeType","grantor","principal","roles","privilegeOrRole","identifier","number","authorizationUser","nonReserved"],e._serializedATN=[4,1,340,3690,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,1,0,5,0,304,8,0,10,0,12,0,307,9,0,1,0,1,0,1,1,1,1,1,2,1,2,3,2,315,8,2,1,3,1,3,3,3,319,8,3,1,4,1,4,3,4,323,8,4,1,5,1,5,3,5,327,8,5,1,6,1,6,3,6,331,8,6,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,344,8,8,1,8,1,8,1,8,1,8,1,8,3,8,351,8,8,1,8,1,8,3,8,355,8,8,1,8,1,8,3,8,359,8,8,1,8,1,8,1,8,1,8,3,8,365,8,8,1,8,1,8,3,8,369,8,8,1,8,1,8,1,8,1,8,1,8,3,8,376,8,8,1,8,1,8,1,8,3,8,381,8,8,1,8,1,8,3,8,385,8,8,1,8,1,8,1,8,1,8,3,8,391,8,8,1,8,1,8,3,8,395,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,414,8,8,1,8,1,8,1,8,1,8,3,8,420,8,8,1,8,1,8,3,8,424,8,8,1,8,1,8,3,8,428,8,8,1,8,1,8,3,8,432,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,440,8,8,1,8,1,8,3,8,444,8,8,1,8,3,8,447,8,8,1,8,1,8,1,8,3,8,452,8,8,1,8,1,8,1,8,1,8,3,8,458,8,8,1,8,1,8,1,8,1,8,1,8,5,8,465,8,8,10,8,12,8,468,9,8,1,8,1,8,1,8,3,8,473,8,8,1,8,1,8,3,8,477,8,8,1,8,1,8,1,8,1,8,3,8,483,8,8,1,8,1,8,1,8,1,8,1,8,3,8,490,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,499,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,511,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,520,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,529,8,8,1,8,1,8,1,8,1,8,3,8,535,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,546,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,554,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,562,8,8,1,8,1,8,1,8,1,8,1,8,3,8,569,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,579,8,8,1,8,1,8,1,8,1,8,1,8,3,8,586,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,594,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,609,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,642,8,8,10,8,12,8,645,9,8,3,8,647,8,8,1,8,3,8,650,8,8,1,8,1,8,3,8,654,8,8,1,8,1,8,1,8,1,8,3,8,660,8,8,1,8,1,8,1,8,3,8,665,8,8,1,8,1,8,1,8,1,8,1,8,3,8,672,8,8,1,8,1,8,1,8,1,8,3,8,678,8,8,1,8,1,8,3,8,682,8,8,1,8,1,8,3,8,686,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,694,8,8,1,8,1,8,1,8,1,8,3,8,700,8,8,1,8,1,8,3,8,704,8,8,1,8,1,8,3,8,708,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,722,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,730,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,749,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,772,8,8,10,8,12,8,775,9,8,3,8,777,8,8,1,8,1,8,1,8,1,8,1,8,3,8,784,8,8,1,8,1,8,1,8,1,8,1,8,3,8,791,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,800,8,8,1,8,1,8,3,8,804,8,8,1,8,1,8,1,8,1,8,1,8,3,8,811,8,8,1,8,1,8,1,8,1,8,5,8,817,8,8,10,8,12,8,820,9,8,1,8,1,8,1,8,1,8,5,8,826,8,8,10,8,12,8,829,9,8,1,8,1,8,1,8,3,8,834,8,8,1,8,1,8,1,8,3,8,839,8,8,1,8,1,8,3,8,843,8,8,1,8,1,8,1,8,1,8,5,8,849,8,8,10,8,12,8,852,9,8,1,8,1,8,3,8,856,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,865,8,8,1,8,1,8,1,8,1,8,3,8,871,8,8,1,8,1,8,1,8,5,8,876,8,8,10,8,12,8,879,9,8,1,8,1,8,1,8,1,8,5,8,885,8,8,10,8,12,8,888,9,8,1,8,1,8,1,8,3,8,893,8,8,1,8,1,8,3,8,897,8,8,1,8,1,8,1,8,1,8,3,8,903,8,8,1,8,1,8,1,8,5,8,908,8,8,10,8,12,8,911,9,8,1,8,1,8,3,8,915,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,926,8,8,10,8,12,8,929,9,8,1,8,1,8,3,8,933,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,945,8,8,1,8,1,8,3,8,949,8,8,1,8,1,8,1,8,1,8,3,8,955,8,8,1,8,1,8,1,8,1,8,1,8,5,8,962,8,8,10,8,12,8,965,9,8,1,8,1,8,3,8,969,8,8,1,8,1,8,1,8,1,8,3,8,975,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1003,8,8,1,8,1,8,1,8,1,8,3,8,1009,8,8,3,8,1011,8,8,1,8,1,8,1,8,1,8,3,8,1017,8,8,1,8,1,8,1,8,1,8,3,8,1023,8,8,3,8,1025,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1033,8,8,3,8,1035,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1045,8,8,3,8,1047,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1062,8,8,1,8,1,8,1,8,3,8,1067,8,8,1,8,1,8,1,8,1,8,1,8,3,8,1074,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1084,8,8,1,8,1,8,1,8,1,8,3,8,1090,8,8,3,8,1092,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1100,8,8,3,8,1102,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,1125,8,8,10,8,12,8,1128,9,8,3,8,1130,8,8,1,8,1,8,3,8,1134,8,8,1,8,1,8,3,8,1138,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,1154,8,8,10,8,12,8,1157,9,8,3,8,1159,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,1168,8,8,10,8,12,8,1171,9,8,3,8,1173,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1189,8,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,1197,8,8,10,8,12,8,1200,9,8,1,8,1,8,3,8,1204,8,8,1,8,1,8,1,8,1,8,3,8,1210,8,8,1,8,3,8,1213,8,8,1,8,1,8,1,8,1,8,1,8,4,8,1220,8,8,11,8,12,8,1221,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,1234,8,8,1,9,3,9,1237,8,9,1,9,1,9,1,10,1,10,1,10,1,10,5,10,1245,8,10,10,10,12,10,1248,9,10,1,11,3,11,1251,8,11,1,11,1,11,1,12,1,12,3,12,1257,8,12,1,12,1,12,1,12,5,12,1262,8,12,10,12,12,12,1265,9,12,1,13,1,13,3,13,1269,8,13,1,14,1,14,1,14,1,14,3,14,1275,8,14,1,14,1,14,3,14,1279,8,14,1,14,1,14,3,14,1283,8,14,1,15,1,15,1,15,1,15,3,15,1289,8,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,5,17,1298,8,17,10,17,12,17,1301,9,17,1,18,1,18,1,18,1,18,1,19,1,19,3,19,1309,8,19,1,20,1,20,1,20,1,20,1,20,1,20,5,20,1317,8,20,10,20,12,20,1320,9,20,3,20,1322,8,20,1,20,1,20,1,20,3,20,1327,8,20,3,20,1329,8,20,1,20,1,20,1,20,1,20,1,20,3,20,1336,8,20,1,20,1,20,1,20,1,20,3,20,1342,8,20,3,20,1344,8,20,1,21,1,21,3,21,1348,8,21,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,3,23,1358,8,23,1,23,1,23,1,23,1,23,3,23,1364,8,23,1,23,5,23,1367,8,23,10,23,12,23,1370,9,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,5,24,1379,8,24,10,24,12,24,1382,9,24,1,24,1,24,1,24,1,24,3,24,1388,8,24,1,25,1,25,3,25,1392,8,25,1,25,3,25,1395,8,25,1,25,1,25,3,25,1399,8,25,1,26,1,26,3,26,1403,8,26,1,26,1,26,1,26,5,26,1408,8,26,10,26,12,26,1411,9,26,1,26,1,26,1,26,1,26,5,26,1417,8,26,10,26,12,26,1420,9,26,3,26,1422,8,26,1,26,1,26,3,26,1426,8,26,1,26,1,26,1,26,3,26,1431,8,26,1,26,1,26,3,26,1435,8,26,1,26,1,26,1,26,1,26,5,26,1441,8,26,10,26,12,26,1444,9,26,3,26,1446,8,26,1,27,3,27,1449,8,27,1,27,1,27,1,27,5,27,1454,8,27,10,27,12,27,1457,9,27,1,28,1,28,1,28,1,28,1,28,1,28,5,28,1465,8,28,10,28,12,28,1468,9,28,3,28,1470,8,28,1,28,1,28,1,28,1,28,1,28,1,28,5,28,1478,8,28,10,28,12,28,1481,9,28,3,28,1483,8,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,5,28,1492,8,28,10,28,12,28,1495,9,28,1,28,1,28,3,28,1499,8,28,1,29,1,29,1,29,1,29,5,29,1505,8,29,10,29,12,29,1508,9,29,3,29,1510,8,29,1,29,1,29,3,29,1514,8,29,1,30,1,30,3,30,1518,8,30,1,31,1,31,1,31,1,31,1,31,1,31,1,32,3,32,1527,8,32,1,32,1,32,1,32,1,32,1,32,5,32,1534,8,32,10,32,12,32,1537,9,32,3,32,1539,8,32,1,32,1,32,1,32,1,32,1,32,5,32,1546,8,32,10,32,12,32,1549,9,32,3,32,1551,8,32,1,32,3,32,1554,8,32,1,33,1,33,3,33,1558,8,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,35,1,35,3,35,1569,8,35,1,35,3,35,1572,8,35,1,35,3,35,1575,8,35,1,35,1,35,1,35,1,35,1,35,3,35,1582,8,35,1,35,3,35,1585,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,1604,8,36,5,36,1606,8,36,10,36,12,36,1609,9,36,1,37,3,37,1612,8,37,1,37,1,37,3,37,1616,8,37,1,37,1,37,3,37,1620,8,37,1,37,1,37,3,37,1624,8,37,3,37,1626,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,5,38,1635,8,38,10,38,12,38,1638,9,38,1,38,1,38,3,38,1642,8,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,3,39,1651,8,39,1,40,1,40,1,41,1,41,1,42,1,42,1,42,3,42,1660,8,42,1,42,3,42,1663,8,42,1,43,1,43,1,43,1,43,3,43,1669,8,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,5,44,1679,8,44,10,44,12,44,1682,9,44,3,44,1684,8,44,1,44,1,44,1,44,1,44,1,44,5,44,1691,8,44,10,44,12,44,1694,9,44,3,44,1696,8,44,1,44,1,44,1,44,1,44,5,44,1702,8,44,10,44,12,44,1705,9,44,3,44,1707,8,44,1,44,3,44,1710,8,44,1,44,1,44,1,44,3,44,1715,8,44,1,44,3,44,1718,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,5,44,1728,8,44,10,44,12,44,1731,9,44,3,44,1733,8,44,1,44,1,44,1,44,1,44,5,44,1739,8,44,10,44,12,44,1742,9,44,1,44,1,44,3,44,1746,8,44,1,44,1,44,3,44,1750,8,44,3,44,1752,8,44,3,44,1754,8,44,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1769,8,46,3,46,1771,8,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,3,47,1782,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,1803,8,48,1,49,1,49,1,49,1,49,1,49,1,49,5,49,1811,8,49,10,49,12,49,1814,9,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,3,51,1824,8,51,1,51,1,51,3,51,1828,8,51,3,51,1830,8,51,1,52,1,52,1,52,1,52,5,52,1836,8,52,10,52,12,52,1839,9,52,1,52,1,52,1,53,1,53,1,53,1,53,5,53,1847,8,53,10,53,12,53,1850,9,53,1,53,1,53,1,54,1,54,1,54,1,54,5,54,1858,8,54,10,54,12,54,1861,9,54,1,54,1,54,1,55,1,55,3,55,1867,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,1878,8,55,10,55,12,55,1881,9,55,1,55,1,55,1,55,3,55,1886,8,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,5,55,1910,8,55,10,55,12,55,1913,9,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1927,8,55,1,55,1,55,1,55,3,55,1932,8,55,1,55,1,55,3,55,1936,8,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,1946,8,56,1,56,1,56,1,56,1,56,3,56,1952,8,56,1,56,1,56,1,56,1,56,3,56,1958,8,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,1966,8,56,1,56,1,56,1,56,3,56,1971,8,56,1,56,1,56,1,56,1,56,1,56,3,56,1978,8,56,3,56,1980,8,56,1,56,1,56,1,56,1,56,3,56,1986,8,56,1,56,1,56,1,56,1,56,3,56,1992,8,56,1,56,1,56,3,56,1996,8,56,1,56,1,56,1,56,3,56,2001,8,56,1,56,1,56,1,56,1,56,1,56,5,56,2008,8,56,10,56,12,56,2011,9,56,1,56,1,56,3,56,2015,8,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,5,57,2027,8,57,10,57,12,57,2030,9,57,1,57,1,57,1,57,1,57,1,57,5,57,2037,8,57,10,57,12,57,2040,9,57,3,57,2042,8,57,1,58,1,58,1,59,1,59,1,59,1,59,1,59,3,59,2051,8,59,1,60,1,60,1,60,3,60,2056,8,60,1,60,1,60,1,60,3,60,2061,8,60,3,60,2063,8,60,1,61,1,61,1,61,1,61,1,61,5,61,2070,8,61,10,61,12,61,2073,9,61,3,61,2075,8,61,1,61,1,61,1,61,1,61,5,61,2081,8,61,10,61,12,61,2084,9,61,3,61,2086,8,61,1,61,1,61,1,62,1,62,1,62,3,62,2093,8,62,1,62,1,62,1,62,3,62,2098,8,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,5,63,2107,8,63,10,63,12,63,2110,9,63,3,63,2112,8,63,1,63,1,63,3,63,2116,8,63,3,63,2118,8,63,1,63,1,63,1,63,1,63,1,63,1,63,3,63,2126,8,63,1,63,1,63,1,63,1,63,1,63,1,63,5,63,2134,8,63,10,63,12,63,2137,9,63,1,63,1,63,1,63,3,63,2142,8,63,3,63,2144,8,63,1,64,1,64,1,64,1,64,1,64,3,64,2151,8,64,1,64,1,64,3,64,2155,8,64,3,64,2157,8,64,1,64,1,64,1,64,1,64,1,64,3,64,2164,8,64,1,64,1,64,3,64,2168,8,64,3,64,2170,8,64,3,64,2172,8,64,1,65,1,65,1,65,1,65,1,65,5,65,2179,8,65,10,65,12,65,2182,9,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,3,65,2192,8,65,1,66,1,66,3,66,2196,8,66,1,67,1,67,1,67,1,67,1,67,1,67,5,67,2204,8,67,10,67,12,67,2207,9,67,1,67,1,67,1,68,1,68,1,69,1,69,1,69,3,69,2216,8,69,1,69,1,69,3,69,2220,8,69,1,69,1,69,1,69,1,69,1,69,1,69,5,69,2228,8,69,10,69,12,69,2231,9,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2243,8,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2251,8,70,1,70,1,70,1,70,1,70,1,70,5,70,2258,8,70,10,70,12,70,2261,9,70,1,70,1,70,1,70,3,70,2266,8,70,1,70,1,70,1,70,1,70,1,70,1,70,3,70,2274,8,70,1,70,1,70,1,70,1,70,3,70,2280,8,70,1,70,1,70,3,70,2284,8,70,1,70,1,70,1,70,3,70,2289,8,70,1,70,1,70,1,70,3,70,2294,8,70,1,71,1,71,1,71,1,71,3,71,2300,8,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,2314,8,71,10,71,12,71,2317,9,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,4,72,2344,8,72,11,72,12,72,2345,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2355,8,72,10,72,12,72,2358,9,72,1,72,1,72,1,72,1,72,1,72,3,72,2365,8,72,1,72,1,72,1,72,3,72,2370,8,72,1,72,1,72,1,72,3,72,2375,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2386,8,72,10,72,12,72,2389,9,72,1,72,1,72,1,72,3,72,2394,8,72,1,72,3,72,2397,8,72,1,72,1,72,1,72,1,72,1,72,3,72,2404,8,72,1,72,1,72,1,72,3,72,2409,8,72,1,72,3,72,2412,8,72,1,72,3,72,2415,8,72,1,72,1,72,1,72,3,72,2420,8,72,1,72,1,72,1,72,5,72,2425,8,72,10,72,12,72,2428,9,72,3,72,2430,8,72,1,72,1,72,1,72,1,72,1,72,5,72,2437,8,72,10,72,12,72,2440,9,72,3,72,2442,8,72,1,72,1,72,3,72,2446,8,72,1,72,3,72,2449,8,72,1,72,3,72,2452,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2465,8,72,10,72,12,72,2468,9,72,3,72,2470,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,4,72,2487,8,72,11,72,12,72,2488,1,72,1,72,3,72,2493,8,72,1,72,1,72,1,72,1,72,4,72,2499,8,72,11,72,12,72,2500,1,72,1,72,3,72,2505,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2528,8,72,10,72,12,72,2531,9,72,3,72,2533,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2542,8,72,1,72,1,72,1,72,1,72,3,72,2548,8,72,1,72,1,72,1,72,1,72,3,72,2554,8,72,1,72,1,72,1,72,1,72,3,72,2560,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2569,8,72,1,72,3,72,2572,8,72,1,72,3,72,2575,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2594,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2603,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2623,8,72,10,72,12,72,2626,9,72,3,72,2628,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2638,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2647,8,72,1,72,1,72,1,72,1,72,3,72,2653,8,72,1,72,1,72,1,72,1,72,3,72,2659,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2670,8,72,3,72,2672,8,72,1,72,1,72,1,72,3,72,2677,8,72,1,72,1,72,1,72,1,72,1,72,3,72,2684,8,72,3,72,2686,8,72,1,72,1,72,1,72,1,72,3,72,2692,8,72,1,72,1,72,1,72,1,72,3,72,2698,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2707,8,72,10,72,12,72,2710,9,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2718,8,72,1,72,1,72,1,72,3,72,2723,8,72,1,72,1,72,1,72,3,72,2728,8,72,3,72,2730,8,72,3,72,2732,8,72,1,72,1,72,1,72,1,72,3,72,2738,8,72,3,72,2740,8,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2748,8,72,10,72,12,72,2751,9,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2759,8,72,3,72,2761,8,72,1,72,1,72,1,72,1,72,3,72,2767,8,72,3,72,2769,8,72,1,72,3,72,2772,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,2782,8,72,10,72,12,72,2785,9,72,1,73,1,73,1,73,1,73,1,73,3,73,2792,8,73,1,73,1,73,1,73,1,73,5,73,2798,8,73,10,73,12,73,2801,9,73,3,73,2803,8,73,1,74,1,74,1,74,3,74,2808,8,74,1,75,1,75,1,75,3,75,2813,8,75,1,76,1,76,1,76,1,76,1,77,1,77,1,78,1,78,1,78,1,78,3,78,2825,8,78,1,79,1,79,3,79,2829,8,79,1,79,1,79,3,79,2833,8,79,1,79,3,79,2836,8,79,3,79,2838,8,79,1,80,1,80,1,80,1,80,1,80,1,80,3,80,2846,8,80,1,81,3,81,2849,8,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,3,81,2859,8,81,1,82,1,82,1,83,1,83,1,83,1,83,3,83,2867,8,83,1,84,1,84,1,84,1,84,3,84,2873,8,84,3,84,2875,8,84,1,85,1,85,1,85,1,85,1,85,1,85,3,85,2883,8,85,1,86,1,86,1,87,1,87,1,88,1,88,1,89,1,89,3,89,2893,8,89,1,89,1,89,1,89,1,89,3,89,2899,8,89,1,90,1,90,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,5,92,2911,8,92,10,92,12,92,2914,9,92,1,92,1,92,1,92,1,92,1,92,1,92,3,92,2922,8,92,1,92,1,92,1,92,1,92,1,92,3,92,2929,8,92,1,92,1,92,1,92,3,92,2934,8,92,1,92,1,92,1,92,1,92,1,92,3,92,2941,8,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,3,92,2951,8,92,1,92,1,92,1,92,3,92,2956,8,92,1,92,1,92,1,92,1,92,1,92,3,92,2963,8,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,5,92,2987,8,92,10,92,12,92,2990,9,92,1,92,1,92,3,92,2994,8,92,3,92,2996,8,92,1,92,1,92,1,92,1,92,1,92,3,92,3003,8,92,5,92,3005,8,92,10,92,12,92,3008,9,92,1,93,1,93,1,93,1,93,3,93,3014,8,93,1,94,1,94,3,94,3018,8,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,3,97,3035,8,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,5,97,3048,8,97,10,97,12,97,3051,9,97,1,97,1,97,1,97,1,97,3,97,3057,8,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,3,97,3066,8,97,1,97,1,97,1,97,1,97,1,97,1,97,5,97,3074,8,97,10,97,12,97,3077,9,97,1,97,1,97,3,97,3081,8,97,1,97,1,97,1,97,1,97,1,97,5,97,3088,8,97,10,97,12,97,3091,9,97,1,97,1,97,3,97,3095,8,97,1,98,1,98,1,98,1,98,1,98,1,98,3,98,3103,8,98,1,99,1,99,1,99,1,99,5,99,3109,8,99,10,99,12,99,3112,9,99,3,99,3114,8,99,1,99,1,99,1,99,1,99,3,99,3120,8,99,1,99,3,99,3123,8,99,1,99,1,99,1,99,1,99,1,99,3,99,3130,8,99,1,99,1,99,1,99,1,99,5,99,3136,8,99,10,99,12,99,3139,9,99,3,99,3141,8,99,1,99,1,99,1,99,1,99,5,99,3147,8,99,10,99,12,99,3150,9,99,3,99,3152,8,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,3178,8,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,3,101,3189,8,101,1,102,1,102,1,102,3,102,3194,8,102,1,102,1,102,1,102,1,102,1,102,5,102,3201,8,102,10,102,12,102,3204,9,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,5,103,3214,8,103,10,103,12,103,3217,9,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,3,103,3231,8,103,1,104,1,104,3,104,3235,8,104,1,104,1,104,3,104,3239,8,104,1,104,1,104,3,104,3243,8,104,1,104,1,104,1,104,1,104,3,104,3249,8,104,1,104,1,104,3,104,3253,8,104,1,104,1,104,3,104,3257,8,104,1,104,1,104,3,104,3261,8,104,3,104,3263,8,104,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,3,106,3273,8,106,1,107,1,107,1,107,1,107,1,107,3,107,3280,8,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,3,108,3289,8,108,1,109,1,109,1,109,1,109,1,109,3,109,3296,8,109,1,110,1,110,1,110,1,110,1,110,3,110,3303,8,110,1,111,1,111,1,111,5,111,3308,8,111,10,111,12,111,3311,9,111,1,112,1,112,1,112,1,112,5,112,3317,8,112,10,112,12,112,3320,9,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,5,113,3329,8,113,10,113,12,113,3332,9,113,3,113,3334,8,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,5,114,3343,8,114,10,114,12,114,3346,9,114,3,114,3348,8,114,1,114,1,114,1,115,3,115,3353,8,115,1,115,1,115,1,116,1,116,1,116,1,117,1,117,1,117,3,117,3363,8,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,3,117,3379,8,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,4,118,3391,8,118,11,118,12,118,3392,1,118,3,118,3396,8,118,1,118,1,118,1,118,1,118,1,118,4,118,3403,8,118,11,118,12,118,3404,1,118,3,118,3408,8,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,5,118,3418,8,118,10,118,12,118,3421,9,118,1,118,3,118,3424,8,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,5,118,3437,8,118,10,118,12,118,3440,9,118,1,118,3,118,3443,8,118,1,118,1,118,1,118,1,118,3,118,3449,8,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3459,8,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3471,8,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3480,8,118,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,122,1,122,1,122,1,122,5,122,3499,8,122,10,122,12,122,3502,9,122,1,122,1,122,1,122,3,122,3507,8,122,1,123,1,123,1,123,4,123,3512,8,123,11,123,12,123,3513,1,124,1,124,1,124,1,124,1,124,1,124,3,124,3522,8,124,1,125,1,125,1,125,3,125,3527,8,125,1,126,3,126,3530,8,126,1,126,1,126,1,127,1,127,3,127,3536,8,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3,128,3549,8,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,3,129,3562,8,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,3,130,3575,8,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,3,131,3588,8,131,1,132,1,132,1,132,1,132,1,132,3,132,3595,8,132,1,133,1,133,1,133,1,133,1,133,3,133,3602,8,133,1,134,1,134,1,135,1,135,1,136,1,136,1,137,1,137,1,138,1,138,3,138,3614,8,138,1,139,1,139,1,140,1,140,1,140,5,140,3621,8,140,10,140,12,140,3624,9,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,143,1,143,1,143,3,143,3637,8,143,1,144,1,144,1,144,1,144,1,144,3,144,3644,8,144,1,145,1,145,1,145,5,145,3649,8,145,10,145,12,145,3652,9,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,3,146,3661,8,146,1,147,1,147,1,147,1,147,1,147,3,147,3668,8,147,1,148,3,148,3671,8,148,1,148,1,148,3,148,3675,8,148,1,148,1,148,3,148,3679,8,148,1,148,3,148,3682,8,148,1,149,1,149,3,149,3686,8,149,1,150,1,150,1,150,0,7,46,72,138,142,144,184,204,151,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,0,35,2,0,39,39,229,229,2,0,72,72,131,131,2,0,105,105,122,122,2,0,92,92,123,123,1,0,239,240,2,0,101,101,174,174,2,0,324,324,329,329,2,0,91,91,281,281,2,0,29,29,75,75,2,0,101,101,148,148,2,0,22,22,79,79,2,0,33,33,259,259,3,0,35,35,150,150,270,270,2,0,124,124,247,247,2,0,85,85,89,89,2,0,144,144,189,189,2,0,125,125,197,197,2,0,54,54,281,281,1,0,318,319,1,0,320,322,1,0,291,293,4,0,89,89,97,97,273,273,283,283,2,0,49,49,280,280,2,0,100,100,241,241,1,0,312,317,3,0,22,22,26,26,254,254,2,0,97,97,273,273,5,0,67,67,118,118,170,171,245,245,310,310,1,0,175,178,2,0,102,102,212,212,3,0,113,113,137,137,263,263,4,0,80,80,132,132,160,160,294,294,2,0,192,192,309,309,2,0,268,268,298,298,54,0,18,22,24,24,26,27,29,33,35,35,37,39,42,49,51,52,56,56,65,67,69,72,74,75,77,78,80,82,85,87,89,89,92,92,95,95,98,102,104,104,107,113,116,116,118,121,123,124,126,126,129,129,131,132,134,135,137,137,144,151,153,153,155,155,157,157,160,171,173,180,184,189,191,193,196,196,198,213,215,220,222,233,235,237,239,247,249,259,261,264,266,271,274,276,278,280,282,284,286,289,291,295,297,299,302,303,305,311,4245,0,305,1,0,0,0,2,310,1,0,0,0,4,312,1,0,0,0,6,316,1,0,0,0,8,320,1,0,0,0,10,324,1,0,0,0,12,328,1,0,0,0,14,332,1,0,0,0,16,1233,1,0,0,0,18,1236,1,0,0,0,20,1240,1,0,0,0,22,1250,1,0,0,0,24,1254,1,0,0,0,26,1268,1,0,0,0,28,1270,1,0,0,0,30,1284,1,0,0,0,32,1290,1,0,0,0,34,1294,1,0,0,0,36,1302,1,0,0,0,38,1308,1,0,0,0,40,1310,1,0,0,0,42,1347,1,0,0,0,44,1349,1,0,0,0,46,1351,1,0,0,0,48,1387,1,0,0,0,50,1391,1,0,0,0,52,1400,1,0,0,0,54,1448,1,0,0,0,56,1498,1,0,0,0,58,1513,1,0,0,0,60,1517,1,0,0,0,62,1519,1,0,0,0,64,1526,1,0,0,0,66,1555,1,0,0,0,68,1564,1,0,0,0,70,1584,1,0,0,0,72,1586,1,0,0,0,74,1625,1,0,0,0,76,1641,1,0,0,0,78,1643,1,0,0,0,80,1652,1,0,0,0,82,1654,1,0,0,0,84,1662,1,0,0,0,86,1668,1,0,0,0,88,1670,1,0,0,0,90,1755,1,0,0,0,92,1770,1,0,0,0,94,1781,1,0,0,0,96,1802,1,0,0,0,98,1804,1,0,0,0,100,1817,1,0,0,0,102,1821,1,0,0,0,104,1831,1,0,0,0,106,1842,1,0,0,0,108,1853,1,0,0,0,110,1935,1,0,0,0,112,2014,1,0,0,0,114,2041,1,0,0,0,116,2043,1,0,0,0,118,2050,1,0,0,0,120,2062,1,0,0,0,122,2064,1,0,0,0,124,2092,1,0,0,0,126,2099,1,0,0,0,128,2171,1,0,0,0,130,2191,1,0,0,0,132,2193,1,0,0,0,134,2197,1,0,0,0,136,2210,1,0,0,0,138,2219,1,0,0,0,140,2293,1,0,0,0,142,2299,1,0,0,0,144,2771,1,0,0,0,146,2786,1,0,0,0,148,2804,1,0,0,0,150,2809,1,0,0,0,152,2814,1,0,0,0,154,2818,1,0,0,0,156,2824,1,0,0,0,158,2837,1,0,0,0,160,2845,1,0,0,0,162,2858,1,0,0,0,164,2860,1,0,0,0,166,2866,1,0,0,0,168,2874,1,0,0,0,170,2882,1,0,0,0,172,2884,1,0,0,0,174,2886,1,0,0,0,176,2888,1,0,0,0,178,2890,1,0,0,0,180,2900,1,0,0,0,182,2902,1,0,0,0,184,2995,1,0,0,0,186,3013,1,0,0,0,188,3017,1,0,0,0,190,3019,1,0,0,0,192,3024,1,0,0,0,194,3094,1,0,0,0,196,3096,1,0,0,0,198,3113,1,0,0,0,200,3177,1,0,0,0,202,3188,1,0,0,0,204,3190,1,0,0,0,206,3230,1,0,0,0,208,3262,1,0,0,0,210,3264,1,0,0,0,212,3272,1,0,0,0,214,3279,1,0,0,0,216,3288,1,0,0,0,218,3295,1,0,0,0,220,3302,1,0,0,0,222,3304,1,0,0,0,224,3312,1,0,0,0,226,3323,1,0,0,0,228,3337,1,0,0,0,230,3352,1,0,0,0,232,3356,1,0,0,0,234,3378,1,0,0,0,236,3479,1,0,0,0,238,3481,1,0,0,0,240,3486,1,0,0,0,242,3491,1,0,0,0,244,3494,1,0,0,0,246,3511,1,0,0,0,248,3521,1,0,0,0,250,3526,1,0,0,0,252,3529,1,0,0,0,254,3535,1,0,0,0,256,3548,1,0,0,0,258,3561,1,0,0,0,260,3574,1,0,0,0,262,3587,1,0,0,0,264,3594,1,0,0,0,266,3601,1,0,0,0,268,3603,1,0,0,0,270,3605,1,0,0,0,272,3607,1,0,0,0,274,3609,1,0,0,0,276,3613,1,0,0,0,278,3615,1,0,0,0,280,3617,1,0,0,0,282,3625,1,0,0,0,284,3631,1,0,0,0,286,3636,1,0,0,0,288,3643,1,0,0,0,290,3645,1,0,0,0,292,3660,1,0,0,0,294,3667,1,0,0,0,296,3681,1,0,0,0,298,3685,1,0,0,0,300,3687,1,0,0,0,302,304,3,2,1,0,303,302,1,0,0,0,304,307,1,0,0,0,305,303,1,0,0,0,305,306,1,0,0,0,306,308,1,0,0,0,307,305,1,0,0,0,308,309,5,0,0,1,309,1,1,0,0,0,310,311,3,4,2,0,311,3,1,0,0,0,312,314,3,16,8,0,313,315,5,325,0,0,314,313,1,0,0,0,314,315,1,0,0,0,315,5,1,0,0,0,316,318,3,136,68,0,317,319,5,325,0,0,318,317,1,0,0,0,318,319,1,0,0,0,319,7,1,0,0,0,320,322,3,222,111,0,321,323,5,325,0,0,322,321,1,0,0,0,322,323,1,0,0,0,323,9,1,0,0,0,324,326,3,184,92,0,325,327,5,325,0,0,326,325,1,0,0,0,326,327,1,0,0,0,327,11,1,0,0,0,328,330,3,204,102,0,329,331,5,325,0,0,330,329,1,0,0,0,330,331,1,0,0,0,331,13,1,0,0,0,332,333,3,224,112,0,333,334,5,0,0,1,334,15,1,0,0,0,335,1234,3,18,9,0,336,337,5,288,0,0,337,1234,3,264,132,0,338,339,5,53,0,0,339,343,5,42,0,0,340,341,5,119,0,0,341,342,5,182,0,0,342,344,5,94,0,0,343,340,1,0,0,0,343,344,1,0,0,0,344,345,1,0,0,0,345,346,3,270,135,0,346,347,5,290,0,0,347,350,3,294,147,0,348,349,5,46,0,0,349,351,3,168,84,0,350,348,1,0,0,0,350,351,1,0,0,0,351,354,1,0,0,0,352,353,5,31,0,0,353,355,3,288,144,0,354,352,1,0,0,0,354,355,1,0,0,0,355,358,1,0,0,0,356,357,5,304,0,0,357,359,3,32,16,0,358,356,1,0,0,0,358,359,1,0,0,0,359,1234,1,0,0,0,360,361,5,83,0,0,361,364,5,42,0,0,362,363,5,119,0,0,363,365,5,94,0,0,364,362,1,0,0,0,364,365,1,0,0,0,365,366,1,0,0,0,366,368,3,268,134,0,367,369,7,0,0,0,368,367,1,0,0,0,368,369,1,0,0,0,369,1234,1,0,0,0,370,371,5,53,0,0,371,375,5,243,0,0,372,373,5,119,0,0,373,374,5,182,0,0,374,376,5,94,0,0,375,372,1,0,0,0,375,376,1,0,0,0,376,377,1,0,0,0,377,380,3,266,133,0,378,379,5,31,0,0,379,381,3,288,144,0,380,378,1,0,0,0,380,381,1,0,0,0,381,384,1,0,0,0,382,383,5,304,0,0,383,385,3,32,16,0,384,382,1,0,0,0,384,385,1,0,0,0,385,1234,1,0,0,0,386,387,5,83,0,0,387,390,5,243,0,0,388,389,5,119,0,0,389,391,5,94,0,0,390,388,1,0,0,0,390,391,1,0,0,0,391,392,1,0,0,0,392,394,3,264,132,0,393,395,7,0,0,0,394,393,1,0,0,0,394,395,1,0,0,0,395,1234,1,0,0,0,396,397,5,23,0,0,397,398,5,243,0,0,398,399,3,264,132,0,399,400,5,223,0,0,400,401,5,269,0,0,401,402,3,266,133,0,402,1234,1,0,0,0,403,404,5,23,0,0,404,405,5,243,0,0,405,406,3,264,132,0,406,407,5,251,0,0,407,408,5,31,0,0,408,409,3,288,144,0,409,1234,1,0,0,0,410,413,5,53,0,0,411,412,5,194,0,0,412,414,5,226,0,0,413,411,1,0,0,0,413,414,1,0,0,0,414,415,1,0,0,0,415,419,5,260,0,0,416,417,5,119,0,0,417,418,5,182,0,0,418,420,5,94,0,0,419,416,1,0,0,0,419,420,1,0,0,0,420,421,1,0,0,0,421,423,3,258,129,0,422,424,3,104,52,0,423,422,1,0,0,0,423,424,1,0,0,0,424,427,1,0,0,0,425,426,5,46,0,0,426,428,3,168,84,0,427,425,1,0,0,0,427,428,1,0,0,0,428,431,1,0,0,0,429,430,5,304,0,0,430,432,3,32,16,0,431,429,1,0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,439,5,28,0,0,434,440,3,18,9,0,435,436,5,1,0,0,436,437,3,18,9,0,437,438,5,2,0,0,438,440,1,0,0,0,439,434,1,0,0,0,439,435,1,0,0,0,440,446,1,0,0,0,441,443,5,304,0,0,442,444,5,179,0,0,443,442,1,0,0,0,443,444,1,0,0,0,444,445,1,0,0,0,445,447,5,65,0,0,446,441,1,0,0,0,446,447,1,0,0,0,447,1234,1,0,0,0,448,451,5,53,0,0,449,450,5,194,0,0,450,452,5,226,0,0,451,449,1,0,0,0,451,452,1,0,0,0,452,453,1,0,0,0,453,457,5,260,0,0,454,455,5,119,0,0,455,456,5,182,0,0,456,458,5,94,0,0,457,454,1,0,0,0,457,458,1,0,0,0,458,459,1,0,0,0,459,460,3,258,129,0,460,461,5,1,0,0,461,466,3,26,13,0,462,463,5,3,0,0,463,465,3,26,13,0,464,462,1,0,0,0,465,468,1,0,0,0,466,464,1,0,0,0,466,467,1,0,0,0,467,469,1,0,0,0,468,466,1,0,0,0,469,472,5,2,0,0,470,471,5,46,0,0,471,473,3,168,84,0,472,470,1,0,0,0,472,473,1,0,0,0,473,476,1,0,0,0,474,475,5,304,0,0,475,477,3,32,16,0,476,474,1,0,0,0,476,477,1,0,0,0,477,1234,1,0,0,0,478,479,5,83,0,0,479,482,5,260,0,0,480,481,5,119,0,0,481,483,5,94,0,0,482,480,1,0,0,0,482,483,1,0,0,0,483,484,1,0,0,0,484,1234,3,256,128,0,485,486,5,127,0,0,486,487,5,130,0,0,487,489,3,256,128,0,488,490,3,106,53,0,489,488,1,0,0,0,489,490,1,0,0,0,490,491,1,0,0,0,491,492,3,18,9,0,492,1234,1,0,0,0,493,494,5,73,0,0,494,495,5,105,0,0,495,498,3,256,128,0,496,497,5,301,0,0,497,499,3,138,69,0,498,496,1,0,0,0,498,499,1,0,0,0,499,1234,1,0,0,0,500,501,5,274,0,0,501,502,5,260,0,0,502,1234,3,256,128,0,503,504,5,46,0,0,504,505,5,190,0,0,505,506,5,260,0,0,506,507,3,256,128,0,507,510,5,133,0,0,508,511,3,168,84,0,509,511,5,183,0,0,510,508,1,0,0,0,510,509,1,0,0,0,511,1234,1,0,0,0,512,513,5,46,0,0,513,514,5,190,0,0,514,515,5,299,0,0,515,516,3,260,130,0,516,519,5,133,0,0,517,520,3,168,84,0,518,520,5,183,0,0,519,517,1,0,0,0,519,518,1,0,0,0,520,1234,1,0,0,0,521,522,5,46,0,0,522,523,5,190,0,0,523,524,5,44,0,0,524,525,3,276,138,0,525,528,5,133,0,0,526,529,3,168,84,0,527,529,5,183,0,0,528,526,1,0,0,0,528,527,1,0,0,0,529,1234,1,0,0,0,530,531,5,23,0,0,531,534,5,260,0,0,532,533,5,119,0,0,533,535,5,94,0,0,534,532,1,0,0,0,534,535,1,0,0,0,535,536,1,0,0,0,536,537,3,256,128,0,537,538,5,223,0,0,538,539,5,269,0,0,539,540,3,258,129,0,540,1234,1,0,0,0,541,542,5,23,0,0,542,545,5,260,0,0,543,544,5,119,0,0,544,546,5,94,0,0,545,543,1,0,0,0,545,546,1,0,0,0,546,547,1,0,0,0,547,548,3,256,128,0,548,549,5,19,0,0,549,553,5,44,0,0,550,551,5,119,0,0,551,552,5,182,0,0,552,554,5,94,0,0,553,550,1,0,0,0,553,554,1,0,0,0,554,555,1,0,0,0,555,556,3,28,14,0,556,1234,1,0,0,0,557,558,5,23,0,0,558,561,5,260,0,0,559,560,5,119,0,0,560,562,5,94,0,0,561,559,1,0,0,0,561,562,1,0,0,0,562,563,1,0,0,0,563,564,3,256,128,0,564,565,5,223,0,0,565,568,5,44,0,0,566,567,5,119,0,0,567,569,5,94,0,0,568,566,1,0,0,0,568,569,1,0,0,0,569,570,1,0,0,0,570,571,3,276,138,0,571,572,5,269,0,0,572,573,3,278,139,0,573,1234,1,0,0,0,574,575,5,23,0,0,575,578,5,260,0,0,576,577,5,119,0,0,577,579,5,94,0,0,578,576,1,0,0,0,578,579,1,0,0,0,579,580,1,0,0,0,580,581,3,256,128,0,581,582,5,83,0,0,582,585,5,44,0,0,583,584,5,119,0,0,584,586,5,94,0,0,585,583,1,0,0,0,585,586,1,0,0,0,586,587,1,0,0,0,587,588,3,276,138,0,588,1234,1,0,0,0,589,590,5,23,0,0,590,593,5,260,0,0,591,592,5,119,0,0,592,594,5,94,0,0,593,591,1,0,0,0,593,594,1,0,0,0,594,595,1,0,0,0,595,596,3,256,128,0,596,597,5,23,0,0,597,598,5,44,0,0,598,599,3,276,138,0,599,600,5,251,0,0,600,601,5,65,0,0,601,602,5,276,0,0,602,603,3,184,92,0,603,1234,1,0,0,0,604,605,5,23,0,0,605,608,5,260,0,0,606,607,5,119,0,0,607,609,5,94,0,0,608,606,1,0,0,0,608,609,1,0,0,0,609,610,1,0,0,0,610,611,3,256,128,0,611,612,5,23,0,0,612,613,5,44,0,0,613,614,3,276,138,0,614,615,5,83,0,0,615,616,5,182,0,0,616,617,5,183,0,0,617,1234,1,0,0,0,618,619,5,23,0,0,619,620,5,260,0,0,620,621,3,256,128,0,621,622,5,251,0,0,622,623,5,31,0,0,623,624,3,288,144,0,624,1234,1,0,0,0,625,626,5,23,0,0,626,627,5,260,0,0,627,628,3,256,128,0,628,629,5,251,0,0,629,630,5,216,0,0,630,631,3,34,17,0,631,1234,1,0,0,0,632,633,5,23,0,0,633,634,5,260,0,0,634,635,3,256,128,0,635,636,5,93,0,0,636,649,3,272,136,0,637,646,5,1,0,0,638,643,3,218,109,0,639,640,5,3,0,0,640,642,3,218,109,0,641,639,1,0,0,0,642,645,1,0,0,0,643,641,1,0,0,0,643,644,1,0,0,0,644,647,1,0,0,0,645,643,1,0,0,0,646,638,1,0,0,0,646,647,1,0,0,0,647,648,1,0,0,0,648,650,5,2,0,0,649,637,1,0,0,0,649,650,1,0,0,0,650,653,1,0,0,0,651,652,5,301,0,0,652,654,3,138,69,0,653,651,1,0,0,0,653,654,1,0,0,0,654,1234,1,0,0,0,655,656,5,24,0,0,656,659,3,256,128,0,657,658,5,304,0,0,658,660,3,32,16,0,659,657,1,0,0,0,659,660,1,0,0,0,660,1234,1,0,0,0,661,664,5,53,0,0,662,663,5,194,0,0,663,665,5,226,0,0,664,662,1,0,0,0,664,665,1,0,0,0,665,666,1,0,0,0,666,667,5,167,0,0,667,671,5,299,0,0,668,669,5,119,0,0,669,670,5,182,0,0,670,672,5,94,0,0,671,668,1,0,0,0,671,672,1,0,0,0,672,673,1,0,0,0,673,677,3,262,131,0,674,675,5,109,0,0,675,676,5,208,0,0,676,678,3,178,89,0,677,674,1,0,0,0,677,678,1,0,0,0,678,681,1,0,0,0,679,680,5,46,0,0,680,682,3,168,84,0,681,679,1,0,0,0,681,682,1,0,0,0,682,685,1,0,0,0,683,684,5,304,0,0,684,686,3,32,16,0,685,683,1,0,0,0,685,686,1,0,0,0,686,687,1,0,0,0,687,688,5,28,0,0,688,689,3,18,9,0,689,1234,1,0,0,0,690,693,5,53,0,0,691,692,5,194,0,0,692,694,5,226,0,0,693,691,1,0,0,0,693,694,1,0,0,0,694,695,1,0,0,0,695,696,5,299,0,0,696,699,3,262,131,0,697,698,5,46,0,0,698,700,3,168,84,0,699,697,1,0,0,0,699,700,1,0,0,0,700,703,1,0,0,0,701,702,5,246,0,0,702,704,7,1,0,0,703,701,1,0,0,0,703,704,1,0,0,0,704,707,1,0,0,0,705,706,5,304,0,0,706,708,3,32,16,0,707,705,1,0,0,0,707,708,1,0,0,0,708,709,1,0,0,0,709,710,5,28,0,0,710,711,3,18,9,0,711,1234,1,0,0,0,712,713,5,222,0,0,713,714,5,167,0,0,714,715,5,299,0,0,715,1234,3,260,130,0,716,717,5,83,0,0,717,718,5,167,0,0,718,721,5,299,0,0,719,720,5,119,0,0,720,722,5,94,0,0,721,719,1,0,0,0,721,722,1,0,0,0,722,723,1,0,0,0,723,1234,3,260,130,0,724,725,5,23,0,0,725,726,5,167,0,0,726,729,5,299,0,0,727,728,5,119,0,0,728,730,5,94,0,0,729,727,1,0,0,0,729,730,1,0,0,0,730,731,1,0,0,0,731,732,3,260,130,0,732,733,5,223,0,0,733,734,5,269,0,0,734,735,3,262,131,0,735,1234,1,0,0,0,736,737,5,23,0,0,737,738,5,167,0,0,738,739,5,299,0,0,739,740,3,260,130,0,740,741,5,251,0,0,741,742,5,216,0,0,742,743,3,34,17,0,743,1234,1,0,0,0,744,745,5,83,0,0,745,748,5,299,0,0,746,747,5,119,0,0,747,749,5,94,0,0,748,746,1,0,0,0,748,749,1,0,0,0,749,750,1,0,0,0,750,1234,3,260,130,0,751,752,5,23,0,0,752,753,5,299,0,0,753,754,3,260,130,0,754,755,5,223,0,0,755,756,5,269,0,0,756,757,3,262,131,0,757,1234,1,0,0,0,758,759,5,23,0,0,759,760,5,299,0,0,760,761,3,260,130,0,761,762,5,251,0,0,762,763,5,31,0,0,763,764,3,288,144,0,764,1234,1,0,0,0,765,766,5,37,0,0,766,767,3,272,136,0,767,776,5,1,0,0,768,773,3,218,109,0,769,770,5,3,0,0,770,772,3,218,109,0,771,769,1,0,0,0,772,775,1,0,0,0,773,771,1,0,0,0,773,774,1,0,0,0,774,777,1,0,0,0,775,773,1,0,0,0,776,768,1,0,0,0,776,777,1,0,0,0,777,778,1,0,0,0,778,779,5,2,0,0,779,1234,1,0,0,0,780,783,5,53,0,0,781,782,5,194,0,0,782,784,5,226,0,0,783,781,1,0,0,0,783,784,1,0,0,0,784,785,1,0,0,0,785,1234,3,224,112,0,786,787,5,83,0,0,787,790,5,107,0,0,788,789,5,119,0,0,789,791,5,94,0,0,790,788,1,0,0,0,790,791,1,0,0,0,791,792,1,0,0,0,792,1234,3,228,114,0,793,794,5,53,0,0,794,795,5,235,0,0,795,799,3,294,147,0,796,797,5,304,0,0,797,798,5,20,0,0,798,800,3,286,143,0,799,796,1,0,0,0,799,800,1,0,0,0,800,803,1,0,0,0,801,802,5,122,0,0,802,804,3,268,134,0,803,801,1,0,0,0,803,804,1,0,0,0,804,1234,1,0,0,0,805,806,5,83,0,0,806,807,5,235,0,0,807,810,3,294,147,0,808,809,5,122,0,0,809,811,3,268,134,0,810,808,1,0,0,0,810,811,1,0,0,0,811,1234,1,0,0,0,812,813,5,110,0,0,813,818,3,292,146,0,814,815,5,3,0,0,815,817,3,292,146,0,816,814,1,0,0,0,817,820,1,0,0,0,818,816,1,0,0,0,818,819,1,0,0,0,819,821,1,0,0,0,820,818,1,0,0,0,821,822,5,269,0,0,822,827,3,288,144,0,823,824,5,3,0,0,824,826,3,288,144,0,825,823,1,0,0,0,826,829,1,0,0,0,827,825,1,0,0,0,827,828,1,0,0,0,828,833,1,0,0,0,829,827,1,0,0,0,830,831,5,304,0,0,831,832,5,20,0,0,832,834,5,193,0,0,833,830,1,0,0,0,833,834,1,0,0,0,834,838,1,0,0,0,835,836,5,111,0,0,836,837,5,36,0,0,837,839,3,286,143,0,838,835,1,0,0,0,838,839,1,0,0,0,839,842,1,0,0,0,840,841,5,122,0,0,841,843,3,268,134,0,842,840,1,0,0,0,842,843,1,0,0,0,843,1234,1,0,0,0,844,855,5,110,0,0,845,850,3,292,146,0,846,847,5,3,0,0,847,849,3,292,146,0,848,846,1,0,0,0,849,852,1,0,0,0,850,848,1,0,0,0,850,851,1,0,0,0,851,856,1,0,0,0,852,850,1,0,0,0,853,854,5,22,0,0,854,856,5,215,0,0,855,845,1,0,0,0,855,853,1,0,0,0,856,857,1,0,0,0,857,858,5,190,0,0,858,859,3,252,126,0,859,860,5,269,0,0,860,864,3,288,144,0,861,862,5,304,0,0,862,863,5,110,0,0,863,865,5,193,0,0,864,861,1,0,0,0,864,865,1,0,0,0,865,1234,1,0,0,0,866,870,5,233,0,0,867,868,5,20,0,0,868,869,5,193,0,0,869,871,5,103,0,0,870,867,1,0,0,0,870,871,1,0,0,0,871,872,1,0,0,0,872,877,3,292,146,0,873,874,5,3,0,0,874,876,3,292,146,0,875,873,1,0,0,0,876,879,1,0,0,0,877,875,1,0,0,0,877,878,1,0,0,0,878,880,1,0,0,0,879,877,1,0,0,0,880,881,5,105,0,0,881,886,3,288,144,0,882,883,5,3,0,0,883,885,3,288,144,0,884,882,1,0,0,0,885,888,1,0,0,0,886,884,1,0,0,0,886,887,1,0,0,0,887,892,1,0,0,0,888,886,1,0,0,0,889,890,5,111,0,0,890,891,5,36,0,0,891,893,3,286,143,0,892,889,1,0,0,0,892,893,1,0,0,0,893,896,1,0,0,0,894,895,5,122,0,0,895,897,3,268,134,0,896,894,1,0,0,0,896,897,1,0,0,0,897,1234,1,0,0,0,898,902,5,233,0,0,899,900,5,110,0,0,900,901,5,193,0,0,901,903,5,103,0,0,902,899,1,0,0,0,902,903,1,0,0,0,903,914,1,0,0,0,904,909,3,292,146,0,905,906,5,3,0,0,906,908,3,292,146,0,907,905,1,0,0,0,908,911,1,0,0,0,909,907,1,0,0,0,909,910,1,0,0,0,910,915,1,0,0,0,911,909,1,0,0,0,912,913,5,22,0,0,913,915,5,215,0,0,914,904,1,0,0,0,914,912,1,0,0,0,915,916,1,0,0,0,916,917,5,190,0,0,917,918,3,252,126,0,918,919,5,105,0,0,919,920,3,288,144,0,920,1234,1,0,0,0,921,932,5,74,0,0,922,927,3,248,124,0,923,924,5,3,0,0,924,926,3,248,124,0,925,923,1,0,0,0,926,929,1,0,0,0,927,925,1,0,0,0,927,928,1,0,0,0,928,933,1,0,0,0,929,927,1,0,0,0,930,931,5,22,0,0,931,933,5,215,0,0,932,922,1,0,0,0,932,930,1,0,0,0,933,934,1,0,0,0,934,935,5,190,0,0,935,936,3,252,126,0,936,937,5,269,0,0,937,938,3,288,144,0,938,1234,1,0,0,0,939,940,5,251,0,0,940,944,5,235,0,0,941,945,5,22,0,0,942,945,5,180,0,0,943,945,3,294,147,0,944,941,1,0,0,0,944,942,1,0,0,0,944,943,1,0,0,0,945,948,1,0,0,0,946,947,5,122,0,0,947,949,3,268,134,0,948,946,1,0,0,0,948,949,1,0,0,0,949,1234,1,0,0,0,950,951,5,253,0,0,951,954,5,112,0,0,952,953,5,190,0,0,953,955,3,252,126,0,954,952,1,0,0,0,954,955,1,0,0,0,955,1234,1,0,0,0,956,968,5,95,0,0,957,958,5,1,0,0,958,963,3,212,106,0,959,960,5,3,0,0,960,962,3,212,106,0,961,959,1,0,0,0,962,965,1,0,0,0,963,961,1,0,0,0,963,964,1,0,0,0,964,966,1,0,0,0,965,963,1,0,0,0,966,967,5,2,0,0,967,969,1,0,0,0,968,957,1,0,0,0,968,969,1,0,0,0,969,970,1,0,0,0,970,1234,3,16,8,0,971,972,5,95,0,0,972,974,5,24,0,0,973,975,5,297,0,0,974,973,1,0,0,0,974,975,1,0,0,0,975,976,1,0,0,0,976,1234,3,16,8,0,977,978,5,253,0,0,978,979,5,53,0,0,979,980,5,260,0,0,980,1234,3,256,128,0,981,982,5,253,0,0,982,983,5,53,0,0,983,984,5,243,0,0,984,1234,3,264,132,0,985,986,5,253,0,0,986,987,5,53,0,0,987,988,5,299,0,0,988,1234,3,260,130,0,989,990,5,253,0,0,990,991,5,53,0,0,991,992,5,167,0,0,992,993,5,299,0,0,993,1234,3,260,130,0,994,995,5,253,0,0,995,996,5,53,0,0,996,997,5,107,0,0,997,1234,3,272,136,0,998,999,5,253,0,0,999,1002,5,261,0,0,1e3,1001,7,2,0,0,1001,1003,3,264,132,0,1002,1e3,1,0,0,0,1002,1003,1,0,0,0,1003,1010,1,0,0,0,1004,1005,5,154,0,0,1005,1008,3,168,84,0,1006,1007,5,90,0,0,1007,1009,3,168,84,0,1008,1006,1,0,0,0,1008,1009,1,0,0,0,1009,1011,1,0,0,0,1010,1004,1,0,0,0,1010,1011,1,0,0,0,1011,1234,1,0,0,0,1012,1013,5,253,0,0,1013,1016,5,244,0,0,1014,1015,7,2,0,0,1015,1017,3,268,134,0,1016,1014,1,0,0,0,1016,1017,1,0,0,0,1017,1024,1,0,0,0,1018,1019,5,154,0,0,1019,1022,3,168,84,0,1020,1021,5,90,0,0,1021,1023,3,168,84,0,1022,1020,1,0,0,0,1022,1023,1,0,0,0,1023,1025,1,0,0,0,1024,1018,1,0,0,0,1024,1025,1,0,0,0,1025,1234,1,0,0,0,1026,1027,5,253,0,0,1027,1034,5,43,0,0,1028,1029,5,154,0,0,1029,1032,3,168,84,0,1030,1031,5,90,0,0,1031,1033,3,168,84,0,1032,1030,1,0,0,0,1032,1033,1,0,0,0,1033,1035,1,0,0,0,1034,1028,1,0,0,0,1034,1035,1,0,0,0,1035,1234,1,0,0,0,1036,1037,5,253,0,0,1037,1038,5,45,0,0,1038,1039,7,2,0,0,1039,1046,3,254,127,0,1040,1041,5,154,0,0,1041,1044,3,168,84,0,1042,1043,5,90,0,0,1043,1045,3,168,84,0,1044,1042,1,0,0,0,1044,1045,1,0,0,0,1045,1047,1,0,0,0,1046,1040,1,0,0,0,1046,1047,1,0,0,0,1047,1234,1,0,0,0,1048,1049,5,253,0,0,1049,1050,5,256,0,0,1050,1051,5,103,0,0,1051,1234,3,254,127,0,1052,1053,5,253,0,0,1053,1054,5,256,0,0,1054,1055,5,103,0,0,1055,1056,5,1,0,0,1056,1057,3,18,9,0,1057,1058,5,2,0,0,1058,1234,1,0,0,0,1059,1061,5,253,0,0,1060,1062,5,56,0,0,1061,1060,1,0,0,0,1061,1062,1,0,0,0,1062,1063,1,0,0,0,1063,1066,5,236,0,0,1064,1065,7,2,0,0,1065,1067,3,268,134,0,1066,1064,1,0,0,0,1066,1067,1,0,0,0,1067,1234,1,0,0,0,1068,1069,5,253,0,0,1069,1070,5,235,0,0,1070,1073,5,112,0,0,1071,1072,7,2,0,0,1072,1074,3,268,134,0,1073,1071,1,0,0,0,1073,1074,1,0,0,0,1074,1234,1,0,0,0,1075,1076,5,76,0,0,1076,1234,3,254,127,0,1077,1078,5,75,0,0,1078,1234,3,254,127,0,1079,1080,5,253,0,0,1080,1083,5,108,0,0,1081,1082,7,2,0,0,1082,1084,3,264,132,0,1083,1081,1,0,0,0,1083,1084,1,0,0,0,1084,1091,1,0,0,0,1085,1086,5,154,0,0,1086,1089,3,168,84,0,1087,1088,5,90,0,0,1088,1090,3,168,84,0,1089,1087,1,0,0,0,1089,1090,1,0,0,0,1090,1092,1,0,0,0,1091,1085,1,0,0,0,1091,1092,1,0,0,0,1092,1234,1,0,0,0,1093,1094,5,253,0,0,1094,1101,5,250,0,0,1095,1096,5,154,0,0,1096,1099,3,168,84,0,1097,1098,5,90,0,0,1098,1100,3,168,84,0,1099,1097,1,0,0,0,1099,1100,1,0,0,0,1100,1102,1,0,0,0,1101,1095,1,0,0,0,1101,1102,1,0,0,0,1102,1234,1,0,0,0,1103,1104,5,251,0,0,1104,1105,5,250,0,0,1105,1106,5,31,0,0,1106,1234,3,298,149,0,1107,1108,5,227,0,0,1108,1109,5,250,0,0,1109,1234,5,31,0,0,1110,1111,5,251,0,0,1111,1112,5,250,0,0,1112,1113,3,280,140,0,1113,1114,5,312,0,0,1114,1115,3,136,68,0,1115,1234,1,0,0,0,1116,1117,5,227,0,0,1117,1118,5,250,0,0,1118,1234,3,280,140,0,1119,1120,5,255,0,0,1120,1129,5,271,0,0,1121,1126,3,214,107,0,1122,1123,5,3,0,0,1123,1125,3,214,107,0,1124,1122,1,0,0,0,1125,1128,1,0,0,0,1126,1124,1,0,0,0,1126,1127,1,0,0,0,1127,1130,1,0,0,0,1128,1126,1,0,0,0,1129,1121,1,0,0,0,1129,1130,1,0,0,0,1130,1234,1,0,0,0,1131,1133,5,47,0,0,1132,1134,5,307,0,0,1133,1132,1,0,0,0,1133,1134,1,0,0,0,1134,1234,1,0,0,0,1135,1137,5,237,0,0,1136,1138,5,307,0,0,1137,1136,1,0,0,0,1137,1138,1,0,0,0,1138,1234,1,0,0,0,1139,1140,5,214,0,0,1140,1141,3,294,147,0,1141,1142,5,105,0,0,1142,1143,3,16,8,0,1143,1234,1,0,0,0,1144,1145,5,68,0,0,1145,1146,5,214,0,0,1146,1234,3,294,147,0,1147,1148,5,93,0,0,1148,1158,3,294,147,0,1149,1150,5,290,0,0,1150,1155,3,136,68,0,1151,1152,5,3,0,0,1152,1154,3,136,68,0,1153,1151,1,0,0,0,1154,1157,1,0,0,0,1155,1153,1,0,0,0,1155,1156,1,0,0,0,1156,1159,1,0,0,0,1157,1155,1,0,0,0,1158,1149,1,0,0,0,1158,1159,1,0,0,0,1159,1234,1,0,0,0,1160,1161,5,93,0,0,1161,1162,5,121,0,0,1162,1172,3,168,84,0,1163,1164,5,290,0,0,1164,1169,3,136,68,0,1165,1166,5,3,0,0,1166,1168,3,136,68,0,1167,1165,1,0,0,0,1168,1171,1,0,0,0,1169,1167,1,0,0,0,1169,1170,1,0,0,0,1170,1173,1,0,0,0,1171,1169,1,0,0,0,1172,1163,1,0,0,0,1172,1173,1,0,0,0,1173,1234,1,0,0,0,1174,1175,5,76,0,0,1175,1176,5,126,0,0,1176,1234,3,294,147,0,1177,1178,5,76,0,0,1178,1179,5,198,0,0,1179,1234,3,294,147,0,1180,1181,5,251,0,0,1181,1182,5,205,0,0,1182,1234,3,222,111,0,1183,1184,5,251,0,0,1184,1185,5,267,0,0,1185,1188,5,311,0,0,1186,1189,5,157,0,0,1187,1189,3,136,68,0,1188,1186,1,0,0,0,1188,1187,1,0,0,0,1189,1234,1,0,0,0,1190,1191,5,287,0,0,1191,1192,3,256,128,0,1192,1193,5,251,0,0,1193,1198,3,210,105,0,1194,1195,5,3,0,0,1195,1197,3,210,105,0,1196,1194,1,0,0,0,1197,1200,1,0,0,0,1198,1196,1,0,0,0,1198,1199,1,0,0,0,1199,1203,1,0,0,0,1200,1198,1,0,0,0,1201,1202,5,301,0,0,1202,1204,3,138,69,0,1203,1201,1,0,0,0,1203,1204,1,0,0,0,1204,1234,1,0,0,0,1205,1206,5,169,0,0,1206,1207,5,130,0,0,1207,1212,3,256,128,0,1208,1210,5,28,0,0,1209,1208,1,0,0,0,1209,1210,1,0,0,0,1210,1211,1,0,0,0,1211,1213,3,294,147,0,1212,1209,1,0,0,0,1212,1213,1,0,0,0,1213,1214,1,0,0,0,1214,1215,5,290,0,0,1215,1216,3,72,36,0,1216,1217,5,190,0,0,1217,1219,3,136,68,0,1218,1220,3,194,97,0,1219,1218,1,0,0,0,1220,1221,1,0,0,0,1221,1219,1,0,0,0,1221,1222,1,0,0,0,1222,1234,1,0,0,0,1223,1224,5,253,0,0,1224,1225,5,46,0,0,1225,1226,5,190,0,0,1226,1227,5,260,0,0,1227,1234,3,256,128,0,1228,1229,5,253,0,0,1229,1230,5,46,0,0,1230,1231,5,190,0,0,1231,1232,5,44,0,0,1232,1234,3,276,138,0,1233,335,1,0,0,0,1233,336,1,0,0,0,1233,338,1,0,0,0,1233,360,1,0,0,0,1233,370,1,0,0,0,1233,386,1,0,0,0,1233,396,1,0,0,0,1233,403,1,0,0,0,1233,410,1,0,0,0,1233,448,1,0,0,0,1233,478,1,0,0,0,1233,485,1,0,0,0,1233,493,1,0,0,0,1233,500,1,0,0,0,1233,503,1,0,0,0,1233,512,1,0,0,0,1233,521,1,0,0,0,1233,530,1,0,0,0,1233,541,1,0,0,0,1233,557,1,0,0,0,1233,574,1,0,0,0,1233,589,1,0,0,0,1233,604,1,0,0,0,1233,618,1,0,0,0,1233,625,1,0,0,0,1233,632,1,0,0,0,1233,655,1,0,0,0,1233,661,1,0,0,0,1233,690,1,0,0,0,1233,712,1,0,0,0,1233,716,1,0,0,0,1233,724,1,0,0,0,1233,736,1,0,0,0,1233,744,1,0,0,0,1233,751,1,0,0,0,1233,758,1,0,0,0,1233,765,1,0,0,0,1233,780,1,0,0,0,1233,786,1,0,0,0,1233,793,1,0,0,0,1233,805,1,0,0,0,1233,812,1,0,0,0,1233,844,1,0,0,0,1233,866,1,0,0,0,1233,898,1,0,0,0,1233,921,1,0,0,0,1233,939,1,0,0,0,1233,950,1,0,0,0,1233,956,1,0,0,0,1233,971,1,0,0,0,1233,977,1,0,0,0,1233,981,1,0,0,0,1233,985,1,0,0,0,1233,989,1,0,0,0,1233,994,1,0,0,0,1233,998,1,0,0,0,1233,1012,1,0,0,0,1233,1026,1,0,0,0,1233,1036,1,0,0,0,1233,1048,1,0,0,0,1233,1052,1,0,0,0,1233,1059,1,0,0,0,1233,1068,1,0,0,0,1233,1075,1,0,0,0,1233,1077,1,0,0,0,1233,1079,1,0,0,0,1233,1093,1,0,0,0,1233,1103,1,0,0,0,1233,1107,1,0,0,0,1233,1110,1,0,0,0,1233,1116,1,0,0,0,1233,1119,1,0,0,0,1233,1131,1,0,0,0,1233,1135,1,0,0,0,1233,1139,1,0,0,0,1233,1144,1,0,0,0,1233,1147,1,0,0,0,1233,1160,1,0,0,0,1233,1174,1,0,0,0,1233,1177,1,0,0,0,1233,1180,1,0,0,0,1233,1183,1,0,0,0,1233,1190,1,0,0,0,1233,1205,1,0,0,0,1233,1223,1,0,0,0,1233,1228,1,0,0,0,1234,17,1,0,0,0,1235,1237,3,20,10,0,1236,1235,1,0,0,0,1236,1237,1,0,0,0,1237,1238,1,0,0,0,1238,1239,3,22,11,0,1239,19,1,0,0,0,1240,1241,5,304,0,0,1241,1246,3,224,112,0,1242,1243,5,3,0,0,1243,1245,3,224,112,0,1244,1242,1,0,0,0,1245,1248,1,0,0,0,1246,1244,1,0,0,0,1246,1247,1,0,0,0,1247,21,1,0,0,0,1248,1246,1,0,0,0,1249,1251,3,24,12,0,1250,1249,1,0,0,0,1250,1251,1,0,0,0,1251,1252,1,0,0,0,1252,1253,3,40,20,0,1253,23,1,0,0,0,1254,1256,5,304,0,0,1255,1257,5,221,0,0,1256,1255,1,0,0,0,1256,1257,1,0,0,0,1257,1258,1,0,0,0,1258,1263,3,66,33,0,1259,1260,5,3,0,0,1260,1262,3,66,33,0,1261,1259,1,0,0,0,1262,1265,1,0,0,0,1263,1261,1,0,0,0,1263,1264,1,0,0,0,1264,25,1,0,0,0,1265,1263,1,0,0,0,1266,1269,3,28,14,0,1267,1269,3,30,15,0,1268,1266,1,0,0,0,1268,1267,1,0,0,0,1269,27,1,0,0,0,1270,1271,3,278,139,0,1271,1274,3,184,92,0,1272,1273,5,182,0,0,1273,1275,5,183,0,0,1274,1272,1,0,0,0,1274,1275,1,0,0,0,1275,1278,1,0,0,0,1276,1277,5,46,0,0,1277,1279,3,168,84,0,1278,1276,1,0,0,0,1278,1279,1,0,0,0,1279,1282,1,0,0,0,1280,1281,5,304,0,0,1281,1283,3,32,16,0,1282,1280,1,0,0,0,1282,1283,1,0,0,0,1283,29,1,0,0,0,1284,1285,5,154,0,0,1285,1288,3,256,128,0,1286,1287,7,3,0,0,1287,1289,5,216,0,0,1288,1286,1,0,0,0,1288,1289,1,0,0,0,1289,31,1,0,0,0,1290,1291,5,1,0,0,1291,1292,3,34,17,0,1292,1293,5,2,0,0,1293,33,1,0,0,0,1294,1299,3,36,18,0,1295,1296,5,3,0,0,1296,1298,3,36,18,0,1297,1295,1,0,0,0,1298,1301,1,0,0,0,1299,1297,1,0,0,0,1299,1300,1,0,0,0,1300,35,1,0,0,0,1301,1299,1,0,0,0,1302,1303,3,294,147,0,1303,1304,5,312,0,0,1304,1305,3,38,19,0,1305,37,1,0,0,0,1306,1309,5,70,0,0,1307,1309,3,136,68,0,1308,1306,1,0,0,0,1308,1307,1,0,0,0,1309,39,1,0,0,0,1310,1321,3,46,23,0,1311,1312,5,195,0,0,1312,1313,5,36,0,0,1313,1318,3,50,25,0,1314,1315,5,3,0,0,1315,1317,3,50,25,0,1316,1314,1,0,0,0,1317,1320,1,0,0,0,1318,1316,1,0,0,0,1318,1319,1,0,0,0,1319,1322,1,0,0,0,1320,1318,1,0,0,0,1321,1311,1,0,0,0,1321,1322,1,0,0,0,1322,1328,1,0,0,0,1323,1324,5,188,0,0,1324,1326,3,44,22,0,1325,1327,7,4,0,0,1326,1325,1,0,0,0,1326,1327,1,0,0,0,1327,1329,1,0,0,0,1328,1323,1,0,0,0,1328,1329,1,0,0,0,1329,1343,1,0,0,0,1330,1331,5,155,0,0,1331,1344,3,42,21,0,1332,1333,5,98,0,0,1333,1335,7,5,0,0,1334,1336,3,44,22,0,1335,1334,1,0,0,0,1335,1336,1,0,0,0,1336,1337,1,0,0,0,1337,1341,7,4,0,0,1338,1342,5,192,0,0,1339,1340,5,304,0,0,1340,1342,5,266,0,0,1341,1338,1,0,0,0,1341,1339,1,0,0,0,1342,1344,1,0,0,0,1343,1330,1,0,0,0,1343,1332,1,0,0,0,1343,1344,1,0,0,0,1344,41,1,0,0,0,1345,1348,5,22,0,0,1346,1348,3,44,22,0,1347,1345,1,0,0,0,1347,1346,1,0,0,0,1348,43,1,0,0,0,1349,1350,7,6,0,0,1350,45,1,0,0,0,1351,1352,6,23,-1,0,1352,1353,3,48,24,0,1353,1368,1,0,0,0,1354,1355,10,2,0,0,1355,1357,5,128,0,0,1356,1358,3,68,34,0,1357,1356,1,0,0,0,1357,1358,1,0,0,0,1358,1359,1,0,0,0,1359,1367,3,46,23,3,1360,1361,10,1,0,0,1361,1363,7,7,0,0,1362,1364,3,68,34,0,1363,1362,1,0,0,0,1363,1364,1,0,0,0,1364,1365,1,0,0,0,1365,1367,3,46,23,2,1366,1354,1,0,0,0,1366,1360,1,0,0,0,1367,1370,1,0,0,0,1368,1366,1,0,0,0,1368,1369,1,0,0,0,1369,47,1,0,0,0,1370,1368,1,0,0,0,1371,1388,3,52,26,0,1372,1373,5,260,0,0,1373,1388,3,256,128,0,1374,1375,5,296,0,0,1375,1380,3,136,68,0,1376,1377,5,3,0,0,1377,1379,3,136,68,0,1378,1376,1,0,0,0,1379,1382,1,0,0,0,1380,1378,1,0,0,0,1380,1381,1,0,0,0,1381,1388,1,0,0,0,1382,1380,1,0,0,0,1383,1384,5,1,0,0,1384,1385,3,40,20,0,1385,1386,5,2,0,0,1386,1388,1,0,0,0,1387,1371,1,0,0,0,1387,1372,1,0,0,0,1387,1374,1,0,0,0,1387,1383,1,0,0,0,1388,49,1,0,0,0,1389,1392,3,276,138,0,1390,1392,3,136,68,0,1391,1389,1,0,0,0,1391,1390,1,0,0,0,1392,1394,1,0,0,0,1393,1395,7,8,0,0,1394,1393,1,0,0,0,1394,1395,1,0,0,0,1395,1398,1,0,0,0,1396,1397,5,185,0,0,1397,1399,7,9,0,0,1398,1396,1,0,0,0,1398,1399,1,0,0,0,1399,51,1,0,0,0,1400,1402,5,248,0,0,1401,1403,3,68,34,0,1402,1401,1,0,0,0,1402,1403,1,0,0,0,1403,1404,1,0,0,0,1404,1409,3,70,35,0,1405,1406,5,3,0,0,1406,1408,3,70,35,0,1407,1405,1,0,0,0,1408,1411,1,0,0,0,1409,1407,1,0,0,0,1409,1410,1,0,0,0,1410,1421,1,0,0,0,1411,1409,1,0,0,0,1412,1413,5,105,0,0,1413,1418,3,72,36,0,1414,1415,5,3,0,0,1415,1417,3,72,36,0,1416,1414,1,0,0,0,1417,1420,1,0,0,0,1418,1416,1,0,0,0,1418,1419,1,0,0,0,1419,1422,1,0,0,0,1420,1418,1,0,0,0,1421,1412,1,0,0,0,1421,1422,1,0,0,0,1422,1425,1,0,0,0,1423,1424,5,301,0,0,1424,1426,3,138,69,0,1425,1423,1,0,0,0,1425,1426,1,0,0,0,1426,1430,1,0,0,0,1427,1428,5,114,0,0,1428,1429,5,36,0,0,1429,1431,3,54,27,0,1430,1427,1,0,0,0,1430,1431,1,0,0,0,1431,1434,1,0,0,0,1432,1433,5,117,0,0,1433,1435,3,138,69,0,1434,1432,1,0,0,0,1434,1435,1,0,0,0,1435,1445,1,0,0,0,1436,1437,5,303,0,0,1437,1442,3,62,31,0,1438,1439,5,3,0,0,1439,1441,3,62,31,0,1440,1438,1,0,0,0,1441,1444,1,0,0,0,1442,1440,1,0,0,0,1442,1443,1,0,0,0,1443,1446,1,0,0,0,1444,1442,1,0,0,0,1445,1436,1,0,0,0,1445,1446,1,0,0,0,1446,53,1,0,0,0,1447,1449,3,68,34,0,1448,1447,1,0,0,0,1448,1449,1,0,0,0,1449,1450,1,0,0,0,1450,1455,3,56,28,0,1451,1452,5,3,0,0,1452,1454,3,56,28,0,1453,1451,1,0,0,0,1454,1457,1,0,0,0,1455,1453,1,0,0,0,1455,1456,1,0,0,0,1456,55,1,0,0,0,1457,1455,1,0,0,0,1458,1499,3,58,29,0,1459,1460,5,238,0,0,1460,1469,5,1,0,0,1461,1466,3,58,29,0,1462,1463,5,3,0,0,1463,1465,3,58,29,0,1464,1462,1,0,0,0,1465,1468,1,0,0,0,1466,1464,1,0,0,0,1466,1467,1,0,0,0,1467,1470,1,0,0,0,1468,1466,1,0,0,0,1469,1461,1,0,0,0,1469,1470,1,0,0,0,1470,1471,1,0,0,0,1471,1499,5,2,0,0,1472,1473,5,55,0,0,1473,1482,5,1,0,0,1474,1479,3,58,29,0,1475,1476,5,3,0,0,1476,1478,3,58,29,0,1477,1475,1,0,0,0,1478,1481,1,0,0,0,1479,1477,1,0,0,0,1479,1480,1,0,0,0,1480,1483,1,0,0,0,1481,1479,1,0,0,0,1482,1474,1,0,0,0,1482,1483,1,0,0,0,1483,1484,1,0,0,0,1484,1499,5,2,0,0,1485,1486,5,115,0,0,1486,1487,5,252,0,0,1487,1488,5,1,0,0,1488,1493,3,58,29,0,1489,1490,5,3,0,0,1490,1492,3,58,29,0,1491,1489,1,0,0,0,1492,1495,1,0,0,0,1493,1491,1,0,0,0,1493,1494,1,0,0,0,1494,1496,1,0,0,0,1495,1493,1,0,0,0,1496,1497,5,2,0,0,1497,1499,1,0,0,0,1498,1458,1,0,0,0,1498,1459,1,0,0,0,1498,1472,1,0,0,0,1498,1485,1,0,0,0,1499,57,1,0,0,0,1500,1509,5,1,0,0,1501,1506,3,60,30,0,1502,1503,5,3,0,0,1503,1505,3,60,30,0,1504,1502,1,0,0,0,1505,1508,1,0,0,0,1506,1504,1,0,0,0,1506,1507,1,0,0,0,1507,1510,1,0,0,0,1508,1506,1,0,0,0,1509,1501,1,0,0,0,1509,1510,1,0,0,0,1510,1511,1,0,0,0,1511,1514,5,2,0,0,1512,1514,3,60,30,0,1513,1500,1,0,0,0,1513,1512,1,0,0,0,1514,59,1,0,0,0,1515,1518,3,276,138,0,1516,1518,3,136,68,0,1517,1515,1,0,0,0,1517,1516,1,0,0,0,1518,61,1,0,0,0,1519,1520,3,294,147,0,1520,1521,5,28,0,0,1521,1522,5,1,0,0,1522,1523,3,64,32,0,1523,1524,5,2,0,0,1524,63,1,0,0,0,1525,1527,3,294,147,0,1526,1525,1,0,0,0,1526,1527,1,0,0,0,1527,1538,1,0,0,0,1528,1529,5,201,0,0,1529,1530,5,36,0,0,1530,1535,3,136,68,0,1531,1532,5,3,0,0,1532,1534,3,136,68,0,1533,1531,1,0,0,0,1534,1537,1,0,0,0,1535,1533,1,0,0,0,1535,1536,1,0,0,0,1536,1539,1,0,0,0,1537,1535,1,0,0,0,1538,1528,1,0,0,0,1538,1539,1,0,0,0,1539,1550,1,0,0,0,1540,1541,5,195,0,0,1541,1542,5,36,0,0,1542,1547,3,50,25,0,1543,1544,5,3,0,0,1544,1546,3,50,25,0,1545,1543,1,0,0,0,1546,1549,1,0,0,0,1547,1545,1,0,0,0,1547,1548,1,0,0,0,1548,1551,1,0,0,0,1549,1547,1,0,0,0,1550,1540,1,0,0,0,1550,1551,1,0,0,0,1551,1553,1,0,0,0,1552,1554,3,198,99,0,1553,1552,1,0,0,0,1553,1554,1,0,0,0,1554,65,1,0,0,0,1555,1557,3,294,147,0,1556,1558,3,108,54,0,1557,1556,1,0,0,0,1557,1558,1,0,0,0,1558,1559,1,0,0,0,1559,1560,5,28,0,0,1560,1561,5,1,0,0,1561,1562,3,22,11,0,1562,1563,5,2,0,0,1563,67,1,0,0,0,1564,1565,7,10,0,0,1565,69,1,0,0,0,1566,1569,3,276,138,0,1567,1569,3,136,68,0,1568,1566,1,0,0,0,1568,1567,1,0,0,0,1569,1574,1,0,0,0,1570,1572,5,28,0,0,1571,1570,1,0,0,0,1571,1572,1,0,0,0,1572,1573,1,0,0,0,1573,1575,3,294,147,0,1574,1571,1,0,0,0,1574,1575,1,0,0,0,1575,1585,1,0,0,0,1576,1577,3,144,72,0,1577,1578,5,4,0,0,1578,1581,5,320,0,0,1579,1580,5,28,0,0,1580,1582,3,108,54,0,1581,1579,1,0,0,0,1581,1582,1,0,0,0,1582,1585,1,0,0,0,1583,1585,5,320,0,0,1584,1568,1,0,0,0,1584,1576,1,0,0,0,1584,1583,1,0,0,0,1585,71,1,0,0,0,1586,1587,6,36,-1,0,1587,1588,3,78,39,0,1588,1607,1,0,0,0,1589,1603,10,2,0,0,1590,1591,5,54,0,0,1591,1592,5,136,0,0,1592,1604,3,78,39,0,1593,1594,3,74,37,0,1594,1595,5,136,0,0,1595,1596,3,72,36,0,1596,1597,3,76,38,0,1597,1604,1,0,0,0,1598,1599,5,172,0,0,1599,1600,3,74,37,0,1600,1601,5,136,0,0,1601,1602,3,78,39,0,1602,1604,1,0,0,0,1603,1590,1,0,0,0,1603,1593,1,0,0,0,1603,1598,1,0,0,0,1604,1606,1,0,0,0,1605,1589,1,0,0,0,1606,1609,1,0,0,0,1607,1605,1,0,0,0,1607,1608,1,0,0,0,1608,73,1,0,0,0,1609,1607,1,0,0,0,1610,1612,5,125,0,0,1611,1610,1,0,0,0,1611,1612,1,0,0,0,1612,1626,1,0,0,0,1613,1615,5,152,0,0,1614,1616,5,197,0,0,1615,1614,1,0,0,0,1615,1616,1,0,0,0,1616,1626,1,0,0,0,1617,1619,5,234,0,0,1618,1620,5,197,0,0,1619,1618,1,0,0,0,1619,1620,1,0,0,0,1620,1626,1,0,0,0,1621,1623,5,106,0,0,1622,1624,5,197,0,0,1623,1622,1,0,0,0,1623,1624,1,0,0,0,1624,1626,1,0,0,0,1625,1611,1,0,0,0,1625,1613,1,0,0,0,1625,1617,1,0,0,0,1625,1621,1,0,0,0,1626,75,1,0,0,0,1627,1628,5,190,0,0,1628,1642,3,138,69,0,1629,1630,5,290,0,0,1630,1631,5,1,0,0,1631,1636,3,294,147,0,1632,1633,5,3,0,0,1633,1635,3,294,147,0,1634,1632,1,0,0,0,1635,1638,1,0,0,0,1636,1634,1,0,0,0,1636,1637,1,0,0,0,1637,1639,1,0,0,0,1638,1636,1,0,0,0,1639,1640,5,2,0,0,1640,1642,1,0,0,0,1641,1627,1,0,0,0,1641,1629,1,0,0,0,1642,77,1,0,0,0,1643,1650,3,88,44,0,1644,1645,5,262,0,0,1645,1646,3,80,40,0,1646,1647,5,1,0,0,1647,1648,3,136,68,0,1648,1649,5,2,0,0,1649,1651,1,0,0,0,1650,1644,1,0,0,0,1650,1651,1,0,0,0,1651,79,1,0,0,0,1652,1653,7,11,0,0,1653,81,1,0,0,0,1654,1655,7,12,0,0,1655,83,1,0,0,0,1656,1663,5,89,0,0,1657,1659,5,274,0,0,1658,1660,3,168,84,0,1659,1658,1,0,0,0,1659,1660,1,0,0,0,1660,1661,1,0,0,0,1661,1663,3,86,43,0,1662,1656,1,0,0,0,1662,1657,1,0,0,0,1663,85,1,0,0,0,1664,1665,5,304,0,0,1665,1669,5,51,0,0,1666,1667,5,306,0,0,1667,1669,5,51,0,0,1668,1664,1,0,0,0,1668,1666,1,0,0,0,1669,87,1,0,0,0,1670,1753,3,102,51,0,1671,1672,5,166,0,0,1672,1683,5,1,0,0,1673,1674,5,201,0,0,1674,1675,5,36,0,0,1675,1680,3,136,68,0,1676,1677,5,3,0,0,1677,1679,3,136,68,0,1678,1676,1,0,0,0,1679,1682,1,0,0,0,1680,1678,1,0,0,0,1680,1681,1,0,0,0,1681,1684,1,0,0,0,1682,1680,1,0,0,0,1683,1673,1,0,0,0,1683,1684,1,0,0,0,1684,1695,1,0,0,0,1685,1686,5,195,0,0,1686,1687,5,36,0,0,1687,1692,3,50,25,0,1688,1689,5,3,0,0,1689,1691,3,50,25,0,1690,1688,1,0,0,0,1691,1694,1,0,0,0,1692,1690,1,0,0,0,1692,1693,1,0,0,0,1693,1696,1,0,0,0,1694,1692,1,0,0,0,1695,1685,1,0,0,0,1695,1696,1,0,0,0,1696,1706,1,0,0,0,1697,1698,5,168,0,0,1698,1703,3,90,45,0,1699,1700,5,3,0,0,1700,1702,3,90,45,0,1701,1699,1,0,0,0,1702,1705,1,0,0,0,1703,1701,1,0,0,0,1703,1704,1,0,0,0,1704,1707,1,0,0,0,1705,1703,1,0,0,0,1706,1697,1,0,0,0,1706,1707,1,0,0,0,1707,1709,1,0,0,0,1708,1710,3,92,46,0,1709,1708,1,0,0,0,1709,1710,1,0,0,0,1710,1714,1,0,0,0,1711,1712,5,21,0,0,1712,1713,5,163,0,0,1713,1715,3,96,48,0,1714,1711,1,0,0,0,1714,1715,1,0,0,0,1715,1717,1,0,0,0,1716,1718,7,13,0,0,1717,1716,1,0,0,0,1717,1718,1,0,0,0,1718,1719,1,0,0,0,1719,1720,5,206,0,0,1720,1721,5,1,0,0,1721,1722,3,204,102,0,1722,1732,5,2,0,0,1723,1724,5,257,0,0,1724,1729,3,98,49,0,1725,1726,5,3,0,0,1726,1728,3,98,49,0,1727,1725,1,0,0,0,1728,1731,1,0,0,0,1729,1727,1,0,0,0,1729,1730,1,0,0,0,1730,1733,1,0,0,0,1731,1729,1,0,0,0,1732,1723,1,0,0,0,1732,1733,1,0,0,0,1733,1734,1,0,0,0,1734,1735,5,71,0,0,1735,1740,3,100,50,0,1736,1737,5,3,0,0,1737,1739,3,100,50,0,1738,1736,1,0,0,0,1739,1742,1,0,0,0,1740,1738,1,0,0,0,1740,1741,1,0,0,0,1741,1743,1,0,0,0,1742,1740,1,0,0,0,1743,1751,5,2,0,0,1744,1746,5,28,0,0,1745,1744,1,0,0,0,1745,1746,1,0,0,0,1746,1747,1,0,0,0,1747,1749,3,294,147,0,1748,1750,3,108,54,0,1749,1748,1,0,0,0,1749,1750,1,0,0,0,1750,1752,1,0,0,0,1751,1745,1,0,0,0,1751,1752,1,0,0,0,1752,1754,1,0,0,0,1753,1671,1,0,0,0,1753,1754,1,0,0,0,1754,89,1,0,0,0,1755,1756,3,136,68,0,1756,1757,5,28,0,0,1757,1758,3,294,147,0,1758,91,1,0,0,0,1759,1760,5,191,0,0,1760,1761,5,239,0,0,1761,1762,5,207,0,0,1762,1771,5,163,0,0,1763,1764,5,22,0,0,1764,1765,5,240,0,0,1765,1766,5,207,0,0,1766,1768,5,163,0,0,1767,1769,3,94,47,0,1768,1767,1,0,0,0,1768,1769,1,0,0,0,1769,1771,1,0,0,0,1770,1759,1,0,0,0,1770,1763,1,0,0,0,1771,93,1,0,0,0,1772,1773,5,253,0,0,1773,1774,5,85,0,0,1774,1782,5,165,0,0,1775,1776,5,189,0,0,1776,1777,5,85,0,0,1777,1782,5,165,0,0,1778,1779,5,304,0,0,1779,1780,5,284,0,0,1780,1782,5,240,0,0,1781,1772,1,0,0,0,1781,1775,1,0,0,0,1781,1778,1,0,0,0,1782,95,1,0,0,0,1783,1784,5,5,0,0,1784,1785,5,269,0,0,1785,1786,5,174,0,0,1786,1803,5,239,0,0,1787,1788,5,5,0,0,1788,1789,5,204,0,0,1789,1790,5,148,0,0,1790,1803,5,239,0,0,1791,1792,5,5,0,0,1792,1793,5,269,0,0,1793,1794,5,101,0,0,1794,1803,3,294,147,0,1795,1796,5,5,0,0,1796,1797,5,269,0,0,1797,1798,5,148,0,0,1798,1803,3,294,147,0,1799,1800,5,5,0,0,1800,1801,5,269,0,0,1801,1803,3,294,147,0,1802,1783,1,0,0,0,1802,1787,1,0,0,0,1802,1791,1,0,0,0,1802,1795,1,0,0,0,1802,1799,1,0,0,0,1803,97,1,0,0,0,1804,1805,3,294,147,0,1805,1806,5,312,0,0,1806,1807,5,1,0,0,1807,1812,3,294,147,0,1808,1809,5,3,0,0,1809,1811,3,294,147,0,1810,1808,1,0,0,0,1811,1814,1,0,0,0,1812,1810,1,0,0,0,1812,1813,1,0,0,0,1813,1815,1,0,0,0,1814,1812,1,0,0,0,1815,1816,5,2,0,0,1816,99,1,0,0,0,1817,1818,3,294,147,0,1818,1819,5,28,0,0,1819,1820,3,136,68,0,1820,101,1,0,0,0,1821,1829,3,110,55,0,1822,1824,5,28,0,0,1823,1822,1,0,0,0,1823,1824,1,0,0,0,1824,1825,1,0,0,0,1825,1827,3,294,147,0,1826,1828,3,108,54,0,1827,1826,1,0,0,0,1827,1828,1,0,0,0,1828,1830,1,0,0,0,1829,1823,1,0,0,0,1829,1830,1,0,0,0,1830,103,1,0,0,0,1831,1832,5,1,0,0,1832,1837,3,278,139,0,1833,1834,5,3,0,0,1834,1836,3,278,139,0,1835,1833,1,0,0,0,1836,1839,1,0,0,0,1837,1835,1,0,0,0,1837,1838,1,0,0,0,1838,1840,1,0,0,0,1839,1837,1,0,0,0,1840,1841,5,2,0,0,1841,105,1,0,0,0,1842,1843,5,1,0,0,1843,1848,3,276,138,0,1844,1845,5,3,0,0,1845,1847,3,276,138,0,1846,1844,1,0,0,0,1847,1850,1,0,0,0,1848,1846,1,0,0,0,1848,1849,1,0,0,0,1849,1851,1,0,0,0,1850,1848,1,0,0,0,1851,1852,5,2,0,0,1852,107,1,0,0,0,1853,1854,5,1,0,0,1854,1859,3,294,147,0,1855,1856,5,3,0,0,1856,1858,3,294,147,0,1857,1855,1,0,0,0,1858,1861,1,0,0,0,1859,1857,1,0,0,0,1859,1860,1,0,0,0,1860,1862,1,0,0,0,1861,1859,1,0,0,0,1862,1863,5,2,0,0,1863,109,1,0,0,0,1864,1866,3,254,127,0,1865,1867,3,282,141,0,1866,1865,1,0,0,0,1866,1867,1,0,0,0,1867,1936,1,0,0,0,1868,1869,5,1,0,0,1869,1870,3,22,11,0,1870,1871,5,2,0,0,1871,1936,1,0,0,0,1872,1873,5,285,0,0,1873,1874,5,1,0,0,1874,1879,3,136,68,0,1875,1876,5,3,0,0,1876,1878,3,136,68,0,1877,1875,1,0,0,0,1878,1881,1,0,0,0,1879,1877,1,0,0,0,1879,1880,1,0,0,0,1880,1882,1,0,0,0,1881,1879,1,0,0,0,1882,1885,5,2,0,0,1883,1884,5,304,0,0,1884,1886,5,196,0,0,1885,1883,1,0,0,0,1885,1886,1,0,0,0,1886,1936,1,0,0,0,1887,1888,5,149,0,0,1888,1889,5,1,0,0,1889,1890,3,22,11,0,1890,1891,5,2,0,0,1891,1936,1,0,0,0,1892,1893,5,260,0,0,1893,1894,5,1,0,0,1894,1895,3,122,61,0,1895,1896,5,2,0,0,1896,1936,1,0,0,0,1897,1898,5,1,0,0,1898,1899,3,72,36,0,1899,1900,5,2,0,0,1900,1936,1,0,0,0,1901,1902,5,142,0,0,1902,1903,5,1,0,0,1903,1904,3,146,73,0,1904,1905,5,45,0,0,1905,1906,5,1,0,0,1906,1911,3,112,56,0,1907,1908,5,3,0,0,1908,1910,3,112,56,0,1909,1907,1,0,0,0,1910,1913,1,0,0,0,1911,1909,1,0,0,0,1911,1912,1,0,0,0,1912,1914,1,0,0,0,1913,1911,1,0,0,0,1914,1926,5,2,0,0,1915,1916,5,210,0,0,1916,1917,5,1,0,0,1917,1918,3,114,57,0,1918,1919,5,2,0,0,1919,1927,1,0,0,0,1920,1921,5,210,0,0,1921,1922,5,70,0,0,1922,1923,5,1,0,0,1923,1924,3,120,60,0,1924,1925,5,2,0,0,1925,1927,1,0,0,0,1926,1915,1,0,0,0,1926,1920,1,0,0,0,1926,1927,1,0,0,0,1927,1931,1,0,0,0,1928,1929,7,14,0,0,1929,1930,5,190,0,0,1930,1932,5,89,0,0,1931,1928,1,0,0,0,1931,1932,1,0,0,0,1932,1933,1,0,0,0,1933,1934,5,2,0,0,1934,1936,1,0,0,0,1935,1864,1,0,0,0,1935,1868,1,0,0,0,1935,1872,1,0,0,0,1935,1887,1,0,0,0,1935,1892,1,0,0,0,1935,1897,1,0,0,0,1935,1901,1,0,0,0,1936,111,1,0,0,0,1937,1938,3,294,147,0,1938,1939,5,103,0,0,1939,1940,5,196,0,0,1940,2015,1,0,0,0,1941,1942,3,294,147,0,1942,1945,3,184,92,0,1943,1944,5,205,0,0,1944,1946,3,168,84,0,1945,1943,1,0,0,0,1945,1946,1,0,0,0,1946,1951,1,0,0,0,1947,1948,3,156,78,0,1948,1949,5,190,0,0,1949,1950,5,85,0,0,1950,1952,1,0,0,0,1951,1947,1,0,0,0,1951,1952,1,0,0,0,1952,1957,1,0,0,0,1953,1954,3,156,78,0,1954,1955,5,190,0,0,1955,1956,5,89,0,0,1956,1958,1,0,0,0,1957,1953,1,0,0,0,1957,1958,1,0,0,0,1958,2015,1,0,0,0,1959,1960,3,294,147,0,1960,1961,3,184,92,0,1961,1962,5,104,0,0,1962,1965,3,150,75,0,1963,1964,5,205,0,0,1964,1966,3,168,84,0,1965,1963,1,0,0,0,1965,1966,1,0,0,0,1966,1970,1,0,0,0,1967,1968,3,158,79,0,1968,1969,5,308,0,0,1969,1971,1,0,0,0,1970,1967,1,0,0,0,1970,1971,1,0,0,0,1971,1979,1,0,0,0,1972,1973,7,15,0,0,1973,1977,5,218,0,0,1974,1975,5,190,0,0,1975,1976,5,242,0,0,1976,1978,5,264,0,0,1977,1974,1,0,0,0,1977,1978,1,0,0,0,1978,1980,1,0,0,0,1979,1972,1,0,0,0,1979,1980,1,0,0,0,1980,1985,1,0,0,0,1981,1982,3,160,80,0,1982,1983,5,190,0,0,1983,1984,5,85,0,0,1984,1986,1,0,0,0,1985,1981,1,0,0,0,1985,1986,1,0,0,0,1986,1991,1,0,0,0,1987,1988,3,160,80,0,1988,1989,5,190,0,0,1989,1990,5,89,0,0,1990,1992,1,0,0,0,1991,1987,1,0,0,0,1991,1992,1,0,0,0,1992,2015,1,0,0,0,1993,1995,5,173,0,0,1994,1996,5,205,0,0,1995,1994,1,0,0,0,1995,1996,1,0,0,0,1996,1997,1,0,0,0,1997,2e3,3,168,84,0,1998,1999,5,28,0,0,1999,2001,3,294,147,0,2e3,1998,1,0,0,0,2e3,2001,1,0,0,0,2001,2002,1,0,0,0,2002,2003,5,45,0,0,2003,2004,5,1,0,0,2004,2009,3,112,56,0,2005,2006,5,3,0,0,2006,2008,3,112,56,0,2007,2005,1,0,0,0,2008,2011,1,0,0,0,2009,2007,1,0,0,0,2009,2010,1,0,0,0,2010,2012,1,0,0,0,2011,2009,1,0,0,0,2012,2013,5,2,0,0,2013,2015,1,0,0,0,2014,1937,1,0,0,0,2014,1941,1,0,0,0,2014,1959,1,0,0,0,2014,1993,1,0,0,0,2015,113,1,0,0,0,2016,2042,3,116,58,0,2017,2018,3,116,58,0,2018,2019,7,16,0,0,2019,2020,3,118,59,0,2020,2042,1,0,0,0,2021,2022,3,118,59,0,2022,2023,5,281,0,0,2023,2028,3,118,59,0,2024,2025,5,281,0,0,2025,2027,3,118,59,0,2026,2024,1,0,0,0,2027,2030,1,0,0,0,2028,2026,1,0,0,0,2028,2029,1,0,0,0,2029,2042,1,0,0,0,2030,2028,1,0,0,0,2031,2032,3,118,59,0,2032,2033,5,54,0,0,2033,2038,3,118,59,0,2034,2035,5,54,0,0,2035,2037,3,118,59,0,2036,2034,1,0,0,0,2037,2040,1,0,0,0,2038,2036,1,0,0,0,2038,2039,1,0,0,0,2039,2042,1,0,0,0,2040,2038,1,0,0,0,2041,2016,1,0,0,0,2041,2017,1,0,0,0,2041,2021,1,0,0,0,2041,2031,1,0,0,0,2042,115,1,0,0,0,2043,2044,3,294,147,0,2044,117,1,0,0,0,2045,2051,3,116,58,0,2046,2047,5,1,0,0,2047,2048,3,114,57,0,2048,2049,5,2,0,0,2049,2051,1,0,0,0,2050,2045,1,0,0,0,2050,2046,1,0,0,0,2051,119,1,0,0,0,2052,2055,7,16,0,0,2053,2054,5,3,0,0,2054,2056,7,17,0,0,2055,2053,1,0,0,0,2055,2056,1,0,0,0,2056,2063,1,0,0,0,2057,2060,7,17,0,0,2058,2059,5,3,0,0,2059,2061,7,16,0,0,2060,2058,1,0,0,0,2060,2061,1,0,0,0,2061,2063,1,0,0,0,2062,2052,1,0,0,0,2062,2057,1,0,0,0,2063,121,1,0,0,0,2064,2065,3,272,136,0,2065,2074,5,1,0,0,2066,2071,3,124,62,0,2067,2068,5,3,0,0,2068,2070,3,124,62,0,2069,2067,1,0,0,0,2070,2073,1,0,0,0,2071,2069,1,0,0,0,2071,2072,1,0,0,0,2072,2075,1,0,0,0,2073,2071,1,0,0,0,2074,2066,1,0,0,0,2074,2075,1,0,0,0,2075,2085,1,0,0,0,2076,2077,5,52,0,0,2077,2082,3,134,67,0,2078,2079,5,3,0,0,2079,2081,3,134,67,0,2080,2078,1,0,0,0,2081,2084,1,0,0,0,2082,2080,1,0,0,0,2082,2083,1,0,0,0,2083,2086,1,0,0,0,2084,2082,1,0,0,0,2085,2076,1,0,0,0,2085,2086,1,0,0,0,2086,2087,1,0,0,0,2087,2088,5,2,0,0,2088,123,1,0,0,0,2089,2090,3,294,147,0,2090,2091,5,6,0,0,2091,2093,1,0,0,0,2092,2089,1,0,0,0,2092,2093,1,0,0,0,2093,2097,1,0,0,0,2094,2098,3,126,63,0,2095,2098,3,130,65,0,2096,2098,3,136,68,0,2097,2094,1,0,0,0,2097,2095,1,0,0,0,2097,2096,1,0,0,0,2098,125,1,0,0,0,2099,2117,3,128,64,0,2100,2101,5,201,0,0,2101,2115,5,36,0,0,2102,2111,5,1,0,0,2103,2108,3,136,68,0,2104,2105,5,3,0,0,2105,2107,3,136,68,0,2106,2104,1,0,0,0,2107,2110,1,0,0,0,2108,2106,1,0,0,0,2108,2109,1,0,0,0,2109,2112,1,0,0,0,2110,2108,1,0,0,0,2111,2103,1,0,0,0,2111,2112,1,0,0,0,2112,2113,1,0,0,0,2113,2116,5,2,0,0,2114,2116,3,136,68,0,2115,2102,1,0,0,0,2115,2114,1,0,0,0,2116,2118,1,0,0,0,2117,2100,1,0,0,0,2117,2118,1,0,0,0,2118,2125,1,0,0,0,2119,2120,5,217,0,0,2120,2121,5,300,0,0,2121,2126,5,85,0,0,2122,2123,5,144,0,0,2123,2124,5,300,0,0,2124,2126,5,85,0,0,2125,2119,1,0,0,0,2125,2122,1,0,0,0,2125,2126,1,0,0,0,2126,2143,1,0,0,0,2127,2128,5,195,0,0,2128,2141,5,36,0,0,2129,2130,5,1,0,0,2130,2135,3,50,25,0,2131,2132,5,3,0,0,2132,2134,3,50,25,0,2133,2131,1,0,0,0,2134,2137,1,0,0,0,2135,2133,1,0,0,0,2135,2136,1,0,0,0,2136,2138,1,0,0,0,2137,2135,1,0,0,0,2138,2139,5,2,0,0,2139,2142,1,0,0,0,2140,2142,3,50,25,0,2141,2129,1,0,0,0,2141,2140,1,0,0,0,2142,2144,1,0,0,0,2143,2127,1,0,0,0,2143,2144,1,0,0,0,2144,127,1,0,0,0,2145,2146,5,260,0,0,2146,2147,5,1,0,0,2147,2148,3,256,128,0,2148,2156,5,2,0,0,2149,2151,5,28,0,0,2150,2149,1,0,0,0,2150,2151,1,0,0,0,2151,2152,1,0,0,0,2152,2154,3,294,147,0,2153,2155,3,108,54,0,2154,2153,1,0,0,0,2154,2155,1,0,0,0,2155,2157,1,0,0,0,2156,2150,1,0,0,0,2156,2157,1,0,0,0,2157,2172,1,0,0,0,2158,2159,5,260,0,0,2159,2160,5,1,0,0,2160,2161,3,22,11,0,2161,2169,5,2,0,0,2162,2164,5,28,0,0,2163,2162,1,0,0,0,2163,2164,1,0,0,0,2164,2165,1,0,0,0,2165,2167,3,294,147,0,2166,2168,3,108,54,0,2167,2166,1,0,0,0,2167,2168,1,0,0,0,2168,2170,1,0,0,0,2169,2163,1,0,0,0,2169,2170,1,0,0,0,2170,2172,1,0,0,0,2171,2145,1,0,0,0,2171,2158,1,0,0,0,2172,129,1,0,0,0,2173,2174,5,77,0,0,2174,2175,5,1,0,0,2175,2180,3,132,66,0,2176,2177,5,3,0,0,2177,2179,3,132,66,0,2178,2176,1,0,0,0,2179,2182,1,0,0,0,2180,2178,1,0,0,0,2180,2181,1,0,0,0,2181,2183,1,0,0,0,2182,2180,1,0,0,0,2183,2184,5,2,0,0,2184,2192,1,0,0,0,2185,2186,5,41,0,0,2186,2187,5,1,0,0,2187,2188,5,183,0,0,2188,2189,5,28,0,0,2189,2190,5,77,0,0,2190,2192,5,2,0,0,2191,2173,1,0,0,0,2191,2185,1,0,0,0,2192,131,1,0,0,0,2193,2195,3,294,147,0,2194,2196,3,184,92,0,2195,2194,1,0,0,0,2195,2196,1,0,0,0,2196,133,1,0,0,0,2197,2198,5,1,0,0,2198,2199,3,280,140,0,2199,2200,5,3,0,0,2200,2205,3,280,140,0,2201,2202,5,3,0,0,2202,2204,3,280,140,0,2203,2201,1,0,0,0,2204,2207,1,0,0,0,2205,2203,1,0,0,0,2205,2206,1,0,0,0,2206,2208,1,0,0,0,2207,2205,1,0,0,0,2208,2209,5,2,0,0,2209,135,1,0,0,0,2210,2211,3,138,69,0,2211,137,1,0,0,0,2212,2213,6,69,-1,0,2213,2215,3,142,71,0,2214,2216,3,140,70,0,2215,2214,1,0,0,0,2215,2216,1,0,0,0,2216,2220,1,0,0,0,2217,2218,5,182,0,0,2218,2220,3,138,69,3,2219,2212,1,0,0,0,2219,2217,1,0,0,0,2220,2229,1,0,0,0,2221,2222,10,2,0,0,2222,2223,5,25,0,0,2223,2228,3,138,69,3,2224,2225,10,1,0,0,2225,2226,5,194,0,0,2226,2228,3,138,69,2,2227,2221,1,0,0,0,2227,2224,1,0,0,0,2228,2231,1,0,0,0,2229,2227,1,0,0,0,2229,2230,1,0,0,0,2230,139,1,0,0,0,2231,2229,1,0,0,0,2232,2233,3,172,86,0,2233,2234,3,142,71,0,2234,2294,1,0,0,0,2235,2236,3,172,86,0,2236,2237,3,174,87,0,2237,2238,5,1,0,0,2238,2239,3,22,11,0,2239,2240,5,2,0,0,2240,2294,1,0,0,0,2241,2243,5,182,0,0,2242,2241,1,0,0,0,2242,2243,1,0,0,0,2243,2244,1,0,0,0,2244,2245,5,34,0,0,2245,2246,3,142,71,0,2246,2247,5,25,0,0,2247,2248,3,142,71,0,2248,2294,1,0,0,0,2249,2251,5,182,0,0,2250,2249,1,0,0,0,2250,2251,1,0,0,0,2251,2252,1,0,0,0,2252,2253,5,122,0,0,2253,2254,5,1,0,0,2254,2259,3,136,68,0,2255,2256,5,3,0,0,2256,2258,3,136,68,0,2257,2255,1,0,0,0,2258,2261,1,0,0,0,2259,2257,1,0,0,0,2259,2260,1,0,0,0,2260,2262,1,0,0,0,2261,2259,1,0,0,0,2262,2263,5,2,0,0,2263,2294,1,0,0,0,2264,2266,5,182,0,0,2265,2264,1,0,0,0,2265,2266,1,0,0,0,2266,2267,1,0,0,0,2267,2268,5,122,0,0,2268,2269,5,1,0,0,2269,2270,3,22,11,0,2270,2271,5,2,0,0,2271,2294,1,0,0,0,2272,2274,5,182,0,0,2273,2272,1,0,0,0,2273,2274,1,0,0,0,2274,2275,1,0,0,0,2275,2276,5,154,0,0,2276,2279,3,142,71,0,2277,2278,5,90,0,0,2278,2280,3,142,71,0,2279,2277,1,0,0,0,2279,2280,1,0,0,0,2280,2294,1,0,0,0,2281,2283,5,133,0,0,2282,2284,5,182,0,0,2283,2282,1,0,0,0,2283,2284,1,0,0,0,2284,2285,1,0,0,0,2285,2294,5,183,0,0,2286,2288,5,133,0,0,2287,2289,5,182,0,0,2288,2287,1,0,0,0,2288,2289,1,0,0,0,2289,2290,1,0,0,0,2290,2291,5,79,0,0,2291,2292,5,105,0,0,2292,2294,3,142,71,0,2293,2232,1,0,0,0,2293,2235,1,0,0,0,2293,2242,1,0,0,0,2293,2250,1,0,0,0,2293,2265,1,0,0,0,2293,2273,1,0,0,0,2293,2281,1,0,0,0,2293,2286,1,0,0,0,2294,141,1,0,0,0,2295,2296,6,71,-1,0,2296,2300,3,144,72,0,2297,2298,7,18,0,0,2298,2300,3,142,71,4,2299,2295,1,0,0,0,2299,2297,1,0,0,0,2300,2315,1,0,0,0,2301,2302,10,3,0,0,2302,2303,7,19,0,0,2303,2314,3,142,71,4,2304,2305,10,2,0,0,2305,2306,7,18,0,0,2306,2314,3,142,71,3,2307,2308,10,1,0,0,2308,2309,5,323,0,0,2309,2314,3,142,71,2,2310,2311,10,5,0,0,2311,2312,5,30,0,0,2312,2314,3,170,85,0,2313,2301,1,0,0,0,2313,2304,1,0,0,0,2313,2307,1,0,0,0,2313,2310,1,0,0,0,2314,2317,1,0,0,0,2315,2313,1,0,0,0,2315,2316,1,0,0,0,2316,143,1,0,0,0,2317,2315,1,0,0,0,2318,2319,6,72,-1,0,2319,2772,5,183,0,0,2320,2772,3,178,89,0,2321,2322,3,294,147,0,2322,2323,3,168,84,0,2323,2772,1,0,0,0,2324,2325,5,82,0,0,2325,2326,5,213,0,0,2326,2772,3,168,84,0,2327,2772,3,296,148,0,2328,2772,3,176,88,0,2329,2772,3,168,84,0,2330,2772,5,328,0,0,2331,2772,5,324,0,0,2332,2333,5,211,0,0,2333,2334,5,1,0,0,2334,2335,3,142,71,0,2335,2336,5,122,0,0,2336,2337,3,142,71,0,2337,2338,5,2,0,0,2338,2772,1,0,0,0,2339,2340,5,1,0,0,2340,2343,3,136,68,0,2341,2342,5,3,0,0,2342,2344,3,136,68,0,2343,2341,1,0,0,0,2344,2345,1,0,0,0,2345,2343,1,0,0,0,2345,2346,1,0,0,0,2346,2347,1,0,0,0,2347,2348,5,2,0,0,2348,2772,1,0,0,0,2349,2350,5,239,0,0,2350,2351,5,1,0,0,2351,2356,3,136,68,0,2352,2353,5,3,0,0,2353,2355,3,136,68,0,2354,2352,1,0,0,0,2355,2358,1,0,0,0,2356,2354,1,0,0,0,2356,2357,1,0,0,0,2357,2359,1,0,0,0,2358,2356,1,0,0,0,2359,2360,5,2,0,0,2360,2772,1,0,0,0,2361,2362,5,156,0,0,2362,2364,5,1,0,0,2363,2365,3,68,34,0,2364,2363,1,0,0,0,2364,2365,1,0,0,0,2365,2366,1,0,0,0,2366,2369,3,136,68,0,2367,2368,5,3,0,0,2368,2370,3,168,84,0,2369,2367,1,0,0,0,2369,2370,1,0,0,0,2370,2374,1,0,0,0,2371,2372,5,190,0,0,2372,2373,5,200,0,0,2373,2375,3,84,42,0,2374,2371,1,0,0,0,2374,2375,1,0,0,0,2375,2376,1,0,0,0,2376,2377,5,2,0,0,2377,2378,5,305,0,0,2378,2379,5,114,0,0,2379,2380,5,1,0,0,2380,2381,5,195,0,0,2381,2382,5,36,0,0,2382,2387,3,50,25,0,2383,2384,5,3,0,0,2384,2386,3,50,25,0,2385,2383,1,0,0,0,2386,2389,1,0,0,0,2387,2385,1,0,0,0,2387,2388,1,0,0,0,2388,2390,1,0,0,0,2389,2387,1,0,0,0,2390,2391,5,2,0,0,2391,2393,1,0,0,0,2392,2394,3,192,96,0,2393,2392,1,0,0,0,2393,2394,1,0,0,0,2394,2772,1,0,0,0,2395,2397,3,164,82,0,2396,2395,1,0,0,0,2396,2397,1,0,0,0,2397,2398,1,0,0,0,2398,2399,3,272,136,0,2399,2403,5,1,0,0,2400,2401,3,294,147,0,2401,2402,5,4,0,0,2402,2404,1,0,0,0,2403,2400,1,0,0,0,2403,2404,1,0,0,0,2404,2405,1,0,0,0,2405,2406,5,320,0,0,2406,2408,5,2,0,0,2407,2409,3,192,96,0,2408,2407,1,0,0,0,2408,2409,1,0,0,0,2409,2411,1,0,0,0,2410,2412,3,196,98,0,2411,2410,1,0,0,0,2411,2412,1,0,0,0,2412,2772,1,0,0,0,2413,2415,3,164,82,0,2414,2413,1,0,0,0,2414,2415,1,0,0,0,2415,2416,1,0,0,0,2416,2417,3,272,136,0,2417,2429,5,1,0,0,2418,2420,3,68,34,0,2419,2418,1,0,0,0,2419,2420,1,0,0,0,2420,2421,1,0,0,0,2421,2426,3,136,68,0,2422,2423,5,3,0,0,2423,2425,3,136,68,0,2424,2422,1,0,0,0,2425,2428,1,0,0,0,2426,2424,1,0,0,0,2426,2427,1,0,0,0,2427,2430,1,0,0,0,2428,2426,1,0,0,0,2429,2419,1,0,0,0,2429,2430,1,0,0,0,2430,2441,1,0,0,0,2431,2432,5,195,0,0,2432,2433,5,36,0,0,2433,2438,3,50,25,0,2434,2435,5,3,0,0,2435,2437,3,50,25,0,2436,2434,1,0,0,0,2437,2440,1,0,0,0,2438,2436,1,0,0,0,2438,2439,1,0,0,0,2439,2442,1,0,0,0,2440,2438,1,0,0,0,2441,2431,1,0,0,0,2441,2442,1,0,0,0,2442,2443,1,0,0,0,2443,2445,5,2,0,0,2444,2446,3,192,96,0,2445,2444,1,0,0,0,2445,2446,1,0,0,0,2446,2451,1,0,0,0,2447,2449,3,166,83,0,2448,2447,1,0,0,0,2448,2449,1,0,0,0,2449,2450,1,0,0,0,2450,2452,3,196,98,0,2451,2448,1,0,0,0,2451,2452,1,0,0,0,2452,2772,1,0,0,0,2453,2454,3,294,147,0,2454,2455,3,196,98,0,2455,2772,1,0,0,0,2456,2457,3,294,147,0,2457,2458,5,7,0,0,2458,2459,3,136,68,0,2459,2772,1,0,0,0,2460,2469,5,1,0,0,2461,2466,3,294,147,0,2462,2463,5,3,0,0,2463,2465,3,294,147,0,2464,2462,1,0,0,0,2465,2468,1,0,0,0,2466,2464,1,0,0,0,2466,2467,1,0,0,0,2467,2470,1,0,0,0,2468,2466,1,0,0,0,2469,2461,1,0,0,0,2469,2470,1,0,0,0,2470,2471,1,0,0,0,2471,2472,5,2,0,0,2472,2473,5,7,0,0,2473,2772,3,136,68,0,2474,2475,5,1,0,0,2475,2476,3,22,11,0,2476,2477,5,2,0,0,2477,2772,1,0,0,0,2478,2479,5,94,0,0,2479,2480,5,1,0,0,2480,2481,3,22,11,0,2481,2482,5,2,0,0,2482,2772,1,0,0,0,2483,2484,5,40,0,0,2484,2486,3,136,68,0,2485,2487,3,190,95,0,2486,2485,1,0,0,0,2487,2488,1,0,0,0,2488,2486,1,0,0,0,2488,2489,1,0,0,0,2489,2492,1,0,0,0,2490,2491,5,84,0,0,2491,2493,3,136,68,0,2492,2490,1,0,0,0,2492,2493,1,0,0,0,2493,2494,1,0,0,0,2494,2495,5,88,0,0,2495,2772,1,0,0,0,2496,2498,5,40,0,0,2497,2499,3,190,95,0,2498,2497,1,0,0,0,2499,2500,1,0,0,0,2500,2498,1,0,0,0,2500,2501,1,0,0,0,2501,2504,1,0,0,0,2502,2503,5,84,0,0,2503,2505,3,136,68,0,2504,2502,1,0,0,0,2504,2505,1,0,0,0,2505,2506,1,0,0,0,2506,2507,5,88,0,0,2507,2772,1,0,0,0,2508,2509,5,41,0,0,2509,2510,5,1,0,0,2510,2511,3,136,68,0,2511,2512,5,28,0,0,2512,2513,3,184,92,0,2513,2514,5,2,0,0,2514,2772,1,0,0,0,2515,2516,5,275,0,0,2516,2517,5,1,0,0,2517,2518,3,136,68,0,2518,2519,5,28,0,0,2519,2520,3,184,92,0,2520,2521,5,2,0,0,2521,2772,1,0,0,0,2522,2523,5,27,0,0,2523,2532,5,8,0,0,2524,2529,3,136,68,0,2525,2526,5,3,0,0,2526,2528,3,136,68,0,2527,2525,1,0,0,0,2528,2531,1,0,0,0,2529,2527,1,0,0,0,2529,2530,1,0,0,0,2530,2533,1,0,0,0,2531,2529,1,0,0,0,2532,2524,1,0,0,0,2532,2533,1,0,0,0,2533,2534,1,0,0,0,2534,2772,5,9,0,0,2535,2772,3,294,147,0,2536,2772,5,58,0,0,2537,2541,5,62,0,0,2538,2539,5,1,0,0,2539,2540,5,329,0,0,2540,2542,5,2,0,0,2541,2538,1,0,0,0,2541,2542,1,0,0,0,2542,2772,1,0,0,0,2543,2547,5,63,0,0,2544,2545,5,1,0,0,2545,2546,5,329,0,0,2546,2548,5,2,0,0,2547,2544,1,0,0,0,2547,2548,1,0,0,0,2548,2772,1,0,0,0,2549,2553,5,158,0,0,2550,2551,5,1,0,0,2551,2552,5,329,0,0,2552,2554,5,2,0,0,2553,2550,1,0,0,0,2553,2554,1,0,0,0,2554,2772,1,0,0,0,2555,2559,5,159,0,0,2556,2557,5,1,0,0,2557,2558,5,329,0,0,2558,2560,5,2,0,0,2559,2556,1,0,0,0,2559,2560,1,0,0,0,2560,2772,1,0,0,0,2561,2772,5,64,0,0,2562,2772,5,57,0,0,2563,2772,5,61,0,0,2564,2772,5,59,0,0,2565,2566,5,272,0,0,2566,2574,5,1,0,0,2567,2569,3,82,41,0,2568,2567,1,0,0,0,2568,2569,1,0,0,0,2569,2571,1,0,0,0,2570,2572,3,142,71,0,2571,2570,1,0,0,0,2571,2572,1,0,0,0,2572,2573,1,0,0,0,2573,2575,5,105,0,0,2574,2568,1,0,0,0,2574,2575,1,0,0,0,2575,2576,1,0,0,0,2576,2577,3,142,71,0,2577,2578,5,2,0,0,2578,2772,1,0,0,0,2579,2580,5,272,0,0,2580,2581,5,1,0,0,2581,2582,3,142,71,0,2582,2583,5,3,0,0,2583,2584,3,142,71,0,2584,2585,5,2,0,0,2585,2772,1,0,0,0,2586,2587,5,258,0,0,2587,2588,5,1,0,0,2588,2589,3,142,71,0,2589,2590,5,105,0,0,2590,2593,3,142,71,0,2591,2592,5,103,0,0,2592,2594,3,142,71,0,2593,2591,1,0,0,0,2593,2594,1,0,0,0,2594,2595,1,0,0,0,2595,2596,5,2,0,0,2596,2772,1,0,0,0,2597,2598,5,181,0,0,2598,2599,5,1,0,0,2599,2602,3,142,71,0,2600,2601,5,3,0,0,2601,2603,3,182,91,0,2602,2600,1,0,0,0,2602,2603,1,0,0,0,2603,2604,1,0,0,0,2604,2605,5,2,0,0,2605,2772,1,0,0,0,2606,2607,5,96,0,0,2607,2608,5,1,0,0,2608,2609,3,294,147,0,2609,2610,5,105,0,0,2610,2611,3,142,71,0,2611,2612,5,2,0,0,2612,2772,1,0,0,0,2613,2614,5,1,0,0,2614,2615,3,136,68,0,2615,2616,5,2,0,0,2616,2772,1,0,0,0,2617,2618,5,115,0,0,2618,2627,5,1,0,0,2619,2624,3,280,140,0,2620,2621,5,3,0,0,2621,2623,3,280,140,0,2622,2620,1,0,0,0,2623,2626,1,0,0,0,2624,2622,1,0,0,0,2624,2625,1,0,0,0,2625,2628,1,0,0,0,2626,2624,1,0,0,0,2627,2619,1,0,0,0,2627,2628,1,0,0,0,2628,2629,1,0,0,0,2629,2772,5,2,0,0,2630,2631,5,139,0,0,2631,2632,5,1,0,0,2632,2637,3,146,73,0,2633,2634,3,154,77,0,2634,2635,5,190,0,0,2635,2636,5,89,0,0,2636,2638,1,0,0,0,2637,2633,1,0,0,0,2637,2638,1,0,0,0,2638,2639,1,0,0,0,2639,2640,5,2,0,0,2640,2772,1,0,0,0,2641,2642,5,143,0,0,2642,2643,5,1,0,0,2643,2646,3,146,73,0,2644,2645,5,231,0,0,2645,2647,3,184,92,0,2646,2644,1,0,0,0,2646,2647,1,0,0,0,2647,2652,1,0,0,0,2648,2649,3,156,78,0,2649,2650,5,190,0,0,2650,2651,5,85,0,0,2651,2653,1,0,0,0,2652,2648,1,0,0,0,2652,2653,1,0,0,0,2653,2658,1,0,0,0,2654,2655,3,156,78,0,2655,2656,5,190,0,0,2656,2657,5,89,0,0,2657,2659,1,0,0,0,2658,2654,1,0,0,0,2658,2659,1,0,0,0,2659,2660,1,0,0,0,2660,2661,5,2,0,0,2661,2772,1,0,0,0,2662,2663,5,141,0,0,2663,2664,5,1,0,0,2664,2671,3,146,73,0,2665,2666,5,231,0,0,2666,2669,3,184,92,0,2667,2668,5,104,0,0,2668,2670,3,150,75,0,2669,2667,1,0,0,0,2669,2670,1,0,0,0,2670,2672,1,0,0,0,2671,2665,1,0,0,0,2671,2672,1,0,0,0,2672,2676,1,0,0,0,2673,2674,3,158,79,0,2674,2675,5,308,0,0,2675,2677,1,0,0,0,2676,2673,1,0,0,0,2676,2677,1,0,0,0,2677,2685,1,0,0,0,2678,2679,7,15,0,0,2679,2683,5,218,0,0,2680,2681,5,190,0,0,2681,2682,5,242,0,0,2682,2684,5,264,0,0,2683,2680,1,0,0,0,2683,2684,1,0,0,0,2684,2686,1,0,0,0,2685,2678,1,0,0,0,2685,2686,1,0,0,0,2686,2691,1,0,0,0,2687,2688,3,160,80,0,2688,2689,5,190,0,0,2689,2690,5,85,0,0,2690,2692,1,0,0,0,2691,2687,1,0,0,0,2691,2692,1,0,0,0,2692,2697,1,0,0,0,2693,2694,3,160,80,0,2694,2695,5,190,0,0,2695,2696,5,89,0,0,2696,2698,1,0,0,0,2697,2693,1,0,0,0,2697,2698,1,0,0,0,2698,2699,1,0,0,0,2699,2700,5,2,0,0,2700,2772,1,0,0,0,2701,2702,5,140,0,0,2702,2731,5,1,0,0,2703,2708,3,162,81,0,2704,2705,5,3,0,0,2705,2707,3,162,81,0,2706,2704,1,0,0,0,2707,2710,1,0,0,0,2708,2706,1,0,0,0,2708,2709,1,0,0,0,2709,2717,1,0,0,0,2710,2708,1,0,0,0,2711,2712,5,183,0,0,2712,2713,5,190,0,0,2713,2718,5,183,0,0,2714,2715,5,18,0,0,2715,2716,5,190,0,0,2716,2718,5,183,0,0,2717,2711,1,0,0,0,2717,2714,1,0,0,0,2717,2718,1,0,0,0,2718,2729,1,0,0,0,2719,2720,5,304,0,0,2720,2722,5,282,0,0,2721,2723,5,146,0,0,2722,2721,1,0,0,0,2722,2723,1,0,0,0,2723,2730,1,0,0,0,2724,2725,5,306,0,0,2725,2727,5,282,0,0,2726,2728,5,146,0,0,2727,2726,1,0,0,0,2727,2728,1,0,0,0,2728,2730,1,0,0,0,2729,2719,1,0,0,0,2729,2724,1,0,0,0,2729,2730,1,0,0,0,2730,2732,1,0,0,0,2731,2703,1,0,0,0,2731,2732,1,0,0,0,2732,2739,1,0,0,0,2733,2734,5,231,0,0,2734,2737,3,184,92,0,2735,2736,5,104,0,0,2736,2738,3,150,75,0,2737,2735,1,0,0,0,2737,2738,1,0,0,0,2738,2740,1,0,0,0,2739,2733,1,0,0,0,2739,2740,1,0,0,0,2740,2741,1,0,0,0,2741,2772,5,2,0,0,2742,2743,5,138,0,0,2743,2760,5,1,0,0,2744,2749,3,148,74,0,2745,2746,5,3,0,0,2746,2748,3,148,74,0,2747,2745,1,0,0,0,2748,2751,1,0,0,0,2749,2747,1,0,0,0,2749,2750,1,0,0,0,2750,2758,1,0,0,0,2751,2749,1,0,0,0,2752,2753,5,183,0,0,2753,2754,5,190,0,0,2754,2759,5,183,0,0,2755,2756,5,18,0,0,2756,2757,5,190,0,0,2757,2759,5,183,0,0,2758,2752,1,0,0,0,2758,2755,1,0,0,0,2758,2759,1,0,0,0,2759,2761,1,0,0,0,2760,2744,1,0,0,0,2760,2761,1,0,0,0,2761,2768,1,0,0,0,2762,2763,5,231,0,0,2763,2766,3,184,92,0,2764,2765,5,104,0,0,2765,2767,3,150,75,0,2766,2764,1,0,0,0,2766,2767,1,0,0,0,2767,2769,1,0,0,0,2768,2762,1,0,0,0,2768,2769,1,0,0,0,2769,2770,1,0,0,0,2770,2772,5,2,0,0,2771,2318,1,0,0,0,2771,2320,1,0,0,0,2771,2321,1,0,0,0,2771,2324,1,0,0,0,2771,2327,1,0,0,0,2771,2328,1,0,0,0,2771,2329,1,0,0,0,2771,2330,1,0,0,0,2771,2331,1,0,0,0,2771,2332,1,0,0,0,2771,2339,1,0,0,0,2771,2349,1,0,0,0,2771,2361,1,0,0,0,2771,2396,1,0,0,0,2771,2414,1,0,0,0,2771,2453,1,0,0,0,2771,2456,1,0,0,0,2771,2460,1,0,0,0,2771,2474,1,0,0,0,2771,2478,1,0,0,0,2771,2483,1,0,0,0,2771,2496,1,0,0,0,2771,2508,1,0,0,0,2771,2515,1,0,0,0,2771,2522,1,0,0,0,2771,2535,1,0,0,0,2771,2536,1,0,0,0,2771,2537,1,0,0,0,2771,2543,1,0,0,0,2771,2549,1,0,0,0,2771,2555,1,0,0,0,2771,2561,1,0,0,0,2771,2562,1,0,0,0,2771,2563,1,0,0,0,2771,2564,1,0,0,0,2771,2565,1,0,0,0,2771,2579,1,0,0,0,2771,2586,1,0,0,0,2771,2597,1,0,0,0,2771,2606,1,0,0,0,2771,2613,1,0,0,0,2771,2617,1,0,0,0,2771,2630,1,0,0,0,2771,2641,1,0,0,0,2771,2662,1,0,0,0,2771,2701,1,0,0,0,2771,2742,1,0,0,0,2772,2783,1,0,0,0,2773,2774,10,24,0,0,2774,2775,5,8,0,0,2775,2776,3,142,71,0,2776,2777,5,9,0,0,2777,2782,1,0,0,0,2778,2779,10,22,0,0,2779,2780,5,4,0,0,2780,2782,3,294,147,0,2781,2773,1,0,0,0,2781,2778,1,0,0,0,2782,2785,1,0,0,0,2783,2781,1,0,0,0,2783,2784,1,0,0,0,2784,145,1,0,0,0,2785,2783,1,0,0,0,2786,2787,3,148,74,0,2787,2788,5,3,0,0,2788,2791,3,168,84,0,2789,2790,5,28,0,0,2790,2792,3,294,147,0,2791,2789,1,0,0,0,2791,2792,1,0,0,0,2792,2802,1,0,0,0,2793,2794,5,203,0,0,2794,2799,3,152,76,0,2795,2796,5,3,0,0,2796,2798,3,152,76,0,2797,2795,1,0,0,0,2798,2801,1,0,0,0,2799,2797,1,0,0,0,2799,2800,1,0,0,0,2800,2803,1,0,0,0,2801,2799,1,0,0,0,2802,2793,1,0,0,0,2802,2803,1,0,0,0,2803,147,1,0,0,0,2804,2807,3,136,68,0,2805,2806,5,104,0,0,2806,2808,3,150,75,0,2807,2805,1,0,0,0,2807,2808,1,0,0,0,2808,149,1,0,0,0,2809,2812,5,137,0,0,2810,2811,5,87,0,0,2811,2813,7,20,0,0,2812,2810,1,0,0,0,2812,2813,1,0,0,0,2813,151,1,0,0,0,2814,2815,3,148,74,0,2815,2816,5,28,0,0,2816,2817,3,294,147,0,2817,153,1,0,0,0,2818,2819,7,21,0,0,2819,155,1,0,0,0,2820,2825,5,89,0,0,2821,2825,5,183,0,0,2822,2823,5,70,0,0,2823,2825,3,136,68,0,2824,2820,1,0,0,0,2824,2821,1,0,0,0,2824,2822,1,0,0,0,2825,157,1,0,0,0,2826,2828,5,306,0,0,2827,2829,5,27,0,0,2828,2827,1,0,0,0,2828,2829,1,0,0,0,2829,2838,1,0,0,0,2830,2832,5,304,0,0,2831,2833,7,22,0,0,2832,2831,1,0,0,0,2832,2833,1,0,0,0,2833,2835,1,0,0,0,2834,2836,5,27,0,0,2835,2834,1,0,0,0,2835,2836,1,0,0,0,2836,2838,1,0,0,0,2837,2826,1,0,0,0,2837,2830,1,0,0,0,2838,159,1,0,0,0,2839,2846,5,89,0,0,2840,2846,5,183,0,0,2841,2842,5,85,0,0,2842,2846,5,27,0,0,2843,2844,5,85,0,0,2844,2846,5,186,0,0,2845,2839,1,0,0,0,2845,2840,1,0,0,0,2845,2841,1,0,0,0,2845,2843,1,0,0,0,2846,161,1,0,0,0,2847,2849,5,145,0,0,2848,2847,1,0,0,0,2848,2849,1,0,0,0,2849,2850,1,0,0,0,2850,2851,3,136,68,0,2851,2852,5,295,0,0,2852,2853,3,148,74,0,2853,2859,1,0,0,0,2854,2855,3,136,68,0,2855,2856,5,10,0,0,2856,2857,3,148,74,0,2857,2859,1,0,0,0,2858,2848,1,0,0,0,2858,2854,1,0,0,0,2859,163,1,0,0,0,2860,2861,7,23,0,0,2861,165,1,0,0,0,2862,2863,5,120,0,0,2863,2867,5,185,0,0,2864,2865,5,228,0,0,2865,2867,5,185,0,0,2866,2862,1,0,0,0,2866,2864,1,0,0,0,2867,167,1,0,0,0,2868,2875,5,326,0,0,2869,2872,5,327,0,0,2870,2871,5,277,0,0,2871,2873,5,326,0,0,2872,2870,1,0,0,0,2872,2873,1,0,0,0,2873,2875,1,0,0,0,2874,2868,1,0,0,0,2874,2869,1,0,0,0,2875,169,1,0,0,0,2876,2877,5,267,0,0,2877,2878,5,311,0,0,2878,2883,3,178,89,0,2879,2880,5,267,0,0,2880,2881,5,311,0,0,2881,2883,3,168,84,0,2882,2876,1,0,0,0,2882,2879,1,0,0,0,2883,171,1,0,0,0,2884,2885,7,24,0,0,2885,173,1,0,0,0,2886,2887,7,25,0,0,2887,175,1,0,0,0,2888,2889,7,26,0,0,2889,177,1,0,0,0,2890,2892,5,129,0,0,2891,2893,7,18,0,0,2892,2891,1,0,0,0,2892,2893,1,0,0,0,2893,2894,1,0,0,0,2894,2895,3,168,84,0,2895,2898,3,180,90,0,2896,2897,5,269,0,0,2897,2899,3,180,90,0,2898,2896,1,0,0,0,2898,2899,1,0,0,0,2899,179,1,0,0,0,2900,2901,7,27,0,0,2901,181,1,0,0,0,2902,2903,7,28,0,0,2903,183,1,0,0,0,2904,2905,6,92,-1,0,2905,2906,5,239,0,0,2906,2907,5,1,0,0,2907,2912,3,186,93,0,2908,2909,5,3,0,0,2909,2911,3,186,93,0,2910,2908,1,0,0,0,2911,2914,1,0,0,0,2912,2910,1,0,0,0,2912,2913,1,0,0,0,2913,2915,1,0,0,0,2914,2912,1,0,0,0,2915,2916,5,2,0,0,2916,2996,1,0,0,0,2917,2918,5,129,0,0,2918,2921,3,180,90,0,2919,2920,5,269,0,0,2920,2922,3,180,90,0,2921,2919,1,0,0,0,2921,2922,1,0,0,0,2922,2996,1,0,0,0,2923,2928,5,268,0,0,2924,2925,5,1,0,0,2925,2926,3,188,94,0,2926,2927,5,2,0,0,2927,2929,1,0,0,0,2928,2924,1,0,0,0,2928,2929,1,0,0,0,2929,2933,1,0,0,0,2930,2931,5,306,0,0,2931,2932,5,267,0,0,2932,2934,5,311,0,0,2933,2930,1,0,0,0,2933,2934,1,0,0,0,2934,2996,1,0,0,0,2935,2940,5,268,0,0,2936,2937,5,1,0,0,2937,2938,3,188,94,0,2938,2939,5,2,0,0,2939,2941,1,0,0,0,2940,2936,1,0,0,0,2940,2941,1,0,0,0,2941,2942,1,0,0,0,2942,2943,5,304,0,0,2943,2944,5,267,0,0,2944,2996,5,311,0,0,2945,2950,5,267,0,0,2946,2947,5,1,0,0,2947,2948,3,188,94,0,2948,2949,5,2,0,0,2949,2951,1,0,0,0,2950,2946,1,0,0,0,2950,2951,1,0,0,0,2951,2955,1,0,0,0,2952,2953,5,306,0,0,2953,2954,5,267,0,0,2954,2956,5,311,0,0,2955,2952,1,0,0,0,2955,2956,1,0,0,0,2956,2996,1,0,0,0,2957,2962,5,267,0,0,2958,2959,5,1,0,0,2959,2960,3,188,94,0,2960,2961,5,2,0,0,2961,2963,1,0,0,0,2962,2958,1,0,0,0,2962,2963,1,0,0,0,2963,2964,1,0,0,0,2964,2965,5,304,0,0,2965,2966,5,267,0,0,2966,2996,5,311,0,0,2967,2968,5,82,0,0,2968,2996,5,213,0,0,2969,2970,5,27,0,0,2970,2971,5,314,0,0,2971,2972,3,184,92,0,2972,2973,5,316,0,0,2973,2996,1,0,0,0,2974,2975,5,162,0,0,2975,2976,5,314,0,0,2976,2977,3,184,92,0,2977,2978,5,3,0,0,2978,2979,3,184,92,0,2979,2980,5,316,0,0,2980,2996,1,0,0,0,2981,2993,3,294,147,0,2982,2983,5,1,0,0,2983,2988,3,188,94,0,2984,2985,5,3,0,0,2985,2987,3,188,94,0,2986,2984,1,0,0,0,2987,2990,1,0,0,0,2988,2986,1,0,0,0,2988,2989,1,0,0,0,2989,2991,1,0,0,0,2990,2988,1,0,0,0,2991,2992,5,2,0,0,2992,2994,1,0,0,0,2993,2982,1,0,0,0,2993,2994,1,0,0,0,2994,2996,1,0,0,0,2995,2904,1,0,0,0,2995,2917,1,0,0,0,2995,2923,1,0,0,0,2995,2935,1,0,0,0,2995,2945,1,0,0,0,2995,2957,1,0,0,0,2995,2967,1,0,0,0,2995,2969,1,0,0,0,2995,2974,1,0,0,0,2995,2981,1,0,0,0,2996,3006,1,0,0,0,2997,2998,10,2,0,0,2998,3002,5,27,0,0,2999,3e3,5,8,0,0,3e3,3001,5,329,0,0,3001,3003,5,9,0,0,3002,2999,1,0,0,0,3002,3003,1,0,0,0,3003,3005,1,0,0,0,3004,2997,1,0,0,0,3005,3008,1,0,0,0,3006,3004,1,0,0,0,3006,3007,1,0,0,0,3007,185,1,0,0,0,3008,3006,1,0,0,0,3009,3014,3,184,92,0,3010,3011,3,294,147,0,3011,3012,3,184,92,0,3012,3014,1,0,0,0,3013,3009,1,0,0,0,3013,3010,1,0,0,0,3014,187,1,0,0,0,3015,3018,5,329,0,0,3016,3018,3,184,92,0,3017,3015,1,0,0,0,3017,3016,1,0,0,0,3018,189,1,0,0,0,3019,3020,5,300,0,0,3020,3021,3,136,68,0,3021,3022,5,265,0,0,3022,3023,3,136,68,0,3023,191,1,0,0,0,3024,3025,5,99,0,0,3025,3026,5,1,0,0,3026,3027,5,301,0,0,3027,3028,3,138,69,0,3028,3029,5,2,0,0,3029,193,1,0,0,0,3030,3031,5,300,0,0,3031,3034,5,164,0,0,3032,3033,5,25,0,0,3033,3035,3,136,68,0,3034,3032,1,0,0,0,3034,3035,1,0,0,0,3035,3036,1,0,0,0,3036,3037,5,265,0,0,3037,3038,5,287,0,0,3038,3039,5,251,0,0,3039,3040,3,294,147,0,3040,3041,5,312,0,0,3041,3049,3,136,68,0,3042,3043,5,3,0,0,3043,3044,3,294,147,0,3044,3045,5,312,0,0,3045,3046,3,136,68,0,3046,3048,1,0,0,0,3047,3042,1,0,0,0,3048,3051,1,0,0,0,3049,3047,1,0,0,0,3049,3050,1,0,0,0,3050,3095,1,0,0,0,3051,3049,1,0,0,0,3052,3053,5,300,0,0,3053,3056,5,164,0,0,3054,3055,5,25,0,0,3055,3057,3,136,68,0,3056,3054,1,0,0,0,3056,3057,1,0,0,0,3057,3058,1,0,0,0,3058,3059,5,265,0,0,3059,3095,5,73,0,0,3060,3061,5,300,0,0,3061,3062,5,182,0,0,3062,3065,5,164,0,0,3063,3064,5,25,0,0,3064,3066,3,136,68,0,3065,3063,1,0,0,0,3065,3066,1,0,0,0,3066,3067,1,0,0,0,3067,3068,5,265,0,0,3068,3080,5,127,0,0,3069,3070,5,1,0,0,3070,3075,3,294,147,0,3071,3072,5,3,0,0,3072,3074,3,294,147,0,3073,3071,1,0,0,0,3074,3077,1,0,0,0,3075,3073,1,0,0,0,3075,3076,1,0,0,0,3076,3078,1,0,0,0,3077,3075,1,0,0,0,3078,3079,5,2,0,0,3079,3081,1,0,0,0,3080,3069,1,0,0,0,3080,3081,1,0,0,0,3081,3082,1,0,0,0,3082,3083,5,296,0,0,3083,3084,5,1,0,0,3084,3089,3,136,68,0,3085,3086,5,3,0,0,3086,3088,3,136,68,0,3087,3085,1,0,0,0,3088,3091,1,0,0,0,3089,3087,1,0,0,0,3089,3090,1,0,0,0,3090,3092,1,0,0,0,3091,3089,1,0,0,0,3092,3093,5,2,0,0,3093,3095,1,0,0,0,3094,3030,1,0,0,0,3094,3052,1,0,0,0,3094,3060,1,0,0,0,3095,195,1,0,0,0,3096,3102,5,199,0,0,3097,3103,3,294,147,0,3098,3099,5,1,0,0,3099,3100,3,64,32,0,3100,3101,5,2,0,0,3101,3103,1,0,0,0,3102,3097,1,0,0,0,3102,3098,1,0,0,0,3103,197,1,0,0,0,3104,3105,5,168,0,0,3105,3110,3,90,45,0,3106,3107,5,3,0,0,3107,3109,3,90,45,0,3108,3106,1,0,0,0,3109,3112,1,0,0,0,3110,3108,1,0,0,0,3110,3111,1,0,0,0,3111,3114,1,0,0,0,3112,3110,1,0,0,0,3113,3104,1,0,0,0,3113,3114,1,0,0,0,3114,3115,1,0,0,0,3115,3119,3,200,100,0,3116,3117,5,21,0,0,3117,3118,5,163,0,0,3118,3120,3,96,48,0,3119,3116,1,0,0,0,3119,3120,1,0,0,0,3120,3122,1,0,0,0,3121,3123,7,13,0,0,3122,3121,1,0,0,0,3122,3123,1,0,0,0,3123,3129,1,0,0,0,3124,3125,5,206,0,0,3125,3126,5,1,0,0,3126,3127,3,204,102,0,3127,3128,5,2,0,0,3128,3130,1,0,0,0,3129,3124,1,0,0,0,3129,3130,1,0,0,0,3130,3140,1,0,0,0,3131,3132,5,257,0,0,3132,3137,3,98,49,0,3133,3134,5,3,0,0,3134,3136,3,98,49,0,3135,3133,1,0,0,0,3136,3139,1,0,0,0,3137,3135,1,0,0,0,3137,3138,1,0,0,0,3138,3141,1,0,0,0,3139,3137,1,0,0,0,3140,3131,1,0,0,0,3140,3141,1,0,0,0,3141,3151,1,0,0,0,3142,3143,5,71,0,0,3143,3148,3,100,50,0,3144,3145,5,3,0,0,3145,3147,3,100,50,0,3146,3144,1,0,0,0,3147,3150,1,0,0,0,3148,3146,1,0,0,0,3148,3149,1,0,0,0,3149,3152,1,0,0,0,3150,3148,1,0,0,0,3151,3142,1,0,0,0,3151,3152,1,0,0,0,3152,199,1,0,0,0,3153,3154,5,219,0,0,3154,3178,3,202,101,0,3155,3156,5,240,0,0,3156,3178,3,202,101,0,3157,3158,5,116,0,0,3158,3178,3,202,101,0,3159,3160,5,219,0,0,3160,3161,5,34,0,0,3161,3162,3,202,101,0,3162,3163,5,25,0,0,3163,3164,3,202,101,0,3164,3178,1,0,0,0,3165,3166,5,240,0,0,3166,3167,5,34,0,0,3167,3168,3,202,101,0,3168,3169,5,25,0,0,3169,3170,3,202,101,0,3170,3178,1,0,0,0,3171,3172,5,116,0,0,3172,3173,5,34,0,0,3173,3174,3,202,101,0,3174,3175,5,25,0,0,3175,3176,3,202,101,0,3176,3178,1,0,0,0,3177,3153,1,0,0,0,3177,3155,1,0,0,0,3177,3157,1,0,0,0,3177,3159,1,0,0,0,3177,3165,1,0,0,0,3177,3171,1,0,0,0,3178,201,1,0,0,0,3179,3180,5,278,0,0,3180,3189,5,212,0,0,3181,3182,5,278,0,0,3182,3189,5,102,0,0,3183,3184,5,56,0,0,3184,3189,5,239,0,0,3185,3186,3,136,68,0,3186,3187,7,29,0,0,3187,3189,1,0,0,0,3188,3179,1,0,0,0,3188,3181,1,0,0,0,3188,3183,1,0,0,0,3188,3185,1,0,0,0,3189,203,1,0,0,0,3190,3191,6,102,-1,0,3191,3193,3,206,103,0,3192,3194,3,208,104,0,3193,3192,1,0,0,0,3193,3194,1,0,0,0,3194,3202,1,0,0,0,3195,3196,10,2,0,0,3196,3201,3,204,102,3,3197,3198,10,1,0,0,3198,3199,5,11,0,0,3199,3201,3,204,102,2,3200,3195,1,0,0,0,3200,3197,1,0,0,0,3201,3204,1,0,0,0,3202,3200,1,0,0,0,3202,3203,1,0,0,0,3203,205,1,0,0,0,3204,3202,1,0,0,0,3205,3231,3,294,147,0,3206,3207,5,1,0,0,3207,3231,5,2,0,0,3208,3209,5,209,0,0,3209,3210,5,1,0,0,3210,3215,3,204,102,0,3211,3212,5,3,0,0,3212,3214,3,204,102,0,3213,3211,1,0,0,0,3214,3217,1,0,0,0,3215,3213,1,0,0,0,3215,3216,1,0,0,0,3216,3218,1,0,0,0,3217,3215,1,0,0,0,3218,3219,5,2,0,0,3219,3231,1,0,0,0,3220,3221,5,1,0,0,3221,3222,3,204,102,0,3222,3223,5,2,0,0,3223,3231,1,0,0,0,3224,3231,5,12,0,0,3225,3231,5,13,0,0,3226,3227,5,14,0,0,3227,3228,3,204,102,0,3228,3229,5,15,0,0,3229,3231,1,0,0,0,3230,3205,1,0,0,0,3230,3206,1,0,0,0,3230,3208,1,0,0,0,3230,3220,1,0,0,0,3230,3224,1,0,0,0,3230,3225,1,0,0,0,3230,3226,1,0,0,0,3231,207,1,0,0,0,3232,3234,5,320,0,0,3233,3235,5,324,0,0,3234,3233,1,0,0,0,3234,3235,1,0,0,0,3235,3263,1,0,0,0,3236,3238,5,318,0,0,3237,3239,5,324,0,0,3238,3237,1,0,0,0,3238,3239,1,0,0,0,3239,3263,1,0,0,0,3240,3242,5,324,0,0,3241,3243,5,324,0,0,3242,3241,1,0,0,0,3242,3243,1,0,0,0,3243,3263,1,0,0,0,3244,3245,5,16,0,0,3245,3246,5,329,0,0,3246,3248,5,17,0,0,3247,3249,5,324,0,0,3248,3247,1,0,0,0,3248,3249,1,0,0,0,3249,3263,1,0,0,0,3250,3252,5,16,0,0,3251,3253,5,329,0,0,3252,3251,1,0,0,0,3252,3253,1,0,0,0,3253,3254,1,0,0,0,3254,3256,5,3,0,0,3255,3257,5,329,0,0,3256,3255,1,0,0,0,3256,3257,1,0,0,0,3257,3258,1,0,0,0,3258,3260,5,17,0,0,3259,3261,5,324,0,0,3260,3259,1,0,0,0,3260,3261,1,0,0,0,3261,3263,1,0,0,0,3262,3232,1,0,0,0,3262,3236,1,0,0,0,3262,3240,1,0,0,0,3262,3244,1,0,0,0,3262,3250,1,0,0,0,3263,209,1,0,0,0,3264,3265,3,294,147,0,3265,3266,5,312,0,0,3266,3267,3,136,68,0,3267,211,1,0,0,0,3268,3269,5,104,0,0,3269,3273,7,30,0,0,3270,3271,5,276,0,0,3271,3273,7,31,0,0,3272,3268,1,0,0,0,3272,3270,1,0,0,0,3273,213,1,0,0,0,3274,3275,5,134,0,0,3275,3276,5,153,0,0,3276,3280,3,216,108,0,3277,3278,5,220,0,0,3278,3280,7,32,0,0,3279,3274,1,0,0,0,3279,3277,1,0,0,0,3280,215,1,0,0,0,3281,3282,5,220,0,0,3282,3289,5,279,0,0,3283,3284,5,220,0,0,3284,3289,5,48,0,0,3285,3286,5,225,0,0,3286,3289,5,220,0,0,3287,3289,5,249,0,0,3288,3281,1,0,0,0,3288,3283,1,0,0,0,3288,3285,1,0,0,0,3288,3287,1,0,0,0,3289,217,1,0,0,0,3290,3296,3,136,68,0,3291,3292,3,294,147,0,3292,3293,5,6,0,0,3293,3294,3,136,68,0,3294,3296,1,0,0,0,3295,3290,1,0,0,0,3295,3291,1,0,0,0,3296,219,1,0,0,0,3297,3298,3,294,147,0,3298,3299,5,4,0,0,3299,3300,3,294,147,0,3300,3303,1,0,0,0,3301,3303,3,294,147,0,3302,3297,1,0,0,0,3302,3301,1,0,0,0,3303,221,1,0,0,0,3304,3309,3,220,110,0,3305,3306,5,3,0,0,3306,3308,3,220,110,0,3307,3305,1,0,0,0,3308,3311,1,0,0,0,3309,3307,1,0,0,0,3309,3310,1,0,0,0,3310,223,1,0,0,0,3311,3309,1,0,0,0,3312,3313,5,107,0,0,3313,3314,3,226,113,0,3314,3318,3,232,116,0,3315,3317,3,234,117,0,3316,3315,1,0,0,0,3317,3320,1,0,0,0,3318,3316,1,0,0,0,3318,3319,1,0,0,0,3319,3321,1,0,0,0,3320,3318,1,0,0,0,3321,3322,3,236,118,0,3322,225,1,0,0,0,3323,3324,3,274,137,0,3324,3333,5,1,0,0,3325,3330,3,230,115,0,3326,3327,5,3,0,0,3327,3329,3,230,115,0,3328,3326,1,0,0,0,3329,3332,1,0,0,0,3330,3328,1,0,0,0,3330,3331,1,0,0,0,3331,3334,1,0,0,0,3332,3330,1,0,0,0,3333,3325,1,0,0,0,3333,3334,1,0,0,0,3334,3335,1,0,0,0,3335,3336,5,2,0,0,3336,227,1,0,0,0,3337,3338,3,272,136,0,3338,3347,5,1,0,0,3339,3344,3,230,115,0,3340,3341,5,3,0,0,3341,3343,3,230,115,0,3342,3340,1,0,0,0,3343,3346,1,0,0,0,3344,3342,1,0,0,0,3344,3345,1,0,0,0,3345,3348,1,0,0,0,3346,3344,1,0,0,0,3347,3339,1,0,0,0,3347,3348,1,0,0,0,3348,3349,1,0,0,0,3349,3350,5,2,0,0,3350,229,1,0,0,0,3351,3353,3,294,147,0,3352,3351,1,0,0,0,3352,3353,1,0,0,0,3353,3354,1,0,0,0,3354,3355,3,184,92,0,3355,231,1,0,0,0,3356,3357,5,232,0,0,3357,3358,3,184,92,0,3358,233,1,0,0,0,3359,3360,5,147,0,0,3360,3379,3,294,147,0,3361,3363,5,182,0,0,3362,3361,1,0,0,0,3362,3363,1,0,0,0,3363,3364,1,0,0,0,3364,3379,5,78,0,0,3365,3366,5,232,0,0,3366,3367,5,183,0,0,3367,3368,5,190,0,0,3368,3369,5,183,0,0,3369,3379,5,126,0,0,3370,3371,5,38,0,0,3371,3372,5,190,0,0,3372,3373,5,183,0,0,3373,3379,5,126,0,0,3374,3375,5,246,0,0,3375,3379,7,1,0,0,3376,3377,5,46,0,0,3377,3379,3,168,84,0,3378,3359,1,0,0,0,3378,3362,1,0,0,0,3378,3365,1,0,0,0,3378,3370,1,0,0,0,3378,3374,1,0,0,0,3378,3376,1,0,0,0,3379,235,1,0,0,0,3380,3381,5,230,0,0,3381,3480,3,142,71,0,3382,3383,5,251,0,0,3383,3384,3,294,147,0,3384,3385,5,312,0,0,3385,3386,3,136,68,0,3386,3480,1,0,0,0,3387,3388,5,40,0,0,3388,3390,3,136,68,0,3389,3391,3,238,119,0,3390,3389,1,0,0,0,3391,3392,1,0,0,0,3392,3390,1,0,0,0,3392,3393,1,0,0,0,3393,3395,1,0,0,0,3394,3396,3,242,121,0,3395,3394,1,0,0,0,3395,3396,1,0,0,0,3396,3397,1,0,0,0,3397,3398,5,88,0,0,3398,3399,5,40,0,0,3399,3480,1,0,0,0,3400,3402,5,40,0,0,3401,3403,3,238,119,0,3402,3401,1,0,0,0,3403,3404,1,0,0,0,3404,3402,1,0,0,0,3404,3405,1,0,0,0,3405,3407,1,0,0,0,3406,3408,3,242,121,0,3407,3406,1,0,0,0,3407,3408,1,0,0,0,3408,3409,1,0,0,0,3409,3410,5,88,0,0,3410,3411,5,40,0,0,3411,3480,1,0,0,0,3412,3413,5,119,0,0,3413,3414,3,136,68,0,3414,3415,5,265,0,0,3415,3419,3,246,123,0,3416,3418,3,240,120,0,3417,3416,1,0,0,0,3418,3421,1,0,0,0,3419,3417,1,0,0,0,3419,3420,1,0,0,0,3420,3423,1,0,0,0,3421,3419,1,0,0,0,3422,3424,3,242,121,0,3423,3422,1,0,0,0,3423,3424,1,0,0,0,3424,3425,1,0,0,0,3425,3426,5,88,0,0,3426,3427,5,119,0,0,3427,3480,1,0,0,0,3428,3429,5,135,0,0,3429,3480,3,294,147,0,3430,3431,5,151,0,0,3431,3480,3,294,147,0,3432,3438,5,32,0,0,3433,3434,3,244,122,0,3434,3435,5,325,0,0,3435,3437,1,0,0,0,3436,3433,1,0,0,0,3437,3440,1,0,0,0,3438,3436,1,0,0,0,3438,3439,1,0,0,0,3439,3442,1,0,0,0,3440,3438,1,0,0,0,3441,3443,3,246,123,0,3442,3441,1,0,0,0,3442,3443,1,0,0,0,3443,3444,1,0,0,0,3444,3480,5,88,0,0,3445,3446,3,294,147,0,3446,3447,5,10,0,0,3447,3449,1,0,0,0,3448,3445,1,0,0,0,3448,3449,1,0,0,0,3449,3450,1,0,0,0,3450,3451,5,161,0,0,3451,3452,3,246,123,0,3452,3453,5,88,0,0,3453,3454,5,161,0,0,3454,3480,1,0,0,0,3455,3456,3,294,147,0,3456,3457,5,10,0,0,3457,3459,1,0,0,0,3458,3455,1,0,0,0,3458,3459,1,0,0,0,3459,3460,1,0,0,0,3460,3461,5,302,0,0,3461,3462,3,136,68,0,3462,3463,5,81,0,0,3463,3464,3,246,123,0,3464,3465,5,88,0,0,3465,3466,5,302,0,0,3466,3480,1,0,0,0,3467,3468,3,294,147,0,3468,3469,5,10,0,0,3469,3471,1,0,0,0,3470,3467,1,0,0,0,3470,3471,1,0,0,0,3471,3472,1,0,0,0,3472,3473,5,224,0,0,3473,3474,3,246,123,0,3474,3475,5,286,0,0,3475,3476,3,136,68,0,3476,3477,5,88,0,0,3477,3478,5,224,0,0,3478,3480,1,0,0,0,3479,3380,1,0,0,0,3479,3382,1,0,0,0,3479,3387,1,0,0,0,3479,3400,1,0,0,0,3479,3412,1,0,0,0,3479,3428,1,0,0,0,3479,3430,1,0,0,0,3479,3432,1,0,0,0,3479,3448,1,0,0,0,3479,3458,1,0,0,0,3479,3470,1,0,0,0,3480,237,1,0,0,0,3481,3482,5,300,0,0,3482,3483,3,136,68,0,3483,3484,5,265,0,0,3484,3485,3,246,123,0,3485,239,1,0,0,0,3486,3487,5,86,0,0,3487,3488,3,136,68,0,3488,3489,5,265,0,0,3489,3490,3,246,123,0,3490,241,1,0,0,0,3491,3492,5,84,0,0,3492,3493,3,246,123,0,3493,243,1,0,0,0,3494,3495,5,69,0,0,3495,3500,3,294,147,0,3496,3497,5,3,0,0,3497,3499,3,294,147,0,3498,3496,1,0,0,0,3499,3502,1,0,0,0,3500,3498,1,0,0,0,3500,3501,1,0,0,0,3501,3503,1,0,0,0,3502,3500,1,0,0,0,3503,3506,3,184,92,0,3504,3505,5,70,0,0,3505,3507,3,142,71,0,3506,3504,1,0,0,0,3506,3507,1,0,0,0,3507,245,1,0,0,0,3508,3509,3,236,118,0,3509,3510,5,325,0,0,3510,3512,1,0,0,0,3511,3508,1,0,0,0,3512,3513,1,0,0,0,3513,3511,1,0,0,0,3513,3514,1,0,0,0,3514,247,1,0,0,0,3515,3522,5,53,0,0,3516,3522,5,248,0,0,3517,3522,5,73,0,0,3518,3522,5,127,0,0,3519,3522,5,287,0,0,3520,3522,3,294,147,0,3521,3515,1,0,0,0,3521,3516,1,0,0,0,3521,3517,1,0,0,0,3521,3518,1,0,0,0,3521,3519,1,0,0,0,3521,3520,1,0,0,0,3522,249,1,0,0,0,3523,3527,5,260,0,0,3524,3527,5,243,0,0,3525,3527,3,294,147,0,3526,3523,1,0,0,0,3526,3524,1,0,0,0,3526,3525,1,0,0,0,3527,251,1,0,0,0,3528,3530,3,250,125,0,3529,3528,1,0,0,0,3529,3530,1,0,0,0,3530,3531,1,0,0,0,3531,3532,3,280,140,0,3532,253,1,0,0,0,3533,3536,3,256,128,0,3534,3536,3,260,130,0,3535,3533,1,0,0,0,3535,3534,1,0,0,0,3536,255,1,0,0,0,3537,3549,3,294,147,0,3538,3539,3,294,147,0,3539,3540,5,4,0,0,3540,3541,3,294,147,0,3541,3549,1,0,0,0,3542,3543,3,294,147,0,3543,3544,5,4,0,0,3544,3545,3,294,147,0,3545,3546,5,4,0,0,3546,3547,3,294,147,0,3547,3549,1,0,0,0,3548,3537,1,0,0,0,3548,3538,1,0,0,0,3548,3542,1,0,0,0,3549,257,1,0,0,0,3550,3562,3,294,147,0,3551,3552,3,294,147,0,3552,3553,5,4,0,0,3553,3554,3,294,147,0,3554,3562,1,0,0,0,3555,3556,3,294,147,0,3556,3557,5,4,0,0,3557,3558,3,294,147,0,3558,3559,5,4,0,0,3559,3560,3,294,147,0,3560,3562,1,0,0,0,3561,3550,1,0,0,0,3561,3551,1,0,0,0,3561,3555,1,0,0,0,3562,259,1,0,0,0,3563,3575,3,294,147,0,3564,3565,3,294,147,0,3565,3566,5,4,0,0,3566,3567,3,294,147,0,3567,3575,1,0,0,0,3568,3569,3,294,147,0,3569,3570,5,4,0,0,3570,3571,3,294,147,0,3571,3572,5,4,0,0,3572,3573,3,294,147,0,3573,3575,1,0,0,0,3574,3563,1,0,0,0,3574,3564,1,0,0,0,3574,3568,1,0,0,0,3575,261,1,0,0,0,3576,3588,3,294,147,0,3577,3578,3,294,147,0,3578,3579,5,4,0,0,3579,3580,3,294,147,0,3580,3588,1,0,0,0,3581,3582,3,294,147,0,3582,3583,5,4,0,0,3583,3584,3,294,147,0,3584,3585,5,4,0,0,3585,3586,3,294,147,0,3586,3588,1,0,0,0,3587,3576,1,0,0,0,3587,3577,1,0,0,0,3587,3581,1,0,0,0,3588,263,1,0,0,0,3589,3595,3,294,147,0,3590,3591,3,294,147,0,3591,3592,5,4,0,0,3592,3593,3,294,147,0,3593,3595,1,0,0,0,3594,3589,1,0,0,0,3594,3590,1,0,0,0,3595,265,1,0,0,0,3596,3602,3,294,147,0,3597,3598,3,294,147,0,3598,3599,5,4,0,0,3599,3600,3,294,147,0,3600,3602,1,0,0,0,3601,3596,1,0,0,0,3601,3597,1,0,0,0,3602,267,1,0,0,0,3603,3604,3,294,147,0,3604,269,1,0,0,0,3605,3606,3,294,147,0,3606,271,1,0,0,0,3607,3608,3,280,140,0,3608,273,1,0,0,0,3609,3610,3,280,140,0,3610,275,1,0,0,0,3611,3614,3,280,140,0,3612,3614,4,138,14,0,3613,3611,1,0,0,0,3613,3612,1,0,0,0,3614,277,1,0,0,0,3615,3616,3,294,147,0,3616,279,1,0,0,0,3617,3622,3,294,147,0,3618,3619,5,4,0,0,3619,3621,3,294,147,0,3620,3618,1,0,0,0,3621,3624,1,0,0,0,3622,3620,1,0,0,0,3622,3623,1,0,0,0,3623,281,1,0,0,0,3624,3622,1,0,0,0,3625,3626,5,103,0,0,3626,3627,3,284,142,0,3627,3628,5,28,0,0,3628,3629,5,187,0,0,3629,3630,3,142,71,0,3630,283,1,0,0,0,3631,3632,7,33,0,0,3632,285,1,0,0,0,3633,3637,3,288,144,0,3634,3637,5,64,0,0,3635,3637,5,60,0,0,3636,3633,1,0,0,0,3636,3634,1,0,0,0,3636,3635,1,0,0,0,3637,287,1,0,0,0,3638,3644,3,294,147,0,3639,3640,5,289,0,0,3640,3644,3,294,147,0,3641,3642,5,235,0,0,3642,3644,3,294,147,0,3643,3638,1,0,0,0,3643,3639,1,0,0,0,3643,3641,1,0,0,0,3644,289,1,0,0,0,3645,3650,3,294,147,0,3646,3647,5,3,0,0,3647,3649,3,294,147,0,3648,3646,1,0,0,0,3649,3652,1,0,0,0,3650,3648,1,0,0,0,3650,3651,1,0,0,0,3651,291,1,0,0,0,3652,3650,1,0,0,0,3653,3661,5,53,0,0,3654,3661,5,248,0,0,3655,3661,5,73,0,0,3656,3661,5,127,0,0,3657,3661,5,287,0,0,3658,3661,5,93,0,0,3659,3661,3,294,147,0,3660,3653,1,0,0,0,3660,3654,1,0,0,0,3660,3655,1,0,0,0,3660,3656,1,0,0,0,3660,3657,1,0,0,0,3660,3658,1,0,0,0,3660,3659,1,0,0,0,3661,293,1,0,0,0,3662,3668,5,332,0,0,3663,3668,5,334,0,0,3664,3668,3,300,150,0,3665,3668,5,335,0,0,3666,3668,5,333,0,0,3667,3662,1,0,0,0,3667,3663,1,0,0,0,3667,3664,1,0,0,0,3667,3665,1,0,0,0,3667,3666,1,0,0,0,3668,295,1,0,0,0,3669,3671,5,319,0,0,3670,3669,1,0,0,0,3670,3671,1,0,0,0,3671,3672,1,0,0,0,3672,3682,5,330,0,0,3673,3675,5,319,0,0,3674,3673,1,0,0,0,3674,3675,1,0,0,0,3675,3676,1,0,0,0,3676,3682,5,331,0,0,3677,3679,5,319,0,0,3678,3677,1,0,0,0,3678,3679,1,0,0,0,3679,3680,1,0,0,0,3680,3682,5,329,0,0,3681,3670,1,0,0,0,3681,3674,1,0,0,0,3681,3678,1,0,0,0,3682,297,1,0,0,0,3683,3686,3,294,147,0,3684,3686,3,168,84,0,3685,3683,1,0,0,0,3685,3684,1,0,0,0,3686,299,1,0,0,0,3687,3688,7,34,0,0,3688,301,1,0,0,0,480,305,314,318,322,326,330,343,350,354,358,364,368,375,380,384,390,394,413,419,423,427,431,439,443,446,451,457,466,472,476,482,489,498,510,519,528,534,545,553,561,568,578,585,593,608,643,646,649,653,659,664,671,677,681,685,693,699,703,707,721,729,748,773,776,783,790,799,803,810,818,827,833,838,842,850,855,864,870,877,886,892,896,902,909,914,927,932,944,948,954,963,968,974,1002,1008,1010,1016,1022,1024,1032,1034,1044,1046,1061,1066,1073,1083,1089,1091,1099,1101,1126,1129,1133,1137,1155,1158,1169,1172,1188,1198,1203,1209,1212,1221,1233,1236,1246,1250,1256,1263,1268,1274,1278,1282,1288,1299,1308,1318,1321,1326,1328,1335,1341,1343,1347,1357,1363,1366,1368,1380,1387,1391,1394,1398,1402,1409,1418,1421,1425,1430,1434,1442,1445,1448,1455,1466,1469,1479,1482,1493,1498,1506,1509,1513,1517,1526,1535,1538,1547,1550,1553,1557,1568,1571,1574,1581,1584,1603,1607,1611,1615,1619,1623,1625,1636,1641,1650,1659,1662,1668,1680,1683,1692,1695,1703,1706,1709,1714,1717,1729,1732,1740,1745,1749,1751,1753,1768,1770,1781,1802,1812,1823,1827,1829,1837,1848,1859,1866,1879,1885,1911,1926,1931,1935,1945,1951,1957,1965,1970,1977,1979,1985,1991,1995,2e3,2009,2014,2028,2038,2041,2050,2055,2060,2062,2071,2074,2082,2085,2092,2097,2108,2111,2115,2117,2125,2135,2141,2143,2150,2154,2156,2163,2167,2169,2171,2180,2191,2195,2205,2215,2219,2227,2229,2242,2250,2259,2265,2273,2279,2283,2288,2293,2299,2313,2315,2345,2356,2364,2369,2374,2387,2393,2396,2403,2408,2411,2414,2419,2426,2429,2438,2441,2445,2448,2451,2466,2469,2488,2492,2500,2504,2529,2532,2541,2547,2553,2559,2568,2571,2574,2593,2602,2624,2627,2637,2646,2652,2658,2669,2671,2676,2683,2685,2691,2697,2708,2717,2722,2727,2729,2731,2737,2739,2749,2758,2760,2766,2768,2771,2781,2783,2791,2799,2802,2807,2812,2824,2828,2832,2835,2837,2845,2848,2858,2866,2872,2874,2882,2892,2898,2912,2921,2928,2933,2940,2950,2955,2962,2988,2993,2995,3002,3006,3013,3017,3034,3049,3056,3065,3075,3080,3089,3094,3102,3110,3113,3119,3122,3129,3137,3140,3148,3151,3177,3188,3193,3200,3202,3215,3230,3234,3238,3242,3248,3252,3256,3260,3262,3272,3279,3288,3295,3302,3309,3318,3330,3333,3344,3347,3352,3362,3378,3392,3395,3404,3407,3419,3423,3438,3442,3448,3458,3470,3479,3500,3506,3513,3521,3526,3529,3535,3548,3561,3574,3587,3594,3601,3613,3622,3636,3643,3650,3660,3667,3670,3674,3678,3681,3685],e.vocabulary=new le(e.literalNames,e.symbolicNames,[]),e.decisionsToDFA=e._ATN.decisionToState.map((i,t)=>new E1(i,t));class N3 extends R{constructor(t,s){super(t,s)}EOF(){return this.getToken(e.EOF,0)}statements(t){return t===void 0?this.getRuleContexts(kr):this.getRuleContext(t,kr)}get ruleIndex(){return e.RULE_program}enterRule(t){t.enterProgram&&t.enterProgram(this)}exitRule(t){t.exitProgram&&t.exitProgram(this)}accept(t){return t.visitProgram?t.visitProgram(this):t.visitChildren(this)}}class kr extends R{constructor(t,s){super(t,s)}singleStatement(){return this.getRuleContext(0,Jh)}get ruleIndex(){return e.RULE_statements}enterRule(t){t.enterStatements&&t.enterStatements(this)}exitRule(t){t.exitStatements&&t.exitStatements(this)}accept(t){return t.visitStatements?t.visitStatements(this):t.visitChildren(this)}}class Jh extends R{constructor(t,s){super(t,s)}statement(){return this.getRuleContext(0,I)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_singleStatement}enterRule(t){t.enterSingleStatement&&t.enterSingleStatement(this)}exitRule(t){t.exitSingleStatement&&t.exitSingleStatement(this)}accept(t){return t.visitSingleStatement?t.visitSingleStatement(this):t.visitChildren(this)}}class L3 extends R{constructor(t,s){super(t,s)}expression(){return this.getRuleContext(0,y)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_standaloneExpression}enterRule(t){t.enterStandaloneExpression&&t.enterStandaloneExpression(this)}exitRule(t){t.exitStandaloneExpression&&t.exitStandaloneExpression(this)}accept(t){return t.visitStandaloneExpression?t.visitStandaloneExpression(this):t.visitChildren(this)}}class I3 extends R{constructor(t,s){super(t,s)}pathSpecification(){return this.getRuleContext(0,qr)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_standalonePathSpecification}enterRule(t){t.enterStandalonePathSpecification&&t.enterStandalonePathSpecification(this)}exitRule(t){t.exitStandalonePathSpecification&&t.exitStandalonePathSpecification(this)}accept(t){return t.visitStandalonePathSpecification?t.visitStandalonePathSpecification(this):t.visitChildren(this)}}class T3 extends R{constructor(t,s){super(t,s)}type(){return this.getRuleContext(0,tt)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_standaloneType}enterRule(t){t.enterStandaloneType&&t.enterStandaloneType(this)}exitRule(t){t.exitStandaloneType&&t.exitStandaloneType(this)}accept(t){return t.visitStandaloneType?t.visitStandaloneType(this):t.visitChildren(this)}}class O3 extends R{constructor(t,s){super(t,s)}rowPattern(){return this.getRuleContext(0,gt)}SEMICOLON(){return this.getToken(e.SEMICOLON,0)}get ruleIndex(){return e.RULE_standaloneRowPattern}enterRule(t){t.enterStandaloneRowPattern&&t.enterStandaloneRowPattern(this)}exitRule(t){t.exitStandaloneRowPattern&&t.exitStandaloneRowPattern(this)}accept(t){return t.visitStandaloneRowPattern?t.visitStandaloneRowPattern(this):t.visitChildren(this)}}class k3 extends R{constructor(t,s){super(t,s)}functionSpecification(){return this.getRuleContext(0,Ys)}EOF(){return this.getToken(e.EOF,0)}get ruleIndex(){return e.RULE_standaloneFunctionSpecification}enterRule(t){t.enterStandaloneFunctionSpecification&&t.enterStandaloneFunctionSpecification(this)}exitRule(t){t.exitStandaloneFunctionSpecification&&t.exitStandaloneFunctionSpecification(this)}accept(t){return t.visitStandaloneFunctionSpecification?t.visitStandaloneFunctionSpecification(this):t.visitChildren(this)}}class I extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_statement}copyFrom(t){super.copyFrom(t)}}class S3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}statement(){return this.getRuleContext(0,I)}explainOption(t){return t===void 0?this.getRuleContexts(Vs):this.getRuleContext(t,Vs)}enterRule(t){t.enterExplain&&t.enterExplain(this)}exitRule(t){t.exitExplain&&t.exitExplain(this)}accept(t){return t.visitExplain?t.visitExplain(this):t.visitChildren(this)}}class y3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_PREPARE(){return this.getToken(e.KW_PREPARE,0)}identifier(){return this.getRuleContext(0,C)}KW_FROM(){return this.getToken(e.KW_FROM,0)}statement(){return this.getRuleContext(0,I)}enterRule(t){t.enterPrepare&&t.enterPrepare(this)}exitRule(t){t.exitPrepare&&t.exitPrepare(this)}accept(t){return t.visitPrepare?t.visitPrepare(this):t.visitChildren(this)}}class U3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterDropMaterializedView&&t.enterDropMaterializedView(this)}exitRule(t){t.exitDropMaterializedView&&t.exitDropMaterializedView(this)}accept(t){return t.visitDropMaterializedView?t.visitDropMaterializedView(this):t.visitChildren(this)}}class w3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}propertyAssignments(){return this.getRuleContext(0,Ln)}enterRule(t){t.enterSetMaterializedViewProperties&&t.enterSetMaterializedViewProperties(this)}exitRule(t){t.exitSetMaterializedViewProperties&&t.exitSetMaterializedViewProperties(this)}accept(t){return t.visitSetMaterializedViewProperties?t.visitSetMaterializedViewProperties(this):t.visitChildren(this)}}class v3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(t){return t===void 0?this.getTokens(e.KW_ALTER):this.getToken(e.KW_ALTER,t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}tableRef(){return this.getRuleContext(0,ot)}columnRef(){return this.getRuleContext(0,jt)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterDropNotNullConstraint&&t.enterDropNotNullConstraint(this)}exitRule(t){t.exitDropNotNullConstraint&&t.exitDropNotNullConstraint(this)}accept(t){return t.visitDropNotNullConstraint?t.visitDropNotNullConstraint(this):t.visitChildren(this)}}class D3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USE(){return this.getToken(e.KW_USE,0)}schemaRef(){return this.getRuleContext(0,Qe)}enterRule(t){t.enterUse&&t.enterUse(this)}exitRule(t){t.exitUse&&t.exitUse(this)}accept(t){return t.visitUse?t.visitUse(this):t.visitChildren(this)}}class b3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DEALLOCATE(){return this.getToken(e.KW_DEALLOCATE,0)}KW_PREPARE(){return this.getToken(e.KW_PREPARE,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterDeallocate&&t.enterDeallocate(this)}exitRule(t){t.exitDeallocate&&t.exitDeallocate(this)}accept(t){return t.visitDeallocate?t.visitDeallocate(this):t.visitChildren(this)}}class M3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}tableRef(){return this.getRuleContext(0,ot)}tableNameCreate(){return this.getRuleContext(0,bn)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterRenameTable&&t.enterRenameTable(this)}exitRule(t){t.exitRenameTable&&t.exitRenameTable(this)}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}}class F3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}enterRule(t){t.enterCommit&&t.enterCommit(this)}exitRule(t){t.exitCommit&&t.exitCommit(this)}accept(t){return t.visitCommit?t.visitCommit(this):t.visitChildren(this)}}class H3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}identifier(){return this.getRuleContext(0,C)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}grantor(){return this.getRuleContext(0,A1)}KW_IN(){return this.getToken(e.KW_IN,0)}catalogRef(){return this.getRuleContext(0,fe)}enterRule(t){t.enterCreateRole&&t.enterCreateRole(this)}exitRule(t){t.exitCreateRole&&t.exitCreateRole(this)}accept(t){return t.visitCreateRole?t.visitCreateRole(this):t.visitChildren(this)}}class V3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionName(){return this.getRuleContext(0,K1)}enterRule(t){t.enterShowCreateFunction&&t.enterShowCreateFunction(this)}exitRule(t){t.exitShowCreateFunction&&t.exitShowCreateFunction(this)}accept(t){return t.visitShowCreateFunction?t.visitShowCreateFunction(this):t.visitChildren(this)}}class B3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}tableRef(){return this.getRuleContext(0,ot)}columnRef(){return this.getRuleContext(0,jt)}KW_IF(t){return t===void 0?this.getTokens(e.KW_IF):this.getToken(e.KW_IF,t)}KW_EXISTS(t){return t===void 0?this.getTokens(e.KW_EXISTS):this.getToken(e.KW_EXISTS,t)}enterRule(t){t.enterDropColumn&&t.enterDropColumn(this)}exitRule(t){t.exitDropColumn&&t.exitDropColumn(this)}accept(t){return t.visitDropColumn?t.visitDropColumn(this):t.visitChildren(this)}}class G3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterDropView&&t.enterDropView(this)}exitRule(t){t.exitDropView&&t.exitDropView(this)}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}}class Y3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}schemaRef(){return this.getRuleContext(0,Qe)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}string_(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}enterRule(t){t.enterShowTables&&t.enterShowTables(this)}exitRule(t){t.exitShowTables&&t.exitShowTables(this)}accept(t){return t.visitShowTables?t.visitShowTables(this):t.visitChildren(this)}}class Q3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Ct)}viewRef(){return this.getRuleContext(0,Qt)}enterRule(t){t.enterSetViewAuthorization&&t.enterSetViewAuthorization(this)}exitRule(t){t.exitSetViewAuthorization&&t.exitSetViewAuthorization(this)}accept(t){return t.visitSetViewAuthorization?t.visitSetViewAuthorization(this):t.visitChildren(this)}}class j3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}enterRule(t){t.enterShowTableComment&&t.enterShowTableComment(this)}exitRule(t){t.exitShowTableComment&&t.exitShowTableComment(this)}accept(t){return t.visitShowTableComment?t.visitShowTableComment(this):t.visitChildren(this)}}class J3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}enterRule(t){t.enterShowCatalogs&&t.enterShowCatalogs(this)}exitRule(t){t.exitShowCatalogs&&t.exitShowCatalogs(this)}accept(t){return t.visitShowCatalogs?t.visitShowCatalogs(this):t.visitChildren(this)}}class X3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}catalogRef(){return this.getRuleContext(0,fe)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}enterRule(t){t.enterShowRoles&&t.enterShowRoles(this)}exitRule(t){t.exitShowRoles&&t.exitShowRoles(this)}accept(t){return t.visitShowRoles?t.visitShowRoles(this):t.visitChildren(this)}}class Z3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}tableRef(){return this.getRuleContext(0,ot)}KW_USING(){return this.getToken(e.KW_USING,0)}relation(){return this.getRuleContext(0,Ee)}KW_ON(){return this.getToken(e.KW_ON,0)}expression(){return this.getRuleContext(0,y)}identifier(){return this.getRuleContext(0,C)}mergeCase(t){return t===void 0?this.getRuleContexts(X1):this.getRuleContext(t,X1)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterMerge&&t.enterMerge(this)}exitRule(t){t.exitMerge&&t.exitMerge(this)}accept(t){return t.visitMerge?t.visitMerge(this):t.visitChildren(this)}}class z3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_TO(){return this.getToken(e.KW_TO,0)}tableRef(){return this.getRuleContext(0,ot)}columnRef(){return this.getRuleContext(0,jt)}columnNameCreate(){return this.getRuleContext(0,Zs)}KW_IF(t){return t===void 0?this.getTokens(e.KW_IF):this.getToken(e.KW_IF,t)}KW_EXISTS(t){return t===void 0?this.getTokens(e.KW_EXISTS):this.getToken(e.KW_EXISTS,t)}enterRule(t){t.enterRenameColumn&&t.enterRenameColumn(this)}exitRule(t){t.exitRenameColumn&&t.exitRenameColumn(this)}accept(t){return t.visitRenameColumn?t.visitRenameColumn(this):t.visitChildren(this)}}class $3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}columnRef(){return this.getRuleContext(0,jt)}KW_IS(){return this.getToken(e.KW_IS,0)}string(){return this.getRuleContext(0,Q)}KW_NULL(){return this.getToken(e.KW_NULL,0)}enterRule(t){t.enterCommentColumn&&t.enterCommentColumn(this)}exitRule(t){t.exitCommentColumn&&t.exitCommentColumn(this)}accept(t){return t.visitCommentColumn?t.visitCommentColumn(this):t.visitChildren(this)}}class P3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}privilegeOrRole(t){return t===void 0?this.getRuleContexts(Le):this.getRuleContext(t,Le)}KW_FROM(){return this.getToken(e.KW_FROM,0)}principal(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_GRANTED(){return this.getToken(e.KW_GRANTED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}grantor(){return this.getRuleContext(0,A1)}KW_IN(){return this.getToken(e.KW_IN,0)}catalogRef(){return this.getRuleContext(0,fe)}enterRule(t){t.enterRevokeRoles&&t.enterRevokeRoles(this)}exitRule(t){t.exitRevokeRoles&&t.exitRevokeRoles(this)}accept(t){return t.visitRevokeRoles?t.visitRevokeRoles(this):t.visitChildren(this)}}class q3 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}enterRule(t){t.enterShowCreateTable&&t.enterShowCreateTable(this)}exitRule(t){t.exitShowCreateTable&&t.exitShowCreateTable(this)}accept(t){return t.visitShowCreateTable?t.visitShowCreateTable(this):t.visitChildren(this)}}class Sr extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}tableOrViewName(){return this.getRuleContext(0,Dn)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}enterRule(t){t.enterShowColumns&&t.enterShowColumns(this)}exitRule(t){t.exitShowColumns&&t.exitShowColumns(this)}accept(t){return t.visitShowColumns?t.visitShowColumns(this):t.visitChildren(this)}}class tu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_GRANTS(){return this.getToken(e.KW_GRANTS,0)}catalogRef(){return this.getRuleContext(0,fe)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}enterRule(t){t.enterShowRoleGrants&&t.enterShowRoleGrants(this)}exitRule(t){t.exitShowRoleGrants&&t.exitShowRoleGrants(this)}accept(t){return t.visitShowRoleGrants?t.visitShowRoleGrants(this):t.visitChildren(this)}}class eu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}tableRef(){return this.getRuleContext(0,ot)}columnDefinition(){return this.getRuleContext(0,Ss)}KW_IF(t){return t===void 0?this.getTokens(e.KW_IF):this.getToken(e.KW_IF,t)}KW_EXISTS(t){return t===void 0?this.getTokens(e.KW_EXISTS):this.getToken(e.KW_EXISTS,t)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterAddColumn&&t.enterAddColumn(this)}exitRule(t){t.exitAddColumn&&t.exitAddColumn(this)}accept(t){return t.visitAddColumn?t.visitAddColumn(this):t.visitChildren(this)}}class su extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DENY(){return this.getToken(e.KW_DENY,0)}KW_ON(){return this.getToken(e.KW_ON,0)}grantObject(){return this.getRuleContext(0,Js)}KW_TO(){return this.getToken(e.KW_TO,0)}principal(){return this.getRuleContext(0,Ct)}privilege(t){return t===void 0?this.getRuleContexts(s2):this.getRuleContext(t,s2)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(e.KW_PRIVILEGES,0)}enterRule(t){t.enterDeny&&t.enterDeny(this)}exitRule(t){t.exitDeny&&t.exitDeny(this)}accept(t){return t.visitDeny?t.visitDeny(this):t.visitChildren(this)}}class iu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_SESSION(){return this.getToken(e.KW_SESSION,0)}qualifiedName(){return this.getRuleContext(0,te)}enterRule(t){t.enterResetSession&&t.enterResetSession(this)}exitRule(t){t.exitResetSession&&t.exitResetSession(this)}accept(t){return t.visitResetSession?t.visitResetSession(this):t.visitChildren(this)}}class nu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_INTO(){return this.getToken(e.KW_INTO,0)}tableRef(){return this.getRuleContext(0,ot)}rootQuery(){return this.getRuleContext(0,W1)}columnList(){return this.getRuleContext(0,Ra)}enterRule(t){t.enterInsertInto&&t.enterInsertInto(this)}exitRule(t){t.exitInsertInto&&t.exitInsertInto(this)}accept(t){return t.visitInsertInto?t.visitInsertInto(this):t.visitChildren(this)}}class ru extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SESSION(){return this.getToken(e.KW_SESSION,0)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}string_(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}enterRule(t){t.enterShowSession&&t.enterShowSession(this)}exitRule(t){t.exitShowSession&&t.exitShowSession(this)}accept(t){return t.visitShowSession?t.visitShowSession(this):t.visitChildren(this)}}class hu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}schemaNameCreate(){return this.getRuleContext(0,i2)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Ct)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}enterRule(t){t.enterCreateSchema&&t.enterCreateSchema(this)}exitRule(t){t.exitCreateSchema&&t.exitCreateSchema(this)}accept(t){return t.visitCreateSchema?t.visitCreateSchema(this):t.visitChildren(this)}}class au extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SESSION(){return this.getToken(e.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}authorizationUser(){return this.getRuleContext(0,Mn)}enterRule(t){t.enterSetSessionAuthorization&&t.enterSetSessionAuthorization(this)}exitRule(t){t.exitSetSessionAuthorization&&t.exitSetSessionAuthorization(this)}accept(t){return t.visitSetSessionAuthorization?t.visitSetSessionAuthorization(this):t.visitChildren(this)}}class ou extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}statement(){return this.getRuleContext(0,I)}KW_VERBOSE(){return this.getToken(e.KW_VERBOSE,0)}enterRule(t){t.enterExplainAnalyze&&t.enterExplainAnalyze(this)}exitRule(t){t.exitExplainAnalyze&&t.exitExplainAnalyze(this)}accept(t){return t.visitExplainAnalyze?t.visitExplainAnalyze(this):t.visitChildren(this)}}class cu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}identifier(){return this.getRuleContext(0,C)}KW_USING(){return this.getToken(e.KW_USING,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}enterRule(t){t.enterExecute&&t.enterExecute(this)}exitRule(t){t.exitExecute&&t.exitExecute(this)}accept(t){return t.visitExecute?t.visitExecute(this):t.visitChildren(this)}}class uu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}schemaRef(){return this.getRuleContext(0,Qe)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}schemaNameCreate(){return this.getRuleContext(0,i2)}enterRule(t){t.enterRenameSchema&&t.enterRenameSchema(this)}exitRule(t){t.exitRenameSchema&&t.exitRenameSchema(this)}accept(t){return t.visitRenameSchema?t.visitRenameSchema(this):t.visitChildren(this)}}class lu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}identifier(){return this.getRuleContext(0,C)}KW_IN(){return this.getToken(e.KW_IN,0)}catalogRef(){return this.getRuleContext(0,fe)}enterRule(t){t.enterDropRole&&t.enterDropRole(this)}exitRule(t){t.exitDropRole&&t.exitDropRole(this)}accept(t){return t.visitDropRole?t.visitDropRole(this):t.visitChildren(this)}}class Eu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}tableRef(){return this.getRuleContext(0,ot)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}enterRule(t){t.enterAnalyze&&t.enterAnalyze(this)}exitRule(t){t.exitAnalyze&&t.exitAnalyze(this)}accept(t){return t.visitAnalyze?t.visitAnalyze(this):t.visitChildren(this)}}class du extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_NONE(){return this.getToken(e.KW_NONE,0)}identifier(){return this.getRuleContext(0,C)}KW_IN(){return this.getToken(e.KW_IN,0)}catalogRef(){return this.getRuleContext(0,fe)}enterRule(t){t.enterSetRole&&t.enterSetRole(this)}exitRule(t){t.exitSetRole&&t.exitSetRole(this)}accept(t){return t.visitSetRole?t.visitSetRole(this):t.visitChildren(this)}}class fu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}functionSpecification(){return this.getRuleContext(0,Ys)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}enterRule(t){t.enterCreateFunction&&t.enterCreateFunction(this)}exitRule(t){t.exitCreateFunction&&t.exitCreateFunction(this)}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}}class Wu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}catalogRef(){return this.getRuleContext(0,fe)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}enterRule(t){t.enterDropCatalog&&t.enterDropCatalog(this)}exitRule(t){t.exitDropCatalog&&t.exitDropCatalog(this)}accept(t){return t.visitDropCatalog?t.visitDropCatalog(this):t.visitChildren(this)}}class Ru extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_GRANTS(){return this.getToken(e.KW_GRANTS,0)}KW_ON(){return this.getToken(e.KW_ON,0)}grantObject(){return this.getRuleContext(0,Js)}enterRule(t){t.enterShowGrants&&t.enterShowGrants(this)}exitRule(t){t.exitShowGrants&&t.exitShowGrants(this)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}}class mu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}schemaRef(){return this.getRuleContext(0,Qe)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}enterRule(t){t.enterDropSchema&&t.enterDropSchema(this)}exitRule(t){t.exitDropSchema&&t.exitDropSchema(this)}accept(t){return t.visitDropSchema?t.visitDropSchema(this):t.visitChildren(this)}}class pu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_SESSION(){return this.getToken(e.KW_SESSION,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}enterRule(t){t.enterResetSessionAuthorization&&t.enterResetSessionAuthorization(this)}exitRule(t){t.exitResetSessionAuthorization&&t.exitResetSessionAuthorization(this)}accept(t){return t.visitResetSessionAuthorization?t.visitResetSessionAuthorization(this):t.visitChildren(this)}}class _u extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Ct)}tableRef(){return this.getRuleContext(0,ot)}enterRule(t){t.enterSetTableAuthorization&&t.enterSetTableAuthorization(this)}exitRule(t){t.exitSetTableAuthorization&&t.exitSetTableAuthorization(this)}accept(t){return t.visitSetTableAuthorization?t.visitSetTableAuthorization(this):t.visitChildren(this)}}class Ku extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}enterRule(t){t.enterShowCreateView&&t.enterShowCreateView(this)}exitRule(t){t.exitShowCreateView&&t.exitShowCreateView(this)}accept(t){return t.visitShowCreateView?t.visitShowCreateView(this):t.visitChildren(this)}}class Au extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}columnRef(){return this.getRuleContext(0,jt)}enterRule(t){t.enterShowColumnComment&&t.enterShowColumnComment(this)}exitRule(t){t.exitShowColumnComment&&t.exitShowColumnComment(this)}accept(t){return t.visitShowColumnComment?t.visitShowColumnComment(this):t.visitChildren(this)}}class Xh extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,bn)}tableElement(t){return t===void 0?this.getRuleContexts(yr):this.getRuleContext(t,yr)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}string(){return this.getRuleContext(0,Q)}enterRule(t){t.enterCreateTable&&t.enterCreateTable(this)}exitRule(t){t.exitCreateTable&&t.exitCreateTable(this)}accept(t){return t.visitCreateTable?t.visitCreateTable(this):t.visitChildren(this)}}class gu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GRANT(t){return t===void 0?this.getTokens(e.KW_GRANT):this.getToken(e.KW_GRANT,t)}KW_ON(){return this.getToken(e.KW_ON,0)}grantObject(){return this.getRuleContext(0,Js)}KW_TO(){return this.getToken(e.KW_TO,0)}principal(){return this.getRuleContext(0,Ct)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(e.KW_PRIVILEGES,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}privilegeOrRole(t){return t===void 0?this.getRuleContexts(Le):this.getRuleContext(t,Le)}enterRule(t){t.enterGrantPrivileges&&t.enterGrantPrivileges(this)}exitRule(t){t.exitGrantPrivileges&&t.exitGrantPrivileges(this)}accept(t){return t.visitGrantPrivileges?t.visitGrantPrivileges(this):t.visitChildren(this)}}class Cu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_START(){return this.getToken(e.KW_START,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}transactionMode(t){return t===void 0?this.getRuleContexts(Bs):this.getRuleContext(t,Bs)}enterRule(t){t.enterStartTransaction&&t.enterStartTransaction(this)}exitRule(t){t.exitStartTransaction&&t.exitStartTransaction(this)}accept(t){return t.visitStartTransaction?t.visitStartTransaction(this):t.visitChildren(this)}}class Zh extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableNameCreate(){return this.getRuleContext(0,bn)}KW_AS(){return this.getToken(e.KW_AS,0)}rootQuery(){return this.getRuleContext(0,W1)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}columnListCreate(){return this.getRuleContext(0,Wa)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_WITH(t){return t===void 0?this.getTokens(e.KW_WITH):this.getToken(e.KW_WITH,t)}properties(){return this.getRuleContext(0,Ke)}KW_DATA(){return this.getToken(e.KW_DATA,0)}string(){return this.getRuleContext(0,Q)}KW_NO(){return this.getToken(e.KW_NO,0)}enterRule(t){t.enterCreateTableAsSelect&&t.enterCreateTableAsSelect(this)}exitRule(t){t.exitCreateTableAsSelect&&t.exitCreateTableAsSelect(this)}accept(t){return t.visitCreateTableAsSelect?t.visitCreateTableAsSelect(this):t.visitChildren(this)}}class xu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}KW_IS(){return this.getToken(e.KW_IS,0)}string(){return this.getRuleContext(0,Q)}KW_NULL(){return this.getToken(e.KW_NULL,0)}enterRule(t){t.enterCommentView&&t.enterCommentView(this)}exitRule(t){t.exitCommentView&&t.exitCommentView(this)}accept(t){return t.visitCommentView?t.visitCommentView(this):t.visitChildren(this)}}class Nu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_STATS(){return this.getToken(e.KW_STATS,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}tableOrViewName(){return this.getRuleContext(0,Dn)}enterRule(t){t.enterShowStats&&t.enterShowStats(this)}exitRule(t){t.exitShowStats&&t.exitShowStats(this)}accept(t){return t.visitShowStats?t.visitShowStats(this):t.visitChildren(this)}}class Lu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}schemaRef(){return this.getRuleContext(0,Qe)}enterRule(t){t.enterShowCreateSchema&&t.enterShowCreateSchema(this)}exitRule(t){t.exitShowCreateSchema&&t.exitShowCreateSchema(this)}accept(t){return t.visitShowCreateSchema?t.visitShowCreateSchema(this):t.visitChildren(this)}}class Iu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_ON(){return this.getToken(e.KW_ON,0)}grantObject(){return this.getRuleContext(0,Js)}KW_FROM(){return this.getToken(e.KW_FROM,0)}principal(){return this.getRuleContext(0,Ct)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_PRIVILEGES(){return this.getToken(e.KW_PRIVILEGES,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}privilegeOrRole(t){return t===void 0?this.getRuleContexts(Le):this.getRuleContext(t,Le)}enterRule(t){t.enterRevokePrivileges&&t.enterRevokePrivileges(this)}exitRule(t){t.exitRevokePrivileges&&t.exitRevokePrivileges(this)}accept(t){return t.visitRevokePrivileges?t.visitRevokePrivileges(this):t.visitChildren(this)}}class Tu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionSignature(){return this.getRuleContext(0,Fa)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterDropFunction&&t.enterDropFunction(this)}exitRule(t){t.exitDropFunction&&t.exitDropFunction(this)}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}}class Ou extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}tableRef(){return this.getRuleContext(0,ot)}KW_SET(){return this.getToken(e.KW_SET,0)}updateAssignment(t){return t===void 0?this.getRuleContexts(Pr):this.getRuleContext(t,Pr)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Rt)}enterRule(t){t.enterUpdate&&t.enterUpdate(this)}exitRule(t){t.exitUpdate&&t.exitUpdate(this)}accept(t){return t.visitUpdate?t.visitUpdate(this):t.visitChildren(this)}}class ku extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}tableRef(){return this.getRuleContext(0,ot)}functionName(){return this.getRuleContext(0,K1)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Rt)}callArgument(t){return t===void 0?this.getRuleContexts(_1):this.getRuleContext(t,_1)}enterRule(t){t.enterTableExecute&&t.enterTableExecute(this)}exitRule(t){t.exitTableExecute&&t.exitTableExecute(this)}accept(t){return t.visitTableExecute?t.visitTableExecute(this):t.visitChildren(this)}}class Su extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}tableRef(){return this.getRuleContext(0,ot)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Rt)}enterRule(t){t.enterDelete&&t.enterDelete(this)}exitRule(t){t.exitDelete&&t.exitDelete(this)}accept(t){return t.visitDelete?t.visitDelete(this):t.visitChildren(this)}}class yu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_INPUT(){return this.getToken(e.KW_INPUT,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterDescribeInput&&t.enterDescribeInput(this)}exitRule(t){t.exitDescribeInput&&t.exitDescribeInput(this)}accept(t){return t.visitDescribeInput?t.visitDescribeInput(this):t.visitChildren(this)}}class Uu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_STATS(){return this.getToken(e.KW_STATS,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}rootQuery(){return this.getRuleContext(0,W1)}enterRule(t){t.enterShowStatsForQuery&&t.enterShowStatsForQuery(this)}exitRule(t){t.exitShowStatsForQuery&&t.exitShowStatsForQuery(this)}accept(t){return t.visitShowStatsForQuery?t.visitShowStatsForQuery(this):t.visitChildren(this)}}class wu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(t){return t===void 0?this.getTokens(e.KW_ALTER):this.getToken(e.KW_ALTER,t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}type(){return this.getRuleContext(0,tt)}tableRef(){return this.getRuleContext(0,ot)}columnRef(){return this.getRuleContext(0,jt)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterSetColumnType&&t.enterSetColumnType(this)}exitRule(t){t.exitSetColumnType&&t.exitSetColumnType(this)}accept(t){return t.visitSetColumnType?t.visitSetColumnType(this):t.visitChildren(this)}}class vu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rootQuery(){return this.getRuleContext(0,W1)}enterRule(t){t.enterStatementDefault&&t.enterStatementDefault(this)}exitRule(t){t.exitStatementDefault&&t.exitStatementDefault(this)}accept(t){return t.visitStatementDefault?t.visitStatementDefault(this):t.visitChildren(this)}}class Du extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterSetTimeZone&&t.enterSetTimeZone(this)}exitRule(t){t.exitSetTimeZone&&t.exitSetTimeZone(this)}accept(t){return t.visitSetTimeZone?t.visitSetTimeZone(this):t.visitChildren(this)}}class bu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}enterRule(t){t.enterTruncateTable&&t.enterTruncateTable(this)}exitRule(t){t.exitTruncateTable&&t.exitTruncateTable(this)}accept(t){return t.visitTruncateTable?t.visitTruncateTable(this):t.visitChildren(this)}}class zh extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Xs)}KW_AS(){return this.getToken(e.KW_AS,0)}rootQuery(){return this.getRuleContext(0,W1)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_GRACE(){return this.getToken(e.KW_GRACE,0)}KW_PERIOD(){return this.getToken(e.KW_PERIOD,0)}interval(){return this.getRuleContext(0,yn)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}string(){return this.getRuleContext(0,Q)}enterRule(t){t.enterCreateMaterializedView&&t.enterCreateMaterializedView(this)}exitRule(t){t.exitCreateMaterializedView&&t.exitCreateMaterializedView(this)}accept(t){return t.visitCreateMaterializedView?t.visitCreateMaterializedView(this):t.visitChildren(this)}}class Mu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SESSION(){return this.getToken(e.KW_SESSION,0)}qualifiedName(){return this.getRuleContext(0,te)}EQ(){return this.getToken(e.EQ,0)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterSetSession&&t.enterSetSession(this)}exitRule(t){t.exitSetSession&&t.exitSetSession(this)}accept(t){return t.visitSetSession?t.visitSetSession(this):t.visitChildren(this)}}class $h extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewNameCreate(){return this.getRuleContext(0,Xs)}KW_AS(){return this.getToken(e.KW_AS,0)}rootQuery(){return this.getRuleContext(0,W1)}KW_OR(){return this.getToken(e.KW_OR,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_SECURITY(){return this.getToken(e.KW_SECURITY,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}string(){return this.getRuleContext(0,Q)}KW_DEFINER(){return this.getToken(e.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(e.KW_INVOKER,0)}enterRule(t){t.enterCreateView&&t.enterCreateView(this)}exitRule(t){t.exitCreateView&&t.exitCreateView(this)}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}}class Fu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}viewRef(){return this.getRuleContext(0,Qt)}viewNameCreate(){return this.getRuleContext(0,Xs)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterRenameMaterializedView&&t.enterRenameMaterializedView(this)}exitRule(t){t.exitRenameMaterializedView&&t.exitRenameMaterializedView(this)}accept(t){return t.visitRenameMaterializedView?t.visitRenameMaterializedView(this):t.visitChildren(this)}}class Hu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}catalogRef(){return this.getRuleContext(0,fe)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}string_(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}enterRule(t){t.enterShowSchemas&&t.enterShowSchemas(this)}exitRule(t){t.exitShowSchemas&&t.exitShowSchemas(this)}accept(t){return t.visitShowSchemas?t.visitShowSchemas(this):t.visitChildren(this)}}class Vu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DROP(){return this.getToken(e.KW_DROP,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}enterRule(t){t.enterDropTable&&t.enterDropTable(this)}exitRule(t){t.exitDropTable&&t.exitDropTable(this)}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}}class Bu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}schemaRef(){return this.getRuleContext(0,Qe)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Ct)}enterRule(t){t.enterSetSchemaAuthorization&&t.enterSetSchemaAuthorization(this)}exitRule(t){t.exitSetSchemaAuthorization&&t.exitSetSchemaAuthorization(this)}accept(t){return t.visitSetSchemaAuthorization?t.visitSetSchemaAuthorization(this):t.visitChildren(this)}}class Gu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}enterRule(t){t.enterRollback&&t.enterRollback(this)}exitRule(t){t.exitRollback&&t.exitRollback(this)}accept(t){return t.visitRollback?t.visitRollback(this):t.visitChildren(this)}}class Yu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}KW_IS(){return this.getToken(e.KW_IS,0)}string(){return this.getRuleContext(0,Q)}KW_NULL(){return this.getToken(e.KW_NULL,0)}enterRule(t){t.enterCommentTable&&t.enterCommentTable(this)}exitRule(t){t.exitCommentTable&&t.exitCommentTable(this)}accept(t){return t.visitCommentTable?t.visitCommentTable(this):t.visitChildren(this)}}class Qu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}KW_IMMEDIATE(){return this.getToken(e.KW_IMMEDIATE,0)}string(){return this.getRuleContext(0,Q)}KW_USING(){return this.getToken(e.KW_USING,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}enterRule(t){t.enterExecuteImmediate&&t.enterExecuteImmediate(this)}exitRule(t){t.exitExecuteImmediate&&t.exitExecuteImmediate(this)}accept(t){return t.visitExecuteImmediate?t.visitExecuteImmediate(this):t.visitChildren(this)}}class ju extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_TO(){return this.getToken(e.KW_TO,0)}viewRef(){return this.getRuleContext(0,Qt)}viewNameCreate(){return this.getRuleContext(0,Xs)}enterRule(t){t.enterRenameView&&t.enterRenameView(this)}exitRule(t){t.exitRenameView&&t.exitRenameView(this)}accept(t){return t.visitRenameView?t.visitRenameView(this):t.visitChildren(this)}}class Ju extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_PATH(){return this.getToken(e.KW_PATH,0)}pathSpecification(){return this.getRuleContext(0,qr)}enterRule(t){t.enterSetPath&&t.enterSetPath(this)}exitRule(t){t.exitSetPath&&t.exitSetPath(this)}accept(t){return t.visitSetPath?t.visitSetPath(this):t.visitChildren(this)}}class Xu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}privilegeOrRole(t){return t===void 0?this.getRuleContexts(Le):this.getRuleContext(t,Le)}KW_TO(){return this.getToken(e.KW_TO,0)}principal(t){return t===void 0?this.getRuleContexts(Ct):this.getRuleContext(t,Ct)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_GRANTED(){return this.getToken(e.KW_GRANTED,0)}KW_BY(){return this.getToken(e.KW_BY,0)}grantor(){return this.getRuleContext(0,A1)}KW_IN(){return this.getToken(e.KW_IN,0)}catalogRef(){return this.getRuleContext(0,fe)}enterRule(t){t.enterGrantRoles&&t.enterGrantRoles(this)}exitRule(t){t.exitGrantRoles&&t.exitGrantRoles(this)}accept(t){return t.visitGrantRoles?t.visitGrantRoles(this):t.visitChildren(this)}}class Zu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CALL(){return this.getToken(e.KW_CALL,0)}functionName(){return this.getRuleContext(0,K1)}callArgument(t){return t===void 0?this.getRuleContexts(_1):this.getRuleContext(t,_1)}enterRule(t){t.enterCall&&t.enterCall(this)}exitRule(t){t.exitCall&&t.exitCall(this)}accept(t){return t.visitCall?t.visitCall(this):t.visitChildren(this)}}class zu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}enterRule(t){t.enterRefreshMaterializedView&&t.enterRefreshMaterializedView(this)}exitRule(t){t.exitRefreshMaterializedView&&t.exitRefreshMaterializedView(this)}accept(t){return t.visitRefreshMaterializedView?t.visitRefreshMaterializedView(this):t.visitChildren(this)}}class $u extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}viewRef(){return this.getRuleContext(0,Qt)}enterRule(t){t.enterShowCreateMaterializedView&&t.enterShowCreateMaterializedView(this)}exitRule(t){t.exitShowCreateMaterializedView&&t.exitShowCreateMaterializedView(this)}accept(t){return t.visitShowCreateMaterializedView?t.visitShowCreateMaterializedView(this):t.visitChildren(this)}}class Pu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}KW_USING(){return this.getToken(e.KW_USING,0)}catalogNameCreate(){return this.getRuleContext(0,Ba)}identifier(){return this.getRuleContext(0,C)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}string(){return this.getRuleContext(0,Q)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}principal(){return this.getRuleContext(0,Ct)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}enterRule(t){t.enterCreateCatalog&&t.enterCreateCatalog(this)}exitRule(t){t.exitCreateCatalog&&t.exitCreateCatalog(this)}accept(t){return t.visitCreateCatalog?t.visitCreateCatalog(this):t.visitChildren(this)}}class qu extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}schemaRef(){return this.getRuleContext(0,Qe)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_IN(){return this.getToken(e.KW_IN,0)}string_(t){return t===void 0?this.getRuleContexts(Q):this.getRuleContext(t,Q)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}enterRule(t){t.enterShowFunctions&&t.enterShowFunctions(this)}exitRule(t){t.exitShowFunctions&&t.exitShowFunctions(this)}accept(t){return t.visitShowFunctions?t.visitShowFunctions(this):t.visitChildren(this)}}class t7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DESCRIBE(){return this.getToken(e.KW_DESCRIBE,0)}KW_OUTPUT(){return this.getToken(e.KW_OUTPUT,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterDescribeOutput&&t.enterDescribeOutput(this)}exitRule(t){t.exitDescribeOutput&&t.exitDescribeOutput(this)}accept(t){return t.visitDescribeOutput?t.visitDescribeOutput(this):t.visitChildren(this)}}class e7 extends I{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ALTER(){return this.getToken(e.KW_ALTER,0)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}propertyAssignments(){return this.getRuleContext(0,Ln)}tableRef(){return this.getRuleContext(0,ot)}enterRule(t){t.enterSetTableProperties&&t.enterSetTableProperties(this)}exitRule(t){t.exitSetTableProperties&&t.exitSetTableProperties(this)}accept(t){return t.visitSetTableProperties?t.visitSetTableProperties(this):t.visitChildren(this)}}class W1 extends R{constructor(t,s){super(t,s)}query(){return this.getRuleContext(0,qt)}withFunction(){return this.getRuleContext(0,Ph)}get ruleIndex(){return e.RULE_rootQuery}enterRule(t){t.enterRootQuery&&t.enterRootQuery(this)}exitRule(t){t.exitRootQuery&&t.exitRootQuery(this)}accept(t){return t.visitRootQuery?t.visitRootQuery(this):t.visitChildren(this)}}class Ph extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}functionSpecification(t){return t===void 0?this.getRuleContexts(Ys):this.getRuleContext(t,Ys)}get ruleIndex(){return e.RULE_withFunction}enterRule(t){t.enterWithFunction&&t.enterWithFunction(this)}exitRule(t){t.exitWithFunction&&t.exitWithFunction(this)}accept(t){return t.visitWithFunction?t.visitWithFunction(this):t.visitChildren(this)}}class qt extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_query}copyFrom(t){super.copyFrom(t)}}class s7 extends qt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryNoWith(){return this.getRuleContext(0,wr)}with(){return this.getRuleContext(0,qh)}enterRule(t){t.enterQueryStatement&&t.enterQueryStatement(this)}exitRule(t){t.exitQueryStatement&&t.exitQueryStatement(this)}accept(t){return t.visitQueryStatement?t.visitQueryStatement(this):t.visitChildren(this)}}class qh extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}namedQuery(t){return t===void 0?this.getRuleContexts(Mr):this.getRuleContext(t,Mr)}KW_RECURSIVE(){return this.getToken(e.KW_RECURSIVE,0)}get ruleIndex(){return e.RULE_with}enterRule(t){t.enterWith&&t.enterWith(this)}exitRule(t){t.exitWith&&t.exitWith(this)}accept(t){return t.visitWith?t.visitWith(this):t.visitChildren(this)}}class yr extends R{constructor(t,s){super(t,s)}columnDefinition(){return this.getRuleContext(0,Ss)}likeClause(){return this.getRuleContext(0,ta)}get ruleIndex(){return e.RULE_tableElement}enterRule(t){t.enterTableElement&&t.enterTableElement(this)}exitRule(t){t.exitTableElement&&t.exitTableElement(this)}accept(t){return t.visitTableElement?t.visitTableElement(this):t.visitChildren(this)}}class Ss extends R{constructor(t,s){super(t,s)}columnNameCreate(){return this.getRuleContext(0,Zs)}type(){return this.getRuleContext(0,tt)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}properties(){return this.getRuleContext(0,Ke)}string(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_columnDefinition}enterRule(t){t.enterColumnDefinition&&t.enterColumnDefinition(this)}exitRule(t){t.exitColumnDefinition&&t.exitColumnDefinition(this)}accept(t){return t.visitColumnDefinition?t.visitColumnDefinition(this):t.visitChildren(this)}}class ta extends R{constructor(t,s){super(t,s)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}tableRef(){return this.getRuleContext(0,ot)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}KW_INCLUDING(){return this.getToken(e.KW_INCLUDING,0)}KW_EXCLUDING(){return this.getToken(e.KW_EXCLUDING,0)}get ruleIndex(){return e.RULE_likeClause}enterRule(t){t.enterLikeClause&&t.enterLikeClause(this)}exitRule(t){t.exitLikeClause&&t.exitLikeClause(this)}accept(t){return t.visitLikeClause?t.visitLikeClause(this):t.visitChildren(this)}}class Ke extends R{constructor(t,s){super(t,s)}propertyAssignments(){return this.getRuleContext(0,Ln)}get ruleIndex(){return e.RULE_properties}enterRule(t){t.enterProperties&&t.enterProperties(this)}exitRule(t){t.exitProperties&&t.exitProperties(this)}accept(t){return t.visitProperties?t.visitProperties(this):t.visitChildren(this)}}class Ln extends R{constructor(t,s){super(t,s)}property(t){return t===void 0?this.getRuleContexts(Ur):this.getRuleContext(t,Ur)}get ruleIndex(){return e.RULE_propertyAssignments}enterRule(t){t.enterPropertyAssignments&&t.enterPropertyAssignments(this)}exitRule(t){t.exitPropertyAssignments&&t.exitPropertyAssignments(this)}accept(t){return t.visitPropertyAssignments?t.visitPropertyAssignments(this):t.visitChildren(this)}}class Ur extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}EQ(){return this.getToken(e.EQ,0)}propertyValue(){return this.getRuleContext(0,In)}get ruleIndex(){return e.RULE_property}enterRule(t){t.enterProperty&&t.enterProperty(this)}exitRule(t){t.exitProperty&&t.exitProperty(this)}accept(t){return t.visitProperty?t.visitProperty(this):t.visitChildren(this)}}class In extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_propertyValue}copyFrom(t){super.copyFrom(t)}}class i7 extends In{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}enterRule(t){t.enterDefaultPropertyValue&&t.enterDefaultPropertyValue(this)}exitRule(t){t.exitDefaultPropertyValue&&t.exitDefaultPropertyValue(this)}accept(t){return t.visitDefaultPropertyValue?t.visitDefaultPropertyValue(this):t.visitChildren(this)}}class n7 extends In{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterNonDefaultPropertyValue&&t.enterNonDefaultPropertyValue(this)}exitRule(t){t.exitNonDefaultPropertyValue&&t.exitNonDefaultPropertyValue(this)}accept(t){return t.visitNonDefaultPropertyValue?t.visitNonDefaultPropertyValue(this):t.visitChildren(this)}}class wr extends R{constructor(t,s){super(t,s)}queryTerm(){return this.getRuleContext(0,Ge)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(Ft):this.getRuleContext(t,Ft)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}rowCount(t){return t===void 0?this.getRuleContexts(Tn):this.getRuleContext(t,Tn)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_FETCH(){return this.getToken(e.KW_FETCH,0)}limitRowCount(){return this.getRuleContext(0,ea)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_NEXT(){return this.getToken(e.KW_NEXT,0)}KW_ROW(t){return t===void 0?this.getTokens(e.KW_ROW):this.getToken(e.KW_ROW,t)}KW_ROWS(t){return t===void 0?this.getTokens(e.KW_ROWS):this.getToken(e.KW_ROWS,t)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_TIES(){return this.getToken(e.KW_TIES,0)}get ruleIndex(){return e.RULE_queryNoWith}enterRule(t){t.enterQueryNoWith&&t.enterQueryNoWith(this)}exitRule(t){t.exitQueryNoWith&&t.exitQueryNoWith(this)}accept(t){return t.visitQueryNoWith?t.visitQueryNoWith(this):t.visitChildren(this)}}class ea extends R{constructor(t,s){super(t,s)}KW_ALL(){return this.getToken(e.KW_ALL,0)}rowCount(){return this.getRuleContext(0,Tn)}get ruleIndex(){return e.RULE_limitRowCount}enterRule(t){t.enterLimitRowCount&&t.enterLimitRowCount(this)}exitRule(t){t.exitLimitRowCount&&t.exitLimitRowCount(this)}accept(t){return t.visitLimitRowCount?t.visitLimitRowCount(this):t.visitChildren(this)}}class Tn extends R{constructor(t,s){super(t,s)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}QUESTION_MARK(){return this.getToken(e.QUESTION_MARK,0)}get ruleIndex(){return e.RULE_rowCount}enterRule(t){t.enterRowCount&&t.enterRowCount(this)}exitRule(t){t.exitRowCount&&t.exitRowCount(this)}accept(t){return t.visitRowCount?t.visitRowCount(this):t.visitChildren(this)}}class Ge extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_queryTerm}copyFrom(t){super.copyFrom(t)}}class r7 extends Ge{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryPrimary(){return this.getRuleContext(0,G1)}enterRule(t){t.enterQueryTermDefault&&t.enterQueryTermDefault(this)}exitRule(t){t.exitQueryTermDefault&&t.exitQueryTermDefault(this)}accept(t){return t.visitQueryTermDefault?t.visitQueryTermDefault(this):t.visitChildren(this)}}class sa extends Ge{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryTerm(t){return t===void 0?this.getRuleContexts(Ge):this.getRuleContext(t,Ge)}KW_INTERSECT(){return this.getToken(e.KW_INTERSECT,0)}setQuantifier(){return this.getRuleContext(0,Y1)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_EXCEPT(){return this.getToken(e.KW_EXCEPT,0)}enterRule(t){t.enterSetOperation&&t.enterSetOperation(this)}exitRule(t){t.exitSetOperation&&t.exitSetOperation(this)}accept(t){return t.visitSetOperation?t.visitSetOperation(this):t.visitChildren(this)}}class G1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_queryPrimary}copyFrom(t){super.copyFrom(t)}}class h7 extends G1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryNoWith(){return this.getRuleContext(0,wr)}enterRule(t){t.enterSubquery&&t.enterSubquery(this)}exitRule(t){t.exitSubquery&&t.exitSubquery(this)}accept(t){return t.visitSubquery?t.visitSubquery(this):t.visitChildren(this)}}class a7 extends G1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecification(){return this.getRuleContext(0,ia)}enterRule(t){t.enterQueryPrimaryDefault&&t.enterQueryPrimaryDefault(this)}exitRule(t){t.exitQueryPrimaryDefault&&t.exitQueryPrimaryDefault(this)}accept(t){return t.visitQueryPrimaryDefault?t.visitQueryPrimaryDefault(this):t.visitChildren(this)}}class o7 extends G1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}enterRule(t){t.enterTable&&t.enterTable(this)}exitRule(t){t.exitTable&&t.exitTable(this)}accept(t){return t.visitTable?t.visitTable(this):t.visitChildren(this)}}class c7 extends G1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}enterRule(t){t.enterInlineTable&&t.enterInlineTable(this)}exitRule(t){t.exitInlineTable&&t.exitInlineTable(this)}accept(t){return t.visitInlineTable?t.visitInlineTable(this):t.visitChildren(this)}}class Ft extends R{constructor(t,s){super(t,s)}columnRef(){return this.getRuleContext(0,jt)}expression(){return this.getRuleContext(0,y)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}get ruleIndex(){return e.RULE_sortItem}enterRule(t){t.enterSortItem&&t.enterSortItem(this)}exitRule(t){t.exitSortItem&&t.exitSortItem(this)}accept(t){return t.visitSortItem?t.visitSortItem(this):t.visitChildren(this)}}class ia extends R{constructor(t,s){super(t,s)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}selectItem(t){return t===void 0?this.getRuleContexts(ys):this.getRuleContext(t,ys)}setQuantifier(){return this.getRuleContext(0,Y1)}KW_FROM(){return this.getToken(e.KW_FROM,0)}relation(t){return t===void 0?this.getRuleContexts(Ee):this.getRuleContext(t,Ee)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_BY(){return this.getToken(e.KW_BY,0)}groupBy(){return this.getRuleContext(0,na)}KW_HAVING(){return this.getToken(e.KW_HAVING,0)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}windowDefinition(t){return t===void 0?this.getRuleContexts(Dr):this.getRuleContext(t,Dr)}booleanExpression(t){return t===void 0?this.getRuleContexts(Rt):this.getRuleContext(t,Rt)}get ruleIndex(){return e.RULE_querySpecification}enterRule(t){t.enterQuerySpecification&&t.enterQuerySpecification(this)}exitRule(t){t.exitQuerySpecification&&t.exitQuerySpecification(this)}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}}class na extends R{constructor(t,s){super(t,s)}groupingElement(t){return t===void 0?this.getRuleContexts(R1):this.getRuleContext(t,R1)}setQuantifier(){return this.getRuleContext(0,Y1)}get ruleIndex(){return e.RULE_groupBy}enterRule(t){t.enterGroupBy&&t.enterGroupBy(this)}exitRule(t){t.exitGroupBy&&t.exitGroupBy(this)}accept(t){return t.visitGroupBy?t.visitGroupBy(this):t.visitChildren(this)}}class R1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_groupingElement}copyFrom(t){super.copyFrom(t)}}class u7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}groupingSet(t){return t===void 0?this.getRuleContexts(Ye):this.getRuleContext(t,Ye)}enterRule(t){t.enterMultipleGroupingSets&&t.enterMultipleGroupingSets(this)}exitRule(t){t.exitMultipleGroupingSets&&t.exitMultipleGroupingSets(this)}accept(t){return t.visitMultipleGroupingSets?t.visitMultipleGroupingSets(this):t.visitChildren(this)}}class l7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}groupingSet(){return this.getRuleContext(0,Ye)}enterRule(t){t.enterSingleGroupingSet&&t.enterSingleGroupingSet(this)}exitRule(t){t.exitSingleGroupingSet&&t.exitSingleGroupingSet(this)}accept(t){return t.visitSingleGroupingSet?t.visitSingleGroupingSet(this):t.visitChildren(this)}}class E7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CUBE(){return this.getToken(e.KW_CUBE,0)}groupingSet(t){return t===void 0?this.getRuleContexts(Ye):this.getRuleContext(t,Ye)}enterRule(t){t.enterCube&&t.enterCube(this)}exitRule(t){t.exitCube&&t.exitCube(this)}accept(t){return t.visitCube?t.visitCube(this):t.visitChildren(this)}}class d7 extends R1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLLUP(){return this.getToken(e.KW_ROLLUP,0)}groupingSet(t){return t===void 0?this.getRuleContexts(Ye):this.getRuleContext(t,Ye)}enterRule(t){t.enterRollup&&t.enterRollup(this)}exitRule(t){t.exitRollup&&t.exitRollup(this)}accept(t){return t.visitRollup?t.visitRollup(this):t.visitChildren(this)}}class Ye extends R{constructor(t,s){super(t,s)}groupingTerm(t){return t===void 0?this.getRuleContexts(vr):this.getRuleContext(t,vr)}get ruleIndex(){return e.RULE_groupingSet}enterRule(t){t.enterGroupingSet&&t.enterGroupingSet(this)}exitRule(t){t.exitGroupingSet&&t.exitGroupingSet(this)}accept(t){return t.visitGroupingSet?t.visitGroupingSet(this):t.visitChildren(this)}}class vr extends R{constructor(t,s){super(t,s)}columnRef(){return this.getRuleContext(0,jt)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return e.RULE_groupingTerm}enterRule(t){t.enterGroupingTerm&&t.enterGroupingTerm(this)}exitRule(t){t.exitGroupingTerm&&t.exitGroupingTerm(this)}accept(t){return t.visitGroupingTerm?t.visitGroupingTerm(this):t.visitChildren(this)}}class Dr extends R{constructor(t,s){super(t,s)}KW_AS(){return this.getToken(e.KW_AS,0)}windowSpecification(){return this.getRuleContext(0,br)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_windowDefinition}enterRule(t){t.enterWindowDefinition&&t.enterWindowDefinition(this)}exitRule(t){t.exitWindowDefinition&&t.exitWindowDefinition(this)}accept(t){return t.visitWindowDefinition?t.visitWindowDefinition(this):t.visitChildren(this)}}class br extends R{constructor(t,s){super(t,s),this._partition=[]}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}sortItem(t){return t===void 0?this.getRuleContexts(Ft):this.getRuleContext(t,Ft)}windowFrame(){return this.getRuleContext(0,wa)}identifier(){return this.getRuleContext(0,C)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}get ruleIndex(){return e.RULE_windowSpecification}enterRule(t){t.enterWindowSpecification&&t.enterWindowSpecification(this)}exitRule(t){t.exitWindowSpecification&&t.exitWindowSpecification(this)}accept(t){return t.visitWindowSpecification?t.visitWindowSpecification(this):t.visitChildren(this)}}class Mr extends R{constructor(t,s){super(t,s)}KW_AS(){return this.getToken(e.KW_AS,0)}query(){return this.getRuleContext(0,qt)}identifier(){return this.getRuleContext(0,C)}columnAliases(){return this.getRuleContext(0,m1)}get ruleIndex(){return e.RULE_namedQuery}enterRule(t){t.enterNamedQuery&&t.enterNamedQuery(this)}exitRule(t){t.exitNamedQuery&&t.exitNamedQuery(this)}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}}class Y1 extends R{constructor(t,s){super(t,s)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}get ruleIndex(){return e.RULE_setQuantifier}enterRule(t){t.enterSetQuantifier&&t.enterSetQuantifier(this)}exitRule(t){t.exitSetQuantifier&&t.exitSetQuantifier(this)}accept(t){return t.visitSetQuantifier?t.visitSetQuantifier(this):t.visitChildren(this)}}class ys extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_selectItem}copyFrom(t){super.copyFrom(t)}}class ra extends ys{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,M)}ASTERISK(){return this.getToken(e.ASTERISK,0)}KW_AS(){return this.getToken(e.KW_AS,0)}columnAliases(){return this.getRuleContext(0,m1)}enterRule(t){t.enterSelectAll&&t.enterSelectAll(this)}exitRule(t){t.exitSelectAll&&t.exitSelectAll(this)}accept(t){return t.visitSelectAll?t.visitSelectAll(this):t.visitChildren(this)}}class f7 extends ys{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnRef(){return this.getRuleContext(0,jt)}expression(){return this.getRuleContext(0,y)}identifier(){return this.getRuleContext(0,C)}KW_AS(){return this.getToken(e.KW_AS,0)}enterRule(t){t.enterSelectSingle&&t.enterSelectSingle(this)}exitRule(t){t.exitSelectSingle&&t.exitSelectSingle(this)}accept(t){return t.visitSelectSingle?t.visitSelectSingle(this):t.visitChildren(this)}}class Ee extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_relation}copyFrom(t){super.copyFrom(t)}}class W7 extends Ee{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}sampledRelation(){return this.getRuleContext(0,Fr)}enterRule(t){t.enterRelationDefault&&t.enterRelationDefault(this)}exitRule(t){t.exitRelationDefault&&t.exitRelationDefault(this)}accept(t){return t.visitRelationDefault?t.visitRelationDefault(this):t.visitChildren(this)}}class R7 extends Ee{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}relation(t){return t===void 0?this.getRuleContexts(Ee):this.getRuleContext(t,Ee)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}KW_JOIN(){return this.getToken(e.KW_JOIN,0)}joinType(){return this.getRuleContext(0,ha)}joinCriteria(){return this.getRuleContext(0,aa)}KW_NATURAL(){return this.getToken(e.KW_NATURAL,0)}sampledRelation(){return this.getRuleContext(0,Fr)}enterRule(t){t.enterJoinRelation&&t.enterJoinRelation(this)}exitRule(t){t.exitJoinRelation&&t.exitJoinRelation(this)}accept(t){return t.visitJoinRelation?t.visitJoinRelation(this):t.visitChildren(this)}}class ha extends R{constructor(t,s){super(t,s)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_LEFT(){return this.getToken(e.KW_LEFT,0)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_RIGHT(){return this.getToken(e.KW_RIGHT,0)}KW_FULL(){return this.getToken(e.KW_FULL,0)}get ruleIndex(){return e.RULE_joinType}enterRule(t){t.enterJoinType&&t.enterJoinType(this)}exitRule(t){t.exitJoinType&&t.exitJoinType(this)}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}}class aa extends R{constructor(t,s){super(t,s)}KW_ON(){return this.getToken(e.KW_ON,0)}booleanExpression(){return this.getRuleContext(0,Rt)}KW_USING(){return this.getToken(e.KW_USING,0)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_joinCriteria}enterRule(t){t.enterJoinCriteria&&t.enterJoinCriteria(this)}exitRule(t){t.exitJoinCriteria&&t.exitJoinCriteria(this)}accept(t){return t.visitJoinCriteria?t.visitJoinCriteria(this):t.visitChildren(this)}}class Fr extends R{constructor(t,s){super(t,s)}patternRecognition(){return this.getRuleContext(0,Ea)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}sampleType(){return this.getRuleContext(0,oa)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return e.RULE_sampledRelation}enterRule(t){t.enterSampledRelation&&t.enterSampledRelation(this)}exitRule(t){t.exitSampledRelation&&t.exitSampledRelation(this)}accept(t){return t.visitSampledRelation?t.visitSampledRelation(this):t.visitChildren(this)}}class oa extends R{constructor(t,s){super(t,s)}KW_BERNOULLI(){return this.getToken(e.KW_BERNOULLI,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}get ruleIndex(){return e.RULE_sampleType}enterRule(t){t.enterSampleType&&t.enterSampleType(this)}exitRule(t){t.exitSampleType&&t.exitSampleType(this)}accept(t){return t.visitSampleType?t.visitSampleType(this):t.visitChildren(this)}}class ca extends R{constructor(t,s){super(t,s)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}get ruleIndex(){return e.RULE_trimsSpecification}enterRule(t){t.enterTrimsSpecification&&t.enterTrimsSpecification(this)}exitRule(t){t.exitTrimsSpecification&&t.exitTrimsSpecification(this)}accept(t){return t.visitTrimsSpecification?t.visitTrimsSpecification(this):t.visitChildren(this)}}class ua extends R{constructor(t,s){super(t,s)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}listaggCountIndication(){return this.getRuleContext(0,la)}string(){return this.getRuleContext(0,Q)}get ruleIndex(){return e.RULE_listAggOverflowBehavior}enterRule(t){t.enterListAggOverflowBehavior&&t.enterListAggOverflowBehavior(this)}exitRule(t){t.exitListAggOverflowBehavior&&t.exitListAggOverflowBehavior(this)}accept(t){return t.visitListAggOverflowBehavior?t.visitListAggOverflowBehavior(this):t.visitChildren(this)}}class la extends R{constructor(t,s){super(t,s)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_COUNT(){return this.getToken(e.KW_COUNT,0)}KW_WITHOUT(){return this.getToken(e.KW_WITHOUT,0)}get ruleIndex(){return e.RULE_listaggCountIndication}enterRule(t){t.enterListaggCountIndication&&t.enterListaggCountIndication(this)}exitRule(t){t.exitListaggCountIndication&&t.exitListaggCountIndication(this)}accept(t){return t.visitListaggCountIndication?t.visitListaggCountIndication(this):t.visitChildren(this)}}class Ea extends R{constructor(t,s){super(t,s),this._partition=[]}aliasedRelation(){return this.getRuleContext(0,Vr)}KW_MATCH_RECOGNIZE(){return this.getToken(e.KW_MATCH_RECOGNIZE,0)}KW_PATTERN(){return this.getToken(e.KW_PATTERN,0)}rowPattern(){return this.getRuleContext(0,gt)}KW_DEFINE(){return this.getToken(e.KW_DEFINE,0)}variableDefinition(t){return t===void 0?this.getRuleContexts(vs):this.getRuleContext(t,vs)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}sortItem(t){return t===void 0?this.getRuleContexts(Ft):this.getRuleContext(t,Ft)}KW_MEASURES(){return this.getToken(e.KW_MEASURES,0)}measureDefinition(t){return t===void 0?this.getRuleContexts(Us):this.getRuleContext(t,Us)}rowsPerMatch(){return this.getRuleContext(0,da)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_MATCH(){return this.getToken(e.KW_MATCH,0)}skipTo(){return this.getRuleContext(0,Hr)}KW_SUBSET(){return this.getToken(e.KW_SUBSET,0)}subsetDefinition(t){return t===void 0?this.getRuleContexts(ws):this.getRuleContext(t,ws)}identifier(){return this.getRuleContext(0,C)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_INITIAL(){return this.getToken(e.KW_INITIAL,0)}KW_SEEK(){return this.getToken(e.KW_SEEK,0)}KW_AS(){return this.getToken(e.KW_AS,0)}columnAliases(){return this.getRuleContext(0,m1)}get ruleIndex(){return e.RULE_patternRecognition}enterRule(t){t.enterPatternRecognition&&t.enterPatternRecognition(this)}exitRule(t){t.exitPatternRecognition&&t.exitPatternRecognition(this)}accept(t){return t.visitPatternRecognition?t.visitPatternRecognition(this):t.visitChildren(this)}}class Us extends R{constructor(t,s){super(t,s)}expression(){return this.getRuleContext(0,y)}KW_AS(){return this.getToken(e.KW_AS,0)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_measureDefinition}enterRule(t){t.enterMeasureDefinition&&t.enterMeasureDefinition(this)}exitRule(t){t.exitMeasureDefinition&&t.exitMeasureDefinition(this)}accept(t){return t.visitMeasureDefinition?t.visitMeasureDefinition(this):t.visitChildren(this)}}class da extends R{constructor(t,s){super(t,s)}KW_ONE(){return this.getToken(e.KW_ONE,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_PER(){return this.getToken(e.KW_PER,0)}KW_MATCH(){return this.getToken(e.KW_MATCH,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}emptyMatchHandling(){return this.getRuleContext(0,fa)}get ruleIndex(){return e.RULE_rowsPerMatch}enterRule(t){t.enterRowsPerMatch&&t.enterRowsPerMatch(this)}exitRule(t){t.exitRowsPerMatch&&t.exitRowsPerMatch(this)}accept(t){return t.visitRowsPerMatch?t.visitRowsPerMatch(this):t.visitChildren(this)}}class fa extends R{constructor(t,s){super(t,s)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_MATCHES(){return this.getToken(e.KW_MATCHES,0)}KW_OMIT(){return this.getToken(e.KW_OMIT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_UNMATCHED(){return this.getToken(e.KW_UNMATCHED,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}get ruleIndex(){return e.RULE_emptyMatchHandling}enterRule(t){t.enterEmptyMatchHandling&&t.enterEmptyMatchHandling(this)}exitRule(t){t.exitEmptyMatchHandling&&t.exitEmptyMatchHandling(this)}accept(t){return t.visitEmptyMatchHandling?t.visitEmptyMatchHandling(this):t.visitChildren(this)}}class Hr extends R{constructor(t,s){super(t,s)}KW_TO(){return this.getToken(e.KW_TO,0)}KW_NEXT(){return this.getToken(e.KW_NEXT,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_PAST(){return this.getToken(e.KW_PAST,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_skipTo}enterRule(t){t.enterSkipTo&&t.enterSkipTo(this)}exitRule(t){t.exitSkipTo&&t.exitSkipTo(this)}accept(t){return t.visitSkipTo?t.visitSkipTo(this):t.visitChildren(this)}}class ws extends R{constructor(t,s){super(t,s),this._union=[]}EQ(){return this.getToken(e.EQ,0)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_subsetDefinition}enterRule(t){t.enterSubsetDefinition&&t.enterSubsetDefinition(this)}exitRule(t){t.exitSubsetDefinition&&t.exitSubsetDefinition(this)}accept(t){return t.visitSubsetDefinition?t.visitSubsetDefinition(this):t.visitChildren(this)}}class vs extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}KW_AS(){return this.getToken(e.KW_AS,0)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return e.RULE_variableDefinition}enterRule(t){t.enterVariableDefinition&&t.enterVariableDefinition(this)}exitRule(t){t.exitVariableDefinition&&t.exitVariableDefinition(this)}accept(t){return t.visitVariableDefinition?t.visitVariableDefinition(this):t.visitChildren(this)}}class Vr extends R{constructor(t,s){super(t,s)}relationPrimary(){return this.getRuleContext(0,Ae)}identifier(){return this.getRuleContext(0,C)}KW_AS(){return this.getToken(e.KW_AS,0)}columnAliases(){return this.getRuleContext(0,m1)}get ruleIndex(){return e.RULE_aliasedRelation}enterRule(t){t.enterAliasedRelation&&t.enterAliasedRelation(this)}exitRule(t){t.exitAliasedRelation&&t.exitAliasedRelation(this)}accept(t){return t.visitAliasedRelation?t.visitAliasedRelation(this):t.visitChildren(this)}}class Wa extends R{constructor(t,s){super(t,s)}columnNameCreate(t){return t===void 0?this.getRuleContexts(Zs):this.getRuleContext(t,Zs)}get ruleIndex(){return e.RULE_columnListCreate}enterRule(t){t.enterColumnListCreate&&t.enterColumnListCreate(this)}exitRule(t){t.exitColumnListCreate&&t.exitColumnListCreate(this)}accept(t){return t.visitColumnListCreate?t.visitColumnListCreate(this):t.visitChildren(this)}}class Ra extends R{constructor(t,s){super(t,s)}columnRef(t){return t===void 0?this.getRuleContexts(jt):this.getRuleContext(t,jt)}get ruleIndex(){return e.RULE_columnList}enterRule(t){t.enterColumnList&&t.enterColumnList(this)}exitRule(t){t.exitColumnList&&t.exitColumnList(this)}accept(t){return t.visitColumnList?t.visitColumnList(this):t.visitChildren(this)}}class m1 extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_columnAliases}enterRule(t){t.enterColumnAliases&&t.enterColumnAliases(this)}exitRule(t){t.exitColumnAliases&&t.exitColumnAliases(this)}accept(t){return t.visitColumnAliases?t.visitColumnAliases(this):t.visitChildren(this)}}class Ae extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_relationPrimary}copyFrom(t){super.copyFrom(t)}}class m7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,qt)}enterRule(t){t.enterSubqueryRelation&&t.enterSubqueryRelation(this)}exitRule(t){t.exitSubqueryRelation&&t.exitSubqueryRelation(this)}accept(t){return t.visitSubqueryRelation?t.visitSubqueryRelation(this):t.visitChildren(this)}}class p7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_JSON_TABLE(){return this.getToken(e.KW_JSON_TABLE,0)}jsonPathInvocation(){return this.getRuleContext(0,Ds)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}jsonTableColumn(t){return t===void 0?this.getRuleContexts(ge):this.getRuleContext(t,ge)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}jsonTableSpecificPlan(){return this.getRuleContext(0,p1)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}jsonTableDefaultPlan(){return this.getRuleContext(0,ma)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_ERROR(t){return t===void 0?this.getTokens(e.KW_ERROR):this.getToken(e.KW_ERROR,t)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}enterRule(t){t.enterJsonTable&&t.enterJsonTable(this)}exitRule(t){t.exitJsonTable&&t.exitJsonTable(this)}accept(t){return t.visitJsonTable?t.visitJsonTable(this):t.visitChildren(this)}}class _7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}relation(){return this.getRuleContext(0,Ee)}enterRule(t){t.enterParenthesizedRelation&&t.enterParenthesizedRelation(this)}exitRule(t){t.exitParenthesizedRelation&&t.exitParenthesizedRelation(this)}accept(t){return t.visitParenthesizedRelation?t.visitParenthesizedRelation(this):t.visitChildren(this)}}class K7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNNEST(){return this.getToken(e.KW_UNNEST,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_ORDINALITY(){return this.getToken(e.KW_ORDINALITY,0)}enterRule(t){t.enterUnnest&&t.enterUnnest(this)}exitRule(t){t.exitUnnest&&t.exitUnnest(this)}accept(t){return t.visitUnnest?t.visitUnnest(this):t.visitChildren(this)}}class A7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableFunctionCall(){return this.getRuleContext(0,pa)}enterRule(t){t.enterTableFunctionInvocation&&t.enterTableFunctionInvocation(this)}exitRule(t){t.exitTableFunctionInvocation&&t.exitTableFunctionInvocation(this)}accept(t){return t.visitTableFunctionInvocation?t.visitTableFunctionInvocation(this):t.visitChildren(this)}}class g7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}query(){return this.getRuleContext(0,qt)}enterRule(t){t.enterLateral&&t.enterLateral(this)}exitRule(t){t.exitLateral&&t.exitLateral(this)}accept(t){return t.visitLateral?t.visitLateral(this):t.visitChildren(this)}}class C7 extends Ae{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableOrViewName(){return this.getRuleContext(0,Dn)}queryPeriod(){return this.getRuleContext(0,Ya)}enterRule(t){t.enterTableName&&t.enterTableName(this)}exitRule(t){t.exitTableName&&t.exitTableName(this)}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}}class ge extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_jsonTableColumn}copyFrom(t){super.copyFrom(t)}}class x7 extends ge{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}type(){return this.getRuleContext(0,tt)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}jsonRepresentation(){return this.getRuleContext(0,J1)}KW_PATH(){return this.getToken(e.KW_PATH,0)}string(){return this.getRuleContext(0,Q)}jsonQueryWrapperBehavior(){return this.getRuleContext(0,jr)}KW_WRAPPER(){return this.getToken(e.KW_WRAPPER,0)}KW_QUOTES(){return this.getToken(e.KW_QUOTES,0)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}KW_KEEP(){return this.getToken(e.KW_KEEP,0)}KW_OMIT(){return this.getToken(e.KW_OMIT,0)}jsonQueryBehavior(t){return t===void 0?this.getRuleContexts(Ms):this.getRuleContext(t,Ms)}KW_SCALAR(){return this.getToken(e.KW_SCALAR,0)}KW_TEXT_STRING(){return this.getToken(e.KW_TEXT_STRING,0)}enterRule(t){t.enterQueryColumn&&t.enterQueryColumn(this)}exitRule(t){t.exitQueryColumn&&t.exitQueryColumn(this)}accept(t){return t.visitQueryColumn?t.visitQueryColumn(this):t.visitChildren(this)}}class N7 extends ge{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NESTED(){return this.getToken(e.KW_NESTED,0)}string(){return this.getRuleContext(0,Q)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}jsonTableColumn(t){return t===void 0?this.getRuleContexts(ge):this.getRuleContext(t,ge)}KW_PATH(){return this.getToken(e.KW_PATH,0)}KW_AS(){return this.getToken(e.KW_AS,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterNestedColumns&&t.enterNestedColumns(this)}exitRule(t){t.exitNestedColumns&&t.exitNestedColumns(this)}accept(t){return t.visitNestedColumns?t.visitNestedColumns(this):t.visitChildren(this)}}class L7 extends ge{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}type(){return this.getRuleContext(0,tt)}KW_PATH(){return this.getToken(e.KW_PATH,0)}string(){return this.getRuleContext(0,Q)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}jsonValueBehavior(t){return t===void 0?this.getRuleContexts(bs):this.getRuleContext(t,bs)}enterRule(t){t.enterValueColumn&&t.enterValueColumn(this)}exitRule(t){t.exitValueColumn&&t.exitValueColumn(this)}accept(t){return t.visitValueColumn?t.visitValueColumn(this):t.visitChildren(this)}}class I7 extends ge{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}KW_FOR(){return this.getToken(e.KW_FOR,0)}KW_ORDINALITY(){return this.getToken(e.KW_ORDINALITY,0)}enterRule(t){t.enterOrdinalityColumn&&t.enterOrdinalityColumn(this)}exitRule(t){t.exitOrdinalityColumn&&t.exitOrdinalityColumn(this)}accept(t){return t.visitOrdinalityColumn?t.visitOrdinalityColumn(this):t.visitChildren(this)}}class p1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_jsonTableSpecificPlan}copyFrom(t){super.copyFrom(t)}}class T7 extends p1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}planPrimary(t){return t===void 0?this.getRuleContexts(Q1):this.getRuleContext(t,Q1)}KW_CROSS(t){return t===void 0?this.getTokens(e.KW_CROSS):this.getToken(e.KW_CROSS,t)}enterRule(t){t.enterCrossPlan&&t.enterCrossPlan(this)}exitRule(t){t.exitCrossPlan&&t.exitCrossPlan(this)}accept(t){return t.visitCrossPlan?t.visitCrossPlan(this):t.visitChildren(this)}}class O7 extends p1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}jsonTablePathName(){return this.getRuleContext(0,On)}planPrimary(){return this.getRuleContext(0,Q1)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_INNER(){return this.getToken(e.KW_INNER,0)}enterRule(t){t.enterJoinPlan&&t.enterJoinPlan(this)}exitRule(t){t.exitJoinPlan&&t.exitJoinPlan(this)}accept(t){return t.visitJoinPlan?t.visitJoinPlan(this):t.visitChildren(this)}}class k7 extends p1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}jsonTablePathName(){return this.getRuleContext(0,On)}enterRule(t){t.enterLeafPlan&&t.enterLeafPlan(this)}exitRule(t){t.exitLeafPlan&&t.exitLeafPlan(this)}accept(t){return t.visitLeafPlan?t.visitLeafPlan(this):t.visitChildren(this)}}class S7 extends p1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}planPrimary(t){return t===void 0?this.getRuleContexts(Q1):this.getRuleContext(t,Q1)}KW_UNION(t){return t===void 0?this.getTokens(e.KW_UNION):this.getToken(e.KW_UNION,t)}enterRule(t){t.enterUnionPlan&&t.enterUnionPlan(this)}exitRule(t){t.exitUnionPlan&&t.exitUnionPlan(this)}accept(t){return t.visitUnionPlan?t.visitUnionPlan(this):t.visitChildren(this)}}class On extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_jsonTablePathName}enterRule(t){t.enterJsonTablePathName&&t.enterJsonTablePathName(this)}exitRule(t){t.exitJsonTablePathName&&t.exitJsonTablePathName(this)}accept(t){return t.visitJsonTablePathName?t.visitJsonTablePathName(this):t.visitChildren(this)}}class Q1 extends R{constructor(t,s){super(t,s)}jsonTablePathName(){return this.getRuleContext(0,On)}jsonTableSpecificPlan(){return this.getRuleContext(0,p1)}get ruleIndex(){return e.RULE_planPrimary}enterRule(t){t.enterPlanPrimary&&t.enterPlanPrimary(this)}exitRule(t){t.exitPlanPrimary&&t.exitPlanPrimary(this)}accept(t){return t.visitPlanPrimary?t.visitPlanPrimary(this):t.visitChildren(this)}}class ma extends R{constructor(t,s){super(t,s)}KW_OUTER(){return this.getToken(e.KW_OUTER,0)}KW_INNER(){return this.getToken(e.KW_INNER,0)}KW_UNION(){return this.getToken(e.KW_UNION,0)}KW_CROSS(){return this.getToken(e.KW_CROSS,0)}get ruleIndex(){return e.RULE_jsonTableDefaultPlan}enterRule(t){t.enterJsonTableDefaultPlan&&t.enterJsonTableDefaultPlan(this)}exitRule(t){t.exitJsonTableDefaultPlan&&t.exitJsonTableDefaultPlan(this)}accept(t){return t.visitJsonTableDefaultPlan?t.visitJsonTableDefaultPlan(this):t.visitChildren(this)}}class pa extends R{constructor(t,s){super(t,s)}functionName(){return this.getRuleContext(0,K1)}tableFunctionArgument(t){return t===void 0?this.getRuleContexts(Br):this.getRuleContext(t,Br)}KW_COPARTITION(){return this.getToken(e.KW_COPARTITION,0)}copartitionTables(t){return t===void 0?this.getRuleContexts(Yr):this.getRuleContext(t,Yr)}get ruleIndex(){return e.RULE_tableFunctionCall}enterRule(t){t.enterTableFunctionCall&&t.enterTableFunctionCall(this)}exitRule(t){t.exitTableFunctionCall&&t.exitTableFunctionCall(this)}accept(t){return t.visitTableFunctionCall?t.visitTableFunctionCall(this):t.visitChildren(this)}}class Br extends R{constructor(t,s){super(t,s)}tableArgument(){return this.getRuleContext(0,_a)}descriptorArgument(){return this.getRuleContext(0,Ka)}expression(){return this.getRuleContext(0,y)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_tableFunctionArgument}enterRule(t){t.enterTableFunctionArgument&&t.enterTableFunctionArgument(this)}exitRule(t){t.exitTableFunctionArgument&&t.exitTableFunctionArgument(this)}accept(t){return t.visitTableFunctionArgument?t.visitTableFunctionArgument(this):t.visitChildren(this)}}class _a extends R{constructor(t,s){super(t,s)}tableArgumentRelation(){return this.getRuleContext(0,kn)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_BY(t){return t===void 0?this.getTokens(e.KW_BY):this.getToken(e.KW_BY,t)}KW_PRUNE(){return this.getToken(e.KW_PRUNE,0)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_KEEP(){return this.getToken(e.KW_KEEP,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}sortItem(t){return t===void 0?this.getRuleContexts(Ft):this.getRuleContext(t,Ft)}get ruleIndex(){return e.RULE_tableArgument}enterRule(t){t.enterTableArgument&&t.enterTableArgument(this)}exitRule(t){t.exitTableArgument&&t.exitTableArgument(this)}accept(t){return t.visitTableArgument?t.visitTableArgument(this):t.visitChildren(this)}}class kn extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_tableArgumentRelation}copyFrom(t){super.copyFrom(t)}}class y7 extends kn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}query(){return this.getRuleContext(0,qt)}identifier(){return this.getRuleContext(0,C)}KW_AS(){return this.getToken(e.KW_AS,0)}columnAliases(){return this.getRuleContext(0,m1)}enterRule(t){t.enterTableArgumentQuery&&t.enterTableArgumentQuery(this)}exitRule(t){t.exitTableArgumentQuery&&t.exitTableArgumentQuery(this)}accept(t){return t.visitTableArgumentQuery?t.visitTableArgumentQuery(this):t.visitChildren(this)}}class U7 extends kn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}tableRef(){return this.getRuleContext(0,ot)}identifier(){return this.getRuleContext(0,C)}KW_AS(){return this.getToken(e.KW_AS,0)}columnAliases(){return this.getRuleContext(0,m1)}enterRule(t){t.enterTableArgumentTable&&t.enterTableArgumentTable(this)}exitRule(t){t.exitTableArgumentTable&&t.exitTableArgumentTable(this)}accept(t){return t.visitTableArgumentTable?t.visitTableArgumentTable(this):t.visitChildren(this)}}class Ka extends R{constructor(t,s){super(t,s)}KW_DESCRIPTOR(){return this.getToken(e.KW_DESCRIPTOR,0)}descriptorField(t){return t===void 0?this.getRuleContexts(Gr):this.getRuleContext(t,Gr)}KW_CAST(){return this.getToken(e.KW_CAST,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_AS(){return this.getToken(e.KW_AS,0)}get ruleIndex(){return e.RULE_descriptorArgument}enterRule(t){t.enterDescriptorArgument&&t.enterDescriptorArgument(this)}exitRule(t){t.exitDescriptorArgument&&t.exitDescriptorArgument(this)}accept(t){return t.visitDescriptorArgument?t.visitDescriptorArgument(this):t.visitChildren(this)}}class Gr extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}type(){return this.getRuleContext(0,tt)}get ruleIndex(){return e.RULE_descriptorField}enterRule(t){t.enterDescriptorField&&t.enterDescriptorField(this)}exitRule(t){t.exitDescriptorField&&t.exitDescriptorField(this)}accept(t){return t.visitDescriptorField?t.visitDescriptorField(this):t.visitChildren(this)}}class Yr extends R{constructor(t,s){super(t,s)}qualifiedName(t){return t===void 0?this.getRuleContexts(te):this.getRuleContext(t,te)}get ruleIndex(){return e.RULE_copartitionTables}enterRule(t){t.enterCopartitionTables&&t.enterCopartitionTables(this)}exitRule(t){t.exitCopartitionTables&&t.exitCopartitionTables(this)}accept(t){return t.visitCopartitionTables?t.visitCopartitionTables(this):t.visitChildren(this)}}class y extends R{constructor(t,s){super(t,s)}booleanExpression(){return this.getRuleContext(0,Rt)}get ruleIndex(){return e.RULE_expression}enterRule(t){t.enterExpression&&t.enterExpression(this)}exitRule(t){t.exitExpression&&t.exitExpression(this)}accept(t){return t.visitExpression?t.visitExpression(this):t.visitChildren(this)}}class Rt extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_booleanExpression}copyFrom(t){super.copyFrom(t)}}class w7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NOT(){return this.getToken(e.KW_NOT,0)}booleanExpression(){return this.getRuleContext(0,Rt)}enterRule(t){t.enterLogicalNot&&t.enterLogicalNot(this)}exitRule(t){t.exitLogicalNot&&t.exitLogicalNot(this)}accept(t){return t.visitLogicalNot?t.visitLogicalNot(this):t.visitChildren(this)}}class v7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,j)}predicate(){return this.getRuleContext(0,de)}enterRule(t){t.enterPredicated&&t.enterPredicated(this)}exitRule(t){t.exitPredicated&&t.exitPredicated(this)}accept(t){return t.visitPredicated?t.visitPredicated(this):t.visitChildren(this)}}class D7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(Rt):this.getRuleContext(t,Rt)}KW_OR(){return this.getToken(e.KW_OR,0)}enterRule(t){t.enterOr&&t.enterOr(this)}exitRule(t){t.exitOr&&t.exitOr(this)}accept(t){return t.visitOr?t.visitOr(this):t.visitChildren(this)}}class b7 extends Rt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanExpression(t){return t===void 0?this.getRuleContexts(Rt):this.getRuleContext(t,Rt)}KW_AND(){return this.getToken(e.KW_AND,0)}enterRule(t){t.enterAnd&&t.enterAnd(this)}exitRule(t){t.exitAnd&&t.exitAnd(this)}accept(t){return t.visitAnd?t.visitAnd(this):t.visitChildren(this)}}class de extends R{constructor(t,s,n){super(t,s),this.value=n}get ruleIndex(){return e.RULE_predicate}copyFrom(t){super.copyFrom(t),this.value=t.value}}class M7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,Xr)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterComparison&&t.enterComparison(this)}exitRule(t){t.exitComparison&&t.exitComparison(this)}accept(t){return t.visitComparison?t.visitComparison(this):t.visitChildren(this)}}class F7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_LIKE(){return this.getToken(e.KW_LIKE,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_ESCAPE(){return this.getToken(e.KW_ESCAPE,0)}enterRule(t){t.enterLike&&t.enterLike(this)}exitRule(t){t.exitLike&&t.exitLike(this)}accept(t){return t.visitLike?t.visitLike(this):t.visitChildren(this)}}class H7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(e.KW_IN,0)}query(){return this.getRuleContext(0,qt)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterInSubquery&&t.enterInSubquery(this)}exitRule(t){t.exitInSubquery&&t.exitInSubquery(this)}accept(t){return t.visitInSubquery?t.visitInSubquery(this):t.visitChildren(this)}}class V7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_DISTINCT(){return this.getToken(e.KW_DISTINCT,0)}KW_FROM(){return this.getToken(e.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,j)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterDistinctFrom&&t.enterDistinctFrom(this)}exitRule(t){t.exitDistinctFrom&&t.exitDistinctFrom(this)}accept(t){return t.visitDistinctFrom?t.visitDistinctFrom(this):t.visitChildren(this)}}class B7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IN(){return this.getToken(e.KW_IN,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterInList&&t.enterInList(this)}exitRule(t){t.exitInList&&t.exitInList(this)}accept(t){return t.visitInList?t.visitInList(this):t.visitChildren(this)}}class G7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_IS(){return this.getToken(e.KW_IS,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterNullPredicate&&t.enterNullPredicate(this)}exitRule(t){t.exitNullPredicate&&t.exitNullPredicate(this)}accept(t){return t.visitNullPredicate?t.visitNullPredicate(this):t.visitChildren(this)}}class Y7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_AND(){return this.getToken(e.KW_AND,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterBetween&&t.enterBetween(this)}exitRule(t){t.exitBetween&&t.exitBetween(this)}accept(t){return t.visitBetween?t.visitBetween(this):t.visitChildren(this)}}class Q7 extends de{constructor(t){super(t.parent,t.invokingState,t.value),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,Xr)}comparisonQuantifier(){return this.getRuleContext(0,Sa)}query(){return this.getRuleContext(0,qt)}enterRule(t){t.enterQuantifiedComparison&&t.enterQuantifiedComparison(this)}exitRule(t){t.exitQuantifiedComparison&&t.exitQuantifiedComparison(this)}accept(t){return t.visitQuantifiedComparison?t.visitQuantifiedComparison(this):t.visitChildren(this)}}class j extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_valueExpression}copyFrom(t){super.copyFrom(t)}}class j7 extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,M)}enterRule(t){t.enterValueExpressionDefault&&t.enterValueExpressionDefault(this)}exitRule(t){t.exitValueExpressionDefault&&t.exitValueExpressionDefault(this)}accept(t){return t.visitValueExpressionDefault?t.visitValueExpressionDefault(this):t.visitChildren(this)}}class J7 extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONCAT(){return this.getToken(e.CONCAT,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}enterRule(t){t.enterConcatenation&&t.enterConcatenation(this)}exitRule(t){t.exitConcatenation&&t.exitConcatenation(this)}accept(t){return t.visitConcatenation?t.visitConcatenation(this):t.visitChildren(this)}}class Aa extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}ASTERISK(){return this.getToken(e.ASTERISK,0)}SLASH(){return this.getToken(e.SLASH,0)}PERCENT(){return this.getToken(e.PERCENT,0)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}enterRule(t){t.enterArithmeticBinary&&t.enterArithmeticBinary(this)}exitRule(t){t.exitArithmeticBinary&&t.exitArithmeticBinary(this)}accept(t){return t.visitArithmeticBinary?t.visitArithmeticBinary(this):t.visitChildren(this)}}class X7 extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,j)}MINUS(){return this.getToken(e.MINUS,0)}PLUS(){return this.getToken(e.PLUS,0)}enterRule(t){t.enterArithmeticUnary&&t.enterArithmeticUnary(this)}exitRule(t){t.exitArithmeticUnary&&t.exitArithmeticUnary(this)}accept(t){return t.visitArithmeticUnary?t.visitArithmeticUnary(this):t.visitChildren(this)}}class Z7 extends j{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valueExpression(){return this.getRuleContext(0,j)}KW_AT(){return this.getToken(e.KW_AT,0)}timeZoneSpecifier(){return this.getRuleContext(0,Sn)}enterRule(t){t.enterAtTimeZone&&t.enterAtTimeZone(this)}exitRule(t){t.exitAtTimeZone&&t.exitAtTimeZone(this)}accept(t){return t.visitAtTimeZone?t.visitAtTimeZone(this):t.visitChildren(this)}}class M extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_primaryExpression}copyFrom(t){super.copyFrom(t)}}class z7 extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,M)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterDereference&&t.enterDereference(this)}exitRule(t){t.exitDereference&&t.exitDereference(this)}accept(t){return t.visitDereference?t.visitDereference(this):t.visitChildren(this)}}class ga extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}string(){return this.getRuleContext(0,Q)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(e.KW_PRECISION,0)}enterRule(t){t.enterTypeConstructor&&t.enterTypeConstructor(this)}exitRule(t){t.exitTypeConstructor&&t.exitTypeConstructor(this)}accept(t){return t.visitTypeConstructor?t.visitTypeConstructor(this):t.visitChildren(this)}}class $7 extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_JSON_VALUE(){return this.getToken(e.KW_JSON_VALUE,0)}jsonPathInvocation(){return this.getRuleContext(0,Ds)}KW_RETURNING(){return this.getToken(e.KW_RETURNING,0)}type(){return this.getRuleContext(0,tt)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}jsonValueBehavior(t){return t===void 0?this.getRuleContexts(bs):this.getRuleContext(t,bs)}enterRule(t){t.enterJsonValue&&t.enterJsonValue(this)}exitRule(t){t.exitJsonValue&&t.exitJsonValue(this)}accept(t){return t.visitJsonValue?t.visitJsonValue(this):t.visitChildren(this)}}class P7 extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_DATE(){return this.getToken(e.KW_CURRENT_DATE,0)}enterRule(t){t.enterCurrentDate&&t.enterCurrentDate(this)}exitRule(t){t.exitCurrentDate&&t.exitCurrentDate(this)}accept(t){return t.visitCurrentDate?t.visitCurrentDate(this):t.visitChildren(this)}}class q7 extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_FROM(){return this.getToken(e.KW_FROM,0)}KW_FOR(){return this.getToken(e.KW_FOR,0)}enterRule(t){t.enterSubstring&&t.enterSubstring(this)}exitRule(t){t.exitSubstring&&t.exitSubstring(this)}accept(t){return t.visitSubstring?t.visitSubstring(this):t.visitChildren(this)}}class Ca extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CAST(){return this.getToken(e.KW_CAST,0)}expression(){return this.getRuleContext(0,y)}KW_AS(){return this.getToken(e.KW_AS,0)}type(){return this.getRuleContext(0,tt)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}enterRule(t){t.enterCast&&t.enterCast(this)}exitRule(t){t.exitCast&&t.exitCast(this)}accept(t){return t.visitCast?t.visitCast(this):t.visitChildren(this)}}class xa extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterLambda&&t.enterLambda(this)}exitRule(t){t.exitLambda&&t.exitLambda(this)}accept(t){return t.visitLambda?t.visitLambda(this):t.visitChildren(this)}}class tl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterParenthesizedExpression&&t.enterParenthesizedExpression(this)}exitRule(t){t.exitParenthesizedExpression&&t.exitParenthesizedExpression(this)}accept(t){return t.visitParenthesizedExpression?t.visitParenthesizedExpression(this):t.visitChildren(this)}}class Na extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TRIM(){return this.getToken(e.KW_TRIM,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_FROM(){return this.getToken(e.KW_FROM,0)}trimsSpecification(){return this.getRuleContext(0,ca)}enterRule(t){t.enterTrim&&t.enterTrim(this)}exitRule(t){t.exitTrim&&t.exitTrim(this)}accept(t){return t.visitTrim?t.visitTrim(this):t.visitChildren(this)}}class el extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUESTION_MARK(){return this.getToken(e.QUESTION_MARK,0)}enterRule(t){t.enterParameter&&t.enterParameter(this)}exitRule(t){t.exitParameter&&t.exitParameter(this)}accept(t){return t.visitParameter?t.visitParameter(this):t.visitChildren(this)}}class sl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NORMALIZE(){return this.getToken(e.KW_NORMALIZE,0)}valueExpression(){return this.getRuleContext(0,j)}normalForm(){return this.getRuleContext(0,Ua)}enterRule(t){t.enterNormalize&&t.enterNormalize(this)}exitRule(t){t.exitNormalize&&t.exitNormalize(this)}accept(t){return t.visitNormalize?t.visitNormalize(this):t.visitChildren(this)}}class il extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LOCALTIMESTAMP(){return this.getToken(e.KW_LOCALTIMESTAMP,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}enterRule(t){t.enterLocalTimestamp&&t.enterLocalTimestamp(this)}exitRule(t){t.exitLocalTimestamp&&t.exitLocalTimestamp(this)}accept(t){return t.visitLocalTimestamp?t.visitLocalTimestamp(this):t.visitChildren(this)}}class nl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_JSON_OBJECT(){return this.getToken(e.KW_JSON_OBJECT,0)}jsonObjectMember(t){return t===void 0?this.getRuleContexts(Jr):this.getRuleContext(t,Jr)}KW_RETURNING(){return this.getToken(e.KW_RETURNING,0)}type(){return this.getRuleContext(0,tt)}KW_NULL(t){return t===void 0?this.getTokens(e.KW_NULL):this.getToken(e.KW_NULL,t)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_ABSENT(){return this.getToken(e.KW_ABSENT,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}KW_WITHOUT(){return this.getToken(e.KW_WITHOUT,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}jsonRepresentation(){return this.getRuleContext(0,J1)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}enterRule(t){t.enterJsonObject&&t.enterJsonObject(this)}exitRule(t){t.exitJsonObject&&t.exitJsonObject(this)}accept(t){return t.visitJsonObject?t.visitJsonObject(this):t.visitChildren(this)}}class rl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}interval(){return this.getRuleContext(0,yn)}enterRule(t){t.enterIntervalLiteral&&t.enterIntervalLiteral(this)}exitRule(t){t.exitIntervalLiteral&&t.exitIntervalLiteral(this)}accept(t){return t.visitIntervalLiteral?t.visitIntervalLiteral(this):t.visitChildren(this)}}class hl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}number(){return this.getRuleContext(0,zs)}enterRule(t){t.enterNumericLiteral&&t.enterNumericLiteral(this)}exitRule(t){t.exitNumericLiteral&&t.exitNumericLiteral(this)}accept(t){return t.visitNumericLiteral?t.visitNumericLiteral(this):t.visitChildren(this)}}class al extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}booleanValue(){return this.getRuleContext(0,ya)}enterRule(t){t.enterBooleanLiteral&&t.enterBooleanLiteral(this)}exitRule(t){t.exitBooleanLiteral&&t.exitBooleanLiteral(this)}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}}class ol extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_JSON_ARRAY(){return this.getToken(e.KW_JSON_ARRAY,0)}jsonValueExpression(t){return t===void 0?this.getRuleContexts(j1):this.getRuleContext(t,j1)}KW_RETURNING(){return this.getToken(e.KW_RETURNING,0)}type(){return this.getRuleContext(0,tt)}KW_NULL(t){return t===void 0?this.getTokens(e.KW_NULL):this.getToken(e.KW_NULL,t)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_ABSENT(){return this.getToken(e.KW_ABSENT,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}jsonRepresentation(){return this.getRuleContext(0,J1)}enterRule(t){t.enterJsonArray&&t.enterJsonArray(this)}exitRule(t){t.exitJsonArray&&t.exitJsonArray(this)}accept(t){return t.visitJsonArray?t.visitJsonArray(this):t.visitChildren(this)}}class cl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_END(){return this.getToken(e.KW_END,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}whenClause(t){return t===void 0?this.getRuleContexts(Hs):this.getRuleContext(t,Hs)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}enterRule(t){t.enterSimpleCase&&t.enterSimpleCase(this)}exitRule(t){t.exitSimpleCase&&t.exitSimpleCase(this)}accept(t){return t.visitSimpleCase?t.visitSimpleCase(this):t.visitChildren(this)}}class ul extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterColumnReference&&t.enterColumnReference(this)}exitRule(t){t.exitColumnReference&&t.exitColumnReference(this)}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}}class ll extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_NULL(){return this.getToken(e.KW_NULL,0)}enterRule(t){t.enterNullLiteral&&t.enterNullLiteral(this)}exitRule(t){t.exitNullLiteral&&t.exitNullLiteral(this)}accept(t){return t.visitNullLiteral?t.visitNullLiteral(this):t.visitChildren(this)}}class La extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_ROW(){return this.getToken(e.KW_ROW,0)}enterRule(t){t.enterRowConstructor&&t.enterRowConstructor(this)}exitRule(t){t.exitRowConstructor&&t.exitRowConstructor(this)}accept(t){return t.visitRowConstructor?t.visitRowConstructor(this):t.visitChildren(this)}}class El extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}primaryExpression(){return this.getRuleContext(0,M)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterSubscript&&t.enterSubscript(this)}exitRule(t){t.exitSubscript&&t.exitSubscript(this)}accept(t){return t.visitSubscript?t.visitSubscript(this):t.visitChildren(this)}}class dl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_JSON_EXISTS(){return this.getToken(e.KW_JSON_EXISTS,0)}jsonPathInvocation(){return this.getRuleContext(0,Ds)}jsonExistsErrorBehavior(){return this.getRuleContext(0,Ta)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}enterRule(t){t.enterJsonExists&&t.enterJsonExists(this)}exitRule(t){t.exitJsonExists&&t.exitJsonExists(this)}accept(t){return t.visitJsonExists?t.visitJsonExists(this):t.visitChildren(this)}}class fl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_PATH(){return this.getToken(e.KW_CURRENT_PATH,0)}enterRule(t){t.enterCurrentPath&&t.enterCurrentPath(this)}exitRule(t){t.exitCurrentPath&&t.exitCurrentPath(this)}accept(t){return t.visitCurrentPath?t.visitCurrentPath(this):t.visitChildren(this)}}class Wl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}query(){return this.getRuleContext(0,qt)}enterRule(t){t.enterSubqueryExpression&&t.enterSubqueryExpression(this)}exitRule(t){t.exitSubqueryExpression&&t.exitSubqueryExpression(this)}accept(t){return t.visitSubqueryExpression?t.visitSubqueryExpression(this):t.visitChildren(this)}}class Rl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BINARY_LITERAL(){return this.getToken(e.BINARY_LITERAL,0)}enterRule(t){t.enterBinaryLiteral&&t.enterBinaryLiteral(this)}exitRule(t){t.exitBinaryLiteral&&t.exitBinaryLiteral(this)}accept(t){return t.visitBinaryLiteral?t.visitBinaryLiteral(this):t.visitChildren(this)}}class ml extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_TIME(){return this.getToken(e.KW_CURRENT_TIME,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}enterRule(t){t.enterCurrentTime&&t.enterCurrentTime(this)}exitRule(t){t.exitCurrentTime&&t.exitCurrentTime(this)}accept(t){return t.visitCurrentTime?t.visitCurrentTime(this):t.visitChildren(this)}}class pl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LOCALTIME(){return this.getToken(e.KW_LOCALTIME,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}enterRule(t){t.enterLocalTime&&t.enterLocalTime(this)}exitRule(t){t.exitLocalTime&&t.exitLocalTime(this)}accept(t){return t.visitLocalTime?t.visitLocalTime(this):t.visitChildren(this)}}class _l extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_USER(){return this.getToken(e.KW_CURRENT_USER,0)}enterRule(t){t.enterCurrentUser&&t.enterCurrentUser(this)}exitRule(t){t.exitCurrentUser&&t.exitCurrentUser(this)}accept(t){return t.visitCurrentUser?t.visitCurrentUser(this):t.visitChildren(this)}}class Kl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_JSON_QUERY(){return this.getToken(e.KW_JSON_QUERY,0)}jsonPathInvocation(){return this.getRuleContext(0,Ds)}KW_RETURNING(){return this.getToken(e.KW_RETURNING,0)}type(){return this.getRuleContext(0,tt)}jsonQueryWrapperBehavior(){return this.getRuleContext(0,jr)}KW_WRAPPER(){return this.getToken(e.KW_WRAPPER,0)}KW_QUOTES(){return this.getToken(e.KW_QUOTES,0)}KW_ON(t){return t===void 0?this.getTokens(e.KW_ON):this.getToken(e.KW_ON,t)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}KW_KEEP(){return this.getToken(e.KW_KEEP,0)}KW_OMIT(){return this.getToken(e.KW_OMIT,0)}jsonQueryBehavior(t){return t===void 0?this.getRuleContexts(Ms):this.getRuleContext(t,Ms)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}jsonRepresentation(){return this.getRuleContext(0,J1)}KW_SCALAR(){return this.getToken(e.KW_SCALAR,0)}KW_TEXT_STRING(){return this.getToken(e.KW_TEXT_STRING,0)}enterRule(t){t.enterJsonQuery&&t.enterJsonQuery(this)}exitRule(t){t.exitJsonQuery&&t.exitJsonQuery(this)}accept(t){return t.visitJsonQuery?t.visitJsonQuery(this):t.visitChildren(this)}}class Al extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}over(){return this.getRuleContext(0,$r)}enterRule(t){t.enterMeasure&&t.enterMeasure(this)}exitRule(t){t.exitMeasure&&t.exitMeasure(this)}accept(t){return t.visitMeasure?t.visitMeasure(this):t.visitChildren(this)}}class gl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXTRACT(){return this.getToken(e.KW_EXTRACT,0)}identifier(){return this.getRuleContext(0,C)}KW_FROM(){return this.getToken(e.KW_FROM,0)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterExtract&&t.enterExtract(this)}exitRule(t){t.exitExtract&&t.exitExtract(this)}accept(t){return t.visitExtract?t.visitExtract(this):t.visitChildren(this)}}class Cl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}string(){return this.getRuleContext(0,Q)}enterRule(t){t.enterStringLiteral&&t.enterStringLiteral(this)}exitRule(t){t.exitStringLiteral&&t.exitStringLiteral(this)}accept(t){return t.visitStringLiteral?t.visitStringLiteral(this):t.visitChildren(this)}}class xl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}enterRule(t){t.enterArrayConstructor&&t.enterArrayConstructor(this)}exitRule(t){t.exitArrayConstructor&&t.exitArrayConstructor(this)}accept(t){return t.visitArrayConstructor?t.visitArrayConstructor(this):t.visitChildren(this)}}class Ia extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionName(){return this.getRuleContext(0,K1)}ASTERISK(){return this.getToken(e.ASTERISK,0)}processingMode(){return this.getRuleContext(0,Oa)}filter(){return this.getRuleContext(0,zr)}over(){return this.getRuleContext(0,$r)}identifier(){return this.getRuleContext(0,C)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(Ft):this.getRuleContext(t,Ft)}setQuantifier(){return this.getRuleContext(0,Y1)}nullTreatment(){return this.getRuleContext(0,ka)}enterRule(t){t.enterFunctionCall&&t.enterFunctionCall(this)}exitRule(t){t.exitFunctionCall&&t.exitFunctionCall(this)}accept(t){return t.visitFunctionCall?t.visitFunctionCall(this):t.visitChildren(this)}}class Nl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_TIMESTAMP(){return this.getToken(e.KW_CURRENT_TIMESTAMP,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}enterRule(t){t.enterCurrentTimestamp&&t.enterCurrentTimestamp(this)}exitRule(t){t.exitCurrentTimestamp&&t.exitCurrentTimestamp(this)}accept(t){return t.visitCurrentTimestamp?t.visitCurrentTimestamp(this):t.visitChildren(this)}}class Ll extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_SCHEMA(){return this.getToken(e.KW_CURRENT_SCHEMA,0)}enterRule(t){t.enterCurrentSchema&&t.enterCurrentSchema(this)}exitRule(t){t.exitCurrentSchema&&t.exitCurrentSchema(this)}accept(t){return t.visitCurrentSchema?t.visitCurrentSchema(this):t.visitChildren(this)}}class Il extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_EXISTS(){return this.getToken(e.KW_EXISTS,0)}query(){return this.getRuleContext(0,qt)}enterRule(t){t.enterExists&&t.enterExists(this)}exitRule(t){t.exitExists&&t.exitExists(this)}accept(t){return t.visitExists?t.visitExists(this):t.visitChildren(this)}}class Tl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}valueExpression(t){return t===void 0?this.getRuleContexts(j):this.getRuleContext(t,j)}KW_IN(){return this.getToken(e.KW_IN,0)}enterRule(t){t.enterPosition&&t.enterPosition(this)}exitRule(t){t.exitPosition&&t.exitPosition(this)}accept(t){return t.visitPosition?t.visitPosition(this):t.visitChildren(this)}}class Ol extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,y)}KW_LISTAGG(){return this.getToken(e.KW_LISTAGG,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_GROUP(){return this.getToken(e.KW_GROUP,0)}KW_ORDER(){return this.getToken(e.KW_ORDER,0)}KW_BY(){return this.getToken(e.KW_BY,0)}sortItem(t){return t===void 0?this.getRuleContexts(Ft):this.getRuleContext(t,Ft)}setQuantifier(){return this.getRuleContext(0,Y1)}string(){return this.getRuleContext(0,Q)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_OVERFLOW(){return this.getToken(e.KW_OVERFLOW,0)}listAggOverflowBehavior(){return this.getRuleContext(0,ua)}filter(){return this.getRuleContext(0,zr)}enterRule(t){t.enterListagg&&t.enterListagg(this)}exitRule(t){t.exitListagg&&t.exitListagg(this)}accept(t){return t.visitListagg?t.visitListagg(this):t.visitChildren(this)}}class kl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(){return this.getToken(e.KW_CASE,0)}KW_END(){return this.getToken(e.KW_END,0)}whenClause(t){return t===void 0?this.getRuleContexts(Hs):this.getRuleContext(t,Hs)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterSearchedCase&&t.enterSearchedCase(this)}exitRule(t){t.exitSearchedCase&&t.exitSearchedCase(this)}accept(t){return t.visitSearchedCase?t.visitSearchedCase(this):t.visitChildren(this)}}class Sl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_CATALOG(){return this.getToken(e.KW_CURRENT_CATALOG,0)}enterRule(t){t.enterCurrentCatalog&&t.enterCurrentCatalog(this)}exitRule(t){t.exitCurrentCatalog&&t.exitCurrentCatalog(this)}accept(t){return t.visitCurrentCatalog?t.visitCurrentCatalog(this):t.visitChildren(this)}}class yl extends M{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_GROUPING(){return this.getToken(e.KW_GROUPING,0)}qualifiedName(t){return t===void 0?this.getRuleContexts(te):this.getRuleContext(t,te)}enterRule(t){t.enterGroupingOperation&&t.enterGroupingOperation(this)}exitRule(t){t.exitGroupingOperation&&t.exitGroupingOperation(this)}accept(t){return t.visitGroupingOperation?t.visitGroupingOperation(this):t.visitChildren(this)}}class Ds extends R{constructor(t,s){super(t,s)}jsonValueExpression(){return this.getRuleContext(0,j1)}string(){return this.getRuleContext(0,Q)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_PASSING(){return this.getToken(e.KW_PASSING,0)}jsonArgument(t){return t===void 0?this.getRuleContexts(Qr):this.getRuleContext(t,Qr)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_jsonPathInvocation}enterRule(t){t.enterJsonPathInvocation&&t.enterJsonPathInvocation(this)}exitRule(t){t.exitJsonPathInvocation&&t.exitJsonPathInvocation(this)}accept(t){return t.visitJsonPathInvocation?t.visitJsonPathInvocation(this):t.visitChildren(this)}}class j1 extends R{constructor(t,s){super(t,s)}expression(){return this.getRuleContext(0,y)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}jsonRepresentation(){return this.getRuleContext(0,J1)}get ruleIndex(){return e.RULE_jsonValueExpression}enterRule(t){t.enterJsonValueExpression&&t.enterJsonValueExpression(this)}exitRule(t){t.exitJsonValueExpression&&t.exitJsonValueExpression(this)}accept(t){return t.visitJsonValueExpression?t.visitJsonValueExpression(this):t.visitChildren(this)}}class J1 extends R{constructor(t,s){super(t,s)}KW_JSON(){return this.getToken(e.KW_JSON,0)}KW_ENCODING(){return this.getToken(e.KW_ENCODING,0)}KW_UTF8(){return this.getToken(e.KW_UTF8,0)}KW_UTF16(){return this.getToken(e.KW_UTF16,0)}KW_UTF32(){return this.getToken(e.KW_UTF32,0)}get ruleIndex(){return e.RULE_jsonRepresentation}enterRule(t){t.enterJsonRepresentation&&t.enterJsonRepresentation(this)}exitRule(t){t.exitJsonRepresentation&&t.exitJsonRepresentation(this)}accept(t){return t.visitJsonRepresentation?t.visitJsonRepresentation(this):t.visitChildren(this)}}class Qr extends R{constructor(t,s){super(t,s)}jsonValueExpression(){return this.getRuleContext(0,j1)}KW_AS(){return this.getToken(e.KW_AS,0)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_jsonArgument}enterRule(t){t.enterJsonArgument&&t.enterJsonArgument(this)}exitRule(t){t.exitJsonArgument&&t.exitJsonArgument(this)}accept(t){return t.visitJsonArgument?t.visitJsonArgument(this):t.visitChildren(this)}}class Ta extends R{constructor(t,s){super(t,s)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}get ruleIndex(){return e.RULE_jsonExistsErrorBehavior}enterRule(t){t.enterJsonExistsErrorBehavior&&t.enterJsonExistsErrorBehavior(this)}exitRule(t){t.exitJsonExistsErrorBehavior&&t.exitJsonExistsErrorBehavior(this)}accept(t){return t.visitJsonExistsErrorBehavior?t.visitJsonExistsErrorBehavior(this):t.visitChildren(this)}}class bs extends R{constructor(t,s){super(t,s)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return e.RULE_jsonValueBehavior}enterRule(t){t.enterJsonValueBehavior&&t.enterJsonValueBehavior(this)}exitRule(t){t.exitJsonValueBehavior&&t.exitJsonValueBehavior(this)}accept(t){return t.visitJsonValueBehavior?t.visitJsonValueBehavior(this):t.visitChildren(this)}}class jr extends R{constructor(t,s){super(t,s)}KW_WITHOUT(){return this.getToken(e.KW_WITHOUT,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_WITH(){return this.getToken(e.KW_WITH,0)}KW_CONDITIONAL(){return this.getToken(e.KW_CONDITIONAL,0)}KW_UNCONDITIONAL(){return this.getToken(e.KW_UNCONDITIONAL,0)}get ruleIndex(){return e.RULE_jsonQueryWrapperBehavior}enterRule(t){t.enterJsonQueryWrapperBehavior&&t.enterJsonQueryWrapperBehavior(this)}exitRule(t){t.exitJsonQueryWrapperBehavior&&t.exitJsonQueryWrapperBehavior(this)}accept(t){return t.visitJsonQueryWrapperBehavior?t.visitJsonQueryWrapperBehavior(this):t.visitChildren(this)}}class Ms extends R{constructor(t,s){super(t,s)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_OBJECT(){return this.getToken(e.KW_OBJECT,0)}get ruleIndex(){return e.RULE_jsonQueryBehavior}enterRule(t){t.enterJsonQueryBehavior&&t.enterJsonQueryBehavior(this)}exitRule(t){t.exitJsonQueryBehavior&&t.exitJsonQueryBehavior(this)}accept(t){return t.visitJsonQueryBehavior?t.visitJsonQueryBehavior(this):t.visitChildren(this)}}class Jr extends R{constructor(t,s){super(t,s)}expression(){return this.getRuleContext(0,y)}KW_VALUE(){return this.getToken(e.KW_VALUE,0)}jsonValueExpression(){return this.getRuleContext(0,j1)}KW_KEY(){return this.getToken(e.KW_KEY,0)}get ruleIndex(){return e.RULE_jsonObjectMember}enterRule(t){t.enterJsonObjectMember&&t.enterJsonObjectMember(this)}exitRule(t){t.exitJsonObjectMember&&t.exitJsonObjectMember(this)}accept(t){return t.visitJsonObjectMember?t.visitJsonObjectMember(this):t.visitChildren(this)}}class Oa extends R{constructor(t,s){super(t,s)}KW_RUNNING(){return this.getToken(e.KW_RUNNING,0)}KW_FINAL(){return this.getToken(e.KW_FINAL,0)}get ruleIndex(){return e.RULE_processingMode}enterRule(t){t.enterProcessingMode&&t.enterProcessingMode(this)}exitRule(t){t.exitProcessingMode&&t.exitProcessingMode(this)}accept(t){return t.visitProcessingMode?t.visitProcessingMode(this):t.visitChildren(this)}}class ka extends R{constructor(t,s){super(t,s)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}get ruleIndex(){return e.RULE_nullTreatment}enterRule(t){t.enterNullTreatment&&t.enterNullTreatment(this)}exitRule(t){t.exitNullTreatment&&t.exitNullTreatment(this)}accept(t){return t.visitNullTreatment?t.visitNullTreatment(this):t.visitChildren(this)}}class Q extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_string}copyFrom(t){super.copyFrom(t)}}class Ul extends Q{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNICODE_STRING(){return this.getToken(e.UNICODE_STRING,0)}KW_UESCAPE(){return this.getToken(e.KW_UESCAPE,0)}STRING(){return this.getToken(e.STRING,0)}enterRule(t){t.enterUnicodeStringLiteral&&t.enterUnicodeStringLiteral(this)}exitRule(t){t.exitUnicodeStringLiteral&&t.exitUnicodeStringLiteral(this)}accept(t){return t.visitUnicodeStringLiteral?t.visitUnicodeStringLiteral(this):t.visitChildren(this)}}class wl extends Q{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(e.STRING,0)}enterRule(t){t.enterBasicStringLiteral&&t.enterBasicStringLiteral(this)}exitRule(t){t.exitBasicStringLiteral&&t.exitBasicStringLiteral(this)}accept(t){return t.visitBasicStringLiteral?t.visitBasicStringLiteral(this):t.visitChildren(this)}}class Sn extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_timeZoneSpecifier}copyFrom(t){super.copyFrom(t)}}class vl extends Sn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}interval(){return this.getRuleContext(0,yn)}enterRule(t){t.enterTimeZoneInterval&&t.enterTimeZoneInterval(this)}exitRule(t){t.exitTimeZoneInterval&&t.exitTimeZoneInterval(this)}accept(t){return t.visitTimeZoneInterval?t.visitTimeZoneInterval(this):t.visitChildren(this)}}class Dl extends Sn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}string(){return this.getRuleContext(0,Q)}enterRule(t){t.enterTimeZoneString&&t.enterTimeZoneString(this)}exitRule(t){t.exitTimeZoneString&&t.exitTimeZoneString(this)}accept(t){return t.visitTimeZoneString?t.visitTimeZoneString(this):t.visitChildren(this)}}class Xr extends R{constructor(t,s){super(t,s)}EQ(){return this.getToken(e.EQ,0)}NEQ(){return this.getToken(e.NEQ,0)}LT(){return this.getToken(e.LT,0)}LTE(){return this.getToken(e.LTE,0)}GT(){return this.getToken(e.GT,0)}GTE(){return this.getToken(e.GTE,0)}get ruleIndex(){return e.RULE_comparisonOperator}enterRule(t){t.enterComparisonOperator&&t.enterComparisonOperator(this)}exitRule(t){t.exitComparisonOperator&&t.exitComparisonOperator(this)}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}}class Sa extends R{constructor(t,s){super(t,s)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_SOME(){return this.getToken(e.KW_SOME,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}get ruleIndex(){return e.RULE_comparisonQuantifier}enterRule(t){t.enterComparisonQuantifier&&t.enterComparisonQuantifier(this)}exitRule(t){t.exitComparisonQuantifier&&t.exitComparisonQuantifier(this)}accept(t){return t.visitComparisonQuantifier?t.visitComparisonQuantifier(this):t.visitChildren(this)}}class ya extends R{constructor(t,s){super(t,s)}KW_TRUE(){return this.getToken(e.KW_TRUE,0)}KW_FALSE(){return this.getToken(e.KW_FALSE,0)}get ruleIndex(){return e.RULE_booleanValue}enterRule(t){t.enterBooleanValue&&t.enterBooleanValue(this)}exitRule(t){t.exitBooleanValue&&t.exitBooleanValue(this)}accept(t){return t.visitBooleanValue?t.visitBooleanValue(this):t.visitChildren(this)}}class yn extends R{constructor(t,s){super(t,s)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}string(){return this.getRuleContext(0,Q)}intervalField(t){return t===void 0?this.getRuleContexts(Fs):this.getRuleContext(t,Fs)}KW_TO(){return this.getToken(e.KW_TO,0)}PLUS(){return this.getToken(e.PLUS,0)}MINUS(){return this.getToken(e.MINUS,0)}get ruleIndex(){return e.RULE_interval}enterRule(t){t.enterInterval&&t.enterInterval(this)}exitRule(t){t.exitInterval&&t.exitInterval(this)}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}}class Fs extends R{constructor(t,s){super(t,s)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}get ruleIndex(){return e.RULE_intervalField}enterRule(t){t.enterIntervalField&&t.enterIntervalField(this)}exitRule(t){t.exitIntervalField&&t.exitIntervalField(this)}accept(t){return t.visitIntervalField?t.visitIntervalField(this):t.visitChildren(this)}}class Ua extends R{constructor(t,s){super(t,s)}KW_NFD(){return this.getToken(e.KW_NFD,0)}KW_NFC(){return this.getToken(e.KW_NFC,0)}KW_NFKD(){return this.getToken(e.KW_NFKD,0)}KW_NFKC(){return this.getToken(e.KW_NFKC,0)}get ruleIndex(){return e.RULE_normalForm}enterRule(t){t.enterNormalForm&&t.enterNormalForm(this)}exitRule(t){t.exitNormalForm&&t.exitNormalForm(this)}accept(t){return t.visitNormalForm?t.visitNormalForm(this):t.visitChildren(this)}}class tt extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_type}copyFrom(t){super.copyFrom(t)}}class bl extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROW(){return this.getToken(e.KW_ROW,0)}rowField(t){return t===void 0?this.getRuleContexts(Zr):this.getRuleContext(t,Zr)}enterRule(t){t.enterRowType&&t.enterRowType(this)}exitRule(t){t.exitRowType&&t.exitRowType(this)}accept(t){return t.visitRowType?t.visitRowType(this):t.visitChildren(this)}}class Ml extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}intervalField(t){return t===void 0?this.getRuleContexts(Fs):this.getRuleContext(t,Fs)}KW_TO(){return this.getToken(e.KW_TO,0)}enterRule(t){t.enterIntervalType&&t.enterIntervalType(this)}exitRule(t){t.exitIntervalType&&t.exitIntervalType(this)}accept(t){return t.visitIntervalType?t.visitIntervalType(this):t.visitChildren(this)}}class Fl extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}type(){return this.getRuleContext(0,tt)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}enterRule(t){t.enterArrayType&&t.enterArrayType(this)}exitRule(t){t.exitArrayType&&t.exitArrayType(this)}accept(t){return t.visitArrayType?t.visitArrayType(this):t.visitChildren(this)}}class Hl extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_PRECISION(){return this.getToken(e.KW_PRECISION,0)}enterRule(t){t.enterDoublePrecisionType&&t.enterDoublePrecisionType(this)}exitRule(t){t.exitDoublePrecisionType&&t.exitDoublePrecisionType(this)}accept(t){return t.visitDoublePrecisionType?t.visitDoublePrecisionType(this):t.visitChildren(this)}}class Vl extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}LT(){return this.getToken(e.LT,0)}type(){return this.getRuleContext(0,tt)}GT(){return this.getToken(e.GT,0)}enterRule(t){t.enterLegacyArrayType&&t.enterLegacyArrayType(this)}exitRule(t){t.exitLegacyArrayType&&t.exitLegacyArrayType(this)}accept(t){return t.visitLegacyArrayType?t.visitLegacyArrayType(this):t.visitChildren(this)}}class Bl extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}typeParameter(t){return t===void 0?this.getRuleContexts(wn):this.getRuleContext(t,wn)}enterRule(t){t.enterGenericType&&t.enterGenericType(this)}exitRule(t){t.exitGenericType&&t.exitGenericType(this)}accept(t){return t.visitGenericType?t.visitGenericType(this):t.visitChildren(this)}}class Un extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_WITHOUT(){return this.getToken(e.KW_WITHOUT,0)}KW_TIME(t){return t===void 0?this.getTokens(e.KW_TIME):this.getToken(e.KW_TIME,t)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}typeParameter(){return this.getRuleContext(0,wn)}KW_WITH(){return this.getToken(e.KW_WITH,0)}enterRule(t){t.enterDateTimeType&&t.enterDateTimeType(this)}exitRule(t){t.exitDateTimeType&&t.exitDateTimeType(this)}accept(t){return t.visitDateTimeType?t.visitDateTimeType(this):t.visitChildren(this)}}class Gl extends tt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_MAP(){return this.getToken(e.KW_MAP,0)}LT(){return this.getToken(e.LT,0)}GT(){return this.getToken(e.GT,0)}type_(t){return t===void 0?this.getRuleContexts(tt):this.getRuleContext(t,tt)}enterRule(t){t.enterLegacyMapType&&t.enterLegacyMapType(this)}exitRule(t){t.exitLegacyMapType&&t.exitLegacyMapType(this)}accept(t){return t.visitLegacyMapType?t.visitLegacyMapType(this):t.visitChildren(this)}}class Zr extends R{constructor(t,s){super(t,s)}type(){return this.getRuleContext(0,tt)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_rowField}enterRule(t){t.enterRowField&&t.enterRowField(this)}exitRule(t){t.exitRowField&&t.exitRowField(this)}accept(t){return t.visitRowField?t.visitRowField(this):t.visitChildren(this)}}class wn extends R{constructor(t,s){super(t,s)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}type(){return this.getRuleContext(0,tt)}get ruleIndex(){return e.RULE_typeParameter}enterRule(t){t.enterTypeParameter&&t.enterTypeParameter(this)}exitRule(t){t.exitTypeParameter&&t.exitTypeParameter(this)}accept(t){return t.visitTypeParameter?t.visitTypeParameter(this):t.visitChildren(this)}}class Hs extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}get ruleIndex(){return e.RULE_whenClause}enterRule(t){t.enterWhenClause&&t.enterWhenClause(this)}exitRule(t){t.exitWhenClause&&t.exitWhenClause(this)}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}}class zr extends R{constructor(t,s){super(t,s)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_WHERE(){return this.getToken(e.KW_WHERE,0)}booleanExpression(){return this.getRuleContext(0,Rt)}get ruleIndex(){return e.RULE_filter}enterRule(t){t.enterFilter&&t.enterFilter(this)}exitRule(t){t.exitFilter&&t.exitFilter(this)}accept(t){return t.visitFilter?t.visitFilter(this):t.visitChildren(this)}}class X1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_mergeCase}copyFrom(t){super.copyFrom(t)}}class Yl extends X1{constructor(t){super(t.parent,t.invokingState),this._targets=[],this._values=[],super.copyFrom(t)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_VALUES(){return this.getToken(e.KW_VALUES,0)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_AND(){return this.getToken(e.KW_AND,0)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}enterRule(t){t.enterMergeInsert&&t.enterMergeInsert(this)}exitRule(t){t.exitMergeInsert&&t.exitMergeInsert(this)}accept(t){return t.visitMergeInsert?t.visitMergeInsert(this):t.visitChildren(this)}}class Ql extends X1{constructor(t){super(t.parent,t.invokingState),this._targets=[],this._values=[],super.copyFrom(t)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_SET(){return this.getToken(e.KW_SET,0)}EQ(t){return t===void 0?this.getTokens(e.EQ):this.getToken(e.EQ,t)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}expression(t){return t===void 0?this.getRuleContexts(y):this.getRuleContext(t,y)}KW_AND(){return this.getToken(e.KW_AND,0)}enterRule(t){t.enterMergeUpdate&&t.enterMergeUpdate(this)}exitRule(t){t.exitMergeUpdate&&t.exitMergeUpdate(this)}accept(t){return t.visitMergeUpdate?t.visitMergeUpdate(this):t.visitChildren(this)}}class jl extends X1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_THEN(){return this.getToken(e.KW_THEN,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_AND(){return this.getToken(e.KW_AND,0)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterMergeDelete&&t.enterMergeDelete(this)}exitRule(t){t.exitMergeDelete&&t.exitMergeDelete(this)}accept(t){return t.visitMergeDelete?t.visitMergeDelete(this):t.visitChildren(this)}}class $r extends R{constructor(t,s){super(t,s)}KW_OVER(){return this.getToken(e.KW_OVER,0)}windowSpecification(){return this.getRuleContext(0,br)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_over}enterRule(t){t.enterOver&&t.enterOver(this)}exitRule(t){t.exitOver&&t.exitOver(this)}accept(t){return t.visitOver?t.visitOver(this):t.visitChildren(this)}}class wa extends R{constructor(t,s){super(t,s)}frameExtent(){return this.getRuleContext(0,va)}KW_MEASURES(){return this.getToken(e.KW_MEASURES,0)}measureDefinition(t){return t===void 0?this.getRuleContexts(Us):this.getRuleContext(t,Us)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_MATCH(){return this.getToken(e.KW_MATCH,0)}skipTo(){return this.getRuleContext(0,Hr)}KW_PATTERN(){return this.getToken(e.KW_PATTERN,0)}rowPattern(){return this.getRuleContext(0,gt)}KW_SUBSET(){return this.getToken(e.KW_SUBSET,0)}subsetDefinition(t){return t===void 0?this.getRuleContexts(ws):this.getRuleContext(t,ws)}KW_DEFINE(){return this.getToken(e.KW_DEFINE,0)}variableDefinition(t){return t===void 0?this.getRuleContexts(vs):this.getRuleContext(t,vs)}KW_INITIAL(){return this.getToken(e.KW_INITIAL,0)}KW_SEEK(){return this.getToken(e.KW_SEEK,0)}get ruleIndex(){return e.RULE_windowFrame}enterRule(t){t.enterWindowFrame&&t.enterWindowFrame(this)}exitRule(t){t.exitWindowFrame&&t.exitWindowFrame(this)}accept(t){return t.visitWindowFrame?t.visitWindowFrame(this):t.visitChildren(this)}}class va extends R{constructor(t,s){super(t,s)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}frameBound(t){return t===void 0?this.getRuleContexts(Z1):this.getRuleContext(t,Z1)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_GROUPS(){return this.getToken(e.KW_GROUPS,0)}KW_BETWEEN(){return this.getToken(e.KW_BETWEEN,0)}KW_AND(){return this.getToken(e.KW_AND,0)}get ruleIndex(){return e.RULE_frameExtent}enterRule(t){t.enterFrameExtent&&t.enterFrameExtent(this)}exitRule(t){t.exitFrameExtent&&t.exitFrameExtent(this)}accept(t){return t.visitFrameExtent?t.visitFrameExtent(this):t.visitChildren(this)}}class Z1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_frameBound}copyFrom(t){super.copyFrom(t)}}class Jl extends Z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,y)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}enterRule(t){t.enterBoundedFrame&&t.enterBoundedFrame(this)}exitRule(t){t.exitBoundedFrame&&t.exitBoundedFrame(this)}accept(t){return t.visitBoundedFrame?t.visitBoundedFrame(this):t.visitChildren(this)}}class Da extends Z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}enterRule(t){t.enterUnboundedFrame&&t.enterUnboundedFrame(this)}exitRule(t){t.exitUnboundedFrame&&t.exitUnboundedFrame(this)}accept(t){return t.visitUnboundedFrame?t.visitUnboundedFrame(this):t.visitChildren(this)}}class Xl extends Z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}enterRule(t){t.enterCurrentRowBound&&t.enterCurrentRowBound(this)}exitRule(t){t.exitCurrentRowBound&&t.exitCurrentRowBound(this)}accept(t){return t.visitCurrentRowBound?t.visitCurrentRowBound(this):t.visitChildren(this)}}class gt extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_rowPattern}copyFrom(t){super.copyFrom(t)}}class Zl extends gt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}patternPrimary(){return this.getRuleContext(0,Ce)}patternQuantifier(){return this.getRuleContext(0,z1)}enterRule(t){t.enterQuantifiedPrimary&&t.enterQuantifiedPrimary(this)}exitRule(t){t.exitQuantifiedPrimary&&t.exitQuantifiedPrimary(this)}accept(t){return t.visitQuantifiedPrimary?t.visitQuantifiedPrimary(this):t.visitChildren(this)}}class zl extends gt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}enterRule(t){t.enterPatternConcatenation&&t.enterPatternConcatenation(this)}exitRule(t){t.exitPatternConcatenation&&t.exitPatternConcatenation(this)}accept(t){return t.visitPatternConcatenation?t.visitPatternConcatenation(this):t.visitChildren(this)}}class $l extends gt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}enterRule(t){t.enterPatternAlternation&&t.enterPatternAlternation(this)}exitRule(t){t.exitPatternAlternation&&t.exitPatternAlternation(this)}accept(t){return t.visitPatternAlternation?t.visitPatternAlternation(this):t.visitChildren(this)}}class Ce extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_patternPrimary}copyFrom(t){super.copyFrom(t)}}class Pl extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_PERMUTE(){return this.getToken(e.KW_PERMUTE,0)}rowPattern(t){return t===void 0?this.getRuleContexts(gt):this.getRuleContext(t,gt)}enterRule(t){t.enterPatternPermutation&&t.enterPatternPermutation(this)}exitRule(t){t.exitPatternPermutation&&t.exitPatternPermutation(this)}accept(t){return t.visitPatternPermutation?t.visitPatternPermutation(this):t.visitChildren(this)}}class ql extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterPartitionEndAnchor&&t.enterPartitionEndAnchor(this)}exitRule(t){t.exitPartitionEndAnchor&&t.exitPartitionEndAnchor(this)}accept(t){return t.visitPartitionEndAnchor?t.visitPartitionEndAnchor(this):t.visitChildren(this)}}class t8 extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterPatternVariable&&t.enterPatternVariable(this)}exitRule(t){t.exitPatternVariable&&t.exitPatternVariable(this)}accept(t){return t.visitPatternVariable?t.visitPatternVariable(this):t.visitChildren(this)}}class e8 extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(){return this.getRuleContext(0,gt)}enterRule(t){t.enterExcludedPattern&&t.enterExcludedPattern(this)}exitRule(t){t.exitExcludedPattern&&t.exitExcludedPattern(this)}accept(t){return t.visitExcludedPattern?t.visitExcludedPattern(this):t.visitChildren(this)}}class s8 extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterPartitionStartAnchor&&t.enterPartitionStartAnchor(this)}exitRule(t){t.exitPartitionStartAnchor&&t.exitPartitionStartAnchor(this)}accept(t){return t.visitPartitionStartAnchor?t.visitPartitionStartAnchor(this):t.visitChildren(this)}}class i8 extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}enterRule(t){t.enterEmptyPattern&&t.enterEmptyPattern(this)}exitRule(t){t.exitEmptyPattern&&t.exitEmptyPattern(this)}accept(t){return t.visitEmptyPattern?t.visitEmptyPattern(this):t.visitChildren(this)}}class n8 extends Ce{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}rowPattern(){return this.getRuleContext(0,gt)}enterRule(t){t.enterGroupedPattern&&t.enterGroupedPattern(this)}exitRule(t){t.exitGroupedPattern&&t.exitGroupedPattern(this)}accept(t){return t.visitGroupedPattern?t.visitGroupedPattern(this):t.visitChildren(this)}}class z1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_patternQuantifier}copyFrom(t){super.copyFrom(t)}}class r8 extends z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ASTERISK(){return this.getToken(e.ASTERISK,0)}QUESTION_MARK(){return this.getToken(e.QUESTION_MARK,0)}enterRule(t){t.enterZeroOrMoreQuantifier&&t.enterZeroOrMoreQuantifier(this)}exitRule(t){t.exitZeroOrMoreQuantifier&&t.exitZeroOrMoreQuantifier(this)}accept(t){return t.visitZeroOrMoreQuantifier?t.visitZeroOrMoreQuantifier(this):t.visitChildren(this)}}class h8 extends z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PLUS(){return this.getToken(e.PLUS,0)}QUESTION_MARK(){return this.getToken(e.QUESTION_MARK,0)}enterRule(t){t.enterOneOrMoreQuantifier&&t.enterOneOrMoreQuantifier(this)}exitRule(t){t.exitOneOrMoreQuantifier&&t.exitOneOrMoreQuantifier(this)}accept(t){return t.visitOneOrMoreQuantifier?t.visitOneOrMoreQuantifier(this):t.visitChildren(this)}}class a8 extends z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUESTION_MARK(t){return t===void 0?this.getTokens(e.QUESTION_MARK):this.getToken(e.QUESTION_MARK,t)}enterRule(t){t.enterZeroOrOneQuantifier&&t.enterZeroOrOneQuantifier(this)}exitRule(t){t.exitZeroOrOneQuantifier&&t.exitZeroOrOneQuantifier(this)}accept(t){return t.visitZeroOrOneQuantifier?t.visitZeroOrOneQuantifier(this):t.visitChildren(this)}}class ba extends z1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTEGER_VALUE(t){return t===void 0?this.getTokens(e.INTEGER_VALUE):this.getToken(e.INTEGER_VALUE,t)}QUESTION_MARK(){return this.getToken(e.QUESTION_MARK,0)}enterRule(t){t.enterRangeQuantifier&&t.enterRangeQuantifier(this)}exitRule(t){t.exitRangeQuantifier&&t.exitRangeQuantifier(this)}accept(t){return t.visitRangeQuantifier?t.visitRangeQuantifier(this):t.visitChildren(this)}}class Pr extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}EQ(){return this.getToken(e.EQ,0)}expression(){return this.getRuleContext(0,y)}get ruleIndex(){return e.RULE_updateAssignment}enterRule(t){t.enterUpdateAssignment&&t.enterUpdateAssignment(this)}exitRule(t){t.exitUpdateAssignment&&t.exitUpdateAssignment(this)}accept(t){return t.visitUpdateAssignment?t.visitUpdateAssignment(this):t.visitChildren(this)}}class Vs extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_explainOption}copyFrom(t){super.copyFrom(t)}}class o8 extends Vs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_TEXT(){return this.getToken(e.KW_TEXT,0)}KW_GRAPHVIZ(){return this.getToken(e.KW_GRAPHVIZ,0)}KW_JSON(){return this.getToken(e.KW_JSON,0)}enterRule(t){t.enterExplainFormat&&t.enterExplainFormat(this)}exitRule(t){t.exitExplainFormat&&t.exitExplainFormat(this)}accept(t){return t.visitExplainFormat?t.visitExplainFormat(this):t.visitChildren(this)}}class c8 extends Vs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_DISTRIBUTED(){return this.getToken(e.KW_DISTRIBUTED,0)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}KW_IO(){return this.getToken(e.KW_IO,0)}enterRule(t){t.enterExplainType&&t.enterExplainType(this)}exitRule(t){t.exitExplainType&&t.exitExplainType(this)}accept(t){return t.visitExplainType?t.visitExplainType(this):t.visitChildren(this)}}class Bs extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_transactionMode}copyFrom(t){super.copyFrom(t)}}class u8 extends Bs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_WRITE(){return this.getToken(e.KW_WRITE,0)}enterRule(t){t.enterTransactionAccessMode&&t.enterTransactionAccessMode(this)}exitRule(t){t.exitTransactionAccessMode&&t.exitTransactionAccessMode(this)}accept(t){return t.visitTransactionAccessMode?t.visitTransactionAccessMode(this):t.visitChildren(this)}}class l8 extends Bs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ISOLATION(){return this.getToken(e.KW_ISOLATION,0)}KW_LEVEL(){return this.getToken(e.KW_LEVEL,0)}levelOfIsolation(){return this.getRuleContext(0,$1)}enterRule(t){t.enterIsolationLevel&&t.enterIsolationLevel(this)}exitRule(t){t.exitIsolationLevel&&t.exitIsolationLevel(this)}accept(t){return t.visitIsolationLevel?t.visitIsolationLevel(this):t.visitChildren(this)}}class $1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_levelOfIsolation}copyFrom(t){super.copyFrom(t)}}class E8 extends $1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_UNCOMMITTED(){return this.getToken(e.KW_UNCOMMITTED,0)}enterRule(t){t.enterReadUncommitted&&t.enterReadUncommitted(this)}exitRule(t){t.exitReadUncommitted&&t.exitReadUncommitted(this)}accept(t){return t.visitReadUncommitted?t.visitReadUncommitted(this):t.visitChildren(this)}}class d8 extends $1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SERIALIZABLE(){return this.getToken(e.KW_SERIALIZABLE,0)}enterRule(t){t.enterSerializable&&t.enterSerializable(this)}exitRule(t){t.exitSerializable&&t.exitSerializable(this)}accept(t){return t.visitSerializable?t.visitSerializable(this):t.visitChildren(this)}}class f8 extends $1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_COMMITTED(){return this.getToken(e.KW_COMMITTED,0)}enterRule(t){t.enterReadCommitted&&t.enterReadCommitted(this)}exitRule(t){t.exitReadCommitted&&t.exitReadCommitted(this)}accept(t){return t.visitReadCommitted?t.visitReadCommitted(this):t.visitChildren(this)}}class W8 extends $1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}KW_READ(){return this.getToken(e.KW_READ,0)}enterRule(t){t.enterRepeatableRead&&t.enterRepeatableRead(this)}exitRule(t){t.exitRepeatableRead&&t.exitRepeatableRead(this)}accept(t){return t.visitRepeatableRead?t.visitRepeatableRead(this):t.visitChildren(this)}}class _1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_callArgument}copyFrom(t){super.copyFrom(t)}}class R8 extends _1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterPositionalArgument&&t.enterPositionalArgument(this)}exitRule(t){t.exitPositionalArgument&&t.exitPositionalArgument(this)}accept(t){return t.visitPositionalArgument?t.visitPositionalArgument(this):t.visitChildren(this)}}class m8 extends _1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterNamedArgument&&t.enterNamedArgument(this)}exitRule(t){t.exitNamedArgument&&t.exitNamedArgument(this)}accept(t){return t.visitNamedArgument?t.visitNamedArgument(this):t.visitChildren(this)}}class Gs extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_pathElement}copyFrom(t){super.copyFrom(t)}}class p8 extends Gs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}enterRule(t){t.enterQualifiedArgument&&t.enterQualifiedArgument(this)}exitRule(t){t.exitQualifiedArgument&&t.exitQualifiedArgument(this)}accept(t){return t.visitQualifiedArgument?t.visitQualifiedArgument(this):t.visitChildren(this)}}class _8 extends Gs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterUnqualifiedArgument&&t.enterUnqualifiedArgument(this)}exitRule(t){t.exitUnqualifiedArgument&&t.exitUnqualifiedArgument(this)}accept(t){return t.visitUnqualifiedArgument?t.visitUnqualifiedArgument(this):t.visitChildren(this)}}class qr extends R{constructor(t,s){super(t,s)}pathElement(t){return t===void 0?this.getRuleContexts(Gs):this.getRuleContext(t,Gs)}get ruleIndex(){return e.RULE_pathSpecification}enterRule(t){t.enterPathSpecification&&t.enterPathSpecification(this)}exitRule(t){t.exitPathSpecification&&t.exitPathSpecification(this)}accept(t){return t.visitPathSpecification?t.visitPathSpecification(this):t.visitChildren(this)}}class Ys extends R{constructor(t,s){super(t,s)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}functionDeclaration(){return this.getRuleContext(0,Ma)}returnsClause(){return this.getRuleContext(0,Ha)}controlStatement(){return this.getRuleContext(0,yt)}routineCharacteristic(t){return t===void 0?this.getRuleContexts(xe):this.getRuleContext(t,xe)}get ruleIndex(){return e.RULE_functionSpecification}enterRule(t){t.enterFunctionSpecification&&t.enterFunctionSpecification(this)}exitRule(t){t.exitFunctionSpecification&&t.exitFunctionSpecification(this)}accept(t){return t.visitFunctionSpecification?t.visitFunctionSpecification(this):t.visitChildren(this)}}class Ma extends R{constructor(t,s){super(t,s)}functionNameCreate(){return this.getRuleContext(0,Ga)}parameterDeclaration(t){return t===void 0?this.getRuleContexts(Qs):this.getRuleContext(t,Qs)}get ruleIndex(){return e.RULE_functionDeclaration}enterRule(t){t.enterFunctionDeclaration&&t.enterFunctionDeclaration(this)}exitRule(t){t.exitFunctionDeclaration&&t.exitFunctionDeclaration(this)}accept(t){return t.visitFunctionDeclaration?t.visitFunctionDeclaration(this):t.visitChildren(this)}}class Fa extends R{constructor(t,s){super(t,s)}functionName(){return this.getRuleContext(0,K1)}parameterDeclaration(t){return t===void 0?this.getRuleContexts(Qs):this.getRuleContext(t,Qs)}get ruleIndex(){return e.RULE_functionSignature}enterRule(t){t.enterFunctionSignature&&t.enterFunctionSignature(this)}exitRule(t){t.exitFunctionSignature&&t.exitFunctionSignature(this)}accept(t){return t.visitFunctionSignature?t.visitFunctionSignature(this):t.visitChildren(this)}}class Qs extends R{constructor(t,s){super(t,s)}type(){return this.getRuleContext(0,tt)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_parameterDeclaration}enterRule(t){t.enterParameterDeclaration&&t.enterParameterDeclaration(this)}exitRule(t){t.exitParameterDeclaration&&t.exitParameterDeclaration(this)}accept(t){return t.visitParameterDeclaration?t.visitParameterDeclaration(this):t.visitChildren(this)}}class Ha extends R{constructor(t,s){super(t,s)}KW_RETURNS(){return this.getToken(e.KW_RETURNS,0)}type(){return this.getRuleContext(0,tt)}get ruleIndex(){return e.RULE_returnsClause}enterRule(t){t.enterReturnsClause&&t.enterReturnsClause(this)}exitRule(t){t.exitReturnsClause&&t.exitReturnsClause(this)}accept(t){return t.visitReturnsClause?t.visitReturnsClause(this):t.visitChildren(this)}}class xe extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_routineCharacteristic}copyFrom(t){super.copyFrom(t)}}class K8 extends xe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RETURNS(){return this.getToken(e.KW_RETURNS,0)}KW_NULL(t){return t===void 0?this.getTokens(e.KW_NULL):this.getToken(e.KW_NULL,t)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_INPUT(){return this.getToken(e.KW_INPUT,0)}enterRule(t){t.enterReturnsNullOnNullInputCharacteristic&&t.enterReturnsNullOnNullInputCharacteristic(this)}exitRule(t){t.exitReturnsNullOnNullInputCharacteristic&&t.exitReturnsNullOnNullInputCharacteristic(this)}accept(t){return t.visitReturnsNullOnNullInputCharacteristic?t.visitReturnsNullOnNullInputCharacteristic(this):t.visitChildren(this)}}class A8 extends xe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SECURITY(){return this.getToken(e.KW_SECURITY,0)}KW_DEFINER(){return this.getToken(e.KW_DEFINER,0)}KW_INVOKER(){return this.getToken(e.KW_INVOKER,0)}enterRule(t){t.enterSecurityCharacteristic&&t.enterSecurityCharacteristic(this)}exitRule(t){t.exitSecurityCharacteristic&&t.exitSecurityCharacteristic(this)}accept(t){return t.visitSecurityCharacteristic?t.visitSecurityCharacteristic(this):t.visitChildren(this)}}class g8 extends xe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CALLED(){return this.getToken(e.KW_CALLED,0)}KW_ON(){return this.getToken(e.KW_ON,0)}KW_NULL(){return this.getToken(e.KW_NULL,0)}KW_INPUT(){return this.getToken(e.KW_INPUT,0)}enterRule(t){t.enterCalledOnNullInputCharacteristic&&t.enterCalledOnNullInputCharacteristic(this)}exitRule(t){t.exitCalledOnNullInputCharacteristic&&t.exitCalledOnNullInputCharacteristic(this)}accept(t){return t.visitCalledOnNullInputCharacteristic?t.visitCalledOnNullInputCharacteristic(this):t.visitChildren(this)}}class C8 extends xe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}string(){return this.getRuleContext(0,Q)}enterRule(t){t.enterCommentCharacteristic&&t.enterCommentCharacteristic(this)}exitRule(t){t.exitCommentCharacteristic&&t.exitCommentCharacteristic(this)}accept(t){return t.visitCommentCharacteristic?t.visitCommentCharacteristic(this):t.visitChildren(this)}}class x8 extends xe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LANGUAGE(){return this.getToken(e.KW_LANGUAGE,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterLanguageCharacteristic&&t.enterLanguageCharacteristic(this)}exitRule(t){t.exitLanguageCharacteristic&&t.exitLanguageCharacteristic(this)}accept(t){return t.visitLanguageCharacteristic?t.visitLanguageCharacteristic(this):t.visitChildren(this)}}class N8 extends xe{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_DETERMINISTIC(){return this.getToken(e.KW_DETERMINISTIC,0)}KW_NOT(){return this.getToken(e.KW_NOT,0)}enterRule(t){t.enterDeterministicCharacteristic&&t.enterDeterministicCharacteristic(this)}exitRule(t){t.exitDeterministicCharacteristic&&t.exitDeterministicCharacteristic(this)}accept(t){return t.visitDeterministicCharacteristic?t.visitDeterministicCharacteristic(this):t.visitChildren(this)}}class yt extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_controlStatement}copyFrom(t){super.copyFrom(t)}}class L8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_WHILE(t){return t===void 0?this.getTokens(e.KW_WHILE):this.getToken(e.KW_WHILE,t)}expression(){return this.getRuleContext(0,y)}KW_DO(){return this.getToken(e.KW_DO,0)}sqlStatementList(){return this.getRuleContext(0,Ne)}KW_END(){return this.getToken(e.KW_END,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterWhileStatement&&t.enterWhileStatement(this)}exitRule(t){t.exitWhileStatement&&t.exitWhileStatement(this)}accept(t){return t.visitWhileStatement?t.visitWhileStatement(this):t.visitChildren(this)}}class I8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(t){return t===void 0?this.getTokens(e.KW_CASE):this.getToken(e.KW_CASE,t)}expression(){return this.getRuleContext(0,y)}KW_END(){return this.getToken(e.KW_END,0)}caseStatementWhenClause(t){return t===void 0?this.getRuleContexts(js):this.getRuleContext(t,js)}elseClause(){return this.getRuleContext(0,vn)}enterRule(t){t.enterSimpleCaseStatement&&t.enterSimpleCaseStatement(this)}exitRule(t){t.exitSimpleCaseStatement&&t.exitSimpleCaseStatement(this)}accept(t){return t.visitSimpleCaseStatement?t.visitSimpleCaseStatement(this):t.visitChildren(this)}}class T8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_REPEAT(t){return t===void 0?this.getTokens(e.KW_REPEAT):this.getToken(e.KW_REPEAT,t)}sqlStatementList(){return this.getRuleContext(0,Ne)}KW_UNTIL(){return this.getToken(e.KW_UNTIL,0)}expression(){return this.getRuleContext(0,y)}KW_END(){return this.getToken(e.KW_END,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterRepeatStatement&&t.enterRepeatStatement(this)}exitRule(t){t.exitRepeatStatement&&t.exitRepeatStatement(this)}accept(t){return t.visitRepeatStatement?t.visitRepeatStatement(this):t.visitChildren(this)}}class O8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_SET(){return this.getToken(e.KW_SET,0)}identifier(){return this.getRuleContext(0,C)}EQ(){return this.getToken(e.EQ,0)}expression(){return this.getRuleContext(0,y)}enterRule(t){t.enterAssignmentStatement&&t.enterAssignmentStatement(this)}exitRule(t){t.exitAssignmentStatement&&t.exitAssignmentStatement(this)}accept(t){return t.visitAssignmentStatement?t.visitAssignmentStatement(this):t.visitChildren(this)}}class k8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LEAVE(){return this.getToken(e.KW_LEAVE,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterLeaveStatement&&t.enterLeaveStatement(this)}exitRule(t){t.exitLeaveStatement&&t.exitLeaveStatement(this)}accept(t){return t.visitLeaveStatement?t.visitLeaveStatement(this):t.visitChildren(this)}}class S8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_BEGIN(){return this.getToken(e.KW_BEGIN,0)}KW_END(){return this.getToken(e.KW_END,0)}variableDeclaration(t){return t===void 0?this.getRuleContexts(e2):this.getRuleContext(t,e2)}SEMICOLON(t){return t===void 0?this.getTokens(e.SEMICOLON):this.getToken(e.SEMICOLON,t)}sqlStatementList(){return this.getRuleContext(0,Ne)}enterRule(t){t.enterCompoundStatement&&t.enterCompoundStatement(this)}exitRule(t){t.exitCompoundStatement&&t.exitCompoundStatement(this)}accept(t){return t.visitCompoundStatement?t.visitCompoundStatement(this):t.visitChildren(this)}}class y8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ITERATE(){return this.getToken(e.KW_ITERATE,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterIterateStatement&&t.enterIterateStatement(this)}exitRule(t){t.exitIterateStatement&&t.exitIterateStatement(this)}accept(t){return t.visitIterateStatement?t.visitIterateStatement(this):t.visitChildren(this)}}class U8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_LOOP(t){return t===void 0?this.getTokens(e.KW_LOOP):this.getToken(e.KW_LOOP,t)}sqlStatementList(){return this.getRuleContext(0,Ne)}KW_END(){return this.getToken(e.KW_END,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterLoopStatement&&t.enterLoopStatement(this)}exitRule(t){t.exitLoopStatement&&t.exitLoopStatement(this)}accept(t){return t.visitLoopStatement?t.visitLoopStatement(this):t.visitChildren(this)}}class w8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_RETURN(){return this.getToken(e.KW_RETURN,0)}valueExpression(){return this.getRuleContext(0,j)}enterRule(t){t.enterReturnStatement&&t.enterReturnStatement(this)}exitRule(t){t.exitReturnStatement&&t.exitReturnStatement(this)}accept(t){return t.visitReturnStatement?t.visitReturnStatement(this):t.visitChildren(this)}}class v8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_IF(t){return t===void 0?this.getTokens(e.KW_IF):this.getToken(e.KW_IF,t)}expression(){return this.getRuleContext(0,y)}KW_THEN(){return this.getToken(e.KW_THEN,0)}sqlStatementList(){return this.getRuleContext(0,Ne)}KW_END(){return this.getToken(e.KW_END,0)}elseIfClause(t){return t===void 0?this.getRuleContexts(t2):this.getRuleContext(t,t2)}elseClause(){return this.getRuleContext(0,vn)}enterRule(t){t.enterIfStatement&&t.enterIfStatement(this)}exitRule(t){t.exitIfStatement&&t.exitIfStatement(this)}accept(t){return t.visitIfStatement?t.visitIfStatement(this):t.visitChildren(this)}}class D8 extends yt{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CASE(t){return t===void 0?this.getTokens(e.KW_CASE):this.getToken(e.KW_CASE,t)}KW_END(){return this.getToken(e.KW_END,0)}caseStatementWhenClause(t){return t===void 0?this.getRuleContexts(js):this.getRuleContext(t,js)}elseClause(){return this.getRuleContext(0,vn)}enterRule(t){t.enterSearchedCaseStatement&&t.enterSearchedCaseStatement(this)}exitRule(t){t.exitSearchedCaseStatement&&t.exitSearchedCaseStatement(this)}accept(t){return t.visitSearchedCaseStatement?t.visitSearchedCaseStatement(this):t.visitChildren(this)}}class js extends R{constructor(t,s){super(t,s)}KW_WHEN(){return this.getToken(e.KW_WHEN,0)}expression(){return this.getRuleContext(0,y)}KW_THEN(){return this.getToken(e.KW_THEN,0)}sqlStatementList(){return this.getRuleContext(0,Ne)}get ruleIndex(){return e.RULE_caseStatementWhenClause}enterRule(t){t.enterCaseStatementWhenClause&&t.enterCaseStatementWhenClause(this)}exitRule(t){t.exitCaseStatementWhenClause&&t.exitCaseStatementWhenClause(this)}accept(t){return t.visitCaseStatementWhenClause?t.visitCaseStatementWhenClause(this):t.visitChildren(this)}}class t2 extends R{constructor(t,s){super(t,s)}KW_ELSEIF(){return this.getToken(e.KW_ELSEIF,0)}expression(){return this.getRuleContext(0,y)}KW_THEN(){return this.getToken(e.KW_THEN,0)}sqlStatementList(){return this.getRuleContext(0,Ne)}get ruleIndex(){return e.RULE_elseIfClause}enterRule(t){t.enterElseIfClause&&t.enterElseIfClause(this)}exitRule(t){t.exitElseIfClause&&t.exitElseIfClause(this)}accept(t){return t.visitElseIfClause?t.visitElseIfClause(this):t.visitChildren(this)}}class vn extends R{constructor(t,s){super(t,s)}KW_ELSE(){return this.getToken(e.KW_ELSE,0)}sqlStatementList(){return this.getRuleContext(0,Ne)}get ruleIndex(){return e.RULE_elseClause}enterRule(t){t.enterElseClause&&t.enterElseClause(this)}exitRule(t){t.exitElseClause&&t.exitElseClause(this)}accept(t){return t.visitElseClause?t.visitElseClause(this):t.visitChildren(this)}}class e2 extends R{constructor(t,s){super(t,s)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}type(){return this.getRuleContext(0,tt)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}valueExpression(){return this.getRuleContext(0,j)}get ruleIndex(){return e.RULE_variableDeclaration}enterRule(t){t.enterVariableDeclaration&&t.enterVariableDeclaration(this)}exitRule(t){t.exitVariableDeclaration&&t.exitVariableDeclaration(this)}accept(t){return t.visitVariableDeclaration?t.visitVariableDeclaration(this):t.visitChildren(this)}}class Ne extends R{constructor(t,s){super(t,s)}controlStatement(t){return t===void 0?this.getRuleContexts(yt):this.getRuleContext(t,yt)}SEMICOLON(t){return t===void 0?this.getTokens(e.SEMICOLON):this.getToken(e.SEMICOLON,t)}get ruleIndex(){return e.RULE_sqlStatementList}enterRule(t){t.enterSqlStatementList&&t.enterSqlStatementList(this)}exitRule(t){t.exitSqlStatementList&&t.exitSqlStatementList(this)}accept(t){return t.visitSqlStatementList?t.visitSqlStatementList(this):t.visitChildren(this)}}class s2 extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_privilege}enterRule(t){t.enterPrivilege&&t.enterPrivilege(this)}exitRule(t){t.exitPrivilege&&t.exitPrivilege(this)}accept(t){return t.visitPrivilege?t.visitPrivilege(this):t.visitChildren(this)}}class Va extends R{constructor(t,s){super(t,s)}KW_TABLE(){return this.getToken(e.KW_TABLE,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_entityKind}enterRule(t){t.enterEntityKind&&t.enterEntityKind(this)}exitRule(t){t.exitEntityKind&&t.exitEntityKind(this)}accept(t){return t.visitEntityKind?t.visitEntityKind(this):t.visitChildren(this)}}class Js extends R{constructor(t,s){super(t,s)}qualifiedName(){return this.getRuleContext(0,te)}entityKind(){return this.getRuleContext(0,Va)}get ruleIndex(){return e.RULE_grantObject}enterRule(t){t.enterGrantObject&&t.enterGrantObject(this)}exitRule(t){t.exitGrantObject&&t.exitGrantObject(this)}accept(t){return t.visitGrantObject?t.visitGrantObject(this):t.visitChildren(this)}}class Dn extends R{constructor(t,s){super(t,s)}tableRef(){return this.getRuleContext(0,ot)}viewRef(){return this.getRuleContext(0,Qt)}get ruleIndex(){return e.RULE_tableOrViewName}enterRule(t){t.enterTableOrViewName&&t.enterTableOrViewName(this)}exitRule(t){t.exitTableOrViewName&&t.exitTableOrViewName(this)}accept(t){return t.visitTableOrViewName?t.visitTableOrViewName(this):t.visitChildren(this)}}class ot extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_tableRef}enterRule(t){t.enterTableRef&&t.enterTableRef(this)}exitRule(t){t.exitTableRef&&t.exitTableRef(this)}accept(t){return t.visitTableRef?t.visitTableRef(this):t.visitChildren(this)}}class bn extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_tableNameCreate}enterRule(t){t.enterTableNameCreate&&t.enterTableNameCreate(this)}exitRule(t){t.exitTableNameCreate&&t.exitTableNameCreate(this)}accept(t){return t.visitTableNameCreate?t.visitTableNameCreate(this):t.visitChildren(this)}}class Qt extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_viewRef}enterRule(t){t.enterViewRef&&t.enterViewRef(this)}exitRule(t){t.exitViewRef&&t.exitViewRef(this)}accept(t){return t.visitViewRef?t.visitViewRef(this):t.visitChildren(this)}}class Xs extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_viewNameCreate}enterRule(t){t.enterViewNameCreate&&t.enterViewNameCreate(this)}exitRule(t){t.exitViewNameCreate&&t.exitViewNameCreate(this)}accept(t){return t.visitViewNameCreate?t.visitViewNameCreate(this):t.visitChildren(this)}}class Qe extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_schemaRef}enterRule(t){t.enterSchemaRef&&t.enterSchemaRef(this)}exitRule(t){t.exitSchemaRef&&t.exitSchemaRef(this)}accept(t){return t.visitSchemaRef?t.visitSchemaRef(this):t.visitChildren(this)}}class i2 extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_schemaNameCreate}enterRule(t){t.enterSchemaNameCreate&&t.enterSchemaNameCreate(this)}exitRule(t){t.exitSchemaNameCreate&&t.exitSchemaNameCreate(this)}accept(t){return t.visitSchemaNameCreate?t.visitSchemaNameCreate(this):t.visitChildren(this)}}class fe extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_catalogRef}enterRule(t){t.enterCatalogRef&&t.enterCatalogRef(this)}exitRule(t){t.exitCatalogRef&&t.exitCatalogRef(this)}accept(t){return t.visitCatalogRef?t.visitCatalogRef(this):t.visitChildren(this)}}class Ba extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_catalogNameCreate}enterRule(t){t.enterCatalogNameCreate&&t.enterCatalogNameCreate(this)}exitRule(t){t.exitCatalogNameCreate&&t.exitCatalogNameCreate(this)}accept(t){return t.visitCatalogNameCreate?t.visitCatalogNameCreate(this):t.visitChildren(this)}}class K1 extends R{constructor(t,s){super(t,s)}qualifiedName(){return this.getRuleContext(0,te)}get ruleIndex(){return e.RULE_functionName}enterRule(t){t.enterFunctionName&&t.enterFunctionName(this)}exitRule(t){t.exitFunctionName&&t.exitFunctionName(this)}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}}class Ga extends R{constructor(t,s){super(t,s)}qualifiedName(){return this.getRuleContext(0,te)}get ruleIndex(){return e.RULE_functionNameCreate}enterRule(t){t.enterFunctionNameCreate&&t.enterFunctionNameCreate(this)}exitRule(t){t.exitFunctionNameCreate&&t.exitFunctionNameCreate(this)}accept(t){return t.visitFunctionNameCreate?t.visitFunctionNameCreate(this):t.visitChildren(this)}}class jt extends R{constructor(t,s){super(t,s)}qualifiedName(){return this.getRuleContext(0,te)}get ruleIndex(){return e.RULE_columnRef}enterRule(t){t.enterColumnRef&&t.enterColumnRef(this)}exitRule(t){t.exitColumnRef&&t.exitColumnRef(this)}accept(t){return t.visitColumnRef?t.visitColumnRef(this):t.visitChildren(this)}}class Zs extends R{constructor(t,s){super(t,s)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_columnNameCreate}enterRule(t){t.enterColumnNameCreate&&t.enterColumnNameCreate(this)}exitRule(t){t.exitColumnNameCreate&&t.exitColumnNameCreate(this)}accept(t){return t.visitColumnNameCreate?t.visitColumnNameCreate(this):t.visitChildren(this)}}class te extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_qualifiedName}enterRule(t){t.enterQualifiedName&&t.enterQualifiedName(this)}exitRule(t){t.exitQualifiedName&&t.exitQualifiedName(this)}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}}class Ya extends R{constructor(t,s){super(t,s)}KW_FOR(){return this.getToken(e.KW_FOR,0)}rangeType(){return this.getRuleContext(0,Qa)}KW_AS(){return this.getToken(e.KW_AS,0)}KW_OF(){return this.getToken(e.KW_OF,0)}valueExpression(){return this.getRuleContext(0,j)}get ruleIndex(){return e.RULE_queryPeriod}enterRule(t){t.enterQueryPeriod&&t.enterQueryPeriod(this)}exitRule(t){t.exitQueryPeriod&&t.exitQueryPeriod(this)}accept(t){return t.visitQueryPeriod?t.visitQueryPeriod(this):t.visitChildren(this)}}class Qa extends R{constructor(t,s){super(t,s)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}get ruleIndex(){return e.RULE_rangeType}enterRule(t){t.enterRangeType&&t.enterRangeType(this)}exitRule(t){t.exitRangeType&&t.exitRangeType(this)}accept(t){return t.visitRangeType?t.visitRangeType(this):t.visitChildren(this)}}class A1 extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_grantor}copyFrom(t){super.copyFrom(t)}}class b8 extends A1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_USER(){return this.getToken(e.KW_CURRENT_USER,0)}enterRule(t){t.enterCurrentUserGrantor&&t.enterCurrentUserGrantor(this)}exitRule(t){t.exitCurrentUserGrantor&&t.exitCurrentUserGrantor(this)}accept(t){return t.visitCurrentUserGrantor?t.visitCurrentUserGrantor(this):t.visitChildren(this)}}class M8 extends A1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}principal(){return this.getRuleContext(0,Ct)}enterRule(t){t.enterSpecifiedPrincipal&&t.enterSpecifiedPrincipal(this)}exitRule(t){t.exitSpecifiedPrincipal&&t.exitSpecifiedPrincipal(this)}accept(t){return t.visitSpecifiedPrincipal?t.visitSpecifiedPrincipal(this):t.visitChildren(this)}}class F8 extends A1{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_CURRENT_ROLE(){return this.getToken(e.KW_CURRENT_ROLE,0)}enterRule(t){t.enterCurrentRoleGrantor&&t.enterCurrentRoleGrantor(this)}exitRule(t){t.exitCurrentRoleGrantor&&t.exitCurrentRoleGrantor(this)}accept(t){return t.visitCurrentRoleGrantor?t.visitCurrentRoleGrantor(this):t.visitChildren(this)}}class Ct extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_principal}copyFrom(t){super.copyFrom(t)}}class H8 extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterUnspecifiedPrincipal&&t.enterUnspecifiedPrincipal(this)}exitRule(t){t.exitUnspecifiedPrincipal&&t.exitUnspecifiedPrincipal(this)}accept(t){return t.visitUnspecifiedPrincipal?t.visitUnspecifiedPrincipal(this):t.visitChildren(this)}}class V8 extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_USER(){return this.getToken(e.KW_USER,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterUserPrincipal&&t.enterUserPrincipal(this)}exitRule(t){t.exitUserPrincipal&&t.exitUserPrincipal(this)}accept(t){return t.visitUserPrincipal?t.visitUserPrincipal(this):t.visitChildren(this)}}class B8 extends Ct{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterRolePrincipal&&t.enterRolePrincipal(this)}exitRule(t){t.exitRolePrincipal&&t.exitRolePrincipal(this)}accept(t){return t.visitRolePrincipal?t.visitRolePrincipal(this):t.visitChildren(this)}}class G8 extends R{constructor(t,s){super(t,s)}identifier(t){return t===void 0?this.getRuleContexts(C):this.getRuleContext(t,C)}get ruleIndex(){return e.RULE_roles}enterRule(t){t.enterRoles&&t.enterRoles(this)}exitRule(t){t.exitRoles&&t.exitRoles(this)}accept(t){return t.visitRoles?t.visitRoles(this):t.visitChildren(this)}}class Le extends R{constructor(t,s){super(t,s)}KW_CREATE(){return this.getToken(e.KW_CREATE,0)}KW_SELECT(){return this.getToken(e.KW_SELECT,0)}KW_DELETE(){return this.getToken(e.KW_DELETE,0)}KW_INSERT(){return this.getToken(e.KW_INSERT,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_EXECUTE(){return this.getToken(e.KW_EXECUTE,0)}identifier(){return this.getRuleContext(0,C)}get ruleIndex(){return e.RULE_privilegeOrRole}enterRule(t){t.enterPrivilegeOrRole&&t.enterPrivilegeOrRole(this)}exitRule(t){t.exitPrivilegeOrRole&&t.exitPrivilegeOrRole(this)}accept(t){return t.visitPrivilegeOrRole?t.visitPrivilegeOrRole(this):t.visitChildren(this)}}class C extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_identifier}copyFrom(t){super.copyFrom(t)}}class Y8 extends C{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BACKQUOTED_IDENTIFIER(){return this.getToken(e.BACKQUOTED_IDENTIFIER,0)}enterRule(t){t.enterBackQuotedIdentifier&&t.enterBackQuotedIdentifier(this)}exitRule(t){t.exitBackQuotedIdentifier&&t.exitBackQuotedIdentifier(this)}accept(t){return t.visitBackQuotedIdentifier?t.visitBackQuotedIdentifier(this):t.visitChildren(this)}}class Q8 extends C{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}QUOTED_IDENTIFIER(){return this.getToken(e.QUOTED_IDENTIFIER,0)}enterRule(t){t.enterQuotedIdentifier&&t.enterQuotedIdentifier(this)}exitRule(t){t.exitQuotedIdentifier&&t.exitQuotedIdentifier(this)}accept(t){return t.visitQuotedIdentifier?t.visitQuotedIdentifier(this):t.visitChildren(this)}}class j8 extends C{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DIGIT_IDENTIFIER(){return this.getToken(e.DIGIT_IDENTIFIER,0)}enterRule(t){t.enterDigitIdentifier&&t.enterDigitIdentifier(this)}exitRule(t){t.exitDigitIdentifier&&t.exitDigitIdentifier(this)}accept(t){return t.visitDigitIdentifier?t.visitDigitIdentifier(this):t.visitChildren(this)}}class ja extends C{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IDENTIFIER(){return this.getToken(e.IDENTIFIER,0)}nonReserved(){return this.getRuleContext(0,Ja)}enterRule(t){t.enterUnquotedIdentifier&&t.enterUnquotedIdentifier(this)}exitRule(t){t.exitUnquotedIdentifier&&t.exitUnquotedIdentifier(this)}accept(t){return t.visitUnquotedIdentifier?t.visitUnquotedIdentifier(this):t.visitChildren(this)}}class zs extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_number}copyFrom(t){super.copyFrom(t)}}class J8 extends zs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DECIMAL_VALUE(){return this.getToken(e.DECIMAL_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}enterRule(t){t.enterDecimalLiteral&&t.enterDecimalLiteral(this)}exitRule(t){t.exitDecimalLiteral&&t.exitDecimalLiteral(this)}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}}class X8 extends zs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DOUBLE_VALUE(){return this.getToken(e.DOUBLE_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}enterRule(t){t.enterDoubleLiteral&&t.enterDoubleLiteral(this)}exitRule(t){t.exitDoubleLiteral&&t.exitDoubleLiteral(this)}accept(t){return t.visitDoubleLiteral?t.visitDoubleLiteral(this):t.visitChildren(this)}}class Z8 extends zs{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTEGER_VALUE(){return this.getToken(e.INTEGER_VALUE,0)}MINUS(){return this.getToken(e.MINUS,0)}enterRule(t){t.enterIntegerLiteral&&t.enterIntegerLiteral(this)}exitRule(t){t.exitIntegerLiteral&&t.exitIntegerLiteral(this)}accept(t){return t.visitIntegerLiteral?t.visitIntegerLiteral(this):t.visitChildren(this)}}class Mn extends R{constructor(t,s){super(t,s)}get ruleIndex(){return e.RULE_authorizationUser}copyFrom(t){super.copyFrom(t)}}class z8 extends Mn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}string(){return this.getRuleContext(0,Q)}enterRule(t){t.enterStringUser&&t.enterStringUser(this)}exitRule(t){t.exitStringUser&&t.exitStringUser(this)}accept(t){return t.visitStringUser?t.visitStringUser(this):t.visitChildren(this)}}class $8 extends Mn{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,C)}enterRule(t){t.enterIdentifierUser&&t.enterIdentifierUser(this)}exitRule(t){t.exitIdentifierUser&&t.exitIdentifierUser(this)}accept(t){return t.visitIdentifierUser?t.visitIdentifierUser(this):t.visitChildren(this)}}class Ja extends R{constructor(t,s){super(t,s)}KW_ABSENT(){return this.getToken(e.KW_ABSENT,0)}KW_ADD(){return this.getToken(e.KW_ADD,0)}KW_ADMIN(){return this.getToken(e.KW_ADMIN,0)}KW_AFTER(){return this.getToken(e.KW_AFTER,0)}KW_ALL(){return this.getToken(e.KW_ALL,0)}KW_ANALYZE(){return this.getToken(e.KW_ANALYZE,0)}KW_ANY(){return this.getToken(e.KW_ANY,0)}KW_ARRAY(){return this.getToken(e.KW_ARRAY,0)}KW_ASC(){return this.getToken(e.KW_ASC,0)}KW_AT(){return this.getToken(e.KW_AT,0)}KW_AUTHORIZATION(){return this.getToken(e.KW_AUTHORIZATION,0)}KW_BEGIN(){return this.getToken(e.KW_BEGIN,0)}KW_BERNOULLI(){return this.getToken(e.KW_BERNOULLI,0)}KW_BOTH(){return this.getToken(e.KW_BOTH,0)}KW_CALL(){return this.getToken(e.KW_CALL,0)}KW_CALLED(){return this.getToken(e.KW_CALLED,0)}KW_CASCADE(){return this.getToken(e.KW_CASCADE,0)}KW_CATALOG(){return this.getToken(e.KW_CATALOG,0)}KW_CATALOGS(){return this.getToken(e.KW_CATALOGS,0)}KW_COLUMN(){return this.getToken(e.KW_COLUMN,0)}KW_COLUMNS(){return this.getToken(e.KW_COLUMNS,0)}KW_COMMENT(){return this.getToken(e.KW_COMMENT,0)}KW_COMMIT(){return this.getToken(e.KW_COMMIT,0)}KW_COMMITTED(){return this.getToken(e.KW_COMMITTED,0)}KW_CONDITIONAL(){return this.getToken(e.KW_CONDITIONAL,0)}KW_COPARTITION(){return this.getToken(e.KW_COPARTITION,0)}KW_COUNT(){return this.getToken(e.KW_COUNT,0)}KW_CURRENT(){return this.getToken(e.KW_CURRENT,0)}KW_DATA(){return this.getToken(e.KW_DATA,0)}KW_DATE(){return this.getToken(e.KW_DATE,0)}KW_DAY(){return this.getToken(e.KW_DAY,0)}KW_DECLARE(){return this.getToken(e.KW_DECLARE,0)}KW_DEFAULT(){return this.getToken(e.KW_DEFAULT,0)}KW_DEFINE(){return this.getToken(e.KW_DEFINE,0)}KW_DEFINER(){return this.getToken(e.KW_DEFINER,0)}KW_DENY(){return this.getToken(e.KW_DENY,0)}KW_DESC(){return this.getToken(e.KW_DESC,0)}KW_DESCRIPTOR(){return this.getToken(e.KW_DESCRIPTOR,0)}KW_DETERMINISTIC(){return this.getToken(e.KW_DETERMINISTIC,0)}KW_DISTRIBUTED(){return this.getToken(e.KW_DISTRIBUTED,0)}KW_DO(){return this.getToken(e.KW_DO,0)}KW_DOUBLE(){return this.getToken(e.KW_DOUBLE,0)}KW_ELSEIF(){return this.getToken(e.KW_ELSEIF,0)}KW_EMPTY(){return this.getToken(e.KW_EMPTY,0)}KW_ENCODING(){return this.getToken(e.KW_ENCODING,0)}KW_ERROR(){return this.getToken(e.KW_ERROR,0)}KW_EXCLUDING(){return this.getToken(e.KW_EXCLUDING,0)}KW_EXPLAIN(){return this.getToken(e.KW_EXPLAIN,0)}KW_FETCH(){return this.getToken(e.KW_FETCH,0)}KW_FILTER(){return this.getToken(e.KW_FILTER,0)}KW_FINAL(){return this.getToken(e.KW_FINAL,0)}KW_FIRST(){return this.getToken(e.KW_FIRST,0)}KW_FOLLOWING(){return this.getToken(e.KW_FOLLOWING,0)}KW_FORMAT(){return this.getToken(e.KW_FORMAT,0)}KW_FUNCTION(){return this.getToken(e.KW_FUNCTION,0)}KW_FUNCTIONS(){return this.getToken(e.KW_FUNCTIONS,0)}KW_GRACE(){return this.getToken(e.KW_GRACE,0)}KW_GRANT(){return this.getToken(e.KW_GRANT,0)}KW_GRANTED(){return this.getToken(e.KW_GRANTED,0)}KW_GRANTS(){return this.getToken(e.KW_GRANTS,0)}KW_GRAPHVIZ(){return this.getToken(e.KW_GRAPHVIZ,0)}KW_GROUPS(){return this.getToken(e.KW_GROUPS,0)}KW_HOUR(){return this.getToken(e.KW_HOUR,0)}KW_IF(){return this.getToken(e.KW_IF,0)}KW_IGNORE(){return this.getToken(e.KW_IGNORE,0)}KW_IMMEDIATE(){return this.getToken(e.KW_IMMEDIATE,0)}KW_INCLUDING(){return this.getToken(e.KW_INCLUDING,0)}KW_INITIAL(){return this.getToken(e.KW_INITIAL,0)}KW_INPUT(){return this.getToken(e.KW_INPUT,0)}KW_INTERVAL(){return this.getToken(e.KW_INTERVAL,0)}KW_INVOKER(){return this.getToken(e.KW_INVOKER,0)}KW_IO(){return this.getToken(e.KW_IO,0)}KW_ITERATE(){return this.getToken(e.KW_ITERATE,0)}KW_ISOLATION(){return this.getToken(e.KW_ISOLATION,0)}KW_JSON(){return this.getToken(e.KW_JSON,0)}KW_KEEP(){return this.getToken(e.KW_KEEP,0)}KW_KEY(){return this.getToken(e.KW_KEY,0)}KW_KEYS(){return this.getToken(e.KW_KEYS,0)}KW_LANGUAGE(){return this.getToken(e.KW_LANGUAGE,0)}KW_LAST(){return this.getToken(e.KW_LAST,0)}KW_LATERAL(){return this.getToken(e.KW_LATERAL,0)}KW_LEADING(){return this.getToken(e.KW_LEADING,0)}KW_LEAVE(){return this.getToken(e.KW_LEAVE,0)}KW_LEVEL(){return this.getToken(e.KW_LEVEL,0)}KW_LIMIT(){return this.getToken(e.KW_LIMIT,0)}KW_LOCAL(){return this.getToken(e.KW_LOCAL,0)}KW_LOGICAL(){return this.getToken(e.KW_LOGICAL,0)}KW_LOOP(){return this.getToken(e.KW_LOOP,0)}KW_MAP(){return this.getToken(e.KW_MAP,0)}KW_MATCH(){return this.getToken(e.KW_MATCH,0)}KW_MATCHED(){return this.getToken(e.KW_MATCHED,0)}KW_MATCHES(){return this.getToken(e.KW_MATCHES,0)}KW_MATCH_RECOGNIZE(){return this.getToken(e.KW_MATCH_RECOGNIZE,0)}KW_MATERIALIZED(){return this.getToken(e.KW_MATERIALIZED,0)}KW_MEASURES(){return this.getToken(e.KW_MEASURES,0)}KW_MERGE(){return this.getToken(e.KW_MERGE,0)}KW_MINUTE(){return this.getToken(e.KW_MINUTE,0)}KW_MONTH(){return this.getToken(e.KW_MONTH,0)}KW_NESTED(){return this.getToken(e.KW_NESTED,0)}KW_NEXT(){return this.getToken(e.KW_NEXT,0)}KW_NFC(){return this.getToken(e.KW_NFC,0)}KW_NFD(){return this.getToken(e.KW_NFD,0)}KW_NFKC(){return this.getToken(e.KW_NFKC,0)}KW_NFKD(){return this.getToken(e.KW_NFKD,0)}KW_NO(){return this.getToken(e.KW_NO,0)}KW_NONE(){return this.getToken(e.KW_NONE,0)}KW_NULLIF(){return this.getToken(e.KW_NULLIF,0)}KW_NULLS(){return this.getToken(e.KW_NULLS,0)}KW_OBJECT(){return this.getToken(e.KW_OBJECT,0)}KW_OF(){return this.getToken(e.KW_OF,0)}KW_OFFSET(){return this.getToken(e.KW_OFFSET,0)}KW_OMIT(){return this.getToken(e.KW_OMIT,0)}KW_ONE(){return this.getToken(e.KW_ONE,0)}KW_ONLY(){return this.getToken(e.KW_ONLY,0)}KW_OPTION(){return this.getToken(e.KW_OPTION,0)}KW_ORDINALITY(){return this.getToken(e.KW_ORDINALITY,0)}KW_OUTPUT(){return this.getToken(e.KW_OUTPUT,0)}KW_OVER(){return this.getToken(e.KW_OVER,0)}KW_OVERFLOW(){return this.getToken(e.KW_OVERFLOW,0)}KW_PARTITION(){return this.getToken(e.KW_PARTITION,0)}KW_PARTITIONS(){return this.getToken(e.KW_PARTITIONS,0)}KW_PASSING(){return this.getToken(e.KW_PASSING,0)}KW_PAST(){return this.getToken(e.KW_PAST,0)}KW_PATH(){return this.getToken(e.KW_PATH,0)}KW_PATTERN(){return this.getToken(e.KW_PATTERN,0)}KW_PER(){return this.getToken(e.KW_PER,0)}KW_PERIOD(){return this.getToken(e.KW_PERIOD,0)}KW_PERMUTE(){return this.getToken(e.KW_PERMUTE,0)}KW_PLAN(){return this.getToken(e.KW_PLAN,0)}KW_POSITION(){return this.getToken(e.KW_POSITION,0)}KW_PRECEDING(){return this.getToken(e.KW_PRECEDING,0)}KW_PRECISION(){return this.getToken(e.KW_PRECISION,0)}KW_PRIVILEGES(){return this.getToken(e.KW_PRIVILEGES,0)}KW_PROPERTIES(){return this.getToken(e.KW_PROPERTIES,0)}KW_PRUNE(){return this.getToken(e.KW_PRUNE,0)}KW_QUOTES(){return this.getToken(e.KW_QUOTES,0)}KW_RANGE(){return this.getToken(e.KW_RANGE,0)}KW_READ(){return this.getToken(e.KW_READ,0)}KW_REFRESH(){return this.getToken(e.KW_REFRESH,0)}KW_RENAME(){return this.getToken(e.KW_RENAME,0)}KW_REPEAT(){return this.getToken(e.KW_REPEAT,0)}KW_REPEATABLE(){return this.getToken(e.KW_REPEATABLE,0)}KW_REPLACE(){return this.getToken(e.KW_REPLACE,0)}KW_RESET(){return this.getToken(e.KW_RESET,0)}KW_RESPECT(){return this.getToken(e.KW_RESPECT,0)}KW_RESTRICT(){return this.getToken(e.KW_RESTRICT,0)}KW_RETURN(){return this.getToken(e.KW_RETURN,0)}KW_RETURNING(){return this.getToken(e.KW_RETURNING,0)}KW_RETURNS(){return this.getToken(e.KW_RETURNS,0)}KW_REVOKE(){return this.getToken(e.KW_REVOKE,0)}KW_ROLE(){return this.getToken(e.KW_ROLE,0)}KW_ROLES(){return this.getToken(e.KW_ROLES,0)}KW_ROLLBACK(){return this.getToken(e.KW_ROLLBACK,0)}KW_ROW(){return this.getToken(e.KW_ROW,0)}KW_ROWS(){return this.getToken(e.KW_ROWS,0)}KW_RUNNING(){return this.getToken(e.KW_RUNNING,0)}KW_SCALAR(){return this.getToken(e.KW_SCALAR,0)}KW_SCHEMA(){return this.getToken(e.KW_SCHEMA,0)}KW_SCHEMAS(){return this.getToken(e.KW_SCHEMAS,0)}KW_SECOND(){return this.getToken(e.KW_SECOND,0)}KW_SECURITY(){return this.getToken(e.KW_SECURITY,0)}KW_SEEK(){return this.getToken(e.KW_SEEK,0)}KW_SERIALIZABLE(){return this.getToken(e.KW_SERIALIZABLE,0)}KW_SESSION(){return this.getToken(e.KW_SESSION,0)}KW_SET(){return this.getToken(e.KW_SET,0)}KW_SETS(){return this.getToken(e.KW_SETS,0)}KW_SHOW(){return this.getToken(e.KW_SHOW,0)}KW_SOME(){return this.getToken(e.KW_SOME,0)}KW_START(){return this.getToken(e.KW_START,0)}KW_STATS(){return this.getToken(e.KW_STATS,0)}KW_SUBSET(){return this.getToken(e.KW_SUBSET,0)}KW_SUBSTRING(){return this.getToken(e.KW_SUBSTRING,0)}KW_SYSTEM(){return this.getToken(e.KW_SYSTEM,0)}KW_TABLES(){return this.getToken(e.KW_TABLES,0)}KW_TABLESAMPLE(){return this.getToken(e.KW_TABLESAMPLE,0)}KW_TEXT(){return this.getToken(e.KW_TEXT,0)}KW_TEXT_STRING(){return this.getToken(e.KW_TEXT_STRING,0)}KW_TIES(){return this.getToken(e.KW_TIES,0)}KW_TIME(){return this.getToken(e.KW_TIME,0)}KW_TIMESTAMP(){return this.getToken(e.KW_TIMESTAMP,0)}KW_TO(){return this.getToken(e.KW_TO,0)}KW_TRAILING(){return this.getToken(e.KW_TRAILING,0)}KW_TRANSACTION(){return this.getToken(e.KW_TRANSACTION,0)}KW_TRUNCATE(){return this.getToken(e.KW_TRUNCATE,0)}KW_TRY_CAST(){return this.getToken(e.KW_TRY_CAST,0)}KW_TYPE(){return this.getToken(e.KW_TYPE,0)}KW_UNBOUNDED(){return this.getToken(e.KW_UNBOUNDED,0)}KW_UNCOMMITTED(){return this.getToken(e.KW_UNCOMMITTED,0)}KW_UNCONDITIONAL(){return this.getToken(e.KW_UNCONDITIONAL,0)}KW_UNIQUE(){return this.getToken(e.KW_UNIQUE,0)}KW_UNKNOWN(){return this.getToken(e.KW_UNKNOWN,0)}KW_UNMATCHED(){return this.getToken(e.KW_UNMATCHED,0)}KW_UNTIL(){return this.getToken(e.KW_UNTIL,0)}KW_UPDATE(){return this.getToken(e.KW_UPDATE,0)}KW_USE(){return this.getToken(e.KW_USE,0)}KW_USER(){return this.getToken(e.KW_USER,0)}KW_UTF16(){return this.getToken(e.KW_UTF16,0)}KW_UTF32(){return this.getToken(e.KW_UTF32,0)}KW_UTF8(){return this.getToken(e.KW_UTF8,0)}KW_VALIDATE(){return this.getToken(e.KW_VALIDATE,0)}KW_VALUE(){return this.getToken(e.KW_VALUE,0)}KW_VERBOSE(){return this.getToken(e.KW_VERBOSE,0)}KW_VERSION(){return this.getToken(e.KW_VERSION,0)}KW_VIEW(){return this.getToken(e.KW_VIEW,0)}KW_WHILE(){return this.getToken(e.KW_WHILE,0)}KW_WINDOW(){return this.getToken(e.KW_WINDOW,0)}KW_WITHIN(){return this.getToken(e.KW_WITHIN,0)}KW_WITHOUT(){return this.getToken(e.KW_WITHOUT,0)}KW_WORK(){return this.getToken(e.KW_WORK,0)}KW_WRAPPER(){return this.getToken(e.KW_WRAPPER,0)}KW_WRITE(){return this.getToken(e.KW_WRITE,0)}KW_YEAR(){return this.getToken(e.KW_YEAR,0)}KW_ZONE(){return this.getToken(e.KW_ZONE,0)}get ruleIndex(){return e.RULE_nonReserved}enterRule(t){t.enterNonReserved&&t.enterNonReserved(this)}exitRule(t){t.exitNonReserved&&t.exitNonReserved(this)}accept(t){return t.visitNonReserved?t.visitNonReserved(this):t.visitChildren(this)}}var P8=Object.defineProperty,ct=(i,t)=>P8(i,"name",{value:t,configurable:!0}),je=(Vi=class{constructor(t=""){l(this,"name");l(this,"context");l(this,"modifiers",new Set);l(this,"visibility",0);q(this,ft,void 0);this.name=t}get parent(){return N(this,ft)}get firstSibling(){var t;if(N(this,ft))return(t=N(this,ft))==null?void 0:t.firstChild}get previousSibling(){if(N(this,ft))return N(this,ft)?N(this,ft).previousSiblingOf(this):this}get nextSibling(){var t;return(t=N(this,ft))==null?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return(t=N(this,ft))==null?void 0:t.lastChild}get next(){var t;return(t=N(this,ft))==null?void 0:t.nextOf(this)}get root(){let t=N(this,ft);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=N(this,ft);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let s=this;for(;s&&(t.push(s),!!s.parent);)s=s.parent;return t}setParent(t){Z(this,ft,t)}removeFromParent(){var t;(t=N(this,ft))==null||t.removeSymbol(this),Z(this,ft,void 0)}async resolve(t,s=!1){var n;return(n=N(this,ft))==null?void 0:n.resolve(t,s)}resolveSync(t,s=!1){var n;return(n=N(this,ft))==null?void 0:n.resolveSync(t,s)}getParentOfType(t){let s=N(this,ft);for(;s;){if(s instanceof t)return s;s=s.parent}}qualifiedName(t=".",s=!1,n=!1){if(!n&&this.name.length===0)return"";let r=this.name.length===0?"":this.name,h=N(this,ft);for(;h&&((n||h.name.length>0)&&(r=(h.name.length===0?"":h.name)+t+r),!(!s||!h.parent));)h=h.parent;return r}isSymbolTable(t){return t.info!==void 0}},ft=new WeakMap,ct(Vi,"BaseSymbol"),Vi);Bi=class extends je{constructor(s,n,r,h=0){super(s);l(this,"elementType");l(this,"size");l(this,"referenceKind");this.referenceKind=n,this.elementType=r,this.size=h}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},ct(Bi,"ArrayType");var Xa=(Gi=class extends Error{},ct(Gi,"DuplicateSymbolError"),Gi),Je=(Xt=class extends je{constructor(s=""){super(s);q(this,rt,[]);q(this,me,new Map)}get directScopes(){return this.getSymbolsOfType(Xt)}get children(){return N(this,rt)}get firstChild(){if(N(this,rt).length>0)return N(this,rt)[0]}get lastChild(){if(N(this,rt).length>0)return N(this,rt)[N(this,rt).length-1]}clear(){Z(this,rt,[]),N(this,me).clear()}addSymbol(s){s.removeFromParent();const n=this.symbolTable,r=N(this,me).get(s.name);if(!n||!n.options.allowDuplicateSymbols){if(r!==void 0)throw new Xa("Attempt to add duplicate symbol '"+(s.name??"")+"'");if(N(this,me).set(s.name,1),N(this,rt).indexOf(s)>-1)throw new Xa("Attempt to add duplicate symbol '"+(s.name??"")+"'")}else N(this,me).set(s.name,r===void 0?1:r+1);N(this,rt).push(s),s.setParent(this)}removeSymbol(s){const n=N(this,rt).indexOf(s);if(n>-1){N(this,rt).splice(n,1),s.setParent(void 0);const r=N(this,me).get(s.name);r!==void 0&&(r===1?N(this,me).delete(s.name):N(this,me).set(s.name,r-1))}}async getNestedSymbolsOfType(s){const n=[],r=[];return N(this,rt).forEach(o=>{o instanceof s&&n.push(o),o instanceof Xt&&r.push(o.getNestedSymbolsOfType(s))}),(await Promise.all(r)).forEach(o=>{n.push(...o)}),n}getNestedSymbolsOfTypeSync(s){const n=[];return N(this,rt).forEach(r=>{r instanceof s&&n.push(r),r instanceof Xt&&n.push(...r.getNestedSymbolsOfTypeSync(s))}),n}async getAllNestedSymbols(s){const n=[],r=[];return N(this,rt).forEach(o=>{(!s||o.name===s)&&n.push(o),o instanceof Xt&&r.push(o.getAllNestedSymbols(s))}),(await Promise.all(r)).forEach(o=>{n.push(...o)}),n}getAllNestedSymbolsSync(s){const n=[];return N(this,rt).forEach(r=>{(!s||r.name===s)&&n.push(r),r instanceof Xt&&n.push(...r.getAllNestedSymbolsSync(s))}),n}getSymbolsOfType(s){return new Promise(n=>{const r=[];N(this,rt).forEach(h=>{h instanceof s&&r.push(h)}),n(r)})}async getAllSymbols(s,n=!1){const r=[];for(const h of N(this,rt))if(h instanceof s&&r.push(h),this.isNamespace(h)){const o=await h.getAllSymbols(s,!0);r.push(...o)}if(!n&&this.parent){const h=await this.getAllSymbols(s,!0);r.push(...h)}return r}getAllSymbolsSync(s,n=!1){const r=[];for(const h of N(this,rt))if(h instanceof s&&r.push(h),this.isNamespace(h)){const o=h.getAllSymbolsSync(s,!0);r.push(...o)}if(!n&&this.parent){const h=this.getAllSymbolsSync(s,!0);r.push(...h)}return r}async resolve(s,n=!1){return new Promise(r=>{for(const h of N(this,rt))if(h.name===s){r(h);return}if(!n&&this.parent){r(this.parent.resolve(s,!1));return}r(void 0)})}resolveSync(s,n=!1){for(const r of N(this,rt))if(r.name===s)return r;if(!n&&this.parent)return this.parent.resolveSync(s,!1)}symbolFromPath(s,n="."){const r=s.split(n);let h=0;(r[0]===this.name||r[0].length===0)&&++h;let o=this;for(;hc.name===r[h]);if(!a)return;o=a,++h}return o}indexOfChild(s){return N(this,rt).findIndex(n=>n===s)}nextSiblingOf(s){const n=this.indexOfChild(s);if(!(n===-1||n>=N(this,rt).length-1))return N(this,rt)[n+1]}previousSiblingOf(s){const n=this.indexOfChild(s);if(!(n<1))return N(this,rt)[n-1]}nextOf(s){if(!s.parent)return;if(s.parent!==this)return s.parent.nextOf(s);if(s instanceof Xt&&s.children.length>0)return s.children[0];const n=this.nextSiblingOf(s);return n||this.parent.nextOf(this)}isNamespace(s){return s.inline!==void 0&&s.attributes!==void 0}},rt=new WeakMap,me=new WeakMap,ct(Xt,"ScopedSymbol"),Xt);Yi=class extends Je{},ct(Yi,"BlockSymbol");var Za=(Qi=class extends je{constructor(s,n){super(s);l(this,"type");this.type=n}},ct(Qi,"TypedSymbol"),Qi),n2=(ji=class extends Za{constructor(s,n,r){super(s,r);l(this,"value");this.value=n}},ct(ji,"VariableSymbol"),ji),za=(Ji=class extends n2{constructor(){super(...arguments);l(this,"setter");l(this,"getter")}},ct(Ji,"FieldSymbol"),Ji),q8=(Xi=class extends n2{},ct(Xi,"ParameterSymbol"),Xi),t5=(Zi=class extends Je{constructor(s,n){super(s);l(this,"returnType");this.returnType=n}getVariables(s=!0){return this.getSymbolsOfType(n2)}getParameters(s=!0){return this.getSymbolsOfType(q8)}},ct(Zi,"RoutineSymbol"),Zi),$a=(zi=class extends t5{constructor(){super(...arguments);l(this,"methodFlags",0)}},ct(zi,"MethodSymbol"),zi);$i=class extends Je{constructor(s,n,r){super(s);l(this,"isStruct",!1);l(this,"reference",0);l(this,"extends");l(this,"implements");this.extends=n,this.implements=r}get baseTypes(){return this.extends}get kind(){return 7}getMethods(s=!1){return this.getSymbolsOfType($a)}getFields(s=!1){return this.getSymbolsOfType(za)}},ct($i,"ClassSymbol"),Vt=class{constructor(t,s=0,n=0){l(this,"name");l(this,"typeKind");l(this,"referenceKind");this.name=t,this.typeKind=s,this.referenceKind=n}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},ct(Vt,"FundamentalType"),l(Vt,"integerType",new Vt("int",1,3)),l(Vt,"floatType",new Vt("float",2,3)),l(Vt,"stringType",new Vt("string",4,3)),l(Vt,"boolType",new Vt("bool",6,3)),Pi=class extends Je{constructor(s,n){super(s);l(this,"reference",0);l(this,"extends");this.extends=n}get baseTypes(){return this.extends}get kind(){return 8}getMethods(s=!1){return this.getSymbolsOfType($a)}getFields(s=!1){return this.getSymbolsOfType(za)}},ct(Pi,"InterfaceSymbol"),qi=class extends Za{constructor(s,n,r){super(s,r);l(this,"value");this.value=n}},ct(qi,"LiteralSymbol");var Fn=(tn=class extends Je{constructor(s,n=!1,r=[]){super(s);l(this,"inline");l(this,"attributes");this.inline=n,this.attributes=r}},ct(tn,"NamespaceSymbol"),tn);en=class extends je{constructor(s,n){super(s);l(this,"targetType");this.targetType=n}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},ct(en,"TypeAlias");var e5=ct((i,t)=>{if(!i||!t)return[];let s;for(s=0;s=t||a.type===g.EOF)||a.type===g.EOF)break}const h=[],o=s?s.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[o],0,h,0,0),this.showResult){console.log(`States processed: ${this.statesProcessed}`),console.log(` + +Collected rules: +`);for(const c of this.candidates.rules){let u="";for(const d of c[1].ruleList)u+=this.ruleNames[d]+" ";console.log(this.ruleNames[c[0]]+", path: ",u)}const a=new Set;for(const c of this.candidates.tokens){let u=this.vocabulary.getDisplayName(c[0])??"";for(const d of c[1])u+=" "+this.vocabulary.getDisplayName(d);a.add(u)}console.log(` + +Collected tokens: +`);for(const c of a)console.log(c);console.log(` + +`)}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,R.EMPTY)}translateStackToRuleIndex(t){if(this.preferredRules.size===0)return!1;if(this.translateRulesTopDown){for(let s=t.length-1;s>=0;s--)if(this.translateToRuleIndex(s,t))return!0}else for(let s=0;sa);let o=!0;for(const a of this.candidates.rules)if(!(a[0]!==n||a[1].ruleList.length!==h.length)&&h.every((c,u)=>c===a[1].ruleList[u])){o=!1;break}return o&&(this.candidates.rules.set(n,{startTokenIndex:r,ruleList:h}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[n])),!0}return!1}getFollowingTokens(t){const s=[],n=[t.target];for(;n.length>0;){const r=n.pop();r&&r.transitions.forEach(h=>{if(h.serializationType===v.ATOM)if(h.isEpsilon)n.push(h.target);else{const o=h.label.toArray();o.length===1&&!this.ignoredTokens.has(o[0])&&(s.push(o[0]),n.push(h.target))}})}return s}determineFollowSets(t,s){const n=[],r=[],h=[],o=this.collectFollowSets(t,s,n,r,h),a=new Nt;for(const c of n)a.addSet(c.intervals);return{sets:n,isExhaustive:o,combined:a}}collectFollowSets(t,s,n,r,h){if(r.find(a=>a===t))return!0;if(r.push(t),t===s||t.stateType===B.RULE_STOP)return r.pop(),!1;let o=!0;for(const a of t.transitions)if(a.serializationType===v.RULE){const c=a;if(h.indexOf(c.target.ruleIndex)!==-1)continue;h.push(c.target.ruleIndex);const u=this.collectFollowSets(a.target,s,n,r,h);if(h.pop(),!u){const d=this.collectFollowSets(c.followState,s,n,r,h);o&&(o=d)}}else if(a.serializationType===v.PREDICATE){if(this.checkPredicate(a)){const c=this.collectFollowSets(a.target,s,n,r,h);o&&(o=c)}}else if(a.isEpsilon){const c=this.collectFollowSets(a.target,s,n,r,h);o&&(o=c)}else if(a.serializationType===v.WILDCARD){const c=new Pa;c.intervals=Nt.of(g.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),c.path=h.slice(),n.push(c)}else{let c=a.label;if(c&&c.length>0){a.serializationType===v.NOT_SET&&(c=c.complement(g.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const u=new Pa;u.intervals=c??new Nt,u.path=h.slice(),u.following=this.getFollowingTokens(a),n.push(u)}}return r.pop(),o}processRule(t,s,n,r,h){let o=this.shortcutMap.get(t.ruleIndex);if(!o)o=new Map,this.shortcutMap.set(t.ruleIndex,o);else if(o.has(s))return this.showDebugOutput&&console.log("=====> shortcut"),o.get(s);const a=new Set;let c=ie.followSetsByATN.get(this.parser.constructor.name);c||(c=new Map,ie.followSetsByATN.set(this.parser.constructor.name,c));let u=c.get(t.stateNumber);if(!u){const K=this.atn.ruleToStopState[t.ruleIndex];u=this.determineFollowSets(t,K),c.set(t.stateNumber,u)}const d=this.tokens[s].tokenIndex;if(n.push({startTokenIndex:d,ruleIndex:t.ruleIndex}),s>=this.tokens.length-1){if(this.preferredRules.has(t.ruleIndex))this.translateStackToRuleIndex(n);else for(const K of u.sets){const x=n.slice(),O=K.path.map(k=>({startTokenIndex:d,ruleIndex:k}));if(x.push(...O),!this.translateStackToRuleIndex(x))for(const k of K.intervals.toArray())this.ignoredTokens.has(k)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(k)),this.candidates.tokens.has(k)?this.candidates.tokens.get(k)!==K.following&&this.candidates.tokens.set(k,[]):this.candidates.tokens.set(k,K.following))}return u.isExhaustive||a.add(s),n.pop(),a}else{const K=this.tokens[s].type;if(u.isExhaustive&&!u.combined.contains(K))return n.pop(),a}t.isPrecedenceRule&&this.precedenceStack.push(r);const f=[];let W;for(f.push({state:t,tokenListIndex:s});f.length>0;){W=f.pop(),++this.statesProcessed;const K=this.tokens[W.tokenListIndex].type,x=W.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(h,W.state,this.generateBaseDescription(W.state),W.tokenListIndex),this.showRuleStack&&this.printRuleState(n)),W.state.stateType===B.RULE_STOP){a.add(W.tokenListIndex);continue}const O=W.state.transitions;for(const k of O)switch(k.serializationType){case v.RULE:{const U=k,A=this.processRule(k.target,W.tokenListIndex,n,U.precedence,h+1);for(const _ of A)f.push({state:k.followState,tokenListIndex:_});break}case v.PREDICATE:{this.checkPredicate(k)&&f.push({state:k.target,tokenListIndex:W.tokenListIndex});break}case v.PRECEDENCE:{k.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&f.push({state:k.target,tokenListIndex:W.tokenListIndex});break}case v.WILDCARD:{if(x){if(!this.translateStackToRuleIndex(n))for(const U of Nt.of(g.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(U)||this.candidates.tokens.set(U,[])}else f.push({state:k.target,tokenListIndex:W.tokenListIndex+1});break}default:{if(k.isEpsilon){f.push({state:k.target,tokenListIndex:W.tokenListIndex});continue}let U=k.label;if(U&&U.length>0)if(k.serializationType===v.NOT_SET&&(U=U.complement(g.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),x){if(!this.translateStackToRuleIndex(n)){const A=U.toArray(),_=A.length===1;for(const L of A)if(!this.ignoredTokens.has(L)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(L));const T=_?this.getFollowingTokens(k):[];this.candidates.tokens.has(L)?this.candidates.tokens.set(L,e5(T,this.candidates.tokens.get(L))):this.candidates.tokens.set(L,T)}}}else U.contains(K)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(K)),f.push({state:k.target,tokenListIndex:W.tokenListIndex+1}))}}}return n.pop(),t.isPrecedenceRule&&this.precedenceStack.pop(),o.set(s,a),a}generateBaseDescription(t){return`[${t.stateNumber===oe.INVALID_STATE_NUMBER?"Invalid":t.stateNumber} ${ie.atnStateTypeMap[t.stateType]}] in ${this.ruleNames[t.ruleIndex]}`}printDescription(t,s,n,r){const h=" ".repeat(t);let o=h,a="";if(this.debugOutputWithTransitions)for(const c of s.transitions){let u="";const d=c.label?c.label.toArray():[];if(d.length>2)u=this.vocabulary.getDisplayName(d[0])+" .. "+this.vocabulary.getDisplayName(d[d.length-1]);else for(const f of d)u.length>0&&(u+=", "),u+=this.vocabulary.getDisplayName(f);u.length===0&&(u="ε"),a+=` +${h} (${u}) [${c.target.stateNumber} ${ie.atnStateTypeMap[c.target.stateType]}] in ${this.ruleNames[c.target.ruleIndex]}`}r>=this.tokens.length-1?o+=`<<${this.tokenStartIndex+r}>> `:o+=`<${this.tokenStartIndex+r}> `,console.log(o+"Current state: "+n+a)}printRuleState(t){if(t.length===0){console.log("");return}for(const s of t)console.log(this.ruleNames[s.ruleIndex])}},ct(ie,"CodeCompletionCore"),l(ie,"followSetsByATN",new Map),l(ie,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),ie);rn=class extends Je{constructor(s,n){super(s);l(this,"dependencies",new Set);this.options=n}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(...s){s.forEach(n=>{this.dependencies.add(n)})}removeDependency(s){this.dependencies.has(s)&&this.dependencies.delete(s)}addNewSymbolOfType(s,n,...r){const h=new s(...r);return!n||n===this?this.addSymbol(h):n.addSymbol(h),h}async addNewNamespaceFromPath(s,n,r="."){const h=n.split(r);let o=0,a=s===void 0?this:s;for(;oo.getAllSymbols(s,n)))).forEach(o=>{r.push(...o)}),r}getAllSymbolsSync(s,n=!1){const r=super.getAllSymbolsSync(s,n);return n||this.dependencies.forEach(h=>{r.push(...h.getAllSymbolsSync(s,n))}),r}async symbolWithContext(s){const n=ct(h=>{if(h.context===s)return h;if(h instanceof Je)for(const o of h.children){const a=n(o);if(a)return a}},"findRecursive");let r=await this.getAllSymbols(je);for(const h of r){const o=n(h);if(o)return o}for(const h of this.dependencies){r=await h.getAllSymbols(je);for(const o of r){const a=n(o);if(a)return a}}}symbolWithContextSync(s){const n=ct(h=>{if(h.context===s)return h;if(h instanceof Je)for(const o of h.children){const a=n(o);if(a)return a}},"findRecursive");let r=this.getAllSymbolsSync(je);for(const h of r){const o=n(h);if(o)return o}for(const h of this.dependencies){r=h.getAllSymbolsSync(je);for(const o of r){const a=n(o);if(a)return a}}}async resolve(s,n=!1){let r=await super.resolve(s,n);if(!r&&!n){for(const h of this.dependencies)if(r=await h.resolve(s,!1),r)return r}return r}resolveSync(s,n=!1){let r=super.resolveSync(s,n);if(!r&&!n){for(const h of this.dependencies)if(r=h.resolveSync(s,!1),r)return r}return r}},ct(rn,"SymbolTable");function to(i,t){var s,n;const{lineNumber:r,column:h}=i;let o=0,a=t.length-1;for(;o<=a;){const c=o+(a-o>>1),u=t[c];if(u.line>r||u.line===r&&u.column+1>=h)a=c-1;else if(u.line{this._parseErrors.push(t)},this.locale="en_US"}createLexer(t,s){const n=Tr.fromString(t),r=this.createLexerFromCharStream(n);return s&&(r.removeErrorListeners(),r.addErrorListener(this.createErrorListener(s))),r}createParser(t,s){const n=this.createLexer(t,s),r=new Cn(n),h=this.createParserFromTokenStream(r);return h.interpreter.predictionMode=_t.SLL,s&&(h.removeErrorListeners(),h.addErrorListener(this.createErrorListener(s))),h}parse(t,s){const n=this.createParser(t,s);return n.buildParseTrees=!0,n.errorHandler=new r2,n.program()}createParserWithCache(t){return this._parseTree=null,this._charStreams=Tr.fromString(t),this._lexer=this.createLexerFromCharStream(this._charStreams),this._lexer.removeErrorListeners(),this._lexer.addErrorListener(this.createErrorListener(this._errorListener)),this._tokenStream=new Cn(this._lexer),this._tokenStream.fill(),this._parser=this.createParserFromTokenStream(this._tokenStream),this._parser.interpreter.predictionMode=_t.SLL,this._parser.buildParseTrees=!0,this._parser.errorHandler=new r2,this._parser}parseWithCache(t,s){if(this._parsedInput===t&&!s&&this._parseTree)return this._parseTree;this._parseErrors=[];const n=this.createParserWithCache(t);return this._parsedInput=t,n.removeErrorListeners(),n.addErrorListener(this.createErrorListener(this._errorListener)),this._parseTree=n.program(),this._parseTree}validate(t){return this.parseWithCache(t),this._parseErrors}getAllTokens(t){this.parseWithCache(t);let s=this._tokenStream.getTokens();return s[s.length-1].text===""&&(s=s.slice(0,-1)),s}listen(t,s){l3.DEFAULT.walk(t,s)}splitSQLByStatement(t){if(this.validate(t).length||!this._parseTree)return null;const n=this.splitListener;return this.listen(n,this._parseTree),n.statementsContext.map(h=>Hn(h,this._parsedInput)).filter(Boolean)}getSuggestionAtCaretPosition(t,s){var n,r,h,o,a,c,u,d,f;const W=this.splitListener;if(this.parseWithCache(t),!this._parseTree)return null;let K=this._parser;const x=this.getAllTokens(t);let O=to(s,x),k=this._parseTree,U=0;if(!O&&O!==0)return null;this.listen(W,this._parseTree);const A=(n=W.statementsContext)===null||n===void 0?void 0:n.length,_=W.statementsContext;if(A>1){let S=null,Y=null;for(let y1=0;y1O&&K5){Y=U1;break}}const mt=(a=(o=S==null?void 0:S.start)===null||o===void 0?void 0:o.start)!==null&&a!==void 0?a:0,P=(u=(c=Y==null?void 0:Y.stop)===null||c===void 0?void 0:c.stop)!==null&&u!==void 0?u:t.length-1;U=(f=(d=S==null?void 0:S.start)===null||d===void 0?void 0:d.tokenIndex)!==null&&f!==void 0?f:0,O=O-U;const F=t.slice(mt,P),ne=this.createLexer(F);ne.removeErrorListeners();const ho=new Cn(ne);ho.fill();const fs=this.createParserFromTokenStream(ho);fs.interpreter.predictionMode=_t.SLL,fs.removeErrorListeners(),fs.buildParseTrees=!0,fs.errorHandler=new r2,K=fs,k=fs.program()}const L=new qa(K);L.preferredRules=this.preferredRules;const T=L.collectCandidates(O,k),D=this.processCandidates(T,x,O,U);return{syntax:D.syntax.map(S=>{const Y=S.wordRanges.map(mt=>eo(mt,this._parsedInput));return{syntaxContextType:S.syntaxContextType,wordRanges:Y}}),keywords:D.keywords}}getAllEntities(t,s){const n=this.getAllTokens(t),r=s?to(s,n):void 0,h=this.createEntityCollector(t,r),o=this.parseWithCache(t);return this.listen(h,o),h.getEntities()}}var X;(function(i){i.CATALOG="catalog",i.CATALOG_CREATE="catalogCreate",i.DATABASE="database",i.DATABASE_CREATE="databaseCreate",i.TABLE="table",i.TABLE_CREATE="tableCreate",i.VIEW="view",i.VIEW_CREATE="viewCreate",i.FUNCTION="function",i.FUNCTION_CREATE="functionCreate",i.PROCEDURE="procedure",i.PROCEDURE_CREATE="procedureCreate",i.COLUMN="column",i.COLUMN_CREATE="columnCreate"})(X||(X={}));class r5{constructor(){this._statementsContext=[]}visitTerminal(){}visitErrorNode(){}enterEveryRule(){}exitEveryRule(){}get statementsContext(){return this._statementsContext}}class h5 extends r5{exitSingleStatement(t){this._statementsContext.push(t)}}class so{constructor(){this.stack=[]}push(t){this.stack.push(t)}pop(){return this.stack.pop()}peek(){return this.stack[this.stack.length-1]}clear(){this.stack=[]}size(){return this.stack.length}isEmpty(){return this.stack.length===0}}var h2=function(i,t){var s={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&t.indexOf(n)<0&&(s[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r=0&&(r=!!t.start&&!!t.stop&&t.start.tokenIndex<=this._caretTokenIndex&&t.stop.tokenIndex>=this._caretTokenIndex);const h=a5(t,s,this._input,this._rootStmt,this._stmtStack.peek(),r);return h&&((this._stmtStack.isEmpty()||((n=this._stmtStack.peek())===null||n===void 0?void 0:n.stmtContextType)===Dt.COMMON_STMT)&&(this._rootStmt=h),this._stmtStack.push(h)),h}popStmt(){const t=this._stmtStack.pop();return t&&this._rootStmt===t&&(this._rootStmt=this._stmtStack.peek(),this._entityStack.isEmpty()||this.combineEntitiesAndAdd(t)),t}pushEntity(t,s,n){const r=c5(t,s,this._input,this._stmtStack.peek(),n);return r&&(this._stmtStack.isEmpty()?this._entitiesSet.add(r):this._entityStack.push(r)),r}combineEntitiesAndAdd(t){const s=[];for(;!this._entityStack.isEmpty()&&(this._entityStack.peek().belongStmt===t||this._entityStack.peek().belongStmt.rootStmt===t);)s.unshift(this._entityStack.pop());const n=this.combineRootStmtEntities(t,s);for(;n.length;){const r=n.shift();r&&this._entitiesSet.add(r)}}combineRootStmtEntities(t,s){return t.stmtContextType===Dt.CREATE_VIEW_STMT||t.stmtContextType===Dt.CREATE_TABLE_STMT?this.combineCreateTableOrViewStmtEntities(t,s):s}combineCreateTableOrViewStmtEntities(t,s){const n=[],r=[];let h=null;const o=s.reduce((a,c)=>{if(c.belongStmt!==t)return c.entityContextType!==X.COLUMN&&c.entityContextType!==X.COLUMN_CREATE&&(r.push(c),a.push(c)),a;if(c.entityContextType===X.COLUMN_CREATE)n.push(c);else{if(c.entityContextType===X.TABLE_CREATE||c.entityContextType===X.VIEW_CREATE)return h=c,a.push(c),a;c.entityContextType!==X.COLUMN&&(r.push(c),a.push(c))}return a},[]);return h&&n.length&&io(h)&&(h=Object.assign(h,{columns:n})),h&&r.length&&(io(h)||o5(h))&&(h=Object.assign(h,{relatedEntities:r})),o}}class l5 extends u5{exitCatalogRef(t){this.pushEntity(t,X.CATALOG)}exitCatalogNameCreate(t){this.pushEntity(t,X.CATALOG_CREATE)}exitSchemaRef(t){this.pushEntity(t,X.DATABASE)}exitSchemaNameCreate(t){this.pushEntity(t,X.DATABASE_CREATE)}exitTableRef(t){var s;const n=((s=this.getRootStmt())===null||s===void 0?void 0:s.stmtContextType)===Dt.SELECT_STMT;this.pushEntity(t,X.TABLE,n?[{attrName:Ie.alias,endContextList:[Vr.name]}]:void 0)}exitTableNameCreate(t){this.pushEntity(t,X.TABLE_CREATE,[{attrName:Ie.comment,endContextList:[Xh.name,Zh.name]}])}exitViewRef(t){this.pushEntity(t,X.VIEW)}exitViewNameCreate(t){this.pushEntity(t,X.VIEW_CREATE,[{attrName:Ie.comment,endContextList:[zh.name,$h.name]}])}exitColumnNameCreate(t){this.pushEntity(t,X.COLUMN_CREATE,[{attrName:Ie.colType,endContextList:[Ss.name]},{attrName:Ie.comment,endContextList:[Ss.name]}])}enterSingleStatement(t){this.pushStmt(t,Dt.COMMON_STMT)}exitSingleStatement(t){this.popStmt()}enterCreateSchema(t){this.pushStmt(t,Dt.CREATE_DATABASE_STMT)}exitCreateSchema(t){this.popStmt()}enterCreateTableAsSelect(t){this.pushStmt(t,Dt.CREATE_TABLE_STMT)}exitCreateTableAsSelect(t){this.popStmt()}enterCreateTable(t){this.pushStmt(t,Dt.CREATE_TABLE_STMT)}exitCreateTable(t){this.popStmt()}enterCreateView(t){this.pushStmt(t,Dt.CREATE_VIEW_STMT)}exitCreateView(t){this.popStmt()}enterCreateMaterializedView(t){this.pushStmt(t,Dt.CREATE_VIEW_STMT)}exitCreateMaterializedView(t){this.popStmt()}enterQueryStatement(t){this.pushStmt(t,Dt.SELECT_STMT)}exitQueryStatement(t){this.popStmt()}enterInsertInto(t){this.pushStmt(t,Dt.INSERT_STMT)}exitInsertInto(t){this.popStmt()}}const E5={zh_CN:{stmtInComplete:"语句不完整",noValidPosition:"在此位置无效",expecting:",期望",unfinishedMultilineComment:"未完成的多行注释",unfinishedDoubleQuoted:"未完成的双引号字符串字变量",unfinishedSingleQuoted:"未完成的单引号字符串字变量",unfinishedTickQuoted:"未完成的反引号引用字符串字变量",noValidInput:"没有有效的输入",newObj:"一个新的对象",existingObj:"一个存在的对象",new:"一个新的",existing:"一个存在的",orKeyword:"或者一个关键字",keyword:"一个关键字",missing:"缺少",at:"在",or:"或者"},en_US:{stmtInComplete:"Statement is incomplete",noValidPosition:"is not valid at this position",expecting:", expecting ",unfinishedMultilineComment:"Unfinished multiline comment",unfinishedDoubleQuoted:"Unfinished double quoted string literal",unfinishedSingleQuoted:"Unfinished single quoted string literal",unfinishedTickQuoted:"Unfinished back tick quoted string literal",noValidInput:"is no valid input at all",newObj:"a new object",existingObj:"an existing object",new:"a new ",existing:"an existing ",orKeyword:" or a keyword",keyword:"a keyword",missing:"missing ",at:" at ",or:" or "}};function d5(i,t){const s=/{([^}]+)}/g;return i.replace(s,(n,r)=>E5[t][r]||"")}class f5{constructor(t,s="en_US"){this.locale=s,this._errorListener=t}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}syntaxError(t,s,n,r,h,o){var a;let c="";if(s){let d=s;const f=t,W=d.type===g.EOF;W&&(d=f.tokenStream.get(d.tokenIndex-1));const K=(a=d.text)!==null&&a!==void 0?a:"",O=W&&K!==" "?"":this.getExpectedText(f,d);if(o)o instanceof Be||o instanceof J?(W?c="{stmtInComplete}":c=`'${K}' {noValidPosition}`,O.length>0&&(c+=`{expecting}${O}`)):c=h;else if(c=h,h.includes("extraneous")&&(c=`'${K}' {noValidPosition}${O.length?`{expecting}${O}`:""}`),h.includes("missing")){const k=/missing\s+'([^']+)'/,U=h.match(k);if(c="{missing}",U){const A=U[1];c+=`'${A}'`}else c+="{keyword}";c+=`{at}'${K}'`}}else if(o instanceof xs){const d=t,f=d.inputStream;let W=d.getErrorDisplay(f.getText(d._tokenStartCharIndex,f.index));switch(W[0]){case"/":c="{unfinishedMultilineComment}";break;case'"':c="{unfinishedDoubleQuoted}";break;case"'":c="{unfinishedSingleQuoted}";break;case"`":c="{unfinishedTickQuoted}";break;default:c='"'+W+'" {noValidInput}';break}}c=d5(c,this.locale);let u=r+1;s&&s.text!==null&&(u=r+s.text.length),this._errorListener&&this._errorListener({startLine:n,endLine:n,startColumn:r+1,endColumn:u+1,message:c},{e:o,line:n,msg:h,recognizer:t,offendingSymbol:s,charPositionInLine:r})}}class W5 extends f5{constructor(t,s,n){super(t,n),this.objectNames=new Map([[e.RULE_catalogRef,"catalog"],[e.RULE_catalogNameCreate,"catalog"],[e.RULE_tableRef,"table"],[e.RULE_tableNameCreate,"table"],[e.RULE_viewRef,"view"],[e.RULE_viewNameCreate,"view"],[e.RULE_schemaRef,"schema"],[e.RULE_schemaNameCreate,"schema"],[e.RULE_functionName,"function"],[e.RULE_columnRef,"column"],[e.RULE_columnNameCreate,"column"]]),this.preferredRules=s}getExpectedText(t,s){var n;let r="",h=(n=t.context)!==null&&n!==void 0?n:void 0;for(;h!=null&&h.parent;)h=h.parent;const o=new qa(t);o.preferredRules=this.preferredRules;const a=o.collectCandidates(s.tokenIndex,h);if(a.rules.size){const c=[];for(const u of a.rules){const[d]=u,f=this.objectNames.get(d);switch(d){case e.RULE_catalogRef:case e.RULE_schemaRef:case e.RULE_tableRef:case e.RULE_viewRef:case e.RULE_functionName:case e.RULE_columnRef:{c.push(`{existing}${f}`);break}case e.RULE_catalogNameCreate:case e.RULE_tableNameCreate:case e.RULE_schemaNameCreate:case e.RULE_viewNameCreate:case e.RULE_tableNameCreate:{c.push(`{new}${f}`);break}}}r=c.join("{or}")}return a.tokens.size&&(r+=r?"{orKeyword}":"{keyword}"),r}}class R5 extends n5{constructor(){super(...arguments),this.preferredRules=new Set([e.RULE_catalogRef,e.RULE_catalogNameCreate,e.RULE_schemaRef,e.RULE_schemaNameCreate,e.RULE_tableRef,e.RULE_tableNameCreate,e.RULE_viewRef,e.RULE_viewNameCreate,e.RULE_functionName,e.RULE_functionNameCreate,e.RULE_columnRef,e.RULE_columnNameCreate])}createLexerFromCharStream(t){return new E(t)}createParserFromTokenStream(t){return new e(t)}get splitListener(){return new h5}createErrorListener(t){return new W5(t,this.preferredRules,this.locale)}createEntityCollector(t,s){return new l5(t,s)}processCandidates(t,s,n,r){const h=[],o=[];for(let a of t.rules){const[c,u]=a,d=u.startTokenIndex+r,f=s.slice(d,n+r+1);let W;switch(c){case e.RULE_catalogRef:{W=X.CATALOG;break}case e.RULE_catalogNameCreate:{W=X.CATALOG_CREATE;break}case e.RULE_schemaRef:{W=X.DATABASE;break}case e.RULE_schemaNameCreate:{W=X.DATABASE_CREATE;break}case e.RULE_tableRef:{W=X.TABLE;break}case e.RULE_tableNameCreate:{W=X.TABLE_CREATE;break}case e.RULE_viewRef:{W=X.VIEW;break}case e.RULE_viewNameCreate:{W=X.VIEW_CREATE;break}case e.RULE_functionName:{W=X.FUNCTION;break}case e.RULE_functionNameCreate:{W=X.FUNCTION_CREATE;break}case e.RULE_columnNameCreate:{W=X.COLUMN_CREATE;break}case e.RULE_columnRef:{W=X.COLUMN;break}}W&&h.push({syntaxContextType:W,wordRanges:f})}for(let a of t.tokens){const c=this._parser.vocabulary.getSymbolicName(a[0]),u=this._parser.vocabulary.getDisplayName(a[0]);if(u&&c&&c.startsWith("KW_")){const d=u.startsWith("'")&&u.endsWith("'")?u.slice(1,-1):u;o.push(d)}}return{syntax:h,keywords:o}}}var $s=function(i,t,s,n){function r(h){return h instanceof s?h:new s(function(o){o(h)})}return new(s||(s=Promise))(function(h,o){function a(d){try{u(n.next(d))}catch(f){o(f)}}function c(d){try{u(n.throw(d))}catch(f){o(f)}}function u(d){d.done?h(d.value):r(d.value).then(a,c)}u((n=n.apply(i,t||[])).next())})};class m5{constructor(t,s){this.keywords=[]}doValidation(t){return $s(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const s=this.parser.validate(t);return Promise.resolve(s)}return Promise.resolve([])})}parserTreeToString(t){return $s(this,void 0,void 0,function*(){if(t){const s=this.parser.createParser(t),r=s.program().toStringTree(s);return Promise.resolve(r)}return Promise.resolve("")})}doCompletion(t,s){return $s(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getSuggestionAtCaretPosition(t,s);return Promise.resolve(n)}return Promise.resolve(null)})}doCompletionWithEntities(t,s){return $s(this,void 0,void 0,function*(){var n;if(t=t||this.getTextDocument(),t){const r=this.parser.getSuggestionAtCaretPosition(t,s);let h=null;return!((n=r==null?void 0:r.syntax)===null||n===void 0)&&n.length&&(h=this.parser.getAllEntities(t,s)),Promise.resolve([r,h])}return Promise.resolve([null,null])})}getAllEntities(t,s){return $s(this,void 0,void 0,function*(){if(t=t||this.getTextDocument(),t){const n=this.parser.getAllEntities(t,s);return Promise.resolve(n)}return Promise.resolve(null)})}getTextDocument(){const t=this._ctx.getMirrorModels()[0];return t&&t.getValue()}}class p5 extends m5{constructor(t,s){super(t,s),this._ctx=t,this.parser=new R5}}self.onmessage=()=>{ph((i,t)=>new p5(i,t))}})(); diff --git a/assets/tsMode-b91aed43.js b/assets/tsMode-13275cc2.js similarity index 99% rename from assets/tsMode-b91aed43.js rename to assets/tsMode-13275cc2.js index 942958c2..e99daa77 100644 --- a/assets/tsMode-b91aed43.js +++ b/assets/tsMode-13275cc2.js @@ -1,4 +1,4 @@ -import{m as B,_ as U}from"./index-f9d9330f.js";var R=Object.defineProperty,J=Object.getOwnPropertyDescriptor,$=Object.getOwnPropertyNames,z=Object.prototype.hasOwnProperty,X=e=>R(e,"__esModule",{value:!0}),G=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of $(t))!z.call(e,s)&&s!=="default"&&R(e,s,{get:()=>t[s],enumerable:!(r=J(t,s))||r.enumerable});return e},i={};X(i);G(i,B);var Q=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}async _updateExtraLibs(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){if(!this._client){this._worker=i.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}});let e=this._worker.getProxy();this._defaults.getEagerModelSync()&&(e=e.then(t=>this._worker?this._worker.withSyncedResources(i.editor.getModels().filter(r=>r.getLanguageId()===this._modeId).map(r=>r.uri)):t)),this._client=e}return this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(r=>{t=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(r=>t)}},q="4.4.4",C;(function(e){e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=99]="ESNext"})(C||(C={}));var L;(function(e){e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev"})(L||(L={}));var D;(function(e){e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed"})(D||(D={}));var O;(function(e){e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest"})(O||(O={}));var A;(function(e){e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs"})(A||(A={}));var H=class{constructor(e,t,r,s){this._onDidChange=new i.Emitter,this._onDidExtraLibsChange=new i.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(r),this.setInlayHintsOptions(s),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let r;if(typeof t>"u"?r=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:r=t,this._extraLibs[r]&&this._extraLibs[r].content===e)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[r]&&(s=this._removedExtraLibs[r]+1),this._extraLibs[r]&&(s=this._extraLibs[r].version+1),this._extraLibs[r]={content:e,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let a=this._extraLibs[r];a&&a.version===s&&(delete this._extraLibs[r],this._removedExtraLibs[r]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const r=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,s=t.content;let a=1;this._removedExtraLibs[r]&&(a=this._removedExtraLibs[r]+1),this._extraLibs[r]={content:s,version:a}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}},Y=q,N=new H({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),W=new H({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),Z=()=>x().then(e=>e.getTypeScriptWorker()),ee=()=>x().then(e=>e.getJavaScriptWorker());i.languages.typescript={ModuleKind:C,JsxEmit:L,NewLineKind:D,ScriptTarget:O,ModuleResolutionKind:A,typescriptVersion:Y,typescriptDefaults:N,javascriptDefaults:W,getTypeScriptWorker:Z,getJavaScriptWorker:ee};function x(){return U(()=>Promise.resolve().then(()=>me),void 0)}i.languages.onLanguage("typescript",()=>x().then(e=>e.setupTypeScript(N)));i.languages.onLanguage("javascript",()=>x().then(e=>e.setupJavaScript(W)));var o={};o["lib.d.ts"]=!0;o["lib.dom.d.ts"]=!0;o["lib.dom.iterable.d.ts"]=!0;o["lib.es2015.collection.d.ts"]=!0;o["lib.es2015.core.d.ts"]=!0;o["lib.es2015.d.ts"]=!0;o["lib.es2015.generator.d.ts"]=!0;o["lib.es2015.iterable.d.ts"]=!0;o["lib.es2015.promise.d.ts"]=!0;o["lib.es2015.proxy.d.ts"]=!0;o["lib.es2015.reflect.d.ts"]=!0;o["lib.es2015.symbol.d.ts"]=!0;o["lib.es2015.symbol.wellknown.d.ts"]=!0;o["lib.es2016.array.include.d.ts"]=!0;o["lib.es2016.d.ts"]=!0;o["lib.es2016.full.d.ts"]=!0;o["lib.es2017.d.ts"]=!0;o["lib.es2017.full.d.ts"]=!0;o["lib.es2017.intl.d.ts"]=!0;o["lib.es2017.object.d.ts"]=!0;o["lib.es2017.sharedmemory.d.ts"]=!0;o["lib.es2017.string.d.ts"]=!0;o["lib.es2017.typedarrays.d.ts"]=!0;o["lib.es2018.asyncgenerator.d.ts"]=!0;o["lib.es2018.asynciterable.d.ts"]=!0;o["lib.es2018.d.ts"]=!0;o["lib.es2018.full.d.ts"]=!0;o["lib.es2018.intl.d.ts"]=!0;o["lib.es2018.promise.d.ts"]=!0;o["lib.es2018.regexp.d.ts"]=!0;o["lib.es2019.array.d.ts"]=!0;o["lib.es2019.d.ts"]=!0;o["lib.es2019.full.d.ts"]=!0;o["lib.es2019.object.d.ts"]=!0;o["lib.es2019.string.d.ts"]=!0;o["lib.es2019.symbol.d.ts"]=!0;o["lib.es2020.bigint.d.ts"]=!0;o["lib.es2020.d.ts"]=!0;o["lib.es2020.full.d.ts"]=!0;o["lib.es2020.intl.d.ts"]=!0;o["lib.es2020.promise.d.ts"]=!0;o["lib.es2020.sharedmemory.d.ts"]=!0;o["lib.es2020.string.d.ts"]=!0;o["lib.es2020.symbol.wellknown.d.ts"]=!0;o["lib.es2021.d.ts"]=!0;o["lib.es2021.full.d.ts"]=!0;o["lib.es2021.promise.d.ts"]=!0;o["lib.es2021.string.d.ts"]=!0;o["lib.es2021.weakref.d.ts"]=!0;o["lib.es5.d.ts"]=!0;o["lib.es6.d.ts"]=!0;o["lib.esnext.d.ts"]=!0;o["lib.esnext.full.d.ts"]=!0;o["lib.esnext.intl.d.ts"]=!0;o["lib.esnext.promise.d.ts"]=!0;o["lib.esnext.string.d.ts"]=!0;o["lib.esnext.weakref.d.ts"]=!0;o["lib.scripthost.d.ts"]=!0;o["lib.webworker.d.ts"]=!0;o["lib.webworker.importscripts.d.ts"]=!0;o["lib.webworker.iterable.d.ts"]=!0;var I;(function(e){e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart"})(I||(I={}));function E(e,t,r=0){if(typeof e=="string")return e;if(e===void 0)return"";let s="";if(r){s+=t;for(let a=0;at.text).join(""):""}var m=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let r=e.getPositionAt(t.start),s=e.getPositionAt(t.start+t.length),{lineNumber:a,column:d}=r,{lineNumber:g,column:n}=s;return{startLineNumber:a,startColumn:d,endLineNumber:g,endColumn:n}}},te=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf("/lib.")===0?!!o[e.path.slice(1)]:!1}getOrCreateModel(e){const t=i.Uri.parse(e),r=i.editor.getModel(t);if(r)return r;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return i.editor.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const s=N.getExtraLibs()[e];return s?i.editor.createModel(s.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}},M;(function(e){e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message"})(M||(M={}));var re=class extends m{constructor(e,t,r,s){super(s),this._libFiles=e,this._defaults=t,this._selector=r,this._disposables=[],this._listener=Object.create(null);const a=n=>{if(n.getLanguageId()!==r)return;const u=()=>{const{onlyVisible:h}=this._defaults.getDiagnosticsOptions();h?n.isAttachedToEditor()&&this._doValidate(n):this._doValidate(n)};let c;const p=n.onDidChangeContent(()=>{clearTimeout(c),c=window.setTimeout(u,500)}),f=n.onDidChangeAttached(()=>{const{onlyVisible:h}=this._defaults.getDiagnosticsOptions();h&&(n.isAttachedToEditor()?u():i.editor.setModelMarkers(n,this._selector,[]))});this._listener[n.uri.toString()]={dispose(){p.dispose(),f.dispose(),clearTimeout(c)}},u()},d=n=>{i.editor.setModelMarkers(n,this._selector,[]);const u=n.uri.toString();this._listener[u]&&(this._listener[u].dispose(),delete this._listener[u])};this._disposables.push(i.editor.onDidCreateModel(n=>a(n))),this._disposables.push(i.editor.onWillDisposeModel(d)),this._disposables.push(i.editor.onDidChangeModelLanguage(n=>{d(n.model),a(n.model)})),this._disposables.push({dispose(){for(const n of i.editor.getModels())d(n)}});const g=()=>{for(const n of i.editor.getModels())d(n),a(n)};this._disposables.push(this._defaults.onDidChange(g)),this._disposables.push(this._defaults.onDidExtraLibsChange(g)),i.editor.getModels().forEach(n=>a(n))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){const t=await this._worker(e.uri);if(e.isDisposed())return;const r=[],{noSyntaxValidation:s,noSemanticValidation:a,noSuggestionDiagnostics:d}=this._defaults.getDiagnosticsOptions();s||r.push(t.getSyntacticDiagnostics(e.uri.toString())),a||r.push(t.getSemanticDiagnostics(e.uri.toString())),d||r.push(t.getSuggestionDiagnostics(e.uri.toString()));const g=await Promise.all(r);if(!g||e.isDisposed())return;const n=g.reduce((c,p)=>p.concat(c),[]).filter(c=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(c.code)===-1),u=n.map(c=>c.relatedInformation||[]).reduce((c,p)=>p.concat(c),[]).map(c=>c.file?i.Uri.parse(c.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&i.editor.setModelMarkers(e,this._selector,n.map(c=>this._convertDiagnostics(e,c)))}_convertDiagnostics(e,t){const r=t.start||0,s=t.length||1,{lineNumber:a,column:d}=e.getPositionAt(r),{lineNumber:g,column:n}=e.getPositionAt(r+s),u=[];return t.reportsUnnecessary&&u.push(i.MarkerTag.Unnecessary),t.reportsDeprecated&&u.push(i.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:a,startColumn:d,endLineNumber:g,endColumn:n,message:E(t.messageText,` +import{m as B,_ as U}from"./index-e7f600bf.js";var R=Object.defineProperty,J=Object.getOwnPropertyDescriptor,$=Object.getOwnPropertyNames,z=Object.prototype.hasOwnProperty,X=e=>R(e,"__esModule",{value:!0}),G=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of $(t))!z.call(e,s)&&s!=="default"&&R(e,s,{get:()=>t[s],enumerable:!(r=J(t,s))||r.enumerable});return e},i={};X(i);G(i,B);var Q=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}async _updateExtraLibs(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){if(!this._client){this._worker=i.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}});let e=this._worker.getProxy();this._defaults.getEagerModelSync()&&(e=e.then(t=>this._worker?this._worker.withSyncedResources(i.editor.getModels().filter(r=>r.getLanguageId()===this._modeId).map(r=>r.uri)):t)),this._client=e}return this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(r=>{t=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(r=>t)}},q="4.4.4",C;(function(e){e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=99]="ESNext"})(C||(C={}));var L;(function(e){e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev"})(L||(L={}));var D;(function(e){e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed"})(D||(D={}));var O;(function(e){e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest"})(O||(O={}));var A;(function(e){e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs"})(A||(A={}));var H=class{constructor(e,t,r,s){this._onDidChange=new i.Emitter,this._onDidExtraLibsChange=new i.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(r),this.setInlayHintsOptions(s),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let r;if(typeof t>"u"?r=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:r=t,this._extraLibs[r]&&this._extraLibs[r].content===e)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[r]&&(s=this._removedExtraLibs[r]+1),this._extraLibs[r]&&(s=this._extraLibs[r].version+1),this._extraLibs[r]={content:e,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let a=this._extraLibs[r];a&&a.version===s&&(delete this._extraLibs[r],this._removedExtraLibs[r]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const r=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,s=t.content;let a=1;this._removedExtraLibs[r]&&(a=this._removedExtraLibs[r]+1),this._extraLibs[r]={content:s,version:a}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}},Y=q,N=new H({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{}),W=new H({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{}),Z=()=>x().then(e=>e.getTypeScriptWorker()),ee=()=>x().then(e=>e.getJavaScriptWorker());i.languages.typescript={ModuleKind:C,JsxEmit:L,NewLineKind:D,ScriptTarget:O,ModuleResolutionKind:A,typescriptVersion:Y,typescriptDefaults:N,javascriptDefaults:W,getTypeScriptWorker:Z,getJavaScriptWorker:ee};function x(){return U(()=>Promise.resolve().then(()=>me),void 0)}i.languages.onLanguage("typescript",()=>x().then(e=>e.setupTypeScript(N)));i.languages.onLanguage("javascript",()=>x().then(e=>e.setupJavaScript(W)));var o={};o["lib.d.ts"]=!0;o["lib.dom.d.ts"]=!0;o["lib.dom.iterable.d.ts"]=!0;o["lib.es2015.collection.d.ts"]=!0;o["lib.es2015.core.d.ts"]=!0;o["lib.es2015.d.ts"]=!0;o["lib.es2015.generator.d.ts"]=!0;o["lib.es2015.iterable.d.ts"]=!0;o["lib.es2015.promise.d.ts"]=!0;o["lib.es2015.proxy.d.ts"]=!0;o["lib.es2015.reflect.d.ts"]=!0;o["lib.es2015.symbol.d.ts"]=!0;o["lib.es2015.symbol.wellknown.d.ts"]=!0;o["lib.es2016.array.include.d.ts"]=!0;o["lib.es2016.d.ts"]=!0;o["lib.es2016.full.d.ts"]=!0;o["lib.es2017.d.ts"]=!0;o["lib.es2017.full.d.ts"]=!0;o["lib.es2017.intl.d.ts"]=!0;o["lib.es2017.object.d.ts"]=!0;o["lib.es2017.sharedmemory.d.ts"]=!0;o["lib.es2017.string.d.ts"]=!0;o["lib.es2017.typedarrays.d.ts"]=!0;o["lib.es2018.asyncgenerator.d.ts"]=!0;o["lib.es2018.asynciterable.d.ts"]=!0;o["lib.es2018.d.ts"]=!0;o["lib.es2018.full.d.ts"]=!0;o["lib.es2018.intl.d.ts"]=!0;o["lib.es2018.promise.d.ts"]=!0;o["lib.es2018.regexp.d.ts"]=!0;o["lib.es2019.array.d.ts"]=!0;o["lib.es2019.d.ts"]=!0;o["lib.es2019.full.d.ts"]=!0;o["lib.es2019.object.d.ts"]=!0;o["lib.es2019.string.d.ts"]=!0;o["lib.es2019.symbol.d.ts"]=!0;o["lib.es2020.bigint.d.ts"]=!0;o["lib.es2020.d.ts"]=!0;o["lib.es2020.full.d.ts"]=!0;o["lib.es2020.intl.d.ts"]=!0;o["lib.es2020.promise.d.ts"]=!0;o["lib.es2020.sharedmemory.d.ts"]=!0;o["lib.es2020.string.d.ts"]=!0;o["lib.es2020.symbol.wellknown.d.ts"]=!0;o["lib.es2021.d.ts"]=!0;o["lib.es2021.full.d.ts"]=!0;o["lib.es2021.promise.d.ts"]=!0;o["lib.es2021.string.d.ts"]=!0;o["lib.es2021.weakref.d.ts"]=!0;o["lib.es5.d.ts"]=!0;o["lib.es6.d.ts"]=!0;o["lib.esnext.d.ts"]=!0;o["lib.esnext.full.d.ts"]=!0;o["lib.esnext.intl.d.ts"]=!0;o["lib.esnext.promise.d.ts"]=!0;o["lib.esnext.string.d.ts"]=!0;o["lib.esnext.weakref.d.ts"]=!0;o["lib.scripthost.d.ts"]=!0;o["lib.webworker.d.ts"]=!0;o["lib.webworker.importscripts.d.ts"]=!0;o["lib.webworker.iterable.d.ts"]=!0;var I;(function(e){e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart"})(I||(I={}));function E(e,t,r=0){if(typeof e=="string")return e;if(e===void 0)return"";let s="";if(r){s+=t;for(let a=0;at.text).join(""):""}var m=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let r=e.getPositionAt(t.start),s=e.getPositionAt(t.start+t.length),{lineNumber:a,column:d}=r,{lineNumber:g,column:n}=s;return{startLineNumber:a,startColumn:d,endLineNumber:g,endColumn:n}}},te=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf("/lib.")===0?!!o[e.path.slice(1)]:!1}getOrCreateModel(e){const t=i.Uri.parse(e),r=i.editor.getModel(t);if(r)return r;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return i.editor.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const s=N.getExtraLibs()[e];return s?i.editor.createModel(s.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}},M;(function(e){e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message"})(M||(M={}));var re=class extends m{constructor(e,t,r,s){super(s),this._libFiles=e,this._defaults=t,this._selector=r,this._disposables=[],this._listener=Object.create(null);const a=n=>{if(n.getLanguageId()!==r)return;const u=()=>{const{onlyVisible:h}=this._defaults.getDiagnosticsOptions();h?n.isAttachedToEditor()&&this._doValidate(n):this._doValidate(n)};let c;const p=n.onDidChangeContent(()=>{clearTimeout(c),c=window.setTimeout(u,500)}),f=n.onDidChangeAttached(()=>{const{onlyVisible:h}=this._defaults.getDiagnosticsOptions();h&&(n.isAttachedToEditor()?u():i.editor.setModelMarkers(n,this._selector,[]))});this._listener[n.uri.toString()]={dispose(){p.dispose(),f.dispose(),clearTimeout(c)}},u()},d=n=>{i.editor.setModelMarkers(n,this._selector,[]);const u=n.uri.toString();this._listener[u]&&(this._listener[u].dispose(),delete this._listener[u])};this._disposables.push(i.editor.onDidCreateModel(n=>a(n))),this._disposables.push(i.editor.onWillDisposeModel(d)),this._disposables.push(i.editor.onDidChangeModelLanguage(n=>{d(n.model),a(n.model)})),this._disposables.push({dispose(){for(const n of i.editor.getModels())d(n)}});const g=()=>{for(const n of i.editor.getModels())d(n),a(n)};this._disposables.push(this._defaults.onDidChange(g)),this._disposables.push(this._defaults.onDidExtraLibsChange(g)),i.editor.getModels().forEach(n=>a(n))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){const t=await this._worker(e.uri);if(e.isDisposed())return;const r=[],{noSyntaxValidation:s,noSemanticValidation:a,noSuggestionDiagnostics:d}=this._defaults.getDiagnosticsOptions();s||r.push(t.getSyntacticDiagnostics(e.uri.toString())),a||r.push(t.getSemanticDiagnostics(e.uri.toString())),d||r.push(t.getSuggestionDiagnostics(e.uri.toString()));const g=await Promise.all(r);if(!g||e.isDisposed())return;const n=g.reduce((c,p)=>p.concat(c),[]).filter(c=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(c.code)===-1),u=n.map(c=>c.relatedInformation||[]).reduce((c,p)=>p.concat(c),[]).map(c=>c.file?i.Uri.parse(c.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&i.editor.setModelMarkers(e,this._selector,n.map(c=>this._convertDiagnostics(e,c)))}_convertDiagnostics(e,t){const r=t.start||0,s=t.length||1,{lineNumber:a,column:d}=e.getPositionAt(r),{lineNumber:g,column:n}=e.getPositionAt(r+s),u=[];return t.reportsUnnecessary&&u.push(i.MarkerTag.Unnecessary),t.reportsDeprecated&&u.push(i.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:a,startColumn:d,endLineNumber:g,endColumn:n,message:E(t.messageText,` `),code:t.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];const r=[];return t.forEach(s=>{let a=e;if(s.file&&(a=this._libFiles.getOrCreateModel(s.file.fileName)),!a)return;const d=s.start||0,g=s.length||1,{lineNumber:n,column:u}=a.getPositionAt(d),{lineNumber:c,column:p}=a.getPositionAt(d+g);r.push({resource:a.uri,startLineNumber:n,startColumn:u,endLineNumber:c,endColumn:p,message:E(s.messageText,` `)})}),r}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return i.MarkerSeverity.Error;case 3:return i.MarkerSeverity.Info;case 0:return i.MarkerSeverity.Warning;case 2:return i.MarkerSeverity.Hint}return i.MarkerSeverity.Info}},k=class extends m{get triggerCharacters(){return["."]}async provideCompletionItems(e,t,r,s){const a=e.getWordUntilPosition(t),d=new i.Range(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn),g=e.uri,n=e.getOffsetAt(t),u=await this._worker(g);if(e.isDisposed())return;const c=await u.getCompletionsAtPosition(g.toString(),n);return!c||e.isDisposed()?void 0:{suggestions:c.entries.map(f=>{var w;let h=d;if(f.replacementSpan){const y=e.getPositionAt(f.replacementSpan.start),T=e.getPositionAt(f.replacementSpan.start+f.replacementSpan.length);h=new i.Range(y.lineNumber,y.column,T.lineNumber,T.column)}const S=[];return((w=f.kindModifiers)==null?void 0:w.indexOf("deprecated"))!==-1&&S.push(i.languages.CompletionItemTag.Deprecated),{uri:g,position:t,offset:n,range:h,label:f.name,insertText:f.name,sortText:f.sortText,kind:k.convertKind(f.kind),tags:S}})}}async resolveCompletionItem(e,t){const r=e,s=r.uri,a=r.position,d=r.offset,n=await(await this._worker(s)).getCompletionEntryDetails(s.toString(),d,r.label);return n?{uri:s,position:a,label:n.name,kind:k.convertKind(n.kind),detail:_(n.displayParts),documentation:{value:k.createDocumentationString(n)}}:r}static convertKind(e){switch(e){case l.primitiveType:case l.keyword:return i.languages.CompletionItemKind.Keyword;case l.variable:case l.localVariable:return i.languages.CompletionItemKind.Variable;case l.memberVariable:case l.memberGetAccessor:case l.memberSetAccessor:return i.languages.CompletionItemKind.Field;case l.function:case l.memberFunction:case l.constructSignature:case l.callSignature:case l.indexSignature:return i.languages.CompletionItemKind.Function;case l.enum:return i.languages.CompletionItemKind.Enum;case l.module:return i.languages.CompletionItemKind.Module;case l.class:return i.languages.CompletionItemKind.Class;case l.interface:return i.languages.CompletionItemKind.Interface;case l.warning:return i.languages.CompletionItemKind.File}return i.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=_(e.documentation);if(e.tags)for(const r of e.tags)t+=` diff --git a/assets/typescript-57bb8e8c.js b/assets/typescript-9209c285.js similarity index 98% rename from assets/typescript-57bb8e8c.js rename to assets/typescript-9209c285.js index 4267750b..a782d224 100644 --- a/assets/typescript-57bb8e8c.js +++ b/assets/typescript-9209c285.js @@ -1,4 +1,4 @@ -import{m as s}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as s}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/assets/xml-1563b54a.js b/assets/xml-e8977f8e.js similarity index 97% rename from assets/xml-1563b54a.js rename to assets/xml-e8977f8e.js index e7f5d65c..c155d34d 100644 --- a/assets/xml-1563b54a.js +++ b/assets/xml-e8977f8e.js @@ -1,4 +1,4 @@ -import{m as r}from"./index-f9d9330f.js";/*!----------------------------------------------------------------------------- +import{m as r}from"./index-e7f600bf.js";/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.31.0(252e010eb73ddc2fa1a37c1dade7bf35d87106cd) * Released under the MIT license diff --git a/index.html b/index.html index f7564f2d..78e8f614 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Monaco SQL Languages - +